solidity-language-server 0.1.21

A fast Solidity language server powered by solc and Foundry
Documentation
1
{"contracts":{"v4-core/lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}},"ScriptBase":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}},"TestBase":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"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},"evm":{"methodIdentifiers":{"failed()":"ba414fa6"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"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}}},"v4-core/lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}},"StdCheatsSafe":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdError.sol":{"stdError":{"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},"evm":{"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"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},"evm":{"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}},"stdStorageSafe":{"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},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdToml.sol":{"stdToml":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/Test.sol":{"Test":{"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},"evm":{"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"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/Vm.sol":{"Vm":{"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":[],"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":[{"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":"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":"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"}],"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":"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"}],"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":[],"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":"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":[],"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":"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":"address","name":"reverter","type":"address"}],"name":"expectRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"}],"name":"expectRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"reverter","type":"address"}],"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":"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":"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":[],"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":"getScriptWallets","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"stateMutability":"nonpayable","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":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"name":"isFile","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"stateMutability":"nonpayable","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":"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":"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":[{"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"}],"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"}],"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":"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":[{"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":"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":"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":"address","name":"txOrigin","type":"address"}],"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":"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},"evm":{"methodIdentifiers":{"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()":"285b366a","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","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","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","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","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(bytes)":"f28dceb3","expectRevert(bytes,address)":"61ebcf12","expectRevert(bytes4)":"c31eb0e0","expectRevert(bytes4,address)":"260bc5de","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlobhashes()":"f56ff18b","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","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","getScriptWallets()":"7c49aa1f","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","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,uint256,bytes,bytes)":"81409b91","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","mockCalls(address,bytes,bytes[])":"5c5c3de9","mockCalls(address,uint256,bytes,bytes[])":"08bcbae1","mockFunction(address,address,bytes)":"adf84d21","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","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","setBlockhash(uint256,bytes32)":"5314b54a","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","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","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","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","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"}},"userdoc":{"kind":"user","methods":{"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()":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"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."},"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 <path>:<contract>:<version> where <contract> and <version> 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 <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments."},"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."},"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(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."},"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(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(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."},"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."},"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"},"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 <path>:<contract>:<version> where <contract> and <version> 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 <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getFoundryVersion()":{"notice":"Returns the Foundry version. Format: <cargo_version>+<git_sha>+<build_timestamp> Sample output: 0.2.0+faa94c384+202407110019 Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use YYYYMMDD0000 format (e.g., >= 202407110000) 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."},"getScriptWallets()":{"notice":"Returns addresses of available unlocked wallets in the script environment."},"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."},"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,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."},"mockCallRevert(address,bytes,bytes)":{"notice":"Reverts a call to an address with specified revert data."},"mockCallRevert(address,uint256,bytes,bytes)":{"notice":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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 = <value_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 = <value_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}},"VmSafe":{"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":[{"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":"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":"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"}],"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":"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":"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":"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":[],"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":"getScriptWallets","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"stateMutability":"nonpayable","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":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"name":"isFile","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"stateMutability":"nonpayable","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"}],"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":"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":[{"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":"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":"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":"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},"evm":{"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()":"285b366a","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","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","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","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","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","getScriptWallets()":"7c49aa1f","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","setEnv(string,string)":"3d5923ee","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signP256(uint256,bytes32)":"83211b40","sleep(uint256)":"fa9d8713","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"}},"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()":{"notice":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"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."},"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 <path>:<contract>:<version> where <contract> and <version> 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 <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments."},"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."},"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"},"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 <path>:<contract>:<version> where <contract> and <version> 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 <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getFoundryVersion()":{"notice":"Returns the Foundry version. Format: <cargo_version>+<git_sha>+<build_timestamp> Sample output: 0.2.0+faa94c384+202407110019 Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use YYYYMMDD0000 format (e.g., >= 202407110000) 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."},"getScriptWallets()":{"notice":"Returns addresses of available unlocked wallets in the script environment."},"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."},"setEnv(string,string)":{"notice":"Sets environment variables."},"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."},"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."},"signP256(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256r1 curve."},"sleep(uint256)":{"notice":"Suspends execution of the main thread for `duration` milliseconds."},"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 = <value_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 = <value_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}}},"v4-core/lib/forge-std/src/console.sol":{"console":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/interfaces/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}},"version":1},"evm":{"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"userdoc":{"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}},"version":1}}},"v4-core/lib/forge-std/src/interfaces/IERC20.sol":{"IERC20":{"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":"amount","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.","events":{"Approval(address,address,uint256)":{"details":"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance."},"Transfer(address,address,uint256)":{"details":"Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."}},"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"evm":{"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"}},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}}},"v4-core/lib/forge-std/src/interfaces/IERC721.sol":{"IERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"details":"See https://eips.ethereum.org/EIPS/eip-721 Note: the ERC-165 identifier for this interface is 0x80ac58cd.","events":{"Approval(address,address,uint256)":{"details":"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none."},"ApprovalForAll(address,address,bool)":{"details":"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner."},"Transfer(address,address,uint256)":{"details":"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none."}},"kind":"dev","methods":{"approve(address,uint256)":{"details":"The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.","params":{"_approved":"The new approved NFT controller","_tokenId":"The NFT to approve"}},"balanceOf(address)":{"details":"NFTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.","params":{"_owner":"An address for whom to query the balance"},"returns":{"_0":"The number of NFTs owned by `_owner`, possibly zero"}},"getApproved(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT.","params":{"_tokenId":"The NFT to find the approved address for"},"returns":{"_0":"The approved address for this NFT, or the zero address if there is none"}},"isApprovedForAll(address,address)":{"params":{"_operator":"The address that acts on behalf of the owner","_owner":"The address that owns the NFTs"},"returns":{"_0":"True if `_operator` is an approved operator for `_owner`, false otherwise"}},"ownerOf(uint256)":{"details":"NFTs assigned to zero address are considered invalid, and queries about them do throw.","params":{"_tokenId":"The identifier for an NFT"},"returns":{"_0":"The address of the owner of the NFT"}},"safeTransferFrom(address,address,uint256)":{"details":"This works identically to the other function with an extra data parameter, except this function just sets data to \"\".","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT. When transfer is complete, this function checks if `_to` is a smart contract (code size > 0). If so, it calls `onERC721Received` on `_to` and throws if the return value is not `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer","data":"Additional data with no specified format, sent in call to `_to`"}},"setApprovalForAll(address,bool)":{"details":"Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.","params":{"_approved":"True if the operator is approved, false to revoke approval","_operator":"Address to add to the set of authorized operators"}},"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}},"transferFrom(address,address,uint256)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}}},"title":"ERC-721 Non-Fungible Token Standard","version":1},"evm":{"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{"approve(address,uint256)":{"notice":"Change or reaffirm the approved address for an NFT"},"balanceOf(address)":{"notice":"Count all NFTs assigned to an owner"},"getApproved(uint256)":{"notice":"Get the approved address for a single NFT"},"isApprovedForAll(address,address)":{"notice":"Query if an address is an authorized operator for another address"},"ownerOf(uint256)":{"notice":"Find the owner of an NFT"},"safeTransferFrom(address,address,uint256)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"safeTransferFrom(address,address,uint256,bytes)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"setApprovalForAll(address,bool)":{"notice":"Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s assets"},"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"},"transferFrom(address,address,uint256)":{"notice":"Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE THEY MAY BE PERMANENTLY LOST"}},"version":1}},"IERC721Enumerable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","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":"uint256","name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"details":"See https://eips.ethereum.org/EIPS/eip-721 Note: the ERC-165 identifier for this interface is 0x780e9d63.","events":{"Approval(address,address,uint256)":{"details":"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none."},"ApprovalForAll(address,address,bool)":{"details":"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner."},"Transfer(address,address,uint256)":{"details":"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none."}},"kind":"dev","methods":{"approve(address,uint256)":{"details":"The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.","params":{"_approved":"The new approved NFT controller","_tokenId":"The NFT to approve"}},"balanceOf(address)":{"details":"NFTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.","params":{"_owner":"An address for whom to query the balance"},"returns":{"_0":"The number of NFTs owned by `_owner`, possibly zero"}},"getApproved(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT.","params":{"_tokenId":"The NFT to find the approved address for"},"returns":{"_0":"The approved address for this NFT, or the zero address if there is none"}},"isApprovedForAll(address,address)":{"params":{"_operator":"The address that acts on behalf of the owner","_owner":"The address that owns the NFTs"},"returns":{"_0":"True if `_operator` is an approved operator for `_owner`, false otherwise"}},"ownerOf(uint256)":{"details":"NFTs assigned to zero address are considered invalid, and queries about them do throw.","params":{"_tokenId":"The identifier for an NFT"},"returns":{"_0":"The address of the owner of the NFT"}},"safeTransferFrom(address,address,uint256)":{"details":"This works identically to the other function with an extra data parameter, except this function just sets data to \"\".","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT. When transfer is complete, this function checks if `_to` is a smart contract (code size > 0). If so, it calls `onERC721Received` on `_to` and throws if the return value is not `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer","data":"Additional data with no specified format, sent in call to `_to`"}},"setApprovalForAll(address,bool)":{"details":"Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.","params":{"_approved":"True if the operator is approved, false to revoke approval","_operator":"Address to add to the set of authorized operators"}},"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}},"tokenByIndex(uint256)":{"details":"Throws if `_index` >= `totalSupply()`.","params":{"_index":"A counter less than `totalSupply()`"},"returns":{"_0":"The token identifier for the `_index`th NFT, (sort order not specified)"}},"tokenOfOwnerByIndex(address,uint256)":{"details":"Throws if `_index` >= `balanceOf(_owner)` or if `_owner` is the zero address, representing invalid NFTs.","params":{"_index":"A counter less than `balanceOf(_owner)`","_owner":"An address where we are interested in NFTs owned by them"},"returns":{"_0":"The token identifier for the `_index`th NFT assigned to `_owner`, (sort order not specified)"}},"totalSupply()":{"returns":{"_0":"A count of valid NFTs tracked by this contract, where each one of them has an assigned and queryable owner not equal to the zero address"}},"transferFrom(address,address,uint256)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}}},"title":"ERC-721 Non-Fungible Token Standard, optional enumeration extension","version":1},"evm":{"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","tokenByIndex(uint256)":"4f6ccce7","tokenOfOwnerByIndex(address,uint256)":"2f745c59","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{"approve(address,uint256)":{"notice":"Change or reaffirm the approved address for an NFT"},"balanceOf(address)":{"notice":"Count all NFTs assigned to an owner"},"getApproved(uint256)":{"notice":"Get the approved address for a single NFT"},"isApprovedForAll(address,address)":{"notice":"Query if an address is an authorized operator for another address"},"ownerOf(uint256)":{"notice":"Find the owner of an NFT"},"safeTransferFrom(address,address,uint256)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"safeTransferFrom(address,address,uint256,bytes)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"setApprovalForAll(address,bool)":{"notice":"Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s assets"},"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"},"tokenByIndex(uint256)":{"notice":"Enumerate valid NFTs"},"tokenOfOwnerByIndex(address,uint256)":{"notice":"Enumerate NFTs assigned to an owner"},"totalSupply()":{"notice":"Count NFTs tracked by this contract"},"transferFrom(address,address,uint256)":{"notice":"Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE THEY MAY BE PERMANENTLY LOST"}},"version":1}},"IERC721Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"details":"See https://eips.ethereum.org/EIPS/eip-721 Note: the ERC-165 identifier for this interface is 0x5b5e139f.","events":{"Approval(address,address,uint256)":{"details":"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none."},"ApprovalForAll(address,address,bool)":{"details":"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner."},"Transfer(address,address,uint256)":{"details":"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none."}},"kind":"dev","methods":{"approve(address,uint256)":{"details":"The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.","params":{"_approved":"The new approved NFT controller","_tokenId":"The NFT to approve"}},"balanceOf(address)":{"details":"NFTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.","params":{"_owner":"An address for whom to query the balance"},"returns":{"_0":"The number of NFTs owned by `_owner`, possibly zero"}},"getApproved(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT.","params":{"_tokenId":"The NFT to find the approved address for"},"returns":{"_0":"The approved address for this NFT, or the zero address if there is none"}},"isApprovedForAll(address,address)":{"params":{"_operator":"The address that acts on behalf of the owner","_owner":"The address that owns the NFTs"},"returns":{"_0":"True if `_operator` is an approved operator for `_owner`, false otherwise"}},"ownerOf(uint256)":{"details":"NFTs assigned to zero address are considered invalid, and queries about them do throw.","params":{"_tokenId":"The identifier for an NFT"},"returns":{"_0":"The address of the owner of the NFT"}},"safeTransferFrom(address,address,uint256)":{"details":"This works identically to the other function with an extra data parameter, except this function just sets data to \"\".","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT. When transfer is complete, this function checks if `_to` is a smart contract (code size > 0). If so, it calls `onERC721Received` on `_to` and throws if the return value is not `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer","data":"Additional data with no specified format, sent in call to `_to`"}},"setApprovalForAll(address,bool)":{"details":"Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.","params":{"_approved":"True if the operator is approved, false to revoke approval","_operator":"Address to add to the set of authorized operators"}},"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}},"tokenURI(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \"ERC721 Metadata JSON Schema\"."},"transferFrom(address,address,uint256)":{"details":"Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT.","params":{"_from":"The current owner of the NFT","_to":"The new owner","_tokenId":"The NFT to transfer"}}},"title":"ERC-721 Non-Fungible Token Standard, optional metadata extension","version":1},"evm":{"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{"approve(address,uint256)":{"notice":"Change or reaffirm the approved address for an NFT"},"balanceOf(address)":{"notice":"Count all NFTs assigned to an owner"},"getApproved(uint256)":{"notice":"Get the approved address for a single NFT"},"isApprovedForAll(address,address)":{"notice":"Query if an address is an authorized operator for another address"},"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"ownerOf(uint256)":{"notice":"Find the owner of an NFT"},"safeTransferFrom(address,address,uint256)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"safeTransferFrom(address,address,uint256,bytes)":{"notice":"Transfers the ownership of an NFT from one address to another address"},"setApprovalForAll(address,bool)":{"notice":"Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s assets"},"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"},"tokenURI(uint256)":{"notice":"A distinct Uniform Resource Identifier (URI) for a given asset."},"transferFrom(address,address,uint256)":{"notice":"Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE THEY MAY BE PERMANENTLY LOST"}},"version":1}},"IERC721TokenReceiver":{"abi":[{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Note: the ERC-165 identifier for this interface is 0x150b7a02.","kind":"dev","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.","params":{"_data":"Additional data with no specified format","_from":"The address which previously owned the token","_operator":"The address which called `safeTransferFrom` function","_tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`  unless throwing"}}},"version":1},"evm":{"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"userdoc":{"kind":"user","methods":{"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of an NFT"}},"version":1}}},"v4-core/lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"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},"evm":{"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"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/forge-std/src/mocks/MockERC20.sol":{"MockERC20":{"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":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol","events":{"Approval(address,address,uint256)":{"details":"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance."},"Transfer(address,address,uint256)":{"details":"Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."}},"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"stateVariables":{"initialized":{"details":"A bool to track whether the contract has been initialized."}},"version":1},"evm":{"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"notice":"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.","version":1}}},"v4-core/lib/forge-std/src/mocks/MockERC721.sol":{"MockERC721":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"details":"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol","events":{"Approval(address,address,uint256)":{"details":"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none."},"ApprovalForAll(address,address,bool)":{"details":"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner."},"Transfer(address,address,uint256)":{"details":"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none."}},"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"stateVariables":{"initialized":{"details":"A bool to track whether the contract has been initialized."}},"version":1},"evm":{"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"notice":"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.","version":1}}},"v4-core/lib/forge-std/src/safeconsole.sol":{"safeconsole":{"abi":[],"devdoc":{"author":"philogy <https://github.com/philogy>","details":"Code generated automatically by script.","kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/solmate/src/auth/Owned.sol":{"Owned":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)","kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"owner()":"8da5cb5b","transferOwnership(address)":"f2fde38b"}},"userdoc":{"kind":"user","methods":{},"notice":"Simple single owner authorization mixin.","version":1}}},"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol":{"MockERC20":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/lib/solmate/src/tokens/ERC20.sol":{"ERC20":{"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":"amount","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)","details":"Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.","kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"kind":"user","methods":{},"notice":"Modern and gas efficient ERC20 + EIP-2612 implementation.","version":1}}},"v4-core/src/ERC6909.sol":{"ERC6909":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"OperatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"isOperator","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"author":"Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC6909.sol)","details":"Copied from the commit at 4b47a19038b798b4a33d9749d25e570443520647This contract has been modified from the implementation at the above link.","kind":"dev","methods":{"approve(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","spender":"The address of the spender."},"returns":{"_0":"bool True, always"}},"setOperator(address,bool)":{"params":{"approved":"The approval status.","operator":"The address of the operator."},"returns":{"_0":"bool True, always"}},"transfer(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver."},"returns":{"_0":"bool True, always, unless the function reverts"}},"transferFrom(address,address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver.","sender":"The address of the sender."},"returns":{"_0":"bool True, always, unless the function reverts"}}},"stateVariables":{"allowance":{"params":{"id":"The id of the token.","owner":"The address of the owner.","spender":"The address of the spender."},"return":"amount The allowance of the token.","returns":{"amount":"The allowance of the token."}},"balanceOf":{"params":{"id":"The id of the token.","owner":"The address of the owner."},"return":"balance The balance of the token.","returns":{"balance":"The balance of the token."}},"isOperator":{"params":{"owner":"The address of the owner.","spender":"The address of the spender."},"return":"isOperator The approval status.","returns":{"isOperator":"The approval status."}}},"version":1},"evm":{"methodIdentifiers":{"allowance(address,address,uint256)":"598af9e7","approve(address,uint256,uint256)":"426a8493","balanceOf(address,uint256)":"00fdd58e","isOperator(address,address)":"b6363cf2","setOperator(address,bool)":"558a7297","supportsInterface(bytes4)":"01ffc9a7","transfer(address,uint256,uint256)":"095bcdb6","transferFrom(address,address,uint256,uint256)":"fe99049a"}},"userdoc":{"kind":"user","methods":{"allowance(address,address,uint256)":{"notice":"Spender allowance of an id."},"approve(address,uint256,uint256)":{"notice":"Approves an amount of an id to a spender."},"balanceOf(address,uint256)":{"notice":"Owner balance of an id."},"isOperator(address,address)":{"notice":"Checks if a spender is approved by an owner as an operator"},"setOperator(address,bool)":{"notice":"Sets or removes an operator for the caller."},"transfer(address,uint256,uint256)":{"notice":"Transfers an amount of an id from the caller to a receiver."},"transferFrom(address,address,uint256,uint256)":{"notice":"Transfers an amount of an id from a sender to a receiver."}},"notice":"Minimalist and gas efficient standard ERC6909 implementation.","version":1}}},"v4-core/src/ERC6909Claims.sol":{"ERC6909Claims":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"OperatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"isOperator","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","spender":"The address of the spender."},"returns":{"_0":"bool True, always"}},"setOperator(address,bool)":{"params":{"approved":"The approval status.","operator":"The address of the operator."},"returns":{"_0":"bool True, always"}},"transfer(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver."},"returns":{"_0":"bool True, always, unless the function reverts"}},"transferFrom(address,address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver.","sender":"The address of the sender."},"returns":{"_0":"bool True, always, unless the function reverts"}}},"version":1},"evm":{"methodIdentifiers":{"allowance(address,address,uint256)":"598af9e7","approve(address,uint256,uint256)":"426a8493","balanceOf(address,uint256)":"00fdd58e","isOperator(address,address)":"b6363cf2","setOperator(address,bool)":"558a7297","supportsInterface(bytes4)":"01ffc9a7","transfer(address,uint256,uint256)":"095bcdb6","transferFrom(address,address,uint256,uint256)":"fe99049a"}},"userdoc":{"kind":"user","methods":{"allowance(address,address,uint256)":{"notice":"Spender allowance of an id."},"approve(address,uint256,uint256)":{"notice":"Approves an amount of an id to a spender."},"balanceOf(address,uint256)":{"notice":"Owner balance of an id."},"isOperator(address,address)":{"notice":"Checks if a spender is approved by an owner as an operator"},"setOperator(address,bool)":{"notice":"Sets or removes an operator for the caller."},"transfer(address,uint256,uint256)":{"notice":"Transfers an amount of an id from the caller to a receiver."},"transferFrom(address,address,uint256,uint256)":{"notice":"Transfers an amount of an id from a sender to a receiver."}},"notice":"ERC6909Claims inherits ERC6909 and implements an internal burnFrom function","version":1}}},"v4-core/src/Extsload.sol":{"Extsload":{"abi":[{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"extsload","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"startSlot","type":"bytes32"},{"internalType":"uint256","name":"nSlots","type":"uint256"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"extsload(bytes32)":{"params":{"slot":"Key of slot to sload"},"returns":{"_0":"The value of the slot as bytes32"}},"extsload(bytes32,uint256)":{"params":{"nSlots":"Number of slots to load into return value","startSlot":"Key of slot to start sloading from"},"returns":{"_0":"List of loaded values."}},"extsload(bytes32[])":{"params":{"slots":"List of slots to SLOAD from."},"returns":{"_0":"List of loaded values."}}},"version":1},"evm":{"methodIdentifiers":{"extsload(bytes32)":"1e2eaeaf","extsload(bytes32,uint256)":"35fd631a","extsload(bytes32[])":"dbd035ff"}},"userdoc":{"kind":"user","methods":{"extsload(bytes32)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32,uint256)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32[])":{"notice":"Called by external contracts to access sparse pool state"}},"notice":"Enables public storage access for efficient state retrieval by external contracts. https://eips.ethereum.org/EIPS/eip-2330#rationale","version":1}}},"v4-core/src/Exttload.sol":{"Exttload":{"abi":[{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"exttload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"exttload","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"exttload(bytes32)":{"params":{"slot":"Key of slot to tload"},"returns":{"_0":"The value of the slot as bytes32"}},"exttload(bytes32[])":{"params":{"slots":"List of slots to tload"},"returns":{"_0":"List of loaded values"}}},"version":1},"evm":{"methodIdentifiers":{"exttload(bytes32)":"f135baaa","exttload(bytes32[])":"9bf6645f"}},"userdoc":{"kind":"user","methods":{"exttload(bytes32)":{"notice":"Called by external contracts to access transient storage of the contract"},"exttload(bytes32[])":{"notice":"Called by external contracts to access sparse transient pool state"}},"notice":"Enables public transient storage access for efficient state retrieval by external contracts. https://eips.ethereum.org/EIPS/eip-2330#rationale","version":1}}},"v4-core/src/NoDelegateCall.sol":{"NoDelegateCall":{"abi":[{"inputs":[],"name":"DelegateCallNotAllowed","type":"error"}],"devdoc":{"kind":"dev","methods":{},"stateVariables":{"original":{"details":"The original address of this contract"}},"title":"Prevents delegatecall to a contract","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Base contract that provides a modifier for preventing delegatecall to methods in a child contract","version":1}}},"v4-core/src/PoolManager.sol":{"PoolManager":{"abi":[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyUnlocked","type":"error"},{"inputs":[{"internalType":"address","name":"currency0","type":"address"},{"internalType":"address","name":"currency1","type":"address"}],"name":"CurrenciesOutOfOrderOrEqual","type":"error"},{"inputs":[],"name":"CurrencyNotSettled","type":"error"},{"inputs":[],"name":"DelegateCallNotAllowed","type":"error"},{"inputs":[],"name":"InvalidCaller","type":"error"},{"inputs":[],"name":"ManagerLocked","type":"error"},{"inputs":[],"name":"MustClearExactPositiveDelta","type":"error"},{"inputs":[],"name":"NonzeroNativeValue","type":"error"},{"inputs":[],"name":"PoolNotInitialized","type":"error"},{"inputs":[],"name":"ProtocolFeeCurrencySynced","type":"error"},{"inputs":[{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"ProtocolFeeTooLarge","type":"error"},{"inputs":[],"name":"SwapAmountCannotBeZero","type":"error"},{"inputs":[{"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"TickSpacingTooLarge","type":"error"},{"inputs":[{"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"TickSpacingTooSmall","type":"error"},{"inputs":[],"name":"UnauthorizedDynamicLPFeeUpdate","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Donate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"Currency","name":"currency0","type":"address"},{"indexed":true,"internalType":"Currency","name":"currency1","type":"address"},{"indexed":false,"internalType":"uint24","name":"fee","type":"uint24"},{"indexed":false,"internalType":"int24","name":"tickSpacing","type":"int24"},{"indexed":false,"internalType":"contract IHooks","name":"hooks","type":"address"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":false,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"int256","name":"liquidityDelta","type":"int256"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"ModifyLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"OperatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeeController","type":"address"}],"name":"ProtocolFeeControllerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"protocolFee","type":"uint24"}],"name":"ProtocolFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"int128","name":"amount0","type":"int128"},{"indexed":false,"internalType":"int128","name":"amount1","type":"int128"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"},{"indexed":false,"internalType":"uint24","name":"fee","type":"uint24"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collectProtocolFees","outputs":[{"internalType":"uint256","name":"amountCollected","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"donate","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"extsload","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"startSlot","type":"bytes32"},{"internalType":"uint256","name":"nSlots","type":"uint256"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"exttload","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"exttload","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initialize","outputs":[{"internalType":"int24","name":"tick","type":"int24"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"isOperator","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"callerDelta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"protocolFeesAccrued","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newProtocolFee","type":"uint24"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"}],"name":"setProtocolFeeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"settle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"settleFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"swap","outputs":[{"internalType":"BalanceDelta","name":"swapDelta","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"take","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlock","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newDynamicLPFee","type":"uint24"}],"name":"updateDynamicLPFee","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"events":{"Donate(bytes32,address,uint256,uint256)":{"params":{"amount0":"The amount donated in currency0","amount1":"The amount donated in currency1","id":"The abi encoded hash of the pool key struct for the pool that was donated to","sender":"The address that initiated the donate call"}},"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)":{"params":{"currency0":"The first currency of the pool by address sort order","currency1":"The second currency of the pool by address sort order","fee":"The fee collected upon every swap in the pool, denominated in hundredths of a bip","hooks":"The hooks contract address for the pool, or address(0) if none","id":"The abi encoded hash of the pool key struct for the new pool","sqrtPriceX96":"The price of the pool on initialization","tick":"The initial tick of the pool corresponding to the initialized price","tickSpacing":"The minimum number of ticks between initialized ticks"}},"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)":{"params":{"id":"The abi encoded hash of the pool key struct for the pool that was modified","liquidityDelta":"The amount of liquidity that was added or removed","salt":"The extra data to make positions unique","sender":"The address that modified the pool","tickLower":"The lower tick of the position","tickUpper":"The upper tick of the position"}},"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)":{"params":{"amount0":"The delta of the currency0 balance of the pool","amount1":"The delta of the currency1 balance of the pool","fee":"The swap fee in hundredths of a bip","id":"The abi encoded hash of the pool key struct for the pool that was modified","liquidity":"The liquidity of the pool after the swap","sender":"The address that initiated the swap call, and that received the callback","sqrtPriceX96":"The sqrt(price) of the pool after the swap, as a Q64.96","tick":"The log base 1.0001 of the price of the pool after the swap"}}},"kind":"dev","methods":{"approve(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","spender":"The address of the spender."},"returns":{"_0":"bool True, always"}},"burn(address,uint256,uint256)":{"details":"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out","params":{"amount":"The amount of currency to burn","from":"The address to burn the tokens from","id":"The currency address to burn from ERC6909s, as a uint256"}},"clear(address,uint256)":{"details":"This could be used to clear a balance that is considered dust. Additionally, the amount must be the exact positive balance. This is to enforce that the caller is aware of the amount being cleared."},"collectProtocolFees(address,address,uint256)":{"details":"This will revert if the contract is unlocked","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw","recipient":"The address to receive the protocol fees"},"returns":{"amountCollected":"The amount of currency successfully withdrawn"}},"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":{"details":"Calls to donate can be frontrun adding just-in-time liquidity, with the aim of receiving a portion donated funds. Donors should keep this in mind when designing donation mechanisms.This function donates to in-range LPs at slot0.tick. In certain edge-cases of the swap algorithm, the `sqrtPrice` of a pool can be at the lower boundary of tick `n`, but the `slot0.tick` of the pool is already `n - 1`. In this case a call to `donate` would donate to tick `n - 1` (slot0.tick) not tick `n` (getTickAtSqrtPrice(slot0.sqrtPriceX96)). Read the comments in `Pool.swap()` for more information about this.","params":{"amount0":"The amount of currency0 to donate","amount1":"The amount of currency1 to donate","hookData":"The data to pass through to the donate hooks","key":"The key of the pool to donate to"},"returns":{"delta":"BalanceDelta The delta of the caller after the donate"}},"extsload(bytes32)":{"params":{"slot":"Key of slot to sload"},"returns":{"_0":"The value of the slot as bytes32"}},"extsload(bytes32,uint256)":{"params":{"nSlots":"Number of slots to load into return value","startSlot":"Key of slot to start sloading from"},"returns":{"_0":"List of loaded values."}},"extsload(bytes32[])":{"params":{"slots":"List of slots to SLOAD from."},"returns":{"_0":"List of loaded values."}},"exttload(bytes32)":{"params":{"slot":"Key of slot to tload"},"returns":{"_0":"The value of the slot as bytes32"}},"exttload(bytes32[])":{"params":{"slots":"List of slots to tload"},"returns":{"_0":"List of loaded values"}},"initialize((address,address,uint24,int24,address),uint160)":{"details":"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee","params":{"key":"The pool key for the pool to initialize","sqrtPriceX96":"The initial square root price"},"returns":{"tick":"The initial tick of the pool"}},"mint(address,uint256,uint256)":{"details":"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out","params":{"amount":"The amount of currency to mint","id":"The currency address to mint to ERC6909s, as a uint256","to":"The address to mint the tokens to"}},"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"details":"Poke by calling with a zero liquidityDeltaNote that feesAccrued can be artificially inflated by a malicious actor and integrators should be careful using the value For pools with a single liquidity position, actors can donate to themselves to inflate feeGrowthGlobal (and consequently feesAccrued) atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme","params":{"hookData":"The data to pass through to the add/removeLiquidity hooks","key":"The pool to modify liquidity in","params":"The parameters for modifying the liquidity"},"returns":{"callerDelta":"The balance delta of the caller of modifyLiquidity. This is the total of both principal, fee deltas, and hook deltas if applicable","feesAccrued":"The balance delta of the fees generated in the liquidity range. Returned for informational purposes"}},"setOperator(address,bool)":{"params":{"approved":"The approval status.","operator":"The address of the operator."},"returns":{"_0":"bool True, always"}},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"params":{"key":"The key of the pool to set a protocol fee for","newProtocolFee":"The fee to set"}},"setProtocolFeeController(address)":{"params":{"controller":"The new protocol fee controller"}},"settle()":{"returns":{"_0":"The amount of currency settled"}},"settleFor(address)":{"params":{"recipient":"The address to credit for the payment"},"returns":{"_0":"The amount of currency settled"}},"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"details":"Swapping on low liquidity pools may cause unexpected swap amounts when liquidity available is less than amountSpecified. Additionally note that if interacting with hooks that have the BEFORE_SWAP_RETURNS_DELTA_FLAG or AFTER_SWAP_RETURNS_DELTA_FLAG the hook may alter the swap input/output. Integrators should perform checks on the returned swapDelta.","params":{"hookData":"The data to pass through to the swap hooks","key":"The pool to swap in","params":"The parameters for swapping"},"returns":{"swapDelta":"The balance delta of the address swapping"}},"sync(address)":{"details":"This MUST be called before any ERC20 tokens are sent into the contract, but can be skipped for native tokens because the amount to settle is determined by the sent value. However, if an ERC20 token has been synced and not settled, and the caller instead wants to settle native funds, this function can be called with the native currency to then be able to settle the native currency"},"take(address,address,uint256)":{"details":"Will revert if the requested amount is not available, consider using `mint` insteadCan also be used as a mechanism for free flash loans","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw from the pool manager","to":"The address to withdraw to"}},"transfer(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver."},"returns":{"_0":"bool True, always, unless the function reverts"}},"transferFrom(address,address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver.","sender":"The address of the sender."},"returns":{"_0":"bool True, always, unless the function reverts"}},"unlock(bytes)":{"details":"The only functions callable without an unlocking are `initialize` and `updateDynamicLPFee`","params":{"data":"Any data to pass to the callback, via `IUnlockCallback(msg.sender).unlockCallback(data)`"},"returns":{"result":"The data returned by the call to `IUnlockCallback(msg.sender).unlockCallback(data)`"}},"updateDynamicLPFee((address,address,uint24,int24,address),uint24)":{"details":"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee","params":{"key":"The key of the pool to update dynamic LP fees for","newDynamicLPFee":"The new dynamic pool LP fee"}}},"title":"PoolManager","version":1},"evm":{"methodIdentifiers":{"allowance(address,address,uint256)":"598af9e7","approve(address,uint256,uint256)":"426a8493","balanceOf(address,uint256)":"00fdd58e","burn(address,uint256,uint256)":"f5298aca","clear(address,uint256)":"80f0b44c","collectProtocolFees(address,address,uint256)":"8161b874","donate((address,address,uint24,int24,address),uint256,uint256,bytes)":"234266d7","extsload(bytes32)":"1e2eaeaf","extsload(bytes32,uint256)":"35fd631a","extsload(bytes32[])":"dbd035ff","exttload(bytes32)":"f135baaa","exttload(bytes32[])":"9bf6645f","initialize((address,address,uint24,int24,address),uint160)":"6276cbbe","isOperator(address,address)":"b6363cf2","mint(address,uint256,uint256)":"156e29f6","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"5a6bcfda","owner()":"8da5cb5b","protocolFeeController()":"f02de3b2","protocolFeesAccrued(address)":"97e8cd4e","setOperator(address,bool)":"558a7297","setProtocolFee((address,address,uint24,int24,address),uint24)":"7e87ce7d","setProtocolFeeController(address)":"2d771389","settle()":"11da60b4","settleFor(address)":"3dd45adb","supportsInterface(bytes4)":"01ffc9a7","swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":"f3cd914c","sync(address)":"a5841194","take(address,address,uint256)":"0b0d9c09","transfer(address,uint256,uint256)":"095bcdb6","transferFrom(address,address,uint256,uint256)":"fe99049a","transferOwnership(address)":"f2fde38b","unlock(bytes)":"48c89491","updateDynamicLPFee((address,address,uint24,int24,address),uint24)":"52759651"}},"userdoc":{"errors":{"AlreadyUnlocked()":[{"notice":"Thrown when unlock is called, but the contract is already unlocked"}],"CurrenciesOutOfOrderOrEqual(address,address)":[{"notice":"PoolKey must have currencies where address(currency0) < address(currency1)"}],"CurrencyNotSettled()":[{"notice":"Thrown when a currency is not netted out after the contract is unlocked"}],"InvalidCaller()":[{"notice":"Thrown when collectProtocolFees or setProtocolFee is not called by the controller."}],"ManagerLocked()":[{"notice":"Thrown when a function is called that requires the contract to be unlocked, but it is not"}],"MustClearExactPositiveDelta()":[{"notice":"Thrown when `clear` is called with an amount that is not exactly equal to the open currency delta."}],"NonzeroNativeValue()":[{"notice":"Thrown when native currency is passed to a non native settlement"}],"PoolNotInitialized()":[{"notice":"Thrown when trying to interact with a non-initialized pool"}],"ProtocolFeeCurrencySynced()":[{"notice":"Thrown when collectProtocolFees is attempted on a token that is synced."}],"ProtocolFeeTooLarge(uint24)":[{"notice":"Thrown when protocol fee is set too high"}],"SwapAmountCannotBeZero()":[{"notice":"Thrown when trying to swap amount of 0"}],"TickSpacingTooLarge(int24)":[{"notice":"Pools are limited to type(int16).max tickSpacing in #initialize, to prevent overflow"}],"TickSpacingTooSmall(int24)":[{"notice":"Pools must have a positive non-zero tickSpacing passed to #initialize"}],"UnauthorizedDynamicLPFeeUpdate()":[{"notice":"Thrown when a call to updateDynamicLPFee is made by an address that is not the hook, or on a pool that does not have a dynamic swap fee."}]},"events":{"Donate(bytes32,address,uint256,uint256)":{"notice":"Emitted for donations"},"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)":{"notice":"Emitted when a new pool is initialized"},"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)":{"notice":"Emitted when a liquidity position is modified"},"ProtocolFeeControllerUpdated(address)":{"notice":"Emitted when the protocol fee controller address is updated in setProtocolFeeController."},"ProtocolFeeUpdated(bytes32,uint24)":{"notice":"Emitted when the protocol fee is updated for a pool."},"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)":{"notice":"Emitted for swaps between currency0 and currency1"}},"kind":"user","methods":{"allowance(address,address,uint256)":{"notice":"Spender allowance of an id."},"approve(address,uint256,uint256)":{"notice":"Approves an amount of an id to a spender."},"balanceOf(address,uint256)":{"notice":"Owner balance of an id."},"burn(address,uint256,uint256)":{"notice":"Called by the user to move value from ERC6909 balance"},"clear(address,uint256)":{"notice":"WARNING - Any currency that is cleared, will be non-retrievable, and locked in the contract permanently. A call to clear will zero out a positive balance WITHOUT a corresponding transfer."},"collectProtocolFees(address,address,uint256)":{"notice":"Collects the protocol fees for a given recipient and currency, returning the amount collected"},"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":{"notice":"Donate the given currency amounts to the in-range liquidity providers of a pool"},"extsload(bytes32)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32,uint256)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32[])":{"notice":"Called by external contracts to access sparse pool state"},"exttload(bytes32)":{"notice":"Called by external contracts to access transient storage of the contract"},"exttload(bytes32[])":{"notice":"Called by external contracts to access sparse transient pool state"},"initialize((address,address,uint24,int24,address),uint160)":{"notice":"Initialize the state for a given pool ID"},"isOperator(address,address)":{"notice":"Checks if a spender is approved by an owner as an operator"},"mint(address,uint256,uint256)":{"notice":"Called by the user to move value into ERC6909 balance"},"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"notice":"Modify the liquidity for the given pool"},"protocolFeeController()":{"notice":"Returns the current protocol fee controller address"},"protocolFeesAccrued(address)":{"notice":"Given a currency address, returns the protocol fees accrued in that currency"},"setOperator(address,bool)":{"notice":"Sets or removes an operator for the caller."},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"notice":"Sets the protocol fee for the given pool"},"setProtocolFeeController(address)":{"notice":"Sets the protocol fee controller"},"settle()":{"notice":"Called by the user to pay what is owed"},"settleFor(address)":{"notice":"Called by the user to pay on behalf of another address"},"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"notice":"Swap against the given pool"},"sync(address)":{"notice":"Writes the current ERC20 balance of the specified currency to transient storage This is used to checkpoint balances for the manager and derive deltas for the caller."},"take(address,address,uint256)":{"notice":"Called by the user to net out some value owed to the user"},"transfer(address,uint256,uint256)":{"notice":"Transfers an amount of an id from the caller to a receiver."},"transferFrom(address,address,uint256,uint256)":{"notice":"Transfers an amount of an id from a sender to a receiver."},"unlock(bytes)":{"notice":"All interactions on the contract that account deltas require unlocking. A caller that calls `unlock` must implement `IUnlockCallback(msg.sender).unlockCallback(data)`, where they interact with the remaining functions on this contract."},"updateDynamicLPFee((address,address,uint24,int24,address),uint24)":{"notice":"Updates the pools lp fees for the a pool that has enabled dynamic lp fees."}},"notice":"Holds the state for all pools","version":1}}},"v4-core/src/ProtocolFees.sol":{"ProtocolFees":{"abi":[{"inputs":[],"name":"InvalidCaller","type":"error"},{"inputs":[],"name":"ProtocolFeeCurrencySynced","type":"error"},{"inputs":[{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"ProtocolFeeTooLarge","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeeController","type":"address"}],"name":"ProtocolFeeControllerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"protocolFee","type":"uint24"}],"name":"ProtocolFeeUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collectProtocolFees","outputs":[{"internalType":"uint256","name":"amountCollected","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"protocolFeesAccrued","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newProtocolFee","type":"uint24"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"}],"name":"setProtocolFeeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"collectProtocolFees(address,address,uint256)":{"details":"This will revert if the contract is unlocked","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw","recipient":"The address to receive the protocol fees"},"returns":{"amountCollected":"The amount of currency successfully withdrawn"}},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"params":{"key":"The key of the pool to set a protocol fee for","newProtocolFee":"The fee to set"}},"setProtocolFeeController(address)":{"params":{"controller":"The new protocol fee controller"}}},"stateVariables":{"protocolFeeController":{"return":"address The current protocol fee controller address","returns":{"_0":"address The current protocol fee controller address"}},"protocolFeesAccrued":{"params":{"currency":"The currency to check"},"return":"amount The amount of protocol fees accrued in the currency","returns":{"amount":"The amount of protocol fees accrued in the currency"}}},"version":1},"evm":{"methodIdentifiers":{"collectProtocolFees(address,address,uint256)":"8161b874","owner()":"8da5cb5b","protocolFeeController()":"f02de3b2","protocolFeesAccrued(address)":"97e8cd4e","setProtocolFee((address,address,uint24,int24,address),uint24)":"7e87ce7d","setProtocolFeeController(address)":"2d771389","transferOwnership(address)":"f2fde38b"}},"userdoc":{"errors":{"InvalidCaller()":[{"notice":"Thrown when collectProtocolFees or setProtocolFee is not called by the controller."}],"ProtocolFeeCurrencySynced()":[{"notice":"Thrown when collectProtocolFees is attempted on a token that is synced."}],"ProtocolFeeTooLarge(uint24)":[{"notice":"Thrown when protocol fee is set too high"}]},"events":{"ProtocolFeeControllerUpdated(address)":{"notice":"Emitted when the protocol fee controller address is updated in setProtocolFeeController."},"ProtocolFeeUpdated(bytes32,uint24)":{"notice":"Emitted when the protocol fee is updated for a pool."}},"kind":"user","methods":{"collectProtocolFees(address,address,uint256)":{"notice":"Collects the protocol fees for a given recipient and currency, returning the amount collected"},"protocolFeeController()":{"notice":"Returns the current protocol fee controller address"},"protocolFeesAccrued(address)":{"notice":"Given a currency address, returns the protocol fees accrued in that currency"},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"notice":"Sets the protocol fee for the given pool"},"setProtocolFeeController(address)":{"notice":"Sets the protocol fee controller"}},"notice":"Contract handling the setting and accrual of protocol fees","version":1}}},"v4-core/src/interfaces/IExtsload.sol":{"IExtsload":{"abi":[{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"extsload","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"startSlot","type":"bytes32"},{"internalType":"uint256","name":"nSlots","type":"uint256"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"extsload(bytes32)":{"params":{"slot":"Key of slot to sload"},"returns":{"value":"The value of the slot as bytes32"}},"extsload(bytes32,uint256)":{"params":{"nSlots":"Number of slots to load into return value","startSlot":"Key of slot to start sloading from"},"returns":{"values":"List of loaded values."}},"extsload(bytes32[])":{"params":{"slots":"List of slots to SLOAD from."},"returns":{"values":"List of loaded values."}}},"version":1},"evm":{"methodIdentifiers":{"extsload(bytes32)":"1e2eaeaf","extsload(bytes32,uint256)":"35fd631a","extsload(bytes32[])":"dbd035ff"}},"userdoc":{"kind":"user","methods":{"extsload(bytes32)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32,uint256)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32[])":{"notice":"Called by external contracts to access sparse pool state"}},"notice":"Interface for functions to access any storage slot in a contract","version":1}}},"v4-core/src/interfaces/IExttload.sol":{"IExttload":{"abi":[{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"exttload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"exttload","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"exttload(bytes32)":{"params":{"slot":"Key of slot to tload"},"returns":{"value":"The value of the slot as bytes32"}},"exttload(bytes32[])":{"params":{"slots":"List of slots to tload"},"returns":{"values":"List of loaded values"}}},"version":1},"evm":{"methodIdentifiers":{"exttload(bytes32)":"f135baaa","exttload(bytes32[])":"9bf6645f"}},"userdoc":{"kind":"user","methods":{"exttload(bytes32)":{"notice":"Called by external contracts to access transient storage of the contract"},"exttload(bytes32[])":{"notice":"Called by external contracts to access sparse transient pool state"}},"notice":"Interface for functions to access any transient storage slot in a contract","version":1}}},"v4-core/src/interfaces/IHooks.sol":{"IHooks":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"}],"name":"afterInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"BalanceDelta","name":"delta","type":"int256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"afterSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeAddLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeDonate","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"beforeInitialize","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeRemoveLiquidity","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"beforeSwap","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"BeforeSwapDelta","name":"","type":"int256"},{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Should only be callable by the v4 PoolManager.","kind":"dev","methods":{"afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":{"params":{"delta":"The caller's balance delta after adding liquidity; the sum of principal delta, fees accrued, and hook delta","feesAccrued":"The fees accrued since the last time fees were collected from this position","hookData":"Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook","key":"The key for the pool","params":"The parameters for adding liquidity","sender":"The initial msg.sender for the add liquidity call"},"returns":{"_0":"bytes4 The function selector for the hook","_1":"BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"}},"afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":{"params":{"amount0":"The amount of token0 being donated","amount1":"The amount of token1 being donated","hookData":"Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook","key":"The key for the pool","sender":"The initial msg.sender for the donate call"},"returns":{"_0":"bytes4 The function selector for the hook"}},"afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)":{"params":{"key":"The key for the pool being initialized","sender":"The initial msg.sender for the initialize call","sqrtPriceX96":"The sqrt(price) of the pool as a Q64.96","tick":"The current tick after the state of a pool is initialized"},"returns":{"_0":"bytes4 The function selector for the hook"}},"afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":{"params":{"delta":"The caller's balance delta after removing liquidity; the sum of principal delta, fees accrued, and hook delta","feesAccrued":"The fees accrued since the last time fees were collected from this position","hookData":"Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook","key":"The key for the pool","params":"The parameters for removing liquidity","sender":"The initial msg.sender for the remove liquidity call"},"returns":{"_0":"bytes4 The function selector for the hook","_1":"BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"}},"afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)":{"params":{"delta":"The amount owed to the caller (positive) or owed to the pool (negative)","hookData":"Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook","key":"The key for the pool","params":"The parameters for the swap","sender":"The initial msg.sender for the swap call"},"returns":{"_0":"bytes4 The function selector for the hook","_1":"int128 The hook's delta in unspecified currency. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"}},"beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"params":{"hookData":"Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook","key":"The key for the pool","params":"The parameters for adding liquidity","sender":"The initial msg.sender for the add liquidity call"},"returns":{"_0":"bytes4 The function selector for the hook"}},"beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":{"params":{"amount0":"The amount of token0 being donated","amount1":"The amount of token1 being donated","hookData":"Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook","key":"The key for the pool","sender":"The initial msg.sender for the donate call"},"returns":{"_0":"bytes4 The function selector for the hook"}},"beforeInitialize(address,(address,address,uint24,int24,address),uint160)":{"params":{"key":"The key for the pool being initialized","sender":"The initial msg.sender for the initialize call","sqrtPriceX96":"The sqrt(price) of the pool as a Q64.96"},"returns":{"_0":"bytes4 The function selector for the hook"}},"beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"params":{"hookData":"Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook","key":"The key for the pool","params":"The parameters for removing liquidity","sender":"The initial msg.sender for the remove liquidity call"},"returns":{"_0":"bytes4 The function selector for the hook"}},"beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"params":{"hookData":"Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook","key":"The key for the pool","params":"The parameters for the swap","sender":"The initial msg.sender for the swap call"},"returns":{"_0":"bytes4 The function selector for the hook","_1":"BeforeSwapDelta The hook's delta in specified and unspecified currencies. Positive: the hook is owed/took currency, negative: the hook owes/sent currency","_2":"uint24 Optionally override the lp fee, only used if three conditions are met: 1. the Pool has a dynamic fee, 2. the value's 2nd highest bit is set (23rd bit, 0x400000), and 3. the value is less than or equal to the maximum fee (1 million)"}}},"version":1},"evm":{"methodIdentifiers":{"afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":"9f063efc","afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":"e1b4af69","afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)":"6fe7e6eb","afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":"6c2bbe7e","afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)":"b47b2fb1","beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"259982e5","beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":"b6a8b0fa","beforeInitialize(address,(address,address,uint24,int24,address),uint160)":"dc98354e","beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"21d0ee70","beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)":"575e24b4"}},"userdoc":{"kind":"user","methods":{"afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":{"notice":"The hook called after liquidity is added"},"afterDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":{"notice":"The hook called after donate"},"afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)":{"notice":"The hook called after the state of a pool is initialized"},"afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)":{"notice":"The hook called after liquidity is removed"},"afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)":{"notice":"The hook called after a swap"},"beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"notice":"The hook called before liquidity is added"},"beforeDonate(address,(address,address,uint24,int24,address),uint256,uint256,bytes)":{"notice":"The hook called before donate"},"beforeInitialize(address,(address,address,uint24,int24,address),uint160)":{"notice":"The hook called before the state of a pool is initialized"},"beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"notice":"The hook called before liquidity is removed"},"beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"notice":"The hook called before a swap"}},"notice":"V4 decides whether to invoke specific hooks by inspecting the least significant bits of the address that the hooks contract is deployed to. For example, a hooks contract deployed to address: 0x0000000000000000000000000000000000002400 has the lowest bits '10 0100 0000 0000' which would cause the 'before initialize' and 'after add liquidity' hooks to be used. See the Hooks library for the full spec.","version":1}}},"v4-core/src/interfaces/IPoolManager.sol":{"IPoolManager":{"abi":[{"inputs":[],"name":"AlreadyUnlocked","type":"error"},{"inputs":[{"internalType":"address","name":"currency0","type":"address"},{"internalType":"address","name":"currency1","type":"address"}],"name":"CurrenciesOutOfOrderOrEqual","type":"error"},{"inputs":[],"name":"CurrencyNotSettled","type":"error"},{"inputs":[],"name":"InvalidCaller","type":"error"},{"inputs":[],"name":"ManagerLocked","type":"error"},{"inputs":[],"name":"MustClearExactPositiveDelta","type":"error"},{"inputs":[],"name":"NonzeroNativeValue","type":"error"},{"inputs":[],"name":"PoolNotInitialized","type":"error"},{"inputs":[],"name":"ProtocolFeeCurrencySynced","type":"error"},{"inputs":[{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"ProtocolFeeTooLarge","type":"error"},{"inputs":[],"name":"SwapAmountCannotBeZero","type":"error"},{"inputs":[{"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"TickSpacingTooLarge","type":"error"},{"inputs":[{"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"TickSpacingTooSmall","type":"error"},{"inputs":[],"name":"UnauthorizedDynamicLPFeeUpdate","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Donate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"Currency","name":"currency0","type":"address"},{"indexed":true,"internalType":"Currency","name":"currency1","type":"address"},{"indexed":false,"internalType":"uint24","name":"fee","type":"uint24"},{"indexed":false,"internalType":"int24","name":"tickSpacing","type":"int24"},{"indexed":false,"internalType":"contract IHooks","name":"hooks","type":"address"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":false,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"int256","name":"liquidityDelta","type":"int256"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"ModifyLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"OperatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeeController","type":"address"}],"name":"ProtocolFeeControllerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"protocolFee","type":"uint24"}],"name":"ProtocolFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"int128","name":"amount0","type":"int128"},{"indexed":false,"internalType":"int128","name":"amount1","type":"int128"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"},{"indexed":false,"internalType":"uint24","name":"fee","type":"uint24"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collectProtocolFees","outputs":[{"internalType":"uint256","name":"amountCollected","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"donate","outputs":[{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"extsload","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"startSlot","type":"bytes32"},{"internalType":"uint256","name":"nSlots","type":"uint256"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"extsload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"slots","type":"bytes32[]"}],"name":"exttload","outputs":[{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"exttload","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initialize","outputs":[{"internalType":"int24","name":"tick","type":"int24"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"callerDelta","type":"int256"},{"internalType":"BalanceDelta","name":"feesAccrued","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"protocolFeeController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"protocolFeesAccrued","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newProtocolFee","type":"uint24"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"}],"name":"setProtocolFeeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"settle","outputs":[{"internalType":"uint256","name":"paid","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"settleFor","outputs":[{"internalType":"uint256","name":"paid","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"swap","outputs":[{"internalType":"BalanceDelta","name":"swapDelta","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"take","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlock","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newDynamicLPFee","type":"uint24"}],"name":"updateDynamicLPFee","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"events":{"Donate(bytes32,address,uint256,uint256)":{"params":{"amount0":"The amount donated in currency0","amount1":"The amount donated in currency1","id":"The abi encoded hash of the pool key struct for the pool that was donated to","sender":"The address that initiated the donate call"}},"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)":{"params":{"currency0":"The first currency of the pool by address sort order","currency1":"The second currency of the pool by address sort order","fee":"The fee collected upon every swap in the pool, denominated in hundredths of a bip","hooks":"The hooks contract address for the pool, or address(0) if none","id":"The abi encoded hash of the pool key struct for the new pool","sqrtPriceX96":"The price of the pool on initialization","tick":"The initial tick of the pool corresponding to the initialized price","tickSpacing":"The minimum number of ticks between initialized ticks"}},"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)":{"params":{"id":"The abi encoded hash of the pool key struct for the pool that was modified","liquidityDelta":"The amount of liquidity that was added or removed","salt":"The extra data to make positions unique","sender":"The address that modified the pool","tickLower":"The lower tick of the position","tickUpper":"The upper tick of the position"}},"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)":{"params":{"amount0":"The delta of the currency0 balance of the pool","amount1":"The delta of the currency1 balance of the pool","fee":"The swap fee in hundredths of a bip","id":"The abi encoded hash of the pool key struct for the pool that was modified","liquidity":"The liquidity of the pool after the swap","sender":"The address that initiated the swap call, and that received the callback","sqrtPriceX96":"The sqrt(price) of the pool after the swap, as a Q64.96","tick":"The log base 1.0001 of the price of the pool after the swap"}}},"kind":"dev","methods":{"allowance(address,address,uint256)":{"params":{"id":"The id of the token.","owner":"The address of the owner.","spender":"The address of the spender."},"returns":{"amount":"The allowance of the token."}},"approve(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","spender":"The address of the spender."},"returns":{"_0":"bool True, always"}},"balanceOf(address,uint256)":{"params":{"id":"The id of the token.","owner":"The address of the owner."},"returns":{"amount":"The balance of the token."}},"burn(address,uint256,uint256)":{"details":"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out","params":{"amount":"The amount of currency to burn","from":"The address to burn the tokens from","id":"The currency address to burn from ERC6909s, as a uint256"}},"clear(address,uint256)":{"details":"This could be used to clear a balance that is considered dust. Additionally, the amount must be the exact positive balance. This is to enforce that the caller is aware of the amount being cleared."},"collectProtocolFees(address,address,uint256)":{"details":"This will revert if the contract is unlocked","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw","recipient":"The address to receive the protocol fees"},"returns":{"amountCollected":"The amount of currency successfully withdrawn"}},"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":{"details":"Calls to donate can be frontrun adding just-in-time liquidity, with the aim of receiving a portion donated funds. Donors should keep this in mind when designing donation mechanisms.This function donates to in-range LPs at slot0.tick. In certain edge-cases of the swap algorithm, the `sqrtPrice` of a pool can be at the lower boundary of tick `n`, but the `slot0.tick` of the pool is already `n - 1`. In this case a call to `donate` would donate to tick `n - 1` (slot0.tick) not tick `n` (getTickAtSqrtPrice(slot0.sqrtPriceX96)). Read the comments in `Pool.swap()` for more information about this.","params":{"amount0":"The amount of currency0 to donate","amount1":"The amount of currency1 to donate","hookData":"The data to pass through to the donate hooks","key":"The key of the pool to donate to"},"returns":{"_0":"BalanceDelta The delta of the caller after the donate"}},"extsload(bytes32)":{"params":{"slot":"Key of slot to sload"},"returns":{"value":"The value of the slot as bytes32"}},"extsload(bytes32,uint256)":{"params":{"nSlots":"Number of slots to load into return value","startSlot":"Key of slot to start sloading from"},"returns":{"values":"List of loaded values."}},"extsload(bytes32[])":{"params":{"slots":"List of slots to SLOAD from."},"returns":{"values":"List of loaded values."}},"exttload(bytes32)":{"params":{"slot":"Key of slot to tload"},"returns":{"value":"The value of the slot as bytes32"}},"exttload(bytes32[])":{"params":{"slots":"List of slots to tload"},"returns":{"values":"List of loaded values"}},"initialize((address,address,uint24,int24,address),uint160)":{"details":"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee","params":{"key":"The pool key for the pool to initialize","sqrtPriceX96":"The initial square root price"},"returns":{"tick":"The initial tick of the pool"}},"isOperator(address,address)":{"params":{"owner":"The address of the owner.","spender":"The address of the spender."},"returns":{"approved":"The approval status."}},"mint(address,uint256,uint256)":{"details":"The id is converted to a uint160 to correspond to a currency address If the upper 12 bytes are not 0, they will be 0-ed out","params":{"amount":"The amount of currency to mint","id":"The currency address to mint to ERC6909s, as a uint256","to":"The address to mint the tokens to"}},"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"details":"Poke by calling with a zero liquidityDeltaNote that feesAccrued can be artificially inflated by a malicious actor and integrators should be careful using the value For pools with a single liquidity position, actors can donate to themselves to inflate feeGrowthGlobal (and consequently feesAccrued) atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme","params":{"hookData":"The data to pass through to the add/removeLiquidity hooks","key":"The pool to modify liquidity in","params":"The parameters for modifying the liquidity"},"returns":{"callerDelta":"The balance delta of the caller of modifyLiquidity. This is the total of both principal, fee deltas, and hook deltas if applicable","feesAccrued":"The balance delta of the fees generated in the liquidity range. Returned for informational purposes"}},"protocolFeeController()":{"returns":{"_0":"address The current protocol fee controller address"}},"protocolFeesAccrued(address)":{"params":{"currency":"The currency to check"},"returns":{"amount":"The amount of protocol fees accrued in the currency"}},"setOperator(address,bool)":{"params":{"approved":"The approval status.","operator":"The address of the operator."},"returns":{"_0":"bool True, always"}},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"params":{"key":"The key of the pool to set a protocol fee for","newProtocolFee":"The fee to set"}},"setProtocolFeeController(address)":{"params":{"controller":"The new protocol fee controller"}},"settle()":{"returns":{"paid":"The amount of currency settled"}},"settleFor(address)":{"params":{"recipient":"The address to credit for the payment"},"returns":{"paid":"The amount of currency settled"}},"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"details":"Swapping on low liquidity pools may cause unexpected swap amounts when liquidity available is less than amountSpecified. Additionally note that if interacting with hooks that have the BEFORE_SWAP_RETURNS_DELTA_FLAG or AFTER_SWAP_RETURNS_DELTA_FLAG the hook may alter the swap input/output. Integrators should perform checks on the returned swapDelta.","params":{"hookData":"The data to pass through to the swap hooks","key":"The pool to swap in","params":"The parameters for swapping"},"returns":{"swapDelta":"The balance delta of the address swapping"}},"sync(address)":{"details":"This MUST be called before any ERC20 tokens are sent into the contract, but can be skipped for native tokens because the amount to settle is determined by the sent value. However, if an ERC20 token has been synced and not settled, and the caller instead wants to settle native funds, this function can be called with the native currency to then be able to settle the native currency"},"take(address,address,uint256)":{"details":"Will revert if the requested amount is not available, consider using `mint` insteadCan also be used as a mechanism for free flash loans","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw from the pool manager","to":"The address to withdraw to"}},"transfer(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver."},"returns":{"_0":"bool True, always, unless the function reverts"}},"transferFrom(address,address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver.","sender":"The address of the sender."},"returns":{"_0":"bool True, always, unless the function reverts"}},"unlock(bytes)":{"details":"The only functions callable without an unlocking are `initialize` and `updateDynamicLPFee`","params":{"data":"Any data to pass to the callback, via `IUnlockCallback(msg.sender).unlockCallback(data)`"},"returns":{"_0":"The data returned by the call to `IUnlockCallback(msg.sender).unlockCallback(data)`"}},"updateDynamicLPFee((address,address,uint24,int24,address),uint24)":{"details":"A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee","params":{"key":"The key of the pool to update dynamic LP fees for","newDynamicLPFee":"The new dynamic pool LP fee"}}},"version":1},"evm":{"methodIdentifiers":{"allowance(address,address,uint256)":"598af9e7","approve(address,uint256,uint256)":"426a8493","balanceOf(address,uint256)":"00fdd58e","burn(address,uint256,uint256)":"f5298aca","clear(address,uint256)":"80f0b44c","collectProtocolFees(address,address,uint256)":"8161b874","donate((address,address,uint24,int24,address),uint256,uint256,bytes)":"234266d7","extsload(bytes32)":"1e2eaeaf","extsload(bytes32,uint256)":"35fd631a","extsload(bytes32[])":"dbd035ff","exttload(bytes32)":"f135baaa","exttload(bytes32[])":"9bf6645f","initialize((address,address,uint24,int24,address),uint160)":"6276cbbe","isOperator(address,address)":"b6363cf2","mint(address,uint256,uint256)":"156e29f6","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"5a6bcfda","protocolFeeController()":"f02de3b2","protocolFeesAccrued(address)":"97e8cd4e","setOperator(address,bool)":"558a7297","setProtocolFee((address,address,uint24,int24,address),uint24)":"7e87ce7d","setProtocolFeeController(address)":"2d771389","settle()":"11da60b4","settleFor(address)":"3dd45adb","swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":"f3cd914c","sync(address)":"a5841194","take(address,address,uint256)":"0b0d9c09","transfer(address,uint256,uint256)":"095bcdb6","transferFrom(address,address,uint256,uint256)":"fe99049a","unlock(bytes)":"48c89491","updateDynamicLPFee((address,address,uint24,int24,address),uint24)":"52759651"}},"userdoc":{"errors":{"AlreadyUnlocked()":[{"notice":"Thrown when unlock is called, but the contract is already unlocked"}],"CurrenciesOutOfOrderOrEqual(address,address)":[{"notice":"PoolKey must have currencies where address(currency0) < address(currency1)"}],"CurrencyNotSettled()":[{"notice":"Thrown when a currency is not netted out after the contract is unlocked"}],"InvalidCaller()":[{"notice":"Thrown when collectProtocolFees or setProtocolFee is not called by the controller."}],"ManagerLocked()":[{"notice":"Thrown when a function is called that requires the contract to be unlocked, but it is not"}],"MustClearExactPositiveDelta()":[{"notice":"Thrown when `clear` is called with an amount that is not exactly equal to the open currency delta."}],"NonzeroNativeValue()":[{"notice":"Thrown when native currency is passed to a non native settlement"}],"PoolNotInitialized()":[{"notice":"Thrown when trying to interact with a non-initialized pool"}],"ProtocolFeeCurrencySynced()":[{"notice":"Thrown when collectProtocolFees is attempted on a token that is synced."}],"ProtocolFeeTooLarge(uint24)":[{"notice":"Thrown when protocol fee is set too high"}],"SwapAmountCannotBeZero()":[{"notice":"Thrown when trying to swap amount of 0"}],"TickSpacingTooLarge(int24)":[{"notice":"Pools are limited to type(int16).max tickSpacing in #initialize, to prevent overflow"}],"TickSpacingTooSmall(int24)":[{"notice":"Pools must have a positive non-zero tickSpacing passed to #initialize"}],"UnauthorizedDynamicLPFeeUpdate()":[{"notice":"Thrown when a call to updateDynamicLPFee is made by an address that is not the hook, or on a pool that does not have a dynamic swap fee."}]},"events":{"Donate(bytes32,address,uint256,uint256)":{"notice":"Emitted for donations"},"Initialize(bytes32,address,address,uint24,int24,address,uint160,int24)":{"notice":"Emitted when a new pool is initialized"},"ModifyLiquidity(bytes32,address,int24,int24,int256,bytes32)":{"notice":"Emitted when a liquidity position is modified"},"ProtocolFeeControllerUpdated(address)":{"notice":"Emitted when the protocol fee controller address is updated in setProtocolFeeController."},"ProtocolFeeUpdated(bytes32,uint24)":{"notice":"Emitted when the protocol fee is updated for a pool."},"Swap(bytes32,address,int128,int128,uint160,uint128,int24,uint24)":{"notice":"Emitted for swaps between currency0 and currency1"}},"kind":"user","methods":{"allowance(address,address,uint256)":{"notice":"Spender allowance of an id."},"approve(address,uint256,uint256)":{"notice":"Approves an amount of an id to a spender."},"balanceOf(address,uint256)":{"notice":"Owner balance of an id."},"burn(address,uint256,uint256)":{"notice":"Called by the user to move value from ERC6909 balance"},"clear(address,uint256)":{"notice":"WARNING - Any currency that is cleared, will be non-retrievable, and locked in the contract permanently. A call to clear will zero out a positive balance WITHOUT a corresponding transfer."},"collectProtocolFees(address,address,uint256)":{"notice":"Collects the protocol fees for a given recipient and currency, returning the amount collected"},"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":{"notice":"Donate the given currency amounts to the in-range liquidity providers of a pool"},"extsload(bytes32)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32,uint256)":{"notice":"Called by external contracts to access granular pool state"},"extsload(bytes32[])":{"notice":"Called by external contracts to access sparse pool state"},"exttload(bytes32)":{"notice":"Called by external contracts to access transient storage of the contract"},"exttload(bytes32[])":{"notice":"Called by external contracts to access sparse transient pool state"},"initialize((address,address,uint24,int24,address),uint160)":{"notice":"Initialize the state for a given pool ID"},"isOperator(address,address)":{"notice":"Checks if a spender is approved by an owner as an operator"},"mint(address,uint256,uint256)":{"notice":"Called by the user to move value into ERC6909 balance"},"modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":{"notice":"Modify the liquidity for the given pool"},"protocolFeeController()":{"notice":"Returns the current protocol fee controller address"},"protocolFeesAccrued(address)":{"notice":"Given a currency address, returns the protocol fees accrued in that currency"},"setOperator(address,bool)":{"notice":"Sets or removes an operator for the caller."},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"notice":"Sets the protocol fee for the given pool"},"setProtocolFeeController(address)":{"notice":"Sets the protocol fee controller"},"settle()":{"notice":"Called by the user to pay what is owed"},"settleFor(address)":{"notice":"Called by the user to pay on behalf of another address"},"swap((address,address,uint24,int24,address),(bool,int256,uint160),bytes)":{"notice":"Swap against the given pool"},"sync(address)":{"notice":"Writes the current ERC20 balance of the specified currency to transient storage This is used to checkpoint balances for the manager and derive deltas for the caller."},"take(address,address,uint256)":{"notice":"Called by the user to net out some value owed to the user"},"transfer(address,uint256,uint256)":{"notice":"Transfers an amount of an id from the caller to a receiver."},"transferFrom(address,address,uint256,uint256)":{"notice":"Transfers an amount of an id from a sender to a receiver."},"unlock(bytes)":{"notice":"All interactions on the contract that account deltas require unlocking. A caller that calls `unlock` must implement `IUnlockCallback(msg.sender).unlockCallback(data)`, where they interact with the remaining functions on this contract."},"updateDynamicLPFee((address,address,uint24,int24,address),uint24)":{"notice":"Updates the pools lp fees for the a pool that has enabled dynamic lp fees."}},"notice":"Interface for the PoolManager","version":1}}},"v4-core/src/interfaces/IProtocolFees.sol":{"IProtocolFees":{"abi":[{"inputs":[],"name":"InvalidCaller","type":"error"},{"inputs":[],"name":"ProtocolFeeCurrencySynced","type":"error"},{"inputs":[{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"ProtocolFeeTooLarge","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"protocolFeeController","type":"address"}],"name":"ProtocolFeeControllerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"PoolId","name":"id","type":"bytes32"},{"indexed":false,"internalType":"uint24","name":"protocolFee","type":"uint24"}],"name":"ProtocolFeeUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"collectProtocolFees","outputs":[{"internalType":"uint256","name":"amountCollected","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"protocolFeeController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"}],"name":"protocolFeesAccrued","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint24","name":"newProtocolFee","type":"uint24"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"}],"name":"setProtocolFeeController","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"collectProtocolFees(address,address,uint256)":{"details":"This will revert if the contract is unlocked","params":{"amount":"The amount of currency to withdraw","currency":"The currency to withdraw","recipient":"The address to receive the protocol fees"},"returns":{"amountCollected":"The amount of currency successfully withdrawn"}},"protocolFeeController()":{"returns":{"_0":"address The current protocol fee controller address"}},"protocolFeesAccrued(address)":{"params":{"currency":"The currency to check"},"returns":{"amount":"The amount of protocol fees accrued in the currency"}},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"params":{"key":"The key of the pool to set a protocol fee for","newProtocolFee":"The fee to set"}},"setProtocolFeeController(address)":{"params":{"controller":"The new protocol fee controller"}}},"version":1},"evm":{"methodIdentifiers":{"collectProtocolFees(address,address,uint256)":"8161b874","protocolFeeController()":"f02de3b2","protocolFeesAccrued(address)":"97e8cd4e","setProtocolFee((address,address,uint24,int24,address),uint24)":"7e87ce7d","setProtocolFeeController(address)":"2d771389"}},"userdoc":{"errors":{"InvalidCaller()":[{"notice":"Thrown when collectProtocolFees or setProtocolFee is not called by the controller."}],"ProtocolFeeCurrencySynced()":[{"notice":"Thrown when collectProtocolFees is attempted on a token that is synced."}],"ProtocolFeeTooLarge(uint24)":[{"notice":"Thrown when protocol fee is set too high"}]},"events":{"ProtocolFeeControllerUpdated(address)":{"notice":"Emitted when the protocol fee controller address is updated in setProtocolFeeController."},"ProtocolFeeUpdated(bytes32,uint24)":{"notice":"Emitted when the protocol fee is updated for a pool."}},"kind":"user","methods":{"collectProtocolFees(address,address,uint256)":{"notice":"Collects the protocol fees for a given recipient and currency, returning the amount collected"},"protocolFeeController()":{"notice":"Returns the current protocol fee controller address"},"protocolFeesAccrued(address)":{"notice":"Given a currency address, returns the protocol fees accrued in that currency"},"setProtocolFee((address,address,uint24,int24,address),uint24)":{"notice":"Sets the protocol fee for the given pool"},"setProtocolFeeController(address)":{"notice":"Sets the protocol fee controller"}},"notice":"Interface for all protocol-fee related functions in the pool manager","version":1}}},"v4-core/src/interfaces/callback/IUnlockCallback.sol":{"IUnlockCallback":{"abi":[{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"unlockCallback(bytes)":{"params":{"data":"The data that was passed to the call to unlock"},"returns":{"_0":"Any data that you want to be returned from the unlock call"}}},"version":1},"evm":{"methodIdentifiers":{"unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{"unlockCallback(bytes)":{"notice":"Called by the pool manager on `msg.sender` when the manager is unlocked"}},"notice":"Interface for the callback executed when an address unlocks the pool manager","version":1}}},"v4-core/src/interfaces/external/IERC20Minimal.sol":{"IERC20Minimal":{"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":"amount","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"events":{"Approval(address,address,uint256)":{"params":{"owner":"The account that approved spending of its tokens","spender":"The account for which the spending allowance was modified","value":"The new allowance from the owner to the spender"}},"Transfer(address,address,uint256)":{"params":{"from":"The account from which the tokens were sent, i.e. the balance decreased","to":"The account to which the tokens were sent, i.e. the balance increased","value":"The amount of tokens that were transferred"}}},"kind":"dev","methods":{"allowance(address,address)":{"params":{"owner":"The account of the token owner","spender":"The account of the token spender"},"returns":{"_0":"The current allowance granted by `owner` to `spender`"}},"approve(address,uint256)":{"params":{"amount":"The amount of tokens allowed to be used by `spender`","spender":"The account which will be allowed to spend a given amount of the owners tokens"},"returns":{"_0":"Returns true for a successful approval, false for unsuccessful"}},"balanceOf(address)":{"params":{"account":"The account for which to look up the number of tokens it has, i.e. its balance"},"returns":{"_0":"The number of tokens held by the account"}},"transfer(address,uint256)":{"params":{"amount":"The number of tokens to send from the sender to the recipient","recipient":"The account that will receive the amount transferred"},"returns":{"_0":"Returns true for a successful transfer, false for an unsuccessful transfer"}},"transferFrom(address,address,uint256)":{"params":{"amount":"The amount of the transfer","recipient":"The recipient of the transfer","sender":"The account from which the transfer will be initiated"},"returns":{"_0":"Returns true for a successful transfer, false for unsuccessful"}}},"title":"Minimal ERC20 interface for Uniswap","version":1},"evm":{"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"userdoc":{"events":{"Approval(address,address,uint256)":{"notice":"Event emitted when the approval amount for the spender of a given owner's tokens changes."},"Transfer(address,address,uint256)":{"notice":"Event emitted when tokens are transferred from one address to another, either via `#transfer` or `#transferFrom`."}},"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the current allowance given to a spender by an owner"},"approve(address,uint256)":{"notice":"Sets the allowance of a spender from the `msg.sender` to the value `amount`"},"balanceOf(address)":{"notice":"Returns an account's balance in the token"},"transfer(address,uint256)":{"notice":"Transfers the amount of token from the `msg.sender` to the recipient"},"transferFrom(address,address,uint256)":{"notice":"Transfers `amount` tokens from `sender` to `recipient` up to the allowance given to the `msg.sender`"}},"notice":"Contains a subset of the full ERC20 interface that is used in Uniswap V3","version":1}}},"v4-core/src/interfaces/external/IERC6909Claims.sol":{"IERC6909Claims":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"OperatorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"isOperator","outputs":[{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address,uint256)":{"params":{"id":"The id of the token.","owner":"The address of the owner.","spender":"The address of the spender."},"returns":{"amount":"The allowance of the token."}},"approve(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","spender":"The address of the spender."},"returns":{"_0":"bool True, always"}},"balanceOf(address,uint256)":{"params":{"id":"The id of the token.","owner":"The address of the owner."},"returns":{"amount":"The balance of the token."}},"isOperator(address,address)":{"params":{"owner":"The address of the owner.","spender":"The address of the spender."},"returns":{"approved":"The approval status."}},"setOperator(address,bool)":{"params":{"approved":"The approval status.","operator":"The address of the operator."},"returns":{"_0":"bool True, always"}},"transfer(address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver."},"returns":{"_0":"bool True, always, unless the function reverts"}},"transferFrom(address,address,uint256,uint256)":{"params":{"amount":"The amount of the token.","id":"The id of the token.","receiver":"The address of the receiver.","sender":"The address of the sender."},"returns":{"_0":"bool True, always, unless the function reverts"}}},"version":1},"evm":{"methodIdentifiers":{"allowance(address,address,uint256)":"598af9e7","approve(address,uint256,uint256)":"426a8493","balanceOf(address,uint256)":"00fdd58e","isOperator(address,address)":"b6363cf2","setOperator(address,bool)":"558a7297","transfer(address,uint256,uint256)":"095bcdb6","transferFrom(address,address,uint256,uint256)":"fe99049a"}},"userdoc":{"kind":"user","methods":{"allowance(address,address,uint256)":{"notice":"Spender allowance of an id."},"approve(address,uint256,uint256)":{"notice":"Approves an amount of an id to a spender."},"balanceOf(address,uint256)":{"notice":"Owner balance of an id."},"isOperator(address,address)":{"notice":"Checks if a spender is approved by an owner as an operator"},"setOperator(address,bool)":{"notice":"Sets or removes an operator for the caller."},"transfer(address,uint256,uint256)":{"notice":"Transfers an amount of an id from the caller to a receiver."},"transferFrom(address,address,uint256,uint256)":{"notice":"Transfers an amount of an id from a sender to a receiver."}},"notice":"Interface for claims over a contract balance, wrapped as a ERC6909","version":1}}},"v4-core/src/libraries/BitMath.sol":{"BitMath":{"abi":[],"devdoc":{"author":"Solady (https://github.com/Vectorized/solady/blob/8200a70e8dc2a77ecb074fc2e99a2a0d36547522/src/utils/LibBit.sol)","details":"This library provides functionality for computing bit properties of an unsigned integer","kind":"dev","methods":{},"title":"BitMath","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/libraries/CurrencyDelta.sol":{"CurrencyDelta":{"abi":[],"devdoc":{"details":"this library implements the equivalent of a mapping, as transient storage can only be accessed in assembly","kind":"dev","methods":{},"title":"a library to store callers' currency deltas in transient storage","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/libraries/CurrencyReserves.sol":{"CurrencyReserves":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/libraries/CustomRevert.sol":{"CustomRevert":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"bytes","name":"reason","type":"bytes"},{"internalType":"bytes","name":"details","type":"bytes"}],"name":"WrappedError","type":"error"}],"devdoc":{"details":"To use this library, declare `using CustomRevert for bytes4;` and replace `revert CustomError()` with `CustomError.selector.revertWith()`The functions may tamper with the free memory pointer but it is fine since the call context is exited immediately","errors":{"WrappedError(address,bytes4,bytes,bytes)":[{"details":"ERC-7751 error for wrapping bubbled up reverts"}]},"kind":"dev","methods":{},"title":"Library for reverting with custom errors efficiently","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Contains functions for reverting with custom errors with different argument types efficiently","version":1}}},"v4-core/src/libraries/FixedPoint128.sol":{"FixedPoint128":{"abi":[],"devdoc":{"kind":"dev","methods":{},"title":"FixedPoint128","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)","version":1}}},"v4-core/src/libraries/FixedPoint96.sol":{"FixedPoint96":{"abi":[],"devdoc":{"details":"Used in SqrtPriceMath.sol","kind":"dev","methods":{},"title":"FixedPoint96","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)","version":1}}},"v4-core/src/libraries/FullMath.sol":{"FullMath":{"abi":[],"devdoc":{"details":"Handles \"phantom overflow\" i.e., allows multiplication and division where an intermediate value overflows 256 bits","kind":"dev","methods":{},"title":"Contains 512-bit math functions","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Facilitates multiplication and division that can have overflow of an intermediate value without any loss of precision","version":1}}},"v4-core/src/libraries/Hooks.sol":{"Hooks":{"abi":[{"inputs":[{"internalType":"address","name":"hooks","type":"address"}],"name":"HookAddressNotValid","type":"error"},{"inputs":[],"name":"HookCallFailed","type":"error"},{"inputs":[],"name":"HookDeltaExceedsSwapAmount","type":"error"},{"inputs":[],"name":"InvalidHookResponse","type":"error"}],"devdoc":{"errors":{"HookAddressNotValid(address)":[{"params":{"hooks":"The address of the hooks contract"}}]},"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"errors":{"HookAddressNotValid(address)":[{"notice":"Thrown if the address will not lead to the specified hook calls being called"}],"HookCallFailed()":[{"notice":"Additional context for ERC-7751 wrapped error when a hook call fails"}],"HookDeltaExceedsSwapAmount()":[{"notice":"The hook's delta changed the swap from exactIn to exactOut or vice versa"}],"InvalidHookResponse()":[{"notice":"Hook did not return its selector"}]},"kind":"user","methods":{},"notice":"V4 decides whether to invoke specific hooks by inspecting the least significant bits of the address that the hooks contract is deployed to. For example, a hooks contract deployed to address: 0x0000000000000000000000000000000000002400 has the lowest bits '10 0100 0000 0000' which would cause the 'before initialize' and 'after add liquidity' hooks to be used.","version":1}}},"v4-core/src/libraries/LPFeeLibrary.sol":{"LPFeeLibrary":{"abi":[{"inputs":[{"internalType":"uint24","name":"fee","type":"uint24"}],"name":"LPFeeTooLarge","type":"error"},{"inputs":[],"name":"DYNAMIC_FEE_FLAG","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LP_FEE","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OVERRIDE_FEE_FLAG","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REMOVE_OVERRIDE_MASK","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"DYNAMIC_FEE_FLAG()":"f26ef49d","MAX_LP_FEE()":"3fc48eba","OVERRIDE_FEE_FLAG()":"3b01d64d","REMOVE_OVERRIDE_MASK()":"6f95ebcf"}},"userdoc":{"errors":{"LPFeeTooLarge(uint24)":[{"notice":"Thrown when the static or dynamic fee on a pool exceeds 100%."}]},"kind":"user","methods":{"DYNAMIC_FEE_FLAG()":{"notice":"An lp fee of exactly 0b1000000... signals a dynamic fee pool. This isn't a valid static fee as it is > MAX_LP_FEE"},"MAX_LP_FEE()":{"notice":"the lp fee is represented in hundredths of a bip, so the max is 100%"},"OVERRIDE_FEE_FLAG()":{"notice":"the second bit of the fee returned by beforeSwap is used to signal if the stored LP fee should be overridden in this swap"},"REMOVE_OVERRIDE_MASK()":{"notice":"mask to remove the override fee flag from a fee returned by the beforeSwaphook"}},"notice":"Library of helper functions for a pools LP fee","version":1}}},"v4-core/src/libraries/LiquidityMath.sol":{"LiquidityMath":{"abi":[],"devdoc":{"kind":"dev","methods":{},"title":"Math library for liquidity","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/libraries/Lock.sol":{"Lock":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"This is a temporary library that allows us to use transient storage (tstore/tload) TODO: This library can be deleted when we have the transient keyword support in solidity.","version":1}}},"v4-core/src/libraries/NonzeroDeltaCount.sol":{"NonzeroDeltaCount":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"This is a temporary library that allows us to use transient storage (tstore/tload) for the nonzero delta count. TODO: This library can be deleted when we have the transient keyword support in solidity.","version":1}}},"v4-core/src/libraries/ParseBytes.sol":{"ParseBytes":{"abi":[],"devdoc":{"details":"parseSelector also is used to parse the expected selector For parsing hook returns, note that all hooks return either bytes4 or (bytes4, 32-byte-delta) or (bytes4, 32-byte-delta, uint24).","kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Parses bytes returned from hooks and the byte selector used to check return selectors from hooks.","version":1}}},"v4-core/src/libraries/Pool.sol":{"Pool":{"abi":[{"inputs":[],"name":"InvalidFeeForExactOut","type":"error"},{"inputs":[],"name":"NoLiquidityToReceiveFees","type":"error"},{"inputs":[],"name":"PoolAlreadyInitialized","type":"error"},{"inputs":[],"name":"PoolNotInitialized","type":"error"},{"inputs":[{"internalType":"uint160","name":"sqrtPriceCurrentX96","type":"uint160"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"name":"PriceLimitAlreadyExceeded","type":"error"},{"inputs":[{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"name":"PriceLimitOutOfBounds","type":"error"},{"inputs":[{"internalType":"int24","name":"tick","type":"int24"}],"name":"TickLiquidityOverflow","type":"error"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"}],"name":"TickLowerOutOfBounds","type":"error"},{"inputs":[{"internalType":"int24","name":"tickUpper","type":"int24"}],"name":"TickUpperOutOfBounds","type":"error"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"name":"TicksMisordered","type":"error"}],"devdoc":{"errors":{"PriceLimitAlreadyExceeded(uint160,uint160)":[{"params":{"sqrtPriceCurrentX96":"The invalid, already surpassed sqrtPriceLimitX96","sqrtPriceLimitX96":"The surpassed price limit"}}],"PriceLimitOutOfBounds(uint160)":[{"params":{"sqrtPriceLimitX96":"The invalid, out-of-bounds sqrtPriceLimitX96"}}],"TickLowerOutOfBounds(int24)":[{"params":{"tickLower":"The invalid tickLower"}}],"TickUpperOutOfBounds(int24)":[{"params":{"tickUpper":"The invalid tickUpper"}}],"TicksMisordered(int24,int24)":[{"params":{"tickLower":"The invalid tickLower","tickUpper":"The invalid tickUpper"}}]},"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"errors":{"InvalidFeeForExactOut()":[{"notice":"Thrown when trying to swap with max lp fee and specifying an output amount"}],"NoLiquidityToReceiveFees()":[{"notice":"Thrown by donate if there is currently 0 liquidity, since the fees will not go to any liquidity providers"}],"PoolAlreadyInitialized()":[{"notice":"Thrown when trying to initialize an already initialized pool"}],"PoolNotInitialized()":[{"notice":"Thrown when trying to interact with a non-initialized pool"}],"PriceLimitAlreadyExceeded(uint160,uint160)":[{"notice":"Thrown when sqrtPriceLimitX96 on a swap has already exceeded its limit"}],"PriceLimitOutOfBounds(uint160)":[{"notice":"Thrown when sqrtPriceLimitX96 lies outside of valid tick/price range"}],"TickLiquidityOverflow(int24)":[{"notice":"For the tick spacing, the tick has too much liquidity"}],"TickLowerOutOfBounds(int24)":[{"notice":"Thrown when tickLower is less than min tick"}],"TickUpperOutOfBounds(int24)":[{"notice":"Thrown when tickUpper exceeds max tick"}],"TicksMisordered(int24,int24)":[{"notice":"Thrown when tickLower is not below tickUpper"}]},"kind":"user","methods":{},"notice":"a library with all actions that can be performed on a pool","version":1}}},"v4-core/src/libraries/Position.sol":{"Position":{"abi":[{"inputs":[],"name":"CannotUpdateEmptyPosition","type":"error"}],"devdoc":{"details":"Positions store additional state for tracking fees owed to the position","kind":"dev","methods":{},"title":"Position","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"errors":{"CannotUpdateEmptyPosition()":[{"notice":"Cannot update a position with no liquidity"}]},"kind":"user","methods":{},"notice":"Positions represent an owner address' liquidity between a lower and upper tick boundary","version":1}}},"v4-core/src/libraries/ProtocolFeeLibrary.sol":{"ProtocolFeeLibrary":{"abi":[{"inputs":[],"name":"MAX_PROTOCOL_FEE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"stateVariables":{"MAX_PROTOCOL_FEE":{"details":"Increasing these values could lead to overflow in Pool.swap"}},"version":1},"evm":{"methodIdentifiers":{"MAX_PROTOCOL_FEE()":"b8ca3b83"}},"userdoc":{"kind":"user","methods":{"MAX_PROTOCOL_FEE()":{"notice":"Max protocol fee is 0.1% (1000 pips)"}},"notice":"library of functions related to protocol fees","version":1}}},"v4-core/src/libraries/SafeCast.sol":{"SafeCast":{"abi":[{"inputs":[],"name":"SafeCastOverflow","type":"error"}],"devdoc":{"kind":"dev","methods":{},"title":"Safe casting methods","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Contains methods for safely casting between types","version":1}}},"v4-core/src/libraries/SqrtPriceMath.sol":{"SqrtPriceMath":{"abi":[{"inputs":[],"name":"InvalidPrice","type":"error"},{"inputs":[],"name":"InvalidPriceOrLiquidity","type":"error"},{"inputs":[],"name":"NotEnoughLiquidity","type":"error"},{"inputs":[],"name":"PriceOverflow","type":"error"}],"devdoc":{"kind":"dev","methods":{},"title":"Functions based on Q64.96 sqrt price and liquidity","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Contains the math that uses square root of price as a Q64.96 and liquidity to compute deltas","version":1}}},"v4-core/src/libraries/StateLibrary.sol":{"StateLibrary":{"abi":[{"inputs":[],"name":"FEE_GROWTH_GLOBAL0_OFFSET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQUIDITY_OFFSET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"POOLS_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"POSITIONS_OFFSET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TICKS_OFFSET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TICK_BITMAP_OFFSET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"FEE_GROWTH_GLOBAL0_OFFSET()":"ca24e3b5","LIQUIDITY_OFFSET()":"b432004a","POOLS_SLOT()":"57eb1da7","POSITIONS_OFFSET()":"2ba31c53","TICKS_OFFSET()":"769323e3","TICK_BITMAP_OFFSET()":"7d35604a"}},"userdoc":{"kind":"user","methods":{"FEE_GROWTH_GLOBAL0_OFFSET()":{"notice":"index of feeGrowthGlobal0X128 in Pool.State"},"LIQUIDITY_OFFSET()":{"notice":"index of liquidity in Pool.State"},"POOLS_SLOT()":{"notice":"index of pools mapping in the PoolManager"},"POSITIONS_OFFSET()":{"notice":"index of Position.State mapping in Pool.State: mapping(bytes32 => Position.State) positions;"},"TICKS_OFFSET()":{"notice":"index of TicksInfo mapping in Pool.State: mapping(int24 => TickInfo) ticks;"},"TICK_BITMAP_OFFSET()":{"notice":"index of tickBitmap mapping in Pool.State"}},"notice":"A helper library to provide state getters that use extsload","version":1}}},"v4-core/src/libraries/SwapMath.sol":{"SwapMath":{"abi":[],"devdoc":{"kind":"dev","methods":{},"stateVariables":{"MAX_SWAP_FEE":{"details":"the swap fee is the total fee on a swap, including both LP and Protocol fee"}},"title":"Computes the result of a swap within ticks","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Contains methods for computing the result of a swap within a single tick price range, i.e., a single tick.","version":1}}},"v4-core/src/libraries/TickBitmap.sol":{"TickBitmap":{"abi":[{"inputs":[{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"int24","name":"tickSpacing","type":"int24"}],"name":"TickMisaligned","type":"error"}],"devdoc":{"details":"The mapping uses int16 for keys since ticks are represented as int24 and there are 256 (2^8) values per word.","errors":{"TickMisaligned(int24,int24)":[{"params":{"tick":"the invalid tick","tickSpacing":"The tick spacing of the pool"}}]},"kind":"dev","methods":{},"title":"Packed tick initialized state library","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"errors":{"TickMisaligned(int24,int24)":[{"notice":"Thrown when the tick is not enumerated by the tick spacing"}]},"kind":"user","methods":{},"notice":"Stores a packed mapping of tick index to its initialized state","version":1}}},"v4-core/src/libraries/TickMath.sol":{"TickMath":{"abi":[{"inputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"InvalidSqrtPrice","type":"error"},{"inputs":[{"internalType":"int24","name":"tick","type":"int24"}],"name":"InvalidTick","type":"error"}],"devdoc":{"kind":"dev","methods":{},"stateVariables":{"MAX_SQRT_PRICE":{"details":"The maximum value that can be returned from #getSqrtPriceAtTick. Equivalent to getSqrtPriceAtTick(MAX_TICK)"},"MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE":{"details":"A threshold used for optimized bounds check, equals `MAX_SQRT_PRICE - MIN_SQRT_PRICE - 1`"},"MAX_TICK":{"details":"The maximum tick that may be passed to #getSqrtPriceAtTick computed from log base 1.0001 of 2**128If ever MIN_TICK and MAX_TICK are not centered around 0, the absTick logic in getSqrtPriceAtTick cannot be used"},"MAX_TICK_SPACING":{"details":"The maximum tick spacing value drawn from the range of type int16, i.e. max from the range [1, 32767]"},"MIN_SQRT_PRICE":{"details":"The minimum value that can be returned from #getSqrtPriceAtTick. Equivalent to getSqrtPriceAtTick(MIN_TICK)"},"MIN_TICK":{"details":"The minimum tick that may be passed to #getSqrtPriceAtTick computed from log base 1.0001 of 2**-128If ever MIN_TICK and MAX_TICK are not centered around 0, the absTick logic in getSqrtPriceAtTick cannot be used"},"MIN_TICK_SPACING":{"details":"The minimum tick spacing value drawn from the range of type int16 that is greater than 0, i.e. min from the range [1, 32767]"}},"title":"Math library for computing sqrt prices from ticks and vice versa","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"errors":{"InvalidSqrtPrice(uint160)":[{"notice":"Thrown when the price passed to #getTickAtSqrtPrice does not correspond to a price between MIN_TICK and MAX_TICK"}],"InvalidTick(int24)":[{"notice":"Thrown when the tick passed to #getSqrtPriceAtTick is not between MIN_TICK and MAX_TICK"}]},"kind":"user","methods":{},"notice":"Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports prices between 2**-128 and 2**128","version":1}}},"v4-core/src/libraries/TransientStateLibrary.sol":{"TransientStateLibrary":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"A helper library to provide state getters that use exttload","version":1}}},"v4-core/src/libraries/UnsafeMath.sol":{"UnsafeMath":{"abi":[],"devdoc":{"kind":"dev","methods":{},"title":"Math functions that do not check inputs or outputs","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Contains methods that perform common math functions but do not do any overflow or underflow checks","version":1}}},"v4-core/src/test/ActionsRouter.sol":{"ActionsRouter":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ActionNotSupported","type":"error"},{"inputs":[],"name":"CheckParameters","type":"error"},{"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":[{"internalType":"enum Actions[]","name":"actions","type":"uint8[]"},{"internalType":"bytes[]","name":"params","type":"bytes[]"}],"name":"executeActions","outputs":[],"stateMutability":"payable","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"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"unlockCallback(bytes)":{"params":{"data":"The data that was passed to the call to unlock"},"returns":{"_0":"Any data that you want to be returned from the unlock call"}}},"version":1},"evm":{"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","executeActions(uint8[],bytes[])":"5ef24314","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{"unlockCallback(bytes)":{"notice":"Called by the pool manager on `msg.sender` when the manager is unlocked"}},"notice":"A router that handles an arbitrary input of actions. TODO: Can continue to add functions per action.","version":1}}},"v4-core/src/test/Fuzzers.sol":{"Fuzzers":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolClaimsTest.sol":{"PoolClaimsTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Currency","name":"currency","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"deposit(address,address,uint256)":"8340f549","manager()":"481c6a75","unlockCallback(bytes)":"91dd7346","withdraw(address,address,uint256)":"d9caed12"}},"userdoc":{"kind":"user","methods":{"deposit(address,address,uint256)":{"notice":"Convert ERC20 into a claimable 6909"},"withdraw(address,address,uint256)":{"notice":"Redeem claimable 6909 for ERC20"}},"version":1}}},"v4-core/src/test/PoolDonateTest.sol":{"PoolDonateTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"donate","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"donate((address,address,uint24,int24,address),uint256,uint256,bytes)":"234266d7","manager()":"481c6a75","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolModifyLiquidityTest.sol":{"PoolModifyLiquidityTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"},{"internalType":"bool","name":"settleUsingBurn","type":"bool"},{"internalType":"bool","name":"takeClaims","type":"bool"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"5a6bcfda","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes,bool,bool)":"0a5b11e4","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolModifyLiquidityTestNoChecks.sol":{"PoolModifyLiquidityTestNoChecks":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"},{"internalType":"bool","name":"settleUsingBurn","type":"bool"},{"internalType":"bool","name":"takeClaims","type":"bool"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"modifyLiquidity","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)":"5a6bcfda","modifyLiquidity((address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes,bool,bool)":"0a5b11e4","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolNestedActionsTest.sol":{"NestedActionExecutor":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"},{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"KeyNotSet","type":"error"},{"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":[{"internalType":"enum Action[]","name":"actions","type":"uint8[]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"_key","type":"tuple"}],"name":"setKey","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":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","execute(uint8[])":"7938323a","failed()":"ba414fa6","manager()":"481c6a75","setKey((address,address,uint24,int24,address))":"1b9ec89e","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}},"PoolNestedActionsTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"executor","outputs":[{"internalType":"contract NestedActionExecutor","name":"","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"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","executor()":"c34c08e5","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","unlock(bytes)":"48c89491","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{"unlockCallback(bytes)":{"notice":"Called by the pool manager on `msg.sender` when the manager is unlocked"}},"version":1}}},"v4-core/src/test/PoolSwapTest.sol":{"PoolSwapTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NoSwapOccurred","type":"error"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"},{"components":[{"internalType":"bool","name":"takeClaims","type":"bool"},{"internalType":"bool","name":"settleUsingBurn","type":"bool"}],"internalType":"struct PoolSwapTest.TestSettings","name":"testSettings","type":"tuple"},{"internalType":"bytes","name":"hookData","type":"bytes"}],"name":"swap","outputs":[{"internalType":"BalanceDelta","name":"delta","type":"int256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","swap((address,address,uint24,int24,address),(bool,int256,uint160),(bool,bool),bytes)":"2229d0b4","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolTakeTest.sol":{"PoolTakeTest":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"take","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","take((address,address,uint24,int24,address),uint256,uint256)":"055419b6","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/test/PoolTestBase.sol":{"PoolTestBase":{"abi":[{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"unlockCallback(bytes)":{"params":{"data":"The data that was passed to the call to unlock"},"returns":{"_0":"Any data that you want to be returned from the unlock call"}}},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{"unlockCallback(bytes)":{"notice":"Called by the pool manager on `msg.sender` when the manager is unlocked"}},"version":1}}},"v4-core/src/test/SwapRouterNoChecks.sol":{"SwapRouterNoChecks":{"abi":[{"inputs":[{"internalType":"contract IPoolManager","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NoSwapOccurred","type":"error"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IPoolManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Currency","name":"currency0","type":"address"},{"internalType":"Currency","name":"currency1","type":"address"},{"internalType":"uint24","name":"fee","type":"uint24"},{"internalType":"int24","name":"tickSpacing","type":"int24"},{"internalType":"contract IHooks","name":"hooks","type":"address"}],"internalType":"struct PoolKey","name":"key","type":"tuple"},{"components":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"internalType":"struct SwapParams","name":"params","type":"tuple"}],"name":"swap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes","name":"rawData","type":"bytes"}],"name":"unlockCallback","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"manager()":"481c6a75","swap((address,address,uint24,int24,address),(bool,int256,uint160))":"1e2817de","unlockCallback(bytes)":"91dd7346"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/src/types/BalanceDelta.sol":{"BalanceDeltaLibrary":{"abi":[{"inputs":[],"name":"ZERO_DELTA","outputs":[{"internalType":"BalanceDelta","name":"","type":"int256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"ZERO_DELTA()":"91cb4669"}},"userdoc":{"kind":"user","methods":{"ZERO_DELTA()":{"notice":"A BalanceDelta of 0"}},"notice":"Library for getting the amount0 and amount1 deltas from the BalanceDelta type","version":1}}},"v4-core/src/types/BeforeSwapDelta.sol":{"BeforeSwapDeltaLibrary":{"abi":[{"inputs":[],"name":"ZERO_DELTA","outputs":[{"internalType":"BeforeSwapDelta","name":"","type":"int256"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"ZERO_DELTA()":"91cb4669"}},"userdoc":{"kind":"user","methods":{"ZERO_DELTA()":{"notice":"A BeforeSwapDelta of 0"}},"notice":"Library for getting the specified and unspecified deltas from the BeforeSwapDelta type","version":1}}},"v4-core/src/types/Currency.sol":{"CurrencyLibrary":{"abi":[{"inputs":[],"name":"ERC20TransferFailed","type":"error"},{"inputs":[],"name":"NativeTransferFailed","type":"error"},{"inputs":[],"name":"ADDRESS_ZERO","outputs":[{"internalType":"Currency","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"details":"This library allows for transferring and holding native tokens and ERC20 tokens","kind":"dev","methods":{},"title":"CurrencyLibrary","version":1},"evm":{"methodIdentifiers":{"ADDRESS_ZERO()":"66e79509"}},"userdoc":{"errors":{"ERC20TransferFailed()":[{"notice":"Additional context for ERC-7751 wrapped error when an ERC20 transfer fails"}],"NativeTransferFailed()":[{"notice":"Additional context for ERC-7751 wrapped error when a native transfer fails"}]},"kind":"user","methods":{"ADDRESS_ZERO()":{"notice":"A constant to represent the native currency"}},"version":1}}},"v4-core/src/types/PoolId.sol":{"PoolIdLibrary":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Library for computing the ID of a pool","version":1}}},"v4-core/src/types/Slot0.sol":{"Slot0Library":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Library for getting and setting values in the Slot0 type","version":1}}},"v4-core/test/ModifyLiquidity.t.sol":{"ModifyLiquidityTest":{"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":"LIQUIDITY_PARAMS","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQ_PARAM_NO_SALT","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LIQ_PARAM_SALT","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRICE_LIMIT","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_PRICE_LIMIT","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REMOVE_LIQUIDITY_PARAMS","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SWAP_PARAMS","outputs":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128","name":"solc","type":"int128"},{"internalType":"int128","name":"js","type":"int128"},{"internalType":"string","name":"errMsg","type":"string"}],"name":"_checkError","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"PoolId","name":"poolId","type":"bytes32"},{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"}],"name":"_modifyLiquidityJS","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","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":[{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"}],"name":"logParams","outputs":[],"stateMutability":"pure","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_ffi_addLiqudity_weirdPool_0_returnsCorrectLiquidityDelta","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_ffi_addLiqudity_weirdPool_1_returnsCorrectLiquidityDelta","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"paramSeed","type":"tuple"}],"name":"test_ffi_fuzz_addLiquidity_defaultPool_ReturnsCorrectLiquidityDelta","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_gas_modifyLiquidity_newPosition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_gas_modifyLiquidity_updateSamePosition_withSalt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_modifyLiquidity_samePosition_withSalt_isUpdated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_modifyLiquidity_samePosition_zeroSalt_isUpdated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_modifyLiquidity_sameSalt_differentLiquidityRouters_doNotEditSamePosition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"test_modifyLiquidity_sameTicks_withDifferentSalt_isNotUpdated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"IS_TEST()":"fa7626d4","LIQUIDITY_PARAMS()":"93ad73ed","LIQ_PARAM_NO_SALT()":"8041e4df","LIQ_PARAM_SALT()":"d0df58d8","MAX_PRICE_LIMIT()":"542524dd","MIN_PRICE_LIMIT()":"c7b8e15d","REMOVE_LIQUIDITY_PARAMS()":"39cd2013","SWAP_PARAMS()":"b1a73b8a","_checkError(int128,int128,string)":"7bdfae2d","_modifyLiquidityJS(bytes32,(int24,int24,int256,bytes32))":"2499a6ca","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","logParams((int24,int24,int256,bytes32))":"e00c253b","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_ffi_addLiqudity_weirdPool_0_returnsCorrectLiquidityDelta()":"aad5e125","test_ffi_addLiqudity_weirdPool_1_returnsCorrectLiquidityDelta()":"407efc7e","test_ffi_fuzz_addLiquidity_defaultPool_ReturnsCorrectLiquidityDelta((int24,int24,int256,bytes32))":"acf5d6da","test_gas_modifyLiquidity_newPosition()":"52d7341c","test_gas_modifyLiquidity_updateSamePosition_withSalt()":"60f8aee1","test_modifyLiquidity_samePosition_withSalt_isUpdated()":"279d6da7","test_modifyLiquidity_samePosition_zeroSalt_isUpdated()":"b31f088a","test_modifyLiquidity_sameSalt_differentLiquidityRouters_doNotEditSamePosition()":"28774106","test_modifyLiquidity_sameTicks_withDifferentSalt_isNotUpdated()":"7ce2d94e"}},"userdoc":{"kind":"user","methods":{"test_ffi_fuzz_addLiquidity_defaultPool_ReturnsCorrectLiquidityDelta((int24,int24,int256,bytes32))":{"notice":"forge-config: default.fuzz.runs = 10 forge-config: pr.fuzz.runs = 10 forge-config: ci.fuzz.runs = 500 forge-config: debug.fuzz.runs = 10"}},"version":1}}},"v4-core/test/utils/Constants.sol":{"Constants":{"abi":[{"inputs":[],"name":"SQRT_PRICE_10000_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_1000_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_1010_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_101_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_121_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_1_1","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_1_2","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_1_4","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_2_1","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_4_1","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_99_100","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SQRT_PRICE_99_1000","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{},"stateVariables":{"SQRT_PRICE_1_1":{"details":"All sqrtPrice calculations are calculated as sqrtPriceX96 = floor(sqrt(A / B) * 2 ** 96) where A and B are the currency reserves"}},"version":1},"evm":{"methodIdentifiers":{"SQRT_PRICE_10000_100()":"a3185801","SQRT_PRICE_1000_100()":"bbc49a6e","SQRT_PRICE_1010_100()":"88c8f225","SQRT_PRICE_101_100()":"328b22b4","SQRT_PRICE_121_100()":"e282efb7","SQRT_PRICE_1_1()":"fcc6433b","SQRT_PRICE_1_2()":"bd5e4184","SQRT_PRICE_1_4()":"ed318160","SQRT_PRICE_2_1()":"98ec04cc","SQRT_PRICE_4_1()":"8a81a2de","SQRT_PRICE_99_100()":"ae366da7","SQRT_PRICE_99_1000()":"a96bfbf2"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/test/utils/CurrencySettler.sol":{"CurrencySettler":{"abi":[],"devdoc":{"details":"Note that sync() is called before any erc-20 transfer in `settle`.","kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Library used to interact with PoolManager.sol to settle any open deltas. To settle a positive delta (a credit to the user), a user may take or mint. To settle a negative delta (a debt on the user), a user make transfer or burn to pay off a debt.","version":1}}},"v4-core/test/utils/Deployers.sol":{"Deployers":{"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":"LIQUIDITY_PARAMS","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PRICE_LIMIT","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_PRICE_LIMIT","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REMOVE_LIQUIDITY_PARAMS","outputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SWAP_PARAMS","outputs":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"}],"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"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"IS_TEST()":"fa7626d4","LIQUIDITY_PARAMS()":"93ad73ed","MAX_PRICE_LIMIT()":"542524dd","MIN_PRICE_LIMIT()":"c7b8e15d","REMOVE_LIQUIDITY_PARAMS()":"39cd2013","SWAP_PARAMS()":"b1a73b8a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/test/utils/JavascriptFfi.sol":{"JavascriptFfi":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/test/utils/LiquidityAmounts.sol":{"LiquidityAmounts":{"abi":[],"devdoc":{"kind":"dev","methods":{},"title":"Liquidity amount functions","version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"notice":"Provides functions for computing liquidity amounts from token amounts and prices","version":1}}},"v4-core/test/utils/Logger.sol":{"Logger":{"abi":[{"inputs":[{"components":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"int256","name":"liquidityDelta","type":"int256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ModifyLiquidityParams","name":"params","type":"tuple"}],"name":"logParams","outputs":[],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{"logParams((int24,int24,int256,bytes32))":"e00c253b"}},"userdoc":{"kind":"user","methods":{},"version":1}}},"v4-core/test/utils/SortTokens.sol":{"SortTokens":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"evm":{"methodIdentifiers":{}},"userdoc":{"kind":"user","methods":{},"version":1}}}},"errors":[{"component":"general","errorCode":"2394","formattedMessage":"Warning: Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.\n  --> v4-core/src/libraries/CurrencyReserves.sol:23:13:\n   |\n23 |             tstore(CURRENCY_SLOT, 0)\n   |             ^^^^^^\n\n","message":"Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.","severity":"warning","sourceLocation":{"end":811,"file":"v4-core/src/libraries/CurrencyReserves.sol","start":805},"type":"Warning"}],"sources":{"v4-core/lib/forge-std/src/Base.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/Base.sol","exportedSymbols":{"CommonBase":[6079],"ScriptBase":[6091],"StdStorage":[13894],"TestBase":[6082],"Vm":[23231],"VmSafe":[22388]},"id":6092,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6018,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:0"},{"absolutePath":"v4-core/lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","id":6020,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6092,"sourceUnit":15852,"src":"65:44:0","symbolAliases":[{"foreign":{"id":6019,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13894,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":6023,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6092,"sourceUnit":23232,"src":"110:36:0","symbolAliases":[{"foreign":{"id":6021,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":6022,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6079,"linearizedBaseContracts":[6079],"name":"CommonBase","nameLocation":"166:10:0","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":6037,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","nodeType":"VariableDeclaration","scope":6079,"src":"254:94:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6024,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","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":6031,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6029,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":6034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6027,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":6035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6025,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":6036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":true,"id":6040,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","nodeType":"VariableDeclaration","scope":6079,"src":"438:78:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6038,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":6039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"constant":true,"id":6043,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","nodeType":"VariableDeclaration","scope":6079,"src":"623:86:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6041,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":6042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"constant":true,"id":6057,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","nodeType":"VariableDeclaration","scope":6079,"src":"812:105:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6044,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":6052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":6051,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6049,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":6054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6047,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":6055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6045,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":6056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":true,"id":6060,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","nodeType":"VariableDeclaration","scope":6079,"src":"992:92:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6058,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":6059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"constant":true,"id":6063,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","nodeType":"VariableDeclaration","scope":6079,"src":"1158:89:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6061,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":6062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"constant":true,"id":6066,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","nodeType":"VariableDeclaration","scope":6079,"src":"1294:130:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6064,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":6065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"constant":true,"id":6069,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","nodeType":"VariableDeclaration","scope":6079,"src":"1431:126:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6067,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":6068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"constant":true,"id":6075,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","nodeType":"VariableDeclaration","scope":6079,"src":"1564:40:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":6071,"nodeType":"UserDefinedTypeName","pathNode":{"id":6070,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"1564:2:0"},"referencedDeclaration":23231,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"id":6073,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6037,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6072,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":6074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"internal"},{"constant":false,"id":6078,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","nodeType":"VariableDeclaration","scope":6079,"src":"1610:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage"},"typeName":{"id":6077,"nodeType":"UserDefinedTypeName","pathNode":{"id":6076,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"1610:10:0"},"referencedDeclaration":13894,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"scope":6092,"src":"148:1493:0","usedErrors":[],"usedEvents":[]},{"abstract":true,"baseContracts":[{"baseName":{"id":6080,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":6079,"src":"1673:10:0"},"id":6081,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6082,"linearizedBaseContracts":[6082,6079],"name":"TestBase","nameLocation":"1661:8:0","nodeType":"ContractDefinition","nodes":[],"scope":6092,"src":"1643:43:0","usedErrors":[],"usedEvents":[]},{"abstract":true,"baseContracts":[{"baseName":{"id":6083,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":6079,"src":"1720:10:0"},"id":6084,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6091,"linearizedBaseContracts":[6091,6079],"name":"ScriptBase","nameLocation":"1706:10:0","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":6090,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","nodeType":"VariableDeclaration","scope":6091,"src":"1737:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":6086,"nodeType":"UserDefinedTypeName","pathNode":{"id":6085,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"1737:6:0"},"referencedDeclaration":22388,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":6088,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6037,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6087,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":6089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"internal"}],"scope":6092,"src":"1688:104:0","usedErrors":[],"usedEvents":[]}],"src":"32:1761:0"},"id":0},"v4-core/lib/forge-std/src/StdAssertions.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdAssertions.sol","exportedSymbols":{"StdAssertions":[8712],"Vm":[23231]},"id":8713,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6093,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:1"},{"id":6094,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"64:33:1"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":6096,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8713,"sourceUnit":23232,"src":"99:28:1","symbolAliases":[{"foreign":{"id":6095,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"107:2:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":8712,"linearizedBaseContracts":[8712],"name":"StdAssertions","nameLocation":"147:13:1","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":6113,"mutability":"constant","name":"vm","nameLocation":"187:2:1","nodeType":"VariableDeclaration","scope":8712,"src":"167:84:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":6098,"nodeType":"UserDefinedTypeName","pathNode":{"id":6097,"name":"Vm","nameLocations":["167:2:1"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"167:2:1"},"referencedDeclaration":23231,"src":"167:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:1","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":6106,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"219:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6104,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:1","typeDescriptions":{}}},"id":6109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6102,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:1","typeDescriptions":{}}},"id":6110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6100,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:1","typeDescriptions":{}}},"id":6111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6099,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"192:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":6112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192:59:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"private"},{"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","id":6117,"name":"log","nameLocation":"264:3:1","nodeType":"EventDefinition","parameters":{"id":6116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6115,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6117,"src":"268:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6114,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:1"},"src":"258:18:1"},{"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","id":6121,"name":"logs","nameLocation":"287:4:1","nodeType":"EventDefinition","parameters":{"id":6120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6119,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6121,"src":"292:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6118,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:1"},"src":"281:18:1"},{"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","id":6125,"name":"log_address","nameLocation":"311:11:1","nodeType":"EventDefinition","parameters":{"id":6124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6123,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6125,"src":"323:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6122,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:1"},"src":"305:27:1"},{"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","id":6129,"name":"log_bytes32","nameLocation":"343:11:1","nodeType":"EventDefinition","parameters":{"id":6128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6127,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6129,"src":"355:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:1"},"src":"337:27:1"},{"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","id":6133,"name":"log_int","nameLocation":"375:7:1","nodeType":"EventDefinition","parameters":{"id":6132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6131,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6133,"src":"383:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6130,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:1"},"src":"369:22:1"},{"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","id":6137,"name":"log_uint","nameLocation":"402:8:1","nodeType":"EventDefinition","parameters":{"id":6136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6135,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6137,"src":"411:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6134,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:1"},"src":"396:24:1"},{"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","id":6141,"name":"log_bytes","nameLocation":"431:9:1","nodeType":"EventDefinition","parameters":{"id":6140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6139,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6141,"src":"441:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6138,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:1"},"src":"425:23:1"},{"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","id":6145,"name":"log_string","nameLocation":"459:10:1","nodeType":"EventDefinition","parameters":{"id":6144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6143,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6145,"src":"470:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6142,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:1"},"src":"453:25:1"},{"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","id":6151,"name":"log_named_address","nameLocation":"490:17:1","nodeType":"EventDefinition","parameters":{"id":6150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6147,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:1","nodeType":"VariableDeclaration","scope":6151,"src":"508:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6146,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6149,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:1","nodeType":"VariableDeclaration","scope":6151,"src":"520:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6148,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:1"},"src":"484:49:1"},{"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","id":6157,"name":"log_named_bytes32","nameLocation":"544:17:1","nodeType":"EventDefinition","parameters":{"id":6156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6153,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:1","nodeType":"VariableDeclaration","scope":6157,"src":"562:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6152,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6155,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:1","nodeType":"VariableDeclaration","scope":6157,"src":"574:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:1"},"src":"538:49:1"},{"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","id":6165,"name":"log_named_decimal_int","nameLocation":"598:21:1","nodeType":"EventDefinition","parameters":{"id":6164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6159,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:1","nodeType":"VariableDeclaration","scope":6165,"src":"620:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6158,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6161,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:1","nodeType":"VariableDeclaration","scope":6165,"src":"632:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6160,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6163,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:1","nodeType":"VariableDeclaration","scope":6165,"src":"644:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6162,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:1"},"src":"592:70:1"},{"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","id":6173,"name":"log_named_decimal_uint","nameLocation":"673:22:1","nodeType":"EventDefinition","parameters":{"id":6172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6167,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:1","nodeType":"VariableDeclaration","scope":6173,"src":"696:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6166,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6169,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:1","nodeType":"VariableDeclaration","scope":6173,"src":"708:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6168,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6171,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:1","nodeType":"VariableDeclaration","scope":6173,"src":"721:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6170,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:1"},"src":"667:72:1"},{"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","id":6179,"name":"log_named_int","nameLocation":"750:13:1","nodeType":"EventDefinition","parameters":{"id":6178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6175,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:1","nodeType":"VariableDeclaration","scope":6179,"src":"764:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6174,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6177,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:1","nodeType":"VariableDeclaration","scope":6179,"src":"776:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6176,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:1"},"src":"744:44:1"},{"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","id":6185,"name":"log_named_uint","nameLocation":"799:14:1","nodeType":"EventDefinition","parameters":{"id":6184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6181,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:1","nodeType":"VariableDeclaration","scope":6185,"src":"814:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6180,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6183,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:1","nodeType":"VariableDeclaration","scope":6185,"src":"826:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6182,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:1"},"src":"793:46:1"},{"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","id":6191,"name":"log_named_bytes","nameLocation":"850:15:1","nodeType":"EventDefinition","parameters":{"id":6190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6187,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:1","nodeType":"VariableDeclaration","scope":6191,"src":"866:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6186,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6189,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:1","nodeType":"VariableDeclaration","scope":6191,"src":"878:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6188,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:1"},"src":"844:45:1"},{"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","id":6197,"name":"log_named_string","nameLocation":"900:16:1","nodeType":"EventDefinition","parameters":{"id":6196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6193,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:1","nodeType":"VariableDeclaration","scope":6197,"src":"917:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6192,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6195,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:1","nodeType":"VariableDeclaration","scope":6197,"src":"929:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6194,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:1"},"src":"894:47:1"},{"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","id":6202,"name":"log_array","nameLocation":"953:9:1","nodeType":"EventDefinition","parameters":{"id":6201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6200,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:1","nodeType":"VariableDeclaration","scope":6202,"src":"963:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6198,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6199,"nodeType":"ArrayTypeName","src":"963:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:1"},"src":"947:31:1"},{"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","id":6207,"name":"log_array","nameLocation":"989:9:1","nodeType":"EventDefinition","parameters":{"id":6206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6205,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:1","nodeType":"VariableDeclaration","scope":6207,"src":"999:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6203,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6204,"nodeType":"ArrayTypeName","src":"999:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:1"},"src":"983:30:1"},{"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","id":6212,"name":"log_array","nameLocation":"1024:9:1","nodeType":"EventDefinition","parameters":{"id":6211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6210,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:1","nodeType":"VariableDeclaration","scope":6212,"src":"1034:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6208,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6209,"nodeType":"ArrayTypeName","src":"1034:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:1"},"src":"1018:31:1"},{"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","id":6219,"name":"log_named_array","nameLocation":"1060:15:1","nodeType":"EventDefinition","parameters":{"id":6218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6214,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:1","nodeType":"VariableDeclaration","scope":6219,"src":"1076:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6213,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6217,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:1","nodeType":"VariableDeclaration","scope":6219,"src":"1088:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6215,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6216,"nodeType":"ArrayTypeName","src":"1088:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:1"},"src":"1054:49:1"},{"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","id":6226,"name":"log_named_array","nameLocation":"1114:15:1","nodeType":"EventDefinition","parameters":{"id":6225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6221,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:1","nodeType":"VariableDeclaration","scope":6226,"src":"1130:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6220,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6224,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:1","nodeType":"VariableDeclaration","scope":6226,"src":"1142:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6222,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6223,"nodeType":"ArrayTypeName","src":"1142:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:1"},"src":"1108:48:1"},{"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","id":6233,"name":"log_named_array","nameLocation":"1167:15:1","nodeType":"EventDefinition","parameters":{"id":6232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6228,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:1","nodeType":"VariableDeclaration","scope":6233,"src":"1183:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6227,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6231,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:1","nodeType":"VariableDeclaration","scope":6233,"src":"1195:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6229,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6230,"nodeType":"ArrayTypeName","src":"1195:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:1"},"src":"1161:49:1"},{"constant":false,"id":6235,"mutability":"mutable","name":"_failed","nameLocation":"1229:7:1","nodeType":"VariableDeclaration","scope":8712,"src":"1216:20:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6234,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"body":{"id":6263,"nodeType":"Block","src":"1288:159:1","statements":[{"condition":{"id":6240,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6235,"src":"1302:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6261,"nodeType":"Block","src":"1356:85:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":6259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":6248,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1393:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}],"id":6247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6246,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:1","typeDescriptions":{}}},"id":6249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:11:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":6252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1406:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":6251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1398:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1398:7:1","typeDescriptions":{}}},"id":6253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1398:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6244,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1377:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1380:4:1","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"1377:7:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":6254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1377:39:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1428:1:1","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":6256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1420:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1420:7:1","typeDescriptions":{}}},"id":6258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1420:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1377:53:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6239,"id":6260,"nodeType":"Return","src":"1370:60:1"}]},"id":6262,"nodeType":"IfStatement","src":"1298:143:1","trueBody":{"id":6243,"nodeType":"Block","src":"1311:39:1","statements":[{"expression":{"id":6241,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6235,"src":"1332:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6239,"id":6242,"nodeType":"Return","src":"1325:14:1"}]}}]},"functionSelector":"ba414fa6","id":6264,"implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1252:6:1","nodeType":"FunctionDefinition","parameters":{"id":6236,"nodeType":"ParameterList","parameters":[],"src":"1258:2:1"},"returnParameters":{"id":6239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6264,"src":"1282:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6237,"name":"bool","nodeType":"ElementaryTypeName","src":"1282:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1281:6:1"},"scope":8712,"src":"1243:204:1","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":6291,"nodeType":"Block","src":"1486:102:1","statements":[{"expression":{"arguments":[{"arguments":[{"id":6272,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1513:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}],"id":6271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1505:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6270,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:1","typeDescriptions":{}}},"id":6273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1505:11:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":6276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1526:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":6275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1518:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:1","typeDescriptions":{}}},"id":6277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":6282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1553:1:1","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":6281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1545:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6280,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:1","typeDescriptions":{}}},"id":6283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1537:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1537:7:1","typeDescriptions":{}}},"id":6284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1537:19:1","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":6267,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1496:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:5:1","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"1496:8:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":6285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1496:61:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6286,"nodeType":"ExpressionStatement","src":"1496:61:1"},{"expression":{"id":6289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6287,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6235,"src":"1567:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1577:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1567:14:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6290,"nodeType":"ExpressionStatement","src":"1567:14:1"}]},"id":6292,"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1462:4:1","nodeType":"FunctionDefinition","parameters":{"id":6265,"nodeType":"ParameterList","parameters":[],"src":"1466:2:1"},"returnParameters":{"id":6266,"nodeType":"ParameterList","parameters":[],"src":"1486:0:1"},"scope":8712,"src":"1453:135:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":6303,"nodeType":"Block","src":"1647:36:1","statements":[{"expression":{"arguments":[{"id":6300,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6294,"src":"1671:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1657:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:10:1","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":21900,"src":"1657:13:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":6301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1657:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6302,"nodeType":"ExpressionStatement","src":"1657:19:1"}]},"id":6304,"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1603:10:1","nodeType":"FunctionDefinition","parameters":{"id":6295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6294,"mutability":"mutable","name":"data","nameLocation":"1619:4:1","nodeType":"VariableDeclaration","scope":6304,"src":"1614:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6293,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1613:11:1"},"returnParameters":{"id":6296,"nodeType":"ParameterList","parameters":[],"src":"1647:0:1"},"scope":8712,"src":"1594:89:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6318,"nodeType":"Block","src":"1761:41:1","statements":[{"expression":{"arguments":[{"id":6314,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6306,"src":"1785:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6315,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6308,"src":"1791:3:1","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":6311,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1771:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1774:10:1","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":21908,"src":"1771:13:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":6316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6317,"nodeType":"ExpressionStatement","src":"1771:24:1"}]},"id":6319,"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1698:10:1","nodeType":"FunctionDefinition","parameters":{"id":6309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6306,"mutability":"mutable","name":"data","nameLocation":"1714:4:1","nodeType":"VariableDeclaration","scope":6319,"src":"1709:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6305,"name":"bool","nodeType":"ElementaryTypeName","src":"1709:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6308,"mutability":"mutable","name":"err","nameLocation":"1734:3:1","nodeType":"VariableDeclaration","scope":6319,"src":"1720:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6307,"name":"string","nodeType":"ElementaryTypeName","src":"1720:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:30:1"},"returnParameters":{"id":6310,"nodeType":"ParameterList","parameters":[],"src":"1761:0:1"},"scope":8712,"src":"1689:113:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6330,"nodeType":"Block","src":"1862:37:1","statements":[{"expression":{"arguments":[{"id":6327,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6321,"src":"1887:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6324,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1872:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1875:11:1","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":21242,"src":"1872:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":6328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6329,"nodeType":"ExpressionStatement","src":"1872:20:1"}]},"id":6331,"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1817:11:1","nodeType":"FunctionDefinition","parameters":{"id":6322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6321,"mutability":"mutable","name":"data","nameLocation":"1834:4:1","nodeType":"VariableDeclaration","scope":6331,"src":"1829:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6320,"name":"bool","nodeType":"ElementaryTypeName","src":"1829:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1828:11:1"},"returnParameters":{"id":6323,"nodeType":"ParameterList","parameters":[],"src":"1862:0:1"},"scope":8712,"src":"1808:91:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6345,"nodeType":"Block","src":"1978:42:1","statements":[{"expression":{"arguments":[{"id":6341,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"2003:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6342,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6335,"src":"2009:3:1","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":6338,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"1988:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1991:11:1","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":21250,"src":"1988:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":6343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6344,"nodeType":"ExpressionStatement","src":"1988:25:1"}]},"id":6346,"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1914:11:1","nodeType":"FunctionDefinition","parameters":{"id":6336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6333,"mutability":"mutable","name":"data","nameLocation":"1931:4:1","nodeType":"VariableDeclaration","scope":6346,"src":"1926:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6332,"name":"bool","nodeType":"ElementaryTypeName","src":"1926:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6335,"mutability":"mutable","name":"err","nameLocation":"1951:3:1","nodeType":"VariableDeclaration","scope":6346,"src":"1937:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6334,"name":"string","nodeType":"ElementaryTypeName","src":"1937:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1925:30:1"},"returnParameters":{"id":6337,"nodeType":"ParameterList","parameters":[],"src":"1978:0:1"},"scope":8712,"src":"1905:115:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6360,"nodeType":"Block","src":"2089:41:1","statements":[{"expression":{"arguments":[{"id":6356,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6348,"src":"2111:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6357,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6350,"src":"2117:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6353,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2099:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2102:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":20964,"src":"2099:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":6358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2099:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6359,"nodeType":"ExpressionStatement","src":"2099:24:1"}]},"id":6361,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2035:8:1","nodeType":"FunctionDefinition","parameters":{"id":6351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6348,"mutability":"mutable","name":"left","nameLocation":"2049:4:1","nodeType":"VariableDeclaration","scope":6361,"src":"2044:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6347,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6350,"mutability":"mutable","name":"right","nameLocation":"2060:5:1","nodeType":"VariableDeclaration","scope":6361,"src":"2055:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6349,"name":"bool","nodeType":"ElementaryTypeName","src":"2055:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:23:1"},"returnParameters":{"id":6352,"nodeType":"ParameterList","parameters":[],"src":"2089:0:1"},"scope":8712,"src":"2026:104:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6378,"nodeType":"Block","src":"2218:46:1","statements":[{"expression":{"arguments":[{"id":6373,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6363,"src":"2240:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6374,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6365,"src":"2246:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6375,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6367,"src":"2253:3:1","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":6370,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2228:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2231:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":20974,"src":"2228:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":6376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6377,"nodeType":"ExpressionStatement","src":"2228:29:1"}]},"id":6379,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2145:8:1","nodeType":"FunctionDefinition","parameters":{"id":6368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6363,"mutability":"mutable","name":"left","nameLocation":"2159:4:1","nodeType":"VariableDeclaration","scope":6379,"src":"2154:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6362,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6365,"mutability":"mutable","name":"right","nameLocation":"2170:5:1","nodeType":"VariableDeclaration","scope":6379,"src":"2165:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6364,"name":"bool","nodeType":"ElementaryTypeName","src":"2165:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6367,"mutability":"mutable","name":"err","nameLocation":"2191:3:1","nodeType":"VariableDeclaration","scope":6379,"src":"2177:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6366,"name":"string","nodeType":"ElementaryTypeName","src":"2177:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2153:42:1"},"returnParameters":{"id":6369,"nodeType":"ParameterList","parameters":[],"src":"2218:0:1"},"scope":8712,"src":"2136:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6393,"nodeType":"Block","src":"2339:41:1","statements":[{"expression":{"arguments":[{"id":6389,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6381,"src":"2361:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6390,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6383,"src":"2367:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6386,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2349:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21084,"src":"2349:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":6391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6392,"nodeType":"ExpressionStatement","src":"2349:24:1"}]},"id":6394,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2279:8:1","nodeType":"FunctionDefinition","parameters":{"id":6384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6381,"mutability":"mutable","name":"left","nameLocation":"2296:4:1","nodeType":"VariableDeclaration","scope":6394,"src":"2288:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6380,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6383,"mutability":"mutable","name":"right","nameLocation":"2310:5:1","nodeType":"VariableDeclaration","scope":6394,"src":"2302:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6382,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:29:1"},"returnParameters":{"id":6385,"nodeType":"ParameterList","parameters":[],"src":"2339:0:1"},"scope":8712,"src":"2270:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6411,"nodeType":"Block","src":"2474:46:1","statements":[{"expression":{"arguments":[{"id":6406,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6396,"src":"2496:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6407,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6398,"src":"2502:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6408,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6400,"src":"2509:3:1","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":6403,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2484:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2487:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21182,"src":"2484:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":6409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6410,"nodeType":"ExpressionStatement","src":"2484:29:1"}]},"id":6412,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2395:8:1","nodeType":"FunctionDefinition","parameters":{"id":6401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6396,"mutability":"mutable","name":"left","nameLocation":"2412:4:1","nodeType":"VariableDeclaration","scope":6412,"src":"2404:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6395,"name":"uint256","nodeType":"ElementaryTypeName","src":"2404:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6398,"mutability":"mutable","name":"right","nameLocation":"2426:5:1","nodeType":"VariableDeclaration","scope":6412,"src":"2418:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6397,"name":"uint256","nodeType":"ElementaryTypeName","src":"2418:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6400,"mutability":"mutable","name":"err","nameLocation":"2447:3:1","nodeType":"VariableDeclaration","scope":6412,"src":"2433:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6399,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:48:1"},"returnParameters":{"id":6402,"nodeType":"ParameterList","parameters":[],"src":"2474:0:1"},"scope":8712,"src":"2386:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6429,"nodeType":"Block","src":"2620:58:1","statements":[{"expression":{"arguments":[{"id":6424,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6414,"src":"2649:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6425,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6416,"src":"2655:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6426,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6418,"src":"2662:8:1","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":6421,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2630:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2633:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":20922,"src":"2630:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":6427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2630:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6428,"nodeType":"ExpressionStatement","src":"2630:41:1"}]},"id":6430,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2535:15:1","nodeType":"FunctionDefinition","parameters":{"id":6419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6414,"mutability":"mutable","name":"left","nameLocation":"2559:4:1","nodeType":"VariableDeclaration","scope":6430,"src":"2551:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6413,"name":"uint256","nodeType":"ElementaryTypeName","src":"2551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6416,"mutability":"mutable","name":"right","nameLocation":"2573:5:1","nodeType":"VariableDeclaration","scope":6430,"src":"2565:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6415,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6418,"mutability":"mutable","name":"decimals","nameLocation":"2588:8:1","nodeType":"VariableDeclaration","scope":6430,"src":"2580:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6417,"name":"uint256","nodeType":"ElementaryTypeName","src":"2580:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2550:47:1"},"returnParameters":{"id":6420,"nodeType":"ParameterList","parameters":[],"src":"2620:0:1"},"scope":8712,"src":"2526:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6450,"nodeType":"Block","src":"2797:63:1","statements":[{"expression":{"arguments":[{"id":6444,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6432,"src":"2826:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6445,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6434,"src":"2832:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6446,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6436,"src":"2839:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6447,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6438,"src":"2849:3:1","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":6441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2807:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2810:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":20934,"src":"2807:18:1","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":6448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2807:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6449,"nodeType":"ExpressionStatement","src":"2807:46:1"}]},"id":6451,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2693:15:1","nodeType":"FunctionDefinition","parameters":{"id":6439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6432,"mutability":"mutable","name":"left","nameLocation":"2717:4:1","nodeType":"VariableDeclaration","scope":6451,"src":"2709:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6431,"name":"uint256","nodeType":"ElementaryTypeName","src":"2709:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6434,"mutability":"mutable","name":"right","nameLocation":"2731:5:1","nodeType":"VariableDeclaration","scope":6451,"src":"2723:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6433,"name":"uint256","nodeType":"ElementaryTypeName","src":"2723:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6436,"mutability":"mutable","name":"decimals","nameLocation":"2746:8:1","nodeType":"VariableDeclaration","scope":6451,"src":"2738:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6435,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6438,"mutability":"mutable","name":"err","nameLocation":"2770:3:1","nodeType":"VariableDeclaration","scope":6451,"src":"2756:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6437,"name":"string","nodeType":"ElementaryTypeName","src":"2756:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2708:66:1"},"returnParameters":{"id":6440,"nodeType":"ParameterList","parameters":[],"src":"2797:0:1"},"scope":8712,"src":"2684:176:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6465,"nodeType":"Block","src":"2933:41:1","statements":[{"expression":{"arguments":[{"id":6461,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6453,"src":"2955:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6462,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6455,"src":"2961:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":6458,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"2943:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2946:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21190,"src":"2943:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":6463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2943:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6464,"nodeType":"ExpressionStatement","src":"2943:24:1"}]},"id":6466,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2875:8:1","nodeType":"FunctionDefinition","parameters":{"id":6456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6453,"mutability":"mutable","name":"left","nameLocation":"2891:4:1","nodeType":"VariableDeclaration","scope":6466,"src":"2884:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6452,"name":"int256","nodeType":"ElementaryTypeName","src":"2884:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6455,"mutability":"mutable","name":"right","nameLocation":"2904:5:1","nodeType":"VariableDeclaration","scope":6466,"src":"2897:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6454,"name":"int256","nodeType":"ElementaryTypeName","src":"2897:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2883:27:1"},"returnParameters":{"id":6457,"nodeType":"ParameterList","parameters":[],"src":"2933:0:1"},"scope":8712,"src":"2866:108:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6483,"nodeType":"Block","src":"3066:46:1","statements":[{"expression":{"arguments":[{"id":6478,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6468,"src":"3088:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6479,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6470,"src":"3094:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6480,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6472,"src":"3101:3:1","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":6475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3076:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3079:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21200,"src":"3076:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":6481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3076:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6482,"nodeType":"ExpressionStatement","src":"3076:29:1"}]},"id":6484,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2989:8:1","nodeType":"FunctionDefinition","parameters":{"id":6473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6468,"mutability":"mutable","name":"left","nameLocation":"3005:4:1","nodeType":"VariableDeclaration","scope":6484,"src":"2998:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6467,"name":"int256","nodeType":"ElementaryTypeName","src":"2998:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6470,"mutability":"mutable","name":"right","nameLocation":"3018:5:1","nodeType":"VariableDeclaration","scope":6484,"src":"3011:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6469,"name":"int256","nodeType":"ElementaryTypeName","src":"3011:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6472,"mutability":"mutable","name":"err","nameLocation":"3039:3:1","nodeType":"VariableDeclaration","scope":6484,"src":"3025:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6471,"name":"string","nodeType":"ElementaryTypeName","src":"3025:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2997:46:1"},"returnParameters":{"id":6474,"nodeType":"ParameterList","parameters":[],"src":"3066:0:1"},"scope":8712,"src":"2980:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6501,"nodeType":"Block","src":"3210:58:1","statements":[{"expression":{"arguments":[{"id":6496,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6486,"src":"3239:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6497,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6488,"src":"3245:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6498,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6490,"src":"3252:8:1","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":6493,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3220:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3223:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":20944,"src":"3220:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":6499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3220:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6500,"nodeType":"ExpressionStatement","src":"3220:41:1"}]},"id":6502,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3127:15:1","nodeType":"FunctionDefinition","parameters":{"id":6491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6486,"mutability":"mutable","name":"left","nameLocation":"3150:4:1","nodeType":"VariableDeclaration","scope":6502,"src":"3143:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6485,"name":"int256","nodeType":"ElementaryTypeName","src":"3143:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6488,"mutability":"mutable","name":"right","nameLocation":"3163:5:1","nodeType":"VariableDeclaration","scope":6502,"src":"3156:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6487,"name":"int256","nodeType":"ElementaryTypeName","src":"3156:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6490,"mutability":"mutable","name":"decimals","nameLocation":"3178:8:1","nodeType":"VariableDeclaration","scope":6502,"src":"3170:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6489,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3142:45:1"},"returnParameters":{"id":6492,"nodeType":"ParameterList","parameters":[],"src":"3210:0:1"},"scope":8712,"src":"3118:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6522,"nodeType":"Block","src":"3385:63:1","statements":[{"expression":{"arguments":[{"id":6516,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6504,"src":"3414:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6517,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6506,"src":"3420:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":6518,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6508,"src":"3427:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6519,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6510,"src":"3437:3:1","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":6513,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3395:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3398:15:1","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":20956,"src":"3395:18:1","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":6520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3395:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6521,"nodeType":"ExpressionStatement","src":"3395:46:1"}]},"id":6523,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3283:15:1","nodeType":"FunctionDefinition","parameters":{"id":6511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6504,"mutability":"mutable","name":"left","nameLocation":"3306:4:1","nodeType":"VariableDeclaration","scope":6523,"src":"3299:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6503,"name":"int256","nodeType":"ElementaryTypeName","src":"3299:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6506,"mutability":"mutable","name":"right","nameLocation":"3319:5:1","nodeType":"VariableDeclaration","scope":6523,"src":"3312:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6505,"name":"int256","nodeType":"ElementaryTypeName","src":"3312:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":6508,"mutability":"mutable","name":"decimals","nameLocation":"3334:8:1","nodeType":"VariableDeclaration","scope":6523,"src":"3326:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6507,"name":"uint256","nodeType":"ElementaryTypeName","src":"3326:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6510,"mutability":"mutable","name":"err","nameLocation":"3358:3:1","nodeType":"VariableDeclaration","scope":6523,"src":"3344:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6509,"name":"string","nodeType":"ElementaryTypeName","src":"3344:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3298:64:1"},"returnParameters":{"id":6512,"nodeType":"ParameterList","parameters":[],"src":"3385:0:1"},"scope":8712,"src":"3274:174:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6537,"nodeType":"Block","src":"3523:41:1","statements":[{"expression":{"arguments":[{"id":6533,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6525,"src":"3545:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6534,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6527,"src":"3551:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6530,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3533:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3536:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21208,"src":"3533:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":6535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3533:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6536,"nodeType":"ExpressionStatement","src":"3533:24:1"}]},"id":6538,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3463:8:1","nodeType":"FunctionDefinition","parameters":{"id":6528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6525,"mutability":"mutable","name":"left","nameLocation":"3480:4:1","nodeType":"VariableDeclaration","scope":6538,"src":"3472:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6524,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6527,"mutability":"mutable","name":"right","nameLocation":"3494:5:1","nodeType":"VariableDeclaration","scope":6538,"src":"3486:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6526,"name":"address","nodeType":"ElementaryTypeName","src":"3486:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3471:29:1"},"returnParameters":{"id":6529,"nodeType":"ParameterList","parameters":[],"src":"3523:0:1"},"scope":8712,"src":"3454:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6555,"nodeType":"Block","src":"3658:46:1","statements":[{"expression":{"arguments":[{"id":6550,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6540,"src":"3680:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6551,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6542,"src":"3686:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6552,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6544,"src":"3693:3:1","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":6547,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3668:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3671:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21218,"src":"3668:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":6553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3668:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6554,"nodeType":"ExpressionStatement","src":"3668:29:1"}]},"id":6556,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3579:8:1","nodeType":"FunctionDefinition","parameters":{"id":6545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6540,"mutability":"mutable","name":"left","nameLocation":"3596:4:1","nodeType":"VariableDeclaration","scope":6556,"src":"3588:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6539,"name":"address","nodeType":"ElementaryTypeName","src":"3588:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6542,"mutability":"mutable","name":"right","nameLocation":"3610:5:1","nodeType":"VariableDeclaration","scope":6556,"src":"3602:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6541,"name":"address","nodeType":"ElementaryTypeName","src":"3602:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6544,"mutability":"mutable","name":"err","nameLocation":"3631:3:1","nodeType":"VariableDeclaration","scope":6556,"src":"3617:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6543,"name":"string","nodeType":"ElementaryTypeName","src":"3617:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:48:1"},"returnParameters":{"id":6546,"nodeType":"ParameterList","parameters":[],"src":"3658:0:1"},"scope":8712,"src":"3570:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6570,"nodeType":"Block","src":"3779:41:1","statements":[{"expression":{"arguments":[{"id":6566,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6558,"src":"3801:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6567,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6560,"src":"3807:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3789:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3792:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21226,"src":"3789:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":6568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3789:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6569,"nodeType":"ExpressionStatement","src":"3789:24:1"}]},"id":6571,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3719:8:1","nodeType":"FunctionDefinition","parameters":{"id":6561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6558,"mutability":"mutable","name":"left","nameLocation":"3736:4:1","nodeType":"VariableDeclaration","scope":6571,"src":"3728:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6560,"mutability":"mutable","name":"right","nameLocation":"3750:5:1","nodeType":"VariableDeclaration","scope":6571,"src":"3742:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3742:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3727:29:1"},"returnParameters":{"id":6562,"nodeType":"ParameterList","parameters":[],"src":"3779:0:1"},"scope":8712,"src":"3710:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6588,"nodeType":"Block","src":"3914:46:1","statements":[{"expression":{"arguments":[{"id":6583,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6573,"src":"3936:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6584,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6575,"src":"3942:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6585,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6577,"src":"3949:3:1","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":6580,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"3924:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3927:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21236,"src":"3924:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":6586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3924:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6587,"nodeType":"ExpressionStatement","src":"3924:29:1"}]},"id":6589,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3835:8:1","nodeType":"FunctionDefinition","parameters":{"id":6578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6573,"mutability":"mutable","name":"left","nameLocation":"3852:4:1","nodeType":"VariableDeclaration","scope":6589,"src":"3844:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3844:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6575,"mutability":"mutable","name":"right","nameLocation":"3866:5:1","nodeType":"VariableDeclaration","scope":6589,"src":"3858:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3858:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6577,"mutability":"mutable","name":"err","nameLocation":"3887:3:1","nodeType":"VariableDeclaration","scope":6589,"src":"3873:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6576,"name":"string","nodeType":"ElementaryTypeName","src":"3873:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3843:48:1"},"returnParameters":{"id":6579,"nodeType":"ParameterList","parameters":[],"src":"3914:0:1"},"scope":8712,"src":"3826:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6601,"nodeType":"Block","src":"4037:38:1","statements":[{"expression":{"arguments":[{"id":6597,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6591,"src":"4056:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6598,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6593,"src":"4062:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6596,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6571,"src":"4047:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":6599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6600,"nodeType":"ExpressionStatement","src":"4047:21:1"}]},"id":6602,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"3975:10:1","nodeType":"FunctionDefinition","parameters":{"id":6594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6591,"mutability":"mutable","name":"left","nameLocation":"3994:4:1","nodeType":"VariableDeclaration","scope":6602,"src":"3986:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3986:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6593,"mutability":"mutable","name":"right","nameLocation":"4008:5:1","nodeType":"VariableDeclaration","scope":6602,"src":"4000:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4000:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3985:29:1"},"returnParameters":{"id":6595,"nodeType":"ParameterList","parameters":[],"src":"4037:0:1"},"scope":8712,"src":"3966:109:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6617,"nodeType":"Block","src":"4171:43:1","statements":[{"expression":{"arguments":[{"id":6612,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"4190:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6613,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6606,"src":"4196:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6614,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6608,"src":"4203:3:1","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":6611,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6589,"src":"4181:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":6615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4181:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6616,"nodeType":"ExpressionStatement","src":"4181:26:1"}]},"id":6618,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4090:10:1","nodeType":"FunctionDefinition","parameters":{"id":6609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6604,"mutability":"mutable","name":"left","nameLocation":"4109:4:1","nodeType":"VariableDeclaration","scope":6618,"src":"4101:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4101:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6606,"mutability":"mutable","name":"right","nameLocation":"4123:5:1","nodeType":"VariableDeclaration","scope":6618,"src":"4115:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4115:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":6608,"mutability":"mutable","name":"err","nameLocation":"4144:3:1","nodeType":"VariableDeclaration","scope":6618,"src":"4130:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6607,"name":"string","nodeType":"ElementaryTypeName","src":"4130:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4100:48:1"},"returnParameters":{"id":6610,"nodeType":"ParameterList","parameters":[],"src":"4171:0:1"},"scope":8712,"src":"4081:133:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6632,"nodeType":"Block","src":"4301:41:1","statements":[{"expression":{"arguments":[{"id":6628,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6620,"src":"4323:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6629,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6622,"src":"4329:5:1","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":6625,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"4311:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4314:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":20982,"src":"4311:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":6630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4311:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6631,"nodeType":"ExpressionStatement","src":"4311:24:1"}]},"id":6633,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4229:8:1","nodeType":"FunctionDefinition","parameters":{"id":6623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6620,"mutability":"mutable","name":"left","nameLocation":"4252:4:1","nodeType":"VariableDeclaration","scope":6633,"src":"4238:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6619,"name":"string","nodeType":"ElementaryTypeName","src":"4238:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6622,"mutability":"mutable","name":"right","nameLocation":"4272:5:1","nodeType":"VariableDeclaration","scope":6633,"src":"4258:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6621,"name":"string","nodeType":"ElementaryTypeName","src":"4258:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4237:41:1"},"returnParameters":{"id":6624,"nodeType":"ParameterList","parameters":[],"src":"4301:0:1"},"scope":8712,"src":"4220:122:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6650,"nodeType":"Block","src":"4448:46:1","statements":[{"expression":{"arguments":[{"id":6645,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6635,"src":"4470:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6646,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6637,"src":"4476:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6647,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6639,"src":"4483:3:1","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":6642,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"4458:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4461:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":20992,"src":"4458:11:1","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":6648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6649,"nodeType":"ExpressionStatement","src":"4458:29:1"}]},"id":6651,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4357:8:1","nodeType":"FunctionDefinition","parameters":{"id":6640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6635,"mutability":"mutable","name":"left","nameLocation":"4380:4:1","nodeType":"VariableDeclaration","scope":6651,"src":"4366:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6634,"name":"string","nodeType":"ElementaryTypeName","src":"4366:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6637,"mutability":"mutable","name":"right","nameLocation":"4400:5:1","nodeType":"VariableDeclaration","scope":6651,"src":"4386:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6636,"name":"string","nodeType":"ElementaryTypeName","src":"4386:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6639,"mutability":"mutable","name":"err","nameLocation":"4421:3:1","nodeType":"VariableDeclaration","scope":6651,"src":"4407:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6638,"name":"string","nodeType":"ElementaryTypeName","src":"4407:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4365:60:1"},"returnParameters":{"id":6641,"nodeType":"ParameterList","parameters":[],"src":"4448:0:1"},"scope":8712,"src":"4348:146:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6665,"nodeType":"Block","src":"4579:41:1","statements":[{"expression":{"arguments":[{"id":6661,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6653,"src":"4601:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6662,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6655,"src":"4607:5:1","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":6658,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"4589:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4592:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21000,"src":"4589:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":6663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4589:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6664,"nodeType":"ExpressionStatement","src":"4589:24:1"}]},"id":6666,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4509:8:1","nodeType":"FunctionDefinition","parameters":{"id":6656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6653,"mutability":"mutable","name":"left","nameLocation":"4531:4:1","nodeType":"VariableDeclaration","scope":6666,"src":"4518:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6652,"name":"bytes","nodeType":"ElementaryTypeName","src":"4518:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6655,"mutability":"mutable","name":"right","nameLocation":"4550:5:1","nodeType":"VariableDeclaration","scope":6666,"src":"4537:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6654,"name":"bytes","nodeType":"ElementaryTypeName","src":"4537:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4517:39:1"},"returnParameters":{"id":6657,"nodeType":"ParameterList","parameters":[],"src":"4579:0:1"},"scope":8712,"src":"4500:120:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6683,"nodeType":"Block","src":"4724:46:1","statements":[{"expression":{"arguments":[{"id":6678,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6668,"src":"4746:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6679,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6670,"src":"4752:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6680,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6672,"src":"4759:3:1","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":6675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"4734:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4737:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21010,"src":"4734:11:1","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":6681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4734:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6682,"nodeType":"ExpressionStatement","src":"4734:29:1"}]},"id":6684,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4635:8:1","nodeType":"FunctionDefinition","parameters":{"id":6673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6668,"mutability":"mutable","name":"left","nameLocation":"4657:4:1","nodeType":"VariableDeclaration","scope":6684,"src":"4644:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6667,"name":"bytes","nodeType":"ElementaryTypeName","src":"4644:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6670,"mutability":"mutable","name":"right","nameLocation":"4676:5:1","nodeType":"VariableDeclaration","scope":6684,"src":"4663:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6669,"name":"bytes","nodeType":"ElementaryTypeName","src":"4663:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6672,"mutability":"mutable","name":"err","nameLocation":"4697:3:1","nodeType":"VariableDeclaration","scope":6684,"src":"4683:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6671,"name":"string","nodeType":"ElementaryTypeName","src":"4683:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4643:58:1"},"returnParameters":{"id":6674,"nodeType":"ParameterList","parameters":[],"src":"4724:0:1"},"scope":8712,"src":"4626:144:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6700,"nodeType":"Block","src":"4857:41:1","statements":[{"expression":{"arguments":[{"id":6696,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6687,"src":"4879:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":6697,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"4885:5:1","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":6693,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"4867:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4870:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21020,"src":"4867:11:1","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":6698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4867:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6699,"nodeType":"ExpressionStatement","src":"4867:24:1"}]},"id":6701,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4785:8:1","nodeType":"FunctionDefinition","parameters":{"id":6691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6687,"mutability":"mutable","name":"left","nameLocation":"4808:4:1","nodeType":"VariableDeclaration","scope":6701,"src":"4794:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6685,"name":"bool","nodeType":"ElementaryTypeName","src":"4794:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6686,"nodeType":"ArrayTypeName","src":"4794:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":6690,"mutability":"mutable","name":"right","nameLocation":"4828:5:1","nodeType":"VariableDeclaration","scope":6701,"src":"4814:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6688,"name":"bool","nodeType":"ElementaryTypeName","src":"4814:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6689,"nodeType":"ArrayTypeName","src":"4814:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4793:41:1"},"returnParameters":{"id":6692,"nodeType":"ParameterList","parameters":[],"src":"4857:0:1"},"scope":8712,"src":"4776:122:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6720,"nodeType":"Block","src":"5004:46:1","statements":[{"expression":{"arguments":[{"id":6715,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6704,"src":"5026:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":6716,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6707,"src":"5032:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":6717,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6709,"src":"5039:3:1","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":6712,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5014:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5017:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21032,"src":"5014:11:1","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":6718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5014:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6719,"nodeType":"ExpressionStatement","src":"5014:29:1"}]},"id":6721,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4913:8:1","nodeType":"FunctionDefinition","parameters":{"id":6710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6704,"mutability":"mutable","name":"left","nameLocation":"4936:4:1","nodeType":"VariableDeclaration","scope":6721,"src":"4922:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6702,"name":"bool","nodeType":"ElementaryTypeName","src":"4922:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6703,"nodeType":"ArrayTypeName","src":"4922:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":6707,"mutability":"mutable","name":"right","nameLocation":"4956:5:1","nodeType":"VariableDeclaration","scope":6721,"src":"4942:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6705,"name":"bool","nodeType":"ElementaryTypeName","src":"4942:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6706,"nodeType":"ArrayTypeName","src":"4942:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":6709,"mutability":"mutable","name":"err","nameLocation":"4977:3:1","nodeType":"VariableDeclaration","scope":6721,"src":"4963:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6708,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4921:60:1"},"returnParameters":{"id":6711,"nodeType":"ParameterList","parameters":[],"src":"5004:0:1"},"scope":8712,"src":"4904:146:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6737,"nodeType":"Block","src":"5143:41:1","statements":[{"expression":{"arguments":[{"id":6733,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6724,"src":"5165:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":6734,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6727,"src":"5171:5:1","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":6730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5153:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21042,"src":"5153:11:1","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":6735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6736,"nodeType":"ExpressionStatement","src":"5153:24:1"}]},"id":6738,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5065:8:1","nodeType":"FunctionDefinition","parameters":{"id":6728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6724,"mutability":"mutable","name":"left","nameLocation":"5091:4:1","nodeType":"VariableDeclaration","scope":6738,"src":"5074:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6722,"name":"uint256","nodeType":"ElementaryTypeName","src":"5074:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6723,"nodeType":"ArrayTypeName","src":"5074:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6727,"mutability":"mutable","name":"right","nameLocation":"5114:5:1","nodeType":"VariableDeclaration","scope":6738,"src":"5097:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6725,"name":"uint256","nodeType":"ElementaryTypeName","src":"5097:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6726,"nodeType":"ArrayTypeName","src":"5097:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5073:47:1"},"returnParameters":{"id":6729,"nodeType":"ParameterList","parameters":[],"src":"5143:0:1"},"scope":8712,"src":"5056:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6757,"nodeType":"Block","src":"5296:46:1","statements":[{"expression":{"arguments":[{"id":6752,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6741,"src":"5318:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":6753,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6744,"src":"5324:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":6754,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6746,"src":"5331:3:1","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":6749,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5306:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5309:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21054,"src":"5306:11:1","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":6755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5306:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6756,"nodeType":"ExpressionStatement","src":"5306:29:1"}]},"id":6758,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5199:8:1","nodeType":"FunctionDefinition","parameters":{"id":6747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6741,"mutability":"mutable","name":"left","nameLocation":"5225:4:1","nodeType":"VariableDeclaration","scope":6758,"src":"5208:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6739,"name":"uint256","nodeType":"ElementaryTypeName","src":"5208:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6740,"nodeType":"ArrayTypeName","src":"5208:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6744,"mutability":"mutable","name":"right","nameLocation":"5248:5:1","nodeType":"VariableDeclaration","scope":6758,"src":"5231:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6742,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6743,"nodeType":"ArrayTypeName","src":"5231:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":6746,"mutability":"mutable","name":"err","nameLocation":"5269:3:1","nodeType":"VariableDeclaration","scope":6758,"src":"5255:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6745,"name":"string","nodeType":"ElementaryTypeName","src":"5255:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5207:66:1"},"returnParameters":{"id":6748,"nodeType":"ParameterList","parameters":[],"src":"5296:0:1"},"scope":8712,"src":"5190:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6774,"nodeType":"Block","src":"5433:41:1","statements":[{"expression":{"arguments":[{"id":6770,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6761,"src":"5455:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":6771,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6764,"src":"5461:5:1","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":6767,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5443:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5446:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21064,"src":"5443:11:1","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":6772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5443:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6773,"nodeType":"ExpressionStatement","src":"5443:24:1"}]},"id":6775,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5357:8:1","nodeType":"FunctionDefinition","parameters":{"id":6765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6761,"mutability":"mutable","name":"left","nameLocation":"5382:4:1","nodeType":"VariableDeclaration","scope":6775,"src":"5366:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6759,"name":"int256","nodeType":"ElementaryTypeName","src":"5366:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6760,"nodeType":"ArrayTypeName","src":"5366:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":6764,"mutability":"mutable","name":"right","nameLocation":"5404:5:1","nodeType":"VariableDeclaration","scope":6775,"src":"5388:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6762,"name":"int256","nodeType":"ElementaryTypeName","src":"5388:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6763,"nodeType":"ArrayTypeName","src":"5388:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"5365:45:1"},"returnParameters":{"id":6766,"nodeType":"ParameterList","parameters":[],"src":"5433:0:1"},"scope":8712,"src":"5348:126:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6794,"nodeType":"Block","src":"5584:46:1","statements":[{"expression":{"arguments":[{"id":6789,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6778,"src":"5606:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":6790,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6781,"src":"5612:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":6791,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6783,"src":"5619:3:1","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":6786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5594:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5597:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21076,"src":"5594:11:1","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":6792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5594:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6793,"nodeType":"ExpressionStatement","src":"5594:29:1"}]},"id":6795,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5489:8:1","nodeType":"FunctionDefinition","parameters":{"id":6784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6778,"mutability":"mutable","name":"left","nameLocation":"5514:4:1","nodeType":"VariableDeclaration","scope":6795,"src":"5498:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6776,"name":"int256","nodeType":"ElementaryTypeName","src":"5498:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6777,"nodeType":"ArrayTypeName","src":"5498:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":6781,"mutability":"mutable","name":"right","nameLocation":"5536:5:1","nodeType":"VariableDeclaration","scope":6795,"src":"5520:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6779,"name":"int256","nodeType":"ElementaryTypeName","src":"5520:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6780,"nodeType":"ArrayTypeName","src":"5520:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":6783,"mutability":"mutable","name":"err","nameLocation":"5557:3:1","nodeType":"VariableDeclaration","scope":6795,"src":"5543:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6782,"name":"string","nodeType":"ElementaryTypeName","src":"5543:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5497:64:1"},"returnParameters":{"id":6785,"nodeType":"ParameterList","parameters":[],"src":"5584:0:1"},"scope":8712,"src":"5480:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6811,"nodeType":"Block","src":"5723:41:1","statements":[{"expression":{"arguments":[{"id":6807,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6798,"src":"5745:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":6808,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6801,"src":"5751:5:1","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":6804,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5733:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5736:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21094,"src":"5733:11:1","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":6809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5733:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6810,"nodeType":"ExpressionStatement","src":"5733:24:1"}]},"id":6812,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5645:8:1","nodeType":"FunctionDefinition","parameters":{"id":6802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6798,"mutability":"mutable","name":"left","nameLocation":"5671:4:1","nodeType":"VariableDeclaration","scope":6812,"src":"5654:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6796,"name":"address","nodeType":"ElementaryTypeName","src":"5654:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6797,"nodeType":"ArrayTypeName","src":"5654:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6801,"mutability":"mutable","name":"right","nameLocation":"5694:5:1","nodeType":"VariableDeclaration","scope":6812,"src":"5677:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6799,"name":"address","nodeType":"ElementaryTypeName","src":"5677:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6800,"nodeType":"ArrayTypeName","src":"5677:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5653:47:1"},"returnParameters":{"id":6803,"nodeType":"ParameterList","parameters":[],"src":"5723:0:1"},"scope":8712,"src":"5636:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6831,"nodeType":"Block","src":"5876:46:1","statements":[{"expression":{"arguments":[{"id":6826,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6815,"src":"5898:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":6827,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6818,"src":"5904:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":6828,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6820,"src":"5911:3:1","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":6823,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5886:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5889:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21106,"src":"5886:11:1","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":6829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5886:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6830,"nodeType":"ExpressionStatement","src":"5886:29:1"}]},"id":6832,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5779:8:1","nodeType":"FunctionDefinition","parameters":{"id":6821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6815,"mutability":"mutable","name":"left","nameLocation":"5805:4:1","nodeType":"VariableDeclaration","scope":6832,"src":"5788:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6813,"name":"address","nodeType":"ElementaryTypeName","src":"5788:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6814,"nodeType":"ArrayTypeName","src":"5788:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6818,"mutability":"mutable","name":"right","nameLocation":"5828:5:1","nodeType":"VariableDeclaration","scope":6832,"src":"5811:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6816,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6817,"nodeType":"ArrayTypeName","src":"5811:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":6820,"mutability":"mutable","name":"err","nameLocation":"5849:3:1","nodeType":"VariableDeclaration","scope":6832,"src":"5835:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6819,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5787:66:1"},"returnParameters":{"id":6822,"nodeType":"ParameterList","parameters":[],"src":"5876:0:1"},"scope":8712,"src":"5770:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6848,"nodeType":"Block","src":"6015:41:1","statements":[{"expression":{"arguments":[{"id":6844,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6835,"src":"6037:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":6845,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6838,"src":"6043:5:1","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":6841,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6025:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6028:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21116,"src":"6025:11:1","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":6846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6025:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6847,"nodeType":"ExpressionStatement","src":"6025:24:1"}]},"id":6849,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5937:8:1","nodeType":"FunctionDefinition","parameters":{"id":6839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6835,"mutability":"mutable","name":"left","nameLocation":"5963:4:1","nodeType":"VariableDeclaration","scope":6849,"src":"5946:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5946:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6834,"nodeType":"ArrayTypeName","src":"5946:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":6838,"mutability":"mutable","name":"right","nameLocation":"5986:5:1","nodeType":"VariableDeclaration","scope":6849,"src":"5969:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5969:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6837,"nodeType":"ArrayTypeName","src":"5969:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5945:47:1"},"returnParameters":{"id":6840,"nodeType":"ParameterList","parameters":[],"src":"6015:0:1"},"scope":8712,"src":"5928:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6868,"nodeType":"Block","src":"6168:46:1","statements":[{"expression":{"arguments":[{"id":6863,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6852,"src":"6190:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":6864,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6855,"src":"6196:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":6865,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6857,"src":"6203:3:1","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":6860,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6178:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6181:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21128,"src":"6178:11:1","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":6866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6178:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6867,"nodeType":"ExpressionStatement","src":"6178:29:1"}]},"id":6869,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6071:8:1","nodeType":"FunctionDefinition","parameters":{"id":6858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6852,"mutability":"mutable","name":"left","nameLocation":"6097:4:1","nodeType":"VariableDeclaration","scope":6869,"src":"6080:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6080:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6851,"nodeType":"ArrayTypeName","src":"6080:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":6855,"mutability":"mutable","name":"right","nameLocation":"6120:5:1","nodeType":"VariableDeclaration","scope":6869,"src":"6103:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6103:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6854,"nodeType":"ArrayTypeName","src":"6103:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":6857,"mutability":"mutable","name":"err","nameLocation":"6141:3:1","nodeType":"VariableDeclaration","scope":6869,"src":"6127:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6856,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6079:66:1"},"returnParameters":{"id":6859,"nodeType":"ParameterList","parameters":[],"src":"6168:0:1"},"scope":8712,"src":"6062:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6885,"nodeType":"Block","src":"6305:41:1","statements":[{"expression":{"arguments":[{"id":6881,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6872,"src":"6327:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":6882,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6875,"src":"6333:5:1","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":6878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6315:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6318:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"6315:11:1","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":6883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6315:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6884,"nodeType":"ExpressionStatement","src":"6315:24:1"}]},"id":6886,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6229:8:1","nodeType":"FunctionDefinition","parameters":{"id":6876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6872,"mutability":"mutable","name":"left","nameLocation":"6254:4:1","nodeType":"VariableDeclaration","scope":6886,"src":"6238:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6870,"name":"string","nodeType":"ElementaryTypeName","src":"6238:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6871,"nodeType":"ArrayTypeName","src":"6238:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6875,"mutability":"mutable","name":"right","nameLocation":"6276:5:1","nodeType":"VariableDeclaration","scope":6886,"src":"6260:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6873,"name":"string","nodeType":"ElementaryTypeName","src":"6260:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6874,"nodeType":"ArrayTypeName","src":"6260:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"6237:45:1"},"returnParameters":{"id":6877,"nodeType":"ParameterList","parameters":[],"src":"6305:0:1"},"scope":8712,"src":"6220:126:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6905,"nodeType":"Block","src":"6456:46:1","statements":[{"expression":{"arguments":[{"id":6900,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6889,"src":"6478:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":6901,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6892,"src":"6484:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":6902,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6894,"src":"6491:3:1","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":6897,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6466:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6469:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21150,"src":"6466:11:1","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":6903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6904,"nodeType":"ExpressionStatement","src":"6466:29:1"}]},"id":6906,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6361:8:1","nodeType":"FunctionDefinition","parameters":{"id":6895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6889,"mutability":"mutable","name":"left","nameLocation":"6386:4:1","nodeType":"VariableDeclaration","scope":6906,"src":"6370:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6887,"name":"string","nodeType":"ElementaryTypeName","src":"6370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6888,"nodeType":"ArrayTypeName","src":"6370:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6892,"mutability":"mutable","name":"right","nameLocation":"6408:5:1","nodeType":"VariableDeclaration","scope":6906,"src":"6392:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6890,"name":"string","nodeType":"ElementaryTypeName","src":"6392:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6891,"nodeType":"ArrayTypeName","src":"6392:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":6894,"mutability":"mutable","name":"err","nameLocation":"6429:3:1","nodeType":"VariableDeclaration","scope":6906,"src":"6415:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6893,"name":"string","nodeType":"ElementaryTypeName","src":"6415:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6369:64:1"},"returnParameters":{"id":6896,"nodeType":"ParameterList","parameters":[],"src":"6456:0:1"},"scope":8712,"src":"6352:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6922,"nodeType":"Block","src":"6591:41:1","statements":[{"expression":{"arguments":[{"id":6918,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6909,"src":"6613:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":6919,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6912,"src":"6619:5:1","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":6915,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6601:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6604:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21160,"src":"6601:11:1","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":6920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6601:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6921,"nodeType":"ExpressionStatement","src":"6601:24:1"}]},"id":6923,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6517:8:1","nodeType":"FunctionDefinition","parameters":{"id":6913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6909,"mutability":"mutable","name":"left","nameLocation":"6541:4:1","nodeType":"VariableDeclaration","scope":6923,"src":"6526:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6907,"name":"bytes","nodeType":"ElementaryTypeName","src":"6526:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6908,"nodeType":"ArrayTypeName","src":"6526:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6912,"mutability":"mutable","name":"right","nameLocation":"6562:5:1","nodeType":"VariableDeclaration","scope":6923,"src":"6547:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6910,"name":"bytes","nodeType":"ElementaryTypeName","src":"6547:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6911,"nodeType":"ArrayTypeName","src":"6547:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6525:43:1"},"returnParameters":{"id":6914,"nodeType":"ParameterList","parameters":[],"src":"6591:0:1"},"scope":8712,"src":"6508:124:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6942,"nodeType":"Block","src":"6740:46:1","statements":[{"expression":{"arguments":[{"id":6937,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"6762:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":6938,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6929,"src":"6768:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":6939,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6931,"src":"6775:3:1","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":6934,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"6750:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6753:8:1","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":21172,"src":"6750:11:1","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":6940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6750:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6941,"nodeType":"ExpressionStatement","src":"6750:29:1"}]},"id":6943,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6647:8:1","nodeType":"FunctionDefinition","parameters":{"id":6932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6926,"mutability":"mutable","name":"left","nameLocation":"6671:4:1","nodeType":"VariableDeclaration","scope":6943,"src":"6656:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6924,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6925,"nodeType":"ArrayTypeName","src":"6656:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6929,"mutability":"mutable","name":"right","nameLocation":"6692:5:1","nodeType":"VariableDeclaration","scope":6943,"src":"6677:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6927,"name":"bytes","nodeType":"ElementaryTypeName","src":"6677:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6928,"nodeType":"ArrayTypeName","src":"6677:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":6931,"mutability":"mutable","name":"err","nameLocation":"6713:3:1","nodeType":"VariableDeclaration","scope":6943,"src":"6699:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6930,"name":"string","nodeType":"ElementaryTypeName","src":"6699:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6655:62:1"},"returnParameters":{"id":6933,"nodeType":"ParameterList","parameters":[],"src":"6740:0:1"},"scope":8712,"src":"6638:148:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6955,"nodeType":"Block","src":"6886:38:1","statements":[{"expression":{"arguments":[{"id":6951,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6945,"src":"6905:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6952,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6947,"src":"6911:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6950,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"6896:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":6953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6896:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6954,"nodeType":"ExpressionStatement","src":"6896:21:1"}]},"id":6956,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"6822:12:1","nodeType":"FunctionDefinition","parameters":{"id":6948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6945,"mutability":"mutable","name":"left","nameLocation":"6843:4:1","nodeType":"VariableDeclaration","scope":6956,"src":"6835:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6944,"name":"uint256","nodeType":"ElementaryTypeName","src":"6835:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6947,"mutability":"mutable","name":"right","nameLocation":"6857:5:1","nodeType":"VariableDeclaration","scope":6956,"src":"6849:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6946,"name":"uint256","nodeType":"ElementaryTypeName","src":"6849:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6834:29:1"},"returnParameters":{"id":6949,"nodeType":"ParameterList","parameters":[],"src":"6886:0:1"},"scope":8712,"src":"6813:111:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6970,"nodeType":"Block","src":"6996:44:1","statements":[{"expression":{"arguments":[{"id":6966,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6958,"src":"7021:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6967,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6960,"src":"7027:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6963,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7006:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7009:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21622,"src":"7006:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":6968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7006:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6969,"nodeType":"ExpressionStatement","src":"7006:27:1"}]},"id":6971,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6939:11:1","nodeType":"FunctionDefinition","parameters":{"id":6961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6958,"mutability":"mutable","name":"left","nameLocation":"6956:4:1","nodeType":"VariableDeclaration","scope":6971,"src":"6951:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6957,"name":"bool","nodeType":"ElementaryTypeName","src":"6951:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6960,"mutability":"mutable","name":"right","nameLocation":"6967:5:1","nodeType":"VariableDeclaration","scope":6971,"src":"6962:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6959,"name":"bool","nodeType":"ElementaryTypeName","src":"6962:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6950:23:1"},"returnParameters":{"id":6962,"nodeType":"ParameterList","parameters":[],"src":"6996:0:1"},"scope":8712,"src":"6930:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":6988,"nodeType":"Block","src":"7131:49:1","statements":[{"expression":{"arguments":[{"id":6983,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6973,"src":"7156:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6984,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6975,"src":"7162:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6985,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6977,"src":"7169:3:1","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":6980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7141:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7144:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21632,"src":"7141:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":6986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7141:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6987,"nodeType":"ExpressionStatement","src":"7141:32:1"}]},"id":6989,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7055:11:1","nodeType":"FunctionDefinition","parameters":{"id":6978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6973,"mutability":"mutable","name":"left","nameLocation":"7072:4:1","nodeType":"VariableDeclaration","scope":6989,"src":"7067:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6972,"name":"bool","nodeType":"ElementaryTypeName","src":"7067:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6975,"mutability":"mutable","name":"right","nameLocation":"7083:5:1","nodeType":"VariableDeclaration","scope":6989,"src":"7078:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6974,"name":"bool","nodeType":"ElementaryTypeName","src":"7078:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6977,"mutability":"mutable","name":"err","nameLocation":"7104:3:1","nodeType":"VariableDeclaration","scope":6989,"src":"7090:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6976,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:42:1"},"returnParameters":{"id":6979,"nodeType":"ParameterList","parameters":[],"src":"7131:0:1"},"scope":8712,"src":"7046:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7003,"nodeType":"Block","src":"7258:44:1","statements":[{"expression":{"arguments":[{"id":6999,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7283:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7000,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6993,"src":"7289:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7268:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":6998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7271:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21742,"src":"7268:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":7001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7268:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7002,"nodeType":"ExpressionStatement","src":"7268:27:1"}]},"id":7004,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7195:11:1","nodeType":"FunctionDefinition","parameters":{"id":6994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6991,"mutability":"mutable","name":"left","nameLocation":"7215:4:1","nodeType":"VariableDeclaration","scope":7004,"src":"7207:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6990,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6993,"mutability":"mutable","name":"right","nameLocation":"7229:5:1","nodeType":"VariableDeclaration","scope":7004,"src":"7221:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6992,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:29:1"},"returnParameters":{"id":6995,"nodeType":"ParameterList","parameters":[],"src":"7258:0:1"},"scope":8712,"src":"7186:116:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7021,"nodeType":"Block","src":"7399:49:1","statements":[{"expression":{"arguments":[{"id":7016,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7006,"src":"7424:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7017,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7008,"src":"7430:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7018,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7010,"src":"7437:3:1","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":7013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7409:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7412:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21840,"src":"7409:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":7019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7409:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7020,"nodeType":"ExpressionStatement","src":"7409:32:1"}]},"id":7022,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7317:11:1","nodeType":"FunctionDefinition","parameters":{"id":7011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7006,"mutability":"mutable","name":"left","nameLocation":"7337:4:1","nodeType":"VariableDeclaration","scope":7022,"src":"7329:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7005,"name":"uint256","nodeType":"ElementaryTypeName","src":"7329:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7008,"mutability":"mutable","name":"right","nameLocation":"7351:5:1","nodeType":"VariableDeclaration","scope":7022,"src":"7343:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7007,"name":"uint256","nodeType":"ElementaryTypeName","src":"7343:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7010,"mutability":"mutable","name":"err","nameLocation":"7372:3:1","nodeType":"VariableDeclaration","scope":7022,"src":"7358:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7009,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7328:48:1"},"returnParameters":{"id":7012,"nodeType":"ParameterList","parameters":[],"src":"7399:0:1"},"scope":8712,"src":"7308:140:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7039,"nodeType":"Block","src":"7551:61:1","statements":[{"expression":{"arguments":[{"id":7034,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7024,"src":"7583:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7035,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7026,"src":"7589:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7036,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7028,"src":"7596:8:1","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":7031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7561:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7564:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":21580,"src":"7561:21:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":7037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7561:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7038,"nodeType":"ExpressionStatement","src":"7561:44:1"}]},"id":7040,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7463:18:1","nodeType":"FunctionDefinition","parameters":{"id":7029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7024,"mutability":"mutable","name":"left","nameLocation":"7490:4:1","nodeType":"VariableDeclaration","scope":7040,"src":"7482:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7023,"name":"uint256","nodeType":"ElementaryTypeName","src":"7482:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7026,"mutability":"mutable","name":"right","nameLocation":"7504:5:1","nodeType":"VariableDeclaration","scope":7040,"src":"7496:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7025,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7028,"mutability":"mutable","name":"decimals","nameLocation":"7519:8:1","nodeType":"VariableDeclaration","scope":7040,"src":"7511:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7027,"name":"uint256","nodeType":"ElementaryTypeName","src":"7511:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7481:47:1"},"returnParameters":{"id":7030,"nodeType":"ParameterList","parameters":[],"src":"7551:0:1"},"scope":8712,"src":"7454:158:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7060,"nodeType":"Block","src":"7762:66:1","statements":[{"expression":{"arguments":[{"id":7054,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7042,"src":"7794:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7055,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7044,"src":"7800:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7056,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7046,"src":"7807:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7057,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7048,"src":"7817:3:1","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":7051,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7772:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7775:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":21592,"src":"7772:21:1","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":7058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7772:49:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7059,"nodeType":"ExpressionStatement","src":"7772:49:1"}]},"id":7061,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7627:18:1","nodeType":"FunctionDefinition","parameters":{"id":7049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7042,"mutability":"mutable","name":"left","nameLocation":"7654:4:1","nodeType":"VariableDeclaration","scope":7061,"src":"7646:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7041,"name":"uint256","nodeType":"ElementaryTypeName","src":"7646:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7044,"mutability":"mutable","name":"right","nameLocation":"7668:5:1","nodeType":"VariableDeclaration","scope":7061,"src":"7660:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7043,"name":"uint256","nodeType":"ElementaryTypeName","src":"7660:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7046,"mutability":"mutable","name":"decimals","nameLocation":"7683:8:1","nodeType":"VariableDeclaration","scope":7061,"src":"7675:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7045,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7048,"mutability":"mutable","name":"err","nameLocation":"7707:3:1","nodeType":"VariableDeclaration","scope":7061,"src":"7693:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7047,"name":"string","nodeType":"ElementaryTypeName","src":"7693:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7645:66:1"},"returnParameters":{"id":7050,"nodeType":"ParameterList","parameters":[],"src":"7762:0:1"},"scope":8712,"src":"7618:210:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7075,"nodeType":"Block","src":"7904:44:1","statements":[{"expression":{"arguments":[{"id":7071,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7063,"src":"7929:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7072,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7065,"src":"7935:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":7068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"7914:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21848,"src":"7914:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":7073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7914:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7074,"nodeType":"ExpressionStatement","src":"7914:27:1"}]},"id":7076,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7843:11:1","nodeType":"FunctionDefinition","parameters":{"id":7066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7063,"mutability":"mutable","name":"left","nameLocation":"7862:4:1","nodeType":"VariableDeclaration","scope":7076,"src":"7855:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7062,"name":"int256","nodeType":"ElementaryTypeName","src":"7855:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7065,"mutability":"mutable","name":"right","nameLocation":"7875:5:1","nodeType":"VariableDeclaration","scope":7076,"src":"7868:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7064,"name":"int256","nodeType":"ElementaryTypeName","src":"7868:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7854:27:1"},"returnParameters":{"id":7067,"nodeType":"ParameterList","parameters":[],"src":"7904:0:1"},"scope":8712,"src":"7834:114:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7093,"nodeType":"Block","src":"8043:49:1","statements":[{"expression":{"arguments":[{"id":7088,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7078,"src":"8068:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7089,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7080,"src":"8074:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7090,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7082,"src":"8081:3:1","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":7085,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8053:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8056:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21858,"src":"8053:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":7091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8053:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7092,"nodeType":"ExpressionStatement","src":"8053:32:1"}]},"id":7094,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7963:11:1","nodeType":"FunctionDefinition","parameters":{"id":7083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7078,"mutability":"mutable","name":"left","nameLocation":"7982:4:1","nodeType":"VariableDeclaration","scope":7094,"src":"7975:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7077,"name":"int256","nodeType":"ElementaryTypeName","src":"7975:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7080,"mutability":"mutable","name":"right","nameLocation":"7995:5:1","nodeType":"VariableDeclaration","scope":7094,"src":"7988:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7079,"name":"int256","nodeType":"ElementaryTypeName","src":"7988:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7082,"mutability":"mutable","name":"err","nameLocation":"8016:3:1","nodeType":"VariableDeclaration","scope":7094,"src":"8002:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7081,"name":"string","nodeType":"ElementaryTypeName","src":"8002:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7974:46:1"},"returnParameters":{"id":7084,"nodeType":"ParameterList","parameters":[],"src":"8043:0:1"},"scope":8712,"src":"7954:138:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7111,"nodeType":"Block","src":"8193:61:1","statements":[{"expression":{"arguments":[{"id":7106,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7096,"src":"8225:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7107,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7098,"src":"8231:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7108,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7100,"src":"8238:8:1","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":7103,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8203:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8206:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":21602,"src":"8203:21:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":7109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8203:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7110,"nodeType":"ExpressionStatement","src":"8203:44:1"}]},"id":7112,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8107:18:1","nodeType":"FunctionDefinition","parameters":{"id":7101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7096,"mutability":"mutable","name":"left","nameLocation":"8133:4:1","nodeType":"VariableDeclaration","scope":7112,"src":"8126:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7095,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7098,"mutability":"mutable","name":"right","nameLocation":"8146:5:1","nodeType":"VariableDeclaration","scope":7112,"src":"8139:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7097,"name":"int256","nodeType":"ElementaryTypeName","src":"8139:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7100,"mutability":"mutable","name":"decimals","nameLocation":"8161:8:1","nodeType":"VariableDeclaration","scope":7112,"src":"8153:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7099,"name":"uint256","nodeType":"ElementaryTypeName","src":"8153:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8125:45:1"},"returnParameters":{"id":7102,"nodeType":"ParameterList","parameters":[],"src":"8193:0:1"},"scope":8712,"src":"8098:156:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7132,"nodeType":"Block","src":"8374:66:1","statements":[{"expression":{"arguments":[{"id":7126,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7114,"src":"8406:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7127,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7116,"src":"8412:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7128,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7118,"src":"8419:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7129,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7120,"src":"8429:3:1","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":7123,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8384:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8387:18:1","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":21614,"src":"8384:21:1","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":7130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:49:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7131,"nodeType":"ExpressionStatement","src":"8384:49:1"}]},"id":7133,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8269:18:1","nodeType":"FunctionDefinition","parameters":{"id":7121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7114,"mutability":"mutable","name":"left","nameLocation":"8295:4:1","nodeType":"VariableDeclaration","scope":7133,"src":"8288:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7113,"name":"int256","nodeType":"ElementaryTypeName","src":"8288:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7116,"mutability":"mutable","name":"right","nameLocation":"8308:5:1","nodeType":"VariableDeclaration","scope":7133,"src":"8301:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7115,"name":"int256","nodeType":"ElementaryTypeName","src":"8301:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7118,"mutability":"mutable","name":"decimals","nameLocation":"8323:8:1","nodeType":"VariableDeclaration","scope":7133,"src":"8315:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7117,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7120,"mutability":"mutable","name":"err","nameLocation":"8347:3:1","nodeType":"VariableDeclaration","scope":7133,"src":"8333:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7119,"name":"string","nodeType":"ElementaryTypeName","src":"8333:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:64:1"},"returnParameters":{"id":7122,"nodeType":"ParameterList","parameters":[],"src":"8374:0:1"},"scope":8712,"src":"8260:180:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7147,"nodeType":"Block","src":"8518:44:1","statements":[{"expression":{"arguments":[{"id":7143,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7135,"src":"8543:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7144,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7137,"src":"8549:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7140,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8528:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21866,"src":"8528:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":7145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8528:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7146,"nodeType":"ExpressionStatement","src":"8528:27:1"}]},"id":7148,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8455:11:1","nodeType":"FunctionDefinition","parameters":{"id":7138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7135,"mutability":"mutable","name":"left","nameLocation":"8475:4:1","nodeType":"VariableDeclaration","scope":7148,"src":"8467:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7134,"name":"address","nodeType":"ElementaryTypeName","src":"8467:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7137,"mutability":"mutable","name":"right","nameLocation":"8489:5:1","nodeType":"VariableDeclaration","scope":7148,"src":"8481:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7136,"name":"address","nodeType":"ElementaryTypeName","src":"8481:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8466:29:1"},"returnParameters":{"id":7139,"nodeType":"ParameterList","parameters":[],"src":"8518:0:1"},"scope":8712,"src":"8446:116:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7165,"nodeType":"Block","src":"8659:49:1","statements":[{"expression":{"arguments":[{"id":7160,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7150,"src":"8684:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7161,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7152,"src":"8690:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7162,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7154,"src":"8697:3:1","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":7157,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8669:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8672:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21876,"src":"8669:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":7163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8669:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7164,"nodeType":"ExpressionStatement","src":"8669:32:1"}]},"id":7166,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8577:11:1","nodeType":"FunctionDefinition","parameters":{"id":7155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7150,"mutability":"mutable","name":"left","nameLocation":"8597:4:1","nodeType":"VariableDeclaration","scope":7166,"src":"8589:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7149,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7152,"mutability":"mutable","name":"right","nameLocation":"8611:5:1","nodeType":"VariableDeclaration","scope":7166,"src":"8603:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7151,"name":"address","nodeType":"ElementaryTypeName","src":"8603:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7154,"mutability":"mutable","name":"err","nameLocation":"8632:3:1","nodeType":"VariableDeclaration","scope":7166,"src":"8618:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7153,"name":"string","nodeType":"ElementaryTypeName","src":"8618:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8588:48:1"},"returnParameters":{"id":7156,"nodeType":"ParameterList","parameters":[],"src":"8659:0:1"},"scope":8712,"src":"8568:140:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7180,"nodeType":"Block","src":"8786:44:1","statements":[{"expression":{"arguments":[{"id":7176,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7168,"src":"8811:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7177,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7170,"src":"8817:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7173,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8796:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8799:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21884,"src":"8796:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":7178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8796:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7179,"nodeType":"ExpressionStatement","src":"8796:27:1"}]},"id":7181,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8723:11:1","nodeType":"FunctionDefinition","parameters":{"id":7171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7168,"mutability":"mutable","name":"left","nameLocation":"8743:4:1","nodeType":"VariableDeclaration","scope":7181,"src":"8735:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8735:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7170,"mutability":"mutable","name":"right","nameLocation":"8757:5:1","nodeType":"VariableDeclaration","scope":7181,"src":"8749:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8749:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8734:29:1"},"returnParameters":{"id":7172,"nodeType":"ParameterList","parameters":[],"src":"8786:0:1"},"scope":8712,"src":"8714:116:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7198,"nodeType":"Block","src":"8927:49:1","statements":[{"expression":{"arguments":[{"id":7193,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7183,"src":"8952:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7194,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"8958:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7195,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7187,"src":"8965:3:1","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":7190,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"8937:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8940:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21894,"src":"8937:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":7196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8937:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7197,"nodeType":"ExpressionStatement","src":"8937:32:1"}]},"id":7199,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:1","nodeType":"FunctionDefinition","parameters":{"id":7188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7183,"mutability":"mutable","name":"left","nameLocation":"8865:4:1","nodeType":"VariableDeclaration","scope":7199,"src":"8857:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8857:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7185,"mutability":"mutable","name":"right","nameLocation":"8879:5:1","nodeType":"VariableDeclaration","scope":7199,"src":"8871:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8871:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7187,"mutability":"mutable","name":"err","nameLocation":"8900:3:1","nodeType":"VariableDeclaration","scope":7199,"src":"8886:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7186,"name":"string","nodeType":"ElementaryTypeName","src":"8886:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8856:48:1"},"returnParameters":{"id":7189,"nodeType":"ParameterList","parameters":[],"src":"8927:0:1"},"scope":8712,"src":"8836:140:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7211,"nodeType":"Block","src":"9056:41:1","statements":[{"expression":{"arguments":[{"id":7207,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7201,"src":"9078:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7208,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7203,"src":"9084:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7206,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[6971,6989,7004,7022,7076,7094,7148,7166,7181,7199,7243,7261,7276,7294,7311,7331,7348,7368,7385,7405,7422,7442,7459,7479,7496,7516,7533,7553],"referencedDeclaration":7181,"src":"9066:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":7209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9066:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7210,"nodeType":"ExpressionStatement","src":"9066:24:1"}]},"id":7212,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"8991:13:1","nodeType":"FunctionDefinition","parameters":{"id":7204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7201,"mutability":"mutable","name":"left","nameLocation":"9013:4:1","nodeType":"VariableDeclaration","scope":7212,"src":"9005:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9005:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7203,"mutability":"mutable","name":"right","nameLocation":"9027:5:1","nodeType":"VariableDeclaration","scope":7212,"src":"9019:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9019:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9004:29:1"},"returnParameters":{"id":7205,"nodeType":"ParameterList","parameters":[],"src":"9056:0:1"},"scope":8712,"src":"8982:115:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7227,"nodeType":"Block","src":"9196:46:1","statements":[{"expression":{"arguments":[{"id":7222,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7214,"src":"9218:4:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7223,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"9224:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7224,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7218,"src":"9231:3:1","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":7221,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[6971,6989,7004,7022,7076,7094,7148,7166,7181,7199,7243,7261,7276,7294,7311,7331,7348,7368,7385,7405,7422,7442,7459,7479,7496,7516,7533,7553],"referencedDeclaration":7199,"src":"9206:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":7225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9206:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7226,"nodeType":"ExpressionStatement","src":"9206:29:1"}]},"id":7228,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"9112:13:1","nodeType":"FunctionDefinition","parameters":{"id":7219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7214,"mutability":"mutable","name":"left","nameLocation":"9134:4:1","nodeType":"VariableDeclaration","scope":7228,"src":"9126:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9126:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7216,"mutability":"mutable","name":"right","nameLocation":"9148:5:1","nodeType":"VariableDeclaration","scope":7228,"src":"9140:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7218,"mutability":"mutable","name":"err","nameLocation":"9169:3:1","nodeType":"VariableDeclaration","scope":7228,"src":"9155:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7217,"name":"string","nodeType":"ElementaryTypeName","src":"9155:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9125:48:1"},"returnParameters":{"id":7220,"nodeType":"ParameterList","parameters":[],"src":"9196:0:1"},"scope":8712,"src":"9103:139:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7242,"nodeType":"Block","src":"9332:44:1","statements":[{"expression":{"arguments":[{"id":7238,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7230,"src":"9357:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7239,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7232,"src":"9363:5:1","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":7235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"9342:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9345:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21640,"src":"9342:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":7240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9342:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7241,"nodeType":"ExpressionStatement","src":"9342:27:1"}]},"id":7243,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9257:11:1","nodeType":"FunctionDefinition","parameters":{"id":7233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7230,"mutability":"mutable","name":"left","nameLocation":"9283:4:1","nodeType":"VariableDeclaration","scope":7243,"src":"9269:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7229,"name":"string","nodeType":"ElementaryTypeName","src":"9269:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7232,"mutability":"mutable","name":"right","nameLocation":"9303:5:1","nodeType":"VariableDeclaration","scope":7243,"src":"9289:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7231,"name":"string","nodeType":"ElementaryTypeName","src":"9289:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9268:41:1"},"returnParameters":{"id":7234,"nodeType":"ParameterList","parameters":[],"src":"9332:0:1"},"scope":8712,"src":"9248:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7260,"nodeType":"Block","src":"9485:49:1","statements":[{"expression":{"arguments":[{"id":7255,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7245,"src":"9510:4:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7256,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7247,"src":"9516:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7257,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7249,"src":"9523:3:1","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":7252,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"9495:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9498:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21650,"src":"9495:14:1","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":7258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7259,"nodeType":"ExpressionStatement","src":"9495:32:1"}]},"id":7261,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9391:11:1","nodeType":"FunctionDefinition","parameters":{"id":7250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7245,"mutability":"mutable","name":"left","nameLocation":"9417:4:1","nodeType":"VariableDeclaration","scope":7261,"src":"9403:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7244,"name":"string","nodeType":"ElementaryTypeName","src":"9403:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7247,"mutability":"mutable","name":"right","nameLocation":"9437:5:1","nodeType":"VariableDeclaration","scope":7261,"src":"9423:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7246,"name":"string","nodeType":"ElementaryTypeName","src":"9423:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7249,"mutability":"mutable","name":"err","nameLocation":"9458:3:1","nodeType":"VariableDeclaration","scope":7261,"src":"9444:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7248,"name":"string","nodeType":"ElementaryTypeName","src":"9444:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9402:60:1"},"returnParameters":{"id":7251,"nodeType":"ParameterList","parameters":[],"src":"9485:0:1"},"scope":8712,"src":"9382:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7275,"nodeType":"Block","src":"9622:44:1","statements":[{"expression":{"arguments":[{"id":7271,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7263,"src":"9647:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7272,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7265,"src":"9653:5:1","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":7268,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"9632:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21658,"src":"9632:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9632:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7274,"nodeType":"ExpressionStatement","src":"9632:27:1"}]},"id":7276,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9549:11:1","nodeType":"FunctionDefinition","parameters":{"id":7266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7263,"mutability":"mutable","name":"left","nameLocation":"9574:4:1","nodeType":"VariableDeclaration","scope":7276,"src":"9561:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7262,"name":"bytes","nodeType":"ElementaryTypeName","src":"9561:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":7265,"mutability":"mutable","name":"right","nameLocation":"9593:5:1","nodeType":"VariableDeclaration","scope":7276,"src":"9580:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7264,"name":"bytes","nodeType":"ElementaryTypeName","src":"9580:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9560:39:1"},"returnParameters":{"id":7267,"nodeType":"ParameterList","parameters":[],"src":"9622:0:1"},"scope":8712,"src":"9540:126:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7293,"nodeType":"Block","src":"9773:49:1","statements":[{"expression":{"arguments":[{"id":7288,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7278,"src":"9798:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7289,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"9804:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":7290,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7282,"src":"9811:3:1","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":7285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"9783:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9786:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21668,"src":"9783:14:1","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":7291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9783:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7292,"nodeType":"ExpressionStatement","src":"9783:32:1"}]},"id":7294,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9681:11:1","nodeType":"FunctionDefinition","parameters":{"id":7283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7278,"mutability":"mutable","name":"left","nameLocation":"9706:4:1","nodeType":"VariableDeclaration","scope":7294,"src":"9693:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7277,"name":"bytes","nodeType":"ElementaryTypeName","src":"9693:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":7280,"mutability":"mutable","name":"right","nameLocation":"9725:5:1","nodeType":"VariableDeclaration","scope":7294,"src":"9712:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7279,"name":"bytes","nodeType":"ElementaryTypeName","src":"9712:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":7282,"mutability":"mutable","name":"err","nameLocation":"9746:3:1","nodeType":"VariableDeclaration","scope":7294,"src":"9732:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7281,"name":"string","nodeType":"ElementaryTypeName","src":"9732:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9692:58:1"},"returnParameters":{"id":7284,"nodeType":"ParameterList","parameters":[],"src":"9773:0:1"},"scope":8712,"src":"9672:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7310,"nodeType":"Block","src":"9912:44:1","statements":[{"expression":{"arguments":[{"id":7306,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7297,"src":"9937:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":7307,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7300,"src":"9943:5:1","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":7303,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"9922:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9925:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21678,"src":"9922:14:1","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":7308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9922:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7309,"nodeType":"ExpressionStatement","src":"9922:27:1"}]},"id":7311,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9837:11:1","nodeType":"FunctionDefinition","parameters":{"id":7301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7297,"mutability":"mutable","name":"left","nameLocation":"9863:4:1","nodeType":"VariableDeclaration","scope":7311,"src":"9849:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7295,"name":"bool","nodeType":"ElementaryTypeName","src":"9849:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7296,"nodeType":"ArrayTypeName","src":"9849:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":7300,"mutability":"mutable","name":"right","nameLocation":"9883:5:1","nodeType":"VariableDeclaration","scope":7311,"src":"9869:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7298,"name":"bool","nodeType":"ElementaryTypeName","src":"9869:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7299,"nodeType":"ArrayTypeName","src":"9869:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9848:41:1"},"returnParameters":{"id":7302,"nodeType":"ParameterList","parameters":[],"src":"9912:0:1"},"scope":8712,"src":"9828:128:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7330,"nodeType":"Block","src":"10065:49:1","statements":[{"expression":{"arguments":[{"id":7325,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7314,"src":"10090:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":7326,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7317,"src":"10096:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":7327,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7319,"src":"10103:3:1","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":7322,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10075:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10078:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21690,"src":"10075:14:1","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":7328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10075:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7329,"nodeType":"ExpressionStatement","src":"10075:32:1"}]},"id":7331,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9971:11:1","nodeType":"FunctionDefinition","parameters":{"id":7320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7314,"mutability":"mutable","name":"left","nameLocation":"9997:4:1","nodeType":"VariableDeclaration","scope":7331,"src":"9983:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7312,"name":"bool","nodeType":"ElementaryTypeName","src":"9983:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7313,"nodeType":"ArrayTypeName","src":"9983:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":7317,"mutability":"mutable","name":"right","nameLocation":"10017:5:1","nodeType":"VariableDeclaration","scope":7331,"src":"10003:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7315,"name":"bool","nodeType":"ElementaryTypeName","src":"10003:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7316,"nodeType":"ArrayTypeName","src":"10003:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":7319,"mutability":"mutable","name":"err","nameLocation":"10038:3:1","nodeType":"VariableDeclaration","scope":7331,"src":"10024:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7318,"name":"string","nodeType":"ElementaryTypeName","src":"10024:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:60:1"},"returnParameters":{"id":7321,"nodeType":"ParameterList","parameters":[],"src":"10065:0:1"},"scope":8712,"src":"9962:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7347,"nodeType":"Block","src":"10210:44:1","statements":[{"expression":{"arguments":[{"id":7343,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7334,"src":"10235:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7344,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7337,"src":"10241:5:1","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":7340,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10220:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10223:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21700,"src":"10220:14:1","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":7345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10220:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7346,"nodeType":"ExpressionStatement","src":"10220:27:1"}]},"id":7348,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10129:11:1","nodeType":"FunctionDefinition","parameters":{"id":7338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7334,"mutability":"mutable","name":"left","nameLocation":"10158:4:1","nodeType":"VariableDeclaration","scope":7348,"src":"10141:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7332,"name":"uint256","nodeType":"ElementaryTypeName","src":"10141:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7333,"nodeType":"ArrayTypeName","src":"10141:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7337,"mutability":"mutable","name":"right","nameLocation":"10181:5:1","nodeType":"VariableDeclaration","scope":7348,"src":"10164:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7335,"name":"uint256","nodeType":"ElementaryTypeName","src":"10164:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7336,"nodeType":"ArrayTypeName","src":"10164:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10140:47:1"},"returnParameters":{"id":7339,"nodeType":"ParameterList","parameters":[],"src":"10210:0:1"},"scope":8712,"src":"10120:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7367,"nodeType":"Block","src":"10369:49:1","statements":[{"expression":{"arguments":[{"id":7362,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7351,"src":"10394:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7363,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7354,"src":"10400:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":7364,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7356,"src":"10407:3:1","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":7359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10379:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10382:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21712,"src":"10379:14:1","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":7365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10379:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7366,"nodeType":"ExpressionStatement","src":"10379:32:1"}]},"id":7368,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10269:11:1","nodeType":"FunctionDefinition","parameters":{"id":7357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7351,"mutability":"mutable","name":"left","nameLocation":"10298:4:1","nodeType":"VariableDeclaration","scope":7368,"src":"10281:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7349,"name":"uint256","nodeType":"ElementaryTypeName","src":"10281:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7350,"nodeType":"ArrayTypeName","src":"10281:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7354,"mutability":"mutable","name":"right","nameLocation":"10321:5:1","nodeType":"VariableDeclaration","scope":7368,"src":"10304:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7352,"name":"uint256","nodeType":"ElementaryTypeName","src":"10304:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7353,"nodeType":"ArrayTypeName","src":"10304:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":7356,"mutability":"mutable","name":"err","nameLocation":"10342:3:1","nodeType":"VariableDeclaration","scope":7368,"src":"10328:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7355,"name":"string","nodeType":"ElementaryTypeName","src":"10328:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10280:66:1"},"returnParameters":{"id":7358,"nodeType":"ParameterList","parameters":[],"src":"10369:0:1"},"scope":8712,"src":"10260:158:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7384,"nodeType":"Block","src":"10512:44:1","statements":[{"expression":{"arguments":[{"id":7380,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7371,"src":"10537:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":7381,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7374,"src":"10543:5:1","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":7377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10522:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10525:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21722,"src":"10522:14:1","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":7382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10522:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7383,"nodeType":"ExpressionStatement","src":"10522:27:1"}]},"id":7385,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10433:11:1","nodeType":"FunctionDefinition","parameters":{"id":7375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7371,"mutability":"mutable","name":"left","nameLocation":"10461:4:1","nodeType":"VariableDeclaration","scope":7385,"src":"10445:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7369,"name":"int256","nodeType":"ElementaryTypeName","src":"10445:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7370,"nodeType":"ArrayTypeName","src":"10445:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":7374,"mutability":"mutable","name":"right","nameLocation":"10483:5:1","nodeType":"VariableDeclaration","scope":7385,"src":"10467:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7372,"name":"int256","nodeType":"ElementaryTypeName","src":"10467:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7373,"nodeType":"ArrayTypeName","src":"10467:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"10444:45:1"},"returnParameters":{"id":7376,"nodeType":"ParameterList","parameters":[],"src":"10512:0:1"},"scope":8712,"src":"10424:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7404,"nodeType":"Block","src":"10669:49:1","statements":[{"expression":{"arguments":[{"id":7399,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7388,"src":"10694:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":7400,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7391,"src":"10700:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":7401,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7393,"src":"10707:3:1","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":7396,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10679:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10682:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21734,"src":"10679:14:1","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":7402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10679:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7403,"nodeType":"ExpressionStatement","src":"10679:32:1"}]},"id":7405,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10571:11:1","nodeType":"FunctionDefinition","parameters":{"id":7394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7388,"mutability":"mutable","name":"left","nameLocation":"10599:4:1","nodeType":"VariableDeclaration","scope":7405,"src":"10583:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7386,"name":"int256","nodeType":"ElementaryTypeName","src":"10583:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7387,"nodeType":"ArrayTypeName","src":"10583:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":7391,"mutability":"mutable","name":"right","nameLocation":"10621:5:1","nodeType":"VariableDeclaration","scope":7405,"src":"10605:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7389,"name":"int256","nodeType":"ElementaryTypeName","src":"10605:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7390,"nodeType":"ArrayTypeName","src":"10605:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":7393,"mutability":"mutable","name":"err","nameLocation":"10642:3:1","nodeType":"VariableDeclaration","scope":7405,"src":"10628:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7392,"name":"string","nodeType":"ElementaryTypeName","src":"10628:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10582:64:1"},"returnParameters":{"id":7395,"nodeType":"ParameterList","parameters":[],"src":"10669:0:1"},"scope":8712,"src":"10562:156:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7421,"nodeType":"Block","src":"10814:44:1","statements":[{"expression":{"arguments":[{"id":7417,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7408,"src":"10839:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7418,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7411,"src":"10845:5:1","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":7414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10824:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10827:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21752,"src":"10824:14:1","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":7419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10824:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7420,"nodeType":"ExpressionStatement","src":"10824:27:1"}]},"id":7422,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10733:11:1","nodeType":"FunctionDefinition","parameters":{"id":7412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7408,"mutability":"mutable","name":"left","nameLocation":"10762:4:1","nodeType":"VariableDeclaration","scope":7422,"src":"10745:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7406,"name":"address","nodeType":"ElementaryTypeName","src":"10745:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7407,"nodeType":"ArrayTypeName","src":"10745:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7411,"mutability":"mutable","name":"right","nameLocation":"10785:5:1","nodeType":"VariableDeclaration","scope":7422,"src":"10768:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7409,"name":"address","nodeType":"ElementaryTypeName","src":"10768:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7410,"nodeType":"ArrayTypeName","src":"10768:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10744:47:1"},"returnParameters":{"id":7413,"nodeType":"ParameterList","parameters":[],"src":"10814:0:1"},"scope":8712,"src":"10724:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7441,"nodeType":"Block","src":"10973:49:1","statements":[{"expression":{"arguments":[{"id":7436,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7425,"src":"10998:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7437,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7428,"src":"11004:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":7438,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7430,"src":"11011:3:1","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":7433,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"10983:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10986:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21764,"src":"10983:14:1","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":7439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10983:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7440,"nodeType":"ExpressionStatement","src":"10983:32:1"}]},"id":7442,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10873:11:1","nodeType":"FunctionDefinition","parameters":{"id":7431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7425,"mutability":"mutable","name":"left","nameLocation":"10902:4:1","nodeType":"VariableDeclaration","scope":7442,"src":"10885:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7423,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7424,"nodeType":"ArrayTypeName","src":"10885:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7428,"mutability":"mutable","name":"right","nameLocation":"10925:5:1","nodeType":"VariableDeclaration","scope":7442,"src":"10908:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7426,"name":"address","nodeType":"ElementaryTypeName","src":"10908:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7427,"nodeType":"ArrayTypeName","src":"10908:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":7430,"mutability":"mutable","name":"err","nameLocation":"10946:3:1","nodeType":"VariableDeclaration","scope":7442,"src":"10932:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7429,"name":"string","nodeType":"ElementaryTypeName","src":"10932:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:66:1"},"returnParameters":{"id":7432,"nodeType":"ParameterList","parameters":[],"src":"10973:0:1"},"scope":8712,"src":"10864:158:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7458,"nodeType":"Block","src":"11118:44:1","statements":[{"expression":{"arguments":[{"id":7454,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7445,"src":"11143:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7455,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7448,"src":"11149:5:1","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":7451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11128:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11131:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21774,"src":"11128:14:1","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":7456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11128:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7457,"nodeType":"ExpressionStatement","src":"11128:27:1"}]},"id":7459,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11037:11:1","nodeType":"FunctionDefinition","parameters":{"id":7449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7445,"mutability":"mutable","name":"left","nameLocation":"11066:4:1","nodeType":"VariableDeclaration","scope":7459,"src":"11049:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11049:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7444,"nodeType":"ArrayTypeName","src":"11049:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":7448,"mutability":"mutable","name":"right","nameLocation":"11089:5:1","nodeType":"VariableDeclaration","scope":7459,"src":"11072:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7447,"nodeType":"ArrayTypeName","src":"11072:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11048:47:1"},"returnParameters":{"id":7450,"nodeType":"ParameterList","parameters":[],"src":"11118:0:1"},"scope":8712,"src":"11028:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7478,"nodeType":"Block","src":"11277:49:1","statements":[{"expression":{"arguments":[{"id":7473,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7462,"src":"11302:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7474,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"11308:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7475,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7467,"src":"11315:3:1","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":7470,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11287:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11290:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21786,"src":"11287:14:1","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":7476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7477,"nodeType":"ExpressionStatement","src":"11287:32:1"}]},"id":7479,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11177:11:1","nodeType":"FunctionDefinition","parameters":{"id":7468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7462,"mutability":"mutable","name":"left","nameLocation":"11206:4:1","nodeType":"VariableDeclaration","scope":7479,"src":"11189:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11189:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7461,"nodeType":"ArrayTypeName","src":"11189:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":7465,"mutability":"mutable","name":"right","nameLocation":"11229:5:1","nodeType":"VariableDeclaration","scope":7479,"src":"11212:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11212:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7464,"nodeType":"ArrayTypeName","src":"11212:9:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":7467,"mutability":"mutable","name":"err","nameLocation":"11250:3:1","nodeType":"VariableDeclaration","scope":7479,"src":"11236:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7466,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11188:66:1"},"returnParameters":{"id":7469,"nodeType":"ParameterList","parameters":[],"src":"11277:0:1"},"scope":8712,"src":"11168:158:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7495,"nodeType":"Block","src":"11420:44:1","statements":[{"expression":{"arguments":[{"id":7491,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7482,"src":"11445:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":7492,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7485,"src":"11451:5:1","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":7488,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11430:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11433:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21796,"src":"11430:14:1","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":7493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11430:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7494,"nodeType":"ExpressionStatement","src":"11430:27:1"}]},"id":7496,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11341:11:1","nodeType":"FunctionDefinition","parameters":{"id":7486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7482,"mutability":"mutable","name":"left","nameLocation":"11369:4:1","nodeType":"VariableDeclaration","scope":7496,"src":"11353:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7480,"name":"string","nodeType":"ElementaryTypeName","src":"11353:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7481,"nodeType":"ArrayTypeName","src":"11353:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":7485,"mutability":"mutable","name":"right","nameLocation":"11391:5:1","nodeType":"VariableDeclaration","scope":7496,"src":"11375:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7483,"name":"string","nodeType":"ElementaryTypeName","src":"11375:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7484,"nodeType":"ArrayTypeName","src":"11375:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"11352:45:1"},"returnParameters":{"id":7487,"nodeType":"ParameterList","parameters":[],"src":"11420:0:1"},"scope":8712,"src":"11332:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7515,"nodeType":"Block","src":"11577:49:1","statements":[{"expression":{"arguments":[{"id":7510,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7499,"src":"11602:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":7511,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7502,"src":"11608:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":7512,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7504,"src":"11615:3:1","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":7507,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11587:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11590:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21808,"src":"11587:14:1","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":7513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11587:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7514,"nodeType":"ExpressionStatement","src":"11587:32:1"}]},"id":7516,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11479:11:1","nodeType":"FunctionDefinition","parameters":{"id":7505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7499,"mutability":"mutable","name":"left","nameLocation":"11507:4:1","nodeType":"VariableDeclaration","scope":7516,"src":"11491:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7497,"name":"string","nodeType":"ElementaryTypeName","src":"11491:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7498,"nodeType":"ArrayTypeName","src":"11491:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":7502,"mutability":"mutable","name":"right","nameLocation":"11529:5:1","nodeType":"VariableDeclaration","scope":7516,"src":"11513:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7500,"name":"string","nodeType":"ElementaryTypeName","src":"11513:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7501,"nodeType":"ArrayTypeName","src":"11513:8:1","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":7504,"mutability":"mutable","name":"err","nameLocation":"11550:3:1","nodeType":"VariableDeclaration","scope":7516,"src":"11536:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7503,"name":"string","nodeType":"ElementaryTypeName","src":"11536:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11490:64:1"},"returnParameters":{"id":7506,"nodeType":"ParameterList","parameters":[],"src":"11577:0:1"},"scope":8712,"src":"11470:156:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7532,"nodeType":"Block","src":"11718:44:1","statements":[{"expression":{"arguments":[{"id":7528,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7519,"src":"11743:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7529,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7522,"src":"11749:5:1","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":7525,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11728:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11731:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21818,"src":"11728:14:1","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":7530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11728:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7531,"nodeType":"ExpressionStatement","src":"11728:27:1"}]},"id":7533,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11641:11:1","nodeType":"FunctionDefinition","parameters":{"id":7523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7519,"mutability":"mutable","name":"left","nameLocation":"11668:4:1","nodeType":"VariableDeclaration","scope":7533,"src":"11653:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7517,"name":"bytes","nodeType":"ElementaryTypeName","src":"11653:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7518,"nodeType":"ArrayTypeName","src":"11653:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7522,"mutability":"mutable","name":"right","nameLocation":"11689:5:1","nodeType":"VariableDeclaration","scope":7533,"src":"11674:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7520,"name":"bytes","nodeType":"ElementaryTypeName","src":"11674:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7521,"nodeType":"ArrayTypeName","src":"11674:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11652:43:1"},"returnParameters":{"id":7524,"nodeType":"ParameterList","parameters":[],"src":"11718:0:1"},"scope":8712,"src":"11632:130:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7552,"nodeType":"Block","src":"11873:49:1","statements":[{"expression":{"arguments":[{"id":7547,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7536,"src":"11898:4:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7548,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7539,"src":"11904:5:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":7549,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7541,"src":"11911:3:1","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":7544,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"11883:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11886:11:1","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":21830,"src":"11883:14:1","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":7550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11883:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7551,"nodeType":"ExpressionStatement","src":"11883:32:1"}]},"id":7553,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11777:11:1","nodeType":"FunctionDefinition","parameters":{"id":7542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7536,"mutability":"mutable","name":"left","nameLocation":"11804:4:1","nodeType":"VariableDeclaration","scope":7553,"src":"11789:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7534,"name":"bytes","nodeType":"ElementaryTypeName","src":"11789:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7535,"nodeType":"ArrayTypeName","src":"11789:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7539,"mutability":"mutable","name":"right","nameLocation":"11825:5:1","nodeType":"VariableDeclaration","scope":7553,"src":"11810:20:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7537,"name":"bytes","nodeType":"ElementaryTypeName","src":"11810:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7538,"nodeType":"ArrayTypeName","src":"11810:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":7541,"mutability":"mutable","name":"err","nameLocation":"11846:3:1","nodeType":"VariableDeclaration","scope":7553,"src":"11832:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7540,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11788:62:1"},"returnParameters":{"id":7543,"nodeType":"ParameterList","parameters":[],"src":"11873:0:1"},"scope":8712,"src":"11768:154:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7567,"nodeType":"Block","src":"11997:41:1","statements":[{"expression":{"arguments":[{"id":7563,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7555,"src":"12019:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7564,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7557,"src":"12025:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7560,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12007:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":21542,"src":"12007:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":7565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12007:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7566,"nodeType":"ExpressionStatement","src":"12007:24:1"}]},"id":7568,"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11937:8:1","nodeType":"FunctionDefinition","parameters":{"id":7558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7555,"mutability":"mutable","name":"left","nameLocation":"11954:4:1","nodeType":"VariableDeclaration","scope":7568,"src":"11946:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7554,"name":"uint256","nodeType":"ElementaryTypeName","src":"11946:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7557,"mutability":"mutable","name":"right","nameLocation":"11968:5:1","nodeType":"VariableDeclaration","scope":7568,"src":"11960:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7556,"name":"uint256","nodeType":"ElementaryTypeName","src":"11960:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:29:1"},"returnParameters":{"id":7559,"nodeType":"ParameterList","parameters":[],"src":"11997:0:1"},"scope":8712,"src":"11928:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7585,"nodeType":"Block","src":"12132:46:1","statements":[{"expression":{"arguments":[{"id":7580,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7570,"src":"12154:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7581,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7572,"src":"12160:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7582,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7574,"src":"12167:3:1","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":7577,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12142:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12145:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":21552,"src":"12142:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":7583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12142:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7584,"nodeType":"ExpressionStatement","src":"12142:29:1"}]},"id":7586,"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12053:8:1","nodeType":"FunctionDefinition","parameters":{"id":7575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7570,"mutability":"mutable","name":"left","nameLocation":"12070:4:1","nodeType":"VariableDeclaration","scope":7586,"src":"12062:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7569,"name":"uint256","nodeType":"ElementaryTypeName","src":"12062:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7572,"mutability":"mutable","name":"right","nameLocation":"12084:5:1","nodeType":"VariableDeclaration","scope":7586,"src":"12076:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7571,"name":"uint256","nodeType":"ElementaryTypeName","src":"12076:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7574,"mutability":"mutable","name":"err","nameLocation":"12105:3:1","nodeType":"VariableDeclaration","scope":7586,"src":"12091:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7573,"name":"string","nodeType":"ElementaryTypeName","src":"12091:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12061:48:1"},"returnParameters":{"id":7576,"nodeType":"ParameterList","parameters":[],"src":"12132:0:1"},"scope":8712,"src":"12044:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7603,"nodeType":"Block","src":"12278:58:1","statements":[{"expression":{"arguments":[{"id":7598,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7588,"src":"12307:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7599,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7590,"src":"12313:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7600,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7592,"src":"12320:8:1","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":7595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12288:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12291:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":21500,"src":"12288:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":7601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12288:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7602,"nodeType":"ExpressionStatement","src":"12288:41:1"}]},"id":7604,"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12193:15:1","nodeType":"FunctionDefinition","parameters":{"id":7593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7588,"mutability":"mutable","name":"left","nameLocation":"12217:4:1","nodeType":"VariableDeclaration","scope":7604,"src":"12209:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7587,"name":"uint256","nodeType":"ElementaryTypeName","src":"12209:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7590,"mutability":"mutable","name":"right","nameLocation":"12231:5:1","nodeType":"VariableDeclaration","scope":7604,"src":"12223:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7589,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7592,"mutability":"mutable","name":"decimals","nameLocation":"12246:8:1","nodeType":"VariableDeclaration","scope":7604,"src":"12238:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7591,"name":"uint256","nodeType":"ElementaryTypeName","src":"12238:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12208:47:1"},"returnParameters":{"id":7594,"nodeType":"ParameterList","parameters":[],"src":"12278:0:1"},"scope":8712,"src":"12184:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7624,"nodeType":"Block","src":"12455:63:1","statements":[{"expression":{"arguments":[{"id":7618,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7606,"src":"12484:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7619,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7608,"src":"12490:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7620,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7610,"src":"12497:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7621,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7612,"src":"12507:3:1","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":7615,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12465:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12468:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":21512,"src":"12465:18:1","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":7622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12465:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7623,"nodeType":"ExpressionStatement","src":"12465:46:1"}]},"id":7625,"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12351:15:1","nodeType":"FunctionDefinition","parameters":{"id":7613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7606,"mutability":"mutable","name":"left","nameLocation":"12375:4:1","nodeType":"VariableDeclaration","scope":7625,"src":"12367:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7605,"name":"uint256","nodeType":"ElementaryTypeName","src":"12367:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7608,"mutability":"mutable","name":"right","nameLocation":"12389:5:1","nodeType":"VariableDeclaration","scope":7625,"src":"12381:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7607,"name":"uint256","nodeType":"ElementaryTypeName","src":"12381:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7610,"mutability":"mutable","name":"decimals","nameLocation":"12404:8:1","nodeType":"VariableDeclaration","scope":7625,"src":"12396:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7609,"name":"uint256","nodeType":"ElementaryTypeName","src":"12396:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7612,"mutability":"mutable","name":"err","nameLocation":"12428:3:1","nodeType":"VariableDeclaration","scope":7625,"src":"12414:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7611,"name":"string","nodeType":"ElementaryTypeName","src":"12414:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:66:1"},"returnParameters":{"id":7614,"nodeType":"ParameterList","parameters":[],"src":"12455:0:1"},"scope":8712,"src":"12342:176:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7639,"nodeType":"Block","src":"12591:41:1","statements":[{"expression":{"arguments":[{"id":7635,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7627,"src":"12613:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7636,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7629,"src":"12619:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":7632,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12601:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12604:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":21560,"src":"12601:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":7637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12601:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7638,"nodeType":"ExpressionStatement","src":"12601:24:1"}]},"id":7640,"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12533:8:1","nodeType":"FunctionDefinition","parameters":{"id":7630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7627,"mutability":"mutable","name":"left","nameLocation":"12549:4:1","nodeType":"VariableDeclaration","scope":7640,"src":"12542:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7626,"name":"int256","nodeType":"ElementaryTypeName","src":"12542:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7629,"mutability":"mutable","name":"right","nameLocation":"12562:5:1","nodeType":"VariableDeclaration","scope":7640,"src":"12555:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7628,"name":"int256","nodeType":"ElementaryTypeName","src":"12555:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12541:27:1"},"returnParameters":{"id":7631,"nodeType":"ParameterList","parameters":[],"src":"12591:0:1"},"scope":8712,"src":"12524:108:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7657,"nodeType":"Block","src":"12724:46:1","statements":[{"expression":{"arguments":[{"id":7652,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7642,"src":"12746:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7653,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7644,"src":"12752:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7654,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7646,"src":"12759:3:1","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":7649,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12734:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12737:8:1","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":21570,"src":"12734:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":7655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12734:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7656,"nodeType":"ExpressionStatement","src":"12734:29:1"}]},"id":7658,"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12647:8:1","nodeType":"FunctionDefinition","parameters":{"id":7647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7642,"mutability":"mutable","name":"left","nameLocation":"12663:4:1","nodeType":"VariableDeclaration","scope":7658,"src":"12656:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7641,"name":"int256","nodeType":"ElementaryTypeName","src":"12656:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7644,"mutability":"mutable","name":"right","nameLocation":"12676:5:1","nodeType":"VariableDeclaration","scope":7658,"src":"12669:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7643,"name":"int256","nodeType":"ElementaryTypeName","src":"12669:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7646,"mutability":"mutable","name":"err","nameLocation":"12697:3:1","nodeType":"VariableDeclaration","scope":7658,"src":"12683:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7645,"name":"string","nodeType":"ElementaryTypeName","src":"12683:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12655:46:1"},"returnParameters":{"id":7648,"nodeType":"ParameterList","parameters":[],"src":"12724:0:1"},"scope":8712,"src":"12638:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7675,"nodeType":"Block","src":"12868:58:1","statements":[{"expression":{"arguments":[{"id":7670,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7660,"src":"12897:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7671,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7662,"src":"12903:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7672,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7664,"src":"12910:8:1","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":7667,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"12878:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12881:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":21522,"src":"12878:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":7673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7674,"nodeType":"ExpressionStatement","src":"12878:41:1"}]},"id":7676,"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12785:15:1","nodeType":"FunctionDefinition","parameters":{"id":7665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7660,"mutability":"mutable","name":"left","nameLocation":"12808:4:1","nodeType":"VariableDeclaration","scope":7676,"src":"12801:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7659,"name":"int256","nodeType":"ElementaryTypeName","src":"12801:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7662,"mutability":"mutable","name":"right","nameLocation":"12821:5:1","nodeType":"VariableDeclaration","scope":7676,"src":"12814:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7661,"name":"int256","nodeType":"ElementaryTypeName","src":"12814:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7664,"mutability":"mutable","name":"decimals","nameLocation":"12836:8:1","nodeType":"VariableDeclaration","scope":7676,"src":"12828:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7663,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12800:45:1"},"returnParameters":{"id":7666,"nodeType":"ParameterList","parameters":[],"src":"12868:0:1"},"scope":8712,"src":"12776:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7696,"nodeType":"Block","src":"13043:63:1","statements":[{"expression":{"arguments":[{"id":7690,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7678,"src":"13072:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7691,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7680,"src":"13078:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7692,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7682,"src":"13085:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7693,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7684,"src":"13095:3:1","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":7687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13053:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:15:1","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":21534,"src":"13053:18:1","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":7694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13053:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7695,"nodeType":"ExpressionStatement","src":"13053:46:1"}]},"id":7697,"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12941:15:1","nodeType":"FunctionDefinition","parameters":{"id":7685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7678,"mutability":"mutable","name":"left","nameLocation":"12964:4:1","nodeType":"VariableDeclaration","scope":7697,"src":"12957:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7677,"name":"int256","nodeType":"ElementaryTypeName","src":"12957:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7680,"mutability":"mutable","name":"right","nameLocation":"12977:5:1","nodeType":"VariableDeclaration","scope":7697,"src":"12970:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7679,"name":"int256","nodeType":"ElementaryTypeName","src":"12970:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7682,"mutability":"mutable","name":"decimals","nameLocation":"12992:8:1","nodeType":"VariableDeclaration","scope":7697,"src":"12984:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7681,"name":"uint256","nodeType":"ElementaryTypeName","src":"12984:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7684,"mutability":"mutable","name":"err","nameLocation":"13016:3:1","nodeType":"VariableDeclaration","scope":7697,"src":"13002:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7683,"name":"string","nodeType":"ElementaryTypeName","src":"13002:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12956:64:1"},"returnParameters":{"id":7686,"nodeType":"ParameterList","parameters":[],"src":"13043:0:1"},"scope":8712,"src":"12932:174:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7711,"nodeType":"Block","src":"13181:41:1","statements":[{"expression":{"arguments":[{"id":7707,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7699,"src":"13203:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7708,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7701,"src":"13209:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13191:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13194:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":21382,"src":"13191:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":7709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13191:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7710,"nodeType":"ExpressionStatement","src":"13191:24:1"}]},"id":7712,"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13121:8:1","nodeType":"FunctionDefinition","parameters":{"id":7702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7699,"mutability":"mutable","name":"left","nameLocation":"13138:4:1","nodeType":"VariableDeclaration","scope":7712,"src":"13130:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7698,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7701,"mutability":"mutable","name":"right","nameLocation":"13152:5:1","nodeType":"VariableDeclaration","scope":7712,"src":"13144:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7700,"name":"uint256","nodeType":"ElementaryTypeName","src":"13144:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:29:1"},"returnParameters":{"id":7703,"nodeType":"ParameterList","parameters":[],"src":"13181:0:1"},"scope":8712,"src":"13112:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7729,"nodeType":"Block","src":"13316:46:1","statements":[{"expression":{"arguments":[{"id":7724,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7714,"src":"13338:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7725,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7716,"src":"13344:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7726,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7718,"src":"13351:3:1","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":7721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13326:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13329:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":21392,"src":"13326:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":7727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13326:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7728,"nodeType":"ExpressionStatement","src":"13326:29:1"}]},"id":7730,"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13237:8:1","nodeType":"FunctionDefinition","parameters":{"id":7719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7714,"mutability":"mutable","name":"left","nameLocation":"13254:4:1","nodeType":"VariableDeclaration","scope":7730,"src":"13246:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7713,"name":"uint256","nodeType":"ElementaryTypeName","src":"13246:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7716,"mutability":"mutable","name":"right","nameLocation":"13268:5:1","nodeType":"VariableDeclaration","scope":7730,"src":"13260:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7715,"name":"uint256","nodeType":"ElementaryTypeName","src":"13260:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7718,"mutability":"mutable","name":"err","nameLocation":"13289:3:1","nodeType":"VariableDeclaration","scope":7730,"src":"13275:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7717,"name":"string","nodeType":"ElementaryTypeName","src":"13275:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13245:48:1"},"returnParameters":{"id":7720,"nodeType":"ParameterList","parameters":[],"src":"13316:0:1"},"scope":8712,"src":"13228:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7747,"nodeType":"Block","src":"13462:58:1","statements":[{"expression":{"arguments":[{"id":7742,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7732,"src":"13491:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7743,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7734,"src":"13497:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7744,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7736,"src":"13504:8:1","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":7739,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13472:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13475:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":21340,"src":"13472:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":7745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13472:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7746,"nodeType":"ExpressionStatement","src":"13472:41:1"}]},"id":7748,"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13377:15:1","nodeType":"FunctionDefinition","parameters":{"id":7737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7732,"mutability":"mutable","name":"left","nameLocation":"13401:4:1","nodeType":"VariableDeclaration","scope":7748,"src":"13393:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7731,"name":"uint256","nodeType":"ElementaryTypeName","src":"13393:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7734,"mutability":"mutable","name":"right","nameLocation":"13415:5:1","nodeType":"VariableDeclaration","scope":7748,"src":"13407:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7733,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7736,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:1","nodeType":"VariableDeclaration","scope":7748,"src":"13422:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7735,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13392:47:1"},"returnParameters":{"id":7738,"nodeType":"ParameterList","parameters":[],"src":"13462:0:1"},"scope":8712,"src":"13368:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7768,"nodeType":"Block","src":"13639:63:1","statements":[{"expression":{"arguments":[{"id":7762,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7750,"src":"13668:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7763,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7752,"src":"13674:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7764,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"13681:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7765,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7756,"src":"13691:3:1","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":7759,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13649:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13652:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":21352,"src":"13649:18:1","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":7766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13649:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7767,"nodeType":"ExpressionStatement","src":"13649:46:1"}]},"id":7769,"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13535:15:1","nodeType":"FunctionDefinition","parameters":{"id":7757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7750,"mutability":"mutable","name":"left","nameLocation":"13559:4:1","nodeType":"VariableDeclaration","scope":7769,"src":"13551:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7749,"name":"uint256","nodeType":"ElementaryTypeName","src":"13551:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7752,"mutability":"mutable","name":"right","nameLocation":"13573:5:1","nodeType":"VariableDeclaration","scope":7769,"src":"13565:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7751,"name":"uint256","nodeType":"ElementaryTypeName","src":"13565:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7754,"mutability":"mutable","name":"decimals","nameLocation":"13588:8:1","nodeType":"VariableDeclaration","scope":7769,"src":"13580:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7753,"name":"uint256","nodeType":"ElementaryTypeName","src":"13580:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7756,"mutability":"mutable","name":"err","nameLocation":"13612:3:1","nodeType":"VariableDeclaration","scope":7769,"src":"13598:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7755,"name":"string","nodeType":"ElementaryTypeName","src":"13598:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13550:66:1"},"returnParameters":{"id":7758,"nodeType":"ParameterList","parameters":[],"src":"13639:0:1"},"scope":8712,"src":"13526:176:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7783,"nodeType":"Block","src":"13775:41:1","statements":[{"expression":{"arguments":[{"id":7779,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7771,"src":"13797:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7780,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7773,"src":"13803:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":7776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13785:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":21400,"src":"13785:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":7781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13785:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7782,"nodeType":"ExpressionStatement","src":"13785:24:1"}]},"id":7784,"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13717:8:1","nodeType":"FunctionDefinition","parameters":{"id":7774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7771,"mutability":"mutable","name":"left","nameLocation":"13733:4:1","nodeType":"VariableDeclaration","scope":7784,"src":"13726:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7770,"name":"int256","nodeType":"ElementaryTypeName","src":"13726:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7773,"mutability":"mutable","name":"right","nameLocation":"13746:5:1","nodeType":"VariableDeclaration","scope":7784,"src":"13739:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7772,"name":"int256","nodeType":"ElementaryTypeName","src":"13739:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13725:27:1"},"returnParameters":{"id":7775,"nodeType":"ParameterList","parameters":[],"src":"13775:0:1"},"scope":8712,"src":"13708:108:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7801,"nodeType":"Block","src":"13908:46:1","statements":[{"expression":{"arguments":[{"id":7796,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7786,"src":"13930:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7797,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7788,"src":"13936:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7798,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"13943:3:1","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":7793,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"13918:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13921:8:1","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":21410,"src":"13918:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":7799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13918:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7800,"nodeType":"ExpressionStatement","src":"13918:29:1"}]},"id":7802,"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13831:8:1","nodeType":"FunctionDefinition","parameters":{"id":7791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7786,"mutability":"mutable","name":"left","nameLocation":"13847:4:1","nodeType":"VariableDeclaration","scope":7802,"src":"13840:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7785,"name":"int256","nodeType":"ElementaryTypeName","src":"13840:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7788,"mutability":"mutable","name":"right","nameLocation":"13860:5:1","nodeType":"VariableDeclaration","scope":7802,"src":"13853:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7787,"name":"int256","nodeType":"ElementaryTypeName","src":"13853:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7790,"mutability":"mutable","name":"err","nameLocation":"13881:3:1","nodeType":"VariableDeclaration","scope":7802,"src":"13867:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7789,"name":"string","nodeType":"ElementaryTypeName","src":"13867:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13839:46:1"},"returnParameters":{"id":7792,"nodeType":"ParameterList","parameters":[],"src":"13908:0:1"},"scope":8712,"src":"13822:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7819,"nodeType":"Block","src":"14052:58:1","statements":[{"expression":{"arguments":[{"id":7814,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7804,"src":"14081:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7815,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7806,"src":"14087:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7816,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7808,"src":"14094:8:1","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":7811,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14062:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14065:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":21362,"src":"14062:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":7817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14062:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7818,"nodeType":"ExpressionStatement","src":"14062:41:1"}]},"id":7820,"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13969:15:1","nodeType":"FunctionDefinition","parameters":{"id":7809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7804,"mutability":"mutable","name":"left","nameLocation":"13992:4:1","nodeType":"VariableDeclaration","scope":7820,"src":"13985:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7803,"name":"int256","nodeType":"ElementaryTypeName","src":"13985:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7806,"mutability":"mutable","name":"right","nameLocation":"14005:5:1","nodeType":"VariableDeclaration","scope":7820,"src":"13998:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7805,"name":"int256","nodeType":"ElementaryTypeName","src":"13998:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7808,"mutability":"mutable","name":"decimals","nameLocation":"14020:8:1","nodeType":"VariableDeclaration","scope":7820,"src":"14012:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7807,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13984:45:1"},"returnParameters":{"id":7810,"nodeType":"ParameterList","parameters":[],"src":"14052:0:1"},"scope":8712,"src":"13960:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7840,"nodeType":"Block","src":"14227:63:1","statements":[{"expression":{"arguments":[{"id":7834,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7822,"src":"14256:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7835,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7824,"src":"14262:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7836,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7826,"src":"14269:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7837,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7828,"src":"14279:3:1","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":7831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14237:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14240:15:1","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":21374,"src":"14237:18:1","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":7838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14237:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7839,"nodeType":"ExpressionStatement","src":"14237:46:1"}]},"id":7841,"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14125:15:1","nodeType":"FunctionDefinition","parameters":{"id":7829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7822,"mutability":"mutable","name":"left","nameLocation":"14148:4:1","nodeType":"VariableDeclaration","scope":7841,"src":"14141:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7821,"name":"int256","nodeType":"ElementaryTypeName","src":"14141:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7824,"mutability":"mutable","name":"right","nameLocation":"14161:5:1","nodeType":"VariableDeclaration","scope":7841,"src":"14154:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7823,"name":"int256","nodeType":"ElementaryTypeName","src":"14154:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7826,"mutability":"mutable","name":"decimals","nameLocation":"14176:8:1","nodeType":"VariableDeclaration","scope":7841,"src":"14168:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7825,"name":"uint256","nodeType":"ElementaryTypeName","src":"14168:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7828,"mutability":"mutable","name":"err","nameLocation":"14200:3:1","nodeType":"VariableDeclaration","scope":7841,"src":"14186:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7827,"name":"string","nodeType":"ElementaryTypeName","src":"14186:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14140:64:1"},"returnParameters":{"id":7830,"nodeType":"ParameterList","parameters":[],"src":"14227:0:1"},"scope":8712,"src":"14116:174:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7855,"nodeType":"Block","src":"14365:41:1","statements":[{"expression":{"arguments":[{"id":7851,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7843,"src":"14387:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7852,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7845,"src":"14393:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14375:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14378:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":21462,"src":"14375:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":7853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14375:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7854,"nodeType":"ExpressionStatement","src":"14375:24:1"}]},"id":7856,"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14305:8:1","nodeType":"FunctionDefinition","parameters":{"id":7846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7843,"mutability":"mutable","name":"left","nameLocation":"14322:4:1","nodeType":"VariableDeclaration","scope":7856,"src":"14314:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7842,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7845,"mutability":"mutable","name":"right","nameLocation":"14336:5:1","nodeType":"VariableDeclaration","scope":7856,"src":"14328:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7844,"name":"uint256","nodeType":"ElementaryTypeName","src":"14328:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:29:1"},"returnParameters":{"id":7847,"nodeType":"ParameterList","parameters":[],"src":"14365:0:1"},"scope":8712,"src":"14296:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7873,"nodeType":"Block","src":"14500:46:1","statements":[{"expression":{"arguments":[{"id":7868,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7858,"src":"14522:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7869,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7860,"src":"14528:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7870,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7862,"src":"14535:3:1","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":7865,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14510:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14513:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":21472,"src":"14510:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":7871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14510:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7872,"nodeType":"ExpressionStatement","src":"14510:29:1"}]},"id":7874,"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14421:8:1","nodeType":"FunctionDefinition","parameters":{"id":7863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7858,"mutability":"mutable","name":"left","nameLocation":"14438:4:1","nodeType":"VariableDeclaration","scope":7874,"src":"14430:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7857,"name":"uint256","nodeType":"ElementaryTypeName","src":"14430:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7860,"mutability":"mutable","name":"right","nameLocation":"14452:5:1","nodeType":"VariableDeclaration","scope":7874,"src":"14444:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7859,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7862,"mutability":"mutable","name":"err","nameLocation":"14473:3:1","nodeType":"VariableDeclaration","scope":7874,"src":"14459:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7861,"name":"string","nodeType":"ElementaryTypeName","src":"14459:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14429:48:1"},"returnParameters":{"id":7864,"nodeType":"ParameterList","parameters":[],"src":"14500:0:1"},"scope":8712,"src":"14412:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7891,"nodeType":"Block","src":"14646:58:1","statements":[{"expression":{"arguments":[{"id":7886,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7876,"src":"14675:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7887,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7878,"src":"14681:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7888,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7880,"src":"14688:8:1","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":7883,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14656:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14659:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":21420,"src":"14656:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":7889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14656:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7890,"nodeType":"ExpressionStatement","src":"14656:41:1"}]},"id":7892,"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14561:15:1","nodeType":"FunctionDefinition","parameters":{"id":7881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7876,"mutability":"mutable","name":"left","nameLocation":"14585:4:1","nodeType":"VariableDeclaration","scope":7892,"src":"14577:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7875,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7878,"mutability":"mutable","name":"right","nameLocation":"14599:5:1","nodeType":"VariableDeclaration","scope":7892,"src":"14591:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7877,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7880,"mutability":"mutable","name":"decimals","nameLocation":"14614:8:1","nodeType":"VariableDeclaration","scope":7892,"src":"14606:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7879,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:47:1"},"returnParameters":{"id":7882,"nodeType":"ParameterList","parameters":[],"src":"14646:0:1"},"scope":8712,"src":"14552:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7912,"nodeType":"Block","src":"14823:63:1","statements":[{"expression":{"arguments":[{"id":7906,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7894,"src":"14852:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7907,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7896,"src":"14858:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7908,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7898,"src":"14865:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7909,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7900,"src":"14875:3:1","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":7903,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14833:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14836:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":21432,"src":"14833:18:1","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":7910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14833:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7911,"nodeType":"ExpressionStatement","src":"14833:46:1"}]},"id":7913,"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14719:15:1","nodeType":"FunctionDefinition","parameters":{"id":7901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7894,"mutability":"mutable","name":"left","nameLocation":"14743:4:1","nodeType":"VariableDeclaration","scope":7913,"src":"14735:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7893,"name":"uint256","nodeType":"ElementaryTypeName","src":"14735:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7896,"mutability":"mutable","name":"right","nameLocation":"14757:5:1","nodeType":"VariableDeclaration","scope":7913,"src":"14749:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7895,"name":"uint256","nodeType":"ElementaryTypeName","src":"14749:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7898,"mutability":"mutable","name":"decimals","nameLocation":"14772:8:1","nodeType":"VariableDeclaration","scope":7913,"src":"14764:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7897,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7900,"mutability":"mutable","name":"err","nameLocation":"14796:3:1","nodeType":"VariableDeclaration","scope":7913,"src":"14782:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7899,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:66:1"},"returnParameters":{"id":7902,"nodeType":"ParameterList","parameters":[],"src":"14823:0:1"},"scope":8712,"src":"14710:176:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7927,"nodeType":"Block","src":"14959:41:1","statements":[{"expression":{"arguments":[{"id":7923,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"14981:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7924,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7917,"src":"14987:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":7920,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"14969:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14972:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":21480,"src":"14969:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":7925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14969:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7926,"nodeType":"ExpressionStatement","src":"14969:24:1"}]},"id":7928,"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14901:8:1","nodeType":"FunctionDefinition","parameters":{"id":7918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7915,"mutability":"mutable","name":"left","nameLocation":"14917:4:1","nodeType":"VariableDeclaration","scope":7928,"src":"14910:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7914,"name":"int256","nodeType":"ElementaryTypeName","src":"14910:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7917,"mutability":"mutable","name":"right","nameLocation":"14930:5:1","nodeType":"VariableDeclaration","scope":7928,"src":"14923:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7916,"name":"int256","nodeType":"ElementaryTypeName","src":"14923:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14909:27:1"},"returnParameters":{"id":7919,"nodeType":"ParameterList","parameters":[],"src":"14959:0:1"},"scope":8712,"src":"14892:108:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7945,"nodeType":"Block","src":"15092:46:1","statements":[{"expression":{"arguments":[{"id":7940,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7930,"src":"15114:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7941,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7932,"src":"15120:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7942,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7934,"src":"15127:3:1","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":7937,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15102:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15105:8:1","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":21490,"src":"15102:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":7943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15102:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7944,"nodeType":"ExpressionStatement","src":"15102:29:1"}]},"id":7946,"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15015:8:1","nodeType":"FunctionDefinition","parameters":{"id":7935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7930,"mutability":"mutable","name":"left","nameLocation":"15031:4:1","nodeType":"VariableDeclaration","scope":7946,"src":"15024:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7929,"name":"int256","nodeType":"ElementaryTypeName","src":"15024:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7932,"mutability":"mutable","name":"right","nameLocation":"15044:5:1","nodeType":"VariableDeclaration","scope":7946,"src":"15037:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7931,"name":"int256","nodeType":"ElementaryTypeName","src":"15037:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7934,"mutability":"mutable","name":"err","nameLocation":"15065:3:1","nodeType":"VariableDeclaration","scope":7946,"src":"15051:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7933,"name":"string","nodeType":"ElementaryTypeName","src":"15051:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15023:46:1"},"returnParameters":{"id":7936,"nodeType":"ParameterList","parameters":[],"src":"15092:0:1"},"scope":8712,"src":"15006:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7963,"nodeType":"Block","src":"15236:58:1","statements":[{"expression":{"arguments":[{"id":7958,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7948,"src":"15265:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7959,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7950,"src":"15271:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7960,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7952,"src":"15278:8:1","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":7955,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15246:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15249:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":21442,"src":"15246:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":7961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7962,"nodeType":"ExpressionStatement","src":"15246:41:1"}]},"id":7964,"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15153:15:1","nodeType":"FunctionDefinition","parameters":{"id":7953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7948,"mutability":"mutable","name":"left","nameLocation":"15176:4:1","nodeType":"VariableDeclaration","scope":7964,"src":"15169:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7947,"name":"int256","nodeType":"ElementaryTypeName","src":"15169:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7950,"mutability":"mutable","name":"right","nameLocation":"15189:5:1","nodeType":"VariableDeclaration","scope":7964,"src":"15182:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7949,"name":"int256","nodeType":"ElementaryTypeName","src":"15182:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7952,"mutability":"mutable","name":"decimals","nameLocation":"15204:8:1","nodeType":"VariableDeclaration","scope":7964,"src":"15196:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7951,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:45:1"},"returnParameters":{"id":7954,"nodeType":"ParameterList","parameters":[],"src":"15236:0:1"},"scope":8712,"src":"15144:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7984,"nodeType":"Block","src":"15411:63:1","statements":[{"expression":{"arguments":[{"id":7978,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7966,"src":"15440:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7979,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7968,"src":"15446:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7980,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"15453:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7981,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"15463:3:1","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":7975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15421:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15424:15:1","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":21454,"src":"15421:18:1","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":7982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15421:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7983,"nodeType":"ExpressionStatement","src":"15421:46:1"}]},"id":7985,"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15309:15:1","nodeType":"FunctionDefinition","parameters":{"id":7973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7966,"mutability":"mutable","name":"left","nameLocation":"15332:4:1","nodeType":"VariableDeclaration","scope":7985,"src":"15325:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7965,"name":"int256","nodeType":"ElementaryTypeName","src":"15325:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7968,"mutability":"mutable","name":"right","nameLocation":"15345:5:1","nodeType":"VariableDeclaration","scope":7985,"src":"15338:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7967,"name":"int256","nodeType":"ElementaryTypeName","src":"15338:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7970,"mutability":"mutable","name":"decimals","nameLocation":"15360:8:1","nodeType":"VariableDeclaration","scope":7985,"src":"15352:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7969,"name":"uint256","nodeType":"ElementaryTypeName","src":"15352:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7972,"mutability":"mutable","name":"err","nameLocation":"15384:3:1","nodeType":"VariableDeclaration","scope":7985,"src":"15370:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7971,"name":"string","nodeType":"ElementaryTypeName","src":"15370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15324:64:1"},"returnParameters":{"id":7974,"nodeType":"ParameterList","parameters":[],"src":"15411:0:1"},"scope":8712,"src":"15300:174:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":7999,"nodeType":"Block","src":"15549:41:1","statements":[{"expression":{"arguments":[{"id":7995,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7987,"src":"15571:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7996,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7989,"src":"15577:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7992,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15559:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":7994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15562:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":21302,"src":"15559:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":7997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15559:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7998,"nodeType":"ExpressionStatement","src":"15559:24:1"}]},"id":8000,"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15489:8:1","nodeType":"FunctionDefinition","parameters":{"id":7990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7987,"mutability":"mutable","name":"left","nameLocation":"15506:4:1","nodeType":"VariableDeclaration","scope":8000,"src":"15498:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7986,"name":"uint256","nodeType":"ElementaryTypeName","src":"15498:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7989,"mutability":"mutable","name":"right","nameLocation":"15520:5:1","nodeType":"VariableDeclaration","scope":8000,"src":"15512:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7988,"name":"uint256","nodeType":"ElementaryTypeName","src":"15512:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15497:29:1"},"returnParameters":{"id":7991,"nodeType":"ParameterList","parameters":[],"src":"15549:0:1"},"scope":8712,"src":"15480:110:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8017,"nodeType":"Block","src":"15684:46:1","statements":[{"expression":{"arguments":[{"id":8012,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8002,"src":"15706:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8013,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8004,"src":"15712:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8014,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8006,"src":"15719:3:1","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":8009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15694:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15697:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":21312,"src":"15694:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":8015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15694:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8016,"nodeType":"ExpressionStatement","src":"15694:29:1"}]},"id":8018,"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15605:8:1","nodeType":"FunctionDefinition","parameters":{"id":8007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8002,"mutability":"mutable","name":"left","nameLocation":"15622:4:1","nodeType":"VariableDeclaration","scope":8018,"src":"15614:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8001,"name":"uint256","nodeType":"ElementaryTypeName","src":"15614:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8004,"mutability":"mutable","name":"right","nameLocation":"15636:5:1","nodeType":"VariableDeclaration","scope":8018,"src":"15628:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8003,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8006,"mutability":"mutable","name":"err","nameLocation":"15657:3:1","nodeType":"VariableDeclaration","scope":8018,"src":"15643:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8005,"name":"string","nodeType":"ElementaryTypeName","src":"15643:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15613:48:1"},"returnParameters":{"id":8008,"nodeType":"ParameterList","parameters":[],"src":"15684:0:1"},"scope":8712,"src":"15596:134:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8035,"nodeType":"Block","src":"15830:58:1","statements":[{"expression":{"arguments":[{"id":8030,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8020,"src":"15859:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8031,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8022,"src":"15865:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8032,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8024,"src":"15872:8:1","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":8027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"15840:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15843:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":21260,"src":"15840:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":8033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15840:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8034,"nodeType":"ExpressionStatement","src":"15840:41:1"}]},"id":8036,"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15745:15:1","nodeType":"FunctionDefinition","parameters":{"id":8025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8020,"mutability":"mutable","name":"left","nameLocation":"15769:4:1","nodeType":"VariableDeclaration","scope":8036,"src":"15761:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8019,"name":"uint256","nodeType":"ElementaryTypeName","src":"15761:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8022,"mutability":"mutable","name":"right","nameLocation":"15783:5:1","nodeType":"VariableDeclaration","scope":8036,"src":"15775:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8021,"name":"uint256","nodeType":"ElementaryTypeName","src":"15775:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8024,"mutability":"mutable","name":"decimals","nameLocation":"15798:8:1","nodeType":"VariableDeclaration","scope":8036,"src":"15790:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8023,"name":"uint256","nodeType":"ElementaryTypeName","src":"15790:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15760:47:1"},"returnParameters":{"id":8026,"nodeType":"ParameterList","parameters":[],"src":"15830:0:1"},"scope":8712,"src":"15736:152:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8056,"nodeType":"Block","src":"16007:63:1","statements":[{"expression":{"arguments":[{"id":8050,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8038,"src":"16036:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8051,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8040,"src":"16042:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8052,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8042,"src":"16049:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8053,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8044,"src":"16059:3:1","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":8047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16017:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16020:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":21272,"src":"16017:18:1","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":8054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16017:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8055,"nodeType":"ExpressionStatement","src":"16017:46:1"}]},"id":8057,"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15903:15:1","nodeType":"FunctionDefinition","parameters":{"id":8045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8038,"mutability":"mutable","name":"left","nameLocation":"15927:4:1","nodeType":"VariableDeclaration","scope":8057,"src":"15919:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8037,"name":"uint256","nodeType":"ElementaryTypeName","src":"15919:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8040,"mutability":"mutable","name":"right","nameLocation":"15941:5:1","nodeType":"VariableDeclaration","scope":8057,"src":"15933:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8039,"name":"uint256","nodeType":"ElementaryTypeName","src":"15933:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8042,"mutability":"mutable","name":"decimals","nameLocation":"15956:8:1","nodeType":"VariableDeclaration","scope":8057,"src":"15948:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8041,"name":"uint256","nodeType":"ElementaryTypeName","src":"15948:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8044,"mutability":"mutable","name":"err","nameLocation":"15980:3:1","nodeType":"VariableDeclaration","scope":8057,"src":"15966:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8043,"name":"string","nodeType":"ElementaryTypeName","src":"15966:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15918:66:1"},"returnParameters":{"id":8046,"nodeType":"ParameterList","parameters":[],"src":"16007:0:1"},"scope":8712,"src":"15894:176:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8071,"nodeType":"Block","src":"16143:41:1","statements":[{"expression":{"arguments":[{"id":8067,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8059,"src":"16165:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8068,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8061,"src":"16171:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16153:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16156:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":21320,"src":"16153:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":8069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16153:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8070,"nodeType":"ExpressionStatement","src":"16153:24:1"}]},"id":8072,"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16085:8:1","nodeType":"FunctionDefinition","parameters":{"id":8062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8059,"mutability":"mutable","name":"left","nameLocation":"16101:4:1","nodeType":"VariableDeclaration","scope":8072,"src":"16094:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8058,"name":"int256","nodeType":"ElementaryTypeName","src":"16094:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8061,"mutability":"mutable","name":"right","nameLocation":"16114:5:1","nodeType":"VariableDeclaration","scope":8072,"src":"16107:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8060,"name":"int256","nodeType":"ElementaryTypeName","src":"16107:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16093:27:1"},"returnParameters":{"id":8063,"nodeType":"ParameterList","parameters":[],"src":"16143:0:1"},"scope":8712,"src":"16076:108:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8089,"nodeType":"Block","src":"16276:46:1","statements":[{"expression":{"arguments":[{"id":8084,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8074,"src":"16298:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8085,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8076,"src":"16304:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8086,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"16311:3:1","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":8081,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16286:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16289:8:1","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":21330,"src":"16286:11:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":8087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16286:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8088,"nodeType":"ExpressionStatement","src":"16286:29:1"}]},"id":8090,"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16199:8:1","nodeType":"FunctionDefinition","parameters":{"id":8079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8074,"mutability":"mutable","name":"left","nameLocation":"16215:4:1","nodeType":"VariableDeclaration","scope":8090,"src":"16208:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8073,"name":"int256","nodeType":"ElementaryTypeName","src":"16208:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8076,"mutability":"mutable","name":"right","nameLocation":"16228:5:1","nodeType":"VariableDeclaration","scope":8090,"src":"16221:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8075,"name":"int256","nodeType":"ElementaryTypeName","src":"16221:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8078,"mutability":"mutable","name":"err","nameLocation":"16249:3:1","nodeType":"VariableDeclaration","scope":8090,"src":"16235:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8077,"name":"string","nodeType":"ElementaryTypeName","src":"16235:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16207:46:1"},"returnParameters":{"id":8080,"nodeType":"ParameterList","parameters":[],"src":"16276:0:1"},"scope":8712,"src":"16190:132:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8107,"nodeType":"Block","src":"16420:58:1","statements":[{"expression":{"arguments":[{"id":8102,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8092,"src":"16449:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8103,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"16455:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8104,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8096,"src":"16462:8:1","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":8099,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16430:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16433:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":21282,"src":"16430:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":8105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16430:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8106,"nodeType":"ExpressionStatement","src":"16430:41:1"}]},"id":8108,"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16337:15:1","nodeType":"FunctionDefinition","parameters":{"id":8097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8092,"mutability":"mutable","name":"left","nameLocation":"16360:4:1","nodeType":"VariableDeclaration","scope":8108,"src":"16353:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8091,"name":"int256","nodeType":"ElementaryTypeName","src":"16353:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8094,"mutability":"mutable","name":"right","nameLocation":"16373:5:1","nodeType":"VariableDeclaration","scope":8108,"src":"16366:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8093,"name":"int256","nodeType":"ElementaryTypeName","src":"16366:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8096,"mutability":"mutable","name":"decimals","nameLocation":"16388:8:1","nodeType":"VariableDeclaration","scope":8108,"src":"16380:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8095,"name":"uint256","nodeType":"ElementaryTypeName","src":"16380:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16352:45:1"},"returnParameters":{"id":8098,"nodeType":"ParameterList","parameters":[],"src":"16420:0:1"},"scope":8712,"src":"16328:150:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8128,"nodeType":"Block","src":"16595:63:1","statements":[{"expression":{"arguments":[{"id":8122,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8110,"src":"16624:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8123,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8112,"src":"16630:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8124,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8114,"src":"16637:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8125,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"16647:3:1","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":8119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16605:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16608:15:1","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":21294,"src":"16605:18:1","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":8126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16605:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8127,"nodeType":"ExpressionStatement","src":"16605:46:1"}]},"id":8129,"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16493:15:1","nodeType":"FunctionDefinition","parameters":{"id":8117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8110,"mutability":"mutable","name":"left","nameLocation":"16516:4:1","nodeType":"VariableDeclaration","scope":8129,"src":"16509:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8109,"name":"int256","nodeType":"ElementaryTypeName","src":"16509:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8112,"mutability":"mutable","name":"right","nameLocation":"16529:5:1","nodeType":"VariableDeclaration","scope":8129,"src":"16522:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8111,"name":"int256","nodeType":"ElementaryTypeName","src":"16522:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8114,"mutability":"mutable","name":"decimals","nameLocation":"16544:8:1","nodeType":"VariableDeclaration","scope":8129,"src":"16536:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8113,"name":"uint256","nodeType":"ElementaryTypeName","src":"16536:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8116,"mutability":"mutable","name":"err","nameLocation":"16568:3:1","nodeType":"VariableDeclaration","scope":8129,"src":"16554:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8115,"name":"string","nodeType":"ElementaryTypeName","src":"16554:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16508:64:1"},"returnParameters":{"id":8118,"nodeType":"ParameterList","parameters":[],"src":"16595:0:1"},"scope":8712,"src":"16484:174:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8146,"nodeType":"Block","src":"16760:60:1","statements":[{"expression":{"arguments":[{"id":8141,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8131,"src":"16791:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8142,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8133,"src":"16797:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8143,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8135,"src":"16804:8:1","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":8138,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16770:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16773:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":20782,"src":"16770:20:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":8144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8145,"nodeType":"ExpressionStatement","src":"16770:43:1"}]},"id":8147,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16673:17:1","nodeType":"FunctionDefinition","parameters":{"id":8136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8131,"mutability":"mutable","name":"left","nameLocation":"16699:4:1","nodeType":"VariableDeclaration","scope":8147,"src":"16691:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8130,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8133,"mutability":"mutable","name":"right","nameLocation":"16713:5:1","nodeType":"VariableDeclaration","scope":8147,"src":"16705:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8132,"name":"uint256","nodeType":"ElementaryTypeName","src":"16705:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8135,"mutability":"mutable","name":"maxDelta","nameLocation":"16728:8:1","nodeType":"VariableDeclaration","scope":8147,"src":"16720:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8134,"name":"uint256","nodeType":"ElementaryTypeName","src":"16720:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16690:47:1"},"returnParameters":{"id":8137,"nodeType":"ParameterList","parameters":[],"src":"16760:0:1"},"scope":8712,"src":"16664:156:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8167,"nodeType":"Block","src":"16969:65:1","statements":[{"expression":{"arguments":[{"id":8161,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8149,"src":"17000:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8162,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8151,"src":"17006:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8163,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8153,"src":"17013:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8164,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8155,"src":"17023:3:1","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":8158,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"16979:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16982:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":20794,"src":"16979:20:1","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":8165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16979:48:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8166,"nodeType":"ExpressionStatement","src":"16979:48:1"}]},"id":8168,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16835:17:1","nodeType":"FunctionDefinition","parameters":{"id":8156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8149,"mutability":"mutable","name":"left","nameLocation":"16861:4:1","nodeType":"VariableDeclaration","scope":8168,"src":"16853:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8148,"name":"uint256","nodeType":"ElementaryTypeName","src":"16853:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8151,"mutability":"mutable","name":"right","nameLocation":"16875:5:1","nodeType":"VariableDeclaration","scope":8168,"src":"16867:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8150,"name":"uint256","nodeType":"ElementaryTypeName","src":"16867:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8153,"mutability":"mutable","name":"maxDelta","nameLocation":"16890:8:1","nodeType":"VariableDeclaration","scope":8168,"src":"16882:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8152,"name":"uint256","nodeType":"ElementaryTypeName","src":"16882:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8155,"mutability":"mutable","name":"err","nameLocation":"16914:3:1","nodeType":"VariableDeclaration","scope":8168,"src":"16900:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8154,"name":"string","nodeType":"ElementaryTypeName","src":"16900:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16852:66:1"},"returnParameters":{"id":8157,"nodeType":"ParameterList","parameters":[],"src":"16969:0:1"},"scope":8712,"src":"16826:208:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8188,"nodeType":"Block","src":"17189:77:1","statements":[{"expression":{"arguments":[{"id":8182,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8170,"src":"17227:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8183,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8172,"src":"17233:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8184,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8174,"src":"17240:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8185,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8176,"src":"17250:8:1","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":8179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"17199:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17202:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":20732,"src":"17199:27:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":8186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17199:60:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8187,"nodeType":"ExpressionStatement","src":"17199:60:1"}]},"id":8189,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17049:24:1","nodeType":"FunctionDefinition","parameters":{"id":8177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8170,"mutability":"mutable","name":"left","nameLocation":"17082:4:1","nodeType":"VariableDeclaration","scope":8189,"src":"17074:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8169,"name":"uint256","nodeType":"ElementaryTypeName","src":"17074:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8172,"mutability":"mutable","name":"right","nameLocation":"17096:5:1","nodeType":"VariableDeclaration","scope":8189,"src":"17088:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8171,"name":"uint256","nodeType":"ElementaryTypeName","src":"17088:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8174,"mutability":"mutable","name":"maxDelta","nameLocation":"17111:8:1","nodeType":"VariableDeclaration","scope":8189,"src":"17103:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8173,"name":"uint256","nodeType":"ElementaryTypeName","src":"17103:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8176,"mutability":"mutable","name":"decimals","nameLocation":"17129:8:1","nodeType":"VariableDeclaration","scope":8189,"src":"17121:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8175,"name":"uint256","nodeType":"ElementaryTypeName","src":"17121:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17073:65:1"},"returnParameters":{"id":8178,"nodeType":"ParameterList","parameters":[],"src":"17189:0:1"},"scope":8712,"src":"17040:226:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8212,"nodeType":"Block","src":"17458:82:1","statements":[{"expression":{"arguments":[{"id":8205,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8191,"src":"17496:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8206,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8193,"src":"17502:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8207,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8195,"src":"17509:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8208,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8197,"src":"17519:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8209,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8199,"src":"17529:3:1","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":8202,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"17468:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17471:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":20746,"src":"17468:27:1","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":8210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17468:65:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8211,"nodeType":"ExpressionStatement","src":"17468:65:1"}]},"id":8213,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17281:24:1","nodeType":"FunctionDefinition","parameters":{"id":8200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8191,"mutability":"mutable","name":"left","nameLocation":"17323:4:1","nodeType":"VariableDeclaration","scope":8213,"src":"17315:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8190,"name":"uint256","nodeType":"ElementaryTypeName","src":"17315:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8193,"mutability":"mutable","name":"right","nameLocation":"17345:5:1","nodeType":"VariableDeclaration","scope":8213,"src":"17337:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8192,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8195,"mutability":"mutable","name":"maxDelta","nameLocation":"17368:8:1","nodeType":"VariableDeclaration","scope":8213,"src":"17360:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8194,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8197,"mutability":"mutable","name":"decimals","nameLocation":"17394:8:1","nodeType":"VariableDeclaration","scope":8213,"src":"17386:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8196,"name":"uint256","nodeType":"ElementaryTypeName","src":"17386:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8199,"mutability":"mutable","name":"err","nameLocation":"17426:3:1","nodeType":"VariableDeclaration","scope":8213,"src":"17412:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8198,"name":"string","nodeType":"ElementaryTypeName","src":"17412:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17305:130:1"},"returnParameters":{"id":8201,"nodeType":"ParameterList","parameters":[],"src":"17458:0:1"},"scope":8712,"src":"17272:268:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8230,"nodeType":"Block","src":"17640:60:1","statements":[{"expression":{"arguments":[{"id":8225,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8215,"src":"17671:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8226,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8217,"src":"17677:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8227,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8219,"src":"17684:8:1","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":8222,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"17650:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17653:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":20804,"src":"17650:20:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":8228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17650:43:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8229,"nodeType":"ExpressionStatement","src":"17650:43:1"}]},"id":8231,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17555:17:1","nodeType":"FunctionDefinition","parameters":{"id":8220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8215,"mutability":"mutable","name":"left","nameLocation":"17580:4:1","nodeType":"VariableDeclaration","scope":8231,"src":"17573:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8214,"name":"int256","nodeType":"ElementaryTypeName","src":"17573:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8217,"mutability":"mutable","name":"right","nameLocation":"17593:5:1","nodeType":"VariableDeclaration","scope":8231,"src":"17586:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8216,"name":"int256","nodeType":"ElementaryTypeName","src":"17586:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8219,"mutability":"mutable","name":"maxDelta","nameLocation":"17608:8:1","nodeType":"VariableDeclaration","scope":8231,"src":"17600:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8218,"name":"uint256","nodeType":"ElementaryTypeName","src":"17600:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:45:1"},"returnParameters":{"id":8221,"nodeType":"ParameterList","parameters":[],"src":"17640:0:1"},"scope":8712,"src":"17546:154:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8251,"nodeType":"Block","src":"17819:65:1","statements":[{"expression":{"arguments":[{"id":8245,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8233,"src":"17850:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8246,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8235,"src":"17856:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8247,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8237,"src":"17863:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8248,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8239,"src":"17873:3:1","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":8242,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"17829:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17832:17:1","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":20816,"src":"17829:20:1","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":8249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:48:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8250,"nodeType":"ExpressionStatement","src":"17829:48:1"}]},"id":8252,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17715:17:1","nodeType":"FunctionDefinition","parameters":{"id":8240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8233,"mutability":"mutable","name":"left","nameLocation":"17740:4:1","nodeType":"VariableDeclaration","scope":8252,"src":"17733:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8232,"name":"int256","nodeType":"ElementaryTypeName","src":"17733:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8235,"mutability":"mutable","name":"right","nameLocation":"17753:5:1","nodeType":"VariableDeclaration","scope":8252,"src":"17746:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8234,"name":"int256","nodeType":"ElementaryTypeName","src":"17746:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8237,"mutability":"mutable","name":"maxDelta","nameLocation":"17768:8:1","nodeType":"VariableDeclaration","scope":8252,"src":"17760:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8236,"name":"uint256","nodeType":"ElementaryTypeName","src":"17760:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8239,"mutability":"mutable","name":"err","nameLocation":"17792:3:1","nodeType":"VariableDeclaration","scope":8252,"src":"17778:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8238,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17732:64:1"},"returnParameters":{"id":8241,"nodeType":"ParameterList","parameters":[],"src":"17819:0:1"},"scope":8712,"src":"17706:178:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8272,"nodeType":"Block","src":"18037:77:1","statements":[{"expression":{"arguments":[{"id":8266,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8254,"src":"18075:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8267,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8256,"src":"18081:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8268,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8258,"src":"18088:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8269,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8260,"src":"18098:8:1","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":8263,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"18047:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18050:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":20758,"src":"18047:27:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":8270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18047:60:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8271,"nodeType":"ExpressionStatement","src":"18047:60:1"}]},"id":8273,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17899:24:1","nodeType":"FunctionDefinition","parameters":{"id":8261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8254,"mutability":"mutable","name":"left","nameLocation":"17931:4:1","nodeType":"VariableDeclaration","scope":8273,"src":"17924:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8253,"name":"int256","nodeType":"ElementaryTypeName","src":"17924:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8256,"mutability":"mutable","name":"right","nameLocation":"17944:5:1","nodeType":"VariableDeclaration","scope":8273,"src":"17937:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8255,"name":"int256","nodeType":"ElementaryTypeName","src":"17937:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8258,"mutability":"mutable","name":"maxDelta","nameLocation":"17959:8:1","nodeType":"VariableDeclaration","scope":8273,"src":"17951:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8257,"name":"uint256","nodeType":"ElementaryTypeName","src":"17951:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8260,"mutability":"mutable","name":"decimals","nameLocation":"17977:8:1","nodeType":"VariableDeclaration","scope":8273,"src":"17969:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8259,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17923:63:1"},"returnParameters":{"id":8262,"nodeType":"ParameterList","parameters":[],"src":"18037:0:1"},"scope":8712,"src":"17890:224:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8296,"nodeType":"Block","src":"18286:82:1","statements":[{"expression":{"arguments":[{"id":8289,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8275,"src":"18324:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8290,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8277,"src":"18330:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8291,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8279,"src":"18337:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8292,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8281,"src":"18347:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8293,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8283,"src":"18357:3:1","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":8286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"18296:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18299:24:1","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":20772,"src":"18296:27:1","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":8294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18296:65:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8295,"nodeType":"ExpressionStatement","src":"18296:65:1"}]},"id":8297,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"18129:24:1","nodeType":"FunctionDefinition","parameters":{"id":8284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8275,"mutability":"mutable","name":"left","nameLocation":"18161:4:1","nodeType":"VariableDeclaration","scope":8297,"src":"18154:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8274,"name":"int256","nodeType":"ElementaryTypeName","src":"18154:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8277,"mutability":"mutable","name":"right","nameLocation":"18174:5:1","nodeType":"VariableDeclaration","scope":8297,"src":"18167:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8276,"name":"int256","nodeType":"ElementaryTypeName","src":"18167:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8279,"mutability":"mutable","name":"maxDelta","nameLocation":"18189:8:1","nodeType":"VariableDeclaration","scope":8297,"src":"18181:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8278,"name":"uint256","nodeType":"ElementaryTypeName","src":"18181:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8281,"mutability":"mutable","name":"decimals","nameLocation":"18207:8:1","nodeType":"VariableDeclaration","scope":8297,"src":"18199:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8280,"name":"uint256","nodeType":"ElementaryTypeName","src":"18199:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8283,"mutability":"mutable","name":"err","nameLocation":"18231:3:1","nodeType":"VariableDeclaration","scope":8297,"src":"18217:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8282,"name":"string","nodeType":"ElementaryTypeName","src":"18217:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18153:82:1"},"returnParameters":{"id":8285,"nodeType":"ParameterList","parameters":[],"src":"18286:0:1"},"scope":8712,"src":"18120:248:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8314,"nodeType":"Block","src":"18563:67:1","statements":[{"expression":{"arguments":[{"id":8309,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8299,"src":"18594:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8310,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8301,"src":"18600:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8311,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8303,"src":"18607:15:1","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":8306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"18573:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18576:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":20878,"src":"18573:20:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":8312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18573:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8313,"nodeType":"ExpressionStatement","src":"18573:50:1"}]},"id":8315,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18383:17:1","nodeType":"FunctionDefinition","parameters":{"id":8304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8299,"mutability":"mutable","name":"left","nameLocation":"18418:4:1","nodeType":"VariableDeclaration","scope":8315,"src":"18410:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8298,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8301,"mutability":"mutable","name":"right","nameLocation":"18440:5:1","nodeType":"VariableDeclaration","scope":8315,"src":"18432:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8300,"name":"uint256","nodeType":"ElementaryTypeName","src":"18432:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8303,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18463:15:1","nodeType":"VariableDeclaration","scope":8315,"src":"18455:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8302,"name":"uint256","nodeType":"ElementaryTypeName","src":"18455:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18400:140:1"},"returnParameters":{"id":8305,"nodeType":"ParameterList","parameters":[],"src":"18563:0:1"},"scope":8712,"src":"18374:256:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8335,"nodeType":"Block","src":"18852:72:1","statements":[{"expression":{"arguments":[{"id":8329,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8317,"src":"18883:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8330,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8319,"src":"18889:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8331,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8321,"src":"18896:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8332,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8323,"src":"18913:3:1","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":8326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"18862:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18865:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":20890,"src":"18862:20:1","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":8333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18862:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8334,"nodeType":"ExpressionStatement","src":"18862:55:1"}]},"id":8336,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18645:17:1","nodeType":"FunctionDefinition","parameters":{"id":8324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8317,"mutability":"mutable","name":"left","nameLocation":"18680:4:1","nodeType":"VariableDeclaration","scope":8336,"src":"18672:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8316,"name":"uint256","nodeType":"ElementaryTypeName","src":"18672:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8319,"mutability":"mutable","name":"right","nameLocation":"18702:5:1","nodeType":"VariableDeclaration","scope":8336,"src":"18694:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8318,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8321,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18725:15:1","nodeType":"VariableDeclaration","scope":8336,"src":"18717:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8320,"name":"uint256","nodeType":"ElementaryTypeName","src":"18717:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8323,"mutability":"mutable","name":"err","nameLocation":"18820:3:1","nodeType":"VariableDeclaration","scope":8336,"src":"18806:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8322,"name":"string","nodeType":"ElementaryTypeName","src":"18806:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18662:167:1"},"returnParameters":{"id":8325,"nodeType":"ParameterList","parameters":[],"src":"18852:0:1"},"scope":8712,"src":"18636:288:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8356,"nodeType":"Block","src":"19152:84:1","statements":[{"expression":{"arguments":[{"id":8350,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8338,"src":"19190:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8351,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8340,"src":"19196:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8352,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8342,"src":"19203:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8353,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8344,"src":"19220:8:1","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":8347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"19162:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19165:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":20828,"src":"19162:27:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":8354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19162:67:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8355,"nodeType":"ExpressionStatement","src":"19162:67:1"}]},"id":8357,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"18939:24:1","nodeType":"FunctionDefinition","parameters":{"id":8345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8338,"mutability":"mutable","name":"left","nameLocation":"18981:4:1","nodeType":"VariableDeclaration","scope":8357,"src":"18973:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8337,"name":"uint256","nodeType":"ElementaryTypeName","src":"18973:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8340,"mutability":"mutable","name":"right","nameLocation":"19003:5:1","nodeType":"VariableDeclaration","scope":8357,"src":"18995:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8339,"name":"uint256","nodeType":"ElementaryTypeName","src":"18995:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8342,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19026:15:1","nodeType":"VariableDeclaration","scope":8357,"src":"19018:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8341,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8344,"mutability":"mutable","name":"decimals","nameLocation":"19115:8:1","nodeType":"VariableDeclaration","scope":8357,"src":"19107:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8343,"name":"uint256","nodeType":"ElementaryTypeName","src":"19107:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:166:1"},"returnParameters":{"id":8346,"nodeType":"ParameterList","parameters":[],"src":"19152:0:1"},"scope":8712,"src":"18930:306:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8380,"nodeType":"Block","src":"19491:89:1","statements":[{"expression":{"arguments":[{"id":8373,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"19529:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8374,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8361,"src":"19535:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8375,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8363,"src":"19542:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8376,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8365,"src":"19559:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8377,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8367,"src":"19569:3:1","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":8370,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"19501:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19504:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":20842,"src":"19501:27:1","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":8378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19501:72:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8379,"nodeType":"ExpressionStatement","src":"19501:72:1"}]},"id":8381,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"19251:24:1","nodeType":"FunctionDefinition","parameters":{"id":8368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8359,"mutability":"mutable","name":"left","nameLocation":"19293:4:1","nodeType":"VariableDeclaration","scope":8381,"src":"19285:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8358,"name":"uint256","nodeType":"ElementaryTypeName","src":"19285:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8361,"mutability":"mutable","name":"right","nameLocation":"19315:5:1","nodeType":"VariableDeclaration","scope":8381,"src":"19307:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8360,"name":"uint256","nodeType":"ElementaryTypeName","src":"19307:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8363,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19338:15:1","nodeType":"VariableDeclaration","scope":8381,"src":"19330:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8362,"name":"uint256","nodeType":"ElementaryTypeName","src":"19330:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8365,"mutability":"mutable","name":"decimals","nameLocation":"19427:8:1","nodeType":"VariableDeclaration","scope":8381,"src":"19419:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8364,"name":"uint256","nodeType":"ElementaryTypeName","src":"19419:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8367,"mutability":"mutable","name":"err","nameLocation":"19459:3:1","nodeType":"VariableDeclaration","scope":8381,"src":"19445:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8366,"name":"string","nodeType":"ElementaryTypeName","src":"19445:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19275:193:1"},"returnParameters":{"id":8369,"nodeType":"ParameterList","parameters":[],"src":"19491:0:1"},"scope":8712,"src":"19242:338:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8398,"nodeType":"Block","src":"19687:67:1","statements":[{"expression":{"arguments":[{"id":8393,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"19718:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8394,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8385,"src":"19724:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8395,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"19731:15:1","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":8390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"19697:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19700:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":20900,"src":"19697:20:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":8396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19697:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8397,"nodeType":"ExpressionStatement","src":"19697:50:1"}]},"id":8399,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19595:17:1","nodeType":"FunctionDefinition","parameters":{"id":8388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8383,"mutability":"mutable","name":"left","nameLocation":"19620:4:1","nodeType":"VariableDeclaration","scope":8399,"src":"19613:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8382,"name":"int256","nodeType":"ElementaryTypeName","src":"19613:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8385,"mutability":"mutable","name":"right","nameLocation":"19633:5:1","nodeType":"VariableDeclaration","scope":8399,"src":"19626:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8384,"name":"int256","nodeType":"ElementaryTypeName","src":"19626:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8387,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19648:15:1","nodeType":"VariableDeclaration","scope":8399,"src":"19640:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8386,"name":"uint256","nodeType":"ElementaryTypeName","src":"19640:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19612:52:1"},"returnParameters":{"id":8389,"nodeType":"ParameterList","parameters":[],"src":"19687:0:1"},"scope":8712,"src":"19586:168:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8419,"nodeType":"Block","src":"19974:72:1","statements":[{"expression":{"arguments":[{"id":8413,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"20005:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8414,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8403,"src":"20011:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8415,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8405,"src":"20018:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8416,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"20035:3:1","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":8410,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"19984:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19987:17:1","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":20912,"src":"19984:20:1","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":8417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8418,"nodeType":"ExpressionStatement","src":"19984:55:1"}]},"id":8420,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19769:17:1","nodeType":"FunctionDefinition","parameters":{"id":8408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8401,"mutability":"mutable","name":"left","nameLocation":"19803:4:1","nodeType":"VariableDeclaration","scope":8420,"src":"19796:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8400,"name":"int256","nodeType":"ElementaryTypeName","src":"19796:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8403,"mutability":"mutable","name":"right","nameLocation":"19824:5:1","nodeType":"VariableDeclaration","scope":8420,"src":"19817:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8402,"name":"int256","nodeType":"ElementaryTypeName","src":"19817:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8405,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19847:15:1","nodeType":"VariableDeclaration","scope":8420,"src":"19839:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8404,"name":"uint256","nodeType":"ElementaryTypeName","src":"19839:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8407,"mutability":"mutable","name":"err","nameLocation":"19942:3:1","nodeType":"VariableDeclaration","scope":8420,"src":"19928:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8406,"name":"string","nodeType":"ElementaryTypeName","src":"19928:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19786:165:1"},"returnParameters":{"id":8409,"nodeType":"ParameterList","parameters":[],"src":"19974:0:1"},"scope":8712,"src":"19760:286:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8440,"nodeType":"Block","src":"20272:84:1","statements":[{"expression":{"arguments":[{"id":8434,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8422,"src":"20310:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8435,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8424,"src":"20316:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8436,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8426,"src":"20323:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8437,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8428,"src":"20340:8:1","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":8431,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"20282:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20285:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":20854,"src":"20282:27:1","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":8438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20282:67:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8439,"nodeType":"ExpressionStatement","src":"20282:67:1"}]},"id":8441,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20061:24:1","nodeType":"FunctionDefinition","parameters":{"id":8429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8422,"mutability":"mutable","name":"left","nameLocation":"20102:4:1","nodeType":"VariableDeclaration","scope":8441,"src":"20095:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8421,"name":"int256","nodeType":"ElementaryTypeName","src":"20095:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8424,"mutability":"mutable","name":"right","nameLocation":"20123:5:1","nodeType":"VariableDeclaration","scope":8441,"src":"20116:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8423,"name":"int256","nodeType":"ElementaryTypeName","src":"20116:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8426,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20146:15:1","nodeType":"VariableDeclaration","scope":8441,"src":"20138:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8425,"name":"uint256","nodeType":"ElementaryTypeName","src":"20138:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8428,"mutability":"mutable","name":"decimals","nameLocation":"20235:8:1","nodeType":"VariableDeclaration","scope":8441,"src":"20227:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8427,"name":"uint256","nodeType":"ElementaryTypeName","src":"20227:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20085:164:1"},"returnParameters":{"id":8430,"nodeType":"ParameterList","parameters":[],"src":"20272:0:1"},"scope":8712,"src":"20052:304:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8464,"nodeType":"Block","src":"20609:89:1","statements":[{"expression":{"arguments":[{"id":8457,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8443,"src":"20647:4:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8458,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8445,"src":"20653:5:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8459,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8447,"src":"20660:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8460,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8449,"src":"20677:8:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8461,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8451,"src":"20687:3:1","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":8454,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"20619:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":8456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20622:24:1","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":20868,"src":"20619:27:1","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":8462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20619:72:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8463,"nodeType":"ExpressionStatement","src":"20619:72:1"}]},"id":8465,"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20371:24:1","nodeType":"FunctionDefinition","parameters":{"id":8452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8443,"mutability":"mutable","name":"left","nameLocation":"20412:4:1","nodeType":"VariableDeclaration","scope":8465,"src":"20405:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8442,"name":"int256","nodeType":"ElementaryTypeName","src":"20405:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8445,"mutability":"mutable","name":"right","nameLocation":"20433:5:1","nodeType":"VariableDeclaration","scope":8465,"src":"20426:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8444,"name":"int256","nodeType":"ElementaryTypeName","src":"20426:6:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8447,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20456:15:1","nodeType":"VariableDeclaration","scope":8465,"src":"20448:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8446,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8449,"mutability":"mutable","name":"decimals","nameLocation":"20545:8:1","nodeType":"VariableDeclaration","scope":8465,"src":"20537:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8448,"name":"uint256","nodeType":"ElementaryTypeName","src":"20537:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8451,"mutability":"mutable","name":"err","nameLocation":"20577:3:1","nodeType":"VariableDeclaration","scope":8465,"src":"20563:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8450,"name":"string","nodeType":"ElementaryTypeName","src":"20563:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20395:191:1"},"returnParameters":{"id":8453,"nodeType":"ParameterList","parameters":[],"src":"20609:0:1"},"scope":8712,"src":"20362:336:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8482,"nodeType":"Block","src":"20866:59:1","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8475,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"20893:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8474,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20883:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20883:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":8478,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"20912:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8477,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20902:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20902:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"20883:35:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8473,"id":8481,"nodeType":"Return","src":"20876:42:1"}]},"id":8483,"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"20789:8:1","nodeType":"FunctionDefinition","parameters":{"id":8470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8467,"mutability":"mutable","name":"left","nameLocation":"20811:4:1","nodeType":"VariableDeclaration","scope":8483,"src":"20798:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8466,"name":"bytes","nodeType":"ElementaryTypeName","src":"20798:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8469,"mutability":"mutable","name":"right","nameLocation":"20830:5:1","nodeType":"VariableDeclaration","scope":8483,"src":"20817:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8468,"name":"bytes","nodeType":"ElementaryTypeName","src":"20817:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20797:39:1"},"returnParameters":{"id":8473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8483,"src":"20860:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8471,"name":"bool","nodeType":"ElementaryTypeName","src":"20860:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20859:6:1"},"scope":8712,"src":"20780:145:1","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8495,"nodeType":"Block","src":"21011:38:1","statements":[{"expression":{"arguments":[{"id":8491,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"21030:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8492,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8487,"src":"21036:5:1","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":8490,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6666,"src":"21021:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":8493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21021:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8494,"nodeType":"ExpressionStatement","src":"21021:21:1"}]},"id":8496,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"20940:9:1","nodeType":"FunctionDefinition","parameters":{"id":8488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8485,"mutability":"mutable","name":"left","nameLocation":"20963:4:1","nodeType":"VariableDeclaration","scope":8496,"src":"20950:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8484,"name":"bytes","nodeType":"ElementaryTypeName","src":"20950:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8487,"mutability":"mutable","name":"right","nameLocation":"20982:5:1","nodeType":"VariableDeclaration","scope":8496,"src":"20969:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8486,"name":"bytes","nodeType":"ElementaryTypeName","src":"20969:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20949:39:1"},"returnParameters":{"id":8489,"nodeType":"ParameterList","parameters":[],"src":"21011:0:1"},"scope":8712,"src":"20931:118:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8511,"nodeType":"Block","src":"21154:43:1","statements":[{"expression":{"arguments":[{"id":8506,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8498,"src":"21173:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8507,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8500,"src":"21179:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8508,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8502,"src":"21186:3:1","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":8505,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6684,"src":"21164:8:1","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":8509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21164:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8510,"nodeType":"ExpressionStatement","src":"21164:26:1"}]},"id":8512,"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"21064:9:1","nodeType":"FunctionDefinition","parameters":{"id":8503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8498,"mutability":"mutable","name":"left","nameLocation":"21087:4:1","nodeType":"VariableDeclaration","scope":8512,"src":"21074:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8497,"name":"bytes","nodeType":"ElementaryTypeName","src":"21074:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8500,"mutability":"mutable","name":"right","nameLocation":"21106:5:1","nodeType":"VariableDeclaration","scope":8512,"src":"21093:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8499,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8502,"mutability":"mutable","name":"err","nameLocation":"21127:3:1","nodeType":"VariableDeclaration","scope":8512,"src":"21113:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8501,"name":"string","nodeType":"ElementaryTypeName","src":"21113:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21073:58:1"},"returnParameters":{"id":8504,"nodeType":"ParameterList","parameters":[],"src":"21154:0:1"},"scope":8712,"src":"21055:142:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8524,"nodeType":"Block","src":"21286:41:1","statements":[{"expression":{"arguments":[{"id":8520,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8514,"src":"21308:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8521,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8516,"src":"21314:5:1","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":8519,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[6971,6989,7004,7022,7076,7094,7148,7166,7181,7199,7243,7261,7276,7294,7311,7331,7348,7368,7385,7405,7422,7442,7459,7479,7496,7516,7533,7553],"referencedDeclaration":7276,"src":"21296:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":8522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21296:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8523,"nodeType":"ExpressionStatement","src":"21296:24:1"}]},"id":8525,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21212:12:1","nodeType":"FunctionDefinition","parameters":{"id":8517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8514,"mutability":"mutable","name":"left","nameLocation":"21238:4:1","nodeType":"VariableDeclaration","scope":8525,"src":"21225:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8513,"name":"bytes","nodeType":"ElementaryTypeName","src":"21225:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8516,"mutability":"mutable","name":"right","nameLocation":"21257:5:1","nodeType":"VariableDeclaration","scope":8525,"src":"21244:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8515,"name":"bytes","nodeType":"ElementaryTypeName","src":"21244:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21224:39:1"},"returnParameters":{"id":8518,"nodeType":"ParameterList","parameters":[],"src":"21286:0:1"},"scope":8712,"src":"21203:124:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8540,"nodeType":"Block","src":"21435:46:1","statements":[{"expression":{"arguments":[{"id":8535,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8527,"src":"21457:4:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8536,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8529,"src":"21463:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8537,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8531,"src":"21470:3:1","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":8534,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[6971,6989,7004,7022,7076,7094,7148,7166,7181,7199,7243,7261,7276,7294,7311,7331,7348,7368,7385,7405,7422,7442,7459,7479,7496,7516,7533,7553],"referencedDeclaration":7294,"src":"21445:11:1","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":8538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21445:29:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8539,"nodeType":"ExpressionStatement","src":"21445:29:1"}]},"id":8541,"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21342:12:1","nodeType":"FunctionDefinition","parameters":{"id":8532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8527,"mutability":"mutable","name":"left","nameLocation":"21368:4:1","nodeType":"VariableDeclaration","scope":8541,"src":"21355:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8526,"name":"bytes","nodeType":"ElementaryTypeName","src":"21355:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8529,"mutability":"mutable","name":"right","nameLocation":"21387:5:1","nodeType":"VariableDeclaration","scope":8541,"src":"21374:18:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8528,"name":"bytes","nodeType":"ElementaryTypeName","src":"21374:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8531,"mutability":"mutable","name":"err","nameLocation":"21408:3:1","nodeType":"VariableDeclaration","scope":8541,"src":"21394:17:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8530,"name":"string","nodeType":"ElementaryTypeName","src":"21394:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21354:58:1"},"returnParameters":{"id":8533,"nodeType":"ParameterList","parameters":[],"src":"21435:0:1"},"scope":8712,"src":"21333:148:1","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":8558,"nodeType":"Block","src":"21590:73:1","statements":[{"expression":{"arguments":[{"id":8551,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"21613:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8552,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8545,"src":"21621:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8553,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"21632:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8554,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8547,"src":"21640:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":8555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21651:4:1","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":8550,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[8559,8579,8599,8711],"referencedDeclaration":8711,"src":"21600:12:1","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":8556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21600:56:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8557,"nodeType":"ExpressionStatement","src":"21600:56:1"}]},"id":8559,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21496:12:1","nodeType":"FunctionDefinition","parameters":{"id":8548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8543,"mutability":"mutable","name":"target","nameLocation":"21517:6:1","nodeType":"VariableDeclaration","scope":8559,"src":"21509:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8542,"name":"address","nodeType":"ElementaryTypeName","src":"21509:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8545,"mutability":"mutable","name":"callDataA","nameLocation":"21538:9:1","nodeType":"VariableDeclaration","scope":8559,"src":"21525:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8544,"name":"bytes","nodeType":"ElementaryTypeName","src":"21525:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8547,"mutability":"mutable","name":"callDataB","nameLocation":"21562:9:1","nodeType":"VariableDeclaration","scope":8559,"src":"21549:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8546,"name":"bytes","nodeType":"ElementaryTypeName","src":"21549:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21508:64:1"},"returnParameters":{"id":8549,"nodeType":"ParameterList","parameters":[],"src":"21590:0:1"},"scope":8712,"src":"21487:176:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8578,"nodeType":"Block","src":"21810:75:1","statements":[{"expression":{"arguments":[{"id":8571,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8561,"src":"21833:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8572,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8563,"src":"21842:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8573,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8565,"src":"21853:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8574,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"21862:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":8575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21873:4:1","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":8570,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[8559,8579,8599,8711],"referencedDeclaration":8711,"src":"21820:12:1","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":8576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21820:58:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8577,"nodeType":"ExpressionStatement","src":"21820:58:1"}]},"id":8579,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21678:12:1","nodeType":"FunctionDefinition","parameters":{"id":8568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8561,"mutability":"mutable","name":"targetA","nameLocation":"21699:7:1","nodeType":"VariableDeclaration","scope":8579,"src":"21691:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8560,"name":"address","nodeType":"ElementaryTypeName","src":"21691:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8563,"mutability":"mutable","name":"callDataA","nameLocation":"21721:9:1","nodeType":"VariableDeclaration","scope":8579,"src":"21708:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8562,"name":"bytes","nodeType":"ElementaryTypeName","src":"21708:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8565,"mutability":"mutable","name":"targetB","nameLocation":"21740:7:1","nodeType":"VariableDeclaration","scope":8579,"src":"21732:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8564,"name":"address","nodeType":"ElementaryTypeName","src":"21732:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8567,"mutability":"mutable","name":"callDataB","nameLocation":"21762:9:1","nodeType":"VariableDeclaration","scope":8579,"src":"21749:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8566,"name":"bytes","nodeType":"ElementaryTypeName","src":"21749:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21690:82:1"},"returnParameters":{"id":8569,"nodeType":"ParameterList","parameters":[],"src":"21810:0:1"},"scope":8712,"src":"21669:216:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8598,"nodeType":"Block","src":"22037:85:1","statements":[{"expression":{"arguments":[{"id":8591,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"22060:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8592,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8583,"src":"22068:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8593,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"22079:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8594,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8585,"src":"22087:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8595,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8587,"src":"22098:16:1","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":8590,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[8559,8579,8599,8711],"referencedDeclaration":8711,"src":"22047:12:1","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":8596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22047:68:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8597,"nodeType":"ExpressionStatement","src":"22047:68:1"}]},"id":8599,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21900:12:1","nodeType":"FunctionDefinition","parameters":{"id":8588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8581,"mutability":"mutable","name":"target","nameLocation":"21921:6:1","nodeType":"VariableDeclaration","scope":8599,"src":"21913:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8580,"name":"address","nodeType":"ElementaryTypeName","src":"21913:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8583,"mutability":"mutable","name":"callDataA","nameLocation":"21942:9:1","nodeType":"VariableDeclaration","scope":8599,"src":"21929:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8582,"name":"bytes","nodeType":"ElementaryTypeName","src":"21929:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8585,"mutability":"mutable","name":"callDataB","nameLocation":"21966:9:1","nodeType":"VariableDeclaration","scope":8599,"src":"21953:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8584,"name":"bytes","nodeType":"ElementaryTypeName","src":"21953:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8587,"mutability":"mutable","name":"strictRevertData","nameLocation":"21982:16:1","nodeType":"VariableDeclaration","scope":8599,"src":"21977:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8586,"name":"bool","nodeType":"ElementaryTypeName","src":"21977:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21912:87:1"},"returnParameters":{"id":8589,"nodeType":"ParameterList","parameters":[],"src":"22037:0:1"},"scope":8712,"src":"21891:231:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8710,"nodeType":"Block","src":"22318:1039:1","statements":[{"assignments":[8613,8615],"declarations":[{"constant":false,"id":8613,"mutability":"mutable","name":"successA","nameLocation":"22334:8:1","nodeType":"VariableDeclaration","scope":8710,"src":"22329:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8612,"name":"bool","nodeType":"ElementaryTypeName","src":"22329:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8615,"mutability":"mutable","name":"returnDataA","nameLocation":"22357:11:1","nodeType":"VariableDeclaration","scope":8710,"src":"22344:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8614,"name":"bytes","nodeType":"ElementaryTypeName","src":"22344:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8623,"initialValue":{"arguments":[{"id":8621,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8603,"src":"22394:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":8618,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8601,"src":"22380:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22372:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8616,"name":"address","nodeType":"ElementaryTypeName","src":"22372:7:1","typeDescriptions":{}}},"id":8619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:4:1","memberName":"call","nodeType":"MemberAccess","src":"22372:21:1","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":8622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22328:76:1"},{"assignments":[8625,8627],"declarations":[{"constant":false,"id":8625,"mutability":"mutable","name":"successB","nameLocation":"22420:8:1","nodeType":"VariableDeclaration","scope":8710,"src":"22415:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8624,"name":"bool","nodeType":"ElementaryTypeName","src":"22415:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8627,"mutability":"mutable","name":"returnDataB","nameLocation":"22443:11:1","nodeType":"VariableDeclaration","scope":8710,"src":"22430:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8626,"name":"bytes","nodeType":"ElementaryTypeName","src":"22430:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8635,"initialValue":{"arguments":[{"id":8633,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8607,"src":"22480:9:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":8630,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8605,"src":"22466:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22458:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8628,"name":"address","nodeType":"ElementaryTypeName","src":"22458:7:1","typeDescriptions":{}}},"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22475:4:1","memberName":"call","nodeType":"MemberAccess","src":"22458:21:1","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":8634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22414:76:1"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8636,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8613,"src":"22505:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8637,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"22517:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22505:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8646,"nodeType":"IfStatement","src":"22501:120:1","trueBody":{"id":8645,"nodeType":"Block","src":"22527:94:1","statements":[{"expression":{"arguments":[{"id":8640,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"22550:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8641,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8627,"src":"22563:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":8642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22576:33:1","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":8639,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6684,"src":"22541:8:1","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":8643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:69:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8644,"nodeType":"ExpressionStatement","src":"22541:69:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22635:9:1","subExpression":{"id":8647,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8613,"src":"22636:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22648:9:1","subExpression":{"id":8649,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"22649:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8652,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8609,"src":"22661:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:42:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8661,"nodeType":"IfStatement","src":"22631:142:1","trueBody":{"id":8660,"nodeType":"Block","src":"22679:94:1","statements":[{"expression":{"arguments":[{"id":8655,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"22702:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8656,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8627,"src":"22715:11:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":8657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22728:33:1","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":8654,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6684,"src":"22693:8:1","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":8658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22693:69:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8659,"nodeType":"ExpressionStatement","src":"22693:69:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22787:9:1","subExpression":{"id":8662,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8613,"src":"22788:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8664,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"22800:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22787:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8685,"nodeType":"IfStatement","src":"22783:279:1","trueBody":{"id":8684,"nodeType":"Block","src":"22810:252:1","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":8667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22833:29:1","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":8666,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6117,"src":"22829:3:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":8668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22829:34:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8669,"nodeType":"EmitStatement","src":"22824:39:1"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":8671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22898:25:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \"  Left call revert data\""},"value":"  Left call revert data"},{"id":8672,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"22925:11:1","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":8670,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"22882:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":8673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22882:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8674,"nodeType":"EmitStatement","src":"22877:60:1"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":8676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22972:25:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":8677,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8627,"src":"22999:11:1","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":8675,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"22956:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":8678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22956:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8679,"nodeType":"EmitStatement","src":"22951:60:1"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":8681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23032:18:1","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":8680,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23025:6:1","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":8682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23025:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8683,"nodeType":"ExpressionStatement","src":"23025:26:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8686,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8613,"src":"23076:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23088:9:1","subExpression":{"id":8687,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"23089:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23076:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8709,"nodeType":"IfStatement","src":"23072:279:1","trueBody":{"id":8708,"nodeType":"Block","src":"23099:252:1","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":8691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23122:29:1","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":8690,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6117,"src":"23118:3:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":8692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23118:34:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8693,"nodeType":"EmitStatement","src":"23113:39:1"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":8695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23187:25:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \"  Left call return data\""},"value":"  Left call return data"},{"id":8696,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8615,"src":"23214:11:1","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":8694,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"23171:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":8697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23171:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8698,"nodeType":"EmitStatement","src":"23166:60:1"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":8700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23261:25:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":8701,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8627,"src":"23288:11:1","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":8699,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"23245:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":8702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23245:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8703,"nodeType":"EmitStatement","src":"23240:60:1"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":8705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23321:18:1","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":8704,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23314:6:1","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":8706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23314:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8707,"nodeType":"ExpressionStatement","src":"23314:26:1"}]}}]},"id":8711,"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"22137:12:1","nodeType":"FunctionDefinition","parameters":{"id":8610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8601,"mutability":"mutable","name":"targetA","nameLocation":"22167:7:1","nodeType":"VariableDeclaration","scope":8711,"src":"22159:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8600,"name":"address","nodeType":"ElementaryTypeName","src":"22159:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8603,"mutability":"mutable","name":"callDataA","nameLocation":"22197:9:1","nodeType":"VariableDeclaration","scope":8711,"src":"22184:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8602,"name":"bytes","nodeType":"ElementaryTypeName","src":"22184:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8605,"mutability":"mutable","name":"targetB","nameLocation":"22224:7:1","nodeType":"VariableDeclaration","scope":8711,"src":"22216:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8604,"name":"address","nodeType":"ElementaryTypeName","src":"22216:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8607,"mutability":"mutable","name":"callDataB","nameLocation":"22254:9:1","nodeType":"VariableDeclaration","scope":8711,"src":"22241:22:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8606,"name":"bytes","nodeType":"ElementaryTypeName","src":"22241:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8609,"mutability":"mutable","name":"strictRevertData","nameLocation":"22278:16:1","nodeType":"VariableDeclaration","scope":8711,"src":"22273:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8608,"name":"bool","nodeType":"ElementaryTypeName","src":"22273:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22149:151:1"},"returnParameters":{"id":8611,"nodeType":"ParameterList","parameters":[],"src":"22318:0:1"},"scope":8712,"src":"22128:1229:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":8713,"src":"129:23230:1","usedErrors":[],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"32:23328:1"},"id":1},"v4-core/lib/forge-std/src/StdChains.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdChains.sol","exportedSymbols":{"StdChains":[9557],"VmSafe":[22388]},"id":9558,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8714,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:2"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":8716,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9558,"sourceUnit":23232,"src":"65:32:2","symbolAliases":[{"foreign":{"id":8715,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"73:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":8717,"nodeType":"StructuredDocumentation","src":"99:1799:2","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,"id":9557,"linearizedBaseContracts":[9557],"name":"StdChains","nameLocation":"1917:9:2","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":8734,"mutability":"constant","name":"vm","nameLocation":"1957:2:2","nodeType":"VariableDeclaration","scope":9557,"src":"1933:92:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":8719,"nodeType":"UserDefinedTypeName","pathNode":{"id":8718,"name":"VmSafe","nameLocations":["1933:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"1933:6:2"},"referencedDeclaration":22388,"src":"1933:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2003: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":8727,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1993:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1985:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8725,"name":"uint256","nodeType":"ElementaryTypeName","src":"1985:7:2","typeDescriptions":{}}},"id":8730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1977:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8723,"name":"uint160","nodeType":"ElementaryTypeName","src":"1977:7:2","typeDescriptions":{}}},"id":8731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1977:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8721,"name":"address","nodeType":"ElementaryTypeName","src":"1969:7:2","typeDescriptions":{}}},"id":8732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8720,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"1962:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":8733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:63:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"private"},{"constant":false,"id":8736,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2045:20:2","nodeType":"VariableDeclaration","scope":9557,"src":"2032:33:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8735,"name":"bool","nodeType":"ElementaryTypeName","src":"2032:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"canonicalName":"StdChains.ChainData","id":8743,"members":[{"constant":false,"id":8738,"mutability":"mutable","name":"name","nameLocation":"2106:4:2","nodeType":"VariableDeclaration","scope":8743,"src":"2099:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":8737,"name":"string","nodeType":"ElementaryTypeName","src":"2099:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8740,"mutability":"mutable","name":"chainId","nameLocation":"2128:7:2","nodeType":"VariableDeclaration","scope":8743,"src":"2120:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8739,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8742,"mutability":"mutable","name":"rpcUrl","nameLocation":"2152:6:2","nodeType":"VariableDeclaration","scope":8743,"src":"2145:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":8741,"name":"string","nodeType":"ElementaryTypeName","src":"2145:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2079:9:2","nodeType":"StructDefinition","scope":9557,"src":"2072:93:2","visibility":"public"},{"canonicalName":"StdChains.Chain","id":8752,"members":[{"constant":false,"id":8745,"mutability":"mutable","name":"name","nameLocation":"2228:4:2","nodeType":"VariableDeclaration","scope":8752,"src":"2221:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":8744,"name":"string","nodeType":"ElementaryTypeName","src":"2221:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8747,"mutability":"mutable","name":"chainId","nameLocation":"2283:7:2","nodeType":"VariableDeclaration","scope":8752,"src":"2275:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8746,"name":"uint256","nodeType":"ElementaryTypeName","src":"2275:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8749,"mutability":"mutable","name":"chainAlias","nameLocation":"2383:10:2","nodeType":"VariableDeclaration","scope":8752,"src":"2376:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":8748,"name":"string","nodeType":"ElementaryTypeName","src":"2376:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8751,"mutability":"mutable","name":"rpcUrl","nameLocation":"2756:6:2","nodeType":"VariableDeclaration","scope":8752,"src":"2749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":8750,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2178:5:2","nodeType":"StructDefinition","scope":9557,"src":"2171:598:2","visibility":"public"},{"constant":false,"id":8757,"mutability":"mutable","name":"chains","nameLocation":"2906:6:2","nodeType":"VariableDeclaration","scope":9557,"src":"2873:39:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":8756,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8753,"name":"string","nodeType":"ElementaryTypeName","src":"2881:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2873:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8755,"nodeType":"UserDefinedTypeName","pathNode":{"id":8754,"name":"Chain","nameLocations":["2891:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"2891:5:2"},"referencedDeclaration":8752,"src":"2891:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"constant":false,"id":8761,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3012:14:2","nodeType":"VariableDeclaration","scope":9557,"src":"2978:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":8760,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8758,"name":"string","nodeType":"ElementaryTypeName","src":"2986:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2978:25:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8759,"name":"string","nodeType":"ElementaryTypeName","src":"2996:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"constant":false,"id":8765,"mutability":"mutable","name":"idToAlias","nameLocation":"3110:9:2","nodeType":"VariableDeclaration","scope":9557,"src":"3075:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":8764,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3083:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3075:26:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8763,"name":"string","nodeType":"ElementaryTypeName","src":"3094:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"constant":false,"id":8768,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3139:24:2","nodeType":"VariableDeclaration","scope":9557,"src":"3126:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8766,"name":"bool","nodeType":"ElementaryTypeName","src":"3126:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":8767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3166:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"body":{"id":8819,"nodeType":"Block","src":"3345:434:2","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":8779,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3369:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3363:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8777,"name":"bytes","nodeType":"ElementaryTypeName","src":"3363:5:2","typeDescriptions":{}}},"id":8780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3363:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3381:6:2","memberName":"length","nodeType":"MemberAccess","src":"3363:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3391:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3363:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":8784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3394:69:2","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":8776,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3355:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3355:109:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8786,"nodeType":"ExpressionStatement","src":"3355:109:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":8787,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9519,"src":"3475:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":8788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8789,"nodeType":"ExpressionStatement","src":"3475:21:2"},{"expression":{"id":8794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8790,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"3506:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":8791,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"3514:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":8793,"indexExpression":{"id":8792,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3521:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3514:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3506:26:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8795,"nodeType":"ExpressionStatement","src":"3506:26:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8797,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"3563:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3569:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8747,"src":"3563:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3580:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3563:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":8805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3619:49:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":8806,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3670:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":8807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3682:15:2","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":8803,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3602:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3606:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"3602:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:96:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3595:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":8801,"name":"string","nodeType":"ElementaryTypeName","src":"3595:6:2","typeDescriptions":{}}},"id":8809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3595:104:2","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":8796,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3542:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:167:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8811,"nodeType":"ExpressionStatement","src":"3542:167:2"},{"expression":{"id":8817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8812,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"3720:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8814,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8770,"src":"3754:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8815,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8774,"src":"3766:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":8813,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9228,"src":"3728:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$8752_memory_ptr_$returns$_t_struct$_Chain_$8752_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":8816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3728:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3720:52:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8818,"nodeType":"ExpressionStatement","src":"3720:52:2"}]},"id":8820,"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3264:8:2","nodeType":"FunctionDefinition","parameters":{"id":8771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8770,"mutability":"mutable","name":"chainAlias","nameLocation":"3287:10:2","nodeType":"VariableDeclaration","scope":8820,"src":"3273:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8769,"name":"string","nodeType":"ElementaryTypeName","src":"3273:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3272:26:2"},"returnParameters":{"id":8775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8774,"mutability":"mutable","name":"chain","nameLocation":"3338:5:2","nodeType":"VariableDeclaration","scope":8820,"src":"3325:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":8773,"nodeType":"UserDefinedTypeName","pathNode":{"id":8772,"name":"Chain","nameLocations":["3325:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"3325:5:2"},"referencedDeclaration":8752,"src":"3325:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3324:20:2"},"scope":9557,"src":"3255:524:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8876,"nodeType":"Block","src":"3866:460:2","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8829,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8822,"src":"3884:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3895:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3884:12:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":8832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3898:52:2","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":8828,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3876:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:75:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8834,"nodeType":"ExpressionStatement","src":"3876:75:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":8835,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9519,"src":"3961:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":8836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8837,"nodeType":"ExpressionStatement","src":"3961:21:2"},{"assignments":[8839],"declarations":[{"constant":false,"id":8839,"mutability":"mutable","name":"chainAlias","nameLocation":"4006:10:2","nodeType":"VariableDeclaration","scope":8876,"src":"3992:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8838,"name":"string","nodeType":"ElementaryTypeName","src":"3992:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":8843,"initialValue":{"baseExpression":{"id":8840,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"4019:9:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":8842,"indexExpression":{"id":8841,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8822,"src":"4029:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4019:18:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3992:45:2"},{"expression":{"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8844,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"4048:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":8845,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"4056:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":8847,"indexExpression":{"id":8846,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"4063:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4056:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4048:26:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8849,"nodeType":"ExpressionStatement","src":"4048:26:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8851,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"4106:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4112:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8747,"src":"4106:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4106:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":8859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4162:45:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":8862,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8822,"src":"4221:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8860,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"4209:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":8861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4212:8:2","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"4209:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4209:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":8864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4231:13:2","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":8857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4145:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4149:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"4145:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:100:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4138:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":8855,"name":"string","nodeType":"ElementaryTypeName","src":"4138:6:2","typeDescriptions":{}}},"id":8866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:108:2","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":8850,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4085:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:171:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8868,"nodeType":"ExpressionStatement","src":"4085:171:2"},{"expression":{"id":8874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8869,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"4267:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8871,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"4301:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8872,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"4313:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":8870,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9228,"src":"4275:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$8752_memory_ptr_$returns$_t_struct$_Chain_$8752_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":8873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4275:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4267:52:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8875,"nodeType":"ExpressionStatement","src":"4267:52:2"}]},"id":8877,"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3794:8:2","nodeType":"FunctionDefinition","parameters":{"id":8823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8822,"mutability":"mutable","name":"chainId","nameLocation":"3811:7:2","nodeType":"VariableDeclaration","scope":8877,"src":"3803:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8821,"name":"uint256","nodeType":"ElementaryTypeName","src":"3803:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3802:17:2"},"returnParameters":{"id":8827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8826,"mutability":"mutable","name":"chain","nameLocation":"3859:5:2","nodeType":"VariableDeclaration","scope":8877,"src":"3846:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":8825,"nodeType":"UserDefinedTypeName","pathNode":{"id":8824,"name":"Chain","nameLocations":["3846:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"3846:5:2"},"referencedDeclaration":8752,"src":"3846:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3845:20:2"},"scope":9557,"src":"3785:541:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":8986,"nodeType":"Block","src":"4482:1088:2","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":8888,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"4519:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4513:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8886,"name":"bytes","nodeType":"ElementaryTypeName","src":"4513:5:2","typeDescriptions":{}}},"id":8889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4513:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4531:6:2","memberName":"length","nodeType":"MemberAccess","src":"4513:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4541:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4513:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":8893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4556:79:2","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":8885,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4492:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:153:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8895,"nodeType":"ExpressionStatement","src":"4492:153:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8897,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"4664:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4670:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8740,"src":"4664:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4664:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":8901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4684:61:2","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":8896,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4656:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4656:90:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8903,"nodeType":"ExpressionStatement","src":"4656:90:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":8904,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9519,"src":"4757:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":8905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4757:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8906,"nodeType":"ExpressionStatement","src":"4757:21:2"},{"assignments":[8908],"declarations":[{"constant":false,"id":8908,"mutability":"mutable","name":"foundAlias","nameLocation":"4802:10:2","nodeType":"VariableDeclaration","scope":8986,"src":"4788:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8907,"name":"string","nodeType":"ElementaryTypeName","src":"4788:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":8913,"initialValue":{"baseExpression":{"id":8909,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"4815:9:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":8912,"indexExpression":{"expression":{"id":8910,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"4825:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4831:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8740,"src":"4825:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4815:24:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4788:51:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":8917,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8908,"src":"4877:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4871:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8915,"name":"bytes","nodeType":"ElementaryTypeName","src":"4871:5:2","typeDescriptions":{}}},"id":8918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4871:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4889:6:2","memberName":"length","nodeType":"MemberAccess","src":"4871:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4899:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4871:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":8925,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8908,"src":"4920:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4914:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8923,"name":"bytes","nodeType":"ElementaryTypeName","src":"4914:5:2","typeDescriptions":{}}},"id":8926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8922,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4904:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4904:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":8931,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"4952:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4946:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8929,"name":"bytes","nodeType":"ElementaryTypeName","src":"4946:5:2","typeDescriptions":{}}},"id":8932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8928,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4936:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4936:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4904:60:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4871:93:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":8940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5040:49:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":8943,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"5123:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8944,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5129:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8740,"src":"5123:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"5111:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":8942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5114:8:2","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"5111:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5111:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":8946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5159:21:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":8947,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8908,"src":"5202:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":8948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5234:5:2","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":8938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5002:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5006:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"5002:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:255:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4978:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":8936,"name":"string","nodeType":"ElementaryTypeName","src":"4978:6:2","typeDescriptions":{}}},"id":8950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4978:293:2","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":8914,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4850:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:431:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8952,"nodeType":"ExpressionStatement","src":"4850:431:2"},{"assignments":[8954],"declarations":[{"constant":false,"id":8954,"mutability":"mutable","name":"oldChainId","nameLocation":"5300:10:2","nodeType":"VariableDeclaration","scope":8986,"src":"5292:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8953,"name":"uint256","nodeType":"ElementaryTypeName","src":"5292:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8959,"initialValue":{"expression":{"baseExpression":{"id":8955,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"5313:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":8957,"indexExpression":{"id":8956,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"5320:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5313:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage","typeString":"struct StdChains.Chain storage ref"}},"id":8958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5332:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8747,"src":"5313:26:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5292:47:2"},{"expression":{"id":8963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5349:28:2","subExpression":{"baseExpression":{"id":8960,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"5356:9:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":8962,"indexExpression":{"id":8961,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"5366:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5356:21:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8964,"nodeType":"ExpressionStatement","src":"5349:28:2"},{"expression":{"id":8977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8965,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"5388:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$8752_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":8967,"indexExpression":{"id":8966,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"5395:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5388:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":8969,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"5434:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5440:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":8738,"src":"5434:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":8971,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"5455:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5461:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8740,"src":"5455:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8973,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"5482:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":8974,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"5502:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5508:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8742,"src":"5502:12:2","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":8968,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8752,"src":"5421:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$8752_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":8976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5428:4:2","5446:7:2","5470:10:2","5494:6:2"],"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5421:95:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5388:128:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage","typeString":"struct StdChains.Chain storage ref"}},"id":8978,"nodeType":"ExpressionStatement","src":"5388:128:2"},{"expression":{"id":8984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8979,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"5526:9:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":8982,"indexExpression":{"expression":{"id":8980,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8882,"src":"5536:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":8981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5542:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8740,"src":"5536:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5526:24:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8983,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"5553:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5526:37:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":8985,"nodeType":"ExpressionStatement","src":"5526:37:2"}]},"id":8987,"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4406:8:2","nodeType":"FunctionDefinition","parameters":{"id":8883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8879,"mutability":"mutable","name":"chainAlias","nameLocation":"4429:10:2","nodeType":"VariableDeclaration","scope":8987,"src":"4415:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8878,"name":"string","nodeType":"ElementaryTypeName","src":"4415:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8882,"mutability":"mutable","name":"chain","nameLocation":"4458:5:2","nodeType":"VariableDeclaration","scope":8987,"src":"4441:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":8881,"nodeType":"UserDefinedTypeName","pathNode":{"id":8880,"name":"ChainData","nameLocations":["4441:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":8743,"src":"4441:9:2"},"referencedDeclaration":8743,"src":"4441:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4414:50:2"},"returnParameters":{"id":8884,"nodeType":"ParameterList","parameters":[],"src":"4482:0:2"},"scope":9557,"src":"4397:1173:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":9007,"nodeType":"Block","src":"5722:114:2","statements":[{"expression":{"arguments":[{"id":8996,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8989,"src":"5741:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":8998,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8992,"src":"5770:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":8999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":8745,"src":"5770:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":9000,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8992,"src":"5791:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5797:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":8747,"src":"5791:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9002,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8992,"src":"5814:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5820:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"5814:12:2","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":8997,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"5753:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5764:4:2","5782:7:2","5806:6:2"],"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5753:75:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":8995,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[8987,9008],"referencedDeclaration":8987,"src":"5732:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5732:97:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9006,"nodeType":"ExpressionStatement","src":"5732:97:2"}]},"id":9008,"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5650:8:2","nodeType":"FunctionDefinition","parameters":{"id":8993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8989,"mutability":"mutable","name":"chainAlias","nameLocation":"5673:10:2","nodeType":"VariableDeclaration","scope":9008,"src":"5659:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8988,"name":"string","nodeType":"ElementaryTypeName","src":"5659:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8992,"mutability":"mutable","name":"chain","nameLocation":"5698:5:2","nodeType":"VariableDeclaration","scope":9008,"src":"5685:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":8991,"nodeType":"UserDefinedTypeName","pathNode":{"id":8990,"name":"Chain","nameLocations":["5685:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"5685:5:2"},"referencedDeclaration":8752,"src":"5685:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5658:46:2"},"returnParameters":{"id":8994,"nodeType":"ParameterList","parameters":[],"src":"5722:0:2"},"scope":9557,"src":"5641:195:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":9084,"nodeType":"Block","src":"5916:377:2","statements":[{"assignments":[9016],"declarations":[{"constant":false,"id":9016,"mutability":"mutable","name":"strb","nameLocation":"5939:4:2","nodeType":"VariableDeclaration","scope":9084,"src":"5926:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9015,"name":"bytes","nodeType":"ElementaryTypeName","src":"5926:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9021,"initialValue":{"arguments":[{"id":9019,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9010,"src":"5952:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5946:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":9017,"name":"bytes","nodeType":"ElementaryTypeName","src":"5946:5:2","typeDescriptions":{}}},"id":9020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5946:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5926:30:2"},{"assignments":[9023],"declarations":[{"constant":false,"id":9023,"mutability":"mutable","name":"copy","nameLocation":"5979:4:2","nodeType":"VariableDeclaration","scope":9084,"src":"5966:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9022,"name":"bytes","nodeType":"ElementaryTypeName","src":"5966:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9029,"initialValue":{"arguments":[{"expression":{"id":9026,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"5996:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6001:6:2","memberName":"length","nodeType":"MemberAccess","src":"5996:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5986:9:2","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":9024,"name":"bytes","nodeType":"ElementaryTypeName","src":"5990:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":9028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5986:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5966:42:2"},{"body":{"id":9077,"nodeType":"Block","src":"6060:198:2","statements":[{"assignments":[9042],"declarations":[{"constant":false,"id":9042,"mutability":"mutable","name":"b","nameLocation":"6081:1:2","nodeType":"VariableDeclaration","scope":9077,"src":"6074:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":9041,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6074:6:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":9046,"initialValue":{"baseExpression":{"id":9043,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"6085:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9045,"indexExpression":{"id":9044,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"6090:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6085:7:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6074:18:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9047,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9042,"src":"6110:1:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":9048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6115:4:2","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6110:9:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9050,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9042,"src":"6123:1:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":9051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6128:4:2","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6123:9:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6110:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9075,"nodeType":"Block","src":"6204:44:2","statements":[{"expression":{"id":9073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9069,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9023,"src":"6222:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9071,"indexExpression":{"id":9070,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"6227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6222:7:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9072,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9042,"src":"6232:1:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6222:11:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":9074,"nodeType":"ExpressionStatement","src":"6222:11:2"}]},"id":9076,"nodeType":"IfStatement","src":"6106:142:2","trueBody":{"id":9068,"nodeType":"Block","src":"6134:64:2","statements":[{"expression":{"id":9066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9054,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9023,"src":"6152:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9056,"indexExpression":{"id":9055,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"6157:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6152:7:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":9064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9061,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9042,"src":"6175:1:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":9060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6169:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":9059,"name":"uint8","nodeType":"ElementaryTypeName","src":"6169:5:2","typeDescriptions":{}}},"id":9062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6169:8:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":9063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:2:2","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6169:13:2","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":9058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6162:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":9057,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6162:6:2","typeDescriptions":{}}},"id":9065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6162:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6152:31:2","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":9067,"nodeType":"ExpressionStatement","src":"6152:31:2"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9034,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"6038:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9035,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"6042:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6047:6:2","memberName":"length","nodeType":"MemberAccess","src":"6042:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6038:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9078,"initializationExpression":{"assignments":[9031],"declarations":[{"constant":false,"id":9031,"mutability":"mutable","name":"i","nameLocation":"6031:1:2","nodeType":"VariableDeclaration","scope":9078,"src":"6023:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9030,"name":"uint256","nodeType":"ElementaryTypeName","src":"6023:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9033,"initialValue":{"hexValue":"30","id":9032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6035:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6023:13:2"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6055:3:2","subExpression":{"id":9038,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"6055:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9040,"nodeType":"ExpressionStatement","src":"6055:3:2"},"nodeType":"ForStatement","src":"6018:240:2"},{"expression":{"arguments":[{"id":9081,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9023,"src":"6281:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6274:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9079,"name":"string","nodeType":"ElementaryTypeName","src":"6274:6:2","typeDescriptions":{}}},"id":9082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6274:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9014,"id":9083,"nodeType":"Return","src":"6267:19:2"}]},"id":9085,"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5851:8:2","nodeType":"FunctionDefinition","parameters":{"id":9011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9010,"mutability":"mutable","name":"str","nameLocation":"5874:3:2","nodeType":"VariableDeclaration","scope":9085,"src":"5860:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9009,"name":"string","nodeType":"ElementaryTypeName","src":"5860:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5859:19:2"},"returnParameters":{"id":9014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9085,"src":"5901:13:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9012,"name":"string","nodeType":"ElementaryTypeName","src":"5901:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5900:15:2"},"scope":9557,"src":"5842:451:2","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":9227,"nodeType":"Block","src":"6574:1580:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":9098,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"6594:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9099,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6600:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"6594:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6588:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":9096,"name":"bytes","nodeType":"ElementaryTypeName","src":"6588:5:2","typeDescriptions":{}}},"id":9100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6588:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6608:6:2","memberName":"length","nodeType":"MemberAccess","src":"6588:26:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6618:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6588:31:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9224,"nodeType":"IfStatement","src":"6584:1542:2","trueBody":{"id":9223,"nodeType":"Block","src":"6621:1505:2","statements":[{"clauses":[{"block":{"id":9117,"nodeType":"Block","src":"6698:60:2","statements":[{"expression":{"id":9115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9111,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"6716:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6722:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"6716:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9114,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9109,"src":"6731:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6716:27:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9116,"nodeType":"ExpressionStatement","src":"6716:27:2"}]},"errorName":"","id":9118,"nodeType":"TryCatchClause","parameters":{"id":9110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9109,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6684:12:2","nodeType":"VariableDeclaration","scope":9118,"src":"6670:26:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9108,"name":"string","nodeType":"ElementaryTypeName","src":"6670:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6669:28:2"},"src":"6661:97:2"},{"block":{"id":9220,"nodeType":"Block","src":"6784:1332:2","statements":[{"assignments":[9123],"declarations":[{"constant":false,"id":9123,"mutability":"mutable","name":"envName","nameLocation":"6816:7:2","nodeType":"VariableDeclaration","scope":9220,"src":"6802:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9122,"name":"string","nodeType":"ElementaryTypeName","src":"6802:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":9134,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":9129,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"6859:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9128,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9085,"src":"6850:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6850:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":9131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6872:10:2","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":9126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6833:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6837:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"6833:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6833:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6826:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9124,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:2","typeDescriptions":{}}},"id":9133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6826:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6802:82:2"},{"condition":{"id":9135,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8768,"src":"6906:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9158,"nodeType":"Block","src":"7039:77:2","statements":[{"expression":{"id":9156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9149,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"7061:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7067:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"7061:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9154,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9123,"src":"7089:7:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9152,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"7076:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":9153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7079:9:2","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":19504,"src":"7076:12:2","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":9155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7076:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7061:36:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9157,"nodeType":"ExpressionStatement","src":"7061:36:2"}]},"id":9159,"nodeType":"IfStatement","src":"6902:214:2","trueBody":{"id":9148,"nodeType":"Block","src":"6932:101:2","statements":[{"expression":{"id":9146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9136,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"6954:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6960:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"6954:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9141,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9123,"src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":9142,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8761,"src":"6987:14:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":9144,"indexExpression":{"id":9143,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"7002:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6987:26:2","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":9139,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"6969:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":9140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6972:5:2","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":19444,"src":"6969:8:2","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":9145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6969:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6954:60:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9147,"nodeType":"ExpressionStatement","src":"6954:60:2"}]}},{"assignments":[9161],"declarations":[{"constant":false,"id":9161,"mutability":"mutable","name":"oldNotFoundError","nameLocation":"7331:16:2","nodeType":"VariableDeclaration","scope":9220,"src":"7318:29:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9160,"name":"bytes","nodeType":"ElementaryTypeName","src":"7318:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9174,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":9164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7394:16:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":9169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7436:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":9170,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"7456:10:2","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":9167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7419:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7423:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"7419:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7419:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7412:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9165,"name":"string","nodeType":"ElementaryTypeName","src":"7412:6:2","typeDescriptions":{}}},"id":9172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7412:56:2","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":9162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7370:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7374:19:2","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7370:23:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7370:99:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7318:151:2"},{"assignments":[9176],"declarations":[{"constant":false,"id":9176,"mutability":"mutable","name":"newNotFoundError","nameLocation":"7500:16:2","nodeType":"VariableDeclaration","scope":9220,"src":"7487:29:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9175,"name":"bytes","nodeType":"ElementaryTypeName","src":"7487:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9189,"initialValue":{"arguments":[{"hexValue":"4368656174636f64654572726f7228737472696e6729","id":9179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7564:24:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},"value":"CheatcodeError(string)"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c3a20","id":9184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7614:19:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},"value":"invalid rpc url: "},{"id":9185,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"7635:10:2","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":9182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7597:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7601:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"7597:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7597:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7590:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9180,"name":"string","nodeType":"ElementaryTypeName","src":"7590:6:2","typeDescriptions":{}}},"id":9187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:57:2","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":9177,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7519:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7523:19:2","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7519:23:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7519:146:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7487:178:2"},{"assignments":[9191],"declarations":[{"constant":false,"id":9191,"mutability":"mutable","name":"errHash","nameLocation":"7691:7:2","nodeType":"VariableDeclaration","scope":9220,"src":"7683:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7683:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9195,"initialValue":{"arguments":[{"id":9193,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9120,"src":"7711:3:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9192,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7701:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7683:32:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9196,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9191,"src":"7759:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":9198,"name":"oldNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9161,"src":"7780:16:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9197,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7770:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7770:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7759:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9201,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9191,"src":"7801:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":9203,"name":"newNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9176,"src":"7822:16:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7812:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7812:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7801:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7759:80:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":9207,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7758:82:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":9210,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"7874:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":9211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7880:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8751,"src":"7874:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7868:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":9208,"name":"bytes","nodeType":"ElementaryTypeName","src":"7868:5:2","typeDescriptions":{}}},"id":9212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7888:6:2","memberName":"length","nodeType":"MemberAccess","src":"7868:26:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7898:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7868:31:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7758:141:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9219,"nodeType":"IfStatement","src":"7733:369:2","trueBody":{"id":9218,"nodeType":"Block","src":"7918:184:2","statements":[{"AST":{"nativeSrc":"8004:80:2","nodeType":"YulBlock","src":"8004:80:2","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8041:2:2","nodeType":"YulLiteral","src":"8041:2:2","type":"","value":"32"},{"name":"err","nativeSrc":"8045:3:2","nodeType":"YulIdentifier","src":"8045:3:2"}],"functionName":{"name":"add","nativeSrc":"8037:3:2","nodeType":"YulIdentifier","src":"8037:3:2"},"nativeSrc":"8037:12:2","nodeType":"YulFunctionCall","src":"8037:12:2"},{"arguments":[{"name":"err","nativeSrc":"8057:3:2","nodeType":"YulIdentifier","src":"8057:3:2"}],"functionName":{"name":"mload","nativeSrc":"8051:5:2","nodeType":"YulIdentifier","src":"8051:5:2"},"nativeSrc":"8051:10:2","nodeType":"YulFunctionCall","src":"8051:10:2"}],"functionName":{"name":"revert","nativeSrc":"8030:6:2","nodeType":"YulIdentifier","src":"8030:6:2"},"nativeSrc":"8030:32:2","nodeType":"YulFunctionCall","src":"8030:32:2"},"nativeSrc":"8030:32:2","nodeType":"YulExpressionStatement","src":"8030:32:2"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":9120,"isOffset":false,"isSlot":false,"src":"8045:3:2","valueSize":1},{"declaration":9120,"isOffset":false,"isSlot":false,"src":"8057:3:2","valueSize":1}],"id":9217,"nodeType":"InlineAssembly","src":"7995:89:2"}]}}]},"errorName":"","id":9221,"nodeType":"TryCatchClause","parameters":{"id":9121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9120,"mutability":"mutable","name":"err","nameLocation":"6779:3:2","nodeType":"VariableDeclaration","scope":9221,"src":"6766:16:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9119,"name":"bytes","nodeType":"ElementaryTypeName","src":"6766:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6765:18:2"},"src":"6759:1357:2"}],"externalCall":{"arguments":[{"id":9106,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9087,"src":"6649:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9104,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"6639:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":9105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6642:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":21946,"src":"6639:9:2","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":9107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:21:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9222,"nodeType":"TryStatement","src":"6635:1481:2"}]}},{"expression":{"id":9225,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"8142:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":9095,"id":9226,"nodeType":"Return","src":"8135:12:2"}]},"id":9228,"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6438:25:2","nodeType":"FunctionDefinition","parameters":{"id":9091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9087,"mutability":"mutable","name":"chainAlias","nameLocation":"6478:10:2","nodeType":"VariableDeclaration","scope":9228,"src":"6464:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9086,"name":"string","nodeType":"ElementaryTypeName","src":"6464:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9090,"mutability":"mutable","name":"chain","nameLocation":"6503:5:2","nodeType":"VariableDeclaration","scope":9228,"src":"6490:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":9089,"nodeType":"UserDefinedTypeName","pathNode":{"id":9088,"name":"Chain","nameLocations":["6490:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"6490:5:2"},"referencedDeclaration":8752,"src":"6490:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6463:46:2"},"returnParameters":{"id":9095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9228,"src":"6556:12:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":9093,"nodeType":"UserDefinedTypeName","pathNode":{"id":9092,"name":"Chain","nameLocations":["6556:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":8752,"src":"6556:5:2"},"referencedDeclaration":8752,"src":"6556:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$8752_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6555:14:2"},"scope":9557,"src":"6429:1725:2","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":9237,"nodeType":"Block","src":"8223:54:2","statements":[{"expression":{"id":9235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9233,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8768,"src":"8233:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9234,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9230,"src":"8260:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8233:37:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9236,"nodeType":"ExpressionStatement","src":"8233:37:2"}]},"id":9238,"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"8169:27:2","nodeType":"FunctionDefinition","parameters":{"id":9231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9230,"mutability":"mutable","name":"useDefault","nameLocation":"8202:10:2","nodeType":"VariableDeclaration","scope":9238,"src":"8197:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9229,"name":"bool","nodeType":"ElementaryTypeName","src":"8197:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8196:17:2"},"returnParameters":{"id":9232,"nodeType":"ParameterList","parameters":[],"src":"8223:0:2"},"scope":9557,"src":"8160:117:2","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9518,"nodeType":"Block","src":"8322:4084:2","statements":[{"condition":{"id":9241,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"8336:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9243,"nodeType":"IfStatement","src":"8332:33:2","trueBody":{"functionReturnParameters":9240,"id":9242,"nodeType":"Return","src":"8358:7:2"}},{"expression":{"id":9246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9244,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"8375:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":9245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8398:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8375:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9247,"nodeType":"ExpressionStatement","src":"8375:27:2"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":9249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8547:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":9251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8566:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":9252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8575:5:2","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":9253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8582:23:2","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":9250,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"8556:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8556:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9248,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"8521:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8521:86:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9256,"nodeType":"ExpressionStatement","src":"8521:86:2"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":9258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8656:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":9260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8677:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":9261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8688:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6574682d6d61696e6e65742e616c6368656d796170692e696f2f76322f70776335726d4a6872646f61534566696d6f4b456d73764f6a4b536d50447250","id":9262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8691:71:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf19eda293e70ae771313aed4bba84895a8542c339b63915825a799f2d9b485e","typeString":"literal_string \"https://eth-mainnet.alchemyapi.io/v2/pwc5rmJhrdoaSEfimoKEmsvOjKSmPDrP\""},"value":"https://eth-mainnet.alchemyapi.io/v2/pwc5rmJhrdoaSEfimoKEmsvOjKSmPDrP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_bf19eda293e70ae771313aed4bba84895a8542c339b63915825a799f2d9b485e","typeString":"literal_string \"https://eth-mainnet.alchemyapi.io/v2/pwc5rmJhrdoaSEfimoKEmsvOjKSmPDrP\""}],"id":9259,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"8667:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8667:96:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9257,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"8617:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8617:156:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9265,"nodeType":"ExpressionStatement","src":"8617:156:2"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":9267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8822:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":9269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8843:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":9270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8854:8:2","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031","id":9271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8864:63:2","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":9268,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"8833:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8833:95:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9266,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"8783:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:155:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9274,"nodeType":"ExpressionStatement","src":"8783:155:2"},{"expression":{"arguments":[{"hexValue":"686f6c65736b79","id":9276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8974:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},"value":"holesky"},{"arguments":[{"hexValue":"486f6c65736b79","id":9278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8995:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},"value":"Holesky"},{"hexValue":"3137303030","id":9279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9006:5:2","typeDescriptions":{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},"value":"17000"},{"hexValue":"68747470733a2f2f7270632e686f6c65736b792e65746870616e64616f70732e696f","id":9280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9013:36:2","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":9277,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"8985:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8985:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9275,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"8948:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8948:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9283,"nodeType":"ExpressionStatement","src":"8948:103:2"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":9285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9087:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":9287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9109:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":9288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9121:2:2","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":9289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9125:29:2","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":9286,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9099:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9099:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9284,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9061:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9061:95:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9292,"nodeType":"ExpressionStatement","src":"9061:95:2"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f7365706f6c6961","id":9294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9205:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},"value":"optimism_sepolia"},{"arguments":[{"hexValue":"4f7074696d69736d205365706f6c6961","id":9296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9235:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},"value":"Optimism Sepolia"},{"hexValue":"3131313535343230","id":9297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9255:8:2","typeDescriptions":{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},"value":"11155420"},{"hexValue":"68747470733a2f2f7365706f6c69612e6f7074696d69736d2e696f","id":9298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9265:29:2","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":9295,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9225:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9225:70:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9293,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9166:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9166:139:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9301,"nodeType":"ExpressionStatement","src":"9166:139:2"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":9303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9341:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":9305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9367:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":9306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9383:5:2","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":9307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9390:30:2","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":9304,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9357:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9357:64:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9302,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9315:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9315:107:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9310,"nodeType":"ExpressionStatement","src":"9315:107:2"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f7365706f6c6961","id":9312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9471:22:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},"value":"arbitrum_one_sepolia"},{"arguments":[{"hexValue":"417262697472756d204f6e65205365706f6c6961","id":9314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9505:22:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},"value":"Arbitrum One Sepolia"},{"hexValue":"343231363134","id":9315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9529:6:2","typeDescriptions":{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},"value":"421614"},{"hexValue":"68747470733a2f2f7365706f6c69612d726f6c6c75702e617262697472756d2e696f2f727063","id":9316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9537:40:2","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":9313,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9495:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9311,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9432:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9432:156:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9319,"nodeType":"ExpressionStatement","src":"9432:156:2"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":9321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9624:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":9323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9651:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":9324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":9325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:30:2","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":9322,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9641:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9320,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9598:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9598:109:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9328,"nodeType":"ExpressionStatement","src":"9598:109:2"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":9330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9743:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":9332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9764:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":9333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9775:3:2","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":9334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9780:25:2","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":9331,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9754:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9754:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9329,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9717:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9717:90:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9337,"nodeType":"ExpressionStatement","src":"9717:90:2"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f616d6f79","id":9339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9856:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},"value":"polygon_amoy"},{"arguments":[{"hexValue":"506f6c79676f6e20416d6f79","id":9341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9882:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},"value":"Polygon Amoy"},{"hexValue":"3830303032","id":9342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9898:5:2","typeDescriptions":{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},"value":"80002"},{"hexValue":"68747470733a2f2f7270632d616d6f792e706f6c79676f6e2e746563686e6f6c6f6779","id":9343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9905:37:2","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":9340,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"9872:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9872:71:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9338,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9817:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9817:136:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9346,"nodeType":"ExpressionStatement","src":"9817:136:2"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":9348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9989:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":9350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10012:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":9351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10025:5:2","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":9352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10032:39:2","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":9349,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10002:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:70:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9347,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"9963:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9963:110:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9355,"nodeType":"ExpressionStatement","src":"9963:110:2"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":9357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10122:16:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":9359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10150:16:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":9360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10168:5:2","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":9361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10175:44:2","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":9358,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10140:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10140:80:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9356,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10083:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10083:147:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9364,"nodeType":"ExpressionStatement","src":"10083:147:2"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":9366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10279:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":9368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10308:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":9369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10327:2:2","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":9370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10331:35:2","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":9367,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10298:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10298:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9365,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10240:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10240:137:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9373,"nodeType":"ExpressionStatement","src":"10240:137:2"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":9375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10426:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":9377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10475:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":9378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10502:2:2","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":9379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10506:41:2","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":9376,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10465:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10465:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9374,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10387:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10387:171:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9382,"nodeType":"ExpressionStatement","src":"10387:171:2"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":9384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10594:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":9386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10620:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":9387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10636:3:2","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":9388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10641:29:2","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":9385,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10610:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10610:61:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9383,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10568:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10568:104:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9391,"nodeType":"ExpressionStatement","src":"10568:104:2"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e6265616d","id":9393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10708:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},"value":"moonbeam"},{"arguments":[{"hexValue":"4d6f6f6e6265616d","id":9395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10730:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},"value":"Moonbeam"},{"hexValue":"31323834","id":9396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10742:4:2","typeDescriptions":{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},"value":"1284"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e6265616d2e6e6574776f726b","id":9397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10748:34:2","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":9394,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10720:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10720:63:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9392,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10682:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10682:102:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9400,"nodeType":"ExpressionStatement","src":"10682:102:2"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e7269766572","id":9402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10833:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},"value":"moonriver"},{"arguments":[{"hexValue":"4d6f6f6e7269766572","id":9404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10856:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},"value":"Moonriver"},{"hexValue":"31323835","id":9405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10869:4:2","typeDescriptions":{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},"value":"1285"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e72697665722e6d6f6f6e6265616d2e6e6574776f726b","id":9406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10875:44:2","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":9403,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10846:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10846:74:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9401,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10794:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10794:136:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9409,"nodeType":"ExpressionStatement","src":"10794:136:2"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e62617365","id":9411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10966:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},"value":"moonbase"},{"arguments":[{"hexValue":"4d6f6f6e62617365","id":9413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10988:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},"value":"Moonbase"},{"hexValue":"31323837","id":9414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11000:4:2","typeDescriptions":{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},"value":"1287"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e6d6f6f6e6265616d2e6e6574776f726b","id":9415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11006:38:2","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":9412,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"10978:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10978:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9410,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"10940:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10940:106:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9418,"nodeType":"ExpressionStatement","src":"10940:106:2"},{"expression":{"arguments":[{"hexValue":"626173655f7365706f6c6961","id":9420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11082:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},"value":"base_sepolia"},{"arguments":[{"hexValue":"42617365205365706f6c6961","id":9422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11108:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},"value":"Base Sepolia"},{"hexValue":"3834353332","id":9423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11124:5:2","typeDescriptions":{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},"value":"84532"},{"hexValue":"68747470733a2f2f7365706f6c69612e626173652e6f7267","id":9424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11131:26:2","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":9421,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11098:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11098:60:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9419,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11056:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11056:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9427,"nodeType":"ExpressionStatement","src":"11056:103:2"},{"expression":{"arguments":[{"hexValue":"62617365","id":9429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11195:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},"value":"base"},{"arguments":[{"hexValue":"42617365","id":9431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11213:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},"value":"Base"},{"hexValue":"38343533","id":9432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11221:4:2","typeDescriptions":{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},"value":"8453"},{"hexValue":"68747470733a2f2f6d61696e6e65742e626173652e6f7267","id":9433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11227:26:2","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":9430,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11203:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11203:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9428,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11169:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11169:86:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9436,"nodeType":"ExpressionStatement","src":"11169:86:2"},{"expression":{"arguments":[{"hexValue":"626c6173745f7365706f6c6961","id":9438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11291:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},"value":"blast_sepolia"},{"arguments":[{"hexValue":"426c617374205365706f6c6961","id":9440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11318:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},"value":"Blast Sepolia"},{"hexValue":"313638353837373733","id":9441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11335:9:2","typeDescriptions":{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},"value":"168587773"},{"hexValue":"68747470733a2f2f7365706f6c69612e626c6173742e696f","id":9442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11346:26:2","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":9439,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11308:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11308:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9437,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11265:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11265:109:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9445,"nodeType":"ExpressionStatement","src":"11265:109:2"},{"expression":{"arguments":[{"hexValue":"626c617374","id":9447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11410:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},"value":"blast"},{"arguments":[{"hexValue":"426c617374","id":9449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11429:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},"value":"Blast"},{"hexValue":"3831343537","id":9450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11438:5:2","typeDescriptions":{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},"value":"81457"},{"hexValue":"68747470733a2f2f7270632e626c6173742e696f","id":9451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11445:22:2","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":9448,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11419:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11419:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9446,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11384:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11384:85:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9454,"nodeType":"ExpressionStatement","src":"11384:85:2"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f70657261","id":9456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11505:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},"value":"fantom_opera"},{"arguments":[{"hexValue":"46616e746f6d204f70657261","id":9458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11531:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},"value":"Fantom Opera"},{"hexValue":"323530","id":9459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11547:3:2","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d2f","id":9460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11552:30:2","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":9457,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11521:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11521:62:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9455,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11479:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11479:105:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9463,"nodeType":"ExpressionStatement","src":"11479:105:2"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f706572615f746573746e6574","id":9465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11633:22:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},"value":"fantom_opera_testnet"},{"arguments":[{"hexValue":"46616e746f6d204f7065726120546573746e6574","id":9467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11667:22:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},"value":"Fantom Opera Testnet"},{"hexValue":"34303032","id":9468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11691:4:2","typeDescriptions":{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},"value":"4002"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d5f746573746e65742f","id":9469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11697:38:2","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":9466,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11657:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11657:79:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9464,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11594:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11594:152:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9472,"nodeType":"ExpressionStatement","src":"11594:152:2"},{"expression":{"arguments":[{"hexValue":"6672617874616c","id":9474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11782:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},"value":"fraxtal"},{"arguments":[{"hexValue":"4672617874616c","id":9476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11803:9:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},"value":"Fraxtal"},{"hexValue":"323532","id":9477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11814:3:2","typeDescriptions":{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},"value":"252"},{"hexValue":"68747470733a2f2f7270632e667261782e636f6d","id":9478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11819:22:2","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":9475,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11793:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11793:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9473,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11756:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11756:87:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9481,"nodeType":"ExpressionStatement","src":"11756:87:2"},{"expression":{"arguments":[{"hexValue":"6672617874616c5f746573746e6574","id":9483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11879:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},"value":"fraxtal_testnet"},{"arguments":[{"hexValue":"4672617874616c20546573746e6574","id":9485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11908:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},"value":"Fraxtal Testnet"},{"hexValue":"32353232","id":9486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11927:4:2","typeDescriptions":{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},"value":"2522"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e667261782e636f6d","id":9487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11933:30:2","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":9484,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"11898:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11898:66:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9482,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11853:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11853:112:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9490,"nodeType":"ExpressionStatement","src":"11853:112:2"},{"expression":{"arguments":[{"hexValue":"62657261636861696e5f62617274696f5f746573746e6574","id":9492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12014:26:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},"value":"berachain_bartio_testnet"},{"arguments":[{"hexValue":"42657261636861696e2062417274696f20546573746e6574","id":9494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12052:26:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},"value":"Berachain bArtio Testnet"},{"hexValue":"3830303834","id":9495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12080:5:2","typeDescriptions":{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},"value":"80084"},{"hexValue":"68747470733a2f2f62617274696f2e7270632e62657261636861696e2e636f6d","id":9496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12087:34:2","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":9493,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"12042:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12042:80:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9491,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"11975:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11975:157:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9499,"nodeType":"ExpressionStatement","src":"11975:157:2"},{"expression":{"arguments":[{"hexValue":"666c617265","id":9501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12168:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},"value":"flare"},{"arguments":[{"hexValue":"466c617265","id":9503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12187:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},"value":"Flare"},{"hexValue":"3134","id":9504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12196:2:2","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"68747470733a2f2f666c6172652d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":9505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12200:43:2","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":9502,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"12177:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9500,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"12142:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12142:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9508,"nodeType":"ExpressionStatement","src":"12142:103:2"},{"expression":{"arguments":[{"hexValue":"666c6172655f636f73746f6e32","id":9510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12294:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},"value":"flare_coston2"},{"arguments":[{"hexValue":"466c61726520436f73746f6e32","id":9512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12321:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},"value":"Flare Coston2"},{"hexValue":"313134","id":9513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12338:3:2","typeDescriptions":{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},"value":"114"},{"hexValue":"68747470733a2f2f636f73746f6e322d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":9514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12343:45:2","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":9511,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"12311:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$8743_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":9515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:78:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9509,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9556,"src":"12255:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12255:144:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9517,"nodeType":"ExpressionStatement","src":"12255:144:2"}]},"id":9519,"implemented":true,"kind":"function","modifiers":[],"name":"initializeStdChains","nameLocation":"8292:19:2","nodeType":"FunctionDefinition","parameters":{"id":9239,"nodeType":"ParameterList","parameters":[],"src":"8311:2:2"},"returnParameters":{"id":9240,"nodeType":"ParameterList","parameters":[],"src":"8322:0:2"},"scope":9557,"src":"8283:4123:2","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9555,"nodeType":"Block","src":"12581:212:2","statements":[{"assignments":[9528],"declarations":[{"constant":false,"id":9528,"mutability":"mutable","name":"rpcUrl","nameLocation":"12605:6:2","nodeType":"VariableDeclaration","scope":9555,"src":"12591:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9527,"name":"string","nodeType":"ElementaryTypeName","src":"12591:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":9531,"initialValue":{"expression":{"id":9529,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9524,"src":"12614:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":9530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12620:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8742,"src":"12614:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12591:35:2"},{"expression":{"id":9536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9532,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8761,"src":"12636:14:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":9534,"indexExpression":{"id":9533,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9521,"src":"12651:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12636:26:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9535,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9528,"src":"12665:6:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12636:35:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":9537,"nodeType":"ExpressionStatement","src":"12636:35:2"},{"expression":{"id":9542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9538,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9524,"src":"12681:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":9540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12687:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8742,"src":"12681:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":9541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12696:2:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"12681:17:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9543,"nodeType":"ExpressionStatement","src":"12681:17:2"},{"expression":{"arguments":[{"id":9545,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9521,"src":"12717:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9546,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9524,"src":"12729:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":9544,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[8987,9008],"referencedDeclaration":8987,"src":"12708:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$8743_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":9547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9548,"nodeType":"ExpressionStatement","src":"12708:27:2"},{"expression":{"id":9553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9549,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9524,"src":"12745:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":9551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12751:6:2","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":8742,"src":"12745:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9552,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9528,"src":"12760:6:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12745:21:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":9554,"nodeType":"ExpressionStatement","src":"12745:21:2"}]},"id":9556,"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"12497:25:2","nodeType":"FunctionDefinition","parameters":{"id":9525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9521,"mutability":"mutable","name":"chainAlias","nameLocation":"12537:10:2","nodeType":"VariableDeclaration","scope":9556,"src":"12523:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9520,"name":"string","nodeType":"ElementaryTypeName","src":"12523:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9524,"mutability":"mutable","name":"chain","nameLocation":"12566:5:2","nodeType":"VariableDeclaration","scope":9556,"src":"12549:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":9523,"nodeType":"UserDefinedTypeName","pathNode":{"id":9522,"name":"ChainData","nameLocations":["12549:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":8743,"src":"12549:9:2"},"referencedDeclaration":8743,"src":"12549:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$8743_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"12522:50:2"},"returnParameters":{"id":9526,"nodeType":"ParameterList","parameters":[],"src":"12581:0:2"},"scope":9557,"src":"12488:305:2","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":9558,"src":"1899:10896:2","usedErrors":[],"usedEvents":[]}],"src":"32:12764:2"},"id":2},"v4-core/lib/forge-std/src/StdCheats.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdCheats.sol","exportedSymbols":{"StdCheats":[12410],"StdCheatsSafe":[11617],"StdStorage":[13894],"Vm":[23231],"console2":[31347],"stdStorage":[15851]},"id":12411,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9559,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:3"},{"id":9560,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:3"},{"absolutePath":"v4-core/lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","id":9563,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12411,"sourceUnit":15852,"src":"100:56:3","symbolAliases":[{"foreign":{"id":9561,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13894,"src":"108:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":9562,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15851,"src":"120:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/console2.sol","file":"./console2.sol","id":9565,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12411,"sourceUnit":31352,"src":"157:40:3","symbolAliases":[{"foreign":{"id":9564,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"165:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":9567,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":12411,"sourceUnit":23232,"src":"198:28:3","symbolAliases":[{"foreign":{"id":9566,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"206:2:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":11617,"linearizedBaseContracts":[11617],"name":"StdCheatsSafe","nameLocation":"246:13:3","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":9584,"mutability":"constant","name":"vm","nameLocation":"286:2:3","nodeType":"VariableDeclaration","scope":11617,"src":"266:84:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":9569,"nodeType":"UserDefinedTypeName","pathNode":{"id":9568,"name":"Vm","nameLocations":["266:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"266:2:3"},"referencedDeclaration":23231,"src":"266:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"328: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":9577,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"318:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"310:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9575,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:3","typeDescriptions":{}}},"id":9580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"302:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9573,"name":"uint160","nodeType":"ElementaryTypeName","src":"302:7:3","typeDescriptions":{}}},"id":9581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"302:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"294:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9571,"name":"address","nodeType":"ElementaryTypeName","src":"294:7:3","typeDescriptions":{}}},"id":9582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9570,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"291:2:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":9583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291:59:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"private"},{"constant":true,"id":9587,"mutability":"constant","name":"UINT256_MAX","nameLocation":"382:11:3","nodeType":"VariableDeclaration","scope":11617,"src":"357:125:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9585,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":9586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404:78:3","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"constant":false,"id":9589,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"502:14:3","nodeType":"VariableDeclaration","scope":11617,"src":"489:27:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9588,"name":"bool","nodeType":"ElementaryTypeName","src":"489:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"canonicalName":"StdCheatsSafe.RawTx1559","id":9606,"members":[{"constant":false,"id":9592,"mutability":"mutable","name":"arguments","nameLocation":"797:9:3","nodeType":"VariableDeclaration","scope":9606,"src":"788:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9590,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9591,"nodeType":"ArrayTypeName","src":"788:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9594,"mutability":"mutable","name":"contractAddress","nameLocation":"824:15:3","nodeType":"VariableDeclaration","scope":9606,"src":"816:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9593,"name":"address","nodeType":"ElementaryTypeName","src":"816:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9596,"mutability":"mutable","name":"contractName","nameLocation":"856:12:3","nodeType":"VariableDeclaration","scope":9606,"src":"849:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9595,"name":"string","nodeType":"ElementaryTypeName","src":"849:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9598,"mutability":"mutable","name":"functionSig","nameLocation":"923:11:3","nodeType":"VariableDeclaration","scope":9606,"src":"916:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9597,"name":"string","nodeType":"ElementaryTypeName","src":"916:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9600,"mutability":"mutable","name":"hash","nameLocation":"952:4:3","nodeType":"VariableDeclaration","scope":9606,"src":"944:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"944:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9603,"mutability":"mutable","name":"txDetail","nameLocation":"1014:8:3","nodeType":"VariableDeclaration","scope":9606,"src":"998:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":9602,"nodeType":"UserDefinedTypeName","pathNode":{"id":9601,"name":"RawTx1559Detail","nameLocations":["998:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":9625,"src":"998:15:3"},"referencedDeclaration":9625,"src":"998:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":9605,"mutability":"mutable","name":"opcode","nameLocation":"1073:6:3","nodeType":"VariableDeclaration","scope":9606,"src":"1066:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9604,"name":"string","nodeType":"ElementaryTypeName","src":"1066:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"768:9:3","nodeType":"StructDefinition","scope":11617,"src":"761:325:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.RawTx1559Detail","id":9625,"members":[{"constant":false,"id":9610,"mutability":"mutable","name":"accessList","nameLocation":"1138:10:3","nodeType":"VariableDeclaration","scope":9625,"src":"1125:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":9608,"nodeType":"UserDefinedTypeName","pathNode":{"id":9607,"name":"AccessList","nameLocations":["1125:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9717,"src":"1125:10:3"},"referencedDeclaration":9717,"src":"1125:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$9717_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":9609,"nodeType":"ArrayTypeName","src":"1125:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":9612,"mutability":"mutable","name":"data","nameLocation":"1164:4:3","nodeType":"VariableDeclaration","scope":9625,"src":"1158:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9611,"name":"bytes","nodeType":"ElementaryTypeName","src":"1158:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9614,"mutability":"mutable","name":"from","nameLocation":"1186:4:3","nodeType":"VariableDeclaration","scope":9625,"src":"1178:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9613,"name":"address","nodeType":"ElementaryTypeName","src":"1178:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9616,"mutability":"mutable","name":"gas","nameLocation":"1206:3:3","nodeType":"VariableDeclaration","scope":9625,"src":"1200:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9615,"name":"bytes","nodeType":"ElementaryTypeName","src":"1200:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9618,"mutability":"mutable","name":"nonce","nameLocation":"1225:5:3","nodeType":"VariableDeclaration","scope":9625,"src":"1219:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9617,"name":"bytes","nodeType":"ElementaryTypeName","src":"1219:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9620,"mutability":"mutable","name":"to","nameLocation":"1248:2:3","nodeType":"VariableDeclaration","scope":9625,"src":"1240:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9619,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9622,"mutability":"mutable","name":"txType","nameLocation":"1266:6:3","nodeType":"VariableDeclaration","scope":9625,"src":"1260:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9621,"name":"bytes","nodeType":"ElementaryTypeName","src":"1260:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9624,"mutability":"mutable","name":"value","nameLocation":"1288:5:3","nodeType":"VariableDeclaration","scope":9625,"src":"1282:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9623,"name":"bytes","nodeType":"ElementaryTypeName","src":"1282:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"1099:15:3","nodeType":"StructDefinition","scope":11617,"src":"1092:208:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.Tx1559","id":9642,"members":[{"constant":false,"id":9628,"mutability":"mutable","name":"arguments","nameLocation":"1339:9:3","nodeType":"VariableDeclaration","scope":9642,"src":"1330:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9626,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9627,"nodeType":"ArrayTypeName","src":"1330:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9630,"mutability":"mutable","name":"contractAddress","nameLocation":"1366:15:3","nodeType":"VariableDeclaration","scope":9642,"src":"1358:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9629,"name":"address","nodeType":"ElementaryTypeName","src":"1358:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9632,"mutability":"mutable","name":"contractName","nameLocation":"1398:12:3","nodeType":"VariableDeclaration","scope":9642,"src":"1391:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9631,"name":"string","nodeType":"ElementaryTypeName","src":"1391:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9634,"mutability":"mutable","name":"functionSig","nameLocation":"1427:11:3","nodeType":"VariableDeclaration","scope":9642,"src":"1420:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9633,"name":"string","nodeType":"ElementaryTypeName","src":"1420:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9636,"mutability":"mutable","name":"hash","nameLocation":"1456:4:3","nodeType":"VariableDeclaration","scope":9642,"src":"1448:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1448:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9639,"mutability":"mutable","name":"txDetail","nameLocation":"1483:8:3","nodeType":"VariableDeclaration","scope":9642,"src":"1470:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":9638,"nodeType":"UserDefinedTypeName","pathNode":{"id":9637,"name":"Tx1559Detail","nameLocations":["1470:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":9661,"src":"1470:12:3"},"referencedDeclaration":9661,"src":"1470:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":9641,"mutability":"mutable","name":"opcode","nameLocation":"1508:6:3","nodeType":"VariableDeclaration","scope":9642,"src":"1501:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9640,"name":"string","nodeType":"ElementaryTypeName","src":"1501:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1313:6:3","nodeType":"StructDefinition","scope":11617,"src":"1306:215:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.Tx1559Detail","id":9661,"members":[{"constant":false,"id":9646,"mutability":"mutable","name":"accessList","nameLocation":"1570:10:3","nodeType":"VariableDeclaration","scope":9661,"src":"1557:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":9644,"nodeType":"UserDefinedTypeName","pathNode":{"id":9643,"name":"AccessList","nameLocations":["1557:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9717,"src":"1557:10:3"},"referencedDeclaration":9717,"src":"1557:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$9717_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":9645,"nodeType":"ArrayTypeName","src":"1557:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":9648,"mutability":"mutable","name":"data","nameLocation":"1596:4:3","nodeType":"VariableDeclaration","scope":9661,"src":"1590:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9647,"name":"bytes","nodeType":"ElementaryTypeName","src":"1590:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9650,"mutability":"mutable","name":"from","nameLocation":"1618:4:3","nodeType":"VariableDeclaration","scope":9661,"src":"1610:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9649,"name":"address","nodeType":"ElementaryTypeName","src":"1610:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9652,"mutability":"mutable","name":"gas","nameLocation":"1640:3:3","nodeType":"VariableDeclaration","scope":9661,"src":"1632:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9651,"name":"uint256","nodeType":"ElementaryTypeName","src":"1632:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9654,"mutability":"mutable","name":"nonce","nameLocation":"1661:5:3","nodeType":"VariableDeclaration","scope":9661,"src":"1653:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9653,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9656,"mutability":"mutable","name":"to","nameLocation":"1684:2:3","nodeType":"VariableDeclaration","scope":9661,"src":"1676:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9655,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9658,"mutability":"mutable","name":"txType","nameLocation":"1704:6:3","nodeType":"VariableDeclaration","scope":9661,"src":"1696:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9660,"mutability":"mutable","name":"value","nameLocation":"1728:5:3","nodeType":"VariableDeclaration","scope":9661,"src":"1720:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9659,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1534:12:3","nodeType":"StructDefinition","scope":11617,"src":"1527:213:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.TxLegacy","id":9678,"members":[{"constant":false,"id":9664,"mutability":"mutable","name":"arguments","nameLocation":"2026:9:3","nodeType":"VariableDeclaration","scope":9678,"src":"2017:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9662,"name":"string","nodeType":"ElementaryTypeName","src":"2017:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9663,"nodeType":"ArrayTypeName","src":"2017:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9666,"mutability":"mutable","name":"contractAddress","nameLocation":"2053:15:3","nodeType":"VariableDeclaration","scope":9678,"src":"2045:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9665,"name":"address","nodeType":"ElementaryTypeName","src":"2045:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9668,"mutability":"mutable","name":"contractName","nameLocation":"2085:12:3","nodeType":"VariableDeclaration","scope":9678,"src":"2078:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9667,"name":"string","nodeType":"ElementaryTypeName","src":"2078:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9670,"mutability":"mutable","name":"functionSig","nameLocation":"2114:11:3","nodeType":"VariableDeclaration","scope":9678,"src":"2107:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9669,"name":"string","nodeType":"ElementaryTypeName","src":"2107:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9672,"mutability":"mutable","name":"hash","nameLocation":"2142:4:3","nodeType":"VariableDeclaration","scope":9678,"src":"2135:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9671,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9674,"mutability":"mutable","name":"opcode","nameLocation":"2163:6:3","nodeType":"VariableDeclaration","scope":9678,"src":"2156:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9673,"name":"string","nodeType":"ElementaryTypeName","src":"2156:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9677,"mutability":"mutable","name":"transaction","nameLocation":"2194:11:3","nodeType":"VariableDeclaration","scope":9678,"src":"2179:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$9711_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":9676,"nodeType":"UserDefinedTypeName","pathNode":{"id":9675,"name":"TxDetailLegacy","nameLocations":["2179:14:3"],"nodeType":"IdentifierPath","referencedDeclaration":9711,"src":"2179:14:3"},"referencedDeclaration":9711,"src":"2179:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$9711_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1998:8:3","nodeType":"StructDefinition","scope":11617,"src":"1991:221:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.TxDetailLegacy","id":9711,"members":[{"constant":false,"id":9682,"mutability":"mutable","name":"accessList","nameLocation":"2263:10:3","nodeType":"VariableDeclaration","scope":9711,"src":"2250:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":9680,"nodeType":"UserDefinedTypeName","pathNode":{"id":9679,"name":"AccessList","nameLocations":["2250:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9717,"src":"2250:10:3"},"referencedDeclaration":9717,"src":"2250:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$9717_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":9681,"nodeType":"ArrayTypeName","src":"2250:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":9684,"mutability":"mutable","name":"chainId","nameLocation":"2291:7:3","nodeType":"VariableDeclaration","scope":9711,"src":"2283:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9683,"name":"uint256","nodeType":"ElementaryTypeName","src":"2283:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9686,"mutability":"mutable","name":"data","nameLocation":"2314:4:3","nodeType":"VariableDeclaration","scope":9711,"src":"2308:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9685,"name":"bytes","nodeType":"ElementaryTypeName","src":"2308:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9688,"mutability":"mutable","name":"from","nameLocation":"2336:4:3","nodeType":"VariableDeclaration","scope":9711,"src":"2328:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9687,"name":"address","nodeType":"ElementaryTypeName","src":"2328:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9690,"mutability":"mutable","name":"gas","nameLocation":"2358:3:3","nodeType":"VariableDeclaration","scope":9711,"src":"2350:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9689,"name":"uint256","nodeType":"ElementaryTypeName","src":"2350:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9692,"mutability":"mutable","name":"gasPrice","nameLocation":"2379:8:3","nodeType":"VariableDeclaration","scope":9711,"src":"2371:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9691,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9694,"mutability":"mutable","name":"hash","nameLocation":"2405:4:3","nodeType":"VariableDeclaration","scope":9711,"src":"2397:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2397:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9696,"mutability":"mutable","name":"nonce","nameLocation":"2427:5:3","nodeType":"VariableDeclaration","scope":9711,"src":"2419:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9695,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9698,"mutability":"mutable","name":"opcode","nameLocation":"2449:6:3","nodeType":"VariableDeclaration","scope":9711,"src":"2442:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":9697,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2442:6:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":9700,"mutability":"mutable","name":"r","nameLocation":"2473:1:3","nodeType":"VariableDeclaration","scope":9711,"src":"2465:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2465:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9702,"mutability":"mutable","name":"s","nameLocation":"2492:1:3","nodeType":"VariableDeclaration","scope":9711,"src":"2484:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2484:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9704,"mutability":"mutable","name":"txType","nameLocation":"2511:6:3","nodeType":"VariableDeclaration","scope":9711,"src":"2503:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9703,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9706,"mutability":"mutable","name":"to","nameLocation":"2535:2:3","nodeType":"VariableDeclaration","scope":9711,"src":"2527:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9705,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9708,"mutability":"mutable","name":"v","nameLocation":"2553:1:3","nodeType":"VariableDeclaration","scope":9711,"src":"2547:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":9707,"name":"uint8","nodeType":"ElementaryTypeName","src":"2547:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":9710,"mutability":"mutable","name":"value","nameLocation":"2572:5:3","nodeType":"VariableDeclaration","scope":9711,"src":"2564:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2564:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2225:14:3","nodeType":"StructDefinition","scope":11617,"src":"2218:366:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.AccessList","id":9717,"members":[{"constant":false,"id":9713,"mutability":"mutable","name":"accessAddress","nameLocation":"2626:13:3","nodeType":"VariableDeclaration","scope":9717,"src":"2618:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9712,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9716,"mutability":"mutable","name":"storageKeys","nameLocation":"2659:11:3","nodeType":"VariableDeclaration","scope":9717,"src":"2649:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2649:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9715,"nodeType":"ArrayTypeName","src":"2649:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2597:10:3","nodeType":"StructDefinition","scope":11617,"src":"2590:87:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.RawReceipt","id":9746,"members":[{"constant":false,"id":9719,"mutability":"mutable","name":"blockHash","nameLocation":"2929:9:3","nodeType":"VariableDeclaration","scope":9746,"src":"2921:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2921:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9721,"mutability":"mutable","name":"blockNumber","nameLocation":"2954:11:3","nodeType":"VariableDeclaration","scope":9746,"src":"2948:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9720,"name":"bytes","nodeType":"ElementaryTypeName","src":"2948:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9723,"mutability":"mutable","name":"contractAddress","nameLocation":"2983:15:3","nodeType":"VariableDeclaration","scope":9746,"src":"2975:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9722,"name":"address","nodeType":"ElementaryTypeName","src":"2975:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9725,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3014:17:3","nodeType":"VariableDeclaration","scope":9746,"src":"3008:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9724,"name":"bytes","nodeType":"ElementaryTypeName","src":"3008:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9727,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3047:17:3","nodeType":"VariableDeclaration","scope":9746,"src":"3041:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9726,"name":"bytes","nodeType":"ElementaryTypeName","src":"3041:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9729,"mutability":"mutable","name":"from","nameLocation":"3082:4:3","nodeType":"VariableDeclaration","scope":9746,"src":"3074:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9728,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9731,"mutability":"mutable","name":"gasUsed","nameLocation":"3102:7:3","nodeType":"VariableDeclaration","scope":9746,"src":"3096:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9730,"name":"bytes","nodeType":"ElementaryTypeName","src":"3096:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9735,"mutability":"mutable","name":"logs","nameLocation":"3135:4:3","nodeType":"VariableDeclaration","scope":9746,"src":"3119:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":9733,"nodeType":"UserDefinedTypeName","pathNode":{"id":9732,"name":"RawReceiptLog","nameLocations":["3119:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":9843,"src":"3119:13:3"},"referencedDeclaration":9843,"src":"3119:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":9734,"nodeType":"ArrayTypeName","src":"3119:15:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":9737,"mutability":"mutable","name":"logsBloom","nameLocation":"3155:9:3","nodeType":"VariableDeclaration","scope":9746,"src":"3149:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9736,"name":"bytes","nodeType":"ElementaryTypeName","src":"3149:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9739,"mutability":"mutable","name":"status","nameLocation":"3180:6:3","nodeType":"VariableDeclaration","scope":9746,"src":"3174:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9738,"name":"bytes","nodeType":"ElementaryTypeName","src":"3174:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9741,"mutability":"mutable","name":"to","nameLocation":"3204:2:3","nodeType":"VariableDeclaration","scope":9746,"src":"3196:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9740,"name":"address","nodeType":"ElementaryTypeName","src":"3196:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9743,"mutability":"mutable","name":"transactionHash","nameLocation":"3224:15:3","nodeType":"VariableDeclaration","scope":9746,"src":"3216:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3216:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9745,"mutability":"mutable","name":"transactionIndex","nameLocation":"3255:16:3","nodeType":"VariableDeclaration","scope":9746,"src":"3249:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9744,"name":"bytes","nodeType":"ElementaryTypeName","src":"3249:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2900:10:3","nodeType":"StructDefinition","scope":11617,"src":"2893:385:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.Receipt","id":9775,"members":[{"constant":false,"id":9748,"mutability":"mutable","name":"blockHash","nameLocation":"3317:9:3","nodeType":"VariableDeclaration","scope":9775,"src":"3309:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3309:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9750,"mutability":"mutable","name":"blockNumber","nameLocation":"3344:11:3","nodeType":"VariableDeclaration","scope":9775,"src":"3336:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9749,"name":"uint256","nodeType":"ElementaryTypeName","src":"3336:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9752,"mutability":"mutable","name":"contractAddress","nameLocation":"3373:15:3","nodeType":"VariableDeclaration","scope":9775,"src":"3365:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9751,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9754,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3406:17:3","nodeType":"VariableDeclaration","scope":9775,"src":"3398:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9753,"name":"uint256","nodeType":"ElementaryTypeName","src":"3398:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9756,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3441:17:3","nodeType":"VariableDeclaration","scope":9775,"src":"3433:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9755,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9758,"mutability":"mutable","name":"from","nameLocation":"3476:4:3","nodeType":"VariableDeclaration","scope":9775,"src":"3468:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9757,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9760,"mutability":"mutable","name":"gasUsed","nameLocation":"3498:7:3","nodeType":"VariableDeclaration","scope":9775,"src":"3490:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9759,"name":"uint256","nodeType":"ElementaryTypeName","src":"3490:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9764,"mutability":"mutable","name":"logs","nameLocation":"3528:4:3","nodeType":"VariableDeclaration","scope":9775,"src":"3515:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":9762,"nodeType":"UserDefinedTypeName","pathNode":{"id":9761,"name":"ReceiptLog","nameLocations":["3515:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9863,"src":"3515:10:3"},"referencedDeclaration":9863,"src":"3515:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":9763,"nodeType":"ArrayTypeName","src":"3515:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":9766,"mutability":"mutable","name":"logsBloom","nameLocation":"3548:9:3","nodeType":"VariableDeclaration","scope":9775,"src":"3542:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9765,"name":"bytes","nodeType":"ElementaryTypeName","src":"3542:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9768,"mutability":"mutable","name":"status","nameLocation":"3575:6:3","nodeType":"VariableDeclaration","scope":9775,"src":"3567:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9767,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9770,"mutability":"mutable","name":"to","nameLocation":"3599:2:3","nodeType":"VariableDeclaration","scope":9775,"src":"3591:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9769,"name":"address","nodeType":"ElementaryTypeName","src":"3591:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9772,"mutability":"mutable","name":"transactionHash","nameLocation":"3619:15:3","nodeType":"VariableDeclaration","scope":9775,"src":"3611:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3611:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9774,"mutability":"mutable","name":"transactionIndex","nameLocation":"3652:16:3","nodeType":"VariableDeclaration","scope":9775,"src":"3644:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9773,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3291:7:3","nodeType":"StructDefinition","scope":11617,"src":"3284:391:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","id":9798,"members":[{"constant":false,"id":9778,"mutability":"mutable","name":"libraries","nameLocation":"3846:9:3","nodeType":"VariableDeclaration","scope":9798,"src":"3837:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9776,"name":"string","nodeType":"ElementaryTypeName","src":"3837:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9777,"nodeType":"ArrayTypeName","src":"3837:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9780,"mutability":"mutable","name":"path","nameLocation":"3872:4:3","nodeType":"VariableDeclaration","scope":9798,"src":"3865:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9779,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9783,"mutability":"mutable","name":"pending","nameLocation":"3895:7:3","nodeType":"VariableDeclaration","scope":9798,"src":"3886:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9781,"name":"string","nodeType":"ElementaryTypeName","src":"3886:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9782,"nodeType":"ArrayTypeName","src":"3886:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9787,"mutability":"mutable","name":"receipts","nameLocation":"3922:8:3","nodeType":"VariableDeclaration","scope":9798,"src":"3912:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":9785,"nodeType":"UserDefinedTypeName","pathNode":{"id":9784,"name":"Receipt","nameLocations":["3912:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"3912:7:3"},"referencedDeclaration":9775,"src":"3912:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":9786,"nodeType":"ArrayTypeName","src":"3912:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":9789,"mutability":"mutable","name":"timestamp","nameLocation":"3948:9:3","nodeType":"VariableDeclaration","scope":9798,"src":"3940:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9788,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9793,"mutability":"mutable","name":"transactions","nameLocation":"3976:12:3","nodeType":"VariableDeclaration","scope":9798,"src":"3967:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":9791,"nodeType":"UserDefinedTypeName","pathNode":{"id":9790,"name":"Tx1559","nameLocations":["3967:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"3967:6:3"},"referencedDeclaration":9642,"src":"3967:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":9792,"nodeType":"ArrayTypeName","src":"3967:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":9797,"mutability":"mutable","name":"txReturns","nameLocation":"4009:9:3","nodeType":"VariableDeclaration","scope":9798,"src":"3998:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":9795,"nodeType":"UserDefinedTypeName","pathNode":{"id":9794,"name":"TxReturn","nameLocations":["3998:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":9868,"src":"3998:8:3"},"referencedDeclaration":9868,"src":"3998:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$9868_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":9796,"nodeType":"ArrayTypeName","src":"3998:10:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3805:21:3","nodeType":"StructDefinition","scope":11617,"src":"3798:227:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","id":9821,"members":[{"constant":false,"id":9801,"mutability":"mutable","name":"libraries","nameLocation":"4082:9:3","nodeType":"VariableDeclaration","scope":9821,"src":"4073:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9799,"name":"string","nodeType":"ElementaryTypeName","src":"4073:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9800,"nodeType":"ArrayTypeName","src":"4073:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9803,"mutability":"mutable","name":"path","nameLocation":"4108:4:3","nodeType":"VariableDeclaration","scope":9821,"src":"4101:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9802,"name":"string","nodeType":"ElementaryTypeName","src":"4101:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9806,"mutability":"mutable","name":"pending","nameLocation":"4131:7:3","nodeType":"VariableDeclaration","scope":9821,"src":"4122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":9804,"name":"string","nodeType":"ElementaryTypeName","src":"4122:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":9805,"nodeType":"ArrayTypeName","src":"4122:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":9810,"mutability":"mutable","name":"receipts","nameLocation":"4161:8:3","nodeType":"VariableDeclaration","scope":9821,"src":"4148:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":9808,"nodeType":"UserDefinedTypeName","pathNode":{"id":9807,"name":"RawReceipt","nameLocations":["4148:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9746,"src":"4148:10:3"},"referencedDeclaration":9746,"src":"4148:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":9809,"nodeType":"ArrayTypeName","src":"4148:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":9814,"mutability":"mutable","name":"txReturns","nameLocation":"4190:9:3","nodeType":"VariableDeclaration","scope":9821,"src":"4179:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":9812,"nodeType":"UserDefinedTypeName","pathNode":{"id":9811,"name":"TxReturn","nameLocations":["4179:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":9868,"src":"4179:8:3"},"referencedDeclaration":9868,"src":"4179:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$9868_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":9813,"nodeType":"ArrayTypeName","src":"4179:10:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":9816,"mutability":"mutable","name":"timestamp","nameLocation":"4217:9:3","nodeType":"VariableDeclaration","scope":9821,"src":"4209:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9815,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9820,"mutability":"mutable","name":"transactions","nameLocation":"4248:12:3","nodeType":"VariableDeclaration","scope":9821,"src":"4236:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":9818,"nodeType":"UserDefinedTypeName","pathNode":{"id":9817,"name":"RawTx1559","nameLocations":["4236:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":9606,"src":"4236:9:3"},"referencedDeclaration":9606,"src":"4236:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":9819,"nodeType":"ArrayTypeName","src":"4236:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"4038:24:3","nodeType":"StructDefinition","scope":11617,"src":"4031:236:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.RawReceiptLog","id":9843,"members":[{"constant":false,"id":9823,"mutability":"mutable","name":"logAddress","nameLocation":"4344:10:3","nodeType":"VariableDeclaration","scope":9843,"src":"4336:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9822,"name":"address","nodeType":"ElementaryTypeName","src":"4336:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9825,"mutability":"mutable","name":"blockHash","nameLocation":"4372:9:3","nodeType":"VariableDeclaration","scope":9843,"src":"4364:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4364:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9827,"mutability":"mutable","name":"blockNumber","nameLocation":"4397:11:3","nodeType":"VariableDeclaration","scope":9843,"src":"4391:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9826,"name":"bytes","nodeType":"ElementaryTypeName","src":"4391:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9829,"mutability":"mutable","name":"data","nameLocation":"4424:4:3","nodeType":"VariableDeclaration","scope":9843,"src":"4418:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9828,"name":"bytes","nodeType":"ElementaryTypeName","src":"4418:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9831,"mutability":"mutable","name":"logIndex","nameLocation":"4444:8:3","nodeType":"VariableDeclaration","scope":9843,"src":"4438:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9830,"name":"bytes","nodeType":"ElementaryTypeName","src":"4438:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9833,"mutability":"mutable","name":"removed","nameLocation":"4467:7:3","nodeType":"VariableDeclaration","scope":9843,"src":"4462:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9832,"name":"bool","nodeType":"ElementaryTypeName","src":"4462:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9836,"mutability":"mutable","name":"topics","nameLocation":"4494:6:3","nodeType":"VariableDeclaration","scope":9843,"src":"4484:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4484:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9835,"nodeType":"ArrayTypeName","src":"4484:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":9838,"mutability":"mutable","name":"transactionHash","nameLocation":"4518:15:3","nodeType":"VariableDeclaration","scope":9843,"src":"4510:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4510:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9840,"mutability":"mutable","name":"transactionIndex","nameLocation":"4549:16:3","nodeType":"VariableDeclaration","scope":9843,"src":"4543:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9839,"name":"bytes","nodeType":"ElementaryTypeName","src":"4543:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9842,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4581:19:3","nodeType":"VariableDeclaration","scope":9843,"src":"4575:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9841,"name":"bytes","nodeType":"ElementaryTypeName","src":"4575:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4280:13:3","nodeType":"StructDefinition","scope":11617,"src":"4273:334:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.ReceiptLog","id":9863,"members":[{"constant":false,"id":9845,"mutability":"mutable","name":"logAddress","nameLocation":"4681:10:3","nodeType":"VariableDeclaration","scope":9863,"src":"4673:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9844,"name":"address","nodeType":"ElementaryTypeName","src":"4673:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9847,"mutability":"mutable","name":"blockHash","nameLocation":"4709:9:3","nodeType":"VariableDeclaration","scope":9863,"src":"4701:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4701:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9849,"mutability":"mutable","name":"blockNumber","nameLocation":"4736:11:3","nodeType":"VariableDeclaration","scope":9863,"src":"4728:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9848,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9851,"mutability":"mutable","name":"data","nameLocation":"4763:4:3","nodeType":"VariableDeclaration","scope":9863,"src":"4757:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":9850,"name":"bytes","nodeType":"ElementaryTypeName","src":"4757:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9853,"mutability":"mutable","name":"logIndex","nameLocation":"4785:8:3","nodeType":"VariableDeclaration","scope":9863,"src":"4777:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9852,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9856,"mutability":"mutable","name":"topics","nameLocation":"4813:6:3","nodeType":"VariableDeclaration","scope":9863,"src":"4803:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4803:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9855,"nodeType":"ArrayTypeName","src":"4803:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":9858,"mutability":"mutable","name":"transactionIndex","nameLocation":"4837:16:3","nodeType":"VariableDeclaration","scope":9863,"src":"4829:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9857,"name":"uint256","nodeType":"ElementaryTypeName","src":"4829:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9860,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4871:19:3","nodeType":"VariableDeclaration","scope":9863,"src":"4863:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9859,"name":"uint256","nodeType":"ElementaryTypeName","src":"4863:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9862,"mutability":"mutable","name":"removed","nameLocation":"4905:7:3","nodeType":"VariableDeclaration","scope":9863,"src":"4900:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9861,"name":"bool","nodeType":"ElementaryTypeName","src":"4900:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4620:10:3","nodeType":"StructDefinition","scope":11617,"src":"4613:306:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.TxReturn","id":9868,"members":[{"constant":false,"id":9865,"mutability":"mutable","name":"internalType","nameLocation":"4958:12:3","nodeType":"VariableDeclaration","scope":9868,"src":"4951:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9864,"name":"string","nodeType":"ElementaryTypeName","src":"4951:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9867,"mutability":"mutable","name":"value","nameLocation":"4987:5:3","nodeType":"VariableDeclaration","scope":9868,"src":"4980:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":9866,"name":"string","nodeType":"ElementaryTypeName","src":"4980:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4932:8:3","nodeType":"StructDefinition","scope":11617,"src":"4925:74:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.Account","id":9873,"members":[{"constant":false,"id":9870,"mutability":"mutable","name":"addr","nameLocation":"5038:4:3","nodeType":"VariableDeclaration","scope":9873,"src":"5030:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9869,"name":"address","nodeType":"ElementaryTypeName","src":"5030:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9872,"mutability":"mutable","name":"key","nameLocation":"5060:3:3","nodeType":"VariableDeclaration","scope":9873,"src":"5052:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9871,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Account","nameLocation":"5012:7:3","nodeType":"StructDefinition","scope":11617,"src":"5005:65:3","visibility":"public"},{"canonicalName":"StdCheatsSafe.AddressType","id":9879,"members":[{"id":9874,"name":"Payable","nameLocation":"5103:7:3","nodeType":"EnumValue","src":"5103:7:3"},{"id":9875,"name":"NonPayable","nameLocation":"5120:10:3","nodeType":"EnumValue","src":"5120:10:3"},{"id":9876,"name":"ZeroAddress","nameLocation":"5140:11:3","nodeType":"EnumValue","src":"5140:11:3"},{"id":9877,"name":"Precompile","nameLocation":"5161:10:3","nodeType":"EnumValue","src":"5161:10:3"},{"id":9878,"name":"ForgeAddress","nameLocation":"5181:12:3","nodeType":"EnumValue","src":"5181:12:3"}],"name":"AddressType","nameLocation":"5081:11:3","nodeType":"EnumDefinition","src":"5076:123:3"},{"body":{"id":9963,"nodeType":"Block","src":"5373:822:3","statements":[{"assignments":[9887],"declarations":[{"constant":false,"id":9887,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"5449:13:3","nodeType":"VariableDeclaration","scope":9963,"src":"5441:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9886,"name":"uint256","nodeType":"ElementaryTypeName","src":"5441:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9888,"nodeType":"VariableDeclarationStatement","src":"5441:21:3"},{"AST":{"nativeSrc":"5481:59:3","nodeType":"YulBlock","src":"5481:59:3","statements":[{"nativeSrc":"5495:35:3","nodeType":"YulAssignment","src":"5495:35:3","value":{"arguments":[{"name":"token","nativeSrc":"5524:5:3","nodeType":"YulIdentifier","src":"5524:5:3"}],"functionName":{"name":"extcodesize","nativeSrc":"5512:11:3","nodeType":"YulIdentifier","src":"5512:11:3"},"nativeSrc":"5512:18:3","nodeType":"YulFunctionCall","src":"5512:18:3"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"5495:13:3","nodeType":"YulIdentifier","src":"5495:13:3"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":9881,"isOffset":false,"isSlot":false,"src":"5524:5:3","valueSize":1},{"declaration":9887,"isOffset":false,"isSlot":false,"src":"5495:13:3","valueSize":1}],"id":9889,"nodeType":"InlineAssembly","src":"5472:68:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9891,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"5557:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5573:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5557:17:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53746443686561747320617373756d654e6f74426c61636b6c697374656428616464726573732c61646472657373293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":9894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5576:83:3","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":9890,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5549:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:111:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9896,"nodeType":"ExpressionStatement","src":"5549:111:3"},{"assignments":[9898],"declarations":[{"constant":false,"id":9898,"mutability":"mutable","name":"success","nameLocation":"5676:7:3","nodeType":"VariableDeclaration","scope":9963,"src":"5671:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9897,"name":"bool","nodeType":"ElementaryTypeName","src":"5671:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9899,"nodeType":"VariableDeclarationStatement","src":"5671:12:3"},{"assignments":[9901],"declarations":[{"constant":false,"id":9901,"mutability":"mutable","name":"returnData","nameLocation":"5706:10:3","nodeType":"VariableDeclaration","scope":9963,"src":"5693:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9900,"name":"bytes","nodeType":"ElementaryTypeName","src":"5693:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9902,"nodeType":"VariableDeclarationStatement","src":"5693:23:3"},{"expression":{"id":9914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9903,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"5799:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9904,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9901,"src":"5808:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":9905,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5798:21:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786665353735613837","id":9910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5862:10:3","typeDescriptions":{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},"value":"0xfe575a87"},{"id":9911,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9883,"src":"5874:4:3","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":9908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5839:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5843:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5839:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":9912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5839:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9906,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9881,"src":"5822:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5828:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"5822:16:3","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":9913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"5798:82:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9915,"nodeType":"ExpressionStatement","src":"5798:82:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5900:8:3","subExpression":{"id":9919,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"5901:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9923,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9901,"src":"5923:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5936:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":9924,"name":"bool","nodeType":"ElementaryTypeName","src":"5936:4:3","typeDescriptions":{}}}],"id":9926,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5935:6:3","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":9921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5912:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5916:6:3","memberName":"decode","nodeType":"MemberAccess","src":"5912:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5912:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":9928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5946:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5912:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5900:51:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9916,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"5890:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":9918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5893:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"5890:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":9931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5890:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9932,"nodeType":"ExpressionStatement","src":"5890:62:3"},{"expression":{"id":9944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9933,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"6035:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9934,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9901,"src":"6044:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":9935,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6034:21:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786534376436303630","id":9940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6098:10:3","typeDescriptions":{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},"value":"0xe47d6060"},{"id":9941,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9883,"src":"6110:4:3","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":9938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6075:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6079:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6075:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":9942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9936,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9881,"src":"6058:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6064:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"6058:16:3","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":9943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6058:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6034:82:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9945,"nodeType":"ExpressionStatement","src":"6034:82:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6136:8:3","subExpression":{"id":9949,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"6137:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9953,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9901,"src":"6159:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6172:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":9954,"name":"bool","nodeType":"ElementaryTypeName","src":"6172:4:3","typeDescriptions":{}}}],"id":9956,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6171:6:3","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":9951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6148:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6152:6:3","memberName":"decode","nodeType":"MemberAccess","src":"6148:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6148:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":9958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6182:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6148:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6136:51:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"6126:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":9948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6129:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"6126:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":9961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6126:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9962,"nodeType":"ExpressionStatement","src":"6126:62:3"}]},"id":9964,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotBlacklisted","nameLocation":"5301:20:3","nodeType":"FunctionDefinition","parameters":{"id":9884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9881,"mutability":"mutable","name":"token","nameLocation":"5330:5:3","nodeType":"VariableDeclaration","scope":9964,"src":"5322:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9880,"name":"address","nodeType":"ElementaryTypeName","src":"5322:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9883,"mutability":"mutable","name":"addr","nameLocation":"5345:4:3","nodeType":"VariableDeclaration","scope":9964,"src":"5337:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9882,"name":"address","nodeType":"ElementaryTypeName","src":"5337:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5321:29:3"},"returnParameters":{"id":9885,"nodeType":"ParameterList","parameters":[],"src":"5373:0:3"},"scope":11617,"src":"5292:903:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":9976,"nodeType":"Block","src":"6660:50:3","statements":[{"expression":{"arguments":[{"id":9972,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9966,"src":"6691:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9973,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9968,"src":"6698:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9971,"name":"assumeNotBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9964,"src":"6670:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) view"}},"id":9974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9975,"nodeType":"ExpressionStatement","src":"6670:33:3"}]},"id":9977,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoBlacklisted","nameLocation":"6589:19:3","nodeType":"FunctionDefinition","parameters":{"id":9969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9966,"mutability":"mutable","name":"token","nameLocation":"6617:5:3","nodeType":"VariableDeclaration","scope":9977,"src":"6609:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9965,"name":"address","nodeType":"ElementaryTypeName","src":"6609:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9968,"mutability":"mutable","name":"addr","nameLocation":"6632:4:3","nodeType":"VariableDeclaration","scope":9977,"src":"6624:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9967,"name":"address","nodeType":"ElementaryTypeName","src":"6624:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6608:29:3"},"returnParameters":{"id":9970,"nodeType":"ParameterList","parameters":[],"src":"6660:0:3"},"scope":11617,"src":"6580:130:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10035,"nodeType":"Block","src":"6800:499:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"id":9988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9985,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"6814:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":9986,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9879,"src":"6829:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$9879_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":9987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6841:7:3","memberName":"Payable","nodeType":"MemberAccess","referencedDeclaration":9874,"src":"6829:19:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6814:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"id":9997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9994,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"6907:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":9995,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9879,"src":"6922:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$9879_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":9996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6934:10:3","memberName":"NonPayable","nodeType":"MemberAccess","referencedDeclaration":9875,"src":"6922:22:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6907:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"id":10006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10003,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"7000:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10004,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9879,"src":"7015:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$9879_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":10005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7027:11:3","memberName":"ZeroAddress","nodeType":"MemberAccess","referencedDeclaration":9876,"src":"7015:23:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7000:38:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"id":10015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10012,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"7101:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10013,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9879,"src":"7116:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$9879_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":10014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7128:10:3","memberName":"Precompile","nodeType":"MemberAccess","referencedDeclaration":9877,"src":"7116:22:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7101:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"id":10024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10021,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"7200:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":10022,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9879,"src":"7215:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$9879_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":10023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7227:12:3","memberName":"ForgeAddress","nodeType":"MemberAccess","referencedDeclaration":9878,"src":"7215:24:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7200:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10030,"nodeType":"IfStatement","src":"7196:97:3","trueBody":{"id":10029,"nodeType":"Block","src":"7241:52:3","statements":[{"expression":{"arguments":[{"id":10026,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9979,"src":"7277:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10025,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10425,"src":"7255:21:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":10027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7255:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10028,"nodeType":"ExpressionStatement","src":"7255:27:3"}]}},"id":10031,"nodeType":"IfStatement","src":"7097:196:3","trueBody":{"id":10020,"nodeType":"Block","src":"7140:50:3","statements":[{"expression":{"arguments":[{"id":10017,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9979,"src":"7174:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10016,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[10257,10400],"referencedDeclaration":10257,"src":"7154:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":10018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7154:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10019,"nodeType":"ExpressionStatement","src":"7154:25:3"}]}},"id":10032,"nodeType":"IfStatement","src":"6996:297:3","trueBody":{"id":10011,"nodeType":"Block","src":"7040:51:3","statements":[{"expression":{"arguments":[{"id":10008,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9979,"src":"7075:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10007,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"7054:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":10009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10010,"nodeType":"ExpressionStatement","src":"7054:26:3"}]}},"id":10033,"nodeType":"IfStatement","src":"6903:390:3","trueBody":{"id":10002,"nodeType":"Block","src":"6946:44:3","statements":[{"expression":{"arguments":[{"id":9999,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9979,"src":"6974:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9998,"name":"assumePayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10213,"src":"6960:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6960:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10001,"nodeType":"ExpressionStatement","src":"6960:19:3"}]}},"id":10034,"nodeType":"IfStatement","src":"6810:483:3","trueBody":{"id":9993,"nodeType":"Block","src":"6850:47:3","statements":[{"expression":{"arguments":[{"id":9990,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9979,"src":"6881:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9989,"name":"assumeNotPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10228,"src":"6864:16:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9992,"nodeType":"ExpressionStatement","src":"6864:22:3"}]}}]},"id":10036,"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"6725:18:3","nodeType":"FunctionDefinition","parameters":{"id":9983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9979,"mutability":"mutable","name":"addr","nameLocation":"6752:4:3","nodeType":"VariableDeclaration","scope":10036,"src":"6744:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9978,"name":"address","nodeType":"ElementaryTypeName","src":"6744:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9982,"mutability":"mutable","name":"addressType","nameLocation":"6770:11:3","nodeType":"VariableDeclaration","scope":10036,"src":"6758:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":9981,"nodeType":"UserDefinedTypeName","pathNode":{"id":9980,"name":"AddressType","nameLocations":["6758:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"6758:11:3"},"referencedDeclaration":9879,"src":"6758:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"6743:39:3"},"returnParameters":{"id":9984,"nodeType":"ParameterList","parameters":[],"src":"6800:0:3"},"scope":11617,"src":"6716:583:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10057,"nodeType":"Block","src":"7416:103:3","statements":[{"expression":{"arguments":[{"id":10048,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10038,"src":"7445:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10049,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10041,"src":"7451:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10047,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"7426:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7426:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10051,"nodeType":"ExpressionStatement","src":"7426:38:3"},{"expression":{"arguments":[{"id":10053,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10038,"src":"7493:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10054,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10044,"src":"7499:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10052,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"7474:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7474:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10056,"nodeType":"ExpressionStatement","src":"7474:38:3"}]},"id":10058,"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7314:18:3","nodeType":"FunctionDefinition","parameters":{"id":10045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10038,"mutability":"mutable","name":"addr","nameLocation":"7341:4:3","nodeType":"VariableDeclaration","scope":10058,"src":"7333:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10037,"name":"address","nodeType":"ElementaryTypeName","src":"7333:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10041,"mutability":"mutable","name":"addressType1","nameLocation":"7359:12:3","nodeType":"VariableDeclaration","scope":10058,"src":"7347:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10040,"nodeType":"UserDefinedTypeName","pathNode":{"id":10039,"name":"AddressType","nameLocations":["7347:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7347:11:3"},"referencedDeclaration":9879,"src":"7347:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10044,"mutability":"mutable","name":"addressType2","nameLocation":"7385:12:3","nodeType":"VariableDeclaration","scope":10058,"src":"7373:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10043,"nodeType":"UserDefinedTypeName","pathNode":{"id":10042,"name":"AddressType","nameLocations":["7373:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7373:11:3"},"referencedDeclaration":9879,"src":"7373:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7332:66:3"},"returnParameters":{"id":10046,"nodeType":"ParameterList","parameters":[],"src":"7416:0:3"},"scope":11617,"src":"7305:214:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10087,"nodeType":"Block","src":"7700:151:3","statements":[{"expression":{"arguments":[{"id":10073,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10060,"src":"7729:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10074,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10063,"src":"7735:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10072,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"7710:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10076,"nodeType":"ExpressionStatement","src":"7710:38:3"},{"expression":{"arguments":[{"id":10078,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10060,"src":"7777:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10079,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10066,"src":"7783:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10077,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"7758:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7758:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10081,"nodeType":"ExpressionStatement","src":"7758:38:3"},{"expression":{"arguments":[{"id":10083,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10060,"src":"7825:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10084,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10069,"src":"7831:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10082,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"7806:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7806:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10086,"nodeType":"ExpressionStatement","src":"7806:38:3"}]},"id":10088,"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7534:18:3","nodeType":"FunctionDefinition","parameters":{"id":10070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10060,"mutability":"mutable","name":"addr","nameLocation":"7570:4:3","nodeType":"VariableDeclaration","scope":10088,"src":"7562:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10059,"name":"address","nodeType":"ElementaryTypeName","src":"7562:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10063,"mutability":"mutable","name":"addressType1","nameLocation":"7596:12:3","nodeType":"VariableDeclaration","scope":10088,"src":"7584:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10062,"nodeType":"UserDefinedTypeName","pathNode":{"id":10061,"name":"AddressType","nameLocations":["7584:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7584:11:3"},"referencedDeclaration":9879,"src":"7584:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10066,"mutability":"mutable","name":"addressType2","nameLocation":"7630:12:3","nodeType":"VariableDeclaration","scope":10088,"src":"7618:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10065,"nodeType":"UserDefinedTypeName","pathNode":{"id":10064,"name":"AddressType","nameLocations":["7618:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7618:11:3"},"referencedDeclaration":9879,"src":"7618:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10069,"mutability":"mutable","name":"addressType3","nameLocation":"7664:12:3","nodeType":"VariableDeclaration","scope":10088,"src":"7652:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10068,"nodeType":"UserDefinedTypeName","pathNode":{"id":10067,"name":"AddressType","nameLocations":["7652:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7652:11:3"},"referencedDeclaration":9879,"src":"7652:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7552:130:3"},"returnParameters":{"id":10071,"nodeType":"ParameterList","parameters":[],"src":"7700:0:3"},"scope":11617,"src":"7525:326:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10125,"nodeType":"Block","src":"8066:199:3","statements":[{"expression":{"arguments":[{"id":10106,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"8095:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10107,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10093,"src":"8101:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10105,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"8076:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10109,"nodeType":"ExpressionStatement","src":"8076:38:3"},{"expression":{"arguments":[{"id":10111,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"8143:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10112,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10096,"src":"8149:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10110,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"8124:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8124:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10114,"nodeType":"ExpressionStatement","src":"8124:38:3"},{"expression":{"arguments":[{"id":10116,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"8191:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10117,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10099,"src":"8197:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10115,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"8172:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8172:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10119,"nodeType":"ExpressionStatement","src":"8172:38:3"},{"expression":{"arguments":[{"id":10121,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"8239:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10122,"name":"addressType4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10102,"src":"8245:12:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}],"id":10120,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[10036,10058,10088,10126],"referencedDeclaration":10036,"src":"8220:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$9879_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":10123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8220:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10124,"nodeType":"ExpressionStatement","src":"8220:38:3"}]},"id":10126,"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7866:18:3","nodeType":"FunctionDefinition","parameters":{"id":10103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10090,"mutability":"mutable","name":"addr","nameLocation":"7902:4:3","nodeType":"VariableDeclaration","scope":10126,"src":"7894:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10089,"name":"address","nodeType":"ElementaryTypeName","src":"7894:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10093,"mutability":"mutable","name":"addressType1","nameLocation":"7928:12:3","nodeType":"VariableDeclaration","scope":10126,"src":"7916:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10092,"nodeType":"UserDefinedTypeName","pathNode":{"id":10091,"name":"AddressType","nameLocations":["7916:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7916:11:3"},"referencedDeclaration":9879,"src":"7916:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10096,"mutability":"mutable","name":"addressType2","nameLocation":"7962:12:3","nodeType":"VariableDeclaration","scope":10126,"src":"7950:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10095,"nodeType":"UserDefinedTypeName","pathNode":{"id":10094,"name":"AddressType","nameLocations":["7950:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7950:11:3"},"referencedDeclaration":9879,"src":"7950:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10099,"mutability":"mutable","name":"addressType3","nameLocation":"7996:12:3","nodeType":"VariableDeclaration","scope":10126,"src":"7984:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10098,"nodeType":"UserDefinedTypeName","pathNode":{"id":10097,"name":"AddressType","nameLocations":["7984:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"7984:11:3"},"referencedDeclaration":9879,"src":"7984:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":10102,"mutability":"mutable","name":"addressType4","nameLocation":"8030:12:3","nodeType":"VariableDeclaration","scope":10126,"src":"8018:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":10101,"nodeType":"UserDefinedTypeName","pathNode":{"id":10100,"name":"AddressType","nameLocations":["8018:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":9879,"src":"8018:11:3"},"referencedDeclaration":9879,"src":"8018:11:3","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$9879","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7884:164:3"},"returnParameters":{"id":10104,"nodeType":"ParameterList","parameters":[],"src":"8066:0:3"},"scope":11617,"src":"7857:408:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10198,"nodeType":"Block","src":"8668:535:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10134,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10128,"src":"8699:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8704:7:3","memberName":"balance","nodeType":"MemberAccess","src":"8699:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10136,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9587,"src":"8714:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f697350617961626c652861646472657373293a2042616c616e636520657175616c73206d61782075696e743235362c20736f2069742063616e6e6f74207265636569766520616e79206d6f72652066756e6473","id":10138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8739:96:3","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":10133,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8678:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:167:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10140,"nodeType":"ExpressionStatement","src":"8678:167:3"},{"assignments":[10142],"declarations":[{"constant":false,"id":10142,"mutability":"mutable","name":"origBalanceTest","nameLocation":"8863:15:3","nodeType":"VariableDeclaration","scope":10198,"src":"8855:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10141,"name":"uint256","nodeType":"ElementaryTypeName","src":"8855:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10148,"initialValue":{"expression":{"arguments":[{"id":10145,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8889:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}],"id":10144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8881:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10143,"name":"address","nodeType":"ElementaryTypeName","src":"8881:7:3","typeDescriptions":{}}},"id":10146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8895:7:3","memberName":"balance","nodeType":"MemberAccess","src":"8881:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8855:47:3"},{"assignments":[10150],"declarations":[{"constant":false,"id":10150,"mutability":"mutable","name":"origBalanceAddr","nameLocation":"8920:15:3","nodeType":"VariableDeclaration","scope":10198,"src":"8912:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10149,"name":"uint256","nodeType":"ElementaryTypeName","src":"8912:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10156,"initialValue":{"expression":{"arguments":[{"id":10153,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10128,"src":"8946:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8938:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10151,"name":"address","nodeType":"ElementaryTypeName","src":"8938:7:3","typeDescriptions":{}}},"id":10154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8938:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:7:3","memberName":"balance","nodeType":"MemberAccess","src":"8938:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8912:47:3"},{"expression":{"arguments":[{"arguments":[{"id":10162,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8986:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}],"id":10161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8978:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10160,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:3","typeDescriptions":{}}},"id":10163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8978:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":10164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8993:1:3","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":10157,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"8970:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8973:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"8970:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":10165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10166,"nodeType":"ExpressionStatement","src":"8970:25:3"},{"assignments":[10168,null],"declarations":[{"constant":false,"id":10168,"mutability":"mutable","name":"success","nameLocation":"9011:7:3","nodeType":"VariableDeclaration","scope":10198,"src":"9006:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10167,"name":"bool","nodeType":"ElementaryTypeName","src":"9006:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":10178,"initialValue":{"arguments":[{"hexValue":"","id":10176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:2:3","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":10171,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10128,"src":"9031:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9023:8:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":10169,"name":"address","nodeType":"ElementaryTypeName","src":"9023:8:3","stateMutability":"payable","typeDescriptions":{}}},"id":10172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":10173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9037:4:3","memberName":"call","nodeType":"MemberAccess","src":"9023:18:3","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":10175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":10174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9049:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"9023:28:3","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":10177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9005:50:3"},{"expression":{"arguments":[{"arguments":[{"id":10184,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9108:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}],"id":10183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9100:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10182,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:3","typeDescriptions":{}}},"id":10185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9100:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10186,"name":"origBalanceTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10142,"src":"9115:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9092:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9095:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"9092:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":10187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9092:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10188,"nodeType":"ExpressionStatement","src":"9092:39:3"},{"expression":{"arguments":[{"id":10192,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10128,"src":"9149:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10193,"name":"origBalanceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10150,"src":"9155:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9141:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9144:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"9141:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":10194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9141:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10195,"nodeType":"ExpressionStatement","src":"9141:30:3"},{"expression":{"id":10196,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10168,"src":"9189:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10132,"id":10197,"nodeType":"Return","src":"9182:14:3"}]},"id":10199,"implemented":true,"kind":"function","modifiers":[],"name":"_isPayable","nameLocation":"8620:10:3","nodeType":"FunctionDefinition","parameters":{"id":10129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10128,"mutability":"mutable","name":"addr","nameLocation":"8639:4:3","nodeType":"VariableDeclaration","scope":10199,"src":"8631:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10127,"name":"address","nodeType":"ElementaryTypeName","src":"8631:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8630:14:3"},"returnParameters":{"id":10132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10131,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10199,"src":"8662:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10130,"name":"bool","nodeType":"ElementaryTypeName","src":"8662:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8661:6:3"},"scope":11617,"src":"8611:592:3","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":10212,"nodeType":"Block","src":"9508:44:3","statements":[{"expression":{"arguments":[{"arguments":[{"id":10208,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10201,"src":"9539:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10207,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10199,"src":"9528:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":10209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10204,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9518:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9521:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"9518:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9518:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10211,"nodeType":"ExpressionStatement","src":"9518:27:3"}]},"id":10213,"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"9463:13:3","nodeType":"FunctionDefinition","parameters":{"id":10202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10201,"mutability":"mutable","name":"addr","nameLocation":"9485:4:3","nodeType":"VariableDeclaration","scope":10213,"src":"9477:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10200,"name":"address","nodeType":"ElementaryTypeName","src":"9477:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9476:14:3"},"returnParameters":{"id":10203,"nodeType":"ParameterList","parameters":[],"src":"9508:0:3"},"scope":11617,"src":"9454:98:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10227,"nodeType":"Block","src":"9615:45:3","statements":[{"expression":{"arguments":[{"id":10224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9635:17:3","subExpression":{"arguments":[{"id":10222,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10215,"src":"9647:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10221,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10199,"src":"9636:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10218,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9625:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9628:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"9625:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9625:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10226,"nodeType":"ExpressionStatement","src":"9625:28:3"}]},"id":10228,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPayable","nameLocation":"9567:16:3","nodeType":"FunctionDefinition","parameters":{"id":10216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10215,"mutability":"mutable","name":"addr","nameLocation":"9592:4:3","nodeType":"VariableDeclaration","scope":10228,"src":"9584:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10214,"name":"address","nodeType":"ElementaryTypeName","src":"9584:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9583:14:3"},"returnParameters":{"id":10217,"nodeType":"ParameterList","parameters":[],"src":"9615:0:3"},"scope":11617,"src":"9558:102:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":10244,"nodeType":"Block","src":"9732:46:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10236,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10230,"src":"9752:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9768:1:3","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":10238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9760:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10237,"name":"address","nodeType":"ElementaryTypeName","src":"9760:7:3","typeDescriptions":{}}},"id":10240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9760:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9752:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10233,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9742:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"9742:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10243,"nodeType":"ExpressionStatement","src":"9742:29:3"}]},"id":10245,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotZeroAddress","nameLocation":"9675:20:3","nodeType":"FunctionDefinition","parameters":{"id":10231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10230,"mutability":"mutable","name":"addr","nameLocation":"9704:4:3","nodeType":"VariableDeclaration","scope":10245,"src":"9696:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10229,"name":"address","nodeType":"ElementaryTypeName","src":"9696:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9695:14:3"},"returnParameters":{"id":10232,"nodeType":"ParameterList","parameters":[],"src":"9732:0:3"},"scope":11617,"src":"9666:112:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10256,"nodeType":"Block","src":"9849:58:3","statements":[{"expression":{"arguments":[{"id":10251,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"9879:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":10252,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11616,"src":"9885:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":10253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9885:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10250,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[10257,10400],"referencedDeclaration":10400,"src":"9859:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":10254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10255,"nodeType":"ExpressionStatement","src":"9859:41:3"}]},"id":10257,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9793:19:3","nodeType":"FunctionDefinition","parameters":{"id":10248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10247,"mutability":"mutable","name":"addr","nameLocation":"9821:4:3","nodeType":"VariableDeclaration","scope":10257,"src":"9813:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10246,"name":"address","nodeType":"ElementaryTypeName","src":"9813:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9812:14:3"},"returnParameters":{"id":10249,"nodeType":"ParameterList","parameters":[],"src":"9849:0:3"},"scope":11617,"src":"9784:123:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10399,"nodeType":"Block","src":"9995:1725:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10267,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10311:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":10270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10326:3:3","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":10269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10318:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10268,"name":"address","nodeType":"ElementaryTypeName","src":"10318:7:3","typeDescriptions":{}}},"id":10271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10318:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10311:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10273,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10334:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30786666","id":10276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:4:3","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":10275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10341:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10274,"name":"address","nodeType":"ElementaryTypeName","src":"10341:7:3","typeDescriptions":{}}},"id":10277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10341:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10334:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10311:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10264,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"10301:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10304:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"10301:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10301:54:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10281,"nodeType":"ExpressionStatement","src":"10301:54:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10282,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"10405:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":10283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:2:3","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10405:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10285,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"10422:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":10286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10433:3:3","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"10422:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10405:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10308,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"10754:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":10309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10765:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"10754:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10311,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"10774:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":10312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10785:6:3","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"10774:17:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10754:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10334,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"11068:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":10335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11079:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"11068:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10337,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"11088:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":10338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11099:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"11088:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11068:36:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10396,"nodeType":"IfStatement","src":"11064:617:3","trueBody":{"id":10395,"nodeType":"Block","src":"11106:575:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10344,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11259:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":10347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11274:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11266:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10345,"name":"address","nodeType":"ElementaryTypeName","src":"11266:7:3","typeDescriptions":{}}},"id":10348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11266:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11259:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10350,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11321:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":10353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11336:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11328:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10351,"name":"address","nodeType":"ElementaryTypeName","src":"11328:7:3","typeDescriptions":{}}},"id":10354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11328:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11321:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11259:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10341,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"11249:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11252:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"11249:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11249:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10358,"nodeType":"ExpressionStatement","src":"11249:131:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10362,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11404:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":10365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11419:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11411:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10363,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:3","typeDescriptions":{}}},"id":10366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11411:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11404:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10368,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11466:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":10371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11481:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11473:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10369,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:3","typeDescriptions":{}}},"id":10372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11473:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11466:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11404:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"11394:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11397:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"11394:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10376,"nodeType":"ExpressionStatement","src":"11394:131:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10380,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11549:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":10383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11564:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11556:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10381,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:3","typeDescriptions":{}}},"id":10384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10386,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"11611:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":10389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11626:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11618:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10387,"name":"address","nodeType":"ElementaryTypeName","src":"11618:7:3","typeDescriptions":{}}},"id":10390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11618:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11611:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11549:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"11539:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11542:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"11539:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11539:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10394,"nodeType":"ExpressionStatement","src":"11539:131:3"}]}},"id":10397,"nodeType":"IfStatement","src":"10750:931:3","trueBody":{"id":10333,"nodeType":"Block","src":"10793:265:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10318,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10926:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":10321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10941:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10933:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10319,"name":"address","nodeType":"ElementaryTypeName","src":"10933:7:3","typeDescriptions":{}}},"id":10322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10926:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10324,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10988:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":10327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11003:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10995:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10325,"name":"address","nodeType":"ElementaryTypeName","src":"10995:7:3","typeDescriptions":{}}},"id":10328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10988:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10926:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"10916:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10919:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"10916:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10916:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10332,"nodeType":"ExpressionStatement","src":"10916:131:3"}]}},"id":10398,"nodeType":"IfStatement","src":"10401:1280:3","trueBody":{"id":10307,"nodeType":"Block","src":"10438:306:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10292,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10612:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":10295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10627:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10619:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10293,"name":"address","nodeType":"ElementaryTypeName","src":"10619:7:3","typeDescriptions":{}}},"id":10296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10619:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10612:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10298,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"10674:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":10301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10689:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10681:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10299,"name":"address","nodeType":"ElementaryTypeName","src":"10681:7:3","typeDescriptions":{}}},"id":10302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10681:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10612:120:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10289,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"10602:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10605:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"10602:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:131:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10306,"nodeType":"ExpressionStatement","src":"10602:131:3"}]}}]},"id":10400,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9922:19:3","nodeType":"FunctionDefinition","parameters":{"id":10262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10259,"mutability":"mutable","name":"addr","nameLocation":"9950:4:3","nodeType":"VariableDeclaration","scope":10400,"src":"9942:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10258,"name":"address","nodeType":"ElementaryTypeName","src":"9942:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10261,"mutability":"mutable","name":"chainId","nameLocation":"9964:7:3","nodeType":"VariableDeclaration","scope":10400,"src":"9956:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10260,"name":"uint256","nodeType":"ElementaryTypeName","src":"9956:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9941:31:3"},"returnParameters":{"id":10263,"nodeType":"ParameterList","parameters":[],"src":"9995:0:3"},"scope":11617,"src":"9913:1807:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10424,"nodeType":"Block","src":"11793:247:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10408,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"11880:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":10411,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"11896:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}],"id":10410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11888:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10409,"name":"address","nodeType":"ElementaryTypeName","src":"11888:7:3","typeDescriptions":{}}},"id":10412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11888:11:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11880:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10414,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"11903:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":10415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11911:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"src":"11903:50:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:73:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10418,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"11973:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":10419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"src":"11973:50:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:143:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"11857:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11860:6:3","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"11857:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":10422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:176:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10423,"nodeType":"ExpressionStatement","src":"11857:176:3"}]},"id":10425,"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotForgeAddress","nameLocation":"11735:21:3","nodeType":"FunctionDefinition","parameters":{"id":10403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10402,"mutability":"mutable","name":"addr","nameLocation":"11765:4:3","nodeType":"VariableDeclaration","scope":10425,"src":"11757:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10401,"name":"address","nodeType":"ElementaryTypeName","src":"11757:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11756:14:3"},"returnParameters":{"id":10404,"nodeType":"ParameterList","parameters":[],"src":"11793:0:3"},"scope":11617,"src":"11726:314:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10516,"nodeType":"Block","src":"12198:691:3","statements":[{"assignments":[10434],"declarations":[{"constant":false,"id":10434,"mutability":"mutable","name":"data","nameLocation":"12222:4:3","nodeType":"VariableDeclaration","scope":10516,"src":"12208:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10433,"name":"string","nodeType":"ElementaryTypeName","src":"12208:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10439,"initialValue":{"arguments":[{"id":10437,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10427,"src":"12241:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10435,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"12229:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12232:8:3","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":19964,"src":"12229:11: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":10438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12229:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12208:38:3"},{"assignments":[10441],"declarations":[{"constant":false,"id":10441,"mutability":"mutable","name":"parsedData","nameLocation":"12269:10:3","nodeType":"VariableDeclaration","scope":10516,"src":"12256:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10440,"name":"bytes","nodeType":"ElementaryTypeName","src":"12256:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10446,"initialValue":{"arguments":[{"id":10444,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10434,"src":"12295:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10442,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"12282:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12285:9:3","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20252,"src":"12282:12:3","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":10445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12256:44:3"},{"assignments":[10449],"declarations":[{"constant":false,"id":10449,"mutability":"mutable","name":"rawArtifact","nameLocation":"12342:11:3","nodeType":"VariableDeclaration","scope":10516,"src":"12310:43:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":10448,"nodeType":"UserDefinedTypeName","pathNode":{"id":10447,"name":"RawEIP1559ScriptArtifact","nameLocations":["12310:24:3"],"nodeType":"IdentifierPath","referencedDeclaration":9821,"src":"12310:24:3"},"referencedDeclaration":9821,"src":"12310:24:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":10456,"initialValue":{"arguments":[{"id":10452,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10441,"src":"12367:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10453,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9821,"src":"12380:24:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$9821_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":10454,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12379:26:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$9821_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_$9821_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":10450,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12356:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12360:6:3","memberName":"decode","nodeType":"MemberAccess","src":"12356:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12356:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"12310:96:3"},{"assignments":[10459],"declarations":[{"constant":false,"id":10459,"mutability":"mutable","name":"artifact","nameLocation":"12445:8:3","nodeType":"VariableDeclaration","scope":10516,"src":"12416:37:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":10458,"nodeType":"UserDefinedTypeName","pathNode":{"id":10457,"name":"EIP1559ScriptArtifact","nameLocations":["12416:21:3"],"nodeType":"IdentifierPath","referencedDeclaration":9798,"src":"12416:21:3"},"referencedDeclaration":9798,"src":"12416:21:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":10460,"nodeType":"VariableDeclarationStatement","src":"12416:37:3"},{"expression":{"id":10466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10461,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12463:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12472:9:3","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":9778,"src":"12463:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10464,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12484:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12496:9:3","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":9801,"src":"12484:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12463:42:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":10467,"nodeType":"ExpressionStatement","src":"12463:42:3"},{"expression":{"id":10473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10468,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12515:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12524:4:3","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":9780,"src":"12515:13:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10471,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12531:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12543:4:3","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":9803,"src":"12531:16:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12515:32:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":10474,"nodeType":"ExpressionStatement","src":"12515:32:3"},{"expression":{"id":10480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10475,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12557:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12566:9:3","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9789,"src":"12557:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10478,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12578:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12590:9:3","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9816,"src":"12578:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12557:42:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10481,"nodeType":"ExpressionStatement","src":"12557:42:3"},{"expression":{"id":10487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10482,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12609:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12618:7:3","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":9783,"src":"12609:16:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10485,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12628:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:7:3","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":9806,"src":"12628:19:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12609:38:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":10488,"nodeType":"ExpressionStatement","src":"12609:38:3"},{"expression":{"id":10494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10489,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12657:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12666:9:3","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":9797,"src":"12657:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10492,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12678:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12690:9:3","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":9814,"src":"12678:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"12657:42:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$9868_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":10495,"nodeType":"ExpressionStatement","src":"12657:42:3"},{"expression":{"id":10503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10496,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12709:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12718:8:3","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":9787,"src":"12709:17:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10500,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12752:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10501,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12764:8:3","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":9810,"src":"12752:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":10499,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10949,"src":"12729:22:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":10502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12729:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"12709:64:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":10504,"nodeType":"ExpressionStatement","src":"12709:64:3"},{"expression":{"id":10512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10505,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12783:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":10507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12792:12:3","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":9793,"src":"12783:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10509,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"12832:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$9821_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":10510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12844:12:3","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":9820,"src":"12832:24:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":10508,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10566,"src":"12807:24:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":10511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12807:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"12783:74:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":10513,"nodeType":"ExpressionStatement","src":"12783:74:3"},{"expression":{"id":10514,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10459,"src":"12874:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":10432,"id":10515,"nodeType":"Return","src":"12867:15:3"}]},"id":10517,"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"12055:25:3","nodeType":"FunctionDefinition","parameters":{"id":10428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10427,"mutability":"mutable","name":"path","nameLocation":"12095:4:3","nodeType":"VariableDeclaration","scope":10517,"src":"12081:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10426,"name":"string","nodeType":"ElementaryTypeName","src":"12081:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12080:20:3"},"returnParameters":{"id":10432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10517,"src":"12164:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":10430,"nodeType":"UserDefinedTypeName","pathNode":{"id":10429,"name":"EIP1559ScriptArtifact","nameLocations":["12164:21:3"],"nodeType":"IdentifierPath","referencedDeclaration":9798,"src":"12164:21:3"},"referencedDeclaration":9798,"src":"12164:21:3","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$9798_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"12163:30:3"},"scope":11617,"src":"12046:843:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10565,"nodeType":"Block","src":"13004:203:3","statements":[{"assignments":[10532],"declarations":[{"constant":false,"id":10532,"mutability":"mutable","name":"txs","nameLocation":"13030:3:3","nodeType":"VariableDeclaration","scope":10565,"src":"13014:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":10530,"nodeType":"UserDefinedTypeName","pathNode":{"id":10529,"name":"Tx1559","nameLocations":["13014:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"13014:6:3"},"referencedDeclaration":9642,"src":"13014:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":10531,"nodeType":"ArrayTypeName","src":"13014:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":10540,"initialValue":{"arguments":[{"expression":{"id":10537,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"13049:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":10538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:6:3","memberName":"length","nodeType":"MemberAccess","src":"13049:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13036:12:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":10534,"nodeType":"UserDefinedTypeName","pathNode":{"id":10533,"name":"Tx1559","nameLocations":["13040:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"13040:6:3"},"referencedDeclaration":9642,"src":"13040:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":10535,"nodeType":"ArrayTypeName","src":"13040:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":10539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13036:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13014:49:3"},{"body":{"id":10561,"nodeType":"Block","src":"13113:68:3","statements":[{"expression":{"id":10559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10551,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10532,"src":"13127:3:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":10553,"indexExpression":{"id":10552,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10542,"src":"13131:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13127:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":10555,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"13160:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":10557,"indexExpression":{"id":10556,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10542,"src":"13167:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13160:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":10554,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10626,"src":"13136:23:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$9606_memory_ptr_$returns$_t_struct$_Tx1559_$9642_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":10558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13136:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"13127:43:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10560,"nodeType":"ExpressionStatement","src":"13127:43:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10544,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10542,"src":"13089:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":10545,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10521,"src":"13093:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":10546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13100:6:3","memberName":"length","nodeType":"MemberAccess","src":"13093:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13089:17:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10562,"initializationExpression":{"assignments":[10542],"declarations":[{"constant":false,"id":10542,"mutability":"mutable","name":"i","nameLocation":"13086:1:3","nodeType":"VariableDeclaration","scope":10562,"src":"13078:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10541,"name":"uint256","nodeType":"ElementaryTypeName","src":"13078:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10543,"nodeType":"VariableDeclarationStatement","src":"13078:9:3"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":10549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13108:3:3","subExpression":{"id":10548,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10542,"src":"13108:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10550,"nodeType":"ExpressionStatement","src":"13108:3:3"},"nodeType":"ForStatement","src":"13073:108:3"},{"expression":{"id":10563,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10532,"src":"13197:3:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":10527,"id":10564,"nodeType":"Return","src":"13190:10:3"}]},"id":10566,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"12904:24:3","nodeType":"FunctionDefinition","parameters":{"id":10522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10521,"mutability":"mutable","name":"rawTxs","nameLocation":"12948:6:3","nodeType":"VariableDeclaration","scope":10566,"src":"12929:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":10519,"nodeType":"UserDefinedTypeName","pathNode":{"id":10518,"name":"RawTx1559","nameLocations":["12929:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":9606,"src":"12929:9:3"},"referencedDeclaration":9606,"src":"12929:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":10520,"nodeType":"ArrayTypeName","src":"12929:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"12928:27:3"},"returnParameters":{"id":10527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10526,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10566,"src":"12987:15:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":10524,"nodeType":"UserDefinedTypeName","pathNode":{"id":10523,"name":"Tx1559","nameLocations":["12987:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"12987:6:3"},"referencedDeclaration":9642,"src":"12987:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":10525,"nodeType":"ArrayTypeName","src":"12987:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"12986:17:3"},"scope":11617,"src":"12895:312:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10625,"nodeType":"Block","src":"13316:385:3","statements":[{"assignments":[10577],"declarations":[{"constant":false,"id":10577,"mutability":"mutable","name":"transaction","nameLocation":"13340:11:3","nodeType":"VariableDeclaration","scope":10625,"src":"13326:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":10576,"nodeType":"UserDefinedTypeName","pathNode":{"id":10575,"name":"Tx1559","nameLocations":["13326:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"13326:6:3"},"referencedDeclaration":9642,"src":"13326:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":10578,"nodeType":"VariableDeclarationStatement","src":"13326:25:3"},{"expression":{"id":10584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10579,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13361:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13373:9:3","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":9628,"src":"13361:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10582,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13385:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13391:9:3","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":9592,"src":"13385:15:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"13361:39:3","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":10585,"nodeType":"ExpressionStatement","src":"13361:39:3"},{"expression":{"id":10591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10586,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13410:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13422:12:3","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":9632,"src":"13410:24:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10589,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13437:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10590,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13443:12:3","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":9596,"src":"13437:18:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13410:45:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":10592,"nodeType":"ExpressionStatement","src":"13410:45:3"},{"expression":{"id":10598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10593,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13465:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13477:11:3","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":9634,"src":"13465:23:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10596,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13491:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13497:11:3","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":9598,"src":"13491:17:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13465:43:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":10599,"nodeType":"ExpressionStatement","src":"13465:43:3"},{"expression":{"id":10605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10600,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13518:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13530:4:3","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":9636,"src":"13518:16:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10603,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13537:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13543:4:3","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":9600,"src":"13537:10:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13518:29:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10606,"nodeType":"ExpressionStatement","src":"13518:29:3"},{"expression":{"id":10614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10607,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13557:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13569:8:3","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":9639,"src":"13557:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10611,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13608:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13614:8:3","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":9603,"src":"13608:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":10610,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10706,"src":"13580:27:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$9625_memory_ptr_$returns$_t_struct$_Tx1559Detail_$9661_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":10613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13580:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"13557:66:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10615,"nodeType":"ExpressionStatement","src":"13557:66:3"},{"expression":{"id":10621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10616,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13633:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":10618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13645:6:3","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":9641,"src":"13633:18:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10619,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"13654:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":10620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13660:6:3","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"13654:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13633:33:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":10622,"nodeType":"ExpressionStatement","src":"13633:33:3"},{"expression":{"id":10623,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"13683:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":10574,"id":10624,"nodeType":"Return","src":"13676:18:3"}]},"id":10626,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"13222:23:3","nodeType":"FunctionDefinition","parameters":{"id":10570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10569,"mutability":"mutable","name":"rawTx","nameLocation":"13263:5:3","nodeType":"VariableDeclaration","scope":10626,"src":"13246:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":10568,"nodeType":"UserDefinedTypeName","pathNode":{"id":10567,"name":"RawTx1559","nameLocations":["13246:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":9606,"src":"13246:9:3"},"referencedDeclaration":9606,"src":"13246:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"13245:24:3"},"returnParameters":{"id":10574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10626,"src":"13301:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":10572,"nodeType":"UserDefinedTypeName","pathNode":{"id":10571,"name":"Tx1559","nameLocations":["13301:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"13301:6:3"},"referencedDeclaration":9642,"src":"13301:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"13300:15:3"},"scope":11617,"src":"13213:488:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10705,"nodeType":"Block","src":"13866:460:3","statements":[{"assignments":[10637],"declarations":[{"constant":false,"id":10637,"mutability":"mutable","name":"txDetail","nameLocation":"13896:8:3","nodeType":"VariableDeclaration","scope":10705,"src":"13876:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":10636,"nodeType":"UserDefinedTypeName","pathNode":{"id":10635,"name":"Tx1559Detail","nameLocations":["13876:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":9661,"src":"13876:12:3"},"referencedDeclaration":9661,"src":"13876:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":10638,"nodeType":"VariableDeclarationStatement","src":"13876:28:3"},{"expression":{"id":10644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10639,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"13914:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13923:4:3","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9648,"src":"13914:13:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10642,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"13930:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13940:4:3","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9612,"src":"13930:14:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"13914:30:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10645,"nodeType":"ExpressionStatement","src":"13914:30:3"},{"expression":{"id":10651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10646,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"13954:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13963:4:3","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9650,"src":"13954:13:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10649,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"13970:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13980:4:3","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9614,"src":"13970:14:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13954:30:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10652,"nodeType":"ExpressionStatement","src":"13954:30:3"},{"expression":{"id":10658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10653,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"13994:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14003:2:3","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9656,"src":"13994:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10656,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14008:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14018:2:3","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9620,"src":"14008:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13994:26:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10659,"nodeType":"ExpressionStatement","src":"13994:26:3"},{"expression":{"id":10667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10660,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14030:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14039:5:3","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":9654,"src":"14030:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10664,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14060:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14070:5:3","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":9618,"src":"14060:15:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10663,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"14047:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":10666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14047:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14030:46:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10668,"nodeType":"ExpressionStatement","src":"14030:46:3"},{"expression":{"id":10676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10669,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14086:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14095:6:3","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":9658,"src":"14086:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10673,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14117:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14127:6:3","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":9622,"src":"14117:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10672,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"14104:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":10675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14104:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14086:48:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10677,"nodeType":"ExpressionStatement","src":"14086:48:3"},{"expression":{"id":10685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10678,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14144:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14153:5:3","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":9660,"src":"14144:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10682,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14174:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14184:5:3","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":9624,"src":"14174:15:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10681,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"14161:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":10684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14161:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14144:46:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10686,"nodeType":"ExpressionStatement","src":"14144:46:3"},{"expression":{"id":10694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10687,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14200:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14209:3:3","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":9652,"src":"14200:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10691,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14228:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14238:3:3","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":9616,"src":"14228:13:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10690,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"14215:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":10693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14215:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14200:42:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10695,"nodeType":"ExpressionStatement","src":"14200:42:3"},{"expression":{"id":10701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10696,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14252:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":10698,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14261:10:3","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":9646,"src":"14252:19:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10699,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"14274:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":10700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14284:10:3","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":9610,"src":"14274:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"14252:42:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$9717_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":10702,"nodeType":"ExpressionStatement","src":"14252:42:3"},{"expression":{"id":10703,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10637,"src":"14311:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":10634,"id":10704,"nodeType":"Return","src":"14304:15:3"}]},"id":10706,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"13716:27:3","nodeType":"FunctionDefinition","parameters":{"id":10630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10629,"mutability":"mutable","name":"rawDetail","nameLocation":"13767:9:3","nodeType":"VariableDeclaration","scope":10706,"src":"13744:32:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":10628,"nodeType":"UserDefinedTypeName","pathNode":{"id":10627,"name":"RawTx1559Detail","nameLocations":["13744:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":9625,"src":"13744:15:3"},"referencedDeclaration":9625,"src":"13744:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$9625_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"13743:34:3"},"returnParameters":{"id":10634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10706,"src":"13841:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":10632,"nodeType":"UserDefinedTypeName","pathNode":{"id":10631,"name":"Tx1559Detail","nameLocations":["13841:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":9661,"src":"13841:12:3"},"referencedDeclaration":9661,"src":"13841:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$9661_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"13840:21:3"},"scope":11617,"src":"13707:619:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":10747,"nodeType":"Block","src":"14421:274:3","statements":[{"assignments":[10716],"declarations":[{"constant":false,"id":10716,"mutability":"mutable","name":"deployData","nameLocation":"14445:10:3","nodeType":"VariableDeclaration","scope":10747,"src":"14431:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10715,"name":"string","nodeType":"ElementaryTypeName","src":"14431:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10721,"initialValue":{"arguments":[{"id":10719,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10708,"src":"14470:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10717,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14458:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14461:8:3","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":19964,"src":"14458:11: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":10720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14458:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14431:44:3"},{"assignments":[10723],"declarations":[{"constant":false,"id":10723,"mutability":"mutable","name":"parsedDeployData","nameLocation":"14498:16:3","nodeType":"VariableDeclaration","scope":10747,"src":"14485:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10722,"name":"bytes","nodeType":"ElementaryTypeName","src":"14485:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10729,"initialValue":{"arguments":[{"id":10726,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10716,"src":"14530:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":10727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14542:15:3","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":10724,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14517:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14520:9:3","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20262,"src":"14517:12:3","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":10728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14517:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14485:73:3"},{"assignments":[10734],"declarations":[{"constant":false,"id":10734,"mutability":"mutable","name":"rawTxs","nameLocation":"14587:6:3","nodeType":"VariableDeclaration","scope":10747,"src":"14568:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":10732,"nodeType":"UserDefinedTypeName","pathNode":{"id":10731,"name":"RawTx1559","nameLocations":["14568:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":9606,"src":"14568:9:3"},"referencedDeclaration":9606,"src":"14568:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":10733,"nodeType":"ArrayTypeName","src":"14568:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":10742,"initialValue":{"arguments":[{"id":10737,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10723,"src":"14607:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":10738,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9606,"src":"14626:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$9606_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":10739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"14626:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":10740,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"14625:13:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$9606_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_$9606_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":10735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14596:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14600:6:3","memberName":"decode","nodeType":"MemberAccess","src":"14596:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14596:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14568:71:3"},{"expression":{"arguments":[{"id":10744,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10734,"src":"14681:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":10743,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10566,"src":"14656:24:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$9606_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":10745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14656:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":10714,"id":10746,"nodeType":"Return","src":"14649:39:3"}]},"id":10748,"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"14341:11:3","nodeType":"FunctionDefinition","parameters":{"id":10709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10708,"mutability":"mutable","name":"path","nameLocation":"14367:4:3","nodeType":"VariableDeclaration","scope":10748,"src":"14353:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10707,"name":"string","nodeType":"ElementaryTypeName","src":"14353:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14352:20:3"},"returnParameters":{"id":10714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10748,"src":"14404:15:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":10711,"nodeType":"UserDefinedTypeName","pathNode":{"id":10710,"name":"Tx1559","nameLocations":["14404:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"14404:6:3"},"referencedDeclaration":9642,"src":"14404:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":10712,"nodeType":"ArrayTypeName","src":"14404:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$9642_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"14403:17:3"},"scope":11617,"src":"14332:363:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10802,"nodeType":"Block","src":"14802:352:3","statements":[{"assignments":[10759],"declarations":[{"constant":false,"id":10759,"mutability":"mutable","name":"deployData","nameLocation":"14826:10:3","nodeType":"VariableDeclaration","scope":10802,"src":"14812:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10758,"name":"string","nodeType":"ElementaryTypeName","src":"14812:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10764,"initialValue":{"arguments":[{"id":10762,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10750,"src":"14851:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10760,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14839:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14842:8:3","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":19964,"src":"14839:11: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":10763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14839:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14812:44:3"},{"assignments":[10766],"declarations":[{"constant":false,"id":10766,"mutability":"mutable","name":"key","nameLocation":"14880:3:3","nodeType":"VariableDeclaration","scope":10802,"src":"14866:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10765,"name":"string","nodeType":"ElementaryTypeName","src":"14866:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10779,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":10771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14910:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":10774,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10752,"src":"14940:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10772,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14928:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14931:8:3","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"14928:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14928:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":10776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14948:3:3","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":10769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14893:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14897:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"14893:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14893:59:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14886:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10767,"name":"string","nodeType":"ElementaryTypeName","src":"14886:6:3","typeDescriptions":{}}},"id":10778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14886:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14866:87:3"},{"assignments":[10781],"declarations":[{"constant":false,"id":10781,"mutability":"mutable","name":"parsedDeployData","nameLocation":"14976:16:3","nodeType":"VariableDeclaration","scope":10802,"src":"14963:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10780,"name":"bytes","nodeType":"ElementaryTypeName","src":"14963:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10787,"initialValue":{"arguments":[{"id":10784,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10759,"src":"15008:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10785,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10766,"src":"15020:3:3","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":10782,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14995:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14998:9:3","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20262,"src":"14995:12:3","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":10786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14995:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14963:61:3"},{"assignments":[10790],"declarations":[{"constant":false,"id":10790,"mutability":"mutable","name":"rawTx","nameLocation":"15051:5:3","nodeType":"VariableDeclaration","scope":10802,"src":"15034:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":10789,"nodeType":"UserDefinedTypeName","pathNode":{"id":10788,"name":"RawTx1559","nameLocations":["15034:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":9606,"src":"15034:9:3"},"referencedDeclaration":9606,"src":"15034:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":10797,"initialValue":{"arguments":[{"id":10793,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10781,"src":"15070:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10794,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9606,"src":"15089:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$9606_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":10795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15088:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$9606_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_$9606_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":10791,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15059:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15063:6:3","memberName":"decode","nodeType":"MemberAccess","src":"15059:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15059:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"15034:66:3"},{"expression":{"arguments":[{"id":10799,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10790,"src":"15141:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$9606_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":10798,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10626,"src":"15117:23:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$9606_memory_ptr_$returns$_t_struct$_Tx1559_$9642_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":10800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15117:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":10757,"id":10801,"nodeType":"Return","src":"15110:37:3"}]},"id":10803,"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"14710:10:3","nodeType":"FunctionDefinition","parameters":{"id":10753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10750,"mutability":"mutable","name":"path","nameLocation":"14735:4:3","nodeType":"VariableDeclaration","scope":10803,"src":"14721:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10749,"name":"string","nodeType":"ElementaryTypeName","src":"14721:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10752,"mutability":"mutable","name":"index","nameLocation":"14749:5:3","nodeType":"VariableDeclaration","scope":10803,"src":"14741:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10751,"name":"uint256","nodeType":"ElementaryTypeName","src":"14741:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14720:35:3"},"returnParameters":{"id":10757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10803,"src":"14787:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":10755,"nodeType":"UserDefinedTypeName","pathNode":{"id":10754,"name":"Tx1559","nameLocations":["14787:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":9642,"src":"14787:6:3"},"referencedDeclaration":9642,"src":"14787:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$9642_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"14786:15:3"},"scope":11617,"src":"14701:453:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10844,"nodeType":"Block","src":"15307:280:3","statements":[{"assignments":[10813],"declarations":[{"constant":false,"id":10813,"mutability":"mutable","name":"deployData","nameLocation":"15331:10:3","nodeType":"VariableDeclaration","scope":10844,"src":"15317:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10812,"name":"string","nodeType":"ElementaryTypeName","src":"15317:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10818,"initialValue":{"arguments":[{"id":10816,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10805,"src":"15356:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"15344:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15347:8:3","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":19964,"src":"15344:11: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":10817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15344:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15317:44:3"},{"assignments":[10820],"declarations":[{"constant":false,"id":10820,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15384:16:3","nodeType":"VariableDeclaration","scope":10844,"src":"15371:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10819,"name":"bytes","nodeType":"ElementaryTypeName","src":"15371:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10826,"initialValue":{"arguments":[{"id":10823,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10813,"src":"15416:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":10824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15428:11:3","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":10821,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"15403:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15406:9:3","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20262,"src":"15403:12:3","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":10825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15403:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15371:69:3"},{"assignments":[10831],"declarations":[{"constant":false,"id":10831,"mutability":"mutable","name":"rawReceipts","nameLocation":"15470:11:3","nodeType":"VariableDeclaration","scope":10844,"src":"15450:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":10829,"nodeType":"UserDefinedTypeName","pathNode":{"id":10828,"name":"RawReceipt","nameLocations":["15450:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9746,"src":"15450:10:3"},"referencedDeclaration":9746,"src":"15450:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":10830,"nodeType":"ArrayTypeName","src":"15450:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":10839,"initialValue":{"arguments":[{"id":10834,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10820,"src":"15495:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":10835,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9746,"src":"15514:10:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$9746_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":10836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"15514:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":10837,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15513:14:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$9746_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_$9746_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":10832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15484:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15488:6:3","memberName":"decode","nodeType":"MemberAccess","src":"15484:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15450:78:3"},{"expression":{"arguments":[{"id":10841,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10831,"src":"15568:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":10840,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10949,"src":"15545:22:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":10842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15545:35:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":10811,"id":10843,"nodeType":"Return","src":"15538:42:3"}]},"id":10845,"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"15225:12:3","nodeType":"FunctionDefinition","parameters":{"id":10806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10805,"mutability":"mutable","name":"path","nameLocation":"15252:4:3","nodeType":"VariableDeclaration","scope":10845,"src":"15238:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10804,"name":"string","nodeType":"ElementaryTypeName","src":"15238:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15237:20:3"},"returnParameters":{"id":10811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10845,"src":"15289:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":10808,"nodeType":"UserDefinedTypeName","pathNode":{"id":10807,"name":"Receipt","nameLocations":["15289:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"15289:7:3"},"referencedDeclaration":9775,"src":"15289:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":10809,"nodeType":"ArrayTypeName","src":"15289:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"15288:18:3"},"scope":11617,"src":"15216:371:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10899,"nodeType":"Block","src":"15696:358:3","statements":[{"assignments":[10856],"declarations":[{"constant":false,"id":10856,"mutability":"mutable","name":"deployData","nameLocation":"15720:10:3","nodeType":"VariableDeclaration","scope":10899,"src":"15706:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10855,"name":"string","nodeType":"ElementaryTypeName","src":"15706:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10861,"initialValue":{"arguments":[{"id":10859,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10847,"src":"15745:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"15733:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15736:8:3","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":19964,"src":"15733:11: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":10860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15733:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15706:44:3"},{"assignments":[10863],"declarations":[{"constant":false,"id":10863,"mutability":"mutable","name":"key","nameLocation":"15774:3:3","nodeType":"VariableDeclaration","scope":10899,"src":"15760:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10862,"name":"string","nodeType":"ElementaryTypeName","src":"15760:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":10876,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":10868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15804:12:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":10871,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10849,"src":"15830:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"15818:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15821:8:3","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"15818:11:3","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":"15818:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":10873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15838:3:3","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":10866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15787:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15791:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"15787:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15787:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15780:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10864,"name":"string","nodeType":"ElementaryTypeName","src":"15780:6:3","typeDescriptions":{}}},"id":10875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:83:3"},{"assignments":[10878],"declarations":[{"constant":false,"id":10878,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15866:16:3","nodeType":"VariableDeclaration","scope":10899,"src":"15853:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10877,"name":"bytes","nodeType":"ElementaryTypeName","src":"15853:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10884,"initialValue":{"arguments":[{"id":10881,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10856,"src":"15898:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10882,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10863,"src":"15910:3:3","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":10879,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"15885:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":10880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15888:9:3","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20262,"src":"15885:12:3","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":10883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15885:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15853:61:3"},{"assignments":[10887],"declarations":[{"constant":false,"id":10887,"mutability":"mutable","name":"rawReceipt","nameLocation":"15942:10:3","nodeType":"VariableDeclaration","scope":10899,"src":"15924:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":10886,"nodeType":"UserDefinedTypeName","pathNode":{"id":10885,"name":"RawReceipt","nameLocations":["15924:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9746,"src":"15924:10:3"},"referencedDeclaration":9746,"src":"15924:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":10894,"initialValue":{"arguments":[{"id":10890,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10878,"src":"15966:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10891,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9746,"src":"15985:10:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$9746_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":10892,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15984:12:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$9746_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_$9746_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":10888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15955:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15959:6:3","memberName":"decode","nodeType":"MemberAccess","src":"15955:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15955:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"15924:73:3"},{"expression":{"arguments":[{"id":10896,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10887,"src":"16036:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":10895,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11070,"src":"16014:21:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$9746_memory_ptr_$returns$_t_struct$_Receipt_$9775_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":10897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16014:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":10854,"id":10898,"nodeType":"Return","src":"16007:40:3"}]},"id":10900,"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"15602:11:3","nodeType":"FunctionDefinition","parameters":{"id":10850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10847,"mutability":"mutable","name":"path","nameLocation":"15628:4:3","nodeType":"VariableDeclaration","scope":10900,"src":"15614:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10846,"name":"string","nodeType":"ElementaryTypeName","src":"15614:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10849,"mutability":"mutable","name":"index","nameLocation":"15642:5:3","nodeType":"VariableDeclaration","scope":10900,"src":"15634:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10848,"name":"uint256","nodeType":"ElementaryTypeName","src":"15634:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15613:35:3"},"returnParameters":{"id":10854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10900,"src":"15680:14:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":10852,"nodeType":"UserDefinedTypeName","pathNode":{"id":10851,"name":"Receipt","nameLocations":["15680:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"15680:7:3"},"referencedDeclaration":9775,"src":"15680:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"15679:16:3"},"scope":11617,"src":"15593:461:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10948,"nodeType":"Block","src":"16174:233:3","statements":[{"assignments":[10915],"declarations":[{"constant":false,"id":10915,"mutability":"mutable","name":"receipts","nameLocation":"16201:8:3","nodeType":"VariableDeclaration","scope":10948,"src":"16184:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":10913,"nodeType":"UserDefinedTypeName","pathNode":{"id":10912,"name":"Receipt","nameLocations":["16184:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"16184:7:3"},"referencedDeclaration":9775,"src":"16184:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":10914,"nodeType":"ArrayTypeName","src":"16184:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":10923,"initialValue":{"arguments":[{"expression":{"id":10920,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10904,"src":"16226:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":10921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16238:6:3","memberName":"length","nodeType":"MemberAccess","src":"16226:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16212:13:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":10917,"nodeType":"UserDefinedTypeName","pathNode":{"id":10916,"name":"Receipt","nameLocations":["16216:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"16216:7:3"},"referencedDeclaration":9775,"src":"16216:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":10918,"nodeType":"ArrayTypeName","src":"16216:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":10922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16212:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16184:61:3"},{"body":{"id":10944,"nodeType":"Block","src":"16300:76:3","statements":[{"expression":{"id":10942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10934,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10915,"src":"16314:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":10936,"indexExpression":{"id":10935,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10925,"src":"16323:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16314:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":10938,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10904,"src":"16350:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":10940,"indexExpression":{"id":10939,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10925,"src":"16362:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16350:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":10937,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11070,"src":"16328:21:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$9746_memory_ptr_$returns$_t_struct$_Receipt_$9775_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":10941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16328:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"16314:51:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10943,"nodeType":"ExpressionStatement","src":"16314:51:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10927,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10925,"src":"16271:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":10928,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10904,"src":"16275:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":10929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16287:6:3","memberName":"length","nodeType":"MemberAccess","src":"16275:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16271:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10945,"initializationExpression":{"assignments":[10925],"declarations":[{"constant":false,"id":10925,"mutability":"mutable","name":"i","nameLocation":"16268:1:3","nodeType":"VariableDeclaration","scope":10945,"src":"16260:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10924,"name":"uint256","nodeType":"ElementaryTypeName","src":"16260:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10926,"nodeType":"VariableDeclarationStatement","src":"16260:9:3"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":10932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16295:3:3","subExpression":{"id":10931,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10925,"src":"16295:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10933,"nodeType":"ExpressionStatement","src":"16295:3:3"},"nodeType":"ForStatement","src":"16255:121:3"},{"expression":{"id":10946,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10915,"src":"16392:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":10910,"id":10947,"nodeType":"Return","src":"16385:15:3"}]},"id":10949,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"16069:22:3","nodeType":"FunctionDefinition","parameters":{"id":10905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10904,"mutability":"mutable","name":"rawReceipts","nameLocation":"16112:11:3","nodeType":"VariableDeclaration","scope":10949,"src":"16092:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":10902,"nodeType":"UserDefinedTypeName","pathNode":{"id":10901,"name":"RawReceipt","nameLocations":["16092:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9746,"src":"16092:10:3"},"referencedDeclaration":9746,"src":"16092:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":10903,"nodeType":"ArrayTypeName","src":"16092:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$9746_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"16091:33:3"},"returnParameters":{"id":10910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10949,"src":"16156:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":10907,"nodeType":"UserDefinedTypeName","pathNode":{"id":10906,"name":"Receipt","nameLocations":["16156:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"16156:7:3"},"referencedDeclaration":9775,"src":"16156:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":10908,"nodeType":"ArrayTypeName","src":"16156:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$9775_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"16155:18:3"},"scope":11617,"src":"16060:347:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":11069,"nodeType":"Block","src":"16521:854:3","statements":[{"assignments":[10960],"declarations":[{"constant":false,"id":10960,"mutability":"mutable","name":"receipt","nameLocation":"16546:7:3","nodeType":"VariableDeclaration","scope":11069,"src":"16531:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":10959,"nodeType":"UserDefinedTypeName","pathNode":{"id":10958,"name":"Receipt","nameLocations":["16531:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"16531:7:3"},"referencedDeclaration":9775,"src":"16531:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":10961,"nodeType":"VariableDeclarationStatement","src":"16531:22:3"},{"expression":{"id":10967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10962,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16563:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16571:9:3","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":9748,"src":"16563:17:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10965,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16583:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":10966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16594:9:3","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"16583:20:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16563:40:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10968,"nodeType":"ExpressionStatement","src":"16563:40:3"},{"expression":{"id":10974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10969,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16613:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16621:2:3","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9770,"src":"16613:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10972,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16626:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":10973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16637:2:3","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":9741,"src":"16626:13:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16613:26:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10975,"nodeType":"ExpressionStatement","src":"16613:26:3"},{"expression":{"id":10981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10976,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16649:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16657:4:3","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9758,"src":"16649:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10979,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16664:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":10980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16675:4:3","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":9729,"src":"16664:15:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16649:30:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10982,"nodeType":"ExpressionStatement","src":"16649:30:3"},{"expression":{"id":10988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10983,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16689:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16697:15:3","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":9752,"src":"16689:23:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":10986,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16715:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":10987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16726:15:3","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":9723,"src":"16715:26:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16689:52:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10989,"nodeType":"ExpressionStatement","src":"16689:52:3"},{"expression":{"id":10997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10990,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16751:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":10992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16759:17:3","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":9756,"src":"16751:25:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":10994,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16792:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":10995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16803:17:3","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":9727,"src":"16792:28:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10993,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"16779:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":10996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16779:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16751:70:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10998,"nodeType":"ExpressionStatement","src":"16751:70:3"},{"expression":{"id":11006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":10999,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16831:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16839:17:3","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":9754,"src":"16831:25:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11003,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16872:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11004,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16883:17:3","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":9725,"src":"16872:28:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11002,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"16859:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16859:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16831:70:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11007,"nodeType":"ExpressionStatement","src":"16831:70:3"},{"expression":{"id":11015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11008,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16911:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16919:7:3","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":9760,"src":"16911:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11012,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"16942:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16953:7:3","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":9731,"src":"16942:18:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11011,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"16929:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16929:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16911:50:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11016,"nodeType":"ExpressionStatement","src":"16911:50:3"},{"expression":{"id":11024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11017,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"16971:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16979:6:3","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":9768,"src":"16971:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11021,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17001:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17012:6:3","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":9739,"src":"17001:17:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11020,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"16988:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16988:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16971:48:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11025,"nodeType":"ExpressionStatement","src":"16971:48:3"},{"expression":{"id":11033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11026,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17029:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17037:16:3","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":9774,"src":"17029:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11030,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17069:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17080:16:3","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":9745,"src":"17069:27:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11029,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"17056:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17056:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17029:68:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11034,"nodeType":"ExpressionStatement","src":"17029:68:3"},{"expression":{"id":11042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11035,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17107:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11037,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17115:11:3","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":9750,"src":"17107:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11039,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17142:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17153:11:3","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":9721,"src":"17142:22:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11038,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"17129:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17129:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17107:58:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11043,"nodeType":"ExpressionStatement","src":"17107:58:3"},{"expression":{"id":11051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11044,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17175:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17183:4:3","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":9764,"src":"17175:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":11048,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17216:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17227:4:3","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":9735,"src":"17216:15:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":11047,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11207,"src":"17190:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":11050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17190:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"17175:57:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11052,"nodeType":"ExpressionStatement","src":"17175:57:3"},{"expression":{"id":11058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11053,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17242:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17250:9:3","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":9766,"src":"17242:17:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11056,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17262:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17273:9:3","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":9737,"src":"17262:20:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"17242:40:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11059,"nodeType":"ExpressionStatement","src":"17242:40:3"},{"expression":{"id":11065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":11060,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17292:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":11062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17300:15:3","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":9772,"src":"17292:23:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":11063,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10952,"src":"17318:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":11064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17329:15:3","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":9743,"src":"17318:26:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17292:52:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11066,"nodeType":"ExpressionStatement","src":"17292:52:3"},{"expression":{"id":11067,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10960,"src":"17361:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":10957,"id":11068,"nodeType":"Return","src":"17354:14:3"}]},"id":11070,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"16422:21:3","nodeType":"FunctionDefinition","parameters":{"id":10953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10952,"mutability":"mutable","name":"rawReceipt","nameLocation":"16462:10:3","nodeType":"VariableDeclaration","scope":11070,"src":"16444:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":10951,"nodeType":"UserDefinedTypeName","pathNode":{"id":10950,"name":"RawReceipt","nameLocations":["16444:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9746,"src":"16444:10:3"},"referencedDeclaration":9746,"src":"16444:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$9746_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"16443:30:3"},"returnParameters":{"id":10957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11070,"src":"16505:14:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":10955,"nodeType":"UserDefinedTypeName","pathNode":{"id":10954,"name":"Receipt","nameLocations":["16505:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9775,"src":"16505:7:3"},"referencedDeclaration":9775,"src":"16505:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$9775_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"16504:16:3"},"scope":11617,"src":"16413:962:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":11206,"nodeType":"Block","src":"17536:718:3","statements":[{"assignments":[11085],"declarations":[{"constant":false,"id":11085,"mutability":"mutable","name":"logs","nameLocation":"17566:4:3","nodeType":"VariableDeclaration","scope":11206,"src":"17546:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":11083,"nodeType":"UserDefinedTypeName","pathNode":{"id":11082,"name":"ReceiptLog","nameLocations":["17546:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9863,"src":"17546:10:3"},"referencedDeclaration":9863,"src":"17546:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":11084,"nodeType":"ArrayTypeName","src":"17546:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":11093,"initialValue":{"arguments":[{"expression":{"id":11090,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17590:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17598:6:3","memberName":"length","nodeType":"MemberAccess","src":"17590:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17573:16:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":11087,"nodeType":"UserDefinedTypeName","pathNode":{"id":11086,"name":"ReceiptLog","nameLocations":["17577:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9863,"src":"17577:10:3"},"referencedDeclaration":9863,"src":"17577:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":11088,"nodeType":"ArrayTypeName","src":"17577:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":11092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17573:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17546:59:3"},{"body":{"id":11202,"nodeType":"Block","src":"17656:571:3","statements":[{"expression":{"id":11112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11104,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17670:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11106,"indexExpression":{"id":11105,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17675:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17670:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17678:10:3","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":9845,"src":"17670:18:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":11108,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17691:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11110,"indexExpression":{"id":11109,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17699:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17691:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17702:10:3","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":9823,"src":"17691:21:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17670:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11113,"nodeType":"ExpressionStatement","src":"17670:42:3"},{"expression":{"id":11122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11114,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17726:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11116,"indexExpression":{"id":11115,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17731:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17726:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17734:9:3","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":9847,"src":"17726:17:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":11118,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17746:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11120,"indexExpression":{"id":11119,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17754:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17746:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17757:9:3","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":9825,"src":"17746:20:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17726:40:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11123,"nodeType":"ExpressionStatement","src":"17726:40:3"},{"expression":{"id":11134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11124,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17780:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11126,"indexExpression":{"id":11125,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17785:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17780:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17788:11:3","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":9849,"src":"17780:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":11129,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17815:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11131,"indexExpression":{"id":11130,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17823:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17815:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17826:11:3","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":9827,"src":"17815:22:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11128,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"17802:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17802:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17780:58:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11135,"nodeType":"ExpressionStatement","src":"17780:58:3"},{"expression":{"id":11144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11136,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17852:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11138,"indexExpression":{"id":11137,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17857:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17852:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17860:4:3","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9851,"src":"17852:12:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":11140,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17867:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11142,"indexExpression":{"id":11141,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17875:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17867:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17878:4:3","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":9829,"src":"17867:15:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"17852:30:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11145,"nodeType":"ExpressionStatement","src":"17852:30:3"},{"expression":{"id":11156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11146,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17896:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11148,"indexExpression":{"id":11147,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17901:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17896:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17904:8:3","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":9853,"src":"17896:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":11151,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17928:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11153,"indexExpression":{"id":11152,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17936:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17928:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17939:8:3","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":9831,"src":"17928:19:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11150,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"17915:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17915:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17896:52:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11157,"nodeType":"ExpressionStatement","src":"17896:52:3"},{"expression":{"id":11166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11158,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"17962:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11160,"indexExpression":{"id":11159,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17967:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17962:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17970:6:3","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":9856,"src":"17962:14:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":11162,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17979:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11164,"indexExpression":{"id":11163,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17987:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17979:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17990:6:3","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":9836,"src":"17979:17:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"17962:34:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":11167,"nodeType":"ExpressionStatement","src":"17962:34:3"},{"expression":{"id":11178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11168,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"18010:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11170,"indexExpression":{"id":11169,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18015:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18010:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18018:16:3","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":9858,"src":"18010:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":11173,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"18050:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11175,"indexExpression":{"id":11174,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18058:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18050:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18061:16:3","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":9840,"src":"18050:27:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11172,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"18037:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18037:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18010:68:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11179,"nodeType":"ExpressionStatement","src":"18010:68:3"},{"expression":{"id":11190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11180,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"18092:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11182,"indexExpression":{"id":11181,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18097:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18092:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18100:19:3","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"18092:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":11185,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"18135:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11187,"indexExpression":{"id":11186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18143:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18135:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18146:19:3","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":9842,"src":"18135:30:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11184,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11509,"src":"18122:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18122:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18092:74:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11191,"nodeType":"ExpressionStatement","src":"18092:74:3"},{"expression":{"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":11192,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"18180:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":11194,"indexExpression":{"id":11193,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18185:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18180:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":11195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18188:7:3","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":9862,"src":"18180:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":11196,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"18198:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11198,"indexExpression":{"id":11197,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"18206:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18198:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":11199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18209:7:3","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":9833,"src":"18198:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18180:36:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11201,"nodeType":"ExpressionStatement","src":"18180:36:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11097,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17631:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11098,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11074,"src":"17635:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":11099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17643:6:3","memberName":"length","nodeType":"MemberAccess","src":"17635:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17631:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11203,"initializationExpression":{"assignments":[11095],"declarations":[{"constant":false,"id":11095,"mutability":"mutable","name":"i","nameLocation":"17628:1:3","nodeType":"VariableDeclaration","scope":11203,"src":"17620:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11094,"name":"uint256","nodeType":"ElementaryTypeName","src":"17620:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11096,"nodeType":"VariableDeclarationStatement","src":"17620:9:3"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17651:3:3","subExpression":{"id":11101,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11095,"src":"17651:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11103,"nodeType":"ExpressionStatement","src":"17651:3:3"},"nodeType":"ForStatement","src":"17615:612:3"},{"expression":{"id":11204,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"18243:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":11080,"id":11205,"nodeType":"Return","src":"18236:11:3"}]},"id":11207,"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"17390:25:3","nodeType":"FunctionDefinition","parameters":{"id":11075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11074,"mutability":"mutable","name":"rawLogs","nameLocation":"17439:7:3","nodeType":"VariableDeclaration","scope":11207,"src":"17416:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":11072,"nodeType":"UserDefinedTypeName","pathNode":{"id":11071,"name":"RawReceiptLog","nameLocations":["17416:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":9843,"src":"17416:13:3"},"referencedDeclaration":9843,"src":"17416:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$9843_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":11073,"nodeType":"ArrayTypeName","src":"17416:15:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$9843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"17415:32:3"},"returnParameters":{"id":11080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11207,"src":"17511:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":11077,"nodeType":"UserDefinedTypeName","pathNode":{"id":11076,"name":"ReceiptLog","nameLocations":["17511:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":9863,"src":"17511:10:3"},"referencedDeclaration":9863,"src":"17511:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$9863_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":11078,"nodeType":"ArrayTypeName","src":"17511:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$9863_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"17510:21:3"},"scope":11617,"src":"17381:873:3","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":11238,"nodeType":"Block","src":"18513:317:3","statements":[{"assignments":[11217],"declarations":[{"constant":false,"id":11217,"mutability":"mutable","name":"bytecode","nameLocation":"18536:8:3","nodeType":"VariableDeclaration","scope":11238,"src":"18523:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11216,"name":"bytes","nodeType":"ElementaryTypeName","src":"18523:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11226,"initialValue":{"arguments":[{"arguments":[{"id":11222,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11209,"src":"18575:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11220,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"18564:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18567:7:3","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":19850,"src":"18564:10:3","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":11223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18564:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11224,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11211,"src":"18582:4:3","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":11218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18547:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18551:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"18547:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18547:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18523:64:3"},{"AST":{"nativeSrc":"18649:79:3","nodeType":"YulBlock","src":"18649:79:3","statements":[{"nativeSrc":"18663:55:3","nodeType":"YulAssignment","src":"18663:55:3","value":{"arguments":[{"kind":"number","nativeSrc":"18678:1:3","nodeType":"YulLiteral","src":"18678:1:3","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"18685:8:3","nodeType":"YulIdentifier","src":"18685:8:3"},{"kind":"number","nativeSrc":"18695:4:3","nodeType":"YulLiteral","src":"18695:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18681:3:3","nodeType":"YulIdentifier","src":"18681:3:3"},"nativeSrc":"18681:19:3","nodeType":"YulFunctionCall","src":"18681:19:3"},{"arguments":[{"name":"bytecode","nativeSrc":"18708:8:3","nodeType":"YulIdentifier","src":"18708:8:3"}],"functionName":{"name":"mload","nativeSrc":"18702:5:3","nodeType":"YulIdentifier","src":"18702:5:3"},"nativeSrc":"18702:15:3","nodeType":"YulFunctionCall","src":"18702:15:3"}],"functionName":{"name":"create","nativeSrc":"18671:6:3","nodeType":"YulIdentifier","src":"18671:6:3"},"nativeSrc":"18671:47:3","nodeType":"YulFunctionCall","src":"18671:47:3"},"variableNames":[{"name":"addr","nativeSrc":"18663:4:3","nodeType":"YulIdentifier","src":"18663:4:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":11214,"isOffset":false,"isSlot":false,"src":"18663:4:3","valueSize":1},{"declaration":11217,"isOffset":false,"isSlot":false,"src":"18685:8:3","valueSize":1},{"declaration":11217,"isOffset":false,"isSlot":false,"src":"18708:8:3","valueSize":1}],"id":11227,"nodeType":"InlineAssembly","src":"18640:88:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11229,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11214,"src":"18746:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18762:1:3","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":11231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18754:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11230,"name":"address","nodeType":"ElementaryTypeName","src":"18754:7:3","typeDescriptions":{}}},"id":11233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18754:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18746:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":11235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18766:56:3","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":11228,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"18738:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18738:85:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11237,"nodeType":"ExpressionStatement","src":"18738:85:3"}]},"id":11239,"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"18423:10:3","nodeType":"FunctionDefinition","parameters":{"id":11212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11209,"mutability":"mutable","name":"what","nameLocation":"18448:4:3","nodeType":"VariableDeclaration","scope":11239,"src":"18434:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11208,"name":"string","nodeType":"ElementaryTypeName","src":"18434:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11211,"mutability":"mutable","name":"args","nameLocation":"18467:4:3","nodeType":"VariableDeclaration","scope":11239,"src":"18454:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11210,"name":"bytes","nodeType":"ElementaryTypeName","src":"18454:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18433:39:3"},"returnParameters":{"id":11215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11214,"mutability":"mutable","name":"addr","nameLocation":"18507:4:3","nodeType":"VariableDeclaration","scope":11239,"src":"18499:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11213,"name":"address","nodeType":"ElementaryTypeName","src":"18499:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18498:14:3"},"scope":11617,"src":"18414:416:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11264,"nodeType":"Block","src":"18916:287:3","statements":[{"assignments":[11247],"declarations":[{"constant":false,"id":11247,"mutability":"mutable","name":"bytecode","nameLocation":"18939:8:3","nodeType":"VariableDeclaration","scope":11264,"src":"18926:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11246,"name":"bytes","nodeType":"ElementaryTypeName","src":"18926:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11252,"initialValue":{"arguments":[{"id":11250,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11241,"src":"18961:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11248,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"18950:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18953:7:3","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":19850,"src":"18950:10:3","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":11251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18950:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18926:40:3"},{"AST":{"nativeSrc":"19028:79:3","nodeType":"YulBlock","src":"19028:79:3","statements":[{"nativeSrc":"19042:55:3","nodeType":"YulAssignment","src":"19042:55:3","value":{"arguments":[{"kind":"number","nativeSrc":"19057:1:3","nodeType":"YulLiteral","src":"19057:1:3","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"19064:8:3","nodeType":"YulIdentifier","src":"19064:8:3"},{"kind":"number","nativeSrc":"19074:4:3","nodeType":"YulLiteral","src":"19074:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19060:3:3","nodeType":"YulIdentifier","src":"19060:3:3"},"nativeSrc":"19060:19:3","nodeType":"YulFunctionCall","src":"19060:19:3"},{"arguments":[{"name":"bytecode","nativeSrc":"19087:8:3","nodeType":"YulIdentifier","src":"19087:8:3"}],"functionName":{"name":"mload","nativeSrc":"19081:5:3","nodeType":"YulIdentifier","src":"19081:5:3"},"nativeSrc":"19081:15:3","nodeType":"YulFunctionCall","src":"19081:15:3"}],"functionName":{"name":"create","nativeSrc":"19050:6:3","nodeType":"YulIdentifier","src":"19050:6:3"},"nativeSrc":"19050:47:3","nodeType":"YulFunctionCall","src":"19050:47:3"},"variableNames":[{"name":"addr","nativeSrc":"19042:4:3","nodeType":"YulIdentifier","src":"19042:4:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":11244,"isOffset":false,"isSlot":false,"src":"19042:4:3","valueSize":1},{"declaration":11247,"isOffset":false,"isSlot":false,"src":"19064:8:3","valueSize":1},{"declaration":11247,"isOffset":false,"isSlot":false,"src":"19087:8:3","valueSize":1}],"id":11253,"nodeType":"InlineAssembly","src":"19019:88:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11255,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11244,"src":"19125:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19141:1:3","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":11257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19133:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11256,"name":"address","nodeType":"ElementaryTypeName","src":"19133:7:3","typeDescriptions":{}}},"id":11259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19133:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19125:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":11261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19145:50:3","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":11254,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19117:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19117:79:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11263,"nodeType":"ExpressionStatement","src":"19117:79:3"}]},"id":11265,"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"18845:10:3","nodeType":"FunctionDefinition","parameters":{"id":11242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11241,"mutability":"mutable","name":"what","nameLocation":"18870:4:3","nodeType":"VariableDeclaration","scope":11265,"src":"18856:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11240,"name":"string","nodeType":"ElementaryTypeName","src":"18856:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18855:20:3"},"returnParameters":{"id":11245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11244,"mutability":"mutable","name":"addr","nameLocation":"18910:4:3","nodeType":"VariableDeclaration","scope":11265,"src":"18902:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11243,"name":"address","nodeType":"ElementaryTypeName","src":"18902:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18901:14:3"},"scope":11617,"src":"18836:367:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11299,"nodeType":"Block","src":"19377:327:3","statements":[{"assignments":[11278],"declarations":[{"constant":false,"id":11278,"mutability":"mutable","name":"bytecode","nameLocation":"19400:8:3","nodeType":"VariableDeclaration","scope":11299,"src":"19387:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11277,"name":"bytes","nodeType":"ElementaryTypeName","src":"19387:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11287,"initialValue":{"arguments":[{"arguments":[{"id":11283,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11268,"src":"19439:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"19428:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19431:7:3","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":19850,"src":"19428:10:3","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":11284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19428:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11285,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11270,"src":"19446:4:3","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":11279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19411:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19415:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"19411:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19411:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19387:64:3"},{"AST":{"nativeSrc":"19513:81:3","nodeType":"YulBlock","src":"19513:81:3","statements":[{"nativeSrc":"19527:57:3","nodeType":"YulAssignment","src":"19527:57:3","value":{"arguments":[{"name":"val","nativeSrc":"19542:3:3","nodeType":"YulIdentifier","src":"19542:3:3"},{"arguments":[{"name":"bytecode","nativeSrc":"19551:8:3","nodeType":"YulIdentifier","src":"19551:8:3"},{"kind":"number","nativeSrc":"19561:4:3","nodeType":"YulLiteral","src":"19561:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19547:3:3","nodeType":"YulIdentifier","src":"19547:3:3"},"nativeSrc":"19547:19:3","nodeType":"YulFunctionCall","src":"19547:19:3"},{"arguments":[{"name":"bytecode","nativeSrc":"19574:8:3","nodeType":"YulIdentifier","src":"19574:8:3"}],"functionName":{"name":"mload","nativeSrc":"19568:5:3","nodeType":"YulIdentifier","src":"19568:5:3"},"nativeSrc":"19568:15:3","nodeType":"YulFunctionCall","src":"19568:15:3"}],"functionName":{"name":"create","nativeSrc":"19535:6:3","nodeType":"YulIdentifier","src":"19535:6:3"},"nativeSrc":"19535:49:3","nodeType":"YulFunctionCall","src":"19535:49:3"},"variableNames":[{"name":"addr","nativeSrc":"19527:4:3","nodeType":"YulIdentifier","src":"19527:4:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":11275,"isOffset":false,"isSlot":false,"src":"19527:4:3","valueSize":1},{"declaration":11278,"isOffset":false,"isSlot":false,"src":"19551:8:3","valueSize":1},{"declaration":11278,"isOffset":false,"isSlot":false,"src":"19574:8:3","valueSize":1},{"declaration":11272,"isOffset":false,"isSlot":false,"src":"19542:3:3","valueSize":1}],"id":11288,"nodeType":"InlineAssembly","src":"19504:90:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11290,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11275,"src":"19612:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19628:1:3","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":11292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19620:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11291,"name":"address","nodeType":"ElementaryTypeName","src":"19620:7:3","typeDescriptions":{}}},"id":11294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19620:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19612:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":11296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19632:64:3","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":11289,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19604:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19604:93:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11298,"nodeType":"ExpressionStatement","src":"19604:93:3"}]},"documentation":{"id":11266,"nodeType":"StructuredDocumentation","src":"19209:51:3","text":"@dev deploy contract with value on construction"},"id":11300,"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19274:10:3","nodeType":"FunctionDefinition","parameters":{"id":11273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11268,"mutability":"mutable","name":"what","nameLocation":"19299:4:3","nodeType":"VariableDeclaration","scope":11300,"src":"19285:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11267,"name":"string","nodeType":"ElementaryTypeName","src":"19285:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11270,"mutability":"mutable","name":"args","nameLocation":"19318:4:3","nodeType":"VariableDeclaration","scope":11300,"src":"19305:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11269,"name":"bytes","nodeType":"ElementaryTypeName","src":"19305:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11272,"mutability":"mutable","name":"val","nameLocation":"19332:3:3","nodeType":"VariableDeclaration","scope":11300,"src":"19324:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11271,"name":"uint256","nodeType":"ElementaryTypeName","src":"19324:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19284:52:3"},"returnParameters":{"id":11276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11275,"mutability":"mutable","name":"addr","nameLocation":"19371:4:3","nodeType":"VariableDeclaration","scope":11300,"src":"19363:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11274,"name":"address","nodeType":"ElementaryTypeName","src":"19363:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19362:14:3"},"scope":11617,"src":"19265:439:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11327,"nodeType":"Block","src":"19803:297:3","statements":[{"assignments":[11310],"declarations":[{"constant":false,"id":11310,"mutability":"mutable","name":"bytecode","nameLocation":"19826:8:3","nodeType":"VariableDeclaration","scope":11327,"src":"19813:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11309,"name":"bytes","nodeType":"ElementaryTypeName","src":"19813:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11315,"initialValue":{"arguments":[{"id":11313,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11302,"src":"19848:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11311,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"19837:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19840:7:3","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":19850,"src":"19837:10:3","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":11314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19837:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19813:40:3"},{"AST":{"nativeSrc":"19915:81:3","nodeType":"YulBlock","src":"19915:81:3","statements":[{"nativeSrc":"19929:57:3","nodeType":"YulAssignment","src":"19929:57:3","value":{"arguments":[{"name":"val","nativeSrc":"19944:3:3","nodeType":"YulIdentifier","src":"19944:3:3"},{"arguments":[{"name":"bytecode","nativeSrc":"19953:8:3","nodeType":"YulIdentifier","src":"19953:8:3"},{"kind":"number","nativeSrc":"19963:4:3","nodeType":"YulLiteral","src":"19963:4:3","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19949:3:3","nodeType":"YulIdentifier","src":"19949:3:3"},"nativeSrc":"19949:19:3","nodeType":"YulFunctionCall","src":"19949:19:3"},{"arguments":[{"name":"bytecode","nativeSrc":"19976:8:3","nodeType":"YulIdentifier","src":"19976:8:3"}],"functionName":{"name":"mload","nativeSrc":"19970:5:3","nodeType":"YulIdentifier","src":"19970:5:3"},"nativeSrc":"19970:15:3","nodeType":"YulFunctionCall","src":"19970:15:3"}],"functionName":{"name":"create","nativeSrc":"19937:6:3","nodeType":"YulIdentifier","src":"19937:6:3"},"nativeSrc":"19937:49:3","nodeType":"YulFunctionCall","src":"19937:49:3"},"variableNames":[{"name":"addr","nativeSrc":"19929:4:3","nodeType":"YulIdentifier","src":"19929:4:3"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":11307,"isOffset":false,"isSlot":false,"src":"19929:4:3","valueSize":1},{"declaration":11310,"isOffset":false,"isSlot":false,"src":"19953:8:3","valueSize":1},{"declaration":11310,"isOffset":false,"isSlot":false,"src":"19976:8:3","valueSize":1},{"declaration":11304,"isOffset":false,"isSlot":false,"src":"19944:3:3","valueSize":1}],"id":11316,"nodeType":"InlineAssembly","src":"19906:90:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11318,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11307,"src":"20014:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20030:1:3","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":11320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20022:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11319,"name":"address","nodeType":"ElementaryTypeName","src":"20022:7:3","typeDescriptions":{}}},"id":11322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20022:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20014:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":11324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20034:58:3","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":11317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20006:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20006:87:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11326,"nodeType":"ExpressionStatement","src":"20006:87:3"}]},"id":11328,"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19719:10:3","nodeType":"FunctionDefinition","parameters":{"id":11305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11302,"mutability":"mutable","name":"what","nameLocation":"19744:4:3","nodeType":"VariableDeclaration","scope":11328,"src":"19730:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11301,"name":"string","nodeType":"ElementaryTypeName","src":"19730:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11304,"mutability":"mutable","name":"val","nameLocation":"19758:3:3","nodeType":"VariableDeclaration","scope":11328,"src":"19750:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11303,"name":"uint256","nodeType":"ElementaryTypeName","src":"19750:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19729:33:3"},"returnParameters":{"id":11308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11307,"mutability":"mutable","name":"addr","nameLocation":"19797:4:3","nodeType":"VariableDeclaration","scope":11328,"src":"19789:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11306,"name":"address","nodeType":"ElementaryTypeName","src":"19789:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19788:14:3"},"scope":11617,"src":"19710:390:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11363,"nodeType":"Block","src":"20277:138:3","statements":[{"expression":{"id":11347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11337,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11335,"src":"20287:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":11343,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11330,"src":"20335:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20318:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20322:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"20318:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20318:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11340,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20308:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20308:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20300:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11338,"name":"uint256","nodeType":"ElementaryTypeName","src":"20300:7:3","typeDescriptions":{}}},"id":11346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20300:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20287:55:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11348,"nodeType":"ExpressionStatement","src":"20287:55:3"},{"expression":{"id":11354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11349,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11333,"src":"20352:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11352,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11335,"src":"20367:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"20359:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20362:4:3","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":19571,"src":"20359:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":11353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20359:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20352:26:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11355,"nodeType":"ExpressionStatement","src":"20352:26:3"},{"expression":{"arguments":[{"id":11359,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11333,"src":"20397:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11360,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11330,"src":"20403:4:3","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":11356,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"20388:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20391:5:3","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":22271,"src":"20388:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":11361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20388:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11362,"nodeType":"ExpressionStatement","src":"20388:20:3"}]},"id":11364,"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"20182:14:3","nodeType":"FunctionDefinition","parameters":{"id":11331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11330,"mutability":"mutable","name":"name","nameLocation":"20211:4:3","nodeType":"VariableDeclaration","scope":11364,"src":"20197:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11329,"name":"string","nodeType":"ElementaryTypeName","src":"20197:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20196:20:3"},"returnParameters":{"id":11336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11333,"mutability":"mutable","name":"addr","nameLocation":"20251:4:3","nodeType":"VariableDeclaration","scope":11364,"src":"20243:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11332,"name":"address","nodeType":"ElementaryTypeName","src":"20243:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11335,"mutability":"mutable","name":"privateKey","nameLocation":"20265:10:3","nodeType":"VariableDeclaration","scope":11364,"src":"20257:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11334,"name":"uint256","nodeType":"ElementaryTypeName","src":"20257:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20242:34:3"},"scope":11617,"src":"20173:242:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11378,"nodeType":"Block","src":"20532:47:3","statements":[{"expression":{"id":11376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":11371,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11369,"src":"20543:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":11372,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"20542:7:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11374,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11366,"src":"20567:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11373,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11364,"src":"20552:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":11375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20552:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"20542:30:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11377,"nodeType":"ExpressionStatement","src":"20542:30:3"}]},"id":11379,"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"20463:8:3","nodeType":"FunctionDefinition","parameters":{"id":11367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11366,"mutability":"mutable","name":"name","nameLocation":"20486:4:3","nodeType":"VariableDeclaration","scope":11379,"src":"20472:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11365,"name":"string","nodeType":"ElementaryTypeName","src":"20472:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20471:20:3"},"returnParameters":{"id":11370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11369,"mutability":"mutable","name":"addr","nameLocation":"20526:4:3","nodeType":"VariableDeclaration","scope":11379,"src":"20518:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11368,"name":"address","nodeType":"ElementaryTypeName","src":"20518:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20517:14:3"},"scope":11617,"src":"20454:125:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11427,"nodeType":"Block","src":"20972:262:3","statements":[{"assignments":[11387],"declarations":[{"constant":false,"id":11387,"mutability":"mutable","name":"currBalance","nameLocation":"20990:11:3","nodeType":"VariableDeclaration","scope":11427,"src":"20982:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11386,"name":"uint256","nodeType":"ElementaryTypeName","src":"20982:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11390,"initialValue":{"expression":{"id":11388,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"21004:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21008:7:3","memberName":"balance","nodeType":"MemberAccess","src":"21004:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20982:33:3"},{"expression":{"arguments":[{"id":11394,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"21033:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21038:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21042:6:3","memberName":"encode","nodeType":"MemberAccess","src":"21038:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21038:12:3","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":11391,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21025:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21028:4:3","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":22536,"src":"21025:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":11398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21025:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11399,"nodeType":"ExpressionStatement","src":"21025:26:3"},{"expression":{"arguments":[{"id":11403,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"21069:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":11404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21074:1:3","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":11400,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21061:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21064:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"21061:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21061:15:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11406,"nodeType":"ExpressionStatement","src":"21061:15:3"},{"expression":{"arguments":[{"id":11410,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"21100:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11407,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21086:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21089:10:3","memberName":"resetNonce","nodeType":"MemberAccess","referencedDeclaration":22715,"src":"21086:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21086:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11412,"nodeType":"ExpressionStatement","src":"21086:18:3"},{"assignments":[11414],"declarations":[{"constant":false,"id":11414,"mutability":"mutable","name":"beneficiaryBalance","nameLocation":"21123:18:3","nodeType":"VariableDeclaration","scope":11427,"src":"21115:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11413,"name":"uint256","nodeType":"ElementaryTypeName","src":"21115:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11417,"initialValue":{"expression":{"id":11415,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"21144:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21156:7:3","memberName":"balance","nodeType":"MemberAccess","src":"21144:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21115:48:3"},{"expression":{"arguments":[{"id":11421,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"21181:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11422,"name":"currBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11387,"src":"21194:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":11423,"name":"beneficiaryBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11414,"src":"21208:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21194:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11418,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21173:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21176:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"21173:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21173:54:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11426,"nodeType":"ExpressionStatement","src":"21173:54:3"}]},"id":11428,"implemented":true,"kind":"function","modifiers":[],"name":"destroyAccount","nameLocation":"20906:14:3","nodeType":"FunctionDefinition","parameters":{"id":11384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11381,"mutability":"mutable","name":"who","nameLocation":"20929:3:3","nodeType":"VariableDeclaration","scope":11428,"src":"20921:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11380,"name":"address","nodeType":"ElementaryTypeName","src":"20921:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11383,"mutability":"mutable","name":"beneficiary","nameLocation":"20942:11:3","nodeType":"VariableDeclaration","scope":11428,"src":"20934:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11382,"name":"address","nodeType":"ElementaryTypeName","src":"20934:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20920:34:3"},"returnParameters":{"id":11385,"nodeType":"ParameterList","parameters":[],"src":"20972:0:3"},"scope":11617,"src":"20897:337:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11447,"nodeType":"Block","src":"21423:67:3","statements":[{"expression":{"id":11445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":11436,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11434,"src":"21434:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$9873_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":11438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21442:4:3","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":9870,"src":"21434:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":11439,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11434,"src":"21448:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$9873_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":11440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21456:3:3","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":9872,"src":"21448:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":11441,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"21433:27:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11443,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11430,"src":"21478:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11442,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11364,"src":"21463:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":11444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21463:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"21433:50:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11446,"nodeType":"ExpressionStatement","src":"21433:50:3"}]},"id":11448,"implemented":true,"kind":"function","modifiers":[],"name":"makeAccount","nameLocation":"21341:11:3","nodeType":"FunctionDefinition","parameters":{"id":11431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11430,"mutability":"mutable","name":"name","nameLocation":"21367:4:3","nodeType":"VariableDeclaration","scope":11448,"src":"21353:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11429,"name":"string","nodeType":"ElementaryTypeName","src":"21353:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21352:20:3"},"returnParameters":{"id":11435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11434,"mutability":"mutable","name":"account","nameLocation":"21414:7:3","nodeType":"VariableDeclaration","scope":11448,"src":"21399:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$9873_memory_ptr","typeString":"struct StdCheatsSafe.Account"},"typeName":{"id":11433,"nodeType":"UserDefinedTypeName","pathNode":{"id":11432,"name":"Account","nameLocations":["21399:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":9873,"src":"21399:7:3"},"referencedDeclaration":9873,"src":"21399:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$9873_storage_ptr","typeString":"struct StdCheatsSafe.Account"}},"visibility":"internal"}],"src":"21398:24:3"},"scope":11617,"src":"21332:158:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11474,"nodeType":"Block","src":"21648:101:3","statements":[{"expression":{"id":11465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11459,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11457,"src":"21658:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11462,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11450,"src":"21684:8:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11463,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11452,"src":"21694:5:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":11460,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21671:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21674:9:3","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":19027,"src":"21671:12:3","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":11464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21671:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21658:42:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11466,"nodeType":"ExpressionStatement","src":"21658:42:3"},{"expression":{"id":11472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11467,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11455,"src":"21710:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11470,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11457,"src":"21731:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11468,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"21716:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21719:11:3","memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":19083,"src":"21716:14:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":11471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21716:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21710:32:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11473,"nodeType":"ExpressionStatement","src":"21710:32:3"}]},"id":11475,"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"21505:17:3","nodeType":"FunctionDefinition","parameters":{"id":11453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11450,"mutability":"mutable","name":"mnemonic","nameLocation":"21537:8:3","nodeType":"VariableDeclaration","scope":11475,"src":"21523:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11449,"name":"string","nodeType":"ElementaryTypeName","src":"21523:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11452,"mutability":"mutable","name":"index","nameLocation":"21554:5:3","nodeType":"VariableDeclaration","scope":11475,"src":"21547:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11451,"name":"uint32","nodeType":"ElementaryTypeName","src":"21547:6:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"21522:38:3"},"returnParameters":{"id":11458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11455,"mutability":"mutable","name":"who","nameLocation":"21619:3:3","nodeType":"VariableDeclaration","scope":11475,"src":"21611:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11454,"name":"address","nodeType":"ElementaryTypeName","src":"21611:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11457,"mutability":"mutable","name":"privateKey","nameLocation":"21632:10:3","nodeType":"VariableDeclaration","scope":11475,"src":"21624:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11456,"name":"uint256","nodeType":"ElementaryTypeName","src":"21624:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21610:33:3"},"scope":11617,"src":"21496:253:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11508,"nodeType":"Block","src":"21824:184:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11483,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11477,"src":"21842:1:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21844:6:3","memberName":"length","nodeType":"MemberAccess","src":"21842:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":11485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21854:2:3","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"21842:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":11487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21858:57:3","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":11482,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"21834:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21834:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11489,"nodeType":"ExpressionStatement","src":"21834:82:3"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":11496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21971:2:3","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":11497,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11477,"src":"21976:1:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21978:6:3","memberName":"length","nodeType":"MemberAccess","src":"21976:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21971:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21961:9:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":11494,"name":"bytes","nodeType":"ElementaryTypeName","src":"21965:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":11500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21961:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11501,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11477,"src":"21987:1:3","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":11492,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21944:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21948:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"21944:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21944:45:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":11504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21992:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11503,"name":"uint256","nodeType":"ElementaryTypeName","src":"21992:7:3","typeDescriptions":{}}}],"id":11505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21991:9:3","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":11490,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21933:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21937:6:3","memberName":"decode","nodeType":"MemberAccess","src":"21933:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":11506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21933:68:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11481,"id":11507,"nodeType":"Return","src":"21926:75:3"}]},"id":11509,"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"21764:12:3","nodeType":"FunctionDefinition","parameters":{"id":11478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11477,"mutability":"mutable","name":"b","nameLocation":"21790:1:3","nodeType":"VariableDeclaration","scope":11509,"src":"21777:14:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11476,"name":"bytes","nodeType":"ElementaryTypeName","src":"21777:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21776:16:3"},"returnParameters":{"id":11481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11509,"src":"21815:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11479,"name":"uint256","nodeType":"ElementaryTypeName","src":"21815:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21814:9:3"},"scope":11617,"src":"21755:253:3","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":11529,"nodeType":"Block","src":"22076:98:3","statements":[{"clauses":[{"block":{"id":11521,"nodeType":"Block","src":"22106:38:3","statements":[{"expression":{"id":11519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11517,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11512,"src":"22120:6:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":11518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22129:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"22120:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11520,"nodeType":"ExpressionStatement","src":"22120:13:3"}]},"errorName":"","id":11522,"nodeType":"TryCatchClause","src":"22106:38:3"},{"block":{"id":11526,"nodeType":"Block","src":"22166:2:3","statements":[]},"errorName":"","id":11527,"nodeType":"TryCatchClause","parameters":{"id":11525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11527,"src":"22152:12:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11523,"name":"bytes","nodeType":"ElementaryTypeName","src":"22152:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22151:14:3"},"src":"22145:23:3"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11514,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"22090:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22093:10:3","memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":22397,"src":"22090:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":11516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22090:15:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11528,"nodeType":"TryStatement","src":"22086:82:3"}]},"id":11530,"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"22023:6:3","nodeType":"FunctionDefinition","parameters":{"id":11510,"nodeType":"ParameterList","parameters":[],"src":"22029:2:3"},"returnParameters":{"id":11513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11512,"mutability":"mutable","name":"status","nameLocation":"22068:6:3","nodeType":"VariableDeclaration","scope":11530,"src":"22063:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11511,"name":"bool","nodeType":"ElementaryTypeName","src":"22063:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22062:13:3"},"scope":11617,"src":"22014:160:3","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":11538,"nodeType":"Block","src":"22207:57:3","statements":[{"condition":{"id":11534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22221:9:3","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11532,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"22222:6:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":11533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22222:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11537,"nodeType":"IfStatement","src":"22217:41:3","trueBody":{"id":11536,"nodeType":"Block","src":"22232:26:3","statements":[{"id":11535,"nodeType":"PlaceholderStatement","src":"22246:1:3"}]}}]},"id":11539,"name":"skipWhenForking","nameLocation":"22189:15:3","nodeType":"ModifierDefinition","parameters":{"id":11531,"nodeType":"ParameterList","parameters":[],"src":"22204:2:3"},"src":"22180:84:3","virtual":false,"visibility":"internal"},{"body":{"id":11546,"nodeType":"Block","src":"22300:56:3","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":11541,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11530,"src":"22314:6:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":11542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22314:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11545,"nodeType":"IfStatement","src":"22310:40:3","trueBody":{"id":11544,"nodeType":"Block","src":"22324:26:3","statements":[{"id":11543,"nodeType":"PlaceholderStatement","src":"22338:1:3"}]}}]},"id":11547,"name":"skipWhenNotForking","nameLocation":"22279:18:3","nodeType":"ModifierDefinition","parameters":{"id":11540,"nodeType":"ParameterList","parameters":[],"src":"22297:2:3"},"src":"22270:86:3","virtual":false,"visibility":"internal"},{"body":{"id":11576,"nodeType":"Block","src":"22387:859:3","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11549,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"22397:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22400:16:3","memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":19688,"src":"22397:19:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":11552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22397:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11553,"nodeType":"ExpressionStatement","src":"22397:21:3"},{"assignments":[11555],"declarations":[{"constant":false,"id":11555,"mutability":"mutable","name":"gasStartedOff","nameLocation":"22961:13:3","nodeType":"VariableDeclaration","scope":11576,"src":"22956:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11554,"name":"bool","nodeType":"ElementaryTypeName","src":"22956:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":11557,"initialValue":{"id":11556,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9589,"src":"22977:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"22956:35:3"},{"expression":{"id":11560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11558,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9589,"src":"23001:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":11559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23018:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"23001:21:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11561,"nodeType":"ExpressionStatement","src":"23001:21:3"},{"id":11562,"nodeType":"PlaceholderStatement","src":"23033:1:3"},{"condition":{"id":11564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23141:14:3","subExpression":{"id":11563,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11555,"src":"23142:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11575,"nodeType":"IfStatement","src":"23137:103:3","trueBody":{"id":11574,"nodeType":"Block","src":"23157:83:3","statements":[{"expression":{"id":11567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11565,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9589,"src":"23171:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":11566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23188:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23171:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11568,"nodeType":"ExpressionStatement","src":"23171:22:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"23207:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23210:17:3","memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":19704,"src":"23207:20:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":11572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23207:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11573,"nodeType":"ExpressionStatement","src":"23207:22:3"}]}}]},"id":11577,"name":"noGasMetering","nameLocation":"22371:13:3","nodeType":"ModifierDefinition","parameters":{"id":11548,"nodeType":"ParameterList","parameters":[],"src":"22384:2:3"},"src":"22362:884:3","virtual":false,"visibility":"internal"},{"body":{"id":11588,"nodeType":"Block","src":"23673:213:3","statements":[{"AST":{"nativeSrc":"23768:44:3","nodeType":"YulBlock","src":"23768:44:3","statements":[{"nativeSrc":"23782:20:3","nodeType":"YulAssignment","src":"23782:20:3","value":{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"23793:7:3","nodeType":"YulIdentifier","src":"23793:7:3"},"nativeSrc":"23793:9:3","nodeType":"YulFunctionCall","src":"23793:9:3"},"variableNames":[{"name":"chainId","nativeSrc":"23782:7:3","nodeType":"YulIdentifier","src":"23782:7:3"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":11580,"isOffset":false,"isSlot":false,"src":"23782:7:3","valueSize":1}],"id":11582,"nodeType":"InlineAssembly","src":"23759:53:3"},{"expression":{"arguments":[{"id":11585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23830:4:3","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$11617","typeString":"contract StdCheatsSafe"}],"id":11584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23822:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11583,"name":"address","nodeType":"ElementaryTypeName","src":"23822:7:3","typeDescriptions":{}}},"id":11586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23822:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11587,"nodeType":"ExpressionStatement","src":"23822:13:3"}]},"id":11589,"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"23619:12:3","nodeType":"FunctionDefinition","parameters":{"id":11578,"nodeType":"ParameterList","parameters":[],"src":"23631:2:3"},"returnParameters":{"id":11581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11580,"mutability":"mutable","name":"chainId","nameLocation":"23664:7:3","nodeType":"VariableDeclaration","scope":11589,"src":"23656:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11579,"name":"uint256","nodeType":"ElementaryTypeName","src":"23656:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23655:17:3"},"scope":11617,"src":"23610:276:3","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":11615,"nodeType":"Block","src":"23955:237:3","statements":[{"assignments":[11599],"declarations":[{"constant":false,"id":11599,"mutability":"mutable","name":"fnIn","nameLocation":"24008:4:3","nodeType":"VariableDeclaration","scope":11615,"src":"23965:47:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":11598,"nodeType":"FunctionTypeName","parameterTypes":{"id":11594,"nodeType":"ParameterList","parameters":[],"src":"23973:2:3"},"returnParameterTypes":{"id":11597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11598,"src":"23999:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11595,"name":"uint256","nodeType":"ElementaryTypeName","src":"23999:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23998:9:3"},"src":"23965:47:3","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":11601,"initialValue":{"id":11600,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11589,"src":"24015:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"23965:62:3"},{"assignments":[11607],"declarations":[{"constant":false,"id":11607,"mutability":"mutable","name":"pureChainId","nameLocation":"24080:11:3","nodeType":"VariableDeclaration","scope":11615,"src":"24037:54:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":11606,"nodeType":"FunctionTypeName","parameterTypes":{"id":11602,"nodeType":"ParameterList","parameters":[],"src":"24045:2:3"},"returnParameterTypes":{"id":11605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11606,"src":"24071:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11603,"name":"uint256","nodeType":"ElementaryTypeName","src":"24071:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24070:9:3"},"src":"24037:54:3","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":11608,"nodeType":"VariableDeclarationStatement","src":"24037:54:3"},{"AST":{"nativeSrc":"24110:43:3","nodeType":"YulBlock","src":"24110:43:3","statements":[{"nativeSrc":"24124:19:3","nodeType":"YulAssignment","src":"24124:19:3","value":{"name":"fnIn","nativeSrc":"24139:4:3","nodeType":"YulIdentifier","src":"24139:4:3"},"variableNames":[{"name":"pureChainId","nativeSrc":"24124:11:3","nodeType":"YulIdentifier","src":"24124:11:3"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":11599,"isOffset":false,"isSlot":false,"src":"24139:4:3","valueSize":1},{"declaration":11607,"isOffset":false,"isSlot":false,"src":"24124:11:3","valueSize":1}],"id":11609,"nodeType":"InlineAssembly","src":"24101:52:3"},{"expression":{"id":11613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11610,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11592,"src":"24162:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":11611,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11607,"src":"24172:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":11612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24172:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24162:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11614,"nodeType":"ExpressionStatement","src":"24162:23:3"}]},"id":11616,"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"23901:12:3","nodeType":"FunctionDefinition","parameters":{"id":11590,"nodeType":"ParameterList","parameters":[],"src":"23913:2:3"},"returnParameters":{"id":11593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11592,"mutability":"mutable","name":"chainId","nameLocation":"23946:7:3","nodeType":"VariableDeclaration","scope":11616,"src":"23938:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11591,"name":"uint256","nodeType":"ElementaryTypeName","src":"23938:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23937:17:3"},"scope":11617,"src":"23892:300:3","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":12411,"src":"228:23966:3","usedErrors":[],"usedEvents":[]},{"abstract":true,"baseContracts":[{"baseName":{"id":11618,"name":"StdCheatsSafe","nameLocations":["24275:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":11617,"src":"24275:13:3"},"id":11619,"nodeType":"InheritanceSpecifier","src":"24275:13:3"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12410,"linearizedBaseContracts":[12410,11617],"name":"StdCheats","nameLocation":"24262:9:3","nodeType":"ContractDefinition","nodes":[{"global":false,"id":11623,"libraryName":{"id":11620,"name":"stdStorage","nameLocations":["24301:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":15851,"src":"24301:10:3"},"nodeType":"UsingForDirective","src":"24295:32:3","typeName":{"id":11622,"nodeType":"UserDefinedTypeName","pathNode":{"id":11621,"name":"StdStorage","nameLocations":["24316:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"24316:10:3"},"referencedDeclaration":13894,"src":"24316:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}}},{"constant":false,"id":11626,"mutability":"mutable","name":"stdstore","nameLocation":"24352:8:3","nodeType":"VariableDeclaration","scope":12410,"src":"24333:27:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage"},"typeName":{"id":11625,"nodeType":"UserDefinedTypeName","pathNode":{"id":11624,"name":"StdStorage","nameLocations":["24333:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"24333:10:3"},"referencedDeclaration":13894,"src":"24333:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"constant":true,"id":11643,"mutability":"constant","name":"vm","nameLocation":"24386:2:3","nodeType":"VariableDeclaration","scope":12410,"src":"24366:84:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":11628,"nodeType":"UserDefinedTypeName","pathNode":{"id":11627,"name":"Vm","nameLocations":["24366:2:3"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"24366:2:3"},"referencedDeclaration":23231,"src":"24366:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":11637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24428: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":11636,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24418:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24418:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24410:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11634,"name":"uint256","nodeType":"ElementaryTypeName","src":"24410:7:3","typeDescriptions":{}}},"id":11639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24410:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24402:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11632,"name":"uint160","nodeType":"ElementaryTypeName","src":"24402:7:3","typeDescriptions":{}}},"id":11640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24402:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24394:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11630,"name":"address","nodeType":"ElementaryTypeName","src":"24394:7:3","typeDescriptions":{}}},"id":11641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24394:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11629,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"24391:2:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":11642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24391:59:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"private"},{"constant":true,"id":11646,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"24481:16:3","nodeType":"VariableDeclaration","scope":12410,"src":"24456:86:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11644,"name":"address","nodeType":"ElementaryTypeName","src":"24456:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":11645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24500:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"body":{"id":11660,"nodeType":"Block","src":"24664:48:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11654,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24682:5:3","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24688:9:3","memberName":"timestamp","nodeType":"MemberAccess","src":"24682:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":11656,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11648,"src":"24700:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24682:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"24674:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24677:4:3","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":22942,"src":"24674:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":11658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24674:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11659,"nodeType":"ExpressionStatement","src":"24674:31:3"}]},"id":11661,"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"24628:4:3","nodeType":"FunctionDefinition","parameters":{"id":11649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11648,"mutability":"mutable","name":"time","nameLocation":"24641:4:3","nodeType":"VariableDeclaration","scope":11661,"src":"24633:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11647,"name":"uint256","nodeType":"ElementaryTypeName","src":"24633:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24632:14:3"},"returnParameters":{"id":11650,"nodeType":"ParameterList","parameters":[],"src":"24664:0:3"},"scope":12410,"src":"24619:93:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11675,"nodeType":"Block","src":"24765:48:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11669,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24783:5:3","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":11670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24789:9:3","memberName":"timestamp","nodeType":"MemberAccess","src":"24783:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":11671,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11663,"src":"24801:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24783:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"24775:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24778:4:3","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":22942,"src":"24775:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":11673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24775:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11674,"nodeType":"ExpressionStatement","src":"24775:31:3"}]},"id":11676,"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"24727:6:3","nodeType":"FunctionDefinition","parameters":{"id":11664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11663,"mutability":"mutable","name":"time","nameLocation":"24742:4:3","nodeType":"VariableDeclaration","scope":11676,"src":"24734:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11662,"name":"uint256","nodeType":"ElementaryTypeName","src":"24734:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24733:14:3"},"returnParameters":{"id":11665,"nodeType":"ParameterList","parameters":[],"src":"24765:0:3"},"scope":12410,"src":"24718:95:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11696,"nodeType":"Block","src":"24926:74:3","statements":[{"expression":{"arguments":[{"id":11684,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11678,"src":"24944:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":11687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":11685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24955:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":11686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24960:3:3","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"24955:8:3","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":11681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"24936:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24939:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"24936:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24936:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11689,"nodeType":"ExpressionStatement","src":"24936:28:3"},{"expression":{"arguments":[{"id":11693,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11678,"src":"24983:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11690,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"24974:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24977:5:3","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":22678,"src":"24974:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24974:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11695,"nodeType":"ExpressionStatement","src":"24974:19:3"}]},"id":11697,"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"24885:4:3","nodeType":"FunctionDefinition","parameters":{"id":11679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11678,"mutability":"mutable","name":"msgSender","nameLocation":"24898:9:3","nodeType":"VariableDeclaration","scope":11697,"src":"24890:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11677,"name":"address","nodeType":"ElementaryTypeName","src":"24890:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24889:19:3"},"returnParameters":{"id":11680,"nodeType":"ParameterList","parameters":[],"src":"24926:0:3"},"scope":12410,"src":"24876:124:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11717,"nodeType":"Block","src":"25070:70:3","statements":[{"expression":{"arguments":[{"id":11707,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11699,"src":"25088:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11708,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11701,"src":"25099:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25080:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25083:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"25080:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25080:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11710,"nodeType":"ExpressionStatement","src":"25080:24:3"},{"expression":{"arguments":[{"id":11714,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11699,"src":"25123:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11711,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25114:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25117:5:3","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":22678,"src":"25114:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25114:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11716,"nodeType":"ExpressionStatement","src":"25114:19:3"}]},"id":11718,"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25015:4:3","nodeType":"FunctionDefinition","parameters":{"id":11702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11699,"mutability":"mutable","name":"msgSender","nameLocation":"25028:9:3","nodeType":"VariableDeclaration","scope":11718,"src":"25020:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11698,"name":"address","nodeType":"ElementaryTypeName","src":"25020:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11701,"mutability":"mutable","name":"give","nameLocation":"25047:4:3","nodeType":"VariableDeclaration","scope":11718,"src":"25039:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11700,"name":"uint256","nodeType":"ElementaryTypeName","src":"25039:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25019:33:3"},"returnParameters":{"id":11703,"nodeType":"ParameterList","parameters":[],"src":"25070:0:3"},"scope":12410,"src":"25006:134:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11741,"nodeType":"Block","src":"25212:82:3","statements":[{"expression":{"arguments":[{"id":11728,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11720,"src":"25230:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":11731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":11729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25241:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":11730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25246:3:3","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25241:8:3","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":11725,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25222:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25225:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"25222:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25222:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11733,"nodeType":"ExpressionStatement","src":"25222:28:3"},{"expression":{"arguments":[{"id":11737,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11720,"src":"25269:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11738,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11722,"src":"25280:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11734,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25260:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25263:5:3","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":22686,"src":"25260:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":11739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25260:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11740,"nodeType":"ExpressionStatement","src":"25260:27:3"}]},"id":11742,"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25155:4:3","nodeType":"FunctionDefinition","parameters":{"id":11723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11720,"mutability":"mutable","name":"msgSender","nameLocation":"25168:9:3","nodeType":"VariableDeclaration","scope":11742,"src":"25160:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11719,"name":"address","nodeType":"ElementaryTypeName","src":"25160:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11722,"mutability":"mutable","name":"origin","nameLocation":"25187:6:3","nodeType":"VariableDeclaration","scope":11742,"src":"25179:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11721,"name":"address","nodeType":"ElementaryTypeName","src":"25179:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25159:35:3"},"returnParameters":{"id":11724,"nodeType":"ParameterList","parameters":[],"src":"25212:0:3"},"scope":12410,"src":"25146:148:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11765,"nodeType":"Block","src":"25380:78:3","statements":[{"expression":{"arguments":[{"id":11754,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11744,"src":"25398:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11755,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11748,"src":"25409:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11751,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25390:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25393:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"25390:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25390:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11757,"nodeType":"ExpressionStatement","src":"25390:24:3"},{"expression":{"arguments":[{"id":11761,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11744,"src":"25433:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11762,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11746,"src":"25444:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11758,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25424:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25427:5:3","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":22686,"src":"25424:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":11763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25424:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11764,"nodeType":"ExpressionStatement","src":"25424:27:3"}]},"id":11766,"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25309:4:3","nodeType":"FunctionDefinition","parameters":{"id":11749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11744,"mutability":"mutable","name":"msgSender","nameLocation":"25322:9:3","nodeType":"VariableDeclaration","scope":11766,"src":"25314:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11743,"name":"address","nodeType":"ElementaryTypeName","src":"25314:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11746,"mutability":"mutable","name":"origin","nameLocation":"25341:6:3","nodeType":"VariableDeclaration","scope":11766,"src":"25333:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11745,"name":"address","nodeType":"ElementaryTypeName","src":"25333:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11748,"mutability":"mutable","name":"give","nameLocation":"25357:4:3","nodeType":"VariableDeclaration","scope":11766,"src":"25349:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11747,"name":"uint256","nodeType":"ElementaryTypeName","src":"25349:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25313:49:3"},"returnParameters":{"id":11750,"nodeType":"ParameterList","parameters":[],"src":"25380:0:3"},"scope":12410,"src":"25300:158:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11786,"nodeType":"Block","src":"25584:79:3","statements":[{"expression":{"arguments":[{"id":11774,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11768,"src":"25602:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":11777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":11775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25613:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":11776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25618:3:3","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25613:8:3","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":11771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25594:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25597:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"25594:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25594:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11779,"nodeType":"ExpressionStatement","src":"25594:28:3"},{"expression":{"arguments":[{"id":11783,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11768,"src":"25646:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11780,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25632:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25635:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22856,"src":"25632:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25632:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11785,"nodeType":"ExpressionStatement","src":"25632:24:3"}]},"id":11787,"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25538:9:3","nodeType":"FunctionDefinition","parameters":{"id":11769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11768,"mutability":"mutable","name":"msgSender","nameLocation":"25556:9:3","nodeType":"VariableDeclaration","scope":11787,"src":"25548:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11767,"name":"address","nodeType":"ElementaryTypeName","src":"25548:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25547:19:3"},"returnParameters":{"id":11770,"nodeType":"ParameterList","parameters":[],"src":"25584:0:3"},"scope":12410,"src":"25529:134:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11807,"nodeType":"Block","src":"25738:75:3","statements":[{"expression":{"arguments":[{"id":11797,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11789,"src":"25756:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11798,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11791,"src":"25767:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11794,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25748:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25751:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"25748:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25748:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11800,"nodeType":"ExpressionStatement","src":"25748:24:3"},{"expression":{"arguments":[{"id":11804,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11789,"src":"25796:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"25782:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25785:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22856,"src":"25782:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25782:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11806,"nodeType":"ExpressionStatement","src":"25782:24:3"}]},"id":11808,"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25678:9:3","nodeType":"FunctionDefinition","parameters":{"id":11792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"mutability":"mutable","name":"msgSender","nameLocation":"25696:9:3","nodeType":"VariableDeclaration","scope":11808,"src":"25688:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11788,"name":"address","nodeType":"ElementaryTypeName","src":"25688:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11791,"mutability":"mutable","name":"give","nameLocation":"25715:4:3","nodeType":"VariableDeclaration","scope":11808,"src":"25707:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11790,"name":"uint256","nodeType":"ElementaryTypeName","src":"25707:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25687:33:3"},"returnParameters":{"id":11793,"nodeType":"ParameterList","parameters":[],"src":"25738:0:3"},"scope":12410,"src":"25669:144:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11831,"nodeType":"Block","src":"26003:87:3","statements":[{"expression":{"arguments":[{"id":11818,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11810,"src":"26021:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":11821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":11819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26032:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":11820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26037:3:3","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"26032:8:3","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":11815,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26013:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26016:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"26013:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26013:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11823,"nodeType":"ExpressionStatement","src":"26013:28:3"},{"expression":{"arguments":[{"id":11827,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11810,"src":"26065:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11828,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11812,"src":"26076:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11824,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26051:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26054:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"26051:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":11829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26051:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11830,"nodeType":"ExpressionStatement","src":"26051:32:3"}]},"id":11832,"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25941:9:3","nodeType":"FunctionDefinition","parameters":{"id":11813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11810,"mutability":"mutable","name":"msgSender","nameLocation":"25959:9:3","nodeType":"VariableDeclaration","scope":11832,"src":"25951:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11809,"name":"address","nodeType":"ElementaryTypeName","src":"25951:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11812,"mutability":"mutable","name":"origin","nameLocation":"25978:6:3","nodeType":"VariableDeclaration","scope":11832,"src":"25970:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11811,"name":"address","nodeType":"ElementaryTypeName","src":"25970:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25950:35:3"},"returnParameters":{"id":11814,"nodeType":"ParameterList","parameters":[],"src":"26003:0:3"},"scope":12410,"src":"25932:158:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11855,"nodeType":"Block","src":"26181:83:3","statements":[{"expression":{"arguments":[{"id":11844,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11834,"src":"26199:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11845,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11838,"src":"26210:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11841,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26191:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26194:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"26191:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26191:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11847,"nodeType":"ExpressionStatement","src":"26191:24:3"},{"expression":{"arguments":[{"id":11851,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11834,"src":"26239:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11852,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11836,"src":"26250:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26225:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26228:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"26225:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":11853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26225:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11854,"nodeType":"ExpressionStatement","src":"26225:32:3"}]},"id":11856,"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26105:9:3","nodeType":"FunctionDefinition","parameters":{"id":11839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11834,"mutability":"mutable","name":"msgSender","nameLocation":"26123:9:3","nodeType":"VariableDeclaration","scope":11856,"src":"26115:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11833,"name":"address","nodeType":"ElementaryTypeName","src":"26115:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11836,"mutability":"mutable","name":"origin","nameLocation":"26142:6:3","nodeType":"VariableDeclaration","scope":11856,"src":"26134:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11835,"name":"address","nodeType":"ElementaryTypeName","src":"26134:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11838,"mutability":"mutable","name":"give","nameLocation":"26158:4:3","nodeType":"VariableDeclaration","scope":11856,"src":"26150:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11837,"name":"uint256","nodeType":"ElementaryTypeName","src":"26150:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26114:49:3"},"returnParameters":{"id":11840,"nodeType":"ParameterList","parameters":[],"src":"26181:0:3"},"scope":12410,"src":"26096:168:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11876,"nodeType":"Block","src":"26327:161:3","statements":[{"expression":{"arguments":[{"hexValue":"6368616e67655072616e6b20697320646570726563617465642e20506c656173652075736520766d2e73746172745072616e6b20696e73746561642e","id":11862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26360:62:3","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":11861,"name":"console2_log_StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"26337:22:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":11863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26337:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11864,"nodeType":"ExpressionStatement","src":"26337:86:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11865,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26433:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26436:9:3","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":22882,"src":"26433:12:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":11868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26433:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11869,"nodeType":"ExpressionStatement","src":"26433:14:3"},{"expression":{"arguments":[{"id":11873,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11858,"src":"26471:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11870,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26457:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26460:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22856,"src":"26457:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":11874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26457:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11875,"nodeType":"ExpressionStatement","src":"26457:24:3"}]},"id":11877,"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26279:11:3","nodeType":"FunctionDefinition","parameters":{"id":11859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11858,"mutability":"mutable","name":"msgSender","nameLocation":"26299:9:3","nodeType":"VariableDeclaration","scope":11877,"src":"26291:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11857,"name":"address","nodeType":"ElementaryTypeName","src":"26291:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26290:19:3"},"returnParameters":{"id":11860,"nodeType":"ParameterList","parameters":[],"src":"26327:0:3"},"scope":12410,"src":"26270:218:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11896,"nodeType":"Block","src":"26569:75:3","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11884,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26579:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26582:9:3","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":22882,"src":"26579:12:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":11887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26579:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11888,"nodeType":"ExpressionStatement","src":"26579:14:3"},{"expression":{"arguments":[{"id":11892,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11879,"src":"26617:9:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11893,"name":"txOrigin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11881,"src":"26628:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26603:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26606:10:3","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":22864,"src":"26603:13:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":11894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26603:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11895,"nodeType":"ExpressionStatement","src":"26603:34:3"}]},"id":11897,"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26503:11:3","nodeType":"FunctionDefinition","parameters":{"id":11882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11879,"mutability":"mutable","name":"msgSender","nameLocation":"26523:9:3","nodeType":"VariableDeclaration","scope":11897,"src":"26515:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11878,"name":"address","nodeType":"ElementaryTypeName","src":"26515:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11881,"mutability":"mutable","name":"txOrigin","nameLocation":"26542:8:3","nodeType":"VariableDeclaration","scope":11897,"src":"26534:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11880,"name":"address","nodeType":"ElementaryTypeName","src":"26534:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26514:37:3"},"returnParameters":{"id":11883,"nodeType":"ParameterList","parameters":[],"src":"26569:0:3"},"scope":12410,"src":"26494:150:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11911,"nodeType":"Block","src":"26792:34:3","statements":[{"expression":{"arguments":[{"id":11907,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11899,"src":"26810:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11908,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11901,"src":"26814:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11904,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"26802:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":11906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26805:4:3","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":22504,"src":"26802:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":11909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26802:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11910,"nodeType":"ExpressionStatement","src":"26802:17:3"}]},"id":11912,"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"26744:4:3","nodeType":"FunctionDefinition","parameters":{"id":11902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11899,"mutability":"mutable","name":"to","nameLocation":"26757:2:3","nodeType":"VariableDeclaration","scope":11912,"src":"26749:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11898,"name":"address","nodeType":"ElementaryTypeName","src":"26749:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11901,"mutability":"mutable","name":"give","nameLocation":"26769:4:3","nodeType":"VariableDeclaration","scope":11912,"src":"26761:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11900,"name":"uint256","nodeType":"ElementaryTypeName","src":"26761:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26748:26:3"},"returnParameters":{"id":11903,"nodeType":"ParameterList","parameters":[],"src":"26792:0:3"},"scope":12410,"src":"26735:91:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11928,"nodeType":"Block","src":"27022:45:3","statements":[{"expression":{"arguments":[{"id":11922,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11914,"src":"27037:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11923,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11916,"src":"27044:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11924,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11918,"src":"27048:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":11925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27054:5:3","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":11921,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[11912,11929,12052],"referencedDeclaration":12052,"src":"27032:4:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":11926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27032:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11927,"nodeType":"ExpressionStatement","src":"27032:28:3"}]},"id":11929,"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"26959:4:3","nodeType":"FunctionDefinition","parameters":{"id":11919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11914,"mutability":"mutable","name":"token","nameLocation":"26972:5:3","nodeType":"VariableDeclaration","scope":11929,"src":"26964:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11913,"name":"address","nodeType":"ElementaryTypeName","src":"26964:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11916,"mutability":"mutable","name":"to","nameLocation":"26987:2:3","nodeType":"VariableDeclaration","scope":11929,"src":"26979:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11915,"name":"address","nodeType":"ElementaryTypeName","src":"26979:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11918,"mutability":"mutable","name":"give","nameLocation":"26999:4:3","nodeType":"VariableDeclaration","scope":11929,"src":"26991:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11917,"name":"uint256","nodeType":"ElementaryTypeName","src":"26991:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26963:41:3"},"returnParameters":{"id":11920,"nodeType":"ParameterList","parameters":[],"src":"27022:0:3"},"scope":12410,"src":"26950:117:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11948,"nodeType":"Block","src":"27284:56:3","statements":[{"expression":{"arguments":[{"id":11941,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11931,"src":"27306:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11942,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11933,"src":"27313:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11943,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11935,"src":"27317:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11944,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"27321:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":11945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27327:5:3","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":11940,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[11949,12173],"referencedDeclaration":12173,"src":"27294:11:3","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":11946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27294:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11947,"nodeType":"ExpressionStatement","src":"27294:39:3"}]},"id":11949,"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"27202:11:3","nodeType":"FunctionDefinition","parameters":{"id":11938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11931,"mutability":"mutable","name":"token","nameLocation":"27222:5:3","nodeType":"VariableDeclaration","scope":11949,"src":"27214:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11930,"name":"address","nodeType":"ElementaryTypeName","src":"27214:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11933,"mutability":"mutable","name":"to","nameLocation":"27237:2:3","nodeType":"VariableDeclaration","scope":11949,"src":"27229:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11932,"name":"address","nodeType":"ElementaryTypeName","src":"27229:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11935,"mutability":"mutable","name":"id","nameLocation":"27249:2:3","nodeType":"VariableDeclaration","scope":11949,"src":"27241:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11934,"name":"uint256","nodeType":"ElementaryTypeName","src":"27241:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11937,"mutability":"mutable","name":"give","nameLocation":"27261:4:3","nodeType":"VariableDeclaration","scope":11949,"src":"27253:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11936,"name":"uint256","nodeType":"ElementaryTypeName","src":"27253:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27213:53:3"},"returnParameters":{"id":11939,"nodeType":"ParameterList","parameters":[],"src":"27284:0:3"},"scope":12410,"src":"27193:147:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12051,"nodeType":"Block","src":"27431:752:3","statements":[{"assignments":[null,11961],"declarations":[null,{"constant":false,"id":11961,"mutability":"mutable","name":"balData","nameLocation":"27488:7:3","nodeType":"VariableDeclaration","scope":12051,"src":"27475:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11960,"name":"bytes","nodeType":"ElementaryTypeName","src":"27475:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11970,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":11966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:10:3","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":11967,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"27551:2:3","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":11964,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27516:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27520:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27516:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":11968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27516:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11962,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"27499:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27505:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"27499:16:3","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":11969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27499:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27472:83:3"},{"assignments":[11972],"declarations":[{"constant":false,"id":11972,"mutability":"mutable","name":"prevBal","nameLocation":"27573:7:3","nodeType":"VariableDeclaration","scope":12051,"src":"27565:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11971,"name":"uint256","nodeType":"ElementaryTypeName","src":"27565:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11980,"initialValue":{"arguments":[{"id":11975,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11961,"src":"27594:7:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":11977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27604:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11976,"name":"uint256","nodeType":"ElementaryTypeName","src":"27604:7:3","typeDescriptions":{}}}],"id":11978,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27603:9:3","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":11973,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27583:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27587:6:3","memberName":"decode","nodeType":"MemberAccess","src":"27583:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":11979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27583:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27565:48:3"},{"expression":{"arguments":[{"id":11993,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"27716:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":11990,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"27698:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":11987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27677:10:3","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":11984,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"27666:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11981,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"27650:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":11983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27659:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"27650:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":11985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27650:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":11986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27673:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"27650:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":11988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27650:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":11989,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27689:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15380,"src":"27650:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":11991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27650:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":11992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27702:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"27650:65:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":11994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27650:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11995,"nodeType":"ExpressionStatement","src":"27650:71:3"},{"condition":{"id":11996,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11957,"src":"27767:6:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12050,"nodeType":"IfStatement","src":"27763:414:3","trueBody":{"id":12049,"nodeType":"Block","src":"27775:402:3","statements":[{"assignments":[null,11998],"declarations":[null,{"constant":false,"id":11998,"mutability":"mutable","name":"totSupData","nameLocation":"27805:10:3","nodeType":"VariableDeclaration","scope":12049,"src":"27792:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11997,"name":"bytes","nodeType":"ElementaryTypeName","src":"27792:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12006,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":12003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27859:10:3","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":12001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27836:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27840:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27836:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27836:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11999,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"27819:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27825:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"27819:16:3","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":12005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27819:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27789:82:3"},{"assignments":[12008],"declarations":[{"constant":false,"id":12008,"mutability":"mutable","name":"totSup","nameLocation":"27893:6:3","nodeType":"VariableDeclaration","scope":12049,"src":"27885:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12007,"name":"uint256","nodeType":"ElementaryTypeName","src":"27885:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12016,"initialValue":{"arguments":[{"id":12011,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11998,"src":"27913:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27926:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12012,"name":"uint256","nodeType":"ElementaryTypeName","src":"27926:7:3","typeDescriptions":{}}}],"id":12014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27925:9:3","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":12009,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27902:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27906:6:3","memberName":"decode","nodeType":"MemberAccess","src":"27902:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27902:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27885:50:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12017,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"27953:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12018,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11972,"src":"27960:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27953:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":12035,"nodeType":"Block","src":"28034:59:3","statements":[{"expression":{"id":12033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12028,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12008,"src":"28052:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12029,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"28063:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12030,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11972,"src":"28070:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28063:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28062:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28052:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12034,"nodeType":"ExpressionStatement","src":"28052:26:3"}]},"id":12036,"nodeType":"IfStatement","src":"27949:144:3","trueBody":{"id":12027,"nodeType":"Block","src":"27969:59:3","statements":[{"expression":{"id":12025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12020,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12008,"src":"27987:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12021,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11972,"src":"27998:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12022,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"28008:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27998:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"27997:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27987:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12026,"nodeType":"ExpressionStatement","src":"27987:26:3"}]}},{"expression":{"arguments":[{"id":12046,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12008,"src":"28159:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":12043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28133:10:3","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":12040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"28122:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12037,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"28106:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28115:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"28106:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28106:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28129:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"28106:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28106:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28145:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"28106:52:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":12047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28106:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12048,"nodeType":"ExpressionStatement","src":"28106:60:3"}]}}]},"id":12052,"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27355:4:3","nodeType":"FunctionDefinition","parameters":{"id":11958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11951,"mutability":"mutable","name":"token","nameLocation":"27368:5:3","nodeType":"VariableDeclaration","scope":12052,"src":"27360:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11950,"name":"address","nodeType":"ElementaryTypeName","src":"27360:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11953,"mutability":"mutable","name":"to","nameLocation":"27383:2:3","nodeType":"VariableDeclaration","scope":12052,"src":"27375:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11952,"name":"address","nodeType":"ElementaryTypeName","src":"27375:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11955,"mutability":"mutable","name":"give","nameLocation":"27395:4:3","nodeType":"VariableDeclaration","scope":12052,"src":"27387:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11954,"name":"uint256","nodeType":"ElementaryTypeName","src":"27387:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11957,"mutability":"mutable","name":"adjust","nameLocation":"27406:6:3","nodeType":"VariableDeclaration","scope":12052,"src":"27401:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11956,"name":"bool","nodeType":"ElementaryTypeName","src":"27401:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27359:54:3"},"returnParameters":{"id":11959,"nodeType":"ParameterList","parameters":[],"src":"27431:0:3"},"scope":12410,"src":"27346:837:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12172,"nodeType":"Block","src":"28293:966:3","statements":[{"assignments":[null,12066],"declarations":[null,{"constant":false,"id":12066,"mutability":"mutable","name":"balData","nameLocation":"28350:7:3","nodeType":"VariableDeclaration","scope":12172,"src":"28337:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12065,"name":"bytes","nodeType":"ElementaryTypeName","src":"28337:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12076,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":12071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28401:10:3","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":12072,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12056,"src":"28413:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12073,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12058,"src":"28417:2:3","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":12069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28378:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28382:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28378:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28378:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12067,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12054,"src":"28361:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28367:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"28361:16:3","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":12075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28361:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28334:87:3"},{"assignments":[12078],"declarations":[{"constant":false,"id":12078,"mutability":"mutable","name":"prevBal","nameLocation":"28439:7:3","nodeType":"VariableDeclaration","scope":12172,"src":"28431:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12077,"name":"uint256","nodeType":"ElementaryTypeName","src":"28431:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12086,"initialValue":{"arguments":[{"id":12081,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12066,"src":"28460:7:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28470:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12082,"name":"uint256","nodeType":"ElementaryTypeName","src":"28470:7:3","typeDescriptions":{}}}],"id":12084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28469:9:3","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":12079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28449:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28453:6:3","memberName":"decode","nodeType":"MemberAccess","src":"28449:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28449:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28431:48:3"},{"expression":{"arguments":[{"id":12102,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"28595:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":12099,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12058,"src":"28577:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":12096,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12056,"src":"28564:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":12093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28543:10:3","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":12090,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12054,"src":"28532:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12087,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"28516:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28525:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"28516:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28516:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28539:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"28516:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28516:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28555:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15380,"src":"28516:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28516:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28568:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15398,"src":"28516:60:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":12100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28516:64:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12101,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28581:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"28516:78:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":12103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28516:84:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12104,"nodeType":"ExpressionStatement","src":"28516:84:3"},{"condition":{"id":12105,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12062,"src":"28646:6:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12171,"nodeType":"IfStatement","src":"28642:611:3","trueBody":{"id":12170,"nodeType":"Block","src":"28654:599:3","statements":[{"assignments":[null,12107],"declarations":[null,{"constant":false,"id":12107,"mutability":"mutable","name":"totSupData","nameLocation":"28684:10:3","nodeType":"VariableDeclaration","scope":12170,"src":"28671:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12106,"name":"bytes","nodeType":"ElementaryTypeName","src":"28671:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12116,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":12112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28738:10:3","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":12113,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12058,"src":"28750:2:3","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":12110,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28715:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28719:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28715:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28715:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12108,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12054,"src":"28698:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28704:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"28698:16:3","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":12115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28698:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28668:86:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12118,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"28793:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28804:6:3","memberName":"length","nodeType":"MemberAccess","src":"28793:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":12120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28814:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28793:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":12122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28833:87:3","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":12117,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"28768:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28768:166:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12124,"nodeType":"ExpressionStatement","src":"28768:166:3"},{"assignments":[12126],"declarations":[{"constant":false,"id":12126,"mutability":"mutable","name":"totSup","nameLocation":"28956:6:3","nodeType":"VariableDeclaration","scope":12170,"src":"28948:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12125,"name":"uint256","nodeType":"ElementaryTypeName","src":"28948:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12134,"initialValue":{"arguments":[{"id":12129,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"28976:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28989:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12130,"name":"uint256","nodeType":"ElementaryTypeName","src":"28989:7:3","typeDescriptions":{}}}],"id":12132,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28988:9:3","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":12127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28965:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28969:6:3","memberName":"decode","nodeType":"MemberAccess","src":"28965:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28965:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28948:50:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12135,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"29016:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12136,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"29023:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29016:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":12153,"nodeType":"Block","src":"29097:59:3","statements":[{"expression":{"id":12151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12146,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12126,"src":"29115:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12147,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"29126:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12148,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"29133:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29126:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29125:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29115:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12152,"nodeType":"ExpressionStatement","src":"29115:26:3"}]},"id":12154,"nodeType":"IfStatement","src":"29012:144:3","trueBody":{"id":12145,"nodeType":"Block","src":"29032:59:3","statements":[{"expression":{"id":12143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12138,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12126,"src":"29050:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12139,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"29061:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12140,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"29071:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29061:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12142,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29060:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29050:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12144,"nodeType":"ExpressionStatement","src":"29050:26:3"}]}},{"expression":{"arguments":[{"id":12167,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12126,"src":"29235:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":12164,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12058,"src":"29217:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":12161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29196:10:3","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":12158,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12054,"src":"29185:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12155,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"29169:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29178:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"29169:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29169:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29192:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"29169:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29169:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29208:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15398,"src":"29169:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":12165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29169:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29221:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"29169:65:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":12168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29169:73:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12169,"nodeType":"ExpressionStatement","src":"29169:73:3"}]}}]},"id":12173,"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"28198:11:3","nodeType":"FunctionDefinition","parameters":{"id":12063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12054,"mutability":"mutable","name":"token","nameLocation":"28218:5:3","nodeType":"VariableDeclaration","scope":12173,"src":"28210:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12053,"name":"address","nodeType":"ElementaryTypeName","src":"28210:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12056,"mutability":"mutable","name":"to","nameLocation":"28233:2:3","nodeType":"VariableDeclaration","scope":12173,"src":"28225:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12055,"name":"address","nodeType":"ElementaryTypeName","src":"28225:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12058,"mutability":"mutable","name":"id","nameLocation":"28245:2:3","nodeType":"VariableDeclaration","scope":12173,"src":"28237:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12057,"name":"uint256","nodeType":"ElementaryTypeName","src":"28237:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12060,"mutability":"mutable","name":"give","nameLocation":"28257:4:3","nodeType":"VariableDeclaration","scope":12173,"src":"28249:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12059,"name":"uint256","nodeType":"ElementaryTypeName","src":"28249:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12062,"mutability":"mutable","name":"adjust","nameLocation":"28268:6:3","nodeType":"VariableDeclaration","scope":12173,"src":"28263:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12061,"name":"bool","nodeType":"ElementaryTypeName","src":"28263:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28209:66:3"},"returnParameters":{"id":12064,"nodeType":"ParameterList","parameters":[],"src":"28293:0:3"},"scope":12410,"src":"28189:1070:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12301,"nodeType":"Block","src":"29341:1063:3","statements":[{"assignments":[12183,12185],"declarations":[{"constant":false,"id":12183,"mutability":"mutable","name":"successMinted","nameLocation":"29426:13:3","nodeType":"VariableDeclaration","scope":12301,"src":"29421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12182,"name":"bool","nodeType":"ElementaryTypeName","src":"29421:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12185,"mutability":"mutable","name":"ownerData","nameLocation":"29454:9:3","nodeType":"VariableDeclaration","scope":12301,"src":"29441:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12184,"name":"bytes","nodeType":"ElementaryTypeName","src":"29441:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12194,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":12190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29507:10:3","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":12191,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12179,"src":"29519:2:3","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":12188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29484:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29488:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29484:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29484:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12186,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"29467:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29473:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"29467:16:3","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":12193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29467:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29420:103:3"},{"expression":{"arguments":[{"id":12196,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12183,"src":"29541:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":12197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29556:59:3","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":12195,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29533:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29533:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12199,"nodeType":"ExpressionStatement","src":"29533:83:3"},{"assignments":[null,12201],"declarations":[null,{"constant":false,"id":12201,"mutability":"mutable","name":"fromBalData","nameLocation":"29680:11:3","nodeType":"VariableDeclaration","scope":12301,"src":"29667:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12200,"name":"bytes","nodeType":"ElementaryTypeName","src":"29667:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12216,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":12206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29747:10:3","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":12209,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12185,"src":"29770:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29782:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12210,"name":"address","nodeType":"ElementaryTypeName","src":"29782:7:3","typeDescriptions":{}}}],"id":12212,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29781:9:3","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":12207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29759:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29763:6:3","memberName":"decode","nodeType":"MemberAccess","src":"29759:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29759:32:3","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":12204,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29724:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29728:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29724:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29724:68:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12202,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"29707:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29713:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"29707:16:3","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":12215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29707:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29664:129:3"},{"assignments":[12218],"declarations":[{"constant":false,"id":12218,"mutability":"mutable","name":"fromPrevBal","nameLocation":"29811:11:3","nodeType":"VariableDeclaration","scope":12301,"src":"29803:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12217,"name":"uint256","nodeType":"ElementaryTypeName","src":"29803:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12226,"initialValue":{"arguments":[{"id":12221,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12201,"src":"29836:11:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29850:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12222,"name":"uint256","nodeType":"ElementaryTypeName","src":"29850:7:3","typeDescriptions":{}}}],"id":12224,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29849:9:3","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":12219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29825:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29829:6:3","memberName":"decode","nodeType":"MemberAccess","src":"29825:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29825:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29803:56:3"},{"assignments":[null,12228],"declarations":[null,{"constant":false,"id":12228,"mutability":"mutable","name":"toBalData","nameLocation":"29926:9:3","nodeType":"VariableDeclaration","scope":12301,"src":"29913:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12227,"name":"bytes","nodeType":"ElementaryTypeName","src":"29913:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12237,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":12233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29979:10:3","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":12234,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12177,"src":"29991:2:3","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":12231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29956:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29960:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29956:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12229,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"29939:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29945:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"29939:16:3","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":12236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29939:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29910:85:3"},{"assignments":[12239],"declarations":[{"constant":false,"id":12239,"mutability":"mutable","name":"toPrevBal","nameLocation":"30013:9:3","nodeType":"VariableDeclaration","scope":12301,"src":"30005:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12238,"name":"uint256","nodeType":"ElementaryTypeName","src":"30005:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12247,"initialValue":{"arguments":[{"id":12242,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"30036:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30048:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12243,"name":"uint256","nodeType":"ElementaryTypeName","src":"30048:7:3","typeDescriptions":{}}}],"id":12245,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30047:9:3","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":12240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30025:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30029:6:3","memberName":"decode","nodeType":"MemberAccess","src":"30025:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30025:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30005:52:3"},{"expression":{"arguments":[{"id":12267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"30191:13:3","subExpression":{"id":12266,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12218,"src":"30193:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":12259,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12185,"src":"30154:9:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30166:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12260,"name":"address","nodeType":"ElementaryTypeName","src":"30166:7:3","typeDescriptions":{}}}],"id":12262,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30165:9:3","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":12257,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30143:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30147:6:3","memberName":"decode","nodeType":"MemberAccess","src":"30143:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30143:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":12254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30122:10:3","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":12251,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"30111:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12248,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"30095:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30104:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"30095:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30095:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30118:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"30095:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30095:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30134:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15380,"src":"30095:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30095:81:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30177:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"30095:95:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":12268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30095:110:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12269,"nodeType":"ExpressionStatement","src":"30095:110:3"},{"expression":{"arguments":[{"id":12283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"30281:11:3","subExpression":{"id":12282,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"30283:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":12279,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12177,"src":"30263:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":12276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30242:10:3","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":12273,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"30231:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12270,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"30215:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30224:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"30215:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30215:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30238:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"30215:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30215:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30254:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15380,"src":"30215:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30215:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30267:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15520,"src":"30215:65:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":12284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30215:78:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12285,"nodeType":"ExpressionStatement","src":"30215:78:3"},{"expression":{"arguments":[{"id":12298,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12177,"src":"30394:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":12295,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12179,"src":"30376:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":12292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30355:10:3","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":12289,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"30344:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12286,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11626,"src":"30328:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage","typeString":"struct StdStorage storage ref"}},"id":12288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30337:6:3","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":15326,"src":"30328:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":12290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30328:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30351:3:3","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":15344,"src":"30328:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":12293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30328:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30367:8:3","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":15398,"src":"30328:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":12296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30328:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":12297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30380:13:3","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":15503,"src":"30328:65:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":12299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30328:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12300,"nodeType":"ExpressionStatement","src":"30328:69:3"}]},"id":12302,"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"29274:10:3","nodeType":"FunctionDefinition","parameters":{"id":12180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12175,"mutability":"mutable","name":"token","nameLocation":"29293:5:3","nodeType":"VariableDeclaration","scope":12302,"src":"29285:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12174,"name":"address","nodeType":"ElementaryTypeName","src":"29285:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12177,"mutability":"mutable","name":"to","nameLocation":"29308:2:3","nodeType":"VariableDeclaration","scope":12302,"src":"29300:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12176,"name":"address","nodeType":"ElementaryTypeName","src":"29300:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12179,"mutability":"mutable","name":"id","nameLocation":"29320:2:3","nodeType":"VariableDeclaration","scope":12302,"src":"29312:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12178,"name":"uint256","nodeType":"ElementaryTypeName","src":"29312:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29284:39:3"},"returnParameters":{"id":12181,"nodeType":"ParameterList","parameters":[],"src":"29341:0:3"},"scope":12410,"src":"29265:1139:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12316,"nodeType":"Block","src":"30484:49:3","statements":[{"expression":{"arguments":[{"id":12310,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12304,"src":"30507:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":12311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30513:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":12312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30517:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":12313,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12306,"src":"30520:5:3","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":12309,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[12317,12334,12387],"referencedDeclaration":12387,"src":"30494:12:3","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":12314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30494:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12315,"nodeType":"ExpressionStatement","src":"30494:32:3"}]},"id":12317,"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30419:12:3","nodeType":"FunctionDefinition","parameters":{"id":12307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12304,"mutability":"mutable","name":"what","nameLocation":"30446:4:3","nodeType":"VariableDeclaration","scope":12317,"src":"30432:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12303,"name":"string","nodeType":"ElementaryTypeName","src":"30432:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12306,"mutability":"mutable","name":"where","nameLocation":"30460:5:3","nodeType":"VariableDeclaration","scope":12317,"src":"30452:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12305,"name":"address","nodeType":"ElementaryTypeName","src":"30452:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30431:35:3"},"returnParameters":{"id":12308,"nodeType":"ParameterList","parameters":[],"src":"30484:0:3"},"scope":12410,"src":"30410:123:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12333,"nodeType":"Block","src":"30632:51:3","statements":[{"expression":{"arguments":[{"id":12327,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12319,"src":"30655:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12328,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12321,"src":"30661:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":12329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30667:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":12330,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12323,"src":"30670:5:3","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":12326,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[12317,12334,12387],"referencedDeclaration":12387,"src":"30642:12:3","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":12331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30642:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12332,"nodeType":"ExpressionStatement","src":"30642:34:3"}]},"id":12334,"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30548:12:3","nodeType":"FunctionDefinition","parameters":{"id":12324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12319,"mutability":"mutable","name":"what","nameLocation":"30575:4:3","nodeType":"VariableDeclaration","scope":12334,"src":"30561:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12318,"name":"string","nodeType":"ElementaryTypeName","src":"30561:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12321,"mutability":"mutable","name":"args","nameLocation":"30594:4:3","nodeType":"VariableDeclaration","scope":12334,"src":"30581:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12320,"name":"bytes","nodeType":"ElementaryTypeName","src":"30581:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12323,"mutability":"mutable","name":"where","nameLocation":"30608:5:3","nodeType":"VariableDeclaration","scope":12334,"src":"30600:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12322,"name":"address","nodeType":"ElementaryTypeName","src":"30600:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30560:54:3"},"returnParameters":{"id":12325,"nodeType":"ParameterList","parameters":[],"src":"30632:0:3"},"scope":12410,"src":"30539:144:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12386,"nodeType":"Block","src":"30797:367:3","statements":[{"assignments":[12346],"declarations":[{"constant":false,"id":12346,"mutability":"mutable","name":"creationCode","nameLocation":"30820:12:3","nodeType":"VariableDeclaration","scope":12386,"src":"30807:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12345,"name":"bytes","nodeType":"ElementaryTypeName","src":"30807:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12351,"initialValue":{"arguments":[{"id":12349,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12336,"src":"30846:4:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"30835:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":12348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30838:7:3","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":19850,"src":"30835:10:3","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":12350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30835:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"30807:44:3"},{"expression":{"arguments":[{"id":12355,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12342,"src":"30869:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":12358,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12346,"src":"30893:12:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12359,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12338,"src":"30907:4:3","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":12356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30876:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30880:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"30876:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30876:36:3","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":12352,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"30861:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":12354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30864:4:3","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":22536,"src":"30861:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":12361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30861:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12362,"nodeType":"ExpressionStatement","src":"30861:52:3"},{"assignments":[12364,12366],"declarations":[{"constant":false,"id":12364,"mutability":"mutable","name":"success","nameLocation":"30929:7:3","nodeType":"VariableDeclaration","scope":12386,"src":"30924:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12363,"name":"bool","nodeType":"ElementaryTypeName","src":"30924:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12366,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"30951:15:3","nodeType":"VariableDeclaration","scope":12386,"src":"30938:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12365,"name":"bytes","nodeType":"ElementaryTypeName","src":"30938:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12373,"initialValue":{"arguments":[{"hexValue":"","id":12371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30995:2:3","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":12367,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12342,"src":"30970:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30976:4:3","memberName":"call","nodeType":"MemberAccess","src":"30970:10:3","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":12370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":12369,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12340,"src":"30988:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"30970:24:3","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":12372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30970:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"30923:75:3"},{"expression":{"arguments":[{"id":12375,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12364,"src":"31016:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f6465546f28737472696e672c62797465732c75696e743235362c61646472657373293a204661696c656420746f206372656174652072756e74696d652062797465636f64652e","id":12376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31025:90:3","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":12374,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31008:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31008:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12378,"nodeType":"ExpressionStatement","src":"31008:108:3"},{"expression":{"arguments":[{"id":12382,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12342,"src":"31134:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12383,"name":"runtimeBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12366,"src":"31141:15:3","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":12379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"31126:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":12381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31129:4:3","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":22536,"src":"31126:7:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":12384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31126:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12385,"nodeType":"ExpressionStatement","src":"31126:31:3"}]},"id":12387,"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30698:12:3","nodeType":"FunctionDefinition","parameters":{"id":12343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12336,"mutability":"mutable","name":"what","nameLocation":"30725:4:3","nodeType":"VariableDeclaration","scope":12387,"src":"30711:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12335,"name":"string","nodeType":"ElementaryTypeName","src":"30711:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12338,"mutability":"mutable","name":"args","nameLocation":"30744:4:3","nodeType":"VariableDeclaration","scope":12387,"src":"30731:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12337,"name":"bytes","nodeType":"ElementaryTypeName","src":"30731:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12340,"mutability":"mutable","name":"value","nameLocation":"30758:5:3","nodeType":"VariableDeclaration","scope":12387,"src":"30750:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12339,"name":"uint256","nodeType":"ElementaryTypeName","src":"30750:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12342,"mutability":"mutable","name":"where","nameLocation":"30773:5:3","nodeType":"VariableDeclaration","scope":12387,"src":"30765:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12341,"name":"address","nodeType":"ElementaryTypeName","src":"30765:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30710:69:3"},"returnParameters":{"id":12344,"nodeType":"ParameterList","parameters":[],"src":"30797:0:3"},"scope":12410,"src":"30689:475:3","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12408,"nodeType":"Block","src":"31356:130:3","statements":[{"assignments":[12393,null],"declarations":[{"constant":false,"id":12393,"mutability":"mutable","name":"status","nameLocation":"31372:6:3","nodeType":"VariableDeclaration","scope":12408,"src":"31367:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12392,"name":"bool","nodeType":"ElementaryTypeName","src":"31367:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":12405,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31444:13:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12402,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12389,"src":"31459:2:3","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":12399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31420:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31424:19:3","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31420: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":12403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31420:42:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":12396,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11646,"src":"31391:16:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31383:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12394,"name":"address","nodeType":"ElementaryTypeName","src":"31383:7:3","typeDescriptions":{}}},"id":12397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31383:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31409:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"31383:36:3","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":12404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31383:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31366:97:3"},{"expression":{"id":12406,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12393,"src":"31473:6:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12407,"nodeType":"ExpressionStatement","src":"31473:6:3"}]},"id":12409,"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdCheats","nameLocation":"31302:22:3","nodeType":"FunctionDefinition","parameters":{"id":12390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12389,"mutability":"mutable","name":"p0","nameLocation":"31339:2:3","nodeType":"VariableDeclaration","scope":12409,"src":"31325:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12388,"name":"string","nodeType":"ElementaryTypeName","src":"31325:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31324:18:3"},"returnParameters":{"id":12391,"nodeType":"ParameterList","parameters":[],"src":"31356:0:3"},"scope":12410,"src":"31293:193:3","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":12411,"src":"24244:7244:3","usedErrors":[],"usedEvents":[]}],"src":"32:31457:3"},"id":3},"v4-core/lib/forge-std/src/StdError.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdError.sol","exportedSymbols":{"stdError":[12476]},"id":12477,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12412,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"129:31:4"},{"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":12476,"linearizedBaseContracts":[12476],"name":"stdError","nameLocation":"170:8:4","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"10332977","id":12419,"mutability":"constant","name":"assertionError","nameLocation":"207:14:4","nodeType":"VariableDeclaration","scope":12476,"src":"185:86:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12413,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":12417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:4","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":12414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224: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":12418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"8995290f","id":12426,"mutability":"constant","name":"arithmeticError","nameLocation":"299:15:4","nodeType":"VariableDeclaration","scope":12476,"src":"277:87:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12420,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":12424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:4","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":12421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317: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":12425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"fa784a44","id":12433,"mutability":"constant","name":"divisionError","nameLocation":"392:13:4","nodeType":"VariableDeclaration","scope":12476,"src":"370:85:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12427,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":12431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:4","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":12428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408: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":12432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"1de45560","id":12440,"mutability":"constant","name":"enumConversionError","nameLocation":"483:19:4","nodeType":"VariableDeclaration","scope":12476,"src":"461:91:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12434,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":12438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:4","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":12435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505: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":12439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"d160e4de","id":12447,"mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:4","nodeType":"VariableDeclaration","scope":12476,"src":"558:90:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12441,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":12445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:4","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":12442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601: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":12446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"b22dc54d","id":12454,"mutability":"constant","name":"popError","nameLocation":"676:8:4","nodeType":"VariableDeclaration","scope":12476,"src":"654:80:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12448,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":12452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:4","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":12449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687: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":12453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"05ee8612","id":12461,"mutability":"constant","name":"indexOOBError","nameLocation":"762:13:4","nodeType":"VariableDeclaration","scope":12476,"src":"740:85:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12455,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":12459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:4","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":12456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778: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":12460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"986c5f68","id":12468,"mutability":"constant","name":"memOverflowError","nameLocation":"853:16:4","nodeType":"VariableDeclaration","scope":12476,"src":"831:88:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12462,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":12466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:4","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":12463,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872: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":12467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"constant":true,"functionSelector":"b67689da","id":12475,"mutability":"constant","name":"zeroVarError","nameLocation":"947:12:4","nodeType":"VariableDeclaration","scope":12476,"src":"925:84:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12469,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":12472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":12473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:4","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":12470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962: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":12474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"scope":12477,"src":"162:850:4","usedErrors":[],"usedEvents":[]}],"src":"129:884:4"},"id":4},"v4-core/lib/forge-std/src/StdInvariant.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdInvariant.sol","exportedSymbols":{"StdInvariant":[12770]},"id":12771,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12478,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:5"},{"id":12479,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:5"},{"abstract":true,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12770,"linearizedBaseContracts":[12770],"name":"StdInvariant","nameLocation":"118:12:5","nodeType":"ContractDefinition","nodes":[{"canonicalName":"StdInvariant.FuzzSelector","id":12485,"members":[{"constant":false,"id":12481,"mutability":"mutable","name":"addr","nameLocation":"175:4:5","nodeType":"VariableDeclaration","scope":12485,"src":"167:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12480,"name":"address","nodeType":"ElementaryTypeName","src":"167:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12484,"mutability":"mutable","name":"selectors","nameLocation":"198:9:5","nodeType":"VariableDeclaration","scope":12485,"src":"189:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":12482,"name":"bytes4","nodeType":"ElementaryTypeName","src":"189:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":12483,"nodeType":"ArrayTypeName","src":"189:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"144:12:5","nodeType":"StructDefinition","scope":12770,"src":"137:77:5","visibility":"public"},{"canonicalName":"StdInvariant.FuzzArtifactSelector","id":12491,"members":[{"constant":false,"id":12487,"mutability":"mutable","name":"artifact","nameLocation":"265:8:5","nodeType":"VariableDeclaration","scope":12491,"src":"258:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12486,"name":"string","nodeType":"ElementaryTypeName","src":"258:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12490,"mutability":"mutable","name":"selectors","nameLocation":"292:9:5","nodeType":"VariableDeclaration","scope":12491,"src":"283:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":12488,"name":"bytes4","nodeType":"ElementaryTypeName","src":"283:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":12489,"nodeType":"ArrayTypeName","src":"283:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzArtifactSelector","nameLocation":"227:20:5","nodeType":"StructDefinition","scope":12770,"src":"220:88:5","visibility":"public"},{"canonicalName":"StdInvariant.FuzzInterface","id":12497,"members":[{"constant":false,"id":12493,"mutability":"mutable","name":"addr","nameLocation":"353:4:5","nodeType":"VariableDeclaration","scope":12497,"src":"345:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12492,"name":"address","nodeType":"ElementaryTypeName","src":"345:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12496,"mutability":"mutable","name":"artifacts","nameLocation":"376:9:5","nodeType":"VariableDeclaration","scope":12497,"src":"367:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12494,"name":"string","nodeType":"ElementaryTypeName","src":"367:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12495,"nodeType":"ArrayTypeName","src":"367:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"name":"FuzzInterface","nameLocation":"321:13:5","nodeType":"StructDefinition","scope":12770,"src":"314:78:5","visibility":"public"},{"constant":false,"id":12500,"mutability":"mutable","name":"_excludedContracts","nameLocation":"416:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"398:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":12498,"name":"address","nodeType":"ElementaryTypeName","src":"398:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12499,"nodeType":"ArrayTypeName","src":"398:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":12503,"mutability":"mutable","name":"_excludedSenders","nameLocation":"458:16:5","nodeType":"VariableDeclaration","scope":12770,"src":"440:34:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":12501,"name":"address","nodeType":"ElementaryTypeName","src":"440:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12502,"nodeType":"ArrayTypeName","src":"440:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":12506,"mutability":"mutable","name":"_targetedContracts","nameLocation":"498:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"480:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":12504,"name":"address","nodeType":"ElementaryTypeName","src":"480:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12505,"nodeType":"ArrayTypeName","src":"480:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":12509,"mutability":"mutable","name":"_targetedSenders","nameLocation":"540:16:5","nodeType":"VariableDeclaration","scope":12770,"src":"522:34:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":12507,"name":"address","nodeType":"ElementaryTypeName","src":"522:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12508,"nodeType":"ArrayTypeName","src":"522:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"constant":false,"id":12512,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"580:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"563:35:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":12510,"name":"string","nodeType":"ElementaryTypeName","src":"563:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12511,"nodeType":"ArrayTypeName","src":"563:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"constant":false,"id":12515,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"621:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"604:35:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":12513,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12514,"nodeType":"ArrayTypeName","src":"604:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"constant":false,"id":12519,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"677:26:5","nodeType":"VariableDeclaration","scope":12770,"src":"646:57:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":12517,"nodeType":"UserDefinedTypeName","pathNode":{"id":12516,"name":"FuzzArtifactSelector","nameLocations":["646:20:5"],"nodeType":"IdentifierPath","referencedDeclaration":12491,"src":"646:20:5"},"referencedDeclaration":12491,"src":"646:20:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":12518,"nodeType":"ArrayTypeName","src":"646:22:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"private"},{"constant":false,"id":12523,"mutability":"mutable","name":"_excludedSelectors","nameLocation":"733:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"710:41:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":12521,"nodeType":"UserDefinedTypeName","pathNode":{"id":12520,"name":"FuzzSelector","nameLocations":["710:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"710:12:5"},"referencedDeclaration":12485,"src":"710:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":12522,"nodeType":"ArrayTypeName","src":"710:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"constant":false,"id":12527,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"780:18:5","nodeType":"VariableDeclaration","scope":12770,"src":"757:41:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":12525,"nodeType":"UserDefinedTypeName","pathNode":{"id":12524,"name":"FuzzSelector","nameLocations":["757:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"757:12:5"},"referencedDeclaration":12485,"src":"757:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":12526,"nodeType":"ArrayTypeName","src":"757:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"constant":false,"id":12531,"mutability":"mutable","name":"_targetedInterfaces","nameLocation":"829:19:5","nodeType":"VariableDeclaration","scope":12770,"src":"805:43:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":12529,"nodeType":"UserDefinedTypeName","pathNode":{"id":12528,"name":"FuzzInterface","nameLocations":["805:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":12497,"src":"805:13:5"},"referencedDeclaration":12497,"src":"805:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$12497_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":12530,"nodeType":"ArrayTypeName","src":"805:15:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"private"},{"body":{"id":12542,"nodeType":"Block","src":"997:62:5","statements":[{"expression":{"arguments":[{"id":12539,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12533,"src":"1031:20:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12536,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12500,"src":"1007:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":12538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1026:4:5","memberName":"push","nodeType":"MemberAccess","src":"1007:23:5","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":12540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1007:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12541,"nodeType":"ExpressionStatement","src":"1007:45:5"}]},"id":12543,"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"942:15:5","nodeType":"FunctionDefinition","parameters":{"id":12534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12533,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"966:20:5","nodeType":"VariableDeclaration","scope":12543,"src":"958:28:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12532,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"957:30:5"},"returnParameters":{"id":12535,"nodeType":"ParameterList","parameters":[],"src":"997:0:5"},"scope":12770,"src":"933:126:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12555,"nodeType":"Block","src":"1141:62:5","statements":[{"expression":{"arguments":[{"id":12552,"name":"newExcludedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12546,"src":"1175:20:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":12549,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12523,"src":"1151:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":12551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1170:4:5","memberName":"push","nodeType":"MemberAccess","src":"1151:23:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$12485_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":12553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1151:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12554,"nodeType":"ExpressionStatement","src":"1151:45:5"}]},"id":12556,"implemented":true,"kind":"function","modifiers":[],"name":"excludeSelector","nameLocation":"1074:15:5","nodeType":"FunctionDefinition","parameters":{"id":12547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12546,"mutability":"mutable","name":"newExcludedSelector_","nameLocation":"1110:20:5","nodeType":"VariableDeclaration","scope":12556,"src":"1090:40:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":12545,"nodeType":"UserDefinedTypeName","pathNode":{"id":12544,"name":"FuzzSelector","nameLocations":["1090:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"1090:12:5"},"referencedDeclaration":12485,"src":"1090:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1089:42:5"},"returnParameters":{"id":12548,"nodeType":"ParameterList","parameters":[],"src":"1141:0:5"},"scope":12770,"src":"1065:138:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12567,"nodeType":"Block","src":"1269:58:5","statements":[{"expression":{"arguments":[{"id":12564,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12558,"src":"1301:18:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12561,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12503,"src":"1279:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":12563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1296:4:5","memberName":"push","nodeType":"MemberAccess","src":"1279:21:5","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":12565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12566,"nodeType":"ExpressionStatement","src":"1279:41:5"}]},"id":12568,"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"1218:13:5","nodeType":"FunctionDefinition","parameters":{"id":12559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12558,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"1240:18:5","nodeType":"VariableDeclaration","scope":12568,"src":"1232:26:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12557,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1231:28:5"},"returnParameters":{"id":12560,"nodeType":"ParameterList","parameters":[],"src":"1269:0:5"},"scope":12770,"src":"1209:118:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12579,"nodeType":"Block","src":"1403:62:5","statements":[{"expression":{"arguments":[{"id":12576,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12570,"src":"1437:20:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12573,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12512,"src":"1413:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":12575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1432:4:5","memberName":"push","nodeType":"MemberAccess","src":"1413:23:5","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":12577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12578,"nodeType":"ExpressionStatement","src":"1413:45:5"}]},"id":12580,"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"1342:15:5","nodeType":"FunctionDefinition","parameters":{"id":12571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12570,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"1372:20:5","nodeType":"VariableDeclaration","scope":12580,"src":"1358:34:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12569,"name":"string","nodeType":"ElementaryTypeName","src":"1358:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1357:36:5"},"returnParameters":{"id":12572,"nodeType":"ParameterList","parameters":[],"src":"1403:0:5"},"scope":12770,"src":"1333:132:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12591,"nodeType":"Block","src":"1540:62:5","statements":[{"expression":{"arguments":[{"id":12588,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12582,"src":"1574:20:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12585,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12515,"src":"1550:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":12587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1569:4:5","memberName":"push","nodeType":"MemberAccess","src":"1550:23:5","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":12589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12590,"nodeType":"ExpressionStatement","src":"1550:45:5"}]},"id":12592,"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1480:14:5","nodeType":"FunctionDefinition","parameters":{"id":12583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12582,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1509:20:5","nodeType":"VariableDeclaration","scope":12592,"src":"1495:34:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12581,"name":"string","nodeType":"ElementaryTypeName","src":"1495:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1494:36:5"},"returnParameters":{"id":12584,"nodeType":"ParameterList","parameters":[],"src":"1540:0:5"},"scope":12770,"src":"1471:131:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12604,"nodeType":"Block","src":"1707:78:5","statements":[{"expression":{"arguments":[{"id":12601,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12595,"src":"1749:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}],"expression":{"id":12598,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12519,"src":"1717:26:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"id":12600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1744:4:5","memberName":"push","nodeType":"MemberAccess","src":"1717:31:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage_ptr_$_t_struct$_FuzzArtifactSelector_$12491_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzArtifactSelector storage ref[] storage pointer,struct StdInvariant.FuzzArtifactSelector storage ref)"}},"id":12602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:61:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12603,"nodeType":"ExpressionStatement","src":"1717:61:5"}]},"id":12605,"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1617:22:5","nodeType":"FunctionDefinition","parameters":{"id":12596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12595,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1668:28:5","nodeType":"VariableDeclaration","scope":12605,"src":"1640:56:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"},"typeName":{"id":12594,"nodeType":"UserDefinedTypeName","pathNode":{"id":12593,"name":"FuzzArtifactSelector","nameLocations":["1640:20:5"],"nodeType":"IdentifierPath","referencedDeclaration":12491,"src":"1640:20:5"},"referencedDeclaration":12491,"src":"1640:20:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"visibility":"internal"}],"src":"1639:58:5"},"returnParameters":{"id":12597,"nodeType":"ParameterList","parameters":[],"src":"1707:0:5"},"scope":12770,"src":"1608:177:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12616,"nodeType":"Block","src":"1854:62:5","statements":[{"expression":{"arguments":[{"id":12613,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12607,"src":"1888:20:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12610,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12506,"src":"1864:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":12612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1883:4:5","memberName":"push","nodeType":"MemberAccess","src":"1864:23:5","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":12614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1864:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12615,"nodeType":"ExpressionStatement","src":"1864:45:5"}]},"id":12617,"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1800:14:5","nodeType":"FunctionDefinition","parameters":{"id":12608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12607,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1823:20:5","nodeType":"VariableDeclaration","scope":12617,"src":"1815:28:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12606,"name":"address","nodeType":"ElementaryTypeName","src":"1815:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1814:30:5"},"returnParameters":{"id":12609,"nodeType":"ParameterList","parameters":[],"src":"1854:0:5"},"scope":12770,"src":"1791:125:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12629,"nodeType":"Block","src":"1997:62:5","statements":[{"expression":{"arguments":[{"id":12626,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"2031:20:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":12623,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12527,"src":"2007:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":12625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2026:4:5","memberName":"push","nodeType":"MemberAccess","src":"2007:23:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$12485_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":12627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2007:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12628,"nodeType":"ExpressionStatement","src":"2007:45:5"}]},"id":12630,"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1931:14:5","nodeType":"FunctionDefinition","parameters":{"id":12621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12620,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1966:20:5","nodeType":"VariableDeclaration","scope":12630,"src":"1946:40:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":12619,"nodeType":"UserDefinedTypeName","pathNode":{"id":12618,"name":"FuzzSelector","nameLocations":["1946:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"1946:12:5"},"referencedDeclaration":12485,"src":"1946:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1945:42:5"},"returnParameters":{"id":12622,"nodeType":"ParameterList","parameters":[],"src":"1997:0:5"},"scope":12770,"src":"1922:137:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12641,"nodeType":"Block","src":"2124:58:5","statements":[{"expression":{"arguments":[{"id":12638,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12632,"src":"2156:18:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12635,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12509,"src":"2134:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":12637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2151:4:5","memberName":"push","nodeType":"MemberAccess","src":"2134:21:5","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":12639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12640,"nodeType":"ExpressionStatement","src":"2134:41:5"}]},"id":12642,"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"2074:12:5","nodeType":"FunctionDefinition","parameters":{"id":12633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12632,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"2095:18:5","nodeType":"VariableDeclaration","scope":12642,"src":"2087:26:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12631,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2086:28:5"},"returnParameters":{"id":12634,"nodeType":"ParameterList","parameters":[],"src":"2124:0:5"},"scope":12770,"src":"2065:117:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12654,"nodeType":"Block","src":"2266:64:5","statements":[{"expression":{"arguments":[{"id":12651,"name":"newTargetedInterface_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12645,"src":"2301:21:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$12497_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzInterface_$12497_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}],"expression":{"id":12648,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12531,"src":"2276:19:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"id":12650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2296:4:5","memberName":"push","nodeType":"MemberAccess","src":"2276:24:5","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage_ptr_$_t_struct$_FuzzInterface_$12497_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzInterface storage ref[] storage pointer,struct StdInvariant.FuzzInterface storage ref)"}},"id":12652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12653,"nodeType":"ExpressionStatement","src":"2276:47:5"}]},"id":12655,"implemented":true,"kind":"function","modifiers":[],"name":"targetInterface","nameLocation":"2197:15:5","nodeType":"FunctionDefinition","parameters":{"id":12646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12645,"mutability":"mutable","name":"newTargetedInterface_","nameLocation":"2234:21:5","nodeType":"VariableDeclaration","scope":12655,"src":"2213:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$12497_memory_ptr","typeString":"struct StdInvariant.FuzzInterface"},"typeName":{"id":12644,"nodeType":"UserDefinedTypeName","pathNode":{"id":12643,"name":"FuzzInterface","nameLocations":["2213:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":12497,"src":"2213:13:5"},"referencedDeclaration":12497,"src":"2213:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$12497_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"visibility":"internal"}],"src":"2212:44:5"},"returnParameters":{"id":12647,"nodeType":"ParameterList","parameters":[],"src":"2266:0:5"},"scope":12770,"src":"2188:142:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12665,"nodeType":"Block","src":"2544:56:5","statements":[{"expression":{"id":12663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12661,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12659,"src":"2554:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12662,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12512,"src":"2575:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2554:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":12664,"nodeType":"ExpressionStatement","src":"2554:39:5"}]},"functionSelector":"b5508aa9","id":12666,"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"2468:16:5","nodeType":"FunctionDefinition","parameters":{"id":12656,"nodeType":"ParameterList","parameters":[],"src":"2484:2:5"},"returnParameters":{"id":12660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12659,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"2524:18:5","nodeType":"VariableDeclaration","scope":12666,"src":"2508:34:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12657,"name":"string","nodeType":"ElementaryTypeName","src":"2508:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12658,"nodeType":"ArrayTypeName","src":"2508:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2507:36:5"},"scope":12770,"src":"2459:141:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12676,"nodeType":"Block","src":"2692:56:5","statements":[{"expression":{"id":12674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12672,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12670,"src":"2702:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12673,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12500,"src":"2723:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2702:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12675,"nodeType":"ExpressionStatement","src":"2702:39:5"}]},"functionSelector":"e20c9f71","id":12677,"implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2615:16:5","nodeType":"FunctionDefinition","parameters":{"id":12667,"nodeType":"ParameterList","parameters":[],"src":"2631:2:5"},"returnParameters":{"id":12671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12670,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2672:18:5","nodeType":"VariableDeclaration","scope":12677,"src":"2655:35:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12668,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12669,"nodeType":"ArrayTypeName","src":"2655:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2654:37:5"},"scope":12770,"src":"2606:142:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12688,"nodeType":"Block","src":"2845:56:5","statements":[{"expression":{"id":12686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12684,"name":"excludedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12682,"src":"2855:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12685,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12523,"src":"2876:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2855:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":12687,"nodeType":"ExpressionStatement","src":"2855:39:5"}]},"functionSelector":"b0464fdc","id":12689,"implemented":true,"kind":"function","modifiers":[],"name":"excludeSelectors","nameLocation":"2763:16:5","nodeType":"FunctionDefinition","parameters":{"id":12678,"nodeType":"ParameterList","parameters":[],"src":"2779:2:5"},"returnParameters":{"id":12683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12682,"mutability":"mutable","name":"excludedSelectors_","nameLocation":"2825:18:5","nodeType":"VariableDeclaration","scope":12689,"src":"2803:40:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":12680,"nodeType":"UserDefinedTypeName","pathNode":{"id":12679,"name":"FuzzSelector","nameLocations":["2803:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"2803:12:5"},"referencedDeclaration":12485,"src":"2803:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":12681,"nodeType":"ArrayTypeName","src":"2803:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2802:42:5"},"scope":12770,"src":"2754:147:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12699,"nodeType":"Block","src":"2989:52:5","statements":[{"expression":{"id":12697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12695,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12693,"src":"2999:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12696,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12503,"src":"3018:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2999:35:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12698,"nodeType":"ExpressionStatement","src":"2999:35:5"}]},"functionSelector":"1ed7831c","id":12700,"implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2916:14:5","nodeType":"FunctionDefinition","parameters":{"id":12690,"nodeType":"ParameterList","parameters":[],"src":"2930:2:5"},"returnParameters":{"id":12694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12693,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2971:16:5","nodeType":"VariableDeclaration","scope":12700,"src":"2954:33:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12691,"name":"address","nodeType":"ElementaryTypeName","src":"2954:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12692,"nodeType":"ArrayTypeName","src":"2954:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2953:35:5"},"scope":12770,"src":"2907:134:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12710,"nodeType":"Block","src":"3131:56:5","statements":[{"expression":{"id":12708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12706,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12704,"src":"3141:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12707,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12515,"src":"3162:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"3141:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":12709,"nodeType":"ExpressionStatement","src":"3141:39:5"}]},"functionSelector":"85226c81","id":12711,"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"3056:15:5","nodeType":"FunctionDefinition","parameters":{"id":12701,"nodeType":"ParameterList","parameters":[],"src":"3071:2:5"},"returnParameters":{"id":12705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12704,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"3111:18:5","nodeType":"VariableDeclaration","scope":12711,"src":"3095:34:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12702,"name":"string","nodeType":"ElementaryTypeName","src":"3095:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12703,"nodeType":"ArrayTypeName","src":"3095:8:5","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3094:36:5"},"scope":12770,"src":"3047:140:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12722,"nodeType":"Block","src":"3307:72:5","statements":[{"expression":{"id":12720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12718,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12716,"src":"3317:26:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12719,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12519,"src":"3346:26:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"src":"3317:55:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"id":12721,"nodeType":"ExpressionStatement","src":"3317:55:5"}]},"functionSelector":"66d9a9a0","id":12723,"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"3202:23:5","nodeType":"FunctionDefinition","parameters":{"id":12712,"nodeType":"ParameterList","parameters":[],"src":"3225:2:5"},"returnParameters":{"id":12717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12716,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"3279:26:5","nodeType":"VariableDeclaration","scope":12723,"src":"3249:56:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":12714,"nodeType":"UserDefinedTypeName","pathNode":{"id":12713,"name":"FuzzArtifactSelector","nameLocations":["3249:20:5"],"nodeType":"IdentifierPath","referencedDeclaration":12491,"src":"3249:20:5"},"referencedDeclaration":12491,"src":"3249:20:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$12491_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":12715,"nodeType":"ArrayTypeName","src":"3249:22:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$12491_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"internal"}],"src":"3248:58:5"},"scope":12770,"src":"3193:186:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12733,"nodeType":"Block","src":"3470:56:5","statements":[{"expression":{"id":12731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12729,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12727,"src":"3480:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12730,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12506,"src":"3501:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3480:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12732,"nodeType":"ExpressionStatement","src":"3480:39:5"}]},"functionSelector":"3f7286f4","id":12734,"implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"3394:15:5","nodeType":"FunctionDefinition","parameters":{"id":12724,"nodeType":"ParameterList","parameters":[],"src":"3409:2:5"},"returnParameters":{"id":12728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12727,"mutability":"mutable","name":"targetedContracts_","nameLocation":"3450:18:5","nodeType":"VariableDeclaration","scope":12734,"src":"3433:35:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12725,"name":"address","nodeType":"ElementaryTypeName","src":"3433:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12726,"nodeType":"ArrayTypeName","src":"3433:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3432:37:5"},"scope":12770,"src":"3385:141:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12745,"nodeType":"Block","src":"3622:56:5","statements":[{"expression":{"id":12743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12741,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12739,"src":"3632:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12742,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12527,"src":"3653:18:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"3632:39:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":12744,"nodeType":"ExpressionStatement","src":"3632:39:5"}]},"functionSelector":"916a17c6","id":12746,"implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"3541:15:5","nodeType":"FunctionDefinition","parameters":{"id":12735,"nodeType":"ParameterList","parameters":[],"src":"3556:2:5"},"returnParameters":{"id":12740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12739,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"3602:18:5","nodeType":"VariableDeclaration","scope":12746,"src":"3580:40:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":12737,"nodeType":"UserDefinedTypeName","pathNode":{"id":12736,"name":"FuzzSelector","nameLocations":["3580:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":12485,"src":"3580:12:5"},"referencedDeclaration":12485,"src":"3580:12:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$12485_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":12738,"nodeType":"ArrayTypeName","src":"3580:14:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$12485_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"3579:42:5"},"scope":12770,"src":"3532:146:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12756,"nodeType":"Block","src":"3765:52:5","statements":[{"expression":{"id":12754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12752,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12750,"src":"3775:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12753,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12509,"src":"3794:16:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3775:35:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12755,"nodeType":"ExpressionStatement","src":"3775:35:5"}]},"functionSelector":"3e5e3c23","id":12757,"implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"3693:13:5","nodeType":"FunctionDefinition","parameters":{"id":12747,"nodeType":"ParameterList","parameters":[],"src":"3706:2:5"},"returnParameters":{"id":12751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12750,"mutability":"mutable","name":"targetedSenders_","nameLocation":"3747:16:5","nodeType":"VariableDeclaration","scope":12757,"src":"3730:33:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12748,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12749,"nodeType":"ArrayTypeName","src":"3730:9:5","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3729:35:5"},"scope":12770,"src":"3684:133:5","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12768,"nodeType":"Block","src":"3916:58:5","statements":[{"expression":{"id":12766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12764,"name":"targetedInterfaces_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12762,"src":"3926:19:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12765,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12531,"src":"3948:19:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"src":"3926:41:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"id":12767,"nodeType":"ExpressionStatement","src":"3926:41:5"}]},"functionSelector":"2ade3880","id":12769,"implemented":true,"kind":"function","modifiers":[],"name":"targetInterfaces","nameLocation":"3832:16:5","nodeType":"FunctionDefinition","parameters":{"id":12758,"nodeType":"ParameterList","parameters":[],"src":"3848:2:5"},"returnParameters":{"id":12763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12762,"mutability":"mutable","name":"targetedInterfaces_","nameLocation":"3895:19:5","nodeType":"VariableDeclaration","scope":12769,"src":"3872:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":12760,"nodeType":"UserDefinedTypeName","pathNode":{"id":12759,"name":"FuzzInterface","nameLocations":["3872:13:5"],"nodeType":"IdentifierPath","referencedDeclaration":12497,"src":"3872:13:5"},"referencedDeclaration":12497,"src":"3872:13:5","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$12497_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":12761,"nodeType":"ArrayTypeName","src":"3872:15:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$12497_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"internal"}],"src":"3871:44:5"},"scope":12770,"src":"3823:151:5","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":12771,"src":"100:3876:5","usedErrors":[],"usedEvents":[]}],"src":"32:3945:5"},"id":5},"v4-core/lib/forge-std/src/StdJson.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdJson.sol","exportedSymbols":{"VmSafe":[22388],"stdJson":[13714]},"id":13715,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":12772,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:6"},{"id":12773,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:6"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":12775,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":13715,"sourceUnit":23232,"src":"100:32:6","symbolAliases":[{"foreign":{"id":12774,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"108:6:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":13714,"linearizedBaseContracts":[13714],"name":"stdJson","nameLocation":"618:7:6","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":12792,"mutability":"constant","name":"vm","nameLocation":"656:2:6","nodeType":"VariableDeclaration","scope":13714,"src":"632:92:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":12777,"nodeType":"UserDefinedTypeName","pathNode":{"id":12776,"name":"VmSafe","nameLocations":["632:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"632:6:6"},"referencedDeclaration":22388,"src":"632:6:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":12786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:6","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":12785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12783,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:6","typeDescriptions":{}}},"id":12788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12781,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:6","typeDescriptions":{}}},"id":12789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12779,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:6","typeDescriptions":{}}},"id":12790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12778,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"661:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":12791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"private"},{"body":{"id":12807,"nodeType":"Block","src":"818:51:6","statements":[{"expression":{"arguments":[{"id":12803,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12794,"src":"852:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12804,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12796,"src":"858:3:6","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":12801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"835:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:6","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":20052,"src":"835:16:6","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":12805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12800,"id":12806,"nodeType":"Return","src":"828:34:6"}]},"id":12808,"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:6","nodeType":"FunctionDefinition","parameters":{"id":12797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12794,"mutability":"mutable","name":"json","nameLocation":"764:4:6","nodeType":"VariableDeclaration","scope":12808,"src":"750:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12793,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12796,"mutability":"mutable","name":"key","nameLocation":"784:3:6","nodeType":"VariableDeclaration","scope":12808,"src":"770:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12795,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:6"},"returnParameters":{"id":12800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12808,"src":"812:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12798,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:6"},"scope":13714,"src":"731:138:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":12823,"nodeType":"Block","src":"969:47:6","statements":[{"expression":{"arguments":[{"id":12819,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12810,"src":"999:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12820,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12812,"src":"1005:3:6","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":12817,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"986:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":20262,"src":"986:12:6","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":12821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12816,"id":12822,"nodeType":"Return","src":"979:30:6"}]},"id":12824,"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:6","nodeType":"FunctionDefinition","parameters":{"id":12813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12810,"mutability":"mutable","name":"json","nameLocation":"907:4:6","nodeType":"VariableDeclaration","scope":12824,"src":"893:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12809,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12812,"mutability":"mutable","name":"key","nameLocation":"927:3:6","nodeType":"VariableDeclaration","scope":12824,"src":"913:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12811,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:6"},"returnParameters":{"id":12816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12824,"src":"955:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12814,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:6"},"scope":13714,"src":"875:141:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12839,"nodeType":"Block","src":"1111:51:6","statements":[{"expression":{"arguments":[{"id":12835,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12826,"src":"1145:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12836,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12828,"src":"1151:3:6","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":12833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1128:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:6","memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":20233,"src":"1128:16:6","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":12837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12832,"id":12838,"nodeType":"Return","src":"1121:34:6"}]},"id":12840,"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:6","nodeType":"FunctionDefinition","parameters":{"id":12829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12826,"mutability":"mutable","name":"json","nameLocation":"1054:4:6","nodeType":"VariableDeclaration","scope":12840,"src":"1040:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12825,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12828,"mutability":"mutable","name":"key","nameLocation":"1074:3:6","nodeType":"VariableDeclaration","scope":12840,"src":"1060:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12827,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:6"},"returnParameters":{"id":12832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12840,"src":"1102:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12830,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:6"},"scope":13714,"src":"1022:140:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12856,"nodeType":"Block","src":"1271:56:6","statements":[{"expression":{"arguments":[{"id":12852,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12842,"src":"1310:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12853,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12844,"src":"1316:3:6","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":12850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1288:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:6","memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":20244,"src":"1288:21:6","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":12854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":12849,"id":12855,"nodeType":"Return","src":"1281:39:6"}]},"id":12857,"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:6","nodeType":"FunctionDefinition","parameters":{"id":12845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12842,"mutability":"mutable","name":"json","nameLocation":"1205:4:6","nodeType":"VariableDeclaration","scope":12857,"src":"1191:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12841,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12844,"mutability":"mutable","name":"key","nameLocation":"1225:3:6","nodeType":"VariableDeclaration","scope":12857,"src":"1211:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12843,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:6"},"returnParameters":{"id":12849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12848,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12857,"src":"1253:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12846,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12847,"nodeType":"ArrayTypeName","src":"1253:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:6"},"scope":13714,"src":"1168:159:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12872,"nodeType":"Block","src":"1420:50:6","statements":[{"expression":{"arguments":[{"id":12868,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12859,"src":"1453:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12869,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12861,"src":"1459:3:6","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":12866,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1437:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:6","memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":20146,"src":"1437:15:6","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":12870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":12865,"id":12871,"nodeType":"Return","src":"1430:33:6"}]},"id":12873,"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:6","nodeType":"FunctionDefinition","parameters":{"id":12862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12859,"mutability":"mutable","name":"json","nameLocation":"1364:4:6","nodeType":"VariableDeclaration","scope":12873,"src":"1350:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12858,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12861,"mutability":"mutable","name":"key","nameLocation":"1384:3:6","nodeType":"VariableDeclaration","scope":12873,"src":"1370:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12860,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:6"},"returnParameters":{"id":12865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12864,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12873,"src":"1412:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12863,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:6"},"scope":13714,"src":"1333:137:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12889,"nodeType":"Block","src":"1577:55:6","statements":[{"expression":{"arguments":[{"id":12885,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12875,"src":"1615:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12886,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12877,"src":"1621:3:6","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":12883,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1594:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:6","memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":20157,"src":"1594:20:6","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":12887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":12882,"id":12888,"nodeType":"Return","src":"1587:38:6"}]},"id":12890,"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:6","nodeType":"FunctionDefinition","parameters":{"id":12878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12875,"mutability":"mutable","name":"json","nameLocation":"1512:4:6","nodeType":"VariableDeclaration","scope":12890,"src":"1498:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12874,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12877,"mutability":"mutable","name":"key","nameLocation":"1532:3:6","nodeType":"VariableDeclaration","scope":12890,"src":"1518:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12876,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:6"},"returnParameters":{"id":12882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12890,"src":"1560:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12879,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12880,"nodeType":"ArrayTypeName","src":"1560:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:6"},"scope":13714,"src":"1476:156:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12905,"nodeType":"Block","src":"1730:54:6","statements":[{"expression":{"arguments":[{"id":12901,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12892,"src":"1767:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12902,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12894,"src":"1773:3:6","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":12899,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1747:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:6","memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":20114,"src":"1747:19:6","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":12903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12898,"id":12904,"nodeType":"Return","src":"1740:37:6"}]},"id":12906,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:6","nodeType":"FunctionDefinition","parameters":{"id":12895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12892,"mutability":"mutable","name":"json","nameLocation":"1673:4:6","nodeType":"VariableDeclaration","scope":12906,"src":"1659:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12891,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12894,"mutability":"mutable","name":"key","nameLocation":"1693:3:6","nodeType":"VariableDeclaration","scope":12906,"src":"1679:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12893,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:6"},"returnParameters":{"id":12898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12906,"src":"1721:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:6"},"scope":13714,"src":"1638:146:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12922,"nodeType":"Block","src":"1896:59:6","statements":[{"expression":{"arguments":[{"id":12918,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12908,"src":"1938:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12919,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12910,"src":"1944:3:6","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":12916,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"1913:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:6","memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":20125,"src":"1913:24:6","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":12920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":12915,"id":12921,"nodeType":"Return","src":"1906:42:6"}]},"id":12923,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:6","nodeType":"FunctionDefinition","parameters":{"id":12911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12908,"mutability":"mutable","name":"json","nameLocation":"1830:4:6","nodeType":"VariableDeclaration","scope":12923,"src":"1816:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12907,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12910,"mutability":"mutable","name":"key","nameLocation":"1850:3:6","nodeType":"VariableDeclaration","scope":12923,"src":"1836:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12909,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:6"},"returnParameters":{"id":12915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12923,"src":"1878:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12913,"nodeType":"ArrayTypeName","src":"1878:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:6"},"scope":13714,"src":"1790:165:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12938,"nodeType":"Block","src":"2058:53:6","statements":[{"expression":{"arguments":[{"id":12934,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12925,"src":"2094:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12935,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12927,"src":"2100:3:6","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":12932,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2075:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:6","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":20178,"src":"2075:18:6","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":12936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12931,"id":12937,"nodeType":"Return","src":"2068:36:6"}]},"id":12939,"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:6","nodeType":"FunctionDefinition","parameters":{"id":12928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12925,"mutability":"mutable","name":"json","nameLocation":"1995:4:6","nodeType":"VariableDeclaration","scope":12939,"src":"1981:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12924,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12927,"mutability":"mutable","name":"key","nameLocation":"2015:3:6","nodeType":"VariableDeclaration","scope":12939,"src":"2001:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12926,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:6"},"returnParameters":{"id":12931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12930,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12939,"src":"2043:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12929,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:6"},"scope":13714,"src":"1961:150:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12955,"nodeType":"Block","src":"2221:58:6","statements":[{"expression":{"arguments":[{"id":12951,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12941,"src":"2262:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12952,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12943,"src":"2268:3:6","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":12949,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2238:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:6","memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":20189,"src":"2238:23:6","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":12953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":12948,"id":12954,"nodeType":"Return","src":"2231:41:6"}]},"id":12956,"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:6","nodeType":"FunctionDefinition","parameters":{"id":12944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12941,"mutability":"mutable","name":"json","nameLocation":"2156:4:6","nodeType":"VariableDeclaration","scope":12956,"src":"2142:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12940,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12943,"mutability":"mutable","name":"key","nameLocation":"2176:3:6","nodeType":"VariableDeclaration","scope":12956,"src":"2162:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12942,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:6"},"returnParameters":{"id":12948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12947,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12956,"src":"2204:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12945,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12946,"nodeType":"ArrayTypeName","src":"2204:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:6"},"scope":13714,"src":"2117:162:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12971,"nodeType":"Block","src":"2377:54:6","statements":[{"expression":{"arguments":[{"id":12967,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12958,"src":"2414:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12968,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12960,"src":"2420:3:6","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":12965,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2394:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:6","memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":20062,"src":"2394:19:6","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":12969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12964,"id":12970,"nodeType":"Return","src":"2387:37:6"}]},"id":12972,"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:6","nodeType":"FunctionDefinition","parameters":{"id":12961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12958,"mutability":"mutable","name":"json","nameLocation":"2320:4:6","nodeType":"VariableDeclaration","scope":12972,"src":"2306:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12957,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12960,"mutability":"mutable","name":"key","nameLocation":"2340:3:6","nodeType":"VariableDeclaration","scope":12972,"src":"2326:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12959,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:6"},"returnParameters":{"id":12964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12972,"src":"2368:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12962,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:6"},"scope":13714,"src":"2285:146:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12988,"nodeType":"Block","src":"2543:59:6","statements":[{"expression":{"arguments":[{"id":12984,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12974,"src":"2585:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12985,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12976,"src":"2591:3:6","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":12982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2560:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:6","memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":20073,"src":"2560:24:6","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":12986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":12981,"id":12987,"nodeType":"Return","src":"2553:42:6"}]},"id":12989,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:6","nodeType":"FunctionDefinition","parameters":{"id":12977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12974,"mutability":"mutable","name":"json","nameLocation":"2477:4:6","nodeType":"VariableDeclaration","scope":12989,"src":"2463:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12973,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12976,"mutability":"mutable","name":"key","nameLocation":"2497:3:6","nodeType":"VariableDeclaration","scope":12989,"src":"2483:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12975,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:6"},"returnParameters":{"id":12981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12989,"src":"2525:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12978,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12979,"nodeType":"ArrayTypeName","src":"2525:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:6"},"scope":13714,"src":"2437:165:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13004,"nodeType":"Block","src":"2694:51:6","statements":[{"expression":{"arguments":[{"id":13000,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12991,"src":"2728:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13001,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12993,"src":"2734:3:6","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":12998,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2711:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":12999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:6","memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":20083,"src":"2711:16:6","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":13002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12997,"id":13003,"nodeType":"Return","src":"2704:34:6"}]},"id":13005,"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:6","nodeType":"FunctionDefinition","parameters":{"id":12994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12991,"mutability":"mutable","name":"json","nameLocation":"2640:4:6","nodeType":"VariableDeclaration","scope":13005,"src":"2626:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12990,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12993,"mutability":"mutable","name":"key","nameLocation":"2660:3:6","nodeType":"VariableDeclaration","scope":13005,"src":"2646:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12992,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:6"},"returnParameters":{"id":12997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12996,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13005,"src":"2688:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12995,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:6"},"scope":13714,"src":"2608:137:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13021,"nodeType":"Block","src":"2851:56:6","statements":[{"expression":{"arguments":[{"id":13017,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13007,"src":"2890:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13018,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13009,"src":"2896:3:6","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":13015,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"2868:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:6","memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":20094,"src":"2868:21:6","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":13019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":13014,"id":13020,"nodeType":"Return","src":"2861:39:6"}]},"id":13022,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:6","nodeType":"FunctionDefinition","parameters":{"id":13010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13007,"mutability":"mutable","name":"json","nameLocation":"2788:4:6","nodeType":"VariableDeclaration","scope":13022,"src":"2774:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13006,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13009,"mutability":"mutable","name":"key","nameLocation":"2808:3:6","nodeType":"VariableDeclaration","scope":13022,"src":"2794:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13008,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:6"},"returnParameters":{"id":13014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13022,"src":"2836:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13011,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13012,"nodeType":"ArrayTypeName","src":"2836:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:6"},"scope":13714,"src":"2751:156:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13037,"nodeType":"Block","src":"3008:52:6","statements":[{"expression":{"arguments":[{"id":13033,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"3043:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13034,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13026,"src":"3049:3:6","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":13031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"3025:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:6","memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":20104,"src":"3025:17:6","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":13035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":13030,"id":13036,"nodeType":"Return","src":"3018:35:6"}]},"id":13038,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:6","nodeType":"FunctionDefinition","parameters":{"id":13027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13024,"mutability":"mutable","name":"json","nameLocation":"2946:4:6","nodeType":"VariableDeclaration","scope":13038,"src":"2932:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13023,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13026,"mutability":"mutable","name":"key","nameLocation":"2966:3:6","nodeType":"VariableDeclaration","scope":13038,"src":"2952:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13025,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:6"},"returnParameters":{"id":13030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13038,"src":"2994:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13028,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:6"},"scope":13714,"src":"2913:147:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13054,"nodeType":"Block","src":"3168:57:6","statements":[{"expression":{"arguments":[{"id":13050,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13040,"src":"3208:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13051,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13042,"src":"3214:3:6","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":13048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"3185:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:6","memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":20136,"src":"3185:22:6","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":13052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":13047,"id":13053,"nodeType":"Return","src":"3178:40:6"}]},"id":13055,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:6","nodeType":"FunctionDefinition","parameters":{"id":13043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13040,"mutability":"mutable","name":"json","nameLocation":"3104:4:6","nodeType":"VariableDeclaration","scope":13055,"src":"3090:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13039,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13042,"mutability":"mutable","name":"key","nameLocation":"3124:3:6","nodeType":"VariableDeclaration","scope":13055,"src":"3110:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13041,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:6"},"returnParameters":{"id":13047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13046,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13055,"src":"3152:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13044,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13045,"nodeType":"ArrayTypeName","src":"3152:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:6"},"scope":13714,"src":"3066:159:6","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13077,"nodeType":"Block","src":"3344:81:6","statements":[{"expression":{"condition":{"arguments":[{"id":13067,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13057,"src":"3371:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13068,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13059,"src":"3377:3:6","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":13066,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"3361:9:6","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":13069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13074,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13061,"src":"3406:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:6","trueExpression":{"arguments":[{"id":13071,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13057,"src":"3393:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13072,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13059,"src":"3399:3:6","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":13070,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12840,"src":"3384:8:6","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":13073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13065,"id":13076,"nodeType":"Return","src":"3354:64:6"}]},"id":13078,"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:6","nodeType":"FunctionDefinition","parameters":{"id":13062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13057,"mutability":"mutable","name":"json","nameLocation":"3265:4:6","nodeType":"VariableDeclaration","scope":13078,"src":"3251:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13056,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13059,"mutability":"mutable","name":"key","nameLocation":"3285:3:6","nodeType":"VariableDeclaration","scope":13078,"src":"3271:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13058,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13061,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:6","nodeType":"VariableDeclaration","scope":13078,"src":"3290:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13060,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:6"},"returnParameters":{"id":13065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13078,"src":"3335:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13063,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:6"},"scope":13714,"src":"3231:194:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13102,"nodeType":"Block","src":"3595:86:6","statements":[{"expression":{"condition":{"arguments":[{"id":13092,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"3622:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13093,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"3628:3:6","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":13091,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"3612:9:6","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":13094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13099,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13085,"src":"3662:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":13100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:6","trueExpression":{"arguments":[{"id":13096,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13080,"src":"3649:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13097,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13082,"src":"3655:3:6","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":13095,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12857,"src":"3635:13:6","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":13098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:6","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":13090,"id":13101,"nodeType":"Return","src":"3605:69:6"}]},"id":13103,"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:6","nodeType":"FunctionDefinition","parameters":{"id":13086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13080,"mutability":"mutable","name":"json","nameLocation":"3470:4:6","nodeType":"VariableDeclaration","scope":13103,"src":"3456:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13079,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13082,"mutability":"mutable","name":"key","nameLocation":"3490:3:6","nodeType":"VariableDeclaration","scope":13103,"src":"3476:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13081,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13085,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:6","nodeType":"VariableDeclaration","scope":13103,"src":"3495:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13083,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13084,"nodeType":"ArrayTypeName","src":"3495:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:6"},"returnParameters":{"id":13090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13103,"src":"3573:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13087,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13088,"nodeType":"ArrayTypeName","src":"3573:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:6"},"scope":13714,"src":"3431:250:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13125,"nodeType":"Block","src":"3797:80:6","statements":[{"expression":{"condition":{"arguments":[{"id":13115,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13105,"src":"3824:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13116,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13107,"src":"3830:3:6","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":13114,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"3814:9:6","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":13117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13122,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13109,"src":"3858:12:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:6","trueExpression":{"arguments":[{"id":13119,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13105,"src":"3845:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13120,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13107,"src":"3851:3:6","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":13118,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12873,"src":"3837:7:6","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":13121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":13113,"id":13124,"nodeType":"Return","src":"3807:63:6"}]},"id":13126,"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:6","nodeType":"FunctionDefinition","parameters":{"id":13110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13105,"mutability":"mutable","name":"json","nameLocation":"3720:4:6","nodeType":"VariableDeclaration","scope":13126,"src":"3706:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13104,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13107,"mutability":"mutable","name":"key","nameLocation":"3740:3:6","nodeType":"VariableDeclaration","scope":13126,"src":"3726:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13106,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13109,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:6","nodeType":"VariableDeclaration","scope":13126,"src":"3745:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13108,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:6"},"returnParameters":{"id":13113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13126,"src":"3789:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13111,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:6"},"scope":13714,"src":"3687:190:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13150,"nodeType":"Block","src":"4044:85:6","statements":[{"expression":{"condition":{"arguments":[{"id":13140,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13128,"src":"4071:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13141,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13130,"src":"4077:3:6","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":13139,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"4061:9:6","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":13142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13147,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13133,"src":"4110:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":13148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:6","trueExpression":{"arguments":[{"id":13144,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13128,"src":"4097:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13145,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13130,"src":"4103:3:6","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":13143,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12890,"src":"4084:12:6","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":13146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:6","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":13138,"id":13149,"nodeType":"Return","src":"4054:68:6"}]},"id":13151,"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:6","nodeType":"FunctionDefinition","parameters":{"id":13134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13128,"mutability":"mutable","name":"json","nameLocation":"3921:4:6","nodeType":"VariableDeclaration","scope":13151,"src":"3907:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13127,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13130,"mutability":"mutable","name":"key","nameLocation":"3941:3:6","nodeType":"VariableDeclaration","scope":13151,"src":"3927:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13129,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13133,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:6","nodeType":"VariableDeclaration","scope":13151,"src":"3946:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13131,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13132,"nodeType":"ArrayTypeName","src":"3946:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:6"},"returnParameters":{"id":13138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13151,"src":"4023:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13135,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13136,"nodeType":"ArrayTypeName","src":"4023:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:6"},"scope":13714,"src":"3883:246:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13173,"nodeType":"Block","src":"4279:84:6","statements":[{"expression":{"condition":{"arguments":[{"id":13163,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13153,"src":"4306:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13164,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"4312:3:6","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":13162,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"4296:9:6","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":13165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13170,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"4344:12:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:6","trueExpression":{"arguments":[{"id":13167,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13153,"src":"4331:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13168,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"4337:3:6","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":13166,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12906,"src":"4319:11:6","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":13169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":13161,"id":13172,"nodeType":"Return","src":"4289:67:6"}]},"id":13174,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:6","nodeType":"FunctionDefinition","parameters":{"id":13158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13153,"mutability":"mutable","name":"json","nameLocation":"4172:4:6","nodeType":"VariableDeclaration","scope":13174,"src":"4158:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13152,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13155,"mutability":"mutable","name":"key","nameLocation":"4192:3:6","nodeType":"VariableDeclaration","scope":13174,"src":"4178:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13154,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13157,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:6","nodeType":"VariableDeclaration","scope":13174,"src":"4197:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:6"},"returnParameters":{"id":13161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13174,"src":"4266:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:6"},"scope":13714,"src":"4135:228:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13198,"nodeType":"Block","src":"4536:89:6","statements":[{"expression":{"condition":{"arguments":[{"id":13188,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13176,"src":"4563:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13189,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13178,"src":"4569:3:6","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":13187,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"4553:9:6","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":13190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13195,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13181,"src":"4606:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":13196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:6","trueExpression":{"arguments":[{"id":13192,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13176,"src":"4593:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13193,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13178,"src":"4599:3:6","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":13191,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12923,"src":"4576:16:6","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":13194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:6","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":13186,"id":13197,"nodeType":"Return","src":"4546:72:6"}]},"id":13199,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:6","nodeType":"FunctionDefinition","parameters":{"id":13182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13176,"mutability":"mutable","name":"json","nameLocation":"4411:4:6","nodeType":"VariableDeclaration","scope":13199,"src":"4397:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13175,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13178,"mutability":"mutable","name":"key","nameLocation":"4431:3:6","nodeType":"VariableDeclaration","scope":13199,"src":"4417:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13177,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13181,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:6","nodeType":"VariableDeclaration","scope":13199,"src":"4436:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13180,"nodeType":"ArrayTypeName","src":"4436:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:6"},"returnParameters":{"id":13186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13199,"src":"4514:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13184,"nodeType":"ArrayTypeName","src":"4514:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:6"},"scope":13714,"src":"4369:256:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13221,"nodeType":"Block","src":"4786:83:6","statements":[{"expression":{"condition":{"arguments":[{"id":13211,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13201,"src":"4813:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13212,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13203,"src":"4819:3:6","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":13210,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"4803:9:6","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":13213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13218,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13205,"src":"4850:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":13219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:6","trueExpression":{"arguments":[{"id":13215,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13201,"src":"4837:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13216,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13203,"src":"4843:3:6","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":13214,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12939,"src":"4826:10:6","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":13217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13209,"id":13220,"nodeType":"Return","src":"4796:66:6"}]},"id":13222,"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:6","nodeType":"FunctionDefinition","parameters":{"id":13206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13201,"mutability":"mutable","name":"json","nameLocation":"4667:4:6","nodeType":"VariableDeclaration","scope":13222,"src":"4653:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13200,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13203,"mutability":"mutable","name":"key","nameLocation":"4687:3:6","nodeType":"VariableDeclaration","scope":13222,"src":"4673:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13202,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13205,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:6","nodeType":"VariableDeclaration","scope":13222,"src":"4692:26:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13204,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:6"},"returnParameters":{"id":13209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13222,"src":"4767:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13207,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:6"},"scope":13714,"src":"4631:238:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13246,"nodeType":"Block","src":"5039:88:6","statements":[{"expression":{"condition":{"arguments":[{"id":13236,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13224,"src":"5066:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13237,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13226,"src":"5072:3:6","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":13235,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"5056:9:6","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":13238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13243,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13229,"src":"5108:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":13244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:6","trueExpression":{"arguments":[{"id":13240,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13224,"src":"5095:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13241,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13226,"src":"5101:3:6","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":13239,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12956,"src":"5079:15:6","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":13242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:6","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":13234,"id":13245,"nodeType":"Return","src":"5049:71:6"}]},"id":13247,"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:6","nodeType":"FunctionDefinition","parameters":{"id":13230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13224,"mutability":"mutable","name":"json","nameLocation":"4916:4:6","nodeType":"VariableDeclaration","scope":13247,"src":"4902:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13223,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13226,"mutability":"mutable","name":"key","nameLocation":"4936:3:6","nodeType":"VariableDeclaration","scope":13247,"src":"4922:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13225,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13229,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:6","nodeType":"VariableDeclaration","scope":13247,"src":"4941:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13227,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13228,"nodeType":"ArrayTypeName","src":"4941:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:6"},"returnParameters":{"id":13234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13247,"src":"5018:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13231,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13232,"nodeType":"ArrayTypeName","src":"5018:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:6"},"scope":13714,"src":"4875:252:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13269,"nodeType":"Block","src":"5277:84:6","statements":[{"expression":{"condition":{"arguments":[{"id":13259,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13249,"src":"5304:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13260,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13251,"src":"5310:3:6","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":13258,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"5294:9:6","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":13261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13266,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13253,"src":"5342:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:6","trueExpression":{"arguments":[{"id":13263,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13249,"src":"5329:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13264,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13251,"src":"5335:3:6","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":13262,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12972,"src":"5317:11:6","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":13265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13257,"id":13268,"nodeType":"Return","src":"5287:67:6"}]},"id":13270,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:6","nodeType":"FunctionDefinition","parameters":{"id":13254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13249,"mutability":"mutable","name":"json","nameLocation":"5170:4:6","nodeType":"VariableDeclaration","scope":13270,"src":"5156:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13248,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13251,"mutability":"mutable","name":"key","nameLocation":"5190:3:6","nodeType":"VariableDeclaration","scope":13270,"src":"5176:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13250,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13253,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:6","nodeType":"VariableDeclaration","scope":13270,"src":"5195:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13252,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:6"},"returnParameters":{"id":13257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13256,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13270,"src":"5264:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13255,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:6"},"scope":13714,"src":"5133:228:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13294,"nodeType":"Block","src":"5534:89:6","statements":[{"expression":{"condition":{"arguments":[{"id":13284,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13272,"src":"5561:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13285,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13274,"src":"5567:3:6","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":13283,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"5551:9:6","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":13286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13291,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13277,"src":"5604:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":13292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:6","trueExpression":{"arguments":[{"id":13288,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13272,"src":"5591:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13289,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13274,"src":"5597:3:6","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":13287,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12989,"src":"5574:16:6","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":13290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:6","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":13282,"id":13293,"nodeType":"Return","src":"5544:72:6"}]},"id":13295,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:6","nodeType":"FunctionDefinition","parameters":{"id":13278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13272,"mutability":"mutable","name":"json","nameLocation":"5409:4:6","nodeType":"VariableDeclaration","scope":13295,"src":"5395:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13271,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13274,"mutability":"mutable","name":"key","nameLocation":"5429:3:6","nodeType":"VariableDeclaration","scope":13295,"src":"5415:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13273,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13277,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:6","nodeType":"VariableDeclaration","scope":13295,"src":"5434:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13275,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13276,"nodeType":"ArrayTypeName","src":"5434:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:6"},"returnParameters":{"id":13282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13295,"src":"5512:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13279,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13280,"nodeType":"ArrayTypeName","src":"5512:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:6"},"scope":13714,"src":"5367:256:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13317,"nodeType":"Block","src":"5736:81:6","statements":[{"expression":{"condition":{"arguments":[{"id":13307,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13297,"src":"5763:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13308,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13299,"src":"5769:3:6","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":13306,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"5753:9:6","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":13309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13314,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13301,"src":"5798:12:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:6","trueExpression":{"arguments":[{"id":13311,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13297,"src":"5785:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13312,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13299,"src":"5791:3:6","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":13310,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13005,"src":"5776:8:6","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":13313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":13305,"id":13316,"nodeType":"Return","src":"5746:64:6"}]},"id":13318,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:6","nodeType":"FunctionDefinition","parameters":{"id":13302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13297,"mutability":"mutable","name":"json","nameLocation":"5663:4:6","nodeType":"VariableDeclaration","scope":13318,"src":"5649:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13296,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13299,"mutability":"mutable","name":"key","nameLocation":"5683:3:6","nodeType":"VariableDeclaration","scope":13318,"src":"5669:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13298,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13301,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:6","nodeType":"VariableDeclaration","scope":13318,"src":"5688:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13300,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:6"},"returnParameters":{"id":13305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13318,"src":"5730:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13303,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:6"},"scope":13714,"src":"5629:188:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13342,"nodeType":"Block","src":"5981:86:6","statements":[{"expression":{"condition":{"arguments":[{"id":13332,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13320,"src":"6008:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13333,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13322,"src":"6014:3:6","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":13331,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"5998:9:6","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":13334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13339,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13325,"src":"6048:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":13340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:6","trueExpression":{"arguments":[{"id":13336,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13320,"src":"6035:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13337,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13322,"src":"6041:3:6","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":13335,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13022,"src":"6021:13:6","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":13338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:6","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":13330,"id":13341,"nodeType":"Return","src":"5991:69:6"}]},"id":13343,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:6","nodeType":"FunctionDefinition","parameters":{"id":13326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13320,"mutability":"mutable","name":"json","nameLocation":"5862:4:6","nodeType":"VariableDeclaration","scope":13343,"src":"5848:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13319,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13322,"mutability":"mutable","name":"key","nameLocation":"5882:3:6","nodeType":"VariableDeclaration","scope":13343,"src":"5868:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13321,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13325,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:6","nodeType":"VariableDeclaration","scope":13343,"src":"5887:26:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13323,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13324,"nodeType":"ArrayTypeName","src":"5887:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:6"},"returnParameters":{"id":13330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13343,"src":"5962:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13327,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13328,"nodeType":"ArrayTypeName","src":"5962:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:6"},"scope":13714,"src":"5823:244:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13365,"nodeType":"Block","src":"6225:82:6","statements":[{"expression":{"condition":{"arguments":[{"id":13355,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13345,"src":"6252:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13356,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13347,"src":"6258:3:6","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":13354,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"6242:9:6","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":13357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13362,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13349,"src":"6288:12:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:6","trueExpression":{"arguments":[{"id":13359,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13345,"src":"6275:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13360,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13347,"src":"6281:3:6","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":13358,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"6265:9:6","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":13361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":13353,"id":13364,"nodeType":"Return","src":"6235:65:6"}]},"id":13366,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:6","nodeType":"FunctionDefinition","parameters":{"id":13350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13345,"mutability":"mutable","name":"json","nameLocation":"6108:4:6","nodeType":"VariableDeclaration","scope":13366,"src":"6094:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13344,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13347,"mutability":"mutable","name":"key","nameLocation":"6128:3:6","nodeType":"VariableDeclaration","scope":13366,"src":"6114:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13346,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13349,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:6","nodeType":"VariableDeclaration","scope":13366,"src":"6133:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13348,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:6"},"returnParameters":{"id":13353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13366,"src":"6207:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13351,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:6"},"scope":13714,"src":"6073:234:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13390,"nodeType":"Block","src":"6474:87:6","statements":[{"expression":{"condition":{"arguments":[{"id":13380,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13368,"src":"6501:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13381,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13370,"src":"6507:3:6","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":13379,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12808,"src":"6491:9:6","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":13382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13387,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13373,"src":"6542:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":13388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:6","trueExpression":{"arguments":[{"id":13384,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13368,"src":"6529:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13385,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13370,"src":"6535:3:6","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":13383,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13055,"src":"6514:14:6","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":13386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:6","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":13378,"id":13389,"nodeType":"Return","src":"6484:70:6"}]},"id":13391,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:6","nodeType":"FunctionDefinition","parameters":{"id":13374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13368,"mutability":"mutable","name":"json","nameLocation":"6353:4:6","nodeType":"VariableDeclaration","scope":13391,"src":"6339:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13367,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13370,"mutability":"mutable","name":"key","nameLocation":"6373:3:6","nodeType":"VariableDeclaration","scope":13391,"src":"6359:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13369,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13373,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:6","nodeType":"VariableDeclaration","scope":13391,"src":"6378:27:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13371,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13372,"nodeType":"ArrayTypeName","src":"6378:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:6"},"returnParameters":{"id":13378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13391,"src":"6454:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13375,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13376,"nodeType":"ArrayTypeName","src":"6454:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:6"},"scope":13714,"src":"6313:248:6","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13406,"nodeType":"Block","src":"6668:61:6","statements":[{"expression":{"arguments":[{"id":13402,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13393,"src":"6702:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13403,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13395,"src":"6711:10:6","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":13400,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"6685:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:6","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":20397,"src":"6685:16:6","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":13404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13399,"id":13405,"nodeType":"Return","src":"6678:44:6"}]},"id":13407,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:6","nodeType":"FunctionDefinition","parameters":{"id":13396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13393,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:6","nodeType":"VariableDeclaration","scope":13407,"src":"6586:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13392,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13395,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:6","nodeType":"VariableDeclaration","scope":13407,"src":"6609:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13394,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:6"},"returnParameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13407,"src":"6653:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13397,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:6"},"scope":13714,"src":"6567:162:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13425,"nodeType":"Block","src":"6841:61:6","statements":[{"expression":{"arguments":[{"id":13420,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13409,"src":"6875:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13421,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13411,"src":"6884:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13422,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13413,"src":"6889:5:6","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":13418,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"6858:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:6","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":20299,"src":"6858:16:6","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":13423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13417,"id":13424,"nodeType":"Return","src":"6851:44:6"}]},"id":13426,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:6","nodeType":"FunctionDefinition","parameters":{"id":13414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13409,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:6","nodeType":"VariableDeclaration","scope":13426,"src":"6754:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13408,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13411,"mutability":"mutable","name":"key","nameLocation":"6791:3:6","nodeType":"VariableDeclaration","scope":13426,"src":"6777:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13410,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13413,"mutability":"mutable","name":"value","nameLocation":"6801:5:6","nodeType":"VariableDeclaration","scope":13426,"src":"6796:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13412,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:6"},"returnParameters":{"id":13417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13426,"src":"6826:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13415,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:6"},"scope":13714,"src":"6735:167:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13445,"nodeType":"Block","src":"7043:61:6","statements":[{"expression":{"arguments":[{"id":13440,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13428,"src":"7077:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13441,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13430,"src":"7086:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13442,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13433,"src":"7091:5:6","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":13438,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7060:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:6","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":20312,"src":"7060:16:6","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":13443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13437,"id":13444,"nodeType":"Return","src":"7053:44:6"}]},"id":13446,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:6","nodeType":"FunctionDefinition","parameters":{"id":13434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13428,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:6","nodeType":"VariableDeclaration","scope":13446,"src":"6927:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13427,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13430,"mutability":"mutable","name":"key","nameLocation":"6964:3:6","nodeType":"VariableDeclaration","scope":13446,"src":"6950:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13429,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13433,"mutability":"mutable","name":"value","nameLocation":"6983:5:6","nodeType":"VariableDeclaration","scope":13446,"src":"6969:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13431,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13432,"nodeType":"ArrayTypeName","src":"6969:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:6"},"returnParameters":{"id":13437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13436,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13446,"src":"7024:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13435,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:6"},"scope":13714,"src":"6908:196:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13464,"nodeType":"Block","src":"7219:61:6","statements":[{"expression":{"arguments":[{"id":13459,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13448,"src":"7253:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13460,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13450,"src":"7262:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13461,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13452,"src":"7267:5:6","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":13457,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7236:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:6","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":20470,"src":"7236:16:6","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":13462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13456,"id":13463,"nodeType":"Return","src":"7229:44:6"}]},"id":13465,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:6","nodeType":"FunctionDefinition","parameters":{"id":13453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13448,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:6","nodeType":"VariableDeclaration","scope":13465,"src":"7129:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13447,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13450,"mutability":"mutable","name":"key","nameLocation":"7166:3:6","nodeType":"VariableDeclaration","scope":13465,"src":"7152:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13449,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13452,"mutability":"mutable","name":"value","nameLocation":"7179:5:6","nodeType":"VariableDeclaration","scope":13465,"src":"7171:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13451,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:6"},"returnParameters":{"id":13456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13465,"src":"7204:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13454,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:6"},"scope":13714,"src":"7110:170:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13484,"nodeType":"Block","src":"7424:61:6","statements":[{"expression":{"arguments":[{"id":13479,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13467,"src":"7458:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13480,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13469,"src":"7467:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13481,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13472,"src":"7472:5:6","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":13477,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7441:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:6","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":20483,"src":"7441:16:6","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":13482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13476,"id":13483,"nodeType":"Return","src":"7434:44:6"}]},"id":13485,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:6","nodeType":"FunctionDefinition","parameters":{"id":13473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13467,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:6","nodeType":"VariableDeclaration","scope":13485,"src":"7305:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13466,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13469,"mutability":"mutable","name":"key","nameLocation":"7342:3:6","nodeType":"VariableDeclaration","scope":13485,"src":"7328:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13468,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13472,"mutability":"mutable","name":"value","nameLocation":"7364:5:6","nodeType":"VariableDeclaration","scope":13485,"src":"7347:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13470,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13471,"nodeType":"ArrayTypeName","src":"7347:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:6"},"returnParameters":{"id":13476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13485,"src":"7405:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13474,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:6"},"scope":13714,"src":"7286:199:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13503,"nodeType":"Block","src":"7599:60:6","statements":[{"expression":{"arguments":[{"id":13498,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13487,"src":"7632:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13499,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13489,"src":"7641:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13500,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13491,"src":"7646:5:6","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":13496,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7616:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:6","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":20374,"src":"7616:15:6","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":13501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13495,"id":13502,"nodeType":"Return","src":"7609:43:6"}]},"id":13504,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:6","nodeType":"FunctionDefinition","parameters":{"id":13492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13487,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:6","nodeType":"VariableDeclaration","scope":13504,"src":"7510:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13486,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13489,"mutability":"mutable","name":"key","nameLocation":"7547:3:6","nodeType":"VariableDeclaration","scope":13504,"src":"7533:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13488,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13491,"mutability":"mutable","name":"value","nameLocation":"7559:5:6","nodeType":"VariableDeclaration","scope":13504,"src":"7552:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13490,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:6"},"returnParameters":{"id":13495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13504,"src":"7584:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13493,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:6"},"scope":13714,"src":"7491:168:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13523,"nodeType":"Block","src":"7802:60:6","statements":[{"expression":{"arguments":[{"id":13518,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13506,"src":"7835:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13519,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13508,"src":"7844:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13520,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13511,"src":"7849:5:6","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":13516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7819:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:6","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":20387,"src":"7819:15:6","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":13521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13515,"id":13522,"nodeType":"Return","src":"7812:43:6"}]},"id":13524,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:6","nodeType":"FunctionDefinition","parameters":{"id":13512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13506,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:6","nodeType":"VariableDeclaration","scope":13524,"src":"7684:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13505,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13508,"mutability":"mutable","name":"key","nameLocation":"7721:3:6","nodeType":"VariableDeclaration","scope":13524,"src":"7707:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13507,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13511,"mutability":"mutable","name":"value","nameLocation":"7742:5:6","nodeType":"VariableDeclaration","scope":13524,"src":"7726:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13509,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13510,"nodeType":"ArrayTypeName","src":"7726:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:6"},"returnParameters":{"id":13515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13514,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13524,"src":"7783:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13513,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:6"},"scope":13714,"src":"7665:197:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13542,"nodeType":"Block","src":"7977:64:6","statements":[{"expression":{"arguments":[{"id":13537,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13526,"src":"8014:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13538,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13528,"src":"8023:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13539,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13530,"src":"8028:5:6","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":13535,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"7994:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:6","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":20274,"src":"7994:19:6","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":13540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13534,"id":13541,"nodeType":"Return","src":"7987:47:6"}]},"id":13543,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:6","nodeType":"FunctionDefinition","parameters":{"id":13531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13526,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:6","nodeType":"VariableDeclaration","scope":13543,"src":"7887:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13525,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13528,"mutability":"mutable","name":"key","nameLocation":"7924:3:6","nodeType":"VariableDeclaration","scope":13543,"src":"7910:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13527,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13530,"mutability":"mutable","name":"value","nameLocation":"7937:5:6","nodeType":"VariableDeclaration","scope":13543,"src":"7929:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13529,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:6"},"returnParameters":{"id":13534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13543,"src":"7962:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13532,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:6"},"scope":13714,"src":"7868:173:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13562,"nodeType":"Block","src":"8185:64:6","statements":[{"expression":{"arguments":[{"id":13557,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13545,"src":"8222:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13558,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13547,"src":"8231:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13559,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13550,"src":"8236:5:6","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":13555,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"8202:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:6","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":20287,"src":"8202:19:6","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":13560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13554,"id":13561,"nodeType":"Return","src":"8195:47:6"}]},"id":13563,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:6","nodeType":"FunctionDefinition","parameters":{"id":13551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13545,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:6","nodeType":"VariableDeclaration","scope":13563,"src":"8066:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13544,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13547,"mutability":"mutable","name":"key","nameLocation":"8103:3:6","nodeType":"VariableDeclaration","scope":13563,"src":"8089:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13546,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13550,"mutability":"mutable","name":"value","nameLocation":"8125:5:6","nodeType":"VariableDeclaration","scope":13563,"src":"8108:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13548,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13549,"nodeType":"ArrayTypeName","src":"8108:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:6"},"returnParameters":{"id":13554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13563,"src":"8166:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13552,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:6"},"scope":13714,"src":"8047:202:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13581,"nodeType":"Block","src":"8364:64:6","statements":[{"expression":{"arguments":[{"id":13576,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13565,"src":"8401:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13577,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13567,"src":"8410:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13578,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13569,"src":"8415:5:6","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":13574,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"8381:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:6","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":20324,"src":"8381:19:6","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":13579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13573,"id":13580,"nodeType":"Return","src":"8374:47:6"}]},"id":13582,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:6","nodeType":"FunctionDefinition","parameters":{"id":13570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13565,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:6","nodeType":"VariableDeclaration","scope":13582,"src":"8274:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13564,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13567,"mutability":"mutable","name":"key","nameLocation":"8311:3:6","nodeType":"VariableDeclaration","scope":13582,"src":"8297:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13566,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13569,"mutability":"mutable","name":"value","nameLocation":"8324:5:6","nodeType":"VariableDeclaration","scope":13582,"src":"8316:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:6"},"returnParameters":{"id":13573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13582,"src":"8349:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13571,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:6"},"scope":13714,"src":"8255:173:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13601,"nodeType":"Block","src":"8572:64:6","statements":[{"expression":{"arguments":[{"id":13596,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13584,"src":"8609:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13597,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13586,"src":"8618:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13598,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13589,"src":"8623:5:6","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":13594,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"8589:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:6","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":20337,"src":"8589:19:6","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":13599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13593,"id":13600,"nodeType":"Return","src":"8582:47:6"}]},"id":13602,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:6","nodeType":"FunctionDefinition","parameters":{"id":13590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13584,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:6","nodeType":"VariableDeclaration","scope":13602,"src":"8453:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13583,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13586,"mutability":"mutable","name":"key","nameLocation":"8490:3:6","nodeType":"VariableDeclaration","scope":13602,"src":"8476:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13585,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13589,"mutability":"mutable","name":"value","nameLocation":"8512:5:6","nodeType":"VariableDeclaration","scope":13602,"src":"8495:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13588,"nodeType":"ArrayTypeName","src":"8495:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:6"},"returnParameters":{"id":13593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13602,"src":"8553:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13591,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:6"},"scope":13714,"src":"8434:202:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13620,"nodeType":"Block","src":"8756:62:6","statements":[{"expression":{"arguments":[{"id":13615,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13604,"src":"8791:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13616,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13606,"src":"8800:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13617,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13608,"src":"8805:5:6","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":13613,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"8773:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:6","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":20349,"src":"8773:17:6","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":13618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13612,"id":13619,"nodeType":"Return","src":"8766:45:6"}]},"id":13621,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:6","nodeType":"FunctionDefinition","parameters":{"id":13609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13604,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:6","nodeType":"VariableDeclaration","scope":13621,"src":"8661:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13603,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13606,"mutability":"mutable","name":"key","nameLocation":"8698:3:6","nodeType":"VariableDeclaration","scope":13621,"src":"8684:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13605,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13608,"mutability":"mutable","name":"value","nameLocation":"8716:5:6","nodeType":"VariableDeclaration","scope":13621,"src":"8703:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13607,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:6"},"returnParameters":{"id":13612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13621,"src":"8741:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13610,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:6"},"scope":13714,"src":"8642:176:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13640,"nodeType":"Block","src":"8960:62:6","statements":[{"expression":{"arguments":[{"id":13635,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13623,"src":"8995:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13636,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13625,"src":"9004:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13637,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13628,"src":"9009:5:6","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":13633,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"8977:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:6","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":20362,"src":"8977:17:6","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":13638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13632,"id":13639,"nodeType":"Return","src":"8970:45:6"}]},"id":13641,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:6","nodeType":"FunctionDefinition","parameters":{"id":13629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13623,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:6","nodeType":"VariableDeclaration","scope":13641,"src":"8843:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13622,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13625,"mutability":"mutable","name":"key","nameLocation":"8880:3:6","nodeType":"VariableDeclaration","scope":13641,"src":"8866:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13624,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13628,"mutability":"mutable","name":"value","nameLocation":"8900:5:6","nodeType":"VariableDeclaration","scope":13641,"src":"8885:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13626,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13627,"nodeType":"ArrayTypeName","src":"8885:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:6"},"returnParameters":{"id":13632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13641,"src":"8941:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13630,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:6"},"scope":13714,"src":"8824:198:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13659,"nodeType":"Block","src":"9163:63:6","statements":[{"expression":{"arguments":[{"id":13654,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13643,"src":"9199:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13655,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13645,"src":"9208:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13656,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13647,"src":"9213:5:6","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":13652,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"9180:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:6","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":20433,"src":"9180:18:6","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":13657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13651,"id":13658,"nodeType":"Return","src":"9173:46:6"}]},"id":13660,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:6","nodeType":"FunctionDefinition","parameters":{"id":13648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13643,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:6","nodeType":"VariableDeclaration","scope":13660,"src":"9047:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13642,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13645,"mutability":"mutable","name":"key","nameLocation":"9084:3:6","nodeType":"VariableDeclaration","scope":13660,"src":"9070:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13644,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13647,"mutability":"mutable","name":"value","nameLocation":"9103:5:6","nodeType":"VariableDeclaration","scope":13660,"src":"9089:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13646,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:6"},"returnParameters":{"id":13651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13660,"src":"9144:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13649,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:6"},"scope":13714,"src":"9028:198:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13679,"nodeType":"Block","src":"9369:63:6","statements":[{"expression":{"arguments":[{"id":13674,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13662,"src":"9405:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13675,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13664,"src":"9414:3:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13676,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13667,"src":"9419:5:6","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":13672,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"9386:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:6","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":20446,"src":"9386:18:6","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":13677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":13671,"id":13678,"nodeType":"Return","src":"9379:46:6"}]},"id":13680,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:6","nodeType":"FunctionDefinition","parameters":{"id":13668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13662,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:6","nodeType":"VariableDeclaration","scope":13680,"src":"9251:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13661,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13664,"mutability":"mutable","name":"key","nameLocation":"9288:3:6","nodeType":"VariableDeclaration","scope":13680,"src":"9274:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13663,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13667,"mutability":"mutable","name":"value","nameLocation":"9309:5:6","nodeType":"VariableDeclaration","scope":13680,"src":"9293:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13665,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13666,"nodeType":"ArrayTypeName","src":"9293:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:6"},"returnParameters":{"id":13671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13680,"src":"9350:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13669,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:6"},"scope":13714,"src":"9232:200:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13694,"nodeType":"Block","src":"9505:44:6","statements":[{"expression":{"arguments":[{"id":13690,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13682,"src":"9528:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13691,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13684,"src":"9537:4:6","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":13687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"9515:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:6","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":20491,"src":"9515:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":13692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13693,"nodeType":"ExpressionStatement","src":"9515:27:6"}]},"id":13695,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:6","nodeType":"FunctionDefinition","parameters":{"id":13685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13682,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:6","nodeType":"VariableDeclaration","scope":13695,"src":"9453:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13681,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13684,"mutability":"mutable","name":"path","nameLocation":"9490:4:6","nodeType":"VariableDeclaration","scope":13695,"src":"9476:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13683,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:6"},"returnParameters":{"id":13686,"nodeType":"ParameterList","parameters":[],"src":"9505:0:6"},"scope":13714,"src":"9438:111:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":13712,"nodeType":"Block","src":"9646:54:6","statements":[{"expression":{"arguments":[{"id":13707,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13697,"src":"9669:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13708,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13699,"src":"9678:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13709,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13701,"src":"9684:8:6","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":13704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12792,"src":"9656:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":13706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:6","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":20501,"src":"9656:12:6","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":13710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13711,"nodeType":"ExpressionStatement","src":"9656:37:6"}]},"id":13713,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:6","nodeType":"FunctionDefinition","parameters":{"id":13702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13697,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:6","nodeType":"VariableDeclaration","scope":13713,"src":"9570:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13696,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13699,"mutability":"mutable","name":"path","nameLocation":"9607:4:6","nodeType":"VariableDeclaration","scope":13713,"src":"9593:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13698,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13701,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:6","nodeType":"VariableDeclaration","scope":13713,"src":"9613:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13700,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:6"},"returnParameters":{"id":13703,"nodeType":"ParameterList","parameters":[],"src":"9646:0:6"},"scope":13714,"src":"9555:145:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":13715,"src":"610:9092:6","usedErrors":[],"usedEvents":[]}],"src":"32:9671:6"},"id":6},"v4-core/lib/forge-std/src/StdMath.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdMath.sol","exportedSymbols":{"stdMath":[13856]},"id":13857,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13716,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:7"},{"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":13856,"linearizedBaseContracts":[13856],"name":"stdMath","nameLocation":"73:7:7","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":13720,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:7","nodeType":"VariableDeclaration","scope":13856,"src":"87:115:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13717,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":13719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:7","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":13718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:7","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"},{"body":{"id":13745,"nodeType":"Block","src":"264:251:7","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":13729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13727,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13722,"src":"342:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":13728,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13720,"src":"347:10:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13733,"nodeType":"IfStatement","src":"338:130:7","trueBody":{"id":13732,"nodeType":"Block","src":"359:109:7","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":13730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:7","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":13726,"id":13731,"nodeType":"Return","src":"373:84:7"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":13738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13736,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13722,"src":"493:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":13741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:7","subExpression":{"id":13740,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13722,"src":"506:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:7","trueExpression":{"id":13739,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13722,"src":"501:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13734,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:7","typeDescriptions":{}}},"id":13743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13726,"id":13744,"nodeType":"Return","src":"478:30:7"}]},"id":13746,"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:7","nodeType":"FunctionDefinition","parameters":{"id":13723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13722,"mutability":"mutable","name":"a","nameLocation":"229:1:7","nodeType":"VariableDeclaration","scope":13746,"src":"222:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13721,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:7"},"returnParameters":{"id":13726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13725,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13746,"src":"255:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13724,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:7"},"scope":13856,"src":"209:306:7","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13766,"nodeType":"Block","src":"590:45:7","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13755,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13748,"src":"607:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":13756,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13750,"src":"611:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13761,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13750,"src":"623:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13762,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13748,"src":"627:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:7","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13758,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13748,"src":"615:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13759,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13750,"src":"619:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13754,"id":13765,"nodeType":"Return","src":"600:28:7"}]},"id":13767,"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:7","nodeType":"FunctionDefinition","parameters":{"id":13751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13748,"mutability":"mutable","name":"a","nameLocation":"544:1:7","nodeType":"VariableDeclaration","scope":13767,"src":"536:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13747,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13750,"mutability":"mutable","name":"b","nameLocation":"555:1:7","nodeType":"VariableDeclaration","scope":13767,"src":"547:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13749,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:7"},"returnParameters":{"id":13754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13767,"src":"581:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13752,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:7"},"scope":13856,"src":"521:114:7","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13802,"nodeType":"Block","src":"708:285:7","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":13782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":13778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13776,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13769,"src":"847:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":13777,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13771,"src":"851:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":13779,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":13781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:7","subExpression":{"hexValue":"31","id":13780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:7","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:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13793,"nodeType":"IfStatement","src":"842:71:7","trueBody":{"id":13792,"nodeType":"Block","src":"860:53:7","statements":[{"expression":{"arguments":[{"arguments":[{"id":13785,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13769,"src":"891:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13784,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13746,"src":"887:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":13786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":13788,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13771,"src":"899:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13787,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13746,"src":"895:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":13789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13783,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[13767,13803],"referencedDeclaration":13767,"src":"881:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":13790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13775,"id":13791,"nodeType":"Return","src":"874:28:7"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":13795,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13769,"src":"975:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13794,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13746,"src":"971:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":13796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":13798,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13771,"src":"984:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13797,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13746,"src":"980:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":13799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13775,"id":13801,"nodeType":"Return","src":"964:22:7"}]},"id":13803,"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:7","nodeType":"FunctionDefinition","parameters":{"id":13772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13769,"mutability":"mutable","name":"a","nameLocation":"663:1:7","nodeType":"VariableDeclaration","scope":13803,"src":"656:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13768,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13771,"mutability":"mutable","name":"b","nameLocation":"673:1:7","nodeType":"VariableDeclaration","scope":13803,"src":"666:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13770,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:7"},"returnParameters":{"id":13775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13774,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13803,"src":"699:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13773,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:7"},"scope":13856,"src":"641:352:7","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13825,"nodeType":"Block","src":"1075:84:7","statements":[{"assignments":[13813],"declarations":[{"constant":false,"id":13813,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:7","nodeType":"VariableDeclaration","scope":13825,"src":"1085:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13812,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13818,"initialValue":{"arguments":[{"id":13815,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13805,"src":"1110:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13816,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13807,"src":"1113:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13814,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[13767,13803],"referencedDeclaration":13767,"src":"1104:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":13817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1104:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:7"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13819,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13813,"src":"1133:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":13820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:7","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":13822,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13807,"src":"1151:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13811,"id":13824,"nodeType":"Return","src":"1126:26:7"}]},"id":13826,"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:7","nodeType":"FunctionDefinition","parameters":{"id":13808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13805,"mutability":"mutable","name":"a","nameLocation":"1029:1:7","nodeType":"VariableDeclaration","scope":13826,"src":"1021:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13804,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13807,"mutability":"mutable","name":"b","nameLocation":"1040:1:7","nodeType":"VariableDeclaration","scope":13826,"src":"1032:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13806,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:7"},"returnParameters":{"id":13811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13826,"src":"1066:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13809,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:7"},"scope":13856,"src":"999:160:7","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13854,"nodeType":"Block","src":"1239:118:7","statements":[{"assignments":[13836],"declarations":[{"constant":false,"id":13836,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:7","nodeType":"VariableDeclaration","scope":13854,"src":"1249:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13835,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13841,"initialValue":{"arguments":[{"id":13838,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13828,"src":"1274:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":13839,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13830,"src":"1277:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13837,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[13767,13803],"referencedDeclaration":13803,"src":"1268:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":13840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:7"},{"assignments":[13843],"declarations":[{"constant":false,"id":13843,"mutability":"mutable","name":"absB","nameLocation":"1297:4:7","nodeType":"VariableDeclaration","scope":13854,"src":"1289:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13842,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13847,"initialValue":{"arguments":[{"id":13845,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13830,"src":"1308:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13844,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13746,"src":"1304:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":13846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:7"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13848,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13836,"src":"1328:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":13849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:7","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":13851,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13843,"src":"1346:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13834,"id":13853,"nodeType":"Return","src":"1321:29:7"}]},"id":13855,"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:7","nodeType":"FunctionDefinition","parameters":{"id":13831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13828,"mutability":"mutable","name":"a","nameLocation":"1194:1:7","nodeType":"VariableDeclaration","scope":13855,"src":"1187:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13827,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13830,"mutability":"mutable","name":"b","nameLocation":"1204:1:7","nodeType":"VariableDeclaration","scope":13855,"src":"1197:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13829,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:7"},"returnParameters":{"id":13834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13855,"src":"1230:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13832,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:7"},"scope":13856,"src":"1165:192:7","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":13857,"src":"65:1294:7","usedErrors":[],"usedEvents":[]}],"src":"32:1328:7"},"id":7},"v4-core/lib/forge-std/src/StdStorage.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdStorage.sol","exportedSymbols":{"FindData":[13869],"StdStorage":[13894],"Vm":[23231],"stdStorage":[15851],"stdStorageSafe":[15246]},"id":15852,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13858,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:8"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":13860,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":15852,"sourceUnit":23232,"src":"65:28:8","symbolAliases":[{"foreign":{"id":13859,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"73:2:8","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"FindData","id":13869,"members":[{"constant":false,"id":13862,"mutability":"mutable","name":"slot","nameLocation":"125:4:8","nodeType":"VariableDeclaration","scope":13869,"src":"117:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13861,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13864,"mutability":"mutable","name":"offsetLeft","nameLocation":"143:10:8","nodeType":"VariableDeclaration","scope":13869,"src":"135:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13863,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13866,"mutability":"mutable","name":"offsetRight","nameLocation":"167:11:8","nodeType":"VariableDeclaration","scope":13869,"src":"159:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13865,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13868,"mutability":"mutable","name":"found","nameLocation":"189:5:8","nodeType":"VariableDeclaration","scope":13869,"src":"184:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13867,"name":"bool","nodeType":"ElementaryTypeName","src":"184:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"FindData","nameLocation":"102:8:8","nodeType":"StructDefinition","scope":15852,"src":"95:102:8","visibility":"public"},{"canonicalName":"StdStorage","id":13894,"members":[{"constant":false,"id":13878,"mutability":"mutable","name":"finds","nameLocation":"291:5:8","nodeType":"VariableDeclaration","scope":13894,"src":"223:73:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"typeName":{"id":13877,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":13870,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"223:67:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":13876,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":13871,"name":"bytes4","nodeType":"ElementaryTypeName","src":"250:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"242:47:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":13875,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":13872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"260:28:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":13874,"nodeType":"UserDefinedTypeName","pathNode":{"id":13873,"name":"FindData","nameLocations":["279:8:8"],"nodeType":"IdentifierPath","referencedDeclaration":13869,"src":"279:8:8"},"referencedDeclaration":13869,"src":"279:8:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"}}}}},"visibility":"internal"},{"constant":false,"id":13881,"mutability":"mutable","name":"_keys","nameLocation":"312:5:8","nodeType":"VariableDeclaration","scope":13894,"src":"302:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13880,"nodeType":"ArrayTypeName","src":"302:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13883,"mutability":"mutable","name":"_sig","nameLocation":"330:4:8","nodeType":"VariableDeclaration","scope":13894,"src":"323:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":13882,"name":"bytes4","nodeType":"ElementaryTypeName","src":"323:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":13885,"mutability":"mutable","name":"_depth","nameLocation":"348:6:8","nodeType":"VariableDeclaration","scope":13894,"src":"340:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13884,"name":"uint256","nodeType":"ElementaryTypeName","src":"340:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13887,"mutability":"mutable","name":"_target","nameLocation":"368:7:8","nodeType":"VariableDeclaration","scope":13894,"src":"360:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13886,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13889,"mutability":"mutable","name":"_set","nameLocation":"389:4:8","nodeType":"VariableDeclaration","scope":13894,"src":"381:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13891,"mutability":"mutable","name":"_enable_packed_slots","nameLocation":"404:20:8","nodeType":"VariableDeclaration","scope":13894,"src":"399:25:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13890,"name":"bool","nodeType":"ElementaryTypeName","src":"399:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13893,"mutability":"mutable","name":"_calldata","nameLocation":"436:9:8","nodeType":"VariableDeclaration","scope":13894,"src":"430:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13892,"name":"bytes","nodeType":"ElementaryTypeName","src":"430:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"206:10:8","nodeType":"StructDefinition","scope":15852,"src":"199:249:8","visibility":"public"},{"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":15246,"linearizedBaseContracts":[15246],"name":"stdStorageSafe","nameLocation":"458:14:8","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","id":13904,"name":"SlotFound","nameLocation":"485:9:8","nodeType":"EventDefinition","parameters":{"id":13903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13896,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"503:3:8","nodeType":"VariableDeclaration","scope":13904,"src":"495:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13895,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13898,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"515:4:8","nodeType":"VariableDeclaration","scope":13904,"src":"508:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":13897,"name":"bytes4","nodeType":"ElementaryTypeName","src":"508:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":13900,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"529:8:8","nodeType":"VariableDeclaration","scope":13904,"src":"521:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"521:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13902,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"547:4:8","nodeType":"VariableDeclaration","scope":13904,"src":"539:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13901,"name":"uint256","nodeType":"ElementaryTypeName","src":"539:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:58:8"},"src":"479:74:8"},{"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","id":13910,"name":"WARNING_UninitedSlot","nameLocation":"564:20:8","nodeType":"EventDefinition","parameters":{"id":13909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13906,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"593:3:8","nodeType":"VariableDeclaration","scope":13910,"src":"585:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13905,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13908,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"606:4:8","nodeType":"VariableDeclaration","scope":13910,"src":"598:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13907,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:27:8"},"src":"558:54:8"},{"constant":true,"id":13927,"mutability":"constant","name":"vm","nameLocation":"638:2:8","nodeType":"VariableDeclaration","scope":15246,"src":"618:84:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":13912,"nodeType":"UserDefinedTypeName","pathNode":{"id":13911,"name":"Vm","nameLocations":["618:2:8"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"618:2:8"},"referencedDeclaration":23231,"src":"618:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":13921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680: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":13920,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"670:28:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13918,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:8","typeDescriptions":{}}},"id":13923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":13916,"name":"uint160","nodeType":"ElementaryTypeName","src":"654:7:8","typeDescriptions":{}}},"id":13924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"654:46:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":13915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"646:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13914,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:8","typeDescriptions":{}}},"id":13925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"646:55:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":13913,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"643:2:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":13926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"643:59:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"private"},{"constant":true,"id":13930,"mutability":"constant","name":"UINT256_MAX","nameLocation":"725:11:8","nodeType":"VariableDeclaration","scope":15246,"src":"708:109:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13928,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":13929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"739:78:8","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"body":{"id":13947,"nodeType":"Block","src":"891:56:8","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":13942,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13932,"src":"931:6:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":13941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"925:5:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":13940,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:8","typeDescriptions":{}}},"id":13943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:13:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13939,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"915:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:24:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"908:6:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":13937,"name":"bytes4","nodeType":"ElementaryTypeName","src":"908:6:8","typeDescriptions":{}}},"id":13945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"908:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":13936,"id":13946,"nodeType":"Return","src":"901:39:8"}]},"id":13948,"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"833:4:8","nodeType":"FunctionDefinition","parameters":{"id":13933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13932,"mutability":"mutable","name":"sigStr","nameLocation":"852:6:8","nodeType":"VariableDeclaration","scope":13948,"src":"838:20:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13931,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"837:22:8"},"returnParameters":{"id":13936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13948,"src":"883:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":13934,"name":"bytes4","nodeType":"ElementaryTypeName","src":"883:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"882:8:8"},"scope":15246,"src":"824:123:8","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13972,"nodeType":"Block","src":"1038:151:8","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":13956,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13951,"src":"1052:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":13957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1057:9:8","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":13893,"src":"1052:14:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":13958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1067:6:8","memberName":"length","nodeType":"MemberAccess","src":"1052:21:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1052:26:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":13970,"nodeType":"Block","src":"1137:46:8","statements":[{"expression":{"expression":{"id":13967,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13951,"src":"1158:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":13968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1163:9:8","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":13893,"src":"1158:14:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":13955,"id":13969,"nodeType":"Return","src":"1151:21:8"}]},"id":13971,"nodeType":"IfStatement","src":"1048:135:8","trueBody":{"id":13966,"nodeType":"Block","src":"1080:51:8","statements":[{"expression":{"arguments":[{"expression":{"id":13962,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13951,"src":"1109:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":13963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1114:5:8","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"1109:10:8","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":13961,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15169,"src":"1101:7:8","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":13964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1101:19:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":13955,"id":13965,"nodeType":"Return","src":"1094:26:8"}]}}]},"id":13973,"implemented":true,"kind":"function","modifiers":[],"name":"getCallParams","nameLocation":"962:13:8","nodeType":"FunctionDefinition","parameters":{"id":13952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13951,"mutability":"mutable","name":"self","nameLocation":"995:4:8","nodeType":"VariableDeclaration","scope":13973,"src":"976:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":13950,"nodeType":"UserDefinedTypeName","pathNode":{"id":13949,"name":"StdStorage","nameLocations":["976:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"976:10:8"},"referencedDeclaration":13894,"src":"976:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"975:25:8"},"returnParameters":{"id":13955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13973,"src":"1024:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13953,"name":"bytes","nodeType":"ElementaryTypeName","src":"1024:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1023:14:8"},"scope":15246,"src":"953:236:8","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":14018,"nodeType":"Block","src":"1334:260:8","statements":[{"assignments":[13984],"declarations":[{"constant":false,"id":13984,"mutability":"mutable","name":"cald","nameLocation":"1357:4:8","nodeType":"VariableDeclaration","scope":14018,"src":"1344:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13983,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":13993,"initialValue":{"arguments":[{"expression":{"id":13987,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"1381:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":13988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1386:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"1381:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":13990,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"1406:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":13989,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13973,"src":"1392:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":13991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1392:19:8","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":13985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1364:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1368:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"1364:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1364:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1344:68:8"},{"assignments":[13995,13997],"declarations":[{"constant":false,"id":13995,"mutability":"mutable","name":"success","nameLocation":"1428:7:8","nodeType":"VariableDeclaration","scope":14018,"src":"1423:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13994,"name":"bool","nodeType":"ElementaryTypeName","src":"1423:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13997,"mutability":"mutable","name":"rdat","nameLocation":"1450:4:8","nodeType":"VariableDeclaration","scope":14018,"src":"1437:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13996,"name":"bytes","nodeType":"ElementaryTypeName","src":"1437:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14003,"initialValue":{"arguments":[{"id":14001,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13984,"src":"1482:4:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":13998,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"1458:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":13999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1463:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"1458:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1471:10:8","memberName":"staticcall","nodeType":"MemberAccess","src":"1458:23:8","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":14002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1458:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1422:65:8"},{"assignments":[14005],"declarations":[{"constant":false,"id":14005,"mutability":"mutable","name":"result","nameLocation":"1505:6:8","nodeType":"VariableDeclaration","scope":14018,"src":"1497:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1497:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14013,"initialValue":{"arguments":[{"id":14007,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13997,"src":"1529:4:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":14008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1535:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":14009,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"1540:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1545:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"1540:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1535:16:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14006,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15128,"src":"1514:14:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":14012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1514:38:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1497:55:8"},{"expression":{"components":[{"id":14014,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13995,"src":"1571:7:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14015,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14005,"src":"1580:6:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":14016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1570:17:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":13982,"id":14017,"nodeType":"Return","src":"1563:24:8"}]},"id":14019,"implemented":true,"kind":"function","modifiers":[],"name":"callTarget","nameLocation":"1260:10:8","nodeType":"FunctionDefinition","parameters":{"id":13977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13976,"mutability":"mutable","name":"self","nameLocation":"1290:4:8","nodeType":"VariableDeclaration","scope":14019,"src":"1271:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":13975,"nodeType":"UserDefinedTypeName","pathNode":{"id":13974,"name":"StdStorage","nameLocations":["1271:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"1271:10:8"},"referencedDeclaration":13894,"src":"1271:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1270:25:8"},"returnParameters":{"id":13982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14019,"src":"1319:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13978,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14019,"src":"1325:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1325:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1318:15:8"},"scope":15246,"src":"1251:343:8","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":14096,"nodeType":"Block","src":"1944:453:8","statements":[{"assignments":[14030],"declarations":[{"constant":false,"id":14030,"mutability":"mutable","name":"prevSlotValue","nameLocation":"1962:13:8","nodeType":"VariableDeclaration","scope":14096,"src":"1954:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1954:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14037,"initialValue":{"arguments":[{"expression":{"id":14033,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"1986:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1991:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"1986:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14035,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14024,"src":"2000:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"1978:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1981:4:8","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"1978:7:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":14036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1978:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1954:51:8"},{"assignments":[14039,14041],"declarations":[{"constant":false,"id":14039,"mutability":"mutable","name":"success","nameLocation":"2021:7:8","nodeType":"VariableDeclaration","scope":14096,"src":"2016:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14038,"name":"bool","nodeType":"ElementaryTypeName","src":"2016:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14041,"mutability":"mutable","name":"prevReturnValue","nameLocation":"2038:15:8","nodeType":"VariableDeclaration","scope":14096,"src":"2030:23:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2030:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14045,"initialValue":{"arguments":[{"id":14043,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"2068:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14042,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"2057:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":14044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2057:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2015:58:8"},{"assignments":[14047],"declarations":[{"constant":false,"id":14047,"mutability":"mutable","name":"testVal","nameLocation":"2092:7:8","nodeType":"VariableDeclaration","scope":14096,"src":"2084:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2084:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14063,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":14053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14048,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14041,"src":"2102:15:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":14051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2129:1:8","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":14050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2121:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2121:7:8","typeDescriptions":{}}},"id":14052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2102:29:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":14060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2165:1:8","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":14059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2157:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:8","typeDescriptions":{}}},"id":14061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2157:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2102:65:8","trueExpression":{"arguments":[{"id":14056,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13930,"src":"2142:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2134:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2134:7:8","typeDescriptions":{}}},"id":14057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2084:83:8"},{"expression":{"arguments":[{"expression":{"id":14067,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"2186:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2191:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"2186:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14069,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14024,"src":"2200:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14070,"name":"testVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14047,"src":"2206:7:8","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":14064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"2177:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2180:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"2177:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":14071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2177:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14072,"nodeType":"ExpressionStatement","src":"2177:37:8"},{"assignments":[null,14074],"declarations":[null,{"constant":false,"id":14074,"mutability":"mutable","name":"newReturnValue","nameLocation":"2236:14:8","nodeType":"VariableDeclaration","scope":14096,"src":"2228:22:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2228:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14078,"initialValue":{"arguments":[{"id":14076,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"2265:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14075,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"2254:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":14077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2254:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2225:45:8"},{"expression":{"arguments":[{"expression":{"id":14082,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14022,"src":"2290:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2295:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"2290:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14084,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14024,"src":"2304:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14085,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14030,"src":"2310:13:8","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":14079,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"2281:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"2281:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":14086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2281:43:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14087,"nodeType":"ExpressionStatement","src":"2281:43:8"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14088,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14039,"src":"2343:7:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":14091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14089,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14041,"src":"2355:15:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":14090,"name":"newReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14074,"src":"2374:14:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2355:33:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2354:35:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2343:46:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2342:48:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":14028,"id":14095,"nodeType":"Return","src":"2335:55:8"}]},"id":14097,"implemented":true,"kind":"function","modifiers":[],"name":"checkSlotMutatesCall","nameLocation":"1860:20:8","nodeType":"FunctionDefinition","parameters":{"id":14025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14022,"mutability":"mutable","name":"self","nameLocation":"1900:4:8","nodeType":"VariableDeclaration","scope":14097,"src":"1881:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14021,"nodeType":"UserDefinedTypeName","pathNode":{"id":14020,"name":"StdStorage","nameLocations":["1881:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"1881:10:8"},"referencedDeclaration":13894,"src":"1881:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14024,"mutability":"mutable","name":"slot","nameLocation":"1914:4:8","nodeType":"VariableDeclaration","scope":14097,"src":"1906:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1906:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1880:39:8"},"returnParameters":{"id":14028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14097,"src":"1938:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14026,"name":"bool","nodeType":"ElementaryTypeName","src":"1938:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1937:6:8"},"scope":15246,"src":"1851:546:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14178,"nodeType":"Block","src":"2663:411:8","statements":[{"body":{"id":14172,"nodeType":"Block","src":"2722:319:8","statements":[{"assignments":[14122],"declarations":[{"constant":false,"id":14122,"mutability":"mutable","name":"valueToPut","nameLocation":"2744:10:8","nodeType":"VariableDeclaration","scope":14172,"src":"2736:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14121,"name":"uint256","nodeType":"ElementaryTypeName","src":"2736:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14136,"initialValue":{"condition":{"id":14123,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14104,"src":"2757:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":14131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":14132,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"2794:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2789:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14134,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2788:13:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2757:44:8","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":14124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:1:8","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":14127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":14125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2771:3:8","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":14126,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"2777:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2771:12:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14128,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2770:14:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2765:19:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14130,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2764:21:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2736:65:8"},{"expression":{"arguments":[{"expression":{"id":14140,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"2824:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2829:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"2824:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14142,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14102,"src":"2838:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":14145,"name":"valueToPut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14122,"src":"2852:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2844:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2844:7:8","typeDescriptions":{}}},"id":14146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:19:8","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":14137,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"2815:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2818:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"2815:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":14147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:49:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14148,"nodeType":"ExpressionStatement","src":"2815:49:8"},{"assignments":[14150,14152],"declarations":[{"constant":false,"id":14150,"mutability":"mutable","name":"success","nameLocation":"2885:7:8","nodeType":"VariableDeclaration","scope":14172,"src":"2880:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14149,"name":"bool","nodeType":"ElementaryTypeName","src":"2880:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14152,"mutability":"mutable","name":"data","nameLocation":"2902:4:8","nodeType":"VariableDeclaration","scope":14172,"src":"2894:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2894:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14156,"initialValue":{"arguments":[{"id":14154,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"2921:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14153,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"2910:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":14155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2879:47:8"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14157,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14150,"src":"2945:7:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14160,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14152,"src":"2965:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2957:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14158,"name":"uint256","nodeType":"ElementaryTypeName","src":"2957:7:8","typeDescriptions":{}}},"id":14161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:13:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":14162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2973:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2957:17:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":14164,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2956:19:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2945:30:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14171,"nodeType":"IfStatement","src":"2941:90:8","trueBody":{"id":14170,"nodeType":"Block","src":"2977:54:8","statements":[{"expression":{"components":[{"hexValue":"74727565","id":14166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3003:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":14167,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"3009:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14168,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3002:14:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":14110,"id":14169,"nodeType":"Return","src":"2995:21:8"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14115,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"2698:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"323536","id":14116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2707:3:8","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2698:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14173,"initializationExpression":{"assignments":[14112],"declarations":[{"constant":false,"id":14112,"mutability":"mutable","name":"offset","nameLocation":"2686:6:8","nodeType":"VariableDeclaration","scope":14173,"src":"2678:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14111,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14114,"initialValue":{"hexValue":"30","id":14113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2695:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2678:18:8"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":14119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2712:8:8","subExpression":{"id":14118,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"2712:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14120,"nodeType":"ExpressionStatement","src":"2712:8:8"},"nodeType":"ForStatement","src":"2673:368:8"},{"expression":{"components":[{"hexValue":"66616c7365","id":14174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3058:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":14175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3065:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":14176,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3057:10:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":14110,"id":14177,"nodeType":"Return","src":"3050:17:8"}]},"id":14179,"implemented":true,"kind":"function","modifiers":[],"name":"findOffset","nameLocation":"2569:10:8","nodeType":"FunctionDefinition","parameters":{"id":14105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14100,"mutability":"mutable","name":"self","nameLocation":"2599:4:8","nodeType":"VariableDeclaration","scope":14179,"src":"2580:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14099,"nodeType":"UserDefinedTypeName","pathNode":{"id":14098,"name":"StdStorage","nameLocations":["2580:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"2580:10:8"},"referencedDeclaration":13894,"src":"2580:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14102,"mutability":"mutable","name":"slot","nameLocation":"2613:4:8","nodeType":"VariableDeclaration","scope":14179,"src":"2605:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2605:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14104,"mutability":"mutable","name":"left","nameLocation":"2624:4:8","nodeType":"VariableDeclaration","scope":14179,"src":"2619:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14103,"name":"bool","nodeType":"ElementaryTypeName","src":"2619:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2579:50:8"},"returnParameters":{"id":14110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14179,"src":"2648:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14106,"name":"bool","nodeType":"ElementaryTypeName","src":"2648:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14179,"src":"2654:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2654:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2647:15:8"},"scope":15246,"src":"2560:514:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14238,"nodeType":"Block","src":"3182:432:8","statements":[{"assignments":[14194],"declarations":[{"constant":false,"id":14194,"mutability":"mutable","name":"prevSlotValue","nameLocation":"3200:13:8","nodeType":"VariableDeclaration","scope":14238,"src":"3192:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3192:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14201,"initialValue":{"arguments":[{"expression":{"id":14197,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14182,"src":"3224:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3229:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"3224:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14199,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14184,"src":"3238:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"3216:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3219:4:8","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"3216:7:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":14200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3216:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3192:51:8"},{"assignments":[14203,14205],"declarations":[{"constant":false,"id":14203,"mutability":"mutable","name":"foundLeft","nameLocation":"3260:9:8","nodeType":"VariableDeclaration","scope":14238,"src":"3255:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14202,"name":"bool","nodeType":"ElementaryTypeName","src":"3255:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14205,"mutability":"mutable","name":"offsetLeft","nameLocation":"3279:10:8","nodeType":"VariableDeclaration","scope":14238,"src":"3271:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14204,"name":"uint256","nodeType":"ElementaryTypeName","src":"3271:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14211,"initialValue":{"arguments":[{"id":14207,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14182,"src":"3304:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":14208,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14184,"src":"3310:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":14209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3316:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":14206,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14179,"src":"3293:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":14210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3293:28:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3254:67:8"},{"assignments":[14213,14215],"declarations":[{"constant":false,"id":14213,"mutability":"mutable","name":"foundRight","nameLocation":"3337:10:8","nodeType":"VariableDeclaration","scope":14238,"src":"3332:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14212,"name":"bool","nodeType":"ElementaryTypeName","src":"3332:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14215,"mutability":"mutable","name":"offsetRight","nameLocation":"3357:11:8","nodeType":"VariableDeclaration","scope":14238,"src":"3349:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14214,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14221,"initialValue":{"arguments":[{"id":14217,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14182,"src":"3383:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":14218,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14184,"src":"3389:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":14219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3395:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":14216,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14179,"src":"3372:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":14220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3372:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3331:70:8"},{"expression":{"arguments":[{"expression":{"id":14225,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14182,"src":"3506:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3511:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"3506:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14227,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14184,"src":"3520:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":14228,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14194,"src":"3526:13:8","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":14222,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"3497:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3500:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"3497:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":14229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:43:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14230,"nodeType":"ExpressionStatement","src":"3497:43:8"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":14233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14231,"name":"foundLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14203,"src":"3558:9:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":14232,"name":"foundRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14213,"src":"3571:10:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3558:23:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14234,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14205,"src":"3583:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14235,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14215,"src":"3595:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3557:50:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"functionReturnParameters":14192,"id":14237,"nodeType":"Return","src":"3550:57:8"}]},"id":14239,"implemented":true,"kind":"function","modifiers":[],"name":"findOffsets","nameLocation":"3089:11:8","nodeType":"FunctionDefinition","parameters":{"id":14185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14182,"mutability":"mutable","name":"self","nameLocation":"3120:4:8","nodeType":"VariableDeclaration","scope":14239,"src":"3101:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14181,"nodeType":"UserDefinedTypeName","pathNode":{"id":14180,"name":"StdStorage","nameLocations":["3101:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"3101:10:8"},"referencedDeclaration":13894,"src":"3101:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14184,"mutability":"mutable","name":"slot","nameLocation":"3134:4:8","nodeType":"VariableDeclaration","scope":14239,"src":"3126:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3126:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3100:39:8"},"returnParameters":{"id":14192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14239,"src":"3158:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14186,"name":"bool","nodeType":"ElementaryTypeName","src":"3158:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14239,"src":"3164:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14188,"name":"uint256","nodeType":"ElementaryTypeName","src":"3164:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14239,"src":"3173:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14190,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3157:24:8"},"scope":15246,"src":"3080:534:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14253,"nodeType":"Block","src":"3695:40:8","statements":[{"expression":{"arguments":[{"id":14249,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14242,"src":"3717:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":14250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3723:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":14248,"name":"find","nodeType":"Identifier","overloadedDeclarations":[14254,14555],"referencedDeclaration":14555,"src":"3712:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":14251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3712:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"functionReturnParameters":14247,"id":14252,"nodeType":"Return","src":"3705:23:8"}]},"id":14254,"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"3629:4:8","nodeType":"FunctionDefinition","parameters":{"id":14243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14242,"mutability":"mutable","name":"self","nameLocation":"3653:4:8","nodeType":"VariableDeclaration","scope":14254,"src":"3634:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14241,"nodeType":"UserDefinedTypeName","pathNode":{"id":14240,"name":"StdStorage","nameLocations":["3634:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"3634:10:8"},"referencedDeclaration":13894,"src":"3634:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"3633:25:8"},"returnParameters":{"id":14247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14254,"src":"3677:16:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"},"typeName":{"id":14245,"nodeType":"UserDefinedTypeName","pathNode":{"id":14244,"name":"FindData","nameLocations":["3677:8:8"],"nodeType":"IdentifierPath","referencedDeclaration":13869,"src":"3677:8:8"},"referencedDeclaration":13869,"src":"3677:8:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"3676:18:8"},"scope":15246,"src":"3620:115:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14554,"nodeType":"Block","src":"4337:2404:8","statements":[{"assignments":[14267],"declarations":[{"constant":false,"id":14267,"mutability":"mutable","name":"who","nameLocation":"4355:3:8","nodeType":"VariableDeclaration","scope":14554,"src":"4347:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14266,"name":"address","nodeType":"ElementaryTypeName","src":"4347:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":14270,"initialValue":{"expression":{"id":14268,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4361:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4366:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"4361:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4347:26:8"},{"assignments":[14272],"declarations":[{"constant":false,"id":14272,"mutability":"mutable","name":"fsig","nameLocation":"4390:4:8","nodeType":"VariableDeclaration","scope":14554,"src":"4383:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":14271,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4383:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":14275,"initialValue":{"expression":{"id":14273,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4397:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4402:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"4397:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4383:23:8"},{"assignments":[14277],"declarations":[{"constant":false,"id":14277,"mutability":"mutable","name":"field_depth","nameLocation":"4424:11:8","nodeType":"VariableDeclaration","scope":14554,"src":"4416:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14276,"name":"uint256","nodeType":"ElementaryTypeName","src":"4416:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14280,"initialValue":{"expression":{"id":14278,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4438:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4443:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"4438:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4416:33:8"},{"assignments":[14282],"declarations":[{"constant":false,"id":14282,"mutability":"mutable","name":"params","nameLocation":"4472:6:8","nodeType":"VariableDeclaration","scope":14554,"src":"4459:19:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14281,"name":"bytes","nodeType":"ElementaryTypeName","src":"4459:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":14286,"initialValue":{"arguments":[{"id":14284,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4495:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14283,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13973,"src":"4481:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":14285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4481:19:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4459:41:8"},{"condition":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":14287,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4551:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4556:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"4551:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":14290,"indexExpression":{"id":14289,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"4562:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":14292,"indexExpression":{"id":14291,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"4567:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":14300,"indexExpression":{"arguments":[{"arguments":[{"id":14296,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"4600:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14297,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"4608:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14294,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4583:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4587:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"4583:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4583:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14293,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4573:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4573:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"id":14301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4623:5:8","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":13868,"src":"4551:77:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14325,"nodeType":"IfStatement","src":"4547:255:8","trueBody":{"id":14324,"nodeType":"Block","src":"4630:172:8","statements":[{"condition":{"id":14302,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14260,"src":"4648:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14308,"nodeType":"IfStatement","src":"4644:56:8","trueBody":{"id":14307,"nodeType":"Block","src":"4656:44:8","statements":[{"expression":{"arguments":[{"id":14304,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4680:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14303,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15200,"src":"4674:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":14305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14306,"nodeType":"ExpressionStatement","src":"4674:11:8"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":14309,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4720:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4725:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"4720:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":14312,"indexExpression":{"id":14311,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"4731:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":14314,"indexExpression":{"id":14313,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"4736:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":14322,"indexExpression":{"arguments":[{"arguments":[{"id":14318,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"4769:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14319,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"4777:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4752:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4756:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"4752:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4752:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14315,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4742:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4742:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":14265,"id":14323,"nodeType":"Return","src":"4713:78:8"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":14326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"4811:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4814:6:8","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":19692,"src":"4811:9:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":14329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14330,"nodeType":"ExpressionStatement","src":"4811:11:8"},{"assignments":[null,14332],"declarations":[null,{"constant":false,"id":14332,"mutability":"mutable","name":"callResult","nameLocation":"4843:10:8","nodeType":"VariableDeclaration","scope":14554,"src":"4835:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4835:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14336,"initialValue":{"arguments":[{"id":14334,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"4868:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14333,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14019,"src":"4857:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":14335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4857:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"4832:41:8"},{"assignments":[14341,null],"declarations":[{"constant":false,"id":14341,"mutability":"mutable","name":"reads","nameLocation":"4901:5:8","nodeType":"VariableDeclaration","scope":14554,"src":"4884:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4884:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14340,"nodeType":"ArrayTypeName","src":"4884:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":14349,"initialValue":{"arguments":[{"arguments":[{"id":14346,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"4931:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4923:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14344,"name":"address","nodeType":"ElementaryTypeName","src":"4923:7:8","typeDescriptions":{}}},"id":14347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4923:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14342,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"4911:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4914:8:8","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":19563,"src":"4911:11:8","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":14348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4911:25:8","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:8"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":14350,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"4951:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:6:8","memberName":"length","nodeType":"MemberAccess","src":"4951:12:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4967:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4951:17:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":14511,"nodeType":"Block","src":"5075:1332:8","statements":[{"body":{"id":14509,"nodeType":"Block","src":"5131:1266:8","statements":[{"assignments":[14369],"declarations":[{"constant":false,"id":14369,"mutability":"mutable","name":"prev","nameLocation":"5157:4:8","nodeType":"VariableDeclaration","scope":14509,"src":"5149:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5149:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14377,"initialValue":{"arguments":[{"id":14372,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"5172:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":14373,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"5177:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14375,"indexExpression":{"id":14374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"5183:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5177:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14370,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"5164:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5167:4:8","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"5164:7:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":14376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5164:22:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5149:37:8"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":14383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14378,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14369,"src":"5208:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":14381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5224:1:8","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":14380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5216:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5216:7:8","typeDescriptions":{}}},"id":14382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5216:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5208:18:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14395,"nodeType":"IfStatement","src":"5204:114:8","trueBody":{"id":14394,"nodeType":"Block","src":"5228:90:8","statements":[{"eventCall":{"arguments":[{"id":14385,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"5276:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":14388,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"5289:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14390,"indexExpression":{"id":14389,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"5295:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5289:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5281:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14386,"name":"uint256","nodeType":"ElementaryTypeName","src":"5281:7:8","typeDescriptions":{}}},"id":14391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5281:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14384,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13910,"src":"5255:20:8","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":14392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5255:44:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14393,"nodeType":"EmitStatement","src":"5250:49:8"}]}},{"condition":{"id":14402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5340:37:8","subExpression":{"arguments":[{"id":14397,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"5362:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":14398,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"5368:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14400,"indexExpression":{"id":14399,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"5374:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5368:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14396,"name":"checkSlotMutatesCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14097,"src":"5341:20:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool)"}},"id":14401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5341:36:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14405,"nodeType":"IfStatement","src":"5336:92:8","trueBody":{"id":14404,"nodeType":"Block","src":"5379:49:8","statements":[{"id":14403,"nodeType":"Continue","src":"5401:8:8"}]}},{"assignments":[14407,14409],"declarations":[{"constant":false,"id":14407,"mutability":"mutable","name":"offsetLeft","nameLocation":"5455:10:8","nodeType":"VariableDeclaration","scope":14509,"src":"5447:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14406,"name":"uint256","nodeType":"ElementaryTypeName","src":"5447:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14409,"mutability":"mutable","name":"offsetRight","nameLocation":"5475:11:8","nodeType":"VariableDeclaration","scope":14509,"src":"5467:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14408,"name":"uint256","nodeType":"ElementaryTypeName","src":"5467:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14413,"initialValue":{"components":[{"hexValue":"30","id":14410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5491:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":14411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5494:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":14412,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5490:6:8","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:8"},{"condition":{"expression":{"id":14414,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"5519:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5524:20:8","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":13891,"src":"5519:25:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14437,"nodeType":"IfStatement","src":"5515:256:8","trueBody":{"id":14436,"nodeType":"Block","src":"5546:225:8","statements":[{"assignments":[14417],"declarations":[{"constant":false,"id":14417,"mutability":"mutable","name":"found","nameLocation":"5573:5:8","nodeType":"VariableDeclaration","scope":14436,"src":"5568:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14416,"name":"bool","nodeType":"ElementaryTypeName","src":"5568:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":14418,"nodeType":"VariableDeclarationStatement","src":"5568:10:8"},{"expression":{"id":14429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":14419,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14417,"src":"5601:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14420,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14407,"src":"5608:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14421,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14409,"src":"5620:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14422,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5600:32:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14424,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"5647:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":14425,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"5653:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14427,"indexExpression":{"id":14426,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"5659:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5653:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14423,"name":"findOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14239,"src":"5635:11:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool,uint256,uint256)"}},"id":14428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5635:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"src":"5600:62:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14430,"nodeType":"ExpressionStatement","src":"5600:62:8"},{"condition":{"id":14432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5688:6:8","subExpression":{"id":14431,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14417,"src":"5689:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14435,"nodeType":"IfStatement","src":"5684:69:8","trueBody":{"id":14434,"nodeType":"Block","src":"5696:57:8","statements":[{"id":14433,"nodeType":"Continue","src":"5722:8:8"}]}}]}},{"assignments":[14439],"declarations":[{"constant":false,"id":14439,"mutability":"mutable","name":"curVal","nameLocation":"5891:6:8","nodeType":"VariableDeclaration","scope":14509,"src":"5883:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14438,"name":"uint256","nodeType":"ElementaryTypeName","src":"5883:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14452,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14442,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14369,"src":"5909:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5901:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14440,"name":"uint256","nodeType":"ElementaryTypeName","src":"5901:7:8","typeDescriptions":{}}},"id":14443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5901:13:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":14445,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14407,"src":"5934:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14446,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14409,"src":"5946:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14444,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15211,"src":"5917:16:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":14447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5901:57:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14449,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5900:59:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":14450,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14409,"src":"5963:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5900:74:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5883:91:8"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":14455,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"6005:10:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5997:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14453,"name":"uint256","nodeType":"ElementaryTypeName","src":"5997:7:8","typeDescriptions":{}}},"id":14456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:19:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":14457,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14439,"src":"6020:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5997:29:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14461,"nodeType":"IfStatement","src":"5993:84:8","trueBody":{"id":14460,"nodeType":"Block","src":"6028:49:8","statements":[{"id":14459,"nodeType":"Continue","src":"6050:8:8"}]}},{"eventCall":{"arguments":[{"id":14463,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"6110:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14464,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"6115:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":14468,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"6148:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14469,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"6156:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6131:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6135:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"6131:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14465,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6121:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6121:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":14474,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"6179:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14476,"indexExpression":{"id":14475,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"6185:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6179:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6171:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14472,"name":"uint256","nodeType":"ElementaryTypeName","src":"6171:7:8","typeDescriptions":{}}},"id":14477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6171:17:8","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":14462,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13904,"src":"6100:9:8","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":14478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6100:89:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14479,"nodeType":"EmitStatement","src":"6095:94:8"},{"expression":{"id":14506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":14480,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"6207:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6212:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"6207:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":14492,"indexExpression":{"id":14482,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"6218:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":14493,"indexExpression":{"id":14483,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"6223:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":14494,"indexExpression":{"arguments":[{"arguments":[{"id":14487,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"6256:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14488,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"6264:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6239:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6243:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"6239:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6239:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14484,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6229:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6229:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6207:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"baseExpression":{"id":14498,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"6318:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14500,"indexExpression":{"id":14499,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"6324:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6318:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6310:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14496,"name":"uint256","nodeType":"ElementaryTypeName","src":"6310:7:8","typeDescriptions":{}}},"id":14501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6310:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14502,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14407,"src":"6329:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14503,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14409,"src":"6341:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":14504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6354:4:8","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":14495,"name":"FindData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13869,"src":"6301:8:8","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"type(struct FindData storage pointer)"}},"id":14505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:58:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_memory_ptr","typeString":"struct FindData memory"}},"src":"6207:152:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"id":14507,"nodeType":"ExpressionStatement","src":"6207:152:8"},{"id":14508,"nodeType":"Break","src":"6377:5:8"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"5120:3:8","subExpression":{"id":14364,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14360,"src":"5122:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":14366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5120:8:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14510,"initializationExpression":{"assignments":[14360],"declarations":[{"constant":false,"id":14360,"mutability":"mutable","name":"i","nameLocation":"5102:1:8","nodeType":"VariableDeclaration","scope":14510,"src":"5094:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14359,"name":"uint256","nodeType":"ElementaryTypeName","src":"5094:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14363,"initialValue":{"expression":{"id":14361,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14341,"src":"5106:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":14362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5112:6:8","memberName":"length","nodeType":"MemberAccess","src":"5106:12:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5094:24:8"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5089:1308:8"}]},"id":14512,"nodeType":"IfStatement","src":"4947:1460:8","trueBody":{"id":14358,"nodeType":"Block","src":"4970:99:8","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":14355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4991:66:8","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":14354,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4984:6:8","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":14356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4984:74:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14357,"nodeType":"ExpressionStatement","src":"4984:74:8"}]}},{"expression":{"arguments":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":14514,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"6438:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6443:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"6438:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":14517,"indexExpression":{"id":14516,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"6449:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":14519,"indexExpression":{"id":14518,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"6454:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":14527,"indexExpression":{"arguments":[{"arguments":[{"id":14523,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"6487:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14524,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"6495:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6470:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6474:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"6470:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6470:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14520,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6460:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6460:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"id":14528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6510:5:8","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":13868,"src":"6438:77:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":14529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6529:49:8","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":14513,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6417:7:8","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":14530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6417:171:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14531,"nodeType":"ExpressionStatement","src":"6417:171:8"},{"condition":{"id":14532,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14260,"src":"6603:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14538,"nodeType":"IfStatement","src":"6599:48:8","trueBody":{"id":14537,"nodeType":"Block","src":"6611:36:8","statements":[{"expression":{"arguments":[{"id":14534,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"6631:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14533,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15200,"src":"6625:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":14535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6625:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14536,"nodeType":"ExpressionStatement","src":"6625:11:8"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":14539,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14258,"src":"6663:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6668:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"6663:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":14542,"indexExpression":{"id":14541,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14267,"src":"6674:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":14544,"indexExpression":{"id":14543,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"6679:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":14552,"indexExpression":{"arguments":[{"arguments":[{"id":14548,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14282,"src":"6712:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":14549,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14277,"src":"6720:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14546,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6695:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6699:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"6695:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6695:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14545,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6685:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":14551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":14265,"id":14553,"nodeType":"Return","src":"6656:78:8"}]},"documentation":{"id":14255,"nodeType":"StructuredDocumentation","src":"3741:129:8","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"id":14555,"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"4258:4:8","nodeType":"FunctionDefinition","parameters":{"id":14261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14258,"mutability":"mutable","name":"self","nameLocation":"4282:4:8","nodeType":"VariableDeclaration","scope":14555,"src":"4263:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14257,"nodeType":"UserDefinedTypeName","pathNode":{"id":14256,"name":"StdStorage","nameLocations":["4263:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"4263:10:8"},"referencedDeclaration":13894,"src":"4263:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14260,"mutability":"mutable","name":"_clear","nameLocation":"4293:6:8","nodeType":"VariableDeclaration","scope":14555,"src":"4288:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14259,"name":"bool","nodeType":"ElementaryTypeName","src":"4288:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4262:38:8"},"returnParameters":{"id":14265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14264,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14555,"src":"4319:16:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"},"typeName":{"id":14263,"nodeType":"UserDefinedTypeName","pathNode":{"id":14262,"name":"FindData","nameLocations":["4319:8:8"],"nodeType":"IdentifierPath","referencedDeclaration":13869,"src":"4319:8:8"},"referencedDeclaration":13869,"src":"4319:8:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"4318:18:8"},"scope":15246,"src":"4249:2492:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14574,"nodeType":"Block","src":"6843:60:8","statements":[{"expression":{"id":14570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14566,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"6853:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6858:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"6853:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14569,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14560,"src":"6868:7:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6853:22:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14571,"nodeType":"ExpressionStatement","src":"6853:22:8"},{"expression":{"id":14572,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"6892:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14565,"id":14573,"nodeType":"Return","src":"6885:11:8"}]},"id":14575,"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"6756:6:8","nodeType":"FunctionDefinition","parameters":{"id":14561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14558,"mutability":"mutable","name":"self","nameLocation":"6782:4:8","nodeType":"VariableDeclaration","scope":14575,"src":"6763:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14557,"nodeType":"UserDefinedTypeName","pathNode":{"id":14556,"name":"StdStorage","nameLocations":["6763:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"6763:10:8"},"referencedDeclaration":13894,"src":"6763:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14560,"mutability":"mutable","name":"_target","nameLocation":"6796:7:8","nodeType":"VariableDeclaration","scope":14575,"src":"6788:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14559,"name":"address","nodeType":"ElementaryTypeName","src":"6788:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6762:42:8"},"returnParameters":{"id":14565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14575,"src":"6823:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14563,"nodeType":"UserDefinedTypeName","pathNode":{"id":14562,"name":"StdStorage","nameLocations":["6823:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"6823:10:8"},"referencedDeclaration":13894,"src":"6823:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6822:20:8"},"scope":15246,"src":"6747:156:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14594,"nodeType":"Block","src":"6998:54:8","statements":[{"expression":{"id":14590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14586,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14578,"src":"7008:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7013:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"7008:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14589,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14580,"src":"7020:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7008:16:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":14591,"nodeType":"ExpressionStatement","src":"7008:16:8"},{"expression":{"id":14592,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14578,"src":"7041:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14585,"id":14593,"nodeType":"Return","src":"7034:11:8"}]},"id":14595,"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"6918:3:8","nodeType":"FunctionDefinition","parameters":{"id":14581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14578,"mutability":"mutable","name":"self","nameLocation":"6941:4:8","nodeType":"VariableDeclaration","scope":14595,"src":"6922:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14577,"nodeType":"UserDefinedTypeName","pathNode":{"id":14576,"name":"StdStorage","nameLocations":["6922:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"6922:10:8"},"referencedDeclaration":13894,"src":"6922:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14580,"mutability":"mutable","name":"_sig","nameLocation":"6954:4:8","nodeType":"VariableDeclaration","scope":14595,"src":"6947:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":14579,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6947:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6921:38:8"},"returnParameters":{"id":14585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14595,"src":"6978:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14583,"nodeType":"UserDefinedTypeName","pathNode":{"id":14582,"name":"StdStorage","nameLocations":["6978:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"6978:10:8"},"referencedDeclaration":13894,"src":"6978:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6977:20:8"},"scope":15246,"src":"6909:143:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14616,"nodeType":"Block","src":"7154:60:8","statements":[{"expression":{"id":14612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14606,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14598,"src":"7164:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7169:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"7164:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":14610,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14600,"src":"7181:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":14609,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13948,"src":"7176:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":14611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7176:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7164:22:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":14613,"nodeType":"ExpressionStatement","src":"7164:22:8"},{"expression":{"id":14614,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14598,"src":"7203:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14605,"id":14615,"nodeType":"Return","src":"7196:11:8"}]},"id":14617,"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7067:3:8","nodeType":"FunctionDefinition","parameters":{"id":14601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14598,"mutability":"mutable","name":"self","nameLocation":"7090:4:8","nodeType":"VariableDeclaration","scope":14617,"src":"7071:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14597,"nodeType":"UserDefinedTypeName","pathNode":{"id":14596,"name":"StdStorage","nameLocations":["7071:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7071:10:8"},"referencedDeclaration":13894,"src":"7071:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14600,"mutability":"mutable","name":"_sig","nameLocation":"7110:4:8","nodeType":"VariableDeclaration","scope":14617,"src":"7096:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14599,"name":"string","nodeType":"ElementaryTypeName","src":"7096:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7070:45:8"},"returnParameters":{"id":14605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14617,"src":"7134:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14603,"nodeType":"UserDefinedTypeName","pathNode":{"id":14602,"name":"StdStorage","nameLocations":["7134:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7134:10:8"},"referencedDeclaration":13894,"src":"7134:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7133:20:8"},"scope":15246,"src":"7058:156:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14636,"nodeType":"Block","src":"7330:64:8","statements":[{"expression":{"id":14632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14628,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14620,"src":"7340:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7345:9:8","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":13893,"src":"7340:14:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14631,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14622,"src":"7357:9:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7340:26:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":14633,"nodeType":"ExpressionStatement","src":"7340:26:8"},{"expression":{"id":14634,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14620,"src":"7383:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14627,"id":14635,"nodeType":"Return","src":"7376:11:8"}]},"id":14637,"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"7229:13:8","nodeType":"FunctionDefinition","parameters":{"id":14623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14620,"mutability":"mutable","name":"self","nameLocation":"7262:4:8","nodeType":"VariableDeclaration","scope":14637,"src":"7243:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14619,"nodeType":"UserDefinedTypeName","pathNode":{"id":14618,"name":"StdStorage","nameLocations":["7243:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7243:10:8"},"referencedDeclaration":13894,"src":"7243:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14622,"mutability":"mutable","name":"_calldata","nameLocation":"7281:9:8","nodeType":"VariableDeclaration","scope":14637,"src":"7268:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14621,"name":"bytes","nodeType":"ElementaryTypeName","src":"7268:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7242:49:8"},"returnParameters":{"id":14627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14637,"src":"7310:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14625,"nodeType":"UserDefinedTypeName","pathNode":{"id":14624,"name":"StdStorage","nameLocations":["7310:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7310:10:8"},"referencedDeclaration":13894,"src":"7310:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7309:20:8"},"scope":15246,"src":"7220:174:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14667,"nodeType":"Block","src":"7494:85:8","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":14659,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14642,"src":"7544:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":14658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":14657,"name":"uint160","nodeType":"ElementaryTypeName","src":"7536:7:8","typeDescriptions":{}}},"id":14660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":14656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7528:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14655,"name":"uint256","nodeType":"ElementaryTypeName","src":"7528:7:8","typeDescriptions":{}}},"id":14661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7520:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7520:7:8","typeDescriptions":{}}},"id":14662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7520:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":14648,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14640,"src":"7504:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7509:5:8","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"7504:10:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":14652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7515:4:8","memberName":"push","nodeType":"MemberAccess","src":"7504:15:8","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":14663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7504:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14664,"nodeType":"ExpressionStatement","src":"7504:47:8"},{"expression":{"id":14665,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14640,"src":"7568:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14647,"id":14666,"nodeType":"Return","src":"7561:11:8"}]},"id":14668,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7409:8:8","nodeType":"FunctionDefinition","parameters":{"id":14643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14640,"mutability":"mutable","name":"self","nameLocation":"7437:4:8","nodeType":"VariableDeclaration","scope":14668,"src":"7418:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14639,"nodeType":"UserDefinedTypeName","pathNode":{"id":14638,"name":"StdStorage","nameLocations":["7418:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7418:10:8"},"referencedDeclaration":13894,"src":"7418:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14642,"mutability":"mutable","name":"who","nameLocation":"7451:3:8","nodeType":"VariableDeclaration","scope":14668,"src":"7443:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14641,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7417:38:8"},"returnParameters":{"id":14647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14668,"src":"7474:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14645,"nodeType":"UserDefinedTypeName","pathNode":{"id":14644,"name":"StdStorage","nameLocations":["7474:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7474:10:8"},"referencedDeclaration":13894,"src":"7474:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7473:20:8"},"scope":15246,"src":"7400:179:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14692,"nodeType":"Block","src":"7679:67:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":14686,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14673,"src":"7713:3:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7705:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7705:7:8","typeDescriptions":{}}},"id":14687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7705:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":14679,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14671,"src":"7689:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7694:5:8","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"7689:10:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":14683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7700:4:8","memberName":"push","nodeType":"MemberAccess","src":"7689:15:8","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":14688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7689:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14689,"nodeType":"ExpressionStatement","src":"7689:29:8"},{"expression":{"id":14690,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14671,"src":"7735:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14678,"id":14691,"nodeType":"Return","src":"7728:11:8"}]},"id":14693,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7594:8:8","nodeType":"FunctionDefinition","parameters":{"id":14674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14671,"mutability":"mutable","name":"self","nameLocation":"7622:4:8","nodeType":"VariableDeclaration","scope":14693,"src":"7603:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14670,"nodeType":"UserDefinedTypeName","pathNode":{"id":14669,"name":"StdStorage","nameLocations":["7603:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7603:10:8"},"referencedDeclaration":13894,"src":"7603:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14673,"mutability":"mutable","name":"amt","nameLocation":"7636:3:8","nodeType":"VariableDeclaration","scope":14693,"src":"7628:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14672,"name":"uint256","nodeType":"ElementaryTypeName","src":"7628:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7602:38:8"},"returnParameters":{"id":14678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14693,"src":"7659:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14676,"nodeType":"UserDefinedTypeName","pathNode":{"id":14675,"name":"StdStorage","nameLocations":["7659:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7659:10:8"},"referencedDeclaration":13894,"src":"7659:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7658:20:8"},"scope":15246,"src":"7585:161:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14714,"nodeType":"Block","src":"7846:58:8","statements":[{"expression":{"arguments":[{"id":14709,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14698,"src":"7872:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":14704,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14696,"src":"7856:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7861:5:8","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"7856:10:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":14708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7867:4:8","memberName":"push","nodeType":"MemberAccess","src":"7856:15:8","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":14710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7856:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14711,"nodeType":"ExpressionStatement","src":"7856:20:8"},{"expression":{"id":14712,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14696,"src":"7893:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14703,"id":14713,"nodeType":"Return","src":"7886:11:8"}]},"id":14715,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7761:8:8","nodeType":"FunctionDefinition","parameters":{"id":14699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14696,"mutability":"mutable","name":"self","nameLocation":"7789:4:8","nodeType":"VariableDeclaration","scope":14715,"src":"7770:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14695,"nodeType":"UserDefinedTypeName","pathNode":{"id":14694,"name":"StdStorage","nameLocations":["7770:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7770:10:8"},"referencedDeclaration":13894,"src":"7770:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14698,"mutability":"mutable","name":"key","nameLocation":"7803:3:8","nodeType":"VariableDeclaration","scope":14715,"src":"7795:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7795:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7769:38:8"},"returnParameters":{"id":14703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14715,"src":"7826:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14701,"nodeType":"UserDefinedTypeName","pathNode":{"id":14700,"name":"StdStorage","nameLocations":["7826:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7826:10:8"},"referencedDeclaration":13894,"src":"7826:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7825:20:8"},"scope":15246,"src":"7752:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14732,"nodeType":"Block","src":"8002:70:8","statements":[{"expression":{"id":14728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14724,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14718,"src":"8012:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8017:20:8","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":13891,"src":"8012:25:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":14727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8040:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8012:32:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14729,"nodeType":"ExpressionStatement","src":"8012:32:8"},{"expression":{"id":14730,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14718,"src":"8061:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14723,"id":14731,"nodeType":"Return","src":"8054:11:8"}]},"id":14733,"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"7919:19:8","nodeType":"FunctionDefinition","parameters":{"id":14719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14718,"mutability":"mutable","name":"self","nameLocation":"7958:4:8","nodeType":"VariableDeclaration","scope":14733,"src":"7939:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14717,"nodeType":"UserDefinedTypeName","pathNode":{"id":14716,"name":"StdStorage","nameLocations":["7939:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7939:10:8"},"referencedDeclaration":13894,"src":"7939:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7938:25:8"},"returnParameters":{"id":14723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14733,"src":"7982:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14721,"nodeType":"UserDefinedTypeName","pathNode":{"id":14720,"name":"StdStorage","nameLocations":["7982:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"7982:10:8"},"referencedDeclaration":13894,"src":"7982:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7981:20:8"},"scope":15246,"src":"7910:162:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14752,"nodeType":"Block","src":"8172:58:8","statements":[{"expression":{"id":14748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":14744,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14736,"src":"8182:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8187:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"8182:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":14747,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14738,"src":"8196:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8182:20:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14749,"nodeType":"ExpressionStatement","src":"8182:20:8"},{"expression":{"id":14750,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14736,"src":"8219:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":14743,"id":14751,"nodeType":"Return","src":"8212:11:8"}]},"id":14753,"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8087:5:8","nodeType":"FunctionDefinition","parameters":{"id":14739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14736,"mutability":"mutable","name":"self","nameLocation":"8112:4:8","nodeType":"VariableDeclaration","scope":14753,"src":"8093:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14735,"nodeType":"UserDefinedTypeName","pathNode":{"id":14734,"name":"StdStorage","nameLocations":["8093:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"8093:10:8"},"referencedDeclaration":13894,"src":"8093:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":14738,"mutability":"mutable","name":"_depth","nameLocation":"8126:6:8","nodeType":"VariableDeclaration","scope":14753,"src":"8118:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14737,"name":"uint256","nodeType":"ElementaryTypeName","src":"8118:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8092:41:8"},"returnParameters":{"id":14743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14753,"src":"8152:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14741,"nodeType":"UserDefinedTypeName","pathNode":{"id":14740,"name":"StdStorage","nameLocations":["8152:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"8152:10:8"},"referencedDeclaration":13894,"src":"8152:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8151:20:8"},"scope":15246,"src":"8078:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14809,"nodeType":"Block","src":"8306:294:8","statements":[{"assignments":[14763],"declarations":[{"constant":false,"id":14763,"mutability":"mutable","name":"data","nameLocation":"8333:4:8","nodeType":"VariableDeclaration","scope":14809,"src":"8316:21:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"},"typeName":{"id":14762,"nodeType":"UserDefinedTypeName","pathNode":{"id":14761,"name":"FindData","nameLocations":["8316:8:8"],"nodeType":"IdentifierPath","referencedDeclaration":13869,"src":"8316:8:8"},"referencedDeclaration":13869,"src":"8316:8:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":14768,"initialValue":{"arguments":[{"id":14765,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14756,"src":"8345:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":14766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8351:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":14764,"name":"find","nodeType":"Identifier","overloadedDeclarations":[14254,14555],"referencedDeclaration":14555,"src":"8340:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":14767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8340:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8316:41:8"},{"assignments":[14770],"declarations":[{"constant":false,"id":14770,"mutability":"mutable","name":"mask","nameLocation":"8375:4:8","nodeType":"VariableDeclaration","scope":14809,"src":"8367:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14769,"name":"uint256","nodeType":"ElementaryTypeName","src":"8367:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14777,"initialValue":{"arguments":[{"expression":{"id":14772,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14763,"src":"8399:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":14773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8404:10:8","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":13864,"src":"8399:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":14774,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14763,"src":"8416:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":14775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8421:11:8","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":13866,"src":"8416:16:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14771,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15211,"src":"8382:16:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":14776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8382:51:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8367:66:8"},{"assignments":[14779],"declarations":[{"constant":false,"id":14779,"mutability":"mutable","name":"value","nameLocation":"8451:5:8","nodeType":"VariableDeclaration","scope":14809,"src":"8443:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14778,"name":"uint256","nodeType":"ElementaryTypeName","src":"8443:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14799,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":14784,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14756,"src":"8476:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8481:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"8476:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":14788,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14763,"src":"8498:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":14789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8503:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"8498:9:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8490:7:8","typeDescriptions":{}}},"id":14790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14782,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"8468:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8471:4:8","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"8468:7:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":14791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8468:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8460:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14780,"name":"uint256","nodeType":"ElementaryTypeName","src":"8460:7:8","typeDescriptions":{}}},"id":14792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8460:50:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":14793,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14770,"src":"8513:4:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8460:57:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":14795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8459:59:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"expression":{"id":14796,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14763,"src":"8522:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":14797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8527:11:8","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":13866,"src":"8522:16:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8459:79:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8443:95:8"},{"expression":{"arguments":[{"id":14801,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14756,"src":"8554:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14800,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15200,"src":"8548:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":14802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8548:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14803,"nodeType":"ExpressionStatement","src":"8548:11:8"},{"expression":{"arguments":[{"id":14806,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14779,"src":"8587:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8576:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8580:6:8","memberName":"encode","nodeType":"MemberAccess","src":"8576:10:8","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":14807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8576:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":14760,"id":14808,"nodeType":"Return","src":"8569:24:8"}]},"id":14810,"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"8245:4:8","nodeType":"FunctionDefinition","parameters":{"id":14757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14756,"mutability":"mutable","name":"self","nameLocation":"8269:4:8","nodeType":"VariableDeclaration","scope":14810,"src":"8250:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14755,"nodeType":"UserDefinedTypeName","pathNode":{"id":14754,"name":"StdStorage","nameLocations":["8250:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"8250:10:8"},"referencedDeclaration":13894,"src":"8250:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8249:25:8"},"returnParameters":{"id":14760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14810,"src":"8292:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14758,"name":"bytes","nodeType":"ElementaryTypeName","src":"8292:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8291:14:8"},"scope":15246,"src":"8236:364:8","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":14828,"nodeType":"Block","src":"8680:57:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":14821,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14813,"src":"8713:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14820,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14810,"src":"8708:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":14822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8708:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":14824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8721:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8721:7:8","typeDescriptions":{}}}],"id":14825,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8720:9:8","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":14818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8697:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8701:6:8","memberName":"decode","nodeType":"MemberAccess","src":"8697:10:8","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":14826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8697:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":14817,"id":14827,"nodeType":"Return","src":"8690:40:8"}]},"id":14829,"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"8615:12:8","nodeType":"FunctionDefinition","parameters":{"id":14814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14813,"mutability":"mutable","name":"self","nameLocation":"8647:4:8","nodeType":"VariableDeclaration","scope":14829,"src":"8628:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14812,"nodeType":"UserDefinedTypeName","pathNode":{"id":14811,"name":"StdStorage","nameLocations":["8628:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"8628:10:8"},"referencedDeclaration":13894,"src":"8628:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8627:25:8"},"returnParameters":{"id":14817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14829,"src":"8671:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8671:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8670:9:8"},"scope":15246,"src":"8606:131:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14859,"nodeType":"Block","src":"8811:211:8","statements":[{"assignments":[14838],"declarations":[{"constant":false,"id":14838,"mutability":"mutable","name":"v","nameLocation":"8828:1:8","nodeType":"VariableDeclaration","scope":14859,"src":"8821:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14837,"name":"int256","nodeType":"ElementaryTypeName","src":"8821:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":14842,"initialValue":{"arguments":[{"id":14840,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14832,"src":"8841:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14839,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14917,"src":"8832:8:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":14841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8832:14:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8821:25:8"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":14845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14843,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14838,"src":"8860:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":14844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8865:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8860:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14848,"nodeType":"IfStatement","src":"8856:24:8","trueBody":{"expression":{"hexValue":"66616c7365","id":14846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8875:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":14836,"id":14847,"nodeType":"Return","src":"8868:12:8"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":14851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":14849,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14838,"src":"8894:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":14850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8899:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8894:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14854,"nodeType":"IfStatement","src":"8890:23:8","trueBody":{"expression":{"hexValue":"74727565","id":14852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8909:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":14836,"id":14853,"nodeType":"Return","src":"8902:11:8"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":14856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8930:84:8","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":14855,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8923:6:8","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":14857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8923:92:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14858,"nodeType":"ExpressionStatement","src":"8923:92:8"}]},"id":14860,"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"8752:9:8","nodeType":"FunctionDefinition","parameters":{"id":14833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14832,"mutability":"mutable","name":"self","nameLocation":"8781:4:8","nodeType":"VariableDeclaration","scope":14860,"src":"8762:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14831,"nodeType":"UserDefinedTypeName","pathNode":{"id":14830,"name":"StdStorage","nameLocations":["8762:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"8762:10:8"},"referencedDeclaration":13894,"src":"8762:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8761:25:8"},"returnParameters":{"id":14836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14860,"src":"8805:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14834,"name":"bool","nodeType":"ElementaryTypeName","src":"8805:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8804:6:8"},"scope":15246,"src":"8743:279:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14878,"nodeType":"Block","src":"9102:57:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":14871,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14863,"src":"9135:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14870,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14810,"src":"9130:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":14872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9130:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":14874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9143:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14873,"name":"address","nodeType":"ElementaryTypeName","src":"9143:7:8","typeDescriptions":{}}}],"id":14875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9142:9:8","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":14868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9119:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9123:6:8","memberName":"decode","nodeType":"MemberAccess","src":"9119:10:8","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":14876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":14867,"id":14877,"nodeType":"Return","src":"9112:40:8"}]},"id":14879,"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"9037:12:8","nodeType":"FunctionDefinition","parameters":{"id":14864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14863,"mutability":"mutable","name":"self","nameLocation":"9069:4:8","nodeType":"VariableDeclaration","scope":14879,"src":"9050:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14862,"nodeType":"UserDefinedTypeName","pathNode":{"id":14861,"name":"StdStorage","nameLocations":["9050:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"9050:10:8"},"referencedDeclaration":13894,"src":"9050:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9049:25:8"},"returnParameters":{"id":14867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14879,"src":"9093:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14865,"name":"address","nodeType":"ElementaryTypeName","src":"9093:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9092:9:8"},"scope":15246,"src":"9028:131:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14897,"nodeType":"Block","src":"9236:57:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":14890,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14882,"src":"9269:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14889,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14810,"src":"9264:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":14891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9264:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":14893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9277:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14892,"name":"uint256","nodeType":"ElementaryTypeName","src":"9277:7:8","typeDescriptions":{}}}],"id":14894,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9276:9:8","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":14887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9253:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9257:6:8","memberName":"decode","nodeType":"MemberAccess","src":"9253:10:8","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":14895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9253:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14886,"id":14896,"nodeType":"Return","src":"9246:40:8"}]},"id":14898,"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"9174:9:8","nodeType":"FunctionDefinition","parameters":{"id":14883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14882,"mutability":"mutable","name":"self","nameLocation":"9203:4:8","nodeType":"VariableDeclaration","scope":14898,"src":"9184:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14881,"nodeType":"UserDefinedTypeName","pathNode":{"id":14880,"name":"StdStorage","nameLocations":["9184:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"9184:10:8"},"referencedDeclaration":13894,"src":"9184:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9183:25:8"},"returnParameters":{"id":14886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14898,"src":"9227:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14884,"name":"uint256","nodeType":"ElementaryTypeName","src":"9227:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9226:9:8"},"scope":15246,"src":"9165:128:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14916,"nodeType":"Block","src":"9368:56:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":14909,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14901,"src":"9401:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":14908,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14810,"src":"9396:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":14910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9396:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":14912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9409:6:8","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":14911,"name":"int256","nodeType":"ElementaryTypeName","src":"9409:6:8","typeDescriptions":{}}}],"id":14913,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9408:8:8","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":14906,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9385:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9389:6:8","memberName":"decode","nodeType":"MemberAccess","src":"9385:10:8","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":14914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9385:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":14905,"id":14915,"nodeType":"Return","src":"9378:39:8"}]},"id":14917,"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"9308:8:8","nodeType":"FunctionDefinition","parameters":{"id":14902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14901,"mutability":"mutable","name":"self","nameLocation":"9336:4:8","nodeType":"VariableDeclaration","scope":14917,"src":"9317:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14900,"nodeType":"UserDefinedTypeName","pathNode":{"id":14899,"name":"StdStorage","nameLocations":["9317:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"9317:10:8"},"referencedDeclaration":13894,"src":"9317:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9316:25:8"},"returnParameters":{"id":14905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14904,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14917,"src":"9360:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14903,"name":"int256","nodeType":"ElementaryTypeName","src":"9360:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9359:8:8"},"scope":15246,"src":"9299:125:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":14982,"nodeType":"Block","src":"9507:544:8","statements":[{"assignments":[14928],"declarations":[{"constant":false,"id":14928,"mutability":"mutable","name":"who","nameLocation":"9525:3:8","nodeType":"VariableDeclaration","scope":14982,"src":"9517:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14927,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":14931,"initialValue":{"expression":{"id":14929,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14920,"src":"9531:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9536:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"9531:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9517:26:8"},{"assignments":[14933],"declarations":[{"constant":false,"id":14933,"mutability":"mutable","name":"field_depth","nameLocation":"9561:11:8","nodeType":"VariableDeclaration","scope":14982,"src":"9553:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14932,"name":"uint256","nodeType":"ElementaryTypeName","src":"9553:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14936,"initialValue":{"expression":{"id":14934,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14920,"src":"9575:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9580:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"9575:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9553:33:8"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":14937,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"9596:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9599:21:8","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":19734,"src":"9596:24:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":14940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:26:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14941,"nodeType":"ExpressionStatement","src":"9596:26:8"},{"assignments":[14943],"declarations":[{"constant":false,"id":14943,"mutability":"mutable","name":"child","nameLocation":"9640:5:8","nodeType":"VariableDeclaration","scope":14982,"src":"9632:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14942,"name":"uint256","nodeType":"ElementaryTypeName","src":"9632:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":14951,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":14950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":14945,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14920,"src":"9653:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":14946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9659:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":14944,"name":"find","nodeType":"Identifier","overloadedDeclarations":[14254,14555],"referencedDeclaration":14555,"src":"9648:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":14947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9648:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":14948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9665:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"9648:21:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":14949,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14933,"src":"9672:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9648:35:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9632:51:8"},{"assignments":[14953,14955,14957],"declarations":[{"constant":false,"id":14953,"mutability":"mutable","name":"found","nameLocation":"9699:5:8","nodeType":"VariableDeclaration","scope":14982,"src":"9694:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14952,"name":"bool","nodeType":"ElementaryTypeName","src":"9694:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14955,"mutability":"mutable","name":"key","nameLocation":"9714:3:8","nodeType":"VariableDeclaration","scope":14982,"src":"9706:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9706:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14957,"mutability":"mutable","name":"parent_slot","nameLocation":"9727:11:8","nodeType":"VariableDeclaration","scope":14982,"src":"9719:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9719:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":14966,"initialValue":{"arguments":[{"id":14960,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14928,"src":"9770:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":14963,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14943,"src":"9783:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":14962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9775:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":14961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9775:7:8","typeDescriptions":{}}},"id":14964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9775:14:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":14958,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"9742:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":14959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:24:8","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":19620,"src":"9742:27:8","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":14965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9693:97:8"},{"condition":{"id":14968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9804:6:8","subExpression":{"id":14967,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14953,"src":"9805:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14974,"nodeType":"IfStatement","src":"9800:201:8","trueBody":{"id":14973,"nodeType":"Block","src":"9812:189:8","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":14970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9850:126:8","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":14969,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9826:6:8","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":14971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:164:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14972,"nodeType":"ExpressionStatement","src":"9826:164:8"}]}},{"expression":{"components":[{"arguments":[{"id":14977,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14957,"src":"10026:11:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":14976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10018:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":14975,"name":"uint256","nodeType":"ElementaryTypeName","src":"10018:7:8","typeDescriptions":{}}},"id":14978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10018:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14979,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14955,"src":"10040:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":14980,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10017:27:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":14926,"id":14981,"nodeType":"Return","src":"10010:34:8"}]},"id":14983,"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"9439:6:8","nodeType":"FunctionDefinition","parameters":{"id":14921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14920,"mutability":"mutable","name":"self","nameLocation":"9465:4:8","nodeType":"VariableDeclaration","scope":14983,"src":"9446:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14919,"nodeType":"UserDefinedTypeName","pathNode":{"id":14918,"name":"StdStorage","nameLocations":["9446:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"9446:10:8"},"referencedDeclaration":13894,"src":"9446:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9445:25:8"},"returnParameters":{"id":14926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14983,"src":"9489:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14922,"name":"uint256","nodeType":"ElementaryTypeName","src":"9489:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14983,"src":"9498:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9498:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9488:18:8"},"scope":15246,"src":"9430:621:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15071,"nodeType":"Block","src":"10123:747:8","statements":[{"assignments":[14992],"declarations":[{"constant":false,"id":14992,"mutability":"mutable","name":"who","nameLocation":"10141:3:8","nodeType":"VariableDeclaration","scope":15071,"src":"10133:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14991,"name":"address","nodeType":"ElementaryTypeName","src":"10133:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":14995,"initialValue":{"expression":{"id":14993,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14986,"src":"10147:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10152:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"10147:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10133:26:8"},{"assignments":[14997],"declarations":[{"constant":false,"id":14997,"mutability":"mutable","name":"field_depth","nameLocation":"10177:11:8","nodeType":"VariableDeclaration","scope":15071,"src":"10169:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14996,"name":"uint256","nodeType":"ElementaryTypeName","src":"10169:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15000,"initialValue":{"expression":{"id":14998,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14986,"src":"10191:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":14999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10196:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"10191:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10169:33:8"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":15001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"10212:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10215:21:8","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":19734,"src":"10212:24:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":15004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10212:26:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15005,"nodeType":"ExpressionStatement","src":"10212:26:8"},{"assignments":[15007],"declarations":[{"constant":false,"id":15007,"mutability":"mutable","name":"child","nameLocation":"10256:5:8","nodeType":"VariableDeclaration","scope":15071,"src":"10248:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15006,"name":"uint256","nodeType":"ElementaryTypeName","src":"10248:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15015,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":15009,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14986,"src":"10269:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":15010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10275:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":15008,"name":"find","nodeType":"Identifier","overloadedDeclarations":[14254,14555],"referencedDeclaration":14555,"src":"10264:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":15011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10264:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10281:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"10264:21:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":15013,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14997,"src":"10288:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10264:35:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10248:51:8"},{"assignments":[15017],"declarations":[{"constant":false,"id":15017,"mutability":"mutable","name":"found","nameLocation":"10314:5:8","nodeType":"VariableDeclaration","scope":15071,"src":"10309:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15016,"name":"bool","nodeType":"ElementaryTypeName","src":"10309:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":15018,"nodeType":"VariableDeclarationStatement","src":"10309:10:8"},{"assignments":[15020],"declarations":[{"constant":false,"id":15020,"mutability":"mutable","name":"root_slot","nameLocation":"10337:9:8","nodeType":"VariableDeclaration","scope":15071,"src":"10329:17:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10329:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15021,"nodeType":"VariableDeclarationStatement","src":"10329:17:8"},{"assignments":[15023],"declarations":[{"constant":false,"id":15023,"mutability":"mutable","name":"parent_slot","nameLocation":"10364:11:8","nodeType":"VariableDeclaration","scope":15071,"src":"10356:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10356:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15024,"nodeType":"VariableDeclarationStatement","src":"10356:19:8"},{"expression":{"id":15036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":15025,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15017,"src":"10386:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":15026,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"10394:11:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15027,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10385:21:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15030,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14992,"src":"10437:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":15033,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15007,"src":"10450:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10442:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10442:7:8","typeDescriptions":{}}},"id":15034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10442:14:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":15028,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"10409:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10412:24:8","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":19620,"src":"10409:27:8","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":15035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10409:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10385:72:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15037,"nodeType":"ExpressionStatement","src":"10385:72:8"},{"condition":{"id":15039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10471:6:8","subExpression":{"id":15038,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15017,"src":"10472:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15045,"nodeType":"IfStatement","src":"10467:201:8","trueBody":{"id":15044,"nodeType":"Block","src":"10479:189:8","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":15041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10517:126:8","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":15040,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10493:6:8","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":15042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10493:164:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15043,"nodeType":"ExpressionStatement","src":"10493:164:8"}]}},{"body":{"id":15064,"nodeType":"Block","src":"10691:138:8","statements":[{"expression":{"id":15049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":15047,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15020,"src":"10705:9:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":15048,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"10717:11:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10705:23:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15050,"nodeType":"ExpressionStatement","src":"10705:23:8"},{"expression":{"id":15062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":15051,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15017,"src":"10743:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":15052,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"10751:11:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":15053,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10742:21:8","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":15056,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14992,"src":"10794:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":15059,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15020,"src":"10807:9:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10799:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10799:7:8","typeDescriptions":{}}},"id":15060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10799:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":15054,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13927,"src":"10766:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10769:24:8","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":19620,"src":"10766:27:8","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":15061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10766:52:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10742:76:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15063,"nodeType":"ExpressionStatement","src":"10742:76:8"}]},"condition":{"id":15046,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15017,"src":"10684:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15065,"nodeType":"WhileStatement","src":"10677:152:8"},{"expression":{"arguments":[{"id":15068,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15020,"src":"10853:9:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15066,"name":"uint256","nodeType":"ElementaryTypeName","src":"10845:7:8","typeDescriptions":{}}},"id":15069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":14990,"id":15070,"nodeType":"Return","src":"10838:25:8"}]},"id":15072,"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"10066:4:8","nodeType":"FunctionDefinition","parameters":{"id":14987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14986,"mutability":"mutable","name":"self","nameLocation":"10090:4:8","nodeType":"VariableDeclaration","scope":15072,"src":"10071:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":14985,"nodeType":"UserDefinedTypeName","pathNode":{"id":14984,"name":"StdStorage","nameLocations":["10071:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"10071:10:8"},"referencedDeclaration":13894,"src":"10071:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10070:25:8"},"returnParameters":{"id":14990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15072,"src":"10114:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14988,"name":"uint256","nodeType":"ElementaryTypeName","src":"10114:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10113:9:8"},"scope":15246,"src":"10057:813:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15127,"nodeType":"Block","src":"10963:217:8","statements":[{"assignments":[15082],"declarations":[{"constant":false,"id":15082,"mutability":"mutable","name":"out","nameLocation":"10981:3:8","nodeType":"VariableDeclaration","scope":15127,"src":"10973:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10973:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15083,"nodeType":"VariableDeclarationStatement","src":"10973:11:8"},{"assignments":[15085],"declarations":[{"constant":false,"id":15085,"mutability":"mutable","name":"max","nameLocation":"11003:3:8","nodeType":"VariableDeclaration","scope":15127,"src":"10995:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15084,"name":"uint256","nodeType":"ElementaryTypeName","src":"10995:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15094,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15086,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15074,"src":"11009:1:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11011:6:8","memberName":"length","nodeType":"MemberAccess","src":"11009:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":15088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11009:13:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":15091,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15074,"src":"11030:1:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11032:6:8","memberName":"length","nodeType":"MemberAccess","src":"11030:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11009:29:8","trueExpression":{"hexValue":"3332","id":15090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11025:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10995:43:8"},{"body":{"id":15123,"nodeType":"Block","src":"11082:72:8","statements":[{"expression":{"id":15121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":15105,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15082,"src":"11096:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":15120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":15114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":15108,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15074,"src":"11111:1:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":15112,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15109,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15076,"src":"11113:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":15110,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15096,"src":"11122:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11113:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11111:13:8","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":15113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11127:4:8","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11111:20:8","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":15107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11103:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11103:7:8","typeDescriptions":{}}},"id":15115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11103:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15116,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15096,"src":"11137:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":15117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11141:1:8","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11137:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15119,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11136:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11103:40:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11096:47:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15122,"nodeType":"ExpressionStatement","src":"11096:47:8"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15099,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15096,"src":"11068:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":15100,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15085,"src":"11072:3:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11068:7:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15124,"initializationExpression":{"assignments":[15096],"declarations":[{"constant":false,"id":15096,"mutability":"mutable","name":"i","nameLocation":"11061:1:8","nodeType":"VariableDeclaration","scope":15124,"src":"11053:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15095,"name":"uint256","nodeType":"ElementaryTypeName","src":"11053:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15098,"initialValue":{"hexValue":"30","id":15097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11065:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11053:13:8"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":15103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11077:3:8","subExpression":{"id":15102,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15096,"src":"11077:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15104,"nodeType":"ExpressionStatement","src":"11077:3:8"},"nodeType":"ForStatement","src":"11048:106:8"},{"expression":{"id":15125,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15082,"src":"11170:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":15080,"id":15126,"nodeType":"Return","src":"11163:10:8"}]},"id":15128,"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"10885:14:8","nodeType":"FunctionDefinition","parameters":{"id":15077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15074,"mutability":"mutable","name":"b","nameLocation":"10913:1:8","nodeType":"VariableDeclaration","scope":15128,"src":"10900:14:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15073,"name":"bytes","nodeType":"ElementaryTypeName","src":"10900:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15076,"mutability":"mutable","name":"offset","nameLocation":"10924:6:8","nodeType":"VariableDeclaration","scope":15128,"src":"10916:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15075,"name":"uint256","nodeType":"ElementaryTypeName","src":"10916:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10899:32:8"},"returnParameters":{"id":15080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15128,"src":"10954:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10954:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10953:9:8"},"scope":15246,"src":"10876:304:8","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":15168,"nodeType":"Block","src":"11259:320:8","statements":[{"assignments":[15137],"declarations":[{"constant":false,"id":15137,"mutability":"mutable","name":"result","nameLocation":"11282:6:8","nodeType":"VariableDeclaration","scope":15168,"src":"11269:19:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15136,"name":"bytes","nodeType":"ElementaryTypeName","src":"11269:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15145,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15140,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15131,"src":"11301:1:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11303:6:8","memberName":"length","nodeType":"MemberAccess","src":"11301:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":15142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11312:2:8","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11301:13:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11291:9:8","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":15138,"name":"bytes","nodeType":"ElementaryTypeName","src":"11295:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":15144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11291:24:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11269:46:8"},{"body":{"id":15164,"nodeType":"Block","src":"11364:185:8","statements":[{"assignments":[15158],"declarations":[{"constant":false,"id":15158,"mutability":"mutable","name":"k","nameLocation":"11386:1:8","nodeType":"VariableDeclaration","scope":15164,"src":"11378:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11378:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15162,"initialValue":{"baseExpression":{"id":15159,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15131,"src":"11390:1:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15161,"indexExpression":{"id":15160,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15147,"src":"11392:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11390:4:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11378:16:8"},{"AST":{"nativeSrc":"11464:75:8","nodeType":"YulBlock","src":"11464:75:8","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11493:6:8","nodeType":"YulIdentifier","src":"11493:6:8"},{"arguments":[{"kind":"number","nativeSrc":"11505:2:8","nodeType":"YulLiteral","src":"11505:2:8","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11513:2:8","nodeType":"YulLiteral","src":"11513:2:8","type":"","value":"32"},{"name":"i","nativeSrc":"11517:1:8","nodeType":"YulIdentifier","src":"11517:1:8"}],"functionName":{"name":"mul","nativeSrc":"11509:3:8","nodeType":"YulIdentifier","src":"11509:3:8"},"nativeSrc":"11509:10:8","nodeType":"YulFunctionCall","src":"11509:10:8"}],"functionName":{"name":"add","nativeSrc":"11501:3:8","nodeType":"YulIdentifier","src":"11501:3:8"},"nativeSrc":"11501:19:8","nodeType":"YulFunctionCall","src":"11501:19:8"}],"functionName":{"name":"add","nativeSrc":"11489:3:8","nodeType":"YulIdentifier","src":"11489:3:8"},"nativeSrc":"11489:32:8","nodeType":"YulFunctionCall","src":"11489:32:8"},{"name":"k","nativeSrc":"11523:1:8","nodeType":"YulIdentifier","src":"11523:1:8"}],"functionName":{"name":"mstore","nativeSrc":"11482:6:8","nodeType":"YulIdentifier","src":"11482:6:8"},"nativeSrc":"11482:43:8","nodeType":"YulFunctionCall","src":"11482:43:8"},"nativeSrc":"11482:43:8","nodeType":"YulExpressionStatement","src":"11482:43:8"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":15147,"isOffset":false,"isSlot":false,"src":"11517:1:8","valueSize":1},{"declaration":15158,"isOffset":false,"isSlot":false,"src":"11523:1:8","valueSize":1},{"declaration":15137,"isOffset":false,"isSlot":false,"src":"11493:6:8","valueSize":1}],"id":15163,"nodeType":"InlineAssembly","src":"11455:84:8"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15150,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15147,"src":"11345:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":15151,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15131,"src":"11349:1:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":15152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11351:6:8","memberName":"length","nodeType":"MemberAccess","src":"11349:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11345:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15165,"initializationExpression":{"assignments":[15147],"declarations":[{"constant":false,"id":15147,"mutability":"mutable","name":"i","nameLocation":"11338:1:8","nodeType":"VariableDeclaration","scope":15165,"src":"11330:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15146,"name":"uint256","nodeType":"ElementaryTypeName","src":"11330:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15149,"initialValue":{"hexValue":"30","id":15148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11342:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11330:13:8"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":15155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11359:3:8","subExpression":{"id":15154,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15147,"src":"11359:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15156,"nodeType":"ExpressionStatement","src":"11359:3:8"},"nodeType":"ForStatement","src":"11325:224:8"},{"expression":{"id":15166,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15137,"src":"11566:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":15135,"id":15167,"nodeType":"Return","src":"11559:13:8"}]},"id":15169,"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11195:7:8","nodeType":"FunctionDefinition","parameters":{"id":15132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15131,"mutability":"mutable","name":"b","nameLocation":"11220:1:8","nodeType":"VariableDeclaration","scope":15169,"src":"11203:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11203:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15130,"nodeType":"ArrayTypeName","src":"11203:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11202:20:8"},"returnParameters":{"id":15135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15169,"src":"11245:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15133,"name":"bytes","nodeType":"ElementaryTypeName","src":"11245:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11244:14:8"},"scope":15246,"src":"11186:393:8","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":15199,"nodeType":"Block","src":"11634:190:8","statements":[{"expression":{"id":15177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11644:19:8","subExpression":{"expression":{"id":15175,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11651:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11656:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"11651:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15178,"nodeType":"ExpressionStatement","src":"11644:19:8"},{"expression":{"id":15181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11673:16:8","subExpression":{"expression":{"id":15179,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11680:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11685:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"11680:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15182,"nodeType":"ExpressionStatement","src":"11673:16:8"},{"expression":{"id":15185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11699:17:8","subExpression":{"expression":{"id":15183,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11706:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11711:5:8","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"11706:10:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15186,"nodeType":"ExpressionStatement","src":"11699:17:8"},{"expression":{"id":15189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11726:18:8","subExpression":{"expression":{"id":15187,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11733:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11738:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"11733:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15190,"nodeType":"ExpressionStatement","src":"11726:18:8"},{"expression":{"id":15193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11754:32:8","subExpression":{"expression":{"id":15191,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11761:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11766:20:8","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":13891,"src":"11761:25:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15194,"nodeType":"ExpressionStatement","src":"11754:32:8"},{"expression":{"id":15197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11796:21:8","subExpression":{"expression":{"id":15195,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"11803:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11808:9:8","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":13893,"src":"11803:14:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15198,"nodeType":"ExpressionStatement","src":"11796:21:8"}]},"id":15200,"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11594:5:8","nodeType":"FunctionDefinition","parameters":{"id":15173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15172,"mutability":"mutable","name":"self","nameLocation":"11619:4:8","nodeType":"VariableDeclaration","scope":15200,"src":"11600:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15171,"nodeType":"UserDefinedTypeName","pathNode":{"id":15170,"name":"StdStorage","nameLocations":["11600:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"11600:10:8"},"referencedDeclaration":13894,"src":"11600:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"11599:25:8"},"returnParameters":{"id":15174,"nodeType":"ParameterList","parameters":[],"src":"11634:0:8"},"scope":15246,"src":"11585:239:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15210,"nodeType":"Block","src":"12121:272:8","statements":[{"AST":{"nativeSrc":"12283:104:8","nodeType":"YulBlock","src":"12283:104:8","statements":[{"nativeSrc":"12297:80:8","nodeType":"YulAssignment","src":"12297:80:8","value":{"arguments":[{"name":"offsetRight","nativeSrc":"12309:11:8","nodeType":"YulIdentifier","src":"12309:11:8"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12334:3:8","nodeType":"YulLiteral","src":"12334:3:8","type":"","value":"256"},{"arguments":[{"name":"offsetRight","nativeSrc":"12343:11:8","nodeType":"YulIdentifier","src":"12343:11:8"},{"name":"offsetLeft","nativeSrc":"12356:10:8","nodeType":"YulIdentifier","src":"12356:10:8"}],"functionName":{"name":"add","nativeSrc":"12339:3:8","nodeType":"YulIdentifier","src":"12339:3:8"},"nativeSrc":"12339:28:8","nodeType":"YulFunctionCall","src":"12339:28:8"}],"functionName":{"name":"sub","nativeSrc":"12330:3:8","nodeType":"YulIdentifier","src":"12330:3:8"},"nativeSrc":"12330:38:8","nodeType":"YulFunctionCall","src":"12330:38:8"},{"kind":"number","nativeSrc":"12370:1:8","nodeType":"YulLiteral","src":"12370:1:8","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"12326:3:8","nodeType":"YulIdentifier","src":"12326:3:8"},"nativeSrc":"12326:46:8","nodeType":"YulFunctionCall","src":"12326:46:8"},{"kind":"number","nativeSrc":"12374:1:8","nodeType":"YulLiteral","src":"12374:1:8","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"12322:3:8","nodeType":"YulIdentifier","src":"12322:3:8"},"nativeSrc":"12322:54:8","nodeType":"YulFunctionCall","src":"12322:54:8"}],"functionName":{"name":"shl","nativeSrc":"12305:3:8","nodeType":"YulIdentifier","src":"12305:3:8"},"nativeSrc":"12305:72:8","nodeType":"YulFunctionCall","src":"12305:72:8"},"variableNames":[{"name":"mask","nativeSrc":"12297:4:8","nodeType":"YulIdentifier","src":"12297:4:8"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":15207,"isOffset":false,"isSlot":false,"src":"12297:4:8","valueSize":1},{"declaration":15202,"isOffset":false,"isSlot":false,"src":"12356:10:8","valueSize":1},{"declaration":15204,"isOffset":false,"isSlot":false,"src":"12309:11:8","valueSize":1},{"declaration":15204,"isOffset":false,"isSlot":false,"src":"12343:11:8","valueSize":1}],"id":15209,"nodeType":"InlineAssembly","src":"12274:113:8"}]},"id":15211,"implemented":true,"kind":"function","modifiers":[],"name":"getMaskByOffsets","nameLocation":"12026:16:8","nodeType":"FunctionDefinition","parameters":{"id":15205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15202,"mutability":"mutable","name":"offsetLeft","nameLocation":"12051:10:8","nodeType":"VariableDeclaration","scope":15211,"src":"12043:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15201,"name":"uint256","nodeType":"ElementaryTypeName","src":"12043:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15204,"mutability":"mutable","name":"offsetRight","nameLocation":"12071:11:8","nodeType":"VariableDeclaration","scope":15211,"src":"12063:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15203,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12042:41:8"},"returnParameters":{"id":15208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15207,"mutability":"mutable","name":"mask","nameLocation":"12115:4:8","nodeType":"VariableDeclaration","scope":15211,"src":"12107:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15206,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12106:14:8"},"scope":15246,"src":"12017:376:8","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15244,"nodeType":"Block","src":"12630:125:8","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":15228,"name":"curValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15213,"src":"12664:8:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12656:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15226,"name":"uint256","nodeType":"ElementaryTypeName","src":"12656:7:8","typeDescriptions":{}}},"id":15229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12656:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":15234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"12676:42:8","subExpression":{"arguments":[{"id":15231,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15217,"src":"12694:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15232,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15219,"src":"12706:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15230,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15211,"src":"12677:16:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":15233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12677:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12656:62:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12655:64:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15237,"name":"varValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15215,"src":"12723:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":15238,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15219,"src":"12735:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12723:23:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15240,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12722:25:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12655:92:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12647:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12647:7:8","typeDescriptions":{}}},"id":15242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12647:101:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":15223,"id":15243,"nodeType":"Return","src":"12640:108:8"}]},"id":15245,"implemented":true,"kind":"function","modifiers":[],"name":"getUpdatedSlotValue","nameLocation":"12464:19:8","nodeType":"FunctionDefinition","parameters":{"id":15220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15213,"mutability":"mutable","name":"curValue","nameLocation":"12492:8:8","nodeType":"VariableDeclaration","scope":15245,"src":"12484:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12484:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15215,"mutability":"mutable","name":"varValue","nameLocation":"12510:8:8","nodeType":"VariableDeclaration","scope":15245,"src":"12502:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15214,"name":"uint256","nodeType":"ElementaryTypeName","src":"12502:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15217,"mutability":"mutable","name":"offsetLeft","nameLocation":"12528:10:8","nodeType":"VariableDeclaration","scope":15245,"src":"12520:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15216,"name":"uint256","nodeType":"ElementaryTypeName","src":"12520:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15219,"mutability":"mutable","name":"offsetRight","nameLocation":"12548:11:8","nodeType":"VariableDeclaration","scope":15245,"src":"12540:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15218,"name":"uint256","nodeType":"ElementaryTypeName","src":"12540:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12483:77:8"},"returnParameters":{"id":15223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15222,"mutability":"mutable","name":"newValue","nameLocation":"12616:8:8","nodeType":"VariableDeclaration","scope":15245,"src":"12608:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12608:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12607:18:8"},"scope":15246,"src":"12455:300:8","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":15852,"src":"450:12307:8","usedErrors":[],"usedEvents":[13904,13910]},{"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":15851,"linearizedBaseContracts":[15851],"name":"stdStorage","nameLocation":"12767:10:8","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":15263,"mutability":"constant","name":"vm","nameLocation":"12804:2:8","nodeType":"VariableDeclaration","scope":15851,"src":"12784:84:8","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":15248,"nodeType":"UserDefinedTypeName","pathNode":{"id":15247,"name":"Vm","nameLocations":["12784:2:8"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"12784:2:8"},"referencedDeclaration":23231,"src":"12784:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12846: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":15256,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12836:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12836:28:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12828:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15254,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:8","typeDescriptions":{}}},"id":15259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12828:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12820:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":15252,"name":"uint160","nodeType":"ElementaryTypeName","src":"12820:7:8","typeDescriptions":{}}},"id":15260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12820:46:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":15251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12812:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15250,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:8","typeDescriptions":{}}},"id":15261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12812:55:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15249,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"12809:2:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":15262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12809:59:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"private"},{"body":{"id":15275,"nodeType":"Block","src":"12942:51:8","statements":[{"expression":{"arguments":[{"id":15272,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15265,"src":"12979:6:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15270,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"12959:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12974:4:8","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":13948,"src":"12959:19:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":15273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":15269,"id":15274,"nodeType":"Return","src":"12952:34:8"}]},"id":15276,"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"12884:4:8","nodeType":"FunctionDefinition","parameters":{"id":15266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15265,"mutability":"mutable","name":"sigStr","nameLocation":"12903:6:8","nodeType":"VariableDeclaration","scope":15276,"src":"12889:20:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15264,"name":"string","nodeType":"ElementaryTypeName","src":"12889:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12888:22:8"},"returnParameters":{"id":15269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15276,"src":"12934:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":15267,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12934:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"12933:8:8"},"scope":15851,"src":"12875:118:8","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15289,"nodeType":"Block","src":"13065:40:8","statements":[{"expression":{"arguments":[{"id":15285,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15279,"src":"13087:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":15286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13093:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":15284,"name":"find","nodeType":"Identifier","overloadedDeclarations":[15290,15308],"referencedDeclaration":15308,"src":"13082:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":15287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13082:16:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15283,"id":15288,"nodeType":"Return","src":"13075:23:8"}]},"id":15290,"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13008:4:8","nodeType":"FunctionDefinition","parameters":{"id":15280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15279,"mutability":"mutable","name":"self","nameLocation":"13032:4:8","nodeType":"VariableDeclaration","scope":15290,"src":"13013:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15278,"nodeType":"UserDefinedTypeName","pathNode":{"id":15277,"name":"StdStorage","nameLocations":["13013:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13013:10:8"},"referencedDeclaration":13894,"src":"13013:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13012:25:8"},"returnParameters":{"id":15283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15290,"src":"13056:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15281,"name":"uint256","nodeType":"ElementaryTypeName","src":"13056:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13055:9:8"},"scope":15851,"src":"12999:106:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15307,"nodeType":"Block","src":"13190:62:8","statements":[{"expression":{"expression":{"arguments":[{"id":15302,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15293,"src":"13227:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15303,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15295,"src":"13233:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15300,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13207:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13222:4:8","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":14555,"src":"13207:19:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$13869_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":15304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13207:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13241:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"13207:38:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15299,"id":15306,"nodeType":"Return","src":"13200:45:8"}]},"id":15308,"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13120:4:8","nodeType":"FunctionDefinition","parameters":{"id":15296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15293,"mutability":"mutable","name":"self","nameLocation":"13144:4:8","nodeType":"VariableDeclaration","scope":15308,"src":"13125:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15292,"nodeType":"UserDefinedTypeName","pathNode":{"id":15291,"name":"StdStorage","nameLocations":["13125:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13125:10:8"},"referencedDeclaration":13894,"src":"13125:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15295,"mutability":"mutable","name":"_clear","nameLocation":"13155:6:8","nodeType":"VariableDeclaration","scope":15308,"src":"13150:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15294,"name":"bool","nodeType":"ElementaryTypeName","src":"13150:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13124:38:8"},"returnParameters":{"id":15299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15308,"src":"13181:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15297,"name":"uint256","nodeType":"ElementaryTypeName","src":"13181:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13180:9:8"},"scope":15851,"src":"13111:141:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15325,"nodeType":"Block","src":"13354:60:8","statements":[{"expression":{"arguments":[{"id":15321,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15311,"src":"13393:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15322,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15313,"src":"13399:7:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15319,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13371:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13386:6:8","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":14575,"src":"13371:21:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":15323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13371:36:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15318,"id":15324,"nodeType":"Return","src":"13364:43:8"}]},"id":15326,"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"13267:6:8","nodeType":"FunctionDefinition","parameters":{"id":15314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15311,"mutability":"mutable","name":"self","nameLocation":"13293:4:8","nodeType":"VariableDeclaration","scope":15326,"src":"13274:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15310,"nodeType":"UserDefinedTypeName","pathNode":{"id":15309,"name":"StdStorage","nameLocations":["13274:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13274:10:8"},"referencedDeclaration":13894,"src":"13274:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15313,"mutability":"mutable","name":"_target","nameLocation":"13307:7:8","nodeType":"VariableDeclaration","scope":15326,"src":"13299:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15312,"name":"address","nodeType":"ElementaryTypeName","src":"13299:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13273:42:8"},"returnParameters":{"id":15318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15326,"src":"13334:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15316,"nodeType":"UserDefinedTypeName","pathNode":{"id":15315,"name":"StdStorage","nameLocations":["13334:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13334:10:8"},"referencedDeclaration":13894,"src":"13334:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13333:20:8"},"scope":15851,"src":"13258:156:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15343,"nodeType":"Block","src":"13509:54:8","statements":[{"expression":{"arguments":[{"id":15339,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15329,"src":"13545:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15340,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15331,"src":"13551:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":15337,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13526:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13541:3:8","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":14595,"src":"13526:18:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":15341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15336,"id":15342,"nodeType":"Return","src":"13519:37:8"}]},"id":15344,"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13429:3:8","nodeType":"FunctionDefinition","parameters":{"id":15332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15329,"mutability":"mutable","name":"self","nameLocation":"13452:4:8","nodeType":"VariableDeclaration","scope":15344,"src":"13433:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15328,"nodeType":"UserDefinedTypeName","pathNode":{"id":15327,"name":"StdStorage","nameLocations":["13433:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13433:10:8"},"referencedDeclaration":13894,"src":"13433:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15331,"mutability":"mutable","name":"_sig","nameLocation":"13465:4:8","nodeType":"VariableDeclaration","scope":15344,"src":"13458:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":15330,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13458:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13432:38:8"},"returnParameters":{"id":15336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15344,"src":"13489:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15334,"nodeType":"UserDefinedTypeName","pathNode":{"id":15333,"name":"StdStorage","nameLocations":["13489:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13489:10:8"},"referencedDeclaration":13894,"src":"13489:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13488:20:8"},"scope":15851,"src":"13420:143:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15361,"nodeType":"Block","src":"13665:54:8","statements":[{"expression":{"arguments":[{"id":15357,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15347,"src":"13701:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15358,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15349,"src":"13707:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15355,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13682:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13697:3:8","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":14617,"src":"13682:18:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":15359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13682:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15354,"id":15360,"nodeType":"Return","src":"13675:37:8"}]},"id":15362,"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13578:3:8","nodeType":"FunctionDefinition","parameters":{"id":15350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15347,"mutability":"mutable","name":"self","nameLocation":"13601:4:8","nodeType":"VariableDeclaration","scope":15362,"src":"13582:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15346,"nodeType":"UserDefinedTypeName","pathNode":{"id":15345,"name":"StdStorage","nameLocations":["13582:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13582:10:8"},"referencedDeclaration":13894,"src":"13582:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15349,"mutability":"mutable","name":"_sig","nameLocation":"13621:4:8","nodeType":"VariableDeclaration","scope":15362,"src":"13607:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15348,"name":"string","nodeType":"ElementaryTypeName","src":"13607:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13581:45:8"},"returnParameters":{"id":15354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15362,"src":"13645:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15352,"nodeType":"UserDefinedTypeName","pathNode":{"id":15351,"name":"StdStorage","nameLocations":["13645:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13645:10:8"},"referencedDeclaration":13894,"src":"13645:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13644:20:8"},"scope":15851,"src":"13569:150:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15379,"nodeType":"Block","src":"13819:58:8","statements":[{"expression":{"arguments":[{"id":15375,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15365,"src":"13860:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15376,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15367,"src":"13866:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15373,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13836:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13851:8:8","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":14668,"src":"13836:23:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":15377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13836:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15372,"id":15378,"nodeType":"Return","src":"13829:41:8"}]},"id":15380,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13734:8:8","nodeType":"FunctionDefinition","parameters":{"id":15368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15365,"mutability":"mutable","name":"self","nameLocation":"13762:4:8","nodeType":"VariableDeclaration","scope":15380,"src":"13743:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15364,"nodeType":"UserDefinedTypeName","pathNode":{"id":15363,"name":"StdStorage","nameLocations":["13743:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13743:10:8"},"referencedDeclaration":13894,"src":"13743:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15367,"mutability":"mutable","name":"who","nameLocation":"13776:3:8","nodeType":"VariableDeclaration","scope":15380,"src":"13768:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15366,"name":"address","nodeType":"ElementaryTypeName","src":"13768:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13742:38:8"},"returnParameters":{"id":15372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15380,"src":"13799:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15370,"nodeType":"UserDefinedTypeName","pathNode":{"id":15369,"name":"StdStorage","nameLocations":["13799:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13799:10:8"},"referencedDeclaration":13894,"src":"13799:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13798:20:8"},"scope":15851,"src":"13725:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15397,"nodeType":"Block","src":"13977:58:8","statements":[{"expression":{"arguments":[{"id":15393,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15383,"src":"14018:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15394,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15385,"src":"14024:3:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15391,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"13994:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14009:8:8","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":14693,"src":"13994:23:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":15395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15390,"id":15396,"nodeType":"Return","src":"13987:41:8"}]},"id":15398,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13892:8:8","nodeType":"FunctionDefinition","parameters":{"id":15386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15383,"mutability":"mutable","name":"self","nameLocation":"13920:4:8","nodeType":"VariableDeclaration","scope":15398,"src":"13901:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15382,"nodeType":"UserDefinedTypeName","pathNode":{"id":15381,"name":"StdStorage","nameLocations":["13901:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13901:10:8"},"referencedDeclaration":13894,"src":"13901:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15385,"mutability":"mutable","name":"amt","nameLocation":"13934:3:8","nodeType":"VariableDeclaration","scope":15398,"src":"13926:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15384,"name":"uint256","nodeType":"ElementaryTypeName","src":"13926:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13900:38:8"},"returnParameters":{"id":15390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15398,"src":"13957:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15388,"nodeType":"UserDefinedTypeName","pathNode":{"id":15387,"name":"StdStorage","nameLocations":["13957:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"13957:10:8"},"referencedDeclaration":13894,"src":"13957:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13956:20:8"},"scope":15851,"src":"13883:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15415,"nodeType":"Block","src":"14135:58:8","statements":[{"expression":{"arguments":[{"id":15411,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15401,"src":"14176:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15412,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15403,"src":"14182:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":15409,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"14152:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14167:8:8","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":14715,"src":"14152:23:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":15413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14152:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15408,"id":15414,"nodeType":"Return","src":"14145:41:8"}]},"id":15416,"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"14050:8:8","nodeType":"FunctionDefinition","parameters":{"id":15404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15401,"mutability":"mutable","name":"self","nameLocation":"14078:4:8","nodeType":"VariableDeclaration","scope":15416,"src":"14059:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15400,"nodeType":"UserDefinedTypeName","pathNode":{"id":15399,"name":"StdStorage","nameLocations":["14059:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14059:10:8"},"referencedDeclaration":13894,"src":"14059:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15403,"mutability":"mutable","name":"key","nameLocation":"14092:3:8","nodeType":"VariableDeclaration","scope":15416,"src":"14084:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14084:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14058:38:8"},"returnParameters":{"id":15408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15416,"src":"14115:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15406,"nodeType":"UserDefinedTypeName","pathNode":{"id":15405,"name":"StdStorage","nameLocations":["14115:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14115:10:8"},"referencedDeclaration":13894,"src":"14115:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14114:20:8"},"scope":15851,"src":"14041:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15433,"nodeType":"Block","src":"14309:69:8","statements":[{"expression":{"arguments":[{"id":15429,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15419,"src":"14355:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15430,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15421,"src":"14361:9:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":15427,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"14326:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14341:13:8","memberName":"with_calldata","nodeType":"MemberAccess","referencedDeclaration":14637,"src":"14326:28:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes memory) returns (struct StdStorage storage pointer)"}},"id":15431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14326:45:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15426,"id":15432,"nodeType":"Return","src":"14319:52:8"}]},"id":15434,"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"14208:13:8","nodeType":"FunctionDefinition","parameters":{"id":15422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15419,"mutability":"mutable","name":"self","nameLocation":"14241:4:8","nodeType":"VariableDeclaration","scope":15434,"src":"14222:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15418,"nodeType":"UserDefinedTypeName","pathNode":{"id":15417,"name":"StdStorage","nameLocations":["14222:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14222:10:8"},"referencedDeclaration":13894,"src":"14222:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15421,"mutability":"mutable","name":"_calldata","nameLocation":"14260:9:8","nodeType":"VariableDeclaration","scope":15434,"src":"14247:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15420,"name":"bytes","nodeType":"ElementaryTypeName","src":"14247:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14221:49:8"},"returnParameters":{"id":15426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15434,"src":"14289:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15424,"nodeType":"UserDefinedTypeName","pathNode":{"id":15423,"name":"StdStorage","nameLocations":["14289:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14289:10:8"},"referencedDeclaration":13894,"src":"14289:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14288:20:8"},"scope":15851,"src":"14199:179:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15448,"nodeType":"Block","src":"14476:64:8","statements":[{"expression":{"arguments":[{"id":15445,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15437,"src":"14528:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15443,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"14493:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14508:19:8","memberName":"enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":14733,"src":"14493:34:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (struct StdStorage storage pointer)"}},"id":15446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:40:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15442,"id":15447,"nodeType":"Return","src":"14486:47:8"}]},"id":15449,"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"14393:19:8","nodeType":"FunctionDefinition","parameters":{"id":15438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15437,"mutability":"mutable","name":"self","nameLocation":"14432:4:8","nodeType":"VariableDeclaration","scope":15449,"src":"14413:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15436,"nodeType":"UserDefinedTypeName","pathNode":{"id":15435,"name":"StdStorage","nameLocations":["14413:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14413:10:8"},"referencedDeclaration":13894,"src":"14413:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14412:25:8"},"returnParameters":{"id":15442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15449,"src":"14456:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15440,"nodeType":"UserDefinedTypeName","pathNode":{"id":15439,"name":"StdStorage","nameLocations":["14456:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14456:10:8"},"referencedDeclaration":13894,"src":"14456:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14455:20:8"},"scope":15851,"src":"14384:156:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15466,"nodeType":"Block","src":"14640:58:8","statements":[{"expression":{"arguments":[{"id":15462,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15452,"src":"14678:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15463,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15454,"src":"14684:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15460,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"14657:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14672:5:8","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":14753,"src":"14657:20:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$13894_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":15464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14657:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":15459,"id":15465,"nodeType":"Return","src":"14650:41:8"}]},"id":15467,"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"14555:5:8","nodeType":"FunctionDefinition","parameters":{"id":15455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15452,"mutability":"mutable","name":"self","nameLocation":"14580:4:8","nodeType":"VariableDeclaration","scope":15467,"src":"14561:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15451,"nodeType":"UserDefinedTypeName","pathNode":{"id":15450,"name":"StdStorage","nameLocations":["14561:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14561:10:8"},"referencedDeclaration":13894,"src":"14561:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15454,"mutability":"mutable","name":"_depth","nameLocation":"14594:6:8","nodeType":"VariableDeclaration","scope":15467,"src":"14586:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15453,"name":"uint256","nodeType":"ElementaryTypeName","src":"14586:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14560:41:8"},"returnParameters":{"id":15459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15467,"src":"14620:18:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15457,"nodeType":"UserDefinedTypeName","pathNode":{"id":15456,"name":"StdStorage","nameLocations":["14620:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14620:10:8"},"referencedDeclaration":13894,"src":"14620:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14619:20:8"},"scope":15851,"src":"14546:152:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15479,"nodeType":"Block","src":"14753:43:8","statements":[{"expression":{"arguments":[{"id":15476,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15470,"src":"14784:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15473,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"14763:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14778:5:8","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":15200,"src":"14763:20:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":15477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14763:26:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15478,"nodeType":"ExpressionStatement","src":"14763:26:8"}]},"id":15480,"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"14713:5:8","nodeType":"FunctionDefinition","parameters":{"id":15471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15470,"mutability":"mutable","name":"self","nameLocation":"14738:4:8","nodeType":"VariableDeclaration","scope":15480,"src":"14719:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15469,"nodeType":"UserDefinedTypeName","pathNode":{"id":15468,"name":"StdStorage","nameLocations":["14719:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14719:10:8"},"referencedDeclaration":13894,"src":"14719:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14718:25:8"},"returnParameters":{"id":15472,"nodeType":"ParameterList","parameters":[],"src":"14753:0:8"},"scope":15851,"src":"14704:92:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15502,"nodeType":"Block","src":"14872:68:8","statements":[{"expression":{"arguments":[{"id":15489,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15483,"src":"14896:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":15496,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15485,"src":"14926:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14918:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":15494,"name":"uint160","nodeType":"ElementaryTypeName","src":"14918:7:8","typeDescriptions":{}}},"id":15497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14918:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":15493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14910:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15492,"name":"uint256","nodeType":"ElementaryTypeName","src":"14910:7:8","typeDescriptions":{}}},"id":15498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14910:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14902:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14902:7:8","typeDescriptions":{}}},"id":15499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15488,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[15503,15520,15558,15750],"referencedDeclaration":15750,"src":"14882:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":15500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:51:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15501,"nodeType":"ExpressionStatement","src":"14882:51:8"}]},"id":15503,"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14811:13:8","nodeType":"FunctionDefinition","parameters":{"id":15486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15483,"mutability":"mutable","name":"self","nameLocation":"14844:4:8","nodeType":"VariableDeclaration","scope":15503,"src":"14825:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15482,"nodeType":"UserDefinedTypeName","pathNode":{"id":15481,"name":"StdStorage","nameLocations":["14825:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14825:10:8"},"referencedDeclaration":13894,"src":"14825:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15485,"mutability":"mutable","name":"who","nameLocation":"14858:3:8","nodeType":"VariableDeclaration","scope":15503,"src":"14850:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15484,"name":"address","nodeType":"ElementaryTypeName","src":"14850:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14824:38:8"},"returnParameters":{"id":15487,"nodeType":"ParameterList","parameters":[],"src":"14872:0:8"},"scope":15851,"src":"14802:138:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15519,"nodeType":"Block","src":"15016:50:8","statements":[{"expression":{"arguments":[{"id":15512,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15506,"src":"15040:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":15515,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15508,"src":"15054:3:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15046:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15046:7:8","typeDescriptions":{}}},"id":15516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15046:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15511,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[15503,15520,15558,15750],"referencedDeclaration":15750,"src":"15026:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":15517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15026:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15518,"nodeType":"ExpressionStatement","src":"15026:33:8"}]},"id":15520,"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14955:13:8","nodeType":"FunctionDefinition","parameters":{"id":15509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15506,"mutability":"mutable","name":"self","nameLocation":"14988:4:8","nodeType":"VariableDeclaration","scope":15520,"src":"14969:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15505,"nodeType":"UserDefinedTypeName","pathNode":{"id":15504,"name":"StdStorage","nameLocations":["14969:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"14969:10:8"},"referencedDeclaration":13894,"src":"14969:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15508,"mutability":"mutable","name":"amt","nameLocation":"15002:3:8","nodeType":"VariableDeclaration","scope":15520,"src":"14994:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15507,"name":"uint256","nodeType":"ElementaryTypeName","src":"14994:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14968:38:8"},"returnParameters":{"id":15510,"nodeType":"ParameterList","parameters":[],"src":"15016:0:8"},"scope":15851,"src":"14946:120:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15539,"nodeType":"Block","src":"15145:59:8","statements":[{"expression":{"arguments":[{"id":15529,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15523,"src":"15169:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"id":15534,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15525,"src":"15191:3:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":15533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15183:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15532,"name":"uint256","nodeType":"ElementaryTypeName","src":"15183:7:8","typeDescriptions":{}}},"id":15535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15183:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15175:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15175:7:8","typeDescriptions":{}}},"id":15536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15175:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15528,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[15503,15520,15558,15750],"referencedDeclaration":15750,"src":"15155:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":15537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:42:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15538,"nodeType":"ExpressionStatement","src":"15155:42:8"}]},"id":15540,"implemented":true,"kind":"function","modifiers":[],"name":"checked_write_int","nameLocation":"15081:17:8","nodeType":"FunctionDefinition","parameters":{"id":15526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15523,"mutability":"mutable","name":"self","nameLocation":"15118:4:8","nodeType":"VariableDeclaration","scope":15540,"src":"15099:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15522,"nodeType":"UserDefinedTypeName","pathNode":{"id":15521,"name":"StdStorage","nameLocations":["15099:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"15099:10:8"},"referencedDeclaration":13894,"src":"15099:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15525,"mutability":"mutable","name":"val","nameLocation":"15131:3:8","nodeType":"VariableDeclaration","scope":15540,"src":"15124:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15524,"name":"int256","nodeType":"ElementaryTypeName","src":"15124:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15098:37:8"},"returnParameters":{"id":15527,"nodeType":"ParameterList","parameters":[],"src":"15145:0:8"},"scope":15851,"src":"15072:132:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15557,"nodeType":"Block","src":"15279:153:8","statements":[{"assignments":[15549],"declarations":[{"constant":false,"id":15549,"mutability":"mutable","name":"t","nameLocation":"15297:1:8","nodeType":"VariableDeclaration","scope":15557,"src":"15289:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15289:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15550,"nodeType":"VariableDeclarationStatement","src":"15289:9:8"},{"AST":{"nativeSrc":"15360:34:8","nodeType":"YulBlock","src":"15360:34:8","statements":[{"nativeSrc":"15374:10:8","nodeType":"YulAssignment","src":"15374:10:8","value":{"name":"write","nativeSrc":"15379:5:8","nodeType":"YulIdentifier","src":"15379:5:8"},"variableNames":[{"name":"t","nativeSrc":"15374:1:8","nodeType":"YulIdentifier","src":"15374:1:8"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":15549,"isOffset":false,"isSlot":false,"src":"15374:1:8","valueSize":1},{"declaration":15545,"isOffset":false,"isSlot":false,"src":"15379:5:8","valueSize":1}],"id":15551,"nodeType":"InlineAssembly","src":"15351:43:8"},{"expression":{"arguments":[{"id":15553,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15543,"src":"15417:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":15554,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15549,"src":"15423:1:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15552,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[15503,15520,15558,15750],"referencedDeclaration":15750,"src":"15403:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":15555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15403:22:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15556,"nodeType":"ExpressionStatement","src":"15403:22:8"}]},"id":15558,"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15219:13:8","nodeType":"FunctionDefinition","parameters":{"id":15546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15543,"mutability":"mutable","name":"self","nameLocation":"15252:4:8","nodeType":"VariableDeclaration","scope":15558,"src":"15233:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15542,"nodeType":"UserDefinedTypeName","pathNode":{"id":15541,"name":"StdStorage","nameLocations":["15233:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"15233:10:8"},"referencedDeclaration":13894,"src":"15233:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15545,"mutability":"mutable","name":"write","nameLocation":"15263:5:8","nodeType":"VariableDeclaration","scope":15558,"src":"15258:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15544,"name":"bool","nodeType":"ElementaryTypeName","src":"15258:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15232:37:8"},"returnParameters":{"id":15547,"nodeType":"ParameterList","parameters":[],"src":"15279:0:8"},"scope":15851,"src":"15210:222:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15749,"nodeType":"Block","src":"15508:1414:8","statements":[{"assignments":[15567],"declarations":[{"constant":false,"id":15567,"mutability":"mutable","name":"who","nameLocation":"15526:3:8","nodeType":"VariableDeclaration","scope":15749,"src":"15518:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15566,"name":"address","nodeType":"ElementaryTypeName","src":"15518:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":15570,"initialValue":{"expression":{"id":15568,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15532:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15537:7:8","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":13887,"src":"15532:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15518:26:8"},{"assignments":[15572],"declarations":[{"constant":false,"id":15572,"mutability":"mutable","name":"fsig","nameLocation":"15561:4:8","nodeType":"VariableDeclaration","scope":15749,"src":"15554:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":15571,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15554:6:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":15575,"initialValue":{"expression":{"id":15573,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15568:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15573:4:8","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":13883,"src":"15568:9:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15554:23:8"},{"assignments":[15577],"declarations":[{"constant":false,"id":15577,"mutability":"mutable","name":"field_depth","nameLocation":"15595:11:8","nodeType":"VariableDeclaration","scope":15749,"src":"15587:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15576,"name":"uint256","nodeType":"ElementaryTypeName","src":"15587:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15580,"initialValue":{"expression":{"id":15578,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15609:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15579,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15614:6:8","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":13885,"src":"15609:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15587:33:8"},{"assignments":[15582],"declarations":[{"constant":false,"id":15582,"mutability":"mutable","name":"params","nameLocation":"15643:6:8","nodeType":"VariableDeclaration","scope":15749,"src":"15630:19:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15581,"name":"bytes","nodeType":"ElementaryTypeName","src":"15630:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":15587,"initialValue":{"arguments":[{"id":15585,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15681:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15583,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"15652:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15667:13:8","memberName":"getCallParams","nodeType":"MemberAccess","referencedDeclaration":13973,"src":"15652:28:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":15586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15652:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15630:56:8"},{"condition":{"id":15603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15701:78:8","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":15588,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15702:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15707:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"15702:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":15591,"indexExpression":{"id":15590,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15567,"src":"15713:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":15593,"indexExpression":{"id":15592,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15572,"src":"15718:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":15601,"indexExpression":{"arguments":[{"arguments":[{"id":15597,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15582,"src":"15751:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":15598,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15577,"src":"15759:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15595,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15734:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15738:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"15734:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15734:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15594,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15724:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"id":15602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15774:5:8","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":13868,"src":"15702:77:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15610,"nodeType":"IfStatement","src":"15697:126:8","trueBody":{"id":15609,"nodeType":"Block","src":"15781:42:8","statements":[{"expression":{"arguments":[{"id":15605,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15800:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":15606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15806:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":15604,"name":"find","nodeType":"Identifier","overloadedDeclarations":[15290,15308],"referencedDeclaration":15308,"src":"15795:4:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":15607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15795:17:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15608,"nodeType":"ExpressionStatement","src":"15795:17:8"}]}},{"assignments":[15613],"declarations":[{"constant":false,"id":15613,"mutability":"mutable","name":"data","nameLocation":"15849:4:8","nodeType":"VariableDeclaration","scope":15749,"src":"15832:21:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"},"typeName":{"id":15612,"nodeType":"UserDefinedTypeName","pathNode":{"id":15611,"name":"FindData","nameLocations":["15832:8:8"],"nodeType":"IdentifierPath","referencedDeclaration":13869,"src":"15832:8:8"},"referencedDeclaration":13869,"src":"15832:8:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":15628,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":15614,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"15856:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":15615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15861:5:8","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":13878,"src":"15856:10:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":15617,"indexExpression":{"id":15616,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15567,"src":"15867:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:15:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":15619,"indexExpression":{"id":15618,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15572,"src":"15872:4:8","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:21:8","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$13869_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":15627,"indexExpression":{"arguments":[{"arguments":[{"id":15623,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15582,"src":"15905:6:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":15624,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15577,"src":"15913:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15888:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15892:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"15888:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15888:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15620,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15878:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15878:48:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:71:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage","typeString":"struct FindData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15832:95:8"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15629,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"15942:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15947:10:8","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":13864,"src":"15942:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":15631,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"15960:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:11:8","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":13866,"src":"15960:16:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15942:34:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15634,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15941:36:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":15635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15980:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15941:40:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15672,"nodeType":"IfStatement","src":"15937:460:8","trueBody":{"id":15671,"nodeType":"Block","src":"15983:414:8","statements":[{"assignments":[15638],"declarations":[{"constant":false,"id":15638,"mutability":"mutable","name":"maxVal","nameLocation":"16005:6:8","nodeType":"VariableDeclaration","scope":15671,"src":"15997:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15637,"name":"uint256","nodeType":"ElementaryTypeName","src":"15997:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":15650,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":15639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16014:1:8","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":15647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":15640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:3:8","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":15645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":15641,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16027:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16032:10:8","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":13864,"src":"16027:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":15643,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16045:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16050:11:8","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":13866,"src":"16045:16:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16027:34:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15646,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16026:36:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16020:42:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":15648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16019:44:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16014:49:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15997:66:8"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":15657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":15654,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15563,"src":"16110:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16102:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15652,"name":"uint256","nodeType":"ElementaryTypeName","src":"16102:7:8","typeDescriptions":{}}},"id":15655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16102:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":15656,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15638,"src":"16117:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16102:21:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e2057652063616e2774206669742076616c75652067726561746572207468616e20","id":15662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16211:76:8","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":15665,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15638,"src":"16325:6:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15663,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15263,"src":"16313:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16316:8:8","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"16313:11:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":15666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16313:19:8","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":15660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16169:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16173:12:8","memberName":"encodePacked","nodeType":"MemberAccess","src":"16169:16:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16169:185:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16141:6:8","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":15658,"name":"string","nodeType":"ElementaryTypeName","src":"16141:6:8","typeDescriptions":{}}},"id":15668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:231:8","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":15651,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16077:7:8","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":15669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16077:309:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15670,"nodeType":"ExpressionStatement","src":"16077:309:8"}]}},{"assignments":[15674],"declarations":[{"constant":false,"id":15674,"mutability":"mutable","name":"curVal","nameLocation":"16414:6:8","nodeType":"VariableDeclaration","scope":15749,"src":"16406:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16406:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15684,"initialValue":{"arguments":[{"id":15677,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15567,"src":"16431:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":15680,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16444:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16449:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"16444:9:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16436:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16436:7:8","typeDescriptions":{}}},"id":15682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":15675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15263,"src":"16423:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16426:4:8","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":19684,"src":"16423:7:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":15683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16423:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16406:49:8"},{"assignments":[15686],"declarations":[{"constant":false,"id":15686,"mutability":"mutable","name":"valToSet","nameLocation":"16473:8:8","nodeType":"VariableDeclaration","scope":15749,"src":"16465:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16465:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15699,"initialValue":{"arguments":[{"id":15689,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15674,"src":"16519:6:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":15692,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15563,"src":"16535:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16527:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15690,"name":"uint256","nodeType":"ElementaryTypeName","src":"16527:7:8","typeDescriptions":{}}},"id":15693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15694,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16541:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16546:10:8","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":13864,"src":"16541:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":15696,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16558:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16563:11:8","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":13866,"src":"16558:16:8","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":15687,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"16484:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16499:19:8","memberName":"getUpdatedSlotValue","nodeType":"MemberAccess","referencedDeclaration":15245,"src":"16484:34:8","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":15698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:91:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16465:110:8"},{"expression":{"arguments":[{"id":15703,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15567,"src":"16595:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":15706,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16608:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16613:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"16608:9:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16600:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16600:7:8","typeDescriptions":{}}},"id":15708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16600:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":15709,"name":"valToSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15686,"src":"16620:8:8","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":15700,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15263,"src":"16586:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16589:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"16586:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":15710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16586:43:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15711,"nodeType":"ExpressionStatement","src":"16586:43:8"},{"assignments":[15713,15715],"declarations":[{"constant":false,"id":15713,"mutability":"mutable","name":"success","nameLocation":"16646:7:8","nodeType":"VariableDeclaration","scope":15749,"src":"16641:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15712,"name":"bool","nodeType":"ElementaryTypeName","src":"16641:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15715,"mutability":"mutable","name":"callResult","nameLocation":"16663:10:8","nodeType":"VariableDeclaration","scope":15749,"src":"16655:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16655:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":15720,"initialValue":{"arguments":[{"id":15718,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"16703:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15716,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"16677:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16692:10:8","memberName":"callTarget","nodeType":"MemberAccess","referencedDeclaration":14019,"src":"16677:25:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":15719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16677:31:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16640:68:8"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":15726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16723:8:8","subExpression":{"id":15721,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15713,"src":"16724:7:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":15725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":15723,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15715,"src":"16735:10:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":15724,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15563,"src":"16749:3:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16735:17:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16723:29:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15744,"nodeType":"IfStatement","src":"16719:176:8","trueBody":{"id":15743,"nodeType":"Block","src":"16754:141:8","statements":[{"expression":{"arguments":[{"id":15730,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15567,"src":"16777:3:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":15733,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15613,"src":"16790:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$13869_storage_ptr","typeString":"struct FindData storage pointer"}},"id":15734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16795:4:8","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":13862,"src":"16790:9:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16782:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":15731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16782:7:8","typeDescriptions":{}}},"id":15735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16782:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":15736,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15674,"src":"16802:6:8","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":15727,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15263,"src":"16768:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":15729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16771:5:8","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":22916,"src":"16768:8:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":15737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16768:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15738,"nodeType":"ExpressionStatement","src":"16768:41:8"},{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204661696c656420746f2077726974652076616c75652e","id":15740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16830:53:8","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":15739,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16823:6:8","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":15741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16823:61:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15742,"nodeType":"ExpressionStatement","src":"16823:61:8"}]}},{"expression":{"arguments":[{"id":15746,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15561,"src":"16910:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":15745,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15480,"src":"16904:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":15747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16904:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15748,"nodeType":"ExpressionStatement","src":"16904:11:8"}]},"id":15750,"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15447:13:8","nodeType":"FunctionDefinition","parameters":{"id":15564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15561,"mutability":"mutable","name":"self","nameLocation":"15480:4:8","nodeType":"VariableDeclaration","scope":15750,"src":"15461:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15560,"nodeType":"UserDefinedTypeName","pathNode":{"id":15559,"name":"StdStorage","nameLocations":["15461:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"15461:10:8"},"referencedDeclaration":13894,"src":"15461:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":15563,"mutability":"mutable","name":"set","nameLocation":"15494:3:8","nodeType":"VariableDeclaration","scope":15750,"src":"15486:11:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15486:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15460:38:8"},"returnParameters":{"id":15565,"nodeType":"ParameterList","parameters":[],"src":"15508:0:8"},"scope":15851,"src":"15438:1484:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15763,"nodeType":"Block","src":"17002:57:8","statements":[{"expression":{"arguments":[{"id":15760,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15753,"src":"17047:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15758,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17019:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17034:12:8","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":14829,"src":"17019:27:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":15761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17019:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":15757,"id":15762,"nodeType":"Return","src":"17012:40:8"}]},"id":15764,"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"16937:12:8","nodeType":"FunctionDefinition","parameters":{"id":15754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15753,"mutability":"mutable","name":"self","nameLocation":"16969:4:8","nodeType":"VariableDeclaration","scope":15764,"src":"16950:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15752,"nodeType":"UserDefinedTypeName","pathNode":{"id":15751,"name":"StdStorage","nameLocations":["16950:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"16950:10:8"},"referencedDeclaration":13894,"src":"16950:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"16949:25:8"},"returnParameters":{"id":15757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15764,"src":"16993:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16993:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16992:9:8"},"scope":15851,"src":"16928:131:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15777,"nodeType":"Block","src":"17133:54:8","statements":[{"expression":{"arguments":[{"id":15774,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15767,"src":"17175:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15772,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17150:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17165:9:8","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":14860,"src":"17150:24:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":15775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17150:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":15771,"id":15776,"nodeType":"Return","src":"17143:37:8"}]},"id":15778,"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"17074:9:8","nodeType":"FunctionDefinition","parameters":{"id":15768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15767,"mutability":"mutable","name":"self","nameLocation":"17103:4:8","nodeType":"VariableDeclaration","scope":15778,"src":"17084:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15766,"nodeType":"UserDefinedTypeName","pathNode":{"id":15765,"name":"StdStorage","nameLocations":["17084:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17084:10:8"},"referencedDeclaration":13894,"src":"17084:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17083:25:8"},"returnParameters":{"id":15771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15778,"src":"17127:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15769,"name":"bool","nodeType":"ElementaryTypeName","src":"17127:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17126:6:8"},"scope":15851,"src":"17065:122:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15791,"nodeType":"Block","src":"17267:57:8","statements":[{"expression":{"arguments":[{"id":15788,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15781,"src":"17312:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15786,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17284:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17299:12:8","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":14879,"src":"17284:27:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":15789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17284:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":15785,"id":15790,"nodeType":"Return","src":"17277:40:8"}]},"id":15792,"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"17202:12:8","nodeType":"FunctionDefinition","parameters":{"id":15782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15781,"mutability":"mutable","name":"self","nameLocation":"17234:4:8","nodeType":"VariableDeclaration","scope":15792,"src":"17215:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15780,"nodeType":"UserDefinedTypeName","pathNode":{"id":15779,"name":"StdStorage","nameLocations":["17215:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17215:10:8"},"referencedDeclaration":13894,"src":"17215:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17214:25:8"},"returnParameters":{"id":15785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15784,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15792,"src":"17258:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15783,"name":"address","nodeType":"ElementaryTypeName","src":"17258:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17257:9:8"},"scope":15851,"src":"17193:131:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15805,"nodeType":"Block","src":"17401:54:8","statements":[{"expression":{"arguments":[{"id":15802,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15795,"src":"17443:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15800,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17418:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17433:9:8","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":14898,"src":"17418:24:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":15803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15799,"id":15804,"nodeType":"Return","src":"17411:37:8"}]},"id":15806,"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"17339:9:8","nodeType":"FunctionDefinition","parameters":{"id":15796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15795,"mutability":"mutable","name":"self","nameLocation":"17368:4:8","nodeType":"VariableDeclaration","scope":15806,"src":"17349:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15794,"nodeType":"UserDefinedTypeName","pathNode":{"id":15793,"name":"StdStorage","nameLocations":["17349:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17349:10:8"},"referencedDeclaration":13894,"src":"17349:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17348:25:8"},"returnParameters":{"id":15799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15806,"src":"17392:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15797,"name":"uint256","nodeType":"ElementaryTypeName","src":"17392:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17391:9:8"},"scope":15851,"src":"17330:125:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15819,"nodeType":"Block","src":"17530:53:8","statements":[{"expression":{"arguments":[{"id":15816,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15809,"src":"17571:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15814,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17547:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17562:8:8","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":14917,"src":"17547:23:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":15817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17547:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":15813,"id":15818,"nodeType":"Return","src":"17540:36:8"}]},"id":15820,"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"17470:8:8","nodeType":"FunctionDefinition","parameters":{"id":15810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15809,"mutability":"mutable","name":"self","nameLocation":"17498:4:8","nodeType":"VariableDeclaration","scope":15820,"src":"17479:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15808,"nodeType":"UserDefinedTypeName","pathNode":{"id":15807,"name":"StdStorage","nameLocations":["17479:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17479:10:8"},"referencedDeclaration":13894,"src":"17479:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17478:25:8"},"returnParameters":{"id":15813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15820,"src":"17522:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15811,"name":"int256","nodeType":"ElementaryTypeName","src":"17522:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17521:8:8"},"scope":15851,"src":"17461:122:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15835,"nodeType":"Block","src":"17666:51:8","statements":[{"expression":{"arguments":[{"id":15832,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15823,"src":"17705:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15830,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17683:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17698:6:8","memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":14983,"src":"17683:21:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_uint256_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (uint256,bytes32)"}},"id":15833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":15829,"id":15834,"nodeType":"Return","src":"17676:34:8"}]},"id":15836,"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"17598:6:8","nodeType":"FunctionDefinition","parameters":{"id":15824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15823,"mutability":"mutable","name":"self","nameLocation":"17624:4:8","nodeType":"VariableDeclaration","scope":15836,"src":"17605:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15822,"nodeType":"UserDefinedTypeName","pathNode":{"id":15821,"name":"StdStorage","nameLocations":["17605:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17605:10:8"},"referencedDeclaration":13894,"src":"17605:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17604:25:8"},"returnParameters":{"id":15829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15836,"src":"17648:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15825,"name":"uint256","nodeType":"ElementaryTypeName","src":"17648:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15836,"src":"17657:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17657:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17647:18:8"},"scope":15851,"src":"17589:128:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":15849,"nodeType":"Block","src":"17789:49:8","statements":[{"expression":{"arguments":[{"id":15846,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15839,"src":"17826:4:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":15844,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15246,"src":"17806:14:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$15246_$","typeString":"type(library stdStorageSafe)"}},"id":15845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17821:4:8","memberName":"root","nodeType":"MemberAccess","referencedDeclaration":15072,"src":"17806:19:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$13894_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":15847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:25:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":15843,"id":15848,"nodeType":"Return","src":"17799:32:8"}]},"id":15850,"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"17732:4:8","nodeType":"FunctionDefinition","parameters":{"id":15840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15839,"mutability":"mutable","name":"self","nameLocation":"17756:4:8","nodeType":"VariableDeclaration","scope":15850,"src":"17737:23:8","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":15838,"nodeType":"UserDefinedTypeName","pathNode":{"id":15837,"name":"StdStorage","nameLocations":["17737:10:8"],"nodeType":"IdentifierPath","referencedDeclaration":13894,"src":"17737:10:8"},"referencedDeclaration":13894,"src":"17737:10:8","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$13894_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17736:25:8"},"returnParameters":{"id":15843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15842,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15850,"src":"17780:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15841,"name":"uint256","nodeType":"ElementaryTypeName","src":"17780:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17779:9:8"},"scope":15851,"src":"17723:115:8","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":15852,"src":"12759:5081:8","usedErrors":[],"usedEvents":[]}],"src":"32:17809:8"},"id":8},"v4-core/lib/forge-std/src/StdStyle.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdStyle.sol","exportedSymbols":{"StdStyle":[17062],"VmSafe":[22388]},"id":17063,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":15853,"literals":["solidity",">=","0.4",".22","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:32:9"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":15855,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":17063,"sourceUnit":23232,"src":"66:32:9","symbolAliases":[{"foreign":{"id":15854,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"74:6:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":17062,"linearizedBaseContracts":[17062],"name":"StdStyle","nameLocation":"108:8:9","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":15872,"mutability":"constant","name":"vm","nameLocation":"147:2:9","nodeType":"VariableDeclaration","scope":17062,"src":"123:92:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":15857,"nodeType":"UserDefinedTypeName","pathNode":{"id":15856,"name":"VmSafe","nameLocations":["123:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"123:6:9"},"referencedDeclaration":22388,"src":"123:6:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"193:17:9","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":15865,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"183:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":15867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"183:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":15864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"175:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":15863,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:9","typeDescriptions":{}}},"id":15868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175:37:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":15862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"167:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":15861,"name":"uint160","nodeType":"ElementaryTypeName","src":"167:7:9","typeDescriptions":{}}},"id":15869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":15860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"159:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":15859,"name":"address","nodeType":"ElementaryTypeName","src":"159:7:9","typeDescriptions":{}}},"id":15870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159:55:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":15858,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"152:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":15871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152:63:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"private"},{"constant":true,"id":15875,"mutability":"constant","name":"RED","nameLocation":"238:3:9","nodeType":"VariableDeclaration","scope":17062,"src":"222:34:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15873,"name":"string","nodeType":"ElementaryTypeName","src":"222:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":15874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"244:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"constant":true,"id":15878,"mutability":"constant","name":"GREEN","nameLocation":"278:5:9","nodeType":"VariableDeclaration","scope":17062,"src":"262:36:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15876,"name":"string","nodeType":"ElementaryTypeName","src":"262:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":15877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"286:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"constant":true,"id":15881,"mutability":"constant","name":"YELLOW","nameLocation":"320:6:9","nodeType":"VariableDeclaration","scope":17062,"src":"304:37:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15879,"name":"string","nodeType":"ElementaryTypeName","src":"304:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":15880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"329:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"constant":true,"id":15884,"mutability":"constant","name":"BLUE","nameLocation":"363:4:9","nodeType":"VariableDeclaration","scope":17062,"src":"347:35:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15882,"name":"string","nodeType":"ElementaryTypeName","src":"347:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":15883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"370:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"constant":true,"id":15887,"mutability":"constant","name":"MAGENTA","nameLocation":"404:7:9","nodeType":"VariableDeclaration","scope":17062,"src":"388:38:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15885,"name":"string","nodeType":"ElementaryTypeName","src":"388:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":15886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"414:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"constant":true,"id":15890,"mutability":"constant","name":"CYAN","nameLocation":"448:4:9","nodeType":"VariableDeclaration","scope":17062,"src":"432:35:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15888,"name":"string","nodeType":"ElementaryTypeName","src":"432:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":15889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"455:12:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"constant":true,"id":15893,"mutability":"constant","name":"BOLD","nameLocation":"489:4:9","nodeType":"VariableDeclaration","scope":17062,"src":"473:34:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15891,"name":"string","nodeType":"ElementaryTypeName","src":"473:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":15892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"496:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"constant":true,"id":15896,"mutability":"constant","name":"DIM","nameLocation":"529:3:9","nodeType":"VariableDeclaration","scope":17062,"src":"513:33:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15894,"name":"string","nodeType":"ElementaryTypeName","src":"513:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":15895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"535:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"constant":true,"id":15899,"mutability":"constant","name":"ITALIC","nameLocation":"568:6:9","nodeType":"VariableDeclaration","scope":17062,"src":"552:36:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15897,"name":"string","nodeType":"ElementaryTypeName","src":"552:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":15898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"577:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"constant":true,"id":15902,"mutability":"constant","name":"UNDERLINE","nameLocation":"610:9:9","nodeType":"VariableDeclaration","scope":17062,"src":"594:39:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15900,"name":"string","nodeType":"ElementaryTypeName","src":"594:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":15901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"622:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"constant":true,"id":15905,"mutability":"constant","name":"INVERSE","nameLocation":"655:7:9","nodeType":"VariableDeclaration","scope":17062,"src":"639:37:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15903,"name":"string","nodeType":"ElementaryTypeName","src":"639:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":15904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"665:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"constant":true,"id":15908,"mutability":"constant","name":"RESET","nameLocation":"698:5:9","nodeType":"VariableDeclaration","scope":17062,"src":"682:35:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15906,"name":"string","nodeType":"ElementaryTypeName","src":"682:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":15907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"706:11:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"body":{"id":15927,"nodeType":"Block","src":"823:68:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":15921,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15910,"src":"864:5:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15922,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15912,"src":"871:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15923,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15908,"src":"877:5:9","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":15919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"851:12:9","memberName":"encodePacked","nodeType":"MemberAccess","src":"847:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":15924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"847:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"840:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":15917,"name":"string","nodeType":"ElementaryTypeName","src":"840:6:9","typeDescriptions":{}}},"id":15925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"840:44:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15916,"id":15926,"nodeType":"Return","src":"833:51:9"}]},"id":15928,"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"733:11:9","nodeType":"FunctionDefinition","parameters":{"id":15913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15910,"mutability":"mutable","name":"style","nameLocation":"759:5:9","nodeType":"VariableDeclaration","scope":15928,"src":"745:19:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15909,"name":"string","nodeType":"ElementaryTypeName","src":"745:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15912,"mutability":"mutable","name":"self","nameLocation":"780:4:9","nodeType":"VariableDeclaration","scope":15928,"src":"766:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15911,"name":"string","nodeType":"ElementaryTypeName","src":"766:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"744:41:9"},"returnParameters":{"id":15916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15928,"src":"808:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15914,"name":"string","nodeType":"ElementaryTypeName","src":"808:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"807:15:9"},"scope":17062,"src":"724:167:9","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":15940,"nodeType":"Block","src":"968:46:9","statements":[{"expression":{"arguments":[{"id":15936,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15875,"src":"997:3:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15937,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15930,"src":"1002:4:9","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":15935,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"985:11:9","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":15938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"985:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15934,"id":15939,"nodeType":"Return","src":"978:29:9"}]},"id":15941,"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"906:3:9","nodeType":"FunctionDefinition","parameters":{"id":15931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15930,"mutability":"mutable","name":"self","nameLocation":"924:4:9","nodeType":"VariableDeclaration","scope":15941,"src":"910:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15929,"name":"string","nodeType":"ElementaryTypeName","src":"910:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"909:20:9"},"returnParameters":{"id":15934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15941,"src":"953:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15932,"name":"string","nodeType":"ElementaryTypeName","src":"953:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"952:15:9"},"scope":17062,"src":"897:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15955,"nodeType":"Block","src":"1085:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":15951,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15943,"src":"1118:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15949,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1106:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":15950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"1106:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":15952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1106:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15948,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1102:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":15953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1102:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15947,"id":15954,"nodeType":"Return","src":"1095:29:9"}]},"id":15956,"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1029:3:9","nodeType":"FunctionDefinition","parameters":{"id":15944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15943,"mutability":"mutable","name":"self","nameLocation":"1041:4:9","nodeType":"VariableDeclaration","scope":15956,"src":"1033:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15942,"name":"uint256","nodeType":"ElementaryTypeName","src":"1033:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1032:14:9"},"returnParameters":{"id":15947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15956,"src":"1070:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15945,"name":"string","nodeType":"ElementaryTypeName","src":"1070:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1069:15:9"},"scope":17062,"src":"1020:111:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15970,"nodeType":"Block","src":"1201:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":15966,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15958,"src":"1234:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":15964,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1222:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":15965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1225:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"1222:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":15967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15963,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1218:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":15968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1218:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15962,"id":15969,"nodeType":"Return","src":"1211:29:9"}]},"id":15971,"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1146:3:9","nodeType":"FunctionDefinition","parameters":{"id":15959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15958,"mutability":"mutable","name":"self","nameLocation":"1157:4:9","nodeType":"VariableDeclaration","scope":15971,"src":"1150:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15957,"name":"int256","nodeType":"ElementaryTypeName","src":"1150:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1149:13:9"},"returnParameters":{"id":15962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15961,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15971,"src":"1186:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15960,"name":"string","nodeType":"ElementaryTypeName","src":"1186:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1185:15:9"},"scope":17062,"src":"1137:110:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15985,"nodeType":"Block","src":"1318:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":15981,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15973,"src":"1351:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1339:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":15980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1342:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"1339:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":15982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1339:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15978,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1335:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":15983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1335:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15977,"id":15984,"nodeType":"Return","src":"1328:29:9"}]},"id":15986,"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1262:3:9","nodeType":"FunctionDefinition","parameters":{"id":15974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15973,"mutability":"mutable","name":"self","nameLocation":"1274:4:9","nodeType":"VariableDeclaration","scope":15986,"src":"1266:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15972,"name":"address","nodeType":"ElementaryTypeName","src":"1266:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1265:14:9"},"returnParameters":{"id":15977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15986,"src":"1303:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15975,"name":"string","nodeType":"ElementaryTypeName","src":"1303:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1302:15:9"},"scope":17062,"src":"1253:111:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16000,"nodeType":"Block","src":"1432:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":15996,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15988,"src":"1465:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15994,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1453:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":15995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1456:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"1453:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":15997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":15993,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1449:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":15998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1449:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":15992,"id":15999,"nodeType":"Return","src":"1442:29:9"}]},"id":16001,"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1379:3:9","nodeType":"FunctionDefinition","parameters":{"id":15989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15988,"mutability":"mutable","name":"self","nameLocation":"1388:4:9","nodeType":"VariableDeclaration","scope":16001,"src":"1383:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15987,"name":"bool","nodeType":"ElementaryTypeName","src":"1383:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1382:11:9"},"returnParameters":{"id":15992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16001,"src":"1417:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15990,"name":"string","nodeType":"ElementaryTypeName","src":"1417:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1416:15:9"},"scope":17062,"src":"1370:108:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16015,"nodeType":"Block","src":"1559:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16003,"src":"1592:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1580:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1583:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"1580:11:9","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":16012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1580:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16008,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1576:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1576:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16007,"id":16014,"nodeType":"Return","src":"1569:29:9"}]},"id":16016,"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1493:8:9","nodeType":"FunctionDefinition","parameters":{"id":16004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16003,"mutability":"mutable","name":"self","nameLocation":"1515:4:9","nodeType":"VariableDeclaration","scope":16016,"src":"1502:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16002,"name":"bytes","nodeType":"ElementaryTypeName","src":"1502:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1501:19:9"},"returnParameters":{"id":16007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16016,"src":"1544:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16005,"name":"string","nodeType":"ElementaryTypeName","src":"1544:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1543:15:9"},"scope":17062,"src":"1484:121:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16030,"nodeType":"Block","src":"1683:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16026,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16018,"src":"1716:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16024,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1704:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1707:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"1704:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16023,"name":"red","nodeType":"Identifier","overloadedDeclarations":[15941,15956,15971,15986,16001],"referencedDeclaration":15941,"src":"1700:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16022,"id":16029,"nodeType":"Return","src":"1693:29:9"}]},"id":16031,"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1620:10:9","nodeType":"FunctionDefinition","parameters":{"id":16019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16018,"mutability":"mutable","name":"self","nameLocation":"1639:4:9","nodeType":"VariableDeclaration","scope":16031,"src":"1631:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1631:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1630:14:9"},"returnParameters":{"id":16022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16031,"src":"1668:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16020,"name":"string","nodeType":"ElementaryTypeName","src":"1668:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1667:15:9"},"scope":17062,"src":"1611:118:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16043,"nodeType":"Block","src":"1808:48:9","statements":[{"expression":{"arguments":[{"id":16039,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15878,"src":"1837:5:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16040,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16033,"src":"1844:4:9","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":16038,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"1825:11:9","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":16041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1825:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16037,"id":16042,"nodeType":"Return","src":"1818:31:9"}]},"id":16044,"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1744:5:9","nodeType":"FunctionDefinition","parameters":{"id":16034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16033,"mutability":"mutable","name":"self","nameLocation":"1764:4:9","nodeType":"VariableDeclaration","scope":16044,"src":"1750:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16032,"name":"string","nodeType":"ElementaryTypeName","src":"1750:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1749:20:9"},"returnParameters":{"id":16037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16044,"src":"1793:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16035,"name":"string","nodeType":"ElementaryTypeName","src":"1793:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1792:15:9"},"scope":17062,"src":"1735:121:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16058,"nodeType":"Block","src":"1929:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16054,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16046,"src":"1964:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16052,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"1952:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1955:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"1952:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1952:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16051,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"1946:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16050,"id":16057,"nodeType":"Return","src":"1939:31:9"}]},"id":16059,"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1871:5:9","nodeType":"FunctionDefinition","parameters":{"id":16047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16046,"mutability":"mutable","name":"self","nameLocation":"1885:4:9","nodeType":"VariableDeclaration","scope":16059,"src":"1877:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1877:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1876:14:9"},"returnParameters":{"id":16050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16059,"src":"1914:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16048,"name":"string","nodeType":"ElementaryTypeName","src":"1914:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:15:9"},"scope":17062,"src":"1862:115:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16073,"nodeType":"Block","src":"2049:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16069,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16061,"src":"2084:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16067,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2072:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2075:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"2072:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2072:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16066,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"2066:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16065,"id":16072,"nodeType":"Return","src":"2059:31:9"}]},"id":16074,"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1992:5:9","nodeType":"FunctionDefinition","parameters":{"id":16062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16061,"mutability":"mutable","name":"self","nameLocation":"2005:4:9","nodeType":"VariableDeclaration","scope":16074,"src":"1998:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16060,"name":"int256","nodeType":"ElementaryTypeName","src":"1998:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1997:13:9"},"returnParameters":{"id":16065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16074,"src":"2034:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16063,"name":"string","nodeType":"ElementaryTypeName","src":"2034:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2033:15:9"},"scope":17062,"src":"1983:114:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16088,"nodeType":"Block","src":"2170:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16084,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16076,"src":"2205:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16082,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2193:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"2193:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2193:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16081,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"2187:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16080,"id":16087,"nodeType":"Return","src":"2180:31:9"}]},"id":16089,"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2112:5:9","nodeType":"FunctionDefinition","parameters":{"id":16077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16076,"mutability":"mutable","name":"self","nameLocation":"2126:4:9","nodeType":"VariableDeclaration","scope":16089,"src":"2118:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16075,"name":"address","nodeType":"ElementaryTypeName","src":"2118:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2117:14:9"},"returnParameters":{"id":16080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16089,"src":"2155:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16078,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2154:15:9"},"scope":17062,"src":"2103:115:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16103,"nodeType":"Block","src":"2288:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16099,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16091,"src":"2323:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16097,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2311:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2314:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"2311:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2311:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16096,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"2305:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16095,"id":16102,"nodeType":"Return","src":"2298:31:9"}]},"id":16104,"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2233:5:9","nodeType":"FunctionDefinition","parameters":{"id":16092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16091,"mutability":"mutable","name":"self","nameLocation":"2244:4:9","nodeType":"VariableDeclaration","scope":16104,"src":"2239:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16090,"name":"bool","nodeType":"ElementaryTypeName","src":"2239:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2238:11:9"},"returnParameters":{"id":16095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16104,"src":"2273:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16093,"name":"string","nodeType":"ElementaryTypeName","src":"2273:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2272:15:9"},"scope":17062,"src":"2224:112:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16118,"nodeType":"Block","src":"2419:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16114,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16106,"src":"2454:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16112,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2442:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2445:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"2442:11:9","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":16115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2442:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16111,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"2436:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2436:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16110,"id":16117,"nodeType":"Return","src":"2429:31:9"}]},"id":16119,"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2351:10:9","nodeType":"FunctionDefinition","parameters":{"id":16107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16106,"mutability":"mutable","name":"self","nameLocation":"2375:4:9","nodeType":"VariableDeclaration","scope":16119,"src":"2362:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16105,"name":"bytes","nodeType":"ElementaryTypeName","src":"2362:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2361:19:9"},"returnParameters":{"id":16110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16119,"src":"2404:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16108,"name":"string","nodeType":"ElementaryTypeName","src":"2404:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:15:9"},"scope":17062,"src":"2342:125:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16133,"nodeType":"Block","src":"2547:48:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16129,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16121,"src":"2582:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16127,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2570:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2573:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"2570:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2570:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16126,"name":"green","nodeType":"Identifier","overloadedDeclarations":[16044,16059,16074,16089,16104],"referencedDeclaration":16044,"src":"2564:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2564:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16125,"id":16132,"nodeType":"Return","src":"2557:31:9"}]},"id":16134,"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2482:12:9","nodeType":"FunctionDefinition","parameters":{"id":16122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16121,"mutability":"mutable","name":"self","nameLocation":"2503:4:9","nodeType":"VariableDeclaration","scope":16134,"src":"2495:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2495:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2494:14:9"},"returnParameters":{"id":16125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16134,"src":"2532:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16123,"name":"string","nodeType":"ElementaryTypeName","src":"2532:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2531:15:9"},"scope":17062,"src":"2473:122:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16146,"nodeType":"Block","src":"2675:49:9","statements":[{"expression":{"arguments":[{"id":16142,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15881,"src":"2704:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16143,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16136,"src":"2712:4:9","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":16141,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"2692:11:9","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":16144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16140,"id":16145,"nodeType":"Return","src":"2685:32:9"}]},"id":16147,"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2610:6:9","nodeType":"FunctionDefinition","parameters":{"id":16137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16136,"mutability":"mutable","name":"self","nameLocation":"2631:4:9","nodeType":"VariableDeclaration","scope":16147,"src":"2617:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16135,"name":"string","nodeType":"ElementaryTypeName","src":"2617:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2616:20:9"},"returnParameters":{"id":16140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16147,"src":"2660:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16138,"name":"string","nodeType":"ElementaryTypeName","src":"2660:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2659:15:9"},"scope":17062,"src":"2601:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16161,"nodeType":"Block","src":"2798:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16157,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16149,"src":"2834:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16155,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2822:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2825:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"2822:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16154,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"2815:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16153,"id":16160,"nodeType":"Return","src":"2808:32:9"}]},"id":16162,"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2739:6:9","nodeType":"FunctionDefinition","parameters":{"id":16150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16149,"mutability":"mutable","name":"self","nameLocation":"2754:4:9","nodeType":"VariableDeclaration","scope":16162,"src":"2746:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16148,"name":"uint256","nodeType":"ElementaryTypeName","src":"2746:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2745:14:9"},"returnParameters":{"id":16153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16162,"src":"2783:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16151,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2782:15:9"},"scope":17062,"src":"2730:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16176,"nodeType":"Block","src":"2920:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16172,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16164,"src":"2956:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16170,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"2944:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2947:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"2944:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16169,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"2937:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16168,"id":16175,"nodeType":"Return","src":"2930:32:9"}]},"id":16177,"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2862:6:9","nodeType":"FunctionDefinition","parameters":{"id":16165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16164,"mutability":"mutable","name":"self","nameLocation":"2876:4:9","nodeType":"VariableDeclaration","scope":16177,"src":"2869:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16163,"name":"int256","nodeType":"ElementaryTypeName","src":"2869:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2868:13:9"},"returnParameters":{"id":16168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16177,"src":"2905:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16166,"name":"string","nodeType":"ElementaryTypeName","src":"2905:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2904:15:9"},"scope":17062,"src":"2853:116:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16191,"nodeType":"Block","src":"3043:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16187,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16179,"src":"3079:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16185,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3067:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3070:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"3067:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3067:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16184,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"3060:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16183,"id":16190,"nodeType":"Return","src":"3053:32:9"}]},"id":16192,"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2984:6:9","nodeType":"FunctionDefinition","parameters":{"id":16180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16179,"mutability":"mutable","name":"self","nameLocation":"2999:4:9","nodeType":"VariableDeclaration","scope":16192,"src":"2991:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16178,"name":"address","nodeType":"ElementaryTypeName","src":"2991:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2990:14:9"},"returnParameters":{"id":16183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16192,"src":"3028:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16181,"name":"string","nodeType":"ElementaryTypeName","src":"3028:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3027:15:9"},"scope":17062,"src":"2975:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16206,"nodeType":"Block","src":"3163:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16202,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"3199:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16200,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3187:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3190:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"3187:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3187:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16199,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"3180:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3180:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16198,"id":16205,"nodeType":"Return","src":"3173:32:9"}]},"id":16207,"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3107:6:9","nodeType":"FunctionDefinition","parameters":{"id":16195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16194,"mutability":"mutable","name":"self","nameLocation":"3119:4:9","nodeType":"VariableDeclaration","scope":16207,"src":"3114:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16193,"name":"bool","nodeType":"ElementaryTypeName","src":"3114:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3113:11:9"},"returnParameters":{"id":16198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16207,"src":"3148:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16196,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3147:15:9"},"scope":17062,"src":"3098:114:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16221,"nodeType":"Block","src":"3296:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16217,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16209,"src":"3332:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3320:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3323:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"3320:11:9","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":16218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16214,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"3313:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3313:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16213,"id":16220,"nodeType":"Return","src":"3306:32:9"}]},"id":16222,"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3227:11:9","nodeType":"FunctionDefinition","parameters":{"id":16210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16209,"mutability":"mutable","name":"self","nameLocation":"3252:4:9","nodeType":"VariableDeclaration","scope":16222,"src":"3239:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16208,"name":"bytes","nodeType":"ElementaryTypeName","src":"3239:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3238:19:9"},"returnParameters":{"id":16213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16222,"src":"3281:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16211,"name":"string","nodeType":"ElementaryTypeName","src":"3281:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3280:15:9"},"scope":17062,"src":"3218:127:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16236,"nodeType":"Block","src":"3426:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16232,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16224,"src":"3462:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16230,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3450:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"3450:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16229,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[16147,16162,16177,16192,16207],"referencedDeclaration":16147,"src":"3443:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16228,"id":16235,"nodeType":"Return","src":"3436:32:9"}]},"id":16237,"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3360:13:9","nodeType":"FunctionDefinition","parameters":{"id":16225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16224,"mutability":"mutable","name":"self","nameLocation":"3382:4:9","nodeType":"VariableDeclaration","scope":16237,"src":"3374:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3374:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3373:14:9"},"returnParameters":{"id":16228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16237,"src":"3411:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16226,"name":"string","nodeType":"ElementaryTypeName","src":"3411:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3410:15:9"},"scope":17062,"src":"3351:124:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16249,"nodeType":"Block","src":"3553:47:9","statements":[{"expression":{"arguments":[{"id":16245,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15884,"src":"3582:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16246,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16239,"src":"3588:4:9","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":16244,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"3570:11:9","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":16247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16243,"id":16248,"nodeType":"Return","src":"3563:30:9"}]},"id":16250,"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3490:4:9","nodeType":"FunctionDefinition","parameters":{"id":16240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16239,"mutability":"mutable","name":"self","nameLocation":"3509:4:9","nodeType":"VariableDeclaration","scope":16250,"src":"3495:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16238,"name":"string","nodeType":"ElementaryTypeName","src":"3495:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3494:20:9"},"returnParameters":{"id":16243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16250,"src":"3538:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16241,"name":"string","nodeType":"ElementaryTypeName","src":"3538:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3537:15:9"},"scope":17062,"src":"3481:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16264,"nodeType":"Block","src":"3672:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16260,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16252,"src":"3706:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16258,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3694:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3697:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"3694:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3694:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16257,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"3689:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16256,"id":16263,"nodeType":"Return","src":"3682:30:9"}]},"id":16265,"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3615:4:9","nodeType":"FunctionDefinition","parameters":{"id":16253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16252,"mutability":"mutable","name":"self","nameLocation":"3628:4:9","nodeType":"VariableDeclaration","scope":16265,"src":"3620:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16251,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:14:9"},"returnParameters":{"id":16256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16265,"src":"3657:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16254,"name":"string","nodeType":"ElementaryTypeName","src":"3657:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3656:15:9"},"scope":17062,"src":"3606:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16279,"nodeType":"Block","src":"3790:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16275,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16267,"src":"3824:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3812:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3815:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"3812:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16272,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"3807:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16271,"id":16278,"nodeType":"Return","src":"3800:30:9"}]},"id":16280,"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3734:4:9","nodeType":"FunctionDefinition","parameters":{"id":16268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16267,"mutability":"mutable","name":"self","nameLocation":"3746:4:9","nodeType":"VariableDeclaration","scope":16280,"src":"3739:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16266,"name":"int256","nodeType":"ElementaryTypeName","src":"3739:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3738:13:9"},"returnParameters":{"id":16271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16280,"src":"3775:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16269,"name":"string","nodeType":"ElementaryTypeName","src":"3775:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3774:15:9"},"scope":17062,"src":"3725:112:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16294,"nodeType":"Block","src":"3909:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16290,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16282,"src":"3943:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16288,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"3931:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3934:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"3931:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3931:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16287,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"3926:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16286,"id":16293,"nodeType":"Return","src":"3919:30:9"}]},"id":16295,"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3852:4:9","nodeType":"FunctionDefinition","parameters":{"id":16283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16282,"mutability":"mutable","name":"self","nameLocation":"3865:4:9","nodeType":"VariableDeclaration","scope":16295,"src":"3857:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16281,"name":"address","nodeType":"ElementaryTypeName","src":"3857:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3856:14:9"},"returnParameters":{"id":16286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16295,"src":"3894:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16284,"name":"string","nodeType":"ElementaryTypeName","src":"3894:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3893:15:9"},"scope":17062,"src":"3843:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16309,"nodeType":"Block","src":"4025:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16305,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16297,"src":"4059:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16303,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4047:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"4047:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16302,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"4042:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4042:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16301,"id":16308,"nodeType":"Return","src":"4035:30:9"}]},"id":16310,"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3971:4:9","nodeType":"FunctionDefinition","parameters":{"id":16298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16297,"mutability":"mutable","name":"self","nameLocation":"3981:4:9","nodeType":"VariableDeclaration","scope":16310,"src":"3976:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16296,"name":"bool","nodeType":"ElementaryTypeName","src":"3976:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3975:11:9"},"returnParameters":{"id":16301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16310,"src":"4010:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16299,"name":"string","nodeType":"ElementaryTypeName","src":"4010:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4009:15:9"},"scope":17062,"src":"3962:110:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16324,"nodeType":"Block","src":"4154:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16320,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16312,"src":"4188:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16318,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4176:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4179:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"4176:11:9","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":16321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16317,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"4171:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4171:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16316,"id":16323,"nodeType":"Return","src":"4164:30:9"}]},"id":16325,"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4087:9:9","nodeType":"FunctionDefinition","parameters":{"id":16313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16312,"mutability":"mutable","name":"self","nameLocation":"4110:4:9","nodeType":"VariableDeclaration","scope":16325,"src":"4097:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16311,"name":"bytes","nodeType":"ElementaryTypeName","src":"4097:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4096:19:9"},"returnParameters":{"id":16316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16325,"src":"4139:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16314,"name":"string","nodeType":"ElementaryTypeName","src":"4139:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4138:15:9"},"scope":17062,"src":"4078:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16339,"nodeType":"Block","src":"4280:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16335,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16327,"src":"4314:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4302:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"4302:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16332,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[16250,16265,16280,16295,16310],"referencedDeclaration":16250,"src":"4297:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16331,"id":16338,"nodeType":"Return","src":"4290:30:9"}]},"id":16340,"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4216:11:9","nodeType":"FunctionDefinition","parameters":{"id":16328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16327,"mutability":"mutable","name":"self","nameLocation":"4236:4:9","nodeType":"VariableDeclaration","scope":16340,"src":"4228:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4228:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4227:14:9"},"returnParameters":{"id":16331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16340,"src":"4265:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16329,"name":"string","nodeType":"ElementaryTypeName","src":"4265:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4264:15:9"},"scope":17062,"src":"4207:120:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16352,"nodeType":"Block","src":"4408:50:9","statements":[{"expression":{"arguments":[{"id":16348,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15887,"src":"4437:7:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16349,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16342,"src":"4446:4:9","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":16347,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"4425:11:9","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":16350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16346,"id":16351,"nodeType":"Return","src":"4418:33:9"}]},"id":16353,"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4342:7:9","nodeType":"FunctionDefinition","parameters":{"id":16343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16342,"mutability":"mutable","name":"self","nameLocation":"4364:4:9","nodeType":"VariableDeclaration","scope":16353,"src":"4350:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16341,"name":"string","nodeType":"ElementaryTypeName","src":"4350:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4349:20:9"},"returnParameters":{"id":16346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16353,"src":"4393:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16344,"name":"string","nodeType":"ElementaryTypeName","src":"4393:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4392:15:9"},"scope":17062,"src":"4333:125:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16367,"nodeType":"Block","src":"4533:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16363,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16355,"src":"4570:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16361,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4558:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4561:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"4558:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4558:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16360,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"4550:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4550:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16359,"id":16366,"nodeType":"Return","src":"4543:33:9"}]},"id":16368,"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4473:7:9","nodeType":"FunctionDefinition","parameters":{"id":16356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16355,"mutability":"mutable","name":"self","nameLocation":"4489:4:9","nodeType":"VariableDeclaration","scope":16368,"src":"4481:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16354,"name":"uint256","nodeType":"ElementaryTypeName","src":"4481:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4480:14:9"},"returnParameters":{"id":16359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16368,"src":"4518:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16357,"name":"string","nodeType":"ElementaryTypeName","src":"4518:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4517:15:9"},"scope":17062,"src":"4464:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16382,"nodeType":"Block","src":"4657:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16378,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16370,"src":"4694:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16376,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4682:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"4682:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4682:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16375,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"4674:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16374,"id":16381,"nodeType":"Return","src":"4667:33:9"}]},"id":16383,"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4598:7:9","nodeType":"FunctionDefinition","parameters":{"id":16371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16370,"mutability":"mutable","name":"self","nameLocation":"4613:4:9","nodeType":"VariableDeclaration","scope":16383,"src":"4606:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16369,"name":"int256","nodeType":"ElementaryTypeName","src":"4606:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4605:13:9"},"returnParameters":{"id":16374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16373,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16383,"src":"4642:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16372,"name":"string","nodeType":"ElementaryTypeName","src":"4642:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4641:15:9"},"scope":17062,"src":"4589:118:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16397,"nodeType":"Block","src":"4782:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16393,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16385,"src":"4819:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16391,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4807:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"4807:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16390,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"4799:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4799:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16389,"id":16396,"nodeType":"Return","src":"4792:33:9"}]},"id":16398,"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4722:7:9","nodeType":"FunctionDefinition","parameters":{"id":16386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16385,"mutability":"mutable","name":"self","nameLocation":"4738:4:9","nodeType":"VariableDeclaration","scope":16398,"src":"4730:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16384,"name":"address","nodeType":"ElementaryTypeName","src":"4730:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4729:14:9"},"returnParameters":{"id":16389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16398,"src":"4767:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16387,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:9"},"scope":17062,"src":"4713:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16412,"nodeType":"Block","src":"4904:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16408,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16400,"src":"4941:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16406,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"4929:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4932:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"4929:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4929:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16405,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"4921:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16404,"id":16411,"nodeType":"Return","src":"4914:33:9"}]},"id":16413,"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4847:7:9","nodeType":"FunctionDefinition","parameters":{"id":16401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16400,"mutability":"mutable","name":"self","nameLocation":"4860:4:9","nodeType":"VariableDeclaration","scope":16413,"src":"4855:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16399,"name":"bool","nodeType":"ElementaryTypeName","src":"4855:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4854:11:9"},"returnParameters":{"id":16404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16413,"src":"4889:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16402,"name":"string","nodeType":"ElementaryTypeName","src":"4889:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4888:15:9"},"scope":17062,"src":"4838:116:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16427,"nodeType":"Block","src":"5039:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16423,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16415,"src":"5076:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16421,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5064:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5067:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"5064:11:9","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":16424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5064:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16420,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"5056:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16419,"id":16426,"nodeType":"Return","src":"5049:33:9"}]},"id":16428,"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4969:12:9","nodeType":"FunctionDefinition","parameters":{"id":16416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16415,"mutability":"mutable","name":"self","nameLocation":"4995:4:9","nodeType":"VariableDeclaration","scope":16428,"src":"4982:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16414,"name":"bytes","nodeType":"ElementaryTypeName","src":"4982:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4981:19:9"},"returnParameters":{"id":16419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16428,"src":"5024:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16417,"name":"string","nodeType":"ElementaryTypeName","src":"5024:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5023:15:9"},"scope":17062,"src":"4960:129:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16442,"nodeType":"Block","src":"5171:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16438,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16430,"src":"5208:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16436,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5196:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5199:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"5196:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16435,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[16353,16368,16383,16398,16413],"referencedDeclaration":16353,"src":"5188:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5188:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16434,"id":16441,"nodeType":"Return","src":"5181:33:9"}]},"id":16443,"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5104:14:9","nodeType":"FunctionDefinition","parameters":{"id":16431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16430,"mutability":"mutable","name":"self","nameLocation":"5127:4:9","nodeType":"VariableDeclaration","scope":16443,"src":"5119:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5119:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5118:14:9"},"returnParameters":{"id":16434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16443,"src":"5156:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16432,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5155:15:9"},"scope":17062,"src":"5095:126:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16455,"nodeType":"Block","src":"5299:47:9","statements":[{"expression":{"arguments":[{"id":16451,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15890,"src":"5328:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16452,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16445,"src":"5334:4:9","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":16450,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"5316:11:9","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":16453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5316:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16449,"id":16454,"nodeType":"Return","src":"5309:30:9"}]},"id":16456,"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5236:4:9","nodeType":"FunctionDefinition","parameters":{"id":16446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16445,"mutability":"mutable","name":"self","nameLocation":"5255:4:9","nodeType":"VariableDeclaration","scope":16456,"src":"5241:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16444,"name":"string","nodeType":"ElementaryTypeName","src":"5241:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5240:20:9"},"returnParameters":{"id":16449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16456,"src":"5284:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16447,"name":"string","nodeType":"ElementaryTypeName","src":"5284:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5283:15:9"},"scope":17062,"src":"5227:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16470,"nodeType":"Block","src":"5418:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16466,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16458,"src":"5452:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16464,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5440:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5443:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"5440:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16463,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"5435:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16462,"id":16469,"nodeType":"Return","src":"5428:30:9"}]},"id":16471,"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5361:4:9","nodeType":"FunctionDefinition","parameters":{"id":16459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16458,"mutability":"mutable","name":"self","nameLocation":"5374:4:9","nodeType":"VariableDeclaration","scope":16471,"src":"5366:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16457,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5365:14:9"},"returnParameters":{"id":16462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16471,"src":"5403:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16460,"name":"string","nodeType":"ElementaryTypeName","src":"5403:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5402:15:9"},"scope":17062,"src":"5352:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16485,"nodeType":"Block","src":"5536:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16481,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16473,"src":"5570:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16479,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5558:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5561:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"5558:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5558:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16478,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"5553:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5553:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16477,"id":16484,"nodeType":"Return","src":"5546:30:9"}]},"id":16486,"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5480:4:9","nodeType":"FunctionDefinition","parameters":{"id":16474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16473,"mutability":"mutable","name":"self","nameLocation":"5492:4:9","nodeType":"VariableDeclaration","scope":16486,"src":"5485:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16472,"name":"int256","nodeType":"ElementaryTypeName","src":"5485:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5484:13:9"},"returnParameters":{"id":16477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16486,"src":"5521:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16475,"name":"string","nodeType":"ElementaryTypeName","src":"5521:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5520:15:9"},"scope":17062,"src":"5471:112:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16500,"nodeType":"Block","src":"5655:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16496,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16488,"src":"5689:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5677:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5680:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"5677:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16493,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"5672:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16492,"id":16499,"nodeType":"Return","src":"5665:30:9"}]},"id":16501,"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5598:4:9","nodeType":"FunctionDefinition","parameters":{"id":16489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16488,"mutability":"mutable","name":"self","nameLocation":"5611:4:9","nodeType":"VariableDeclaration","scope":16501,"src":"5603:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16487,"name":"address","nodeType":"ElementaryTypeName","src":"5603:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5602:14:9"},"returnParameters":{"id":16492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16501,"src":"5640:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16490,"name":"string","nodeType":"ElementaryTypeName","src":"5640:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5639:15:9"},"scope":17062,"src":"5589:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16515,"nodeType":"Block","src":"5771:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16511,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16503,"src":"5805:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16509,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5793:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5796:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"5793:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5793:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16508,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"5788:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16507,"id":16514,"nodeType":"Return","src":"5781:30:9"}]},"id":16516,"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5717:4:9","nodeType":"FunctionDefinition","parameters":{"id":16504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16503,"mutability":"mutable","name":"self","nameLocation":"5727:4:9","nodeType":"VariableDeclaration","scope":16516,"src":"5722:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16502,"name":"bool","nodeType":"ElementaryTypeName","src":"5722:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5721:11:9"},"returnParameters":{"id":16507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16516,"src":"5756:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16505,"name":"string","nodeType":"ElementaryTypeName","src":"5756:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5755:15:9"},"scope":17062,"src":"5708:110:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16530,"nodeType":"Block","src":"5900:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16526,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16518,"src":"5934:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16524,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"5922:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5925:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"5922:11:9","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":16527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16523,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"5917:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16522,"id":16529,"nodeType":"Return","src":"5910:30:9"}]},"id":16531,"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5833:9:9","nodeType":"FunctionDefinition","parameters":{"id":16519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16518,"mutability":"mutable","name":"self","nameLocation":"5856:4:9","nodeType":"VariableDeclaration","scope":16531,"src":"5843:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16517,"name":"bytes","nodeType":"ElementaryTypeName","src":"5843:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5842:19:9"},"returnParameters":{"id":16522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16531,"src":"5885:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16520,"name":"string","nodeType":"ElementaryTypeName","src":"5885:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5884:15:9"},"scope":17062,"src":"5824:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16545,"nodeType":"Block","src":"6026:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16541,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16533,"src":"6060:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6048:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6051:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"6048:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16538,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[16456,16471,16486,16501,16516],"referencedDeclaration":16456,"src":"6043:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6043:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16537,"id":16544,"nodeType":"Return","src":"6036:30:9"}]},"id":16546,"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5962:11:9","nodeType":"FunctionDefinition","parameters":{"id":16534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16533,"mutability":"mutable","name":"self","nameLocation":"5982:4:9","nodeType":"VariableDeclaration","scope":16546,"src":"5974:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5973:14:9"},"returnParameters":{"id":16537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16546,"src":"6011:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16535,"name":"string","nodeType":"ElementaryTypeName","src":"6011:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6010:15:9"},"scope":17062,"src":"5953:120:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16558,"nodeType":"Block","src":"6151:47:9","statements":[{"expression":{"arguments":[{"id":16554,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15893,"src":"6180:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16555,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16548,"src":"6186:4:9","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":16553,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"6168:11:9","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":16556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16552,"id":16557,"nodeType":"Return","src":"6161:30:9"}]},"id":16559,"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6088:4:9","nodeType":"FunctionDefinition","parameters":{"id":16549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16548,"mutability":"mutable","name":"self","nameLocation":"6107:4:9","nodeType":"VariableDeclaration","scope":16559,"src":"6093:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16547,"name":"string","nodeType":"ElementaryTypeName","src":"6093:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6092:20:9"},"returnParameters":{"id":16552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16559,"src":"6136:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16550,"name":"string","nodeType":"ElementaryTypeName","src":"6136:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6135:15:9"},"scope":17062,"src":"6079:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16573,"nodeType":"Block","src":"6270:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16569,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16561,"src":"6304:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16567,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6292:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6295:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"6292:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6292:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16566,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6287:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6287:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16565,"id":16572,"nodeType":"Return","src":"6280:30:9"}]},"id":16574,"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6213:4:9","nodeType":"FunctionDefinition","parameters":{"id":16562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16561,"mutability":"mutable","name":"self","nameLocation":"6226:4:9","nodeType":"VariableDeclaration","scope":16574,"src":"6218:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16560,"name":"uint256","nodeType":"ElementaryTypeName","src":"6218:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6217:14:9"},"returnParameters":{"id":16565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16574,"src":"6255:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16563,"name":"string","nodeType":"ElementaryTypeName","src":"6255:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6254:15:9"},"scope":17062,"src":"6204:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16588,"nodeType":"Block","src":"6388:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16584,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16576,"src":"6422:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16582,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6410:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6413:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"6410:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16581,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6405:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16580,"id":16587,"nodeType":"Return","src":"6398:30:9"}]},"id":16589,"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6332:4:9","nodeType":"FunctionDefinition","parameters":{"id":16577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16576,"mutability":"mutable","name":"self","nameLocation":"6344:4:9","nodeType":"VariableDeclaration","scope":16589,"src":"6337:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16575,"name":"int256","nodeType":"ElementaryTypeName","src":"6337:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6336:13:9"},"returnParameters":{"id":16580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16589,"src":"6373:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16578,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6372:15:9"},"scope":17062,"src":"6323:112:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16603,"nodeType":"Block","src":"6507:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16599,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16591,"src":"6541:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16597,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6529:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6532:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"6529:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6529:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16596,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6524:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6524:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16595,"id":16602,"nodeType":"Return","src":"6517:30:9"}]},"id":16604,"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6450:4:9","nodeType":"FunctionDefinition","parameters":{"id":16592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16591,"mutability":"mutable","name":"self","nameLocation":"6463:4:9","nodeType":"VariableDeclaration","scope":16604,"src":"6455:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16590,"name":"address","nodeType":"ElementaryTypeName","src":"6455:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6454:14:9"},"returnParameters":{"id":16595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16604,"src":"6492:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16593,"name":"string","nodeType":"ElementaryTypeName","src":"6492:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6491:15:9"},"scope":17062,"src":"6441:113:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16618,"nodeType":"Block","src":"6623:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16614,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16606,"src":"6657:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16612,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6645:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6648:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"6645:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6645:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16611,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6640:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6640:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16610,"id":16617,"nodeType":"Return","src":"6633:30:9"}]},"id":16619,"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6569:4:9","nodeType":"FunctionDefinition","parameters":{"id":16607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16606,"mutability":"mutable","name":"self","nameLocation":"6579:4:9","nodeType":"VariableDeclaration","scope":16619,"src":"6574:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16605,"name":"bool","nodeType":"ElementaryTypeName","src":"6574:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6573:11:9"},"returnParameters":{"id":16610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16619,"src":"6608:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16608,"name":"string","nodeType":"ElementaryTypeName","src":"6608:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6607:15:9"},"scope":17062,"src":"6560:110:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16633,"nodeType":"Block","src":"6752:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16629,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16621,"src":"6786:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16627,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6774:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6777:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"6774:11:9","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":16630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6774:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16626,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6769:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16625,"id":16632,"nodeType":"Return","src":"6762:30:9"}]},"id":16634,"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6685:9:9","nodeType":"FunctionDefinition","parameters":{"id":16622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16621,"mutability":"mutable","name":"self","nameLocation":"6708:4:9","nodeType":"VariableDeclaration","scope":16634,"src":"6695:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16620,"name":"bytes","nodeType":"ElementaryTypeName","src":"6695:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6694:19:9"},"returnParameters":{"id":16625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16634,"src":"6737:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16623,"name":"string","nodeType":"ElementaryTypeName","src":"6737:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6736:15:9"},"scope":17062,"src":"6676:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16648,"nodeType":"Block","src":"6878:47:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16644,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16636,"src":"6912:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16642,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"6900:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6903:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"6900:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6900:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16641,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[16559,16574,16589,16604,16619],"referencedDeclaration":16559,"src":"6895:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16640,"id":16647,"nodeType":"Return","src":"6888:30:9"}]},"id":16649,"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6814:11:9","nodeType":"FunctionDefinition","parameters":{"id":16637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16636,"mutability":"mutable","name":"self","nameLocation":"6834:4:9","nodeType":"VariableDeclaration","scope":16649,"src":"6826:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6826:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6825:14:9"},"returnParameters":{"id":16640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16649,"src":"6863:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16638,"name":"string","nodeType":"ElementaryTypeName","src":"6863:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6862:15:9"},"scope":17062,"src":"6805:120:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16661,"nodeType":"Block","src":"7002:46:9","statements":[{"expression":{"arguments":[{"id":16657,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15896,"src":"7031:3:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16658,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16651,"src":"7036:4:9","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":16656,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"7019:11:9","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":16659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7019:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16655,"id":16660,"nodeType":"Return","src":"7012:29:9"}]},"id":16662,"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6940:3:9","nodeType":"FunctionDefinition","parameters":{"id":16652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16651,"mutability":"mutable","name":"self","nameLocation":"6958:4:9","nodeType":"VariableDeclaration","scope":16662,"src":"6944:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16650,"name":"string","nodeType":"ElementaryTypeName","src":"6944:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6943:20:9"},"returnParameters":{"id":16655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16662,"src":"6987:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16653,"name":"string","nodeType":"ElementaryTypeName","src":"6987:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6986:15:9"},"scope":17062,"src":"6931:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16676,"nodeType":"Block","src":"7119:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16672,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16664,"src":"7152:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16670,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7140:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7143:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"7140:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16669,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7136:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7136:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16668,"id":16675,"nodeType":"Return","src":"7129:29:9"}]},"id":16677,"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7063:3:9","nodeType":"FunctionDefinition","parameters":{"id":16665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16664,"mutability":"mutable","name":"self","nameLocation":"7075:4:9","nodeType":"VariableDeclaration","scope":16677,"src":"7067:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16663,"name":"uint256","nodeType":"ElementaryTypeName","src":"7067:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7066:14:9"},"returnParameters":{"id":16668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16677,"src":"7104:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16666,"name":"string","nodeType":"ElementaryTypeName","src":"7104:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7103:15:9"},"scope":17062,"src":"7054:111:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16691,"nodeType":"Block","src":"7235:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16687,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16679,"src":"7268:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16685,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7256:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7259:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"7256:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7256:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16684,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7252:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16683,"id":16690,"nodeType":"Return","src":"7245:29:9"}]},"id":16692,"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7180:3:9","nodeType":"FunctionDefinition","parameters":{"id":16680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16679,"mutability":"mutable","name":"self","nameLocation":"7191:4:9","nodeType":"VariableDeclaration","scope":16692,"src":"7184:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16678,"name":"int256","nodeType":"ElementaryTypeName","src":"7184:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7183:13:9"},"returnParameters":{"id":16683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16692,"src":"7220:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16681,"name":"string","nodeType":"ElementaryTypeName","src":"7220:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7219:15:9"},"scope":17062,"src":"7171:110:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16706,"nodeType":"Block","src":"7352:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16702,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16694,"src":"7385:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16700,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7373:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7376:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"7373:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7373:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16699,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7369:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7369:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16698,"id":16705,"nodeType":"Return","src":"7362:29:9"}]},"id":16707,"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7296:3:9","nodeType":"FunctionDefinition","parameters":{"id":16695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16694,"mutability":"mutable","name":"self","nameLocation":"7308:4:9","nodeType":"VariableDeclaration","scope":16707,"src":"7300:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16693,"name":"address","nodeType":"ElementaryTypeName","src":"7300:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7299:14:9"},"returnParameters":{"id":16698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16707,"src":"7337:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16696,"name":"string","nodeType":"ElementaryTypeName","src":"7337:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7336:15:9"},"scope":17062,"src":"7287:111:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16721,"nodeType":"Block","src":"7466:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16717,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16709,"src":"7499:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7487:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7490:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"7487:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7487:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16714,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7483:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7483:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16713,"id":16720,"nodeType":"Return","src":"7476:29:9"}]},"id":16722,"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7413:3:9","nodeType":"FunctionDefinition","parameters":{"id":16710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16709,"mutability":"mutable","name":"self","nameLocation":"7422:4:9","nodeType":"VariableDeclaration","scope":16722,"src":"7417:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16708,"name":"bool","nodeType":"ElementaryTypeName","src":"7417:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7416:11:9"},"returnParameters":{"id":16713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16712,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16722,"src":"7451:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16711,"name":"string","nodeType":"ElementaryTypeName","src":"7451:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7450:15:9"},"scope":17062,"src":"7404:108:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16736,"nodeType":"Block","src":"7593:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16732,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16724,"src":"7626:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7614:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7617:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"7614:11:9","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":16733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16729,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7610:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7610:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16728,"id":16735,"nodeType":"Return","src":"7603:29:9"}]},"id":16737,"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7527:8:9","nodeType":"FunctionDefinition","parameters":{"id":16725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16724,"mutability":"mutable","name":"self","nameLocation":"7549:4:9","nodeType":"VariableDeclaration","scope":16737,"src":"7536:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16723,"name":"bytes","nodeType":"ElementaryTypeName","src":"7536:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7535:19:9"},"returnParameters":{"id":16728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16727,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16737,"src":"7578:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16726,"name":"string","nodeType":"ElementaryTypeName","src":"7578:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7577:15:9"},"scope":17062,"src":"7518:121:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16751,"nodeType":"Block","src":"7717:46:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16747,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16739,"src":"7750:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16745,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7738:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"7738:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7738:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16744,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[16662,16677,16692,16707,16722],"referencedDeclaration":16662,"src":"7734:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7734:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16743,"id":16750,"nodeType":"Return","src":"7727:29:9"}]},"id":16752,"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7654:10:9","nodeType":"FunctionDefinition","parameters":{"id":16740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16739,"mutability":"mutable","name":"self","nameLocation":"7673:4:9","nodeType":"VariableDeclaration","scope":16752,"src":"7665:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7665:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7664:14:9"},"returnParameters":{"id":16743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16752,"src":"7702:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16741,"name":"string","nodeType":"ElementaryTypeName","src":"7702:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7701:15:9"},"scope":17062,"src":"7645:118:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16764,"nodeType":"Block","src":"7843:49:9","statements":[{"expression":{"arguments":[{"id":16760,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15899,"src":"7872:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16761,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16754,"src":"7880:4:9","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":16759,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"7860:11:9","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":16762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16758,"id":16763,"nodeType":"Return","src":"7853:32:9"}]},"id":16765,"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7778:6:9","nodeType":"FunctionDefinition","parameters":{"id":16755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16754,"mutability":"mutable","name":"self","nameLocation":"7799:4:9","nodeType":"VariableDeclaration","scope":16765,"src":"7785:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16753,"name":"string","nodeType":"ElementaryTypeName","src":"7785:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7784:20:9"},"returnParameters":{"id":16758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16765,"src":"7828:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16756,"name":"string","nodeType":"ElementaryTypeName","src":"7828:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7827:15:9"},"scope":17062,"src":"7769:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16779,"nodeType":"Block","src":"7966:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16775,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16767,"src":"8002:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16773,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"7990:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7993:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"7990:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16772,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"7983:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7983:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16771,"id":16778,"nodeType":"Return","src":"7976:32:9"}]},"id":16780,"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7907:6:9","nodeType":"FunctionDefinition","parameters":{"id":16768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16767,"mutability":"mutable","name":"self","nameLocation":"7922:4:9","nodeType":"VariableDeclaration","scope":16780,"src":"7914:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16766,"name":"uint256","nodeType":"ElementaryTypeName","src":"7914:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7913:14:9"},"returnParameters":{"id":16771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16780,"src":"7951:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16769,"name":"string","nodeType":"ElementaryTypeName","src":"7951:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7950:15:9"},"scope":17062,"src":"7898:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16794,"nodeType":"Block","src":"8088:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16790,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16782,"src":"8124:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8112:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8115:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"8112:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8112:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16787,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"8105:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8105:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16786,"id":16793,"nodeType":"Return","src":"8098:32:9"}]},"id":16795,"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8030:6:9","nodeType":"FunctionDefinition","parameters":{"id":16783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16782,"mutability":"mutable","name":"self","nameLocation":"8044:4:9","nodeType":"VariableDeclaration","scope":16795,"src":"8037:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16781,"name":"int256","nodeType":"ElementaryTypeName","src":"8037:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8036:13:9"},"returnParameters":{"id":16786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16795,"src":"8073:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16784,"name":"string","nodeType":"ElementaryTypeName","src":"8073:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8072:15:9"},"scope":17062,"src":"8021:116:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16809,"nodeType":"Block","src":"8211:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16805,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16797,"src":"8247:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16803,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8235:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"8235:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8235:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16802,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"8228:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8228:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16801,"id":16808,"nodeType":"Return","src":"8221:32:9"}]},"id":16810,"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8152:6:9","nodeType":"FunctionDefinition","parameters":{"id":16798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16797,"mutability":"mutable","name":"self","nameLocation":"8167:4:9","nodeType":"VariableDeclaration","scope":16810,"src":"8159:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16796,"name":"address","nodeType":"ElementaryTypeName","src":"8159:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8158:14:9"},"returnParameters":{"id":16801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16810,"src":"8196:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16799,"name":"string","nodeType":"ElementaryTypeName","src":"8196:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8195:15:9"},"scope":17062,"src":"8143:117:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16824,"nodeType":"Block","src":"8331:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16820,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16812,"src":"8367:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16818,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8355:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8358:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"8355:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8355:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16817,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"8348:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8348:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16816,"id":16823,"nodeType":"Return","src":"8341:32:9"}]},"id":16825,"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8275:6:9","nodeType":"FunctionDefinition","parameters":{"id":16813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16812,"mutability":"mutable","name":"self","nameLocation":"8287:4:9","nodeType":"VariableDeclaration","scope":16825,"src":"8282:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16811,"name":"bool","nodeType":"ElementaryTypeName","src":"8282:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8281:11:9"},"returnParameters":{"id":16816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16815,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16825,"src":"8316:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16814,"name":"string","nodeType":"ElementaryTypeName","src":"8316:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8315:15:9"},"scope":17062,"src":"8266:114:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16839,"nodeType":"Block","src":"8464:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16835,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16827,"src":"8500:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8488:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8491:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"8488:11:9","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":16836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8488:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16832,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"8481:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8481:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16831,"id":16838,"nodeType":"Return","src":"8474:32:9"}]},"id":16840,"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8395:11:9","nodeType":"FunctionDefinition","parameters":{"id":16828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16827,"mutability":"mutable","name":"self","nameLocation":"8420:4:9","nodeType":"VariableDeclaration","scope":16840,"src":"8407:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16826,"name":"bytes","nodeType":"ElementaryTypeName","src":"8407:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8406:19:9"},"returnParameters":{"id":16831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16840,"src":"8449:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16829,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:15:9"},"scope":17062,"src":"8386:127:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16854,"nodeType":"Block","src":"8594:49:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16850,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16842,"src":"8630:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8618:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"8618:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8618:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16847,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[16765,16780,16795,16810,16825],"referencedDeclaration":16765,"src":"8611:6:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8611:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16846,"id":16853,"nodeType":"Return","src":"8604:32:9"}]},"id":16855,"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8528:13:9","nodeType":"FunctionDefinition","parameters":{"id":16843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16842,"mutability":"mutable","name":"self","nameLocation":"8550:4:9","nodeType":"VariableDeclaration","scope":16855,"src":"8542:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8542:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8541:14:9"},"returnParameters":{"id":16846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16855,"src":"8579:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16844,"name":"string","nodeType":"ElementaryTypeName","src":"8579:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8578:15:9"},"scope":17062,"src":"8519:124:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16867,"nodeType":"Block","src":"8726:52:9","statements":[{"expression":{"arguments":[{"id":16863,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15902,"src":"8755:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16864,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16857,"src":"8766:4:9","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":16862,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"8743:11:9","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":16865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8743:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16861,"id":16866,"nodeType":"Return","src":"8736:35:9"}]},"id":16868,"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8658:9:9","nodeType":"FunctionDefinition","parameters":{"id":16858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16857,"mutability":"mutable","name":"self","nameLocation":"8682:4:9","nodeType":"VariableDeclaration","scope":16868,"src":"8668:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16856,"name":"string","nodeType":"ElementaryTypeName","src":"8668:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8667:20:9"},"returnParameters":{"id":16861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16868,"src":"8711:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16859,"name":"string","nodeType":"ElementaryTypeName","src":"8711:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8710:15:9"},"scope":17062,"src":"8649:129:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16882,"nodeType":"Block","src":"8855:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16878,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16870,"src":"8894:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16876,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"8882:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8885:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"8882:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8882:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16875,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"8872:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16874,"id":16881,"nodeType":"Return","src":"8865:35:9"}]},"id":16883,"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8793:9:9","nodeType":"FunctionDefinition","parameters":{"id":16871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16870,"mutability":"mutable","name":"self","nameLocation":"8811:4:9","nodeType":"VariableDeclaration","scope":16883,"src":"8803:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16869,"name":"uint256","nodeType":"ElementaryTypeName","src":"8803:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8802:14:9"},"returnParameters":{"id":16874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16883,"src":"8840:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16872,"name":"string","nodeType":"ElementaryTypeName","src":"8840:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8839:15:9"},"scope":17062,"src":"8784:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16897,"nodeType":"Block","src":"8983:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16893,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16885,"src":"9022:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16891,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9010:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9013:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"9010:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16890,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"9000:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16889,"id":16896,"nodeType":"Return","src":"8993:35:9"}]},"id":16898,"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8922:9:9","nodeType":"FunctionDefinition","parameters":{"id":16886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16885,"mutability":"mutable","name":"self","nameLocation":"8939:4:9","nodeType":"VariableDeclaration","scope":16898,"src":"8932:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16884,"name":"int256","nodeType":"ElementaryTypeName","src":"8932:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8931:13:9"},"returnParameters":{"id":16889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16898,"src":"8968:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16887,"name":"string","nodeType":"ElementaryTypeName","src":"8968:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8967:15:9"},"scope":17062,"src":"8913:122:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16912,"nodeType":"Block","src":"9112:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16908,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16900,"src":"9151:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16906,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9139:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9142:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"9139:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":16909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9139:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16905,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"9129:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9129:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16904,"id":16911,"nodeType":"Return","src":"9122:35:9"}]},"id":16913,"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9050:9:9","nodeType":"FunctionDefinition","parameters":{"id":16901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16900,"mutability":"mutable","name":"self","nameLocation":"9068:4:9","nodeType":"VariableDeclaration","scope":16913,"src":"9060:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16899,"name":"address","nodeType":"ElementaryTypeName","src":"9060:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9059:14:9"},"returnParameters":{"id":16904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16913,"src":"9097:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16902,"name":"string","nodeType":"ElementaryTypeName","src":"9097:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9096:15:9"},"scope":17062,"src":"9041:123:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16927,"nodeType":"Block","src":"9238:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16923,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16915,"src":"9277:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16921,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9265:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9268:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"9265:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":16924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9265:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16920,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"9255:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9255:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16919,"id":16926,"nodeType":"Return","src":"9248:35:9"}]},"id":16928,"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9179:9:9","nodeType":"FunctionDefinition","parameters":{"id":16916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16915,"mutability":"mutable","name":"self","nameLocation":"9194:4:9","nodeType":"VariableDeclaration","scope":16928,"src":"9189:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16914,"name":"bool","nodeType":"ElementaryTypeName","src":"9189:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9188:11:9"},"returnParameters":{"id":16919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16928,"src":"9223:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16917,"name":"string","nodeType":"ElementaryTypeName","src":"9223:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9222:15:9"},"scope":17062,"src":"9170:120:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16942,"nodeType":"Block","src":"9377:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16938,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"9416:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":16936,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9404:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9407:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"9404:11:9","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":16939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16935,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"9394:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9394:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16934,"id":16941,"nodeType":"Return","src":"9387:35:9"}]},"id":16943,"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9305:14:9","nodeType":"FunctionDefinition","parameters":{"id":16931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16930,"mutability":"mutable","name":"self","nameLocation":"9333:4:9","nodeType":"VariableDeclaration","scope":16943,"src":"9320:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16929,"name":"bytes","nodeType":"ElementaryTypeName","src":"9320:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9319:19:9"},"returnParameters":{"id":16934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16943,"src":"9362:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16932,"name":"string","nodeType":"ElementaryTypeName","src":"9362:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9361:15:9"},"scope":17062,"src":"9296:133:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16957,"nodeType":"Block","src":"9513:52:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16953,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16945,"src":"9552:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":16951,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9540:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9543:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"9540:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":16954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16950,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[16868,16883,16898,16913,16928],"referencedDeclaration":16868,"src":"9530:9:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9530:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16949,"id":16956,"nodeType":"Return","src":"9523:35:9"}]},"id":16958,"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9444:16:9","nodeType":"FunctionDefinition","parameters":{"id":16946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16945,"mutability":"mutable","name":"self","nameLocation":"9469:4:9","nodeType":"VariableDeclaration","scope":16958,"src":"9461:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9461:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9460:14:9"},"returnParameters":{"id":16949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16958,"src":"9498:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16947,"name":"string","nodeType":"ElementaryTypeName","src":"9498:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9497:15:9"},"scope":17062,"src":"9435:130:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16970,"nodeType":"Block","src":"9646:50:9","statements":[{"expression":{"arguments":[{"id":16966,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15905,"src":"9675:7:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16967,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16960,"src":"9684:4:9","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":16965,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"9663:11:9","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":16968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9663:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16964,"id":16969,"nodeType":"Return","src":"9656:33:9"}]},"id":16971,"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9580:7:9","nodeType":"FunctionDefinition","parameters":{"id":16961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16960,"mutability":"mutable","name":"self","nameLocation":"9602:4:9","nodeType":"VariableDeclaration","scope":16971,"src":"9588:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16959,"name":"string","nodeType":"ElementaryTypeName","src":"9588:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9587:20:9"},"returnParameters":{"id":16964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16971,"src":"9631:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16962,"name":"string","nodeType":"ElementaryTypeName","src":"9631:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9630:15:9"},"scope":17062,"src":"9571:125:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16985,"nodeType":"Block","src":"9771:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16981,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16973,"src":"9808:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9796:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9799:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"9796:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":16982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9796:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16978,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"9788:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9788:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16977,"id":16984,"nodeType":"Return","src":"9781:33:9"}]},"id":16986,"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9711:7:9","nodeType":"FunctionDefinition","parameters":{"id":16974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16973,"mutability":"mutable","name":"self","nameLocation":"9727:4:9","nodeType":"VariableDeclaration","scope":16986,"src":"9719:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16972,"name":"uint256","nodeType":"ElementaryTypeName","src":"9719:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9718:14:9"},"returnParameters":{"id":16977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16986,"src":"9756:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16975,"name":"string","nodeType":"ElementaryTypeName","src":"9756:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9755:15:9"},"scope":17062,"src":"9702:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17000,"nodeType":"Block","src":"9895:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":16996,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16988,"src":"9932:4:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":16994,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"9920:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":16995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"9920:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":16997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9920:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":16993,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"9912:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":16998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9912:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":16992,"id":16999,"nodeType":"Return","src":"9905:33:9"}]},"id":17001,"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9836:7:9","nodeType":"FunctionDefinition","parameters":{"id":16989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16988,"mutability":"mutable","name":"self","nameLocation":"9851:4:9","nodeType":"VariableDeclaration","scope":17001,"src":"9844:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16987,"name":"int256","nodeType":"ElementaryTypeName","src":"9844:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9843:13:9"},"returnParameters":{"id":16992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17001,"src":"9880:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16990,"name":"string","nodeType":"ElementaryTypeName","src":"9880:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9879:15:9"},"scope":17062,"src":"9827:118:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17015,"nodeType":"Block","src":"10020:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":17011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17003,"src":"10057:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"10045:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10048:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20664,"src":"10045:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":17012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":17008,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"10037:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":17013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10037:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17007,"id":17014,"nodeType":"Return","src":"10030:33:9"}]},"id":17016,"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9960:7:9","nodeType":"FunctionDefinition","parameters":{"id":17004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17003,"mutability":"mutable","name":"self","nameLocation":"9976:4:9","nodeType":"VariableDeclaration","scope":17016,"src":"9968:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17002,"name":"address","nodeType":"ElementaryTypeName","src":"9968:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9967:14:9"},"returnParameters":{"id":17007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17016,"src":"10005:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17005,"name":"string","nodeType":"ElementaryTypeName","src":"10005:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10004:15:9"},"scope":17062,"src":"9951:119:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17030,"nodeType":"Block","src":"10142:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":17026,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17018,"src":"10179:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17024,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"10167:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10170:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20688,"src":"10167:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":17027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10167:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":17023,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"10159:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":17028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17022,"id":17029,"nodeType":"Return","src":"10152:33:9"}]},"id":17031,"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10085:7:9","nodeType":"FunctionDefinition","parameters":{"id":17019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17018,"mutability":"mutable","name":"self","nameLocation":"10098:4:9","nodeType":"VariableDeclaration","scope":17031,"src":"10093:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17017,"name":"bool","nodeType":"ElementaryTypeName","src":"10093:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10092:11:9"},"returnParameters":{"id":17022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17031,"src":"10127:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17020,"name":"string","nodeType":"ElementaryTypeName","src":"10127:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10126:15:9"},"scope":17062,"src":"10076:116:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17045,"nodeType":"Block","src":"10277:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":17041,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17033,"src":"10314:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":17039,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"10302:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10305:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20672,"src":"10302:11:9","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":17042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10302:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":17038,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"10294:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":17043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10294:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17037,"id":17044,"nodeType":"Return","src":"10287:33:9"}]},"id":17046,"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10207:12:9","nodeType":"FunctionDefinition","parameters":{"id":17034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17033,"mutability":"mutable","name":"self","nameLocation":"10233:4:9","nodeType":"VariableDeclaration","scope":17046,"src":"10220:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17032,"name":"bytes","nodeType":"ElementaryTypeName","src":"10220:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10219:19:9"},"returnParameters":{"id":17037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17036,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17046,"src":"10262:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17035,"name":"string","nodeType":"ElementaryTypeName","src":"10262:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10261:15:9"},"scope":17062,"src":"10198:129:9","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17060,"nodeType":"Block","src":"10409:50:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":17056,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17048,"src":"10446:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":17054,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"10434:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10437:8:9","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20680,"src":"10434:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":17057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10434:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":17053,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[16971,16986,17001,17016,17031],"referencedDeclaration":16971,"src":"10426:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":17058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17052,"id":17059,"nodeType":"Return","src":"10419:33:9"}]},"id":17061,"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10342:14:9","nodeType":"FunctionDefinition","parameters":{"id":17049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17048,"mutability":"mutable","name":"self","nameLocation":"10365:4:9","nodeType":"VariableDeclaration","scope":17061,"src":"10357:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10357:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10356:14:9"},"returnParameters":{"id":17052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17061,"src":"10394:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17050,"name":"string","nodeType":"ElementaryTypeName","src":"10394:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10393:15:9"},"scope":17062,"src":"10333:126:9","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":17063,"src":"100:10361:9","usedErrors":[],"usedEvents":[]}],"src":"32:10430:9"},"id":9},"v4-core/lib/forge-std/src/StdToml.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdToml.sol","exportedSymbols":{"VmSafe":[22388],"stdToml":[18006]},"id":18007,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":17064,"literals":["solidity",">=","0.6",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:10"},{"id":17065,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:10"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":17067,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18007,"sourceUnit":23232,"src":"100:32:10","symbolAliases":[{"foreign":{"id":17066,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"108:6:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"stdToml","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":18006,"linearizedBaseContracts":[18006],"name":"stdToml","nameLocation":"618:7:10","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":17084,"mutability":"constant","name":"vm","nameLocation":"656:2:10","nodeType":"VariableDeclaration","scope":18006,"src":"632:92:10","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":17069,"nodeType":"UserDefinedTypeName","pathNode":{"id":17068,"name":"VmSafe","nameLocations":["632:6:10"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"632:6:10"},"referencedDeclaration":22388,"src":"632:6:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":17078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702: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":17077,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":17079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":17076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":17075,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:10","typeDescriptions":{}}},"id":17080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":17074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":17073,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:10","typeDescriptions":{}}},"id":17081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":17072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":17071,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:10","typeDescriptions":{}}},"id":17082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":17070,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"661:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":17083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"private"},{"body":{"id":17099,"nodeType":"Block","src":"818:51:10","statements":[{"expression":{"arguments":[{"id":17095,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17086,"src":"852:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17096,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17088,"src":"858:3:10","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":17093,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"835:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:10","memberName":"keyExistsToml","nodeType":"MemberAccess","referencedDeclaration":21979,"src":"835:16:10","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":17097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17092,"id":17098,"nodeType":"Return","src":"828:34:10"}]},"id":17100,"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:10","nodeType":"FunctionDefinition","parameters":{"id":17089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17086,"mutability":"mutable","name":"toml","nameLocation":"764:4:10","nodeType":"VariableDeclaration","scope":17100,"src":"750:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17085,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17088,"mutability":"mutable","name":"key","nameLocation":"784:3:10","nodeType":"VariableDeclaration","scope":17100,"src":"770:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17087,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:10"},"returnParameters":{"id":17092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17100,"src":"812:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17090,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:10"},"scope":18006,"src":"731:138:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17115,"nodeType":"Block","src":"969:47:10","statements":[{"expression":{"arguments":[{"id":17111,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17102,"src":"999:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17112,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17104,"src":"1005:3:10","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":17109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"986:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:10","memberName":"parseToml","nodeType":"MemberAccess","referencedDeclaration":22189,"src":"986:12:10","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":17113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":17108,"id":17114,"nodeType":"Return","src":"979:30:10"}]},"id":17116,"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:10","nodeType":"FunctionDefinition","parameters":{"id":17105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17102,"mutability":"mutable","name":"toml","nameLocation":"907:4:10","nodeType":"VariableDeclaration","scope":17116,"src":"893:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17101,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17104,"mutability":"mutable","name":"key","nameLocation":"927:3:10","nodeType":"VariableDeclaration","scope":17116,"src":"913:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17103,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:10"},"returnParameters":{"id":17108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17116,"src":"955:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17106,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:10"},"scope":18006,"src":"875:141:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17131,"nodeType":"Block","src":"1111:51:10","statements":[{"expression":{"arguments":[{"id":17127,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17118,"src":"1145:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17128,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17120,"src":"1151:3:10","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":17125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1128:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:10","memberName":"parseTomlUint","nodeType":"MemberAccess","referencedDeclaration":22160,"src":"1128:16:10","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":17129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17124,"id":17130,"nodeType":"Return","src":"1121:34:10"}]},"id":17132,"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:10","nodeType":"FunctionDefinition","parameters":{"id":17121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17118,"mutability":"mutable","name":"toml","nameLocation":"1054:4:10","nodeType":"VariableDeclaration","scope":17132,"src":"1040:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17117,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17120,"mutability":"mutable","name":"key","nameLocation":"1074:3:10","nodeType":"VariableDeclaration","scope":17132,"src":"1060:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17119,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:10"},"returnParameters":{"id":17124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17123,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17132,"src":"1102:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17122,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:10"},"scope":18006,"src":"1022:140:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17148,"nodeType":"Block","src":"1271:56:10","statements":[{"expression":{"arguments":[{"id":17144,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17134,"src":"1310:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17145,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17136,"src":"1316:3:10","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":17142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1288:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:10","memberName":"parseTomlUintArray","nodeType":"MemberAccess","referencedDeclaration":22171,"src":"1288:21:10","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":17146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":17141,"id":17147,"nodeType":"Return","src":"1281:39:10"}]},"id":17149,"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:10","nodeType":"FunctionDefinition","parameters":{"id":17137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17134,"mutability":"mutable","name":"toml","nameLocation":"1205:4:10","nodeType":"VariableDeclaration","scope":17149,"src":"1191:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17133,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17136,"mutability":"mutable","name":"key","nameLocation":"1225:3:10","nodeType":"VariableDeclaration","scope":17149,"src":"1211:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17135,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:10"},"returnParameters":{"id":17141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17149,"src":"1253:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17139,"nodeType":"ArrayTypeName","src":"1253:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:10"},"scope":18006,"src":"1168:159:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17164,"nodeType":"Block","src":"1420:50:10","statements":[{"expression":{"arguments":[{"id":17160,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17151,"src":"1453:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17161,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17153,"src":"1459:3:10","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":17158,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1437:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:10","memberName":"parseTomlInt","nodeType":"MemberAccess","referencedDeclaration":22073,"src":"1437:15:10","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":17162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":17157,"id":17163,"nodeType":"Return","src":"1430:33:10"}]},"id":17165,"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:10","nodeType":"FunctionDefinition","parameters":{"id":17154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17151,"mutability":"mutable","name":"toml","nameLocation":"1364:4:10","nodeType":"VariableDeclaration","scope":17165,"src":"1350:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17150,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17153,"mutability":"mutable","name":"key","nameLocation":"1384:3:10","nodeType":"VariableDeclaration","scope":17165,"src":"1370:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17152,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:10"},"returnParameters":{"id":17157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17165,"src":"1412:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17155,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:10"},"scope":18006,"src":"1333:137:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17181,"nodeType":"Block","src":"1577:55:10","statements":[{"expression":{"arguments":[{"id":17177,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17167,"src":"1615:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17178,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17169,"src":"1621:3:10","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":17175,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1594:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:10","memberName":"parseTomlIntArray","nodeType":"MemberAccess","referencedDeclaration":22084,"src":"1594:20:10","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":17179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":17174,"id":17180,"nodeType":"Return","src":"1587:38:10"}]},"id":17182,"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:10","nodeType":"FunctionDefinition","parameters":{"id":17170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17167,"mutability":"mutable","name":"toml","nameLocation":"1512:4:10","nodeType":"VariableDeclaration","scope":17182,"src":"1498:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17166,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17169,"mutability":"mutable","name":"key","nameLocation":"1532:3:10","nodeType":"VariableDeclaration","scope":17182,"src":"1518:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17168,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:10"},"returnParameters":{"id":17174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17182,"src":"1560:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":17171,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17172,"nodeType":"ArrayTypeName","src":"1560:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:10"},"scope":18006,"src":"1476:156:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17197,"nodeType":"Block","src":"1730:54:10","statements":[{"expression":{"arguments":[{"id":17193,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17184,"src":"1767:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17194,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17186,"src":"1773:3:10","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":17191,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1747:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:10","memberName":"parseTomlBytes32","nodeType":"MemberAccess","referencedDeclaration":22041,"src":"1747:19:10","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":17195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":17190,"id":17196,"nodeType":"Return","src":"1740:37:10"}]},"id":17198,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:10","nodeType":"FunctionDefinition","parameters":{"id":17187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17184,"mutability":"mutable","name":"toml","nameLocation":"1673:4:10","nodeType":"VariableDeclaration","scope":17198,"src":"1659:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17183,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17186,"mutability":"mutable","name":"key","nameLocation":"1693:3:10","nodeType":"VariableDeclaration","scope":17198,"src":"1679:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17185,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:10"},"returnParameters":{"id":17190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17198,"src":"1721:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:10"},"scope":18006,"src":"1638:146:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17214,"nodeType":"Block","src":"1896:59:10","statements":[{"expression":{"arguments":[{"id":17210,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17200,"src":"1938:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17211,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17202,"src":"1944:3:10","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":17208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"1913:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:10","memberName":"parseTomlBytes32Array","nodeType":"MemberAccess","referencedDeclaration":22052,"src":"1913:24:10","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":17212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":17207,"id":17213,"nodeType":"Return","src":"1906:42:10"}]},"id":17215,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:10","nodeType":"FunctionDefinition","parameters":{"id":17203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17200,"mutability":"mutable","name":"toml","nameLocation":"1830:4:10","nodeType":"VariableDeclaration","scope":17215,"src":"1816:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17199,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17202,"mutability":"mutable","name":"key","nameLocation":"1850:3:10","nodeType":"VariableDeclaration","scope":17215,"src":"1836:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17201,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:10"},"returnParameters":{"id":17207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17215,"src":"1878:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17205,"nodeType":"ArrayTypeName","src":"1878:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:10"},"scope":18006,"src":"1790:165:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17230,"nodeType":"Block","src":"2058:53:10","statements":[{"expression":{"arguments":[{"id":17226,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17217,"src":"2094:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17227,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17219,"src":"2100:3:10","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":17224,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2075:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:10","memberName":"parseTomlString","nodeType":"MemberAccess","referencedDeclaration":22105,"src":"2075:18:10","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":17228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17223,"id":17229,"nodeType":"Return","src":"2068:36:10"}]},"id":17231,"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:10","nodeType":"FunctionDefinition","parameters":{"id":17220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17217,"mutability":"mutable","name":"toml","nameLocation":"1995:4:10","nodeType":"VariableDeclaration","scope":17231,"src":"1981:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17216,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17219,"mutability":"mutable","name":"key","nameLocation":"2015:3:10","nodeType":"VariableDeclaration","scope":17231,"src":"2001:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17218,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:10"},"returnParameters":{"id":17223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17222,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17231,"src":"2043:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17221,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:10"},"scope":18006,"src":"1961:150:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17247,"nodeType":"Block","src":"2221:58:10","statements":[{"expression":{"arguments":[{"id":17243,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17233,"src":"2262:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17244,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17235,"src":"2268:3:10","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":17241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2238:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:10","memberName":"parseTomlStringArray","nodeType":"MemberAccess","referencedDeclaration":22116,"src":"2238:23:10","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":17245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":17240,"id":17246,"nodeType":"Return","src":"2231:41:10"}]},"id":17248,"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:10","nodeType":"FunctionDefinition","parameters":{"id":17236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17233,"mutability":"mutable","name":"toml","nameLocation":"2156:4:10","nodeType":"VariableDeclaration","scope":17248,"src":"2142:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17232,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17235,"mutability":"mutable","name":"key","nameLocation":"2176:3:10","nodeType":"VariableDeclaration","scope":17248,"src":"2162:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17234,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:10"},"returnParameters":{"id":17240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17239,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17248,"src":"2204:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17237,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17238,"nodeType":"ArrayTypeName","src":"2204:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:10"},"scope":18006,"src":"2117:162:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17263,"nodeType":"Block","src":"2377:54:10","statements":[{"expression":{"arguments":[{"id":17259,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17250,"src":"2414:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17260,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17252,"src":"2420:3:10","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":17257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2394:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:10","memberName":"parseTomlAddress","nodeType":"MemberAccess","referencedDeclaration":21989,"src":"2394:19:10","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":17261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":17256,"id":17262,"nodeType":"Return","src":"2387:37:10"}]},"id":17264,"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:10","nodeType":"FunctionDefinition","parameters":{"id":17253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17250,"mutability":"mutable","name":"toml","nameLocation":"2320:4:10","nodeType":"VariableDeclaration","scope":17264,"src":"2306:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17249,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17252,"mutability":"mutable","name":"key","nameLocation":"2340:3:10","nodeType":"VariableDeclaration","scope":17264,"src":"2326:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17251,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:10"},"returnParameters":{"id":17256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17264,"src":"2368:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17254,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:10"},"scope":18006,"src":"2285:146:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17280,"nodeType":"Block","src":"2543:59:10","statements":[{"expression":{"arguments":[{"id":17276,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17266,"src":"2585:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17277,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17268,"src":"2591:3:10","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":17274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2560:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:10","memberName":"parseTomlAddressArray","nodeType":"MemberAccess","referencedDeclaration":22000,"src":"2560:24:10","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":17278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":17273,"id":17279,"nodeType":"Return","src":"2553:42:10"}]},"id":17281,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:10","nodeType":"FunctionDefinition","parameters":{"id":17269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17266,"mutability":"mutable","name":"toml","nameLocation":"2477:4:10","nodeType":"VariableDeclaration","scope":17281,"src":"2463:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17265,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17268,"mutability":"mutable","name":"key","nameLocation":"2497:3:10","nodeType":"VariableDeclaration","scope":17281,"src":"2483:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17267,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:10"},"returnParameters":{"id":17273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17272,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17281,"src":"2525:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17270,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17271,"nodeType":"ArrayTypeName","src":"2525:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:10"},"scope":18006,"src":"2437:165:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17296,"nodeType":"Block","src":"2694:51:10","statements":[{"expression":{"arguments":[{"id":17292,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17283,"src":"2728:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17293,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17285,"src":"2734:3:10","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":17290,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2711:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:10","memberName":"parseTomlBool","nodeType":"MemberAccess","referencedDeclaration":22010,"src":"2711:16:10","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":17294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17289,"id":17295,"nodeType":"Return","src":"2704:34:10"}]},"id":17297,"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:10","nodeType":"FunctionDefinition","parameters":{"id":17286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17283,"mutability":"mutable","name":"toml","nameLocation":"2640:4:10","nodeType":"VariableDeclaration","scope":17297,"src":"2626:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17282,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17285,"mutability":"mutable","name":"key","nameLocation":"2660:3:10","nodeType":"VariableDeclaration","scope":17297,"src":"2646:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17284,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:10"},"returnParameters":{"id":17289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17288,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17297,"src":"2688:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17287,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:10"},"scope":18006,"src":"2608:137:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17313,"nodeType":"Block","src":"2851:56:10","statements":[{"expression":{"arguments":[{"id":17309,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17299,"src":"2890:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17310,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17301,"src":"2896:3:10","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":17307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"2868:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:10","memberName":"parseTomlBoolArray","nodeType":"MemberAccess","referencedDeclaration":22021,"src":"2868:21:10","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":17311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":17306,"id":17312,"nodeType":"Return","src":"2861:39:10"}]},"id":17314,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:10","nodeType":"FunctionDefinition","parameters":{"id":17302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17299,"mutability":"mutable","name":"toml","nameLocation":"2788:4:10","nodeType":"VariableDeclaration","scope":17314,"src":"2774:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17298,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17301,"mutability":"mutable","name":"key","nameLocation":"2808:3:10","nodeType":"VariableDeclaration","scope":17314,"src":"2794:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17300,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:10"},"returnParameters":{"id":17306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17314,"src":"2836:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":17303,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17304,"nodeType":"ArrayTypeName","src":"2836:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:10"},"scope":18006,"src":"2751:156:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17329,"nodeType":"Block","src":"3008:52:10","statements":[{"expression":{"arguments":[{"id":17325,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17316,"src":"3043:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17326,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17318,"src":"3049:3:10","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":17323,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"3025:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:10","memberName":"parseTomlBytes","nodeType":"MemberAccess","referencedDeclaration":22031,"src":"3025:17:10","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":17327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":17322,"id":17328,"nodeType":"Return","src":"3018:35:10"}]},"id":17330,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:10","nodeType":"FunctionDefinition","parameters":{"id":17319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17316,"mutability":"mutable","name":"toml","nameLocation":"2946:4:10","nodeType":"VariableDeclaration","scope":17330,"src":"2932:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17315,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17318,"mutability":"mutable","name":"key","nameLocation":"2966:3:10","nodeType":"VariableDeclaration","scope":17330,"src":"2952:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17317,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:10"},"returnParameters":{"id":17322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17330,"src":"2994:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17320,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:10"},"scope":18006,"src":"2913:147:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17346,"nodeType":"Block","src":"3168:57:10","statements":[{"expression":{"arguments":[{"id":17342,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17332,"src":"3208:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17343,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17334,"src":"3214:3:10","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":17340,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"3185:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:10","memberName":"parseTomlBytesArray","nodeType":"MemberAccess","referencedDeclaration":22063,"src":"3185:22:10","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":17344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":17339,"id":17345,"nodeType":"Return","src":"3178:40:10"}]},"id":17347,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:10","nodeType":"FunctionDefinition","parameters":{"id":17335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17332,"mutability":"mutable","name":"toml","nameLocation":"3104:4:10","nodeType":"VariableDeclaration","scope":17347,"src":"3090:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17331,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17334,"mutability":"mutable","name":"key","nameLocation":"3124:3:10","nodeType":"VariableDeclaration","scope":17347,"src":"3110:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17333,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:10"},"returnParameters":{"id":17339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17347,"src":"3152:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17336,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17337,"nodeType":"ArrayTypeName","src":"3152:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:10"},"scope":18006,"src":"3066:159:10","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17369,"nodeType":"Block","src":"3344:81:10","statements":[{"expression":{"condition":{"arguments":[{"id":17359,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17349,"src":"3371:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17360,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17351,"src":"3377:3:10","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":17358,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"3361:9:10","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":17361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17366,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17353,"src":"3406:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:10","trueExpression":{"arguments":[{"id":17363,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17349,"src":"3393:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17364,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17351,"src":"3399:3:10","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":17362,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17132,"src":"3384:8:10","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":17365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":17357,"id":17368,"nodeType":"Return","src":"3354:64:10"}]},"id":17370,"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:10","nodeType":"FunctionDefinition","parameters":{"id":17354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17349,"mutability":"mutable","name":"toml","nameLocation":"3265:4:10","nodeType":"VariableDeclaration","scope":17370,"src":"3251:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17348,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17351,"mutability":"mutable","name":"key","nameLocation":"3285:3:10","nodeType":"VariableDeclaration","scope":17370,"src":"3271:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17350,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17353,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:10","nodeType":"VariableDeclaration","scope":17370,"src":"3290:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17352,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:10"},"returnParameters":{"id":17357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17370,"src":"3335:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17355,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:10"},"scope":18006,"src":"3231:194:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17394,"nodeType":"Block","src":"3595:86:10","statements":[{"expression":{"condition":{"arguments":[{"id":17384,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17372,"src":"3622:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17385,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17374,"src":"3628:3:10","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":17383,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"3612:9:10","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":17386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17391,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17377,"src":"3662:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":17392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:10","trueExpression":{"arguments":[{"id":17388,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17372,"src":"3649:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17389,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17374,"src":"3655:3:10","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":17387,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17149,"src":"3635:13:10","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":17390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:10","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":17382,"id":17393,"nodeType":"Return","src":"3605:69:10"}]},"id":17395,"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:10","nodeType":"FunctionDefinition","parameters":{"id":17378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17372,"mutability":"mutable","name":"toml","nameLocation":"3470:4:10","nodeType":"VariableDeclaration","scope":17395,"src":"3456:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17371,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17374,"mutability":"mutable","name":"key","nameLocation":"3490:3:10","nodeType":"VariableDeclaration","scope":17395,"src":"3476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17373,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17377,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:10","nodeType":"VariableDeclaration","scope":17395,"src":"3495:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17375,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17376,"nodeType":"ArrayTypeName","src":"3495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:10"},"returnParameters":{"id":17382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17395,"src":"3573:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17379,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17380,"nodeType":"ArrayTypeName","src":"3573:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:10"},"scope":18006,"src":"3431:250:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17417,"nodeType":"Block","src":"3797:80:10","statements":[{"expression":{"condition":{"arguments":[{"id":17407,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17397,"src":"3824:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17408,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17399,"src":"3830:3:10","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":17406,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"3814:9:10","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":17409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17414,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17401,"src":"3858:12:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:10","trueExpression":{"arguments":[{"id":17411,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17397,"src":"3845:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17412,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17399,"src":"3851:3:10","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":17410,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17165,"src":"3837:7:10","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":17413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":17405,"id":17416,"nodeType":"Return","src":"3807:63:10"}]},"id":17418,"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:10","nodeType":"FunctionDefinition","parameters":{"id":17402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17397,"mutability":"mutable","name":"toml","nameLocation":"3720:4:10","nodeType":"VariableDeclaration","scope":17418,"src":"3706:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17396,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17399,"mutability":"mutable","name":"key","nameLocation":"3740:3:10","nodeType":"VariableDeclaration","scope":17418,"src":"3726:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17398,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17401,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:10","nodeType":"VariableDeclaration","scope":17418,"src":"3745:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17400,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:10"},"returnParameters":{"id":17405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17418,"src":"3789:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17403,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:10"},"scope":18006,"src":"3687:190:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17442,"nodeType":"Block","src":"4044:85:10","statements":[{"expression":{"condition":{"arguments":[{"id":17432,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17420,"src":"4071:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17433,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17422,"src":"4077:3:10","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":17431,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"4061:9:10","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":17434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17439,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17425,"src":"4110:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":17440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:10","trueExpression":{"arguments":[{"id":17436,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17420,"src":"4097:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17437,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17422,"src":"4103:3:10","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":17435,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17182,"src":"4084:12:10","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":17438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:10","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":17430,"id":17441,"nodeType":"Return","src":"4054:68:10"}]},"id":17443,"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:10","nodeType":"FunctionDefinition","parameters":{"id":17426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17420,"mutability":"mutable","name":"toml","nameLocation":"3921:4:10","nodeType":"VariableDeclaration","scope":17443,"src":"3907:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17419,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17422,"mutability":"mutable","name":"key","nameLocation":"3941:3:10","nodeType":"VariableDeclaration","scope":17443,"src":"3927:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17421,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17425,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:10","nodeType":"VariableDeclaration","scope":17443,"src":"3946:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":17423,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17424,"nodeType":"ArrayTypeName","src":"3946:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:10"},"returnParameters":{"id":17430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17443,"src":"4023:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":17427,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17428,"nodeType":"ArrayTypeName","src":"4023:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:10"},"scope":18006,"src":"3883:246:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17465,"nodeType":"Block","src":"4279:84:10","statements":[{"expression":{"condition":{"arguments":[{"id":17455,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17445,"src":"4306:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17456,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17447,"src":"4312:3:10","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":17454,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"4296:9:10","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":17457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17462,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17449,"src":"4344:12:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:10","trueExpression":{"arguments":[{"id":17459,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17445,"src":"4331:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17460,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17447,"src":"4337:3:10","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":17458,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17198,"src":"4319:11:10","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":17461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":17453,"id":17464,"nodeType":"Return","src":"4289:67:10"}]},"id":17466,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:10","nodeType":"FunctionDefinition","parameters":{"id":17450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17445,"mutability":"mutable","name":"toml","nameLocation":"4172:4:10","nodeType":"VariableDeclaration","scope":17466,"src":"4158:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17444,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17447,"mutability":"mutable","name":"key","nameLocation":"4192:3:10","nodeType":"VariableDeclaration","scope":17466,"src":"4178:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17446,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17449,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:10","nodeType":"VariableDeclaration","scope":17466,"src":"4197:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:10"},"returnParameters":{"id":17453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17466,"src":"4266:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:10"},"scope":18006,"src":"4135:228:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17490,"nodeType":"Block","src":"4536:89:10","statements":[{"expression":{"condition":{"arguments":[{"id":17480,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17468,"src":"4563:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17481,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17470,"src":"4569:3:10","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":17479,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"4553:9:10","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":17482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17487,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17473,"src":"4606:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":17488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:10","trueExpression":{"arguments":[{"id":17484,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17468,"src":"4593:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17485,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17470,"src":"4599:3:10","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":17483,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17215,"src":"4576:16:10","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":17486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:10","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":17478,"id":17489,"nodeType":"Return","src":"4546:72:10"}]},"id":17491,"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:10","nodeType":"FunctionDefinition","parameters":{"id":17474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17468,"mutability":"mutable","name":"toml","nameLocation":"4411:4:10","nodeType":"VariableDeclaration","scope":17491,"src":"4397:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17467,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17470,"mutability":"mutable","name":"key","nameLocation":"4431:3:10","nodeType":"VariableDeclaration","scope":17491,"src":"4417:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17469,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17473,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:10","nodeType":"VariableDeclaration","scope":17491,"src":"4436:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17472,"nodeType":"ArrayTypeName","src":"4436:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:10"},"returnParameters":{"id":17478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17491,"src":"4514:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17476,"nodeType":"ArrayTypeName","src":"4514:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:10"},"scope":18006,"src":"4369:256:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17513,"nodeType":"Block","src":"4786:83:10","statements":[{"expression":{"condition":{"arguments":[{"id":17503,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17493,"src":"4813:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17504,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17495,"src":"4819:3:10","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":17502,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"4803:9:10","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":17505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17510,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17497,"src":"4850:12:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":17511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:10","trueExpression":{"arguments":[{"id":17507,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17493,"src":"4837:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17508,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17495,"src":"4843:3:10","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":17506,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17231,"src":"4826:10:10","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":17509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17501,"id":17512,"nodeType":"Return","src":"4796:66:10"}]},"id":17514,"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:10","nodeType":"FunctionDefinition","parameters":{"id":17498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17493,"mutability":"mutable","name":"toml","nameLocation":"4667:4:10","nodeType":"VariableDeclaration","scope":17514,"src":"4653:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17492,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17495,"mutability":"mutable","name":"key","nameLocation":"4687:3:10","nodeType":"VariableDeclaration","scope":17514,"src":"4673:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17494,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17497,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:10","nodeType":"VariableDeclaration","scope":17514,"src":"4692:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17496,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:10"},"returnParameters":{"id":17501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17500,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17514,"src":"4767:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17499,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:10"},"scope":18006,"src":"4631:238:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17538,"nodeType":"Block","src":"5039:88:10","statements":[{"expression":{"condition":{"arguments":[{"id":17528,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17516,"src":"5066:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17529,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17518,"src":"5072:3:10","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":17527,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"5056:9:10","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":17530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17535,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17521,"src":"5108:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":17536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:10","trueExpression":{"arguments":[{"id":17532,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17516,"src":"5095:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17533,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17518,"src":"5101:3:10","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":17531,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17248,"src":"5079:15:10","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":17534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:10","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":17526,"id":17537,"nodeType":"Return","src":"5049:71:10"}]},"id":17539,"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:10","nodeType":"FunctionDefinition","parameters":{"id":17522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17516,"mutability":"mutable","name":"toml","nameLocation":"4916:4:10","nodeType":"VariableDeclaration","scope":17539,"src":"4902:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17515,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17518,"mutability":"mutable","name":"key","nameLocation":"4936:3:10","nodeType":"VariableDeclaration","scope":17539,"src":"4922:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17517,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17521,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:10","nodeType":"VariableDeclaration","scope":17539,"src":"4941:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17519,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17520,"nodeType":"ArrayTypeName","src":"4941:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:10"},"returnParameters":{"id":17526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17539,"src":"5018:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17523,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17524,"nodeType":"ArrayTypeName","src":"5018:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:10"},"scope":18006,"src":"4875:252:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17561,"nodeType":"Block","src":"5277:84:10","statements":[{"expression":{"condition":{"arguments":[{"id":17551,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17541,"src":"5304:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17552,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17543,"src":"5310:3:10","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":17550,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"5294:9:10","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":17553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17558,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17545,"src":"5342:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:10","trueExpression":{"arguments":[{"id":17555,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17541,"src":"5329:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17556,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17543,"src":"5335:3:10","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":17554,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17264,"src":"5317:11:10","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":17557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":17549,"id":17560,"nodeType":"Return","src":"5287:67:10"}]},"id":17562,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:10","nodeType":"FunctionDefinition","parameters":{"id":17546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17541,"mutability":"mutable","name":"toml","nameLocation":"5170:4:10","nodeType":"VariableDeclaration","scope":17562,"src":"5156:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17540,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17543,"mutability":"mutable","name":"key","nameLocation":"5190:3:10","nodeType":"VariableDeclaration","scope":17562,"src":"5176:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17542,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17545,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:10","nodeType":"VariableDeclaration","scope":17562,"src":"5195:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17544,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:10"},"returnParameters":{"id":17549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17562,"src":"5264:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17547,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:10"},"scope":18006,"src":"5133:228:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17586,"nodeType":"Block","src":"5534:89:10","statements":[{"expression":{"condition":{"arguments":[{"id":17576,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17564,"src":"5561:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17577,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17566,"src":"5567:3:10","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":17575,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"5551:9:10","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":17578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17583,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17569,"src":"5604:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":17584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:10","trueExpression":{"arguments":[{"id":17580,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17564,"src":"5591:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17581,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17566,"src":"5597:3:10","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":17579,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17281,"src":"5574:16:10","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":17582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:10","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":17574,"id":17585,"nodeType":"Return","src":"5544:72:10"}]},"id":17587,"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:10","nodeType":"FunctionDefinition","parameters":{"id":17570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17564,"mutability":"mutable","name":"toml","nameLocation":"5409:4:10","nodeType":"VariableDeclaration","scope":17587,"src":"5395:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17563,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17566,"mutability":"mutable","name":"key","nameLocation":"5429:3:10","nodeType":"VariableDeclaration","scope":17587,"src":"5415:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17565,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17569,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:10","nodeType":"VariableDeclaration","scope":17587,"src":"5434:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17567,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17568,"nodeType":"ArrayTypeName","src":"5434:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:10"},"returnParameters":{"id":17574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17587,"src":"5512:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17571,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17572,"nodeType":"ArrayTypeName","src":"5512:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:10"},"scope":18006,"src":"5367:256:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17609,"nodeType":"Block","src":"5736:81:10","statements":[{"expression":{"condition":{"arguments":[{"id":17599,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17589,"src":"5763:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17600,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17591,"src":"5769:3:10","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":17598,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"5753:9:10","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":17601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17606,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17593,"src":"5798:12:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:10","trueExpression":{"arguments":[{"id":17603,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17589,"src":"5785:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17604,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17591,"src":"5791:3:10","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":17602,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17297,"src":"5776:8:10","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":17605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":17597,"id":17608,"nodeType":"Return","src":"5746:64:10"}]},"id":17610,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:10","nodeType":"FunctionDefinition","parameters":{"id":17594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17589,"mutability":"mutable","name":"toml","nameLocation":"5663:4:10","nodeType":"VariableDeclaration","scope":17610,"src":"5649:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17588,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17591,"mutability":"mutable","name":"key","nameLocation":"5683:3:10","nodeType":"VariableDeclaration","scope":17610,"src":"5669:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17590,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17593,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:10","nodeType":"VariableDeclaration","scope":17610,"src":"5688:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17592,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:10"},"returnParameters":{"id":17597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17610,"src":"5730:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17595,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:10"},"scope":18006,"src":"5629:188:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17634,"nodeType":"Block","src":"5981:86:10","statements":[{"expression":{"condition":{"arguments":[{"id":17624,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17612,"src":"6008:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17625,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17614,"src":"6014:3:10","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":17623,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"5998:9:10","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":17626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17631,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17617,"src":"6048:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":17632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:10","trueExpression":{"arguments":[{"id":17628,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17612,"src":"6035:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17629,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17614,"src":"6041:3:10","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":17627,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17314,"src":"6021:13:10","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":17630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:10","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":17622,"id":17633,"nodeType":"Return","src":"5991:69:10"}]},"id":17635,"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:10","nodeType":"FunctionDefinition","parameters":{"id":17618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17612,"mutability":"mutable","name":"toml","nameLocation":"5862:4:10","nodeType":"VariableDeclaration","scope":17635,"src":"5848:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17611,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17614,"mutability":"mutable","name":"key","nameLocation":"5882:3:10","nodeType":"VariableDeclaration","scope":17635,"src":"5868:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17613,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17617,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:10","nodeType":"VariableDeclaration","scope":17635,"src":"5887:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":17615,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17616,"nodeType":"ArrayTypeName","src":"5887:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:10"},"returnParameters":{"id":17622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17635,"src":"5962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":17619,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17620,"nodeType":"ArrayTypeName","src":"5962:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:10"},"scope":18006,"src":"5823:244:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17657,"nodeType":"Block","src":"6225:82:10","statements":[{"expression":{"condition":{"arguments":[{"id":17647,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17637,"src":"6252:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17648,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17639,"src":"6258:3:10","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":17646,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"6242:9:10","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":17649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17654,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17641,"src":"6288:12:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":17655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:10","trueExpression":{"arguments":[{"id":17651,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17637,"src":"6275:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17652,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17639,"src":"6281:3:10","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":17650,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17330,"src":"6265:9:10","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":17653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":17645,"id":17656,"nodeType":"Return","src":"6235:65:10"}]},"id":17658,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:10","nodeType":"FunctionDefinition","parameters":{"id":17642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17637,"mutability":"mutable","name":"toml","nameLocation":"6108:4:10","nodeType":"VariableDeclaration","scope":17658,"src":"6094:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17636,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17639,"mutability":"mutable","name":"key","nameLocation":"6128:3:10","nodeType":"VariableDeclaration","scope":17658,"src":"6114:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17638,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17641,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:10","nodeType":"VariableDeclaration","scope":17658,"src":"6133:25:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17640,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:10"},"returnParameters":{"id":17645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17644,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17658,"src":"6207:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17643,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:10"},"scope":18006,"src":"6073:234:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17682,"nodeType":"Block","src":"6474:87:10","statements":[{"expression":{"condition":{"arguments":[{"id":17672,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17660,"src":"6501:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17673,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17662,"src":"6507:3:10","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":17671,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17100,"src":"6491:9:10","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":17674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":17679,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17665,"src":"6542:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":17680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:10","trueExpression":{"arguments":[{"id":17676,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17660,"src":"6529:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17677,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17662,"src":"6535:3:10","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":17675,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17347,"src":"6514:14:10","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":17678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:10","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":17670,"id":17681,"nodeType":"Return","src":"6484:70:10"}]},"id":17683,"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:10","nodeType":"FunctionDefinition","parameters":{"id":17666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17660,"mutability":"mutable","name":"toml","nameLocation":"6353:4:10","nodeType":"VariableDeclaration","scope":17683,"src":"6339:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17659,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17662,"mutability":"mutable","name":"key","nameLocation":"6373:3:10","nodeType":"VariableDeclaration","scope":17683,"src":"6359:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17661,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17665,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:10","nodeType":"VariableDeclaration","scope":17683,"src":"6378:27:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17663,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17664,"nodeType":"ArrayTypeName","src":"6378:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:10"},"returnParameters":{"id":17670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17683,"src":"6454:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17667,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17668,"nodeType":"ArrayTypeName","src":"6454:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:10"},"scope":18006,"src":"6313:248:10","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":17698,"nodeType":"Block","src":"6668:61:10","statements":[{"expression":{"arguments":[{"id":17694,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17685,"src":"6702:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17695,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17687,"src":"6711:10:10","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":17692,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"6685:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:10","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":20397,"src":"6685:16:10","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":17696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17691,"id":17697,"nodeType":"Return","src":"6678:44:10"}]},"id":17699,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:10","nodeType":"FunctionDefinition","parameters":{"id":17688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17685,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:10","nodeType":"VariableDeclaration","scope":17699,"src":"6586:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17684,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17687,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:10","nodeType":"VariableDeclaration","scope":17699,"src":"6609:24:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17686,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:10"},"returnParameters":{"id":17691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17699,"src":"6653:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17689,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:10"},"scope":18006,"src":"6567:162:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17717,"nodeType":"Block","src":"6841:61:10","statements":[{"expression":{"arguments":[{"id":17712,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17701,"src":"6875:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17713,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17703,"src":"6884:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17714,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17705,"src":"6889:5:10","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":17710,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"6858:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":20299,"src":"6858:16:10","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":17715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17709,"id":17716,"nodeType":"Return","src":"6851:44:10"}]},"id":17718,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:10","nodeType":"FunctionDefinition","parameters":{"id":17706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17701,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:10","nodeType":"VariableDeclaration","scope":17718,"src":"6754:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17700,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17703,"mutability":"mutable","name":"key","nameLocation":"6791:3:10","nodeType":"VariableDeclaration","scope":17718,"src":"6777:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17702,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17705,"mutability":"mutable","name":"value","nameLocation":"6801:5:10","nodeType":"VariableDeclaration","scope":17718,"src":"6796:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17704,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:10"},"returnParameters":{"id":17709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17718,"src":"6826:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17707,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:10"},"scope":18006,"src":"6735:167:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17737,"nodeType":"Block","src":"7043:61:10","statements":[{"expression":{"arguments":[{"id":17732,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17720,"src":"7077:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17733,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17722,"src":"7086:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17734,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17725,"src":"7091:5:10","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":17730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7060:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":20312,"src":"7060:16:10","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":17735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17729,"id":17736,"nodeType":"Return","src":"7053:44:10"}]},"id":17738,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:10","nodeType":"FunctionDefinition","parameters":{"id":17726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17720,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:10","nodeType":"VariableDeclaration","scope":17738,"src":"6927:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17719,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17722,"mutability":"mutable","name":"key","nameLocation":"6964:3:10","nodeType":"VariableDeclaration","scope":17738,"src":"6950:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17721,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17725,"mutability":"mutable","name":"value","nameLocation":"6983:5:10","nodeType":"VariableDeclaration","scope":17738,"src":"6969:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":17723,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":17724,"nodeType":"ArrayTypeName","src":"6969:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:10"},"returnParameters":{"id":17729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17738,"src":"7024:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17727,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:10"},"scope":18006,"src":"6908:196:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17756,"nodeType":"Block","src":"7219:61:10","statements":[{"expression":{"arguments":[{"id":17751,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17740,"src":"7253:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17752,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17742,"src":"7262:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17753,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17744,"src":"7267:5:10","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":17749,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7236:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":20470,"src":"7236:16:10","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":17754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17748,"id":17755,"nodeType":"Return","src":"7229:44:10"}]},"id":17757,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:10","nodeType":"FunctionDefinition","parameters":{"id":17745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17740,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:10","nodeType":"VariableDeclaration","scope":17757,"src":"7129:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17739,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17742,"mutability":"mutable","name":"key","nameLocation":"7166:3:10","nodeType":"VariableDeclaration","scope":17757,"src":"7152:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17741,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17744,"mutability":"mutable","name":"value","nameLocation":"7179:5:10","nodeType":"VariableDeclaration","scope":17757,"src":"7171:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17743,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:10"},"returnParameters":{"id":17748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17757,"src":"7204:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17746,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:10"},"scope":18006,"src":"7110:170:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17776,"nodeType":"Block","src":"7424:61:10","statements":[{"expression":{"arguments":[{"id":17771,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17759,"src":"7458:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17772,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17761,"src":"7467:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17764,"src":"7472:5:10","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":17769,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7441:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":20483,"src":"7441:16:10","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":17774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17768,"id":17775,"nodeType":"Return","src":"7434:44:10"}]},"id":17777,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:10","nodeType":"FunctionDefinition","parameters":{"id":17765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17759,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:10","nodeType":"VariableDeclaration","scope":17777,"src":"7305:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17758,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17761,"mutability":"mutable","name":"key","nameLocation":"7342:3:10","nodeType":"VariableDeclaration","scope":17777,"src":"7328:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17760,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17764,"mutability":"mutable","name":"value","nameLocation":"7364:5:10","nodeType":"VariableDeclaration","scope":17777,"src":"7347:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":17762,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":17763,"nodeType":"ArrayTypeName","src":"7347:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:10"},"returnParameters":{"id":17768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17767,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17777,"src":"7405:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17766,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:10"},"scope":18006,"src":"7286:199:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17795,"nodeType":"Block","src":"7599:60:10","statements":[{"expression":{"arguments":[{"id":17790,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17779,"src":"7632:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17791,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17781,"src":"7641:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17792,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17783,"src":"7646:5:10","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":17788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7616:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":20374,"src":"7616:15:10","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":17793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17787,"id":17794,"nodeType":"Return","src":"7609:43:10"}]},"id":17796,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:10","nodeType":"FunctionDefinition","parameters":{"id":17784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17779,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:10","nodeType":"VariableDeclaration","scope":17796,"src":"7510:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17778,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17781,"mutability":"mutable","name":"key","nameLocation":"7547:3:10","nodeType":"VariableDeclaration","scope":17796,"src":"7533:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17780,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17783,"mutability":"mutable","name":"value","nameLocation":"7559:5:10","nodeType":"VariableDeclaration","scope":17796,"src":"7552:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":17782,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:10"},"returnParameters":{"id":17787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17786,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17796,"src":"7584:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17785,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:10"},"scope":18006,"src":"7491:168:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17815,"nodeType":"Block","src":"7802:60:10","statements":[{"expression":{"arguments":[{"id":17810,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17798,"src":"7835:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17811,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17800,"src":"7844:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17812,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17803,"src":"7849:5:10","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":17808,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7819:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":20387,"src":"7819:15:10","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":17813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17807,"id":17814,"nodeType":"Return","src":"7812:43:10"}]},"id":17816,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:10","nodeType":"FunctionDefinition","parameters":{"id":17804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17798,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:10","nodeType":"VariableDeclaration","scope":17816,"src":"7684:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17797,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17800,"mutability":"mutable","name":"key","nameLocation":"7721:3:10","nodeType":"VariableDeclaration","scope":17816,"src":"7707:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17799,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17803,"mutability":"mutable","name":"value","nameLocation":"7742:5:10","nodeType":"VariableDeclaration","scope":17816,"src":"7726:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":17801,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":17802,"nodeType":"ArrayTypeName","src":"7726:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:10"},"returnParameters":{"id":17807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17806,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17816,"src":"7783:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17805,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:10"},"scope":18006,"src":"7665:197:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17834,"nodeType":"Block","src":"7977:64:10","statements":[{"expression":{"arguments":[{"id":17829,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17818,"src":"8014:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17830,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17820,"src":"8023:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17831,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17822,"src":"8028:5:10","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":17827,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"7994:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":20274,"src":"7994:19:10","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":17832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17826,"id":17833,"nodeType":"Return","src":"7987:47:10"}]},"id":17835,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:10","nodeType":"FunctionDefinition","parameters":{"id":17823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17818,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:10","nodeType":"VariableDeclaration","scope":17835,"src":"7887:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17817,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17820,"mutability":"mutable","name":"key","nameLocation":"7924:3:10","nodeType":"VariableDeclaration","scope":17835,"src":"7910:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17819,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17822,"mutability":"mutable","name":"value","nameLocation":"7937:5:10","nodeType":"VariableDeclaration","scope":17835,"src":"7929:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17821,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:10"},"returnParameters":{"id":17826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17835,"src":"7962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17824,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:10"},"scope":18006,"src":"7868:173:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17854,"nodeType":"Block","src":"8185:64:10","statements":[{"expression":{"arguments":[{"id":17849,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17837,"src":"8222:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17850,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17839,"src":"8231:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17851,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17842,"src":"8236:5:10","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":17847,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"8202:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":20287,"src":"8202:19:10","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":17852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17846,"id":17853,"nodeType":"Return","src":"8195:47:10"}]},"id":17855,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:10","nodeType":"FunctionDefinition","parameters":{"id":17843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17837,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:10","nodeType":"VariableDeclaration","scope":17855,"src":"8066:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17836,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17839,"mutability":"mutable","name":"key","nameLocation":"8103:3:10","nodeType":"VariableDeclaration","scope":17855,"src":"8089:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17838,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17842,"mutability":"mutable","name":"value","nameLocation":"8125:5:10","nodeType":"VariableDeclaration","scope":17855,"src":"8108:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17840,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17841,"nodeType":"ArrayTypeName","src":"8108:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:10"},"returnParameters":{"id":17846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17855,"src":"8166:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17844,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:10"},"scope":18006,"src":"8047:202:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17873,"nodeType":"Block","src":"8364:64:10","statements":[{"expression":{"arguments":[{"id":17868,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17857,"src":"8401:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17869,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17859,"src":"8410:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17870,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17861,"src":"8415:5:10","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":17866,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"8381:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":20324,"src":"8381:19:10","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":17871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17865,"id":17872,"nodeType":"Return","src":"8374:47:10"}]},"id":17874,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:10","nodeType":"FunctionDefinition","parameters":{"id":17862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17857,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:10","nodeType":"VariableDeclaration","scope":17874,"src":"8274:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17856,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17859,"mutability":"mutable","name":"key","nameLocation":"8311:3:10","nodeType":"VariableDeclaration","scope":17874,"src":"8297:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17858,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17861,"mutability":"mutable","name":"value","nameLocation":"8324:5:10","nodeType":"VariableDeclaration","scope":17874,"src":"8316:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:10"},"returnParameters":{"id":17865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17864,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17874,"src":"8349:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17863,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:10"},"scope":18006,"src":"8255:173:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17893,"nodeType":"Block","src":"8572:64:10","statements":[{"expression":{"arguments":[{"id":17888,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17876,"src":"8609:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17889,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17878,"src":"8618:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17890,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17881,"src":"8623:5:10","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":17886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"8589:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":20337,"src":"8589:19:10","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":17891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17885,"id":17892,"nodeType":"Return","src":"8582:47:10"}]},"id":17894,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:10","nodeType":"FunctionDefinition","parameters":{"id":17882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17876,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:10","nodeType":"VariableDeclaration","scope":17894,"src":"8453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17875,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17878,"mutability":"mutable","name":"key","nameLocation":"8490:3:10","nodeType":"VariableDeclaration","scope":17894,"src":"8476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17877,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17881,"mutability":"mutable","name":"value","nameLocation":"8512:5:10","nodeType":"VariableDeclaration","scope":17894,"src":"8495:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17880,"nodeType":"ArrayTypeName","src":"8495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:10"},"returnParameters":{"id":17885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17894,"src":"8553:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17883,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:10"},"scope":18006,"src":"8434:202:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17912,"nodeType":"Block","src":"8756:62:10","statements":[{"expression":{"arguments":[{"id":17907,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17896,"src":"8791:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17908,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17898,"src":"8800:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17909,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17900,"src":"8805:5:10","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":17905,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"8773:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":20349,"src":"8773:17:10","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":17910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17904,"id":17911,"nodeType":"Return","src":"8766:45:10"}]},"id":17913,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:10","nodeType":"FunctionDefinition","parameters":{"id":17901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17896,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:10","nodeType":"VariableDeclaration","scope":17913,"src":"8661:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17895,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17898,"mutability":"mutable","name":"key","nameLocation":"8698:3:10","nodeType":"VariableDeclaration","scope":17913,"src":"8684:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17897,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17900,"mutability":"mutable","name":"value","nameLocation":"8716:5:10","nodeType":"VariableDeclaration","scope":17913,"src":"8703:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":17899,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:10"},"returnParameters":{"id":17904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17913,"src":"8741:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17902,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:10"},"scope":18006,"src":"8642:176:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17932,"nodeType":"Block","src":"8960:62:10","statements":[{"expression":{"arguments":[{"id":17927,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17915,"src":"8995:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17928,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17917,"src":"9004:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17929,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17920,"src":"9009:5:10","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":17925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"8977:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":20362,"src":"8977:17:10","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":17930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17924,"id":17931,"nodeType":"Return","src":"8970:45:10"}]},"id":17933,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:10","nodeType":"FunctionDefinition","parameters":{"id":17921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17915,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:10","nodeType":"VariableDeclaration","scope":17933,"src":"8843:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17914,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17917,"mutability":"mutable","name":"key","nameLocation":"8880:3:10","nodeType":"VariableDeclaration","scope":17933,"src":"8866:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17916,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17920,"mutability":"mutable","name":"value","nameLocation":"8900:5:10","nodeType":"VariableDeclaration","scope":17933,"src":"8885:20:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17918,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17919,"nodeType":"ArrayTypeName","src":"8885:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:10"},"returnParameters":{"id":17924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17933,"src":"8941:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17922,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:10"},"scope":18006,"src":"8824:198:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17951,"nodeType":"Block","src":"9163:63:10","statements":[{"expression":{"arguments":[{"id":17946,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17935,"src":"9199:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17947,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17937,"src":"9208:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17948,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17939,"src":"9213:5:10","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":17944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"9180:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":20433,"src":"9180:18:10","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":17949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17943,"id":17950,"nodeType":"Return","src":"9173:46:10"}]},"id":17952,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:10","nodeType":"FunctionDefinition","parameters":{"id":17940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17935,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:10","nodeType":"VariableDeclaration","scope":17952,"src":"9047:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17934,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17937,"mutability":"mutable","name":"key","nameLocation":"9084:3:10","nodeType":"VariableDeclaration","scope":17952,"src":"9070:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17936,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17939,"mutability":"mutable","name":"value","nameLocation":"9103:5:10","nodeType":"VariableDeclaration","scope":17952,"src":"9089:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17938,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:10"},"returnParameters":{"id":17943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17952,"src":"9144:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17941,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:10"},"scope":18006,"src":"9028:198:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17971,"nodeType":"Block","src":"9369:63:10","statements":[{"expression":{"arguments":[{"id":17966,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17954,"src":"9405:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17967,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"9414:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17968,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17959,"src":"9419:5:10","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":17964,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"9386:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":20446,"src":"9386:18:10","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":17969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":17963,"id":17970,"nodeType":"Return","src":"9379:46:10"}]},"id":17972,"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:10","nodeType":"FunctionDefinition","parameters":{"id":17960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17954,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:10","nodeType":"VariableDeclaration","scope":17972,"src":"9251:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17953,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17956,"mutability":"mutable","name":"key","nameLocation":"9288:3:10","nodeType":"VariableDeclaration","scope":17972,"src":"9274:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17955,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17959,"mutability":"mutable","name":"value","nameLocation":"9309:5:10","nodeType":"VariableDeclaration","scope":17972,"src":"9293:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":17957,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":17958,"nodeType":"ArrayTypeName","src":"9293:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:10"},"returnParameters":{"id":17963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17972,"src":"9350:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17961,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:10"},"scope":18006,"src":"9232:200:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":17986,"nodeType":"Block","src":"9505:44:10","statements":[{"expression":{"arguments":[{"id":17982,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17974,"src":"9528:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17983,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17976,"src":"9537:4:10","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":17979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"9515:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:10","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":22197,"src":"9515:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":17984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17985,"nodeType":"ExpressionStatement","src":"9515:27:10"}]},"id":17987,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:10","nodeType":"FunctionDefinition","parameters":{"id":17977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17974,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:10","nodeType":"VariableDeclaration","scope":17987,"src":"9453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17973,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17976,"mutability":"mutable","name":"path","nameLocation":"9490:4:10","nodeType":"VariableDeclaration","scope":17987,"src":"9476:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17975,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:10"},"returnParameters":{"id":17978,"nodeType":"ParameterList","parameters":[],"src":"9505:0:10"},"scope":18006,"src":"9438:111:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":18004,"nodeType":"Block","src":"9646:54:10","statements":[{"expression":{"arguments":[{"id":17999,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17989,"src":"9669:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18000,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17991,"src":"9678:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18001,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17993,"src":"9684:8:10","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":17996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17084,"src":"9656:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":17998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:10","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":22207,"src":"9656:12:10","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":18002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18003,"nodeType":"ExpressionStatement","src":"9656:37:10"}]},"id":18005,"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:10","nodeType":"FunctionDefinition","parameters":{"id":17994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17989,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:10","nodeType":"VariableDeclaration","scope":18005,"src":"9570:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17988,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17991,"mutability":"mutable","name":"path","nameLocation":"9607:4:10","nodeType":"VariableDeclaration","scope":18005,"src":"9593:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17990,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17993,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:10","nodeType":"VariableDeclaration","scope":18005,"src":"9613:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17992,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:10"},"returnParameters":{"id":17995,"nodeType":"ParameterList","parameters":[],"src":"9646:0:10"},"scope":18006,"src":"9555:145:10","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":18007,"src":"610:9092:10","usedErrors":[],"usedEvents":[]}],"src":"32:9671:10"},"id":10},"v4-core/lib/forge-std/src/StdUtils.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/StdUtils.sol","exportedSymbols":{"IMulticall3":[54372],"MockERC20":[54949],"MockERC721":[55555],"StdUtils":[18792],"VmSafe":[22388]},"id":18793,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":18008,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:11"},{"id":18009,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:11"},{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","id":18011,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18793,"sourceUnit":54373,"src":"100:57:11","symbolAliases":[{"foreign":{"id":18010,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54372,"src":"108:11:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/mocks/MockERC20.sol","file":"./mocks/MockERC20.sol","id":18013,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18793,"sourceUnit":54950,"src":"158:48:11","symbolAliases":[{"foreign":{"id":18012,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54949,"src":"166:9:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/mocks/MockERC721.sol","file":"./mocks/MockERC721.sol","id":18015,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18793,"sourceUnit":55556,"src":"207:50:11","symbolAliases":[{"foreign":{"id":18014,"name":"MockERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55555,"src":"215:10:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":18017,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":18793,"sourceUnit":23232,"src":"258:32:11","symbolAliases":[{"foreign":{"id":18016,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"266:6:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":18792,"linearizedBaseContracts":[18792],"name":"StdUtils","nameLocation":"310:8:11","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":18023,"mutability":"constant","name":"multicall","nameLocation":"564:9:11","nodeType":"VariableDeclaration","scope":18792,"src":"535:96:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$54372","typeString":"contract IMulticall3"},"typeName":{"id":18019,"nodeType":"UserDefinedTypeName","pathNode":{"id":18018,"name":"IMulticall3","nameLocations":["535:11:11"],"nodeType":"IdentifierPath","referencedDeclaration":54372,"src":"535:11:11"},"referencedDeclaration":54372,"src":"535:11:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$54372","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":18021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":18020,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54372,"src":"576:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$54372_$","typeString":"type(contract IMulticall3)"}},"id":18022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"576:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$54372","typeString":"contract IMulticall3"}},"visibility":"private"},{"constant":true,"id":18040,"mutability":"constant","name":"vm","nameLocation":"661:2:11","nodeType":"VariableDeclaration","scope":18792,"src":"637:92:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"},"typeName":{"id":18025,"nodeType":"UserDefinedTypeName","pathNode":{"id":18024,"name":"VmSafe","nameLocations":["637:6:11"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"637:6:11"},"referencedDeclaration":22388,"src":"637:6:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":18034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"707: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":18033,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"697:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"697:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":18032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"689:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18031,"name":"uint256","nodeType":"ElementaryTypeName","src":"689:7:11","typeDescriptions":{}}},"id":18036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"689:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"681:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":18029,"name":"uint160","nodeType":"ElementaryTypeName","src":"681:7:11","typeDescriptions":{}}},"id":18037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"681:46:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":18028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"673:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18027,"name":"address","nodeType":"ElementaryTypeName","src":"673:7:11","typeDescriptions":{}}},"id":18038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"673:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":18026,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22388,"src":"666:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$22388_$","typeString":"type(contract VmSafe)"}},"id":18039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"666:63:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"visibility":"private"},{"constant":true,"id":18043,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"760:16:11","nodeType":"VariableDeclaration","scope":18792,"src":"735:86:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18041,"name":"address","nodeType":"ElementaryTypeName","src":"735:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":18042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"779:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"constant":true,"id":18046,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"852:14:11","nodeType":"VariableDeclaration","scope":18792,"src":"827:127:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18044,"name":"uint256","nodeType":"ElementaryTypeName","src":"827:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":18045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"877:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"constant":true,"id":18049,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"985:15:11","nodeType":"VariableDeclaration","scope":18792,"src":"960:129:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18047,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":18048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1011:78:11","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"private"},{"constant":true,"id":18052,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1120:11:11","nodeType":"VariableDeclaration","scope":18792,"src":"1095:125:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18050,"name":"uint256","nodeType":"ElementaryTypeName","src":"1095:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":18051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1142:78:11","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"constant":true,"id":18055,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1364:15:11","nodeType":"VariableDeclaration","scope":18792,"src":"1339:85:11","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18053,"name":"address","nodeType":"ElementaryTypeName","src":"1339:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":18054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1382:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"body":{"id":18184,"nodeType":"Block","src":"1746:1163:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18067,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"1764:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":18068,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"1771:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1764:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":18070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1776:64:11","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":18066,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1756:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1756:85:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18072,"nodeType":"ExpressionStatement","src":"1756:85:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":18079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18073,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2070:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":18074,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2075:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2070:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18076,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2082:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":18077,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2087:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2082:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2070:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18082,"nodeType":"IfStatement","src":"2066:34:11","trueBody":{"expression":{"id":18080,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2099:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18065,"id":18081,"nodeType":"Return","src":"2092:8:11"}},{"assignments":[18084],"declarations":[{"constant":false,"id":18084,"mutability":"mutable","name":"size","nameLocation":"2119:4:11","nodeType":"VariableDeclaration","scope":18184,"src":"2111:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18083,"name":"uint256","nodeType":"ElementaryTypeName","src":"2111:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18090,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18085,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2126:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18086,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2132:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2126:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":18088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2138:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2126:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2111:28:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":18097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18091,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2329:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":18092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2334:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2329:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18094,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"2339:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":18095,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2346:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2339:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2329:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18102,"nodeType":"IfStatement","src":"2325:38:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18098,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2356:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":18099,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2362:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2356:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18065,"id":18101,"nodeType":"Return","src":"2349:14:11"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":18113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18103,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2377:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":18104,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18052,"src":"2382:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":18105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2396:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2382:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2377:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18108,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"2401:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18109,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18052,"src":"2408:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18110,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2422:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2408:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2401:22:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2377:46:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18121,"nodeType":"IfStatement","src":"2373:82:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18114,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2432:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18115,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18052,"src":"2439:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18116,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2453:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2439:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18118,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2438:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2432:23:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18065,"id":18120,"nodeType":"Return","src":"2425:30:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18122,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2555:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":18123,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2559:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2555:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18152,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2734:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":18153,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2738:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2734:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18182,"nodeType":"IfStatement","src":"2730:173:11","trueBody":{"id":18181,"nodeType":"Block","src":"2743:160:11","statements":[{"assignments":[18156],"declarations":[{"constant":false,"id":18156,"mutability":"mutable","name":"diff","nameLocation":"2765:4:11","nodeType":"VariableDeclaration","scope":18181,"src":"2757:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18155,"name":"uint256","nodeType":"ElementaryTypeName","src":"2757:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18160,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18157,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2772:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18158,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2778:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2772:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2757:22:11"},{"assignments":[18162],"declarations":[{"constant":false,"id":18162,"mutability":"mutable","name":"rem","nameLocation":"2801:3:11","nodeType":"VariableDeclaration","scope":18181,"src":"2793:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18161,"name":"uint256","nodeType":"ElementaryTypeName","src":"2793:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18166,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18163,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18156,"src":"2807:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":18164,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"2814:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2807:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2793:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18167,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18162,"src":"2836:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":18168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2843:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2836:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18172,"nodeType":"IfStatement","src":"2832:24:11","trueBody":{"expression":{"id":18170,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2853:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18065,"id":18171,"nodeType":"Return","src":"2846:10:11"}},{"expression":{"id":18179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18173,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18064,"src":"2870:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18174,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2879:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18175,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18162,"src":"2885:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2879:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":18177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2891:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2879:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2870:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18180,"nodeType":"ExpressionStatement","src":"2870:22:11"}]}},"id":18183,"nodeType":"IfStatement","src":"2551:352:11","trueBody":{"id":18151,"nodeType":"Block","src":"2564:160:11","statements":[{"assignments":[18126],"declarations":[{"constant":false,"id":18126,"mutability":"mutable","name":"diff","nameLocation":"2586:4:11","nodeType":"VariableDeclaration","scope":18151,"src":"2578:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18125,"name":"uint256","nodeType":"ElementaryTypeName","src":"2578:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18130,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18127,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"2593:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18128,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2597:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2593:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2578:22:11"},{"assignments":[18132],"declarations":[{"constant":false,"id":18132,"mutability":"mutable","name":"rem","nameLocation":"2622:3:11","nodeType":"VariableDeclaration","scope":18151,"src":"2614:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18131,"name":"uint256","nodeType":"ElementaryTypeName","src":"2614:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18136,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18133,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18126,"src":"2628:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":18134,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"2635:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2628:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2614:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18137,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18132,"src":"2657:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":18138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2664:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2657:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18142,"nodeType":"IfStatement","src":"2653:24:11","trueBody":{"expression":{"id":18140,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"2674:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18065,"id":18141,"nodeType":"Return","src":"2667:10:11"}},{"expression":{"id":18149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18143,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18064,"src":"2691:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18144,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"2700:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":18145,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18132,"src":"2706:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2700:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2712:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2700:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2691:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18150,"nodeType":"ExpressionStatement","src":"2691:22:11"}]}}]},"id":18185,"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1655:6:11","nodeType":"FunctionDefinition","parameters":{"id":18062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18057,"mutability":"mutable","name":"x","nameLocation":"1670:1:11","nodeType":"VariableDeclaration","scope":18185,"src":"1662:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18056,"name":"uint256","nodeType":"ElementaryTypeName","src":"1662:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18059,"mutability":"mutable","name":"min","nameLocation":"1681:3:11","nodeType":"VariableDeclaration","scope":18185,"src":"1673:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18058,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18061,"mutability":"mutable","name":"max","nameLocation":"1694:3:11","nodeType":"VariableDeclaration","scope":18185,"src":"1686:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18060,"name":"uint256","nodeType":"ElementaryTypeName","src":"1686:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1661:37:11"},"returnParameters":{"id":18065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18064,"mutability":"mutable","name":"result","nameLocation":"1738:6:11","nodeType":"VariableDeclaration","scope":18185,"src":"1730:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18063,"name":"uint256","nodeType":"ElementaryTypeName","src":"1730:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1729:16:11"},"scope":18792,"src":"1646:1263:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18209,"nodeType":"Block","src":"3014:100:11","statements":[{"expression":{"id":18202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18196,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18194,"src":"3024:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18198,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18187,"src":"3040:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18199,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18189,"src":"3043:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18200,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18191,"src":"3048:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18197,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[18185,18332],"referencedDeclaration":18185,"src":"3033:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":18201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3033:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3024:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18203,"nodeType":"ExpressionStatement","src":"3024:28:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":18205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3084:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"id":18206,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18194,"src":"3100:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18204,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[18757,18774,18791],"referencedDeclaration":18774,"src":"3062:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":18207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3062:45:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18208,"nodeType":"ExpressionStatement","src":"3062:45:11"}]},"id":18210,"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2924:5:11","nodeType":"FunctionDefinition","parameters":{"id":18192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18187,"mutability":"mutable","name":"x","nameLocation":"2938:1:11","nodeType":"VariableDeclaration","scope":18210,"src":"2930:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18186,"name":"uint256","nodeType":"ElementaryTypeName","src":"2930:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18189,"mutability":"mutable","name":"min","nameLocation":"2949:3:11","nodeType":"VariableDeclaration","scope":18210,"src":"2941:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18188,"name":"uint256","nodeType":"ElementaryTypeName","src":"2941:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18191,"mutability":"mutable","name":"max","nameLocation":"2962:3:11","nodeType":"VariableDeclaration","scope":18210,"src":"2954:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18190,"name":"uint256","nodeType":"ElementaryTypeName","src":"2954:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2929:37:11"},"returnParameters":{"id":18195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18194,"mutability":"mutable","name":"result","nameLocation":"3006:6:11","nodeType":"VariableDeclaration","scope":18210,"src":"2998:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18193,"name":"uint256","nodeType":"ElementaryTypeName","src":"2998:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2997:16:11"},"scope":18792,"src":"2915:199:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18331,"nodeType":"Block","src":"3216:1049:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":18224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18222,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18214,"src":"3234:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":18223,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"3241:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3234:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":18225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3246:61:11","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":18221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3226:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3226:82:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18227,"nodeType":"ExpressionStatement","src":"3226:82:11"},{"assignments":[18229],"declarations":[{"constant":false,"id":18229,"mutability":"mutable","name":"_x","nameLocation":"3744:2:11","nodeType":"VariableDeclaration","scope":18331,"src":"3736:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18228,"name":"uint256","nodeType":"ElementaryTypeName","src":"3736:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18251,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":18232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18230,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18212,"src":"3749:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":18231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3753:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3749:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":18245,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18212,"src":"3803:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3795:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18243,"name":"uint256","nodeType":"ElementaryTypeName","src":"3795:7:11","typeDescriptions":{}}},"id":18246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3795:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":18247,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3808:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3795:27:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18249,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3794:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3749:74:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18233,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3758:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3775:11:11","subExpression":{"arguments":[{"id":18236,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18212,"src":"3784:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3776:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18234,"name":"uint256","nodeType":"ElementaryTypeName","src":"3776:7:11","typeDescriptions":{}}},"id":18237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3776:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3758:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3789:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3758:32:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18242,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3757:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3736:87:11"},{"assignments":[18253],"declarations":[{"constant":false,"id":18253,"mutability":"mutable","name":"_min","nameLocation":"3841:4:11","nodeType":"VariableDeclaration","scope":18331,"src":"3833:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18252,"name":"uint256","nodeType":"ElementaryTypeName","src":"3833:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18275,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":18256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18254,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18214,"src":"3848:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":18255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3854:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3848:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":18269,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18214,"src":"3906:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3898:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18267,"name":"uint256","nodeType":"ElementaryTypeName","src":"3898:7:11","typeDescriptions":{}}},"id":18270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3898:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":18271,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3913:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3898:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18273,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3897:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3848:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18257,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3859:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3876:13:11","subExpression":{"arguments":[{"id":18260,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18214,"src":"3885:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3877:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18258,"name":"uint256","nodeType":"ElementaryTypeName","src":"3877:7:11","typeDescriptions":{}}},"id":18261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3877:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3859:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3892:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3859:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18266,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3858:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3833:95:11"},{"assignments":[18277],"declarations":[{"constant":false,"id":18277,"mutability":"mutable","name":"_max","nameLocation":"3946:4:11","nodeType":"VariableDeclaration","scope":18331,"src":"3938:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3938:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18299,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":18280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18278,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"3953:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":18279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3959:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3953:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":18293,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"4011:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4003:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18291,"name":"uint256","nodeType":"ElementaryTypeName","src":"4003:7:11","typeDescriptions":{}}},"id":18294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4003:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":18295,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4018:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4003:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18297,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4002:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3953:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18281,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3964:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3981:13:11","subExpression":{"arguments":[{"id":18284,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"3990:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3982:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3982:7:11","typeDescriptions":{}}},"id":18285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3982:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3964:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3997:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3964:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18290,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3963:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3938:95:11"},{"assignments":[18301],"declarations":[{"constant":false,"id":18301,"mutability":"mutable","name":"y","nameLocation":"4052:1:11","nodeType":"VariableDeclaration","scope":18331,"src":"4044:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18300,"name":"uint256","nodeType":"ElementaryTypeName","src":"4044:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18307,"initialValue":{"arguments":[{"id":18303,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18229,"src":"4063:2:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18304,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"4067:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18305,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18277,"src":"4073:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18302,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[18185,18332],"referencedDeclaration":18185,"src":"4056:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":18306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4056:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4044:34:11"},{"expression":{"id":18329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18308,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18219,"src":"4166:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18309,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18301,"src":"4175:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":18310,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4179:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4175:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18324,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18301,"src":"4239:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18325,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4243:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4239:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4232:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":18322,"name":"int256","nodeType":"ElementaryTypeName","src":"4232:6:11","typeDescriptions":{}}},"id":18327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4232:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":18328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4175:83:11","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"4203:21:11","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18314,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4205:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":18315,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18301,"src":"4222:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4205:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":18317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4204:20:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":18319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4227:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4203:25:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4196:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":18312,"name":"int256","nodeType":"ElementaryTypeName","src":"4196:6:11","typeDescriptions":{}}},"id":18321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4196:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4166:92:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":18330,"nodeType":"ExpressionStatement","src":"4166:92:11"}]},"id":18332,"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"3129:6:11","nodeType":"FunctionDefinition","parameters":{"id":18217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18212,"mutability":"mutable","name":"x","nameLocation":"3143:1:11","nodeType":"VariableDeclaration","scope":18332,"src":"3136:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18211,"name":"int256","nodeType":"ElementaryTypeName","src":"3136:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":18214,"mutability":"mutable","name":"min","nameLocation":"3153:3:11","nodeType":"VariableDeclaration","scope":18332,"src":"3146:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18213,"name":"int256","nodeType":"ElementaryTypeName","src":"3146:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":18216,"mutability":"mutable","name":"max","nameLocation":"3165:3:11","nodeType":"VariableDeclaration","scope":18332,"src":"3158:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18215,"name":"int256","nodeType":"ElementaryTypeName","src":"3158:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3135:34:11"},"returnParameters":{"id":18220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18219,"mutability":"mutable","name":"result","nameLocation":"3208:6:11","nodeType":"VariableDeclaration","scope":18332,"src":"3201:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18218,"name":"int256","nodeType":"ElementaryTypeName","src":"3201:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3200:15:11"},"scope":18792,"src":"3120:1145:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18359,"nodeType":"Block","src":"4366:113:11","statements":[{"expression":{"id":18349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18343,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18341,"src":"4376:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18345,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18334,"src":"4392:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":18346,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18336,"src":"4395:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":18347,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18338,"src":"4400:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":18344,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[18185,18332],"referencedDeclaration":18332,"src":"4385:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":18348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4376:28:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":18350,"nodeType":"ExpressionStatement","src":"4376:28:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":18352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4436:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":18355,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18341,"src":"4464:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":18353,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18040,"src":"4452:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":18354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4455:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"4452:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":18356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4452:19:11","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":18351,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[18757,18774,18791],"referencedDeclaration":18791,"src":"4414:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":18357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4414:58:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18358,"nodeType":"ExpressionStatement","src":"4414:58:11"}]},"id":18360,"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"4280:5:11","nodeType":"FunctionDefinition","parameters":{"id":18339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18334,"mutability":"mutable","name":"x","nameLocation":"4293:1:11","nodeType":"VariableDeclaration","scope":18360,"src":"4286:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18333,"name":"int256","nodeType":"ElementaryTypeName","src":"4286:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":18336,"mutability":"mutable","name":"min","nameLocation":"4303:3:11","nodeType":"VariableDeclaration","scope":18360,"src":"4296:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18335,"name":"int256","nodeType":"ElementaryTypeName","src":"4296:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":18338,"mutability":"mutable","name":"max","nameLocation":"4315:3:11","nodeType":"VariableDeclaration","scope":18360,"src":"4308:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18337,"name":"int256","nodeType":"ElementaryTypeName","src":"4308:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4285:34:11"},"returnParameters":{"id":18342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18341,"mutability":"mutable","name":"result","nameLocation":"4358:6:11","nodeType":"VariableDeclaration","scope":18360,"src":"4351:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18340,"name":"int256","nodeType":"ElementaryTypeName","src":"4351:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4350:15:11"},"scope":18792,"src":"4271:208:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18377,"nodeType":"Block","src":"4577:68:11","statements":[{"expression":{"id":18375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18367,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18365,"src":"4587:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18369,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18362,"src":"4603:10:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":18370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4615:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":18371,"name":"SECP256K1_ORDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18049,"src":"4618:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":18372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4636:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4618:19:11","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":18368,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[18185,18332],"referencedDeclaration":18185,"src":"4596:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":18374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:42:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4587:51:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18376,"nodeType":"ExpressionStatement","src":"4587:51:11"}]},"id":18378,"implemented":true,"kind":"function","modifiers":[],"name":"boundPrivateKey","nameLocation":"4494:15:11","nodeType":"FunctionDefinition","parameters":{"id":18363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18362,"mutability":"mutable","name":"privateKey","nameLocation":"4518:10:11","nodeType":"VariableDeclaration","scope":18378,"src":"4510:18:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18361,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4509:20:11"},"returnParameters":{"id":18366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18365,"mutability":"mutable","name":"result","nameLocation":"4569:6:11","nodeType":"VariableDeclaration","scope":18378,"src":"4561:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18364,"name":"uint256","nodeType":"ElementaryTypeName","src":"4561:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4560:16:11"},"scope":18792,"src":"4485:160:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18411,"nodeType":"Block","src":"4728:182:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":18386,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18380,"src":"4746:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4748:6:11","memberName":"length","nodeType":"MemberAccess","src":"4746:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":18388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4758:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4746:14:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":18390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4762:55:11","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":18385,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4738:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:80:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18392,"nodeType":"ExpressionStatement","src":"4738:80:11"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":18399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4873:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":18400,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18380,"src":"4878:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4880:6:11","memberName":"length","nodeType":"MemberAccess","src":"4878:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4873:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4863:9:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":18397,"name":"bytes","nodeType":"ElementaryTypeName","src":"4867:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":18403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4863:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":18404,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18380,"src":"4889:1:11","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":18395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4846:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4850:12:11","memberName":"encodePacked","nodeType":"MemberAccess","src":"4846:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4846:45:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":18407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4894:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18406,"name":"uint256","nodeType":"ElementaryTypeName","src":"4894:7:11","typeDescriptions":{}}}],"id":18408,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4893:9:11","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":18393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4835:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4839:6:11","memberName":"decode","nodeType":"MemberAccess","src":"4835:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":18409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4835:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":18384,"id":18410,"nodeType":"Return","src":"4828:75:11"}]},"id":18412,"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4660:11:11","nodeType":"FunctionDefinition","parameters":{"id":18381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18380,"mutability":"mutable","name":"b","nameLocation":"4685:1:11","nodeType":"VariableDeclaration","scope":18412,"src":"4672:14:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18379,"name":"bytes","nodeType":"ElementaryTypeName","src":"4672:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4671:16:11"},"returnParameters":{"id":18384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18412,"src":"4719:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18382,"name":"uint256","nodeType":"ElementaryTypeName","src":"4719:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4718:9:11"},"scope":18792,"src":"4651:259:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18432,"nodeType":"Block","src":"5247:178:11","statements":[{"expression":{"arguments":[{"hexValue":"636f6d707574654372656174654164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d707574654372656174654164647265737320696e73746561642e","id":18423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5279:81:11","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":18422,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[18757,18774,18791],"referencedDeclaration":18757,"src":"5257:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":18424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5257:104:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18425,"nodeType":"ExpressionStatement","src":"5257:104:11"},{"expression":{"arguments":[{"id":18428,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18415,"src":"5402:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18429,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18417,"src":"5412:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18426,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18040,"src":"5378:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":18427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5381:20:11","memberName":"computeCreateAddress","nodeType":"MemberAccess","referencedDeclaration":22239,"src":"5378:23:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) pure external returns (address)"}},"id":18430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5378:40:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":18421,"id":18431,"nodeType":"Return","src":"5371:47:11"}]},"documentation":{"id":18413,"nodeType":"StructuredDocumentation","src":"4916:223:11","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)"},"id":18433,"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"5153:20:11","nodeType":"FunctionDefinition","parameters":{"id":18418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18415,"mutability":"mutable","name":"deployer","nameLocation":"5182:8:11","nodeType":"VariableDeclaration","scope":18433,"src":"5174:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18414,"name":"address","nodeType":"ElementaryTypeName","src":"5174:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18417,"mutability":"mutable","name":"nonce","nameLocation":"5200:5:11","nodeType":"VariableDeclaration","scope":18433,"src":"5192:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18416,"name":"uint256","nodeType":"ElementaryTypeName","src":"5192:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5173:33:11"},"returnParameters":{"id":18421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18433,"src":"5238:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18419,"name":"address","nodeType":"ElementaryTypeName","src":"5238:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5237:9:11"},"scope":18792,"src":"5144:281:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18455,"nodeType":"Block","src":"5592:194:11","statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":18445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5624:83:11","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":18444,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[18757,18774,18791],"referencedDeclaration":18757,"src":"5602:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":18446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5602:106:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18447,"nodeType":"ExpressionStatement","src":"5602:106:11"},{"expression":{"arguments":[{"id":18450,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18435,"src":"5750:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":18451,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18437,"src":"5756:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":18452,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18439,"src":"5770:8:11","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":18448,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18040,"src":"5725:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":18449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5728:21:11","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":22219,"src":"5725:24:11","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":18453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:54:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":18443,"id":18454,"nodeType":"Return","src":"5718:61:11"}]},"id":18456,"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5440:21:11","nodeType":"FunctionDefinition","parameters":{"id":18440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18435,"mutability":"mutable","name":"salt","nameLocation":"5470:4:11","nodeType":"VariableDeclaration","scope":18456,"src":"5462:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5462:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18437,"mutability":"mutable","name":"initcodeHash","nameLocation":"5484:12:11","nodeType":"VariableDeclaration","scope":18456,"src":"5476:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5476:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18439,"mutability":"mutable","name":"deployer","nameLocation":"5506:8:11","nodeType":"VariableDeclaration","scope":18456,"src":"5498:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18438,"name":"address","nodeType":"ElementaryTypeName","src":"5498:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5461:54:11"},"returnParameters":{"id":18443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18456,"src":"5579:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18441,"name":"address","nodeType":"ElementaryTypeName","src":"5579:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5578:9:11"},"scope":18792,"src":"5431:355:11","stateMutability":"pure","virtual":true,"visibility":"internal"},{"body":{"id":18476,"nodeType":"Block","src":"5994:184:11","statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":18467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6026:83:11","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":18466,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[18757,18774,18791],"referencedDeclaration":18757,"src":"6004:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":18468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6004:106:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18469,"nodeType":"ExpressionStatement","src":"6004:106:11"},{"expression":{"arguments":[{"id":18472,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18459,"src":"6152:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":18473,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18461,"src":"6158:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":18470,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18040,"src":"6127:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$22388","typeString":"contract VmSafe"}},"id":18471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6130:21:11","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":22229,"src":"6127:24:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,bytes32) pure external returns (address)"}},"id":18474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:44:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":18465,"id":18475,"nodeType":"Return","src":"6120:51:11"}]},"documentation":{"id":18457,"nodeType":"StructuredDocumentation","src":"5792:98:11","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"id":18477,"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5904:21:11","nodeType":"FunctionDefinition","parameters":{"id":18462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18459,"mutability":"mutable","name":"salt","nameLocation":"5934:4:11","nodeType":"VariableDeclaration","scope":18477,"src":"5926:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5926:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18461,"mutability":"mutable","name":"initCodeHash","nameLocation":"5948:12:11","nodeType":"VariableDeclaration","scope":18477,"src":"5940:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5940:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5925:36:11"},"returnParameters":{"id":18465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18477,"src":"5985:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18463,"name":"address","nodeType":"ElementaryTypeName","src":"5985:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5984:9:11"},"scope":18792,"src":"5895:283:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18505,"nodeType":"Block","src":"6377:88:11","statements":[{"expression":{"id":18495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18490,"name":"mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18488,"src":"6387:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":18493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6394:13:11","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$54949_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":18492,"nodeType":"UserDefinedTypeName","pathNode":{"id":18491,"name":"MockERC20","nameLocations":["6398:9:11"],"nodeType":"IdentifierPath","referencedDeclaration":54949,"src":"6398:9:11"},"referencedDeclaration":54949,"src":"6398:9:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}}},"id":18494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6394:15:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}},"src":"6387:22:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}},"id":18496,"nodeType":"ExpressionStatement","src":"6387:22:11"},{"expression":{"arguments":[{"id":18500,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18480,"src":"6435:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18501,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18482,"src":"6441:6:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18502,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18484,"src":"6449:8:11","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":18497,"name":"mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18488,"src":"6419:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}},"id":18499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6424:10:11","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":54517,"src":"6419:15:11","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$__$","typeString":"function (string memory,string memory,uint8) external"}},"id":18503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6419:39:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18504,"nodeType":"ExpressionStatement","src":"6419:39:11"}]},"documentation":{"id":18478,"nodeType":"StructuredDocumentation","src":"6184:51:11","text":"@dev returns an initialized mock ERC20 contract"},"id":18506,"implemented":true,"kind":"function","modifiers":[],"name":"deployMockERC20","nameLocation":"6249:15:11","nodeType":"FunctionDefinition","parameters":{"id":18485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18480,"mutability":"mutable","name":"name","nameLocation":"6279:4:11","nodeType":"VariableDeclaration","scope":18506,"src":"6265:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18479,"name":"string","nodeType":"ElementaryTypeName","src":"6265:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18482,"mutability":"mutable","name":"symbol","nameLocation":"6299:6:11","nodeType":"VariableDeclaration","scope":18506,"src":"6285:20:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18481,"name":"string","nodeType":"ElementaryTypeName","src":"6285:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18484,"mutability":"mutable","name":"decimals","nameLocation":"6313:8:11","nodeType":"VariableDeclaration","scope":18506,"src":"6307:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":18483,"name":"uint8","nodeType":"ElementaryTypeName","src":"6307:5:11","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6264:58:11"},"returnParameters":{"id":18489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18488,"mutability":"mutable","name":"mock","nameLocation":"6367:4:11","nodeType":"VariableDeclaration","scope":18506,"src":"6357:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"},"typeName":{"id":18487,"nodeType":"UserDefinedTypeName","pathNode":{"id":18486,"name":"MockERC20","nameLocations":["6357:9:11"],"nodeType":"IdentifierPath","referencedDeclaration":54949,"src":"6357:9:11"},"referencedDeclaration":54949,"src":"6357:9:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}},"visibility":"internal"}],"src":"6356:16:11"},"scope":18792,"src":"6240:225:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":18531,"nodeType":"Block","src":"6631:79:11","statements":[{"expression":{"id":18522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18517,"name":"mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18515,"src":"6641:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":18520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6648:14:11","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC721_$55555_$","typeString":"function () returns (contract MockERC721)"},"typeName":{"id":18519,"nodeType":"UserDefinedTypeName","pathNode":{"id":18518,"name":"MockERC721","nameLocations":["6652:10:11"],"nodeType":"IdentifierPath","referencedDeclaration":55555,"src":"6652:10:11"},"referencedDeclaration":55555,"src":"6652:10:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}}},"id":18521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6648:16:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}},"src":"6641:23:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}},"id":18523,"nodeType":"ExpressionStatement","src":"6641:23:11"},{"expression":{"arguments":[{"id":18527,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18509,"src":"6690:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18528,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18511,"src":"6696:6: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"}],"expression":{"id":18524,"name":"mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18515,"src":"6674:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}},"id":18526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6679:10:11","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":55113,"src":"6674:15:11","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":18529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6674:29:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18530,"nodeType":"ExpressionStatement","src":"6674:29:11"}]},"documentation":{"id":18507,"nodeType":"StructuredDocumentation","src":"6471:52:11","text":"@dev returns an initialized mock ERC721 contract"},"id":18532,"implemented":true,"kind":"function","modifiers":[],"name":"deployMockERC721","nameLocation":"6537:16:11","nodeType":"FunctionDefinition","parameters":{"id":18512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18509,"mutability":"mutable","name":"name","nameLocation":"6568:4:11","nodeType":"VariableDeclaration","scope":18532,"src":"6554:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18508,"name":"string","nodeType":"ElementaryTypeName","src":"6554:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18511,"mutability":"mutable","name":"symbol","nameLocation":"6588:6:11","nodeType":"VariableDeclaration","scope":18532,"src":"6574:20:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18510,"name":"string","nodeType":"ElementaryTypeName","src":"6574:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6553:42:11"},"returnParameters":{"id":18516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18515,"mutability":"mutable","name":"mock","nameLocation":"6625:4:11","nodeType":"VariableDeclaration","scope":18532,"src":"6614:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"},"typeName":{"id":18514,"nodeType":"UserDefinedTypeName","pathNode":{"id":18513,"name":"MockERC721","nameLocations":["6614:10:11"],"nodeType":"IdentifierPath","referencedDeclaration":55555,"src":"6614:10:11"},"referencedDeclaration":55555,"src":"6614:10:11","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC721_$55555","typeString":"contract MockERC721"}},"visibility":"internal"}],"src":"6613:17:11"},"scope":18792,"src":"6528:182:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":18545,"nodeType":"Block","src":"7015:54:11","statements":[{"expression":{"arguments":[{"id":18541,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18535,"src":"7045:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":18542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7059:2:11","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":18540,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[18546,18565],"referencedDeclaration":18565,"src":"7032:12:11","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":18543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7032:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":18539,"id":18544,"nodeType":"Return","src":"7025:37:11"}]},"documentation":{"id":18533,"nodeType":"StructuredDocumentation","src":"6716:213:11","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"},"id":18546,"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6943:12:11","nodeType":"FunctionDefinition","parameters":{"id":18536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18535,"mutability":"mutable","name":"creationCode","nameLocation":"6969:12:11","nodeType":"VariableDeclaration","scope":18546,"src":"6956:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18534,"name":"bytes","nodeType":"ElementaryTypeName","src":"6956:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6955:27:11"},"returnParameters":{"id":18539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18546,"src":"7006:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7006:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7005:9:11"},"scope":18792,"src":"6934:135:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18564,"nodeType":"Block","src":"7442:71:11","statements":[{"expression":{"arguments":[{"arguments":[{"id":18559,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18549,"src":"7486:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":18560,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18551,"src":"7500:4:11","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":18557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7469:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7473:12:11","memberName":"encodePacked","nodeType":"MemberAccess","src":"7469:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":18561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7469:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18556,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7459:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":18562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7459:47:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":18555,"id":18563,"nodeType":"Return","src":"7452:54:11"}]},"documentation":{"id":18547,"nodeType":"StructuredDocumentation","src":"7075:262:11","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"},"id":18565,"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7351:12:11","nodeType":"FunctionDefinition","parameters":{"id":18552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18549,"mutability":"mutable","name":"creationCode","nameLocation":"7377:12:11","nodeType":"VariableDeclaration","scope":18565,"src":"7364:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18548,"name":"bytes","nodeType":"ElementaryTypeName","src":"7364:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18551,"mutability":"mutable","name":"args","nameLocation":"7404:4:11","nodeType":"VariableDeclaration","scope":18565,"src":"7391:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18550,"name":"bytes","nodeType":"ElementaryTypeName","src":"7391:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7363:46:11"},"returnParameters":{"id":18555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18565,"src":"7433:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7433:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7432:9:11"},"scope":18792,"src":"7342:171:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18678,"nodeType":"Block","src":"7774:974:11","statements":[{"assignments":[18577],"declarations":[{"constant":false,"id":18577,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"7792:13:11","nodeType":"VariableDeclaration","scope":18678,"src":"7784:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18576,"name":"uint256","nodeType":"ElementaryTypeName","src":"7784:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18578,"nodeType":"VariableDeclarationStatement","src":"7784:21:11"},{"AST":{"nativeSrc":"7824:59:11","nodeType":"YulBlock","src":"7824:59:11","statements":[{"nativeSrc":"7838:35:11","nodeType":"YulAssignment","src":"7838:35:11","value":{"arguments":[{"name":"token","nativeSrc":"7867:5:11","nodeType":"YulIdentifier","src":"7867:5:11"}],"functionName":{"name":"extcodesize","nativeSrc":"7855:11:11","nodeType":"YulIdentifier","src":"7855:11:11"},"nativeSrc":"7855:18:11","nodeType":"YulFunctionCall","src":"7855:18:11"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"7838:13:11","nodeType":"YulIdentifier","src":"7838:13:11"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":18567,"isOffset":false,"isSlot":false,"src":"7867:5:11","valueSize":1},{"declaration":18577,"isOffset":false,"isSlot":false,"src":"7838:13:11","valueSize":1}],"id":18579,"nodeType":"InlineAssembly","src":"7815:68:11"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18581,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18577,"src":"7900:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":18582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7916:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7900:17:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":18584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7919:80:11","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":18580,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7892:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":18585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7892:108:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18586,"nodeType":"ExpressionStatement","src":"7892:108:11"},{"assignments":[18588],"declarations":[{"constant":false,"id":18588,"mutability":"mutable","name":"length","nameLocation":"8075:6:11","nodeType":"VariableDeclaration","scope":18678,"src":"8067:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18587,"name":"uint256","nodeType":"ElementaryTypeName","src":"8067:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18591,"initialValue":{"expression":{"id":18589,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18570,"src":"8084:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":18590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8094:6:11","memberName":"length","nodeType":"MemberAccess","src":"8084:16:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8067:33:11"},{"assignments":[18597],"declarations":[{"constant":false,"id":18597,"mutability":"mutable","name":"calls","nameLocation":"8136:5:11","nodeType":"VariableDeclaration","scope":18678,"src":"8110:31:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":18595,"nodeType":"UserDefinedTypeName","pathNode":{"id":18594,"name":"IMulticall3.Call","nameLocations":["8110:11:11","8122:4:11"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"8110:16:11"},"referencedDeclaration":54217,"src":"8110:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":18596,"nodeType":"ArrayTypeName","src":"8110:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":18604,"initialValue":{"arguments":[{"id":18602,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"8167:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8144:22:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":18599,"nodeType":"UserDefinedTypeName","pathNode":{"id":18598,"name":"IMulticall3.Call","nameLocations":["8148:11:11","8160:4:11"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"8148:16:11"},"referencedDeclaration":54217,"src":"8148:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":18600,"nodeType":"ArrayTypeName","src":"8148:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":18603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8144:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8110:64:11"},{"body":{"id":18632,"nodeType":"Block","src":"8221:189:11","statements":[{"expression":{"id":18630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18615,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18597,"src":"8293:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":18617,"indexExpression":{"id":18616,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18606,"src":"8299:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8293:8:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18620,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18567,"src":"8330:5:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":18623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8370:10:11","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":18624,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18570,"src":"8383:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":18626,"indexExpression":{"id":18625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18606,"src":"8393:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8383:12:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":18627,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8382:14:11","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":18621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8347:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8351:18:11","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8347:22:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":18628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8347:50:11","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":18618,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54372,"src":"8304:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$54372_$","typeString":"type(contract IMulticall3)"}},"id":18619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8316:4:11","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":54217,"src":"8304:16:11","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$54217_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":18629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8322:6:11","8337:8:11"],"names":["target","callData"],"nodeType":"FunctionCall","src":"8304:95:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"8293:106:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":18631,"nodeType":"ExpressionStatement","src":"8293:106:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18609,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18606,"src":"8204:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":18610,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"8208:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8204:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18633,"initializationExpression":{"assignments":[18606],"declarations":[{"constant":false,"id":18606,"mutability":"mutable","name":"i","nameLocation":"8197:1:11","nodeType":"VariableDeclaration","scope":18633,"src":"8189:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18605,"name":"uint256","nodeType":"ElementaryTypeName","src":"8189:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18608,"initialValue":{"hexValue":"30","id":18607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8201:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8189:13:11"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":18613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8216:3:11","subExpression":{"id":18612,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18606,"src":"8218:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18614,"nodeType":"ExpressionStatement","src":"8216:3:11"},"nodeType":"ForStatement","src":"8184:226:11"},{"assignments":[null,18638],"declarations":[null,{"constant":false,"id":18638,"mutability":"mutable","name":"returnData","nameLocation":"8474:10:11","nodeType":"VariableDeclaration","scope":18678,"src":"8459:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":18636,"name":"bytes","nodeType":"ElementaryTypeName","src":"8459:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":18637,"nodeType":"ArrayTypeName","src":"8459:7:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":18643,"initialValue":{"arguments":[{"id":18641,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18597,"src":"8508:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$54217_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":18639,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18023,"src":"8488:9:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$54372","typeString":"contract IMulticall3"}},"id":18640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8498:9:11","memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":54250,"src":"8488:19:11","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$54217_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":18642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8488:26:11","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":"8456:58:11"},{"expression":{"id":18650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":18644,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18574,"src":"8588:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":18648,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"8613:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8599:13:11","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":18645,"name":"uint256","nodeType":"ElementaryTypeName","src":"8603:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18646,"nodeType":"ArrayTypeName","src":"8603:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":18649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8599:21:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"8588:32:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":18651,"nodeType":"ExpressionStatement","src":"8588:32:11"},{"body":{"id":18676,"nodeType":"Block","src":"8667:75:11","statements":[{"expression":{"id":18674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":18662,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18574,"src":"8681:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":18664,"indexExpression":{"id":18663,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"8690:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8681:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":18667,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18638,"src":"8706:10:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":18669,"indexExpression":{"id":18668,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"8717:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8706:13:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":18671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8722:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18670,"name":"uint256","nodeType":"ElementaryTypeName","src":"8722:7:11","typeDescriptions":{}}}],"id":18672,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8721:9:11","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":18665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8695:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8699:6:11","memberName":"decode","nodeType":"MemberAccess","src":"8695:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":18673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8695:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8681:50:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18675,"nodeType":"ExpressionStatement","src":"8681:50:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":18658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":18656,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"8650:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":18657,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"8654:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8650:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":18677,"initializationExpression":{"assignments":[18653],"declarations":[{"constant":false,"id":18653,"mutability":"mutable","name":"i","nameLocation":"8643:1:11","nodeType":"VariableDeclaration","scope":18677,"src":"8635:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18652,"name":"uint256","nodeType":"ElementaryTypeName","src":"8635:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18655,"initialValue":{"hexValue":"30","id":18654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8647:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8635:13:11"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":18660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8662:3:11","subExpression":{"id":18659,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"8664:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18661,"nodeType":"ExpressionStatement","src":"8662:3:11"},"nodeType":"ForStatement","src":"8630:112:11"}]},"id":18679,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"7633:16:11","nodeType":"FunctionDefinition","parameters":{"id":18571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18567,"mutability":"mutable","name":"token","nameLocation":"7658:5:11","nodeType":"VariableDeclaration","scope":18679,"src":"7650:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18566,"name":"address","nodeType":"ElementaryTypeName","src":"7650:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18570,"mutability":"mutable","name":"addresses","nameLocation":"7682:9:11","nodeType":"VariableDeclaration","scope":18679,"src":"7665:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":18568,"name":"address","nodeType":"ElementaryTypeName","src":"7665:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":18569,"nodeType":"ArrayTypeName","src":"7665:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"7649:43:11"},"returnParameters":{"id":18575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18574,"mutability":"mutable","name":"balances","nameLocation":"7760:8:11","nodeType":"VariableDeclaration","scope":18679,"src":"7743:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18572,"name":"uint256","nodeType":"ElementaryTypeName","src":"7743:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18573,"nodeType":"ArrayTypeName","src":"7743:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7742:27:11"},"scope":18792,"src":"7624:1124:11","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":18697,"nodeType":"Block","src":"9051:61:11","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":18692,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18681,"src":"9092:10:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":18691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9084:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":18690,"name":"uint256","nodeType":"ElementaryTypeName","src":"9084:7:11","typeDescriptions":{}}},"id":18693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9084:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":18689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9076:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":18688,"name":"uint160","nodeType":"ElementaryTypeName","src":"9076:7:11","typeDescriptions":{}}},"id":18694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9076:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":18687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9068:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":18686,"name":"address","nodeType":"ElementaryTypeName","src":"9068:7:11","typeDescriptions":{}}},"id":18695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9068:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":18685,"id":18696,"nodeType":"Return","src":"9061:44:11"}]},"id":18698,"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"8977:22:11","nodeType":"FunctionDefinition","parameters":{"id":18682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18681,"mutability":"mutable","name":"bytesValue","nameLocation":"9008:10:11","nodeType":"VariableDeclaration","scope":18698,"src":"9000:18:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9000:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8999:20:11"},"returnParameters":{"id":18685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18698,"src":"9042:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18683,"name":"address","nodeType":"ElementaryTypeName","src":"9042:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9041:9:11"},"scope":18792,"src":"8968:144:11","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":18714,"nodeType":"Block","src":"9580:62:11","statements":[{"AST":{"nativeSrc":"9599:37:11","nodeType":"YulBlock","src":"9599:37:11","statements":[{"nativeSrc":"9613:13:11","nodeType":"YulAssignment","src":"9613:13:11","value":{"name":"fnIn","nativeSrc":"9622:4:11","nodeType":"YulIdentifier","src":"9622:4:11"},"variableNames":[{"name":"fnOut","nativeSrc":"9613:5:11","nodeType":"YulIdentifier","src":"9613:5:11"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":18704,"isOffset":false,"isSlot":false,"src":"9622:4:11","valueSize":1},{"declaration":18711,"isOffset":false,"isSlot":false,"src":"9613:5:11","valueSize":1}],"id":18713,"nodeType":"InlineAssembly","src":"9590:46:11"}]},"id":18715,"implemented":true,"kind":"function","modifiers":[],"name":"_castLogPayloadViewToPure","nameLocation":"9416:25:11","nodeType":"FunctionDefinition","parameters":{"id":18705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18704,"mutability":"mutable","name":"fnIn","nameLocation":"9479:4:11","nodeType":"VariableDeclaration","scope":18715,"src":"9442:41:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":18703,"nodeType":"FunctionTypeName","parameterTypes":{"id":18701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18703,"src":"9451:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18699,"name":"bytes","nodeType":"ElementaryTypeName","src":"9451:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9450:14:11"},"returnParameterTypes":{"id":18702,"nodeType":"ParameterList","parameters":[],"src":"9479:0:11"},"src":"9442:41:11","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"9441:43:11"},"returnParameters":{"id":18712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18711,"mutability":"mutable","name":"fnOut","nameLocation":"9569:5:11","nodeType":"VariableDeclaration","scope":18715,"src":"9532:42:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":18710,"nodeType":"FunctionTypeName","parameterTypes":{"id":18708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18710,"src":"9541:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18706,"name":"bytes","nodeType":"ElementaryTypeName","src":"9541:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9540:14:11"},"returnParameterTypes":{"id":18709,"nodeType":"ParameterList","parameters":[],"src":"9569:0:11"},"src":"9532:42:11","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"9531:44:11"},"scope":18792,"src":"9407:235:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18726,"nodeType":"Block","src":"9709:72:11","statements":[{"expression":{"arguments":[{"id":18723,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18717,"src":"9766:7:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":18721,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18743,"src":"9745:19:11","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":18720,"name":"_castLogPayloadViewToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18715,"src":"9719:25:11","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":18722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9719:46:11","tryCall":false,"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":"9719:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18725,"nodeType":"ExpressionStatement","src":"9719:55:11"}]},"id":18727,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"9657:15:11","nodeType":"FunctionDefinition","parameters":{"id":18718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18717,"mutability":"mutable","name":"payload","nameLocation":"9686:7:11","nodeType":"VariableDeclaration","scope":18727,"src":"9673:20:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18716,"name":"bytes","nodeType":"ElementaryTypeName","src":"9673:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9672:22:11"},"returnParameters":{"id":18719,"nodeType":"ParameterList","parameters":[],"src":"9709:0:11"},"scope":18792,"src":"9648:133:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18742,"nodeType":"Block","src":"9851:317:11","statements":[{"assignments":[18733],"declarations":[{"constant":false,"id":18733,"mutability":"mutable","name":"payloadLength","nameLocation":"9869:13:11","nodeType":"VariableDeclaration","scope":18742,"src":"9861:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18732,"name":"uint256","nodeType":"ElementaryTypeName","src":"9861:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":18736,"initialValue":{"expression":{"id":18734,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18729,"src":"9885:7:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":18735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9893:6:11","memberName":"length","nodeType":"MemberAccess","src":"9885:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9861:38:11"},{"assignments":[18738],"declarations":[{"constant":false,"id":18738,"mutability":"mutable","name":"consoleAddress","nameLocation":"9917:14:11","nodeType":"VariableDeclaration","scope":18742,"src":"9909:22:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18737,"name":"address","nodeType":"ElementaryTypeName","src":"9909:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":18740,"initialValue":{"id":18739,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18043,"src":"9934:16:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9909:41:11"},{"AST":{"nativeSrc":"10012:150:11","nodeType":"YulBlock","src":"10012:150:11","statements":[{"nativeSrc":"10026:36:11","nodeType":"YulVariableDeclaration","src":"10026:36:11","value":{"arguments":[{"name":"payload","nativeSrc":"10050:7:11","nodeType":"YulIdentifier","src":"10050:7:11"},{"kind":"number","nativeSrc":"10059:2:11","nodeType":"YulLiteral","src":"10059:2:11","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"10046:3:11","nodeType":"YulIdentifier","src":"10046:3:11"},"nativeSrc":"10046:16:11","nodeType":"YulFunctionCall","src":"10046:16:11"},"variables":[{"name":"payloadStart","nativeSrc":"10030:12:11","nodeType":"YulTypedName","src":"10030:12:11","type":""}]},{"nativeSrc":"10075:77:11","nodeType":"YulVariableDeclaration","src":"10075:77:11","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"10095:3:11","nodeType":"YulIdentifier","src":"10095:3:11"},"nativeSrc":"10095:5:11","nodeType":"YulFunctionCall","src":"10095:5:11"},{"name":"consoleAddress","nativeSrc":"10102:14:11","nodeType":"YulIdentifier","src":"10102:14:11"},{"name":"payloadStart","nativeSrc":"10118:12:11","nodeType":"YulIdentifier","src":"10118:12:11"},{"name":"payloadLength","nativeSrc":"10132:13:11","nodeType":"YulIdentifier","src":"10132:13:11"},{"kind":"number","nativeSrc":"10147:1:11","nodeType":"YulLiteral","src":"10147:1:11","type":"","value":"0"},{"kind":"number","nativeSrc":"10150:1:11","nodeType":"YulLiteral","src":"10150:1:11","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"10084:10:11","nodeType":"YulIdentifier","src":"10084:10:11"},"nativeSrc":"10084:68:11","nodeType":"YulFunctionCall","src":"10084:68:11"},"variables":[{"name":"r","nativeSrc":"10079:1:11","nodeType":"YulTypedName","src":"10079:1:11","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":18738,"isOffset":false,"isSlot":false,"src":"10102:14:11","valueSize":1},{"declaration":18729,"isOffset":false,"isSlot":false,"src":"10050:7:11","valueSize":1},{"declaration":18733,"isOffset":false,"isSlot":false,"src":"10132:13:11","valueSize":1}],"id":18741,"nodeType":"InlineAssembly","src":"10003:159:11"}]},"id":18743,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"9796:19:11","nodeType":"FunctionDefinition","parameters":{"id":18730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18729,"mutability":"mutable","name":"payload","nameLocation":"9829:7:11","nodeType":"VariableDeclaration","scope":18743,"src":"9816:20:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18728,"name":"bytes","nodeType":"ElementaryTypeName","src":"9816:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9815:22:11"},"returnParameters":{"id":18731,"nodeType":"ParameterList","parameters":[],"src":"9851:0:11"},"scope":18792,"src":"9787:381:11","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":18756,"nodeType":"Block","src":"10236:76:11","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":18751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10286:13:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":18752,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18745,"src":"10301:2:11","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":18749,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10262:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10266:19:11","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10262:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10262:42:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18748,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18727,"src":"10246:15:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10246:59:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18755,"nodeType":"ExpressionStatement","src":"10246:59:11"}]},"id":18757,"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"10183:21:11","nodeType":"FunctionDefinition","parameters":{"id":18746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18745,"mutability":"mutable","name":"p0","nameLocation":"10219:2:11","nodeType":"VariableDeclaration","scope":18757,"src":"10205:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18744,"name":"string","nodeType":"ElementaryTypeName","src":"10205:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10204:18:11"},"returnParameters":{"id":18747,"nodeType":"ParameterList","parameters":[],"src":"10236:0:11"},"scope":18792,"src":"10174:138:11","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":18773,"nodeType":"Block","src":"10392:88:11","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":18767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10442:21:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":18768,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18759,"src":"10465:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18769,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18761,"src":"10469:2:11","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":18765,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10418:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10422:19:11","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10418:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10418:54:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18764,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18727,"src":"10402:15:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10402:71:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18772,"nodeType":"ExpressionStatement","src":"10402:71:11"}]},"id":18774,"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"10327:21:11","nodeType":"FunctionDefinition","parameters":{"id":18762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18759,"mutability":"mutable","name":"p0","nameLocation":"10363:2:11","nodeType":"VariableDeclaration","scope":18774,"src":"10349:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18758,"name":"string","nodeType":"ElementaryTypeName","src":"10349:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18761,"mutability":"mutable","name":"p1","nameLocation":"10375:2:11","nodeType":"VariableDeclaration","scope":18774,"src":"10367:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18760,"name":"uint256","nodeType":"ElementaryTypeName","src":"10367:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10348:30:11"},"returnParameters":{"id":18763,"nodeType":"ParameterList","parameters":[],"src":"10392:0:11"},"scope":18792,"src":"10318:162:11","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":18790,"nodeType":"Block","src":"10566:87:11","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":18784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10616:20:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":18785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18776,"src":"10638:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18778,"src":"10642:2:11","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":18782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10592:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10596:19:11","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10592:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10592:53:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18727,"src":"10576:15:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10576:70:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18789,"nodeType":"ExpressionStatement","src":"10576:70:11"}]},"id":18791,"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"10495:21:11","nodeType":"FunctionDefinition","parameters":{"id":18779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18776,"mutability":"mutable","name":"p0","nameLocation":"10531:2:11","nodeType":"VariableDeclaration","scope":18791,"src":"10517:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18775,"name":"string","nodeType":"ElementaryTypeName","src":"10517:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18778,"mutability":"mutable","name":"p1","nameLocation":"10549:2:11","nodeType":"VariableDeclaration","scope":18791,"src":"10535:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18777,"name":"string","nodeType":"ElementaryTypeName","src":"10535:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10516:36:11"},"returnParameters":{"id":18780,"nodeType":"ParameterList","parameters":[],"src":"10566:0:11"},"scope":18792,"src":"10486:167:11","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":18793,"src":"292:10363:11","usedErrors":[],"usedEvents":[]}],"src":"32:10624:11"},"id":11},"v4-core/lib/forge-std/src/Test.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/Test.sol","exportedSymbols":{"StdAssertions":[8712],"StdChains":[9557],"StdCheats":[12410],"StdInvariant":[12770],"StdStorage":[13894],"StdStyle":[17062],"StdUtils":[18792],"Test":[1233],"TestBase":[6082],"Vm":[23231],"console":[31347],"console2":[31347],"safeconsole":[44426],"stdError":[12476],"stdJson":[13714],"stdMath":[13856],"stdStorage":[15851],"stdToml":[18006]},"id":1234,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1183,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:12"},{"id":1184,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:12"},{"absolutePath":"v4-core/lib/forge-std/src/console.sol","file":"./console.sol","id":1186,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":31348,"src":"160:38:12","symbolAliases":[{"foreign":{"id":1185,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"168:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/console2.sol","file":"./console2.sol","id":1188,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":31352,"src":"199:40:12","symbolAliases":[{"foreign":{"id":1187,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"207:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","id":1190,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":44427,"src":"240:46:12","symbolAliases":[{"foreign":{"id":1189,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44426,"src":"248:11:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","id":1192,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":8713,"src":"287:50:12","symbolAliases":[{"foreign":{"id":1191,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8712,"src":"295:13:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","id":1194,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":9558,"src":"338:42:12","symbolAliases":[{"foreign":{"id":1193,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9557,"src":"346:9:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","id":1196,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":12411,"src":"381:42:12","symbolAliases":[{"foreign":{"id":1195,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12410,"src":"389:9:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdError.sol","file":"./StdError.sol","id":1198,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":12477,"src":"424:40:12","symbolAliases":[{"foreign":{"id":1197,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12476,"src":"432:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","id":1200,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":12771,"src":"465:48:12","symbolAliases":[{"foreign":{"id":1199,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12770,"src":"473:12:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","id":1202,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":13715,"src":"514:38:12","symbolAliases":[{"foreign":{"id":1201,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13714,"src":"522:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","id":1204,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":13857,"src":"553:38:12","symbolAliases":[{"foreign":{"id":1203,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13856,"src":"561:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","id":1207,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":15852,"src":"592:56:12","symbolAliases":[{"foreign":{"id":1205,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13894,"src":"600:10:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1206,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15851,"src":"612:10:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","id":1209,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":17063,"src":"649:40:12","symbolAliases":[{"foreign":{"id":1208,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17062,"src":"657:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","id":1211,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":18007,"src":"690:38:12","symbolAliases":[{"foreign":{"id":1210,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18006,"src":"698:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","id":1213,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":18793,"src":"729:40:12","symbolAliases":[{"foreign":{"id":1212,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18792,"src":"737:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"./Vm.sol","id":1215,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":23232,"src":"770:28:12","symbolAliases":[{"foreign":{"id":1214,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"778:2:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Base.sol","file":"./Base.sol","id":1217,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1234,"sourceUnit":6092,"src":"820:36:12","symbolAliases":[{"foreign":{"id":1216,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6082,"src":"828:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1218,"name":"TestBase","nameLocations":["899:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":6082,"src":"899:8:12"},"id":1219,"nodeType":"InheritanceSpecifier","src":"899:8:12"},{"baseName":{"id":1220,"name":"StdAssertions","nameLocations":["909:13:12"],"nodeType":"IdentifierPath","referencedDeclaration":8712,"src":"909:13:12"},"id":1221,"nodeType":"InheritanceSpecifier","src":"909:13:12"},{"baseName":{"id":1222,"name":"StdChains","nameLocations":["924:9:12"],"nodeType":"IdentifierPath","referencedDeclaration":9557,"src":"924:9:12"},"id":1223,"nodeType":"InheritanceSpecifier","src":"924:9:12"},{"baseName":{"id":1224,"name":"StdCheats","nameLocations":["935:9:12"],"nodeType":"IdentifierPath","referencedDeclaration":12410,"src":"935:9:12"},"id":1225,"nodeType":"InheritanceSpecifier","src":"935:9:12"},{"baseName":{"id":1226,"name":"StdInvariant","nameLocations":["946:12:12"],"nodeType":"IdentifierPath","referencedDeclaration":12770,"src":"946:12:12"},"id":1227,"nodeType":"InheritanceSpecifier","src":"946:12:12"},{"baseName":{"id":1228,"name":"StdUtils","nameLocations":["960:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":18792,"src":"960:8:12"},"id":1229,"nodeType":"InheritanceSpecifier","src":"960:8:12"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1233,"linearizedBaseContracts":[1233,18792,12770,12410,11617,9557,8712,6082,6079],"name":"Test","nameLocation":"891:4:12","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"fa7626d4","id":1232,"mutability":"mutable","name":"IS_TEST","nameLocation":"1028:7:12","nodeType":"VariableDeclaration","scope":1233,"src":"1016:26:12","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1230,"name":"bool","nodeType":"ElementaryTypeName","src":"1016:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":1231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1038:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"scope":1234,"src":"873:172:12","usedErrors":[],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"32:1014:12"},"id":12},"v4-core/lib/forge-std/src/Vm.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","exportedSymbols":{"Vm":[23231],"VmSafe":[22388]},"id":23232,"license":"MIT OR Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":18794,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"117:31:13"},{"id":18795,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"149:33:13"},{"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":18796,"nodeType":"StructuredDocumentation","src":"184:225:13","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,"id":22388,"linearizedBaseContracts":[22388],"name":"VmSafe","nameLocation":"419:6:13","nodeType":"ContractDefinition","nodes":[{"canonicalName":"VmSafe.CallerMode","documentation":{"id":18797,"nodeType":"StructuredDocumentation","src":"432:92:13","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"id":18803,"members":[{"id":18798,"name":"None","nameLocation":"610:4:13","nodeType":"EnumValue","src":"610:4:13"},{"id":18799,"name":"Broadcast","nameLocation":"714:9:13","nodeType":"EnumValue","src":"714:9:13"},{"id":18800,"name":"RecurrentBroadcast","nameLocation":"829:18:13","nodeType":"EnumValue","src":"829:18:13"},{"id":18801,"name":"Prank","nameLocation":"939:5:13","nodeType":"EnumValue","src":"939:5:13"},{"id":18802,"name":"RecurrentPrank","nameLocation":"1042:14:13","nodeType":"EnumValue","src":"1042:14:13"}],"name":"CallerMode","nameLocation":"534:10:13","nodeType":"EnumDefinition","src":"529:533:13"},{"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":18804,"nodeType":"StructuredDocumentation","src":"1068:45:13","text":"The kind of account access that occurred."},"id":18816,"members":[{"id":18805,"name":"Call","nameLocation":"1186:4:13","nodeType":"EnumValue","src":"1186:4:13"},{"id":18806,"name":"DelegateCall","nameLocation":"1252:12:13","nodeType":"EnumValue","src":"1252:12:13"},{"id":18807,"name":"CallCode","nameLocation":"1322:8:13","nodeType":"EnumValue","src":"1322:8:13"},{"id":18808,"name":"StaticCall","nameLocation":"1390:10:13","nodeType":"EnumValue","src":"1390:10:13"},{"id":18809,"name":"Create","nameLocation":"1446:6:13","nodeType":"EnumValue","src":"1446:6:13"},{"id":18810,"name":"SelfDestruct","nameLocation":"1505:12:13","nodeType":"EnumValue","src":"1505:12:13"},{"id":18811,"name":"Resume","nameLocation":"1644:6:13","nodeType":"EnumValue","src":"1644:6:13"},{"id":18812,"name":"Balance","nameLocation":"1703:7:13","nodeType":"EnumValue","src":"1703:7:13"},{"id":18813,"name":"Extcodesize","nameLocation":"1764:11:13","nodeType":"EnumValue","src":"1764:11:13"},{"id":18814,"name":"Extcodehash","nameLocation":"1829:11:13","nodeType":"EnumValue","src":"1829:11:13"},{"id":18815,"name":"Extcodecopy","nameLocation":"1892:11:13","nodeType":"EnumValue","src":"1892:11:13"}],"name":"AccountAccessKind","nameLocation":"1123:17:13","nodeType":"EnumDefinition","src":"1118:791:13"},{"canonicalName":"VmSafe.ForgeContext","documentation":{"id":18817,"nodeType":"StructuredDocumentation","src":"1915:29:13","text":"Forge execution contexts."},"id":18827,"members":[{"id":18818,"name":"TestGroup","nameLocation":"2047:9:13","nodeType":"EnumValue","src":"2047:9:13"},{"id":18819,"name":"Test","nameLocation":"2109:4:13","nodeType":"EnumValue","src":"2109:4:13"},{"id":18820,"name":"Coverage","nameLocation":"2170:8:13","nodeType":"EnumValue","src":"2170:8:13"},{"id":18821,"name":"Snapshot","nameLocation":"2235:8:13","nodeType":"EnumValue","src":"2235:8:13"},{"id":18822,"name":"ScriptGroup","nameLocation":"2327:11:13","nodeType":"EnumValue","src":"2327:11:13"},{"id":18823,"name":"ScriptDryRun","nameLocation":"2393:12:13","nodeType":"EnumValue","src":"2393:12:13"},{"id":18824,"name":"ScriptBroadcast","nameLocation":"2472:15:13","nodeType":"EnumValue","src":"2472:15:13"},{"id":18825,"name":"ScriptResume","nameLocation":"2551:12:13","nodeType":"EnumValue","src":"2551:12:13"},{"id":18826,"name":"Unknown","nameLocation":"2619:7:13","nodeType":"EnumValue","src":"2619:7:13"}],"name":"ForgeContext","nameLocation":"1954:12:13","nodeType":"EnumDefinition","src":"1949:683:13"},{"canonicalName":"VmSafe.Log","documentation":{"id":18828,"nodeType":"StructuredDocumentation","src":"2638:51:13","text":"An Ethereum log. Returned by `getRecordedLogs`."},"id":18836,"members":[{"constant":false,"id":18831,"mutability":"mutable","name":"topics","nameLocation":"2792:6:13","nodeType":"VariableDeclaration","scope":18836,"src":"2782:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2782:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18830,"nodeType":"ArrayTypeName","src":"2782:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":18833,"mutability":"mutable","name":"data","nameLocation":"2850:4:13","nodeType":"VariableDeclaration","scope":18836,"src":"2844:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18832,"name":"bytes","nodeType":"ElementaryTypeName","src":"2844:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18835,"mutability":"mutable","name":"emitter","nameLocation":"2917:7:13","nodeType":"VariableDeclaration","scope":18836,"src":"2909:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18834,"name":"address","nodeType":"ElementaryTypeName","src":"2909:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2701:3:13","nodeType":"StructDefinition","scope":22388,"src":"2694:237:13","visibility":"public"},{"canonicalName":"VmSafe.Rpc","documentation":{"id":18837,"nodeType":"StructuredDocumentation","src":"2937:58:13","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"id":18842,"members":[{"constant":false,"id":18839,"mutability":"mutable","name":"key","nameLocation":"3065:3:13","nodeType":"VariableDeclaration","scope":18842,"src":"3058:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":18838,"name":"string","nodeType":"ElementaryTypeName","src":"3058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18841,"mutability":"mutable","name":"url","nameLocation":"3109:3:13","nodeType":"VariableDeclaration","scope":18842,"src":"3102:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":18840,"name":"string","nodeType":"ElementaryTypeName","src":"3102:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3007:3:13","nodeType":"StructDefinition","scope":22388,"src":"3000:119:13","visibility":"public"},{"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":18843,"nodeType":"StructuredDocumentation","src":"3125:49:13","text":"An RPC log object. Returned by `eth_getLogs`."},"id":18863,"members":[{"constant":false,"id":18845,"mutability":"mutable","name":"emitter","nameLocation":"3260:7:13","nodeType":"VariableDeclaration","scope":18863,"src":"3252:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18844,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18848,"mutability":"mutable","name":"topics","nameLocation":"3354:6:13","nodeType":"VariableDeclaration","scope":18863,"src":"3344:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":18846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3344:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":18847,"nodeType":"ArrayTypeName","src":"3344:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":18850,"mutability":"mutable","name":"data","nameLocation":"3412:4:13","nodeType":"VariableDeclaration","scope":18863,"src":"3406:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18849,"name":"bytes","nodeType":"ElementaryTypeName","src":"3406:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18852,"mutability":"mutable","name":"blockHash","nameLocation":"3461:9:13","nodeType":"VariableDeclaration","scope":18863,"src":"3453:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3453:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18854,"mutability":"mutable","name":"blockNumber","nameLocation":"3516:11:13","nodeType":"VariableDeclaration","scope":18863,"src":"3509:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18853,"name":"uint64","nodeType":"ElementaryTypeName","src":"3509:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18856,"mutability":"mutable","name":"transactionHash","nameLocation":"3578:15:13","nodeType":"VariableDeclaration","scope":18863,"src":"3570:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3570:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18858,"mutability":"mutable","name":"transactionIndex","nameLocation":"3657:16:13","nodeType":"VariableDeclaration","scope":18863,"src":"3650:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18857,"name":"uint64","nodeType":"ElementaryTypeName","src":"3650:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18860,"mutability":"mutable","name":"logIndex","nameLocation":"3717:8:13","nodeType":"VariableDeclaration","scope":18863,"src":"3709:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18859,"name":"uint256","nodeType":"ElementaryTypeName","src":"3709:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18862,"mutability":"mutable","name":"removed","nameLocation":"3780:7:13","nodeType":"VariableDeclaration","scope":18863,"src":"3775:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18861,"name":"bool","nodeType":"ElementaryTypeName","src":"3775:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3186:10:13","nodeType":"StructDefinition","scope":22388,"src":"3179:615:13","visibility":"public"},{"canonicalName":"VmSafe.DirEntry","documentation":{"id":18864,"nodeType":"StructuredDocumentation","src":"3800:65:13","text":"A single entry in a directory listing. Returned by `readDir`."},"id":18875,"members":[{"constant":false,"id":18866,"mutability":"mutable","name":"errorMessage","nameLocation":"3941:12:13","nodeType":"VariableDeclaration","scope":18875,"src":"3934:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":18865,"name":"string","nodeType":"ElementaryTypeName","src":"3934:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18868,"mutability":"mutable","name":"path","nameLocation":"4004:4:13","nodeType":"VariableDeclaration","scope":18875,"src":"3997:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":18867,"name":"string","nodeType":"ElementaryTypeName","src":"3997:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18870,"mutability":"mutable","name":"depth","nameLocation":"4060:5:13","nodeType":"VariableDeclaration","scope":18875,"src":"4053:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18869,"name":"uint64","nodeType":"ElementaryTypeName","src":"4053:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18872,"mutability":"mutable","name":"isDir","nameLocation":"4125:5:13","nodeType":"VariableDeclaration","scope":18875,"src":"4120:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18871,"name":"bool","nodeType":"ElementaryTypeName","src":"4120:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18874,"mutability":"mutable","name":"isSymlink","nameLocation":"4188:9:13","nodeType":"VariableDeclaration","scope":18875,"src":"4183:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18873,"name":"bool","nodeType":"ElementaryTypeName","src":"4183:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"3877:8:13","nodeType":"StructDefinition","scope":22388,"src":"3870:334:13","visibility":"public"},{"canonicalName":"VmSafe.FsMetadata","documentation":{"id":18876,"nodeType":"StructuredDocumentation","src":"4210:219:13","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."},"id":18891,"members":[{"constant":false,"id":18878,"mutability":"mutable","name":"isDir","nameLocation":"4520:5:13","nodeType":"VariableDeclaration","scope":18891,"src":"4515:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18877,"name":"bool","nodeType":"ElementaryTypeName","src":"4515:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18880,"mutability":"mutable","name":"isSymlink","nameLocation":"4591:9:13","nodeType":"VariableDeclaration","scope":18891,"src":"4586:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18879,"name":"bool","nodeType":"ElementaryTypeName","src":"4586:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18882,"mutability":"mutable","name":"length","nameLocation":"4683:6:13","nodeType":"VariableDeclaration","scope":18891,"src":"4675:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18881,"name":"uint256","nodeType":"ElementaryTypeName","src":"4675:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18884,"mutability":"mutable","name":"readOnly","nameLocation":"4774:8:13","nodeType":"VariableDeclaration","scope":18891,"src":"4769:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18883,"name":"bool","nodeType":"ElementaryTypeName","src":"4769:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18886,"mutability":"mutable","name":"modified","nameLocation":"4863:8:13","nodeType":"VariableDeclaration","scope":18891,"src":"4855:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18885,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18888,"mutability":"mutable","name":"accessed","nameLocation":"4939:8:13","nodeType":"VariableDeclaration","scope":18891,"src":"4931:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18887,"name":"uint256","nodeType":"ElementaryTypeName","src":"4931:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18890,"mutability":"mutable","name":"created","nameLocation":"5019:7:13","nodeType":"VariableDeclaration","scope":18891,"src":"5011:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18889,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4441:10:13","nodeType":"StructDefinition","scope":22388,"src":"4434:599:13","visibility":"public"},{"canonicalName":"VmSafe.Wallet","documentation":{"id":18892,"nodeType":"StructuredDocumentation","src":"5039:43:13","text":"A wallet with a public and private key."},"id":18901,"members":[{"constant":false,"id":18894,"mutability":"mutable","name":"addr","nameLocation":"5152:4:13","nodeType":"VariableDeclaration","scope":18901,"src":"5144:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18893,"name":"address","nodeType":"ElementaryTypeName","src":"5144:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18896,"mutability":"mutable","name":"publicKeyX","nameLocation":"5214:10:13","nodeType":"VariableDeclaration","scope":18901,"src":"5206:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5206:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18898,"mutability":"mutable","name":"publicKeyY","nameLocation":"5282:10:13","nodeType":"VariableDeclaration","scope":18901,"src":"5274:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18897,"name":"uint256","nodeType":"ElementaryTypeName","src":"5274:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18900,"mutability":"mutable","name":"privateKey","nameLocation":"5347:10:13","nodeType":"VariableDeclaration","scope":18901,"src":"5339:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5339:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5094:6:13","nodeType":"StructDefinition","scope":22388,"src":"5087:277:13","visibility":"public"},{"canonicalName":"VmSafe.FfiResult","documentation":{"id":18902,"nodeType":"StructuredDocumentation","src":"5370:34:13","text":"The result of a `tryFfi` call."},"id":18909,"members":[{"constant":false,"id":18904,"mutability":"mutable","name":"exitCode","nameLocation":"5480:8:13","nodeType":"VariableDeclaration","scope":18909,"src":"5474:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":18903,"name":"int32","nodeType":"ElementaryTypeName","src":"5474:5:13","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":18906,"mutability":"mutable","name":"stdout","nameLocation":"5557:6:13","nodeType":"VariableDeclaration","scope":18909,"src":"5551:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18905,"name":"bytes","nodeType":"ElementaryTypeName","src":"5551:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18908,"mutability":"mutable","name":"stderr","nameLocation":"5609:6:13","nodeType":"VariableDeclaration","scope":18909,"src":"5603:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18907,"name":"bytes","nodeType":"ElementaryTypeName","src":"5603:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5416:9:13","nodeType":"StructDefinition","scope":22388,"src":"5409:213:13","visibility":"public"},{"canonicalName":"VmSafe.ChainInfo","documentation":{"id":18910,"nodeType":"StructuredDocumentation","src":"5628:38:13","text":"Information on the chain and fork."},"id":18915,"members":[{"constant":false,"id":18912,"mutability":"mutable","name":"forkId","nameLocation":"5772:6:13","nodeType":"VariableDeclaration","scope":18915,"src":"5764:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5764:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18914,"mutability":"mutable","name":"chainId","nameLocation":"5841:7:13","nodeType":"VariableDeclaration","scope":18915,"src":"5833:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5833:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5678:9:13","nodeType":"StructDefinition","scope":22388,"src":"5671:184:13","visibility":"public"},{"canonicalName":"VmSafe.AccountAccess","documentation":{"id":18916,"nodeType":"StructuredDocumentation","src":"5861:50:13","text":"The result of a `stopAndReturnStateDiff` call."},"id":18947,"members":[{"constant":false,"id":18919,"mutability":"mutable","name":"chainInfo","nameLocation":"6008:9:13","nodeType":"VariableDeclaration","scope":18947,"src":"5998:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$18915_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":18918,"nodeType":"UserDefinedTypeName","pathNode":{"id":18917,"name":"ChainInfo","nameLocations":["5998:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":18915,"src":"5998:9:13"},"referencedDeclaration":18915,"src":"5998:9:13","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$18915_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":18922,"mutability":"mutable","name":"kind","nameLocation":"6471:4:13","nodeType":"VariableDeclaration","scope":18947,"src":"6453:22:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$18816","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":18921,"nodeType":"UserDefinedTypeName","pathNode":{"id":18920,"name":"AccountAccessKind","nameLocations":["6453:17:13"],"nodeType":"IdentifierPath","referencedDeclaration":18816,"src":"6453:17:13"},"referencedDeclaration":18816,"src":"6453:17:13","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$18816","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":18924,"mutability":"mutable","name":"account","nameLocation":"6648:7:13","nodeType":"VariableDeclaration","scope":18947,"src":"6640:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18923,"name":"address","nodeType":"ElementaryTypeName","src":"6640:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18926,"mutability":"mutable","name":"accessor","nameLocation":"6711:8:13","nodeType":"VariableDeclaration","scope":18947,"src":"6703:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18925,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18928,"mutability":"mutable","name":"initialized","nameLocation":"6922:11:13","nodeType":"VariableDeclaration","scope":18947,"src":"6917:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18927,"name":"bool","nodeType":"ElementaryTypeName","src":"6917:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18930,"mutability":"mutable","name":"oldBalance","nameLocation":"7008:10:13","nodeType":"VariableDeclaration","scope":18947,"src":"7000:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18929,"name":"uint256","nodeType":"ElementaryTypeName","src":"7000:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18932,"mutability":"mutable","name":"newBalance","nameLocation":"7183:10:13","nodeType":"VariableDeclaration","scope":18947,"src":"7175:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18931,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18934,"mutability":"mutable","name":"deployedCode","nameLocation":"7260:12:13","nodeType":"VariableDeclaration","scope":18947,"src":"7254:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18933,"name":"bytes","nodeType":"ElementaryTypeName","src":"7254:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18936,"mutability":"mutable","name":"value","nameLocation":"7344:5:13","nodeType":"VariableDeclaration","scope":18947,"src":"7336:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18935,"name":"uint256","nodeType":"ElementaryTypeName","src":"7336:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18938,"mutability":"mutable","name":"data","nameLocation":"7418:4:13","nodeType":"VariableDeclaration","scope":18947,"src":"7412:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18937,"name":"bytes","nodeType":"ElementaryTypeName","src":"7412:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18940,"mutability":"mutable","name":"reverted","nameLocation":"7513:8:13","nodeType":"VariableDeclaration","scope":18947,"src":"7508:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18939,"name":"bool","nodeType":"ElementaryTypeName","src":"7508:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18944,"mutability":"mutable","name":"storageAccesses","nameLocation":"7635:15:13","nodeType":"VariableDeclaration","scope":18947,"src":"7619:31:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$18961_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":18942,"nodeType":"UserDefinedTypeName","pathNode":{"id":18941,"name":"StorageAccess","nameLocations":["7619:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":18961,"src":"7619:13:13"},"referencedDeclaration":18961,"src":"7619:13:13","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$18961_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":18943,"nodeType":"ArrayTypeName","src":"7619:15:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$18961_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":18946,"mutability":"mutable","name":"depth","nameLocation":"7741:5:13","nodeType":"VariableDeclaration","scope":18947,"src":"7734:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18945,"name":"uint64","nodeType":"ElementaryTypeName","src":"7734:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"5923:13:13","nodeType":"StructDefinition","scope":22388,"src":"5916:1837:13","visibility":"public"},{"canonicalName":"VmSafe.StorageAccess","documentation":{"id":18948,"nodeType":"StructuredDocumentation","src":"7759:51:13","text":"The storage accessed during an `AccountAccess`."},"id":18961,"members":[{"constant":false,"id":18950,"mutability":"mutable","name":"account","nameLocation":"7905:7:13","nodeType":"VariableDeclaration","scope":18961,"src":"7897:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18949,"name":"address","nodeType":"ElementaryTypeName","src":"7897:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18952,"mutability":"mutable","name":"slot","nameLocation":"7969:4:13","nodeType":"VariableDeclaration","scope":18961,"src":"7961:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7961:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18954,"mutability":"mutable","name":"isWrite","nameLocation":"8026:7:13","nodeType":"VariableDeclaration","scope":18961,"src":"8021:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18953,"name":"bool","nodeType":"ElementaryTypeName","src":"8021:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18956,"mutability":"mutable","name":"previousValue","nameLocation":"8094:13:13","nodeType":"VariableDeclaration","scope":18961,"src":"8086:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8086:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18958,"mutability":"mutable","name":"newValue","nameLocation":"8163:8:13","nodeType":"VariableDeclaration","scope":18961,"src":"8155:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8155:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":18960,"mutability":"mutable","name":"reverted","nameLocation":"8225:8:13","nodeType":"VariableDeclaration","scope":18961,"src":"8220:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18959,"name":"bool","nodeType":"ElementaryTypeName","src":"8220:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"7822:13:13","nodeType":"StructDefinition","scope":22388,"src":"7815:425:13","visibility":"public"},{"canonicalName":"VmSafe.Gas","documentation":{"id":18962,"nodeType":"StructuredDocumentation","src":"8246:40:13","text":"Gas used. Returned by `lastCallGas`."},"id":18973,"members":[{"constant":false,"id":18964,"mutability":"mutable","name":"gasLimit","nameLocation":"8357:8:13","nodeType":"VariableDeclaration","scope":18973,"src":"8350:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18963,"name":"uint64","nodeType":"ElementaryTypeName","src":"8350:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18966,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"8413:12:13","nodeType":"VariableDeclaration","scope":18973,"src":"8406:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18965,"name":"uint64","nodeType":"ElementaryTypeName","src":"8406:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18968,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"8594:13:13","nodeType":"VariableDeclaration","scope":18973,"src":"8587:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18967,"name":"uint64","nodeType":"ElementaryTypeName","src":"8587:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18970,"mutability":"mutable","name":"gasRefunded","nameLocation":"8662:11:13","nodeType":"VariableDeclaration","scope":18973,"src":"8656:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":18969,"name":"int64","nodeType":"ElementaryTypeName","src":"8656:5:13","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":18972,"mutability":"mutable","name":"gasRemaining","nameLocation":"8730:12:13","nodeType":"VariableDeclaration","scope":18973,"src":"8723:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18971,"name":"uint64","nodeType":"ElementaryTypeName","src":"8723:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"8298:3:13","nodeType":"StructDefinition","scope":22388,"src":"8291:458:13","visibility":"public"},{"canonicalName":"VmSafe.DebugStep","documentation":{"id":18974,"nodeType":"StructuredDocumentation","src":"8755:52:13","text":"The result of the `stopDebugTraceRecording` call"},"id":18988,"members":[{"constant":false,"id":18977,"mutability":"mutable","name":"stack","nameLocation":"9041:5:13","nodeType":"VariableDeclaration","scope":18988,"src":"9031:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":18975,"name":"uint256","nodeType":"ElementaryTypeName","src":"9031:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":18976,"nodeType":"ArrayTypeName","src":"9031:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":18979,"mutability":"mutable","name":"memoryInput","nameLocation":"9345:11:13","nodeType":"VariableDeclaration","scope":18988,"src":"9339:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":18978,"name":"bytes","nodeType":"ElementaryTypeName","src":"9339:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":18981,"mutability":"mutable","name":"opcode","nameLocation":"9413:6:13","nodeType":"VariableDeclaration","scope":18988,"src":"9407:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":18980,"name":"uint8","nodeType":"ElementaryTypeName","src":"9407:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":18983,"mutability":"mutable","name":"depth","nameLocation":"9475:5:13","nodeType":"VariableDeclaration","scope":18988,"src":"9468:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":18982,"name":"uint64","nodeType":"ElementaryTypeName","src":"9468:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":18985,"mutability":"mutable","name":"isOutOfGas","nameLocation":"9553:10:13","nodeType":"VariableDeclaration","scope":18988,"src":"9548:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18984,"name":"bool","nodeType":"ElementaryTypeName","src":"9548:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18987,"mutability":"mutable","name":"contractAddr","nameLocation":"9641:12:13","nodeType":"VariableDeclaration","scope":18988,"src":"9633:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18986,"name":"address","nodeType":"ElementaryTypeName","src":"9633:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"DebugStep","nameLocation":"8819:9:13","nodeType":"StructDefinition","scope":22388,"src":"8812:848:13","visibility":"public"},{"documentation":{"id":18989,"nodeType":"StructuredDocumentation","src":"9699:99:13","text":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"functionSelector":"7404f1d2","id":18997,"implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"9812:12:13","nodeType":"FunctionDefinition","parameters":{"id":18992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18991,"mutability":"mutable","name":"walletLabel","nameLocation":"9841:11:13","nodeType":"VariableDeclaration","scope":18997,"src":"9825:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":18990,"name":"string","nodeType":"ElementaryTypeName","src":"9825:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9824:29:13"},"returnParameters":{"id":18996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18995,"mutability":"mutable","name":"wallet","nameLocation":"9886:6:13","nodeType":"VariableDeclaration","scope":18997,"src":"9872:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":18994,"nodeType":"UserDefinedTypeName","pathNode":{"id":18993,"name":"Wallet","nameLocations":["9872:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"9872:6:13"},"referencedDeclaration":18901,"src":"9872:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"9871:22:13"},"scope":22388,"src":"9803:91:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":18998,"nodeType":"StructuredDocumentation","src":"9900:67:13","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","id":19006,"implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"9981:12:13","nodeType":"FunctionDefinition","parameters":{"id":19001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19000,"mutability":"mutable","name":"privateKey","nameLocation":"10002:10:13","nodeType":"VariableDeclaration","scope":19006,"src":"9994:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18999,"name":"uint256","nodeType":"ElementaryTypeName","src":"9994:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9993:20:13"},"returnParameters":{"id":19005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19004,"mutability":"mutable","name":"wallet","nameLocation":"10046:6:13","nodeType":"VariableDeclaration","scope":19006,"src":"10032:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":19003,"nodeType":"UserDefinedTypeName","pathNode":{"id":19002,"name":"Wallet","nameLocations":["10032:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"10032:6:13"},"referencedDeclaration":18901,"src":"10032:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"10031:22:13"},"scope":22388,"src":"9972:82:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19007,"nodeType":"StructuredDocumentation","src":"10060:103:13","text":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"functionSelector":"ed7c5462","id":19017,"implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"10177:12:13","nodeType":"FunctionDefinition","parameters":{"id":19012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19009,"mutability":"mutable","name":"privateKey","nameLocation":"10198:10:13","nodeType":"VariableDeclaration","scope":19017,"src":"10190:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19008,"name":"uint256","nodeType":"ElementaryTypeName","src":"10190:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19011,"mutability":"mutable","name":"walletLabel","nameLocation":"10226:11:13","nodeType":"VariableDeclaration","scope":19017,"src":"10210:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19010,"name":"string","nodeType":"ElementaryTypeName","src":"10210:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10189:49:13"},"returnParameters":{"id":19016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19015,"mutability":"mutable","name":"wallet","nameLocation":"10271:6:13","nodeType":"VariableDeclaration","scope":19017,"src":"10257:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":19014,"nodeType":"UserDefinedTypeName","pathNode":{"id":19013,"name":"Wallet","nameLocations":["10257:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"10257:6:13"},"referencedDeclaration":18901,"src":"10257:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"10256:22:13"},"scope":22388,"src":"10168:111:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19018,"nodeType":"StructuredDocumentation","src":"10285:137:13","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","id":19027,"implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10436:9:13","nodeType":"FunctionDefinition","parameters":{"id":19023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19020,"mutability":"mutable","name":"mnemonic","nameLocation":"10462:8:13","nodeType":"VariableDeclaration","scope":19027,"src":"10446:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19019,"name":"string","nodeType":"ElementaryTypeName","src":"10446:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19022,"mutability":"mutable","name":"index","nameLocation":"10479:5:13","nodeType":"VariableDeclaration","scope":19027,"src":"10472:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19021,"name":"uint32","nodeType":"ElementaryTypeName","src":"10472:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10445:40:13"},"returnParameters":{"id":19026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19025,"mutability":"mutable","name":"privateKey","nameLocation":"10517:10:13","nodeType":"VariableDeclaration","scope":19027,"src":"10509:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19024,"name":"uint256","nodeType":"ElementaryTypeName","src":"10509:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10508:20:13"},"scope":22388,"src":"10427:102:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19028,"nodeType":"StructuredDocumentation","src":"10535:118:13","text":"Derive a private key from a provided mnenomic string (or mnenomic file path)\n at `{derivationPath}{index}`."},"functionSelector":"6bcb2c1b","id":19039,"implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10667:9:13","nodeType":"FunctionDefinition","parameters":{"id":19035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19030,"mutability":"mutable","name":"mnemonic","nameLocation":"10693:8:13","nodeType":"VariableDeclaration","scope":19039,"src":"10677:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19029,"name":"string","nodeType":"ElementaryTypeName","src":"10677:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19032,"mutability":"mutable","name":"derivationPath","nameLocation":"10719:14:13","nodeType":"VariableDeclaration","scope":19039,"src":"10703:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19031,"name":"string","nodeType":"ElementaryTypeName","src":"10703:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19034,"mutability":"mutable","name":"index","nameLocation":"10742:5:13","nodeType":"VariableDeclaration","scope":19039,"src":"10735:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19033,"name":"uint32","nodeType":"ElementaryTypeName","src":"10735:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10676:72:13"},"returnParameters":{"id":19038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19037,"mutability":"mutable","name":"privateKey","nameLocation":"10804:10:13","nodeType":"VariableDeclaration","scope":19039,"src":"10796:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19036,"name":"uint256","nodeType":"ElementaryTypeName","src":"10796:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10795:20:13"},"scope":22388,"src":"10658:158:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19040,"nodeType":"StructuredDocumentation","src":"10822:163:13","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","id":19051,"implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10999:9:13","nodeType":"FunctionDefinition","parameters":{"id":19047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19042,"mutability":"mutable","name":"mnemonic","nameLocation":"11025:8:13","nodeType":"VariableDeclaration","scope":19051,"src":"11009:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19041,"name":"string","nodeType":"ElementaryTypeName","src":"11009:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19044,"mutability":"mutable","name":"index","nameLocation":"11042:5:13","nodeType":"VariableDeclaration","scope":19051,"src":"11035:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19043,"name":"uint32","nodeType":"ElementaryTypeName","src":"11035:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":19046,"mutability":"mutable","name":"language","nameLocation":"11065:8:13","nodeType":"VariableDeclaration","scope":19051,"src":"11049:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19045,"name":"string","nodeType":"ElementaryTypeName","src":"11049:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11008:66:13"},"returnParameters":{"id":19050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19049,"mutability":"mutable","name":"privateKey","nameLocation":"11130:10:13","nodeType":"VariableDeclaration","scope":19051,"src":"11122:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19048,"name":"uint256","nodeType":"ElementaryTypeName","src":"11122:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11121:20:13"},"scope":22388,"src":"10990:152:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19052,"nodeType":"StructuredDocumentation","src":"11148:144:13","text":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n at `{derivationPath}{index}`."},"functionSelector":"29233b1f","id":19065,"implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"11306:9:13","nodeType":"FunctionDefinition","parameters":{"id":19061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19054,"mutability":"mutable","name":"mnemonic","nameLocation":"11332:8:13","nodeType":"VariableDeclaration","scope":19065,"src":"11316:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19053,"name":"string","nodeType":"ElementaryTypeName","src":"11316:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19056,"mutability":"mutable","name":"derivationPath","nameLocation":"11358:14:13","nodeType":"VariableDeclaration","scope":19065,"src":"11342:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19055,"name":"string","nodeType":"ElementaryTypeName","src":"11342:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19058,"mutability":"mutable","name":"index","nameLocation":"11381:5:13","nodeType":"VariableDeclaration","scope":19065,"src":"11374:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19057,"name":"uint32","nodeType":"ElementaryTypeName","src":"11374:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":19060,"mutability":"mutable","name":"language","nameLocation":"11404:8:13","nodeType":"VariableDeclaration","scope":19065,"src":"11388:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19059,"name":"string","nodeType":"ElementaryTypeName","src":"11388:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11315:98:13"},"returnParameters":{"id":19064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19063,"mutability":"mutable","name":"privateKey","nameLocation":"11469:10:13","nodeType":"VariableDeclaration","scope":19065,"src":"11461:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19062,"name":"uint256","nodeType":"ElementaryTypeName","src":"11461:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11460:20:13"},"scope":22388,"src":"11297:184:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19066,"nodeType":"StructuredDocumentation","src":"11487:64:13","text":"Derives secp256r1 public key from the provided `privateKey`."},"functionSelector":"c453949e","id":19075,"implemented":false,"kind":"function","modifiers":[],"name":"publicKeyP256","nameLocation":"11565:13:13","nodeType":"FunctionDefinition","parameters":{"id":19069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19068,"mutability":"mutable","name":"privateKey","nameLocation":"11587:10:13","nodeType":"VariableDeclaration","scope":19075,"src":"11579:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19067,"name":"uint256","nodeType":"ElementaryTypeName","src":"11579:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11578:20:13"},"returnParameters":{"id":19074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19071,"mutability":"mutable","name":"publicKeyX","nameLocation":"11630:10:13","nodeType":"VariableDeclaration","scope":19075,"src":"11622:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19070,"name":"uint256","nodeType":"ElementaryTypeName","src":"11622:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19073,"mutability":"mutable","name":"publicKeyY","nameLocation":"11650:10:13","nodeType":"VariableDeclaration","scope":19075,"src":"11642:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19072,"name":"uint256","nodeType":"ElementaryTypeName","src":"11642:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11621:40:13"},"scope":22388,"src":"11556:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19076,"nodeType":"StructuredDocumentation","src":"11668:73:13","text":"Adds a private key to the local forge wallet and returns the address."},"functionSelector":"22100064","id":19083,"implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"11755:11:13","nodeType":"FunctionDefinition","parameters":{"id":19079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19078,"mutability":"mutable","name":"privateKey","nameLocation":"11775:10:13","nodeType":"VariableDeclaration","scope":19083,"src":"11767:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19077,"name":"uint256","nodeType":"ElementaryTypeName","src":"11767:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11766:20:13"},"returnParameters":{"id":19082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19081,"mutability":"mutable","name":"keyAddr","nameLocation":"11813:7:13","nodeType":"VariableDeclaration","scope":19083,"src":"11805:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19080,"name":"address","nodeType":"ElementaryTypeName","src":"11805:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11804:17:13"},"scope":22388,"src":"11746:76:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19084,"nodeType":"StructuredDocumentation","src":"11828:230:13","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","id":19096,"implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"12072:12:13","nodeType":"FunctionDefinition","parameters":{"id":19091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19086,"mutability":"mutable","name":"mnemonic","nameLocation":"12101:8:13","nodeType":"VariableDeclaration","scope":19096,"src":"12085:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19085,"name":"string","nodeType":"ElementaryTypeName","src":"12085:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19088,"mutability":"mutable","name":"derivationPath","nameLocation":"12127:14:13","nodeType":"VariableDeclaration","scope":19096,"src":"12111:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19087,"name":"string","nodeType":"ElementaryTypeName","src":"12111:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19090,"mutability":"mutable","name":"count","nameLocation":"12150:5:13","nodeType":"VariableDeclaration","scope":19096,"src":"12143:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19089,"name":"uint32","nodeType":"ElementaryTypeName","src":"12143:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"12084:72:13"},"returnParameters":{"id":19095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19094,"mutability":"mutable","name":"keyAddrs","nameLocation":"12208:8:13","nodeType":"VariableDeclaration","scope":19096,"src":"12191:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19092,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19093,"nodeType":"ArrayTypeName","src":"12191:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12190:27:13"},"scope":22388,"src":"12063:155:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19097,"nodeType":"StructuredDocumentation","src":"12224:256:13","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","id":19111,"implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"12494:12:13","nodeType":"FunctionDefinition","parameters":{"id":19106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19099,"mutability":"mutable","name":"mnemonic","nameLocation":"12532:8:13","nodeType":"VariableDeclaration","scope":19111,"src":"12516:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19098,"name":"string","nodeType":"ElementaryTypeName","src":"12516:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19101,"mutability":"mutable","name":"derivationPath","nameLocation":"12566:14:13","nodeType":"VariableDeclaration","scope":19111,"src":"12550:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19100,"name":"string","nodeType":"ElementaryTypeName","src":"12550:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19103,"mutability":"mutable","name":"language","nameLocation":"12606:8:13","nodeType":"VariableDeclaration","scope":19111,"src":"12590:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19102,"name":"string","nodeType":"ElementaryTypeName","src":"12590:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19105,"mutability":"mutable","name":"count","nameLocation":"12631:5:13","nodeType":"VariableDeclaration","scope":19111,"src":"12624:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":19104,"name":"uint32","nodeType":"ElementaryTypeName","src":"12624:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"12506:136:13"},"returnParameters":{"id":19110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19109,"mutability":"mutable","name":"keyAddrs","nameLocation":"12678:8:13","nodeType":"VariableDeclaration","scope":19111,"src":"12661:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19107,"name":"address","nodeType":"ElementaryTypeName","src":"12661:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19108,"nodeType":"ArrayTypeName","src":"12661:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12660:27:13"},"scope":22388,"src":"12485:203:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19112,"nodeType":"StructuredDocumentation","src":"12694:268:13","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","id":19124,"implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"12976:11:13","nodeType":"FunctionDefinition","parameters":{"id":19118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19115,"mutability":"mutable","name":"wallet","nameLocation":"13004:6:13","nodeType":"VariableDeclaration","scope":19124,"src":"12988:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":19114,"nodeType":"UserDefinedTypeName","pathNode":{"id":19113,"name":"Wallet","nameLocations":["12988:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"12988:6:13"},"referencedDeclaration":18901,"src":"12988:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":19117,"mutability":"mutable","name":"digest","nameLocation":"13020:6:13","nodeType":"VariableDeclaration","scope":19124,"src":"13012:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13012:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12987:40:13"},"returnParameters":{"id":19123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19120,"mutability":"mutable","name":"r","nameLocation":"13054:1:13","nodeType":"VariableDeclaration","scope":19124,"src":"13046:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13046:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19122,"mutability":"mutable","name":"vs","nameLocation":"13065:2:13","nodeType":"VariableDeclaration","scope":19124,"src":"13057:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13057:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13045:23:13"},"scope":22388,"src":"12967:102:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19125,"nodeType":"StructuredDocumentation","src":"13075:300:13","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","id":19136,"implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"13389:11:13","nodeType":"FunctionDefinition","parameters":{"id":19130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19127,"mutability":"mutable","name":"privateKey","nameLocation":"13409:10:13","nodeType":"VariableDeclaration","scope":19136,"src":"13401:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19126,"name":"uint256","nodeType":"ElementaryTypeName","src":"13401:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19129,"mutability":"mutable","name":"digest","nameLocation":"13429:6:13","nodeType":"VariableDeclaration","scope":19136,"src":"13421:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13421:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13400:36:13"},"returnParameters":{"id":19135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19132,"mutability":"mutable","name":"r","nameLocation":"13468:1:13","nodeType":"VariableDeclaration","scope":19136,"src":"13460:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13460:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19134,"mutability":"mutable","name":"vs","nameLocation":"13479:2:13","nodeType":"VariableDeclaration","scope":19136,"src":"13471:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13471:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13459:23:13"},"scope":22388,"src":"13380:103:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19137,"nodeType":"StructuredDocumentation","src":"13489:665:13","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","id":19146,"implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"14168:11:13","nodeType":"FunctionDefinition","parameters":{"id":19140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19139,"mutability":"mutable","name":"digest","nameLocation":"14188:6:13","nodeType":"VariableDeclaration","scope":19146,"src":"14180:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14180:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14179:16:13"},"returnParameters":{"id":19145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19142,"mutability":"mutable","name":"r","nameLocation":"14227:1:13","nodeType":"VariableDeclaration","scope":19146,"src":"14219:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14219:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19144,"mutability":"mutable","name":"vs","nameLocation":"14238:2:13","nodeType":"VariableDeclaration","scope":19146,"src":"14230:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14230:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14218:23:13"},"scope":22388,"src":"14159:83:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19147,"nodeType":"StructuredDocumentation","src":"14248:403:13","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","id":19158,"implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"14665:11:13","nodeType":"FunctionDefinition","parameters":{"id":19152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19149,"mutability":"mutable","name":"signer","nameLocation":"14685:6:13","nodeType":"VariableDeclaration","scope":19158,"src":"14677:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19148,"name":"address","nodeType":"ElementaryTypeName","src":"14677:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19151,"mutability":"mutable","name":"digest","nameLocation":"14701:6:13","nodeType":"VariableDeclaration","scope":19158,"src":"14693:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14693:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14676:32:13"},"returnParameters":{"id":19157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19154,"mutability":"mutable","name":"r","nameLocation":"14740:1:13","nodeType":"VariableDeclaration","scope":19158,"src":"14732:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14732:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19156,"mutability":"mutable","name":"vs","nameLocation":"14751:2:13","nodeType":"VariableDeclaration","scope":19158,"src":"14743:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14743:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14731:23:13"},"scope":22388,"src":"14656:99:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19159,"nodeType":"StructuredDocumentation","src":"14761:63:13","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","id":19170,"implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"14838:8:13","nodeType":"FunctionDefinition","parameters":{"id":19164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19161,"mutability":"mutable","name":"privateKey","nameLocation":"14855:10:13","nodeType":"VariableDeclaration","scope":19170,"src":"14847:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19160,"name":"uint256","nodeType":"ElementaryTypeName","src":"14847:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19163,"mutability":"mutable","name":"digest","nameLocation":"14875:6:13","nodeType":"VariableDeclaration","scope":19170,"src":"14867:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14867:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14846:36:13"},"returnParameters":{"id":19169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19166,"mutability":"mutable","name":"r","nameLocation":"14914:1:13","nodeType":"VariableDeclaration","scope":19170,"src":"14906:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14906:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19168,"mutability":"mutable","name":"s","nameLocation":"14925:1:13","nodeType":"VariableDeclaration","scope":19170,"src":"14917:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14917:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14905:22:13"},"scope":22388,"src":"14829:99:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19171,"nodeType":"StructuredDocumentation","src":"14934:31:13","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","id":19185,"implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"14979:4:13","nodeType":"FunctionDefinition","parameters":{"id":19177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19174,"mutability":"mutable","name":"wallet","nameLocation":"15000:6:13","nodeType":"VariableDeclaration","scope":19185,"src":"14984:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":19173,"nodeType":"UserDefinedTypeName","pathNode":{"id":19172,"name":"Wallet","nameLocations":["14984:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"14984:6:13"},"referencedDeclaration":18901,"src":"14984:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":19176,"mutability":"mutable","name":"digest","nameLocation":"15016:6:13","nodeType":"VariableDeclaration","scope":19185,"src":"15008:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15008:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14983:40:13"},"returnParameters":{"id":19184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19179,"mutability":"mutable","name":"v","nameLocation":"15048:1:13","nodeType":"VariableDeclaration","scope":19185,"src":"15042:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19178,"name":"uint8","nodeType":"ElementaryTypeName","src":"15042:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":19181,"mutability":"mutable","name":"r","nameLocation":"15059:1:13","nodeType":"VariableDeclaration","scope":19185,"src":"15051:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15051:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19183,"mutability":"mutable","name":"s","nameLocation":"15070:1:13","nodeType":"VariableDeclaration","scope":19185,"src":"15062:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15062:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15041:31:13"},"scope":22388,"src":"14970:103:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19186,"nodeType":"StructuredDocumentation","src":"15079:63:13","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","id":19199,"implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"15156:4:13","nodeType":"FunctionDefinition","parameters":{"id":19191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19188,"mutability":"mutable","name":"privateKey","nameLocation":"15169:10:13","nodeType":"VariableDeclaration","scope":19199,"src":"15161:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19187,"name":"uint256","nodeType":"ElementaryTypeName","src":"15161:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19190,"mutability":"mutable","name":"digest","nameLocation":"15189:6:13","nodeType":"VariableDeclaration","scope":19199,"src":"15181:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15181:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15160:36:13"},"returnParameters":{"id":19198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19193,"mutability":"mutable","name":"v","nameLocation":"15226:1:13","nodeType":"VariableDeclaration","scope":19199,"src":"15220:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19192,"name":"uint8","nodeType":"ElementaryTypeName","src":"15220:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":19195,"mutability":"mutable","name":"r","nameLocation":"15237:1:13","nodeType":"VariableDeclaration","scope":19199,"src":"15229:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15229:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19197,"mutability":"mutable","name":"s","nameLocation":"15248:1:13","nodeType":"VariableDeclaration","scope":19199,"src":"15240:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15240:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15219:31:13"},"scope":22388,"src":"15147:104:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19200,"nodeType":"StructuredDocumentation","src":"15257:428:13","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","id":19211,"implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"15699:4:13","nodeType":"FunctionDefinition","parameters":{"id":19203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19202,"mutability":"mutable","name":"digest","nameLocation":"15712:6:13","nodeType":"VariableDeclaration","scope":19211,"src":"15704:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15704:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15703:16:13"},"returnParameters":{"id":19210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19205,"mutability":"mutable","name":"v","nameLocation":"15749:1:13","nodeType":"VariableDeclaration","scope":19211,"src":"15743:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19204,"name":"uint8","nodeType":"ElementaryTypeName","src":"15743:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":19207,"mutability":"mutable","name":"r","nameLocation":"15760:1:13","nodeType":"VariableDeclaration","scope":19211,"src":"15752:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15752:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19209,"mutability":"mutable","name":"s","nameLocation":"15771:1:13","nodeType":"VariableDeclaration","scope":19211,"src":"15763:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15763:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15742:31:13"},"scope":22388,"src":"15690:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19212,"nodeType":"StructuredDocumentation","src":"15780:166:13","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","id":19225,"implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"15960:4:13","nodeType":"FunctionDefinition","parameters":{"id":19217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19214,"mutability":"mutable","name":"signer","nameLocation":"15973:6:13","nodeType":"VariableDeclaration","scope":19225,"src":"15965:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19213,"name":"address","nodeType":"ElementaryTypeName","src":"15965:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19216,"mutability":"mutable","name":"digest","nameLocation":"15989:6:13","nodeType":"VariableDeclaration","scope":19225,"src":"15981:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15981:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15964:32:13"},"returnParameters":{"id":19224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19219,"mutability":"mutable","name":"v","nameLocation":"16026:1:13","nodeType":"VariableDeclaration","scope":19225,"src":"16020:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":19218,"name":"uint8","nodeType":"ElementaryTypeName","src":"16020:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":19221,"mutability":"mutable","name":"r","nameLocation":"16037:1:13","nodeType":"VariableDeclaration","scope":19225,"src":"16029:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16029:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19223,"mutability":"mutable","name":"s","nameLocation":"16048:1:13","nodeType":"VariableDeclaration","scope":19225,"src":"16040:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16040:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16019:31:13"},"scope":22388,"src":"15951:100:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19226,"nodeType":"StructuredDocumentation","src":"16095:138:13","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","id":19233,"implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"16247:10:13","nodeType":"FunctionDefinition","parameters":{"id":19229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19228,"mutability":"mutable","name":"name","nameLocation":"16274:4:13","nodeType":"VariableDeclaration","scope":19233,"src":"16258:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19227,"name":"string","nodeType":"ElementaryTypeName","src":"16258:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16257:22:13"},"returnParameters":{"id":19232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19231,"mutability":"mutable","name":"value","nameLocation":"16311:5:13","nodeType":"VariableDeclaration","scope":19233,"src":"16303:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19230,"name":"address","nodeType":"ElementaryTypeName","src":"16303:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16302:15:13"},"scope":22388,"src":"16238:80:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19234,"nodeType":"StructuredDocumentation","src":"16324:172:13","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","id":19244,"implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"16510:10:13","nodeType":"FunctionDefinition","parameters":{"id":19239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19236,"mutability":"mutable","name":"name","nameLocation":"16537:4:13","nodeType":"VariableDeclaration","scope":19244,"src":"16521:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19235,"name":"string","nodeType":"ElementaryTypeName","src":"16521:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19238,"mutability":"mutable","name":"delim","nameLocation":"16559:5:13","nodeType":"VariableDeclaration","scope":19244,"src":"16543:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19237,"name":"string","nodeType":"ElementaryTypeName","src":"16543:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16520:45:13"},"returnParameters":{"id":19243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19242,"mutability":"mutable","name":"value","nameLocation":"16606:5:13","nodeType":"VariableDeclaration","scope":19244,"src":"16589:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19240,"name":"address","nodeType":"ElementaryTypeName","src":"16589:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19241,"nodeType":"ArrayTypeName","src":"16589:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16588:24:13"},"scope":22388,"src":"16501:112:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19245,"nodeType":"StructuredDocumentation","src":"16619:135:13","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","id":19252,"implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"16768:7:13","nodeType":"FunctionDefinition","parameters":{"id":19248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19247,"mutability":"mutable","name":"name","nameLocation":"16792:4:13","nodeType":"VariableDeclaration","scope":19252,"src":"16776:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19246,"name":"string","nodeType":"ElementaryTypeName","src":"16776:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16775:22:13"},"returnParameters":{"id":19251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19250,"mutability":"mutable","name":"value","nameLocation":"16826:5:13","nodeType":"VariableDeclaration","scope":19252,"src":"16821:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19249,"name":"bool","nodeType":"ElementaryTypeName","src":"16821:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16820:12:13"},"scope":22388,"src":"16759:74:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19253,"nodeType":"StructuredDocumentation","src":"16839:169:13","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","id":19263,"implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"17022:7:13","nodeType":"FunctionDefinition","parameters":{"id":19258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19255,"mutability":"mutable","name":"name","nameLocation":"17046:4:13","nodeType":"VariableDeclaration","scope":19263,"src":"17030:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19254,"name":"string","nodeType":"ElementaryTypeName","src":"17030:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19257,"mutability":"mutable","name":"delim","nameLocation":"17068:5:13","nodeType":"VariableDeclaration","scope":19263,"src":"17052:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19256,"name":"string","nodeType":"ElementaryTypeName","src":"17052:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17029:45:13"},"returnParameters":{"id":19262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19261,"mutability":"mutable","name":"value","nameLocation":"17112:5:13","nodeType":"VariableDeclaration","scope":19263,"src":"17098:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":19259,"name":"bool","nodeType":"ElementaryTypeName","src":"17098:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19260,"nodeType":"ArrayTypeName","src":"17098:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"17097:21:13"},"scope":22388,"src":"17013:106:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19264,"nodeType":"StructuredDocumentation","src":"17125:138:13","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","id":19271,"implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"17277:10:13","nodeType":"FunctionDefinition","parameters":{"id":19267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19266,"mutability":"mutable","name":"name","nameLocation":"17304:4:13","nodeType":"VariableDeclaration","scope":19271,"src":"17288:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19265,"name":"string","nodeType":"ElementaryTypeName","src":"17288:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17287:22:13"},"returnParameters":{"id":19270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19269,"mutability":"mutable","name":"value","nameLocation":"17341:5:13","nodeType":"VariableDeclaration","scope":19271,"src":"17333:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17333:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17332:15:13"},"scope":22388,"src":"17268:80:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19272,"nodeType":"StructuredDocumentation","src":"17354:172:13","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","id":19282,"implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"17540:10:13","nodeType":"FunctionDefinition","parameters":{"id":19277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19274,"mutability":"mutable","name":"name","nameLocation":"17567:4:13","nodeType":"VariableDeclaration","scope":19282,"src":"17551:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19273,"name":"string","nodeType":"ElementaryTypeName","src":"17551:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19276,"mutability":"mutable","name":"delim","nameLocation":"17589:5:13","nodeType":"VariableDeclaration","scope":19282,"src":"17573:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19275,"name":"string","nodeType":"ElementaryTypeName","src":"17573:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17550:45:13"},"returnParameters":{"id":19281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19280,"mutability":"mutable","name":"value","nameLocation":"17636:5:13","nodeType":"VariableDeclaration","scope":19282,"src":"17619:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17619:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19279,"nodeType":"ArrayTypeName","src":"17619:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17618:24:13"},"scope":22388,"src":"17531:112:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19283,"nodeType":"StructuredDocumentation","src":"17649:136:13","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","id":19290,"implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"17799:8:13","nodeType":"FunctionDefinition","parameters":{"id":19286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19285,"mutability":"mutable","name":"name","nameLocation":"17824:4:13","nodeType":"VariableDeclaration","scope":19290,"src":"17808:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19284,"name":"string","nodeType":"ElementaryTypeName","src":"17808:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17807:22:13"},"returnParameters":{"id":19289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19288,"mutability":"mutable","name":"value","nameLocation":"17866:5:13","nodeType":"VariableDeclaration","scope":19290,"src":"17853:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19287,"name":"bytes","nodeType":"ElementaryTypeName","src":"17853:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17852:20:13"},"scope":22388,"src":"17790:83:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19291,"nodeType":"StructuredDocumentation","src":"17879:170:13","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","id":19301,"implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"18063:8:13","nodeType":"FunctionDefinition","parameters":{"id":19296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19293,"mutability":"mutable","name":"name","nameLocation":"18088:4:13","nodeType":"VariableDeclaration","scope":19301,"src":"18072:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19292,"name":"string","nodeType":"ElementaryTypeName","src":"18072:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19295,"mutability":"mutable","name":"delim","nameLocation":"18110:5:13","nodeType":"VariableDeclaration","scope":19301,"src":"18094:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19294,"name":"string","nodeType":"ElementaryTypeName","src":"18094:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18071:45:13"},"returnParameters":{"id":19300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19299,"mutability":"mutable","name":"value","nameLocation":"18155:5:13","nodeType":"VariableDeclaration","scope":19301,"src":"18140:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":19297,"name":"bytes","nodeType":"ElementaryTypeName","src":"18140:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":19298,"nodeType":"ArrayTypeName","src":"18140:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18139:22:13"},"scope":22388,"src":"18054:108:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19302,"nodeType":"StructuredDocumentation","src":"18168:91:13","text":"Gets the environment variable `name` and returns true if it exists, else returns false."},"functionSelector":"ce8365f9","id":19309,"implemented":false,"kind":"function","modifiers":[],"name":"envExists","nameLocation":"18273:9:13","nodeType":"FunctionDefinition","parameters":{"id":19305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19304,"mutability":"mutable","name":"name","nameLocation":"18299:4:13","nodeType":"VariableDeclaration","scope":19309,"src":"18283:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19303,"name":"string","nodeType":"ElementaryTypeName","src":"18283:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18282:22:13"},"returnParameters":{"id":19308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19307,"mutability":"mutable","name":"result","nameLocation":"18333:6:13","nodeType":"VariableDeclaration","scope":19309,"src":"18328:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19306,"name":"bool","nodeType":"ElementaryTypeName","src":"18328:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18327:13:13"},"scope":22388,"src":"18264:77:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19310,"nodeType":"StructuredDocumentation","src":"18347:137:13","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","id":19317,"implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"18498:6:13","nodeType":"FunctionDefinition","parameters":{"id":19313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19312,"mutability":"mutable","name":"name","nameLocation":"18521:4:13","nodeType":"VariableDeclaration","scope":19317,"src":"18505:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19311,"name":"string","nodeType":"ElementaryTypeName","src":"18505:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18504:22:13"},"returnParameters":{"id":19316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19315,"mutability":"mutable","name":"value","nameLocation":"18557:5:13","nodeType":"VariableDeclaration","scope":19317,"src":"18550:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":19314,"name":"int256","nodeType":"ElementaryTypeName","src":"18550:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18549:14:13"},"scope":22388,"src":"18489:75:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19318,"nodeType":"StructuredDocumentation","src":"18570:171:13","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","id":19328,"implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"18755:6:13","nodeType":"FunctionDefinition","parameters":{"id":19323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19320,"mutability":"mutable","name":"name","nameLocation":"18778:4:13","nodeType":"VariableDeclaration","scope":19328,"src":"18762:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19319,"name":"string","nodeType":"ElementaryTypeName","src":"18762:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19322,"mutability":"mutable","name":"delim","nameLocation":"18800:5:13","nodeType":"VariableDeclaration","scope":19328,"src":"18784:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19321,"name":"string","nodeType":"ElementaryTypeName","src":"18784:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18761:45:13"},"returnParameters":{"id":19327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19326,"mutability":"mutable","name":"value","nameLocation":"18846:5:13","nodeType":"VariableDeclaration","scope":19328,"src":"18830:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":19324,"name":"int256","nodeType":"ElementaryTypeName","src":"18830:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":19325,"nodeType":"ArrayTypeName","src":"18830:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"18829:23:13"},"scope":22388,"src":"18746:107:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19329,"nodeType":"StructuredDocumentation","src":"18859:180:13","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","id":19338,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"19053:5:13","nodeType":"FunctionDefinition","parameters":{"id":19334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19331,"mutability":"mutable","name":"name","nameLocation":"19075:4:13","nodeType":"VariableDeclaration","scope":19338,"src":"19059:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19330,"name":"string","nodeType":"ElementaryTypeName","src":"19059:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19333,"mutability":"mutable","name":"defaultValue","nameLocation":"19086:12:13","nodeType":"VariableDeclaration","scope":19338,"src":"19081:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19332,"name":"bool","nodeType":"ElementaryTypeName","src":"19081:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19058:41:13"},"returnParameters":{"id":19337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19336,"mutability":"mutable","name":"value","nameLocation":"19128:5:13","nodeType":"VariableDeclaration","scope":19338,"src":"19123:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19335,"name":"bool","nodeType":"ElementaryTypeName","src":"19123:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19122:12:13"},"scope":22388,"src":"19044:91:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19339,"nodeType":"StructuredDocumentation","src":"19141:183:13","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","id":19348,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"19338:5:13","nodeType":"FunctionDefinition","parameters":{"id":19344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19341,"mutability":"mutable","name":"name","nameLocation":"19360:4:13","nodeType":"VariableDeclaration","scope":19348,"src":"19344:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19340,"name":"string","nodeType":"ElementaryTypeName","src":"19344:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19343,"mutability":"mutable","name":"defaultValue","nameLocation":"19374:12:13","nodeType":"VariableDeclaration","scope":19348,"src":"19366:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19342,"name":"uint256","nodeType":"ElementaryTypeName","src":"19366:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19343:44:13"},"returnParameters":{"id":19347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19346,"mutability":"mutable","name":"value","nameLocation":"19419:5:13","nodeType":"VariableDeclaration","scope":19348,"src":"19411:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19345,"name":"uint256","nodeType":"ElementaryTypeName","src":"19411:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19410:15:13"},"scope":22388,"src":"19329:97:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19349,"nodeType":"StructuredDocumentation","src":"19432:217:13","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","id":19362,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"19663:5:13","nodeType":"FunctionDefinition","parameters":{"id":19357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19351,"mutability":"mutable","name":"name","nameLocation":"19685:4:13","nodeType":"VariableDeclaration","scope":19362,"src":"19669:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19350,"name":"string","nodeType":"ElementaryTypeName","src":"19669:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19353,"mutability":"mutable","name":"delim","nameLocation":"19707:5:13","nodeType":"VariableDeclaration","scope":19362,"src":"19691:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19352,"name":"string","nodeType":"ElementaryTypeName","src":"19691:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19356,"mutability":"mutable","name":"defaultValue","nameLocation":"19733:12:13","nodeType":"VariableDeclaration","scope":19362,"src":"19714:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19354,"name":"address","nodeType":"ElementaryTypeName","src":"19714:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19355,"nodeType":"ArrayTypeName","src":"19714:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"19668:78:13"},"returnParameters":{"id":19361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19360,"mutability":"mutable","name":"value","nameLocation":"19811:5:13","nodeType":"VariableDeclaration","scope":19362,"src":"19794:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":19358,"name":"address","nodeType":"ElementaryTypeName","src":"19794:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":19359,"nodeType":"ArrayTypeName","src":"19794:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"19793:24:13"},"scope":22388,"src":"19654:164:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19363,"nodeType":"StructuredDocumentation","src":"19824:217:13","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","id":19376,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"20055:5:13","nodeType":"FunctionDefinition","parameters":{"id":19371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19365,"mutability":"mutable","name":"name","nameLocation":"20077:4:13","nodeType":"VariableDeclaration","scope":19376,"src":"20061:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19364,"name":"string","nodeType":"ElementaryTypeName","src":"20061:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19367,"mutability":"mutable","name":"delim","nameLocation":"20099:5:13","nodeType":"VariableDeclaration","scope":19376,"src":"20083:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19366,"name":"string","nodeType":"ElementaryTypeName","src":"20083:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19370,"mutability":"mutable","name":"defaultValue","nameLocation":"20125:12:13","nodeType":"VariableDeclaration","scope":19376,"src":"20106:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20106:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19369,"nodeType":"ArrayTypeName","src":"20106:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"20060:78:13"},"returnParameters":{"id":19375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19374,"mutability":"mutable","name":"value","nameLocation":"20203:5:13","nodeType":"VariableDeclaration","scope":19376,"src":"20186:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20186:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19373,"nodeType":"ArrayTypeName","src":"20186:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"20185:24:13"},"scope":22388,"src":"20046:164:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19377,"nodeType":"StructuredDocumentation","src":"20216:216:13","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","id":19390,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"20446:5:13","nodeType":"FunctionDefinition","parameters":{"id":19385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19379,"mutability":"mutable","name":"name","nameLocation":"20468:4:13","nodeType":"VariableDeclaration","scope":19390,"src":"20452:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19378,"name":"string","nodeType":"ElementaryTypeName","src":"20452:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19381,"mutability":"mutable","name":"delim","nameLocation":"20490:5:13","nodeType":"VariableDeclaration","scope":19390,"src":"20474:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19380,"name":"string","nodeType":"ElementaryTypeName","src":"20474:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19384,"mutability":"mutable","name":"defaultValue","nameLocation":"20515:12:13","nodeType":"VariableDeclaration","scope":19390,"src":"20497:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":19382,"name":"string","nodeType":"ElementaryTypeName","src":"20497:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":19383,"nodeType":"ArrayTypeName","src":"20497:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"20451:77:13"},"returnParameters":{"id":19389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19388,"mutability":"mutable","name":"value","nameLocation":"20592:5:13","nodeType":"VariableDeclaration","scope":19390,"src":"20576:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":19386,"name":"string","nodeType":"ElementaryTypeName","src":"20576:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":19387,"nodeType":"ArrayTypeName","src":"20576:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"20575:23:13"},"scope":22388,"src":"20437:162:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19391,"nodeType":"StructuredDocumentation","src":"20605:215:13","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","id":19404,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"20834:5:13","nodeType":"FunctionDefinition","parameters":{"id":19399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19393,"mutability":"mutable","name":"name","nameLocation":"20856:4:13","nodeType":"VariableDeclaration","scope":19404,"src":"20840:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19392,"name":"string","nodeType":"ElementaryTypeName","src":"20840:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19395,"mutability":"mutable","name":"delim","nameLocation":"20878:5:13","nodeType":"VariableDeclaration","scope":19404,"src":"20862:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19394,"name":"string","nodeType":"ElementaryTypeName","src":"20862:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19398,"mutability":"mutable","name":"defaultValue","nameLocation":"20902:12:13","nodeType":"VariableDeclaration","scope":19404,"src":"20885:29:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":19396,"name":"bytes","nodeType":"ElementaryTypeName","src":"20885:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":19397,"nodeType":"ArrayTypeName","src":"20885:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20839:76:13"},"returnParameters":{"id":19403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19402,"mutability":"mutable","name":"value","nameLocation":"20978:5:13","nodeType":"VariableDeclaration","scope":19404,"src":"20963:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":19400,"name":"bytes","nodeType":"ElementaryTypeName","src":"20963:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":19401,"nodeType":"ArrayTypeName","src":"20963:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20962:22:13"},"scope":22388,"src":"20825:160:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19405,"nodeType":"StructuredDocumentation","src":"20991:182:13","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","id":19414,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"21187:5:13","nodeType":"FunctionDefinition","parameters":{"id":19410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19407,"mutability":"mutable","name":"name","nameLocation":"21209:4:13","nodeType":"VariableDeclaration","scope":19414,"src":"21193:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19406,"name":"string","nodeType":"ElementaryTypeName","src":"21193:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19409,"mutability":"mutable","name":"defaultValue","nameLocation":"21222:12:13","nodeType":"VariableDeclaration","scope":19414,"src":"21215:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":19408,"name":"int256","nodeType":"ElementaryTypeName","src":"21215:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21192:43:13"},"returnParameters":{"id":19413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19412,"mutability":"mutable","name":"value","nameLocation":"21266:5:13","nodeType":"VariableDeclaration","scope":19414,"src":"21259:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":19411,"name":"int256","nodeType":"ElementaryTypeName","src":"21259:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21258:14:13"},"scope":22388,"src":"21178:95:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19415,"nodeType":"StructuredDocumentation","src":"21279:183:13","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","id":19424,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"21476:5:13","nodeType":"FunctionDefinition","parameters":{"id":19420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19417,"mutability":"mutable","name":"name","nameLocation":"21498:4:13","nodeType":"VariableDeclaration","scope":19424,"src":"21482:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19416,"name":"string","nodeType":"ElementaryTypeName","src":"21482:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19419,"mutability":"mutable","name":"defaultValue","nameLocation":"21512:12:13","nodeType":"VariableDeclaration","scope":19424,"src":"21504:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19418,"name":"address","nodeType":"ElementaryTypeName","src":"21504:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21481:44:13"},"returnParameters":{"id":19423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19422,"mutability":"mutable","name":"value","nameLocation":"21557:5:13","nodeType":"VariableDeclaration","scope":19424,"src":"21549:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19421,"name":"address","nodeType":"ElementaryTypeName","src":"21549:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21548:15:13"},"scope":22388,"src":"21467:97:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19425,"nodeType":"StructuredDocumentation","src":"21570:183:13","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","id":19434,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"21767:5:13","nodeType":"FunctionDefinition","parameters":{"id":19430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19427,"mutability":"mutable","name":"name","nameLocation":"21789:4:13","nodeType":"VariableDeclaration","scope":19434,"src":"21773:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19426,"name":"string","nodeType":"ElementaryTypeName","src":"21773:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19429,"mutability":"mutable","name":"defaultValue","nameLocation":"21803:12:13","nodeType":"VariableDeclaration","scope":19434,"src":"21795:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21795:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21772:44:13"},"returnParameters":{"id":19433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19432,"mutability":"mutable","name":"value","nameLocation":"21848:5:13","nodeType":"VariableDeclaration","scope":19434,"src":"21840:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21840:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21839:15:13"},"scope":22388,"src":"21758:97:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19435,"nodeType":"StructuredDocumentation","src":"21861:182:13","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","id":19444,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22057:5:13","nodeType":"FunctionDefinition","parameters":{"id":19440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19437,"mutability":"mutable","name":"name","nameLocation":"22079:4:13","nodeType":"VariableDeclaration","scope":19444,"src":"22063:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19436,"name":"string","nodeType":"ElementaryTypeName","src":"22063:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19439,"mutability":"mutable","name":"defaultValue","nameLocation":"22101:12:13","nodeType":"VariableDeclaration","scope":19444,"src":"22085:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19438,"name":"string","nodeType":"ElementaryTypeName","src":"22085:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22062:52:13"},"returnParameters":{"id":19443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19442,"mutability":"mutable","name":"value","nameLocation":"22152:5:13","nodeType":"VariableDeclaration","scope":19444,"src":"22138:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19441,"name":"string","nodeType":"ElementaryTypeName","src":"22138:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22137:21:13"},"scope":22388,"src":"22048:111:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19445,"nodeType":"StructuredDocumentation","src":"22165:181:13","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","id":19454,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22360:5:13","nodeType":"FunctionDefinition","parameters":{"id":19450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19447,"mutability":"mutable","name":"name","nameLocation":"22382:4:13","nodeType":"VariableDeclaration","scope":19454,"src":"22366:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19446,"name":"string","nodeType":"ElementaryTypeName","src":"22366:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19449,"mutability":"mutable","name":"defaultValue","nameLocation":"22403:12:13","nodeType":"VariableDeclaration","scope":19454,"src":"22388:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":19448,"name":"bytes","nodeType":"ElementaryTypeName","src":"22388:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22365:51:13"},"returnParameters":{"id":19453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19452,"mutability":"mutable","name":"value","nameLocation":"22453:5:13","nodeType":"VariableDeclaration","scope":19454,"src":"22440:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19451,"name":"bytes","nodeType":"ElementaryTypeName","src":"22440:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22439:20:13"},"scope":22388,"src":"22351:109:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19455,"nodeType":"StructuredDocumentation","src":"22466:214:13","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","id":19468,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22694:5:13","nodeType":"FunctionDefinition","parameters":{"id":19463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19457,"mutability":"mutable","name":"name","nameLocation":"22716:4:13","nodeType":"VariableDeclaration","scope":19468,"src":"22700:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19456,"name":"string","nodeType":"ElementaryTypeName","src":"22700:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19459,"mutability":"mutable","name":"delim","nameLocation":"22738:5:13","nodeType":"VariableDeclaration","scope":19468,"src":"22722:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19458,"name":"string","nodeType":"ElementaryTypeName","src":"22722:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19462,"mutability":"mutable","name":"defaultValue","nameLocation":"22761:12:13","nodeType":"VariableDeclaration","scope":19468,"src":"22745:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":19460,"name":"bool","nodeType":"ElementaryTypeName","src":"22745:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19461,"nodeType":"ArrayTypeName","src":"22745:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"22699:75:13"},"returnParameters":{"id":19467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19466,"mutability":"mutable","name":"value","nameLocation":"22836:5:13","nodeType":"VariableDeclaration","scope":19468,"src":"22822:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":19464,"name":"bool","nodeType":"ElementaryTypeName","src":"22822:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":19465,"nodeType":"ArrayTypeName","src":"22822:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"22821:21:13"},"scope":22388,"src":"22685:158:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19469,"nodeType":"StructuredDocumentation","src":"22849:217:13","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","id":19482,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23080:5:13","nodeType":"FunctionDefinition","parameters":{"id":19477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19471,"mutability":"mutable","name":"name","nameLocation":"23102:4:13","nodeType":"VariableDeclaration","scope":19482,"src":"23086:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19470,"name":"string","nodeType":"ElementaryTypeName","src":"23086:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19473,"mutability":"mutable","name":"delim","nameLocation":"23124:5:13","nodeType":"VariableDeclaration","scope":19482,"src":"23108:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19472,"name":"string","nodeType":"ElementaryTypeName","src":"23108:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19476,"mutability":"mutable","name":"defaultValue","nameLocation":"23150:12:13","nodeType":"VariableDeclaration","scope":19482,"src":"23131:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19474,"name":"uint256","nodeType":"ElementaryTypeName","src":"23131:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19475,"nodeType":"ArrayTypeName","src":"23131:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"23085:78:13"},"returnParameters":{"id":19481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19480,"mutability":"mutable","name":"value","nameLocation":"23228:5:13","nodeType":"VariableDeclaration","scope":19482,"src":"23211:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19478,"name":"uint256","nodeType":"ElementaryTypeName","src":"23211:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19479,"nodeType":"ArrayTypeName","src":"23211:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"23210:24:13"},"scope":22388,"src":"23071:164:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19483,"nodeType":"StructuredDocumentation","src":"23241:216:13","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","id":19496,"implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23471:5:13","nodeType":"FunctionDefinition","parameters":{"id":19491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19485,"mutability":"mutable","name":"name","nameLocation":"23493:4:13","nodeType":"VariableDeclaration","scope":19496,"src":"23477:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19484,"name":"string","nodeType":"ElementaryTypeName","src":"23477:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19487,"mutability":"mutable","name":"delim","nameLocation":"23515:5:13","nodeType":"VariableDeclaration","scope":19496,"src":"23499:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19486,"name":"string","nodeType":"ElementaryTypeName","src":"23499:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19490,"mutability":"mutable","name":"defaultValue","nameLocation":"23540:12:13","nodeType":"VariableDeclaration","scope":19496,"src":"23522:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":19488,"name":"int256","nodeType":"ElementaryTypeName","src":"23522:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":19489,"nodeType":"ArrayTypeName","src":"23522:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"23476:77:13"},"returnParameters":{"id":19495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19494,"mutability":"mutable","name":"value","nameLocation":"23617:5:13","nodeType":"VariableDeclaration","scope":19496,"src":"23601:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":19492,"name":"int256","nodeType":"ElementaryTypeName","src":"23601:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":19493,"nodeType":"ArrayTypeName","src":"23601:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"23600:23:13"},"scope":22388,"src":"23462:162:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19497,"nodeType":"StructuredDocumentation","src":"23630:137:13","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","id":19504,"implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"23781:9:13","nodeType":"FunctionDefinition","parameters":{"id":19500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19499,"mutability":"mutable","name":"name","nameLocation":"23807:4:13","nodeType":"VariableDeclaration","scope":19504,"src":"23791:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19498,"name":"string","nodeType":"ElementaryTypeName","src":"23791:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23790:22:13"},"returnParameters":{"id":19503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19502,"mutability":"mutable","name":"value","nameLocation":"23850:5:13","nodeType":"VariableDeclaration","scope":19504,"src":"23836:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19501,"name":"string","nodeType":"ElementaryTypeName","src":"23836:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23835:21:13"},"scope":22388,"src":"23772:85:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19505,"nodeType":"StructuredDocumentation","src":"23863:171:13","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","id":19515,"implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"24048:9:13","nodeType":"FunctionDefinition","parameters":{"id":19510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19507,"mutability":"mutable","name":"name","nameLocation":"24074:4:13","nodeType":"VariableDeclaration","scope":19515,"src":"24058:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19506,"name":"string","nodeType":"ElementaryTypeName","src":"24058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19509,"mutability":"mutable","name":"delim","nameLocation":"24096:5:13","nodeType":"VariableDeclaration","scope":19515,"src":"24080:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19508,"name":"string","nodeType":"ElementaryTypeName","src":"24080:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24057:45:13"},"returnParameters":{"id":19514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19513,"mutability":"mutable","name":"value","nameLocation":"24142:5:13","nodeType":"VariableDeclaration","scope":19515,"src":"24126:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":19511,"name":"string","nodeType":"ElementaryTypeName","src":"24126:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":19512,"nodeType":"ArrayTypeName","src":"24126:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"24125:23:13"},"scope":22388,"src":"24039:110:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19516,"nodeType":"StructuredDocumentation","src":"24155:138:13","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","id":19523,"implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"24307:7:13","nodeType":"FunctionDefinition","parameters":{"id":19519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19518,"mutability":"mutable","name":"name","nameLocation":"24331:4:13","nodeType":"VariableDeclaration","scope":19523,"src":"24315:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19517,"name":"string","nodeType":"ElementaryTypeName","src":"24315:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24314:22:13"},"returnParameters":{"id":19522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19521,"mutability":"mutable","name":"value","nameLocation":"24368:5:13","nodeType":"VariableDeclaration","scope":19523,"src":"24360:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19520,"name":"uint256","nodeType":"ElementaryTypeName","src":"24360:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24359:15:13"},"scope":22388,"src":"24298:77:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19524,"nodeType":"StructuredDocumentation","src":"24381:172:13","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","id":19534,"implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"24567:7:13","nodeType":"FunctionDefinition","parameters":{"id":19529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19526,"mutability":"mutable","name":"name","nameLocation":"24591:4:13","nodeType":"VariableDeclaration","scope":19534,"src":"24575:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19525,"name":"string","nodeType":"ElementaryTypeName","src":"24575:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19528,"mutability":"mutable","name":"delim","nameLocation":"24613:5:13","nodeType":"VariableDeclaration","scope":19534,"src":"24597:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19527,"name":"string","nodeType":"ElementaryTypeName","src":"24597:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24574:45:13"},"returnParameters":{"id":19533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19532,"mutability":"mutable","name":"value","nameLocation":"24660:5:13","nodeType":"VariableDeclaration","scope":19534,"src":"24643:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":19530,"name":"uint256","nodeType":"ElementaryTypeName","src":"24643:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":19531,"nodeType":"ArrayTypeName","src":"24643:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"24642:24:13"},"scope":22388,"src":"24558:109:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19535,"nodeType":"StructuredDocumentation","src":"24673:66:13","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","id":19543,"implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"24753:9:13","nodeType":"FunctionDefinition","parameters":{"id":19539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19538,"mutability":"mutable","name":"context","nameLocation":"24776:7:13","nodeType":"VariableDeclaration","scope":19543,"src":"24763:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$18827","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":19537,"nodeType":"UserDefinedTypeName","pathNode":{"id":19536,"name":"ForgeContext","nameLocations":["24763:12:13"],"nodeType":"IdentifierPath","referencedDeclaration":18827,"src":"24763:12:13"},"referencedDeclaration":18827,"src":"24763:12:13","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$18827","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"24762:22:13"},"returnParameters":{"id":19542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19541,"mutability":"mutable","name":"result","nameLocation":"24813:6:13","nodeType":"VariableDeclaration","scope":19543,"src":"24808:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19540,"name":"bool","nodeType":"ElementaryTypeName","src":"24808:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24807:13:13"},"scope":22388,"src":"24744:77:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19544,"nodeType":"StructuredDocumentation","src":"24827:31:13","text":"Sets environment variables."},"functionSelector":"3d5923ee","id":19551,"implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"24872:6:13","nodeType":"FunctionDefinition","parameters":{"id":19549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19546,"mutability":"mutable","name":"name","nameLocation":"24895:4:13","nodeType":"VariableDeclaration","scope":19551,"src":"24879:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19545,"name":"string","nodeType":"ElementaryTypeName","src":"24879:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19548,"mutability":"mutable","name":"value","nameLocation":"24917:5:13","nodeType":"VariableDeclaration","scope":19551,"src":"24901:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19547,"name":"string","nodeType":"ElementaryTypeName","src":"24901:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24878:45:13"},"returnParameters":{"id":19550,"nodeType":"ParameterList","parameters":[],"src":"24932:0:13"},"scope":22388,"src":"24863:70:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19552,"nodeType":"StructuredDocumentation","src":"24969:91:13","text":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"functionSelector":"65bc9481","id":19563,"implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"25074:8:13","nodeType":"FunctionDefinition","parameters":{"id":19555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19554,"mutability":"mutable","name":"target","nameLocation":"25091:6:13","nodeType":"VariableDeclaration","scope":19563,"src":"25083:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19553,"name":"address","nodeType":"ElementaryTypeName","src":"25083:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25082:16:13"},"returnParameters":{"id":19562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19558,"mutability":"mutable","name":"readSlots","nameLocation":"25134:9:13","nodeType":"VariableDeclaration","scope":19563,"src":"25117:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25117:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19557,"nodeType":"ArrayTypeName","src":"25117:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":19561,"mutability":"mutable","name":"writeSlots","nameLocation":"25162:10:13","nodeType":"VariableDeclaration","scope":19563,"src":"25145:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25145:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19560,"nodeType":"ArrayTypeName","src":"25145:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"25116:57:13"},"scope":22388,"src":"25065:109:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19564,"nodeType":"StructuredDocumentation","src":"25180:45:13","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","id":19571,"implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"25239:4:13","nodeType":"FunctionDefinition","parameters":{"id":19567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19566,"mutability":"mutable","name":"privateKey","nameLocation":"25252:10:13","nodeType":"VariableDeclaration","scope":19571,"src":"25244:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19565,"name":"uint256","nodeType":"ElementaryTypeName","src":"25244:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25243:20:13"},"returnParameters":{"id":19570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19569,"mutability":"mutable","name":"keyAddr","nameLocation":"25295:7:13","nodeType":"VariableDeclaration","scope":19571,"src":"25287:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19568,"name":"address","nodeType":"ElementaryTypeName","src":"25287:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25286:17:13"},"scope":22388,"src":"25230:74:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":19572,"nodeType":"StructuredDocumentation","src":"25310:52:13","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","id":19588,"implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"25376:11:13","nodeType":"FunctionDefinition","parameters":{"id":19582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19574,"mutability":"mutable","name":"fromBlock","nameLocation":"25396:9:13","nodeType":"VariableDeclaration","scope":19588,"src":"25388:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19573,"name":"uint256","nodeType":"ElementaryTypeName","src":"25388:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19576,"mutability":"mutable","name":"toBlock","nameLocation":"25415:7:13","nodeType":"VariableDeclaration","scope":19588,"src":"25407:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19575,"name":"uint256","nodeType":"ElementaryTypeName","src":"25407:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19578,"mutability":"mutable","name":"target","nameLocation":"25432:6:13","nodeType":"VariableDeclaration","scope":19588,"src":"25424:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19577,"name":"address","nodeType":"ElementaryTypeName","src":"25424:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19581,"mutability":"mutable","name":"topics","nameLocation":"25459:6:13","nodeType":"VariableDeclaration","scope":19588,"src":"25440:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":19579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25440:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":19580,"nodeType":"ArrayTypeName","src":"25440:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"25387:79:13"},"returnParameters":{"id":19587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19586,"mutability":"mutable","name":"logs","nameLocation":"25521:4:13","nodeType":"VariableDeclaration","scope":19588,"src":"25501:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$18863_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":19584,"nodeType":"UserDefinedTypeName","pathNode":{"id":19583,"name":"EthGetLogs","nameLocations":["25501:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":18863,"src":"25501:10:13"},"referencedDeclaration":18863,"src":"25501:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$18863_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":19585,"nodeType":"ArrayTypeName","src":"25501:12:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$18863_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"25500:26:13"},"scope":22388,"src":"25367:160:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19589,"nodeType":"StructuredDocumentation","src":"25533:326:13","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","id":19594,"implemented":false,"kind":"function","modifiers":[],"name":"getBlobBaseFee","nameLocation":"25873:14:13","nodeType":"FunctionDefinition","parameters":{"id":19590,"nodeType":"ParameterList","parameters":[],"src":"25887:2:13"},"returnParameters":{"id":19593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19592,"mutability":"mutable","name":"blobBaseFee","nameLocation":"25921:11:13","nodeType":"VariableDeclaration","scope":19594,"src":"25913:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19591,"name":"uint256","nodeType":"ElementaryTypeName","src":"25913:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25912:21:13"},"scope":22388,"src":"25864:70:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19595,"nodeType":"StructuredDocumentation","src":"25940:304:13","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","id":19600,"implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"26258:14:13","nodeType":"FunctionDefinition","parameters":{"id":19596,"nodeType":"ParameterList","parameters":[],"src":"26272:2:13"},"returnParameters":{"id":19599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19598,"mutability":"mutable","name":"height","nameLocation":"26306:6:13","nodeType":"VariableDeclaration","scope":19600,"src":"26298:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19597,"name":"uint256","nodeType":"ElementaryTypeName","src":"26298:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26297:16:13"},"scope":22388,"src":"26249:65:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19601,"nodeType":"StructuredDocumentation","src":"26320:313:13","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","id":19606,"implemented":false,"kind":"function","modifiers":[],"name":"getBlockTimestamp","nameLocation":"26647:17:13","nodeType":"FunctionDefinition","parameters":{"id":19602,"nodeType":"ParameterList","parameters":[],"src":"26664:2:13"},"returnParameters":{"id":19605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19604,"mutability":"mutable","name":"timestamp","nameLocation":"26698:9:13","nodeType":"VariableDeclaration","scope":19606,"src":"26690:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19603,"name":"uint256","nodeType":"ElementaryTypeName","src":"26690:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26689:19:13"},"scope":22388,"src":"26638:71:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19607,"nodeType":"StructuredDocumentation","src":"26715:82:13","text":"Gets the map key and parent of a mapping at a given slot, for a given address."},"functionSelector":"876e24e6","id":19620,"implemented":false,"kind":"function","modifiers":[],"name":"getMappingKeyAndParentOf","nameLocation":"26811:24:13","nodeType":"FunctionDefinition","parameters":{"id":19612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19609,"mutability":"mutable","name":"target","nameLocation":"26844:6:13","nodeType":"VariableDeclaration","scope":19620,"src":"26836:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19608,"name":"address","nodeType":"ElementaryTypeName","src":"26836:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19611,"mutability":"mutable","name":"elementSlot","nameLocation":"26860:11:13","nodeType":"VariableDeclaration","scope":19620,"src":"26852:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26852:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26835:37:13"},"returnParameters":{"id":19619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19614,"mutability":"mutable","name":"found","nameLocation":"26912:5:13","nodeType":"VariableDeclaration","scope":19620,"src":"26907:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19613,"name":"bool","nodeType":"ElementaryTypeName","src":"26907:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19616,"mutability":"mutable","name":"key","nameLocation":"26927:3:13","nodeType":"VariableDeclaration","scope":19620,"src":"26919:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26919:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19618,"mutability":"mutable","name":"parent","nameLocation":"26940:6:13","nodeType":"VariableDeclaration","scope":19620,"src":"26932:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26932:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26906:41:13"},"scope":22388,"src":"26802:146:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19621,"nodeType":"StructuredDocumentation","src":"26954:86:13","text":"Gets the number of elements in the mapping at the given slot, for a given address."},"functionSelector":"2f2fd63f","id":19630,"implemented":false,"kind":"function","modifiers":[],"name":"getMappingLength","nameLocation":"27054:16:13","nodeType":"FunctionDefinition","parameters":{"id":19626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19623,"mutability":"mutable","name":"target","nameLocation":"27079:6:13","nodeType":"VariableDeclaration","scope":19630,"src":"27071:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19622,"name":"address","nodeType":"ElementaryTypeName","src":"27071:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19625,"mutability":"mutable","name":"mappingSlot","nameLocation":"27095:11:13","nodeType":"VariableDeclaration","scope":19630,"src":"27087:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27087:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27070:37:13"},"returnParameters":{"id":19629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19628,"mutability":"mutable","name":"length","nameLocation":"27134:6:13","nodeType":"VariableDeclaration","scope":19630,"src":"27126:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19627,"name":"uint256","nodeType":"ElementaryTypeName","src":"27126:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27125:16:13"},"scope":22388,"src":"27045:97:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19631,"nodeType":"StructuredDocumentation","src":"27148:193:13","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","id":19642,"implemented":false,"kind":"function","modifiers":[],"name":"getMappingSlotAt","nameLocation":"27355:16:13","nodeType":"FunctionDefinition","parameters":{"id":19638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19633,"mutability":"mutable","name":"target","nameLocation":"27380:6:13","nodeType":"VariableDeclaration","scope":19642,"src":"27372:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19632,"name":"address","nodeType":"ElementaryTypeName","src":"27372:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19635,"mutability":"mutable","name":"mappingSlot","nameLocation":"27396:11:13","nodeType":"VariableDeclaration","scope":19642,"src":"27388:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27388:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":19637,"mutability":"mutable","name":"idx","nameLocation":"27417:3:13","nodeType":"VariableDeclaration","scope":19642,"src":"27409:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19636,"name":"uint256","nodeType":"ElementaryTypeName","src":"27409:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27371:50:13"},"returnParameters":{"id":19641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19640,"mutability":"mutable","name":"value","nameLocation":"27448:5:13","nodeType":"VariableDeclaration","scope":19642,"src":"27440:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27440:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27439:15:13"},"scope":22388,"src":"27346:109:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19643,"nodeType":"StructuredDocumentation","src":"27461:33:13","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","id":19650,"implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"27508:8:13","nodeType":"FunctionDefinition","parameters":{"id":19646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19645,"mutability":"mutable","name":"account","nameLocation":"27525:7:13","nodeType":"VariableDeclaration","scope":19650,"src":"27517:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19644,"name":"address","nodeType":"ElementaryTypeName","src":"27517:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27516:17:13"},"returnParameters":{"id":19649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19648,"mutability":"mutable","name":"nonce","nameLocation":"27564:5:13","nodeType":"VariableDeclaration","scope":19650,"src":"27557:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":19647,"name":"uint64","nodeType":"ElementaryTypeName","src":"27557:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"27556:14:13"},"scope":22388,"src":"27499:72:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19651,"nodeType":"StructuredDocumentation","src":"27577:32:13","text":"Get the nonce of a `Wallet`."},"functionSelector":"a5748aad","id":19659,"implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"27623:8:13","nodeType":"FunctionDefinition","parameters":{"id":19655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19654,"mutability":"mutable","name":"wallet","nameLocation":"27648:6:13","nodeType":"VariableDeclaration","scope":19659,"src":"27632:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":19653,"nodeType":"UserDefinedTypeName","pathNode":{"id":19652,"name":"Wallet","nameLocations":["27632:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":18901,"src":"27632:6:13"},"referencedDeclaration":18901,"src":"27632:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$18901_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"27631:24:13"},"returnParameters":{"id":19658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19657,"mutability":"mutable","name":"nonce","nameLocation":"27681:5:13","nodeType":"VariableDeclaration","scope":19659,"src":"27674:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":19656,"name":"uint64","nodeType":"ElementaryTypeName","src":"27674:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"27673:14:13"},"scope":22388,"src":"27614:74:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19660,"nodeType":"StructuredDocumentation","src":"27694:31:13","text":"Gets all the recorded logs."},"functionSelector":"191553a4","id":19667,"implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"27739:15:13","nodeType":"FunctionDefinition","parameters":{"id":19661,"nodeType":"ParameterList","parameters":[],"src":"27754:2:13"},"returnParameters":{"id":19666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19665,"mutability":"mutable","name":"logs","nameLocation":"27788:4:13","nodeType":"VariableDeclaration","scope":19667,"src":"27775:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$18836_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":19663,"nodeType":"UserDefinedTypeName","pathNode":{"id":19662,"name":"Log","nameLocations":["27775:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":18836,"src":"27775:3:13"},"referencedDeclaration":18836,"src":"27775:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$18836_storage_ptr","typeString":"struct VmSafe.Log"}},"id":19664,"nodeType":"ArrayTypeName","src":"27775:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$18836_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"27774:19:13"},"scope":22388,"src":"27730:64:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19668,"nodeType":"StructuredDocumentation","src":"27800:67:13","text":"Gets the gas used in the last call from the callee perspective."},"functionSelector":"2b589b28","id":19674,"implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"27881:11:13","nodeType":"FunctionDefinition","parameters":{"id":19669,"nodeType":"ParameterList","parameters":[],"src":"27892:2:13"},"returnParameters":{"id":19673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19672,"mutability":"mutable","name":"gas","nameLocation":"27929:3:13","nodeType":"VariableDeclaration","scope":19674,"src":"27918:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$18973_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":19671,"nodeType":"UserDefinedTypeName","pathNode":{"id":19670,"name":"Gas","nameLocations":["27918:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":18973,"src":"27918:3:13"},"referencedDeclaration":18973,"src":"27918:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$18973_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"27917:16:13"},"scope":22388,"src":"27872:62:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19675,"nodeType":"StructuredDocumentation","src":"27940:41:13","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","id":19684,"implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"27995:4:13","nodeType":"FunctionDefinition","parameters":{"id":19680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19677,"mutability":"mutable","name":"target","nameLocation":"28008:6:13","nodeType":"VariableDeclaration","scope":19684,"src":"28000:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19676,"name":"address","nodeType":"ElementaryTypeName","src":"28000:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19679,"mutability":"mutable","name":"slot","nameLocation":"28024:4:13","nodeType":"VariableDeclaration","scope":19684,"src":"28016:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28016:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27999:30:13"},"returnParameters":{"id":19683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19682,"mutability":"mutable","name":"data","nameLocation":"28061:4:13","nodeType":"VariableDeclaration","scope":19684,"src":"28053:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":19681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28053:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"28052:14:13"},"scope":22388,"src":"27986:81:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19685,"nodeType":"StructuredDocumentation","src":"28073:80:13","text":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"functionSelector":"d1a5b36f","id":19688,"implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"28167:16:13","nodeType":"FunctionDefinition","parameters":{"id":19686,"nodeType":"ParameterList","parameters":[],"src":"28183:2:13"},"returnParameters":{"id":19687,"nodeType":"ParameterList","parameters":[],"src":"28194:0:13"},"scope":22388,"src":"28158:37:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19689,"nodeType":"StructuredDocumentation","src":"28201:41:13","text":"Records all storage reads and writes."},"functionSelector":"266cf109","id":19692,"implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"28256:6:13","nodeType":"FunctionDefinition","parameters":{"id":19690,"nodeType":"ParameterList","parameters":[],"src":"28262:2:13"},"returnParameters":{"id":19691,"nodeType":"ParameterList","parameters":[],"src":"28273:0:13"},"scope":22388,"src":"28247:27:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19693,"nodeType":"StructuredDocumentation","src":"28280:36:13","text":"Record all the transaction logs."},"functionSelector":"41af2f52","id":19696,"implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"28330:10:13","nodeType":"FunctionDefinition","parameters":{"id":19694,"nodeType":"ParameterList","parameters":[],"src":"28340:2:13"},"returnParameters":{"id":19695,"nodeType":"ParameterList","parameters":[],"src":"28351:0:13"},"scope":22388,"src":"28321:31:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19697,"nodeType":"StructuredDocumentation","src":"28358:60:13","text":"Reset gas metering (i.e. gas usage is set to gas limit)."},"functionSelector":"be367dd3","id":19700,"implemented":false,"kind":"function","modifiers":[],"name":"resetGasMetering","nameLocation":"28432:16:13","nodeType":"FunctionDefinition","parameters":{"id":19698,"nodeType":"ParameterList","parameters":[],"src":"28448:2:13"},"returnParameters":{"id":19699,"nodeType":"ParameterList","parameters":[],"src":"28459:0:13"},"scope":22388,"src":"28423:37:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19701,"nodeType":"StructuredDocumentation","src":"28466:79:13","text":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"functionSelector":"2bcd50e0","id":19704,"implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"28559:17:13","nodeType":"FunctionDefinition","parameters":{"id":19702,"nodeType":"ParameterList","parameters":[],"src":"28576:2:13"},"returnParameters":{"id":19703,"nodeType":"ParameterList","parameters":[],"src":"28587:0:13"},"scope":22388,"src":"28550:38:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19705,"nodeType":"StructuredDocumentation","src":"28594:66:13","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","id":19714,"implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"28674:3:13","nodeType":"FunctionDefinition","parameters":{"id":19710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19707,"mutability":"mutable","name":"method","nameLocation":"28694:6:13","nodeType":"VariableDeclaration","scope":19714,"src":"28678:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19706,"name":"string","nodeType":"ElementaryTypeName","src":"28678:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19709,"mutability":"mutable","name":"params","nameLocation":"28718:6:13","nodeType":"VariableDeclaration","scope":19714,"src":"28702:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19708,"name":"string","nodeType":"ElementaryTypeName","src":"28702:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28677:48:13"},"returnParameters":{"id":19713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19712,"mutability":"mutable","name":"data","nameLocation":"28757:4:13","nodeType":"VariableDeclaration","scope":19714,"src":"28744:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19711,"name":"bytes","nodeType":"ElementaryTypeName","src":"28744:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28743:19:13"},"scope":22388,"src":"28665:98:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19715,"nodeType":"StructuredDocumentation","src":"28769:64:13","text":"Performs an Ethereum JSON-RPC request to the given endpoint."},"functionSelector":"0199a220","id":19726,"implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"28847:3:13","nodeType":"FunctionDefinition","parameters":{"id":19722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19717,"mutability":"mutable","name":"urlOrAlias","nameLocation":"28867:10:13","nodeType":"VariableDeclaration","scope":19726,"src":"28851:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19716,"name":"string","nodeType":"ElementaryTypeName","src":"28851:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19719,"mutability":"mutable","name":"method","nameLocation":"28895:6:13","nodeType":"VariableDeclaration","scope":19726,"src":"28879:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19718,"name":"string","nodeType":"ElementaryTypeName","src":"28879:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19721,"mutability":"mutable","name":"params","nameLocation":"28919:6:13","nodeType":"VariableDeclaration","scope":19726,"src":"28903:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19720,"name":"string","nodeType":"ElementaryTypeName","src":"28903:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28850:76:13"},"returnParameters":{"id":19725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19724,"mutability":"mutable","name":"data","nameLocation":"28974:4:13","nodeType":"VariableDeclaration","scope":19726,"src":"28961:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19723,"name":"bytes","nodeType":"ElementaryTypeName","src":"28961:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28960:19:13"},"scope":22388,"src":"28838:142:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19727,"nodeType":"StructuredDocumentation","src":"28986:43:13","text":"Records the debug trace during the run."},"functionSelector":"419c8832","id":19730,"implemented":false,"kind":"function","modifiers":[],"name":"startDebugTraceRecording","nameLocation":"29043:24:13","nodeType":"FunctionDefinition","parameters":{"id":19728,"nodeType":"ParameterList","parameters":[],"src":"29067:2:13"},"returnParameters":{"id":19729,"nodeType":"ParameterList","parameters":[],"src":"29078:0:13"},"scope":22388,"src":"29034:45:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19731,"nodeType":"StructuredDocumentation","src":"29085:57:13","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","id":19734,"implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"29156:21:13","nodeType":"FunctionDefinition","parameters":{"id":19732,"nodeType":"ParameterList","parameters":[],"src":"29177:2:13"},"returnParameters":{"id":19733,"nodeType":"ParameterList","parameters":[],"src":"29188:0:13"},"scope":22388,"src":"29147:42:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19735,"nodeType":"StructuredDocumentation","src":"29195:133:13","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","id":19738,"implemented":false,"kind":"function","modifiers":[],"name":"startStateDiffRecording","nameLocation":"29342:23:13","nodeType":"FunctionDefinition","parameters":{"id":19736,"nodeType":"ParameterList","parameters":[],"src":"29365:2:13"},"returnParameters":{"id":19737,"nodeType":"ParameterList","parameters":[],"src":"29376:0:13"},"scope":22388,"src":"29333:44:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19739,"nodeType":"StructuredDocumentation","src":"29383:68:13","text":"Stop debug trace recording and returns the recorded debug trace."},"functionSelector":"ced398a2","id":19746,"implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnDebugTraceRecording","nameLocation":"29465:32:13","nodeType":"FunctionDefinition","parameters":{"id":19740,"nodeType":"ParameterList","parameters":[],"src":"29497:2:13"},"returnParameters":{"id":19745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19744,"mutability":"mutable","name":"step","nameLocation":"29537:4:13","nodeType":"VariableDeclaration","scope":19746,"src":"29518:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$18988_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DebugStep[]"},"typeName":{"baseType":{"id":19742,"nodeType":"UserDefinedTypeName","pathNode":{"id":19741,"name":"DebugStep","nameLocations":["29518:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":18988,"src":"29518:9:13"},"referencedDeclaration":18988,"src":"29518:9:13","typeDescriptions":{"typeIdentifier":"t_struct$_DebugStep_$18988_storage_ptr","typeString":"struct VmSafe.DebugStep"}},"id":19743,"nodeType":"ArrayTypeName","src":"29518:11:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$18988_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DebugStep[]"}},"visibility":"internal"}],"src":"29517:25:13"},"scope":22388,"src":"29456:87:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19747,"nodeType":"StructuredDocumentation","src":"29549:97:13","text":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"functionSelector":"aa5cf90e","id":19754,"implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnStateDiff","nameLocation":"29660:22:13","nodeType":"FunctionDefinition","parameters":{"id":19748,"nodeType":"ParameterList","parameters":[],"src":"29682:2:13"},"returnParameters":{"id":19753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19752,"mutability":"mutable","name":"accountAccesses","nameLocation":"29726:15:13","nodeType":"VariableDeclaration","scope":19754,"src":"29703:38:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$18947_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":19750,"nodeType":"UserDefinedTypeName","pathNode":{"id":19749,"name":"AccountAccess","nameLocations":["29703:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":18947,"src":"29703:13:13"},"referencedDeclaration":18947,"src":"29703:13:13","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$18947_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":19751,"nodeType":"ArrayTypeName","src":"29703:15:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$18947_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"29702:40:13"},"scope":22388,"src":"29651:92:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19755,"nodeType":"StructuredDocumentation","src":"29749:85:13","text":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"functionSelector":"0d4aae9b","id":19758,"implemented":false,"kind":"function","modifiers":[],"name":"stopMappingRecording","nameLocation":"29848:20:13","nodeType":"FunctionDefinition","parameters":{"id":19756,"nodeType":"ParameterList","parameters":[],"src":"29868:2:13"},"returnParameters":{"id":19757,"nodeType":"ParameterList","parameters":[],"src":"29879:0:13"},"scope":22388,"src":"29839:41:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19759,"nodeType":"StructuredDocumentation","src":"29923:151:13","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","id":19764,"implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"30088:9:13","nodeType":"FunctionDefinition","parameters":{"id":19762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19761,"mutability":"mutable","name":"path","nameLocation":"30114:4:13","nodeType":"VariableDeclaration","scope":19764,"src":"30098:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19760,"name":"string","nodeType":"ElementaryTypeName","src":"30098:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30097:22:13"},"returnParameters":{"id":19763,"nodeType":"ParameterList","parameters":[],"src":"30128:0:13"},"scope":22388,"src":"30079:50:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19765,"nodeType":"StructuredDocumentation","src":"30135:304:13","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","id":19774,"implemented":false,"kind":"function","modifiers":[],"name":"copyFile","nameLocation":"30453:8:13","nodeType":"FunctionDefinition","parameters":{"id":19770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19767,"mutability":"mutable","name":"from","nameLocation":"30478:4:13","nodeType":"VariableDeclaration","scope":19774,"src":"30462:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19766,"name":"string","nodeType":"ElementaryTypeName","src":"30462:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19769,"mutability":"mutable","name":"to","nameLocation":"30500:2:13","nodeType":"VariableDeclaration","scope":19774,"src":"30484:18:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19768,"name":"string","nodeType":"ElementaryTypeName","src":"30484:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30461:42:13"},"returnParameters":{"id":19773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19772,"mutability":"mutable","name":"copied","nameLocation":"30529:6:13","nodeType":"VariableDeclaration","scope":19774,"src":"30522:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":19771,"name":"uint64","nodeType":"ElementaryTypeName","src":"30522:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"30521:15:13"},"scope":22388,"src":"30444:93:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19775,"nodeType":"StructuredDocumentation","src":"30543:394:13","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","id":19782,"implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"30951:9:13","nodeType":"FunctionDefinition","parameters":{"id":19780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19777,"mutability":"mutable","name":"path","nameLocation":"30977:4:13","nodeType":"VariableDeclaration","scope":19782,"src":"30961:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19776,"name":"string","nodeType":"ElementaryTypeName","src":"30961:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19779,"mutability":"mutable","name":"recursive","nameLocation":"30988:9:13","nodeType":"VariableDeclaration","scope":19782,"src":"30983:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19778,"name":"bool","nodeType":"ElementaryTypeName","src":"30983:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30960:38:13"},"returnParameters":{"id":19781,"nodeType":"ParameterList","parameters":[],"src":"31007:0:13"},"scope":22388,"src":"30942:66:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19783,"nodeType":"StructuredDocumentation","src":"31014:219:13","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 <path>:<contract>:<version> where <contract> and <version> parts are optional."},"functionSelector":"9a8325a0","id":19790,"implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"31247:10:13","nodeType":"FunctionDefinition","parameters":{"id":19786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19785,"mutability":"mutable","name":"artifactPath","nameLocation":"31274:12:13","nodeType":"VariableDeclaration","scope":19790,"src":"31258:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19784,"name":"string","nodeType":"ElementaryTypeName","src":"31258:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31257:30:13"},"returnParameters":{"id":19789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19788,"mutability":"mutable","name":"deployedAddress","nameLocation":"31314:15:13","nodeType":"VariableDeclaration","scope":19790,"src":"31306:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19787,"name":"address","nodeType":"ElementaryTypeName","src":"31306:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31305:25:13"},"scope":22388,"src":"31238:93:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19791,"nodeType":"StructuredDocumentation","src":"31337:283:13","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 <path>:<contract>:<version> where <contract> and <version> parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"29ce9dde","id":19800,"implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"31634:10:13","nodeType":"FunctionDefinition","parameters":{"id":19796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19793,"mutability":"mutable","name":"artifactPath","nameLocation":"31661:12:13","nodeType":"VariableDeclaration","scope":19800,"src":"31645:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19792,"name":"string","nodeType":"ElementaryTypeName","src":"31645:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19795,"mutability":"mutable","name":"constructorArgs","nameLocation":"31690:15:13","nodeType":"VariableDeclaration","scope":19800,"src":"31675:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":19794,"name":"bytes","nodeType":"ElementaryTypeName","src":"31675:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31644:62:13"},"returnParameters":{"id":19799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19798,"mutability":"mutable","name":"deployedAddress","nameLocation":"31749:15:13","nodeType":"VariableDeclaration","scope":19800,"src":"31741:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19797,"name":"address","nodeType":"ElementaryTypeName","src":"31741:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31740:25:13"},"scope":22388,"src":"31625:141:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19801,"nodeType":"StructuredDocumentation","src":"31772:84:13","text":"Returns true if the given path points to an existing entity, else returns false."},"functionSelector":"261a323e","id":19808,"implemented":false,"kind":"function","modifiers":[],"name":"exists","nameLocation":"31870:6:13","nodeType":"FunctionDefinition","parameters":{"id":19804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19803,"mutability":"mutable","name":"path","nameLocation":"31893:4:13","nodeType":"VariableDeclaration","scope":19808,"src":"31877:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19802,"name":"string","nodeType":"ElementaryTypeName","src":"31877:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31876:22:13"},"returnParameters":{"id":19807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19806,"mutability":"mutable","name":"result","nameLocation":"31922:6:13","nodeType":"VariableDeclaration","scope":19808,"src":"31917:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19805,"name":"bool","nodeType":"ElementaryTypeName","src":"31917:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31916:13:13"},"scope":22388,"src":"31861:69:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19809,"nodeType":"StructuredDocumentation","src":"31936:54:13","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","id":19817,"implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"32004:3:13","nodeType":"FunctionDefinition","parameters":{"id":19813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19812,"mutability":"mutable","name":"commandInput","nameLocation":"32026:12:13","nodeType":"VariableDeclaration","scope":19817,"src":"32008:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":19810,"name":"string","nodeType":"ElementaryTypeName","src":"32008:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":19811,"nodeType":"ArrayTypeName","src":"32008:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32007:32:13"},"returnParameters":{"id":19816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19815,"mutability":"mutable","name":"result","nameLocation":"32071:6:13","nodeType":"VariableDeclaration","scope":19817,"src":"32058:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19814,"name":"bytes","nodeType":"ElementaryTypeName","src":"32058:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32057:21:13"},"scope":22388,"src":"31995:84:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19818,"nodeType":"StructuredDocumentation","src":"32085:88:13","text":"Given a path, query the file system to get information about a file, directory, etc."},"functionSelector":"af368a08","id":19826,"implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"32187:10:13","nodeType":"FunctionDefinition","parameters":{"id":19821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19820,"mutability":"mutable","name":"path","nameLocation":"32214:4:13","nodeType":"VariableDeclaration","scope":19826,"src":"32198:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19819,"name":"string","nodeType":"ElementaryTypeName","src":"32198:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32197:22:13"},"returnParameters":{"id":19825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19824,"mutability":"mutable","name":"metadata","nameLocation":"32261:8:13","nodeType":"VariableDeclaration","scope":19826,"src":"32243:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$18891_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":19823,"nodeType":"UserDefinedTypeName","pathNode":{"id":19822,"name":"FsMetadata","nameLocations":["32243:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":18891,"src":"32243:10:13"},"referencedDeclaration":18891,"src":"32243:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$18891_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"32242:28:13"},"scope":22388,"src":"32178:93:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19827,"nodeType":"StructuredDocumentation","src":"32277:58:13","text":"Gets the artifact path from code (aka. creation code)."},"functionSelector":"eb74848c","id":19834,"implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByCode","nameLocation":"32349:21:13","nodeType":"FunctionDefinition","parameters":{"id":19830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19829,"mutability":"mutable","name":"code","nameLocation":"32386:4:13","nodeType":"VariableDeclaration","scope":19834,"src":"32371:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":19828,"name":"bytes","nodeType":"ElementaryTypeName","src":"32371:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32370:21:13"},"returnParameters":{"id":19833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19832,"mutability":"mutable","name":"path","nameLocation":"32429:4:13","nodeType":"VariableDeclaration","scope":19834,"src":"32415:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19831,"name":"string","nodeType":"ElementaryTypeName","src":"32415:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32414:20:13"},"scope":22388,"src":"32340:95:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19835,"nodeType":"StructuredDocumentation","src":"32441:66:13","text":"Gets the artifact path from deployed code (aka. runtime code)."},"functionSelector":"6d853ba5","id":19842,"implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByDeployedCode","nameLocation":"32521:29:13","nodeType":"FunctionDefinition","parameters":{"id":19838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19837,"mutability":"mutable","name":"deployedCode","nameLocation":"32566:12:13","nodeType":"VariableDeclaration","scope":19842,"src":"32551:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":19836,"name":"bytes","nodeType":"ElementaryTypeName","src":"32551:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32550:29:13"},"returnParameters":{"id":19841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19840,"mutability":"mutable","name":"path","nameLocation":"32617:4:13","nodeType":"VariableDeclaration","scope":19842,"src":"32603:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19839,"name":"string","nodeType":"ElementaryTypeName","src":"32603:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32602:20:13"},"scope":22388,"src":"32512:111:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19843,"nodeType":"StructuredDocumentation","src":"32629:227:13","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 <path>:<contract>:<version> where <contract> and <version> parts are optional."},"functionSelector":"8d1cc925","id":19850,"implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"32870:7:13","nodeType":"FunctionDefinition","parameters":{"id":19846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19845,"mutability":"mutable","name":"artifactPath","nameLocation":"32894:12:13","nodeType":"VariableDeclaration","scope":19850,"src":"32878:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19844,"name":"string","nodeType":"ElementaryTypeName","src":"32878:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32877:30:13"},"returnParameters":{"id":19849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19848,"mutability":"mutable","name":"creationBytecode","nameLocation":"32944:16:13","nodeType":"VariableDeclaration","scope":19850,"src":"32931:29:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19847,"name":"bytes","nodeType":"ElementaryTypeName","src":"32931:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32930:31:13"},"scope":22388,"src":"32861:101:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19851,"nodeType":"StructuredDocumentation","src":"32968:227:13","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 <path>:<contract>:<version> where <contract> and <version> parts are optional."},"functionSelector":"3ebf73b4","id":19858,"implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"33209:15:13","nodeType":"FunctionDefinition","parameters":{"id":19854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19853,"mutability":"mutable","name":"artifactPath","nameLocation":"33241:12:13","nodeType":"VariableDeclaration","scope":19858,"src":"33225:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19852,"name":"string","nodeType":"ElementaryTypeName","src":"33225:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33224:30:13"},"returnParameters":{"id":19857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19856,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"33291:15:13","nodeType":"VariableDeclaration","scope":19858,"src":"33278:28:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19855,"name":"bytes","nodeType":"ElementaryTypeName","src":"33278:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33277:30:13"},"scope":22388,"src":"33200:108:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19859,"nodeType":"StructuredDocumentation","src":"33314:95:13","text":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"functionSelector":"7d15d019","id":19866,"implemented":false,"kind":"function","modifiers":[],"name":"isDir","nameLocation":"33423:5:13","nodeType":"FunctionDefinition","parameters":{"id":19862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19861,"mutability":"mutable","name":"path","nameLocation":"33445:4:13","nodeType":"VariableDeclaration","scope":19866,"src":"33429:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19860,"name":"string","nodeType":"ElementaryTypeName","src":"33429:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33428:22:13"},"returnParameters":{"id":19865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19864,"mutability":"mutable","name":"result","nameLocation":"33474:6:13","nodeType":"VariableDeclaration","scope":19866,"src":"33469:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19863,"name":"bool","nodeType":"ElementaryTypeName","src":"33469:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33468:13:13"},"scope":22388,"src":"33414:68:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19867,"nodeType":"StructuredDocumentation","src":"33488:98:13","text":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"functionSelector":"e0eb04d4","id":19874,"implemented":false,"kind":"function","modifiers":[],"name":"isFile","nameLocation":"33600:6:13","nodeType":"FunctionDefinition","parameters":{"id":19870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19869,"mutability":"mutable","name":"path","nameLocation":"33623:4:13","nodeType":"VariableDeclaration","scope":19874,"src":"33607:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19868,"name":"string","nodeType":"ElementaryTypeName","src":"33607:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33606:22:13"},"returnParameters":{"id":19873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19872,"mutability":"mutable","name":"result","nameLocation":"33652:6:13","nodeType":"VariableDeclaration","scope":19874,"src":"33647:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19871,"name":"bool","nodeType":"ElementaryTypeName","src":"33647:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33646:13:13"},"scope":22388,"src":"33591:69:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19875,"nodeType":"StructuredDocumentation","src":"33666:45:13","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","id":19880,"implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"33725:11:13","nodeType":"FunctionDefinition","parameters":{"id":19876,"nodeType":"ParameterList","parameters":[],"src":"33736:2:13"},"returnParameters":{"id":19879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19878,"mutability":"mutable","name":"path","nameLocation":"33776:4:13","nodeType":"VariableDeclaration","scope":19880,"src":"33762:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19877,"name":"string","nodeType":"ElementaryTypeName","src":"33762:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33761:20:13"},"scope":22388,"src":"33716:66:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19881,"nodeType":"StructuredDocumentation","src":"33788:56:13","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","id":19888,"implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"33858:6:13","nodeType":"FunctionDefinition","parameters":{"id":19884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19883,"mutability":"mutable","name":"promptText","nameLocation":"33881:10:13","nodeType":"VariableDeclaration","scope":19888,"src":"33865:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19882,"name":"string","nodeType":"ElementaryTypeName","src":"33865:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33864:28:13"},"returnParameters":{"id":19887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19886,"mutability":"mutable","name":"input","nameLocation":"33925:5:13","nodeType":"VariableDeclaration","scope":19888,"src":"33911:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19885,"name":"string","nodeType":"ElementaryTypeName","src":"33911:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33910:21:13"},"scope":22388,"src":"33849:83:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19889,"nodeType":"StructuredDocumentation","src":"33938:52:13","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","id":19896,"implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"34004:13:13","nodeType":"FunctionDefinition","parameters":{"id":19892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19891,"mutability":"mutable","name":"promptText","nameLocation":"34034:10:13","nodeType":"VariableDeclaration","scope":19896,"src":"34018:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19890,"name":"string","nodeType":"ElementaryTypeName","src":"34018:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34017:28:13"},"returnParameters":{"id":19895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19896,"src":"34064:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19893,"name":"address","nodeType":"ElementaryTypeName","src":"34064:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34063:9:13"},"scope":22388,"src":"33995:78:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19897,"nodeType":"StructuredDocumentation","src":"34079:63:13","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","id":19904,"implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"34156:12:13","nodeType":"FunctionDefinition","parameters":{"id":19900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19899,"mutability":"mutable","name":"promptText","nameLocation":"34185:10:13","nodeType":"VariableDeclaration","scope":19904,"src":"34169:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19898,"name":"string","nodeType":"ElementaryTypeName","src":"34169:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34168:28:13"},"returnParameters":{"id":19903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19902,"mutability":"mutable","name":"input","nameLocation":"34229:5:13","nodeType":"VariableDeclaration","scope":19904,"src":"34215:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19901,"name":"string","nodeType":"ElementaryTypeName","src":"34215:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34214:21:13"},"scope":22388,"src":"34147:89:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19905,"nodeType":"StructuredDocumentation","src":"34242:69:13","text":"Prompts the user for hidden uint256 in the terminal (usually pk)."},"functionSelector":"69ca02b7","id":19912,"implemented":false,"kind":"function","modifiers":[],"name":"promptSecretUint","nameLocation":"34325:16:13","nodeType":"FunctionDefinition","parameters":{"id":19908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19907,"mutability":"mutable","name":"promptText","nameLocation":"34358:10:13","nodeType":"VariableDeclaration","scope":19912,"src":"34342:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19906,"name":"string","nodeType":"ElementaryTypeName","src":"34342:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34341:28:13"},"returnParameters":{"id":19911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19910,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19912,"src":"34388:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19909,"name":"uint256","nodeType":"ElementaryTypeName","src":"34388:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34387:9:13"},"scope":22388,"src":"34316:81:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19913,"nodeType":"StructuredDocumentation","src":"34403:49:13","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","id":19920,"implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"34466:10:13","nodeType":"FunctionDefinition","parameters":{"id":19916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19915,"mutability":"mutable","name":"promptText","nameLocation":"34493:10:13","nodeType":"VariableDeclaration","scope":19920,"src":"34477:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19914,"name":"string","nodeType":"ElementaryTypeName","src":"34477:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34476:28:13"},"returnParameters":{"id":19919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":19920,"src":"34523:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19917,"name":"uint256","nodeType":"ElementaryTypeName","src":"34523:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34522:9:13"},"scope":22388,"src":"34457:75:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19921,"nodeType":"StructuredDocumentation","src":"34538:237:13","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","id":19930,"implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"34789:7:13","nodeType":"FunctionDefinition","parameters":{"id":19924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19923,"mutability":"mutable","name":"path","nameLocation":"34813:4:13","nodeType":"VariableDeclaration","scope":19930,"src":"34797:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19922,"name":"string","nodeType":"ElementaryTypeName","src":"34797:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34796:22:13"},"returnParameters":{"id":19929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19928,"mutability":"mutable","name":"entries","nameLocation":"34860:7:13","nodeType":"VariableDeclaration","scope":19930,"src":"34842:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":19926,"nodeType":"UserDefinedTypeName","pathNode":{"id":19925,"name":"DirEntry","nameLocations":["34842:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":18875,"src":"34842:8:13"},"referencedDeclaration":18875,"src":"34842:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$18875_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":19927,"nodeType":"ArrayTypeName","src":"34842:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"34841:27:13"},"scope":22388,"src":"34780:89:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19931,"nodeType":"StructuredDocumentation","src":"34875:26:13","text":"See `readDir(string)`."},"functionSelector":"1497876c","id":19942,"implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"34915:7:13","nodeType":"FunctionDefinition","parameters":{"id":19936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19933,"mutability":"mutable","name":"path","nameLocation":"34939:4:13","nodeType":"VariableDeclaration","scope":19942,"src":"34923:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19932,"name":"string","nodeType":"ElementaryTypeName","src":"34923:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19935,"mutability":"mutable","name":"maxDepth","nameLocation":"34952:8:13","nodeType":"VariableDeclaration","scope":19942,"src":"34945:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":19934,"name":"uint64","nodeType":"ElementaryTypeName","src":"34945:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"34922:39:13"},"returnParameters":{"id":19941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19940,"mutability":"mutable","name":"entries","nameLocation":"35003:7:13","nodeType":"VariableDeclaration","scope":19942,"src":"34985:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":19938,"nodeType":"UserDefinedTypeName","pathNode":{"id":19937,"name":"DirEntry","nameLocations":["34985:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":18875,"src":"34985:8:13"},"referencedDeclaration":18875,"src":"34985:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$18875_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":19939,"nodeType":"ArrayTypeName","src":"34985:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"34984:27:13"},"scope":22388,"src":"34906:106:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19943,"nodeType":"StructuredDocumentation","src":"35018:26:13","text":"See `readDir(string)`."},"functionSelector":"8102d70d","id":19956,"implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"35058:7:13","nodeType":"FunctionDefinition","parameters":{"id":19950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19945,"mutability":"mutable","name":"path","nameLocation":"35082:4:13","nodeType":"VariableDeclaration","scope":19956,"src":"35066:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19944,"name":"string","nodeType":"ElementaryTypeName","src":"35066:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19947,"mutability":"mutable","name":"maxDepth","nameLocation":"35095:8:13","nodeType":"VariableDeclaration","scope":19956,"src":"35088:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":19946,"name":"uint64","nodeType":"ElementaryTypeName","src":"35088:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":19949,"mutability":"mutable","name":"followLinks","nameLocation":"35110:11:13","nodeType":"VariableDeclaration","scope":19956,"src":"35105:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19948,"name":"bool","nodeType":"ElementaryTypeName","src":"35105:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35065:57:13"},"returnParameters":{"id":19955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19954,"mutability":"mutable","name":"entries","nameLocation":"35188:7:13","nodeType":"VariableDeclaration","scope":19956,"src":"35170:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":19952,"nodeType":"UserDefinedTypeName","pathNode":{"id":19951,"name":"DirEntry","nameLocations":["35170:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":18875,"src":"35170:8:13"},"referencedDeclaration":18875,"src":"35170:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$18875_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":19953,"nodeType":"ArrayTypeName","src":"35170:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$18875_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"35169:27:13"},"scope":22388,"src":"35049:148:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19957,"nodeType":"StructuredDocumentation","src":"35203:87:13","text":"Reads the entire content of file to string. `path` is relative to the project root."},"functionSelector":"60f9bb11","id":19964,"implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"35304:8:13","nodeType":"FunctionDefinition","parameters":{"id":19960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19959,"mutability":"mutable","name":"path","nameLocation":"35329:4:13","nodeType":"VariableDeclaration","scope":19964,"src":"35313:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19958,"name":"string","nodeType":"ElementaryTypeName","src":"35313:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35312:22:13"},"returnParameters":{"id":19963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19962,"mutability":"mutable","name":"data","nameLocation":"35372:4:13","nodeType":"VariableDeclaration","scope":19964,"src":"35358:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19961,"name":"string","nodeType":"ElementaryTypeName","src":"35358:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35357:20:13"},"scope":22388,"src":"35295:83:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19965,"nodeType":"StructuredDocumentation","src":"35384:87:13","text":"Reads the entire content of file as binary. `path` is relative to the project root."},"functionSelector":"16ed7bc4","id":19972,"implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"35485:14:13","nodeType":"FunctionDefinition","parameters":{"id":19968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19967,"mutability":"mutable","name":"path","nameLocation":"35516:4:13","nodeType":"VariableDeclaration","scope":19972,"src":"35500:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19966,"name":"string","nodeType":"ElementaryTypeName","src":"35500:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35499:22:13"},"returnParameters":{"id":19971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19970,"mutability":"mutable","name":"data","nameLocation":"35558:4:13","nodeType":"VariableDeclaration","scope":19972,"src":"35545:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":19969,"name":"bytes","nodeType":"ElementaryTypeName","src":"35545:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"35544:19:13"},"scope":22388,"src":"35476:88:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19973,"nodeType":"StructuredDocumentation","src":"35570:38:13","text":"Reads next line of file to string."},"functionSelector":"70f55728","id":19980,"implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"35622:8:13","nodeType":"FunctionDefinition","parameters":{"id":19976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19975,"mutability":"mutable","name":"path","nameLocation":"35647:4:13","nodeType":"VariableDeclaration","scope":19980,"src":"35631:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19974,"name":"string","nodeType":"ElementaryTypeName","src":"35631:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35630:22:13"},"returnParameters":{"id":19979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19978,"mutability":"mutable","name":"line","nameLocation":"35690:4:13","nodeType":"VariableDeclaration","scope":19980,"src":"35676:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19977,"name":"string","nodeType":"ElementaryTypeName","src":"35676:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35675:20:13"},"scope":22388,"src":"35613:83:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19981,"nodeType":"StructuredDocumentation","src":"35702:248:13","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","id":19988,"implemented":false,"kind":"function","modifiers":[],"name":"readLink","nameLocation":"35964:8:13","nodeType":"FunctionDefinition","parameters":{"id":19984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19983,"mutability":"mutable","name":"linkPath","nameLocation":"35989:8:13","nodeType":"VariableDeclaration","scope":19988,"src":"35973:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19982,"name":"string","nodeType":"ElementaryTypeName","src":"35973:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35972:26:13"},"returnParameters":{"id":19987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19986,"mutability":"mutable","name":"targetPath","nameLocation":"36036:10:13","nodeType":"VariableDeclaration","scope":19988,"src":"36022:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19985,"name":"string","nodeType":"ElementaryTypeName","src":"36022:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36021:26:13"},"scope":22388,"src":"35955:93:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":19989,"nodeType":"StructuredDocumentation","src":"36054:379:13","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","id":19996,"implemented":false,"kind":"function","modifiers":[],"name":"removeDir","nameLocation":"36447:9:13","nodeType":"FunctionDefinition","parameters":{"id":19994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19991,"mutability":"mutable","name":"path","nameLocation":"36473:4:13","nodeType":"VariableDeclaration","scope":19996,"src":"36457:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19990,"name":"string","nodeType":"ElementaryTypeName","src":"36457:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19993,"mutability":"mutable","name":"recursive","nameLocation":"36484:9:13","nodeType":"VariableDeclaration","scope":19996,"src":"36479:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19992,"name":"bool","nodeType":"ElementaryTypeName","src":"36479:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36456:38:13"},"returnParameters":{"id":19995,"nodeType":"ParameterList","parameters":[],"src":"36503:0:13"},"scope":22388,"src":"36438:66:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":19997,"nodeType":"StructuredDocumentation","src":"36510:322:13","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","id":20002,"implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"36846:10:13","nodeType":"FunctionDefinition","parameters":{"id":20000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19999,"mutability":"mutable","name":"path","nameLocation":"36873:4:13","nodeType":"VariableDeclaration","scope":20002,"src":"36857:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":19998,"name":"string","nodeType":"ElementaryTypeName","src":"36857:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36856:22:13"},"returnParameters":{"id":20001,"nodeType":"ParameterList","parameters":[],"src":"36887:0:13"},"scope":22388,"src":"36837:51:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20003,"nodeType":"StructuredDocumentation","src":"36894:96:13","text":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"functionSelector":"f45c1ce7","id":20012,"implemented":false,"kind":"function","modifiers":[],"name":"tryFfi","nameLocation":"37004:6:13","nodeType":"FunctionDefinition","parameters":{"id":20007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20006,"mutability":"mutable","name":"commandInput","nameLocation":"37029:12:13","nodeType":"VariableDeclaration","scope":20012,"src":"37011:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":20004,"name":"string","nodeType":"ElementaryTypeName","src":"37011:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":20005,"nodeType":"ArrayTypeName","src":"37011:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"37010:32:13"},"returnParameters":{"id":20011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20010,"mutability":"mutable","name":"result","nameLocation":"37078:6:13","nodeType":"VariableDeclaration","scope":20012,"src":"37061:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$18909_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":20009,"nodeType":"UserDefinedTypeName","pathNode":{"id":20008,"name":"FfiResult","nameLocations":["37061:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":18909,"src":"37061:9:13"},"referencedDeclaration":18909,"src":"37061:9:13","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$18909_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"37060:25:13"},"scope":22388,"src":"36995:91:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20013,"nodeType":"StructuredDocumentation","src":"37092:54:13","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","id":20018,"implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"37160:8:13","nodeType":"FunctionDefinition","parameters":{"id":20014,"nodeType":"ParameterList","parameters":[],"src":"37168:2:13"},"returnParameters":{"id":20017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20016,"mutability":"mutable","name":"milliseconds","nameLocation":"37197:12:13","nodeType":"VariableDeclaration","scope":20018,"src":"37189:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20015,"name":"uint256","nodeType":"ElementaryTypeName","src":"37189:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37188:22:13"},"scope":22388,"src":"37151:60:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20019,"nodeType":"StructuredDocumentation","src":"37217:158:13","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","id":20026,"implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"37389:9:13","nodeType":"FunctionDefinition","parameters":{"id":20024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20021,"mutability":"mutable","name":"path","nameLocation":"37415:4:13","nodeType":"VariableDeclaration","scope":20026,"src":"37399:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20020,"name":"string","nodeType":"ElementaryTypeName","src":"37399:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20023,"mutability":"mutable","name":"data","nameLocation":"37437:4:13","nodeType":"VariableDeclaration","scope":20026,"src":"37421:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20022,"name":"string","nodeType":"ElementaryTypeName","src":"37421:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37398:44:13"},"returnParameters":{"id":20025,"nodeType":"ParameterList","parameters":[],"src":"37451:0:13"},"scope":22388,"src":"37380:72:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20027,"nodeType":"StructuredDocumentation","src":"37458:167:13","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","id":20034,"implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"37639:15:13","nodeType":"FunctionDefinition","parameters":{"id":20032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20029,"mutability":"mutable","name":"path","nameLocation":"37671:4:13","nodeType":"VariableDeclaration","scope":20034,"src":"37655:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20028,"name":"string","nodeType":"ElementaryTypeName","src":"37655:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20031,"mutability":"mutable","name":"data","nameLocation":"37692:4:13","nodeType":"VariableDeclaration","scope":20034,"src":"37677:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20030,"name":"bytes","nodeType":"ElementaryTypeName","src":"37677:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37654:43:13"},"returnParameters":{"id":20033,"nodeType":"ParameterList","parameters":[],"src":"37706:0:13"},"scope":22388,"src":"37630:77:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20035,"nodeType":"StructuredDocumentation","src":"37713:110:13","text":"Writes line to file, creating a file if it does not exist.\n `path` is relative to the project root."},"functionSelector":"619d897f","id":20042,"implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"37837:9:13","nodeType":"FunctionDefinition","parameters":{"id":20040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20037,"mutability":"mutable","name":"path","nameLocation":"37863:4:13","nodeType":"VariableDeclaration","scope":20042,"src":"37847:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20036,"name":"string","nodeType":"ElementaryTypeName","src":"37847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20039,"mutability":"mutable","name":"data","nameLocation":"37885:4:13","nodeType":"VariableDeclaration","scope":20042,"src":"37869:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20038,"name":"string","nodeType":"ElementaryTypeName","src":"37869:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37846:44:13"},"returnParameters":{"id":20041,"nodeType":"ParameterList","parameters":[],"src":"37899:0:13"},"scope":22388,"src":"37828:72:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20043,"nodeType":"StructuredDocumentation","src":"37937:44:13","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","id":20052,"implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"37995:13:13","nodeType":"FunctionDefinition","parameters":{"id":20048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20045,"mutability":"mutable","name":"json","nameLocation":"38025:4:13","nodeType":"VariableDeclaration","scope":20052,"src":"38009:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20044,"name":"string","nodeType":"ElementaryTypeName","src":"38009:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20047,"mutability":"mutable","name":"key","nameLocation":"38047:3:13","nodeType":"VariableDeclaration","scope":20052,"src":"38031:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20046,"name":"string","nodeType":"ElementaryTypeName","src":"38031:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38008:43:13"},"returnParameters":{"id":20051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20052,"src":"38075:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20049,"name":"bool","nodeType":"ElementaryTypeName","src":"38075:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38074:6:13"},"scope":22388,"src":"37986:95:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":20053,"nodeType":"StructuredDocumentation","src":"38087:70:13","text":"Parses a string of JSON data at `key` and coerces it to `address`."},"functionSelector":"1e19e657","id":20062,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"38171:16:13","nodeType":"FunctionDefinition","parameters":{"id":20058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20055,"mutability":"mutable","name":"json","nameLocation":"38204:4:13","nodeType":"VariableDeclaration","scope":20062,"src":"38188:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20054,"name":"string","nodeType":"ElementaryTypeName","src":"38188:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20057,"mutability":"mutable","name":"key","nameLocation":"38226:3:13","nodeType":"VariableDeclaration","scope":20062,"src":"38210:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20056,"name":"string","nodeType":"ElementaryTypeName","src":"38210:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38187:43:13"},"returnParameters":{"id":20061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20062,"src":"38254:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20059,"name":"address","nodeType":"ElementaryTypeName","src":"38254:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38253:9:13"},"scope":22388,"src":"38162:101:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20063,"nodeType":"StructuredDocumentation","src":"38269:72:13","text":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"functionSelector":"2fce7883","id":20073,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"38355:21:13","nodeType":"FunctionDefinition","parameters":{"id":20068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20065,"mutability":"mutable","name":"json","nameLocation":"38393:4:13","nodeType":"VariableDeclaration","scope":20073,"src":"38377:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20064,"name":"string","nodeType":"ElementaryTypeName","src":"38377:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20067,"mutability":"mutable","name":"key","nameLocation":"38415:3:13","nodeType":"VariableDeclaration","scope":20073,"src":"38399:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20066,"name":"string","nodeType":"ElementaryTypeName","src":"38399:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38376:43:13"},"returnParameters":{"id":20072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20073,"src":"38467:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20069,"name":"address","nodeType":"ElementaryTypeName","src":"38467:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20070,"nodeType":"ArrayTypeName","src":"38467:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"38466:18:13"},"scope":22388,"src":"38346:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20074,"nodeType":"StructuredDocumentation","src":"38491:67:13","text":"Parses a string of JSON data at `key` and coerces it to `bool`."},"functionSelector":"9f86dc91","id":20083,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"38572:13:13","nodeType":"FunctionDefinition","parameters":{"id":20079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20076,"mutability":"mutable","name":"json","nameLocation":"38602:4:13","nodeType":"VariableDeclaration","scope":20083,"src":"38586:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20075,"name":"string","nodeType":"ElementaryTypeName","src":"38586:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20078,"mutability":"mutable","name":"key","nameLocation":"38624:3:13","nodeType":"VariableDeclaration","scope":20083,"src":"38608:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20077,"name":"string","nodeType":"ElementaryTypeName","src":"38608:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38585:43:13"},"returnParameters":{"id":20082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20083,"src":"38652:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20080,"name":"bool","nodeType":"ElementaryTypeName","src":"38652:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38651:6:13"},"scope":22388,"src":"38563:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20084,"nodeType":"StructuredDocumentation","src":"38664:69:13","text":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"functionSelector":"91f3b94f","id":20094,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"38747:18:13","nodeType":"FunctionDefinition","parameters":{"id":20089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20086,"mutability":"mutable","name":"json","nameLocation":"38782:4:13","nodeType":"VariableDeclaration","scope":20094,"src":"38766:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20085,"name":"string","nodeType":"ElementaryTypeName","src":"38766:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20088,"mutability":"mutable","name":"key","nameLocation":"38804:3:13","nodeType":"VariableDeclaration","scope":20094,"src":"38788:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20087,"name":"string","nodeType":"ElementaryTypeName","src":"38788:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38765:43:13"},"returnParameters":{"id":20093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20092,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20094,"src":"38832:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":20090,"name":"bool","nodeType":"ElementaryTypeName","src":"38832:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20091,"nodeType":"ArrayTypeName","src":"38832:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"38831:15:13"},"scope":22388,"src":"38738:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20095,"nodeType":"StructuredDocumentation","src":"38853:68:13","text":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"functionSelector":"fd921be8","id":20104,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"38935:14:13","nodeType":"FunctionDefinition","parameters":{"id":20100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20097,"mutability":"mutable","name":"json","nameLocation":"38966:4:13","nodeType":"VariableDeclaration","scope":20104,"src":"38950:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20096,"name":"string","nodeType":"ElementaryTypeName","src":"38950:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20099,"mutability":"mutable","name":"key","nameLocation":"38988:3:13","nodeType":"VariableDeclaration","scope":20104,"src":"38972:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20098,"name":"string","nodeType":"ElementaryTypeName","src":"38972:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38949:43:13"},"returnParameters":{"id":20103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20104,"src":"39016:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20101,"name":"bytes","nodeType":"ElementaryTypeName","src":"39016:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39015:14:13"},"scope":22388,"src":"38926:104:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20105,"nodeType":"StructuredDocumentation","src":"39036:70:13","text":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"functionSelector":"1777e59d","id":20114,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"39120:16:13","nodeType":"FunctionDefinition","parameters":{"id":20110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20107,"mutability":"mutable","name":"json","nameLocation":"39153:4:13","nodeType":"VariableDeclaration","scope":20114,"src":"39137:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20106,"name":"string","nodeType":"ElementaryTypeName","src":"39137:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20109,"mutability":"mutable","name":"key","nameLocation":"39175:3:13","nodeType":"VariableDeclaration","scope":20114,"src":"39159:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20108,"name":"string","nodeType":"ElementaryTypeName","src":"39159:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39136:43:13"},"returnParameters":{"id":20113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20114,"src":"39203:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39203:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39202:9:13"},"scope":22388,"src":"39111:101:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20115,"nodeType":"StructuredDocumentation","src":"39218:72:13","text":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"functionSelector":"91c75bc3","id":20125,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"39304:21:13","nodeType":"FunctionDefinition","parameters":{"id":20120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20117,"mutability":"mutable","name":"json","nameLocation":"39342:4:13","nodeType":"VariableDeclaration","scope":20125,"src":"39326:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20116,"name":"string","nodeType":"ElementaryTypeName","src":"39326:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20119,"mutability":"mutable","name":"key","nameLocation":"39364:3:13","nodeType":"VariableDeclaration","scope":20125,"src":"39348:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20118,"name":"string","nodeType":"ElementaryTypeName","src":"39348:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39325:43:13"},"returnParameters":{"id":20124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20123,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20125,"src":"39416:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":20121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39416:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20122,"nodeType":"ArrayTypeName","src":"39416:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"39415:18:13"},"scope":22388,"src":"39295:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20126,"nodeType":"StructuredDocumentation","src":"39440:70:13","text":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"functionSelector":"6631aa99","id":20136,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"39524:19:13","nodeType":"FunctionDefinition","parameters":{"id":20131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20128,"mutability":"mutable","name":"json","nameLocation":"39560:4:13","nodeType":"VariableDeclaration","scope":20136,"src":"39544:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20127,"name":"string","nodeType":"ElementaryTypeName","src":"39544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20130,"mutability":"mutable","name":"key","nameLocation":"39582:3:13","nodeType":"VariableDeclaration","scope":20136,"src":"39566:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20129,"name":"string","nodeType":"ElementaryTypeName","src":"39566:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39543:43:13"},"returnParameters":{"id":20135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20136,"src":"39610:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":20132,"name":"bytes","nodeType":"ElementaryTypeName","src":"39610:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":20133,"nodeType":"ArrayTypeName","src":"39610:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"39609:16:13"},"scope":22388,"src":"39515:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20137,"nodeType":"StructuredDocumentation","src":"39632:69:13","text":"Parses a string of JSON data at `key` and coerces it to `int256`."},"functionSelector":"7b048ccd","id":20146,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"39715:12:13","nodeType":"FunctionDefinition","parameters":{"id":20142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20139,"mutability":"mutable","name":"json","nameLocation":"39744:4:13","nodeType":"VariableDeclaration","scope":20146,"src":"39728:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20138,"name":"string","nodeType":"ElementaryTypeName","src":"39728:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20141,"mutability":"mutable","name":"key","nameLocation":"39766:3:13","nodeType":"VariableDeclaration","scope":20146,"src":"39750:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20140,"name":"string","nodeType":"ElementaryTypeName","src":"39750:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39727:43:13"},"returnParameters":{"id":20145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20146,"src":"39794:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20143,"name":"int256","nodeType":"ElementaryTypeName","src":"39794:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"39793:8:13"},"scope":22388,"src":"39706:96:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20147,"nodeType":"StructuredDocumentation","src":"39808:71:13","text":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"functionSelector":"9983c28a","id":20157,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"39893:17:13","nodeType":"FunctionDefinition","parameters":{"id":20152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20149,"mutability":"mutable","name":"json","nameLocation":"39927:4:13","nodeType":"VariableDeclaration","scope":20157,"src":"39911:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20148,"name":"string","nodeType":"ElementaryTypeName","src":"39911:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20151,"mutability":"mutable","name":"key","nameLocation":"39949:3:13","nodeType":"VariableDeclaration","scope":20157,"src":"39933:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20150,"name":"string","nodeType":"ElementaryTypeName","src":"39933:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39910:43:13"},"returnParameters":{"id":20156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20157,"src":"39977:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":20153,"name":"int256","nodeType":"ElementaryTypeName","src":"39977:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":20154,"nodeType":"ArrayTypeName","src":"39977:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"39976:17:13"},"scope":22388,"src":"39884:110:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20158,"nodeType":"StructuredDocumentation","src":"40000:54:13","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","id":20168,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"40068:13:13","nodeType":"FunctionDefinition","parameters":{"id":20163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20160,"mutability":"mutable","name":"json","nameLocation":"40098:4:13","nodeType":"VariableDeclaration","scope":20168,"src":"40082:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20159,"name":"string","nodeType":"ElementaryTypeName","src":"40082:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20162,"mutability":"mutable","name":"key","nameLocation":"40120:3:13","nodeType":"VariableDeclaration","scope":20168,"src":"40104:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20161,"name":"string","nodeType":"ElementaryTypeName","src":"40104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40081:43:13"},"returnParameters":{"id":20167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20166,"mutability":"mutable","name":"keys","nameLocation":"40164:4:13","nodeType":"VariableDeclaration","scope":20168,"src":"40148:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":20164,"name":"string","nodeType":"ElementaryTypeName","src":"40148:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":20165,"nodeType":"ArrayTypeName","src":"40148:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40147:22:13"},"scope":22388,"src":"40059:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20169,"nodeType":"StructuredDocumentation","src":"40176:69:13","text":"Parses a string of JSON data at `key` and coerces it to `string`."},"functionSelector":"49c4fac8","id":20178,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"40259:15:13","nodeType":"FunctionDefinition","parameters":{"id":20174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20171,"mutability":"mutable","name":"json","nameLocation":"40291:4:13","nodeType":"VariableDeclaration","scope":20178,"src":"40275:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20170,"name":"string","nodeType":"ElementaryTypeName","src":"40275:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20173,"mutability":"mutable","name":"key","nameLocation":"40313:3:13","nodeType":"VariableDeclaration","scope":20178,"src":"40297:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20172,"name":"string","nodeType":"ElementaryTypeName","src":"40297:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40274:43:13"},"returnParameters":{"id":20177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20178,"src":"40341:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20175,"name":"string","nodeType":"ElementaryTypeName","src":"40341:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40340:15:13"},"scope":22388,"src":"40250:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20179,"nodeType":"StructuredDocumentation","src":"40362:71:13","text":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"functionSelector":"498fdcf4","id":20189,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"40447:20:13","nodeType":"FunctionDefinition","parameters":{"id":20184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20181,"mutability":"mutable","name":"json","nameLocation":"40484:4:13","nodeType":"VariableDeclaration","scope":20189,"src":"40468:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20180,"name":"string","nodeType":"ElementaryTypeName","src":"40468:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20183,"mutability":"mutable","name":"key","nameLocation":"40506:3:13","nodeType":"VariableDeclaration","scope":20189,"src":"40490:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20182,"name":"string","nodeType":"ElementaryTypeName","src":"40490:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40467:43:13"},"returnParameters":{"id":20188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20189,"src":"40534:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":20185,"name":"string","nodeType":"ElementaryTypeName","src":"40534:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":20186,"nodeType":"ArrayTypeName","src":"40534:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40533:17:13"},"scope":22388,"src":"40438:113:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20190,"nodeType":"StructuredDocumentation","src":"40557:106:13","text":"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"0175d535","id":20201,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonTypeArray","nameLocation":"40677:18:13","nodeType":"FunctionDefinition","parameters":{"id":20197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20192,"mutability":"mutable","name":"json","nameLocation":"40712:4:13","nodeType":"VariableDeclaration","scope":20201,"src":"40696:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20191,"name":"string","nodeType":"ElementaryTypeName","src":"40696:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20194,"mutability":"mutable","name":"key","nameLocation":"40734:3:13","nodeType":"VariableDeclaration","scope":20201,"src":"40718:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20193,"name":"string","nodeType":"ElementaryTypeName","src":"40718:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20196,"mutability":"mutable","name":"typeDescription","nameLocation":"40755:15:13","nodeType":"VariableDeclaration","scope":20201,"src":"40739:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20195,"name":"string","nodeType":"ElementaryTypeName","src":"40739:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40695:76:13"},"returnParameters":{"id":20200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20201,"src":"40819:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20198,"name":"bytes","nodeType":"ElementaryTypeName","src":"40819:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40818:14:13"},"scope":22388,"src":"40668:165:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20202,"nodeType":"StructuredDocumentation","src":"40839:91:13","text":"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"a9da313b","id":20211,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"40944:13:13","nodeType":"FunctionDefinition","parameters":{"id":20207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20204,"mutability":"mutable","name":"json","nameLocation":"40974:4:13","nodeType":"VariableDeclaration","scope":20211,"src":"40958:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20203,"name":"string","nodeType":"ElementaryTypeName","src":"40958:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20206,"mutability":"mutable","name":"typeDescription","nameLocation":"40996:15:13","nodeType":"VariableDeclaration","scope":20211,"src":"40980:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20205,"name":"string","nodeType":"ElementaryTypeName","src":"40980:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40957:55:13"},"returnParameters":{"id":20210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20211,"src":"41060:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20208,"name":"bytes","nodeType":"ElementaryTypeName","src":"41060:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41059:14:13"},"scope":22388,"src":"40935:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20212,"nodeType":"StructuredDocumentation","src":"41080:100:13","text":"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"e3f5ae33","id":20223,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"41194:13:13","nodeType":"FunctionDefinition","parameters":{"id":20219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20214,"mutability":"mutable","name":"json","nameLocation":"41224:4:13","nodeType":"VariableDeclaration","scope":20223,"src":"41208:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20213,"name":"string","nodeType":"ElementaryTypeName","src":"41208:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20216,"mutability":"mutable","name":"key","nameLocation":"41246:3:13","nodeType":"VariableDeclaration","scope":20223,"src":"41230:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20215,"name":"string","nodeType":"ElementaryTypeName","src":"41230:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20218,"mutability":"mutable","name":"typeDescription","nameLocation":"41267:15:13","nodeType":"VariableDeclaration","scope":20223,"src":"41251:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20217,"name":"string","nodeType":"ElementaryTypeName","src":"41251:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41207:76:13"},"returnParameters":{"id":20222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20223,"src":"41331:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20220,"name":"bytes","nodeType":"ElementaryTypeName","src":"41331:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41330:14:13"},"scope":22388,"src":"41185:160:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20224,"nodeType":"StructuredDocumentation","src":"41351:70:13","text":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"functionSelector":"addde2b6","id":20233,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"41435:13:13","nodeType":"FunctionDefinition","parameters":{"id":20229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20226,"mutability":"mutable","name":"json","nameLocation":"41465:4:13","nodeType":"VariableDeclaration","scope":20233,"src":"41449:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20225,"name":"string","nodeType":"ElementaryTypeName","src":"41449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20228,"mutability":"mutable","name":"key","nameLocation":"41487:3:13","nodeType":"VariableDeclaration","scope":20233,"src":"41471:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20227,"name":"string","nodeType":"ElementaryTypeName","src":"41471:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41448:43:13"},"returnParameters":{"id":20232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20231,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20233,"src":"41515:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20230,"name":"uint256","nodeType":"ElementaryTypeName","src":"41515:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41514:9:13"},"scope":22388,"src":"41426:98:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20234,"nodeType":"StructuredDocumentation","src":"41530:72:13","text":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"functionSelector":"522074ab","id":20244,"implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"41616:18:13","nodeType":"FunctionDefinition","parameters":{"id":20239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20236,"mutability":"mutable","name":"json","nameLocation":"41651:4:13","nodeType":"VariableDeclaration","scope":20244,"src":"41635:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20235,"name":"string","nodeType":"ElementaryTypeName","src":"41635:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20238,"mutability":"mutable","name":"key","nameLocation":"41673:3:13","nodeType":"VariableDeclaration","scope":20244,"src":"41657:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20237,"name":"string","nodeType":"ElementaryTypeName","src":"41657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41634:43:13"},"returnParameters":{"id":20243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20244,"src":"41701:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":20240,"name":"uint256","nodeType":"ElementaryTypeName","src":"41701:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20241,"nodeType":"ArrayTypeName","src":"41701:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"41700:18:13"},"scope":22388,"src":"41607:112:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20245,"nodeType":"StructuredDocumentation","src":"41725:30:13","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","id":20252,"implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"41769:9:13","nodeType":"FunctionDefinition","parameters":{"id":20248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20247,"mutability":"mutable","name":"json","nameLocation":"41795:4:13","nodeType":"VariableDeclaration","scope":20252,"src":"41779:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20246,"name":"string","nodeType":"ElementaryTypeName","src":"41779:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41778:22:13"},"returnParameters":{"id":20251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20250,"mutability":"mutable","name":"abiEncodedData","nameLocation":"41837:14:13","nodeType":"VariableDeclaration","scope":20252,"src":"41824:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20249,"name":"bytes","nodeType":"ElementaryTypeName","src":"41824:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41823:29:13"},"scope":22388,"src":"41760:93:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20253,"nodeType":"StructuredDocumentation","src":"41859:39:13","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","id":20262,"implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"41912:9:13","nodeType":"FunctionDefinition","parameters":{"id":20258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20255,"mutability":"mutable","name":"json","nameLocation":"41938:4:13","nodeType":"VariableDeclaration","scope":20262,"src":"41922:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20254,"name":"string","nodeType":"ElementaryTypeName","src":"41922:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20257,"mutability":"mutable","name":"key","nameLocation":"41960:3:13","nodeType":"VariableDeclaration","scope":20262,"src":"41944:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20256,"name":"string","nodeType":"ElementaryTypeName","src":"41944:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41921:43:13"},"returnParameters":{"id":20261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20260,"mutability":"mutable","name":"abiEncodedData","nameLocation":"42001:14:13","nodeType":"VariableDeclaration","scope":20262,"src":"41988:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20259,"name":"bytes","nodeType":"ElementaryTypeName","src":"41988:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41987:29:13"},"scope":22388,"src":"41903:114:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20263,"nodeType":"StructuredDocumentation","src":"42023:24:13","text":"See `serializeJson`."},"functionSelector":"972c6062","id":20274,"implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"42061:16:13","nodeType":"FunctionDefinition","parameters":{"id":20270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20265,"mutability":"mutable","name":"objectKey","nameLocation":"42094:9:13","nodeType":"VariableDeclaration","scope":20274,"src":"42078:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20264,"name":"string","nodeType":"ElementaryTypeName","src":"42078:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20267,"mutability":"mutable","name":"valueKey","nameLocation":"42121:8:13","nodeType":"VariableDeclaration","scope":20274,"src":"42105:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20266,"name":"string","nodeType":"ElementaryTypeName","src":"42105:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20269,"mutability":"mutable","name":"value","nameLocation":"42139:5:13","nodeType":"VariableDeclaration","scope":20274,"src":"42131:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20268,"name":"address","nodeType":"ElementaryTypeName","src":"42131:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42077:68:13"},"returnParameters":{"id":20273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20272,"mutability":"mutable","name":"json","nameLocation":"42194:4:13","nodeType":"VariableDeclaration","scope":20274,"src":"42180:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20271,"name":"string","nodeType":"ElementaryTypeName","src":"42180:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42179:20:13"},"scope":22388,"src":"42052:148:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20275,"nodeType":"StructuredDocumentation","src":"42206:24:13","text":"See `serializeJson`."},"functionSelector":"1e356e1a","id":20287,"implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"42244:16:13","nodeType":"FunctionDefinition","parameters":{"id":20283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20277,"mutability":"mutable","name":"objectKey","nameLocation":"42277:9:13","nodeType":"VariableDeclaration","scope":20287,"src":"42261:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20276,"name":"string","nodeType":"ElementaryTypeName","src":"42261:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20279,"mutability":"mutable","name":"valueKey","nameLocation":"42304:8:13","nodeType":"VariableDeclaration","scope":20287,"src":"42288:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20278,"name":"string","nodeType":"ElementaryTypeName","src":"42288:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20282,"mutability":"mutable","name":"values","nameLocation":"42333:6:13","nodeType":"VariableDeclaration","scope":20287,"src":"42314:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20280,"name":"address","nodeType":"ElementaryTypeName","src":"42314:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20281,"nodeType":"ArrayTypeName","src":"42314:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"42260:80:13"},"returnParameters":{"id":20286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20285,"mutability":"mutable","name":"json","nameLocation":"42389:4:13","nodeType":"VariableDeclaration","scope":20287,"src":"42375:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20284,"name":"string","nodeType":"ElementaryTypeName","src":"42375:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42374:20:13"},"scope":22388,"src":"42235:160:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20288,"nodeType":"StructuredDocumentation","src":"42401:24:13","text":"See `serializeJson`."},"functionSelector":"ac22e971","id":20299,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"42439:13:13","nodeType":"FunctionDefinition","parameters":{"id":20295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20290,"mutability":"mutable","name":"objectKey","nameLocation":"42469:9:13","nodeType":"VariableDeclaration","scope":20299,"src":"42453:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20289,"name":"string","nodeType":"ElementaryTypeName","src":"42453:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20292,"mutability":"mutable","name":"valueKey","nameLocation":"42496:8:13","nodeType":"VariableDeclaration","scope":20299,"src":"42480:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20291,"name":"string","nodeType":"ElementaryTypeName","src":"42480:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20294,"mutability":"mutable","name":"value","nameLocation":"42511:5:13","nodeType":"VariableDeclaration","scope":20299,"src":"42506:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20293,"name":"bool","nodeType":"ElementaryTypeName","src":"42506:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42452:65:13"},"returnParameters":{"id":20298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20297,"mutability":"mutable","name":"json","nameLocation":"42566:4:13","nodeType":"VariableDeclaration","scope":20299,"src":"42552:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20296,"name":"string","nodeType":"ElementaryTypeName","src":"42552:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42551:20:13"},"scope":22388,"src":"42430:142:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20300,"nodeType":"StructuredDocumentation","src":"42578:24:13","text":"See `serializeJson`."},"functionSelector":"92925aa1","id":20312,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"42616:13:13","nodeType":"FunctionDefinition","parameters":{"id":20308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20302,"mutability":"mutable","name":"objectKey","nameLocation":"42646:9:13","nodeType":"VariableDeclaration","scope":20312,"src":"42630:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20301,"name":"string","nodeType":"ElementaryTypeName","src":"42630:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20304,"mutability":"mutable","name":"valueKey","nameLocation":"42673:8:13","nodeType":"VariableDeclaration","scope":20312,"src":"42657:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20303,"name":"string","nodeType":"ElementaryTypeName","src":"42657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20307,"mutability":"mutable","name":"values","nameLocation":"42699:6:13","nodeType":"VariableDeclaration","scope":20312,"src":"42683:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":20305,"name":"bool","nodeType":"ElementaryTypeName","src":"42683:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":20306,"nodeType":"ArrayTypeName","src":"42683:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"42629:77:13"},"returnParameters":{"id":20311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20310,"mutability":"mutable","name":"json","nameLocation":"42755:4:13","nodeType":"VariableDeclaration","scope":20312,"src":"42741:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20309,"name":"string","nodeType":"ElementaryTypeName","src":"42741:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42740:20:13"},"scope":22388,"src":"42607:154:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20313,"nodeType":"StructuredDocumentation","src":"42767:24:13","text":"See `serializeJson`."},"functionSelector":"2d812b44","id":20324,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"42805:16:13","nodeType":"FunctionDefinition","parameters":{"id":20320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20315,"mutability":"mutable","name":"objectKey","nameLocation":"42838:9:13","nodeType":"VariableDeclaration","scope":20324,"src":"42822:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20314,"name":"string","nodeType":"ElementaryTypeName","src":"42822:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20317,"mutability":"mutable","name":"valueKey","nameLocation":"42865:8:13","nodeType":"VariableDeclaration","scope":20324,"src":"42849:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20316,"name":"string","nodeType":"ElementaryTypeName","src":"42849:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20319,"mutability":"mutable","name":"value","nameLocation":"42883:5:13","nodeType":"VariableDeclaration","scope":20324,"src":"42875:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42875:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"42821:68:13"},"returnParameters":{"id":20323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20322,"mutability":"mutable","name":"json","nameLocation":"42938:4:13","nodeType":"VariableDeclaration","scope":20324,"src":"42924:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20321,"name":"string","nodeType":"ElementaryTypeName","src":"42924:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42923:20:13"},"scope":22388,"src":"42796:148:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20325,"nodeType":"StructuredDocumentation","src":"42950:24:13","text":"See `serializeJson`."},"functionSelector":"201e43e2","id":20337,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"42988:16:13","nodeType":"FunctionDefinition","parameters":{"id":20333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20327,"mutability":"mutable","name":"objectKey","nameLocation":"43021:9:13","nodeType":"VariableDeclaration","scope":20337,"src":"43005:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20326,"name":"string","nodeType":"ElementaryTypeName","src":"43005:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20329,"mutability":"mutable","name":"valueKey","nameLocation":"43048:8:13","nodeType":"VariableDeclaration","scope":20337,"src":"43032:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20328,"name":"string","nodeType":"ElementaryTypeName","src":"43032:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20332,"mutability":"mutable","name":"values","nameLocation":"43077:6:13","nodeType":"VariableDeclaration","scope":20337,"src":"43058:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":20330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43058:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":20331,"nodeType":"ArrayTypeName","src":"43058:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"43004:80:13"},"returnParameters":{"id":20336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20335,"mutability":"mutable","name":"json","nameLocation":"43133:4:13","nodeType":"VariableDeclaration","scope":20337,"src":"43119:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20334,"name":"string","nodeType":"ElementaryTypeName","src":"43119:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43118:20:13"},"scope":22388,"src":"42979:160:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20338,"nodeType":"StructuredDocumentation","src":"43145:24:13","text":"See `serializeJson`."},"functionSelector":"f21d52c7","id":20349,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"43183:14:13","nodeType":"FunctionDefinition","parameters":{"id":20345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20340,"mutability":"mutable","name":"objectKey","nameLocation":"43214:9:13","nodeType":"VariableDeclaration","scope":20349,"src":"43198:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20339,"name":"string","nodeType":"ElementaryTypeName","src":"43198:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20342,"mutability":"mutable","name":"valueKey","nameLocation":"43241:8:13","nodeType":"VariableDeclaration","scope":20349,"src":"43225:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20341,"name":"string","nodeType":"ElementaryTypeName","src":"43225:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20344,"mutability":"mutable","name":"value","nameLocation":"43266:5:13","nodeType":"VariableDeclaration","scope":20349,"src":"43251:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20343,"name":"bytes","nodeType":"ElementaryTypeName","src":"43251:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"43197:75:13"},"returnParameters":{"id":20348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20347,"mutability":"mutable","name":"json","nameLocation":"43321:4:13","nodeType":"VariableDeclaration","scope":20349,"src":"43307:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20346,"name":"string","nodeType":"ElementaryTypeName","src":"43307:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43306:20:13"},"scope":22388,"src":"43174:153:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20350,"nodeType":"StructuredDocumentation","src":"43333:24:13","text":"See `serializeJson`."},"functionSelector":"9884b232","id":20362,"implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"43371:14:13","nodeType":"FunctionDefinition","parameters":{"id":20358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20352,"mutability":"mutable","name":"objectKey","nameLocation":"43402:9:13","nodeType":"VariableDeclaration","scope":20362,"src":"43386:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20351,"name":"string","nodeType":"ElementaryTypeName","src":"43386:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20354,"mutability":"mutable","name":"valueKey","nameLocation":"43429:8:13","nodeType":"VariableDeclaration","scope":20362,"src":"43413:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20353,"name":"string","nodeType":"ElementaryTypeName","src":"43413:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20357,"mutability":"mutable","name":"values","nameLocation":"43456:6:13","nodeType":"VariableDeclaration","scope":20362,"src":"43439:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":20355,"name":"bytes","nodeType":"ElementaryTypeName","src":"43439:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":20356,"nodeType":"ArrayTypeName","src":"43439:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"43385:78:13"},"returnParameters":{"id":20361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20360,"mutability":"mutable","name":"json","nameLocation":"43512:4:13","nodeType":"VariableDeclaration","scope":20362,"src":"43498:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20359,"name":"string","nodeType":"ElementaryTypeName","src":"43498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43497:20:13"},"scope":22388,"src":"43362:156:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20363,"nodeType":"StructuredDocumentation","src":"43524:24:13","text":"See `serializeJson`."},"functionSelector":"3f33db60","id":20374,"implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"43562:12:13","nodeType":"FunctionDefinition","parameters":{"id":20370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20365,"mutability":"mutable","name":"objectKey","nameLocation":"43591:9:13","nodeType":"VariableDeclaration","scope":20374,"src":"43575:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20364,"name":"string","nodeType":"ElementaryTypeName","src":"43575:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20367,"mutability":"mutable","name":"valueKey","nameLocation":"43618:8:13","nodeType":"VariableDeclaration","scope":20374,"src":"43602:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20366,"name":"string","nodeType":"ElementaryTypeName","src":"43602:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20369,"mutability":"mutable","name":"value","nameLocation":"43635:5:13","nodeType":"VariableDeclaration","scope":20374,"src":"43628:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20368,"name":"int256","nodeType":"ElementaryTypeName","src":"43628:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"43574:67:13"},"returnParameters":{"id":20373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20372,"mutability":"mutable","name":"json","nameLocation":"43690:4:13","nodeType":"VariableDeclaration","scope":20374,"src":"43676:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20371,"name":"string","nodeType":"ElementaryTypeName","src":"43676:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43675:20:13"},"scope":22388,"src":"43553:143:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20375,"nodeType":"StructuredDocumentation","src":"43702:24:13","text":"See `serializeJson`."},"functionSelector":"7676e127","id":20387,"implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"43740:12:13","nodeType":"FunctionDefinition","parameters":{"id":20383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20377,"mutability":"mutable","name":"objectKey","nameLocation":"43769:9:13","nodeType":"VariableDeclaration","scope":20387,"src":"43753:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20376,"name":"string","nodeType":"ElementaryTypeName","src":"43753:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20379,"mutability":"mutable","name":"valueKey","nameLocation":"43796:8:13","nodeType":"VariableDeclaration","scope":20387,"src":"43780:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20378,"name":"string","nodeType":"ElementaryTypeName","src":"43780:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20382,"mutability":"mutable","name":"values","nameLocation":"43824:6:13","nodeType":"VariableDeclaration","scope":20387,"src":"43806:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":20380,"name":"int256","nodeType":"ElementaryTypeName","src":"43806:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":20381,"nodeType":"ArrayTypeName","src":"43806:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"43752:79:13"},"returnParameters":{"id":20386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20385,"mutability":"mutable","name":"json","nameLocation":"43880:4:13","nodeType":"VariableDeclaration","scope":20387,"src":"43866:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20384,"name":"string","nodeType":"ElementaryTypeName","src":"43866:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43865:20:13"},"scope":22388,"src":"43731:155:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20388,"nodeType":"StructuredDocumentation","src":"43892:186:13","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","id":20397,"implemented":false,"kind":"function","modifiers":[],"name":"serializeJson","nameLocation":"44092:13:13","nodeType":"FunctionDefinition","parameters":{"id":20393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20390,"mutability":"mutable","name":"objectKey","nameLocation":"44122:9:13","nodeType":"VariableDeclaration","scope":20397,"src":"44106:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20389,"name":"string","nodeType":"ElementaryTypeName","src":"44106:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20392,"mutability":"mutable","name":"value","nameLocation":"44149:5:13","nodeType":"VariableDeclaration","scope":20397,"src":"44133:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20391,"name":"string","nodeType":"ElementaryTypeName","src":"44133:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44105:50:13"},"returnParameters":{"id":20396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20395,"mutability":"mutable","name":"json","nameLocation":"44188:4:13","nodeType":"VariableDeclaration","scope":20397,"src":"44174:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20394,"name":"string","nodeType":"ElementaryTypeName","src":"44174:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44173:20:13"},"scope":22388,"src":"44083:111:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20398,"nodeType":"StructuredDocumentation","src":"44200:24:13","text":"See `serializeJson`."},"functionSelector":"6d4f96a6","id":20407,"implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"44238:17:13","nodeType":"FunctionDefinition","parameters":{"id":20403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20400,"mutability":"mutable","name":"typeDescription","nameLocation":"44272:15:13","nodeType":"VariableDeclaration","scope":20407,"src":"44256:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20399,"name":"string","nodeType":"ElementaryTypeName","src":"44256:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20402,"mutability":"mutable","name":"value","nameLocation":"44304:5:13","nodeType":"VariableDeclaration","scope":20407,"src":"44289:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20401,"name":"bytes","nodeType":"ElementaryTypeName","src":"44289:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"44255:55:13"},"returnParameters":{"id":20406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20405,"mutability":"mutable","name":"json","nameLocation":"44372:4:13","nodeType":"VariableDeclaration","scope":20407,"src":"44358:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20404,"name":"string","nodeType":"ElementaryTypeName","src":"44358:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44357:20:13"},"scope":22388,"src":"44229:149:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20408,"nodeType":"StructuredDocumentation","src":"44384:24:13","text":"See `serializeJson`."},"functionSelector":"6f93bccb","id":20421,"implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"44422:17:13","nodeType":"FunctionDefinition","parameters":{"id":20417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20410,"mutability":"mutable","name":"objectKey","nameLocation":"44465:9:13","nodeType":"VariableDeclaration","scope":20421,"src":"44449:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20409,"name":"string","nodeType":"ElementaryTypeName","src":"44449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20412,"mutability":"mutable","name":"valueKey","nameLocation":"44500:8:13","nodeType":"VariableDeclaration","scope":20421,"src":"44484:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20411,"name":"string","nodeType":"ElementaryTypeName","src":"44484:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20414,"mutability":"mutable","name":"typeDescription","nameLocation":"44534:15:13","nodeType":"VariableDeclaration","scope":20421,"src":"44518:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20413,"name":"string","nodeType":"ElementaryTypeName","src":"44518:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20416,"mutability":"mutable","name":"value","nameLocation":"44574:5:13","nodeType":"VariableDeclaration","scope":20421,"src":"44559:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20415,"name":"bytes","nodeType":"ElementaryTypeName","src":"44559:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"44439:146:13"},"returnParameters":{"id":20420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20419,"mutability":"mutable","name":"json","nameLocation":"44618:4:13","nodeType":"VariableDeclaration","scope":20421,"src":"44604:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20418,"name":"string","nodeType":"ElementaryTypeName","src":"44604:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44603:20:13"},"scope":22388,"src":"44413:211:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20422,"nodeType":"StructuredDocumentation","src":"44630:24:13","text":"See `serializeJson`."},"functionSelector":"88da6d35","id":20433,"implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"44668:15:13","nodeType":"FunctionDefinition","parameters":{"id":20429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20424,"mutability":"mutable","name":"objectKey","nameLocation":"44700:9:13","nodeType":"VariableDeclaration","scope":20433,"src":"44684:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20423,"name":"string","nodeType":"ElementaryTypeName","src":"44684:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20426,"mutability":"mutable","name":"valueKey","nameLocation":"44727:8:13","nodeType":"VariableDeclaration","scope":20433,"src":"44711:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20425,"name":"string","nodeType":"ElementaryTypeName","src":"44711:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20428,"mutability":"mutable","name":"value","nameLocation":"44753:5:13","nodeType":"VariableDeclaration","scope":20433,"src":"44737:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20427,"name":"string","nodeType":"ElementaryTypeName","src":"44737:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44683:76:13"},"returnParameters":{"id":20432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20431,"mutability":"mutable","name":"json","nameLocation":"44808:4:13","nodeType":"VariableDeclaration","scope":20433,"src":"44794:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20430,"name":"string","nodeType":"ElementaryTypeName","src":"44794:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44793:20:13"},"scope":22388,"src":"44659:155:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20434,"nodeType":"StructuredDocumentation","src":"44820:24:13","text":"See `serializeJson`."},"functionSelector":"561cd6f3","id":20446,"implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"44858:15:13","nodeType":"FunctionDefinition","parameters":{"id":20442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20436,"mutability":"mutable","name":"objectKey","nameLocation":"44890:9:13","nodeType":"VariableDeclaration","scope":20446,"src":"44874:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20435,"name":"string","nodeType":"ElementaryTypeName","src":"44874:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20438,"mutability":"mutable","name":"valueKey","nameLocation":"44917:8:13","nodeType":"VariableDeclaration","scope":20446,"src":"44901:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20437,"name":"string","nodeType":"ElementaryTypeName","src":"44901:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20441,"mutability":"mutable","name":"values","nameLocation":"44945:6:13","nodeType":"VariableDeclaration","scope":20446,"src":"44927:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":20439,"name":"string","nodeType":"ElementaryTypeName","src":"44927:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":20440,"nodeType":"ArrayTypeName","src":"44927:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"44873:79:13"},"returnParameters":{"id":20445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20444,"mutability":"mutable","name":"json","nameLocation":"45001:4:13","nodeType":"VariableDeclaration","scope":20446,"src":"44987:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20443,"name":"string","nodeType":"ElementaryTypeName","src":"44987:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44986:20:13"},"scope":22388,"src":"44849:158:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20447,"nodeType":"StructuredDocumentation","src":"45013:24:13","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","id":20458,"implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"45051:18:13","nodeType":"FunctionDefinition","parameters":{"id":20454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20449,"mutability":"mutable","name":"objectKey","nameLocation":"45086:9:13","nodeType":"VariableDeclaration","scope":20458,"src":"45070:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20448,"name":"string","nodeType":"ElementaryTypeName","src":"45070:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20451,"mutability":"mutable","name":"valueKey","nameLocation":"45113:8:13","nodeType":"VariableDeclaration","scope":20458,"src":"45097:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20450,"name":"string","nodeType":"ElementaryTypeName","src":"45097:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20453,"mutability":"mutable","name":"value","nameLocation":"45131:5:13","nodeType":"VariableDeclaration","scope":20458,"src":"45123:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20452,"name":"uint256","nodeType":"ElementaryTypeName","src":"45123:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45069:68:13"},"returnParameters":{"id":20457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20456,"mutability":"mutable","name":"json","nameLocation":"45186:4:13","nodeType":"VariableDeclaration","scope":20458,"src":"45172:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20455,"name":"string","nodeType":"ElementaryTypeName","src":"45172:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45171:20:13"},"scope":22388,"src":"45042:150:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20459,"nodeType":"StructuredDocumentation","src":"45198:24:13","text":"See `serializeJson`."},"functionSelector":"129e9002","id":20470,"implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"45236:13:13","nodeType":"FunctionDefinition","parameters":{"id":20466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20461,"mutability":"mutable","name":"objectKey","nameLocation":"45266:9:13","nodeType":"VariableDeclaration","scope":20470,"src":"45250:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20460,"name":"string","nodeType":"ElementaryTypeName","src":"45250:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20463,"mutability":"mutable","name":"valueKey","nameLocation":"45293:8:13","nodeType":"VariableDeclaration","scope":20470,"src":"45277:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20462,"name":"string","nodeType":"ElementaryTypeName","src":"45277:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20465,"mutability":"mutable","name":"value","nameLocation":"45311:5:13","nodeType":"VariableDeclaration","scope":20470,"src":"45303:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20464,"name":"uint256","nodeType":"ElementaryTypeName","src":"45303:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45249:68:13"},"returnParameters":{"id":20469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20468,"mutability":"mutable","name":"json","nameLocation":"45366:4:13","nodeType":"VariableDeclaration","scope":20470,"src":"45352:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20467,"name":"string","nodeType":"ElementaryTypeName","src":"45352:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45351:20:13"},"scope":22388,"src":"45227:145:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20471,"nodeType":"StructuredDocumentation","src":"45378:24:13","text":"See `serializeJson`."},"functionSelector":"fee9a469","id":20483,"implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"45416:13:13","nodeType":"FunctionDefinition","parameters":{"id":20479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20473,"mutability":"mutable","name":"objectKey","nameLocation":"45446:9:13","nodeType":"VariableDeclaration","scope":20483,"src":"45430:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20472,"name":"string","nodeType":"ElementaryTypeName","src":"45430:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20475,"mutability":"mutable","name":"valueKey","nameLocation":"45473:8:13","nodeType":"VariableDeclaration","scope":20483,"src":"45457:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20474,"name":"string","nodeType":"ElementaryTypeName","src":"45457:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20478,"mutability":"mutable","name":"values","nameLocation":"45502:6:13","nodeType":"VariableDeclaration","scope":20483,"src":"45483:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":20476,"name":"uint256","nodeType":"ElementaryTypeName","src":"45483:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":20477,"nodeType":"ArrayTypeName","src":"45483:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"45429:80:13"},"returnParameters":{"id":20482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20481,"mutability":"mutable","name":"json","nameLocation":"45558:4:13","nodeType":"VariableDeclaration","scope":20483,"src":"45544:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20480,"name":"string","nodeType":"ElementaryTypeName","src":"45544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45543:20:13"},"scope":22388,"src":"45407:157:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20484,"nodeType":"StructuredDocumentation","src":"45570:89:13","text":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"functionSelector":"e23cd19f","id":20491,"implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"45673:9:13","nodeType":"FunctionDefinition","parameters":{"id":20489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20486,"mutability":"mutable","name":"json","nameLocation":"45699:4:13","nodeType":"VariableDeclaration","scope":20491,"src":"45683:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20485,"name":"string","nodeType":"ElementaryTypeName","src":"45683:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20488,"mutability":"mutable","name":"path","nameLocation":"45721:4:13","nodeType":"VariableDeclaration","scope":20491,"src":"45705:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20487,"name":"string","nodeType":"ElementaryTypeName","src":"45705:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45682:44:13"},"returnParameters":{"id":20490,"nodeType":"ParameterList","parameters":[],"src":"45735:0:13"},"scope":22388,"src":"45664:72:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20492,"nodeType":"StructuredDocumentation","src":"45742:215:13","text":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.>\n This is useful to replace a specific value of a JSON file, without having to parse the entire thing."},"functionSelector":"35d6ad46","id":20501,"implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"45971:9:13","nodeType":"FunctionDefinition","parameters":{"id":20499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20494,"mutability":"mutable","name":"json","nameLocation":"45997:4:13","nodeType":"VariableDeclaration","scope":20501,"src":"45981:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20493,"name":"string","nodeType":"ElementaryTypeName","src":"45981:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20496,"mutability":"mutable","name":"path","nameLocation":"46019:4:13","nodeType":"VariableDeclaration","scope":20501,"src":"46003:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20495,"name":"string","nodeType":"ElementaryTypeName","src":"46003:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20498,"mutability":"mutable","name":"valueKey","nameLocation":"46041:8:13","nodeType":"VariableDeclaration","scope":20501,"src":"46025:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20497,"name":"string","nodeType":"ElementaryTypeName","src":"46025:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45980:70:13"},"returnParameters":{"id":20500,"nodeType":"ParameterList","parameters":[],"src":"46059:0:13"},"scope":22388,"src":"45962:98:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20502,"nodeType":"StructuredDocumentation","src":"46066:151:13","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","id":20511,"implemented":false,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"46231:9:13","nodeType":"FunctionDefinition","parameters":{"id":20507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20504,"mutability":"mutable","name":"json","nameLocation":"46257:4:13","nodeType":"VariableDeclaration","scope":20511,"src":"46241:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20503,"name":"string","nodeType":"ElementaryTypeName","src":"46241:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20506,"mutability":"mutable","name":"key","nameLocation":"46279:3:13","nodeType":"VariableDeclaration","scope":20511,"src":"46263:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20505,"name":"string","nodeType":"ElementaryTypeName","src":"46263:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46240:43:13"},"returnParameters":{"id":20510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20511,"src":"46307:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20508,"name":"bool","nodeType":"ElementaryTypeName","src":"46307:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46306:6:13"},"scope":22388,"src":"46222:91:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":20512,"nodeType":"StructuredDocumentation","src":"46355:64:13","text":"Takes a signed transaction and broadcasts it to the network."},"functionSelector":"8c0c72e0","id":20517,"implemented":false,"kind":"function","modifiers":[],"name":"broadcastRawTransaction","nameLocation":"46433:23:13","nodeType":"FunctionDefinition","parameters":{"id":20515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20514,"mutability":"mutable","name":"data","nameLocation":"46472:4:13","nodeType":"VariableDeclaration","scope":20517,"src":"46457:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20513,"name":"bytes","nodeType":"ElementaryTypeName","src":"46457:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"46456:21:13"},"returnParameters":{"id":20516,"nodeType":"ParameterList","parameters":[],"src":"46486:0:13"},"scope":22388,"src":"46424:63:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20518,"nodeType":"StructuredDocumentation","src":"46493:492:13","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","id":20521,"implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"46999:9:13","nodeType":"FunctionDefinition","parameters":{"id":20519,"nodeType":"ParameterList","parameters":[],"src":"47008:2:13"},"returnParameters":{"id":20520,"nodeType":"ParameterList","parameters":[],"src":"47019:0:13"},"scope":22388,"src":"46990:30:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20522,"nodeType":"StructuredDocumentation","src":"47026:159:13","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","id":20527,"implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"47199:9:13","nodeType":"FunctionDefinition","parameters":{"id":20525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20524,"mutability":"mutable","name":"signer","nameLocation":"47217:6:13","nodeType":"VariableDeclaration","scope":20527,"src":"47209:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20523,"name":"address","nodeType":"ElementaryTypeName","src":"47209:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47208:16:13"},"returnParameters":{"id":20526,"nodeType":"ParameterList","parameters":[],"src":"47233:0:13"},"scope":22388,"src":"47190:44:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20528,"nodeType":"StructuredDocumentation","src":"47240:163:13","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","id":20533,"implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"47417:9:13","nodeType":"FunctionDefinition","parameters":{"id":20531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20530,"mutability":"mutable","name":"privateKey","nameLocation":"47435:10:13","nodeType":"VariableDeclaration","scope":20533,"src":"47427:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20529,"name":"uint256","nodeType":"ElementaryTypeName","src":"47427:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47426:20:13"},"returnParameters":{"id":20532,"nodeType":"ParameterList","parameters":[],"src":"47455:0:13"},"scope":22388,"src":"47408:48:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20534,"nodeType":"StructuredDocumentation","src":"47462:78:13","text":"Returns addresses of available unlocked wallets in the script environment."},"functionSelector":"7c49aa1f","id":20540,"implemented":false,"kind":"function","modifiers":[],"name":"getScriptWallets","nameLocation":"47554:16:13","nodeType":"FunctionDefinition","parameters":{"id":20535,"nodeType":"ParameterList","parameters":[],"src":"47570:2:13"},"returnParameters":{"id":20539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20538,"mutability":"mutable","name":"wallets","nameLocation":"47608:7:13","nodeType":"VariableDeclaration","scope":20540,"src":"47591:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20536,"name":"address","nodeType":"ElementaryTypeName","src":"47591:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20537,"nodeType":"ArrayTypeName","src":"47591:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"47590:26:13"},"scope":22388,"src":"47545:72:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20541,"nodeType":"StructuredDocumentation","src":"47623:499:13","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","id":20544,"implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"48136:14:13","nodeType":"FunctionDefinition","parameters":{"id":20542,"nodeType":"ParameterList","parameters":[],"src":"48150:2:13"},"returnParameters":{"id":20543,"nodeType":"ParameterList","parameters":[],"src":"48161:0:13"},"scope":22388,"src":"48127:35:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20545,"nodeType":"StructuredDocumentation","src":"48168:151:13","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","id":20550,"implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"48333:14:13","nodeType":"FunctionDefinition","parameters":{"id":20548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20547,"mutability":"mutable","name":"signer","nameLocation":"48356:6:13","nodeType":"VariableDeclaration","scope":20550,"src":"48348:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20546,"name":"address","nodeType":"ElementaryTypeName","src":"48348:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48347:16:13"},"returnParameters":{"id":20549,"nodeType":"ParameterList","parameters":[],"src":"48372:0:13"},"scope":22388,"src":"48324:49:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20551,"nodeType":"StructuredDocumentation","src":"48379:155:13","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","id":20556,"implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"48548:14:13","nodeType":"FunctionDefinition","parameters":{"id":20554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20553,"mutability":"mutable","name":"privateKey","nameLocation":"48571:10:13","nodeType":"VariableDeclaration","scope":20556,"src":"48563:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20552,"name":"uint256","nodeType":"ElementaryTypeName","src":"48563:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48562:20:13"},"returnParameters":{"id":20555,"nodeType":"ParameterList","parameters":[],"src":"48591:0:13"},"scope":22388,"src":"48539:53:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20557,"nodeType":"StructuredDocumentation","src":"48598:42:13","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","id":20560,"implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"48654:13:13","nodeType":"FunctionDefinition","parameters":{"id":20558,"nodeType":"ParameterList","parameters":[],"src":"48667:2:13"},"returnParameters":{"id":20559,"nodeType":"ParameterList","parameters":[],"src":"48678:0:13"},"scope":22388,"src":"48645:34:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20561,"nodeType":"StructuredDocumentation","src":"48685:78:13","text":"Returns addresses of available unlocked wallets in the script environment."},"functionSelector":"db7a4605","id":20567,"implemented":false,"kind":"function","modifiers":[],"name":"getWallets","nameLocation":"48777:10:13","nodeType":"FunctionDefinition","parameters":{"id":20562,"nodeType":"ParameterList","parameters":[],"src":"48787:2:13"},"returnParameters":{"id":20566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20565,"mutability":"mutable","name":"wallets","nameLocation":"48825:7:13","nodeType":"VariableDeclaration","scope":20567,"src":"48808:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":20563,"name":"address","nodeType":"ElementaryTypeName","src":"48808:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":20564,"nodeType":"ArrayTypeName","src":"48808:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"48807:26:13"},"scope":22388,"src":"48768:66:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":20568,"nodeType":"StructuredDocumentation","src":"48873:205:13","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","id":20577,"implemented":false,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"49092:7:13","nodeType":"FunctionDefinition","parameters":{"id":20573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20570,"mutability":"mutable","name":"input","nameLocation":"49116:5:13","nodeType":"VariableDeclaration","scope":20577,"src":"49100:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20569,"name":"string","nodeType":"ElementaryTypeName","src":"49100:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20572,"mutability":"mutable","name":"key","nameLocation":"49139:3:13","nodeType":"VariableDeclaration","scope":20577,"src":"49123:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20571,"name":"string","nodeType":"ElementaryTypeName","src":"49123:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49099:44:13"},"returnParameters":{"id":20576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":20577,"src":"49167:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20574,"name":"uint256","nodeType":"ElementaryTypeName","src":"49167:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49166:9:13"},"scope":22388,"src":"49083:93:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20578,"nodeType":"StructuredDocumentation","src":"49182:48:13","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","id":20585,"implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"49244:12:13","nodeType":"FunctionDefinition","parameters":{"id":20581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20580,"mutability":"mutable","name":"stringifiedValue","nameLocation":"49273:16:13","nodeType":"VariableDeclaration","scope":20585,"src":"49257:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20579,"name":"string","nodeType":"ElementaryTypeName","src":"49257:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49256:34:13"},"returnParameters":{"id":20584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20583,"mutability":"mutable","name":"parsedValue","nameLocation":"49322:11:13","nodeType":"VariableDeclaration","scope":20585,"src":"49314:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20582,"name":"address","nodeType":"ElementaryTypeName","src":"49314:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49313:21:13"},"scope":22388,"src":"49235:100:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20586,"nodeType":"StructuredDocumentation","src":"49341:44:13","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","id":20593,"implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"49399:9:13","nodeType":"FunctionDefinition","parameters":{"id":20589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20588,"mutability":"mutable","name":"stringifiedValue","nameLocation":"49425:16:13","nodeType":"VariableDeclaration","scope":20593,"src":"49409:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20587,"name":"string","nodeType":"ElementaryTypeName","src":"49409:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49408:34:13"},"returnParameters":{"id":20592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20591,"mutability":"mutable","name":"parsedValue","nameLocation":"49471:11:13","nodeType":"VariableDeclaration","scope":20593,"src":"49466:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20590,"name":"bool","nodeType":"ElementaryTypeName","src":"49466:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49465:18:13"},"scope":22388,"src":"49390:94:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20594,"nodeType":"StructuredDocumentation","src":"49490:43:13","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","id":20601,"implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"49547:10:13","nodeType":"FunctionDefinition","parameters":{"id":20597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20596,"mutability":"mutable","name":"stringifiedValue","nameLocation":"49574:16:13","nodeType":"VariableDeclaration","scope":20601,"src":"49558:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20595,"name":"string","nodeType":"ElementaryTypeName","src":"49558:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49557:34:13"},"returnParameters":{"id":20600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20599,"mutability":"mutable","name":"parsedValue","nameLocation":"49628:11:13","nodeType":"VariableDeclaration","scope":20601,"src":"49615:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20598,"name":"bytes","nodeType":"ElementaryTypeName","src":"49615:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49614:26:13"},"scope":22388,"src":"49538:103:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20602,"nodeType":"StructuredDocumentation","src":"49647:47:13","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","id":20609,"implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"49708:12:13","nodeType":"FunctionDefinition","parameters":{"id":20605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20604,"mutability":"mutable","name":"stringifiedValue","nameLocation":"49737:16:13","nodeType":"VariableDeclaration","scope":20609,"src":"49721:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20603,"name":"string","nodeType":"ElementaryTypeName","src":"49721:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49720:34:13"},"returnParameters":{"id":20608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20607,"mutability":"mutable","name":"parsedValue","nameLocation":"49786:11:13","nodeType":"VariableDeclaration","scope":20609,"src":"49778:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49778:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"49777:21:13"},"scope":22388,"src":"49699:100:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20610,"nodeType":"StructuredDocumentation","src":"49805:46:13","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","id":20617,"implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"49865:8:13","nodeType":"FunctionDefinition","parameters":{"id":20613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20612,"mutability":"mutable","name":"stringifiedValue","nameLocation":"49890:16:13","nodeType":"VariableDeclaration","scope":20617,"src":"49874:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20611,"name":"string","nodeType":"ElementaryTypeName","src":"49874:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49873:34:13"},"returnParameters":{"id":20616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20615,"mutability":"mutable","name":"parsedValue","nameLocation":"49938:11:13","nodeType":"VariableDeclaration","scope":20617,"src":"49931:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20614,"name":"int256","nodeType":"ElementaryTypeName","src":"49931:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"49930:20:13"},"scope":22388,"src":"49856:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20618,"nodeType":"StructuredDocumentation","src":"49957:47:13","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","id":20625,"implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"50018:9:13","nodeType":"FunctionDefinition","parameters":{"id":20621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20620,"mutability":"mutable","name":"stringifiedValue","nameLocation":"50044:16:13","nodeType":"VariableDeclaration","scope":20625,"src":"50028:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20619,"name":"string","nodeType":"ElementaryTypeName","src":"50028:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50027:34:13"},"returnParameters":{"id":20624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20623,"mutability":"mutable","name":"parsedValue","nameLocation":"50093:11:13","nodeType":"VariableDeclaration","scope":20625,"src":"50085:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20622,"name":"uint256","nodeType":"ElementaryTypeName","src":"50085:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50084:21:13"},"scope":22388,"src":"50009:97:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20626,"nodeType":"StructuredDocumentation","src":"50112:67:13","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","id":20637,"implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"50193:7:13","nodeType":"FunctionDefinition","parameters":{"id":20633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20628,"mutability":"mutable","name":"input","nameLocation":"50217:5:13","nodeType":"VariableDeclaration","scope":20637,"src":"50201:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20627,"name":"string","nodeType":"ElementaryTypeName","src":"50201:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20630,"mutability":"mutable","name":"from","nameLocation":"50240:4:13","nodeType":"VariableDeclaration","scope":20637,"src":"50224:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20629,"name":"string","nodeType":"ElementaryTypeName","src":"50224:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20632,"mutability":"mutable","name":"to","nameLocation":"50262:2:13","nodeType":"VariableDeclaration","scope":20637,"src":"50246:18:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20631,"name":"string","nodeType":"ElementaryTypeName","src":"50246:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50200:65:13"},"returnParameters":{"id":20636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20635,"mutability":"mutable","name":"output","nameLocation":"50327:6:13","nodeType":"VariableDeclaration","scope":20637,"src":"50313:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20634,"name":"string","nodeType":"ElementaryTypeName","src":"50313:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50312:22:13"},"scope":22388,"src":"50184:151:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20638,"nodeType":"StructuredDocumentation","src":"50341:82:13","text":"Splits the given `string` into an array of strings divided by the `delimiter`."},"functionSelector":"8bb75533","id":20648,"implemented":false,"kind":"function","modifiers":[],"name":"split","nameLocation":"50437:5:13","nodeType":"FunctionDefinition","parameters":{"id":20643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20640,"mutability":"mutable","name":"input","nameLocation":"50459:5:13","nodeType":"VariableDeclaration","scope":20648,"src":"50443:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20639,"name":"string","nodeType":"ElementaryTypeName","src":"50443:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20642,"mutability":"mutable","name":"delimiter","nameLocation":"50482:9:13","nodeType":"VariableDeclaration","scope":20648,"src":"50466:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20641,"name":"string","nodeType":"ElementaryTypeName","src":"50466:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50442:50:13"},"returnParameters":{"id":20647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20646,"mutability":"mutable","name":"outputs","nameLocation":"50532:7:13","nodeType":"VariableDeclaration","scope":20648,"src":"50516:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":20644,"name":"string","nodeType":"ElementaryTypeName","src":"50516:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":20645,"nodeType":"ArrayTypeName","src":"50516:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"50515:25:13"},"scope":22388,"src":"50428:113:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20649,"nodeType":"StructuredDocumentation","src":"50547:51:13","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","id":20656,"implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"50612:11:13","nodeType":"FunctionDefinition","parameters":{"id":20652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20651,"mutability":"mutable","name":"input","nameLocation":"50640:5:13","nodeType":"VariableDeclaration","scope":20656,"src":"50624:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20650,"name":"string","nodeType":"ElementaryTypeName","src":"50624:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50623:23:13"},"returnParameters":{"id":20655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20654,"mutability":"mutable","name":"output","nameLocation":"50684:6:13","nodeType":"VariableDeclaration","scope":20656,"src":"50670:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20653,"name":"string","nodeType":"ElementaryTypeName","src":"50670:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50669:22:13"},"scope":22388,"src":"50603:89:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20657,"nodeType":"StructuredDocumentation","src":"50698:43:13","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","id":20664,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"50755:8:13","nodeType":"FunctionDefinition","parameters":{"id":20660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20659,"mutability":"mutable","name":"value","nameLocation":"50772:5:13","nodeType":"VariableDeclaration","scope":20664,"src":"50764:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20658,"name":"address","nodeType":"ElementaryTypeName","src":"50764:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50763:15:13"},"returnParameters":{"id":20663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20662,"mutability":"mutable","name":"stringifiedValue","nameLocation":"50816:16:13","nodeType":"VariableDeclaration","scope":20664,"src":"50802:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20661,"name":"string","nodeType":"ElementaryTypeName","src":"50802:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50801:32:13"},"scope":22388,"src":"50746:88:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20665,"nodeType":"StructuredDocumentation","src":"50840:43:13","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","id":20672,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"50897:8:13","nodeType":"FunctionDefinition","parameters":{"id":20668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20667,"mutability":"mutable","name":"value","nameLocation":"50921:5:13","nodeType":"VariableDeclaration","scope":20672,"src":"50906:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20666,"name":"bytes","nodeType":"ElementaryTypeName","src":"50906:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"50905:22:13"},"returnParameters":{"id":20671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20670,"mutability":"mutable","name":"stringifiedValue","nameLocation":"50965:16:13","nodeType":"VariableDeclaration","scope":20672,"src":"50951:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20669,"name":"string","nodeType":"ElementaryTypeName","src":"50951:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50950:32:13"},"scope":22388,"src":"50888:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20673,"nodeType":"StructuredDocumentation","src":"50989:43:13","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","id":20680,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"51046:8:13","nodeType":"FunctionDefinition","parameters":{"id":20676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20675,"mutability":"mutable","name":"value","nameLocation":"51063:5:13","nodeType":"VariableDeclaration","scope":20680,"src":"51055:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51055:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"51054:15:13"},"returnParameters":{"id":20679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20678,"mutability":"mutable","name":"stringifiedValue","nameLocation":"51107:16:13","nodeType":"VariableDeclaration","scope":20680,"src":"51093:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20677,"name":"string","nodeType":"ElementaryTypeName","src":"51093:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51092:32:13"},"scope":22388,"src":"51037:88:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20681,"nodeType":"StructuredDocumentation","src":"51131:43:13","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","id":20688,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"51188:8:13","nodeType":"FunctionDefinition","parameters":{"id":20684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20683,"mutability":"mutable","name":"value","nameLocation":"51202:5:13","nodeType":"VariableDeclaration","scope":20688,"src":"51197:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20682,"name":"bool","nodeType":"ElementaryTypeName","src":"51197:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51196:12:13"},"returnParameters":{"id":20687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20686,"mutability":"mutable","name":"stringifiedValue","nameLocation":"51246:16:13","nodeType":"VariableDeclaration","scope":20688,"src":"51232:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20685,"name":"string","nodeType":"ElementaryTypeName","src":"51232:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51231:32:13"},"scope":22388,"src":"51179:85:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20689,"nodeType":"StructuredDocumentation","src":"51270:43:13","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","id":20696,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"51327:8:13","nodeType":"FunctionDefinition","parameters":{"id":20692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20691,"mutability":"mutable","name":"value","nameLocation":"51344:5:13","nodeType":"VariableDeclaration","scope":20696,"src":"51336:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20690,"name":"uint256","nodeType":"ElementaryTypeName","src":"51336:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51335:15:13"},"returnParameters":{"id":20695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20694,"mutability":"mutable","name":"stringifiedValue","nameLocation":"51388:16:13","nodeType":"VariableDeclaration","scope":20696,"src":"51374:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20693,"name":"string","nodeType":"ElementaryTypeName","src":"51374:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51373:32:13"},"scope":22388,"src":"51318:88:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20697,"nodeType":"StructuredDocumentation","src":"51412:43:13","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","id":20704,"implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"51469:8:13","nodeType":"FunctionDefinition","parameters":{"id":20700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20699,"mutability":"mutable","name":"value","nameLocation":"51485:5:13","nodeType":"VariableDeclaration","scope":20704,"src":"51478:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20698,"name":"int256","nodeType":"ElementaryTypeName","src":"51478:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"51477:14:13"},"returnParameters":{"id":20703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20702,"mutability":"mutable","name":"stringifiedValue","nameLocation":"51529:16:13","nodeType":"VariableDeclaration","scope":20704,"src":"51515:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20701,"name":"string","nodeType":"ElementaryTypeName","src":"51515:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51514:32:13"},"scope":22388,"src":"51460:87:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20705,"nodeType":"StructuredDocumentation","src":"51553:51:13","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","id":20712,"implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"51618:11:13","nodeType":"FunctionDefinition","parameters":{"id":20708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20707,"mutability":"mutable","name":"input","nameLocation":"51646:5:13","nodeType":"VariableDeclaration","scope":20712,"src":"51630:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20706,"name":"string","nodeType":"ElementaryTypeName","src":"51630:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51629:23:13"},"returnParameters":{"id":20711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20710,"mutability":"mutable","name":"output","nameLocation":"51690:6:13","nodeType":"VariableDeclaration","scope":20712,"src":"51676:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20709,"name":"string","nodeType":"ElementaryTypeName","src":"51676:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51675:22:13"},"scope":22388,"src":"51609:89:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20713,"nodeType":"StructuredDocumentation","src":"51704:72:13","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","id":20720,"implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"51790:4:13","nodeType":"FunctionDefinition","parameters":{"id":20716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20715,"mutability":"mutable","name":"input","nameLocation":"51811:5:13","nodeType":"VariableDeclaration","scope":20720,"src":"51795:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20714,"name":"string","nodeType":"ElementaryTypeName","src":"51795:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51794:23:13"},"returnParameters":{"id":20719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20718,"mutability":"mutable","name":"output","nameLocation":"51855:6:13","nodeType":"VariableDeclaration","scope":20720,"src":"51841:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20717,"name":"string","nodeType":"ElementaryTypeName","src":"51841:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51840:22:13"},"scope":22388,"src":"51781:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20721,"nodeType":"StructuredDocumentation","src":"51903:150:13","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","id":20732,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"52067:24:13","nodeType":"FunctionDefinition","parameters":{"id":20730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20723,"mutability":"mutable","name":"left","nameLocation":"52100:4:13","nodeType":"VariableDeclaration","scope":20732,"src":"52092:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20722,"name":"uint256","nodeType":"ElementaryTypeName","src":"52092:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20725,"mutability":"mutable","name":"right","nameLocation":"52114:5:13","nodeType":"VariableDeclaration","scope":20732,"src":"52106:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20724,"name":"uint256","nodeType":"ElementaryTypeName","src":"52106:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20727,"mutability":"mutable","name":"maxDelta","nameLocation":"52129:8:13","nodeType":"VariableDeclaration","scope":20732,"src":"52121:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20726,"name":"uint256","nodeType":"ElementaryTypeName","src":"52121:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20729,"mutability":"mutable","name":"decimals","nameLocation":"52147:8:13","nodeType":"VariableDeclaration","scope":20732,"src":"52139:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20728,"name":"uint256","nodeType":"ElementaryTypeName","src":"52139:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52091:65:13"},"returnParameters":{"id":20731,"nodeType":"ParameterList","parameters":[],"src":"52170:0:13"},"scope":22388,"src":"52058:113:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20733,"nodeType":"StructuredDocumentation","src":"52177:204:13","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","id":20746,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"52395:24:13","nodeType":"FunctionDefinition","parameters":{"id":20744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20735,"mutability":"mutable","name":"left","nameLocation":"52437:4:13","nodeType":"VariableDeclaration","scope":20746,"src":"52429:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20734,"name":"uint256","nodeType":"ElementaryTypeName","src":"52429:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20737,"mutability":"mutable","name":"right","nameLocation":"52459:5:13","nodeType":"VariableDeclaration","scope":20746,"src":"52451:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20736,"name":"uint256","nodeType":"ElementaryTypeName","src":"52451:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20739,"mutability":"mutable","name":"maxDelta","nameLocation":"52482:8:13","nodeType":"VariableDeclaration","scope":20746,"src":"52474:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20738,"name":"uint256","nodeType":"ElementaryTypeName","src":"52474:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20741,"mutability":"mutable","name":"decimals","nameLocation":"52508:8:13","nodeType":"VariableDeclaration","scope":20746,"src":"52500:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20740,"name":"uint256","nodeType":"ElementaryTypeName","src":"52500:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20743,"mutability":"mutable","name":"error","nameLocation":"52542:5:13","nodeType":"VariableDeclaration","scope":20746,"src":"52526:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20742,"name":"string","nodeType":"ElementaryTypeName","src":"52526:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52419:134:13"},"returnParameters":{"id":20745,"nodeType":"ParameterList","parameters":[],"src":"52567:0:13"},"scope":22388,"src":"52386:182:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20747,"nodeType":"StructuredDocumentation","src":"52574:149:13","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","id":20758,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"52737:24:13","nodeType":"FunctionDefinition","parameters":{"id":20756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20749,"mutability":"mutable","name":"left","nameLocation":"52769:4:13","nodeType":"VariableDeclaration","scope":20758,"src":"52762:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20748,"name":"int256","nodeType":"ElementaryTypeName","src":"52762:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20751,"mutability":"mutable","name":"right","nameLocation":"52782:5:13","nodeType":"VariableDeclaration","scope":20758,"src":"52775:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20750,"name":"int256","nodeType":"ElementaryTypeName","src":"52775:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20753,"mutability":"mutable","name":"maxDelta","nameLocation":"52797:8:13","nodeType":"VariableDeclaration","scope":20758,"src":"52789:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20752,"name":"uint256","nodeType":"ElementaryTypeName","src":"52789:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20755,"mutability":"mutable","name":"decimals","nameLocation":"52815:8:13","nodeType":"VariableDeclaration","scope":20758,"src":"52807:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20754,"name":"uint256","nodeType":"ElementaryTypeName","src":"52807:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52761:63:13"},"returnParameters":{"id":20757,"nodeType":"ParameterList","parameters":[],"src":"52838:0:13"},"scope":22388,"src":"52728:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20759,"nodeType":"StructuredDocumentation","src":"52845:203:13","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","id":20772,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"53062:24:13","nodeType":"FunctionDefinition","parameters":{"id":20770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20761,"mutability":"mutable","name":"left","nameLocation":"53103:4:13","nodeType":"VariableDeclaration","scope":20772,"src":"53096:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20760,"name":"int256","nodeType":"ElementaryTypeName","src":"53096:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20763,"mutability":"mutable","name":"right","nameLocation":"53124:5:13","nodeType":"VariableDeclaration","scope":20772,"src":"53117:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20762,"name":"int256","nodeType":"ElementaryTypeName","src":"53117:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20765,"mutability":"mutable","name":"maxDelta","nameLocation":"53147:8:13","nodeType":"VariableDeclaration","scope":20772,"src":"53139:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20764,"name":"uint256","nodeType":"ElementaryTypeName","src":"53139:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20767,"mutability":"mutable","name":"decimals","nameLocation":"53173:8:13","nodeType":"VariableDeclaration","scope":20772,"src":"53165:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20766,"name":"uint256","nodeType":"ElementaryTypeName","src":"53165:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20769,"mutability":"mutable","name":"error","nameLocation":"53207:5:13","nodeType":"VariableDeclaration","scope":20772,"src":"53191:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20768,"name":"string","nodeType":"ElementaryTypeName","src":"53191:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53086:132:13"},"returnParameters":{"id":20771,"nodeType":"ParameterList","parameters":[],"src":"53232:0:13"},"scope":22388,"src":"53053:180:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20773,"nodeType":"StructuredDocumentation","src":"53239:93:13","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"16d207c6","id":20782,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"53346:17:13","nodeType":"FunctionDefinition","parameters":{"id":20780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20775,"mutability":"mutable","name":"left","nameLocation":"53372:4:13","nodeType":"VariableDeclaration","scope":20782,"src":"53364:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20774,"name":"uint256","nodeType":"ElementaryTypeName","src":"53364:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20777,"mutability":"mutable","name":"right","nameLocation":"53386:5:13","nodeType":"VariableDeclaration","scope":20782,"src":"53378:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20776,"name":"uint256","nodeType":"ElementaryTypeName","src":"53378:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20779,"mutability":"mutable","name":"maxDelta","nameLocation":"53401:8:13","nodeType":"VariableDeclaration","scope":20782,"src":"53393:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20778,"name":"uint256","nodeType":"ElementaryTypeName","src":"53393:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53363:47:13"},"returnParameters":{"id":20781,"nodeType":"ParameterList","parameters":[],"src":"53424:0:13"},"scope":22388,"src":"53337:88:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20783,"nodeType":"StructuredDocumentation","src":"53431:155:13","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","id":20794,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"53600:17:13","nodeType":"FunctionDefinition","parameters":{"id":20792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20785,"mutability":"mutable","name":"left","nameLocation":"53626:4:13","nodeType":"VariableDeclaration","scope":20794,"src":"53618:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20784,"name":"uint256","nodeType":"ElementaryTypeName","src":"53618:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20787,"mutability":"mutable","name":"right","nameLocation":"53640:5:13","nodeType":"VariableDeclaration","scope":20794,"src":"53632:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20786,"name":"uint256","nodeType":"ElementaryTypeName","src":"53632:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20789,"mutability":"mutable","name":"maxDelta","nameLocation":"53655:8:13","nodeType":"VariableDeclaration","scope":20794,"src":"53647:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20788,"name":"uint256","nodeType":"ElementaryTypeName","src":"53647:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20791,"mutability":"mutable","name":"error","nameLocation":"53681:5:13","nodeType":"VariableDeclaration","scope":20794,"src":"53665:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20790,"name":"string","nodeType":"ElementaryTypeName","src":"53665:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53617:70:13"},"returnParameters":{"id":20793,"nodeType":"ParameterList","parameters":[],"src":"53701:0:13"},"scope":22388,"src":"53591:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20795,"nodeType":"StructuredDocumentation","src":"53708:92:13","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"240f839d","id":20804,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"53814:17:13","nodeType":"FunctionDefinition","parameters":{"id":20802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20797,"mutability":"mutable","name":"left","nameLocation":"53839:4:13","nodeType":"VariableDeclaration","scope":20804,"src":"53832:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20796,"name":"int256","nodeType":"ElementaryTypeName","src":"53832:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20799,"mutability":"mutable","name":"right","nameLocation":"53852:5:13","nodeType":"VariableDeclaration","scope":20804,"src":"53845:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20798,"name":"int256","nodeType":"ElementaryTypeName","src":"53845:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20801,"mutability":"mutable","name":"maxDelta","nameLocation":"53867:8:13","nodeType":"VariableDeclaration","scope":20804,"src":"53859:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20800,"name":"uint256","nodeType":"ElementaryTypeName","src":"53859:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53831:45:13"},"returnParameters":{"id":20803,"nodeType":"ParameterList","parameters":[],"src":"53890:0:13"},"scope":22388,"src":"53805:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20805,"nodeType":"StructuredDocumentation","src":"53897:154:13","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","id":20816,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"54065:17:13","nodeType":"FunctionDefinition","parameters":{"id":20814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20807,"mutability":"mutable","name":"left","nameLocation":"54090:4:13","nodeType":"VariableDeclaration","scope":20816,"src":"54083:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20806,"name":"int256","nodeType":"ElementaryTypeName","src":"54083:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20809,"mutability":"mutable","name":"right","nameLocation":"54103:5:13","nodeType":"VariableDeclaration","scope":20816,"src":"54096:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20808,"name":"int256","nodeType":"ElementaryTypeName","src":"54096:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20811,"mutability":"mutable","name":"maxDelta","nameLocation":"54118:8:13","nodeType":"VariableDeclaration","scope":20816,"src":"54110:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20810,"name":"uint256","nodeType":"ElementaryTypeName","src":"54110:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20813,"mutability":"mutable","name":"error","nameLocation":"54144:5:13","nodeType":"VariableDeclaration","scope":20816,"src":"54128:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20812,"name":"string","nodeType":"ElementaryTypeName","src":"54128:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54082:68:13"},"returnParameters":{"id":20815,"nodeType":"ParameterList","parameters":[],"src":"54164:0:13"},"scope":22388,"src":"54056:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20817,"nodeType":"StructuredDocumentation","src":"54171:260:13","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","id":20828,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"54445:24:13","nodeType":"FunctionDefinition","parameters":{"id":20826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20819,"mutability":"mutable","name":"left","nameLocation":"54478:4:13","nodeType":"VariableDeclaration","scope":20828,"src":"54470:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20818,"name":"uint256","nodeType":"ElementaryTypeName","src":"54470:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20821,"mutability":"mutable","name":"right","nameLocation":"54492:5:13","nodeType":"VariableDeclaration","scope":20828,"src":"54484:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20820,"name":"uint256","nodeType":"ElementaryTypeName","src":"54484:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20823,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"54507:15:13","nodeType":"VariableDeclaration","scope":20828,"src":"54499:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20822,"name":"uint256","nodeType":"ElementaryTypeName","src":"54499:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20825,"mutability":"mutable","name":"decimals","nameLocation":"54532:8:13","nodeType":"VariableDeclaration","scope":20828,"src":"54524:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20824,"name":"uint256","nodeType":"ElementaryTypeName","src":"54524:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54469:72:13"},"returnParameters":{"id":20827,"nodeType":"ParameterList","parameters":[],"src":"54571:0:13"},"scope":22388,"src":"54436:136:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20829,"nodeType":"StructuredDocumentation","src":"54578:314:13","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","id":20842,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"54906:24:13","nodeType":"FunctionDefinition","parameters":{"id":20840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20831,"mutability":"mutable","name":"left","nameLocation":"54948:4:13","nodeType":"VariableDeclaration","scope":20842,"src":"54940:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20830,"name":"uint256","nodeType":"ElementaryTypeName","src":"54940:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20833,"mutability":"mutable","name":"right","nameLocation":"54970:5:13","nodeType":"VariableDeclaration","scope":20842,"src":"54962:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20832,"name":"uint256","nodeType":"ElementaryTypeName","src":"54962:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20835,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"54993:15:13","nodeType":"VariableDeclaration","scope":20842,"src":"54985:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20834,"name":"uint256","nodeType":"ElementaryTypeName","src":"54985:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20837,"mutability":"mutable","name":"decimals","nameLocation":"55026:8:13","nodeType":"VariableDeclaration","scope":20842,"src":"55018:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20836,"name":"uint256","nodeType":"ElementaryTypeName","src":"55018:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20839,"mutability":"mutable","name":"error","nameLocation":"55060:5:13","nodeType":"VariableDeclaration","scope":20842,"src":"55044:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20838,"name":"string","nodeType":"ElementaryTypeName","src":"55044:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54930:141:13"},"returnParameters":{"id":20841,"nodeType":"ParameterList","parameters":[],"src":"55085:0:13"},"scope":22388,"src":"54897:189:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20843,"nodeType":"StructuredDocumentation","src":"55092:259:13","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","id":20854,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"55365:24:13","nodeType":"FunctionDefinition","parameters":{"id":20852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20845,"mutability":"mutable","name":"left","nameLocation":"55397:4:13","nodeType":"VariableDeclaration","scope":20854,"src":"55390:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20844,"name":"int256","nodeType":"ElementaryTypeName","src":"55390:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20847,"mutability":"mutable","name":"right","nameLocation":"55410:5:13","nodeType":"VariableDeclaration","scope":20854,"src":"55403:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20846,"name":"int256","nodeType":"ElementaryTypeName","src":"55403:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20849,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"55425:15:13","nodeType":"VariableDeclaration","scope":20854,"src":"55417:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20848,"name":"uint256","nodeType":"ElementaryTypeName","src":"55417:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20851,"mutability":"mutable","name":"decimals","nameLocation":"55450:8:13","nodeType":"VariableDeclaration","scope":20854,"src":"55442:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20850,"name":"uint256","nodeType":"ElementaryTypeName","src":"55442:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55389:70:13"},"returnParameters":{"id":20853,"nodeType":"ParameterList","parameters":[],"src":"55489:0:13"},"scope":22388,"src":"55356:134:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20855,"nodeType":"StructuredDocumentation","src":"55496:313:13","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","id":20868,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"55823:24:13","nodeType":"FunctionDefinition","parameters":{"id":20866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20857,"mutability":"mutable","name":"left","nameLocation":"55864:4:13","nodeType":"VariableDeclaration","scope":20868,"src":"55857:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20856,"name":"int256","nodeType":"ElementaryTypeName","src":"55857:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20859,"mutability":"mutable","name":"right","nameLocation":"55885:5:13","nodeType":"VariableDeclaration","scope":20868,"src":"55878:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20858,"name":"int256","nodeType":"ElementaryTypeName","src":"55878:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20861,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"55908:15:13","nodeType":"VariableDeclaration","scope":20868,"src":"55900:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20860,"name":"uint256","nodeType":"ElementaryTypeName","src":"55900:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20863,"mutability":"mutable","name":"decimals","nameLocation":"55941:8:13","nodeType":"VariableDeclaration","scope":20868,"src":"55933:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20862,"name":"uint256","nodeType":"ElementaryTypeName","src":"55933:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20865,"mutability":"mutable","name":"error","nameLocation":"55975:5:13","nodeType":"VariableDeclaration","scope":20868,"src":"55959:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20864,"name":"string","nodeType":"ElementaryTypeName","src":"55959:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55847:139:13"},"returnParameters":{"id":20867,"nodeType":"ParameterList","parameters":[],"src":"56000:0:13"},"scope":22388,"src":"55814:187:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20869,"nodeType":"StructuredDocumentation","src":"56007:203:13","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","id":20878,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"56224:17:13","nodeType":"FunctionDefinition","parameters":{"id":20876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20871,"mutability":"mutable","name":"left","nameLocation":"56250:4:13","nodeType":"VariableDeclaration","scope":20878,"src":"56242:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20870,"name":"uint256","nodeType":"ElementaryTypeName","src":"56242:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20873,"mutability":"mutable","name":"right","nameLocation":"56264:5:13","nodeType":"VariableDeclaration","scope":20878,"src":"56256:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20872,"name":"uint256","nodeType":"ElementaryTypeName","src":"56256:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20875,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"56279:15:13","nodeType":"VariableDeclaration","scope":20878,"src":"56271:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20874,"name":"uint256","nodeType":"ElementaryTypeName","src":"56271:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56241:54:13"},"returnParameters":{"id":20877,"nodeType":"ParameterList","parameters":[],"src":"56309:0:13"},"scope":22388,"src":"56215:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20879,"nodeType":"StructuredDocumentation","src":"56316:265:13","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","id":20890,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"56595:17:13","nodeType":"FunctionDefinition","parameters":{"id":20888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20881,"mutability":"mutable","name":"left","nameLocation":"56621:4:13","nodeType":"VariableDeclaration","scope":20890,"src":"56613:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20880,"name":"uint256","nodeType":"ElementaryTypeName","src":"56613:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20883,"mutability":"mutable","name":"right","nameLocation":"56635:5:13","nodeType":"VariableDeclaration","scope":20890,"src":"56627:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20882,"name":"uint256","nodeType":"ElementaryTypeName","src":"56627:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20885,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"56650:15:13","nodeType":"VariableDeclaration","scope":20890,"src":"56642:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20884,"name":"uint256","nodeType":"ElementaryTypeName","src":"56642:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20887,"mutability":"mutable","name":"error","nameLocation":"56683:5:13","nodeType":"VariableDeclaration","scope":20890,"src":"56667:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20886,"name":"string","nodeType":"ElementaryTypeName","src":"56667:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56612:77:13"},"returnParameters":{"id":20889,"nodeType":"ParameterList","parameters":[],"src":"56719:0:13"},"scope":22388,"src":"56586:134:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20891,"nodeType":"StructuredDocumentation","src":"56726:202:13","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","id":20900,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"56942:17:13","nodeType":"FunctionDefinition","parameters":{"id":20898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20893,"mutability":"mutable","name":"left","nameLocation":"56967:4:13","nodeType":"VariableDeclaration","scope":20900,"src":"56960:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20892,"name":"int256","nodeType":"ElementaryTypeName","src":"56960:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20895,"mutability":"mutable","name":"right","nameLocation":"56980:5:13","nodeType":"VariableDeclaration","scope":20900,"src":"56973:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20894,"name":"int256","nodeType":"ElementaryTypeName","src":"56973:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20897,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"56995:15:13","nodeType":"VariableDeclaration","scope":20900,"src":"56987:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20896,"name":"uint256","nodeType":"ElementaryTypeName","src":"56987:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56959:52:13"},"returnParameters":{"id":20899,"nodeType":"ParameterList","parameters":[],"src":"57025:0:13"},"scope":22388,"src":"56933:93:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20901,"nodeType":"StructuredDocumentation","src":"57032:264:13","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","id":20912,"implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"57310:17:13","nodeType":"FunctionDefinition","parameters":{"id":20910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20903,"mutability":"mutable","name":"left","nameLocation":"57335:4:13","nodeType":"VariableDeclaration","scope":20912,"src":"57328:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20902,"name":"int256","nodeType":"ElementaryTypeName","src":"57328:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20905,"mutability":"mutable","name":"right","nameLocation":"57348:5:13","nodeType":"VariableDeclaration","scope":20912,"src":"57341:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20904,"name":"int256","nodeType":"ElementaryTypeName","src":"57341:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20907,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"57363:15:13","nodeType":"VariableDeclaration","scope":20912,"src":"57355:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20906,"name":"uint256","nodeType":"ElementaryTypeName","src":"57355:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20909,"mutability":"mutable","name":"error","nameLocation":"57396:5:13","nodeType":"VariableDeclaration","scope":20912,"src":"57380:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20908,"name":"string","nodeType":"ElementaryTypeName","src":"57380:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57327:75:13"},"returnParameters":{"id":20911,"nodeType":"ParameterList","parameters":[],"src":"57432:0:13"},"scope":22388,"src":"57301:132:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20913,"nodeType":"StructuredDocumentation","src":"57439:98:13","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"functionSelector":"27af7d9c","id":20922,"implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"57551:15:13","nodeType":"FunctionDefinition","parameters":{"id":20920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20915,"mutability":"mutable","name":"left","nameLocation":"57575:4:13","nodeType":"VariableDeclaration","scope":20922,"src":"57567:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20914,"name":"uint256","nodeType":"ElementaryTypeName","src":"57567:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20917,"mutability":"mutable","name":"right","nameLocation":"57589:5:13","nodeType":"VariableDeclaration","scope":20922,"src":"57581:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20916,"name":"uint256","nodeType":"ElementaryTypeName","src":"57581:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20919,"mutability":"mutable","name":"decimals","nameLocation":"57604:8:13","nodeType":"VariableDeclaration","scope":20922,"src":"57596:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20918,"name":"uint256","nodeType":"ElementaryTypeName","src":"57596:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57566:47:13"},"returnParameters":{"id":20921,"nodeType":"ParameterList","parameters":[],"src":"57627:0:13"},"scope":22388,"src":"57542:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20923,"nodeType":"StructuredDocumentation","src":"57634:160:13","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","id":20934,"implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"57808:15:13","nodeType":"FunctionDefinition","parameters":{"id":20932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20925,"mutability":"mutable","name":"left","nameLocation":"57832:4:13","nodeType":"VariableDeclaration","scope":20934,"src":"57824:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20924,"name":"uint256","nodeType":"ElementaryTypeName","src":"57824:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20927,"mutability":"mutable","name":"right","nameLocation":"57846:5:13","nodeType":"VariableDeclaration","scope":20934,"src":"57838:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20926,"name":"uint256","nodeType":"ElementaryTypeName","src":"57838:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20929,"mutability":"mutable","name":"decimals","nameLocation":"57861:8:13","nodeType":"VariableDeclaration","scope":20934,"src":"57853:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20928,"name":"uint256","nodeType":"ElementaryTypeName","src":"57853:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20931,"mutability":"mutable","name":"error","nameLocation":"57887:5:13","nodeType":"VariableDeclaration","scope":20934,"src":"57871:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20930,"name":"string","nodeType":"ElementaryTypeName","src":"57871:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57823:70:13"},"returnParameters":{"id":20933,"nodeType":"ParameterList","parameters":[],"src":"57907:0:13"},"scope":22388,"src":"57799:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20935,"nodeType":"StructuredDocumentation","src":"57914:97:13","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"functionSelector":"48016c04","id":20944,"implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"58025:15:13","nodeType":"FunctionDefinition","parameters":{"id":20942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20937,"mutability":"mutable","name":"left","nameLocation":"58048:4:13","nodeType":"VariableDeclaration","scope":20944,"src":"58041:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20936,"name":"int256","nodeType":"ElementaryTypeName","src":"58041:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20939,"mutability":"mutable","name":"right","nameLocation":"58061:5:13","nodeType":"VariableDeclaration","scope":20944,"src":"58054:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20938,"name":"int256","nodeType":"ElementaryTypeName","src":"58054:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20941,"mutability":"mutable","name":"decimals","nameLocation":"58076:8:13","nodeType":"VariableDeclaration","scope":20944,"src":"58068:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20940,"name":"uint256","nodeType":"ElementaryTypeName","src":"58068:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58040:45:13"},"returnParameters":{"id":20943,"nodeType":"ParameterList","parameters":[],"src":"58099:0:13"},"scope":22388,"src":"58016:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20945,"nodeType":"StructuredDocumentation","src":"58106:159:13","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","id":20956,"implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"58279:15:13","nodeType":"FunctionDefinition","parameters":{"id":20954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20947,"mutability":"mutable","name":"left","nameLocation":"58302:4:13","nodeType":"VariableDeclaration","scope":20956,"src":"58295:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20946,"name":"int256","nodeType":"ElementaryTypeName","src":"58295:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20949,"mutability":"mutable","name":"right","nameLocation":"58315:5:13","nodeType":"VariableDeclaration","scope":20956,"src":"58308:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20948,"name":"int256","nodeType":"ElementaryTypeName","src":"58308:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":20951,"mutability":"mutable","name":"decimals","nameLocation":"58330:8:13","nodeType":"VariableDeclaration","scope":20956,"src":"58322:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20950,"name":"uint256","nodeType":"ElementaryTypeName","src":"58322:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20953,"mutability":"mutable","name":"error","nameLocation":"58356:5:13","nodeType":"VariableDeclaration","scope":20956,"src":"58340:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20952,"name":"string","nodeType":"ElementaryTypeName","src":"58340:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58294:68:13"},"returnParameters":{"id":20955,"nodeType":"ParameterList","parameters":[],"src":"58376:0:13"},"scope":22388,"src":"58270:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20957,"nodeType":"StructuredDocumentation","src":"58383:45:13","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","id":20964,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"58442:8:13","nodeType":"FunctionDefinition","parameters":{"id":20962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20959,"mutability":"mutable","name":"left","nameLocation":"58456:4:13","nodeType":"VariableDeclaration","scope":20964,"src":"58451:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20958,"name":"bool","nodeType":"ElementaryTypeName","src":"58451:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20961,"mutability":"mutable","name":"right","nameLocation":"58467:5:13","nodeType":"VariableDeclaration","scope":20964,"src":"58462:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20960,"name":"bool","nodeType":"ElementaryTypeName","src":"58462:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58450:23:13"},"returnParameters":{"id":20963,"nodeType":"ParameterList","parameters":[],"src":"58487:0:13"},"scope":22388,"src":"58433:55:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20965,"nodeType":"StructuredDocumentation","src":"58494:102:13","text":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"4db19e7e","id":20974,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"58610:8:13","nodeType":"FunctionDefinition","parameters":{"id":20972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20967,"mutability":"mutable","name":"left","nameLocation":"58624:4:13","nodeType":"VariableDeclaration","scope":20974,"src":"58619:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20966,"name":"bool","nodeType":"ElementaryTypeName","src":"58619:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20969,"mutability":"mutable","name":"right","nameLocation":"58635:5:13","nodeType":"VariableDeclaration","scope":20974,"src":"58630:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20968,"name":"bool","nodeType":"ElementaryTypeName","src":"58630:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20971,"mutability":"mutable","name":"error","nameLocation":"58658:5:13","nodeType":"VariableDeclaration","scope":20974,"src":"58642:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20970,"name":"string","nodeType":"ElementaryTypeName","src":"58642:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58618:46:13"},"returnParameters":{"id":20973,"nodeType":"ParameterList","parameters":[],"src":"58678:0:13"},"scope":22388,"src":"58601:78:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20975,"nodeType":"StructuredDocumentation","src":"58685:47:13","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","id":20982,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"58746:8:13","nodeType":"FunctionDefinition","parameters":{"id":20980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20977,"mutability":"mutable","name":"left","nameLocation":"58771:4:13","nodeType":"VariableDeclaration","scope":20982,"src":"58755:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20976,"name":"string","nodeType":"ElementaryTypeName","src":"58755:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20979,"mutability":"mutable","name":"right","nameLocation":"58793:5:13","nodeType":"VariableDeclaration","scope":20982,"src":"58777:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20978,"name":"string","nodeType":"ElementaryTypeName","src":"58777:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58754:45:13"},"returnParameters":{"id":20981,"nodeType":"ParameterList","parameters":[],"src":"58813:0:13"},"scope":22388,"src":"58737:77:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20983,"nodeType":"StructuredDocumentation","src":"58820:104:13","text":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"functionSelector":"36f656d8","id":20992,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"58938:8:13","nodeType":"FunctionDefinition","parameters":{"id":20990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20985,"mutability":"mutable","name":"left","nameLocation":"58963:4:13","nodeType":"VariableDeclaration","scope":20992,"src":"58947:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20984,"name":"string","nodeType":"ElementaryTypeName","src":"58947:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20987,"mutability":"mutable","name":"right","nameLocation":"58985:5:13","nodeType":"VariableDeclaration","scope":20992,"src":"58969:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20986,"name":"string","nodeType":"ElementaryTypeName","src":"58969:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20989,"mutability":"mutable","name":"error","nameLocation":"59008:5:13","nodeType":"VariableDeclaration","scope":20992,"src":"58992:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":20988,"name":"string","nodeType":"ElementaryTypeName","src":"58992:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58946:68:13"},"returnParameters":{"id":20991,"nodeType":"ParameterList","parameters":[],"src":"59028:0:13"},"scope":22388,"src":"58929:100:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":20993,"nodeType":"StructuredDocumentation","src":"59035:46:13","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","id":21000,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"59095:8:13","nodeType":"FunctionDefinition","parameters":{"id":20998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20995,"mutability":"mutable","name":"left","nameLocation":"59119:4:13","nodeType":"VariableDeclaration","scope":21000,"src":"59104:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20994,"name":"bytes","nodeType":"ElementaryTypeName","src":"59104:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":20997,"mutability":"mutable","name":"right","nameLocation":"59140:5:13","nodeType":"VariableDeclaration","scope":21000,"src":"59125:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":20996,"name":"bytes","nodeType":"ElementaryTypeName","src":"59125:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"59103:43:13"},"returnParameters":{"id":20999,"nodeType":"ParameterList","parameters":[],"src":"59160:0:13"},"scope":22388,"src":"59086:75:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21001,"nodeType":"StructuredDocumentation","src":"59167:103:13","text":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"e24fed00","id":21010,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"59284:8:13","nodeType":"FunctionDefinition","parameters":{"id":21008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21003,"mutability":"mutable","name":"left","nameLocation":"59308:4:13","nodeType":"VariableDeclaration","scope":21010,"src":"59293:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21002,"name":"bytes","nodeType":"ElementaryTypeName","src":"59293:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21005,"mutability":"mutable","name":"right","nameLocation":"59329:5:13","nodeType":"VariableDeclaration","scope":21010,"src":"59314:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21004,"name":"bytes","nodeType":"ElementaryTypeName","src":"59314:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21007,"mutability":"mutable","name":"error","nameLocation":"59352:5:13","nodeType":"VariableDeclaration","scope":21010,"src":"59336:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21006,"name":"string","nodeType":"ElementaryTypeName","src":"59336:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59292:66:13"},"returnParameters":{"id":21009,"nodeType":"ParameterList","parameters":[],"src":"59372:0:13"},"scope":22388,"src":"59275:98:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21011,"nodeType":"StructuredDocumentation","src":"59379:55:13","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","id":21020,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"59448:8:13","nodeType":"FunctionDefinition","parameters":{"id":21018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21014,"mutability":"mutable","name":"left","nameLocation":"59473:4:13","nodeType":"VariableDeclaration","scope":21020,"src":"59457:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21012,"name":"bool","nodeType":"ElementaryTypeName","src":"59457:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21013,"nodeType":"ArrayTypeName","src":"59457:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21017,"mutability":"mutable","name":"right","nameLocation":"59495:5:13","nodeType":"VariableDeclaration","scope":21020,"src":"59479:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21015,"name":"bool","nodeType":"ElementaryTypeName","src":"59479:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21016,"nodeType":"ArrayTypeName","src":"59479:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"59456:45:13"},"returnParameters":{"id":21019,"nodeType":"ParameterList","parameters":[],"src":"59515:0:13"},"scope":22388,"src":"59439:77:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21021,"nodeType":"StructuredDocumentation","src":"59522:112:13","text":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"e48a8f8d","id":21032,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"59648:8:13","nodeType":"FunctionDefinition","parameters":{"id":21030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21024,"mutability":"mutable","name":"left","nameLocation":"59673:4:13","nodeType":"VariableDeclaration","scope":21032,"src":"59657:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21022,"name":"bool","nodeType":"ElementaryTypeName","src":"59657:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21023,"nodeType":"ArrayTypeName","src":"59657:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21027,"mutability":"mutable","name":"right","nameLocation":"59695:5:13","nodeType":"VariableDeclaration","scope":21032,"src":"59679:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21025,"name":"bool","nodeType":"ElementaryTypeName","src":"59679:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21026,"nodeType":"ArrayTypeName","src":"59679:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21029,"mutability":"mutable","name":"error","nameLocation":"59718:5:13","nodeType":"VariableDeclaration","scope":21032,"src":"59702:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21028,"name":"string","nodeType":"ElementaryTypeName","src":"59702:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59656:68:13"},"returnParameters":{"id":21031,"nodeType":"ParameterList","parameters":[],"src":"59738:0:13"},"scope":22388,"src":"59639:100:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21033,"nodeType":"StructuredDocumentation","src":"59745:57:13","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","id":21042,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"59816:8:13","nodeType":"FunctionDefinition","parameters":{"id":21040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21036,"mutability":"mutable","name":"left","nameLocation":"59844:4:13","nodeType":"VariableDeclaration","scope":21042,"src":"59825:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21034,"name":"uint256","nodeType":"ElementaryTypeName","src":"59825:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21035,"nodeType":"ArrayTypeName","src":"59825:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21039,"mutability":"mutable","name":"right","nameLocation":"59869:5:13","nodeType":"VariableDeclaration","scope":21042,"src":"59850:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21037,"name":"uint256","nodeType":"ElementaryTypeName","src":"59850:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21038,"nodeType":"ArrayTypeName","src":"59850:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"59824:51:13"},"returnParameters":{"id":21041,"nodeType":"ParameterList","parameters":[],"src":"59889:0:13"},"scope":22388,"src":"59807:83:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21043,"nodeType":"StructuredDocumentation","src":"59896:115:13","text":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"5d18c73a","id":21054,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60025:8:13","nodeType":"FunctionDefinition","parameters":{"id":21052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21046,"mutability":"mutable","name":"left","nameLocation":"60053:4:13","nodeType":"VariableDeclaration","scope":21054,"src":"60034:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21044,"name":"uint256","nodeType":"ElementaryTypeName","src":"60034:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21045,"nodeType":"ArrayTypeName","src":"60034:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21049,"mutability":"mutable","name":"right","nameLocation":"60078:5:13","nodeType":"VariableDeclaration","scope":21054,"src":"60059:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21047,"name":"uint256","nodeType":"ElementaryTypeName","src":"60059:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21048,"nodeType":"ArrayTypeName","src":"60059:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21051,"mutability":"mutable","name":"error","nameLocation":"60101:5:13","nodeType":"VariableDeclaration","scope":21054,"src":"60085:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21050,"name":"string","nodeType":"ElementaryTypeName","src":"60085:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60033:74:13"},"returnParameters":{"id":21053,"nodeType":"ParameterList","parameters":[],"src":"60121:0:13"},"scope":22388,"src":"60016:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21055,"nodeType":"StructuredDocumentation","src":"60128:57:13","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","id":21064,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60199:8:13","nodeType":"FunctionDefinition","parameters":{"id":21062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21058,"mutability":"mutable","name":"left","nameLocation":"60226:4:13","nodeType":"VariableDeclaration","scope":21064,"src":"60208:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21056,"name":"int256","nodeType":"ElementaryTypeName","src":"60208:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21057,"nodeType":"ArrayTypeName","src":"60208:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21061,"mutability":"mutable","name":"right","nameLocation":"60250:5:13","nodeType":"VariableDeclaration","scope":21064,"src":"60232:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21059,"name":"int256","nodeType":"ElementaryTypeName","src":"60232:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21060,"nodeType":"ArrayTypeName","src":"60232:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"60207:49:13"},"returnParameters":{"id":21063,"nodeType":"ParameterList","parameters":[],"src":"60270:0:13"},"scope":22388,"src":"60190:81:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21065,"nodeType":"StructuredDocumentation","src":"60277:114:13","text":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"191f1b30","id":21076,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60405:8:13","nodeType":"FunctionDefinition","parameters":{"id":21074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21068,"mutability":"mutable","name":"left","nameLocation":"60432:4:13","nodeType":"VariableDeclaration","scope":21076,"src":"60414:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21066,"name":"int256","nodeType":"ElementaryTypeName","src":"60414:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21067,"nodeType":"ArrayTypeName","src":"60414:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21071,"mutability":"mutable","name":"right","nameLocation":"60456:5:13","nodeType":"VariableDeclaration","scope":21076,"src":"60438:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21069,"name":"int256","nodeType":"ElementaryTypeName","src":"60438:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21070,"nodeType":"ArrayTypeName","src":"60438:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21073,"mutability":"mutable","name":"error","nameLocation":"60479:5:13","nodeType":"VariableDeclaration","scope":21076,"src":"60463:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21072,"name":"string","nodeType":"ElementaryTypeName","src":"60463:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60413:72:13"},"returnParameters":{"id":21075,"nodeType":"ParameterList","parameters":[],"src":"60499:0:13"},"scope":22388,"src":"60396:104:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21077,"nodeType":"StructuredDocumentation","src":"60506:48:13","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","id":21084,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60568:8:13","nodeType":"FunctionDefinition","parameters":{"id":21082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21079,"mutability":"mutable","name":"left","nameLocation":"60585:4:13","nodeType":"VariableDeclaration","scope":21084,"src":"60577:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21078,"name":"uint256","nodeType":"ElementaryTypeName","src":"60577:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21081,"mutability":"mutable","name":"right","nameLocation":"60599:5:13","nodeType":"VariableDeclaration","scope":21084,"src":"60591:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21080,"name":"uint256","nodeType":"ElementaryTypeName","src":"60591:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60576:29:13"},"returnParameters":{"id":21083,"nodeType":"ParameterList","parameters":[],"src":"60619:0:13"},"scope":22388,"src":"60559:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21085,"nodeType":"StructuredDocumentation","src":"60626:58:13","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","id":21094,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60698:8:13","nodeType":"FunctionDefinition","parameters":{"id":21092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21088,"mutability":"mutable","name":"left","nameLocation":"60726:4:13","nodeType":"VariableDeclaration","scope":21094,"src":"60707:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21086,"name":"address","nodeType":"ElementaryTypeName","src":"60707:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21087,"nodeType":"ArrayTypeName","src":"60707:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21091,"mutability":"mutable","name":"right","nameLocation":"60751:5:13","nodeType":"VariableDeclaration","scope":21094,"src":"60732:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21089,"name":"address","nodeType":"ElementaryTypeName","src":"60732:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21090,"nodeType":"ArrayTypeName","src":"60732:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"60706:51:13"},"returnParameters":{"id":21093,"nodeType":"ParameterList","parameters":[],"src":"60771:0:13"},"scope":22388,"src":"60689:83:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21095,"nodeType":"StructuredDocumentation","src":"60778:115:13","text":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"functionSelector":"3e9173c5","id":21106,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"60907:8:13","nodeType":"FunctionDefinition","parameters":{"id":21104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21098,"mutability":"mutable","name":"left","nameLocation":"60935:4:13","nodeType":"VariableDeclaration","scope":21106,"src":"60916:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21096,"name":"address","nodeType":"ElementaryTypeName","src":"60916:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21097,"nodeType":"ArrayTypeName","src":"60916:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21101,"mutability":"mutable","name":"right","nameLocation":"60960:5:13","nodeType":"VariableDeclaration","scope":21106,"src":"60941:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21099,"name":"address","nodeType":"ElementaryTypeName","src":"60941:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21100,"nodeType":"ArrayTypeName","src":"60941:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21103,"mutability":"mutable","name":"error","nameLocation":"60983:5:13","nodeType":"VariableDeclaration","scope":21106,"src":"60967:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21102,"name":"string","nodeType":"ElementaryTypeName","src":"60967:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60915:74:13"},"returnParameters":{"id":21105,"nodeType":"ParameterList","parameters":[],"src":"61003:0:13"},"scope":22388,"src":"60898:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21107,"nodeType":"StructuredDocumentation","src":"61010:58:13","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","id":21116,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"61082:8:13","nodeType":"FunctionDefinition","parameters":{"id":21114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21110,"mutability":"mutable","name":"left","nameLocation":"61110:4:13","nodeType":"VariableDeclaration","scope":21116,"src":"61091:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61091:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21109,"nodeType":"ArrayTypeName","src":"61091:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21113,"mutability":"mutable","name":"right","nameLocation":"61135:5:13","nodeType":"VariableDeclaration","scope":21116,"src":"61116:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61116:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21112,"nodeType":"ArrayTypeName","src":"61116:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"61090:51:13"},"returnParameters":{"id":21115,"nodeType":"ParameterList","parameters":[],"src":"61155:0:13"},"scope":22388,"src":"61073:83:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21117,"nodeType":"StructuredDocumentation","src":"61162:115:13","text":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"e03e9177","id":21128,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"61291:8:13","nodeType":"FunctionDefinition","parameters":{"id":21126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21120,"mutability":"mutable","name":"left","nameLocation":"61319:4:13","nodeType":"VariableDeclaration","scope":21128,"src":"61300:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61300:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21119,"nodeType":"ArrayTypeName","src":"61300:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21123,"mutability":"mutable","name":"right","nameLocation":"61344:5:13","nodeType":"VariableDeclaration","scope":21128,"src":"61325:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61325:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21122,"nodeType":"ArrayTypeName","src":"61325:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21125,"mutability":"mutable","name":"error","nameLocation":"61367:5:13","nodeType":"VariableDeclaration","scope":21128,"src":"61351:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21124,"name":"string","nodeType":"ElementaryTypeName","src":"61351:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61299:74:13"},"returnParameters":{"id":21127,"nodeType":"ParameterList","parameters":[],"src":"61387:0:13"},"scope":22388,"src":"61282:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21129,"nodeType":"StructuredDocumentation","src":"61394:57:13","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","id":21138,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"61465:8:13","nodeType":"FunctionDefinition","parameters":{"id":21136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21132,"mutability":"mutable","name":"left","nameLocation":"61492:4:13","nodeType":"VariableDeclaration","scope":21138,"src":"61474:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21130,"name":"string","nodeType":"ElementaryTypeName","src":"61474:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21131,"nodeType":"ArrayTypeName","src":"61474:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21135,"mutability":"mutable","name":"right","nameLocation":"61516:5:13","nodeType":"VariableDeclaration","scope":21138,"src":"61498:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21133,"name":"string","nodeType":"ElementaryTypeName","src":"61498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21134,"nodeType":"ArrayTypeName","src":"61498:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"61473:49:13"},"returnParameters":{"id":21137,"nodeType":"ParameterList","parameters":[],"src":"61536:0:13"},"scope":22388,"src":"61456:81:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21139,"nodeType":"StructuredDocumentation","src":"61543:114:13","text":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"functionSelector":"eff6b27d","id":21150,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"61671:8:13","nodeType":"FunctionDefinition","parameters":{"id":21148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21142,"mutability":"mutable","name":"left","nameLocation":"61698:4:13","nodeType":"VariableDeclaration","scope":21150,"src":"61680:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21140,"name":"string","nodeType":"ElementaryTypeName","src":"61680:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21141,"nodeType":"ArrayTypeName","src":"61680:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21145,"mutability":"mutable","name":"right","nameLocation":"61722:5:13","nodeType":"VariableDeclaration","scope":21150,"src":"61704:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21143,"name":"string","nodeType":"ElementaryTypeName","src":"61704:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21144,"nodeType":"ArrayTypeName","src":"61704:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21147,"mutability":"mutable","name":"error","nameLocation":"61745:5:13","nodeType":"VariableDeclaration","scope":21150,"src":"61729:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21146,"name":"string","nodeType":"ElementaryTypeName","src":"61729:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61679:72:13"},"returnParameters":{"id":21149,"nodeType":"ParameterList","parameters":[],"src":"61765:0:13"},"scope":22388,"src":"61662:104:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21151,"nodeType":"StructuredDocumentation","src":"61772:56:13","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","id":21160,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"61842:8:13","nodeType":"FunctionDefinition","parameters":{"id":21158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21154,"mutability":"mutable","name":"left","nameLocation":"61868:4:13","nodeType":"VariableDeclaration","scope":21160,"src":"61851:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21152,"name":"bytes","nodeType":"ElementaryTypeName","src":"61851:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21153,"nodeType":"ArrayTypeName","src":"61851:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21157,"mutability":"mutable","name":"right","nameLocation":"61891:5:13","nodeType":"VariableDeclaration","scope":21160,"src":"61874:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21155,"name":"bytes","nodeType":"ElementaryTypeName","src":"61874:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21156,"nodeType":"ArrayTypeName","src":"61874:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"61850:47:13"},"returnParameters":{"id":21159,"nodeType":"ParameterList","parameters":[],"src":"61911:0:13"},"scope":22388,"src":"61833:79:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21161,"nodeType":"StructuredDocumentation","src":"61918:113:13","text":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"f413f0b6","id":21172,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62045:8:13","nodeType":"FunctionDefinition","parameters":{"id":21170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21164,"mutability":"mutable","name":"left","nameLocation":"62071:4:13","nodeType":"VariableDeclaration","scope":21172,"src":"62054:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21162,"name":"bytes","nodeType":"ElementaryTypeName","src":"62054:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21163,"nodeType":"ArrayTypeName","src":"62054:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21167,"mutability":"mutable","name":"right","nameLocation":"62094:5:13","nodeType":"VariableDeclaration","scope":21172,"src":"62077:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21165,"name":"bytes","nodeType":"ElementaryTypeName","src":"62077:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21166,"nodeType":"ArrayTypeName","src":"62077:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21169,"mutability":"mutable","name":"error","nameLocation":"62117:5:13","nodeType":"VariableDeclaration","scope":21172,"src":"62101:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21168,"name":"string","nodeType":"ElementaryTypeName","src":"62101:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62053:70:13"},"returnParameters":{"id":21171,"nodeType":"ParameterList","parameters":[],"src":"62137:0:13"},"scope":22388,"src":"62036:102:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21173,"nodeType":"StructuredDocumentation","src":"62144:105:13","text":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"88b44c85","id":21182,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62263:8:13","nodeType":"FunctionDefinition","parameters":{"id":21180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21175,"mutability":"mutable","name":"left","nameLocation":"62280:4:13","nodeType":"VariableDeclaration","scope":21182,"src":"62272:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21174,"name":"uint256","nodeType":"ElementaryTypeName","src":"62272:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21177,"mutability":"mutable","name":"right","nameLocation":"62294:5:13","nodeType":"VariableDeclaration","scope":21182,"src":"62286:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21176,"name":"uint256","nodeType":"ElementaryTypeName","src":"62286:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21179,"mutability":"mutable","name":"error","nameLocation":"62317:5:13","nodeType":"VariableDeclaration","scope":21182,"src":"62301:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21178,"name":"string","nodeType":"ElementaryTypeName","src":"62301:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62271:52:13"},"returnParameters":{"id":21181,"nodeType":"ParameterList","parameters":[],"src":"62337:0:13"},"scope":22388,"src":"62254:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21183,"nodeType":"StructuredDocumentation","src":"62344:47:13","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","id":21190,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62405:8:13","nodeType":"FunctionDefinition","parameters":{"id":21188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21185,"mutability":"mutable","name":"left","nameLocation":"62421:4:13","nodeType":"VariableDeclaration","scope":21190,"src":"62414:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21184,"name":"int256","nodeType":"ElementaryTypeName","src":"62414:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21187,"mutability":"mutable","name":"right","nameLocation":"62434:5:13","nodeType":"VariableDeclaration","scope":21190,"src":"62427:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21186,"name":"int256","nodeType":"ElementaryTypeName","src":"62427:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"62413:27:13"},"returnParameters":{"id":21189,"nodeType":"ParameterList","parameters":[],"src":"62454:0:13"},"scope":22388,"src":"62396:59:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21191,"nodeType":"StructuredDocumentation","src":"62461:104:13","text":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"714a2f13","id":21200,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62579:8:13","nodeType":"FunctionDefinition","parameters":{"id":21198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21193,"mutability":"mutable","name":"left","nameLocation":"62595:4:13","nodeType":"VariableDeclaration","scope":21200,"src":"62588:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21192,"name":"int256","nodeType":"ElementaryTypeName","src":"62588:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21195,"mutability":"mutable","name":"right","nameLocation":"62608:5:13","nodeType":"VariableDeclaration","scope":21200,"src":"62601:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21194,"name":"int256","nodeType":"ElementaryTypeName","src":"62601:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21197,"mutability":"mutable","name":"error","nameLocation":"62631:5:13","nodeType":"VariableDeclaration","scope":21200,"src":"62615:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21196,"name":"string","nodeType":"ElementaryTypeName","src":"62615:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62587:50:13"},"returnParameters":{"id":21199,"nodeType":"ParameterList","parameters":[],"src":"62651:0:13"},"scope":22388,"src":"62570:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21201,"nodeType":"StructuredDocumentation","src":"62658:48:13","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","id":21208,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62720:8:13","nodeType":"FunctionDefinition","parameters":{"id":21206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21203,"mutability":"mutable","name":"left","nameLocation":"62737:4:13","nodeType":"VariableDeclaration","scope":21208,"src":"62729:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21202,"name":"address","nodeType":"ElementaryTypeName","src":"62729:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21205,"mutability":"mutable","name":"right","nameLocation":"62751:5:13","nodeType":"VariableDeclaration","scope":21208,"src":"62743:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21204,"name":"address","nodeType":"ElementaryTypeName","src":"62743:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62728:29:13"},"returnParameters":{"id":21207,"nodeType":"ParameterList","parameters":[],"src":"62771:0:13"},"scope":22388,"src":"62711:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21209,"nodeType":"StructuredDocumentation","src":"62778:105:13","text":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"functionSelector":"2f2769d1","id":21218,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"62897:8:13","nodeType":"FunctionDefinition","parameters":{"id":21216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21211,"mutability":"mutable","name":"left","nameLocation":"62914:4:13","nodeType":"VariableDeclaration","scope":21218,"src":"62906:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21210,"name":"address","nodeType":"ElementaryTypeName","src":"62906:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21213,"mutability":"mutable","name":"right","nameLocation":"62928:5:13","nodeType":"VariableDeclaration","scope":21218,"src":"62920:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21212,"name":"address","nodeType":"ElementaryTypeName","src":"62920:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21215,"mutability":"mutable","name":"error","nameLocation":"62951:5:13","nodeType":"VariableDeclaration","scope":21218,"src":"62935:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21214,"name":"string","nodeType":"ElementaryTypeName","src":"62935:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62905:52:13"},"returnParameters":{"id":21217,"nodeType":"ParameterList","parameters":[],"src":"62971:0:13"},"scope":22388,"src":"62888:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21219,"nodeType":"StructuredDocumentation","src":"62978:48:13","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","id":21226,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"63040:8:13","nodeType":"FunctionDefinition","parameters":{"id":21224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21221,"mutability":"mutable","name":"left","nameLocation":"63057:4:13","nodeType":"VariableDeclaration","scope":21226,"src":"63049:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63049:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21223,"mutability":"mutable","name":"right","nameLocation":"63071:5:13","nodeType":"VariableDeclaration","scope":21226,"src":"63063:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63063:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"63048:29:13"},"returnParameters":{"id":21225,"nodeType":"ParameterList","parameters":[],"src":"63091:0:13"},"scope":22388,"src":"63031:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21227,"nodeType":"StructuredDocumentation","src":"63098:105:13","text":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"c1fa1ed0","id":21236,"implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"63217:8:13","nodeType":"FunctionDefinition","parameters":{"id":21234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21229,"mutability":"mutable","name":"left","nameLocation":"63234:4:13","nodeType":"VariableDeclaration","scope":21236,"src":"63226:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63226:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21231,"mutability":"mutable","name":"right","nameLocation":"63248:5:13","nodeType":"VariableDeclaration","scope":21236,"src":"63240:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63240:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21233,"mutability":"mutable","name":"error","nameLocation":"63271:5:13","nodeType":"VariableDeclaration","scope":21236,"src":"63255:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21232,"name":"string","nodeType":"ElementaryTypeName","src":"63255:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63225:52:13"},"returnParameters":{"id":21235,"nodeType":"ParameterList","parameters":[],"src":"63291:0:13"},"scope":22388,"src":"63208:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21237,"nodeType":"StructuredDocumentation","src":"63298:46:13","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","id":21242,"implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"63358:11:13","nodeType":"FunctionDefinition","parameters":{"id":21240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21239,"mutability":"mutable","name":"condition","nameLocation":"63375:9:13","nodeType":"VariableDeclaration","scope":21242,"src":"63370:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21238,"name":"bool","nodeType":"ElementaryTypeName","src":"63370:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63369:16:13"},"returnParameters":{"id":21241,"nodeType":"ParameterList","parameters":[],"src":"63399:0:13"},"scope":22388,"src":"63349:51:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21243,"nodeType":"StructuredDocumentation","src":"63406:103:13","text":"Asserts that the given condition is false and includes error message into revert string on failure."},"functionSelector":"7ba04809","id":21250,"implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"63523:11:13","nodeType":"FunctionDefinition","parameters":{"id":21248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21245,"mutability":"mutable","name":"condition","nameLocation":"63540:9:13","nodeType":"VariableDeclaration","scope":21250,"src":"63535:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21244,"name":"bool","nodeType":"ElementaryTypeName","src":"63535:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21247,"mutability":"mutable","name":"error","nameLocation":"63567:5:13","nodeType":"VariableDeclaration","scope":21250,"src":"63551:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21246,"name":"string","nodeType":"ElementaryTypeName","src":"63551:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63534:39:13"},"returnParameters":{"id":21249,"nodeType":"ParameterList","parameters":[],"src":"63587:0:13"},"scope":22388,"src":"63514:74:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21251,"nodeType":"StructuredDocumentation","src":"63594:150:13","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","id":21260,"implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"63758:15:13","nodeType":"FunctionDefinition","parameters":{"id":21258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21253,"mutability":"mutable","name":"left","nameLocation":"63782:4:13","nodeType":"VariableDeclaration","scope":21260,"src":"63774:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21252,"name":"uint256","nodeType":"ElementaryTypeName","src":"63774:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21255,"mutability":"mutable","name":"right","nameLocation":"63796:5:13","nodeType":"VariableDeclaration","scope":21260,"src":"63788:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21254,"name":"uint256","nodeType":"ElementaryTypeName","src":"63788:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21257,"mutability":"mutable","name":"decimals","nameLocation":"63811:8:13","nodeType":"VariableDeclaration","scope":21260,"src":"63803:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21256,"name":"uint256","nodeType":"ElementaryTypeName","src":"63803:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63773:47:13"},"returnParameters":{"id":21259,"nodeType":"ParameterList","parameters":[],"src":"63834:0:13"},"scope":22388,"src":"63749:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21261,"nodeType":"StructuredDocumentation","src":"63841:204:13","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","id":21272,"implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"64059:15:13","nodeType":"FunctionDefinition","parameters":{"id":21270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21263,"mutability":"mutable","name":"left","nameLocation":"64083:4:13","nodeType":"VariableDeclaration","scope":21272,"src":"64075:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21262,"name":"uint256","nodeType":"ElementaryTypeName","src":"64075:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21265,"mutability":"mutable","name":"right","nameLocation":"64097:5:13","nodeType":"VariableDeclaration","scope":21272,"src":"64089:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21264,"name":"uint256","nodeType":"ElementaryTypeName","src":"64089:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21267,"mutability":"mutable","name":"decimals","nameLocation":"64112:8:13","nodeType":"VariableDeclaration","scope":21272,"src":"64104:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21266,"name":"uint256","nodeType":"ElementaryTypeName","src":"64104:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21269,"mutability":"mutable","name":"error","nameLocation":"64138:5:13","nodeType":"VariableDeclaration","scope":21272,"src":"64122:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21268,"name":"string","nodeType":"ElementaryTypeName","src":"64122:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64074:70:13"},"returnParameters":{"id":21271,"nodeType":"ParameterList","parameters":[],"src":"64158:0:13"},"scope":22388,"src":"64050:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21273,"nodeType":"StructuredDocumentation","src":"64165:149:13","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","id":21282,"implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"64328:15:13","nodeType":"FunctionDefinition","parameters":{"id":21280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21275,"mutability":"mutable","name":"left","nameLocation":"64351:4:13","nodeType":"VariableDeclaration","scope":21282,"src":"64344:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21274,"name":"int256","nodeType":"ElementaryTypeName","src":"64344:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21277,"mutability":"mutable","name":"right","nameLocation":"64364:5:13","nodeType":"VariableDeclaration","scope":21282,"src":"64357:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21276,"name":"int256","nodeType":"ElementaryTypeName","src":"64357:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21279,"mutability":"mutable","name":"decimals","nameLocation":"64379:8:13","nodeType":"VariableDeclaration","scope":21282,"src":"64371:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21278,"name":"uint256","nodeType":"ElementaryTypeName","src":"64371:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64343:45:13"},"returnParameters":{"id":21281,"nodeType":"ParameterList","parameters":[],"src":"64402:0:13"},"scope":22388,"src":"64319:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21283,"nodeType":"StructuredDocumentation","src":"64409:203:13","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","id":21294,"implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"64626:15:13","nodeType":"FunctionDefinition","parameters":{"id":21292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21285,"mutability":"mutable","name":"left","nameLocation":"64649:4:13","nodeType":"VariableDeclaration","scope":21294,"src":"64642:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21284,"name":"int256","nodeType":"ElementaryTypeName","src":"64642:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21287,"mutability":"mutable","name":"right","nameLocation":"64662:5:13","nodeType":"VariableDeclaration","scope":21294,"src":"64655:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21286,"name":"int256","nodeType":"ElementaryTypeName","src":"64655:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21289,"mutability":"mutable","name":"decimals","nameLocation":"64677:8:13","nodeType":"VariableDeclaration","scope":21294,"src":"64669:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21288,"name":"uint256","nodeType":"ElementaryTypeName","src":"64669:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21291,"mutability":"mutable","name":"error","nameLocation":"64703:5:13","nodeType":"VariableDeclaration","scope":21294,"src":"64687:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21290,"name":"string","nodeType":"ElementaryTypeName","src":"64687:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64641:68:13"},"returnParameters":{"id":21293,"nodeType":"ParameterList","parameters":[],"src":"64723:0:13"},"scope":22388,"src":"64617:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21295,"nodeType":"StructuredDocumentation","src":"64730:93:13","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"functionSelector":"a8d4d1d9","id":21302,"implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"64837:8:13","nodeType":"FunctionDefinition","parameters":{"id":21300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21297,"mutability":"mutable","name":"left","nameLocation":"64854:4:13","nodeType":"VariableDeclaration","scope":21302,"src":"64846:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21296,"name":"uint256","nodeType":"ElementaryTypeName","src":"64846:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21299,"mutability":"mutable","name":"right","nameLocation":"64868:5:13","nodeType":"VariableDeclaration","scope":21302,"src":"64860:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21298,"name":"uint256","nodeType":"ElementaryTypeName","src":"64860:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64845:29:13"},"returnParameters":{"id":21301,"nodeType":"ParameterList","parameters":[],"src":"64888:0:13"},"scope":22388,"src":"64828:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21303,"nodeType":"StructuredDocumentation","src":"64895:155:13","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","id":21312,"implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"65064:8:13","nodeType":"FunctionDefinition","parameters":{"id":21310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21305,"mutability":"mutable","name":"left","nameLocation":"65081:4:13","nodeType":"VariableDeclaration","scope":21312,"src":"65073:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21304,"name":"uint256","nodeType":"ElementaryTypeName","src":"65073:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21307,"mutability":"mutable","name":"right","nameLocation":"65095:5:13","nodeType":"VariableDeclaration","scope":21312,"src":"65087:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21306,"name":"uint256","nodeType":"ElementaryTypeName","src":"65087:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21309,"mutability":"mutable","name":"error","nameLocation":"65118:5:13","nodeType":"VariableDeclaration","scope":21312,"src":"65102:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21308,"name":"string","nodeType":"ElementaryTypeName","src":"65102:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65072:52:13"},"returnParameters":{"id":21311,"nodeType":"ParameterList","parameters":[],"src":"65138:0:13"},"scope":22388,"src":"65055:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21313,"nodeType":"StructuredDocumentation","src":"65145:92:13","text":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"functionSelector":"0a30b771","id":21320,"implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"65251:8:13","nodeType":"FunctionDefinition","parameters":{"id":21318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21315,"mutability":"mutable","name":"left","nameLocation":"65267:4:13","nodeType":"VariableDeclaration","scope":21320,"src":"65260:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21314,"name":"int256","nodeType":"ElementaryTypeName","src":"65260:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21317,"mutability":"mutable","name":"right","nameLocation":"65280:5:13","nodeType":"VariableDeclaration","scope":21320,"src":"65273:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21316,"name":"int256","nodeType":"ElementaryTypeName","src":"65273:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"65259:27:13"},"returnParameters":{"id":21319,"nodeType":"ParameterList","parameters":[],"src":"65300:0:13"},"scope":22388,"src":"65242:59:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21321,"nodeType":"StructuredDocumentation","src":"65307:154:13","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","id":21330,"implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"65475:8:13","nodeType":"FunctionDefinition","parameters":{"id":21328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21323,"mutability":"mutable","name":"left","nameLocation":"65491:4:13","nodeType":"VariableDeclaration","scope":21330,"src":"65484:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21322,"name":"int256","nodeType":"ElementaryTypeName","src":"65484:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21325,"mutability":"mutable","name":"right","nameLocation":"65504:5:13","nodeType":"VariableDeclaration","scope":21330,"src":"65497:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21324,"name":"int256","nodeType":"ElementaryTypeName","src":"65497:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21327,"mutability":"mutable","name":"error","nameLocation":"65527:5:13","nodeType":"VariableDeclaration","scope":21330,"src":"65511:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21326,"name":"string","nodeType":"ElementaryTypeName","src":"65511:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65483:50:13"},"returnParameters":{"id":21329,"nodeType":"ParameterList","parameters":[],"src":"65547:0:13"},"scope":22388,"src":"65466:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21331,"nodeType":"StructuredDocumentation","src":"65554:138:13","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"eccd2437","id":21340,"implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"65706:15:13","nodeType":"FunctionDefinition","parameters":{"id":21338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21333,"mutability":"mutable","name":"left","nameLocation":"65730:4:13","nodeType":"VariableDeclaration","scope":21340,"src":"65722:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21332,"name":"uint256","nodeType":"ElementaryTypeName","src":"65722:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21335,"mutability":"mutable","name":"right","nameLocation":"65744:5:13","nodeType":"VariableDeclaration","scope":21340,"src":"65736:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21334,"name":"uint256","nodeType":"ElementaryTypeName","src":"65736:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21337,"mutability":"mutable","name":"decimals","nameLocation":"65759:8:13","nodeType":"VariableDeclaration","scope":21340,"src":"65751:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21336,"name":"uint256","nodeType":"ElementaryTypeName","src":"65751:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65721:47:13"},"returnParameters":{"id":21339,"nodeType":"ParameterList","parameters":[],"src":"65782:0:13"},"scope":22388,"src":"65697:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21341,"nodeType":"StructuredDocumentation","src":"65789:192:13","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","id":21352,"implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"65995:15:13","nodeType":"FunctionDefinition","parameters":{"id":21350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21343,"mutability":"mutable","name":"left","nameLocation":"66019:4:13","nodeType":"VariableDeclaration","scope":21352,"src":"66011:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21342,"name":"uint256","nodeType":"ElementaryTypeName","src":"66011:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21345,"mutability":"mutable","name":"right","nameLocation":"66033:5:13","nodeType":"VariableDeclaration","scope":21352,"src":"66025:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21344,"name":"uint256","nodeType":"ElementaryTypeName","src":"66025:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21347,"mutability":"mutable","name":"decimals","nameLocation":"66048:8:13","nodeType":"VariableDeclaration","scope":21352,"src":"66040:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21346,"name":"uint256","nodeType":"ElementaryTypeName","src":"66040:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21349,"mutability":"mutable","name":"error","nameLocation":"66074:5:13","nodeType":"VariableDeclaration","scope":21352,"src":"66058:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21348,"name":"string","nodeType":"ElementaryTypeName","src":"66058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66010:70:13"},"returnParameters":{"id":21351,"nodeType":"ParameterList","parameters":[],"src":"66094:0:13"},"scope":22388,"src":"65986:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21353,"nodeType":"StructuredDocumentation","src":"66101:137:13","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"78611f0e","id":21362,"implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"66252:15:13","nodeType":"FunctionDefinition","parameters":{"id":21360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21355,"mutability":"mutable","name":"left","nameLocation":"66275:4:13","nodeType":"VariableDeclaration","scope":21362,"src":"66268:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21354,"name":"int256","nodeType":"ElementaryTypeName","src":"66268:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21357,"mutability":"mutable","name":"right","nameLocation":"66288:5:13","nodeType":"VariableDeclaration","scope":21362,"src":"66281:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21356,"name":"int256","nodeType":"ElementaryTypeName","src":"66281:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21359,"mutability":"mutable","name":"decimals","nameLocation":"66303:8:13","nodeType":"VariableDeclaration","scope":21362,"src":"66295:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21358,"name":"uint256","nodeType":"ElementaryTypeName","src":"66295:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66267:45:13"},"returnParameters":{"id":21361,"nodeType":"ParameterList","parameters":[],"src":"66326:0:13"},"scope":22388,"src":"66243:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21363,"nodeType":"StructuredDocumentation","src":"66333:191:13","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","id":21374,"implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"66538:15:13","nodeType":"FunctionDefinition","parameters":{"id":21372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21365,"mutability":"mutable","name":"left","nameLocation":"66561:4:13","nodeType":"VariableDeclaration","scope":21374,"src":"66554:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21364,"name":"int256","nodeType":"ElementaryTypeName","src":"66554:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21367,"mutability":"mutable","name":"right","nameLocation":"66574:5:13","nodeType":"VariableDeclaration","scope":21374,"src":"66567:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21366,"name":"int256","nodeType":"ElementaryTypeName","src":"66567:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21369,"mutability":"mutable","name":"decimals","nameLocation":"66589:8:13","nodeType":"VariableDeclaration","scope":21374,"src":"66581:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21368,"name":"uint256","nodeType":"ElementaryTypeName","src":"66581:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21371,"mutability":"mutable","name":"error","nameLocation":"66615:5:13","nodeType":"VariableDeclaration","scope":21374,"src":"66599:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21370,"name":"string","nodeType":"ElementaryTypeName","src":"66599:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66553:68:13"},"returnParameters":{"id":21373,"nodeType":"ParameterList","parameters":[],"src":"66635:0:13"},"scope":22388,"src":"66529:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21375,"nodeType":"StructuredDocumentation","src":"66642:81:13","text":"Compares two `uint256` values. Expects first value to be greater than second."},"functionSelector":"db07fcd2","id":21382,"implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"66737:8:13","nodeType":"FunctionDefinition","parameters":{"id":21380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21377,"mutability":"mutable","name":"left","nameLocation":"66754:4:13","nodeType":"VariableDeclaration","scope":21382,"src":"66746:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21376,"name":"uint256","nodeType":"ElementaryTypeName","src":"66746:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21379,"mutability":"mutable","name":"right","nameLocation":"66768:5:13","nodeType":"VariableDeclaration","scope":21382,"src":"66760:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21378,"name":"uint256","nodeType":"ElementaryTypeName","src":"66760:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66745:29:13"},"returnParameters":{"id":21381,"nodeType":"ParameterList","parameters":[],"src":"66788:0:13"},"scope":22388,"src":"66728:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21383,"nodeType":"StructuredDocumentation","src":"66795:143:13","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"d9a3c4d2","id":21392,"implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"66952:8:13","nodeType":"FunctionDefinition","parameters":{"id":21390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21385,"mutability":"mutable","name":"left","nameLocation":"66969:4:13","nodeType":"VariableDeclaration","scope":21392,"src":"66961:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21384,"name":"uint256","nodeType":"ElementaryTypeName","src":"66961:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21387,"mutability":"mutable","name":"right","nameLocation":"66983:5:13","nodeType":"VariableDeclaration","scope":21392,"src":"66975:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21386,"name":"uint256","nodeType":"ElementaryTypeName","src":"66975:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21389,"mutability":"mutable","name":"error","nameLocation":"67006:5:13","nodeType":"VariableDeclaration","scope":21392,"src":"66990:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21388,"name":"string","nodeType":"ElementaryTypeName","src":"66990:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66960:52:13"},"returnParameters":{"id":21391,"nodeType":"ParameterList","parameters":[],"src":"67026:0:13"},"scope":22388,"src":"66943:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21393,"nodeType":"StructuredDocumentation","src":"67033:80:13","text":"Compares two `int256` values. Expects first value to be greater than second."},"functionSelector":"5a362d45","id":21400,"implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"67127:8:13","nodeType":"FunctionDefinition","parameters":{"id":21398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21395,"mutability":"mutable","name":"left","nameLocation":"67143:4:13","nodeType":"VariableDeclaration","scope":21400,"src":"67136:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21394,"name":"int256","nodeType":"ElementaryTypeName","src":"67136:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21397,"mutability":"mutable","name":"right","nameLocation":"67156:5:13","nodeType":"VariableDeclaration","scope":21400,"src":"67149:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21396,"name":"int256","nodeType":"ElementaryTypeName","src":"67149:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"67135:27:13"},"returnParameters":{"id":21399,"nodeType":"ParameterList","parameters":[],"src":"67176:0:13"},"scope":22388,"src":"67118:59:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21401,"nodeType":"StructuredDocumentation","src":"67183:142:13","text":"Compares two `int256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"f8d33b9b","id":21410,"implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"67339:8:13","nodeType":"FunctionDefinition","parameters":{"id":21408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21403,"mutability":"mutable","name":"left","nameLocation":"67355:4:13","nodeType":"VariableDeclaration","scope":21410,"src":"67348:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21402,"name":"int256","nodeType":"ElementaryTypeName","src":"67348:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21405,"mutability":"mutable","name":"right","nameLocation":"67368:5:13","nodeType":"VariableDeclaration","scope":21410,"src":"67361:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21404,"name":"int256","nodeType":"ElementaryTypeName","src":"67361:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21407,"mutability":"mutable","name":"error","nameLocation":"67391:5:13","nodeType":"VariableDeclaration","scope":21410,"src":"67375:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21406,"name":"string","nodeType":"ElementaryTypeName","src":"67375:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67347:50:13"},"returnParameters":{"id":21409,"nodeType":"ParameterList","parameters":[],"src":"67411:0:13"},"scope":22388,"src":"67330:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21411,"nodeType":"StructuredDocumentation","src":"67418:147:13","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","id":21420,"implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"67579:15:13","nodeType":"FunctionDefinition","parameters":{"id":21418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21413,"mutability":"mutable","name":"left","nameLocation":"67603:4:13","nodeType":"VariableDeclaration","scope":21420,"src":"67595:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21412,"name":"uint256","nodeType":"ElementaryTypeName","src":"67595:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21415,"mutability":"mutable","name":"right","nameLocation":"67617:5:13","nodeType":"VariableDeclaration","scope":21420,"src":"67609:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21414,"name":"uint256","nodeType":"ElementaryTypeName","src":"67609:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21417,"mutability":"mutable","name":"decimals","nameLocation":"67632:8:13","nodeType":"VariableDeclaration","scope":21420,"src":"67624:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21416,"name":"uint256","nodeType":"ElementaryTypeName","src":"67624:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67594:47:13"},"returnParameters":{"id":21419,"nodeType":"ParameterList","parameters":[],"src":"67655:0:13"},"scope":22388,"src":"67570:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21421,"nodeType":"StructuredDocumentation","src":"67662:201:13","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","id":21432,"implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"67877:15:13","nodeType":"FunctionDefinition","parameters":{"id":21430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21423,"mutability":"mutable","name":"left","nameLocation":"67901:4:13","nodeType":"VariableDeclaration","scope":21432,"src":"67893:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21422,"name":"uint256","nodeType":"ElementaryTypeName","src":"67893:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21425,"mutability":"mutable","name":"right","nameLocation":"67915:5:13","nodeType":"VariableDeclaration","scope":21432,"src":"67907:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21424,"name":"uint256","nodeType":"ElementaryTypeName","src":"67907:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21427,"mutability":"mutable","name":"decimals","nameLocation":"67930:8:13","nodeType":"VariableDeclaration","scope":21432,"src":"67922:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21426,"name":"uint256","nodeType":"ElementaryTypeName","src":"67922:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21429,"mutability":"mutable","name":"error","nameLocation":"67956:5:13","nodeType":"VariableDeclaration","scope":21432,"src":"67940:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21428,"name":"string","nodeType":"ElementaryTypeName","src":"67940:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67892:70:13"},"returnParameters":{"id":21431,"nodeType":"ParameterList","parameters":[],"src":"67976:0:13"},"scope":22388,"src":"67868:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21433,"nodeType":"StructuredDocumentation","src":"67983:146:13","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","id":21442,"implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"68143:15:13","nodeType":"FunctionDefinition","parameters":{"id":21440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21435,"mutability":"mutable","name":"left","nameLocation":"68166:4:13","nodeType":"VariableDeclaration","scope":21442,"src":"68159:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21434,"name":"int256","nodeType":"ElementaryTypeName","src":"68159:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21437,"mutability":"mutable","name":"right","nameLocation":"68179:5:13","nodeType":"VariableDeclaration","scope":21442,"src":"68172:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21436,"name":"int256","nodeType":"ElementaryTypeName","src":"68172:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21439,"mutability":"mutable","name":"decimals","nameLocation":"68194:8:13","nodeType":"VariableDeclaration","scope":21442,"src":"68186:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21438,"name":"uint256","nodeType":"ElementaryTypeName","src":"68186:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68158:45:13"},"returnParameters":{"id":21441,"nodeType":"ParameterList","parameters":[],"src":"68217:0:13"},"scope":22388,"src":"68134:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21443,"nodeType":"StructuredDocumentation","src":"68224:200:13","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","id":21454,"implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"68438:15:13","nodeType":"FunctionDefinition","parameters":{"id":21452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21445,"mutability":"mutable","name":"left","nameLocation":"68461:4:13","nodeType":"VariableDeclaration","scope":21454,"src":"68454:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21444,"name":"int256","nodeType":"ElementaryTypeName","src":"68454:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21447,"mutability":"mutable","name":"right","nameLocation":"68474:5:13","nodeType":"VariableDeclaration","scope":21454,"src":"68467:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21446,"name":"int256","nodeType":"ElementaryTypeName","src":"68467:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21449,"mutability":"mutable","name":"decimals","nameLocation":"68489:8:13","nodeType":"VariableDeclaration","scope":21454,"src":"68481:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21448,"name":"uint256","nodeType":"ElementaryTypeName","src":"68481:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21451,"mutability":"mutable","name":"error","nameLocation":"68515:5:13","nodeType":"VariableDeclaration","scope":21454,"src":"68499:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21450,"name":"string","nodeType":"ElementaryTypeName","src":"68499:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68453:68:13"},"returnParameters":{"id":21453,"nodeType":"ParameterList","parameters":[],"src":"68535:0:13"},"scope":22388,"src":"68429:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21455,"nodeType":"StructuredDocumentation","src":"68542:90:13","text":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"functionSelector":"8466f415","id":21462,"implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"68646:8:13","nodeType":"FunctionDefinition","parameters":{"id":21460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21457,"mutability":"mutable","name":"left","nameLocation":"68663:4:13","nodeType":"VariableDeclaration","scope":21462,"src":"68655:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21456,"name":"uint256","nodeType":"ElementaryTypeName","src":"68655:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21459,"mutability":"mutable","name":"right","nameLocation":"68677:5:13","nodeType":"VariableDeclaration","scope":21462,"src":"68669:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21458,"name":"uint256","nodeType":"ElementaryTypeName","src":"68669:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68654:29:13"},"returnParameters":{"id":21461,"nodeType":"ParameterList","parameters":[],"src":"68697:0:13"},"scope":22388,"src":"68637:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21463,"nodeType":"StructuredDocumentation","src":"68704:152:13","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","id":21472,"implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"68870:8:13","nodeType":"FunctionDefinition","parameters":{"id":21470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21465,"mutability":"mutable","name":"left","nameLocation":"68887:4:13","nodeType":"VariableDeclaration","scope":21472,"src":"68879:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21464,"name":"uint256","nodeType":"ElementaryTypeName","src":"68879:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21467,"mutability":"mutable","name":"right","nameLocation":"68901:5:13","nodeType":"VariableDeclaration","scope":21472,"src":"68893:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21466,"name":"uint256","nodeType":"ElementaryTypeName","src":"68893:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21469,"mutability":"mutable","name":"error","nameLocation":"68924:5:13","nodeType":"VariableDeclaration","scope":21472,"src":"68908:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21468,"name":"string","nodeType":"ElementaryTypeName","src":"68908:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68878:52:13"},"returnParameters":{"id":21471,"nodeType":"ParameterList","parameters":[],"src":"68944:0:13"},"scope":22388,"src":"68861:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21473,"nodeType":"StructuredDocumentation","src":"68951:89:13","text":"Compares two `int256` values. Expects first value to be less than or equal to second."},"functionSelector":"95fd154e","id":21480,"implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"69054:8:13","nodeType":"FunctionDefinition","parameters":{"id":21478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21475,"mutability":"mutable","name":"left","nameLocation":"69070:4:13","nodeType":"VariableDeclaration","scope":21480,"src":"69063:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21474,"name":"int256","nodeType":"ElementaryTypeName","src":"69063:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21477,"mutability":"mutable","name":"right","nameLocation":"69083:5:13","nodeType":"VariableDeclaration","scope":21480,"src":"69076:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21476,"name":"int256","nodeType":"ElementaryTypeName","src":"69076:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"69062:27:13"},"returnParameters":{"id":21479,"nodeType":"ParameterList","parameters":[],"src":"69103:0:13"},"scope":22388,"src":"69045:59:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21481,"nodeType":"StructuredDocumentation","src":"69110:151:13","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","id":21490,"implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"69275:8:13","nodeType":"FunctionDefinition","parameters":{"id":21488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21483,"mutability":"mutable","name":"left","nameLocation":"69291:4:13","nodeType":"VariableDeclaration","scope":21490,"src":"69284:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21482,"name":"int256","nodeType":"ElementaryTypeName","src":"69284:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21485,"mutability":"mutable","name":"right","nameLocation":"69304:5:13","nodeType":"VariableDeclaration","scope":21490,"src":"69297:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21484,"name":"int256","nodeType":"ElementaryTypeName","src":"69297:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21487,"mutability":"mutable","name":"error","nameLocation":"69327:5:13","nodeType":"VariableDeclaration","scope":21490,"src":"69311:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21486,"name":"string","nodeType":"ElementaryTypeName","src":"69311:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69283:50:13"},"returnParameters":{"id":21489,"nodeType":"ParameterList","parameters":[],"src":"69347:0:13"},"scope":22388,"src":"69266:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21491,"nodeType":"StructuredDocumentation","src":"69354:135:13","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"2077337e","id":21500,"implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"69503:15:13","nodeType":"FunctionDefinition","parameters":{"id":21498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21493,"mutability":"mutable","name":"left","nameLocation":"69527:4:13","nodeType":"VariableDeclaration","scope":21500,"src":"69519:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21492,"name":"uint256","nodeType":"ElementaryTypeName","src":"69519:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21495,"mutability":"mutable","name":"right","nameLocation":"69541:5:13","nodeType":"VariableDeclaration","scope":21500,"src":"69533:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21494,"name":"uint256","nodeType":"ElementaryTypeName","src":"69533:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21497,"mutability":"mutable","name":"decimals","nameLocation":"69556:8:13","nodeType":"VariableDeclaration","scope":21500,"src":"69548:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21496,"name":"uint256","nodeType":"ElementaryTypeName","src":"69548:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"69518:47:13"},"returnParameters":{"id":21499,"nodeType":"ParameterList","parameters":[],"src":"69579:0:13"},"scope":22388,"src":"69494:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21501,"nodeType":"StructuredDocumentation","src":"69586:189:13","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","id":21512,"implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"69789:15:13","nodeType":"FunctionDefinition","parameters":{"id":21510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21503,"mutability":"mutable","name":"left","nameLocation":"69813:4:13","nodeType":"VariableDeclaration","scope":21512,"src":"69805:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21502,"name":"uint256","nodeType":"ElementaryTypeName","src":"69805:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21505,"mutability":"mutable","name":"right","nameLocation":"69827:5:13","nodeType":"VariableDeclaration","scope":21512,"src":"69819:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21504,"name":"uint256","nodeType":"ElementaryTypeName","src":"69819:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21507,"mutability":"mutable","name":"decimals","nameLocation":"69842:8:13","nodeType":"VariableDeclaration","scope":21512,"src":"69834:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21506,"name":"uint256","nodeType":"ElementaryTypeName","src":"69834:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21509,"mutability":"mutable","name":"error","nameLocation":"69868:5:13","nodeType":"VariableDeclaration","scope":21512,"src":"69852:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21508,"name":"string","nodeType":"ElementaryTypeName","src":"69852:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69804:70:13"},"returnParameters":{"id":21511,"nodeType":"ParameterList","parameters":[],"src":"69888:0:13"},"scope":22388,"src":"69780:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21513,"nodeType":"StructuredDocumentation","src":"69895:134:13","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"dbe8d88b","id":21522,"implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"70043:15:13","nodeType":"FunctionDefinition","parameters":{"id":21520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21515,"mutability":"mutable","name":"left","nameLocation":"70066:4:13","nodeType":"VariableDeclaration","scope":21522,"src":"70059:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21514,"name":"int256","nodeType":"ElementaryTypeName","src":"70059:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21517,"mutability":"mutable","name":"right","nameLocation":"70079:5:13","nodeType":"VariableDeclaration","scope":21522,"src":"70072:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21516,"name":"int256","nodeType":"ElementaryTypeName","src":"70072:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21519,"mutability":"mutable","name":"decimals","nameLocation":"70094:8:13","nodeType":"VariableDeclaration","scope":21522,"src":"70086:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21518,"name":"uint256","nodeType":"ElementaryTypeName","src":"70086:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"70058:45:13"},"returnParameters":{"id":21521,"nodeType":"ParameterList","parameters":[],"src":"70117:0:13"},"scope":22388,"src":"70034:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21523,"nodeType":"StructuredDocumentation","src":"70124:188:13","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","id":21534,"implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"70326:15:13","nodeType":"FunctionDefinition","parameters":{"id":21532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21525,"mutability":"mutable","name":"left","nameLocation":"70349:4:13","nodeType":"VariableDeclaration","scope":21534,"src":"70342:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21524,"name":"int256","nodeType":"ElementaryTypeName","src":"70342:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21527,"mutability":"mutable","name":"right","nameLocation":"70362:5:13","nodeType":"VariableDeclaration","scope":21534,"src":"70355:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21526,"name":"int256","nodeType":"ElementaryTypeName","src":"70355:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21529,"mutability":"mutable","name":"decimals","nameLocation":"70377:8:13","nodeType":"VariableDeclaration","scope":21534,"src":"70369:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21528,"name":"uint256","nodeType":"ElementaryTypeName","src":"70369:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21531,"mutability":"mutable","name":"error","nameLocation":"70403:5:13","nodeType":"VariableDeclaration","scope":21534,"src":"70387:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21530,"name":"string","nodeType":"ElementaryTypeName","src":"70387:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70341:68:13"},"returnParameters":{"id":21533,"nodeType":"ParameterList","parameters":[],"src":"70423:0:13"},"scope":22388,"src":"70317:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21535,"nodeType":"StructuredDocumentation","src":"70430:78:13","text":"Compares two `uint256` values. Expects first value to be less than second."},"functionSelector":"b12fc005","id":21542,"implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"70522:8:13","nodeType":"FunctionDefinition","parameters":{"id":21540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21537,"mutability":"mutable","name":"left","nameLocation":"70539:4:13","nodeType":"VariableDeclaration","scope":21542,"src":"70531:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21536,"name":"uint256","nodeType":"ElementaryTypeName","src":"70531:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21539,"mutability":"mutable","name":"right","nameLocation":"70553:5:13","nodeType":"VariableDeclaration","scope":21542,"src":"70545:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21538,"name":"uint256","nodeType":"ElementaryTypeName","src":"70545:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"70530:29:13"},"returnParameters":{"id":21541,"nodeType":"ParameterList","parameters":[],"src":"70573:0:13"},"scope":22388,"src":"70513:61:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21543,"nodeType":"StructuredDocumentation","src":"70580:140:13","text":"Compares two `uint256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"65d5c135","id":21552,"implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"70734:8:13","nodeType":"FunctionDefinition","parameters":{"id":21550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21545,"mutability":"mutable","name":"left","nameLocation":"70751:4:13","nodeType":"VariableDeclaration","scope":21552,"src":"70743:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21544,"name":"uint256","nodeType":"ElementaryTypeName","src":"70743:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21547,"mutability":"mutable","name":"right","nameLocation":"70765:5:13","nodeType":"VariableDeclaration","scope":21552,"src":"70757:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21546,"name":"uint256","nodeType":"ElementaryTypeName","src":"70757:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21549,"mutability":"mutable","name":"error","nameLocation":"70788:5:13","nodeType":"VariableDeclaration","scope":21552,"src":"70772:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21548,"name":"string","nodeType":"ElementaryTypeName","src":"70772:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70742:52:13"},"returnParameters":{"id":21551,"nodeType":"ParameterList","parameters":[],"src":"70808:0:13"},"scope":22388,"src":"70725:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21553,"nodeType":"StructuredDocumentation","src":"70815:77:13","text":"Compares two `int256` values. Expects first value to be less than second."},"functionSelector":"3e914080","id":21560,"implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"70906:8:13","nodeType":"FunctionDefinition","parameters":{"id":21558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21555,"mutability":"mutable","name":"left","nameLocation":"70922:4:13","nodeType":"VariableDeclaration","scope":21560,"src":"70915:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21554,"name":"int256","nodeType":"ElementaryTypeName","src":"70915:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21557,"mutability":"mutable","name":"right","nameLocation":"70935:5:13","nodeType":"VariableDeclaration","scope":21560,"src":"70928:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21556,"name":"int256","nodeType":"ElementaryTypeName","src":"70928:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"70914:27:13"},"returnParameters":{"id":21559,"nodeType":"ParameterList","parameters":[],"src":"70955:0:13"},"scope":22388,"src":"70897:59:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21561,"nodeType":"StructuredDocumentation","src":"70962:139:13","text":"Compares two `int256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"9ff531e3","id":21570,"implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"71115:8:13","nodeType":"FunctionDefinition","parameters":{"id":21568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21563,"mutability":"mutable","name":"left","nameLocation":"71131:4:13","nodeType":"VariableDeclaration","scope":21570,"src":"71124:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21562,"name":"int256","nodeType":"ElementaryTypeName","src":"71124:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21565,"mutability":"mutable","name":"right","nameLocation":"71144:5:13","nodeType":"VariableDeclaration","scope":21570,"src":"71137:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21564,"name":"int256","nodeType":"ElementaryTypeName","src":"71137:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21567,"mutability":"mutable","name":"error","nameLocation":"71167:5:13","nodeType":"VariableDeclaration","scope":21570,"src":"71151:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21566,"name":"string","nodeType":"ElementaryTypeName","src":"71151:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71123:50:13"},"returnParameters":{"id":21569,"nodeType":"ParameterList","parameters":[],"src":"71187:0:13"},"scope":22388,"src":"71106:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21571,"nodeType":"StructuredDocumentation","src":"71194:102:13","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"669efca7","id":21580,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"71310:18:13","nodeType":"FunctionDefinition","parameters":{"id":21578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21573,"mutability":"mutable","name":"left","nameLocation":"71337:4:13","nodeType":"VariableDeclaration","scope":21580,"src":"71329:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21572,"name":"uint256","nodeType":"ElementaryTypeName","src":"71329:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21575,"mutability":"mutable","name":"right","nameLocation":"71351:5:13","nodeType":"VariableDeclaration","scope":21580,"src":"71343:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21574,"name":"uint256","nodeType":"ElementaryTypeName","src":"71343:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21577,"mutability":"mutable","name":"decimals","nameLocation":"71366:8:13","nodeType":"VariableDeclaration","scope":21580,"src":"71358:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21576,"name":"uint256","nodeType":"ElementaryTypeName","src":"71358:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71328:47:13"},"returnParameters":{"id":21579,"nodeType":"ParameterList","parameters":[],"src":"71389:0:13"},"scope":22388,"src":"71301:89:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21581,"nodeType":"StructuredDocumentation","src":"71396:164:13","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","id":21592,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"71574:18:13","nodeType":"FunctionDefinition","parameters":{"id":21590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21583,"mutability":"mutable","name":"left","nameLocation":"71601:4:13","nodeType":"VariableDeclaration","scope":21592,"src":"71593:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21582,"name":"uint256","nodeType":"ElementaryTypeName","src":"71593:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21585,"mutability":"mutable","name":"right","nameLocation":"71615:5:13","nodeType":"VariableDeclaration","scope":21592,"src":"71607:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21584,"name":"uint256","nodeType":"ElementaryTypeName","src":"71607:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21587,"mutability":"mutable","name":"decimals","nameLocation":"71630:8:13","nodeType":"VariableDeclaration","scope":21592,"src":"71622:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21586,"name":"uint256","nodeType":"ElementaryTypeName","src":"71622:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21589,"mutability":"mutable","name":"error","nameLocation":"71656:5:13","nodeType":"VariableDeclaration","scope":21592,"src":"71640:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21588,"name":"string","nodeType":"ElementaryTypeName","src":"71640:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71592:70:13"},"returnParameters":{"id":21591,"nodeType":"ParameterList","parameters":[],"src":"71676:0:13"},"scope":22388,"src":"71565:112:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21593,"nodeType":"StructuredDocumentation","src":"71683:101:13","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"14e75680","id":21602,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"71798:18:13","nodeType":"FunctionDefinition","parameters":{"id":21600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21595,"mutability":"mutable","name":"left","nameLocation":"71824:4:13","nodeType":"VariableDeclaration","scope":21602,"src":"71817:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21594,"name":"int256","nodeType":"ElementaryTypeName","src":"71817:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21597,"mutability":"mutable","name":"right","nameLocation":"71837:5:13","nodeType":"VariableDeclaration","scope":21602,"src":"71830:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21596,"name":"int256","nodeType":"ElementaryTypeName","src":"71830:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21599,"mutability":"mutable","name":"decimals","nameLocation":"71852:8:13","nodeType":"VariableDeclaration","scope":21602,"src":"71844:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21598,"name":"uint256","nodeType":"ElementaryTypeName","src":"71844:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71816:45:13"},"returnParameters":{"id":21601,"nodeType":"ParameterList","parameters":[],"src":"71875:0:13"},"scope":22388,"src":"71789:87:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21603,"nodeType":"StructuredDocumentation","src":"71882:163:13","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","id":21614,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"72059:18:13","nodeType":"FunctionDefinition","parameters":{"id":21612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21605,"mutability":"mutable","name":"left","nameLocation":"72085:4:13","nodeType":"VariableDeclaration","scope":21614,"src":"72078:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21604,"name":"int256","nodeType":"ElementaryTypeName","src":"72078:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21607,"mutability":"mutable","name":"right","nameLocation":"72098:5:13","nodeType":"VariableDeclaration","scope":21614,"src":"72091:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21606,"name":"int256","nodeType":"ElementaryTypeName","src":"72091:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21609,"mutability":"mutable","name":"decimals","nameLocation":"72113:8:13","nodeType":"VariableDeclaration","scope":21614,"src":"72105:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21608,"name":"uint256","nodeType":"ElementaryTypeName","src":"72105:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21611,"mutability":"mutable","name":"error","nameLocation":"72139:5:13","nodeType":"VariableDeclaration","scope":21614,"src":"72123:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21610,"name":"string","nodeType":"ElementaryTypeName","src":"72123:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72077:68:13"},"returnParameters":{"id":21613,"nodeType":"ParameterList","parameters":[],"src":"72159:0:13"},"scope":22388,"src":"72050:110:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21615,"nodeType":"StructuredDocumentation","src":"72166:49:13","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","id":21622,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"72229:11:13","nodeType":"FunctionDefinition","parameters":{"id":21620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21617,"mutability":"mutable","name":"left","nameLocation":"72246:4:13","nodeType":"VariableDeclaration","scope":21622,"src":"72241:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21616,"name":"bool","nodeType":"ElementaryTypeName","src":"72241:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21619,"mutability":"mutable","name":"right","nameLocation":"72257:5:13","nodeType":"VariableDeclaration","scope":21622,"src":"72252:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21618,"name":"bool","nodeType":"ElementaryTypeName","src":"72252:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"72240:23:13"},"returnParameters":{"id":21621,"nodeType":"ParameterList","parameters":[],"src":"72277:0:13"},"scope":22388,"src":"72220:58:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21623,"nodeType":"StructuredDocumentation","src":"72284:106:13","text":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"1091a261","id":21632,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"72404:11:13","nodeType":"FunctionDefinition","parameters":{"id":21630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21625,"mutability":"mutable","name":"left","nameLocation":"72421:4:13","nodeType":"VariableDeclaration","scope":21632,"src":"72416:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21624,"name":"bool","nodeType":"ElementaryTypeName","src":"72416:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21627,"mutability":"mutable","name":"right","nameLocation":"72432:5:13","nodeType":"VariableDeclaration","scope":21632,"src":"72427:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21626,"name":"bool","nodeType":"ElementaryTypeName","src":"72427:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21629,"mutability":"mutable","name":"error","nameLocation":"72455:5:13","nodeType":"VariableDeclaration","scope":21632,"src":"72439:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21628,"name":"string","nodeType":"ElementaryTypeName","src":"72439:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72415:46:13"},"returnParameters":{"id":21631,"nodeType":"ParameterList","parameters":[],"src":"72475:0:13"},"scope":22388,"src":"72395:81:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21633,"nodeType":"StructuredDocumentation","src":"72482:51:13","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","id":21640,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"72547:11:13","nodeType":"FunctionDefinition","parameters":{"id":21638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21635,"mutability":"mutable","name":"left","nameLocation":"72575:4:13","nodeType":"VariableDeclaration","scope":21640,"src":"72559:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21634,"name":"string","nodeType":"ElementaryTypeName","src":"72559:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21637,"mutability":"mutable","name":"right","nameLocation":"72597:5:13","nodeType":"VariableDeclaration","scope":21640,"src":"72581:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21636,"name":"string","nodeType":"ElementaryTypeName","src":"72581:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72558:45:13"},"returnParameters":{"id":21639,"nodeType":"ParameterList","parameters":[],"src":"72617:0:13"},"scope":22388,"src":"72538:80:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21641,"nodeType":"StructuredDocumentation","src":"72624:108:13","text":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"78bdcea7","id":21650,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"72746:11:13","nodeType":"FunctionDefinition","parameters":{"id":21648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21643,"mutability":"mutable","name":"left","nameLocation":"72774:4:13","nodeType":"VariableDeclaration","scope":21650,"src":"72758:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21642,"name":"string","nodeType":"ElementaryTypeName","src":"72758:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21645,"mutability":"mutable","name":"right","nameLocation":"72796:5:13","nodeType":"VariableDeclaration","scope":21650,"src":"72780:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21644,"name":"string","nodeType":"ElementaryTypeName","src":"72780:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21647,"mutability":"mutable","name":"error","nameLocation":"72819:5:13","nodeType":"VariableDeclaration","scope":21650,"src":"72803:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21646,"name":"string","nodeType":"ElementaryTypeName","src":"72803:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72757:68:13"},"returnParameters":{"id":21649,"nodeType":"ParameterList","parameters":[],"src":"72839:0:13"},"scope":22388,"src":"72737:103:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21651,"nodeType":"StructuredDocumentation","src":"72846:50:13","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","id":21658,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"72910:11:13","nodeType":"FunctionDefinition","parameters":{"id":21656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21653,"mutability":"mutable","name":"left","nameLocation":"72937:4:13","nodeType":"VariableDeclaration","scope":21658,"src":"72922:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21652,"name":"bytes","nodeType":"ElementaryTypeName","src":"72922:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21655,"mutability":"mutable","name":"right","nameLocation":"72958:5:13","nodeType":"VariableDeclaration","scope":21658,"src":"72943:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21654,"name":"bytes","nodeType":"ElementaryTypeName","src":"72943:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"72921:43:13"},"returnParameters":{"id":21657,"nodeType":"ParameterList","parameters":[],"src":"72978:0:13"},"scope":22388,"src":"72901:78:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21659,"nodeType":"StructuredDocumentation","src":"72985:107:13","text":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"9507540e","id":21668,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"73106:11:13","nodeType":"FunctionDefinition","parameters":{"id":21666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21661,"mutability":"mutable","name":"left","nameLocation":"73133:4:13","nodeType":"VariableDeclaration","scope":21668,"src":"73118:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21660,"name":"bytes","nodeType":"ElementaryTypeName","src":"73118:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21663,"mutability":"mutable","name":"right","nameLocation":"73154:5:13","nodeType":"VariableDeclaration","scope":21668,"src":"73139:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":21662,"name":"bytes","nodeType":"ElementaryTypeName","src":"73139:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":21665,"mutability":"mutable","name":"error","nameLocation":"73177:5:13","nodeType":"VariableDeclaration","scope":21668,"src":"73161:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21664,"name":"string","nodeType":"ElementaryTypeName","src":"73161:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73117:66:13"},"returnParameters":{"id":21667,"nodeType":"ParameterList","parameters":[],"src":"73197:0:13"},"scope":22388,"src":"73097:101:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21669,"nodeType":"StructuredDocumentation","src":"73204:59:13","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","id":21678,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"73277:11:13","nodeType":"FunctionDefinition","parameters":{"id":21676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21672,"mutability":"mutable","name":"left","nameLocation":"73305:4:13","nodeType":"VariableDeclaration","scope":21678,"src":"73289:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21670,"name":"bool","nodeType":"ElementaryTypeName","src":"73289:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21671,"nodeType":"ArrayTypeName","src":"73289:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21675,"mutability":"mutable","name":"right","nameLocation":"73327:5:13","nodeType":"VariableDeclaration","scope":21678,"src":"73311:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21673,"name":"bool","nodeType":"ElementaryTypeName","src":"73311:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21674,"nodeType":"ArrayTypeName","src":"73311:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"73288:45:13"},"returnParameters":{"id":21677,"nodeType":"ParameterList","parameters":[],"src":"73347:0:13"},"scope":22388,"src":"73268:80:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21679,"nodeType":"StructuredDocumentation","src":"73354:116:13","text":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"62c6f9fb","id":21690,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"73484:11:13","nodeType":"FunctionDefinition","parameters":{"id":21688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21682,"mutability":"mutable","name":"left","nameLocation":"73512:4:13","nodeType":"VariableDeclaration","scope":21690,"src":"73496:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21680,"name":"bool","nodeType":"ElementaryTypeName","src":"73496:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21681,"nodeType":"ArrayTypeName","src":"73496:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21685,"mutability":"mutable","name":"right","nameLocation":"73534:5:13","nodeType":"VariableDeclaration","scope":21690,"src":"73518:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":21683,"name":"bool","nodeType":"ElementaryTypeName","src":"73518:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":21684,"nodeType":"ArrayTypeName","src":"73518:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":21687,"mutability":"mutable","name":"error","nameLocation":"73557:5:13","nodeType":"VariableDeclaration","scope":21690,"src":"73541:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21686,"name":"string","nodeType":"ElementaryTypeName","src":"73541:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73495:68:13"},"returnParameters":{"id":21689,"nodeType":"ParameterList","parameters":[],"src":"73577:0:13"},"scope":22388,"src":"73475:103:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21691,"nodeType":"StructuredDocumentation","src":"73584:62:13","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","id":21700,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"73660:11:13","nodeType":"FunctionDefinition","parameters":{"id":21698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21694,"mutability":"mutable","name":"left","nameLocation":"73691:4:13","nodeType":"VariableDeclaration","scope":21700,"src":"73672:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21692,"name":"uint256","nodeType":"ElementaryTypeName","src":"73672:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21693,"nodeType":"ArrayTypeName","src":"73672:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21697,"mutability":"mutable","name":"right","nameLocation":"73716:5:13","nodeType":"VariableDeclaration","scope":21700,"src":"73697:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21695,"name":"uint256","nodeType":"ElementaryTypeName","src":"73697:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21696,"nodeType":"ArrayTypeName","src":"73697:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"73671:51:13"},"returnParameters":{"id":21699,"nodeType":"ParameterList","parameters":[],"src":"73736:0:13"},"scope":22388,"src":"73651:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21701,"nodeType":"StructuredDocumentation","src":"73743:119:13","text":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"9a7fbd8f","id":21712,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"73876:11:13","nodeType":"FunctionDefinition","parameters":{"id":21710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21704,"mutability":"mutable","name":"left","nameLocation":"73907:4:13","nodeType":"VariableDeclaration","scope":21712,"src":"73888:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21702,"name":"uint256","nodeType":"ElementaryTypeName","src":"73888:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21703,"nodeType":"ArrayTypeName","src":"73888:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21707,"mutability":"mutable","name":"right","nameLocation":"73932:5:13","nodeType":"VariableDeclaration","scope":21712,"src":"73913:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":21705,"name":"uint256","nodeType":"ElementaryTypeName","src":"73913:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":21706,"nodeType":"ArrayTypeName","src":"73913:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":21709,"mutability":"mutable","name":"error","nameLocation":"73955:5:13","nodeType":"VariableDeclaration","scope":21712,"src":"73939:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21708,"name":"string","nodeType":"ElementaryTypeName","src":"73939:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73887:74:13"},"returnParameters":{"id":21711,"nodeType":"ParameterList","parameters":[],"src":"73975:0:13"},"scope":22388,"src":"73867:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21713,"nodeType":"StructuredDocumentation","src":"73982:61:13","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","id":21722,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74057:11:13","nodeType":"FunctionDefinition","parameters":{"id":21720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21716,"mutability":"mutable","name":"left","nameLocation":"74087:4:13","nodeType":"VariableDeclaration","scope":21722,"src":"74069:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21714,"name":"int256","nodeType":"ElementaryTypeName","src":"74069:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21715,"nodeType":"ArrayTypeName","src":"74069:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21719,"mutability":"mutable","name":"right","nameLocation":"74111:5:13","nodeType":"VariableDeclaration","scope":21722,"src":"74093:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21717,"name":"int256","nodeType":"ElementaryTypeName","src":"74093:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21718,"nodeType":"ArrayTypeName","src":"74093:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"74068:49:13"},"returnParameters":{"id":21721,"nodeType":"ParameterList","parameters":[],"src":"74131:0:13"},"scope":22388,"src":"74048:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21723,"nodeType":"StructuredDocumentation","src":"74138:118:13","text":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"d3977322","id":21734,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74270:11:13","nodeType":"FunctionDefinition","parameters":{"id":21732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21726,"mutability":"mutable","name":"left","nameLocation":"74300:4:13","nodeType":"VariableDeclaration","scope":21734,"src":"74282:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21724,"name":"int256","nodeType":"ElementaryTypeName","src":"74282:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21725,"nodeType":"ArrayTypeName","src":"74282:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21729,"mutability":"mutable","name":"right","nameLocation":"74324:5:13","nodeType":"VariableDeclaration","scope":21734,"src":"74306:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":21727,"name":"int256","nodeType":"ElementaryTypeName","src":"74306:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":21728,"nodeType":"ArrayTypeName","src":"74306:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":21731,"mutability":"mutable","name":"error","nameLocation":"74347:5:13","nodeType":"VariableDeclaration","scope":21734,"src":"74331:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21730,"name":"string","nodeType":"ElementaryTypeName","src":"74331:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74281:72:13"},"returnParameters":{"id":21733,"nodeType":"ParameterList","parameters":[],"src":"74367:0:13"},"scope":22388,"src":"74261:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21735,"nodeType":"StructuredDocumentation","src":"74374:52:13","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","id":21742,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74440:11:13","nodeType":"FunctionDefinition","parameters":{"id":21740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21737,"mutability":"mutable","name":"left","nameLocation":"74460:4:13","nodeType":"VariableDeclaration","scope":21742,"src":"74452:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21736,"name":"uint256","nodeType":"ElementaryTypeName","src":"74452:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21739,"mutability":"mutable","name":"right","nameLocation":"74474:5:13","nodeType":"VariableDeclaration","scope":21742,"src":"74466:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21738,"name":"uint256","nodeType":"ElementaryTypeName","src":"74466:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74451:29:13"},"returnParameters":{"id":21741,"nodeType":"ParameterList","parameters":[],"src":"74494:0:13"},"scope":22388,"src":"74431:64:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21743,"nodeType":"StructuredDocumentation","src":"74501:62:13","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","id":21752,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74577:11:13","nodeType":"FunctionDefinition","parameters":{"id":21750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21746,"mutability":"mutable","name":"left","nameLocation":"74608:4:13","nodeType":"VariableDeclaration","scope":21752,"src":"74589:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21744,"name":"address","nodeType":"ElementaryTypeName","src":"74589:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21745,"nodeType":"ArrayTypeName","src":"74589:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21749,"mutability":"mutable","name":"right","nameLocation":"74633:5:13","nodeType":"VariableDeclaration","scope":21752,"src":"74614:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21747,"name":"address","nodeType":"ElementaryTypeName","src":"74614:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21748,"nodeType":"ArrayTypeName","src":"74614:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"74588:51:13"},"returnParameters":{"id":21751,"nodeType":"ParameterList","parameters":[],"src":"74653:0:13"},"scope":22388,"src":"74568:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21753,"nodeType":"StructuredDocumentation","src":"74660:119:13","text":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"72c7e0b5","id":21764,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74793:11:13","nodeType":"FunctionDefinition","parameters":{"id":21762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21756,"mutability":"mutable","name":"left","nameLocation":"74824:4:13","nodeType":"VariableDeclaration","scope":21764,"src":"74805:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21754,"name":"address","nodeType":"ElementaryTypeName","src":"74805:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21755,"nodeType":"ArrayTypeName","src":"74805:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21759,"mutability":"mutable","name":"right","nameLocation":"74849:5:13","nodeType":"VariableDeclaration","scope":21764,"src":"74830:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21757,"name":"address","nodeType":"ElementaryTypeName","src":"74830:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21758,"nodeType":"ArrayTypeName","src":"74830:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":21761,"mutability":"mutable","name":"error","nameLocation":"74872:5:13","nodeType":"VariableDeclaration","scope":21764,"src":"74856:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21760,"name":"string","nodeType":"ElementaryTypeName","src":"74856:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74804:74:13"},"returnParameters":{"id":21763,"nodeType":"ParameterList","parameters":[],"src":"74892:0:13"},"scope":22388,"src":"74784:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21765,"nodeType":"StructuredDocumentation","src":"74899:62:13","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","id":21774,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"74975:11:13","nodeType":"FunctionDefinition","parameters":{"id":21772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21768,"mutability":"mutable","name":"left","nameLocation":"75006:4:13","nodeType":"VariableDeclaration","scope":21774,"src":"74987:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74987:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21767,"nodeType":"ArrayTypeName","src":"74987:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21771,"mutability":"mutable","name":"right","nameLocation":"75031:5:13","nodeType":"VariableDeclaration","scope":21774,"src":"75012:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75012:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21770,"nodeType":"ArrayTypeName","src":"75012:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"74986:51:13"},"returnParameters":{"id":21773,"nodeType":"ParameterList","parameters":[],"src":"75051:0:13"},"scope":22388,"src":"74966:86:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21775,"nodeType":"StructuredDocumentation","src":"75058:119:13","text":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b873634c","id":21786,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"75191:11:13","nodeType":"FunctionDefinition","parameters":{"id":21784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21778,"mutability":"mutable","name":"left","nameLocation":"75222:4:13","nodeType":"VariableDeclaration","scope":21786,"src":"75203:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75203:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21777,"nodeType":"ArrayTypeName","src":"75203:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21781,"mutability":"mutable","name":"right","nameLocation":"75247:5:13","nodeType":"VariableDeclaration","scope":21786,"src":"75228:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":21779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75228:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":21780,"nodeType":"ArrayTypeName","src":"75228:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":21783,"mutability":"mutable","name":"error","nameLocation":"75270:5:13","nodeType":"VariableDeclaration","scope":21786,"src":"75254:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21782,"name":"string","nodeType":"ElementaryTypeName","src":"75254:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75202:74:13"},"returnParameters":{"id":21785,"nodeType":"ParameterList","parameters":[],"src":"75290:0:13"},"scope":22388,"src":"75182:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21787,"nodeType":"StructuredDocumentation","src":"75297:61:13","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","id":21796,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"75372:11:13","nodeType":"FunctionDefinition","parameters":{"id":21794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21790,"mutability":"mutable","name":"left","nameLocation":"75402:4:13","nodeType":"VariableDeclaration","scope":21796,"src":"75384:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21788,"name":"string","nodeType":"ElementaryTypeName","src":"75384:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21789,"nodeType":"ArrayTypeName","src":"75384:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21793,"mutability":"mutable","name":"right","nameLocation":"75426:5:13","nodeType":"VariableDeclaration","scope":21796,"src":"75408:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21791,"name":"string","nodeType":"ElementaryTypeName","src":"75408:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21792,"nodeType":"ArrayTypeName","src":"75408:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"75383:49:13"},"returnParameters":{"id":21795,"nodeType":"ParameterList","parameters":[],"src":"75446:0:13"},"scope":22388,"src":"75363:84:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21797,"nodeType":"StructuredDocumentation","src":"75453:118:13","text":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"b67187f3","id":21808,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"75585:11:13","nodeType":"FunctionDefinition","parameters":{"id":21806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21800,"mutability":"mutable","name":"left","nameLocation":"75615:4:13","nodeType":"VariableDeclaration","scope":21808,"src":"75597:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21798,"name":"string","nodeType":"ElementaryTypeName","src":"75597:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21799,"nodeType":"ArrayTypeName","src":"75597:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21803,"mutability":"mutable","name":"right","nameLocation":"75639:5:13","nodeType":"VariableDeclaration","scope":21808,"src":"75621:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":21801,"name":"string","nodeType":"ElementaryTypeName","src":"75621:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21802,"nodeType":"ArrayTypeName","src":"75621:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":21805,"mutability":"mutable","name":"error","nameLocation":"75662:5:13","nodeType":"VariableDeclaration","scope":21808,"src":"75646:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21804,"name":"string","nodeType":"ElementaryTypeName","src":"75646:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75596:72:13"},"returnParameters":{"id":21807,"nodeType":"ParameterList","parameters":[],"src":"75682:0:13"},"scope":22388,"src":"75576:107:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21809,"nodeType":"StructuredDocumentation","src":"75689:60:13","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","id":21818,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"75763:11:13","nodeType":"FunctionDefinition","parameters":{"id":21816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21812,"mutability":"mutable","name":"left","nameLocation":"75792:4:13","nodeType":"VariableDeclaration","scope":21818,"src":"75775:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21810,"name":"bytes","nodeType":"ElementaryTypeName","src":"75775:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21811,"nodeType":"ArrayTypeName","src":"75775:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21815,"mutability":"mutable","name":"right","nameLocation":"75815:5:13","nodeType":"VariableDeclaration","scope":21818,"src":"75798:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21813,"name":"bytes","nodeType":"ElementaryTypeName","src":"75798:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21814,"nodeType":"ArrayTypeName","src":"75798:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"75774:47:13"},"returnParameters":{"id":21817,"nodeType":"ParameterList","parameters":[],"src":"75835:0:13"},"scope":22388,"src":"75754:82:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21819,"nodeType":"StructuredDocumentation","src":"75842:117:13","text":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"1dcd1f68","id":21830,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"75973:11:13","nodeType":"FunctionDefinition","parameters":{"id":21828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21822,"mutability":"mutable","name":"left","nameLocation":"76002:4:13","nodeType":"VariableDeclaration","scope":21830,"src":"75985:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21820,"name":"bytes","nodeType":"ElementaryTypeName","src":"75985:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21821,"nodeType":"ArrayTypeName","src":"75985:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21825,"mutability":"mutable","name":"right","nameLocation":"76025:5:13","nodeType":"VariableDeclaration","scope":21830,"src":"76008:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":21823,"name":"bytes","nodeType":"ElementaryTypeName","src":"76008:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21824,"nodeType":"ArrayTypeName","src":"76008:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":21827,"mutability":"mutable","name":"error","nameLocation":"76048:5:13","nodeType":"VariableDeclaration","scope":21830,"src":"76032:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21826,"name":"string","nodeType":"ElementaryTypeName","src":"76032:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75984:70:13"},"returnParameters":{"id":21829,"nodeType":"ParameterList","parameters":[],"src":"76068:0:13"},"scope":22388,"src":"75964:105:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21831,"nodeType":"StructuredDocumentation","src":"76075:109:13","text":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"98f9bdbd","id":21840,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"76198:11:13","nodeType":"FunctionDefinition","parameters":{"id":21838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21833,"mutability":"mutable","name":"left","nameLocation":"76218:4:13","nodeType":"VariableDeclaration","scope":21840,"src":"76210:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21832,"name":"uint256","nodeType":"ElementaryTypeName","src":"76210:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21835,"mutability":"mutable","name":"right","nameLocation":"76232:5:13","nodeType":"VariableDeclaration","scope":21840,"src":"76224:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21834,"name":"uint256","nodeType":"ElementaryTypeName","src":"76224:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21837,"mutability":"mutable","name":"error","nameLocation":"76255:5:13","nodeType":"VariableDeclaration","scope":21840,"src":"76239:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21836,"name":"string","nodeType":"ElementaryTypeName","src":"76239:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76209:52:13"},"returnParameters":{"id":21839,"nodeType":"ParameterList","parameters":[],"src":"76275:0:13"},"scope":22388,"src":"76189:87:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21841,"nodeType":"StructuredDocumentation","src":"76282:51:13","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","id":21848,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"76347:11:13","nodeType":"FunctionDefinition","parameters":{"id":21846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21843,"mutability":"mutable","name":"left","nameLocation":"76366:4:13","nodeType":"VariableDeclaration","scope":21848,"src":"76359:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21842,"name":"int256","nodeType":"ElementaryTypeName","src":"76359:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21845,"mutability":"mutable","name":"right","nameLocation":"76379:5:13","nodeType":"VariableDeclaration","scope":21848,"src":"76372:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21844,"name":"int256","nodeType":"ElementaryTypeName","src":"76372:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"76358:27:13"},"returnParameters":{"id":21847,"nodeType":"ParameterList","parameters":[],"src":"76399:0:13"},"scope":22388,"src":"76338:62:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21849,"nodeType":"StructuredDocumentation","src":"76406:108:13","text":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"4724c5b9","id":21858,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"76528:11:13","nodeType":"FunctionDefinition","parameters":{"id":21856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21851,"mutability":"mutable","name":"left","nameLocation":"76547:4:13","nodeType":"VariableDeclaration","scope":21858,"src":"76540:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21850,"name":"int256","nodeType":"ElementaryTypeName","src":"76540:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21853,"mutability":"mutable","name":"right","nameLocation":"76560:5:13","nodeType":"VariableDeclaration","scope":21858,"src":"76553:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":21852,"name":"int256","nodeType":"ElementaryTypeName","src":"76553:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":21855,"mutability":"mutable","name":"error","nameLocation":"76583:5:13","nodeType":"VariableDeclaration","scope":21858,"src":"76567:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21854,"name":"string","nodeType":"ElementaryTypeName","src":"76567:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76539:50:13"},"returnParameters":{"id":21857,"nodeType":"ParameterList","parameters":[],"src":"76603:0:13"},"scope":22388,"src":"76519:85:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21859,"nodeType":"StructuredDocumentation","src":"76610:52:13","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","id":21866,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"76676:11:13","nodeType":"FunctionDefinition","parameters":{"id":21864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21861,"mutability":"mutable","name":"left","nameLocation":"76696:4:13","nodeType":"VariableDeclaration","scope":21866,"src":"76688:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21860,"name":"address","nodeType":"ElementaryTypeName","src":"76688:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21863,"mutability":"mutable","name":"right","nameLocation":"76710:5:13","nodeType":"VariableDeclaration","scope":21866,"src":"76702:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21862,"name":"address","nodeType":"ElementaryTypeName","src":"76702:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76687:29:13"},"returnParameters":{"id":21865,"nodeType":"ParameterList","parameters":[],"src":"76730:0:13"},"scope":22388,"src":"76667:64:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21867,"nodeType":"StructuredDocumentation","src":"76737:109:13","text":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"8775a591","id":21876,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"76860:11:13","nodeType":"FunctionDefinition","parameters":{"id":21874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21869,"mutability":"mutable","name":"left","nameLocation":"76880:4:13","nodeType":"VariableDeclaration","scope":21876,"src":"76872:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21868,"name":"address","nodeType":"ElementaryTypeName","src":"76872:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21871,"mutability":"mutable","name":"right","nameLocation":"76894:5:13","nodeType":"VariableDeclaration","scope":21876,"src":"76886:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21870,"name":"address","nodeType":"ElementaryTypeName","src":"76886:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21873,"mutability":"mutable","name":"error","nameLocation":"76917:5:13","nodeType":"VariableDeclaration","scope":21876,"src":"76901:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21872,"name":"string","nodeType":"ElementaryTypeName","src":"76901:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76871:52:13"},"returnParameters":{"id":21875,"nodeType":"ParameterList","parameters":[],"src":"76937:0:13"},"scope":22388,"src":"76851:87:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21877,"nodeType":"StructuredDocumentation","src":"76944:52:13","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","id":21884,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"77010:11:13","nodeType":"FunctionDefinition","parameters":{"id":21882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21879,"mutability":"mutable","name":"left","nameLocation":"77030:4:13","nodeType":"VariableDeclaration","scope":21884,"src":"77022:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77022:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21881,"mutability":"mutable","name":"right","nameLocation":"77044:5:13","nodeType":"VariableDeclaration","scope":21884,"src":"77036:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77036:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77021:29:13"},"returnParameters":{"id":21883,"nodeType":"ParameterList","parameters":[],"src":"77064:0:13"},"scope":22388,"src":"77001:64:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21885,"nodeType":"StructuredDocumentation","src":"77071:109:13","text":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b2332f51","id":21894,"implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"77194:11:13","nodeType":"FunctionDefinition","parameters":{"id":21892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21887,"mutability":"mutable","name":"left","nameLocation":"77214:4:13","nodeType":"VariableDeclaration","scope":21894,"src":"77206:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77206:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21889,"mutability":"mutable","name":"right","nameLocation":"77228:5:13","nodeType":"VariableDeclaration","scope":21894,"src":"77220:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":21888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77220:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":21891,"mutability":"mutable","name":"error","nameLocation":"77251:5:13","nodeType":"VariableDeclaration","scope":21894,"src":"77235:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21890,"name":"string","nodeType":"ElementaryTypeName","src":"77235:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77205:52:13"},"returnParameters":{"id":21893,"nodeType":"ParameterList","parameters":[],"src":"77271:0:13"},"scope":22388,"src":"77185:87:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21895,"nodeType":"StructuredDocumentation","src":"77278:45:13","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","id":21900,"implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"77337:10:13","nodeType":"FunctionDefinition","parameters":{"id":21898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21897,"mutability":"mutable","name":"condition","nameLocation":"77353:9:13","nodeType":"VariableDeclaration","scope":21900,"src":"77348:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21896,"name":"bool","nodeType":"ElementaryTypeName","src":"77348:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"77347:16:13"},"returnParameters":{"id":21899,"nodeType":"ParameterList","parameters":[],"src":"77377:0:13"},"scope":22388,"src":"77328:50:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21901,"nodeType":"StructuredDocumentation","src":"77384:102:13","text":"Asserts that the given condition is true and includes error message into revert string on failure."},"functionSelector":"a34edc03","id":21908,"implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"77500:10:13","nodeType":"FunctionDefinition","parameters":{"id":21906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21903,"mutability":"mutable","name":"condition","nameLocation":"77516:9:13","nodeType":"VariableDeclaration","scope":21908,"src":"77511:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21902,"name":"bool","nodeType":"ElementaryTypeName","src":"77511:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21905,"mutability":"mutable","name":"error","nameLocation":"77543:5:13","nodeType":"VariableDeclaration","scope":21908,"src":"77527:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21904,"name":"string","nodeType":"ElementaryTypeName","src":"77527:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77510:39:13"},"returnParameters":{"id":21907,"nodeType":"ParameterList","parameters":[],"src":"77563:0:13"},"scope":22388,"src":"77491:73:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21909,"nodeType":"StructuredDocumentation","src":"77570:84:13","text":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"functionSelector":"4c63e562","id":21914,"implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"77668:6:13","nodeType":"FunctionDefinition","parameters":{"id":21912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21911,"mutability":"mutable","name":"condition","nameLocation":"77680:9:13","nodeType":"VariableDeclaration","scope":21914,"src":"77675:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21910,"name":"bool","nodeType":"ElementaryTypeName","src":"77675:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"77674:16:13"},"returnParameters":{"id":21913,"nodeType":"ParameterList","parameters":[],"src":"77704:0:13"},"scope":22388,"src":"77659:46:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21915,"nodeType":"StructuredDocumentation","src":"77711:79:13","text":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"functionSelector":"285b366a","id":21918,"implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"77804:14:13","nodeType":"FunctionDefinition","parameters":{"id":21916,"nodeType":"ParameterList","parameters":[],"src":"77818:2:13"},"returnParameters":{"id":21917,"nodeType":"ParameterList","parameters":[],"src":"77834:0:13"},"scope":22388,"src":"77795:40:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21919,"nodeType":"StructuredDocumentation","src":"77841:51:13","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","id":21924,"implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"77906:10:13","nodeType":"FunctionDefinition","parameters":{"id":21922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21921,"mutability":"mutable","name":"char","nameLocation":"77933:4:13","nodeType":"VariableDeclaration","scope":21924,"src":"77917:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21920,"name":"string","nodeType":"ElementaryTypeName","src":"77917:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77916:22:13"},"returnParameters":{"id":21923,"nodeType":"ParameterList","parameters":[],"src":"77952:0:13"},"scope":22388,"src":"77897:56:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21925,"nodeType":"StructuredDocumentation","src":"77959:63:13","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","id":21932,"implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"78036:10:13","nodeType":"FunctionDefinition","parameters":{"id":21930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21927,"mutability":"mutable","name":"char","nameLocation":"78063:4:13","nodeType":"VariableDeclaration","scope":21932,"src":"78047:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21926,"name":"string","nodeType":"ElementaryTypeName","src":"78047:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21929,"mutability":"mutable","name":"value","nameLocation":"78074:5:13","nodeType":"VariableDeclaration","scope":21932,"src":"78069:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21928,"name":"bool","nodeType":"ElementaryTypeName","src":"78069:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"78046:34:13"},"returnParameters":{"id":21931,"nodeType":"ParameterList","parameters":[],"src":"78094:0:13"},"scope":22388,"src":"78027:68:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21933,"nodeType":"StructuredDocumentation","src":"78101:394:13","text":"Returns the Foundry version.\n Format: <cargo_version>+<git_sha>+<build_timestamp>\n Sample output: 0.2.0+faa94c384+202407110019\n Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n For reliable version comparisons, use YYYYMMDD0000 format (e.g., >= 202407110000)\n to compare timestamps while ignoring minor time differences."},"functionSelector":"ea991bb5","id":21938,"implemented":false,"kind":"function","modifiers":[],"name":"getFoundryVersion","nameLocation":"78509:17:13","nodeType":"FunctionDefinition","parameters":{"id":21934,"nodeType":"ParameterList","parameters":[],"src":"78526:2:13"},"returnParameters":{"id":21937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21936,"mutability":"mutable","name":"version","nameLocation":"78566:7:13","nodeType":"VariableDeclaration","scope":21938,"src":"78552:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21935,"name":"string","nodeType":"ElementaryTypeName","src":"78552:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78551:23:13"},"scope":22388,"src":"78500:75:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":21939,"nodeType":"StructuredDocumentation","src":"78581:44:13","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","id":21946,"implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"78639:6:13","nodeType":"FunctionDefinition","parameters":{"id":21942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21941,"mutability":"mutable","name":"rpcAlias","nameLocation":"78662:8:13","nodeType":"VariableDeclaration","scope":21946,"src":"78646:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21940,"name":"string","nodeType":"ElementaryTypeName","src":"78646:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78645:26:13"},"returnParameters":{"id":21945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21944,"mutability":"mutable","name":"json","nameLocation":"78709:4:13","nodeType":"VariableDeclaration","scope":21946,"src":"78695:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21943,"name":"string","nodeType":"ElementaryTypeName","src":"78695:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78694:20:13"},"scope":22388,"src":"78630:85:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":21947,"nodeType":"StructuredDocumentation","src":"78721:54:13","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","id":21954,"implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"78789:13:13","nodeType":"FunctionDefinition","parameters":{"id":21948,"nodeType":"ParameterList","parameters":[],"src":"78802:2:13"},"returnParameters":{"id":21953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21952,"mutability":"mutable","name":"urls","nameLocation":"78841:4:13","nodeType":"VariableDeclaration","scope":21954,"src":"78828:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$18842_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":21950,"nodeType":"UserDefinedTypeName","pathNode":{"id":21949,"name":"Rpc","nameLocations":["78828:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":18842,"src":"78828:3:13"},"referencedDeclaration":18842,"src":"78828:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$18842_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":21951,"nodeType":"ArrayTypeName","src":"78828:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$18842_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"78827:19:13"},"scope":22388,"src":"78780:67:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":21955,"nodeType":"StructuredDocumentation","src":"78853:60:13","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","id":21963,"implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"78927:7:13","nodeType":"FunctionDefinition","parameters":{"id":21956,"nodeType":"ParameterList","parameters":[],"src":"78934:2:13"},"returnParameters":{"id":21962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21961,"mutability":"mutable","name":"urls","nameLocation":"78979:4:13","nodeType":"VariableDeclaration","scope":21963,"src":"78960:23:13","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":21957,"name":"string","nodeType":"ElementaryTypeName","src":"78960:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":21959,"length":{"hexValue":"32","id":21958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"78967:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"78960:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":21960,"nodeType":"ArrayTypeName","src":"78960:11:13","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"78959:25:13"},"scope":22388,"src":"78918:67:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":21964,"nodeType":"StructuredDocumentation","src":"78991:70:13","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","id":21969,"implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"79075:5:13","nodeType":"FunctionDefinition","parameters":{"id":21967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21966,"mutability":"mutable","name":"duration","nameLocation":"79089:8:13","nodeType":"VariableDeclaration","scope":21969,"src":"79081:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21965,"name":"uint256","nodeType":"ElementaryTypeName","src":"79081:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79080:18:13"},"returnParameters":{"id":21968,"nodeType":"ParameterList","parameters":[],"src":"79107:0:13"},"scope":22388,"src":"79066:42:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":21970,"nodeType":"StructuredDocumentation","src":"79145:43:13","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","id":21979,"implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"79202:13:13","nodeType":"FunctionDefinition","parameters":{"id":21975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21972,"mutability":"mutable","name":"toml","nameLocation":"79232:4:13","nodeType":"VariableDeclaration","scope":21979,"src":"79216:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21971,"name":"string","nodeType":"ElementaryTypeName","src":"79216:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21974,"mutability":"mutable","name":"key","nameLocation":"79254:3:13","nodeType":"VariableDeclaration","scope":21979,"src":"79238:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21973,"name":"string","nodeType":"ElementaryTypeName","src":"79238:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79215:43:13"},"returnParameters":{"id":21978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21979,"src":"79282:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21976,"name":"bool","nodeType":"ElementaryTypeName","src":"79282:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"79281:6:13"},"scope":22388,"src":"79193:95:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":21980,"nodeType":"StructuredDocumentation","src":"79294:70:13","text":"Parses a string of TOML data at `key` and coerces it to `address`."},"functionSelector":"65e7c844","id":21989,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddress","nameLocation":"79378:16:13","nodeType":"FunctionDefinition","parameters":{"id":21985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21982,"mutability":"mutable","name":"toml","nameLocation":"79411:4:13","nodeType":"VariableDeclaration","scope":21989,"src":"79395:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21981,"name":"string","nodeType":"ElementaryTypeName","src":"79395:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21984,"mutability":"mutable","name":"key","nameLocation":"79433:3:13","nodeType":"VariableDeclaration","scope":21989,"src":"79417:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21983,"name":"string","nodeType":"ElementaryTypeName","src":"79417:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79394:43:13"},"returnParameters":{"id":21988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21989,"src":"79461:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21986,"name":"address","nodeType":"ElementaryTypeName","src":"79461:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79460:9:13"},"scope":22388,"src":"79369:101:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":21990,"nodeType":"StructuredDocumentation","src":"79476:72:13","text":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"functionSelector":"65c428e7","id":22000,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddressArray","nameLocation":"79562:21:13","nodeType":"FunctionDefinition","parameters":{"id":21995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21992,"mutability":"mutable","name":"toml","nameLocation":"79600:4:13","nodeType":"VariableDeclaration","scope":22000,"src":"79584:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21991,"name":"string","nodeType":"ElementaryTypeName","src":"79584:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21994,"mutability":"mutable","name":"key","nameLocation":"79622:3:13","nodeType":"VariableDeclaration","scope":22000,"src":"79606:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":21993,"name":"string","nodeType":"ElementaryTypeName","src":"79606:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79583:43:13"},"returnParameters":{"id":21999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22000,"src":"79674:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":21996,"name":"address","nodeType":"ElementaryTypeName","src":"79674:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":21997,"nodeType":"ArrayTypeName","src":"79674:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"79673:18:13"},"scope":22388,"src":"79553:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22001,"nodeType":"StructuredDocumentation","src":"79698:67:13","text":"Parses a string of TOML data at `key` and coerces it to `bool`."},"functionSelector":"d30dced6","id":22010,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBool","nameLocation":"79779:13:13","nodeType":"FunctionDefinition","parameters":{"id":22006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22003,"mutability":"mutable","name":"toml","nameLocation":"79809:4:13","nodeType":"VariableDeclaration","scope":22010,"src":"79793:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22002,"name":"string","nodeType":"ElementaryTypeName","src":"79793:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22005,"mutability":"mutable","name":"key","nameLocation":"79831:3:13","nodeType":"VariableDeclaration","scope":22010,"src":"79815:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22004,"name":"string","nodeType":"ElementaryTypeName","src":"79815:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79792:43:13"},"returnParameters":{"id":22009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22010,"src":"79859:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22007,"name":"bool","nodeType":"ElementaryTypeName","src":"79859:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"79858:6:13"},"scope":22388,"src":"79770:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22011,"nodeType":"StructuredDocumentation","src":"79871:69:13","text":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"functionSelector":"127cfe9a","id":22021,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBoolArray","nameLocation":"79954:18:13","nodeType":"FunctionDefinition","parameters":{"id":22016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22013,"mutability":"mutable","name":"toml","nameLocation":"79989:4:13","nodeType":"VariableDeclaration","scope":22021,"src":"79973:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22012,"name":"string","nodeType":"ElementaryTypeName","src":"79973:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22015,"mutability":"mutable","name":"key","nameLocation":"80011:3:13","nodeType":"VariableDeclaration","scope":22021,"src":"79995:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22014,"name":"string","nodeType":"ElementaryTypeName","src":"79995:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79972:43:13"},"returnParameters":{"id":22020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22021,"src":"80039:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":22017,"name":"bool","nodeType":"ElementaryTypeName","src":"80039:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":22018,"nodeType":"ArrayTypeName","src":"80039:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"80038:15:13"},"scope":22388,"src":"79945:109:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22022,"nodeType":"StructuredDocumentation","src":"80060:68:13","text":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"functionSelector":"d77bfdb9","id":22031,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes","nameLocation":"80142:14:13","nodeType":"FunctionDefinition","parameters":{"id":22027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22024,"mutability":"mutable","name":"toml","nameLocation":"80173:4:13","nodeType":"VariableDeclaration","scope":22031,"src":"80157:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22023,"name":"string","nodeType":"ElementaryTypeName","src":"80157:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22026,"mutability":"mutable","name":"key","nameLocation":"80195:3:13","nodeType":"VariableDeclaration","scope":22031,"src":"80179:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22025,"name":"string","nodeType":"ElementaryTypeName","src":"80179:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80156:43:13"},"returnParameters":{"id":22030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22031,"src":"80223:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22028,"name":"bytes","nodeType":"ElementaryTypeName","src":"80223:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80222:14:13"},"scope":22388,"src":"80133:104:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22032,"nodeType":"StructuredDocumentation","src":"80243:70:13","text":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"functionSelector":"8e214810","id":22041,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32","nameLocation":"80327:16:13","nodeType":"FunctionDefinition","parameters":{"id":22037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22034,"mutability":"mutable","name":"toml","nameLocation":"80360:4:13","nodeType":"VariableDeclaration","scope":22041,"src":"80344:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22033,"name":"string","nodeType":"ElementaryTypeName","src":"80344:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22036,"mutability":"mutable","name":"key","nameLocation":"80382:3:13","nodeType":"VariableDeclaration","scope":22041,"src":"80366:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22035,"name":"string","nodeType":"ElementaryTypeName","src":"80366:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80343:43:13"},"returnParameters":{"id":22040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22041,"src":"80410:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80410:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"80409:9:13"},"scope":22388,"src":"80318:101:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22042,"nodeType":"StructuredDocumentation","src":"80425:72:13","text":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"functionSelector":"3e716f81","id":22052,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32Array","nameLocation":"80511:21:13","nodeType":"FunctionDefinition","parameters":{"id":22047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22044,"mutability":"mutable","name":"toml","nameLocation":"80549:4:13","nodeType":"VariableDeclaration","scope":22052,"src":"80533:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22043,"name":"string","nodeType":"ElementaryTypeName","src":"80533:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22046,"mutability":"mutable","name":"key","nameLocation":"80571:3:13","nodeType":"VariableDeclaration","scope":22052,"src":"80555:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22045,"name":"string","nodeType":"ElementaryTypeName","src":"80555:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80532:43:13"},"returnParameters":{"id":22051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22052,"src":"80623:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":22048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80623:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":22049,"nodeType":"ArrayTypeName","src":"80623:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"80622:18:13"},"scope":22388,"src":"80502:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22053,"nodeType":"StructuredDocumentation","src":"80647:70:13","text":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"functionSelector":"b197c247","id":22063,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytesArray","nameLocation":"80731:19:13","nodeType":"FunctionDefinition","parameters":{"id":22058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22055,"mutability":"mutable","name":"toml","nameLocation":"80767:4:13","nodeType":"VariableDeclaration","scope":22063,"src":"80751:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22054,"name":"string","nodeType":"ElementaryTypeName","src":"80751:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22057,"mutability":"mutable","name":"key","nameLocation":"80789:3:13","nodeType":"VariableDeclaration","scope":22063,"src":"80773:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22056,"name":"string","nodeType":"ElementaryTypeName","src":"80773:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80750:43:13"},"returnParameters":{"id":22062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22063,"src":"80817:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22059,"name":"bytes","nodeType":"ElementaryTypeName","src":"80817:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22060,"nodeType":"ArrayTypeName","src":"80817:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"80816:16:13"},"scope":22388,"src":"80722:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22064,"nodeType":"StructuredDocumentation","src":"80839:69:13","text":"Parses a string of TOML data at `key` and coerces it to `int256`."},"functionSelector":"c1350739","id":22073,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlInt","nameLocation":"80922:12:13","nodeType":"FunctionDefinition","parameters":{"id":22069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22066,"mutability":"mutable","name":"toml","nameLocation":"80951:4:13","nodeType":"VariableDeclaration","scope":22073,"src":"80935:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22065,"name":"string","nodeType":"ElementaryTypeName","src":"80935:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22068,"mutability":"mutable","name":"key","nameLocation":"80973:3:13","nodeType":"VariableDeclaration","scope":22073,"src":"80957:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22067,"name":"string","nodeType":"ElementaryTypeName","src":"80957:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80934:43:13"},"returnParameters":{"id":22072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22073,"src":"81001:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":22070,"name":"int256","nodeType":"ElementaryTypeName","src":"81001:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"81000:8:13"},"scope":22388,"src":"80913:96:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22074,"nodeType":"StructuredDocumentation","src":"81015:71:13","text":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"functionSelector":"d3522ae6","id":22084,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlIntArray","nameLocation":"81100:17:13","nodeType":"FunctionDefinition","parameters":{"id":22079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22076,"mutability":"mutable","name":"toml","nameLocation":"81134:4:13","nodeType":"VariableDeclaration","scope":22084,"src":"81118:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22075,"name":"string","nodeType":"ElementaryTypeName","src":"81118:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22078,"mutability":"mutable","name":"key","nameLocation":"81156:3:13","nodeType":"VariableDeclaration","scope":22084,"src":"81140:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22077,"name":"string","nodeType":"ElementaryTypeName","src":"81140:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81117:43:13"},"returnParameters":{"id":22083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22084,"src":"81184:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":22080,"name":"int256","nodeType":"ElementaryTypeName","src":"81184:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":22081,"nodeType":"ArrayTypeName","src":"81184:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"81183:17:13"},"scope":22388,"src":"81091:110:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22085,"nodeType":"StructuredDocumentation","src":"81207:53:13","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","id":22095,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"81274:13:13","nodeType":"FunctionDefinition","parameters":{"id":22090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22087,"mutability":"mutable","name":"toml","nameLocation":"81304:4:13","nodeType":"VariableDeclaration","scope":22095,"src":"81288:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22086,"name":"string","nodeType":"ElementaryTypeName","src":"81288:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22089,"mutability":"mutable","name":"key","nameLocation":"81326:3:13","nodeType":"VariableDeclaration","scope":22095,"src":"81310:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22088,"name":"string","nodeType":"ElementaryTypeName","src":"81310:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81287:43:13"},"returnParameters":{"id":22094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22093,"mutability":"mutable","name":"keys","nameLocation":"81370:4:13","nodeType":"VariableDeclaration","scope":22095,"src":"81354:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":22091,"name":"string","nodeType":"ElementaryTypeName","src":"81354:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":22092,"nodeType":"ArrayTypeName","src":"81354:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"81353:22:13"},"scope":22388,"src":"81265:111:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22096,"nodeType":"StructuredDocumentation","src":"81382:69:13","text":"Parses a string of TOML data at `key` and coerces it to `string`."},"functionSelector":"8bb8dd43","id":22105,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlString","nameLocation":"81465:15:13","nodeType":"FunctionDefinition","parameters":{"id":22101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22098,"mutability":"mutable","name":"toml","nameLocation":"81497:4:13","nodeType":"VariableDeclaration","scope":22105,"src":"81481:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22097,"name":"string","nodeType":"ElementaryTypeName","src":"81481:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22100,"mutability":"mutable","name":"key","nameLocation":"81519:3:13","nodeType":"VariableDeclaration","scope":22105,"src":"81503:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22099,"name":"string","nodeType":"ElementaryTypeName","src":"81503:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81480:43:13"},"returnParameters":{"id":22104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22105,"src":"81547:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22102,"name":"string","nodeType":"ElementaryTypeName","src":"81547:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81546:15:13"},"scope":22388,"src":"81456:106:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22106,"nodeType":"StructuredDocumentation","src":"81568:71:13","text":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"functionSelector":"9f629281","id":22116,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlStringArray","nameLocation":"81653:20:13","nodeType":"FunctionDefinition","parameters":{"id":22111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22108,"mutability":"mutable","name":"toml","nameLocation":"81690:4:13","nodeType":"VariableDeclaration","scope":22116,"src":"81674:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22107,"name":"string","nodeType":"ElementaryTypeName","src":"81674:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22110,"mutability":"mutable","name":"key","nameLocation":"81712:3:13","nodeType":"VariableDeclaration","scope":22116,"src":"81696:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22109,"name":"string","nodeType":"ElementaryTypeName","src":"81696:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81673:43:13"},"returnParameters":{"id":22115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22116,"src":"81740:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":22112,"name":"string","nodeType":"ElementaryTypeName","src":"81740:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":22113,"nodeType":"ArrayTypeName","src":"81740:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"81739:17:13"},"scope":22388,"src":"81644:113:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22117,"nodeType":"StructuredDocumentation","src":"81763:106:13","text":"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"49be3743","id":22128,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlTypeArray","nameLocation":"81883:18:13","nodeType":"FunctionDefinition","parameters":{"id":22124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22119,"mutability":"mutable","name":"toml","nameLocation":"81918:4:13","nodeType":"VariableDeclaration","scope":22128,"src":"81902:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22118,"name":"string","nodeType":"ElementaryTypeName","src":"81902:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22121,"mutability":"mutable","name":"key","nameLocation":"81940:3:13","nodeType":"VariableDeclaration","scope":22128,"src":"81924:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22120,"name":"string","nodeType":"ElementaryTypeName","src":"81924:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22123,"mutability":"mutable","name":"typeDescription","nameLocation":"81961:15:13","nodeType":"VariableDeclaration","scope":22128,"src":"81945:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22122,"name":"string","nodeType":"ElementaryTypeName","src":"81945:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81901:76:13"},"returnParameters":{"id":22127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22128,"src":"82025:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22125,"name":"bytes","nodeType":"ElementaryTypeName","src":"82025:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"82024:14:13"},"scope":22388,"src":"81874:165:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22129,"nodeType":"StructuredDocumentation","src":"82045:91:13","text":"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"47fa5e11","id":22138,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"82150:13:13","nodeType":"FunctionDefinition","parameters":{"id":22134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22131,"mutability":"mutable","name":"toml","nameLocation":"82180:4:13","nodeType":"VariableDeclaration","scope":22138,"src":"82164:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22130,"name":"string","nodeType":"ElementaryTypeName","src":"82164:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22133,"mutability":"mutable","name":"typeDescription","nameLocation":"82202:15:13","nodeType":"VariableDeclaration","scope":22138,"src":"82186:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22132,"name":"string","nodeType":"ElementaryTypeName","src":"82186:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82163:55:13"},"returnParameters":{"id":22137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22138,"src":"82266:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22135,"name":"bytes","nodeType":"ElementaryTypeName","src":"82266:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"82265:14:13"},"scope":22388,"src":"82141:139:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22139,"nodeType":"StructuredDocumentation","src":"82286:100:13","text":"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"f9fa5cdb","id":22150,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"82400:13:13","nodeType":"FunctionDefinition","parameters":{"id":22146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22141,"mutability":"mutable","name":"toml","nameLocation":"82430:4:13","nodeType":"VariableDeclaration","scope":22150,"src":"82414:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22140,"name":"string","nodeType":"ElementaryTypeName","src":"82414:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22143,"mutability":"mutable","name":"key","nameLocation":"82452:3:13","nodeType":"VariableDeclaration","scope":22150,"src":"82436:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22142,"name":"string","nodeType":"ElementaryTypeName","src":"82436:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22145,"mutability":"mutable","name":"typeDescription","nameLocation":"82473:15:13","nodeType":"VariableDeclaration","scope":22150,"src":"82457:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22144,"name":"string","nodeType":"ElementaryTypeName","src":"82457:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82413:76:13"},"returnParameters":{"id":22149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22150,"src":"82537:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22147,"name":"bytes","nodeType":"ElementaryTypeName","src":"82537:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"82536:14:13"},"scope":22388,"src":"82391:160:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22151,"nodeType":"StructuredDocumentation","src":"82557:70:13","text":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"functionSelector":"cc7b0487","id":22160,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUint","nameLocation":"82641:13:13","nodeType":"FunctionDefinition","parameters":{"id":22156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22153,"mutability":"mutable","name":"toml","nameLocation":"82671:4:13","nodeType":"VariableDeclaration","scope":22160,"src":"82655:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22152,"name":"string","nodeType":"ElementaryTypeName","src":"82655:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22155,"mutability":"mutable","name":"key","nameLocation":"82693:3:13","nodeType":"VariableDeclaration","scope":22160,"src":"82677:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22154,"name":"string","nodeType":"ElementaryTypeName","src":"82677:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82654:43:13"},"returnParameters":{"id":22159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22158,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22160,"src":"82721:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22157,"name":"uint256","nodeType":"ElementaryTypeName","src":"82721:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82720:9:13"},"scope":22388,"src":"82632:98:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22161,"nodeType":"StructuredDocumentation","src":"82736:72:13","text":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"functionSelector":"b5df27c8","id":22171,"implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUintArray","nameLocation":"82822:18:13","nodeType":"FunctionDefinition","parameters":{"id":22166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22163,"mutability":"mutable","name":"toml","nameLocation":"82857:4:13","nodeType":"VariableDeclaration","scope":22171,"src":"82841:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22162,"name":"string","nodeType":"ElementaryTypeName","src":"82841:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22165,"mutability":"mutable","name":"key","nameLocation":"82879:3:13","nodeType":"VariableDeclaration","scope":22171,"src":"82863:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22164,"name":"string","nodeType":"ElementaryTypeName","src":"82863:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82840:43:13"},"returnParameters":{"id":22170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22171,"src":"82907:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":22167,"name":"uint256","nodeType":"ElementaryTypeName","src":"82907:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":22168,"nodeType":"ArrayTypeName","src":"82907:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"82906:18:13"},"scope":22388,"src":"82813:112:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22172,"nodeType":"StructuredDocumentation","src":"82931:29:13","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","id":22179,"implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"82974:9:13","nodeType":"FunctionDefinition","parameters":{"id":22175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22174,"mutability":"mutable","name":"toml","nameLocation":"83000:4:13","nodeType":"VariableDeclaration","scope":22179,"src":"82984:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22173,"name":"string","nodeType":"ElementaryTypeName","src":"82984:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82983:22:13"},"returnParameters":{"id":22178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22177,"mutability":"mutable","name":"abiEncodedData","nameLocation":"83042:14:13","nodeType":"VariableDeclaration","scope":22179,"src":"83029:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22176,"name":"bytes","nodeType":"ElementaryTypeName","src":"83029:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"83028:29:13"},"scope":22388,"src":"82965:93:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22180,"nodeType":"StructuredDocumentation","src":"83064:38:13","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","id":22189,"implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"83116:9:13","nodeType":"FunctionDefinition","parameters":{"id":22185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22182,"mutability":"mutable","name":"toml","nameLocation":"83142:4:13","nodeType":"VariableDeclaration","scope":22189,"src":"83126:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22181,"name":"string","nodeType":"ElementaryTypeName","src":"83126:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22184,"mutability":"mutable","name":"key","nameLocation":"83164:3:13","nodeType":"VariableDeclaration","scope":22189,"src":"83148:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22183,"name":"string","nodeType":"ElementaryTypeName","src":"83148:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83125:43:13"},"returnParameters":{"id":22188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22187,"mutability":"mutable","name":"abiEncodedData","nameLocation":"83205:14:13","nodeType":"VariableDeclaration","scope":22189,"src":"83192:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22186,"name":"bytes","nodeType":"ElementaryTypeName","src":"83192:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"83191:29:13"},"scope":22388,"src":"83107:114:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22190,"nodeType":"StructuredDocumentation","src":"83227:82:13","text":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"functionSelector":"c0865ba7","id":22197,"implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"83323:9:13","nodeType":"FunctionDefinition","parameters":{"id":22195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22192,"mutability":"mutable","name":"json","nameLocation":"83349:4:13","nodeType":"VariableDeclaration","scope":22197,"src":"83333:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22191,"name":"string","nodeType":"ElementaryTypeName","src":"83333:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22194,"mutability":"mutable","name":"path","nameLocation":"83371:4:13","nodeType":"VariableDeclaration","scope":22197,"src":"83355:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22193,"name":"string","nodeType":"ElementaryTypeName","src":"83355:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83332:44:13"},"returnParameters":{"id":22196,"nodeType":"ParameterList","parameters":[],"src":"83385:0:13"},"scope":22388,"src":"83314:72:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22198,"nodeType":"StructuredDocumentation","src":"83392:258:13","text":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.>\n This is useful to replace a specific value of a TOML file, without having to parse the entire thing."},"functionSelector":"51ac6a33","id":22207,"implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"83664:9:13","nodeType":"FunctionDefinition","parameters":{"id":22205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22200,"mutability":"mutable","name":"json","nameLocation":"83690:4:13","nodeType":"VariableDeclaration","scope":22207,"src":"83674:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22199,"name":"string","nodeType":"ElementaryTypeName","src":"83674:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22202,"mutability":"mutable","name":"path","nameLocation":"83712:4:13","nodeType":"VariableDeclaration","scope":22207,"src":"83696:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22201,"name":"string","nodeType":"ElementaryTypeName","src":"83696:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22204,"mutability":"mutable","name":"valueKey","nameLocation":"83734:8:13","nodeType":"VariableDeclaration","scope":22207,"src":"83718:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22203,"name":"string","nodeType":"ElementaryTypeName","src":"83718:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83673:70:13"},"returnParameters":{"id":22206,"nodeType":"ParameterList","parameters":[],"src":"83752:0:13"},"scope":22388,"src":"83655:98:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22208,"nodeType":"StructuredDocumentation","src":"83795:92:13","text":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"functionSelector":"d323826a","id":22219,"implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"83901:21:13","nodeType":"FunctionDefinition","parameters":{"id":22215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22210,"mutability":"mutable","name":"salt","nameLocation":"83931:4:13","nodeType":"VariableDeclaration","scope":22219,"src":"83923:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83923:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22212,"mutability":"mutable","name":"initCodeHash","nameLocation":"83945:12:13","nodeType":"VariableDeclaration","scope":22219,"src":"83937:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83937:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22214,"mutability":"mutable","name":"deployer","nameLocation":"83967:8:13","nodeType":"VariableDeclaration","scope":22219,"src":"83959:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22213,"name":"address","nodeType":"ElementaryTypeName","src":"83959:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"83922:54:13"},"returnParameters":{"id":22218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22219,"src":"84024:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22216,"name":"address","nodeType":"ElementaryTypeName","src":"84024:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84023:9:13"},"scope":22388,"src":"83892:141:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22220,"nodeType":"StructuredDocumentation","src":"84039:94:13","text":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"functionSelector":"890c283b","id":22229,"implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"84147:21:13","nodeType":"FunctionDefinition","parameters":{"id":22225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22222,"mutability":"mutable","name":"salt","nameLocation":"84177:4:13","nodeType":"VariableDeclaration","scope":22229,"src":"84169:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84169:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22224,"mutability":"mutable","name":"initCodeHash","nameLocation":"84191:12:13","nodeType":"VariableDeclaration","scope":22229,"src":"84183:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84183:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84168:36:13"},"returnParameters":{"id":22228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22229,"src":"84228:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22226,"name":"address","nodeType":"ElementaryTypeName","src":"84228:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84227:9:13"},"scope":22388,"src":"84138:99:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22230,"nodeType":"StructuredDocumentation","src":"84243:94:13","text":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"functionSelector":"74637a7a","id":22239,"implemented":false,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"84351:20:13","nodeType":"FunctionDefinition","parameters":{"id":22235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22232,"mutability":"mutable","name":"deployer","nameLocation":"84380:8:13","nodeType":"VariableDeclaration","scope":22239,"src":"84372:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22231,"name":"address","nodeType":"ElementaryTypeName","src":"84372:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22234,"mutability":"mutable","name":"nonce","nameLocation":"84398:5:13","nodeType":"VariableDeclaration","scope":22239,"src":"84390:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22233,"name":"uint256","nodeType":"ElementaryTypeName","src":"84390:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84371:33:13"},"returnParameters":{"id":22238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22239,"src":"84428:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22236,"name":"address","nodeType":"ElementaryTypeName","src":"84428:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84427:9:13"},"scope":22388,"src":"84342:95:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22240,"nodeType":"StructuredDocumentation","src":"84443:82:13","text":"Utility cheatcode to copy storage of `from` contract to another `to` contract."},"functionSelector":"203dac0d","id":22247,"implemented":false,"kind":"function","modifiers":[],"name":"copyStorage","nameLocation":"84539:11:13","nodeType":"FunctionDefinition","parameters":{"id":22245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22242,"mutability":"mutable","name":"from","nameLocation":"84559:4:13","nodeType":"VariableDeclaration","scope":22247,"src":"84551:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22241,"name":"address","nodeType":"ElementaryTypeName","src":"84551:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22244,"mutability":"mutable","name":"to","nameLocation":"84573:2:13","nodeType":"VariableDeclaration","scope":22247,"src":"84565:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22243,"name":"address","nodeType":"ElementaryTypeName","src":"84565:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84550:26:13"},"returnParameters":{"id":22246,"nodeType":"ParameterList","parameters":[],"src":"84585:0:13"},"scope":22388,"src":"84530:56:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22248,"nodeType":"StructuredDocumentation","src":"84592:45:13","text":"Returns ENS namehash for provided string."},"functionSelector":"8c374c65","id":22255,"implemented":false,"kind":"function","modifiers":[],"name":"ensNamehash","nameLocation":"84651:11:13","nodeType":"FunctionDefinition","parameters":{"id":22251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22250,"mutability":"mutable","name":"name","nameLocation":"84679:4:13","nodeType":"VariableDeclaration","scope":22255,"src":"84663:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22249,"name":"string","nodeType":"ElementaryTypeName","src":"84663:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84662:22:13"},"returnParameters":{"id":22254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22255,"src":"84708:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84708:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84707:9:13"},"scope":22388,"src":"84642:75:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22256,"nodeType":"StructuredDocumentation","src":"84723:45:13","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","id":22263,"implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"84782:8:13","nodeType":"FunctionDefinition","parameters":{"id":22259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22258,"mutability":"mutable","name":"account","nameLocation":"84799:7:13","nodeType":"VariableDeclaration","scope":22263,"src":"84791:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22257,"name":"address","nodeType":"ElementaryTypeName","src":"84791:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84790:17:13"},"returnParameters":{"id":22262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22261,"mutability":"mutable","name":"currentLabel","nameLocation":"84845:12:13","nodeType":"VariableDeclaration","scope":22263,"src":"84831:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22260,"name":"string","nodeType":"ElementaryTypeName","src":"84831:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84830:28:13"},"scope":22388,"src":"84773:86:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22264,"nodeType":"StructuredDocumentation","src":"84865:37:13","text":"Labels an address in call traces."},"functionSelector":"c657c718","id":22271,"implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"84916:5:13","nodeType":"FunctionDefinition","parameters":{"id":22269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22266,"mutability":"mutable","name":"account","nameLocation":"84930:7:13","nodeType":"VariableDeclaration","scope":22271,"src":"84922:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22265,"name":"address","nodeType":"ElementaryTypeName","src":"84922:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22268,"mutability":"mutable","name":"newLabel","nameLocation":"84955:8:13","nodeType":"VariableDeclaration","scope":22271,"src":"84939:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22267,"name":"string","nodeType":"ElementaryTypeName","src":"84939:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84921:43:13"},"returnParameters":{"id":22270,"nodeType":"ParameterList","parameters":[],"src":"84973:0:13"},"scope":22388,"src":"84907:67:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22272,"nodeType":"StructuredDocumentation","src":"84980:144:13","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","id":22275,"implemented":false,"kind":"function","modifiers":[],"name":"pauseTracing","nameLocation":"85138:12:13","nodeType":"FunctionDefinition","parameters":{"id":22273,"nodeType":"ParameterList","parameters":[],"src":"85150:2:13"},"returnParameters":{"id":22274,"nodeType":"ParameterList","parameters":[],"src":"85166:0:13"},"scope":22388,"src":"85129:38:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22276,"nodeType":"StructuredDocumentation","src":"85173:31:13","text":"Returns a random `address`."},"functionSelector":"d5bee9f5","id":22281,"implemented":false,"kind":"function","modifiers":[],"name":"randomAddress","nameLocation":"85218:13:13","nodeType":"FunctionDefinition","parameters":{"id":22277,"nodeType":"ParameterList","parameters":[],"src":"85231:2:13"},"returnParameters":{"id":22280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22281,"src":"85252:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22278,"name":"address","nodeType":"ElementaryTypeName","src":"85252:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85251:9:13"},"scope":22388,"src":"85209:52:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22282,"nodeType":"StructuredDocumentation","src":"85267:28:13","text":"Returns a random `bool`."},"functionSelector":"cdc126bd","id":22287,"implemented":false,"kind":"function","modifiers":[],"name":"randomBool","nameLocation":"85309:10:13","nodeType":"FunctionDefinition","parameters":{"id":22283,"nodeType":"ParameterList","parameters":[],"src":"85319:2:13"},"returnParameters":{"id":22286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22287,"src":"85345:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22284,"name":"bool","nodeType":"ElementaryTypeName","src":"85345:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"85344:6:13"},"scope":22388,"src":"85300:51:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22288,"nodeType":"StructuredDocumentation","src":"85357:58:13","text":"Returns a random byte array value of the given length."},"functionSelector":"6c5d32a9","id":22295,"implemented":false,"kind":"function","modifiers":[],"name":"randomBytes","nameLocation":"85429:11:13","nodeType":"FunctionDefinition","parameters":{"id":22291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22290,"mutability":"mutable","name":"len","nameLocation":"85449:3:13","nodeType":"VariableDeclaration","scope":22295,"src":"85441:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22289,"name":"uint256","nodeType":"ElementaryTypeName","src":"85441:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"85440:13:13"},"returnParameters":{"id":22294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22295,"src":"85477:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":22292,"name":"bytes","nodeType":"ElementaryTypeName","src":"85477:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"85476:14:13"},"scope":22388,"src":"85420:71:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22296,"nodeType":"StructuredDocumentation","src":"85497:55:13","text":"Returns a random fixed-size byte array of length 4."},"functionSelector":"9b7cd579","id":22301,"implemented":false,"kind":"function","modifiers":[],"name":"randomBytes4","nameLocation":"85566:12:13","nodeType":"FunctionDefinition","parameters":{"id":22297,"nodeType":"ParameterList","parameters":[],"src":"85578:2:13"},"returnParameters":{"id":22300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22301,"src":"85604:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":22298,"name":"bytes4","nodeType":"ElementaryTypeName","src":"85604:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"85603:8:13"},"scope":22388,"src":"85557:55:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22302,"nodeType":"StructuredDocumentation","src":"85618:55:13","text":"Returns a random fixed-size byte array of length 8."},"functionSelector":"0497b0a5","id":22307,"implemented":false,"kind":"function","modifiers":[],"name":"randomBytes8","nameLocation":"85687:12:13","nodeType":"FunctionDefinition","parameters":{"id":22303,"nodeType":"ParameterList","parameters":[],"src":"85699:2:13"},"returnParameters":{"id":22306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22307,"src":"85725:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":22304,"name":"bytes8","nodeType":"ElementaryTypeName","src":"85725:6:13","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"85724:8:13"},"scope":22388,"src":"85678:55:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22308,"nodeType":"StructuredDocumentation","src":"85739:36:13","text":"Returns a random `int256` value."},"functionSelector":"111f1202","id":22313,"implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"85789:9:13","nodeType":"FunctionDefinition","parameters":{"id":22309,"nodeType":"ParameterList","parameters":[],"src":"85798:2:13"},"returnParameters":{"id":22312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22313,"src":"85824:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":22310,"name":"int256","nodeType":"ElementaryTypeName","src":"85824:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"85823:8:13"},"scope":22388,"src":"85780:52:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22314,"nodeType":"StructuredDocumentation","src":"85838:50:13","text":"Returns a random `int256` value of given bits."},"functionSelector":"12845966","id":22321,"implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"85902:9:13","nodeType":"FunctionDefinition","parameters":{"id":22317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22316,"mutability":"mutable","name":"bits","nameLocation":"85920:4:13","nodeType":"VariableDeclaration","scope":22321,"src":"85912:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22315,"name":"uint256","nodeType":"ElementaryTypeName","src":"85912:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"85911:14:13"},"returnParameters":{"id":22320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22321,"src":"85949:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":22318,"name":"int256","nodeType":"ElementaryTypeName","src":"85949:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"85948:8:13"},"scope":22388,"src":"85893:64:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22322,"nodeType":"StructuredDocumentation","src":"85963:35:13","text":"Returns a random uint256 value."},"functionSelector":"25124730","id":22327,"implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"86012:10:13","nodeType":"FunctionDefinition","parameters":{"id":22323,"nodeType":"ParameterList","parameters":[],"src":"86022:2:13"},"returnParameters":{"id":22326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22327,"src":"86043:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22324,"name":"uint256","nodeType":"ElementaryTypeName","src":"86043:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86042:9:13"},"scope":22388,"src":"86003:49:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22328,"nodeType":"StructuredDocumentation","src":"86058:73:13","text":"Returns random uint256 value between the provided range (=min..=max)."},"functionSelector":"d61b051b","id":22337,"implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"86145:10:13","nodeType":"FunctionDefinition","parameters":{"id":22333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22330,"mutability":"mutable","name":"min","nameLocation":"86164:3:13","nodeType":"VariableDeclaration","scope":22337,"src":"86156:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22329,"name":"uint256","nodeType":"ElementaryTypeName","src":"86156:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22332,"mutability":"mutable","name":"max","nameLocation":"86177:3:13","nodeType":"VariableDeclaration","scope":22337,"src":"86169:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22331,"name":"uint256","nodeType":"ElementaryTypeName","src":"86169:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86155:26:13"},"returnParameters":{"id":22336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22337,"src":"86200:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22334,"name":"uint256","nodeType":"ElementaryTypeName","src":"86200:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86199:9:13"},"scope":22388,"src":"86136:73:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22338,"nodeType":"StructuredDocumentation","src":"86215:51:13","text":"Returns a random `uint256` value of given bits."},"functionSelector":"cf81e69c","id":22345,"implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"86280:10:13","nodeType":"FunctionDefinition","parameters":{"id":22341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22340,"mutability":"mutable","name":"bits","nameLocation":"86299:4:13","nodeType":"VariableDeclaration","scope":22345,"src":"86291:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22339,"name":"uint256","nodeType":"ElementaryTypeName","src":"86291:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86290:14:13"},"returnParameters":{"id":22344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22345,"src":"86328:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22342,"name":"uint256","nodeType":"ElementaryTypeName","src":"86328:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86327:9:13"},"scope":22388,"src":"86271:66:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22346,"nodeType":"StructuredDocumentation","src":"86343:39:13","text":"Unpauses collection of call traces."},"functionSelector":"72a09ccb","id":22349,"implemented":false,"kind":"function","modifiers":[],"name":"resumeTracing","nameLocation":"86396:13:13","nodeType":"FunctionDefinition","parameters":{"id":22347,"nodeType":"ParameterList","parameters":[],"src":"86409:2:13"},"returnParameters":{"id":22348,"nodeType":"ParameterList","parameters":[],"src":"86425:0:13"},"scope":22388,"src":"86387:39:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22350,"nodeType":"StructuredDocumentation","src":"86432:72:13","text":"Utility cheatcode to set arbitrary storage for given target address."},"functionSelector":"e1631837","id":22355,"implemented":false,"kind":"function","modifiers":[],"name":"setArbitraryStorage","nameLocation":"86518:19:13","nodeType":"FunctionDefinition","parameters":{"id":22353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22352,"mutability":"mutable","name":"target","nameLocation":"86546:6:13","nodeType":"VariableDeclaration","scope":22355,"src":"86538:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22351,"name":"address","nodeType":"ElementaryTypeName","src":"86538:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"86537:16:13"},"returnParameters":{"id":22354,"nodeType":"ParameterList","parameters":[],"src":"86562:0:13"},"scope":22388,"src":"86509:54:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22356,"nodeType":"StructuredDocumentation","src":"86569:50:13","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","id":22363,"implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"86633:11:13","nodeType":"FunctionDefinition","parameters":{"id":22359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22358,"mutability":"mutable","name":"data","nameLocation":"86660:4:13","nodeType":"VariableDeclaration","scope":22363,"src":"86645:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22357,"name":"bytes","nodeType":"ElementaryTypeName","src":"86645:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86644:21:13"},"returnParameters":{"id":22362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22363,"src":"86689:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22360,"name":"string","nodeType":"ElementaryTypeName","src":"86689:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86688:15:13"},"scope":22388,"src":"86624:80:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22364,"nodeType":"StructuredDocumentation","src":"86710:51:13","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","id":22371,"implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"86775:11:13","nodeType":"FunctionDefinition","parameters":{"id":22367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22366,"mutability":"mutable","name":"data","nameLocation":"86803:4:13","nodeType":"VariableDeclaration","scope":22371,"src":"86787:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22365,"name":"string","nodeType":"ElementaryTypeName","src":"86787:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86786:22:13"},"returnParameters":{"id":22370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22371,"src":"86832:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22368,"name":"string","nodeType":"ElementaryTypeName","src":"86832:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86831:15:13"},"scope":22388,"src":"86766:81:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22372,"nodeType":"StructuredDocumentation","src":"86853:47:13","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","id":22379,"implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"86914:8:13","nodeType":"FunctionDefinition","parameters":{"id":22375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22374,"mutability":"mutable","name":"data","nameLocation":"86938:4:13","nodeType":"VariableDeclaration","scope":22379,"src":"86923:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22373,"name":"bytes","nodeType":"ElementaryTypeName","src":"86923:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86922:21:13"},"returnParameters":{"id":22378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22379,"src":"86967:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22376,"name":"string","nodeType":"ElementaryTypeName","src":"86967:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86966:15:13"},"scope":22388,"src":"86905:77:13","stateMutability":"pure","virtual":false,"visibility":"external"},{"documentation":{"id":22380,"nodeType":"StructuredDocumentation","src":"86988:48:13","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","id":22387,"implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"87050:8:13","nodeType":"FunctionDefinition","parameters":{"id":22383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22382,"mutability":"mutable","name":"data","nameLocation":"87075:4:13","nodeType":"VariableDeclaration","scope":22387,"src":"87059:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22381,"name":"string","nodeType":"ElementaryTypeName","src":"87059:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87058:22:13"},"returnParameters":{"id":22386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22387,"src":"87104:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22384,"name":"string","nodeType":"ElementaryTypeName","src":"87104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87103:15:13"},"scope":22388,"src":"87041:78:13","stateMutability":"pure","virtual":false,"visibility":"external"}],"scope":23232,"src":"409:86712:13","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":22390,"name":"VmSafe","nameLocations":["87310:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":22388,"src":"87310:6:13"},"id":22391,"nodeType":"InheritanceSpecifier","src":"87310:6:13"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":22389,"nodeType":"StructuredDocumentation","src":"87123:171:13","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,"id":23231,"linearizedBaseContracts":[23231,22388],"name":"Vm","nameLocation":"87304:2:13","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":22392,"nodeType":"StructuredDocumentation","src":"87353:96:13","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","id":22397,"implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"87463:10:13","nodeType":"FunctionDefinition","parameters":{"id":22393,"nodeType":"ParameterList","parameters":[],"src":"87473:2:13"},"returnParameters":{"id":22396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22395,"mutability":"mutable","name":"forkId","nameLocation":"87507:6:13","nodeType":"VariableDeclaration","scope":22397,"src":"87499:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22394,"name":"uint256","nodeType":"ElementaryTypeName","src":"87499:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"87498:16:13"},"scope":23231,"src":"87454:61:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22398,"nodeType":"StructuredDocumentation","src":"87521:73:13","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","id":22403,"implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"87608:15:13","nodeType":"FunctionDefinition","parameters":{"id":22401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22400,"mutability":"mutable","name":"account","nameLocation":"87632:7:13","nodeType":"VariableDeclaration","scope":22403,"src":"87624:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22399,"name":"address","nodeType":"ElementaryTypeName","src":"87624:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"87623:17:13"},"returnParameters":{"id":22402,"nodeType":"ParameterList","parameters":[],"src":"87649:0:13"},"scope":23231,"src":"87599:51:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22404,"nodeType":"StructuredDocumentation","src":"87656:28:13","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","id":22409,"implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"87698:11:13","nodeType":"FunctionDefinition","parameters":{"id":22407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22406,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"87718:14:13","nodeType":"VariableDeclaration","scope":22409,"src":"87710:22:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22405,"name":"uint256","nodeType":"ElementaryTypeName","src":"87710:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"87709:24:13"},"returnParameters":{"id":22408,"nodeType":"ParameterList","parameters":[],"src":"87742:0:13"},"scope":23231,"src":"87689:54:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22410,"nodeType":"StructuredDocumentation","src":"87749:156:13","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","id":22416,"implemented":false,"kind":"function","modifiers":[],"name":"blobhashes","nameLocation":"87919:10:13","nodeType":"FunctionDefinition","parameters":{"id":22414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22413,"mutability":"mutable","name":"hashes","nameLocation":"87949:6:13","nodeType":"VariableDeclaration","scope":22416,"src":"87930:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":22411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87930:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":22412,"nodeType":"ArrayTypeName","src":"87930:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"87929:27:13"},"returnParameters":{"id":22415,"nodeType":"ParameterList","parameters":[],"src":"87965:0:13"},"scope":23231,"src":"87910:56:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22417,"nodeType":"StructuredDocumentation","src":"87972:25:13","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","id":22422,"implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"88011:7:13","nodeType":"FunctionDefinition","parameters":{"id":22420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22419,"mutability":"mutable","name":"newChainId","nameLocation":"88027:10:13","nodeType":"VariableDeclaration","scope":22422,"src":"88019:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22418,"name":"uint256","nodeType":"ElementaryTypeName","src":"88019:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"88018:20:13"},"returnParameters":{"id":22421,"nodeType":"ParameterList","parameters":[],"src":"88047:0:13"},"scope":23231,"src":"88002:46:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22423,"nodeType":"StructuredDocumentation","src":"88054:28:13","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","id":22426,"implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"88096:16:13","nodeType":"FunctionDefinition","parameters":{"id":22424,"nodeType":"ParameterList","parameters":[],"src":"88112:2:13"},"returnParameters":{"id":22425,"nodeType":"ParameterList","parameters":[],"src":"88123:0:13"},"scope":23231,"src":"88087:37:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22427,"nodeType":"StructuredDocumentation","src":"88130:111:13","text":"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state."},"functionSelector":"533d61c9","id":22434,"implemented":false,"kind":"function","modifiers":[],"name":"cloneAccount","nameLocation":"88255:12:13","nodeType":"FunctionDefinition","parameters":{"id":22432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22429,"mutability":"mutable","name":"source","nameLocation":"88276:6:13","nodeType":"VariableDeclaration","scope":22434,"src":"88268:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22428,"name":"address","nodeType":"ElementaryTypeName","src":"88268:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22431,"mutability":"mutable","name":"target","nameLocation":"88292:6:13","nodeType":"VariableDeclaration","scope":22434,"src":"88284:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22430,"name":"address","nodeType":"ElementaryTypeName","src":"88284:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88267:32:13"},"returnParameters":{"id":22433,"nodeType":"ParameterList","parameters":[],"src":"88308:0:13"},"scope":23231,"src":"88246:63:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22435,"nodeType":"StructuredDocumentation","src":"88315:26:13","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","id":22440,"implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"88355:8:13","nodeType":"FunctionDefinition","parameters":{"id":22438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22437,"mutability":"mutable","name":"newCoinbase","nameLocation":"88372:11:13","nodeType":"VariableDeclaration","scope":22440,"src":"88364:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22436,"name":"address","nodeType":"ElementaryTypeName","src":"88364:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88363:21:13"},"returnParameters":{"id":22439,"nodeType":"ParameterList","parameters":[],"src":"88393:0:13"},"scope":23231,"src":"88346:48:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22441,"nodeType":"StructuredDocumentation","src":"88400:109:13","text":"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork."},"functionSelector":"31ba3498","id":22448,"implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"88523:10:13","nodeType":"FunctionDefinition","parameters":{"id":22444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22443,"mutability":"mutable","name":"urlOrAlias","nameLocation":"88550:10:13","nodeType":"VariableDeclaration","scope":22448,"src":"88534:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22442,"name":"string","nodeType":"ElementaryTypeName","src":"88534:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88533:28:13"},"returnParameters":{"id":22447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22446,"mutability":"mutable","name":"forkId","nameLocation":"88588:6:13","nodeType":"VariableDeclaration","scope":22448,"src":"88580:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22445,"name":"uint256","nodeType":"ElementaryTypeName","src":"88580:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"88579:16:13"},"scope":23231,"src":"88514:82:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22449,"nodeType":"StructuredDocumentation","src":"88602:96:13","text":"Creates a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"6ba3ba2b","id":22458,"implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"88712:10:13","nodeType":"FunctionDefinition","parameters":{"id":22454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22451,"mutability":"mutable","name":"urlOrAlias","nameLocation":"88739:10:13","nodeType":"VariableDeclaration","scope":22458,"src":"88723:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22450,"name":"string","nodeType":"ElementaryTypeName","src":"88723:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22453,"mutability":"mutable","name":"blockNumber","nameLocation":"88759:11:13","nodeType":"VariableDeclaration","scope":22458,"src":"88751:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22452,"name":"uint256","nodeType":"ElementaryTypeName","src":"88751:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"88722:49:13"},"returnParameters":{"id":22457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22456,"mutability":"mutable","name":"forkId","nameLocation":"88798:6:13","nodeType":"VariableDeclaration","scope":22458,"src":"88790:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22455,"name":"uint256","nodeType":"ElementaryTypeName","src":"88790:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"88789:16:13"},"scope":23231,"src":"88703:103:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22459,"nodeType":"StructuredDocumentation","src":"88812:214:13","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","id":22468,"implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"89040:10:13","nodeType":"FunctionDefinition","parameters":{"id":22464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22461,"mutability":"mutable","name":"urlOrAlias","nameLocation":"89067:10:13","nodeType":"VariableDeclaration","scope":22468,"src":"89051:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22460,"name":"string","nodeType":"ElementaryTypeName","src":"89051:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22463,"mutability":"mutable","name":"txHash","nameLocation":"89087:6:13","nodeType":"VariableDeclaration","scope":22468,"src":"89079:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89079:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89050:44:13"},"returnParameters":{"id":22467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22466,"mutability":"mutable","name":"forkId","nameLocation":"89121:6:13","nodeType":"VariableDeclaration","scope":22468,"src":"89113:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22465,"name":"uint256","nodeType":"ElementaryTypeName","src":"89113:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89112:16:13"},"scope":23231,"src":"89031:98:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22469,"nodeType":"StructuredDocumentation","src":"89135:124:13","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","id":22476,"implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"89273:16:13","nodeType":"FunctionDefinition","parameters":{"id":22472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22471,"mutability":"mutable","name":"urlOrAlias","nameLocation":"89306:10:13","nodeType":"VariableDeclaration","scope":22476,"src":"89290:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22470,"name":"string","nodeType":"ElementaryTypeName","src":"89290:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89289:28:13"},"returnParameters":{"id":22475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22474,"mutability":"mutable","name":"forkId","nameLocation":"89344:6:13","nodeType":"VariableDeclaration","scope":22476,"src":"89336:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22473,"name":"uint256","nodeType":"ElementaryTypeName","src":"89336:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89335:16:13"},"scope":23231,"src":"89264:88:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22477,"nodeType":"StructuredDocumentation","src":"89358:113:13","text":"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"71ee464d","id":22486,"implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"89485:16:13","nodeType":"FunctionDefinition","parameters":{"id":22482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22479,"mutability":"mutable","name":"urlOrAlias","nameLocation":"89518:10:13","nodeType":"VariableDeclaration","scope":22486,"src":"89502:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22478,"name":"string","nodeType":"ElementaryTypeName","src":"89502:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22481,"mutability":"mutable","name":"blockNumber","nameLocation":"89538:11:13","nodeType":"VariableDeclaration","scope":22486,"src":"89530:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22480,"name":"uint256","nodeType":"ElementaryTypeName","src":"89530:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89501:49:13"},"returnParameters":{"id":22485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22484,"mutability":"mutable","name":"forkId","nameLocation":"89577:6:13","nodeType":"VariableDeclaration","scope":22486,"src":"89569:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22483,"name":"uint256","nodeType":"ElementaryTypeName","src":"89569:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89568:16:13"},"scope":23231,"src":"89476:109:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22487,"nodeType":"StructuredDocumentation","src":"89591:225:13","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","id":22496,"implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"89830:16:13","nodeType":"FunctionDefinition","parameters":{"id":22492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22489,"mutability":"mutable","name":"urlOrAlias","nameLocation":"89863:10:13","nodeType":"VariableDeclaration","scope":22496,"src":"89847:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22488,"name":"string","nodeType":"ElementaryTypeName","src":"89847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22491,"mutability":"mutable","name":"txHash","nameLocation":"89883:6:13","nodeType":"VariableDeclaration","scope":22496,"src":"89875:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89875:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89846:44:13"},"returnParameters":{"id":22495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22494,"mutability":"mutable","name":"forkId","nameLocation":"89917:6:13","nodeType":"VariableDeclaration","scope":22496,"src":"89909:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22493,"name":"uint256","nodeType":"ElementaryTypeName","src":"89909:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89908:16:13"},"scope":23231,"src":"89821:104:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22497,"nodeType":"StructuredDocumentation","src":"89931:29:13","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","id":22504,"implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"89974:4:13","nodeType":"FunctionDefinition","parameters":{"id":22502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22499,"mutability":"mutable","name":"account","nameLocation":"89987:7:13","nodeType":"VariableDeclaration","scope":22504,"src":"89979:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22498,"name":"address","nodeType":"ElementaryTypeName","src":"89979:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22501,"mutability":"mutable","name":"newBalance","nameLocation":"90004:10:13","nodeType":"VariableDeclaration","scope":22504,"src":"89996:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22500,"name":"uint256","nodeType":"ElementaryTypeName","src":"89996:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89978:37:13"},"returnParameters":{"id":22503,"nodeType":"ParameterList","parameters":[],"src":"90024:0:13"},"scope":23231,"src":"89965:60:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22505,"nodeType":"StructuredDocumentation","src":"90031:227:13","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","id":22512,"implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshot","nameLocation":"90272:19:13","nodeType":"FunctionDefinition","parameters":{"id":22508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22507,"mutability":"mutable","name":"snapshotId","nameLocation":"90300:10:13","nodeType":"VariableDeclaration","scope":22512,"src":"90292:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22506,"name":"uint256","nodeType":"ElementaryTypeName","src":"90292:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"90291:20:13"},"returnParameters":{"id":22511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22510,"mutability":"mutable","name":"success","nameLocation":"90335:7:13","nodeType":"VariableDeclaration","scope":22512,"src":"90330:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22509,"name":"bool","nodeType":"ElementaryTypeName","src":"90330:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90329:14:13"},"scope":23231,"src":"90263:81:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22513,"nodeType":"StructuredDocumentation","src":"90350:61:13","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"e0933c74","id":22516,"implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshots","nameLocation":"90425:20:13","nodeType":"FunctionDefinition","parameters":{"id":22514,"nodeType":"ParameterList","parameters":[],"src":"90445:2:13"},"returnParameters":{"id":22515,"nodeType":"ParameterList","parameters":[],"src":"90456:0:13"},"scope":23231,"src":"90416:41:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22517,"nodeType":"StructuredDocumentation","src":"90463:165:13","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","id":22522,"implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"90642:10:13","nodeType":"FunctionDefinition","parameters":{"id":22520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22519,"mutability":"mutable","name":"newDifficulty","nameLocation":"90661:13:13","nodeType":"VariableDeclaration","scope":22522,"src":"90653:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22518,"name":"uint256","nodeType":"ElementaryTypeName","src":"90653:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"90652:23:13"},"returnParameters":{"id":22521,"nodeType":"ParameterList","parameters":[],"src":"90684:0:13"},"scope":23231,"src":"90633:52:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22523,"nodeType":"StructuredDocumentation","src":"90691:48:13","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","id":22528,"implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"90753:9:13","nodeType":"FunctionDefinition","parameters":{"id":22526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22525,"mutability":"mutable","name":"pathToStateJson","nameLocation":"90779:15:13","nodeType":"VariableDeclaration","scope":22528,"src":"90763:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22524,"name":"string","nodeType":"ElementaryTypeName","src":"90763:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90762:33:13"},"returnParameters":{"id":22527,"nodeType":"ParameterList","parameters":[],"src":"90804:0:13"},"scope":23231,"src":"90744:61:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22529,"nodeType":"StructuredDocumentation","src":"90811:26:13","text":"Sets an address' code."},"functionSelector":"b4d6c782","id":22536,"implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"90851:4:13","nodeType":"FunctionDefinition","parameters":{"id":22534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22531,"mutability":"mutable","name":"target","nameLocation":"90864:6:13","nodeType":"VariableDeclaration","scope":22536,"src":"90856:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22530,"name":"address","nodeType":"ElementaryTypeName","src":"90856:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22533,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"90887:18:13","nodeType":"VariableDeclaration","scope":22536,"src":"90872:33:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22532,"name":"bytes","nodeType":"ElementaryTypeName","src":"90872:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"90855:51:13"},"returnParameters":{"id":22535,"nodeType":"ParameterList","parameters":[],"src":"90915:0:13"},"scope":23231,"src":"90842:74:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22537,"nodeType":"StructuredDocumentation","src":"90922:25:13","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","id":22542,"implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"90961:3:13","nodeType":"FunctionDefinition","parameters":{"id":22540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22539,"mutability":"mutable","name":"newBasefee","nameLocation":"90973:10:13","nodeType":"VariableDeclaration","scope":22542,"src":"90965:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22538,"name":"uint256","nodeType":"ElementaryTypeName","src":"90965:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"90964:20:13"},"returnParameters":{"id":22541,"nodeType":"ParameterList","parameters":[],"src":"90993:0:13"},"scope":23231,"src":"90952:42:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22543,"nodeType":"StructuredDocumentation","src":"91000:167:13","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","id":22549,"implemented":false,"kind":"function","modifiers":[],"name":"getBlobhashes","nameLocation":"91181:13:13","nodeType":"FunctionDefinition","parameters":{"id":22544,"nodeType":"ParameterList","parameters":[],"src":"91194:2:13"},"returnParameters":{"id":22548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22547,"mutability":"mutable","name":"hashes","nameLocation":"91237:6:13","nodeType":"VariableDeclaration","scope":22549,"src":"91220:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":22545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91220:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":22546,"nodeType":"ArrayTypeName","src":"91220:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"91219:25:13"},"scope":23231,"src":"91172:73:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22550,"nodeType":"StructuredDocumentation","src":"91251:56:13","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","id":22557,"implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"91321:12:13","nodeType":"FunctionDefinition","parameters":{"id":22553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22552,"mutability":"mutable","name":"account","nameLocation":"91342:7:13","nodeType":"VariableDeclaration","scope":22557,"src":"91334:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22551,"name":"address","nodeType":"ElementaryTypeName","src":"91334:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"91333:17:13"},"returnParameters":{"id":22556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22555,"mutability":"mutable","name":"persistent","nameLocation":"91379:10:13","nodeType":"VariableDeclaration","scope":22557,"src":"91374:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22554,"name":"bool","nodeType":"ElementaryTypeName","src":"91374:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"91373:17:13"},"scope":23231,"src":"91312:79:13","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":22558,"nodeType":"StructuredDocumentation","src":"91397:69:13","text":"Load a genesis JSON file's `allocs` into the in-memory EVM state."},"functionSelector":"b3a056d7","id":22563,"implemented":false,"kind":"function","modifiers":[],"name":"loadAllocs","nameLocation":"91480:10:13","nodeType":"FunctionDefinition","parameters":{"id":22561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22560,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"91507:16:13","nodeType":"VariableDeclaration","scope":22563,"src":"91491:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22559,"name":"string","nodeType":"ElementaryTypeName","src":"91491:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91490:34:13"},"returnParameters":{"id":22562,"nodeType":"ParameterList","parameters":[],"src":"91533:0:13"},"scope":23231,"src":"91471:63:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22564,"nodeType":"StructuredDocumentation","src":"91540:192:13","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","id":22569,"implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"91746:14:13","nodeType":"FunctionDefinition","parameters":{"id":22567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22566,"mutability":"mutable","name":"account","nameLocation":"91769:7:13","nodeType":"VariableDeclaration","scope":22569,"src":"91761:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22565,"name":"address","nodeType":"ElementaryTypeName","src":"91761:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"91760:17:13"},"returnParameters":{"id":22568,"nodeType":"ParameterList","parameters":[],"src":"91786:0:13"},"scope":23231,"src":"91737:50:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22570,"nodeType":"StructuredDocumentation","src":"91793:34:13","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","id":22577,"implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"91841:14:13","nodeType":"FunctionDefinition","parameters":{"id":22575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22572,"mutability":"mutable","name":"account0","nameLocation":"91864:8:13","nodeType":"VariableDeclaration","scope":22577,"src":"91856:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22571,"name":"address","nodeType":"ElementaryTypeName","src":"91856:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22574,"mutability":"mutable","name":"account1","nameLocation":"91882:8:13","nodeType":"VariableDeclaration","scope":22577,"src":"91874:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22573,"name":"address","nodeType":"ElementaryTypeName","src":"91874:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"91855:36:13"},"returnParameters":{"id":22576,"nodeType":"ParameterList","parameters":[],"src":"91900:0:13"},"scope":23231,"src":"91832:69:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22578,"nodeType":"StructuredDocumentation","src":"91907:34:13","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","id":22587,"implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"91955:14:13","nodeType":"FunctionDefinition","parameters":{"id":22585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22580,"mutability":"mutable","name":"account0","nameLocation":"91978:8:13","nodeType":"VariableDeclaration","scope":22587,"src":"91970:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22579,"name":"address","nodeType":"ElementaryTypeName","src":"91970:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22582,"mutability":"mutable","name":"account1","nameLocation":"91996:8:13","nodeType":"VariableDeclaration","scope":22587,"src":"91988:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22581,"name":"address","nodeType":"ElementaryTypeName","src":"91988:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22584,"mutability":"mutable","name":"account2","nameLocation":"92014:8:13","nodeType":"VariableDeclaration","scope":22587,"src":"92006:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22583,"name":"address","nodeType":"ElementaryTypeName","src":"92006:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"91969:54:13"},"returnParameters":{"id":22586,"nodeType":"ParameterList","parameters":[],"src":"92032:0:13"},"scope":23231,"src":"91946:87:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22588,"nodeType":"StructuredDocumentation","src":"92039:34:13","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","id":22594,"implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"92087:14:13","nodeType":"FunctionDefinition","parameters":{"id":22592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22591,"mutability":"mutable","name":"accounts","nameLocation":"92121:8:13","nodeType":"VariableDeclaration","scope":22594,"src":"92102:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22589,"name":"address","nodeType":"ElementaryTypeName","src":"92102:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22590,"nodeType":"ArrayTypeName","src":"92102:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"92101:29:13"},"returnParameters":{"id":22593,"nodeType":"ParameterList","parameters":[],"src":"92139:0:13"},"scope":23231,"src":"92078:62:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22595,"nodeType":"StructuredDocumentation","src":"92146:60:13","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","id":22604,"implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"92220:14:13","nodeType":"FunctionDefinition","parameters":{"id":22602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22597,"mutability":"mutable","name":"callee","nameLocation":"92243:6:13","nodeType":"VariableDeclaration","scope":22604,"src":"92235:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22596,"name":"address","nodeType":"ElementaryTypeName","src":"92235:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22599,"mutability":"mutable","name":"data","nameLocation":"92266:4:13","nodeType":"VariableDeclaration","scope":22604,"src":"92251:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22598,"name":"bytes","nodeType":"ElementaryTypeName","src":"92251:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22601,"mutability":"mutable","name":"revertData","nameLocation":"92287:10:13","nodeType":"VariableDeclaration","scope":22604,"src":"92272:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22600,"name":"bytes","nodeType":"ElementaryTypeName","src":"92272:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"92234:64:13"},"returnParameters":{"id":22603,"nodeType":"ParameterList","parameters":[],"src":"92307:0:13"},"scope":23231,"src":"92211:97:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22605,"nodeType":"StructuredDocumentation","src":"92314:89:13","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"functionSelector":"d23cd037","id":22616,"implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"92417:14:13","nodeType":"FunctionDefinition","parameters":{"id":22614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22607,"mutability":"mutable","name":"callee","nameLocation":"92440:6:13","nodeType":"VariableDeclaration","scope":22616,"src":"92432:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22606,"name":"address","nodeType":"ElementaryTypeName","src":"92432:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22609,"mutability":"mutable","name":"msgValue","nameLocation":"92456:8:13","nodeType":"VariableDeclaration","scope":22616,"src":"92448:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22608,"name":"uint256","nodeType":"ElementaryTypeName","src":"92448:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22611,"mutability":"mutable","name":"data","nameLocation":"92481:4:13","nodeType":"VariableDeclaration","scope":22616,"src":"92466:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22610,"name":"bytes","nodeType":"ElementaryTypeName","src":"92466:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22613,"mutability":"mutable","name":"revertData","nameLocation":"92502:10:13","nodeType":"VariableDeclaration","scope":22616,"src":"92487:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22612,"name":"bytes","nodeType":"ElementaryTypeName","src":"92487:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"92431:82:13"},"returnParameters":{"id":22615,"nodeType":"ParameterList","parameters":[],"src":"92530:0:13"},"scope":23231,"src":"92408:123:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22617,"nodeType":"StructuredDocumentation","src":"92537:249:13","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","id":22626,"implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"92800:8:13","nodeType":"FunctionDefinition","parameters":{"id":22624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22619,"mutability":"mutable","name":"callee","nameLocation":"92817:6:13","nodeType":"VariableDeclaration","scope":22626,"src":"92809:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22618,"name":"address","nodeType":"ElementaryTypeName","src":"92809:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22621,"mutability":"mutable","name":"data","nameLocation":"92840:4:13","nodeType":"VariableDeclaration","scope":22626,"src":"92825:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22620,"name":"bytes","nodeType":"ElementaryTypeName","src":"92825:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22623,"mutability":"mutable","name":"returnData","nameLocation":"92861:10:13","nodeType":"VariableDeclaration","scope":22626,"src":"92846:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22622,"name":"bytes","nodeType":"ElementaryTypeName","src":"92846:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"92808:64:13"},"returnParameters":{"id":22625,"nodeType":"ParameterList","parameters":[],"src":"92881:0:13"},"scope":23231,"src":"92791:91:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22627,"nodeType":"StructuredDocumentation","src":"92888:164:13","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","id":22638,"implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"93066:8:13","nodeType":"FunctionDefinition","parameters":{"id":22636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22629,"mutability":"mutable","name":"callee","nameLocation":"93083:6:13","nodeType":"VariableDeclaration","scope":22638,"src":"93075:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22628,"name":"address","nodeType":"ElementaryTypeName","src":"93075:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22631,"mutability":"mutable","name":"msgValue","nameLocation":"93099:8:13","nodeType":"VariableDeclaration","scope":22638,"src":"93091:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22630,"name":"uint256","nodeType":"ElementaryTypeName","src":"93091:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22633,"mutability":"mutable","name":"data","nameLocation":"93124:4:13","nodeType":"VariableDeclaration","scope":22638,"src":"93109:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22632,"name":"bytes","nodeType":"ElementaryTypeName","src":"93109:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22635,"mutability":"mutable","name":"returnData","nameLocation":"93145:10:13","nodeType":"VariableDeclaration","scope":22638,"src":"93130:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22634,"name":"bytes","nodeType":"ElementaryTypeName","src":"93130:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"93074:82:13"},"returnParameters":{"id":22637,"nodeType":"ParameterList","parameters":[],"src":"93165:0:13"},"scope":23231,"src":"93057:109:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22639,"nodeType":"StructuredDocumentation","src":"93172:79:13","text":"Mocks multiple calls to an address, returning specified data for each call."},"functionSelector":"5c5c3de9","id":22649,"implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"93265:9:13","nodeType":"FunctionDefinition","parameters":{"id":22647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22641,"mutability":"mutable","name":"callee","nameLocation":"93283:6:13","nodeType":"VariableDeclaration","scope":22649,"src":"93275:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22640,"name":"address","nodeType":"ElementaryTypeName","src":"93275:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22643,"mutability":"mutable","name":"data","nameLocation":"93306:4:13","nodeType":"VariableDeclaration","scope":22649,"src":"93291:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22642,"name":"bytes","nodeType":"ElementaryTypeName","src":"93291:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22646,"mutability":"mutable","name":"returnData","nameLocation":"93329:10:13","nodeType":"VariableDeclaration","scope":22649,"src":"93312:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22644,"name":"bytes","nodeType":"ElementaryTypeName","src":"93312:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22645,"nodeType":"ArrayTypeName","src":"93312:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"93274:66:13"},"returnParameters":{"id":22648,"nodeType":"ParameterList","parameters":[],"src":"93349:0:13"},"scope":23231,"src":"93256:94:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22650,"nodeType":"StructuredDocumentation","src":"93356:107:13","text":"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call."},"functionSelector":"08bcbae1","id":22662,"implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"93477:9:13","nodeType":"FunctionDefinition","parameters":{"id":22660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22652,"mutability":"mutable","name":"callee","nameLocation":"93495:6:13","nodeType":"VariableDeclaration","scope":22662,"src":"93487:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22651,"name":"address","nodeType":"ElementaryTypeName","src":"93487:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22654,"mutability":"mutable","name":"msgValue","nameLocation":"93511:8:13","nodeType":"VariableDeclaration","scope":22662,"src":"93503:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22653,"name":"uint256","nodeType":"ElementaryTypeName","src":"93503:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22656,"mutability":"mutable","name":"data","nameLocation":"93536:4:13","nodeType":"VariableDeclaration","scope":22662,"src":"93521:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22655,"name":"bytes","nodeType":"ElementaryTypeName","src":"93521:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22659,"mutability":"mutable","name":"returnData","nameLocation":"93559:10:13","nodeType":"VariableDeclaration","scope":22662,"src":"93542:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":22657,"name":"bytes","nodeType":"ElementaryTypeName","src":"93542:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":22658,"nodeType":"ArrayTypeName","src":"93542:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"93486:84:13"},"returnParameters":{"id":22661,"nodeType":"ParameterList","parameters":[],"src":"93579:0:13"},"scope":23231,"src":"93468:112:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22663,"nodeType":"StructuredDocumentation","src":"93586:495:13","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","id":22672,"implemented":false,"kind":"function","modifiers":[],"name":"mockFunction","nameLocation":"94095:12:13","nodeType":"FunctionDefinition","parameters":{"id":22670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22665,"mutability":"mutable","name":"callee","nameLocation":"94116:6:13","nodeType":"VariableDeclaration","scope":22672,"src":"94108:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22664,"name":"address","nodeType":"ElementaryTypeName","src":"94108:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22667,"mutability":"mutable","name":"target","nameLocation":"94132:6:13","nodeType":"VariableDeclaration","scope":22672,"src":"94124:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22666,"name":"address","nodeType":"ElementaryTypeName","src":"94124:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22669,"mutability":"mutable","name":"data","nameLocation":"94155:4:13","nodeType":"VariableDeclaration","scope":22672,"src":"94140:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22668,"name":"bytes","nodeType":"ElementaryTypeName","src":"94140:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"94107:53:13"},"returnParameters":{"id":22671,"nodeType":"ParameterList","parameters":[],"src":"94169:0:13"},"scope":23231,"src":"94086:84:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22673,"nodeType":"StructuredDocumentation","src":"94176:64:13","text":"Sets the *next* call's `msg.sender` to be the input address."},"functionSelector":"ca669fa7","id":22678,"implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"94254:5:13","nodeType":"FunctionDefinition","parameters":{"id":22676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22675,"mutability":"mutable","name":"msgSender","nameLocation":"94268:9:13","nodeType":"VariableDeclaration","scope":22678,"src":"94260:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22674,"name":"address","nodeType":"ElementaryTypeName","src":"94260:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94259:19:13"},"returnParameters":{"id":22677,"nodeType":"ParameterList","parameters":[],"src":"94287:0:13"},"scope":23231,"src":"94245:43:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22679,"nodeType":"StructuredDocumentation","src":"94294:108:13","text":"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"47e50cce","id":22686,"implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"94416:5:13","nodeType":"FunctionDefinition","parameters":{"id":22684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22681,"mutability":"mutable","name":"msgSender","nameLocation":"94430:9:13","nodeType":"VariableDeclaration","scope":22686,"src":"94422:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22680,"name":"address","nodeType":"ElementaryTypeName","src":"94422:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22683,"mutability":"mutable","name":"txOrigin","nameLocation":"94449:8:13","nodeType":"VariableDeclaration","scope":22686,"src":"94441:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22682,"name":"address","nodeType":"ElementaryTypeName","src":"94441:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94421:37:13"},"returnParameters":{"id":22685,"nodeType":"ParameterList","parameters":[],"src":"94467:0:13"},"scope":23231,"src":"94407:61:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22687,"nodeType":"StructuredDocumentation","src":"94474:166:13","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","id":22692,"implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"94654:10:13","nodeType":"FunctionDefinition","parameters":{"id":22690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22689,"mutability":"mutable","name":"newPrevrandao","nameLocation":"94673:13:13","nodeType":"VariableDeclaration","scope":22692,"src":"94665:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"94665:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"94664:23:13"},"returnParameters":{"id":22691,"nodeType":"ParameterList","parameters":[],"src":"94696:0:13"},"scope":23231,"src":"94645:52:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22693,"nodeType":"StructuredDocumentation","src":"94703:166:13","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","id":22698,"implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"94883:10:13","nodeType":"FunctionDefinition","parameters":{"id":22696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22695,"mutability":"mutable","name":"newPrevrandao","nameLocation":"94902:13:13","nodeType":"VariableDeclaration","scope":22698,"src":"94894:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22694,"name":"uint256","nodeType":"ElementaryTypeName","src":"94894:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"94893:23:13"},"returnParameters":{"id":22697,"nodeType":"ParameterList","parameters":[],"src":"94925:0:13"},"scope":23231,"src":"94874:52:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22699,"nodeType":"StructuredDocumentation","src":"94932:117:13","text":"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification."},"functionSelector":"4ad0bac9","id":22709,"implemented":false,"kind":"function","modifiers":[],"name":"readCallers","nameLocation":"95063:11:13","nodeType":"FunctionDefinition","parameters":{"id":22700,"nodeType":"ParameterList","parameters":[],"src":"95074:2:13"},"returnParameters":{"id":22708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22703,"mutability":"mutable","name":"callerMode","nameLocation":"95106:10:13","nodeType":"VariableDeclaration","scope":22709,"src":"95095:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$18803","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":22702,"nodeType":"UserDefinedTypeName","pathNode":{"id":22701,"name":"CallerMode","nameLocations":["95095:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":18803,"src":"95095:10:13"},"referencedDeclaration":18803,"src":"95095:10:13","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$18803","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":22705,"mutability":"mutable","name":"msgSender","nameLocation":"95126:9:13","nodeType":"VariableDeclaration","scope":22709,"src":"95118:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22704,"name":"address","nodeType":"ElementaryTypeName","src":"95118:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22707,"mutability":"mutable","name":"txOrigin","nameLocation":"95145:8:13","nodeType":"VariableDeclaration","scope":22709,"src":"95137:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22706,"name":"address","nodeType":"ElementaryTypeName","src":"95137:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95094:60:13"},"scope":23231,"src":"95054:101:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22710,"nodeType":"StructuredDocumentation","src":"95161:77:13","text":"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts."},"functionSelector":"1c72346d","id":22715,"implemented":false,"kind":"function","modifiers":[],"name":"resetNonce","nameLocation":"95252:10:13","nodeType":"FunctionDefinition","parameters":{"id":22713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22712,"mutability":"mutable","name":"account","nameLocation":"95271:7:13","nodeType":"VariableDeclaration","scope":22715,"src":"95263:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22711,"name":"address","nodeType":"ElementaryTypeName","src":"95263:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95262:17:13"},"returnParameters":{"id":22714,"nodeType":"ParameterList","parameters":[],"src":"95288:0:13"},"scope":23231,"src":"95243:46:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22716,"nodeType":"StructuredDocumentation","src":"95295:337:13","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","id":22723,"implemented":false,"kind":"function","modifiers":[],"name":"revertToState","nameLocation":"95646:13:13","nodeType":"FunctionDefinition","parameters":{"id":22719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22718,"mutability":"mutable","name":"snapshotId","nameLocation":"95668:10:13","nodeType":"VariableDeclaration","scope":22723,"src":"95660:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22717,"name":"uint256","nodeType":"ElementaryTypeName","src":"95660:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"95659:20:13"},"returnParameters":{"id":22722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22721,"mutability":"mutable","name":"success","nameLocation":"95703:7:13","nodeType":"VariableDeclaration","scope":22723,"src":"95698:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22720,"name":"bool","nodeType":"ElementaryTypeName","src":"95698:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"95697:14:13"},"scope":23231,"src":"95637:75:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22724,"nodeType":"StructuredDocumentation","src":"95718:272:13","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","id":22731,"implemented":false,"kind":"function","modifiers":[],"name":"revertToStateAndDelete","nameLocation":"96004:22:13","nodeType":"FunctionDefinition","parameters":{"id":22727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22726,"mutability":"mutable","name":"snapshotId","nameLocation":"96035:10:13","nodeType":"VariableDeclaration","scope":22731,"src":"96027:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22725,"name":"uint256","nodeType":"ElementaryTypeName","src":"96027:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96026:20:13"},"returnParameters":{"id":22730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22729,"mutability":"mutable","name":"success","nameLocation":"96070:7:13","nodeType":"VariableDeclaration","scope":22731,"src":"96065:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22728,"name":"bool","nodeType":"ElementaryTypeName","src":"96065:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"96064:14:13"},"scope":23231,"src":"95995:84:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22732,"nodeType":"StructuredDocumentation","src":"96085:86:13","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","id":22737,"implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"96185:16:13","nodeType":"FunctionDefinition","parameters":{"id":22735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22734,"mutability":"mutable","name":"account","nameLocation":"96210:7:13","nodeType":"VariableDeclaration","scope":22737,"src":"96202:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22733,"name":"address","nodeType":"ElementaryTypeName","src":"96202:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"96201:17:13"},"returnParameters":{"id":22736,"nodeType":"ParameterList","parameters":[],"src":"96227:0:13"},"scope":23231,"src":"96176:52:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22738,"nodeType":"StructuredDocumentation","src":"96234:36:13","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","id":22744,"implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"96284:16:13","nodeType":"FunctionDefinition","parameters":{"id":22742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22741,"mutability":"mutable","name":"accounts","nameLocation":"96320:8:13","nodeType":"VariableDeclaration","scope":22744,"src":"96301:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":22739,"name":"address","nodeType":"ElementaryTypeName","src":"96301:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22740,"nodeType":"ArrayTypeName","src":"96301:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"96300:29:13"},"returnParameters":{"id":22743,"nodeType":"ParameterList","parameters":[],"src":"96338:0:13"},"scope":23231,"src":"96275:64:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22745,"nodeType":"StructuredDocumentation","src":"96345:24:13","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","id":22750,"implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"96383:4:13","nodeType":"FunctionDefinition","parameters":{"id":22748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22747,"mutability":"mutable","name":"newHeight","nameLocation":"96396:9:13","nodeType":"VariableDeclaration","scope":22750,"src":"96388:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22746,"name":"uint256","nodeType":"ElementaryTypeName","src":"96388:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96387:19:13"},"returnParameters":{"id":22749,"nodeType":"ParameterList","parameters":[],"src":"96415:0:13"},"scope":23231,"src":"96374:42:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22751,"nodeType":"StructuredDocumentation","src":"96422:128:13","text":"Updates the currently active fork to given block number\n This is similar to `roll` but for the currently active fork."},"functionSelector":"d9bbf3a1","id":22756,"implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"96564:8:13","nodeType":"FunctionDefinition","parameters":{"id":22754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22753,"mutability":"mutable","name":"blockNumber","nameLocation":"96581:11:13","nodeType":"VariableDeclaration","scope":22756,"src":"96573:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22752,"name":"uint256","nodeType":"ElementaryTypeName","src":"96573:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96572:21:13"},"returnParameters":{"id":22755,"nodeType":"ParameterList","parameters":[],"src":"96602:0:13"},"scope":23231,"src":"96555:48:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22757,"nodeType":"StructuredDocumentation","src":"96609:204:13","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","id":22762,"implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"96827:8:13","nodeType":"FunctionDefinition","parameters":{"id":22760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22759,"mutability":"mutable","name":"txHash","nameLocation":"96844:6:13","nodeType":"VariableDeclaration","scope":22762,"src":"96836:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96836:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"96835:16:13"},"returnParameters":{"id":22761,"nodeType":"ParameterList","parameters":[],"src":"96860:0:13"},"scope":23231,"src":"96818:43:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22763,"nodeType":"StructuredDocumentation","src":"96867:49:13","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","id":22770,"implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"96930:8:13","nodeType":"FunctionDefinition","parameters":{"id":22768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22765,"mutability":"mutable","name":"forkId","nameLocation":"96947:6:13","nodeType":"VariableDeclaration","scope":22770,"src":"96939:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22764,"name":"uint256","nodeType":"ElementaryTypeName","src":"96939:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22767,"mutability":"mutable","name":"blockNumber","nameLocation":"96963:11:13","nodeType":"VariableDeclaration","scope":22770,"src":"96955:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22766,"name":"uint256","nodeType":"ElementaryTypeName","src":"96955:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96938:37:13"},"returnParameters":{"id":22769,"nodeType":"ParameterList","parameters":[],"src":"96984:0:13"},"scope":23231,"src":"96921:64:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22771,"nodeType":"StructuredDocumentation","src":"96991:125:13","text":"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block."},"functionSelector":"f2830f7b","id":22778,"implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"97130:8:13","nodeType":"FunctionDefinition","parameters":{"id":22776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22773,"mutability":"mutable","name":"forkId","nameLocation":"97147:6:13","nodeType":"VariableDeclaration","scope":22778,"src":"97139:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22772,"name":"uint256","nodeType":"ElementaryTypeName","src":"97139:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22775,"mutability":"mutable","name":"txHash","nameLocation":"97163:6:13","nodeType":"VariableDeclaration","scope":22778,"src":"97155:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97155:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"97138:32:13"},"returnParameters":{"id":22777,"nodeType":"ParameterList","parameters":[],"src":"97179:0:13"},"scope":23231,"src":"97121:59:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22779,"nodeType":"StructuredDocumentation","src":"97186:102:13","text":"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active."},"functionSelector":"9ebf6827","id":22784,"implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"97302:10:13","nodeType":"FunctionDefinition","parameters":{"id":22782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22781,"mutability":"mutable","name":"forkId","nameLocation":"97321:6:13","nodeType":"VariableDeclaration","scope":22784,"src":"97313:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22780,"name":"uint256","nodeType":"ElementaryTypeName","src":"97313:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"97312:16:13"},"returnParameters":{"id":22783,"nodeType":"ParameterList","parameters":[],"src":"97337:0:13"},"scope":23231,"src":"97293:45:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22785,"nodeType":"StructuredDocumentation","src":"97344:139:13","text":"Set blockhash for the current block.\n It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`."},"functionSelector":"5314b54a","id":22792,"implemented":false,"kind":"function","modifiers":[],"name":"setBlockhash","nameLocation":"97497:12:13","nodeType":"FunctionDefinition","parameters":{"id":22790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22787,"mutability":"mutable","name":"blockNumber","nameLocation":"97518:11:13","nodeType":"VariableDeclaration","scope":22792,"src":"97510:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22786,"name":"uint256","nodeType":"ElementaryTypeName","src":"97510:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22789,"mutability":"mutable","name":"blockHash","nameLocation":"97539:9:13","nodeType":"VariableDeclaration","scope":22792,"src":"97531:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97531:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"97509:40:13"},"returnParameters":{"id":22791,"nodeType":"ParameterList","parameters":[],"src":"97558:0:13"},"scope":23231,"src":"97488:71:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22793,"nodeType":"StructuredDocumentation","src":"97565:87:13","text":"Sets the nonce of an account. Must be higher than the current nonce of the account."},"functionSelector":"f8e18b57","id":22800,"implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"97666:8:13","nodeType":"FunctionDefinition","parameters":{"id":22798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22795,"mutability":"mutable","name":"account","nameLocation":"97683:7:13","nodeType":"VariableDeclaration","scope":22800,"src":"97675:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22794,"name":"address","nodeType":"ElementaryTypeName","src":"97675:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22797,"mutability":"mutable","name":"newNonce","nameLocation":"97699:8:13","nodeType":"VariableDeclaration","scope":22800,"src":"97692:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22796,"name":"uint64","nodeType":"ElementaryTypeName","src":"97692:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"97674:34:13"},"returnParameters":{"id":22799,"nodeType":"ParameterList","parameters":[],"src":"97717:0:13"},"scope":23231,"src":"97657:61:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22801,"nodeType":"StructuredDocumentation","src":"97724:55:13","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","id":22808,"implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"97793:14:13","nodeType":"FunctionDefinition","parameters":{"id":22806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22803,"mutability":"mutable","name":"account","nameLocation":"97816:7:13","nodeType":"VariableDeclaration","scope":22808,"src":"97808:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22802,"name":"address","nodeType":"ElementaryTypeName","src":"97808:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22805,"mutability":"mutable","name":"newNonce","nameLocation":"97832:8:13","nodeType":"VariableDeclaration","scope":22808,"src":"97825:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22804,"name":"uint64","nodeType":"ElementaryTypeName","src":"97825:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"97807:34:13"},"returnParameters":{"id":22807,"nodeType":"ParameterList","parameters":[],"src":"97850:0:13"},"scope":23231,"src":"97784:67:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22809,"nodeType":"StructuredDocumentation","src":"97857:88:13","text":"Snapshot capture the gas usage of the last call by name from the callee perspective."},"functionSelector":"dd9fca12","id":22816,"implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"97959:19:13","nodeType":"FunctionDefinition","parameters":{"id":22812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22811,"mutability":"mutable","name":"name","nameLocation":"97995:4:13","nodeType":"VariableDeclaration","scope":22816,"src":"97979:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22810,"name":"string","nodeType":"ElementaryTypeName","src":"97979:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"97978:22:13"},"returnParameters":{"id":22815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22814,"mutability":"mutable","name":"gasUsed","nameLocation":"98027:7:13","nodeType":"VariableDeclaration","scope":22816,"src":"98019:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22813,"name":"uint256","nodeType":"ElementaryTypeName","src":"98019:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98018:17:13"},"scope":23231,"src":"97950:86:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22817,"nodeType":"StructuredDocumentation","src":"98042:99:13","text":"Snapshot capture the gas usage of the last call by name in a group from the callee perspective."},"functionSelector":"200c6772","id":22826,"implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"98155:19:13","nodeType":"FunctionDefinition","parameters":{"id":22822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22819,"mutability":"mutable","name":"group","nameLocation":"98191:5:13","nodeType":"VariableDeclaration","scope":22826,"src":"98175:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22818,"name":"string","nodeType":"ElementaryTypeName","src":"98175:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22821,"mutability":"mutable","name":"name","nameLocation":"98214:4:13","nodeType":"VariableDeclaration","scope":22826,"src":"98198:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22820,"name":"string","nodeType":"ElementaryTypeName","src":"98198:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98174:45:13"},"returnParameters":{"id":22825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22824,"mutability":"mutable","name":"gasUsed","nameLocation":"98246:7:13","nodeType":"VariableDeclaration","scope":22826,"src":"98238:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22823,"name":"uint256","nodeType":"ElementaryTypeName","src":"98238:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98237:17:13"},"scope":23231,"src":"98146:109:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22827,"nodeType":"StructuredDocumentation","src":"98261:149:13","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","id":22832,"implemented":false,"kind":"function","modifiers":[],"name":"snapshotState","nameLocation":"98424:13:13","nodeType":"FunctionDefinition","parameters":{"id":22828,"nodeType":"ParameterList","parameters":[],"src":"98437:2:13"},"returnParameters":{"id":22831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22830,"mutability":"mutable","name":"snapshotId","nameLocation":"98466:10:13","nodeType":"VariableDeclaration","scope":22832,"src":"98458:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22829,"name":"uint256","nodeType":"ElementaryTypeName","src":"98458:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98457:20:13"},"scope":23231,"src":"98415:63:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22833,"nodeType":"StructuredDocumentation","src":"98484:116:13","text":"Snapshot capture an arbitrary numerical value by name.\n The group name is derived from the contract name."},"functionSelector":"51db805a","id":22840,"implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"98614:13:13","nodeType":"FunctionDefinition","parameters":{"id":22838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22835,"mutability":"mutable","name":"name","nameLocation":"98644:4:13","nodeType":"VariableDeclaration","scope":22840,"src":"98628:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22834,"name":"string","nodeType":"ElementaryTypeName","src":"98628:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22837,"mutability":"mutable","name":"value","nameLocation":"98658:5:13","nodeType":"VariableDeclaration","scope":22840,"src":"98650:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22836,"name":"uint256","nodeType":"ElementaryTypeName","src":"98650:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98627:37:13"},"returnParameters":{"id":22839,"nodeType":"ParameterList","parameters":[],"src":"98673:0:13"},"scope":23231,"src":"98605:69:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22841,"nodeType":"StructuredDocumentation","src":"98680:69:13","text":"Snapshot capture an arbitrary numerical value by name in a group."},"functionSelector":"6d2b27d8","id":22850,"implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"98763:13:13","nodeType":"FunctionDefinition","parameters":{"id":22848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22843,"mutability":"mutable","name":"group","nameLocation":"98793:5:13","nodeType":"VariableDeclaration","scope":22850,"src":"98777:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22842,"name":"string","nodeType":"ElementaryTypeName","src":"98777:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22845,"mutability":"mutable","name":"name","nameLocation":"98816:4:13","nodeType":"VariableDeclaration","scope":22850,"src":"98800:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22844,"name":"string","nodeType":"ElementaryTypeName","src":"98800:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22847,"mutability":"mutable","name":"value","nameLocation":"98830:5:13","nodeType":"VariableDeclaration","scope":22850,"src":"98822:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22846,"name":"uint256","nodeType":"ElementaryTypeName","src":"98822:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"98776:60:13"},"returnParameters":{"id":22849,"nodeType":"ParameterList","parameters":[],"src":"98845:0:13"},"scope":23231,"src":"98754:92:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22851,"nodeType":"StructuredDocumentation","src":"98852:96:13","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"06447d56","id":22856,"implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"98962:10:13","nodeType":"FunctionDefinition","parameters":{"id":22854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22853,"mutability":"mutable","name":"msgSender","nameLocation":"98981:9:13","nodeType":"VariableDeclaration","scope":22856,"src":"98973:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22852,"name":"address","nodeType":"ElementaryTypeName","src":"98973:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"98972:19:13"},"returnParameters":{"id":22855,"nodeType":"ParameterList","parameters":[],"src":"99000:0:13"},"scope":23231,"src":"98953:48:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22857,"nodeType":"StructuredDocumentation","src":"99007:140:13","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","id":22864,"implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"99161:10:13","nodeType":"FunctionDefinition","parameters":{"id":22862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22859,"mutability":"mutable","name":"msgSender","nameLocation":"99180:9:13","nodeType":"VariableDeclaration","scope":22864,"src":"99172:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22858,"name":"address","nodeType":"ElementaryTypeName","src":"99172:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22861,"mutability":"mutable","name":"txOrigin","nameLocation":"99199:8:13","nodeType":"VariableDeclaration","scope":22864,"src":"99191:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22860,"name":"address","nodeType":"ElementaryTypeName","src":"99191:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99171:37:13"},"returnParameters":{"id":22863,"nodeType":"ParameterList","parameters":[],"src":"99217:0:13"},"scope":23231,"src":"99152:66:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22865,"nodeType":"StructuredDocumentation","src":"99224:120:13","text":"Start a snapshot capture of the current gas usage by name.\n The group name is derived from the contract name."},"functionSelector":"3cad9d7b","id":22870,"implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"99358:16:13","nodeType":"FunctionDefinition","parameters":{"id":22868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22867,"mutability":"mutable","name":"name","nameLocation":"99391:4:13","nodeType":"VariableDeclaration","scope":22870,"src":"99375:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22866,"name":"string","nodeType":"ElementaryTypeName","src":"99375:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"99374:22:13"},"returnParameters":{"id":22869,"nodeType":"ParameterList","parameters":[],"src":"99405:0:13"},"scope":23231,"src":"99349:57:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22871,"nodeType":"StructuredDocumentation","src":"99412:73:13","text":"Start a snapshot capture of the current gas usage by name in a group."},"functionSelector":"6cd0cc53","id":22878,"implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"99499:16:13","nodeType":"FunctionDefinition","parameters":{"id":22876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22873,"mutability":"mutable","name":"group","nameLocation":"99532:5:13","nodeType":"VariableDeclaration","scope":22878,"src":"99516:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22872,"name":"string","nodeType":"ElementaryTypeName","src":"99516:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22875,"mutability":"mutable","name":"name","nameLocation":"99555:4:13","nodeType":"VariableDeclaration","scope":22878,"src":"99539:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22874,"name":"string","nodeType":"ElementaryTypeName","src":"99539:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"99515:45:13"},"returnParameters":{"id":22877,"nodeType":"ParameterList","parameters":[],"src":"99569:0:13"},"scope":23231,"src":"99490:80:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22879,"nodeType":"StructuredDocumentation","src":"99576:64:13","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","id":22882,"implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"99654:9:13","nodeType":"FunctionDefinition","parameters":{"id":22880,"nodeType":"ParameterList","parameters":[],"src":"99663:2:13"},"returnParameters":{"id":22881,"nodeType":"ParameterList","parameters":[],"src":"99674:0:13"},"scope":23231,"src":"99645:30:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22883,"nodeType":"StructuredDocumentation","src":"99681:113:13","text":"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start."},"functionSelector":"f6402eda","id":22888,"implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"99808:15:13","nodeType":"FunctionDefinition","parameters":{"id":22884,"nodeType":"ParameterList","parameters":[],"src":"99823:2:13"},"returnParameters":{"id":22887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22886,"mutability":"mutable","name":"gasUsed","nameLocation":"99852:7:13","nodeType":"VariableDeclaration","scope":22888,"src":"99844:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22885,"name":"uint256","nodeType":"ElementaryTypeName","src":"99844:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"99843:17:13"},"scope":23231,"src":"99799:62:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22889,"nodeType":"StructuredDocumentation","src":"99867:161:13","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","id":22896,"implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"100042:15:13","nodeType":"FunctionDefinition","parameters":{"id":22892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22891,"mutability":"mutable","name":"name","nameLocation":"100074:4:13","nodeType":"VariableDeclaration","scope":22896,"src":"100058:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22890,"name":"string","nodeType":"ElementaryTypeName","src":"100058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"100057:22:13"},"returnParameters":{"id":22895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22894,"mutability":"mutable","name":"gasUsed","nameLocation":"100106:7:13","nodeType":"VariableDeclaration","scope":22896,"src":"100098:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22893,"name":"uint256","nodeType":"ElementaryTypeName","src":"100098:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100097:17:13"},"scope":23231,"src":"100033:82:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22897,"nodeType":"StructuredDocumentation","src":"100121:114:13","text":"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start."},"functionSelector":"0c9db707","id":22906,"implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"100249:15:13","nodeType":"FunctionDefinition","parameters":{"id":22902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22899,"mutability":"mutable","name":"group","nameLocation":"100281:5:13","nodeType":"VariableDeclaration","scope":22906,"src":"100265:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22898,"name":"string","nodeType":"ElementaryTypeName","src":"100265:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22901,"mutability":"mutable","name":"name","nameLocation":"100304:4:13","nodeType":"VariableDeclaration","scope":22906,"src":"100288:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":22900,"name":"string","nodeType":"ElementaryTypeName","src":"100288:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"100264:45:13"},"returnParameters":{"id":22905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22904,"mutability":"mutable","name":"gasUsed","nameLocation":"100336:7:13","nodeType":"VariableDeclaration","scope":22906,"src":"100328:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22903,"name":"uint256","nodeType":"ElementaryTypeName","src":"100328:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100327:17:13"},"scope":23231,"src":"100240:105:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22907,"nodeType":"StructuredDocumentation","src":"100351:47:13","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","id":22916,"implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"100412:5:13","nodeType":"FunctionDefinition","parameters":{"id":22914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22909,"mutability":"mutable","name":"target","nameLocation":"100426:6:13","nodeType":"VariableDeclaration","scope":22916,"src":"100418:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22908,"name":"address","nodeType":"ElementaryTypeName","src":"100418:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22911,"mutability":"mutable","name":"slot","nameLocation":"100442:4:13","nodeType":"VariableDeclaration","scope":22916,"src":"100434:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100434:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":22913,"mutability":"mutable","name":"value","nameLocation":"100456:5:13","nodeType":"VariableDeclaration","scope":22916,"src":"100448:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100448:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100417:45:13"},"returnParameters":{"id":22915,"nodeType":"ParameterList","parameters":[],"src":"100471:0:13"},"scope":23231,"src":"100403:69:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22917,"nodeType":"StructuredDocumentation","src":"100478:92:13","text":"Fetches the given transaction from the active fork and executes it on the current state."},"functionSelector":"be646da1","id":22922,"implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"100584:8:13","nodeType":"FunctionDefinition","parameters":{"id":22920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22919,"mutability":"mutable","name":"txHash","nameLocation":"100601:6:13","nodeType":"VariableDeclaration","scope":22922,"src":"100593:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100593:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100592:16:13"},"returnParameters":{"id":22921,"nodeType":"ParameterList","parameters":[],"src":"100617:0:13"},"scope":23231,"src":"100575:43:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22923,"nodeType":"StructuredDocumentation","src":"100624:91:13","text":"Fetches the given transaction from the given fork and executes it on the current state."},"functionSelector":"4d8abc4b","id":22930,"implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"100729:8:13","nodeType":"FunctionDefinition","parameters":{"id":22928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22925,"mutability":"mutable","name":"forkId","nameLocation":"100746:6:13","nodeType":"VariableDeclaration","scope":22930,"src":"100738:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22924,"name":"uint256","nodeType":"ElementaryTypeName","src":"100738:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22927,"mutability":"mutable","name":"txHash","nameLocation":"100762:6:13","nodeType":"VariableDeclaration","scope":22930,"src":"100754:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100754:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100737:32:13"},"returnParameters":{"id":22929,"nodeType":"ParameterList","parameters":[],"src":"100778:0:13"},"scope":23231,"src":"100720:59:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22931,"nodeType":"StructuredDocumentation","src":"100785:23:13","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","id":22936,"implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"100822:10:13","nodeType":"FunctionDefinition","parameters":{"id":22934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22933,"mutability":"mutable","name":"newGasPrice","nameLocation":"100841:11:13","nodeType":"VariableDeclaration","scope":22936,"src":"100833:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22932,"name":"uint256","nodeType":"ElementaryTypeName","src":"100833:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100832:21:13"},"returnParameters":{"id":22935,"nodeType":"ParameterList","parameters":[],"src":"100862:0:13"},"scope":23231,"src":"100813:50:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22937,"nodeType":"StructuredDocumentation","src":"100869:27:13","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","id":22942,"implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"100910:4:13","nodeType":"FunctionDefinition","parameters":{"id":22940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22939,"mutability":"mutable","name":"newTimestamp","nameLocation":"100923:12:13","nodeType":"VariableDeclaration","scope":22942,"src":"100915:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22938,"name":"uint256","nodeType":"ElementaryTypeName","src":"100915:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100914:22:13"},"returnParameters":{"id":22941,"nodeType":"ParameterList","parameters":[],"src":"100945:0:13"},"scope":23231,"src":"100901:45:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22943,"nodeType":"StructuredDocumentation","src":"100952:114:13","text":"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions."},"functionSelector":"a6368557","id":22950,"implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshot","nameLocation":"101080:14:13","nodeType":"FunctionDefinition","parameters":{"id":22946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22945,"mutability":"mutable","name":"snapshotId","nameLocation":"101103:10:13","nodeType":"VariableDeclaration","scope":22950,"src":"101095:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22944,"name":"uint256","nodeType":"ElementaryTypeName","src":"101095:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101094:20:13"},"returnParameters":{"id":22949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22948,"mutability":"mutable","name":"success","nameLocation":"101138:7:13","nodeType":"VariableDeclaration","scope":22950,"src":"101133:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22947,"name":"bool","nodeType":"ElementaryTypeName","src":"101133:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"101132:14:13"},"scope":23231,"src":"101071:76:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22951,"nodeType":"StructuredDocumentation","src":"101153:116:13","text":"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions."},"functionSelector":"421ae469","id":22954,"implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"101283:15:13","nodeType":"FunctionDefinition","parameters":{"id":22952,"nodeType":"ParameterList","parameters":[],"src":"101298:2:13"},"returnParameters":{"id":22953,"nodeType":"ParameterList","parameters":[],"src":"101309:0:13"},"scope":23231,"src":"101274:36:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22955,"nodeType":"StructuredDocumentation","src":"101316:120:13","text":"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions."},"functionSelector":"03e0aca9","id":22962,"implemented":false,"kind":"function","modifiers":[],"name":"revertToAndDelete","nameLocation":"101450:17:13","nodeType":"FunctionDefinition","parameters":{"id":22958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22957,"mutability":"mutable","name":"snapshotId","nameLocation":"101476:10:13","nodeType":"VariableDeclaration","scope":22962,"src":"101468:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22956,"name":"uint256","nodeType":"ElementaryTypeName","src":"101468:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101467:20:13"},"returnParameters":{"id":22961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22960,"mutability":"mutable","name":"success","nameLocation":"101511:7:13","nodeType":"VariableDeclaration","scope":22962,"src":"101506:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22959,"name":"bool","nodeType":"ElementaryTypeName","src":"101506:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"101505:14:13"},"scope":23231,"src":"101441:79:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22963,"nodeType":"StructuredDocumentation","src":"101526:102:13","text":"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions."},"functionSelector":"44d7f0a4","id":22970,"implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"101642:8:13","nodeType":"FunctionDefinition","parameters":{"id":22966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22965,"mutability":"mutable","name":"snapshotId","nameLocation":"101659:10:13","nodeType":"VariableDeclaration","scope":22970,"src":"101651:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22964,"name":"uint256","nodeType":"ElementaryTypeName","src":"101651:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101650:20:13"},"returnParameters":{"id":22969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22968,"mutability":"mutable","name":"success","nameLocation":"101694:7:13","nodeType":"VariableDeclaration","scope":22970,"src":"101689:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22967,"name":"bool","nodeType":"ElementaryTypeName","src":"101689:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"101688:14:13"},"scope":23231,"src":"101633:70:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22971,"nodeType":"StructuredDocumentation","src":"101709:102:13","text":"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions."},"functionSelector":"9711715a","id":22976,"implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"101825:8:13","nodeType":"FunctionDefinition","parameters":{"id":22972,"nodeType":"ParameterList","parameters":[],"src":"101833:2:13"},"returnParameters":{"id":22975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22974,"mutability":"mutable","name":"snapshotId","nameLocation":"101862:10:13","nodeType":"VariableDeclaration","scope":22976,"src":"101854:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22973,"name":"uint256","nodeType":"ElementaryTypeName","src":"101854:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101853:20:13"},"scope":23231,"src":"101816:58:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22977,"nodeType":"StructuredDocumentation","src":"101914:107:13","text":"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"08e4e116","id":22988,"implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"102035:16:13","nodeType":"FunctionDefinition","parameters":{"id":22986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22979,"mutability":"mutable","name":"callee","nameLocation":"102060:6:13","nodeType":"VariableDeclaration","scope":22988,"src":"102052:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22978,"name":"address","nodeType":"ElementaryTypeName","src":"102052:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22981,"mutability":"mutable","name":"msgValue","nameLocation":"102076:8:13","nodeType":"VariableDeclaration","scope":22988,"src":"102068:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22980,"name":"uint256","nodeType":"ElementaryTypeName","src":"102068:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22983,"mutability":"mutable","name":"minGas","nameLocation":"102093:6:13","nodeType":"VariableDeclaration","scope":22988,"src":"102086:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22982,"name":"uint64","nodeType":"ElementaryTypeName","src":"102086:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":22985,"mutability":"mutable","name":"data","nameLocation":"102116:4:13","nodeType":"VariableDeclaration","scope":22988,"src":"102101:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22984,"name":"bytes","nodeType":"ElementaryTypeName","src":"102101:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"102051:70:13"},"returnParameters":{"id":22987,"nodeType":"ParameterList","parameters":[],"src":"102130:0:13"},"scope":23231,"src":"102026:105:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":22989,"nodeType":"StructuredDocumentation","src":"102137:122:13","text":"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"e13a1834","id":23002,"implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"102273:16:13","nodeType":"FunctionDefinition","parameters":{"id":23000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22991,"mutability":"mutable","name":"callee","nameLocation":"102298:6:13","nodeType":"VariableDeclaration","scope":23002,"src":"102290:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22990,"name":"address","nodeType":"ElementaryTypeName","src":"102290:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22993,"mutability":"mutable","name":"msgValue","nameLocation":"102314:8:13","nodeType":"VariableDeclaration","scope":23002,"src":"102306:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22992,"name":"uint256","nodeType":"ElementaryTypeName","src":"102306:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22995,"mutability":"mutable","name":"minGas","nameLocation":"102331:6:13","nodeType":"VariableDeclaration","scope":23002,"src":"102324:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22994,"name":"uint64","nodeType":"ElementaryTypeName","src":"102324:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":22997,"mutability":"mutable","name":"data","nameLocation":"102354:4:13","nodeType":"VariableDeclaration","scope":23002,"src":"102339:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":22996,"name":"bytes","nodeType":"ElementaryTypeName","src":"102339:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":22999,"mutability":"mutable","name":"count","nameLocation":"102367:5:13","nodeType":"VariableDeclaration","scope":23002,"src":"102360:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":22998,"name":"uint64","nodeType":"ElementaryTypeName","src":"102360:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"102289:84:13"},"returnParameters":{"id":23001,"nodeType":"ParameterList","parameters":[],"src":"102390:0:13"},"scope":23231,"src":"102264:127:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23003,"nodeType":"StructuredDocumentation","src":"102397:121:13","text":"Expects a call to an address with the specified calldata.\n Calldata can either be a strict or a partial match."},"functionSelector":"bd6af434","id":23010,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"102532:10:13","nodeType":"FunctionDefinition","parameters":{"id":23008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23005,"mutability":"mutable","name":"callee","nameLocation":"102551:6:13","nodeType":"VariableDeclaration","scope":23010,"src":"102543:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23004,"name":"address","nodeType":"ElementaryTypeName","src":"102543:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23007,"mutability":"mutable","name":"data","nameLocation":"102574:4:13","nodeType":"VariableDeclaration","scope":23010,"src":"102559:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23006,"name":"bytes","nodeType":"ElementaryTypeName","src":"102559:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"102542:37:13"},"returnParameters":{"id":23009,"nodeType":"ParameterList","parameters":[],"src":"102588:0:13"},"scope":23231,"src":"102523:66:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23011,"nodeType":"StructuredDocumentation","src":"102595:76:13","text":"Expects given number of calls to an address with the specified calldata."},"functionSelector":"c1adbbff","id":23020,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"102685:10:13","nodeType":"FunctionDefinition","parameters":{"id":23018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23013,"mutability":"mutable","name":"callee","nameLocation":"102704:6:13","nodeType":"VariableDeclaration","scope":23020,"src":"102696:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23012,"name":"address","nodeType":"ElementaryTypeName","src":"102696:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23015,"mutability":"mutable","name":"data","nameLocation":"102727:4:13","nodeType":"VariableDeclaration","scope":23020,"src":"102712:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23014,"name":"bytes","nodeType":"ElementaryTypeName","src":"102712:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":23017,"mutability":"mutable","name":"count","nameLocation":"102740:5:13","nodeType":"VariableDeclaration","scope":23020,"src":"102733:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23016,"name":"uint64","nodeType":"ElementaryTypeName","src":"102733:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"102695:51:13"},"returnParameters":{"id":23019,"nodeType":"ParameterList","parameters":[],"src":"102755:0:13"},"scope":23231,"src":"102676:80:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23021,"nodeType":"StructuredDocumentation","src":"102762:77:13","text":"Expects a call to an address with the specified `msg.value` and calldata."},"functionSelector":"f30c7ba3","id":23030,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"102853:10:13","nodeType":"FunctionDefinition","parameters":{"id":23028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23023,"mutability":"mutable","name":"callee","nameLocation":"102872:6:13","nodeType":"VariableDeclaration","scope":23030,"src":"102864:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23022,"name":"address","nodeType":"ElementaryTypeName","src":"102864:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23025,"mutability":"mutable","name":"msgValue","nameLocation":"102888:8:13","nodeType":"VariableDeclaration","scope":23030,"src":"102880:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23024,"name":"uint256","nodeType":"ElementaryTypeName","src":"102880:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23027,"mutability":"mutable","name":"data","nameLocation":"102913:4:13","nodeType":"VariableDeclaration","scope":23030,"src":"102898:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23026,"name":"bytes","nodeType":"ElementaryTypeName","src":"102898:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"102863:55:13"},"returnParameters":{"id":23029,"nodeType":"ParameterList","parameters":[],"src":"102927:0:13"},"scope":23231,"src":"102844:84:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23031,"nodeType":"StructuredDocumentation","src":"102934:92:13","text":"Expects given number of calls to an address with the specified `msg.value` and calldata."},"functionSelector":"a2b1a1ae","id":23042,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"103040:10:13","nodeType":"FunctionDefinition","parameters":{"id":23040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23033,"mutability":"mutable","name":"callee","nameLocation":"103059:6:13","nodeType":"VariableDeclaration","scope":23042,"src":"103051:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23032,"name":"address","nodeType":"ElementaryTypeName","src":"103051:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23035,"mutability":"mutable","name":"msgValue","nameLocation":"103075:8:13","nodeType":"VariableDeclaration","scope":23042,"src":"103067:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23034,"name":"uint256","nodeType":"ElementaryTypeName","src":"103067:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23037,"mutability":"mutable","name":"data","nameLocation":"103100:4:13","nodeType":"VariableDeclaration","scope":23042,"src":"103085:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23036,"name":"bytes","nodeType":"ElementaryTypeName","src":"103085:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":23039,"mutability":"mutable","name":"count","nameLocation":"103113:5:13","nodeType":"VariableDeclaration","scope":23042,"src":"103106:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23038,"name":"uint64","nodeType":"ElementaryTypeName","src":"103106:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"103050:69:13"},"returnParameters":{"id":23041,"nodeType":"ParameterList","parameters":[],"src":"103128:0:13"},"scope":23231,"src":"103031:98:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23043,"nodeType":"StructuredDocumentation","src":"103135:82:13","text":"Expect a call to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"23361207","id":23054,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"103231:10:13","nodeType":"FunctionDefinition","parameters":{"id":23052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23045,"mutability":"mutable","name":"callee","nameLocation":"103250:6:13","nodeType":"VariableDeclaration","scope":23054,"src":"103242:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23044,"name":"address","nodeType":"ElementaryTypeName","src":"103242:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23047,"mutability":"mutable","name":"msgValue","nameLocation":"103266:8:13","nodeType":"VariableDeclaration","scope":23054,"src":"103258:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23046,"name":"uint256","nodeType":"ElementaryTypeName","src":"103258:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23049,"mutability":"mutable","name":"gas","nameLocation":"103283:3:13","nodeType":"VariableDeclaration","scope":23054,"src":"103276:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23048,"name":"uint64","nodeType":"ElementaryTypeName","src":"103276:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":23051,"mutability":"mutable","name":"data","nameLocation":"103303:4:13","nodeType":"VariableDeclaration","scope":23054,"src":"103288:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23050,"name":"bytes","nodeType":"ElementaryTypeName","src":"103288:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"103241:67:13"},"returnParameters":{"id":23053,"nodeType":"ParameterList","parameters":[],"src":"103317:0:13"},"scope":23231,"src":"103222:96:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23055,"nodeType":"StructuredDocumentation","src":"103324:98:13","text":"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"65b7b7cc","id":23068,"implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"103436:10:13","nodeType":"FunctionDefinition","parameters":{"id":23066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23057,"mutability":"mutable","name":"callee","nameLocation":"103455:6:13","nodeType":"VariableDeclaration","scope":23068,"src":"103447:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23056,"name":"address","nodeType":"ElementaryTypeName","src":"103447:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23059,"mutability":"mutable","name":"msgValue","nameLocation":"103471:8:13","nodeType":"VariableDeclaration","scope":23068,"src":"103463:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23058,"name":"uint256","nodeType":"ElementaryTypeName","src":"103463:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23061,"mutability":"mutable","name":"gas","nameLocation":"103488:3:13","nodeType":"VariableDeclaration","scope":23068,"src":"103481:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23060,"name":"uint64","nodeType":"ElementaryTypeName","src":"103481:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":23063,"mutability":"mutable","name":"data","nameLocation":"103508:4:13","nodeType":"VariableDeclaration","scope":23068,"src":"103493:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23062,"name":"bytes","nodeType":"ElementaryTypeName","src":"103493:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":23065,"mutability":"mutable","name":"count","nameLocation":"103521:5:13","nodeType":"VariableDeclaration","scope":23068,"src":"103514:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23064,"name":"uint64","nodeType":"ElementaryTypeName","src":"103514:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"103446:81:13"},"returnParameters":{"id":23067,"nodeType":"ParameterList","parameters":[],"src":"103536:0:13"},"scope":23231,"src":"103427:110:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23069,"nodeType":"StructuredDocumentation","src":"103543:348:13","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","id":23082,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"103905:19:13","nodeType":"FunctionDefinition","parameters":{"id":23080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23071,"mutability":"mutable","name":"checkTopic0","nameLocation":"103930:11:13","nodeType":"VariableDeclaration","scope":23082,"src":"103925:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23070,"name":"bool","nodeType":"ElementaryTypeName","src":"103925:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23073,"mutability":"mutable","name":"checkTopic1","nameLocation":"103948:11:13","nodeType":"VariableDeclaration","scope":23082,"src":"103943:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23072,"name":"bool","nodeType":"ElementaryTypeName","src":"103943:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23075,"mutability":"mutable","name":"checkTopic2","nameLocation":"103966:11:13","nodeType":"VariableDeclaration","scope":23082,"src":"103961:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23074,"name":"bool","nodeType":"ElementaryTypeName","src":"103961:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23077,"mutability":"mutable","name":"checkTopic3","nameLocation":"103984:11:13","nodeType":"VariableDeclaration","scope":23082,"src":"103979:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23076,"name":"bool","nodeType":"ElementaryTypeName","src":"103979:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23079,"mutability":"mutable","name":"checkData","nameLocation":"104002:9:13","nodeType":"VariableDeclaration","scope":23082,"src":"103997:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23078,"name":"bool","nodeType":"ElementaryTypeName","src":"103997:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"103924:88:13"},"returnParameters":{"id":23081,"nodeType":"ParameterList","parameters":[],"src":"104029:0:13"},"scope":23231,"src":"103896:134:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23083,"nodeType":"StructuredDocumentation","src":"104036:92:13","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"71c95899","id":23098,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"104142:19:13","nodeType":"FunctionDefinition","parameters":{"id":23096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23085,"mutability":"mutable","name":"checkTopic0","nameLocation":"104176:11:13","nodeType":"VariableDeclaration","scope":23098,"src":"104171:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23084,"name":"bool","nodeType":"ElementaryTypeName","src":"104171:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23087,"mutability":"mutable","name":"checkTopic1","nameLocation":"104202:11:13","nodeType":"VariableDeclaration","scope":23098,"src":"104197:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23086,"name":"bool","nodeType":"ElementaryTypeName","src":"104197:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23089,"mutability":"mutable","name":"checkTopic2","nameLocation":"104228:11:13","nodeType":"VariableDeclaration","scope":23098,"src":"104223:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23088,"name":"bool","nodeType":"ElementaryTypeName","src":"104223:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23091,"mutability":"mutable","name":"checkTopic3","nameLocation":"104254:11:13","nodeType":"VariableDeclaration","scope":23098,"src":"104249:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23090,"name":"bool","nodeType":"ElementaryTypeName","src":"104249:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23093,"mutability":"mutable","name":"checkData","nameLocation":"104280:9:13","nodeType":"VariableDeclaration","scope":23098,"src":"104275:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23092,"name":"bool","nodeType":"ElementaryTypeName","src":"104275:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23095,"mutability":"mutable","name":"emitter","nameLocation":"104307:7:13","nodeType":"VariableDeclaration","scope":23098,"src":"104299:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23094,"name":"address","nodeType":"ElementaryTypeName","src":"104299:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"104161:159:13"},"returnParameters":{"id":23097,"nodeType":"ParameterList","parameters":[],"src":"104329:0:13"},"scope":23231,"src":"104133:197:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23099,"nodeType":"StructuredDocumentation","src":"104336:279:13","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","id":23102,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"104629:19:13","nodeType":"FunctionDefinition","parameters":{"id":23100,"nodeType":"ParameterList","parameters":[],"src":"104648:2:13"},"returnParameters":{"id":23101,"nodeType":"ParameterList","parameters":[],"src":"104659:0:13"},"scope":23231,"src":"104620:40:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23103,"nodeType":"StructuredDocumentation","src":"104666:92:13","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"6fc68705","id":23108,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"104772:19:13","nodeType":"FunctionDefinition","parameters":{"id":23106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23105,"mutability":"mutable","name":"emitter","nameLocation":"104800:7:13","nodeType":"VariableDeclaration","scope":23108,"src":"104792:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23104,"name":"address","nodeType":"ElementaryTypeName","src":"104792:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"104791:17:13"},"returnParameters":{"id":23107,"nodeType":"ParameterList","parameters":[],"src":"104817:0:13"},"scope":23231,"src":"104763:55:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23109,"nodeType":"StructuredDocumentation","src":"104824:328:13","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","id":23120,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"105166:10:13","nodeType":"FunctionDefinition","parameters":{"id":23118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23111,"mutability":"mutable","name":"checkTopic1","nameLocation":"105182:11:13","nodeType":"VariableDeclaration","scope":23120,"src":"105177:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23110,"name":"bool","nodeType":"ElementaryTypeName","src":"105177:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23113,"mutability":"mutable","name":"checkTopic2","nameLocation":"105200:11:13","nodeType":"VariableDeclaration","scope":23120,"src":"105195:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23112,"name":"bool","nodeType":"ElementaryTypeName","src":"105195:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23115,"mutability":"mutable","name":"checkTopic3","nameLocation":"105218:11:13","nodeType":"VariableDeclaration","scope":23120,"src":"105213:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23114,"name":"bool","nodeType":"ElementaryTypeName","src":"105213:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23117,"mutability":"mutable","name":"checkData","nameLocation":"105236:9:13","nodeType":"VariableDeclaration","scope":23120,"src":"105231:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23116,"name":"bool","nodeType":"ElementaryTypeName","src":"105231:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"105176:70:13"},"returnParameters":{"id":23119,"nodeType":"ParameterList","parameters":[],"src":"105255:0:13"},"scope":23231,"src":"105157:99:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23121,"nodeType":"StructuredDocumentation","src":"105262:92:13","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"81bad6f3","id":23134,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"105368:10:13","nodeType":"FunctionDefinition","parameters":{"id":23132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23123,"mutability":"mutable","name":"checkTopic1","nameLocation":"105384:11:13","nodeType":"VariableDeclaration","scope":23134,"src":"105379:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23122,"name":"bool","nodeType":"ElementaryTypeName","src":"105379:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23125,"mutability":"mutable","name":"checkTopic2","nameLocation":"105402:11:13","nodeType":"VariableDeclaration","scope":23134,"src":"105397:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23124,"name":"bool","nodeType":"ElementaryTypeName","src":"105397:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23127,"mutability":"mutable","name":"checkTopic3","nameLocation":"105420:11:13","nodeType":"VariableDeclaration","scope":23134,"src":"105415:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23126,"name":"bool","nodeType":"ElementaryTypeName","src":"105415:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23129,"mutability":"mutable","name":"checkData","nameLocation":"105438:9:13","nodeType":"VariableDeclaration","scope":23134,"src":"105433:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23128,"name":"bool","nodeType":"ElementaryTypeName","src":"105433:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23131,"mutability":"mutable","name":"emitter","nameLocation":"105457:7:13","nodeType":"VariableDeclaration","scope":23134,"src":"105449:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23130,"name":"address","nodeType":"ElementaryTypeName","src":"105449:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"105378:87:13"},"returnParameters":{"id":23133,"nodeType":"ParameterList","parameters":[],"src":"105482:0:13"},"scope":23231,"src":"105359:124:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23135,"nodeType":"StructuredDocumentation","src":"105489:259:13","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","id":23138,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"105762:10:13","nodeType":"FunctionDefinition","parameters":{"id":23136,"nodeType":"ParameterList","parameters":[],"src":"105772:2:13"},"returnParameters":{"id":23137,"nodeType":"ParameterList","parameters":[],"src":"105783:0:13"},"scope":23231,"src":"105753:31:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23139,"nodeType":"StructuredDocumentation","src":"105790:92:13","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"86b9620d","id":23144,"implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"105896:10:13","nodeType":"FunctionDefinition","parameters":{"id":23142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23141,"mutability":"mutable","name":"emitter","nameLocation":"105915:7:13","nodeType":"VariableDeclaration","scope":23144,"src":"105907:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23140,"name":"address","nodeType":"ElementaryTypeName","src":"105907:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"105906:17:13"},"returnParameters":{"id":23143,"nodeType":"ParameterList","parameters":[],"src":"105932:0:13"},"scope":23231,"src":"105887:46:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23145,"nodeType":"StructuredDocumentation","src":"105939:67:13","text":"Expects an error on next call that starts with the revert data."},"functionSelector":"11fb5b9c","id":23150,"implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"106020:19:13","nodeType":"FunctionDefinition","parameters":{"id":23148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23147,"mutability":"mutable","name":"revertData","nameLocation":"106047:10:13","nodeType":"VariableDeclaration","scope":23150,"src":"106040:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":23146,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106040:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"106039:19:13"},"returnParameters":{"id":23149,"nodeType":"ParameterList","parameters":[],"src":"106067:0:13"},"scope":23231,"src":"106011:57:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23151,"nodeType":"StructuredDocumentation","src":"106074:88:13","text":"Expects an error on next call to reverter address, that starts with the revert data."},"functionSelector":"51aa008a","id":23158,"implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"106176:19:13","nodeType":"FunctionDefinition","parameters":{"id":23156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23153,"mutability":"mutable","name":"revertData","nameLocation":"106203:10:13","nodeType":"VariableDeclaration","scope":23158,"src":"106196:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":23152,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106196:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":23155,"mutability":"mutable","name":"reverter","nameLocation":"106223:8:13","nodeType":"VariableDeclaration","scope":23158,"src":"106215:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23154,"name":"address","nodeType":"ElementaryTypeName","src":"106215:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106195:37:13"},"returnParameters":{"id":23157,"nodeType":"ParameterList","parameters":[],"src":"106241:0:13"},"scope":23231,"src":"106167:75:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23159,"nodeType":"StructuredDocumentation","src":"106248:55:13","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","id":23162,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"106317:12:13","nodeType":"FunctionDefinition","parameters":{"id":23160,"nodeType":"ParameterList","parameters":[],"src":"106329:2:13"},"returnParameters":{"id":23161,"nodeType":"ParameterList","parameters":[],"src":"106340:0:13"},"scope":23231,"src":"106308:33:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23163,"nodeType":"StructuredDocumentation","src":"106347:71:13","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"c31eb0e0","id":23168,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"106432:12:13","nodeType":"FunctionDefinition","parameters":{"id":23166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23165,"mutability":"mutable","name":"revertData","nameLocation":"106452:10:13","nodeType":"VariableDeclaration","scope":23168,"src":"106445:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":23164,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106445:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"106444:19:13"},"returnParameters":{"id":23167,"nodeType":"ParameterList","parameters":[],"src":"106472:0:13"},"scope":23231,"src":"106423:50:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23169,"nodeType":"StructuredDocumentation","src":"106479:71:13","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"f28dceb3","id":23174,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"106564:12:13","nodeType":"FunctionDefinition","parameters":{"id":23172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23171,"mutability":"mutable","name":"revertData","nameLocation":"106592:10:13","nodeType":"VariableDeclaration","scope":23174,"src":"106577:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23170,"name":"bytes","nodeType":"ElementaryTypeName","src":"106577:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"106576:27:13"},"returnParameters":{"id":23173,"nodeType":"ParameterList","parameters":[],"src":"106612:0:13"},"scope":23231,"src":"106555:58:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23175,"nodeType":"StructuredDocumentation","src":"106619:75:13","text":"Expects an error with any revert data on next call to reverter address."},"functionSelector":"d814f38a","id":23180,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"106708:12:13","nodeType":"FunctionDefinition","parameters":{"id":23178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23177,"mutability":"mutable","name":"reverter","nameLocation":"106729:8:13","nodeType":"VariableDeclaration","scope":23180,"src":"106721:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23176,"name":"address","nodeType":"ElementaryTypeName","src":"106721:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106720:18:13"},"returnParameters":{"id":23179,"nodeType":"ParameterList","parameters":[],"src":"106747:0:13"},"scope":23231,"src":"106699:49:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23181,"nodeType":"StructuredDocumentation","src":"106754:78:13","text":"Expects an error from reverter address on next call, with any revert data."},"functionSelector":"260bc5de","id":23188,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"106846:12:13","nodeType":"FunctionDefinition","parameters":{"id":23186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23183,"mutability":"mutable","name":"revertData","nameLocation":"106866:10:13","nodeType":"VariableDeclaration","scope":23188,"src":"106859:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":23182,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106859:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":23185,"mutability":"mutable","name":"reverter","nameLocation":"106886:8:13","nodeType":"VariableDeclaration","scope":23188,"src":"106878:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23184,"name":"address","nodeType":"ElementaryTypeName","src":"106878:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"106858:37:13"},"returnParameters":{"id":23187,"nodeType":"ParameterList","parameters":[],"src":"106904:0:13"},"scope":23231,"src":"106837:68:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23189,"nodeType":"StructuredDocumentation","src":"106911:94:13","text":"Expects an error from reverter address on next call, that exactly matches the revert data."},"functionSelector":"61ebcf12","id":23196,"implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"107019:12:13","nodeType":"FunctionDefinition","parameters":{"id":23194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23191,"mutability":"mutable","name":"revertData","nameLocation":"107047:10:13","nodeType":"VariableDeclaration","scope":23196,"src":"107032:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":23190,"name":"bytes","nodeType":"ElementaryTypeName","src":"107032:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":23193,"mutability":"mutable","name":"reverter","nameLocation":"107067:8:13","nodeType":"VariableDeclaration","scope":23196,"src":"107059:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23192,"name":"address","nodeType":"ElementaryTypeName","src":"107059:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"107031:45:13"},"returnParameters":{"id":23195,"nodeType":"ParameterList","parameters":[],"src":"107085:0:13"},"scope":23231,"src":"107010:76:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23197,"nodeType":"StructuredDocumentation","src":"107092:218:13","text":"Only allows memory writes to offsets [0x00, 0x60) \u222a [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","id":23204,"implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemory","nameLocation":"107324:16:13","nodeType":"FunctionDefinition","parameters":{"id":23202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23199,"mutability":"mutable","name":"min","nameLocation":"107348:3:13","nodeType":"VariableDeclaration","scope":23204,"src":"107341:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23198,"name":"uint64","nodeType":"ElementaryTypeName","src":"107341:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":23201,"mutability":"mutable","name":"max","nameLocation":"107360:3:13","nodeType":"VariableDeclaration","scope":23204,"src":"107353:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23200,"name":"uint64","nodeType":"ElementaryTypeName","src":"107353:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"107340:24:13"},"returnParameters":{"id":23203,"nodeType":"ParameterList","parameters":[],"src":"107373:0:13"},"scope":23231,"src":"107315:59:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23205,"nodeType":"StructuredDocumentation","src":"107380:231:13","text":"Only allows memory writes to offsets [0x00, 0x60) \u222a [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","id":23212,"implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemoryCall","nameLocation":"107625:20:13","nodeType":"FunctionDefinition","parameters":{"id":23210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23207,"mutability":"mutable","name":"min","nameLocation":"107653:3:13","nodeType":"VariableDeclaration","scope":23212,"src":"107646:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23206,"name":"uint64","nodeType":"ElementaryTypeName","src":"107646:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":23209,"mutability":"mutable","name":"max","nameLocation":"107665:3:13","nodeType":"VariableDeclaration","scope":23212,"src":"107658:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":23208,"name":"uint64","nodeType":"ElementaryTypeName","src":"107658:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"107645:24:13"},"returnParameters":{"id":23211,"nodeType":"ParameterList","parameters":[],"src":"107678:0:13"},"scope":23231,"src":"107616:63:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23213,"nodeType":"StructuredDocumentation","src":"107685:71:13","text":"Marks a test as skipped. Must be called at the top level of a test."},"functionSelector":"dd82d13e","id":23218,"implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"107770:4:13","nodeType":"FunctionDefinition","parameters":{"id":23216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23215,"mutability":"mutable","name":"skipTest","nameLocation":"107780:8:13","nodeType":"VariableDeclaration","scope":23218,"src":"107775:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23214,"name":"bool","nodeType":"ElementaryTypeName","src":"107775:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"107774:15:13"},"returnParameters":{"id":23217,"nodeType":"ParameterList","parameters":[],"src":"107798:0:13"},"scope":23231,"src":"107761:38:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23219,"nodeType":"StructuredDocumentation","src":"107805:85:13","text":"Marks a test as skipped with a reason. Must be called at the top level of a test."},"functionSelector":"c42a80a7","id":23226,"implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"107904:4:13","nodeType":"FunctionDefinition","parameters":{"id":23224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23221,"mutability":"mutable","name":"skipTest","nameLocation":"107914:8:13","nodeType":"VariableDeclaration","scope":23226,"src":"107909:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23220,"name":"bool","nodeType":"ElementaryTypeName","src":"107909:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23223,"mutability":"mutable","name":"reason","nameLocation":"107940:6:13","nodeType":"VariableDeclaration","scope":23226,"src":"107924:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":23222,"name":"string","nodeType":"ElementaryTypeName","src":"107924:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"107908:39:13"},"returnParameters":{"id":23225,"nodeType":"ParameterList","parameters":[],"src":"107956:0:13"},"scope":23231,"src":"107895:62:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":23227,"nodeType":"StructuredDocumentation","src":"107963:64:13","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","id":23230,"implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"108041:20:13","nodeType":"FunctionDefinition","parameters":{"id":23228,"nodeType":"ParameterList","parameters":[],"src":"108061:2:13"},"returnParameters":{"id":23229,"nodeType":"ParameterList","parameters":[],"src":"108072:0:13"},"scope":23231,"src":"108032:41:13","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":23232,"src":"87294:20781:13","usedErrors":[],"usedEvents":[]}],"src":"117:107959:13"},"id":13},"v4-core/lib/forge-std/src/console.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/console.sol","exportedSymbols":{"console":[31347]},"id":31348,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":23233,"literals":["solidity",">=","0.4",".22","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:32:14"},{"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":31347,"linearizedBaseContracts":[31347],"name":"console","nameLocation":"74:7:14","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":23236,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:14","nodeType":"VariableDeclaration","scope":31347,"src":"88:85:14","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23234,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":23235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"body":{"id":23246,"nodeType":"Block","src":"255:388:14","statements":[{"assignments":[23242],"declarations":[{"constant":false,"id":23242,"mutability":"mutable","name":"consoleAddress","nameLocation":"273:14:14","nodeType":"VariableDeclaration","scope":23246,"src":"265:22:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23241,"name":"address","nodeType":"ElementaryTypeName","src":"265:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":23244,"initialValue":{"id":23243,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23236,"src":"290:15:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"265:40:14"},{"AST":{"nativeSrc":"367:270:14","nodeType":"YulBlock","src":"367:270:14","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"434:3:14","nodeType":"YulIdentifier","src":"434:3:14"},"nativeSrc":"434:5:14","nodeType":"YulFunctionCall","src":"434:5:14"},{"name":"consoleAddress","nativeSrc":"461:14:14","nodeType":"YulIdentifier","src":"461:14:14"},{"arguments":[{"name":"payload","nativeSrc":"501:7:14","nodeType":"YulIdentifier","src":"501:7:14"},{"kind":"number","nativeSrc":"510:2:14","nodeType":"YulLiteral","src":"510:2:14","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"497:3:14","nodeType":"YulIdentifier","src":"497:3:14"},"nativeSrc":"497:16:14","nodeType":"YulFunctionCall","src":"497:16:14"},{"arguments":[{"name":"payload","nativeSrc":"541:7:14","nodeType":"YulIdentifier","src":"541:7:14"}],"functionName":{"name":"mload","nativeSrc":"535:5:14","nodeType":"YulIdentifier","src":"535:5:14"},"nativeSrc":"535:14:14","nodeType":"YulFunctionCall","src":"535:14:14"},{"kind":"number","nativeSrc":"571:1:14","nodeType":"YulLiteral","src":"571:1:14","type":"","value":"0"},{"kind":"number","nativeSrc":"594:1:14","nodeType":"YulLiteral","src":"594:1:14","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"402:10:14","nodeType":"YulIdentifier","src":"402:10:14"},"nativeSrc":"402:211:14","nodeType":"YulFunctionCall","src":"402:211:14"}],"functionName":{"name":"pop","nativeSrc":"381:3:14","nodeType":"YulIdentifier","src":"381:3:14"},"nativeSrc":"381:246:14","nodeType":"YulFunctionCall","src":"381:246:14"},"nativeSrc":"381:246:14","nodeType":"YulExpressionStatement","src":"381:246:14"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":23242,"isOffset":false,"isSlot":false,"src":"461:14:14","valueSize":1},{"declaration":23238,"isOffset":false,"isSlot":false,"src":"501:7:14","valueSize":1},{"declaration":23238,"isOffset":false,"isSlot":false,"src":"541:7:14","valueSize":1}],"id":23245,"nodeType":"InlineAssembly","src":"358:279:14"}]},"id":23247,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadImplementation","nameLocation":"189:29:14","nodeType":"FunctionDefinition","parameters":{"id":23239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23238,"mutability":"mutable","name":"payload","nameLocation":"232:7:14","nodeType":"VariableDeclaration","scope":23247,"src":"219:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23237,"name":"bytes","nodeType":"ElementaryTypeName","src":"219:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"218:22:14"},"returnParameters":{"id":23240,"nodeType":"ParameterList","parameters":[],"src":"255:0:14"},"scope":31347,"src":"180:463:14","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":23263,"nodeType":"Block","src":"783:62:14","statements":[{"AST":{"nativeSrc":"802:37:14","nodeType":"YulBlock","src":"802:37:14","statements":[{"nativeSrc":"816:13:14","nodeType":"YulAssignment","src":"816:13:14","value":{"name":"fnIn","nativeSrc":"825:4:14","nodeType":"YulIdentifier","src":"825:4:14"},"variableNames":[{"name":"fnOut","nativeSrc":"816:5:14","nodeType":"YulIdentifier","src":"816:5:14"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":23253,"isOffset":false,"isSlot":false,"src":"825:4:14","valueSize":1},{"declaration":23260,"isOffset":false,"isSlot":false,"src":"816:5:14","valueSize":1}],"id":23262,"nodeType":"InlineAssembly","src":"793:46:14"}]},"id":23264,"implemented":true,"kind":"function","modifiers":[],"name":"_castToPure","nameLocation":"658:11:14","nodeType":"FunctionDefinition","parameters":{"id":23254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23253,"mutability":"mutable","name":"fnIn","nameLocation":"714:4:14","nodeType":"VariableDeclaration","scope":23264,"src":"677:41:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":23252,"nodeType":"FunctionTypeName","parameterTypes":{"id":23250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23249,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23252,"src":"686:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23248,"name":"bytes","nodeType":"ElementaryTypeName","src":"686:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"685:14:14"},"returnParameterTypes":{"id":23251,"nodeType":"ParameterList","parameters":[],"src":"714:0:14"},"src":"677:41:14","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"669:55:14"},"returnParameters":{"id":23261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23260,"mutability":"mutable","name":"fnOut","nameLocation":"776:5:14","nodeType":"VariableDeclaration","scope":23264,"src":"748:33:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":23259,"nodeType":"FunctionTypeName","parameterTypes":{"id":23257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23256,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":23259,"src":"757:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23255,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"756:14:14"},"returnParameterTypes":{"id":23258,"nodeType":"ParameterList","parameters":[],"src":"776:0:14"},"src":"748:33:14","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"747:35:14"},"scope":31347,"src":"649:196:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23275,"nodeType":"Block","src":"912:68:14","statements":[{"expression":{"arguments":[{"id":23272,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23266,"src":"965:7:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":23270,"name":"_sendLogPayloadImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23247,"src":"934:29:14","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":23269,"name":"_castToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23264,"src":"922:11:14","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":23271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23274,"nodeType":"ExpressionStatement","src":"922:51:14"}]},"id":23276,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"860:15:14","nodeType":"FunctionDefinition","parameters":{"id":23267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23266,"mutability":"mutable","name":"payload","nameLocation":"889:7:14","nodeType":"VariableDeclaration","scope":23276,"src":"876:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23265,"name":"bytes","nodeType":"ElementaryTypeName","src":"876:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"875:22:14"},"returnParameters":{"id":23268,"nodeType":"ParameterList","parameters":[],"src":"912:0:14"},"scope":31347,"src":"851:129:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23286,"nodeType":"Block","src":"1015:66:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":23282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1065:7:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":23280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1041:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1045:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1041:23:14","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":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23279,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1025:15:14","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":"1025:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23285,"nodeType":"ExpressionStatement","src":"1025:49:14"}]},"id":23287,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"995:3:14","nodeType":"FunctionDefinition","parameters":{"id":23277,"nodeType":"ParameterList","parameters":[],"src":"998:2:14"},"returnParameters":{"id":23278,"nodeType":"ParameterList","parameters":[],"src":"1015:0:14"},"scope":31347,"src":"986:95:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23300,"nodeType":"Block","src":"1128:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":23295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1178:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":23296,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23289,"src":"1193:2:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":23293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1154:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1158:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1154:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1154:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1138:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1138:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23299,"nodeType":"ExpressionStatement","src":"1138:59:14"}]},"id":23301,"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1096:6:14","nodeType":"FunctionDefinition","parameters":{"id":23290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23289,"mutability":"mutable","name":"p0","nameLocation":"1110:2:14","nodeType":"VariableDeclaration","scope":23301,"src":"1103:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":23288,"name":"int256","nodeType":"ElementaryTypeName","src":"1103:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1102:11:14"},"returnParameters":{"id":23291,"nodeType":"ParameterList","parameters":[],"src":"1128:0:14"},"scope":31347,"src":"1087:117:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23314,"nodeType":"Block","src":"1253:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":23309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1303:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":23310,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23303,"src":"1319:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23307,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1279:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1283:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1279:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23306,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1263:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1263:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23313,"nodeType":"ExpressionStatement","src":"1263:60:14"}]},"id":23315,"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1219:7:14","nodeType":"FunctionDefinition","parameters":{"id":23304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23303,"mutability":"mutable","name":"p0","nameLocation":"1235:2:14","nodeType":"VariableDeclaration","scope":23315,"src":"1227:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23302,"name":"uint256","nodeType":"ElementaryTypeName","src":"1227:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1226:12:14"},"returnParameters":{"id":23305,"nodeType":"ParameterList","parameters":[],"src":"1253:0:14"},"scope":31347,"src":"1210:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23328,"nodeType":"Block","src":"1387:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":23323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1437:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":23324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23317,"src":"1452:2:14","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":23321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1413:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1417:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1413:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1397:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1397:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23327,"nodeType":"ExpressionStatement","src":"1397:59:14"}]},"id":23329,"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1345:9:14","nodeType":"FunctionDefinition","parameters":{"id":23318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23317,"mutability":"mutable","name":"p0","nameLocation":"1369:2:14","nodeType":"VariableDeclaration","scope":23329,"src":"1355:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23316,"name":"string","nodeType":"ElementaryTypeName","src":"1355:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1354:18:14"},"returnParameters":{"id":23319,"nodeType":"ParameterList","parameters":[],"src":"1387:0:14"},"scope":31347,"src":"1336:127:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23342,"nodeType":"Block","src":"1509:74:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":23337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1559:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":23338,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23331,"src":"1572:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1535:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1539:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1535:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1535:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1519:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1519:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23341,"nodeType":"ExpressionStatement","src":"1519:57:14"}]},"id":23343,"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1478:7:14","nodeType":"FunctionDefinition","parameters":{"id":23332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23331,"mutability":"mutable","name":"p0","nameLocation":"1491:2:14","nodeType":"VariableDeclaration","scope":23343,"src":"1486:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23330,"name":"bool","nodeType":"ElementaryTypeName","src":"1486:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1485:9:14"},"returnParameters":{"id":23333,"nodeType":"ParameterList","parameters":[],"src":"1509:0:14"},"scope":31347,"src":"1469:114:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23356,"nodeType":"Block","src":"1635:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":23351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1685:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":23352,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23345,"src":"1701:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1661:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1665:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1661:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1661:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23348,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1645:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1645:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23355,"nodeType":"ExpressionStatement","src":"1645:60:14"}]},"id":23357,"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1598:10:14","nodeType":"FunctionDefinition","parameters":{"id":23346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23345,"mutability":"mutable","name":"p0","nameLocation":"1617:2:14","nodeType":"VariableDeclaration","scope":23357,"src":"1609:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23344,"name":"address","nodeType":"ElementaryTypeName","src":"1609:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1608:12:14"},"returnParameters":{"id":23347,"nodeType":"ParameterList","parameters":[],"src":"1635:0:14"},"scope":31347,"src":"1589:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23370,"nodeType":"Block","src":"1767:75:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":23365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:12:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":23366,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23359,"src":"1831:2:14","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":23363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1797:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1793:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1777:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23369,"nodeType":"ExpressionStatement","src":"1777:58:14"}]},"id":23371,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1727:8:14","nodeType":"FunctionDefinition","parameters":{"id":23360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23359,"mutability":"mutable","name":"p0","nameLocation":"1749:2:14","nodeType":"VariableDeclaration","scope":23371,"src":"1736:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":23358,"name":"bytes","nodeType":"ElementaryTypeName","src":"1736:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1735:17:14"},"returnParameters":{"id":23361,"nodeType":"ParameterList","parameters":[],"src":"1767:0:14"},"scope":31347,"src":"1718:124:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23384,"nodeType":"Block","src":"1892:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":23379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1942:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":23380,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23373,"src":"1957:2:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":23377,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1918:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1922:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1918:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23376,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"1902:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1902:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23383,"nodeType":"ExpressionStatement","src":"1902:59:14"}]},"id":23385,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1857:9:14","nodeType":"FunctionDefinition","parameters":{"id":23374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23373,"mutability":"mutable","name":"p0","nameLocation":"1874:2:14","nodeType":"VariableDeclaration","scope":23385,"src":"1867:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":23372,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1867:6:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1866:11:14"},"returnParameters":{"id":23375,"nodeType":"ParameterList","parameters":[],"src":"1892:0:14"},"scope":31347,"src":"1848:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23398,"nodeType":"Block","src":"2018:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":23393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2068:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":23394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23387,"src":"2083:2:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":23391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2044:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2048:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2044:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:42:14","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":23276,"src":"2028:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2028:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23397,"nodeType":"ExpressionStatement","src":"2028:59:14"}]},"id":23399,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1983:9:14","nodeType":"FunctionDefinition","parameters":{"id":23388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23387,"mutability":"mutable","name":"p0","nameLocation":"2000:2:14","nodeType":"VariableDeclaration","scope":23399,"src":"1993:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":23386,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1993:6:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1992:11:14"},"returnParameters":{"id":23389,"nodeType":"ParameterList","parameters":[],"src":"2018:0:14"},"scope":31347,"src":"1974:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23412,"nodeType":"Block","src":"2144:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":23407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2194:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":23408,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23401,"src":"2209:2:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":23405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2170:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2174:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2170:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23404,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2154:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23411,"nodeType":"ExpressionStatement","src":"2154:59:14"}]},"id":23413,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2109:9:14","nodeType":"FunctionDefinition","parameters":{"id":23402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23401,"mutability":"mutable","name":"p0","nameLocation":"2126:2:14","nodeType":"VariableDeclaration","scope":23413,"src":"2119:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":23400,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2119:6:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2118:11:14"},"returnParameters":{"id":23403,"nodeType":"ParameterList","parameters":[],"src":"2144:0:14"},"scope":31347,"src":"2100:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23426,"nodeType":"Block","src":"2270:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":23421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2320:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":23422,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23415,"src":"2335:2:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":23419,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2296:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2300:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2296:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23418,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2280:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2280:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23425,"nodeType":"ExpressionStatement","src":"2280:59:14"}]},"id":23427,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2235:9:14","nodeType":"FunctionDefinition","parameters":{"id":23416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23415,"mutability":"mutable","name":"p0","nameLocation":"2252:2:14","nodeType":"VariableDeclaration","scope":23427,"src":"2245:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":23414,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2245:6:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2244:11:14"},"returnParameters":{"id":23417,"nodeType":"ParameterList","parameters":[],"src":"2270:0:14"},"scope":31347,"src":"2226:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23440,"nodeType":"Block","src":"2396:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":23435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2446:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":23436,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23429,"src":"2461:2:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":23433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2422:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2426:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2422:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2422:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2406:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23439,"nodeType":"ExpressionStatement","src":"2406:59:14"}]},"id":23441,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2361:9:14","nodeType":"FunctionDefinition","parameters":{"id":23430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23429,"mutability":"mutable","name":"p0","nameLocation":"2378:2:14","nodeType":"VariableDeclaration","scope":23441,"src":"2371:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":23428,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2371:6:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2370:11:14"},"returnParameters":{"id":23431,"nodeType":"ParameterList","parameters":[],"src":"2396:0:14"},"scope":31347,"src":"2352:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23454,"nodeType":"Block","src":"2522:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":23449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2572:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":23450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23443,"src":"2587:2:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":23447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2548:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2552:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2548:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2532:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2532:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23453,"nodeType":"ExpressionStatement","src":"2532:59:14"}]},"id":23455,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2487:9:14","nodeType":"FunctionDefinition","parameters":{"id":23444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23443,"mutability":"mutable","name":"p0","nameLocation":"2504:2:14","nodeType":"VariableDeclaration","scope":23455,"src":"2497:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":23442,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2497:6:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2496:11:14"},"returnParameters":{"id":23445,"nodeType":"ParameterList","parameters":[],"src":"2522:0:14"},"scope":31347,"src":"2478:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23468,"nodeType":"Block","src":"2648:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":23463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2698:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":23464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23457,"src":"2713:2:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":23461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2674:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2678:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2674:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2658:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2658:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23467,"nodeType":"ExpressionStatement","src":"2658:59:14"}]},"id":23469,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2613:9:14","nodeType":"FunctionDefinition","parameters":{"id":23458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23457,"mutability":"mutable","name":"p0","nameLocation":"2630:2:14","nodeType":"VariableDeclaration","scope":23469,"src":"2623:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":23456,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2623:6:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2622:11:14"},"returnParameters":{"id":23459,"nodeType":"ParameterList","parameters":[],"src":"2648:0:14"},"scope":31347,"src":"2604:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23482,"nodeType":"Block","src":"2774:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":23477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2824:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":23478,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23471,"src":"2839:2:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":23475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2800:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2804:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2800:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23474,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2784:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2784:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23481,"nodeType":"ExpressionStatement","src":"2784:59:14"}]},"id":23483,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2739:9:14","nodeType":"FunctionDefinition","parameters":{"id":23472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23471,"mutability":"mutable","name":"p0","nameLocation":"2756:2:14","nodeType":"VariableDeclaration","scope":23483,"src":"2749:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":23470,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2749:6:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2748:11:14"},"returnParameters":{"id":23473,"nodeType":"ParameterList","parameters":[],"src":"2774:0:14"},"scope":31347,"src":"2730:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23496,"nodeType":"Block","src":"2900:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":23491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2950:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":23492,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23485,"src":"2965:2:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":23489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2926:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2930:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2926:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2926:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"2910:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23495,"nodeType":"ExpressionStatement","src":"2910:59:14"}]},"id":23497,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2865:9:14","nodeType":"FunctionDefinition","parameters":{"id":23486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23485,"mutability":"mutable","name":"p0","nameLocation":"2882:2:14","nodeType":"VariableDeclaration","scope":23497,"src":"2875:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":23484,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2875:6:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2874:11:14"},"returnParameters":{"id":23487,"nodeType":"ParameterList","parameters":[],"src":"2900:0:14"},"scope":31347,"src":"2856:120:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23510,"nodeType":"Block","src":"3028:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":23505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3078:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":23506,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23499,"src":"3094:2:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":23503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3054:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3058:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3054:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3054:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23502,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3038:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3038:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23509,"nodeType":"ExpressionStatement","src":"3038:60:14"}]},"id":23511,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2991:10:14","nodeType":"FunctionDefinition","parameters":{"id":23500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23499,"mutability":"mutable","name":"p0","nameLocation":"3010:2:14","nodeType":"VariableDeclaration","scope":23511,"src":"3002:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":23498,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3002:7:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3001:12:14"},"returnParameters":{"id":23501,"nodeType":"ParameterList","parameters":[],"src":"3028:0:14"},"scope":31347,"src":"2982:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23524,"nodeType":"Block","src":"3157:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":23519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3207:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":23520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23513,"src":"3223:2:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":23517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3183:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3187:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3183:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3167:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23523,"nodeType":"ExpressionStatement","src":"3167:60:14"}]},"id":23525,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3120:10:14","nodeType":"FunctionDefinition","parameters":{"id":23514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23513,"mutability":"mutable","name":"p0","nameLocation":"3139:2:14","nodeType":"VariableDeclaration","scope":23525,"src":"3131:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":23512,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3131:7:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3130:12:14"},"returnParameters":{"id":23515,"nodeType":"ParameterList","parameters":[],"src":"3157:0:14"},"scope":31347,"src":"3111:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23538,"nodeType":"Block","src":"3286:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":23533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3336:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":23534,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23527,"src":"3352:2:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":23531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3312:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3316:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3312:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3312:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3296:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3296:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23537,"nodeType":"ExpressionStatement","src":"3296:60:14"}]},"id":23539,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3249:10:14","nodeType":"FunctionDefinition","parameters":{"id":23528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23527,"mutability":"mutable","name":"p0","nameLocation":"3268:2:14","nodeType":"VariableDeclaration","scope":23539,"src":"3260:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":23526,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3260:7:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3259:12:14"},"returnParameters":{"id":23529,"nodeType":"ParameterList","parameters":[],"src":"3286:0:14"},"scope":31347,"src":"3240:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23552,"nodeType":"Block","src":"3415:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":23547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3465:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":23548,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23541,"src":"3481:2:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":23545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3441:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3445:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3441:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23544,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3425:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3425:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23551,"nodeType":"ExpressionStatement","src":"3425:60:14"}]},"id":23553,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3378:10:14","nodeType":"FunctionDefinition","parameters":{"id":23542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23541,"mutability":"mutable","name":"p0","nameLocation":"3397:2:14","nodeType":"VariableDeclaration","scope":23553,"src":"3389:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":23540,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3389:7:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3388:12:14"},"returnParameters":{"id":23543,"nodeType":"ParameterList","parameters":[],"src":"3415:0:14"},"scope":31347,"src":"3369:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23566,"nodeType":"Block","src":"3544:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":23561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3594:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":23562,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23555,"src":"3610:2:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":23559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3570:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3574:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3570:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3554:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23565,"nodeType":"ExpressionStatement","src":"3554:60:14"}]},"id":23567,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3507:10:14","nodeType":"FunctionDefinition","parameters":{"id":23556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23555,"mutability":"mutable","name":"p0","nameLocation":"3526:2:14","nodeType":"VariableDeclaration","scope":23567,"src":"3518:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":23554,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3518:7:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3517:12:14"},"returnParameters":{"id":23557,"nodeType":"ParameterList","parameters":[],"src":"3544:0:14"},"scope":31347,"src":"3498:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23580,"nodeType":"Block","src":"3673:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":23575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3723:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":23576,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23569,"src":"3739:2:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":23573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3699:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3703:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3699:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3683:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3683:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23579,"nodeType":"ExpressionStatement","src":"3683:60:14"}]},"id":23581,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3636:10:14","nodeType":"FunctionDefinition","parameters":{"id":23570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23569,"mutability":"mutable","name":"p0","nameLocation":"3655:2:14","nodeType":"VariableDeclaration","scope":23581,"src":"3647:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":23568,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3647:7:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3646:12:14"},"returnParameters":{"id":23571,"nodeType":"ParameterList","parameters":[],"src":"3673:0:14"},"scope":31347,"src":"3627:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23594,"nodeType":"Block","src":"3802:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":23589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3852:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":23590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23583,"src":"3868:2:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":23587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3828:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3832:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3828:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3828:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3812:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23593,"nodeType":"ExpressionStatement","src":"3812:60:14"}]},"id":23595,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3765:10:14","nodeType":"FunctionDefinition","parameters":{"id":23584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23583,"mutability":"mutable","name":"p0","nameLocation":"3784:2:14","nodeType":"VariableDeclaration","scope":23595,"src":"3776:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":23582,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3776:7:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3775:12:14"},"returnParameters":{"id":23585,"nodeType":"ParameterList","parameters":[],"src":"3802:0:14"},"scope":31347,"src":"3756:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23608,"nodeType":"Block","src":"3931:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":23603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3981:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":23604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23597,"src":"3997:2:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":23601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3957:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3961:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3957:23:14","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":"3957:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"3941:15:14","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":"3941:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23607,"nodeType":"ExpressionStatement","src":"3941:60:14"}]},"id":23609,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3894:10:14","nodeType":"FunctionDefinition","parameters":{"id":23598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23597,"mutability":"mutable","name":"p0","nameLocation":"3913:2:14","nodeType":"VariableDeclaration","scope":23609,"src":"3905:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":23596,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3905:7:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3904:12:14"},"returnParameters":{"id":23599,"nodeType":"ParameterList","parameters":[],"src":"3931:0:14"},"scope":31347,"src":"3885:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23622,"nodeType":"Block","src":"4060:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":23617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4110:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":23618,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23611,"src":"4126:2:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":23615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4086:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4090:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4086:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23614,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4070:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4070:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23621,"nodeType":"ExpressionStatement","src":"4070:60:14"}]},"id":23623,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4023:10:14","nodeType":"FunctionDefinition","parameters":{"id":23612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23611,"mutability":"mutable","name":"p0","nameLocation":"4042:2:14","nodeType":"VariableDeclaration","scope":23623,"src":"4034:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":23610,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4034:7:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4033:12:14"},"returnParameters":{"id":23613,"nodeType":"ParameterList","parameters":[],"src":"4060:0:14"},"scope":31347,"src":"4014:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23636,"nodeType":"Block","src":"4189:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":23631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4239:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":23632,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23625,"src":"4255:2:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":23629,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4215:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4219:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4215:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4215:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23628,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4199:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4199:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23635,"nodeType":"ExpressionStatement","src":"4199:60:14"}]},"id":23637,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4152:10:14","nodeType":"FunctionDefinition","parameters":{"id":23626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23625,"mutability":"mutable","name":"p0","nameLocation":"4171:2:14","nodeType":"VariableDeclaration","scope":23637,"src":"4163:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":23624,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4163:7:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4162:12:14"},"returnParameters":{"id":23627,"nodeType":"ParameterList","parameters":[],"src":"4189:0:14"},"scope":31347,"src":"4143:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23650,"nodeType":"Block","src":"4318:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":23645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4368:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":23646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23639,"src":"4384:2:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":23643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4344:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4348:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4344:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4344:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4328:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4328:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23649,"nodeType":"ExpressionStatement","src":"4328:60:14"}]},"id":23651,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4281:10:14","nodeType":"FunctionDefinition","parameters":{"id":23640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23639,"mutability":"mutable","name":"p0","nameLocation":"4300:2:14","nodeType":"VariableDeclaration","scope":23651,"src":"4292:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":23638,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4292:7:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4291:12:14"},"returnParameters":{"id":23641,"nodeType":"ParameterList","parameters":[],"src":"4318:0:14"},"scope":31347,"src":"4272:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23664,"nodeType":"Block","src":"4447:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":23659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4497:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":23660,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23653,"src":"4513:2:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":23657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4473:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4477:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4473:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4473:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23656,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4457:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4457:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23663,"nodeType":"ExpressionStatement","src":"4457:60:14"}]},"id":23665,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4410:10:14","nodeType":"FunctionDefinition","parameters":{"id":23654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23653,"mutability":"mutable","name":"p0","nameLocation":"4429:2:14","nodeType":"VariableDeclaration","scope":23665,"src":"4421:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":23652,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4421:7:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4420:12:14"},"returnParameters":{"id":23655,"nodeType":"ParameterList","parameters":[],"src":"4447:0:14"},"scope":31347,"src":"4401:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23678,"nodeType":"Block","src":"4576:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":23673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4626:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":23674,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23667,"src":"4642:2:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":23671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4602:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4606:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4602:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4602:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23670,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4586:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4586:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23677,"nodeType":"ExpressionStatement","src":"4586:60:14"}]},"id":23679,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4539:10:14","nodeType":"FunctionDefinition","parameters":{"id":23668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23667,"mutability":"mutable","name":"p0","nameLocation":"4558:2:14","nodeType":"VariableDeclaration","scope":23679,"src":"4550:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":23666,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4550:7:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4549:12:14"},"returnParameters":{"id":23669,"nodeType":"ParameterList","parameters":[],"src":"4576:0:14"},"scope":31347,"src":"4530:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23692,"nodeType":"Block","src":"4705:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":23687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4755:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":23688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23681,"src":"4771:2:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":23685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4731:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4735:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4731:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4731:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4715:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4715:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23691,"nodeType":"ExpressionStatement","src":"4715:60:14"}]},"id":23693,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4668:10:14","nodeType":"FunctionDefinition","parameters":{"id":23682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23681,"mutability":"mutable","name":"p0","nameLocation":"4687:2:14","nodeType":"VariableDeclaration","scope":23693,"src":"4679:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":23680,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4679:7:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4678:12:14"},"returnParameters":{"id":23683,"nodeType":"ParameterList","parameters":[],"src":"4705:0:14"},"scope":31347,"src":"4659:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23706,"nodeType":"Block","src":"4834:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":23701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4884:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":23702,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23695,"src":"4900:2:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":23699,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4860:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4864:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4860:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23698,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"4844:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23705,"nodeType":"ExpressionStatement","src":"4844:60:14"}]},"id":23707,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4797:10:14","nodeType":"FunctionDefinition","parameters":{"id":23696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23695,"mutability":"mutable","name":"p0","nameLocation":"4816:2:14","nodeType":"VariableDeclaration","scope":23707,"src":"4808:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":23694,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4808:7:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4807:12:14"},"returnParameters":{"id":23697,"nodeType":"ParameterList","parameters":[],"src":"4834:0:14"},"scope":31347,"src":"4788:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23720,"nodeType":"Block","src":"4963:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":23715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5013:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":23716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23709,"src":"5029:2:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":23713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4989:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4993:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4989:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:43:14","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":23276,"src":"4973:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4973:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23719,"nodeType":"ExpressionStatement","src":"4973:60:14"}]},"id":23721,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4926:10:14","nodeType":"FunctionDefinition","parameters":{"id":23710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23709,"mutability":"mutable","name":"p0","nameLocation":"4945:2:14","nodeType":"VariableDeclaration","scope":23721,"src":"4937:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":23708,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4937:7:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4936:12:14"},"returnParameters":{"id":23711,"nodeType":"ParameterList","parameters":[],"src":"4963:0:14"},"scope":31347,"src":"4917:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23734,"nodeType":"Block","src":"5092:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":23729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5142:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":23730,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23723,"src":"5158:2:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":23727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5118:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5122:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5118:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5118:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5102:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5102:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23733,"nodeType":"ExpressionStatement","src":"5102:60:14"}]},"id":23735,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5055:10:14","nodeType":"FunctionDefinition","parameters":{"id":23724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23723,"mutability":"mutable","name":"p0","nameLocation":"5074:2:14","nodeType":"VariableDeclaration","scope":23735,"src":"5066:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":23722,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5066:7:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5065:12:14"},"returnParameters":{"id":23725,"nodeType":"ParameterList","parameters":[],"src":"5092:0:14"},"scope":31347,"src":"5046:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23748,"nodeType":"Block","src":"5221:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":23743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5271:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":23744,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23737,"src":"5287:2:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":23741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5247:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5251:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5247:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5247:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5231:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5231:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23747,"nodeType":"ExpressionStatement","src":"5231:60:14"}]},"id":23749,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5184:10:14","nodeType":"FunctionDefinition","parameters":{"id":23738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23737,"mutability":"mutable","name":"p0","nameLocation":"5203:2:14","nodeType":"VariableDeclaration","scope":23749,"src":"5195:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":23736,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5195:7:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5194:12:14"},"returnParameters":{"id":23739,"nodeType":"ParameterList","parameters":[],"src":"5221:0:14"},"scope":31347,"src":"5175:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23762,"nodeType":"Block","src":"5350:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":23757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5400:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":23758,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23751,"src":"5416:2:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":23755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5376:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5380:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5376:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5376:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5360:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5360:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23761,"nodeType":"ExpressionStatement","src":"5360:60:14"}]},"id":23763,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5313:10:14","nodeType":"FunctionDefinition","parameters":{"id":23752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23751,"mutability":"mutable","name":"p0","nameLocation":"5332:2:14","nodeType":"VariableDeclaration","scope":23763,"src":"5324:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":23750,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5324:7:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5323:12:14"},"returnParameters":{"id":23753,"nodeType":"ParameterList","parameters":[],"src":"5350:0:14"},"scope":31347,"src":"5304:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23776,"nodeType":"Block","src":"5479:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":23771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5529:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":23772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23765,"src":"5545:2:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":23769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5505:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5509:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5505:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5505:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5489:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23775,"nodeType":"ExpressionStatement","src":"5489:60:14"}]},"id":23777,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5442:10:14","nodeType":"FunctionDefinition","parameters":{"id":23766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23765,"mutability":"mutable","name":"p0","nameLocation":"5461:2:14","nodeType":"VariableDeclaration","scope":23777,"src":"5453:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":23764,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5453:7:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5452:12:14"},"returnParameters":{"id":23767,"nodeType":"ParameterList","parameters":[],"src":"5479:0:14"},"scope":31347,"src":"5433:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23790,"nodeType":"Block","src":"5608:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":23785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5658:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":23786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23779,"src":"5674:2:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":23783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5634:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5638:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5634:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5634:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5618:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23789,"nodeType":"ExpressionStatement","src":"5618:60:14"}]},"id":23791,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5571:10:14","nodeType":"FunctionDefinition","parameters":{"id":23780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23779,"mutability":"mutable","name":"p0","nameLocation":"5590:2:14","nodeType":"VariableDeclaration","scope":23791,"src":"5582:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":23778,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5582:7:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5581:12:14"},"returnParameters":{"id":23781,"nodeType":"ParameterList","parameters":[],"src":"5608:0:14"},"scope":31347,"src":"5562:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23804,"nodeType":"Block","src":"5737:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":23799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5787:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":23800,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23793,"src":"5803:2:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":23797,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5763:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5767:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5763:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5763:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5747:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5747:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23803,"nodeType":"ExpressionStatement","src":"5747:60:14"}]},"id":23805,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5700:10:14","nodeType":"FunctionDefinition","parameters":{"id":23794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23793,"mutability":"mutable","name":"p0","nameLocation":"5719:2:14","nodeType":"VariableDeclaration","scope":23805,"src":"5711:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":23792,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5711:7:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5710:12:14"},"returnParameters":{"id":23795,"nodeType":"ParameterList","parameters":[],"src":"5737:0:14"},"scope":31347,"src":"5691:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23818,"nodeType":"Block","src":"5866:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":23813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5916:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":23814,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23807,"src":"5932:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":23811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5892:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5896:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5892:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5892:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5876:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23817,"nodeType":"ExpressionStatement","src":"5876:60:14"}]},"id":23819,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5829:10:14","nodeType":"FunctionDefinition","parameters":{"id":23808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23807,"mutability":"mutable","name":"p0","nameLocation":"5848:2:14","nodeType":"VariableDeclaration","scope":23819,"src":"5840:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":23806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5840:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5839:12:14"},"returnParameters":{"id":23809,"nodeType":"ParameterList","parameters":[],"src":"5866:0:14"},"scope":31347,"src":"5820:123:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23832,"nodeType":"Block","src":"5988:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":23827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6038:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":23828,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23821,"src":"6054:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6014:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6018:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6014:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6014:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23824,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"5998:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23831,"nodeType":"ExpressionStatement","src":"5998:60:14"}]},"id":23833,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5958:3:14","nodeType":"FunctionDefinition","parameters":{"id":23822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23821,"mutability":"mutable","name":"p0","nameLocation":"5970:2:14","nodeType":"VariableDeclaration","scope":23833,"src":"5962:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23820,"name":"uint256","nodeType":"ElementaryTypeName","src":"5962:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5961:12:14"},"returnParameters":{"id":23823,"nodeType":"ParameterList","parameters":[],"src":"5988:0:14"},"scope":31347,"src":"5949:116:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23846,"nodeType":"Block","src":"6109:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":23841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6159:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":23842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23835,"src":"6174:2:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":23839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6135:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6139:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6135:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6135:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6119:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6119:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23845,"nodeType":"ExpressionStatement","src":"6119:59:14"}]},"id":23847,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6080:3:14","nodeType":"FunctionDefinition","parameters":{"id":23836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23835,"mutability":"mutable","name":"p0","nameLocation":"6091:2:14","nodeType":"VariableDeclaration","scope":23847,"src":"6084:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":23834,"name":"int256","nodeType":"ElementaryTypeName","src":"6084:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6083:11:14"},"returnParameters":{"id":23837,"nodeType":"ParameterList","parameters":[],"src":"6109:0:14"},"scope":31347,"src":"6071:114:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23860,"nodeType":"Block","src":"6236:76:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":23855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6286:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":23856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23849,"src":"6301:2:14","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":23853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6262:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6266:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6262:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6262:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6246:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6246:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23859,"nodeType":"ExpressionStatement","src":"6246:59:14"}]},"id":23861,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6200:3:14","nodeType":"FunctionDefinition","parameters":{"id":23850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23849,"mutability":"mutable","name":"p0","nameLocation":"6218:2:14","nodeType":"VariableDeclaration","scope":23861,"src":"6204:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23848,"name":"string","nodeType":"ElementaryTypeName","src":"6204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6203:18:14"},"returnParameters":{"id":23851,"nodeType":"ParameterList","parameters":[],"src":"6236:0:14"},"scope":31347,"src":"6191:121:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23874,"nodeType":"Block","src":"6354:74:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":23869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":23870,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23863,"src":"6417:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23867,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6380:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6384:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6380:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6380:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23866,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6364:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6364:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23873,"nodeType":"ExpressionStatement","src":"6364:57:14"}]},"id":23875,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6327:3:14","nodeType":"FunctionDefinition","parameters":{"id":23864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23863,"mutability":"mutable","name":"p0","nameLocation":"6336:2:14","nodeType":"VariableDeclaration","scope":23875,"src":"6331:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23862,"name":"bool","nodeType":"ElementaryTypeName","src":"6331:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6330:9:14"},"returnParameters":{"id":23865,"nodeType":"ParameterList","parameters":[],"src":"6354:0:14"},"scope":31347,"src":"6318:110:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23888,"nodeType":"Block","src":"6473:77:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":23883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6523:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":23884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23877,"src":"6539:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6499:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6503:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6499:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6499:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6483:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23887,"nodeType":"ExpressionStatement","src":"6483:60:14"}]},"id":23889,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6443:3:14","nodeType":"FunctionDefinition","parameters":{"id":23878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23877,"mutability":"mutable","name":"p0","nameLocation":"6455:2:14","nodeType":"VariableDeclaration","scope":23889,"src":"6447:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23876,"name":"address","nodeType":"ElementaryTypeName","src":"6447:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6446:12:14"},"returnParameters":{"id":23879,"nodeType":"ParameterList","parameters":[],"src":"6473:0:14"},"scope":31347,"src":"6434:116:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23905,"nodeType":"Block","src":"6607:89:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":23899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6657:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":23900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23891,"src":"6681:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23893,"src":"6685:2:14","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":23897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6633:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6637:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6633:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6633:55:14","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":23276,"src":"6617:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6617:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23904,"nodeType":"ExpressionStatement","src":"6617:72:14"}]},"id":23906,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6565:3:14","nodeType":"FunctionDefinition","parameters":{"id":23894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23891,"mutability":"mutable","name":"p0","nameLocation":"6577:2:14","nodeType":"VariableDeclaration","scope":23906,"src":"6569:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23890,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23893,"mutability":"mutable","name":"p1","nameLocation":"6589:2:14","nodeType":"VariableDeclaration","scope":23906,"src":"6581:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23892,"name":"uint256","nodeType":"ElementaryTypeName","src":"6581:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6568:24:14"},"returnParameters":{"id":23895,"nodeType":"ParameterList","parameters":[],"src":"6607:0:14"},"scope":31347,"src":"6556:140:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23922,"nodeType":"Block","src":"6759:88:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":23916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6809:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":23917,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23908,"src":"6832:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23918,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23910,"src":"6836:2:14","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":23914,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6785:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6789:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6785:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6785:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6769:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23921,"nodeType":"ExpressionStatement","src":"6769:71:14"}]},"id":23923,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6711:3:14","nodeType":"FunctionDefinition","parameters":{"id":23911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23908,"mutability":"mutable","name":"p0","nameLocation":"6723:2:14","nodeType":"VariableDeclaration","scope":23923,"src":"6715:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23907,"name":"uint256","nodeType":"ElementaryTypeName","src":"6715:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23910,"mutability":"mutable","name":"p1","nameLocation":"6741:2:14","nodeType":"VariableDeclaration","scope":23923,"src":"6727:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23909,"name":"string","nodeType":"ElementaryTypeName","src":"6727:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6714:30:14"},"returnParameters":{"id":23912,"nodeType":"ParameterList","parameters":[],"src":"6759:0:14"},"scope":31347,"src":"6702:145:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23939,"nodeType":"Block","src":"6901:86:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":23933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6951:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":23934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23925,"src":"6972:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23927,"src":"6976:2:14","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":23931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6927:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6931:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6927:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6927:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"6911:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6911:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23938,"nodeType":"ExpressionStatement","src":"6911:69:14"}]},"id":23940,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6862:3:14","nodeType":"FunctionDefinition","parameters":{"id":23928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23925,"mutability":"mutable","name":"p0","nameLocation":"6874:2:14","nodeType":"VariableDeclaration","scope":23940,"src":"6866:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23924,"name":"uint256","nodeType":"ElementaryTypeName","src":"6866:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23927,"mutability":"mutable","name":"p1","nameLocation":"6883:2:14","nodeType":"VariableDeclaration","scope":23940,"src":"6878:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23926,"name":"bool","nodeType":"ElementaryTypeName","src":"6878:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6865:21:14"},"returnParameters":{"id":23929,"nodeType":"ParameterList","parameters":[],"src":"6901:0:14"},"scope":31347,"src":"6853:134:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23956,"nodeType":"Block","src":"7044:89:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":23950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7094:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":23951,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23942,"src":"7118:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23952,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23944,"src":"7122:2:14","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":23948,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7070:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7074:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7070:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7070:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7054:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23955,"nodeType":"ExpressionStatement","src":"7054:72:14"}]},"id":23957,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7002:3:14","nodeType":"FunctionDefinition","parameters":{"id":23945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23942,"mutability":"mutable","name":"p0","nameLocation":"7014:2:14","nodeType":"VariableDeclaration","scope":23957,"src":"7006:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23941,"name":"uint256","nodeType":"ElementaryTypeName","src":"7006:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23944,"mutability":"mutable","name":"p1","nameLocation":"7026:2:14","nodeType":"VariableDeclaration","scope":23957,"src":"7018:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23943,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7005:24:14"},"returnParameters":{"id":23946,"nodeType":"ParameterList","parameters":[],"src":"7044:0:14"},"scope":31347,"src":"6993:140:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23973,"nodeType":"Block","src":"7196:88:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":23967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7246:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":23968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23959,"src":"7269:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23961,"src":"7273:2:14","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":23965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7222:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7226:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7222:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7222:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7206:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7206:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23972,"nodeType":"ExpressionStatement","src":"7206:71:14"}]},"id":23974,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7148:3:14","nodeType":"FunctionDefinition","parameters":{"id":23962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23959,"mutability":"mutable","name":"p0","nameLocation":"7166:2:14","nodeType":"VariableDeclaration","scope":23974,"src":"7152:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23958,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23961,"mutability":"mutable","name":"p1","nameLocation":"7178:2:14","nodeType":"VariableDeclaration","scope":23974,"src":"7170:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23960,"name":"uint256","nodeType":"ElementaryTypeName","src":"7170:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7151:30:14"},"returnParameters":{"id":23963,"nodeType":"ParameterList","parameters":[],"src":"7196:0:14"},"scope":31347,"src":"7139:145:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":23990,"nodeType":"Block","src":"7346:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":23984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7396:20:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":23985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23976,"src":"7418:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23978,"src":"7422:2:14","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":23982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7372:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7376:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7372:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7372:53:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7356:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23989,"nodeType":"ExpressionStatement","src":"7356:70:14"}]},"id":23991,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7299:3:14","nodeType":"FunctionDefinition","parameters":{"id":23979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23976,"mutability":"mutable","name":"p0","nameLocation":"7317:2:14","nodeType":"VariableDeclaration","scope":23991,"src":"7303:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23975,"name":"string","nodeType":"ElementaryTypeName","src":"7303:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23978,"mutability":"mutable","name":"p1","nameLocation":"7328:2:14","nodeType":"VariableDeclaration","scope":23991,"src":"7321:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":23977,"name":"int256","nodeType":"ElementaryTypeName","src":"7321:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7302:29:14"},"returnParameters":{"id":23980,"nodeType":"ParameterList","parameters":[],"src":"7346:0:14"},"scope":31347,"src":"7290:143:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24007,"nodeType":"Block","src":"7502:87:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":24001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7552:20:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":24002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23993,"src":"7574:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23995,"src":"7578:2:14","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":23999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7528:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7532:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7528:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:53:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7512:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7512:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24006,"nodeType":"ExpressionStatement","src":"7512:70:14"}]},"id":24008,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7448:3:14","nodeType":"FunctionDefinition","parameters":{"id":23996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23993,"mutability":"mutable","name":"p0","nameLocation":"7466:2:14","nodeType":"VariableDeclaration","scope":24008,"src":"7452:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23992,"name":"string","nodeType":"ElementaryTypeName","src":"7452:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23995,"mutability":"mutable","name":"p1","nameLocation":"7484:2:14","nodeType":"VariableDeclaration","scope":24008,"src":"7470:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23994,"name":"string","nodeType":"ElementaryTypeName","src":"7470:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7451:36:14"},"returnParameters":{"id":23997,"nodeType":"ParameterList","parameters":[],"src":"7502:0:14"},"scope":31347,"src":"7439:150:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24024,"nodeType":"Block","src":"7649:85:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":24018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7699:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":24019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24010,"src":"7719:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24012,"src":"7723:2:14","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":24016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7675:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7679:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7675:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7675:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7659:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7659:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24023,"nodeType":"ExpressionStatement","src":"7659:68:14"}]},"id":24025,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7604:3:14","nodeType":"FunctionDefinition","parameters":{"id":24013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24010,"mutability":"mutable","name":"p0","nameLocation":"7622:2:14","nodeType":"VariableDeclaration","scope":24025,"src":"7608:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24009,"name":"string","nodeType":"ElementaryTypeName","src":"7608:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24012,"mutability":"mutable","name":"p1","nameLocation":"7631:2:14","nodeType":"VariableDeclaration","scope":24025,"src":"7626:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24011,"name":"bool","nodeType":"ElementaryTypeName","src":"7626:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7607:27:14"},"returnParameters":{"id":24014,"nodeType":"ParameterList","parameters":[],"src":"7649:0:14"},"scope":31347,"src":"7595:139:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24041,"nodeType":"Block","src":"7797:88:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":24035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7847:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":24036,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24027,"src":"7870:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24037,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24029,"src":"7874:2:14","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":24033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7823:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7827:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7823:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7823:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24032,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7807:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7807:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24040,"nodeType":"ExpressionStatement","src":"7807:71:14"}]},"id":24042,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7749:3:14","nodeType":"FunctionDefinition","parameters":{"id":24030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24027,"mutability":"mutable","name":"p0","nameLocation":"7767:2:14","nodeType":"VariableDeclaration","scope":24042,"src":"7753:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24026,"name":"string","nodeType":"ElementaryTypeName","src":"7753:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24029,"mutability":"mutable","name":"p1","nameLocation":"7779:2:14","nodeType":"VariableDeclaration","scope":24042,"src":"7771:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24028,"name":"address","nodeType":"ElementaryTypeName","src":"7771:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7752:30:14"},"returnParameters":{"id":24031,"nodeType":"ParameterList","parameters":[],"src":"7797:0:14"},"scope":31347,"src":"7740:145:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24058,"nodeType":"Block","src":"7939:86:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":24052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7989:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":24053,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24044,"src":"8010:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24054,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24046,"src":"8014:2:14","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":24050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7965:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7969:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7965:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7965:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"7949:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7949:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24057,"nodeType":"ExpressionStatement","src":"7949:69:14"}]},"id":24059,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7900:3:14","nodeType":"FunctionDefinition","parameters":{"id":24047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24044,"mutability":"mutable","name":"p0","nameLocation":"7909:2:14","nodeType":"VariableDeclaration","scope":24059,"src":"7904:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24043,"name":"bool","nodeType":"ElementaryTypeName","src":"7904:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24046,"mutability":"mutable","name":"p1","nameLocation":"7921:2:14","nodeType":"VariableDeclaration","scope":24059,"src":"7913:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24045,"name":"uint256","nodeType":"ElementaryTypeName","src":"7913:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7903:21:14"},"returnParameters":{"id":24048,"nodeType":"ParameterList","parameters":[],"src":"7939:0:14"},"scope":31347,"src":"7891:134:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24075,"nodeType":"Block","src":"8085:85:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":24069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8135:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":24070,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24061,"src":"8155:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24071,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24063,"src":"8159:2:14","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":24067,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8111:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8115:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8111:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8111:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24066,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8095:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8095:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24074,"nodeType":"ExpressionStatement","src":"8095:68:14"}]},"id":24076,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8040:3:14","nodeType":"FunctionDefinition","parameters":{"id":24064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24061,"mutability":"mutable","name":"p0","nameLocation":"8049:2:14","nodeType":"VariableDeclaration","scope":24076,"src":"8044:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24060,"name":"bool","nodeType":"ElementaryTypeName","src":"8044:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24063,"mutability":"mutable","name":"p1","nameLocation":"8067:2:14","nodeType":"VariableDeclaration","scope":24076,"src":"8053:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24062,"name":"string","nodeType":"ElementaryTypeName","src":"8053:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8043:27:14"},"returnParameters":{"id":24065,"nodeType":"ParameterList","parameters":[],"src":"8085:0:14"},"scope":31347,"src":"8031:139:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24092,"nodeType":"Block","src":"8221:83:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":24086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8271:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":24087,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24078,"src":"8289:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24088,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24080,"src":"8293:2:14","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":24084,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8247:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8251:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8247:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24083,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8231:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8231:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24091,"nodeType":"ExpressionStatement","src":"8231:66:14"}]},"id":24093,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8185:3:14","nodeType":"FunctionDefinition","parameters":{"id":24081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24078,"mutability":"mutable","name":"p0","nameLocation":"8194:2:14","nodeType":"VariableDeclaration","scope":24093,"src":"8189:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24077,"name":"bool","nodeType":"ElementaryTypeName","src":"8189:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24080,"mutability":"mutable","name":"p1","nameLocation":"8203:2:14","nodeType":"VariableDeclaration","scope":24093,"src":"8198:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24079,"name":"bool","nodeType":"ElementaryTypeName","src":"8198:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8188:18:14"},"returnParameters":{"id":24082,"nodeType":"ParameterList","parameters":[],"src":"8221:0:14"},"scope":31347,"src":"8176:128:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24109,"nodeType":"Block","src":"8358:86:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":24103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8408:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":24104,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24095,"src":"8429:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24105,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24097,"src":"8433:2:14","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":24101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8384:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8388:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8384:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24100,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8368:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8368:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24108,"nodeType":"ExpressionStatement","src":"8368:69:14"}]},"id":24110,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8319:3:14","nodeType":"FunctionDefinition","parameters":{"id":24098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24095,"mutability":"mutable","name":"p0","nameLocation":"8328:2:14","nodeType":"VariableDeclaration","scope":24110,"src":"8323:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24094,"name":"bool","nodeType":"ElementaryTypeName","src":"8323:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24097,"mutability":"mutable","name":"p1","nameLocation":"8340:2:14","nodeType":"VariableDeclaration","scope":24110,"src":"8332:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24096,"name":"address","nodeType":"ElementaryTypeName","src":"8332:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8322:21:14"},"returnParameters":{"id":24099,"nodeType":"ParameterList","parameters":[],"src":"8358:0:14"},"scope":31347,"src":"8310:134:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24126,"nodeType":"Block","src":"8501:89:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":24120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8551:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":24121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24112,"src":"8575:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24114,"src":"8579:2:14","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":24118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8527:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8531:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8527:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8527:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8511:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8511:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24125,"nodeType":"ExpressionStatement","src":"8511:72:14"}]},"id":24127,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8459:3:14","nodeType":"FunctionDefinition","parameters":{"id":24115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24112,"mutability":"mutable","name":"p0","nameLocation":"8471:2:14","nodeType":"VariableDeclaration","scope":24127,"src":"8463:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24111,"name":"address","nodeType":"ElementaryTypeName","src":"8463:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24114,"mutability":"mutable","name":"p1","nameLocation":"8483:2:14","nodeType":"VariableDeclaration","scope":24127,"src":"8475:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24113,"name":"uint256","nodeType":"ElementaryTypeName","src":"8475:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8462:24:14"},"returnParameters":{"id":24116,"nodeType":"ParameterList","parameters":[],"src":"8501:0:14"},"scope":31347,"src":"8450:140:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24143,"nodeType":"Block","src":"8653:88:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":24137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8703:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":24138,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24129,"src":"8726:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24139,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24131,"src":"8730:2:14","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":24135,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8679:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8683:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8679:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8679:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24134,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8663:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8663:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24142,"nodeType":"ExpressionStatement","src":"8663:71:14"}]},"id":24144,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8605:3:14","nodeType":"FunctionDefinition","parameters":{"id":24132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24129,"mutability":"mutable","name":"p0","nameLocation":"8617:2:14","nodeType":"VariableDeclaration","scope":24144,"src":"8609:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24128,"name":"address","nodeType":"ElementaryTypeName","src":"8609:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24131,"mutability":"mutable","name":"p1","nameLocation":"8635:2:14","nodeType":"VariableDeclaration","scope":24144,"src":"8621:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24130,"name":"string","nodeType":"ElementaryTypeName","src":"8621:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8608:30:14"},"returnParameters":{"id":24133,"nodeType":"ParameterList","parameters":[],"src":"8653:0:14"},"scope":31347,"src":"8596:145:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24160,"nodeType":"Block","src":"8795:86:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":24154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8845:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":24155,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24146,"src":"8866:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24156,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24148,"src":"8870:2:14","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":24152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8821:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8825:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8821:23:14","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":"8821:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24151,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8805:15:14","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":"8805:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24159,"nodeType":"ExpressionStatement","src":"8805:69:14"}]},"id":24161,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8756:3:14","nodeType":"FunctionDefinition","parameters":{"id":24149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24146,"mutability":"mutable","name":"p0","nameLocation":"8768:2:14","nodeType":"VariableDeclaration","scope":24161,"src":"8760:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24145,"name":"address","nodeType":"ElementaryTypeName","src":"8760:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24148,"mutability":"mutable","name":"p1","nameLocation":"8777:2:14","nodeType":"VariableDeclaration","scope":24161,"src":"8772:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24147,"name":"bool","nodeType":"ElementaryTypeName","src":"8772:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8759:21:14"},"returnParameters":{"id":24150,"nodeType":"ParameterList","parameters":[],"src":"8795:0:14"},"scope":31347,"src":"8747:134:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24177,"nodeType":"Block","src":"8938:89:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":24171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8988:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":24172,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24163,"src":"9012:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24173,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24165,"src":"9016:2:14","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":24169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8964:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8968:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8964:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8964:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24168,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"8948:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8948:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24176,"nodeType":"ExpressionStatement","src":"8948:72:14"}]},"id":24178,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8896:3:14","nodeType":"FunctionDefinition","parameters":{"id":24166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24163,"mutability":"mutable","name":"p0","nameLocation":"8908:2:14","nodeType":"VariableDeclaration","scope":24178,"src":"8900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24162,"name":"address","nodeType":"ElementaryTypeName","src":"8900:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24165,"mutability":"mutable","name":"p1","nameLocation":"8920:2:14","nodeType":"VariableDeclaration","scope":24178,"src":"8912:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24164,"name":"address","nodeType":"ElementaryTypeName","src":"8912:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8899:24:14"},"returnParameters":{"id":24167,"nodeType":"ParameterList","parameters":[],"src":"8938:0:14"},"scope":31347,"src":"8887:140:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24197,"nodeType":"Block","src":"9096:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":24190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9146:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":24191,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24180,"src":"9178:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24192,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24182,"src":"9182:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24193,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24184,"src":"9186:2:14","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":24188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9122:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9126:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9122:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9122:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24187,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"9106:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9106:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24196,"nodeType":"ExpressionStatement","src":"9106:84:14"}]},"id":24198,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9042:3:14","nodeType":"FunctionDefinition","parameters":{"id":24185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24180,"mutability":"mutable","name":"p0","nameLocation":"9054:2:14","nodeType":"VariableDeclaration","scope":24198,"src":"9046:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24179,"name":"uint256","nodeType":"ElementaryTypeName","src":"9046:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24182,"mutability":"mutable","name":"p1","nameLocation":"9066:2:14","nodeType":"VariableDeclaration","scope":24198,"src":"9058:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24181,"name":"uint256","nodeType":"ElementaryTypeName","src":"9058:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24184,"mutability":"mutable","name":"p2","nameLocation":"9078:2:14","nodeType":"VariableDeclaration","scope":24198,"src":"9070:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24183,"name":"uint256","nodeType":"ElementaryTypeName","src":"9070:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9045:36:14"},"returnParameters":{"id":24186,"nodeType":"ParameterList","parameters":[],"src":"9096:0:14"},"scope":31347,"src":"9033:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24217,"nodeType":"Block","src":"9272:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":24210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9322:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":24211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24200,"src":"9353:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24202,"src":"9357:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24204,"src":"9361:2:14","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":24208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9298:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9302:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9298:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9298:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24207,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"9282:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9282:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24216,"nodeType":"ExpressionStatement","src":"9282:83:14"}]},"id":24218,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9212:3:14","nodeType":"FunctionDefinition","parameters":{"id":24205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24200,"mutability":"mutable","name":"p0","nameLocation":"9224:2:14","nodeType":"VariableDeclaration","scope":24218,"src":"9216:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24199,"name":"uint256","nodeType":"ElementaryTypeName","src":"9216:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24202,"mutability":"mutable","name":"p1","nameLocation":"9236:2:14","nodeType":"VariableDeclaration","scope":24218,"src":"9228:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24201,"name":"uint256","nodeType":"ElementaryTypeName","src":"9228:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24204,"mutability":"mutable","name":"p2","nameLocation":"9254:2:14","nodeType":"VariableDeclaration","scope":24218,"src":"9240:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24203,"name":"string","nodeType":"ElementaryTypeName","src":"9240:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9215:42:14"},"returnParameters":{"id":24206,"nodeType":"ParameterList","parameters":[],"src":"9272:0:14"},"scope":31347,"src":"9203:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24237,"nodeType":"Block","src":"9438:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":24230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9488:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":24231,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24220,"src":"9517:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24232,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24222,"src":"9521:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24233,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24224,"src":"9525:2:14","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":24228,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9464:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9468:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9464:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9464:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24227,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"9448:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24236,"nodeType":"ExpressionStatement","src":"9448:81:14"}]},"id":24238,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9387:3:14","nodeType":"FunctionDefinition","parameters":{"id":24225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24220,"mutability":"mutable","name":"p0","nameLocation":"9399:2:14","nodeType":"VariableDeclaration","scope":24238,"src":"9391:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24219,"name":"uint256","nodeType":"ElementaryTypeName","src":"9391:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24222,"mutability":"mutable","name":"p1","nameLocation":"9411:2:14","nodeType":"VariableDeclaration","scope":24238,"src":"9403:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24221,"name":"uint256","nodeType":"ElementaryTypeName","src":"9403:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24224,"mutability":"mutable","name":"p2","nameLocation":"9420:2:14","nodeType":"VariableDeclaration","scope":24238,"src":"9415:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24223,"name":"bool","nodeType":"ElementaryTypeName","src":"9415:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9390:33:14"},"returnParameters":{"id":24226,"nodeType":"ParameterList","parameters":[],"src":"9438:0:14"},"scope":31347,"src":"9378:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24257,"nodeType":"Block","src":"9605:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":24250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9655:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":24251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24240,"src":"9687:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24252,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24242,"src":"9691:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24253,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"9695:2:14","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":24248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9631:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9635:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9631:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9631:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"9615:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24256,"nodeType":"ExpressionStatement","src":"9615:84:14"}]},"id":24258,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9551:3:14","nodeType":"FunctionDefinition","parameters":{"id":24245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24240,"mutability":"mutable","name":"p0","nameLocation":"9563:2:14","nodeType":"VariableDeclaration","scope":24258,"src":"9555:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24239,"name":"uint256","nodeType":"ElementaryTypeName","src":"9555:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24242,"mutability":"mutable","name":"p1","nameLocation":"9575:2:14","nodeType":"VariableDeclaration","scope":24258,"src":"9567:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24241,"name":"uint256","nodeType":"ElementaryTypeName","src":"9567:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24244,"mutability":"mutable","name":"p2","nameLocation":"9587:2:14","nodeType":"VariableDeclaration","scope":24258,"src":"9579:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24243,"name":"address","nodeType":"ElementaryTypeName","src":"9579:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9554:36:14"},"returnParameters":{"id":24246,"nodeType":"ParameterList","parameters":[],"src":"9605:0:14"},"scope":31347,"src":"9542:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24277,"nodeType":"Block","src":"9781:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":24270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9831:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":24271,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24260,"src":"9862:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24272,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24262,"src":"9866:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24273,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24264,"src":"9870:2:14","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":24268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9807:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9811:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9807:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9807:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"9791:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24276,"nodeType":"ExpressionStatement","src":"9791:83:14"}]},"id":24278,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9721:3:14","nodeType":"FunctionDefinition","parameters":{"id":24265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24260,"mutability":"mutable","name":"p0","nameLocation":"9733:2:14","nodeType":"VariableDeclaration","scope":24278,"src":"9725:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24259,"name":"uint256","nodeType":"ElementaryTypeName","src":"9725:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24262,"mutability":"mutable","name":"p1","nameLocation":"9751:2:14","nodeType":"VariableDeclaration","scope":24278,"src":"9737:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24261,"name":"string","nodeType":"ElementaryTypeName","src":"9737:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24264,"mutability":"mutable","name":"p2","nameLocation":"9763:2:14","nodeType":"VariableDeclaration","scope":24278,"src":"9755:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24263,"name":"uint256","nodeType":"ElementaryTypeName","src":"9755:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9724:42:14"},"returnParameters":{"id":24266,"nodeType":"ParameterList","parameters":[],"src":"9781:0:14"},"scope":31347,"src":"9712:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24297,"nodeType":"Block","src":"9962:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":24290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10012:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":24291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24280,"src":"10042:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24282,"src":"10046:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24284,"src":"10050:2:14","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":24288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9988:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9992:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9988:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9988:65:14","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":23276,"src":"9972:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9972:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24296,"nodeType":"ExpressionStatement","src":"9972:82:14"}]},"id":24298,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9896:3:14","nodeType":"FunctionDefinition","parameters":{"id":24285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24280,"mutability":"mutable","name":"p0","nameLocation":"9908:2:14","nodeType":"VariableDeclaration","scope":24298,"src":"9900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24279,"name":"uint256","nodeType":"ElementaryTypeName","src":"9900:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24282,"mutability":"mutable","name":"p1","nameLocation":"9926:2:14","nodeType":"VariableDeclaration","scope":24298,"src":"9912:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24281,"name":"string","nodeType":"ElementaryTypeName","src":"9912:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24284,"mutability":"mutable","name":"p2","nameLocation":"9944:2:14","nodeType":"VariableDeclaration","scope":24298,"src":"9930:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24283,"name":"string","nodeType":"ElementaryTypeName","src":"9930:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9899:48:14"},"returnParameters":{"id":24286,"nodeType":"ParameterList","parameters":[],"src":"9962:0:14"},"scope":31347,"src":"9887:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24317,"nodeType":"Block","src":"10133:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":24310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10183:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":24311,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24300,"src":"10211:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24312,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24302,"src":"10215:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24313,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24304,"src":"10219:2:14","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":24308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10159:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10163:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10159:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24307,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10143:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10143:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24316,"nodeType":"ExpressionStatement","src":"10143:80:14"}]},"id":24318,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10076:3:14","nodeType":"FunctionDefinition","parameters":{"id":24305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24300,"mutability":"mutable","name":"p0","nameLocation":"10088:2:14","nodeType":"VariableDeclaration","scope":24318,"src":"10080:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24299,"name":"uint256","nodeType":"ElementaryTypeName","src":"10080:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24302,"mutability":"mutable","name":"p1","nameLocation":"10106:2:14","nodeType":"VariableDeclaration","scope":24318,"src":"10092:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24301,"name":"string","nodeType":"ElementaryTypeName","src":"10092:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24304,"mutability":"mutable","name":"p2","nameLocation":"10115:2:14","nodeType":"VariableDeclaration","scope":24318,"src":"10110:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24303,"name":"bool","nodeType":"ElementaryTypeName","src":"10110:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10079:39:14"},"returnParameters":{"id":24306,"nodeType":"ParameterList","parameters":[],"src":"10133:0:14"},"scope":31347,"src":"10067:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24337,"nodeType":"Block","src":"10305:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":24330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10355:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":24331,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24320,"src":"10386:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24332,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24322,"src":"10390:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24333,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24324,"src":"10394:2:14","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":24328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10331:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10335:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10331:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10331:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10315:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24336,"nodeType":"ExpressionStatement","src":"10315:83:14"}]},"id":24338,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10245:3:14","nodeType":"FunctionDefinition","parameters":{"id":24325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24320,"mutability":"mutable","name":"p0","nameLocation":"10257:2:14","nodeType":"VariableDeclaration","scope":24338,"src":"10249:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24319,"name":"uint256","nodeType":"ElementaryTypeName","src":"10249:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24322,"mutability":"mutable","name":"p1","nameLocation":"10275:2:14","nodeType":"VariableDeclaration","scope":24338,"src":"10261:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24321,"name":"string","nodeType":"ElementaryTypeName","src":"10261:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24324,"mutability":"mutable","name":"p2","nameLocation":"10287:2:14","nodeType":"VariableDeclaration","scope":24338,"src":"10279:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24323,"name":"address","nodeType":"ElementaryTypeName","src":"10279:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10248:42:14"},"returnParameters":{"id":24326,"nodeType":"ParameterList","parameters":[],"src":"10305:0:14"},"scope":31347,"src":"10236:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24357,"nodeType":"Block","src":"10471:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":24350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10521:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":24351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24340,"src":"10550:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24352,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24342,"src":"10554:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24353,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24344,"src":"10558:2:14","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":24348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10497:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10501:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10497:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10497:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10481:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10481:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24356,"nodeType":"ExpressionStatement","src":"10481:81:14"}]},"id":24358,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10420:3:14","nodeType":"FunctionDefinition","parameters":{"id":24345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24340,"mutability":"mutable","name":"p0","nameLocation":"10432:2:14","nodeType":"VariableDeclaration","scope":24358,"src":"10424:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24339,"name":"uint256","nodeType":"ElementaryTypeName","src":"10424:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24342,"mutability":"mutable","name":"p1","nameLocation":"10441:2:14","nodeType":"VariableDeclaration","scope":24358,"src":"10436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24341,"name":"bool","nodeType":"ElementaryTypeName","src":"10436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24344,"mutability":"mutable","name":"p2","nameLocation":"10453:2:14","nodeType":"VariableDeclaration","scope":24358,"src":"10445:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24343,"name":"uint256","nodeType":"ElementaryTypeName","src":"10445:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10423:33:14"},"returnParameters":{"id":24346,"nodeType":"ParameterList","parameters":[],"src":"10471:0:14"},"scope":31347,"src":"10411:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24377,"nodeType":"Block","src":"10641:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":24370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10691:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":24371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24360,"src":"10719:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24362,"src":"10723:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24364,"src":"10727:2:14","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":24368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10667:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10671:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10667:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10667:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10651:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24376,"nodeType":"ExpressionStatement","src":"10651:80:14"}]},"id":24378,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10584:3:14","nodeType":"FunctionDefinition","parameters":{"id":24365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24360,"mutability":"mutable","name":"p0","nameLocation":"10596:2:14","nodeType":"VariableDeclaration","scope":24378,"src":"10588:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24359,"name":"uint256","nodeType":"ElementaryTypeName","src":"10588:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24362,"mutability":"mutable","name":"p1","nameLocation":"10605:2:14","nodeType":"VariableDeclaration","scope":24378,"src":"10600:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24361,"name":"bool","nodeType":"ElementaryTypeName","src":"10600:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24364,"mutability":"mutable","name":"p2","nameLocation":"10623:2:14","nodeType":"VariableDeclaration","scope":24378,"src":"10609:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24363,"name":"string","nodeType":"ElementaryTypeName","src":"10609:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10587:39:14"},"returnParameters":{"id":24366,"nodeType":"ParameterList","parameters":[],"src":"10641:0:14"},"scope":31347,"src":"10575:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24397,"nodeType":"Block","src":"10801:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":24390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10851:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":24391,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24380,"src":"10877:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24392,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24382,"src":"10881:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24393,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24384,"src":"10885:2:14","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":24388,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10827:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10831:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10827:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10827:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24387,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10811:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10811:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24396,"nodeType":"ExpressionStatement","src":"10811:78:14"}]},"id":24398,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10753:3:14","nodeType":"FunctionDefinition","parameters":{"id":24385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24380,"mutability":"mutable","name":"p0","nameLocation":"10765:2:14","nodeType":"VariableDeclaration","scope":24398,"src":"10757:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24379,"name":"uint256","nodeType":"ElementaryTypeName","src":"10757:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24382,"mutability":"mutable","name":"p1","nameLocation":"10774:2:14","nodeType":"VariableDeclaration","scope":24398,"src":"10769:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24381,"name":"bool","nodeType":"ElementaryTypeName","src":"10769:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24384,"mutability":"mutable","name":"p2","nameLocation":"10783:2:14","nodeType":"VariableDeclaration","scope":24398,"src":"10778:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24383,"name":"bool","nodeType":"ElementaryTypeName","src":"10778:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10756:30:14"},"returnParameters":{"id":24386,"nodeType":"ParameterList","parameters":[],"src":"10801:0:14"},"scope":31347,"src":"10744:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24417,"nodeType":"Block","src":"10962:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":24410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11012:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":24411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24400,"src":"11041:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24412,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24402,"src":"11045:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24413,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24404,"src":"11049:2:14","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":24408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10988:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10992:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10988:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10988:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"10972:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10972:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24416,"nodeType":"ExpressionStatement","src":"10972:81:14"}]},"id":24418,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10911:3:14","nodeType":"FunctionDefinition","parameters":{"id":24405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24400,"mutability":"mutable","name":"p0","nameLocation":"10923:2:14","nodeType":"VariableDeclaration","scope":24418,"src":"10915:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24399,"name":"uint256","nodeType":"ElementaryTypeName","src":"10915:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24402,"mutability":"mutable","name":"p1","nameLocation":"10932:2:14","nodeType":"VariableDeclaration","scope":24418,"src":"10927:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24401,"name":"bool","nodeType":"ElementaryTypeName","src":"10927:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24404,"mutability":"mutable","name":"p2","nameLocation":"10944:2:14","nodeType":"VariableDeclaration","scope":24418,"src":"10936:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24403,"name":"address","nodeType":"ElementaryTypeName","src":"10936:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10914:33:14"},"returnParameters":{"id":24406,"nodeType":"ParameterList","parameters":[],"src":"10962:0:14"},"scope":31347,"src":"10902:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24437,"nodeType":"Block","src":"11129:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":24430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11179:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":24431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24420,"src":"11211:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24432,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24422,"src":"11215:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24433,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24424,"src":"11219:2:14","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":24428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11155:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11159:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11155:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11155:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"11139:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11139:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24436,"nodeType":"ExpressionStatement","src":"11139:84:14"}]},"id":24438,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11075:3:14","nodeType":"FunctionDefinition","parameters":{"id":24425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24420,"mutability":"mutable","name":"p0","nameLocation":"11087:2:14","nodeType":"VariableDeclaration","scope":24438,"src":"11079:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24419,"name":"uint256","nodeType":"ElementaryTypeName","src":"11079:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24422,"mutability":"mutable","name":"p1","nameLocation":"11099:2:14","nodeType":"VariableDeclaration","scope":24438,"src":"11091:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24421,"name":"address","nodeType":"ElementaryTypeName","src":"11091:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24424,"mutability":"mutable","name":"p2","nameLocation":"11111:2:14","nodeType":"VariableDeclaration","scope":24438,"src":"11103:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24423,"name":"uint256","nodeType":"ElementaryTypeName","src":"11103:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11078:36:14"},"returnParameters":{"id":24426,"nodeType":"ParameterList","parameters":[],"src":"11129:0:14"},"scope":31347,"src":"11066:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24457,"nodeType":"Block","src":"11305:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":24450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11355:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":24451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24440,"src":"11386:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24442,"src":"11390:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24444,"src":"11394:2:14","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":24448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11331:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11335:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11331:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"11315:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11315:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24456,"nodeType":"ExpressionStatement","src":"11315:83:14"}]},"id":24458,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11245:3:14","nodeType":"FunctionDefinition","parameters":{"id":24445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24440,"mutability":"mutable","name":"p0","nameLocation":"11257:2:14","nodeType":"VariableDeclaration","scope":24458,"src":"11249:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24439,"name":"uint256","nodeType":"ElementaryTypeName","src":"11249:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24442,"mutability":"mutable","name":"p1","nameLocation":"11269:2:14","nodeType":"VariableDeclaration","scope":24458,"src":"11261:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24441,"name":"address","nodeType":"ElementaryTypeName","src":"11261:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24444,"mutability":"mutable","name":"p2","nameLocation":"11287:2:14","nodeType":"VariableDeclaration","scope":24458,"src":"11273:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24443,"name":"string","nodeType":"ElementaryTypeName","src":"11273:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11248:42:14"},"returnParameters":{"id":24446,"nodeType":"ParameterList","parameters":[],"src":"11305:0:14"},"scope":31347,"src":"11236:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24477,"nodeType":"Block","src":"11471:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":24470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11521:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":24471,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24460,"src":"11550:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24472,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24462,"src":"11554:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24473,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24464,"src":"11558:2:14","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":24468,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11497:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11501:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11497:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11497:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24467,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"11481:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11481:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24476,"nodeType":"ExpressionStatement","src":"11481:81:14"}]},"id":24478,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11420:3:14","nodeType":"FunctionDefinition","parameters":{"id":24465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24460,"mutability":"mutable","name":"p0","nameLocation":"11432:2:14","nodeType":"VariableDeclaration","scope":24478,"src":"11424:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24459,"name":"uint256","nodeType":"ElementaryTypeName","src":"11424:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24462,"mutability":"mutable","name":"p1","nameLocation":"11444:2:14","nodeType":"VariableDeclaration","scope":24478,"src":"11436:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24461,"name":"address","nodeType":"ElementaryTypeName","src":"11436:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24464,"mutability":"mutable","name":"p2","nameLocation":"11453:2:14","nodeType":"VariableDeclaration","scope":24478,"src":"11448:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24463,"name":"bool","nodeType":"ElementaryTypeName","src":"11448:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11423:33:14"},"returnParameters":{"id":24466,"nodeType":"ParameterList","parameters":[],"src":"11471:0:14"},"scope":31347,"src":"11411:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24497,"nodeType":"Block","src":"11638:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":24490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":24491,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24480,"src":"11720:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24492,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24482,"src":"11724:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24493,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24484,"src":"11728:2:14","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":24488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11668:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24487,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"11648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11648:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24496,"nodeType":"ExpressionStatement","src":"11648:84:14"}]},"id":24498,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11584:3:14","nodeType":"FunctionDefinition","parameters":{"id":24485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24480,"mutability":"mutable","name":"p0","nameLocation":"11596:2:14","nodeType":"VariableDeclaration","scope":24498,"src":"11588:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24479,"name":"uint256","nodeType":"ElementaryTypeName","src":"11588:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24482,"mutability":"mutable","name":"p1","nameLocation":"11608:2:14","nodeType":"VariableDeclaration","scope":24498,"src":"11600:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24481,"name":"address","nodeType":"ElementaryTypeName","src":"11600:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24484,"mutability":"mutable","name":"p2","nameLocation":"11620:2:14","nodeType":"VariableDeclaration","scope":24498,"src":"11612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24483,"name":"address","nodeType":"ElementaryTypeName","src":"11612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11587:36:14"},"returnParameters":{"id":24486,"nodeType":"ParameterList","parameters":[],"src":"11638:0:14"},"scope":31347,"src":"11575:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24517,"nodeType":"Block","src":"11814:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":24510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11864:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":24511,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24500,"src":"11895:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24512,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24502,"src":"11899:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24513,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24504,"src":"11903:2:14","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":24508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11840:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11844:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11840:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11840:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24507,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"11824:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24516,"nodeType":"ExpressionStatement","src":"11824:83:14"}]},"id":24518,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11754:3:14","nodeType":"FunctionDefinition","parameters":{"id":24505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24500,"mutability":"mutable","name":"p0","nameLocation":"11772:2:14","nodeType":"VariableDeclaration","scope":24518,"src":"11758:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24499,"name":"string","nodeType":"ElementaryTypeName","src":"11758:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24502,"mutability":"mutable","name":"p1","nameLocation":"11784:2:14","nodeType":"VariableDeclaration","scope":24518,"src":"11776:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24501,"name":"uint256","nodeType":"ElementaryTypeName","src":"11776:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24504,"mutability":"mutable","name":"p2","nameLocation":"11796:2:14","nodeType":"VariableDeclaration","scope":24518,"src":"11788:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24503,"name":"uint256","nodeType":"ElementaryTypeName","src":"11788:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11757:42:14"},"returnParameters":{"id":24506,"nodeType":"ParameterList","parameters":[],"src":"11814:0:14"},"scope":31347,"src":"11745:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24537,"nodeType":"Block","src":"11995:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":24530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12045:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":24531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24520,"src":"12075:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24522,"src":"12079:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24524,"src":"12083:2:14","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":24528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12021:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12025:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12021:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12021:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12005:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24536,"nodeType":"ExpressionStatement","src":"12005:82:14"}]},"id":24538,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11929:3:14","nodeType":"FunctionDefinition","parameters":{"id":24525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24520,"mutability":"mutable","name":"p0","nameLocation":"11947:2:14","nodeType":"VariableDeclaration","scope":24538,"src":"11933:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24519,"name":"string","nodeType":"ElementaryTypeName","src":"11933:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24522,"mutability":"mutable","name":"p1","nameLocation":"11959:2:14","nodeType":"VariableDeclaration","scope":24538,"src":"11951:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24521,"name":"uint256","nodeType":"ElementaryTypeName","src":"11951:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24524,"mutability":"mutable","name":"p2","nameLocation":"11977:2:14","nodeType":"VariableDeclaration","scope":24538,"src":"11963:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24523,"name":"string","nodeType":"ElementaryTypeName","src":"11963:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11932:48:14"},"returnParameters":{"id":24526,"nodeType":"ParameterList","parameters":[],"src":"11995:0:14"},"scope":31347,"src":"11920:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24557,"nodeType":"Block","src":"12166:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":24550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12216:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":24551,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24540,"src":"12244:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24552,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24542,"src":"12248:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24553,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24544,"src":"12252:2:14","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":24548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12192:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12196:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12192:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12192:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24547,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12176:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12176:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24556,"nodeType":"ExpressionStatement","src":"12176:80:14"}]},"id":24558,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12109:3:14","nodeType":"FunctionDefinition","parameters":{"id":24545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24540,"mutability":"mutable","name":"p0","nameLocation":"12127:2:14","nodeType":"VariableDeclaration","scope":24558,"src":"12113:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24539,"name":"string","nodeType":"ElementaryTypeName","src":"12113:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24542,"mutability":"mutable","name":"p1","nameLocation":"12139:2:14","nodeType":"VariableDeclaration","scope":24558,"src":"12131:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24541,"name":"uint256","nodeType":"ElementaryTypeName","src":"12131:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24544,"mutability":"mutable","name":"p2","nameLocation":"12148:2:14","nodeType":"VariableDeclaration","scope":24558,"src":"12143:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24543,"name":"bool","nodeType":"ElementaryTypeName","src":"12143:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12112:39:14"},"returnParameters":{"id":24546,"nodeType":"ParameterList","parameters":[],"src":"12166:0:14"},"scope":31347,"src":"12100:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24577,"nodeType":"Block","src":"12338:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":24570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12388:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":24571,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24560,"src":"12419:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24572,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24562,"src":"12423:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24573,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24564,"src":"12427:2:14","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":24568,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12364:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12368:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12364:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12364:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24567,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12348:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12348:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24576,"nodeType":"ExpressionStatement","src":"12348:83:14"}]},"id":24578,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12278:3:14","nodeType":"FunctionDefinition","parameters":{"id":24565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24560,"mutability":"mutable","name":"p0","nameLocation":"12296:2:14","nodeType":"VariableDeclaration","scope":24578,"src":"12282:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24559,"name":"string","nodeType":"ElementaryTypeName","src":"12282:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24562,"mutability":"mutable","name":"p1","nameLocation":"12308:2:14","nodeType":"VariableDeclaration","scope":24578,"src":"12300:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24561,"name":"uint256","nodeType":"ElementaryTypeName","src":"12300:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24564,"mutability":"mutable","name":"p2","nameLocation":"12320:2:14","nodeType":"VariableDeclaration","scope":24578,"src":"12312:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24563,"name":"address","nodeType":"ElementaryTypeName","src":"12312:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12281:42:14"},"returnParameters":{"id":24566,"nodeType":"ParameterList","parameters":[],"src":"12338:0:14"},"scope":31347,"src":"12269:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24597,"nodeType":"Block","src":"12519:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":24590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12569:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":24591,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24580,"src":"12599:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24592,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24582,"src":"12603:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24593,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24584,"src":"12607:2:14","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":24588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12545:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12549:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12545:23:14","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":"12545:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24587,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12529:15:14","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":"12529:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24596,"nodeType":"ExpressionStatement","src":"12529:82:14"}]},"id":24598,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12453:3:14","nodeType":"FunctionDefinition","parameters":{"id":24585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24580,"mutability":"mutable","name":"p0","nameLocation":"12471:2:14","nodeType":"VariableDeclaration","scope":24598,"src":"12457:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24579,"name":"string","nodeType":"ElementaryTypeName","src":"12457:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24582,"mutability":"mutable","name":"p1","nameLocation":"12489:2:14","nodeType":"VariableDeclaration","scope":24598,"src":"12475:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24581,"name":"string","nodeType":"ElementaryTypeName","src":"12475:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24584,"mutability":"mutable","name":"p2","nameLocation":"12501:2:14","nodeType":"VariableDeclaration","scope":24598,"src":"12493:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24583,"name":"uint256","nodeType":"ElementaryTypeName","src":"12493:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12456:48:14"},"returnParameters":{"id":24586,"nodeType":"ParameterList","parameters":[],"src":"12519:0:14"},"scope":31347,"src":"12444:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24617,"nodeType":"Block","src":"12705:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":24610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12755:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":24611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24600,"src":"12784:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24602,"src":"12788:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24604,"src":"12792:2:14","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":24608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12731:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12735:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12731:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12731:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12715:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24616,"nodeType":"ExpressionStatement","src":"12715:81:14"}]},"id":24618,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12633:3:14","nodeType":"FunctionDefinition","parameters":{"id":24605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24600,"mutability":"mutable","name":"p0","nameLocation":"12651:2:14","nodeType":"VariableDeclaration","scope":24618,"src":"12637:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24599,"name":"string","nodeType":"ElementaryTypeName","src":"12637:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24602,"mutability":"mutable","name":"p1","nameLocation":"12669:2:14","nodeType":"VariableDeclaration","scope":24618,"src":"12655:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24601,"name":"string","nodeType":"ElementaryTypeName","src":"12655:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24604,"mutability":"mutable","name":"p2","nameLocation":"12687:2:14","nodeType":"VariableDeclaration","scope":24618,"src":"12673:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24603,"name":"string","nodeType":"ElementaryTypeName","src":"12673:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12636:54:14"},"returnParameters":{"id":24606,"nodeType":"ParameterList","parameters":[],"src":"12705:0:14"},"scope":31347,"src":"12624:179:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24637,"nodeType":"Block","src":"12881:96:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":24630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12931:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":24631,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24620,"src":"12958:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24632,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24622,"src":"12962:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24633,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24624,"src":"12966:2:14","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":24628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12907:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12911:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12907:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"12891:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12891:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24636,"nodeType":"ExpressionStatement","src":"12891:79:14"}]},"id":24638,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12818:3:14","nodeType":"FunctionDefinition","parameters":{"id":24625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24620,"mutability":"mutable","name":"p0","nameLocation":"12836:2:14","nodeType":"VariableDeclaration","scope":24638,"src":"12822:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24619,"name":"string","nodeType":"ElementaryTypeName","src":"12822:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24622,"mutability":"mutable","name":"p1","nameLocation":"12854:2:14","nodeType":"VariableDeclaration","scope":24638,"src":"12840:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24621,"name":"string","nodeType":"ElementaryTypeName","src":"12840:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24624,"mutability":"mutable","name":"p2","nameLocation":"12863:2:14","nodeType":"VariableDeclaration","scope":24638,"src":"12858:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24623,"name":"bool","nodeType":"ElementaryTypeName","src":"12858:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12821:45:14"},"returnParameters":{"id":24626,"nodeType":"ParameterList","parameters":[],"src":"12881:0:14"},"scope":31347,"src":"12809:168:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24657,"nodeType":"Block","src":"13058:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":24650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13108:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":24651,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24640,"src":"13138:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24652,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24642,"src":"13142:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24653,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24644,"src":"13146:2:14","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":24648,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13084:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13088:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13084:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13084:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24647,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"13068:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13068:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24656,"nodeType":"ExpressionStatement","src":"13068:82:14"}]},"id":24658,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12992:3:14","nodeType":"FunctionDefinition","parameters":{"id":24645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24640,"mutability":"mutable","name":"p0","nameLocation":"13010:2:14","nodeType":"VariableDeclaration","scope":24658,"src":"12996:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24639,"name":"string","nodeType":"ElementaryTypeName","src":"12996:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24642,"mutability":"mutable","name":"p1","nameLocation":"13028:2:14","nodeType":"VariableDeclaration","scope":24658,"src":"13014:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24641,"name":"string","nodeType":"ElementaryTypeName","src":"13014:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24644,"mutability":"mutable","name":"p2","nameLocation":"13040:2:14","nodeType":"VariableDeclaration","scope":24658,"src":"13032:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24643,"name":"address","nodeType":"ElementaryTypeName","src":"13032:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12995:48:14"},"returnParameters":{"id":24646,"nodeType":"ParameterList","parameters":[],"src":"13058:0:14"},"scope":31347,"src":"12983:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24677,"nodeType":"Block","src":"13229:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":24670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13279:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":24671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24660,"src":"13307:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24662,"src":"13311:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24673,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24664,"src":"13315:2:14","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":24668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13255:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13259:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13255:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13255:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"13239:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13239:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24676,"nodeType":"ExpressionStatement","src":"13239:80:14"}]},"id":24678,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13172:3:14","nodeType":"FunctionDefinition","parameters":{"id":24665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24660,"mutability":"mutable","name":"p0","nameLocation":"13190:2:14","nodeType":"VariableDeclaration","scope":24678,"src":"13176:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24659,"name":"string","nodeType":"ElementaryTypeName","src":"13176:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24662,"mutability":"mutable","name":"p1","nameLocation":"13199:2:14","nodeType":"VariableDeclaration","scope":24678,"src":"13194:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24661,"name":"bool","nodeType":"ElementaryTypeName","src":"13194:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24664,"mutability":"mutable","name":"p2","nameLocation":"13211:2:14","nodeType":"VariableDeclaration","scope":24678,"src":"13203:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24663,"name":"uint256","nodeType":"ElementaryTypeName","src":"13203:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13175:39:14"},"returnParameters":{"id":24666,"nodeType":"ParameterList","parameters":[],"src":"13229:0:14"},"scope":31347,"src":"13163:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24697,"nodeType":"Block","src":"13404:96:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":24690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13454:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":24691,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24680,"src":"13481:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24692,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24682,"src":"13485:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24693,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24684,"src":"13489:2:14","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":24688,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13430:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13434:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13430:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13430:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24687,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"13414:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13414:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24696,"nodeType":"ExpressionStatement","src":"13414:79:14"}]},"id":24698,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13341:3:14","nodeType":"FunctionDefinition","parameters":{"id":24685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24680,"mutability":"mutable","name":"p0","nameLocation":"13359:2:14","nodeType":"VariableDeclaration","scope":24698,"src":"13345:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24679,"name":"string","nodeType":"ElementaryTypeName","src":"13345:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24682,"mutability":"mutable","name":"p1","nameLocation":"13368:2:14","nodeType":"VariableDeclaration","scope":24698,"src":"13363:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24681,"name":"bool","nodeType":"ElementaryTypeName","src":"13363:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24684,"mutability":"mutable","name":"p2","nameLocation":"13386:2:14","nodeType":"VariableDeclaration","scope":24698,"src":"13372:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24683,"name":"string","nodeType":"ElementaryTypeName","src":"13372:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13344:45:14"},"returnParameters":{"id":24686,"nodeType":"ParameterList","parameters":[],"src":"13404:0:14"},"scope":31347,"src":"13332:168:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24717,"nodeType":"Block","src":"13569:94:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":24710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13619:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":24711,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24700,"src":"13644:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24712,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24702,"src":"13648:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24713,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24704,"src":"13652:2:14","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":24708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13595:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13599:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13595:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13595:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24707,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"13579:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13579:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24716,"nodeType":"ExpressionStatement","src":"13579:77:14"}]},"id":24718,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13515:3:14","nodeType":"FunctionDefinition","parameters":{"id":24705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24700,"mutability":"mutable","name":"p0","nameLocation":"13533:2:14","nodeType":"VariableDeclaration","scope":24718,"src":"13519:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24699,"name":"string","nodeType":"ElementaryTypeName","src":"13519:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24702,"mutability":"mutable","name":"p1","nameLocation":"13542:2:14","nodeType":"VariableDeclaration","scope":24718,"src":"13537:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24701,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24704,"mutability":"mutable","name":"p2","nameLocation":"13551:2:14","nodeType":"VariableDeclaration","scope":24718,"src":"13546:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24703,"name":"bool","nodeType":"ElementaryTypeName","src":"13546:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13518:36:14"},"returnParameters":{"id":24706,"nodeType":"ParameterList","parameters":[],"src":"13569:0:14"},"scope":31347,"src":"13506:157:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24737,"nodeType":"Block","src":"13735:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":24730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13785:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":24731,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24720,"src":"13813:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24732,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24722,"src":"13817:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24733,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24724,"src":"13821:2:14","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":24728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13761:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13765:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13761:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13761:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24727,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"13745:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13745:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24736,"nodeType":"ExpressionStatement","src":"13745:80:14"}]},"id":24738,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13678:3:14","nodeType":"FunctionDefinition","parameters":{"id":24725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24720,"mutability":"mutable","name":"p0","nameLocation":"13696:2:14","nodeType":"VariableDeclaration","scope":24738,"src":"13682:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24719,"name":"string","nodeType":"ElementaryTypeName","src":"13682:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24722,"mutability":"mutable","name":"p1","nameLocation":"13705:2:14","nodeType":"VariableDeclaration","scope":24738,"src":"13700:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24721,"name":"bool","nodeType":"ElementaryTypeName","src":"13700:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24724,"mutability":"mutable","name":"p2","nameLocation":"13717:2:14","nodeType":"VariableDeclaration","scope":24738,"src":"13709:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24723,"name":"address","nodeType":"ElementaryTypeName","src":"13709:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13681:39:14"},"returnParameters":{"id":24726,"nodeType":"ParameterList","parameters":[],"src":"13735:0:14"},"scope":31347,"src":"13669:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24757,"nodeType":"Block","src":"13907:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":24750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13957:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":24751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24740,"src":"13988:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24742,"src":"13992:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24744,"src":"13996:2:14","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":24748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13933:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13937:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13933:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13933:66:14","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":23276,"src":"13917:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24756,"nodeType":"ExpressionStatement","src":"13917:83:14"}]},"id":24758,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13847:3:14","nodeType":"FunctionDefinition","parameters":{"id":24745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24740,"mutability":"mutable","name":"p0","nameLocation":"13865:2:14","nodeType":"VariableDeclaration","scope":24758,"src":"13851:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24739,"name":"string","nodeType":"ElementaryTypeName","src":"13851:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24742,"mutability":"mutable","name":"p1","nameLocation":"13877:2:14","nodeType":"VariableDeclaration","scope":24758,"src":"13869:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24741,"name":"address","nodeType":"ElementaryTypeName","src":"13869:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24744,"mutability":"mutable","name":"p2","nameLocation":"13889:2:14","nodeType":"VariableDeclaration","scope":24758,"src":"13881:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24743,"name":"uint256","nodeType":"ElementaryTypeName","src":"13881:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13850:42:14"},"returnParameters":{"id":24746,"nodeType":"ParameterList","parameters":[],"src":"13907:0:14"},"scope":31347,"src":"13838:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24777,"nodeType":"Block","src":"14088:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":24770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14138:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":24771,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24760,"src":"14168:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24772,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24762,"src":"14172:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24773,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24764,"src":"14176:2:14","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":24768,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14114:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14118:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14114:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14114:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24767,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14098:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14098:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24776,"nodeType":"ExpressionStatement","src":"14098:82:14"}]},"id":24778,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14022:3:14","nodeType":"FunctionDefinition","parameters":{"id":24765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24760,"mutability":"mutable","name":"p0","nameLocation":"14040:2:14","nodeType":"VariableDeclaration","scope":24778,"src":"14026:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24759,"name":"string","nodeType":"ElementaryTypeName","src":"14026:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24762,"mutability":"mutable","name":"p1","nameLocation":"14052:2:14","nodeType":"VariableDeclaration","scope":24778,"src":"14044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24761,"name":"address","nodeType":"ElementaryTypeName","src":"14044:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24764,"mutability":"mutable","name":"p2","nameLocation":"14070:2:14","nodeType":"VariableDeclaration","scope":24778,"src":"14056:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24763,"name":"string","nodeType":"ElementaryTypeName","src":"14056:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14025:48:14"},"returnParameters":{"id":24766,"nodeType":"ParameterList","parameters":[],"src":"14088:0:14"},"scope":31347,"src":"14013:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24797,"nodeType":"Block","src":"14259:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":24790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14309:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":24791,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24780,"src":"14337:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24792,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24782,"src":"14341:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24793,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24784,"src":"14345:2:14","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":24788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14285:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14289:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14285:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14285:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24787,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14269:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14269:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24796,"nodeType":"ExpressionStatement","src":"14269:80:14"}]},"id":24798,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14202:3:14","nodeType":"FunctionDefinition","parameters":{"id":24785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24780,"mutability":"mutable","name":"p0","nameLocation":"14220:2:14","nodeType":"VariableDeclaration","scope":24798,"src":"14206:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24779,"name":"string","nodeType":"ElementaryTypeName","src":"14206:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24782,"mutability":"mutable","name":"p1","nameLocation":"14232:2:14","nodeType":"VariableDeclaration","scope":24798,"src":"14224:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24781,"name":"address","nodeType":"ElementaryTypeName","src":"14224:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24784,"mutability":"mutable","name":"p2","nameLocation":"14241:2:14","nodeType":"VariableDeclaration","scope":24798,"src":"14236:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24783,"name":"bool","nodeType":"ElementaryTypeName","src":"14236:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14205:39:14"},"returnParameters":{"id":24786,"nodeType":"ParameterList","parameters":[],"src":"14259:0:14"},"scope":31347,"src":"14193:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24817,"nodeType":"Block","src":"14431:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":24810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14481:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":24811,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24800,"src":"14512:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24812,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24802,"src":"14516:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24813,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24804,"src":"14520:2:14","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":24808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14457:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24807,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14441:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14441:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24816,"nodeType":"ExpressionStatement","src":"14441:83:14"}]},"id":24818,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14371:3:14","nodeType":"FunctionDefinition","parameters":{"id":24805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24800,"mutability":"mutable","name":"p0","nameLocation":"14389:2:14","nodeType":"VariableDeclaration","scope":24818,"src":"14375:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24799,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24802,"mutability":"mutable","name":"p1","nameLocation":"14401:2:14","nodeType":"VariableDeclaration","scope":24818,"src":"14393:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24801,"name":"address","nodeType":"ElementaryTypeName","src":"14393:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24804,"mutability":"mutable","name":"p2","nameLocation":"14413:2:14","nodeType":"VariableDeclaration","scope":24818,"src":"14405:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24803,"name":"address","nodeType":"ElementaryTypeName","src":"14405:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14374:42:14"},"returnParameters":{"id":24806,"nodeType":"ParameterList","parameters":[],"src":"14431:0:14"},"scope":31347,"src":"14362:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24837,"nodeType":"Block","src":"14597:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":24830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14647:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":24831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24820,"src":"14676:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24822,"src":"14680:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24824,"src":"14684:2:14","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":24828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14623:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14627:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14623:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14623:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14607:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24836,"nodeType":"ExpressionStatement","src":"14607:81:14"}]},"id":24838,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14546:3:14","nodeType":"FunctionDefinition","parameters":{"id":24825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24820,"mutability":"mutable","name":"p0","nameLocation":"14555:2:14","nodeType":"VariableDeclaration","scope":24838,"src":"14550:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24819,"name":"bool","nodeType":"ElementaryTypeName","src":"14550:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24822,"mutability":"mutable","name":"p1","nameLocation":"14567:2:14","nodeType":"VariableDeclaration","scope":24838,"src":"14559:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24821,"name":"uint256","nodeType":"ElementaryTypeName","src":"14559:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24824,"mutability":"mutable","name":"p2","nameLocation":"14579:2:14","nodeType":"VariableDeclaration","scope":24838,"src":"14571:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24823,"name":"uint256","nodeType":"ElementaryTypeName","src":"14571:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14549:33:14"},"returnParameters":{"id":24826,"nodeType":"ParameterList","parameters":[],"src":"14597:0:14"},"scope":31347,"src":"14537:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24857,"nodeType":"Block","src":"14767:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":24850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14817:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":24851,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24840,"src":"14845:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24852,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24842,"src":"14849:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24853,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24844,"src":"14853:2:14","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":24848,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14797:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14793:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24847,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14777:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24856,"nodeType":"ExpressionStatement","src":"14777:80:14"}]},"id":24858,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14710:3:14","nodeType":"FunctionDefinition","parameters":{"id":24845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24840,"mutability":"mutable","name":"p0","nameLocation":"14719:2:14","nodeType":"VariableDeclaration","scope":24858,"src":"14714:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24839,"name":"bool","nodeType":"ElementaryTypeName","src":"14714:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24842,"mutability":"mutable","name":"p1","nameLocation":"14731:2:14","nodeType":"VariableDeclaration","scope":24858,"src":"14723:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24841,"name":"uint256","nodeType":"ElementaryTypeName","src":"14723:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24844,"mutability":"mutable","name":"p2","nameLocation":"14749:2:14","nodeType":"VariableDeclaration","scope":24858,"src":"14735:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24843,"name":"string","nodeType":"ElementaryTypeName","src":"14735:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14713:39:14"},"returnParameters":{"id":24846,"nodeType":"ParameterList","parameters":[],"src":"14767:0:14"},"scope":31347,"src":"14701:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24877,"nodeType":"Block","src":"14927:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":24870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14977:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":24871,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24860,"src":"15003:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24872,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24862,"src":"15007:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24873,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24864,"src":"15011:2:14","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":24868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14953:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14957:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14953:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14953:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24867,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"14937:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14937:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24876,"nodeType":"ExpressionStatement","src":"14937:78:14"}]},"id":24878,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14879:3:14","nodeType":"FunctionDefinition","parameters":{"id":24865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24860,"mutability":"mutable","name":"p0","nameLocation":"14888:2:14","nodeType":"VariableDeclaration","scope":24878,"src":"14883:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24859,"name":"bool","nodeType":"ElementaryTypeName","src":"14883:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24862,"mutability":"mutable","name":"p1","nameLocation":"14900:2:14","nodeType":"VariableDeclaration","scope":24878,"src":"14892:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24861,"name":"uint256","nodeType":"ElementaryTypeName","src":"14892:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24864,"mutability":"mutable","name":"p2","nameLocation":"14909:2:14","nodeType":"VariableDeclaration","scope":24878,"src":"14904:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24863,"name":"bool","nodeType":"ElementaryTypeName","src":"14904:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14882:30:14"},"returnParameters":{"id":24866,"nodeType":"ParameterList","parameters":[],"src":"14927:0:14"},"scope":31347,"src":"14870:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24897,"nodeType":"Block","src":"15088:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":24890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15138:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":24891,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24880,"src":"15167:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24892,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24882,"src":"15171:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24893,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"15175:2:14","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":24888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15114:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15118:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15114:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15114:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15098:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15098:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24896,"nodeType":"ExpressionStatement","src":"15098:81:14"}]},"id":24898,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15037:3:14","nodeType":"FunctionDefinition","parameters":{"id":24885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24880,"mutability":"mutable","name":"p0","nameLocation":"15046:2:14","nodeType":"VariableDeclaration","scope":24898,"src":"15041:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24879,"name":"bool","nodeType":"ElementaryTypeName","src":"15041:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24882,"mutability":"mutable","name":"p1","nameLocation":"15058:2:14","nodeType":"VariableDeclaration","scope":24898,"src":"15050:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24881,"name":"uint256","nodeType":"ElementaryTypeName","src":"15050:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24884,"mutability":"mutable","name":"p2","nameLocation":"15070:2:14","nodeType":"VariableDeclaration","scope":24898,"src":"15062:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24883,"name":"address","nodeType":"ElementaryTypeName","src":"15062:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15040:33:14"},"returnParameters":{"id":24886,"nodeType":"ParameterList","parameters":[],"src":"15088:0:14"},"scope":31347,"src":"15028:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24917,"nodeType":"Block","src":"15258:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":24910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15308:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":24911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24900,"src":"15336:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24902,"src":"15340:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24904,"src":"15344:2:14","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":24908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15284:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15288:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15284:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15268:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15268:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24916,"nodeType":"ExpressionStatement","src":"15268:80:14"}]},"id":24918,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15201:3:14","nodeType":"FunctionDefinition","parameters":{"id":24905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24900,"mutability":"mutable","name":"p0","nameLocation":"15210:2:14","nodeType":"VariableDeclaration","scope":24918,"src":"15205:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24899,"name":"bool","nodeType":"ElementaryTypeName","src":"15205:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24902,"mutability":"mutable","name":"p1","nameLocation":"15228:2:14","nodeType":"VariableDeclaration","scope":24918,"src":"15214:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24901,"name":"string","nodeType":"ElementaryTypeName","src":"15214:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24904,"mutability":"mutable","name":"p2","nameLocation":"15240:2:14","nodeType":"VariableDeclaration","scope":24918,"src":"15232:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24903,"name":"uint256","nodeType":"ElementaryTypeName","src":"15232:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15204:39:14"},"returnParameters":{"id":24906,"nodeType":"ParameterList","parameters":[],"src":"15258:0:14"},"scope":31347,"src":"15192:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24937,"nodeType":"Block","src":"15433:96:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":24930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15483:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":24931,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24920,"src":"15510:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24932,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24922,"src":"15514:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24933,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24924,"src":"15518:2:14","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":24928,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15459:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15463:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15459:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15459:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15443:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15443:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24936,"nodeType":"ExpressionStatement","src":"15443:79:14"}]},"id":24938,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15370:3:14","nodeType":"FunctionDefinition","parameters":{"id":24925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24920,"mutability":"mutable","name":"p0","nameLocation":"15379:2:14","nodeType":"VariableDeclaration","scope":24938,"src":"15374:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24919,"name":"bool","nodeType":"ElementaryTypeName","src":"15374:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24922,"mutability":"mutable","name":"p1","nameLocation":"15397:2:14","nodeType":"VariableDeclaration","scope":24938,"src":"15383:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24921,"name":"string","nodeType":"ElementaryTypeName","src":"15383:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24924,"mutability":"mutable","name":"p2","nameLocation":"15415:2:14","nodeType":"VariableDeclaration","scope":24938,"src":"15401:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24923,"name":"string","nodeType":"ElementaryTypeName","src":"15401:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15373:45:14"},"returnParameters":{"id":24926,"nodeType":"ParameterList","parameters":[],"src":"15433:0:14"},"scope":31347,"src":"15361:168:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24957,"nodeType":"Block","src":"15598:94:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":24950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15648:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":24951,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24940,"src":"15673:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24952,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24942,"src":"15677:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24953,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24944,"src":"15681:2:14","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":24948,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15624:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15628:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15624:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15624:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15608:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15608:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24956,"nodeType":"ExpressionStatement","src":"15608:77:14"}]},"id":24958,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15544:3:14","nodeType":"FunctionDefinition","parameters":{"id":24945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24940,"mutability":"mutable","name":"p0","nameLocation":"15553:2:14","nodeType":"VariableDeclaration","scope":24958,"src":"15548:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24939,"name":"bool","nodeType":"ElementaryTypeName","src":"15548:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24942,"mutability":"mutable","name":"p1","nameLocation":"15571:2:14","nodeType":"VariableDeclaration","scope":24958,"src":"15557:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24941,"name":"string","nodeType":"ElementaryTypeName","src":"15557:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24944,"mutability":"mutable","name":"p2","nameLocation":"15580:2:14","nodeType":"VariableDeclaration","scope":24958,"src":"15575:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24943,"name":"bool","nodeType":"ElementaryTypeName","src":"15575:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15547:36:14"},"returnParameters":{"id":24946,"nodeType":"ParameterList","parameters":[],"src":"15598:0:14"},"scope":31347,"src":"15535:157:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24977,"nodeType":"Block","src":"15764:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":24970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15814:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":24971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24960,"src":"15842:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24962,"src":"15846:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24973,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24964,"src":"15850:2:14","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":24968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15790:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15774:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15774:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24976,"nodeType":"ExpressionStatement","src":"15774:80:14"}]},"id":24978,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15707:3:14","nodeType":"FunctionDefinition","parameters":{"id":24965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24960,"mutability":"mutable","name":"p0","nameLocation":"15716:2:14","nodeType":"VariableDeclaration","scope":24978,"src":"15711:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24959,"name":"bool","nodeType":"ElementaryTypeName","src":"15711:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24962,"mutability":"mutable","name":"p1","nameLocation":"15734:2:14","nodeType":"VariableDeclaration","scope":24978,"src":"15720:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24961,"name":"string","nodeType":"ElementaryTypeName","src":"15720:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24964,"mutability":"mutable","name":"p2","nameLocation":"15746:2:14","nodeType":"VariableDeclaration","scope":24978,"src":"15738:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24963,"name":"address","nodeType":"ElementaryTypeName","src":"15738:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15710:39:14"},"returnParameters":{"id":24966,"nodeType":"ParameterList","parameters":[],"src":"15764:0:14"},"scope":31347,"src":"15698:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":24997,"nodeType":"Block","src":"15924:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":24990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15974:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":24991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24980,"src":"16000:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24982,"src":"16004:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24984,"src":"16008:2:14","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":24988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15950:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15954:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15950:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15950:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"15934:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24996,"nodeType":"ExpressionStatement","src":"15934:78:14"}]},"id":24998,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15876:3:14","nodeType":"FunctionDefinition","parameters":{"id":24985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24980,"mutability":"mutable","name":"p0","nameLocation":"15885:2:14","nodeType":"VariableDeclaration","scope":24998,"src":"15880:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24979,"name":"bool","nodeType":"ElementaryTypeName","src":"15880:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24982,"mutability":"mutable","name":"p1","nameLocation":"15894:2:14","nodeType":"VariableDeclaration","scope":24998,"src":"15889:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24981,"name":"bool","nodeType":"ElementaryTypeName","src":"15889:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24984,"mutability":"mutable","name":"p2","nameLocation":"15906:2:14","nodeType":"VariableDeclaration","scope":24998,"src":"15898:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24983,"name":"uint256","nodeType":"ElementaryTypeName","src":"15898:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15879:30:14"},"returnParameters":{"id":24986,"nodeType":"ParameterList","parameters":[],"src":"15924:0:14"},"scope":31347,"src":"15867:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25017,"nodeType":"Block","src":"16088:94:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":25010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16138:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":25011,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25000,"src":"16163:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25012,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25002,"src":"16167:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25013,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25004,"src":"16171:2:14","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":25008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16114:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16118:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16114:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16114:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25007,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16098:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16098:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25016,"nodeType":"ExpressionStatement","src":"16098:77:14"}]},"id":25018,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16034:3:14","nodeType":"FunctionDefinition","parameters":{"id":25005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25000,"mutability":"mutable","name":"p0","nameLocation":"16043:2:14","nodeType":"VariableDeclaration","scope":25018,"src":"16038:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24999,"name":"bool","nodeType":"ElementaryTypeName","src":"16038:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25002,"mutability":"mutable","name":"p1","nameLocation":"16052:2:14","nodeType":"VariableDeclaration","scope":25018,"src":"16047:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25001,"name":"bool","nodeType":"ElementaryTypeName","src":"16047:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25004,"mutability":"mutable","name":"p2","nameLocation":"16070:2:14","nodeType":"VariableDeclaration","scope":25018,"src":"16056:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25003,"name":"string","nodeType":"ElementaryTypeName","src":"16056:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16037:36:14"},"returnParameters":{"id":25006,"nodeType":"ParameterList","parameters":[],"src":"16088:0:14"},"scope":31347,"src":"16025:157:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25037,"nodeType":"Block","src":"16242:92:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":25030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16292:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":25031,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25020,"src":"16315:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25032,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25022,"src":"16319:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25033,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25024,"src":"16323:2:14","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":25028,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16272:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16268:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25027,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16252:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25036,"nodeType":"ExpressionStatement","src":"16252:75:14"}]},"id":25038,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16197:3:14","nodeType":"FunctionDefinition","parameters":{"id":25025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25020,"mutability":"mutable","name":"p0","nameLocation":"16206:2:14","nodeType":"VariableDeclaration","scope":25038,"src":"16201:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25019,"name":"bool","nodeType":"ElementaryTypeName","src":"16201:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25022,"mutability":"mutable","name":"p1","nameLocation":"16215:2:14","nodeType":"VariableDeclaration","scope":25038,"src":"16210:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25021,"name":"bool","nodeType":"ElementaryTypeName","src":"16210:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25024,"mutability":"mutable","name":"p2","nameLocation":"16224:2:14","nodeType":"VariableDeclaration","scope":25038,"src":"16219:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25023,"name":"bool","nodeType":"ElementaryTypeName","src":"16219:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16200:27:14"},"returnParameters":{"id":25026,"nodeType":"ParameterList","parameters":[],"src":"16242:0:14"},"scope":31347,"src":"16188:146:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25057,"nodeType":"Block","src":"16397:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":25050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16447:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":25051,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25040,"src":"16473:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25052,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25042,"src":"16477:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25053,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25044,"src":"16481:2:14","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":25048,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16423:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16427:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16423:23:14","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":"16423:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25047,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16407:15:14","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":"16407:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25056,"nodeType":"ExpressionStatement","src":"16407:78:14"}]},"id":25058,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16349:3:14","nodeType":"FunctionDefinition","parameters":{"id":25045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25040,"mutability":"mutable","name":"p0","nameLocation":"16358:2:14","nodeType":"VariableDeclaration","scope":25058,"src":"16353:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25039,"name":"bool","nodeType":"ElementaryTypeName","src":"16353:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25042,"mutability":"mutable","name":"p1","nameLocation":"16367:2:14","nodeType":"VariableDeclaration","scope":25058,"src":"16362:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25041,"name":"bool","nodeType":"ElementaryTypeName","src":"16362:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25044,"mutability":"mutable","name":"p2","nameLocation":"16379:2:14","nodeType":"VariableDeclaration","scope":25058,"src":"16371:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25043,"name":"address","nodeType":"ElementaryTypeName","src":"16371:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16352:30:14"},"returnParameters":{"id":25046,"nodeType":"ParameterList","parameters":[],"src":"16397:0:14"},"scope":31347,"src":"16340:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25077,"nodeType":"Block","src":"16558:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":25070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16608:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":25071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25060,"src":"16637:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25062,"src":"16641:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25064,"src":"16645:2:14","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":25068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16584:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16588:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16584:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16584:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16568:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16568:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25076,"nodeType":"ExpressionStatement","src":"16568:81:14"}]},"id":25078,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16507:3:14","nodeType":"FunctionDefinition","parameters":{"id":25065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25060,"mutability":"mutable","name":"p0","nameLocation":"16516:2:14","nodeType":"VariableDeclaration","scope":25078,"src":"16511:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25059,"name":"bool","nodeType":"ElementaryTypeName","src":"16511:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25062,"mutability":"mutable","name":"p1","nameLocation":"16528:2:14","nodeType":"VariableDeclaration","scope":25078,"src":"16520:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25061,"name":"address","nodeType":"ElementaryTypeName","src":"16520:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25064,"mutability":"mutable","name":"p2","nameLocation":"16540:2:14","nodeType":"VariableDeclaration","scope":25078,"src":"16532:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25063,"name":"uint256","nodeType":"ElementaryTypeName","src":"16532:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16510:33:14"},"returnParameters":{"id":25066,"nodeType":"ParameterList","parameters":[],"src":"16558:0:14"},"scope":31347,"src":"16498:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25097,"nodeType":"Block","src":"16728:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":25090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16778:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":25091,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25080,"src":"16806:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25092,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25082,"src":"16810:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25093,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25084,"src":"16814:2:14","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":25088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16754:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16758:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16754:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16754:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25087,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16738:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16738:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25096,"nodeType":"ExpressionStatement","src":"16738:80:14"}]},"id":25098,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16671:3:14","nodeType":"FunctionDefinition","parameters":{"id":25085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25080,"mutability":"mutable","name":"p0","nameLocation":"16680:2:14","nodeType":"VariableDeclaration","scope":25098,"src":"16675:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25079,"name":"bool","nodeType":"ElementaryTypeName","src":"16675:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25082,"mutability":"mutable","name":"p1","nameLocation":"16692:2:14","nodeType":"VariableDeclaration","scope":25098,"src":"16684:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25081,"name":"address","nodeType":"ElementaryTypeName","src":"16684:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25084,"mutability":"mutable","name":"p2","nameLocation":"16710:2:14","nodeType":"VariableDeclaration","scope":25098,"src":"16696:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25083,"name":"string","nodeType":"ElementaryTypeName","src":"16696:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16674:39:14"},"returnParameters":{"id":25086,"nodeType":"ParameterList","parameters":[],"src":"16728:0:14"},"scope":31347,"src":"16662:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25117,"nodeType":"Block","src":"16888:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":25110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16938:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":25111,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25100,"src":"16964:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25112,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25102,"src":"16968:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25113,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25104,"src":"16972:2:14","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":25108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16914:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16918:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16914:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25107,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"16898:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16898:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25116,"nodeType":"ExpressionStatement","src":"16898:78:14"}]},"id":25118,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16840:3:14","nodeType":"FunctionDefinition","parameters":{"id":25105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25100,"mutability":"mutable","name":"p0","nameLocation":"16849:2:14","nodeType":"VariableDeclaration","scope":25118,"src":"16844:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25099,"name":"bool","nodeType":"ElementaryTypeName","src":"16844:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25102,"mutability":"mutable","name":"p1","nameLocation":"16861:2:14","nodeType":"VariableDeclaration","scope":25118,"src":"16853:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25101,"name":"address","nodeType":"ElementaryTypeName","src":"16853:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25104,"mutability":"mutable","name":"p2","nameLocation":"16870:2:14","nodeType":"VariableDeclaration","scope":25118,"src":"16865:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25103,"name":"bool","nodeType":"ElementaryTypeName","src":"16865:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16843:30:14"},"returnParameters":{"id":25106,"nodeType":"ParameterList","parameters":[],"src":"16888:0:14"},"scope":31347,"src":"16831:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25137,"nodeType":"Block","src":"17049:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":25130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17099:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":25131,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25120,"src":"17128:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25132,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25122,"src":"17132:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25133,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25124,"src":"17136:2:14","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":25128,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17075:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17079:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17075:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17075:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25127,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"17059:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17059:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25136,"nodeType":"ExpressionStatement","src":"17059:81:14"}]},"id":25138,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16998:3:14","nodeType":"FunctionDefinition","parameters":{"id":25125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25120,"mutability":"mutable","name":"p0","nameLocation":"17007:2:14","nodeType":"VariableDeclaration","scope":25138,"src":"17002:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25119,"name":"bool","nodeType":"ElementaryTypeName","src":"17002:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25122,"mutability":"mutable","name":"p1","nameLocation":"17019:2:14","nodeType":"VariableDeclaration","scope":25138,"src":"17011:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25121,"name":"address","nodeType":"ElementaryTypeName","src":"17011:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25124,"mutability":"mutable","name":"p2","nameLocation":"17031:2:14","nodeType":"VariableDeclaration","scope":25138,"src":"17023:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25123,"name":"address","nodeType":"ElementaryTypeName","src":"17023:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17001:33:14"},"returnParameters":{"id":25126,"nodeType":"ParameterList","parameters":[],"src":"17049:0:14"},"scope":31347,"src":"16989:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25157,"nodeType":"Block","src":"17216:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":25150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17266:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":25151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25140,"src":"17298:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25152,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25142,"src":"17302:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25153,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25144,"src":"17306:2:14","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":25148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17242:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17246:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17242:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17242:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"17226:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17226:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25156,"nodeType":"ExpressionStatement","src":"17226:84:14"}]},"id":25158,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:14","nodeType":"FunctionDefinition","parameters":{"id":25145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25140,"mutability":"mutable","name":"p0","nameLocation":"17174:2:14","nodeType":"VariableDeclaration","scope":25158,"src":"17166:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25139,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25142,"mutability":"mutable","name":"p1","nameLocation":"17186:2:14","nodeType":"VariableDeclaration","scope":25158,"src":"17178:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25141,"name":"uint256","nodeType":"ElementaryTypeName","src":"17178:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25144,"mutability":"mutable","name":"p2","nameLocation":"17198:2:14","nodeType":"VariableDeclaration","scope":25158,"src":"17190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25143,"name":"uint256","nodeType":"ElementaryTypeName","src":"17190:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17165:36:14"},"returnParameters":{"id":25146,"nodeType":"ParameterList","parameters":[],"src":"17216:0:14"},"scope":31347,"src":"17153:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25177,"nodeType":"Block","src":"17392:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":25170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17442:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":25171,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25160,"src":"17473:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25172,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25162,"src":"17477:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25173,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25164,"src":"17481:2:14","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":25168,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17418:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17422:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17418:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25167,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"17402:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17402:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25176,"nodeType":"ExpressionStatement","src":"17402:83:14"}]},"id":25178,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17332:3:14","nodeType":"FunctionDefinition","parameters":{"id":25165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25160,"mutability":"mutable","name":"p0","nameLocation":"17344:2:14","nodeType":"VariableDeclaration","scope":25178,"src":"17336:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25159,"name":"address","nodeType":"ElementaryTypeName","src":"17336:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25162,"mutability":"mutable","name":"p1","nameLocation":"17356:2:14","nodeType":"VariableDeclaration","scope":25178,"src":"17348:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25161,"name":"uint256","nodeType":"ElementaryTypeName","src":"17348:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25164,"mutability":"mutable","name":"p2","nameLocation":"17374:2:14","nodeType":"VariableDeclaration","scope":25178,"src":"17360:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25163,"name":"string","nodeType":"ElementaryTypeName","src":"17360:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17335:42:14"},"returnParameters":{"id":25166,"nodeType":"ParameterList","parameters":[],"src":"17392:0:14"},"scope":31347,"src":"17323:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25197,"nodeType":"Block","src":"17558:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":25190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17608:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":25191,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25180,"src":"17637:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25192,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25182,"src":"17641:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25193,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25184,"src":"17645:2:14","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":25188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17584:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17588:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17584:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17584:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25187,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"17568:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17568:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25196,"nodeType":"ExpressionStatement","src":"17568:81:14"}]},"id":25198,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17507:3:14","nodeType":"FunctionDefinition","parameters":{"id":25185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25180,"mutability":"mutable","name":"p0","nameLocation":"17519:2:14","nodeType":"VariableDeclaration","scope":25198,"src":"17511:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25179,"name":"address","nodeType":"ElementaryTypeName","src":"17511:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25182,"mutability":"mutable","name":"p1","nameLocation":"17531:2:14","nodeType":"VariableDeclaration","scope":25198,"src":"17523:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25181,"name":"uint256","nodeType":"ElementaryTypeName","src":"17523:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25184,"mutability":"mutable","name":"p2","nameLocation":"17540:2:14","nodeType":"VariableDeclaration","scope":25198,"src":"17535:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25183,"name":"bool","nodeType":"ElementaryTypeName","src":"17535:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17510:33:14"},"returnParameters":{"id":25186,"nodeType":"ParameterList","parameters":[],"src":"17558:0:14"},"scope":31347,"src":"17498:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25217,"nodeType":"Block","src":"17725:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":25210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17775:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":25211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25200,"src":"17807:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25202,"src":"17811:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25204,"src":"17815:2:14","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":25208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17751:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17755:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17751:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17751:67:14","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":23276,"src":"17735:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17735:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25216,"nodeType":"ExpressionStatement","src":"17735:84:14"}]},"id":25218,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17671:3:14","nodeType":"FunctionDefinition","parameters":{"id":25205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25200,"mutability":"mutable","name":"p0","nameLocation":"17683:2:14","nodeType":"VariableDeclaration","scope":25218,"src":"17675:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25199,"name":"address","nodeType":"ElementaryTypeName","src":"17675:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25202,"mutability":"mutable","name":"p1","nameLocation":"17695:2:14","nodeType":"VariableDeclaration","scope":25218,"src":"17687:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25201,"name":"uint256","nodeType":"ElementaryTypeName","src":"17687:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25204,"mutability":"mutable","name":"p2","nameLocation":"17707:2:14","nodeType":"VariableDeclaration","scope":25218,"src":"17699:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25203,"name":"address","nodeType":"ElementaryTypeName","src":"17699:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17674:36:14"},"returnParameters":{"id":25206,"nodeType":"ParameterList","parameters":[],"src":"17725:0:14"},"scope":31347,"src":"17662:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25237,"nodeType":"Block","src":"17901:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":25230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17951:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":25231,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25220,"src":"17982:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25232,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25222,"src":"17986:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25233,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25224,"src":"17990:2:14","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":25228,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17927:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17931:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17927:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17927:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25227,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"17911:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17911:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25236,"nodeType":"ExpressionStatement","src":"17911:83:14"}]},"id":25238,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17841:3:14","nodeType":"FunctionDefinition","parameters":{"id":25225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25220,"mutability":"mutable","name":"p0","nameLocation":"17853:2:14","nodeType":"VariableDeclaration","scope":25238,"src":"17845:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25219,"name":"address","nodeType":"ElementaryTypeName","src":"17845:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25222,"mutability":"mutable","name":"p1","nameLocation":"17871:2:14","nodeType":"VariableDeclaration","scope":25238,"src":"17857:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25221,"name":"string","nodeType":"ElementaryTypeName","src":"17857:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25224,"mutability":"mutable","name":"p2","nameLocation":"17883:2:14","nodeType":"VariableDeclaration","scope":25238,"src":"17875:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25223,"name":"uint256","nodeType":"ElementaryTypeName","src":"17875:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17844:42:14"},"returnParameters":{"id":25226,"nodeType":"ParameterList","parameters":[],"src":"17901:0:14"},"scope":31347,"src":"17832:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25257,"nodeType":"Block","src":"18082:99:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":25250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18132:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":25251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25240,"src":"18162:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25252,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25242,"src":"18166:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25253,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25244,"src":"18170:2:14","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":25248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18108:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18112:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18108:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18092:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18092:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25256,"nodeType":"ExpressionStatement","src":"18092:82:14"}]},"id":25258,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18016:3:14","nodeType":"FunctionDefinition","parameters":{"id":25245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25240,"mutability":"mutable","name":"p0","nameLocation":"18028:2:14","nodeType":"VariableDeclaration","scope":25258,"src":"18020:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25239,"name":"address","nodeType":"ElementaryTypeName","src":"18020:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25242,"mutability":"mutable","name":"p1","nameLocation":"18046:2:14","nodeType":"VariableDeclaration","scope":25258,"src":"18032:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25241,"name":"string","nodeType":"ElementaryTypeName","src":"18032:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25244,"mutability":"mutable","name":"p2","nameLocation":"18064:2:14","nodeType":"VariableDeclaration","scope":25258,"src":"18050:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25243,"name":"string","nodeType":"ElementaryTypeName","src":"18050:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18019:48:14"},"returnParameters":{"id":25246,"nodeType":"ParameterList","parameters":[],"src":"18082:0:14"},"scope":31347,"src":"18007:174:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25277,"nodeType":"Block","src":"18253:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":25270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18303:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":25271,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25260,"src":"18331:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25272,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25262,"src":"18335:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25273,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25264,"src":"18339:2:14","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":25268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18279:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18283:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18279:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18279:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18263:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18263:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25276,"nodeType":"ExpressionStatement","src":"18263:80:14"}]},"id":25278,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18196:3:14","nodeType":"FunctionDefinition","parameters":{"id":25265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25260,"mutability":"mutable","name":"p0","nameLocation":"18208:2:14","nodeType":"VariableDeclaration","scope":25278,"src":"18200:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25259,"name":"address","nodeType":"ElementaryTypeName","src":"18200:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25262,"mutability":"mutable","name":"p1","nameLocation":"18226:2:14","nodeType":"VariableDeclaration","scope":25278,"src":"18212:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25261,"name":"string","nodeType":"ElementaryTypeName","src":"18212:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25264,"mutability":"mutable","name":"p2","nameLocation":"18235:2:14","nodeType":"VariableDeclaration","scope":25278,"src":"18230:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25263,"name":"bool","nodeType":"ElementaryTypeName","src":"18230:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18199:39:14"},"returnParameters":{"id":25266,"nodeType":"ParameterList","parameters":[],"src":"18253:0:14"},"scope":31347,"src":"18187:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25297,"nodeType":"Block","src":"18425:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":25290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18475:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":25291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25280,"src":"18506:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25282,"src":"18510:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25284,"src":"18514:2:14","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":25288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18451:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18455:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18451:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18451:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18435:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18435:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25296,"nodeType":"ExpressionStatement","src":"18435:83:14"}]},"id":25298,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18365:3:14","nodeType":"FunctionDefinition","parameters":{"id":25285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25280,"mutability":"mutable","name":"p0","nameLocation":"18377:2:14","nodeType":"VariableDeclaration","scope":25298,"src":"18369:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25279,"name":"address","nodeType":"ElementaryTypeName","src":"18369:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25282,"mutability":"mutable","name":"p1","nameLocation":"18395:2:14","nodeType":"VariableDeclaration","scope":25298,"src":"18381:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25281,"name":"string","nodeType":"ElementaryTypeName","src":"18381:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25284,"mutability":"mutable","name":"p2","nameLocation":"18407:2:14","nodeType":"VariableDeclaration","scope":25298,"src":"18399:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25283,"name":"address","nodeType":"ElementaryTypeName","src":"18399:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18368:42:14"},"returnParameters":{"id":25286,"nodeType":"ParameterList","parameters":[],"src":"18425:0:14"},"scope":31347,"src":"18356:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25317,"nodeType":"Block","src":"18591:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":25310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18641:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":25311,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25300,"src":"18670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25312,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25302,"src":"18674:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25313,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25304,"src":"18678:2:14","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":25308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18617:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18621:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18617:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18617:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25307,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18601:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25316,"nodeType":"ExpressionStatement","src":"18601:81:14"}]},"id":25318,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18540:3:14","nodeType":"FunctionDefinition","parameters":{"id":25305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25300,"mutability":"mutable","name":"p0","nameLocation":"18552:2:14","nodeType":"VariableDeclaration","scope":25318,"src":"18544:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25299,"name":"address","nodeType":"ElementaryTypeName","src":"18544:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25302,"mutability":"mutable","name":"p1","nameLocation":"18561:2:14","nodeType":"VariableDeclaration","scope":25318,"src":"18556:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25301,"name":"bool","nodeType":"ElementaryTypeName","src":"18556:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25304,"mutability":"mutable","name":"p2","nameLocation":"18573:2:14","nodeType":"VariableDeclaration","scope":25318,"src":"18565:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25303,"name":"uint256","nodeType":"ElementaryTypeName","src":"18565:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18543:33:14"},"returnParameters":{"id":25306,"nodeType":"ParameterList","parameters":[],"src":"18591:0:14"},"scope":31347,"src":"18531:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25337,"nodeType":"Block","src":"18761:97:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":25330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18811:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":25331,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25320,"src":"18839:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25332,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25322,"src":"18843:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25333,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25324,"src":"18847:2:14","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":25328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18787:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18791:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18787:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18787:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18771:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18771:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25336,"nodeType":"ExpressionStatement","src":"18771:80:14"}]},"id":25338,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18704:3:14","nodeType":"FunctionDefinition","parameters":{"id":25325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25320,"mutability":"mutable","name":"p0","nameLocation":"18716:2:14","nodeType":"VariableDeclaration","scope":25338,"src":"18708:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25319,"name":"address","nodeType":"ElementaryTypeName","src":"18708:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25322,"mutability":"mutable","name":"p1","nameLocation":"18725:2:14","nodeType":"VariableDeclaration","scope":25338,"src":"18720:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25321,"name":"bool","nodeType":"ElementaryTypeName","src":"18720:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25324,"mutability":"mutable","name":"p2","nameLocation":"18743:2:14","nodeType":"VariableDeclaration","scope":25338,"src":"18729:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25323,"name":"string","nodeType":"ElementaryTypeName","src":"18729:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18707:39:14"},"returnParameters":{"id":25326,"nodeType":"ParameterList","parameters":[],"src":"18761:0:14"},"scope":31347,"src":"18695:163:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25357,"nodeType":"Block","src":"18921:95:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":25350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18971:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":25351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25340,"src":"18997:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25352,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25342,"src":"19001:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25353,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25344,"src":"19005:2:14","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":25348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18947:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18951:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18947:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18947:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"18931:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18931:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25356,"nodeType":"ExpressionStatement","src":"18931:78:14"}]},"id":25358,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18873:3:14","nodeType":"FunctionDefinition","parameters":{"id":25345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25340,"mutability":"mutable","name":"p0","nameLocation":"18885:2:14","nodeType":"VariableDeclaration","scope":25358,"src":"18877:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25339,"name":"address","nodeType":"ElementaryTypeName","src":"18877:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25342,"mutability":"mutable","name":"p1","nameLocation":"18894:2:14","nodeType":"VariableDeclaration","scope":25358,"src":"18889:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25341,"name":"bool","nodeType":"ElementaryTypeName","src":"18889:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25344,"mutability":"mutable","name":"p2","nameLocation":"18903:2:14","nodeType":"VariableDeclaration","scope":25358,"src":"18898:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25343,"name":"bool","nodeType":"ElementaryTypeName","src":"18898:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18876:30:14"},"returnParameters":{"id":25346,"nodeType":"ParameterList","parameters":[],"src":"18921:0:14"},"scope":31347,"src":"18864:152:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25377,"nodeType":"Block","src":"19082:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":25370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19132:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":25371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25360,"src":"19161:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25362,"src":"19165:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25364,"src":"19169:2:14","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":25368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19108:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19112:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19108:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19108:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19092:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19092:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25376,"nodeType":"ExpressionStatement","src":"19092:81:14"}]},"id":25378,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19031:3:14","nodeType":"FunctionDefinition","parameters":{"id":25365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25360,"mutability":"mutable","name":"p0","nameLocation":"19043:2:14","nodeType":"VariableDeclaration","scope":25378,"src":"19035:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25359,"name":"address","nodeType":"ElementaryTypeName","src":"19035:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25362,"mutability":"mutable","name":"p1","nameLocation":"19052:2:14","nodeType":"VariableDeclaration","scope":25378,"src":"19047:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25361,"name":"bool","nodeType":"ElementaryTypeName","src":"19047:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25364,"mutability":"mutable","name":"p2","nameLocation":"19064:2:14","nodeType":"VariableDeclaration","scope":25378,"src":"19056:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25363,"name":"address","nodeType":"ElementaryTypeName","src":"19056:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19034:33:14"},"returnParameters":{"id":25366,"nodeType":"ParameterList","parameters":[],"src":"19082:0:14"},"scope":31347,"src":"19022:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25397,"nodeType":"Block","src":"19249:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":25390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19299:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":25391,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25380,"src":"19331:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25392,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25382,"src":"19335:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25393,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25384,"src":"19339:2:14","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":25388,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19275:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19279:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19275:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19275:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25387,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19259:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19259:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25396,"nodeType":"ExpressionStatement","src":"19259:84:14"}]},"id":25398,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19195:3:14","nodeType":"FunctionDefinition","parameters":{"id":25385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25380,"mutability":"mutable","name":"p0","nameLocation":"19207:2:14","nodeType":"VariableDeclaration","scope":25398,"src":"19199:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25379,"name":"address","nodeType":"ElementaryTypeName","src":"19199:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25382,"mutability":"mutable","name":"p1","nameLocation":"19219:2:14","nodeType":"VariableDeclaration","scope":25398,"src":"19211:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25381,"name":"address","nodeType":"ElementaryTypeName","src":"19211:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25384,"mutability":"mutable","name":"p2","nameLocation":"19231:2:14","nodeType":"VariableDeclaration","scope":25398,"src":"19223:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25383,"name":"uint256","nodeType":"ElementaryTypeName","src":"19223:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19198:36:14"},"returnParameters":{"id":25386,"nodeType":"ParameterList","parameters":[],"src":"19249:0:14"},"scope":31347,"src":"19186:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25417,"nodeType":"Block","src":"19425:100:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":25410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19475:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":25411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25400,"src":"19506:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25412,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25402,"src":"19510:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25413,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25404,"src":"19514:2:14","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":25408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19451:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19455:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19451:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19451:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19435:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19435:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25416,"nodeType":"ExpressionStatement","src":"19435:83:14"}]},"id":25418,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19365:3:14","nodeType":"FunctionDefinition","parameters":{"id":25405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25400,"mutability":"mutable","name":"p0","nameLocation":"19377:2:14","nodeType":"VariableDeclaration","scope":25418,"src":"19369:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25399,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25402,"mutability":"mutable","name":"p1","nameLocation":"19389:2:14","nodeType":"VariableDeclaration","scope":25418,"src":"19381:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25401,"name":"address","nodeType":"ElementaryTypeName","src":"19381:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25404,"mutability":"mutable","name":"p2","nameLocation":"19407:2:14","nodeType":"VariableDeclaration","scope":25418,"src":"19393:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25403,"name":"string","nodeType":"ElementaryTypeName","src":"19393:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19368:42:14"},"returnParameters":{"id":25406,"nodeType":"ParameterList","parameters":[],"src":"19425:0:14"},"scope":31347,"src":"19356:169:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25437,"nodeType":"Block","src":"19591:98:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":25430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19641:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":25431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25420,"src":"19670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25432,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25422,"src":"19674:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25433,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25424,"src":"19678:2:14","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":25428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19617:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19621:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19617:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19617:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19601:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19601:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25436,"nodeType":"ExpressionStatement","src":"19601:81:14"}]},"id":25438,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19540:3:14","nodeType":"FunctionDefinition","parameters":{"id":25425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25420,"mutability":"mutable","name":"p0","nameLocation":"19552:2:14","nodeType":"VariableDeclaration","scope":25438,"src":"19544:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25419,"name":"address","nodeType":"ElementaryTypeName","src":"19544:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25422,"mutability":"mutable","name":"p1","nameLocation":"19564:2:14","nodeType":"VariableDeclaration","scope":25438,"src":"19556:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25421,"name":"address","nodeType":"ElementaryTypeName","src":"19556:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25424,"mutability":"mutable","name":"p2","nameLocation":"19573:2:14","nodeType":"VariableDeclaration","scope":25438,"src":"19568:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25423,"name":"bool","nodeType":"ElementaryTypeName","src":"19568:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19543:33:14"},"returnParameters":{"id":25426,"nodeType":"ParameterList","parameters":[],"src":"19591:0:14"},"scope":31347,"src":"19531:158:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25457,"nodeType":"Block","src":"19758:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":25450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19808:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":25451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25440,"src":"19840:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25442,"src":"19844:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25444,"src":"19848:2:14","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":25448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19784:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19788:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19784:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19784:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19768:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19768:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25456,"nodeType":"ExpressionStatement","src":"19768:84:14"}]},"id":25458,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19704:3:14","nodeType":"FunctionDefinition","parameters":{"id":25445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25440,"mutability":"mutable","name":"p0","nameLocation":"19716:2:14","nodeType":"VariableDeclaration","scope":25458,"src":"19708:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25439,"name":"address","nodeType":"ElementaryTypeName","src":"19708:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25442,"mutability":"mutable","name":"p1","nameLocation":"19728:2:14","nodeType":"VariableDeclaration","scope":25458,"src":"19720:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25441,"name":"address","nodeType":"ElementaryTypeName","src":"19720:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25444,"mutability":"mutable","name":"p2","nameLocation":"19740:2:14","nodeType":"VariableDeclaration","scope":25458,"src":"19732:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25443,"name":"address","nodeType":"ElementaryTypeName","src":"19732:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19707:36:14"},"returnParameters":{"id":25446,"nodeType":"ParameterList","parameters":[],"src":"19758:0:14"},"scope":31347,"src":"19695:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25480,"nodeType":"Block","src":"19940:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":25472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19990:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":25473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25460,"src":"20030:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25474,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25462,"src":"20034:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25475,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25464,"src":"20038:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25476,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25466,"src":"20042:2:14","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":25470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19966:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19970:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19966:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19966:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"19950:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19950:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25479,"nodeType":"ExpressionStatement","src":"19950:96:14"}]},"id":25481,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19874:3:14","nodeType":"FunctionDefinition","parameters":{"id":25467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25460,"mutability":"mutable","name":"p0","nameLocation":"19886:2:14","nodeType":"VariableDeclaration","scope":25481,"src":"19878:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25459,"name":"uint256","nodeType":"ElementaryTypeName","src":"19878:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25462,"mutability":"mutable","name":"p1","nameLocation":"19898:2:14","nodeType":"VariableDeclaration","scope":25481,"src":"19890:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25461,"name":"uint256","nodeType":"ElementaryTypeName","src":"19890:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25464,"mutability":"mutable","name":"p2","nameLocation":"19910:2:14","nodeType":"VariableDeclaration","scope":25481,"src":"19902:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25463,"name":"uint256","nodeType":"ElementaryTypeName","src":"19902:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25466,"mutability":"mutable","name":"p3","nameLocation":"19922:2:14","nodeType":"VariableDeclaration","scope":25481,"src":"19914:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25465,"name":"uint256","nodeType":"ElementaryTypeName","src":"19914:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19877:48:14"},"returnParameters":{"id":25468,"nodeType":"ParameterList","parameters":[],"src":"19940:0:14"},"scope":31347,"src":"19865:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25503,"nodeType":"Block","src":"20140:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":25495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20190:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":25496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25483,"src":"20229:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25497,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25485,"src":"20233:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25498,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25487,"src":"20237:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25499,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25489,"src":"20241:2:14","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":25493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20166:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20170:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20166:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20166:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"20150:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20150:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25502,"nodeType":"ExpressionStatement","src":"20150:95:14"}]},"id":25504,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20068:3:14","nodeType":"FunctionDefinition","parameters":{"id":25490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25483,"mutability":"mutable","name":"p0","nameLocation":"20080:2:14","nodeType":"VariableDeclaration","scope":25504,"src":"20072:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25482,"name":"uint256","nodeType":"ElementaryTypeName","src":"20072:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25485,"mutability":"mutable","name":"p1","nameLocation":"20092:2:14","nodeType":"VariableDeclaration","scope":25504,"src":"20084:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25484,"name":"uint256","nodeType":"ElementaryTypeName","src":"20084:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25487,"mutability":"mutable","name":"p2","nameLocation":"20104:2:14","nodeType":"VariableDeclaration","scope":25504,"src":"20096:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25486,"name":"uint256","nodeType":"ElementaryTypeName","src":"20096:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25489,"mutability":"mutable","name":"p3","nameLocation":"20122:2:14","nodeType":"VariableDeclaration","scope":25504,"src":"20108:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25488,"name":"string","nodeType":"ElementaryTypeName","src":"20108:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20071:54:14"},"returnParameters":{"id":25491,"nodeType":"ParameterList","parameters":[],"src":"20140:0:14"},"scope":31347,"src":"20059:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25526,"nodeType":"Block","src":"20330:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":25518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20380:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":25519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25506,"src":"20417:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25508,"src":"20421:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25510,"src":"20425:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25522,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25512,"src":"20429:2:14","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":25516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20356:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20360:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20356:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"20340:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25525,"nodeType":"ExpressionStatement","src":"20340:93:14"}]},"id":25527,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20267:3:14","nodeType":"FunctionDefinition","parameters":{"id":25513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25506,"mutability":"mutable","name":"p0","nameLocation":"20279:2:14","nodeType":"VariableDeclaration","scope":25527,"src":"20271:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25505,"name":"uint256","nodeType":"ElementaryTypeName","src":"20271:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25508,"mutability":"mutable","name":"p1","nameLocation":"20291:2:14","nodeType":"VariableDeclaration","scope":25527,"src":"20283:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25507,"name":"uint256","nodeType":"ElementaryTypeName","src":"20283:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25510,"mutability":"mutable","name":"p2","nameLocation":"20303:2:14","nodeType":"VariableDeclaration","scope":25527,"src":"20295:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25509,"name":"uint256","nodeType":"ElementaryTypeName","src":"20295:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25512,"mutability":"mutable","name":"p3","nameLocation":"20312:2:14","nodeType":"VariableDeclaration","scope":25527,"src":"20307:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25511,"name":"bool","nodeType":"ElementaryTypeName","src":"20307:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20270:45:14"},"returnParameters":{"id":25514,"nodeType":"ParameterList","parameters":[],"src":"20330:0:14"},"scope":31347,"src":"20258:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25549,"nodeType":"Block","src":"20521:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":25541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20571:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":25542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25529,"src":"20611:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25543,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25531,"src":"20615:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25544,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25533,"src":"20619:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25545,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25535,"src":"20623:2:14","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":25539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20547:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20551:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20547:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"20531:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25548,"nodeType":"ExpressionStatement","src":"20531:96:14"}]},"id":25550,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20455:3:14","nodeType":"FunctionDefinition","parameters":{"id":25536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25529,"mutability":"mutable","name":"p0","nameLocation":"20467:2:14","nodeType":"VariableDeclaration","scope":25550,"src":"20459:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25528,"name":"uint256","nodeType":"ElementaryTypeName","src":"20459:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25531,"mutability":"mutable","name":"p1","nameLocation":"20479:2:14","nodeType":"VariableDeclaration","scope":25550,"src":"20471:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25530,"name":"uint256","nodeType":"ElementaryTypeName","src":"20471:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25533,"mutability":"mutable","name":"p2","nameLocation":"20491:2:14","nodeType":"VariableDeclaration","scope":25550,"src":"20483:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25532,"name":"uint256","nodeType":"ElementaryTypeName","src":"20483:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25535,"mutability":"mutable","name":"p3","nameLocation":"20503:2:14","nodeType":"VariableDeclaration","scope":25550,"src":"20495:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25534,"name":"address","nodeType":"ElementaryTypeName","src":"20495:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20458:48:14"},"returnParameters":{"id":25537,"nodeType":"ParameterList","parameters":[],"src":"20521:0:14"},"scope":31347,"src":"20446:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25572,"nodeType":"Block","src":"20721:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":25564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20771:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":25565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25552,"src":"20810:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25554,"src":"20814:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25556,"src":"20818:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25568,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25558,"src":"20822:2:14","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":25562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20747:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20751:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20747:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"20731:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20731:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25571,"nodeType":"ExpressionStatement","src":"20731:95:14"}]},"id":25573,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20649:3:14","nodeType":"FunctionDefinition","parameters":{"id":25559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25552,"mutability":"mutable","name":"p0","nameLocation":"20661:2:14","nodeType":"VariableDeclaration","scope":25573,"src":"20653:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25551,"name":"uint256","nodeType":"ElementaryTypeName","src":"20653:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25554,"mutability":"mutable","name":"p1","nameLocation":"20673:2:14","nodeType":"VariableDeclaration","scope":25573,"src":"20665:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25553,"name":"uint256","nodeType":"ElementaryTypeName","src":"20665:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25556,"mutability":"mutable","name":"p2","nameLocation":"20691:2:14","nodeType":"VariableDeclaration","scope":25573,"src":"20677:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25555,"name":"string","nodeType":"ElementaryTypeName","src":"20677:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25558,"mutability":"mutable","name":"p3","nameLocation":"20703:2:14","nodeType":"VariableDeclaration","scope":25573,"src":"20695:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25557,"name":"uint256","nodeType":"ElementaryTypeName","src":"20695:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20652:54:14"},"returnParameters":{"id":25560,"nodeType":"ParameterList","parameters":[],"src":"20721:0:14"},"scope":31347,"src":"20640:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25595,"nodeType":"Block","src":"20926:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":25587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20976:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":25588,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25575,"src":"21014:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25589,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25577,"src":"21018:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25590,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25579,"src":"21022:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25591,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25581,"src":"21026:2:14","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":25585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20952:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20956:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20952:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20952:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"20936:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20936:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25594,"nodeType":"ExpressionStatement","src":"20936:94:14"}]},"id":25596,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20848:3:14","nodeType":"FunctionDefinition","parameters":{"id":25582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25575,"mutability":"mutable","name":"p0","nameLocation":"20860:2:14","nodeType":"VariableDeclaration","scope":25596,"src":"20852:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25574,"name":"uint256","nodeType":"ElementaryTypeName","src":"20852:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25577,"mutability":"mutable","name":"p1","nameLocation":"20872:2:14","nodeType":"VariableDeclaration","scope":25596,"src":"20864:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25576,"name":"uint256","nodeType":"ElementaryTypeName","src":"20864:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25579,"mutability":"mutable","name":"p2","nameLocation":"20890:2:14","nodeType":"VariableDeclaration","scope":25596,"src":"20876:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25578,"name":"string","nodeType":"ElementaryTypeName","src":"20876:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25581,"mutability":"mutable","name":"p3","nameLocation":"20908:2:14","nodeType":"VariableDeclaration","scope":25596,"src":"20894:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25580,"name":"string","nodeType":"ElementaryTypeName","src":"20894:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20851:60:14"},"returnParameters":{"id":25583,"nodeType":"ParameterList","parameters":[],"src":"20926:0:14"},"scope":31347,"src":"20839:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25618,"nodeType":"Block","src":"21121:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":25610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21171:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":25611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25598,"src":"21207:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25600,"src":"21211:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25602,"src":"21215:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25614,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25604,"src":"21219:2:14","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":25608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21147:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21151:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21147:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21147:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"21131:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21131:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25617,"nodeType":"ExpressionStatement","src":"21131:92:14"}]},"id":25619,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21052:3:14","nodeType":"FunctionDefinition","parameters":{"id":25605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25598,"mutability":"mutable","name":"p0","nameLocation":"21064:2:14","nodeType":"VariableDeclaration","scope":25619,"src":"21056:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25597,"name":"uint256","nodeType":"ElementaryTypeName","src":"21056:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25600,"mutability":"mutable","name":"p1","nameLocation":"21076:2:14","nodeType":"VariableDeclaration","scope":25619,"src":"21068:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25599,"name":"uint256","nodeType":"ElementaryTypeName","src":"21068:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25602,"mutability":"mutable","name":"p2","nameLocation":"21094:2:14","nodeType":"VariableDeclaration","scope":25619,"src":"21080:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25601,"name":"string","nodeType":"ElementaryTypeName","src":"21080:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25604,"mutability":"mutable","name":"p3","nameLocation":"21103:2:14","nodeType":"VariableDeclaration","scope":25619,"src":"21098:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25603,"name":"bool","nodeType":"ElementaryTypeName","src":"21098:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21055:51:14"},"returnParameters":{"id":25606,"nodeType":"ParameterList","parameters":[],"src":"21121:0:14"},"scope":31347,"src":"21043:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25641,"nodeType":"Block","src":"21317:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":25633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21367:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":25634,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25621,"src":"21406:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25635,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25623,"src":"21410:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25636,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25625,"src":"21414:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25637,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25627,"src":"21418:2:14","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":25631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21343:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21347:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21343:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21343:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"21327:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25640,"nodeType":"ExpressionStatement","src":"21327:95:14"}]},"id":25642,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21245:3:14","nodeType":"FunctionDefinition","parameters":{"id":25628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25621,"mutability":"mutable","name":"p0","nameLocation":"21257:2:14","nodeType":"VariableDeclaration","scope":25642,"src":"21249:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25620,"name":"uint256","nodeType":"ElementaryTypeName","src":"21249:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25623,"mutability":"mutable","name":"p1","nameLocation":"21269:2:14","nodeType":"VariableDeclaration","scope":25642,"src":"21261:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25622,"name":"uint256","nodeType":"ElementaryTypeName","src":"21261:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25625,"mutability":"mutable","name":"p2","nameLocation":"21287:2:14","nodeType":"VariableDeclaration","scope":25642,"src":"21273:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25624,"name":"string","nodeType":"ElementaryTypeName","src":"21273:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25627,"mutability":"mutable","name":"p3","nameLocation":"21299:2:14","nodeType":"VariableDeclaration","scope":25642,"src":"21291:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25626,"name":"address","nodeType":"ElementaryTypeName","src":"21291:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21248:54:14"},"returnParameters":{"id":25629,"nodeType":"ParameterList","parameters":[],"src":"21317:0:14"},"scope":31347,"src":"21236:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25664,"nodeType":"Block","src":"21507:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":25656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21557:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":25657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25644,"src":"21594:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25658,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25646,"src":"21598:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25659,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25648,"src":"21602:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25660,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25650,"src":"21606:2:14","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":25654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21533:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21537:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21533:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21533:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"21517:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21517:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25663,"nodeType":"ExpressionStatement","src":"21517:93:14"}]},"id":25665,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21444:3:14","nodeType":"FunctionDefinition","parameters":{"id":25651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25644,"mutability":"mutable","name":"p0","nameLocation":"21456:2:14","nodeType":"VariableDeclaration","scope":25665,"src":"21448:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25643,"name":"uint256","nodeType":"ElementaryTypeName","src":"21448:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25646,"mutability":"mutable","name":"p1","nameLocation":"21468:2:14","nodeType":"VariableDeclaration","scope":25665,"src":"21460:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25645,"name":"uint256","nodeType":"ElementaryTypeName","src":"21460:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25648,"mutability":"mutable","name":"p2","nameLocation":"21477:2:14","nodeType":"VariableDeclaration","scope":25665,"src":"21472:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25647,"name":"bool","nodeType":"ElementaryTypeName","src":"21472:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25650,"mutability":"mutable","name":"p3","nameLocation":"21489:2:14","nodeType":"VariableDeclaration","scope":25665,"src":"21481:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25649,"name":"uint256","nodeType":"ElementaryTypeName","src":"21481:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21447:45:14"},"returnParameters":{"id":25652,"nodeType":"ParameterList","parameters":[],"src":"21507:0:14"},"scope":31347,"src":"21435:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25687,"nodeType":"Block","src":"21701:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":25679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21751:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":25680,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25667,"src":"21787:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25681,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25669,"src":"21791:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25682,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25671,"src":"21795:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25683,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25673,"src":"21799:2:14","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":25677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21727:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21731:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21727:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21727:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"21711:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21711:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25686,"nodeType":"ExpressionStatement","src":"21711:92:14"}]},"id":25688,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21632:3:14","nodeType":"FunctionDefinition","parameters":{"id":25674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25667,"mutability":"mutable","name":"p0","nameLocation":"21644:2:14","nodeType":"VariableDeclaration","scope":25688,"src":"21636:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25666,"name":"uint256","nodeType":"ElementaryTypeName","src":"21636:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25669,"mutability":"mutable","name":"p1","nameLocation":"21656:2:14","nodeType":"VariableDeclaration","scope":25688,"src":"21648:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25668,"name":"uint256","nodeType":"ElementaryTypeName","src":"21648:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25671,"mutability":"mutable","name":"p2","nameLocation":"21665:2:14","nodeType":"VariableDeclaration","scope":25688,"src":"21660:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25670,"name":"bool","nodeType":"ElementaryTypeName","src":"21660:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25673,"mutability":"mutable","name":"p3","nameLocation":"21683:2:14","nodeType":"VariableDeclaration","scope":25688,"src":"21669:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25672,"name":"string","nodeType":"ElementaryTypeName","src":"21669:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21635:51:14"},"returnParameters":{"id":25675,"nodeType":"ParameterList","parameters":[],"src":"21701:0:14"},"scope":31347,"src":"21623:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25710,"nodeType":"Block","src":"21885:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":25702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21935:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":25703,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25690,"src":"21969:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25704,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25692,"src":"21973:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25705,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25694,"src":"21977:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25706,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25696,"src":"21981:2:14","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":25700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21911:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21915:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21911:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21911:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"21895:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21895:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25709,"nodeType":"ExpressionStatement","src":"21895:90:14"}]},"id":25711,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21825:3:14","nodeType":"FunctionDefinition","parameters":{"id":25697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25690,"mutability":"mutable","name":"p0","nameLocation":"21837:2:14","nodeType":"VariableDeclaration","scope":25711,"src":"21829:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25689,"name":"uint256","nodeType":"ElementaryTypeName","src":"21829:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25692,"mutability":"mutable","name":"p1","nameLocation":"21849:2:14","nodeType":"VariableDeclaration","scope":25711,"src":"21841:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25691,"name":"uint256","nodeType":"ElementaryTypeName","src":"21841:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25694,"mutability":"mutable","name":"p2","nameLocation":"21858:2:14","nodeType":"VariableDeclaration","scope":25711,"src":"21853:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25693,"name":"bool","nodeType":"ElementaryTypeName","src":"21853:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25696,"mutability":"mutable","name":"p3","nameLocation":"21867:2:14","nodeType":"VariableDeclaration","scope":25711,"src":"21862:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25695,"name":"bool","nodeType":"ElementaryTypeName","src":"21862:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21828:42:14"},"returnParameters":{"id":25698,"nodeType":"ParameterList","parameters":[],"src":"21885:0:14"},"scope":31347,"src":"21816:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25733,"nodeType":"Block","src":"22070:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":25725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22120:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":25726,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25713,"src":"22157:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25727,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25715,"src":"22161:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25728,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25717,"src":"22165:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25729,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25719,"src":"22169:2:14","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":25723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22096:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22100:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22096:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22096:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25722,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"22080:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22080:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25732,"nodeType":"ExpressionStatement","src":"22080:93:14"}]},"id":25734,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22007:3:14","nodeType":"FunctionDefinition","parameters":{"id":25720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25713,"mutability":"mutable","name":"p0","nameLocation":"22019:2:14","nodeType":"VariableDeclaration","scope":25734,"src":"22011:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25712,"name":"uint256","nodeType":"ElementaryTypeName","src":"22011:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25715,"mutability":"mutable","name":"p1","nameLocation":"22031:2:14","nodeType":"VariableDeclaration","scope":25734,"src":"22023:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25714,"name":"uint256","nodeType":"ElementaryTypeName","src":"22023:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25717,"mutability":"mutable","name":"p2","nameLocation":"22040:2:14","nodeType":"VariableDeclaration","scope":25734,"src":"22035:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25716,"name":"bool","nodeType":"ElementaryTypeName","src":"22035:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25719,"mutability":"mutable","name":"p3","nameLocation":"22052:2:14","nodeType":"VariableDeclaration","scope":25734,"src":"22044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25718,"name":"address","nodeType":"ElementaryTypeName","src":"22044:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22010:45:14"},"returnParameters":{"id":25721,"nodeType":"ParameterList","parameters":[],"src":"22070:0:14"},"scope":31347,"src":"21998:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25756,"nodeType":"Block","src":"22261:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":25748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22311:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":25749,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25736,"src":"22351:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25750,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25738,"src":"22355:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25751,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25740,"src":"22359:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25752,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25742,"src":"22363:2:14","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":25746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22287:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22291:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22287:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22287:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25745,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"22271:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22271:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25755,"nodeType":"ExpressionStatement","src":"22271:96:14"}]},"id":25757,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22195:3:14","nodeType":"FunctionDefinition","parameters":{"id":25743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25736,"mutability":"mutable","name":"p0","nameLocation":"22207:2:14","nodeType":"VariableDeclaration","scope":25757,"src":"22199:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25735,"name":"uint256","nodeType":"ElementaryTypeName","src":"22199:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25738,"mutability":"mutable","name":"p1","nameLocation":"22219:2:14","nodeType":"VariableDeclaration","scope":25757,"src":"22211:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25737,"name":"uint256","nodeType":"ElementaryTypeName","src":"22211:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25740,"mutability":"mutable","name":"p2","nameLocation":"22231:2:14","nodeType":"VariableDeclaration","scope":25757,"src":"22223:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25739,"name":"address","nodeType":"ElementaryTypeName","src":"22223:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25742,"mutability":"mutable","name":"p3","nameLocation":"22243:2:14","nodeType":"VariableDeclaration","scope":25757,"src":"22235:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25741,"name":"uint256","nodeType":"ElementaryTypeName","src":"22235:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22198:48:14"},"returnParameters":{"id":25744,"nodeType":"ParameterList","parameters":[],"src":"22261:0:14"},"scope":31347,"src":"22186:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25779,"nodeType":"Block","src":"22461:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":25771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22511:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":25772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25759,"src":"22550:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25761,"src":"22554:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25774,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25763,"src":"22558:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25775,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25765,"src":"22562:2:14","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":25769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22487:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22491:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22487:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22487:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"22471:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22471:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25778,"nodeType":"ExpressionStatement","src":"22471:95:14"}]},"id":25780,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22389:3:14","nodeType":"FunctionDefinition","parameters":{"id":25766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25759,"mutability":"mutable","name":"p0","nameLocation":"22401:2:14","nodeType":"VariableDeclaration","scope":25780,"src":"22393:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25758,"name":"uint256","nodeType":"ElementaryTypeName","src":"22393:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25761,"mutability":"mutable","name":"p1","nameLocation":"22413:2:14","nodeType":"VariableDeclaration","scope":25780,"src":"22405:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25760,"name":"uint256","nodeType":"ElementaryTypeName","src":"22405:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25763,"mutability":"mutable","name":"p2","nameLocation":"22425:2:14","nodeType":"VariableDeclaration","scope":25780,"src":"22417:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25762,"name":"address","nodeType":"ElementaryTypeName","src":"22417:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25765,"mutability":"mutable","name":"p3","nameLocation":"22443:2:14","nodeType":"VariableDeclaration","scope":25780,"src":"22429:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25764,"name":"string","nodeType":"ElementaryTypeName","src":"22429:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22392:54:14"},"returnParameters":{"id":25767,"nodeType":"ParameterList","parameters":[],"src":"22461:0:14"},"scope":31347,"src":"22380:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25802,"nodeType":"Block","src":"22651:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":25794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22701:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":25795,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25782,"src":"22738:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25796,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25784,"src":"22742:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25797,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25786,"src":"22746:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25798,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25788,"src":"22750:2:14","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":25792,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22677:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22681:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22677:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22677:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"22661:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22661:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25801,"nodeType":"ExpressionStatement","src":"22661:93:14"}]},"id":25803,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22588:3:14","nodeType":"FunctionDefinition","parameters":{"id":25789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25782,"mutability":"mutable","name":"p0","nameLocation":"22600:2:14","nodeType":"VariableDeclaration","scope":25803,"src":"22592:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25781,"name":"uint256","nodeType":"ElementaryTypeName","src":"22592:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25784,"mutability":"mutable","name":"p1","nameLocation":"22612:2:14","nodeType":"VariableDeclaration","scope":25803,"src":"22604:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25783,"name":"uint256","nodeType":"ElementaryTypeName","src":"22604:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25786,"mutability":"mutable","name":"p2","nameLocation":"22624:2:14","nodeType":"VariableDeclaration","scope":25803,"src":"22616:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25785,"name":"address","nodeType":"ElementaryTypeName","src":"22616:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25788,"mutability":"mutable","name":"p3","nameLocation":"22633:2:14","nodeType":"VariableDeclaration","scope":25803,"src":"22628:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25787,"name":"bool","nodeType":"ElementaryTypeName","src":"22628:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22591:45:14"},"returnParameters":{"id":25790,"nodeType":"ParameterList","parameters":[],"src":"22651:0:14"},"scope":31347,"src":"22579:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25825,"nodeType":"Block","src":"22842:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":25817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22892:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":25818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25805,"src":"22932:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25807,"src":"22936:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25820,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25809,"src":"22940:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25821,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25811,"src":"22944:2:14","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":25815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22868:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22872:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22868:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22868:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"22852:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22852:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25824,"nodeType":"ExpressionStatement","src":"22852:96:14"}]},"id":25826,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22776:3:14","nodeType":"FunctionDefinition","parameters":{"id":25812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25805,"mutability":"mutable","name":"p0","nameLocation":"22788:2:14","nodeType":"VariableDeclaration","scope":25826,"src":"22780:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25804,"name":"uint256","nodeType":"ElementaryTypeName","src":"22780:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25807,"mutability":"mutable","name":"p1","nameLocation":"22800:2:14","nodeType":"VariableDeclaration","scope":25826,"src":"22792:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25806,"name":"uint256","nodeType":"ElementaryTypeName","src":"22792:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25809,"mutability":"mutable","name":"p2","nameLocation":"22812:2:14","nodeType":"VariableDeclaration","scope":25826,"src":"22804:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25808,"name":"address","nodeType":"ElementaryTypeName","src":"22804:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25811,"mutability":"mutable","name":"p3","nameLocation":"22824:2:14","nodeType":"VariableDeclaration","scope":25826,"src":"22816:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25810,"name":"address","nodeType":"ElementaryTypeName","src":"22816:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22779:48:14"},"returnParameters":{"id":25813,"nodeType":"ParameterList","parameters":[],"src":"22842:0:14"},"scope":31347,"src":"22767:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25848,"nodeType":"Block","src":"23042:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":25840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23092:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":25841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25828,"src":"23131:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25830,"src":"23135:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25832,"src":"23139:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25844,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25834,"src":"23143:2:14","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":25838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23068:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23072:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23068:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23068:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"23052:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23052:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25847,"nodeType":"ExpressionStatement","src":"23052:95:14"}]},"id":25849,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22970:3:14","nodeType":"FunctionDefinition","parameters":{"id":25835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25828,"mutability":"mutable","name":"p0","nameLocation":"22982:2:14","nodeType":"VariableDeclaration","scope":25849,"src":"22974:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25827,"name":"uint256","nodeType":"ElementaryTypeName","src":"22974:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25830,"mutability":"mutable","name":"p1","nameLocation":"23000:2:14","nodeType":"VariableDeclaration","scope":25849,"src":"22986:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25829,"name":"string","nodeType":"ElementaryTypeName","src":"22986:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25832,"mutability":"mutable","name":"p2","nameLocation":"23012:2:14","nodeType":"VariableDeclaration","scope":25849,"src":"23004:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25831,"name":"uint256","nodeType":"ElementaryTypeName","src":"23004:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25834,"mutability":"mutable","name":"p3","nameLocation":"23024:2:14","nodeType":"VariableDeclaration","scope":25849,"src":"23016:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25833,"name":"uint256","nodeType":"ElementaryTypeName","src":"23016:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22973:54:14"},"returnParameters":{"id":25836,"nodeType":"ParameterList","parameters":[],"src":"23042:0:14"},"scope":31347,"src":"22961:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25871,"nodeType":"Block","src":"23247:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":25863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23297:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":25864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25851,"src":"23335:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25853,"src":"23339:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25855,"src":"23343:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25867,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25857,"src":"23347:2:14","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":25861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23273:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23277:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23273:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23273:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"23257:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23257:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25870,"nodeType":"ExpressionStatement","src":"23257:94:14"}]},"id":25872,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23169:3:14","nodeType":"FunctionDefinition","parameters":{"id":25858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25851,"mutability":"mutable","name":"p0","nameLocation":"23181:2:14","nodeType":"VariableDeclaration","scope":25872,"src":"23173:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25850,"name":"uint256","nodeType":"ElementaryTypeName","src":"23173:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25853,"mutability":"mutable","name":"p1","nameLocation":"23199:2:14","nodeType":"VariableDeclaration","scope":25872,"src":"23185:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25852,"name":"string","nodeType":"ElementaryTypeName","src":"23185:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25855,"mutability":"mutable","name":"p2","nameLocation":"23211:2:14","nodeType":"VariableDeclaration","scope":25872,"src":"23203:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25854,"name":"uint256","nodeType":"ElementaryTypeName","src":"23203:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25857,"mutability":"mutable","name":"p3","nameLocation":"23229:2:14","nodeType":"VariableDeclaration","scope":25872,"src":"23215:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25856,"name":"string","nodeType":"ElementaryTypeName","src":"23215:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23172:60:14"},"returnParameters":{"id":25859,"nodeType":"ParameterList","parameters":[],"src":"23247:0:14"},"scope":31347,"src":"23160:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25894,"nodeType":"Block","src":"23442:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":25886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23492:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":25887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25874,"src":"23528:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25876,"src":"23532:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25889,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25878,"src":"23536:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25890,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25880,"src":"23540:2:14","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":25884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23468:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23472:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23468:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23468:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"23452:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23452:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25893,"nodeType":"ExpressionStatement","src":"23452:92:14"}]},"id":25895,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23373:3:14","nodeType":"FunctionDefinition","parameters":{"id":25881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25874,"mutability":"mutable","name":"p0","nameLocation":"23385:2:14","nodeType":"VariableDeclaration","scope":25895,"src":"23377:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25873,"name":"uint256","nodeType":"ElementaryTypeName","src":"23377:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25876,"mutability":"mutable","name":"p1","nameLocation":"23403:2:14","nodeType":"VariableDeclaration","scope":25895,"src":"23389:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25875,"name":"string","nodeType":"ElementaryTypeName","src":"23389:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25878,"mutability":"mutable","name":"p2","nameLocation":"23415:2:14","nodeType":"VariableDeclaration","scope":25895,"src":"23407:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25877,"name":"uint256","nodeType":"ElementaryTypeName","src":"23407:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25880,"mutability":"mutable","name":"p3","nameLocation":"23424:2:14","nodeType":"VariableDeclaration","scope":25895,"src":"23419:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25879,"name":"bool","nodeType":"ElementaryTypeName","src":"23419:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23376:51:14"},"returnParameters":{"id":25882,"nodeType":"ParameterList","parameters":[],"src":"23442:0:14"},"scope":31347,"src":"23364:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25917,"nodeType":"Block","src":"23638:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":25909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23688:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":25910,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25897,"src":"23727:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25911,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25899,"src":"23731:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25912,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25901,"src":"23735:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25913,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25903,"src":"23739:2:14","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":25907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23668:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23664:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25906,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"23648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23648:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25916,"nodeType":"ExpressionStatement","src":"23648:95:14"}]},"id":25918,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23566:3:14","nodeType":"FunctionDefinition","parameters":{"id":25904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25897,"mutability":"mutable","name":"p0","nameLocation":"23578:2:14","nodeType":"VariableDeclaration","scope":25918,"src":"23570:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25896,"name":"uint256","nodeType":"ElementaryTypeName","src":"23570:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25899,"mutability":"mutable","name":"p1","nameLocation":"23596:2:14","nodeType":"VariableDeclaration","scope":25918,"src":"23582:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25898,"name":"string","nodeType":"ElementaryTypeName","src":"23582:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25901,"mutability":"mutable","name":"p2","nameLocation":"23608:2:14","nodeType":"VariableDeclaration","scope":25918,"src":"23600:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25900,"name":"uint256","nodeType":"ElementaryTypeName","src":"23600:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25903,"mutability":"mutable","name":"p3","nameLocation":"23620:2:14","nodeType":"VariableDeclaration","scope":25918,"src":"23612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25902,"name":"address","nodeType":"ElementaryTypeName","src":"23612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23569:54:14"},"returnParameters":{"id":25905,"nodeType":"ParameterList","parameters":[],"src":"23638:0:14"},"scope":31347,"src":"23557:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25940,"nodeType":"Block","src":"23843:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":25932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23893:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":25933,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25920,"src":"23931:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25934,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25922,"src":"23935:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25935,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25924,"src":"23939:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25936,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25926,"src":"23943:2:14","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":25930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23869:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23873:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23869:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23869:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"23853:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23853:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25939,"nodeType":"ExpressionStatement","src":"23853:94:14"}]},"id":25941,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23765:3:14","nodeType":"FunctionDefinition","parameters":{"id":25927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25920,"mutability":"mutable","name":"p0","nameLocation":"23777:2:14","nodeType":"VariableDeclaration","scope":25941,"src":"23769:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25919,"name":"uint256","nodeType":"ElementaryTypeName","src":"23769:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25922,"mutability":"mutable","name":"p1","nameLocation":"23795:2:14","nodeType":"VariableDeclaration","scope":25941,"src":"23781:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25921,"name":"string","nodeType":"ElementaryTypeName","src":"23781:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25924,"mutability":"mutable","name":"p2","nameLocation":"23813:2:14","nodeType":"VariableDeclaration","scope":25941,"src":"23799:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25923,"name":"string","nodeType":"ElementaryTypeName","src":"23799:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25926,"mutability":"mutable","name":"p3","nameLocation":"23825:2:14","nodeType":"VariableDeclaration","scope":25941,"src":"23817:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25925,"name":"uint256","nodeType":"ElementaryTypeName","src":"23817:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23768:60:14"},"returnParameters":{"id":25928,"nodeType":"ParameterList","parameters":[],"src":"23843:0:14"},"scope":31347,"src":"23756:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25963,"nodeType":"Block","src":"24053:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":25955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24103:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":25956,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25943,"src":"24140:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25957,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25945,"src":"24144:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25958,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25947,"src":"24148:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25959,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25949,"src":"24152:2:14","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":25953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24079:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24083:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24079:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24079:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25952,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"24063:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24063:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25962,"nodeType":"ExpressionStatement","src":"24063:93:14"}]},"id":25964,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23969:3:14","nodeType":"FunctionDefinition","parameters":{"id":25950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25943,"mutability":"mutable","name":"p0","nameLocation":"23981:2:14","nodeType":"VariableDeclaration","scope":25964,"src":"23973:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25942,"name":"uint256","nodeType":"ElementaryTypeName","src":"23973:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25945,"mutability":"mutable","name":"p1","nameLocation":"23999:2:14","nodeType":"VariableDeclaration","scope":25964,"src":"23985:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25944,"name":"string","nodeType":"ElementaryTypeName","src":"23985:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25947,"mutability":"mutable","name":"p2","nameLocation":"24017:2:14","nodeType":"VariableDeclaration","scope":25964,"src":"24003:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25946,"name":"string","nodeType":"ElementaryTypeName","src":"24003:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25949,"mutability":"mutable","name":"p3","nameLocation":"24035:2:14","nodeType":"VariableDeclaration","scope":25964,"src":"24021:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25948,"name":"string","nodeType":"ElementaryTypeName","src":"24021:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23972:66:14"},"returnParameters":{"id":25951,"nodeType":"ParameterList","parameters":[],"src":"24053:0:14"},"scope":31347,"src":"23960:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":25986,"nodeType":"Block","src":"24253:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":25978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24303:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":25979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25966,"src":"24338:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25968,"src":"24342:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25970,"src":"24346:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25982,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25972,"src":"24350:2:14","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":25976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24279:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24283:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24279:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24279:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"24263:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24263:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25985,"nodeType":"ExpressionStatement","src":"24263:91:14"}]},"id":25987,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24178:3:14","nodeType":"FunctionDefinition","parameters":{"id":25973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25966,"mutability":"mutable","name":"p0","nameLocation":"24190:2:14","nodeType":"VariableDeclaration","scope":25987,"src":"24182:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25965,"name":"uint256","nodeType":"ElementaryTypeName","src":"24182:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25968,"mutability":"mutable","name":"p1","nameLocation":"24208:2:14","nodeType":"VariableDeclaration","scope":25987,"src":"24194:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25967,"name":"string","nodeType":"ElementaryTypeName","src":"24194:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25970,"mutability":"mutable","name":"p2","nameLocation":"24226:2:14","nodeType":"VariableDeclaration","scope":25987,"src":"24212:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25969,"name":"string","nodeType":"ElementaryTypeName","src":"24212:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25972,"mutability":"mutable","name":"p3","nameLocation":"24235:2:14","nodeType":"VariableDeclaration","scope":25987,"src":"24230:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25971,"name":"bool","nodeType":"ElementaryTypeName","src":"24230:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24181:57:14"},"returnParameters":{"id":25974,"nodeType":"ParameterList","parameters":[],"src":"24253:0:14"},"scope":31347,"src":"24169:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26009,"nodeType":"Block","src":"24454:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":26001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24504:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":26002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25989,"src":"24542:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25991,"src":"24546:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26004,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25993,"src":"24550:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26005,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25995,"src":"24554:2:14","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":25999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24480:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24484:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24480:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24480:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"24464:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24464:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26008,"nodeType":"ExpressionStatement","src":"24464:94:14"}]},"id":26010,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24376:3:14","nodeType":"FunctionDefinition","parameters":{"id":25996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25989,"mutability":"mutable","name":"p0","nameLocation":"24388:2:14","nodeType":"VariableDeclaration","scope":26010,"src":"24380:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25988,"name":"uint256","nodeType":"ElementaryTypeName","src":"24380:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25991,"mutability":"mutable","name":"p1","nameLocation":"24406:2:14","nodeType":"VariableDeclaration","scope":26010,"src":"24392:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25990,"name":"string","nodeType":"ElementaryTypeName","src":"24392:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25993,"mutability":"mutable","name":"p2","nameLocation":"24424:2:14","nodeType":"VariableDeclaration","scope":26010,"src":"24410:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25992,"name":"string","nodeType":"ElementaryTypeName","src":"24410:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25995,"mutability":"mutable","name":"p3","nameLocation":"24436:2:14","nodeType":"VariableDeclaration","scope":26010,"src":"24428:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25994,"name":"address","nodeType":"ElementaryTypeName","src":"24428:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24379:60:14"},"returnParameters":{"id":25997,"nodeType":"ParameterList","parameters":[],"src":"24454:0:14"},"scope":31347,"src":"24367:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26032,"nodeType":"Block","src":"24649:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":26024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24699:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":26025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26012,"src":"24735:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26014,"src":"24739:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26016,"src":"24743:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26028,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26018,"src":"24747:2:14","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":26022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24675:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24679:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24675:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24675:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"24659:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24659:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26031,"nodeType":"ExpressionStatement","src":"24659:92:14"}]},"id":26033,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24580:3:14","nodeType":"FunctionDefinition","parameters":{"id":26019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26012,"mutability":"mutable","name":"p0","nameLocation":"24592:2:14","nodeType":"VariableDeclaration","scope":26033,"src":"24584:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26011,"name":"uint256","nodeType":"ElementaryTypeName","src":"24584:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26014,"mutability":"mutable","name":"p1","nameLocation":"24610:2:14","nodeType":"VariableDeclaration","scope":26033,"src":"24596:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26013,"name":"string","nodeType":"ElementaryTypeName","src":"24596:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26016,"mutability":"mutable","name":"p2","nameLocation":"24619:2:14","nodeType":"VariableDeclaration","scope":26033,"src":"24614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26015,"name":"bool","nodeType":"ElementaryTypeName","src":"24614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26018,"mutability":"mutable","name":"p3","nameLocation":"24631:2:14","nodeType":"VariableDeclaration","scope":26033,"src":"24623:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26017,"name":"uint256","nodeType":"ElementaryTypeName","src":"24623:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24583:51:14"},"returnParameters":{"id":26020,"nodeType":"ParameterList","parameters":[],"src":"24649:0:14"},"scope":31347,"src":"24571:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26055,"nodeType":"Block","src":"24848:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":26047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24898:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":26048,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26035,"src":"24933:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26049,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26037,"src":"24937:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26050,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26039,"src":"24941:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26051,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26041,"src":"24945:2:14","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":26045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24874:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24878:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24874:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24874:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26044,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"24858:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24858:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26054,"nodeType":"ExpressionStatement","src":"24858:91:14"}]},"id":26056,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24773:3:14","nodeType":"FunctionDefinition","parameters":{"id":26042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26035,"mutability":"mutable","name":"p0","nameLocation":"24785:2:14","nodeType":"VariableDeclaration","scope":26056,"src":"24777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26034,"name":"uint256","nodeType":"ElementaryTypeName","src":"24777:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26037,"mutability":"mutable","name":"p1","nameLocation":"24803:2:14","nodeType":"VariableDeclaration","scope":26056,"src":"24789:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26036,"name":"string","nodeType":"ElementaryTypeName","src":"24789:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26039,"mutability":"mutable","name":"p2","nameLocation":"24812:2:14","nodeType":"VariableDeclaration","scope":26056,"src":"24807:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26038,"name":"bool","nodeType":"ElementaryTypeName","src":"24807:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26041,"mutability":"mutable","name":"p3","nameLocation":"24830:2:14","nodeType":"VariableDeclaration","scope":26056,"src":"24816:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26040,"name":"string","nodeType":"ElementaryTypeName","src":"24816:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24776:57:14"},"returnParameters":{"id":26043,"nodeType":"ParameterList","parameters":[],"src":"24848:0:14"},"scope":31347,"src":"24764:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26078,"nodeType":"Block","src":"25037:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":26070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25087:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":26071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26058,"src":"25120:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26060,"src":"25124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26062,"src":"25128:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26074,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26064,"src":"25132:2:14","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":26068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25063:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25067:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25063:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25063:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"25047:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25047:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26077,"nodeType":"ExpressionStatement","src":"25047:89:14"}]},"id":26079,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24971:3:14","nodeType":"FunctionDefinition","parameters":{"id":26065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26058,"mutability":"mutable","name":"p0","nameLocation":"24983:2:14","nodeType":"VariableDeclaration","scope":26079,"src":"24975:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26057,"name":"uint256","nodeType":"ElementaryTypeName","src":"24975:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26060,"mutability":"mutable","name":"p1","nameLocation":"25001:2:14","nodeType":"VariableDeclaration","scope":26079,"src":"24987:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26059,"name":"string","nodeType":"ElementaryTypeName","src":"24987:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26062,"mutability":"mutable","name":"p2","nameLocation":"25010:2:14","nodeType":"VariableDeclaration","scope":26079,"src":"25005:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26061,"name":"bool","nodeType":"ElementaryTypeName","src":"25005:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26064,"mutability":"mutable","name":"p3","nameLocation":"25019:2:14","nodeType":"VariableDeclaration","scope":26079,"src":"25014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26063,"name":"bool","nodeType":"ElementaryTypeName","src":"25014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24974:48:14"},"returnParameters":{"id":26066,"nodeType":"ParameterList","parameters":[],"src":"25037:0:14"},"scope":31347,"src":"24962:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26101,"nodeType":"Block","src":"25227:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":26093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25277:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":26094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26081,"src":"25313:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26095,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26083,"src":"25317:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26096,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26085,"src":"25321:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26097,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26087,"src":"25325:2:14","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":26091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25253:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25257:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25253:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"25237:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25237:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26100,"nodeType":"ExpressionStatement","src":"25237:92:14"}]},"id":26102,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25158:3:14","nodeType":"FunctionDefinition","parameters":{"id":26088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26081,"mutability":"mutable","name":"p0","nameLocation":"25170:2:14","nodeType":"VariableDeclaration","scope":26102,"src":"25162:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26080,"name":"uint256","nodeType":"ElementaryTypeName","src":"25162:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26083,"mutability":"mutable","name":"p1","nameLocation":"25188:2:14","nodeType":"VariableDeclaration","scope":26102,"src":"25174:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26082,"name":"string","nodeType":"ElementaryTypeName","src":"25174:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26085,"mutability":"mutable","name":"p2","nameLocation":"25197:2:14","nodeType":"VariableDeclaration","scope":26102,"src":"25192:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26084,"name":"bool","nodeType":"ElementaryTypeName","src":"25192:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26087,"mutability":"mutable","name":"p3","nameLocation":"25209:2:14","nodeType":"VariableDeclaration","scope":26102,"src":"25201:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26086,"name":"address","nodeType":"ElementaryTypeName","src":"25201:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25161:51:14"},"returnParameters":{"id":26089,"nodeType":"ParameterList","parameters":[],"src":"25227:0:14"},"scope":31347,"src":"25149:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26124,"nodeType":"Block","src":"25423:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":26116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25473:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":26117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26104,"src":"25512:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26106,"src":"25516:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26119,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26108,"src":"25520:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26120,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26110,"src":"25524:2:14","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":26114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25449:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25453:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25449:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25449:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"25433:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25433:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26123,"nodeType":"ExpressionStatement","src":"25433:95:14"}]},"id":26125,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25351:3:14","nodeType":"FunctionDefinition","parameters":{"id":26111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26104,"mutability":"mutable","name":"p0","nameLocation":"25363:2:14","nodeType":"VariableDeclaration","scope":26125,"src":"25355:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26103,"name":"uint256","nodeType":"ElementaryTypeName","src":"25355:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26106,"mutability":"mutable","name":"p1","nameLocation":"25381:2:14","nodeType":"VariableDeclaration","scope":26125,"src":"25367:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26105,"name":"string","nodeType":"ElementaryTypeName","src":"25367:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26108,"mutability":"mutable","name":"p2","nameLocation":"25393:2:14","nodeType":"VariableDeclaration","scope":26125,"src":"25385:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26107,"name":"address","nodeType":"ElementaryTypeName","src":"25385:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26110,"mutability":"mutable","name":"p3","nameLocation":"25405:2:14","nodeType":"VariableDeclaration","scope":26125,"src":"25397:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26109,"name":"uint256","nodeType":"ElementaryTypeName","src":"25397:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25354:54:14"},"returnParameters":{"id":26112,"nodeType":"ParameterList","parameters":[],"src":"25423:0:14"},"scope":31347,"src":"25342:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26147,"nodeType":"Block","src":"25628:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":26139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25678:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":26140,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26127,"src":"25716:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26141,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26129,"src":"25720:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26142,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26131,"src":"25724:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26143,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26133,"src":"25728:2:14","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":26137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25654:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25658:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25654:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25654:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26136,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"25638:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25638:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26146,"nodeType":"ExpressionStatement","src":"25638:94:14"}]},"id":26148,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25550:3:14","nodeType":"FunctionDefinition","parameters":{"id":26134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26127,"mutability":"mutable","name":"p0","nameLocation":"25562:2:14","nodeType":"VariableDeclaration","scope":26148,"src":"25554:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26126,"name":"uint256","nodeType":"ElementaryTypeName","src":"25554:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26129,"mutability":"mutable","name":"p1","nameLocation":"25580:2:14","nodeType":"VariableDeclaration","scope":26148,"src":"25566:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26128,"name":"string","nodeType":"ElementaryTypeName","src":"25566:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26131,"mutability":"mutable","name":"p2","nameLocation":"25592:2:14","nodeType":"VariableDeclaration","scope":26148,"src":"25584:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26130,"name":"address","nodeType":"ElementaryTypeName","src":"25584:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26133,"mutability":"mutable","name":"p3","nameLocation":"25610:2:14","nodeType":"VariableDeclaration","scope":26148,"src":"25596:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26132,"name":"string","nodeType":"ElementaryTypeName","src":"25596:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25553:60:14"},"returnParameters":{"id":26135,"nodeType":"ParameterList","parameters":[],"src":"25628:0:14"},"scope":31347,"src":"25541:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26170,"nodeType":"Block","src":"25823:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":26162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25873:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":26163,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26150,"src":"25909:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26164,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26152,"src":"25913:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26165,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26154,"src":"25917:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26166,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26156,"src":"25921:2:14","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":26160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25849:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25853:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25849:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25849:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26159,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"25833:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25833:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26169,"nodeType":"ExpressionStatement","src":"25833:92:14"}]},"id":26171,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25754:3:14","nodeType":"FunctionDefinition","parameters":{"id":26157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26150,"mutability":"mutable","name":"p0","nameLocation":"25766:2:14","nodeType":"VariableDeclaration","scope":26171,"src":"25758:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26149,"name":"uint256","nodeType":"ElementaryTypeName","src":"25758:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26152,"mutability":"mutable","name":"p1","nameLocation":"25784:2:14","nodeType":"VariableDeclaration","scope":26171,"src":"25770:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26151,"name":"string","nodeType":"ElementaryTypeName","src":"25770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26154,"mutability":"mutable","name":"p2","nameLocation":"25796:2:14","nodeType":"VariableDeclaration","scope":26171,"src":"25788:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26153,"name":"address","nodeType":"ElementaryTypeName","src":"25788:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26156,"mutability":"mutable","name":"p3","nameLocation":"25805:2:14","nodeType":"VariableDeclaration","scope":26171,"src":"25800:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26155,"name":"bool","nodeType":"ElementaryTypeName","src":"25800:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25757:51:14"},"returnParameters":{"id":26158,"nodeType":"ParameterList","parameters":[],"src":"25823:0:14"},"scope":31347,"src":"25745:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26193,"nodeType":"Block","src":"26019:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":26185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26069:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":26186,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26173,"src":"26108:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26187,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26175,"src":"26112:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26188,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26177,"src":"26116:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26189,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26179,"src":"26120:2:14","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":26183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26045:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26049:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26045:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26045:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26182,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26029:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26029:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26192,"nodeType":"ExpressionStatement","src":"26029:95:14"}]},"id":26194,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25947:3:14","nodeType":"FunctionDefinition","parameters":{"id":26180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26173,"mutability":"mutable","name":"p0","nameLocation":"25959:2:14","nodeType":"VariableDeclaration","scope":26194,"src":"25951:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26172,"name":"uint256","nodeType":"ElementaryTypeName","src":"25951:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26175,"mutability":"mutable","name":"p1","nameLocation":"25977:2:14","nodeType":"VariableDeclaration","scope":26194,"src":"25963:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26174,"name":"string","nodeType":"ElementaryTypeName","src":"25963:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26177,"mutability":"mutable","name":"p2","nameLocation":"25989:2:14","nodeType":"VariableDeclaration","scope":26194,"src":"25981:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26176,"name":"address","nodeType":"ElementaryTypeName","src":"25981:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26179,"mutability":"mutable","name":"p3","nameLocation":"26001:2:14","nodeType":"VariableDeclaration","scope":26194,"src":"25993:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26178,"name":"address","nodeType":"ElementaryTypeName","src":"25993:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25950:54:14"},"returnParameters":{"id":26181,"nodeType":"ParameterList","parameters":[],"src":"26019:0:14"},"scope":31347,"src":"25938:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26216,"nodeType":"Block","src":"26209:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":26208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26259:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":26209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26196,"src":"26296:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26210,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26198,"src":"26300:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26211,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26200,"src":"26304:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26212,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26202,"src":"26308:2:14","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":26206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26235:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26239:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26235:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26235:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26219:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26219:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26215,"nodeType":"ExpressionStatement","src":"26219:93:14"}]},"id":26217,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26146:3:14","nodeType":"FunctionDefinition","parameters":{"id":26203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26196,"mutability":"mutable","name":"p0","nameLocation":"26158:2:14","nodeType":"VariableDeclaration","scope":26217,"src":"26150:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26195,"name":"uint256","nodeType":"ElementaryTypeName","src":"26150:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26198,"mutability":"mutable","name":"p1","nameLocation":"26167:2:14","nodeType":"VariableDeclaration","scope":26217,"src":"26162:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26197,"name":"bool","nodeType":"ElementaryTypeName","src":"26162:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26200,"mutability":"mutable","name":"p2","nameLocation":"26179:2:14","nodeType":"VariableDeclaration","scope":26217,"src":"26171:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26199,"name":"uint256","nodeType":"ElementaryTypeName","src":"26171:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26202,"mutability":"mutable","name":"p3","nameLocation":"26191:2:14","nodeType":"VariableDeclaration","scope":26217,"src":"26183:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26201,"name":"uint256","nodeType":"ElementaryTypeName","src":"26183:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26149:45:14"},"returnParameters":{"id":26204,"nodeType":"ParameterList","parameters":[],"src":"26209:0:14"},"scope":31347,"src":"26137:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26239,"nodeType":"Block","src":"26403:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":26231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26453:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":26232,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26219,"src":"26489:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26233,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26221,"src":"26493:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26234,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26223,"src":"26497:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26235,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26225,"src":"26501:2:14","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":26229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26429:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26433:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26429:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26228,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26413:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26413:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26238,"nodeType":"ExpressionStatement","src":"26413:92:14"}]},"id":26240,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26334:3:14","nodeType":"FunctionDefinition","parameters":{"id":26226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26219,"mutability":"mutable","name":"p0","nameLocation":"26346:2:14","nodeType":"VariableDeclaration","scope":26240,"src":"26338:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26218,"name":"uint256","nodeType":"ElementaryTypeName","src":"26338:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26221,"mutability":"mutable","name":"p1","nameLocation":"26355:2:14","nodeType":"VariableDeclaration","scope":26240,"src":"26350:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26220,"name":"bool","nodeType":"ElementaryTypeName","src":"26350:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26223,"mutability":"mutable","name":"p2","nameLocation":"26367:2:14","nodeType":"VariableDeclaration","scope":26240,"src":"26359:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26222,"name":"uint256","nodeType":"ElementaryTypeName","src":"26359:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26225,"mutability":"mutable","name":"p3","nameLocation":"26385:2:14","nodeType":"VariableDeclaration","scope":26240,"src":"26371:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26224,"name":"string","nodeType":"ElementaryTypeName","src":"26371:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26337:51:14"},"returnParameters":{"id":26227,"nodeType":"ParameterList","parameters":[],"src":"26403:0:14"},"scope":31347,"src":"26325:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26262,"nodeType":"Block","src":"26587:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":26254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26637:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":26255,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26242,"src":"26671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26256,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26244,"src":"26675:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26257,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26246,"src":"26679:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26258,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26248,"src":"26683:2:14","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":26252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26613:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26617:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26613:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26613:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26597:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26597:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26261,"nodeType":"ExpressionStatement","src":"26597:90:14"}]},"id":26263,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26527:3:14","nodeType":"FunctionDefinition","parameters":{"id":26249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26242,"mutability":"mutable","name":"p0","nameLocation":"26539:2:14","nodeType":"VariableDeclaration","scope":26263,"src":"26531:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26241,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26244,"mutability":"mutable","name":"p1","nameLocation":"26548:2:14","nodeType":"VariableDeclaration","scope":26263,"src":"26543:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26243,"name":"bool","nodeType":"ElementaryTypeName","src":"26543:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26246,"mutability":"mutable","name":"p2","nameLocation":"26560:2:14","nodeType":"VariableDeclaration","scope":26263,"src":"26552:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26245,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26248,"mutability":"mutable","name":"p3","nameLocation":"26569:2:14","nodeType":"VariableDeclaration","scope":26263,"src":"26564:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26247,"name":"bool","nodeType":"ElementaryTypeName","src":"26564:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26530:42:14"},"returnParameters":{"id":26250,"nodeType":"ParameterList","parameters":[],"src":"26587:0:14"},"scope":31347,"src":"26518:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26285,"nodeType":"Block","src":"26772:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":26277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26822:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":26278,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26265,"src":"26859:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26279,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26267,"src":"26863:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26280,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26269,"src":"26867:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26281,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26271,"src":"26871:2:14","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":26275,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26798:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26802:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26798:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26274,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26782:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26782:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26284,"nodeType":"ExpressionStatement","src":"26782:93:14"}]},"id":26286,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26709:3:14","nodeType":"FunctionDefinition","parameters":{"id":26272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26265,"mutability":"mutable","name":"p0","nameLocation":"26721:2:14","nodeType":"VariableDeclaration","scope":26286,"src":"26713:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26264,"name":"uint256","nodeType":"ElementaryTypeName","src":"26713:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26267,"mutability":"mutable","name":"p1","nameLocation":"26730:2:14","nodeType":"VariableDeclaration","scope":26286,"src":"26725:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26266,"name":"bool","nodeType":"ElementaryTypeName","src":"26725:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26269,"mutability":"mutable","name":"p2","nameLocation":"26742:2:14","nodeType":"VariableDeclaration","scope":26286,"src":"26734:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26268,"name":"uint256","nodeType":"ElementaryTypeName","src":"26734:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26271,"mutability":"mutable","name":"p3","nameLocation":"26754:2:14","nodeType":"VariableDeclaration","scope":26286,"src":"26746:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26270,"name":"address","nodeType":"ElementaryTypeName","src":"26746:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26712:45:14"},"returnParameters":{"id":26273,"nodeType":"ParameterList","parameters":[],"src":"26772:0:14"},"scope":31347,"src":"26700:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26308,"nodeType":"Block","src":"26966:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":26300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27016:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":26301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26288,"src":"27052:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26290,"src":"27056:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26292,"src":"27060:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26304,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26294,"src":"27064:2:14","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":26298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26992:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26996:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26992:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26992:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"26976:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26976:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26307,"nodeType":"ExpressionStatement","src":"26976:92:14"}]},"id":26309,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26897:3:14","nodeType":"FunctionDefinition","parameters":{"id":26295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26288,"mutability":"mutable","name":"p0","nameLocation":"26909:2:14","nodeType":"VariableDeclaration","scope":26309,"src":"26901:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26287,"name":"uint256","nodeType":"ElementaryTypeName","src":"26901:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26290,"mutability":"mutable","name":"p1","nameLocation":"26918:2:14","nodeType":"VariableDeclaration","scope":26309,"src":"26913:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26289,"name":"bool","nodeType":"ElementaryTypeName","src":"26913:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26292,"mutability":"mutable","name":"p2","nameLocation":"26936:2:14","nodeType":"VariableDeclaration","scope":26309,"src":"26922:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26291,"name":"string","nodeType":"ElementaryTypeName","src":"26922:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26294,"mutability":"mutable","name":"p3","nameLocation":"26948:2:14","nodeType":"VariableDeclaration","scope":26309,"src":"26940:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26293,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26900:51:14"},"returnParameters":{"id":26296,"nodeType":"ParameterList","parameters":[],"src":"26966:0:14"},"scope":31347,"src":"26888:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26331,"nodeType":"Block","src":"27165:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":26323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27215:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":26324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26311,"src":"27250:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26313,"src":"27254:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26315,"src":"27258:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26327,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26317,"src":"27262:2:14","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":26321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27191:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27195:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27191:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27191:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"27175:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27175:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26330,"nodeType":"ExpressionStatement","src":"27175:91:14"}]},"id":26332,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27090:3:14","nodeType":"FunctionDefinition","parameters":{"id":26318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26311,"mutability":"mutable","name":"p0","nameLocation":"27102:2:14","nodeType":"VariableDeclaration","scope":26332,"src":"27094:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26310,"name":"uint256","nodeType":"ElementaryTypeName","src":"27094:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26313,"mutability":"mutable","name":"p1","nameLocation":"27111:2:14","nodeType":"VariableDeclaration","scope":26332,"src":"27106:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26312,"name":"bool","nodeType":"ElementaryTypeName","src":"27106:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26315,"mutability":"mutable","name":"p2","nameLocation":"27129:2:14","nodeType":"VariableDeclaration","scope":26332,"src":"27115:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26314,"name":"string","nodeType":"ElementaryTypeName","src":"27115:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26317,"mutability":"mutable","name":"p3","nameLocation":"27147:2:14","nodeType":"VariableDeclaration","scope":26332,"src":"27133:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26316,"name":"string","nodeType":"ElementaryTypeName","src":"27133:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27093:57:14"},"returnParameters":{"id":26319,"nodeType":"ParameterList","parameters":[],"src":"27165:0:14"},"scope":31347,"src":"27081:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26354,"nodeType":"Block","src":"27354:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":26346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27404:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":26347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26334,"src":"27437:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26348,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26336,"src":"27441:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26349,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26338,"src":"27445:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26350,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26340,"src":"27449:2:14","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":26344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27380:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27384:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27380:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27380:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"27364:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26353,"nodeType":"ExpressionStatement","src":"27364:89:14"}]},"id":26355,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27288:3:14","nodeType":"FunctionDefinition","parameters":{"id":26341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26334,"mutability":"mutable","name":"p0","nameLocation":"27300:2:14","nodeType":"VariableDeclaration","scope":26355,"src":"27292:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26333,"name":"uint256","nodeType":"ElementaryTypeName","src":"27292:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26336,"mutability":"mutable","name":"p1","nameLocation":"27309:2:14","nodeType":"VariableDeclaration","scope":26355,"src":"27304:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26335,"name":"bool","nodeType":"ElementaryTypeName","src":"27304:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26338,"mutability":"mutable","name":"p2","nameLocation":"27327:2:14","nodeType":"VariableDeclaration","scope":26355,"src":"27313:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26337,"name":"string","nodeType":"ElementaryTypeName","src":"27313:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26340,"mutability":"mutable","name":"p3","nameLocation":"27336:2:14","nodeType":"VariableDeclaration","scope":26355,"src":"27331:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26339,"name":"bool","nodeType":"ElementaryTypeName","src":"27331:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27291:48:14"},"returnParameters":{"id":26342,"nodeType":"ParameterList","parameters":[],"src":"27354:0:14"},"scope":31347,"src":"27279:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26377,"nodeType":"Block","src":"27544:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":26369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27594:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":26370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26357,"src":"27630:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26371,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26359,"src":"27634:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26372,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26361,"src":"27638:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26373,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26363,"src":"27642:2:14","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":26367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27570:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27574:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27570:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27570:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"27554:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27554:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26376,"nodeType":"ExpressionStatement","src":"27554:92:14"}]},"id":26378,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27475:3:14","nodeType":"FunctionDefinition","parameters":{"id":26364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26357,"mutability":"mutable","name":"p0","nameLocation":"27487:2:14","nodeType":"VariableDeclaration","scope":26378,"src":"27479:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26356,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26359,"mutability":"mutable","name":"p1","nameLocation":"27496:2:14","nodeType":"VariableDeclaration","scope":26378,"src":"27491:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26358,"name":"bool","nodeType":"ElementaryTypeName","src":"27491:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26361,"mutability":"mutable","name":"p2","nameLocation":"27514:2:14","nodeType":"VariableDeclaration","scope":26378,"src":"27500:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26360,"name":"string","nodeType":"ElementaryTypeName","src":"27500:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26363,"mutability":"mutable","name":"p3","nameLocation":"27526:2:14","nodeType":"VariableDeclaration","scope":26378,"src":"27518:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26362,"name":"address","nodeType":"ElementaryTypeName","src":"27518:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:51:14"},"returnParameters":{"id":26365,"nodeType":"ParameterList","parameters":[],"src":"27544:0:14"},"scope":31347,"src":"27466:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26400,"nodeType":"Block","src":"27728:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":26392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27778:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":26393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26380,"src":"27812:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26394,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26382,"src":"27816:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26395,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26384,"src":"27820:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26396,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26386,"src":"27824:2:14","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":26390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27754:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27758:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27754:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27754:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"27738:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27738:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26399,"nodeType":"ExpressionStatement","src":"27738:90:14"}]},"id":26401,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27668:3:14","nodeType":"FunctionDefinition","parameters":{"id":26387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26380,"mutability":"mutable","name":"p0","nameLocation":"27680:2:14","nodeType":"VariableDeclaration","scope":26401,"src":"27672:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26379,"name":"uint256","nodeType":"ElementaryTypeName","src":"27672:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26382,"mutability":"mutable","name":"p1","nameLocation":"27689:2:14","nodeType":"VariableDeclaration","scope":26401,"src":"27684:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26381,"name":"bool","nodeType":"ElementaryTypeName","src":"27684:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26384,"mutability":"mutable","name":"p2","nameLocation":"27698:2:14","nodeType":"VariableDeclaration","scope":26401,"src":"27693:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26383,"name":"bool","nodeType":"ElementaryTypeName","src":"27693:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26386,"mutability":"mutable","name":"p3","nameLocation":"27710:2:14","nodeType":"VariableDeclaration","scope":26401,"src":"27702:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26385,"name":"uint256","nodeType":"ElementaryTypeName","src":"27702:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27671:42:14"},"returnParameters":{"id":26388,"nodeType":"ParameterList","parameters":[],"src":"27728:0:14"},"scope":31347,"src":"27659:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26423,"nodeType":"Block","src":"27916:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":26415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27966:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":26416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26403,"src":"27999:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26405,"src":"28003:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26418,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26407,"src":"28007:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26419,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26409,"src":"28011:2:14","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":26413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27942:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27946:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27942:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27942:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"27926:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27926:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26422,"nodeType":"ExpressionStatement","src":"27926:89:14"}]},"id":26424,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27850:3:14","nodeType":"FunctionDefinition","parameters":{"id":26410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26403,"mutability":"mutable","name":"p0","nameLocation":"27862:2:14","nodeType":"VariableDeclaration","scope":26424,"src":"27854:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26402,"name":"uint256","nodeType":"ElementaryTypeName","src":"27854:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26405,"mutability":"mutable","name":"p1","nameLocation":"27871:2:14","nodeType":"VariableDeclaration","scope":26424,"src":"27866:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26404,"name":"bool","nodeType":"ElementaryTypeName","src":"27866:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26407,"mutability":"mutable","name":"p2","nameLocation":"27880:2:14","nodeType":"VariableDeclaration","scope":26424,"src":"27875:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26406,"name":"bool","nodeType":"ElementaryTypeName","src":"27875:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26409,"mutability":"mutable","name":"p3","nameLocation":"27898:2:14","nodeType":"VariableDeclaration","scope":26424,"src":"27884:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26408,"name":"string","nodeType":"ElementaryTypeName","src":"27884:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27853:48:14"},"returnParameters":{"id":26411,"nodeType":"ParameterList","parameters":[],"src":"27916:0:14"},"scope":31347,"src":"27841:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26446,"nodeType":"Block","src":"28094:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":26438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28144:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":26439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26426,"src":"28175:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26428,"src":"28179:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26430,"src":"28183:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26442,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26432,"src":"28187:2:14","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":26436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28120:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28124:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28120:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28120:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28104:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28104:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26445,"nodeType":"ExpressionStatement","src":"28104:87:14"}]},"id":26447,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28037:3:14","nodeType":"FunctionDefinition","parameters":{"id":26433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26426,"mutability":"mutable","name":"p0","nameLocation":"28049:2:14","nodeType":"VariableDeclaration","scope":26447,"src":"28041:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26425,"name":"uint256","nodeType":"ElementaryTypeName","src":"28041:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26428,"mutability":"mutable","name":"p1","nameLocation":"28058:2:14","nodeType":"VariableDeclaration","scope":26447,"src":"28053:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26427,"name":"bool","nodeType":"ElementaryTypeName","src":"28053:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26430,"mutability":"mutable","name":"p2","nameLocation":"28067:2:14","nodeType":"VariableDeclaration","scope":26447,"src":"28062:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26429,"name":"bool","nodeType":"ElementaryTypeName","src":"28062:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26432,"mutability":"mutable","name":"p3","nameLocation":"28076:2:14","nodeType":"VariableDeclaration","scope":26447,"src":"28071:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26431,"name":"bool","nodeType":"ElementaryTypeName","src":"28071:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28040:39:14"},"returnParameters":{"id":26434,"nodeType":"ParameterList","parameters":[],"src":"28094:0:14"},"scope":31347,"src":"28028:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26469,"nodeType":"Block","src":"28273:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":26461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28323:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":26462,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26449,"src":"28357:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26463,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26451,"src":"28361:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26464,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26453,"src":"28365:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26465,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26455,"src":"28369:2:14","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":26459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28299:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28303:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28299:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28299:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28283:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28283:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26468,"nodeType":"ExpressionStatement","src":"28283:90:14"}]},"id":26470,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28213:3:14","nodeType":"FunctionDefinition","parameters":{"id":26456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26449,"mutability":"mutable","name":"p0","nameLocation":"28225:2:14","nodeType":"VariableDeclaration","scope":26470,"src":"28217:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26448,"name":"uint256","nodeType":"ElementaryTypeName","src":"28217:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26451,"mutability":"mutable","name":"p1","nameLocation":"28234:2:14","nodeType":"VariableDeclaration","scope":26470,"src":"28229:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26450,"name":"bool","nodeType":"ElementaryTypeName","src":"28229:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26453,"mutability":"mutable","name":"p2","nameLocation":"28243:2:14","nodeType":"VariableDeclaration","scope":26470,"src":"28238:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26452,"name":"bool","nodeType":"ElementaryTypeName","src":"28238:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26455,"mutability":"mutable","name":"p3","nameLocation":"28255:2:14","nodeType":"VariableDeclaration","scope":26470,"src":"28247:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26454,"name":"address","nodeType":"ElementaryTypeName","src":"28247:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28216:42:14"},"returnParameters":{"id":26457,"nodeType":"ParameterList","parameters":[],"src":"28273:0:14"},"scope":31347,"src":"28204:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26492,"nodeType":"Block","src":"28458:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":26484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28508:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":26485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26472,"src":"28545:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26474,"src":"28549:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26476,"src":"28553:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26488,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26478,"src":"28557:2:14","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":26482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28484:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28488:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28484:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28484:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28468:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28468:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26491,"nodeType":"ExpressionStatement","src":"28468:93:14"}]},"id":26493,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28395:3:14","nodeType":"FunctionDefinition","parameters":{"id":26479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26472,"mutability":"mutable","name":"p0","nameLocation":"28407:2:14","nodeType":"VariableDeclaration","scope":26493,"src":"28399:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26471,"name":"uint256","nodeType":"ElementaryTypeName","src":"28399:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26474,"mutability":"mutable","name":"p1","nameLocation":"28416:2:14","nodeType":"VariableDeclaration","scope":26493,"src":"28411:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26473,"name":"bool","nodeType":"ElementaryTypeName","src":"28411:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26476,"mutability":"mutable","name":"p2","nameLocation":"28428:2:14","nodeType":"VariableDeclaration","scope":26493,"src":"28420:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26475,"name":"address","nodeType":"ElementaryTypeName","src":"28420:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26478,"mutability":"mutable","name":"p3","nameLocation":"28440:2:14","nodeType":"VariableDeclaration","scope":26493,"src":"28432:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26477,"name":"uint256","nodeType":"ElementaryTypeName","src":"28432:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28398:45:14"},"returnParameters":{"id":26480,"nodeType":"ParameterList","parameters":[],"src":"28458:0:14"},"scope":31347,"src":"28386:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26515,"nodeType":"Block","src":"28652:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":26507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28702:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":26508,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26495,"src":"28738:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26509,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26497,"src":"28742:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26510,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26499,"src":"28746:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26511,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26501,"src":"28750:2:14","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":26505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28678:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28682:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28678:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28678:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28662:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28662:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26514,"nodeType":"ExpressionStatement","src":"28662:92:14"}]},"id":26516,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28583:3:14","nodeType":"FunctionDefinition","parameters":{"id":26502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26495,"mutability":"mutable","name":"p0","nameLocation":"28595:2:14","nodeType":"VariableDeclaration","scope":26516,"src":"28587:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26494,"name":"uint256","nodeType":"ElementaryTypeName","src":"28587:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26497,"mutability":"mutable","name":"p1","nameLocation":"28604:2:14","nodeType":"VariableDeclaration","scope":26516,"src":"28599:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26496,"name":"bool","nodeType":"ElementaryTypeName","src":"28599:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26499,"mutability":"mutable","name":"p2","nameLocation":"28616:2:14","nodeType":"VariableDeclaration","scope":26516,"src":"28608:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26498,"name":"address","nodeType":"ElementaryTypeName","src":"28608:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26501,"mutability":"mutable","name":"p3","nameLocation":"28634:2:14","nodeType":"VariableDeclaration","scope":26516,"src":"28620:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26500,"name":"string","nodeType":"ElementaryTypeName","src":"28620:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28586:51:14"},"returnParameters":{"id":26503,"nodeType":"ParameterList","parameters":[],"src":"28652:0:14"},"scope":31347,"src":"28574:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26538,"nodeType":"Block","src":"28836:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":26530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28886:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":26531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26518,"src":"28920:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26520,"src":"28924:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26522,"src":"28928:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26534,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26524,"src":"28932:2:14","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":26528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28862:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28866:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28862:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28862:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28846:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28846:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26537,"nodeType":"ExpressionStatement","src":"28846:90:14"}]},"id":26539,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28776:3:14","nodeType":"FunctionDefinition","parameters":{"id":26525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26518,"mutability":"mutable","name":"p0","nameLocation":"28788:2:14","nodeType":"VariableDeclaration","scope":26539,"src":"28780:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26517,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26520,"mutability":"mutable","name":"p1","nameLocation":"28797:2:14","nodeType":"VariableDeclaration","scope":26539,"src":"28792:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26519,"name":"bool","nodeType":"ElementaryTypeName","src":"28792:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26522,"mutability":"mutable","name":"p2","nameLocation":"28809:2:14","nodeType":"VariableDeclaration","scope":26539,"src":"28801:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26521,"name":"address","nodeType":"ElementaryTypeName","src":"28801:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26524,"mutability":"mutable","name":"p3","nameLocation":"28818:2:14","nodeType":"VariableDeclaration","scope":26539,"src":"28813:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26523,"name":"bool","nodeType":"ElementaryTypeName","src":"28813:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28779:42:14"},"returnParameters":{"id":26526,"nodeType":"ParameterList","parameters":[],"src":"28836:0:14"},"scope":31347,"src":"28767:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26561,"nodeType":"Block","src":"29021:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":26553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29071:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":26554,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26541,"src":"29108:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26555,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26543,"src":"29112:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26556,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26545,"src":"29116:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26557,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26547,"src":"29120:2:14","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":26551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29047:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29051:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29047:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29047:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26550,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"29031:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29031:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26560,"nodeType":"ExpressionStatement","src":"29031:93:14"}]},"id":26562,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28958:3:14","nodeType":"FunctionDefinition","parameters":{"id":26548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26541,"mutability":"mutable","name":"p0","nameLocation":"28970:2:14","nodeType":"VariableDeclaration","scope":26562,"src":"28962:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26540,"name":"uint256","nodeType":"ElementaryTypeName","src":"28962:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26543,"mutability":"mutable","name":"p1","nameLocation":"28979:2:14","nodeType":"VariableDeclaration","scope":26562,"src":"28974:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26542,"name":"bool","nodeType":"ElementaryTypeName","src":"28974:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26545,"mutability":"mutable","name":"p2","nameLocation":"28991:2:14","nodeType":"VariableDeclaration","scope":26562,"src":"28983:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26544,"name":"address","nodeType":"ElementaryTypeName","src":"28983:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26547,"mutability":"mutable","name":"p3","nameLocation":"29003:2:14","nodeType":"VariableDeclaration","scope":26562,"src":"28995:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26546,"name":"address","nodeType":"ElementaryTypeName","src":"28995:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28961:45:14"},"returnParameters":{"id":26549,"nodeType":"ParameterList","parameters":[],"src":"29021:0:14"},"scope":31347,"src":"28949:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26584,"nodeType":"Block","src":"29212:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":26576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29262:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":26577,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26564,"src":"29302:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26578,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26566,"src":"29306:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26579,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26568,"src":"29310:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26580,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26570,"src":"29314:2:14","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":26574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29238:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29242:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29238:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29238:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"29222:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29222:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26583,"nodeType":"ExpressionStatement","src":"29222:96:14"}]},"id":26585,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29146:3:14","nodeType":"FunctionDefinition","parameters":{"id":26571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26564,"mutability":"mutable","name":"p0","nameLocation":"29158:2:14","nodeType":"VariableDeclaration","scope":26585,"src":"29150:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26563,"name":"uint256","nodeType":"ElementaryTypeName","src":"29150:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26566,"mutability":"mutable","name":"p1","nameLocation":"29170:2:14","nodeType":"VariableDeclaration","scope":26585,"src":"29162:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26565,"name":"address","nodeType":"ElementaryTypeName","src":"29162:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26568,"mutability":"mutable","name":"p2","nameLocation":"29182:2:14","nodeType":"VariableDeclaration","scope":26585,"src":"29174:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26567,"name":"uint256","nodeType":"ElementaryTypeName","src":"29174:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26570,"mutability":"mutable","name":"p3","nameLocation":"29194:2:14","nodeType":"VariableDeclaration","scope":26585,"src":"29186:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26569,"name":"uint256","nodeType":"ElementaryTypeName","src":"29186:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29149:48:14"},"returnParameters":{"id":26572,"nodeType":"ParameterList","parameters":[],"src":"29212:0:14"},"scope":31347,"src":"29137:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26607,"nodeType":"Block","src":"29412:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":26599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29462:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":26600,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26587,"src":"29501:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26601,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26589,"src":"29505:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26602,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26591,"src":"29509:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26603,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26593,"src":"29513:2:14","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":26597,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29438:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29442:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29438:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29438:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26596,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"29422:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29422:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26606,"nodeType":"ExpressionStatement","src":"29422:95:14"}]},"id":26608,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29340:3:14","nodeType":"FunctionDefinition","parameters":{"id":26594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26587,"mutability":"mutable","name":"p0","nameLocation":"29352:2:14","nodeType":"VariableDeclaration","scope":26608,"src":"29344:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26586,"name":"uint256","nodeType":"ElementaryTypeName","src":"29344:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26589,"mutability":"mutable","name":"p1","nameLocation":"29364:2:14","nodeType":"VariableDeclaration","scope":26608,"src":"29356:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26588,"name":"address","nodeType":"ElementaryTypeName","src":"29356:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26591,"mutability":"mutable","name":"p2","nameLocation":"29376:2:14","nodeType":"VariableDeclaration","scope":26608,"src":"29368:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26590,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26593,"mutability":"mutable","name":"p3","nameLocation":"29394:2:14","nodeType":"VariableDeclaration","scope":26608,"src":"29380:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26592,"name":"string","nodeType":"ElementaryTypeName","src":"29380:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29343:54:14"},"returnParameters":{"id":26595,"nodeType":"ParameterList","parameters":[],"src":"29412:0:14"},"scope":31347,"src":"29331:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26630,"nodeType":"Block","src":"29602:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":26622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29652:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":26623,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26610,"src":"29689:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26624,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26612,"src":"29693:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26625,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26614,"src":"29697:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26626,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26616,"src":"29701:2:14","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":26620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29628:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29632:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29628:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29628:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"29612:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29612:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26629,"nodeType":"ExpressionStatement","src":"29612:93:14"}]},"id":26631,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29539:3:14","nodeType":"FunctionDefinition","parameters":{"id":26617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26610,"mutability":"mutable","name":"p0","nameLocation":"29551:2:14","nodeType":"VariableDeclaration","scope":26631,"src":"29543:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26609,"name":"uint256","nodeType":"ElementaryTypeName","src":"29543:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26612,"mutability":"mutable","name":"p1","nameLocation":"29563:2:14","nodeType":"VariableDeclaration","scope":26631,"src":"29555:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26611,"name":"address","nodeType":"ElementaryTypeName","src":"29555:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26614,"mutability":"mutable","name":"p2","nameLocation":"29575:2:14","nodeType":"VariableDeclaration","scope":26631,"src":"29567:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26613,"name":"uint256","nodeType":"ElementaryTypeName","src":"29567:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26616,"mutability":"mutable","name":"p3","nameLocation":"29584:2:14","nodeType":"VariableDeclaration","scope":26631,"src":"29579:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26615,"name":"bool","nodeType":"ElementaryTypeName","src":"29579:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29542:45:14"},"returnParameters":{"id":26618,"nodeType":"ParameterList","parameters":[],"src":"29602:0:14"},"scope":31347,"src":"29530:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26653,"nodeType":"Block","src":"29793:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":26645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29843:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":26646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26633,"src":"29883:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26647,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26635,"src":"29887:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26648,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26637,"src":"29891:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26649,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26639,"src":"29895:2:14","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":26643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29819:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29823:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29819:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29819:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"29803:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29803:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26652,"nodeType":"ExpressionStatement","src":"29803:96:14"}]},"id":26654,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29727:3:14","nodeType":"FunctionDefinition","parameters":{"id":26640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26633,"mutability":"mutable","name":"p0","nameLocation":"29739:2:14","nodeType":"VariableDeclaration","scope":26654,"src":"29731:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26632,"name":"uint256","nodeType":"ElementaryTypeName","src":"29731:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26635,"mutability":"mutable","name":"p1","nameLocation":"29751:2:14","nodeType":"VariableDeclaration","scope":26654,"src":"29743:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26634,"name":"address","nodeType":"ElementaryTypeName","src":"29743:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26637,"mutability":"mutable","name":"p2","nameLocation":"29763:2:14","nodeType":"VariableDeclaration","scope":26654,"src":"29755:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26636,"name":"uint256","nodeType":"ElementaryTypeName","src":"29755:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26639,"mutability":"mutable","name":"p3","nameLocation":"29775:2:14","nodeType":"VariableDeclaration","scope":26654,"src":"29767:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26638,"name":"address","nodeType":"ElementaryTypeName","src":"29767:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29730:48:14"},"returnParameters":{"id":26641,"nodeType":"ParameterList","parameters":[],"src":"29793:0:14"},"scope":31347,"src":"29718:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26676,"nodeType":"Block","src":"29993:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":26668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30043:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":26669,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26656,"src":"30082:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26670,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26658,"src":"30086:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26671,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26660,"src":"30090:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26672,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26662,"src":"30094:2:14","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":26666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30019:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30023:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30019:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30019:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30003:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30003:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26675,"nodeType":"ExpressionStatement","src":"30003:95:14"}]},"id":26677,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29921:3:14","nodeType":"FunctionDefinition","parameters":{"id":26663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26656,"mutability":"mutable","name":"p0","nameLocation":"29933:2:14","nodeType":"VariableDeclaration","scope":26677,"src":"29925:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26655,"name":"uint256","nodeType":"ElementaryTypeName","src":"29925:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26658,"mutability":"mutable","name":"p1","nameLocation":"29945:2:14","nodeType":"VariableDeclaration","scope":26677,"src":"29937:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26657,"name":"address","nodeType":"ElementaryTypeName","src":"29937:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26660,"mutability":"mutable","name":"p2","nameLocation":"29963:2:14","nodeType":"VariableDeclaration","scope":26677,"src":"29949:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26659,"name":"string","nodeType":"ElementaryTypeName","src":"29949:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26662,"mutability":"mutable","name":"p3","nameLocation":"29975:2:14","nodeType":"VariableDeclaration","scope":26677,"src":"29967:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26661,"name":"uint256","nodeType":"ElementaryTypeName","src":"29967:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29924:54:14"},"returnParameters":{"id":26664,"nodeType":"ParameterList","parameters":[],"src":"29993:0:14"},"scope":31347,"src":"29912:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26699,"nodeType":"Block","src":"30198:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":26691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30248:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":26692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26679,"src":"30286:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26693,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26681,"src":"30290:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26694,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26683,"src":"30294:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26695,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26685,"src":"30298:2:14","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":26689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30224:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30228:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30224:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30224:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30208:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30208:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26698,"nodeType":"ExpressionStatement","src":"30208:94:14"}]},"id":26700,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30120:3:14","nodeType":"FunctionDefinition","parameters":{"id":26686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26679,"mutability":"mutable","name":"p0","nameLocation":"30132:2:14","nodeType":"VariableDeclaration","scope":26700,"src":"30124:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26678,"name":"uint256","nodeType":"ElementaryTypeName","src":"30124:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26681,"mutability":"mutable","name":"p1","nameLocation":"30144:2:14","nodeType":"VariableDeclaration","scope":26700,"src":"30136:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26680,"name":"address","nodeType":"ElementaryTypeName","src":"30136:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26683,"mutability":"mutable","name":"p2","nameLocation":"30162:2:14","nodeType":"VariableDeclaration","scope":26700,"src":"30148:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26682,"name":"string","nodeType":"ElementaryTypeName","src":"30148:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26685,"mutability":"mutable","name":"p3","nameLocation":"30180:2:14","nodeType":"VariableDeclaration","scope":26700,"src":"30166:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26684,"name":"string","nodeType":"ElementaryTypeName","src":"30166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30123:60:14"},"returnParameters":{"id":26687,"nodeType":"ParameterList","parameters":[],"src":"30198:0:14"},"scope":31347,"src":"30111:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26722,"nodeType":"Block","src":"30393:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":26714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30443:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":26715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26702,"src":"30479:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26716,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26704,"src":"30483:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26717,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26706,"src":"30487:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26718,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26708,"src":"30491:2:14","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":26712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30419:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30423:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30419:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30419:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30403:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30403:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26721,"nodeType":"ExpressionStatement","src":"30403:92:14"}]},"id":26723,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30324:3:14","nodeType":"FunctionDefinition","parameters":{"id":26709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26702,"mutability":"mutable","name":"p0","nameLocation":"30336:2:14","nodeType":"VariableDeclaration","scope":26723,"src":"30328:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26701,"name":"uint256","nodeType":"ElementaryTypeName","src":"30328:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26704,"mutability":"mutable","name":"p1","nameLocation":"30348:2:14","nodeType":"VariableDeclaration","scope":26723,"src":"30340:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26703,"name":"address","nodeType":"ElementaryTypeName","src":"30340:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26706,"mutability":"mutable","name":"p2","nameLocation":"30366:2:14","nodeType":"VariableDeclaration","scope":26723,"src":"30352:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26705,"name":"string","nodeType":"ElementaryTypeName","src":"30352:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26708,"mutability":"mutable","name":"p3","nameLocation":"30375:2:14","nodeType":"VariableDeclaration","scope":26723,"src":"30370:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26707,"name":"bool","nodeType":"ElementaryTypeName","src":"30370:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30327:51:14"},"returnParameters":{"id":26710,"nodeType":"ParameterList","parameters":[],"src":"30393:0:14"},"scope":31347,"src":"30315:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26745,"nodeType":"Block","src":"30589:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":26737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30639:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":26738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26725,"src":"30678:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26727,"src":"30682:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26740,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26729,"src":"30686:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26741,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26731,"src":"30690:2:14","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":26735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30615:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30619:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30615:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30615:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30599:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30599:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26744,"nodeType":"ExpressionStatement","src":"30599:95:14"}]},"id":26746,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30517:3:14","nodeType":"FunctionDefinition","parameters":{"id":26732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26725,"mutability":"mutable","name":"p0","nameLocation":"30529:2:14","nodeType":"VariableDeclaration","scope":26746,"src":"30521:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26724,"name":"uint256","nodeType":"ElementaryTypeName","src":"30521:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26727,"mutability":"mutable","name":"p1","nameLocation":"30541:2:14","nodeType":"VariableDeclaration","scope":26746,"src":"30533:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26726,"name":"address","nodeType":"ElementaryTypeName","src":"30533:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26729,"mutability":"mutable","name":"p2","nameLocation":"30559:2:14","nodeType":"VariableDeclaration","scope":26746,"src":"30545:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26728,"name":"string","nodeType":"ElementaryTypeName","src":"30545:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26731,"mutability":"mutable","name":"p3","nameLocation":"30571:2:14","nodeType":"VariableDeclaration","scope":26746,"src":"30563:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26730,"name":"address","nodeType":"ElementaryTypeName","src":"30563:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30520:54:14"},"returnParameters":{"id":26733,"nodeType":"ParameterList","parameters":[],"src":"30589:0:14"},"scope":31347,"src":"30508:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26768,"nodeType":"Block","src":"30779:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":26760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30829:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":26761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26748,"src":"30866:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26750,"src":"30870:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26752,"src":"30874:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26764,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26754,"src":"30878:2:14","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":26758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30805:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30809:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30805:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30805:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30789:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30789:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26767,"nodeType":"ExpressionStatement","src":"30789:93:14"}]},"id":26769,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30716:3:14","nodeType":"FunctionDefinition","parameters":{"id":26755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26748,"mutability":"mutable","name":"p0","nameLocation":"30728:2:14","nodeType":"VariableDeclaration","scope":26769,"src":"30720:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26747,"name":"uint256","nodeType":"ElementaryTypeName","src":"30720:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26750,"mutability":"mutable","name":"p1","nameLocation":"30740:2:14","nodeType":"VariableDeclaration","scope":26769,"src":"30732:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26749,"name":"address","nodeType":"ElementaryTypeName","src":"30732:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26752,"mutability":"mutable","name":"p2","nameLocation":"30749:2:14","nodeType":"VariableDeclaration","scope":26769,"src":"30744:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26751,"name":"bool","nodeType":"ElementaryTypeName","src":"30744:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26754,"mutability":"mutable","name":"p3","nameLocation":"30761:2:14","nodeType":"VariableDeclaration","scope":26769,"src":"30753:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26753,"name":"uint256","nodeType":"ElementaryTypeName","src":"30753:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30719:45:14"},"returnParameters":{"id":26756,"nodeType":"ParameterList","parameters":[],"src":"30779:0:14"},"scope":31347,"src":"30707:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26791,"nodeType":"Block","src":"30973:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":26783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31023:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":26784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26771,"src":"31059:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26773,"src":"31063:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26775,"src":"31067:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26787,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26777,"src":"31071:2:14","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":26781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30999:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31003:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30999:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30999:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"30983:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30983:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26790,"nodeType":"ExpressionStatement","src":"30983:92:14"}]},"id":26792,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30904:3:14","nodeType":"FunctionDefinition","parameters":{"id":26778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26771,"mutability":"mutable","name":"p0","nameLocation":"30916:2:14","nodeType":"VariableDeclaration","scope":26792,"src":"30908:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26770,"name":"uint256","nodeType":"ElementaryTypeName","src":"30908:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26773,"mutability":"mutable","name":"p1","nameLocation":"30928:2:14","nodeType":"VariableDeclaration","scope":26792,"src":"30920:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26772,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26775,"mutability":"mutable","name":"p2","nameLocation":"30937:2:14","nodeType":"VariableDeclaration","scope":26792,"src":"30932:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26774,"name":"bool","nodeType":"ElementaryTypeName","src":"30932:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26777,"mutability":"mutable","name":"p3","nameLocation":"30955:2:14","nodeType":"VariableDeclaration","scope":26792,"src":"30941:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26776,"name":"string","nodeType":"ElementaryTypeName","src":"30941:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30907:51:14"},"returnParameters":{"id":26779,"nodeType":"ParameterList","parameters":[],"src":"30973:0:14"},"scope":31347,"src":"30895:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26814,"nodeType":"Block","src":"31157:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":26806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31207:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":26807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26794,"src":"31241:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26796,"src":"31245:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26809,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26798,"src":"31249:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26810,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26800,"src":"31253:2:14","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":26804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31183:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31187:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31183:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31183:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"31167:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31167:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26813,"nodeType":"ExpressionStatement","src":"31167:90:14"}]},"id":26815,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31097:3:14","nodeType":"FunctionDefinition","parameters":{"id":26801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26794,"mutability":"mutable","name":"p0","nameLocation":"31109:2:14","nodeType":"VariableDeclaration","scope":26815,"src":"31101:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26793,"name":"uint256","nodeType":"ElementaryTypeName","src":"31101:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26796,"mutability":"mutable","name":"p1","nameLocation":"31121:2:14","nodeType":"VariableDeclaration","scope":26815,"src":"31113:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26795,"name":"address","nodeType":"ElementaryTypeName","src":"31113:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26798,"mutability":"mutable","name":"p2","nameLocation":"31130:2:14","nodeType":"VariableDeclaration","scope":26815,"src":"31125:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26797,"name":"bool","nodeType":"ElementaryTypeName","src":"31125:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26800,"mutability":"mutable","name":"p3","nameLocation":"31139:2:14","nodeType":"VariableDeclaration","scope":26815,"src":"31134:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26799,"name":"bool","nodeType":"ElementaryTypeName","src":"31134:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31100:42:14"},"returnParameters":{"id":26802,"nodeType":"ParameterList","parameters":[],"src":"31157:0:14"},"scope":31347,"src":"31088:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26837,"nodeType":"Block","src":"31342:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":26829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31392:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":26830,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26817,"src":"31429:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26831,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26819,"src":"31433:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26832,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26821,"src":"31437:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26833,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26823,"src":"31441:2:14","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":26827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31368:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31372:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31368:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31368:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"31352:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31352:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26836,"nodeType":"ExpressionStatement","src":"31352:93:14"}]},"id":26838,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31279:3:14","nodeType":"FunctionDefinition","parameters":{"id":26824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26817,"mutability":"mutable","name":"p0","nameLocation":"31291:2:14","nodeType":"VariableDeclaration","scope":26838,"src":"31283:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26816,"name":"uint256","nodeType":"ElementaryTypeName","src":"31283:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26819,"mutability":"mutable","name":"p1","nameLocation":"31303:2:14","nodeType":"VariableDeclaration","scope":26838,"src":"31295:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26818,"name":"address","nodeType":"ElementaryTypeName","src":"31295:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26821,"mutability":"mutable","name":"p2","nameLocation":"31312:2:14","nodeType":"VariableDeclaration","scope":26838,"src":"31307:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26820,"name":"bool","nodeType":"ElementaryTypeName","src":"31307:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26823,"mutability":"mutable","name":"p3","nameLocation":"31324:2:14","nodeType":"VariableDeclaration","scope":26838,"src":"31316:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26822,"name":"address","nodeType":"ElementaryTypeName","src":"31316:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31282:45:14"},"returnParameters":{"id":26825,"nodeType":"ParameterList","parameters":[],"src":"31342:0:14"},"scope":31347,"src":"31270:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26860,"nodeType":"Block","src":"31533:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":26852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31583:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":26853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26840,"src":"31623:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26842,"src":"31627:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26855,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26844,"src":"31631:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26856,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26846,"src":"31635:2:14","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":26850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31559:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31563:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31559:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31559:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"31543:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31543:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26859,"nodeType":"ExpressionStatement","src":"31543:96:14"}]},"id":26861,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31467:3:14","nodeType":"FunctionDefinition","parameters":{"id":26847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26840,"mutability":"mutable","name":"p0","nameLocation":"31479:2:14","nodeType":"VariableDeclaration","scope":26861,"src":"31471:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26839,"name":"uint256","nodeType":"ElementaryTypeName","src":"31471:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26842,"mutability":"mutable","name":"p1","nameLocation":"31491:2:14","nodeType":"VariableDeclaration","scope":26861,"src":"31483:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26841,"name":"address","nodeType":"ElementaryTypeName","src":"31483:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26844,"mutability":"mutable","name":"p2","nameLocation":"31503:2:14","nodeType":"VariableDeclaration","scope":26861,"src":"31495:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26843,"name":"address","nodeType":"ElementaryTypeName","src":"31495:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26846,"mutability":"mutable","name":"p3","nameLocation":"31515:2:14","nodeType":"VariableDeclaration","scope":26861,"src":"31507:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26845,"name":"uint256","nodeType":"ElementaryTypeName","src":"31507:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31470:48:14"},"returnParameters":{"id":26848,"nodeType":"ParameterList","parameters":[],"src":"31533:0:14"},"scope":31347,"src":"31458:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26883,"nodeType":"Block","src":"31733:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":26875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31783:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":26876,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26863,"src":"31822:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26877,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26865,"src":"31826:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26878,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26867,"src":"31830:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26879,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26869,"src":"31834:2:14","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":26873,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31759:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31763:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31759:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31759:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"31743:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31743:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26882,"nodeType":"ExpressionStatement","src":"31743:95:14"}]},"id":26884,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31661:3:14","nodeType":"FunctionDefinition","parameters":{"id":26870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26863,"mutability":"mutable","name":"p0","nameLocation":"31673:2:14","nodeType":"VariableDeclaration","scope":26884,"src":"31665:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26862,"name":"uint256","nodeType":"ElementaryTypeName","src":"31665:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26865,"mutability":"mutable","name":"p1","nameLocation":"31685:2:14","nodeType":"VariableDeclaration","scope":26884,"src":"31677:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26864,"name":"address","nodeType":"ElementaryTypeName","src":"31677:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26867,"mutability":"mutable","name":"p2","nameLocation":"31697:2:14","nodeType":"VariableDeclaration","scope":26884,"src":"31689:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26866,"name":"address","nodeType":"ElementaryTypeName","src":"31689:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26869,"mutability":"mutable","name":"p3","nameLocation":"31715:2:14","nodeType":"VariableDeclaration","scope":26884,"src":"31701:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26868,"name":"string","nodeType":"ElementaryTypeName","src":"31701:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31664:54:14"},"returnParameters":{"id":26871,"nodeType":"ParameterList","parameters":[],"src":"31733:0:14"},"scope":31347,"src":"31652:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26906,"nodeType":"Block","src":"31923:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":26898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31973:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":26899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26886,"src":"32010:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26888,"src":"32014:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26890,"src":"32018:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26902,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26892,"src":"32022:2:14","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":26896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31949:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31953:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31949:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31949:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"31933:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31933:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26905,"nodeType":"ExpressionStatement","src":"31933:93:14"}]},"id":26907,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31860:3:14","nodeType":"FunctionDefinition","parameters":{"id":26893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26886,"mutability":"mutable","name":"p0","nameLocation":"31872:2:14","nodeType":"VariableDeclaration","scope":26907,"src":"31864:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26885,"name":"uint256","nodeType":"ElementaryTypeName","src":"31864:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26888,"mutability":"mutable","name":"p1","nameLocation":"31884:2:14","nodeType":"VariableDeclaration","scope":26907,"src":"31876:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26887,"name":"address","nodeType":"ElementaryTypeName","src":"31876:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26890,"mutability":"mutable","name":"p2","nameLocation":"31896:2:14","nodeType":"VariableDeclaration","scope":26907,"src":"31888:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26889,"name":"address","nodeType":"ElementaryTypeName","src":"31888:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26892,"mutability":"mutable","name":"p3","nameLocation":"31905:2:14","nodeType":"VariableDeclaration","scope":26907,"src":"31900:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26891,"name":"bool","nodeType":"ElementaryTypeName","src":"31900:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31863:45:14"},"returnParameters":{"id":26894,"nodeType":"ParameterList","parameters":[],"src":"31923:0:14"},"scope":31347,"src":"31851:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26929,"nodeType":"Block","src":"32114:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":26921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32164:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":26922,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26909,"src":"32204:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26923,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26911,"src":"32208:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26924,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26913,"src":"32212:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26925,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26915,"src":"32216:2:14","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":26919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32140:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32144:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32140:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32140:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"32124:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32124:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26928,"nodeType":"ExpressionStatement","src":"32124:96:14"}]},"id":26930,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32048:3:14","nodeType":"FunctionDefinition","parameters":{"id":26916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26909,"mutability":"mutable","name":"p0","nameLocation":"32060:2:14","nodeType":"VariableDeclaration","scope":26930,"src":"32052:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26908,"name":"uint256","nodeType":"ElementaryTypeName","src":"32052:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26911,"mutability":"mutable","name":"p1","nameLocation":"32072:2:14","nodeType":"VariableDeclaration","scope":26930,"src":"32064:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26910,"name":"address","nodeType":"ElementaryTypeName","src":"32064:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26913,"mutability":"mutable","name":"p2","nameLocation":"32084:2:14","nodeType":"VariableDeclaration","scope":26930,"src":"32076:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26912,"name":"address","nodeType":"ElementaryTypeName","src":"32076:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26915,"mutability":"mutable","name":"p3","nameLocation":"32096:2:14","nodeType":"VariableDeclaration","scope":26930,"src":"32088:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26914,"name":"address","nodeType":"ElementaryTypeName","src":"32088:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32051:48:14"},"returnParameters":{"id":26917,"nodeType":"ParameterList","parameters":[],"src":"32114:0:14"},"scope":31347,"src":"32039:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26952,"nodeType":"Block","src":"32314:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":26944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32364:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":26945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26932,"src":"32403:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26934,"src":"32407:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26936,"src":"32411:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26948,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26938,"src":"32415:2:14","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":26942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32340:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32344:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32340:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32340:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"32324:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32324:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26951,"nodeType":"ExpressionStatement","src":"32324:95:14"}]},"id":26953,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32242:3:14","nodeType":"FunctionDefinition","parameters":{"id":26939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26932,"mutability":"mutable","name":"p0","nameLocation":"32260:2:14","nodeType":"VariableDeclaration","scope":26953,"src":"32246:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26931,"name":"string","nodeType":"ElementaryTypeName","src":"32246:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26934,"mutability":"mutable","name":"p1","nameLocation":"32272:2:14","nodeType":"VariableDeclaration","scope":26953,"src":"32264:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26933,"name":"uint256","nodeType":"ElementaryTypeName","src":"32264:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26936,"mutability":"mutable","name":"p2","nameLocation":"32284:2:14","nodeType":"VariableDeclaration","scope":26953,"src":"32276:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26935,"name":"uint256","nodeType":"ElementaryTypeName","src":"32276:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26938,"mutability":"mutable","name":"p3","nameLocation":"32296:2:14","nodeType":"VariableDeclaration","scope":26953,"src":"32288:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26937,"name":"uint256","nodeType":"ElementaryTypeName","src":"32288:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32245:54:14"},"returnParameters":{"id":26940,"nodeType":"ParameterList","parameters":[],"src":"32314:0:14"},"scope":31347,"src":"32233:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26975,"nodeType":"Block","src":"32519:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":26967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32569:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":26968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26955,"src":"32607:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26957,"src":"32611:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26970,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26959,"src":"32615:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26971,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26961,"src":"32619:2:14","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":26965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32545:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32549:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32545:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32545:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"32529:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32529:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26974,"nodeType":"ExpressionStatement","src":"32529:94:14"}]},"id":26976,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32441:3:14","nodeType":"FunctionDefinition","parameters":{"id":26962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26955,"mutability":"mutable","name":"p0","nameLocation":"32459:2:14","nodeType":"VariableDeclaration","scope":26976,"src":"32445:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26954,"name":"string","nodeType":"ElementaryTypeName","src":"32445:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26957,"mutability":"mutable","name":"p1","nameLocation":"32471:2:14","nodeType":"VariableDeclaration","scope":26976,"src":"32463:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26956,"name":"uint256","nodeType":"ElementaryTypeName","src":"32463:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26959,"mutability":"mutable","name":"p2","nameLocation":"32483:2:14","nodeType":"VariableDeclaration","scope":26976,"src":"32475:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26958,"name":"uint256","nodeType":"ElementaryTypeName","src":"32475:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26961,"mutability":"mutable","name":"p3","nameLocation":"32501:2:14","nodeType":"VariableDeclaration","scope":26976,"src":"32487:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26960,"name":"string","nodeType":"ElementaryTypeName","src":"32487:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32444:60:14"},"returnParameters":{"id":26963,"nodeType":"ParameterList","parameters":[],"src":"32519:0:14"},"scope":31347,"src":"32432:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":26998,"nodeType":"Block","src":"32714:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":26990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32764:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":26991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26978,"src":"32800:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26980,"src":"32804:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26982,"src":"32808:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26994,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26984,"src":"32812:2:14","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":26988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32740:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32744:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32740:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32740:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"32724:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32724:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26997,"nodeType":"ExpressionStatement","src":"32724:92:14"}]},"id":26999,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32645:3:14","nodeType":"FunctionDefinition","parameters":{"id":26985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26978,"mutability":"mutable","name":"p0","nameLocation":"32663:2:14","nodeType":"VariableDeclaration","scope":26999,"src":"32649:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26977,"name":"string","nodeType":"ElementaryTypeName","src":"32649:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26980,"mutability":"mutable","name":"p1","nameLocation":"32675:2:14","nodeType":"VariableDeclaration","scope":26999,"src":"32667:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26979,"name":"uint256","nodeType":"ElementaryTypeName","src":"32667:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26982,"mutability":"mutable","name":"p2","nameLocation":"32687:2:14","nodeType":"VariableDeclaration","scope":26999,"src":"32679:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26981,"name":"uint256","nodeType":"ElementaryTypeName","src":"32679:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26984,"mutability":"mutable","name":"p3","nameLocation":"32696:2:14","nodeType":"VariableDeclaration","scope":26999,"src":"32691:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26983,"name":"bool","nodeType":"ElementaryTypeName","src":"32691:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32648:51:14"},"returnParameters":{"id":26986,"nodeType":"ParameterList","parameters":[],"src":"32714:0:14"},"scope":31347,"src":"32636:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27021,"nodeType":"Block","src":"32910:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":27013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32960:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":27014,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27001,"src":"32999:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27015,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27003,"src":"33003:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27016,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27005,"src":"33007:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27017,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27007,"src":"33011:2:14","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":27011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32936:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32940:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32936:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32936:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27010,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"32920:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32920:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27020,"nodeType":"ExpressionStatement","src":"32920:95:14"}]},"id":27022,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32838:3:14","nodeType":"FunctionDefinition","parameters":{"id":27008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27001,"mutability":"mutable","name":"p0","nameLocation":"32856:2:14","nodeType":"VariableDeclaration","scope":27022,"src":"32842:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27000,"name":"string","nodeType":"ElementaryTypeName","src":"32842:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27003,"mutability":"mutable","name":"p1","nameLocation":"32868:2:14","nodeType":"VariableDeclaration","scope":27022,"src":"32860:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27002,"name":"uint256","nodeType":"ElementaryTypeName","src":"32860:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27005,"mutability":"mutable","name":"p2","nameLocation":"32880:2:14","nodeType":"VariableDeclaration","scope":27022,"src":"32872:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27004,"name":"uint256","nodeType":"ElementaryTypeName","src":"32872:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27007,"mutability":"mutable","name":"p3","nameLocation":"32892:2:14","nodeType":"VariableDeclaration","scope":27022,"src":"32884:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27006,"name":"address","nodeType":"ElementaryTypeName","src":"32884:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32841:54:14"},"returnParameters":{"id":27009,"nodeType":"ParameterList","parameters":[],"src":"32910:0:14"},"scope":31347,"src":"32829:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27044,"nodeType":"Block","src":"33115:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":27036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33165:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":27037,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27024,"src":"33203:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27038,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27026,"src":"33207:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27039,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27028,"src":"33211:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27040,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27030,"src":"33215:2:14","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":27034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33141:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33145:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33141:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33141:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"33125:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33125:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27043,"nodeType":"ExpressionStatement","src":"33125:94:14"}]},"id":27045,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33037:3:14","nodeType":"FunctionDefinition","parameters":{"id":27031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27024,"mutability":"mutable","name":"p0","nameLocation":"33055:2:14","nodeType":"VariableDeclaration","scope":27045,"src":"33041:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27023,"name":"string","nodeType":"ElementaryTypeName","src":"33041:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27026,"mutability":"mutable","name":"p1","nameLocation":"33067:2:14","nodeType":"VariableDeclaration","scope":27045,"src":"33059:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27025,"name":"uint256","nodeType":"ElementaryTypeName","src":"33059:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27028,"mutability":"mutable","name":"p2","nameLocation":"33085:2:14","nodeType":"VariableDeclaration","scope":27045,"src":"33071:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27027,"name":"string","nodeType":"ElementaryTypeName","src":"33071:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27030,"mutability":"mutable","name":"p3","nameLocation":"33097:2:14","nodeType":"VariableDeclaration","scope":27045,"src":"33089:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27029,"name":"uint256","nodeType":"ElementaryTypeName","src":"33089:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33040:60:14"},"returnParameters":{"id":27032,"nodeType":"ParameterList","parameters":[],"src":"33115:0:14"},"scope":31347,"src":"33028:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27067,"nodeType":"Block","src":"33325:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":27059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33375:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":27060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27047,"src":"33412:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27049,"src":"33416:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27062,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27051,"src":"33420:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27063,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27053,"src":"33424:2:14","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":27057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33351:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33355:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33351:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33351:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"33335:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33335:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27066,"nodeType":"ExpressionStatement","src":"33335:93:14"}]},"id":27068,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33241:3:14","nodeType":"FunctionDefinition","parameters":{"id":27054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27047,"mutability":"mutable","name":"p0","nameLocation":"33259:2:14","nodeType":"VariableDeclaration","scope":27068,"src":"33245:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27046,"name":"string","nodeType":"ElementaryTypeName","src":"33245:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27049,"mutability":"mutable","name":"p1","nameLocation":"33271:2:14","nodeType":"VariableDeclaration","scope":27068,"src":"33263:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33263:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27051,"mutability":"mutable","name":"p2","nameLocation":"33289:2:14","nodeType":"VariableDeclaration","scope":27068,"src":"33275:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27050,"name":"string","nodeType":"ElementaryTypeName","src":"33275:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27053,"mutability":"mutable","name":"p3","nameLocation":"33307:2:14","nodeType":"VariableDeclaration","scope":27068,"src":"33293:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27052,"name":"string","nodeType":"ElementaryTypeName","src":"33293:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33244:66:14"},"returnParameters":{"id":27055,"nodeType":"ParameterList","parameters":[],"src":"33325:0:14"},"scope":31347,"src":"33232:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27090,"nodeType":"Block","src":"33525:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":27082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33575:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":27083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27070,"src":"33610:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27072,"src":"33614:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27085,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27074,"src":"33618:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27086,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27076,"src":"33622:2:14","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":27080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33551:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33555:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33551:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33551:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"33535:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33535:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27089,"nodeType":"ExpressionStatement","src":"33535:91:14"}]},"id":27091,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33450:3:14","nodeType":"FunctionDefinition","parameters":{"id":27077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27070,"mutability":"mutable","name":"p0","nameLocation":"33468:2:14","nodeType":"VariableDeclaration","scope":27091,"src":"33454:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27069,"name":"string","nodeType":"ElementaryTypeName","src":"33454:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27072,"mutability":"mutable","name":"p1","nameLocation":"33480:2:14","nodeType":"VariableDeclaration","scope":27091,"src":"33472:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27071,"name":"uint256","nodeType":"ElementaryTypeName","src":"33472:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27074,"mutability":"mutable","name":"p2","nameLocation":"33498:2:14","nodeType":"VariableDeclaration","scope":27091,"src":"33484:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27073,"name":"string","nodeType":"ElementaryTypeName","src":"33484:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27076,"mutability":"mutable","name":"p3","nameLocation":"33507:2:14","nodeType":"VariableDeclaration","scope":27091,"src":"33502:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27075,"name":"bool","nodeType":"ElementaryTypeName","src":"33502:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33453:57:14"},"returnParameters":{"id":27078,"nodeType":"ParameterList","parameters":[],"src":"33525:0:14"},"scope":31347,"src":"33441:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27113,"nodeType":"Block","src":"33726:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":27105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33776:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":27106,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27093,"src":"33814:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27107,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27095,"src":"33818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27108,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27097,"src":"33822:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27109,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27099,"src":"33826:2:14","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":27103,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33752:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33756:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33752:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33752:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27102,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"33736:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33736:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27112,"nodeType":"ExpressionStatement","src":"33736:94:14"}]},"id":27114,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33648:3:14","nodeType":"FunctionDefinition","parameters":{"id":27100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27093,"mutability":"mutable","name":"p0","nameLocation":"33666:2:14","nodeType":"VariableDeclaration","scope":27114,"src":"33652:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27092,"name":"string","nodeType":"ElementaryTypeName","src":"33652:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27095,"mutability":"mutable","name":"p1","nameLocation":"33678:2:14","nodeType":"VariableDeclaration","scope":27114,"src":"33670:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27094,"name":"uint256","nodeType":"ElementaryTypeName","src":"33670:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27097,"mutability":"mutable","name":"p2","nameLocation":"33696:2:14","nodeType":"VariableDeclaration","scope":27114,"src":"33682:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27096,"name":"string","nodeType":"ElementaryTypeName","src":"33682:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27099,"mutability":"mutable","name":"p3","nameLocation":"33708:2:14","nodeType":"VariableDeclaration","scope":27114,"src":"33700:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27098,"name":"address","nodeType":"ElementaryTypeName","src":"33700:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33651:60:14"},"returnParameters":{"id":27101,"nodeType":"ParameterList","parameters":[],"src":"33726:0:14"},"scope":31347,"src":"33639:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27136,"nodeType":"Block","src":"33921:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":27128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33971:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":27129,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27116,"src":"34007:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27130,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27118,"src":"34011:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27131,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27120,"src":"34015:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27132,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27122,"src":"34019:2:14","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":27126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33947:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33951:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33947:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33947:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"33931:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33931:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27135,"nodeType":"ExpressionStatement","src":"33931:92:14"}]},"id":27137,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33852:3:14","nodeType":"FunctionDefinition","parameters":{"id":27123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27116,"mutability":"mutable","name":"p0","nameLocation":"33870:2:14","nodeType":"VariableDeclaration","scope":27137,"src":"33856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27115,"name":"string","nodeType":"ElementaryTypeName","src":"33856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27118,"mutability":"mutable","name":"p1","nameLocation":"33882:2:14","nodeType":"VariableDeclaration","scope":27137,"src":"33874:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27117,"name":"uint256","nodeType":"ElementaryTypeName","src":"33874:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27120,"mutability":"mutable","name":"p2","nameLocation":"33891:2:14","nodeType":"VariableDeclaration","scope":27137,"src":"33886:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27119,"name":"bool","nodeType":"ElementaryTypeName","src":"33886:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27122,"mutability":"mutable","name":"p3","nameLocation":"33903:2:14","nodeType":"VariableDeclaration","scope":27137,"src":"33895:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27121,"name":"uint256","nodeType":"ElementaryTypeName","src":"33895:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33855:51:14"},"returnParameters":{"id":27124,"nodeType":"ParameterList","parameters":[],"src":"33921:0:14"},"scope":31347,"src":"33843:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27159,"nodeType":"Block","src":"34120:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":27151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34170:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":27152,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27139,"src":"34205:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27153,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27141,"src":"34209:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27154,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27143,"src":"34213:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27155,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27145,"src":"34217:2:14","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":27149,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34150:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34146:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"34130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34130:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27158,"nodeType":"ExpressionStatement","src":"34130:91:14"}]},"id":27160,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34045:3:14","nodeType":"FunctionDefinition","parameters":{"id":27146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27139,"mutability":"mutable","name":"p0","nameLocation":"34063:2:14","nodeType":"VariableDeclaration","scope":27160,"src":"34049:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27138,"name":"string","nodeType":"ElementaryTypeName","src":"34049:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27141,"mutability":"mutable","name":"p1","nameLocation":"34075:2:14","nodeType":"VariableDeclaration","scope":27160,"src":"34067:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27140,"name":"uint256","nodeType":"ElementaryTypeName","src":"34067:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27143,"mutability":"mutable","name":"p2","nameLocation":"34084:2:14","nodeType":"VariableDeclaration","scope":27160,"src":"34079:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27142,"name":"bool","nodeType":"ElementaryTypeName","src":"34079:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27145,"mutability":"mutable","name":"p3","nameLocation":"34102:2:14","nodeType":"VariableDeclaration","scope":27160,"src":"34088:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27144,"name":"string","nodeType":"ElementaryTypeName","src":"34088:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34048:57:14"},"returnParameters":{"id":27147,"nodeType":"ParameterList","parameters":[],"src":"34120:0:14"},"scope":31347,"src":"34036:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27182,"nodeType":"Block","src":"34309:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":27174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34359:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":27175,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27162,"src":"34392:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27176,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27164,"src":"34396:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27177,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27166,"src":"34400:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27178,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27168,"src":"34404:2:14","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":27172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34335:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34339:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34335:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34335:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"34319:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34319:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27181,"nodeType":"ExpressionStatement","src":"34319:89:14"}]},"id":27183,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34243:3:14","nodeType":"FunctionDefinition","parameters":{"id":27169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27162,"mutability":"mutable","name":"p0","nameLocation":"34261:2:14","nodeType":"VariableDeclaration","scope":27183,"src":"34247:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27161,"name":"string","nodeType":"ElementaryTypeName","src":"34247:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27164,"mutability":"mutable","name":"p1","nameLocation":"34273:2:14","nodeType":"VariableDeclaration","scope":27183,"src":"34265:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27163,"name":"uint256","nodeType":"ElementaryTypeName","src":"34265:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27166,"mutability":"mutable","name":"p2","nameLocation":"34282:2:14","nodeType":"VariableDeclaration","scope":27183,"src":"34277:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27165,"name":"bool","nodeType":"ElementaryTypeName","src":"34277:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27168,"mutability":"mutable","name":"p3","nameLocation":"34291:2:14","nodeType":"VariableDeclaration","scope":27183,"src":"34286:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27167,"name":"bool","nodeType":"ElementaryTypeName","src":"34286:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34246:48:14"},"returnParameters":{"id":27170,"nodeType":"ParameterList","parameters":[],"src":"34309:0:14"},"scope":31347,"src":"34234:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27205,"nodeType":"Block","src":"34499:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":27197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34549:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":27198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27185,"src":"34585:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27199,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27187,"src":"34589:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27200,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27189,"src":"34593:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27201,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27191,"src":"34597:2:14","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":27195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34525:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34529:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34525:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34525:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"34509:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34509:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27204,"nodeType":"ExpressionStatement","src":"34509:92:14"}]},"id":27206,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34430:3:14","nodeType":"FunctionDefinition","parameters":{"id":27192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27185,"mutability":"mutable","name":"p0","nameLocation":"34448:2:14","nodeType":"VariableDeclaration","scope":27206,"src":"34434:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27184,"name":"string","nodeType":"ElementaryTypeName","src":"34434:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27187,"mutability":"mutable","name":"p1","nameLocation":"34460:2:14","nodeType":"VariableDeclaration","scope":27206,"src":"34452:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27186,"name":"uint256","nodeType":"ElementaryTypeName","src":"34452:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27189,"mutability":"mutable","name":"p2","nameLocation":"34469:2:14","nodeType":"VariableDeclaration","scope":27206,"src":"34464:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27188,"name":"bool","nodeType":"ElementaryTypeName","src":"34464:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27191,"mutability":"mutable","name":"p3","nameLocation":"34481:2:14","nodeType":"VariableDeclaration","scope":27206,"src":"34473:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27190,"name":"address","nodeType":"ElementaryTypeName","src":"34473:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34433:51:14"},"returnParameters":{"id":27193,"nodeType":"ParameterList","parameters":[],"src":"34499:0:14"},"scope":31347,"src":"34421:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27228,"nodeType":"Block","src":"34695:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":27220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34745:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":27221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27208,"src":"34784:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27210,"src":"34788:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27212,"src":"34792:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27224,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27214,"src":"34796:2:14","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":27218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34721:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34725:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34721:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"34705:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34705:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27227,"nodeType":"ExpressionStatement","src":"34705:95:14"}]},"id":27229,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34623:3:14","nodeType":"FunctionDefinition","parameters":{"id":27215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27208,"mutability":"mutable","name":"p0","nameLocation":"34641:2:14","nodeType":"VariableDeclaration","scope":27229,"src":"34627:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27207,"name":"string","nodeType":"ElementaryTypeName","src":"34627:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27210,"mutability":"mutable","name":"p1","nameLocation":"34653:2:14","nodeType":"VariableDeclaration","scope":27229,"src":"34645:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27209,"name":"uint256","nodeType":"ElementaryTypeName","src":"34645:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27212,"mutability":"mutable","name":"p2","nameLocation":"34665:2:14","nodeType":"VariableDeclaration","scope":27229,"src":"34657:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27211,"name":"address","nodeType":"ElementaryTypeName","src":"34657:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27214,"mutability":"mutable","name":"p3","nameLocation":"34677:2:14","nodeType":"VariableDeclaration","scope":27229,"src":"34669:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27213,"name":"uint256","nodeType":"ElementaryTypeName","src":"34669:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34626:54:14"},"returnParameters":{"id":27216,"nodeType":"ParameterList","parameters":[],"src":"34695:0:14"},"scope":31347,"src":"34614:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27251,"nodeType":"Block","src":"34900:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":27243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34950:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":27244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27231,"src":"34988:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27233,"src":"34992:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27235,"src":"34996:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27247,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27237,"src":"35000:2:14","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":27241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34926:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34930:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34926:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34926:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"34910:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34910:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27250,"nodeType":"ExpressionStatement","src":"34910:94:14"}]},"id":27252,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34822:3:14","nodeType":"FunctionDefinition","parameters":{"id":27238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27231,"mutability":"mutable","name":"p0","nameLocation":"34840:2:14","nodeType":"VariableDeclaration","scope":27252,"src":"34826:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27230,"name":"string","nodeType":"ElementaryTypeName","src":"34826:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27233,"mutability":"mutable","name":"p1","nameLocation":"34852:2:14","nodeType":"VariableDeclaration","scope":27252,"src":"34844:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27232,"name":"uint256","nodeType":"ElementaryTypeName","src":"34844:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27235,"mutability":"mutable","name":"p2","nameLocation":"34864:2:14","nodeType":"VariableDeclaration","scope":27252,"src":"34856:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27234,"name":"address","nodeType":"ElementaryTypeName","src":"34856:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27237,"mutability":"mutable","name":"p3","nameLocation":"34882:2:14","nodeType":"VariableDeclaration","scope":27252,"src":"34868:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27236,"name":"string","nodeType":"ElementaryTypeName","src":"34868:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34825:60:14"},"returnParameters":{"id":27239,"nodeType":"ParameterList","parameters":[],"src":"34900:0:14"},"scope":31347,"src":"34813:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27274,"nodeType":"Block","src":"35095:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":27266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35145:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":27267,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27254,"src":"35181:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27268,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27256,"src":"35185:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27269,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27258,"src":"35189:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27270,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27260,"src":"35193:2:14","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":27264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35121:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35125:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35121:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35121:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"35105:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35105:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27273,"nodeType":"ExpressionStatement","src":"35105:92:14"}]},"id":27275,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35026:3:14","nodeType":"FunctionDefinition","parameters":{"id":27261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27254,"mutability":"mutable","name":"p0","nameLocation":"35044:2:14","nodeType":"VariableDeclaration","scope":27275,"src":"35030:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27253,"name":"string","nodeType":"ElementaryTypeName","src":"35030:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27256,"mutability":"mutable","name":"p1","nameLocation":"35056:2:14","nodeType":"VariableDeclaration","scope":27275,"src":"35048:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27255,"name":"uint256","nodeType":"ElementaryTypeName","src":"35048:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27258,"mutability":"mutable","name":"p2","nameLocation":"35068:2:14","nodeType":"VariableDeclaration","scope":27275,"src":"35060:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27257,"name":"address","nodeType":"ElementaryTypeName","src":"35060:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27260,"mutability":"mutable","name":"p3","nameLocation":"35077:2:14","nodeType":"VariableDeclaration","scope":27275,"src":"35072:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27259,"name":"bool","nodeType":"ElementaryTypeName","src":"35072:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35029:51:14"},"returnParameters":{"id":27262,"nodeType":"ParameterList","parameters":[],"src":"35095:0:14"},"scope":31347,"src":"35017:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27297,"nodeType":"Block","src":"35291:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":27289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35341:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":27290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27277,"src":"35380:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27291,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27279,"src":"35384:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27292,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27281,"src":"35388:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27293,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27283,"src":"35392:2:14","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":27287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35317:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35321:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35317:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35317:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"35301:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27296,"nodeType":"ExpressionStatement","src":"35301:95:14"}]},"id":27298,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35219:3:14","nodeType":"FunctionDefinition","parameters":{"id":27284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27277,"mutability":"mutable","name":"p0","nameLocation":"35237:2:14","nodeType":"VariableDeclaration","scope":27298,"src":"35223:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27276,"name":"string","nodeType":"ElementaryTypeName","src":"35223:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27279,"mutability":"mutable","name":"p1","nameLocation":"35249:2:14","nodeType":"VariableDeclaration","scope":27298,"src":"35241:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27278,"name":"uint256","nodeType":"ElementaryTypeName","src":"35241:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27281,"mutability":"mutable","name":"p2","nameLocation":"35261:2:14","nodeType":"VariableDeclaration","scope":27298,"src":"35253:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27280,"name":"address","nodeType":"ElementaryTypeName","src":"35253:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27283,"mutability":"mutable","name":"p3","nameLocation":"35273:2:14","nodeType":"VariableDeclaration","scope":27298,"src":"35265:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27282,"name":"address","nodeType":"ElementaryTypeName","src":"35265:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35222:54:14"},"returnParameters":{"id":27285,"nodeType":"ParameterList","parameters":[],"src":"35291:0:14"},"scope":31347,"src":"35210:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27320,"nodeType":"Block","src":"35496:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":27312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35546:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":27313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27300,"src":"35584:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27314,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27302,"src":"35588:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27315,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27304,"src":"35592:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27316,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27306,"src":"35596:2:14","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":27310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35522:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35526:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35522:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35522:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"35506:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35506:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27319,"nodeType":"ExpressionStatement","src":"35506:94:14"}]},"id":27321,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35418:3:14","nodeType":"FunctionDefinition","parameters":{"id":27307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27300,"mutability":"mutable","name":"p0","nameLocation":"35436:2:14","nodeType":"VariableDeclaration","scope":27321,"src":"35422:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27299,"name":"string","nodeType":"ElementaryTypeName","src":"35422:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27302,"mutability":"mutable","name":"p1","nameLocation":"35454:2:14","nodeType":"VariableDeclaration","scope":27321,"src":"35440:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27301,"name":"string","nodeType":"ElementaryTypeName","src":"35440:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27304,"mutability":"mutable","name":"p2","nameLocation":"35466:2:14","nodeType":"VariableDeclaration","scope":27321,"src":"35458:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27303,"name":"uint256","nodeType":"ElementaryTypeName","src":"35458:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27306,"mutability":"mutable","name":"p3","nameLocation":"35478:2:14","nodeType":"VariableDeclaration","scope":27321,"src":"35470:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27305,"name":"uint256","nodeType":"ElementaryTypeName","src":"35470:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35421:60:14"},"returnParameters":{"id":27308,"nodeType":"ParameterList","parameters":[],"src":"35496:0:14"},"scope":31347,"src":"35409:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27343,"nodeType":"Block","src":"35706:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":27335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35756:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":27336,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27323,"src":"35793:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27337,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27325,"src":"35797:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27338,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27327,"src":"35801:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27339,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27329,"src":"35805:2:14","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":27333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35732:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35736:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35732:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35732:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"35716:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35716:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27342,"nodeType":"ExpressionStatement","src":"35716:93:14"}]},"id":27344,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35622:3:14","nodeType":"FunctionDefinition","parameters":{"id":27330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27323,"mutability":"mutable","name":"p0","nameLocation":"35640:2:14","nodeType":"VariableDeclaration","scope":27344,"src":"35626:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27322,"name":"string","nodeType":"ElementaryTypeName","src":"35626:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27325,"mutability":"mutable","name":"p1","nameLocation":"35658:2:14","nodeType":"VariableDeclaration","scope":27344,"src":"35644:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27324,"name":"string","nodeType":"ElementaryTypeName","src":"35644:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27327,"mutability":"mutable","name":"p2","nameLocation":"35670:2:14","nodeType":"VariableDeclaration","scope":27344,"src":"35662:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27326,"name":"uint256","nodeType":"ElementaryTypeName","src":"35662:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27329,"mutability":"mutable","name":"p3","nameLocation":"35688:2:14","nodeType":"VariableDeclaration","scope":27344,"src":"35674:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27328,"name":"string","nodeType":"ElementaryTypeName","src":"35674:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35625:66:14"},"returnParameters":{"id":27331,"nodeType":"ParameterList","parameters":[],"src":"35706:0:14"},"scope":31347,"src":"35613:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27366,"nodeType":"Block","src":"35906:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":27358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35956:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":27359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27346,"src":"35991:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27348,"src":"35995:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27350,"src":"35999:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27362,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27352,"src":"36003:2:14","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":27356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35932:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35936:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35932:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35932:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"35916:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35916:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27365,"nodeType":"ExpressionStatement","src":"35916:91:14"}]},"id":27367,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35831:3:14","nodeType":"FunctionDefinition","parameters":{"id":27353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27346,"mutability":"mutable","name":"p0","nameLocation":"35849:2:14","nodeType":"VariableDeclaration","scope":27367,"src":"35835:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27345,"name":"string","nodeType":"ElementaryTypeName","src":"35835:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27348,"mutability":"mutable","name":"p1","nameLocation":"35867:2:14","nodeType":"VariableDeclaration","scope":27367,"src":"35853:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27347,"name":"string","nodeType":"ElementaryTypeName","src":"35853:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27350,"mutability":"mutable","name":"p2","nameLocation":"35879:2:14","nodeType":"VariableDeclaration","scope":27367,"src":"35871:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27349,"name":"uint256","nodeType":"ElementaryTypeName","src":"35871:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27352,"mutability":"mutable","name":"p3","nameLocation":"35888:2:14","nodeType":"VariableDeclaration","scope":27367,"src":"35883:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27351,"name":"bool","nodeType":"ElementaryTypeName","src":"35883:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35834:57:14"},"returnParameters":{"id":27354,"nodeType":"ParameterList","parameters":[],"src":"35906:0:14"},"scope":31347,"src":"35822:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27389,"nodeType":"Block","src":"36107:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":27381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36157:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":27382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27369,"src":"36195:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27371,"src":"36199:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27384,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27373,"src":"36203:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27385,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27375,"src":"36207:2:14","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":27379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36133:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36137:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36133:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36133:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"36117:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36117:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27388,"nodeType":"ExpressionStatement","src":"36117:94:14"}]},"id":27390,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36029:3:14","nodeType":"FunctionDefinition","parameters":{"id":27376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27369,"mutability":"mutable","name":"p0","nameLocation":"36047:2:14","nodeType":"VariableDeclaration","scope":27390,"src":"36033:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27368,"name":"string","nodeType":"ElementaryTypeName","src":"36033:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27371,"mutability":"mutable","name":"p1","nameLocation":"36065:2:14","nodeType":"VariableDeclaration","scope":27390,"src":"36051:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27370,"name":"string","nodeType":"ElementaryTypeName","src":"36051:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27373,"mutability":"mutable","name":"p2","nameLocation":"36077:2:14","nodeType":"VariableDeclaration","scope":27390,"src":"36069:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27372,"name":"uint256","nodeType":"ElementaryTypeName","src":"36069:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27375,"mutability":"mutable","name":"p3","nameLocation":"36089:2:14","nodeType":"VariableDeclaration","scope":27390,"src":"36081:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27374,"name":"address","nodeType":"ElementaryTypeName","src":"36081:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36032:60:14"},"returnParameters":{"id":27377,"nodeType":"ParameterList","parameters":[],"src":"36107:0:14"},"scope":31347,"src":"36020:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27412,"nodeType":"Block","src":"36317:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":27404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36367:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":27405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27392,"src":"36404:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27394,"src":"36408:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27396,"src":"36412:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27408,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27398,"src":"36416:2:14","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":27402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36343:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36347:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36343:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36343:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"36327:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36327:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27411,"nodeType":"ExpressionStatement","src":"36327:93:14"}]},"id":27413,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36233:3:14","nodeType":"FunctionDefinition","parameters":{"id":27399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27392,"mutability":"mutable","name":"p0","nameLocation":"36251:2:14","nodeType":"VariableDeclaration","scope":27413,"src":"36237:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27391,"name":"string","nodeType":"ElementaryTypeName","src":"36237:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27394,"mutability":"mutable","name":"p1","nameLocation":"36269:2:14","nodeType":"VariableDeclaration","scope":27413,"src":"36255:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27393,"name":"string","nodeType":"ElementaryTypeName","src":"36255:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27396,"mutability":"mutable","name":"p2","nameLocation":"36287:2:14","nodeType":"VariableDeclaration","scope":27413,"src":"36273:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27395,"name":"string","nodeType":"ElementaryTypeName","src":"36273:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27398,"mutability":"mutable","name":"p3","nameLocation":"36299:2:14","nodeType":"VariableDeclaration","scope":27413,"src":"36291:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27397,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36236:66:14"},"returnParameters":{"id":27400,"nodeType":"ParameterList","parameters":[],"src":"36317:0:14"},"scope":31347,"src":"36224:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27435,"nodeType":"Block","src":"36532:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":27427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36582:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":27428,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27415,"src":"36618:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27429,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27417,"src":"36622:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27430,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27419,"src":"36626:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27431,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27421,"src":"36630:2:14","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":27425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36558:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36562:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36558:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36558:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"36542:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36542:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27434,"nodeType":"ExpressionStatement","src":"36542:92:14"}]},"id":27436,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36442:3:14","nodeType":"FunctionDefinition","parameters":{"id":27422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27415,"mutability":"mutable","name":"p0","nameLocation":"36460:2:14","nodeType":"VariableDeclaration","scope":27436,"src":"36446:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27414,"name":"string","nodeType":"ElementaryTypeName","src":"36446:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27417,"mutability":"mutable","name":"p1","nameLocation":"36478:2:14","nodeType":"VariableDeclaration","scope":27436,"src":"36464:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27416,"name":"string","nodeType":"ElementaryTypeName","src":"36464:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27419,"mutability":"mutable","name":"p2","nameLocation":"36496:2:14","nodeType":"VariableDeclaration","scope":27436,"src":"36482:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27418,"name":"string","nodeType":"ElementaryTypeName","src":"36482:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27421,"mutability":"mutable","name":"p3","nameLocation":"36514:2:14","nodeType":"VariableDeclaration","scope":27436,"src":"36500:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27420,"name":"string","nodeType":"ElementaryTypeName","src":"36500:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36445:72:14"},"returnParameters":{"id":27423,"nodeType":"ParameterList","parameters":[],"src":"36532:0:14"},"scope":31347,"src":"36433:208:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27458,"nodeType":"Block","src":"36737:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":27450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36787:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":27451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27438,"src":"36821:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27440,"src":"36825:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27442,"src":"36829:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27454,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27444,"src":"36833:2:14","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":27448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36763:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36767:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36763:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36763:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"36747:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36747:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27457,"nodeType":"ExpressionStatement","src":"36747:90:14"}]},"id":27459,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36656:3:14","nodeType":"FunctionDefinition","parameters":{"id":27445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27438,"mutability":"mutable","name":"p0","nameLocation":"36674:2:14","nodeType":"VariableDeclaration","scope":27459,"src":"36660:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27437,"name":"string","nodeType":"ElementaryTypeName","src":"36660:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27440,"mutability":"mutable","name":"p1","nameLocation":"36692:2:14","nodeType":"VariableDeclaration","scope":27459,"src":"36678:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27439,"name":"string","nodeType":"ElementaryTypeName","src":"36678:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27442,"mutability":"mutable","name":"p2","nameLocation":"36710:2:14","nodeType":"VariableDeclaration","scope":27459,"src":"36696:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27441,"name":"string","nodeType":"ElementaryTypeName","src":"36696:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27444,"mutability":"mutable","name":"p3","nameLocation":"36719:2:14","nodeType":"VariableDeclaration","scope":27459,"src":"36714:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27443,"name":"bool","nodeType":"ElementaryTypeName","src":"36714:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36659:63:14"},"returnParameters":{"id":27446,"nodeType":"ParameterList","parameters":[],"src":"36737:0:14"},"scope":31347,"src":"36647:197:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27481,"nodeType":"Block","src":"36943:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":27473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36993:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":27474,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27461,"src":"37030:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27475,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27463,"src":"37034:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27476,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27465,"src":"37038:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27477,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27467,"src":"37042:2:14","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":27471,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36969:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36973:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36969:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36969:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"36953:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36953:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27480,"nodeType":"ExpressionStatement","src":"36953:93:14"}]},"id":27482,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36859:3:14","nodeType":"FunctionDefinition","parameters":{"id":27468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27461,"mutability":"mutable","name":"p0","nameLocation":"36877:2:14","nodeType":"VariableDeclaration","scope":27482,"src":"36863:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27460,"name":"string","nodeType":"ElementaryTypeName","src":"36863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27463,"mutability":"mutable","name":"p1","nameLocation":"36895:2:14","nodeType":"VariableDeclaration","scope":27482,"src":"36881:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27462,"name":"string","nodeType":"ElementaryTypeName","src":"36881:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27465,"mutability":"mutable","name":"p2","nameLocation":"36913:2:14","nodeType":"VariableDeclaration","scope":27482,"src":"36899:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27464,"name":"string","nodeType":"ElementaryTypeName","src":"36899:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27467,"mutability":"mutable","name":"p3","nameLocation":"36925:2:14","nodeType":"VariableDeclaration","scope":27482,"src":"36917:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27466,"name":"address","nodeType":"ElementaryTypeName","src":"36917:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36862:66:14"},"returnParameters":{"id":27469,"nodeType":"ParameterList","parameters":[],"src":"36943:0:14"},"scope":31347,"src":"36850:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27504,"nodeType":"Block","src":"37143:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":27496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37193:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":27497,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27484,"src":"37228:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27498,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27486,"src":"37232:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27499,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27488,"src":"37236:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27500,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27490,"src":"37240:2:14","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":27494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37169:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37173:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37169:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37169:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"37153:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37153:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27503,"nodeType":"ExpressionStatement","src":"37153:91:14"}]},"id":27505,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37068:3:14","nodeType":"FunctionDefinition","parameters":{"id":27491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27484,"mutability":"mutable","name":"p0","nameLocation":"37086:2:14","nodeType":"VariableDeclaration","scope":27505,"src":"37072:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27483,"name":"string","nodeType":"ElementaryTypeName","src":"37072:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27486,"mutability":"mutable","name":"p1","nameLocation":"37104:2:14","nodeType":"VariableDeclaration","scope":27505,"src":"37090:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27485,"name":"string","nodeType":"ElementaryTypeName","src":"37090:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27488,"mutability":"mutable","name":"p2","nameLocation":"37113:2:14","nodeType":"VariableDeclaration","scope":27505,"src":"37108:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27487,"name":"bool","nodeType":"ElementaryTypeName","src":"37108:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27490,"mutability":"mutable","name":"p3","nameLocation":"37125:2:14","nodeType":"VariableDeclaration","scope":27505,"src":"37117:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27489,"name":"uint256","nodeType":"ElementaryTypeName","src":"37117:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37071:57:14"},"returnParameters":{"id":27492,"nodeType":"ParameterList","parameters":[],"src":"37143:0:14"},"scope":31347,"src":"37059:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27527,"nodeType":"Block","src":"37347:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":27519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37397:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":27520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27507,"src":"37431:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27521,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27509,"src":"37435:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27522,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27511,"src":"37439:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27523,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27513,"src":"37443:2:14","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":27517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37373:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37377:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37373:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37373:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"37357:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37357:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27526,"nodeType":"ExpressionStatement","src":"37357:90:14"}]},"id":27528,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37266:3:14","nodeType":"FunctionDefinition","parameters":{"id":27514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27507,"mutability":"mutable","name":"p0","nameLocation":"37284:2:14","nodeType":"VariableDeclaration","scope":27528,"src":"37270:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27506,"name":"string","nodeType":"ElementaryTypeName","src":"37270:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27509,"mutability":"mutable","name":"p1","nameLocation":"37302:2:14","nodeType":"VariableDeclaration","scope":27528,"src":"37288:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27508,"name":"string","nodeType":"ElementaryTypeName","src":"37288:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27511,"mutability":"mutable","name":"p2","nameLocation":"37311:2:14","nodeType":"VariableDeclaration","scope":27528,"src":"37306:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27510,"name":"bool","nodeType":"ElementaryTypeName","src":"37306:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27513,"mutability":"mutable","name":"p3","nameLocation":"37329:2:14","nodeType":"VariableDeclaration","scope":27528,"src":"37315:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27512,"name":"string","nodeType":"ElementaryTypeName","src":"37315:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37269:63:14"},"returnParameters":{"id":27515,"nodeType":"ParameterList","parameters":[],"src":"37347:0:14"},"scope":31347,"src":"37257:197:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27550,"nodeType":"Block","src":"37541:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":27542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37591:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":27543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27530,"src":"37623:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27544,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27532,"src":"37627:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27545,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27534,"src":"37631:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27546,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27536,"src":"37635:2:14","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":27540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37567:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37571:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37567:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37567:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"37551:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37551:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27549,"nodeType":"ExpressionStatement","src":"37551:88:14"}]},"id":27551,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37469:3:14","nodeType":"FunctionDefinition","parameters":{"id":27537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27530,"mutability":"mutable","name":"p0","nameLocation":"37487:2:14","nodeType":"VariableDeclaration","scope":27551,"src":"37473:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27529,"name":"string","nodeType":"ElementaryTypeName","src":"37473:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27532,"mutability":"mutable","name":"p1","nameLocation":"37505:2:14","nodeType":"VariableDeclaration","scope":27551,"src":"37491:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27531,"name":"string","nodeType":"ElementaryTypeName","src":"37491:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27534,"mutability":"mutable","name":"p2","nameLocation":"37514:2:14","nodeType":"VariableDeclaration","scope":27551,"src":"37509:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27533,"name":"bool","nodeType":"ElementaryTypeName","src":"37509:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27536,"mutability":"mutable","name":"p3","nameLocation":"37523:2:14","nodeType":"VariableDeclaration","scope":27551,"src":"37518:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27535,"name":"bool","nodeType":"ElementaryTypeName","src":"37518:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37472:54:14"},"returnParameters":{"id":27538,"nodeType":"ParameterList","parameters":[],"src":"37541:0:14"},"scope":31347,"src":"37460:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27573,"nodeType":"Block","src":"37736:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":27565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37786:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":27566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27553,"src":"37821:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27567,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27555,"src":"37825:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27568,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27557,"src":"37829:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27569,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27559,"src":"37833:2:14","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":27563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37762:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37766:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37762:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37762:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"37746:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37746:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27572,"nodeType":"ExpressionStatement","src":"37746:91:14"}]},"id":27574,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37661:3:14","nodeType":"FunctionDefinition","parameters":{"id":27560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27553,"mutability":"mutable","name":"p0","nameLocation":"37679:2:14","nodeType":"VariableDeclaration","scope":27574,"src":"37665:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27552,"name":"string","nodeType":"ElementaryTypeName","src":"37665:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27555,"mutability":"mutable","name":"p1","nameLocation":"37697:2:14","nodeType":"VariableDeclaration","scope":27574,"src":"37683:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27554,"name":"string","nodeType":"ElementaryTypeName","src":"37683:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27557,"mutability":"mutable","name":"p2","nameLocation":"37706:2:14","nodeType":"VariableDeclaration","scope":27574,"src":"37701:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27556,"name":"bool","nodeType":"ElementaryTypeName","src":"37701:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27559,"mutability":"mutable","name":"p3","nameLocation":"37718:2:14","nodeType":"VariableDeclaration","scope":27574,"src":"37710:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27558,"name":"address","nodeType":"ElementaryTypeName","src":"37710:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37664:57:14"},"returnParameters":{"id":27561,"nodeType":"ParameterList","parameters":[],"src":"37736:0:14"},"scope":31347,"src":"37652:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27596,"nodeType":"Block","src":"37937:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":27588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37987:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":27589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27576,"src":"38025:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27590,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27578,"src":"38029:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27591,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27580,"src":"38033:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27592,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27582,"src":"38037:2:14","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":27586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37963:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37967:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37963:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37963:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"37947:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37947:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27595,"nodeType":"ExpressionStatement","src":"37947:94:14"}]},"id":27597,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37859:3:14","nodeType":"FunctionDefinition","parameters":{"id":27583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27576,"mutability":"mutable","name":"p0","nameLocation":"37877:2:14","nodeType":"VariableDeclaration","scope":27597,"src":"37863:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27575,"name":"string","nodeType":"ElementaryTypeName","src":"37863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27578,"mutability":"mutable","name":"p1","nameLocation":"37895:2:14","nodeType":"VariableDeclaration","scope":27597,"src":"37881:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27577,"name":"string","nodeType":"ElementaryTypeName","src":"37881:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27580,"mutability":"mutable","name":"p2","nameLocation":"37907:2:14","nodeType":"VariableDeclaration","scope":27597,"src":"37899:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27579,"name":"address","nodeType":"ElementaryTypeName","src":"37899:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27582,"mutability":"mutable","name":"p3","nameLocation":"37919:2:14","nodeType":"VariableDeclaration","scope":27597,"src":"37911:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27581,"name":"uint256","nodeType":"ElementaryTypeName","src":"37911:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37862:60:14"},"returnParameters":{"id":27584,"nodeType":"ParameterList","parameters":[],"src":"37937:0:14"},"scope":31347,"src":"37850:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27619,"nodeType":"Block","src":"38147:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":27611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38197:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":27612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27599,"src":"38234:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27613,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27601,"src":"38238:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27614,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27603,"src":"38242:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27615,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27605,"src":"38246:2:14","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":27609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38173:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38177:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38173:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38173:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"38157:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38157:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27618,"nodeType":"ExpressionStatement","src":"38157:93:14"}]},"id":27620,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38063:3:14","nodeType":"FunctionDefinition","parameters":{"id":27606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27599,"mutability":"mutable","name":"p0","nameLocation":"38081:2:14","nodeType":"VariableDeclaration","scope":27620,"src":"38067:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27598,"name":"string","nodeType":"ElementaryTypeName","src":"38067:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27601,"mutability":"mutable","name":"p1","nameLocation":"38099:2:14","nodeType":"VariableDeclaration","scope":27620,"src":"38085:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27600,"name":"string","nodeType":"ElementaryTypeName","src":"38085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27603,"mutability":"mutable","name":"p2","nameLocation":"38111:2:14","nodeType":"VariableDeclaration","scope":27620,"src":"38103:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27602,"name":"address","nodeType":"ElementaryTypeName","src":"38103:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27605,"mutability":"mutable","name":"p3","nameLocation":"38129:2:14","nodeType":"VariableDeclaration","scope":27620,"src":"38115:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27604,"name":"string","nodeType":"ElementaryTypeName","src":"38115:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38066:66:14"},"returnParameters":{"id":27607,"nodeType":"ParameterList","parameters":[],"src":"38147:0:14"},"scope":31347,"src":"38054:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27642,"nodeType":"Block","src":"38347:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":27634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38397:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":27635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27622,"src":"38432:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27636,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27624,"src":"38436:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27637,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27626,"src":"38440:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27638,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27628,"src":"38444:2:14","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":27632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38373:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38377:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38373:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38373:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"38357:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38357:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27641,"nodeType":"ExpressionStatement","src":"38357:91:14"}]},"id":27643,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38272:3:14","nodeType":"FunctionDefinition","parameters":{"id":27629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27622,"mutability":"mutable","name":"p0","nameLocation":"38290:2:14","nodeType":"VariableDeclaration","scope":27643,"src":"38276:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27621,"name":"string","nodeType":"ElementaryTypeName","src":"38276:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27624,"mutability":"mutable","name":"p1","nameLocation":"38308:2:14","nodeType":"VariableDeclaration","scope":27643,"src":"38294:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27623,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27626,"mutability":"mutable","name":"p2","nameLocation":"38320:2:14","nodeType":"VariableDeclaration","scope":27643,"src":"38312:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27625,"name":"address","nodeType":"ElementaryTypeName","src":"38312:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27628,"mutability":"mutable","name":"p3","nameLocation":"38329:2:14","nodeType":"VariableDeclaration","scope":27643,"src":"38324:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27627,"name":"bool","nodeType":"ElementaryTypeName","src":"38324:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38275:57:14"},"returnParameters":{"id":27630,"nodeType":"ParameterList","parameters":[],"src":"38347:0:14"},"scope":31347,"src":"38263:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27665,"nodeType":"Block","src":"38548:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":27657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38598:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":27658,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27645,"src":"38636:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27659,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27647,"src":"38640:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27660,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27649,"src":"38644:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27661,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27651,"src":"38648:2:14","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":27655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38574:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38578:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38574:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38574:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27654,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"38558:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38558:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27664,"nodeType":"ExpressionStatement","src":"38558:94:14"}]},"id":27666,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38470:3:14","nodeType":"FunctionDefinition","parameters":{"id":27652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27645,"mutability":"mutable","name":"p0","nameLocation":"38488:2:14","nodeType":"VariableDeclaration","scope":27666,"src":"38474:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27644,"name":"string","nodeType":"ElementaryTypeName","src":"38474:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27647,"mutability":"mutable","name":"p1","nameLocation":"38506:2:14","nodeType":"VariableDeclaration","scope":27666,"src":"38492:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27646,"name":"string","nodeType":"ElementaryTypeName","src":"38492:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27649,"mutability":"mutable","name":"p2","nameLocation":"38518:2:14","nodeType":"VariableDeclaration","scope":27666,"src":"38510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27648,"name":"address","nodeType":"ElementaryTypeName","src":"38510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27651,"mutability":"mutable","name":"p3","nameLocation":"38530:2:14","nodeType":"VariableDeclaration","scope":27666,"src":"38522:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27650,"name":"address","nodeType":"ElementaryTypeName","src":"38522:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38473:60:14"},"returnParameters":{"id":27653,"nodeType":"ParameterList","parameters":[],"src":"38548:0:14"},"scope":31347,"src":"38461:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27688,"nodeType":"Block","src":"38743:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":27680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38793:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":27681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27668,"src":"38829:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27670,"src":"38833:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27672,"src":"38837:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27684,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27674,"src":"38841:2:14","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":27678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38769:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38773:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38769:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38769:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"38753:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38753:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27687,"nodeType":"ExpressionStatement","src":"38753:92:14"}]},"id":27689,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38674:3:14","nodeType":"FunctionDefinition","parameters":{"id":27675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27668,"mutability":"mutable","name":"p0","nameLocation":"38692:2:14","nodeType":"VariableDeclaration","scope":27689,"src":"38678:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27667,"name":"string","nodeType":"ElementaryTypeName","src":"38678:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27670,"mutability":"mutable","name":"p1","nameLocation":"38701:2:14","nodeType":"VariableDeclaration","scope":27689,"src":"38696:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27669,"name":"bool","nodeType":"ElementaryTypeName","src":"38696:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27672,"mutability":"mutable","name":"p2","nameLocation":"38713:2:14","nodeType":"VariableDeclaration","scope":27689,"src":"38705:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27671,"name":"uint256","nodeType":"ElementaryTypeName","src":"38705:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27674,"mutability":"mutable","name":"p3","nameLocation":"38725:2:14","nodeType":"VariableDeclaration","scope":27689,"src":"38717:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27673,"name":"uint256","nodeType":"ElementaryTypeName","src":"38717:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38677:51:14"},"returnParameters":{"id":27676,"nodeType":"ParameterList","parameters":[],"src":"38743:0:14"},"scope":31347,"src":"38665:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27711,"nodeType":"Block","src":"38942:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":27703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38992:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":27704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27691,"src":"39027:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27693,"src":"39031:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27695,"src":"39035:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27707,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27697,"src":"39039:2:14","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":27701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38968:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38972:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38968:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38968:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"38952:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38952:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27710,"nodeType":"ExpressionStatement","src":"38952:91:14"}]},"id":27712,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38867:3:14","nodeType":"FunctionDefinition","parameters":{"id":27698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27691,"mutability":"mutable","name":"p0","nameLocation":"38885:2:14","nodeType":"VariableDeclaration","scope":27712,"src":"38871:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27690,"name":"string","nodeType":"ElementaryTypeName","src":"38871:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27693,"mutability":"mutable","name":"p1","nameLocation":"38894:2:14","nodeType":"VariableDeclaration","scope":27712,"src":"38889:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27692,"name":"bool","nodeType":"ElementaryTypeName","src":"38889:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27695,"mutability":"mutable","name":"p2","nameLocation":"38906:2:14","nodeType":"VariableDeclaration","scope":27712,"src":"38898:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27694,"name":"uint256","nodeType":"ElementaryTypeName","src":"38898:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27697,"mutability":"mutable","name":"p3","nameLocation":"38924:2:14","nodeType":"VariableDeclaration","scope":27712,"src":"38910:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27696,"name":"string","nodeType":"ElementaryTypeName","src":"38910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38870:57:14"},"returnParameters":{"id":27699,"nodeType":"ParameterList","parameters":[],"src":"38942:0:14"},"scope":31347,"src":"38858:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27734,"nodeType":"Block","src":"39131:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":27726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39181:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":27727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27714,"src":"39214:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27728,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27716,"src":"39218:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27729,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27718,"src":"39222:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27730,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27720,"src":"39226:2:14","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":27724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39157:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39161:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39157:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39157:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"39141:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39141:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27733,"nodeType":"ExpressionStatement","src":"39141:89:14"}]},"id":27735,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39065:3:14","nodeType":"FunctionDefinition","parameters":{"id":27721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27714,"mutability":"mutable","name":"p0","nameLocation":"39083:2:14","nodeType":"VariableDeclaration","scope":27735,"src":"39069:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27713,"name":"string","nodeType":"ElementaryTypeName","src":"39069:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27716,"mutability":"mutable","name":"p1","nameLocation":"39092:2:14","nodeType":"VariableDeclaration","scope":27735,"src":"39087:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27715,"name":"bool","nodeType":"ElementaryTypeName","src":"39087:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27718,"mutability":"mutable","name":"p2","nameLocation":"39104:2:14","nodeType":"VariableDeclaration","scope":27735,"src":"39096:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27717,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27720,"mutability":"mutable","name":"p3","nameLocation":"39113:2:14","nodeType":"VariableDeclaration","scope":27735,"src":"39108:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27719,"name":"bool","nodeType":"ElementaryTypeName","src":"39108:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39068:48:14"},"returnParameters":{"id":27722,"nodeType":"ParameterList","parameters":[],"src":"39131:0:14"},"scope":31347,"src":"39056:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27757,"nodeType":"Block","src":"39321:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":27749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39371:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":27750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27737,"src":"39407:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27739,"src":"39411:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27752,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27741,"src":"39415:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27753,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27743,"src":"39419:2:14","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":27747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39347:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39351:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39347:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39347:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"39331:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39331:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27756,"nodeType":"ExpressionStatement","src":"39331:92:14"}]},"id":27758,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39252:3:14","nodeType":"FunctionDefinition","parameters":{"id":27744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27737,"mutability":"mutable","name":"p0","nameLocation":"39270:2:14","nodeType":"VariableDeclaration","scope":27758,"src":"39256:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27736,"name":"string","nodeType":"ElementaryTypeName","src":"39256:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27739,"mutability":"mutable","name":"p1","nameLocation":"39279:2:14","nodeType":"VariableDeclaration","scope":27758,"src":"39274:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27738,"name":"bool","nodeType":"ElementaryTypeName","src":"39274:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27741,"mutability":"mutable","name":"p2","nameLocation":"39291:2:14","nodeType":"VariableDeclaration","scope":27758,"src":"39283:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27740,"name":"uint256","nodeType":"ElementaryTypeName","src":"39283:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27743,"mutability":"mutable","name":"p3","nameLocation":"39303:2:14","nodeType":"VariableDeclaration","scope":27758,"src":"39295:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27742,"name":"address","nodeType":"ElementaryTypeName","src":"39295:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39255:51:14"},"returnParameters":{"id":27745,"nodeType":"ParameterList","parameters":[],"src":"39321:0:14"},"scope":31347,"src":"39243:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27780,"nodeType":"Block","src":"39520:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":27772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39570:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":27773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27760,"src":"39605:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27762,"src":"39609:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27775,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27764,"src":"39613:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27776,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27766,"src":"39617:2:14","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":27770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39546:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39550:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39546:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39546:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"39530:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39530:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27779,"nodeType":"ExpressionStatement","src":"39530:91:14"}]},"id":27781,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39445:3:14","nodeType":"FunctionDefinition","parameters":{"id":27767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27760,"mutability":"mutable","name":"p0","nameLocation":"39463:2:14","nodeType":"VariableDeclaration","scope":27781,"src":"39449:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27759,"name":"string","nodeType":"ElementaryTypeName","src":"39449:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27762,"mutability":"mutable","name":"p1","nameLocation":"39472:2:14","nodeType":"VariableDeclaration","scope":27781,"src":"39467:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27761,"name":"bool","nodeType":"ElementaryTypeName","src":"39467:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27764,"mutability":"mutable","name":"p2","nameLocation":"39490:2:14","nodeType":"VariableDeclaration","scope":27781,"src":"39476:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27763,"name":"string","nodeType":"ElementaryTypeName","src":"39476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27766,"mutability":"mutable","name":"p3","nameLocation":"39502:2:14","nodeType":"VariableDeclaration","scope":27781,"src":"39494:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27765,"name":"uint256","nodeType":"ElementaryTypeName","src":"39494:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39448:57:14"},"returnParameters":{"id":27768,"nodeType":"ParameterList","parameters":[],"src":"39520:0:14"},"scope":31347,"src":"39436:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27803,"nodeType":"Block","src":"39724:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":27795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39774:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":27796,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27783,"src":"39808:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27797,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27785,"src":"39812:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27798,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27787,"src":"39816:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27799,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27789,"src":"39820:2:14","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":27793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39750:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39754:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39750:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39750:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27792,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"39734:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39734:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27802,"nodeType":"ExpressionStatement","src":"39734:90:14"}]},"id":27804,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39643:3:14","nodeType":"FunctionDefinition","parameters":{"id":27790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27783,"mutability":"mutable","name":"p0","nameLocation":"39661:2:14","nodeType":"VariableDeclaration","scope":27804,"src":"39647:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27782,"name":"string","nodeType":"ElementaryTypeName","src":"39647:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27785,"mutability":"mutable","name":"p1","nameLocation":"39670:2:14","nodeType":"VariableDeclaration","scope":27804,"src":"39665:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27784,"name":"bool","nodeType":"ElementaryTypeName","src":"39665:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27787,"mutability":"mutable","name":"p2","nameLocation":"39688:2:14","nodeType":"VariableDeclaration","scope":27804,"src":"39674:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27786,"name":"string","nodeType":"ElementaryTypeName","src":"39674:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27789,"mutability":"mutable","name":"p3","nameLocation":"39706:2:14","nodeType":"VariableDeclaration","scope":27804,"src":"39692:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27788,"name":"string","nodeType":"ElementaryTypeName","src":"39692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39646:63:14"},"returnParameters":{"id":27791,"nodeType":"ParameterList","parameters":[],"src":"39724:0:14"},"scope":31347,"src":"39634:197:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27826,"nodeType":"Block","src":"39918:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":27818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39968:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":27819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27806,"src":"40000:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27808,"src":"40004:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27810,"src":"40008:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27822,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27812,"src":"40012:2:14","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":27816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39944:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39948:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39944:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39944:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"39928:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39928:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27825,"nodeType":"ExpressionStatement","src":"39928:88:14"}]},"id":27827,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39846:3:14","nodeType":"FunctionDefinition","parameters":{"id":27813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27806,"mutability":"mutable","name":"p0","nameLocation":"39864:2:14","nodeType":"VariableDeclaration","scope":27827,"src":"39850:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27805,"name":"string","nodeType":"ElementaryTypeName","src":"39850:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27808,"mutability":"mutable","name":"p1","nameLocation":"39873:2:14","nodeType":"VariableDeclaration","scope":27827,"src":"39868:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27807,"name":"bool","nodeType":"ElementaryTypeName","src":"39868:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27810,"mutability":"mutable","name":"p2","nameLocation":"39891:2:14","nodeType":"VariableDeclaration","scope":27827,"src":"39877:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27809,"name":"string","nodeType":"ElementaryTypeName","src":"39877:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27812,"mutability":"mutable","name":"p3","nameLocation":"39900:2:14","nodeType":"VariableDeclaration","scope":27827,"src":"39895:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27811,"name":"bool","nodeType":"ElementaryTypeName","src":"39895:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39849:54:14"},"returnParameters":{"id":27814,"nodeType":"ParameterList","parameters":[],"src":"39918:0:14"},"scope":31347,"src":"39837:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27849,"nodeType":"Block","src":"40113:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":27841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40163:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":27842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27829,"src":"40198:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27843,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27831,"src":"40202:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27844,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27833,"src":"40206:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27845,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27835,"src":"40210:2:14","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":27839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40139:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40143:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40139:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40139:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"40123:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40123:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27848,"nodeType":"ExpressionStatement","src":"40123:91:14"}]},"id":27850,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40038:3:14","nodeType":"FunctionDefinition","parameters":{"id":27836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27829,"mutability":"mutable","name":"p0","nameLocation":"40056:2:14","nodeType":"VariableDeclaration","scope":27850,"src":"40042:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27828,"name":"string","nodeType":"ElementaryTypeName","src":"40042:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27831,"mutability":"mutable","name":"p1","nameLocation":"40065:2:14","nodeType":"VariableDeclaration","scope":27850,"src":"40060:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27830,"name":"bool","nodeType":"ElementaryTypeName","src":"40060:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27833,"mutability":"mutable","name":"p2","nameLocation":"40083:2:14","nodeType":"VariableDeclaration","scope":27850,"src":"40069:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27832,"name":"string","nodeType":"ElementaryTypeName","src":"40069:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27835,"mutability":"mutable","name":"p3","nameLocation":"40095:2:14","nodeType":"VariableDeclaration","scope":27850,"src":"40087:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27834,"name":"address","nodeType":"ElementaryTypeName","src":"40087:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40041:57:14"},"returnParameters":{"id":27837,"nodeType":"ParameterList","parameters":[],"src":"40113:0:14"},"scope":31347,"src":"40029:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27872,"nodeType":"Block","src":"40302:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":27864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40352:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":27865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27852,"src":"40385:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27854,"src":"40389:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27856,"src":"40393:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27868,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27858,"src":"40397:2:14","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":27862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40328:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40332:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40328:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40328:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"40312:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40312:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27871,"nodeType":"ExpressionStatement","src":"40312:89:14"}]},"id":27873,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40236:3:14","nodeType":"FunctionDefinition","parameters":{"id":27859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27852,"mutability":"mutable","name":"p0","nameLocation":"40254:2:14","nodeType":"VariableDeclaration","scope":27873,"src":"40240:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27851,"name":"string","nodeType":"ElementaryTypeName","src":"40240:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27854,"mutability":"mutable","name":"p1","nameLocation":"40263:2:14","nodeType":"VariableDeclaration","scope":27873,"src":"40258:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27853,"name":"bool","nodeType":"ElementaryTypeName","src":"40258:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27856,"mutability":"mutable","name":"p2","nameLocation":"40272:2:14","nodeType":"VariableDeclaration","scope":27873,"src":"40267:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27855,"name":"bool","nodeType":"ElementaryTypeName","src":"40267:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27858,"mutability":"mutable","name":"p3","nameLocation":"40284:2:14","nodeType":"VariableDeclaration","scope":27873,"src":"40276:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27857,"name":"uint256","nodeType":"ElementaryTypeName","src":"40276:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40239:48:14"},"returnParameters":{"id":27860,"nodeType":"ParameterList","parameters":[],"src":"40302:0:14"},"scope":31347,"src":"40227:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27895,"nodeType":"Block","src":"40495:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":27887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40545:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":27888,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27875,"src":"40577:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27889,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27877,"src":"40581:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27890,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27879,"src":"40585:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27891,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27881,"src":"40589:2:14","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":27885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40521:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40525:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40521:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40521:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27884,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"40505:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40505:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27894,"nodeType":"ExpressionStatement","src":"40505:88:14"}]},"id":27896,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40423:3:14","nodeType":"FunctionDefinition","parameters":{"id":27882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27875,"mutability":"mutable","name":"p0","nameLocation":"40441:2:14","nodeType":"VariableDeclaration","scope":27896,"src":"40427:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27874,"name":"string","nodeType":"ElementaryTypeName","src":"40427:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27877,"mutability":"mutable","name":"p1","nameLocation":"40450:2:14","nodeType":"VariableDeclaration","scope":27896,"src":"40445:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27876,"name":"bool","nodeType":"ElementaryTypeName","src":"40445:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27879,"mutability":"mutable","name":"p2","nameLocation":"40459:2:14","nodeType":"VariableDeclaration","scope":27896,"src":"40454:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27878,"name":"bool","nodeType":"ElementaryTypeName","src":"40454:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27881,"mutability":"mutable","name":"p3","nameLocation":"40477:2:14","nodeType":"VariableDeclaration","scope":27896,"src":"40463:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27880,"name":"string","nodeType":"ElementaryTypeName","src":"40463:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40426:54:14"},"returnParameters":{"id":27883,"nodeType":"ParameterList","parameters":[],"src":"40495:0:14"},"scope":31347,"src":"40414:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27918,"nodeType":"Block","src":"40678:103:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":27910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40728:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":27911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27898,"src":"40758:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27900,"src":"40762:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27902,"src":"40766:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27914,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27904,"src":"40770:2:14","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":27908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40704:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40708:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40704:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40704:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"40688:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40688:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27917,"nodeType":"ExpressionStatement","src":"40688:86:14"}]},"id":27919,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40615:3:14","nodeType":"FunctionDefinition","parameters":{"id":27905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27898,"mutability":"mutable","name":"p0","nameLocation":"40633:2:14","nodeType":"VariableDeclaration","scope":27919,"src":"40619:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27897,"name":"string","nodeType":"ElementaryTypeName","src":"40619:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27900,"mutability":"mutable","name":"p1","nameLocation":"40642:2:14","nodeType":"VariableDeclaration","scope":27919,"src":"40637:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27899,"name":"bool","nodeType":"ElementaryTypeName","src":"40637:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27902,"mutability":"mutable","name":"p2","nameLocation":"40651:2:14","nodeType":"VariableDeclaration","scope":27919,"src":"40646:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27901,"name":"bool","nodeType":"ElementaryTypeName","src":"40646:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27904,"mutability":"mutable","name":"p3","nameLocation":"40660:2:14","nodeType":"VariableDeclaration","scope":27919,"src":"40655:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27903,"name":"bool","nodeType":"ElementaryTypeName","src":"40655:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40618:45:14"},"returnParameters":{"id":27906,"nodeType":"ParameterList","parameters":[],"src":"40678:0:14"},"scope":31347,"src":"40606:175:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27941,"nodeType":"Block","src":"40862:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":27933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40912:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":27934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27921,"src":"40945:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27923,"src":"40949:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27936,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27925,"src":"40953:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27937,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27927,"src":"40957:2:14","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":27931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40892:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40888:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"40872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40872:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27940,"nodeType":"ExpressionStatement","src":"40872:89:14"}]},"id":27942,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40796:3:14","nodeType":"FunctionDefinition","parameters":{"id":27928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27921,"mutability":"mutable","name":"p0","nameLocation":"40814:2:14","nodeType":"VariableDeclaration","scope":27942,"src":"40800:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27920,"name":"string","nodeType":"ElementaryTypeName","src":"40800:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27923,"mutability":"mutable","name":"p1","nameLocation":"40823:2:14","nodeType":"VariableDeclaration","scope":27942,"src":"40818:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27922,"name":"bool","nodeType":"ElementaryTypeName","src":"40818:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27925,"mutability":"mutable","name":"p2","nameLocation":"40832:2:14","nodeType":"VariableDeclaration","scope":27942,"src":"40827:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27924,"name":"bool","nodeType":"ElementaryTypeName","src":"40827:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27927,"mutability":"mutable","name":"p3","nameLocation":"40844:2:14","nodeType":"VariableDeclaration","scope":27942,"src":"40836:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27926,"name":"address","nodeType":"ElementaryTypeName","src":"40836:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40799:48:14"},"returnParameters":{"id":27929,"nodeType":"ParameterList","parameters":[],"src":"40862:0:14"},"scope":31347,"src":"40787:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27964,"nodeType":"Block","src":"41052:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":27956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41102:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":27957,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27944,"src":"41138:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27958,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27946,"src":"41142:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27959,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27948,"src":"41146:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27960,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27950,"src":"41150:2:14","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":27954,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41078:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41082:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41078:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41078:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27953,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"41062:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41062:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27963,"nodeType":"ExpressionStatement","src":"41062:92:14"}]},"id":27965,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40983:3:14","nodeType":"FunctionDefinition","parameters":{"id":27951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27944,"mutability":"mutable","name":"p0","nameLocation":"41001:2:14","nodeType":"VariableDeclaration","scope":27965,"src":"40987:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27943,"name":"string","nodeType":"ElementaryTypeName","src":"40987:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27946,"mutability":"mutable","name":"p1","nameLocation":"41010:2:14","nodeType":"VariableDeclaration","scope":27965,"src":"41005:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27945,"name":"bool","nodeType":"ElementaryTypeName","src":"41005:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27948,"mutability":"mutable","name":"p2","nameLocation":"41022:2:14","nodeType":"VariableDeclaration","scope":27965,"src":"41014:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27947,"name":"address","nodeType":"ElementaryTypeName","src":"41014:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27950,"mutability":"mutable","name":"p3","nameLocation":"41034:2:14","nodeType":"VariableDeclaration","scope":27965,"src":"41026:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27949,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40986:51:14"},"returnParameters":{"id":27952,"nodeType":"ParameterList","parameters":[],"src":"41052:0:14"},"scope":31347,"src":"40974:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":27987,"nodeType":"Block","src":"41251:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":27979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41301:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":27980,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27967,"src":"41336:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27981,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27969,"src":"41340:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27982,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27971,"src":"41344:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27983,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27973,"src":"41348:2:14","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":27977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41277:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41281:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41277:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41277:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"41261:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":27985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41261:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27986,"nodeType":"ExpressionStatement","src":"41261:91:14"}]},"id":27988,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41176:3:14","nodeType":"FunctionDefinition","parameters":{"id":27974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27967,"mutability":"mutable","name":"p0","nameLocation":"41194:2:14","nodeType":"VariableDeclaration","scope":27988,"src":"41180:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27966,"name":"string","nodeType":"ElementaryTypeName","src":"41180:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27969,"mutability":"mutable","name":"p1","nameLocation":"41203:2:14","nodeType":"VariableDeclaration","scope":27988,"src":"41198:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27968,"name":"bool","nodeType":"ElementaryTypeName","src":"41198:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27971,"mutability":"mutable","name":"p2","nameLocation":"41215:2:14","nodeType":"VariableDeclaration","scope":27988,"src":"41207:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27970,"name":"address","nodeType":"ElementaryTypeName","src":"41207:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27973,"mutability":"mutable","name":"p3","nameLocation":"41233:2:14","nodeType":"VariableDeclaration","scope":27988,"src":"41219:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27972,"name":"string","nodeType":"ElementaryTypeName","src":"41219:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41179:57:14"},"returnParameters":{"id":27975,"nodeType":"ParameterList","parameters":[],"src":"41251:0:14"},"scope":31347,"src":"41167:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28010,"nodeType":"Block","src":"41440:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":28002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41490:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":28003,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27990,"src":"41523:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28004,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27992,"src":"41527:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28005,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27994,"src":"41531:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28006,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27996,"src":"41535:2:14","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":28000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41466:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41470:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41466:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41466:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"41450:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41450:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28009,"nodeType":"ExpressionStatement","src":"41450:89:14"}]},"id":28011,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41374:3:14","nodeType":"FunctionDefinition","parameters":{"id":27997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27990,"mutability":"mutable","name":"p0","nameLocation":"41392:2:14","nodeType":"VariableDeclaration","scope":28011,"src":"41378:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27989,"name":"string","nodeType":"ElementaryTypeName","src":"41378:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27992,"mutability":"mutable","name":"p1","nameLocation":"41401:2:14","nodeType":"VariableDeclaration","scope":28011,"src":"41396:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27991,"name":"bool","nodeType":"ElementaryTypeName","src":"41396:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27994,"mutability":"mutable","name":"p2","nameLocation":"41413:2:14","nodeType":"VariableDeclaration","scope":28011,"src":"41405:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27993,"name":"address","nodeType":"ElementaryTypeName","src":"41405:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27996,"mutability":"mutable","name":"p3","nameLocation":"41422:2:14","nodeType":"VariableDeclaration","scope":28011,"src":"41417:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27995,"name":"bool","nodeType":"ElementaryTypeName","src":"41417:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41377:48:14"},"returnParameters":{"id":27998,"nodeType":"ParameterList","parameters":[],"src":"41440:0:14"},"scope":31347,"src":"41365:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28033,"nodeType":"Block","src":"41630:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":28025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41680:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":28026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28013,"src":"41716:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28015,"src":"41720:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28028,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28017,"src":"41724:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28029,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28019,"src":"41728:2:14","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":28023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41656:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41660:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41656:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41656:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"41640:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41640:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28032,"nodeType":"ExpressionStatement","src":"41640:92:14"}]},"id":28034,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41561:3:14","nodeType":"FunctionDefinition","parameters":{"id":28020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28013,"mutability":"mutable","name":"p0","nameLocation":"41579:2:14","nodeType":"VariableDeclaration","scope":28034,"src":"41565:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28012,"name":"string","nodeType":"ElementaryTypeName","src":"41565:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28015,"mutability":"mutable","name":"p1","nameLocation":"41588:2:14","nodeType":"VariableDeclaration","scope":28034,"src":"41583:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28014,"name":"bool","nodeType":"ElementaryTypeName","src":"41583:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28017,"mutability":"mutable","name":"p2","nameLocation":"41600:2:14","nodeType":"VariableDeclaration","scope":28034,"src":"41592:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28016,"name":"address","nodeType":"ElementaryTypeName","src":"41592:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28019,"mutability":"mutable","name":"p3","nameLocation":"41612:2:14","nodeType":"VariableDeclaration","scope":28034,"src":"41604:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28018,"name":"address","nodeType":"ElementaryTypeName","src":"41604:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41564:51:14"},"returnParameters":{"id":28021,"nodeType":"ParameterList","parameters":[],"src":"41630:0:14"},"scope":31347,"src":"41552:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28056,"nodeType":"Block","src":"41826:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":28048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41876:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":28049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28036,"src":"41915:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28038,"src":"41919:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28051,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28040,"src":"41923:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28052,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"41927:2:14","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":28046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41852:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41856:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41852:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41852:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"41836:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41836:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28055,"nodeType":"ExpressionStatement","src":"41836:95:14"}]},"id":28057,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41754:3:14","nodeType":"FunctionDefinition","parameters":{"id":28043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28036,"mutability":"mutable","name":"p0","nameLocation":"41772:2:14","nodeType":"VariableDeclaration","scope":28057,"src":"41758:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28035,"name":"string","nodeType":"ElementaryTypeName","src":"41758:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28038,"mutability":"mutable","name":"p1","nameLocation":"41784:2:14","nodeType":"VariableDeclaration","scope":28057,"src":"41776:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28037,"name":"address","nodeType":"ElementaryTypeName","src":"41776:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28040,"mutability":"mutable","name":"p2","nameLocation":"41796:2:14","nodeType":"VariableDeclaration","scope":28057,"src":"41788:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28039,"name":"uint256","nodeType":"ElementaryTypeName","src":"41788:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28042,"mutability":"mutable","name":"p3","nameLocation":"41808:2:14","nodeType":"VariableDeclaration","scope":28057,"src":"41800:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28041,"name":"uint256","nodeType":"ElementaryTypeName","src":"41800:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41757:54:14"},"returnParameters":{"id":28044,"nodeType":"ParameterList","parameters":[],"src":"41826:0:14"},"scope":31347,"src":"41745:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28079,"nodeType":"Block","src":"42031:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":28071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42081:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":28072,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28059,"src":"42119:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28073,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28061,"src":"42123:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28074,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28063,"src":"42127:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28075,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28065,"src":"42131:2:14","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":28069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42057:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42061:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42057:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42057:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"42041:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42041:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28078,"nodeType":"ExpressionStatement","src":"42041:94:14"}]},"id":28080,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41953:3:14","nodeType":"FunctionDefinition","parameters":{"id":28066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28059,"mutability":"mutable","name":"p0","nameLocation":"41971:2:14","nodeType":"VariableDeclaration","scope":28080,"src":"41957:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28058,"name":"string","nodeType":"ElementaryTypeName","src":"41957:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28061,"mutability":"mutable","name":"p1","nameLocation":"41983:2:14","nodeType":"VariableDeclaration","scope":28080,"src":"41975:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28060,"name":"address","nodeType":"ElementaryTypeName","src":"41975:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28063,"mutability":"mutable","name":"p2","nameLocation":"41995:2:14","nodeType":"VariableDeclaration","scope":28080,"src":"41987:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28062,"name":"uint256","nodeType":"ElementaryTypeName","src":"41987:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28065,"mutability":"mutable","name":"p3","nameLocation":"42013:2:14","nodeType":"VariableDeclaration","scope":28080,"src":"41999:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28064,"name":"string","nodeType":"ElementaryTypeName","src":"41999:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41956:60:14"},"returnParameters":{"id":28067,"nodeType":"ParameterList","parameters":[],"src":"42031:0:14"},"scope":31347,"src":"41944:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28102,"nodeType":"Block","src":"42226:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":28094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42276:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":28095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28082,"src":"42312:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28096,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28084,"src":"42316:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28097,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28086,"src":"42320:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28098,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28088,"src":"42324:2:14","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":28092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42252:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42256:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42252:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42252:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"42236:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42236:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28101,"nodeType":"ExpressionStatement","src":"42236:92:14"}]},"id":28103,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42157:3:14","nodeType":"FunctionDefinition","parameters":{"id":28089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28082,"mutability":"mutable","name":"p0","nameLocation":"42175:2:14","nodeType":"VariableDeclaration","scope":28103,"src":"42161:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28081,"name":"string","nodeType":"ElementaryTypeName","src":"42161:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28084,"mutability":"mutable","name":"p1","nameLocation":"42187:2:14","nodeType":"VariableDeclaration","scope":28103,"src":"42179:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28083,"name":"address","nodeType":"ElementaryTypeName","src":"42179:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28086,"mutability":"mutable","name":"p2","nameLocation":"42199:2:14","nodeType":"VariableDeclaration","scope":28103,"src":"42191:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28085,"name":"uint256","nodeType":"ElementaryTypeName","src":"42191:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28088,"mutability":"mutable","name":"p3","nameLocation":"42208:2:14","nodeType":"VariableDeclaration","scope":28103,"src":"42203:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28087,"name":"bool","nodeType":"ElementaryTypeName","src":"42203:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42160:51:14"},"returnParameters":{"id":28090,"nodeType":"ParameterList","parameters":[],"src":"42226:0:14"},"scope":31347,"src":"42148:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28125,"nodeType":"Block","src":"42422:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":28117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42472:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":28118,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28105,"src":"42511:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28119,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28107,"src":"42515:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28120,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28109,"src":"42519:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28121,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28111,"src":"42523:2:14","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":28115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42448:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42452:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42448:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42448:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"42432:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42432:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28124,"nodeType":"ExpressionStatement","src":"42432:95:14"}]},"id":28126,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42350:3:14","nodeType":"FunctionDefinition","parameters":{"id":28112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28105,"mutability":"mutable","name":"p0","nameLocation":"42368:2:14","nodeType":"VariableDeclaration","scope":28126,"src":"42354:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28104,"name":"string","nodeType":"ElementaryTypeName","src":"42354:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28107,"mutability":"mutable","name":"p1","nameLocation":"42380:2:14","nodeType":"VariableDeclaration","scope":28126,"src":"42372:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28106,"name":"address","nodeType":"ElementaryTypeName","src":"42372:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28109,"mutability":"mutable","name":"p2","nameLocation":"42392:2:14","nodeType":"VariableDeclaration","scope":28126,"src":"42384:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28108,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28111,"mutability":"mutable","name":"p3","nameLocation":"42404:2:14","nodeType":"VariableDeclaration","scope":28126,"src":"42396:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28110,"name":"address","nodeType":"ElementaryTypeName","src":"42396:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42353:54:14"},"returnParameters":{"id":28113,"nodeType":"ParameterList","parameters":[],"src":"42422:0:14"},"scope":31347,"src":"42341:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28148,"nodeType":"Block","src":"42627:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":28140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42677:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":28141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28128,"src":"42715:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28130,"src":"42719:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28132,"src":"42723:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28144,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28134,"src":"42727:2:14","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":28138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42653:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42657:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42653:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42653:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"42637:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42637:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28147,"nodeType":"ExpressionStatement","src":"42637:94:14"}]},"id":28149,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42549:3:14","nodeType":"FunctionDefinition","parameters":{"id":28135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28128,"mutability":"mutable","name":"p0","nameLocation":"42567:2:14","nodeType":"VariableDeclaration","scope":28149,"src":"42553:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28127,"name":"string","nodeType":"ElementaryTypeName","src":"42553:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28130,"mutability":"mutable","name":"p1","nameLocation":"42579:2:14","nodeType":"VariableDeclaration","scope":28149,"src":"42571:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28129,"name":"address","nodeType":"ElementaryTypeName","src":"42571:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28132,"mutability":"mutable","name":"p2","nameLocation":"42597:2:14","nodeType":"VariableDeclaration","scope":28149,"src":"42583:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28131,"name":"string","nodeType":"ElementaryTypeName","src":"42583:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28134,"mutability":"mutable","name":"p3","nameLocation":"42609:2:14","nodeType":"VariableDeclaration","scope":28149,"src":"42601:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28133,"name":"uint256","nodeType":"ElementaryTypeName","src":"42601:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42552:60:14"},"returnParameters":{"id":28136,"nodeType":"ParameterList","parameters":[],"src":"42627:0:14"},"scope":31347,"src":"42540:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28171,"nodeType":"Block","src":"42837:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":28163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42887:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":28164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28151,"src":"42924:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28153,"src":"42928:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28155,"src":"42932:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28167,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28157,"src":"42936:2:14","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":28161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42863:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42867:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42863:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42863:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"42847:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42847:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28170,"nodeType":"ExpressionStatement","src":"42847:93:14"}]},"id":28172,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42753:3:14","nodeType":"FunctionDefinition","parameters":{"id":28158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28151,"mutability":"mutable","name":"p0","nameLocation":"42771:2:14","nodeType":"VariableDeclaration","scope":28172,"src":"42757:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28150,"name":"string","nodeType":"ElementaryTypeName","src":"42757:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28153,"mutability":"mutable","name":"p1","nameLocation":"42783:2:14","nodeType":"VariableDeclaration","scope":28172,"src":"42775:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28152,"name":"address","nodeType":"ElementaryTypeName","src":"42775:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28155,"mutability":"mutable","name":"p2","nameLocation":"42801:2:14","nodeType":"VariableDeclaration","scope":28172,"src":"42787:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28154,"name":"string","nodeType":"ElementaryTypeName","src":"42787:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28157,"mutability":"mutable","name":"p3","nameLocation":"42819:2:14","nodeType":"VariableDeclaration","scope":28172,"src":"42805:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28156,"name":"string","nodeType":"ElementaryTypeName","src":"42805:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42756:66:14"},"returnParameters":{"id":28159,"nodeType":"ParameterList","parameters":[],"src":"42837:0:14"},"scope":31347,"src":"42744:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28194,"nodeType":"Block","src":"43037:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":28186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43087:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":28187,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28174,"src":"43122:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28188,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28176,"src":"43126:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28189,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28178,"src":"43130:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28190,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28180,"src":"43134:2:14","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":28184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43063:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43067:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43063:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43063:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"43047:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43047:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28193,"nodeType":"ExpressionStatement","src":"43047:91:14"}]},"id":28195,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42962:3:14","nodeType":"FunctionDefinition","parameters":{"id":28181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28174,"mutability":"mutable","name":"p0","nameLocation":"42980:2:14","nodeType":"VariableDeclaration","scope":28195,"src":"42966:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28173,"name":"string","nodeType":"ElementaryTypeName","src":"42966:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28176,"mutability":"mutable","name":"p1","nameLocation":"42992:2:14","nodeType":"VariableDeclaration","scope":28195,"src":"42984:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28175,"name":"address","nodeType":"ElementaryTypeName","src":"42984:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28178,"mutability":"mutable","name":"p2","nameLocation":"43010:2:14","nodeType":"VariableDeclaration","scope":28195,"src":"42996:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28177,"name":"string","nodeType":"ElementaryTypeName","src":"42996:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28180,"mutability":"mutable","name":"p3","nameLocation":"43019:2:14","nodeType":"VariableDeclaration","scope":28195,"src":"43014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28179,"name":"bool","nodeType":"ElementaryTypeName","src":"43014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42965:57:14"},"returnParameters":{"id":28182,"nodeType":"ParameterList","parameters":[],"src":"43037:0:14"},"scope":31347,"src":"42953:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28217,"nodeType":"Block","src":"43238:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":28209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43288:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":28210,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28197,"src":"43326:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28211,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28199,"src":"43330:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28212,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28201,"src":"43334:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28213,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28203,"src":"43338:2:14","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":28207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43264:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43268:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43264:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43264:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"43248:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43248:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28216,"nodeType":"ExpressionStatement","src":"43248:94:14"}]},"id":28218,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43160:3:14","nodeType":"FunctionDefinition","parameters":{"id":28204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28197,"mutability":"mutable","name":"p0","nameLocation":"43178:2:14","nodeType":"VariableDeclaration","scope":28218,"src":"43164:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28196,"name":"string","nodeType":"ElementaryTypeName","src":"43164:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28199,"mutability":"mutable","name":"p1","nameLocation":"43190:2:14","nodeType":"VariableDeclaration","scope":28218,"src":"43182:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28198,"name":"address","nodeType":"ElementaryTypeName","src":"43182:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28201,"mutability":"mutable","name":"p2","nameLocation":"43208:2:14","nodeType":"VariableDeclaration","scope":28218,"src":"43194:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28200,"name":"string","nodeType":"ElementaryTypeName","src":"43194:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28203,"mutability":"mutable","name":"p3","nameLocation":"43220:2:14","nodeType":"VariableDeclaration","scope":28218,"src":"43212:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28202,"name":"address","nodeType":"ElementaryTypeName","src":"43212:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43163:60:14"},"returnParameters":{"id":28205,"nodeType":"ParameterList","parameters":[],"src":"43238:0:14"},"scope":31347,"src":"43151:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28240,"nodeType":"Block","src":"43433:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":28232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43483:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":28233,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28220,"src":"43519:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28234,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28222,"src":"43523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28235,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28224,"src":"43527:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28236,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28226,"src":"43531:2:14","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":28230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43459:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43463:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43459:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43459:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28229,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"43443:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43443:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28239,"nodeType":"ExpressionStatement","src":"43443:92:14"}]},"id":28241,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43364:3:14","nodeType":"FunctionDefinition","parameters":{"id":28227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28220,"mutability":"mutable","name":"p0","nameLocation":"43382:2:14","nodeType":"VariableDeclaration","scope":28241,"src":"43368:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28219,"name":"string","nodeType":"ElementaryTypeName","src":"43368:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28222,"mutability":"mutable","name":"p1","nameLocation":"43394:2:14","nodeType":"VariableDeclaration","scope":28241,"src":"43386:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28221,"name":"address","nodeType":"ElementaryTypeName","src":"43386:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28224,"mutability":"mutable","name":"p2","nameLocation":"43403:2:14","nodeType":"VariableDeclaration","scope":28241,"src":"43398:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28223,"name":"bool","nodeType":"ElementaryTypeName","src":"43398:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28226,"mutability":"mutable","name":"p3","nameLocation":"43415:2:14","nodeType":"VariableDeclaration","scope":28241,"src":"43407:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28225,"name":"uint256","nodeType":"ElementaryTypeName","src":"43407:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43367:51:14"},"returnParameters":{"id":28228,"nodeType":"ParameterList","parameters":[],"src":"43433:0:14"},"scope":31347,"src":"43355:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28263,"nodeType":"Block","src":"43632:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":28255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43682:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":28256,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28243,"src":"43717:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28257,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28245,"src":"43721:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28258,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28247,"src":"43725:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28259,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28249,"src":"43729:2:14","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":28253,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43658:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43662:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43658:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43658:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"43642:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43642:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28262,"nodeType":"ExpressionStatement","src":"43642:91:14"}]},"id":28264,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43557:3:14","nodeType":"FunctionDefinition","parameters":{"id":28250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28243,"mutability":"mutable","name":"p0","nameLocation":"43575:2:14","nodeType":"VariableDeclaration","scope":28264,"src":"43561:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28242,"name":"string","nodeType":"ElementaryTypeName","src":"43561:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28245,"mutability":"mutable","name":"p1","nameLocation":"43587:2:14","nodeType":"VariableDeclaration","scope":28264,"src":"43579:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28244,"name":"address","nodeType":"ElementaryTypeName","src":"43579:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28247,"mutability":"mutable","name":"p2","nameLocation":"43596:2:14","nodeType":"VariableDeclaration","scope":28264,"src":"43591:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28246,"name":"bool","nodeType":"ElementaryTypeName","src":"43591:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28249,"mutability":"mutable","name":"p3","nameLocation":"43614:2:14","nodeType":"VariableDeclaration","scope":28264,"src":"43600:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28248,"name":"string","nodeType":"ElementaryTypeName","src":"43600:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43560:57:14"},"returnParameters":{"id":28251,"nodeType":"ParameterList","parameters":[],"src":"43632:0:14"},"scope":31347,"src":"43548:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28286,"nodeType":"Block","src":"43821:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":28278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43871:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":28279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28266,"src":"43904:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28268,"src":"43908:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28270,"src":"43912:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28282,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28272,"src":"43916:2:14","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":28276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43847:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43851:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43847:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43847:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"43831:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43831:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28285,"nodeType":"ExpressionStatement","src":"43831:89:14"}]},"id":28287,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43755:3:14","nodeType":"FunctionDefinition","parameters":{"id":28273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28266,"mutability":"mutable","name":"p0","nameLocation":"43773:2:14","nodeType":"VariableDeclaration","scope":28287,"src":"43759:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28265,"name":"string","nodeType":"ElementaryTypeName","src":"43759:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28268,"mutability":"mutable","name":"p1","nameLocation":"43785:2:14","nodeType":"VariableDeclaration","scope":28287,"src":"43777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28267,"name":"address","nodeType":"ElementaryTypeName","src":"43777:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28270,"mutability":"mutable","name":"p2","nameLocation":"43794:2:14","nodeType":"VariableDeclaration","scope":28287,"src":"43789:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28269,"name":"bool","nodeType":"ElementaryTypeName","src":"43789:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28272,"mutability":"mutable","name":"p3","nameLocation":"43803:2:14","nodeType":"VariableDeclaration","scope":28287,"src":"43798:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28271,"name":"bool","nodeType":"ElementaryTypeName","src":"43798:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43758:48:14"},"returnParameters":{"id":28274,"nodeType":"ParameterList","parameters":[],"src":"43821:0:14"},"scope":31347,"src":"43746:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28309,"nodeType":"Block","src":"44011:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":28301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44061:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":28302,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28289,"src":"44097:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28303,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28291,"src":"44101:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28304,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28293,"src":"44105:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28305,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28295,"src":"44109:2:14","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":28299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44037:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44041:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44037:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44037:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"44021:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44021:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28308,"nodeType":"ExpressionStatement","src":"44021:92:14"}]},"id":28310,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43942:3:14","nodeType":"FunctionDefinition","parameters":{"id":28296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28289,"mutability":"mutable","name":"p0","nameLocation":"43960:2:14","nodeType":"VariableDeclaration","scope":28310,"src":"43946:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28288,"name":"string","nodeType":"ElementaryTypeName","src":"43946:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28291,"mutability":"mutable","name":"p1","nameLocation":"43972:2:14","nodeType":"VariableDeclaration","scope":28310,"src":"43964:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28290,"name":"address","nodeType":"ElementaryTypeName","src":"43964:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28293,"mutability":"mutable","name":"p2","nameLocation":"43981:2:14","nodeType":"VariableDeclaration","scope":28310,"src":"43976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28292,"name":"bool","nodeType":"ElementaryTypeName","src":"43976:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28295,"mutability":"mutable","name":"p3","nameLocation":"43993:2:14","nodeType":"VariableDeclaration","scope":28310,"src":"43985:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28294,"name":"address","nodeType":"ElementaryTypeName","src":"43985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43945:51:14"},"returnParameters":{"id":28297,"nodeType":"ParameterList","parameters":[],"src":"44011:0:14"},"scope":31347,"src":"43933:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28332,"nodeType":"Block","src":"44207:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":28324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44257:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":28325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28312,"src":"44296:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28314,"src":"44300:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28316,"src":"44304:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28328,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28318,"src":"44308:2:14","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":28322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44233:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44237:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44233:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44233:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"44217:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44217:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28331,"nodeType":"ExpressionStatement","src":"44217:95:14"}]},"id":28333,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44135:3:14","nodeType":"FunctionDefinition","parameters":{"id":28319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28312,"mutability":"mutable","name":"p0","nameLocation":"44153:2:14","nodeType":"VariableDeclaration","scope":28333,"src":"44139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28311,"name":"string","nodeType":"ElementaryTypeName","src":"44139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28314,"mutability":"mutable","name":"p1","nameLocation":"44165:2:14","nodeType":"VariableDeclaration","scope":28333,"src":"44157:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28313,"name":"address","nodeType":"ElementaryTypeName","src":"44157:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28316,"mutability":"mutable","name":"p2","nameLocation":"44177:2:14","nodeType":"VariableDeclaration","scope":28333,"src":"44169:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28315,"name":"address","nodeType":"ElementaryTypeName","src":"44169:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28318,"mutability":"mutable","name":"p3","nameLocation":"44189:2:14","nodeType":"VariableDeclaration","scope":28333,"src":"44181:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28317,"name":"uint256","nodeType":"ElementaryTypeName","src":"44181:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44138:54:14"},"returnParameters":{"id":28320,"nodeType":"ParameterList","parameters":[],"src":"44207:0:14"},"scope":31347,"src":"44126:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28355,"nodeType":"Block","src":"44412:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":28347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44462:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":28348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28335,"src":"44500:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28337,"src":"44504:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28350,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28339,"src":"44508:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28351,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28341,"src":"44512:2:14","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":28345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44438:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44442:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44438:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44438:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"44422:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44422:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28354,"nodeType":"ExpressionStatement","src":"44422:94:14"}]},"id":28356,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44334:3:14","nodeType":"FunctionDefinition","parameters":{"id":28342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28335,"mutability":"mutable","name":"p0","nameLocation":"44352:2:14","nodeType":"VariableDeclaration","scope":28356,"src":"44338:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28334,"name":"string","nodeType":"ElementaryTypeName","src":"44338:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28337,"mutability":"mutable","name":"p1","nameLocation":"44364:2:14","nodeType":"VariableDeclaration","scope":28356,"src":"44356:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28336,"name":"address","nodeType":"ElementaryTypeName","src":"44356:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28339,"mutability":"mutable","name":"p2","nameLocation":"44376:2:14","nodeType":"VariableDeclaration","scope":28356,"src":"44368:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28338,"name":"address","nodeType":"ElementaryTypeName","src":"44368:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28341,"mutability":"mutable","name":"p3","nameLocation":"44394:2:14","nodeType":"VariableDeclaration","scope":28356,"src":"44380:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28340,"name":"string","nodeType":"ElementaryTypeName","src":"44380:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44337:60:14"},"returnParameters":{"id":28343,"nodeType":"ParameterList","parameters":[],"src":"44412:0:14"},"scope":31347,"src":"44325:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28378,"nodeType":"Block","src":"44607:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":28370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44657:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":28371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28358,"src":"44693:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"44697:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28362,"src":"44701:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28374,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28364,"src":"44705:2:14","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":28368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44633:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44637:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44633:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44633:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"44617:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44617:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28377,"nodeType":"ExpressionStatement","src":"44617:92:14"}]},"id":28379,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44538:3:14","nodeType":"FunctionDefinition","parameters":{"id":28365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28358,"mutability":"mutable","name":"p0","nameLocation":"44556:2:14","nodeType":"VariableDeclaration","scope":28379,"src":"44542:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28357,"name":"string","nodeType":"ElementaryTypeName","src":"44542:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28360,"mutability":"mutable","name":"p1","nameLocation":"44568:2:14","nodeType":"VariableDeclaration","scope":28379,"src":"44560:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28359,"name":"address","nodeType":"ElementaryTypeName","src":"44560:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28362,"mutability":"mutable","name":"p2","nameLocation":"44580:2:14","nodeType":"VariableDeclaration","scope":28379,"src":"44572:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28361,"name":"address","nodeType":"ElementaryTypeName","src":"44572:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28364,"mutability":"mutable","name":"p3","nameLocation":"44589:2:14","nodeType":"VariableDeclaration","scope":28379,"src":"44584:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28363,"name":"bool","nodeType":"ElementaryTypeName","src":"44584:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44541:51:14"},"returnParameters":{"id":28366,"nodeType":"ParameterList","parameters":[],"src":"44607:0:14"},"scope":31347,"src":"44529:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28401,"nodeType":"Block","src":"44803:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":28393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44853:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":28394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28381,"src":"44892:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28395,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28383,"src":"44896:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28396,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28385,"src":"44900:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28397,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28387,"src":"44904:2:14","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":28391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44829:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44833:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44829:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44829:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"44813:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44813:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28400,"nodeType":"ExpressionStatement","src":"44813:95:14"}]},"id":28402,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44731:3:14","nodeType":"FunctionDefinition","parameters":{"id":28388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28381,"mutability":"mutable","name":"p0","nameLocation":"44749:2:14","nodeType":"VariableDeclaration","scope":28402,"src":"44735:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28380,"name":"string","nodeType":"ElementaryTypeName","src":"44735:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28383,"mutability":"mutable","name":"p1","nameLocation":"44761:2:14","nodeType":"VariableDeclaration","scope":28402,"src":"44753:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28382,"name":"address","nodeType":"ElementaryTypeName","src":"44753:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28385,"mutability":"mutable","name":"p2","nameLocation":"44773:2:14","nodeType":"VariableDeclaration","scope":28402,"src":"44765:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28384,"name":"address","nodeType":"ElementaryTypeName","src":"44765:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28387,"mutability":"mutable","name":"p3","nameLocation":"44785:2:14","nodeType":"VariableDeclaration","scope":28402,"src":"44777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28386,"name":"address","nodeType":"ElementaryTypeName","src":"44777:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44734:54:14"},"returnParameters":{"id":28389,"nodeType":"ParameterList","parameters":[],"src":"44803:0:14"},"scope":31347,"src":"44722:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28424,"nodeType":"Block","src":"44993:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":28416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45043:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":28417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28404,"src":"45080:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28418,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28406,"src":"45084:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28419,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28408,"src":"45088:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28420,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28410,"src":"45092:2:14","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":28414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45019:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45023:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45019:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45019:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45003:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45003:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28423,"nodeType":"ExpressionStatement","src":"45003:93:14"}]},"id":28425,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44930:3:14","nodeType":"FunctionDefinition","parameters":{"id":28411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28404,"mutability":"mutable","name":"p0","nameLocation":"44939:2:14","nodeType":"VariableDeclaration","scope":28425,"src":"44934:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28403,"name":"bool","nodeType":"ElementaryTypeName","src":"44934:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28406,"mutability":"mutable","name":"p1","nameLocation":"44951:2:14","nodeType":"VariableDeclaration","scope":28425,"src":"44943:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28405,"name":"uint256","nodeType":"ElementaryTypeName","src":"44943:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28408,"mutability":"mutable","name":"p2","nameLocation":"44963:2:14","nodeType":"VariableDeclaration","scope":28425,"src":"44955:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28407,"name":"uint256","nodeType":"ElementaryTypeName","src":"44955:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28410,"mutability":"mutable","name":"p3","nameLocation":"44975:2:14","nodeType":"VariableDeclaration","scope":28425,"src":"44967:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28409,"name":"uint256","nodeType":"ElementaryTypeName","src":"44967:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44933:45:14"},"returnParameters":{"id":28412,"nodeType":"ParameterList","parameters":[],"src":"44993:0:14"},"scope":31347,"src":"44921:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28447,"nodeType":"Block","src":"45187:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":28439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45237:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":28440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28427,"src":"45273:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28441,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28429,"src":"45277:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28442,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28431,"src":"45281:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28443,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28433,"src":"45285:2:14","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":28437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45213:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45217:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45213:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45213:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45197:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45197:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28446,"nodeType":"ExpressionStatement","src":"45197:92:14"}]},"id":28448,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45118:3:14","nodeType":"FunctionDefinition","parameters":{"id":28434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28427,"mutability":"mutable","name":"p0","nameLocation":"45127:2:14","nodeType":"VariableDeclaration","scope":28448,"src":"45122:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28426,"name":"bool","nodeType":"ElementaryTypeName","src":"45122:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28429,"mutability":"mutable","name":"p1","nameLocation":"45139:2:14","nodeType":"VariableDeclaration","scope":28448,"src":"45131:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28428,"name":"uint256","nodeType":"ElementaryTypeName","src":"45131:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28431,"mutability":"mutable","name":"p2","nameLocation":"45151:2:14","nodeType":"VariableDeclaration","scope":28448,"src":"45143:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28430,"name":"uint256","nodeType":"ElementaryTypeName","src":"45143:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28433,"mutability":"mutable","name":"p3","nameLocation":"45169:2:14","nodeType":"VariableDeclaration","scope":28448,"src":"45155:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28432,"name":"string","nodeType":"ElementaryTypeName","src":"45155:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45121:51:14"},"returnParameters":{"id":28435,"nodeType":"ParameterList","parameters":[],"src":"45187:0:14"},"scope":31347,"src":"45109:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28470,"nodeType":"Block","src":"45371:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":28462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45421:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":28463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28450,"src":"45455:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28464,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28452,"src":"45459:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28465,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28454,"src":"45463:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28466,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28456,"src":"45467:2:14","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":28460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45397:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45401:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45397:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45397:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45381:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45381:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28469,"nodeType":"ExpressionStatement","src":"45381:90:14"}]},"id":28471,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45311:3:14","nodeType":"FunctionDefinition","parameters":{"id":28457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28450,"mutability":"mutable","name":"p0","nameLocation":"45320:2:14","nodeType":"VariableDeclaration","scope":28471,"src":"45315:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28449,"name":"bool","nodeType":"ElementaryTypeName","src":"45315:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28452,"mutability":"mutable","name":"p1","nameLocation":"45332:2:14","nodeType":"VariableDeclaration","scope":28471,"src":"45324:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28451,"name":"uint256","nodeType":"ElementaryTypeName","src":"45324:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28454,"mutability":"mutable","name":"p2","nameLocation":"45344:2:14","nodeType":"VariableDeclaration","scope":28471,"src":"45336:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28453,"name":"uint256","nodeType":"ElementaryTypeName","src":"45336:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28456,"mutability":"mutable","name":"p3","nameLocation":"45353:2:14","nodeType":"VariableDeclaration","scope":28471,"src":"45348:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28455,"name":"bool","nodeType":"ElementaryTypeName","src":"45348:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45314:42:14"},"returnParameters":{"id":28458,"nodeType":"ParameterList","parameters":[],"src":"45371:0:14"},"scope":31347,"src":"45302:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28493,"nodeType":"Block","src":"45556:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":28485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45606:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":28486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28473,"src":"45643:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28475,"src":"45647:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28477,"src":"45651:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28479,"src":"45655:2:14","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":28483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45582:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45586:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45582:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45582:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45566:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45566:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28492,"nodeType":"ExpressionStatement","src":"45566:93:14"}]},"id":28494,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45493:3:14","nodeType":"FunctionDefinition","parameters":{"id":28480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28473,"mutability":"mutable","name":"p0","nameLocation":"45502:2:14","nodeType":"VariableDeclaration","scope":28494,"src":"45497:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28472,"name":"bool","nodeType":"ElementaryTypeName","src":"45497:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28475,"mutability":"mutable","name":"p1","nameLocation":"45514:2:14","nodeType":"VariableDeclaration","scope":28494,"src":"45506:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28474,"name":"uint256","nodeType":"ElementaryTypeName","src":"45506:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28477,"mutability":"mutable","name":"p2","nameLocation":"45526:2:14","nodeType":"VariableDeclaration","scope":28494,"src":"45518:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28476,"name":"uint256","nodeType":"ElementaryTypeName","src":"45518:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28479,"mutability":"mutable","name":"p3","nameLocation":"45538:2:14","nodeType":"VariableDeclaration","scope":28494,"src":"45530:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28478,"name":"address","nodeType":"ElementaryTypeName","src":"45530:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45496:45:14"},"returnParameters":{"id":28481,"nodeType":"ParameterList","parameters":[],"src":"45556:0:14"},"scope":31347,"src":"45484:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28516,"nodeType":"Block","src":"45750:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":28508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45800:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":28509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28496,"src":"45836:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28498,"src":"45840:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28500,"src":"45844:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28502,"src":"45848:2:14","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":28506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45776:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45780:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45776:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45776:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45760:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45760:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28515,"nodeType":"ExpressionStatement","src":"45760:92:14"}]},"id":28517,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45681:3:14","nodeType":"FunctionDefinition","parameters":{"id":28503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28496,"mutability":"mutable","name":"p0","nameLocation":"45690:2:14","nodeType":"VariableDeclaration","scope":28517,"src":"45685:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28495,"name":"bool","nodeType":"ElementaryTypeName","src":"45685:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28498,"mutability":"mutable","name":"p1","nameLocation":"45702:2:14","nodeType":"VariableDeclaration","scope":28517,"src":"45694:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28497,"name":"uint256","nodeType":"ElementaryTypeName","src":"45694:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28500,"mutability":"mutable","name":"p2","nameLocation":"45720:2:14","nodeType":"VariableDeclaration","scope":28517,"src":"45706:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28499,"name":"string","nodeType":"ElementaryTypeName","src":"45706:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28502,"mutability":"mutable","name":"p3","nameLocation":"45732:2:14","nodeType":"VariableDeclaration","scope":28517,"src":"45724:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28501,"name":"uint256","nodeType":"ElementaryTypeName","src":"45724:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45684:51:14"},"returnParameters":{"id":28504,"nodeType":"ParameterList","parameters":[],"src":"45750:0:14"},"scope":31347,"src":"45672:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28539,"nodeType":"Block","src":"45949:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":28531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45999:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":28532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28519,"src":"46034:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28521,"src":"46038:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28523,"src":"46042:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28525,"src":"46046:2:14","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":28529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45975:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45979:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45975:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45975:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"45959:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45959:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28538,"nodeType":"ExpressionStatement","src":"45959:91:14"}]},"id":28540,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45874:3:14","nodeType":"FunctionDefinition","parameters":{"id":28526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28519,"mutability":"mutable","name":"p0","nameLocation":"45883:2:14","nodeType":"VariableDeclaration","scope":28540,"src":"45878:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28518,"name":"bool","nodeType":"ElementaryTypeName","src":"45878:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28521,"mutability":"mutable","name":"p1","nameLocation":"45895:2:14","nodeType":"VariableDeclaration","scope":28540,"src":"45887:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28520,"name":"uint256","nodeType":"ElementaryTypeName","src":"45887:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28523,"mutability":"mutable","name":"p2","nameLocation":"45913:2:14","nodeType":"VariableDeclaration","scope":28540,"src":"45899:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28522,"name":"string","nodeType":"ElementaryTypeName","src":"45899:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28525,"mutability":"mutable","name":"p3","nameLocation":"45931:2:14","nodeType":"VariableDeclaration","scope":28540,"src":"45917:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28524,"name":"string","nodeType":"ElementaryTypeName","src":"45917:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45877:57:14"},"returnParameters":{"id":28527,"nodeType":"ParameterList","parameters":[],"src":"45949:0:14"},"scope":31347,"src":"45865:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28562,"nodeType":"Block","src":"46138:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":28554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46188:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":28555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28542,"src":"46221:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28544,"src":"46225:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28546,"src":"46229:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28548,"src":"46233:2:14","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":28552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46164:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46168:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46164:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46164:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"46148:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46148:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28561,"nodeType":"ExpressionStatement","src":"46148:89:14"}]},"id":28563,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46072:3:14","nodeType":"FunctionDefinition","parameters":{"id":28549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28542,"mutability":"mutable","name":"p0","nameLocation":"46081:2:14","nodeType":"VariableDeclaration","scope":28563,"src":"46076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28541,"name":"bool","nodeType":"ElementaryTypeName","src":"46076:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28544,"mutability":"mutable","name":"p1","nameLocation":"46093:2:14","nodeType":"VariableDeclaration","scope":28563,"src":"46085:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28543,"name":"uint256","nodeType":"ElementaryTypeName","src":"46085:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28546,"mutability":"mutable","name":"p2","nameLocation":"46111:2:14","nodeType":"VariableDeclaration","scope":28563,"src":"46097:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28545,"name":"string","nodeType":"ElementaryTypeName","src":"46097:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28548,"mutability":"mutable","name":"p3","nameLocation":"46120:2:14","nodeType":"VariableDeclaration","scope":28563,"src":"46115:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28547,"name":"bool","nodeType":"ElementaryTypeName","src":"46115:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46075:48:14"},"returnParameters":{"id":28550,"nodeType":"ParameterList","parameters":[],"src":"46138:0:14"},"scope":31347,"src":"46063:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28585,"nodeType":"Block","src":"46328:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":28577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46378:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":28578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28565,"src":"46414:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28567,"src":"46418:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28569,"src":"46422:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28571,"src":"46426:2:14","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":28575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46354:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46358:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46354:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46354:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"46338:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46338:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28584,"nodeType":"ExpressionStatement","src":"46338:92:14"}]},"id":28586,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46259:3:14","nodeType":"FunctionDefinition","parameters":{"id":28572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28565,"mutability":"mutable","name":"p0","nameLocation":"46268:2:14","nodeType":"VariableDeclaration","scope":28586,"src":"46263:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28564,"name":"bool","nodeType":"ElementaryTypeName","src":"46263:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28567,"mutability":"mutable","name":"p1","nameLocation":"46280:2:14","nodeType":"VariableDeclaration","scope":28586,"src":"46272:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28566,"name":"uint256","nodeType":"ElementaryTypeName","src":"46272:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28569,"mutability":"mutable","name":"p2","nameLocation":"46298:2:14","nodeType":"VariableDeclaration","scope":28586,"src":"46284:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28568,"name":"string","nodeType":"ElementaryTypeName","src":"46284:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28571,"mutability":"mutable","name":"p3","nameLocation":"46310:2:14","nodeType":"VariableDeclaration","scope":28586,"src":"46302:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28570,"name":"address","nodeType":"ElementaryTypeName","src":"46302:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46262:51:14"},"returnParameters":{"id":28573,"nodeType":"ParameterList","parameters":[],"src":"46328:0:14"},"scope":31347,"src":"46250:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28608,"nodeType":"Block","src":"46512:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":28600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46562:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":28601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28588,"src":"46596:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28590,"src":"46600:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28592,"src":"46604:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28594,"src":"46608:2:14","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":28598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46538:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46542:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46538:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46538:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"46522:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46522:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28607,"nodeType":"ExpressionStatement","src":"46522:90:14"}]},"id":28609,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46452:3:14","nodeType":"FunctionDefinition","parameters":{"id":28595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28588,"mutability":"mutable","name":"p0","nameLocation":"46461:2:14","nodeType":"VariableDeclaration","scope":28609,"src":"46456:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28587,"name":"bool","nodeType":"ElementaryTypeName","src":"46456:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28590,"mutability":"mutable","name":"p1","nameLocation":"46473:2:14","nodeType":"VariableDeclaration","scope":28609,"src":"46465:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28589,"name":"uint256","nodeType":"ElementaryTypeName","src":"46465:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28592,"mutability":"mutable","name":"p2","nameLocation":"46482:2:14","nodeType":"VariableDeclaration","scope":28609,"src":"46477:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28591,"name":"bool","nodeType":"ElementaryTypeName","src":"46477:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28594,"mutability":"mutable","name":"p3","nameLocation":"46494:2:14","nodeType":"VariableDeclaration","scope":28609,"src":"46486:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28593,"name":"uint256","nodeType":"ElementaryTypeName","src":"46486:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46455:42:14"},"returnParameters":{"id":28596,"nodeType":"ParameterList","parameters":[],"src":"46512:0:14"},"scope":31347,"src":"46443:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28631,"nodeType":"Block","src":"46700:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":28623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46750:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":28624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28611,"src":"46783:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28613,"src":"46787:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28615,"src":"46791:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28617,"src":"46795:2:14","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":28621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46726:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46730:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46726:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46726:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"46710:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46710:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28630,"nodeType":"ExpressionStatement","src":"46710:89:14"}]},"id":28632,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46634:3:14","nodeType":"FunctionDefinition","parameters":{"id":28618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28611,"mutability":"mutable","name":"p0","nameLocation":"46643:2:14","nodeType":"VariableDeclaration","scope":28632,"src":"46638:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28610,"name":"bool","nodeType":"ElementaryTypeName","src":"46638:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28613,"mutability":"mutable","name":"p1","nameLocation":"46655:2:14","nodeType":"VariableDeclaration","scope":28632,"src":"46647:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28612,"name":"uint256","nodeType":"ElementaryTypeName","src":"46647:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28615,"mutability":"mutable","name":"p2","nameLocation":"46664:2:14","nodeType":"VariableDeclaration","scope":28632,"src":"46659:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28614,"name":"bool","nodeType":"ElementaryTypeName","src":"46659:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28617,"mutability":"mutable","name":"p3","nameLocation":"46682:2:14","nodeType":"VariableDeclaration","scope":28632,"src":"46668:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28616,"name":"string","nodeType":"ElementaryTypeName","src":"46668:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46637:48:14"},"returnParameters":{"id":28619,"nodeType":"ParameterList","parameters":[],"src":"46700:0:14"},"scope":31347,"src":"46625:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28654,"nodeType":"Block","src":"46878:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":28646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46928:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":28647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28634,"src":"46959:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28636,"src":"46963:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28638,"src":"46967:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28640,"src":"46971:2:14","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":28644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46904:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46908:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46904:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46904:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"46888:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46888:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28653,"nodeType":"ExpressionStatement","src":"46888:87:14"}]},"id":28655,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46821:3:14","nodeType":"FunctionDefinition","parameters":{"id":28641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28634,"mutability":"mutable","name":"p0","nameLocation":"46830:2:14","nodeType":"VariableDeclaration","scope":28655,"src":"46825:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28633,"name":"bool","nodeType":"ElementaryTypeName","src":"46825:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28636,"mutability":"mutable","name":"p1","nameLocation":"46842:2:14","nodeType":"VariableDeclaration","scope":28655,"src":"46834:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28635,"name":"uint256","nodeType":"ElementaryTypeName","src":"46834:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28638,"mutability":"mutable","name":"p2","nameLocation":"46851:2:14","nodeType":"VariableDeclaration","scope":28655,"src":"46846:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28637,"name":"bool","nodeType":"ElementaryTypeName","src":"46846:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28640,"mutability":"mutable","name":"p3","nameLocation":"46860:2:14","nodeType":"VariableDeclaration","scope":28655,"src":"46855:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28639,"name":"bool","nodeType":"ElementaryTypeName","src":"46855:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46824:39:14"},"returnParameters":{"id":28642,"nodeType":"ParameterList","parameters":[],"src":"46878:0:14"},"scope":31347,"src":"46812:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28677,"nodeType":"Block","src":"47057:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":28669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47107:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":28670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28657,"src":"47141:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28659,"src":"47145:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28661,"src":"47149:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28663,"src":"47153:2:14","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":28667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47083:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47087:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47083:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47083:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"47067:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47067:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28676,"nodeType":"ExpressionStatement","src":"47067:90:14"}]},"id":28678,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46997:3:14","nodeType":"FunctionDefinition","parameters":{"id":28664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28657,"mutability":"mutable","name":"p0","nameLocation":"47006:2:14","nodeType":"VariableDeclaration","scope":28678,"src":"47001:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28656,"name":"bool","nodeType":"ElementaryTypeName","src":"47001:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28659,"mutability":"mutable","name":"p1","nameLocation":"47018:2:14","nodeType":"VariableDeclaration","scope":28678,"src":"47010:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28658,"name":"uint256","nodeType":"ElementaryTypeName","src":"47010:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28661,"mutability":"mutable","name":"p2","nameLocation":"47027:2:14","nodeType":"VariableDeclaration","scope":28678,"src":"47022:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28660,"name":"bool","nodeType":"ElementaryTypeName","src":"47022:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28663,"mutability":"mutable","name":"p3","nameLocation":"47039:2:14","nodeType":"VariableDeclaration","scope":28678,"src":"47031:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28662,"name":"address","nodeType":"ElementaryTypeName","src":"47031:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47000:42:14"},"returnParameters":{"id":28665,"nodeType":"ParameterList","parameters":[],"src":"47057:0:14"},"scope":31347,"src":"46988:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28700,"nodeType":"Block","src":"47242:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":28692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47292:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":28693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28680,"src":"47329:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28682,"src":"47333:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28684,"src":"47337:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"47341:2:14","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":28690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47272:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47268:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"47252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47252:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28699,"nodeType":"ExpressionStatement","src":"47252:93:14"}]},"id":28701,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47179:3:14","nodeType":"FunctionDefinition","parameters":{"id":28687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28680,"mutability":"mutable","name":"p0","nameLocation":"47188:2:14","nodeType":"VariableDeclaration","scope":28701,"src":"47183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28679,"name":"bool","nodeType":"ElementaryTypeName","src":"47183:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28682,"mutability":"mutable","name":"p1","nameLocation":"47200:2:14","nodeType":"VariableDeclaration","scope":28701,"src":"47192:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28681,"name":"uint256","nodeType":"ElementaryTypeName","src":"47192:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28684,"mutability":"mutable","name":"p2","nameLocation":"47212:2:14","nodeType":"VariableDeclaration","scope":28701,"src":"47204:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28683,"name":"address","nodeType":"ElementaryTypeName","src":"47204:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28686,"mutability":"mutable","name":"p3","nameLocation":"47224:2:14","nodeType":"VariableDeclaration","scope":28701,"src":"47216:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28685,"name":"uint256","nodeType":"ElementaryTypeName","src":"47216:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47182:45:14"},"returnParameters":{"id":28688,"nodeType":"ParameterList","parameters":[],"src":"47242:0:14"},"scope":31347,"src":"47170:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28723,"nodeType":"Block","src":"47436:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":28715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47486:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":28716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28703,"src":"47522:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28705,"src":"47526:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28707,"src":"47530:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"47534:2:14","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":28713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47462:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47466:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47462:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47462:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"47446:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47446:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28722,"nodeType":"ExpressionStatement","src":"47446:92:14"}]},"id":28724,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47367:3:14","nodeType":"FunctionDefinition","parameters":{"id":28710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28703,"mutability":"mutable","name":"p0","nameLocation":"47376:2:14","nodeType":"VariableDeclaration","scope":28724,"src":"47371:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28702,"name":"bool","nodeType":"ElementaryTypeName","src":"47371:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28705,"mutability":"mutable","name":"p1","nameLocation":"47388:2:14","nodeType":"VariableDeclaration","scope":28724,"src":"47380:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28704,"name":"uint256","nodeType":"ElementaryTypeName","src":"47380:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28707,"mutability":"mutable","name":"p2","nameLocation":"47400:2:14","nodeType":"VariableDeclaration","scope":28724,"src":"47392:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28706,"name":"address","nodeType":"ElementaryTypeName","src":"47392:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28709,"mutability":"mutable","name":"p3","nameLocation":"47418:2:14","nodeType":"VariableDeclaration","scope":28724,"src":"47404:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28708,"name":"string","nodeType":"ElementaryTypeName","src":"47404:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47370:51:14"},"returnParameters":{"id":28711,"nodeType":"ParameterList","parameters":[],"src":"47436:0:14"},"scope":31347,"src":"47358:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28746,"nodeType":"Block","src":"47620:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":28738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47670:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":28739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28726,"src":"47704:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28728,"src":"47708:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28730,"src":"47712:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28732,"src":"47716:2:14","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":28736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47646:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47650:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47646:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47646:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"47630:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47630:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28745,"nodeType":"ExpressionStatement","src":"47630:90:14"}]},"id":28747,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47560:3:14","nodeType":"FunctionDefinition","parameters":{"id":28733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28726,"mutability":"mutable","name":"p0","nameLocation":"47569:2:14","nodeType":"VariableDeclaration","scope":28747,"src":"47564:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28725,"name":"bool","nodeType":"ElementaryTypeName","src":"47564:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28728,"mutability":"mutable","name":"p1","nameLocation":"47581:2:14","nodeType":"VariableDeclaration","scope":28747,"src":"47573:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28727,"name":"uint256","nodeType":"ElementaryTypeName","src":"47573:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28730,"mutability":"mutable","name":"p2","nameLocation":"47593:2:14","nodeType":"VariableDeclaration","scope":28747,"src":"47585:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28729,"name":"address","nodeType":"ElementaryTypeName","src":"47585:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28732,"mutability":"mutable","name":"p3","nameLocation":"47602:2:14","nodeType":"VariableDeclaration","scope":28747,"src":"47597:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28731,"name":"bool","nodeType":"ElementaryTypeName","src":"47597:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47563:42:14"},"returnParameters":{"id":28734,"nodeType":"ParameterList","parameters":[],"src":"47620:0:14"},"scope":31347,"src":"47551:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28769,"nodeType":"Block","src":"47805:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":28761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47855:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":28762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28749,"src":"47892:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28751,"src":"47896:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28753,"src":"47900:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28755,"src":"47904:2:14","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":28759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47831:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47835:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47831:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47831:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"47815:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47815:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28768,"nodeType":"ExpressionStatement","src":"47815:93:14"}]},"id":28770,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47742:3:14","nodeType":"FunctionDefinition","parameters":{"id":28756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28749,"mutability":"mutable","name":"p0","nameLocation":"47751:2:14","nodeType":"VariableDeclaration","scope":28770,"src":"47746:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28748,"name":"bool","nodeType":"ElementaryTypeName","src":"47746:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28751,"mutability":"mutable","name":"p1","nameLocation":"47763:2:14","nodeType":"VariableDeclaration","scope":28770,"src":"47755:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28750,"name":"uint256","nodeType":"ElementaryTypeName","src":"47755:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28753,"mutability":"mutable","name":"p2","nameLocation":"47775:2:14","nodeType":"VariableDeclaration","scope":28770,"src":"47767:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28752,"name":"address","nodeType":"ElementaryTypeName","src":"47767:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28755,"mutability":"mutable","name":"p3","nameLocation":"47787:2:14","nodeType":"VariableDeclaration","scope":28770,"src":"47779:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28754,"name":"address","nodeType":"ElementaryTypeName","src":"47779:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47745:45:14"},"returnParameters":{"id":28757,"nodeType":"ParameterList","parameters":[],"src":"47805:0:14"},"scope":31347,"src":"47733:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28792,"nodeType":"Block","src":"47999:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":28784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48049:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":28785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28772,"src":"48085:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28774,"src":"48089:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28776,"src":"48093:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28778,"src":"48097:2:14","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":28782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48025:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48029:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48025:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48025:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48009:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48009:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28791,"nodeType":"ExpressionStatement","src":"48009:92:14"}]},"id":28793,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47930:3:14","nodeType":"FunctionDefinition","parameters":{"id":28779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28772,"mutability":"mutable","name":"p0","nameLocation":"47939:2:14","nodeType":"VariableDeclaration","scope":28793,"src":"47934:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28771,"name":"bool","nodeType":"ElementaryTypeName","src":"47934:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28774,"mutability":"mutable","name":"p1","nameLocation":"47957:2:14","nodeType":"VariableDeclaration","scope":28793,"src":"47943:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28773,"name":"string","nodeType":"ElementaryTypeName","src":"47943:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28776,"mutability":"mutable","name":"p2","nameLocation":"47969:2:14","nodeType":"VariableDeclaration","scope":28793,"src":"47961:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28775,"name":"uint256","nodeType":"ElementaryTypeName","src":"47961:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28778,"mutability":"mutable","name":"p3","nameLocation":"47981:2:14","nodeType":"VariableDeclaration","scope":28793,"src":"47973:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28777,"name":"uint256","nodeType":"ElementaryTypeName","src":"47973:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47933:51:14"},"returnParameters":{"id":28780,"nodeType":"ParameterList","parameters":[],"src":"47999:0:14"},"scope":31347,"src":"47921:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28815,"nodeType":"Block","src":"48198:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":28807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48248:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":28808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28795,"src":"48283:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28797,"src":"48287:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28799,"src":"48291:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28801,"src":"48295:2:14","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":28805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48224:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48228:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48224:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48224:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48208:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48208:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28814,"nodeType":"ExpressionStatement","src":"48208:91:14"}]},"id":28816,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48123:3:14","nodeType":"FunctionDefinition","parameters":{"id":28802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28795,"mutability":"mutable","name":"p0","nameLocation":"48132:2:14","nodeType":"VariableDeclaration","scope":28816,"src":"48127:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28794,"name":"bool","nodeType":"ElementaryTypeName","src":"48127:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28797,"mutability":"mutable","name":"p1","nameLocation":"48150:2:14","nodeType":"VariableDeclaration","scope":28816,"src":"48136:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28796,"name":"string","nodeType":"ElementaryTypeName","src":"48136:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28799,"mutability":"mutable","name":"p2","nameLocation":"48162:2:14","nodeType":"VariableDeclaration","scope":28816,"src":"48154:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28798,"name":"uint256","nodeType":"ElementaryTypeName","src":"48154:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28801,"mutability":"mutable","name":"p3","nameLocation":"48180:2:14","nodeType":"VariableDeclaration","scope":28816,"src":"48166:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28800,"name":"string","nodeType":"ElementaryTypeName","src":"48166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48126:57:14"},"returnParameters":{"id":28803,"nodeType":"ParameterList","parameters":[],"src":"48198:0:14"},"scope":31347,"src":"48114:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28838,"nodeType":"Block","src":"48387:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":28830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48437:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":28831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28818,"src":"48470:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28820,"src":"48474:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28822,"src":"48478:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28824,"src":"48482:2:14","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":28828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48413:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48413:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48413:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48397:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48397:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28837,"nodeType":"ExpressionStatement","src":"48397:89:14"}]},"id":28839,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48321:3:14","nodeType":"FunctionDefinition","parameters":{"id":28825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28818,"mutability":"mutable","name":"p0","nameLocation":"48330:2:14","nodeType":"VariableDeclaration","scope":28839,"src":"48325:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28817,"name":"bool","nodeType":"ElementaryTypeName","src":"48325:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28820,"mutability":"mutable","name":"p1","nameLocation":"48348:2:14","nodeType":"VariableDeclaration","scope":28839,"src":"48334:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28819,"name":"string","nodeType":"ElementaryTypeName","src":"48334:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28822,"mutability":"mutable","name":"p2","nameLocation":"48360:2:14","nodeType":"VariableDeclaration","scope":28839,"src":"48352:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28821,"name":"uint256","nodeType":"ElementaryTypeName","src":"48352:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28824,"mutability":"mutable","name":"p3","nameLocation":"48369:2:14","nodeType":"VariableDeclaration","scope":28839,"src":"48364:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28823,"name":"bool","nodeType":"ElementaryTypeName","src":"48364:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48324:48:14"},"returnParameters":{"id":28826,"nodeType":"ParameterList","parameters":[],"src":"48387:0:14"},"scope":31347,"src":"48312:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28861,"nodeType":"Block","src":"48577:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":28853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48627:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":28854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28841,"src":"48663:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28843,"src":"48667:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28845,"src":"48671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28847,"src":"48675:2:14","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":28851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48603:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48607:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48603:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48603:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48587:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48587:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28860,"nodeType":"ExpressionStatement","src":"48587:92:14"}]},"id":28862,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48508:3:14","nodeType":"FunctionDefinition","parameters":{"id":28848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28841,"mutability":"mutable","name":"p0","nameLocation":"48517:2:14","nodeType":"VariableDeclaration","scope":28862,"src":"48512:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28840,"name":"bool","nodeType":"ElementaryTypeName","src":"48512:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28843,"mutability":"mutable","name":"p1","nameLocation":"48535:2:14","nodeType":"VariableDeclaration","scope":28862,"src":"48521:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28842,"name":"string","nodeType":"ElementaryTypeName","src":"48521:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28845,"mutability":"mutable","name":"p2","nameLocation":"48547:2:14","nodeType":"VariableDeclaration","scope":28862,"src":"48539:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28844,"name":"uint256","nodeType":"ElementaryTypeName","src":"48539:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28847,"mutability":"mutable","name":"p3","nameLocation":"48559:2:14","nodeType":"VariableDeclaration","scope":28862,"src":"48551:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28846,"name":"address","nodeType":"ElementaryTypeName","src":"48551:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48511:51:14"},"returnParameters":{"id":28849,"nodeType":"ParameterList","parameters":[],"src":"48577:0:14"},"scope":31347,"src":"48499:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28884,"nodeType":"Block","src":"48776:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":28876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48826:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":28877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28864,"src":"48861:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28866,"src":"48865:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28868,"src":"48869:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28870,"src":"48873:2:14","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":28874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48802:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48806:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48802:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48802:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48786:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48786:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28883,"nodeType":"ExpressionStatement","src":"48786:91:14"}]},"id":28885,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48701:3:14","nodeType":"FunctionDefinition","parameters":{"id":28871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28864,"mutability":"mutable","name":"p0","nameLocation":"48710:2:14","nodeType":"VariableDeclaration","scope":28885,"src":"48705:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28863,"name":"bool","nodeType":"ElementaryTypeName","src":"48705:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28866,"mutability":"mutable","name":"p1","nameLocation":"48728:2:14","nodeType":"VariableDeclaration","scope":28885,"src":"48714:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28865,"name":"string","nodeType":"ElementaryTypeName","src":"48714:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28868,"mutability":"mutable","name":"p2","nameLocation":"48746:2:14","nodeType":"VariableDeclaration","scope":28885,"src":"48732:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28867,"name":"string","nodeType":"ElementaryTypeName","src":"48732:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28870,"mutability":"mutable","name":"p3","nameLocation":"48758:2:14","nodeType":"VariableDeclaration","scope":28885,"src":"48750:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28869,"name":"uint256","nodeType":"ElementaryTypeName","src":"48750:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48704:57:14"},"returnParameters":{"id":28872,"nodeType":"ParameterList","parameters":[],"src":"48776:0:14"},"scope":31347,"src":"48692:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28907,"nodeType":"Block","src":"48980:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":28899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49030:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":28900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28887,"src":"49064:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28889,"src":"49068:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"49072:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28893,"src":"49076:2:14","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":28897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49010:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49006:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"48990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48990:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28906,"nodeType":"ExpressionStatement","src":"48990:90:14"}]},"id":28908,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48899:3:14","nodeType":"FunctionDefinition","parameters":{"id":28894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28887,"mutability":"mutable","name":"p0","nameLocation":"48908:2:14","nodeType":"VariableDeclaration","scope":28908,"src":"48903:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28886,"name":"bool","nodeType":"ElementaryTypeName","src":"48903:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28889,"mutability":"mutable","name":"p1","nameLocation":"48926:2:14","nodeType":"VariableDeclaration","scope":28908,"src":"48912:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28888,"name":"string","nodeType":"ElementaryTypeName","src":"48912:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28891,"mutability":"mutable","name":"p2","nameLocation":"48944:2:14","nodeType":"VariableDeclaration","scope":28908,"src":"48930:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28890,"name":"string","nodeType":"ElementaryTypeName","src":"48930:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28893,"mutability":"mutable","name":"p3","nameLocation":"48962:2:14","nodeType":"VariableDeclaration","scope":28908,"src":"48948:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28892,"name":"string","nodeType":"ElementaryTypeName","src":"48948:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48902:63:14"},"returnParameters":{"id":28895,"nodeType":"ParameterList","parameters":[],"src":"48980:0:14"},"scope":31347,"src":"48890:197:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28930,"nodeType":"Block","src":"49174:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":28922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49224:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":28923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28910,"src":"49256:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28912,"src":"49260:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28914,"src":"49264:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28916,"src":"49268:2:14","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":28920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49200:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49204:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49200:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49200:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"49184:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49184:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28929,"nodeType":"ExpressionStatement","src":"49184:88:14"}]},"id":28931,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49102:3:14","nodeType":"FunctionDefinition","parameters":{"id":28917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28910,"mutability":"mutable","name":"p0","nameLocation":"49111:2:14","nodeType":"VariableDeclaration","scope":28931,"src":"49106:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28909,"name":"bool","nodeType":"ElementaryTypeName","src":"49106:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28912,"mutability":"mutable","name":"p1","nameLocation":"49129:2:14","nodeType":"VariableDeclaration","scope":28931,"src":"49115:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28911,"name":"string","nodeType":"ElementaryTypeName","src":"49115:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28914,"mutability":"mutable","name":"p2","nameLocation":"49147:2:14","nodeType":"VariableDeclaration","scope":28931,"src":"49133:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28913,"name":"string","nodeType":"ElementaryTypeName","src":"49133:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28916,"mutability":"mutable","name":"p3","nameLocation":"49156:2:14","nodeType":"VariableDeclaration","scope":28931,"src":"49151:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28915,"name":"bool","nodeType":"ElementaryTypeName","src":"49151:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49105:54:14"},"returnParameters":{"id":28918,"nodeType":"ParameterList","parameters":[],"src":"49174:0:14"},"scope":31347,"src":"49093:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28953,"nodeType":"Block","src":"49369:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":28945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49419:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":28946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28933,"src":"49454:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28935,"src":"49458:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28937,"src":"49462:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28939,"src":"49466:2:14","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":28943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49395:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49399:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49395:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49395:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"49379:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28952,"nodeType":"ExpressionStatement","src":"49379:91:14"}]},"id":28954,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49294:3:14","nodeType":"FunctionDefinition","parameters":{"id":28940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28933,"mutability":"mutable","name":"p0","nameLocation":"49303:2:14","nodeType":"VariableDeclaration","scope":28954,"src":"49298:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28932,"name":"bool","nodeType":"ElementaryTypeName","src":"49298:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28935,"mutability":"mutable","name":"p1","nameLocation":"49321:2:14","nodeType":"VariableDeclaration","scope":28954,"src":"49307:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28934,"name":"string","nodeType":"ElementaryTypeName","src":"49307:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28937,"mutability":"mutable","name":"p2","nameLocation":"49339:2:14","nodeType":"VariableDeclaration","scope":28954,"src":"49325:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28936,"name":"string","nodeType":"ElementaryTypeName","src":"49325:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28939,"mutability":"mutable","name":"p3","nameLocation":"49351:2:14","nodeType":"VariableDeclaration","scope":28954,"src":"49343:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28938,"name":"address","nodeType":"ElementaryTypeName","src":"49343:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49297:57:14"},"returnParameters":{"id":28941,"nodeType":"ParameterList","parameters":[],"src":"49369:0:14"},"scope":31347,"src":"49285:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28976,"nodeType":"Block","src":"49558:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":28968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49608:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":28969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28956,"src":"49641:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28958,"src":"49645:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28960,"src":"49649:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28962,"src":"49653:2:14","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":28966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49584:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49588:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49584:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49584:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"49568:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49568:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28975,"nodeType":"ExpressionStatement","src":"49568:89:14"}]},"id":28977,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49492:3:14","nodeType":"FunctionDefinition","parameters":{"id":28963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28956,"mutability":"mutable","name":"p0","nameLocation":"49501:2:14","nodeType":"VariableDeclaration","scope":28977,"src":"49496:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28955,"name":"bool","nodeType":"ElementaryTypeName","src":"49496:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28958,"mutability":"mutable","name":"p1","nameLocation":"49519:2:14","nodeType":"VariableDeclaration","scope":28977,"src":"49505:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28957,"name":"string","nodeType":"ElementaryTypeName","src":"49505:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28960,"mutability":"mutable","name":"p2","nameLocation":"49528:2:14","nodeType":"VariableDeclaration","scope":28977,"src":"49523:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28959,"name":"bool","nodeType":"ElementaryTypeName","src":"49523:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28962,"mutability":"mutable","name":"p3","nameLocation":"49540:2:14","nodeType":"VariableDeclaration","scope":28977,"src":"49532:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28961,"name":"uint256","nodeType":"ElementaryTypeName","src":"49532:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49495:48:14"},"returnParameters":{"id":28964,"nodeType":"ParameterList","parameters":[],"src":"49558:0:14"},"scope":31347,"src":"49483:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":28999,"nodeType":"Block","src":"49751:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":28991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49801:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":28992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28979,"src":"49833:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28981,"src":"49837:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28983,"src":"49841:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28985,"src":"49845:2:14","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":28989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49777:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49781:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49777:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49777:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"49761:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":28997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49761:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28998,"nodeType":"ExpressionStatement","src":"49761:88:14"}]},"id":29000,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49679:3:14","nodeType":"FunctionDefinition","parameters":{"id":28986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28979,"mutability":"mutable","name":"p0","nameLocation":"49688:2:14","nodeType":"VariableDeclaration","scope":29000,"src":"49683:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28978,"name":"bool","nodeType":"ElementaryTypeName","src":"49683:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28981,"mutability":"mutable","name":"p1","nameLocation":"49706:2:14","nodeType":"VariableDeclaration","scope":29000,"src":"49692:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28980,"name":"string","nodeType":"ElementaryTypeName","src":"49692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28983,"mutability":"mutable","name":"p2","nameLocation":"49715:2:14","nodeType":"VariableDeclaration","scope":29000,"src":"49710:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28982,"name":"bool","nodeType":"ElementaryTypeName","src":"49710:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28985,"mutability":"mutable","name":"p3","nameLocation":"49733:2:14","nodeType":"VariableDeclaration","scope":29000,"src":"49719:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28984,"name":"string","nodeType":"ElementaryTypeName","src":"49719:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49682:54:14"},"returnParameters":{"id":28987,"nodeType":"ParameterList","parameters":[],"src":"49751:0:14"},"scope":31347,"src":"49670:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29022,"nodeType":"Block","src":"49934:103:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":29014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49984:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":29015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29002,"src":"50014:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29004,"src":"50018:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29006,"src":"50022:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29008,"src":"50026:2:14","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":29012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49960:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49964:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49960:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49960:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"49944:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49944:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29021,"nodeType":"ExpressionStatement","src":"49944:86:14"}]},"id":29023,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49871:3:14","nodeType":"FunctionDefinition","parameters":{"id":29009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29002,"mutability":"mutable","name":"p0","nameLocation":"49880:2:14","nodeType":"VariableDeclaration","scope":29023,"src":"49875:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29001,"name":"bool","nodeType":"ElementaryTypeName","src":"49875:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29004,"mutability":"mutable","name":"p1","nameLocation":"49898:2:14","nodeType":"VariableDeclaration","scope":29023,"src":"49884:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29003,"name":"string","nodeType":"ElementaryTypeName","src":"49884:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29006,"mutability":"mutable","name":"p2","nameLocation":"49907:2:14","nodeType":"VariableDeclaration","scope":29023,"src":"49902:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29005,"name":"bool","nodeType":"ElementaryTypeName","src":"49902:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29008,"mutability":"mutable","name":"p3","nameLocation":"49916:2:14","nodeType":"VariableDeclaration","scope":29023,"src":"49911:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29007,"name":"bool","nodeType":"ElementaryTypeName","src":"49911:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49874:45:14"},"returnParameters":{"id":29010,"nodeType":"ParameterList","parameters":[],"src":"49934:0:14"},"scope":31347,"src":"49862:175:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29045,"nodeType":"Block","src":"50118:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":29037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50168:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":29038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29025,"src":"50201:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29027,"src":"50205:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29029,"src":"50209:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29031,"src":"50213:2:14","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":29035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50144:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50148:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50144:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50144:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"50128:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50128:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29044,"nodeType":"ExpressionStatement","src":"50128:89:14"}]},"id":29046,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50052:3:14","nodeType":"FunctionDefinition","parameters":{"id":29032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29025,"mutability":"mutable","name":"p0","nameLocation":"50061:2:14","nodeType":"VariableDeclaration","scope":29046,"src":"50056:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29024,"name":"bool","nodeType":"ElementaryTypeName","src":"50056:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29027,"mutability":"mutable","name":"p1","nameLocation":"50079:2:14","nodeType":"VariableDeclaration","scope":29046,"src":"50065:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29026,"name":"string","nodeType":"ElementaryTypeName","src":"50065:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29029,"mutability":"mutable","name":"p2","nameLocation":"50088:2:14","nodeType":"VariableDeclaration","scope":29046,"src":"50083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29028,"name":"bool","nodeType":"ElementaryTypeName","src":"50083:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29031,"mutability":"mutable","name":"p3","nameLocation":"50100:2:14","nodeType":"VariableDeclaration","scope":29046,"src":"50092:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29030,"name":"address","nodeType":"ElementaryTypeName","src":"50092:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50055:48:14"},"returnParameters":{"id":29033,"nodeType":"ParameterList","parameters":[],"src":"50118:0:14"},"scope":31347,"src":"50043:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29068,"nodeType":"Block","src":"50308:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":29060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50358:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":29061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29048,"src":"50394:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29050,"src":"50398:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29052,"src":"50402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29054,"src":"50406:2:14","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":29058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50334:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50338:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50334:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50334:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"50318:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50318:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29067,"nodeType":"ExpressionStatement","src":"50318:92:14"}]},"id":29069,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50239:3:14","nodeType":"FunctionDefinition","parameters":{"id":29055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29048,"mutability":"mutable","name":"p0","nameLocation":"50248:2:14","nodeType":"VariableDeclaration","scope":29069,"src":"50243:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29047,"name":"bool","nodeType":"ElementaryTypeName","src":"50243:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29050,"mutability":"mutable","name":"p1","nameLocation":"50266:2:14","nodeType":"VariableDeclaration","scope":29069,"src":"50252:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29049,"name":"string","nodeType":"ElementaryTypeName","src":"50252:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29052,"mutability":"mutable","name":"p2","nameLocation":"50278:2:14","nodeType":"VariableDeclaration","scope":29069,"src":"50270:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29051,"name":"address","nodeType":"ElementaryTypeName","src":"50270:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29054,"mutability":"mutable","name":"p3","nameLocation":"50290:2:14","nodeType":"VariableDeclaration","scope":29069,"src":"50282:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29053,"name":"uint256","nodeType":"ElementaryTypeName","src":"50282:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50242:51:14"},"returnParameters":{"id":29056,"nodeType":"ParameterList","parameters":[],"src":"50308:0:14"},"scope":31347,"src":"50230:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29091,"nodeType":"Block","src":"50507:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":29083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50557:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":29084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29071,"src":"50592:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29073,"src":"50596:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29075,"src":"50600:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29077,"src":"50604:2:14","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":29081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50533:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50537:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50533:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50533:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"50517:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50517:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29090,"nodeType":"ExpressionStatement","src":"50517:91:14"}]},"id":29092,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50432:3:14","nodeType":"FunctionDefinition","parameters":{"id":29078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29071,"mutability":"mutable","name":"p0","nameLocation":"50441:2:14","nodeType":"VariableDeclaration","scope":29092,"src":"50436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29070,"name":"bool","nodeType":"ElementaryTypeName","src":"50436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29073,"mutability":"mutable","name":"p1","nameLocation":"50459:2:14","nodeType":"VariableDeclaration","scope":29092,"src":"50445:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29072,"name":"string","nodeType":"ElementaryTypeName","src":"50445:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29075,"mutability":"mutable","name":"p2","nameLocation":"50471:2:14","nodeType":"VariableDeclaration","scope":29092,"src":"50463:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29074,"name":"address","nodeType":"ElementaryTypeName","src":"50463:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29077,"mutability":"mutable","name":"p3","nameLocation":"50489:2:14","nodeType":"VariableDeclaration","scope":29092,"src":"50475:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29076,"name":"string","nodeType":"ElementaryTypeName","src":"50475:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50435:57:14"},"returnParameters":{"id":29079,"nodeType":"ParameterList","parameters":[],"src":"50507:0:14"},"scope":31347,"src":"50423:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29114,"nodeType":"Block","src":"50696:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":29106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50746:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":29107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29094,"src":"50779:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29096,"src":"50783:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29098,"src":"50787:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29100,"src":"50791:2:14","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":29104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50722:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50726:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50722:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50722:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"50706:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50706:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29113,"nodeType":"ExpressionStatement","src":"50706:89:14"}]},"id":29115,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50630:3:14","nodeType":"FunctionDefinition","parameters":{"id":29101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29094,"mutability":"mutable","name":"p0","nameLocation":"50639:2:14","nodeType":"VariableDeclaration","scope":29115,"src":"50634:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29093,"name":"bool","nodeType":"ElementaryTypeName","src":"50634:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29096,"mutability":"mutable","name":"p1","nameLocation":"50657:2:14","nodeType":"VariableDeclaration","scope":29115,"src":"50643:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29095,"name":"string","nodeType":"ElementaryTypeName","src":"50643:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29098,"mutability":"mutable","name":"p2","nameLocation":"50669:2:14","nodeType":"VariableDeclaration","scope":29115,"src":"50661:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29097,"name":"address","nodeType":"ElementaryTypeName","src":"50661:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29100,"mutability":"mutable","name":"p3","nameLocation":"50678:2:14","nodeType":"VariableDeclaration","scope":29115,"src":"50673:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29099,"name":"bool","nodeType":"ElementaryTypeName","src":"50673:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50633:48:14"},"returnParameters":{"id":29102,"nodeType":"ParameterList","parameters":[],"src":"50696:0:14"},"scope":31347,"src":"50621:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29137,"nodeType":"Block","src":"50886:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":29129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50936:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":29130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29117,"src":"50972:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29119,"src":"50976:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29121,"src":"50980:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29123,"src":"50984:2:14","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":29127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50912:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50916:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50912:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50912:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"50896:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50896:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29136,"nodeType":"ExpressionStatement","src":"50896:92:14"}]},"id":29138,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50817:3:14","nodeType":"FunctionDefinition","parameters":{"id":29124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29117,"mutability":"mutable","name":"p0","nameLocation":"50826:2:14","nodeType":"VariableDeclaration","scope":29138,"src":"50821:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29116,"name":"bool","nodeType":"ElementaryTypeName","src":"50821:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29119,"mutability":"mutable","name":"p1","nameLocation":"50844:2:14","nodeType":"VariableDeclaration","scope":29138,"src":"50830:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29118,"name":"string","nodeType":"ElementaryTypeName","src":"50830:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29121,"mutability":"mutable","name":"p2","nameLocation":"50856:2:14","nodeType":"VariableDeclaration","scope":29138,"src":"50848:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29120,"name":"address","nodeType":"ElementaryTypeName","src":"50848:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29123,"mutability":"mutable","name":"p3","nameLocation":"50868:2:14","nodeType":"VariableDeclaration","scope":29138,"src":"50860:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29122,"name":"address","nodeType":"ElementaryTypeName","src":"50860:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50820:51:14"},"returnParameters":{"id":29125,"nodeType":"ParameterList","parameters":[],"src":"50886:0:14"},"scope":31347,"src":"50808:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29160,"nodeType":"Block","src":"51070:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":29152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51120:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":29153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29140,"src":"51154:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29142,"src":"51158:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29144,"src":"51162:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29146,"src":"51166:2:14","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":29150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51096:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51100:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51096:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51096:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"51080:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51080:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29159,"nodeType":"ExpressionStatement","src":"51080:90:14"}]},"id":29161,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51010:3:14","nodeType":"FunctionDefinition","parameters":{"id":29147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29140,"mutability":"mutable","name":"p0","nameLocation":"51019:2:14","nodeType":"VariableDeclaration","scope":29161,"src":"51014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29139,"name":"bool","nodeType":"ElementaryTypeName","src":"51014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29142,"mutability":"mutable","name":"p1","nameLocation":"51028:2:14","nodeType":"VariableDeclaration","scope":29161,"src":"51023:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29141,"name":"bool","nodeType":"ElementaryTypeName","src":"51023:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29144,"mutability":"mutable","name":"p2","nameLocation":"51040:2:14","nodeType":"VariableDeclaration","scope":29161,"src":"51032:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29143,"name":"uint256","nodeType":"ElementaryTypeName","src":"51032:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29146,"mutability":"mutable","name":"p3","nameLocation":"51052:2:14","nodeType":"VariableDeclaration","scope":29161,"src":"51044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29145,"name":"uint256","nodeType":"ElementaryTypeName","src":"51044:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51013:42:14"},"returnParameters":{"id":29148,"nodeType":"ParameterList","parameters":[],"src":"51070:0:14"},"scope":31347,"src":"51001:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29183,"nodeType":"Block","src":"51258:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":29175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51308:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":29176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29163,"src":"51341:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29165,"src":"51345:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29167,"src":"51349:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29169,"src":"51353:2:14","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":29173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51284:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51288:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51284:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51284:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"51268:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51268:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29182,"nodeType":"ExpressionStatement","src":"51268:89:14"}]},"id":29184,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51192:3:14","nodeType":"FunctionDefinition","parameters":{"id":29170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29163,"mutability":"mutable","name":"p0","nameLocation":"51201:2:14","nodeType":"VariableDeclaration","scope":29184,"src":"51196:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29162,"name":"bool","nodeType":"ElementaryTypeName","src":"51196:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29165,"mutability":"mutable","name":"p1","nameLocation":"51210:2:14","nodeType":"VariableDeclaration","scope":29184,"src":"51205:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29164,"name":"bool","nodeType":"ElementaryTypeName","src":"51205:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29167,"mutability":"mutable","name":"p2","nameLocation":"51222:2:14","nodeType":"VariableDeclaration","scope":29184,"src":"51214:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29166,"name":"uint256","nodeType":"ElementaryTypeName","src":"51214:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29169,"mutability":"mutable","name":"p3","nameLocation":"51240:2:14","nodeType":"VariableDeclaration","scope":29184,"src":"51226:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29168,"name":"string","nodeType":"ElementaryTypeName","src":"51226:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51195:48:14"},"returnParameters":{"id":29171,"nodeType":"ParameterList","parameters":[],"src":"51258:0:14"},"scope":31347,"src":"51183:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29206,"nodeType":"Block","src":"51436:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":29198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51486:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":29199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"51517:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29188,"src":"51521:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29190,"src":"51525:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29192,"src":"51529:2:14","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":29196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51462:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51466:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51462:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51462:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"51446:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51446:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29205,"nodeType":"ExpressionStatement","src":"51446:87:14"}]},"id":29207,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51379:3:14","nodeType":"FunctionDefinition","parameters":{"id":29193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29186,"mutability":"mutable","name":"p0","nameLocation":"51388:2:14","nodeType":"VariableDeclaration","scope":29207,"src":"51383:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29185,"name":"bool","nodeType":"ElementaryTypeName","src":"51383:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29188,"mutability":"mutable","name":"p1","nameLocation":"51397:2:14","nodeType":"VariableDeclaration","scope":29207,"src":"51392:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29187,"name":"bool","nodeType":"ElementaryTypeName","src":"51392:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29190,"mutability":"mutable","name":"p2","nameLocation":"51409:2:14","nodeType":"VariableDeclaration","scope":29207,"src":"51401:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29189,"name":"uint256","nodeType":"ElementaryTypeName","src":"51401:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29192,"mutability":"mutable","name":"p3","nameLocation":"51418:2:14","nodeType":"VariableDeclaration","scope":29207,"src":"51413:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29191,"name":"bool","nodeType":"ElementaryTypeName","src":"51413:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51382:39:14"},"returnParameters":{"id":29194,"nodeType":"ParameterList","parameters":[],"src":"51436:0:14"},"scope":31347,"src":"51370:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29229,"nodeType":"Block","src":"51615:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":29221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51665:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":29222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29209,"src":"51699:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29211,"src":"51703:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29213,"src":"51707:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29215,"src":"51711:2:14","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":29219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51641:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51645:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51641:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51641:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"51625:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51625:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29228,"nodeType":"ExpressionStatement","src":"51625:90:14"}]},"id":29230,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51555:3:14","nodeType":"FunctionDefinition","parameters":{"id":29216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29209,"mutability":"mutable","name":"p0","nameLocation":"51564:2:14","nodeType":"VariableDeclaration","scope":29230,"src":"51559:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29208,"name":"bool","nodeType":"ElementaryTypeName","src":"51559:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29211,"mutability":"mutable","name":"p1","nameLocation":"51573:2:14","nodeType":"VariableDeclaration","scope":29230,"src":"51568:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29210,"name":"bool","nodeType":"ElementaryTypeName","src":"51568:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29213,"mutability":"mutable","name":"p2","nameLocation":"51585:2:14","nodeType":"VariableDeclaration","scope":29230,"src":"51577:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29212,"name":"uint256","nodeType":"ElementaryTypeName","src":"51577:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29215,"mutability":"mutable","name":"p3","nameLocation":"51597:2:14","nodeType":"VariableDeclaration","scope":29230,"src":"51589:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29214,"name":"address","nodeType":"ElementaryTypeName","src":"51589:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51558:42:14"},"returnParameters":{"id":29217,"nodeType":"ParameterList","parameters":[],"src":"51615:0:14"},"scope":31347,"src":"51546:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29252,"nodeType":"Block","src":"51803:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":29244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51853:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":29245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29232,"src":"51886:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29234,"src":"51890:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29236,"src":"51894:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29238,"src":"51898:2:14","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":29242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51829:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51833:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51829:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51829:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"51813:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51813:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29251,"nodeType":"ExpressionStatement","src":"51813:89:14"}]},"id":29253,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51737:3:14","nodeType":"FunctionDefinition","parameters":{"id":29239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29232,"mutability":"mutable","name":"p0","nameLocation":"51746:2:14","nodeType":"VariableDeclaration","scope":29253,"src":"51741:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29231,"name":"bool","nodeType":"ElementaryTypeName","src":"51741:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29234,"mutability":"mutable","name":"p1","nameLocation":"51755:2:14","nodeType":"VariableDeclaration","scope":29253,"src":"51750:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29233,"name":"bool","nodeType":"ElementaryTypeName","src":"51750:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29236,"mutability":"mutable","name":"p2","nameLocation":"51773:2:14","nodeType":"VariableDeclaration","scope":29253,"src":"51759:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29235,"name":"string","nodeType":"ElementaryTypeName","src":"51759:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29238,"mutability":"mutable","name":"p3","nameLocation":"51785:2:14","nodeType":"VariableDeclaration","scope":29253,"src":"51777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29237,"name":"uint256","nodeType":"ElementaryTypeName","src":"51777:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51740:48:14"},"returnParameters":{"id":29240,"nodeType":"ParameterList","parameters":[],"src":"51803:0:14"},"scope":31347,"src":"51728:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29275,"nodeType":"Block","src":"51996:105:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":29267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52046:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":29268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29255,"src":"52078:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29257,"src":"52082:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29259,"src":"52086:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29261,"src":"52090:2:14","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":29265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52022:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52026:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52022:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52022:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52006:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52006:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29274,"nodeType":"ExpressionStatement","src":"52006:88:14"}]},"id":29276,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51924:3:14","nodeType":"FunctionDefinition","parameters":{"id":29262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29255,"mutability":"mutable","name":"p0","nameLocation":"51933:2:14","nodeType":"VariableDeclaration","scope":29276,"src":"51928:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29254,"name":"bool","nodeType":"ElementaryTypeName","src":"51928:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29257,"mutability":"mutable","name":"p1","nameLocation":"51942:2:14","nodeType":"VariableDeclaration","scope":29276,"src":"51937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29256,"name":"bool","nodeType":"ElementaryTypeName","src":"51937:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29259,"mutability":"mutable","name":"p2","nameLocation":"51960:2:14","nodeType":"VariableDeclaration","scope":29276,"src":"51946:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29258,"name":"string","nodeType":"ElementaryTypeName","src":"51946:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29261,"mutability":"mutable","name":"p3","nameLocation":"51978:2:14","nodeType":"VariableDeclaration","scope":29276,"src":"51964:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29260,"name":"string","nodeType":"ElementaryTypeName","src":"51964:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51927:54:14"},"returnParameters":{"id":29263,"nodeType":"ParameterList","parameters":[],"src":"51996:0:14"},"scope":31347,"src":"51915:186:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29298,"nodeType":"Block","src":"52179:103:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":29290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52229:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":29291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29278,"src":"52259:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29280,"src":"52263:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29282,"src":"52267:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29284,"src":"52271:2:14","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":29288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52205:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52209:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52205:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52205:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52189:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52189:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29297,"nodeType":"ExpressionStatement","src":"52189:86:14"}]},"id":29299,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52116:3:14","nodeType":"FunctionDefinition","parameters":{"id":29285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29278,"mutability":"mutable","name":"p0","nameLocation":"52125:2:14","nodeType":"VariableDeclaration","scope":29299,"src":"52120:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29277,"name":"bool","nodeType":"ElementaryTypeName","src":"52120:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29280,"mutability":"mutable","name":"p1","nameLocation":"52134:2:14","nodeType":"VariableDeclaration","scope":29299,"src":"52129:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29279,"name":"bool","nodeType":"ElementaryTypeName","src":"52129:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29282,"mutability":"mutable","name":"p2","nameLocation":"52152:2:14","nodeType":"VariableDeclaration","scope":29299,"src":"52138:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29281,"name":"string","nodeType":"ElementaryTypeName","src":"52138:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29284,"mutability":"mutable","name":"p3","nameLocation":"52161:2:14","nodeType":"VariableDeclaration","scope":29299,"src":"52156:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29283,"name":"bool","nodeType":"ElementaryTypeName","src":"52156:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52119:45:14"},"returnParameters":{"id":29286,"nodeType":"ParameterList","parameters":[],"src":"52179:0:14"},"scope":31347,"src":"52107:175:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29321,"nodeType":"Block","src":"52363:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":29313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52413:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":29314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29301,"src":"52446:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29303,"src":"52450:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29305,"src":"52454:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29307,"src":"52458:2:14","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":29311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52389:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52393:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52389:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52389:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52373:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52373:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29320,"nodeType":"ExpressionStatement","src":"52373:89:14"}]},"id":29322,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52297:3:14","nodeType":"FunctionDefinition","parameters":{"id":29308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29301,"mutability":"mutable","name":"p0","nameLocation":"52306:2:14","nodeType":"VariableDeclaration","scope":29322,"src":"52301:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29300,"name":"bool","nodeType":"ElementaryTypeName","src":"52301:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29303,"mutability":"mutable","name":"p1","nameLocation":"52315:2:14","nodeType":"VariableDeclaration","scope":29322,"src":"52310:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29302,"name":"bool","nodeType":"ElementaryTypeName","src":"52310:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29305,"mutability":"mutable","name":"p2","nameLocation":"52333:2:14","nodeType":"VariableDeclaration","scope":29322,"src":"52319:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29304,"name":"string","nodeType":"ElementaryTypeName","src":"52319:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29307,"mutability":"mutable","name":"p3","nameLocation":"52345:2:14","nodeType":"VariableDeclaration","scope":29322,"src":"52337:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29306,"name":"address","nodeType":"ElementaryTypeName","src":"52337:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52300:48:14"},"returnParameters":{"id":29309,"nodeType":"ParameterList","parameters":[],"src":"52363:0:14"},"scope":31347,"src":"52288:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29344,"nodeType":"Block","src":"52541:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":29336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52591:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":29337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29324,"src":"52622:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29326,"src":"52626:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29328,"src":"52630:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29330,"src":"52634:2:14","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":29334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52567:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52571:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52567:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52567:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52551:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52551:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29343,"nodeType":"ExpressionStatement","src":"52551:87:14"}]},"id":29345,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52484:3:14","nodeType":"FunctionDefinition","parameters":{"id":29331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29324,"mutability":"mutable","name":"p0","nameLocation":"52493:2:14","nodeType":"VariableDeclaration","scope":29345,"src":"52488:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29323,"name":"bool","nodeType":"ElementaryTypeName","src":"52488:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29326,"mutability":"mutable","name":"p1","nameLocation":"52502:2:14","nodeType":"VariableDeclaration","scope":29345,"src":"52497:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29325,"name":"bool","nodeType":"ElementaryTypeName","src":"52497:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29328,"mutability":"mutable","name":"p2","nameLocation":"52511:2:14","nodeType":"VariableDeclaration","scope":29345,"src":"52506:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29327,"name":"bool","nodeType":"ElementaryTypeName","src":"52506:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29330,"mutability":"mutable","name":"p3","nameLocation":"52523:2:14","nodeType":"VariableDeclaration","scope":29345,"src":"52515:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29329,"name":"uint256","nodeType":"ElementaryTypeName","src":"52515:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52487:39:14"},"returnParameters":{"id":29332,"nodeType":"ParameterList","parameters":[],"src":"52541:0:14"},"scope":31347,"src":"52475:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29367,"nodeType":"Block","src":"52723:103:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":29359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52773:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":29360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29347,"src":"52803:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29349,"src":"52807:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29351,"src":"52811:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29353,"src":"52815:2:14","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":29357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52749:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52753:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52749:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52749:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52733:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52733:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29366,"nodeType":"ExpressionStatement","src":"52733:86:14"}]},"id":29368,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52660:3:14","nodeType":"FunctionDefinition","parameters":{"id":29354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29347,"mutability":"mutable","name":"p0","nameLocation":"52669:2:14","nodeType":"VariableDeclaration","scope":29368,"src":"52664:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29346,"name":"bool","nodeType":"ElementaryTypeName","src":"52664:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29349,"mutability":"mutable","name":"p1","nameLocation":"52678:2:14","nodeType":"VariableDeclaration","scope":29368,"src":"52673:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29348,"name":"bool","nodeType":"ElementaryTypeName","src":"52673:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29351,"mutability":"mutable","name":"p2","nameLocation":"52687:2:14","nodeType":"VariableDeclaration","scope":29368,"src":"52682:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29350,"name":"bool","nodeType":"ElementaryTypeName","src":"52682:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29353,"mutability":"mutable","name":"p3","nameLocation":"52705:2:14","nodeType":"VariableDeclaration","scope":29368,"src":"52691:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29352,"name":"string","nodeType":"ElementaryTypeName","src":"52691:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52663:45:14"},"returnParameters":{"id":29355,"nodeType":"ParameterList","parameters":[],"src":"52723:0:14"},"scope":31347,"src":"52651:175:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29390,"nodeType":"Block","src":"52895:101:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":29382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52945:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":29383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29370,"src":"52973:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29372,"src":"52977:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29374,"src":"52981:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29376,"src":"52985:2:14","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":29380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52921:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52925:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52921:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52921:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"52905:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52905:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29389,"nodeType":"ExpressionStatement","src":"52905:84:14"}]},"id":29391,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52841:3:14","nodeType":"FunctionDefinition","parameters":{"id":29377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29370,"mutability":"mutable","name":"p0","nameLocation":"52850:2:14","nodeType":"VariableDeclaration","scope":29391,"src":"52845:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29369,"name":"bool","nodeType":"ElementaryTypeName","src":"52845:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29372,"mutability":"mutable","name":"p1","nameLocation":"52859:2:14","nodeType":"VariableDeclaration","scope":29391,"src":"52854:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29371,"name":"bool","nodeType":"ElementaryTypeName","src":"52854:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29374,"mutability":"mutable","name":"p2","nameLocation":"52868:2:14","nodeType":"VariableDeclaration","scope":29391,"src":"52863:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29373,"name":"bool","nodeType":"ElementaryTypeName","src":"52863:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29376,"mutability":"mutable","name":"p3","nameLocation":"52877:2:14","nodeType":"VariableDeclaration","scope":29391,"src":"52872:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29375,"name":"bool","nodeType":"ElementaryTypeName","src":"52872:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52844:36:14"},"returnParameters":{"id":29378,"nodeType":"ParameterList","parameters":[],"src":"52895:0:14"},"scope":31347,"src":"52832:164:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29413,"nodeType":"Block","src":"53068:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":29405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53118:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":29406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29393,"src":"53149:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29395,"src":"53153:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29397,"src":"53157:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29399,"src":"53161:2:14","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":29403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53094:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53098:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53094:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53094:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53078:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53078:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29412,"nodeType":"ExpressionStatement","src":"53078:87:14"}]},"id":29414,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53011:3:14","nodeType":"FunctionDefinition","parameters":{"id":29400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29393,"mutability":"mutable","name":"p0","nameLocation":"53020:2:14","nodeType":"VariableDeclaration","scope":29414,"src":"53015:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29392,"name":"bool","nodeType":"ElementaryTypeName","src":"53015:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29395,"mutability":"mutable","name":"p1","nameLocation":"53029:2:14","nodeType":"VariableDeclaration","scope":29414,"src":"53024:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29394,"name":"bool","nodeType":"ElementaryTypeName","src":"53024:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29397,"mutability":"mutable","name":"p2","nameLocation":"53038:2:14","nodeType":"VariableDeclaration","scope":29414,"src":"53033:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29396,"name":"bool","nodeType":"ElementaryTypeName","src":"53033:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29399,"mutability":"mutable","name":"p3","nameLocation":"53050:2:14","nodeType":"VariableDeclaration","scope":29414,"src":"53042:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29398,"name":"address","nodeType":"ElementaryTypeName","src":"53042:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53014:39:14"},"returnParameters":{"id":29401,"nodeType":"ParameterList","parameters":[],"src":"53068:0:14"},"scope":31347,"src":"53002:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29436,"nodeType":"Block","src":"53247:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":29428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53297:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":29429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29416,"src":"53331:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29418,"src":"53335:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29420,"src":"53339:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29422,"src":"53343:2:14","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":29426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53273:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53277:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53273:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53273:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53257:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53257:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29435,"nodeType":"ExpressionStatement","src":"53257:90:14"}]},"id":29437,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53187:3:14","nodeType":"FunctionDefinition","parameters":{"id":29423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29416,"mutability":"mutable","name":"p0","nameLocation":"53196:2:14","nodeType":"VariableDeclaration","scope":29437,"src":"53191:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29415,"name":"bool","nodeType":"ElementaryTypeName","src":"53191:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29418,"mutability":"mutable","name":"p1","nameLocation":"53205:2:14","nodeType":"VariableDeclaration","scope":29437,"src":"53200:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29417,"name":"bool","nodeType":"ElementaryTypeName","src":"53200:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29420,"mutability":"mutable","name":"p2","nameLocation":"53217:2:14","nodeType":"VariableDeclaration","scope":29437,"src":"53209:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29419,"name":"address","nodeType":"ElementaryTypeName","src":"53209:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29422,"mutability":"mutable","name":"p3","nameLocation":"53229:2:14","nodeType":"VariableDeclaration","scope":29437,"src":"53221:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29421,"name":"uint256","nodeType":"ElementaryTypeName","src":"53221:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53190:42:14"},"returnParameters":{"id":29424,"nodeType":"ParameterList","parameters":[],"src":"53247:0:14"},"scope":31347,"src":"53178:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29459,"nodeType":"Block","src":"53435:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":29451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53485:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":29452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"53518:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29441,"src":"53522:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29443,"src":"53526:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29445,"src":"53530:2:14","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":29449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53461:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53465:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53461:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53461:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53445:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29458,"nodeType":"ExpressionStatement","src":"53445:89:14"}]},"id":29460,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53369:3:14","nodeType":"FunctionDefinition","parameters":{"id":29446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29439,"mutability":"mutable","name":"p0","nameLocation":"53378:2:14","nodeType":"VariableDeclaration","scope":29460,"src":"53373:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29438,"name":"bool","nodeType":"ElementaryTypeName","src":"53373:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29441,"mutability":"mutable","name":"p1","nameLocation":"53387:2:14","nodeType":"VariableDeclaration","scope":29460,"src":"53382:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29440,"name":"bool","nodeType":"ElementaryTypeName","src":"53382:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29443,"mutability":"mutable","name":"p2","nameLocation":"53399:2:14","nodeType":"VariableDeclaration","scope":29460,"src":"53391:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29442,"name":"address","nodeType":"ElementaryTypeName","src":"53391:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29445,"mutability":"mutable","name":"p3","nameLocation":"53417:2:14","nodeType":"VariableDeclaration","scope":29460,"src":"53403:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29444,"name":"string","nodeType":"ElementaryTypeName","src":"53403:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53372:48:14"},"returnParameters":{"id":29447,"nodeType":"ParameterList","parameters":[],"src":"53435:0:14"},"scope":31347,"src":"53360:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29482,"nodeType":"Block","src":"53613:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":29474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53663:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":29475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29462,"src":"53694:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29464,"src":"53698:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29466,"src":"53702:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29468,"src":"53706:2:14","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":29472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53639:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53643:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53639:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53639:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53623:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53623:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29481,"nodeType":"ExpressionStatement","src":"53623:87:14"}]},"id":29483,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53556:3:14","nodeType":"FunctionDefinition","parameters":{"id":29469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29462,"mutability":"mutable","name":"p0","nameLocation":"53565:2:14","nodeType":"VariableDeclaration","scope":29483,"src":"53560:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29461,"name":"bool","nodeType":"ElementaryTypeName","src":"53560:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29464,"mutability":"mutable","name":"p1","nameLocation":"53574:2:14","nodeType":"VariableDeclaration","scope":29483,"src":"53569:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29463,"name":"bool","nodeType":"ElementaryTypeName","src":"53569:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29466,"mutability":"mutable","name":"p2","nameLocation":"53586:2:14","nodeType":"VariableDeclaration","scope":29483,"src":"53578:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29465,"name":"address","nodeType":"ElementaryTypeName","src":"53578:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29468,"mutability":"mutable","name":"p3","nameLocation":"53595:2:14","nodeType":"VariableDeclaration","scope":29483,"src":"53590:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29467,"name":"bool","nodeType":"ElementaryTypeName","src":"53590:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53559:39:14"},"returnParameters":{"id":29470,"nodeType":"ParameterList","parameters":[],"src":"53613:0:14"},"scope":31347,"src":"53547:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29505,"nodeType":"Block","src":"53792:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":29497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53842:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":29498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29485,"src":"53876:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29487,"src":"53880:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29489,"src":"53884:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29491,"src":"53888:2:14","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":29495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53818:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53822:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53818:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53818:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53802:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53802:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29504,"nodeType":"ExpressionStatement","src":"53802:90:14"}]},"id":29506,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53732:3:14","nodeType":"FunctionDefinition","parameters":{"id":29492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29485,"mutability":"mutable","name":"p0","nameLocation":"53741:2:14","nodeType":"VariableDeclaration","scope":29506,"src":"53736:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29484,"name":"bool","nodeType":"ElementaryTypeName","src":"53736:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29487,"mutability":"mutable","name":"p1","nameLocation":"53750:2:14","nodeType":"VariableDeclaration","scope":29506,"src":"53745:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29486,"name":"bool","nodeType":"ElementaryTypeName","src":"53745:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29489,"mutability":"mutable","name":"p2","nameLocation":"53762:2:14","nodeType":"VariableDeclaration","scope":29506,"src":"53754:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29488,"name":"address","nodeType":"ElementaryTypeName","src":"53754:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29491,"mutability":"mutable","name":"p3","nameLocation":"53774:2:14","nodeType":"VariableDeclaration","scope":29506,"src":"53766:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29490,"name":"address","nodeType":"ElementaryTypeName","src":"53766:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53735:42:14"},"returnParameters":{"id":29493,"nodeType":"ParameterList","parameters":[],"src":"53792:0:14"},"scope":31347,"src":"53723:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29528,"nodeType":"Block","src":"53977:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":29520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54027:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":29521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29508,"src":"54064:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29510,"src":"54068:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29512,"src":"54072:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29514,"src":"54076:2:14","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":29518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54003:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54007:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54003:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54003:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"53987:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53987:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29527,"nodeType":"ExpressionStatement","src":"53987:93:14"}]},"id":29529,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53914:3:14","nodeType":"FunctionDefinition","parameters":{"id":29515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29508,"mutability":"mutable","name":"p0","nameLocation":"53923:2:14","nodeType":"VariableDeclaration","scope":29529,"src":"53918:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29507,"name":"bool","nodeType":"ElementaryTypeName","src":"53918:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29510,"mutability":"mutable","name":"p1","nameLocation":"53935:2:14","nodeType":"VariableDeclaration","scope":29529,"src":"53927:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29509,"name":"address","nodeType":"ElementaryTypeName","src":"53927:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29512,"mutability":"mutable","name":"p2","nameLocation":"53947:2:14","nodeType":"VariableDeclaration","scope":29529,"src":"53939:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29511,"name":"uint256","nodeType":"ElementaryTypeName","src":"53939:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29514,"mutability":"mutable","name":"p3","nameLocation":"53959:2:14","nodeType":"VariableDeclaration","scope":29529,"src":"53951:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29513,"name":"uint256","nodeType":"ElementaryTypeName","src":"53951:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53917:45:14"},"returnParameters":{"id":29516,"nodeType":"ParameterList","parameters":[],"src":"53977:0:14"},"scope":31347,"src":"53905:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29551,"nodeType":"Block","src":"54171:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":29543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54221:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":29544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29531,"src":"54257:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29533,"src":"54261:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29535,"src":"54265:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29537,"src":"54269:2:14","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":29541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54197:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54201:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54197:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54197:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"54181:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54181:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29550,"nodeType":"ExpressionStatement","src":"54181:92:14"}]},"id":29552,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54102:3:14","nodeType":"FunctionDefinition","parameters":{"id":29538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29531,"mutability":"mutable","name":"p0","nameLocation":"54111:2:14","nodeType":"VariableDeclaration","scope":29552,"src":"54106:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29530,"name":"bool","nodeType":"ElementaryTypeName","src":"54106:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29533,"mutability":"mutable","name":"p1","nameLocation":"54123:2:14","nodeType":"VariableDeclaration","scope":29552,"src":"54115:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29532,"name":"address","nodeType":"ElementaryTypeName","src":"54115:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29535,"mutability":"mutable","name":"p2","nameLocation":"54135:2:14","nodeType":"VariableDeclaration","scope":29552,"src":"54127:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29534,"name":"uint256","nodeType":"ElementaryTypeName","src":"54127:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29537,"mutability":"mutable","name":"p3","nameLocation":"54153:2:14","nodeType":"VariableDeclaration","scope":29552,"src":"54139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29536,"name":"string","nodeType":"ElementaryTypeName","src":"54139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54105:51:14"},"returnParameters":{"id":29539,"nodeType":"ParameterList","parameters":[],"src":"54171:0:14"},"scope":31347,"src":"54093:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29574,"nodeType":"Block","src":"54355:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":29566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54405:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":29567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29554,"src":"54439:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29556,"src":"54443:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29558,"src":"54447:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29560,"src":"54451:2:14","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":29564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54381:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54385:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54381:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54381:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"54365:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54365:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29573,"nodeType":"ExpressionStatement","src":"54365:90:14"}]},"id":29575,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54295:3:14","nodeType":"FunctionDefinition","parameters":{"id":29561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29554,"mutability":"mutable","name":"p0","nameLocation":"54304:2:14","nodeType":"VariableDeclaration","scope":29575,"src":"54299:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29553,"name":"bool","nodeType":"ElementaryTypeName","src":"54299:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29556,"mutability":"mutable","name":"p1","nameLocation":"54316:2:14","nodeType":"VariableDeclaration","scope":29575,"src":"54308:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29555,"name":"address","nodeType":"ElementaryTypeName","src":"54308:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29558,"mutability":"mutable","name":"p2","nameLocation":"54328:2:14","nodeType":"VariableDeclaration","scope":29575,"src":"54320:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29557,"name":"uint256","nodeType":"ElementaryTypeName","src":"54320:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29560,"mutability":"mutable","name":"p3","nameLocation":"54337:2:14","nodeType":"VariableDeclaration","scope":29575,"src":"54332:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29559,"name":"bool","nodeType":"ElementaryTypeName","src":"54332:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54298:42:14"},"returnParameters":{"id":29562,"nodeType":"ParameterList","parameters":[],"src":"54355:0:14"},"scope":31347,"src":"54286:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29597,"nodeType":"Block","src":"54540:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":29589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54590:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":29590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29577,"src":"54627:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29579,"src":"54631:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29581,"src":"54635:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29583,"src":"54639:2:14","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":29587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54566:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54570:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54566:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54566:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"54550:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54550:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29596,"nodeType":"ExpressionStatement","src":"54550:93:14"}]},"id":29598,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54477:3:14","nodeType":"FunctionDefinition","parameters":{"id":29584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29577,"mutability":"mutable","name":"p0","nameLocation":"54486:2:14","nodeType":"VariableDeclaration","scope":29598,"src":"54481:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29576,"name":"bool","nodeType":"ElementaryTypeName","src":"54481:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29579,"mutability":"mutable","name":"p1","nameLocation":"54498:2:14","nodeType":"VariableDeclaration","scope":29598,"src":"54490:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29578,"name":"address","nodeType":"ElementaryTypeName","src":"54490:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29581,"mutability":"mutable","name":"p2","nameLocation":"54510:2:14","nodeType":"VariableDeclaration","scope":29598,"src":"54502:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29580,"name":"uint256","nodeType":"ElementaryTypeName","src":"54502:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29583,"mutability":"mutable","name":"p3","nameLocation":"54522:2:14","nodeType":"VariableDeclaration","scope":29598,"src":"54514:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29582,"name":"address","nodeType":"ElementaryTypeName","src":"54514:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54480:45:14"},"returnParameters":{"id":29585,"nodeType":"ParameterList","parameters":[],"src":"54540:0:14"},"scope":31347,"src":"54468:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29620,"nodeType":"Block","src":"54734:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":29612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54784:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":29613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29600,"src":"54820:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29602,"src":"54824:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29604,"src":"54828:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29606,"src":"54832:2:14","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":29610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54760:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54764:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54760:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54760:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"54744:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54744:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29619,"nodeType":"ExpressionStatement","src":"54744:92:14"}]},"id":29621,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54665:3:14","nodeType":"FunctionDefinition","parameters":{"id":29607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29600,"mutability":"mutable","name":"p0","nameLocation":"54674:2:14","nodeType":"VariableDeclaration","scope":29621,"src":"54669:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29599,"name":"bool","nodeType":"ElementaryTypeName","src":"54669:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29602,"mutability":"mutable","name":"p1","nameLocation":"54686:2:14","nodeType":"VariableDeclaration","scope":29621,"src":"54678:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29601,"name":"address","nodeType":"ElementaryTypeName","src":"54678:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29604,"mutability":"mutable","name":"p2","nameLocation":"54704:2:14","nodeType":"VariableDeclaration","scope":29621,"src":"54690:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29603,"name":"string","nodeType":"ElementaryTypeName","src":"54690:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29606,"mutability":"mutable","name":"p3","nameLocation":"54716:2:14","nodeType":"VariableDeclaration","scope":29621,"src":"54708:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29605,"name":"uint256","nodeType":"ElementaryTypeName","src":"54708:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54668:51:14"},"returnParameters":{"id":29608,"nodeType":"ParameterList","parameters":[],"src":"54734:0:14"},"scope":31347,"src":"54656:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29643,"nodeType":"Block","src":"54933:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":29635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54983:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":29636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29623,"src":"55018:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29625,"src":"55022:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29627,"src":"55026:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29629,"src":"55030:2:14","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":29633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54959:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54963:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54959:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54959:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"54943:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54943:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29642,"nodeType":"ExpressionStatement","src":"54943:91:14"}]},"id":29644,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54858:3:14","nodeType":"FunctionDefinition","parameters":{"id":29630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29623,"mutability":"mutable","name":"p0","nameLocation":"54867:2:14","nodeType":"VariableDeclaration","scope":29644,"src":"54862:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29622,"name":"bool","nodeType":"ElementaryTypeName","src":"54862:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29625,"mutability":"mutable","name":"p1","nameLocation":"54879:2:14","nodeType":"VariableDeclaration","scope":29644,"src":"54871:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29624,"name":"address","nodeType":"ElementaryTypeName","src":"54871:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29627,"mutability":"mutable","name":"p2","nameLocation":"54897:2:14","nodeType":"VariableDeclaration","scope":29644,"src":"54883:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29626,"name":"string","nodeType":"ElementaryTypeName","src":"54883:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29629,"mutability":"mutable","name":"p3","nameLocation":"54915:2:14","nodeType":"VariableDeclaration","scope":29644,"src":"54901:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29628,"name":"string","nodeType":"ElementaryTypeName","src":"54901:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54861:57:14"},"returnParameters":{"id":29631,"nodeType":"ParameterList","parameters":[],"src":"54933:0:14"},"scope":31347,"src":"54849:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29666,"nodeType":"Block","src":"55122:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":29658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55172:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":29659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29646,"src":"55205:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29648,"src":"55209:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29650,"src":"55213:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29652,"src":"55217:2:14","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":29656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55148:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55152:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55148:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55148:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"55132:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55132:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29665,"nodeType":"ExpressionStatement","src":"55132:89:14"}]},"id":29667,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55056:3:14","nodeType":"FunctionDefinition","parameters":{"id":29653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29646,"mutability":"mutable","name":"p0","nameLocation":"55065:2:14","nodeType":"VariableDeclaration","scope":29667,"src":"55060:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29645,"name":"bool","nodeType":"ElementaryTypeName","src":"55060:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29648,"mutability":"mutable","name":"p1","nameLocation":"55077:2:14","nodeType":"VariableDeclaration","scope":29667,"src":"55069:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29647,"name":"address","nodeType":"ElementaryTypeName","src":"55069:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29650,"mutability":"mutable","name":"p2","nameLocation":"55095:2:14","nodeType":"VariableDeclaration","scope":29667,"src":"55081:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29649,"name":"string","nodeType":"ElementaryTypeName","src":"55081:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29652,"mutability":"mutable","name":"p3","nameLocation":"55104:2:14","nodeType":"VariableDeclaration","scope":29667,"src":"55099:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29651,"name":"bool","nodeType":"ElementaryTypeName","src":"55099:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55059:48:14"},"returnParameters":{"id":29654,"nodeType":"ParameterList","parameters":[],"src":"55122:0:14"},"scope":31347,"src":"55047:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29689,"nodeType":"Block","src":"55312:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":29681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55362:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":29682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29669,"src":"55398:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29671,"src":"55402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29673,"src":"55406:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29675,"src":"55410:2:14","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":29679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55338:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55342:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55338:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55338:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"55322:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55322:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29688,"nodeType":"ExpressionStatement","src":"55322:92:14"}]},"id":29690,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55243:3:14","nodeType":"FunctionDefinition","parameters":{"id":29676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29669,"mutability":"mutable","name":"p0","nameLocation":"55252:2:14","nodeType":"VariableDeclaration","scope":29690,"src":"55247:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29668,"name":"bool","nodeType":"ElementaryTypeName","src":"55247:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29671,"mutability":"mutable","name":"p1","nameLocation":"55264:2:14","nodeType":"VariableDeclaration","scope":29690,"src":"55256:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29670,"name":"address","nodeType":"ElementaryTypeName","src":"55256:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29673,"mutability":"mutable","name":"p2","nameLocation":"55282:2:14","nodeType":"VariableDeclaration","scope":29690,"src":"55268:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29672,"name":"string","nodeType":"ElementaryTypeName","src":"55268:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29675,"mutability":"mutable","name":"p3","nameLocation":"55294:2:14","nodeType":"VariableDeclaration","scope":29690,"src":"55286:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29674,"name":"address","nodeType":"ElementaryTypeName","src":"55286:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55246:51:14"},"returnParameters":{"id":29677,"nodeType":"ParameterList","parameters":[],"src":"55312:0:14"},"scope":31347,"src":"55234:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29712,"nodeType":"Block","src":"55496:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":29704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55546:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":29705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29692,"src":"55580:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29694,"src":"55584:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29696,"src":"55588:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29698,"src":"55592:2:14","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":29702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55522:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55526:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55522:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55522:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"55506:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55506:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29711,"nodeType":"ExpressionStatement","src":"55506:90:14"}]},"id":29713,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55436:3:14","nodeType":"FunctionDefinition","parameters":{"id":29699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29692,"mutability":"mutable","name":"p0","nameLocation":"55445:2:14","nodeType":"VariableDeclaration","scope":29713,"src":"55440:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29691,"name":"bool","nodeType":"ElementaryTypeName","src":"55440:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29694,"mutability":"mutable","name":"p1","nameLocation":"55457:2:14","nodeType":"VariableDeclaration","scope":29713,"src":"55449:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29693,"name":"address","nodeType":"ElementaryTypeName","src":"55449:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29696,"mutability":"mutable","name":"p2","nameLocation":"55466:2:14","nodeType":"VariableDeclaration","scope":29713,"src":"55461:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29695,"name":"bool","nodeType":"ElementaryTypeName","src":"55461:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29698,"mutability":"mutable","name":"p3","nameLocation":"55478:2:14","nodeType":"VariableDeclaration","scope":29713,"src":"55470:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29697,"name":"uint256","nodeType":"ElementaryTypeName","src":"55470:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55439:42:14"},"returnParameters":{"id":29700,"nodeType":"ParameterList","parameters":[],"src":"55496:0:14"},"scope":31347,"src":"55427:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29735,"nodeType":"Block","src":"55684:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":29727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55734:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":29728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29715,"src":"55767:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29717,"src":"55771:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"55775:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29721,"src":"55779:2:14","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":29725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55710:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55714:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55710:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55710:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"55694:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55694:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29734,"nodeType":"ExpressionStatement","src":"55694:89:14"}]},"id":29736,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55618:3:14","nodeType":"FunctionDefinition","parameters":{"id":29722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29715,"mutability":"mutable","name":"p0","nameLocation":"55627:2:14","nodeType":"VariableDeclaration","scope":29736,"src":"55622:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29714,"name":"bool","nodeType":"ElementaryTypeName","src":"55622:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29717,"mutability":"mutable","name":"p1","nameLocation":"55639:2:14","nodeType":"VariableDeclaration","scope":29736,"src":"55631:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29716,"name":"address","nodeType":"ElementaryTypeName","src":"55631:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29719,"mutability":"mutable","name":"p2","nameLocation":"55648:2:14","nodeType":"VariableDeclaration","scope":29736,"src":"55643:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29718,"name":"bool","nodeType":"ElementaryTypeName","src":"55643:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29721,"mutability":"mutable","name":"p3","nameLocation":"55666:2:14","nodeType":"VariableDeclaration","scope":29736,"src":"55652:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29720,"name":"string","nodeType":"ElementaryTypeName","src":"55652:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55621:48:14"},"returnParameters":{"id":29723,"nodeType":"ParameterList","parameters":[],"src":"55684:0:14"},"scope":31347,"src":"55609:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29758,"nodeType":"Block","src":"55862:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":29750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55912:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":29751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29738,"src":"55943:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29740,"src":"55947:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29742,"src":"55951:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29744,"src":"55955:2:14","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":29748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55892:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55888:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"55872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55872:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29757,"nodeType":"ExpressionStatement","src":"55872:87:14"}]},"id":29759,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55805:3:14","nodeType":"FunctionDefinition","parameters":{"id":29745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29738,"mutability":"mutable","name":"p0","nameLocation":"55814:2:14","nodeType":"VariableDeclaration","scope":29759,"src":"55809:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29737,"name":"bool","nodeType":"ElementaryTypeName","src":"55809:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29740,"mutability":"mutable","name":"p1","nameLocation":"55826:2:14","nodeType":"VariableDeclaration","scope":29759,"src":"55818:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29739,"name":"address","nodeType":"ElementaryTypeName","src":"55818:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29742,"mutability":"mutable","name":"p2","nameLocation":"55835:2:14","nodeType":"VariableDeclaration","scope":29759,"src":"55830:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29741,"name":"bool","nodeType":"ElementaryTypeName","src":"55830:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29744,"mutability":"mutable","name":"p3","nameLocation":"55844:2:14","nodeType":"VariableDeclaration","scope":29759,"src":"55839:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29743,"name":"bool","nodeType":"ElementaryTypeName","src":"55839:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55808:39:14"},"returnParameters":{"id":29746,"nodeType":"ParameterList","parameters":[],"src":"55862:0:14"},"scope":31347,"src":"55796:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29781,"nodeType":"Block","src":"56041:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":29773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56091:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":29774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29761,"src":"56125:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29763,"src":"56129:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"56133:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29767,"src":"56137:2:14","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":29771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56067:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56071:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56067:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56067:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56051:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56051:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29780,"nodeType":"ExpressionStatement","src":"56051:90:14"}]},"id":29782,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55981:3:14","nodeType":"FunctionDefinition","parameters":{"id":29768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29761,"mutability":"mutable","name":"p0","nameLocation":"55990:2:14","nodeType":"VariableDeclaration","scope":29782,"src":"55985:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29760,"name":"bool","nodeType":"ElementaryTypeName","src":"55985:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29763,"mutability":"mutable","name":"p1","nameLocation":"56002:2:14","nodeType":"VariableDeclaration","scope":29782,"src":"55994:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29762,"name":"address","nodeType":"ElementaryTypeName","src":"55994:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29765,"mutability":"mutable","name":"p2","nameLocation":"56011:2:14","nodeType":"VariableDeclaration","scope":29782,"src":"56006:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29764,"name":"bool","nodeType":"ElementaryTypeName","src":"56006:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29767,"mutability":"mutable","name":"p3","nameLocation":"56023:2:14","nodeType":"VariableDeclaration","scope":29782,"src":"56015:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29766,"name":"address","nodeType":"ElementaryTypeName","src":"56015:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55984:42:14"},"returnParameters":{"id":29769,"nodeType":"ParameterList","parameters":[],"src":"56041:0:14"},"scope":31347,"src":"55972:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29804,"nodeType":"Block","src":"56226:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":29796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56276:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":29797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29784,"src":"56313:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29786,"src":"56317:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29788,"src":"56321:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29790,"src":"56325:2:14","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":29794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56252:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56256:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56252:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56252:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56236:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56236:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29803,"nodeType":"ExpressionStatement","src":"56236:93:14"}]},"id":29805,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56163:3:14","nodeType":"FunctionDefinition","parameters":{"id":29791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29784,"mutability":"mutable","name":"p0","nameLocation":"56172:2:14","nodeType":"VariableDeclaration","scope":29805,"src":"56167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29783,"name":"bool","nodeType":"ElementaryTypeName","src":"56167:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29786,"mutability":"mutable","name":"p1","nameLocation":"56184:2:14","nodeType":"VariableDeclaration","scope":29805,"src":"56176:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29785,"name":"address","nodeType":"ElementaryTypeName","src":"56176:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29788,"mutability":"mutable","name":"p2","nameLocation":"56196:2:14","nodeType":"VariableDeclaration","scope":29805,"src":"56188:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29787,"name":"address","nodeType":"ElementaryTypeName","src":"56188:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29790,"mutability":"mutable","name":"p3","nameLocation":"56208:2:14","nodeType":"VariableDeclaration","scope":29805,"src":"56200:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29789,"name":"uint256","nodeType":"ElementaryTypeName","src":"56200:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56166:45:14"},"returnParameters":{"id":29792,"nodeType":"ParameterList","parameters":[],"src":"56226:0:14"},"scope":31347,"src":"56154:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29827,"nodeType":"Block","src":"56420:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":29819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56470:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":29820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29807,"src":"56506:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29809,"src":"56510:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29811,"src":"56514:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29813,"src":"56518:2:14","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":29817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56446:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56450:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56446:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56446:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56430:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56430:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29826,"nodeType":"ExpressionStatement","src":"56430:92:14"}]},"id":29828,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56351:3:14","nodeType":"FunctionDefinition","parameters":{"id":29814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29807,"mutability":"mutable","name":"p0","nameLocation":"56360:2:14","nodeType":"VariableDeclaration","scope":29828,"src":"56355:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29806,"name":"bool","nodeType":"ElementaryTypeName","src":"56355:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29809,"mutability":"mutable","name":"p1","nameLocation":"56372:2:14","nodeType":"VariableDeclaration","scope":29828,"src":"56364:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29808,"name":"address","nodeType":"ElementaryTypeName","src":"56364:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29811,"mutability":"mutable","name":"p2","nameLocation":"56384:2:14","nodeType":"VariableDeclaration","scope":29828,"src":"56376:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29810,"name":"address","nodeType":"ElementaryTypeName","src":"56376:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29813,"mutability":"mutable","name":"p3","nameLocation":"56402:2:14","nodeType":"VariableDeclaration","scope":29828,"src":"56388:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29812,"name":"string","nodeType":"ElementaryTypeName","src":"56388:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56354:51:14"},"returnParameters":{"id":29815,"nodeType":"ParameterList","parameters":[],"src":"56420:0:14"},"scope":31347,"src":"56342:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29850,"nodeType":"Block","src":"56604:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":29842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56654:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":29843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29830,"src":"56688:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29832,"src":"56692:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29834,"src":"56696:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29836,"src":"56700:2:14","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":29840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56630:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56634:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56630:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56630:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56614:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56614:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29849,"nodeType":"ExpressionStatement","src":"56614:90:14"}]},"id":29851,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56544:3:14","nodeType":"FunctionDefinition","parameters":{"id":29837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29830,"mutability":"mutable","name":"p0","nameLocation":"56553:2:14","nodeType":"VariableDeclaration","scope":29851,"src":"56548:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29829,"name":"bool","nodeType":"ElementaryTypeName","src":"56548:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29832,"mutability":"mutable","name":"p1","nameLocation":"56565:2:14","nodeType":"VariableDeclaration","scope":29851,"src":"56557:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29831,"name":"address","nodeType":"ElementaryTypeName","src":"56557:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29834,"mutability":"mutable","name":"p2","nameLocation":"56577:2:14","nodeType":"VariableDeclaration","scope":29851,"src":"56569:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29833,"name":"address","nodeType":"ElementaryTypeName","src":"56569:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29836,"mutability":"mutable","name":"p3","nameLocation":"56586:2:14","nodeType":"VariableDeclaration","scope":29851,"src":"56581:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29835,"name":"bool","nodeType":"ElementaryTypeName","src":"56581:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56547:42:14"},"returnParameters":{"id":29838,"nodeType":"ParameterList","parameters":[],"src":"56604:0:14"},"scope":31347,"src":"56535:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29873,"nodeType":"Block","src":"56789:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":29865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56839:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":29866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29853,"src":"56876:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29855,"src":"56880:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29857,"src":"56884:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29859,"src":"56888:2:14","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":29863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56815:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56819:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56815:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56815:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56799:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56799:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29872,"nodeType":"ExpressionStatement","src":"56799:93:14"}]},"id":29874,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56726:3:14","nodeType":"FunctionDefinition","parameters":{"id":29860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29853,"mutability":"mutable","name":"p0","nameLocation":"56735:2:14","nodeType":"VariableDeclaration","scope":29874,"src":"56730:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29852,"name":"bool","nodeType":"ElementaryTypeName","src":"56730:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29855,"mutability":"mutable","name":"p1","nameLocation":"56747:2:14","nodeType":"VariableDeclaration","scope":29874,"src":"56739:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29854,"name":"address","nodeType":"ElementaryTypeName","src":"56739:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29857,"mutability":"mutable","name":"p2","nameLocation":"56759:2:14","nodeType":"VariableDeclaration","scope":29874,"src":"56751:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29856,"name":"address","nodeType":"ElementaryTypeName","src":"56751:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29859,"mutability":"mutable","name":"p3","nameLocation":"56771:2:14","nodeType":"VariableDeclaration","scope":29874,"src":"56763:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29858,"name":"address","nodeType":"ElementaryTypeName","src":"56763:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56729:45:14"},"returnParameters":{"id":29861,"nodeType":"ParameterList","parameters":[],"src":"56789:0:14"},"scope":31347,"src":"56717:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29896,"nodeType":"Block","src":"56980:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":29888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57030:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":29889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29876,"src":"57070:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29878,"src":"57074:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29880,"src":"57078:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29882,"src":"57082:2:14","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":29886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57010:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57006:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"56990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56990:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29895,"nodeType":"ExpressionStatement","src":"56990:96:14"}]},"id":29897,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56914:3:14","nodeType":"FunctionDefinition","parameters":{"id":29883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29876,"mutability":"mutable","name":"p0","nameLocation":"56926:2:14","nodeType":"VariableDeclaration","scope":29897,"src":"56918:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29875,"name":"address","nodeType":"ElementaryTypeName","src":"56918:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29878,"mutability":"mutable","name":"p1","nameLocation":"56938:2:14","nodeType":"VariableDeclaration","scope":29897,"src":"56930:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29877,"name":"uint256","nodeType":"ElementaryTypeName","src":"56930:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29880,"mutability":"mutable","name":"p2","nameLocation":"56950:2:14","nodeType":"VariableDeclaration","scope":29897,"src":"56942:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29879,"name":"uint256","nodeType":"ElementaryTypeName","src":"56942:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29882,"mutability":"mutable","name":"p3","nameLocation":"56962:2:14","nodeType":"VariableDeclaration","scope":29897,"src":"56954:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29881,"name":"uint256","nodeType":"ElementaryTypeName","src":"56954:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56917:48:14"},"returnParameters":{"id":29884,"nodeType":"ParameterList","parameters":[],"src":"56980:0:14"},"scope":31347,"src":"56905:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29919,"nodeType":"Block","src":"57180:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":29911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57230:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":29912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29899,"src":"57269:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29901,"src":"57273:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29903,"src":"57277:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29905,"src":"57281:2:14","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":29909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57206:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57210:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57206:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57206:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"57190:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57190:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29918,"nodeType":"ExpressionStatement","src":"57190:95:14"}]},"id":29920,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57108:3:14","nodeType":"FunctionDefinition","parameters":{"id":29906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29899,"mutability":"mutable","name":"p0","nameLocation":"57120:2:14","nodeType":"VariableDeclaration","scope":29920,"src":"57112:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29898,"name":"address","nodeType":"ElementaryTypeName","src":"57112:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29901,"mutability":"mutable","name":"p1","nameLocation":"57132:2:14","nodeType":"VariableDeclaration","scope":29920,"src":"57124:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29900,"name":"uint256","nodeType":"ElementaryTypeName","src":"57124:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29903,"mutability":"mutable","name":"p2","nameLocation":"57144:2:14","nodeType":"VariableDeclaration","scope":29920,"src":"57136:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29902,"name":"uint256","nodeType":"ElementaryTypeName","src":"57136:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29905,"mutability":"mutable","name":"p3","nameLocation":"57162:2:14","nodeType":"VariableDeclaration","scope":29920,"src":"57148:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29904,"name":"string","nodeType":"ElementaryTypeName","src":"57148:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57111:54:14"},"returnParameters":{"id":29907,"nodeType":"ParameterList","parameters":[],"src":"57180:0:14"},"scope":31347,"src":"57099:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29942,"nodeType":"Block","src":"57370:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":29934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57420:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":29935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29922,"src":"57457:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29924,"src":"57461:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29926,"src":"57465:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29928,"src":"57469:2:14","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":29932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57396:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57400:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57396:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57396:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"57380:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57380:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29941,"nodeType":"ExpressionStatement","src":"57380:93:14"}]},"id":29943,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57307:3:14","nodeType":"FunctionDefinition","parameters":{"id":29929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29922,"mutability":"mutable","name":"p0","nameLocation":"57319:2:14","nodeType":"VariableDeclaration","scope":29943,"src":"57311:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29921,"name":"address","nodeType":"ElementaryTypeName","src":"57311:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29924,"mutability":"mutable","name":"p1","nameLocation":"57331:2:14","nodeType":"VariableDeclaration","scope":29943,"src":"57323:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29923,"name":"uint256","nodeType":"ElementaryTypeName","src":"57323:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29926,"mutability":"mutable","name":"p2","nameLocation":"57343:2:14","nodeType":"VariableDeclaration","scope":29943,"src":"57335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29925,"name":"uint256","nodeType":"ElementaryTypeName","src":"57335:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29928,"mutability":"mutable","name":"p3","nameLocation":"57352:2:14","nodeType":"VariableDeclaration","scope":29943,"src":"57347:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29927,"name":"bool","nodeType":"ElementaryTypeName","src":"57347:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57310:45:14"},"returnParameters":{"id":29930,"nodeType":"ParameterList","parameters":[],"src":"57370:0:14"},"scope":31347,"src":"57298:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29965,"nodeType":"Block","src":"57561:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":29957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57611:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":29958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29945,"src":"57651:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29947,"src":"57655:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29949,"src":"57659:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29951,"src":"57663:2:14","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":29955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57587:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57591:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57587:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57587:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"57571:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57571:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29964,"nodeType":"ExpressionStatement","src":"57571:96:14"}]},"id":29966,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57495:3:14","nodeType":"FunctionDefinition","parameters":{"id":29952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29945,"mutability":"mutable","name":"p0","nameLocation":"57507:2:14","nodeType":"VariableDeclaration","scope":29966,"src":"57499:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29944,"name":"address","nodeType":"ElementaryTypeName","src":"57499:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29947,"mutability":"mutable","name":"p1","nameLocation":"57519:2:14","nodeType":"VariableDeclaration","scope":29966,"src":"57511:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29946,"name":"uint256","nodeType":"ElementaryTypeName","src":"57511:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29949,"mutability":"mutable","name":"p2","nameLocation":"57531:2:14","nodeType":"VariableDeclaration","scope":29966,"src":"57523:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29948,"name":"uint256","nodeType":"ElementaryTypeName","src":"57523:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29951,"mutability":"mutable","name":"p3","nameLocation":"57543:2:14","nodeType":"VariableDeclaration","scope":29966,"src":"57535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29950,"name":"address","nodeType":"ElementaryTypeName","src":"57535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57498:48:14"},"returnParameters":{"id":29953,"nodeType":"ParameterList","parameters":[],"src":"57561:0:14"},"scope":31347,"src":"57486:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":29988,"nodeType":"Block","src":"57761:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":29980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57811:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":29981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29968,"src":"57850:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":29982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29970,"src":"57854:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29972,"src":"57858:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":29984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29974,"src":"57862:2:14","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":29978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57787:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57791:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57787:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57787:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"57771:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":29986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57771:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29987,"nodeType":"ExpressionStatement","src":"57771:95:14"}]},"id":29989,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57689:3:14","nodeType":"FunctionDefinition","parameters":{"id":29975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29968,"mutability":"mutable","name":"p0","nameLocation":"57701:2:14","nodeType":"VariableDeclaration","scope":29989,"src":"57693:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29967,"name":"address","nodeType":"ElementaryTypeName","src":"57693:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29970,"mutability":"mutable","name":"p1","nameLocation":"57713:2:14","nodeType":"VariableDeclaration","scope":29989,"src":"57705:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29969,"name":"uint256","nodeType":"ElementaryTypeName","src":"57705:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29972,"mutability":"mutable","name":"p2","nameLocation":"57731:2:14","nodeType":"VariableDeclaration","scope":29989,"src":"57717:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29971,"name":"string","nodeType":"ElementaryTypeName","src":"57717:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29974,"mutability":"mutable","name":"p3","nameLocation":"57743:2:14","nodeType":"VariableDeclaration","scope":29989,"src":"57735:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29973,"name":"uint256","nodeType":"ElementaryTypeName","src":"57735:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57692:54:14"},"returnParameters":{"id":29976,"nodeType":"ParameterList","parameters":[],"src":"57761:0:14"},"scope":31347,"src":"57680:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30011,"nodeType":"Block","src":"57966:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":30003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58016:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":30004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29991,"src":"58054:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29993,"src":"58058:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29995,"src":"58062:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29997,"src":"58066:2:14","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":30001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57992:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57996:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57992:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57992:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"57976:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57976:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30010,"nodeType":"ExpressionStatement","src":"57976:94:14"}]},"id":30012,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57888:3:14","nodeType":"FunctionDefinition","parameters":{"id":29998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29991,"mutability":"mutable","name":"p0","nameLocation":"57900:2:14","nodeType":"VariableDeclaration","scope":30012,"src":"57892:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29990,"name":"address","nodeType":"ElementaryTypeName","src":"57892:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29993,"mutability":"mutable","name":"p1","nameLocation":"57912:2:14","nodeType":"VariableDeclaration","scope":30012,"src":"57904:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29992,"name":"uint256","nodeType":"ElementaryTypeName","src":"57904:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29995,"mutability":"mutable","name":"p2","nameLocation":"57930:2:14","nodeType":"VariableDeclaration","scope":30012,"src":"57916:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29994,"name":"string","nodeType":"ElementaryTypeName","src":"57916:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29997,"mutability":"mutable","name":"p3","nameLocation":"57948:2:14","nodeType":"VariableDeclaration","scope":30012,"src":"57934:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29996,"name":"string","nodeType":"ElementaryTypeName","src":"57934:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57891:60:14"},"returnParameters":{"id":29999,"nodeType":"ParameterList","parameters":[],"src":"57966:0:14"},"scope":31347,"src":"57879:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30034,"nodeType":"Block","src":"58161:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":30026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58211:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":30027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30014,"src":"58247:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30016,"src":"58251:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30018,"src":"58255:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30020,"src":"58259:2:14","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":30024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58187:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58191:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58187:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58187:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"58171:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58171:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30033,"nodeType":"ExpressionStatement","src":"58171:92:14"}]},"id":30035,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58092:3:14","nodeType":"FunctionDefinition","parameters":{"id":30021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30014,"mutability":"mutable","name":"p0","nameLocation":"58104:2:14","nodeType":"VariableDeclaration","scope":30035,"src":"58096:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30013,"name":"address","nodeType":"ElementaryTypeName","src":"58096:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30016,"mutability":"mutable","name":"p1","nameLocation":"58116:2:14","nodeType":"VariableDeclaration","scope":30035,"src":"58108:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30015,"name":"uint256","nodeType":"ElementaryTypeName","src":"58108:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30018,"mutability":"mutable","name":"p2","nameLocation":"58134:2:14","nodeType":"VariableDeclaration","scope":30035,"src":"58120:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30017,"name":"string","nodeType":"ElementaryTypeName","src":"58120:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30020,"mutability":"mutable","name":"p3","nameLocation":"58143:2:14","nodeType":"VariableDeclaration","scope":30035,"src":"58138:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30019,"name":"bool","nodeType":"ElementaryTypeName","src":"58138:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58095:51:14"},"returnParameters":{"id":30022,"nodeType":"ParameterList","parameters":[],"src":"58161:0:14"},"scope":31347,"src":"58083:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30057,"nodeType":"Block","src":"58357:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":30049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58407:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":30050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30037,"src":"58446:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30039,"src":"58450:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30041,"src":"58454:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30043,"src":"58458:2:14","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":30047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58383:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58387:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58383:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58383:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"58367:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58367:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30056,"nodeType":"ExpressionStatement","src":"58367:95:14"}]},"id":30058,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58285:3:14","nodeType":"FunctionDefinition","parameters":{"id":30044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30037,"mutability":"mutable","name":"p0","nameLocation":"58297:2:14","nodeType":"VariableDeclaration","scope":30058,"src":"58289:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30036,"name":"address","nodeType":"ElementaryTypeName","src":"58289:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30039,"mutability":"mutable","name":"p1","nameLocation":"58309:2:14","nodeType":"VariableDeclaration","scope":30058,"src":"58301:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30038,"name":"uint256","nodeType":"ElementaryTypeName","src":"58301:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30041,"mutability":"mutable","name":"p2","nameLocation":"58327:2:14","nodeType":"VariableDeclaration","scope":30058,"src":"58313:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30040,"name":"string","nodeType":"ElementaryTypeName","src":"58313:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30043,"mutability":"mutable","name":"p3","nameLocation":"58339:2:14","nodeType":"VariableDeclaration","scope":30058,"src":"58331:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30042,"name":"address","nodeType":"ElementaryTypeName","src":"58331:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58288:54:14"},"returnParameters":{"id":30045,"nodeType":"ParameterList","parameters":[],"src":"58357:0:14"},"scope":31347,"src":"58276:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30080,"nodeType":"Block","src":"58547:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":30072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58597:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":30073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30060,"src":"58634:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30062,"src":"58638:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30064,"src":"58642:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30066,"src":"58646:2:14","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":30070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58573:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58577:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58573:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58573:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"58557:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58557:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30079,"nodeType":"ExpressionStatement","src":"58557:93:14"}]},"id":30081,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58484:3:14","nodeType":"FunctionDefinition","parameters":{"id":30067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30060,"mutability":"mutable","name":"p0","nameLocation":"58496:2:14","nodeType":"VariableDeclaration","scope":30081,"src":"58488:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30059,"name":"address","nodeType":"ElementaryTypeName","src":"58488:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30062,"mutability":"mutable","name":"p1","nameLocation":"58508:2:14","nodeType":"VariableDeclaration","scope":30081,"src":"58500:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30061,"name":"uint256","nodeType":"ElementaryTypeName","src":"58500:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30064,"mutability":"mutable","name":"p2","nameLocation":"58517:2:14","nodeType":"VariableDeclaration","scope":30081,"src":"58512:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30063,"name":"bool","nodeType":"ElementaryTypeName","src":"58512:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30066,"mutability":"mutable","name":"p3","nameLocation":"58529:2:14","nodeType":"VariableDeclaration","scope":30081,"src":"58521:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30065,"name":"uint256","nodeType":"ElementaryTypeName","src":"58521:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58487:45:14"},"returnParameters":{"id":30068,"nodeType":"ParameterList","parameters":[],"src":"58547:0:14"},"scope":31347,"src":"58475:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30103,"nodeType":"Block","src":"58741:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":30095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58791:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":30096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30083,"src":"58827:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30085,"src":"58831:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30087,"src":"58835:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30089,"src":"58839:2:14","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":30093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58767:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58771:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58767:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58767:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"58751:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58751:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30102,"nodeType":"ExpressionStatement","src":"58751:92:14"}]},"id":30104,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58672:3:14","nodeType":"FunctionDefinition","parameters":{"id":30090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30083,"mutability":"mutable","name":"p0","nameLocation":"58684:2:14","nodeType":"VariableDeclaration","scope":30104,"src":"58676:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30082,"name":"address","nodeType":"ElementaryTypeName","src":"58676:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30085,"mutability":"mutable","name":"p1","nameLocation":"58696:2:14","nodeType":"VariableDeclaration","scope":30104,"src":"58688:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30084,"name":"uint256","nodeType":"ElementaryTypeName","src":"58688:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30087,"mutability":"mutable","name":"p2","nameLocation":"58705:2:14","nodeType":"VariableDeclaration","scope":30104,"src":"58700:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30086,"name":"bool","nodeType":"ElementaryTypeName","src":"58700:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30089,"mutability":"mutable","name":"p3","nameLocation":"58723:2:14","nodeType":"VariableDeclaration","scope":30104,"src":"58709:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30088,"name":"string","nodeType":"ElementaryTypeName","src":"58709:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58675:51:14"},"returnParameters":{"id":30091,"nodeType":"ParameterList","parameters":[],"src":"58741:0:14"},"scope":31347,"src":"58663:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30126,"nodeType":"Block","src":"58925:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":30118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58975:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":30119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30106,"src":"59009:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30108,"src":"59013:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30110,"src":"59017:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30112,"src":"59021:2:14","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":30116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58951:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58955:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58951:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58951:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"58935:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58935:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30125,"nodeType":"ExpressionStatement","src":"58935:90:14"}]},"id":30127,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58865:3:14","nodeType":"FunctionDefinition","parameters":{"id":30113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30106,"mutability":"mutable","name":"p0","nameLocation":"58877:2:14","nodeType":"VariableDeclaration","scope":30127,"src":"58869:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30105,"name":"address","nodeType":"ElementaryTypeName","src":"58869:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30108,"mutability":"mutable","name":"p1","nameLocation":"58889:2:14","nodeType":"VariableDeclaration","scope":30127,"src":"58881:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30107,"name":"uint256","nodeType":"ElementaryTypeName","src":"58881:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30110,"mutability":"mutable","name":"p2","nameLocation":"58898:2:14","nodeType":"VariableDeclaration","scope":30127,"src":"58893:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30109,"name":"bool","nodeType":"ElementaryTypeName","src":"58893:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30112,"mutability":"mutable","name":"p3","nameLocation":"58907:2:14","nodeType":"VariableDeclaration","scope":30127,"src":"58902:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30111,"name":"bool","nodeType":"ElementaryTypeName","src":"58902:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58868:42:14"},"returnParameters":{"id":30114,"nodeType":"ParameterList","parameters":[],"src":"58925:0:14"},"scope":31347,"src":"58856:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30149,"nodeType":"Block","src":"59110:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":30141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59160:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":30142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30129,"src":"59197:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30131,"src":"59201:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30133,"src":"59205:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30135,"src":"59209:2:14","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":30139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59136:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59140:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59136:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59136:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"59120:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59120:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30148,"nodeType":"ExpressionStatement","src":"59120:93:14"}]},"id":30150,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59047:3:14","nodeType":"FunctionDefinition","parameters":{"id":30136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30129,"mutability":"mutable","name":"p0","nameLocation":"59059:2:14","nodeType":"VariableDeclaration","scope":30150,"src":"59051:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30128,"name":"address","nodeType":"ElementaryTypeName","src":"59051:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30131,"mutability":"mutable","name":"p1","nameLocation":"59071:2:14","nodeType":"VariableDeclaration","scope":30150,"src":"59063:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30130,"name":"uint256","nodeType":"ElementaryTypeName","src":"59063:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30133,"mutability":"mutable","name":"p2","nameLocation":"59080:2:14","nodeType":"VariableDeclaration","scope":30150,"src":"59075:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30132,"name":"bool","nodeType":"ElementaryTypeName","src":"59075:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30135,"mutability":"mutable","name":"p3","nameLocation":"59092:2:14","nodeType":"VariableDeclaration","scope":30150,"src":"59084:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30134,"name":"address","nodeType":"ElementaryTypeName","src":"59084:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59050:45:14"},"returnParameters":{"id":30137,"nodeType":"ParameterList","parameters":[],"src":"59110:0:14"},"scope":31347,"src":"59038:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30172,"nodeType":"Block","src":"59301:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":30164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59351:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":30165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30152,"src":"59391:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30154,"src":"59395:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30156,"src":"59399:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30158,"src":"59403:2:14","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":30162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59327:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59331:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59327:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59327:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"59311:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59311:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30171,"nodeType":"ExpressionStatement","src":"59311:96:14"}]},"id":30173,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59235:3:14","nodeType":"FunctionDefinition","parameters":{"id":30159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30152,"mutability":"mutable","name":"p0","nameLocation":"59247:2:14","nodeType":"VariableDeclaration","scope":30173,"src":"59239:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30151,"name":"address","nodeType":"ElementaryTypeName","src":"59239:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30154,"mutability":"mutable","name":"p1","nameLocation":"59259:2:14","nodeType":"VariableDeclaration","scope":30173,"src":"59251:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30153,"name":"uint256","nodeType":"ElementaryTypeName","src":"59251:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30156,"mutability":"mutable","name":"p2","nameLocation":"59271:2:14","nodeType":"VariableDeclaration","scope":30173,"src":"59263:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30155,"name":"address","nodeType":"ElementaryTypeName","src":"59263:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30158,"mutability":"mutable","name":"p3","nameLocation":"59283:2:14","nodeType":"VariableDeclaration","scope":30173,"src":"59275:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30157,"name":"uint256","nodeType":"ElementaryTypeName","src":"59275:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59238:48:14"},"returnParameters":{"id":30160,"nodeType":"ParameterList","parameters":[],"src":"59301:0:14"},"scope":31347,"src":"59226:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30195,"nodeType":"Block","src":"59501:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":30187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59551:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":30188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30175,"src":"59590:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30177,"src":"59594:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30179,"src":"59598:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30181,"src":"59602:2:14","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":30185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59527:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59531:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59527:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59527:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"59511:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59511:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30194,"nodeType":"ExpressionStatement","src":"59511:95:14"}]},"id":30196,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59429:3:14","nodeType":"FunctionDefinition","parameters":{"id":30182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30175,"mutability":"mutable","name":"p0","nameLocation":"59441:2:14","nodeType":"VariableDeclaration","scope":30196,"src":"59433:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30174,"name":"address","nodeType":"ElementaryTypeName","src":"59433:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30177,"mutability":"mutable","name":"p1","nameLocation":"59453:2:14","nodeType":"VariableDeclaration","scope":30196,"src":"59445:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30176,"name":"uint256","nodeType":"ElementaryTypeName","src":"59445:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30179,"mutability":"mutable","name":"p2","nameLocation":"59465:2:14","nodeType":"VariableDeclaration","scope":30196,"src":"59457:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30178,"name":"address","nodeType":"ElementaryTypeName","src":"59457:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30181,"mutability":"mutable","name":"p3","nameLocation":"59483:2:14","nodeType":"VariableDeclaration","scope":30196,"src":"59469:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30180,"name":"string","nodeType":"ElementaryTypeName","src":"59469:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59432:54:14"},"returnParameters":{"id":30183,"nodeType":"ParameterList","parameters":[],"src":"59501:0:14"},"scope":31347,"src":"59420:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30218,"nodeType":"Block","src":"59691:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":30210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59741:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":30211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30198,"src":"59778:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30200,"src":"59782:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30202,"src":"59786:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30214,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30204,"src":"59790:2:14","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":30208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59717:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59721:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59717:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59717:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30207,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"59701:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59701:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30217,"nodeType":"ExpressionStatement","src":"59701:93:14"}]},"id":30219,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59628:3:14","nodeType":"FunctionDefinition","parameters":{"id":30205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30198,"mutability":"mutable","name":"p0","nameLocation":"59640:2:14","nodeType":"VariableDeclaration","scope":30219,"src":"59632:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30197,"name":"address","nodeType":"ElementaryTypeName","src":"59632:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30200,"mutability":"mutable","name":"p1","nameLocation":"59652:2:14","nodeType":"VariableDeclaration","scope":30219,"src":"59644:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30199,"name":"uint256","nodeType":"ElementaryTypeName","src":"59644:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30202,"mutability":"mutable","name":"p2","nameLocation":"59664:2:14","nodeType":"VariableDeclaration","scope":30219,"src":"59656:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30201,"name":"address","nodeType":"ElementaryTypeName","src":"59656:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30204,"mutability":"mutable","name":"p3","nameLocation":"59673:2:14","nodeType":"VariableDeclaration","scope":30219,"src":"59668:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30203,"name":"bool","nodeType":"ElementaryTypeName","src":"59668:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59631:45:14"},"returnParameters":{"id":30206,"nodeType":"ParameterList","parameters":[],"src":"59691:0:14"},"scope":31347,"src":"59619:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30241,"nodeType":"Block","src":"59882:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":30233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59932:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":30234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"59972:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30235,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30223,"src":"59976:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30236,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30225,"src":"59980:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30237,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30227,"src":"59984:2:14","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":30231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59908:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59912:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59908:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59908:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"59892:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59892:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30240,"nodeType":"ExpressionStatement","src":"59892:96:14"}]},"id":30242,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59816:3:14","nodeType":"FunctionDefinition","parameters":{"id":30228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30221,"mutability":"mutable","name":"p0","nameLocation":"59828:2:14","nodeType":"VariableDeclaration","scope":30242,"src":"59820:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30220,"name":"address","nodeType":"ElementaryTypeName","src":"59820:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30223,"mutability":"mutable","name":"p1","nameLocation":"59840:2:14","nodeType":"VariableDeclaration","scope":30242,"src":"59832:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30222,"name":"uint256","nodeType":"ElementaryTypeName","src":"59832:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30225,"mutability":"mutable","name":"p2","nameLocation":"59852:2:14","nodeType":"VariableDeclaration","scope":30242,"src":"59844:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30224,"name":"address","nodeType":"ElementaryTypeName","src":"59844:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30227,"mutability":"mutable","name":"p3","nameLocation":"59864:2:14","nodeType":"VariableDeclaration","scope":30242,"src":"59856:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30226,"name":"address","nodeType":"ElementaryTypeName","src":"59856:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59819:48:14"},"returnParameters":{"id":30229,"nodeType":"ParameterList","parameters":[],"src":"59882:0:14"},"scope":31347,"src":"59807:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30264,"nodeType":"Block","src":"60082:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":30256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60132:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":30257,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30244,"src":"60171:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30258,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30246,"src":"60175:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30259,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30248,"src":"60179:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30260,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30250,"src":"60183:2:14","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":30254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60108:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60112:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60108:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60108:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"60092:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60092:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30263,"nodeType":"ExpressionStatement","src":"60092:95:14"}]},"id":30265,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60010:3:14","nodeType":"FunctionDefinition","parameters":{"id":30251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30244,"mutability":"mutable","name":"p0","nameLocation":"60022:2:14","nodeType":"VariableDeclaration","scope":30265,"src":"60014:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30243,"name":"address","nodeType":"ElementaryTypeName","src":"60014:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30246,"mutability":"mutable","name":"p1","nameLocation":"60040:2:14","nodeType":"VariableDeclaration","scope":30265,"src":"60026:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30245,"name":"string","nodeType":"ElementaryTypeName","src":"60026:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30248,"mutability":"mutable","name":"p2","nameLocation":"60052:2:14","nodeType":"VariableDeclaration","scope":30265,"src":"60044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30247,"name":"uint256","nodeType":"ElementaryTypeName","src":"60044:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30250,"mutability":"mutable","name":"p3","nameLocation":"60064:2:14","nodeType":"VariableDeclaration","scope":30265,"src":"60056:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30249,"name":"uint256","nodeType":"ElementaryTypeName","src":"60056:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60013:54:14"},"returnParameters":{"id":30252,"nodeType":"ParameterList","parameters":[],"src":"60082:0:14"},"scope":31347,"src":"60001:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30287,"nodeType":"Block","src":"60287:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":30279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60337:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":30280,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30267,"src":"60375:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30281,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30269,"src":"60379:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30282,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30271,"src":"60383:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30283,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30273,"src":"60387:2:14","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":30277,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60313:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60317:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60313:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60313:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30276,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"60297:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60297:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30286,"nodeType":"ExpressionStatement","src":"60297:94:14"}]},"id":30288,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60209:3:14","nodeType":"FunctionDefinition","parameters":{"id":30274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30267,"mutability":"mutable","name":"p0","nameLocation":"60221:2:14","nodeType":"VariableDeclaration","scope":30288,"src":"60213:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30266,"name":"address","nodeType":"ElementaryTypeName","src":"60213:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30269,"mutability":"mutable","name":"p1","nameLocation":"60239:2:14","nodeType":"VariableDeclaration","scope":30288,"src":"60225:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30268,"name":"string","nodeType":"ElementaryTypeName","src":"60225:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30271,"mutability":"mutable","name":"p2","nameLocation":"60251:2:14","nodeType":"VariableDeclaration","scope":30288,"src":"60243:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30270,"name":"uint256","nodeType":"ElementaryTypeName","src":"60243:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30273,"mutability":"mutable","name":"p3","nameLocation":"60269:2:14","nodeType":"VariableDeclaration","scope":30288,"src":"60255:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30272,"name":"string","nodeType":"ElementaryTypeName","src":"60255:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60212:60:14"},"returnParameters":{"id":30275,"nodeType":"ParameterList","parameters":[],"src":"60287:0:14"},"scope":31347,"src":"60200:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30310,"nodeType":"Block","src":"60482:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":30302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60532:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":30303,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30290,"src":"60568:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30304,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30292,"src":"60572:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30305,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30294,"src":"60576:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30306,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30296,"src":"60580:2:14","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":30300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60508:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60512:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60508:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60508:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30299,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"60492:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60492:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30309,"nodeType":"ExpressionStatement","src":"60492:92:14"}]},"id":30311,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60413:3:14","nodeType":"FunctionDefinition","parameters":{"id":30297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30290,"mutability":"mutable","name":"p0","nameLocation":"60425:2:14","nodeType":"VariableDeclaration","scope":30311,"src":"60417:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30289,"name":"address","nodeType":"ElementaryTypeName","src":"60417:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30292,"mutability":"mutable","name":"p1","nameLocation":"60443:2:14","nodeType":"VariableDeclaration","scope":30311,"src":"60429:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30291,"name":"string","nodeType":"ElementaryTypeName","src":"60429:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30294,"mutability":"mutable","name":"p2","nameLocation":"60455:2:14","nodeType":"VariableDeclaration","scope":30311,"src":"60447:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30293,"name":"uint256","nodeType":"ElementaryTypeName","src":"60447:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30296,"mutability":"mutable","name":"p3","nameLocation":"60464:2:14","nodeType":"VariableDeclaration","scope":30311,"src":"60459:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30295,"name":"bool","nodeType":"ElementaryTypeName","src":"60459:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60416:51:14"},"returnParameters":{"id":30298,"nodeType":"ParameterList","parameters":[],"src":"60482:0:14"},"scope":31347,"src":"60404:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30333,"nodeType":"Block","src":"60678:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":30325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60728:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":30326,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30313,"src":"60767:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30327,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30315,"src":"60771:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30328,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30317,"src":"60775:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30329,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30319,"src":"60779:2:14","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":30323,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60704:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60708:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60704:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60704:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30322,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"60688:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60688:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30332,"nodeType":"ExpressionStatement","src":"60688:95:14"}]},"id":30334,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60606:3:14","nodeType":"FunctionDefinition","parameters":{"id":30320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30313,"mutability":"mutable","name":"p0","nameLocation":"60618:2:14","nodeType":"VariableDeclaration","scope":30334,"src":"60610:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30312,"name":"address","nodeType":"ElementaryTypeName","src":"60610:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30315,"mutability":"mutable","name":"p1","nameLocation":"60636:2:14","nodeType":"VariableDeclaration","scope":30334,"src":"60622:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30314,"name":"string","nodeType":"ElementaryTypeName","src":"60622:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30317,"mutability":"mutable","name":"p2","nameLocation":"60648:2:14","nodeType":"VariableDeclaration","scope":30334,"src":"60640:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30316,"name":"uint256","nodeType":"ElementaryTypeName","src":"60640:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30319,"mutability":"mutable","name":"p3","nameLocation":"60660:2:14","nodeType":"VariableDeclaration","scope":30334,"src":"60652:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30318,"name":"address","nodeType":"ElementaryTypeName","src":"60652:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60609:54:14"},"returnParameters":{"id":30321,"nodeType":"ParameterList","parameters":[],"src":"60678:0:14"},"scope":31347,"src":"60597:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30356,"nodeType":"Block","src":"60883:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":30348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60933:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":30349,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30336,"src":"60971:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30350,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30338,"src":"60975:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30351,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30340,"src":"60979:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30352,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30342,"src":"60983:2:14","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":30346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60909:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60913:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60909:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60909:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30345,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"60893:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60893:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30355,"nodeType":"ExpressionStatement","src":"60893:94:14"}]},"id":30357,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60805:3:14","nodeType":"FunctionDefinition","parameters":{"id":30343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30336,"mutability":"mutable","name":"p0","nameLocation":"60817:2:14","nodeType":"VariableDeclaration","scope":30357,"src":"60809:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30335,"name":"address","nodeType":"ElementaryTypeName","src":"60809:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30338,"mutability":"mutable","name":"p1","nameLocation":"60835:2:14","nodeType":"VariableDeclaration","scope":30357,"src":"60821:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30337,"name":"string","nodeType":"ElementaryTypeName","src":"60821:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30340,"mutability":"mutable","name":"p2","nameLocation":"60853:2:14","nodeType":"VariableDeclaration","scope":30357,"src":"60839:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30339,"name":"string","nodeType":"ElementaryTypeName","src":"60839:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30342,"mutability":"mutable","name":"p3","nameLocation":"60865:2:14","nodeType":"VariableDeclaration","scope":30357,"src":"60857:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30341,"name":"uint256","nodeType":"ElementaryTypeName","src":"60857:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60808:60:14"},"returnParameters":{"id":30344,"nodeType":"ParameterList","parameters":[],"src":"60883:0:14"},"scope":31347,"src":"60796:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30379,"nodeType":"Block","src":"61093:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":30371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61143:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":30372,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30359,"src":"61180:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30373,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30361,"src":"61184:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30374,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30363,"src":"61188:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30375,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30365,"src":"61192:2:14","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":30369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61119:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61123:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61119:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61119:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30368,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"61103:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61103:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30378,"nodeType":"ExpressionStatement","src":"61103:93:14"}]},"id":30380,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61009:3:14","nodeType":"FunctionDefinition","parameters":{"id":30366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30359,"mutability":"mutable","name":"p0","nameLocation":"61021:2:14","nodeType":"VariableDeclaration","scope":30380,"src":"61013:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30358,"name":"address","nodeType":"ElementaryTypeName","src":"61013:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30361,"mutability":"mutable","name":"p1","nameLocation":"61039:2:14","nodeType":"VariableDeclaration","scope":30380,"src":"61025:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30360,"name":"string","nodeType":"ElementaryTypeName","src":"61025:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30363,"mutability":"mutable","name":"p2","nameLocation":"61057:2:14","nodeType":"VariableDeclaration","scope":30380,"src":"61043:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30362,"name":"string","nodeType":"ElementaryTypeName","src":"61043:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30365,"mutability":"mutable","name":"p3","nameLocation":"61075:2:14","nodeType":"VariableDeclaration","scope":30380,"src":"61061:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30364,"name":"string","nodeType":"ElementaryTypeName","src":"61061:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61012:66:14"},"returnParameters":{"id":30367,"nodeType":"ParameterList","parameters":[],"src":"61093:0:14"},"scope":31347,"src":"61000:203:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30402,"nodeType":"Block","src":"61293:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":30394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61343:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":30395,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30382,"src":"61378:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30396,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30384,"src":"61382:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30397,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30386,"src":"61386:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30398,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30388,"src":"61390:2:14","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":30392,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61319:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61323:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61319:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61319:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"61303:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61303:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30401,"nodeType":"ExpressionStatement","src":"61303:91:14"}]},"id":30403,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61218:3:14","nodeType":"FunctionDefinition","parameters":{"id":30389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30382,"mutability":"mutable","name":"p0","nameLocation":"61230:2:14","nodeType":"VariableDeclaration","scope":30403,"src":"61222:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30381,"name":"address","nodeType":"ElementaryTypeName","src":"61222:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30384,"mutability":"mutable","name":"p1","nameLocation":"61248:2:14","nodeType":"VariableDeclaration","scope":30403,"src":"61234:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30383,"name":"string","nodeType":"ElementaryTypeName","src":"61234:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30386,"mutability":"mutable","name":"p2","nameLocation":"61266:2:14","nodeType":"VariableDeclaration","scope":30403,"src":"61252:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30385,"name":"string","nodeType":"ElementaryTypeName","src":"61252:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30388,"mutability":"mutable","name":"p3","nameLocation":"61275:2:14","nodeType":"VariableDeclaration","scope":30403,"src":"61270:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30387,"name":"bool","nodeType":"ElementaryTypeName","src":"61270:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61221:57:14"},"returnParameters":{"id":30390,"nodeType":"ParameterList","parameters":[],"src":"61293:0:14"},"scope":31347,"src":"61209:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30425,"nodeType":"Block","src":"61494:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":30417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61544:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":30418,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30405,"src":"61582:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30419,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30407,"src":"61586:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30420,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30409,"src":"61590:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30421,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30411,"src":"61594:2:14","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":30415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61520:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61524:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61520:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61520:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30414,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"61504:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61504:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30424,"nodeType":"ExpressionStatement","src":"61504:94:14"}]},"id":30426,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61416:3:14","nodeType":"FunctionDefinition","parameters":{"id":30412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30405,"mutability":"mutable","name":"p0","nameLocation":"61428:2:14","nodeType":"VariableDeclaration","scope":30426,"src":"61420:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30404,"name":"address","nodeType":"ElementaryTypeName","src":"61420:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30407,"mutability":"mutable","name":"p1","nameLocation":"61446:2:14","nodeType":"VariableDeclaration","scope":30426,"src":"61432:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30406,"name":"string","nodeType":"ElementaryTypeName","src":"61432:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30409,"mutability":"mutable","name":"p2","nameLocation":"61464:2:14","nodeType":"VariableDeclaration","scope":30426,"src":"61450:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30408,"name":"string","nodeType":"ElementaryTypeName","src":"61450:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30411,"mutability":"mutable","name":"p3","nameLocation":"61476:2:14","nodeType":"VariableDeclaration","scope":30426,"src":"61468:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30410,"name":"address","nodeType":"ElementaryTypeName","src":"61468:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61419:60:14"},"returnParameters":{"id":30413,"nodeType":"ParameterList","parameters":[],"src":"61494:0:14"},"scope":31347,"src":"61407:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30448,"nodeType":"Block","src":"61689:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":30440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61739:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":30441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30428,"src":"61775:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30430,"src":"61779:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30432,"src":"61783:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30444,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30434,"src":"61787:2:14","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":30438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61715:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61719:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61715:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61715:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"61699:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61699:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30447,"nodeType":"ExpressionStatement","src":"61699:92:14"}]},"id":30449,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61620:3:14","nodeType":"FunctionDefinition","parameters":{"id":30435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30428,"mutability":"mutable","name":"p0","nameLocation":"61632:2:14","nodeType":"VariableDeclaration","scope":30449,"src":"61624:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30427,"name":"address","nodeType":"ElementaryTypeName","src":"61624:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30430,"mutability":"mutable","name":"p1","nameLocation":"61650:2:14","nodeType":"VariableDeclaration","scope":30449,"src":"61636:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30429,"name":"string","nodeType":"ElementaryTypeName","src":"61636:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30432,"mutability":"mutable","name":"p2","nameLocation":"61659:2:14","nodeType":"VariableDeclaration","scope":30449,"src":"61654:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30431,"name":"bool","nodeType":"ElementaryTypeName","src":"61654:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30434,"mutability":"mutable","name":"p3","nameLocation":"61671:2:14","nodeType":"VariableDeclaration","scope":30449,"src":"61663:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30433,"name":"uint256","nodeType":"ElementaryTypeName","src":"61663:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61623:51:14"},"returnParameters":{"id":30436,"nodeType":"ParameterList","parameters":[],"src":"61689:0:14"},"scope":31347,"src":"61611:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30471,"nodeType":"Block","src":"61888:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":30463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61938:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":30464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30451,"src":"61973:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30453,"src":"61977:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30455,"src":"61981:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30467,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30457,"src":"61985:2:14","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":30461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61914:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61918:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61914:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61914:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"61898:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61898:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30470,"nodeType":"ExpressionStatement","src":"61898:91:14"}]},"id":30472,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61813:3:14","nodeType":"FunctionDefinition","parameters":{"id":30458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30451,"mutability":"mutable","name":"p0","nameLocation":"61825:2:14","nodeType":"VariableDeclaration","scope":30472,"src":"61817:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30450,"name":"address","nodeType":"ElementaryTypeName","src":"61817:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30453,"mutability":"mutable","name":"p1","nameLocation":"61843:2:14","nodeType":"VariableDeclaration","scope":30472,"src":"61829:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30452,"name":"string","nodeType":"ElementaryTypeName","src":"61829:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30455,"mutability":"mutable","name":"p2","nameLocation":"61852:2:14","nodeType":"VariableDeclaration","scope":30472,"src":"61847:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30454,"name":"bool","nodeType":"ElementaryTypeName","src":"61847:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30457,"mutability":"mutable","name":"p3","nameLocation":"61870:2:14","nodeType":"VariableDeclaration","scope":30472,"src":"61856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30456,"name":"string","nodeType":"ElementaryTypeName","src":"61856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61816:57:14"},"returnParameters":{"id":30459,"nodeType":"ParameterList","parameters":[],"src":"61888:0:14"},"scope":31347,"src":"61804:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30494,"nodeType":"Block","src":"62077:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":30486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62127:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":30487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30474,"src":"62160:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30488,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30476,"src":"62164:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30489,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30478,"src":"62168:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30490,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30480,"src":"62172:2:14","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":30484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62103:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62107:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62103:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62103:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"62087:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62087:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30493,"nodeType":"ExpressionStatement","src":"62087:89:14"}]},"id":30495,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62011:3:14","nodeType":"FunctionDefinition","parameters":{"id":30481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30474,"mutability":"mutable","name":"p0","nameLocation":"62023:2:14","nodeType":"VariableDeclaration","scope":30495,"src":"62015:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30473,"name":"address","nodeType":"ElementaryTypeName","src":"62015:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30476,"mutability":"mutable","name":"p1","nameLocation":"62041:2:14","nodeType":"VariableDeclaration","scope":30495,"src":"62027:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30475,"name":"string","nodeType":"ElementaryTypeName","src":"62027:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30478,"mutability":"mutable","name":"p2","nameLocation":"62050:2:14","nodeType":"VariableDeclaration","scope":30495,"src":"62045:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30477,"name":"bool","nodeType":"ElementaryTypeName","src":"62045:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30480,"mutability":"mutable","name":"p3","nameLocation":"62059:2:14","nodeType":"VariableDeclaration","scope":30495,"src":"62054:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30479,"name":"bool","nodeType":"ElementaryTypeName","src":"62054:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62014:48:14"},"returnParameters":{"id":30482,"nodeType":"ParameterList","parameters":[],"src":"62077:0:14"},"scope":31347,"src":"62002:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30517,"nodeType":"Block","src":"62267:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":30509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62317:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":30510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30497,"src":"62353:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30511,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30499,"src":"62357:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30512,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30501,"src":"62361:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30513,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30503,"src":"62365:2:14","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":30507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62293:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62297:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62293:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62293:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"62277:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62277:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30516,"nodeType":"ExpressionStatement","src":"62277:92:14"}]},"id":30518,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62198:3:14","nodeType":"FunctionDefinition","parameters":{"id":30504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30497,"mutability":"mutable","name":"p0","nameLocation":"62210:2:14","nodeType":"VariableDeclaration","scope":30518,"src":"62202:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30496,"name":"address","nodeType":"ElementaryTypeName","src":"62202:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30499,"mutability":"mutable","name":"p1","nameLocation":"62228:2:14","nodeType":"VariableDeclaration","scope":30518,"src":"62214:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30498,"name":"string","nodeType":"ElementaryTypeName","src":"62214:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30501,"mutability":"mutable","name":"p2","nameLocation":"62237:2:14","nodeType":"VariableDeclaration","scope":30518,"src":"62232:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30500,"name":"bool","nodeType":"ElementaryTypeName","src":"62232:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30503,"mutability":"mutable","name":"p3","nameLocation":"62249:2:14","nodeType":"VariableDeclaration","scope":30518,"src":"62241:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30502,"name":"address","nodeType":"ElementaryTypeName","src":"62241:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62201:51:14"},"returnParameters":{"id":30505,"nodeType":"ParameterList","parameters":[],"src":"62267:0:14"},"scope":31347,"src":"62189:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30540,"nodeType":"Block","src":"62463:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":30532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62513:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":30533,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30520,"src":"62552:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30534,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30522,"src":"62556:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30535,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30524,"src":"62560:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30536,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30526,"src":"62564:2:14","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":30530,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62489:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62493:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62489:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62489:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"62473:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62473:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30539,"nodeType":"ExpressionStatement","src":"62473:95:14"}]},"id":30541,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62391:3:14","nodeType":"FunctionDefinition","parameters":{"id":30527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30520,"mutability":"mutable","name":"p0","nameLocation":"62403:2:14","nodeType":"VariableDeclaration","scope":30541,"src":"62395:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30519,"name":"address","nodeType":"ElementaryTypeName","src":"62395:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30522,"mutability":"mutable","name":"p1","nameLocation":"62421:2:14","nodeType":"VariableDeclaration","scope":30541,"src":"62407:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30521,"name":"string","nodeType":"ElementaryTypeName","src":"62407:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30524,"mutability":"mutable","name":"p2","nameLocation":"62433:2:14","nodeType":"VariableDeclaration","scope":30541,"src":"62425:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30523,"name":"address","nodeType":"ElementaryTypeName","src":"62425:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30526,"mutability":"mutable","name":"p3","nameLocation":"62445:2:14","nodeType":"VariableDeclaration","scope":30541,"src":"62437:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30525,"name":"uint256","nodeType":"ElementaryTypeName","src":"62437:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62394:54:14"},"returnParameters":{"id":30528,"nodeType":"ParameterList","parameters":[],"src":"62463:0:14"},"scope":31347,"src":"62382:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30563,"nodeType":"Block","src":"62668:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":30555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62718:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":30556,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30543,"src":"62756:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30557,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30545,"src":"62760:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30558,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30547,"src":"62764:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30559,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30549,"src":"62768:2:14","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":30553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62694:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62698:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62694:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62694:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"62678:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62678:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30562,"nodeType":"ExpressionStatement","src":"62678:94:14"}]},"id":30564,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62590:3:14","nodeType":"FunctionDefinition","parameters":{"id":30550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30543,"mutability":"mutable","name":"p0","nameLocation":"62602:2:14","nodeType":"VariableDeclaration","scope":30564,"src":"62594:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30542,"name":"address","nodeType":"ElementaryTypeName","src":"62594:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30545,"mutability":"mutable","name":"p1","nameLocation":"62620:2:14","nodeType":"VariableDeclaration","scope":30564,"src":"62606:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30544,"name":"string","nodeType":"ElementaryTypeName","src":"62606:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30547,"mutability":"mutable","name":"p2","nameLocation":"62632:2:14","nodeType":"VariableDeclaration","scope":30564,"src":"62624:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30546,"name":"address","nodeType":"ElementaryTypeName","src":"62624:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30549,"mutability":"mutable","name":"p3","nameLocation":"62650:2:14","nodeType":"VariableDeclaration","scope":30564,"src":"62636:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30548,"name":"string","nodeType":"ElementaryTypeName","src":"62636:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62593:60:14"},"returnParameters":{"id":30551,"nodeType":"ParameterList","parameters":[],"src":"62668:0:14"},"scope":31347,"src":"62581:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30586,"nodeType":"Block","src":"62863:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":30578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62913:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":30579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30566,"src":"62949:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30568,"src":"62953:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30570,"src":"62957:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30582,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30572,"src":"62961:2:14","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":30576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62889:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62893:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62889:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62889:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"62873:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62873:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30585,"nodeType":"ExpressionStatement","src":"62873:92:14"}]},"id":30587,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62794:3:14","nodeType":"FunctionDefinition","parameters":{"id":30573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30566,"mutability":"mutable","name":"p0","nameLocation":"62806:2:14","nodeType":"VariableDeclaration","scope":30587,"src":"62798:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30565,"name":"address","nodeType":"ElementaryTypeName","src":"62798:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30568,"mutability":"mutable","name":"p1","nameLocation":"62824:2:14","nodeType":"VariableDeclaration","scope":30587,"src":"62810:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30567,"name":"string","nodeType":"ElementaryTypeName","src":"62810:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30570,"mutability":"mutable","name":"p2","nameLocation":"62836:2:14","nodeType":"VariableDeclaration","scope":30587,"src":"62828:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30569,"name":"address","nodeType":"ElementaryTypeName","src":"62828:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30572,"mutability":"mutable","name":"p3","nameLocation":"62845:2:14","nodeType":"VariableDeclaration","scope":30587,"src":"62840:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30571,"name":"bool","nodeType":"ElementaryTypeName","src":"62840:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62797:51:14"},"returnParameters":{"id":30574,"nodeType":"ParameterList","parameters":[],"src":"62863:0:14"},"scope":31347,"src":"62785:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30609,"nodeType":"Block","src":"63059:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":30601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63109:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":30602,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30589,"src":"63148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30603,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30591,"src":"63152:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30604,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30593,"src":"63156:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30605,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30595,"src":"63160:2:14","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":30599,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63085:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63089:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63085:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63085:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30598,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"63069:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63069:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30608,"nodeType":"ExpressionStatement","src":"63069:95:14"}]},"id":30610,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62987:3:14","nodeType":"FunctionDefinition","parameters":{"id":30596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30589,"mutability":"mutable","name":"p0","nameLocation":"62999:2:14","nodeType":"VariableDeclaration","scope":30610,"src":"62991:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30588,"name":"address","nodeType":"ElementaryTypeName","src":"62991:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30591,"mutability":"mutable","name":"p1","nameLocation":"63017:2:14","nodeType":"VariableDeclaration","scope":30610,"src":"63003:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30590,"name":"string","nodeType":"ElementaryTypeName","src":"63003:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30593,"mutability":"mutable","name":"p2","nameLocation":"63029:2:14","nodeType":"VariableDeclaration","scope":30610,"src":"63021:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30592,"name":"address","nodeType":"ElementaryTypeName","src":"63021:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30595,"mutability":"mutable","name":"p3","nameLocation":"63041:2:14","nodeType":"VariableDeclaration","scope":30610,"src":"63033:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30594,"name":"address","nodeType":"ElementaryTypeName","src":"63033:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62990:54:14"},"returnParameters":{"id":30597,"nodeType":"ParameterList","parameters":[],"src":"63059:0:14"},"scope":31347,"src":"62978:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30632,"nodeType":"Block","src":"63249:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":30624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63299:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":30625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30612,"src":"63336:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30614,"src":"63340:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30616,"src":"63344:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30628,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30618,"src":"63348:2:14","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":30622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63275:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63279:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63275:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63275:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"63259:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63259:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30631,"nodeType":"ExpressionStatement","src":"63259:93:14"}]},"id":30633,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63186:3:14","nodeType":"FunctionDefinition","parameters":{"id":30619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30612,"mutability":"mutable","name":"p0","nameLocation":"63198:2:14","nodeType":"VariableDeclaration","scope":30633,"src":"63190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30611,"name":"address","nodeType":"ElementaryTypeName","src":"63190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30614,"mutability":"mutable","name":"p1","nameLocation":"63207:2:14","nodeType":"VariableDeclaration","scope":30633,"src":"63202:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30613,"name":"bool","nodeType":"ElementaryTypeName","src":"63202:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30616,"mutability":"mutable","name":"p2","nameLocation":"63219:2:14","nodeType":"VariableDeclaration","scope":30633,"src":"63211:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30615,"name":"uint256","nodeType":"ElementaryTypeName","src":"63211:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30618,"mutability":"mutable","name":"p3","nameLocation":"63231:2:14","nodeType":"VariableDeclaration","scope":30633,"src":"63223:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30617,"name":"uint256","nodeType":"ElementaryTypeName","src":"63223:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63189:45:14"},"returnParameters":{"id":30620,"nodeType":"ParameterList","parameters":[],"src":"63249:0:14"},"scope":31347,"src":"63177:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30655,"nodeType":"Block","src":"63443:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":30647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63493:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":30648,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30635,"src":"63529:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30649,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30637,"src":"63533:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30650,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30639,"src":"63537:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30651,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30641,"src":"63541:2:14","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":30645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63469:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63473:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63469:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63469:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30644,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"63453:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63453:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30654,"nodeType":"ExpressionStatement","src":"63453:92:14"}]},"id":30656,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63374:3:14","nodeType":"FunctionDefinition","parameters":{"id":30642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30635,"mutability":"mutable","name":"p0","nameLocation":"63386:2:14","nodeType":"VariableDeclaration","scope":30656,"src":"63378:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30634,"name":"address","nodeType":"ElementaryTypeName","src":"63378:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30637,"mutability":"mutable","name":"p1","nameLocation":"63395:2:14","nodeType":"VariableDeclaration","scope":30656,"src":"63390:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30636,"name":"bool","nodeType":"ElementaryTypeName","src":"63390:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30639,"mutability":"mutable","name":"p2","nameLocation":"63407:2:14","nodeType":"VariableDeclaration","scope":30656,"src":"63399:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30638,"name":"uint256","nodeType":"ElementaryTypeName","src":"63399:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30641,"mutability":"mutable","name":"p3","nameLocation":"63425:2:14","nodeType":"VariableDeclaration","scope":30656,"src":"63411:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30640,"name":"string","nodeType":"ElementaryTypeName","src":"63411:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63377:51:14"},"returnParameters":{"id":30643,"nodeType":"ParameterList","parameters":[],"src":"63443:0:14"},"scope":31347,"src":"63365:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30678,"nodeType":"Block","src":"63627:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":30670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63677:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":30671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30658,"src":"63711:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30660,"src":"63715:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30673,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30662,"src":"63719:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30674,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30664,"src":"63723:2:14","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":30668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63653:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63657:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63653:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63653:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"63637:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63637:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30677,"nodeType":"ExpressionStatement","src":"63637:90:14"}]},"id":30679,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63567:3:14","nodeType":"FunctionDefinition","parameters":{"id":30665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30658,"mutability":"mutable","name":"p0","nameLocation":"63579:2:14","nodeType":"VariableDeclaration","scope":30679,"src":"63571:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30657,"name":"address","nodeType":"ElementaryTypeName","src":"63571:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30660,"mutability":"mutable","name":"p1","nameLocation":"63588:2:14","nodeType":"VariableDeclaration","scope":30679,"src":"63583:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30659,"name":"bool","nodeType":"ElementaryTypeName","src":"63583:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30662,"mutability":"mutable","name":"p2","nameLocation":"63600:2:14","nodeType":"VariableDeclaration","scope":30679,"src":"63592:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30661,"name":"uint256","nodeType":"ElementaryTypeName","src":"63592:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30664,"mutability":"mutable","name":"p3","nameLocation":"63609:2:14","nodeType":"VariableDeclaration","scope":30679,"src":"63604:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30663,"name":"bool","nodeType":"ElementaryTypeName","src":"63604:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63570:42:14"},"returnParameters":{"id":30666,"nodeType":"ParameterList","parameters":[],"src":"63627:0:14"},"scope":31347,"src":"63558:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30701,"nodeType":"Block","src":"63812:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":30693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63862:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":30694,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30681,"src":"63899:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30695,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30683,"src":"63903:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30696,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30685,"src":"63907:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30697,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30687,"src":"63911:2:14","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":30691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63838:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63842:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63838:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63838:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30690,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"63822:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63822:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30700,"nodeType":"ExpressionStatement","src":"63822:93:14"}]},"id":30702,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63749:3:14","nodeType":"FunctionDefinition","parameters":{"id":30688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30681,"mutability":"mutable","name":"p0","nameLocation":"63761:2:14","nodeType":"VariableDeclaration","scope":30702,"src":"63753:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30680,"name":"address","nodeType":"ElementaryTypeName","src":"63753:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30683,"mutability":"mutable","name":"p1","nameLocation":"63770:2:14","nodeType":"VariableDeclaration","scope":30702,"src":"63765:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30682,"name":"bool","nodeType":"ElementaryTypeName","src":"63765:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30685,"mutability":"mutable","name":"p2","nameLocation":"63782:2:14","nodeType":"VariableDeclaration","scope":30702,"src":"63774:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30684,"name":"uint256","nodeType":"ElementaryTypeName","src":"63774:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30687,"mutability":"mutable","name":"p3","nameLocation":"63794:2:14","nodeType":"VariableDeclaration","scope":30702,"src":"63786:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30686,"name":"address","nodeType":"ElementaryTypeName","src":"63786:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63752:45:14"},"returnParameters":{"id":30689,"nodeType":"ParameterList","parameters":[],"src":"63812:0:14"},"scope":31347,"src":"63740:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30724,"nodeType":"Block","src":"64006:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":30716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64056:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":30717,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"64092:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30718,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30706,"src":"64096:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30719,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30708,"src":"64100:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30720,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30710,"src":"64104:2:14","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":30714,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64032:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64036:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64032:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64032:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30713,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64016:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64016:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30723,"nodeType":"ExpressionStatement","src":"64016:92:14"}]},"id":30725,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63937:3:14","nodeType":"FunctionDefinition","parameters":{"id":30711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30704,"mutability":"mutable","name":"p0","nameLocation":"63949:2:14","nodeType":"VariableDeclaration","scope":30725,"src":"63941:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30703,"name":"address","nodeType":"ElementaryTypeName","src":"63941:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30706,"mutability":"mutable","name":"p1","nameLocation":"63958:2:14","nodeType":"VariableDeclaration","scope":30725,"src":"63953:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30705,"name":"bool","nodeType":"ElementaryTypeName","src":"63953:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30708,"mutability":"mutable","name":"p2","nameLocation":"63976:2:14","nodeType":"VariableDeclaration","scope":30725,"src":"63962:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30707,"name":"string","nodeType":"ElementaryTypeName","src":"63962:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30710,"mutability":"mutable","name":"p3","nameLocation":"63988:2:14","nodeType":"VariableDeclaration","scope":30725,"src":"63980:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30709,"name":"uint256","nodeType":"ElementaryTypeName","src":"63980:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63940:51:14"},"returnParameters":{"id":30712,"nodeType":"ParameterList","parameters":[],"src":"64006:0:14"},"scope":31347,"src":"63928:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30747,"nodeType":"Block","src":"64205:108:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":30739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64255:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":30740,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30727,"src":"64290:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30741,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30729,"src":"64294:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30742,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30731,"src":"64298:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30743,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30733,"src":"64302:2:14","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":30737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64231:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64235:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64231:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64231:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30736,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64215:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64215:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30746,"nodeType":"ExpressionStatement","src":"64215:91:14"}]},"id":30748,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64130:3:14","nodeType":"FunctionDefinition","parameters":{"id":30734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30727,"mutability":"mutable","name":"p0","nameLocation":"64142:2:14","nodeType":"VariableDeclaration","scope":30748,"src":"64134:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30726,"name":"address","nodeType":"ElementaryTypeName","src":"64134:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30729,"mutability":"mutable","name":"p1","nameLocation":"64151:2:14","nodeType":"VariableDeclaration","scope":30748,"src":"64146:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30728,"name":"bool","nodeType":"ElementaryTypeName","src":"64146:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30731,"mutability":"mutable","name":"p2","nameLocation":"64169:2:14","nodeType":"VariableDeclaration","scope":30748,"src":"64155:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30730,"name":"string","nodeType":"ElementaryTypeName","src":"64155:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30733,"mutability":"mutable","name":"p3","nameLocation":"64187:2:14","nodeType":"VariableDeclaration","scope":30748,"src":"64173:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30732,"name":"string","nodeType":"ElementaryTypeName","src":"64173:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64133:57:14"},"returnParameters":{"id":30735,"nodeType":"ParameterList","parameters":[],"src":"64205:0:14"},"scope":31347,"src":"64121:192:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30770,"nodeType":"Block","src":"64394:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":30762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64444:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":30763,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30750,"src":"64477:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30764,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30752,"src":"64481:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30765,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30754,"src":"64485:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30766,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30756,"src":"64489:2:14","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":30760,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64420:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64424:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64420:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64420:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64404:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64404:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30769,"nodeType":"ExpressionStatement","src":"64404:89:14"}]},"id":30771,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64328:3:14","nodeType":"FunctionDefinition","parameters":{"id":30757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30750,"mutability":"mutable","name":"p0","nameLocation":"64340:2:14","nodeType":"VariableDeclaration","scope":30771,"src":"64332:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30749,"name":"address","nodeType":"ElementaryTypeName","src":"64332:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30752,"mutability":"mutable","name":"p1","nameLocation":"64349:2:14","nodeType":"VariableDeclaration","scope":30771,"src":"64344:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30751,"name":"bool","nodeType":"ElementaryTypeName","src":"64344:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30754,"mutability":"mutable","name":"p2","nameLocation":"64367:2:14","nodeType":"VariableDeclaration","scope":30771,"src":"64353:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30753,"name":"string","nodeType":"ElementaryTypeName","src":"64353:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30756,"mutability":"mutable","name":"p3","nameLocation":"64376:2:14","nodeType":"VariableDeclaration","scope":30771,"src":"64371:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30755,"name":"bool","nodeType":"ElementaryTypeName","src":"64371:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64331:48:14"},"returnParameters":{"id":30758,"nodeType":"ParameterList","parameters":[],"src":"64394:0:14"},"scope":31347,"src":"64319:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30793,"nodeType":"Block","src":"64584:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":30785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64634:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":30786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30773,"src":"64670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30787,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30775,"src":"64674:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30788,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30777,"src":"64678:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":30789,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30779,"src":"64682:2:14","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":30783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64610:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64614:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64610:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64610:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64594:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64594:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30792,"nodeType":"ExpressionStatement","src":"64594:92:14"}]},"id":30794,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64515:3:14","nodeType":"FunctionDefinition","parameters":{"id":30780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30773,"mutability":"mutable","name":"p0","nameLocation":"64527:2:14","nodeType":"VariableDeclaration","scope":30794,"src":"64519:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30772,"name":"address","nodeType":"ElementaryTypeName","src":"64519:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30775,"mutability":"mutable","name":"p1","nameLocation":"64536:2:14","nodeType":"VariableDeclaration","scope":30794,"src":"64531:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30774,"name":"bool","nodeType":"ElementaryTypeName","src":"64531:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30777,"mutability":"mutable","name":"p2","nameLocation":"64554:2:14","nodeType":"VariableDeclaration","scope":30794,"src":"64540:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30776,"name":"string","nodeType":"ElementaryTypeName","src":"64540:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":30779,"mutability":"mutable","name":"p3","nameLocation":"64566:2:14","nodeType":"VariableDeclaration","scope":30794,"src":"64558:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30778,"name":"address","nodeType":"ElementaryTypeName","src":"64558:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64518:51:14"},"returnParameters":{"id":30781,"nodeType":"ParameterList","parameters":[],"src":"64584:0:14"},"scope":31347,"src":"64506:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30816,"nodeType":"Block","src":"64768:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":30808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64818:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":30809,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30796,"src":"64852:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30810,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30798,"src":"64856:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30811,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30800,"src":"64860:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30812,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30802,"src":"64864:2:14","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":30806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64794:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64798:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64794:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64794:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30805,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64778:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64778:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30815,"nodeType":"ExpressionStatement","src":"64778:90:14"}]},"id":30817,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64708:3:14","nodeType":"FunctionDefinition","parameters":{"id":30803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30796,"mutability":"mutable","name":"p0","nameLocation":"64720:2:14","nodeType":"VariableDeclaration","scope":30817,"src":"64712:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30795,"name":"address","nodeType":"ElementaryTypeName","src":"64712:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30798,"mutability":"mutable","name":"p1","nameLocation":"64729:2:14","nodeType":"VariableDeclaration","scope":30817,"src":"64724:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30797,"name":"bool","nodeType":"ElementaryTypeName","src":"64724:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30800,"mutability":"mutable","name":"p2","nameLocation":"64738:2:14","nodeType":"VariableDeclaration","scope":30817,"src":"64733:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30799,"name":"bool","nodeType":"ElementaryTypeName","src":"64733:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30802,"mutability":"mutable","name":"p3","nameLocation":"64750:2:14","nodeType":"VariableDeclaration","scope":30817,"src":"64742:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30801,"name":"uint256","nodeType":"ElementaryTypeName","src":"64742:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64711:42:14"},"returnParameters":{"id":30804,"nodeType":"ParameterList","parameters":[],"src":"64768:0:14"},"scope":31347,"src":"64699:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30839,"nodeType":"Block","src":"64956:106:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":30831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65006:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":30832,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30819,"src":"65039:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30833,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30821,"src":"65043:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30834,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30823,"src":"65047:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30835,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30825,"src":"65051:2:14","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":30829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64982:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64986:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64982:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64982:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30828,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"64966:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64966:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30838,"nodeType":"ExpressionStatement","src":"64966:89:14"}]},"id":30840,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64890:3:14","nodeType":"FunctionDefinition","parameters":{"id":30826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30819,"mutability":"mutable","name":"p0","nameLocation":"64902:2:14","nodeType":"VariableDeclaration","scope":30840,"src":"64894:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30818,"name":"address","nodeType":"ElementaryTypeName","src":"64894:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30821,"mutability":"mutable","name":"p1","nameLocation":"64911:2:14","nodeType":"VariableDeclaration","scope":30840,"src":"64906:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30820,"name":"bool","nodeType":"ElementaryTypeName","src":"64906:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30823,"mutability":"mutable","name":"p2","nameLocation":"64920:2:14","nodeType":"VariableDeclaration","scope":30840,"src":"64915:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30822,"name":"bool","nodeType":"ElementaryTypeName","src":"64915:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30825,"mutability":"mutable","name":"p3","nameLocation":"64938:2:14","nodeType":"VariableDeclaration","scope":30840,"src":"64924:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30824,"name":"string","nodeType":"ElementaryTypeName","src":"64924:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64893:48:14"},"returnParameters":{"id":30827,"nodeType":"ParameterList","parameters":[],"src":"64956:0:14"},"scope":31347,"src":"64881:181:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30862,"nodeType":"Block","src":"65134:104:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":30854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65184:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":30855,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30842,"src":"65215:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30856,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30844,"src":"65219:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30857,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30846,"src":"65223:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30858,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30848,"src":"65227:2:14","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":30852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65160:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65164:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65160:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65160:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30851,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"65144:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65144:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30861,"nodeType":"ExpressionStatement","src":"65144:87:14"}]},"id":30863,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65077:3:14","nodeType":"FunctionDefinition","parameters":{"id":30849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30842,"mutability":"mutable","name":"p0","nameLocation":"65089:2:14","nodeType":"VariableDeclaration","scope":30863,"src":"65081:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30841,"name":"address","nodeType":"ElementaryTypeName","src":"65081:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30844,"mutability":"mutable","name":"p1","nameLocation":"65098:2:14","nodeType":"VariableDeclaration","scope":30863,"src":"65093:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30843,"name":"bool","nodeType":"ElementaryTypeName","src":"65093:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30846,"mutability":"mutable","name":"p2","nameLocation":"65107:2:14","nodeType":"VariableDeclaration","scope":30863,"src":"65102:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30845,"name":"bool","nodeType":"ElementaryTypeName","src":"65102:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30848,"mutability":"mutable","name":"p3","nameLocation":"65116:2:14","nodeType":"VariableDeclaration","scope":30863,"src":"65111:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30847,"name":"bool","nodeType":"ElementaryTypeName","src":"65111:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65080:39:14"},"returnParameters":{"id":30850,"nodeType":"ParameterList","parameters":[],"src":"65134:0:14"},"scope":31347,"src":"65068:170:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30885,"nodeType":"Block","src":"65313:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":30877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65363:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":30878,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30865,"src":"65397:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30879,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30867,"src":"65401:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30880,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30869,"src":"65405:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30881,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30871,"src":"65409:2:14","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":30875,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65339:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65343:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65339:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65339:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30874,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"65323:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65323:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30884,"nodeType":"ExpressionStatement","src":"65323:90:14"}]},"id":30886,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65253:3:14","nodeType":"FunctionDefinition","parameters":{"id":30872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30865,"mutability":"mutable","name":"p0","nameLocation":"65265:2:14","nodeType":"VariableDeclaration","scope":30886,"src":"65257:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30864,"name":"address","nodeType":"ElementaryTypeName","src":"65257:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30867,"mutability":"mutable","name":"p1","nameLocation":"65274:2:14","nodeType":"VariableDeclaration","scope":30886,"src":"65269:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30866,"name":"bool","nodeType":"ElementaryTypeName","src":"65269:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30869,"mutability":"mutable","name":"p2","nameLocation":"65283:2:14","nodeType":"VariableDeclaration","scope":30886,"src":"65278:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30868,"name":"bool","nodeType":"ElementaryTypeName","src":"65278:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30871,"mutability":"mutable","name":"p3","nameLocation":"65295:2:14","nodeType":"VariableDeclaration","scope":30886,"src":"65287:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30870,"name":"address","nodeType":"ElementaryTypeName","src":"65287:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65256:42:14"},"returnParameters":{"id":30873,"nodeType":"ParameterList","parameters":[],"src":"65313:0:14"},"scope":31347,"src":"65244:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30908,"nodeType":"Block","src":"65498:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":30900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65548:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":30901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30888,"src":"65585:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30890,"src":"65589:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30892,"src":"65593:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30904,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30894,"src":"65597:2:14","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":30898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65524:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65528:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65524:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65524:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"65508:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65508:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30907,"nodeType":"ExpressionStatement","src":"65508:93:14"}]},"id":30909,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65435:3:14","nodeType":"FunctionDefinition","parameters":{"id":30895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30888,"mutability":"mutable","name":"p0","nameLocation":"65447:2:14","nodeType":"VariableDeclaration","scope":30909,"src":"65439:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30887,"name":"address","nodeType":"ElementaryTypeName","src":"65439:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30890,"mutability":"mutable","name":"p1","nameLocation":"65456:2:14","nodeType":"VariableDeclaration","scope":30909,"src":"65451:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30889,"name":"bool","nodeType":"ElementaryTypeName","src":"65451:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30892,"mutability":"mutable","name":"p2","nameLocation":"65468:2:14","nodeType":"VariableDeclaration","scope":30909,"src":"65460:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30891,"name":"address","nodeType":"ElementaryTypeName","src":"65460:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30894,"mutability":"mutable","name":"p3","nameLocation":"65480:2:14","nodeType":"VariableDeclaration","scope":30909,"src":"65472:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30893,"name":"uint256","nodeType":"ElementaryTypeName","src":"65472:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65438:45:14"},"returnParameters":{"id":30896,"nodeType":"ParameterList","parameters":[],"src":"65498:0:14"},"scope":31347,"src":"65426:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30931,"nodeType":"Block","src":"65692:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":30923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65742:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":30924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30911,"src":"65778:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30913,"src":"65782:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30926,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30915,"src":"65786:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30927,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30917,"src":"65790:2:14","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":30921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65718:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65722:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65718:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65718:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"65702:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65702:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30930,"nodeType":"ExpressionStatement","src":"65702:92:14"}]},"id":30932,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65623:3:14","nodeType":"FunctionDefinition","parameters":{"id":30918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30911,"mutability":"mutable","name":"p0","nameLocation":"65635:2:14","nodeType":"VariableDeclaration","scope":30932,"src":"65627:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30910,"name":"address","nodeType":"ElementaryTypeName","src":"65627:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30913,"mutability":"mutable","name":"p1","nameLocation":"65644:2:14","nodeType":"VariableDeclaration","scope":30932,"src":"65639:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30912,"name":"bool","nodeType":"ElementaryTypeName","src":"65639:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30915,"mutability":"mutable","name":"p2","nameLocation":"65656:2:14","nodeType":"VariableDeclaration","scope":30932,"src":"65648:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30914,"name":"address","nodeType":"ElementaryTypeName","src":"65648:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30917,"mutability":"mutable","name":"p3","nameLocation":"65674:2:14","nodeType":"VariableDeclaration","scope":30932,"src":"65660:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30916,"name":"string","nodeType":"ElementaryTypeName","src":"65660:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65626:51:14"},"returnParameters":{"id":30919,"nodeType":"ParameterList","parameters":[],"src":"65692:0:14"},"scope":31347,"src":"65614:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30954,"nodeType":"Block","src":"65876:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":30946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65926:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":30947,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30934,"src":"65960:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30948,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30936,"src":"65964:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30949,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30938,"src":"65968:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30950,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30940,"src":"65972:2:14","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":30944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65902:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65906:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65902:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65902:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30943,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"65886:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65886:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30953,"nodeType":"ExpressionStatement","src":"65886:90:14"}]},"id":30955,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65816:3:14","nodeType":"FunctionDefinition","parameters":{"id":30941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30934,"mutability":"mutable","name":"p0","nameLocation":"65828:2:14","nodeType":"VariableDeclaration","scope":30955,"src":"65820:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30933,"name":"address","nodeType":"ElementaryTypeName","src":"65820:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30936,"mutability":"mutable","name":"p1","nameLocation":"65837:2:14","nodeType":"VariableDeclaration","scope":30955,"src":"65832:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30935,"name":"bool","nodeType":"ElementaryTypeName","src":"65832:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30938,"mutability":"mutable","name":"p2","nameLocation":"65849:2:14","nodeType":"VariableDeclaration","scope":30955,"src":"65841:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30937,"name":"address","nodeType":"ElementaryTypeName","src":"65841:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30940,"mutability":"mutable","name":"p3","nameLocation":"65858:2:14","nodeType":"VariableDeclaration","scope":30955,"src":"65853:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30939,"name":"bool","nodeType":"ElementaryTypeName","src":"65853:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65819:42:14"},"returnParameters":{"id":30942,"nodeType":"ParameterList","parameters":[],"src":"65876:0:14"},"scope":31347,"src":"65807:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":30977,"nodeType":"Block","src":"66061:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":30969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66111:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":30970,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30957,"src":"66148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30971,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30959,"src":"66152:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":30972,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30961,"src":"66156:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30973,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30963,"src":"66160:2:14","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":30967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66087:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66091:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66087:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66087:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30966,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"66071:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66071:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30976,"nodeType":"ExpressionStatement","src":"66071:93:14"}]},"id":30978,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65998:3:14","nodeType":"FunctionDefinition","parameters":{"id":30964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30957,"mutability":"mutable","name":"p0","nameLocation":"66010:2:14","nodeType":"VariableDeclaration","scope":30978,"src":"66002:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30956,"name":"address","nodeType":"ElementaryTypeName","src":"66002:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30959,"mutability":"mutable","name":"p1","nameLocation":"66019:2:14","nodeType":"VariableDeclaration","scope":30978,"src":"66014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30958,"name":"bool","nodeType":"ElementaryTypeName","src":"66014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30961,"mutability":"mutable","name":"p2","nameLocation":"66031:2:14","nodeType":"VariableDeclaration","scope":30978,"src":"66023:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30960,"name":"address","nodeType":"ElementaryTypeName","src":"66023:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30963,"mutability":"mutable","name":"p3","nameLocation":"66043:2:14","nodeType":"VariableDeclaration","scope":30978,"src":"66035:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30962,"name":"address","nodeType":"ElementaryTypeName","src":"66035:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66001:45:14"},"returnParameters":{"id":30965,"nodeType":"ParameterList","parameters":[],"src":"66061:0:14"},"scope":31347,"src":"65989:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31000,"nodeType":"Block","src":"66252:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":30992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66302:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":30993,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30980,"src":"66342:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30994,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30982,"src":"66346:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30995,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30984,"src":"66350:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30996,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30986,"src":"66354:2:14","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":30990,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66278:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66282:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66278:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66278:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30989,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"66262:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":30998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66262:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30999,"nodeType":"ExpressionStatement","src":"66262:96:14"}]},"id":31001,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66186:3:14","nodeType":"FunctionDefinition","parameters":{"id":30987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30980,"mutability":"mutable","name":"p0","nameLocation":"66198:2:14","nodeType":"VariableDeclaration","scope":31001,"src":"66190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30979,"name":"address","nodeType":"ElementaryTypeName","src":"66190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30982,"mutability":"mutable","name":"p1","nameLocation":"66210:2:14","nodeType":"VariableDeclaration","scope":31001,"src":"66202:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30981,"name":"address","nodeType":"ElementaryTypeName","src":"66202:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30984,"mutability":"mutable","name":"p2","nameLocation":"66222:2:14","nodeType":"VariableDeclaration","scope":31001,"src":"66214:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30983,"name":"uint256","nodeType":"ElementaryTypeName","src":"66214:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30986,"mutability":"mutable","name":"p3","nameLocation":"66234:2:14","nodeType":"VariableDeclaration","scope":31001,"src":"66226:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30985,"name":"uint256","nodeType":"ElementaryTypeName","src":"66226:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66189:48:14"},"returnParameters":{"id":30988,"nodeType":"ParameterList","parameters":[],"src":"66252:0:14"},"scope":31347,"src":"66177:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31023,"nodeType":"Block","src":"66452:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":31015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66502:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":31016,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31003,"src":"66541:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31017,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31005,"src":"66545:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31018,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31007,"src":"66549:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31019,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31009,"src":"66553:2:14","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":31013,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66478:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66482:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66478:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66478:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31012,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"66462:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66462:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31022,"nodeType":"ExpressionStatement","src":"66462:95:14"}]},"id":31024,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66380:3:14","nodeType":"FunctionDefinition","parameters":{"id":31010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31003,"mutability":"mutable","name":"p0","nameLocation":"66392:2:14","nodeType":"VariableDeclaration","scope":31024,"src":"66384:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31002,"name":"address","nodeType":"ElementaryTypeName","src":"66384:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31005,"mutability":"mutable","name":"p1","nameLocation":"66404:2:14","nodeType":"VariableDeclaration","scope":31024,"src":"66396:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31004,"name":"address","nodeType":"ElementaryTypeName","src":"66396:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31007,"mutability":"mutable","name":"p2","nameLocation":"66416:2:14","nodeType":"VariableDeclaration","scope":31024,"src":"66408:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31006,"name":"uint256","nodeType":"ElementaryTypeName","src":"66408:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31009,"mutability":"mutable","name":"p3","nameLocation":"66434:2:14","nodeType":"VariableDeclaration","scope":31024,"src":"66420:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31008,"name":"string","nodeType":"ElementaryTypeName","src":"66420:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66383:54:14"},"returnParameters":{"id":31011,"nodeType":"ParameterList","parameters":[],"src":"66452:0:14"},"scope":31347,"src":"66371:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31046,"nodeType":"Block","src":"66642:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":31038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66692:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":31039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31026,"src":"66729:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31028,"src":"66733:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31030,"src":"66737:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31042,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31032,"src":"66741:2:14","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":31036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66668:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66672:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66668:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66668:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"66652:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66652:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31045,"nodeType":"ExpressionStatement","src":"66652:93:14"}]},"id":31047,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66579:3:14","nodeType":"FunctionDefinition","parameters":{"id":31033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31026,"mutability":"mutable","name":"p0","nameLocation":"66591:2:14","nodeType":"VariableDeclaration","scope":31047,"src":"66583:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31025,"name":"address","nodeType":"ElementaryTypeName","src":"66583:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31028,"mutability":"mutable","name":"p1","nameLocation":"66603:2:14","nodeType":"VariableDeclaration","scope":31047,"src":"66595:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31027,"name":"address","nodeType":"ElementaryTypeName","src":"66595:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31030,"mutability":"mutable","name":"p2","nameLocation":"66615:2:14","nodeType":"VariableDeclaration","scope":31047,"src":"66607:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31029,"name":"uint256","nodeType":"ElementaryTypeName","src":"66607:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31032,"mutability":"mutable","name":"p3","nameLocation":"66624:2:14","nodeType":"VariableDeclaration","scope":31047,"src":"66619:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31031,"name":"bool","nodeType":"ElementaryTypeName","src":"66619:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66582:45:14"},"returnParameters":{"id":31034,"nodeType":"ParameterList","parameters":[],"src":"66642:0:14"},"scope":31347,"src":"66570:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31069,"nodeType":"Block","src":"66833:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":31061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66883:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":31062,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31049,"src":"66923:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31063,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31051,"src":"66927:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31064,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31053,"src":"66931:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31065,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31055,"src":"66935:2:14","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":31059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66859:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66863:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66859:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66859:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31058,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"66843:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66843:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31068,"nodeType":"ExpressionStatement","src":"66843:96:14"}]},"id":31070,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66767:3:14","nodeType":"FunctionDefinition","parameters":{"id":31056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31049,"mutability":"mutable","name":"p0","nameLocation":"66779:2:14","nodeType":"VariableDeclaration","scope":31070,"src":"66771:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31048,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31051,"mutability":"mutable","name":"p1","nameLocation":"66791:2:14","nodeType":"VariableDeclaration","scope":31070,"src":"66783:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31050,"name":"address","nodeType":"ElementaryTypeName","src":"66783:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31053,"mutability":"mutable","name":"p2","nameLocation":"66803:2:14","nodeType":"VariableDeclaration","scope":31070,"src":"66795:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31052,"name":"uint256","nodeType":"ElementaryTypeName","src":"66795:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31055,"mutability":"mutable","name":"p3","nameLocation":"66815:2:14","nodeType":"VariableDeclaration","scope":31070,"src":"66807:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31054,"name":"address","nodeType":"ElementaryTypeName","src":"66807:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66770:48:14"},"returnParameters":{"id":31057,"nodeType":"ParameterList","parameters":[],"src":"66833:0:14"},"scope":31347,"src":"66758:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31092,"nodeType":"Block","src":"67033:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":31084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67083:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":31085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31072,"src":"67122:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31074,"src":"67126:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31076,"src":"67130:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31088,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31078,"src":"67134:2:14","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":31082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67059:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67063:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67059:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67059:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"67043:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67043:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31091,"nodeType":"ExpressionStatement","src":"67043:95:14"}]},"id":31093,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66961:3:14","nodeType":"FunctionDefinition","parameters":{"id":31079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31072,"mutability":"mutable","name":"p0","nameLocation":"66973:2:14","nodeType":"VariableDeclaration","scope":31093,"src":"66965:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31071,"name":"address","nodeType":"ElementaryTypeName","src":"66965:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31074,"mutability":"mutable","name":"p1","nameLocation":"66985:2:14","nodeType":"VariableDeclaration","scope":31093,"src":"66977:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31073,"name":"address","nodeType":"ElementaryTypeName","src":"66977:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31076,"mutability":"mutable","name":"p2","nameLocation":"67003:2:14","nodeType":"VariableDeclaration","scope":31093,"src":"66989:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31075,"name":"string","nodeType":"ElementaryTypeName","src":"66989:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31078,"mutability":"mutable","name":"p3","nameLocation":"67015:2:14","nodeType":"VariableDeclaration","scope":31093,"src":"67007:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31077,"name":"uint256","nodeType":"ElementaryTypeName","src":"67007:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66964:54:14"},"returnParameters":{"id":31080,"nodeType":"ParameterList","parameters":[],"src":"67033:0:14"},"scope":31347,"src":"66952:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31115,"nodeType":"Block","src":"67238:111:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":31107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67288:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":31108,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31095,"src":"67326:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31109,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31097,"src":"67330:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31110,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31099,"src":"67334:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31111,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31101,"src":"67338:2:14","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":31105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67264:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67268:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67264:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67264:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31104,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"67248:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67248:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31114,"nodeType":"ExpressionStatement","src":"67248:94:14"}]},"id":31116,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67160:3:14","nodeType":"FunctionDefinition","parameters":{"id":31102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31095,"mutability":"mutable","name":"p0","nameLocation":"67172:2:14","nodeType":"VariableDeclaration","scope":31116,"src":"67164:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31094,"name":"address","nodeType":"ElementaryTypeName","src":"67164:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31097,"mutability":"mutable","name":"p1","nameLocation":"67184:2:14","nodeType":"VariableDeclaration","scope":31116,"src":"67176:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31096,"name":"address","nodeType":"ElementaryTypeName","src":"67176:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31099,"mutability":"mutable","name":"p2","nameLocation":"67202:2:14","nodeType":"VariableDeclaration","scope":31116,"src":"67188:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31098,"name":"string","nodeType":"ElementaryTypeName","src":"67188:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31101,"mutability":"mutable","name":"p3","nameLocation":"67220:2:14","nodeType":"VariableDeclaration","scope":31116,"src":"67206:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31100,"name":"string","nodeType":"ElementaryTypeName","src":"67206:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67163:60:14"},"returnParameters":{"id":31103,"nodeType":"ParameterList","parameters":[],"src":"67238:0:14"},"scope":31347,"src":"67151:198:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31138,"nodeType":"Block","src":"67433:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":31130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67483:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":31131,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31118,"src":"67519:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31132,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31120,"src":"67523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31133,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31122,"src":"67527:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31134,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31124,"src":"67531:2:14","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":31128,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67459:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67463:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67459:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67459:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31127,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"67443:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67443:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31137,"nodeType":"ExpressionStatement","src":"67443:92:14"}]},"id":31139,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67364:3:14","nodeType":"FunctionDefinition","parameters":{"id":31125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31118,"mutability":"mutable","name":"p0","nameLocation":"67376:2:14","nodeType":"VariableDeclaration","scope":31139,"src":"67368:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31117,"name":"address","nodeType":"ElementaryTypeName","src":"67368:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31120,"mutability":"mutable","name":"p1","nameLocation":"67388:2:14","nodeType":"VariableDeclaration","scope":31139,"src":"67380:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31119,"name":"address","nodeType":"ElementaryTypeName","src":"67380:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31122,"mutability":"mutable","name":"p2","nameLocation":"67406:2:14","nodeType":"VariableDeclaration","scope":31139,"src":"67392:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31121,"name":"string","nodeType":"ElementaryTypeName","src":"67392:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31124,"mutability":"mutable","name":"p3","nameLocation":"67415:2:14","nodeType":"VariableDeclaration","scope":31139,"src":"67410:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31123,"name":"bool","nodeType":"ElementaryTypeName","src":"67410:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67367:51:14"},"returnParameters":{"id":31126,"nodeType":"ParameterList","parameters":[],"src":"67433:0:14"},"scope":31347,"src":"67355:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31161,"nodeType":"Block","src":"67629:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":31153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67679:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":31154,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31141,"src":"67718:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31155,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31143,"src":"67722:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31156,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31145,"src":"67726:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31157,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31147,"src":"67730:2:14","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":31151,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67655:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67659:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67655:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67655:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31150,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"67639:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67639:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31160,"nodeType":"ExpressionStatement","src":"67639:95:14"}]},"id":31162,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67557:3:14","nodeType":"FunctionDefinition","parameters":{"id":31148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31141,"mutability":"mutable","name":"p0","nameLocation":"67569:2:14","nodeType":"VariableDeclaration","scope":31162,"src":"67561:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31140,"name":"address","nodeType":"ElementaryTypeName","src":"67561:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31143,"mutability":"mutable","name":"p1","nameLocation":"67581:2:14","nodeType":"VariableDeclaration","scope":31162,"src":"67573:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31142,"name":"address","nodeType":"ElementaryTypeName","src":"67573:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31145,"mutability":"mutable","name":"p2","nameLocation":"67599:2:14","nodeType":"VariableDeclaration","scope":31162,"src":"67585:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31144,"name":"string","nodeType":"ElementaryTypeName","src":"67585:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31147,"mutability":"mutable","name":"p3","nameLocation":"67611:2:14","nodeType":"VariableDeclaration","scope":31162,"src":"67603:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31146,"name":"address","nodeType":"ElementaryTypeName","src":"67603:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67560:54:14"},"returnParameters":{"id":31149,"nodeType":"ParameterList","parameters":[],"src":"67629:0:14"},"scope":31347,"src":"67548:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31184,"nodeType":"Block","src":"67819:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":31176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67869:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":31177,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31164,"src":"67906:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31178,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31166,"src":"67910:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31179,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31168,"src":"67914:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":31180,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31170,"src":"67918:2:14","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":31174,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67845:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67849:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67845:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67845:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31173,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"67829:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67829:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31183,"nodeType":"ExpressionStatement","src":"67829:93:14"}]},"id":31185,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67756:3:14","nodeType":"FunctionDefinition","parameters":{"id":31171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31164,"mutability":"mutable","name":"p0","nameLocation":"67768:2:14","nodeType":"VariableDeclaration","scope":31185,"src":"67760:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31163,"name":"address","nodeType":"ElementaryTypeName","src":"67760:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31166,"mutability":"mutable","name":"p1","nameLocation":"67780:2:14","nodeType":"VariableDeclaration","scope":31185,"src":"67772:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31165,"name":"address","nodeType":"ElementaryTypeName","src":"67772:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31168,"mutability":"mutable","name":"p2","nameLocation":"67789:2:14","nodeType":"VariableDeclaration","scope":31185,"src":"67784:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31167,"name":"bool","nodeType":"ElementaryTypeName","src":"67784:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31170,"mutability":"mutable","name":"p3","nameLocation":"67801:2:14","nodeType":"VariableDeclaration","scope":31185,"src":"67793:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31169,"name":"uint256","nodeType":"ElementaryTypeName","src":"67793:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67759:45:14"},"returnParameters":{"id":31172,"nodeType":"ParameterList","parameters":[],"src":"67819:0:14"},"scope":31347,"src":"67747:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31207,"nodeType":"Block","src":"68013:109:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":31199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68063:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":31200,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31187,"src":"68099:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31201,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31189,"src":"68103:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31202,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31191,"src":"68107:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":31203,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31193,"src":"68111:2:14","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":31197,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68039:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68043:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68039:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68039:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31196,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68023:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68023:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31206,"nodeType":"ExpressionStatement","src":"68023:92:14"}]},"id":31208,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67944:3:14","nodeType":"FunctionDefinition","parameters":{"id":31194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31187,"mutability":"mutable","name":"p0","nameLocation":"67956:2:14","nodeType":"VariableDeclaration","scope":31208,"src":"67948:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31186,"name":"address","nodeType":"ElementaryTypeName","src":"67948:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31189,"mutability":"mutable","name":"p1","nameLocation":"67968:2:14","nodeType":"VariableDeclaration","scope":31208,"src":"67960:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31188,"name":"address","nodeType":"ElementaryTypeName","src":"67960:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31191,"mutability":"mutable","name":"p2","nameLocation":"67977:2:14","nodeType":"VariableDeclaration","scope":31208,"src":"67972:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31190,"name":"bool","nodeType":"ElementaryTypeName","src":"67972:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31193,"mutability":"mutable","name":"p3","nameLocation":"67995:2:14","nodeType":"VariableDeclaration","scope":31208,"src":"67981:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31192,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67947:51:14"},"returnParameters":{"id":31195,"nodeType":"ParameterList","parameters":[],"src":"68013:0:14"},"scope":31347,"src":"67935:187:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31230,"nodeType":"Block","src":"68197:107:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":31222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68247:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":31223,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31210,"src":"68281:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31224,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31212,"src":"68285:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31225,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31214,"src":"68289:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":31226,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31216,"src":"68293:2:14","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":31220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68223:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68227:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68223:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68223:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31219,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68207:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68207:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31229,"nodeType":"ExpressionStatement","src":"68207:90:14"}]},"id":31231,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68137:3:14","nodeType":"FunctionDefinition","parameters":{"id":31217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31210,"mutability":"mutable","name":"p0","nameLocation":"68149:2:14","nodeType":"VariableDeclaration","scope":31231,"src":"68141:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31209,"name":"address","nodeType":"ElementaryTypeName","src":"68141:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31212,"mutability":"mutable","name":"p1","nameLocation":"68161:2:14","nodeType":"VariableDeclaration","scope":31231,"src":"68153:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31211,"name":"address","nodeType":"ElementaryTypeName","src":"68153:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31214,"mutability":"mutable","name":"p2","nameLocation":"68170:2:14","nodeType":"VariableDeclaration","scope":31231,"src":"68165:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31213,"name":"bool","nodeType":"ElementaryTypeName","src":"68165:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31216,"mutability":"mutable","name":"p3","nameLocation":"68179:2:14","nodeType":"VariableDeclaration","scope":31231,"src":"68174:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31215,"name":"bool","nodeType":"ElementaryTypeName","src":"68174:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68140:42:14"},"returnParameters":{"id":31218,"nodeType":"ParameterList","parameters":[],"src":"68197:0:14"},"scope":31347,"src":"68128:176:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31253,"nodeType":"Block","src":"68382:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":31245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68432:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":31246,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31233,"src":"68469:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31247,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31235,"src":"68473:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31248,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31237,"src":"68477:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":31249,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31239,"src":"68481:2:14","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":31243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68408:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68412:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68408:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68408:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31242,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68392:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68392:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31252,"nodeType":"ExpressionStatement","src":"68392:93:14"}]},"id":31254,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68319:3:14","nodeType":"FunctionDefinition","parameters":{"id":31240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31233,"mutability":"mutable","name":"p0","nameLocation":"68331:2:14","nodeType":"VariableDeclaration","scope":31254,"src":"68323:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31232,"name":"address","nodeType":"ElementaryTypeName","src":"68323:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31235,"mutability":"mutable","name":"p1","nameLocation":"68343:2:14","nodeType":"VariableDeclaration","scope":31254,"src":"68335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31234,"name":"address","nodeType":"ElementaryTypeName","src":"68335:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31237,"mutability":"mutable","name":"p2","nameLocation":"68352:2:14","nodeType":"VariableDeclaration","scope":31254,"src":"68347:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31236,"name":"bool","nodeType":"ElementaryTypeName","src":"68347:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31239,"mutability":"mutable","name":"p3","nameLocation":"68364:2:14","nodeType":"VariableDeclaration","scope":31254,"src":"68356:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31238,"name":"address","nodeType":"ElementaryTypeName","src":"68356:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68322:45:14"},"returnParameters":{"id":31241,"nodeType":"ParameterList","parameters":[],"src":"68382:0:14"},"scope":31347,"src":"68310:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31276,"nodeType":"Block","src":"68573:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":31268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68623:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":31269,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31256,"src":"68663:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31270,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31258,"src":"68667:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31271,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31260,"src":"68671:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31272,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31262,"src":"68675:2:14","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":31266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68599:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68603:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68599:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68599:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31265,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68583:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68583:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31275,"nodeType":"ExpressionStatement","src":"68583:96:14"}]},"id":31277,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68507:3:14","nodeType":"FunctionDefinition","parameters":{"id":31263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31256,"mutability":"mutable","name":"p0","nameLocation":"68519:2:14","nodeType":"VariableDeclaration","scope":31277,"src":"68511:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31255,"name":"address","nodeType":"ElementaryTypeName","src":"68511:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31258,"mutability":"mutable","name":"p1","nameLocation":"68531:2:14","nodeType":"VariableDeclaration","scope":31277,"src":"68523:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31257,"name":"address","nodeType":"ElementaryTypeName","src":"68523:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31260,"mutability":"mutable","name":"p2","nameLocation":"68543:2:14","nodeType":"VariableDeclaration","scope":31277,"src":"68535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31259,"name":"address","nodeType":"ElementaryTypeName","src":"68535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31262,"mutability":"mutable","name":"p3","nameLocation":"68555:2:14","nodeType":"VariableDeclaration","scope":31277,"src":"68547:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31261,"name":"uint256","nodeType":"ElementaryTypeName","src":"68547:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68510:48:14"},"returnParameters":{"id":31264,"nodeType":"ParameterList","parameters":[],"src":"68573:0:14"},"scope":31347,"src":"68498:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31299,"nodeType":"Block","src":"68773:112:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":31291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68823:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":31292,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31279,"src":"68862:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31293,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31281,"src":"68866:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31294,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31283,"src":"68870:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31295,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31285,"src":"68874:2:14","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":31289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68799:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68803:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68799:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68799:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31288,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68783:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68783:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31298,"nodeType":"ExpressionStatement","src":"68783:95:14"}]},"id":31300,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68701:3:14","nodeType":"FunctionDefinition","parameters":{"id":31286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31279,"mutability":"mutable","name":"p0","nameLocation":"68713:2:14","nodeType":"VariableDeclaration","scope":31300,"src":"68705:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31278,"name":"address","nodeType":"ElementaryTypeName","src":"68705:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31281,"mutability":"mutable","name":"p1","nameLocation":"68725:2:14","nodeType":"VariableDeclaration","scope":31300,"src":"68717:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31280,"name":"address","nodeType":"ElementaryTypeName","src":"68717:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31283,"mutability":"mutable","name":"p2","nameLocation":"68737:2:14","nodeType":"VariableDeclaration","scope":31300,"src":"68729:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31282,"name":"address","nodeType":"ElementaryTypeName","src":"68729:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31285,"mutability":"mutable","name":"p3","nameLocation":"68755:2:14","nodeType":"VariableDeclaration","scope":31300,"src":"68741:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31284,"name":"string","nodeType":"ElementaryTypeName","src":"68741:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68704:54:14"},"returnParameters":{"id":31287,"nodeType":"ParameterList","parameters":[],"src":"68773:0:14"},"scope":31347,"src":"68692:193:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31322,"nodeType":"Block","src":"68963:110:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":31314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69013:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":31315,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31302,"src":"69050:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31316,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31304,"src":"69054:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31317,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31306,"src":"69058:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31318,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31308,"src":"69062:2:14","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":31312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68989:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68993:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68989:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68989:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31311,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"68973:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68973:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31321,"nodeType":"ExpressionStatement","src":"68973:93:14"}]},"id":31323,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68900:3:14","nodeType":"FunctionDefinition","parameters":{"id":31309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31302,"mutability":"mutable","name":"p0","nameLocation":"68912:2:14","nodeType":"VariableDeclaration","scope":31323,"src":"68904:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31301,"name":"address","nodeType":"ElementaryTypeName","src":"68904:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31304,"mutability":"mutable","name":"p1","nameLocation":"68924:2:14","nodeType":"VariableDeclaration","scope":31323,"src":"68916:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31303,"name":"address","nodeType":"ElementaryTypeName","src":"68916:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31306,"mutability":"mutable","name":"p2","nameLocation":"68936:2:14","nodeType":"VariableDeclaration","scope":31323,"src":"68928:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31305,"name":"address","nodeType":"ElementaryTypeName","src":"68928:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31308,"mutability":"mutable","name":"p3","nameLocation":"68945:2:14","nodeType":"VariableDeclaration","scope":31323,"src":"68940:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31307,"name":"bool","nodeType":"ElementaryTypeName","src":"68940:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68903:45:14"},"returnParameters":{"id":31310,"nodeType":"ParameterList","parameters":[],"src":"68963:0:14"},"scope":31347,"src":"68891:182:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31345,"nodeType":"Block","src":"69154:113:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":31337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69204:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":31338,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31325,"src":"69244:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31339,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31327,"src":"69248:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31340,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31329,"src":"69252:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":31341,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31331,"src":"69256:2:14","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":31335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69180:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69184:19:14","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69180:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69180:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"69164:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":31343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69164:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31344,"nodeType":"ExpressionStatement","src":"69164:96:14"}]},"id":31346,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69088:3:14","nodeType":"FunctionDefinition","parameters":{"id":31332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31325,"mutability":"mutable","name":"p0","nameLocation":"69100:2:14","nodeType":"VariableDeclaration","scope":31346,"src":"69092:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31324,"name":"address","nodeType":"ElementaryTypeName","src":"69092:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31327,"mutability":"mutable","name":"p1","nameLocation":"69112:2:14","nodeType":"VariableDeclaration","scope":31346,"src":"69104:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31326,"name":"address","nodeType":"ElementaryTypeName","src":"69104:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31329,"mutability":"mutable","name":"p2","nameLocation":"69124:2:14","nodeType":"VariableDeclaration","scope":31346,"src":"69116:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31328,"name":"address","nodeType":"ElementaryTypeName","src":"69116:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31331,"mutability":"mutable","name":"p3","nameLocation":"69136:2:14","nodeType":"VariableDeclaration","scope":31346,"src":"69128:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31330,"name":"address","nodeType":"ElementaryTypeName","src":"69128:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69091:48:14"},"returnParameters":{"id":31333,"nodeType":"ParameterList","parameters":[],"src":"69154:0:14"},"scope":31347,"src":"69079:188:14","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":31348,"src":"66:69203:14","usedErrors":[],"usedEvents":[]}],"src":"32:69238:14"},"id":14},"v4-core/lib/forge-std/src/console2.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/console2.sol","exportedSymbols":{"console2":[31347]},"id":31352,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":31349,"literals":["solidity",">=","0.4",".22","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:32:15"},{"absolutePath":"v4-core/lib/forge-std/src/console.sol","file":"./console.sol","id":31351,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":31352,"sourceUnit":31348,"src":"66:50:15","symbolAliases":[{"foreign":{"id":31350,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"74:7:15","typeDescriptions":{}},"local":"console2","nameLocation":"-1:-1:-1"}],"unitAlias":""}],"src":"32:85:15"},"id":15},"v4-core/lib/forge-std/src/interfaces/IERC165.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[58173]},"id":58174,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":58164,"literals":["solidity",">=","0.6",".2"],"nodeType":"PragmaDirective","src":"32:24:16"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":58173,"linearizedBaseContracts":[58173],"name":"IERC165","nameLocation":"68:7:16","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":58165,"nodeType":"StructuredDocumentation","src":"82:371:16","text":"@notice Query if a contract implements an interface\n @param interfaceID The interface identifier, as specified in ERC-165\n @dev Interface identification is specified in ERC-165. This function\n uses less than 30,000 gas.\n @return `true` if the contract implements `interfaceID` and\n `interfaceID` is not 0xffffffff, `false` otherwise"},"functionSelector":"01ffc9a7","id":58172,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"467:17:16","nodeType":"FunctionDefinition","parameters":{"id":58168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58167,"mutability":"mutable","name":"interfaceID","nameLocation":"492:11:16","nodeType":"VariableDeclaration","scope":58172,"src":"485:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":58166,"name":"bytes4","nodeType":"ElementaryTypeName","src":"485:6:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"484:20:16"},"returnParameters":{"id":58171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58172,"src":"528:4:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58169,"name":"bool","nodeType":"ElementaryTypeName","src":"528:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"527:6:16"},"scope":58173,"src":"458:76:16","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":58174,"src":"58:478:16","usedErrors":[],"usedEvents":[]}],"src":"32:505:16"},"id":16},"v4-core/lib/forge-std/src/interfaces/IERC20.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC20.sol","exportedSymbols":{"IERC20":[57625]},"id":57626,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57531,"literals":["solidity",">=","0.6",".2"],"nodeType":"PragmaDirective","src":"32:24:17"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":57532,"nodeType":"StructuredDocumentation","src":"58:137:17","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"id":57625,"linearizedBaseContracts":[57625],"name":"IERC20","nameLocation":"205:6:17","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":57533,"nodeType":"StructuredDocumentation","src":"218:91:17","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":57541,"name":"Transfer","nameLocation":"320:8:17","nodeType":"EventDefinition","parameters":{"id":57540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57535,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:17","nodeType":"VariableDeclaration","scope":57541,"src":"329:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57534,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57537,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:17","nodeType":"VariableDeclaration","scope":57541,"src":"351:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57536,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57539,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:17","nodeType":"VariableDeclaration","scope":57541,"src":"371:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57538,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:17"},"src":"314:72:17"},{"anonymous":false,"documentation":{"id":57542,"nodeType":"StructuredDocumentation","src":"392:117:17","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":57550,"name":"Approval","nameLocation":"520:8:17","nodeType":"EventDefinition","parameters":{"id":57549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57544,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:17","nodeType":"VariableDeclaration","scope":57550,"src":"529:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57543,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57546,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:17","nodeType":"VariableDeclaration","scope":57550,"src":"552:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57545,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57548,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:17","nodeType":"VariableDeclaration","scope":57550,"src":"577:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57547,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:17"},"src":"514:78:17"},{"documentation":{"id":57551,"nodeType":"StructuredDocumentation","src":"598:54:17","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":57556,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:17","nodeType":"FunctionDefinition","parameters":{"id":57552,"nodeType":"ParameterList","parameters":[],"src":"677:2:17"},"returnParameters":{"id":57555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57556,"src":"703:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57553,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:17"},"scope":57625,"src":"657:55:17","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57557,"nodeType":"StructuredDocumentation","src":"718:60:17","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":57564,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:17","nodeType":"FunctionDefinition","parameters":{"id":57560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57559,"mutability":"mutable","name":"account","nameLocation":"810:7:17","nodeType":"VariableDeclaration","scope":57564,"src":"802:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57558,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:17"},"returnParameters":{"id":57563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57564,"src":"842:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57561,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:17"},"scope":57625,"src":"783:68:17","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57565,"nodeType":"StructuredDocumentation","src":"857:68:17","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","id":57574,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:17","nodeType":"FunctionDefinition","parameters":{"id":57570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57567,"mutability":"mutable","name":"to","nameLocation":"956:2:17","nodeType":"VariableDeclaration","scope":57574,"src":"948:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57566,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57569,"mutability":"mutable","name":"amount","nameLocation":"968:6:17","nodeType":"VariableDeclaration","scope":57574,"src":"960:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57568,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:17"},"returnParameters":{"id":57573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57574,"src":"994:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57571,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:17"},"scope":57625,"src":"930:70:17","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":57575,"nodeType":"StructuredDocumentation","src":"1006:114:17","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","id":57584,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:17","nodeType":"FunctionDefinition","parameters":{"id":57580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57577,"mutability":"mutable","name":"owner","nameLocation":"1152:5:17","nodeType":"VariableDeclaration","scope":57584,"src":"1144:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57576,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57579,"mutability":"mutable","name":"spender","nameLocation":"1167:7:17","nodeType":"VariableDeclaration","scope":57584,"src":"1159:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57578,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:17"},"returnParameters":{"id":57583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57584,"src":"1199:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57581,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:17"},"scope":57625,"src":"1125:83:17","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57585,"nodeType":"StructuredDocumentation","src":"1214:193:17","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","id":57594,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:17","nodeType":"FunctionDefinition","parameters":{"id":57590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57587,"mutability":"mutable","name":"spender","nameLocation":"1437:7:17","nodeType":"VariableDeclaration","scope":57594,"src":"1429:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57586,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57589,"mutability":"mutable","name":"amount","nameLocation":"1454:6:17","nodeType":"VariableDeclaration","scope":57594,"src":"1446:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57588,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:17"},"returnParameters":{"id":57593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57594,"src":"1480:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57591,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:17"},"scope":57625,"src":"1412:74:17","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":57595,"nodeType":"StructuredDocumentation","src":"1492:147:17","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","id":57606,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:17","nodeType":"FunctionDefinition","parameters":{"id":57602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57597,"mutability":"mutable","name":"from","nameLocation":"1674:4:17","nodeType":"VariableDeclaration","scope":57606,"src":"1666:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57596,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57599,"mutability":"mutable","name":"to","nameLocation":"1688:2:17","nodeType":"VariableDeclaration","scope":57606,"src":"1680:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57598,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57601,"mutability":"mutable","name":"amount","nameLocation":"1700:6:17","nodeType":"VariableDeclaration","scope":57606,"src":"1692:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57600,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:17"},"returnParameters":{"id":57605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57606,"src":"1726:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57603,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:17"},"scope":57625,"src":"1644:88:17","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":57607,"nodeType":"StructuredDocumentation","src":"1738:42:17","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","id":57612,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:17","nodeType":"FunctionDefinition","parameters":{"id":57608,"nodeType":"ParameterList","parameters":[],"src":"1798:2:17"},"returnParameters":{"id":57611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57612,"src":"1824:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57609,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:17"},"scope":57625,"src":"1785:54:17","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57613,"nodeType":"StructuredDocumentation","src":"1845:44:17","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","id":57618,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:17","nodeType":"FunctionDefinition","parameters":{"id":57614,"nodeType":"ParameterList","parameters":[],"src":"1909:2:17"},"returnParameters":{"id":57617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57616,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57618,"src":"1935:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57615,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:17"},"scope":57625,"src":"1894:56:17","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57619,"nodeType":"StructuredDocumentation","src":"1956:53:17","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","id":57624,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:17","nodeType":"FunctionDefinition","parameters":{"id":57620,"nodeType":"ParameterList","parameters":[],"src":"2031:2:17"},"returnParameters":{"id":57623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57624,"src":"2057:5:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57621,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:17"},"scope":57625,"src":"2014:50:17","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57626,"src":"195:1871:17","usedErrors":[],"usedEvents":[57541,57550]}],"src":"32:2035:17"},"id":17},"v4-core/lib/forge-std/src/interfaces/IERC721.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC721.sol","exportedSymbols":{"IERC165":[58173],"IERC721":[57741],"IERC721Enumerable":[57809],"IERC721Metadata":[57781],"IERC721TokenReceiver":[57757]},"id":57810,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57627,"literals":["solidity",">=","0.6",".2"],"nodeType":"PragmaDirective","src":"32:24:18"},{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC165.sol","file":"./IERC165.sol","id":57628,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57810,"sourceUnit":58174,"src":"58:23:18","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":57630,"name":"IERC165","nameLocations":["270:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":58173,"src":"270:7:18"},"id":57631,"nodeType":"InheritanceSpecifier","src":"270:7:18"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":57629,"nodeType":"StructuredDocumentation","src":"83:166:18","text":"@title ERC-721 Non-Fungible Token Standard\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x80ac58cd."},"fullyImplemented":false,"id":57741,"linearizedBaseContracts":[57741,58173],"name":"IERC721","nameLocation":"259:7:18","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":57632,"nodeType":"StructuredDocumentation","src":"284:384:18","text":"@dev This emits when ownership of any NFT changes by any mechanism.\n This event emits when NFTs are created (`from` == 0) and destroyed\n (`to` == 0). Exception: during contract creation, any number of NFTs\n may be created and assigned without emitting Transfer. At the time of\n any transfer, the approved address for that NFT (if any) is reset to none."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":57640,"name":"Transfer","nameLocation":"679:8:18","nodeType":"EventDefinition","parameters":{"id":57639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57634,"indexed":true,"mutability":"mutable","name":"_from","nameLocation":"704:5:18","nodeType":"VariableDeclaration","scope":57640,"src":"688:21:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57633,"name":"address","nodeType":"ElementaryTypeName","src":"688:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57636,"indexed":true,"mutability":"mutable","name":"_to","nameLocation":"727:3:18","nodeType":"VariableDeclaration","scope":57640,"src":"711:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57635,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57638,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"748:8:18","nodeType":"VariableDeclaration","scope":57640,"src":"732:24:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57637,"name":"uint256","nodeType":"ElementaryTypeName","src":"732:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:70:18"},"src":"673:85:18"},{"anonymous":false,"documentation":{"id":57641,"nodeType":"StructuredDocumentation","src":"764:278:18","text":"@dev This emits when the approved address for an NFT is changed or\n reaffirmed. The zero address indicates there is no approved address.\n When a Transfer event emits, this also indicates that the approved\n address for that NFT (if any) is reset to none."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":57649,"name":"Approval","nameLocation":"1053:8:18","nodeType":"EventDefinition","parameters":{"id":57648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57643,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1078:6:18","nodeType":"VariableDeclaration","scope":57649,"src":"1062:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57642,"name":"address","nodeType":"ElementaryTypeName","src":"1062:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57645,"indexed":true,"mutability":"mutable","name":"_approved","nameLocation":"1102:9:18","nodeType":"VariableDeclaration","scope":57649,"src":"1086:25:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57644,"name":"address","nodeType":"ElementaryTypeName","src":"1086:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57647,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1129:8:18","nodeType":"VariableDeclaration","scope":57649,"src":"1113:24:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57646,"name":"uint256","nodeType":"ElementaryTypeName","src":"1113:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1061:77:18"},"src":"1047:92:18"},{"anonymous":false,"documentation":{"id":57650,"nodeType":"StructuredDocumentation","src":"1145:128:18","text":"@dev This emits when an operator is enabled or disabled for an owner.\n The operator can manage all NFTs of the owner."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":57658,"name":"ApprovalForAll","nameLocation":"1284:14:18","nodeType":"EventDefinition","parameters":{"id":57657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57652,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1315:6:18","nodeType":"VariableDeclaration","scope":57658,"src":"1299:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57651,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57654,"indexed":true,"mutability":"mutable","name":"_operator","nameLocation":"1339:9:18","nodeType":"VariableDeclaration","scope":57658,"src":"1323:25:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57653,"name":"address","nodeType":"ElementaryTypeName","src":"1323:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57656,"indexed":false,"mutability":"mutable","name":"_approved","nameLocation":"1355:9:18","nodeType":"VariableDeclaration","scope":57658,"src":"1350:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57655,"name":"bool","nodeType":"ElementaryTypeName","src":"1350:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:67:18"},"src":"1278:88:18"},{"documentation":{"id":57659,"nodeType":"StructuredDocumentation","src":"1372:318:18","text":"@notice Count all NFTs assigned to an owner\n @dev NFTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param _owner An address for whom to query the balance\n @return The number of NFTs owned by `_owner`, possibly zero"},"functionSelector":"70a08231","id":57666,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1704:9:18","nodeType":"FunctionDefinition","parameters":{"id":57662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57661,"mutability":"mutable","name":"_owner","nameLocation":"1722:6:18","nodeType":"VariableDeclaration","scope":57666,"src":"1714:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57660,"name":"address","nodeType":"ElementaryTypeName","src":"1714:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1713:16:18"},"returnParameters":{"id":57665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57666,"src":"1753:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57663,"name":"uint256","nodeType":"ElementaryTypeName","src":"1753:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1752:9:18"},"scope":57741,"src":"1695:67:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57667,"nodeType":"StructuredDocumentation","src":"1768:246:18","text":"@notice Find the owner of an NFT\n @dev NFTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param _tokenId The identifier for an NFT\n @return The address of the owner of the NFT"},"functionSelector":"6352211e","id":57674,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2028:7:18","nodeType":"FunctionDefinition","parameters":{"id":57670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57669,"mutability":"mutable","name":"_tokenId","nameLocation":"2044:8:18","nodeType":"VariableDeclaration","scope":57674,"src":"2036:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57668,"name":"uint256","nodeType":"ElementaryTypeName","src":"2036:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2035:18:18"},"returnParameters":{"id":57673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57674,"src":"2077:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57671,"name":"address","nodeType":"ElementaryTypeName","src":"2077:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2076:9:18"},"scope":57741,"src":"2019:67:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57675,"nodeType":"StructuredDocumentation","src":"2092:834:18","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT. When transfer is complete, this function\n checks if `_to` is a smart contract (code size > 0). If so, it calls\n `onERC721Received` on `_to` and throws if the return value is not\n `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer\n @param data Additional data with no specified format, sent in call to `_to`"},"functionSelector":"b88d4fde","id":57686,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2940:16:18","nodeType":"FunctionDefinition","parameters":{"id":57684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57677,"mutability":"mutable","name":"_from","nameLocation":"2965:5:18","nodeType":"VariableDeclaration","scope":57686,"src":"2957:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57676,"name":"address","nodeType":"ElementaryTypeName","src":"2957:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57679,"mutability":"mutable","name":"_to","nameLocation":"2980:3:18","nodeType":"VariableDeclaration","scope":57686,"src":"2972:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57678,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57681,"mutability":"mutable","name":"_tokenId","nameLocation":"2993:8:18","nodeType":"VariableDeclaration","scope":57686,"src":"2985:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57680,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57683,"mutability":"mutable","name":"data","nameLocation":"3018:4:18","nodeType":"VariableDeclaration","scope":57686,"src":"3003:19:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":57682,"name":"bytes","nodeType":"ElementaryTypeName","src":"3003:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2956:67:18"},"returnParameters":{"id":57685,"nodeType":"ParameterList","parameters":[],"src":"3040:0:18"},"scope":57741,"src":"2931:110:18","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":57687,"nodeType":"StructuredDocumentation","src":"3047:347:18","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev This works identically to the other function with an extra data parameter,\n except this function just sets data to \"\".\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"42842e0e","id":57696,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3408:16:18","nodeType":"FunctionDefinition","parameters":{"id":57694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57689,"mutability":"mutable","name":"_from","nameLocation":"3433:5:18","nodeType":"VariableDeclaration","scope":57696,"src":"3425:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57688,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57691,"mutability":"mutable","name":"_to","nameLocation":"3448:3:18","nodeType":"VariableDeclaration","scope":57696,"src":"3440:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57690,"name":"address","nodeType":"ElementaryTypeName","src":"3440:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57693,"mutability":"mutable","name":"_tokenId","nameLocation":"3461:8:18","nodeType":"VariableDeclaration","scope":57696,"src":"3453:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57692,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3424:46:18"},"returnParameters":{"id":57695,"nodeType":"ParameterList","parameters":[],"src":"3487:0:18"},"scope":57741,"src":"3399:89:18","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":57697,"nodeType":"StructuredDocumentation","src":"3494:570:18","text":"@notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE\n TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE\n THEY MAY BE PERMANENTLY LOST\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"23b872dd","id":57706,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4078:12:18","nodeType":"FunctionDefinition","parameters":{"id":57704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57699,"mutability":"mutable","name":"_from","nameLocation":"4099:5:18","nodeType":"VariableDeclaration","scope":57706,"src":"4091:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57698,"name":"address","nodeType":"ElementaryTypeName","src":"4091:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57701,"mutability":"mutable","name":"_to","nameLocation":"4114:3:18","nodeType":"VariableDeclaration","scope":57706,"src":"4106:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57700,"name":"address","nodeType":"ElementaryTypeName","src":"4106:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57703,"mutability":"mutable","name":"_tokenId","nameLocation":"4127:8:18","nodeType":"VariableDeclaration","scope":57706,"src":"4119:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57702,"name":"uint256","nodeType":"ElementaryTypeName","src":"4119:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4090:46:18"},"returnParameters":{"id":57705,"nodeType":"ParameterList","parameters":[],"src":"4153:0:18"},"scope":57741,"src":"4069:85:18","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":57707,"nodeType":"StructuredDocumentation","src":"4160:349:18","text":"@notice Change or reaffirm the approved address for an NFT\n @dev The zero address indicates there is no approved address.\n Throws unless `msg.sender` is the current NFT owner, or an authorized\n operator of the current owner.\n @param _approved The new approved NFT controller\n @param _tokenId The NFT to approve"},"functionSelector":"095ea7b3","id":57714,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4523:7:18","nodeType":"FunctionDefinition","parameters":{"id":57712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57709,"mutability":"mutable","name":"_approved","nameLocation":"4539:9:18","nodeType":"VariableDeclaration","scope":57714,"src":"4531:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57708,"name":"address","nodeType":"ElementaryTypeName","src":"4531:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57711,"mutability":"mutable","name":"_tokenId","nameLocation":"4558:8:18","nodeType":"VariableDeclaration","scope":57714,"src":"4550:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57710,"name":"uint256","nodeType":"ElementaryTypeName","src":"4550:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4530:37:18"},"returnParameters":{"id":57713,"nodeType":"ParameterList","parameters":[],"src":"4584:0:18"},"scope":57741,"src":"4514:71:18","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":57715,"nodeType":"StructuredDocumentation","src":"4591:382:18","text":"@notice Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s assets\n @dev Emits the ApprovalForAll event. The contract MUST allow\n multiple operators per owner.\n @param _operator Address to add to the set of authorized operators\n @param _approved True if the operator is approved, false to revoke approval"},"functionSelector":"a22cb465","id":57722,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4987:17:18","nodeType":"FunctionDefinition","parameters":{"id":57720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57717,"mutability":"mutable","name":"_operator","nameLocation":"5013:9:18","nodeType":"VariableDeclaration","scope":57722,"src":"5005:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57716,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57719,"mutability":"mutable","name":"_approved","nameLocation":"5029:9:18","nodeType":"VariableDeclaration","scope":57722,"src":"5024:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57718,"name":"bool","nodeType":"ElementaryTypeName","src":"5024:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5004:35:18"},"returnParameters":{"id":57721,"nodeType":"ParameterList","parameters":[],"src":"5048:0:18"},"scope":57741,"src":"4978:71:18","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":57723,"nodeType":"StructuredDocumentation","src":"5055:260:18","text":"@notice Get the approved address for a single NFT\n @dev Throws if `_tokenId` is not a valid NFT.\n @param _tokenId The NFT to find the approved address for\n @return The approved address for this NFT, or the zero address if there is none"},"functionSelector":"081812fc","id":57730,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"5329:11:18","nodeType":"FunctionDefinition","parameters":{"id":57726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57725,"mutability":"mutable","name":"_tokenId","nameLocation":"5349:8:18","nodeType":"VariableDeclaration","scope":57730,"src":"5341:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57724,"name":"uint256","nodeType":"ElementaryTypeName","src":"5341:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5340:18:18"},"returnParameters":{"id":57729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57730,"src":"5382:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57727,"name":"address","nodeType":"ElementaryTypeName","src":"5382:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5381:9:18"},"scope":57741,"src":"5320:71:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57731,"nodeType":"StructuredDocumentation","src":"5397:290:18","text":"@notice Query if an address is an authorized operator for another address\n @param _owner The address that owns the NFTs\n @param _operator The address that acts on behalf of the owner\n @return True if `_operator` is an approved operator for `_owner`, false otherwise"},"functionSelector":"e985e9c5","id":57740,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"5701:16:18","nodeType":"FunctionDefinition","parameters":{"id":57736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57733,"mutability":"mutable","name":"_owner","nameLocation":"5726:6:18","nodeType":"VariableDeclaration","scope":57740,"src":"5718:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57732,"name":"address","nodeType":"ElementaryTypeName","src":"5718:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57735,"mutability":"mutable","name":"_operator","nameLocation":"5742:9:18","nodeType":"VariableDeclaration","scope":57740,"src":"5734:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57734,"name":"address","nodeType":"ElementaryTypeName","src":"5734:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5717:35:18"},"returnParameters":{"id":57739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57740,"src":"5776:4:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57737,"name":"bool","nodeType":"ElementaryTypeName","src":"5776:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5775:6:18"},"scope":57741,"src":"5692:90:18","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57810,"src":"249:5535:18","usedErrors":[],"usedEvents":[57640,57649,57658]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721TokenReceiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":57742,"nodeType":"StructuredDocumentation","src":"5786:72:18","text":"@dev Note: the ERC-165 identifier for this interface is 0x150b7a02."},"fullyImplemented":false,"id":57757,"linearizedBaseContracts":[57757],"name":"IERC721TokenReceiver","nameLocation":"5868:20:18","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":57743,"nodeType":"StructuredDocumentation","src":"5895:756:18","text":"@notice Handle the receipt of an NFT\n @dev The ERC721 smart contract calls this function on the recipient\n after a `transfer`. This function MAY throw to revert and reject the\n transfer. Return of other than the magic value MUST result in the\n transaction being reverted.\n Note: the contract address is always the message sender.\n @param _operator The address which called `safeTransferFrom` function\n @param _from The address which previously owned the token\n @param _tokenId The NFT identifier which is being transferred\n @param _data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n  unless throwing"},"functionSelector":"150b7a02","id":57756,"implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"6665:16:18","nodeType":"FunctionDefinition","parameters":{"id":57752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57745,"mutability":"mutable","name":"_operator","nameLocation":"6690:9:18","nodeType":"VariableDeclaration","scope":57756,"src":"6682:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57744,"name":"address","nodeType":"ElementaryTypeName","src":"6682:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57747,"mutability":"mutable","name":"_from","nameLocation":"6709:5:18","nodeType":"VariableDeclaration","scope":57756,"src":"6701:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57746,"name":"address","nodeType":"ElementaryTypeName","src":"6701:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57749,"mutability":"mutable","name":"_tokenId","nameLocation":"6724:8:18","nodeType":"VariableDeclaration","scope":57756,"src":"6716:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57748,"name":"uint256","nodeType":"ElementaryTypeName","src":"6716:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57751,"mutability":"mutable","name":"_data","nameLocation":"6749:5:18","nodeType":"VariableDeclaration","scope":57756,"src":"6734:20:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":57750,"name":"bytes","nodeType":"ElementaryTypeName","src":"6734:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6681:74:18"},"returnParameters":{"id":57755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57756,"src":"6790:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":57753,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6790:6:18","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6789:8:18"},"scope":57757,"src":"6656:142:18","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":57810,"src":"5858:942:18","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":57759,"name":"IERC721","nameLocations":["7026:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":57741,"src":"7026:7:18"},"id":57760,"nodeType":"InheritanceSpecifier","src":"7026:7:18"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":57758,"nodeType":"StructuredDocumentation","src":"6802:195:18","text":"@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x5b5e139f."},"fullyImplemented":false,"id":57781,"linearizedBaseContracts":[57781,57741,58173],"name":"IERC721Metadata","nameLocation":"7007:15:18","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":57761,"nodeType":"StructuredDocumentation","src":"7040:72:18","text":"@notice A descriptive name for a collection of NFTs in this contract"},"functionSelector":"06fdde03","id":57766,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"7126:4:18","nodeType":"FunctionDefinition","parameters":{"id":57762,"nodeType":"ParameterList","parameters":[],"src":"7130:2:18"},"returnParameters":{"id":57765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57764,"mutability":"mutable","name":"_name","nameLocation":"7170:5:18","nodeType":"VariableDeclaration","scope":57766,"src":"7156:19:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57763,"name":"string","nodeType":"ElementaryTypeName","src":"7156:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7155:21:18"},"scope":57781,"src":"7117:60:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57767,"nodeType":"StructuredDocumentation","src":"7183:57:18","text":"@notice An abbreviated name for NFTs in this contract"},"functionSelector":"95d89b41","id":57772,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"7254:6:18","nodeType":"FunctionDefinition","parameters":{"id":57768,"nodeType":"ParameterList","parameters":[],"src":"7260:2:18"},"returnParameters":{"id":57771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57770,"mutability":"mutable","name":"_symbol","nameLocation":"7300:7:18","nodeType":"VariableDeclaration","scope":57772,"src":"7286:21:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57769,"name":"string","nodeType":"ElementaryTypeName","src":"7286:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7285:23:18"},"scope":57781,"src":"7245:64:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57773,"nodeType":"StructuredDocumentation","src":"7315:260:18","text":"@notice A distinct Uniform Resource Identifier (URI) for a given asset.\n @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC\n 3986. The URI may point to a JSON file that conforms to the \"ERC721\n Metadata JSON Schema\"."},"functionSelector":"c87b56dd","id":57780,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"7589:8:18","nodeType":"FunctionDefinition","parameters":{"id":57776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57775,"mutability":"mutable","name":"_tokenId","nameLocation":"7606:8:18","nodeType":"VariableDeclaration","scope":57780,"src":"7598:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57774,"name":"uint256","nodeType":"ElementaryTypeName","src":"7598:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7597:18:18"},"returnParameters":{"id":57779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57780,"src":"7639:13:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57777,"name":"string","nodeType":"ElementaryTypeName","src":"7639:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7638:15:18"},"scope":57781,"src":"7580:74:18","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57810,"src":"6997:659:18","usedErrors":[],"usedEvents":[57640,57649,57658]},{"abstract":false,"baseContracts":[{"baseName":{"id":57783,"name":"IERC721","nameLocations":["7887:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":57741,"src":"7887:7:18"},"id":57784,"nodeType":"InheritanceSpecifier","src":"7887:7:18"}],"canonicalName":"IERC721Enumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":57782,"nodeType":"StructuredDocumentation","src":"7658:198:18","text":"@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x780e9d63."},"fullyImplemented":false,"id":57809,"linearizedBaseContracts":[57809,57741,58173],"name":"IERC721Enumerable","nameLocation":"7866:17:18","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":57785,"nodeType":"StructuredDocumentation","src":"7901:208:18","text":"@notice Count NFTs tracked by this contract\n @return A count of valid NFTs tracked by this contract, where each one of\n them has an assigned and queryable owner not equal to the zero address"},"functionSelector":"18160ddd","id":57790,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"8123:11:18","nodeType":"FunctionDefinition","parameters":{"id":57786,"nodeType":"ParameterList","parameters":[],"src":"8134:2:18"},"returnParameters":{"id":57789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57790,"src":"8160:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57787,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8159:9:18"},"scope":57809,"src":"8114:55:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57791,"nodeType":"StructuredDocumentation","src":"8175:238:18","text":"@notice Enumerate valid NFTs\n @dev Throws if `_index` >= `totalSupply()`.\n @param _index A counter less than `totalSupply()`\n @return The token identifier for the `_index`th NFT,\n (sort order not specified)"},"functionSelector":"4f6ccce7","id":57798,"implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"8427:12:18","nodeType":"FunctionDefinition","parameters":{"id":57794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57793,"mutability":"mutable","name":"_index","nameLocation":"8448:6:18","nodeType":"VariableDeclaration","scope":57798,"src":"8440:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57792,"name":"uint256","nodeType":"ElementaryTypeName","src":"8440:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8439:16:18"},"returnParameters":{"id":57797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57798,"src":"8479:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57795,"name":"uint256","nodeType":"ElementaryTypeName","src":"8479:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8478:9:18"},"scope":57809,"src":"8418:70:18","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":57799,"nodeType":"StructuredDocumentation","src":"8494:431:18","text":"@notice Enumerate NFTs assigned to an owner\n @dev Throws if `_index` >= `balanceOf(_owner)` or if\n `_owner` is the zero address, representing invalid NFTs.\n @param _owner An address where we are interested in NFTs owned by them\n @param _index A counter less than `balanceOf(_owner)`\n @return The token identifier for the `_index`th NFT assigned to `_owner`,\n (sort order not specified)"},"functionSelector":"2f745c59","id":57808,"implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"8939:19:18","nodeType":"FunctionDefinition","parameters":{"id":57804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57801,"mutability":"mutable","name":"_owner","nameLocation":"8967:6:18","nodeType":"VariableDeclaration","scope":57808,"src":"8959:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57800,"name":"address","nodeType":"ElementaryTypeName","src":"8959:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57803,"mutability":"mutable","name":"_index","nameLocation":"8983:6:18","nodeType":"VariableDeclaration","scope":57808,"src":"8975:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57802,"name":"uint256","nodeType":"ElementaryTypeName","src":"8975:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8958:32:18"},"returnParameters":{"id":57807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57806,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57808,"src":"9014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57805,"name":"uint256","nodeType":"ElementaryTypeName","src":"9014:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9013:9:18"},"scope":57809,"src":"8930:93:18","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57810,"src":"7856:1169:18","usedErrors":[],"usedEvents":[57640,57649,57658]}],"src":"32:8994:18"},"id":18},"v4-core/lib/forge-std/src/interfaces/IMulticall3.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IMulticall3.sol","exportedSymbols":{"IMulticall3":[54372]},"id":54373,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":54211,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:19"},{"id":54212,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"65:33:19"},{"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":54372,"linearizedBaseContracts":[54372],"name":"IMulticall3","nameLocation":"110:11:19","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IMulticall3.Call","id":54217,"members":[{"constant":false,"id":54214,"mutability":"mutable","name":"target","nameLocation":"158:6:19","nodeType":"VariableDeclaration","scope":54217,"src":"150:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54213,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54216,"mutability":"mutable","name":"callData","nameLocation":"180:8:19","nodeType":"VariableDeclaration","scope":54217,"src":"174:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":54215,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:19","nodeType":"StructDefinition","scope":54372,"src":"128:67:19","visibility":"public"},{"canonicalName":"IMulticall3.Call3","id":54224,"members":[{"constant":false,"id":54219,"mutability":"mutable","name":"target","nameLocation":"232:6:19","nodeType":"VariableDeclaration","scope":54224,"src":"224:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54218,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54221,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:19","nodeType":"VariableDeclaration","scope":54224,"src":"248:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54220,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54223,"mutability":"mutable","name":"callData","nameLocation":"281:8:19","nodeType":"VariableDeclaration","scope":54224,"src":"275:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":54222,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:19","nodeType":"StructDefinition","scope":54372,"src":"201:95:19","visibility":"public"},{"canonicalName":"IMulticall3.Call3Value","id":54233,"members":[{"constant":false,"id":54226,"mutability":"mutable","name":"target","nameLocation":"338:6:19","nodeType":"VariableDeclaration","scope":54233,"src":"330:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54225,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54228,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:19","nodeType":"VariableDeclaration","scope":54233,"src":"354:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54227,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54230,"mutability":"mutable","name":"value","nameLocation":"389:5:19","nodeType":"VariableDeclaration","scope":54233,"src":"381:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54229,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54232,"mutability":"mutable","name":"callData","nameLocation":"410:8:19","nodeType":"VariableDeclaration","scope":54233,"src":"404:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":54231,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:19","nodeType":"StructDefinition","scope":54372,"src":"302:123:19","visibility":"public"},{"canonicalName":"IMulticall3.Result","id":54238,"members":[{"constant":false,"id":54235,"mutability":"mutable","name":"success","nameLocation":"460:7:19","nodeType":"VariableDeclaration","scope":54238,"src":"455:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54234,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54237,"mutability":"mutable","name":"returnData","nameLocation":"483:10:19","nodeType":"VariableDeclaration","scope":54238,"src":"477:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":54236,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:19","nodeType":"StructDefinition","scope":54372,"src":"431:69:19","visibility":"public"},{"functionSelector":"252dba42","id":54250,"implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:19","nodeType":"FunctionDefinition","parameters":{"id":54243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54242,"mutability":"mutable","name":"calls","nameLocation":"541:5:19","nodeType":"VariableDeclaration","scope":54250,"src":"525:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":54240,"nodeType":"UserDefinedTypeName","pathNode":{"id":54239,"name":"Call","nameLocations":["525:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"525:4:19"},"referencedDeclaration":54217,"src":"525:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":54241,"nodeType":"ArrayTypeName","src":"525:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:19"},"returnParameters":{"id":54249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54245,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:19","nodeType":"VariableDeclaration","scope":54250,"src":"598:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54244,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54248,"mutability":"mutable","name":"returnData","nameLocation":"634:10:19","nodeType":"VariableDeclaration","scope":54250,"src":"619:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":54246,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":54247,"nodeType":"ArrayTypeName","src":"619:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:19"},"scope":54372,"src":"506:140:19","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"82ad56cb","id":54261,"implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:19","nodeType":"FunctionDefinition","parameters":{"id":54255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54254,"mutability":"mutable","name":"calls","nameLocation":"689:5:19","nodeType":"VariableDeclaration","scope":54261,"src":"672:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$54224_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":54252,"nodeType":"UserDefinedTypeName","pathNode":{"id":54251,"name":"Call3","nameLocations":["672:5:19"],"nodeType":"IdentifierPath","referencedDeclaration":54224,"src":"672:5:19"},"referencedDeclaration":54224,"src":"672:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$54224_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":54253,"nodeType":"ArrayTypeName","src":"672:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$54224_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:19"},"returnParameters":{"id":54260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54259,"mutability":"mutable","name":"returnData","nameLocation":"738:10:19","nodeType":"VariableDeclaration","scope":54261,"src":"722:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":54257,"nodeType":"UserDefinedTypeName","pathNode":{"id":54256,"name":"Result","nameLocations":["722:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":54238,"src":"722:6:19"},"referencedDeclaration":54238,"src":"722:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$54238_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":54258,"nodeType":"ArrayTypeName","src":"722:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:19"},"scope":54372,"src":"652:98:19","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"174dea71","id":54272,"implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:19","nodeType":"FunctionDefinition","parameters":{"id":54266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54265,"mutability":"mutable","name":"calls","nameLocation":"803:5:19","nodeType":"VariableDeclaration","scope":54272,"src":"781:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$54233_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":54263,"nodeType":"UserDefinedTypeName","pathNode":{"id":54262,"name":"Call3Value","nameLocations":["781:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":54233,"src":"781:10:19"},"referencedDeclaration":54233,"src":"781:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$54233_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":54264,"nodeType":"ArrayTypeName","src":"781:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$54233_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:19"},"returnParameters":{"id":54271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54270,"mutability":"mutable","name":"returnData","nameLocation":"852:10:19","nodeType":"VariableDeclaration","scope":54272,"src":"836:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":54268,"nodeType":"UserDefinedTypeName","pathNode":{"id":54267,"name":"Result","nameLocations":["836:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":54238,"src":"836:6:19"},"referencedDeclaration":54238,"src":"836:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$54238_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":54269,"nodeType":"ArrayTypeName","src":"836:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:19"},"scope":54372,"src":"756:108:19","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"c3077fa9","id":54287,"implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:19","nodeType":"FunctionDefinition","parameters":{"id":54277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54276,"mutability":"mutable","name":"calls","nameLocation":"913:5:19","nodeType":"VariableDeclaration","scope":54287,"src":"897:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":54274,"nodeType":"UserDefinedTypeName","pathNode":{"id":54273,"name":"Call","nameLocations":["897:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"897:4:19"},"referencedDeclaration":54217,"src":"897:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":54275,"nodeType":"ArrayTypeName","src":"897:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:19"},"returnParameters":{"id":54286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54279,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:19","nodeType":"VariableDeclaration","scope":54287,"src":"970:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54278,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54281,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:19","nodeType":"VariableDeclaration","scope":54287,"src":"991:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54285,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:19","nodeType":"VariableDeclaration","scope":54287,"src":"1010:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":54283,"nodeType":"UserDefinedTypeName","pathNode":{"id":54282,"name":"Result","nameLocations":["1010:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":54238,"src":"1010:6:19"},"referencedDeclaration":54238,"src":"1010:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$54238_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":54284,"nodeType":"ArrayTypeName","src":"1010:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:19"},"scope":54372,"src":"870:168:19","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"3e64a696","id":54292,"implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:19","nodeType":"FunctionDefinition","parameters":{"id":54288,"nodeType":"ParameterList","parameters":[],"src":"1063:2:19"},"returnParameters":{"id":54291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54290,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:19","nodeType":"VariableDeclaration","scope":54292,"src":"1089:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:19"},"scope":54372,"src":"1044:62:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"ee82ac5e","id":54299,"implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:19","nodeType":"FunctionDefinition","parameters":{"id":54295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54294,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:19","nodeType":"VariableDeclaration","scope":54299,"src":"1134:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54293,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:19"},"returnParameters":{"id":54298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54297,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:19","nodeType":"VariableDeclaration","scope":54299,"src":"1178:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:19"},"scope":54372,"src":"1112:85:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"42cbb15c","id":54304,"implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:19","nodeType":"FunctionDefinition","parameters":{"id":54300,"nodeType":"ParameterList","parameters":[],"src":"1226:2:19"},"returnParameters":{"id":54303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54302,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:19","nodeType":"VariableDeclaration","scope":54304,"src":"1252:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54301,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:19"},"scope":54372,"src":"1203:70:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3408e470","id":54309,"implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:19","nodeType":"FunctionDefinition","parameters":{"id":54305,"nodeType":"ParameterList","parameters":[],"src":"1298:2:19"},"returnParameters":{"id":54308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54307,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:19","nodeType":"VariableDeclaration","scope":54309,"src":"1324:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54306,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:19"},"scope":54372,"src":"1279:62:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"a8b0574e","id":54314,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:19","nodeType":"FunctionDefinition","parameters":{"id":54310,"nodeType":"ParameterList","parameters":[],"src":"1379:2:19"},"returnParameters":{"id":54313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54312,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:19","nodeType":"VariableDeclaration","scope":54314,"src":"1405:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54311,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:19"},"scope":54372,"src":"1347:76:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"72425d9d","id":54319,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:19","nodeType":"FunctionDefinition","parameters":{"id":54315,"nodeType":"ParameterList","parameters":[],"src":"1463:2:19"},"returnParameters":{"id":54318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54317,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:19","nodeType":"VariableDeclaration","scope":54319,"src":"1489:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54316,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:19"},"scope":54372,"src":"1429:80:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"86d516e8","id":54324,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:19","nodeType":"FunctionDefinition","parameters":{"id":54320,"nodeType":"ParameterList","parameters":[],"src":"1547:2:19"},"returnParameters":{"id":54323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54322,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:19","nodeType":"VariableDeclaration","scope":54324,"src":"1573:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:19"},"scope":54372,"src":"1515:76:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"0f28c97d","id":54329,"implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:19","nodeType":"FunctionDefinition","parameters":{"id":54325,"nodeType":"ParameterList","parameters":[],"src":"1630:2:19"},"returnParameters":{"id":54328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54327,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:19","nodeType":"VariableDeclaration","scope":54329,"src":"1656:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54326,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:19"},"scope":54372,"src":"1597:78:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"4d2301cc","id":54336,"implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:19","nodeType":"FunctionDefinition","parameters":{"id":54332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54331,"mutability":"mutable","name":"addr","nameLocation":"1712:4:19","nodeType":"VariableDeclaration","scope":54336,"src":"1704:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54330,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:19"},"returnParameters":{"id":54335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54334,"mutability":"mutable","name":"balance","nameLocation":"1749:7:19","nodeType":"VariableDeclaration","scope":54336,"src":"1741:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54333,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:19"},"scope":54372,"src":"1681:77:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"27e86d6e","id":54341,"implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:19","nodeType":"FunctionDefinition","parameters":{"id":54337,"nodeType":"ParameterList","parameters":[],"src":"1789:2:19"},"returnParameters":{"id":54340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54339,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:19","nodeType":"VariableDeclaration","scope":54341,"src":"1815:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:19"},"scope":54372,"src":"1764:70:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"bce38bd7","id":54354,"implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:19","nodeType":"FunctionDefinition","parameters":{"id":54348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54343,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:19","nodeType":"VariableDeclaration","scope":54354,"src":"1862:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54342,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54347,"mutability":"mutable","name":"calls","nameLocation":"1899:5:19","nodeType":"VariableDeclaration","scope":54354,"src":"1883:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":54345,"nodeType":"UserDefinedTypeName","pathNode":{"id":54344,"name":"Call","nameLocations":["1883:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"1883:4:19"},"referencedDeclaration":54217,"src":"1883:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":54346,"nodeType":"ArrayTypeName","src":"1883:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:19"},"returnParameters":{"id":54353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54352,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:19","nodeType":"VariableDeclaration","scope":54354,"src":"1956:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":54350,"nodeType":"UserDefinedTypeName","pathNode":{"id":54349,"name":"Result","nameLocations":["1956:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":54238,"src":"1956:6:19"},"referencedDeclaration":54238,"src":"1956:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$54238_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":54351,"nodeType":"ArrayTypeName","src":"1956:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:19"},"scope":54372,"src":"1840:144:19","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"399542e9","id":54371,"implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:19","nodeType":"FunctionDefinition","parameters":{"id":54361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54356,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:19","nodeType":"VariableDeclaration","scope":54371,"src":"2020:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54355,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54360,"mutability":"mutable","name":"calls","nameLocation":"2057:5:19","nodeType":"VariableDeclaration","scope":54371,"src":"2041:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":54358,"nodeType":"UserDefinedTypeName","pathNode":{"id":54357,"name":"Call","nameLocations":["2041:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":54217,"src":"2041:4:19"},"referencedDeclaration":54217,"src":"2041:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$54217_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":54359,"nodeType":"ArrayTypeName","src":"2041:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$54217_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:19"},"returnParameters":{"id":54370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54363,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:19","nodeType":"VariableDeclaration","scope":54371,"src":"2114:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54362,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54365,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:19","nodeType":"VariableDeclaration","scope":54371,"src":"2135:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54369,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:19","nodeType":"VariableDeclaration","scope":54371,"src":"2154:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":54367,"nodeType":"UserDefinedTypeName","pathNode":{"id":54366,"name":"Result","nameLocations":["2154:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":54238,"src":"2154:6:19"},"referencedDeclaration":54238,"src":"2154:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$54238_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":54368,"nodeType":"ArrayTypeName","src":"2154:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$54238_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:19"},"scope":54372,"src":"1990:192:19","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":54373,"src":"100:2084:19","usedErrors":[],"usedEvents":[]}],"src":"32:2153:19"},"id":19},"v4-core/lib/forge-std/src/mocks/MockERC20.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/mocks/MockERC20.sol","exportedSymbols":{"IERC20":[57625],"MockERC20":[54949]},"id":54950,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":54374,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:20"},{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","id":54376,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54950,"sourceUnit":57626,"src":"65:48:20","symbolAliases":[{"foreign":{"id":54375,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57625,"src":"73:6:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":54378,"name":"IERC20","nameLocations":["391:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":57625,"src":"391:6:20"},"id":54379,"nodeType":"InheritanceSpecifier","src":"391:6:20"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":54377,"nodeType":"StructuredDocumentation","src":"115:254:20","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"id":54949,"internalFunctionIDs":{"54921":1},"linearizedBaseContracts":[54949,57625],"name":"MockERC20","nameLocation":"378:9:20","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":54381,"mutability":"mutable","name":"_name","nameLocation":"604:5:20","nodeType":"VariableDeclaration","scope":54949,"src":"588:21:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":54380,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54383,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:20","nodeType":"VariableDeclaration","scope":54949,"src":"616:23:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":54382,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54385,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:20","nodeType":"VariableDeclaration","scope":54949,"src":"646:24:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54384,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"baseFunctions":[57612],"body":{"id":54393,"nodeType":"Block","src":"740:29:20","statements":[{"expression":{"id":54391,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54381,"src":"757:5:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":54390,"id":54392,"nodeType":"Return","src":"750:12:20"}]},"functionSelector":"06fdde03","id":54394,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:20","nodeType":"FunctionDefinition","overrides":{"id":54387,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:20"},"parameters":{"id":54386,"nodeType":"ParameterList","parameters":[],"src":"690:2:20"},"returnParameters":{"id":54390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54394,"src":"725:13:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54388,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:20"},"scope":54949,"src":"677:92:20","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57618],"body":{"id":54402,"nodeType":"Block","src":"840:31:20","statements":[{"expression":{"id":54400,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54383,"src":"857:7:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":54399,"id":54401,"nodeType":"Return","src":"850:14:20"}]},"functionSelector":"95d89b41","id":54403,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:20","nodeType":"FunctionDefinition","overrides":{"id":54396,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:20"},"parameters":{"id":54395,"nodeType":"ParameterList","parameters":[],"src":"790:2:20"},"returnParameters":{"id":54399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54403,"src":"825:13:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54397,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:20"},"scope":54949,"src":"775:96:20","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57624],"body":{"id":54411,"nodeType":"Block","src":"936:33:20","statements":[{"expression":{"id":54409,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54385,"src":"953:9:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":54408,"id":54410,"nodeType":"Return","src":"946:16:20"}]},"functionSelector":"313ce567","id":54412,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:20","nodeType":"FunctionDefinition","overrides":{"id":54405,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:20"},"parameters":{"id":54404,"nodeType":"ParameterList","parameters":[],"src":"894:2:20"},"returnParameters":{"id":54408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54412,"src":"929:5:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54406,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:20"},"scope":54949,"src":"877:92:20","stateMutability":"view","virtual":false,"visibility":"external"},{"constant":false,"id":54414,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:20","nodeType":"VariableDeclaration","scope":54949,"src":"1158:29:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54413,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54418,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:20","nodeType":"VariableDeclaration","scope":54949,"src":"1194:47:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":54417,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54415,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":54416,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":54424,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:20","nodeType":"VariableDeclaration","scope":54949,"src":"1248:67:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":54423,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54419,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:20","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":54422,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54420,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":54421,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"baseFunctions":[57556],"body":{"id":54432,"nodeType":"Block","src":"1386:36:20","statements":[{"expression":{"id":54430,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54414,"src":"1403:12:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54429,"id":54431,"nodeType":"Return","src":"1396:19:20"}]},"functionSelector":"18160ddd","id":54433,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:20","nodeType":"FunctionDefinition","overrides":{"id":54426,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:20"},"parameters":{"id":54425,"nodeType":"ParameterList","parameters":[],"src":"1342:2:20"},"returnParameters":{"id":54429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54433,"src":"1377:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:20"},"scope":54949,"src":"1322:100:20","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57564],"body":{"id":54445,"nodeType":"Block","src":"1503:41:20","statements":[{"expression":{"baseExpression":{"id":54441,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"1520:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54443,"indexExpression":{"id":54442,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54435,"src":"1531:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54440,"id":54444,"nodeType":"Return","src":"1513:24:20"}]},"functionSelector":"70a08231","id":54446,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:20","nodeType":"FunctionDefinition","overrides":{"id":54437,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:20"},"parameters":{"id":54436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54435,"mutability":"mutable","name":"owner","nameLocation":"1455:5:20","nodeType":"VariableDeclaration","scope":54446,"src":"1447:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54434,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:20"},"returnParameters":{"id":54440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54446,"src":"1494:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54438,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:20"},"scope":54949,"src":"1428:116:20","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57584],"body":{"id":54462,"nodeType":"Block","src":"1642:50:20","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":54456,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54424,"src":"1659:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":54458,"indexExpression":{"id":54457,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54448,"src":"1670:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54460,"indexExpression":{"id":54459,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54450,"src":"1677:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54455,"id":54461,"nodeType":"Return","src":"1652:33:20"}]},"functionSelector":"dd62ed3e","id":54463,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:20","nodeType":"FunctionDefinition","overrides":{"id":54452,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:20"},"parameters":{"id":54451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54448,"mutability":"mutable","name":"owner","nameLocation":"1577:5:20","nodeType":"VariableDeclaration","scope":54463,"src":"1569:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54447,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54450,"mutability":"mutable","name":"spender","nameLocation":"1592:7:20","nodeType":"VariableDeclaration","scope":54463,"src":"1584:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54449,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:20"},"returnParameters":{"id":54455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54463,"src":"1633:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54453,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:20"},"scope":54949,"src":"1550:142:20","stateMutability":"view","virtual":false,"visibility":"external"},{"constant":false,"id":54465,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:20","nodeType":"VariableDeclaration","scope":54949,"src":"1882:33:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54464,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54467,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:20","nodeType":"VariableDeclaration","scope":54949,"src":"1922:41:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"functionSelector":"7ecebe00","id":54471,"mutability":"mutable","name":"nonces","nameLocation":"2005:6:20","nodeType":"VariableDeclaration","scope":54949,"src":"1970:41:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":54470,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54468,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":54469,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"documentation":{"id":54472,"nodeType":"StructuredDocumentation","src":"2199:67:20","text":"@dev A bool to track whether the contract has been initialized."},"id":54474,"mutability":"mutable","name":"initialized","nameLocation":"2284:11:20","nodeType":"VariableDeclaration","scope":54949,"src":"2271:24:20","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54473,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"body":{"id":54516,"nodeType":"Block","src":"2592:277:20","statements":[{"expression":{"arguments":[{"id":54486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:20","subExpression":{"id":54485,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54474,"src":"2611:11:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":54487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":54484,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2602:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54489,"nodeType":"ExpressionStatement","src":"2602:44:20"},{"expression":{"id":54492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54490,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54381,"src":"2657:5:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54491,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54477,"src":"2665:5:20","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":54493,"nodeType":"ExpressionStatement","src":"2657:13:20"},{"expression":{"id":54496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54494,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54383,"src":"2680:7:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54495,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54479,"src":"2690:7:20","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":54497,"nodeType":"ExpressionStatement","src":"2680:17:20"},{"expression":{"id":54500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54498,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54385,"src":"2707:9:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54499,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54481,"src":"2719:9:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":54501,"nodeType":"ExpressionStatement","src":"2707:21:20"},{"expression":{"id":54505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54502,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54465,"src":"2739:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":54503,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54948,"src":"2758:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":54504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54506,"nodeType":"ExpressionStatement","src":"2739:33:20"},{"expression":{"id":54510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54507,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54467,"src":"2782:24:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":54508,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54793,"src":"2809:22:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":54509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":54511,"nodeType":"ExpressionStatement","src":"2782:51:20"},{"expression":{"id":54514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54512,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54474,"src":"2844:11:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":54513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54515,"nodeType":"ExpressionStatement","src":"2844:18:20"}]},"documentation":{"id":54475,"nodeType":"StructuredDocumentation","src":"2302:197:20","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","id":54517,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:20","nodeType":"FunctionDefinition","parameters":{"id":54482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54477,"mutability":"mutable","name":"name_","nameLocation":"2538:5:20","nodeType":"VariableDeclaration","scope":54517,"src":"2524:19:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54476,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54479,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:20","nodeType":"VariableDeclaration","scope":54517,"src":"2545:21:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54478,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54481,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:20","nodeType":"VariableDeclaration","scope":54517,"src":"2568:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54480,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:20"},"returnParameters":{"id":54483,"nodeType":"ParameterList","parameters":[],"src":"2592:0:20"},"scope":54949,"src":"2504:365:20","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[57594],"body":{"id":54545,"nodeType":"Block","src":"3146:132:20","statements":[{"expression":{"id":54534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":54527,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54424,"src":"3156:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":54531,"indexExpression":{"expression":{"id":54528,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54532,"indexExpression":{"id":54530,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54519,"src":"3179:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54533,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54521,"src":"3190:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54535,"nodeType":"ExpressionStatement","src":"3156:40:20"},{"eventCall":{"arguments":[{"expression":{"id":54537,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54539,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54519,"src":"3233:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54540,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54521,"src":"3242:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54536,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57550,"src":"3212:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54542,"nodeType":"EmitStatement","src":"3207:42:20"},{"expression":{"hexValue":"74727565","id":54543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":54526,"id":54544,"nodeType":"Return","src":"3260:11:20"}]},"functionSelector":"095ea7b3","id":54546,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:20","nodeType":"FunctionDefinition","overrides":{"id":54523,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:20"},"parameters":{"id":54522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54519,"mutability":"mutable","name":"spender","nameLocation":"3082:7:20","nodeType":"VariableDeclaration","scope":54546,"src":"3074:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54518,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54521,"mutability":"mutable","name":"amount","nameLocation":"3099:6:20","nodeType":"VariableDeclaration","scope":54546,"src":"3091:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54520,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:20"},"returnParameters":{"id":54526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54546,"src":"3140:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54524,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:20"},"scope":54949,"src":"3057:221:20","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[57574],"body":{"id":54589,"nodeType":"Block","src":"3369:203:20","statements":[{"expression":{"id":54567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54556,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3379:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54559,"indexExpression":{"expression":{"id":54557,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54561,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3409:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54564,"indexExpression":{"expression":{"id":54562,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54565,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54550,"src":"3433:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54560,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"3404:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54568,"nodeType":"ExpressionStatement","src":"3379:61:20"},{"expression":{"id":54578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54569,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3450:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54571,"indexExpression":{"id":54570,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54548,"src":"3461:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54573,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3472:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54575,"indexExpression":{"id":54574,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54548,"src":"3483:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54576,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54550,"src":"3488:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54572,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54888,"src":"3467:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54579,"nodeType":"ExpressionStatement","src":"3450:45:20"},{"eventCall":{"arguments":[{"expression":{"id":54581,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54583,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54548,"src":"3532:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54584,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54550,"src":"3536:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54580,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57541,"src":"3511:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54586,"nodeType":"EmitStatement","src":"3506:37:20"},{"expression":{"hexValue":"74727565","id":54587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":54555,"id":54588,"nodeType":"Return","src":"3554:11:20"}]},"functionSelector":"a9059cbb","id":54590,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:20","nodeType":"FunctionDefinition","overrides":{"id":54552,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:20"},"parameters":{"id":54551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54548,"mutability":"mutable","name":"to","nameLocation":"3310:2:20","nodeType":"VariableDeclaration","scope":54590,"src":"3302:10:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54547,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54550,"mutability":"mutable","name":"amount","nameLocation":"3322:6:20","nodeType":"VariableDeclaration","scope":54590,"src":"3314:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54549,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:20"},"returnParameters":{"id":54555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54590,"src":"3363:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54553,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:20"},"scope":54949,"src":"3284:288:20","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[57606],"body":{"id":54661,"nodeType":"Block","src":"3681:369:20","statements":[{"assignments":[54603],"declarations":[{"constant":false,"id":54603,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:20","nodeType":"VariableDeclaration","scope":54661,"src":"3691:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54602,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54610,"initialValue":{"baseExpression":{"baseExpression":{"id":54604,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54424,"src":"3709:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":54606,"indexExpression":{"id":54605,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54592,"src":"3720:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54609,"indexExpression":{"expression":{"id":54607,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:20"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54611,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54603,"src":"3788:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":54616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:20","subExpression":{"arguments":[{"hexValue":"30","id":54614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:20","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":54613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54612,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:20","typeDescriptions":{}}},"id":54615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54630,"nodeType":"IfStatement","src":"3784:80:20","trueBody":{"expression":{"id":54628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":54618,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54424,"src":"3812:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":54622,"indexExpression":{"id":54619,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54592,"src":"3823:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54623,"indexExpression":{"expression":{"id":54620,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:20","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":54625,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54603,"src":"3848:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54626,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"3857:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54624,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"3843:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54629,"nodeType":"ExpressionStatement","src":"3812:52:20"}},{"expression":{"id":54640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54631,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3875:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54633,"indexExpression":{"id":54632,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54592,"src":"3886:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54635,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3899:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54637,"indexExpression":{"id":54636,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54592,"src":"3910:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54638,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"3917:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54634,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"3894:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54641,"nodeType":"ExpressionStatement","src":"3875:49:20"},{"expression":{"id":54651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54642,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3934:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54644,"indexExpression":{"id":54643,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54594,"src":"3945:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54646,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"3956:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54648,"indexExpression":{"id":54647,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54594,"src":"3967:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54649,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"3972:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54645,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54888,"src":"3951:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54652,"nodeType":"ExpressionStatement","src":"3934:45:20"},{"eventCall":{"arguments":[{"id":54654,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54592,"src":"4004:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54655,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54594,"src":"4010:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54656,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54596,"src":"4014:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54653,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57541,"src":"3995:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54658,"nodeType":"EmitStatement","src":"3990:31:20"},{"expression":{"hexValue":"74727565","id":54659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":54601,"id":54660,"nodeType":"Return","src":"4032:11:20"}]},"functionSelector":"23b872dd","id":54662,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:20","nodeType":"FunctionDefinition","overrides":{"id":54598,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:20"},"parameters":{"id":54597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54592,"mutability":"mutable","name":"from","nameLocation":"3608:4:20","nodeType":"VariableDeclaration","scope":54662,"src":"3600:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54591,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54594,"mutability":"mutable","name":"to","nameLocation":"3622:2:20","nodeType":"VariableDeclaration","scope":54662,"src":"3614:10:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54593,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54596,"mutability":"mutable","name":"amount","nameLocation":"3634:6:20","nodeType":"VariableDeclaration","scope":54662,"src":"3626:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54595,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:20"},"returnParameters":{"id":54601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54600,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54662,"src":"3675:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54599,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:20"},"scope":54949,"src":"3578:472:20","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":54747,"nodeType":"Block","src":"4386:1035:20","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54680,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54670,"src":"4404:8:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":54681,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:20","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:20","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":54684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":54679,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4396:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54686,"nodeType":"ExpressionStatement","src":"4396:63:20"},{"assignments":[54688],"declarations":[{"constant":false,"id":54688,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:20","nodeType":"VariableDeclaration","scope":54747,"src":"4470:24:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54687,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54718,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":54693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":54694,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54763,"src":"4617:16:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":54695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":54700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":54699,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54702,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54664,"src":"4919:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54703,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54666,"src":"4954:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54704,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54668,"src":"4991:5:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:20","subExpression":{"baseExpression":{"id":54705,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54471,"src":"5026:6:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54707,"indexExpression":{"id":54706,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54664,"src":"5033:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54709,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54670,"src":"5071:8:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:20","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:20","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:20","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54696,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:20","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:20","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:20","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54690,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54714,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54672,"src":"5173:1:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":54715,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54674,"src":"5188:1:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":54716,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54676,"src":"5203:1:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":54689,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:20","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":54717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:20"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":54725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54720,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54688,"src":"5233:16:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":54723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:20","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":54722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54721,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:20","typeDescriptions":{}}},"id":54724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":54728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54726,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54688,"src":"5267:16:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":54727,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54664,"src":"5287:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":54730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":54719,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5225:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54732,"nodeType":"ExpressionStatement","src":"5225:86:20"},{"expression":{"id":54739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":54733,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54424,"src":"5322:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":54736,"indexExpression":{"id":54734,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54688,"src":"5333:16:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54737,"indexExpression":{"id":54735,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54666,"src":"5351:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54738,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54668,"src":"5362:5:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54740,"nodeType":"ExpressionStatement","src":"5322:45:20"},{"eventCall":{"arguments":[{"id":54742,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54664,"src":"5392:5:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54743,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54666,"src":"5399:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54744,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54668,"src":"5408:5:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54741,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57550,"src":"5383:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54746,"nodeType":"EmitStatement","src":"5378:36:20"}]},"functionSelector":"d505accf","id":54748,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:20","nodeType":"FunctionDefinition","parameters":{"id":54677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54664,"mutability":"mutable","name":"owner","nameLocation":"4263:5:20","nodeType":"VariableDeclaration","scope":54748,"src":"4255:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54663,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54666,"mutability":"mutable","name":"spender","nameLocation":"4278:7:20","nodeType":"VariableDeclaration","scope":54748,"src":"4270:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54665,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54668,"mutability":"mutable","name":"value","nameLocation":"4295:5:20","nodeType":"VariableDeclaration","scope":54748,"src":"4287:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54667,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54670,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:20","nodeType":"VariableDeclaration","scope":54748,"src":"4302:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54669,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54672,"mutability":"mutable","name":"v","nameLocation":"4326:1:20","nodeType":"VariableDeclaration","scope":54748,"src":"4320:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54671,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:20","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":54674,"mutability":"mutable","name":"r","nameLocation":"4337:1:20","nodeType":"VariableDeclaration","scope":54748,"src":"4329:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":54676,"mutability":"mutable","name":"s","nameLocation":"4348:1:20","nodeType":"VariableDeclaration","scope":54748,"src":"4340:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:20"},"returnParameters":{"id":54678,"nodeType":"ParameterList","parameters":[],"src":"4386:0:20"},"scope":54949,"src":"4239:1182:20","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":54762,"nodeType":"Block","src":"5493:112:20","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":54753,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54948,"src":"5510:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":54754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":54755,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54465,"src":"5528:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":54758,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54793,"src":"5574:22:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":54759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":54760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:20","trueExpression":{"id":54757,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54467,"src":"5547:24:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":54752,"id":54761,"nodeType":"Return","src":"5503:95:20"}]},"functionSelector":"3644e515","id":54763,"implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:20","nodeType":"FunctionDefinition","parameters":{"id":54749,"nodeType":"ParameterList","parameters":[],"src":"5452:2:20"},"returnParameters":{"id":54752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54763,"src":"5484:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:20"},"scope":54949,"src":"5427:178:20","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":54792,"nodeType":"Block","src":"5685:330:20","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":54772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":54771,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":54777,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54381,"src":"5882:5:20","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":54776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:20","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54775,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:20","typeDescriptions":{}}},"id":54778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":54774,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":54781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":54780,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":54783,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54948,"src":"5939:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":54784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":54787,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:20","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}],"id":54786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54785,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:20","typeDescriptions":{}}},"id":54788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:20","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:20","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:20","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54768,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:20","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":54790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":54767,"id":54791,"nodeType":"Return","src":"5695:313:20"}]},"id":54793,"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:20","nodeType":"FunctionDefinition","parameters":{"id":54764,"nodeType":"ParameterList","parameters":[],"src":"5642:2:20"},"returnParameters":{"id":54767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54793,"src":"5676:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":54765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:20"},"scope":54949,"src":"5611:404:20","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":54827,"nodeType":"Block","src":"6269:161:20","statements":[{"expression":{"id":54805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54800,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54414,"src":"6279:12:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":54802,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54414,"src":"6299:12:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54803,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54797,"src":"6313:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54801,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54888,"src":"6294:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54806,"nodeType":"ExpressionStatement","src":"6279:41:20"},{"expression":{"id":54816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54807,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"6330:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54809,"indexExpression":{"id":54808,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54795,"src":"6341:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54811,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"6352:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54813,"indexExpression":{"id":54812,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54795,"src":"6363:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54814,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54797,"src":"6368:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54810,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54888,"src":"6347:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54817,"nodeType":"ExpressionStatement","src":"6330:45:20"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":54821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:20","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":54820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54819,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:20","typeDescriptions":{}}},"id":54822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54823,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54795,"src":"6412:2:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54824,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54797,"src":"6416:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54818,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57541,"src":"6391:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54826,"nodeType":"EmitStatement","src":"6386:37:20"}]},"id":54828,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:20","nodeType":"FunctionDefinition","parameters":{"id":54798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54795,"mutability":"mutable","name":"to","nameLocation":"6232:2:20","nodeType":"VariableDeclaration","scope":54828,"src":"6224:10:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54794,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54797,"mutability":"mutable","name":"amount","nameLocation":"6244:6:20","nodeType":"VariableDeclaration","scope":54828,"src":"6236:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54796,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:20"},"returnParameters":{"id":54799,"nodeType":"ParameterList","parameters":[],"src":"6269:0:20"},"scope":54949,"src":"6209:221:20","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":54862,"nodeType":"Block","src":"6498:167:20","statements":[{"expression":{"id":54844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54835,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"6508:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54837,"indexExpression":{"id":54836,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54830,"src":"6519:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":54839,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"6532:10:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":54841,"indexExpression":{"id":54840,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54830,"src":"6543:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54842,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"6550:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54838,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"6527:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54845,"nodeType":"ExpressionStatement","src":"6508:49:20"},{"expression":{"id":54851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54846,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54414,"src":"6567:12:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":54848,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54414,"src":"6587:12:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54849,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"6601:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54847,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"6582:4:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":54850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54852,"nodeType":"ExpressionStatement","src":"6567:41:20"},{"eventCall":{"arguments":[{"id":54854,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54830,"src":"6633:4:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":54857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:20","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":54856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54855,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:20","typeDescriptions":{}}},"id":54858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54859,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"6651:6:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":54853,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57541,"src":"6624:8:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":54860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54861,"nodeType":"EmitStatement","src":"6619:39:20"}]},"id":54863,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:20","nodeType":"FunctionDefinition","parameters":{"id":54833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54830,"mutability":"mutable","name":"from","nameLocation":"6459:4:20","nodeType":"VariableDeclaration","scope":54863,"src":"6451:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54829,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54832,"mutability":"mutable","name":"amount","nameLocation":"6473:6:20","nodeType":"VariableDeclaration","scope":54863,"src":"6465:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54831,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:20"},"returnParameters":{"id":54834,"nodeType":"ParameterList","parameters":[],"src":"6498:0:20"},"scope":54949,"src":"6436:229:20","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":54887,"nodeType":"Block","src":"6927:105:20","statements":[{"assignments":[54873],"declarations":[{"constant":false,"id":54873,"mutability":"mutable","name":"c","nameLocation":"6945:1:20","nodeType":"VariableDeclaration","scope":54887,"src":"6937:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54872,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":54877,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54874,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54865,"src":"6949:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":54875,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54867,"src":"6953:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:20"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54879,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54873,"src":"6972:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":54880,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54865,"src":"6977:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":54882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":54878,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6964:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54884,"nodeType":"ExpressionStatement","src":"6964:43:20"},{"expression":{"id":54885,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54873,"src":"7024:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54871,"id":54886,"nodeType":"Return","src":"7017:8:20"}]},"id":54888,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:20","nodeType":"FunctionDefinition","parameters":{"id":54868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54865,"mutability":"mutable","name":"a","nameLocation":"6881:1:20","nodeType":"VariableDeclaration","scope":54888,"src":"6873:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54864,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54867,"mutability":"mutable","name":"b","nameLocation":"6892:1:20","nodeType":"VariableDeclaration","scope":54888,"src":"6884:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54866,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:20"},"returnParameters":{"id":54871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54888,"src":"6918:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54869,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:20"},"scope":54949,"src":"6859:173:20","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":54908,"nodeType":"Block","src":"7106:86:20","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54898,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54890,"src":"7124:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":54899,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54892,"src":"7129:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":54901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":54897,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7116:7:20","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":54902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54903,"nodeType":"ExpressionStatement","src":"7116:47:20"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54904,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54890,"src":"7180:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":54905,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54892,"src":"7184:1:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":54896,"id":54907,"nodeType":"Return","src":"7173:12:20"}]},"id":54909,"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:20","nodeType":"FunctionDefinition","parameters":{"id":54893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54890,"mutability":"mutable","name":"a","nameLocation":"7060:1:20","nodeType":"VariableDeclaration","scope":54909,"src":"7052:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54889,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54892,"mutability":"mutable","name":"b","nameLocation":"7071:1:20","nodeType":"VariableDeclaration","scope":54909,"src":"7063:9:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54891,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:20"},"returnParameters":{"id":54896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54909,"src":"7097:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54894,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:20"},"scope":54949,"src":"7038:154:20","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":54920,"nodeType":"Block","src":"7798:213:20","statements":[{"AST":{"nativeSrc":"7893:44:20","nodeType":"YulBlock","src":"7893:44:20","statements":[{"nativeSrc":"7907:20:20","nodeType":"YulAssignment","src":"7907:20:20","value":{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"7918:7:20","nodeType":"YulIdentifier","src":"7918:7:20"},"nativeSrc":"7918:9:20","nodeType":"YulFunctionCall","src":"7918:9:20"},"variableNames":[{"name":"chainId","nativeSrc":"7907:7:20","nodeType":"YulIdentifier","src":"7907:7:20"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":54912,"isOffset":false,"isSlot":false,"src":"7907:7:20","valueSize":1}],"id":54914,"nodeType":"InlineAssembly","src":"7884:53:20"},{"expression":{"arguments":[{"id":54917,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:20","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$54949","typeString":"contract MockERC20"}],"id":54916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54915,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:20","typeDescriptions":{}}},"id":54918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":54919,"nodeType":"ExpressionStatement","src":"7947:13:20"}]},"id":54921,"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:20","nodeType":"FunctionDefinition","parameters":{"id":54910,"nodeType":"ParameterList","parameters":[],"src":"7756:2:20"},"returnParameters":{"id":54913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54912,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:20","nodeType":"VariableDeclaration","scope":54921,"src":"7781:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54911,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:20"},"scope":54949,"src":"7735:276:20","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":54947,"nodeType":"Block","src":"8080:237:20","statements":[{"assignments":[54931],"declarations":[{"constant":false,"id":54931,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:20","nodeType":"VariableDeclaration","scope":54947,"src":"8090:47:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":54930,"nodeType":"FunctionTypeName","parameterTypes":{"id":54926,"nodeType":"ParameterList","parameters":[],"src":"8098:2:20"},"returnParameterTypes":{"id":54929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54930,"src":"8124:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54927,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:20"},"src":"8090:47:20","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":54933,"initialValue":{"id":54932,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54921,"src":"8140:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:20"},{"assignments":[54939],"declarations":[{"constant":false,"id":54939,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:20","nodeType":"VariableDeclaration","scope":54947,"src":"8162:54:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":54938,"nodeType":"FunctionTypeName","parameterTypes":{"id":54934,"nodeType":"ParameterList","parameters":[],"src":"8170:2:20"},"returnParameterTypes":{"id":54937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54938,"src":"8196:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54935,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:20"},"src":"8162:54:20","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":54940,"nodeType":"VariableDeclarationStatement","src":"8162:54:20"},{"AST":{"nativeSrc":"8235:43:20","nodeType":"YulBlock","src":"8235:43:20","statements":[{"nativeSrc":"8249:19:20","nodeType":"YulAssignment","src":"8249:19:20","value":{"name":"fnIn","nativeSrc":"8264:4:20","nodeType":"YulIdentifier","src":"8264:4:20"},"variableNames":[{"name":"pureChainId","nativeSrc":"8249:11:20","nodeType":"YulIdentifier","src":"8249:11:20"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":54931,"isOffset":false,"isSlot":false,"src":"8264:4:20","valueSize":1},{"declaration":54939,"isOffset":false,"isSlot":false,"src":"8249:11:20","valueSize":1}],"id":54941,"nodeType":"InlineAssembly","src":"8226:52:20"},{"expression":{"id":54945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":54942,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54924,"src":"8287:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":54943,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54939,"src":"8297:11:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":54944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":54946,"nodeType":"ExpressionStatement","src":"8287:23:20"}]},"id":54948,"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:20","nodeType":"FunctionDefinition","parameters":{"id":54922,"nodeType":"ParameterList","parameters":[],"src":"8038:2:20"},"returnParameters":{"id":54925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54924,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:20","nodeType":"VariableDeclaration","scope":54948,"src":"8063:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54923,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:20"},"scope":54949,"src":"8017:300:20","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":54950,"src":"369:7950:20","usedErrors":[],"usedEvents":[57541,57550]}],"src":"32:8288:20"},"id":20},"v4-core/lib/forge-std/src/mocks/MockERC721.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/mocks/MockERC721.sol","exportedSymbols":{"IERC721Metadata":[57781],"IERC721TokenReceiver":[57757],"MockERC721":[55555]},"id":55556,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":54951,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:21"},{"absolutePath":"v4-core/lib/forge-std/src/interfaces/IERC721.sol","file":"../interfaces/IERC721.sol","id":54954,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":55556,"sourceUnit":57810,"src":"65:80:21","symbolAliases":[{"foreign":{"id":54952,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57781,"src":"73:15:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":54953,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"90:20:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":54956,"name":"IERC721Metadata","nameLocations":["426:15:21"],"nodeType":"IdentifierPath","referencedDeclaration":57781,"src":"426:15:21"},"id":54957,"nodeType":"InheritanceSpecifier","src":"426:15:21"}],"canonicalName":"MockERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":54955,"nodeType":"StructuredDocumentation","src":"147:256:21","text":"@notice This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol"},"fullyImplemented":true,"id":55555,"linearizedBaseContracts":[55555,57781,57741,58173],"name":"MockERC721","nameLocation":"412:10:21","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":54959,"mutability":"mutable","name":"_name","nameLocation":"651:5:21","nodeType":"VariableDeclaration","scope":55555,"src":"635:21:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":54958,"name":"string","nodeType":"ElementaryTypeName","src":"635:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54961,"mutability":"mutable","name":"_symbol","nameLocation":"679:7:21","nodeType":"VariableDeclaration","scope":55555,"src":"663:23:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":54960,"name":"string","nodeType":"ElementaryTypeName","src":"663:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"baseFunctions":[57766],"body":{"id":54969,"nodeType":"Block","src":"756:29:21","statements":[{"expression":{"id":54967,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54959,"src":"773:5:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":54966,"id":54968,"nodeType":"Return","src":"766:12:21"}]},"functionSelector":"06fdde03","id":54970,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"702:4:21","nodeType":"FunctionDefinition","overrides":{"id":54963,"nodeType":"OverrideSpecifier","overrides":[],"src":"723:8:21"},"parameters":{"id":54962,"nodeType":"ParameterList","parameters":[],"src":"706:2:21"},"returnParameters":{"id":54966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54970,"src":"741:13:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54964,"name":"string","nodeType":"ElementaryTypeName","src":"741:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"740:15:21"},"scope":55555,"src":"693:92:21","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57772],"body":{"id":54978,"nodeType":"Block","src":"856:31:21","statements":[{"expression":{"id":54976,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54961,"src":"873:7:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":54975,"id":54977,"nodeType":"Return","src":"866:14:21"}]},"functionSelector":"95d89b41","id":54979,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"800:6:21","nodeType":"FunctionDefinition","overrides":{"id":54972,"nodeType":"OverrideSpecifier","overrides":[],"src":"823:8:21"},"parameters":{"id":54971,"nodeType":"ParameterList","parameters":[],"src":"806:2:21"},"returnParameters":{"id":54975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54979,"src":"841:13:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54973,"name":"string","nodeType":"ElementaryTypeName","src":"841:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"840:15:21"},"scope":55555,"src":"791:96:21","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[57780],"body":{"id":54987,"nodeType":"Block","src":"976:2:21","statements":[]},"functionSelector":"c87b56dd","id":54988,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"902:8:21","nodeType":"FunctionDefinition","overrides":{"id":54983,"nodeType":"OverrideSpecifier","overrides":[],"src":"943:8:21"},"parameters":{"id":54982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54981,"mutability":"mutable","name":"id","nameLocation":"919:2:21","nodeType":"VariableDeclaration","scope":54988,"src":"911:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54980,"name":"uint256","nodeType":"ElementaryTypeName","src":"911:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"910:12:21"},"returnParameters":{"id":54986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54988,"src":"961:13:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54984,"name":"string","nodeType":"ElementaryTypeName","src":"961:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"960:15:21"},"scope":55555,"src":"893:85:21","stateMutability":"view","virtual":true,"visibility":"public"},{"constant":false,"id":54992,"mutability":"mutable","name":"_ownerOf","nameLocation":"1211:8:21","nodeType":"VariableDeclaration","scope":55555,"src":"1174:45:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":54991,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54989,"name":"uint256","nodeType":"ElementaryTypeName","src":"1182:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1174:27:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":54990,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":54996,"mutability":"mutable","name":"_balanceOf","nameLocation":"1263:10:21","nodeType":"VariableDeclaration","scope":55555,"src":"1226:47:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":54995,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54993,"name":"address","nodeType":"ElementaryTypeName","src":"1234:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1226:27:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":54994,"name":"uint256","nodeType":"ElementaryTypeName","src":"1245:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"baseFunctions":[57674],"body":{"id":55019,"nodeType":"Block","src":"1362:76:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":55009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55005,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55002,"src":"1381:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":55006,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"1389:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55008,"indexExpression":{"id":55007,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54998,"src":"1398:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1389:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1381:20:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":55010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1380:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1414: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":55012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1406:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55011,"name":"address","nodeType":"ElementaryTypeName","src":"1406:7:21","typeDescriptions":{}}},"id":55014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1406:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1380:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":55016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1418:12:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":55004,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1372:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1372:59:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55018,"nodeType":"ExpressionStatement","src":"1372:59:21"}]},"functionSelector":"6352211e","id":55020,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1289:7:21","nodeType":"FunctionDefinition","overrides":{"id":55000,"nodeType":"OverrideSpecifier","overrides":[],"src":"1329:8:21"},"parameters":{"id":54999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54998,"mutability":"mutable","name":"id","nameLocation":"1305:2:21","nodeType":"VariableDeclaration","scope":55020,"src":"1297:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54997,"name":"uint256","nodeType":"ElementaryTypeName","src":"1297:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1296:12:21"},"returnParameters":{"id":55003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55002,"mutability":"mutable","name":"owner","nameLocation":"1355:5:21","nodeType":"VariableDeclaration","scope":55020,"src":"1347:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55001,"name":"address","nodeType":"ElementaryTypeName","src":"1347:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1346:15:21"},"scope":55555,"src":"1280:158:21","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[57666],"body":{"id":55042,"nodeType":"Block","src":"1525:96:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55029,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55022,"src":"1543:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1560: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":55031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1552:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55030,"name":"address","nodeType":"ElementaryTypeName","src":"1552:7:21","typeDescriptions":{}}},"id":55033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1552:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1543:19:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f41444452455353","id":55035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1564:14:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""},"value":"ZERO_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""}],"id":55028,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1535:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1535:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55037,"nodeType":"ExpressionStatement","src":"1535:44:21"},{"expression":{"baseExpression":{"id":55038,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54996,"src":"1597:10:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55040,"indexExpression":{"id":55039,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55022,"src":"1608:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1597:17:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55027,"id":55041,"nodeType":"Return","src":"1590:24:21"}]},"functionSelector":"70a08231","id":55043,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1453:9:21","nodeType":"FunctionDefinition","overrides":{"id":55024,"nodeType":"OverrideSpecifier","overrides":[],"src":"1498:8:21"},"parameters":{"id":55023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55022,"mutability":"mutable","name":"owner","nameLocation":"1471:5:21","nodeType":"VariableDeclaration","scope":55043,"src":"1463:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55021,"name":"address","nodeType":"ElementaryTypeName","src":"1463:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1462:15:21"},"returnParameters":{"id":55027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55043,"src":"1516:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55025,"name":"uint256","nodeType":"ElementaryTypeName","src":"1516:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1515:9:21"},"scope":55555,"src":"1444:177:21","stateMutability":"view","virtual":true,"visibility":"public"},{"constant":false,"id":55047,"mutability":"mutable","name":"_getApproved","nameLocation":"1852:12:21","nodeType":"VariableDeclaration","scope":55555,"src":"1815:49:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":55046,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55044,"name":"uint256","nodeType":"ElementaryTypeName","src":"1823:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1815:27:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55045,"name":"address","nodeType":"ElementaryTypeName","src":"1834:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"constant":false,"id":55053,"mutability":"mutable","name":"_isApprovedForAll","nameLocation":"1925:17:21","nodeType":"VariableDeclaration","scope":55555,"src":"1871:71:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":55052,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55048,"name":"address","nodeType":"ElementaryTypeName","src":"1879:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1871:44:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55051,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":55049,"name":"address","nodeType":"ElementaryTypeName","src":"1898:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1890:24:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":55050,"name":"bool","nodeType":"ElementaryTypeName","src":"1909:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"baseFunctions":[57730],"body":{"id":55065,"nodeType":"Block","src":"2029:40:21","statements":[{"expression":{"baseExpression":{"id":55061,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55047,"src":"2046:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55063,"indexExpression":{"id":55062,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55055,"src":"2059:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2046:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":55060,"id":55064,"nodeType":"Return","src":"2039:23:21"}]},"functionSelector":"081812fc","id":55066,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"1958:11:21","nodeType":"FunctionDefinition","overrides":{"id":55057,"nodeType":"OverrideSpecifier","overrides":[],"src":"2002:8:21"},"parameters":{"id":55056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55055,"mutability":"mutable","name":"id","nameLocation":"1978:2:21","nodeType":"VariableDeclaration","scope":55066,"src":"1970:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55054,"name":"uint256","nodeType":"ElementaryTypeName","src":"1970:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1969:12:21"},"returnParameters":{"id":55060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55066,"src":"2020:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55058,"name":"address","nodeType":"ElementaryTypeName","src":"2020:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2019:9:21"},"scope":55555,"src":"1949:120:21","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[57740],"body":{"id":55082,"nodeType":"Block","src":"2178:58:21","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":55076,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55053,"src":"2195:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":55078,"indexExpression":{"id":55077,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55068,"src":"2213:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2195:24:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":55080,"indexExpression":{"id":55079,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55070,"src":"2220:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2195:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55075,"id":55081,"nodeType":"Return","src":"2188:41:21"}]},"functionSelector":"e985e9c5","id":55083,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"2084:16:21","nodeType":"FunctionDefinition","overrides":{"id":55072,"nodeType":"OverrideSpecifier","overrides":[],"src":"2154:8:21"},"parameters":{"id":55071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55068,"mutability":"mutable","name":"owner","nameLocation":"2109:5:21","nodeType":"VariableDeclaration","scope":55083,"src":"2101:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55067,"name":"address","nodeType":"ElementaryTypeName","src":"2101:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55070,"mutability":"mutable","name":"operator","nameLocation":"2124:8:21","nodeType":"VariableDeclaration","scope":55083,"src":"2116:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55069,"name":"address","nodeType":"ElementaryTypeName","src":"2116:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2100:33:21"},"returnParameters":{"id":55075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55074,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55083,"src":"2172:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55073,"name":"bool","nodeType":"ElementaryTypeName","src":"2172:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2171:6:21"},"scope":55555,"src":"2075:161:21","stateMutability":"view","virtual":true,"visibility":"public"},{"constant":false,"documentation":{"id":55084,"nodeType":"StructuredDocumentation","src":"2423:67:21","text":"@dev A bool to track whether the contract has been initialized."},"id":55086,"mutability":"mutable","name":"initialized","nameLocation":"2508:11:21","nodeType":"VariableDeclaration","scope":55555,"src":"2495:24:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55085,"name":"bool","nodeType":"ElementaryTypeName","src":"2495:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"body":{"id":55112,"nodeType":"Block","src":"2799:141:21","statements":[{"expression":{"arguments":[{"id":55096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2817:12:21","subExpression":{"id":55095,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55086,"src":"2818:11:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":55097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2831:21:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":55094,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2809:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55099,"nodeType":"ExpressionStatement","src":"2809:44:21"},{"expression":{"id":55102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55100,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54959,"src":"2864:5:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55101,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55089,"src":"2872:5:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2864:13:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55103,"nodeType":"ExpressionStatement","src":"2864:13:21"},{"expression":{"id":55106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55104,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54961,"src":"2887:7:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55105,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55091,"src":"2897:7:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2887:17:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":55107,"nodeType":"ExpressionStatement","src":"2887:17:21"},{"expression":{"id":55110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":55108,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55086,"src":"2915:11:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":55109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2929:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2915:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55111,"nodeType":"ExpressionStatement","src":"2915:18:21"}]},"documentation":{"id":55087,"nodeType":"StructuredDocumentation","src":"2526:197:21","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"4cd88b76","id":55113,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2737:10:21","nodeType":"FunctionDefinition","parameters":{"id":55092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55089,"mutability":"mutable","name":"name_","nameLocation":"2762:5:21","nodeType":"VariableDeclaration","scope":55113,"src":"2748:19:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55088,"name":"string","nodeType":"ElementaryTypeName","src":"2748:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55091,"mutability":"mutable","name":"symbol_","nameLocation":"2783:7:21","nodeType":"VariableDeclaration","scope":55113,"src":"2769:21:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55090,"name":"string","nodeType":"ElementaryTypeName","src":"2769:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2747:44:21"},"returnParameters":{"id":55093,"nodeType":"ParameterList","parameters":[],"src":"2799:0:21"},"scope":55555,"src":"2728:212:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[57714],"body":{"id":55154,"nodeType":"Block","src":"3206:223:21","statements":[{"assignments":[55122],"declarations":[{"constant":false,"id":55122,"mutability":"mutable","name":"owner","nameLocation":"3224:5:21","nodeType":"VariableDeclaration","scope":55154,"src":"3216:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55121,"name":"address","nodeType":"ElementaryTypeName","src":"3216:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55126,"initialValue":{"baseExpression":{"id":55123,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"3232:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55125,"indexExpression":{"id":55124,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55117,"src":"3241:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3232:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3216:28:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55128,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3263:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3267:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3263:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":55130,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55122,"src":"3277:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3263:19:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":55132,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55053,"src":"3286:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":55134,"indexExpression":{"id":55133,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55122,"src":"3304:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3286:24:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":55137,"indexExpression":{"expression":{"id":55135,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3311:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3315:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3311:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3286:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3263:59:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":55139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3324:16:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":55127,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3255:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3255:86:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55141,"nodeType":"ExpressionStatement","src":"3255:86:21"},{"expression":{"id":55146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55142,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55047,"src":"3352:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55144,"indexExpression":{"id":55143,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55117,"src":"3365:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3352:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55145,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55115,"src":"3371:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3352:26:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55147,"nodeType":"ExpressionStatement","src":"3352:26:21"},{"eventCall":{"arguments":[{"id":55149,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55122,"src":"3403:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55150,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55115,"src":"3410:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55151,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55117,"src":"3419:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55148,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57649,"src":"3394:8:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55153,"nodeType":"EmitStatement","src":"3389:33:21"}]},"functionSelector":"095ea7b3","id":55155,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3137:7:21","nodeType":"FunctionDefinition","overrides":{"id":55119,"nodeType":"OverrideSpecifier","overrides":[],"src":"3197:8:21"},"parameters":{"id":55118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55115,"mutability":"mutable","name":"spender","nameLocation":"3153:7:21","nodeType":"VariableDeclaration","scope":55155,"src":"3145:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55114,"name":"address","nodeType":"ElementaryTypeName","src":"3145:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55117,"mutability":"mutable","name":"id","nameLocation":"3170:2:21","nodeType":"VariableDeclaration","scope":55155,"src":"3162:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55116,"name":"uint256","nodeType":"ElementaryTypeName","src":"3162:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3144:29:21"},"returnParameters":{"id":55120,"nodeType":"ParameterList","parameters":[],"src":"3206:0:21"},"scope":55555,"src":"3128:301:21","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[57722],"body":{"id":55179,"nodeType":"Block","src":"3519:129:21","statements":[{"expression":{"id":55170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":55163,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55053,"src":"3529:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":55167,"indexExpression":{"expression":{"id":55164,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3547:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3551:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3547:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3529:29:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":55168,"indexExpression":{"id":55166,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55157,"src":"3559:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3529:39:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55169,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55159,"src":"3571:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3529:50:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55171,"nodeType":"ExpressionStatement","src":"3529:50:21"},{"eventCall":{"arguments":[{"expression":{"id":55173,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3610:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3614:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3610:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55175,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55157,"src":"3622:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55176,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55159,"src":"3632:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55172,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57658,"src":"3595:14:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":55177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3595:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55178,"nodeType":"EmitStatement","src":"3590:51:21"}]},"functionSelector":"a22cb465","id":55180,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"3444:17:21","nodeType":"FunctionDefinition","overrides":{"id":55161,"nodeType":"OverrideSpecifier","overrides":[],"src":"3510:8:21"},"parameters":{"id":55160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55157,"mutability":"mutable","name":"operator","nameLocation":"3470:8:21","nodeType":"VariableDeclaration","scope":55180,"src":"3462:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55156,"name":"address","nodeType":"ElementaryTypeName","src":"3462:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55159,"mutability":"mutable","name":"approved","nameLocation":"3485:8:21","nodeType":"VariableDeclaration","scope":55180,"src":"3480:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55158,"name":"bool","nodeType":"ElementaryTypeName","src":"3480:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3461:33:21"},"returnParameters":{"id":55162,"nodeType":"ParameterList","parameters":[],"src":"3519:0:21"},"scope":55555,"src":"3435:213:21","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[57706],"body":{"id":55258,"nodeType":"Block","src":"3746:601:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55191,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"3764:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":55192,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"3772:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55194,"indexExpression":{"id":55193,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"3781:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3772:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3764:20:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"57524f4e475f46524f4d","id":55196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3786:12:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""},"value":"WRONG_FROM"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""}],"id":55190,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3756:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3756:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55198,"nodeType":"ExpressionStatement","src":"3756:43:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55200,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"3818:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3832: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":55202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3824:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55201,"name":"address","nodeType":"ElementaryTypeName","src":"3824:7:21","typeDescriptions":{}}},"id":55204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3824:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3818:16:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":55206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3836:19:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":55199,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3810:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3810:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55208,"nodeType":"ExpressionStatement","src":"3810:46:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55210,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3888:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3892:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3888:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":55212,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"3902:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3888:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":55214,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55053,"src":"3910:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":55216,"indexExpression":{"id":55215,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"3928:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3910:23:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":55219,"indexExpression":{"expression":{"id":55217,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3934:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3938:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3934:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3910:35:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3888:57:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3949:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3953:6:21","memberName":"sender","nodeType":"MemberAccess","src":"3949:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":55223,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55047,"src":"3963:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55225,"indexExpression":{"id":55224,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"3976:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3963:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3949:30:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3888:91:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":55228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3993:16:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":55209,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3867:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3867:152:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55230,"nodeType":"ExpressionStatement","src":"3867:152:21"},{"expression":{"id":55234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"4195:18:21","subExpression":{"baseExpression":{"id":55231,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54996,"src":"4195:10:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55233,"indexExpression":{"id":55232,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"4206:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4195:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55235,"nodeType":"ExpressionStatement","src":"4195:18:21"},{"expression":{"id":55239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4224:16:21","subExpression":{"baseExpression":{"id":55236,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54996,"src":"4224:10:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55238,"indexExpression":{"id":55237,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"4235:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4224:14:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55240,"nodeType":"ExpressionStatement","src":"4224:16:21"},{"expression":{"id":55245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55241,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"4251:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55243,"indexExpression":{"id":55242,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"4260:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4251:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55244,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"4266:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4251:17:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55246,"nodeType":"ExpressionStatement","src":"4251:17:21"},{"expression":{"id":55250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4279:23:21","subExpression":{"baseExpression":{"id":55247,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55047,"src":"4286:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55249,"indexExpression":{"id":55248,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"4299:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4286:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55251,"nodeType":"ExpressionStatement","src":"4279:23:21"},{"eventCall":{"arguments":[{"id":55253,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55182,"src":"4327:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55254,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55184,"src":"4333:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55255,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55186,"src":"4337:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55252,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57640,"src":"4318:8:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4318:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55257,"nodeType":"EmitStatement","src":"4313:27:21"}]},"functionSelector":"23b872dd","id":55259,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3663:12:21","nodeType":"FunctionDefinition","overrides":{"id":55188,"nodeType":"OverrideSpecifier","overrides":[],"src":"3737:8:21"},"parameters":{"id":55187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55182,"mutability":"mutable","name":"from","nameLocation":"3684:4:21","nodeType":"VariableDeclaration","scope":55259,"src":"3676:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55181,"name":"address","nodeType":"ElementaryTypeName","src":"3676:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55184,"mutability":"mutable","name":"to","nameLocation":"3698:2:21","nodeType":"VariableDeclaration","scope":55259,"src":"3690:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55183,"name":"address","nodeType":"ElementaryTypeName","src":"3690:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55186,"mutability":"mutable","name":"id","nameLocation":"3710:2:21","nodeType":"VariableDeclaration","scope":55259,"src":"3702:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55185,"name":"uint256","nodeType":"ElementaryTypeName","src":"3702:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3675:38:21"},"returnParameters":{"id":55189,"nodeType":"ParameterList","parameters":[],"src":"3746:0:21"},"scope":55555,"src":"3654:693:21","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[57696],"body":{"id":55298,"nodeType":"Block","src":"4449:290:21","statements":[{"expression":{"arguments":[{"id":55270,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55261,"src":"4472:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55271,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55263,"src":"4478:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55272,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55265,"src":"4482:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55269,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55259,"src":"4459:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4459:26:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55274,"nodeType":"ExpressionStatement","src":"4459:26:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4517:16:21","subExpression":{"arguments":[{"id":55277,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55263,"src":"4530:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55276,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55554,"src":"4518:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":55278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4518:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":55284,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4595:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4599:6:21","memberName":"sender","nodeType":"MemberAccess","src":"4595:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55286,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55261,"src":"4607:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55287,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55265,"src":"4613:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":55288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4617:2:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":55281,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55263,"src":"4574:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55280,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"4553:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$57757","typeString":"contract IERC721TokenReceiver"}},"id":55283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4578:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"4553:41:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":55289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:67:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":55290,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"4644:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4665:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"4644:37:21","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":55292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4682:8:21","memberName":"selector","nodeType":"MemberAccess","src":"4644:46:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4553:137:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4517:173:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":55295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4704:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":55275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4496:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4496:236:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55297,"nodeType":"ExpressionStatement","src":"4496:236:21"}]},"functionSelector":"42842e0e","id":55299,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4362:16:21","nodeType":"FunctionDefinition","overrides":{"id":55267,"nodeType":"OverrideSpecifier","overrides":[],"src":"4440:8:21"},"parameters":{"id":55266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55261,"mutability":"mutable","name":"from","nameLocation":"4387:4:21","nodeType":"VariableDeclaration","scope":55299,"src":"4379:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55260,"name":"address","nodeType":"ElementaryTypeName","src":"4379:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55263,"mutability":"mutable","name":"to","nameLocation":"4401:2:21","nodeType":"VariableDeclaration","scope":55299,"src":"4393:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55262,"name":"address","nodeType":"ElementaryTypeName","src":"4393:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55265,"mutability":"mutable","name":"id","nameLocation":"4413:2:21","nodeType":"VariableDeclaration","scope":55299,"src":"4405:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55264,"name":"uint256","nodeType":"ElementaryTypeName","src":"4405:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4378:38:21"},"returnParameters":{"id":55268,"nodeType":"ParameterList","parameters":[],"src":"4449:0:21"},"scope":55555,"src":"4353:386:21","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[57686],"body":{"id":55340,"nodeType":"Block","src":"4896:292:21","statements":[{"expression":{"arguments":[{"id":55312,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55301,"src":"4919:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55313,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55303,"src":"4925:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55314,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55305,"src":"4929:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55311,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55259,"src":"4906:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4906:26:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55316,"nodeType":"ExpressionStatement","src":"4906:26:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4964:16:21","subExpression":{"arguments":[{"id":55319,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55303,"src":"4977:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55318,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55554,"src":"4965:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":55320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4965:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":55326,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5042:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:6:21","memberName":"sender","nodeType":"MemberAccess","src":"5042:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55328,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55301,"src":"5054:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55329,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55305,"src":"5060:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55330,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55307,"src":"5064:4:21","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":{"arguments":[{"id":55323,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55303,"src":"5021:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55322,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"5000:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5000:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$57757","typeString":"contract IERC721TokenReceiver"}},"id":55325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5025:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"5000:41:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":55331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5000:69:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":55332,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"5093:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5114:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"5093:37:21","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":55334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5131:8:21","memberName":"selector","nodeType":"MemberAccess","src":"5093:46:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"5000:139:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4964:175:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":55337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5153:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":55317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4943:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4943:238:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55339,"nodeType":"ExpressionStatement","src":"4943:238:21"}]},"functionSelector":"b88d4fde","id":55341,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4754:16:21","nodeType":"FunctionDefinition","overrides":{"id":55309,"nodeType":"OverrideSpecifier","overrides":[],"src":"4883:8:21"},"parameters":{"id":55308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55301,"mutability":"mutable","name":"from","nameLocation":"4779:4:21","nodeType":"VariableDeclaration","scope":55341,"src":"4771:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55300,"name":"address","nodeType":"ElementaryTypeName","src":"4771:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55303,"mutability":"mutable","name":"to","nameLocation":"4793:2:21","nodeType":"VariableDeclaration","scope":55341,"src":"4785:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55302,"name":"address","nodeType":"ElementaryTypeName","src":"4785:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55305,"mutability":"mutable","name":"id","nameLocation":"4805:2:21","nodeType":"VariableDeclaration","scope":55341,"src":"4797:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55304,"name":"uint256","nodeType":"ElementaryTypeName","src":"4797:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55307,"mutability":"mutable","name":"data","nameLocation":"4822:4:21","nodeType":"VariableDeclaration","scope":55341,"src":"4809:17:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":55306,"name":"bytes","nodeType":"ElementaryTypeName","src":"4809:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4770:57:21"},"returnParameters":{"id":55310,"nodeType":"ParameterList","parameters":[],"src":"4896:0:21"},"scope":55555,"src":"4745:443:21","stateMutability":"payable","virtual":true,"visibility":"public"},{"baseFunctions":[58172],"body":{"id":55361,"nodeType":"Block","src":"5467:241:21","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55349,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55343,"src":"5484:11:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783031666663396137","id":55350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5499:10:21","typeDescriptions":{"typeIdentifier":"t_rational_33540519_by_1","typeString":"int_const 33540519"},"value":"0x01ffc9a7"},"src":"5484:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55352,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55343,"src":"5559:11:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783830616335386364","id":55353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5574:10:21","typeDescriptions":{"typeIdentifier":"t_rational_2158778573_by_1","typeString":"int_const 2158778573"},"value":"0x80ac58cd"},"src":"5559:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5484:100:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55356,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55343,"src":"5634:11:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783562356531333966","id":55357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5649:10:21","typeDescriptions":{"typeIdentifier":"t_rational_1532892063_by_1","typeString":"int_const 1532892063"},"value":"0x5b5e139f"},"src":"5634:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5484:175:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55348,"id":55360,"nodeType":"Return","src":"5477:182:21"}]},"functionSelector":"01ffc9a7","id":55362,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"5385:17:21","nodeType":"FunctionDefinition","overrides":{"id":55345,"nodeType":"OverrideSpecifier","overrides":[],"src":"5443:8:21"},"parameters":{"id":55344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55343,"mutability":"mutable","name":"interfaceId","nameLocation":"5410:11:21","nodeType":"VariableDeclaration","scope":55362,"src":"5403:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":55342,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5403:6:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"5402:20:21"},"returnParameters":{"id":55348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55362,"src":"5461:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55346,"name":"bool","nodeType":"ElementaryTypeName","src":"5461:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5460:6:21"},"scope":55555,"src":"5376:332:21","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":55411,"nodeType":"Block","src":"5958:282:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55370,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55364,"src":"5976:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5990: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":55372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5982:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55371,"name":"address","nodeType":"ElementaryTypeName","src":"5982:7:21","typeDescriptions":{}}},"id":55374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5982:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5976:16:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":55376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5994:19:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":55369,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5968:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5968:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55378,"nodeType":"ExpressionStatement","src":"5968:46:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":55380,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"6033:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55382,"indexExpression":{"id":55381,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"6042:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6033:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":55385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6057: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":55384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6049:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55383,"name":"address","nodeType":"ElementaryTypeName","src":"6049:7:21","typeDescriptions":{}}},"id":55386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6049:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6033:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f4d494e544544","id":55388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6061:16:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""},"value":"ALREADY_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""}],"id":55379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6025:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6025:53:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55390,"nodeType":"ExpressionStatement","src":"6025:53:21"},{"expression":{"id":55394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6145:16:21","subExpression":{"baseExpression":{"id":55391,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54996,"src":"6145:10:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55393,"indexExpression":{"id":55392,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55364,"src":"6156:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6145:14:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55395,"nodeType":"ExpressionStatement","src":"6145:16:21"},{"expression":{"id":55400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55396,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"6172:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55398,"indexExpression":{"id":55397,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"6181:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6172:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55399,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55364,"src":"6187:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6172:17:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55401,"nodeType":"ExpressionStatement","src":"6172:17:21"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":55405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6222: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":55404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6214:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55403,"name":"address","nodeType":"ElementaryTypeName","src":"6214:7:21","typeDescriptions":{}}},"id":55406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6214:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55407,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55364,"src":"6226:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55408,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"6230:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55402,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57640,"src":"6205:8:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6205:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55410,"nodeType":"EmitStatement","src":"6200:33:21"}]},"id":55412,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"5911:5:21","nodeType":"FunctionDefinition","parameters":{"id":55367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55364,"mutability":"mutable","name":"to","nameLocation":"5925:2:21","nodeType":"VariableDeclaration","scope":55412,"src":"5917:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55363,"name":"address","nodeType":"ElementaryTypeName","src":"5917:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55366,"mutability":"mutable","name":"id","nameLocation":"5937:2:21","nodeType":"VariableDeclaration","scope":55412,"src":"5929:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55365,"name":"uint256","nodeType":"ElementaryTypeName","src":"5929:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5916:24:21"},"returnParameters":{"id":55368,"nodeType":"ParameterList","parameters":[],"src":"5958:0:21"},"scope":55555,"src":"5902:338:21","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":55457,"nodeType":"Block","src":"6290:239:21","statements":[{"assignments":[55418],"declarations":[{"constant":false,"id":55418,"mutability":"mutable","name":"owner","nameLocation":"6308:5:21","nodeType":"VariableDeclaration","scope":55457,"src":"6300:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55417,"name":"address","nodeType":"ElementaryTypeName","src":"6300:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":55422,"initialValue":{"baseExpression":{"id":55419,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"6316:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55421,"indexExpression":{"id":55420,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55414,"src":"6325:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6316:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6300:28:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55424,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55418,"src":"6347:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6364: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":55426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6356:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55425,"name":"address","nodeType":"ElementaryTypeName","src":"6356:7:21","typeDescriptions":{}}},"id":55428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6356:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6347:19:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":55430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6368:12:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":55423,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6339:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6339:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55432,"nodeType":"ExpressionStatement","src":"6339:42:21"},{"expression":{"id":55436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"6392:19:21","subExpression":{"baseExpression":{"id":55433,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54996,"src":"6392:10:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":55435,"indexExpression":{"id":55434,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55418,"src":"6403:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6392:17:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55437,"nodeType":"ExpressionStatement","src":"6392:19:21"},{"expression":{"id":55441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6422:19:21","subExpression":{"baseExpression":{"id":55438,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54992,"src":"6429:8:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55440,"indexExpression":{"id":55439,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55414,"src":"6438:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6429:12:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55442,"nodeType":"ExpressionStatement","src":"6422:19:21"},{"expression":{"id":55446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6452:23:21","subExpression":{"baseExpression":{"id":55443,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55047,"src":"6459:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":55445,"indexExpression":{"id":55444,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55414,"src":"6472:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6459:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55447,"nodeType":"ExpressionStatement","src":"6452:23:21"},{"eventCall":{"arguments":[{"id":55449,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55418,"src":"6500:5:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6515: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":55451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6507:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55450,"name":"address","nodeType":"ElementaryTypeName","src":"6507:7:21","typeDescriptions":{}}},"id":55453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6507:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55454,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55414,"src":"6519:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55448,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57640,"src":"6491:8:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":55455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:31:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55456,"nodeType":"EmitStatement","src":"6486:36:21"}]},"id":55458,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6255:5:21","nodeType":"FunctionDefinition","parameters":{"id":55415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55414,"mutability":"mutable","name":"id","nameLocation":"6269:2:21","nodeType":"VariableDeclaration","scope":55458,"src":"6261:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55413,"name":"uint256","nodeType":"ElementaryTypeName","src":"6261:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6260:12:21"},"returnParameters":{"id":55416,"nodeType":"ParameterList","parameters":[],"src":"6290:0:21"},"scope":55555,"src":"6246:283:21","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":55496,"nodeType":"Block","src":"6783:283:21","statements":[{"expression":{"arguments":[{"id":55466,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55460,"src":"6799:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55467,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55462,"src":"6803:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55465,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55412,"src":"6793:5:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":55468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6793:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55469,"nodeType":"ExpressionStatement","src":"6793:13:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6838:16:21","subExpression":{"arguments":[{"id":55472,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55460,"src":"6851:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55471,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55554,"src":"6839:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":55473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6839:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":55479,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6916:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6920:6:21","memberName":"sender","nodeType":"MemberAccess","src":"6916:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6936: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":55482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6928:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55481,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:21","typeDescriptions":{}}},"id":55484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6928:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55485,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55462,"src":"6940:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":55486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6944:2:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":55476,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55460,"src":"6895:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55475,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"6874:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6874:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$57757","typeString":"contract IERC721TokenReceiver"}},"id":55478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6899:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"6874:41:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":55487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6874:73:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":55488,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"6971:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6992:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"6971:37:21","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":55490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7009:8:21","memberName":"selector","nodeType":"MemberAccess","src":"6971:46:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6874:143:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6838:179:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":55493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7031:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":55470,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6817:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6817:242:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55495,"nodeType":"ExpressionStatement","src":"6817:242:21"}]},"id":55497,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"6732:9:21","nodeType":"FunctionDefinition","parameters":{"id":55463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55460,"mutability":"mutable","name":"to","nameLocation":"6750:2:21","nodeType":"VariableDeclaration","scope":55497,"src":"6742:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55459,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55462,"mutability":"mutable","name":"id","nameLocation":"6762:2:21","nodeType":"VariableDeclaration","scope":55497,"src":"6754:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55461,"name":"uint256","nodeType":"ElementaryTypeName","src":"6754:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6741:24:21"},"returnParameters":{"id":55464,"nodeType":"ParameterList","parameters":[],"src":"6783:0:21"},"scope":55555,"src":"6723:343:21","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":55537,"nodeType":"Block","src":"7151:285:21","statements":[{"expression":{"arguments":[{"id":55507,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55499,"src":"7167:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55508,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55501,"src":"7171:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55506,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55412,"src":"7161:5:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":55509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7161:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55510,"nodeType":"ExpressionStatement","src":"7161:13:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7206:16:21","subExpression":{"arguments":[{"id":55513,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55499,"src":"7219:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55512,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55554,"src":"7207:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":55514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7207:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":55532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":55520,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7284:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":55521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7288:6:21","memberName":"sender","nodeType":"MemberAccess","src":"7284:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":55524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7304: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":55523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7296:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55522,"name":"address","nodeType":"ElementaryTypeName","src":"7296:7:21","typeDescriptions":{}}},"id":55525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7296:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55526,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55501,"src":"7308:2:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55527,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55503,"src":"7312:4:21","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":{"arguments":[{"id":55517,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55499,"src":"7263:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55516,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"7242:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7242:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$57757","typeString":"contract IERC721TokenReceiver"}},"id":55519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7267:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"7242:41:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":55528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7242:75:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":55529,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"7341:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$57757_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":55530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7362:16:21","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":57756,"src":"7341:37:21","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":55531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7379:8:21","memberName":"selector","nodeType":"MemberAccess","src":"7341:46:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7242:145:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7206:181:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":55534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7401:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":55511,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7185:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":55535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7185:244:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55536,"nodeType":"ExpressionStatement","src":"7185:244:21"}]},"id":55538,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"7081:9:21","nodeType":"FunctionDefinition","parameters":{"id":55504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55499,"mutability":"mutable","name":"to","nameLocation":"7099:2:21","nodeType":"VariableDeclaration","scope":55538,"src":"7091:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55498,"name":"address","nodeType":"ElementaryTypeName","src":"7091:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55501,"mutability":"mutable","name":"id","nameLocation":"7111:2:21","nodeType":"VariableDeclaration","scope":55538,"src":"7103:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55500,"name":"uint256","nodeType":"ElementaryTypeName","src":"7103:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55503,"mutability":"mutable","name":"data","nameLocation":"7128:4:21","nodeType":"VariableDeclaration","scope":55538,"src":"7115:17:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":55502,"name":"bytes","nodeType":"ElementaryTypeName","src":"7115:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7090:43:21"},"returnParameters":{"id":55505,"nodeType":"ParameterList","parameters":[],"src":"7151:0:21"},"scope":55555,"src":"7072:364:21","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":55553,"nodeType":"Block","src":"7685:214:21","statements":[{"assignments":[55546],"declarations":[{"constant":false,"id":55546,"mutability":"mutable","name":"codeLength","nameLocation":"7703:10:21","nodeType":"VariableDeclaration","scope":55553,"src":"7695:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55545,"name":"uint256","nodeType":"ElementaryTypeName","src":"7695:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55547,"nodeType":"VariableDeclarationStatement","src":"7695:18:21"},{"AST":{"nativeSrc":"7805:56:21","nodeType":"YulBlock","src":"7805:56:21","statements":[{"nativeSrc":"7819:32:21","nodeType":"YulAssignment","src":"7819:32:21","value":{"arguments":[{"name":"_addr","nativeSrc":"7845:5:21","nodeType":"YulIdentifier","src":"7845:5:21"}],"functionName":{"name":"extcodesize","nativeSrc":"7833:11:21","nodeType":"YulIdentifier","src":"7833:11:21"},"nativeSrc":"7833:18:21","nodeType":"YulFunctionCall","src":"7833:18:21"},"variableNames":[{"name":"codeLength","nativeSrc":"7819:10:21","nodeType":"YulIdentifier","src":"7819:10:21"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":55540,"isOffset":false,"isSlot":false,"src":"7845:5:21","valueSize":1},{"declaration":55546,"isOffset":false,"isSlot":false,"src":"7819:10:21","valueSize":1}],"id":55548,"nodeType":"InlineAssembly","src":"7796:65:21"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55549,"name":"codeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55546,"src":"7878:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":55550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7891:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7878:14:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55544,"id":55552,"nodeType":"Return","src":"7871:21:21"}]},"id":55554,"implemented":true,"kind":"function","modifiers":[],"name":"_isContract","nameLocation":"7630:11:21","nodeType":"FunctionDefinition","parameters":{"id":55541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55540,"mutability":"mutable","name":"_addr","nameLocation":"7650:5:21","nodeType":"VariableDeclaration","scope":55554,"src":"7642:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55539,"name":"address","nodeType":"ElementaryTypeName","src":"7642:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7641:15:21"},"returnParameters":{"id":55544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55554,"src":"7679:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55542,"name":"bool","nodeType":"ElementaryTypeName","src":"7679:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7678:6:21"},"scope":55555,"src":"7621:278:21","stateMutability":"view","virtual":false,"visibility":"private"}],"scope":55556,"src":"403:7498:21","usedErrors":[],"usedEvents":[57640,57649,57658]}],"src":"32:7870:21"},"id":21},"v4-core/lib/forge-std/src/safeconsole.sol":{"ast":{"absolutePath":"v4-core/lib/forge-std/src/safeconsole.sol","exportedSymbols":{"safeconsole":[44426]},"id":44427,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":31353,"literals":["solidity",">=","0.6",".2","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:31:22"},{"abstract":false,"baseContracts":[],"canonicalName":"safeconsole","contractDependencies":[],"contractKind":"library","documentation":{"id":31354,"nodeType":"StructuredDocumentation","src":"65:98:22","text":"@author philogy <https://github.com/philogy>\n @dev Code generated automatically by script."},"fullyImplemented":true,"id":44426,"linearizedBaseContracts":[44426],"name":"safeconsole","nameLocation":"171:11:22","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":31357,"mutability":"constant","name":"CONSOLE_ADDR","nameLocation":"206:12:22","nodeType":"VariableDeclaration","scope":44426,"src":"189:98:22","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31355,"name":"uint256","nodeType":"ElementaryTypeName","src":"189:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030303036333646366537333646366336353265366336663637","id":31356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221:66:22","typeDescriptions":{"typeIdentifier":"t_rational_120209876281281145568259943_by_1","typeString":"int_const 120209876281281145568259943"},"value":"0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"body":{"id":31389,"nodeType":"Block","src":"544:306:22","statements":[{"assignments":[31371],"declarations":[{"constant":false,"id":31371,"mutability":"mutable","name":"fnIn","nameLocation":"595:4:22","nodeType":"VariableDeclaration","scope":31389,"src":"554:45:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"typeName":{"id":31370,"nodeType":"FunctionTypeName","parameterTypes":{"id":31368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31370,"src":"563:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31364,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31370,"src":"572:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31366,"name":"uint256","nodeType":"ElementaryTypeName","src":"572:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:18:22"},"returnParameterTypes":{"id":31369,"nodeType":"ParameterList","parameters":[],"src":"595:0:22"},"src":"554:45:22","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"visibility":"internal"},"visibility":"internal"}],"id":31373,"initialValue":{"id":31372,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31399,"src":"602:19:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"554:67:22"},{"assignments":[31381],"declarations":[{"constant":false,"id":31381,"mutability":"mutable","name":"pureSendLogPayload","nameLocation":"672:18:22","nodeType":"VariableDeclaration","scope":31389,"src":"631:59:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"typeName":{"id":31380,"nodeType":"FunctionTypeName","parameterTypes":{"id":31378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31380,"src":"640:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31374,"name":"uint256","nodeType":"ElementaryTypeName","src":"640:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31380,"src":"649:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31376,"name":"uint256","nodeType":"ElementaryTypeName","src":"649:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"639:18:22"},"returnParameterTypes":{"id":31379,"nodeType":"ParameterList","parameters":[],"src":"672:0:22"},"src":"631:59:22","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"visibility":"internal"},"visibility":"internal"}],"id":31382,"nodeType":"VariableDeclarationStatement","src":"631:59:22"},{"AST":{"nativeSrc":"752:50:22","nodeType":"YulBlock","src":"752:50:22","statements":[{"nativeSrc":"766:26:22","nodeType":"YulAssignment","src":"766:26:22","value":{"name":"fnIn","nativeSrc":"788:4:22","nodeType":"YulIdentifier","src":"788:4:22"},"variableNames":[{"name":"pureSendLogPayload","nativeSrc":"766:18:22","nodeType":"YulIdentifier","src":"766:18:22"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31371,"isOffset":false,"isSlot":false,"src":"788:4:22","valueSize":1},{"declaration":31381,"isOffset":false,"isSlot":false,"src":"766:18:22","valueSize":1}],"id":31383,"nodeType":"InlineAssembly","src":"743:59:22"},{"expression":{"arguments":[{"id":31385,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31359,"src":"830:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31386,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31361,"src":"838:4:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31384,"name":"pureSendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31381,"src":"811:18:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"811:32:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31388,"nodeType":"ExpressionStatement","src":"811:32:22"}]},"id":31390,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"485:15:22","nodeType":"FunctionDefinition","parameters":{"id":31362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31359,"mutability":"mutable","name":"offset","nameLocation":"509:6:22","nodeType":"VariableDeclaration","scope":31390,"src":"501:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31358,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31361,"mutability":"mutable","name":"size","nameLocation":"525:4:22","nodeType":"VariableDeclaration","scope":31390,"src":"517:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31360,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"500:30:22"},"returnParameters":{"id":31363,"nodeType":"ParameterList","parameters":[],"src":"544:0:22"},"scope":44426,"src":"476:374:22","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":31398,"nodeType":"Block","src":"928:152:22","statements":[{"AST":{"nativeSrc":"990:84:22","nodeType":"YulBlock","src":"990:84:22","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1019:3:22","nodeType":"YulIdentifier","src":"1019:3:22"},"nativeSrc":"1019:5:22","nodeType":"YulFunctionCall","src":"1019:5:22"},{"name":"CONSOLE_ADDR","nativeSrc":"1026:12:22","nodeType":"YulIdentifier","src":"1026:12:22"},{"name":"offset","nativeSrc":"1040:6:22","nodeType":"YulIdentifier","src":"1040:6:22"},{"name":"size","nativeSrc":"1048:4:22","nodeType":"YulIdentifier","src":"1048:4:22"},{"kind":"number","nativeSrc":"1054:3:22","nodeType":"YulLiteral","src":"1054:3:22","type":"","value":"0x0"},{"kind":"number","nativeSrc":"1059:3:22","nodeType":"YulLiteral","src":"1059:3:22","type":"","value":"0x0"}],"functionName":{"name":"staticcall","nativeSrc":"1008:10:22","nodeType":"YulIdentifier","src":"1008:10:22"},"nativeSrc":"1008:55:22","nodeType":"YulFunctionCall","src":"1008:55:22"}],"functionName":{"name":"pop","nativeSrc":"1004:3:22","nodeType":"YulIdentifier","src":"1004:3:22"},"nativeSrc":"1004:60:22","nodeType":"YulFunctionCall","src":"1004:60:22"},"nativeSrc":"1004:60:22","nodeType":"YulExpressionStatement","src":"1004:60:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31357,"isOffset":false,"isSlot":false,"src":"1026:12:22","valueSize":1},{"declaration":31392,"isOffset":false,"isSlot":false,"src":"1040:6:22","valueSize":1},{"declaration":31394,"isOffset":false,"isSlot":false,"src":"1048:4:22","valueSize":1}],"id":31397,"nodeType":"InlineAssembly","src":"981:93:22"}]},"id":31399,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"865:19:22","nodeType":"FunctionDefinition","parameters":{"id":31395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31392,"mutability":"mutable","name":"offset","nameLocation":"893:6:22","nodeType":"VariableDeclaration","scope":31399,"src":"885:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31391,"name":"uint256","nodeType":"ElementaryTypeName","src":"885:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31394,"mutability":"mutable","name":"size","nameLocation":"909:4:22","nodeType":"VariableDeclaration","scope":31399,"src":"901:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31393,"name":"uint256","nodeType":"ElementaryTypeName","src":"901:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"884:30:22"},"returnParameters":{"id":31396,"nodeType":"ParameterList","parameters":[],"src":"928:0:22"},"scope":44426,"src":"856:224:22","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":31438,"nodeType":"Block","src":"1171:312:22","statements":[{"assignments":[31417],"declarations":[{"constant":false,"id":31417,"mutability":"mutable","name":"fnIn","nameLocation":"1231:4:22","nodeType":"VariableDeclaration","scope":31438,"src":"1181:54:22","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":31416,"nodeType":"FunctionTypeName","parameterTypes":{"id":31414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31416,"src":"1190:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31408,"name":"uint256","nodeType":"ElementaryTypeName","src":"1190:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31416,"src":"1199:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31416,"src":"1208:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31412,"name":"uint256","nodeType":"ElementaryTypeName","src":"1208:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1189:27:22"},"returnParameterTypes":{"id":31415,"nodeType":"ParameterList","parameters":[],"src":"1231:0:22"},"src":"1181:54:22","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":31419,"initialValue":{"id":31418,"name":"_memcopyView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31450,"src":"1238:12:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"1181:69:22"},{"assignments":[31429],"declarations":[{"constant":false,"id":31429,"mutability":"mutable","name":"pureMemcopy","nameLocation":"1310:11:22","nodeType":"VariableDeclaration","scope":31438,"src":"1260:61:22","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":31428,"nodeType":"FunctionTypeName","parameterTypes":{"id":31426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31428,"src":"1269:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31420,"name":"uint256","nodeType":"ElementaryTypeName","src":"1269:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31428,"src":"1278:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31422,"name":"uint256","nodeType":"ElementaryTypeName","src":"1278:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31428,"src":"1287:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31424,"name":"uint256","nodeType":"ElementaryTypeName","src":"1287:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1268:27:22"},"returnParameterTypes":{"id":31427,"nodeType":"ParameterList","parameters":[],"src":"1310:0:22"},"src":"1260:61:22","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":31430,"nodeType":"VariableDeclarationStatement","src":"1260:61:22"},{"AST":{"nativeSrc":"1383:43:22","nodeType":"YulBlock","src":"1383:43:22","statements":[{"nativeSrc":"1397:19:22","nodeType":"YulAssignment","src":"1397:19:22","value":{"name":"fnIn","nativeSrc":"1412:4:22","nodeType":"YulIdentifier","src":"1412:4:22"},"variableNames":[{"name":"pureMemcopy","nativeSrc":"1397:11:22","nodeType":"YulIdentifier","src":"1397:11:22"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31417,"isOffset":false,"isSlot":false,"src":"1412:4:22","valueSize":1},{"declaration":31429,"isOffset":false,"isSlot":false,"src":"1397:11:22","valueSize":1}],"id":31431,"nodeType":"InlineAssembly","src":"1374:52:22"},{"expression":{"arguments":[{"id":31433,"name":"fromOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31401,"src":"1447:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31434,"name":"toOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31403,"src":"1459:8:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31435,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31405,"src":"1469:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31432,"name":"pureMemcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31429,"src":"1435:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":31436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1435:41:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31437,"nodeType":"ExpressionStatement","src":"1435:41:22"}]},"id":31439,"implemented":true,"kind":"function","modifiers":[],"name":"_memcopy","nameLocation":"1095:8:22","nodeType":"FunctionDefinition","parameters":{"id":31406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31401,"mutability":"mutable","name":"fromOffset","nameLocation":"1112:10:22","nodeType":"VariableDeclaration","scope":31439,"src":"1104:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31400,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31403,"mutability":"mutable","name":"toOffset","nameLocation":"1132:8:22","nodeType":"VariableDeclaration","scope":31439,"src":"1124:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31402,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31405,"mutability":"mutable","name":"length","nameLocation":"1150:6:22","nodeType":"VariableDeclaration","scope":31439,"src":"1142:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1142:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:54:22"},"returnParameters":{"id":31407,"nodeType":"ParameterList","parameters":[],"src":"1171:0:22"},"scope":44426,"src":"1086:397:22","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":31449,"nodeType":"Block","src":"1578:157:22","statements":[{"AST":{"nativeSrc":"1640:89:22","nodeType":"YulBlock","src":"1640:89:22","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1669:3:22","nodeType":"YulIdentifier","src":"1669:3:22"},"nativeSrc":"1669:5:22","nodeType":"YulFunctionCall","src":"1669:5:22"},{"kind":"number","nativeSrc":"1676:3:22","nodeType":"YulLiteral","src":"1676:3:22","type":"","value":"0x4"},{"name":"fromOffset","nativeSrc":"1681:10:22","nodeType":"YulIdentifier","src":"1681:10:22"},{"name":"length","nativeSrc":"1693:6:22","nodeType":"YulIdentifier","src":"1693:6:22"},{"name":"toOffset","nativeSrc":"1701:8:22","nodeType":"YulIdentifier","src":"1701:8:22"},{"name":"length","nativeSrc":"1711:6:22","nodeType":"YulIdentifier","src":"1711:6:22"}],"functionName":{"name":"staticcall","nativeSrc":"1658:10:22","nodeType":"YulIdentifier","src":"1658:10:22"},"nativeSrc":"1658:60:22","nodeType":"YulFunctionCall","src":"1658:60:22"}],"functionName":{"name":"pop","nativeSrc":"1654:3:22","nodeType":"YulIdentifier","src":"1654:3:22"},"nativeSrc":"1654:65:22","nodeType":"YulFunctionCall","src":"1654:65:22"},"nativeSrc":"1654:65:22","nodeType":"YulExpressionStatement","src":"1654:65:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31441,"isOffset":false,"isSlot":false,"src":"1681:10:22","valueSize":1},{"declaration":31445,"isOffset":false,"isSlot":false,"src":"1693:6:22","valueSize":1},{"declaration":31445,"isOffset":false,"isSlot":false,"src":"1711:6:22","valueSize":1},{"declaration":31443,"isOffset":false,"isSlot":false,"src":"1701:8:22","valueSize":1}],"id":31448,"nodeType":"InlineAssembly","src":"1631:98:22"}]},"id":31450,"implemented":true,"kind":"function","modifiers":[],"name":"_memcopyView","nameLocation":"1498:12:22","nodeType":"FunctionDefinition","parameters":{"id":31446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31441,"mutability":"mutable","name":"fromOffset","nameLocation":"1519:10:22","nodeType":"VariableDeclaration","scope":31450,"src":"1511:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31440,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31443,"mutability":"mutable","name":"toOffset","nameLocation":"1539:8:22","nodeType":"VariableDeclaration","scope":31450,"src":"1531:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31442,"name":"uint256","nodeType":"ElementaryTypeName","src":"1531:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31445,"mutability":"mutable","name":"length","nameLocation":"1557:6:22","nodeType":"VariableDeclaration","scope":31450,"src":"1549:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1549:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1510:54:22"},"returnParameters":{"id":31447,"nodeType":"ParameterList","parameters":[],"src":"1578:0:22"},"scope":44426,"src":"1489:246:22","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":31526,"nodeType":"Block","src":"1806:2023:22","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31457,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"1820:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783630","id":31458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1830:4:22","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"1820:14:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":31524,"nodeType":"Block","src":"2698:1125:22","statements":[{"assignments":[31482],"declarations":[{"constant":false,"id":31482,"mutability":"mutable","name":"m0","nameLocation":"2802:2:22","nodeType":"VariableDeclaration","scope":31524,"src":"2794:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2794:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31483,"nodeType":"VariableDeclarationStatement","src":"2794:10:22"},{"assignments":[31485],"declarations":[{"constant":false,"id":31485,"mutability":"mutable","name":"m1","nameLocation":"2826:2:22","nodeType":"VariableDeclaration","scope":31524,"src":"2818:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2818:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31486,"nodeType":"VariableDeclarationStatement","src":"2818:10:22"},{"assignments":[31488],"declarations":[{"constant":false,"id":31488,"mutability":"mutable","name":"m2","nameLocation":"2850:2:22","nodeType":"VariableDeclaration","scope":31524,"src":"2842:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2842:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31489,"nodeType":"VariableDeclarationStatement","src":"2842:10:22"},{"assignments":[31491],"declarations":[{"constant":false,"id":31491,"mutability":"mutable","name":"endOffset","nameLocation":"2874:9:22","nodeType":"VariableDeclaration","scope":31524,"src":"2866:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31490,"name":"uint256","nodeType":"ElementaryTypeName","src":"2866:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":31495,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31492,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"2886:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":31493,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"2895:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2886:15:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2866:35:22"},{"AST":{"nativeSrc":"2971:165:22","nodeType":"YulBlock","src":"2971:165:22","statements":[{"nativeSrc":"2989:33:22","nodeType":"YulAssignment","src":"2989:33:22","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3005:9:22","nodeType":"YulIdentifier","src":"3005:9:22"},{"kind":"number","nativeSrc":"3016:4:22","nodeType":"YulLiteral","src":"3016:4:22","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3001:3:22","nodeType":"YulIdentifier","src":"3001:3:22"},"nativeSrc":"3001:20:22","nodeType":"YulFunctionCall","src":"3001:20:22"}],"functionName":{"name":"mload","nativeSrc":"2995:5:22","nodeType":"YulIdentifier","src":"2995:5:22"},"nativeSrc":"2995:27:22","nodeType":"YulFunctionCall","src":"2995:27:22"},"variableNames":[{"name":"m0","nativeSrc":"2989:2:22","nodeType":"YulIdentifier","src":"2989:2:22"}]},{"nativeSrc":"3039:33:22","nodeType":"YulAssignment","src":"3039:33:22","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3055:9:22","nodeType":"YulIdentifier","src":"3055:9:22"},{"kind":"number","nativeSrc":"3066:4:22","nodeType":"YulLiteral","src":"3066:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3051:3:22","nodeType":"YulIdentifier","src":"3051:3:22"},"nativeSrc":"3051:20:22","nodeType":"YulFunctionCall","src":"3051:20:22"}],"functionName":{"name":"mload","nativeSrc":"3045:5:22","nodeType":"YulIdentifier","src":"3045:5:22"},"nativeSrc":"3045:27:22","nodeType":"YulFunctionCall","src":"3045:27:22"},"variableNames":[{"name":"m1","nativeSrc":"3039:2:22","nodeType":"YulIdentifier","src":"3039:2:22"}]},{"nativeSrc":"3089:33:22","nodeType":"YulAssignment","src":"3089:33:22","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3105:9:22","nodeType":"YulIdentifier","src":"3105:9:22"},{"kind":"number","nativeSrc":"3116:4:22","nodeType":"YulLiteral","src":"3116:4:22","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3101:3:22","nodeType":"YulIdentifier","src":"3101:3:22"},"nativeSrc":"3101:20:22","nodeType":"YulFunctionCall","src":"3101:20:22"}],"functionName":{"name":"mload","nativeSrc":"3095:5:22","nodeType":"YulIdentifier","src":"3095:5:22"},"nativeSrc":"3095:27:22","nodeType":"YulFunctionCall","src":"3095:27:22"},"variableNames":[{"name":"m2","nativeSrc":"3089:2:22","nodeType":"YulIdentifier","src":"3089:2:22"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3005:9:22","valueSize":1},{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3055:9:22","valueSize":1},{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3105:9:22","valueSize":1},{"declaration":31482,"isOffset":false,"isSlot":false,"src":"2989:2:22","valueSize":1},{"declaration":31485,"isOffset":false,"isSlot":false,"src":"3039:2:22","valueSize":1},{"declaration":31488,"isOffset":false,"isSlot":false,"src":"3089:2:22","valueSize":1}],"id":31496,"nodeType":"InlineAssembly","src":"2962:174:22"},{"expression":{"arguments":[{"id":31498,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"3158:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31499,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"3166:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":31500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:4:22","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3166:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31502,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"3181:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31497,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31439,"src":"3149:8:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":31503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3149:39:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31504,"nodeType":"ExpressionStatement","src":"3149:39:22"},{"AST":{"nativeSrc":"3258:212:22","nodeType":"YulBlock","src":"3258:212:22","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3332:6:22","nodeType":"YulIdentifier","src":"3332:6:22"},{"kind":"number","nativeSrc":"3340:4:22","nodeType":"YulLiteral","src":"3340:4:22","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3328:3:22","nodeType":"YulIdentifier","src":"3328:3:22"},"nativeSrc":"3328:17:22","nodeType":"YulFunctionCall","src":"3328:17:22"},{"kind":"number","nativeSrc":"3347:10:22","nodeType":"YulLiteral","src":"3347:10:22","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"3321:6:22","nodeType":"YulIdentifier","src":"3321:6:22"},"nativeSrc":"3321:37:22","nodeType":"YulFunctionCall","src":"3321:37:22"},"nativeSrc":"3321:37:22","nodeType":"YulExpressionStatement","src":"3321:37:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3386:6:22","nodeType":"YulIdentifier","src":"3386:6:22"},{"kind":"number","nativeSrc":"3394:4:22","nodeType":"YulLiteral","src":"3394:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3382:3:22","nodeType":"YulIdentifier","src":"3382:3:22"},"nativeSrc":"3382:17:22","nodeType":"YulFunctionCall","src":"3382:17:22"},{"kind":"number","nativeSrc":"3401:4:22","nodeType":"YulLiteral","src":"3401:4:22","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"3375:6:22","nodeType":"YulIdentifier","src":"3375:6:22"},"nativeSrc":"3375:31:22","nodeType":"YulFunctionCall","src":"3375:31:22"},"nativeSrc":"3375:31:22","nodeType":"YulExpressionStatement","src":"3375:31:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3434:6:22","nodeType":"YulIdentifier","src":"3434:6:22"},{"kind":"number","nativeSrc":"3442:4:22","nodeType":"YulLiteral","src":"3442:4:22","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3430:3:22","nodeType":"YulIdentifier","src":"3430:3:22"},"nativeSrc":"3430:17:22","nodeType":"YulFunctionCall","src":"3430:17:22"},{"name":"length","nativeSrc":"3449:6:22","nodeType":"YulIdentifier","src":"3449:6:22"}],"functionName":{"name":"mstore","nativeSrc":"3423:6:22","nodeType":"YulIdentifier","src":"3423:6:22"},"nativeSrc":"3423:33:22","nodeType":"YulFunctionCall","src":"3423:33:22"},"nativeSrc":"3423:33:22","nodeType":"YulExpressionStatement","src":"3423:33:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31454,"isOffset":false,"isSlot":false,"src":"3449:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"3332:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"3386:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"3434:6:22","valueSize":1}],"id":31505,"nodeType":"InlineAssembly","src":"3249:221:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31507,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"3499:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783163","id":31508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3508:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},"src":"3499:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31510,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"3514:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":31511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3523:4:22","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"3514:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"3483:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3483:45:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31514,"nodeType":"ExpressionStatement","src":"3483:45:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31516,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"3551:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":31517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3560:4:22","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3551:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31519,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"3566:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31520,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"3574:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31515,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31439,"src":"3542:8:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":31521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:39:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31522,"nodeType":"ExpressionStatement","src":"3542:39:22"},{"AST":{"nativeSrc":"3651:162:22","nodeType":"YulBlock","src":"3651:162:22","statements":[{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3680:9:22","nodeType":"YulIdentifier","src":"3680:9:22"},{"kind":"number","nativeSrc":"3691:4:22","nodeType":"YulLiteral","src":"3691:4:22","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3676:3:22","nodeType":"YulIdentifier","src":"3676:3:22"},"nativeSrc":"3676:20:22","nodeType":"YulFunctionCall","src":"3676:20:22"},{"name":"m0","nativeSrc":"3698:2:22","nodeType":"YulIdentifier","src":"3698:2:22"}],"functionName":{"name":"mstore","nativeSrc":"3669:6:22","nodeType":"YulIdentifier","src":"3669:6:22"},"nativeSrc":"3669:32:22","nodeType":"YulFunctionCall","src":"3669:32:22"},"nativeSrc":"3669:32:22","nodeType":"YulExpressionStatement","src":"3669:32:22"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3729:9:22","nodeType":"YulIdentifier","src":"3729:9:22"},{"kind":"number","nativeSrc":"3740:4:22","nodeType":"YulLiteral","src":"3740:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3725:3:22","nodeType":"YulIdentifier","src":"3725:3:22"},"nativeSrc":"3725:20:22","nodeType":"YulFunctionCall","src":"3725:20:22"},{"name":"m1","nativeSrc":"3747:2:22","nodeType":"YulIdentifier","src":"3747:2:22"}],"functionName":{"name":"mstore","nativeSrc":"3718:6:22","nodeType":"YulIdentifier","src":"3718:6:22"},"nativeSrc":"3718:32:22","nodeType":"YulFunctionCall","src":"3718:32:22"},"nativeSrc":"3718:32:22","nodeType":"YulExpressionStatement","src":"3718:32:22"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3778:9:22","nodeType":"YulIdentifier","src":"3778:9:22"},{"kind":"number","nativeSrc":"3789:4:22","nodeType":"YulLiteral","src":"3789:4:22","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3774:3:22","nodeType":"YulIdentifier","src":"3774:3:22"},"nativeSrc":"3774:20:22","nodeType":"YulFunctionCall","src":"3774:20:22"},{"name":"m2","nativeSrc":"3796:2:22","nodeType":"YulIdentifier","src":"3796:2:22"}],"functionName":{"name":"mstore","nativeSrc":"3767:6:22","nodeType":"YulIdentifier","src":"3767:6:22"},"nativeSrc":"3767:32:22","nodeType":"YulFunctionCall","src":"3767:32:22"},"nativeSrc":"3767:32:22","nodeType":"YulExpressionStatement","src":"3767:32:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3680:9:22","valueSize":1},{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3729:9:22","valueSize":1},{"declaration":31491,"isOffset":false,"isSlot":false,"src":"3778:9:22","valueSize":1},{"declaration":31482,"isOffset":false,"isSlot":false,"src":"3698:2:22","valueSize":1},{"declaration":31485,"isOffset":false,"isSlot":false,"src":"3747:2:22","valueSize":1},{"declaration":31488,"isOffset":false,"isSlot":false,"src":"3796:2:22","valueSize":1}],"id":31523,"nodeType":"InlineAssembly","src":"3642:171:22"}]},"id":31525,"nodeType":"IfStatement","src":"1816:2007:22","trueBody":{"id":31480,"nodeType":"Block","src":"1836:856:22","statements":[{"assignments":[31461],"declarations":[{"constant":false,"id":31461,"mutability":"mutable","name":"m0","nameLocation":"1928:2:22","nodeType":"VariableDeclaration","scope":31480,"src":"1920:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1920:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31462,"nodeType":"VariableDeclarationStatement","src":"1920:10:22"},{"assignments":[31464],"declarations":[{"constant":false,"id":31464,"mutability":"mutable","name":"m1","nameLocation":"1952:2:22","nodeType":"VariableDeclaration","scope":31480,"src":"1944:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1944:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31465,"nodeType":"VariableDeclarationStatement","src":"1944:10:22"},{"assignments":[31467],"declarations":[{"constant":false,"id":31467,"mutability":"mutable","name":"m2","nameLocation":"1976:2:22","nodeType":"VariableDeclaration","scope":31480,"src":"1968:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1968:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31468,"nodeType":"VariableDeclarationStatement","src":"1968:10:22"},{"AST":{"nativeSrc":"2048:353:22","nodeType":"YulBlock","src":"2048:353:22","statements":[{"nativeSrc":"2066:30:22","nodeType":"YulAssignment","src":"2066:30:22","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2082:6:22","nodeType":"YulIdentifier","src":"2082:6:22"},{"kind":"number","nativeSrc":"2090:4:22","nodeType":"YulLiteral","src":"2090:4:22","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2078:3:22","nodeType":"YulIdentifier","src":"2078:3:22"},"nativeSrc":"2078:17:22","nodeType":"YulFunctionCall","src":"2078:17:22"}],"functionName":{"name":"mload","nativeSrc":"2072:5:22","nodeType":"YulIdentifier","src":"2072:5:22"},"nativeSrc":"2072:24:22","nodeType":"YulFunctionCall","src":"2072:24:22"},"variableNames":[{"name":"m0","nativeSrc":"2066:2:22","nodeType":"YulIdentifier","src":"2066:2:22"}]},{"nativeSrc":"2113:30:22","nodeType":"YulAssignment","src":"2113:30:22","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2129:6:22","nodeType":"YulIdentifier","src":"2129:6:22"},{"kind":"number","nativeSrc":"2137:4:22","nodeType":"YulLiteral","src":"2137:4:22","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2125:3:22","nodeType":"YulIdentifier","src":"2125:3:22"},"nativeSrc":"2125:17:22","nodeType":"YulFunctionCall","src":"2125:17:22"}],"functionName":{"name":"mload","nativeSrc":"2119:5:22","nodeType":"YulIdentifier","src":"2119:5:22"},"nativeSrc":"2119:24:22","nodeType":"YulFunctionCall","src":"2119:24:22"},"variableNames":[{"name":"m1","nativeSrc":"2113:2:22","nodeType":"YulIdentifier","src":"2113:2:22"}]},{"nativeSrc":"2160:30:22","nodeType":"YulAssignment","src":"2160:30:22","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2176:6:22","nodeType":"YulIdentifier","src":"2176:6:22"},{"kind":"number","nativeSrc":"2184:4:22","nodeType":"YulLiteral","src":"2184:4:22","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2172:3:22","nodeType":"YulIdentifier","src":"2172:3:22"},"nativeSrc":"2172:17:22","nodeType":"YulFunctionCall","src":"2172:17:22"}],"functionName":{"name":"mload","nativeSrc":"2166:5:22","nodeType":"YulIdentifier","src":"2166:5:22"},"nativeSrc":"2166:24:22","nodeType":"YulFunctionCall","src":"2166:24:22"},"variableNames":[{"name":"m2","nativeSrc":"2160:2:22","nodeType":"YulIdentifier","src":"2160:2:22"}]},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2263:6:22","nodeType":"YulIdentifier","src":"2263:6:22"},{"kind":"number","nativeSrc":"2271:4:22","nodeType":"YulLiteral","src":"2271:4:22","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2259:3:22","nodeType":"YulIdentifier","src":"2259:3:22"},"nativeSrc":"2259:17:22","nodeType":"YulFunctionCall","src":"2259:17:22"},{"kind":"number","nativeSrc":"2278:10:22","nodeType":"YulLiteral","src":"2278:10:22","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"2252:6:22","nodeType":"YulIdentifier","src":"2252:6:22"},"nativeSrc":"2252:37:22","nodeType":"YulFunctionCall","src":"2252:37:22"},"nativeSrc":"2252:37:22","nodeType":"YulExpressionStatement","src":"2252:37:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2317:6:22","nodeType":"YulIdentifier","src":"2317:6:22"},{"kind":"number","nativeSrc":"2325:4:22","nodeType":"YulLiteral","src":"2325:4:22","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2313:3:22","nodeType":"YulIdentifier","src":"2313:3:22"},"nativeSrc":"2313:17:22","nodeType":"YulFunctionCall","src":"2313:17:22"},{"kind":"number","nativeSrc":"2332:4:22","nodeType":"YulLiteral","src":"2332:4:22","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"2306:6:22","nodeType":"YulIdentifier","src":"2306:6:22"},"nativeSrc":"2306:31:22","nodeType":"YulFunctionCall","src":"2306:31:22"},"nativeSrc":"2306:31:22","nodeType":"YulExpressionStatement","src":"2306:31:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2365:6:22","nodeType":"YulIdentifier","src":"2365:6:22"},{"kind":"number","nativeSrc":"2373:4:22","nodeType":"YulLiteral","src":"2373:4:22","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2361:3:22","nodeType":"YulIdentifier","src":"2361:3:22"},"nativeSrc":"2361:17:22","nodeType":"YulFunctionCall","src":"2361:17:22"},{"name":"length","nativeSrc":"2380:6:22","nodeType":"YulIdentifier","src":"2380:6:22"}],"functionName":{"name":"mstore","nativeSrc":"2354:6:22","nodeType":"YulIdentifier","src":"2354:6:22"},"nativeSrc":"2354:33:22","nodeType":"YulFunctionCall","src":"2354:33:22"},"nativeSrc":"2354:33:22","nodeType":"YulExpressionStatement","src":"2354:33:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31454,"isOffset":false,"isSlot":false,"src":"2380:6:22","valueSize":1},{"declaration":31461,"isOffset":false,"isSlot":false,"src":"2066:2:22","valueSize":1},{"declaration":31464,"isOffset":false,"isSlot":false,"src":"2113:2:22","valueSize":1},{"declaration":31467,"isOffset":false,"isSlot":false,"src":"2160:2:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2082:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2129:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2176:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2263:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2317:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2365:6:22","valueSize":1}],"id":31469,"nodeType":"InlineAssembly","src":"2039:362:22"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31471,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"2430:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30783434","id":31472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2439:4:22","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2430:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31474,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"2445:6:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":31475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2454:4:22","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2445:13:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"2414:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2414:45:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31478,"nodeType":"ExpressionStatement","src":"2414:45:22"},{"AST":{"nativeSrc":"2529:153:22","nodeType":"YulBlock","src":"2529:153:22","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2558:6:22","nodeType":"YulIdentifier","src":"2558:6:22"},{"kind":"number","nativeSrc":"2566:4:22","nodeType":"YulLiteral","src":"2566:4:22","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2554:3:22","nodeType":"YulIdentifier","src":"2554:3:22"},"nativeSrc":"2554:17:22","nodeType":"YulFunctionCall","src":"2554:17:22"},{"name":"m0","nativeSrc":"2573:2:22","nodeType":"YulIdentifier","src":"2573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"2547:6:22","nodeType":"YulIdentifier","src":"2547:6:22"},"nativeSrc":"2547:29:22","nodeType":"YulFunctionCall","src":"2547:29:22"},"nativeSrc":"2547:29:22","nodeType":"YulExpressionStatement","src":"2547:29:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2604:6:22","nodeType":"YulIdentifier","src":"2604:6:22"},{"kind":"number","nativeSrc":"2612:4:22","nodeType":"YulLiteral","src":"2612:4:22","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2600:3:22","nodeType":"YulIdentifier","src":"2600:3:22"},"nativeSrc":"2600:17:22","nodeType":"YulFunctionCall","src":"2600:17:22"},{"name":"m1","nativeSrc":"2619:2:22","nodeType":"YulIdentifier","src":"2619:2:22"}],"functionName":{"name":"mstore","nativeSrc":"2593:6:22","nodeType":"YulIdentifier","src":"2593:6:22"},"nativeSrc":"2593:29:22","nodeType":"YulFunctionCall","src":"2593:29:22"},"nativeSrc":"2593:29:22","nodeType":"YulExpressionStatement","src":"2593:29:22"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2650:6:22","nodeType":"YulIdentifier","src":"2650:6:22"},{"kind":"number","nativeSrc":"2658:4:22","nodeType":"YulLiteral","src":"2658:4:22","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2646:3:22","nodeType":"YulIdentifier","src":"2646:3:22"},"nativeSrc":"2646:17:22","nodeType":"YulFunctionCall","src":"2646:17:22"},{"name":"m2","nativeSrc":"2665:2:22","nodeType":"YulIdentifier","src":"2665:2:22"}],"functionName":{"name":"mstore","nativeSrc":"2639:6:22","nodeType":"YulIdentifier","src":"2639:6:22"},"nativeSrc":"2639:29:22","nodeType":"YulFunctionCall","src":"2639:29:22"},"nativeSrc":"2639:29:22","nodeType":"YulExpressionStatement","src":"2639:29:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31461,"isOffset":false,"isSlot":false,"src":"2573:2:22","valueSize":1},{"declaration":31464,"isOffset":false,"isSlot":false,"src":"2619:2:22","valueSize":1},{"declaration":31467,"isOffset":false,"isSlot":false,"src":"2665:2:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2558:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2604:6:22","valueSize":1},{"declaration":31452,"isOffset":false,"isSlot":false,"src":"2650:6:22","valueSize":1}],"id":31479,"nodeType":"InlineAssembly","src":"2520:162:22"}]}}]},"id":31527,"implemented":true,"kind":"function","modifiers":[],"name":"logMemory","nameLocation":"1750:9:22","nodeType":"FunctionDefinition","parameters":{"id":31455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31452,"mutability":"mutable","name":"offset","nameLocation":"1768:6:22","nodeType":"VariableDeclaration","scope":31527,"src":"1760:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31451,"name":"uint256","nodeType":"ElementaryTypeName","src":"1760:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31454,"mutability":"mutable","name":"length","nameLocation":"1784:6:22","nodeType":"VariableDeclaration","scope":31527,"src":"1776:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31453,"name":"uint256","nodeType":"ElementaryTypeName","src":"1776:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1759:32:22"},"returnParameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"1806:0:22"},"scope":44426,"src":"1741:2088:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31545,"nodeType":"Block","src":"3874:455:22","statements":[{"assignments":[31533],"declarations":[{"constant":false,"id":31533,"mutability":"mutable","name":"m0","nameLocation":"3892:2:22","nodeType":"VariableDeclaration","scope":31545,"src":"3884:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3884:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31534,"nodeType":"VariableDeclarationStatement","src":"3884:10:22"},{"assignments":[31536],"declarations":[{"constant":false,"id":31536,"mutability":"mutable","name":"m1","nameLocation":"3912:2:22","nodeType":"VariableDeclaration","scope":31545,"src":"3904:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3904:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31537,"nodeType":"VariableDeclarationStatement","src":"3904:10:22"},{"AST":{"nativeSrc":"3976:180:22","nodeType":"YulBlock","src":"3976:180:22","statements":[{"nativeSrc":"3990:17:22","nodeType":"YulAssignment","src":"3990:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"4002:4:22","nodeType":"YulLiteral","src":"4002:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"3996:5:22","nodeType":"YulIdentifier","src":"3996:5:22"},"nativeSrc":"3996:11:22","nodeType":"YulFunctionCall","src":"3996:11:22"},"variableNames":[{"name":"m0","nativeSrc":"3990:2:22","nodeType":"YulIdentifier","src":"3990:2:22"}]},{"nativeSrc":"4020:17:22","nodeType":"YulAssignment","src":"4020:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"4032:4:22","nodeType":"YulLiteral","src":"4032:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4026:5:22","nodeType":"YulIdentifier","src":"4026:5:22"},"nativeSrc":"4026:11:22","nodeType":"YulFunctionCall","src":"4026:11:22"},"variableNames":[{"name":"m1","nativeSrc":"4020:2:22","nodeType":"YulIdentifier","src":"4020:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4100:4:22","nodeType":"YulLiteral","src":"4100:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4106:10:22","nodeType":"YulLiteral","src":"4106:10:22","type":"","value":"0x2c2ecbc2"}],"functionName":{"name":"mstore","nativeSrc":"4093:6:22","nodeType":"YulIdentifier","src":"4093:6:22"},"nativeSrc":"4093:24:22","nodeType":"YulFunctionCall","src":"4093:24:22"},"nativeSrc":"4093:24:22","nodeType":"YulExpressionStatement","src":"4093:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4137:4:22","nodeType":"YulLiteral","src":"4137:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4143:2:22","nodeType":"YulIdentifier","src":"4143:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4130:6:22","nodeType":"YulIdentifier","src":"4130:6:22"},"nativeSrc":"4130:16:22","nodeType":"YulFunctionCall","src":"4130:16:22"},"nativeSrc":"4130:16:22","nodeType":"YulExpressionStatement","src":"4130:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31533,"isOffset":false,"isSlot":false,"src":"3990:2:22","valueSize":1},{"declaration":31536,"isOffset":false,"isSlot":false,"src":"4020:2:22","valueSize":1},{"declaration":31529,"isOffset":false,"isSlot":false,"src":"4143:2:22","valueSize":1}],"id":31538,"nodeType":"InlineAssembly","src":"3967:189:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4181:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":31541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4187:4:22","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":31539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"4165:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4165:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31543,"nodeType":"ExpressionStatement","src":"4165:27:22"},{"AST":{"nativeSrc":"4254:69:22","nodeType":"YulBlock","src":"4254:69:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4275:4:22","nodeType":"YulLiteral","src":"4275:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4281:2:22","nodeType":"YulIdentifier","src":"4281:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4268:6:22","nodeType":"YulIdentifier","src":"4268:6:22"},"nativeSrc":"4268:16:22","nodeType":"YulFunctionCall","src":"4268:16:22"},"nativeSrc":"4268:16:22","nodeType":"YulExpressionStatement","src":"4268:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4304:4:22","nodeType":"YulLiteral","src":"4304:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4310:2:22","nodeType":"YulIdentifier","src":"4310:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4297:6:22","nodeType":"YulIdentifier","src":"4297:6:22"},"nativeSrc":"4297:16:22","nodeType":"YulFunctionCall","src":"4297:16:22"},"nativeSrc":"4297:16:22","nodeType":"YulExpressionStatement","src":"4297:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31533,"isOffset":false,"isSlot":false,"src":"4281:2:22","valueSize":1},{"declaration":31536,"isOffset":false,"isSlot":false,"src":"4310:2:22","valueSize":1}],"id":31544,"nodeType":"InlineAssembly","src":"4245:78:22"}]},"id":31546,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"3844:3:22","nodeType":"FunctionDefinition","parameters":{"id":31530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31529,"mutability":"mutable","name":"p0","nameLocation":"3856:2:22","nodeType":"VariableDeclaration","scope":31546,"src":"3848:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31528,"name":"address","nodeType":"ElementaryTypeName","src":"3848:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3847:12:22"},"returnParameters":{"id":31531,"nodeType":"ParameterList","parameters":[],"src":"3874:0:22"},"scope":44426,"src":"3835:494:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31564,"nodeType":"Block","src":"4371:452:22","statements":[{"assignments":[31552],"declarations":[{"constant":false,"id":31552,"mutability":"mutable","name":"m0","nameLocation":"4389:2:22","nodeType":"VariableDeclaration","scope":31564,"src":"4381:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4381:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31553,"nodeType":"VariableDeclarationStatement","src":"4381:10:22"},{"assignments":[31555],"declarations":[{"constant":false,"id":31555,"mutability":"mutable","name":"m1","nameLocation":"4409:2:22","nodeType":"VariableDeclaration","scope":31564,"src":"4401:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4401:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31556,"nodeType":"VariableDeclarationStatement","src":"4401:10:22"},{"AST":{"nativeSrc":"4473:177:22","nodeType":"YulBlock","src":"4473:177:22","statements":[{"nativeSrc":"4487:17:22","nodeType":"YulAssignment","src":"4487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"4499:4:22","nodeType":"YulLiteral","src":"4499:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4493:5:22","nodeType":"YulIdentifier","src":"4493:5:22"},"nativeSrc":"4493:11:22","nodeType":"YulFunctionCall","src":"4493:11:22"},"variableNames":[{"name":"m0","nativeSrc":"4487:2:22","nodeType":"YulIdentifier","src":"4487:2:22"}]},{"nativeSrc":"4517:17:22","nodeType":"YulAssignment","src":"4517:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"4529:4:22","nodeType":"YulLiteral","src":"4529:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4523:5:22","nodeType":"YulIdentifier","src":"4523:5:22"},"nativeSrc":"4523:11:22","nodeType":"YulFunctionCall","src":"4523:11:22"},"variableNames":[{"name":"m1","nativeSrc":"4517:2:22","nodeType":"YulIdentifier","src":"4517:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4594:4:22","nodeType":"YulLiteral","src":"4594:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4600:10:22","nodeType":"YulLiteral","src":"4600:10:22","type":"","value":"0x32458eed"}],"functionName":{"name":"mstore","nativeSrc":"4587:6:22","nodeType":"YulIdentifier","src":"4587:6:22"},"nativeSrc":"4587:24:22","nodeType":"YulFunctionCall","src":"4587:24:22"},"nativeSrc":"4587:24:22","nodeType":"YulExpressionStatement","src":"4587:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4631:4:22","nodeType":"YulLiteral","src":"4631:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4637:2:22","nodeType":"YulIdentifier","src":"4637:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4624:6:22","nodeType":"YulIdentifier","src":"4624:6:22"},"nativeSrc":"4624:16:22","nodeType":"YulFunctionCall","src":"4624:16:22"},"nativeSrc":"4624:16:22","nodeType":"YulExpressionStatement","src":"4624:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31552,"isOffset":false,"isSlot":false,"src":"4487:2:22","valueSize":1},{"declaration":31555,"isOffset":false,"isSlot":false,"src":"4517:2:22","valueSize":1},{"declaration":31548,"isOffset":false,"isSlot":false,"src":"4637:2:22","valueSize":1}],"id":31557,"nodeType":"InlineAssembly","src":"4464:186:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4675:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":31560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:4:22","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":31558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"4659:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4659:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31562,"nodeType":"ExpressionStatement","src":"4659:27:22"},{"AST":{"nativeSrc":"4748:69:22","nodeType":"YulBlock","src":"4748:69:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4769:4:22","nodeType":"YulLiteral","src":"4769:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4775:2:22","nodeType":"YulIdentifier","src":"4775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4762:6:22","nodeType":"YulIdentifier","src":"4762:6:22"},"nativeSrc":"4762:16:22","nodeType":"YulFunctionCall","src":"4762:16:22"},"nativeSrc":"4762:16:22","nodeType":"YulExpressionStatement","src":"4762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4798:4:22","nodeType":"YulLiteral","src":"4798:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4804:2:22","nodeType":"YulIdentifier","src":"4804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"4791:6:22","nodeType":"YulIdentifier","src":"4791:6:22"},"nativeSrc":"4791:16:22","nodeType":"YulFunctionCall","src":"4791:16:22"},"nativeSrc":"4791:16:22","nodeType":"YulExpressionStatement","src":"4791:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31552,"isOffset":false,"isSlot":false,"src":"4775:2:22","valueSize":1},{"declaration":31555,"isOffset":false,"isSlot":false,"src":"4804:2:22","valueSize":1}],"id":31563,"nodeType":"InlineAssembly","src":"4739:78:22"}]},"id":31565,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4344:3:22","nodeType":"FunctionDefinition","parameters":{"id":31549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31548,"mutability":"mutable","name":"p0","nameLocation":"4353:2:22","nodeType":"VariableDeclaration","scope":31565,"src":"4348:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31547,"name":"bool","nodeType":"ElementaryTypeName","src":"4348:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4347:9:22"},"returnParameters":{"id":31550,"nodeType":"ParameterList","parameters":[],"src":"4371:0:22"},"scope":44426,"src":"4335:488:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31583,"nodeType":"Block","src":"4868:455:22","statements":[{"assignments":[31571],"declarations":[{"constant":false,"id":31571,"mutability":"mutable","name":"m0","nameLocation":"4886:2:22","nodeType":"VariableDeclaration","scope":31583,"src":"4878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31572,"nodeType":"VariableDeclarationStatement","src":"4878:10:22"},{"assignments":[31574],"declarations":[{"constant":false,"id":31574,"mutability":"mutable","name":"m1","nameLocation":"4906:2:22","nodeType":"VariableDeclaration","scope":31583,"src":"4898:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4898:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31575,"nodeType":"VariableDeclarationStatement","src":"4898:10:22"},{"AST":{"nativeSrc":"4970:180:22","nodeType":"YulBlock","src":"4970:180:22","statements":[{"nativeSrc":"4984:17:22","nodeType":"YulAssignment","src":"4984:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"4996:4:22","nodeType":"YulLiteral","src":"4996:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4990:5:22","nodeType":"YulIdentifier","src":"4990:5:22"},"nativeSrc":"4990:11:22","nodeType":"YulFunctionCall","src":"4990:11:22"},"variableNames":[{"name":"m0","nativeSrc":"4984:2:22","nodeType":"YulIdentifier","src":"4984:2:22"}]},{"nativeSrc":"5014:17:22","nodeType":"YulAssignment","src":"5014:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"5026:4:22","nodeType":"YulLiteral","src":"5026:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5020:5:22","nodeType":"YulIdentifier","src":"5020:5:22"},"nativeSrc":"5020:11:22","nodeType":"YulFunctionCall","src":"5020:11:22"},"variableNames":[{"name":"m1","nativeSrc":"5014:2:22","nodeType":"YulIdentifier","src":"5014:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5094:4:22","nodeType":"YulLiteral","src":"5094:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"5100:10:22","nodeType":"YulLiteral","src":"5100:10:22","type":"","value":"0xf82c50f1"}],"functionName":{"name":"mstore","nativeSrc":"5087:6:22","nodeType":"YulIdentifier","src":"5087:6:22"},"nativeSrc":"5087:24:22","nodeType":"YulFunctionCall","src":"5087:24:22"},"nativeSrc":"5087:24:22","nodeType":"YulExpressionStatement","src":"5087:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5131:4:22","nodeType":"YulLiteral","src":"5131:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"5137:2:22","nodeType":"YulIdentifier","src":"5137:2:22"}],"functionName":{"name":"mstore","nativeSrc":"5124:6:22","nodeType":"YulIdentifier","src":"5124:6:22"},"nativeSrc":"5124:16:22","nodeType":"YulFunctionCall","src":"5124:16:22"},"nativeSrc":"5124:16:22","nodeType":"YulExpressionStatement","src":"5124:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31571,"isOffset":false,"isSlot":false,"src":"4984:2:22","valueSize":1},{"declaration":31574,"isOffset":false,"isSlot":false,"src":"5014:2:22","valueSize":1},{"declaration":31567,"isOffset":false,"isSlot":false,"src":"5137:2:22","valueSize":1}],"id":31576,"nodeType":"InlineAssembly","src":"4961:189:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5175:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":31579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5181:4:22","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":31577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"5159:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31581,"nodeType":"ExpressionStatement","src":"5159:27:22"},{"AST":{"nativeSrc":"5248:69:22","nodeType":"YulBlock","src":"5248:69:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5269:4:22","nodeType":"YulLiteral","src":"5269:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"5275:2:22","nodeType":"YulIdentifier","src":"5275:2:22"}],"functionName":{"name":"mstore","nativeSrc":"5262:6:22","nodeType":"YulIdentifier","src":"5262:6:22"},"nativeSrc":"5262:16:22","nodeType":"YulFunctionCall","src":"5262:16:22"},"nativeSrc":"5262:16:22","nodeType":"YulExpressionStatement","src":"5262:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5298:4:22","nodeType":"YulLiteral","src":"5298:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"5304:2:22","nodeType":"YulIdentifier","src":"5304:2:22"}],"functionName":{"name":"mstore","nativeSrc":"5291:6:22","nodeType":"YulIdentifier","src":"5291:6:22"},"nativeSrc":"5291:16:22","nodeType":"YulFunctionCall","src":"5291:16:22"},"nativeSrc":"5291:16:22","nodeType":"YulExpressionStatement","src":"5291:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31571,"isOffset":false,"isSlot":false,"src":"5275:2:22","valueSize":1},{"declaration":31574,"isOffset":false,"isSlot":false,"src":"5304:2:22","valueSize":1}],"id":31582,"nodeType":"InlineAssembly","src":"5239:78:22"}]},"id":31584,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4838:3:22","nodeType":"FunctionDefinition","parameters":{"id":31568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31567,"mutability":"mutable","name":"p0","nameLocation":"4850:2:22","nodeType":"VariableDeclaration","scope":31584,"src":"4842:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31566,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4841:12:22"},"returnParameters":{"id":31569,"nodeType":"ParameterList","parameters":[],"src":"4868:0:22"},"scope":44426,"src":"4829:494:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31608,"nodeType":"Block","src":"5368:1003:22","statements":[{"assignments":[31590],"declarations":[{"constant":false,"id":31590,"mutability":"mutable","name":"m0","nameLocation":"5386:2:22","nodeType":"VariableDeclaration","scope":31608,"src":"5378:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5378:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31591,"nodeType":"VariableDeclarationStatement","src":"5378:10:22"},{"assignments":[31593],"declarations":[{"constant":false,"id":31593,"mutability":"mutable","name":"m1","nameLocation":"5406:2:22","nodeType":"VariableDeclaration","scope":31608,"src":"5398:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5398:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31594,"nodeType":"VariableDeclarationStatement","src":"5398:10:22"},{"assignments":[31596],"declarations":[{"constant":false,"id":31596,"mutability":"mutable","name":"m2","nameLocation":"5426:2:22","nodeType":"VariableDeclaration","scope":31608,"src":"5418:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5418:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31597,"nodeType":"VariableDeclarationStatement","src":"5418:10:22"},{"assignments":[31599],"declarations":[{"constant":false,"id":31599,"mutability":"mutable","name":"m3","nameLocation":"5446:2:22","nodeType":"VariableDeclaration","scope":31608,"src":"5438:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5438:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31600,"nodeType":"VariableDeclarationStatement","src":"5438:10:22"},{"AST":{"nativeSrc":"5510:630:22","nodeType":"YulBlock","src":"5510:630:22","statements":[{"body":{"nativeSrc":"5553:313:22","nodeType":"YulBlock","src":"5553:313:22","statements":[{"nativeSrc":"5571:15:22","nodeType":"YulVariableDeclaration","src":"5571:15:22","value":{"kind":"number","nativeSrc":"5585:1:22","nodeType":"YulLiteral","src":"5585:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"5575:6:22","nodeType":"YulTypedName","src":"5575:6:22","type":""}]},{"body":{"nativeSrc":"5656:40:22","nodeType":"YulBlock","src":"5656:40:22","statements":[{"body":{"nativeSrc":"5685:9:22","nodeType":"YulBlock","src":"5685:9:22","statements":[{"nativeSrc":"5687:5:22","nodeType":"YulBreak","src":"5687:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"5673:6:22","nodeType":"YulIdentifier","src":"5673:6:22"},{"name":"w","nativeSrc":"5681:1:22","nodeType":"YulIdentifier","src":"5681:1:22"}],"functionName":{"name":"byte","nativeSrc":"5668:4:22","nodeType":"YulIdentifier","src":"5668:4:22"},"nativeSrc":"5668:15:22","nodeType":"YulFunctionCall","src":"5668:15:22"}],"functionName":{"name":"iszero","nativeSrc":"5661:6:22","nodeType":"YulIdentifier","src":"5661:6:22"},"nativeSrc":"5661:23:22","nodeType":"YulFunctionCall","src":"5661:23:22"},"nativeSrc":"5658:36:22","nodeType":"YulIf","src":"5658:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"5613:6:22","nodeType":"YulIdentifier","src":"5613:6:22"},{"kind":"number","nativeSrc":"5621:4:22","nodeType":"YulLiteral","src":"5621:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"5610:2:22","nodeType":"YulIdentifier","src":"5610:2:22"},"nativeSrc":"5610:16:22","nodeType":"YulFunctionCall","src":"5610:16:22"},"nativeSrc":"5603:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"5627:28:22","nodeType":"YulBlock","src":"5627:28:22","statements":[{"nativeSrc":"5629:24:22","nodeType":"YulAssignment","src":"5629:24:22","value":{"arguments":[{"name":"length","nativeSrc":"5643:6:22","nodeType":"YulIdentifier","src":"5643:6:22"},{"kind":"number","nativeSrc":"5651:1:22","nodeType":"YulLiteral","src":"5651:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"5639:3:22","nodeType":"YulIdentifier","src":"5639:3:22"},"nativeSrc":"5639:14:22","nodeType":"YulFunctionCall","src":"5639:14:22"},"variableNames":[{"name":"length","nativeSrc":"5629:6:22","nodeType":"YulIdentifier","src":"5629:6:22"}]}]},"pre":{"nativeSrc":"5607:2:22","nodeType":"YulBlock","src":"5607:2:22","statements":[]},"src":"5603:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"5720:3:22","nodeType":"YulIdentifier","src":"5720:3:22"},{"name":"length","nativeSrc":"5725:6:22","nodeType":"YulIdentifier","src":"5725:6:22"}],"functionName":{"name":"mstore","nativeSrc":"5713:6:22","nodeType":"YulIdentifier","src":"5713:6:22"},"nativeSrc":"5713:19:22","nodeType":"YulFunctionCall","src":"5713:19:22"},"nativeSrc":"5713:19:22","nodeType":"YulExpressionStatement","src":"5713:19:22"},{"nativeSrc":"5749:37:22","nodeType":"YulVariableDeclaration","src":"5749:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"5766:3:22","nodeType":"YulLiteral","src":"5766:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"5775:1:22","nodeType":"YulLiteral","src":"5775:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"5778:6:22","nodeType":"YulIdentifier","src":"5778:6:22"}],"functionName":{"name":"shl","nativeSrc":"5771:3:22","nodeType":"YulIdentifier","src":"5771:3:22"},"nativeSrc":"5771:14:22","nodeType":"YulFunctionCall","src":"5771:14:22"}],"functionName":{"name":"sub","nativeSrc":"5762:3:22","nodeType":"YulIdentifier","src":"5762:3:22"},"nativeSrc":"5762:24:22","nodeType":"YulFunctionCall","src":"5762:24:22"},"variables":[{"name":"shift","nativeSrc":"5753:5:22","nodeType":"YulTypedName","src":"5753:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"5814:3:22","nodeType":"YulIdentifier","src":"5814:3:22"},{"kind":"number","nativeSrc":"5819:4:22","nodeType":"YulLiteral","src":"5819:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5810:3:22","nodeType":"YulIdentifier","src":"5810:3:22"},"nativeSrc":"5810:14:22","nodeType":"YulFunctionCall","src":"5810:14:22"},{"arguments":[{"name":"shift","nativeSrc":"5830:5:22","nodeType":"YulIdentifier","src":"5830:5:22"},{"arguments":[{"name":"shift","nativeSrc":"5841:5:22","nodeType":"YulIdentifier","src":"5841:5:22"},{"name":"w","nativeSrc":"5848:1:22","nodeType":"YulIdentifier","src":"5848:1:22"}],"functionName":{"name":"shr","nativeSrc":"5837:3:22","nodeType":"YulIdentifier","src":"5837:3:22"},"nativeSrc":"5837:13:22","nodeType":"YulFunctionCall","src":"5837:13:22"}],"functionName":{"name":"shl","nativeSrc":"5826:3:22","nodeType":"YulIdentifier","src":"5826:3:22"},"nativeSrc":"5826:25:22","nodeType":"YulFunctionCall","src":"5826:25:22"}],"functionName":{"name":"mstore","nativeSrc":"5803:6:22","nodeType":"YulIdentifier","src":"5803:6:22"},"nativeSrc":"5803:49:22","nodeType":"YulFunctionCall","src":"5803:49:22"},"nativeSrc":"5803:49:22","nodeType":"YulExpressionStatement","src":"5803:49:22"}]},"name":"writeString","nativeSrc":"5524:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"5545:3:22","nodeType":"YulTypedName","src":"5545:3:22","type":""},{"name":"w","nativeSrc":"5550:1:22","nodeType":"YulTypedName","src":"5550:1:22","type":""}],"src":"5524:342:22"},{"nativeSrc":"5879:17:22","nodeType":"YulAssignment","src":"5879:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"5891:4:22","nodeType":"YulLiteral","src":"5891:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"5885:5:22","nodeType":"YulIdentifier","src":"5885:5:22"},"nativeSrc":"5885:11:22","nodeType":"YulFunctionCall","src":"5885:11:22"},"variableNames":[{"name":"m0","nativeSrc":"5879:2:22","nodeType":"YulIdentifier","src":"5879:2:22"}]},{"nativeSrc":"5909:17:22","nodeType":"YulAssignment","src":"5909:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"5921:4:22","nodeType":"YulLiteral","src":"5921:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5915:5:22","nodeType":"YulIdentifier","src":"5915:5:22"},"nativeSrc":"5915:11:22","nodeType":"YulFunctionCall","src":"5915:11:22"},"variableNames":[{"name":"m1","nativeSrc":"5909:2:22","nodeType":"YulIdentifier","src":"5909:2:22"}]},{"nativeSrc":"5939:17:22","nodeType":"YulAssignment","src":"5939:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"5951:4:22","nodeType":"YulLiteral","src":"5951:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"5945:5:22","nodeType":"YulIdentifier","src":"5945:5:22"},"nativeSrc":"5945:11:22","nodeType":"YulFunctionCall","src":"5945:11:22"},"variableNames":[{"name":"m2","nativeSrc":"5939:2:22","nodeType":"YulIdentifier","src":"5939:2:22"}]},{"nativeSrc":"5969:17:22","nodeType":"YulAssignment","src":"5969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"5981:4:22","nodeType":"YulLiteral","src":"5981:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"5975:5:22","nodeType":"YulIdentifier","src":"5975:5:22"},"nativeSrc":"5975:11:22","nodeType":"YulFunctionCall","src":"5975:11:22"},"variableNames":[{"name":"m3","nativeSrc":"5969:2:22","nodeType":"YulIdentifier","src":"5969:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6048:4:22","nodeType":"YulLiteral","src":"6048:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6054:10:22","nodeType":"YulLiteral","src":"6054:10:22","type":"","value":"0x41304fac"}],"functionName":{"name":"mstore","nativeSrc":"6041:6:22","nodeType":"YulIdentifier","src":"6041:6:22"},"nativeSrc":"6041:24:22","nodeType":"YulFunctionCall","src":"6041:24:22"},"nativeSrc":"6041:24:22","nodeType":"YulExpressionStatement","src":"6041:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6085:4:22","nodeType":"YulLiteral","src":"6085:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"6091:4:22","nodeType":"YulLiteral","src":"6091:4:22","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"6078:6:22","nodeType":"YulIdentifier","src":"6078:6:22"},"nativeSrc":"6078:18:22","nodeType":"YulFunctionCall","src":"6078:18:22"},"nativeSrc":"6078:18:22","nodeType":"YulExpressionStatement","src":"6078:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6121:4:22","nodeType":"YulLiteral","src":"6121:4:22","type":"","value":"0x40"},{"name":"p0","nativeSrc":"6127:2:22","nodeType":"YulIdentifier","src":"6127:2:22"}],"functionName":{"name":"writeString","nativeSrc":"6109:11:22","nodeType":"YulIdentifier","src":"6109:11:22"},"nativeSrc":"6109:21:22","nodeType":"YulFunctionCall","src":"6109:21:22"},"nativeSrc":"6109:21:22","nodeType":"YulExpressionStatement","src":"6109:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31590,"isOffset":false,"isSlot":false,"src":"5879:2:22","valueSize":1},{"declaration":31593,"isOffset":false,"isSlot":false,"src":"5909:2:22","valueSize":1},{"declaration":31596,"isOffset":false,"isSlot":false,"src":"5939:2:22","valueSize":1},{"declaration":31599,"isOffset":false,"isSlot":false,"src":"5969:2:22","valueSize":1},{"declaration":31586,"isOffset":false,"isSlot":false,"src":"6127:2:22","valueSize":1}],"id":31601,"nodeType":"InlineAssembly","src":"5501:639:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6165:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":31604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6171:4:22","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":31602,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"6149:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31606,"nodeType":"ExpressionStatement","src":"6149:27:22"},{"AST":{"nativeSrc":"6238:127:22","nodeType":"YulBlock","src":"6238:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6259:4:22","nodeType":"YulLiteral","src":"6259:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6265:2:22","nodeType":"YulIdentifier","src":"6265:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6252:6:22","nodeType":"YulIdentifier","src":"6252:6:22"},"nativeSrc":"6252:16:22","nodeType":"YulFunctionCall","src":"6252:16:22"},"nativeSrc":"6252:16:22","nodeType":"YulExpressionStatement","src":"6252:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6288:4:22","nodeType":"YulLiteral","src":"6288:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6294:2:22","nodeType":"YulIdentifier","src":"6294:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6281:6:22","nodeType":"YulIdentifier","src":"6281:6:22"},"nativeSrc":"6281:16:22","nodeType":"YulFunctionCall","src":"6281:16:22"},"nativeSrc":"6281:16:22","nodeType":"YulExpressionStatement","src":"6281:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6317:4:22","nodeType":"YulLiteral","src":"6317:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6323:2:22","nodeType":"YulIdentifier","src":"6323:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6310:6:22","nodeType":"YulIdentifier","src":"6310:6:22"},"nativeSrc":"6310:16:22","nodeType":"YulFunctionCall","src":"6310:16:22"},"nativeSrc":"6310:16:22","nodeType":"YulExpressionStatement","src":"6310:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6346:4:22","nodeType":"YulLiteral","src":"6346:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"6352:2:22","nodeType":"YulIdentifier","src":"6352:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6339:6:22","nodeType":"YulIdentifier","src":"6339:6:22"},"nativeSrc":"6339:16:22","nodeType":"YulFunctionCall","src":"6339:16:22"},"nativeSrc":"6339:16:22","nodeType":"YulExpressionStatement","src":"6339:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31590,"isOffset":false,"isSlot":false,"src":"6265:2:22","valueSize":1},{"declaration":31593,"isOffset":false,"isSlot":false,"src":"6294:2:22","valueSize":1},{"declaration":31596,"isOffset":false,"isSlot":false,"src":"6323:2:22","valueSize":1},{"declaration":31599,"isOffset":false,"isSlot":false,"src":"6352:2:22","valueSize":1}],"id":31607,"nodeType":"InlineAssembly","src":"6229:136:22"}]},"id":31609,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5338:3:22","nodeType":"FunctionDefinition","parameters":{"id":31587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31586,"mutability":"mutable","name":"p0","nameLocation":"5350:2:22","nodeType":"VariableDeclaration","scope":31609,"src":"5342:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5342:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5341:12:22"},"returnParameters":{"id":31588,"nodeType":"ParameterList","parameters":[],"src":"5368:0:22"},"scope":44426,"src":"5329:1042:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31632,"nodeType":"Block","src":"6428:571:22","statements":[{"assignments":[31617],"declarations":[{"constant":false,"id":31617,"mutability":"mutable","name":"m0","nameLocation":"6446:2:22","nodeType":"VariableDeclaration","scope":31632,"src":"6438:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6438:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31618,"nodeType":"VariableDeclarationStatement","src":"6438:10:22"},{"assignments":[31620],"declarations":[{"constant":false,"id":31620,"mutability":"mutable","name":"m1","nameLocation":"6466:2:22","nodeType":"VariableDeclaration","scope":31632,"src":"6458:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6458:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31621,"nodeType":"VariableDeclarationStatement","src":"6458:10:22"},{"assignments":[31623],"declarations":[{"constant":false,"id":31623,"mutability":"mutable","name":"m2","nameLocation":"6486:2:22","nodeType":"VariableDeclaration","scope":31632,"src":"6478:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6478:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31624,"nodeType":"VariableDeclarationStatement","src":"6478:10:22"},{"AST":{"nativeSrc":"6550:247:22","nodeType":"YulBlock","src":"6550:247:22","statements":[{"nativeSrc":"6564:17:22","nodeType":"YulAssignment","src":"6564:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"6576:4:22","nodeType":"YulLiteral","src":"6576:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"6570:5:22","nodeType":"YulIdentifier","src":"6570:5:22"},"nativeSrc":"6570:11:22","nodeType":"YulFunctionCall","src":"6570:11:22"},"variableNames":[{"name":"m0","nativeSrc":"6564:2:22","nodeType":"YulIdentifier","src":"6564:2:22"}]},{"nativeSrc":"6594:17:22","nodeType":"YulAssignment","src":"6594:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"6606:4:22","nodeType":"YulLiteral","src":"6606:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"6600:5:22","nodeType":"YulIdentifier","src":"6600:5:22"},"nativeSrc":"6600:11:22","nodeType":"YulFunctionCall","src":"6600:11:22"},"variableNames":[{"name":"m1","nativeSrc":"6594:2:22","nodeType":"YulIdentifier","src":"6594:2:22"}]},{"nativeSrc":"6624:17:22","nodeType":"YulAssignment","src":"6624:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"6636:4:22","nodeType":"YulLiteral","src":"6636:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6630:5:22","nodeType":"YulIdentifier","src":"6630:5:22"},"nativeSrc":"6630:11:22","nodeType":"YulFunctionCall","src":"6630:11:22"},"variableNames":[{"name":"m2","nativeSrc":"6624:2:22","nodeType":"YulIdentifier","src":"6624:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6712:4:22","nodeType":"YulLiteral","src":"6712:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6718:10:22","nodeType":"YulLiteral","src":"6718:10:22","type":"","value":"0xdaf0d4aa"}],"functionName":{"name":"mstore","nativeSrc":"6705:6:22","nodeType":"YulIdentifier","src":"6705:6:22"},"nativeSrc":"6705:24:22","nodeType":"YulFunctionCall","src":"6705:24:22"},"nativeSrc":"6705:24:22","nodeType":"YulExpressionStatement","src":"6705:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6749:4:22","nodeType":"YulLiteral","src":"6749:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"6755:2:22","nodeType":"YulIdentifier","src":"6755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6742:6:22","nodeType":"YulIdentifier","src":"6742:6:22"},"nativeSrc":"6742:16:22","nodeType":"YulFunctionCall","src":"6742:16:22"},"nativeSrc":"6742:16:22","nodeType":"YulExpressionStatement","src":"6742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6778:4:22","nodeType":"YulLiteral","src":"6778:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"6784:2:22","nodeType":"YulIdentifier","src":"6784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6771:6:22","nodeType":"YulIdentifier","src":"6771:6:22"},"nativeSrc":"6771:16:22","nodeType":"YulFunctionCall","src":"6771:16:22"},"nativeSrc":"6771:16:22","nodeType":"YulExpressionStatement","src":"6771:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31617,"isOffset":false,"isSlot":false,"src":"6564:2:22","valueSize":1},{"declaration":31620,"isOffset":false,"isSlot":false,"src":"6594:2:22","valueSize":1},{"declaration":31623,"isOffset":false,"isSlot":false,"src":"6624:2:22","valueSize":1},{"declaration":31611,"isOffset":false,"isSlot":false,"src":"6755:2:22","valueSize":1},{"declaration":31613,"isOffset":false,"isSlot":false,"src":"6784:2:22","valueSize":1}],"id":31625,"nodeType":"InlineAssembly","src":"6541:256:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6822:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6828:4:22","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":31626,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"6806:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6806:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31630,"nodeType":"ExpressionStatement","src":"6806:27:22"},{"AST":{"nativeSrc":"6895:98:22","nodeType":"YulBlock","src":"6895:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6916:4:22","nodeType":"YulLiteral","src":"6916:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6922:2:22","nodeType":"YulIdentifier","src":"6922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6909:6:22","nodeType":"YulIdentifier","src":"6909:6:22"},"nativeSrc":"6909:16:22","nodeType":"YulFunctionCall","src":"6909:16:22"},"nativeSrc":"6909:16:22","nodeType":"YulExpressionStatement","src":"6909:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6945:4:22","nodeType":"YulLiteral","src":"6945:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6951:2:22","nodeType":"YulIdentifier","src":"6951:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6938:6:22","nodeType":"YulIdentifier","src":"6938:6:22"},"nativeSrc":"6938:16:22","nodeType":"YulFunctionCall","src":"6938:16:22"},"nativeSrc":"6938:16:22","nodeType":"YulExpressionStatement","src":"6938:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6974:4:22","nodeType":"YulLiteral","src":"6974:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6980:2:22","nodeType":"YulIdentifier","src":"6980:2:22"}],"functionName":{"name":"mstore","nativeSrc":"6967:6:22","nodeType":"YulIdentifier","src":"6967:6:22"},"nativeSrc":"6967:16:22","nodeType":"YulFunctionCall","src":"6967:16:22"},"nativeSrc":"6967:16:22","nodeType":"YulExpressionStatement","src":"6967:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31617,"isOffset":false,"isSlot":false,"src":"6922:2:22","valueSize":1},{"declaration":31620,"isOffset":false,"isSlot":false,"src":"6951:2:22","valueSize":1},{"declaration":31623,"isOffset":false,"isSlot":false,"src":"6980:2:22","valueSize":1}],"id":31631,"nodeType":"InlineAssembly","src":"6886:107:22"}]},"id":31633,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6386:3:22","nodeType":"FunctionDefinition","parameters":{"id":31614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31611,"mutability":"mutable","name":"p0","nameLocation":"6398:2:22","nodeType":"VariableDeclaration","scope":31633,"src":"6390:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31610,"name":"address","nodeType":"ElementaryTypeName","src":"6390:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31613,"mutability":"mutable","name":"p1","nameLocation":"6410:2:22","nodeType":"VariableDeclaration","scope":31633,"src":"6402:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31612,"name":"address","nodeType":"ElementaryTypeName","src":"6402:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6389:24:22"},"returnParameters":{"id":31615,"nodeType":"ParameterList","parameters":[],"src":"6428:0:22"},"scope":44426,"src":"6377:622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31656,"nodeType":"Block","src":"7053:568:22","statements":[{"assignments":[31641],"declarations":[{"constant":false,"id":31641,"mutability":"mutable","name":"m0","nameLocation":"7071:2:22","nodeType":"VariableDeclaration","scope":31656,"src":"7063:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31642,"nodeType":"VariableDeclarationStatement","src":"7063:10:22"},{"assignments":[31644],"declarations":[{"constant":false,"id":31644,"mutability":"mutable","name":"m1","nameLocation":"7091:2:22","nodeType":"VariableDeclaration","scope":31656,"src":"7083:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7083:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31645,"nodeType":"VariableDeclarationStatement","src":"7083:10:22"},{"assignments":[31647],"declarations":[{"constant":false,"id":31647,"mutability":"mutable","name":"m2","nameLocation":"7111:2:22","nodeType":"VariableDeclaration","scope":31656,"src":"7103:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7103:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31648,"nodeType":"VariableDeclarationStatement","src":"7103:10:22"},{"AST":{"nativeSrc":"7175:244:22","nodeType":"YulBlock","src":"7175:244:22","statements":[{"nativeSrc":"7189:17:22","nodeType":"YulAssignment","src":"7189:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7201:4:22","nodeType":"YulLiteral","src":"7201:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7195:5:22","nodeType":"YulIdentifier","src":"7195:5:22"},"nativeSrc":"7195:11:22","nodeType":"YulFunctionCall","src":"7195:11:22"},"variableNames":[{"name":"m0","nativeSrc":"7189:2:22","nodeType":"YulIdentifier","src":"7189:2:22"}]},{"nativeSrc":"7219:17:22","nodeType":"YulAssignment","src":"7219:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7231:4:22","nodeType":"YulLiteral","src":"7231:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7225:5:22","nodeType":"YulIdentifier","src":"7225:5:22"},"nativeSrc":"7225:11:22","nodeType":"YulFunctionCall","src":"7225:11:22"},"variableNames":[{"name":"m1","nativeSrc":"7219:2:22","nodeType":"YulIdentifier","src":"7219:2:22"}]},{"nativeSrc":"7249:17:22","nodeType":"YulAssignment","src":"7249:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7261:4:22","nodeType":"YulLiteral","src":"7261:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7255:5:22","nodeType":"YulIdentifier","src":"7255:5:22"},"nativeSrc":"7255:11:22","nodeType":"YulFunctionCall","src":"7255:11:22"},"variableNames":[{"name":"m2","nativeSrc":"7249:2:22","nodeType":"YulIdentifier","src":"7249:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7334:4:22","nodeType":"YulLiteral","src":"7334:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7340:10:22","nodeType":"YulLiteral","src":"7340:10:22","type":"","value":"0x75b605d3"}],"functionName":{"name":"mstore","nativeSrc":"7327:6:22","nodeType":"YulIdentifier","src":"7327:6:22"},"nativeSrc":"7327:24:22","nodeType":"YulFunctionCall","src":"7327:24:22"},"nativeSrc":"7327:24:22","nodeType":"YulExpressionStatement","src":"7327:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7371:4:22","nodeType":"YulLiteral","src":"7371:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"7377:2:22","nodeType":"YulIdentifier","src":"7377:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7364:6:22","nodeType":"YulIdentifier","src":"7364:6:22"},"nativeSrc":"7364:16:22","nodeType":"YulFunctionCall","src":"7364:16:22"},"nativeSrc":"7364:16:22","nodeType":"YulExpressionStatement","src":"7364:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7400:4:22","nodeType":"YulLiteral","src":"7400:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"7406:2:22","nodeType":"YulIdentifier","src":"7406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7393:6:22","nodeType":"YulIdentifier","src":"7393:6:22"},"nativeSrc":"7393:16:22","nodeType":"YulFunctionCall","src":"7393:16:22"},"nativeSrc":"7393:16:22","nodeType":"YulExpressionStatement","src":"7393:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31641,"isOffset":false,"isSlot":false,"src":"7189:2:22","valueSize":1},{"declaration":31644,"isOffset":false,"isSlot":false,"src":"7219:2:22","valueSize":1},{"declaration":31647,"isOffset":false,"isSlot":false,"src":"7249:2:22","valueSize":1},{"declaration":31635,"isOffset":false,"isSlot":false,"src":"7377:2:22","valueSize":1},{"declaration":31637,"isOffset":false,"isSlot":false,"src":"7406:2:22","valueSize":1}],"id":31649,"nodeType":"InlineAssembly","src":"7166:253:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7444:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7450:4:22","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":31650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"7428:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31654,"nodeType":"ExpressionStatement","src":"7428:27:22"},{"AST":{"nativeSrc":"7517:98:22","nodeType":"YulBlock","src":"7517:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7538:4:22","nodeType":"YulLiteral","src":"7538:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"7544:2:22","nodeType":"YulIdentifier","src":"7544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7531:6:22","nodeType":"YulIdentifier","src":"7531:6:22"},"nativeSrc":"7531:16:22","nodeType":"YulFunctionCall","src":"7531:16:22"},"nativeSrc":"7531:16:22","nodeType":"YulExpressionStatement","src":"7531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7567:4:22","nodeType":"YulLiteral","src":"7567:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"7573:2:22","nodeType":"YulIdentifier","src":"7573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7560:6:22","nodeType":"YulIdentifier","src":"7560:6:22"},"nativeSrc":"7560:16:22","nodeType":"YulFunctionCall","src":"7560:16:22"},"nativeSrc":"7560:16:22","nodeType":"YulExpressionStatement","src":"7560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7596:4:22","nodeType":"YulLiteral","src":"7596:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"7602:2:22","nodeType":"YulIdentifier","src":"7602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7589:6:22","nodeType":"YulIdentifier","src":"7589:6:22"},"nativeSrc":"7589:16:22","nodeType":"YulFunctionCall","src":"7589:16:22"},"nativeSrc":"7589:16:22","nodeType":"YulExpressionStatement","src":"7589:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31641,"isOffset":false,"isSlot":false,"src":"7544:2:22","valueSize":1},{"declaration":31644,"isOffset":false,"isSlot":false,"src":"7573:2:22","valueSize":1},{"declaration":31647,"isOffset":false,"isSlot":false,"src":"7602:2:22","valueSize":1}],"id":31655,"nodeType":"InlineAssembly","src":"7508:107:22"}]},"id":31657,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7014:3:22","nodeType":"FunctionDefinition","parameters":{"id":31638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31635,"mutability":"mutable","name":"p0","nameLocation":"7026:2:22","nodeType":"VariableDeclaration","scope":31657,"src":"7018:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31634,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31637,"mutability":"mutable","name":"p1","nameLocation":"7035:2:22","nodeType":"VariableDeclaration","scope":31657,"src":"7030:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31636,"name":"bool","nodeType":"ElementaryTypeName","src":"7030:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7017:21:22"},"returnParameters":{"id":31639,"nodeType":"ParameterList","parameters":[],"src":"7053:0:22"},"scope":44426,"src":"7005:616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31680,"nodeType":"Block","src":"7678:571:22","statements":[{"assignments":[31665],"declarations":[{"constant":false,"id":31665,"mutability":"mutable","name":"m0","nameLocation":"7696:2:22","nodeType":"VariableDeclaration","scope":31680,"src":"7688:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7688:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31666,"nodeType":"VariableDeclarationStatement","src":"7688:10:22"},{"assignments":[31668],"declarations":[{"constant":false,"id":31668,"mutability":"mutable","name":"m1","nameLocation":"7716:2:22","nodeType":"VariableDeclaration","scope":31680,"src":"7708:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7708:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31669,"nodeType":"VariableDeclarationStatement","src":"7708:10:22"},{"assignments":[31671],"declarations":[{"constant":false,"id":31671,"mutability":"mutable","name":"m2","nameLocation":"7736:2:22","nodeType":"VariableDeclaration","scope":31680,"src":"7728:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7728:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31672,"nodeType":"VariableDeclarationStatement","src":"7728:10:22"},{"AST":{"nativeSrc":"7800:247:22","nodeType":"YulBlock","src":"7800:247:22","statements":[{"nativeSrc":"7814:17:22","nodeType":"YulAssignment","src":"7814:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7826:4:22","nodeType":"YulLiteral","src":"7826:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7820:5:22","nodeType":"YulIdentifier","src":"7820:5:22"},"nativeSrc":"7820:11:22","nodeType":"YulFunctionCall","src":"7820:11:22"},"variableNames":[{"name":"m0","nativeSrc":"7814:2:22","nodeType":"YulIdentifier","src":"7814:2:22"}]},{"nativeSrc":"7844:17:22","nodeType":"YulAssignment","src":"7844:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7856:4:22","nodeType":"YulLiteral","src":"7856:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7850:5:22","nodeType":"YulIdentifier","src":"7850:5:22"},"nativeSrc":"7850:11:22","nodeType":"YulFunctionCall","src":"7850:11:22"},"variableNames":[{"name":"m1","nativeSrc":"7844:2:22","nodeType":"YulIdentifier","src":"7844:2:22"}]},{"nativeSrc":"7874:17:22","nodeType":"YulAssignment","src":"7874:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"7886:4:22","nodeType":"YulLiteral","src":"7886:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7880:5:22","nodeType":"YulIdentifier","src":"7880:5:22"},"nativeSrc":"7880:11:22","nodeType":"YulFunctionCall","src":"7880:11:22"},"variableNames":[{"name":"m2","nativeSrc":"7874:2:22","nodeType":"YulIdentifier","src":"7874:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7962:4:22","nodeType":"YulLiteral","src":"7962:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7968:10:22","nodeType":"YulLiteral","src":"7968:10:22","type":"","value":"0x8309e8a8"}],"functionName":{"name":"mstore","nativeSrc":"7955:6:22","nodeType":"YulIdentifier","src":"7955:6:22"},"nativeSrc":"7955:24:22","nodeType":"YulFunctionCall","src":"7955:24:22"},"nativeSrc":"7955:24:22","nodeType":"YulExpressionStatement","src":"7955:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7999:4:22","nodeType":"YulLiteral","src":"7999:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"8005:2:22","nodeType":"YulIdentifier","src":"8005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"7992:6:22","nodeType":"YulIdentifier","src":"7992:6:22"},"nativeSrc":"7992:16:22","nodeType":"YulFunctionCall","src":"7992:16:22"},"nativeSrc":"7992:16:22","nodeType":"YulExpressionStatement","src":"7992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8028:4:22","nodeType":"YulLiteral","src":"8028:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"8034:2:22","nodeType":"YulIdentifier","src":"8034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"8021:6:22","nodeType":"YulIdentifier","src":"8021:6:22"},"nativeSrc":"8021:16:22","nodeType":"YulFunctionCall","src":"8021:16:22"},"nativeSrc":"8021:16:22","nodeType":"YulExpressionStatement","src":"8021:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31665,"isOffset":false,"isSlot":false,"src":"7814:2:22","valueSize":1},{"declaration":31668,"isOffset":false,"isSlot":false,"src":"7844:2:22","valueSize":1},{"declaration":31671,"isOffset":false,"isSlot":false,"src":"7874:2:22","valueSize":1},{"declaration":31659,"isOffset":false,"isSlot":false,"src":"8005:2:22","valueSize":1},{"declaration":31661,"isOffset":false,"isSlot":false,"src":"8034:2:22","valueSize":1}],"id":31673,"nodeType":"InlineAssembly","src":"7791:256:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8072:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8078:4:22","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":31674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"8056:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8056:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31678,"nodeType":"ExpressionStatement","src":"8056:27:22"},{"AST":{"nativeSrc":"8145:98:22","nodeType":"YulBlock","src":"8145:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8166:4:22","nodeType":"YulLiteral","src":"8166:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"8172:2:22","nodeType":"YulIdentifier","src":"8172:2:22"}],"functionName":{"name":"mstore","nativeSrc":"8159:6:22","nodeType":"YulIdentifier","src":"8159:6:22"},"nativeSrc":"8159:16:22","nodeType":"YulFunctionCall","src":"8159:16:22"},"nativeSrc":"8159:16:22","nodeType":"YulExpressionStatement","src":"8159:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8195:4:22","nodeType":"YulLiteral","src":"8195:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"8201:2:22","nodeType":"YulIdentifier","src":"8201:2:22"}],"functionName":{"name":"mstore","nativeSrc":"8188:6:22","nodeType":"YulIdentifier","src":"8188:6:22"},"nativeSrc":"8188:16:22","nodeType":"YulFunctionCall","src":"8188:16:22"},"nativeSrc":"8188:16:22","nodeType":"YulExpressionStatement","src":"8188:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8224:4:22","nodeType":"YulLiteral","src":"8224:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"8230:2:22","nodeType":"YulIdentifier","src":"8230:2:22"}],"functionName":{"name":"mstore","nativeSrc":"8217:6:22","nodeType":"YulIdentifier","src":"8217:6:22"},"nativeSrc":"8217:16:22","nodeType":"YulFunctionCall","src":"8217:16:22"},"nativeSrc":"8217:16:22","nodeType":"YulExpressionStatement","src":"8217:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31665,"isOffset":false,"isSlot":false,"src":"8172:2:22","valueSize":1},{"declaration":31668,"isOffset":false,"isSlot":false,"src":"8201:2:22","valueSize":1},{"declaration":31671,"isOffset":false,"isSlot":false,"src":"8230:2:22","valueSize":1}],"id":31679,"nodeType":"InlineAssembly","src":"8136:107:22"}]},"id":31681,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7636:3:22","nodeType":"FunctionDefinition","parameters":{"id":31662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31659,"mutability":"mutable","name":"p0","nameLocation":"7648:2:22","nodeType":"VariableDeclaration","scope":31681,"src":"7640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31658,"name":"address","nodeType":"ElementaryTypeName","src":"7640:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31661,"mutability":"mutable","name":"p1","nameLocation":"7660:2:22","nodeType":"VariableDeclaration","scope":31681,"src":"7652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31660,"name":"uint256","nodeType":"ElementaryTypeName","src":"7652:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7639:24:22"},"returnParameters":{"id":31663,"nodeType":"ParameterList","parameters":[],"src":"7678:0:22"},"scope":44426,"src":"7627:622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31710,"nodeType":"Block","src":"8306:1119:22","statements":[{"assignments":[31689],"declarations":[{"constant":false,"id":31689,"mutability":"mutable","name":"m0","nameLocation":"8324:2:22","nodeType":"VariableDeclaration","scope":31710,"src":"8316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31690,"nodeType":"VariableDeclarationStatement","src":"8316:10:22"},{"assignments":[31692],"declarations":[{"constant":false,"id":31692,"mutability":"mutable","name":"m1","nameLocation":"8344:2:22","nodeType":"VariableDeclaration","scope":31710,"src":"8336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31693,"nodeType":"VariableDeclarationStatement","src":"8336:10:22"},{"assignments":[31695],"declarations":[{"constant":false,"id":31695,"mutability":"mutable","name":"m2","nameLocation":"8364:2:22","nodeType":"VariableDeclaration","scope":31710,"src":"8356:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8356:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31696,"nodeType":"VariableDeclarationStatement","src":"8356:10:22"},{"assignments":[31698],"declarations":[{"constant":false,"id":31698,"mutability":"mutable","name":"m3","nameLocation":"8384:2:22","nodeType":"VariableDeclaration","scope":31710,"src":"8376:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8376:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31699,"nodeType":"VariableDeclarationStatement","src":"8376:10:22"},{"assignments":[31701],"declarations":[{"constant":false,"id":31701,"mutability":"mutable","name":"m4","nameLocation":"8404:2:22","nodeType":"VariableDeclaration","scope":31710,"src":"8396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31702,"nodeType":"VariableDeclarationStatement","src":"8396:10:22"},{"AST":{"nativeSrc":"8468:697:22","nodeType":"YulBlock","src":"8468:697:22","statements":[{"body":{"nativeSrc":"8511:313:22","nodeType":"YulBlock","src":"8511:313:22","statements":[{"nativeSrc":"8529:15:22","nodeType":"YulVariableDeclaration","src":"8529:15:22","value":{"kind":"number","nativeSrc":"8543:1:22","nodeType":"YulLiteral","src":"8543:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"8533:6:22","nodeType":"YulTypedName","src":"8533:6:22","type":""}]},{"body":{"nativeSrc":"8614:40:22","nodeType":"YulBlock","src":"8614:40:22","statements":[{"body":{"nativeSrc":"8643:9:22","nodeType":"YulBlock","src":"8643:9:22","statements":[{"nativeSrc":"8645:5:22","nodeType":"YulBreak","src":"8645:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"8631:6:22","nodeType":"YulIdentifier","src":"8631:6:22"},{"name":"w","nativeSrc":"8639:1:22","nodeType":"YulIdentifier","src":"8639:1:22"}],"functionName":{"name":"byte","nativeSrc":"8626:4:22","nodeType":"YulIdentifier","src":"8626:4:22"},"nativeSrc":"8626:15:22","nodeType":"YulFunctionCall","src":"8626:15:22"}],"functionName":{"name":"iszero","nativeSrc":"8619:6:22","nodeType":"YulIdentifier","src":"8619:6:22"},"nativeSrc":"8619:23:22","nodeType":"YulFunctionCall","src":"8619:23:22"},"nativeSrc":"8616:36:22","nodeType":"YulIf","src":"8616:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"8571:6:22","nodeType":"YulIdentifier","src":"8571:6:22"},{"kind":"number","nativeSrc":"8579:4:22","nodeType":"YulLiteral","src":"8579:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"8568:2:22","nodeType":"YulIdentifier","src":"8568:2:22"},"nativeSrc":"8568:16:22","nodeType":"YulFunctionCall","src":"8568:16:22"},"nativeSrc":"8561:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"8585:28:22","nodeType":"YulBlock","src":"8585:28:22","statements":[{"nativeSrc":"8587:24:22","nodeType":"YulAssignment","src":"8587:24:22","value":{"arguments":[{"name":"length","nativeSrc":"8601:6:22","nodeType":"YulIdentifier","src":"8601:6:22"},{"kind":"number","nativeSrc":"8609:1:22","nodeType":"YulLiteral","src":"8609:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"8597:3:22","nodeType":"YulIdentifier","src":"8597:3:22"},"nativeSrc":"8597:14:22","nodeType":"YulFunctionCall","src":"8597:14:22"},"variableNames":[{"name":"length","nativeSrc":"8587:6:22","nodeType":"YulIdentifier","src":"8587:6:22"}]}]},"pre":{"nativeSrc":"8565:2:22","nodeType":"YulBlock","src":"8565:2:22","statements":[]},"src":"8561:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"8678:3:22","nodeType":"YulIdentifier","src":"8678:3:22"},{"name":"length","nativeSrc":"8683:6:22","nodeType":"YulIdentifier","src":"8683:6:22"}],"functionName":{"name":"mstore","nativeSrc":"8671:6:22","nodeType":"YulIdentifier","src":"8671:6:22"},"nativeSrc":"8671:19:22","nodeType":"YulFunctionCall","src":"8671:19:22"},"nativeSrc":"8671:19:22","nodeType":"YulExpressionStatement","src":"8671:19:22"},{"nativeSrc":"8707:37:22","nodeType":"YulVariableDeclaration","src":"8707:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"8724:3:22","nodeType":"YulLiteral","src":"8724:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"8733:1:22","nodeType":"YulLiteral","src":"8733:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"8736:6:22","nodeType":"YulIdentifier","src":"8736:6:22"}],"functionName":{"name":"shl","nativeSrc":"8729:3:22","nodeType":"YulIdentifier","src":"8729:3:22"},"nativeSrc":"8729:14:22","nodeType":"YulFunctionCall","src":"8729:14:22"}],"functionName":{"name":"sub","nativeSrc":"8720:3:22","nodeType":"YulIdentifier","src":"8720:3:22"},"nativeSrc":"8720:24:22","nodeType":"YulFunctionCall","src":"8720:24:22"},"variables":[{"name":"shift","nativeSrc":"8711:5:22","nodeType":"YulTypedName","src":"8711:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"8772:3:22","nodeType":"YulIdentifier","src":"8772:3:22"},{"kind":"number","nativeSrc":"8777:4:22","nodeType":"YulLiteral","src":"8777:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8768:3:22","nodeType":"YulIdentifier","src":"8768:3:22"},"nativeSrc":"8768:14:22","nodeType":"YulFunctionCall","src":"8768:14:22"},{"arguments":[{"name":"shift","nativeSrc":"8788:5:22","nodeType":"YulIdentifier","src":"8788:5:22"},{"arguments":[{"name":"shift","nativeSrc":"8799:5:22","nodeType":"YulIdentifier","src":"8799:5:22"},{"name":"w","nativeSrc":"8806:1:22","nodeType":"YulIdentifier","src":"8806:1:22"}],"functionName":{"name":"shr","nativeSrc":"8795:3:22","nodeType":"YulIdentifier","src":"8795:3:22"},"nativeSrc":"8795:13:22","nodeType":"YulFunctionCall","src":"8795:13:22"}],"functionName":{"name":"shl","nativeSrc":"8784:3:22","nodeType":"YulIdentifier","src":"8784:3:22"},"nativeSrc":"8784:25:22","nodeType":"YulFunctionCall","src":"8784:25:22"}],"functionName":{"name":"mstore","nativeSrc":"8761:6:22","nodeType":"YulIdentifier","src":"8761:6:22"},"nativeSrc":"8761:49:22","nodeType":"YulFunctionCall","src":"8761:49:22"},"nativeSrc":"8761:49:22","nodeType":"YulExpressionStatement","src":"8761:49:22"}]},"name":"writeString","nativeSrc":"8482:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"8503:3:22","nodeType":"YulTypedName","src":"8503:3:22","type":""},{"name":"w","nativeSrc":"8508:1:22","nodeType":"YulTypedName","src":"8508:1:22","type":""}],"src":"8482:342:22"},{"nativeSrc":"8837:17:22","nodeType":"YulAssignment","src":"8837:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"8849:4:22","nodeType":"YulLiteral","src":"8849:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"8843:5:22","nodeType":"YulIdentifier","src":"8843:5:22"},"nativeSrc":"8843:11:22","nodeType":"YulFunctionCall","src":"8843:11:22"},"variableNames":[{"name":"m0","nativeSrc":"8837:2:22","nodeType":"YulIdentifier","src":"8837:2:22"}]},{"nativeSrc":"8867:17:22","nodeType":"YulAssignment","src":"8867:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"8879:4:22","nodeType":"YulLiteral","src":"8879:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"8873:5:22","nodeType":"YulIdentifier","src":"8873:5:22"},"nativeSrc":"8873:11:22","nodeType":"YulFunctionCall","src":"8873:11:22"},"variableNames":[{"name":"m1","nativeSrc":"8867:2:22","nodeType":"YulIdentifier","src":"8867:2:22"}]},{"nativeSrc":"8897:17:22","nodeType":"YulAssignment","src":"8897:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"8909:4:22","nodeType":"YulLiteral","src":"8909:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8903:5:22","nodeType":"YulIdentifier","src":"8903:5:22"},"nativeSrc":"8903:11:22","nodeType":"YulFunctionCall","src":"8903:11:22"},"variableNames":[{"name":"m2","nativeSrc":"8897:2:22","nodeType":"YulIdentifier","src":"8897:2:22"}]},{"nativeSrc":"8927:17:22","nodeType":"YulAssignment","src":"8927:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"8939:4:22","nodeType":"YulLiteral","src":"8939:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"8933:5:22","nodeType":"YulIdentifier","src":"8933:5:22"},"nativeSrc":"8933:11:22","nodeType":"YulFunctionCall","src":"8933:11:22"},"variableNames":[{"name":"m3","nativeSrc":"8927:2:22","nodeType":"YulIdentifier","src":"8927:2:22"}]},{"nativeSrc":"8957:17:22","nodeType":"YulAssignment","src":"8957:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"8969:4:22","nodeType":"YulLiteral","src":"8969:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"8963:5:22","nodeType":"YulIdentifier","src":"8963:5:22"},"nativeSrc":"8963:11:22","nodeType":"YulFunctionCall","src":"8963:11:22"},"variableNames":[{"name":"m4","nativeSrc":"8957:2:22","nodeType":"YulIdentifier","src":"8957:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9044:4:22","nodeType":"YulLiteral","src":"9044:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9050:10:22","nodeType":"YulLiteral","src":"9050:10:22","type":"","value":"0x759f86bb"}],"functionName":{"name":"mstore","nativeSrc":"9037:6:22","nodeType":"YulIdentifier","src":"9037:6:22"},"nativeSrc":"9037:24:22","nodeType":"YulFunctionCall","src":"9037:24:22"},"nativeSrc":"9037:24:22","nodeType":"YulExpressionStatement","src":"9037:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9081:4:22","nodeType":"YulLiteral","src":"9081:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9087:2:22","nodeType":"YulIdentifier","src":"9087:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9074:6:22","nodeType":"YulIdentifier","src":"9074:6:22"},"nativeSrc":"9074:16:22","nodeType":"YulFunctionCall","src":"9074:16:22"},"nativeSrc":"9074:16:22","nodeType":"YulExpressionStatement","src":"9074:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9110:4:22","nodeType":"YulLiteral","src":"9110:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"9116:4:22","nodeType":"YulLiteral","src":"9116:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"9103:6:22","nodeType":"YulIdentifier","src":"9103:6:22"},"nativeSrc":"9103:18:22","nodeType":"YulFunctionCall","src":"9103:18:22"},"nativeSrc":"9103:18:22","nodeType":"YulExpressionStatement","src":"9103:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9146:4:22","nodeType":"YulLiteral","src":"9146:4:22","type":"","value":"0x60"},{"name":"p1","nativeSrc":"9152:2:22","nodeType":"YulIdentifier","src":"9152:2:22"}],"functionName":{"name":"writeString","nativeSrc":"9134:11:22","nodeType":"YulIdentifier","src":"9134:11:22"},"nativeSrc":"9134:21:22","nodeType":"YulFunctionCall","src":"9134:21:22"},"nativeSrc":"9134:21:22","nodeType":"YulExpressionStatement","src":"9134:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31689,"isOffset":false,"isSlot":false,"src":"8837:2:22","valueSize":1},{"declaration":31692,"isOffset":false,"isSlot":false,"src":"8867:2:22","valueSize":1},{"declaration":31695,"isOffset":false,"isSlot":false,"src":"8897:2:22","valueSize":1},{"declaration":31698,"isOffset":false,"isSlot":false,"src":"8927:2:22","valueSize":1},{"declaration":31701,"isOffset":false,"isSlot":false,"src":"8957:2:22","valueSize":1},{"declaration":31683,"isOffset":false,"isSlot":false,"src":"9087:2:22","valueSize":1},{"declaration":31685,"isOffset":false,"isSlot":false,"src":"9152:2:22","valueSize":1}],"id":31703,"nodeType":"InlineAssembly","src":"8459:706:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9190:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9196:4:22","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":31704,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"9174:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31708,"nodeType":"ExpressionStatement","src":"9174:27:22"},{"AST":{"nativeSrc":"9263:156:22","nodeType":"YulBlock","src":"9263:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9284:4:22","nodeType":"YulLiteral","src":"9284:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9290:2:22","nodeType":"YulIdentifier","src":"9290:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9277:6:22","nodeType":"YulIdentifier","src":"9277:6:22"},"nativeSrc":"9277:16:22","nodeType":"YulFunctionCall","src":"9277:16:22"},"nativeSrc":"9277:16:22","nodeType":"YulExpressionStatement","src":"9277:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9313:4:22","nodeType":"YulLiteral","src":"9313:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9319:2:22","nodeType":"YulIdentifier","src":"9319:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9306:6:22","nodeType":"YulIdentifier","src":"9306:6:22"},"nativeSrc":"9306:16:22","nodeType":"YulFunctionCall","src":"9306:16:22"},"nativeSrc":"9306:16:22","nodeType":"YulExpressionStatement","src":"9306:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9342:4:22","nodeType":"YulLiteral","src":"9342:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"9348:2:22","nodeType":"YulIdentifier","src":"9348:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9335:6:22","nodeType":"YulIdentifier","src":"9335:6:22"},"nativeSrc":"9335:16:22","nodeType":"YulFunctionCall","src":"9335:16:22"},"nativeSrc":"9335:16:22","nodeType":"YulExpressionStatement","src":"9335:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9371:4:22","nodeType":"YulLiteral","src":"9371:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"9377:2:22","nodeType":"YulIdentifier","src":"9377:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9364:6:22","nodeType":"YulIdentifier","src":"9364:6:22"},"nativeSrc":"9364:16:22","nodeType":"YulFunctionCall","src":"9364:16:22"},"nativeSrc":"9364:16:22","nodeType":"YulExpressionStatement","src":"9364:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9400:4:22","nodeType":"YulLiteral","src":"9400:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"9406:2:22","nodeType":"YulIdentifier","src":"9406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9393:6:22","nodeType":"YulIdentifier","src":"9393:6:22"},"nativeSrc":"9393:16:22","nodeType":"YulFunctionCall","src":"9393:16:22"},"nativeSrc":"9393:16:22","nodeType":"YulExpressionStatement","src":"9393:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31689,"isOffset":false,"isSlot":false,"src":"9290:2:22","valueSize":1},{"declaration":31692,"isOffset":false,"isSlot":false,"src":"9319:2:22","valueSize":1},{"declaration":31695,"isOffset":false,"isSlot":false,"src":"9348:2:22","valueSize":1},{"declaration":31698,"isOffset":false,"isSlot":false,"src":"9377:2:22","valueSize":1},{"declaration":31701,"isOffset":false,"isSlot":false,"src":"9406:2:22","valueSize":1}],"id":31709,"nodeType":"InlineAssembly","src":"9254:165:22"}]},"id":31711,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8264:3:22","nodeType":"FunctionDefinition","parameters":{"id":31686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31683,"mutability":"mutable","name":"p0","nameLocation":"8276:2:22","nodeType":"VariableDeclaration","scope":31711,"src":"8268:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31682,"name":"address","nodeType":"ElementaryTypeName","src":"8268:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31685,"mutability":"mutable","name":"p1","nameLocation":"8288:2:22","nodeType":"VariableDeclaration","scope":31711,"src":"8280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8267:24:22"},"returnParameters":{"id":31687,"nodeType":"ParameterList","parameters":[],"src":"8306:0:22"},"scope":44426,"src":"8255:1170:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31734,"nodeType":"Block","src":"9479:568:22","statements":[{"assignments":[31719],"declarations":[{"constant":false,"id":31719,"mutability":"mutable","name":"m0","nameLocation":"9497:2:22","nodeType":"VariableDeclaration","scope":31734,"src":"9489:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31720,"nodeType":"VariableDeclarationStatement","src":"9489:10:22"},{"assignments":[31722],"declarations":[{"constant":false,"id":31722,"mutability":"mutable","name":"m1","nameLocation":"9517:2:22","nodeType":"VariableDeclaration","scope":31734,"src":"9509:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9509:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31723,"nodeType":"VariableDeclarationStatement","src":"9509:10:22"},{"assignments":[31725],"declarations":[{"constant":false,"id":31725,"mutability":"mutable","name":"m2","nameLocation":"9537:2:22","nodeType":"VariableDeclaration","scope":31734,"src":"9529:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9529:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31726,"nodeType":"VariableDeclarationStatement","src":"9529:10:22"},{"AST":{"nativeSrc":"9601:244:22","nodeType":"YulBlock","src":"9601:244:22","statements":[{"nativeSrc":"9615:17:22","nodeType":"YulAssignment","src":"9615:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"9627:4:22","nodeType":"YulLiteral","src":"9627:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"9621:5:22","nodeType":"YulIdentifier","src":"9621:5:22"},"nativeSrc":"9621:11:22","nodeType":"YulFunctionCall","src":"9621:11:22"},"variableNames":[{"name":"m0","nativeSrc":"9615:2:22","nodeType":"YulIdentifier","src":"9615:2:22"}]},{"nativeSrc":"9645:17:22","nodeType":"YulAssignment","src":"9645:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"9657:4:22","nodeType":"YulLiteral","src":"9657:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"9651:5:22","nodeType":"YulIdentifier","src":"9651:5:22"},"nativeSrc":"9651:11:22","nodeType":"YulFunctionCall","src":"9651:11:22"},"variableNames":[{"name":"m1","nativeSrc":"9645:2:22","nodeType":"YulIdentifier","src":"9645:2:22"}]},{"nativeSrc":"9675:17:22","nodeType":"YulAssignment","src":"9675:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"9687:4:22","nodeType":"YulLiteral","src":"9687:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"9681:5:22","nodeType":"YulIdentifier","src":"9681:5:22"},"nativeSrc":"9681:11:22","nodeType":"YulFunctionCall","src":"9681:11:22"},"variableNames":[{"name":"m2","nativeSrc":"9675:2:22","nodeType":"YulIdentifier","src":"9675:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9760:4:22","nodeType":"YulLiteral","src":"9760:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9766:10:22","nodeType":"YulLiteral","src":"9766:10:22","type":"","value":"0x853c4849"}],"functionName":{"name":"mstore","nativeSrc":"9753:6:22","nodeType":"YulIdentifier","src":"9753:6:22"},"nativeSrc":"9753:24:22","nodeType":"YulFunctionCall","src":"9753:24:22"},"nativeSrc":"9753:24:22","nodeType":"YulExpressionStatement","src":"9753:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9797:4:22","nodeType":"YulLiteral","src":"9797:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9803:2:22","nodeType":"YulIdentifier","src":"9803:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9790:6:22","nodeType":"YulIdentifier","src":"9790:6:22"},"nativeSrc":"9790:16:22","nodeType":"YulFunctionCall","src":"9790:16:22"},"nativeSrc":"9790:16:22","nodeType":"YulExpressionStatement","src":"9790:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9826:4:22","nodeType":"YulLiteral","src":"9826:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"9832:2:22","nodeType":"YulIdentifier","src":"9832:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9819:6:22","nodeType":"YulIdentifier","src":"9819:6:22"},"nativeSrc":"9819:16:22","nodeType":"YulFunctionCall","src":"9819:16:22"},"nativeSrc":"9819:16:22","nodeType":"YulExpressionStatement","src":"9819:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31719,"isOffset":false,"isSlot":false,"src":"9615:2:22","valueSize":1},{"declaration":31722,"isOffset":false,"isSlot":false,"src":"9645:2:22","valueSize":1},{"declaration":31725,"isOffset":false,"isSlot":false,"src":"9675:2:22","valueSize":1},{"declaration":31713,"isOffset":false,"isSlot":false,"src":"9803:2:22","valueSize":1},{"declaration":31715,"isOffset":false,"isSlot":false,"src":"9832:2:22","valueSize":1}],"id":31727,"nodeType":"InlineAssembly","src":"9592:253:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9870:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9876:4:22","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":31728,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"9854:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9854:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31732,"nodeType":"ExpressionStatement","src":"9854:27:22"},{"AST":{"nativeSrc":"9943:98:22","nodeType":"YulBlock","src":"9943:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9964:4:22","nodeType":"YulLiteral","src":"9964:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9970:2:22","nodeType":"YulIdentifier","src":"9970:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9957:6:22","nodeType":"YulIdentifier","src":"9957:6:22"},"nativeSrc":"9957:16:22","nodeType":"YulFunctionCall","src":"9957:16:22"},"nativeSrc":"9957:16:22","nodeType":"YulExpressionStatement","src":"9957:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9993:4:22","nodeType":"YulLiteral","src":"9993:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9999:2:22","nodeType":"YulIdentifier","src":"9999:2:22"}],"functionName":{"name":"mstore","nativeSrc":"9986:6:22","nodeType":"YulIdentifier","src":"9986:6:22"},"nativeSrc":"9986:16:22","nodeType":"YulFunctionCall","src":"9986:16:22"},"nativeSrc":"9986:16:22","nodeType":"YulExpressionStatement","src":"9986:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10022:4:22","nodeType":"YulLiteral","src":"10022:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10028:2:22","nodeType":"YulIdentifier","src":"10028:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10015:6:22","nodeType":"YulIdentifier","src":"10015:6:22"},"nativeSrc":"10015:16:22","nodeType":"YulFunctionCall","src":"10015:16:22"},"nativeSrc":"10015:16:22","nodeType":"YulExpressionStatement","src":"10015:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31719,"isOffset":false,"isSlot":false,"src":"9970:2:22","valueSize":1},{"declaration":31722,"isOffset":false,"isSlot":false,"src":"9999:2:22","valueSize":1},{"declaration":31725,"isOffset":false,"isSlot":false,"src":"10028:2:22","valueSize":1}],"id":31733,"nodeType":"InlineAssembly","src":"9934:107:22"}]},"id":31735,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9440:3:22","nodeType":"FunctionDefinition","parameters":{"id":31716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31713,"mutability":"mutable","name":"p0","nameLocation":"9449:2:22","nodeType":"VariableDeclaration","scope":31735,"src":"9444:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31712,"name":"bool","nodeType":"ElementaryTypeName","src":"9444:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31715,"mutability":"mutable","name":"p1","nameLocation":"9461:2:22","nodeType":"VariableDeclaration","scope":31735,"src":"9453:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31714,"name":"address","nodeType":"ElementaryTypeName","src":"9453:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9443:21:22"},"returnParameters":{"id":31717,"nodeType":"ParameterList","parameters":[],"src":"9479:0:22"},"scope":44426,"src":"9431:616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31758,"nodeType":"Block","src":"10098:565:22","statements":[{"assignments":[31743],"declarations":[{"constant":false,"id":31743,"mutability":"mutable","name":"m0","nameLocation":"10116:2:22","nodeType":"VariableDeclaration","scope":31758,"src":"10108:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10108:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31744,"nodeType":"VariableDeclarationStatement","src":"10108:10:22"},{"assignments":[31746],"declarations":[{"constant":false,"id":31746,"mutability":"mutable","name":"m1","nameLocation":"10136:2:22","nodeType":"VariableDeclaration","scope":31758,"src":"10128:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10128:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31747,"nodeType":"VariableDeclarationStatement","src":"10128:10:22"},{"assignments":[31749],"declarations":[{"constant":false,"id":31749,"mutability":"mutable","name":"m2","nameLocation":"10156:2:22","nodeType":"VariableDeclaration","scope":31758,"src":"10148:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10148:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31750,"nodeType":"VariableDeclarationStatement","src":"10148:10:22"},{"AST":{"nativeSrc":"10220:241:22","nodeType":"YulBlock","src":"10220:241:22","statements":[{"nativeSrc":"10234:17:22","nodeType":"YulAssignment","src":"10234:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10246:4:22","nodeType":"YulLiteral","src":"10246:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10240:5:22","nodeType":"YulIdentifier","src":"10240:5:22"},"nativeSrc":"10240:11:22","nodeType":"YulFunctionCall","src":"10240:11:22"},"variableNames":[{"name":"m0","nativeSrc":"10234:2:22","nodeType":"YulIdentifier","src":"10234:2:22"}]},{"nativeSrc":"10264:17:22","nodeType":"YulAssignment","src":"10264:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10276:4:22","nodeType":"YulLiteral","src":"10276:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10270:5:22","nodeType":"YulIdentifier","src":"10270:5:22"},"nativeSrc":"10270:11:22","nodeType":"YulFunctionCall","src":"10270:11:22"},"variableNames":[{"name":"m1","nativeSrc":"10264:2:22","nodeType":"YulIdentifier","src":"10264:2:22"}]},{"nativeSrc":"10294:17:22","nodeType":"YulAssignment","src":"10294:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10306:4:22","nodeType":"YulLiteral","src":"10306:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10300:5:22","nodeType":"YulIdentifier","src":"10300:5:22"},"nativeSrc":"10300:11:22","nodeType":"YulFunctionCall","src":"10300:11:22"},"variableNames":[{"name":"m2","nativeSrc":"10294:2:22","nodeType":"YulIdentifier","src":"10294:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10376:4:22","nodeType":"YulLiteral","src":"10376:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"10382:10:22","nodeType":"YulLiteral","src":"10382:10:22","type":"","value":"0x2a110e83"}],"functionName":{"name":"mstore","nativeSrc":"10369:6:22","nodeType":"YulIdentifier","src":"10369:6:22"},"nativeSrc":"10369:24:22","nodeType":"YulFunctionCall","src":"10369:24:22"},"nativeSrc":"10369:24:22","nodeType":"YulExpressionStatement","src":"10369:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10413:4:22","nodeType":"YulLiteral","src":"10413:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"10419:2:22","nodeType":"YulIdentifier","src":"10419:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10406:6:22","nodeType":"YulIdentifier","src":"10406:6:22"},"nativeSrc":"10406:16:22","nodeType":"YulFunctionCall","src":"10406:16:22"},"nativeSrc":"10406:16:22","nodeType":"YulExpressionStatement","src":"10406:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10442:4:22","nodeType":"YulLiteral","src":"10442:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"10448:2:22","nodeType":"YulIdentifier","src":"10448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10435:6:22","nodeType":"YulIdentifier","src":"10435:6:22"},"nativeSrc":"10435:16:22","nodeType":"YulFunctionCall","src":"10435:16:22"},"nativeSrc":"10435:16:22","nodeType":"YulExpressionStatement","src":"10435:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31743,"isOffset":false,"isSlot":false,"src":"10234:2:22","valueSize":1},{"declaration":31746,"isOffset":false,"isSlot":false,"src":"10264:2:22","valueSize":1},{"declaration":31749,"isOffset":false,"isSlot":false,"src":"10294:2:22","valueSize":1},{"declaration":31737,"isOffset":false,"isSlot":false,"src":"10419:2:22","valueSize":1},{"declaration":31739,"isOffset":false,"isSlot":false,"src":"10448:2:22","valueSize":1}],"id":31751,"nodeType":"InlineAssembly","src":"10211:250:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10486:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10492:4:22","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":31752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"10470:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10470:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31756,"nodeType":"ExpressionStatement","src":"10470:27:22"},{"AST":{"nativeSrc":"10559:98:22","nodeType":"YulBlock","src":"10559:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"10580:4:22","nodeType":"YulLiteral","src":"10580:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"10586:2:22","nodeType":"YulIdentifier","src":"10586:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10573:6:22","nodeType":"YulIdentifier","src":"10573:6:22"},"nativeSrc":"10573:16:22","nodeType":"YulFunctionCall","src":"10573:16:22"},"nativeSrc":"10573:16:22","nodeType":"YulExpressionStatement","src":"10573:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10609:4:22","nodeType":"YulLiteral","src":"10609:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"10615:2:22","nodeType":"YulIdentifier","src":"10615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10602:6:22","nodeType":"YulIdentifier","src":"10602:6:22"},"nativeSrc":"10602:16:22","nodeType":"YulFunctionCall","src":"10602:16:22"},"nativeSrc":"10602:16:22","nodeType":"YulExpressionStatement","src":"10602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10638:4:22","nodeType":"YulLiteral","src":"10638:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10644:2:22","nodeType":"YulIdentifier","src":"10644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"10631:6:22","nodeType":"YulIdentifier","src":"10631:6:22"},"nativeSrc":"10631:16:22","nodeType":"YulFunctionCall","src":"10631:16:22"},"nativeSrc":"10631:16:22","nodeType":"YulExpressionStatement","src":"10631:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31743,"isOffset":false,"isSlot":false,"src":"10586:2:22","valueSize":1},{"declaration":31746,"isOffset":false,"isSlot":false,"src":"10615:2:22","valueSize":1},{"declaration":31749,"isOffset":false,"isSlot":false,"src":"10644:2:22","valueSize":1}],"id":31757,"nodeType":"InlineAssembly","src":"10550:107:22"}]},"id":31759,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10062:3:22","nodeType":"FunctionDefinition","parameters":{"id":31740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31737,"mutability":"mutable","name":"p0","nameLocation":"10071:2:22","nodeType":"VariableDeclaration","scope":31759,"src":"10066:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31736,"name":"bool","nodeType":"ElementaryTypeName","src":"10066:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31739,"mutability":"mutable","name":"p1","nameLocation":"10080:2:22","nodeType":"VariableDeclaration","scope":31759,"src":"10075:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31738,"name":"bool","nodeType":"ElementaryTypeName","src":"10075:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10065:18:22"},"returnParameters":{"id":31741,"nodeType":"ParameterList","parameters":[],"src":"10098:0:22"},"scope":44426,"src":"10053:610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31782,"nodeType":"Block","src":"10717:568:22","statements":[{"assignments":[31767],"declarations":[{"constant":false,"id":31767,"mutability":"mutable","name":"m0","nameLocation":"10735:2:22","nodeType":"VariableDeclaration","scope":31782,"src":"10727:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10727:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31768,"nodeType":"VariableDeclarationStatement","src":"10727:10:22"},{"assignments":[31770],"declarations":[{"constant":false,"id":31770,"mutability":"mutable","name":"m1","nameLocation":"10755:2:22","nodeType":"VariableDeclaration","scope":31782,"src":"10747:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10747:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31771,"nodeType":"VariableDeclarationStatement","src":"10747:10:22"},{"assignments":[31773],"declarations":[{"constant":false,"id":31773,"mutability":"mutable","name":"m2","nameLocation":"10775:2:22","nodeType":"VariableDeclaration","scope":31782,"src":"10767:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10767:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31774,"nodeType":"VariableDeclarationStatement","src":"10767:10:22"},{"AST":{"nativeSrc":"10839:244:22","nodeType":"YulBlock","src":"10839:244:22","statements":[{"nativeSrc":"10853:17:22","nodeType":"YulAssignment","src":"10853:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10865:4:22","nodeType":"YulLiteral","src":"10865:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10859:5:22","nodeType":"YulIdentifier","src":"10859:5:22"},"nativeSrc":"10859:11:22","nodeType":"YulFunctionCall","src":"10859:11:22"},"variableNames":[{"name":"m0","nativeSrc":"10853:2:22","nodeType":"YulIdentifier","src":"10853:2:22"}]},{"nativeSrc":"10883:17:22","nodeType":"YulAssignment","src":"10883:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10895:4:22","nodeType":"YulLiteral","src":"10895:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10889:5:22","nodeType":"YulIdentifier","src":"10889:5:22"},"nativeSrc":"10889:11:22","nodeType":"YulFunctionCall","src":"10889:11:22"},"variableNames":[{"name":"m1","nativeSrc":"10883:2:22","nodeType":"YulIdentifier","src":"10883:2:22"}]},{"nativeSrc":"10913:17:22","nodeType":"YulAssignment","src":"10913:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"10925:4:22","nodeType":"YulLiteral","src":"10925:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10919:5:22","nodeType":"YulIdentifier","src":"10919:5:22"},"nativeSrc":"10919:11:22","nodeType":"YulFunctionCall","src":"10919:11:22"},"variableNames":[{"name":"m2","nativeSrc":"10913:2:22","nodeType":"YulIdentifier","src":"10913:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10998:4:22","nodeType":"YulLiteral","src":"10998:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"11004:10:22","nodeType":"YulLiteral","src":"11004:10:22","type":"","value":"0x399174d3"}],"functionName":{"name":"mstore","nativeSrc":"10991:6:22","nodeType":"YulIdentifier","src":"10991:6:22"},"nativeSrc":"10991:24:22","nodeType":"YulFunctionCall","src":"10991:24:22"},"nativeSrc":"10991:24:22","nodeType":"YulExpressionStatement","src":"10991:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11035:4:22","nodeType":"YulLiteral","src":"11035:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"11041:2:22","nodeType":"YulIdentifier","src":"11041:2:22"}],"functionName":{"name":"mstore","nativeSrc":"11028:6:22","nodeType":"YulIdentifier","src":"11028:6:22"},"nativeSrc":"11028:16:22","nodeType":"YulFunctionCall","src":"11028:16:22"},"nativeSrc":"11028:16:22","nodeType":"YulExpressionStatement","src":"11028:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11064:4:22","nodeType":"YulLiteral","src":"11064:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"11070:2:22","nodeType":"YulIdentifier","src":"11070:2:22"}],"functionName":{"name":"mstore","nativeSrc":"11057:6:22","nodeType":"YulIdentifier","src":"11057:6:22"},"nativeSrc":"11057:16:22","nodeType":"YulFunctionCall","src":"11057:16:22"},"nativeSrc":"11057:16:22","nodeType":"YulExpressionStatement","src":"11057:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31767,"isOffset":false,"isSlot":false,"src":"10853:2:22","valueSize":1},{"declaration":31770,"isOffset":false,"isSlot":false,"src":"10883:2:22","valueSize":1},{"declaration":31773,"isOffset":false,"isSlot":false,"src":"10913:2:22","valueSize":1},{"declaration":31761,"isOffset":false,"isSlot":false,"src":"11041:2:22","valueSize":1},{"declaration":31763,"isOffset":false,"isSlot":false,"src":"11070:2:22","valueSize":1}],"id":31775,"nodeType":"InlineAssembly","src":"10830:253:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11108:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11114:4:22","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":31776,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"11092:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11092:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31780,"nodeType":"ExpressionStatement","src":"11092:27:22"},{"AST":{"nativeSrc":"11181:98:22","nodeType":"YulBlock","src":"11181:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"11202:4:22","nodeType":"YulLiteral","src":"11202:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"11208:2:22","nodeType":"YulIdentifier","src":"11208:2:22"}],"functionName":{"name":"mstore","nativeSrc":"11195:6:22","nodeType":"YulIdentifier","src":"11195:6:22"},"nativeSrc":"11195:16:22","nodeType":"YulFunctionCall","src":"11195:16:22"},"nativeSrc":"11195:16:22","nodeType":"YulExpressionStatement","src":"11195:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11231:4:22","nodeType":"YulLiteral","src":"11231:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"11237:2:22","nodeType":"YulIdentifier","src":"11237:2:22"}],"functionName":{"name":"mstore","nativeSrc":"11224:6:22","nodeType":"YulIdentifier","src":"11224:6:22"},"nativeSrc":"11224:16:22","nodeType":"YulFunctionCall","src":"11224:16:22"},"nativeSrc":"11224:16:22","nodeType":"YulExpressionStatement","src":"11224:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11260:4:22","nodeType":"YulLiteral","src":"11260:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"11266:2:22","nodeType":"YulIdentifier","src":"11266:2:22"}],"functionName":{"name":"mstore","nativeSrc":"11253:6:22","nodeType":"YulIdentifier","src":"11253:6:22"},"nativeSrc":"11253:16:22","nodeType":"YulFunctionCall","src":"11253:16:22"},"nativeSrc":"11253:16:22","nodeType":"YulExpressionStatement","src":"11253:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31767,"isOffset":false,"isSlot":false,"src":"11208:2:22","valueSize":1},{"declaration":31770,"isOffset":false,"isSlot":false,"src":"11237:2:22","valueSize":1},{"declaration":31773,"isOffset":false,"isSlot":false,"src":"11266:2:22","valueSize":1}],"id":31781,"nodeType":"InlineAssembly","src":"11172:107:22"}]},"id":31783,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10678:3:22","nodeType":"FunctionDefinition","parameters":{"id":31764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31761,"mutability":"mutable","name":"p0","nameLocation":"10687:2:22","nodeType":"VariableDeclaration","scope":31783,"src":"10682:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31760,"name":"bool","nodeType":"ElementaryTypeName","src":"10682:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31763,"mutability":"mutable","name":"p1","nameLocation":"10699:2:22","nodeType":"VariableDeclaration","scope":31783,"src":"10691:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31762,"name":"uint256","nodeType":"ElementaryTypeName","src":"10691:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10681:21:22"},"returnParameters":{"id":31765,"nodeType":"ParameterList","parameters":[],"src":"10717:0:22"},"scope":44426,"src":"10669:616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31812,"nodeType":"Block","src":"11339:1116:22","statements":[{"assignments":[31791],"declarations":[{"constant":false,"id":31791,"mutability":"mutable","name":"m0","nameLocation":"11357:2:22","nodeType":"VariableDeclaration","scope":31812,"src":"11349:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11349:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31792,"nodeType":"VariableDeclarationStatement","src":"11349:10:22"},{"assignments":[31794],"declarations":[{"constant":false,"id":31794,"mutability":"mutable","name":"m1","nameLocation":"11377:2:22","nodeType":"VariableDeclaration","scope":31812,"src":"11369:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11369:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31795,"nodeType":"VariableDeclarationStatement","src":"11369:10:22"},{"assignments":[31797],"declarations":[{"constant":false,"id":31797,"mutability":"mutable","name":"m2","nameLocation":"11397:2:22","nodeType":"VariableDeclaration","scope":31812,"src":"11389:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11389:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31798,"nodeType":"VariableDeclarationStatement","src":"11389:10:22"},{"assignments":[31800],"declarations":[{"constant":false,"id":31800,"mutability":"mutable","name":"m3","nameLocation":"11417:2:22","nodeType":"VariableDeclaration","scope":31812,"src":"11409:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11409:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31801,"nodeType":"VariableDeclarationStatement","src":"11409:10:22"},{"assignments":[31803],"declarations":[{"constant":false,"id":31803,"mutability":"mutable","name":"m4","nameLocation":"11437:2:22","nodeType":"VariableDeclaration","scope":31812,"src":"11429:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11429:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31804,"nodeType":"VariableDeclarationStatement","src":"11429:10:22"},{"AST":{"nativeSrc":"11501:694:22","nodeType":"YulBlock","src":"11501:694:22","statements":[{"body":{"nativeSrc":"11544:313:22","nodeType":"YulBlock","src":"11544:313:22","statements":[{"nativeSrc":"11562:15:22","nodeType":"YulVariableDeclaration","src":"11562:15:22","value":{"kind":"number","nativeSrc":"11576:1:22","nodeType":"YulLiteral","src":"11576:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"11566:6:22","nodeType":"YulTypedName","src":"11566:6:22","type":""}]},{"body":{"nativeSrc":"11647:40:22","nodeType":"YulBlock","src":"11647:40:22","statements":[{"body":{"nativeSrc":"11676:9:22","nodeType":"YulBlock","src":"11676:9:22","statements":[{"nativeSrc":"11678:5:22","nodeType":"YulBreak","src":"11678:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"11664:6:22","nodeType":"YulIdentifier","src":"11664:6:22"},{"name":"w","nativeSrc":"11672:1:22","nodeType":"YulIdentifier","src":"11672:1:22"}],"functionName":{"name":"byte","nativeSrc":"11659:4:22","nodeType":"YulIdentifier","src":"11659:4:22"},"nativeSrc":"11659:15:22","nodeType":"YulFunctionCall","src":"11659:15:22"}],"functionName":{"name":"iszero","nativeSrc":"11652:6:22","nodeType":"YulIdentifier","src":"11652:6:22"},"nativeSrc":"11652:23:22","nodeType":"YulFunctionCall","src":"11652:23:22"},"nativeSrc":"11649:36:22","nodeType":"YulIf","src":"11649:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"11604:6:22","nodeType":"YulIdentifier","src":"11604:6:22"},{"kind":"number","nativeSrc":"11612:4:22","nodeType":"YulLiteral","src":"11612:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"11601:2:22","nodeType":"YulIdentifier","src":"11601:2:22"},"nativeSrc":"11601:16:22","nodeType":"YulFunctionCall","src":"11601:16:22"},"nativeSrc":"11594:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"11618:28:22","nodeType":"YulBlock","src":"11618:28:22","statements":[{"nativeSrc":"11620:24:22","nodeType":"YulAssignment","src":"11620:24:22","value":{"arguments":[{"name":"length","nativeSrc":"11634:6:22","nodeType":"YulIdentifier","src":"11634:6:22"},{"kind":"number","nativeSrc":"11642:1:22","nodeType":"YulLiteral","src":"11642:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"11630:3:22","nodeType":"YulIdentifier","src":"11630:3:22"},"nativeSrc":"11630:14:22","nodeType":"YulFunctionCall","src":"11630:14:22"},"variableNames":[{"name":"length","nativeSrc":"11620:6:22","nodeType":"YulIdentifier","src":"11620:6:22"}]}]},"pre":{"nativeSrc":"11598:2:22","nodeType":"YulBlock","src":"11598:2:22","statements":[]},"src":"11594:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"11711:3:22","nodeType":"YulIdentifier","src":"11711:3:22"},{"name":"length","nativeSrc":"11716:6:22","nodeType":"YulIdentifier","src":"11716:6:22"}],"functionName":{"name":"mstore","nativeSrc":"11704:6:22","nodeType":"YulIdentifier","src":"11704:6:22"},"nativeSrc":"11704:19:22","nodeType":"YulFunctionCall","src":"11704:19:22"},"nativeSrc":"11704:19:22","nodeType":"YulExpressionStatement","src":"11704:19:22"},{"nativeSrc":"11740:37:22","nodeType":"YulVariableDeclaration","src":"11740:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"11757:3:22","nodeType":"YulLiteral","src":"11757:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"11766:1:22","nodeType":"YulLiteral","src":"11766:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"11769:6:22","nodeType":"YulIdentifier","src":"11769:6:22"}],"functionName":{"name":"shl","nativeSrc":"11762:3:22","nodeType":"YulIdentifier","src":"11762:3:22"},"nativeSrc":"11762:14:22","nodeType":"YulFunctionCall","src":"11762:14:22"}],"functionName":{"name":"sub","nativeSrc":"11753:3:22","nodeType":"YulIdentifier","src":"11753:3:22"},"nativeSrc":"11753:24:22","nodeType":"YulFunctionCall","src":"11753:24:22"},"variables":[{"name":"shift","nativeSrc":"11744:5:22","nodeType":"YulTypedName","src":"11744:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"11805:3:22","nodeType":"YulIdentifier","src":"11805:3:22"},{"kind":"number","nativeSrc":"11810:4:22","nodeType":"YulLiteral","src":"11810:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"11801:3:22","nodeType":"YulIdentifier","src":"11801:3:22"},"nativeSrc":"11801:14:22","nodeType":"YulFunctionCall","src":"11801:14:22"},{"arguments":[{"name":"shift","nativeSrc":"11821:5:22","nodeType":"YulIdentifier","src":"11821:5:22"},{"arguments":[{"name":"shift","nativeSrc":"11832:5:22","nodeType":"YulIdentifier","src":"11832:5:22"},{"name":"w","nativeSrc":"11839:1:22","nodeType":"YulIdentifier","src":"11839:1:22"}],"functionName":{"name":"shr","nativeSrc":"11828:3:22","nodeType":"YulIdentifier","src":"11828:3:22"},"nativeSrc":"11828:13:22","nodeType":"YulFunctionCall","src":"11828:13:22"}],"functionName":{"name":"shl","nativeSrc":"11817:3:22","nodeType":"YulIdentifier","src":"11817:3:22"},"nativeSrc":"11817:25:22","nodeType":"YulFunctionCall","src":"11817:25:22"}],"functionName":{"name":"mstore","nativeSrc":"11794:6:22","nodeType":"YulIdentifier","src":"11794:6:22"},"nativeSrc":"11794:49:22","nodeType":"YulFunctionCall","src":"11794:49:22"},"nativeSrc":"11794:49:22","nodeType":"YulExpressionStatement","src":"11794:49:22"}]},"name":"writeString","nativeSrc":"11515:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"11536:3:22","nodeType":"YulTypedName","src":"11536:3:22","type":""},{"name":"w","nativeSrc":"11541:1:22","nodeType":"YulTypedName","src":"11541:1:22","type":""}],"src":"11515:342:22"},{"nativeSrc":"11870:17:22","nodeType":"YulAssignment","src":"11870:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"11882:4:22","nodeType":"YulLiteral","src":"11882:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"11876:5:22","nodeType":"YulIdentifier","src":"11876:5:22"},"nativeSrc":"11876:11:22","nodeType":"YulFunctionCall","src":"11876:11:22"},"variableNames":[{"name":"m0","nativeSrc":"11870:2:22","nodeType":"YulIdentifier","src":"11870:2:22"}]},{"nativeSrc":"11900:17:22","nodeType":"YulAssignment","src":"11900:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"11912:4:22","nodeType":"YulLiteral","src":"11912:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"11906:5:22","nodeType":"YulIdentifier","src":"11906:5:22"},"nativeSrc":"11906:11:22","nodeType":"YulFunctionCall","src":"11906:11:22"},"variableNames":[{"name":"m1","nativeSrc":"11900:2:22","nodeType":"YulIdentifier","src":"11900:2:22"}]},{"nativeSrc":"11930:17:22","nodeType":"YulAssignment","src":"11930:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"11942:4:22","nodeType":"YulLiteral","src":"11942:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"11936:5:22","nodeType":"YulIdentifier","src":"11936:5:22"},"nativeSrc":"11936:11:22","nodeType":"YulFunctionCall","src":"11936:11:22"},"variableNames":[{"name":"m2","nativeSrc":"11930:2:22","nodeType":"YulIdentifier","src":"11930:2:22"}]},{"nativeSrc":"11960:17:22","nodeType":"YulAssignment","src":"11960:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"11972:4:22","nodeType":"YulLiteral","src":"11972:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"11966:5:22","nodeType":"YulIdentifier","src":"11966:5:22"},"nativeSrc":"11966:11:22","nodeType":"YulFunctionCall","src":"11966:11:22"},"variableNames":[{"name":"m3","nativeSrc":"11960:2:22","nodeType":"YulIdentifier","src":"11960:2:22"}]},{"nativeSrc":"11990:17:22","nodeType":"YulAssignment","src":"11990:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"12002:4:22","nodeType":"YulLiteral","src":"12002:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"11996:5:22","nodeType":"YulIdentifier","src":"11996:5:22"},"nativeSrc":"11996:11:22","nodeType":"YulFunctionCall","src":"11996:11:22"},"variableNames":[{"name":"m4","nativeSrc":"11990:2:22","nodeType":"YulIdentifier","src":"11990:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12074:4:22","nodeType":"YulLiteral","src":"12074:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12080:10:22","nodeType":"YulLiteral","src":"12080:10:22","type":"","value":"0x8feac525"}],"functionName":{"name":"mstore","nativeSrc":"12067:6:22","nodeType":"YulIdentifier","src":"12067:6:22"},"nativeSrc":"12067:24:22","nodeType":"YulFunctionCall","src":"12067:24:22"},"nativeSrc":"12067:24:22","nodeType":"YulExpressionStatement","src":"12067:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12111:4:22","nodeType":"YulLiteral","src":"12111:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12117:2:22","nodeType":"YulIdentifier","src":"12117:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12104:6:22","nodeType":"YulIdentifier","src":"12104:6:22"},"nativeSrc":"12104:16:22","nodeType":"YulFunctionCall","src":"12104:16:22"},"nativeSrc":"12104:16:22","nodeType":"YulExpressionStatement","src":"12104:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12140:4:22","nodeType":"YulLiteral","src":"12140:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"12146:4:22","nodeType":"YulLiteral","src":"12146:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"12133:6:22","nodeType":"YulIdentifier","src":"12133:6:22"},"nativeSrc":"12133:18:22","nodeType":"YulFunctionCall","src":"12133:18:22"},"nativeSrc":"12133:18:22","nodeType":"YulExpressionStatement","src":"12133:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12176:4:22","nodeType":"YulLiteral","src":"12176:4:22","type":"","value":"0x60"},{"name":"p1","nativeSrc":"12182:2:22","nodeType":"YulIdentifier","src":"12182:2:22"}],"functionName":{"name":"writeString","nativeSrc":"12164:11:22","nodeType":"YulIdentifier","src":"12164:11:22"},"nativeSrc":"12164:21:22","nodeType":"YulFunctionCall","src":"12164:21:22"},"nativeSrc":"12164:21:22","nodeType":"YulExpressionStatement","src":"12164:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31791,"isOffset":false,"isSlot":false,"src":"11870:2:22","valueSize":1},{"declaration":31794,"isOffset":false,"isSlot":false,"src":"11900:2:22","valueSize":1},{"declaration":31797,"isOffset":false,"isSlot":false,"src":"11930:2:22","valueSize":1},{"declaration":31800,"isOffset":false,"isSlot":false,"src":"11960:2:22","valueSize":1},{"declaration":31803,"isOffset":false,"isSlot":false,"src":"11990:2:22","valueSize":1},{"declaration":31785,"isOffset":false,"isSlot":false,"src":"12117:2:22","valueSize":1},{"declaration":31787,"isOffset":false,"isSlot":false,"src":"12182:2:22","valueSize":1}],"id":31805,"nodeType":"InlineAssembly","src":"11492:703:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12220:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12226:4:22","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":31806,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"12204:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12204:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31810,"nodeType":"ExpressionStatement","src":"12204:27:22"},{"AST":{"nativeSrc":"12293:156:22","nodeType":"YulBlock","src":"12293:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"12314:4:22","nodeType":"YulLiteral","src":"12314:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"12320:2:22","nodeType":"YulIdentifier","src":"12320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12307:6:22","nodeType":"YulIdentifier","src":"12307:6:22"},"nativeSrc":"12307:16:22","nodeType":"YulFunctionCall","src":"12307:16:22"},"nativeSrc":"12307:16:22","nodeType":"YulExpressionStatement","src":"12307:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12343:4:22","nodeType":"YulLiteral","src":"12343:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"12349:2:22","nodeType":"YulIdentifier","src":"12349:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12336:6:22","nodeType":"YulIdentifier","src":"12336:6:22"},"nativeSrc":"12336:16:22","nodeType":"YulFunctionCall","src":"12336:16:22"},"nativeSrc":"12336:16:22","nodeType":"YulExpressionStatement","src":"12336:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12372:4:22","nodeType":"YulLiteral","src":"12372:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"12378:2:22","nodeType":"YulIdentifier","src":"12378:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12365:6:22","nodeType":"YulIdentifier","src":"12365:6:22"},"nativeSrc":"12365:16:22","nodeType":"YulFunctionCall","src":"12365:16:22"},"nativeSrc":"12365:16:22","nodeType":"YulExpressionStatement","src":"12365:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12401:4:22","nodeType":"YulLiteral","src":"12401:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"12407:2:22","nodeType":"YulIdentifier","src":"12407:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12394:6:22","nodeType":"YulIdentifier","src":"12394:6:22"},"nativeSrc":"12394:16:22","nodeType":"YulFunctionCall","src":"12394:16:22"},"nativeSrc":"12394:16:22","nodeType":"YulExpressionStatement","src":"12394:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12430:4:22","nodeType":"YulLiteral","src":"12430:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"12436:2:22","nodeType":"YulIdentifier","src":"12436:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12423:6:22","nodeType":"YulIdentifier","src":"12423:6:22"},"nativeSrc":"12423:16:22","nodeType":"YulFunctionCall","src":"12423:16:22"},"nativeSrc":"12423:16:22","nodeType":"YulExpressionStatement","src":"12423:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31791,"isOffset":false,"isSlot":false,"src":"12320:2:22","valueSize":1},{"declaration":31794,"isOffset":false,"isSlot":false,"src":"12349:2:22","valueSize":1},{"declaration":31797,"isOffset":false,"isSlot":false,"src":"12378:2:22","valueSize":1},{"declaration":31800,"isOffset":false,"isSlot":false,"src":"12407:2:22","valueSize":1},{"declaration":31803,"isOffset":false,"isSlot":false,"src":"12436:2:22","valueSize":1}],"id":31811,"nodeType":"InlineAssembly","src":"12284:165:22"}]},"id":31813,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11300:3:22","nodeType":"FunctionDefinition","parameters":{"id":31788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31785,"mutability":"mutable","name":"p0","nameLocation":"11309:2:22","nodeType":"VariableDeclaration","scope":31813,"src":"11304:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31784,"name":"bool","nodeType":"ElementaryTypeName","src":"11304:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31787,"mutability":"mutable","name":"p1","nameLocation":"11321:2:22","nodeType":"VariableDeclaration","scope":31813,"src":"11313:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11313:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11303:21:22"},"returnParameters":{"id":31789,"nodeType":"ParameterList","parameters":[],"src":"11339:0:22"},"scope":44426,"src":"11291:1164:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31836,"nodeType":"Block","src":"12512:571:22","statements":[{"assignments":[31821],"declarations":[{"constant":false,"id":31821,"mutability":"mutable","name":"m0","nameLocation":"12530:2:22","nodeType":"VariableDeclaration","scope":31836,"src":"12522:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12522:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31822,"nodeType":"VariableDeclarationStatement","src":"12522:10:22"},{"assignments":[31824],"declarations":[{"constant":false,"id":31824,"mutability":"mutable","name":"m1","nameLocation":"12550:2:22","nodeType":"VariableDeclaration","scope":31836,"src":"12542:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12542:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31825,"nodeType":"VariableDeclarationStatement","src":"12542:10:22"},{"assignments":[31827],"declarations":[{"constant":false,"id":31827,"mutability":"mutable","name":"m2","nameLocation":"12570:2:22","nodeType":"VariableDeclaration","scope":31836,"src":"12562:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12562:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31828,"nodeType":"VariableDeclarationStatement","src":"12562:10:22"},{"AST":{"nativeSrc":"12634:247:22","nodeType":"YulBlock","src":"12634:247:22","statements":[{"nativeSrc":"12648:17:22","nodeType":"YulAssignment","src":"12648:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"12660:4:22","nodeType":"YulLiteral","src":"12660:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"12654:5:22","nodeType":"YulIdentifier","src":"12654:5:22"},"nativeSrc":"12654:11:22","nodeType":"YulFunctionCall","src":"12654:11:22"},"variableNames":[{"name":"m0","nativeSrc":"12648:2:22","nodeType":"YulIdentifier","src":"12648:2:22"}]},{"nativeSrc":"12678:17:22","nodeType":"YulAssignment","src":"12678:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"12690:4:22","nodeType":"YulLiteral","src":"12690:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"12684:5:22","nodeType":"YulIdentifier","src":"12684:5:22"},"nativeSrc":"12684:11:22","nodeType":"YulFunctionCall","src":"12684:11:22"},"variableNames":[{"name":"m1","nativeSrc":"12678:2:22","nodeType":"YulIdentifier","src":"12678:2:22"}]},{"nativeSrc":"12708:17:22","nodeType":"YulAssignment","src":"12708:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"12720:4:22","nodeType":"YulLiteral","src":"12720:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"12714:5:22","nodeType":"YulIdentifier","src":"12714:5:22"},"nativeSrc":"12714:11:22","nodeType":"YulFunctionCall","src":"12714:11:22"},"variableNames":[{"name":"m2","nativeSrc":"12708:2:22","nodeType":"YulIdentifier","src":"12708:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12796:4:22","nodeType":"YulLiteral","src":"12796:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12802:10:22","nodeType":"YulLiteral","src":"12802:10:22","type":"","value":"0x69276c86"}],"functionName":{"name":"mstore","nativeSrc":"12789:6:22","nodeType":"YulIdentifier","src":"12789:6:22"},"nativeSrc":"12789:24:22","nodeType":"YulFunctionCall","src":"12789:24:22"},"nativeSrc":"12789:24:22","nodeType":"YulExpressionStatement","src":"12789:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12833:4:22","nodeType":"YulLiteral","src":"12833:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12839:2:22","nodeType":"YulIdentifier","src":"12839:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12826:6:22","nodeType":"YulIdentifier","src":"12826:6:22"},"nativeSrc":"12826:16:22","nodeType":"YulFunctionCall","src":"12826:16:22"},"nativeSrc":"12826:16:22","nodeType":"YulExpressionStatement","src":"12826:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12862:4:22","nodeType":"YulLiteral","src":"12862:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"12868:2:22","nodeType":"YulIdentifier","src":"12868:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12855:6:22","nodeType":"YulIdentifier","src":"12855:6:22"},"nativeSrc":"12855:16:22","nodeType":"YulFunctionCall","src":"12855:16:22"},"nativeSrc":"12855:16:22","nodeType":"YulExpressionStatement","src":"12855:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31821,"isOffset":false,"isSlot":false,"src":"12648:2:22","valueSize":1},{"declaration":31824,"isOffset":false,"isSlot":false,"src":"12678:2:22","valueSize":1},{"declaration":31827,"isOffset":false,"isSlot":false,"src":"12708:2:22","valueSize":1},{"declaration":31815,"isOffset":false,"isSlot":false,"src":"12839:2:22","valueSize":1},{"declaration":31817,"isOffset":false,"isSlot":false,"src":"12868:2:22","valueSize":1}],"id":31829,"nodeType":"InlineAssembly","src":"12625:256:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12906:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12912:4:22","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":31830,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"12890:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12890:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31834,"nodeType":"ExpressionStatement","src":"12890:27:22"},{"AST":{"nativeSrc":"12979:98:22","nodeType":"YulBlock","src":"12979:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13000:4:22","nodeType":"YulLiteral","src":"13000:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13006:2:22","nodeType":"YulIdentifier","src":"13006:2:22"}],"functionName":{"name":"mstore","nativeSrc":"12993:6:22","nodeType":"YulIdentifier","src":"12993:6:22"},"nativeSrc":"12993:16:22","nodeType":"YulFunctionCall","src":"12993:16:22"},"nativeSrc":"12993:16:22","nodeType":"YulExpressionStatement","src":"12993:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13029:4:22","nodeType":"YulLiteral","src":"13029:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13035:2:22","nodeType":"YulIdentifier","src":"13035:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13022:6:22","nodeType":"YulIdentifier","src":"13022:6:22"},"nativeSrc":"13022:16:22","nodeType":"YulFunctionCall","src":"13022:16:22"},"nativeSrc":"13022:16:22","nodeType":"YulExpressionStatement","src":"13022:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13058:4:22","nodeType":"YulLiteral","src":"13058:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13064:2:22","nodeType":"YulIdentifier","src":"13064:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13051:6:22","nodeType":"YulIdentifier","src":"13051:6:22"},"nativeSrc":"13051:16:22","nodeType":"YulFunctionCall","src":"13051:16:22"},"nativeSrc":"13051:16:22","nodeType":"YulExpressionStatement","src":"13051:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31821,"isOffset":false,"isSlot":false,"src":"13006:2:22","valueSize":1},{"declaration":31824,"isOffset":false,"isSlot":false,"src":"13035:2:22","valueSize":1},{"declaration":31827,"isOffset":false,"isSlot":false,"src":"13064:2:22","valueSize":1}],"id":31835,"nodeType":"InlineAssembly","src":"12970:107:22"}]},"id":31837,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12470:3:22","nodeType":"FunctionDefinition","parameters":{"id":31818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31815,"mutability":"mutable","name":"p0","nameLocation":"12482:2:22","nodeType":"VariableDeclaration","scope":31837,"src":"12474:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31814,"name":"uint256","nodeType":"ElementaryTypeName","src":"12474:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31817,"mutability":"mutable","name":"p1","nameLocation":"12494:2:22","nodeType":"VariableDeclaration","scope":31837,"src":"12486:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31816,"name":"address","nodeType":"ElementaryTypeName","src":"12486:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12473:24:22"},"returnParameters":{"id":31819,"nodeType":"ParameterList","parameters":[],"src":"12512:0:22"},"scope":44426,"src":"12461:622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31860,"nodeType":"Block","src":"13137:568:22","statements":[{"assignments":[31845],"declarations":[{"constant":false,"id":31845,"mutability":"mutable","name":"m0","nameLocation":"13155:2:22","nodeType":"VariableDeclaration","scope":31860,"src":"13147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31846,"nodeType":"VariableDeclarationStatement","src":"13147:10:22"},{"assignments":[31848],"declarations":[{"constant":false,"id":31848,"mutability":"mutable","name":"m1","nameLocation":"13175:2:22","nodeType":"VariableDeclaration","scope":31860,"src":"13167:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13167:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31849,"nodeType":"VariableDeclarationStatement","src":"13167:10:22"},{"assignments":[31851],"declarations":[{"constant":false,"id":31851,"mutability":"mutable","name":"m2","nameLocation":"13195:2:22","nodeType":"VariableDeclaration","scope":31860,"src":"13187:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13187:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31852,"nodeType":"VariableDeclarationStatement","src":"13187:10:22"},{"AST":{"nativeSrc":"13259:244:22","nodeType":"YulBlock","src":"13259:244:22","statements":[{"nativeSrc":"13273:17:22","nodeType":"YulAssignment","src":"13273:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13285:4:22","nodeType":"YulLiteral","src":"13285:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13279:5:22","nodeType":"YulIdentifier","src":"13279:5:22"},"nativeSrc":"13279:11:22","nodeType":"YulFunctionCall","src":"13279:11:22"},"variableNames":[{"name":"m0","nativeSrc":"13273:2:22","nodeType":"YulIdentifier","src":"13273:2:22"}]},{"nativeSrc":"13303:17:22","nodeType":"YulAssignment","src":"13303:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13315:4:22","nodeType":"YulLiteral","src":"13315:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13309:5:22","nodeType":"YulIdentifier","src":"13309:5:22"},"nativeSrc":"13309:11:22","nodeType":"YulFunctionCall","src":"13309:11:22"},"variableNames":[{"name":"m1","nativeSrc":"13303:2:22","nodeType":"YulIdentifier","src":"13303:2:22"}]},{"nativeSrc":"13333:17:22","nodeType":"YulAssignment","src":"13333:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13345:4:22","nodeType":"YulLiteral","src":"13345:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13339:5:22","nodeType":"YulIdentifier","src":"13339:5:22"},"nativeSrc":"13339:11:22","nodeType":"YulFunctionCall","src":"13339:11:22"},"variableNames":[{"name":"m2","nativeSrc":"13333:2:22","nodeType":"YulIdentifier","src":"13333:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13418:4:22","nodeType":"YulLiteral","src":"13418:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"13424:10:22","nodeType":"YulLiteral","src":"13424:10:22","type":"","value":"0x1c9d7eb3"}],"functionName":{"name":"mstore","nativeSrc":"13411:6:22","nodeType":"YulIdentifier","src":"13411:6:22"},"nativeSrc":"13411:24:22","nodeType":"YulFunctionCall","src":"13411:24:22"},"nativeSrc":"13411:24:22","nodeType":"YulExpressionStatement","src":"13411:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13455:4:22","nodeType":"YulLiteral","src":"13455:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"13461:2:22","nodeType":"YulIdentifier","src":"13461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13448:6:22","nodeType":"YulIdentifier","src":"13448:6:22"},"nativeSrc":"13448:16:22","nodeType":"YulFunctionCall","src":"13448:16:22"},"nativeSrc":"13448:16:22","nodeType":"YulExpressionStatement","src":"13448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13484:4:22","nodeType":"YulLiteral","src":"13484:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"13490:2:22","nodeType":"YulIdentifier","src":"13490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13477:6:22","nodeType":"YulIdentifier","src":"13477:6:22"},"nativeSrc":"13477:16:22","nodeType":"YulFunctionCall","src":"13477:16:22"},"nativeSrc":"13477:16:22","nodeType":"YulExpressionStatement","src":"13477:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31845,"isOffset":false,"isSlot":false,"src":"13273:2:22","valueSize":1},{"declaration":31848,"isOffset":false,"isSlot":false,"src":"13303:2:22","valueSize":1},{"declaration":31851,"isOffset":false,"isSlot":false,"src":"13333:2:22","valueSize":1},{"declaration":31839,"isOffset":false,"isSlot":false,"src":"13461:2:22","valueSize":1},{"declaration":31841,"isOffset":false,"isSlot":false,"src":"13490:2:22","valueSize":1}],"id":31853,"nodeType":"InlineAssembly","src":"13250:253:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13528:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13534:4:22","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":31854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"13512:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13512:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31858,"nodeType":"ExpressionStatement","src":"13512:27:22"},{"AST":{"nativeSrc":"13601:98:22","nodeType":"YulBlock","src":"13601:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13622:4:22","nodeType":"YulLiteral","src":"13622:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13628:2:22","nodeType":"YulIdentifier","src":"13628:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13615:6:22","nodeType":"YulIdentifier","src":"13615:6:22"},"nativeSrc":"13615:16:22","nodeType":"YulFunctionCall","src":"13615:16:22"},"nativeSrc":"13615:16:22","nodeType":"YulExpressionStatement","src":"13615:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13651:4:22","nodeType":"YulLiteral","src":"13651:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13657:2:22","nodeType":"YulIdentifier","src":"13657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13644:6:22","nodeType":"YulIdentifier","src":"13644:6:22"},"nativeSrc":"13644:16:22","nodeType":"YulFunctionCall","src":"13644:16:22"},"nativeSrc":"13644:16:22","nodeType":"YulExpressionStatement","src":"13644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13680:4:22","nodeType":"YulLiteral","src":"13680:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13686:2:22","nodeType":"YulIdentifier","src":"13686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"13673:6:22","nodeType":"YulIdentifier","src":"13673:6:22"},"nativeSrc":"13673:16:22","nodeType":"YulFunctionCall","src":"13673:16:22"},"nativeSrc":"13673:16:22","nodeType":"YulExpressionStatement","src":"13673:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31845,"isOffset":false,"isSlot":false,"src":"13628:2:22","valueSize":1},{"declaration":31848,"isOffset":false,"isSlot":false,"src":"13657:2:22","valueSize":1},{"declaration":31851,"isOffset":false,"isSlot":false,"src":"13686:2:22","valueSize":1}],"id":31859,"nodeType":"InlineAssembly","src":"13592:107:22"}]},"id":31861,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13098:3:22","nodeType":"FunctionDefinition","parameters":{"id":31842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31839,"mutability":"mutable","name":"p0","nameLocation":"13110:2:22","nodeType":"VariableDeclaration","scope":31861,"src":"13102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31838,"name":"uint256","nodeType":"ElementaryTypeName","src":"13102:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31841,"mutability":"mutable","name":"p1","nameLocation":"13119:2:22","nodeType":"VariableDeclaration","scope":31861,"src":"13114:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31840,"name":"bool","nodeType":"ElementaryTypeName","src":"13114:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13101:21:22"},"returnParameters":{"id":31843,"nodeType":"ParameterList","parameters":[],"src":"13137:0:22"},"scope":44426,"src":"13089:616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31884,"nodeType":"Block","src":"13762:571:22","statements":[{"assignments":[31869],"declarations":[{"constant":false,"id":31869,"mutability":"mutable","name":"m0","nameLocation":"13780:2:22","nodeType":"VariableDeclaration","scope":31884,"src":"13772:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13772:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31870,"nodeType":"VariableDeclarationStatement","src":"13772:10:22"},{"assignments":[31872],"declarations":[{"constant":false,"id":31872,"mutability":"mutable","name":"m1","nameLocation":"13800:2:22","nodeType":"VariableDeclaration","scope":31884,"src":"13792:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13792:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31873,"nodeType":"VariableDeclarationStatement","src":"13792:10:22"},{"assignments":[31875],"declarations":[{"constant":false,"id":31875,"mutability":"mutable","name":"m2","nameLocation":"13820:2:22","nodeType":"VariableDeclaration","scope":31884,"src":"13812:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13812:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31876,"nodeType":"VariableDeclarationStatement","src":"13812:10:22"},{"AST":{"nativeSrc":"13884:247:22","nodeType":"YulBlock","src":"13884:247:22","statements":[{"nativeSrc":"13898:17:22","nodeType":"YulAssignment","src":"13898:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13910:4:22","nodeType":"YulLiteral","src":"13910:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13904:5:22","nodeType":"YulIdentifier","src":"13904:5:22"},"nativeSrc":"13904:11:22","nodeType":"YulFunctionCall","src":"13904:11:22"},"variableNames":[{"name":"m0","nativeSrc":"13898:2:22","nodeType":"YulIdentifier","src":"13898:2:22"}]},{"nativeSrc":"13928:17:22","nodeType":"YulAssignment","src":"13928:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13940:4:22","nodeType":"YulLiteral","src":"13940:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13934:5:22","nodeType":"YulIdentifier","src":"13934:5:22"},"nativeSrc":"13934:11:22","nodeType":"YulFunctionCall","src":"13934:11:22"},"variableNames":[{"name":"m1","nativeSrc":"13928:2:22","nodeType":"YulIdentifier","src":"13928:2:22"}]},{"nativeSrc":"13958:17:22","nodeType":"YulAssignment","src":"13958:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"13970:4:22","nodeType":"YulLiteral","src":"13970:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13964:5:22","nodeType":"YulIdentifier","src":"13964:5:22"},"nativeSrc":"13964:11:22","nodeType":"YulFunctionCall","src":"13964:11:22"},"variableNames":[{"name":"m2","nativeSrc":"13958:2:22","nodeType":"YulIdentifier","src":"13958:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14046:4:22","nodeType":"YulLiteral","src":"14046:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"14052:10:22","nodeType":"YulLiteral","src":"14052:10:22","type":"","value":"0xf666715a"}],"functionName":{"name":"mstore","nativeSrc":"14039:6:22","nodeType":"YulIdentifier","src":"14039:6:22"},"nativeSrc":"14039:24:22","nodeType":"YulFunctionCall","src":"14039:24:22"},"nativeSrc":"14039:24:22","nodeType":"YulExpressionStatement","src":"14039:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14083:4:22","nodeType":"YulLiteral","src":"14083:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"14089:2:22","nodeType":"YulIdentifier","src":"14089:2:22"}],"functionName":{"name":"mstore","nativeSrc":"14076:6:22","nodeType":"YulIdentifier","src":"14076:6:22"},"nativeSrc":"14076:16:22","nodeType":"YulFunctionCall","src":"14076:16:22"},"nativeSrc":"14076:16:22","nodeType":"YulExpressionStatement","src":"14076:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14112:4:22","nodeType":"YulLiteral","src":"14112:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"14118:2:22","nodeType":"YulIdentifier","src":"14118:2:22"}],"functionName":{"name":"mstore","nativeSrc":"14105:6:22","nodeType":"YulIdentifier","src":"14105:6:22"},"nativeSrc":"14105:16:22","nodeType":"YulFunctionCall","src":"14105:16:22"},"nativeSrc":"14105:16:22","nodeType":"YulExpressionStatement","src":"14105:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31869,"isOffset":false,"isSlot":false,"src":"13898:2:22","valueSize":1},{"declaration":31872,"isOffset":false,"isSlot":false,"src":"13928:2:22","valueSize":1},{"declaration":31875,"isOffset":false,"isSlot":false,"src":"13958:2:22","valueSize":1},{"declaration":31863,"isOffset":false,"isSlot":false,"src":"14089:2:22","valueSize":1},{"declaration":31865,"isOffset":false,"isSlot":false,"src":"14118:2:22","valueSize":1}],"id":31877,"nodeType":"InlineAssembly","src":"13875:256:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14156:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":31880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14162:4:22","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":31878,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"14140:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14140:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31882,"nodeType":"ExpressionStatement","src":"14140:27:22"},{"AST":{"nativeSrc":"14229:98:22","nodeType":"YulBlock","src":"14229:98:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"14250:4:22","nodeType":"YulLiteral","src":"14250:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"14256:2:22","nodeType":"YulIdentifier","src":"14256:2:22"}],"functionName":{"name":"mstore","nativeSrc":"14243:6:22","nodeType":"YulIdentifier","src":"14243:6:22"},"nativeSrc":"14243:16:22","nodeType":"YulFunctionCall","src":"14243:16:22"},"nativeSrc":"14243:16:22","nodeType":"YulExpressionStatement","src":"14243:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14279:4:22","nodeType":"YulLiteral","src":"14279:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"14285:2:22","nodeType":"YulIdentifier","src":"14285:2:22"}],"functionName":{"name":"mstore","nativeSrc":"14272:6:22","nodeType":"YulIdentifier","src":"14272:6:22"},"nativeSrc":"14272:16:22","nodeType":"YulFunctionCall","src":"14272:16:22"},"nativeSrc":"14272:16:22","nodeType":"YulExpressionStatement","src":"14272:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14308:4:22","nodeType":"YulLiteral","src":"14308:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"14314:2:22","nodeType":"YulIdentifier","src":"14314:2:22"}],"functionName":{"name":"mstore","nativeSrc":"14301:6:22","nodeType":"YulIdentifier","src":"14301:6:22"},"nativeSrc":"14301:16:22","nodeType":"YulFunctionCall","src":"14301:16:22"},"nativeSrc":"14301:16:22","nodeType":"YulExpressionStatement","src":"14301:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31869,"isOffset":false,"isSlot":false,"src":"14256:2:22","valueSize":1},{"declaration":31872,"isOffset":false,"isSlot":false,"src":"14285:2:22","valueSize":1},{"declaration":31875,"isOffset":false,"isSlot":false,"src":"14314:2:22","valueSize":1}],"id":31883,"nodeType":"InlineAssembly","src":"14220:107:22"}]},"id":31885,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13720:3:22","nodeType":"FunctionDefinition","parameters":{"id":31866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31863,"mutability":"mutable","name":"p0","nameLocation":"13732:2:22","nodeType":"VariableDeclaration","scope":31885,"src":"13724:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31862,"name":"uint256","nodeType":"ElementaryTypeName","src":"13724:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31865,"mutability":"mutable","name":"p1","nameLocation":"13744:2:22","nodeType":"VariableDeclaration","scope":31885,"src":"13736:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31864,"name":"uint256","nodeType":"ElementaryTypeName","src":"13736:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13723:24:22"},"returnParameters":{"id":31867,"nodeType":"ParameterList","parameters":[],"src":"13762:0:22"},"scope":44426,"src":"13711:622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31914,"nodeType":"Block","src":"14390:1119:22","statements":[{"assignments":[31893],"declarations":[{"constant":false,"id":31893,"mutability":"mutable","name":"m0","nameLocation":"14408:2:22","nodeType":"VariableDeclaration","scope":31914,"src":"14400:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14400:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31894,"nodeType":"VariableDeclarationStatement","src":"14400:10:22"},{"assignments":[31896],"declarations":[{"constant":false,"id":31896,"mutability":"mutable","name":"m1","nameLocation":"14428:2:22","nodeType":"VariableDeclaration","scope":31914,"src":"14420:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14420:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31897,"nodeType":"VariableDeclarationStatement","src":"14420:10:22"},{"assignments":[31899],"declarations":[{"constant":false,"id":31899,"mutability":"mutable","name":"m2","nameLocation":"14448:2:22","nodeType":"VariableDeclaration","scope":31914,"src":"14440:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14440:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31900,"nodeType":"VariableDeclarationStatement","src":"14440:10:22"},{"assignments":[31902],"declarations":[{"constant":false,"id":31902,"mutability":"mutable","name":"m3","nameLocation":"14468:2:22","nodeType":"VariableDeclaration","scope":31914,"src":"14460:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14460:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31903,"nodeType":"VariableDeclarationStatement","src":"14460:10:22"},{"assignments":[31905],"declarations":[{"constant":false,"id":31905,"mutability":"mutable","name":"m4","nameLocation":"14488:2:22","nodeType":"VariableDeclaration","scope":31914,"src":"14480:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14480:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31906,"nodeType":"VariableDeclarationStatement","src":"14480:10:22"},{"AST":{"nativeSrc":"14552:697:22","nodeType":"YulBlock","src":"14552:697:22","statements":[{"body":{"nativeSrc":"14595:313:22","nodeType":"YulBlock","src":"14595:313:22","statements":[{"nativeSrc":"14613:15:22","nodeType":"YulVariableDeclaration","src":"14613:15:22","value":{"kind":"number","nativeSrc":"14627:1:22","nodeType":"YulLiteral","src":"14627:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"14617:6:22","nodeType":"YulTypedName","src":"14617:6:22","type":""}]},{"body":{"nativeSrc":"14698:40:22","nodeType":"YulBlock","src":"14698:40:22","statements":[{"body":{"nativeSrc":"14727:9:22","nodeType":"YulBlock","src":"14727:9:22","statements":[{"nativeSrc":"14729:5:22","nodeType":"YulBreak","src":"14729:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"14715:6:22","nodeType":"YulIdentifier","src":"14715:6:22"},{"name":"w","nativeSrc":"14723:1:22","nodeType":"YulIdentifier","src":"14723:1:22"}],"functionName":{"name":"byte","nativeSrc":"14710:4:22","nodeType":"YulIdentifier","src":"14710:4:22"},"nativeSrc":"14710:15:22","nodeType":"YulFunctionCall","src":"14710:15:22"}],"functionName":{"name":"iszero","nativeSrc":"14703:6:22","nodeType":"YulIdentifier","src":"14703:6:22"},"nativeSrc":"14703:23:22","nodeType":"YulFunctionCall","src":"14703:23:22"},"nativeSrc":"14700:36:22","nodeType":"YulIf","src":"14700:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"14655:6:22","nodeType":"YulIdentifier","src":"14655:6:22"},{"kind":"number","nativeSrc":"14663:4:22","nodeType":"YulLiteral","src":"14663:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"14652:2:22","nodeType":"YulIdentifier","src":"14652:2:22"},"nativeSrc":"14652:16:22","nodeType":"YulFunctionCall","src":"14652:16:22"},"nativeSrc":"14645:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"14669:28:22","nodeType":"YulBlock","src":"14669:28:22","statements":[{"nativeSrc":"14671:24:22","nodeType":"YulAssignment","src":"14671:24:22","value":{"arguments":[{"name":"length","nativeSrc":"14685:6:22","nodeType":"YulIdentifier","src":"14685:6:22"},{"kind":"number","nativeSrc":"14693:1:22","nodeType":"YulLiteral","src":"14693:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"14681:3:22","nodeType":"YulIdentifier","src":"14681:3:22"},"nativeSrc":"14681:14:22","nodeType":"YulFunctionCall","src":"14681:14:22"},"variableNames":[{"name":"length","nativeSrc":"14671:6:22","nodeType":"YulIdentifier","src":"14671:6:22"}]}]},"pre":{"nativeSrc":"14649:2:22","nodeType":"YulBlock","src":"14649:2:22","statements":[]},"src":"14645:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"14762:3:22","nodeType":"YulIdentifier","src":"14762:3:22"},{"name":"length","nativeSrc":"14767:6:22","nodeType":"YulIdentifier","src":"14767:6:22"}],"functionName":{"name":"mstore","nativeSrc":"14755:6:22","nodeType":"YulIdentifier","src":"14755:6:22"},"nativeSrc":"14755:19:22","nodeType":"YulFunctionCall","src":"14755:19:22"},"nativeSrc":"14755:19:22","nodeType":"YulExpressionStatement","src":"14755:19:22"},{"nativeSrc":"14791:37:22","nodeType":"YulVariableDeclaration","src":"14791:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"14808:3:22","nodeType":"YulLiteral","src":"14808:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"14817:1:22","nodeType":"YulLiteral","src":"14817:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"14820:6:22","nodeType":"YulIdentifier","src":"14820:6:22"}],"functionName":{"name":"shl","nativeSrc":"14813:3:22","nodeType":"YulIdentifier","src":"14813:3:22"},"nativeSrc":"14813:14:22","nodeType":"YulFunctionCall","src":"14813:14:22"}],"functionName":{"name":"sub","nativeSrc":"14804:3:22","nodeType":"YulIdentifier","src":"14804:3:22"},"nativeSrc":"14804:24:22","nodeType":"YulFunctionCall","src":"14804:24:22"},"variables":[{"name":"shift","nativeSrc":"14795:5:22","nodeType":"YulTypedName","src":"14795:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"14856:3:22","nodeType":"YulIdentifier","src":"14856:3:22"},{"kind":"number","nativeSrc":"14861:4:22","nodeType":"YulLiteral","src":"14861:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"14852:3:22","nodeType":"YulIdentifier","src":"14852:3:22"},"nativeSrc":"14852:14:22","nodeType":"YulFunctionCall","src":"14852:14:22"},{"arguments":[{"name":"shift","nativeSrc":"14872:5:22","nodeType":"YulIdentifier","src":"14872:5:22"},{"arguments":[{"name":"shift","nativeSrc":"14883:5:22","nodeType":"YulIdentifier","src":"14883:5:22"},{"name":"w","nativeSrc":"14890:1:22","nodeType":"YulIdentifier","src":"14890:1:22"}],"functionName":{"name":"shr","nativeSrc":"14879:3:22","nodeType":"YulIdentifier","src":"14879:3:22"},"nativeSrc":"14879:13:22","nodeType":"YulFunctionCall","src":"14879:13:22"}],"functionName":{"name":"shl","nativeSrc":"14868:3:22","nodeType":"YulIdentifier","src":"14868:3:22"},"nativeSrc":"14868:25:22","nodeType":"YulFunctionCall","src":"14868:25:22"}],"functionName":{"name":"mstore","nativeSrc":"14845:6:22","nodeType":"YulIdentifier","src":"14845:6:22"},"nativeSrc":"14845:49:22","nodeType":"YulFunctionCall","src":"14845:49:22"},"nativeSrc":"14845:49:22","nodeType":"YulExpressionStatement","src":"14845:49:22"}]},"name":"writeString","nativeSrc":"14566:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"14587:3:22","nodeType":"YulTypedName","src":"14587:3:22","type":""},{"name":"w","nativeSrc":"14592:1:22","nodeType":"YulTypedName","src":"14592:1:22","type":""}],"src":"14566:342:22"},{"nativeSrc":"14921:17:22","nodeType":"YulAssignment","src":"14921:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"14933:4:22","nodeType":"YulLiteral","src":"14933:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"14927:5:22","nodeType":"YulIdentifier","src":"14927:5:22"},"nativeSrc":"14927:11:22","nodeType":"YulFunctionCall","src":"14927:11:22"},"variableNames":[{"name":"m0","nativeSrc":"14921:2:22","nodeType":"YulIdentifier","src":"14921:2:22"}]},{"nativeSrc":"14951:17:22","nodeType":"YulAssignment","src":"14951:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"14963:4:22","nodeType":"YulLiteral","src":"14963:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"14957:5:22","nodeType":"YulIdentifier","src":"14957:5:22"},"nativeSrc":"14957:11:22","nodeType":"YulFunctionCall","src":"14957:11:22"},"variableNames":[{"name":"m1","nativeSrc":"14951:2:22","nodeType":"YulIdentifier","src":"14951:2:22"}]},{"nativeSrc":"14981:17:22","nodeType":"YulAssignment","src":"14981:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"14993:4:22","nodeType":"YulLiteral","src":"14993:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"14987:5:22","nodeType":"YulIdentifier","src":"14987:5:22"},"nativeSrc":"14987:11:22","nodeType":"YulFunctionCall","src":"14987:11:22"},"variableNames":[{"name":"m2","nativeSrc":"14981:2:22","nodeType":"YulIdentifier","src":"14981:2:22"}]},{"nativeSrc":"15011:17:22","nodeType":"YulAssignment","src":"15011:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"15023:4:22","nodeType":"YulLiteral","src":"15023:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"15017:5:22","nodeType":"YulIdentifier","src":"15017:5:22"},"nativeSrc":"15017:11:22","nodeType":"YulFunctionCall","src":"15017:11:22"},"variableNames":[{"name":"m3","nativeSrc":"15011:2:22","nodeType":"YulIdentifier","src":"15011:2:22"}]},{"nativeSrc":"15041:17:22","nodeType":"YulAssignment","src":"15041:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"15053:4:22","nodeType":"YulLiteral","src":"15053:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"15047:5:22","nodeType":"YulIdentifier","src":"15047:5:22"},"nativeSrc":"15047:11:22","nodeType":"YulFunctionCall","src":"15047:11:22"},"variableNames":[{"name":"m4","nativeSrc":"15041:2:22","nodeType":"YulIdentifier","src":"15041:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15128:4:22","nodeType":"YulLiteral","src":"15128:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"15134:10:22","nodeType":"YulLiteral","src":"15134:10:22","type":"","value":"0x643fd0df"}],"functionName":{"name":"mstore","nativeSrc":"15121:6:22","nodeType":"YulIdentifier","src":"15121:6:22"},"nativeSrc":"15121:24:22","nodeType":"YulFunctionCall","src":"15121:24:22"},"nativeSrc":"15121:24:22","nodeType":"YulExpressionStatement","src":"15121:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15165:4:22","nodeType":"YulLiteral","src":"15165:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"15171:2:22","nodeType":"YulIdentifier","src":"15171:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15158:6:22","nodeType":"YulIdentifier","src":"15158:6:22"},"nativeSrc":"15158:16:22","nodeType":"YulFunctionCall","src":"15158:16:22"},"nativeSrc":"15158:16:22","nodeType":"YulExpressionStatement","src":"15158:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15194:4:22","nodeType":"YulLiteral","src":"15194:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"15200:4:22","nodeType":"YulLiteral","src":"15200:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"15187:6:22","nodeType":"YulIdentifier","src":"15187:6:22"},"nativeSrc":"15187:18:22","nodeType":"YulFunctionCall","src":"15187:18:22"},"nativeSrc":"15187:18:22","nodeType":"YulExpressionStatement","src":"15187:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15230:4:22","nodeType":"YulLiteral","src":"15230:4:22","type":"","value":"0x60"},{"name":"p1","nativeSrc":"15236:2:22","nodeType":"YulIdentifier","src":"15236:2:22"}],"functionName":{"name":"writeString","nativeSrc":"15218:11:22","nodeType":"YulIdentifier","src":"15218:11:22"},"nativeSrc":"15218:21:22","nodeType":"YulFunctionCall","src":"15218:21:22"},"nativeSrc":"15218:21:22","nodeType":"YulExpressionStatement","src":"15218:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31893,"isOffset":false,"isSlot":false,"src":"14921:2:22","valueSize":1},{"declaration":31896,"isOffset":false,"isSlot":false,"src":"14951:2:22","valueSize":1},{"declaration":31899,"isOffset":false,"isSlot":false,"src":"14981:2:22","valueSize":1},{"declaration":31902,"isOffset":false,"isSlot":false,"src":"15011:2:22","valueSize":1},{"declaration":31905,"isOffset":false,"isSlot":false,"src":"15041:2:22","valueSize":1},{"declaration":31887,"isOffset":false,"isSlot":false,"src":"15171:2:22","valueSize":1},{"declaration":31889,"isOffset":false,"isSlot":false,"src":"15236:2:22","valueSize":1}],"id":31907,"nodeType":"InlineAssembly","src":"14543:706:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15274:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15280:4:22","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":31908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"15258:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15258:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31912,"nodeType":"ExpressionStatement","src":"15258:27:22"},{"AST":{"nativeSrc":"15347:156:22","nodeType":"YulBlock","src":"15347:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"15368:4:22","nodeType":"YulLiteral","src":"15368:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"15374:2:22","nodeType":"YulIdentifier","src":"15374:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15361:6:22","nodeType":"YulIdentifier","src":"15361:6:22"},"nativeSrc":"15361:16:22","nodeType":"YulFunctionCall","src":"15361:16:22"},"nativeSrc":"15361:16:22","nodeType":"YulExpressionStatement","src":"15361:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15397:4:22","nodeType":"YulLiteral","src":"15397:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"15403:2:22","nodeType":"YulIdentifier","src":"15403:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15390:6:22","nodeType":"YulIdentifier","src":"15390:6:22"},"nativeSrc":"15390:16:22","nodeType":"YulFunctionCall","src":"15390:16:22"},"nativeSrc":"15390:16:22","nodeType":"YulExpressionStatement","src":"15390:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15426:4:22","nodeType":"YulLiteral","src":"15426:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"15432:2:22","nodeType":"YulIdentifier","src":"15432:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15419:6:22","nodeType":"YulIdentifier","src":"15419:6:22"},"nativeSrc":"15419:16:22","nodeType":"YulFunctionCall","src":"15419:16:22"},"nativeSrc":"15419:16:22","nodeType":"YulExpressionStatement","src":"15419:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15455:4:22","nodeType":"YulLiteral","src":"15455:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"15461:2:22","nodeType":"YulIdentifier","src":"15461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15448:6:22","nodeType":"YulIdentifier","src":"15448:6:22"},"nativeSrc":"15448:16:22","nodeType":"YulFunctionCall","src":"15448:16:22"},"nativeSrc":"15448:16:22","nodeType":"YulExpressionStatement","src":"15448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15484:4:22","nodeType":"YulLiteral","src":"15484:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"15490:2:22","nodeType":"YulIdentifier","src":"15490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"15477:6:22","nodeType":"YulIdentifier","src":"15477:6:22"},"nativeSrc":"15477:16:22","nodeType":"YulFunctionCall","src":"15477:16:22"},"nativeSrc":"15477:16:22","nodeType":"YulExpressionStatement","src":"15477:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31893,"isOffset":false,"isSlot":false,"src":"15374:2:22","valueSize":1},{"declaration":31896,"isOffset":false,"isSlot":false,"src":"15403:2:22","valueSize":1},{"declaration":31899,"isOffset":false,"isSlot":false,"src":"15432:2:22","valueSize":1},{"declaration":31902,"isOffset":false,"isSlot":false,"src":"15461:2:22","valueSize":1},{"declaration":31905,"isOffset":false,"isSlot":false,"src":"15490:2:22","valueSize":1}],"id":31913,"nodeType":"InlineAssembly","src":"15338:165:22"}]},"id":31915,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14348:3:22","nodeType":"FunctionDefinition","parameters":{"id":31890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31887,"mutability":"mutable","name":"p0","nameLocation":"14360:2:22","nodeType":"VariableDeclaration","scope":31915,"src":"14352:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31886,"name":"uint256","nodeType":"ElementaryTypeName","src":"14352:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31889,"mutability":"mutable","name":"p1","nameLocation":"14372:2:22","nodeType":"VariableDeclaration","scope":31915,"src":"14364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14351:24:22"},"returnParameters":{"id":31891,"nodeType":"ParameterList","parameters":[],"src":"14390:0:22"},"scope":44426,"src":"14339:1170:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31944,"nodeType":"Block","src":"15566:1119:22","statements":[{"assignments":[31923],"declarations":[{"constant":false,"id":31923,"mutability":"mutable","name":"m0","nameLocation":"15584:2:22","nodeType":"VariableDeclaration","scope":31944,"src":"15576:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15576:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31924,"nodeType":"VariableDeclarationStatement","src":"15576:10:22"},{"assignments":[31926],"declarations":[{"constant":false,"id":31926,"mutability":"mutable","name":"m1","nameLocation":"15604:2:22","nodeType":"VariableDeclaration","scope":31944,"src":"15596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15596:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31927,"nodeType":"VariableDeclarationStatement","src":"15596:10:22"},{"assignments":[31929],"declarations":[{"constant":false,"id":31929,"mutability":"mutable","name":"m2","nameLocation":"15624:2:22","nodeType":"VariableDeclaration","scope":31944,"src":"15616:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15616:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31930,"nodeType":"VariableDeclarationStatement","src":"15616:10:22"},{"assignments":[31932],"declarations":[{"constant":false,"id":31932,"mutability":"mutable","name":"m3","nameLocation":"15644:2:22","nodeType":"VariableDeclaration","scope":31944,"src":"15636:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15636:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31933,"nodeType":"VariableDeclarationStatement","src":"15636:10:22"},{"assignments":[31935],"declarations":[{"constant":false,"id":31935,"mutability":"mutable","name":"m4","nameLocation":"15664:2:22","nodeType":"VariableDeclaration","scope":31944,"src":"15656:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15656:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31936,"nodeType":"VariableDeclarationStatement","src":"15656:10:22"},{"AST":{"nativeSrc":"15728:697:22","nodeType":"YulBlock","src":"15728:697:22","statements":[{"body":{"nativeSrc":"15771:313:22","nodeType":"YulBlock","src":"15771:313:22","statements":[{"nativeSrc":"15789:15:22","nodeType":"YulVariableDeclaration","src":"15789:15:22","value":{"kind":"number","nativeSrc":"15803:1:22","nodeType":"YulLiteral","src":"15803:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"15793:6:22","nodeType":"YulTypedName","src":"15793:6:22","type":""}]},{"body":{"nativeSrc":"15874:40:22","nodeType":"YulBlock","src":"15874:40:22","statements":[{"body":{"nativeSrc":"15903:9:22","nodeType":"YulBlock","src":"15903:9:22","statements":[{"nativeSrc":"15905:5:22","nodeType":"YulBreak","src":"15905:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"15891:6:22","nodeType":"YulIdentifier","src":"15891:6:22"},{"name":"w","nativeSrc":"15899:1:22","nodeType":"YulIdentifier","src":"15899:1:22"}],"functionName":{"name":"byte","nativeSrc":"15886:4:22","nodeType":"YulIdentifier","src":"15886:4:22"},"nativeSrc":"15886:15:22","nodeType":"YulFunctionCall","src":"15886:15:22"}],"functionName":{"name":"iszero","nativeSrc":"15879:6:22","nodeType":"YulIdentifier","src":"15879:6:22"},"nativeSrc":"15879:23:22","nodeType":"YulFunctionCall","src":"15879:23:22"},"nativeSrc":"15876:36:22","nodeType":"YulIf","src":"15876:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"15831:6:22","nodeType":"YulIdentifier","src":"15831:6:22"},{"kind":"number","nativeSrc":"15839:4:22","nodeType":"YulLiteral","src":"15839:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"15828:2:22","nodeType":"YulIdentifier","src":"15828:2:22"},"nativeSrc":"15828:16:22","nodeType":"YulFunctionCall","src":"15828:16:22"},"nativeSrc":"15821:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"15845:28:22","nodeType":"YulBlock","src":"15845:28:22","statements":[{"nativeSrc":"15847:24:22","nodeType":"YulAssignment","src":"15847:24:22","value":{"arguments":[{"name":"length","nativeSrc":"15861:6:22","nodeType":"YulIdentifier","src":"15861:6:22"},{"kind":"number","nativeSrc":"15869:1:22","nodeType":"YulLiteral","src":"15869:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"15857:3:22","nodeType":"YulIdentifier","src":"15857:3:22"},"nativeSrc":"15857:14:22","nodeType":"YulFunctionCall","src":"15857:14:22"},"variableNames":[{"name":"length","nativeSrc":"15847:6:22","nodeType":"YulIdentifier","src":"15847:6:22"}]}]},"pre":{"nativeSrc":"15825:2:22","nodeType":"YulBlock","src":"15825:2:22","statements":[]},"src":"15821:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"15938:3:22","nodeType":"YulIdentifier","src":"15938:3:22"},{"name":"length","nativeSrc":"15943:6:22","nodeType":"YulIdentifier","src":"15943:6:22"}],"functionName":{"name":"mstore","nativeSrc":"15931:6:22","nodeType":"YulIdentifier","src":"15931:6:22"},"nativeSrc":"15931:19:22","nodeType":"YulFunctionCall","src":"15931:19:22"},"nativeSrc":"15931:19:22","nodeType":"YulExpressionStatement","src":"15931:19:22"},{"nativeSrc":"15967:37:22","nodeType":"YulVariableDeclaration","src":"15967:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"15984:3:22","nodeType":"YulLiteral","src":"15984:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"15993:1:22","nodeType":"YulLiteral","src":"15993:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"15996:6:22","nodeType":"YulIdentifier","src":"15996:6:22"}],"functionName":{"name":"shl","nativeSrc":"15989:3:22","nodeType":"YulIdentifier","src":"15989:3:22"},"nativeSrc":"15989:14:22","nodeType":"YulFunctionCall","src":"15989:14:22"}],"functionName":{"name":"sub","nativeSrc":"15980:3:22","nodeType":"YulIdentifier","src":"15980:3:22"},"nativeSrc":"15980:24:22","nodeType":"YulFunctionCall","src":"15980:24:22"},"variables":[{"name":"shift","nativeSrc":"15971:5:22","nodeType":"YulTypedName","src":"15971:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"16032:3:22","nodeType":"YulIdentifier","src":"16032:3:22"},{"kind":"number","nativeSrc":"16037:4:22","nodeType":"YulLiteral","src":"16037:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"16028:3:22","nodeType":"YulIdentifier","src":"16028:3:22"},"nativeSrc":"16028:14:22","nodeType":"YulFunctionCall","src":"16028:14:22"},{"arguments":[{"name":"shift","nativeSrc":"16048:5:22","nodeType":"YulIdentifier","src":"16048:5:22"},{"arguments":[{"name":"shift","nativeSrc":"16059:5:22","nodeType":"YulIdentifier","src":"16059:5:22"},{"name":"w","nativeSrc":"16066:1:22","nodeType":"YulIdentifier","src":"16066:1:22"}],"functionName":{"name":"shr","nativeSrc":"16055:3:22","nodeType":"YulIdentifier","src":"16055:3:22"},"nativeSrc":"16055:13:22","nodeType":"YulFunctionCall","src":"16055:13:22"}],"functionName":{"name":"shl","nativeSrc":"16044:3:22","nodeType":"YulIdentifier","src":"16044:3:22"},"nativeSrc":"16044:25:22","nodeType":"YulFunctionCall","src":"16044:25:22"}],"functionName":{"name":"mstore","nativeSrc":"16021:6:22","nodeType":"YulIdentifier","src":"16021:6:22"},"nativeSrc":"16021:49:22","nodeType":"YulFunctionCall","src":"16021:49:22"},"nativeSrc":"16021:49:22","nodeType":"YulExpressionStatement","src":"16021:49:22"}]},"name":"writeString","nativeSrc":"15742:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"15763:3:22","nodeType":"YulTypedName","src":"15763:3:22","type":""},{"name":"w","nativeSrc":"15768:1:22","nodeType":"YulTypedName","src":"15768:1:22","type":""}],"src":"15742:342:22"},{"nativeSrc":"16097:17:22","nodeType":"YulAssignment","src":"16097:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"16109:4:22","nodeType":"YulLiteral","src":"16109:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"16103:5:22","nodeType":"YulIdentifier","src":"16103:5:22"},"nativeSrc":"16103:11:22","nodeType":"YulFunctionCall","src":"16103:11:22"},"variableNames":[{"name":"m0","nativeSrc":"16097:2:22","nodeType":"YulIdentifier","src":"16097:2:22"}]},{"nativeSrc":"16127:17:22","nodeType":"YulAssignment","src":"16127:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"16139:4:22","nodeType":"YulLiteral","src":"16139:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"16133:5:22","nodeType":"YulIdentifier","src":"16133:5:22"},"nativeSrc":"16133:11:22","nodeType":"YulFunctionCall","src":"16133:11:22"},"variableNames":[{"name":"m1","nativeSrc":"16127:2:22","nodeType":"YulIdentifier","src":"16127:2:22"}]},{"nativeSrc":"16157:17:22","nodeType":"YulAssignment","src":"16157:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"16169:4:22","nodeType":"YulLiteral","src":"16169:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16163:5:22","nodeType":"YulIdentifier","src":"16163:5:22"},"nativeSrc":"16163:11:22","nodeType":"YulFunctionCall","src":"16163:11:22"},"variableNames":[{"name":"m2","nativeSrc":"16157:2:22","nodeType":"YulIdentifier","src":"16157:2:22"}]},{"nativeSrc":"16187:17:22","nodeType":"YulAssignment","src":"16187:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"16199:4:22","nodeType":"YulLiteral","src":"16199:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"16193:5:22","nodeType":"YulIdentifier","src":"16193:5:22"},"nativeSrc":"16193:11:22","nodeType":"YulFunctionCall","src":"16193:11:22"},"variableNames":[{"name":"m3","nativeSrc":"16187:2:22","nodeType":"YulIdentifier","src":"16187:2:22"}]},{"nativeSrc":"16217:17:22","nodeType":"YulAssignment","src":"16217:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"16229:4:22","nodeType":"YulLiteral","src":"16229:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"16223:5:22","nodeType":"YulIdentifier","src":"16223:5:22"},"nativeSrc":"16223:11:22","nodeType":"YulFunctionCall","src":"16223:11:22"},"variableNames":[{"name":"m4","nativeSrc":"16217:2:22","nodeType":"YulIdentifier","src":"16217:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16304:4:22","nodeType":"YulLiteral","src":"16304:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"16310:10:22","nodeType":"YulLiteral","src":"16310:10:22","type":"","value":"0x319af333"}],"functionName":{"name":"mstore","nativeSrc":"16297:6:22","nodeType":"YulIdentifier","src":"16297:6:22"},"nativeSrc":"16297:24:22","nodeType":"YulFunctionCall","src":"16297:24:22"},"nativeSrc":"16297:24:22","nodeType":"YulExpressionStatement","src":"16297:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16341:4:22","nodeType":"YulLiteral","src":"16341:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"16347:4:22","nodeType":"YulLiteral","src":"16347:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"16334:6:22","nodeType":"YulIdentifier","src":"16334:6:22"},"nativeSrc":"16334:18:22","nodeType":"YulFunctionCall","src":"16334:18:22"},"nativeSrc":"16334:18:22","nodeType":"YulExpressionStatement","src":"16334:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16372:4:22","nodeType":"YulLiteral","src":"16372:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"16378:2:22","nodeType":"YulIdentifier","src":"16378:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16365:6:22","nodeType":"YulIdentifier","src":"16365:6:22"},"nativeSrc":"16365:16:22","nodeType":"YulFunctionCall","src":"16365:16:22"},"nativeSrc":"16365:16:22","nodeType":"YulExpressionStatement","src":"16365:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16406:4:22","nodeType":"YulLiteral","src":"16406:4:22","type":"","value":"0x60"},{"name":"p0","nativeSrc":"16412:2:22","nodeType":"YulIdentifier","src":"16412:2:22"}],"functionName":{"name":"writeString","nativeSrc":"16394:11:22","nodeType":"YulIdentifier","src":"16394:11:22"},"nativeSrc":"16394:21:22","nodeType":"YulFunctionCall","src":"16394:21:22"},"nativeSrc":"16394:21:22","nodeType":"YulExpressionStatement","src":"16394:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31923,"isOffset":false,"isSlot":false,"src":"16097:2:22","valueSize":1},{"declaration":31926,"isOffset":false,"isSlot":false,"src":"16127:2:22","valueSize":1},{"declaration":31929,"isOffset":false,"isSlot":false,"src":"16157:2:22","valueSize":1},{"declaration":31932,"isOffset":false,"isSlot":false,"src":"16187:2:22","valueSize":1},{"declaration":31935,"isOffset":false,"isSlot":false,"src":"16217:2:22","valueSize":1},{"declaration":31917,"isOffset":false,"isSlot":false,"src":"16412:2:22","valueSize":1},{"declaration":31919,"isOffset":false,"isSlot":false,"src":"16378:2:22","valueSize":1}],"id":31937,"nodeType":"InlineAssembly","src":"15719:706:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16450:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16456:4:22","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":31938,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"16434:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16434:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31942,"nodeType":"ExpressionStatement","src":"16434:27:22"},{"AST":{"nativeSrc":"16523:156:22","nodeType":"YulBlock","src":"16523:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16544:4:22","nodeType":"YulLiteral","src":"16544:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"16550:2:22","nodeType":"YulIdentifier","src":"16550:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:22","nodeType":"YulIdentifier","src":"16537:6:22"},"nativeSrc":"16537:16:22","nodeType":"YulFunctionCall","src":"16537:16:22"},"nativeSrc":"16537:16:22","nodeType":"YulExpressionStatement","src":"16537:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16573:4:22","nodeType":"YulLiteral","src":"16573:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"16579:2:22","nodeType":"YulIdentifier","src":"16579:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16566:6:22","nodeType":"YulIdentifier","src":"16566:6:22"},"nativeSrc":"16566:16:22","nodeType":"YulFunctionCall","src":"16566:16:22"},"nativeSrc":"16566:16:22","nodeType":"YulExpressionStatement","src":"16566:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16602:4:22","nodeType":"YulLiteral","src":"16602:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"16608:2:22","nodeType":"YulIdentifier","src":"16608:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16595:6:22","nodeType":"YulIdentifier","src":"16595:6:22"},"nativeSrc":"16595:16:22","nodeType":"YulFunctionCall","src":"16595:16:22"},"nativeSrc":"16595:16:22","nodeType":"YulExpressionStatement","src":"16595:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16631:4:22","nodeType":"YulLiteral","src":"16631:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"16637:2:22","nodeType":"YulIdentifier","src":"16637:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16624:6:22","nodeType":"YulIdentifier","src":"16624:6:22"},"nativeSrc":"16624:16:22","nodeType":"YulFunctionCall","src":"16624:16:22"},"nativeSrc":"16624:16:22","nodeType":"YulExpressionStatement","src":"16624:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16660:4:22","nodeType":"YulLiteral","src":"16660:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"16666:2:22","nodeType":"YulIdentifier","src":"16666:2:22"}],"functionName":{"name":"mstore","nativeSrc":"16653:6:22","nodeType":"YulIdentifier","src":"16653:6:22"},"nativeSrc":"16653:16:22","nodeType":"YulFunctionCall","src":"16653:16:22"},"nativeSrc":"16653:16:22","nodeType":"YulExpressionStatement","src":"16653:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31923,"isOffset":false,"isSlot":false,"src":"16550:2:22","valueSize":1},{"declaration":31926,"isOffset":false,"isSlot":false,"src":"16579:2:22","valueSize":1},{"declaration":31929,"isOffset":false,"isSlot":false,"src":"16608:2:22","valueSize":1},{"declaration":31932,"isOffset":false,"isSlot":false,"src":"16637:2:22","valueSize":1},{"declaration":31935,"isOffset":false,"isSlot":false,"src":"16666:2:22","valueSize":1}],"id":31943,"nodeType":"InlineAssembly","src":"16514:165:22"}]},"id":31945,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15524:3:22","nodeType":"FunctionDefinition","parameters":{"id":31920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31917,"mutability":"mutable","name":"p0","nameLocation":"15536:2:22","nodeType":"VariableDeclaration","scope":31945,"src":"15528:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15528:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31919,"mutability":"mutable","name":"p1","nameLocation":"15548:2:22","nodeType":"VariableDeclaration","scope":31945,"src":"15540:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31918,"name":"address","nodeType":"ElementaryTypeName","src":"15540:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15527:24:22"},"returnParameters":{"id":31921,"nodeType":"ParameterList","parameters":[],"src":"15566:0:22"},"scope":44426,"src":"15515:1170:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":31974,"nodeType":"Block","src":"16739:1116:22","statements":[{"assignments":[31953],"declarations":[{"constant":false,"id":31953,"mutability":"mutable","name":"m0","nameLocation":"16757:2:22","nodeType":"VariableDeclaration","scope":31974,"src":"16749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16749:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31954,"nodeType":"VariableDeclarationStatement","src":"16749:10:22"},{"assignments":[31956],"declarations":[{"constant":false,"id":31956,"mutability":"mutable","name":"m1","nameLocation":"16777:2:22","nodeType":"VariableDeclaration","scope":31974,"src":"16769:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16769:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31957,"nodeType":"VariableDeclarationStatement","src":"16769:10:22"},{"assignments":[31959],"declarations":[{"constant":false,"id":31959,"mutability":"mutable","name":"m2","nameLocation":"16797:2:22","nodeType":"VariableDeclaration","scope":31974,"src":"16789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16789:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31960,"nodeType":"VariableDeclarationStatement","src":"16789:10:22"},{"assignments":[31962],"declarations":[{"constant":false,"id":31962,"mutability":"mutable","name":"m3","nameLocation":"16817:2:22","nodeType":"VariableDeclaration","scope":31974,"src":"16809:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16809:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31963,"nodeType":"VariableDeclarationStatement","src":"16809:10:22"},{"assignments":[31965],"declarations":[{"constant":false,"id":31965,"mutability":"mutable","name":"m4","nameLocation":"16837:2:22","nodeType":"VariableDeclaration","scope":31974,"src":"16829:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16829:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31966,"nodeType":"VariableDeclarationStatement","src":"16829:10:22"},{"AST":{"nativeSrc":"16901:694:22","nodeType":"YulBlock","src":"16901:694:22","statements":[{"body":{"nativeSrc":"16944:313:22","nodeType":"YulBlock","src":"16944:313:22","statements":[{"nativeSrc":"16962:15:22","nodeType":"YulVariableDeclaration","src":"16962:15:22","value":{"kind":"number","nativeSrc":"16976:1:22","nodeType":"YulLiteral","src":"16976:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"16966:6:22","nodeType":"YulTypedName","src":"16966:6:22","type":""}]},{"body":{"nativeSrc":"17047:40:22","nodeType":"YulBlock","src":"17047:40:22","statements":[{"body":{"nativeSrc":"17076:9:22","nodeType":"YulBlock","src":"17076:9:22","statements":[{"nativeSrc":"17078:5:22","nodeType":"YulBreak","src":"17078:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"17064:6:22","nodeType":"YulIdentifier","src":"17064:6:22"},{"name":"w","nativeSrc":"17072:1:22","nodeType":"YulIdentifier","src":"17072:1:22"}],"functionName":{"name":"byte","nativeSrc":"17059:4:22","nodeType":"YulIdentifier","src":"17059:4:22"},"nativeSrc":"17059:15:22","nodeType":"YulFunctionCall","src":"17059:15:22"}],"functionName":{"name":"iszero","nativeSrc":"17052:6:22","nodeType":"YulIdentifier","src":"17052:6:22"},"nativeSrc":"17052:23:22","nodeType":"YulFunctionCall","src":"17052:23:22"},"nativeSrc":"17049:36:22","nodeType":"YulIf","src":"17049:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"17004:6:22","nodeType":"YulIdentifier","src":"17004:6:22"},{"kind":"number","nativeSrc":"17012:4:22","nodeType":"YulLiteral","src":"17012:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"17001:2:22","nodeType":"YulIdentifier","src":"17001:2:22"},"nativeSrc":"17001:16:22","nodeType":"YulFunctionCall","src":"17001:16:22"},"nativeSrc":"16994:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"17018:28:22","nodeType":"YulBlock","src":"17018:28:22","statements":[{"nativeSrc":"17020:24:22","nodeType":"YulAssignment","src":"17020:24:22","value":{"arguments":[{"name":"length","nativeSrc":"17034:6:22","nodeType":"YulIdentifier","src":"17034:6:22"},{"kind":"number","nativeSrc":"17042:1:22","nodeType":"YulLiteral","src":"17042:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"17030:3:22","nodeType":"YulIdentifier","src":"17030:3:22"},"nativeSrc":"17030:14:22","nodeType":"YulFunctionCall","src":"17030:14:22"},"variableNames":[{"name":"length","nativeSrc":"17020:6:22","nodeType":"YulIdentifier","src":"17020:6:22"}]}]},"pre":{"nativeSrc":"16998:2:22","nodeType":"YulBlock","src":"16998:2:22","statements":[]},"src":"16994:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"17111:3:22","nodeType":"YulIdentifier","src":"17111:3:22"},{"name":"length","nativeSrc":"17116:6:22","nodeType":"YulIdentifier","src":"17116:6:22"}],"functionName":{"name":"mstore","nativeSrc":"17104:6:22","nodeType":"YulIdentifier","src":"17104:6:22"},"nativeSrc":"17104:19:22","nodeType":"YulFunctionCall","src":"17104:19:22"},"nativeSrc":"17104:19:22","nodeType":"YulExpressionStatement","src":"17104:19:22"},{"nativeSrc":"17140:37:22","nodeType":"YulVariableDeclaration","src":"17140:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"17157:3:22","nodeType":"YulLiteral","src":"17157:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"17166:1:22","nodeType":"YulLiteral","src":"17166:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"17169:6:22","nodeType":"YulIdentifier","src":"17169:6:22"}],"functionName":{"name":"shl","nativeSrc":"17162:3:22","nodeType":"YulIdentifier","src":"17162:3:22"},"nativeSrc":"17162:14:22","nodeType":"YulFunctionCall","src":"17162:14:22"}],"functionName":{"name":"sub","nativeSrc":"17153:3:22","nodeType":"YulIdentifier","src":"17153:3:22"},"nativeSrc":"17153:24:22","nodeType":"YulFunctionCall","src":"17153:24:22"},"variables":[{"name":"shift","nativeSrc":"17144:5:22","nodeType":"YulTypedName","src":"17144:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"17205:3:22","nodeType":"YulIdentifier","src":"17205:3:22"},{"kind":"number","nativeSrc":"17210:4:22","nodeType":"YulLiteral","src":"17210:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17201:3:22","nodeType":"YulIdentifier","src":"17201:3:22"},"nativeSrc":"17201:14:22","nodeType":"YulFunctionCall","src":"17201:14:22"},{"arguments":[{"name":"shift","nativeSrc":"17221:5:22","nodeType":"YulIdentifier","src":"17221:5:22"},{"arguments":[{"name":"shift","nativeSrc":"17232:5:22","nodeType":"YulIdentifier","src":"17232:5:22"},{"name":"w","nativeSrc":"17239:1:22","nodeType":"YulIdentifier","src":"17239:1:22"}],"functionName":{"name":"shr","nativeSrc":"17228:3:22","nodeType":"YulIdentifier","src":"17228:3:22"},"nativeSrc":"17228:13:22","nodeType":"YulFunctionCall","src":"17228:13:22"}],"functionName":{"name":"shl","nativeSrc":"17217:3:22","nodeType":"YulIdentifier","src":"17217:3:22"},"nativeSrc":"17217:25:22","nodeType":"YulFunctionCall","src":"17217:25:22"}],"functionName":{"name":"mstore","nativeSrc":"17194:6:22","nodeType":"YulIdentifier","src":"17194:6:22"},"nativeSrc":"17194:49:22","nodeType":"YulFunctionCall","src":"17194:49:22"},"nativeSrc":"17194:49:22","nodeType":"YulExpressionStatement","src":"17194:49:22"}]},"name":"writeString","nativeSrc":"16915:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"16936:3:22","nodeType":"YulTypedName","src":"16936:3:22","type":""},{"name":"w","nativeSrc":"16941:1:22","nodeType":"YulTypedName","src":"16941:1:22","type":""}],"src":"16915:342:22"},{"nativeSrc":"17270:17:22","nodeType":"YulAssignment","src":"17270:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"17282:4:22","nodeType":"YulLiteral","src":"17282:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"17276:5:22","nodeType":"YulIdentifier","src":"17276:5:22"},"nativeSrc":"17276:11:22","nodeType":"YulFunctionCall","src":"17276:11:22"},"variableNames":[{"name":"m0","nativeSrc":"17270:2:22","nodeType":"YulIdentifier","src":"17270:2:22"}]},{"nativeSrc":"17300:17:22","nodeType":"YulAssignment","src":"17300:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"17312:4:22","nodeType":"YulLiteral","src":"17312:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"17306:5:22","nodeType":"YulIdentifier","src":"17306:5:22"},"nativeSrc":"17306:11:22","nodeType":"YulFunctionCall","src":"17306:11:22"},"variableNames":[{"name":"m1","nativeSrc":"17300:2:22","nodeType":"YulIdentifier","src":"17300:2:22"}]},{"nativeSrc":"17330:17:22","nodeType":"YulAssignment","src":"17330:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"17342:4:22","nodeType":"YulLiteral","src":"17342:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17336:5:22","nodeType":"YulIdentifier","src":"17336:5:22"},"nativeSrc":"17336:11:22","nodeType":"YulFunctionCall","src":"17336:11:22"},"variableNames":[{"name":"m2","nativeSrc":"17330:2:22","nodeType":"YulIdentifier","src":"17330:2:22"}]},{"nativeSrc":"17360:17:22","nodeType":"YulAssignment","src":"17360:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"17372:4:22","nodeType":"YulLiteral","src":"17372:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"17366:5:22","nodeType":"YulIdentifier","src":"17366:5:22"},"nativeSrc":"17366:11:22","nodeType":"YulFunctionCall","src":"17366:11:22"},"variableNames":[{"name":"m3","nativeSrc":"17360:2:22","nodeType":"YulIdentifier","src":"17360:2:22"}]},{"nativeSrc":"17390:17:22","nodeType":"YulAssignment","src":"17390:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"17402:4:22","nodeType":"YulLiteral","src":"17402:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"17396:5:22","nodeType":"YulIdentifier","src":"17396:5:22"},"nativeSrc":"17396:11:22","nodeType":"YulFunctionCall","src":"17396:11:22"},"variableNames":[{"name":"m4","nativeSrc":"17390:2:22","nodeType":"YulIdentifier","src":"17390:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17474:4:22","nodeType":"YulLiteral","src":"17474:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"17480:10:22","nodeType":"YulLiteral","src":"17480:10:22","type":"","value":"0xc3b55635"}],"functionName":{"name":"mstore","nativeSrc":"17467:6:22","nodeType":"YulIdentifier","src":"17467:6:22"},"nativeSrc":"17467:24:22","nodeType":"YulFunctionCall","src":"17467:24:22"},"nativeSrc":"17467:24:22","nodeType":"YulExpressionStatement","src":"17467:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17511:4:22","nodeType":"YulLiteral","src":"17511:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"17517:4:22","nodeType":"YulLiteral","src":"17517:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"17504:6:22","nodeType":"YulIdentifier","src":"17504:6:22"},"nativeSrc":"17504:18:22","nodeType":"YulFunctionCall","src":"17504:18:22"},"nativeSrc":"17504:18:22","nodeType":"YulExpressionStatement","src":"17504:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17542:4:22","nodeType":"YulLiteral","src":"17542:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"17548:2:22","nodeType":"YulIdentifier","src":"17548:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17535:6:22","nodeType":"YulIdentifier","src":"17535:6:22"},"nativeSrc":"17535:16:22","nodeType":"YulFunctionCall","src":"17535:16:22"},"nativeSrc":"17535:16:22","nodeType":"YulExpressionStatement","src":"17535:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17576:4:22","nodeType":"YulLiteral","src":"17576:4:22","type":"","value":"0x60"},{"name":"p0","nativeSrc":"17582:2:22","nodeType":"YulIdentifier","src":"17582:2:22"}],"functionName":{"name":"writeString","nativeSrc":"17564:11:22","nodeType":"YulIdentifier","src":"17564:11:22"},"nativeSrc":"17564:21:22","nodeType":"YulFunctionCall","src":"17564:21:22"},"nativeSrc":"17564:21:22","nodeType":"YulExpressionStatement","src":"17564:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31953,"isOffset":false,"isSlot":false,"src":"17270:2:22","valueSize":1},{"declaration":31956,"isOffset":false,"isSlot":false,"src":"17300:2:22","valueSize":1},{"declaration":31959,"isOffset":false,"isSlot":false,"src":"17330:2:22","valueSize":1},{"declaration":31962,"isOffset":false,"isSlot":false,"src":"17360:2:22","valueSize":1},{"declaration":31965,"isOffset":false,"isSlot":false,"src":"17390:2:22","valueSize":1},{"declaration":31947,"isOffset":false,"isSlot":false,"src":"17582:2:22","valueSize":1},{"declaration":31949,"isOffset":false,"isSlot":false,"src":"17548:2:22","valueSize":1}],"id":31967,"nodeType":"InlineAssembly","src":"16892:703:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17620:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17626:4:22","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":31968,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"17604:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17604:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31972,"nodeType":"ExpressionStatement","src":"17604:27:22"},{"AST":{"nativeSrc":"17693:156:22","nodeType":"YulBlock","src":"17693:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17714:4:22","nodeType":"YulLiteral","src":"17714:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"17720:2:22","nodeType":"YulIdentifier","src":"17720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17707:6:22","nodeType":"YulIdentifier","src":"17707:6:22"},"nativeSrc":"17707:16:22","nodeType":"YulFunctionCall","src":"17707:16:22"},"nativeSrc":"17707:16:22","nodeType":"YulExpressionStatement","src":"17707:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17743:4:22","nodeType":"YulLiteral","src":"17743:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"17749:2:22","nodeType":"YulIdentifier","src":"17749:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17736:6:22","nodeType":"YulIdentifier","src":"17736:6:22"},"nativeSrc":"17736:16:22","nodeType":"YulFunctionCall","src":"17736:16:22"},"nativeSrc":"17736:16:22","nodeType":"YulExpressionStatement","src":"17736:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17772:4:22","nodeType":"YulLiteral","src":"17772:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"17778:2:22","nodeType":"YulIdentifier","src":"17778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17765:6:22","nodeType":"YulIdentifier","src":"17765:6:22"},"nativeSrc":"17765:16:22","nodeType":"YulFunctionCall","src":"17765:16:22"},"nativeSrc":"17765:16:22","nodeType":"YulExpressionStatement","src":"17765:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17801:4:22","nodeType":"YulLiteral","src":"17801:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"17807:2:22","nodeType":"YulIdentifier","src":"17807:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17794:6:22","nodeType":"YulIdentifier","src":"17794:6:22"},"nativeSrc":"17794:16:22","nodeType":"YulFunctionCall","src":"17794:16:22"},"nativeSrc":"17794:16:22","nodeType":"YulExpressionStatement","src":"17794:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17830:4:22","nodeType":"YulLiteral","src":"17830:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"17836:2:22","nodeType":"YulIdentifier","src":"17836:2:22"}],"functionName":{"name":"mstore","nativeSrc":"17823:6:22","nodeType":"YulIdentifier","src":"17823:6:22"},"nativeSrc":"17823:16:22","nodeType":"YulFunctionCall","src":"17823:16:22"},"nativeSrc":"17823:16:22","nodeType":"YulExpressionStatement","src":"17823:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31953,"isOffset":false,"isSlot":false,"src":"17720:2:22","valueSize":1},{"declaration":31956,"isOffset":false,"isSlot":false,"src":"17749:2:22","valueSize":1},{"declaration":31959,"isOffset":false,"isSlot":false,"src":"17778:2:22","valueSize":1},{"declaration":31962,"isOffset":false,"isSlot":false,"src":"17807:2:22","valueSize":1},{"declaration":31965,"isOffset":false,"isSlot":false,"src":"17836:2:22","valueSize":1}],"id":31973,"nodeType":"InlineAssembly","src":"17684:165:22"}]},"id":31975,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16700:3:22","nodeType":"FunctionDefinition","parameters":{"id":31950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31947,"mutability":"mutable","name":"p0","nameLocation":"16712:2:22","nodeType":"VariableDeclaration","scope":31975,"src":"16704:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16704:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31949,"mutability":"mutable","name":"p1","nameLocation":"16721:2:22","nodeType":"VariableDeclaration","scope":31975,"src":"16716:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31948,"name":"bool","nodeType":"ElementaryTypeName","src":"16716:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16703:21:22"},"returnParameters":{"id":31951,"nodeType":"ParameterList","parameters":[],"src":"16739:0:22"},"scope":44426,"src":"16691:1164:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32004,"nodeType":"Block","src":"17912:1119:22","statements":[{"assignments":[31983],"declarations":[{"constant":false,"id":31983,"mutability":"mutable","name":"m0","nameLocation":"17930:2:22","nodeType":"VariableDeclaration","scope":32004,"src":"17922:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17922:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31984,"nodeType":"VariableDeclarationStatement","src":"17922:10:22"},{"assignments":[31986],"declarations":[{"constant":false,"id":31986,"mutability":"mutable","name":"m1","nameLocation":"17950:2:22","nodeType":"VariableDeclaration","scope":32004,"src":"17942:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17942:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31987,"nodeType":"VariableDeclarationStatement","src":"17942:10:22"},{"assignments":[31989],"declarations":[{"constant":false,"id":31989,"mutability":"mutable","name":"m2","nameLocation":"17970:2:22","nodeType":"VariableDeclaration","scope":32004,"src":"17962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31990,"nodeType":"VariableDeclarationStatement","src":"17962:10:22"},{"assignments":[31992],"declarations":[{"constant":false,"id":31992,"mutability":"mutable","name":"m3","nameLocation":"17990:2:22","nodeType":"VariableDeclaration","scope":32004,"src":"17982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31993,"nodeType":"VariableDeclarationStatement","src":"17982:10:22"},{"assignments":[31995],"declarations":[{"constant":false,"id":31995,"mutability":"mutable","name":"m4","nameLocation":"18010:2:22","nodeType":"VariableDeclaration","scope":32004,"src":"18002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31996,"nodeType":"VariableDeclarationStatement","src":"18002:10:22"},{"AST":{"nativeSrc":"18074:697:22","nodeType":"YulBlock","src":"18074:697:22","statements":[{"body":{"nativeSrc":"18117:313:22","nodeType":"YulBlock","src":"18117:313:22","statements":[{"nativeSrc":"18135:15:22","nodeType":"YulVariableDeclaration","src":"18135:15:22","value":{"kind":"number","nativeSrc":"18149:1:22","nodeType":"YulLiteral","src":"18149:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"18139:6:22","nodeType":"YulTypedName","src":"18139:6:22","type":""}]},{"body":{"nativeSrc":"18220:40:22","nodeType":"YulBlock","src":"18220:40:22","statements":[{"body":{"nativeSrc":"18249:9:22","nodeType":"YulBlock","src":"18249:9:22","statements":[{"nativeSrc":"18251:5:22","nodeType":"YulBreak","src":"18251:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"18237:6:22","nodeType":"YulIdentifier","src":"18237:6:22"},{"name":"w","nativeSrc":"18245:1:22","nodeType":"YulIdentifier","src":"18245:1:22"}],"functionName":{"name":"byte","nativeSrc":"18232:4:22","nodeType":"YulIdentifier","src":"18232:4:22"},"nativeSrc":"18232:15:22","nodeType":"YulFunctionCall","src":"18232:15:22"}],"functionName":{"name":"iszero","nativeSrc":"18225:6:22","nodeType":"YulIdentifier","src":"18225:6:22"},"nativeSrc":"18225:23:22","nodeType":"YulFunctionCall","src":"18225:23:22"},"nativeSrc":"18222:36:22","nodeType":"YulIf","src":"18222:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"18177:6:22","nodeType":"YulIdentifier","src":"18177:6:22"},{"kind":"number","nativeSrc":"18185:4:22","nodeType":"YulLiteral","src":"18185:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"18174:2:22","nodeType":"YulIdentifier","src":"18174:2:22"},"nativeSrc":"18174:16:22","nodeType":"YulFunctionCall","src":"18174:16:22"},"nativeSrc":"18167:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"18191:28:22","nodeType":"YulBlock","src":"18191:28:22","statements":[{"nativeSrc":"18193:24:22","nodeType":"YulAssignment","src":"18193:24:22","value":{"arguments":[{"name":"length","nativeSrc":"18207:6:22","nodeType":"YulIdentifier","src":"18207:6:22"},{"kind":"number","nativeSrc":"18215:1:22","nodeType":"YulLiteral","src":"18215:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"18203:3:22","nodeType":"YulIdentifier","src":"18203:3:22"},"nativeSrc":"18203:14:22","nodeType":"YulFunctionCall","src":"18203:14:22"},"variableNames":[{"name":"length","nativeSrc":"18193:6:22","nodeType":"YulIdentifier","src":"18193:6:22"}]}]},"pre":{"nativeSrc":"18171:2:22","nodeType":"YulBlock","src":"18171:2:22","statements":[]},"src":"18167:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"18284:3:22","nodeType":"YulIdentifier","src":"18284:3:22"},{"name":"length","nativeSrc":"18289:6:22","nodeType":"YulIdentifier","src":"18289:6:22"}],"functionName":{"name":"mstore","nativeSrc":"18277:6:22","nodeType":"YulIdentifier","src":"18277:6:22"},"nativeSrc":"18277:19:22","nodeType":"YulFunctionCall","src":"18277:19:22"},"nativeSrc":"18277:19:22","nodeType":"YulExpressionStatement","src":"18277:19:22"},{"nativeSrc":"18313:37:22","nodeType":"YulVariableDeclaration","src":"18313:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"18330:3:22","nodeType":"YulLiteral","src":"18330:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"18339:1:22","nodeType":"YulLiteral","src":"18339:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"18342:6:22","nodeType":"YulIdentifier","src":"18342:6:22"}],"functionName":{"name":"shl","nativeSrc":"18335:3:22","nodeType":"YulIdentifier","src":"18335:3:22"},"nativeSrc":"18335:14:22","nodeType":"YulFunctionCall","src":"18335:14:22"}],"functionName":{"name":"sub","nativeSrc":"18326:3:22","nodeType":"YulIdentifier","src":"18326:3:22"},"nativeSrc":"18326:24:22","nodeType":"YulFunctionCall","src":"18326:24:22"},"variables":[{"name":"shift","nativeSrc":"18317:5:22","nodeType":"YulTypedName","src":"18317:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"18378:3:22","nodeType":"YulIdentifier","src":"18378:3:22"},{"kind":"number","nativeSrc":"18383:4:22","nodeType":"YulLiteral","src":"18383:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18374:3:22","nodeType":"YulIdentifier","src":"18374:3:22"},"nativeSrc":"18374:14:22","nodeType":"YulFunctionCall","src":"18374:14:22"},{"arguments":[{"name":"shift","nativeSrc":"18394:5:22","nodeType":"YulIdentifier","src":"18394:5:22"},{"arguments":[{"name":"shift","nativeSrc":"18405:5:22","nodeType":"YulIdentifier","src":"18405:5:22"},{"name":"w","nativeSrc":"18412:1:22","nodeType":"YulIdentifier","src":"18412:1:22"}],"functionName":{"name":"shr","nativeSrc":"18401:3:22","nodeType":"YulIdentifier","src":"18401:3:22"},"nativeSrc":"18401:13:22","nodeType":"YulFunctionCall","src":"18401:13:22"}],"functionName":{"name":"shl","nativeSrc":"18390:3:22","nodeType":"YulIdentifier","src":"18390:3:22"},"nativeSrc":"18390:25:22","nodeType":"YulFunctionCall","src":"18390:25:22"}],"functionName":{"name":"mstore","nativeSrc":"18367:6:22","nodeType":"YulIdentifier","src":"18367:6:22"},"nativeSrc":"18367:49:22","nodeType":"YulFunctionCall","src":"18367:49:22"},"nativeSrc":"18367:49:22","nodeType":"YulExpressionStatement","src":"18367:49:22"}]},"name":"writeString","nativeSrc":"18088:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"18109:3:22","nodeType":"YulTypedName","src":"18109:3:22","type":""},{"name":"w","nativeSrc":"18114:1:22","nodeType":"YulTypedName","src":"18114:1:22","type":""}],"src":"18088:342:22"},{"nativeSrc":"18443:17:22","nodeType":"YulAssignment","src":"18443:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"18455:4:22","nodeType":"YulLiteral","src":"18455:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"18449:5:22","nodeType":"YulIdentifier","src":"18449:5:22"},"nativeSrc":"18449:11:22","nodeType":"YulFunctionCall","src":"18449:11:22"},"variableNames":[{"name":"m0","nativeSrc":"18443:2:22","nodeType":"YulIdentifier","src":"18443:2:22"}]},{"nativeSrc":"18473:17:22","nodeType":"YulAssignment","src":"18473:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"18485:4:22","nodeType":"YulLiteral","src":"18485:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"18479:5:22","nodeType":"YulIdentifier","src":"18479:5:22"},"nativeSrc":"18479:11:22","nodeType":"YulFunctionCall","src":"18479:11:22"},"variableNames":[{"name":"m1","nativeSrc":"18473:2:22","nodeType":"YulIdentifier","src":"18473:2:22"}]},{"nativeSrc":"18503:17:22","nodeType":"YulAssignment","src":"18503:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"18515:4:22","nodeType":"YulLiteral","src":"18515:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18509:5:22","nodeType":"YulIdentifier","src":"18509:5:22"},"nativeSrc":"18509:11:22","nodeType":"YulFunctionCall","src":"18509:11:22"},"variableNames":[{"name":"m2","nativeSrc":"18503:2:22","nodeType":"YulIdentifier","src":"18503:2:22"}]},{"nativeSrc":"18533:17:22","nodeType":"YulAssignment","src":"18533:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"18545:4:22","nodeType":"YulLiteral","src":"18545:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"18539:5:22","nodeType":"YulIdentifier","src":"18539:5:22"},"nativeSrc":"18539:11:22","nodeType":"YulFunctionCall","src":"18539:11:22"},"variableNames":[{"name":"m3","nativeSrc":"18533:2:22","nodeType":"YulIdentifier","src":"18533:2:22"}]},{"nativeSrc":"18563:17:22","nodeType":"YulAssignment","src":"18563:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"18575:4:22","nodeType":"YulLiteral","src":"18575:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"18569:5:22","nodeType":"YulIdentifier","src":"18569:5:22"},"nativeSrc":"18569:11:22","nodeType":"YulFunctionCall","src":"18569:11:22"},"variableNames":[{"name":"m4","nativeSrc":"18563:2:22","nodeType":"YulIdentifier","src":"18563:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18650:4:22","nodeType":"YulLiteral","src":"18650:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"18656:10:22","nodeType":"YulLiteral","src":"18656:10:22","type":"","value":"0xb60e72cc"}],"functionName":{"name":"mstore","nativeSrc":"18643:6:22","nodeType":"YulIdentifier","src":"18643:6:22"},"nativeSrc":"18643:24:22","nodeType":"YulFunctionCall","src":"18643:24:22"},"nativeSrc":"18643:24:22","nodeType":"YulExpressionStatement","src":"18643:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18687:4:22","nodeType":"YulLiteral","src":"18687:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"18693:4:22","nodeType":"YulLiteral","src":"18693:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"18680:6:22","nodeType":"YulIdentifier","src":"18680:6:22"},"nativeSrc":"18680:18:22","nodeType":"YulFunctionCall","src":"18680:18:22"},"nativeSrc":"18680:18:22","nodeType":"YulExpressionStatement","src":"18680:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18718:4:22","nodeType":"YulLiteral","src":"18718:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"18724:2:22","nodeType":"YulIdentifier","src":"18724:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18711:6:22","nodeType":"YulIdentifier","src":"18711:6:22"},"nativeSrc":"18711:16:22","nodeType":"YulFunctionCall","src":"18711:16:22"},"nativeSrc":"18711:16:22","nodeType":"YulExpressionStatement","src":"18711:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18752:4:22","nodeType":"YulLiteral","src":"18752:4:22","type":"","value":"0x60"},{"name":"p0","nativeSrc":"18758:2:22","nodeType":"YulIdentifier","src":"18758:2:22"}],"functionName":{"name":"writeString","nativeSrc":"18740:11:22","nodeType":"YulIdentifier","src":"18740:11:22"},"nativeSrc":"18740:21:22","nodeType":"YulFunctionCall","src":"18740:21:22"},"nativeSrc":"18740:21:22","nodeType":"YulExpressionStatement","src":"18740:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31983,"isOffset":false,"isSlot":false,"src":"18443:2:22","valueSize":1},{"declaration":31986,"isOffset":false,"isSlot":false,"src":"18473:2:22","valueSize":1},{"declaration":31989,"isOffset":false,"isSlot":false,"src":"18503:2:22","valueSize":1},{"declaration":31992,"isOffset":false,"isSlot":false,"src":"18533:2:22","valueSize":1},{"declaration":31995,"isOffset":false,"isSlot":false,"src":"18563:2:22","valueSize":1},{"declaration":31977,"isOffset":false,"isSlot":false,"src":"18758:2:22","valueSize":1},{"declaration":31979,"isOffset":false,"isSlot":false,"src":"18724:2:22","valueSize":1}],"id":31997,"nodeType":"InlineAssembly","src":"18065:706:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":31999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18796:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18802:4:22","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":31998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"18780:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18780:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32002,"nodeType":"ExpressionStatement","src":"18780:27:22"},{"AST":{"nativeSrc":"18869:156:22","nodeType":"YulBlock","src":"18869:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18890:4:22","nodeType":"YulLiteral","src":"18890:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"18896:2:22","nodeType":"YulIdentifier","src":"18896:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18883:6:22","nodeType":"YulIdentifier","src":"18883:6:22"},"nativeSrc":"18883:16:22","nodeType":"YulFunctionCall","src":"18883:16:22"},"nativeSrc":"18883:16:22","nodeType":"YulExpressionStatement","src":"18883:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18919:4:22","nodeType":"YulLiteral","src":"18919:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"18925:2:22","nodeType":"YulIdentifier","src":"18925:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18912:6:22","nodeType":"YulIdentifier","src":"18912:6:22"},"nativeSrc":"18912:16:22","nodeType":"YulFunctionCall","src":"18912:16:22"},"nativeSrc":"18912:16:22","nodeType":"YulExpressionStatement","src":"18912:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18948:4:22","nodeType":"YulLiteral","src":"18948:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"18954:2:22","nodeType":"YulIdentifier","src":"18954:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18941:6:22","nodeType":"YulIdentifier","src":"18941:6:22"},"nativeSrc":"18941:16:22","nodeType":"YulFunctionCall","src":"18941:16:22"},"nativeSrc":"18941:16:22","nodeType":"YulExpressionStatement","src":"18941:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18977:4:22","nodeType":"YulLiteral","src":"18977:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"18983:2:22","nodeType":"YulIdentifier","src":"18983:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18970:6:22","nodeType":"YulIdentifier","src":"18970:6:22"},"nativeSrc":"18970:16:22","nodeType":"YulFunctionCall","src":"18970:16:22"},"nativeSrc":"18970:16:22","nodeType":"YulExpressionStatement","src":"18970:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19006:4:22","nodeType":"YulLiteral","src":"19006:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"19012:2:22","nodeType":"YulIdentifier","src":"19012:2:22"}],"functionName":{"name":"mstore","nativeSrc":"18999:6:22","nodeType":"YulIdentifier","src":"18999:6:22"},"nativeSrc":"18999:16:22","nodeType":"YulFunctionCall","src":"18999:16:22"},"nativeSrc":"18999:16:22","nodeType":"YulExpressionStatement","src":"18999:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31983,"isOffset":false,"isSlot":false,"src":"18896:2:22","valueSize":1},{"declaration":31986,"isOffset":false,"isSlot":false,"src":"18925:2:22","valueSize":1},{"declaration":31989,"isOffset":false,"isSlot":false,"src":"18954:2:22","valueSize":1},{"declaration":31992,"isOffset":false,"isSlot":false,"src":"18983:2:22","valueSize":1},{"declaration":31995,"isOffset":false,"isSlot":false,"src":"19012:2:22","valueSize":1}],"id":32003,"nodeType":"InlineAssembly","src":"18860:165:22"}]},"id":32005,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17870:3:22","nodeType":"FunctionDefinition","parameters":{"id":31980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31977,"mutability":"mutable","name":"p0","nameLocation":"17882:2:22","nodeType":"VariableDeclaration","scope":32005,"src":"17874:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17874:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31979,"mutability":"mutable","name":"p1","nameLocation":"17894:2:22","nodeType":"VariableDeclaration","scope":32005,"src":"17886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31978,"name":"uint256","nodeType":"ElementaryTypeName","src":"17886:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17873:24:22"},"returnParameters":{"id":31981,"nodeType":"ParameterList","parameters":[],"src":"17912:0:22"},"scope":44426,"src":"17861:1170:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32040,"nodeType":"Block","src":"19088:1312:22","statements":[{"assignments":[32013],"declarations":[{"constant":false,"id":32013,"mutability":"mutable","name":"m0","nameLocation":"19106:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19098:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32014,"nodeType":"VariableDeclarationStatement","src":"19098:10:22"},{"assignments":[32016],"declarations":[{"constant":false,"id":32016,"mutability":"mutable","name":"m1","nameLocation":"19126:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19118:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19118:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32017,"nodeType":"VariableDeclarationStatement","src":"19118:10:22"},{"assignments":[32019],"declarations":[{"constant":false,"id":32019,"mutability":"mutable","name":"m2","nameLocation":"19146:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32020,"nodeType":"VariableDeclarationStatement","src":"19138:10:22"},{"assignments":[32022],"declarations":[{"constant":false,"id":32022,"mutability":"mutable","name":"m3","nameLocation":"19166:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19158:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32023,"nodeType":"VariableDeclarationStatement","src":"19158:10:22"},{"assignments":[32025],"declarations":[{"constant":false,"id":32025,"mutability":"mutable","name":"m4","nameLocation":"19186:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19178:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19178:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32026,"nodeType":"VariableDeclarationStatement","src":"19178:10:22"},{"assignments":[32028],"declarations":[{"constant":false,"id":32028,"mutability":"mutable","name":"m5","nameLocation":"19206:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19198:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19198:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32029,"nodeType":"VariableDeclarationStatement","src":"19198:10:22"},{"assignments":[32031],"declarations":[{"constant":false,"id":32031,"mutability":"mutable","name":"m6","nameLocation":"19226:2:22","nodeType":"VariableDeclaration","scope":32040,"src":"19218:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19218:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32032,"nodeType":"VariableDeclarationStatement","src":"19218:10:22"},{"AST":{"nativeSrc":"19290:792:22","nodeType":"YulBlock","src":"19290:792:22","statements":[{"body":{"nativeSrc":"19333:313:22","nodeType":"YulBlock","src":"19333:313:22","statements":[{"nativeSrc":"19351:15:22","nodeType":"YulVariableDeclaration","src":"19351:15:22","value":{"kind":"number","nativeSrc":"19365:1:22","nodeType":"YulLiteral","src":"19365:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"19355:6:22","nodeType":"YulTypedName","src":"19355:6:22","type":""}]},{"body":{"nativeSrc":"19436:40:22","nodeType":"YulBlock","src":"19436:40:22","statements":[{"body":{"nativeSrc":"19465:9:22","nodeType":"YulBlock","src":"19465:9:22","statements":[{"nativeSrc":"19467:5:22","nodeType":"YulBreak","src":"19467:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"19453:6:22","nodeType":"YulIdentifier","src":"19453:6:22"},{"name":"w","nativeSrc":"19461:1:22","nodeType":"YulIdentifier","src":"19461:1:22"}],"functionName":{"name":"byte","nativeSrc":"19448:4:22","nodeType":"YulIdentifier","src":"19448:4:22"},"nativeSrc":"19448:15:22","nodeType":"YulFunctionCall","src":"19448:15:22"}],"functionName":{"name":"iszero","nativeSrc":"19441:6:22","nodeType":"YulIdentifier","src":"19441:6:22"},"nativeSrc":"19441:23:22","nodeType":"YulFunctionCall","src":"19441:23:22"},"nativeSrc":"19438:36:22","nodeType":"YulIf","src":"19438:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"19393:6:22","nodeType":"YulIdentifier","src":"19393:6:22"},{"kind":"number","nativeSrc":"19401:4:22","nodeType":"YulLiteral","src":"19401:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"19390:2:22","nodeType":"YulIdentifier","src":"19390:2:22"},"nativeSrc":"19390:16:22","nodeType":"YulFunctionCall","src":"19390:16:22"},"nativeSrc":"19383:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"19407:28:22","nodeType":"YulBlock","src":"19407:28:22","statements":[{"nativeSrc":"19409:24:22","nodeType":"YulAssignment","src":"19409:24:22","value":{"arguments":[{"name":"length","nativeSrc":"19423:6:22","nodeType":"YulIdentifier","src":"19423:6:22"},{"kind":"number","nativeSrc":"19431:1:22","nodeType":"YulLiteral","src":"19431:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"19419:3:22","nodeType":"YulIdentifier","src":"19419:3:22"},"nativeSrc":"19419:14:22","nodeType":"YulFunctionCall","src":"19419:14:22"},"variableNames":[{"name":"length","nativeSrc":"19409:6:22","nodeType":"YulIdentifier","src":"19409:6:22"}]}]},"pre":{"nativeSrc":"19387:2:22","nodeType":"YulBlock","src":"19387:2:22","statements":[]},"src":"19383:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"19500:3:22","nodeType":"YulIdentifier","src":"19500:3:22"},{"name":"length","nativeSrc":"19505:6:22","nodeType":"YulIdentifier","src":"19505:6:22"}],"functionName":{"name":"mstore","nativeSrc":"19493:6:22","nodeType":"YulIdentifier","src":"19493:6:22"},"nativeSrc":"19493:19:22","nodeType":"YulFunctionCall","src":"19493:19:22"},"nativeSrc":"19493:19:22","nodeType":"YulExpressionStatement","src":"19493:19:22"},{"nativeSrc":"19529:37:22","nodeType":"YulVariableDeclaration","src":"19529:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"19546:3:22","nodeType":"YulLiteral","src":"19546:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"19555:1:22","nodeType":"YulLiteral","src":"19555:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"19558:6:22","nodeType":"YulIdentifier","src":"19558:6:22"}],"functionName":{"name":"shl","nativeSrc":"19551:3:22","nodeType":"YulIdentifier","src":"19551:3:22"},"nativeSrc":"19551:14:22","nodeType":"YulFunctionCall","src":"19551:14:22"}],"functionName":{"name":"sub","nativeSrc":"19542:3:22","nodeType":"YulIdentifier","src":"19542:3:22"},"nativeSrc":"19542:24:22","nodeType":"YulFunctionCall","src":"19542:24:22"},"variables":[{"name":"shift","nativeSrc":"19533:5:22","nodeType":"YulTypedName","src":"19533:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"19594:3:22","nodeType":"YulIdentifier","src":"19594:3:22"},{"kind":"number","nativeSrc":"19599:4:22","nodeType":"YulLiteral","src":"19599:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19590:3:22","nodeType":"YulIdentifier","src":"19590:3:22"},"nativeSrc":"19590:14:22","nodeType":"YulFunctionCall","src":"19590:14:22"},{"arguments":[{"name":"shift","nativeSrc":"19610:5:22","nodeType":"YulIdentifier","src":"19610:5:22"},{"arguments":[{"name":"shift","nativeSrc":"19621:5:22","nodeType":"YulIdentifier","src":"19621:5:22"},{"name":"w","nativeSrc":"19628:1:22","nodeType":"YulIdentifier","src":"19628:1:22"}],"functionName":{"name":"shr","nativeSrc":"19617:3:22","nodeType":"YulIdentifier","src":"19617:3:22"},"nativeSrc":"19617:13:22","nodeType":"YulFunctionCall","src":"19617:13:22"}],"functionName":{"name":"shl","nativeSrc":"19606:3:22","nodeType":"YulIdentifier","src":"19606:3:22"},"nativeSrc":"19606:25:22","nodeType":"YulFunctionCall","src":"19606:25:22"}],"functionName":{"name":"mstore","nativeSrc":"19583:6:22","nodeType":"YulIdentifier","src":"19583:6:22"},"nativeSrc":"19583:49:22","nodeType":"YulFunctionCall","src":"19583:49:22"},"nativeSrc":"19583:49:22","nodeType":"YulExpressionStatement","src":"19583:49:22"}]},"name":"writeString","nativeSrc":"19304:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"19325:3:22","nodeType":"YulTypedName","src":"19325:3:22","type":""},{"name":"w","nativeSrc":"19330:1:22","nodeType":"YulTypedName","src":"19330:1:22","type":""}],"src":"19304:342:22"},{"nativeSrc":"19659:17:22","nodeType":"YulAssignment","src":"19659:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19671:4:22","nodeType":"YulLiteral","src":"19671:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"19665:5:22","nodeType":"YulIdentifier","src":"19665:5:22"},"nativeSrc":"19665:11:22","nodeType":"YulFunctionCall","src":"19665:11:22"},"variableNames":[{"name":"m0","nativeSrc":"19659:2:22","nodeType":"YulIdentifier","src":"19659:2:22"}]},{"nativeSrc":"19689:17:22","nodeType":"YulAssignment","src":"19689:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19701:4:22","nodeType":"YulLiteral","src":"19701:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"19695:5:22","nodeType":"YulIdentifier","src":"19695:5:22"},"nativeSrc":"19695:11:22","nodeType":"YulFunctionCall","src":"19695:11:22"},"variableNames":[{"name":"m1","nativeSrc":"19689:2:22","nodeType":"YulIdentifier","src":"19689:2:22"}]},{"nativeSrc":"19719:17:22","nodeType":"YulAssignment","src":"19719:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19731:4:22","nodeType":"YulLiteral","src":"19731:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"19725:5:22","nodeType":"YulIdentifier","src":"19725:5:22"},"nativeSrc":"19725:11:22","nodeType":"YulFunctionCall","src":"19725:11:22"},"variableNames":[{"name":"m2","nativeSrc":"19719:2:22","nodeType":"YulIdentifier","src":"19719:2:22"}]},{"nativeSrc":"19749:17:22","nodeType":"YulAssignment","src":"19749:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19761:4:22","nodeType":"YulLiteral","src":"19761:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"19755:5:22","nodeType":"YulIdentifier","src":"19755:5:22"},"nativeSrc":"19755:11:22","nodeType":"YulFunctionCall","src":"19755:11:22"},"variableNames":[{"name":"m3","nativeSrc":"19749:2:22","nodeType":"YulIdentifier","src":"19749:2:22"}]},{"nativeSrc":"19779:17:22","nodeType":"YulAssignment","src":"19779:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19791:4:22","nodeType":"YulLiteral","src":"19791:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"19785:5:22","nodeType":"YulIdentifier","src":"19785:5:22"},"nativeSrc":"19785:11:22","nodeType":"YulFunctionCall","src":"19785:11:22"},"variableNames":[{"name":"m4","nativeSrc":"19779:2:22","nodeType":"YulIdentifier","src":"19779:2:22"}]},{"nativeSrc":"19809:17:22","nodeType":"YulAssignment","src":"19809:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19821:4:22","nodeType":"YulLiteral","src":"19821:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"19815:5:22","nodeType":"YulIdentifier","src":"19815:5:22"},"nativeSrc":"19815:11:22","nodeType":"YulFunctionCall","src":"19815:11:22"},"variableNames":[{"name":"m5","nativeSrc":"19809:2:22","nodeType":"YulIdentifier","src":"19809:2:22"}]},{"nativeSrc":"19839:17:22","nodeType":"YulAssignment","src":"19839:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"19851:4:22","nodeType":"YulLiteral","src":"19851:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"19845:5:22","nodeType":"YulIdentifier","src":"19845:5:22"},"nativeSrc":"19845:11:22","nodeType":"YulFunctionCall","src":"19845:11:22"},"variableNames":[{"name":"m6","nativeSrc":"19839:2:22","nodeType":"YulIdentifier","src":"19839:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19925:4:22","nodeType":"YulLiteral","src":"19925:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"19931:10:22","nodeType":"YulLiteral","src":"19931:10:22","type":"","value":"0x4b5c4277"}],"functionName":{"name":"mstore","nativeSrc":"19918:6:22","nodeType":"YulIdentifier","src":"19918:6:22"},"nativeSrc":"19918:24:22","nodeType":"YulFunctionCall","src":"19918:24:22"},"nativeSrc":"19918:24:22","nodeType":"YulExpressionStatement","src":"19918:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19962:4:22","nodeType":"YulLiteral","src":"19962:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"19968:4:22","nodeType":"YulLiteral","src":"19968:4:22","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"19955:6:22","nodeType":"YulIdentifier","src":"19955:6:22"},"nativeSrc":"19955:18:22","nodeType":"YulFunctionCall","src":"19955:18:22"},"nativeSrc":"19955:18:22","nodeType":"YulExpressionStatement","src":"19955:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19993:4:22","nodeType":"YulLiteral","src":"19993:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"19999:4:22","nodeType":"YulLiteral","src":"19999:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"19986:6:22","nodeType":"YulIdentifier","src":"19986:6:22"},"nativeSrc":"19986:18:22","nodeType":"YulFunctionCall","src":"19986:18:22"},"nativeSrc":"19986:18:22","nodeType":"YulExpressionStatement","src":"19986:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20029:4:22","nodeType":"YulLiteral","src":"20029:4:22","type":"","value":"0x60"},{"name":"p0","nativeSrc":"20035:2:22","nodeType":"YulIdentifier","src":"20035:2:22"}],"functionName":{"name":"writeString","nativeSrc":"20017:11:22","nodeType":"YulIdentifier","src":"20017:11:22"},"nativeSrc":"20017:21:22","nodeType":"YulFunctionCall","src":"20017:21:22"},"nativeSrc":"20017:21:22","nodeType":"YulExpressionStatement","src":"20017:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20063:4:22","nodeType":"YulLiteral","src":"20063:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"20069:2:22","nodeType":"YulIdentifier","src":"20069:2:22"}],"functionName":{"name":"writeString","nativeSrc":"20051:11:22","nodeType":"YulIdentifier","src":"20051:11:22"},"nativeSrc":"20051:21:22","nodeType":"YulFunctionCall","src":"20051:21:22"},"nativeSrc":"20051:21:22","nodeType":"YulExpressionStatement","src":"20051:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32013,"isOffset":false,"isSlot":false,"src":"19659:2:22","valueSize":1},{"declaration":32016,"isOffset":false,"isSlot":false,"src":"19689:2:22","valueSize":1},{"declaration":32019,"isOffset":false,"isSlot":false,"src":"19719:2:22","valueSize":1},{"declaration":32022,"isOffset":false,"isSlot":false,"src":"19749:2:22","valueSize":1},{"declaration":32025,"isOffset":false,"isSlot":false,"src":"19779:2:22","valueSize":1},{"declaration":32028,"isOffset":false,"isSlot":false,"src":"19809:2:22","valueSize":1},{"declaration":32031,"isOffset":false,"isSlot":false,"src":"19839:2:22","valueSize":1},{"declaration":32007,"isOffset":false,"isSlot":false,"src":"20035:2:22","valueSize":1},{"declaration":32009,"isOffset":false,"isSlot":false,"src":"20069:2:22","valueSize":1}],"id":32033,"nodeType":"InlineAssembly","src":"19281:801:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20107:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20113:4:22","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":32034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"20091:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20091:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32038,"nodeType":"ExpressionStatement","src":"20091:27:22"},{"AST":{"nativeSrc":"20180:214:22","nodeType":"YulBlock","src":"20180:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"20201:4:22","nodeType":"YulLiteral","src":"20201:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"20207:2:22","nodeType":"YulIdentifier","src":"20207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20194:6:22","nodeType":"YulIdentifier","src":"20194:6:22"},"nativeSrc":"20194:16:22","nodeType":"YulFunctionCall","src":"20194:16:22"},"nativeSrc":"20194:16:22","nodeType":"YulExpressionStatement","src":"20194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20230:4:22","nodeType":"YulLiteral","src":"20230:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"20236:2:22","nodeType":"YulIdentifier","src":"20236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20223:6:22","nodeType":"YulIdentifier","src":"20223:6:22"},"nativeSrc":"20223:16:22","nodeType":"YulFunctionCall","src":"20223:16:22"},"nativeSrc":"20223:16:22","nodeType":"YulExpressionStatement","src":"20223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20259:4:22","nodeType":"YulLiteral","src":"20259:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"20265:2:22","nodeType":"YulIdentifier","src":"20265:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20252:6:22","nodeType":"YulIdentifier","src":"20252:6:22"},"nativeSrc":"20252:16:22","nodeType":"YulFunctionCall","src":"20252:16:22"},"nativeSrc":"20252:16:22","nodeType":"YulExpressionStatement","src":"20252:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20288:4:22","nodeType":"YulLiteral","src":"20288:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"20294:2:22","nodeType":"YulIdentifier","src":"20294:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20281:6:22","nodeType":"YulIdentifier","src":"20281:6:22"},"nativeSrc":"20281:16:22","nodeType":"YulFunctionCall","src":"20281:16:22"},"nativeSrc":"20281:16:22","nodeType":"YulExpressionStatement","src":"20281:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20317:4:22","nodeType":"YulLiteral","src":"20317:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"20323:2:22","nodeType":"YulIdentifier","src":"20323:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20310:6:22","nodeType":"YulIdentifier","src":"20310:6:22"},"nativeSrc":"20310:16:22","nodeType":"YulFunctionCall","src":"20310:16:22"},"nativeSrc":"20310:16:22","nodeType":"YulExpressionStatement","src":"20310:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20346:4:22","nodeType":"YulLiteral","src":"20346:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"20352:2:22","nodeType":"YulIdentifier","src":"20352:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20339:6:22","nodeType":"YulIdentifier","src":"20339:6:22"},"nativeSrc":"20339:16:22","nodeType":"YulFunctionCall","src":"20339:16:22"},"nativeSrc":"20339:16:22","nodeType":"YulExpressionStatement","src":"20339:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20375:4:22","nodeType":"YulLiteral","src":"20375:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"20381:2:22","nodeType":"YulIdentifier","src":"20381:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20368:6:22","nodeType":"YulIdentifier","src":"20368:6:22"},"nativeSrc":"20368:16:22","nodeType":"YulFunctionCall","src":"20368:16:22"},"nativeSrc":"20368:16:22","nodeType":"YulExpressionStatement","src":"20368:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32013,"isOffset":false,"isSlot":false,"src":"20207:2:22","valueSize":1},{"declaration":32016,"isOffset":false,"isSlot":false,"src":"20236:2:22","valueSize":1},{"declaration":32019,"isOffset":false,"isSlot":false,"src":"20265:2:22","valueSize":1},{"declaration":32022,"isOffset":false,"isSlot":false,"src":"20294:2:22","valueSize":1},{"declaration":32025,"isOffset":false,"isSlot":false,"src":"20323:2:22","valueSize":1},{"declaration":32028,"isOffset":false,"isSlot":false,"src":"20352:2:22","valueSize":1},{"declaration":32031,"isOffset":false,"isSlot":false,"src":"20381:2:22","valueSize":1}],"id":32039,"nodeType":"InlineAssembly","src":"20171:223:22"}]},"id":32041,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19046:3:22","nodeType":"FunctionDefinition","parameters":{"id":32010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32007,"mutability":"mutable","name":"p0","nameLocation":"19058:2:22","nodeType":"VariableDeclaration","scope":32041,"src":"19050:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32006,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19050:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32009,"mutability":"mutable","name":"p1","nameLocation":"19070:2:22","nodeType":"VariableDeclaration","scope":32041,"src":"19062:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32008,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19062:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19049:24:22"},"returnParameters":{"id":32011,"nodeType":"ParameterList","parameters":[],"src":"19088:0:22"},"scope":44426,"src":"19037:1363:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32069,"nodeType":"Block","src":"20469:687:22","statements":[{"assignments":[32051],"declarations":[{"constant":false,"id":32051,"mutability":"mutable","name":"m0","nameLocation":"20487:2:22","nodeType":"VariableDeclaration","scope":32069,"src":"20479:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20479:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32052,"nodeType":"VariableDeclarationStatement","src":"20479:10:22"},{"assignments":[32054],"declarations":[{"constant":false,"id":32054,"mutability":"mutable","name":"m1","nameLocation":"20507:2:22","nodeType":"VariableDeclaration","scope":32069,"src":"20499:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20499:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32055,"nodeType":"VariableDeclarationStatement","src":"20499:10:22"},{"assignments":[32057],"declarations":[{"constant":false,"id":32057,"mutability":"mutable","name":"m2","nameLocation":"20527:2:22","nodeType":"VariableDeclaration","scope":32069,"src":"20519:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20519:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32058,"nodeType":"VariableDeclarationStatement","src":"20519:10:22"},{"assignments":[32060],"declarations":[{"constant":false,"id":32060,"mutability":"mutable","name":"m3","nameLocation":"20547:2:22","nodeType":"VariableDeclaration","scope":32069,"src":"20539:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20539:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32061,"nodeType":"VariableDeclarationStatement","src":"20539:10:22"},{"AST":{"nativeSrc":"20611:314:22","nodeType":"YulBlock","src":"20611:314:22","statements":[{"nativeSrc":"20625:17:22","nodeType":"YulAssignment","src":"20625:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"20637:4:22","nodeType":"YulLiteral","src":"20637:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"20631:5:22","nodeType":"YulIdentifier","src":"20631:5:22"},"nativeSrc":"20631:11:22","nodeType":"YulFunctionCall","src":"20631:11:22"},"variableNames":[{"name":"m0","nativeSrc":"20625:2:22","nodeType":"YulIdentifier","src":"20625:2:22"}]},{"nativeSrc":"20655:17:22","nodeType":"YulAssignment","src":"20655:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"20667:4:22","nodeType":"YulLiteral","src":"20667:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"20661:5:22","nodeType":"YulIdentifier","src":"20661:5:22"},"nativeSrc":"20661:11:22","nodeType":"YulFunctionCall","src":"20661:11:22"},"variableNames":[{"name":"m1","nativeSrc":"20655:2:22","nodeType":"YulIdentifier","src":"20655:2:22"}]},{"nativeSrc":"20685:17:22","nodeType":"YulAssignment","src":"20685:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"20697:4:22","nodeType":"YulLiteral","src":"20697:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"20691:5:22","nodeType":"YulIdentifier","src":"20691:5:22"},"nativeSrc":"20691:11:22","nodeType":"YulFunctionCall","src":"20691:11:22"},"variableNames":[{"name":"m2","nativeSrc":"20685:2:22","nodeType":"YulIdentifier","src":"20685:2:22"}]},{"nativeSrc":"20715:17:22","nodeType":"YulAssignment","src":"20715:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"20727:4:22","nodeType":"YulLiteral","src":"20727:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"20721:5:22","nodeType":"YulIdentifier","src":"20721:5:22"},"nativeSrc":"20721:11:22","nodeType":"YulFunctionCall","src":"20721:11:22"},"variableNames":[{"name":"m3","nativeSrc":"20715:2:22","nodeType":"YulIdentifier","src":"20715:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20811:4:22","nodeType":"YulLiteral","src":"20811:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"20817:10:22","nodeType":"YulLiteral","src":"20817:10:22","type":"","value":"0x018c84c2"}],"functionName":{"name":"mstore","nativeSrc":"20804:6:22","nodeType":"YulIdentifier","src":"20804:6:22"},"nativeSrc":"20804:24:22","nodeType":"YulFunctionCall","src":"20804:24:22"},"nativeSrc":"20804:24:22","nodeType":"YulExpressionStatement","src":"20804:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20848:4:22","nodeType":"YulLiteral","src":"20848:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"20854:2:22","nodeType":"YulIdentifier","src":"20854:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20841:6:22","nodeType":"YulIdentifier","src":"20841:6:22"},"nativeSrc":"20841:16:22","nodeType":"YulFunctionCall","src":"20841:16:22"},"nativeSrc":"20841:16:22","nodeType":"YulExpressionStatement","src":"20841:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20877:4:22","nodeType":"YulLiteral","src":"20877:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"20883:2:22","nodeType":"YulIdentifier","src":"20883:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20870:6:22","nodeType":"YulIdentifier","src":"20870:6:22"},"nativeSrc":"20870:16:22","nodeType":"YulFunctionCall","src":"20870:16:22"},"nativeSrc":"20870:16:22","nodeType":"YulExpressionStatement","src":"20870:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20906:4:22","nodeType":"YulLiteral","src":"20906:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"20912:2:22","nodeType":"YulIdentifier","src":"20912:2:22"}],"functionName":{"name":"mstore","nativeSrc":"20899:6:22","nodeType":"YulIdentifier","src":"20899:6:22"},"nativeSrc":"20899:16:22","nodeType":"YulFunctionCall","src":"20899:16:22"},"nativeSrc":"20899:16:22","nodeType":"YulExpressionStatement","src":"20899:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32051,"isOffset":false,"isSlot":false,"src":"20625:2:22","valueSize":1},{"declaration":32054,"isOffset":false,"isSlot":false,"src":"20655:2:22","valueSize":1},{"declaration":32057,"isOffset":false,"isSlot":false,"src":"20685:2:22","valueSize":1},{"declaration":32060,"isOffset":false,"isSlot":false,"src":"20715:2:22","valueSize":1},{"declaration":32043,"isOffset":false,"isSlot":false,"src":"20854:2:22","valueSize":1},{"declaration":32045,"isOffset":false,"isSlot":false,"src":"20883:2:22","valueSize":1},{"declaration":32047,"isOffset":false,"isSlot":false,"src":"20912:2:22","valueSize":1}],"id":32062,"nodeType":"InlineAssembly","src":"20602:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20950:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20956:4:22","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":32063,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"20934:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20934:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32067,"nodeType":"ExpressionStatement","src":"20934:27:22"},{"AST":{"nativeSrc":"21023:127:22","nodeType":"YulBlock","src":"21023:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21044:4:22","nodeType":"YulLiteral","src":"21044:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21050:2:22","nodeType":"YulIdentifier","src":"21050:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21037:6:22","nodeType":"YulIdentifier","src":"21037:6:22"},"nativeSrc":"21037:16:22","nodeType":"YulFunctionCall","src":"21037:16:22"},"nativeSrc":"21037:16:22","nodeType":"YulExpressionStatement","src":"21037:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21073:4:22","nodeType":"YulLiteral","src":"21073:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21079:2:22","nodeType":"YulIdentifier","src":"21079:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21066:6:22","nodeType":"YulIdentifier","src":"21066:6:22"},"nativeSrc":"21066:16:22","nodeType":"YulFunctionCall","src":"21066:16:22"},"nativeSrc":"21066:16:22","nodeType":"YulExpressionStatement","src":"21066:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21102:4:22","nodeType":"YulLiteral","src":"21102:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21108:2:22","nodeType":"YulIdentifier","src":"21108:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21095:6:22","nodeType":"YulIdentifier","src":"21095:6:22"},"nativeSrc":"21095:16:22","nodeType":"YulFunctionCall","src":"21095:16:22"},"nativeSrc":"21095:16:22","nodeType":"YulExpressionStatement","src":"21095:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21131:4:22","nodeType":"YulLiteral","src":"21131:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21137:2:22","nodeType":"YulIdentifier","src":"21137:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21124:6:22","nodeType":"YulIdentifier","src":"21124:6:22"},"nativeSrc":"21124:16:22","nodeType":"YulFunctionCall","src":"21124:16:22"},"nativeSrc":"21124:16:22","nodeType":"YulExpressionStatement","src":"21124:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32051,"isOffset":false,"isSlot":false,"src":"21050:2:22","valueSize":1},{"declaration":32054,"isOffset":false,"isSlot":false,"src":"21079:2:22","valueSize":1},{"declaration":32057,"isOffset":false,"isSlot":false,"src":"21108:2:22","valueSize":1},{"declaration":32060,"isOffset":false,"isSlot":false,"src":"21137:2:22","valueSize":1}],"id":32068,"nodeType":"InlineAssembly","src":"21014:136:22"}]},"id":32070,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20415:3:22","nodeType":"FunctionDefinition","parameters":{"id":32048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32043,"mutability":"mutable","name":"p0","nameLocation":"20427:2:22","nodeType":"VariableDeclaration","scope":32070,"src":"20419:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32042,"name":"address","nodeType":"ElementaryTypeName","src":"20419:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32045,"mutability":"mutable","name":"p1","nameLocation":"20439:2:22","nodeType":"VariableDeclaration","scope":32070,"src":"20431:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32044,"name":"address","nodeType":"ElementaryTypeName","src":"20431:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32047,"mutability":"mutable","name":"p2","nameLocation":"20451:2:22","nodeType":"VariableDeclaration","scope":32070,"src":"20443:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32046,"name":"address","nodeType":"ElementaryTypeName","src":"20443:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20418:36:22"},"returnParameters":{"id":32049,"nodeType":"ParameterList","parameters":[],"src":"20469:0:22"},"scope":44426,"src":"20406:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32098,"nodeType":"Block","src":"21222:684:22","statements":[{"assignments":[32080],"declarations":[{"constant":false,"id":32080,"mutability":"mutable","name":"m0","nameLocation":"21240:2:22","nodeType":"VariableDeclaration","scope":32098,"src":"21232:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21232:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32081,"nodeType":"VariableDeclarationStatement","src":"21232:10:22"},{"assignments":[32083],"declarations":[{"constant":false,"id":32083,"mutability":"mutable","name":"m1","nameLocation":"21260:2:22","nodeType":"VariableDeclaration","scope":32098,"src":"21252:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21252:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32084,"nodeType":"VariableDeclarationStatement","src":"21252:10:22"},{"assignments":[32086],"declarations":[{"constant":false,"id":32086,"mutability":"mutable","name":"m2","nameLocation":"21280:2:22","nodeType":"VariableDeclaration","scope":32098,"src":"21272:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21272:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32087,"nodeType":"VariableDeclarationStatement","src":"21272:10:22"},{"assignments":[32089],"declarations":[{"constant":false,"id":32089,"mutability":"mutable","name":"m3","nameLocation":"21300:2:22","nodeType":"VariableDeclaration","scope":32098,"src":"21292:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21292:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32090,"nodeType":"VariableDeclarationStatement","src":"21292:10:22"},{"AST":{"nativeSrc":"21364:311:22","nodeType":"YulBlock","src":"21364:311:22","statements":[{"nativeSrc":"21378:17:22","nodeType":"YulAssignment","src":"21378:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"21390:4:22","nodeType":"YulLiteral","src":"21390:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"21384:5:22","nodeType":"YulIdentifier","src":"21384:5:22"},"nativeSrc":"21384:11:22","nodeType":"YulFunctionCall","src":"21384:11:22"},"variableNames":[{"name":"m0","nativeSrc":"21378:2:22","nodeType":"YulIdentifier","src":"21378:2:22"}]},{"nativeSrc":"21408:17:22","nodeType":"YulAssignment","src":"21408:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"21420:4:22","nodeType":"YulLiteral","src":"21420:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"21414:5:22","nodeType":"YulIdentifier","src":"21414:5:22"},"nativeSrc":"21414:11:22","nodeType":"YulFunctionCall","src":"21414:11:22"},"variableNames":[{"name":"m1","nativeSrc":"21408:2:22","nodeType":"YulIdentifier","src":"21408:2:22"}]},{"nativeSrc":"21438:17:22","nodeType":"YulAssignment","src":"21438:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"21450:4:22","nodeType":"YulLiteral","src":"21450:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"21444:5:22","nodeType":"YulIdentifier","src":"21444:5:22"},"nativeSrc":"21444:11:22","nodeType":"YulFunctionCall","src":"21444:11:22"},"variableNames":[{"name":"m2","nativeSrc":"21438:2:22","nodeType":"YulIdentifier","src":"21438:2:22"}]},{"nativeSrc":"21468:17:22","nodeType":"YulAssignment","src":"21468:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"21480:4:22","nodeType":"YulLiteral","src":"21480:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"21474:5:22","nodeType":"YulIdentifier","src":"21474:5:22"},"nativeSrc":"21474:11:22","nodeType":"YulFunctionCall","src":"21474:11:22"},"variableNames":[{"name":"m3","nativeSrc":"21468:2:22","nodeType":"YulIdentifier","src":"21468:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21561:4:22","nodeType":"YulLiteral","src":"21561:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"21567:10:22","nodeType":"YulLiteral","src":"21567:10:22","type":"","value":"0xf2a66286"}],"functionName":{"name":"mstore","nativeSrc":"21554:6:22","nodeType":"YulIdentifier","src":"21554:6:22"},"nativeSrc":"21554:24:22","nodeType":"YulFunctionCall","src":"21554:24:22"},"nativeSrc":"21554:24:22","nodeType":"YulExpressionStatement","src":"21554:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21598:4:22","nodeType":"YulLiteral","src":"21598:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"21604:2:22","nodeType":"YulIdentifier","src":"21604:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21591:6:22","nodeType":"YulIdentifier","src":"21591:6:22"},"nativeSrc":"21591:16:22","nodeType":"YulFunctionCall","src":"21591:16:22"},"nativeSrc":"21591:16:22","nodeType":"YulExpressionStatement","src":"21591:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21627:4:22","nodeType":"YulLiteral","src":"21627:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"21633:2:22","nodeType":"YulIdentifier","src":"21633:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21620:6:22","nodeType":"YulIdentifier","src":"21620:6:22"},"nativeSrc":"21620:16:22","nodeType":"YulFunctionCall","src":"21620:16:22"},"nativeSrc":"21620:16:22","nodeType":"YulExpressionStatement","src":"21620:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21656:4:22","nodeType":"YulLiteral","src":"21656:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"21662:2:22","nodeType":"YulIdentifier","src":"21662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21649:6:22","nodeType":"YulIdentifier","src":"21649:6:22"},"nativeSrc":"21649:16:22","nodeType":"YulFunctionCall","src":"21649:16:22"},"nativeSrc":"21649:16:22","nodeType":"YulExpressionStatement","src":"21649:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32080,"isOffset":false,"isSlot":false,"src":"21378:2:22","valueSize":1},{"declaration":32083,"isOffset":false,"isSlot":false,"src":"21408:2:22","valueSize":1},{"declaration":32086,"isOffset":false,"isSlot":false,"src":"21438:2:22","valueSize":1},{"declaration":32089,"isOffset":false,"isSlot":false,"src":"21468:2:22","valueSize":1},{"declaration":32072,"isOffset":false,"isSlot":false,"src":"21604:2:22","valueSize":1},{"declaration":32074,"isOffset":false,"isSlot":false,"src":"21633:2:22","valueSize":1},{"declaration":32076,"isOffset":false,"isSlot":false,"src":"21662:2:22","valueSize":1}],"id":32091,"nodeType":"InlineAssembly","src":"21355:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21700:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21706:4:22","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":32092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"21684:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21684:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32096,"nodeType":"ExpressionStatement","src":"21684:27:22"},{"AST":{"nativeSrc":"21773:127:22","nodeType":"YulBlock","src":"21773:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21794:4:22","nodeType":"YulLiteral","src":"21794:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21800:2:22","nodeType":"YulIdentifier","src":"21800:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21787:6:22","nodeType":"YulIdentifier","src":"21787:6:22"},"nativeSrc":"21787:16:22","nodeType":"YulFunctionCall","src":"21787:16:22"},"nativeSrc":"21787:16:22","nodeType":"YulExpressionStatement","src":"21787:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21823:4:22","nodeType":"YulLiteral","src":"21823:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21829:2:22","nodeType":"YulIdentifier","src":"21829:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21816:6:22","nodeType":"YulIdentifier","src":"21816:6:22"},"nativeSrc":"21816:16:22","nodeType":"YulFunctionCall","src":"21816:16:22"},"nativeSrc":"21816:16:22","nodeType":"YulExpressionStatement","src":"21816:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21852:4:22","nodeType":"YulLiteral","src":"21852:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21858:2:22","nodeType":"YulIdentifier","src":"21858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21845:6:22","nodeType":"YulIdentifier","src":"21845:6:22"},"nativeSrc":"21845:16:22","nodeType":"YulFunctionCall","src":"21845:16:22"},"nativeSrc":"21845:16:22","nodeType":"YulExpressionStatement","src":"21845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21881:4:22","nodeType":"YulLiteral","src":"21881:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21887:2:22","nodeType":"YulIdentifier","src":"21887:2:22"}],"functionName":{"name":"mstore","nativeSrc":"21874:6:22","nodeType":"YulIdentifier","src":"21874:6:22"},"nativeSrc":"21874:16:22","nodeType":"YulFunctionCall","src":"21874:16:22"},"nativeSrc":"21874:16:22","nodeType":"YulExpressionStatement","src":"21874:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32080,"isOffset":false,"isSlot":false,"src":"21800:2:22","valueSize":1},{"declaration":32083,"isOffset":false,"isSlot":false,"src":"21829:2:22","valueSize":1},{"declaration":32086,"isOffset":false,"isSlot":false,"src":"21858:2:22","valueSize":1},{"declaration":32089,"isOffset":false,"isSlot":false,"src":"21887:2:22","valueSize":1}],"id":32097,"nodeType":"InlineAssembly","src":"21764:136:22"}]},"id":32099,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21171:3:22","nodeType":"FunctionDefinition","parameters":{"id":32077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32072,"mutability":"mutable","name":"p0","nameLocation":"21183:2:22","nodeType":"VariableDeclaration","scope":32099,"src":"21175:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32071,"name":"address","nodeType":"ElementaryTypeName","src":"21175:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32074,"mutability":"mutable","name":"p1","nameLocation":"21195:2:22","nodeType":"VariableDeclaration","scope":32099,"src":"21187:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32073,"name":"address","nodeType":"ElementaryTypeName","src":"21187:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32076,"mutability":"mutable","name":"p2","nameLocation":"21204:2:22","nodeType":"VariableDeclaration","scope":32099,"src":"21199:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32075,"name":"bool","nodeType":"ElementaryTypeName","src":"21199:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21174:33:22"},"returnParameters":{"id":32078,"nodeType":"ParameterList","parameters":[],"src":"21222:0:22"},"scope":44426,"src":"21162:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32127,"nodeType":"Block","src":"21975:687:22","statements":[{"assignments":[32109],"declarations":[{"constant":false,"id":32109,"mutability":"mutable","name":"m0","nameLocation":"21993:2:22","nodeType":"VariableDeclaration","scope":32127,"src":"21985:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21985:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32110,"nodeType":"VariableDeclarationStatement","src":"21985:10:22"},{"assignments":[32112],"declarations":[{"constant":false,"id":32112,"mutability":"mutable","name":"m1","nameLocation":"22013:2:22","nodeType":"VariableDeclaration","scope":32127,"src":"22005:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22005:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32113,"nodeType":"VariableDeclarationStatement","src":"22005:10:22"},{"assignments":[32115],"declarations":[{"constant":false,"id":32115,"mutability":"mutable","name":"m2","nameLocation":"22033:2:22","nodeType":"VariableDeclaration","scope":32127,"src":"22025:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22025:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32116,"nodeType":"VariableDeclarationStatement","src":"22025:10:22"},{"assignments":[32118],"declarations":[{"constant":false,"id":32118,"mutability":"mutable","name":"m3","nameLocation":"22053:2:22","nodeType":"VariableDeclaration","scope":32127,"src":"22045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22045:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32119,"nodeType":"VariableDeclarationStatement","src":"22045:10:22"},{"AST":{"nativeSrc":"22117:314:22","nodeType":"YulBlock","src":"22117:314:22","statements":[{"nativeSrc":"22131:17:22","nodeType":"YulAssignment","src":"22131:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"22143:4:22","nodeType":"YulLiteral","src":"22143:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"22137:5:22","nodeType":"YulIdentifier","src":"22137:5:22"},"nativeSrc":"22137:11:22","nodeType":"YulFunctionCall","src":"22137:11:22"},"variableNames":[{"name":"m0","nativeSrc":"22131:2:22","nodeType":"YulIdentifier","src":"22131:2:22"}]},{"nativeSrc":"22161:17:22","nodeType":"YulAssignment","src":"22161:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"22173:4:22","nodeType":"YulLiteral","src":"22173:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"22167:5:22","nodeType":"YulIdentifier","src":"22167:5:22"},"nativeSrc":"22167:11:22","nodeType":"YulFunctionCall","src":"22167:11:22"},"variableNames":[{"name":"m1","nativeSrc":"22161:2:22","nodeType":"YulIdentifier","src":"22161:2:22"}]},{"nativeSrc":"22191:17:22","nodeType":"YulAssignment","src":"22191:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"22203:4:22","nodeType":"YulLiteral","src":"22203:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"22197:5:22","nodeType":"YulIdentifier","src":"22197:5:22"},"nativeSrc":"22197:11:22","nodeType":"YulFunctionCall","src":"22197:11:22"},"variableNames":[{"name":"m2","nativeSrc":"22191:2:22","nodeType":"YulIdentifier","src":"22191:2:22"}]},{"nativeSrc":"22221:17:22","nodeType":"YulAssignment","src":"22221:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"22233:4:22","nodeType":"YulLiteral","src":"22233:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"22227:5:22","nodeType":"YulIdentifier","src":"22227:5:22"},"nativeSrc":"22227:11:22","nodeType":"YulFunctionCall","src":"22227:11:22"},"variableNames":[{"name":"m3","nativeSrc":"22221:2:22","nodeType":"YulIdentifier","src":"22221:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22317:4:22","nodeType":"YulLiteral","src":"22317:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"22323:10:22","nodeType":"YulLiteral","src":"22323:10:22","type":"","value":"0x17fe6185"}],"functionName":{"name":"mstore","nativeSrc":"22310:6:22","nodeType":"YulIdentifier","src":"22310:6:22"},"nativeSrc":"22310:24:22","nodeType":"YulFunctionCall","src":"22310:24:22"},"nativeSrc":"22310:24:22","nodeType":"YulExpressionStatement","src":"22310:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22354:4:22","nodeType":"YulLiteral","src":"22354:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"22360:2:22","nodeType":"YulIdentifier","src":"22360:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22347:6:22","nodeType":"YulIdentifier","src":"22347:6:22"},"nativeSrc":"22347:16:22","nodeType":"YulFunctionCall","src":"22347:16:22"},"nativeSrc":"22347:16:22","nodeType":"YulExpressionStatement","src":"22347:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22383:4:22","nodeType":"YulLiteral","src":"22383:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"22389:2:22","nodeType":"YulIdentifier","src":"22389:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22376:6:22","nodeType":"YulIdentifier","src":"22376:6:22"},"nativeSrc":"22376:16:22","nodeType":"YulFunctionCall","src":"22376:16:22"},"nativeSrc":"22376:16:22","nodeType":"YulExpressionStatement","src":"22376:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22412:4:22","nodeType":"YulLiteral","src":"22412:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"22418:2:22","nodeType":"YulIdentifier","src":"22418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22405:6:22","nodeType":"YulIdentifier","src":"22405:6:22"},"nativeSrc":"22405:16:22","nodeType":"YulFunctionCall","src":"22405:16:22"},"nativeSrc":"22405:16:22","nodeType":"YulExpressionStatement","src":"22405:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32109,"isOffset":false,"isSlot":false,"src":"22131:2:22","valueSize":1},{"declaration":32112,"isOffset":false,"isSlot":false,"src":"22161:2:22","valueSize":1},{"declaration":32115,"isOffset":false,"isSlot":false,"src":"22191:2:22","valueSize":1},{"declaration":32118,"isOffset":false,"isSlot":false,"src":"22221:2:22","valueSize":1},{"declaration":32101,"isOffset":false,"isSlot":false,"src":"22360:2:22","valueSize":1},{"declaration":32103,"isOffset":false,"isSlot":false,"src":"22389:2:22","valueSize":1},{"declaration":32105,"isOffset":false,"isSlot":false,"src":"22418:2:22","valueSize":1}],"id":32120,"nodeType":"InlineAssembly","src":"22108:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22456:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22462:4:22","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":32121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"22440:15:22","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":"22440:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32125,"nodeType":"ExpressionStatement","src":"22440:27:22"},{"AST":{"nativeSrc":"22529:127:22","nodeType":"YulBlock","src":"22529:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"22550:4:22","nodeType":"YulLiteral","src":"22550:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"22556:2:22","nodeType":"YulIdentifier","src":"22556:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22543:6:22","nodeType":"YulIdentifier","src":"22543:6:22"},"nativeSrc":"22543:16:22","nodeType":"YulFunctionCall","src":"22543:16:22"},"nativeSrc":"22543:16:22","nodeType":"YulExpressionStatement","src":"22543:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22579:4:22","nodeType":"YulLiteral","src":"22579:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"22585:2:22","nodeType":"YulIdentifier","src":"22585:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22572:6:22","nodeType":"YulIdentifier","src":"22572:6:22"},"nativeSrc":"22572:16:22","nodeType":"YulFunctionCall","src":"22572:16:22"},"nativeSrc":"22572:16:22","nodeType":"YulExpressionStatement","src":"22572:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22608:4:22","nodeType":"YulLiteral","src":"22608:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"22614:2:22","nodeType":"YulIdentifier","src":"22614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22601:6:22","nodeType":"YulIdentifier","src":"22601:6:22"},"nativeSrc":"22601:16:22","nodeType":"YulFunctionCall","src":"22601:16:22"},"nativeSrc":"22601:16:22","nodeType":"YulExpressionStatement","src":"22601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22637:4:22","nodeType":"YulLiteral","src":"22637:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"22643:2:22","nodeType":"YulIdentifier","src":"22643:2:22"}],"functionName":{"name":"mstore","nativeSrc":"22630:6:22","nodeType":"YulIdentifier","src":"22630:6:22"},"nativeSrc":"22630:16:22","nodeType":"YulFunctionCall","src":"22630:16:22"},"nativeSrc":"22630:16:22","nodeType":"YulExpressionStatement","src":"22630:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32109,"isOffset":false,"isSlot":false,"src":"22556:2:22","valueSize":1},{"declaration":32112,"isOffset":false,"isSlot":false,"src":"22585:2:22","valueSize":1},{"declaration":32115,"isOffset":false,"isSlot":false,"src":"22614:2:22","valueSize":1},{"declaration":32118,"isOffset":false,"isSlot":false,"src":"22643:2:22","valueSize":1}],"id":32126,"nodeType":"InlineAssembly","src":"22520:136:22"}]},"id":32128,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21921:3:22","nodeType":"FunctionDefinition","parameters":{"id":32106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32101,"mutability":"mutable","name":"p0","nameLocation":"21933:2:22","nodeType":"VariableDeclaration","scope":32128,"src":"21925:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32100,"name":"address","nodeType":"ElementaryTypeName","src":"21925:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32103,"mutability":"mutable","name":"p1","nameLocation":"21945:2:22","nodeType":"VariableDeclaration","scope":32128,"src":"21937:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32102,"name":"address","nodeType":"ElementaryTypeName","src":"21937:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32105,"mutability":"mutable","name":"p2","nameLocation":"21957:2:22","nodeType":"VariableDeclaration","scope":32128,"src":"21949:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32104,"name":"uint256","nodeType":"ElementaryTypeName","src":"21949:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21924:36:22"},"returnParameters":{"id":32107,"nodeType":"ParameterList","parameters":[],"src":"21975:0:22"},"scope":44426,"src":"21912:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32162,"nodeType":"Block","src":"22731:1235:22","statements":[{"assignments":[32138],"declarations":[{"constant":false,"id":32138,"mutability":"mutable","name":"m0","nameLocation":"22749:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22741:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22741:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32139,"nodeType":"VariableDeclarationStatement","src":"22741:10:22"},{"assignments":[32141],"declarations":[{"constant":false,"id":32141,"mutability":"mutable","name":"m1","nameLocation":"22769:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22761:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22761:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32142,"nodeType":"VariableDeclarationStatement","src":"22761:10:22"},{"assignments":[32144],"declarations":[{"constant":false,"id":32144,"mutability":"mutable","name":"m2","nameLocation":"22789:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22781:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22781:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32145,"nodeType":"VariableDeclarationStatement","src":"22781:10:22"},{"assignments":[32147],"declarations":[{"constant":false,"id":32147,"mutability":"mutable","name":"m3","nameLocation":"22809:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22801:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22801:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32148,"nodeType":"VariableDeclarationStatement","src":"22801:10:22"},{"assignments":[32150],"declarations":[{"constant":false,"id":32150,"mutability":"mutable","name":"m4","nameLocation":"22829:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22821:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22821:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32151,"nodeType":"VariableDeclarationStatement","src":"22821:10:22"},{"assignments":[32153],"declarations":[{"constant":false,"id":32153,"mutability":"mutable","name":"m5","nameLocation":"22849:2:22","nodeType":"VariableDeclaration","scope":32162,"src":"22841:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22841:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32154,"nodeType":"VariableDeclarationStatement","src":"22841:10:22"},{"AST":{"nativeSrc":"22913:764:22","nodeType":"YulBlock","src":"22913:764:22","statements":[{"body":{"nativeSrc":"22956:313:22","nodeType":"YulBlock","src":"22956:313:22","statements":[{"nativeSrc":"22974:15:22","nodeType":"YulVariableDeclaration","src":"22974:15:22","value":{"kind":"number","nativeSrc":"22988:1:22","nodeType":"YulLiteral","src":"22988:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"22978:6:22","nodeType":"YulTypedName","src":"22978:6:22","type":""}]},{"body":{"nativeSrc":"23059:40:22","nodeType":"YulBlock","src":"23059:40:22","statements":[{"body":{"nativeSrc":"23088:9:22","nodeType":"YulBlock","src":"23088:9:22","statements":[{"nativeSrc":"23090:5:22","nodeType":"YulBreak","src":"23090:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"23076:6:22","nodeType":"YulIdentifier","src":"23076:6:22"},{"name":"w","nativeSrc":"23084:1:22","nodeType":"YulIdentifier","src":"23084:1:22"}],"functionName":{"name":"byte","nativeSrc":"23071:4:22","nodeType":"YulIdentifier","src":"23071:4:22"},"nativeSrc":"23071:15:22","nodeType":"YulFunctionCall","src":"23071:15:22"}],"functionName":{"name":"iszero","nativeSrc":"23064:6:22","nodeType":"YulIdentifier","src":"23064:6:22"},"nativeSrc":"23064:23:22","nodeType":"YulFunctionCall","src":"23064:23:22"},"nativeSrc":"23061:36:22","nodeType":"YulIf","src":"23061:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"23016:6:22","nodeType":"YulIdentifier","src":"23016:6:22"},{"kind":"number","nativeSrc":"23024:4:22","nodeType":"YulLiteral","src":"23024:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"23013:2:22","nodeType":"YulIdentifier","src":"23013:2:22"},"nativeSrc":"23013:16:22","nodeType":"YulFunctionCall","src":"23013:16:22"},"nativeSrc":"23006:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"23030:28:22","nodeType":"YulBlock","src":"23030:28:22","statements":[{"nativeSrc":"23032:24:22","nodeType":"YulAssignment","src":"23032:24:22","value":{"arguments":[{"name":"length","nativeSrc":"23046:6:22","nodeType":"YulIdentifier","src":"23046:6:22"},{"kind":"number","nativeSrc":"23054:1:22","nodeType":"YulLiteral","src":"23054:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"23042:3:22","nodeType":"YulIdentifier","src":"23042:3:22"},"nativeSrc":"23042:14:22","nodeType":"YulFunctionCall","src":"23042:14:22"},"variableNames":[{"name":"length","nativeSrc":"23032:6:22","nodeType":"YulIdentifier","src":"23032:6:22"}]}]},"pre":{"nativeSrc":"23010:2:22","nodeType":"YulBlock","src":"23010:2:22","statements":[]},"src":"23006:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"23123:3:22","nodeType":"YulIdentifier","src":"23123:3:22"},{"name":"length","nativeSrc":"23128:6:22","nodeType":"YulIdentifier","src":"23128:6:22"}],"functionName":{"name":"mstore","nativeSrc":"23116:6:22","nodeType":"YulIdentifier","src":"23116:6:22"},"nativeSrc":"23116:19:22","nodeType":"YulFunctionCall","src":"23116:19:22"},"nativeSrc":"23116:19:22","nodeType":"YulExpressionStatement","src":"23116:19:22"},{"nativeSrc":"23152:37:22","nodeType":"YulVariableDeclaration","src":"23152:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"23169:3:22","nodeType":"YulLiteral","src":"23169:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"23178:1:22","nodeType":"YulLiteral","src":"23178:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"23181:6:22","nodeType":"YulIdentifier","src":"23181:6:22"}],"functionName":{"name":"shl","nativeSrc":"23174:3:22","nodeType":"YulIdentifier","src":"23174:3:22"},"nativeSrc":"23174:14:22","nodeType":"YulFunctionCall","src":"23174:14:22"}],"functionName":{"name":"sub","nativeSrc":"23165:3:22","nodeType":"YulIdentifier","src":"23165:3:22"},"nativeSrc":"23165:24:22","nodeType":"YulFunctionCall","src":"23165:24:22"},"variables":[{"name":"shift","nativeSrc":"23156:5:22","nodeType":"YulTypedName","src":"23156:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"23217:3:22","nodeType":"YulIdentifier","src":"23217:3:22"},{"kind":"number","nativeSrc":"23222:4:22","nodeType":"YulLiteral","src":"23222:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23213:3:22","nodeType":"YulIdentifier","src":"23213:3:22"},"nativeSrc":"23213:14:22","nodeType":"YulFunctionCall","src":"23213:14:22"},{"arguments":[{"name":"shift","nativeSrc":"23233:5:22","nodeType":"YulIdentifier","src":"23233:5:22"},{"arguments":[{"name":"shift","nativeSrc":"23244:5:22","nodeType":"YulIdentifier","src":"23244:5:22"},{"name":"w","nativeSrc":"23251:1:22","nodeType":"YulIdentifier","src":"23251:1:22"}],"functionName":{"name":"shr","nativeSrc":"23240:3:22","nodeType":"YulIdentifier","src":"23240:3:22"},"nativeSrc":"23240:13:22","nodeType":"YulFunctionCall","src":"23240:13:22"}],"functionName":{"name":"shl","nativeSrc":"23229:3:22","nodeType":"YulIdentifier","src":"23229:3:22"},"nativeSrc":"23229:25:22","nodeType":"YulFunctionCall","src":"23229:25:22"}],"functionName":{"name":"mstore","nativeSrc":"23206:6:22","nodeType":"YulIdentifier","src":"23206:6:22"},"nativeSrc":"23206:49:22","nodeType":"YulFunctionCall","src":"23206:49:22"},"nativeSrc":"23206:49:22","nodeType":"YulExpressionStatement","src":"23206:49:22"}]},"name":"writeString","nativeSrc":"22927:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"22948:3:22","nodeType":"YulTypedName","src":"22948:3:22","type":""},{"name":"w","nativeSrc":"22953:1:22","nodeType":"YulTypedName","src":"22953:1:22","type":""}],"src":"22927:342:22"},{"nativeSrc":"23282:17:22","nodeType":"YulAssignment","src":"23282:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23294:4:22","nodeType":"YulLiteral","src":"23294:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"23288:5:22","nodeType":"YulIdentifier","src":"23288:5:22"},"nativeSrc":"23288:11:22","nodeType":"YulFunctionCall","src":"23288:11:22"},"variableNames":[{"name":"m0","nativeSrc":"23282:2:22","nodeType":"YulIdentifier","src":"23282:2:22"}]},{"nativeSrc":"23312:17:22","nodeType":"YulAssignment","src":"23312:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23324:4:22","nodeType":"YulLiteral","src":"23324:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"23318:5:22","nodeType":"YulIdentifier","src":"23318:5:22"},"nativeSrc":"23318:11:22","nodeType":"YulFunctionCall","src":"23318:11:22"},"variableNames":[{"name":"m1","nativeSrc":"23312:2:22","nodeType":"YulIdentifier","src":"23312:2:22"}]},{"nativeSrc":"23342:17:22","nodeType":"YulAssignment","src":"23342:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23354:4:22","nodeType":"YulLiteral","src":"23354:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23348:5:22","nodeType":"YulIdentifier","src":"23348:5:22"},"nativeSrc":"23348:11:22","nodeType":"YulFunctionCall","src":"23348:11:22"},"variableNames":[{"name":"m2","nativeSrc":"23342:2:22","nodeType":"YulIdentifier","src":"23342:2:22"}]},{"nativeSrc":"23372:17:22","nodeType":"YulAssignment","src":"23372:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23384:4:22","nodeType":"YulLiteral","src":"23384:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"23378:5:22","nodeType":"YulIdentifier","src":"23378:5:22"},"nativeSrc":"23378:11:22","nodeType":"YulFunctionCall","src":"23378:11:22"},"variableNames":[{"name":"m3","nativeSrc":"23372:2:22","nodeType":"YulIdentifier","src":"23372:2:22"}]},{"nativeSrc":"23402:17:22","nodeType":"YulAssignment","src":"23402:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23414:4:22","nodeType":"YulLiteral","src":"23414:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"23408:5:22","nodeType":"YulIdentifier","src":"23408:5:22"},"nativeSrc":"23408:11:22","nodeType":"YulFunctionCall","src":"23408:11:22"},"variableNames":[{"name":"m4","nativeSrc":"23402:2:22","nodeType":"YulIdentifier","src":"23402:2:22"}]},{"nativeSrc":"23432:17:22","nodeType":"YulAssignment","src":"23432:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"23444:4:22","nodeType":"YulLiteral","src":"23444:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"23438:5:22","nodeType":"YulIdentifier","src":"23438:5:22"},"nativeSrc":"23438:11:22","nodeType":"YulFunctionCall","src":"23438:11:22"},"variableNames":[{"name":"m5","nativeSrc":"23432:2:22","nodeType":"YulIdentifier","src":"23432:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23527:4:22","nodeType":"YulLiteral","src":"23527:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"23533:10:22","nodeType":"YulLiteral","src":"23533:10:22","type":"","value":"0x007150be"}],"functionName":{"name":"mstore","nativeSrc":"23520:6:22","nodeType":"YulIdentifier","src":"23520:6:22"},"nativeSrc":"23520:24:22","nodeType":"YulFunctionCall","src":"23520:24:22"},"nativeSrc":"23520:24:22","nodeType":"YulExpressionStatement","src":"23520:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23564:4:22","nodeType":"YulLiteral","src":"23564:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"23570:2:22","nodeType":"YulIdentifier","src":"23570:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23557:6:22","nodeType":"YulIdentifier","src":"23557:6:22"},"nativeSrc":"23557:16:22","nodeType":"YulFunctionCall","src":"23557:16:22"},"nativeSrc":"23557:16:22","nodeType":"YulExpressionStatement","src":"23557:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23593:4:22","nodeType":"YulLiteral","src":"23593:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"23599:2:22","nodeType":"YulIdentifier","src":"23599:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23586:6:22","nodeType":"YulIdentifier","src":"23586:6:22"},"nativeSrc":"23586:16:22","nodeType":"YulFunctionCall","src":"23586:16:22"},"nativeSrc":"23586:16:22","nodeType":"YulExpressionStatement","src":"23586:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23622:4:22","nodeType":"YulLiteral","src":"23622:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"23628:4:22","nodeType":"YulLiteral","src":"23628:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"23615:6:22","nodeType":"YulIdentifier","src":"23615:6:22"},"nativeSrc":"23615:18:22","nodeType":"YulFunctionCall","src":"23615:18:22"},"nativeSrc":"23615:18:22","nodeType":"YulExpressionStatement","src":"23615:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23658:4:22","nodeType":"YulLiteral","src":"23658:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"23664:2:22","nodeType":"YulIdentifier","src":"23664:2:22"}],"functionName":{"name":"writeString","nativeSrc":"23646:11:22","nodeType":"YulIdentifier","src":"23646:11:22"},"nativeSrc":"23646:21:22","nodeType":"YulFunctionCall","src":"23646:21:22"},"nativeSrc":"23646:21:22","nodeType":"YulExpressionStatement","src":"23646:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32138,"isOffset":false,"isSlot":false,"src":"23282:2:22","valueSize":1},{"declaration":32141,"isOffset":false,"isSlot":false,"src":"23312:2:22","valueSize":1},{"declaration":32144,"isOffset":false,"isSlot":false,"src":"23342:2:22","valueSize":1},{"declaration":32147,"isOffset":false,"isSlot":false,"src":"23372:2:22","valueSize":1},{"declaration":32150,"isOffset":false,"isSlot":false,"src":"23402:2:22","valueSize":1},{"declaration":32153,"isOffset":false,"isSlot":false,"src":"23432:2:22","valueSize":1},{"declaration":32130,"isOffset":false,"isSlot":false,"src":"23570:2:22","valueSize":1},{"declaration":32132,"isOffset":false,"isSlot":false,"src":"23599:2:22","valueSize":1},{"declaration":32134,"isOffset":false,"isSlot":false,"src":"23664:2:22","valueSize":1}],"id":32155,"nodeType":"InlineAssembly","src":"22904:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23702:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23708:4:22","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":32156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"23686:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23686:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32160,"nodeType":"ExpressionStatement","src":"23686:27:22"},{"AST":{"nativeSrc":"23775:185:22","nodeType":"YulBlock","src":"23775:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"23796:4:22","nodeType":"YulLiteral","src":"23796:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"23802:2:22","nodeType":"YulIdentifier","src":"23802:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23789:6:22","nodeType":"YulIdentifier","src":"23789:6:22"},"nativeSrc":"23789:16:22","nodeType":"YulFunctionCall","src":"23789:16:22"},"nativeSrc":"23789:16:22","nodeType":"YulExpressionStatement","src":"23789:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23825:4:22","nodeType":"YulLiteral","src":"23825:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"23831:2:22","nodeType":"YulIdentifier","src":"23831:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23818:6:22","nodeType":"YulIdentifier","src":"23818:6:22"},"nativeSrc":"23818:16:22","nodeType":"YulFunctionCall","src":"23818:16:22"},"nativeSrc":"23818:16:22","nodeType":"YulExpressionStatement","src":"23818:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23854:4:22","nodeType":"YulLiteral","src":"23854:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"23860:2:22","nodeType":"YulIdentifier","src":"23860:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23847:6:22","nodeType":"YulIdentifier","src":"23847:6:22"},"nativeSrc":"23847:16:22","nodeType":"YulFunctionCall","src":"23847:16:22"},"nativeSrc":"23847:16:22","nodeType":"YulExpressionStatement","src":"23847:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23883:4:22","nodeType":"YulLiteral","src":"23883:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"23889:2:22","nodeType":"YulIdentifier","src":"23889:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:22","nodeType":"YulIdentifier","src":"23876:6:22"},"nativeSrc":"23876:16:22","nodeType":"YulFunctionCall","src":"23876:16:22"},"nativeSrc":"23876:16:22","nodeType":"YulExpressionStatement","src":"23876:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23912:4:22","nodeType":"YulLiteral","src":"23912:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"23918:2:22","nodeType":"YulIdentifier","src":"23918:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23905:6:22","nodeType":"YulIdentifier","src":"23905:6:22"},"nativeSrc":"23905:16:22","nodeType":"YulFunctionCall","src":"23905:16:22"},"nativeSrc":"23905:16:22","nodeType":"YulExpressionStatement","src":"23905:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23941:4:22","nodeType":"YulLiteral","src":"23941:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"23947:2:22","nodeType":"YulIdentifier","src":"23947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"23934:6:22","nodeType":"YulIdentifier","src":"23934:6:22"},"nativeSrc":"23934:16:22","nodeType":"YulFunctionCall","src":"23934:16:22"},"nativeSrc":"23934:16:22","nodeType":"YulExpressionStatement","src":"23934:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32138,"isOffset":false,"isSlot":false,"src":"23802:2:22","valueSize":1},{"declaration":32141,"isOffset":false,"isSlot":false,"src":"23831:2:22","valueSize":1},{"declaration":32144,"isOffset":false,"isSlot":false,"src":"23860:2:22","valueSize":1},{"declaration":32147,"isOffset":false,"isSlot":false,"src":"23889:2:22","valueSize":1},{"declaration":32150,"isOffset":false,"isSlot":false,"src":"23918:2:22","valueSize":1},{"declaration":32153,"isOffset":false,"isSlot":false,"src":"23947:2:22","valueSize":1}],"id":32161,"nodeType":"InlineAssembly","src":"23766:194:22"}]},"id":32163,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22677:3:22","nodeType":"FunctionDefinition","parameters":{"id":32135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32130,"mutability":"mutable","name":"p0","nameLocation":"22689:2:22","nodeType":"VariableDeclaration","scope":32163,"src":"22681:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32129,"name":"address","nodeType":"ElementaryTypeName","src":"22681:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32132,"mutability":"mutable","name":"p1","nameLocation":"22701:2:22","nodeType":"VariableDeclaration","scope":32163,"src":"22693:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32131,"name":"address","nodeType":"ElementaryTypeName","src":"22693:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32134,"mutability":"mutable","name":"p2","nameLocation":"22713:2:22","nodeType":"VariableDeclaration","scope":32163,"src":"22705:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22705:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22680:36:22"},"returnParameters":{"id":32136,"nodeType":"ParameterList","parameters":[],"src":"22731:0:22"},"scope":44426,"src":"22668:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32191,"nodeType":"Block","src":"24032:684:22","statements":[{"assignments":[32173],"declarations":[{"constant":false,"id":32173,"mutability":"mutable","name":"m0","nameLocation":"24050:2:22","nodeType":"VariableDeclaration","scope":32191,"src":"24042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24042:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32174,"nodeType":"VariableDeclarationStatement","src":"24042:10:22"},{"assignments":[32176],"declarations":[{"constant":false,"id":32176,"mutability":"mutable","name":"m1","nameLocation":"24070:2:22","nodeType":"VariableDeclaration","scope":32191,"src":"24062:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24062:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32177,"nodeType":"VariableDeclarationStatement","src":"24062:10:22"},{"assignments":[32179],"declarations":[{"constant":false,"id":32179,"mutability":"mutable","name":"m2","nameLocation":"24090:2:22","nodeType":"VariableDeclaration","scope":32191,"src":"24082:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24082:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32180,"nodeType":"VariableDeclarationStatement","src":"24082:10:22"},{"assignments":[32182],"declarations":[{"constant":false,"id":32182,"mutability":"mutable","name":"m3","nameLocation":"24110:2:22","nodeType":"VariableDeclaration","scope":32191,"src":"24102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24102:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32183,"nodeType":"VariableDeclarationStatement","src":"24102:10:22"},{"AST":{"nativeSrc":"24174:311:22","nodeType":"YulBlock","src":"24174:311:22","statements":[{"nativeSrc":"24188:17:22","nodeType":"YulAssignment","src":"24188:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24200:4:22","nodeType":"YulLiteral","src":"24200:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24194:5:22","nodeType":"YulIdentifier","src":"24194:5:22"},"nativeSrc":"24194:11:22","nodeType":"YulFunctionCall","src":"24194:11:22"},"variableNames":[{"name":"m0","nativeSrc":"24188:2:22","nodeType":"YulIdentifier","src":"24188:2:22"}]},{"nativeSrc":"24218:17:22","nodeType":"YulAssignment","src":"24218:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24230:4:22","nodeType":"YulLiteral","src":"24230:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24224:5:22","nodeType":"YulIdentifier","src":"24224:5:22"},"nativeSrc":"24224:11:22","nodeType":"YulFunctionCall","src":"24224:11:22"},"variableNames":[{"name":"m1","nativeSrc":"24218:2:22","nodeType":"YulIdentifier","src":"24218:2:22"}]},{"nativeSrc":"24248:17:22","nodeType":"YulAssignment","src":"24248:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24260:4:22","nodeType":"YulLiteral","src":"24260:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24254:5:22","nodeType":"YulIdentifier","src":"24254:5:22"},"nativeSrc":"24254:11:22","nodeType":"YulFunctionCall","src":"24254:11:22"},"variableNames":[{"name":"m2","nativeSrc":"24248:2:22","nodeType":"YulIdentifier","src":"24248:2:22"}]},{"nativeSrc":"24278:17:22","nodeType":"YulAssignment","src":"24278:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24290:4:22","nodeType":"YulLiteral","src":"24290:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"24284:5:22","nodeType":"YulIdentifier","src":"24284:5:22"},"nativeSrc":"24284:11:22","nodeType":"YulFunctionCall","src":"24284:11:22"},"variableNames":[{"name":"m3","nativeSrc":"24278:2:22","nodeType":"YulIdentifier","src":"24278:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24371:4:22","nodeType":"YulLiteral","src":"24371:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"24377:10:22","nodeType":"YulLiteral","src":"24377:10:22","type":"","value":"0xf11699ed"}],"functionName":{"name":"mstore","nativeSrc":"24364:6:22","nodeType":"YulIdentifier","src":"24364:6:22"},"nativeSrc":"24364:24:22","nodeType":"YulFunctionCall","src":"24364:24:22"},"nativeSrc":"24364:24:22","nodeType":"YulExpressionStatement","src":"24364:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24408:4:22","nodeType":"YulLiteral","src":"24408:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"24414:2:22","nodeType":"YulIdentifier","src":"24414:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24401:6:22","nodeType":"YulIdentifier","src":"24401:6:22"},"nativeSrc":"24401:16:22","nodeType":"YulFunctionCall","src":"24401:16:22"},"nativeSrc":"24401:16:22","nodeType":"YulExpressionStatement","src":"24401:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24437:4:22","nodeType":"YulLiteral","src":"24437:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"24443:2:22","nodeType":"YulIdentifier","src":"24443:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24430:6:22","nodeType":"YulIdentifier","src":"24430:6:22"},"nativeSrc":"24430:16:22","nodeType":"YulFunctionCall","src":"24430:16:22"},"nativeSrc":"24430:16:22","nodeType":"YulExpressionStatement","src":"24430:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24466:4:22","nodeType":"YulLiteral","src":"24466:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"24472:2:22","nodeType":"YulIdentifier","src":"24472:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24459:6:22","nodeType":"YulIdentifier","src":"24459:6:22"},"nativeSrc":"24459:16:22","nodeType":"YulFunctionCall","src":"24459:16:22"},"nativeSrc":"24459:16:22","nodeType":"YulExpressionStatement","src":"24459:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32173,"isOffset":false,"isSlot":false,"src":"24188:2:22","valueSize":1},{"declaration":32176,"isOffset":false,"isSlot":false,"src":"24218:2:22","valueSize":1},{"declaration":32179,"isOffset":false,"isSlot":false,"src":"24248:2:22","valueSize":1},{"declaration":32182,"isOffset":false,"isSlot":false,"src":"24278:2:22","valueSize":1},{"declaration":32165,"isOffset":false,"isSlot":false,"src":"24414:2:22","valueSize":1},{"declaration":32167,"isOffset":false,"isSlot":false,"src":"24443:2:22","valueSize":1},{"declaration":32169,"isOffset":false,"isSlot":false,"src":"24472:2:22","valueSize":1}],"id":32184,"nodeType":"InlineAssembly","src":"24165:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24510:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24516:4:22","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":32185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"24494:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24494:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32189,"nodeType":"ExpressionStatement","src":"24494:27:22"},{"AST":{"nativeSrc":"24583:127:22","nodeType":"YulBlock","src":"24583:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"24604:4:22","nodeType":"YulLiteral","src":"24604:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"24610:2:22","nodeType":"YulIdentifier","src":"24610:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24597:6:22","nodeType":"YulIdentifier","src":"24597:6:22"},"nativeSrc":"24597:16:22","nodeType":"YulFunctionCall","src":"24597:16:22"},"nativeSrc":"24597:16:22","nodeType":"YulExpressionStatement","src":"24597:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24633:4:22","nodeType":"YulLiteral","src":"24633:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"24639:2:22","nodeType":"YulIdentifier","src":"24639:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24626:6:22","nodeType":"YulIdentifier","src":"24626:6:22"},"nativeSrc":"24626:16:22","nodeType":"YulFunctionCall","src":"24626:16:22"},"nativeSrc":"24626:16:22","nodeType":"YulExpressionStatement","src":"24626:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24662:4:22","nodeType":"YulLiteral","src":"24662:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"24668:2:22","nodeType":"YulIdentifier","src":"24668:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24655:6:22","nodeType":"YulIdentifier","src":"24655:6:22"},"nativeSrc":"24655:16:22","nodeType":"YulFunctionCall","src":"24655:16:22"},"nativeSrc":"24655:16:22","nodeType":"YulExpressionStatement","src":"24655:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24691:4:22","nodeType":"YulLiteral","src":"24691:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"24697:2:22","nodeType":"YulIdentifier","src":"24697:2:22"}],"functionName":{"name":"mstore","nativeSrc":"24684:6:22","nodeType":"YulIdentifier","src":"24684:6:22"},"nativeSrc":"24684:16:22","nodeType":"YulFunctionCall","src":"24684:16:22"},"nativeSrc":"24684:16:22","nodeType":"YulExpressionStatement","src":"24684:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32173,"isOffset":false,"isSlot":false,"src":"24610:2:22","valueSize":1},{"declaration":32176,"isOffset":false,"isSlot":false,"src":"24639:2:22","valueSize":1},{"declaration":32179,"isOffset":false,"isSlot":false,"src":"24668:2:22","valueSize":1},{"declaration":32182,"isOffset":false,"isSlot":false,"src":"24697:2:22","valueSize":1}],"id":32190,"nodeType":"InlineAssembly","src":"24574:136:22"}]},"id":32192,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23981:3:22","nodeType":"FunctionDefinition","parameters":{"id":32170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32165,"mutability":"mutable","name":"p0","nameLocation":"23993:2:22","nodeType":"VariableDeclaration","scope":32192,"src":"23985:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32164,"name":"address","nodeType":"ElementaryTypeName","src":"23985:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32167,"mutability":"mutable","name":"p1","nameLocation":"24002:2:22","nodeType":"VariableDeclaration","scope":32192,"src":"23997:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32166,"name":"bool","nodeType":"ElementaryTypeName","src":"23997:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32169,"mutability":"mutable","name":"p2","nameLocation":"24014:2:22","nodeType":"VariableDeclaration","scope":32192,"src":"24006:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32168,"name":"address","nodeType":"ElementaryTypeName","src":"24006:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23984:33:22"},"returnParameters":{"id":32171,"nodeType":"ParameterList","parameters":[],"src":"24032:0:22"},"scope":44426,"src":"23972:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32220,"nodeType":"Block","src":"24779:681:22","statements":[{"assignments":[32202],"declarations":[{"constant":false,"id":32202,"mutability":"mutable","name":"m0","nameLocation":"24797:2:22","nodeType":"VariableDeclaration","scope":32220,"src":"24789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24789:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32203,"nodeType":"VariableDeclarationStatement","src":"24789:10:22"},{"assignments":[32205],"declarations":[{"constant":false,"id":32205,"mutability":"mutable","name":"m1","nameLocation":"24817:2:22","nodeType":"VariableDeclaration","scope":32220,"src":"24809:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24809:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32206,"nodeType":"VariableDeclarationStatement","src":"24809:10:22"},{"assignments":[32208],"declarations":[{"constant":false,"id":32208,"mutability":"mutable","name":"m2","nameLocation":"24837:2:22","nodeType":"VariableDeclaration","scope":32220,"src":"24829:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24829:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32209,"nodeType":"VariableDeclarationStatement","src":"24829:10:22"},{"assignments":[32211],"declarations":[{"constant":false,"id":32211,"mutability":"mutable","name":"m3","nameLocation":"24857:2:22","nodeType":"VariableDeclaration","scope":32220,"src":"24849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24849:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32212,"nodeType":"VariableDeclarationStatement","src":"24849:10:22"},{"AST":{"nativeSrc":"24921:308:22","nodeType":"YulBlock","src":"24921:308:22","statements":[{"nativeSrc":"24935:17:22","nodeType":"YulAssignment","src":"24935:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24947:4:22","nodeType":"YulLiteral","src":"24947:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24941:5:22","nodeType":"YulIdentifier","src":"24941:5:22"},"nativeSrc":"24941:11:22","nodeType":"YulFunctionCall","src":"24941:11:22"},"variableNames":[{"name":"m0","nativeSrc":"24935:2:22","nodeType":"YulIdentifier","src":"24935:2:22"}]},{"nativeSrc":"24965:17:22","nodeType":"YulAssignment","src":"24965:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"24977:4:22","nodeType":"YulLiteral","src":"24977:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24971:5:22","nodeType":"YulIdentifier","src":"24971:5:22"},"nativeSrc":"24971:11:22","nodeType":"YulFunctionCall","src":"24971:11:22"},"variableNames":[{"name":"m1","nativeSrc":"24965:2:22","nodeType":"YulIdentifier","src":"24965:2:22"}]},{"nativeSrc":"24995:17:22","nodeType":"YulAssignment","src":"24995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25007:4:22","nodeType":"YulLiteral","src":"25007:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25001:5:22","nodeType":"YulIdentifier","src":"25001:5:22"},"nativeSrc":"25001:11:22","nodeType":"YulFunctionCall","src":"25001:11:22"},"variableNames":[{"name":"m2","nativeSrc":"24995:2:22","nodeType":"YulIdentifier","src":"24995:2:22"}]},{"nativeSrc":"25025:17:22","nodeType":"YulAssignment","src":"25025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25037:4:22","nodeType":"YulLiteral","src":"25037:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25031:5:22","nodeType":"YulIdentifier","src":"25031:5:22"},"nativeSrc":"25031:11:22","nodeType":"YulFunctionCall","src":"25031:11:22"},"variableNames":[{"name":"m3","nativeSrc":"25025:2:22","nodeType":"YulIdentifier","src":"25025:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25115:4:22","nodeType":"YulLiteral","src":"25115:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25121:10:22","nodeType":"YulLiteral","src":"25121:10:22","type":"","value":"0xeb830c92"}],"functionName":{"name":"mstore","nativeSrc":"25108:6:22","nodeType":"YulIdentifier","src":"25108:6:22"},"nativeSrc":"25108:24:22","nodeType":"YulFunctionCall","src":"25108:24:22"},"nativeSrc":"25108:24:22","nodeType":"YulExpressionStatement","src":"25108:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25152:4:22","nodeType":"YulLiteral","src":"25152:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25158:2:22","nodeType":"YulIdentifier","src":"25158:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25145:6:22","nodeType":"YulIdentifier","src":"25145:6:22"},"nativeSrc":"25145:16:22","nodeType":"YulFunctionCall","src":"25145:16:22"},"nativeSrc":"25145:16:22","nodeType":"YulExpressionStatement","src":"25145:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25181:4:22","nodeType":"YulLiteral","src":"25181:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25187:2:22","nodeType":"YulIdentifier","src":"25187:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25174:6:22","nodeType":"YulIdentifier","src":"25174:6:22"},"nativeSrc":"25174:16:22","nodeType":"YulFunctionCall","src":"25174:16:22"},"nativeSrc":"25174:16:22","nodeType":"YulExpressionStatement","src":"25174:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25210:4:22","nodeType":"YulLiteral","src":"25210:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25216:2:22","nodeType":"YulIdentifier","src":"25216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25203:6:22","nodeType":"YulIdentifier","src":"25203:6:22"},"nativeSrc":"25203:16:22","nodeType":"YulFunctionCall","src":"25203:16:22"},"nativeSrc":"25203:16:22","nodeType":"YulExpressionStatement","src":"25203:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32202,"isOffset":false,"isSlot":false,"src":"24935:2:22","valueSize":1},{"declaration":32205,"isOffset":false,"isSlot":false,"src":"24965:2:22","valueSize":1},{"declaration":32208,"isOffset":false,"isSlot":false,"src":"24995:2:22","valueSize":1},{"declaration":32211,"isOffset":false,"isSlot":false,"src":"25025:2:22","valueSize":1},{"declaration":32194,"isOffset":false,"isSlot":false,"src":"25158:2:22","valueSize":1},{"declaration":32196,"isOffset":false,"isSlot":false,"src":"25187:2:22","valueSize":1},{"declaration":32198,"isOffset":false,"isSlot":false,"src":"25216:2:22","valueSize":1}],"id":32213,"nodeType":"InlineAssembly","src":"24912:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25254:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25260:4:22","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":32214,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"25238:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25238:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32218,"nodeType":"ExpressionStatement","src":"25238:27:22"},{"AST":{"nativeSrc":"25327:127:22","nodeType":"YulBlock","src":"25327:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"25348:4:22","nodeType":"YulLiteral","src":"25348:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"25354:2:22","nodeType":"YulIdentifier","src":"25354:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25341:6:22","nodeType":"YulIdentifier","src":"25341:6:22"},"nativeSrc":"25341:16:22","nodeType":"YulFunctionCall","src":"25341:16:22"},"nativeSrc":"25341:16:22","nodeType":"YulExpressionStatement","src":"25341:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25377:4:22","nodeType":"YulLiteral","src":"25377:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"25383:2:22","nodeType":"YulIdentifier","src":"25383:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25370:6:22","nodeType":"YulIdentifier","src":"25370:6:22"},"nativeSrc":"25370:16:22","nodeType":"YulFunctionCall","src":"25370:16:22"},"nativeSrc":"25370:16:22","nodeType":"YulExpressionStatement","src":"25370:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25406:4:22","nodeType":"YulLiteral","src":"25406:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"25412:2:22","nodeType":"YulIdentifier","src":"25412:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25399:6:22","nodeType":"YulIdentifier","src":"25399:6:22"},"nativeSrc":"25399:16:22","nodeType":"YulFunctionCall","src":"25399:16:22"},"nativeSrc":"25399:16:22","nodeType":"YulExpressionStatement","src":"25399:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25435:4:22","nodeType":"YulLiteral","src":"25435:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"25441:2:22","nodeType":"YulIdentifier","src":"25441:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25428:6:22","nodeType":"YulIdentifier","src":"25428:6:22"},"nativeSrc":"25428:16:22","nodeType":"YulFunctionCall","src":"25428:16:22"},"nativeSrc":"25428:16:22","nodeType":"YulExpressionStatement","src":"25428:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32202,"isOffset":false,"isSlot":false,"src":"25354:2:22","valueSize":1},{"declaration":32205,"isOffset":false,"isSlot":false,"src":"25383:2:22","valueSize":1},{"declaration":32208,"isOffset":false,"isSlot":false,"src":"25412:2:22","valueSize":1},{"declaration":32211,"isOffset":false,"isSlot":false,"src":"25441:2:22","valueSize":1}],"id":32219,"nodeType":"InlineAssembly","src":"25318:136:22"}]},"id":32221,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24731:3:22","nodeType":"FunctionDefinition","parameters":{"id":32199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32194,"mutability":"mutable","name":"p0","nameLocation":"24743:2:22","nodeType":"VariableDeclaration","scope":32221,"src":"24735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32193,"name":"address","nodeType":"ElementaryTypeName","src":"24735:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32196,"mutability":"mutable","name":"p1","nameLocation":"24752:2:22","nodeType":"VariableDeclaration","scope":32221,"src":"24747:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32195,"name":"bool","nodeType":"ElementaryTypeName","src":"24747:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32198,"mutability":"mutable","name":"p2","nameLocation":"24761:2:22","nodeType":"VariableDeclaration","scope":32221,"src":"24756:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32197,"name":"bool","nodeType":"ElementaryTypeName","src":"24756:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24734:30:22"},"returnParameters":{"id":32200,"nodeType":"ParameterList","parameters":[],"src":"24779:0:22"},"scope":44426,"src":"24722:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32249,"nodeType":"Block","src":"25526:684:22","statements":[{"assignments":[32231],"declarations":[{"constant":false,"id":32231,"mutability":"mutable","name":"m0","nameLocation":"25544:2:22","nodeType":"VariableDeclaration","scope":32249,"src":"25536:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25536:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32232,"nodeType":"VariableDeclarationStatement","src":"25536:10:22"},{"assignments":[32234],"declarations":[{"constant":false,"id":32234,"mutability":"mutable","name":"m1","nameLocation":"25564:2:22","nodeType":"VariableDeclaration","scope":32249,"src":"25556:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25556:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32235,"nodeType":"VariableDeclarationStatement","src":"25556:10:22"},{"assignments":[32237],"declarations":[{"constant":false,"id":32237,"mutability":"mutable","name":"m2","nameLocation":"25584:2:22","nodeType":"VariableDeclaration","scope":32249,"src":"25576:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25576:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32238,"nodeType":"VariableDeclarationStatement","src":"25576:10:22"},{"assignments":[32240],"declarations":[{"constant":false,"id":32240,"mutability":"mutable","name":"m3","nameLocation":"25604:2:22","nodeType":"VariableDeclaration","scope":32249,"src":"25596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25596:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32241,"nodeType":"VariableDeclarationStatement","src":"25596:10:22"},{"AST":{"nativeSrc":"25668:311:22","nodeType":"YulBlock","src":"25668:311:22","statements":[{"nativeSrc":"25682:17:22","nodeType":"YulAssignment","src":"25682:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25694:4:22","nodeType":"YulLiteral","src":"25694:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"25688:5:22","nodeType":"YulIdentifier","src":"25688:5:22"},"nativeSrc":"25688:11:22","nodeType":"YulFunctionCall","src":"25688:11:22"},"variableNames":[{"name":"m0","nativeSrc":"25682:2:22","nodeType":"YulIdentifier","src":"25682:2:22"}]},{"nativeSrc":"25712:17:22","nodeType":"YulAssignment","src":"25712:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25724:4:22","nodeType":"YulLiteral","src":"25724:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"25718:5:22","nodeType":"YulIdentifier","src":"25718:5:22"},"nativeSrc":"25718:11:22","nodeType":"YulFunctionCall","src":"25718:11:22"},"variableNames":[{"name":"m1","nativeSrc":"25712:2:22","nodeType":"YulIdentifier","src":"25712:2:22"}]},{"nativeSrc":"25742:17:22","nodeType":"YulAssignment","src":"25742:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25754:4:22","nodeType":"YulLiteral","src":"25754:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25748:5:22","nodeType":"YulIdentifier","src":"25748:5:22"},"nativeSrc":"25748:11:22","nodeType":"YulFunctionCall","src":"25748:11:22"},"variableNames":[{"name":"m2","nativeSrc":"25742:2:22","nodeType":"YulIdentifier","src":"25742:2:22"}]},{"nativeSrc":"25772:17:22","nodeType":"YulAssignment","src":"25772:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"25784:4:22","nodeType":"YulLiteral","src":"25784:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25778:5:22","nodeType":"YulIdentifier","src":"25778:5:22"},"nativeSrc":"25778:11:22","nodeType":"YulFunctionCall","src":"25778:11:22"},"variableNames":[{"name":"m3","nativeSrc":"25772:2:22","nodeType":"YulIdentifier","src":"25772:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25865:4:22","nodeType":"YulLiteral","src":"25865:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25871:10:22","nodeType":"YulLiteral","src":"25871:10:22","type":"","value":"0x9c4f99fb"}],"functionName":{"name":"mstore","nativeSrc":"25858:6:22","nodeType":"YulIdentifier","src":"25858:6:22"},"nativeSrc":"25858:24:22","nodeType":"YulFunctionCall","src":"25858:24:22"},"nativeSrc":"25858:24:22","nodeType":"YulExpressionStatement","src":"25858:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25902:4:22","nodeType":"YulLiteral","src":"25902:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25908:2:22","nodeType":"YulIdentifier","src":"25908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25895:6:22","nodeType":"YulIdentifier","src":"25895:6:22"},"nativeSrc":"25895:16:22","nodeType":"YulFunctionCall","src":"25895:16:22"},"nativeSrc":"25895:16:22","nodeType":"YulExpressionStatement","src":"25895:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25931:4:22","nodeType":"YulLiteral","src":"25931:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25937:2:22","nodeType":"YulIdentifier","src":"25937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25924:6:22","nodeType":"YulIdentifier","src":"25924:6:22"},"nativeSrc":"25924:16:22","nodeType":"YulFunctionCall","src":"25924:16:22"},"nativeSrc":"25924:16:22","nodeType":"YulExpressionStatement","src":"25924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25960:4:22","nodeType":"YulLiteral","src":"25960:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25966:2:22","nodeType":"YulIdentifier","src":"25966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"25953:6:22","nodeType":"YulIdentifier","src":"25953:6:22"},"nativeSrc":"25953:16:22","nodeType":"YulFunctionCall","src":"25953:16:22"},"nativeSrc":"25953:16:22","nodeType":"YulExpressionStatement","src":"25953:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32231,"isOffset":false,"isSlot":false,"src":"25682:2:22","valueSize":1},{"declaration":32234,"isOffset":false,"isSlot":false,"src":"25712:2:22","valueSize":1},{"declaration":32237,"isOffset":false,"isSlot":false,"src":"25742:2:22","valueSize":1},{"declaration":32240,"isOffset":false,"isSlot":false,"src":"25772:2:22","valueSize":1},{"declaration":32223,"isOffset":false,"isSlot":false,"src":"25908:2:22","valueSize":1},{"declaration":32225,"isOffset":false,"isSlot":false,"src":"25937:2:22","valueSize":1},{"declaration":32227,"isOffset":false,"isSlot":false,"src":"25966:2:22","valueSize":1}],"id":32242,"nodeType":"InlineAssembly","src":"25659:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26004:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26010:4:22","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":32243,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"25988:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25988:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32247,"nodeType":"ExpressionStatement","src":"25988:27:22"},{"AST":{"nativeSrc":"26077:127:22","nodeType":"YulBlock","src":"26077:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"26098:4:22","nodeType":"YulLiteral","src":"26098:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"26104:2:22","nodeType":"YulIdentifier","src":"26104:2:22"}],"functionName":{"name":"mstore","nativeSrc":"26091:6:22","nodeType":"YulIdentifier","src":"26091:6:22"},"nativeSrc":"26091:16:22","nodeType":"YulFunctionCall","src":"26091:16:22"},"nativeSrc":"26091:16:22","nodeType":"YulExpressionStatement","src":"26091:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26127:4:22","nodeType":"YulLiteral","src":"26127:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"26133:2:22","nodeType":"YulIdentifier","src":"26133:2:22"}],"functionName":{"name":"mstore","nativeSrc":"26120:6:22","nodeType":"YulIdentifier","src":"26120:6:22"},"nativeSrc":"26120:16:22","nodeType":"YulFunctionCall","src":"26120:16:22"},"nativeSrc":"26120:16:22","nodeType":"YulExpressionStatement","src":"26120:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26156:4:22","nodeType":"YulLiteral","src":"26156:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"26162:2:22","nodeType":"YulIdentifier","src":"26162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"26149:6:22","nodeType":"YulIdentifier","src":"26149:6:22"},"nativeSrc":"26149:16:22","nodeType":"YulFunctionCall","src":"26149:16:22"},"nativeSrc":"26149:16:22","nodeType":"YulExpressionStatement","src":"26149:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26185:4:22","nodeType":"YulLiteral","src":"26185:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"26191:2:22","nodeType":"YulIdentifier","src":"26191:2:22"}],"functionName":{"name":"mstore","nativeSrc":"26178:6:22","nodeType":"YulIdentifier","src":"26178:6:22"},"nativeSrc":"26178:16:22","nodeType":"YulFunctionCall","src":"26178:16:22"},"nativeSrc":"26178:16:22","nodeType":"YulExpressionStatement","src":"26178:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32231,"isOffset":false,"isSlot":false,"src":"26104:2:22","valueSize":1},{"declaration":32234,"isOffset":false,"isSlot":false,"src":"26133:2:22","valueSize":1},{"declaration":32237,"isOffset":false,"isSlot":false,"src":"26162:2:22","valueSize":1},{"declaration":32240,"isOffset":false,"isSlot":false,"src":"26191:2:22","valueSize":1}],"id":32248,"nodeType":"InlineAssembly","src":"26068:136:22"}]},"id":32250,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25475:3:22","nodeType":"FunctionDefinition","parameters":{"id":32228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32223,"mutability":"mutable","name":"p0","nameLocation":"25487:2:22","nodeType":"VariableDeclaration","scope":32250,"src":"25479:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32222,"name":"address","nodeType":"ElementaryTypeName","src":"25479:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32225,"mutability":"mutable","name":"p1","nameLocation":"25496:2:22","nodeType":"VariableDeclaration","scope":32250,"src":"25491:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32224,"name":"bool","nodeType":"ElementaryTypeName","src":"25491:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32227,"mutability":"mutable","name":"p2","nameLocation":"25508:2:22","nodeType":"VariableDeclaration","scope":32250,"src":"25500:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32226,"name":"uint256","nodeType":"ElementaryTypeName","src":"25500:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25478:33:22"},"returnParameters":{"id":32229,"nodeType":"ParameterList","parameters":[],"src":"25526:0:22"},"scope":44426,"src":"25466:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32284,"nodeType":"Block","src":"26276:1232:22","statements":[{"assignments":[32260],"declarations":[{"constant":false,"id":32260,"mutability":"mutable","name":"m0","nameLocation":"26294:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26286:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26286:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32261,"nodeType":"VariableDeclarationStatement","src":"26286:10:22"},{"assignments":[32263],"declarations":[{"constant":false,"id":32263,"mutability":"mutable","name":"m1","nameLocation":"26314:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26306:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26306:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32264,"nodeType":"VariableDeclarationStatement","src":"26306:10:22"},{"assignments":[32266],"declarations":[{"constant":false,"id":32266,"mutability":"mutable","name":"m2","nameLocation":"26334:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26326:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26326:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32267,"nodeType":"VariableDeclarationStatement","src":"26326:10:22"},{"assignments":[32269],"declarations":[{"constant":false,"id":32269,"mutability":"mutable","name":"m3","nameLocation":"26354:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26346:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26346:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32270,"nodeType":"VariableDeclarationStatement","src":"26346:10:22"},{"assignments":[32272],"declarations":[{"constant":false,"id":32272,"mutability":"mutable","name":"m4","nameLocation":"26374:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26366:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26366:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32273,"nodeType":"VariableDeclarationStatement","src":"26366:10:22"},{"assignments":[32275],"declarations":[{"constant":false,"id":32275,"mutability":"mutable","name":"m5","nameLocation":"26394:2:22","nodeType":"VariableDeclaration","scope":32284,"src":"26386:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26386:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32276,"nodeType":"VariableDeclarationStatement","src":"26386:10:22"},{"AST":{"nativeSrc":"26458:761:22","nodeType":"YulBlock","src":"26458:761:22","statements":[{"body":{"nativeSrc":"26501:313:22","nodeType":"YulBlock","src":"26501:313:22","statements":[{"nativeSrc":"26519:15:22","nodeType":"YulVariableDeclaration","src":"26519:15:22","value":{"kind":"number","nativeSrc":"26533:1:22","nodeType":"YulLiteral","src":"26533:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"26523:6:22","nodeType":"YulTypedName","src":"26523:6:22","type":""}]},{"body":{"nativeSrc":"26604:40:22","nodeType":"YulBlock","src":"26604:40:22","statements":[{"body":{"nativeSrc":"26633:9:22","nodeType":"YulBlock","src":"26633:9:22","statements":[{"nativeSrc":"26635:5:22","nodeType":"YulBreak","src":"26635:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"26621:6:22","nodeType":"YulIdentifier","src":"26621:6:22"},{"name":"w","nativeSrc":"26629:1:22","nodeType":"YulIdentifier","src":"26629:1:22"}],"functionName":{"name":"byte","nativeSrc":"26616:4:22","nodeType":"YulIdentifier","src":"26616:4:22"},"nativeSrc":"26616:15:22","nodeType":"YulFunctionCall","src":"26616:15:22"}],"functionName":{"name":"iszero","nativeSrc":"26609:6:22","nodeType":"YulIdentifier","src":"26609:6:22"},"nativeSrc":"26609:23:22","nodeType":"YulFunctionCall","src":"26609:23:22"},"nativeSrc":"26606:36:22","nodeType":"YulIf","src":"26606:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"26561:6:22","nodeType":"YulIdentifier","src":"26561:6:22"},{"kind":"number","nativeSrc":"26569:4:22","nodeType":"YulLiteral","src":"26569:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"26558:2:22","nodeType":"YulIdentifier","src":"26558:2:22"},"nativeSrc":"26558:16:22","nodeType":"YulFunctionCall","src":"26558:16:22"},"nativeSrc":"26551:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"26575:28:22","nodeType":"YulBlock","src":"26575:28:22","statements":[{"nativeSrc":"26577:24:22","nodeType":"YulAssignment","src":"26577:24:22","value":{"arguments":[{"name":"length","nativeSrc":"26591:6:22","nodeType":"YulIdentifier","src":"26591:6:22"},{"kind":"number","nativeSrc":"26599:1:22","nodeType":"YulLiteral","src":"26599:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"26587:3:22","nodeType":"YulIdentifier","src":"26587:3:22"},"nativeSrc":"26587:14:22","nodeType":"YulFunctionCall","src":"26587:14:22"},"variableNames":[{"name":"length","nativeSrc":"26577:6:22","nodeType":"YulIdentifier","src":"26577:6:22"}]}]},"pre":{"nativeSrc":"26555:2:22","nodeType":"YulBlock","src":"26555:2:22","statements":[]},"src":"26551:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"26668:3:22","nodeType":"YulIdentifier","src":"26668:3:22"},{"name":"length","nativeSrc":"26673:6:22","nodeType":"YulIdentifier","src":"26673:6:22"}],"functionName":{"name":"mstore","nativeSrc":"26661:6:22","nodeType":"YulIdentifier","src":"26661:6:22"},"nativeSrc":"26661:19:22","nodeType":"YulFunctionCall","src":"26661:19:22"},"nativeSrc":"26661:19:22","nodeType":"YulExpressionStatement","src":"26661:19:22"},{"nativeSrc":"26697:37:22","nodeType":"YulVariableDeclaration","src":"26697:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"26714:3:22","nodeType":"YulLiteral","src":"26714:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"26723:1:22","nodeType":"YulLiteral","src":"26723:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"26726:6:22","nodeType":"YulIdentifier","src":"26726:6:22"}],"functionName":{"name":"shl","nativeSrc":"26719:3:22","nodeType":"YulIdentifier","src":"26719:3:22"},"nativeSrc":"26719:14:22","nodeType":"YulFunctionCall","src":"26719:14:22"}],"functionName":{"name":"sub","nativeSrc":"26710:3:22","nodeType":"YulIdentifier","src":"26710:3:22"},"nativeSrc":"26710:24:22","nodeType":"YulFunctionCall","src":"26710:24:22"},"variables":[{"name":"shift","nativeSrc":"26701:5:22","nodeType":"YulTypedName","src":"26701:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"26762:3:22","nodeType":"YulIdentifier","src":"26762:3:22"},{"kind":"number","nativeSrc":"26767:4:22","nodeType":"YulLiteral","src":"26767:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26758:3:22","nodeType":"YulIdentifier","src":"26758:3:22"},"nativeSrc":"26758:14:22","nodeType":"YulFunctionCall","src":"26758:14:22"},{"arguments":[{"name":"shift","nativeSrc":"26778:5:22","nodeType":"YulIdentifier","src":"26778:5:22"},{"arguments":[{"name":"shift","nativeSrc":"26789:5:22","nodeType":"YulIdentifier","src":"26789:5:22"},{"name":"w","nativeSrc":"26796:1:22","nodeType":"YulIdentifier","src":"26796:1:22"}],"functionName":{"name":"shr","nativeSrc":"26785:3:22","nodeType":"YulIdentifier","src":"26785:3:22"},"nativeSrc":"26785:13:22","nodeType":"YulFunctionCall","src":"26785:13:22"}],"functionName":{"name":"shl","nativeSrc":"26774:3:22","nodeType":"YulIdentifier","src":"26774:3:22"},"nativeSrc":"26774:25:22","nodeType":"YulFunctionCall","src":"26774:25:22"}],"functionName":{"name":"mstore","nativeSrc":"26751:6:22","nodeType":"YulIdentifier","src":"26751:6:22"},"nativeSrc":"26751:49:22","nodeType":"YulFunctionCall","src":"26751:49:22"},"nativeSrc":"26751:49:22","nodeType":"YulExpressionStatement","src":"26751:49:22"}]},"name":"writeString","nativeSrc":"26472:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"26493:3:22","nodeType":"YulTypedName","src":"26493:3:22","type":""},{"name":"w","nativeSrc":"26498:1:22","nodeType":"YulTypedName","src":"26498:1:22","type":""}],"src":"26472:342:22"},{"nativeSrc":"26827:17:22","nodeType":"YulAssignment","src":"26827:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26839:4:22","nodeType":"YulLiteral","src":"26839:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"26833:5:22","nodeType":"YulIdentifier","src":"26833:5:22"},"nativeSrc":"26833:11:22","nodeType":"YulFunctionCall","src":"26833:11:22"},"variableNames":[{"name":"m0","nativeSrc":"26827:2:22","nodeType":"YulIdentifier","src":"26827:2:22"}]},{"nativeSrc":"26857:17:22","nodeType":"YulAssignment","src":"26857:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26869:4:22","nodeType":"YulLiteral","src":"26869:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"26863:5:22","nodeType":"YulIdentifier","src":"26863:5:22"},"nativeSrc":"26863:11:22","nodeType":"YulFunctionCall","src":"26863:11:22"},"variableNames":[{"name":"m1","nativeSrc":"26857:2:22","nodeType":"YulIdentifier","src":"26857:2:22"}]},{"nativeSrc":"26887:17:22","nodeType":"YulAssignment","src":"26887:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26899:4:22","nodeType":"YulLiteral","src":"26899:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"26893:5:22","nodeType":"YulIdentifier","src":"26893:5:22"},"nativeSrc":"26893:11:22","nodeType":"YulFunctionCall","src":"26893:11:22"},"variableNames":[{"name":"m2","nativeSrc":"26887:2:22","nodeType":"YulIdentifier","src":"26887:2:22"}]},{"nativeSrc":"26917:17:22","nodeType":"YulAssignment","src":"26917:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26929:4:22","nodeType":"YulLiteral","src":"26929:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"26923:5:22","nodeType":"YulIdentifier","src":"26923:5:22"},"nativeSrc":"26923:11:22","nodeType":"YulFunctionCall","src":"26923:11:22"},"variableNames":[{"name":"m3","nativeSrc":"26917:2:22","nodeType":"YulIdentifier","src":"26917:2:22"}]},{"nativeSrc":"26947:17:22","nodeType":"YulAssignment","src":"26947:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26959:4:22","nodeType":"YulLiteral","src":"26959:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"26953:5:22","nodeType":"YulIdentifier","src":"26953:5:22"},"nativeSrc":"26953:11:22","nodeType":"YulFunctionCall","src":"26953:11:22"},"variableNames":[{"name":"m4","nativeSrc":"26947:2:22","nodeType":"YulIdentifier","src":"26947:2:22"}]},{"nativeSrc":"26977:17:22","nodeType":"YulAssignment","src":"26977:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"26989:4:22","nodeType":"YulLiteral","src":"26989:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"26983:5:22","nodeType":"YulIdentifier","src":"26983:5:22"},"nativeSrc":"26983:11:22","nodeType":"YulFunctionCall","src":"26983:11:22"},"variableNames":[{"name":"m5","nativeSrc":"26977:2:22","nodeType":"YulIdentifier","src":"26977:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27069:4:22","nodeType":"YulLiteral","src":"27069:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27075:10:22","nodeType":"YulLiteral","src":"27075:10:22","type":"","value":"0x212255cc"}],"functionName":{"name":"mstore","nativeSrc":"27062:6:22","nodeType":"YulIdentifier","src":"27062:6:22"},"nativeSrc":"27062:24:22","nodeType":"YulFunctionCall","src":"27062:24:22"},"nativeSrc":"27062:24:22","nodeType":"YulExpressionStatement","src":"27062:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27106:4:22","nodeType":"YulLiteral","src":"27106:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27112:2:22","nodeType":"YulIdentifier","src":"27112:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27099:6:22","nodeType":"YulIdentifier","src":"27099:6:22"},"nativeSrc":"27099:16:22","nodeType":"YulFunctionCall","src":"27099:16:22"},"nativeSrc":"27099:16:22","nodeType":"YulExpressionStatement","src":"27099:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27135:4:22","nodeType":"YulLiteral","src":"27135:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27141:2:22","nodeType":"YulIdentifier","src":"27141:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27128:6:22","nodeType":"YulIdentifier","src":"27128:6:22"},"nativeSrc":"27128:16:22","nodeType":"YulFunctionCall","src":"27128:16:22"},"nativeSrc":"27128:16:22","nodeType":"YulExpressionStatement","src":"27128:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27164:4:22","nodeType":"YulLiteral","src":"27164:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"27170:4:22","nodeType":"YulLiteral","src":"27170:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"27157:6:22","nodeType":"YulIdentifier","src":"27157:6:22"},"nativeSrc":"27157:18:22","nodeType":"YulFunctionCall","src":"27157:18:22"},"nativeSrc":"27157:18:22","nodeType":"YulExpressionStatement","src":"27157:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27200:4:22","nodeType":"YulLiteral","src":"27200:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"27206:2:22","nodeType":"YulIdentifier","src":"27206:2:22"}],"functionName":{"name":"writeString","nativeSrc":"27188:11:22","nodeType":"YulIdentifier","src":"27188:11:22"},"nativeSrc":"27188:21:22","nodeType":"YulFunctionCall","src":"27188:21:22"},"nativeSrc":"27188:21:22","nodeType":"YulExpressionStatement","src":"27188:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32260,"isOffset":false,"isSlot":false,"src":"26827:2:22","valueSize":1},{"declaration":32263,"isOffset":false,"isSlot":false,"src":"26857:2:22","valueSize":1},{"declaration":32266,"isOffset":false,"isSlot":false,"src":"26887:2:22","valueSize":1},{"declaration":32269,"isOffset":false,"isSlot":false,"src":"26917:2:22","valueSize":1},{"declaration":32272,"isOffset":false,"isSlot":false,"src":"26947:2:22","valueSize":1},{"declaration":32275,"isOffset":false,"isSlot":false,"src":"26977:2:22","valueSize":1},{"declaration":32252,"isOffset":false,"isSlot":false,"src":"27112:2:22","valueSize":1},{"declaration":32254,"isOffset":false,"isSlot":false,"src":"27141:2:22","valueSize":1},{"declaration":32256,"isOffset":false,"isSlot":false,"src":"27206:2:22","valueSize":1}],"id":32277,"nodeType":"InlineAssembly","src":"26449:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27244:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27250:4:22","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":32278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"27228:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27228:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32282,"nodeType":"ExpressionStatement","src":"27228:27:22"},{"AST":{"nativeSrc":"27317:185:22","nodeType":"YulBlock","src":"27317:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"27338:4:22","nodeType":"YulLiteral","src":"27338:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"27344:2:22","nodeType":"YulIdentifier","src":"27344:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27331:6:22","nodeType":"YulIdentifier","src":"27331:6:22"},"nativeSrc":"27331:16:22","nodeType":"YulFunctionCall","src":"27331:16:22"},"nativeSrc":"27331:16:22","nodeType":"YulExpressionStatement","src":"27331:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27367:4:22","nodeType":"YulLiteral","src":"27367:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"27373:2:22","nodeType":"YulIdentifier","src":"27373:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27360:6:22","nodeType":"YulIdentifier","src":"27360:6:22"},"nativeSrc":"27360:16:22","nodeType":"YulFunctionCall","src":"27360:16:22"},"nativeSrc":"27360:16:22","nodeType":"YulExpressionStatement","src":"27360:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27396:4:22","nodeType":"YulLiteral","src":"27396:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"27402:2:22","nodeType":"YulIdentifier","src":"27402:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27389:6:22","nodeType":"YulIdentifier","src":"27389:6:22"},"nativeSrc":"27389:16:22","nodeType":"YulFunctionCall","src":"27389:16:22"},"nativeSrc":"27389:16:22","nodeType":"YulExpressionStatement","src":"27389:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27425:4:22","nodeType":"YulLiteral","src":"27425:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"27431:2:22","nodeType":"YulIdentifier","src":"27431:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27418:6:22","nodeType":"YulIdentifier","src":"27418:6:22"},"nativeSrc":"27418:16:22","nodeType":"YulFunctionCall","src":"27418:16:22"},"nativeSrc":"27418:16:22","nodeType":"YulExpressionStatement","src":"27418:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27454:4:22","nodeType":"YulLiteral","src":"27454:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"27460:2:22","nodeType":"YulIdentifier","src":"27460:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27447:6:22","nodeType":"YulIdentifier","src":"27447:6:22"},"nativeSrc":"27447:16:22","nodeType":"YulFunctionCall","src":"27447:16:22"},"nativeSrc":"27447:16:22","nodeType":"YulExpressionStatement","src":"27447:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27483:4:22","nodeType":"YulLiteral","src":"27483:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"27489:2:22","nodeType":"YulIdentifier","src":"27489:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27476:6:22","nodeType":"YulIdentifier","src":"27476:6:22"},"nativeSrc":"27476:16:22","nodeType":"YulFunctionCall","src":"27476:16:22"},"nativeSrc":"27476:16:22","nodeType":"YulExpressionStatement","src":"27476:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32260,"isOffset":false,"isSlot":false,"src":"27344:2:22","valueSize":1},{"declaration":32263,"isOffset":false,"isSlot":false,"src":"27373:2:22","valueSize":1},{"declaration":32266,"isOffset":false,"isSlot":false,"src":"27402:2:22","valueSize":1},{"declaration":32269,"isOffset":false,"isSlot":false,"src":"27431:2:22","valueSize":1},{"declaration":32272,"isOffset":false,"isSlot":false,"src":"27460:2:22","valueSize":1},{"declaration":32275,"isOffset":false,"isSlot":false,"src":"27489:2:22","valueSize":1}],"id":32283,"nodeType":"InlineAssembly","src":"27308:194:22"}]},"id":32285,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26225:3:22","nodeType":"FunctionDefinition","parameters":{"id":32257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32252,"mutability":"mutable","name":"p0","nameLocation":"26237:2:22","nodeType":"VariableDeclaration","scope":32285,"src":"26229:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32251,"name":"address","nodeType":"ElementaryTypeName","src":"26229:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32254,"mutability":"mutable","name":"p1","nameLocation":"26246:2:22","nodeType":"VariableDeclaration","scope":32285,"src":"26241:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32253,"name":"bool","nodeType":"ElementaryTypeName","src":"26241:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32256,"mutability":"mutable","name":"p2","nameLocation":"26258:2:22","nodeType":"VariableDeclaration","scope":32285,"src":"26250:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26250:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26228:33:22"},"returnParameters":{"id":32258,"nodeType":"ParameterList","parameters":[],"src":"26276:0:22"},"scope":44426,"src":"26216:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32313,"nodeType":"Block","src":"27577:687:22","statements":[{"assignments":[32295],"declarations":[{"constant":false,"id":32295,"mutability":"mutable","name":"m0","nameLocation":"27595:2:22","nodeType":"VariableDeclaration","scope":32313,"src":"27587:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27587:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32296,"nodeType":"VariableDeclarationStatement","src":"27587:10:22"},{"assignments":[32298],"declarations":[{"constant":false,"id":32298,"mutability":"mutable","name":"m1","nameLocation":"27615:2:22","nodeType":"VariableDeclaration","scope":32313,"src":"27607:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27607:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32299,"nodeType":"VariableDeclarationStatement","src":"27607:10:22"},{"assignments":[32301],"declarations":[{"constant":false,"id":32301,"mutability":"mutable","name":"m2","nameLocation":"27635:2:22","nodeType":"VariableDeclaration","scope":32313,"src":"27627:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27627:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32302,"nodeType":"VariableDeclarationStatement","src":"27627:10:22"},{"assignments":[32304],"declarations":[{"constant":false,"id":32304,"mutability":"mutable","name":"m3","nameLocation":"27655:2:22","nodeType":"VariableDeclaration","scope":32313,"src":"27647:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27647:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32305,"nodeType":"VariableDeclarationStatement","src":"27647:10:22"},{"AST":{"nativeSrc":"27719:314:22","nodeType":"YulBlock","src":"27719:314:22","statements":[{"nativeSrc":"27733:17:22","nodeType":"YulAssignment","src":"27733:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"27745:4:22","nodeType":"YulLiteral","src":"27745:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"27739:5:22","nodeType":"YulIdentifier","src":"27739:5:22"},"nativeSrc":"27739:11:22","nodeType":"YulFunctionCall","src":"27739:11:22"},"variableNames":[{"name":"m0","nativeSrc":"27733:2:22","nodeType":"YulIdentifier","src":"27733:2:22"}]},{"nativeSrc":"27763:17:22","nodeType":"YulAssignment","src":"27763:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"27775:4:22","nodeType":"YulLiteral","src":"27775:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"27769:5:22","nodeType":"YulIdentifier","src":"27769:5:22"},"nativeSrc":"27769:11:22","nodeType":"YulFunctionCall","src":"27769:11:22"},"variableNames":[{"name":"m1","nativeSrc":"27763:2:22","nodeType":"YulIdentifier","src":"27763:2:22"}]},{"nativeSrc":"27793:17:22","nodeType":"YulAssignment","src":"27793:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"27805:4:22","nodeType":"YulLiteral","src":"27805:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"27799:5:22","nodeType":"YulIdentifier","src":"27799:5:22"},"nativeSrc":"27799:11:22","nodeType":"YulFunctionCall","src":"27799:11:22"},"variableNames":[{"name":"m2","nativeSrc":"27793:2:22","nodeType":"YulIdentifier","src":"27793:2:22"}]},{"nativeSrc":"27823:17:22","nodeType":"YulAssignment","src":"27823:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"27835:4:22","nodeType":"YulLiteral","src":"27835:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"27829:5:22","nodeType":"YulIdentifier","src":"27829:5:22"},"nativeSrc":"27829:11:22","nodeType":"YulFunctionCall","src":"27829:11:22"},"variableNames":[{"name":"m3","nativeSrc":"27823:2:22","nodeType":"YulIdentifier","src":"27823:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27919:4:22","nodeType":"YulLiteral","src":"27919:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27925:10:22","nodeType":"YulLiteral","src":"27925:10:22","type":"","value":"0x7bc0d848"}],"functionName":{"name":"mstore","nativeSrc":"27912:6:22","nodeType":"YulIdentifier","src":"27912:6:22"},"nativeSrc":"27912:24:22","nodeType":"YulFunctionCall","src":"27912:24:22"},"nativeSrc":"27912:24:22","nodeType":"YulExpressionStatement","src":"27912:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27956:4:22","nodeType":"YulLiteral","src":"27956:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27962:2:22","nodeType":"YulIdentifier","src":"27962:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27949:6:22","nodeType":"YulIdentifier","src":"27949:6:22"},"nativeSrc":"27949:16:22","nodeType":"YulFunctionCall","src":"27949:16:22"},"nativeSrc":"27949:16:22","nodeType":"YulExpressionStatement","src":"27949:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27985:4:22","nodeType":"YulLiteral","src":"27985:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27991:2:22","nodeType":"YulIdentifier","src":"27991:2:22"}],"functionName":{"name":"mstore","nativeSrc":"27978:6:22","nodeType":"YulIdentifier","src":"27978:6:22"},"nativeSrc":"27978:16:22","nodeType":"YulFunctionCall","src":"27978:16:22"},"nativeSrc":"27978:16:22","nodeType":"YulExpressionStatement","src":"27978:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28014:4:22","nodeType":"YulLiteral","src":"28014:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28020:2:22","nodeType":"YulIdentifier","src":"28020:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28007:6:22","nodeType":"YulIdentifier","src":"28007:6:22"},"nativeSrc":"28007:16:22","nodeType":"YulFunctionCall","src":"28007:16:22"},"nativeSrc":"28007:16:22","nodeType":"YulExpressionStatement","src":"28007:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32295,"isOffset":false,"isSlot":false,"src":"27733:2:22","valueSize":1},{"declaration":32298,"isOffset":false,"isSlot":false,"src":"27763:2:22","valueSize":1},{"declaration":32301,"isOffset":false,"isSlot":false,"src":"27793:2:22","valueSize":1},{"declaration":32304,"isOffset":false,"isSlot":false,"src":"27823:2:22","valueSize":1},{"declaration":32287,"isOffset":false,"isSlot":false,"src":"27962:2:22","valueSize":1},{"declaration":32289,"isOffset":false,"isSlot":false,"src":"27991:2:22","valueSize":1},{"declaration":32291,"isOffset":false,"isSlot":false,"src":"28020:2:22","valueSize":1}],"id":32306,"nodeType":"InlineAssembly","src":"27710:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28058:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28064:4:22","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":32307,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"28042:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28042:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32311,"nodeType":"ExpressionStatement","src":"28042:27:22"},{"AST":{"nativeSrc":"28131:127:22","nodeType":"YulBlock","src":"28131:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28152:4:22","nodeType":"YulLiteral","src":"28152:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28158:2:22","nodeType":"YulIdentifier","src":"28158:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28145:6:22","nodeType":"YulIdentifier","src":"28145:6:22"},"nativeSrc":"28145:16:22","nodeType":"YulFunctionCall","src":"28145:16:22"},"nativeSrc":"28145:16:22","nodeType":"YulExpressionStatement","src":"28145:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28181:4:22","nodeType":"YulLiteral","src":"28181:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28187:2:22","nodeType":"YulIdentifier","src":"28187:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28174:6:22","nodeType":"YulIdentifier","src":"28174:6:22"},"nativeSrc":"28174:16:22","nodeType":"YulFunctionCall","src":"28174:16:22"},"nativeSrc":"28174:16:22","nodeType":"YulExpressionStatement","src":"28174:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28210:4:22","nodeType":"YulLiteral","src":"28210:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28216:2:22","nodeType":"YulIdentifier","src":"28216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28203:6:22","nodeType":"YulIdentifier","src":"28203:6:22"},"nativeSrc":"28203:16:22","nodeType":"YulFunctionCall","src":"28203:16:22"},"nativeSrc":"28203:16:22","nodeType":"YulExpressionStatement","src":"28203:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28239:4:22","nodeType":"YulLiteral","src":"28239:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28245:2:22","nodeType":"YulIdentifier","src":"28245:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28232:6:22","nodeType":"YulIdentifier","src":"28232:6:22"},"nativeSrc":"28232:16:22","nodeType":"YulFunctionCall","src":"28232:16:22"},"nativeSrc":"28232:16:22","nodeType":"YulExpressionStatement","src":"28232:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32295,"isOffset":false,"isSlot":false,"src":"28158:2:22","valueSize":1},{"declaration":32298,"isOffset":false,"isSlot":false,"src":"28187:2:22","valueSize":1},{"declaration":32301,"isOffset":false,"isSlot":false,"src":"28216:2:22","valueSize":1},{"declaration":32304,"isOffset":false,"isSlot":false,"src":"28245:2:22","valueSize":1}],"id":32312,"nodeType":"InlineAssembly","src":"28122:136:22"}]},"id":32314,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27523:3:22","nodeType":"FunctionDefinition","parameters":{"id":32292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32287,"mutability":"mutable","name":"p0","nameLocation":"27535:2:22","nodeType":"VariableDeclaration","scope":32314,"src":"27527:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32286,"name":"address","nodeType":"ElementaryTypeName","src":"27527:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32289,"mutability":"mutable","name":"p1","nameLocation":"27547:2:22","nodeType":"VariableDeclaration","scope":32314,"src":"27539:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32288,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32291,"mutability":"mutable","name":"p2","nameLocation":"27559:2:22","nodeType":"VariableDeclaration","scope":32314,"src":"27551:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32290,"name":"address","nodeType":"ElementaryTypeName","src":"27551:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27526:36:22"},"returnParameters":{"id":32293,"nodeType":"ParameterList","parameters":[],"src":"27577:0:22"},"scope":44426,"src":"27514:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32342,"nodeType":"Block","src":"28330:684:22","statements":[{"assignments":[32324],"declarations":[{"constant":false,"id":32324,"mutability":"mutable","name":"m0","nameLocation":"28348:2:22","nodeType":"VariableDeclaration","scope":32342,"src":"28340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32325,"nodeType":"VariableDeclarationStatement","src":"28340:10:22"},{"assignments":[32327],"declarations":[{"constant":false,"id":32327,"mutability":"mutable","name":"m1","nameLocation":"28368:2:22","nodeType":"VariableDeclaration","scope":32342,"src":"28360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28360:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32328,"nodeType":"VariableDeclarationStatement","src":"28360:10:22"},{"assignments":[32330],"declarations":[{"constant":false,"id":32330,"mutability":"mutable","name":"m2","nameLocation":"28388:2:22","nodeType":"VariableDeclaration","scope":32342,"src":"28380:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28380:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32331,"nodeType":"VariableDeclarationStatement","src":"28380:10:22"},{"assignments":[32333],"declarations":[{"constant":false,"id":32333,"mutability":"mutable","name":"m3","nameLocation":"28408:2:22","nodeType":"VariableDeclaration","scope":32342,"src":"28400:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28400:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32334,"nodeType":"VariableDeclarationStatement","src":"28400:10:22"},{"AST":{"nativeSrc":"28472:311:22","nodeType":"YulBlock","src":"28472:311:22","statements":[{"nativeSrc":"28486:17:22","nodeType":"YulAssignment","src":"28486:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"28498:4:22","nodeType":"YulLiteral","src":"28498:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"28492:5:22","nodeType":"YulIdentifier","src":"28492:5:22"},"nativeSrc":"28492:11:22","nodeType":"YulFunctionCall","src":"28492:11:22"},"variableNames":[{"name":"m0","nativeSrc":"28486:2:22","nodeType":"YulIdentifier","src":"28486:2:22"}]},{"nativeSrc":"28516:17:22","nodeType":"YulAssignment","src":"28516:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"28528:4:22","nodeType":"YulLiteral","src":"28528:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"28522:5:22","nodeType":"YulIdentifier","src":"28522:5:22"},"nativeSrc":"28522:11:22","nodeType":"YulFunctionCall","src":"28522:11:22"},"variableNames":[{"name":"m1","nativeSrc":"28516:2:22","nodeType":"YulIdentifier","src":"28516:2:22"}]},{"nativeSrc":"28546:17:22","nodeType":"YulAssignment","src":"28546:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"28558:4:22","nodeType":"YulLiteral","src":"28558:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"28552:5:22","nodeType":"YulIdentifier","src":"28552:5:22"},"nativeSrc":"28552:11:22","nodeType":"YulFunctionCall","src":"28552:11:22"},"variableNames":[{"name":"m2","nativeSrc":"28546:2:22","nodeType":"YulIdentifier","src":"28546:2:22"}]},{"nativeSrc":"28576:17:22","nodeType":"YulAssignment","src":"28576:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"28588:4:22","nodeType":"YulLiteral","src":"28588:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"28582:5:22","nodeType":"YulIdentifier","src":"28582:5:22"},"nativeSrc":"28582:11:22","nodeType":"YulFunctionCall","src":"28582:11:22"},"variableNames":[{"name":"m3","nativeSrc":"28576:2:22","nodeType":"YulIdentifier","src":"28576:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28669:4:22","nodeType":"YulLiteral","src":"28669:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"28675:10:22","nodeType":"YulLiteral","src":"28675:10:22","type":"","value":"0x678209a8"}],"functionName":{"name":"mstore","nativeSrc":"28662:6:22","nodeType":"YulIdentifier","src":"28662:6:22"},"nativeSrc":"28662:24:22","nodeType":"YulFunctionCall","src":"28662:24:22"},"nativeSrc":"28662:24:22","nodeType":"YulExpressionStatement","src":"28662:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28706:4:22","nodeType":"YulLiteral","src":"28706:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"28712:2:22","nodeType":"YulIdentifier","src":"28712:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28699:6:22","nodeType":"YulIdentifier","src":"28699:6:22"},"nativeSrc":"28699:16:22","nodeType":"YulFunctionCall","src":"28699:16:22"},"nativeSrc":"28699:16:22","nodeType":"YulExpressionStatement","src":"28699:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28735:4:22","nodeType":"YulLiteral","src":"28735:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"28741:2:22","nodeType":"YulIdentifier","src":"28741:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28728:6:22","nodeType":"YulIdentifier","src":"28728:6:22"},"nativeSrc":"28728:16:22","nodeType":"YulFunctionCall","src":"28728:16:22"},"nativeSrc":"28728:16:22","nodeType":"YulExpressionStatement","src":"28728:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28764:4:22","nodeType":"YulLiteral","src":"28764:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28770:2:22","nodeType":"YulIdentifier","src":"28770:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28757:6:22","nodeType":"YulIdentifier","src":"28757:6:22"},"nativeSrc":"28757:16:22","nodeType":"YulFunctionCall","src":"28757:16:22"},"nativeSrc":"28757:16:22","nodeType":"YulExpressionStatement","src":"28757:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32324,"isOffset":false,"isSlot":false,"src":"28486:2:22","valueSize":1},{"declaration":32327,"isOffset":false,"isSlot":false,"src":"28516:2:22","valueSize":1},{"declaration":32330,"isOffset":false,"isSlot":false,"src":"28546:2:22","valueSize":1},{"declaration":32333,"isOffset":false,"isSlot":false,"src":"28576:2:22","valueSize":1},{"declaration":32316,"isOffset":false,"isSlot":false,"src":"28712:2:22","valueSize":1},{"declaration":32318,"isOffset":false,"isSlot":false,"src":"28741:2:22","valueSize":1},{"declaration":32320,"isOffset":false,"isSlot":false,"src":"28770:2:22","valueSize":1}],"id":32335,"nodeType":"InlineAssembly","src":"28463:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28808:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28814:4:22","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":32336,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"28792:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28792:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32340,"nodeType":"ExpressionStatement","src":"28792:27:22"},{"AST":{"nativeSrc":"28881:127:22","nodeType":"YulBlock","src":"28881:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28902:4:22","nodeType":"YulLiteral","src":"28902:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28908:2:22","nodeType":"YulIdentifier","src":"28908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28895:6:22","nodeType":"YulIdentifier","src":"28895:6:22"},"nativeSrc":"28895:16:22","nodeType":"YulFunctionCall","src":"28895:16:22"},"nativeSrc":"28895:16:22","nodeType":"YulExpressionStatement","src":"28895:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28931:4:22","nodeType":"YulLiteral","src":"28931:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28937:2:22","nodeType":"YulIdentifier","src":"28937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28924:6:22","nodeType":"YulIdentifier","src":"28924:6:22"},"nativeSrc":"28924:16:22","nodeType":"YulFunctionCall","src":"28924:16:22"},"nativeSrc":"28924:16:22","nodeType":"YulExpressionStatement","src":"28924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28960:4:22","nodeType":"YulLiteral","src":"28960:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28966:2:22","nodeType":"YulIdentifier","src":"28966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28953:6:22","nodeType":"YulIdentifier","src":"28953:6:22"},"nativeSrc":"28953:16:22","nodeType":"YulFunctionCall","src":"28953:16:22"},"nativeSrc":"28953:16:22","nodeType":"YulExpressionStatement","src":"28953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28989:4:22","nodeType":"YulLiteral","src":"28989:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28995:2:22","nodeType":"YulIdentifier","src":"28995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"28982:6:22","nodeType":"YulIdentifier","src":"28982:6:22"},"nativeSrc":"28982:16:22","nodeType":"YulFunctionCall","src":"28982:16:22"},"nativeSrc":"28982:16:22","nodeType":"YulExpressionStatement","src":"28982:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32324,"isOffset":false,"isSlot":false,"src":"28908:2:22","valueSize":1},{"declaration":32327,"isOffset":false,"isSlot":false,"src":"28937:2:22","valueSize":1},{"declaration":32330,"isOffset":false,"isSlot":false,"src":"28966:2:22","valueSize":1},{"declaration":32333,"isOffset":false,"isSlot":false,"src":"28995:2:22","valueSize":1}],"id":32341,"nodeType":"InlineAssembly","src":"28872:136:22"}]},"id":32343,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28279:3:22","nodeType":"FunctionDefinition","parameters":{"id":32321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32316,"mutability":"mutable","name":"p0","nameLocation":"28291:2:22","nodeType":"VariableDeclaration","scope":32343,"src":"28283:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32315,"name":"address","nodeType":"ElementaryTypeName","src":"28283:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32318,"mutability":"mutable","name":"p1","nameLocation":"28303:2:22","nodeType":"VariableDeclaration","scope":32343,"src":"28295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32317,"name":"uint256","nodeType":"ElementaryTypeName","src":"28295:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32320,"mutability":"mutable","name":"p2","nameLocation":"28312:2:22","nodeType":"VariableDeclaration","scope":32343,"src":"28307:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32319,"name":"bool","nodeType":"ElementaryTypeName","src":"28307:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28282:33:22"},"returnParameters":{"id":32322,"nodeType":"ParameterList","parameters":[],"src":"28330:0:22"},"scope":44426,"src":"28270:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32371,"nodeType":"Block","src":"29083:687:22","statements":[{"assignments":[32353],"declarations":[{"constant":false,"id":32353,"mutability":"mutable","name":"m0","nameLocation":"29101:2:22","nodeType":"VariableDeclaration","scope":32371,"src":"29093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29093:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32354,"nodeType":"VariableDeclarationStatement","src":"29093:10:22"},{"assignments":[32356],"declarations":[{"constant":false,"id":32356,"mutability":"mutable","name":"m1","nameLocation":"29121:2:22","nodeType":"VariableDeclaration","scope":32371,"src":"29113:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29113:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32357,"nodeType":"VariableDeclarationStatement","src":"29113:10:22"},{"assignments":[32359],"declarations":[{"constant":false,"id":32359,"mutability":"mutable","name":"m2","nameLocation":"29141:2:22","nodeType":"VariableDeclaration","scope":32371,"src":"29133:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29133:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32360,"nodeType":"VariableDeclarationStatement","src":"29133:10:22"},{"assignments":[32362],"declarations":[{"constant":false,"id":32362,"mutability":"mutable","name":"m3","nameLocation":"29161:2:22","nodeType":"VariableDeclaration","scope":32371,"src":"29153:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29153:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32363,"nodeType":"VariableDeclarationStatement","src":"29153:10:22"},{"AST":{"nativeSrc":"29225:314:22","nodeType":"YulBlock","src":"29225:314:22","statements":[{"nativeSrc":"29239:17:22","nodeType":"YulAssignment","src":"29239:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"29251:4:22","nodeType":"YulLiteral","src":"29251:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"29245:5:22","nodeType":"YulIdentifier","src":"29245:5:22"},"nativeSrc":"29245:11:22","nodeType":"YulFunctionCall","src":"29245:11:22"},"variableNames":[{"name":"m0","nativeSrc":"29239:2:22","nodeType":"YulIdentifier","src":"29239:2:22"}]},{"nativeSrc":"29269:17:22","nodeType":"YulAssignment","src":"29269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"29281:4:22","nodeType":"YulLiteral","src":"29281:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"29275:5:22","nodeType":"YulIdentifier","src":"29275:5:22"},"nativeSrc":"29275:11:22","nodeType":"YulFunctionCall","src":"29275:11:22"},"variableNames":[{"name":"m1","nativeSrc":"29269:2:22","nodeType":"YulIdentifier","src":"29269:2:22"}]},{"nativeSrc":"29299:17:22","nodeType":"YulAssignment","src":"29299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"29311:4:22","nodeType":"YulLiteral","src":"29311:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"29305:5:22","nodeType":"YulIdentifier","src":"29305:5:22"},"nativeSrc":"29305:11:22","nodeType":"YulFunctionCall","src":"29305:11:22"},"variableNames":[{"name":"m2","nativeSrc":"29299:2:22","nodeType":"YulIdentifier","src":"29299:2:22"}]},{"nativeSrc":"29329:17:22","nodeType":"YulAssignment","src":"29329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"29341:4:22","nodeType":"YulLiteral","src":"29341:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"29335:5:22","nodeType":"YulIdentifier","src":"29335:5:22"},"nativeSrc":"29335:11:22","nodeType":"YulFunctionCall","src":"29335:11:22"},"variableNames":[{"name":"m3","nativeSrc":"29329:2:22","nodeType":"YulIdentifier","src":"29329:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29425:4:22","nodeType":"YulLiteral","src":"29425:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"29431:10:22","nodeType":"YulLiteral","src":"29431:10:22","type":"","value":"0xb69bcaf6"}],"functionName":{"name":"mstore","nativeSrc":"29418:6:22","nodeType":"YulIdentifier","src":"29418:6:22"},"nativeSrc":"29418:24:22","nodeType":"YulFunctionCall","src":"29418:24:22"},"nativeSrc":"29418:24:22","nodeType":"YulExpressionStatement","src":"29418:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29462:4:22","nodeType":"YulLiteral","src":"29462:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"29468:2:22","nodeType":"YulIdentifier","src":"29468:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29455:6:22","nodeType":"YulIdentifier","src":"29455:6:22"},"nativeSrc":"29455:16:22","nodeType":"YulFunctionCall","src":"29455:16:22"},"nativeSrc":"29455:16:22","nodeType":"YulExpressionStatement","src":"29455:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29491:4:22","nodeType":"YulLiteral","src":"29491:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"29497:2:22","nodeType":"YulIdentifier","src":"29497:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29484:6:22","nodeType":"YulIdentifier","src":"29484:6:22"},"nativeSrc":"29484:16:22","nodeType":"YulFunctionCall","src":"29484:16:22"},"nativeSrc":"29484:16:22","nodeType":"YulExpressionStatement","src":"29484:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29520:4:22","nodeType":"YulLiteral","src":"29520:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"29526:2:22","nodeType":"YulIdentifier","src":"29526:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29513:6:22","nodeType":"YulIdentifier","src":"29513:6:22"},"nativeSrc":"29513:16:22","nodeType":"YulFunctionCall","src":"29513:16:22"},"nativeSrc":"29513:16:22","nodeType":"YulExpressionStatement","src":"29513:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32353,"isOffset":false,"isSlot":false,"src":"29239:2:22","valueSize":1},{"declaration":32356,"isOffset":false,"isSlot":false,"src":"29269:2:22","valueSize":1},{"declaration":32359,"isOffset":false,"isSlot":false,"src":"29299:2:22","valueSize":1},{"declaration":32362,"isOffset":false,"isSlot":false,"src":"29329:2:22","valueSize":1},{"declaration":32345,"isOffset":false,"isSlot":false,"src":"29468:2:22","valueSize":1},{"declaration":32347,"isOffset":false,"isSlot":false,"src":"29497:2:22","valueSize":1},{"declaration":32349,"isOffset":false,"isSlot":false,"src":"29526:2:22","valueSize":1}],"id":32364,"nodeType":"InlineAssembly","src":"29216:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29564:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29570:4:22","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":32365,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"29548:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29548:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32369,"nodeType":"ExpressionStatement","src":"29548:27:22"},{"AST":{"nativeSrc":"29637:127:22","nodeType":"YulBlock","src":"29637:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"29658:4:22","nodeType":"YulLiteral","src":"29658:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"29664:2:22","nodeType":"YulIdentifier","src":"29664:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29651:6:22","nodeType":"YulIdentifier","src":"29651:6:22"},"nativeSrc":"29651:16:22","nodeType":"YulFunctionCall","src":"29651:16:22"},"nativeSrc":"29651:16:22","nodeType":"YulExpressionStatement","src":"29651:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29687:4:22","nodeType":"YulLiteral","src":"29687:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"29693:2:22","nodeType":"YulIdentifier","src":"29693:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29680:6:22","nodeType":"YulIdentifier","src":"29680:6:22"},"nativeSrc":"29680:16:22","nodeType":"YulFunctionCall","src":"29680:16:22"},"nativeSrc":"29680:16:22","nodeType":"YulExpressionStatement","src":"29680:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29716:4:22","nodeType":"YulLiteral","src":"29716:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"29722:2:22","nodeType":"YulIdentifier","src":"29722:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29709:6:22","nodeType":"YulIdentifier","src":"29709:6:22"},"nativeSrc":"29709:16:22","nodeType":"YulFunctionCall","src":"29709:16:22"},"nativeSrc":"29709:16:22","nodeType":"YulExpressionStatement","src":"29709:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29745:4:22","nodeType":"YulLiteral","src":"29745:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"29751:2:22","nodeType":"YulIdentifier","src":"29751:2:22"}],"functionName":{"name":"mstore","nativeSrc":"29738:6:22","nodeType":"YulIdentifier","src":"29738:6:22"},"nativeSrc":"29738:16:22","nodeType":"YulFunctionCall","src":"29738:16:22"},"nativeSrc":"29738:16:22","nodeType":"YulExpressionStatement","src":"29738:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32353,"isOffset":false,"isSlot":false,"src":"29664:2:22","valueSize":1},{"declaration":32356,"isOffset":false,"isSlot":false,"src":"29693:2:22","valueSize":1},{"declaration":32359,"isOffset":false,"isSlot":false,"src":"29722:2:22","valueSize":1},{"declaration":32362,"isOffset":false,"isSlot":false,"src":"29751:2:22","valueSize":1}],"id":32370,"nodeType":"InlineAssembly","src":"29628:136:22"}]},"id":32372,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29029:3:22","nodeType":"FunctionDefinition","parameters":{"id":32350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32345,"mutability":"mutable","name":"p0","nameLocation":"29041:2:22","nodeType":"VariableDeclaration","scope":32372,"src":"29033:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32344,"name":"address","nodeType":"ElementaryTypeName","src":"29033:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32347,"mutability":"mutable","name":"p1","nameLocation":"29053:2:22","nodeType":"VariableDeclaration","scope":32372,"src":"29045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32346,"name":"uint256","nodeType":"ElementaryTypeName","src":"29045:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32349,"mutability":"mutable","name":"p2","nameLocation":"29065:2:22","nodeType":"VariableDeclaration","scope":32372,"src":"29057:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32348,"name":"uint256","nodeType":"ElementaryTypeName","src":"29057:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29032:36:22"},"returnParameters":{"id":32351,"nodeType":"ParameterList","parameters":[],"src":"29083:0:22"},"scope":44426,"src":"29020:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32406,"nodeType":"Block","src":"29839:1235:22","statements":[{"assignments":[32382],"declarations":[{"constant":false,"id":32382,"mutability":"mutable","name":"m0","nameLocation":"29857:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29849:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32383,"nodeType":"VariableDeclarationStatement","src":"29849:10:22"},{"assignments":[32385],"declarations":[{"constant":false,"id":32385,"mutability":"mutable","name":"m1","nameLocation":"29877:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29869:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29869:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32386,"nodeType":"VariableDeclarationStatement","src":"29869:10:22"},{"assignments":[32388],"declarations":[{"constant":false,"id":32388,"mutability":"mutable","name":"m2","nameLocation":"29897:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29889:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29889:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32389,"nodeType":"VariableDeclarationStatement","src":"29889:10:22"},{"assignments":[32391],"declarations":[{"constant":false,"id":32391,"mutability":"mutable","name":"m3","nameLocation":"29917:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29909:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29909:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32392,"nodeType":"VariableDeclarationStatement","src":"29909:10:22"},{"assignments":[32394],"declarations":[{"constant":false,"id":32394,"mutability":"mutable","name":"m4","nameLocation":"29937:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29929:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29929:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32395,"nodeType":"VariableDeclarationStatement","src":"29929:10:22"},{"assignments":[32397],"declarations":[{"constant":false,"id":32397,"mutability":"mutable","name":"m5","nameLocation":"29957:2:22","nodeType":"VariableDeclaration","scope":32406,"src":"29949:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29949:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32398,"nodeType":"VariableDeclarationStatement","src":"29949:10:22"},{"AST":{"nativeSrc":"30021:764:22","nodeType":"YulBlock","src":"30021:764:22","statements":[{"body":{"nativeSrc":"30064:313:22","nodeType":"YulBlock","src":"30064:313:22","statements":[{"nativeSrc":"30082:15:22","nodeType":"YulVariableDeclaration","src":"30082:15:22","value":{"kind":"number","nativeSrc":"30096:1:22","nodeType":"YulLiteral","src":"30096:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"30086:6:22","nodeType":"YulTypedName","src":"30086:6:22","type":""}]},{"body":{"nativeSrc":"30167:40:22","nodeType":"YulBlock","src":"30167:40:22","statements":[{"body":{"nativeSrc":"30196:9:22","nodeType":"YulBlock","src":"30196:9:22","statements":[{"nativeSrc":"30198:5:22","nodeType":"YulBreak","src":"30198:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"30184:6:22","nodeType":"YulIdentifier","src":"30184:6:22"},{"name":"w","nativeSrc":"30192:1:22","nodeType":"YulIdentifier","src":"30192:1:22"}],"functionName":{"name":"byte","nativeSrc":"30179:4:22","nodeType":"YulIdentifier","src":"30179:4:22"},"nativeSrc":"30179:15:22","nodeType":"YulFunctionCall","src":"30179:15:22"}],"functionName":{"name":"iszero","nativeSrc":"30172:6:22","nodeType":"YulIdentifier","src":"30172:6:22"},"nativeSrc":"30172:23:22","nodeType":"YulFunctionCall","src":"30172:23:22"},"nativeSrc":"30169:36:22","nodeType":"YulIf","src":"30169:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"30124:6:22","nodeType":"YulIdentifier","src":"30124:6:22"},{"kind":"number","nativeSrc":"30132:4:22","nodeType":"YulLiteral","src":"30132:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"30121:2:22","nodeType":"YulIdentifier","src":"30121:2:22"},"nativeSrc":"30121:16:22","nodeType":"YulFunctionCall","src":"30121:16:22"},"nativeSrc":"30114:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"30138:28:22","nodeType":"YulBlock","src":"30138:28:22","statements":[{"nativeSrc":"30140:24:22","nodeType":"YulAssignment","src":"30140:24:22","value":{"arguments":[{"name":"length","nativeSrc":"30154:6:22","nodeType":"YulIdentifier","src":"30154:6:22"},{"kind":"number","nativeSrc":"30162:1:22","nodeType":"YulLiteral","src":"30162:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"30150:3:22","nodeType":"YulIdentifier","src":"30150:3:22"},"nativeSrc":"30150:14:22","nodeType":"YulFunctionCall","src":"30150:14:22"},"variableNames":[{"name":"length","nativeSrc":"30140:6:22","nodeType":"YulIdentifier","src":"30140:6:22"}]}]},"pre":{"nativeSrc":"30118:2:22","nodeType":"YulBlock","src":"30118:2:22","statements":[]},"src":"30114:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"30231:3:22","nodeType":"YulIdentifier","src":"30231:3:22"},{"name":"length","nativeSrc":"30236:6:22","nodeType":"YulIdentifier","src":"30236:6:22"}],"functionName":{"name":"mstore","nativeSrc":"30224:6:22","nodeType":"YulIdentifier","src":"30224:6:22"},"nativeSrc":"30224:19:22","nodeType":"YulFunctionCall","src":"30224:19:22"},"nativeSrc":"30224:19:22","nodeType":"YulExpressionStatement","src":"30224:19:22"},{"nativeSrc":"30260:37:22","nodeType":"YulVariableDeclaration","src":"30260:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"30277:3:22","nodeType":"YulLiteral","src":"30277:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"30286:1:22","nodeType":"YulLiteral","src":"30286:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"30289:6:22","nodeType":"YulIdentifier","src":"30289:6:22"}],"functionName":{"name":"shl","nativeSrc":"30282:3:22","nodeType":"YulIdentifier","src":"30282:3:22"},"nativeSrc":"30282:14:22","nodeType":"YulFunctionCall","src":"30282:14:22"}],"functionName":{"name":"sub","nativeSrc":"30273:3:22","nodeType":"YulIdentifier","src":"30273:3:22"},"nativeSrc":"30273:24:22","nodeType":"YulFunctionCall","src":"30273:24:22"},"variables":[{"name":"shift","nativeSrc":"30264:5:22","nodeType":"YulTypedName","src":"30264:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"30325:3:22","nodeType":"YulIdentifier","src":"30325:3:22"},{"kind":"number","nativeSrc":"30330:4:22","nodeType":"YulLiteral","src":"30330:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"30321:3:22","nodeType":"YulIdentifier","src":"30321:3:22"},"nativeSrc":"30321:14:22","nodeType":"YulFunctionCall","src":"30321:14:22"},{"arguments":[{"name":"shift","nativeSrc":"30341:5:22","nodeType":"YulIdentifier","src":"30341:5:22"},{"arguments":[{"name":"shift","nativeSrc":"30352:5:22","nodeType":"YulIdentifier","src":"30352:5:22"},{"name":"w","nativeSrc":"30359:1:22","nodeType":"YulIdentifier","src":"30359:1:22"}],"functionName":{"name":"shr","nativeSrc":"30348:3:22","nodeType":"YulIdentifier","src":"30348:3:22"},"nativeSrc":"30348:13:22","nodeType":"YulFunctionCall","src":"30348:13:22"}],"functionName":{"name":"shl","nativeSrc":"30337:3:22","nodeType":"YulIdentifier","src":"30337:3:22"},"nativeSrc":"30337:25:22","nodeType":"YulFunctionCall","src":"30337:25:22"}],"functionName":{"name":"mstore","nativeSrc":"30314:6:22","nodeType":"YulIdentifier","src":"30314:6:22"},"nativeSrc":"30314:49:22","nodeType":"YulFunctionCall","src":"30314:49:22"},"nativeSrc":"30314:49:22","nodeType":"YulExpressionStatement","src":"30314:49:22"}]},"name":"writeString","nativeSrc":"30035:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"30056:3:22","nodeType":"YulTypedName","src":"30056:3:22","type":""},{"name":"w","nativeSrc":"30061:1:22","nodeType":"YulTypedName","src":"30061:1:22","type":""}],"src":"30035:342:22"},{"nativeSrc":"30390:17:22","nodeType":"YulAssignment","src":"30390:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30402:4:22","nodeType":"YulLiteral","src":"30402:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"30396:5:22","nodeType":"YulIdentifier","src":"30396:5:22"},"nativeSrc":"30396:11:22","nodeType":"YulFunctionCall","src":"30396:11:22"},"variableNames":[{"name":"m0","nativeSrc":"30390:2:22","nodeType":"YulIdentifier","src":"30390:2:22"}]},{"nativeSrc":"30420:17:22","nodeType":"YulAssignment","src":"30420:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30432:4:22","nodeType":"YulLiteral","src":"30432:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"30426:5:22","nodeType":"YulIdentifier","src":"30426:5:22"},"nativeSrc":"30426:11:22","nodeType":"YulFunctionCall","src":"30426:11:22"},"variableNames":[{"name":"m1","nativeSrc":"30420:2:22","nodeType":"YulIdentifier","src":"30420:2:22"}]},{"nativeSrc":"30450:17:22","nodeType":"YulAssignment","src":"30450:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30462:4:22","nodeType":"YulLiteral","src":"30462:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"30456:5:22","nodeType":"YulIdentifier","src":"30456:5:22"},"nativeSrc":"30456:11:22","nodeType":"YulFunctionCall","src":"30456:11:22"},"variableNames":[{"name":"m2","nativeSrc":"30450:2:22","nodeType":"YulIdentifier","src":"30450:2:22"}]},{"nativeSrc":"30480:17:22","nodeType":"YulAssignment","src":"30480:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30492:4:22","nodeType":"YulLiteral","src":"30492:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"30486:5:22","nodeType":"YulIdentifier","src":"30486:5:22"},"nativeSrc":"30486:11:22","nodeType":"YulFunctionCall","src":"30486:11:22"},"variableNames":[{"name":"m3","nativeSrc":"30480:2:22","nodeType":"YulIdentifier","src":"30480:2:22"}]},{"nativeSrc":"30510:17:22","nodeType":"YulAssignment","src":"30510:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30522:4:22","nodeType":"YulLiteral","src":"30522:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"30516:5:22","nodeType":"YulIdentifier","src":"30516:5:22"},"nativeSrc":"30516:11:22","nodeType":"YulFunctionCall","src":"30516:11:22"},"variableNames":[{"name":"m4","nativeSrc":"30510:2:22","nodeType":"YulIdentifier","src":"30510:2:22"}]},{"nativeSrc":"30540:17:22","nodeType":"YulAssignment","src":"30540:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"30552:4:22","nodeType":"YulLiteral","src":"30552:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"30546:5:22","nodeType":"YulIdentifier","src":"30546:5:22"},"nativeSrc":"30546:11:22","nodeType":"YulFunctionCall","src":"30546:11:22"},"variableNames":[{"name":"m5","nativeSrc":"30540:2:22","nodeType":"YulIdentifier","src":"30540:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30635:4:22","nodeType":"YulLiteral","src":"30635:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"30641:10:22","nodeType":"YulLiteral","src":"30641:10:22","type":"","value":"0xa1f2e8aa"}],"functionName":{"name":"mstore","nativeSrc":"30628:6:22","nodeType":"YulIdentifier","src":"30628:6:22"},"nativeSrc":"30628:24:22","nodeType":"YulFunctionCall","src":"30628:24:22"},"nativeSrc":"30628:24:22","nodeType":"YulExpressionStatement","src":"30628:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30672:4:22","nodeType":"YulLiteral","src":"30672:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"30678:2:22","nodeType":"YulIdentifier","src":"30678:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30665:6:22","nodeType":"YulIdentifier","src":"30665:6:22"},"nativeSrc":"30665:16:22","nodeType":"YulFunctionCall","src":"30665:16:22"},"nativeSrc":"30665:16:22","nodeType":"YulExpressionStatement","src":"30665:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30701:4:22","nodeType":"YulLiteral","src":"30701:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"30707:2:22","nodeType":"YulIdentifier","src":"30707:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30694:6:22","nodeType":"YulIdentifier","src":"30694:6:22"},"nativeSrc":"30694:16:22","nodeType":"YulFunctionCall","src":"30694:16:22"},"nativeSrc":"30694:16:22","nodeType":"YulExpressionStatement","src":"30694:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30730:4:22","nodeType":"YulLiteral","src":"30730:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"30736:4:22","nodeType":"YulLiteral","src":"30736:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"30723:6:22","nodeType":"YulIdentifier","src":"30723:6:22"},"nativeSrc":"30723:18:22","nodeType":"YulFunctionCall","src":"30723:18:22"},"nativeSrc":"30723:18:22","nodeType":"YulExpressionStatement","src":"30723:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30766:4:22","nodeType":"YulLiteral","src":"30766:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"30772:2:22","nodeType":"YulIdentifier","src":"30772:2:22"}],"functionName":{"name":"writeString","nativeSrc":"30754:11:22","nodeType":"YulIdentifier","src":"30754:11:22"},"nativeSrc":"30754:21:22","nodeType":"YulFunctionCall","src":"30754:21:22"},"nativeSrc":"30754:21:22","nodeType":"YulExpressionStatement","src":"30754:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32382,"isOffset":false,"isSlot":false,"src":"30390:2:22","valueSize":1},{"declaration":32385,"isOffset":false,"isSlot":false,"src":"30420:2:22","valueSize":1},{"declaration":32388,"isOffset":false,"isSlot":false,"src":"30450:2:22","valueSize":1},{"declaration":32391,"isOffset":false,"isSlot":false,"src":"30480:2:22","valueSize":1},{"declaration":32394,"isOffset":false,"isSlot":false,"src":"30510:2:22","valueSize":1},{"declaration":32397,"isOffset":false,"isSlot":false,"src":"30540:2:22","valueSize":1},{"declaration":32374,"isOffset":false,"isSlot":false,"src":"30678:2:22","valueSize":1},{"declaration":32376,"isOffset":false,"isSlot":false,"src":"30707:2:22","valueSize":1},{"declaration":32378,"isOffset":false,"isSlot":false,"src":"30772:2:22","valueSize":1}],"id":32399,"nodeType":"InlineAssembly","src":"30012:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30810:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30816:4:22","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":32400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"30794:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30794:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32404,"nodeType":"ExpressionStatement","src":"30794:27:22"},{"AST":{"nativeSrc":"30883:185:22","nodeType":"YulBlock","src":"30883:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"30904:4:22","nodeType":"YulLiteral","src":"30904:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"30910:2:22","nodeType":"YulIdentifier","src":"30910:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30897:6:22","nodeType":"YulIdentifier","src":"30897:6:22"},"nativeSrc":"30897:16:22","nodeType":"YulFunctionCall","src":"30897:16:22"},"nativeSrc":"30897:16:22","nodeType":"YulExpressionStatement","src":"30897:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30933:4:22","nodeType":"YulLiteral","src":"30933:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"30939:2:22","nodeType":"YulIdentifier","src":"30939:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30926:6:22","nodeType":"YulIdentifier","src":"30926:6:22"},"nativeSrc":"30926:16:22","nodeType":"YulFunctionCall","src":"30926:16:22"},"nativeSrc":"30926:16:22","nodeType":"YulExpressionStatement","src":"30926:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30962:4:22","nodeType":"YulLiteral","src":"30962:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"30968:2:22","nodeType":"YulIdentifier","src":"30968:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30955:6:22","nodeType":"YulIdentifier","src":"30955:6:22"},"nativeSrc":"30955:16:22","nodeType":"YulFunctionCall","src":"30955:16:22"},"nativeSrc":"30955:16:22","nodeType":"YulExpressionStatement","src":"30955:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30991:4:22","nodeType":"YulLiteral","src":"30991:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"30997:2:22","nodeType":"YulIdentifier","src":"30997:2:22"}],"functionName":{"name":"mstore","nativeSrc":"30984:6:22","nodeType":"YulIdentifier","src":"30984:6:22"},"nativeSrc":"30984:16:22","nodeType":"YulFunctionCall","src":"30984:16:22"},"nativeSrc":"30984:16:22","nodeType":"YulExpressionStatement","src":"30984:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31020:4:22","nodeType":"YulLiteral","src":"31020:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"31026:2:22","nodeType":"YulIdentifier","src":"31026:2:22"}],"functionName":{"name":"mstore","nativeSrc":"31013:6:22","nodeType":"YulIdentifier","src":"31013:6:22"},"nativeSrc":"31013:16:22","nodeType":"YulFunctionCall","src":"31013:16:22"},"nativeSrc":"31013:16:22","nodeType":"YulExpressionStatement","src":"31013:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31049:4:22","nodeType":"YulLiteral","src":"31049:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"31055:2:22","nodeType":"YulIdentifier","src":"31055:2:22"}],"functionName":{"name":"mstore","nativeSrc":"31042:6:22","nodeType":"YulIdentifier","src":"31042:6:22"},"nativeSrc":"31042:16:22","nodeType":"YulFunctionCall","src":"31042:16:22"},"nativeSrc":"31042:16:22","nodeType":"YulExpressionStatement","src":"31042:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32382,"isOffset":false,"isSlot":false,"src":"30910:2:22","valueSize":1},{"declaration":32385,"isOffset":false,"isSlot":false,"src":"30939:2:22","valueSize":1},{"declaration":32388,"isOffset":false,"isSlot":false,"src":"30968:2:22","valueSize":1},{"declaration":32391,"isOffset":false,"isSlot":false,"src":"30997:2:22","valueSize":1},{"declaration":32394,"isOffset":false,"isSlot":false,"src":"31026:2:22","valueSize":1},{"declaration":32397,"isOffset":false,"isSlot":false,"src":"31055:2:22","valueSize":1}],"id":32405,"nodeType":"InlineAssembly","src":"30874:194:22"}]},"id":32407,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29785:3:22","nodeType":"FunctionDefinition","parameters":{"id":32379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32374,"mutability":"mutable","name":"p0","nameLocation":"29797:2:22","nodeType":"VariableDeclaration","scope":32407,"src":"29789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32373,"name":"address","nodeType":"ElementaryTypeName","src":"29789:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32376,"mutability":"mutable","name":"p1","nameLocation":"29809:2:22","nodeType":"VariableDeclaration","scope":32407,"src":"29801:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32375,"name":"uint256","nodeType":"ElementaryTypeName","src":"29801:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32378,"mutability":"mutable","name":"p2","nameLocation":"29821:2:22","nodeType":"VariableDeclaration","scope":32407,"src":"29813:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29813:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29788:36:22"},"returnParameters":{"id":32380,"nodeType":"ParameterList","parameters":[],"src":"29839:0:22"},"scope":44426,"src":"29776:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32441,"nodeType":"Block","src":"31143:1235:22","statements":[{"assignments":[32417],"declarations":[{"constant":false,"id":32417,"mutability":"mutable","name":"m0","nameLocation":"31161:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31153:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31153:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32418,"nodeType":"VariableDeclarationStatement","src":"31153:10:22"},{"assignments":[32420],"declarations":[{"constant":false,"id":32420,"mutability":"mutable","name":"m1","nameLocation":"31181:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31173:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31173:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32421,"nodeType":"VariableDeclarationStatement","src":"31173:10:22"},{"assignments":[32423],"declarations":[{"constant":false,"id":32423,"mutability":"mutable","name":"m2","nameLocation":"31201:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31193:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31193:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32424,"nodeType":"VariableDeclarationStatement","src":"31193:10:22"},{"assignments":[32426],"declarations":[{"constant":false,"id":32426,"mutability":"mutable","name":"m3","nameLocation":"31221:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31213:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31213:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32427,"nodeType":"VariableDeclarationStatement","src":"31213:10:22"},{"assignments":[32429],"declarations":[{"constant":false,"id":32429,"mutability":"mutable","name":"m4","nameLocation":"31241:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31233:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32430,"nodeType":"VariableDeclarationStatement","src":"31233:10:22"},{"assignments":[32432],"declarations":[{"constant":false,"id":32432,"mutability":"mutable","name":"m5","nameLocation":"31261:2:22","nodeType":"VariableDeclaration","scope":32441,"src":"31253:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31253:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32433,"nodeType":"VariableDeclarationStatement","src":"31253:10:22"},{"AST":{"nativeSrc":"31325:764:22","nodeType":"YulBlock","src":"31325:764:22","statements":[{"body":{"nativeSrc":"31368:313:22","nodeType":"YulBlock","src":"31368:313:22","statements":[{"nativeSrc":"31386:15:22","nodeType":"YulVariableDeclaration","src":"31386:15:22","value":{"kind":"number","nativeSrc":"31400:1:22","nodeType":"YulLiteral","src":"31400:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"31390:6:22","nodeType":"YulTypedName","src":"31390:6:22","type":""}]},{"body":{"nativeSrc":"31471:40:22","nodeType":"YulBlock","src":"31471:40:22","statements":[{"body":{"nativeSrc":"31500:9:22","nodeType":"YulBlock","src":"31500:9:22","statements":[{"nativeSrc":"31502:5:22","nodeType":"YulBreak","src":"31502:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"31488:6:22","nodeType":"YulIdentifier","src":"31488:6:22"},{"name":"w","nativeSrc":"31496:1:22","nodeType":"YulIdentifier","src":"31496:1:22"}],"functionName":{"name":"byte","nativeSrc":"31483:4:22","nodeType":"YulIdentifier","src":"31483:4:22"},"nativeSrc":"31483:15:22","nodeType":"YulFunctionCall","src":"31483:15:22"}],"functionName":{"name":"iszero","nativeSrc":"31476:6:22","nodeType":"YulIdentifier","src":"31476:6:22"},"nativeSrc":"31476:23:22","nodeType":"YulFunctionCall","src":"31476:23:22"},"nativeSrc":"31473:36:22","nodeType":"YulIf","src":"31473:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"31428:6:22","nodeType":"YulIdentifier","src":"31428:6:22"},{"kind":"number","nativeSrc":"31436:4:22","nodeType":"YulLiteral","src":"31436:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"31425:2:22","nodeType":"YulIdentifier","src":"31425:2:22"},"nativeSrc":"31425:16:22","nodeType":"YulFunctionCall","src":"31425:16:22"},"nativeSrc":"31418:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"31442:28:22","nodeType":"YulBlock","src":"31442:28:22","statements":[{"nativeSrc":"31444:24:22","nodeType":"YulAssignment","src":"31444:24:22","value":{"arguments":[{"name":"length","nativeSrc":"31458:6:22","nodeType":"YulIdentifier","src":"31458:6:22"},{"kind":"number","nativeSrc":"31466:1:22","nodeType":"YulLiteral","src":"31466:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"31454:3:22","nodeType":"YulIdentifier","src":"31454:3:22"},"nativeSrc":"31454:14:22","nodeType":"YulFunctionCall","src":"31454:14:22"},"variableNames":[{"name":"length","nativeSrc":"31444:6:22","nodeType":"YulIdentifier","src":"31444:6:22"}]}]},"pre":{"nativeSrc":"31422:2:22","nodeType":"YulBlock","src":"31422:2:22","statements":[]},"src":"31418:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"31535:3:22","nodeType":"YulIdentifier","src":"31535:3:22"},{"name":"length","nativeSrc":"31540:6:22","nodeType":"YulIdentifier","src":"31540:6:22"}],"functionName":{"name":"mstore","nativeSrc":"31528:6:22","nodeType":"YulIdentifier","src":"31528:6:22"},"nativeSrc":"31528:19:22","nodeType":"YulFunctionCall","src":"31528:19:22"},"nativeSrc":"31528:19:22","nodeType":"YulExpressionStatement","src":"31528:19:22"},{"nativeSrc":"31564:37:22","nodeType":"YulVariableDeclaration","src":"31564:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"31581:3:22","nodeType":"YulLiteral","src":"31581:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"31590:1:22","nodeType":"YulLiteral","src":"31590:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"31593:6:22","nodeType":"YulIdentifier","src":"31593:6:22"}],"functionName":{"name":"shl","nativeSrc":"31586:3:22","nodeType":"YulIdentifier","src":"31586:3:22"},"nativeSrc":"31586:14:22","nodeType":"YulFunctionCall","src":"31586:14:22"}],"functionName":{"name":"sub","nativeSrc":"31577:3:22","nodeType":"YulIdentifier","src":"31577:3:22"},"nativeSrc":"31577:24:22","nodeType":"YulFunctionCall","src":"31577:24:22"},"variables":[{"name":"shift","nativeSrc":"31568:5:22","nodeType":"YulTypedName","src":"31568:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"31629:3:22","nodeType":"YulIdentifier","src":"31629:3:22"},{"kind":"number","nativeSrc":"31634:4:22","nodeType":"YulLiteral","src":"31634:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"31625:3:22","nodeType":"YulIdentifier","src":"31625:3:22"},"nativeSrc":"31625:14:22","nodeType":"YulFunctionCall","src":"31625:14:22"},{"arguments":[{"name":"shift","nativeSrc":"31645:5:22","nodeType":"YulIdentifier","src":"31645:5:22"},{"arguments":[{"name":"shift","nativeSrc":"31656:5:22","nodeType":"YulIdentifier","src":"31656:5:22"},{"name":"w","nativeSrc":"31663:1:22","nodeType":"YulIdentifier","src":"31663:1:22"}],"functionName":{"name":"shr","nativeSrc":"31652:3:22","nodeType":"YulIdentifier","src":"31652:3:22"},"nativeSrc":"31652:13:22","nodeType":"YulFunctionCall","src":"31652:13:22"}],"functionName":{"name":"shl","nativeSrc":"31641:3:22","nodeType":"YulIdentifier","src":"31641:3:22"},"nativeSrc":"31641:25:22","nodeType":"YulFunctionCall","src":"31641:25:22"}],"functionName":{"name":"mstore","nativeSrc":"31618:6:22","nodeType":"YulIdentifier","src":"31618:6:22"},"nativeSrc":"31618:49:22","nodeType":"YulFunctionCall","src":"31618:49:22"},"nativeSrc":"31618:49:22","nodeType":"YulExpressionStatement","src":"31618:49:22"}]},"name":"writeString","nativeSrc":"31339:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"31360:3:22","nodeType":"YulTypedName","src":"31360:3:22","type":""},{"name":"w","nativeSrc":"31365:1:22","nodeType":"YulTypedName","src":"31365:1:22","type":""}],"src":"31339:342:22"},{"nativeSrc":"31694:17:22","nodeType":"YulAssignment","src":"31694:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31706:4:22","nodeType":"YulLiteral","src":"31706:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"31700:5:22","nodeType":"YulIdentifier","src":"31700:5:22"},"nativeSrc":"31700:11:22","nodeType":"YulFunctionCall","src":"31700:11:22"},"variableNames":[{"name":"m0","nativeSrc":"31694:2:22","nodeType":"YulIdentifier","src":"31694:2:22"}]},{"nativeSrc":"31724:17:22","nodeType":"YulAssignment","src":"31724:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31736:4:22","nodeType":"YulLiteral","src":"31736:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"31730:5:22","nodeType":"YulIdentifier","src":"31730:5:22"},"nativeSrc":"31730:11:22","nodeType":"YulFunctionCall","src":"31730:11:22"},"variableNames":[{"name":"m1","nativeSrc":"31724:2:22","nodeType":"YulIdentifier","src":"31724:2:22"}]},{"nativeSrc":"31754:17:22","nodeType":"YulAssignment","src":"31754:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31766:4:22","nodeType":"YulLiteral","src":"31766:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"31760:5:22","nodeType":"YulIdentifier","src":"31760:5:22"},"nativeSrc":"31760:11:22","nodeType":"YulFunctionCall","src":"31760:11:22"},"variableNames":[{"name":"m2","nativeSrc":"31754:2:22","nodeType":"YulIdentifier","src":"31754:2:22"}]},{"nativeSrc":"31784:17:22","nodeType":"YulAssignment","src":"31784:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31796:4:22","nodeType":"YulLiteral","src":"31796:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"31790:5:22","nodeType":"YulIdentifier","src":"31790:5:22"},"nativeSrc":"31790:11:22","nodeType":"YulFunctionCall","src":"31790:11:22"},"variableNames":[{"name":"m3","nativeSrc":"31784:2:22","nodeType":"YulIdentifier","src":"31784:2:22"}]},{"nativeSrc":"31814:17:22","nodeType":"YulAssignment","src":"31814:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31826:4:22","nodeType":"YulLiteral","src":"31826:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"31820:5:22","nodeType":"YulIdentifier","src":"31820:5:22"},"nativeSrc":"31820:11:22","nodeType":"YulFunctionCall","src":"31820:11:22"},"variableNames":[{"name":"m4","nativeSrc":"31814:2:22","nodeType":"YulIdentifier","src":"31814:2:22"}]},{"nativeSrc":"31844:17:22","nodeType":"YulAssignment","src":"31844:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"31856:4:22","nodeType":"YulLiteral","src":"31856:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"31850:5:22","nodeType":"YulIdentifier","src":"31850:5:22"},"nativeSrc":"31850:11:22","nodeType":"YulFunctionCall","src":"31850:11:22"},"variableNames":[{"name":"m5","nativeSrc":"31844:2:22","nodeType":"YulIdentifier","src":"31844:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31939:4:22","nodeType":"YulLiteral","src":"31939:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"31945:10:22","nodeType":"YulLiteral","src":"31945:10:22","type":"","value":"0xf08744e8"}],"functionName":{"name":"mstore","nativeSrc":"31932:6:22","nodeType":"YulIdentifier","src":"31932:6:22"},"nativeSrc":"31932:24:22","nodeType":"YulFunctionCall","src":"31932:24:22"},"nativeSrc":"31932:24:22","nodeType":"YulExpressionStatement","src":"31932:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31976:4:22","nodeType":"YulLiteral","src":"31976:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"31982:2:22","nodeType":"YulIdentifier","src":"31982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"31969:6:22","nodeType":"YulIdentifier","src":"31969:6:22"},"nativeSrc":"31969:16:22","nodeType":"YulFunctionCall","src":"31969:16:22"},"nativeSrc":"31969:16:22","nodeType":"YulExpressionStatement","src":"31969:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32005:4:22","nodeType":"YulLiteral","src":"32005:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"32011:4:22","nodeType":"YulLiteral","src":"32011:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"31998:6:22","nodeType":"YulIdentifier","src":"31998:6:22"},"nativeSrc":"31998:18:22","nodeType":"YulFunctionCall","src":"31998:18:22"},"nativeSrc":"31998:18:22","nodeType":"YulExpressionStatement","src":"31998:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32036:4:22","nodeType":"YulLiteral","src":"32036:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"32042:2:22","nodeType":"YulIdentifier","src":"32042:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32029:6:22","nodeType":"YulIdentifier","src":"32029:6:22"},"nativeSrc":"32029:16:22","nodeType":"YulFunctionCall","src":"32029:16:22"},"nativeSrc":"32029:16:22","nodeType":"YulExpressionStatement","src":"32029:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32070:4:22","nodeType":"YulLiteral","src":"32070:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"32076:2:22","nodeType":"YulIdentifier","src":"32076:2:22"}],"functionName":{"name":"writeString","nativeSrc":"32058:11:22","nodeType":"YulIdentifier","src":"32058:11:22"},"nativeSrc":"32058:21:22","nodeType":"YulFunctionCall","src":"32058:21:22"},"nativeSrc":"32058:21:22","nodeType":"YulExpressionStatement","src":"32058:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32417,"isOffset":false,"isSlot":false,"src":"31694:2:22","valueSize":1},{"declaration":32420,"isOffset":false,"isSlot":false,"src":"31724:2:22","valueSize":1},{"declaration":32423,"isOffset":false,"isSlot":false,"src":"31754:2:22","valueSize":1},{"declaration":32426,"isOffset":false,"isSlot":false,"src":"31784:2:22","valueSize":1},{"declaration":32429,"isOffset":false,"isSlot":false,"src":"31814:2:22","valueSize":1},{"declaration":32432,"isOffset":false,"isSlot":false,"src":"31844:2:22","valueSize":1},{"declaration":32409,"isOffset":false,"isSlot":false,"src":"31982:2:22","valueSize":1},{"declaration":32411,"isOffset":false,"isSlot":false,"src":"32076:2:22","valueSize":1},{"declaration":32413,"isOffset":false,"isSlot":false,"src":"32042:2:22","valueSize":1}],"id":32434,"nodeType":"InlineAssembly","src":"31316:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32114:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32120:4:22","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":32435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"32098:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32098:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32439,"nodeType":"ExpressionStatement","src":"32098:27:22"},{"AST":{"nativeSrc":"32187:185:22","nodeType":"YulBlock","src":"32187:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"32208:4:22","nodeType":"YulLiteral","src":"32208:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"32214:2:22","nodeType":"YulIdentifier","src":"32214:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32201:6:22","nodeType":"YulIdentifier","src":"32201:6:22"},"nativeSrc":"32201:16:22","nodeType":"YulFunctionCall","src":"32201:16:22"},"nativeSrc":"32201:16:22","nodeType":"YulExpressionStatement","src":"32201:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32237:4:22","nodeType":"YulLiteral","src":"32237:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"32243:2:22","nodeType":"YulIdentifier","src":"32243:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32230:6:22","nodeType":"YulIdentifier","src":"32230:6:22"},"nativeSrc":"32230:16:22","nodeType":"YulFunctionCall","src":"32230:16:22"},"nativeSrc":"32230:16:22","nodeType":"YulExpressionStatement","src":"32230:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32266:4:22","nodeType":"YulLiteral","src":"32266:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"32272:2:22","nodeType":"YulIdentifier","src":"32272:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32259:6:22","nodeType":"YulIdentifier","src":"32259:6:22"},"nativeSrc":"32259:16:22","nodeType":"YulFunctionCall","src":"32259:16:22"},"nativeSrc":"32259:16:22","nodeType":"YulExpressionStatement","src":"32259:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32295:4:22","nodeType":"YulLiteral","src":"32295:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"32301:2:22","nodeType":"YulIdentifier","src":"32301:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32288:6:22","nodeType":"YulIdentifier","src":"32288:6:22"},"nativeSrc":"32288:16:22","nodeType":"YulFunctionCall","src":"32288:16:22"},"nativeSrc":"32288:16:22","nodeType":"YulExpressionStatement","src":"32288:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32324:4:22","nodeType":"YulLiteral","src":"32324:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"32330:2:22","nodeType":"YulIdentifier","src":"32330:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32317:6:22","nodeType":"YulIdentifier","src":"32317:6:22"},"nativeSrc":"32317:16:22","nodeType":"YulFunctionCall","src":"32317:16:22"},"nativeSrc":"32317:16:22","nodeType":"YulExpressionStatement","src":"32317:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32353:4:22","nodeType":"YulLiteral","src":"32353:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"32359:2:22","nodeType":"YulIdentifier","src":"32359:2:22"}],"functionName":{"name":"mstore","nativeSrc":"32346:6:22","nodeType":"YulIdentifier","src":"32346:6:22"},"nativeSrc":"32346:16:22","nodeType":"YulFunctionCall","src":"32346:16:22"},"nativeSrc":"32346:16:22","nodeType":"YulExpressionStatement","src":"32346:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32417,"isOffset":false,"isSlot":false,"src":"32214:2:22","valueSize":1},{"declaration":32420,"isOffset":false,"isSlot":false,"src":"32243:2:22","valueSize":1},{"declaration":32423,"isOffset":false,"isSlot":false,"src":"32272:2:22","valueSize":1},{"declaration":32426,"isOffset":false,"isSlot":false,"src":"32301:2:22","valueSize":1},{"declaration":32429,"isOffset":false,"isSlot":false,"src":"32330:2:22","valueSize":1},{"declaration":32432,"isOffset":false,"isSlot":false,"src":"32359:2:22","valueSize":1}],"id":32440,"nodeType":"InlineAssembly","src":"32178:194:22"}]},"id":32442,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31089:3:22","nodeType":"FunctionDefinition","parameters":{"id":32414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32409,"mutability":"mutable","name":"p0","nameLocation":"31101:2:22","nodeType":"VariableDeclaration","scope":32442,"src":"31093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32408,"name":"address","nodeType":"ElementaryTypeName","src":"31093:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32411,"mutability":"mutable","name":"p1","nameLocation":"31113:2:22","nodeType":"VariableDeclaration","scope":32442,"src":"31105:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31105:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32413,"mutability":"mutable","name":"p2","nameLocation":"31125:2:22","nodeType":"VariableDeclaration","scope":32442,"src":"31117:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32412,"name":"address","nodeType":"ElementaryTypeName","src":"31117:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31092:36:22"},"returnParameters":{"id":32415,"nodeType":"ParameterList","parameters":[],"src":"31143:0:22"},"scope":44426,"src":"31080:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32476,"nodeType":"Block","src":"32444:1232:22","statements":[{"assignments":[32452],"declarations":[{"constant":false,"id":32452,"mutability":"mutable","name":"m0","nameLocation":"32462:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32454:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32454:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32453,"nodeType":"VariableDeclarationStatement","src":"32454:10:22"},{"assignments":[32455],"declarations":[{"constant":false,"id":32455,"mutability":"mutable","name":"m1","nameLocation":"32482:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32474:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32474:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32456,"nodeType":"VariableDeclarationStatement","src":"32474:10:22"},{"assignments":[32458],"declarations":[{"constant":false,"id":32458,"mutability":"mutable","name":"m2","nameLocation":"32502:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32494:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32494:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32459,"nodeType":"VariableDeclarationStatement","src":"32494:10:22"},{"assignments":[32461],"declarations":[{"constant":false,"id":32461,"mutability":"mutable","name":"m3","nameLocation":"32522:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32514:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32514:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32462,"nodeType":"VariableDeclarationStatement","src":"32514:10:22"},{"assignments":[32464],"declarations":[{"constant":false,"id":32464,"mutability":"mutable","name":"m4","nameLocation":"32542:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32534:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32534:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32465,"nodeType":"VariableDeclarationStatement","src":"32534:10:22"},{"assignments":[32467],"declarations":[{"constant":false,"id":32467,"mutability":"mutable","name":"m5","nameLocation":"32562:2:22","nodeType":"VariableDeclaration","scope":32476,"src":"32554:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32554:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32468,"nodeType":"VariableDeclarationStatement","src":"32554:10:22"},{"AST":{"nativeSrc":"32626:761:22","nodeType":"YulBlock","src":"32626:761:22","statements":[{"body":{"nativeSrc":"32669:313:22","nodeType":"YulBlock","src":"32669:313:22","statements":[{"nativeSrc":"32687:15:22","nodeType":"YulVariableDeclaration","src":"32687:15:22","value":{"kind":"number","nativeSrc":"32701:1:22","nodeType":"YulLiteral","src":"32701:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"32691:6:22","nodeType":"YulTypedName","src":"32691:6:22","type":""}]},{"body":{"nativeSrc":"32772:40:22","nodeType":"YulBlock","src":"32772:40:22","statements":[{"body":{"nativeSrc":"32801:9:22","nodeType":"YulBlock","src":"32801:9:22","statements":[{"nativeSrc":"32803:5:22","nodeType":"YulBreak","src":"32803:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"32789:6:22","nodeType":"YulIdentifier","src":"32789:6:22"},{"name":"w","nativeSrc":"32797:1:22","nodeType":"YulIdentifier","src":"32797:1:22"}],"functionName":{"name":"byte","nativeSrc":"32784:4:22","nodeType":"YulIdentifier","src":"32784:4:22"},"nativeSrc":"32784:15:22","nodeType":"YulFunctionCall","src":"32784:15:22"}],"functionName":{"name":"iszero","nativeSrc":"32777:6:22","nodeType":"YulIdentifier","src":"32777:6:22"},"nativeSrc":"32777:23:22","nodeType":"YulFunctionCall","src":"32777:23:22"},"nativeSrc":"32774:36:22","nodeType":"YulIf","src":"32774:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"32729:6:22","nodeType":"YulIdentifier","src":"32729:6:22"},{"kind":"number","nativeSrc":"32737:4:22","nodeType":"YulLiteral","src":"32737:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"32726:2:22","nodeType":"YulIdentifier","src":"32726:2:22"},"nativeSrc":"32726:16:22","nodeType":"YulFunctionCall","src":"32726:16:22"},"nativeSrc":"32719:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"32743:28:22","nodeType":"YulBlock","src":"32743:28:22","statements":[{"nativeSrc":"32745:24:22","nodeType":"YulAssignment","src":"32745:24:22","value":{"arguments":[{"name":"length","nativeSrc":"32759:6:22","nodeType":"YulIdentifier","src":"32759:6:22"},{"kind":"number","nativeSrc":"32767:1:22","nodeType":"YulLiteral","src":"32767:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"32755:3:22","nodeType":"YulIdentifier","src":"32755:3:22"},"nativeSrc":"32755:14:22","nodeType":"YulFunctionCall","src":"32755:14:22"},"variableNames":[{"name":"length","nativeSrc":"32745:6:22","nodeType":"YulIdentifier","src":"32745:6:22"}]}]},"pre":{"nativeSrc":"32723:2:22","nodeType":"YulBlock","src":"32723:2:22","statements":[]},"src":"32719:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"32836:3:22","nodeType":"YulIdentifier","src":"32836:3:22"},{"name":"length","nativeSrc":"32841:6:22","nodeType":"YulIdentifier","src":"32841:6:22"}],"functionName":{"name":"mstore","nativeSrc":"32829:6:22","nodeType":"YulIdentifier","src":"32829:6:22"},"nativeSrc":"32829:19:22","nodeType":"YulFunctionCall","src":"32829:19:22"},"nativeSrc":"32829:19:22","nodeType":"YulExpressionStatement","src":"32829:19:22"},{"nativeSrc":"32865:37:22","nodeType":"YulVariableDeclaration","src":"32865:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"32882:3:22","nodeType":"YulLiteral","src":"32882:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"32891:1:22","nodeType":"YulLiteral","src":"32891:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"32894:6:22","nodeType":"YulIdentifier","src":"32894:6:22"}],"functionName":{"name":"shl","nativeSrc":"32887:3:22","nodeType":"YulIdentifier","src":"32887:3:22"},"nativeSrc":"32887:14:22","nodeType":"YulFunctionCall","src":"32887:14:22"}],"functionName":{"name":"sub","nativeSrc":"32878:3:22","nodeType":"YulIdentifier","src":"32878:3:22"},"nativeSrc":"32878:24:22","nodeType":"YulFunctionCall","src":"32878:24:22"},"variables":[{"name":"shift","nativeSrc":"32869:5:22","nodeType":"YulTypedName","src":"32869:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"32930:3:22","nodeType":"YulIdentifier","src":"32930:3:22"},{"kind":"number","nativeSrc":"32935:4:22","nodeType":"YulLiteral","src":"32935:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32926:3:22","nodeType":"YulIdentifier","src":"32926:3:22"},"nativeSrc":"32926:14:22","nodeType":"YulFunctionCall","src":"32926:14:22"},{"arguments":[{"name":"shift","nativeSrc":"32946:5:22","nodeType":"YulIdentifier","src":"32946:5:22"},{"arguments":[{"name":"shift","nativeSrc":"32957:5:22","nodeType":"YulIdentifier","src":"32957:5:22"},{"name":"w","nativeSrc":"32964:1:22","nodeType":"YulIdentifier","src":"32964:1:22"}],"functionName":{"name":"shr","nativeSrc":"32953:3:22","nodeType":"YulIdentifier","src":"32953:3:22"},"nativeSrc":"32953:13:22","nodeType":"YulFunctionCall","src":"32953:13:22"}],"functionName":{"name":"shl","nativeSrc":"32942:3:22","nodeType":"YulIdentifier","src":"32942:3:22"},"nativeSrc":"32942:25:22","nodeType":"YulFunctionCall","src":"32942:25:22"}],"functionName":{"name":"mstore","nativeSrc":"32919:6:22","nodeType":"YulIdentifier","src":"32919:6:22"},"nativeSrc":"32919:49:22","nodeType":"YulFunctionCall","src":"32919:49:22"},"nativeSrc":"32919:49:22","nodeType":"YulExpressionStatement","src":"32919:49:22"}]},"name":"writeString","nativeSrc":"32640:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"32661:3:22","nodeType":"YulTypedName","src":"32661:3:22","type":""},{"name":"w","nativeSrc":"32666:1:22","nodeType":"YulTypedName","src":"32666:1:22","type":""}],"src":"32640:342:22"},{"nativeSrc":"32995:17:22","nodeType":"YulAssignment","src":"32995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33007:4:22","nodeType":"YulLiteral","src":"33007:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"33001:5:22","nodeType":"YulIdentifier","src":"33001:5:22"},"nativeSrc":"33001:11:22","nodeType":"YulFunctionCall","src":"33001:11:22"},"variableNames":[{"name":"m0","nativeSrc":"32995:2:22","nodeType":"YulIdentifier","src":"32995:2:22"}]},{"nativeSrc":"33025:17:22","nodeType":"YulAssignment","src":"33025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33037:4:22","nodeType":"YulLiteral","src":"33037:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"33031:5:22","nodeType":"YulIdentifier","src":"33031:5:22"},"nativeSrc":"33031:11:22","nodeType":"YulFunctionCall","src":"33031:11:22"},"variableNames":[{"name":"m1","nativeSrc":"33025:2:22","nodeType":"YulIdentifier","src":"33025:2:22"}]},{"nativeSrc":"33055:17:22","nodeType":"YulAssignment","src":"33055:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33067:4:22","nodeType":"YulLiteral","src":"33067:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"33061:5:22","nodeType":"YulIdentifier","src":"33061:5:22"},"nativeSrc":"33061:11:22","nodeType":"YulFunctionCall","src":"33061:11:22"},"variableNames":[{"name":"m2","nativeSrc":"33055:2:22","nodeType":"YulIdentifier","src":"33055:2:22"}]},{"nativeSrc":"33085:17:22","nodeType":"YulAssignment","src":"33085:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33097:4:22","nodeType":"YulLiteral","src":"33097:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"33091:5:22","nodeType":"YulIdentifier","src":"33091:5:22"},"nativeSrc":"33091:11:22","nodeType":"YulFunctionCall","src":"33091:11:22"},"variableNames":[{"name":"m3","nativeSrc":"33085:2:22","nodeType":"YulIdentifier","src":"33085:2:22"}]},{"nativeSrc":"33115:17:22","nodeType":"YulAssignment","src":"33115:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33127:4:22","nodeType":"YulLiteral","src":"33127:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"33121:5:22","nodeType":"YulIdentifier","src":"33121:5:22"},"nativeSrc":"33121:11:22","nodeType":"YulFunctionCall","src":"33121:11:22"},"variableNames":[{"name":"m4","nativeSrc":"33115:2:22","nodeType":"YulIdentifier","src":"33115:2:22"}]},{"nativeSrc":"33145:17:22","nodeType":"YulAssignment","src":"33145:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"33157:4:22","nodeType":"YulLiteral","src":"33157:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"33151:5:22","nodeType":"YulIdentifier","src":"33151:5:22"},"nativeSrc":"33151:11:22","nodeType":"YulFunctionCall","src":"33151:11:22"},"variableNames":[{"name":"m5","nativeSrc":"33145:2:22","nodeType":"YulIdentifier","src":"33145:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33237:4:22","nodeType":"YulLiteral","src":"33237:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"33243:10:22","nodeType":"YulLiteral","src":"33243:10:22","type":"","value":"0xcf020fb1"}],"functionName":{"name":"mstore","nativeSrc":"33230:6:22","nodeType":"YulIdentifier","src":"33230:6:22"},"nativeSrc":"33230:24:22","nodeType":"YulFunctionCall","src":"33230:24:22"},"nativeSrc":"33230:24:22","nodeType":"YulExpressionStatement","src":"33230:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33274:4:22","nodeType":"YulLiteral","src":"33274:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"33280:2:22","nodeType":"YulIdentifier","src":"33280:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33267:6:22","nodeType":"YulIdentifier","src":"33267:6:22"},"nativeSrc":"33267:16:22","nodeType":"YulFunctionCall","src":"33267:16:22"},"nativeSrc":"33267:16:22","nodeType":"YulExpressionStatement","src":"33267:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33303:4:22","nodeType":"YulLiteral","src":"33303:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"33309:4:22","nodeType":"YulLiteral","src":"33309:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"33296:6:22","nodeType":"YulIdentifier","src":"33296:6:22"},"nativeSrc":"33296:18:22","nodeType":"YulFunctionCall","src":"33296:18:22"},"nativeSrc":"33296:18:22","nodeType":"YulExpressionStatement","src":"33296:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33334:4:22","nodeType":"YulLiteral","src":"33334:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"33340:2:22","nodeType":"YulIdentifier","src":"33340:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33327:6:22","nodeType":"YulIdentifier","src":"33327:6:22"},"nativeSrc":"33327:16:22","nodeType":"YulFunctionCall","src":"33327:16:22"},"nativeSrc":"33327:16:22","nodeType":"YulExpressionStatement","src":"33327:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33368:4:22","nodeType":"YulLiteral","src":"33368:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"33374:2:22","nodeType":"YulIdentifier","src":"33374:2:22"}],"functionName":{"name":"writeString","nativeSrc":"33356:11:22","nodeType":"YulIdentifier","src":"33356:11:22"},"nativeSrc":"33356:21:22","nodeType":"YulFunctionCall","src":"33356:21:22"},"nativeSrc":"33356:21:22","nodeType":"YulExpressionStatement","src":"33356:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32452,"isOffset":false,"isSlot":false,"src":"32995:2:22","valueSize":1},{"declaration":32455,"isOffset":false,"isSlot":false,"src":"33025:2:22","valueSize":1},{"declaration":32458,"isOffset":false,"isSlot":false,"src":"33055:2:22","valueSize":1},{"declaration":32461,"isOffset":false,"isSlot":false,"src":"33085:2:22","valueSize":1},{"declaration":32464,"isOffset":false,"isSlot":false,"src":"33115:2:22","valueSize":1},{"declaration":32467,"isOffset":false,"isSlot":false,"src":"33145:2:22","valueSize":1},{"declaration":32444,"isOffset":false,"isSlot":false,"src":"33280:2:22","valueSize":1},{"declaration":32446,"isOffset":false,"isSlot":false,"src":"33374:2:22","valueSize":1},{"declaration":32448,"isOffset":false,"isSlot":false,"src":"33340:2:22","valueSize":1}],"id":32469,"nodeType":"InlineAssembly","src":"32617:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33412:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33418:4:22","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":32470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"33396:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33396:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32474,"nodeType":"ExpressionStatement","src":"33396:27:22"},{"AST":{"nativeSrc":"33485:185:22","nodeType":"YulBlock","src":"33485:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"33506:4:22","nodeType":"YulLiteral","src":"33506:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"33512:2:22","nodeType":"YulIdentifier","src":"33512:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33499:6:22","nodeType":"YulIdentifier","src":"33499:6:22"},"nativeSrc":"33499:16:22","nodeType":"YulFunctionCall","src":"33499:16:22"},"nativeSrc":"33499:16:22","nodeType":"YulExpressionStatement","src":"33499:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33535:4:22","nodeType":"YulLiteral","src":"33535:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"33541:2:22","nodeType":"YulIdentifier","src":"33541:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33528:6:22","nodeType":"YulIdentifier","src":"33528:6:22"},"nativeSrc":"33528:16:22","nodeType":"YulFunctionCall","src":"33528:16:22"},"nativeSrc":"33528:16:22","nodeType":"YulExpressionStatement","src":"33528:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33564:4:22","nodeType":"YulLiteral","src":"33564:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"33570:2:22","nodeType":"YulIdentifier","src":"33570:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33557:6:22","nodeType":"YulIdentifier","src":"33557:6:22"},"nativeSrc":"33557:16:22","nodeType":"YulFunctionCall","src":"33557:16:22"},"nativeSrc":"33557:16:22","nodeType":"YulExpressionStatement","src":"33557:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33593:4:22","nodeType":"YulLiteral","src":"33593:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"33599:2:22","nodeType":"YulIdentifier","src":"33599:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33586:6:22","nodeType":"YulIdentifier","src":"33586:6:22"},"nativeSrc":"33586:16:22","nodeType":"YulFunctionCall","src":"33586:16:22"},"nativeSrc":"33586:16:22","nodeType":"YulExpressionStatement","src":"33586:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33622:4:22","nodeType":"YulLiteral","src":"33622:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"33628:2:22","nodeType":"YulIdentifier","src":"33628:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33615:6:22","nodeType":"YulIdentifier","src":"33615:6:22"},"nativeSrc":"33615:16:22","nodeType":"YulFunctionCall","src":"33615:16:22"},"nativeSrc":"33615:16:22","nodeType":"YulExpressionStatement","src":"33615:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33651:4:22","nodeType":"YulLiteral","src":"33651:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"33657:2:22","nodeType":"YulIdentifier","src":"33657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"33644:6:22","nodeType":"YulIdentifier","src":"33644:6:22"},"nativeSrc":"33644:16:22","nodeType":"YulFunctionCall","src":"33644:16:22"},"nativeSrc":"33644:16:22","nodeType":"YulExpressionStatement","src":"33644:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32452,"isOffset":false,"isSlot":false,"src":"33512:2:22","valueSize":1},{"declaration":32455,"isOffset":false,"isSlot":false,"src":"33541:2:22","valueSize":1},{"declaration":32458,"isOffset":false,"isSlot":false,"src":"33570:2:22","valueSize":1},{"declaration":32461,"isOffset":false,"isSlot":false,"src":"33599:2:22","valueSize":1},{"declaration":32464,"isOffset":false,"isSlot":false,"src":"33628:2:22","valueSize":1},{"declaration":32467,"isOffset":false,"isSlot":false,"src":"33657:2:22","valueSize":1}],"id":32475,"nodeType":"InlineAssembly","src":"33476:194:22"}]},"id":32477,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32393:3:22","nodeType":"FunctionDefinition","parameters":{"id":32449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32444,"mutability":"mutable","name":"p0","nameLocation":"32405:2:22","nodeType":"VariableDeclaration","scope":32477,"src":"32397:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32443,"name":"address","nodeType":"ElementaryTypeName","src":"32397:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32446,"mutability":"mutable","name":"p1","nameLocation":"32417:2:22","nodeType":"VariableDeclaration","scope":32477,"src":"32409:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32409:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32448,"mutability":"mutable","name":"p2","nameLocation":"32426:2:22","nodeType":"VariableDeclaration","scope":32477,"src":"32421:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32447,"name":"bool","nodeType":"ElementaryTypeName","src":"32421:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32396:33:22"},"returnParameters":{"id":32450,"nodeType":"ParameterList","parameters":[],"src":"32444:0:22"},"scope":44426,"src":"32384:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32511,"nodeType":"Block","src":"33745:1235:22","statements":[{"assignments":[32487],"declarations":[{"constant":false,"id":32487,"mutability":"mutable","name":"m0","nameLocation":"33763:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32488,"nodeType":"VariableDeclarationStatement","src":"33755:10:22"},{"assignments":[32490],"declarations":[{"constant":false,"id":32490,"mutability":"mutable","name":"m1","nameLocation":"33783:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33775:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32491,"nodeType":"VariableDeclarationStatement","src":"33775:10:22"},{"assignments":[32493],"declarations":[{"constant":false,"id":32493,"mutability":"mutable","name":"m2","nameLocation":"33803:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33795:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32494,"nodeType":"VariableDeclarationStatement","src":"33795:10:22"},{"assignments":[32496],"declarations":[{"constant":false,"id":32496,"mutability":"mutable","name":"m3","nameLocation":"33823:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33815:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33815:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32497,"nodeType":"VariableDeclarationStatement","src":"33815:10:22"},{"assignments":[32499],"declarations":[{"constant":false,"id":32499,"mutability":"mutable","name":"m4","nameLocation":"33843:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33835:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33835:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32500,"nodeType":"VariableDeclarationStatement","src":"33835:10:22"},{"assignments":[32502],"declarations":[{"constant":false,"id":32502,"mutability":"mutable","name":"m5","nameLocation":"33863:2:22","nodeType":"VariableDeclaration","scope":32511,"src":"33855:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33855:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32503,"nodeType":"VariableDeclarationStatement","src":"33855:10:22"},{"AST":{"nativeSrc":"33927:764:22","nodeType":"YulBlock","src":"33927:764:22","statements":[{"body":{"nativeSrc":"33970:313:22","nodeType":"YulBlock","src":"33970:313:22","statements":[{"nativeSrc":"33988:15:22","nodeType":"YulVariableDeclaration","src":"33988:15:22","value":{"kind":"number","nativeSrc":"34002:1:22","nodeType":"YulLiteral","src":"34002:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"33992:6:22","nodeType":"YulTypedName","src":"33992:6:22","type":""}]},{"body":{"nativeSrc":"34073:40:22","nodeType":"YulBlock","src":"34073:40:22","statements":[{"body":{"nativeSrc":"34102:9:22","nodeType":"YulBlock","src":"34102:9:22","statements":[{"nativeSrc":"34104:5:22","nodeType":"YulBreak","src":"34104:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"34090:6:22","nodeType":"YulIdentifier","src":"34090:6:22"},{"name":"w","nativeSrc":"34098:1:22","nodeType":"YulIdentifier","src":"34098:1:22"}],"functionName":{"name":"byte","nativeSrc":"34085:4:22","nodeType":"YulIdentifier","src":"34085:4:22"},"nativeSrc":"34085:15:22","nodeType":"YulFunctionCall","src":"34085:15:22"}],"functionName":{"name":"iszero","nativeSrc":"34078:6:22","nodeType":"YulIdentifier","src":"34078:6:22"},"nativeSrc":"34078:23:22","nodeType":"YulFunctionCall","src":"34078:23:22"},"nativeSrc":"34075:36:22","nodeType":"YulIf","src":"34075:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"34030:6:22","nodeType":"YulIdentifier","src":"34030:6:22"},{"kind":"number","nativeSrc":"34038:4:22","nodeType":"YulLiteral","src":"34038:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"34027:2:22","nodeType":"YulIdentifier","src":"34027:2:22"},"nativeSrc":"34027:16:22","nodeType":"YulFunctionCall","src":"34027:16:22"},"nativeSrc":"34020:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"34044:28:22","nodeType":"YulBlock","src":"34044:28:22","statements":[{"nativeSrc":"34046:24:22","nodeType":"YulAssignment","src":"34046:24:22","value":{"arguments":[{"name":"length","nativeSrc":"34060:6:22","nodeType":"YulIdentifier","src":"34060:6:22"},{"kind":"number","nativeSrc":"34068:1:22","nodeType":"YulLiteral","src":"34068:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"34056:3:22","nodeType":"YulIdentifier","src":"34056:3:22"},"nativeSrc":"34056:14:22","nodeType":"YulFunctionCall","src":"34056:14:22"},"variableNames":[{"name":"length","nativeSrc":"34046:6:22","nodeType":"YulIdentifier","src":"34046:6:22"}]}]},"pre":{"nativeSrc":"34024:2:22","nodeType":"YulBlock","src":"34024:2:22","statements":[]},"src":"34020:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"34137:3:22","nodeType":"YulIdentifier","src":"34137:3:22"},{"name":"length","nativeSrc":"34142:6:22","nodeType":"YulIdentifier","src":"34142:6:22"}],"functionName":{"name":"mstore","nativeSrc":"34130:6:22","nodeType":"YulIdentifier","src":"34130:6:22"},"nativeSrc":"34130:19:22","nodeType":"YulFunctionCall","src":"34130:19:22"},"nativeSrc":"34130:19:22","nodeType":"YulExpressionStatement","src":"34130:19:22"},{"nativeSrc":"34166:37:22","nodeType":"YulVariableDeclaration","src":"34166:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"34183:3:22","nodeType":"YulLiteral","src":"34183:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"34192:1:22","nodeType":"YulLiteral","src":"34192:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"34195:6:22","nodeType":"YulIdentifier","src":"34195:6:22"}],"functionName":{"name":"shl","nativeSrc":"34188:3:22","nodeType":"YulIdentifier","src":"34188:3:22"},"nativeSrc":"34188:14:22","nodeType":"YulFunctionCall","src":"34188:14:22"}],"functionName":{"name":"sub","nativeSrc":"34179:3:22","nodeType":"YulIdentifier","src":"34179:3:22"},"nativeSrc":"34179:24:22","nodeType":"YulFunctionCall","src":"34179:24:22"},"variables":[{"name":"shift","nativeSrc":"34170:5:22","nodeType":"YulTypedName","src":"34170:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"34231:3:22","nodeType":"YulIdentifier","src":"34231:3:22"},{"kind":"number","nativeSrc":"34236:4:22","nodeType":"YulLiteral","src":"34236:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"34227:3:22","nodeType":"YulIdentifier","src":"34227:3:22"},"nativeSrc":"34227:14:22","nodeType":"YulFunctionCall","src":"34227:14:22"},{"arguments":[{"name":"shift","nativeSrc":"34247:5:22","nodeType":"YulIdentifier","src":"34247:5:22"},{"arguments":[{"name":"shift","nativeSrc":"34258:5:22","nodeType":"YulIdentifier","src":"34258:5:22"},{"name":"w","nativeSrc":"34265:1:22","nodeType":"YulIdentifier","src":"34265:1:22"}],"functionName":{"name":"shr","nativeSrc":"34254:3:22","nodeType":"YulIdentifier","src":"34254:3:22"},"nativeSrc":"34254:13:22","nodeType":"YulFunctionCall","src":"34254:13:22"}],"functionName":{"name":"shl","nativeSrc":"34243:3:22","nodeType":"YulIdentifier","src":"34243:3:22"},"nativeSrc":"34243:25:22","nodeType":"YulFunctionCall","src":"34243:25:22"}],"functionName":{"name":"mstore","nativeSrc":"34220:6:22","nodeType":"YulIdentifier","src":"34220:6:22"},"nativeSrc":"34220:49:22","nodeType":"YulFunctionCall","src":"34220:49:22"},"nativeSrc":"34220:49:22","nodeType":"YulExpressionStatement","src":"34220:49:22"}]},"name":"writeString","nativeSrc":"33941:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"33962:3:22","nodeType":"YulTypedName","src":"33962:3:22","type":""},{"name":"w","nativeSrc":"33967:1:22","nodeType":"YulTypedName","src":"33967:1:22","type":""}],"src":"33941:342:22"},{"nativeSrc":"34296:17:22","nodeType":"YulAssignment","src":"34296:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34308:4:22","nodeType":"YulLiteral","src":"34308:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"34302:5:22","nodeType":"YulIdentifier","src":"34302:5:22"},"nativeSrc":"34302:11:22","nodeType":"YulFunctionCall","src":"34302:11:22"},"variableNames":[{"name":"m0","nativeSrc":"34296:2:22","nodeType":"YulIdentifier","src":"34296:2:22"}]},{"nativeSrc":"34326:17:22","nodeType":"YulAssignment","src":"34326:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34338:4:22","nodeType":"YulLiteral","src":"34338:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"34332:5:22","nodeType":"YulIdentifier","src":"34332:5:22"},"nativeSrc":"34332:11:22","nodeType":"YulFunctionCall","src":"34332:11:22"},"variableNames":[{"name":"m1","nativeSrc":"34326:2:22","nodeType":"YulIdentifier","src":"34326:2:22"}]},{"nativeSrc":"34356:17:22","nodeType":"YulAssignment","src":"34356:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34368:4:22","nodeType":"YulLiteral","src":"34368:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"34362:5:22","nodeType":"YulIdentifier","src":"34362:5:22"},"nativeSrc":"34362:11:22","nodeType":"YulFunctionCall","src":"34362:11:22"},"variableNames":[{"name":"m2","nativeSrc":"34356:2:22","nodeType":"YulIdentifier","src":"34356:2:22"}]},{"nativeSrc":"34386:17:22","nodeType":"YulAssignment","src":"34386:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34398:4:22","nodeType":"YulLiteral","src":"34398:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"34392:5:22","nodeType":"YulIdentifier","src":"34392:5:22"},"nativeSrc":"34392:11:22","nodeType":"YulFunctionCall","src":"34392:11:22"},"variableNames":[{"name":"m3","nativeSrc":"34386:2:22","nodeType":"YulIdentifier","src":"34386:2:22"}]},{"nativeSrc":"34416:17:22","nodeType":"YulAssignment","src":"34416:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34428:4:22","nodeType":"YulLiteral","src":"34428:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"34422:5:22","nodeType":"YulIdentifier","src":"34422:5:22"},"nativeSrc":"34422:11:22","nodeType":"YulFunctionCall","src":"34422:11:22"},"variableNames":[{"name":"m4","nativeSrc":"34416:2:22","nodeType":"YulIdentifier","src":"34416:2:22"}]},{"nativeSrc":"34446:17:22","nodeType":"YulAssignment","src":"34446:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"34458:4:22","nodeType":"YulLiteral","src":"34458:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"34452:5:22","nodeType":"YulIdentifier","src":"34452:5:22"},"nativeSrc":"34452:11:22","nodeType":"YulFunctionCall","src":"34452:11:22"},"variableNames":[{"name":"m5","nativeSrc":"34446:2:22","nodeType":"YulIdentifier","src":"34446:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34541:4:22","nodeType":"YulLiteral","src":"34541:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"34547:10:22","nodeType":"YulLiteral","src":"34547:10:22","type":"","value":"0x67dd6ff1"}],"functionName":{"name":"mstore","nativeSrc":"34534:6:22","nodeType":"YulIdentifier","src":"34534:6:22"},"nativeSrc":"34534:24:22","nodeType":"YulFunctionCall","src":"34534:24:22"},"nativeSrc":"34534:24:22","nodeType":"YulExpressionStatement","src":"34534:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34578:4:22","nodeType":"YulLiteral","src":"34578:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"34584:2:22","nodeType":"YulIdentifier","src":"34584:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34571:6:22","nodeType":"YulIdentifier","src":"34571:6:22"},"nativeSrc":"34571:16:22","nodeType":"YulFunctionCall","src":"34571:16:22"},"nativeSrc":"34571:16:22","nodeType":"YulExpressionStatement","src":"34571:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34607:4:22","nodeType":"YulLiteral","src":"34607:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"34613:4:22","nodeType":"YulLiteral","src":"34613:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"34600:6:22","nodeType":"YulIdentifier","src":"34600:6:22"},"nativeSrc":"34600:18:22","nodeType":"YulFunctionCall","src":"34600:18:22"},"nativeSrc":"34600:18:22","nodeType":"YulExpressionStatement","src":"34600:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34638:4:22","nodeType":"YulLiteral","src":"34638:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"34644:2:22","nodeType":"YulIdentifier","src":"34644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34631:6:22","nodeType":"YulIdentifier","src":"34631:6:22"},"nativeSrc":"34631:16:22","nodeType":"YulFunctionCall","src":"34631:16:22"},"nativeSrc":"34631:16:22","nodeType":"YulExpressionStatement","src":"34631:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34672:4:22","nodeType":"YulLiteral","src":"34672:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"34678:2:22","nodeType":"YulIdentifier","src":"34678:2:22"}],"functionName":{"name":"writeString","nativeSrc":"34660:11:22","nodeType":"YulIdentifier","src":"34660:11:22"},"nativeSrc":"34660:21:22","nodeType":"YulFunctionCall","src":"34660:21:22"},"nativeSrc":"34660:21:22","nodeType":"YulExpressionStatement","src":"34660:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32487,"isOffset":false,"isSlot":false,"src":"34296:2:22","valueSize":1},{"declaration":32490,"isOffset":false,"isSlot":false,"src":"34326:2:22","valueSize":1},{"declaration":32493,"isOffset":false,"isSlot":false,"src":"34356:2:22","valueSize":1},{"declaration":32496,"isOffset":false,"isSlot":false,"src":"34386:2:22","valueSize":1},{"declaration":32499,"isOffset":false,"isSlot":false,"src":"34416:2:22","valueSize":1},{"declaration":32502,"isOffset":false,"isSlot":false,"src":"34446:2:22","valueSize":1},{"declaration":32479,"isOffset":false,"isSlot":false,"src":"34584:2:22","valueSize":1},{"declaration":32481,"isOffset":false,"isSlot":false,"src":"34678:2:22","valueSize":1},{"declaration":32483,"isOffset":false,"isSlot":false,"src":"34644:2:22","valueSize":1}],"id":32504,"nodeType":"InlineAssembly","src":"33918:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34716:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34722:4:22","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":32505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"34700:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34700:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32509,"nodeType":"ExpressionStatement","src":"34700:27:22"},{"AST":{"nativeSrc":"34789:185:22","nodeType":"YulBlock","src":"34789:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"34810:4:22","nodeType":"YulLiteral","src":"34810:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"34816:2:22","nodeType":"YulIdentifier","src":"34816:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34803:6:22","nodeType":"YulIdentifier","src":"34803:6:22"},"nativeSrc":"34803:16:22","nodeType":"YulFunctionCall","src":"34803:16:22"},"nativeSrc":"34803:16:22","nodeType":"YulExpressionStatement","src":"34803:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34839:4:22","nodeType":"YulLiteral","src":"34839:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"34845:2:22","nodeType":"YulIdentifier","src":"34845:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34832:6:22","nodeType":"YulIdentifier","src":"34832:6:22"},"nativeSrc":"34832:16:22","nodeType":"YulFunctionCall","src":"34832:16:22"},"nativeSrc":"34832:16:22","nodeType":"YulExpressionStatement","src":"34832:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34868:4:22","nodeType":"YulLiteral","src":"34868:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"34874:2:22","nodeType":"YulIdentifier","src":"34874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34861:6:22","nodeType":"YulIdentifier","src":"34861:6:22"},"nativeSrc":"34861:16:22","nodeType":"YulFunctionCall","src":"34861:16:22"},"nativeSrc":"34861:16:22","nodeType":"YulExpressionStatement","src":"34861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34897:4:22","nodeType":"YulLiteral","src":"34897:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"34903:2:22","nodeType":"YulIdentifier","src":"34903:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34890:6:22","nodeType":"YulIdentifier","src":"34890:6:22"},"nativeSrc":"34890:16:22","nodeType":"YulFunctionCall","src":"34890:16:22"},"nativeSrc":"34890:16:22","nodeType":"YulExpressionStatement","src":"34890:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34926:4:22","nodeType":"YulLiteral","src":"34926:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"34932:2:22","nodeType":"YulIdentifier","src":"34932:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34919:6:22","nodeType":"YulIdentifier","src":"34919:6:22"},"nativeSrc":"34919:16:22","nodeType":"YulFunctionCall","src":"34919:16:22"},"nativeSrc":"34919:16:22","nodeType":"YulExpressionStatement","src":"34919:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34955:4:22","nodeType":"YulLiteral","src":"34955:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"34961:2:22","nodeType":"YulIdentifier","src":"34961:2:22"}],"functionName":{"name":"mstore","nativeSrc":"34948:6:22","nodeType":"YulIdentifier","src":"34948:6:22"},"nativeSrc":"34948:16:22","nodeType":"YulFunctionCall","src":"34948:16:22"},"nativeSrc":"34948:16:22","nodeType":"YulExpressionStatement","src":"34948:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32487,"isOffset":false,"isSlot":false,"src":"34816:2:22","valueSize":1},{"declaration":32490,"isOffset":false,"isSlot":false,"src":"34845:2:22","valueSize":1},{"declaration":32493,"isOffset":false,"isSlot":false,"src":"34874:2:22","valueSize":1},{"declaration":32496,"isOffset":false,"isSlot":false,"src":"34903:2:22","valueSize":1},{"declaration":32499,"isOffset":false,"isSlot":false,"src":"34932:2:22","valueSize":1},{"declaration":32502,"isOffset":false,"isSlot":false,"src":"34961:2:22","valueSize":1}],"id":32510,"nodeType":"InlineAssembly","src":"34780:194:22"}]},"id":32512,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33691:3:22","nodeType":"FunctionDefinition","parameters":{"id":32484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32479,"mutability":"mutable","name":"p0","nameLocation":"33703:2:22","nodeType":"VariableDeclaration","scope":32512,"src":"33695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32478,"name":"address","nodeType":"ElementaryTypeName","src":"33695:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32481,"mutability":"mutable","name":"p1","nameLocation":"33715:2:22","nodeType":"VariableDeclaration","scope":32512,"src":"33707:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33707:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32483,"mutability":"mutable","name":"p2","nameLocation":"33727:2:22","nodeType":"VariableDeclaration","scope":32512,"src":"33719:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32482,"name":"uint256","nodeType":"ElementaryTypeName","src":"33719:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33694:36:22"},"returnParameters":{"id":32485,"nodeType":"ParameterList","parameters":[],"src":"33745:0:22"},"scope":44426,"src":"33682:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32552,"nodeType":"Block","src":"35049:1428:22","statements":[{"assignments":[32522],"declarations":[{"constant":false,"id":32522,"mutability":"mutable","name":"m0","nameLocation":"35067:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35059:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35059:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32523,"nodeType":"VariableDeclarationStatement","src":"35059:10:22"},{"assignments":[32525],"declarations":[{"constant":false,"id":32525,"mutability":"mutable","name":"m1","nameLocation":"35087:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35079:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35079:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32526,"nodeType":"VariableDeclarationStatement","src":"35079:10:22"},{"assignments":[32528],"declarations":[{"constant":false,"id":32528,"mutability":"mutable","name":"m2","nameLocation":"35107:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35099:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35099:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32529,"nodeType":"VariableDeclarationStatement","src":"35099:10:22"},{"assignments":[32531],"declarations":[{"constant":false,"id":32531,"mutability":"mutable","name":"m3","nameLocation":"35127:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35119:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35119:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32532,"nodeType":"VariableDeclarationStatement","src":"35119:10:22"},{"assignments":[32534],"declarations":[{"constant":false,"id":32534,"mutability":"mutable","name":"m4","nameLocation":"35147:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35139:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35139:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32535,"nodeType":"VariableDeclarationStatement","src":"35139:10:22"},{"assignments":[32537],"declarations":[{"constant":false,"id":32537,"mutability":"mutable","name":"m5","nameLocation":"35167:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35159:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35159:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32538,"nodeType":"VariableDeclarationStatement","src":"35159:10:22"},{"assignments":[32540],"declarations":[{"constant":false,"id":32540,"mutability":"mutable","name":"m6","nameLocation":"35187:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35179:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35179:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32541,"nodeType":"VariableDeclarationStatement","src":"35179:10:22"},{"assignments":[32543],"declarations":[{"constant":false,"id":32543,"mutability":"mutable","name":"m7","nameLocation":"35207:2:22","nodeType":"VariableDeclaration","scope":32552,"src":"35199:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35199:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32544,"nodeType":"VariableDeclarationStatement","src":"35199:10:22"},{"AST":{"nativeSrc":"35271:859:22","nodeType":"YulBlock","src":"35271:859:22","statements":[{"body":{"nativeSrc":"35314:313:22","nodeType":"YulBlock","src":"35314:313:22","statements":[{"nativeSrc":"35332:15:22","nodeType":"YulVariableDeclaration","src":"35332:15:22","value":{"kind":"number","nativeSrc":"35346:1:22","nodeType":"YulLiteral","src":"35346:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"35336:6:22","nodeType":"YulTypedName","src":"35336:6:22","type":""}]},{"body":{"nativeSrc":"35417:40:22","nodeType":"YulBlock","src":"35417:40:22","statements":[{"body":{"nativeSrc":"35446:9:22","nodeType":"YulBlock","src":"35446:9:22","statements":[{"nativeSrc":"35448:5:22","nodeType":"YulBreak","src":"35448:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"35434:6:22","nodeType":"YulIdentifier","src":"35434:6:22"},{"name":"w","nativeSrc":"35442:1:22","nodeType":"YulIdentifier","src":"35442:1:22"}],"functionName":{"name":"byte","nativeSrc":"35429:4:22","nodeType":"YulIdentifier","src":"35429:4:22"},"nativeSrc":"35429:15:22","nodeType":"YulFunctionCall","src":"35429:15:22"}],"functionName":{"name":"iszero","nativeSrc":"35422:6:22","nodeType":"YulIdentifier","src":"35422:6:22"},"nativeSrc":"35422:23:22","nodeType":"YulFunctionCall","src":"35422:23:22"},"nativeSrc":"35419:36:22","nodeType":"YulIf","src":"35419:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"35374:6:22","nodeType":"YulIdentifier","src":"35374:6:22"},{"kind":"number","nativeSrc":"35382:4:22","nodeType":"YulLiteral","src":"35382:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"35371:2:22","nodeType":"YulIdentifier","src":"35371:2:22"},"nativeSrc":"35371:16:22","nodeType":"YulFunctionCall","src":"35371:16:22"},"nativeSrc":"35364:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"35388:28:22","nodeType":"YulBlock","src":"35388:28:22","statements":[{"nativeSrc":"35390:24:22","nodeType":"YulAssignment","src":"35390:24:22","value":{"arguments":[{"name":"length","nativeSrc":"35404:6:22","nodeType":"YulIdentifier","src":"35404:6:22"},{"kind":"number","nativeSrc":"35412:1:22","nodeType":"YulLiteral","src":"35412:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"35400:3:22","nodeType":"YulIdentifier","src":"35400:3:22"},"nativeSrc":"35400:14:22","nodeType":"YulFunctionCall","src":"35400:14:22"},"variableNames":[{"name":"length","nativeSrc":"35390:6:22","nodeType":"YulIdentifier","src":"35390:6:22"}]}]},"pre":{"nativeSrc":"35368:2:22","nodeType":"YulBlock","src":"35368:2:22","statements":[]},"src":"35364:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"35481:3:22","nodeType":"YulIdentifier","src":"35481:3:22"},{"name":"length","nativeSrc":"35486:6:22","nodeType":"YulIdentifier","src":"35486:6:22"}],"functionName":{"name":"mstore","nativeSrc":"35474:6:22","nodeType":"YulIdentifier","src":"35474:6:22"},"nativeSrc":"35474:19:22","nodeType":"YulFunctionCall","src":"35474:19:22"},"nativeSrc":"35474:19:22","nodeType":"YulExpressionStatement","src":"35474:19:22"},{"nativeSrc":"35510:37:22","nodeType":"YulVariableDeclaration","src":"35510:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"35527:3:22","nodeType":"YulLiteral","src":"35527:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"35536:1:22","nodeType":"YulLiteral","src":"35536:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"35539:6:22","nodeType":"YulIdentifier","src":"35539:6:22"}],"functionName":{"name":"shl","nativeSrc":"35532:3:22","nodeType":"YulIdentifier","src":"35532:3:22"},"nativeSrc":"35532:14:22","nodeType":"YulFunctionCall","src":"35532:14:22"}],"functionName":{"name":"sub","nativeSrc":"35523:3:22","nodeType":"YulIdentifier","src":"35523:3:22"},"nativeSrc":"35523:24:22","nodeType":"YulFunctionCall","src":"35523:24:22"},"variables":[{"name":"shift","nativeSrc":"35514:5:22","nodeType":"YulTypedName","src":"35514:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"35575:3:22","nodeType":"YulIdentifier","src":"35575:3:22"},{"kind":"number","nativeSrc":"35580:4:22","nodeType":"YulLiteral","src":"35580:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"35571:3:22","nodeType":"YulIdentifier","src":"35571:3:22"},"nativeSrc":"35571:14:22","nodeType":"YulFunctionCall","src":"35571:14:22"},{"arguments":[{"name":"shift","nativeSrc":"35591:5:22","nodeType":"YulIdentifier","src":"35591:5:22"},{"arguments":[{"name":"shift","nativeSrc":"35602:5:22","nodeType":"YulIdentifier","src":"35602:5:22"},{"name":"w","nativeSrc":"35609:1:22","nodeType":"YulIdentifier","src":"35609:1:22"}],"functionName":{"name":"shr","nativeSrc":"35598:3:22","nodeType":"YulIdentifier","src":"35598:3:22"},"nativeSrc":"35598:13:22","nodeType":"YulFunctionCall","src":"35598:13:22"}],"functionName":{"name":"shl","nativeSrc":"35587:3:22","nodeType":"YulIdentifier","src":"35587:3:22"},"nativeSrc":"35587:25:22","nodeType":"YulFunctionCall","src":"35587:25:22"}],"functionName":{"name":"mstore","nativeSrc":"35564:6:22","nodeType":"YulIdentifier","src":"35564:6:22"},"nativeSrc":"35564:49:22","nodeType":"YulFunctionCall","src":"35564:49:22"},"nativeSrc":"35564:49:22","nodeType":"YulExpressionStatement","src":"35564:49:22"}]},"name":"writeString","nativeSrc":"35285:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"35306:3:22","nodeType":"YulTypedName","src":"35306:3:22","type":""},{"name":"w","nativeSrc":"35311:1:22","nodeType":"YulTypedName","src":"35311:1:22","type":""}],"src":"35285:342:22"},{"nativeSrc":"35640:17:22","nodeType":"YulAssignment","src":"35640:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35652:4:22","nodeType":"YulLiteral","src":"35652:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"35646:5:22","nodeType":"YulIdentifier","src":"35646:5:22"},"nativeSrc":"35646:11:22","nodeType":"YulFunctionCall","src":"35646:11:22"},"variableNames":[{"name":"m0","nativeSrc":"35640:2:22","nodeType":"YulIdentifier","src":"35640:2:22"}]},{"nativeSrc":"35670:17:22","nodeType":"YulAssignment","src":"35670:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35682:4:22","nodeType":"YulLiteral","src":"35682:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"35676:5:22","nodeType":"YulIdentifier","src":"35676:5:22"},"nativeSrc":"35676:11:22","nodeType":"YulFunctionCall","src":"35676:11:22"},"variableNames":[{"name":"m1","nativeSrc":"35670:2:22","nodeType":"YulIdentifier","src":"35670:2:22"}]},{"nativeSrc":"35700:17:22","nodeType":"YulAssignment","src":"35700:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35712:4:22","nodeType":"YulLiteral","src":"35712:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"35706:5:22","nodeType":"YulIdentifier","src":"35706:5:22"},"nativeSrc":"35706:11:22","nodeType":"YulFunctionCall","src":"35706:11:22"},"variableNames":[{"name":"m2","nativeSrc":"35700:2:22","nodeType":"YulIdentifier","src":"35700:2:22"}]},{"nativeSrc":"35730:17:22","nodeType":"YulAssignment","src":"35730:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35742:4:22","nodeType":"YulLiteral","src":"35742:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"35736:5:22","nodeType":"YulIdentifier","src":"35736:5:22"},"nativeSrc":"35736:11:22","nodeType":"YulFunctionCall","src":"35736:11:22"},"variableNames":[{"name":"m3","nativeSrc":"35730:2:22","nodeType":"YulIdentifier","src":"35730:2:22"}]},{"nativeSrc":"35760:17:22","nodeType":"YulAssignment","src":"35760:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35772:4:22","nodeType":"YulLiteral","src":"35772:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"35766:5:22","nodeType":"YulIdentifier","src":"35766:5:22"},"nativeSrc":"35766:11:22","nodeType":"YulFunctionCall","src":"35766:11:22"},"variableNames":[{"name":"m4","nativeSrc":"35760:2:22","nodeType":"YulIdentifier","src":"35760:2:22"}]},{"nativeSrc":"35790:17:22","nodeType":"YulAssignment","src":"35790:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35802:4:22","nodeType":"YulLiteral","src":"35802:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"35796:5:22","nodeType":"YulIdentifier","src":"35796:5:22"},"nativeSrc":"35796:11:22","nodeType":"YulFunctionCall","src":"35796:11:22"},"variableNames":[{"name":"m5","nativeSrc":"35790:2:22","nodeType":"YulIdentifier","src":"35790:2:22"}]},{"nativeSrc":"35820:17:22","nodeType":"YulAssignment","src":"35820:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35832:4:22","nodeType":"YulLiteral","src":"35832:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"35826:5:22","nodeType":"YulIdentifier","src":"35826:5:22"},"nativeSrc":"35826:11:22","nodeType":"YulFunctionCall","src":"35826:11:22"},"variableNames":[{"name":"m6","nativeSrc":"35820:2:22","nodeType":"YulIdentifier","src":"35820:2:22"}]},{"nativeSrc":"35850:17:22","nodeType":"YulAssignment","src":"35850:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"35862:4:22","nodeType":"YulLiteral","src":"35862:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"35856:5:22","nodeType":"YulIdentifier","src":"35856:5:22"},"nativeSrc":"35856:11:22","nodeType":"YulFunctionCall","src":"35856:11:22"},"variableNames":[{"name":"m7","nativeSrc":"35850:2:22","nodeType":"YulIdentifier","src":"35850:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35944:4:22","nodeType":"YulLiteral","src":"35944:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"35950:10:22","nodeType":"YulLiteral","src":"35950:10:22","type":"","value":"0xfb772265"}],"functionName":{"name":"mstore","nativeSrc":"35937:6:22","nodeType":"YulIdentifier","src":"35937:6:22"},"nativeSrc":"35937:24:22","nodeType":"YulFunctionCall","src":"35937:24:22"},"nativeSrc":"35937:24:22","nodeType":"YulExpressionStatement","src":"35937:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35981:4:22","nodeType":"YulLiteral","src":"35981:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"35987:2:22","nodeType":"YulIdentifier","src":"35987:2:22"}],"functionName":{"name":"mstore","nativeSrc":"35974:6:22","nodeType":"YulIdentifier","src":"35974:6:22"},"nativeSrc":"35974:16:22","nodeType":"YulFunctionCall","src":"35974:16:22"},"nativeSrc":"35974:16:22","nodeType":"YulExpressionStatement","src":"35974:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36010:4:22","nodeType":"YulLiteral","src":"36010:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"36016:4:22","nodeType":"YulLiteral","src":"36016:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"36003:6:22","nodeType":"YulIdentifier","src":"36003:6:22"},"nativeSrc":"36003:18:22","nodeType":"YulFunctionCall","src":"36003:18:22"},"nativeSrc":"36003:18:22","nodeType":"YulExpressionStatement","src":"36003:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36041:4:22","nodeType":"YulLiteral","src":"36041:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"36047:4:22","nodeType":"YulLiteral","src":"36047:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"36034:6:22","nodeType":"YulIdentifier","src":"36034:6:22"},"nativeSrc":"36034:18:22","nodeType":"YulFunctionCall","src":"36034:18:22"},"nativeSrc":"36034:18:22","nodeType":"YulExpressionStatement","src":"36034:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36077:4:22","nodeType":"YulLiteral","src":"36077:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"36083:2:22","nodeType":"YulIdentifier","src":"36083:2:22"}],"functionName":{"name":"writeString","nativeSrc":"36065:11:22","nodeType":"YulIdentifier","src":"36065:11:22"},"nativeSrc":"36065:21:22","nodeType":"YulFunctionCall","src":"36065:21:22"},"nativeSrc":"36065:21:22","nodeType":"YulExpressionStatement","src":"36065:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36111:4:22","nodeType":"YulLiteral","src":"36111:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"36117:2:22","nodeType":"YulIdentifier","src":"36117:2:22"}],"functionName":{"name":"writeString","nativeSrc":"36099:11:22","nodeType":"YulIdentifier","src":"36099:11:22"},"nativeSrc":"36099:21:22","nodeType":"YulFunctionCall","src":"36099:21:22"},"nativeSrc":"36099:21:22","nodeType":"YulExpressionStatement","src":"36099:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32522,"isOffset":false,"isSlot":false,"src":"35640:2:22","valueSize":1},{"declaration":32525,"isOffset":false,"isSlot":false,"src":"35670:2:22","valueSize":1},{"declaration":32528,"isOffset":false,"isSlot":false,"src":"35700:2:22","valueSize":1},{"declaration":32531,"isOffset":false,"isSlot":false,"src":"35730:2:22","valueSize":1},{"declaration":32534,"isOffset":false,"isSlot":false,"src":"35760:2:22","valueSize":1},{"declaration":32537,"isOffset":false,"isSlot":false,"src":"35790:2:22","valueSize":1},{"declaration":32540,"isOffset":false,"isSlot":false,"src":"35820:2:22","valueSize":1},{"declaration":32543,"isOffset":false,"isSlot":false,"src":"35850:2:22","valueSize":1},{"declaration":32514,"isOffset":false,"isSlot":false,"src":"35987:2:22","valueSize":1},{"declaration":32516,"isOffset":false,"isSlot":false,"src":"36083:2:22","valueSize":1},{"declaration":32518,"isOffset":false,"isSlot":false,"src":"36117:2:22","valueSize":1}],"id":32545,"nodeType":"InlineAssembly","src":"35262:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36155:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":32548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36161:4:22","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":32546,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"36139:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36139:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32550,"nodeType":"ExpressionStatement","src":"36139:27:22"},{"AST":{"nativeSrc":"36228:243:22","nodeType":"YulBlock","src":"36228:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"36249:4:22","nodeType":"YulLiteral","src":"36249:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"36255:2:22","nodeType":"YulIdentifier","src":"36255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36242:6:22","nodeType":"YulIdentifier","src":"36242:6:22"},"nativeSrc":"36242:16:22","nodeType":"YulFunctionCall","src":"36242:16:22"},"nativeSrc":"36242:16:22","nodeType":"YulExpressionStatement","src":"36242:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36278:4:22","nodeType":"YulLiteral","src":"36278:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"36284:2:22","nodeType":"YulIdentifier","src":"36284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36271:6:22","nodeType":"YulIdentifier","src":"36271:6:22"},"nativeSrc":"36271:16:22","nodeType":"YulFunctionCall","src":"36271:16:22"},"nativeSrc":"36271:16:22","nodeType":"YulExpressionStatement","src":"36271:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36307:4:22","nodeType":"YulLiteral","src":"36307:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"36313:2:22","nodeType":"YulIdentifier","src":"36313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36300:6:22","nodeType":"YulIdentifier","src":"36300:6:22"},"nativeSrc":"36300:16:22","nodeType":"YulFunctionCall","src":"36300:16:22"},"nativeSrc":"36300:16:22","nodeType":"YulExpressionStatement","src":"36300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36336:4:22","nodeType":"YulLiteral","src":"36336:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"36342:2:22","nodeType":"YulIdentifier","src":"36342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36329:6:22","nodeType":"YulIdentifier","src":"36329:6:22"},"nativeSrc":"36329:16:22","nodeType":"YulFunctionCall","src":"36329:16:22"},"nativeSrc":"36329:16:22","nodeType":"YulExpressionStatement","src":"36329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36365:4:22","nodeType":"YulLiteral","src":"36365:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"36371:2:22","nodeType":"YulIdentifier","src":"36371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36358:6:22","nodeType":"YulIdentifier","src":"36358:6:22"},"nativeSrc":"36358:16:22","nodeType":"YulFunctionCall","src":"36358:16:22"},"nativeSrc":"36358:16:22","nodeType":"YulExpressionStatement","src":"36358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36394:4:22","nodeType":"YulLiteral","src":"36394:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"36400:2:22","nodeType":"YulIdentifier","src":"36400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36387:6:22","nodeType":"YulIdentifier","src":"36387:6:22"},"nativeSrc":"36387:16:22","nodeType":"YulFunctionCall","src":"36387:16:22"},"nativeSrc":"36387:16:22","nodeType":"YulExpressionStatement","src":"36387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36423:4:22","nodeType":"YulLiteral","src":"36423:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"36429:2:22","nodeType":"YulIdentifier","src":"36429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36416:6:22","nodeType":"YulIdentifier","src":"36416:6:22"},"nativeSrc":"36416:16:22","nodeType":"YulFunctionCall","src":"36416:16:22"},"nativeSrc":"36416:16:22","nodeType":"YulExpressionStatement","src":"36416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36452:4:22","nodeType":"YulLiteral","src":"36452:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"36458:2:22","nodeType":"YulIdentifier","src":"36458:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36445:6:22","nodeType":"YulIdentifier","src":"36445:6:22"},"nativeSrc":"36445:16:22","nodeType":"YulFunctionCall","src":"36445:16:22"},"nativeSrc":"36445:16:22","nodeType":"YulExpressionStatement","src":"36445:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32522,"isOffset":false,"isSlot":false,"src":"36255:2:22","valueSize":1},{"declaration":32525,"isOffset":false,"isSlot":false,"src":"36284:2:22","valueSize":1},{"declaration":32528,"isOffset":false,"isSlot":false,"src":"36313:2:22","valueSize":1},{"declaration":32531,"isOffset":false,"isSlot":false,"src":"36342:2:22","valueSize":1},{"declaration":32534,"isOffset":false,"isSlot":false,"src":"36371:2:22","valueSize":1},{"declaration":32537,"isOffset":false,"isSlot":false,"src":"36400:2:22","valueSize":1},{"declaration":32540,"isOffset":false,"isSlot":false,"src":"36429:2:22","valueSize":1},{"declaration":32543,"isOffset":false,"isSlot":false,"src":"36458:2:22","valueSize":1}],"id":32551,"nodeType":"InlineAssembly","src":"36219:252:22"}]},"id":32553,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34995:3:22","nodeType":"FunctionDefinition","parameters":{"id":32519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32514,"mutability":"mutable","name":"p0","nameLocation":"35007:2:22","nodeType":"VariableDeclaration","scope":32553,"src":"34999:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32513,"name":"address","nodeType":"ElementaryTypeName","src":"34999:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32516,"mutability":"mutable","name":"p1","nameLocation":"35019:2:22","nodeType":"VariableDeclaration","scope":32553,"src":"35011:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35011:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32518,"mutability":"mutable","name":"p2","nameLocation":"35031:2:22","nodeType":"VariableDeclaration","scope":32553,"src":"35023:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35023:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34998:36:22"},"returnParameters":{"id":32520,"nodeType":"ParameterList","parameters":[],"src":"35049:0:22"},"scope":44426,"src":"34986:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32581,"nodeType":"Block","src":"36543:684:22","statements":[{"assignments":[32563],"declarations":[{"constant":false,"id":32563,"mutability":"mutable","name":"m0","nameLocation":"36561:2:22","nodeType":"VariableDeclaration","scope":32581,"src":"36553:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36553:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32564,"nodeType":"VariableDeclarationStatement","src":"36553:10:22"},{"assignments":[32566],"declarations":[{"constant":false,"id":32566,"mutability":"mutable","name":"m1","nameLocation":"36581:2:22","nodeType":"VariableDeclaration","scope":32581,"src":"36573:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36573:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32567,"nodeType":"VariableDeclarationStatement","src":"36573:10:22"},{"assignments":[32569],"declarations":[{"constant":false,"id":32569,"mutability":"mutable","name":"m2","nameLocation":"36601:2:22","nodeType":"VariableDeclaration","scope":32581,"src":"36593:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36593:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32570,"nodeType":"VariableDeclarationStatement","src":"36593:10:22"},{"assignments":[32572],"declarations":[{"constant":false,"id":32572,"mutability":"mutable","name":"m3","nameLocation":"36621:2:22","nodeType":"VariableDeclaration","scope":32581,"src":"36613:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36613:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32573,"nodeType":"VariableDeclarationStatement","src":"36613:10:22"},{"AST":{"nativeSrc":"36685:311:22","nodeType":"YulBlock","src":"36685:311:22","statements":[{"nativeSrc":"36699:17:22","nodeType":"YulAssignment","src":"36699:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"36711:4:22","nodeType":"YulLiteral","src":"36711:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"36705:5:22","nodeType":"YulIdentifier","src":"36705:5:22"},"nativeSrc":"36705:11:22","nodeType":"YulFunctionCall","src":"36705:11:22"},"variableNames":[{"name":"m0","nativeSrc":"36699:2:22","nodeType":"YulIdentifier","src":"36699:2:22"}]},{"nativeSrc":"36729:17:22","nodeType":"YulAssignment","src":"36729:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"36741:4:22","nodeType":"YulLiteral","src":"36741:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"36735:5:22","nodeType":"YulIdentifier","src":"36735:5:22"},"nativeSrc":"36735:11:22","nodeType":"YulFunctionCall","src":"36735:11:22"},"variableNames":[{"name":"m1","nativeSrc":"36729:2:22","nodeType":"YulIdentifier","src":"36729:2:22"}]},{"nativeSrc":"36759:17:22","nodeType":"YulAssignment","src":"36759:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"36771:4:22","nodeType":"YulLiteral","src":"36771:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"36765:5:22","nodeType":"YulIdentifier","src":"36765:5:22"},"nativeSrc":"36765:11:22","nodeType":"YulFunctionCall","src":"36765:11:22"},"variableNames":[{"name":"m2","nativeSrc":"36759:2:22","nodeType":"YulIdentifier","src":"36759:2:22"}]},{"nativeSrc":"36789:17:22","nodeType":"YulAssignment","src":"36789:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"36801:4:22","nodeType":"YulLiteral","src":"36801:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"36795:5:22","nodeType":"YulIdentifier","src":"36795:5:22"},"nativeSrc":"36795:11:22","nodeType":"YulFunctionCall","src":"36795:11:22"},"variableNames":[{"name":"m3","nativeSrc":"36789:2:22","nodeType":"YulIdentifier","src":"36789:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36882:4:22","nodeType":"YulLiteral","src":"36882:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"36888:10:22","nodeType":"YulLiteral","src":"36888:10:22","type":"","value":"0xd2763667"}],"functionName":{"name":"mstore","nativeSrc":"36875:6:22","nodeType":"YulIdentifier","src":"36875:6:22"},"nativeSrc":"36875:24:22","nodeType":"YulFunctionCall","src":"36875:24:22"},"nativeSrc":"36875:24:22","nodeType":"YulExpressionStatement","src":"36875:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36919:4:22","nodeType":"YulLiteral","src":"36919:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"36925:2:22","nodeType":"YulIdentifier","src":"36925:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36912:6:22","nodeType":"YulIdentifier","src":"36912:6:22"},"nativeSrc":"36912:16:22","nodeType":"YulFunctionCall","src":"36912:16:22"},"nativeSrc":"36912:16:22","nodeType":"YulExpressionStatement","src":"36912:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36948:4:22","nodeType":"YulLiteral","src":"36948:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"36954:2:22","nodeType":"YulIdentifier","src":"36954:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36941:6:22","nodeType":"YulIdentifier","src":"36941:6:22"},"nativeSrc":"36941:16:22","nodeType":"YulFunctionCall","src":"36941:16:22"},"nativeSrc":"36941:16:22","nodeType":"YulExpressionStatement","src":"36941:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36977:4:22","nodeType":"YulLiteral","src":"36977:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"36983:2:22","nodeType":"YulIdentifier","src":"36983:2:22"}],"functionName":{"name":"mstore","nativeSrc":"36970:6:22","nodeType":"YulIdentifier","src":"36970:6:22"},"nativeSrc":"36970:16:22","nodeType":"YulFunctionCall","src":"36970:16:22"},"nativeSrc":"36970:16:22","nodeType":"YulExpressionStatement","src":"36970:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32563,"isOffset":false,"isSlot":false,"src":"36699:2:22","valueSize":1},{"declaration":32566,"isOffset":false,"isSlot":false,"src":"36729:2:22","valueSize":1},{"declaration":32569,"isOffset":false,"isSlot":false,"src":"36759:2:22","valueSize":1},{"declaration":32572,"isOffset":false,"isSlot":false,"src":"36789:2:22","valueSize":1},{"declaration":32555,"isOffset":false,"isSlot":false,"src":"36925:2:22","valueSize":1},{"declaration":32557,"isOffset":false,"isSlot":false,"src":"36954:2:22","valueSize":1},{"declaration":32559,"isOffset":false,"isSlot":false,"src":"36983:2:22","valueSize":1}],"id":32574,"nodeType":"InlineAssembly","src":"36676:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37021:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37027:4:22","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":32575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"37005:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37005:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32579,"nodeType":"ExpressionStatement","src":"37005:27:22"},{"AST":{"nativeSrc":"37094:127:22","nodeType":"YulBlock","src":"37094:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37115:4:22","nodeType":"YulLiteral","src":"37115:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37121:2:22","nodeType":"YulIdentifier","src":"37121:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37108:6:22","nodeType":"YulIdentifier","src":"37108:6:22"},"nativeSrc":"37108:16:22","nodeType":"YulFunctionCall","src":"37108:16:22"},"nativeSrc":"37108:16:22","nodeType":"YulExpressionStatement","src":"37108:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37144:4:22","nodeType":"YulLiteral","src":"37144:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37150:2:22","nodeType":"YulIdentifier","src":"37150:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37137:6:22","nodeType":"YulIdentifier","src":"37137:6:22"},"nativeSrc":"37137:16:22","nodeType":"YulFunctionCall","src":"37137:16:22"},"nativeSrc":"37137:16:22","nodeType":"YulExpressionStatement","src":"37137:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37173:4:22","nodeType":"YulLiteral","src":"37173:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37179:2:22","nodeType":"YulIdentifier","src":"37179:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37166:6:22","nodeType":"YulIdentifier","src":"37166:6:22"},"nativeSrc":"37166:16:22","nodeType":"YulFunctionCall","src":"37166:16:22"},"nativeSrc":"37166:16:22","nodeType":"YulExpressionStatement","src":"37166:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37202:4:22","nodeType":"YulLiteral","src":"37202:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37208:2:22","nodeType":"YulIdentifier","src":"37208:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37195:6:22","nodeType":"YulIdentifier","src":"37195:6:22"},"nativeSrc":"37195:16:22","nodeType":"YulFunctionCall","src":"37195:16:22"},"nativeSrc":"37195:16:22","nodeType":"YulExpressionStatement","src":"37195:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32563,"isOffset":false,"isSlot":false,"src":"37121:2:22","valueSize":1},{"declaration":32566,"isOffset":false,"isSlot":false,"src":"37150:2:22","valueSize":1},{"declaration":32569,"isOffset":false,"isSlot":false,"src":"37179:2:22","valueSize":1},{"declaration":32572,"isOffset":false,"isSlot":false,"src":"37208:2:22","valueSize":1}],"id":32580,"nodeType":"InlineAssembly","src":"37085:136:22"}]},"id":32582,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36492:3:22","nodeType":"FunctionDefinition","parameters":{"id":32560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32555,"mutability":"mutable","name":"p0","nameLocation":"36501:2:22","nodeType":"VariableDeclaration","scope":32582,"src":"36496:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32554,"name":"bool","nodeType":"ElementaryTypeName","src":"36496:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32557,"mutability":"mutable","name":"p1","nameLocation":"36513:2:22","nodeType":"VariableDeclaration","scope":32582,"src":"36505:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32556,"name":"address","nodeType":"ElementaryTypeName","src":"36505:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32559,"mutability":"mutable","name":"p2","nameLocation":"36525:2:22","nodeType":"VariableDeclaration","scope":32582,"src":"36517:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32558,"name":"address","nodeType":"ElementaryTypeName","src":"36517:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36495:33:22"},"returnParameters":{"id":32561,"nodeType":"ParameterList","parameters":[],"src":"36543:0:22"},"scope":44426,"src":"36483:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32610,"nodeType":"Block","src":"37290:681:22","statements":[{"assignments":[32592],"declarations":[{"constant":false,"id":32592,"mutability":"mutable","name":"m0","nameLocation":"37308:2:22","nodeType":"VariableDeclaration","scope":32610,"src":"37300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32593,"nodeType":"VariableDeclarationStatement","src":"37300:10:22"},{"assignments":[32595],"declarations":[{"constant":false,"id":32595,"mutability":"mutable","name":"m1","nameLocation":"37328:2:22","nodeType":"VariableDeclaration","scope":32610,"src":"37320:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37320:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32596,"nodeType":"VariableDeclarationStatement","src":"37320:10:22"},{"assignments":[32598],"declarations":[{"constant":false,"id":32598,"mutability":"mutable","name":"m2","nameLocation":"37348:2:22","nodeType":"VariableDeclaration","scope":32610,"src":"37340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32599,"nodeType":"VariableDeclarationStatement","src":"37340:10:22"},{"assignments":[32601],"declarations":[{"constant":false,"id":32601,"mutability":"mutable","name":"m3","nameLocation":"37368:2:22","nodeType":"VariableDeclaration","scope":32610,"src":"37360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37360:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32602,"nodeType":"VariableDeclarationStatement","src":"37360:10:22"},{"AST":{"nativeSrc":"37432:308:22","nodeType":"YulBlock","src":"37432:308:22","statements":[{"nativeSrc":"37446:17:22","nodeType":"YulAssignment","src":"37446:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"37458:4:22","nodeType":"YulLiteral","src":"37458:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"37452:5:22","nodeType":"YulIdentifier","src":"37452:5:22"},"nativeSrc":"37452:11:22","nodeType":"YulFunctionCall","src":"37452:11:22"},"variableNames":[{"name":"m0","nativeSrc":"37446:2:22","nodeType":"YulIdentifier","src":"37446:2:22"}]},{"nativeSrc":"37476:17:22","nodeType":"YulAssignment","src":"37476:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"37488:4:22","nodeType":"YulLiteral","src":"37488:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"37482:5:22","nodeType":"YulIdentifier","src":"37482:5:22"},"nativeSrc":"37482:11:22","nodeType":"YulFunctionCall","src":"37482:11:22"},"variableNames":[{"name":"m1","nativeSrc":"37476:2:22","nodeType":"YulIdentifier","src":"37476:2:22"}]},{"nativeSrc":"37506:17:22","nodeType":"YulAssignment","src":"37506:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"37518:4:22","nodeType":"YulLiteral","src":"37518:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"37512:5:22","nodeType":"YulIdentifier","src":"37512:5:22"},"nativeSrc":"37512:11:22","nodeType":"YulFunctionCall","src":"37512:11:22"},"variableNames":[{"name":"m2","nativeSrc":"37506:2:22","nodeType":"YulIdentifier","src":"37506:2:22"}]},{"nativeSrc":"37536:17:22","nodeType":"YulAssignment","src":"37536:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"37548:4:22","nodeType":"YulLiteral","src":"37548:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"37542:5:22","nodeType":"YulIdentifier","src":"37542:5:22"},"nativeSrc":"37542:11:22","nodeType":"YulFunctionCall","src":"37542:11:22"},"variableNames":[{"name":"m3","nativeSrc":"37536:2:22","nodeType":"YulIdentifier","src":"37536:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37626:4:22","nodeType":"YulLiteral","src":"37626:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"37632:10:22","nodeType":"YulLiteral","src":"37632:10:22","type":"","value":"0x18c9c746"}],"functionName":{"name":"mstore","nativeSrc":"37619:6:22","nodeType":"YulIdentifier","src":"37619:6:22"},"nativeSrc":"37619:24:22","nodeType":"YulFunctionCall","src":"37619:24:22"},"nativeSrc":"37619:24:22","nodeType":"YulExpressionStatement","src":"37619:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37663:4:22","nodeType":"YulLiteral","src":"37663:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"37669:2:22","nodeType":"YulIdentifier","src":"37669:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37656:6:22","nodeType":"YulIdentifier","src":"37656:6:22"},"nativeSrc":"37656:16:22","nodeType":"YulFunctionCall","src":"37656:16:22"},"nativeSrc":"37656:16:22","nodeType":"YulExpressionStatement","src":"37656:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37692:4:22","nodeType":"YulLiteral","src":"37692:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"37698:2:22","nodeType":"YulIdentifier","src":"37698:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37685:6:22","nodeType":"YulIdentifier","src":"37685:6:22"},"nativeSrc":"37685:16:22","nodeType":"YulFunctionCall","src":"37685:16:22"},"nativeSrc":"37685:16:22","nodeType":"YulExpressionStatement","src":"37685:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37721:4:22","nodeType":"YulLiteral","src":"37721:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"37727:2:22","nodeType":"YulIdentifier","src":"37727:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37714:6:22","nodeType":"YulIdentifier","src":"37714:6:22"},"nativeSrc":"37714:16:22","nodeType":"YulFunctionCall","src":"37714:16:22"},"nativeSrc":"37714:16:22","nodeType":"YulExpressionStatement","src":"37714:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32592,"isOffset":false,"isSlot":false,"src":"37446:2:22","valueSize":1},{"declaration":32595,"isOffset":false,"isSlot":false,"src":"37476:2:22","valueSize":1},{"declaration":32598,"isOffset":false,"isSlot":false,"src":"37506:2:22","valueSize":1},{"declaration":32601,"isOffset":false,"isSlot":false,"src":"37536:2:22","valueSize":1},{"declaration":32584,"isOffset":false,"isSlot":false,"src":"37669:2:22","valueSize":1},{"declaration":32586,"isOffset":false,"isSlot":false,"src":"37698:2:22","valueSize":1},{"declaration":32588,"isOffset":false,"isSlot":false,"src":"37727:2:22","valueSize":1}],"id":32603,"nodeType":"InlineAssembly","src":"37423:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37765:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37771:4:22","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":32604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"37749:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37749:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32608,"nodeType":"ExpressionStatement","src":"37749:27:22"},{"AST":{"nativeSrc":"37838:127:22","nodeType":"YulBlock","src":"37838:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37859:4:22","nodeType":"YulLiteral","src":"37859:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37865:2:22","nodeType":"YulIdentifier","src":"37865:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37852:6:22","nodeType":"YulIdentifier","src":"37852:6:22"},"nativeSrc":"37852:16:22","nodeType":"YulFunctionCall","src":"37852:16:22"},"nativeSrc":"37852:16:22","nodeType":"YulExpressionStatement","src":"37852:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37888:4:22","nodeType":"YulLiteral","src":"37888:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37894:2:22","nodeType":"YulIdentifier","src":"37894:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37881:6:22","nodeType":"YulIdentifier","src":"37881:6:22"},"nativeSrc":"37881:16:22","nodeType":"YulFunctionCall","src":"37881:16:22"},"nativeSrc":"37881:16:22","nodeType":"YulExpressionStatement","src":"37881:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37917:4:22","nodeType":"YulLiteral","src":"37917:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37923:2:22","nodeType":"YulIdentifier","src":"37923:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37910:6:22","nodeType":"YulIdentifier","src":"37910:6:22"},"nativeSrc":"37910:16:22","nodeType":"YulFunctionCall","src":"37910:16:22"},"nativeSrc":"37910:16:22","nodeType":"YulExpressionStatement","src":"37910:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37946:4:22","nodeType":"YulLiteral","src":"37946:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37952:2:22","nodeType":"YulIdentifier","src":"37952:2:22"}],"functionName":{"name":"mstore","nativeSrc":"37939:6:22","nodeType":"YulIdentifier","src":"37939:6:22"},"nativeSrc":"37939:16:22","nodeType":"YulFunctionCall","src":"37939:16:22"},"nativeSrc":"37939:16:22","nodeType":"YulExpressionStatement","src":"37939:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32592,"isOffset":false,"isSlot":false,"src":"37865:2:22","valueSize":1},{"declaration":32595,"isOffset":false,"isSlot":false,"src":"37894:2:22","valueSize":1},{"declaration":32598,"isOffset":false,"isSlot":false,"src":"37923:2:22","valueSize":1},{"declaration":32601,"isOffset":false,"isSlot":false,"src":"37952:2:22","valueSize":1}],"id":32609,"nodeType":"InlineAssembly","src":"37829:136:22"}]},"id":32611,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37242:3:22","nodeType":"FunctionDefinition","parameters":{"id":32589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32584,"mutability":"mutable","name":"p0","nameLocation":"37251:2:22","nodeType":"VariableDeclaration","scope":32611,"src":"37246:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32583,"name":"bool","nodeType":"ElementaryTypeName","src":"37246:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32586,"mutability":"mutable","name":"p1","nameLocation":"37263:2:22","nodeType":"VariableDeclaration","scope":32611,"src":"37255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32585,"name":"address","nodeType":"ElementaryTypeName","src":"37255:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32588,"mutability":"mutable","name":"p2","nameLocation":"37272:2:22","nodeType":"VariableDeclaration","scope":32611,"src":"37267:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32587,"name":"bool","nodeType":"ElementaryTypeName","src":"37267:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37245:30:22"},"returnParameters":{"id":32590,"nodeType":"ParameterList","parameters":[],"src":"37290:0:22"},"scope":44426,"src":"37233:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32639,"nodeType":"Block","src":"38037:684:22","statements":[{"assignments":[32621],"declarations":[{"constant":false,"id":32621,"mutability":"mutable","name":"m0","nameLocation":"38055:2:22","nodeType":"VariableDeclaration","scope":32639,"src":"38047:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38047:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32622,"nodeType":"VariableDeclarationStatement","src":"38047:10:22"},{"assignments":[32624],"declarations":[{"constant":false,"id":32624,"mutability":"mutable","name":"m1","nameLocation":"38075:2:22","nodeType":"VariableDeclaration","scope":32639,"src":"38067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32625,"nodeType":"VariableDeclarationStatement","src":"38067:10:22"},{"assignments":[32627],"declarations":[{"constant":false,"id":32627,"mutability":"mutable","name":"m2","nameLocation":"38095:2:22","nodeType":"VariableDeclaration","scope":32639,"src":"38087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32628,"nodeType":"VariableDeclarationStatement","src":"38087:10:22"},{"assignments":[32630],"declarations":[{"constant":false,"id":32630,"mutability":"mutable","name":"m3","nameLocation":"38115:2:22","nodeType":"VariableDeclaration","scope":32639,"src":"38107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32631,"nodeType":"VariableDeclarationStatement","src":"38107:10:22"},{"AST":{"nativeSrc":"38179:311:22","nodeType":"YulBlock","src":"38179:311:22","statements":[{"nativeSrc":"38193:17:22","nodeType":"YulAssignment","src":"38193:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"38205:4:22","nodeType":"YulLiteral","src":"38205:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"38199:5:22","nodeType":"YulIdentifier","src":"38199:5:22"},"nativeSrc":"38199:11:22","nodeType":"YulFunctionCall","src":"38199:11:22"},"variableNames":[{"name":"m0","nativeSrc":"38193:2:22","nodeType":"YulIdentifier","src":"38193:2:22"}]},{"nativeSrc":"38223:17:22","nodeType":"YulAssignment","src":"38223:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"38235:4:22","nodeType":"YulLiteral","src":"38235:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"38229:5:22","nodeType":"YulIdentifier","src":"38229:5:22"},"nativeSrc":"38229:11:22","nodeType":"YulFunctionCall","src":"38229:11:22"},"variableNames":[{"name":"m1","nativeSrc":"38223:2:22","nodeType":"YulIdentifier","src":"38223:2:22"}]},{"nativeSrc":"38253:17:22","nodeType":"YulAssignment","src":"38253:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"38265:4:22","nodeType":"YulLiteral","src":"38265:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"38259:5:22","nodeType":"YulIdentifier","src":"38259:5:22"},"nativeSrc":"38259:11:22","nodeType":"YulFunctionCall","src":"38259:11:22"},"variableNames":[{"name":"m2","nativeSrc":"38253:2:22","nodeType":"YulIdentifier","src":"38253:2:22"}]},{"nativeSrc":"38283:17:22","nodeType":"YulAssignment","src":"38283:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"38295:4:22","nodeType":"YulLiteral","src":"38295:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"38289:5:22","nodeType":"YulIdentifier","src":"38289:5:22"},"nativeSrc":"38289:11:22","nodeType":"YulFunctionCall","src":"38289:11:22"},"variableNames":[{"name":"m3","nativeSrc":"38283:2:22","nodeType":"YulIdentifier","src":"38283:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38376:4:22","nodeType":"YulLiteral","src":"38376:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"38382:10:22","nodeType":"YulLiteral","src":"38382:10:22","type":"","value":"0x5f7b9afb"}],"functionName":{"name":"mstore","nativeSrc":"38369:6:22","nodeType":"YulIdentifier","src":"38369:6:22"},"nativeSrc":"38369:24:22","nodeType":"YulFunctionCall","src":"38369:24:22"},"nativeSrc":"38369:24:22","nodeType":"YulExpressionStatement","src":"38369:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38413:4:22","nodeType":"YulLiteral","src":"38413:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"38419:2:22","nodeType":"YulIdentifier","src":"38419:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38406:6:22","nodeType":"YulIdentifier","src":"38406:6:22"},"nativeSrc":"38406:16:22","nodeType":"YulFunctionCall","src":"38406:16:22"},"nativeSrc":"38406:16:22","nodeType":"YulExpressionStatement","src":"38406:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38442:4:22","nodeType":"YulLiteral","src":"38442:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"38448:2:22","nodeType":"YulIdentifier","src":"38448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38435:6:22","nodeType":"YulIdentifier","src":"38435:6:22"},"nativeSrc":"38435:16:22","nodeType":"YulFunctionCall","src":"38435:16:22"},"nativeSrc":"38435:16:22","nodeType":"YulExpressionStatement","src":"38435:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38471:4:22","nodeType":"YulLiteral","src":"38471:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"38477:2:22","nodeType":"YulIdentifier","src":"38477:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38464:6:22","nodeType":"YulIdentifier","src":"38464:6:22"},"nativeSrc":"38464:16:22","nodeType":"YulFunctionCall","src":"38464:16:22"},"nativeSrc":"38464:16:22","nodeType":"YulExpressionStatement","src":"38464:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32621,"isOffset":false,"isSlot":false,"src":"38193:2:22","valueSize":1},{"declaration":32624,"isOffset":false,"isSlot":false,"src":"38223:2:22","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"38253:2:22","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"38283:2:22","valueSize":1},{"declaration":32613,"isOffset":false,"isSlot":false,"src":"38419:2:22","valueSize":1},{"declaration":32615,"isOffset":false,"isSlot":false,"src":"38448:2:22","valueSize":1},{"declaration":32617,"isOffset":false,"isSlot":false,"src":"38477:2:22","valueSize":1}],"id":32632,"nodeType":"InlineAssembly","src":"38170:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38515:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38521:4:22","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":32633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"38499:15:22","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":"38499:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32637,"nodeType":"ExpressionStatement","src":"38499:27:22"},{"AST":{"nativeSrc":"38588:127:22","nodeType":"YulBlock","src":"38588:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"38609:4:22","nodeType":"YulLiteral","src":"38609:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"38615:2:22","nodeType":"YulIdentifier","src":"38615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38602:6:22","nodeType":"YulIdentifier","src":"38602:6:22"},"nativeSrc":"38602:16:22","nodeType":"YulFunctionCall","src":"38602:16:22"},"nativeSrc":"38602:16:22","nodeType":"YulExpressionStatement","src":"38602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38638:4:22","nodeType":"YulLiteral","src":"38638:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"38644:2:22","nodeType":"YulIdentifier","src":"38644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38631:6:22","nodeType":"YulIdentifier","src":"38631:6:22"},"nativeSrc":"38631:16:22","nodeType":"YulFunctionCall","src":"38631:16:22"},"nativeSrc":"38631:16:22","nodeType":"YulExpressionStatement","src":"38631:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38667:4:22","nodeType":"YulLiteral","src":"38667:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"38673:2:22","nodeType":"YulIdentifier","src":"38673:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38660:6:22","nodeType":"YulIdentifier","src":"38660:6:22"},"nativeSrc":"38660:16:22","nodeType":"YulFunctionCall","src":"38660:16:22"},"nativeSrc":"38660:16:22","nodeType":"YulExpressionStatement","src":"38660:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38696:4:22","nodeType":"YulLiteral","src":"38696:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"38702:2:22","nodeType":"YulIdentifier","src":"38702:2:22"}],"functionName":{"name":"mstore","nativeSrc":"38689:6:22","nodeType":"YulIdentifier","src":"38689:6:22"},"nativeSrc":"38689:16:22","nodeType":"YulFunctionCall","src":"38689:16:22"},"nativeSrc":"38689:16:22","nodeType":"YulExpressionStatement","src":"38689:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32621,"isOffset":false,"isSlot":false,"src":"38615:2:22","valueSize":1},{"declaration":32624,"isOffset":false,"isSlot":false,"src":"38644:2:22","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"38673:2:22","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"38702:2:22","valueSize":1}],"id":32638,"nodeType":"InlineAssembly","src":"38579:136:22"}]},"id":32640,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37986:3:22","nodeType":"FunctionDefinition","parameters":{"id":32618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32613,"mutability":"mutable","name":"p0","nameLocation":"37995:2:22","nodeType":"VariableDeclaration","scope":32640,"src":"37990:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32612,"name":"bool","nodeType":"ElementaryTypeName","src":"37990:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32615,"mutability":"mutable","name":"p1","nameLocation":"38007:2:22","nodeType":"VariableDeclaration","scope":32640,"src":"37999:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32614,"name":"address","nodeType":"ElementaryTypeName","src":"37999:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32617,"mutability":"mutable","name":"p2","nameLocation":"38019:2:22","nodeType":"VariableDeclaration","scope":32640,"src":"38011:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32616,"name":"uint256","nodeType":"ElementaryTypeName","src":"38011:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37989:33:22"},"returnParameters":{"id":32619,"nodeType":"ParameterList","parameters":[],"src":"38037:0:22"},"scope":44426,"src":"37977:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32674,"nodeType":"Block","src":"38787:1232:22","statements":[{"assignments":[32650],"declarations":[{"constant":false,"id":32650,"mutability":"mutable","name":"m0","nameLocation":"38805:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38797:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38797:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32651,"nodeType":"VariableDeclarationStatement","src":"38797:10:22"},{"assignments":[32653],"declarations":[{"constant":false,"id":32653,"mutability":"mutable","name":"m1","nameLocation":"38825:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38817:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38817:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32654,"nodeType":"VariableDeclarationStatement","src":"38817:10:22"},{"assignments":[32656],"declarations":[{"constant":false,"id":32656,"mutability":"mutable","name":"m2","nameLocation":"38845:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38837:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38837:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32657,"nodeType":"VariableDeclarationStatement","src":"38837:10:22"},{"assignments":[32659],"declarations":[{"constant":false,"id":32659,"mutability":"mutable","name":"m3","nameLocation":"38865:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38857:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38857:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32660,"nodeType":"VariableDeclarationStatement","src":"38857:10:22"},{"assignments":[32662],"declarations":[{"constant":false,"id":32662,"mutability":"mutable","name":"m4","nameLocation":"38885:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38877:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38877:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32663,"nodeType":"VariableDeclarationStatement","src":"38877:10:22"},{"assignments":[32665],"declarations":[{"constant":false,"id":32665,"mutability":"mutable","name":"m5","nameLocation":"38905:2:22","nodeType":"VariableDeclaration","scope":32674,"src":"38897:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38897:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32666,"nodeType":"VariableDeclarationStatement","src":"38897:10:22"},{"AST":{"nativeSrc":"38969:761:22","nodeType":"YulBlock","src":"38969:761:22","statements":[{"body":{"nativeSrc":"39012:313:22","nodeType":"YulBlock","src":"39012:313:22","statements":[{"nativeSrc":"39030:15:22","nodeType":"YulVariableDeclaration","src":"39030:15:22","value":{"kind":"number","nativeSrc":"39044:1:22","nodeType":"YulLiteral","src":"39044:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"39034:6:22","nodeType":"YulTypedName","src":"39034:6:22","type":""}]},{"body":{"nativeSrc":"39115:40:22","nodeType":"YulBlock","src":"39115:40:22","statements":[{"body":{"nativeSrc":"39144:9:22","nodeType":"YulBlock","src":"39144:9:22","statements":[{"nativeSrc":"39146:5:22","nodeType":"YulBreak","src":"39146:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"39132:6:22","nodeType":"YulIdentifier","src":"39132:6:22"},{"name":"w","nativeSrc":"39140:1:22","nodeType":"YulIdentifier","src":"39140:1:22"}],"functionName":{"name":"byte","nativeSrc":"39127:4:22","nodeType":"YulIdentifier","src":"39127:4:22"},"nativeSrc":"39127:15:22","nodeType":"YulFunctionCall","src":"39127:15:22"}],"functionName":{"name":"iszero","nativeSrc":"39120:6:22","nodeType":"YulIdentifier","src":"39120:6:22"},"nativeSrc":"39120:23:22","nodeType":"YulFunctionCall","src":"39120:23:22"},"nativeSrc":"39117:36:22","nodeType":"YulIf","src":"39117:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"39072:6:22","nodeType":"YulIdentifier","src":"39072:6:22"},{"kind":"number","nativeSrc":"39080:4:22","nodeType":"YulLiteral","src":"39080:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"39069:2:22","nodeType":"YulIdentifier","src":"39069:2:22"},"nativeSrc":"39069:16:22","nodeType":"YulFunctionCall","src":"39069:16:22"},"nativeSrc":"39062:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"39086:28:22","nodeType":"YulBlock","src":"39086:28:22","statements":[{"nativeSrc":"39088:24:22","nodeType":"YulAssignment","src":"39088:24:22","value":{"arguments":[{"name":"length","nativeSrc":"39102:6:22","nodeType":"YulIdentifier","src":"39102:6:22"},{"kind":"number","nativeSrc":"39110:1:22","nodeType":"YulLiteral","src":"39110:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"39098:3:22","nodeType":"YulIdentifier","src":"39098:3:22"},"nativeSrc":"39098:14:22","nodeType":"YulFunctionCall","src":"39098:14:22"},"variableNames":[{"name":"length","nativeSrc":"39088:6:22","nodeType":"YulIdentifier","src":"39088:6:22"}]}]},"pre":{"nativeSrc":"39066:2:22","nodeType":"YulBlock","src":"39066:2:22","statements":[]},"src":"39062:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"39179:3:22","nodeType":"YulIdentifier","src":"39179:3:22"},{"name":"length","nativeSrc":"39184:6:22","nodeType":"YulIdentifier","src":"39184:6:22"}],"functionName":{"name":"mstore","nativeSrc":"39172:6:22","nodeType":"YulIdentifier","src":"39172:6:22"},"nativeSrc":"39172:19:22","nodeType":"YulFunctionCall","src":"39172:19:22"},"nativeSrc":"39172:19:22","nodeType":"YulExpressionStatement","src":"39172:19:22"},{"nativeSrc":"39208:37:22","nodeType":"YulVariableDeclaration","src":"39208:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"39225:3:22","nodeType":"YulLiteral","src":"39225:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"39234:1:22","nodeType":"YulLiteral","src":"39234:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"39237:6:22","nodeType":"YulIdentifier","src":"39237:6:22"}],"functionName":{"name":"shl","nativeSrc":"39230:3:22","nodeType":"YulIdentifier","src":"39230:3:22"},"nativeSrc":"39230:14:22","nodeType":"YulFunctionCall","src":"39230:14:22"}],"functionName":{"name":"sub","nativeSrc":"39221:3:22","nodeType":"YulIdentifier","src":"39221:3:22"},"nativeSrc":"39221:24:22","nodeType":"YulFunctionCall","src":"39221:24:22"},"variables":[{"name":"shift","nativeSrc":"39212:5:22","nodeType":"YulTypedName","src":"39212:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"39273:3:22","nodeType":"YulIdentifier","src":"39273:3:22"},{"kind":"number","nativeSrc":"39278:4:22","nodeType":"YulLiteral","src":"39278:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39269:3:22","nodeType":"YulIdentifier","src":"39269:3:22"},"nativeSrc":"39269:14:22","nodeType":"YulFunctionCall","src":"39269:14:22"},{"arguments":[{"name":"shift","nativeSrc":"39289:5:22","nodeType":"YulIdentifier","src":"39289:5:22"},{"arguments":[{"name":"shift","nativeSrc":"39300:5:22","nodeType":"YulIdentifier","src":"39300:5:22"},{"name":"w","nativeSrc":"39307:1:22","nodeType":"YulIdentifier","src":"39307:1:22"}],"functionName":{"name":"shr","nativeSrc":"39296:3:22","nodeType":"YulIdentifier","src":"39296:3:22"},"nativeSrc":"39296:13:22","nodeType":"YulFunctionCall","src":"39296:13:22"}],"functionName":{"name":"shl","nativeSrc":"39285:3:22","nodeType":"YulIdentifier","src":"39285:3:22"},"nativeSrc":"39285:25:22","nodeType":"YulFunctionCall","src":"39285:25:22"}],"functionName":{"name":"mstore","nativeSrc":"39262:6:22","nodeType":"YulIdentifier","src":"39262:6:22"},"nativeSrc":"39262:49:22","nodeType":"YulFunctionCall","src":"39262:49:22"},"nativeSrc":"39262:49:22","nodeType":"YulExpressionStatement","src":"39262:49:22"}]},"name":"writeString","nativeSrc":"38983:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"39004:3:22","nodeType":"YulTypedName","src":"39004:3:22","type":""},{"name":"w","nativeSrc":"39009:1:22","nodeType":"YulTypedName","src":"39009:1:22","type":""}],"src":"38983:342:22"},{"nativeSrc":"39338:17:22","nodeType":"YulAssignment","src":"39338:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39350:4:22","nodeType":"YulLiteral","src":"39350:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"39344:5:22","nodeType":"YulIdentifier","src":"39344:5:22"},"nativeSrc":"39344:11:22","nodeType":"YulFunctionCall","src":"39344:11:22"},"variableNames":[{"name":"m0","nativeSrc":"39338:2:22","nodeType":"YulIdentifier","src":"39338:2:22"}]},{"nativeSrc":"39368:17:22","nodeType":"YulAssignment","src":"39368:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39380:4:22","nodeType":"YulLiteral","src":"39380:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"39374:5:22","nodeType":"YulIdentifier","src":"39374:5:22"},"nativeSrc":"39374:11:22","nodeType":"YulFunctionCall","src":"39374:11:22"},"variableNames":[{"name":"m1","nativeSrc":"39368:2:22","nodeType":"YulIdentifier","src":"39368:2:22"}]},{"nativeSrc":"39398:17:22","nodeType":"YulAssignment","src":"39398:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39410:4:22","nodeType":"YulLiteral","src":"39410:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"39404:5:22","nodeType":"YulIdentifier","src":"39404:5:22"},"nativeSrc":"39404:11:22","nodeType":"YulFunctionCall","src":"39404:11:22"},"variableNames":[{"name":"m2","nativeSrc":"39398:2:22","nodeType":"YulIdentifier","src":"39398:2:22"}]},{"nativeSrc":"39428:17:22","nodeType":"YulAssignment","src":"39428:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39440:4:22","nodeType":"YulLiteral","src":"39440:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"39434:5:22","nodeType":"YulIdentifier","src":"39434:5:22"},"nativeSrc":"39434:11:22","nodeType":"YulFunctionCall","src":"39434:11:22"},"variableNames":[{"name":"m3","nativeSrc":"39428:2:22","nodeType":"YulIdentifier","src":"39428:2:22"}]},{"nativeSrc":"39458:17:22","nodeType":"YulAssignment","src":"39458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39470:4:22","nodeType":"YulLiteral","src":"39470:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"39464:5:22","nodeType":"YulIdentifier","src":"39464:5:22"},"nativeSrc":"39464:11:22","nodeType":"YulFunctionCall","src":"39464:11:22"},"variableNames":[{"name":"m4","nativeSrc":"39458:2:22","nodeType":"YulIdentifier","src":"39458:2:22"}]},{"nativeSrc":"39488:17:22","nodeType":"YulAssignment","src":"39488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"39500:4:22","nodeType":"YulLiteral","src":"39500:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"39494:5:22","nodeType":"YulIdentifier","src":"39494:5:22"},"nativeSrc":"39494:11:22","nodeType":"YulFunctionCall","src":"39494:11:22"},"variableNames":[{"name":"m5","nativeSrc":"39488:2:22","nodeType":"YulIdentifier","src":"39488:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39580:4:22","nodeType":"YulLiteral","src":"39580:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"39586:10:22","nodeType":"YulLiteral","src":"39586:10:22","type":"","value":"0xde9a9270"}],"functionName":{"name":"mstore","nativeSrc":"39573:6:22","nodeType":"YulIdentifier","src":"39573:6:22"},"nativeSrc":"39573:24:22","nodeType":"YulFunctionCall","src":"39573:24:22"},"nativeSrc":"39573:24:22","nodeType":"YulExpressionStatement","src":"39573:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39617:4:22","nodeType":"YulLiteral","src":"39617:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"39623:2:22","nodeType":"YulIdentifier","src":"39623:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39610:6:22","nodeType":"YulIdentifier","src":"39610:6:22"},"nativeSrc":"39610:16:22","nodeType":"YulFunctionCall","src":"39610:16:22"},"nativeSrc":"39610:16:22","nodeType":"YulExpressionStatement","src":"39610:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39646:4:22","nodeType":"YulLiteral","src":"39646:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"39652:2:22","nodeType":"YulIdentifier","src":"39652:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39639:6:22","nodeType":"YulIdentifier","src":"39639:6:22"},"nativeSrc":"39639:16:22","nodeType":"YulFunctionCall","src":"39639:16:22"},"nativeSrc":"39639:16:22","nodeType":"YulExpressionStatement","src":"39639:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39675:4:22","nodeType":"YulLiteral","src":"39675:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"39681:4:22","nodeType":"YulLiteral","src":"39681:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"39668:6:22","nodeType":"YulIdentifier","src":"39668:6:22"},"nativeSrc":"39668:18:22","nodeType":"YulFunctionCall","src":"39668:18:22"},"nativeSrc":"39668:18:22","nodeType":"YulExpressionStatement","src":"39668:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39711:4:22","nodeType":"YulLiteral","src":"39711:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"39717:2:22","nodeType":"YulIdentifier","src":"39717:2:22"}],"functionName":{"name":"writeString","nativeSrc":"39699:11:22","nodeType":"YulIdentifier","src":"39699:11:22"},"nativeSrc":"39699:21:22","nodeType":"YulFunctionCall","src":"39699:21:22"},"nativeSrc":"39699:21:22","nodeType":"YulExpressionStatement","src":"39699:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32650,"isOffset":false,"isSlot":false,"src":"39338:2:22","valueSize":1},{"declaration":32653,"isOffset":false,"isSlot":false,"src":"39368:2:22","valueSize":1},{"declaration":32656,"isOffset":false,"isSlot":false,"src":"39398:2:22","valueSize":1},{"declaration":32659,"isOffset":false,"isSlot":false,"src":"39428:2:22","valueSize":1},{"declaration":32662,"isOffset":false,"isSlot":false,"src":"39458:2:22","valueSize":1},{"declaration":32665,"isOffset":false,"isSlot":false,"src":"39488:2:22","valueSize":1},{"declaration":32642,"isOffset":false,"isSlot":false,"src":"39623:2:22","valueSize":1},{"declaration":32644,"isOffset":false,"isSlot":false,"src":"39652:2:22","valueSize":1},{"declaration":32646,"isOffset":false,"isSlot":false,"src":"39717:2:22","valueSize":1}],"id":32667,"nodeType":"InlineAssembly","src":"38960:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39755:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39761:4:22","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":32668,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"39739:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39739:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32672,"nodeType":"ExpressionStatement","src":"39739:27:22"},{"AST":{"nativeSrc":"39828:185:22","nodeType":"YulBlock","src":"39828:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"39849:4:22","nodeType":"YulLiteral","src":"39849:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"39855:2:22","nodeType":"YulIdentifier","src":"39855:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39842:6:22","nodeType":"YulIdentifier","src":"39842:6:22"},"nativeSrc":"39842:16:22","nodeType":"YulFunctionCall","src":"39842:16:22"},"nativeSrc":"39842:16:22","nodeType":"YulExpressionStatement","src":"39842:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39878:4:22","nodeType":"YulLiteral","src":"39878:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"39884:2:22","nodeType":"YulIdentifier","src":"39884:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39871:6:22","nodeType":"YulIdentifier","src":"39871:6:22"},"nativeSrc":"39871:16:22","nodeType":"YulFunctionCall","src":"39871:16:22"},"nativeSrc":"39871:16:22","nodeType":"YulExpressionStatement","src":"39871:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39907:4:22","nodeType":"YulLiteral","src":"39907:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"39913:2:22","nodeType":"YulIdentifier","src":"39913:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39900:6:22","nodeType":"YulIdentifier","src":"39900:6:22"},"nativeSrc":"39900:16:22","nodeType":"YulFunctionCall","src":"39900:16:22"},"nativeSrc":"39900:16:22","nodeType":"YulExpressionStatement","src":"39900:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39936:4:22","nodeType":"YulLiteral","src":"39936:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"39942:2:22","nodeType":"YulIdentifier","src":"39942:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39929:6:22","nodeType":"YulIdentifier","src":"39929:6:22"},"nativeSrc":"39929:16:22","nodeType":"YulFunctionCall","src":"39929:16:22"},"nativeSrc":"39929:16:22","nodeType":"YulExpressionStatement","src":"39929:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39965:4:22","nodeType":"YulLiteral","src":"39965:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"39971:2:22","nodeType":"YulIdentifier","src":"39971:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39958:6:22","nodeType":"YulIdentifier","src":"39958:6:22"},"nativeSrc":"39958:16:22","nodeType":"YulFunctionCall","src":"39958:16:22"},"nativeSrc":"39958:16:22","nodeType":"YulExpressionStatement","src":"39958:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39994:4:22","nodeType":"YulLiteral","src":"39994:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"40000:2:22","nodeType":"YulIdentifier","src":"40000:2:22"}],"functionName":{"name":"mstore","nativeSrc":"39987:6:22","nodeType":"YulIdentifier","src":"39987:6:22"},"nativeSrc":"39987:16:22","nodeType":"YulFunctionCall","src":"39987:16:22"},"nativeSrc":"39987:16:22","nodeType":"YulExpressionStatement","src":"39987:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32650,"isOffset":false,"isSlot":false,"src":"39855:2:22","valueSize":1},{"declaration":32653,"isOffset":false,"isSlot":false,"src":"39884:2:22","valueSize":1},{"declaration":32656,"isOffset":false,"isSlot":false,"src":"39913:2:22","valueSize":1},{"declaration":32659,"isOffset":false,"isSlot":false,"src":"39942:2:22","valueSize":1},{"declaration":32662,"isOffset":false,"isSlot":false,"src":"39971:2:22","valueSize":1},{"declaration":32665,"isOffset":false,"isSlot":false,"src":"40000:2:22","valueSize":1}],"id":32673,"nodeType":"InlineAssembly","src":"39819:194:22"}]},"id":32675,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38736:3:22","nodeType":"FunctionDefinition","parameters":{"id":32647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32642,"mutability":"mutable","name":"p0","nameLocation":"38745:2:22","nodeType":"VariableDeclaration","scope":32675,"src":"38740:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32641,"name":"bool","nodeType":"ElementaryTypeName","src":"38740:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32644,"mutability":"mutable","name":"p1","nameLocation":"38757:2:22","nodeType":"VariableDeclaration","scope":32675,"src":"38749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32643,"name":"address","nodeType":"ElementaryTypeName","src":"38749:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32646,"mutability":"mutable","name":"p2","nameLocation":"38769:2:22","nodeType":"VariableDeclaration","scope":32675,"src":"38761:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38761:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38739:33:22"},"returnParameters":{"id":32648,"nodeType":"ParameterList","parameters":[],"src":"38787:0:22"},"scope":44426,"src":"38727:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32703,"nodeType":"Block","src":"40082:681:22","statements":[{"assignments":[32685],"declarations":[{"constant":false,"id":32685,"mutability":"mutable","name":"m0","nameLocation":"40100:2:22","nodeType":"VariableDeclaration","scope":32703,"src":"40092:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40092:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32686,"nodeType":"VariableDeclarationStatement","src":"40092:10:22"},{"assignments":[32688],"declarations":[{"constant":false,"id":32688,"mutability":"mutable","name":"m1","nameLocation":"40120:2:22","nodeType":"VariableDeclaration","scope":32703,"src":"40112:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40112:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32689,"nodeType":"VariableDeclarationStatement","src":"40112:10:22"},{"assignments":[32691],"declarations":[{"constant":false,"id":32691,"mutability":"mutable","name":"m2","nameLocation":"40140:2:22","nodeType":"VariableDeclaration","scope":32703,"src":"40132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40132:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32692,"nodeType":"VariableDeclarationStatement","src":"40132:10:22"},{"assignments":[32694],"declarations":[{"constant":false,"id":32694,"mutability":"mutable","name":"m3","nameLocation":"40160:2:22","nodeType":"VariableDeclaration","scope":32703,"src":"40152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32695,"nodeType":"VariableDeclarationStatement","src":"40152:10:22"},{"AST":{"nativeSrc":"40224:308:22","nodeType":"YulBlock","src":"40224:308:22","statements":[{"nativeSrc":"40238:17:22","nodeType":"YulAssignment","src":"40238:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"40250:4:22","nodeType":"YulLiteral","src":"40250:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40244:5:22","nodeType":"YulIdentifier","src":"40244:5:22"},"nativeSrc":"40244:11:22","nodeType":"YulFunctionCall","src":"40244:11:22"},"variableNames":[{"name":"m0","nativeSrc":"40238:2:22","nodeType":"YulIdentifier","src":"40238:2:22"}]},{"nativeSrc":"40268:17:22","nodeType":"YulAssignment","src":"40268:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"40280:4:22","nodeType":"YulLiteral","src":"40280:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"40274:5:22","nodeType":"YulIdentifier","src":"40274:5:22"},"nativeSrc":"40274:11:22","nodeType":"YulFunctionCall","src":"40274:11:22"},"variableNames":[{"name":"m1","nativeSrc":"40268:2:22","nodeType":"YulIdentifier","src":"40268:2:22"}]},{"nativeSrc":"40298:17:22","nodeType":"YulAssignment","src":"40298:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"40310:4:22","nodeType":"YulLiteral","src":"40310:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"40304:5:22","nodeType":"YulIdentifier","src":"40304:5:22"},"nativeSrc":"40304:11:22","nodeType":"YulFunctionCall","src":"40304:11:22"},"variableNames":[{"name":"m2","nativeSrc":"40298:2:22","nodeType":"YulIdentifier","src":"40298:2:22"}]},{"nativeSrc":"40328:17:22","nodeType":"YulAssignment","src":"40328:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"40340:4:22","nodeType":"YulLiteral","src":"40340:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"40334:5:22","nodeType":"YulIdentifier","src":"40334:5:22"},"nativeSrc":"40334:11:22","nodeType":"YulFunctionCall","src":"40334:11:22"},"variableNames":[{"name":"m3","nativeSrc":"40328:2:22","nodeType":"YulIdentifier","src":"40328:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40418:4:22","nodeType":"YulLiteral","src":"40418:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"40424:10:22","nodeType":"YulLiteral","src":"40424:10:22","type":"","value":"0x1078f68d"}],"functionName":{"name":"mstore","nativeSrc":"40411:6:22","nodeType":"YulIdentifier","src":"40411:6:22"},"nativeSrc":"40411:24:22","nodeType":"YulFunctionCall","src":"40411:24:22"},"nativeSrc":"40411:24:22","nodeType":"YulExpressionStatement","src":"40411:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40455:4:22","nodeType":"YulLiteral","src":"40455:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"40461:2:22","nodeType":"YulIdentifier","src":"40461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40448:6:22","nodeType":"YulIdentifier","src":"40448:6:22"},"nativeSrc":"40448:16:22","nodeType":"YulFunctionCall","src":"40448:16:22"},"nativeSrc":"40448:16:22","nodeType":"YulExpressionStatement","src":"40448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40484:4:22","nodeType":"YulLiteral","src":"40484:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"40490:2:22","nodeType":"YulIdentifier","src":"40490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40477:6:22","nodeType":"YulIdentifier","src":"40477:6:22"},"nativeSrc":"40477:16:22","nodeType":"YulFunctionCall","src":"40477:16:22"},"nativeSrc":"40477:16:22","nodeType":"YulExpressionStatement","src":"40477:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40513:4:22","nodeType":"YulLiteral","src":"40513:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"40519:2:22","nodeType":"YulIdentifier","src":"40519:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40506:6:22","nodeType":"YulIdentifier","src":"40506:6:22"},"nativeSrc":"40506:16:22","nodeType":"YulFunctionCall","src":"40506:16:22"},"nativeSrc":"40506:16:22","nodeType":"YulExpressionStatement","src":"40506:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32685,"isOffset":false,"isSlot":false,"src":"40238:2:22","valueSize":1},{"declaration":32688,"isOffset":false,"isSlot":false,"src":"40268:2:22","valueSize":1},{"declaration":32691,"isOffset":false,"isSlot":false,"src":"40298:2:22","valueSize":1},{"declaration":32694,"isOffset":false,"isSlot":false,"src":"40328:2:22","valueSize":1},{"declaration":32677,"isOffset":false,"isSlot":false,"src":"40461:2:22","valueSize":1},{"declaration":32679,"isOffset":false,"isSlot":false,"src":"40490:2:22","valueSize":1},{"declaration":32681,"isOffset":false,"isSlot":false,"src":"40519:2:22","valueSize":1}],"id":32696,"nodeType":"InlineAssembly","src":"40215:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40557:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40563:4:22","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":32697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"40541:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40541:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32701,"nodeType":"ExpressionStatement","src":"40541:27:22"},{"AST":{"nativeSrc":"40630:127:22","nodeType":"YulBlock","src":"40630:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"40651:4:22","nodeType":"YulLiteral","src":"40651:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"40657:2:22","nodeType":"YulIdentifier","src":"40657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40644:6:22","nodeType":"YulIdentifier","src":"40644:6:22"},"nativeSrc":"40644:16:22","nodeType":"YulFunctionCall","src":"40644:16:22"},"nativeSrc":"40644:16:22","nodeType":"YulExpressionStatement","src":"40644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40680:4:22","nodeType":"YulLiteral","src":"40680:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"40686:2:22","nodeType":"YulIdentifier","src":"40686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40673:6:22","nodeType":"YulIdentifier","src":"40673:6:22"},"nativeSrc":"40673:16:22","nodeType":"YulFunctionCall","src":"40673:16:22"},"nativeSrc":"40673:16:22","nodeType":"YulExpressionStatement","src":"40673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40709:4:22","nodeType":"YulLiteral","src":"40709:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"40715:2:22","nodeType":"YulIdentifier","src":"40715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40702:6:22","nodeType":"YulIdentifier","src":"40702:6:22"},"nativeSrc":"40702:16:22","nodeType":"YulFunctionCall","src":"40702:16:22"},"nativeSrc":"40702:16:22","nodeType":"YulExpressionStatement","src":"40702:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40738:4:22","nodeType":"YulLiteral","src":"40738:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"40744:2:22","nodeType":"YulIdentifier","src":"40744:2:22"}],"functionName":{"name":"mstore","nativeSrc":"40731:6:22","nodeType":"YulIdentifier","src":"40731:6:22"},"nativeSrc":"40731:16:22","nodeType":"YulFunctionCall","src":"40731:16:22"},"nativeSrc":"40731:16:22","nodeType":"YulExpressionStatement","src":"40731:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32685,"isOffset":false,"isSlot":false,"src":"40657:2:22","valueSize":1},{"declaration":32688,"isOffset":false,"isSlot":false,"src":"40686:2:22","valueSize":1},{"declaration":32691,"isOffset":false,"isSlot":false,"src":"40715:2:22","valueSize":1},{"declaration":32694,"isOffset":false,"isSlot":false,"src":"40744:2:22","valueSize":1}],"id":32702,"nodeType":"InlineAssembly","src":"40621:136:22"}]},"id":32704,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40034:3:22","nodeType":"FunctionDefinition","parameters":{"id":32682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32677,"mutability":"mutable","name":"p0","nameLocation":"40043:2:22","nodeType":"VariableDeclaration","scope":32704,"src":"40038:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32676,"name":"bool","nodeType":"ElementaryTypeName","src":"40038:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32679,"mutability":"mutable","name":"p1","nameLocation":"40052:2:22","nodeType":"VariableDeclaration","scope":32704,"src":"40047:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32678,"name":"bool","nodeType":"ElementaryTypeName","src":"40047:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32681,"mutability":"mutable","name":"p2","nameLocation":"40064:2:22","nodeType":"VariableDeclaration","scope":32704,"src":"40056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32680,"name":"address","nodeType":"ElementaryTypeName","src":"40056:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40037:30:22"},"returnParameters":{"id":32683,"nodeType":"ParameterList","parameters":[],"src":"40082:0:22"},"scope":44426,"src":"40025:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32732,"nodeType":"Block","src":"40823:678:22","statements":[{"assignments":[32714],"declarations":[{"constant":false,"id":32714,"mutability":"mutable","name":"m0","nameLocation":"40841:2:22","nodeType":"VariableDeclaration","scope":32732,"src":"40833:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40833:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32715,"nodeType":"VariableDeclarationStatement","src":"40833:10:22"},{"assignments":[32717],"declarations":[{"constant":false,"id":32717,"mutability":"mutable","name":"m1","nameLocation":"40861:2:22","nodeType":"VariableDeclaration","scope":32732,"src":"40853:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40853:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32718,"nodeType":"VariableDeclarationStatement","src":"40853:10:22"},{"assignments":[32720],"declarations":[{"constant":false,"id":32720,"mutability":"mutable","name":"m2","nameLocation":"40881:2:22","nodeType":"VariableDeclaration","scope":32732,"src":"40873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32721,"nodeType":"VariableDeclarationStatement","src":"40873:10:22"},{"assignments":[32723],"declarations":[{"constant":false,"id":32723,"mutability":"mutable","name":"m3","nameLocation":"40901:2:22","nodeType":"VariableDeclaration","scope":32732,"src":"40893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32724,"nodeType":"VariableDeclarationStatement","src":"40893:10:22"},{"AST":{"nativeSrc":"40965:305:22","nodeType":"YulBlock","src":"40965:305:22","statements":[{"nativeSrc":"40979:17:22","nodeType":"YulAssignment","src":"40979:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"40991:4:22","nodeType":"YulLiteral","src":"40991:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40985:5:22","nodeType":"YulIdentifier","src":"40985:5:22"},"nativeSrc":"40985:11:22","nodeType":"YulFunctionCall","src":"40985:11:22"},"variableNames":[{"name":"m0","nativeSrc":"40979:2:22","nodeType":"YulIdentifier","src":"40979:2:22"}]},{"nativeSrc":"41009:17:22","nodeType":"YulAssignment","src":"41009:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41021:4:22","nodeType":"YulLiteral","src":"41021:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41015:5:22","nodeType":"YulIdentifier","src":"41015:5:22"},"nativeSrc":"41015:11:22","nodeType":"YulFunctionCall","src":"41015:11:22"},"variableNames":[{"name":"m1","nativeSrc":"41009:2:22","nodeType":"YulIdentifier","src":"41009:2:22"}]},{"nativeSrc":"41039:17:22","nodeType":"YulAssignment","src":"41039:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41051:4:22","nodeType":"YulLiteral","src":"41051:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41045:5:22","nodeType":"YulIdentifier","src":"41045:5:22"},"nativeSrc":"41045:11:22","nodeType":"YulFunctionCall","src":"41045:11:22"},"variableNames":[{"name":"m2","nativeSrc":"41039:2:22","nodeType":"YulIdentifier","src":"41039:2:22"}]},{"nativeSrc":"41069:17:22","nodeType":"YulAssignment","src":"41069:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41081:4:22","nodeType":"YulLiteral","src":"41081:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41075:5:22","nodeType":"YulIdentifier","src":"41075:5:22"},"nativeSrc":"41075:11:22","nodeType":"YulFunctionCall","src":"41075:11:22"},"variableNames":[{"name":"m3","nativeSrc":"41069:2:22","nodeType":"YulIdentifier","src":"41069:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41156:4:22","nodeType":"YulLiteral","src":"41156:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41162:10:22","nodeType":"YulLiteral","src":"41162:10:22","type":"","value":"0x50709698"}],"functionName":{"name":"mstore","nativeSrc":"41149:6:22","nodeType":"YulIdentifier","src":"41149:6:22"},"nativeSrc":"41149:24:22","nodeType":"YulFunctionCall","src":"41149:24:22"},"nativeSrc":"41149:24:22","nodeType":"YulExpressionStatement","src":"41149:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41193:4:22","nodeType":"YulLiteral","src":"41193:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41199:2:22","nodeType":"YulIdentifier","src":"41199:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41186:6:22","nodeType":"YulIdentifier","src":"41186:6:22"},"nativeSrc":"41186:16:22","nodeType":"YulFunctionCall","src":"41186:16:22"},"nativeSrc":"41186:16:22","nodeType":"YulExpressionStatement","src":"41186:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41222:4:22","nodeType":"YulLiteral","src":"41222:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41228:2:22","nodeType":"YulIdentifier","src":"41228:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41215:6:22","nodeType":"YulIdentifier","src":"41215:6:22"},"nativeSrc":"41215:16:22","nodeType":"YulFunctionCall","src":"41215:16:22"},"nativeSrc":"41215:16:22","nodeType":"YulExpressionStatement","src":"41215:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41251:4:22","nodeType":"YulLiteral","src":"41251:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"41257:2:22","nodeType":"YulIdentifier","src":"41257:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41244:6:22","nodeType":"YulIdentifier","src":"41244:6:22"},"nativeSrc":"41244:16:22","nodeType":"YulFunctionCall","src":"41244:16:22"},"nativeSrc":"41244:16:22","nodeType":"YulExpressionStatement","src":"41244:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32714,"isOffset":false,"isSlot":false,"src":"40979:2:22","valueSize":1},{"declaration":32717,"isOffset":false,"isSlot":false,"src":"41009:2:22","valueSize":1},{"declaration":32720,"isOffset":false,"isSlot":false,"src":"41039:2:22","valueSize":1},{"declaration":32723,"isOffset":false,"isSlot":false,"src":"41069:2:22","valueSize":1},{"declaration":32706,"isOffset":false,"isSlot":false,"src":"41199:2:22","valueSize":1},{"declaration":32708,"isOffset":false,"isSlot":false,"src":"41228:2:22","valueSize":1},{"declaration":32710,"isOffset":false,"isSlot":false,"src":"41257:2:22","valueSize":1}],"id":32725,"nodeType":"InlineAssembly","src":"40956:314:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41295:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41301:4:22","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":32726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"41279:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41279:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32730,"nodeType":"ExpressionStatement","src":"41279:27:22"},{"AST":{"nativeSrc":"41368:127:22","nodeType":"YulBlock","src":"41368:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"41389:4:22","nodeType":"YulLiteral","src":"41389:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"41395:2:22","nodeType":"YulIdentifier","src":"41395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41382:6:22","nodeType":"YulIdentifier","src":"41382:6:22"},"nativeSrc":"41382:16:22","nodeType":"YulFunctionCall","src":"41382:16:22"},"nativeSrc":"41382:16:22","nodeType":"YulExpressionStatement","src":"41382:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41418:4:22","nodeType":"YulLiteral","src":"41418:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"41424:2:22","nodeType":"YulIdentifier","src":"41424:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41411:6:22","nodeType":"YulIdentifier","src":"41411:6:22"},"nativeSrc":"41411:16:22","nodeType":"YulFunctionCall","src":"41411:16:22"},"nativeSrc":"41411:16:22","nodeType":"YulExpressionStatement","src":"41411:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41447:4:22","nodeType":"YulLiteral","src":"41447:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"41453:2:22","nodeType":"YulIdentifier","src":"41453:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41440:6:22","nodeType":"YulIdentifier","src":"41440:6:22"},"nativeSrc":"41440:16:22","nodeType":"YulFunctionCall","src":"41440:16:22"},"nativeSrc":"41440:16:22","nodeType":"YulExpressionStatement","src":"41440:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41476:4:22","nodeType":"YulLiteral","src":"41476:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"41482:2:22","nodeType":"YulIdentifier","src":"41482:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41469:6:22","nodeType":"YulIdentifier","src":"41469:6:22"},"nativeSrc":"41469:16:22","nodeType":"YulFunctionCall","src":"41469:16:22"},"nativeSrc":"41469:16:22","nodeType":"YulExpressionStatement","src":"41469:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32714,"isOffset":false,"isSlot":false,"src":"41395:2:22","valueSize":1},{"declaration":32717,"isOffset":false,"isSlot":false,"src":"41424:2:22","valueSize":1},{"declaration":32720,"isOffset":false,"isSlot":false,"src":"41453:2:22","valueSize":1},{"declaration":32723,"isOffset":false,"isSlot":false,"src":"41482:2:22","valueSize":1}],"id":32731,"nodeType":"InlineAssembly","src":"41359:136:22"}]},"id":32733,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40778:3:22","nodeType":"FunctionDefinition","parameters":{"id":32711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32706,"mutability":"mutable","name":"p0","nameLocation":"40787:2:22","nodeType":"VariableDeclaration","scope":32733,"src":"40782:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32705,"name":"bool","nodeType":"ElementaryTypeName","src":"40782:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32708,"mutability":"mutable","name":"p1","nameLocation":"40796:2:22","nodeType":"VariableDeclaration","scope":32733,"src":"40791:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32707,"name":"bool","nodeType":"ElementaryTypeName","src":"40791:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32710,"mutability":"mutable","name":"p2","nameLocation":"40805:2:22","nodeType":"VariableDeclaration","scope":32733,"src":"40800:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32709,"name":"bool","nodeType":"ElementaryTypeName","src":"40800:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40781:27:22"},"returnParameters":{"id":32712,"nodeType":"ParameterList","parameters":[],"src":"40823:0:22"},"scope":44426,"src":"40769:732:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32761,"nodeType":"Block","src":"41564:681:22","statements":[{"assignments":[32743],"declarations":[{"constant":false,"id":32743,"mutability":"mutable","name":"m0","nameLocation":"41582:2:22","nodeType":"VariableDeclaration","scope":32761,"src":"41574:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41574:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32744,"nodeType":"VariableDeclarationStatement","src":"41574:10:22"},{"assignments":[32746],"declarations":[{"constant":false,"id":32746,"mutability":"mutable","name":"m1","nameLocation":"41602:2:22","nodeType":"VariableDeclaration","scope":32761,"src":"41594:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41594:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32747,"nodeType":"VariableDeclarationStatement","src":"41594:10:22"},{"assignments":[32749],"declarations":[{"constant":false,"id":32749,"mutability":"mutable","name":"m2","nameLocation":"41622:2:22","nodeType":"VariableDeclaration","scope":32761,"src":"41614:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41614:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32750,"nodeType":"VariableDeclarationStatement","src":"41614:10:22"},{"assignments":[32752],"declarations":[{"constant":false,"id":32752,"mutability":"mutable","name":"m3","nameLocation":"41642:2:22","nodeType":"VariableDeclaration","scope":32761,"src":"41634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41634:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32753,"nodeType":"VariableDeclarationStatement","src":"41634:10:22"},{"AST":{"nativeSrc":"41706:308:22","nodeType":"YulBlock","src":"41706:308:22","statements":[{"nativeSrc":"41720:17:22","nodeType":"YulAssignment","src":"41720:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41732:4:22","nodeType":"YulLiteral","src":"41732:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"41726:5:22","nodeType":"YulIdentifier","src":"41726:5:22"},"nativeSrc":"41726:11:22","nodeType":"YulFunctionCall","src":"41726:11:22"},"variableNames":[{"name":"m0","nativeSrc":"41720:2:22","nodeType":"YulIdentifier","src":"41720:2:22"}]},{"nativeSrc":"41750:17:22","nodeType":"YulAssignment","src":"41750:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41762:4:22","nodeType":"YulLiteral","src":"41762:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41756:5:22","nodeType":"YulIdentifier","src":"41756:5:22"},"nativeSrc":"41756:11:22","nodeType":"YulFunctionCall","src":"41756:11:22"},"variableNames":[{"name":"m1","nativeSrc":"41750:2:22","nodeType":"YulIdentifier","src":"41750:2:22"}]},{"nativeSrc":"41780:17:22","nodeType":"YulAssignment","src":"41780:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41792:4:22","nodeType":"YulLiteral","src":"41792:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41786:5:22","nodeType":"YulIdentifier","src":"41786:5:22"},"nativeSrc":"41786:11:22","nodeType":"YulFunctionCall","src":"41786:11:22"},"variableNames":[{"name":"m2","nativeSrc":"41780:2:22","nodeType":"YulIdentifier","src":"41780:2:22"}]},{"nativeSrc":"41810:17:22","nodeType":"YulAssignment","src":"41810:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"41822:4:22","nodeType":"YulLiteral","src":"41822:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41816:5:22","nodeType":"YulIdentifier","src":"41816:5:22"},"nativeSrc":"41816:11:22","nodeType":"YulFunctionCall","src":"41816:11:22"},"variableNames":[{"name":"m3","nativeSrc":"41810:2:22","nodeType":"YulIdentifier","src":"41810:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41900:4:22","nodeType":"YulLiteral","src":"41900:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41906:10:22","nodeType":"YulLiteral","src":"41906:10:22","type":"","value":"0x12f21602"}],"functionName":{"name":"mstore","nativeSrc":"41893:6:22","nodeType":"YulIdentifier","src":"41893:6:22"},"nativeSrc":"41893:24:22","nodeType":"YulFunctionCall","src":"41893:24:22"},"nativeSrc":"41893:24:22","nodeType":"YulExpressionStatement","src":"41893:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41937:4:22","nodeType":"YulLiteral","src":"41937:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41943:2:22","nodeType":"YulIdentifier","src":"41943:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41930:6:22","nodeType":"YulIdentifier","src":"41930:6:22"},"nativeSrc":"41930:16:22","nodeType":"YulFunctionCall","src":"41930:16:22"},"nativeSrc":"41930:16:22","nodeType":"YulExpressionStatement","src":"41930:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41966:4:22","nodeType":"YulLiteral","src":"41966:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41972:2:22","nodeType":"YulIdentifier","src":"41972:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41959:6:22","nodeType":"YulIdentifier","src":"41959:6:22"},"nativeSrc":"41959:16:22","nodeType":"YulFunctionCall","src":"41959:16:22"},"nativeSrc":"41959:16:22","nodeType":"YulExpressionStatement","src":"41959:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41995:4:22","nodeType":"YulLiteral","src":"41995:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"42001:2:22","nodeType":"YulIdentifier","src":"42001:2:22"}],"functionName":{"name":"mstore","nativeSrc":"41988:6:22","nodeType":"YulIdentifier","src":"41988:6:22"},"nativeSrc":"41988:16:22","nodeType":"YulFunctionCall","src":"41988:16:22"},"nativeSrc":"41988:16:22","nodeType":"YulExpressionStatement","src":"41988:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32743,"isOffset":false,"isSlot":false,"src":"41720:2:22","valueSize":1},{"declaration":32746,"isOffset":false,"isSlot":false,"src":"41750:2:22","valueSize":1},{"declaration":32749,"isOffset":false,"isSlot":false,"src":"41780:2:22","valueSize":1},{"declaration":32752,"isOffset":false,"isSlot":false,"src":"41810:2:22","valueSize":1},{"declaration":32735,"isOffset":false,"isSlot":false,"src":"41943:2:22","valueSize":1},{"declaration":32737,"isOffset":false,"isSlot":false,"src":"41972:2:22","valueSize":1},{"declaration":32739,"isOffset":false,"isSlot":false,"src":"42001:2:22","valueSize":1}],"id":32754,"nodeType":"InlineAssembly","src":"41697:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42039:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42045:4:22","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":32755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"42023:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42023:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32759,"nodeType":"ExpressionStatement","src":"42023:27:22"},{"AST":{"nativeSrc":"42112:127:22","nodeType":"YulBlock","src":"42112:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"42133:4:22","nodeType":"YulLiteral","src":"42133:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"42139:2:22","nodeType":"YulIdentifier","src":"42139:2:22"}],"functionName":{"name":"mstore","nativeSrc":"42126:6:22","nodeType":"YulIdentifier","src":"42126:6:22"},"nativeSrc":"42126:16:22","nodeType":"YulFunctionCall","src":"42126:16:22"},"nativeSrc":"42126:16:22","nodeType":"YulExpressionStatement","src":"42126:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42162:4:22","nodeType":"YulLiteral","src":"42162:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"42168:2:22","nodeType":"YulIdentifier","src":"42168:2:22"}],"functionName":{"name":"mstore","nativeSrc":"42155:6:22","nodeType":"YulIdentifier","src":"42155:6:22"},"nativeSrc":"42155:16:22","nodeType":"YulFunctionCall","src":"42155:16:22"},"nativeSrc":"42155:16:22","nodeType":"YulExpressionStatement","src":"42155:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42191:4:22","nodeType":"YulLiteral","src":"42191:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"42197:2:22","nodeType":"YulIdentifier","src":"42197:2:22"}],"functionName":{"name":"mstore","nativeSrc":"42184:6:22","nodeType":"YulIdentifier","src":"42184:6:22"},"nativeSrc":"42184:16:22","nodeType":"YulFunctionCall","src":"42184:16:22"},"nativeSrc":"42184:16:22","nodeType":"YulExpressionStatement","src":"42184:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42220:4:22","nodeType":"YulLiteral","src":"42220:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"42226:2:22","nodeType":"YulIdentifier","src":"42226:2:22"}],"functionName":{"name":"mstore","nativeSrc":"42213:6:22","nodeType":"YulIdentifier","src":"42213:6:22"},"nativeSrc":"42213:16:22","nodeType":"YulFunctionCall","src":"42213:16:22"},"nativeSrc":"42213:16:22","nodeType":"YulExpressionStatement","src":"42213:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32743,"isOffset":false,"isSlot":false,"src":"42139:2:22","valueSize":1},{"declaration":32746,"isOffset":false,"isSlot":false,"src":"42168:2:22","valueSize":1},{"declaration":32749,"isOffset":false,"isSlot":false,"src":"42197:2:22","valueSize":1},{"declaration":32752,"isOffset":false,"isSlot":false,"src":"42226:2:22","valueSize":1}],"id":32760,"nodeType":"InlineAssembly","src":"42103:136:22"}]},"id":32762,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41516:3:22","nodeType":"FunctionDefinition","parameters":{"id":32740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32735,"mutability":"mutable","name":"p0","nameLocation":"41525:2:22","nodeType":"VariableDeclaration","scope":32762,"src":"41520:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32734,"name":"bool","nodeType":"ElementaryTypeName","src":"41520:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32737,"mutability":"mutable","name":"p1","nameLocation":"41534:2:22","nodeType":"VariableDeclaration","scope":32762,"src":"41529:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32736,"name":"bool","nodeType":"ElementaryTypeName","src":"41529:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32739,"mutability":"mutable","name":"p2","nameLocation":"41546:2:22","nodeType":"VariableDeclaration","scope":32762,"src":"41538:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32738,"name":"uint256","nodeType":"ElementaryTypeName","src":"41538:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41519:30:22"},"returnParameters":{"id":32741,"nodeType":"ParameterList","parameters":[],"src":"41564:0:22"},"scope":44426,"src":"41507:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32796,"nodeType":"Block","src":"42308:1229:22","statements":[{"assignments":[32772],"declarations":[{"constant":false,"id":32772,"mutability":"mutable","name":"m0","nameLocation":"42326:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42318:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42318:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32773,"nodeType":"VariableDeclarationStatement","src":"42318:10:22"},{"assignments":[32775],"declarations":[{"constant":false,"id":32775,"mutability":"mutable","name":"m1","nameLocation":"42346:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42338:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42338:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32776,"nodeType":"VariableDeclarationStatement","src":"42338:10:22"},{"assignments":[32778],"declarations":[{"constant":false,"id":32778,"mutability":"mutable","name":"m2","nameLocation":"42366:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42358:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42358:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32779,"nodeType":"VariableDeclarationStatement","src":"42358:10:22"},{"assignments":[32781],"declarations":[{"constant":false,"id":32781,"mutability":"mutable","name":"m3","nameLocation":"42386:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42378:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42378:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32782,"nodeType":"VariableDeclarationStatement","src":"42378:10:22"},{"assignments":[32784],"declarations":[{"constant":false,"id":32784,"mutability":"mutable","name":"m4","nameLocation":"42406:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42398:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42398:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32785,"nodeType":"VariableDeclarationStatement","src":"42398:10:22"},{"assignments":[32787],"declarations":[{"constant":false,"id":32787,"mutability":"mutable","name":"m5","nameLocation":"42426:2:22","nodeType":"VariableDeclaration","scope":32796,"src":"42418:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42418:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32788,"nodeType":"VariableDeclarationStatement","src":"42418:10:22"},{"AST":{"nativeSrc":"42490:758:22","nodeType":"YulBlock","src":"42490:758:22","statements":[{"body":{"nativeSrc":"42533:313:22","nodeType":"YulBlock","src":"42533:313:22","statements":[{"nativeSrc":"42551:15:22","nodeType":"YulVariableDeclaration","src":"42551:15:22","value":{"kind":"number","nativeSrc":"42565:1:22","nodeType":"YulLiteral","src":"42565:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"42555:6:22","nodeType":"YulTypedName","src":"42555:6:22","type":""}]},{"body":{"nativeSrc":"42636:40:22","nodeType":"YulBlock","src":"42636:40:22","statements":[{"body":{"nativeSrc":"42665:9:22","nodeType":"YulBlock","src":"42665:9:22","statements":[{"nativeSrc":"42667:5:22","nodeType":"YulBreak","src":"42667:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"42653:6:22","nodeType":"YulIdentifier","src":"42653:6:22"},{"name":"w","nativeSrc":"42661:1:22","nodeType":"YulIdentifier","src":"42661:1:22"}],"functionName":{"name":"byte","nativeSrc":"42648:4:22","nodeType":"YulIdentifier","src":"42648:4:22"},"nativeSrc":"42648:15:22","nodeType":"YulFunctionCall","src":"42648:15:22"}],"functionName":{"name":"iszero","nativeSrc":"42641:6:22","nodeType":"YulIdentifier","src":"42641:6:22"},"nativeSrc":"42641:23:22","nodeType":"YulFunctionCall","src":"42641:23:22"},"nativeSrc":"42638:36:22","nodeType":"YulIf","src":"42638:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"42593:6:22","nodeType":"YulIdentifier","src":"42593:6:22"},{"kind":"number","nativeSrc":"42601:4:22","nodeType":"YulLiteral","src":"42601:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"42590:2:22","nodeType":"YulIdentifier","src":"42590:2:22"},"nativeSrc":"42590:16:22","nodeType":"YulFunctionCall","src":"42590:16:22"},"nativeSrc":"42583:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"42607:28:22","nodeType":"YulBlock","src":"42607:28:22","statements":[{"nativeSrc":"42609:24:22","nodeType":"YulAssignment","src":"42609:24:22","value":{"arguments":[{"name":"length","nativeSrc":"42623:6:22","nodeType":"YulIdentifier","src":"42623:6:22"},{"kind":"number","nativeSrc":"42631:1:22","nodeType":"YulLiteral","src":"42631:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"42619:3:22","nodeType":"YulIdentifier","src":"42619:3:22"},"nativeSrc":"42619:14:22","nodeType":"YulFunctionCall","src":"42619:14:22"},"variableNames":[{"name":"length","nativeSrc":"42609:6:22","nodeType":"YulIdentifier","src":"42609:6:22"}]}]},"pre":{"nativeSrc":"42587:2:22","nodeType":"YulBlock","src":"42587:2:22","statements":[]},"src":"42583:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"42700:3:22","nodeType":"YulIdentifier","src":"42700:3:22"},{"name":"length","nativeSrc":"42705:6:22","nodeType":"YulIdentifier","src":"42705:6:22"}],"functionName":{"name":"mstore","nativeSrc":"42693:6:22","nodeType":"YulIdentifier","src":"42693:6:22"},"nativeSrc":"42693:19:22","nodeType":"YulFunctionCall","src":"42693:19:22"},"nativeSrc":"42693:19:22","nodeType":"YulExpressionStatement","src":"42693:19:22"},{"nativeSrc":"42729:37:22","nodeType":"YulVariableDeclaration","src":"42729:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"42746:3:22","nodeType":"YulLiteral","src":"42746:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"42755:1:22","nodeType":"YulLiteral","src":"42755:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"42758:6:22","nodeType":"YulIdentifier","src":"42758:6:22"}],"functionName":{"name":"shl","nativeSrc":"42751:3:22","nodeType":"YulIdentifier","src":"42751:3:22"},"nativeSrc":"42751:14:22","nodeType":"YulFunctionCall","src":"42751:14:22"}],"functionName":{"name":"sub","nativeSrc":"42742:3:22","nodeType":"YulIdentifier","src":"42742:3:22"},"nativeSrc":"42742:24:22","nodeType":"YulFunctionCall","src":"42742:24:22"},"variables":[{"name":"shift","nativeSrc":"42733:5:22","nodeType":"YulTypedName","src":"42733:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"42794:3:22","nodeType":"YulIdentifier","src":"42794:3:22"},{"kind":"number","nativeSrc":"42799:4:22","nodeType":"YulLiteral","src":"42799:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"42790:3:22","nodeType":"YulIdentifier","src":"42790:3:22"},"nativeSrc":"42790:14:22","nodeType":"YulFunctionCall","src":"42790:14:22"},{"arguments":[{"name":"shift","nativeSrc":"42810:5:22","nodeType":"YulIdentifier","src":"42810:5:22"},{"arguments":[{"name":"shift","nativeSrc":"42821:5:22","nodeType":"YulIdentifier","src":"42821:5:22"},{"name":"w","nativeSrc":"42828:1:22","nodeType":"YulIdentifier","src":"42828:1:22"}],"functionName":{"name":"shr","nativeSrc":"42817:3:22","nodeType":"YulIdentifier","src":"42817:3:22"},"nativeSrc":"42817:13:22","nodeType":"YulFunctionCall","src":"42817:13:22"}],"functionName":{"name":"shl","nativeSrc":"42806:3:22","nodeType":"YulIdentifier","src":"42806:3:22"},"nativeSrc":"42806:25:22","nodeType":"YulFunctionCall","src":"42806:25:22"}],"functionName":{"name":"mstore","nativeSrc":"42783:6:22","nodeType":"YulIdentifier","src":"42783:6:22"},"nativeSrc":"42783:49:22","nodeType":"YulFunctionCall","src":"42783:49:22"},"nativeSrc":"42783:49:22","nodeType":"YulExpressionStatement","src":"42783:49:22"}]},"name":"writeString","nativeSrc":"42504:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"42525:3:22","nodeType":"YulTypedName","src":"42525:3:22","type":""},{"name":"w","nativeSrc":"42530:1:22","nodeType":"YulTypedName","src":"42530:1:22","type":""}],"src":"42504:342:22"},{"nativeSrc":"42859:17:22","nodeType":"YulAssignment","src":"42859:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"42871:4:22","nodeType":"YulLiteral","src":"42871:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"42865:5:22","nodeType":"YulIdentifier","src":"42865:5:22"},"nativeSrc":"42865:11:22","nodeType":"YulFunctionCall","src":"42865:11:22"},"variableNames":[{"name":"m0","nativeSrc":"42859:2:22","nodeType":"YulIdentifier","src":"42859:2:22"}]},{"nativeSrc":"42889:17:22","nodeType":"YulAssignment","src":"42889:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"42901:4:22","nodeType":"YulLiteral","src":"42901:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"42895:5:22","nodeType":"YulIdentifier","src":"42895:5:22"},"nativeSrc":"42895:11:22","nodeType":"YulFunctionCall","src":"42895:11:22"},"variableNames":[{"name":"m1","nativeSrc":"42889:2:22","nodeType":"YulIdentifier","src":"42889:2:22"}]},{"nativeSrc":"42919:17:22","nodeType":"YulAssignment","src":"42919:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"42931:4:22","nodeType":"YulLiteral","src":"42931:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"42925:5:22","nodeType":"YulIdentifier","src":"42925:5:22"},"nativeSrc":"42925:11:22","nodeType":"YulFunctionCall","src":"42925:11:22"},"variableNames":[{"name":"m2","nativeSrc":"42919:2:22","nodeType":"YulIdentifier","src":"42919:2:22"}]},{"nativeSrc":"42949:17:22","nodeType":"YulAssignment","src":"42949:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"42961:4:22","nodeType":"YulLiteral","src":"42961:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"42955:5:22","nodeType":"YulIdentifier","src":"42955:5:22"},"nativeSrc":"42955:11:22","nodeType":"YulFunctionCall","src":"42955:11:22"},"variableNames":[{"name":"m3","nativeSrc":"42949:2:22","nodeType":"YulIdentifier","src":"42949:2:22"}]},{"nativeSrc":"42979:17:22","nodeType":"YulAssignment","src":"42979:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"42991:4:22","nodeType":"YulLiteral","src":"42991:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"42985:5:22","nodeType":"YulIdentifier","src":"42985:5:22"},"nativeSrc":"42985:11:22","nodeType":"YulFunctionCall","src":"42985:11:22"},"variableNames":[{"name":"m4","nativeSrc":"42979:2:22","nodeType":"YulIdentifier","src":"42979:2:22"}]},{"nativeSrc":"43009:17:22","nodeType":"YulAssignment","src":"43009:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"43021:4:22","nodeType":"YulLiteral","src":"43021:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"43015:5:22","nodeType":"YulIdentifier","src":"43015:5:22"},"nativeSrc":"43015:11:22","nodeType":"YulFunctionCall","src":"43015:11:22"},"variableNames":[{"name":"m5","nativeSrc":"43009:2:22","nodeType":"YulIdentifier","src":"43009:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43098:4:22","nodeType":"YulLiteral","src":"43098:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43104:10:22","nodeType":"YulLiteral","src":"43104:10:22","type":"","value":"0x2555fa46"}],"functionName":{"name":"mstore","nativeSrc":"43091:6:22","nodeType":"YulIdentifier","src":"43091:6:22"},"nativeSrc":"43091:24:22","nodeType":"YulFunctionCall","src":"43091:24:22"},"nativeSrc":"43091:24:22","nodeType":"YulExpressionStatement","src":"43091:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43135:4:22","nodeType":"YulLiteral","src":"43135:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43141:2:22","nodeType":"YulIdentifier","src":"43141:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43128:6:22","nodeType":"YulIdentifier","src":"43128:6:22"},"nativeSrc":"43128:16:22","nodeType":"YulFunctionCall","src":"43128:16:22"},"nativeSrc":"43128:16:22","nodeType":"YulExpressionStatement","src":"43128:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43164:4:22","nodeType":"YulLiteral","src":"43164:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"43170:2:22","nodeType":"YulIdentifier","src":"43170:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43157:6:22","nodeType":"YulIdentifier","src":"43157:6:22"},"nativeSrc":"43157:16:22","nodeType":"YulFunctionCall","src":"43157:16:22"},"nativeSrc":"43157:16:22","nodeType":"YulExpressionStatement","src":"43157:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43193:4:22","nodeType":"YulLiteral","src":"43193:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"43199:4:22","nodeType":"YulLiteral","src":"43199:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"43186:6:22","nodeType":"YulIdentifier","src":"43186:6:22"},"nativeSrc":"43186:18:22","nodeType":"YulFunctionCall","src":"43186:18:22"},"nativeSrc":"43186:18:22","nodeType":"YulExpressionStatement","src":"43186:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43229:4:22","nodeType":"YulLiteral","src":"43229:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"43235:2:22","nodeType":"YulIdentifier","src":"43235:2:22"}],"functionName":{"name":"writeString","nativeSrc":"43217:11:22","nodeType":"YulIdentifier","src":"43217:11:22"},"nativeSrc":"43217:21:22","nodeType":"YulFunctionCall","src":"43217:21:22"},"nativeSrc":"43217:21:22","nodeType":"YulExpressionStatement","src":"43217:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32772,"isOffset":false,"isSlot":false,"src":"42859:2:22","valueSize":1},{"declaration":32775,"isOffset":false,"isSlot":false,"src":"42889:2:22","valueSize":1},{"declaration":32778,"isOffset":false,"isSlot":false,"src":"42919:2:22","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"42949:2:22","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"42979:2:22","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"43009:2:22","valueSize":1},{"declaration":32764,"isOffset":false,"isSlot":false,"src":"43141:2:22","valueSize":1},{"declaration":32766,"isOffset":false,"isSlot":false,"src":"43170:2:22","valueSize":1},{"declaration":32768,"isOffset":false,"isSlot":false,"src":"43235:2:22","valueSize":1}],"id":32789,"nodeType":"InlineAssembly","src":"42481:767:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43273:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43279:4:22","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":32790,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"43257:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43257:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32794,"nodeType":"ExpressionStatement","src":"43257:27:22"},{"AST":{"nativeSrc":"43346:185:22","nodeType":"YulBlock","src":"43346:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"43367:4:22","nodeType":"YulLiteral","src":"43367:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"43373:2:22","nodeType":"YulIdentifier","src":"43373:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43360:6:22","nodeType":"YulIdentifier","src":"43360:6:22"},"nativeSrc":"43360:16:22","nodeType":"YulFunctionCall","src":"43360:16:22"},"nativeSrc":"43360:16:22","nodeType":"YulExpressionStatement","src":"43360:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43396:4:22","nodeType":"YulLiteral","src":"43396:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"43402:2:22","nodeType":"YulIdentifier","src":"43402:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43389:6:22","nodeType":"YulIdentifier","src":"43389:6:22"},"nativeSrc":"43389:16:22","nodeType":"YulFunctionCall","src":"43389:16:22"},"nativeSrc":"43389:16:22","nodeType":"YulExpressionStatement","src":"43389:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43425:4:22","nodeType":"YulLiteral","src":"43425:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"43431:2:22","nodeType":"YulIdentifier","src":"43431:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43418:6:22","nodeType":"YulIdentifier","src":"43418:6:22"},"nativeSrc":"43418:16:22","nodeType":"YulFunctionCall","src":"43418:16:22"},"nativeSrc":"43418:16:22","nodeType":"YulExpressionStatement","src":"43418:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43454:4:22","nodeType":"YulLiteral","src":"43454:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"43460:2:22","nodeType":"YulIdentifier","src":"43460:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43447:6:22","nodeType":"YulIdentifier","src":"43447:6:22"},"nativeSrc":"43447:16:22","nodeType":"YulFunctionCall","src":"43447:16:22"},"nativeSrc":"43447:16:22","nodeType":"YulExpressionStatement","src":"43447:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43483:4:22","nodeType":"YulLiteral","src":"43483:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"43489:2:22","nodeType":"YulIdentifier","src":"43489:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43476:6:22","nodeType":"YulIdentifier","src":"43476:6:22"},"nativeSrc":"43476:16:22","nodeType":"YulFunctionCall","src":"43476:16:22"},"nativeSrc":"43476:16:22","nodeType":"YulExpressionStatement","src":"43476:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43512:4:22","nodeType":"YulLiteral","src":"43512:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"43518:2:22","nodeType":"YulIdentifier","src":"43518:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43505:6:22","nodeType":"YulIdentifier","src":"43505:6:22"},"nativeSrc":"43505:16:22","nodeType":"YulFunctionCall","src":"43505:16:22"},"nativeSrc":"43505:16:22","nodeType":"YulExpressionStatement","src":"43505:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32772,"isOffset":false,"isSlot":false,"src":"43373:2:22","valueSize":1},{"declaration":32775,"isOffset":false,"isSlot":false,"src":"43402:2:22","valueSize":1},{"declaration":32778,"isOffset":false,"isSlot":false,"src":"43431:2:22","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"43460:2:22","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"43489:2:22","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"43518:2:22","valueSize":1}],"id":32795,"nodeType":"InlineAssembly","src":"43337:194:22"}]},"id":32797,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42260:3:22","nodeType":"FunctionDefinition","parameters":{"id":32769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32764,"mutability":"mutable","name":"p0","nameLocation":"42269:2:22","nodeType":"VariableDeclaration","scope":32797,"src":"42264:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32763,"name":"bool","nodeType":"ElementaryTypeName","src":"42264:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32766,"mutability":"mutable","name":"p1","nameLocation":"42278:2:22","nodeType":"VariableDeclaration","scope":32797,"src":"42273:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32765,"name":"bool","nodeType":"ElementaryTypeName","src":"42273:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32768,"mutability":"mutable","name":"p2","nameLocation":"42290:2:22","nodeType":"VariableDeclaration","scope":32797,"src":"42282:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42282:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"42263:30:22"},"returnParameters":{"id":32770,"nodeType":"ParameterList","parameters":[],"src":"42308:0:22"},"scope":44426,"src":"42251:1286:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32825,"nodeType":"Block","src":"43603:684:22","statements":[{"assignments":[32807],"declarations":[{"constant":false,"id":32807,"mutability":"mutable","name":"m0","nameLocation":"43621:2:22","nodeType":"VariableDeclaration","scope":32825,"src":"43613:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43613:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32808,"nodeType":"VariableDeclarationStatement","src":"43613:10:22"},{"assignments":[32810],"declarations":[{"constant":false,"id":32810,"mutability":"mutable","name":"m1","nameLocation":"43641:2:22","nodeType":"VariableDeclaration","scope":32825,"src":"43633:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43633:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32811,"nodeType":"VariableDeclarationStatement","src":"43633:10:22"},{"assignments":[32813],"declarations":[{"constant":false,"id":32813,"mutability":"mutable","name":"m2","nameLocation":"43661:2:22","nodeType":"VariableDeclaration","scope":32825,"src":"43653:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43653:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32814,"nodeType":"VariableDeclarationStatement","src":"43653:10:22"},{"assignments":[32816],"declarations":[{"constant":false,"id":32816,"mutability":"mutable","name":"m3","nameLocation":"43681:2:22","nodeType":"VariableDeclaration","scope":32825,"src":"43673:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43673:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32817,"nodeType":"VariableDeclarationStatement","src":"43673:10:22"},{"AST":{"nativeSrc":"43745:311:22","nodeType":"YulBlock","src":"43745:311:22","statements":[{"nativeSrc":"43759:17:22","nodeType":"YulAssignment","src":"43759:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"43771:4:22","nodeType":"YulLiteral","src":"43771:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"43765:5:22","nodeType":"YulIdentifier","src":"43765:5:22"},"nativeSrc":"43765:11:22","nodeType":"YulFunctionCall","src":"43765:11:22"},"variableNames":[{"name":"m0","nativeSrc":"43759:2:22","nodeType":"YulIdentifier","src":"43759:2:22"}]},{"nativeSrc":"43789:17:22","nodeType":"YulAssignment","src":"43789:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"43801:4:22","nodeType":"YulLiteral","src":"43801:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"43795:5:22","nodeType":"YulIdentifier","src":"43795:5:22"},"nativeSrc":"43795:11:22","nodeType":"YulFunctionCall","src":"43795:11:22"},"variableNames":[{"name":"m1","nativeSrc":"43789:2:22","nodeType":"YulIdentifier","src":"43789:2:22"}]},{"nativeSrc":"43819:17:22","nodeType":"YulAssignment","src":"43819:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"43831:4:22","nodeType":"YulLiteral","src":"43831:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"43825:5:22","nodeType":"YulIdentifier","src":"43825:5:22"},"nativeSrc":"43825:11:22","nodeType":"YulFunctionCall","src":"43825:11:22"},"variableNames":[{"name":"m2","nativeSrc":"43819:2:22","nodeType":"YulIdentifier","src":"43819:2:22"}]},{"nativeSrc":"43849:17:22","nodeType":"YulAssignment","src":"43849:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"43861:4:22","nodeType":"YulLiteral","src":"43861:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"43855:5:22","nodeType":"YulIdentifier","src":"43855:5:22"},"nativeSrc":"43855:11:22","nodeType":"YulFunctionCall","src":"43855:11:22"},"variableNames":[{"name":"m3","nativeSrc":"43849:2:22","nodeType":"YulIdentifier","src":"43849:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43942:4:22","nodeType":"YulLiteral","src":"43942:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43948:10:22","nodeType":"YulLiteral","src":"43948:10:22","type":"","value":"0x088ef9d2"}],"functionName":{"name":"mstore","nativeSrc":"43935:6:22","nodeType":"YulIdentifier","src":"43935:6:22"},"nativeSrc":"43935:24:22","nodeType":"YulFunctionCall","src":"43935:24:22"},"nativeSrc":"43935:24:22","nodeType":"YulExpressionStatement","src":"43935:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43979:4:22","nodeType":"YulLiteral","src":"43979:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43985:2:22","nodeType":"YulIdentifier","src":"43985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"43972:6:22","nodeType":"YulIdentifier","src":"43972:6:22"},"nativeSrc":"43972:16:22","nodeType":"YulFunctionCall","src":"43972:16:22"},"nativeSrc":"43972:16:22","nodeType":"YulExpressionStatement","src":"43972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44008:4:22","nodeType":"YulLiteral","src":"44008:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44014:2:22","nodeType":"YulIdentifier","src":"44014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44001:6:22","nodeType":"YulIdentifier","src":"44001:6:22"},"nativeSrc":"44001:16:22","nodeType":"YulFunctionCall","src":"44001:16:22"},"nativeSrc":"44001:16:22","nodeType":"YulExpressionStatement","src":"44001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44037:4:22","nodeType":"YulLiteral","src":"44037:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44043:2:22","nodeType":"YulIdentifier","src":"44043:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44030:6:22","nodeType":"YulIdentifier","src":"44030:6:22"},"nativeSrc":"44030:16:22","nodeType":"YulFunctionCall","src":"44030:16:22"},"nativeSrc":"44030:16:22","nodeType":"YulExpressionStatement","src":"44030:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32807,"isOffset":false,"isSlot":false,"src":"43759:2:22","valueSize":1},{"declaration":32810,"isOffset":false,"isSlot":false,"src":"43789:2:22","valueSize":1},{"declaration":32813,"isOffset":false,"isSlot":false,"src":"43819:2:22","valueSize":1},{"declaration":32816,"isOffset":false,"isSlot":false,"src":"43849:2:22","valueSize":1},{"declaration":32799,"isOffset":false,"isSlot":false,"src":"43985:2:22","valueSize":1},{"declaration":32801,"isOffset":false,"isSlot":false,"src":"44014:2:22","valueSize":1},{"declaration":32803,"isOffset":false,"isSlot":false,"src":"44043:2:22","valueSize":1}],"id":32818,"nodeType":"InlineAssembly","src":"43736:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44081:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44087:4:22","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":32819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"44065:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44065:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32823,"nodeType":"ExpressionStatement","src":"44065:27:22"},{"AST":{"nativeSrc":"44154:127:22","nodeType":"YulBlock","src":"44154:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44175:4:22","nodeType":"YulLiteral","src":"44175:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44181:2:22","nodeType":"YulIdentifier","src":"44181:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44168:6:22","nodeType":"YulIdentifier","src":"44168:6:22"},"nativeSrc":"44168:16:22","nodeType":"YulFunctionCall","src":"44168:16:22"},"nativeSrc":"44168:16:22","nodeType":"YulExpressionStatement","src":"44168:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44204:4:22","nodeType":"YulLiteral","src":"44204:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44210:2:22","nodeType":"YulIdentifier","src":"44210:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44197:6:22","nodeType":"YulIdentifier","src":"44197:6:22"},"nativeSrc":"44197:16:22","nodeType":"YulFunctionCall","src":"44197:16:22"},"nativeSrc":"44197:16:22","nodeType":"YulExpressionStatement","src":"44197:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44233:4:22","nodeType":"YulLiteral","src":"44233:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44239:2:22","nodeType":"YulIdentifier","src":"44239:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44226:6:22","nodeType":"YulIdentifier","src":"44226:6:22"},"nativeSrc":"44226:16:22","nodeType":"YulFunctionCall","src":"44226:16:22"},"nativeSrc":"44226:16:22","nodeType":"YulExpressionStatement","src":"44226:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44262:4:22","nodeType":"YulLiteral","src":"44262:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"44268:2:22","nodeType":"YulIdentifier","src":"44268:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44255:6:22","nodeType":"YulIdentifier","src":"44255:6:22"},"nativeSrc":"44255:16:22","nodeType":"YulFunctionCall","src":"44255:16:22"},"nativeSrc":"44255:16:22","nodeType":"YulExpressionStatement","src":"44255:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32807,"isOffset":false,"isSlot":false,"src":"44181:2:22","valueSize":1},{"declaration":32810,"isOffset":false,"isSlot":false,"src":"44210:2:22","valueSize":1},{"declaration":32813,"isOffset":false,"isSlot":false,"src":"44239:2:22","valueSize":1},{"declaration":32816,"isOffset":false,"isSlot":false,"src":"44268:2:22","valueSize":1}],"id":32824,"nodeType":"InlineAssembly","src":"44145:136:22"}]},"id":32826,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43552:3:22","nodeType":"FunctionDefinition","parameters":{"id":32804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32799,"mutability":"mutable","name":"p0","nameLocation":"43561:2:22","nodeType":"VariableDeclaration","scope":32826,"src":"43556:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32798,"name":"bool","nodeType":"ElementaryTypeName","src":"43556:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32801,"mutability":"mutable","name":"p1","nameLocation":"43573:2:22","nodeType":"VariableDeclaration","scope":32826,"src":"43565:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32800,"name":"uint256","nodeType":"ElementaryTypeName","src":"43565:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32803,"mutability":"mutable","name":"p2","nameLocation":"43585:2:22","nodeType":"VariableDeclaration","scope":32826,"src":"43577:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32802,"name":"address","nodeType":"ElementaryTypeName","src":"43577:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43555:33:22"},"returnParameters":{"id":32805,"nodeType":"ParameterList","parameters":[],"src":"43603:0:22"},"scope":44426,"src":"43543:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32854,"nodeType":"Block","src":"44350:681:22","statements":[{"assignments":[32836],"declarations":[{"constant":false,"id":32836,"mutability":"mutable","name":"m0","nameLocation":"44368:2:22","nodeType":"VariableDeclaration","scope":32854,"src":"44360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44360:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32837,"nodeType":"VariableDeclarationStatement","src":"44360:10:22"},{"assignments":[32839],"declarations":[{"constant":false,"id":32839,"mutability":"mutable","name":"m1","nameLocation":"44388:2:22","nodeType":"VariableDeclaration","scope":32854,"src":"44380:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44380:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32840,"nodeType":"VariableDeclarationStatement","src":"44380:10:22"},{"assignments":[32842],"declarations":[{"constant":false,"id":32842,"mutability":"mutable","name":"m2","nameLocation":"44408:2:22","nodeType":"VariableDeclaration","scope":32854,"src":"44400:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44400:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32843,"nodeType":"VariableDeclarationStatement","src":"44400:10:22"},{"assignments":[32845],"declarations":[{"constant":false,"id":32845,"mutability":"mutable","name":"m3","nameLocation":"44428:2:22","nodeType":"VariableDeclaration","scope":32854,"src":"44420:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44420:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32846,"nodeType":"VariableDeclarationStatement","src":"44420:10:22"},{"AST":{"nativeSrc":"44492:308:22","nodeType":"YulBlock","src":"44492:308:22","statements":[{"nativeSrc":"44506:17:22","nodeType":"YulAssignment","src":"44506:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"44518:4:22","nodeType":"YulLiteral","src":"44518:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"44512:5:22","nodeType":"YulIdentifier","src":"44512:5:22"},"nativeSrc":"44512:11:22","nodeType":"YulFunctionCall","src":"44512:11:22"},"variableNames":[{"name":"m0","nativeSrc":"44506:2:22","nodeType":"YulIdentifier","src":"44506:2:22"}]},{"nativeSrc":"44536:17:22","nodeType":"YulAssignment","src":"44536:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"44548:4:22","nodeType":"YulLiteral","src":"44548:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"44542:5:22","nodeType":"YulIdentifier","src":"44542:5:22"},"nativeSrc":"44542:11:22","nodeType":"YulFunctionCall","src":"44542:11:22"},"variableNames":[{"name":"m1","nativeSrc":"44536:2:22","nodeType":"YulIdentifier","src":"44536:2:22"}]},{"nativeSrc":"44566:17:22","nodeType":"YulAssignment","src":"44566:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"44578:4:22","nodeType":"YulLiteral","src":"44578:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"44572:5:22","nodeType":"YulIdentifier","src":"44572:5:22"},"nativeSrc":"44572:11:22","nodeType":"YulFunctionCall","src":"44572:11:22"},"variableNames":[{"name":"m2","nativeSrc":"44566:2:22","nodeType":"YulIdentifier","src":"44566:2:22"}]},{"nativeSrc":"44596:17:22","nodeType":"YulAssignment","src":"44596:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"44608:4:22","nodeType":"YulLiteral","src":"44608:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"44602:5:22","nodeType":"YulIdentifier","src":"44602:5:22"},"nativeSrc":"44602:11:22","nodeType":"YulFunctionCall","src":"44602:11:22"},"variableNames":[{"name":"m3","nativeSrc":"44596:2:22","nodeType":"YulIdentifier","src":"44596:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44686:4:22","nodeType":"YulLiteral","src":"44686:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"44692:10:22","nodeType":"YulLiteral","src":"44692:10:22","type":"","value":"0xe8defba9"}],"functionName":{"name":"mstore","nativeSrc":"44679:6:22","nodeType":"YulIdentifier","src":"44679:6:22"},"nativeSrc":"44679:24:22","nodeType":"YulFunctionCall","src":"44679:24:22"},"nativeSrc":"44679:24:22","nodeType":"YulExpressionStatement","src":"44679:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44723:4:22","nodeType":"YulLiteral","src":"44723:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"44729:2:22","nodeType":"YulIdentifier","src":"44729:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44716:6:22","nodeType":"YulIdentifier","src":"44716:6:22"},"nativeSrc":"44716:16:22","nodeType":"YulFunctionCall","src":"44716:16:22"},"nativeSrc":"44716:16:22","nodeType":"YulExpressionStatement","src":"44716:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44752:4:22","nodeType":"YulLiteral","src":"44752:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44758:2:22","nodeType":"YulIdentifier","src":"44758:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44745:6:22","nodeType":"YulIdentifier","src":"44745:6:22"},"nativeSrc":"44745:16:22","nodeType":"YulFunctionCall","src":"44745:16:22"},"nativeSrc":"44745:16:22","nodeType":"YulExpressionStatement","src":"44745:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44781:4:22","nodeType":"YulLiteral","src":"44781:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44787:2:22","nodeType":"YulIdentifier","src":"44787:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44774:6:22","nodeType":"YulIdentifier","src":"44774:6:22"},"nativeSrc":"44774:16:22","nodeType":"YulFunctionCall","src":"44774:16:22"},"nativeSrc":"44774:16:22","nodeType":"YulExpressionStatement","src":"44774:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32836,"isOffset":false,"isSlot":false,"src":"44506:2:22","valueSize":1},{"declaration":32839,"isOffset":false,"isSlot":false,"src":"44536:2:22","valueSize":1},{"declaration":32842,"isOffset":false,"isSlot":false,"src":"44566:2:22","valueSize":1},{"declaration":32845,"isOffset":false,"isSlot":false,"src":"44596:2:22","valueSize":1},{"declaration":32828,"isOffset":false,"isSlot":false,"src":"44729:2:22","valueSize":1},{"declaration":32830,"isOffset":false,"isSlot":false,"src":"44758:2:22","valueSize":1},{"declaration":32832,"isOffset":false,"isSlot":false,"src":"44787:2:22","valueSize":1}],"id":32847,"nodeType":"InlineAssembly","src":"44483:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44825:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44831:4:22","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":32848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"44809:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44809:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32852,"nodeType":"ExpressionStatement","src":"44809:27:22"},{"AST":{"nativeSrc":"44898:127:22","nodeType":"YulBlock","src":"44898:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44919:4:22","nodeType":"YulLiteral","src":"44919:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44925:2:22","nodeType":"YulIdentifier","src":"44925:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44912:6:22","nodeType":"YulIdentifier","src":"44912:6:22"},"nativeSrc":"44912:16:22","nodeType":"YulFunctionCall","src":"44912:16:22"},"nativeSrc":"44912:16:22","nodeType":"YulExpressionStatement","src":"44912:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44948:4:22","nodeType":"YulLiteral","src":"44948:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44954:2:22","nodeType":"YulIdentifier","src":"44954:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44941:6:22","nodeType":"YulIdentifier","src":"44941:6:22"},"nativeSrc":"44941:16:22","nodeType":"YulFunctionCall","src":"44941:16:22"},"nativeSrc":"44941:16:22","nodeType":"YulExpressionStatement","src":"44941:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44977:4:22","nodeType":"YulLiteral","src":"44977:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44983:2:22","nodeType":"YulIdentifier","src":"44983:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44970:6:22","nodeType":"YulIdentifier","src":"44970:6:22"},"nativeSrc":"44970:16:22","nodeType":"YulFunctionCall","src":"44970:16:22"},"nativeSrc":"44970:16:22","nodeType":"YulExpressionStatement","src":"44970:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45006:4:22","nodeType":"YulLiteral","src":"45006:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45012:2:22","nodeType":"YulIdentifier","src":"45012:2:22"}],"functionName":{"name":"mstore","nativeSrc":"44999:6:22","nodeType":"YulIdentifier","src":"44999:6:22"},"nativeSrc":"44999:16:22","nodeType":"YulFunctionCall","src":"44999:16:22"},"nativeSrc":"44999:16:22","nodeType":"YulExpressionStatement","src":"44999:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32836,"isOffset":false,"isSlot":false,"src":"44925:2:22","valueSize":1},{"declaration":32839,"isOffset":false,"isSlot":false,"src":"44954:2:22","valueSize":1},{"declaration":32842,"isOffset":false,"isSlot":false,"src":"44983:2:22","valueSize":1},{"declaration":32845,"isOffset":false,"isSlot":false,"src":"45012:2:22","valueSize":1}],"id":32853,"nodeType":"InlineAssembly","src":"44889:136:22"}]},"id":32855,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44302:3:22","nodeType":"FunctionDefinition","parameters":{"id":32833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32828,"mutability":"mutable","name":"p0","nameLocation":"44311:2:22","nodeType":"VariableDeclaration","scope":32855,"src":"44306:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32827,"name":"bool","nodeType":"ElementaryTypeName","src":"44306:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32830,"mutability":"mutable","name":"p1","nameLocation":"44323:2:22","nodeType":"VariableDeclaration","scope":32855,"src":"44315:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32829,"name":"uint256","nodeType":"ElementaryTypeName","src":"44315:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32832,"mutability":"mutable","name":"p2","nameLocation":"44332:2:22","nodeType":"VariableDeclaration","scope":32855,"src":"44327:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32831,"name":"bool","nodeType":"ElementaryTypeName","src":"44327:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44305:30:22"},"returnParameters":{"id":32834,"nodeType":"ParameterList","parameters":[],"src":"44350:0:22"},"scope":44426,"src":"44293:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32883,"nodeType":"Block","src":"45097:684:22","statements":[{"assignments":[32865],"declarations":[{"constant":false,"id":32865,"mutability":"mutable","name":"m0","nameLocation":"45115:2:22","nodeType":"VariableDeclaration","scope":32883,"src":"45107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32866,"nodeType":"VariableDeclarationStatement","src":"45107:10:22"},{"assignments":[32868],"declarations":[{"constant":false,"id":32868,"mutability":"mutable","name":"m1","nameLocation":"45135:2:22","nodeType":"VariableDeclaration","scope":32883,"src":"45127:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45127:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32869,"nodeType":"VariableDeclarationStatement","src":"45127:10:22"},{"assignments":[32871],"declarations":[{"constant":false,"id":32871,"mutability":"mutable","name":"m2","nameLocation":"45155:2:22","nodeType":"VariableDeclaration","scope":32883,"src":"45147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32872,"nodeType":"VariableDeclarationStatement","src":"45147:10:22"},{"assignments":[32874],"declarations":[{"constant":false,"id":32874,"mutability":"mutable","name":"m3","nameLocation":"45175:2:22","nodeType":"VariableDeclaration","scope":32883,"src":"45167:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45167:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32875,"nodeType":"VariableDeclarationStatement","src":"45167:10:22"},{"AST":{"nativeSrc":"45239:311:22","nodeType":"YulBlock","src":"45239:311:22","statements":[{"nativeSrc":"45253:17:22","nodeType":"YulAssignment","src":"45253:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"45265:4:22","nodeType":"YulLiteral","src":"45265:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"45259:5:22","nodeType":"YulIdentifier","src":"45259:5:22"},"nativeSrc":"45259:11:22","nodeType":"YulFunctionCall","src":"45259:11:22"},"variableNames":[{"name":"m0","nativeSrc":"45253:2:22","nodeType":"YulIdentifier","src":"45253:2:22"}]},{"nativeSrc":"45283:17:22","nodeType":"YulAssignment","src":"45283:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"45295:4:22","nodeType":"YulLiteral","src":"45295:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"45289:5:22","nodeType":"YulIdentifier","src":"45289:5:22"},"nativeSrc":"45289:11:22","nodeType":"YulFunctionCall","src":"45289:11:22"},"variableNames":[{"name":"m1","nativeSrc":"45283:2:22","nodeType":"YulIdentifier","src":"45283:2:22"}]},{"nativeSrc":"45313:17:22","nodeType":"YulAssignment","src":"45313:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"45325:4:22","nodeType":"YulLiteral","src":"45325:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"45319:5:22","nodeType":"YulIdentifier","src":"45319:5:22"},"nativeSrc":"45319:11:22","nodeType":"YulFunctionCall","src":"45319:11:22"},"variableNames":[{"name":"m2","nativeSrc":"45313:2:22","nodeType":"YulIdentifier","src":"45313:2:22"}]},{"nativeSrc":"45343:17:22","nodeType":"YulAssignment","src":"45343:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"45355:4:22","nodeType":"YulLiteral","src":"45355:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"45349:5:22","nodeType":"YulIdentifier","src":"45349:5:22"},"nativeSrc":"45349:11:22","nodeType":"YulFunctionCall","src":"45349:11:22"},"variableNames":[{"name":"m3","nativeSrc":"45343:2:22","nodeType":"YulIdentifier","src":"45343:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45436:4:22","nodeType":"YulLiteral","src":"45436:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"45442:10:22","nodeType":"YulLiteral","src":"45442:10:22","type":"","value":"0x37103367"}],"functionName":{"name":"mstore","nativeSrc":"45429:6:22","nodeType":"YulIdentifier","src":"45429:6:22"},"nativeSrc":"45429:24:22","nodeType":"YulFunctionCall","src":"45429:24:22"},"nativeSrc":"45429:24:22","nodeType":"YulExpressionStatement","src":"45429:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45473:4:22","nodeType":"YulLiteral","src":"45473:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"45479:2:22","nodeType":"YulIdentifier","src":"45479:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45466:6:22","nodeType":"YulIdentifier","src":"45466:6:22"},"nativeSrc":"45466:16:22","nodeType":"YulFunctionCall","src":"45466:16:22"},"nativeSrc":"45466:16:22","nodeType":"YulExpressionStatement","src":"45466:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45502:4:22","nodeType":"YulLiteral","src":"45502:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"45508:2:22","nodeType":"YulIdentifier","src":"45508:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45495:6:22","nodeType":"YulIdentifier","src":"45495:6:22"},"nativeSrc":"45495:16:22","nodeType":"YulFunctionCall","src":"45495:16:22"},"nativeSrc":"45495:16:22","nodeType":"YulExpressionStatement","src":"45495:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45531:4:22","nodeType":"YulLiteral","src":"45531:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"45537:2:22","nodeType":"YulIdentifier","src":"45537:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45524:6:22","nodeType":"YulIdentifier","src":"45524:6:22"},"nativeSrc":"45524:16:22","nodeType":"YulFunctionCall","src":"45524:16:22"},"nativeSrc":"45524:16:22","nodeType":"YulExpressionStatement","src":"45524:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32865,"isOffset":false,"isSlot":false,"src":"45253:2:22","valueSize":1},{"declaration":32868,"isOffset":false,"isSlot":false,"src":"45283:2:22","valueSize":1},{"declaration":32871,"isOffset":false,"isSlot":false,"src":"45313:2:22","valueSize":1},{"declaration":32874,"isOffset":false,"isSlot":false,"src":"45343:2:22","valueSize":1},{"declaration":32857,"isOffset":false,"isSlot":false,"src":"45479:2:22","valueSize":1},{"declaration":32859,"isOffset":false,"isSlot":false,"src":"45508:2:22","valueSize":1},{"declaration":32861,"isOffset":false,"isSlot":false,"src":"45537:2:22","valueSize":1}],"id":32876,"nodeType":"InlineAssembly","src":"45230:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45575:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":32879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45581:4:22","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":32877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"45559:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45559:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32881,"nodeType":"ExpressionStatement","src":"45559:27:22"},{"AST":{"nativeSrc":"45648:127:22","nodeType":"YulBlock","src":"45648:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"45669:4:22","nodeType":"YulLiteral","src":"45669:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"45675:2:22","nodeType":"YulIdentifier","src":"45675:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45662:6:22","nodeType":"YulIdentifier","src":"45662:6:22"},"nativeSrc":"45662:16:22","nodeType":"YulFunctionCall","src":"45662:16:22"},"nativeSrc":"45662:16:22","nodeType":"YulExpressionStatement","src":"45662:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45698:4:22","nodeType":"YulLiteral","src":"45698:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"45704:2:22","nodeType":"YulIdentifier","src":"45704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45691:6:22","nodeType":"YulIdentifier","src":"45691:6:22"},"nativeSrc":"45691:16:22","nodeType":"YulFunctionCall","src":"45691:16:22"},"nativeSrc":"45691:16:22","nodeType":"YulExpressionStatement","src":"45691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45727:4:22","nodeType":"YulLiteral","src":"45727:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"45733:2:22","nodeType":"YulIdentifier","src":"45733:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45720:6:22","nodeType":"YulIdentifier","src":"45720:6:22"},"nativeSrc":"45720:16:22","nodeType":"YulFunctionCall","src":"45720:16:22"},"nativeSrc":"45720:16:22","nodeType":"YulExpressionStatement","src":"45720:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45756:4:22","nodeType":"YulLiteral","src":"45756:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45762:2:22","nodeType":"YulIdentifier","src":"45762:2:22"}],"functionName":{"name":"mstore","nativeSrc":"45749:6:22","nodeType":"YulIdentifier","src":"45749:6:22"},"nativeSrc":"45749:16:22","nodeType":"YulFunctionCall","src":"45749:16:22"},"nativeSrc":"45749:16:22","nodeType":"YulExpressionStatement","src":"45749:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32865,"isOffset":false,"isSlot":false,"src":"45675:2:22","valueSize":1},{"declaration":32868,"isOffset":false,"isSlot":false,"src":"45704:2:22","valueSize":1},{"declaration":32871,"isOffset":false,"isSlot":false,"src":"45733:2:22","valueSize":1},{"declaration":32874,"isOffset":false,"isSlot":false,"src":"45762:2:22","valueSize":1}],"id":32882,"nodeType":"InlineAssembly","src":"45639:136:22"}]},"id":32884,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45046:3:22","nodeType":"FunctionDefinition","parameters":{"id":32862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32857,"mutability":"mutable","name":"p0","nameLocation":"45055:2:22","nodeType":"VariableDeclaration","scope":32884,"src":"45050:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32856,"name":"bool","nodeType":"ElementaryTypeName","src":"45050:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32859,"mutability":"mutable","name":"p1","nameLocation":"45067:2:22","nodeType":"VariableDeclaration","scope":32884,"src":"45059:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32858,"name":"uint256","nodeType":"ElementaryTypeName","src":"45059:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32861,"mutability":"mutable","name":"p2","nameLocation":"45079:2:22","nodeType":"VariableDeclaration","scope":32884,"src":"45071:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32860,"name":"uint256","nodeType":"ElementaryTypeName","src":"45071:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45049:33:22"},"returnParameters":{"id":32863,"nodeType":"ParameterList","parameters":[],"src":"45097:0:22"},"scope":44426,"src":"45037:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32918,"nodeType":"Block","src":"45847:1232:22","statements":[{"assignments":[32894],"declarations":[{"constant":false,"id":32894,"mutability":"mutable","name":"m0","nameLocation":"45865:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45857:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45857:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32895,"nodeType":"VariableDeclarationStatement","src":"45857:10:22"},{"assignments":[32897],"declarations":[{"constant":false,"id":32897,"mutability":"mutable","name":"m1","nameLocation":"45885:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45877:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45877:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32898,"nodeType":"VariableDeclarationStatement","src":"45877:10:22"},{"assignments":[32900],"declarations":[{"constant":false,"id":32900,"mutability":"mutable","name":"m2","nameLocation":"45905:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45897:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45897:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32901,"nodeType":"VariableDeclarationStatement","src":"45897:10:22"},{"assignments":[32903],"declarations":[{"constant":false,"id":32903,"mutability":"mutable","name":"m3","nameLocation":"45925:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45917:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45917:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32904,"nodeType":"VariableDeclarationStatement","src":"45917:10:22"},{"assignments":[32906],"declarations":[{"constant":false,"id":32906,"mutability":"mutable","name":"m4","nameLocation":"45945:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45937:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45937:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32907,"nodeType":"VariableDeclarationStatement","src":"45937:10:22"},{"assignments":[32909],"declarations":[{"constant":false,"id":32909,"mutability":"mutable","name":"m5","nameLocation":"45965:2:22","nodeType":"VariableDeclaration","scope":32918,"src":"45957:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45957:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32910,"nodeType":"VariableDeclarationStatement","src":"45957:10:22"},{"AST":{"nativeSrc":"46029:761:22","nodeType":"YulBlock","src":"46029:761:22","statements":[{"body":{"nativeSrc":"46072:313:22","nodeType":"YulBlock","src":"46072:313:22","statements":[{"nativeSrc":"46090:15:22","nodeType":"YulVariableDeclaration","src":"46090:15:22","value":{"kind":"number","nativeSrc":"46104:1:22","nodeType":"YulLiteral","src":"46104:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"46094:6:22","nodeType":"YulTypedName","src":"46094:6:22","type":""}]},{"body":{"nativeSrc":"46175:40:22","nodeType":"YulBlock","src":"46175:40:22","statements":[{"body":{"nativeSrc":"46204:9:22","nodeType":"YulBlock","src":"46204:9:22","statements":[{"nativeSrc":"46206:5:22","nodeType":"YulBreak","src":"46206:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"46192:6:22","nodeType":"YulIdentifier","src":"46192:6:22"},{"name":"w","nativeSrc":"46200:1:22","nodeType":"YulIdentifier","src":"46200:1:22"}],"functionName":{"name":"byte","nativeSrc":"46187:4:22","nodeType":"YulIdentifier","src":"46187:4:22"},"nativeSrc":"46187:15:22","nodeType":"YulFunctionCall","src":"46187:15:22"}],"functionName":{"name":"iszero","nativeSrc":"46180:6:22","nodeType":"YulIdentifier","src":"46180:6:22"},"nativeSrc":"46180:23:22","nodeType":"YulFunctionCall","src":"46180:23:22"},"nativeSrc":"46177:36:22","nodeType":"YulIf","src":"46177:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"46132:6:22","nodeType":"YulIdentifier","src":"46132:6:22"},{"kind":"number","nativeSrc":"46140:4:22","nodeType":"YulLiteral","src":"46140:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"46129:2:22","nodeType":"YulIdentifier","src":"46129:2:22"},"nativeSrc":"46129:16:22","nodeType":"YulFunctionCall","src":"46129:16:22"},"nativeSrc":"46122:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"46146:28:22","nodeType":"YulBlock","src":"46146:28:22","statements":[{"nativeSrc":"46148:24:22","nodeType":"YulAssignment","src":"46148:24:22","value":{"arguments":[{"name":"length","nativeSrc":"46162:6:22","nodeType":"YulIdentifier","src":"46162:6:22"},{"kind":"number","nativeSrc":"46170:1:22","nodeType":"YulLiteral","src":"46170:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"46158:3:22","nodeType":"YulIdentifier","src":"46158:3:22"},"nativeSrc":"46158:14:22","nodeType":"YulFunctionCall","src":"46158:14:22"},"variableNames":[{"name":"length","nativeSrc":"46148:6:22","nodeType":"YulIdentifier","src":"46148:6:22"}]}]},"pre":{"nativeSrc":"46126:2:22","nodeType":"YulBlock","src":"46126:2:22","statements":[]},"src":"46122:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"46239:3:22","nodeType":"YulIdentifier","src":"46239:3:22"},{"name":"length","nativeSrc":"46244:6:22","nodeType":"YulIdentifier","src":"46244:6:22"}],"functionName":{"name":"mstore","nativeSrc":"46232:6:22","nodeType":"YulIdentifier","src":"46232:6:22"},"nativeSrc":"46232:19:22","nodeType":"YulFunctionCall","src":"46232:19:22"},"nativeSrc":"46232:19:22","nodeType":"YulExpressionStatement","src":"46232:19:22"},{"nativeSrc":"46268:37:22","nodeType":"YulVariableDeclaration","src":"46268:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"46285:3:22","nodeType":"YulLiteral","src":"46285:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"46294:1:22","nodeType":"YulLiteral","src":"46294:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"46297:6:22","nodeType":"YulIdentifier","src":"46297:6:22"}],"functionName":{"name":"shl","nativeSrc":"46290:3:22","nodeType":"YulIdentifier","src":"46290:3:22"},"nativeSrc":"46290:14:22","nodeType":"YulFunctionCall","src":"46290:14:22"}],"functionName":{"name":"sub","nativeSrc":"46281:3:22","nodeType":"YulIdentifier","src":"46281:3:22"},"nativeSrc":"46281:24:22","nodeType":"YulFunctionCall","src":"46281:24:22"},"variables":[{"name":"shift","nativeSrc":"46272:5:22","nodeType":"YulTypedName","src":"46272:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"46333:3:22","nodeType":"YulIdentifier","src":"46333:3:22"},{"kind":"number","nativeSrc":"46338:4:22","nodeType":"YulLiteral","src":"46338:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"46329:3:22","nodeType":"YulIdentifier","src":"46329:3:22"},"nativeSrc":"46329:14:22","nodeType":"YulFunctionCall","src":"46329:14:22"},{"arguments":[{"name":"shift","nativeSrc":"46349:5:22","nodeType":"YulIdentifier","src":"46349:5:22"},{"arguments":[{"name":"shift","nativeSrc":"46360:5:22","nodeType":"YulIdentifier","src":"46360:5:22"},{"name":"w","nativeSrc":"46367:1:22","nodeType":"YulIdentifier","src":"46367:1:22"}],"functionName":{"name":"shr","nativeSrc":"46356:3:22","nodeType":"YulIdentifier","src":"46356:3:22"},"nativeSrc":"46356:13:22","nodeType":"YulFunctionCall","src":"46356:13:22"}],"functionName":{"name":"shl","nativeSrc":"46345:3:22","nodeType":"YulIdentifier","src":"46345:3:22"},"nativeSrc":"46345:25:22","nodeType":"YulFunctionCall","src":"46345:25:22"}],"functionName":{"name":"mstore","nativeSrc":"46322:6:22","nodeType":"YulIdentifier","src":"46322:6:22"},"nativeSrc":"46322:49:22","nodeType":"YulFunctionCall","src":"46322:49:22"},"nativeSrc":"46322:49:22","nodeType":"YulExpressionStatement","src":"46322:49:22"}]},"name":"writeString","nativeSrc":"46043:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"46064:3:22","nodeType":"YulTypedName","src":"46064:3:22","type":""},{"name":"w","nativeSrc":"46069:1:22","nodeType":"YulTypedName","src":"46069:1:22","type":""}],"src":"46043:342:22"},{"nativeSrc":"46398:17:22","nodeType":"YulAssignment","src":"46398:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46410:4:22","nodeType":"YulLiteral","src":"46410:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"46404:5:22","nodeType":"YulIdentifier","src":"46404:5:22"},"nativeSrc":"46404:11:22","nodeType":"YulFunctionCall","src":"46404:11:22"},"variableNames":[{"name":"m0","nativeSrc":"46398:2:22","nodeType":"YulIdentifier","src":"46398:2:22"}]},{"nativeSrc":"46428:17:22","nodeType":"YulAssignment","src":"46428:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46440:4:22","nodeType":"YulLiteral","src":"46440:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"46434:5:22","nodeType":"YulIdentifier","src":"46434:5:22"},"nativeSrc":"46434:11:22","nodeType":"YulFunctionCall","src":"46434:11:22"},"variableNames":[{"name":"m1","nativeSrc":"46428:2:22","nodeType":"YulIdentifier","src":"46428:2:22"}]},{"nativeSrc":"46458:17:22","nodeType":"YulAssignment","src":"46458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46470:4:22","nodeType":"YulLiteral","src":"46470:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"46464:5:22","nodeType":"YulIdentifier","src":"46464:5:22"},"nativeSrc":"46464:11:22","nodeType":"YulFunctionCall","src":"46464:11:22"},"variableNames":[{"name":"m2","nativeSrc":"46458:2:22","nodeType":"YulIdentifier","src":"46458:2:22"}]},{"nativeSrc":"46488:17:22","nodeType":"YulAssignment","src":"46488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46500:4:22","nodeType":"YulLiteral","src":"46500:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"46494:5:22","nodeType":"YulIdentifier","src":"46494:5:22"},"nativeSrc":"46494:11:22","nodeType":"YulFunctionCall","src":"46494:11:22"},"variableNames":[{"name":"m3","nativeSrc":"46488:2:22","nodeType":"YulIdentifier","src":"46488:2:22"}]},{"nativeSrc":"46518:17:22","nodeType":"YulAssignment","src":"46518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46530:4:22","nodeType":"YulLiteral","src":"46530:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"46524:5:22","nodeType":"YulIdentifier","src":"46524:5:22"},"nativeSrc":"46524:11:22","nodeType":"YulFunctionCall","src":"46524:11:22"},"variableNames":[{"name":"m4","nativeSrc":"46518:2:22","nodeType":"YulIdentifier","src":"46518:2:22"}]},{"nativeSrc":"46548:17:22","nodeType":"YulAssignment","src":"46548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"46560:4:22","nodeType":"YulLiteral","src":"46560:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"46554:5:22","nodeType":"YulIdentifier","src":"46554:5:22"},"nativeSrc":"46554:11:22","nodeType":"YulFunctionCall","src":"46554:11:22"},"variableNames":[{"name":"m5","nativeSrc":"46548:2:22","nodeType":"YulIdentifier","src":"46548:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46640:4:22","nodeType":"YulLiteral","src":"46640:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"46646:10:22","nodeType":"YulLiteral","src":"46646:10:22","type":"","value":"0xc3fc3970"}],"functionName":{"name":"mstore","nativeSrc":"46633:6:22","nodeType":"YulIdentifier","src":"46633:6:22"},"nativeSrc":"46633:24:22","nodeType":"YulFunctionCall","src":"46633:24:22"},"nativeSrc":"46633:24:22","nodeType":"YulExpressionStatement","src":"46633:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46677:4:22","nodeType":"YulLiteral","src":"46677:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"46683:2:22","nodeType":"YulIdentifier","src":"46683:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46670:6:22","nodeType":"YulIdentifier","src":"46670:6:22"},"nativeSrc":"46670:16:22","nodeType":"YulFunctionCall","src":"46670:16:22"},"nativeSrc":"46670:16:22","nodeType":"YulExpressionStatement","src":"46670:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46706:4:22","nodeType":"YulLiteral","src":"46706:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"46712:2:22","nodeType":"YulIdentifier","src":"46712:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46699:6:22","nodeType":"YulIdentifier","src":"46699:6:22"},"nativeSrc":"46699:16:22","nodeType":"YulFunctionCall","src":"46699:16:22"},"nativeSrc":"46699:16:22","nodeType":"YulExpressionStatement","src":"46699:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46735:4:22","nodeType":"YulLiteral","src":"46735:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"46741:4:22","nodeType":"YulLiteral","src":"46741:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"46728:6:22","nodeType":"YulIdentifier","src":"46728:6:22"},"nativeSrc":"46728:18:22","nodeType":"YulFunctionCall","src":"46728:18:22"},"nativeSrc":"46728:18:22","nodeType":"YulExpressionStatement","src":"46728:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46771:4:22","nodeType":"YulLiteral","src":"46771:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"46777:2:22","nodeType":"YulIdentifier","src":"46777:2:22"}],"functionName":{"name":"writeString","nativeSrc":"46759:11:22","nodeType":"YulIdentifier","src":"46759:11:22"},"nativeSrc":"46759:21:22","nodeType":"YulFunctionCall","src":"46759:21:22"},"nativeSrc":"46759:21:22","nodeType":"YulExpressionStatement","src":"46759:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32894,"isOffset":false,"isSlot":false,"src":"46398:2:22","valueSize":1},{"declaration":32897,"isOffset":false,"isSlot":false,"src":"46428:2:22","valueSize":1},{"declaration":32900,"isOffset":false,"isSlot":false,"src":"46458:2:22","valueSize":1},{"declaration":32903,"isOffset":false,"isSlot":false,"src":"46488:2:22","valueSize":1},{"declaration":32906,"isOffset":false,"isSlot":false,"src":"46518:2:22","valueSize":1},{"declaration":32909,"isOffset":false,"isSlot":false,"src":"46548:2:22","valueSize":1},{"declaration":32886,"isOffset":false,"isSlot":false,"src":"46683:2:22","valueSize":1},{"declaration":32888,"isOffset":false,"isSlot":false,"src":"46712:2:22","valueSize":1},{"declaration":32890,"isOffset":false,"isSlot":false,"src":"46777:2:22","valueSize":1}],"id":32911,"nodeType":"InlineAssembly","src":"46020:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46815:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46821:4:22","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":32912,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"46799:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46799:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32916,"nodeType":"ExpressionStatement","src":"46799:27:22"},{"AST":{"nativeSrc":"46888:185:22","nodeType":"YulBlock","src":"46888:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"46909:4:22","nodeType":"YulLiteral","src":"46909:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"46915:2:22","nodeType":"YulIdentifier","src":"46915:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46902:6:22","nodeType":"YulIdentifier","src":"46902:6:22"},"nativeSrc":"46902:16:22","nodeType":"YulFunctionCall","src":"46902:16:22"},"nativeSrc":"46902:16:22","nodeType":"YulExpressionStatement","src":"46902:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46938:4:22","nodeType":"YulLiteral","src":"46938:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"46944:2:22","nodeType":"YulIdentifier","src":"46944:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46931:6:22","nodeType":"YulIdentifier","src":"46931:6:22"},"nativeSrc":"46931:16:22","nodeType":"YulFunctionCall","src":"46931:16:22"},"nativeSrc":"46931:16:22","nodeType":"YulExpressionStatement","src":"46931:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46967:4:22","nodeType":"YulLiteral","src":"46967:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"46973:2:22","nodeType":"YulIdentifier","src":"46973:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46960:6:22","nodeType":"YulIdentifier","src":"46960:6:22"},"nativeSrc":"46960:16:22","nodeType":"YulFunctionCall","src":"46960:16:22"},"nativeSrc":"46960:16:22","nodeType":"YulExpressionStatement","src":"46960:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46996:4:22","nodeType":"YulLiteral","src":"46996:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"47002:2:22","nodeType":"YulIdentifier","src":"47002:2:22"}],"functionName":{"name":"mstore","nativeSrc":"46989:6:22","nodeType":"YulIdentifier","src":"46989:6:22"},"nativeSrc":"46989:16:22","nodeType":"YulFunctionCall","src":"46989:16:22"},"nativeSrc":"46989:16:22","nodeType":"YulExpressionStatement","src":"46989:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47025:4:22","nodeType":"YulLiteral","src":"47025:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"47031:2:22","nodeType":"YulIdentifier","src":"47031:2:22"}],"functionName":{"name":"mstore","nativeSrc":"47018:6:22","nodeType":"YulIdentifier","src":"47018:6:22"},"nativeSrc":"47018:16:22","nodeType":"YulFunctionCall","src":"47018:16:22"},"nativeSrc":"47018:16:22","nodeType":"YulExpressionStatement","src":"47018:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47054:4:22","nodeType":"YulLiteral","src":"47054:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"47060:2:22","nodeType":"YulIdentifier","src":"47060:2:22"}],"functionName":{"name":"mstore","nativeSrc":"47047:6:22","nodeType":"YulIdentifier","src":"47047:6:22"},"nativeSrc":"47047:16:22","nodeType":"YulFunctionCall","src":"47047:16:22"},"nativeSrc":"47047:16:22","nodeType":"YulExpressionStatement","src":"47047:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32894,"isOffset":false,"isSlot":false,"src":"46915:2:22","valueSize":1},{"declaration":32897,"isOffset":false,"isSlot":false,"src":"46944:2:22","valueSize":1},{"declaration":32900,"isOffset":false,"isSlot":false,"src":"46973:2:22","valueSize":1},{"declaration":32903,"isOffset":false,"isSlot":false,"src":"47002:2:22","valueSize":1},{"declaration":32906,"isOffset":false,"isSlot":false,"src":"47031:2:22","valueSize":1},{"declaration":32909,"isOffset":false,"isSlot":false,"src":"47060:2:22","valueSize":1}],"id":32917,"nodeType":"InlineAssembly","src":"46879:194:22"}]},"id":32919,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45796:3:22","nodeType":"FunctionDefinition","parameters":{"id":32891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32886,"mutability":"mutable","name":"p0","nameLocation":"45805:2:22","nodeType":"VariableDeclaration","scope":32919,"src":"45800:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32885,"name":"bool","nodeType":"ElementaryTypeName","src":"45800:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32888,"mutability":"mutable","name":"p1","nameLocation":"45817:2:22","nodeType":"VariableDeclaration","scope":32919,"src":"45809:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32887,"name":"uint256","nodeType":"ElementaryTypeName","src":"45809:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32890,"mutability":"mutable","name":"p2","nameLocation":"45829:2:22","nodeType":"VariableDeclaration","scope":32919,"src":"45821:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45821:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"45799:33:22"},"returnParameters":{"id":32892,"nodeType":"ParameterList","parameters":[],"src":"45847:0:22"},"scope":44426,"src":"45787:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32953,"nodeType":"Block","src":"47145:1232:22","statements":[{"assignments":[32929],"declarations":[{"constant":false,"id":32929,"mutability":"mutable","name":"m0","nameLocation":"47163:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47155:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47155:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32930,"nodeType":"VariableDeclarationStatement","src":"47155:10:22"},{"assignments":[32932],"declarations":[{"constant":false,"id":32932,"mutability":"mutable","name":"m1","nameLocation":"47183:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47175:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47175:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32933,"nodeType":"VariableDeclarationStatement","src":"47175:10:22"},{"assignments":[32935],"declarations":[{"constant":false,"id":32935,"mutability":"mutable","name":"m2","nameLocation":"47203:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47195:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47195:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32936,"nodeType":"VariableDeclarationStatement","src":"47195:10:22"},{"assignments":[32938],"declarations":[{"constant":false,"id":32938,"mutability":"mutable","name":"m3","nameLocation":"47223:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47215:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47215:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32939,"nodeType":"VariableDeclarationStatement","src":"47215:10:22"},{"assignments":[32941],"declarations":[{"constant":false,"id":32941,"mutability":"mutable","name":"m4","nameLocation":"47243:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47235:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47235:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32942,"nodeType":"VariableDeclarationStatement","src":"47235:10:22"},{"assignments":[32944],"declarations":[{"constant":false,"id":32944,"mutability":"mutable","name":"m5","nameLocation":"47263:2:22","nodeType":"VariableDeclaration","scope":32953,"src":"47255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47255:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32945,"nodeType":"VariableDeclarationStatement","src":"47255:10:22"},{"AST":{"nativeSrc":"47327:761:22","nodeType":"YulBlock","src":"47327:761:22","statements":[{"body":{"nativeSrc":"47370:313:22","nodeType":"YulBlock","src":"47370:313:22","statements":[{"nativeSrc":"47388:15:22","nodeType":"YulVariableDeclaration","src":"47388:15:22","value":{"kind":"number","nativeSrc":"47402:1:22","nodeType":"YulLiteral","src":"47402:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"47392:6:22","nodeType":"YulTypedName","src":"47392:6:22","type":""}]},{"body":{"nativeSrc":"47473:40:22","nodeType":"YulBlock","src":"47473:40:22","statements":[{"body":{"nativeSrc":"47502:9:22","nodeType":"YulBlock","src":"47502:9:22","statements":[{"nativeSrc":"47504:5:22","nodeType":"YulBreak","src":"47504:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"47490:6:22","nodeType":"YulIdentifier","src":"47490:6:22"},{"name":"w","nativeSrc":"47498:1:22","nodeType":"YulIdentifier","src":"47498:1:22"}],"functionName":{"name":"byte","nativeSrc":"47485:4:22","nodeType":"YulIdentifier","src":"47485:4:22"},"nativeSrc":"47485:15:22","nodeType":"YulFunctionCall","src":"47485:15:22"}],"functionName":{"name":"iszero","nativeSrc":"47478:6:22","nodeType":"YulIdentifier","src":"47478:6:22"},"nativeSrc":"47478:23:22","nodeType":"YulFunctionCall","src":"47478:23:22"},"nativeSrc":"47475:36:22","nodeType":"YulIf","src":"47475:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"47430:6:22","nodeType":"YulIdentifier","src":"47430:6:22"},{"kind":"number","nativeSrc":"47438:4:22","nodeType":"YulLiteral","src":"47438:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"47427:2:22","nodeType":"YulIdentifier","src":"47427:2:22"},"nativeSrc":"47427:16:22","nodeType":"YulFunctionCall","src":"47427:16:22"},"nativeSrc":"47420:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"47444:28:22","nodeType":"YulBlock","src":"47444:28:22","statements":[{"nativeSrc":"47446:24:22","nodeType":"YulAssignment","src":"47446:24:22","value":{"arguments":[{"name":"length","nativeSrc":"47460:6:22","nodeType":"YulIdentifier","src":"47460:6:22"},{"kind":"number","nativeSrc":"47468:1:22","nodeType":"YulLiteral","src":"47468:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"47456:3:22","nodeType":"YulIdentifier","src":"47456:3:22"},"nativeSrc":"47456:14:22","nodeType":"YulFunctionCall","src":"47456:14:22"},"variableNames":[{"name":"length","nativeSrc":"47446:6:22","nodeType":"YulIdentifier","src":"47446:6:22"}]}]},"pre":{"nativeSrc":"47424:2:22","nodeType":"YulBlock","src":"47424:2:22","statements":[]},"src":"47420:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"47537:3:22","nodeType":"YulIdentifier","src":"47537:3:22"},{"name":"length","nativeSrc":"47542:6:22","nodeType":"YulIdentifier","src":"47542:6:22"}],"functionName":{"name":"mstore","nativeSrc":"47530:6:22","nodeType":"YulIdentifier","src":"47530:6:22"},"nativeSrc":"47530:19:22","nodeType":"YulFunctionCall","src":"47530:19:22"},"nativeSrc":"47530:19:22","nodeType":"YulExpressionStatement","src":"47530:19:22"},{"nativeSrc":"47566:37:22","nodeType":"YulVariableDeclaration","src":"47566:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"47583:3:22","nodeType":"YulLiteral","src":"47583:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"47592:1:22","nodeType":"YulLiteral","src":"47592:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"47595:6:22","nodeType":"YulIdentifier","src":"47595:6:22"}],"functionName":{"name":"shl","nativeSrc":"47588:3:22","nodeType":"YulIdentifier","src":"47588:3:22"},"nativeSrc":"47588:14:22","nodeType":"YulFunctionCall","src":"47588:14:22"}],"functionName":{"name":"sub","nativeSrc":"47579:3:22","nodeType":"YulIdentifier","src":"47579:3:22"},"nativeSrc":"47579:24:22","nodeType":"YulFunctionCall","src":"47579:24:22"},"variables":[{"name":"shift","nativeSrc":"47570:5:22","nodeType":"YulTypedName","src":"47570:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"47631:3:22","nodeType":"YulIdentifier","src":"47631:3:22"},{"kind":"number","nativeSrc":"47636:4:22","nodeType":"YulLiteral","src":"47636:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"47627:3:22","nodeType":"YulIdentifier","src":"47627:3:22"},"nativeSrc":"47627:14:22","nodeType":"YulFunctionCall","src":"47627:14:22"},{"arguments":[{"name":"shift","nativeSrc":"47647:5:22","nodeType":"YulIdentifier","src":"47647:5:22"},{"arguments":[{"name":"shift","nativeSrc":"47658:5:22","nodeType":"YulIdentifier","src":"47658:5:22"},{"name":"w","nativeSrc":"47665:1:22","nodeType":"YulIdentifier","src":"47665:1:22"}],"functionName":{"name":"shr","nativeSrc":"47654:3:22","nodeType":"YulIdentifier","src":"47654:3:22"},"nativeSrc":"47654:13:22","nodeType":"YulFunctionCall","src":"47654:13:22"}],"functionName":{"name":"shl","nativeSrc":"47643:3:22","nodeType":"YulIdentifier","src":"47643:3:22"},"nativeSrc":"47643:25:22","nodeType":"YulFunctionCall","src":"47643:25:22"}],"functionName":{"name":"mstore","nativeSrc":"47620:6:22","nodeType":"YulIdentifier","src":"47620:6:22"},"nativeSrc":"47620:49:22","nodeType":"YulFunctionCall","src":"47620:49:22"},"nativeSrc":"47620:49:22","nodeType":"YulExpressionStatement","src":"47620:49:22"}]},"name":"writeString","nativeSrc":"47341:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"47362:3:22","nodeType":"YulTypedName","src":"47362:3:22","type":""},{"name":"w","nativeSrc":"47367:1:22","nodeType":"YulTypedName","src":"47367:1:22","type":""}],"src":"47341:342:22"},{"nativeSrc":"47696:17:22","nodeType":"YulAssignment","src":"47696:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47708:4:22","nodeType":"YulLiteral","src":"47708:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"47702:5:22","nodeType":"YulIdentifier","src":"47702:5:22"},"nativeSrc":"47702:11:22","nodeType":"YulFunctionCall","src":"47702:11:22"},"variableNames":[{"name":"m0","nativeSrc":"47696:2:22","nodeType":"YulIdentifier","src":"47696:2:22"}]},{"nativeSrc":"47726:17:22","nodeType":"YulAssignment","src":"47726:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47738:4:22","nodeType":"YulLiteral","src":"47738:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"47732:5:22","nodeType":"YulIdentifier","src":"47732:5:22"},"nativeSrc":"47732:11:22","nodeType":"YulFunctionCall","src":"47732:11:22"},"variableNames":[{"name":"m1","nativeSrc":"47726:2:22","nodeType":"YulIdentifier","src":"47726:2:22"}]},{"nativeSrc":"47756:17:22","nodeType":"YulAssignment","src":"47756:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47768:4:22","nodeType":"YulLiteral","src":"47768:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"47762:5:22","nodeType":"YulIdentifier","src":"47762:5:22"},"nativeSrc":"47762:11:22","nodeType":"YulFunctionCall","src":"47762:11:22"},"variableNames":[{"name":"m2","nativeSrc":"47756:2:22","nodeType":"YulIdentifier","src":"47756:2:22"}]},{"nativeSrc":"47786:17:22","nodeType":"YulAssignment","src":"47786:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47798:4:22","nodeType":"YulLiteral","src":"47798:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"47792:5:22","nodeType":"YulIdentifier","src":"47792:5:22"},"nativeSrc":"47792:11:22","nodeType":"YulFunctionCall","src":"47792:11:22"},"variableNames":[{"name":"m3","nativeSrc":"47786:2:22","nodeType":"YulIdentifier","src":"47786:2:22"}]},{"nativeSrc":"47816:17:22","nodeType":"YulAssignment","src":"47816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47828:4:22","nodeType":"YulLiteral","src":"47828:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"47822:5:22","nodeType":"YulIdentifier","src":"47822:5:22"},"nativeSrc":"47822:11:22","nodeType":"YulFunctionCall","src":"47822:11:22"},"variableNames":[{"name":"m4","nativeSrc":"47816:2:22","nodeType":"YulIdentifier","src":"47816:2:22"}]},{"nativeSrc":"47846:17:22","nodeType":"YulAssignment","src":"47846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"47858:4:22","nodeType":"YulLiteral","src":"47858:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"47852:5:22","nodeType":"YulIdentifier","src":"47852:5:22"},"nativeSrc":"47852:11:22","nodeType":"YulFunctionCall","src":"47852:11:22"},"variableNames":[{"name":"m5","nativeSrc":"47846:2:22","nodeType":"YulIdentifier","src":"47846:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47938:4:22","nodeType":"YulLiteral","src":"47938:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"47944:10:22","nodeType":"YulLiteral","src":"47944:10:22","type":"","value":"0x9591b953"}],"functionName":{"name":"mstore","nativeSrc":"47931:6:22","nodeType":"YulIdentifier","src":"47931:6:22"},"nativeSrc":"47931:24:22","nodeType":"YulFunctionCall","src":"47931:24:22"},"nativeSrc":"47931:24:22","nodeType":"YulExpressionStatement","src":"47931:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47975:4:22","nodeType":"YulLiteral","src":"47975:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"47981:2:22","nodeType":"YulIdentifier","src":"47981:2:22"}],"functionName":{"name":"mstore","nativeSrc":"47968:6:22","nodeType":"YulIdentifier","src":"47968:6:22"},"nativeSrc":"47968:16:22","nodeType":"YulFunctionCall","src":"47968:16:22"},"nativeSrc":"47968:16:22","nodeType":"YulExpressionStatement","src":"47968:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48004:4:22","nodeType":"YulLiteral","src":"48004:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"48010:4:22","nodeType":"YulLiteral","src":"48010:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"47997:6:22","nodeType":"YulIdentifier","src":"47997:6:22"},"nativeSrc":"47997:18:22","nodeType":"YulFunctionCall","src":"47997:18:22"},"nativeSrc":"47997:18:22","nodeType":"YulExpressionStatement","src":"47997:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48035:4:22","nodeType":"YulLiteral","src":"48035:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"48041:2:22","nodeType":"YulIdentifier","src":"48041:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48028:6:22","nodeType":"YulIdentifier","src":"48028:6:22"},"nativeSrc":"48028:16:22","nodeType":"YulFunctionCall","src":"48028:16:22"},"nativeSrc":"48028:16:22","nodeType":"YulExpressionStatement","src":"48028:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48069:4:22","nodeType":"YulLiteral","src":"48069:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"48075:2:22","nodeType":"YulIdentifier","src":"48075:2:22"}],"functionName":{"name":"writeString","nativeSrc":"48057:11:22","nodeType":"YulIdentifier","src":"48057:11:22"},"nativeSrc":"48057:21:22","nodeType":"YulFunctionCall","src":"48057:21:22"},"nativeSrc":"48057:21:22","nodeType":"YulExpressionStatement","src":"48057:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32929,"isOffset":false,"isSlot":false,"src":"47696:2:22","valueSize":1},{"declaration":32932,"isOffset":false,"isSlot":false,"src":"47726:2:22","valueSize":1},{"declaration":32935,"isOffset":false,"isSlot":false,"src":"47756:2:22","valueSize":1},{"declaration":32938,"isOffset":false,"isSlot":false,"src":"47786:2:22","valueSize":1},{"declaration":32941,"isOffset":false,"isSlot":false,"src":"47816:2:22","valueSize":1},{"declaration":32944,"isOffset":false,"isSlot":false,"src":"47846:2:22","valueSize":1},{"declaration":32921,"isOffset":false,"isSlot":false,"src":"47981:2:22","valueSize":1},{"declaration":32923,"isOffset":false,"isSlot":false,"src":"48075:2:22","valueSize":1},{"declaration":32925,"isOffset":false,"isSlot":false,"src":"48041:2:22","valueSize":1}],"id":32946,"nodeType":"InlineAssembly","src":"47318:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48113:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48119:4:22","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":32947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"48097:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48097:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32951,"nodeType":"ExpressionStatement","src":"48097:27:22"},{"AST":{"nativeSrc":"48186:185:22","nodeType":"YulBlock","src":"48186:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"48207:4:22","nodeType":"YulLiteral","src":"48207:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"48213:2:22","nodeType":"YulIdentifier","src":"48213:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48200:6:22","nodeType":"YulIdentifier","src":"48200:6:22"},"nativeSrc":"48200:16:22","nodeType":"YulFunctionCall","src":"48200:16:22"},"nativeSrc":"48200:16:22","nodeType":"YulExpressionStatement","src":"48200:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48236:4:22","nodeType":"YulLiteral","src":"48236:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"48242:2:22","nodeType":"YulIdentifier","src":"48242:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48229:6:22","nodeType":"YulIdentifier","src":"48229:6:22"},"nativeSrc":"48229:16:22","nodeType":"YulFunctionCall","src":"48229:16:22"},"nativeSrc":"48229:16:22","nodeType":"YulExpressionStatement","src":"48229:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48265:4:22","nodeType":"YulLiteral","src":"48265:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"48271:2:22","nodeType":"YulIdentifier","src":"48271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48258:6:22","nodeType":"YulIdentifier","src":"48258:6:22"},"nativeSrc":"48258:16:22","nodeType":"YulFunctionCall","src":"48258:16:22"},"nativeSrc":"48258:16:22","nodeType":"YulExpressionStatement","src":"48258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48294:4:22","nodeType":"YulLiteral","src":"48294:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"48300:2:22","nodeType":"YulIdentifier","src":"48300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48287:6:22","nodeType":"YulIdentifier","src":"48287:6:22"},"nativeSrc":"48287:16:22","nodeType":"YulFunctionCall","src":"48287:16:22"},"nativeSrc":"48287:16:22","nodeType":"YulExpressionStatement","src":"48287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48323:4:22","nodeType":"YulLiteral","src":"48323:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"48329:2:22","nodeType":"YulIdentifier","src":"48329:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48316:6:22","nodeType":"YulIdentifier","src":"48316:6:22"},"nativeSrc":"48316:16:22","nodeType":"YulFunctionCall","src":"48316:16:22"},"nativeSrc":"48316:16:22","nodeType":"YulExpressionStatement","src":"48316:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48352:4:22","nodeType":"YulLiteral","src":"48352:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"48358:2:22","nodeType":"YulIdentifier","src":"48358:2:22"}],"functionName":{"name":"mstore","nativeSrc":"48345:6:22","nodeType":"YulIdentifier","src":"48345:6:22"},"nativeSrc":"48345:16:22","nodeType":"YulFunctionCall","src":"48345:16:22"},"nativeSrc":"48345:16:22","nodeType":"YulExpressionStatement","src":"48345:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32929,"isOffset":false,"isSlot":false,"src":"48213:2:22","valueSize":1},{"declaration":32932,"isOffset":false,"isSlot":false,"src":"48242:2:22","valueSize":1},{"declaration":32935,"isOffset":false,"isSlot":false,"src":"48271:2:22","valueSize":1},{"declaration":32938,"isOffset":false,"isSlot":false,"src":"48300:2:22","valueSize":1},{"declaration":32941,"isOffset":false,"isSlot":false,"src":"48329:2:22","valueSize":1},{"declaration":32944,"isOffset":false,"isSlot":false,"src":"48358:2:22","valueSize":1}],"id":32952,"nodeType":"InlineAssembly","src":"48177:194:22"}]},"id":32954,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47094:3:22","nodeType":"FunctionDefinition","parameters":{"id":32926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32921,"mutability":"mutable","name":"p0","nameLocation":"47103:2:22","nodeType":"VariableDeclaration","scope":32954,"src":"47098:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32920,"name":"bool","nodeType":"ElementaryTypeName","src":"47098:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32923,"mutability":"mutable","name":"p1","nameLocation":"47115:2:22","nodeType":"VariableDeclaration","scope":32954,"src":"47107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32925,"mutability":"mutable","name":"p2","nameLocation":"47127:2:22","nodeType":"VariableDeclaration","scope":32954,"src":"47119:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32924,"name":"address","nodeType":"ElementaryTypeName","src":"47119:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47097:33:22"},"returnParameters":{"id":32927,"nodeType":"ParameterList","parameters":[],"src":"47145:0:22"},"scope":44426,"src":"47085:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":32988,"nodeType":"Block","src":"48440:1229:22","statements":[{"assignments":[32964],"declarations":[{"constant":false,"id":32964,"mutability":"mutable","name":"m0","nameLocation":"48458:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48450:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48450:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32965,"nodeType":"VariableDeclarationStatement","src":"48450:10:22"},{"assignments":[32967],"declarations":[{"constant":false,"id":32967,"mutability":"mutable","name":"m1","nameLocation":"48478:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48470:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48470:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32968,"nodeType":"VariableDeclarationStatement","src":"48470:10:22"},{"assignments":[32970],"declarations":[{"constant":false,"id":32970,"mutability":"mutable","name":"m2","nameLocation":"48498:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48490:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48490:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32971,"nodeType":"VariableDeclarationStatement","src":"48490:10:22"},{"assignments":[32973],"declarations":[{"constant":false,"id":32973,"mutability":"mutable","name":"m3","nameLocation":"48518:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48510:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32974,"nodeType":"VariableDeclarationStatement","src":"48510:10:22"},{"assignments":[32976],"declarations":[{"constant":false,"id":32976,"mutability":"mutable","name":"m4","nameLocation":"48538:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48530:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48530:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32977,"nodeType":"VariableDeclarationStatement","src":"48530:10:22"},{"assignments":[32979],"declarations":[{"constant":false,"id":32979,"mutability":"mutable","name":"m5","nameLocation":"48558:2:22","nodeType":"VariableDeclaration","scope":32988,"src":"48550:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48550:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32980,"nodeType":"VariableDeclarationStatement","src":"48550:10:22"},{"AST":{"nativeSrc":"48622:758:22","nodeType":"YulBlock","src":"48622:758:22","statements":[{"body":{"nativeSrc":"48665:313:22","nodeType":"YulBlock","src":"48665:313:22","statements":[{"nativeSrc":"48683:15:22","nodeType":"YulVariableDeclaration","src":"48683:15:22","value":{"kind":"number","nativeSrc":"48697:1:22","nodeType":"YulLiteral","src":"48697:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"48687:6:22","nodeType":"YulTypedName","src":"48687:6:22","type":""}]},{"body":{"nativeSrc":"48768:40:22","nodeType":"YulBlock","src":"48768:40:22","statements":[{"body":{"nativeSrc":"48797:9:22","nodeType":"YulBlock","src":"48797:9:22","statements":[{"nativeSrc":"48799:5:22","nodeType":"YulBreak","src":"48799:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"48785:6:22","nodeType":"YulIdentifier","src":"48785:6:22"},{"name":"w","nativeSrc":"48793:1:22","nodeType":"YulIdentifier","src":"48793:1:22"}],"functionName":{"name":"byte","nativeSrc":"48780:4:22","nodeType":"YulIdentifier","src":"48780:4:22"},"nativeSrc":"48780:15:22","nodeType":"YulFunctionCall","src":"48780:15:22"}],"functionName":{"name":"iszero","nativeSrc":"48773:6:22","nodeType":"YulIdentifier","src":"48773:6:22"},"nativeSrc":"48773:23:22","nodeType":"YulFunctionCall","src":"48773:23:22"},"nativeSrc":"48770:36:22","nodeType":"YulIf","src":"48770:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"48725:6:22","nodeType":"YulIdentifier","src":"48725:6:22"},{"kind":"number","nativeSrc":"48733:4:22","nodeType":"YulLiteral","src":"48733:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"48722:2:22","nodeType":"YulIdentifier","src":"48722:2:22"},"nativeSrc":"48722:16:22","nodeType":"YulFunctionCall","src":"48722:16:22"},"nativeSrc":"48715:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"48739:28:22","nodeType":"YulBlock","src":"48739:28:22","statements":[{"nativeSrc":"48741:24:22","nodeType":"YulAssignment","src":"48741:24:22","value":{"arguments":[{"name":"length","nativeSrc":"48755:6:22","nodeType":"YulIdentifier","src":"48755:6:22"},{"kind":"number","nativeSrc":"48763:1:22","nodeType":"YulLiteral","src":"48763:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"48751:3:22","nodeType":"YulIdentifier","src":"48751:3:22"},"nativeSrc":"48751:14:22","nodeType":"YulFunctionCall","src":"48751:14:22"},"variableNames":[{"name":"length","nativeSrc":"48741:6:22","nodeType":"YulIdentifier","src":"48741:6:22"}]}]},"pre":{"nativeSrc":"48719:2:22","nodeType":"YulBlock","src":"48719:2:22","statements":[]},"src":"48715:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"48832:3:22","nodeType":"YulIdentifier","src":"48832:3:22"},{"name":"length","nativeSrc":"48837:6:22","nodeType":"YulIdentifier","src":"48837:6:22"}],"functionName":{"name":"mstore","nativeSrc":"48825:6:22","nodeType":"YulIdentifier","src":"48825:6:22"},"nativeSrc":"48825:19:22","nodeType":"YulFunctionCall","src":"48825:19:22"},"nativeSrc":"48825:19:22","nodeType":"YulExpressionStatement","src":"48825:19:22"},{"nativeSrc":"48861:37:22","nodeType":"YulVariableDeclaration","src":"48861:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"48878:3:22","nodeType":"YulLiteral","src":"48878:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"48887:1:22","nodeType":"YulLiteral","src":"48887:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"48890:6:22","nodeType":"YulIdentifier","src":"48890:6:22"}],"functionName":{"name":"shl","nativeSrc":"48883:3:22","nodeType":"YulIdentifier","src":"48883:3:22"},"nativeSrc":"48883:14:22","nodeType":"YulFunctionCall","src":"48883:14:22"}],"functionName":{"name":"sub","nativeSrc":"48874:3:22","nodeType":"YulIdentifier","src":"48874:3:22"},"nativeSrc":"48874:24:22","nodeType":"YulFunctionCall","src":"48874:24:22"},"variables":[{"name":"shift","nativeSrc":"48865:5:22","nodeType":"YulTypedName","src":"48865:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"48926:3:22","nodeType":"YulIdentifier","src":"48926:3:22"},{"kind":"number","nativeSrc":"48931:4:22","nodeType":"YulLiteral","src":"48931:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"48922:3:22","nodeType":"YulIdentifier","src":"48922:3:22"},"nativeSrc":"48922:14:22","nodeType":"YulFunctionCall","src":"48922:14:22"},{"arguments":[{"name":"shift","nativeSrc":"48942:5:22","nodeType":"YulIdentifier","src":"48942:5:22"},{"arguments":[{"name":"shift","nativeSrc":"48953:5:22","nodeType":"YulIdentifier","src":"48953:5:22"},{"name":"w","nativeSrc":"48960:1:22","nodeType":"YulIdentifier","src":"48960:1:22"}],"functionName":{"name":"shr","nativeSrc":"48949:3:22","nodeType":"YulIdentifier","src":"48949:3:22"},"nativeSrc":"48949:13:22","nodeType":"YulFunctionCall","src":"48949:13:22"}],"functionName":{"name":"shl","nativeSrc":"48938:3:22","nodeType":"YulIdentifier","src":"48938:3:22"},"nativeSrc":"48938:25:22","nodeType":"YulFunctionCall","src":"48938:25:22"}],"functionName":{"name":"mstore","nativeSrc":"48915:6:22","nodeType":"YulIdentifier","src":"48915:6:22"},"nativeSrc":"48915:49:22","nodeType":"YulFunctionCall","src":"48915:49:22"},"nativeSrc":"48915:49:22","nodeType":"YulExpressionStatement","src":"48915:49:22"}]},"name":"writeString","nativeSrc":"48636:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"48657:3:22","nodeType":"YulTypedName","src":"48657:3:22","type":""},{"name":"w","nativeSrc":"48662:1:22","nodeType":"YulTypedName","src":"48662:1:22","type":""}],"src":"48636:342:22"},{"nativeSrc":"48991:17:22","nodeType":"YulAssignment","src":"48991:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49003:4:22","nodeType":"YulLiteral","src":"49003:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"48997:5:22","nodeType":"YulIdentifier","src":"48997:5:22"},"nativeSrc":"48997:11:22","nodeType":"YulFunctionCall","src":"48997:11:22"},"variableNames":[{"name":"m0","nativeSrc":"48991:2:22","nodeType":"YulIdentifier","src":"48991:2:22"}]},{"nativeSrc":"49021:17:22","nodeType":"YulAssignment","src":"49021:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49033:4:22","nodeType":"YulLiteral","src":"49033:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"49027:5:22","nodeType":"YulIdentifier","src":"49027:5:22"},"nativeSrc":"49027:11:22","nodeType":"YulFunctionCall","src":"49027:11:22"},"variableNames":[{"name":"m1","nativeSrc":"49021:2:22","nodeType":"YulIdentifier","src":"49021:2:22"}]},{"nativeSrc":"49051:17:22","nodeType":"YulAssignment","src":"49051:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49063:4:22","nodeType":"YulLiteral","src":"49063:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"49057:5:22","nodeType":"YulIdentifier","src":"49057:5:22"},"nativeSrc":"49057:11:22","nodeType":"YulFunctionCall","src":"49057:11:22"},"variableNames":[{"name":"m2","nativeSrc":"49051:2:22","nodeType":"YulIdentifier","src":"49051:2:22"}]},{"nativeSrc":"49081:17:22","nodeType":"YulAssignment","src":"49081:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49093:4:22","nodeType":"YulLiteral","src":"49093:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"49087:5:22","nodeType":"YulIdentifier","src":"49087:5:22"},"nativeSrc":"49087:11:22","nodeType":"YulFunctionCall","src":"49087:11:22"},"variableNames":[{"name":"m3","nativeSrc":"49081:2:22","nodeType":"YulIdentifier","src":"49081:2:22"}]},{"nativeSrc":"49111:17:22","nodeType":"YulAssignment","src":"49111:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49123:4:22","nodeType":"YulLiteral","src":"49123:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"49117:5:22","nodeType":"YulIdentifier","src":"49117:5:22"},"nativeSrc":"49117:11:22","nodeType":"YulFunctionCall","src":"49117:11:22"},"variableNames":[{"name":"m4","nativeSrc":"49111:2:22","nodeType":"YulIdentifier","src":"49111:2:22"}]},{"nativeSrc":"49141:17:22","nodeType":"YulAssignment","src":"49141:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"49153:4:22","nodeType":"YulLiteral","src":"49153:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"49147:5:22","nodeType":"YulIdentifier","src":"49147:5:22"},"nativeSrc":"49147:11:22","nodeType":"YulFunctionCall","src":"49147:11:22"},"variableNames":[{"name":"m5","nativeSrc":"49141:2:22","nodeType":"YulIdentifier","src":"49141:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49230:4:22","nodeType":"YulLiteral","src":"49230:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"49236:10:22","nodeType":"YulLiteral","src":"49236:10:22","type":"","value":"0xdbb4c247"}],"functionName":{"name":"mstore","nativeSrc":"49223:6:22","nodeType":"YulIdentifier","src":"49223:6:22"},"nativeSrc":"49223:24:22","nodeType":"YulFunctionCall","src":"49223:24:22"},"nativeSrc":"49223:24:22","nodeType":"YulExpressionStatement","src":"49223:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49267:4:22","nodeType":"YulLiteral","src":"49267:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"49273:2:22","nodeType":"YulIdentifier","src":"49273:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49260:6:22","nodeType":"YulIdentifier","src":"49260:6:22"},"nativeSrc":"49260:16:22","nodeType":"YulFunctionCall","src":"49260:16:22"},"nativeSrc":"49260:16:22","nodeType":"YulExpressionStatement","src":"49260:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49296:4:22","nodeType":"YulLiteral","src":"49296:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"49302:4:22","nodeType":"YulLiteral","src":"49302:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"49289:6:22","nodeType":"YulIdentifier","src":"49289:6:22"},"nativeSrc":"49289:18:22","nodeType":"YulFunctionCall","src":"49289:18:22"},"nativeSrc":"49289:18:22","nodeType":"YulExpressionStatement","src":"49289:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49327:4:22","nodeType":"YulLiteral","src":"49327:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"49333:2:22","nodeType":"YulIdentifier","src":"49333:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49320:6:22","nodeType":"YulIdentifier","src":"49320:6:22"},"nativeSrc":"49320:16:22","nodeType":"YulFunctionCall","src":"49320:16:22"},"nativeSrc":"49320:16:22","nodeType":"YulExpressionStatement","src":"49320:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49361:4:22","nodeType":"YulLiteral","src":"49361:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"49367:2:22","nodeType":"YulIdentifier","src":"49367:2:22"}],"functionName":{"name":"writeString","nativeSrc":"49349:11:22","nodeType":"YulIdentifier","src":"49349:11:22"},"nativeSrc":"49349:21:22","nodeType":"YulFunctionCall","src":"49349:21:22"},"nativeSrc":"49349:21:22","nodeType":"YulExpressionStatement","src":"49349:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32964,"isOffset":false,"isSlot":false,"src":"48991:2:22","valueSize":1},{"declaration":32967,"isOffset":false,"isSlot":false,"src":"49021:2:22","valueSize":1},{"declaration":32970,"isOffset":false,"isSlot":false,"src":"49051:2:22","valueSize":1},{"declaration":32973,"isOffset":false,"isSlot":false,"src":"49081:2:22","valueSize":1},{"declaration":32976,"isOffset":false,"isSlot":false,"src":"49111:2:22","valueSize":1},{"declaration":32979,"isOffset":false,"isSlot":false,"src":"49141:2:22","valueSize":1},{"declaration":32956,"isOffset":false,"isSlot":false,"src":"49273:2:22","valueSize":1},{"declaration":32958,"isOffset":false,"isSlot":false,"src":"49367:2:22","valueSize":1},{"declaration":32960,"isOffset":false,"isSlot":false,"src":"49333:2:22","valueSize":1}],"id":32981,"nodeType":"InlineAssembly","src":"48613:767:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":32983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49405:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":32984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49411:4:22","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":32982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"49389:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49389:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32986,"nodeType":"ExpressionStatement","src":"49389:27:22"},{"AST":{"nativeSrc":"49478:185:22","nodeType":"YulBlock","src":"49478:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"49499:4:22","nodeType":"YulLiteral","src":"49499:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"49505:2:22","nodeType":"YulIdentifier","src":"49505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49492:6:22","nodeType":"YulIdentifier","src":"49492:6:22"},"nativeSrc":"49492:16:22","nodeType":"YulFunctionCall","src":"49492:16:22"},"nativeSrc":"49492:16:22","nodeType":"YulExpressionStatement","src":"49492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49528:4:22","nodeType":"YulLiteral","src":"49528:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"49534:2:22","nodeType":"YulIdentifier","src":"49534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49521:6:22","nodeType":"YulIdentifier","src":"49521:6:22"},"nativeSrc":"49521:16:22","nodeType":"YulFunctionCall","src":"49521:16:22"},"nativeSrc":"49521:16:22","nodeType":"YulExpressionStatement","src":"49521:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49557:4:22","nodeType":"YulLiteral","src":"49557:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"49563:2:22","nodeType":"YulIdentifier","src":"49563:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49550:6:22","nodeType":"YulIdentifier","src":"49550:6:22"},"nativeSrc":"49550:16:22","nodeType":"YulFunctionCall","src":"49550:16:22"},"nativeSrc":"49550:16:22","nodeType":"YulExpressionStatement","src":"49550:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49586:4:22","nodeType":"YulLiteral","src":"49586:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"49592:2:22","nodeType":"YulIdentifier","src":"49592:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49579:6:22","nodeType":"YulIdentifier","src":"49579:6:22"},"nativeSrc":"49579:16:22","nodeType":"YulFunctionCall","src":"49579:16:22"},"nativeSrc":"49579:16:22","nodeType":"YulExpressionStatement","src":"49579:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49615:4:22","nodeType":"YulLiteral","src":"49615:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"49621:2:22","nodeType":"YulIdentifier","src":"49621:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49608:6:22","nodeType":"YulIdentifier","src":"49608:6:22"},"nativeSrc":"49608:16:22","nodeType":"YulFunctionCall","src":"49608:16:22"},"nativeSrc":"49608:16:22","nodeType":"YulExpressionStatement","src":"49608:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49644:4:22","nodeType":"YulLiteral","src":"49644:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"49650:2:22","nodeType":"YulIdentifier","src":"49650:2:22"}],"functionName":{"name":"mstore","nativeSrc":"49637:6:22","nodeType":"YulIdentifier","src":"49637:6:22"},"nativeSrc":"49637:16:22","nodeType":"YulFunctionCall","src":"49637:16:22"},"nativeSrc":"49637:16:22","nodeType":"YulExpressionStatement","src":"49637:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32964,"isOffset":false,"isSlot":false,"src":"49505:2:22","valueSize":1},{"declaration":32967,"isOffset":false,"isSlot":false,"src":"49534:2:22","valueSize":1},{"declaration":32970,"isOffset":false,"isSlot":false,"src":"49563:2:22","valueSize":1},{"declaration":32973,"isOffset":false,"isSlot":false,"src":"49592:2:22","valueSize":1},{"declaration":32976,"isOffset":false,"isSlot":false,"src":"49621:2:22","valueSize":1},{"declaration":32979,"isOffset":false,"isSlot":false,"src":"49650:2:22","valueSize":1}],"id":32987,"nodeType":"InlineAssembly","src":"49469:194:22"}]},"id":32989,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48392:3:22","nodeType":"FunctionDefinition","parameters":{"id":32961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32956,"mutability":"mutable","name":"p0","nameLocation":"48401:2:22","nodeType":"VariableDeclaration","scope":32989,"src":"48396:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32955,"name":"bool","nodeType":"ElementaryTypeName","src":"48396:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32958,"mutability":"mutable","name":"p1","nameLocation":"48413:2:22","nodeType":"VariableDeclaration","scope":32989,"src":"48405:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48405:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32960,"mutability":"mutable","name":"p2","nameLocation":"48422:2:22","nodeType":"VariableDeclaration","scope":32989,"src":"48417:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32959,"name":"bool","nodeType":"ElementaryTypeName","src":"48417:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48395:30:22"},"returnParameters":{"id":32962,"nodeType":"ParameterList","parameters":[],"src":"48440:0:22"},"scope":44426,"src":"48383:1286:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33023,"nodeType":"Block","src":"49735:1232:22","statements":[{"assignments":[32999],"declarations":[{"constant":false,"id":32999,"mutability":"mutable","name":"m0","nameLocation":"49753:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49745:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49745:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33000,"nodeType":"VariableDeclarationStatement","src":"49745:10:22"},{"assignments":[33002],"declarations":[{"constant":false,"id":33002,"mutability":"mutable","name":"m1","nameLocation":"49773:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49765:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49765:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33003,"nodeType":"VariableDeclarationStatement","src":"49765:10:22"},{"assignments":[33005],"declarations":[{"constant":false,"id":33005,"mutability":"mutable","name":"m2","nameLocation":"49793:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49785:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49785:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33006,"nodeType":"VariableDeclarationStatement","src":"49785:10:22"},{"assignments":[33008],"declarations":[{"constant":false,"id":33008,"mutability":"mutable","name":"m3","nameLocation":"49813:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49805:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49805:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33009,"nodeType":"VariableDeclarationStatement","src":"49805:10:22"},{"assignments":[33011],"declarations":[{"constant":false,"id":33011,"mutability":"mutable","name":"m4","nameLocation":"49833:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49825:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49825:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33012,"nodeType":"VariableDeclarationStatement","src":"49825:10:22"},{"assignments":[33014],"declarations":[{"constant":false,"id":33014,"mutability":"mutable","name":"m5","nameLocation":"49853:2:22","nodeType":"VariableDeclaration","scope":33023,"src":"49845:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49845:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33015,"nodeType":"VariableDeclarationStatement","src":"49845:10:22"},{"AST":{"nativeSrc":"49917:761:22","nodeType":"YulBlock","src":"49917:761:22","statements":[{"body":{"nativeSrc":"49960:313:22","nodeType":"YulBlock","src":"49960:313:22","statements":[{"nativeSrc":"49978:15:22","nodeType":"YulVariableDeclaration","src":"49978:15:22","value":{"kind":"number","nativeSrc":"49992:1:22","nodeType":"YulLiteral","src":"49992:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"49982:6:22","nodeType":"YulTypedName","src":"49982:6:22","type":""}]},{"body":{"nativeSrc":"50063:40:22","nodeType":"YulBlock","src":"50063:40:22","statements":[{"body":{"nativeSrc":"50092:9:22","nodeType":"YulBlock","src":"50092:9:22","statements":[{"nativeSrc":"50094:5:22","nodeType":"YulBreak","src":"50094:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"50080:6:22","nodeType":"YulIdentifier","src":"50080:6:22"},{"name":"w","nativeSrc":"50088:1:22","nodeType":"YulIdentifier","src":"50088:1:22"}],"functionName":{"name":"byte","nativeSrc":"50075:4:22","nodeType":"YulIdentifier","src":"50075:4:22"},"nativeSrc":"50075:15:22","nodeType":"YulFunctionCall","src":"50075:15:22"}],"functionName":{"name":"iszero","nativeSrc":"50068:6:22","nodeType":"YulIdentifier","src":"50068:6:22"},"nativeSrc":"50068:23:22","nodeType":"YulFunctionCall","src":"50068:23:22"},"nativeSrc":"50065:36:22","nodeType":"YulIf","src":"50065:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"50020:6:22","nodeType":"YulIdentifier","src":"50020:6:22"},{"kind":"number","nativeSrc":"50028:4:22","nodeType":"YulLiteral","src":"50028:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"50017:2:22","nodeType":"YulIdentifier","src":"50017:2:22"},"nativeSrc":"50017:16:22","nodeType":"YulFunctionCall","src":"50017:16:22"},"nativeSrc":"50010:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"50034:28:22","nodeType":"YulBlock","src":"50034:28:22","statements":[{"nativeSrc":"50036:24:22","nodeType":"YulAssignment","src":"50036:24:22","value":{"arguments":[{"name":"length","nativeSrc":"50050:6:22","nodeType":"YulIdentifier","src":"50050:6:22"},{"kind":"number","nativeSrc":"50058:1:22","nodeType":"YulLiteral","src":"50058:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"50046:3:22","nodeType":"YulIdentifier","src":"50046:3:22"},"nativeSrc":"50046:14:22","nodeType":"YulFunctionCall","src":"50046:14:22"},"variableNames":[{"name":"length","nativeSrc":"50036:6:22","nodeType":"YulIdentifier","src":"50036:6:22"}]}]},"pre":{"nativeSrc":"50014:2:22","nodeType":"YulBlock","src":"50014:2:22","statements":[]},"src":"50010:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"50127:3:22","nodeType":"YulIdentifier","src":"50127:3:22"},{"name":"length","nativeSrc":"50132:6:22","nodeType":"YulIdentifier","src":"50132:6:22"}],"functionName":{"name":"mstore","nativeSrc":"50120:6:22","nodeType":"YulIdentifier","src":"50120:6:22"},"nativeSrc":"50120:19:22","nodeType":"YulFunctionCall","src":"50120:19:22"},"nativeSrc":"50120:19:22","nodeType":"YulExpressionStatement","src":"50120:19:22"},{"nativeSrc":"50156:37:22","nodeType":"YulVariableDeclaration","src":"50156:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"50173:3:22","nodeType":"YulLiteral","src":"50173:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"50182:1:22","nodeType":"YulLiteral","src":"50182:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"50185:6:22","nodeType":"YulIdentifier","src":"50185:6:22"}],"functionName":{"name":"shl","nativeSrc":"50178:3:22","nodeType":"YulIdentifier","src":"50178:3:22"},"nativeSrc":"50178:14:22","nodeType":"YulFunctionCall","src":"50178:14:22"}],"functionName":{"name":"sub","nativeSrc":"50169:3:22","nodeType":"YulIdentifier","src":"50169:3:22"},"nativeSrc":"50169:24:22","nodeType":"YulFunctionCall","src":"50169:24:22"},"variables":[{"name":"shift","nativeSrc":"50160:5:22","nodeType":"YulTypedName","src":"50160:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"50221:3:22","nodeType":"YulIdentifier","src":"50221:3:22"},{"kind":"number","nativeSrc":"50226:4:22","nodeType":"YulLiteral","src":"50226:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"50217:3:22","nodeType":"YulIdentifier","src":"50217:3:22"},"nativeSrc":"50217:14:22","nodeType":"YulFunctionCall","src":"50217:14:22"},{"arguments":[{"name":"shift","nativeSrc":"50237:5:22","nodeType":"YulIdentifier","src":"50237:5:22"},{"arguments":[{"name":"shift","nativeSrc":"50248:5:22","nodeType":"YulIdentifier","src":"50248:5:22"},{"name":"w","nativeSrc":"50255:1:22","nodeType":"YulIdentifier","src":"50255:1:22"}],"functionName":{"name":"shr","nativeSrc":"50244:3:22","nodeType":"YulIdentifier","src":"50244:3:22"},"nativeSrc":"50244:13:22","nodeType":"YulFunctionCall","src":"50244:13:22"}],"functionName":{"name":"shl","nativeSrc":"50233:3:22","nodeType":"YulIdentifier","src":"50233:3:22"},"nativeSrc":"50233:25:22","nodeType":"YulFunctionCall","src":"50233:25:22"}],"functionName":{"name":"mstore","nativeSrc":"50210:6:22","nodeType":"YulIdentifier","src":"50210:6:22"},"nativeSrc":"50210:49:22","nodeType":"YulFunctionCall","src":"50210:49:22"},"nativeSrc":"50210:49:22","nodeType":"YulExpressionStatement","src":"50210:49:22"}]},"name":"writeString","nativeSrc":"49931:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"49952:3:22","nodeType":"YulTypedName","src":"49952:3:22","type":""},{"name":"w","nativeSrc":"49957:1:22","nodeType":"YulTypedName","src":"49957:1:22","type":""}],"src":"49931:342:22"},{"nativeSrc":"50286:17:22","nodeType":"YulAssignment","src":"50286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50298:4:22","nodeType":"YulLiteral","src":"50298:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"50292:5:22","nodeType":"YulIdentifier","src":"50292:5:22"},"nativeSrc":"50292:11:22","nodeType":"YulFunctionCall","src":"50292:11:22"},"variableNames":[{"name":"m0","nativeSrc":"50286:2:22","nodeType":"YulIdentifier","src":"50286:2:22"}]},{"nativeSrc":"50316:17:22","nodeType":"YulAssignment","src":"50316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50328:4:22","nodeType":"YulLiteral","src":"50328:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"50322:5:22","nodeType":"YulIdentifier","src":"50322:5:22"},"nativeSrc":"50322:11:22","nodeType":"YulFunctionCall","src":"50322:11:22"},"variableNames":[{"name":"m1","nativeSrc":"50316:2:22","nodeType":"YulIdentifier","src":"50316:2:22"}]},{"nativeSrc":"50346:17:22","nodeType":"YulAssignment","src":"50346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50358:4:22","nodeType":"YulLiteral","src":"50358:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"50352:5:22","nodeType":"YulIdentifier","src":"50352:5:22"},"nativeSrc":"50352:11:22","nodeType":"YulFunctionCall","src":"50352:11:22"},"variableNames":[{"name":"m2","nativeSrc":"50346:2:22","nodeType":"YulIdentifier","src":"50346:2:22"}]},{"nativeSrc":"50376:17:22","nodeType":"YulAssignment","src":"50376:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50388:4:22","nodeType":"YulLiteral","src":"50388:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"50382:5:22","nodeType":"YulIdentifier","src":"50382:5:22"},"nativeSrc":"50382:11:22","nodeType":"YulFunctionCall","src":"50382:11:22"},"variableNames":[{"name":"m3","nativeSrc":"50376:2:22","nodeType":"YulIdentifier","src":"50376:2:22"}]},{"nativeSrc":"50406:17:22","nodeType":"YulAssignment","src":"50406:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50418:4:22","nodeType":"YulLiteral","src":"50418:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"50412:5:22","nodeType":"YulIdentifier","src":"50412:5:22"},"nativeSrc":"50412:11:22","nodeType":"YulFunctionCall","src":"50412:11:22"},"variableNames":[{"name":"m4","nativeSrc":"50406:2:22","nodeType":"YulIdentifier","src":"50406:2:22"}]},{"nativeSrc":"50436:17:22","nodeType":"YulAssignment","src":"50436:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"50448:4:22","nodeType":"YulLiteral","src":"50448:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"50442:5:22","nodeType":"YulIdentifier","src":"50442:5:22"},"nativeSrc":"50442:11:22","nodeType":"YulFunctionCall","src":"50442:11:22"},"variableNames":[{"name":"m5","nativeSrc":"50436:2:22","nodeType":"YulIdentifier","src":"50436:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50528:4:22","nodeType":"YulLiteral","src":"50528:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"50534:10:22","nodeType":"YulLiteral","src":"50534:10:22","type":"","value":"0x1093ee11"}],"functionName":{"name":"mstore","nativeSrc":"50521:6:22","nodeType":"YulIdentifier","src":"50521:6:22"},"nativeSrc":"50521:24:22","nodeType":"YulFunctionCall","src":"50521:24:22"},"nativeSrc":"50521:24:22","nodeType":"YulExpressionStatement","src":"50521:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50565:4:22","nodeType":"YulLiteral","src":"50565:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"50571:2:22","nodeType":"YulIdentifier","src":"50571:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50558:6:22","nodeType":"YulIdentifier","src":"50558:6:22"},"nativeSrc":"50558:16:22","nodeType":"YulFunctionCall","src":"50558:16:22"},"nativeSrc":"50558:16:22","nodeType":"YulExpressionStatement","src":"50558:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50594:4:22","nodeType":"YulLiteral","src":"50594:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"50600:4:22","nodeType":"YulLiteral","src":"50600:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"50587:6:22","nodeType":"YulIdentifier","src":"50587:6:22"},"nativeSrc":"50587:18:22","nodeType":"YulFunctionCall","src":"50587:18:22"},"nativeSrc":"50587:18:22","nodeType":"YulExpressionStatement","src":"50587:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50625:4:22","nodeType":"YulLiteral","src":"50625:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"50631:2:22","nodeType":"YulIdentifier","src":"50631:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50618:6:22","nodeType":"YulIdentifier","src":"50618:6:22"},"nativeSrc":"50618:16:22","nodeType":"YulFunctionCall","src":"50618:16:22"},"nativeSrc":"50618:16:22","nodeType":"YulExpressionStatement","src":"50618:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50659:4:22","nodeType":"YulLiteral","src":"50659:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"50665:2:22","nodeType":"YulIdentifier","src":"50665:2:22"}],"functionName":{"name":"writeString","nativeSrc":"50647:11:22","nodeType":"YulIdentifier","src":"50647:11:22"},"nativeSrc":"50647:21:22","nodeType":"YulFunctionCall","src":"50647:21:22"},"nativeSrc":"50647:21:22","nodeType":"YulExpressionStatement","src":"50647:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32999,"isOffset":false,"isSlot":false,"src":"50286:2:22","valueSize":1},{"declaration":33002,"isOffset":false,"isSlot":false,"src":"50316:2:22","valueSize":1},{"declaration":33005,"isOffset":false,"isSlot":false,"src":"50346:2:22","valueSize":1},{"declaration":33008,"isOffset":false,"isSlot":false,"src":"50376:2:22","valueSize":1},{"declaration":33011,"isOffset":false,"isSlot":false,"src":"50406:2:22","valueSize":1},{"declaration":33014,"isOffset":false,"isSlot":false,"src":"50436:2:22","valueSize":1},{"declaration":32991,"isOffset":false,"isSlot":false,"src":"50571:2:22","valueSize":1},{"declaration":32993,"isOffset":false,"isSlot":false,"src":"50665:2:22","valueSize":1},{"declaration":32995,"isOffset":false,"isSlot":false,"src":"50631:2:22","valueSize":1}],"id":33016,"nodeType":"InlineAssembly","src":"49908:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50703:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50709:4:22","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":33017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"50687:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50687:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33021,"nodeType":"ExpressionStatement","src":"50687:27:22"},{"AST":{"nativeSrc":"50776:185:22","nodeType":"YulBlock","src":"50776:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"50797:4:22","nodeType":"YulLiteral","src":"50797:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"50803:2:22","nodeType":"YulIdentifier","src":"50803:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50790:6:22","nodeType":"YulIdentifier","src":"50790:6:22"},"nativeSrc":"50790:16:22","nodeType":"YulFunctionCall","src":"50790:16:22"},"nativeSrc":"50790:16:22","nodeType":"YulExpressionStatement","src":"50790:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50826:4:22","nodeType":"YulLiteral","src":"50826:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"50832:2:22","nodeType":"YulIdentifier","src":"50832:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50819:6:22","nodeType":"YulIdentifier","src":"50819:6:22"},"nativeSrc":"50819:16:22","nodeType":"YulFunctionCall","src":"50819:16:22"},"nativeSrc":"50819:16:22","nodeType":"YulExpressionStatement","src":"50819:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50855:4:22","nodeType":"YulLiteral","src":"50855:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"50861:2:22","nodeType":"YulIdentifier","src":"50861:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50848:6:22","nodeType":"YulIdentifier","src":"50848:6:22"},"nativeSrc":"50848:16:22","nodeType":"YulFunctionCall","src":"50848:16:22"},"nativeSrc":"50848:16:22","nodeType":"YulExpressionStatement","src":"50848:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50884:4:22","nodeType":"YulLiteral","src":"50884:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"50890:2:22","nodeType":"YulIdentifier","src":"50890:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50877:6:22","nodeType":"YulIdentifier","src":"50877:6:22"},"nativeSrc":"50877:16:22","nodeType":"YulFunctionCall","src":"50877:16:22"},"nativeSrc":"50877:16:22","nodeType":"YulExpressionStatement","src":"50877:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50913:4:22","nodeType":"YulLiteral","src":"50913:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"50919:2:22","nodeType":"YulIdentifier","src":"50919:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50906:6:22","nodeType":"YulIdentifier","src":"50906:6:22"},"nativeSrc":"50906:16:22","nodeType":"YulFunctionCall","src":"50906:16:22"},"nativeSrc":"50906:16:22","nodeType":"YulExpressionStatement","src":"50906:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50942:4:22","nodeType":"YulLiteral","src":"50942:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"50948:2:22","nodeType":"YulIdentifier","src":"50948:2:22"}],"functionName":{"name":"mstore","nativeSrc":"50935:6:22","nodeType":"YulIdentifier","src":"50935:6:22"},"nativeSrc":"50935:16:22","nodeType":"YulFunctionCall","src":"50935:16:22"},"nativeSrc":"50935:16:22","nodeType":"YulExpressionStatement","src":"50935:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32999,"isOffset":false,"isSlot":false,"src":"50803:2:22","valueSize":1},{"declaration":33002,"isOffset":false,"isSlot":false,"src":"50832:2:22","valueSize":1},{"declaration":33005,"isOffset":false,"isSlot":false,"src":"50861:2:22","valueSize":1},{"declaration":33008,"isOffset":false,"isSlot":false,"src":"50890:2:22","valueSize":1},{"declaration":33011,"isOffset":false,"isSlot":false,"src":"50919:2:22","valueSize":1},{"declaration":33014,"isOffset":false,"isSlot":false,"src":"50948:2:22","valueSize":1}],"id":33022,"nodeType":"InlineAssembly","src":"50767:194:22"}]},"id":33024,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49684:3:22","nodeType":"FunctionDefinition","parameters":{"id":32996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32991,"mutability":"mutable","name":"p0","nameLocation":"49693:2:22","nodeType":"VariableDeclaration","scope":33024,"src":"49688:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32990,"name":"bool","nodeType":"ElementaryTypeName","src":"49688:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32993,"mutability":"mutable","name":"p1","nameLocation":"49705:2:22","nodeType":"VariableDeclaration","scope":33024,"src":"49697:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49697:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32995,"mutability":"mutable","name":"p2","nameLocation":"49717:2:22","nodeType":"VariableDeclaration","scope":33024,"src":"49709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32994,"name":"uint256","nodeType":"ElementaryTypeName","src":"49709:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49687:33:22"},"returnParameters":{"id":32997,"nodeType":"ParameterList","parameters":[],"src":"49735:0:22"},"scope":44426,"src":"49675:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33064,"nodeType":"Block","src":"51033:1425:22","statements":[{"assignments":[33034],"declarations":[{"constant":false,"id":33034,"mutability":"mutable","name":"m0","nameLocation":"51051:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51043:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51043:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33035,"nodeType":"VariableDeclarationStatement","src":"51043:10:22"},{"assignments":[33037],"declarations":[{"constant":false,"id":33037,"mutability":"mutable","name":"m1","nameLocation":"51071:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51063:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33038,"nodeType":"VariableDeclarationStatement","src":"51063:10:22"},{"assignments":[33040],"declarations":[{"constant":false,"id":33040,"mutability":"mutable","name":"m2","nameLocation":"51091:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51083:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51083:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33041,"nodeType":"VariableDeclarationStatement","src":"51083:10:22"},{"assignments":[33043],"declarations":[{"constant":false,"id":33043,"mutability":"mutable","name":"m3","nameLocation":"51111:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51103:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51103:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33044,"nodeType":"VariableDeclarationStatement","src":"51103:10:22"},{"assignments":[33046],"declarations":[{"constant":false,"id":33046,"mutability":"mutable","name":"m4","nameLocation":"51131:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51123:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51123:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33047,"nodeType":"VariableDeclarationStatement","src":"51123:10:22"},{"assignments":[33049],"declarations":[{"constant":false,"id":33049,"mutability":"mutable","name":"m5","nameLocation":"51151:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51143:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51143:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33050,"nodeType":"VariableDeclarationStatement","src":"51143:10:22"},{"assignments":[33052],"declarations":[{"constant":false,"id":33052,"mutability":"mutable","name":"m6","nameLocation":"51171:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51163:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51163:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33053,"nodeType":"VariableDeclarationStatement","src":"51163:10:22"},{"assignments":[33055],"declarations":[{"constant":false,"id":33055,"mutability":"mutable","name":"m7","nameLocation":"51191:2:22","nodeType":"VariableDeclaration","scope":33064,"src":"51183:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51183:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33056,"nodeType":"VariableDeclarationStatement","src":"51183:10:22"},{"AST":{"nativeSrc":"51255:856:22","nodeType":"YulBlock","src":"51255:856:22","statements":[{"body":{"nativeSrc":"51298:313:22","nodeType":"YulBlock","src":"51298:313:22","statements":[{"nativeSrc":"51316:15:22","nodeType":"YulVariableDeclaration","src":"51316:15:22","value":{"kind":"number","nativeSrc":"51330:1:22","nodeType":"YulLiteral","src":"51330:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"51320:6:22","nodeType":"YulTypedName","src":"51320:6:22","type":""}]},{"body":{"nativeSrc":"51401:40:22","nodeType":"YulBlock","src":"51401:40:22","statements":[{"body":{"nativeSrc":"51430:9:22","nodeType":"YulBlock","src":"51430:9:22","statements":[{"nativeSrc":"51432:5:22","nodeType":"YulBreak","src":"51432:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"51418:6:22","nodeType":"YulIdentifier","src":"51418:6:22"},{"name":"w","nativeSrc":"51426:1:22","nodeType":"YulIdentifier","src":"51426:1:22"}],"functionName":{"name":"byte","nativeSrc":"51413:4:22","nodeType":"YulIdentifier","src":"51413:4:22"},"nativeSrc":"51413:15:22","nodeType":"YulFunctionCall","src":"51413:15:22"}],"functionName":{"name":"iszero","nativeSrc":"51406:6:22","nodeType":"YulIdentifier","src":"51406:6:22"},"nativeSrc":"51406:23:22","nodeType":"YulFunctionCall","src":"51406:23:22"},"nativeSrc":"51403:36:22","nodeType":"YulIf","src":"51403:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"51358:6:22","nodeType":"YulIdentifier","src":"51358:6:22"},{"kind":"number","nativeSrc":"51366:4:22","nodeType":"YulLiteral","src":"51366:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"51355:2:22","nodeType":"YulIdentifier","src":"51355:2:22"},"nativeSrc":"51355:16:22","nodeType":"YulFunctionCall","src":"51355:16:22"},"nativeSrc":"51348:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"51372:28:22","nodeType":"YulBlock","src":"51372:28:22","statements":[{"nativeSrc":"51374:24:22","nodeType":"YulAssignment","src":"51374:24:22","value":{"arguments":[{"name":"length","nativeSrc":"51388:6:22","nodeType":"YulIdentifier","src":"51388:6:22"},{"kind":"number","nativeSrc":"51396:1:22","nodeType":"YulLiteral","src":"51396:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"51384:3:22","nodeType":"YulIdentifier","src":"51384:3:22"},"nativeSrc":"51384:14:22","nodeType":"YulFunctionCall","src":"51384:14:22"},"variableNames":[{"name":"length","nativeSrc":"51374:6:22","nodeType":"YulIdentifier","src":"51374:6:22"}]}]},"pre":{"nativeSrc":"51352:2:22","nodeType":"YulBlock","src":"51352:2:22","statements":[]},"src":"51348:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"51465:3:22","nodeType":"YulIdentifier","src":"51465:3:22"},{"name":"length","nativeSrc":"51470:6:22","nodeType":"YulIdentifier","src":"51470:6:22"}],"functionName":{"name":"mstore","nativeSrc":"51458:6:22","nodeType":"YulIdentifier","src":"51458:6:22"},"nativeSrc":"51458:19:22","nodeType":"YulFunctionCall","src":"51458:19:22"},"nativeSrc":"51458:19:22","nodeType":"YulExpressionStatement","src":"51458:19:22"},{"nativeSrc":"51494:37:22","nodeType":"YulVariableDeclaration","src":"51494:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"51511:3:22","nodeType":"YulLiteral","src":"51511:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"51520:1:22","nodeType":"YulLiteral","src":"51520:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"51523:6:22","nodeType":"YulIdentifier","src":"51523:6:22"}],"functionName":{"name":"shl","nativeSrc":"51516:3:22","nodeType":"YulIdentifier","src":"51516:3:22"},"nativeSrc":"51516:14:22","nodeType":"YulFunctionCall","src":"51516:14:22"}],"functionName":{"name":"sub","nativeSrc":"51507:3:22","nodeType":"YulIdentifier","src":"51507:3:22"},"nativeSrc":"51507:24:22","nodeType":"YulFunctionCall","src":"51507:24:22"},"variables":[{"name":"shift","nativeSrc":"51498:5:22","nodeType":"YulTypedName","src":"51498:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"51559:3:22","nodeType":"YulIdentifier","src":"51559:3:22"},{"kind":"number","nativeSrc":"51564:4:22","nodeType":"YulLiteral","src":"51564:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51555:3:22","nodeType":"YulIdentifier","src":"51555:3:22"},"nativeSrc":"51555:14:22","nodeType":"YulFunctionCall","src":"51555:14:22"},{"arguments":[{"name":"shift","nativeSrc":"51575:5:22","nodeType":"YulIdentifier","src":"51575:5:22"},{"arguments":[{"name":"shift","nativeSrc":"51586:5:22","nodeType":"YulIdentifier","src":"51586:5:22"},{"name":"w","nativeSrc":"51593:1:22","nodeType":"YulIdentifier","src":"51593:1:22"}],"functionName":{"name":"shr","nativeSrc":"51582:3:22","nodeType":"YulIdentifier","src":"51582:3:22"},"nativeSrc":"51582:13:22","nodeType":"YulFunctionCall","src":"51582:13:22"}],"functionName":{"name":"shl","nativeSrc":"51571:3:22","nodeType":"YulIdentifier","src":"51571:3:22"},"nativeSrc":"51571:25:22","nodeType":"YulFunctionCall","src":"51571:25:22"}],"functionName":{"name":"mstore","nativeSrc":"51548:6:22","nodeType":"YulIdentifier","src":"51548:6:22"},"nativeSrc":"51548:49:22","nodeType":"YulFunctionCall","src":"51548:49:22"},"nativeSrc":"51548:49:22","nodeType":"YulExpressionStatement","src":"51548:49:22"}]},"name":"writeString","nativeSrc":"51269:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"51290:3:22","nodeType":"YulTypedName","src":"51290:3:22","type":""},{"name":"w","nativeSrc":"51295:1:22","nodeType":"YulTypedName","src":"51295:1:22","type":""}],"src":"51269:342:22"},{"nativeSrc":"51624:17:22","nodeType":"YulAssignment","src":"51624:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51636:4:22","nodeType":"YulLiteral","src":"51636:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"51630:5:22","nodeType":"YulIdentifier","src":"51630:5:22"},"nativeSrc":"51630:11:22","nodeType":"YulFunctionCall","src":"51630:11:22"},"variableNames":[{"name":"m0","nativeSrc":"51624:2:22","nodeType":"YulIdentifier","src":"51624:2:22"}]},{"nativeSrc":"51654:17:22","nodeType":"YulAssignment","src":"51654:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51666:4:22","nodeType":"YulLiteral","src":"51666:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"51660:5:22","nodeType":"YulIdentifier","src":"51660:5:22"},"nativeSrc":"51660:11:22","nodeType":"YulFunctionCall","src":"51660:11:22"},"variableNames":[{"name":"m1","nativeSrc":"51654:2:22","nodeType":"YulIdentifier","src":"51654:2:22"}]},{"nativeSrc":"51684:17:22","nodeType":"YulAssignment","src":"51684:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51696:4:22","nodeType":"YulLiteral","src":"51696:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"51690:5:22","nodeType":"YulIdentifier","src":"51690:5:22"},"nativeSrc":"51690:11:22","nodeType":"YulFunctionCall","src":"51690:11:22"},"variableNames":[{"name":"m2","nativeSrc":"51684:2:22","nodeType":"YulIdentifier","src":"51684:2:22"}]},{"nativeSrc":"51714:17:22","nodeType":"YulAssignment","src":"51714:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51726:4:22","nodeType":"YulLiteral","src":"51726:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"51720:5:22","nodeType":"YulIdentifier","src":"51720:5:22"},"nativeSrc":"51720:11:22","nodeType":"YulFunctionCall","src":"51720:11:22"},"variableNames":[{"name":"m3","nativeSrc":"51714:2:22","nodeType":"YulIdentifier","src":"51714:2:22"}]},{"nativeSrc":"51744:17:22","nodeType":"YulAssignment","src":"51744:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51756:4:22","nodeType":"YulLiteral","src":"51756:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"51750:5:22","nodeType":"YulIdentifier","src":"51750:5:22"},"nativeSrc":"51750:11:22","nodeType":"YulFunctionCall","src":"51750:11:22"},"variableNames":[{"name":"m4","nativeSrc":"51744:2:22","nodeType":"YulIdentifier","src":"51744:2:22"}]},{"nativeSrc":"51774:17:22","nodeType":"YulAssignment","src":"51774:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51786:4:22","nodeType":"YulLiteral","src":"51786:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"51780:5:22","nodeType":"YulIdentifier","src":"51780:5:22"},"nativeSrc":"51780:11:22","nodeType":"YulFunctionCall","src":"51780:11:22"},"variableNames":[{"name":"m5","nativeSrc":"51774:2:22","nodeType":"YulIdentifier","src":"51774:2:22"}]},{"nativeSrc":"51804:17:22","nodeType":"YulAssignment","src":"51804:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51816:4:22","nodeType":"YulLiteral","src":"51816:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"51810:5:22","nodeType":"YulIdentifier","src":"51810:5:22"},"nativeSrc":"51810:11:22","nodeType":"YulFunctionCall","src":"51810:11:22"},"variableNames":[{"name":"m6","nativeSrc":"51804:2:22","nodeType":"YulIdentifier","src":"51804:2:22"}]},{"nativeSrc":"51834:17:22","nodeType":"YulAssignment","src":"51834:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"51846:4:22","nodeType":"YulLiteral","src":"51846:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"51840:5:22","nodeType":"YulIdentifier","src":"51840:5:22"},"nativeSrc":"51840:11:22","nodeType":"YulFunctionCall","src":"51840:11:22"},"variableNames":[{"name":"m7","nativeSrc":"51834:2:22","nodeType":"YulIdentifier","src":"51834:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51925:4:22","nodeType":"YulLiteral","src":"51925:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"51931:10:22","nodeType":"YulLiteral","src":"51931:10:22","type":"","value":"0xb076847f"}],"functionName":{"name":"mstore","nativeSrc":"51918:6:22","nodeType":"YulIdentifier","src":"51918:6:22"},"nativeSrc":"51918:24:22","nodeType":"YulFunctionCall","src":"51918:24:22"},"nativeSrc":"51918:24:22","nodeType":"YulExpressionStatement","src":"51918:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51962:4:22","nodeType":"YulLiteral","src":"51962:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"51968:2:22","nodeType":"YulIdentifier","src":"51968:2:22"}],"functionName":{"name":"mstore","nativeSrc":"51955:6:22","nodeType":"YulIdentifier","src":"51955:6:22"},"nativeSrc":"51955:16:22","nodeType":"YulFunctionCall","src":"51955:16:22"},"nativeSrc":"51955:16:22","nodeType":"YulExpressionStatement","src":"51955:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51991:4:22","nodeType":"YulLiteral","src":"51991:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"51997:4:22","nodeType":"YulLiteral","src":"51997:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"51984:6:22","nodeType":"YulIdentifier","src":"51984:6:22"},"nativeSrc":"51984:18:22","nodeType":"YulFunctionCall","src":"51984:18:22"},"nativeSrc":"51984:18:22","nodeType":"YulExpressionStatement","src":"51984:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52022:4:22","nodeType":"YulLiteral","src":"52022:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"52028:4:22","nodeType":"YulLiteral","src":"52028:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"52015:6:22","nodeType":"YulIdentifier","src":"52015:6:22"},"nativeSrc":"52015:18:22","nodeType":"YulFunctionCall","src":"52015:18:22"},"nativeSrc":"52015:18:22","nodeType":"YulExpressionStatement","src":"52015:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52058:4:22","nodeType":"YulLiteral","src":"52058:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"52064:2:22","nodeType":"YulIdentifier","src":"52064:2:22"}],"functionName":{"name":"writeString","nativeSrc":"52046:11:22","nodeType":"YulIdentifier","src":"52046:11:22"},"nativeSrc":"52046:21:22","nodeType":"YulFunctionCall","src":"52046:21:22"},"nativeSrc":"52046:21:22","nodeType":"YulExpressionStatement","src":"52046:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52092:4:22","nodeType":"YulLiteral","src":"52092:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"52098:2:22","nodeType":"YulIdentifier","src":"52098:2:22"}],"functionName":{"name":"writeString","nativeSrc":"52080:11:22","nodeType":"YulIdentifier","src":"52080:11:22"},"nativeSrc":"52080:21:22","nodeType":"YulFunctionCall","src":"52080:21:22"},"nativeSrc":"52080:21:22","nodeType":"YulExpressionStatement","src":"52080:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33034,"isOffset":false,"isSlot":false,"src":"51624:2:22","valueSize":1},{"declaration":33037,"isOffset":false,"isSlot":false,"src":"51654:2:22","valueSize":1},{"declaration":33040,"isOffset":false,"isSlot":false,"src":"51684:2:22","valueSize":1},{"declaration":33043,"isOffset":false,"isSlot":false,"src":"51714:2:22","valueSize":1},{"declaration":33046,"isOffset":false,"isSlot":false,"src":"51744:2:22","valueSize":1},{"declaration":33049,"isOffset":false,"isSlot":false,"src":"51774:2:22","valueSize":1},{"declaration":33052,"isOffset":false,"isSlot":false,"src":"51804:2:22","valueSize":1},{"declaration":33055,"isOffset":false,"isSlot":false,"src":"51834:2:22","valueSize":1},{"declaration":33026,"isOffset":false,"isSlot":false,"src":"51968:2:22","valueSize":1},{"declaration":33028,"isOffset":false,"isSlot":false,"src":"52064:2:22","valueSize":1},{"declaration":33030,"isOffset":false,"isSlot":false,"src":"52098:2:22","valueSize":1}],"id":33057,"nodeType":"InlineAssembly","src":"51246:865:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52136:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":33060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52142:4:22","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":33058,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"52120:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52120:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33062,"nodeType":"ExpressionStatement","src":"52120:27:22"},{"AST":{"nativeSrc":"52209:243:22","nodeType":"YulBlock","src":"52209:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"52230:4:22","nodeType":"YulLiteral","src":"52230:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"52236:2:22","nodeType":"YulIdentifier","src":"52236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52223:6:22","nodeType":"YulIdentifier","src":"52223:6:22"},"nativeSrc":"52223:16:22","nodeType":"YulFunctionCall","src":"52223:16:22"},"nativeSrc":"52223:16:22","nodeType":"YulExpressionStatement","src":"52223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52259:4:22","nodeType":"YulLiteral","src":"52259:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"52265:2:22","nodeType":"YulIdentifier","src":"52265:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52252:6:22","nodeType":"YulIdentifier","src":"52252:6:22"},"nativeSrc":"52252:16:22","nodeType":"YulFunctionCall","src":"52252:16:22"},"nativeSrc":"52252:16:22","nodeType":"YulExpressionStatement","src":"52252:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52288:4:22","nodeType":"YulLiteral","src":"52288:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"52294:2:22","nodeType":"YulIdentifier","src":"52294:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52281:6:22","nodeType":"YulIdentifier","src":"52281:6:22"},"nativeSrc":"52281:16:22","nodeType":"YulFunctionCall","src":"52281:16:22"},"nativeSrc":"52281:16:22","nodeType":"YulExpressionStatement","src":"52281:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52317:4:22","nodeType":"YulLiteral","src":"52317:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"52323:2:22","nodeType":"YulIdentifier","src":"52323:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52310:6:22","nodeType":"YulIdentifier","src":"52310:6:22"},"nativeSrc":"52310:16:22","nodeType":"YulFunctionCall","src":"52310:16:22"},"nativeSrc":"52310:16:22","nodeType":"YulExpressionStatement","src":"52310:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52346:4:22","nodeType":"YulLiteral","src":"52346:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"52352:2:22","nodeType":"YulIdentifier","src":"52352:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52339:6:22","nodeType":"YulIdentifier","src":"52339:6:22"},"nativeSrc":"52339:16:22","nodeType":"YulFunctionCall","src":"52339:16:22"},"nativeSrc":"52339:16:22","nodeType":"YulExpressionStatement","src":"52339:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52375:4:22","nodeType":"YulLiteral","src":"52375:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"52381:2:22","nodeType":"YulIdentifier","src":"52381:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52368:6:22","nodeType":"YulIdentifier","src":"52368:6:22"},"nativeSrc":"52368:16:22","nodeType":"YulFunctionCall","src":"52368:16:22"},"nativeSrc":"52368:16:22","nodeType":"YulExpressionStatement","src":"52368:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52404:4:22","nodeType":"YulLiteral","src":"52404:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"52410:2:22","nodeType":"YulIdentifier","src":"52410:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52397:6:22","nodeType":"YulIdentifier","src":"52397:6:22"},"nativeSrc":"52397:16:22","nodeType":"YulFunctionCall","src":"52397:16:22"},"nativeSrc":"52397:16:22","nodeType":"YulExpressionStatement","src":"52397:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52433:4:22","nodeType":"YulLiteral","src":"52433:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"52439:2:22","nodeType":"YulIdentifier","src":"52439:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52426:6:22","nodeType":"YulIdentifier","src":"52426:6:22"},"nativeSrc":"52426:16:22","nodeType":"YulFunctionCall","src":"52426:16:22"},"nativeSrc":"52426:16:22","nodeType":"YulExpressionStatement","src":"52426:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33034,"isOffset":false,"isSlot":false,"src":"52236:2:22","valueSize":1},{"declaration":33037,"isOffset":false,"isSlot":false,"src":"52265:2:22","valueSize":1},{"declaration":33040,"isOffset":false,"isSlot":false,"src":"52294:2:22","valueSize":1},{"declaration":33043,"isOffset":false,"isSlot":false,"src":"52323:2:22","valueSize":1},{"declaration":33046,"isOffset":false,"isSlot":false,"src":"52352:2:22","valueSize":1},{"declaration":33049,"isOffset":false,"isSlot":false,"src":"52381:2:22","valueSize":1},{"declaration":33052,"isOffset":false,"isSlot":false,"src":"52410:2:22","valueSize":1},{"declaration":33055,"isOffset":false,"isSlot":false,"src":"52439:2:22","valueSize":1}],"id":33063,"nodeType":"InlineAssembly","src":"52200:252:22"}]},"id":33065,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50982:3:22","nodeType":"FunctionDefinition","parameters":{"id":33031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33026,"mutability":"mutable","name":"p0","nameLocation":"50991:2:22","nodeType":"VariableDeclaration","scope":33065,"src":"50986:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33025,"name":"bool","nodeType":"ElementaryTypeName","src":"50986:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33028,"mutability":"mutable","name":"p1","nameLocation":"51003:2:22","nodeType":"VariableDeclaration","scope":33065,"src":"50995:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50995:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33030,"mutability":"mutable","name":"p2","nameLocation":"51015:2:22","nodeType":"VariableDeclaration","scope":33065,"src":"51007:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51007:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"50985:33:22"},"returnParameters":{"id":33032,"nodeType":"ParameterList","parameters":[],"src":"51033:0:22"},"scope":44426,"src":"50973:1485:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33093,"nodeType":"Block","src":"52527:687:22","statements":[{"assignments":[33075],"declarations":[{"constant":false,"id":33075,"mutability":"mutable","name":"m0","nameLocation":"52545:2:22","nodeType":"VariableDeclaration","scope":33093,"src":"52537:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52537:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33076,"nodeType":"VariableDeclarationStatement","src":"52537:10:22"},{"assignments":[33078],"declarations":[{"constant":false,"id":33078,"mutability":"mutable","name":"m1","nameLocation":"52565:2:22","nodeType":"VariableDeclaration","scope":33093,"src":"52557:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52557:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33079,"nodeType":"VariableDeclarationStatement","src":"52557:10:22"},{"assignments":[33081],"declarations":[{"constant":false,"id":33081,"mutability":"mutable","name":"m2","nameLocation":"52585:2:22","nodeType":"VariableDeclaration","scope":33093,"src":"52577:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52577:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33082,"nodeType":"VariableDeclarationStatement","src":"52577:10:22"},{"assignments":[33084],"declarations":[{"constant":false,"id":33084,"mutability":"mutable","name":"m3","nameLocation":"52605:2:22","nodeType":"VariableDeclaration","scope":33093,"src":"52597:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52597:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33085,"nodeType":"VariableDeclarationStatement","src":"52597:10:22"},{"AST":{"nativeSrc":"52669:314:22","nodeType":"YulBlock","src":"52669:314:22","statements":[{"nativeSrc":"52683:17:22","nodeType":"YulAssignment","src":"52683:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"52695:4:22","nodeType":"YulLiteral","src":"52695:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"52689:5:22","nodeType":"YulIdentifier","src":"52689:5:22"},"nativeSrc":"52689:11:22","nodeType":"YulFunctionCall","src":"52689:11:22"},"variableNames":[{"name":"m0","nativeSrc":"52683:2:22","nodeType":"YulIdentifier","src":"52683:2:22"}]},{"nativeSrc":"52713:17:22","nodeType":"YulAssignment","src":"52713:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"52725:4:22","nodeType":"YulLiteral","src":"52725:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"52719:5:22","nodeType":"YulIdentifier","src":"52719:5:22"},"nativeSrc":"52719:11:22","nodeType":"YulFunctionCall","src":"52719:11:22"},"variableNames":[{"name":"m1","nativeSrc":"52713:2:22","nodeType":"YulIdentifier","src":"52713:2:22"}]},{"nativeSrc":"52743:17:22","nodeType":"YulAssignment","src":"52743:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"52755:4:22","nodeType":"YulLiteral","src":"52755:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"52749:5:22","nodeType":"YulIdentifier","src":"52749:5:22"},"nativeSrc":"52749:11:22","nodeType":"YulFunctionCall","src":"52749:11:22"},"variableNames":[{"name":"m2","nativeSrc":"52743:2:22","nodeType":"YulIdentifier","src":"52743:2:22"}]},{"nativeSrc":"52773:17:22","nodeType":"YulAssignment","src":"52773:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"52785:4:22","nodeType":"YulLiteral","src":"52785:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"52779:5:22","nodeType":"YulIdentifier","src":"52779:5:22"},"nativeSrc":"52779:11:22","nodeType":"YulFunctionCall","src":"52779:11:22"},"variableNames":[{"name":"m3","nativeSrc":"52773:2:22","nodeType":"YulIdentifier","src":"52773:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52869:4:22","nodeType":"YulLiteral","src":"52869:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"52875:10:22","nodeType":"YulLiteral","src":"52875:10:22","type":"","value":"0xbcfd9be0"}],"functionName":{"name":"mstore","nativeSrc":"52862:6:22","nodeType":"YulIdentifier","src":"52862:6:22"},"nativeSrc":"52862:24:22","nodeType":"YulFunctionCall","src":"52862:24:22"},"nativeSrc":"52862:24:22","nodeType":"YulExpressionStatement","src":"52862:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52906:4:22","nodeType":"YulLiteral","src":"52906:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"52912:2:22","nodeType":"YulIdentifier","src":"52912:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52899:6:22","nodeType":"YulIdentifier","src":"52899:6:22"},"nativeSrc":"52899:16:22","nodeType":"YulFunctionCall","src":"52899:16:22"},"nativeSrc":"52899:16:22","nodeType":"YulExpressionStatement","src":"52899:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52935:4:22","nodeType":"YulLiteral","src":"52935:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"52941:2:22","nodeType":"YulIdentifier","src":"52941:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52928:6:22","nodeType":"YulIdentifier","src":"52928:6:22"},"nativeSrc":"52928:16:22","nodeType":"YulFunctionCall","src":"52928:16:22"},"nativeSrc":"52928:16:22","nodeType":"YulExpressionStatement","src":"52928:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52964:4:22","nodeType":"YulLiteral","src":"52964:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"52970:2:22","nodeType":"YulIdentifier","src":"52970:2:22"}],"functionName":{"name":"mstore","nativeSrc":"52957:6:22","nodeType":"YulIdentifier","src":"52957:6:22"},"nativeSrc":"52957:16:22","nodeType":"YulFunctionCall","src":"52957:16:22"},"nativeSrc":"52957:16:22","nodeType":"YulExpressionStatement","src":"52957:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33075,"isOffset":false,"isSlot":false,"src":"52683:2:22","valueSize":1},{"declaration":33078,"isOffset":false,"isSlot":false,"src":"52713:2:22","valueSize":1},{"declaration":33081,"isOffset":false,"isSlot":false,"src":"52743:2:22","valueSize":1},{"declaration":33084,"isOffset":false,"isSlot":false,"src":"52773:2:22","valueSize":1},{"declaration":33067,"isOffset":false,"isSlot":false,"src":"52912:2:22","valueSize":1},{"declaration":33069,"isOffset":false,"isSlot":false,"src":"52941:2:22","valueSize":1},{"declaration":33071,"isOffset":false,"isSlot":false,"src":"52970:2:22","valueSize":1}],"id":33086,"nodeType":"InlineAssembly","src":"52660:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53008:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53014:4:22","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":33087,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"52992:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52992:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33091,"nodeType":"ExpressionStatement","src":"52992:27:22"},{"AST":{"nativeSrc":"53081:127:22","nodeType":"YulBlock","src":"53081:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53102:4:22","nodeType":"YulLiteral","src":"53102:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53108:2:22","nodeType":"YulIdentifier","src":"53108:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53095:6:22","nodeType":"YulIdentifier","src":"53095:6:22"},"nativeSrc":"53095:16:22","nodeType":"YulFunctionCall","src":"53095:16:22"},"nativeSrc":"53095:16:22","nodeType":"YulExpressionStatement","src":"53095:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53131:4:22","nodeType":"YulLiteral","src":"53131:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53137:2:22","nodeType":"YulIdentifier","src":"53137:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53124:6:22","nodeType":"YulIdentifier","src":"53124:6:22"},"nativeSrc":"53124:16:22","nodeType":"YulFunctionCall","src":"53124:16:22"},"nativeSrc":"53124:16:22","nodeType":"YulExpressionStatement","src":"53124:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53160:4:22","nodeType":"YulLiteral","src":"53160:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53166:2:22","nodeType":"YulIdentifier","src":"53166:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53153:6:22","nodeType":"YulIdentifier","src":"53153:6:22"},"nativeSrc":"53153:16:22","nodeType":"YulFunctionCall","src":"53153:16:22"},"nativeSrc":"53153:16:22","nodeType":"YulExpressionStatement","src":"53153:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53189:4:22","nodeType":"YulLiteral","src":"53189:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53195:2:22","nodeType":"YulIdentifier","src":"53195:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53182:6:22","nodeType":"YulIdentifier","src":"53182:6:22"},"nativeSrc":"53182:16:22","nodeType":"YulFunctionCall","src":"53182:16:22"},"nativeSrc":"53182:16:22","nodeType":"YulExpressionStatement","src":"53182:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33075,"isOffset":false,"isSlot":false,"src":"53108:2:22","valueSize":1},{"declaration":33078,"isOffset":false,"isSlot":false,"src":"53137:2:22","valueSize":1},{"declaration":33081,"isOffset":false,"isSlot":false,"src":"53166:2:22","valueSize":1},{"declaration":33084,"isOffset":false,"isSlot":false,"src":"53195:2:22","valueSize":1}],"id":33092,"nodeType":"InlineAssembly","src":"53072:136:22"}]},"id":33094,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52473:3:22","nodeType":"FunctionDefinition","parameters":{"id":33072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33067,"mutability":"mutable","name":"p0","nameLocation":"52485:2:22","nodeType":"VariableDeclaration","scope":33094,"src":"52477:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33066,"name":"uint256","nodeType":"ElementaryTypeName","src":"52477:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33069,"mutability":"mutable","name":"p1","nameLocation":"52497:2:22","nodeType":"VariableDeclaration","scope":33094,"src":"52489:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33068,"name":"address","nodeType":"ElementaryTypeName","src":"52489:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33071,"mutability":"mutable","name":"p2","nameLocation":"52509:2:22","nodeType":"VariableDeclaration","scope":33094,"src":"52501:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33070,"name":"address","nodeType":"ElementaryTypeName","src":"52501:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52476:36:22"},"returnParameters":{"id":33073,"nodeType":"ParameterList","parameters":[],"src":"52527:0:22"},"scope":44426,"src":"52464:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33122,"nodeType":"Block","src":"53280:684:22","statements":[{"assignments":[33104],"declarations":[{"constant":false,"id":33104,"mutability":"mutable","name":"m0","nameLocation":"53298:2:22","nodeType":"VariableDeclaration","scope":33122,"src":"53290:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53290:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33105,"nodeType":"VariableDeclarationStatement","src":"53290:10:22"},{"assignments":[33107],"declarations":[{"constant":false,"id":33107,"mutability":"mutable","name":"m1","nameLocation":"53318:2:22","nodeType":"VariableDeclaration","scope":33122,"src":"53310:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53310:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33108,"nodeType":"VariableDeclarationStatement","src":"53310:10:22"},{"assignments":[33110],"declarations":[{"constant":false,"id":33110,"mutability":"mutable","name":"m2","nameLocation":"53338:2:22","nodeType":"VariableDeclaration","scope":33122,"src":"53330:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53330:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33111,"nodeType":"VariableDeclarationStatement","src":"53330:10:22"},{"assignments":[33113],"declarations":[{"constant":false,"id":33113,"mutability":"mutable","name":"m3","nameLocation":"53358:2:22","nodeType":"VariableDeclaration","scope":33122,"src":"53350:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53350:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33114,"nodeType":"VariableDeclarationStatement","src":"53350:10:22"},{"AST":{"nativeSrc":"53422:311:22","nodeType":"YulBlock","src":"53422:311:22","statements":[{"nativeSrc":"53436:17:22","nodeType":"YulAssignment","src":"53436:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"53448:4:22","nodeType":"YulLiteral","src":"53448:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"53442:5:22","nodeType":"YulIdentifier","src":"53442:5:22"},"nativeSrc":"53442:11:22","nodeType":"YulFunctionCall","src":"53442:11:22"},"variableNames":[{"name":"m0","nativeSrc":"53436:2:22","nodeType":"YulIdentifier","src":"53436:2:22"}]},{"nativeSrc":"53466:17:22","nodeType":"YulAssignment","src":"53466:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"53478:4:22","nodeType":"YulLiteral","src":"53478:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"53472:5:22","nodeType":"YulIdentifier","src":"53472:5:22"},"nativeSrc":"53472:11:22","nodeType":"YulFunctionCall","src":"53472:11:22"},"variableNames":[{"name":"m1","nativeSrc":"53466:2:22","nodeType":"YulIdentifier","src":"53466:2:22"}]},{"nativeSrc":"53496:17:22","nodeType":"YulAssignment","src":"53496:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"53508:4:22","nodeType":"YulLiteral","src":"53508:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"53502:5:22","nodeType":"YulIdentifier","src":"53502:5:22"},"nativeSrc":"53502:11:22","nodeType":"YulFunctionCall","src":"53502:11:22"},"variableNames":[{"name":"m2","nativeSrc":"53496:2:22","nodeType":"YulIdentifier","src":"53496:2:22"}]},{"nativeSrc":"53526:17:22","nodeType":"YulAssignment","src":"53526:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"53538:4:22","nodeType":"YulLiteral","src":"53538:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"53532:5:22","nodeType":"YulIdentifier","src":"53532:5:22"},"nativeSrc":"53532:11:22","nodeType":"YulFunctionCall","src":"53532:11:22"},"variableNames":[{"name":"m3","nativeSrc":"53526:2:22","nodeType":"YulIdentifier","src":"53526:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53619:4:22","nodeType":"YulLiteral","src":"53619:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"53625:10:22","nodeType":"YulLiteral","src":"53625:10:22","type":"","value":"0x9b6ec042"}],"functionName":{"name":"mstore","nativeSrc":"53612:6:22","nodeType":"YulIdentifier","src":"53612:6:22"},"nativeSrc":"53612:24:22","nodeType":"YulFunctionCall","src":"53612:24:22"},"nativeSrc":"53612:24:22","nodeType":"YulExpressionStatement","src":"53612:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53656:4:22","nodeType":"YulLiteral","src":"53656:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"53662:2:22","nodeType":"YulIdentifier","src":"53662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53649:6:22","nodeType":"YulIdentifier","src":"53649:6:22"},"nativeSrc":"53649:16:22","nodeType":"YulFunctionCall","src":"53649:16:22"},"nativeSrc":"53649:16:22","nodeType":"YulExpressionStatement","src":"53649:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53685:4:22","nodeType":"YulLiteral","src":"53685:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"53691:2:22","nodeType":"YulIdentifier","src":"53691:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53678:6:22","nodeType":"YulIdentifier","src":"53678:6:22"},"nativeSrc":"53678:16:22","nodeType":"YulFunctionCall","src":"53678:16:22"},"nativeSrc":"53678:16:22","nodeType":"YulExpressionStatement","src":"53678:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53714:4:22","nodeType":"YulLiteral","src":"53714:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"53720:2:22","nodeType":"YulIdentifier","src":"53720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53707:6:22","nodeType":"YulIdentifier","src":"53707:6:22"},"nativeSrc":"53707:16:22","nodeType":"YulFunctionCall","src":"53707:16:22"},"nativeSrc":"53707:16:22","nodeType":"YulExpressionStatement","src":"53707:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33104,"isOffset":false,"isSlot":false,"src":"53436:2:22","valueSize":1},{"declaration":33107,"isOffset":false,"isSlot":false,"src":"53466:2:22","valueSize":1},{"declaration":33110,"isOffset":false,"isSlot":false,"src":"53496:2:22","valueSize":1},{"declaration":33113,"isOffset":false,"isSlot":false,"src":"53526:2:22","valueSize":1},{"declaration":33096,"isOffset":false,"isSlot":false,"src":"53662:2:22","valueSize":1},{"declaration":33098,"isOffset":false,"isSlot":false,"src":"53691:2:22","valueSize":1},{"declaration":33100,"isOffset":false,"isSlot":false,"src":"53720:2:22","valueSize":1}],"id":33115,"nodeType":"InlineAssembly","src":"53413:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53758:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53764:4:22","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":33116,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"53742:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53742:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33120,"nodeType":"ExpressionStatement","src":"53742:27:22"},{"AST":{"nativeSrc":"53831:127:22","nodeType":"YulBlock","src":"53831:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53852:4:22","nodeType":"YulLiteral","src":"53852:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53858:2:22","nodeType":"YulIdentifier","src":"53858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53845:6:22","nodeType":"YulIdentifier","src":"53845:6:22"},"nativeSrc":"53845:16:22","nodeType":"YulFunctionCall","src":"53845:16:22"},"nativeSrc":"53845:16:22","nodeType":"YulExpressionStatement","src":"53845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53881:4:22","nodeType":"YulLiteral","src":"53881:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53887:2:22","nodeType":"YulIdentifier","src":"53887:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53874:6:22","nodeType":"YulIdentifier","src":"53874:6:22"},"nativeSrc":"53874:16:22","nodeType":"YulFunctionCall","src":"53874:16:22"},"nativeSrc":"53874:16:22","nodeType":"YulExpressionStatement","src":"53874:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53910:4:22","nodeType":"YulLiteral","src":"53910:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53916:2:22","nodeType":"YulIdentifier","src":"53916:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53903:6:22","nodeType":"YulIdentifier","src":"53903:6:22"},"nativeSrc":"53903:16:22","nodeType":"YulFunctionCall","src":"53903:16:22"},"nativeSrc":"53903:16:22","nodeType":"YulExpressionStatement","src":"53903:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53939:4:22","nodeType":"YulLiteral","src":"53939:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53945:2:22","nodeType":"YulIdentifier","src":"53945:2:22"}],"functionName":{"name":"mstore","nativeSrc":"53932:6:22","nodeType":"YulIdentifier","src":"53932:6:22"},"nativeSrc":"53932:16:22","nodeType":"YulFunctionCall","src":"53932:16:22"},"nativeSrc":"53932:16:22","nodeType":"YulExpressionStatement","src":"53932:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33104,"isOffset":false,"isSlot":false,"src":"53858:2:22","valueSize":1},{"declaration":33107,"isOffset":false,"isSlot":false,"src":"53887:2:22","valueSize":1},{"declaration":33110,"isOffset":false,"isSlot":false,"src":"53916:2:22","valueSize":1},{"declaration":33113,"isOffset":false,"isSlot":false,"src":"53945:2:22","valueSize":1}],"id":33121,"nodeType":"InlineAssembly","src":"53822:136:22"}]},"id":33123,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53229:3:22","nodeType":"FunctionDefinition","parameters":{"id":33101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33096,"mutability":"mutable","name":"p0","nameLocation":"53241:2:22","nodeType":"VariableDeclaration","scope":33123,"src":"53233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33095,"name":"uint256","nodeType":"ElementaryTypeName","src":"53233:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33098,"mutability":"mutable","name":"p1","nameLocation":"53253:2:22","nodeType":"VariableDeclaration","scope":33123,"src":"53245:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33097,"name":"address","nodeType":"ElementaryTypeName","src":"53245:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33100,"mutability":"mutable","name":"p2","nameLocation":"53262:2:22","nodeType":"VariableDeclaration","scope":33123,"src":"53257:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33099,"name":"bool","nodeType":"ElementaryTypeName","src":"53257:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53232:33:22"},"returnParameters":{"id":33102,"nodeType":"ParameterList","parameters":[],"src":"53280:0:22"},"scope":44426,"src":"53220:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33151,"nodeType":"Block","src":"54033:687:22","statements":[{"assignments":[33133],"declarations":[{"constant":false,"id":33133,"mutability":"mutable","name":"m0","nameLocation":"54051:2:22","nodeType":"VariableDeclaration","scope":33151,"src":"54043:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54043:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33134,"nodeType":"VariableDeclarationStatement","src":"54043:10:22"},{"assignments":[33136],"declarations":[{"constant":false,"id":33136,"mutability":"mutable","name":"m1","nameLocation":"54071:2:22","nodeType":"VariableDeclaration","scope":33151,"src":"54063:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33137,"nodeType":"VariableDeclarationStatement","src":"54063:10:22"},{"assignments":[33139],"declarations":[{"constant":false,"id":33139,"mutability":"mutable","name":"m2","nameLocation":"54091:2:22","nodeType":"VariableDeclaration","scope":33151,"src":"54083:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54083:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33140,"nodeType":"VariableDeclarationStatement","src":"54083:10:22"},{"assignments":[33142],"declarations":[{"constant":false,"id":33142,"mutability":"mutable","name":"m3","nameLocation":"54111:2:22","nodeType":"VariableDeclaration","scope":33151,"src":"54103:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54103:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33143,"nodeType":"VariableDeclarationStatement","src":"54103:10:22"},{"AST":{"nativeSrc":"54175:314:22","nodeType":"YulBlock","src":"54175:314:22","statements":[{"nativeSrc":"54189:17:22","nodeType":"YulAssignment","src":"54189:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"54201:4:22","nodeType":"YulLiteral","src":"54201:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"54195:5:22","nodeType":"YulIdentifier","src":"54195:5:22"},"nativeSrc":"54195:11:22","nodeType":"YulFunctionCall","src":"54195:11:22"},"variableNames":[{"name":"m0","nativeSrc":"54189:2:22","nodeType":"YulIdentifier","src":"54189:2:22"}]},{"nativeSrc":"54219:17:22","nodeType":"YulAssignment","src":"54219:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"54231:4:22","nodeType":"YulLiteral","src":"54231:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"54225:5:22","nodeType":"YulIdentifier","src":"54225:5:22"},"nativeSrc":"54225:11:22","nodeType":"YulFunctionCall","src":"54225:11:22"},"variableNames":[{"name":"m1","nativeSrc":"54219:2:22","nodeType":"YulIdentifier","src":"54219:2:22"}]},{"nativeSrc":"54249:17:22","nodeType":"YulAssignment","src":"54249:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"54261:4:22","nodeType":"YulLiteral","src":"54261:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"54255:5:22","nodeType":"YulIdentifier","src":"54255:5:22"},"nativeSrc":"54255:11:22","nodeType":"YulFunctionCall","src":"54255:11:22"},"variableNames":[{"name":"m2","nativeSrc":"54249:2:22","nodeType":"YulIdentifier","src":"54249:2:22"}]},{"nativeSrc":"54279:17:22","nodeType":"YulAssignment","src":"54279:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"54291:4:22","nodeType":"YulLiteral","src":"54291:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"54285:5:22","nodeType":"YulIdentifier","src":"54285:5:22"},"nativeSrc":"54285:11:22","nodeType":"YulFunctionCall","src":"54285:11:22"},"variableNames":[{"name":"m3","nativeSrc":"54279:2:22","nodeType":"YulIdentifier","src":"54279:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54375:4:22","nodeType":"YulLiteral","src":"54375:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"54381:10:22","nodeType":"YulLiteral","src":"54381:10:22","type":"","value":"0x5a9b5ed5"}],"functionName":{"name":"mstore","nativeSrc":"54368:6:22","nodeType":"YulIdentifier","src":"54368:6:22"},"nativeSrc":"54368:24:22","nodeType":"YulFunctionCall","src":"54368:24:22"},"nativeSrc":"54368:24:22","nodeType":"YulExpressionStatement","src":"54368:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54412:4:22","nodeType":"YulLiteral","src":"54412:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"54418:2:22","nodeType":"YulIdentifier","src":"54418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54405:6:22","nodeType":"YulIdentifier","src":"54405:6:22"},"nativeSrc":"54405:16:22","nodeType":"YulFunctionCall","src":"54405:16:22"},"nativeSrc":"54405:16:22","nodeType":"YulExpressionStatement","src":"54405:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54441:4:22","nodeType":"YulLiteral","src":"54441:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"54447:2:22","nodeType":"YulIdentifier","src":"54447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54434:6:22","nodeType":"YulIdentifier","src":"54434:6:22"},"nativeSrc":"54434:16:22","nodeType":"YulFunctionCall","src":"54434:16:22"},"nativeSrc":"54434:16:22","nodeType":"YulExpressionStatement","src":"54434:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54470:4:22","nodeType":"YulLiteral","src":"54470:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"54476:2:22","nodeType":"YulIdentifier","src":"54476:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54463:6:22","nodeType":"YulIdentifier","src":"54463:6:22"},"nativeSrc":"54463:16:22","nodeType":"YulFunctionCall","src":"54463:16:22"},"nativeSrc":"54463:16:22","nodeType":"YulExpressionStatement","src":"54463:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33133,"isOffset":false,"isSlot":false,"src":"54189:2:22","valueSize":1},{"declaration":33136,"isOffset":false,"isSlot":false,"src":"54219:2:22","valueSize":1},{"declaration":33139,"isOffset":false,"isSlot":false,"src":"54249:2:22","valueSize":1},{"declaration":33142,"isOffset":false,"isSlot":false,"src":"54279:2:22","valueSize":1},{"declaration":33125,"isOffset":false,"isSlot":false,"src":"54418:2:22","valueSize":1},{"declaration":33127,"isOffset":false,"isSlot":false,"src":"54447:2:22","valueSize":1},{"declaration":33129,"isOffset":false,"isSlot":false,"src":"54476:2:22","valueSize":1}],"id":33144,"nodeType":"InlineAssembly","src":"54166:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54514:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54520:4:22","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":33145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"54498:15:22","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":"54498:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33149,"nodeType":"ExpressionStatement","src":"54498:27:22"},{"AST":{"nativeSrc":"54587:127:22","nodeType":"YulBlock","src":"54587:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"54608:4:22","nodeType":"YulLiteral","src":"54608:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"54614:2:22","nodeType":"YulIdentifier","src":"54614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54601:6:22","nodeType":"YulIdentifier","src":"54601:6:22"},"nativeSrc":"54601:16:22","nodeType":"YulFunctionCall","src":"54601:16:22"},"nativeSrc":"54601:16:22","nodeType":"YulExpressionStatement","src":"54601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54637:4:22","nodeType":"YulLiteral","src":"54637:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"54643:2:22","nodeType":"YulIdentifier","src":"54643:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54630:6:22","nodeType":"YulIdentifier","src":"54630:6:22"},"nativeSrc":"54630:16:22","nodeType":"YulFunctionCall","src":"54630:16:22"},"nativeSrc":"54630:16:22","nodeType":"YulExpressionStatement","src":"54630:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54666:4:22","nodeType":"YulLiteral","src":"54666:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"54672:2:22","nodeType":"YulIdentifier","src":"54672:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54659:6:22","nodeType":"YulIdentifier","src":"54659:6:22"},"nativeSrc":"54659:16:22","nodeType":"YulFunctionCall","src":"54659:16:22"},"nativeSrc":"54659:16:22","nodeType":"YulExpressionStatement","src":"54659:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54695:4:22","nodeType":"YulLiteral","src":"54695:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"54701:2:22","nodeType":"YulIdentifier","src":"54701:2:22"}],"functionName":{"name":"mstore","nativeSrc":"54688:6:22","nodeType":"YulIdentifier","src":"54688:6:22"},"nativeSrc":"54688:16:22","nodeType":"YulFunctionCall","src":"54688:16:22"},"nativeSrc":"54688:16:22","nodeType":"YulExpressionStatement","src":"54688:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33133,"isOffset":false,"isSlot":false,"src":"54614:2:22","valueSize":1},{"declaration":33136,"isOffset":false,"isSlot":false,"src":"54643:2:22","valueSize":1},{"declaration":33139,"isOffset":false,"isSlot":false,"src":"54672:2:22","valueSize":1},{"declaration":33142,"isOffset":false,"isSlot":false,"src":"54701:2:22","valueSize":1}],"id":33150,"nodeType":"InlineAssembly","src":"54578:136:22"}]},"id":33152,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53979:3:22","nodeType":"FunctionDefinition","parameters":{"id":33130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33125,"mutability":"mutable","name":"p0","nameLocation":"53991:2:22","nodeType":"VariableDeclaration","scope":33152,"src":"53983:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33124,"name":"uint256","nodeType":"ElementaryTypeName","src":"53983:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33127,"mutability":"mutable","name":"p1","nameLocation":"54003:2:22","nodeType":"VariableDeclaration","scope":33152,"src":"53995:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33126,"name":"address","nodeType":"ElementaryTypeName","src":"53995:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33129,"mutability":"mutable","name":"p2","nameLocation":"54015:2:22","nodeType":"VariableDeclaration","scope":33152,"src":"54007:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33128,"name":"uint256","nodeType":"ElementaryTypeName","src":"54007:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53982:36:22"},"returnParameters":{"id":33131,"nodeType":"ParameterList","parameters":[],"src":"54033:0:22"},"scope":44426,"src":"53970:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33186,"nodeType":"Block","src":"54789:1235:22","statements":[{"assignments":[33162],"declarations":[{"constant":false,"id":33162,"mutability":"mutable","name":"m0","nameLocation":"54807:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33163,"nodeType":"VariableDeclarationStatement","src":"54799:10:22"},{"assignments":[33165],"declarations":[{"constant":false,"id":33165,"mutability":"mutable","name":"m1","nameLocation":"54827:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33166,"nodeType":"VariableDeclarationStatement","src":"54819:10:22"},{"assignments":[33168],"declarations":[{"constant":false,"id":33168,"mutability":"mutable","name":"m2","nameLocation":"54847:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54839:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54839:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33169,"nodeType":"VariableDeclarationStatement","src":"54839:10:22"},{"assignments":[33171],"declarations":[{"constant":false,"id":33171,"mutability":"mutable","name":"m3","nameLocation":"54867:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54859:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33172,"nodeType":"VariableDeclarationStatement","src":"54859:10:22"},{"assignments":[33174],"declarations":[{"constant":false,"id":33174,"mutability":"mutable","name":"m4","nameLocation":"54887:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33175,"nodeType":"VariableDeclarationStatement","src":"54879:10:22"},{"assignments":[33177],"declarations":[{"constant":false,"id":33177,"mutability":"mutable","name":"m5","nameLocation":"54907:2:22","nodeType":"VariableDeclaration","scope":33186,"src":"54899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54899:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33178,"nodeType":"VariableDeclarationStatement","src":"54899:10:22"},{"AST":{"nativeSrc":"54971:764:22","nodeType":"YulBlock","src":"54971:764:22","statements":[{"body":{"nativeSrc":"55014:313:22","nodeType":"YulBlock","src":"55014:313:22","statements":[{"nativeSrc":"55032:15:22","nodeType":"YulVariableDeclaration","src":"55032:15:22","value":{"kind":"number","nativeSrc":"55046:1:22","nodeType":"YulLiteral","src":"55046:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"55036:6:22","nodeType":"YulTypedName","src":"55036:6:22","type":""}]},{"body":{"nativeSrc":"55117:40:22","nodeType":"YulBlock","src":"55117:40:22","statements":[{"body":{"nativeSrc":"55146:9:22","nodeType":"YulBlock","src":"55146:9:22","statements":[{"nativeSrc":"55148:5:22","nodeType":"YulBreak","src":"55148:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"55134:6:22","nodeType":"YulIdentifier","src":"55134:6:22"},{"name":"w","nativeSrc":"55142:1:22","nodeType":"YulIdentifier","src":"55142:1:22"}],"functionName":{"name":"byte","nativeSrc":"55129:4:22","nodeType":"YulIdentifier","src":"55129:4:22"},"nativeSrc":"55129:15:22","nodeType":"YulFunctionCall","src":"55129:15:22"}],"functionName":{"name":"iszero","nativeSrc":"55122:6:22","nodeType":"YulIdentifier","src":"55122:6:22"},"nativeSrc":"55122:23:22","nodeType":"YulFunctionCall","src":"55122:23:22"},"nativeSrc":"55119:36:22","nodeType":"YulIf","src":"55119:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"55074:6:22","nodeType":"YulIdentifier","src":"55074:6:22"},{"kind":"number","nativeSrc":"55082:4:22","nodeType":"YulLiteral","src":"55082:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"55071:2:22","nodeType":"YulIdentifier","src":"55071:2:22"},"nativeSrc":"55071:16:22","nodeType":"YulFunctionCall","src":"55071:16:22"},"nativeSrc":"55064:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"55088:28:22","nodeType":"YulBlock","src":"55088:28:22","statements":[{"nativeSrc":"55090:24:22","nodeType":"YulAssignment","src":"55090:24:22","value":{"arguments":[{"name":"length","nativeSrc":"55104:6:22","nodeType":"YulIdentifier","src":"55104:6:22"},{"kind":"number","nativeSrc":"55112:1:22","nodeType":"YulLiteral","src":"55112:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"55100:3:22","nodeType":"YulIdentifier","src":"55100:3:22"},"nativeSrc":"55100:14:22","nodeType":"YulFunctionCall","src":"55100:14:22"},"variableNames":[{"name":"length","nativeSrc":"55090:6:22","nodeType":"YulIdentifier","src":"55090:6:22"}]}]},"pre":{"nativeSrc":"55068:2:22","nodeType":"YulBlock","src":"55068:2:22","statements":[]},"src":"55064:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"55181:3:22","nodeType":"YulIdentifier","src":"55181:3:22"},{"name":"length","nativeSrc":"55186:6:22","nodeType":"YulIdentifier","src":"55186:6:22"}],"functionName":{"name":"mstore","nativeSrc":"55174:6:22","nodeType":"YulIdentifier","src":"55174:6:22"},"nativeSrc":"55174:19:22","nodeType":"YulFunctionCall","src":"55174:19:22"},"nativeSrc":"55174:19:22","nodeType":"YulExpressionStatement","src":"55174:19:22"},{"nativeSrc":"55210:37:22","nodeType":"YulVariableDeclaration","src":"55210:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"55227:3:22","nodeType":"YulLiteral","src":"55227:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"55236:1:22","nodeType":"YulLiteral","src":"55236:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"55239:6:22","nodeType":"YulIdentifier","src":"55239:6:22"}],"functionName":{"name":"shl","nativeSrc":"55232:3:22","nodeType":"YulIdentifier","src":"55232:3:22"},"nativeSrc":"55232:14:22","nodeType":"YulFunctionCall","src":"55232:14:22"}],"functionName":{"name":"sub","nativeSrc":"55223:3:22","nodeType":"YulIdentifier","src":"55223:3:22"},"nativeSrc":"55223:24:22","nodeType":"YulFunctionCall","src":"55223:24:22"},"variables":[{"name":"shift","nativeSrc":"55214:5:22","nodeType":"YulTypedName","src":"55214:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"55275:3:22","nodeType":"YulIdentifier","src":"55275:3:22"},{"kind":"number","nativeSrc":"55280:4:22","nodeType":"YulLiteral","src":"55280:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"55271:3:22","nodeType":"YulIdentifier","src":"55271:3:22"},"nativeSrc":"55271:14:22","nodeType":"YulFunctionCall","src":"55271:14:22"},{"arguments":[{"name":"shift","nativeSrc":"55291:5:22","nodeType":"YulIdentifier","src":"55291:5:22"},{"arguments":[{"name":"shift","nativeSrc":"55302:5:22","nodeType":"YulIdentifier","src":"55302:5:22"},{"name":"w","nativeSrc":"55309:1:22","nodeType":"YulIdentifier","src":"55309:1:22"}],"functionName":{"name":"shr","nativeSrc":"55298:3:22","nodeType":"YulIdentifier","src":"55298:3:22"},"nativeSrc":"55298:13:22","nodeType":"YulFunctionCall","src":"55298:13:22"}],"functionName":{"name":"shl","nativeSrc":"55287:3:22","nodeType":"YulIdentifier","src":"55287:3:22"},"nativeSrc":"55287:25:22","nodeType":"YulFunctionCall","src":"55287:25:22"}],"functionName":{"name":"mstore","nativeSrc":"55264:6:22","nodeType":"YulIdentifier","src":"55264:6:22"},"nativeSrc":"55264:49:22","nodeType":"YulFunctionCall","src":"55264:49:22"},"nativeSrc":"55264:49:22","nodeType":"YulExpressionStatement","src":"55264:49:22"}]},"name":"writeString","nativeSrc":"54985:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"55006:3:22","nodeType":"YulTypedName","src":"55006:3:22","type":""},{"name":"w","nativeSrc":"55011:1:22","nodeType":"YulTypedName","src":"55011:1:22","type":""}],"src":"54985:342:22"},{"nativeSrc":"55340:17:22","nodeType":"YulAssignment","src":"55340:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55352:4:22","nodeType":"YulLiteral","src":"55352:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"55346:5:22","nodeType":"YulIdentifier","src":"55346:5:22"},"nativeSrc":"55346:11:22","nodeType":"YulFunctionCall","src":"55346:11:22"},"variableNames":[{"name":"m0","nativeSrc":"55340:2:22","nodeType":"YulIdentifier","src":"55340:2:22"}]},{"nativeSrc":"55370:17:22","nodeType":"YulAssignment","src":"55370:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55382:4:22","nodeType":"YulLiteral","src":"55382:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"55376:5:22","nodeType":"YulIdentifier","src":"55376:5:22"},"nativeSrc":"55376:11:22","nodeType":"YulFunctionCall","src":"55376:11:22"},"variableNames":[{"name":"m1","nativeSrc":"55370:2:22","nodeType":"YulIdentifier","src":"55370:2:22"}]},{"nativeSrc":"55400:17:22","nodeType":"YulAssignment","src":"55400:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55412:4:22","nodeType":"YulLiteral","src":"55412:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"55406:5:22","nodeType":"YulIdentifier","src":"55406:5:22"},"nativeSrc":"55406:11:22","nodeType":"YulFunctionCall","src":"55406:11:22"},"variableNames":[{"name":"m2","nativeSrc":"55400:2:22","nodeType":"YulIdentifier","src":"55400:2:22"}]},{"nativeSrc":"55430:17:22","nodeType":"YulAssignment","src":"55430:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55442:4:22","nodeType":"YulLiteral","src":"55442:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"55436:5:22","nodeType":"YulIdentifier","src":"55436:5:22"},"nativeSrc":"55436:11:22","nodeType":"YulFunctionCall","src":"55436:11:22"},"variableNames":[{"name":"m3","nativeSrc":"55430:2:22","nodeType":"YulIdentifier","src":"55430:2:22"}]},{"nativeSrc":"55460:17:22","nodeType":"YulAssignment","src":"55460:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55472:4:22","nodeType":"YulLiteral","src":"55472:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"55466:5:22","nodeType":"YulIdentifier","src":"55466:5:22"},"nativeSrc":"55466:11:22","nodeType":"YulFunctionCall","src":"55466:11:22"},"variableNames":[{"name":"m4","nativeSrc":"55460:2:22","nodeType":"YulIdentifier","src":"55460:2:22"}]},{"nativeSrc":"55490:17:22","nodeType":"YulAssignment","src":"55490:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"55502:4:22","nodeType":"YulLiteral","src":"55502:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"55496:5:22","nodeType":"YulIdentifier","src":"55496:5:22"},"nativeSrc":"55496:11:22","nodeType":"YulFunctionCall","src":"55496:11:22"},"variableNames":[{"name":"m5","nativeSrc":"55490:2:22","nodeType":"YulIdentifier","src":"55490:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55585:4:22","nodeType":"YulLiteral","src":"55585:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"55591:10:22","nodeType":"YulLiteral","src":"55591:10:22","type":"","value":"0x63cb41f9"}],"functionName":{"name":"mstore","nativeSrc":"55578:6:22","nodeType":"YulIdentifier","src":"55578:6:22"},"nativeSrc":"55578:24:22","nodeType":"YulFunctionCall","src":"55578:24:22"},"nativeSrc":"55578:24:22","nodeType":"YulExpressionStatement","src":"55578:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55622:4:22","nodeType":"YulLiteral","src":"55622:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"55628:2:22","nodeType":"YulIdentifier","src":"55628:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55615:6:22","nodeType":"YulIdentifier","src":"55615:6:22"},"nativeSrc":"55615:16:22","nodeType":"YulFunctionCall","src":"55615:16:22"},"nativeSrc":"55615:16:22","nodeType":"YulExpressionStatement","src":"55615:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55651:4:22","nodeType":"YulLiteral","src":"55651:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"55657:2:22","nodeType":"YulIdentifier","src":"55657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55644:6:22","nodeType":"YulIdentifier","src":"55644:6:22"},"nativeSrc":"55644:16:22","nodeType":"YulFunctionCall","src":"55644:16:22"},"nativeSrc":"55644:16:22","nodeType":"YulExpressionStatement","src":"55644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55680:4:22","nodeType":"YulLiteral","src":"55680:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"55686:4:22","nodeType":"YulLiteral","src":"55686:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"55673:6:22","nodeType":"YulIdentifier","src":"55673:6:22"},"nativeSrc":"55673:18:22","nodeType":"YulFunctionCall","src":"55673:18:22"},"nativeSrc":"55673:18:22","nodeType":"YulExpressionStatement","src":"55673:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55716:4:22","nodeType":"YulLiteral","src":"55716:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"55722:2:22","nodeType":"YulIdentifier","src":"55722:2:22"}],"functionName":{"name":"writeString","nativeSrc":"55704:11:22","nodeType":"YulIdentifier","src":"55704:11:22"},"nativeSrc":"55704:21:22","nodeType":"YulFunctionCall","src":"55704:21:22"},"nativeSrc":"55704:21:22","nodeType":"YulExpressionStatement","src":"55704:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33162,"isOffset":false,"isSlot":false,"src":"55340:2:22","valueSize":1},{"declaration":33165,"isOffset":false,"isSlot":false,"src":"55370:2:22","valueSize":1},{"declaration":33168,"isOffset":false,"isSlot":false,"src":"55400:2:22","valueSize":1},{"declaration":33171,"isOffset":false,"isSlot":false,"src":"55430:2:22","valueSize":1},{"declaration":33174,"isOffset":false,"isSlot":false,"src":"55460:2:22","valueSize":1},{"declaration":33177,"isOffset":false,"isSlot":false,"src":"55490:2:22","valueSize":1},{"declaration":33154,"isOffset":false,"isSlot":false,"src":"55628:2:22","valueSize":1},{"declaration":33156,"isOffset":false,"isSlot":false,"src":"55657:2:22","valueSize":1},{"declaration":33158,"isOffset":false,"isSlot":false,"src":"55722:2:22","valueSize":1}],"id":33179,"nodeType":"InlineAssembly","src":"54962:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55760:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55766:4:22","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":33180,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"55744:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55744:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33184,"nodeType":"ExpressionStatement","src":"55744:27:22"},{"AST":{"nativeSrc":"55833:185:22","nodeType":"YulBlock","src":"55833:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"55854:4:22","nodeType":"YulLiteral","src":"55854:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"55860:2:22","nodeType":"YulIdentifier","src":"55860:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55847:6:22","nodeType":"YulIdentifier","src":"55847:6:22"},"nativeSrc":"55847:16:22","nodeType":"YulFunctionCall","src":"55847:16:22"},"nativeSrc":"55847:16:22","nodeType":"YulExpressionStatement","src":"55847:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55883:4:22","nodeType":"YulLiteral","src":"55883:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"55889:2:22","nodeType":"YulIdentifier","src":"55889:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55876:6:22","nodeType":"YulIdentifier","src":"55876:6:22"},"nativeSrc":"55876:16:22","nodeType":"YulFunctionCall","src":"55876:16:22"},"nativeSrc":"55876:16:22","nodeType":"YulExpressionStatement","src":"55876:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55912:4:22","nodeType":"YulLiteral","src":"55912:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"55918:2:22","nodeType":"YulIdentifier","src":"55918:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55905:6:22","nodeType":"YulIdentifier","src":"55905:6:22"},"nativeSrc":"55905:16:22","nodeType":"YulFunctionCall","src":"55905:16:22"},"nativeSrc":"55905:16:22","nodeType":"YulExpressionStatement","src":"55905:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55941:4:22","nodeType":"YulLiteral","src":"55941:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"55947:2:22","nodeType":"YulIdentifier","src":"55947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55934:6:22","nodeType":"YulIdentifier","src":"55934:6:22"},"nativeSrc":"55934:16:22","nodeType":"YulFunctionCall","src":"55934:16:22"},"nativeSrc":"55934:16:22","nodeType":"YulExpressionStatement","src":"55934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55970:4:22","nodeType":"YulLiteral","src":"55970:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"55976:2:22","nodeType":"YulIdentifier","src":"55976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55963:6:22","nodeType":"YulIdentifier","src":"55963:6:22"},"nativeSrc":"55963:16:22","nodeType":"YulFunctionCall","src":"55963:16:22"},"nativeSrc":"55963:16:22","nodeType":"YulExpressionStatement","src":"55963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55999:4:22","nodeType":"YulLiteral","src":"55999:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"56005:2:22","nodeType":"YulIdentifier","src":"56005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"55992:6:22","nodeType":"YulIdentifier","src":"55992:6:22"},"nativeSrc":"55992:16:22","nodeType":"YulFunctionCall","src":"55992:16:22"},"nativeSrc":"55992:16:22","nodeType":"YulExpressionStatement","src":"55992:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33162,"isOffset":false,"isSlot":false,"src":"55860:2:22","valueSize":1},{"declaration":33165,"isOffset":false,"isSlot":false,"src":"55889:2:22","valueSize":1},{"declaration":33168,"isOffset":false,"isSlot":false,"src":"55918:2:22","valueSize":1},{"declaration":33171,"isOffset":false,"isSlot":false,"src":"55947:2:22","valueSize":1},{"declaration":33174,"isOffset":false,"isSlot":false,"src":"55976:2:22","valueSize":1},{"declaration":33177,"isOffset":false,"isSlot":false,"src":"56005:2:22","valueSize":1}],"id":33185,"nodeType":"InlineAssembly","src":"55824:194:22"}]},"id":33187,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54735:3:22","nodeType":"FunctionDefinition","parameters":{"id":33159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33154,"mutability":"mutable","name":"p0","nameLocation":"54747:2:22","nodeType":"VariableDeclaration","scope":33187,"src":"54739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33153,"name":"uint256","nodeType":"ElementaryTypeName","src":"54739:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33156,"mutability":"mutable","name":"p1","nameLocation":"54759:2:22","nodeType":"VariableDeclaration","scope":33187,"src":"54751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33155,"name":"address","nodeType":"ElementaryTypeName","src":"54751:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33158,"mutability":"mutable","name":"p2","nameLocation":"54771:2:22","nodeType":"VariableDeclaration","scope":33187,"src":"54763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54763:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"54738:36:22"},"returnParameters":{"id":33160,"nodeType":"ParameterList","parameters":[],"src":"54789:0:22"},"scope":44426,"src":"54726:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33215,"nodeType":"Block","src":"56090:684:22","statements":[{"assignments":[33197],"declarations":[{"constant":false,"id":33197,"mutability":"mutable","name":"m0","nameLocation":"56108:2:22","nodeType":"VariableDeclaration","scope":33215,"src":"56100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56100:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33198,"nodeType":"VariableDeclarationStatement","src":"56100:10:22"},{"assignments":[33200],"declarations":[{"constant":false,"id":33200,"mutability":"mutable","name":"m1","nameLocation":"56128:2:22","nodeType":"VariableDeclaration","scope":33215,"src":"56120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56120:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33201,"nodeType":"VariableDeclarationStatement","src":"56120:10:22"},{"assignments":[33203],"declarations":[{"constant":false,"id":33203,"mutability":"mutable","name":"m2","nameLocation":"56148:2:22","nodeType":"VariableDeclaration","scope":33215,"src":"56140:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56140:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33204,"nodeType":"VariableDeclarationStatement","src":"56140:10:22"},{"assignments":[33206],"declarations":[{"constant":false,"id":33206,"mutability":"mutable","name":"m3","nameLocation":"56168:2:22","nodeType":"VariableDeclaration","scope":33215,"src":"56160:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56160:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33207,"nodeType":"VariableDeclarationStatement","src":"56160:10:22"},{"AST":{"nativeSrc":"56232:311:22","nodeType":"YulBlock","src":"56232:311:22","statements":[{"nativeSrc":"56246:17:22","nodeType":"YulAssignment","src":"56246:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"56258:4:22","nodeType":"YulLiteral","src":"56258:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56252:5:22","nodeType":"YulIdentifier","src":"56252:5:22"},"nativeSrc":"56252:11:22","nodeType":"YulFunctionCall","src":"56252:11:22"},"variableNames":[{"name":"m0","nativeSrc":"56246:2:22","nodeType":"YulIdentifier","src":"56246:2:22"}]},{"nativeSrc":"56276:17:22","nodeType":"YulAssignment","src":"56276:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"56288:4:22","nodeType":"YulLiteral","src":"56288:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"56282:5:22","nodeType":"YulIdentifier","src":"56282:5:22"},"nativeSrc":"56282:11:22","nodeType":"YulFunctionCall","src":"56282:11:22"},"variableNames":[{"name":"m1","nativeSrc":"56276:2:22","nodeType":"YulIdentifier","src":"56276:2:22"}]},{"nativeSrc":"56306:17:22","nodeType":"YulAssignment","src":"56306:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"56318:4:22","nodeType":"YulLiteral","src":"56318:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"56312:5:22","nodeType":"YulIdentifier","src":"56312:5:22"},"nativeSrc":"56312:11:22","nodeType":"YulFunctionCall","src":"56312:11:22"},"variableNames":[{"name":"m2","nativeSrc":"56306:2:22","nodeType":"YulIdentifier","src":"56306:2:22"}]},{"nativeSrc":"56336:17:22","nodeType":"YulAssignment","src":"56336:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"56348:4:22","nodeType":"YulLiteral","src":"56348:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"56342:5:22","nodeType":"YulIdentifier","src":"56342:5:22"},"nativeSrc":"56342:11:22","nodeType":"YulFunctionCall","src":"56342:11:22"},"variableNames":[{"name":"m3","nativeSrc":"56336:2:22","nodeType":"YulIdentifier","src":"56336:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56429:4:22","nodeType":"YulLiteral","src":"56429:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"56435:10:22","nodeType":"YulLiteral","src":"56435:10:22","type":"","value":"0x35085f7b"}],"functionName":{"name":"mstore","nativeSrc":"56422:6:22","nodeType":"YulIdentifier","src":"56422:6:22"},"nativeSrc":"56422:24:22","nodeType":"YulFunctionCall","src":"56422:24:22"},"nativeSrc":"56422:24:22","nodeType":"YulExpressionStatement","src":"56422:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56466:4:22","nodeType":"YulLiteral","src":"56466:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"56472:2:22","nodeType":"YulIdentifier","src":"56472:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56459:6:22","nodeType":"YulIdentifier","src":"56459:6:22"},"nativeSrc":"56459:16:22","nodeType":"YulFunctionCall","src":"56459:16:22"},"nativeSrc":"56459:16:22","nodeType":"YulExpressionStatement","src":"56459:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56495:4:22","nodeType":"YulLiteral","src":"56495:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"56501:2:22","nodeType":"YulIdentifier","src":"56501:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56488:6:22","nodeType":"YulIdentifier","src":"56488:6:22"},"nativeSrc":"56488:16:22","nodeType":"YulFunctionCall","src":"56488:16:22"},"nativeSrc":"56488:16:22","nodeType":"YulExpressionStatement","src":"56488:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56524:4:22","nodeType":"YulLiteral","src":"56524:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"56530:2:22","nodeType":"YulIdentifier","src":"56530:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56517:6:22","nodeType":"YulIdentifier","src":"56517:6:22"},"nativeSrc":"56517:16:22","nodeType":"YulFunctionCall","src":"56517:16:22"},"nativeSrc":"56517:16:22","nodeType":"YulExpressionStatement","src":"56517:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33197,"isOffset":false,"isSlot":false,"src":"56246:2:22","valueSize":1},{"declaration":33200,"isOffset":false,"isSlot":false,"src":"56276:2:22","valueSize":1},{"declaration":33203,"isOffset":false,"isSlot":false,"src":"56306:2:22","valueSize":1},{"declaration":33206,"isOffset":false,"isSlot":false,"src":"56336:2:22","valueSize":1},{"declaration":33189,"isOffset":false,"isSlot":false,"src":"56472:2:22","valueSize":1},{"declaration":33191,"isOffset":false,"isSlot":false,"src":"56501:2:22","valueSize":1},{"declaration":33193,"isOffset":false,"isSlot":false,"src":"56530:2:22","valueSize":1}],"id":33208,"nodeType":"InlineAssembly","src":"56223:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56568:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56574:4:22","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":33209,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"56552:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56552:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33213,"nodeType":"ExpressionStatement","src":"56552:27:22"},{"AST":{"nativeSrc":"56641:127:22","nodeType":"YulBlock","src":"56641:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"56662:4:22","nodeType":"YulLiteral","src":"56662:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"56668:2:22","nodeType":"YulIdentifier","src":"56668:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56655:6:22","nodeType":"YulIdentifier","src":"56655:6:22"},"nativeSrc":"56655:16:22","nodeType":"YulFunctionCall","src":"56655:16:22"},"nativeSrc":"56655:16:22","nodeType":"YulExpressionStatement","src":"56655:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56691:4:22","nodeType":"YulLiteral","src":"56691:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"56697:2:22","nodeType":"YulIdentifier","src":"56697:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56684:6:22","nodeType":"YulIdentifier","src":"56684:6:22"},"nativeSrc":"56684:16:22","nodeType":"YulFunctionCall","src":"56684:16:22"},"nativeSrc":"56684:16:22","nodeType":"YulExpressionStatement","src":"56684:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56720:4:22","nodeType":"YulLiteral","src":"56720:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"56726:2:22","nodeType":"YulIdentifier","src":"56726:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56713:6:22","nodeType":"YulIdentifier","src":"56713:6:22"},"nativeSrc":"56713:16:22","nodeType":"YulFunctionCall","src":"56713:16:22"},"nativeSrc":"56713:16:22","nodeType":"YulExpressionStatement","src":"56713:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56749:4:22","nodeType":"YulLiteral","src":"56749:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"56755:2:22","nodeType":"YulIdentifier","src":"56755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"56742:6:22","nodeType":"YulIdentifier","src":"56742:6:22"},"nativeSrc":"56742:16:22","nodeType":"YulFunctionCall","src":"56742:16:22"},"nativeSrc":"56742:16:22","nodeType":"YulExpressionStatement","src":"56742:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33197,"isOffset":false,"isSlot":false,"src":"56668:2:22","valueSize":1},{"declaration":33200,"isOffset":false,"isSlot":false,"src":"56697:2:22","valueSize":1},{"declaration":33203,"isOffset":false,"isSlot":false,"src":"56726:2:22","valueSize":1},{"declaration":33206,"isOffset":false,"isSlot":false,"src":"56755:2:22","valueSize":1}],"id":33214,"nodeType":"InlineAssembly","src":"56632:136:22"}]},"id":33216,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56039:3:22","nodeType":"FunctionDefinition","parameters":{"id":33194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33189,"mutability":"mutable","name":"p0","nameLocation":"56051:2:22","nodeType":"VariableDeclaration","scope":33216,"src":"56043:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33188,"name":"uint256","nodeType":"ElementaryTypeName","src":"56043:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33191,"mutability":"mutable","name":"p1","nameLocation":"56060:2:22","nodeType":"VariableDeclaration","scope":33216,"src":"56055:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33190,"name":"bool","nodeType":"ElementaryTypeName","src":"56055:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33193,"mutability":"mutable","name":"p2","nameLocation":"56072:2:22","nodeType":"VariableDeclaration","scope":33216,"src":"56064:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33192,"name":"address","nodeType":"ElementaryTypeName","src":"56064:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56042:33:22"},"returnParameters":{"id":33195,"nodeType":"ParameterList","parameters":[],"src":"56090:0:22"},"scope":44426,"src":"56030:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33244,"nodeType":"Block","src":"56837:681:22","statements":[{"assignments":[33226],"declarations":[{"constant":false,"id":33226,"mutability":"mutable","name":"m0","nameLocation":"56855:2:22","nodeType":"VariableDeclaration","scope":33244,"src":"56847:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56847:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33227,"nodeType":"VariableDeclarationStatement","src":"56847:10:22"},{"assignments":[33229],"declarations":[{"constant":false,"id":33229,"mutability":"mutable","name":"m1","nameLocation":"56875:2:22","nodeType":"VariableDeclaration","scope":33244,"src":"56867:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56867:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33230,"nodeType":"VariableDeclarationStatement","src":"56867:10:22"},{"assignments":[33232],"declarations":[{"constant":false,"id":33232,"mutability":"mutable","name":"m2","nameLocation":"56895:2:22","nodeType":"VariableDeclaration","scope":33244,"src":"56887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33233,"nodeType":"VariableDeclarationStatement","src":"56887:10:22"},{"assignments":[33235],"declarations":[{"constant":false,"id":33235,"mutability":"mutable","name":"m3","nameLocation":"56915:2:22","nodeType":"VariableDeclaration","scope":33244,"src":"56907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56907:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33236,"nodeType":"VariableDeclarationStatement","src":"56907:10:22"},{"AST":{"nativeSrc":"56979:308:22","nodeType":"YulBlock","src":"56979:308:22","statements":[{"nativeSrc":"56993:17:22","nodeType":"YulAssignment","src":"56993:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57005:4:22","nodeType":"YulLiteral","src":"57005:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56999:5:22","nodeType":"YulIdentifier","src":"56999:5:22"},"nativeSrc":"56999:11:22","nodeType":"YulFunctionCall","src":"56999:11:22"},"variableNames":[{"name":"m0","nativeSrc":"56993:2:22","nodeType":"YulIdentifier","src":"56993:2:22"}]},{"nativeSrc":"57023:17:22","nodeType":"YulAssignment","src":"57023:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57035:4:22","nodeType":"YulLiteral","src":"57035:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57029:5:22","nodeType":"YulIdentifier","src":"57029:5:22"},"nativeSrc":"57029:11:22","nodeType":"YulFunctionCall","src":"57029:11:22"},"variableNames":[{"name":"m1","nativeSrc":"57023:2:22","nodeType":"YulIdentifier","src":"57023:2:22"}]},{"nativeSrc":"57053:17:22","nodeType":"YulAssignment","src":"57053:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57065:4:22","nodeType":"YulLiteral","src":"57065:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57059:5:22","nodeType":"YulIdentifier","src":"57059:5:22"},"nativeSrc":"57059:11:22","nodeType":"YulFunctionCall","src":"57059:11:22"},"variableNames":[{"name":"m2","nativeSrc":"57053:2:22","nodeType":"YulIdentifier","src":"57053:2:22"}]},{"nativeSrc":"57083:17:22","nodeType":"YulAssignment","src":"57083:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57095:4:22","nodeType":"YulLiteral","src":"57095:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57089:5:22","nodeType":"YulIdentifier","src":"57089:5:22"},"nativeSrc":"57089:11:22","nodeType":"YulFunctionCall","src":"57089:11:22"},"variableNames":[{"name":"m3","nativeSrc":"57083:2:22","nodeType":"YulIdentifier","src":"57083:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57173:4:22","nodeType":"YulLiteral","src":"57173:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57179:10:22","nodeType":"YulLiteral","src":"57179:10:22","type":"","value":"0x20718650"}],"functionName":{"name":"mstore","nativeSrc":"57166:6:22","nodeType":"YulIdentifier","src":"57166:6:22"},"nativeSrc":"57166:24:22","nodeType":"YulFunctionCall","src":"57166:24:22"},"nativeSrc":"57166:24:22","nodeType":"YulExpressionStatement","src":"57166:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57210:4:22","nodeType":"YulLiteral","src":"57210:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57216:2:22","nodeType":"YulIdentifier","src":"57216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57203:6:22","nodeType":"YulIdentifier","src":"57203:6:22"},"nativeSrc":"57203:16:22","nodeType":"YulFunctionCall","src":"57203:16:22"},"nativeSrc":"57203:16:22","nodeType":"YulExpressionStatement","src":"57203:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57239:4:22","nodeType":"YulLiteral","src":"57239:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57245:2:22","nodeType":"YulIdentifier","src":"57245:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57232:6:22","nodeType":"YulIdentifier","src":"57232:6:22"},"nativeSrc":"57232:16:22","nodeType":"YulFunctionCall","src":"57232:16:22"},"nativeSrc":"57232:16:22","nodeType":"YulExpressionStatement","src":"57232:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57268:4:22","nodeType":"YulLiteral","src":"57268:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"57274:2:22","nodeType":"YulIdentifier","src":"57274:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57261:6:22","nodeType":"YulIdentifier","src":"57261:6:22"},"nativeSrc":"57261:16:22","nodeType":"YulFunctionCall","src":"57261:16:22"},"nativeSrc":"57261:16:22","nodeType":"YulExpressionStatement","src":"57261:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33226,"isOffset":false,"isSlot":false,"src":"56993:2:22","valueSize":1},{"declaration":33229,"isOffset":false,"isSlot":false,"src":"57023:2:22","valueSize":1},{"declaration":33232,"isOffset":false,"isSlot":false,"src":"57053:2:22","valueSize":1},{"declaration":33235,"isOffset":false,"isSlot":false,"src":"57083:2:22","valueSize":1},{"declaration":33218,"isOffset":false,"isSlot":false,"src":"57216:2:22","valueSize":1},{"declaration":33220,"isOffset":false,"isSlot":false,"src":"57245:2:22","valueSize":1},{"declaration":33222,"isOffset":false,"isSlot":false,"src":"57274:2:22","valueSize":1}],"id":33237,"nodeType":"InlineAssembly","src":"56970:317:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57312:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57318:4:22","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":33238,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"57296:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57296:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33242,"nodeType":"ExpressionStatement","src":"57296:27:22"},{"AST":{"nativeSrc":"57385:127:22","nodeType":"YulBlock","src":"57385:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"57406:4:22","nodeType":"YulLiteral","src":"57406:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"57412:2:22","nodeType":"YulIdentifier","src":"57412:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57399:6:22","nodeType":"YulIdentifier","src":"57399:6:22"},"nativeSrc":"57399:16:22","nodeType":"YulFunctionCall","src":"57399:16:22"},"nativeSrc":"57399:16:22","nodeType":"YulExpressionStatement","src":"57399:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57435:4:22","nodeType":"YulLiteral","src":"57435:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"57441:2:22","nodeType":"YulIdentifier","src":"57441:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57428:6:22","nodeType":"YulIdentifier","src":"57428:6:22"},"nativeSrc":"57428:16:22","nodeType":"YulFunctionCall","src":"57428:16:22"},"nativeSrc":"57428:16:22","nodeType":"YulExpressionStatement","src":"57428:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57464:4:22","nodeType":"YulLiteral","src":"57464:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"57470:2:22","nodeType":"YulIdentifier","src":"57470:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57457:6:22","nodeType":"YulIdentifier","src":"57457:6:22"},"nativeSrc":"57457:16:22","nodeType":"YulFunctionCall","src":"57457:16:22"},"nativeSrc":"57457:16:22","nodeType":"YulExpressionStatement","src":"57457:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57493:4:22","nodeType":"YulLiteral","src":"57493:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"57499:2:22","nodeType":"YulIdentifier","src":"57499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57486:6:22","nodeType":"YulIdentifier","src":"57486:6:22"},"nativeSrc":"57486:16:22","nodeType":"YulFunctionCall","src":"57486:16:22"},"nativeSrc":"57486:16:22","nodeType":"YulExpressionStatement","src":"57486:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33226,"isOffset":false,"isSlot":false,"src":"57412:2:22","valueSize":1},{"declaration":33229,"isOffset":false,"isSlot":false,"src":"57441:2:22","valueSize":1},{"declaration":33232,"isOffset":false,"isSlot":false,"src":"57470:2:22","valueSize":1},{"declaration":33235,"isOffset":false,"isSlot":false,"src":"57499:2:22","valueSize":1}],"id":33243,"nodeType":"InlineAssembly","src":"57376:136:22"}]},"id":33245,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56789:3:22","nodeType":"FunctionDefinition","parameters":{"id":33223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33218,"mutability":"mutable","name":"p0","nameLocation":"56801:2:22","nodeType":"VariableDeclaration","scope":33245,"src":"56793:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33217,"name":"uint256","nodeType":"ElementaryTypeName","src":"56793:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33220,"mutability":"mutable","name":"p1","nameLocation":"56810:2:22","nodeType":"VariableDeclaration","scope":33245,"src":"56805:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33219,"name":"bool","nodeType":"ElementaryTypeName","src":"56805:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33222,"mutability":"mutable","name":"p2","nameLocation":"56819:2:22","nodeType":"VariableDeclaration","scope":33245,"src":"56814:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33221,"name":"bool","nodeType":"ElementaryTypeName","src":"56814:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56792:30:22"},"returnParameters":{"id":33224,"nodeType":"ParameterList","parameters":[],"src":"56837:0:22"},"scope":44426,"src":"56780:738:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33273,"nodeType":"Block","src":"57584:684:22","statements":[{"assignments":[33255],"declarations":[{"constant":false,"id":33255,"mutability":"mutable","name":"m0","nameLocation":"57602:2:22","nodeType":"VariableDeclaration","scope":33273,"src":"57594:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57594:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33256,"nodeType":"VariableDeclarationStatement","src":"57594:10:22"},{"assignments":[33258],"declarations":[{"constant":false,"id":33258,"mutability":"mutable","name":"m1","nameLocation":"57622:2:22","nodeType":"VariableDeclaration","scope":33273,"src":"57614:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57614:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33259,"nodeType":"VariableDeclarationStatement","src":"57614:10:22"},{"assignments":[33261],"declarations":[{"constant":false,"id":33261,"mutability":"mutable","name":"m2","nameLocation":"57642:2:22","nodeType":"VariableDeclaration","scope":33273,"src":"57634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57634:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33262,"nodeType":"VariableDeclarationStatement","src":"57634:10:22"},{"assignments":[33264],"declarations":[{"constant":false,"id":33264,"mutability":"mutable","name":"m3","nameLocation":"57662:2:22","nodeType":"VariableDeclaration","scope":33273,"src":"57654:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57654:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33265,"nodeType":"VariableDeclarationStatement","src":"57654:10:22"},{"AST":{"nativeSrc":"57726:311:22","nodeType":"YulBlock","src":"57726:311:22","statements":[{"nativeSrc":"57740:17:22","nodeType":"YulAssignment","src":"57740:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57752:4:22","nodeType":"YulLiteral","src":"57752:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"57746:5:22","nodeType":"YulIdentifier","src":"57746:5:22"},"nativeSrc":"57746:11:22","nodeType":"YulFunctionCall","src":"57746:11:22"},"variableNames":[{"name":"m0","nativeSrc":"57740:2:22","nodeType":"YulIdentifier","src":"57740:2:22"}]},{"nativeSrc":"57770:17:22","nodeType":"YulAssignment","src":"57770:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57782:4:22","nodeType":"YulLiteral","src":"57782:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57776:5:22","nodeType":"YulIdentifier","src":"57776:5:22"},"nativeSrc":"57776:11:22","nodeType":"YulFunctionCall","src":"57776:11:22"},"variableNames":[{"name":"m1","nativeSrc":"57770:2:22","nodeType":"YulIdentifier","src":"57770:2:22"}]},{"nativeSrc":"57800:17:22","nodeType":"YulAssignment","src":"57800:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57812:4:22","nodeType":"YulLiteral","src":"57812:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57806:5:22","nodeType":"YulIdentifier","src":"57806:5:22"},"nativeSrc":"57806:11:22","nodeType":"YulFunctionCall","src":"57806:11:22"},"variableNames":[{"name":"m2","nativeSrc":"57800:2:22","nodeType":"YulIdentifier","src":"57800:2:22"}]},{"nativeSrc":"57830:17:22","nodeType":"YulAssignment","src":"57830:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"57842:4:22","nodeType":"YulLiteral","src":"57842:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57836:5:22","nodeType":"YulIdentifier","src":"57836:5:22"},"nativeSrc":"57836:11:22","nodeType":"YulFunctionCall","src":"57836:11:22"},"variableNames":[{"name":"m3","nativeSrc":"57830:2:22","nodeType":"YulIdentifier","src":"57830:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57923:4:22","nodeType":"YulLiteral","src":"57923:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57929:10:22","nodeType":"YulLiteral","src":"57929:10:22","type":"","value":"0x20098014"}],"functionName":{"name":"mstore","nativeSrc":"57916:6:22","nodeType":"YulIdentifier","src":"57916:6:22"},"nativeSrc":"57916:24:22","nodeType":"YulFunctionCall","src":"57916:24:22"},"nativeSrc":"57916:24:22","nodeType":"YulExpressionStatement","src":"57916:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57960:4:22","nodeType":"YulLiteral","src":"57960:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57966:2:22","nodeType":"YulIdentifier","src":"57966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57953:6:22","nodeType":"YulIdentifier","src":"57953:6:22"},"nativeSrc":"57953:16:22","nodeType":"YulFunctionCall","src":"57953:16:22"},"nativeSrc":"57953:16:22","nodeType":"YulExpressionStatement","src":"57953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57989:4:22","nodeType":"YulLiteral","src":"57989:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57995:2:22","nodeType":"YulIdentifier","src":"57995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"57982:6:22","nodeType":"YulIdentifier","src":"57982:6:22"},"nativeSrc":"57982:16:22","nodeType":"YulFunctionCall","src":"57982:16:22"},"nativeSrc":"57982:16:22","nodeType":"YulExpressionStatement","src":"57982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58018:4:22","nodeType":"YulLiteral","src":"58018:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"58024:2:22","nodeType":"YulIdentifier","src":"58024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"58011:6:22","nodeType":"YulIdentifier","src":"58011:6:22"},"nativeSrc":"58011:16:22","nodeType":"YulFunctionCall","src":"58011:16:22"},"nativeSrc":"58011:16:22","nodeType":"YulExpressionStatement","src":"58011:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33255,"isOffset":false,"isSlot":false,"src":"57740:2:22","valueSize":1},{"declaration":33258,"isOffset":false,"isSlot":false,"src":"57770:2:22","valueSize":1},{"declaration":33261,"isOffset":false,"isSlot":false,"src":"57800:2:22","valueSize":1},{"declaration":33264,"isOffset":false,"isSlot":false,"src":"57830:2:22","valueSize":1},{"declaration":33247,"isOffset":false,"isSlot":false,"src":"57966:2:22","valueSize":1},{"declaration":33249,"isOffset":false,"isSlot":false,"src":"57995:2:22","valueSize":1},{"declaration":33251,"isOffset":false,"isSlot":false,"src":"58024:2:22","valueSize":1}],"id":33266,"nodeType":"InlineAssembly","src":"57717:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58062:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58068:4:22","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":33267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"58046:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58046:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33271,"nodeType":"ExpressionStatement","src":"58046:27:22"},{"AST":{"nativeSrc":"58135:127:22","nodeType":"YulBlock","src":"58135:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"58156:4:22","nodeType":"YulLiteral","src":"58156:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"58162:2:22","nodeType":"YulIdentifier","src":"58162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"58149:6:22","nodeType":"YulIdentifier","src":"58149:6:22"},"nativeSrc":"58149:16:22","nodeType":"YulFunctionCall","src":"58149:16:22"},"nativeSrc":"58149:16:22","nodeType":"YulExpressionStatement","src":"58149:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58185:4:22","nodeType":"YulLiteral","src":"58185:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"58191:2:22","nodeType":"YulIdentifier","src":"58191:2:22"}],"functionName":{"name":"mstore","nativeSrc":"58178:6:22","nodeType":"YulIdentifier","src":"58178:6:22"},"nativeSrc":"58178:16:22","nodeType":"YulFunctionCall","src":"58178:16:22"},"nativeSrc":"58178:16:22","nodeType":"YulExpressionStatement","src":"58178:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58214:4:22","nodeType":"YulLiteral","src":"58214:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"58220:2:22","nodeType":"YulIdentifier","src":"58220:2:22"}],"functionName":{"name":"mstore","nativeSrc":"58207:6:22","nodeType":"YulIdentifier","src":"58207:6:22"},"nativeSrc":"58207:16:22","nodeType":"YulFunctionCall","src":"58207:16:22"},"nativeSrc":"58207:16:22","nodeType":"YulExpressionStatement","src":"58207:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58243:4:22","nodeType":"YulLiteral","src":"58243:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"58249:2:22","nodeType":"YulIdentifier","src":"58249:2:22"}],"functionName":{"name":"mstore","nativeSrc":"58236:6:22","nodeType":"YulIdentifier","src":"58236:6:22"},"nativeSrc":"58236:16:22","nodeType":"YulFunctionCall","src":"58236:16:22"},"nativeSrc":"58236:16:22","nodeType":"YulExpressionStatement","src":"58236:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33255,"isOffset":false,"isSlot":false,"src":"58162:2:22","valueSize":1},{"declaration":33258,"isOffset":false,"isSlot":false,"src":"58191:2:22","valueSize":1},{"declaration":33261,"isOffset":false,"isSlot":false,"src":"58220:2:22","valueSize":1},{"declaration":33264,"isOffset":false,"isSlot":false,"src":"58249:2:22","valueSize":1}],"id":33272,"nodeType":"InlineAssembly","src":"58126:136:22"}]},"id":33274,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57533:3:22","nodeType":"FunctionDefinition","parameters":{"id":33252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33247,"mutability":"mutable","name":"p0","nameLocation":"57545:2:22","nodeType":"VariableDeclaration","scope":33274,"src":"57537:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33246,"name":"uint256","nodeType":"ElementaryTypeName","src":"57537:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33249,"mutability":"mutable","name":"p1","nameLocation":"57554:2:22","nodeType":"VariableDeclaration","scope":33274,"src":"57549:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33248,"name":"bool","nodeType":"ElementaryTypeName","src":"57549:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33251,"mutability":"mutable","name":"p2","nameLocation":"57566:2:22","nodeType":"VariableDeclaration","scope":33274,"src":"57558:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33250,"name":"uint256","nodeType":"ElementaryTypeName","src":"57558:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57536:33:22"},"returnParameters":{"id":33253,"nodeType":"ParameterList","parameters":[],"src":"57584:0:22"},"scope":44426,"src":"57524:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33308,"nodeType":"Block","src":"58334:1232:22","statements":[{"assignments":[33284],"declarations":[{"constant":false,"id":33284,"mutability":"mutable","name":"m0","nameLocation":"58352:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58344:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58344:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33285,"nodeType":"VariableDeclarationStatement","src":"58344:10:22"},{"assignments":[33287],"declarations":[{"constant":false,"id":33287,"mutability":"mutable","name":"m1","nameLocation":"58372:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33288,"nodeType":"VariableDeclarationStatement","src":"58364:10:22"},{"assignments":[33290],"declarations":[{"constant":false,"id":33290,"mutability":"mutable","name":"m2","nameLocation":"58392:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58384:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58384:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33291,"nodeType":"VariableDeclarationStatement","src":"58384:10:22"},{"assignments":[33293],"declarations":[{"constant":false,"id":33293,"mutability":"mutable","name":"m3","nameLocation":"58412:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58404:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58404:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33294,"nodeType":"VariableDeclarationStatement","src":"58404:10:22"},{"assignments":[33296],"declarations":[{"constant":false,"id":33296,"mutability":"mutable","name":"m4","nameLocation":"58432:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58424:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33297,"nodeType":"VariableDeclarationStatement","src":"58424:10:22"},{"assignments":[33299],"declarations":[{"constant":false,"id":33299,"mutability":"mutable","name":"m5","nameLocation":"58452:2:22","nodeType":"VariableDeclaration","scope":33308,"src":"58444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33300,"nodeType":"VariableDeclarationStatement","src":"58444:10:22"},{"AST":{"nativeSrc":"58516:761:22","nodeType":"YulBlock","src":"58516:761:22","statements":[{"body":{"nativeSrc":"58559:313:22","nodeType":"YulBlock","src":"58559:313:22","statements":[{"nativeSrc":"58577:15:22","nodeType":"YulVariableDeclaration","src":"58577:15:22","value":{"kind":"number","nativeSrc":"58591:1:22","nodeType":"YulLiteral","src":"58591:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"58581:6:22","nodeType":"YulTypedName","src":"58581:6:22","type":""}]},{"body":{"nativeSrc":"58662:40:22","nodeType":"YulBlock","src":"58662:40:22","statements":[{"body":{"nativeSrc":"58691:9:22","nodeType":"YulBlock","src":"58691:9:22","statements":[{"nativeSrc":"58693:5:22","nodeType":"YulBreak","src":"58693:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"58679:6:22","nodeType":"YulIdentifier","src":"58679:6:22"},{"name":"w","nativeSrc":"58687:1:22","nodeType":"YulIdentifier","src":"58687:1:22"}],"functionName":{"name":"byte","nativeSrc":"58674:4:22","nodeType":"YulIdentifier","src":"58674:4:22"},"nativeSrc":"58674:15:22","nodeType":"YulFunctionCall","src":"58674:15:22"}],"functionName":{"name":"iszero","nativeSrc":"58667:6:22","nodeType":"YulIdentifier","src":"58667:6:22"},"nativeSrc":"58667:23:22","nodeType":"YulFunctionCall","src":"58667:23:22"},"nativeSrc":"58664:36:22","nodeType":"YulIf","src":"58664:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"58619:6:22","nodeType":"YulIdentifier","src":"58619:6:22"},{"kind":"number","nativeSrc":"58627:4:22","nodeType":"YulLiteral","src":"58627:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"58616:2:22","nodeType":"YulIdentifier","src":"58616:2:22"},"nativeSrc":"58616:16:22","nodeType":"YulFunctionCall","src":"58616:16:22"},"nativeSrc":"58609:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"58633:28:22","nodeType":"YulBlock","src":"58633:28:22","statements":[{"nativeSrc":"58635:24:22","nodeType":"YulAssignment","src":"58635:24:22","value":{"arguments":[{"name":"length","nativeSrc":"58649:6:22","nodeType":"YulIdentifier","src":"58649:6:22"},{"kind":"number","nativeSrc":"58657:1:22","nodeType":"YulLiteral","src":"58657:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"58645:3:22","nodeType":"YulIdentifier","src":"58645:3:22"},"nativeSrc":"58645:14:22","nodeType":"YulFunctionCall","src":"58645:14:22"},"variableNames":[{"name":"length","nativeSrc":"58635:6:22","nodeType":"YulIdentifier","src":"58635:6:22"}]}]},"pre":{"nativeSrc":"58613:2:22","nodeType":"YulBlock","src":"58613:2:22","statements":[]},"src":"58609:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"58726:3:22","nodeType":"YulIdentifier","src":"58726:3:22"},{"name":"length","nativeSrc":"58731:6:22","nodeType":"YulIdentifier","src":"58731:6:22"}],"functionName":{"name":"mstore","nativeSrc":"58719:6:22","nodeType":"YulIdentifier","src":"58719:6:22"},"nativeSrc":"58719:19:22","nodeType":"YulFunctionCall","src":"58719:19:22"},"nativeSrc":"58719:19:22","nodeType":"YulExpressionStatement","src":"58719:19:22"},{"nativeSrc":"58755:37:22","nodeType":"YulVariableDeclaration","src":"58755:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"58772:3:22","nodeType":"YulLiteral","src":"58772:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"58781:1:22","nodeType":"YulLiteral","src":"58781:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"58784:6:22","nodeType":"YulIdentifier","src":"58784:6:22"}],"functionName":{"name":"shl","nativeSrc":"58777:3:22","nodeType":"YulIdentifier","src":"58777:3:22"},"nativeSrc":"58777:14:22","nodeType":"YulFunctionCall","src":"58777:14:22"}],"functionName":{"name":"sub","nativeSrc":"58768:3:22","nodeType":"YulIdentifier","src":"58768:3:22"},"nativeSrc":"58768:24:22","nodeType":"YulFunctionCall","src":"58768:24:22"},"variables":[{"name":"shift","nativeSrc":"58759:5:22","nodeType":"YulTypedName","src":"58759:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"58820:3:22","nodeType":"YulIdentifier","src":"58820:3:22"},{"kind":"number","nativeSrc":"58825:4:22","nodeType":"YulLiteral","src":"58825:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"58816:3:22","nodeType":"YulIdentifier","src":"58816:3:22"},"nativeSrc":"58816:14:22","nodeType":"YulFunctionCall","src":"58816:14:22"},{"arguments":[{"name":"shift","nativeSrc":"58836:5:22","nodeType":"YulIdentifier","src":"58836:5:22"},{"arguments":[{"name":"shift","nativeSrc":"58847:5:22","nodeType":"YulIdentifier","src":"58847:5:22"},{"name":"w","nativeSrc":"58854:1:22","nodeType":"YulIdentifier","src":"58854:1:22"}],"functionName":{"name":"shr","nativeSrc":"58843:3:22","nodeType":"YulIdentifier","src":"58843:3:22"},"nativeSrc":"58843:13:22","nodeType":"YulFunctionCall","src":"58843:13:22"}],"functionName":{"name":"shl","nativeSrc":"58832:3:22","nodeType":"YulIdentifier","src":"58832:3:22"},"nativeSrc":"58832:25:22","nodeType":"YulFunctionCall","src":"58832:25:22"}],"functionName":{"name":"mstore","nativeSrc":"58809:6:22","nodeType":"YulIdentifier","src":"58809:6:22"},"nativeSrc":"58809:49:22","nodeType":"YulFunctionCall","src":"58809:49:22"},"nativeSrc":"58809:49:22","nodeType":"YulExpressionStatement","src":"58809:49:22"}]},"name":"writeString","nativeSrc":"58530:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"58551:3:22","nodeType":"YulTypedName","src":"58551:3:22","type":""},{"name":"w","nativeSrc":"58556:1:22","nodeType":"YulTypedName","src":"58556:1:22","type":""}],"src":"58530:342:22"},{"nativeSrc":"58885:17:22","nodeType":"YulAssignment","src":"58885:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"58897:4:22","nodeType":"YulLiteral","src":"58897:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"58891:5:22","nodeType":"YulIdentifier","src":"58891:5:22"},"nativeSrc":"58891:11:22","nodeType":"YulFunctionCall","src":"58891:11:22"},"variableNames":[{"name":"m0","nativeSrc":"58885:2:22","nodeType":"YulIdentifier","src":"58885:2:22"}]},{"nativeSrc":"58915:17:22","nodeType":"YulAssignment","src":"58915:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"58927:4:22","nodeType":"YulLiteral","src":"58927:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"58921:5:22","nodeType":"YulIdentifier","src":"58921:5:22"},"nativeSrc":"58921:11:22","nodeType":"YulFunctionCall","src":"58921:11:22"},"variableNames":[{"name":"m1","nativeSrc":"58915:2:22","nodeType":"YulIdentifier","src":"58915:2:22"}]},{"nativeSrc":"58945:17:22","nodeType":"YulAssignment","src":"58945:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"58957:4:22","nodeType":"YulLiteral","src":"58957:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"58951:5:22","nodeType":"YulIdentifier","src":"58951:5:22"},"nativeSrc":"58951:11:22","nodeType":"YulFunctionCall","src":"58951:11:22"},"variableNames":[{"name":"m2","nativeSrc":"58945:2:22","nodeType":"YulIdentifier","src":"58945:2:22"}]},{"nativeSrc":"58975:17:22","nodeType":"YulAssignment","src":"58975:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"58987:4:22","nodeType":"YulLiteral","src":"58987:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"58981:5:22","nodeType":"YulIdentifier","src":"58981:5:22"},"nativeSrc":"58981:11:22","nodeType":"YulFunctionCall","src":"58981:11:22"},"variableNames":[{"name":"m3","nativeSrc":"58975:2:22","nodeType":"YulIdentifier","src":"58975:2:22"}]},{"nativeSrc":"59005:17:22","nodeType":"YulAssignment","src":"59005:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59017:4:22","nodeType":"YulLiteral","src":"59017:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"59011:5:22","nodeType":"YulIdentifier","src":"59011:5:22"},"nativeSrc":"59011:11:22","nodeType":"YulFunctionCall","src":"59011:11:22"},"variableNames":[{"name":"m4","nativeSrc":"59005:2:22","nodeType":"YulIdentifier","src":"59005:2:22"}]},{"nativeSrc":"59035:17:22","nodeType":"YulAssignment","src":"59035:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59047:4:22","nodeType":"YulLiteral","src":"59047:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"59041:5:22","nodeType":"YulIdentifier","src":"59041:5:22"},"nativeSrc":"59041:11:22","nodeType":"YulFunctionCall","src":"59041:11:22"},"variableNames":[{"name":"m5","nativeSrc":"59035:2:22","nodeType":"YulIdentifier","src":"59035:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59127:4:22","nodeType":"YulLiteral","src":"59127:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59133:10:22","nodeType":"YulLiteral","src":"59133:10:22","type":"","value":"0x85775021"}],"functionName":{"name":"mstore","nativeSrc":"59120:6:22","nodeType":"YulIdentifier","src":"59120:6:22"},"nativeSrc":"59120:24:22","nodeType":"YulFunctionCall","src":"59120:24:22"},"nativeSrc":"59120:24:22","nodeType":"YulExpressionStatement","src":"59120:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59164:4:22","nodeType":"YulLiteral","src":"59164:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"59170:2:22","nodeType":"YulIdentifier","src":"59170:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59157:6:22","nodeType":"YulIdentifier","src":"59157:6:22"},"nativeSrc":"59157:16:22","nodeType":"YulFunctionCall","src":"59157:16:22"},"nativeSrc":"59157:16:22","nodeType":"YulExpressionStatement","src":"59157:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59193:4:22","nodeType":"YulLiteral","src":"59193:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"59199:2:22","nodeType":"YulIdentifier","src":"59199:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59186:6:22","nodeType":"YulIdentifier","src":"59186:6:22"},"nativeSrc":"59186:16:22","nodeType":"YulFunctionCall","src":"59186:16:22"},"nativeSrc":"59186:16:22","nodeType":"YulExpressionStatement","src":"59186:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59222:4:22","nodeType":"YulLiteral","src":"59222:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"59228:4:22","nodeType":"YulLiteral","src":"59228:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"59215:6:22","nodeType":"YulIdentifier","src":"59215:6:22"},"nativeSrc":"59215:18:22","nodeType":"YulFunctionCall","src":"59215:18:22"},"nativeSrc":"59215:18:22","nodeType":"YulExpressionStatement","src":"59215:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59258:4:22","nodeType":"YulLiteral","src":"59258:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"59264:2:22","nodeType":"YulIdentifier","src":"59264:2:22"}],"functionName":{"name":"writeString","nativeSrc":"59246:11:22","nodeType":"YulIdentifier","src":"59246:11:22"},"nativeSrc":"59246:21:22","nodeType":"YulFunctionCall","src":"59246:21:22"},"nativeSrc":"59246:21:22","nodeType":"YulExpressionStatement","src":"59246:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33284,"isOffset":false,"isSlot":false,"src":"58885:2:22","valueSize":1},{"declaration":33287,"isOffset":false,"isSlot":false,"src":"58915:2:22","valueSize":1},{"declaration":33290,"isOffset":false,"isSlot":false,"src":"58945:2:22","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"58975:2:22","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"59005:2:22","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"59035:2:22","valueSize":1},{"declaration":33276,"isOffset":false,"isSlot":false,"src":"59170:2:22","valueSize":1},{"declaration":33278,"isOffset":false,"isSlot":false,"src":"59199:2:22","valueSize":1},{"declaration":33280,"isOffset":false,"isSlot":false,"src":"59264:2:22","valueSize":1}],"id":33301,"nodeType":"InlineAssembly","src":"58507:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59302:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59308:4:22","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":33302,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"59286:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59286:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33306,"nodeType":"ExpressionStatement","src":"59286:27:22"},{"AST":{"nativeSrc":"59375:185:22","nodeType":"YulBlock","src":"59375:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"59396:4:22","nodeType":"YulLiteral","src":"59396:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"59402:2:22","nodeType":"YulIdentifier","src":"59402:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59389:6:22","nodeType":"YulIdentifier","src":"59389:6:22"},"nativeSrc":"59389:16:22","nodeType":"YulFunctionCall","src":"59389:16:22"},"nativeSrc":"59389:16:22","nodeType":"YulExpressionStatement","src":"59389:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59425:4:22","nodeType":"YulLiteral","src":"59425:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"59431:2:22","nodeType":"YulIdentifier","src":"59431:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59418:6:22","nodeType":"YulIdentifier","src":"59418:6:22"},"nativeSrc":"59418:16:22","nodeType":"YulFunctionCall","src":"59418:16:22"},"nativeSrc":"59418:16:22","nodeType":"YulExpressionStatement","src":"59418:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59454:4:22","nodeType":"YulLiteral","src":"59454:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"59460:2:22","nodeType":"YulIdentifier","src":"59460:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59447:6:22","nodeType":"YulIdentifier","src":"59447:6:22"},"nativeSrc":"59447:16:22","nodeType":"YulFunctionCall","src":"59447:16:22"},"nativeSrc":"59447:16:22","nodeType":"YulExpressionStatement","src":"59447:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59483:4:22","nodeType":"YulLiteral","src":"59483:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"59489:2:22","nodeType":"YulIdentifier","src":"59489:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59476:6:22","nodeType":"YulIdentifier","src":"59476:6:22"},"nativeSrc":"59476:16:22","nodeType":"YulFunctionCall","src":"59476:16:22"},"nativeSrc":"59476:16:22","nodeType":"YulExpressionStatement","src":"59476:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59512:4:22","nodeType":"YulLiteral","src":"59512:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"59518:2:22","nodeType":"YulIdentifier","src":"59518:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59505:6:22","nodeType":"YulIdentifier","src":"59505:6:22"},"nativeSrc":"59505:16:22","nodeType":"YulFunctionCall","src":"59505:16:22"},"nativeSrc":"59505:16:22","nodeType":"YulExpressionStatement","src":"59505:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59541:4:22","nodeType":"YulLiteral","src":"59541:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"59547:2:22","nodeType":"YulIdentifier","src":"59547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"59534:6:22","nodeType":"YulIdentifier","src":"59534:6:22"},"nativeSrc":"59534:16:22","nodeType":"YulFunctionCall","src":"59534:16:22"},"nativeSrc":"59534:16:22","nodeType":"YulExpressionStatement","src":"59534:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33284,"isOffset":false,"isSlot":false,"src":"59402:2:22","valueSize":1},{"declaration":33287,"isOffset":false,"isSlot":false,"src":"59431:2:22","valueSize":1},{"declaration":33290,"isOffset":false,"isSlot":false,"src":"59460:2:22","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"59489:2:22","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"59518:2:22","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"59547:2:22","valueSize":1}],"id":33307,"nodeType":"InlineAssembly","src":"59366:194:22"}]},"id":33309,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58283:3:22","nodeType":"FunctionDefinition","parameters":{"id":33281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33276,"mutability":"mutable","name":"p0","nameLocation":"58295:2:22","nodeType":"VariableDeclaration","scope":33309,"src":"58287:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33275,"name":"uint256","nodeType":"ElementaryTypeName","src":"58287:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33278,"mutability":"mutable","name":"p1","nameLocation":"58304:2:22","nodeType":"VariableDeclaration","scope":33309,"src":"58299:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33277,"name":"bool","nodeType":"ElementaryTypeName","src":"58299:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33280,"mutability":"mutable","name":"p2","nameLocation":"58316:2:22","nodeType":"VariableDeclaration","scope":33309,"src":"58308:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58308:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"58286:33:22"},"returnParameters":{"id":33282,"nodeType":"ParameterList","parameters":[],"src":"58334:0:22"},"scope":44426,"src":"58274:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33337,"nodeType":"Block","src":"59635:687:22","statements":[{"assignments":[33319],"declarations":[{"constant":false,"id":33319,"mutability":"mutable","name":"m0","nameLocation":"59653:2:22","nodeType":"VariableDeclaration","scope":33337,"src":"59645:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59645:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33320,"nodeType":"VariableDeclarationStatement","src":"59645:10:22"},{"assignments":[33322],"declarations":[{"constant":false,"id":33322,"mutability":"mutable","name":"m1","nameLocation":"59673:2:22","nodeType":"VariableDeclaration","scope":33337,"src":"59665:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59665:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33323,"nodeType":"VariableDeclarationStatement","src":"59665:10:22"},{"assignments":[33325],"declarations":[{"constant":false,"id":33325,"mutability":"mutable","name":"m2","nameLocation":"59693:2:22","nodeType":"VariableDeclaration","scope":33337,"src":"59685:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59685:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33326,"nodeType":"VariableDeclarationStatement","src":"59685:10:22"},{"assignments":[33328],"declarations":[{"constant":false,"id":33328,"mutability":"mutable","name":"m3","nameLocation":"59713:2:22","nodeType":"VariableDeclaration","scope":33337,"src":"59705:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59705:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33329,"nodeType":"VariableDeclarationStatement","src":"59705:10:22"},{"AST":{"nativeSrc":"59777:314:22","nodeType":"YulBlock","src":"59777:314:22","statements":[{"nativeSrc":"59791:17:22","nodeType":"YulAssignment","src":"59791:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59803:4:22","nodeType":"YulLiteral","src":"59803:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"59797:5:22","nodeType":"YulIdentifier","src":"59797:5:22"},"nativeSrc":"59797:11:22","nodeType":"YulFunctionCall","src":"59797:11:22"},"variableNames":[{"name":"m0","nativeSrc":"59791:2:22","nodeType":"YulIdentifier","src":"59791:2:22"}]},{"nativeSrc":"59821:17:22","nodeType":"YulAssignment","src":"59821:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59833:4:22","nodeType":"YulLiteral","src":"59833:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"59827:5:22","nodeType":"YulIdentifier","src":"59827:5:22"},"nativeSrc":"59827:11:22","nodeType":"YulFunctionCall","src":"59827:11:22"},"variableNames":[{"name":"m1","nativeSrc":"59821:2:22","nodeType":"YulIdentifier","src":"59821:2:22"}]},{"nativeSrc":"59851:17:22","nodeType":"YulAssignment","src":"59851:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59863:4:22","nodeType":"YulLiteral","src":"59863:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"59857:5:22","nodeType":"YulIdentifier","src":"59857:5:22"},"nativeSrc":"59857:11:22","nodeType":"YulFunctionCall","src":"59857:11:22"},"variableNames":[{"name":"m2","nativeSrc":"59851:2:22","nodeType":"YulIdentifier","src":"59851:2:22"}]},{"nativeSrc":"59881:17:22","nodeType":"YulAssignment","src":"59881:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"59893:4:22","nodeType":"YulLiteral","src":"59893:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"59887:5:22","nodeType":"YulIdentifier","src":"59887:5:22"},"nativeSrc":"59887:11:22","nodeType":"YulFunctionCall","src":"59887:11:22"},"variableNames":[{"name":"m3","nativeSrc":"59881:2:22","nodeType":"YulIdentifier","src":"59881:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59977:4:22","nodeType":"YulLiteral","src":"59977:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59983:10:22","nodeType":"YulLiteral","src":"59983:10:22","type":"","value":"0x5c96b331"}],"functionName":{"name":"mstore","nativeSrc":"59970:6:22","nodeType":"YulIdentifier","src":"59970:6:22"},"nativeSrc":"59970:24:22","nodeType":"YulFunctionCall","src":"59970:24:22"},"nativeSrc":"59970:24:22","nodeType":"YulExpressionStatement","src":"59970:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60014:4:22","nodeType":"YulLiteral","src":"60014:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60020:2:22","nodeType":"YulIdentifier","src":"60020:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60007:6:22","nodeType":"YulIdentifier","src":"60007:6:22"},"nativeSrc":"60007:16:22","nodeType":"YulFunctionCall","src":"60007:16:22"},"nativeSrc":"60007:16:22","nodeType":"YulExpressionStatement","src":"60007:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60043:4:22","nodeType":"YulLiteral","src":"60043:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60049:2:22","nodeType":"YulIdentifier","src":"60049:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60036:6:22","nodeType":"YulIdentifier","src":"60036:6:22"},"nativeSrc":"60036:16:22","nodeType":"YulFunctionCall","src":"60036:16:22"},"nativeSrc":"60036:16:22","nodeType":"YulExpressionStatement","src":"60036:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60072:4:22","nodeType":"YulLiteral","src":"60072:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60078:2:22","nodeType":"YulIdentifier","src":"60078:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60065:6:22","nodeType":"YulIdentifier","src":"60065:6:22"},"nativeSrc":"60065:16:22","nodeType":"YulFunctionCall","src":"60065:16:22"},"nativeSrc":"60065:16:22","nodeType":"YulExpressionStatement","src":"60065:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33319,"isOffset":false,"isSlot":false,"src":"59791:2:22","valueSize":1},{"declaration":33322,"isOffset":false,"isSlot":false,"src":"59821:2:22","valueSize":1},{"declaration":33325,"isOffset":false,"isSlot":false,"src":"59851:2:22","valueSize":1},{"declaration":33328,"isOffset":false,"isSlot":false,"src":"59881:2:22","valueSize":1},{"declaration":33311,"isOffset":false,"isSlot":false,"src":"60020:2:22","valueSize":1},{"declaration":33313,"isOffset":false,"isSlot":false,"src":"60049:2:22","valueSize":1},{"declaration":33315,"isOffset":false,"isSlot":false,"src":"60078:2:22","valueSize":1}],"id":33330,"nodeType":"InlineAssembly","src":"59768:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60116:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60122:4:22","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":33331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"60100:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60100:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33335,"nodeType":"ExpressionStatement","src":"60100:27:22"},{"AST":{"nativeSrc":"60189:127:22","nodeType":"YulBlock","src":"60189:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60210:4:22","nodeType":"YulLiteral","src":"60210:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60216:2:22","nodeType":"YulIdentifier","src":"60216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60203:6:22","nodeType":"YulIdentifier","src":"60203:6:22"},"nativeSrc":"60203:16:22","nodeType":"YulFunctionCall","src":"60203:16:22"},"nativeSrc":"60203:16:22","nodeType":"YulExpressionStatement","src":"60203:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60239:4:22","nodeType":"YulLiteral","src":"60239:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60245:2:22","nodeType":"YulIdentifier","src":"60245:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60232:6:22","nodeType":"YulIdentifier","src":"60232:6:22"},"nativeSrc":"60232:16:22","nodeType":"YulFunctionCall","src":"60232:16:22"},"nativeSrc":"60232:16:22","nodeType":"YulExpressionStatement","src":"60232:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60268:4:22","nodeType":"YulLiteral","src":"60268:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"60274:2:22","nodeType":"YulIdentifier","src":"60274:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60261:6:22","nodeType":"YulIdentifier","src":"60261:6:22"},"nativeSrc":"60261:16:22","nodeType":"YulFunctionCall","src":"60261:16:22"},"nativeSrc":"60261:16:22","nodeType":"YulExpressionStatement","src":"60261:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60297:4:22","nodeType":"YulLiteral","src":"60297:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"60303:2:22","nodeType":"YulIdentifier","src":"60303:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60290:6:22","nodeType":"YulIdentifier","src":"60290:6:22"},"nativeSrc":"60290:16:22","nodeType":"YulFunctionCall","src":"60290:16:22"},"nativeSrc":"60290:16:22","nodeType":"YulExpressionStatement","src":"60290:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33319,"isOffset":false,"isSlot":false,"src":"60216:2:22","valueSize":1},{"declaration":33322,"isOffset":false,"isSlot":false,"src":"60245:2:22","valueSize":1},{"declaration":33325,"isOffset":false,"isSlot":false,"src":"60274:2:22","valueSize":1},{"declaration":33328,"isOffset":false,"isSlot":false,"src":"60303:2:22","valueSize":1}],"id":33336,"nodeType":"InlineAssembly","src":"60180:136:22"}]},"id":33338,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59581:3:22","nodeType":"FunctionDefinition","parameters":{"id":33316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33311,"mutability":"mutable","name":"p0","nameLocation":"59593:2:22","nodeType":"VariableDeclaration","scope":33338,"src":"59585:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33310,"name":"uint256","nodeType":"ElementaryTypeName","src":"59585:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33313,"mutability":"mutable","name":"p1","nameLocation":"59605:2:22","nodeType":"VariableDeclaration","scope":33338,"src":"59597:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33312,"name":"uint256","nodeType":"ElementaryTypeName","src":"59597:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33315,"mutability":"mutable","name":"p2","nameLocation":"59617:2:22","nodeType":"VariableDeclaration","scope":33338,"src":"59609:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33314,"name":"address","nodeType":"ElementaryTypeName","src":"59609:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59584:36:22"},"returnParameters":{"id":33317,"nodeType":"ParameterList","parameters":[],"src":"59635:0:22"},"scope":44426,"src":"59572:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33366,"nodeType":"Block","src":"60388:684:22","statements":[{"assignments":[33348],"declarations":[{"constant":false,"id":33348,"mutability":"mutable","name":"m0","nameLocation":"60406:2:22","nodeType":"VariableDeclaration","scope":33366,"src":"60398:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60398:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33349,"nodeType":"VariableDeclarationStatement","src":"60398:10:22"},{"assignments":[33351],"declarations":[{"constant":false,"id":33351,"mutability":"mutable","name":"m1","nameLocation":"60426:2:22","nodeType":"VariableDeclaration","scope":33366,"src":"60418:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60418:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33352,"nodeType":"VariableDeclarationStatement","src":"60418:10:22"},{"assignments":[33354],"declarations":[{"constant":false,"id":33354,"mutability":"mutable","name":"m2","nameLocation":"60446:2:22","nodeType":"VariableDeclaration","scope":33366,"src":"60438:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60438:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33355,"nodeType":"VariableDeclarationStatement","src":"60438:10:22"},{"assignments":[33357],"declarations":[{"constant":false,"id":33357,"mutability":"mutable","name":"m3","nameLocation":"60466:2:22","nodeType":"VariableDeclaration","scope":33366,"src":"60458:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60458:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33358,"nodeType":"VariableDeclarationStatement","src":"60458:10:22"},{"AST":{"nativeSrc":"60530:311:22","nodeType":"YulBlock","src":"60530:311:22","statements":[{"nativeSrc":"60544:17:22","nodeType":"YulAssignment","src":"60544:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"60556:4:22","nodeType":"YulLiteral","src":"60556:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"60550:5:22","nodeType":"YulIdentifier","src":"60550:5:22"},"nativeSrc":"60550:11:22","nodeType":"YulFunctionCall","src":"60550:11:22"},"variableNames":[{"name":"m0","nativeSrc":"60544:2:22","nodeType":"YulIdentifier","src":"60544:2:22"}]},{"nativeSrc":"60574:17:22","nodeType":"YulAssignment","src":"60574:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"60586:4:22","nodeType":"YulLiteral","src":"60586:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"60580:5:22","nodeType":"YulIdentifier","src":"60580:5:22"},"nativeSrc":"60580:11:22","nodeType":"YulFunctionCall","src":"60580:11:22"},"variableNames":[{"name":"m1","nativeSrc":"60574:2:22","nodeType":"YulIdentifier","src":"60574:2:22"}]},{"nativeSrc":"60604:17:22","nodeType":"YulAssignment","src":"60604:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"60616:4:22","nodeType":"YulLiteral","src":"60616:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"60610:5:22","nodeType":"YulIdentifier","src":"60610:5:22"},"nativeSrc":"60610:11:22","nodeType":"YulFunctionCall","src":"60610:11:22"},"variableNames":[{"name":"m2","nativeSrc":"60604:2:22","nodeType":"YulIdentifier","src":"60604:2:22"}]},{"nativeSrc":"60634:17:22","nodeType":"YulAssignment","src":"60634:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"60646:4:22","nodeType":"YulLiteral","src":"60646:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"60640:5:22","nodeType":"YulIdentifier","src":"60640:5:22"},"nativeSrc":"60640:11:22","nodeType":"YulFunctionCall","src":"60640:11:22"},"variableNames":[{"name":"m3","nativeSrc":"60634:2:22","nodeType":"YulIdentifier","src":"60634:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60727:4:22","nodeType":"YulLiteral","src":"60727:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"60733:10:22","nodeType":"YulLiteral","src":"60733:10:22","type":"","value":"0x4766da72"}],"functionName":{"name":"mstore","nativeSrc":"60720:6:22","nodeType":"YulIdentifier","src":"60720:6:22"},"nativeSrc":"60720:24:22","nodeType":"YulFunctionCall","src":"60720:24:22"},"nativeSrc":"60720:24:22","nodeType":"YulExpressionStatement","src":"60720:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60764:4:22","nodeType":"YulLiteral","src":"60764:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60770:2:22","nodeType":"YulIdentifier","src":"60770:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60757:6:22","nodeType":"YulIdentifier","src":"60757:6:22"},"nativeSrc":"60757:16:22","nodeType":"YulFunctionCall","src":"60757:16:22"},"nativeSrc":"60757:16:22","nodeType":"YulExpressionStatement","src":"60757:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60793:4:22","nodeType":"YulLiteral","src":"60793:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60799:2:22","nodeType":"YulIdentifier","src":"60799:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60786:6:22","nodeType":"YulIdentifier","src":"60786:6:22"},"nativeSrc":"60786:16:22","nodeType":"YulFunctionCall","src":"60786:16:22"},"nativeSrc":"60786:16:22","nodeType":"YulExpressionStatement","src":"60786:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60822:4:22","nodeType":"YulLiteral","src":"60822:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60828:2:22","nodeType":"YulIdentifier","src":"60828:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60815:6:22","nodeType":"YulIdentifier","src":"60815:6:22"},"nativeSrc":"60815:16:22","nodeType":"YulFunctionCall","src":"60815:16:22"},"nativeSrc":"60815:16:22","nodeType":"YulExpressionStatement","src":"60815:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33348,"isOffset":false,"isSlot":false,"src":"60544:2:22","valueSize":1},{"declaration":33351,"isOffset":false,"isSlot":false,"src":"60574:2:22","valueSize":1},{"declaration":33354,"isOffset":false,"isSlot":false,"src":"60604:2:22","valueSize":1},{"declaration":33357,"isOffset":false,"isSlot":false,"src":"60634:2:22","valueSize":1},{"declaration":33340,"isOffset":false,"isSlot":false,"src":"60770:2:22","valueSize":1},{"declaration":33342,"isOffset":false,"isSlot":false,"src":"60799:2:22","valueSize":1},{"declaration":33344,"isOffset":false,"isSlot":false,"src":"60828:2:22","valueSize":1}],"id":33359,"nodeType":"InlineAssembly","src":"60521:320:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60866:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60872:4:22","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":33360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"60850:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60850:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33364,"nodeType":"ExpressionStatement","src":"60850:27:22"},{"AST":{"nativeSrc":"60939:127:22","nodeType":"YulBlock","src":"60939:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60960:4:22","nodeType":"YulLiteral","src":"60960:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60966:2:22","nodeType":"YulIdentifier","src":"60966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60953:6:22","nodeType":"YulIdentifier","src":"60953:6:22"},"nativeSrc":"60953:16:22","nodeType":"YulFunctionCall","src":"60953:16:22"},"nativeSrc":"60953:16:22","nodeType":"YulExpressionStatement","src":"60953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60989:4:22","nodeType":"YulLiteral","src":"60989:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60995:2:22","nodeType":"YulIdentifier","src":"60995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"60982:6:22","nodeType":"YulIdentifier","src":"60982:6:22"},"nativeSrc":"60982:16:22","nodeType":"YulFunctionCall","src":"60982:16:22"},"nativeSrc":"60982:16:22","nodeType":"YulExpressionStatement","src":"60982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61018:4:22","nodeType":"YulLiteral","src":"61018:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61024:2:22","nodeType":"YulIdentifier","src":"61024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61011:6:22","nodeType":"YulIdentifier","src":"61011:6:22"},"nativeSrc":"61011:16:22","nodeType":"YulFunctionCall","src":"61011:16:22"},"nativeSrc":"61011:16:22","nodeType":"YulExpressionStatement","src":"61011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61047:4:22","nodeType":"YulLiteral","src":"61047:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61053:2:22","nodeType":"YulIdentifier","src":"61053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61040:6:22","nodeType":"YulIdentifier","src":"61040:6:22"},"nativeSrc":"61040:16:22","nodeType":"YulFunctionCall","src":"61040:16:22"},"nativeSrc":"61040:16:22","nodeType":"YulExpressionStatement","src":"61040:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33348,"isOffset":false,"isSlot":false,"src":"60966:2:22","valueSize":1},{"declaration":33351,"isOffset":false,"isSlot":false,"src":"60995:2:22","valueSize":1},{"declaration":33354,"isOffset":false,"isSlot":false,"src":"61024:2:22","valueSize":1},{"declaration":33357,"isOffset":false,"isSlot":false,"src":"61053:2:22","valueSize":1}],"id":33365,"nodeType":"InlineAssembly","src":"60930:136:22"}]},"id":33367,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60337:3:22","nodeType":"FunctionDefinition","parameters":{"id":33345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33340,"mutability":"mutable","name":"p0","nameLocation":"60349:2:22","nodeType":"VariableDeclaration","scope":33367,"src":"60341:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33339,"name":"uint256","nodeType":"ElementaryTypeName","src":"60341:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33342,"mutability":"mutable","name":"p1","nameLocation":"60361:2:22","nodeType":"VariableDeclaration","scope":33367,"src":"60353:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33341,"name":"uint256","nodeType":"ElementaryTypeName","src":"60353:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33344,"mutability":"mutable","name":"p2","nameLocation":"60370:2:22","nodeType":"VariableDeclaration","scope":33367,"src":"60365:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33343,"name":"bool","nodeType":"ElementaryTypeName","src":"60365:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60340:33:22"},"returnParameters":{"id":33346,"nodeType":"ParameterList","parameters":[],"src":"60388:0:22"},"scope":44426,"src":"60328:744:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33395,"nodeType":"Block","src":"61141:687:22","statements":[{"assignments":[33377],"declarations":[{"constant":false,"id":33377,"mutability":"mutable","name":"m0","nameLocation":"61159:2:22","nodeType":"VariableDeclaration","scope":33395,"src":"61151:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61151:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33378,"nodeType":"VariableDeclarationStatement","src":"61151:10:22"},{"assignments":[33380],"declarations":[{"constant":false,"id":33380,"mutability":"mutable","name":"m1","nameLocation":"61179:2:22","nodeType":"VariableDeclaration","scope":33395,"src":"61171:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61171:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33381,"nodeType":"VariableDeclarationStatement","src":"61171:10:22"},{"assignments":[33383],"declarations":[{"constant":false,"id":33383,"mutability":"mutable","name":"m2","nameLocation":"61199:2:22","nodeType":"VariableDeclaration","scope":33395,"src":"61191:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61191:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33384,"nodeType":"VariableDeclarationStatement","src":"61191:10:22"},{"assignments":[33386],"declarations":[{"constant":false,"id":33386,"mutability":"mutable","name":"m3","nameLocation":"61219:2:22","nodeType":"VariableDeclaration","scope":33395,"src":"61211:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61211:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33387,"nodeType":"VariableDeclarationStatement","src":"61211:10:22"},{"AST":{"nativeSrc":"61283:314:22","nodeType":"YulBlock","src":"61283:314:22","statements":[{"nativeSrc":"61297:17:22","nodeType":"YulAssignment","src":"61297:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"61309:4:22","nodeType":"YulLiteral","src":"61309:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"61303:5:22","nodeType":"YulIdentifier","src":"61303:5:22"},"nativeSrc":"61303:11:22","nodeType":"YulFunctionCall","src":"61303:11:22"},"variableNames":[{"name":"m0","nativeSrc":"61297:2:22","nodeType":"YulIdentifier","src":"61297:2:22"}]},{"nativeSrc":"61327:17:22","nodeType":"YulAssignment","src":"61327:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"61339:4:22","nodeType":"YulLiteral","src":"61339:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"61333:5:22","nodeType":"YulIdentifier","src":"61333:5:22"},"nativeSrc":"61333:11:22","nodeType":"YulFunctionCall","src":"61333:11:22"},"variableNames":[{"name":"m1","nativeSrc":"61327:2:22","nodeType":"YulIdentifier","src":"61327:2:22"}]},{"nativeSrc":"61357:17:22","nodeType":"YulAssignment","src":"61357:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"61369:4:22","nodeType":"YulLiteral","src":"61369:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"61363:5:22","nodeType":"YulIdentifier","src":"61363:5:22"},"nativeSrc":"61363:11:22","nodeType":"YulFunctionCall","src":"61363:11:22"},"variableNames":[{"name":"m2","nativeSrc":"61357:2:22","nodeType":"YulIdentifier","src":"61357:2:22"}]},{"nativeSrc":"61387:17:22","nodeType":"YulAssignment","src":"61387:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"61399:4:22","nodeType":"YulLiteral","src":"61399:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"61393:5:22","nodeType":"YulIdentifier","src":"61393:5:22"},"nativeSrc":"61393:11:22","nodeType":"YulFunctionCall","src":"61393:11:22"},"variableNames":[{"name":"m3","nativeSrc":"61387:2:22","nodeType":"YulIdentifier","src":"61387:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61483:4:22","nodeType":"YulLiteral","src":"61483:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"61489:10:22","nodeType":"YulLiteral","src":"61489:10:22","type":"","value":"0xd1ed7a3c"}],"functionName":{"name":"mstore","nativeSrc":"61476:6:22","nodeType":"YulIdentifier","src":"61476:6:22"},"nativeSrc":"61476:24:22","nodeType":"YulFunctionCall","src":"61476:24:22"},"nativeSrc":"61476:24:22","nodeType":"YulExpressionStatement","src":"61476:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61520:4:22","nodeType":"YulLiteral","src":"61520:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"61526:2:22","nodeType":"YulIdentifier","src":"61526:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61513:6:22","nodeType":"YulIdentifier","src":"61513:6:22"},"nativeSrc":"61513:16:22","nodeType":"YulFunctionCall","src":"61513:16:22"},"nativeSrc":"61513:16:22","nodeType":"YulExpressionStatement","src":"61513:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61549:4:22","nodeType":"YulLiteral","src":"61549:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"61555:2:22","nodeType":"YulIdentifier","src":"61555:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61542:6:22","nodeType":"YulIdentifier","src":"61542:6:22"},"nativeSrc":"61542:16:22","nodeType":"YulFunctionCall","src":"61542:16:22"},"nativeSrc":"61542:16:22","nodeType":"YulExpressionStatement","src":"61542:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61578:4:22","nodeType":"YulLiteral","src":"61578:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"61584:2:22","nodeType":"YulIdentifier","src":"61584:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61571:6:22","nodeType":"YulIdentifier","src":"61571:6:22"},"nativeSrc":"61571:16:22","nodeType":"YulFunctionCall","src":"61571:16:22"},"nativeSrc":"61571:16:22","nodeType":"YulExpressionStatement","src":"61571:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33377,"isOffset":false,"isSlot":false,"src":"61297:2:22","valueSize":1},{"declaration":33380,"isOffset":false,"isSlot":false,"src":"61327:2:22","valueSize":1},{"declaration":33383,"isOffset":false,"isSlot":false,"src":"61357:2:22","valueSize":1},{"declaration":33386,"isOffset":false,"isSlot":false,"src":"61387:2:22","valueSize":1},{"declaration":33369,"isOffset":false,"isSlot":false,"src":"61526:2:22","valueSize":1},{"declaration":33371,"isOffset":false,"isSlot":false,"src":"61555:2:22","valueSize":1},{"declaration":33373,"isOffset":false,"isSlot":false,"src":"61584:2:22","valueSize":1}],"id":33388,"nodeType":"InlineAssembly","src":"61274:323:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61622:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":33391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61628:4:22","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":33389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"61606:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61606:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33393,"nodeType":"ExpressionStatement","src":"61606:27:22"},{"AST":{"nativeSrc":"61695:127:22","nodeType":"YulBlock","src":"61695:127:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"61716:4:22","nodeType":"YulLiteral","src":"61716:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"61722:2:22","nodeType":"YulIdentifier","src":"61722:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61709:6:22","nodeType":"YulIdentifier","src":"61709:6:22"},"nativeSrc":"61709:16:22","nodeType":"YulFunctionCall","src":"61709:16:22"},"nativeSrc":"61709:16:22","nodeType":"YulExpressionStatement","src":"61709:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61745:4:22","nodeType":"YulLiteral","src":"61745:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"61751:2:22","nodeType":"YulIdentifier","src":"61751:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61738:6:22","nodeType":"YulIdentifier","src":"61738:6:22"},"nativeSrc":"61738:16:22","nodeType":"YulFunctionCall","src":"61738:16:22"},"nativeSrc":"61738:16:22","nodeType":"YulExpressionStatement","src":"61738:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61774:4:22","nodeType":"YulLiteral","src":"61774:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61780:2:22","nodeType":"YulIdentifier","src":"61780:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61767:6:22","nodeType":"YulIdentifier","src":"61767:6:22"},"nativeSrc":"61767:16:22","nodeType":"YulFunctionCall","src":"61767:16:22"},"nativeSrc":"61767:16:22","nodeType":"YulExpressionStatement","src":"61767:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61803:4:22","nodeType":"YulLiteral","src":"61803:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61809:2:22","nodeType":"YulIdentifier","src":"61809:2:22"}],"functionName":{"name":"mstore","nativeSrc":"61796:6:22","nodeType":"YulIdentifier","src":"61796:6:22"},"nativeSrc":"61796:16:22","nodeType":"YulFunctionCall","src":"61796:16:22"},"nativeSrc":"61796:16:22","nodeType":"YulExpressionStatement","src":"61796:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33377,"isOffset":false,"isSlot":false,"src":"61722:2:22","valueSize":1},{"declaration":33380,"isOffset":false,"isSlot":false,"src":"61751:2:22","valueSize":1},{"declaration":33383,"isOffset":false,"isSlot":false,"src":"61780:2:22","valueSize":1},{"declaration":33386,"isOffset":false,"isSlot":false,"src":"61809:2:22","valueSize":1}],"id":33394,"nodeType":"InlineAssembly","src":"61686:136:22"}]},"id":33396,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61087:3:22","nodeType":"FunctionDefinition","parameters":{"id":33374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33369,"mutability":"mutable","name":"p0","nameLocation":"61099:2:22","nodeType":"VariableDeclaration","scope":33396,"src":"61091:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33368,"name":"uint256","nodeType":"ElementaryTypeName","src":"61091:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33371,"mutability":"mutable","name":"p1","nameLocation":"61111:2:22","nodeType":"VariableDeclaration","scope":33396,"src":"61103:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33370,"name":"uint256","nodeType":"ElementaryTypeName","src":"61103:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33373,"mutability":"mutable","name":"p2","nameLocation":"61123:2:22","nodeType":"VariableDeclaration","scope":33396,"src":"61115:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33372,"name":"uint256","nodeType":"ElementaryTypeName","src":"61115:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61090:36:22"},"returnParameters":{"id":33375,"nodeType":"ParameterList","parameters":[],"src":"61141:0:22"},"scope":44426,"src":"61078:750:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33430,"nodeType":"Block","src":"61897:1235:22","statements":[{"assignments":[33406],"declarations":[{"constant":false,"id":33406,"mutability":"mutable","name":"m0","nameLocation":"61915:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"61907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61907:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33407,"nodeType":"VariableDeclarationStatement","src":"61907:10:22"},{"assignments":[33409],"declarations":[{"constant":false,"id":33409,"mutability":"mutable","name":"m1","nameLocation":"61935:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"61927:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61927:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33410,"nodeType":"VariableDeclarationStatement","src":"61927:10:22"},{"assignments":[33412],"declarations":[{"constant":false,"id":33412,"mutability":"mutable","name":"m2","nameLocation":"61955:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"61947:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61947:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33413,"nodeType":"VariableDeclarationStatement","src":"61947:10:22"},{"assignments":[33415],"declarations":[{"constant":false,"id":33415,"mutability":"mutable","name":"m3","nameLocation":"61975:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"61967:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61967:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33416,"nodeType":"VariableDeclarationStatement","src":"61967:10:22"},{"assignments":[33418],"declarations":[{"constant":false,"id":33418,"mutability":"mutable","name":"m4","nameLocation":"61995:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"61987:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61987:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33419,"nodeType":"VariableDeclarationStatement","src":"61987:10:22"},{"assignments":[33421],"declarations":[{"constant":false,"id":33421,"mutability":"mutable","name":"m5","nameLocation":"62015:2:22","nodeType":"VariableDeclaration","scope":33430,"src":"62007:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62007:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33422,"nodeType":"VariableDeclarationStatement","src":"62007:10:22"},{"AST":{"nativeSrc":"62079:764:22","nodeType":"YulBlock","src":"62079:764:22","statements":[{"body":{"nativeSrc":"62122:313:22","nodeType":"YulBlock","src":"62122:313:22","statements":[{"nativeSrc":"62140:15:22","nodeType":"YulVariableDeclaration","src":"62140:15:22","value":{"kind":"number","nativeSrc":"62154:1:22","nodeType":"YulLiteral","src":"62154:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"62144:6:22","nodeType":"YulTypedName","src":"62144:6:22","type":""}]},{"body":{"nativeSrc":"62225:40:22","nodeType":"YulBlock","src":"62225:40:22","statements":[{"body":{"nativeSrc":"62254:9:22","nodeType":"YulBlock","src":"62254:9:22","statements":[{"nativeSrc":"62256:5:22","nodeType":"YulBreak","src":"62256:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"62242:6:22","nodeType":"YulIdentifier","src":"62242:6:22"},{"name":"w","nativeSrc":"62250:1:22","nodeType":"YulIdentifier","src":"62250:1:22"}],"functionName":{"name":"byte","nativeSrc":"62237:4:22","nodeType":"YulIdentifier","src":"62237:4:22"},"nativeSrc":"62237:15:22","nodeType":"YulFunctionCall","src":"62237:15:22"}],"functionName":{"name":"iszero","nativeSrc":"62230:6:22","nodeType":"YulIdentifier","src":"62230:6:22"},"nativeSrc":"62230:23:22","nodeType":"YulFunctionCall","src":"62230:23:22"},"nativeSrc":"62227:36:22","nodeType":"YulIf","src":"62227:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"62182:6:22","nodeType":"YulIdentifier","src":"62182:6:22"},{"kind":"number","nativeSrc":"62190:4:22","nodeType":"YulLiteral","src":"62190:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"62179:2:22","nodeType":"YulIdentifier","src":"62179:2:22"},"nativeSrc":"62179:16:22","nodeType":"YulFunctionCall","src":"62179:16:22"},"nativeSrc":"62172:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"62196:28:22","nodeType":"YulBlock","src":"62196:28:22","statements":[{"nativeSrc":"62198:24:22","nodeType":"YulAssignment","src":"62198:24:22","value":{"arguments":[{"name":"length","nativeSrc":"62212:6:22","nodeType":"YulIdentifier","src":"62212:6:22"},{"kind":"number","nativeSrc":"62220:1:22","nodeType":"YulLiteral","src":"62220:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"62208:3:22","nodeType":"YulIdentifier","src":"62208:3:22"},"nativeSrc":"62208:14:22","nodeType":"YulFunctionCall","src":"62208:14:22"},"variableNames":[{"name":"length","nativeSrc":"62198:6:22","nodeType":"YulIdentifier","src":"62198:6:22"}]}]},"pre":{"nativeSrc":"62176:2:22","nodeType":"YulBlock","src":"62176:2:22","statements":[]},"src":"62172:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"62289:3:22","nodeType":"YulIdentifier","src":"62289:3:22"},{"name":"length","nativeSrc":"62294:6:22","nodeType":"YulIdentifier","src":"62294:6:22"}],"functionName":{"name":"mstore","nativeSrc":"62282:6:22","nodeType":"YulIdentifier","src":"62282:6:22"},"nativeSrc":"62282:19:22","nodeType":"YulFunctionCall","src":"62282:19:22"},"nativeSrc":"62282:19:22","nodeType":"YulExpressionStatement","src":"62282:19:22"},{"nativeSrc":"62318:37:22","nodeType":"YulVariableDeclaration","src":"62318:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"62335:3:22","nodeType":"YulLiteral","src":"62335:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"62344:1:22","nodeType":"YulLiteral","src":"62344:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"62347:6:22","nodeType":"YulIdentifier","src":"62347:6:22"}],"functionName":{"name":"shl","nativeSrc":"62340:3:22","nodeType":"YulIdentifier","src":"62340:3:22"},"nativeSrc":"62340:14:22","nodeType":"YulFunctionCall","src":"62340:14:22"}],"functionName":{"name":"sub","nativeSrc":"62331:3:22","nodeType":"YulIdentifier","src":"62331:3:22"},"nativeSrc":"62331:24:22","nodeType":"YulFunctionCall","src":"62331:24:22"},"variables":[{"name":"shift","nativeSrc":"62322:5:22","nodeType":"YulTypedName","src":"62322:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"62383:3:22","nodeType":"YulIdentifier","src":"62383:3:22"},{"kind":"number","nativeSrc":"62388:4:22","nodeType":"YulLiteral","src":"62388:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"62379:3:22","nodeType":"YulIdentifier","src":"62379:3:22"},"nativeSrc":"62379:14:22","nodeType":"YulFunctionCall","src":"62379:14:22"},{"arguments":[{"name":"shift","nativeSrc":"62399:5:22","nodeType":"YulIdentifier","src":"62399:5:22"},{"arguments":[{"name":"shift","nativeSrc":"62410:5:22","nodeType":"YulIdentifier","src":"62410:5:22"},{"name":"w","nativeSrc":"62417:1:22","nodeType":"YulIdentifier","src":"62417:1:22"}],"functionName":{"name":"shr","nativeSrc":"62406:3:22","nodeType":"YulIdentifier","src":"62406:3:22"},"nativeSrc":"62406:13:22","nodeType":"YulFunctionCall","src":"62406:13:22"}],"functionName":{"name":"shl","nativeSrc":"62395:3:22","nodeType":"YulIdentifier","src":"62395:3:22"},"nativeSrc":"62395:25:22","nodeType":"YulFunctionCall","src":"62395:25:22"}],"functionName":{"name":"mstore","nativeSrc":"62372:6:22","nodeType":"YulIdentifier","src":"62372:6:22"},"nativeSrc":"62372:49:22","nodeType":"YulFunctionCall","src":"62372:49:22"},"nativeSrc":"62372:49:22","nodeType":"YulExpressionStatement","src":"62372:49:22"}]},"name":"writeString","nativeSrc":"62093:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"62114:3:22","nodeType":"YulTypedName","src":"62114:3:22","type":""},{"name":"w","nativeSrc":"62119:1:22","nodeType":"YulTypedName","src":"62119:1:22","type":""}],"src":"62093:342:22"},{"nativeSrc":"62448:17:22","nodeType":"YulAssignment","src":"62448:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62460:4:22","nodeType":"YulLiteral","src":"62460:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"62454:5:22","nodeType":"YulIdentifier","src":"62454:5:22"},"nativeSrc":"62454:11:22","nodeType":"YulFunctionCall","src":"62454:11:22"},"variableNames":[{"name":"m0","nativeSrc":"62448:2:22","nodeType":"YulIdentifier","src":"62448:2:22"}]},{"nativeSrc":"62478:17:22","nodeType":"YulAssignment","src":"62478:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62490:4:22","nodeType":"YulLiteral","src":"62490:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"62484:5:22","nodeType":"YulIdentifier","src":"62484:5:22"},"nativeSrc":"62484:11:22","nodeType":"YulFunctionCall","src":"62484:11:22"},"variableNames":[{"name":"m1","nativeSrc":"62478:2:22","nodeType":"YulIdentifier","src":"62478:2:22"}]},{"nativeSrc":"62508:17:22","nodeType":"YulAssignment","src":"62508:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62520:4:22","nodeType":"YulLiteral","src":"62520:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"62514:5:22","nodeType":"YulIdentifier","src":"62514:5:22"},"nativeSrc":"62514:11:22","nodeType":"YulFunctionCall","src":"62514:11:22"},"variableNames":[{"name":"m2","nativeSrc":"62508:2:22","nodeType":"YulIdentifier","src":"62508:2:22"}]},{"nativeSrc":"62538:17:22","nodeType":"YulAssignment","src":"62538:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62550:4:22","nodeType":"YulLiteral","src":"62550:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"62544:5:22","nodeType":"YulIdentifier","src":"62544:5:22"},"nativeSrc":"62544:11:22","nodeType":"YulFunctionCall","src":"62544:11:22"},"variableNames":[{"name":"m3","nativeSrc":"62538:2:22","nodeType":"YulIdentifier","src":"62538:2:22"}]},{"nativeSrc":"62568:17:22","nodeType":"YulAssignment","src":"62568:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62580:4:22","nodeType":"YulLiteral","src":"62580:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"62574:5:22","nodeType":"YulIdentifier","src":"62574:5:22"},"nativeSrc":"62574:11:22","nodeType":"YulFunctionCall","src":"62574:11:22"},"variableNames":[{"name":"m4","nativeSrc":"62568:2:22","nodeType":"YulIdentifier","src":"62568:2:22"}]},{"nativeSrc":"62598:17:22","nodeType":"YulAssignment","src":"62598:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"62610:4:22","nodeType":"YulLiteral","src":"62610:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"62604:5:22","nodeType":"YulIdentifier","src":"62604:5:22"},"nativeSrc":"62604:11:22","nodeType":"YulFunctionCall","src":"62604:11:22"},"variableNames":[{"name":"m5","nativeSrc":"62598:2:22","nodeType":"YulIdentifier","src":"62598:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62693:4:22","nodeType":"YulLiteral","src":"62693:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"62699:10:22","nodeType":"YulLiteral","src":"62699:10:22","type":"","value":"0x71d04af2"}],"functionName":{"name":"mstore","nativeSrc":"62686:6:22","nodeType":"YulIdentifier","src":"62686:6:22"},"nativeSrc":"62686:24:22","nodeType":"YulFunctionCall","src":"62686:24:22"},"nativeSrc":"62686:24:22","nodeType":"YulExpressionStatement","src":"62686:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62730:4:22","nodeType":"YulLiteral","src":"62730:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"62736:2:22","nodeType":"YulIdentifier","src":"62736:2:22"}],"functionName":{"name":"mstore","nativeSrc":"62723:6:22","nodeType":"YulIdentifier","src":"62723:6:22"},"nativeSrc":"62723:16:22","nodeType":"YulFunctionCall","src":"62723:16:22"},"nativeSrc":"62723:16:22","nodeType":"YulExpressionStatement","src":"62723:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62759:4:22","nodeType":"YulLiteral","src":"62759:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"62765:2:22","nodeType":"YulIdentifier","src":"62765:2:22"}],"functionName":{"name":"mstore","nativeSrc":"62752:6:22","nodeType":"YulIdentifier","src":"62752:6:22"},"nativeSrc":"62752:16:22","nodeType":"YulFunctionCall","src":"62752:16:22"},"nativeSrc":"62752:16:22","nodeType":"YulExpressionStatement","src":"62752:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62788:4:22","nodeType":"YulLiteral","src":"62788:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"62794:4:22","nodeType":"YulLiteral","src":"62794:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"62781:6:22","nodeType":"YulIdentifier","src":"62781:6:22"},"nativeSrc":"62781:18:22","nodeType":"YulFunctionCall","src":"62781:18:22"},"nativeSrc":"62781:18:22","nodeType":"YulExpressionStatement","src":"62781:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62824:4:22","nodeType":"YulLiteral","src":"62824:4:22","type":"","value":"0x80"},{"name":"p2","nativeSrc":"62830:2:22","nodeType":"YulIdentifier","src":"62830:2:22"}],"functionName":{"name":"writeString","nativeSrc":"62812:11:22","nodeType":"YulIdentifier","src":"62812:11:22"},"nativeSrc":"62812:21:22","nodeType":"YulFunctionCall","src":"62812:21:22"},"nativeSrc":"62812:21:22","nodeType":"YulExpressionStatement","src":"62812:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33406,"isOffset":false,"isSlot":false,"src":"62448:2:22","valueSize":1},{"declaration":33409,"isOffset":false,"isSlot":false,"src":"62478:2:22","valueSize":1},{"declaration":33412,"isOffset":false,"isSlot":false,"src":"62508:2:22","valueSize":1},{"declaration":33415,"isOffset":false,"isSlot":false,"src":"62538:2:22","valueSize":1},{"declaration":33418,"isOffset":false,"isSlot":false,"src":"62568:2:22","valueSize":1},{"declaration":33421,"isOffset":false,"isSlot":false,"src":"62598:2:22","valueSize":1},{"declaration":33398,"isOffset":false,"isSlot":false,"src":"62736:2:22","valueSize":1},{"declaration":33400,"isOffset":false,"isSlot":false,"src":"62765:2:22","valueSize":1},{"declaration":33402,"isOffset":false,"isSlot":false,"src":"62830:2:22","valueSize":1}],"id":33423,"nodeType":"InlineAssembly","src":"62070:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62868:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62874:4:22","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":33424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"62852:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62852:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33428,"nodeType":"ExpressionStatement","src":"62852:27:22"},{"AST":{"nativeSrc":"62941:185:22","nodeType":"YulBlock","src":"62941:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"62962:4:22","nodeType":"YulLiteral","src":"62962:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"62968:2:22","nodeType":"YulIdentifier","src":"62968:2:22"}],"functionName":{"name":"mstore","nativeSrc":"62955:6:22","nodeType":"YulIdentifier","src":"62955:6:22"},"nativeSrc":"62955:16:22","nodeType":"YulFunctionCall","src":"62955:16:22"},"nativeSrc":"62955:16:22","nodeType":"YulExpressionStatement","src":"62955:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62991:4:22","nodeType":"YulLiteral","src":"62991:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"62997:2:22","nodeType":"YulIdentifier","src":"62997:2:22"}],"functionName":{"name":"mstore","nativeSrc":"62984:6:22","nodeType":"YulIdentifier","src":"62984:6:22"},"nativeSrc":"62984:16:22","nodeType":"YulFunctionCall","src":"62984:16:22"},"nativeSrc":"62984:16:22","nodeType":"YulExpressionStatement","src":"62984:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63020:4:22","nodeType":"YulLiteral","src":"63020:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"63026:2:22","nodeType":"YulIdentifier","src":"63026:2:22"}],"functionName":{"name":"mstore","nativeSrc":"63013:6:22","nodeType":"YulIdentifier","src":"63013:6:22"},"nativeSrc":"63013:16:22","nodeType":"YulFunctionCall","src":"63013:16:22"},"nativeSrc":"63013:16:22","nodeType":"YulExpressionStatement","src":"63013:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63049:4:22","nodeType":"YulLiteral","src":"63049:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"63055:2:22","nodeType":"YulIdentifier","src":"63055:2:22"}],"functionName":{"name":"mstore","nativeSrc":"63042:6:22","nodeType":"YulIdentifier","src":"63042:6:22"},"nativeSrc":"63042:16:22","nodeType":"YulFunctionCall","src":"63042:16:22"},"nativeSrc":"63042:16:22","nodeType":"YulExpressionStatement","src":"63042:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63078:4:22","nodeType":"YulLiteral","src":"63078:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"63084:2:22","nodeType":"YulIdentifier","src":"63084:2:22"}],"functionName":{"name":"mstore","nativeSrc":"63071:6:22","nodeType":"YulIdentifier","src":"63071:6:22"},"nativeSrc":"63071:16:22","nodeType":"YulFunctionCall","src":"63071:16:22"},"nativeSrc":"63071:16:22","nodeType":"YulExpressionStatement","src":"63071:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63107:4:22","nodeType":"YulLiteral","src":"63107:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"63113:2:22","nodeType":"YulIdentifier","src":"63113:2:22"}],"functionName":{"name":"mstore","nativeSrc":"63100:6:22","nodeType":"YulIdentifier","src":"63100:6:22"},"nativeSrc":"63100:16:22","nodeType":"YulFunctionCall","src":"63100:16:22"},"nativeSrc":"63100:16:22","nodeType":"YulExpressionStatement","src":"63100:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33406,"isOffset":false,"isSlot":false,"src":"62968:2:22","valueSize":1},{"declaration":33409,"isOffset":false,"isSlot":false,"src":"62997:2:22","valueSize":1},{"declaration":33412,"isOffset":false,"isSlot":false,"src":"63026:2:22","valueSize":1},{"declaration":33415,"isOffset":false,"isSlot":false,"src":"63055:2:22","valueSize":1},{"declaration":33418,"isOffset":false,"isSlot":false,"src":"63084:2:22","valueSize":1},{"declaration":33421,"isOffset":false,"isSlot":false,"src":"63113:2:22","valueSize":1}],"id":33429,"nodeType":"InlineAssembly","src":"62932:194:22"}]},"id":33431,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61843:3:22","nodeType":"FunctionDefinition","parameters":{"id":33403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33398,"mutability":"mutable","name":"p0","nameLocation":"61855:2:22","nodeType":"VariableDeclaration","scope":33431,"src":"61847:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33397,"name":"uint256","nodeType":"ElementaryTypeName","src":"61847:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33400,"mutability":"mutable","name":"p1","nameLocation":"61867:2:22","nodeType":"VariableDeclaration","scope":33431,"src":"61859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33399,"name":"uint256","nodeType":"ElementaryTypeName","src":"61859:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33402,"mutability":"mutable","name":"p2","nameLocation":"61879:2:22","nodeType":"VariableDeclaration","scope":33431,"src":"61871:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61871:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"61846:36:22"},"returnParameters":{"id":33404,"nodeType":"ParameterList","parameters":[],"src":"61897:0:22"},"scope":44426,"src":"61834:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33465,"nodeType":"Block","src":"63201:1235:22","statements":[{"assignments":[33441],"declarations":[{"constant":false,"id":33441,"mutability":"mutable","name":"m0","nameLocation":"63219:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63211:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63211:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33442,"nodeType":"VariableDeclarationStatement","src":"63211:10:22"},{"assignments":[33444],"declarations":[{"constant":false,"id":33444,"mutability":"mutable","name":"m1","nameLocation":"63239:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63231:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63231:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33445,"nodeType":"VariableDeclarationStatement","src":"63231:10:22"},{"assignments":[33447],"declarations":[{"constant":false,"id":33447,"mutability":"mutable","name":"m2","nameLocation":"63259:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63251:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63251:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33448,"nodeType":"VariableDeclarationStatement","src":"63251:10:22"},{"assignments":[33450],"declarations":[{"constant":false,"id":33450,"mutability":"mutable","name":"m3","nameLocation":"63279:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63271:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63271:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33451,"nodeType":"VariableDeclarationStatement","src":"63271:10:22"},{"assignments":[33453],"declarations":[{"constant":false,"id":33453,"mutability":"mutable","name":"m4","nameLocation":"63299:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63291:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63291:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33454,"nodeType":"VariableDeclarationStatement","src":"63291:10:22"},{"assignments":[33456],"declarations":[{"constant":false,"id":33456,"mutability":"mutable","name":"m5","nameLocation":"63319:2:22","nodeType":"VariableDeclaration","scope":33465,"src":"63311:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63311:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33457,"nodeType":"VariableDeclarationStatement","src":"63311:10:22"},{"AST":{"nativeSrc":"63383:764:22","nodeType":"YulBlock","src":"63383:764:22","statements":[{"body":{"nativeSrc":"63426:313:22","nodeType":"YulBlock","src":"63426:313:22","statements":[{"nativeSrc":"63444:15:22","nodeType":"YulVariableDeclaration","src":"63444:15:22","value":{"kind":"number","nativeSrc":"63458:1:22","nodeType":"YulLiteral","src":"63458:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"63448:6:22","nodeType":"YulTypedName","src":"63448:6:22","type":""}]},{"body":{"nativeSrc":"63529:40:22","nodeType":"YulBlock","src":"63529:40:22","statements":[{"body":{"nativeSrc":"63558:9:22","nodeType":"YulBlock","src":"63558:9:22","statements":[{"nativeSrc":"63560:5:22","nodeType":"YulBreak","src":"63560:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"63546:6:22","nodeType":"YulIdentifier","src":"63546:6:22"},{"name":"w","nativeSrc":"63554:1:22","nodeType":"YulIdentifier","src":"63554:1:22"}],"functionName":{"name":"byte","nativeSrc":"63541:4:22","nodeType":"YulIdentifier","src":"63541:4:22"},"nativeSrc":"63541:15:22","nodeType":"YulFunctionCall","src":"63541:15:22"}],"functionName":{"name":"iszero","nativeSrc":"63534:6:22","nodeType":"YulIdentifier","src":"63534:6:22"},"nativeSrc":"63534:23:22","nodeType":"YulFunctionCall","src":"63534:23:22"},"nativeSrc":"63531:36:22","nodeType":"YulIf","src":"63531:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"63486:6:22","nodeType":"YulIdentifier","src":"63486:6:22"},{"kind":"number","nativeSrc":"63494:4:22","nodeType":"YulLiteral","src":"63494:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"63483:2:22","nodeType":"YulIdentifier","src":"63483:2:22"},"nativeSrc":"63483:16:22","nodeType":"YulFunctionCall","src":"63483:16:22"},"nativeSrc":"63476:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"63500:28:22","nodeType":"YulBlock","src":"63500:28:22","statements":[{"nativeSrc":"63502:24:22","nodeType":"YulAssignment","src":"63502:24:22","value":{"arguments":[{"name":"length","nativeSrc":"63516:6:22","nodeType":"YulIdentifier","src":"63516:6:22"},{"kind":"number","nativeSrc":"63524:1:22","nodeType":"YulLiteral","src":"63524:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"63512:3:22","nodeType":"YulIdentifier","src":"63512:3:22"},"nativeSrc":"63512:14:22","nodeType":"YulFunctionCall","src":"63512:14:22"},"variableNames":[{"name":"length","nativeSrc":"63502:6:22","nodeType":"YulIdentifier","src":"63502:6:22"}]}]},"pre":{"nativeSrc":"63480:2:22","nodeType":"YulBlock","src":"63480:2:22","statements":[]},"src":"63476:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"63593:3:22","nodeType":"YulIdentifier","src":"63593:3:22"},{"name":"length","nativeSrc":"63598:6:22","nodeType":"YulIdentifier","src":"63598:6:22"}],"functionName":{"name":"mstore","nativeSrc":"63586:6:22","nodeType":"YulIdentifier","src":"63586:6:22"},"nativeSrc":"63586:19:22","nodeType":"YulFunctionCall","src":"63586:19:22"},"nativeSrc":"63586:19:22","nodeType":"YulExpressionStatement","src":"63586:19:22"},{"nativeSrc":"63622:37:22","nodeType":"YulVariableDeclaration","src":"63622:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"63639:3:22","nodeType":"YulLiteral","src":"63639:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"63648:1:22","nodeType":"YulLiteral","src":"63648:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"63651:6:22","nodeType":"YulIdentifier","src":"63651:6:22"}],"functionName":{"name":"shl","nativeSrc":"63644:3:22","nodeType":"YulIdentifier","src":"63644:3:22"},"nativeSrc":"63644:14:22","nodeType":"YulFunctionCall","src":"63644:14:22"}],"functionName":{"name":"sub","nativeSrc":"63635:3:22","nodeType":"YulIdentifier","src":"63635:3:22"},"nativeSrc":"63635:24:22","nodeType":"YulFunctionCall","src":"63635:24:22"},"variables":[{"name":"shift","nativeSrc":"63626:5:22","nodeType":"YulTypedName","src":"63626:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"63687:3:22","nodeType":"YulIdentifier","src":"63687:3:22"},{"kind":"number","nativeSrc":"63692:4:22","nodeType":"YulLiteral","src":"63692:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"63683:3:22","nodeType":"YulIdentifier","src":"63683:3:22"},"nativeSrc":"63683:14:22","nodeType":"YulFunctionCall","src":"63683:14:22"},{"arguments":[{"name":"shift","nativeSrc":"63703:5:22","nodeType":"YulIdentifier","src":"63703:5:22"},{"arguments":[{"name":"shift","nativeSrc":"63714:5:22","nodeType":"YulIdentifier","src":"63714:5:22"},{"name":"w","nativeSrc":"63721:1:22","nodeType":"YulIdentifier","src":"63721:1:22"}],"functionName":{"name":"shr","nativeSrc":"63710:3:22","nodeType":"YulIdentifier","src":"63710:3:22"},"nativeSrc":"63710:13:22","nodeType":"YulFunctionCall","src":"63710:13:22"}],"functionName":{"name":"shl","nativeSrc":"63699:3:22","nodeType":"YulIdentifier","src":"63699:3:22"},"nativeSrc":"63699:25:22","nodeType":"YulFunctionCall","src":"63699:25:22"}],"functionName":{"name":"mstore","nativeSrc":"63676:6:22","nodeType":"YulIdentifier","src":"63676:6:22"},"nativeSrc":"63676:49:22","nodeType":"YulFunctionCall","src":"63676:49:22"},"nativeSrc":"63676:49:22","nodeType":"YulExpressionStatement","src":"63676:49:22"}]},"name":"writeString","nativeSrc":"63397:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"63418:3:22","nodeType":"YulTypedName","src":"63418:3:22","type":""},{"name":"w","nativeSrc":"63423:1:22","nodeType":"YulTypedName","src":"63423:1:22","type":""}],"src":"63397:342:22"},{"nativeSrc":"63752:17:22","nodeType":"YulAssignment","src":"63752:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63764:4:22","nodeType":"YulLiteral","src":"63764:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"63758:5:22","nodeType":"YulIdentifier","src":"63758:5:22"},"nativeSrc":"63758:11:22","nodeType":"YulFunctionCall","src":"63758:11:22"},"variableNames":[{"name":"m0","nativeSrc":"63752:2:22","nodeType":"YulIdentifier","src":"63752:2:22"}]},{"nativeSrc":"63782:17:22","nodeType":"YulAssignment","src":"63782:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63794:4:22","nodeType":"YulLiteral","src":"63794:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"63788:5:22","nodeType":"YulIdentifier","src":"63788:5:22"},"nativeSrc":"63788:11:22","nodeType":"YulFunctionCall","src":"63788:11:22"},"variableNames":[{"name":"m1","nativeSrc":"63782:2:22","nodeType":"YulIdentifier","src":"63782:2:22"}]},{"nativeSrc":"63812:17:22","nodeType":"YulAssignment","src":"63812:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63824:4:22","nodeType":"YulLiteral","src":"63824:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"63818:5:22","nodeType":"YulIdentifier","src":"63818:5:22"},"nativeSrc":"63818:11:22","nodeType":"YulFunctionCall","src":"63818:11:22"},"variableNames":[{"name":"m2","nativeSrc":"63812:2:22","nodeType":"YulIdentifier","src":"63812:2:22"}]},{"nativeSrc":"63842:17:22","nodeType":"YulAssignment","src":"63842:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63854:4:22","nodeType":"YulLiteral","src":"63854:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"63848:5:22","nodeType":"YulIdentifier","src":"63848:5:22"},"nativeSrc":"63848:11:22","nodeType":"YulFunctionCall","src":"63848:11:22"},"variableNames":[{"name":"m3","nativeSrc":"63842:2:22","nodeType":"YulIdentifier","src":"63842:2:22"}]},{"nativeSrc":"63872:17:22","nodeType":"YulAssignment","src":"63872:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63884:4:22","nodeType":"YulLiteral","src":"63884:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"63878:5:22","nodeType":"YulIdentifier","src":"63878:5:22"},"nativeSrc":"63878:11:22","nodeType":"YulFunctionCall","src":"63878:11:22"},"variableNames":[{"name":"m4","nativeSrc":"63872:2:22","nodeType":"YulIdentifier","src":"63872:2:22"}]},{"nativeSrc":"63902:17:22","nodeType":"YulAssignment","src":"63902:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"63914:4:22","nodeType":"YulLiteral","src":"63914:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"63908:5:22","nodeType":"YulIdentifier","src":"63908:5:22"},"nativeSrc":"63908:11:22","nodeType":"YulFunctionCall","src":"63908:11:22"},"variableNames":[{"name":"m5","nativeSrc":"63902:2:22","nodeType":"YulIdentifier","src":"63902:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63997:4:22","nodeType":"YulLiteral","src":"63997:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"64003:10:22","nodeType":"YulLiteral","src":"64003:10:22","type":"","value":"0x7afac959"}],"functionName":{"name":"mstore","nativeSrc":"63990:6:22","nodeType":"YulIdentifier","src":"63990:6:22"},"nativeSrc":"63990:24:22","nodeType":"YulFunctionCall","src":"63990:24:22"},"nativeSrc":"63990:24:22","nodeType":"YulExpressionStatement","src":"63990:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64034:4:22","nodeType":"YulLiteral","src":"64034:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"64040:2:22","nodeType":"YulIdentifier","src":"64040:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64027:6:22","nodeType":"YulIdentifier","src":"64027:6:22"},"nativeSrc":"64027:16:22","nodeType":"YulFunctionCall","src":"64027:16:22"},"nativeSrc":"64027:16:22","nodeType":"YulExpressionStatement","src":"64027:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64063:4:22","nodeType":"YulLiteral","src":"64063:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"64069:4:22","nodeType":"YulLiteral","src":"64069:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"64056:6:22","nodeType":"YulIdentifier","src":"64056:6:22"},"nativeSrc":"64056:18:22","nodeType":"YulFunctionCall","src":"64056:18:22"},"nativeSrc":"64056:18:22","nodeType":"YulExpressionStatement","src":"64056:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64094:4:22","nodeType":"YulLiteral","src":"64094:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"64100:2:22","nodeType":"YulIdentifier","src":"64100:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64087:6:22","nodeType":"YulIdentifier","src":"64087:6:22"},"nativeSrc":"64087:16:22","nodeType":"YulFunctionCall","src":"64087:16:22"},"nativeSrc":"64087:16:22","nodeType":"YulExpressionStatement","src":"64087:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64128:4:22","nodeType":"YulLiteral","src":"64128:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"64134:2:22","nodeType":"YulIdentifier","src":"64134:2:22"}],"functionName":{"name":"writeString","nativeSrc":"64116:11:22","nodeType":"YulIdentifier","src":"64116:11:22"},"nativeSrc":"64116:21:22","nodeType":"YulFunctionCall","src":"64116:21:22"},"nativeSrc":"64116:21:22","nodeType":"YulExpressionStatement","src":"64116:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33441,"isOffset":false,"isSlot":false,"src":"63752:2:22","valueSize":1},{"declaration":33444,"isOffset":false,"isSlot":false,"src":"63782:2:22","valueSize":1},{"declaration":33447,"isOffset":false,"isSlot":false,"src":"63812:2:22","valueSize":1},{"declaration":33450,"isOffset":false,"isSlot":false,"src":"63842:2:22","valueSize":1},{"declaration":33453,"isOffset":false,"isSlot":false,"src":"63872:2:22","valueSize":1},{"declaration":33456,"isOffset":false,"isSlot":false,"src":"63902:2:22","valueSize":1},{"declaration":33433,"isOffset":false,"isSlot":false,"src":"64040:2:22","valueSize":1},{"declaration":33435,"isOffset":false,"isSlot":false,"src":"64134:2:22","valueSize":1},{"declaration":33437,"isOffset":false,"isSlot":false,"src":"64100:2:22","valueSize":1}],"id":33458,"nodeType":"InlineAssembly","src":"63374:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64172:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64178:4:22","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":33459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"64156:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64156:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33463,"nodeType":"ExpressionStatement","src":"64156:27:22"},{"AST":{"nativeSrc":"64245:185:22","nodeType":"YulBlock","src":"64245:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"64266:4:22","nodeType":"YulLiteral","src":"64266:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"64272:2:22","nodeType":"YulIdentifier","src":"64272:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64259:6:22","nodeType":"YulIdentifier","src":"64259:6:22"},"nativeSrc":"64259:16:22","nodeType":"YulFunctionCall","src":"64259:16:22"},"nativeSrc":"64259:16:22","nodeType":"YulExpressionStatement","src":"64259:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64295:4:22","nodeType":"YulLiteral","src":"64295:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"64301:2:22","nodeType":"YulIdentifier","src":"64301:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64288:6:22","nodeType":"YulIdentifier","src":"64288:6:22"},"nativeSrc":"64288:16:22","nodeType":"YulFunctionCall","src":"64288:16:22"},"nativeSrc":"64288:16:22","nodeType":"YulExpressionStatement","src":"64288:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64324:4:22","nodeType":"YulLiteral","src":"64324:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"64330:2:22","nodeType":"YulIdentifier","src":"64330:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64317:6:22","nodeType":"YulIdentifier","src":"64317:6:22"},"nativeSrc":"64317:16:22","nodeType":"YulFunctionCall","src":"64317:16:22"},"nativeSrc":"64317:16:22","nodeType":"YulExpressionStatement","src":"64317:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64353:4:22","nodeType":"YulLiteral","src":"64353:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"64359:2:22","nodeType":"YulIdentifier","src":"64359:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64346:6:22","nodeType":"YulIdentifier","src":"64346:6:22"},"nativeSrc":"64346:16:22","nodeType":"YulFunctionCall","src":"64346:16:22"},"nativeSrc":"64346:16:22","nodeType":"YulExpressionStatement","src":"64346:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64382:4:22","nodeType":"YulLiteral","src":"64382:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"64388:2:22","nodeType":"YulIdentifier","src":"64388:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64375:6:22","nodeType":"YulIdentifier","src":"64375:6:22"},"nativeSrc":"64375:16:22","nodeType":"YulFunctionCall","src":"64375:16:22"},"nativeSrc":"64375:16:22","nodeType":"YulExpressionStatement","src":"64375:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64411:4:22","nodeType":"YulLiteral","src":"64411:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"64417:2:22","nodeType":"YulIdentifier","src":"64417:2:22"}],"functionName":{"name":"mstore","nativeSrc":"64404:6:22","nodeType":"YulIdentifier","src":"64404:6:22"},"nativeSrc":"64404:16:22","nodeType":"YulFunctionCall","src":"64404:16:22"},"nativeSrc":"64404:16:22","nodeType":"YulExpressionStatement","src":"64404:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33441,"isOffset":false,"isSlot":false,"src":"64272:2:22","valueSize":1},{"declaration":33444,"isOffset":false,"isSlot":false,"src":"64301:2:22","valueSize":1},{"declaration":33447,"isOffset":false,"isSlot":false,"src":"64330:2:22","valueSize":1},{"declaration":33450,"isOffset":false,"isSlot":false,"src":"64359:2:22","valueSize":1},{"declaration":33453,"isOffset":false,"isSlot":false,"src":"64388:2:22","valueSize":1},{"declaration":33456,"isOffset":false,"isSlot":false,"src":"64417:2:22","valueSize":1}],"id":33464,"nodeType":"InlineAssembly","src":"64236:194:22"}]},"id":33466,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63147:3:22","nodeType":"FunctionDefinition","parameters":{"id":33438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33433,"mutability":"mutable","name":"p0","nameLocation":"63159:2:22","nodeType":"VariableDeclaration","scope":33466,"src":"63151:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33432,"name":"uint256","nodeType":"ElementaryTypeName","src":"63151:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33435,"mutability":"mutable","name":"p1","nameLocation":"63171:2:22","nodeType":"VariableDeclaration","scope":33466,"src":"63163:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63163:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33437,"mutability":"mutable","name":"p2","nameLocation":"63183:2:22","nodeType":"VariableDeclaration","scope":33466,"src":"63175:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33436,"name":"address","nodeType":"ElementaryTypeName","src":"63175:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63150:36:22"},"returnParameters":{"id":33439,"nodeType":"ParameterList","parameters":[],"src":"63201:0:22"},"scope":44426,"src":"63138:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33500,"nodeType":"Block","src":"64502:1232:22","statements":[{"assignments":[33476],"declarations":[{"constant":false,"id":33476,"mutability":"mutable","name":"m0","nameLocation":"64520:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64512:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64512:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33477,"nodeType":"VariableDeclarationStatement","src":"64512:10:22"},{"assignments":[33479],"declarations":[{"constant":false,"id":33479,"mutability":"mutable","name":"m1","nameLocation":"64540:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64532:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64532:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33480,"nodeType":"VariableDeclarationStatement","src":"64532:10:22"},{"assignments":[33482],"declarations":[{"constant":false,"id":33482,"mutability":"mutable","name":"m2","nameLocation":"64560:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64552:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64552:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33483,"nodeType":"VariableDeclarationStatement","src":"64552:10:22"},{"assignments":[33485],"declarations":[{"constant":false,"id":33485,"mutability":"mutable","name":"m3","nameLocation":"64580:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64572:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64572:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33486,"nodeType":"VariableDeclarationStatement","src":"64572:10:22"},{"assignments":[33488],"declarations":[{"constant":false,"id":33488,"mutability":"mutable","name":"m4","nameLocation":"64600:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64592:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64592:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33489,"nodeType":"VariableDeclarationStatement","src":"64592:10:22"},{"assignments":[33491],"declarations":[{"constant":false,"id":33491,"mutability":"mutable","name":"m5","nameLocation":"64620:2:22","nodeType":"VariableDeclaration","scope":33500,"src":"64612:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64612:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33492,"nodeType":"VariableDeclarationStatement","src":"64612:10:22"},{"AST":{"nativeSrc":"64684:761:22","nodeType":"YulBlock","src":"64684:761:22","statements":[{"body":{"nativeSrc":"64727:313:22","nodeType":"YulBlock","src":"64727:313:22","statements":[{"nativeSrc":"64745:15:22","nodeType":"YulVariableDeclaration","src":"64745:15:22","value":{"kind":"number","nativeSrc":"64759:1:22","nodeType":"YulLiteral","src":"64759:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"64749:6:22","nodeType":"YulTypedName","src":"64749:6:22","type":""}]},{"body":{"nativeSrc":"64830:40:22","nodeType":"YulBlock","src":"64830:40:22","statements":[{"body":{"nativeSrc":"64859:9:22","nodeType":"YulBlock","src":"64859:9:22","statements":[{"nativeSrc":"64861:5:22","nodeType":"YulBreak","src":"64861:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"64847:6:22","nodeType":"YulIdentifier","src":"64847:6:22"},{"name":"w","nativeSrc":"64855:1:22","nodeType":"YulIdentifier","src":"64855:1:22"}],"functionName":{"name":"byte","nativeSrc":"64842:4:22","nodeType":"YulIdentifier","src":"64842:4:22"},"nativeSrc":"64842:15:22","nodeType":"YulFunctionCall","src":"64842:15:22"}],"functionName":{"name":"iszero","nativeSrc":"64835:6:22","nodeType":"YulIdentifier","src":"64835:6:22"},"nativeSrc":"64835:23:22","nodeType":"YulFunctionCall","src":"64835:23:22"},"nativeSrc":"64832:36:22","nodeType":"YulIf","src":"64832:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"64787:6:22","nodeType":"YulIdentifier","src":"64787:6:22"},{"kind":"number","nativeSrc":"64795:4:22","nodeType":"YulLiteral","src":"64795:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"64784:2:22","nodeType":"YulIdentifier","src":"64784:2:22"},"nativeSrc":"64784:16:22","nodeType":"YulFunctionCall","src":"64784:16:22"},"nativeSrc":"64777:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"64801:28:22","nodeType":"YulBlock","src":"64801:28:22","statements":[{"nativeSrc":"64803:24:22","nodeType":"YulAssignment","src":"64803:24:22","value":{"arguments":[{"name":"length","nativeSrc":"64817:6:22","nodeType":"YulIdentifier","src":"64817:6:22"},{"kind":"number","nativeSrc":"64825:1:22","nodeType":"YulLiteral","src":"64825:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"64813:3:22","nodeType":"YulIdentifier","src":"64813:3:22"},"nativeSrc":"64813:14:22","nodeType":"YulFunctionCall","src":"64813:14:22"},"variableNames":[{"name":"length","nativeSrc":"64803:6:22","nodeType":"YulIdentifier","src":"64803:6:22"}]}]},"pre":{"nativeSrc":"64781:2:22","nodeType":"YulBlock","src":"64781:2:22","statements":[]},"src":"64777:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"64894:3:22","nodeType":"YulIdentifier","src":"64894:3:22"},{"name":"length","nativeSrc":"64899:6:22","nodeType":"YulIdentifier","src":"64899:6:22"}],"functionName":{"name":"mstore","nativeSrc":"64887:6:22","nodeType":"YulIdentifier","src":"64887:6:22"},"nativeSrc":"64887:19:22","nodeType":"YulFunctionCall","src":"64887:19:22"},"nativeSrc":"64887:19:22","nodeType":"YulExpressionStatement","src":"64887:19:22"},{"nativeSrc":"64923:37:22","nodeType":"YulVariableDeclaration","src":"64923:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"64940:3:22","nodeType":"YulLiteral","src":"64940:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"64949:1:22","nodeType":"YulLiteral","src":"64949:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"64952:6:22","nodeType":"YulIdentifier","src":"64952:6:22"}],"functionName":{"name":"shl","nativeSrc":"64945:3:22","nodeType":"YulIdentifier","src":"64945:3:22"},"nativeSrc":"64945:14:22","nodeType":"YulFunctionCall","src":"64945:14:22"}],"functionName":{"name":"sub","nativeSrc":"64936:3:22","nodeType":"YulIdentifier","src":"64936:3:22"},"nativeSrc":"64936:24:22","nodeType":"YulFunctionCall","src":"64936:24:22"},"variables":[{"name":"shift","nativeSrc":"64927:5:22","nodeType":"YulTypedName","src":"64927:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"64988:3:22","nodeType":"YulIdentifier","src":"64988:3:22"},{"kind":"number","nativeSrc":"64993:4:22","nodeType":"YulLiteral","src":"64993:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"64984:3:22","nodeType":"YulIdentifier","src":"64984:3:22"},"nativeSrc":"64984:14:22","nodeType":"YulFunctionCall","src":"64984:14:22"},{"arguments":[{"name":"shift","nativeSrc":"65004:5:22","nodeType":"YulIdentifier","src":"65004:5:22"},{"arguments":[{"name":"shift","nativeSrc":"65015:5:22","nodeType":"YulIdentifier","src":"65015:5:22"},{"name":"w","nativeSrc":"65022:1:22","nodeType":"YulIdentifier","src":"65022:1:22"}],"functionName":{"name":"shr","nativeSrc":"65011:3:22","nodeType":"YulIdentifier","src":"65011:3:22"},"nativeSrc":"65011:13:22","nodeType":"YulFunctionCall","src":"65011:13:22"}],"functionName":{"name":"shl","nativeSrc":"65000:3:22","nodeType":"YulIdentifier","src":"65000:3:22"},"nativeSrc":"65000:25:22","nodeType":"YulFunctionCall","src":"65000:25:22"}],"functionName":{"name":"mstore","nativeSrc":"64977:6:22","nodeType":"YulIdentifier","src":"64977:6:22"},"nativeSrc":"64977:49:22","nodeType":"YulFunctionCall","src":"64977:49:22"},"nativeSrc":"64977:49:22","nodeType":"YulExpressionStatement","src":"64977:49:22"}]},"name":"writeString","nativeSrc":"64698:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"64719:3:22","nodeType":"YulTypedName","src":"64719:3:22","type":""},{"name":"w","nativeSrc":"64724:1:22","nodeType":"YulTypedName","src":"64724:1:22","type":""}],"src":"64698:342:22"},{"nativeSrc":"65053:17:22","nodeType":"YulAssignment","src":"65053:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65065:4:22","nodeType":"YulLiteral","src":"65065:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"65059:5:22","nodeType":"YulIdentifier","src":"65059:5:22"},"nativeSrc":"65059:11:22","nodeType":"YulFunctionCall","src":"65059:11:22"},"variableNames":[{"name":"m0","nativeSrc":"65053:2:22","nodeType":"YulIdentifier","src":"65053:2:22"}]},{"nativeSrc":"65083:17:22","nodeType":"YulAssignment","src":"65083:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65095:4:22","nodeType":"YulLiteral","src":"65095:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"65089:5:22","nodeType":"YulIdentifier","src":"65089:5:22"},"nativeSrc":"65089:11:22","nodeType":"YulFunctionCall","src":"65089:11:22"},"variableNames":[{"name":"m1","nativeSrc":"65083:2:22","nodeType":"YulIdentifier","src":"65083:2:22"}]},{"nativeSrc":"65113:17:22","nodeType":"YulAssignment","src":"65113:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65125:4:22","nodeType":"YulLiteral","src":"65125:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"65119:5:22","nodeType":"YulIdentifier","src":"65119:5:22"},"nativeSrc":"65119:11:22","nodeType":"YulFunctionCall","src":"65119:11:22"},"variableNames":[{"name":"m2","nativeSrc":"65113:2:22","nodeType":"YulIdentifier","src":"65113:2:22"}]},{"nativeSrc":"65143:17:22","nodeType":"YulAssignment","src":"65143:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65155:4:22","nodeType":"YulLiteral","src":"65155:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"65149:5:22","nodeType":"YulIdentifier","src":"65149:5:22"},"nativeSrc":"65149:11:22","nodeType":"YulFunctionCall","src":"65149:11:22"},"variableNames":[{"name":"m3","nativeSrc":"65143:2:22","nodeType":"YulIdentifier","src":"65143:2:22"}]},{"nativeSrc":"65173:17:22","nodeType":"YulAssignment","src":"65173:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65185:4:22","nodeType":"YulLiteral","src":"65185:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"65179:5:22","nodeType":"YulIdentifier","src":"65179:5:22"},"nativeSrc":"65179:11:22","nodeType":"YulFunctionCall","src":"65179:11:22"},"variableNames":[{"name":"m4","nativeSrc":"65173:2:22","nodeType":"YulIdentifier","src":"65173:2:22"}]},{"nativeSrc":"65203:17:22","nodeType":"YulAssignment","src":"65203:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"65215:4:22","nodeType":"YulLiteral","src":"65215:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"65209:5:22","nodeType":"YulIdentifier","src":"65209:5:22"},"nativeSrc":"65209:11:22","nodeType":"YulFunctionCall","src":"65209:11:22"},"variableNames":[{"name":"m5","nativeSrc":"65203:2:22","nodeType":"YulIdentifier","src":"65203:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65295:4:22","nodeType":"YulLiteral","src":"65295:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"65301:10:22","nodeType":"YulLiteral","src":"65301:10:22","type":"","value":"0x4ceda75a"}],"functionName":{"name":"mstore","nativeSrc":"65288:6:22","nodeType":"YulIdentifier","src":"65288:6:22"},"nativeSrc":"65288:24:22","nodeType":"YulFunctionCall","src":"65288:24:22"},"nativeSrc":"65288:24:22","nodeType":"YulExpressionStatement","src":"65288:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65332:4:22","nodeType":"YulLiteral","src":"65332:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"65338:2:22","nodeType":"YulIdentifier","src":"65338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65325:6:22","nodeType":"YulIdentifier","src":"65325:6:22"},"nativeSrc":"65325:16:22","nodeType":"YulFunctionCall","src":"65325:16:22"},"nativeSrc":"65325:16:22","nodeType":"YulExpressionStatement","src":"65325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65361:4:22","nodeType":"YulLiteral","src":"65361:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"65367:4:22","nodeType":"YulLiteral","src":"65367:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"65354:6:22","nodeType":"YulIdentifier","src":"65354:6:22"},"nativeSrc":"65354:18:22","nodeType":"YulFunctionCall","src":"65354:18:22"},"nativeSrc":"65354:18:22","nodeType":"YulExpressionStatement","src":"65354:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65392:4:22","nodeType":"YulLiteral","src":"65392:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"65398:2:22","nodeType":"YulIdentifier","src":"65398:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65385:6:22","nodeType":"YulIdentifier","src":"65385:6:22"},"nativeSrc":"65385:16:22","nodeType":"YulFunctionCall","src":"65385:16:22"},"nativeSrc":"65385:16:22","nodeType":"YulExpressionStatement","src":"65385:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65426:4:22","nodeType":"YulLiteral","src":"65426:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"65432:2:22","nodeType":"YulIdentifier","src":"65432:2:22"}],"functionName":{"name":"writeString","nativeSrc":"65414:11:22","nodeType":"YulIdentifier","src":"65414:11:22"},"nativeSrc":"65414:21:22","nodeType":"YulFunctionCall","src":"65414:21:22"},"nativeSrc":"65414:21:22","nodeType":"YulExpressionStatement","src":"65414:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33476,"isOffset":false,"isSlot":false,"src":"65053:2:22","valueSize":1},{"declaration":33479,"isOffset":false,"isSlot":false,"src":"65083:2:22","valueSize":1},{"declaration":33482,"isOffset":false,"isSlot":false,"src":"65113:2:22","valueSize":1},{"declaration":33485,"isOffset":false,"isSlot":false,"src":"65143:2:22","valueSize":1},{"declaration":33488,"isOffset":false,"isSlot":false,"src":"65173:2:22","valueSize":1},{"declaration":33491,"isOffset":false,"isSlot":false,"src":"65203:2:22","valueSize":1},{"declaration":33468,"isOffset":false,"isSlot":false,"src":"65338:2:22","valueSize":1},{"declaration":33470,"isOffset":false,"isSlot":false,"src":"65432:2:22","valueSize":1},{"declaration":33472,"isOffset":false,"isSlot":false,"src":"65398:2:22","valueSize":1}],"id":33493,"nodeType":"InlineAssembly","src":"64675:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65470:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65476:4:22","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":33494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"65454:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65454:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33498,"nodeType":"ExpressionStatement","src":"65454:27:22"},{"AST":{"nativeSrc":"65543:185:22","nodeType":"YulBlock","src":"65543:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"65564:4:22","nodeType":"YulLiteral","src":"65564:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"65570:2:22","nodeType":"YulIdentifier","src":"65570:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65557:6:22","nodeType":"YulIdentifier","src":"65557:6:22"},"nativeSrc":"65557:16:22","nodeType":"YulFunctionCall","src":"65557:16:22"},"nativeSrc":"65557:16:22","nodeType":"YulExpressionStatement","src":"65557:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65593:4:22","nodeType":"YulLiteral","src":"65593:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"65599:2:22","nodeType":"YulIdentifier","src":"65599:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65586:6:22","nodeType":"YulIdentifier","src":"65586:6:22"},"nativeSrc":"65586:16:22","nodeType":"YulFunctionCall","src":"65586:16:22"},"nativeSrc":"65586:16:22","nodeType":"YulExpressionStatement","src":"65586:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65622:4:22","nodeType":"YulLiteral","src":"65622:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"65628:2:22","nodeType":"YulIdentifier","src":"65628:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65615:6:22","nodeType":"YulIdentifier","src":"65615:6:22"},"nativeSrc":"65615:16:22","nodeType":"YulFunctionCall","src":"65615:16:22"},"nativeSrc":"65615:16:22","nodeType":"YulExpressionStatement","src":"65615:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65651:4:22","nodeType":"YulLiteral","src":"65651:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"65657:2:22","nodeType":"YulIdentifier","src":"65657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65644:6:22","nodeType":"YulIdentifier","src":"65644:6:22"},"nativeSrc":"65644:16:22","nodeType":"YulFunctionCall","src":"65644:16:22"},"nativeSrc":"65644:16:22","nodeType":"YulExpressionStatement","src":"65644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65680:4:22","nodeType":"YulLiteral","src":"65680:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"65686:2:22","nodeType":"YulIdentifier","src":"65686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65673:6:22","nodeType":"YulIdentifier","src":"65673:6:22"},"nativeSrc":"65673:16:22","nodeType":"YulFunctionCall","src":"65673:16:22"},"nativeSrc":"65673:16:22","nodeType":"YulExpressionStatement","src":"65673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65709:4:22","nodeType":"YulLiteral","src":"65709:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"65715:2:22","nodeType":"YulIdentifier","src":"65715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"65702:6:22","nodeType":"YulIdentifier","src":"65702:6:22"},"nativeSrc":"65702:16:22","nodeType":"YulFunctionCall","src":"65702:16:22"},"nativeSrc":"65702:16:22","nodeType":"YulExpressionStatement","src":"65702:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33476,"isOffset":false,"isSlot":false,"src":"65570:2:22","valueSize":1},{"declaration":33479,"isOffset":false,"isSlot":false,"src":"65599:2:22","valueSize":1},{"declaration":33482,"isOffset":false,"isSlot":false,"src":"65628:2:22","valueSize":1},{"declaration":33485,"isOffset":false,"isSlot":false,"src":"65657:2:22","valueSize":1},{"declaration":33488,"isOffset":false,"isSlot":false,"src":"65686:2:22","valueSize":1},{"declaration":33491,"isOffset":false,"isSlot":false,"src":"65715:2:22","valueSize":1}],"id":33499,"nodeType":"InlineAssembly","src":"65534:194:22"}]},"id":33501,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64451:3:22","nodeType":"FunctionDefinition","parameters":{"id":33473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33468,"mutability":"mutable","name":"p0","nameLocation":"64463:2:22","nodeType":"VariableDeclaration","scope":33501,"src":"64455:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33467,"name":"uint256","nodeType":"ElementaryTypeName","src":"64455:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33470,"mutability":"mutable","name":"p1","nameLocation":"64475:2:22","nodeType":"VariableDeclaration","scope":33501,"src":"64467:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64467:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33472,"mutability":"mutable","name":"p2","nameLocation":"64484:2:22","nodeType":"VariableDeclaration","scope":33501,"src":"64479:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33471,"name":"bool","nodeType":"ElementaryTypeName","src":"64479:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64454:33:22"},"returnParameters":{"id":33474,"nodeType":"ParameterList","parameters":[],"src":"64502:0:22"},"scope":44426,"src":"64442:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33535,"nodeType":"Block","src":"65803:1235:22","statements":[{"assignments":[33511],"declarations":[{"constant":false,"id":33511,"mutability":"mutable","name":"m0","nameLocation":"65821:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65813:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65813:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33512,"nodeType":"VariableDeclarationStatement","src":"65813:10:22"},{"assignments":[33514],"declarations":[{"constant":false,"id":33514,"mutability":"mutable","name":"m1","nameLocation":"65841:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65833:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65833:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33515,"nodeType":"VariableDeclarationStatement","src":"65833:10:22"},{"assignments":[33517],"declarations":[{"constant":false,"id":33517,"mutability":"mutable","name":"m2","nameLocation":"65861:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65853:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65853:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33518,"nodeType":"VariableDeclarationStatement","src":"65853:10:22"},{"assignments":[33520],"declarations":[{"constant":false,"id":33520,"mutability":"mutable","name":"m3","nameLocation":"65881:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33521,"nodeType":"VariableDeclarationStatement","src":"65873:10:22"},{"assignments":[33523],"declarations":[{"constant":false,"id":33523,"mutability":"mutable","name":"m4","nameLocation":"65901:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33524,"nodeType":"VariableDeclarationStatement","src":"65893:10:22"},{"assignments":[33526],"declarations":[{"constant":false,"id":33526,"mutability":"mutable","name":"m5","nameLocation":"65921:2:22","nodeType":"VariableDeclaration","scope":33535,"src":"65913:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65913:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33527,"nodeType":"VariableDeclarationStatement","src":"65913:10:22"},{"AST":{"nativeSrc":"65985:764:22","nodeType":"YulBlock","src":"65985:764:22","statements":[{"body":{"nativeSrc":"66028:313:22","nodeType":"YulBlock","src":"66028:313:22","statements":[{"nativeSrc":"66046:15:22","nodeType":"YulVariableDeclaration","src":"66046:15:22","value":{"kind":"number","nativeSrc":"66060:1:22","nodeType":"YulLiteral","src":"66060:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"66050:6:22","nodeType":"YulTypedName","src":"66050:6:22","type":""}]},{"body":{"nativeSrc":"66131:40:22","nodeType":"YulBlock","src":"66131:40:22","statements":[{"body":{"nativeSrc":"66160:9:22","nodeType":"YulBlock","src":"66160:9:22","statements":[{"nativeSrc":"66162:5:22","nodeType":"YulBreak","src":"66162:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"66148:6:22","nodeType":"YulIdentifier","src":"66148:6:22"},{"name":"w","nativeSrc":"66156:1:22","nodeType":"YulIdentifier","src":"66156:1:22"}],"functionName":{"name":"byte","nativeSrc":"66143:4:22","nodeType":"YulIdentifier","src":"66143:4:22"},"nativeSrc":"66143:15:22","nodeType":"YulFunctionCall","src":"66143:15:22"}],"functionName":{"name":"iszero","nativeSrc":"66136:6:22","nodeType":"YulIdentifier","src":"66136:6:22"},"nativeSrc":"66136:23:22","nodeType":"YulFunctionCall","src":"66136:23:22"},"nativeSrc":"66133:36:22","nodeType":"YulIf","src":"66133:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"66088:6:22","nodeType":"YulIdentifier","src":"66088:6:22"},{"kind":"number","nativeSrc":"66096:4:22","nodeType":"YulLiteral","src":"66096:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"66085:2:22","nodeType":"YulIdentifier","src":"66085:2:22"},"nativeSrc":"66085:16:22","nodeType":"YulFunctionCall","src":"66085:16:22"},"nativeSrc":"66078:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"66102:28:22","nodeType":"YulBlock","src":"66102:28:22","statements":[{"nativeSrc":"66104:24:22","nodeType":"YulAssignment","src":"66104:24:22","value":{"arguments":[{"name":"length","nativeSrc":"66118:6:22","nodeType":"YulIdentifier","src":"66118:6:22"},{"kind":"number","nativeSrc":"66126:1:22","nodeType":"YulLiteral","src":"66126:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"66114:3:22","nodeType":"YulIdentifier","src":"66114:3:22"},"nativeSrc":"66114:14:22","nodeType":"YulFunctionCall","src":"66114:14:22"},"variableNames":[{"name":"length","nativeSrc":"66104:6:22","nodeType":"YulIdentifier","src":"66104:6:22"}]}]},"pre":{"nativeSrc":"66082:2:22","nodeType":"YulBlock","src":"66082:2:22","statements":[]},"src":"66078:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"66195:3:22","nodeType":"YulIdentifier","src":"66195:3:22"},{"name":"length","nativeSrc":"66200:6:22","nodeType":"YulIdentifier","src":"66200:6:22"}],"functionName":{"name":"mstore","nativeSrc":"66188:6:22","nodeType":"YulIdentifier","src":"66188:6:22"},"nativeSrc":"66188:19:22","nodeType":"YulFunctionCall","src":"66188:19:22"},"nativeSrc":"66188:19:22","nodeType":"YulExpressionStatement","src":"66188:19:22"},{"nativeSrc":"66224:37:22","nodeType":"YulVariableDeclaration","src":"66224:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"66241:3:22","nodeType":"YulLiteral","src":"66241:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"66250:1:22","nodeType":"YulLiteral","src":"66250:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"66253:6:22","nodeType":"YulIdentifier","src":"66253:6:22"}],"functionName":{"name":"shl","nativeSrc":"66246:3:22","nodeType":"YulIdentifier","src":"66246:3:22"},"nativeSrc":"66246:14:22","nodeType":"YulFunctionCall","src":"66246:14:22"}],"functionName":{"name":"sub","nativeSrc":"66237:3:22","nodeType":"YulIdentifier","src":"66237:3:22"},"nativeSrc":"66237:24:22","nodeType":"YulFunctionCall","src":"66237:24:22"},"variables":[{"name":"shift","nativeSrc":"66228:5:22","nodeType":"YulTypedName","src":"66228:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"66289:3:22","nodeType":"YulIdentifier","src":"66289:3:22"},{"kind":"number","nativeSrc":"66294:4:22","nodeType":"YulLiteral","src":"66294:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"66285:3:22","nodeType":"YulIdentifier","src":"66285:3:22"},"nativeSrc":"66285:14:22","nodeType":"YulFunctionCall","src":"66285:14:22"},{"arguments":[{"name":"shift","nativeSrc":"66305:5:22","nodeType":"YulIdentifier","src":"66305:5:22"},{"arguments":[{"name":"shift","nativeSrc":"66316:5:22","nodeType":"YulIdentifier","src":"66316:5:22"},{"name":"w","nativeSrc":"66323:1:22","nodeType":"YulIdentifier","src":"66323:1:22"}],"functionName":{"name":"shr","nativeSrc":"66312:3:22","nodeType":"YulIdentifier","src":"66312:3:22"},"nativeSrc":"66312:13:22","nodeType":"YulFunctionCall","src":"66312:13:22"}],"functionName":{"name":"shl","nativeSrc":"66301:3:22","nodeType":"YulIdentifier","src":"66301:3:22"},"nativeSrc":"66301:25:22","nodeType":"YulFunctionCall","src":"66301:25:22"}],"functionName":{"name":"mstore","nativeSrc":"66278:6:22","nodeType":"YulIdentifier","src":"66278:6:22"},"nativeSrc":"66278:49:22","nodeType":"YulFunctionCall","src":"66278:49:22"},"nativeSrc":"66278:49:22","nodeType":"YulExpressionStatement","src":"66278:49:22"}]},"name":"writeString","nativeSrc":"65999:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"66020:3:22","nodeType":"YulTypedName","src":"66020:3:22","type":""},{"name":"w","nativeSrc":"66025:1:22","nodeType":"YulTypedName","src":"66025:1:22","type":""}],"src":"65999:342:22"},{"nativeSrc":"66354:17:22","nodeType":"YulAssignment","src":"66354:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66366:4:22","nodeType":"YulLiteral","src":"66366:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"66360:5:22","nodeType":"YulIdentifier","src":"66360:5:22"},"nativeSrc":"66360:11:22","nodeType":"YulFunctionCall","src":"66360:11:22"},"variableNames":[{"name":"m0","nativeSrc":"66354:2:22","nodeType":"YulIdentifier","src":"66354:2:22"}]},{"nativeSrc":"66384:17:22","nodeType":"YulAssignment","src":"66384:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66396:4:22","nodeType":"YulLiteral","src":"66396:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"66390:5:22","nodeType":"YulIdentifier","src":"66390:5:22"},"nativeSrc":"66390:11:22","nodeType":"YulFunctionCall","src":"66390:11:22"},"variableNames":[{"name":"m1","nativeSrc":"66384:2:22","nodeType":"YulIdentifier","src":"66384:2:22"}]},{"nativeSrc":"66414:17:22","nodeType":"YulAssignment","src":"66414:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66426:4:22","nodeType":"YulLiteral","src":"66426:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"66420:5:22","nodeType":"YulIdentifier","src":"66420:5:22"},"nativeSrc":"66420:11:22","nodeType":"YulFunctionCall","src":"66420:11:22"},"variableNames":[{"name":"m2","nativeSrc":"66414:2:22","nodeType":"YulIdentifier","src":"66414:2:22"}]},{"nativeSrc":"66444:17:22","nodeType":"YulAssignment","src":"66444:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66456:4:22","nodeType":"YulLiteral","src":"66456:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"66450:5:22","nodeType":"YulIdentifier","src":"66450:5:22"},"nativeSrc":"66450:11:22","nodeType":"YulFunctionCall","src":"66450:11:22"},"variableNames":[{"name":"m3","nativeSrc":"66444:2:22","nodeType":"YulIdentifier","src":"66444:2:22"}]},{"nativeSrc":"66474:17:22","nodeType":"YulAssignment","src":"66474:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66486:4:22","nodeType":"YulLiteral","src":"66486:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"66480:5:22","nodeType":"YulIdentifier","src":"66480:5:22"},"nativeSrc":"66480:11:22","nodeType":"YulFunctionCall","src":"66480:11:22"},"variableNames":[{"name":"m4","nativeSrc":"66474:2:22","nodeType":"YulIdentifier","src":"66474:2:22"}]},{"nativeSrc":"66504:17:22","nodeType":"YulAssignment","src":"66504:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"66516:4:22","nodeType":"YulLiteral","src":"66516:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"66510:5:22","nodeType":"YulIdentifier","src":"66510:5:22"},"nativeSrc":"66510:11:22","nodeType":"YulFunctionCall","src":"66510:11:22"},"variableNames":[{"name":"m5","nativeSrc":"66504:2:22","nodeType":"YulIdentifier","src":"66504:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66599:4:22","nodeType":"YulLiteral","src":"66599:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"66605:10:22","nodeType":"YulLiteral","src":"66605:10:22","type":"","value":"0x37aa7d4c"}],"functionName":{"name":"mstore","nativeSrc":"66592:6:22","nodeType":"YulIdentifier","src":"66592:6:22"},"nativeSrc":"66592:24:22","nodeType":"YulFunctionCall","src":"66592:24:22"},"nativeSrc":"66592:24:22","nodeType":"YulExpressionStatement","src":"66592:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66636:4:22","nodeType":"YulLiteral","src":"66636:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"66642:2:22","nodeType":"YulIdentifier","src":"66642:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66629:6:22","nodeType":"YulIdentifier","src":"66629:6:22"},"nativeSrc":"66629:16:22","nodeType":"YulFunctionCall","src":"66629:16:22"},"nativeSrc":"66629:16:22","nodeType":"YulExpressionStatement","src":"66629:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66665:4:22","nodeType":"YulLiteral","src":"66665:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"66671:4:22","nodeType":"YulLiteral","src":"66671:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"66658:6:22","nodeType":"YulIdentifier","src":"66658:6:22"},"nativeSrc":"66658:18:22","nodeType":"YulFunctionCall","src":"66658:18:22"},"nativeSrc":"66658:18:22","nodeType":"YulExpressionStatement","src":"66658:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66696:4:22","nodeType":"YulLiteral","src":"66696:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"66702:2:22","nodeType":"YulIdentifier","src":"66702:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66689:6:22","nodeType":"YulIdentifier","src":"66689:6:22"},"nativeSrc":"66689:16:22","nodeType":"YulFunctionCall","src":"66689:16:22"},"nativeSrc":"66689:16:22","nodeType":"YulExpressionStatement","src":"66689:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66730:4:22","nodeType":"YulLiteral","src":"66730:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"66736:2:22","nodeType":"YulIdentifier","src":"66736:2:22"}],"functionName":{"name":"writeString","nativeSrc":"66718:11:22","nodeType":"YulIdentifier","src":"66718:11:22"},"nativeSrc":"66718:21:22","nodeType":"YulFunctionCall","src":"66718:21:22"},"nativeSrc":"66718:21:22","nodeType":"YulExpressionStatement","src":"66718:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33511,"isOffset":false,"isSlot":false,"src":"66354:2:22","valueSize":1},{"declaration":33514,"isOffset":false,"isSlot":false,"src":"66384:2:22","valueSize":1},{"declaration":33517,"isOffset":false,"isSlot":false,"src":"66414:2:22","valueSize":1},{"declaration":33520,"isOffset":false,"isSlot":false,"src":"66444:2:22","valueSize":1},{"declaration":33523,"isOffset":false,"isSlot":false,"src":"66474:2:22","valueSize":1},{"declaration":33526,"isOffset":false,"isSlot":false,"src":"66504:2:22","valueSize":1},{"declaration":33503,"isOffset":false,"isSlot":false,"src":"66642:2:22","valueSize":1},{"declaration":33505,"isOffset":false,"isSlot":false,"src":"66736:2:22","valueSize":1},{"declaration":33507,"isOffset":false,"isSlot":false,"src":"66702:2:22","valueSize":1}],"id":33528,"nodeType":"InlineAssembly","src":"65976:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66774:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66780:4:22","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":33529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"66758:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66758:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33533,"nodeType":"ExpressionStatement","src":"66758:27:22"},{"AST":{"nativeSrc":"66847:185:22","nodeType":"YulBlock","src":"66847:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"66868:4:22","nodeType":"YulLiteral","src":"66868:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"66874:2:22","nodeType":"YulIdentifier","src":"66874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66861:6:22","nodeType":"YulIdentifier","src":"66861:6:22"},"nativeSrc":"66861:16:22","nodeType":"YulFunctionCall","src":"66861:16:22"},"nativeSrc":"66861:16:22","nodeType":"YulExpressionStatement","src":"66861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66897:4:22","nodeType":"YulLiteral","src":"66897:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"66903:2:22","nodeType":"YulIdentifier","src":"66903:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66890:6:22","nodeType":"YulIdentifier","src":"66890:6:22"},"nativeSrc":"66890:16:22","nodeType":"YulFunctionCall","src":"66890:16:22"},"nativeSrc":"66890:16:22","nodeType":"YulExpressionStatement","src":"66890:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66926:4:22","nodeType":"YulLiteral","src":"66926:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"66932:2:22","nodeType":"YulIdentifier","src":"66932:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66919:6:22","nodeType":"YulIdentifier","src":"66919:6:22"},"nativeSrc":"66919:16:22","nodeType":"YulFunctionCall","src":"66919:16:22"},"nativeSrc":"66919:16:22","nodeType":"YulExpressionStatement","src":"66919:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66955:4:22","nodeType":"YulLiteral","src":"66955:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"66961:2:22","nodeType":"YulIdentifier","src":"66961:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66948:6:22","nodeType":"YulIdentifier","src":"66948:6:22"},"nativeSrc":"66948:16:22","nodeType":"YulFunctionCall","src":"66948:16:22"},"nativeSrc":"66948:16:22","nodeType":"YulExpressionStatement","src":"66948:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66984:4:22","nodeType":"YulLiteral","src":"66984:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"66990:2:22","nodeType":"YulIdentifier","src":"66990:2:22"}],"functionName":{"name":"mstore","nativeSrc":"66977:6:22","nodeType":"YulIdentifier","src":"66977:6:22"},"nativeSrc":"66977:16:22","nodeType":"YulFunctionCall","src":"66977:16:22"},"nativeSrc":"66977:16:22","nodeType":"YulExpressionStatement","src":"66977:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"67013:4:22","nodeType":"YulLiteral","src":"67013:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"67019:2:22","nodeType":"YulIdentifier","src":"67019:2:22"}],"functionName":{"name":"mstore","nativeSrc":"67006:6:22","nodeType":"YulIdentifier","src":"67006:6:22"},"nativeSrc":"67006:16:22","nodeType":"YulFunctionCall","src":"67006:16:22"},"nativeSrc":"67006:16:22","nodeType":"YulExpressionStatement","src":"67006:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33511,"isOffset":false,"isSlot":false,"src":"66874:2:22","valueSize":1},{"declaration":33514,"isOffset":false,"isSlot":false,"src":"66903:2:22","valueSize":1},{"declaration":33517,"isOffset":false,"isSlot":false,"src":"66932:2:22","valueSize":1},{"declaration":33520,"isOffset":false,"isSlot":false,"src":"66961:2:22","valueSize":1},{"declaration":33523,"isOffset":false,"isSlot":false,"src":"66990:2:22","valueSize":1},{"declaration":33526,"isOffset":false,"isSlot":false,"src":"67019:2:22","valueSize":1}],"id":33534,"nodeType":"InlineAssembly","src":"66838:194:22"}]},"id":33536,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65749:3:22","nodeType":"FunctionDefinition","parameters":{"id":33508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33503,"mutability":"mutable","name":"p0","nameLocation":"65761:2:22","nodeType":"VariableDeclaration","scope":33536,"src":"65753:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33502,"name":"uint256","nodeType":"ElementaryTypeName","src":"65753:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33505,"mutability":"mutable","name":"p1","nameLocation":"65773:2:22","nodeType":"VariableDeclaration","scope":33536,"src":"65765:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65765:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33507,"mutability":"mutable","name":"p2","nameLocation":"65785:2:22","nodeType":"VariableDeclaration","scope":33536,"src":"65777:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33506,"name":"uint256","nodeType":"ElementaryTypeName","src":"65777:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65752:36:22"},"returnParameters":{"id":33509,"nodeType":"ParameterList","parameters":[],"src":"65803:0:22"},"scope":44426,"src":"65740:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33576,"nodeType":"Block","src":"67107:1428:22","statements":[{"assignments":[33546],"declarations":[{"constant":false,"id":33546,"mutability":"mutable","name":"m0","nameLocation":"67125:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67117:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67117:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33547,"nodeType":"VariableDeclarationStatement","src":"67117:10:22"},{"assignments":[33549],"declarations":[{"constant":false,"id":33549,"mutability":"mutable","name":"m1","nameLocation":"67145:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67137:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67137:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33550,"nodeType":"VariableDeclarationStatement","src":"67137:10:22"},{"assignments":[33552],"declarations":[{"constant":false,"id":33552,"mutability":"mutable","name":"m2","nameLocation":"67165:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67157:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67157:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33553,"nodeType":"VariableDeclarationStatement","src":"67157:10:22"},{"assignments":[33555],"declarations":[{"constant":false,"id":33555,"mutability":"mutable","name":"m3","nameLocation":"67185:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67177:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67177:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33556,"nodeType":"VariableDeclarationStatement","src":"67177:10:22"},{"assignments":[33558],"declarations":[{"constant":false,"id":33558,"mutability":"mutable","name":"m4","nameLocation":"67205:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67197:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67197:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33559,"nodeType":"VariableDeclarationStatement","src":"67197:10:22"},{"assignments":[33561],"declarations":[{"constant":false,"id":33561,"mutability":"mutable","name":"m5","nameLocation":"67225:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67217:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67217:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33562,"nodeType":"VariableDeclarationStatement","src":"67217:10:22"},{"assignments":[33564],"declarations":[{"constant":false,"id":33564,"mutability":"mutable","name":"m6","nameLocation":"67245:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67237:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67237:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33565,"nodeType":"VariableDeclarationStatement","src":"67237:10:22"},{"assignments":[33567],"declarations":[{"constant":false,"id":33567,"mutability":"mutable","name":"m7","nameLocation":"67265:2:22","nodeType":"VariableDeclaration","scope":33576,"src":"67257:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67257:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33568,"nodeType":"VariableDeclarationStatement","src":"67257:10:22"},{"AST":{"nativeSrc":"67329:859:22","nodeType":"YulBlock","src":"67329:859:22","statements":[{"body":{"nativeSrc":"67372:313:22","nodeType":"YulBlock","src":"67372:313:22","statements":[{"nativeSrc":"67390:15:22","nodeType":"YulVariableDeclaration","src":"67390:15:22","value":{"kind":"number","nativeSrc":"67404:1:22","nodeType":"YulLiteral","src":"67404:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"67394:6:22","nodeType":"YulTypedName","src":"67394:6:22","type":""}]},{"body":{"nativeSrc":"67475:40:22","nodeType":"YulBlock","src":"67475:40:22","statements":[{"body":{"nativeSrc":"67504:9:22","nodeType":"YulBlock","src":"67504:9:22","statements":[{"nativeSrc":"67506:5:22","nodeType":"YulBreak","src":"67506:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"67492:6:22","nodeType":"YulIdentifier","src":"67492:6:22"},{"name":"w","nativeSrc":"67500:1:22","nodeType":"YulIdentifier","src":"67500:1:22"}],"functionName":{"name":"byte","nativeSrc":"67487:4:22","nodeType":"YulIdentifier","src":"67487:4:22"},"nativeSrc":"67487:15:22","nodeType":"YulFunctionCall","src":"67487:15:22"}],"functionName":{"name":"iszero","nativeSrc":"67480:6:22","nodeType":"YulIdentifier","src":"67480:6:22"},"nativeSrc":"67480:23:22","nodeType":"YulFunctionCall","src":"67480:23:22"},"nativeSrc":"67477:36:22","nodeType":"YulIf","src":"67477:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"67432:6:22","nodeType":"YulIdentifier","src":"67432:6:22"},{"kind":"number","nativeSrc":"67440:4:22","nodeType":"YulLiteral","src":"67440:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"67429:2:22","nodeType":"YulIdentifier","src":"67429:2:22"},"nativeSrc":"67429:16:22","nodeType":"YulFunctionCall","src":"67429:16:22"},"nativeSrc":"67422:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"67446:28:22","nodeType":"YulBlock","src":"67446:28:22","statements":[{"nativeSrc":"67448:24:22","nodeType":"YulAssignment","src":"67448:24:22","value":{"arguments":[{"name":"length","nativeSrc":"67462:6:22","nodeType":"YulIdentifier","src":"67462:6:22"},{"kind":"number","nativeSrc":"67470:1:22","nodeType":"YulLiteral","src":"67470:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"67458:3:22","nodeType":"YulIdentifier","src":"67458:3:22"},"nativeSrc":"67458:14:22","nodeType":"YulFunctionCall","src":"67458:14:22"},"variableNames":[{"name":"length","nativeSrc":"67448:6:22","nodeType":"YulIdentifier","src":"67448:6:22"}]}]},"pre":{"nativeSrc":"67426:2:22","nodeType":"YulBlock","src":"67426:2:22","statements":[]},"src":"67422:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"67539:3:22","nodeType":"YulIdentifier","src":"67539:3:22"},{"name":"length","nativeSrc":"67544:6:22","nodeType":"YulIdentifier","src":"67544:6:22"}],"functionName":{"name":"mstore","nativeSrc":"67532:6:22","nodeType":"YulIdentifier","src":"67532:6:22"},"nativeSrc":"67532:19:22","nodeType":"YulFunctionCall","src":"67532:19:22"},"nativeSrc":"67532:19:22","nodeType":"YulExpressionStatement","src":"67532:19:22"},{"nativeSrc":"67568:37:22","nodeType":"YulVariableDeclaration","src":"67568:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"67585:3:22","nodeType":"YulLiteral","src":"67585:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"67594:1:22","nodeType":"YulLiteral","src":"67594:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"67597:6:22","nodeType":"YulIdentifier","src":"67597:6:22"}],"functionName":{"name":"shl","nativeSrc":"67590:3:22","nodeType":"YulIdentifier","src":"67590:3:22"},"nativeSrc":"67590:14:22","nodeType":"YulFunctionCall","src":"67590:14:22"}],"functionName":{"name":"sub","nativeSrc":"67581:3:22","nodeType":"YulIdentifier","src":"67581:3:22"},"nativeSrc":"67581:24:22","nodeType":"YulFunctionCall","src":"67581:24:22"},"variables":[{"name":"shift","nativeSrc":"67572:5:22","nodeType":"YulTypedName","src":"67572:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"67633:3:22","nodeType":"YulIdentifier","src":"67633:3:22"},{"kind":"number","nativeSrc":"67638:4:22","nodeType":"YulLiteral","src":"67638:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"67629:3:22","nodeType":"YulIdentifier","src":"67629:3:22"},"nativeSrc":"67629:14:22","nodeType":"YulFunctionCall","src":"67629:14:22"},{"arguments":[{"name":"shift","nativeSrc":"67649:5:22","nodeType":"YulIdentifier","src":"67649:5:22"},{"arguments":[{"name":"shift","nativeSrc":"67660:5:22","nodeType":"YulIdentifier","src":"67660:5:22"},{"name":"w","nativeSrc":"67667:1:22","nodeType":"YulIdentifier","src":"67667:1:22"}],"functionName":{"name":"shr","nativeSrc":"67656:3:22","nodeType":"YulIdentifier","src":"67656:3:22"},"nativeSrc":"67656:13:22","nodeType":"YulFunctionCall","src":"67656:13:22"}],"functionName":{"name":"shl","nativeSrc":"67645:3:22","nodeType":"YulIdentifier","src":"67645:3:22"},"nativeSrc":"67645:25:22","nodeType":"YulFunctionCall","src":"67645:25:22"}],"functionName":{"name":"mstore","nativeSrc":"67622:6:22","nodeType":"YulIdentifier","src":"67622:6:22"},"nativeSrc":"67622:49:22","nodeType":"YulFunctionCall","src":"67622:49:22"},"nativeSrc":"67622:49:22","nodeType":"YulExpressionStatement","src":"67622:49:22"}]},"name":"writeString","nativeSrc":"67343:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"67364:3:22","nodeType":"YulTypedName","src":"67364:3:22","type":""},{"name":"w","nativeSrc":"67369:1:22","nodeType":"YulTypedName","src":"67369:1:22","type":""}],"src":"67343:342:22"},{"nativeSrc":"67698:17:22","nodeType":"YulAssignment","src":"67698:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67710:4:22","nodeType":"YulLiteral","src":"67710:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"67704:5:22","nodeType":"YulIdentifier","src":"67704:5:22"},"nativeSrc":"67704:11:22","nodeType":"YulFunctionCall","src":"67704:11:22"},"variableNames":[{"name":"m0","nativeSrc":"67698:2:22","nodeType":"YulIdentifier","src":"67698:2:22"}]},{"nativeSrc":"67728:17:22","nodeType":"YulAssignment","src":"67728:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67740:4:22","nodeType":"YulLiteral","src":"67740:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"67734:5:22","nodeType":"YulIdentifier","src":"67734:5:22"},"nativeSrc":"67734:11:22","nodeType":"YulFunctionCall","src":"67734:11:22"},"variableNames":[{"name":"m1","nativeSrc":"67728:2:22","nodeType":"YulIdentifier","src":"67728:2:22"}]},{"nativeSrc":"67758:17:22","nodeType":"YulAssignment","src":"67758:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67770:4:22","nodeType":"YulLiteral","src":"67770:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"67764:5:22","nodeType":"YulIdentifier","src":"67764:5:22"},"nativeSrc":"67764:11:22","nodeType":"YulFunctionCall","src":"67764:11:22"},"variableNames":[{"name":"m2","nativeSrc":"67758:2:22","nodeType":"YulIdentifier","src":"67758:2:22"}]},{"nativeSrc":"67788:17:22","nodeType":"YulAssignment","src":"67788:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67800:4:22","nodeType":"YulLiteral","src":"67800:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"67794:5:22","nodeType":"YulIdentifier","src":"67794:5:22"},"nativeSrc":"67794:11:22","nodeType":"YulFunctionCall","src":"67794:11:22"},"variableNames":[{"name":"m3","nativeSrc":"67788:2:22","nodeType":"YulIdentifier","src":"67788:2:22"}]},{"nativeSrc":"67818:17:22","nodeType":"YulAssignment","src":"67818:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67830:4:22","nodeType":"YulLiteral","src":"67830:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"67824:5:22","nodeType":"YulIdentifier","src":"67824:5:22"},"nativeSrc":"67824:11:22","nodeType":"YulFunctionCall","src":"67824:11:22"},"variableNames":[{"name":"m4","nativeSrc":"67818:2:22","nodeType":"YulIdentifier","src":"67818:2:22"}]},{"nativeSrc":"67848:17:22","nodeType":"YulAssignment","src":"67848:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67860:4:22","nodeType":"YulLiteral","src":"67860:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"67854:5:22","nodeType":"YulIdentifier","src":"67854:5:22"},"nativeSrc":"67854:11:22","nodeType":"YulFunctionCall","src":"67854:11:22"},"variableNames":[{"name":"m5","nativeSrc":"67848:2:22","nodeType":"YulIdentifier","src":"67848:2:22"}]},{"nativeSrc":"67878:17:22","nodeType":"YulAssignment","src":"67878:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67890:4:22","nodeType":"YulLiteral","src":"67890:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"67884:5:22","nodeType":"YulIdentifier","src":"67884:5:22"},"nativeSrc":"67884:11:22","nodeType":"YulFunctionCall","src":"67884:11:22"},"variableNames":[{"name":"m6","nativeSrc":"67878:2:22","nodeType":"YulIdentifier","src":"67878:2:22"}]},{"nativeSrc":"67908:17:22","nodeType":"YulAssignment","src":"67908:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"67920:4:22","nodeType":"YulLiteral","src":"67920:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"67914:5:22","nodeType":"YulIdentifier","src":"67914:5:22"},"nativeSrc":"67914:11:22","nodeType":"YulFunctionCall","src":"67914:11:22"},"variableNames":[{"name":"m7","nativeSrc":"67908:2:22","nodeType":"YulIdentifier","src":"67908:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68002:4:22","nodeType":"YulLiteral","src":"68002:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"68008:10:22","nodeType":"YulLiteral","src":"68008:10:22","type":"","value":"0xb115611f"}],"functionName":{"name":"mstore","nativeSrc":"67995:6:22","nodeType":"YulIdentifier","src":"67995:6:22"},"nativeSrc":"67995:24:22","nodeType":"YulFunctionCall","src":"67995:24:22"},"nativeSrc":"67995:24:22","nodeType":"YulExpressionStatement","src":"67995:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68039:4:22","nodeType":"YulLiteral","src":"68039:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"68045:2:22","nodeType":"YulIdentifier","src":"68045:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68032:6:22","nodeType":"YulIdentifier","src":"68032:6:22"},"nativeSrc":"68032:16:22","nodeType":"YulFunctionCall","src":"68032:16:22"},"nativeSrc":"68032:16:22","nodeType":"YulExpressionStatement","src":"68032:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68068:4:22","nodeType":"YulLiteral","src":"68068:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"68074:4:22","nodeType":"YulLiteral","src":"68074:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"68061:6:22","nodeType":"YulIdentifier","src":"68061:6:22"},"nativeSrc":"68061:18:22","nodeType":"YulFunctionCall","src":"68061:18:22"},"nativeSrc":"68061:18:22","nodeType":"YulExpressionStatement","src":"68061:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68099:4:22","nodeType":"YulLiteral","src":"68099:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"68105:4:22","nodeType":"YulLiteral","src":"68105:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"68092:6:22","nodeType":"YulIdentifier","src":"68092:6:22"},"nativeSrc":"68092:18:22","nodeType":"YulFunctionCall","src":"68092:18:22"},"nativeSrc":"68092:18:22","nodeType":"YulExpressionStatement","src":"68092:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68135:4:22","nodeType":"YulLiteral","src":"68135:4:22","type":"","value":"0x80"},{"name":"p1","nativeSrc":"68141:2:22","nodeType":"YulIdentifier","src":"68141:2:22"}],"functionName":{"name":"writeString","nativeSrc":"68123:11:22","nodeType":"YulIdentifier","src":"68123:11:22"},"nativeSrc":"68123:21:22","nodeType":"YulFunctionCall","src":"68123:21:22"},"nativeSrc":"68123:21:22","nodeType":"YulExpressionStatement","src":"68123:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68169:4:22","nodeType":"YulLiteral","src":"68169:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"68175:2:22","nodeType":"YulIdentifier","src":"68175:2:22"}],"functionName":{"name":"writeString","nativeSrc":"68157:11:22","nodeType":"YulIdentifier","src":"68157:11:22"},"nativeSrc":"68157:21:22","nodeType":"YulFunctionCall","src":"68157:21:22"},"nativeSrc":"68157:21:22","nodeType":"YulExpressionStatement","src":"68157:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33546,"isOffset":false,"isSlot":false,"src":"67698:2:22","valueSize":1},{"declaration":33549,"isOffset":false,"isSlot":false,"src":"67728:2:22","valueSize":1},{"declaration":33552,"isOffset":false,"isSlot":false,"src":"67758:2:22","valueSize":1},{"declaration":33555,"isOffset":false,"isSlot":false,"src":"67788:2:22","valueSize":1},{"declaration":33558,"isOffset":false,"isSlot":false,"src":"67818:2:22","valueSize":1},{"declaration":33561,"isOffset":false,"isSlot":false,"src":"67848:2:22","valueSize":1},{"declaration":33564,"isOffset":false,"isSlot":false,"src":"67878:2:22","valueSize":1},{"declaration":33567,"isOffset":false,"isSlot":false,"src":"67908:2:22","valueSize":1},{"declaration":33538,"isOffset":false,"isSlot":false,"src":"68045:2:22","valueSize":1},{"declaration":33540,"isOffset":false,"isSlot":false,"src":"68141:2:22","valueSize":1},{"declaration":33542,"isOffset":false,"isSlot":false,"src":"68175:2:22","valueSize":1}],"id":33569,"nodeType":"InlineAssembly","src":"67320:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68213:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":33572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68219:4:22","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":33570,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"68197:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68197:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33574,"nodeType":"ExpressionStatement","src":"68197:27:22"},{"AST":{"nativeSrc":"68286:243:22","nodeType":"YulBlock","src":"68286:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"68307:4:22","nodeType":"YulLiteral","src":"68307:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"68313:2:22","nodeType":"YulIdentifier","src":"68313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68300:6:22","nodeType":"YulIdentifier","src":"68300:6:22"},"nativeSrc":"68300:16:22","nodeType":"YulFunctionCall","src":"68300:16:22"},"nativeSrc":"68300:16:22","nodeType":"YulExpressionStatement","src":"68300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68336:4:22","nodeType":"YulLiteral","src":"68336:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"68342:2:22","nodeType":"YulIdentifier","src":"68342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68329:6:22","nodeType":"YulIdentifier","src":"68329:6:22"},"nativeSrc":"68329:16:22","nodeType":"YulFunctionCall","src":"68329:16:22"},"nativeSrc":"68329:16:22","nodeType":"YulExpressionStatement","src":"68329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68365:4:22","nodeType":"YulLiteral","src":"68365:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"68371:2:22","nodeType":"YulIdentifier","src":"68371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68358:6:22","nodeType":"YulIdentifier","src":"68358:6:22"},"nativeSrc":"68358:16:22","nodeType":"YulFunctionCall","src":"68358:16:22"},"nativeSrc":"68358:16:22","nodeType":"YulExpressionStatement","src":"68358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68394:4:22","nodeType":"YulLiteral","src":"68394:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"68400:2:22","nodeType":"YulIdentifier","src":"68400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68387:6:22","nodeType":"YulIdentifier","src":"68387:6:22"},"nativeSrc":"68387:16:22","nodeType":"YulFunctionCall","src":"68387:16:22"},"nativeSrc":"68387:16:22","nodeType":"YulExpressionStatement","src":"68387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68423:4:22","nodeType":"YulLiteral","src":"68423:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"68429:2:22","nodeType":"YulIdentifier","src":"68429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68416:6:22","nodeType":"YulIdentifier","src":"68416:6:22"},"nativeSrc":"68416:16:22","nodeType":"YulFunctionCall","src":"68416:16:22"},"nativeSrc":"68416:16:22","nodeType":"YulExpressionStatement","src":"68416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68452:4:22","nodeType":"YulLiteral","src":"68452:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"68458:2:22","nodeType":"YulIdentifier","src":"68458:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68445:6:22","nodeType":"YulIdentifier","src":"68445:6:22"},"nativeSrc":"68445:16:22","nodeType":"YulFunctionCall","src":"68445:16:22"},"nativeSrc":"68445:16:22","nodeType":"YulExpressionStatement","src":"68445:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68481:4:22","nodeType":"YulLiteral","src":"68481:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"68487:2:22","nodeType":"YulIdentifier","src":"68487:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68474:6:22","nodeType":"YulIdentifier","src":"68474:6:22"},"nativeSrc":"68474:16:22","nodeType":"YulFunctionCall","src":"68474:16:22"},"nativeSrc":"68474:16:22","nodeType":"YulExpressionStatement","src":"68474:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68510:4:22","nodeType":"YulLiteral","src":"68510:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"68516:2:22","nodeType":"YulIdentifier","src":"68516:2:22"}],"functionName":{"name":"mstore","nativeSrc":"68503:6:22","nodeType":"YulIdentifier","src":"68503:6:22"},"nativeSrc":"68503:16:22","nodeType":"YulFunctionCall","src":"68503:16:22"},"nativeSrc":"68503:16:22","nodeType":"YulExpressionStatement","src":"68503:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33546,"isOffset":false,"isSlot":false,"src":"68313:2:22","valueSize":1},{"declaration":33549,"isOffset":false,"isSlot":false,"src":"68342:2:22","valueSize":1},{"declaration":33552,"isOffset":false,"isSlot":false,"src":"68371:2:22","valueSize":1},{"declaration":33555,"isOffset":false,"isSlot":false,"src":"68400:2:22","valueSize":1},{"declaration":33558,"isOffset":false,"isSlot":false,"src":"68429:2:22","valueSize":1},{"declaration":33561,"isOffset":false,"isSlot":false,"src":"68458:2:22","valueSize":1},{"declaration":33564,"isOffset":false,"isSlot":false,"src":"68487:2:22","valueSize":1},{"declaration":33567,"isOffset":false,"isSlot":false,"src":"68516:2:22","valueSize":1}],"id":33575,"nodeType":"InlineAssembly","src":"68277:252:22"}]},"id":33577,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67053:3:22","nodeType":"FunctionDefinition","parameters":{"id":33543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33538,"mutability":"mutable","name":"p0","nameLocation":"67065:2:22","nodeType":"VariableDeclaration","scope":33577,"src":"67057:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33537,"name":"uint256","nodeType":"ElementaryTypeName","src":"67057:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33540,"mutability":"mutable","name":"p1","nameLocation":"67077:2:22","nodeType":"VariableDeclaration","scope":33577,"src":"67069:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67069:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33542,"mutability":"mutable","name":"p2","nameLocation":"67089:2:22","nodeType":"VariableDeclaration","scope":33577,"src":"67081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67081:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67056:36:22"},"returnParameters":{"id":33544,"nodeType":"ParameterList","parameters":[],"src":"67107:0:22"},"scope":44426,"src":"67044:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33611,"nodeType":"Block","src":"68604:1235:22","statements":[{"assignments":[33587],"declarations":[{"constant":false,"id":33587,"mutability":"mutable","name":"m0","nameLocation":"68622:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68614:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68614:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33588,"nodeType":"VariableDeclarationStatement","src":"68614:10:22"},{"assignments":[33590],"declarations":[{"constant":false,"id":33590,"mutability":"mutable","name":"m1","nameLocation":"68642:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68634:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33591,"nodeType":"VariableDeclarationStatement","src":"68634:10:22"},{"assignments":[33593],"declarations":[{"constant":false,"id":33593,"mutability":"mutable","name":"m2","nameLocation":"68662:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68654:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68654:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33594,"nodeType":"VariableDeclarationStatement","src":"68654:10:22"},{"assignments":[33596],"declarations":[{"constant":false,"id":33596,"mutability":"mutable","name":"m3","nameLocation":"68682:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68674:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68674:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33597,"nodeType":"VariableDeclarationStatement","src":"68674:10:22"},{"assignments":[33599],"declarations":[{"constant":false,"id":33599,"mutability":"mutable","name":"m4","nameLocation":"68702:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68694:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33600,"nodeType":"VariableDeclarationStatement","src":"68694:10:22"},{"assignments":[33602],"declarations":[{"constant":false,"id":33602,"mutability":"mutable","name":"m5","nameLocation":"68722:2:22","nodeType":"VariableDeclaration","scope":33611,"src":"68714:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68714:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33603,"nodeType":"VariableDeclarationStatement","src":"68714:10:22"},{"AST":{"nativeSrc":"68786:764:22","nodeType":"YulBlock","src":"68786:764:22","statements":[{"body":{"nativeSrc":"68829:313:22","nodeType":"YulBlock","src":"68829:313:22","statements":[{"nativeSrc":"68847:15:22","nodeType":"YulVariableDeclaration","src":"68847:15:22","value":{"kind":"number","nativeSrc":"68861:1:22","nodeType":"YulLiteral","src":"68861:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"68851:6:22","nodeType":"YulTypedName","src":"68851:6:22","type":""}]},{"body":{"nativeSrc":"68932:40:22","nodeType":"YulBlock","src":"68932:40:22","statements":[{"body":{"nativeSrc":"68961:9:22","nodeType":"YulBlock","src":"68961:9:22","statements":[{"nativeSrc":"68963:5:22","nodeType":"YulBreak","src":"68963:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"68949:6:22","nodeType":"YulIdentifier","src":"68949:6:22"},{"name":"w","nativeSrc":"68957:1:22","nodeType":"YulIdentifier","src":"68957:1:22"}],"functionName":{"name":"byte","nativeSrc":"68944:4:22","nodeType":"YulIdentifier","src":"68944:4:22"},"nativeSrc":"68944:15:22","nodeType":"YulFunctionCall","src":"68944:15:22"}],"functionName":{"name":"iszero","nativeSrc":"68937:6:22","nodeType":"YulIdentifier","src":"68937:6:22"},"nativeSrc":"68937:23:22","nodeType":"YulFunctionCall","src":"68937:23:22"},"nativeSrc":"68934:36:22","nodeType":"YulIf","src":"68934:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"68889:6:22","nodeType":"YulIdentifier","src":"68889:6:22"},{"kind":"number","nativeSrc":"68897:4:22","nodeType":"YulLiteral","src":"68897:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"68886:2:22","nodeType":"YulIdentifier","src":"68886:2:22"},"nativeSrc":"68886:16:22","nodeType":"YulFunctionCall","src":"68886:16:22"},"nativeSrc":"68879:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"68903:28:22","nodeType":"YulBlock","src":"68903:28:22","statements":[{"nativeSrc":"68905:24:22","nodeType":"YulAssignment","src":"68905:24:22","value":{"arguments":[{"name":"length","nativeSrc":"68919:6:22","nodeType":"YulIdentifier","src":"68919:6:22"},{"kind":"number","nativeSrc":"68927:1:22","nodeType":"YulLiteral","src":"68927:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"68915:3:22","nodeType":"YulIdentifier","src":"68915:3:22"},"nativeSrc":"68915:14:22","nodeType":"YulFunctionCall","src":"68915:14:22"},"variableNames":[{"name":"length","nativeSrc":"68905:6:22","nodeType":"YulIdentifier","src":"68905:6:22"}]}]},"pre":{"nativeSrc":"68883:2:22","nodeType":"YulBlock","src":"68883:2:22","statements":[]},"src":"68879:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"68996:3:22","nodeType":"YulIdentifier","src":"68996:3:22"},{"name":"length","nativeSrc":"69001:6:22","nodeType":"YulIdentifier","src":"69001:6:22"}],"functionName":{"name":"mstore","nativeSrc":"68989:6:22","nodeType":"YulIdentifier","src":"68989:6:22"},"nativeSrc":"68989:19:22","nodeType":"YulFunctionCall","src":"68989:19:22"},"nativeSrc":"68989:19:22","nodeType":"YulExpressionStatement","src":"68989:19:22"},{"nativeSrc":"69025:37:22","nodeType":"YulVariableDeclaration","src":"69025:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"69042:3:22","nodeType":"YulLiteral","src":"69042:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"69051:1:22","nodeType":"YulLiteral","src":"69051:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"69054:6:22","nodeType":"YulIdentifier","src":"69054:6:22"}],"functionName":{"name":"shl","nativeSrc":"69047:3:22","nodeType":"YulIdentifier","src":"69047:3:22"},"nativeSrc":"69047:14:22","nodeType":"YulFunctionCall","src":"69047:14:22"}],"functionName":{"name":"sub","nativeSrc":"69038:3:22","nodeType":"YulIdentifier","src":"69038:3:22"},"nativeSrc":"69038:24:22","nodeType":"YulFunctionCall","src":"69038:24:22"},"variables":[{"name":"shift","nativeSrc":"69029:5:22","nodeType":"YulTypedName","src":"69029:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"69090:3:22","nodeType":"YulIdentifier","src":"69090:3:22"},{"kind":"number","nativeSrc":"69095:4:22","nodeType":"YulLiteral","src":"69095:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"69086:3:22","nodeType":"YulIdentifier","src":"69086:3:22"},"nativeSrc":"69086:14:22","nodeType":"YulFunctionCall","src":"69086:14:22"},{"arguments":[{"name":"shift","nativeSrc":"69106:5:22","nodeType":"YulIdentifier","src":"69106:5:22"},{"arguments":[{"name":"shift","nativeSrc":"69117:5:22","nodeType":"YulIdentifier","src":"69117:5:22"},{"name":"w","nativeSrc":"69124:1:22","nodeType":"YulIdentifier","src":"69124:1:22"}],"functionName":{"name":"shr","nativeSrc":"69113:3:22","nodeType":"YulIdentifier","src":"69113:3:22"},"nativeSrc":"69113:13:22","nodeType":"YulFunctionCall","src":"69113:13:22"}],"functionName":{"name":"shl","nativeSrc":"69102:3:22","nodeType":"YulIdentifier","src":"69102:3:22"},"nativeSrc":"69102:25:22","nodeType":"YulFunctionCall","src":"69102:25:22"}],"functionName":{"name":"mstore","nativeSrc":"69079:6:22","nodeType":"YulIdentifier","src":"69079:6:22"},"nativeSrc":"69079:49:22","nodeType":"YulFunctionCall","src":"69079:49:22"},"nativeSrc":"69079:49:22","nodeType":"YulExpressionStatement","src":"69079:49:22"}]},"name":"writeString","nativeSrc":"68800:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"68821:3:22","nodeType":"YulTypedName","src":"68821:3:22","type":""},{"name":"w","nativeSrc":"68826:1:22","nodeType":"YulTypedName","src":"68826:1:22","type":""}],"src":"68800:342:22"},{"nativeSrc":"69155:17:22","nodeType":"YulAssignment","src":"69155:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69167:4:22","nodeType":"YulLiteral","src":"69167:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"69161:5:22","nodeType":"YulIdentifier","src":"69161:5:22"},"nativeSrc":"69161:11:22","nodeType":"YulFunctionCall","src":"69161:11:22"},"variableNames":[{"name":"m0","nativeSrc":"69155:2:22","nodeType":"YulIdentifier","src":"69155:2:22"}]},{"nativeSrc":"69185:17:22","nodeType":"YulAssignment","src":"69185:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69197:4:22","nodeType":"YulLiteral","src":"69197:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"69191:5:22","nodeType":"YulIdentifier","src":"69191:5:22"},"nativeSrc":"69191:11:22","nodeType":"YulFunctionCall","src":"69191:11:22"},"variableNames":[{"name":"m1","nativeSrc":"69185:2:22","nodeType":"YulIdentifier","src":"69185:2:22"}]},{"nativeSrc":"69215:17:22","nodeType":"YulAssignment","src":"69215:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69227:4:22","nodeType":"YulLiteral","src":"69227:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"69221:5:22","nodeType":"YulIdentifier","src":"69221:5:22"},"nativeSrc":"69221:11:22","nodeType":"YulFunctionCall","src":"69221:11:22"},"variableNames":[{"name":"m2","nativeSrc":"69215:2:22","nodeType":"YulIdentifier","src":"69215:2:22"}]},{"nativeSrc":"69245:17:22","nodeType":"YulAssignment","src":"69245:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69257:4:22","nodeType":"YulLiteral","src":"69257:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"69251:5:22","nodeType":"YulIdentifier","src":"69251:5:22"},"nativeSrc":"69251:11:22","nodeType":"YulFunctionCall","src":"69251:11:22"},"variableNames":[{"name":"m3","nativeSrc":"69245:2:22","nodeType":"YulIdentifier","src":"69245:2:22"}]},{"nativeSrc":"69275:17:22","nodeType":"YulAssignment","src":"69275:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69287:4:22","nodeType":"YulLiteral","src":"69287:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"69281:5:22","nodeType":"YulIdentifier","src":"69281:5:22"},"nativeSrc":"69281:11:22","nodeType":"YulFunctionCall","src":"69281:11:22"},"variableNames":[{"name":"m4","nativeSrc":"69275:2:22","nodeType":"YulIdentifier","src":"69275:2:22"}]},{"nativeSrc":"69305:17:22","nodeType":"YulAssignment","src":"69305:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"69317:4:22","nodeType":"YulLiteral","src":"69317:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"69311:5:22","nodeType":"YulIdentifier","src":"69311:5:22"},"nativeSrc":"69311:11:22","nodeType":"YulFunctionCall","src":"69311:11:22"},"variableNames":[{"name":"m5","nativeSrc":"69305:2:22","nodeType":"YulIdentifier","src":"69305:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69400:4:22","nodeType":"YulLiteral","src":"69400:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"69406:10:22","nodeType":"YulLiteral","src":"69406:10:22","type":"","value":"0xfcec75e0"}],"functionName":{"name":"mstore","nativeSrc":"69393:6:22","nodeType":"YulIdentifier","src":"69393:6:22"},"nativeSrc":"69393:24:22","nodeType":"YulFunctionCall","src":"69393:24:22"},"nativeSrc":"69393:24:22","nodeType":"YulExpressionStatement","src":"69393:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69437:4:22","nodeType":"YulLiteral","src":"69437:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"69443:4:22","nodeType":"YulLiteral","src":"69443:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"69430:6:22","nodeType":"YulIdentifier","src":"69430:6:22"},"nativeSrc":"69430:18:22","nodeType":"YulFunctionCall","src":"69430:18:22"},"nativeSrc":"69430:18:22","nodeType":"YulExpressionStatement","src":"69430:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69468:4:22","nodeType":"YulLiteral","src":"69468:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"69474:2:22","nodeType":"YulIdentifier","src":"69474:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69461:6:22","nodeType":"YulIdentifier","src":"69461:6:22"},"nativeSrc":"69461:16:22","nodeType":"YulFunctionCall","src":"69461:16:22"},"nativeSrc":"69461:16:22","nodeType":"YulExpressionStatement","src":"69461:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69497:4:22","nodeType":"YulLiteral","src":"69497:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"69503:2:22","nodeType":"YulIdentifier","src":"69503:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69490:6:22","nodeType":"YulIdentifier","src":"69490:6:22"},"nativeSrc":"69490:16:22","nodeType":"YulFunctionCall","src":"69490:16:22"},"nativeSrc":"69490:16:22","nodeType":"YulExpressionStatement","src":"69490:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69531:4:22","nodeType":"YulLiteral","src":"69531:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"69537:2:22","nodeType":"YulIdentifier","src":"69537:2:22"}],"functionName":{"name":"writeString","nativeSrc":"69519:11:22","nodeType":"YulIdentifier","src":"69519:11:22"},"nativeSrc":"69519:21:22","nodeType":"YulFunctionCall","src":"69519:21:22"},"nativeSrc":"69519:21:22","nodeType":"YulExpressionStatement","src":"69519:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33587,"isOffset":false,"isSlot":false,"src":"69155:2:22","valueSize":1},{"declaration":33590,"isOffset":false,"isSlot":false,"src":"69185:2:22","valueSize":1},{"declaration":33593,"isOffset":false,"isSlot":false,"src":"69215:2:22","valueSize":1},{"declaration":33596,"isOffset":false,"isSlot":false,"src":"69245:2:22","valueSize":1},{"declaration":33599,"isOffset":false,"isSlot":false,"src":"69275:2:22","valueSize":1},{"declaration":33602,"isOffset":false,"isSlot":false,"src":"69305:2:22","valueSize":1},{"declaration":33579,"isOffset":false,"isSlot":false,"src":"69537:2:22","valueSize":1},{"declaration":33581,"isOffset":false,"isSlot":false,"src":"69474:2:22","valueSize":1},{"declaration":33583,"isOffset":false,"isSlot":false,"src":"69503:2:22","valueSize":1}],"id":33604,"nodeType":"InlineAssembly","src":"68777:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69575:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69581:4:22","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":33605,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"69559:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69559:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33609,"nodeType":"ExpressionStatement","src":"69559:27:22"},{"AST":{"nativeSrc":"69648:185:22","nodeType":"YulBlock","src":"69648:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"69669:4:22","nodeType":"YulLiteral","src":"69669:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"69675:2:22","nodeType":"YulIdentifier","src":"69675:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69662:6:22","nodeType":"YulIdentifier","src":"69662:6:22"},"nativeSrc":"69662:16:22","nodeType":"YulFunctionCall","src":"69662:16:22"},"nativeSrc":"69662:16:22","nodeType":"YulExpressionStatement","src":"69662:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69698:4:22","nodeType":"YulLiteral","src":"69698:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"69704:2:22","nodeType":"YulIdentifier","src":"69704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69691:6:22","nodeType":"YulIdentifier","src":"69691:6:22"},"nativeSrc":"69691:16:22","nodeType":"YulFunctionCall","src":"69691:16:22"},"nativeSrc":"69691:16:22","nodeType":"YulExpressionStatement","src":"69691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69727:4:22","nodeType":"YulLiteral","src":"69727:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"69733:2:22","nodeType":"YulIdentifier","src":"69733:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69720:6:22","nodeType":"YulIdentifier","src":"69720:6:22"},"nativeSrc":"69720:16:22","nodeType":"YulFunctionCall","src":"69720:16:22"},"nativeSrc":"69720:16:22","nodeType":"YulExpressionStatement","src":"69720:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69756:4:22","nodeType":"YulLiteral","src":"69756:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"69762:2:22","nodeType":"YulIdentifier","src":"69762:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69749:6:22","nodeType":"YulIdentifier","src":"69749:6:22"},"nativeSrc":"69749:16:22","nodeType":"YulFunctionCall","src":"69749:16:22"},"nativeSrc":"69749:16:22","nodeType":"YulExpressionStatement","src":"69749:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69785:4:22","nodeType":"YulLiteral","src":"69785:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"69791:2:22","nodeType":"YulIdentifier","src":"69791:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69778:6:22","nodeType":"YulIdentifier","src":"69778:6:22"},"nativeSrc":"69778:16:22","nodeType":"YulFunctionCall","src":"69778:16:22"},"nativeSrc":"69778:16:22","nodeType":"YulExpressionStatement","src":"69778:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69814:4:22","nodeType":"YulLiteral","src":"69814:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"69820:2:22","nodeType":"YulIdentifier","src":"69820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"69807:6:22","nodeType":"YulIdentifier","src":"69807:6:22"},"nativeSrc":"69807:16:22","nodeType":"YulFunctionCall","src":"69807:16:22"},"nativeSrc":"69807:16:22","nodeType":"YulExpressionStatement","src":"69807:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33587,"isOffset":false,"isSlot":false,"src":"69675:2:22","valueSize":1},{"declaration":33590,"isOffset":false,"isSlot":false,"src":"69704:2:22","valueSize":1},{"declaration":33593,"isOffset":false,"isSlot":false,"src":"69733:2:22","valueSize":1},{"declaration":33596,"isOffset":false,"isSlot":false,"src":"69762:2:22","valueSize":1},{"declaration":33599,"isOffset":false,"isSlot":false,"src":"69791:2:22","valueSize":1},{"declaration":33602,"isOffset":false,"isSlot":false,"src":"69820:2:22","valueSize":1}],"id":33610,"nodeType":"InlineAssembly","src":"69639:194:22"}]},"id":33612,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68550:3:22","nodeType":"FunctionDefinition","parameters":{"id":33584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33579,"mutability":"mutable","name":"p0","nameLocation":"68562:2:22","nodeType":"VariableDeclaration","scope":33612,"src":"68554:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68554:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33581,"mutability":"mutable","name":"p1","nameLocation":"68574:2:22","nodeType":"VariableDeclaration","scope":33612,"src":"68566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33580,"name":"address","nodeType":"ElementaryTypeName","src":"68566:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33583,"mutability":"mutable","name":"p2","nameLocation":"68586:2:22","nodeType":"VariableDeclaration","scope":33612,"src":"68578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33582,"name":"address","nodeType":"ElementaryTypeName","src":"68578:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68553:36:22"},"returnParameters":{"id":33585,"nodeType":"ParameterList","parameters":[],"src":"68604:0:22"},"scope":44426,"src":"68541:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33646,"nodeType":"Block","src":"69905:1232:22","statements":[{"assignments":[33622],"declarations":[{"constant":false,"id":33622,"mutability":"mutable","name":"m0","nameLocation":"69923:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"69915:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69915:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33623,"nodeType":"VariableDeclarationStatement","src":"69915:10:22"},{"assignments":[33625],"declarations":[{"constant":false,"id":33625,"mutability":"mutable","name":"m1","nameLocation":"69943:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"69935:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69935:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33626,"nodeType":"VariableDeclarationStatement","src":"69935:10:22"},{"assignments":[33628],"declarations":[{"constant":false,"id":33628,"mutability":"mutable","name":"m2","nameLocation":"69963:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"69955:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69955:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33629,"nodeType":"VariableDeclarationStatement","src":"69955:10:22"},{"assignments":[33631],"declarations":[{"constant":false,"id":33631,"mutability":"mutable","name":"m3","nameLocation":"69983:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"69975:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69975:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33632,"nodeType":"VariableDeclarationStatement","src":"69975:10:22"},{"assignments":[33634],"declarations":[{"constant":false,"id":33634,"mutability":"mutable","name":"m4","nameLocation":"70003:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"69995:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69995:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33635,"nodeType":"VariableDeclarationStatement","src":"69995:10:22"},{"assignments":[33637],"declarations":[{"constant":false,"id":33637,"mutability":"mutable","name":"m5","nameLocation":"70023:2:22","nodeType":"VariableDeclaration","scope":33646,"src":"70015:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70015:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33638,"nodeType":"VariableDeclarationStatement","src":"70015:10:22"},{"AST":{"nativeSrc":"70087:761:22","nodeType":"YulBlock","src":"70087:761:22","statements":[{"body":{"nativeSrc":"70130:313:22","nodeType":"YulBlock","src":"70130:313:22","statements":[{"nativeSrc":"70148:15:22","nodeType":"YulVariableDeclaration","src":"70148:15:22","value":{"kind":"number","nativeSrc":"70162:1:22","nodeType":"YulLiteral","src":"70162:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"70152:6:22","nodeType":"YulTypedName","src":"70152:6:22","type":""}]},{"body":{"nativeSrc":"70233:40:22","nodeType":"YulBlock","src":"70233:40:22","statements":[{"body":{"nativeSrc":"70262:9:22","nodeType":"YulBlock","src":"70262:9:22","statements":[{"nativeSrc":"70264:5:22","nodeType":"YulBreak","src":"70264:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"70250:6:22","nodeType":"YulIdentifier","src":"70250:6:22"},{"name":"w","nativeSrc":"70258:1:22","nodeType":"YulIdentifier","src":"70258:1:22"}],"functionName":{"name":"byte","nativeSrc":"70245:4:22","nodeType":"YulIdentifier","src":"70245:4:22"},"nativeSrc":"70245:15:22","nodeType":"YulFunctionCall","src":"70245:15:22"}],"functionName":{"name":"iszero","nativeSrc":"70238:6:22","nodeType":"YulIdentifier","src":"70238:6:22"},"nativeSrc":"70238:23:22","nodeType":"YulFunctionCall","src":"70238:23:22"},"nativeSrc":"70235:36:22","nodeType":"YulIf","src":"70235:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"70190:6:22","nodeType":"YulIdentifier","src":"70190:6:22"},{"kind":"number","nativeSrc":"70198:4:22","nodeType":"YulLiteral","src":"70198:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"70187:2:22","nodeType":"YulIdentifier","src":"70187:2:22"},"nativeSrc":"70187:16:22","nodeType":"YulFunctionCall","src":"70187:16:22"},"nativeSrc":"70180:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"70204:28:22","nodeType":"YulBlock","src":"70204:28:22","statements":[{"nativeSrc":"70206:24:22","nodeType":"YulAssignment","src":"70206:24:22","value":{"arguments":[{"name":"length","nativeSrc":"70220:6:22","nodeType":"YulIdentifier","src":"70220:6:22"},{"kind":"number","nativeSrc":"70228:1:22","nodeType":"YulLiteral","src":"70228:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"70216:3:22","nodeType":"YulIdentifier","src":"70216:3:22"},"nativeSrc":"70216:14:22","nodeType":"YulFunctionCall","src":"70216:14:22"},"variableNames":[{"name":"length","nativeSrc":"70206:6:22","nodeType":"YulIdentifier","src":"70206:6:22"}]}]},"pre":{"nativeSrc":"70184:2:22","nodeType":"YulBlock","src":"70184:2:22","statements":[]},"src":"70180:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"70297:3:22","nodeType":"YulIdentifier","src":"70297:3:22"},{"name":"length","nativeSrc":"70302:6:22","nodeType":"YulIdentifier","src":"70302:6:22"}],"functionName":{"name":"mstore","nativeSrc":"70290:6:22","nodeType":"YulIdentifier","src":"70290:6:22"},"nativeSrc":"70290:19:22","nodeType":"YulFunctionCall","src":"70290:19:22"},"nativeSrc":"70290:19:22","nodeType":"YulExpressionStatement","src":"70290:19:22"},{"nativeSrc":"70326:37:22","nodeType":"YulVariableDeclaration","src":"70326:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"70343:3:22","nodeType":"YulLiteral","src":"70343:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"70352:1:22","nodeType":"YulLiteral","src":"70352:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"70355:6:22","nodeType":"YulIdentifier","src":"70355:6:22"}],"functionName":{"name":"shl","nativeSrc":"70348:3:22","nodeType":"YulIdentifier","src":"70348:3:22"},"nativeSrc":"70348:14:22","nodeType":"YulFunctionCall","src":"70348:14:22"}],"functionName":{"name":"sub","nativeSrc":"70339:3:22","nodeType":"YulIdentifier","src":"70339:3:22"},"nativeSrc":"70339:24:22","nodeType":"YulFunctionCall","src":"70339:24:22"},"variables":[{"name":"shift","nativeSrc":"70330:5:22","nodeType":"YulTypedName","src":"70330:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"70391:3:22","nodeType":"YulIdentifier","src":"70391:3:22"},{"kind":"number","nativeSrc":"70396:4:22","nodeType":"YulLiteral","src":"70396:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"70387:3:22","nodeType":"YulIdentifier","src":"70387:3:22"},"nativeSrc":"70387:14:22","nodeType":"YulFunctionCall","src":"70387:14:22"},{"arguments":[{"name":"shift","nativeSrc":"70407:5:22","nodeType":"YulIdentifier","src":"70407:5:22"},{"arguments":[{"name":"shift","nativeSrc":"70418:5:22","nodeType":"YulIdentifier","src":"70418:5:22"},{"name":"w","nativeSrc":"70425:1:22","nodeType":"YulIdentifier","src":"70425:1:22"}],"functionName":{"name":"shr","nativeSrc":"70414:3:22","nodeType":"YulIdentifier","src":"70414:3:22"},"nativeSrc":"70414:13:22","nodeType":"YulFunctionCall","src":"70414:13:22"}],"functionName":{"name":"shl","nativeSrc":"70403:3:22","nodeType":"YulIdentifier","src":"70403:3:22"},"nativeSrc":"70403:25:22","nodeType":"YulFunctionCall","src":"70403:25:22"}],"functionName":{"name":"mstore","nativeSrc":"70380:6:22","nodeType":"YulIdentifier","src":"70380:6:22"},"nativeSrc":"70380:49:22","nodeType":"YulFunctionCall","src":"70380:49:22"},"nativeSrc":"70380:49:22","nodeType":"YulExpressionStatement","src":"70380:49:22"}]},"name":"writeString","nativeSrc":"70101:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"70122:3:22","nodeType":"YulTypedName","src":"70122:3:22","type":""},{"name":"w","nativeSrc":"70127:1:22","nodeType":"YulTypedName","src":"70127:1:22","type":""}],"src":"70101:342:22"},{"nativeSrc":"70456:17:22","nodeType":"YulAssignment","src":"70456:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70468:4:22","nodeType":"YulLiteral","src":"70468:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"70462:5:22","nodeType":"YulIdentifier","src":"70462:5:22"},"nativeSrc":"70462:11:22","nodeType":"YulFunctionCall","src":"70462:11:22"},"variableNames":[{"name":"m0","nativeSrc":"70456:2:22","nodeType":"YulIdentifier","src":"70456:2:22"}]},{"nativeSrc":"70486:17:22","nodeType":"YulAssignment","src":"70486:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70498:4:22","nodeType":"YulLiteral","src":"70498:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"70492:5:22","nodeType":"YulIdentifier","src":"70492:5:22"},"nativeSrc":"70492:11:22","nodeType":"YulFunctionCall","src":"70492:11:22"},"variableNames":[{"name":"m1","nativeSrc":"70486:2:22","nodeType":"YulIdentifier","src":"70486:2:22"}]},{"nativeSrc":"70516:17:22","nodeType":"YulAssignment","src":"70516:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70528:4:22","nodeType":"YulLiteral","src":"70528:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"70522:5:22","nodeType":"YulIdentifier","src":"70522:5:22"},"nativeSrc":"70522:11:22","nodeType":"YulFunctionCall","src":"70522:11:22"},"variableNames":[{"name":"m2","nativeSrc":"70516:2:22","nodeType":"YulIdentifier","src":"70516:2:22"}]},{"nativeSrc":"70546:17:22","nodeType":"YulAssignment","src":"70546:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70558:4:22","nodeType":"YulLiteral","src":"70558:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"70552:5:22","nodeType":"YulIdentifier","src":"70552:5:22"},"nativeSrc":"70552:11:22","nodeType":"YulFunctionCall","src":"70552:11:22"},"variableNames":[{"name":"m3","nativeSrc":"70546:2:22","nodeType":"YulIdentifier","src":"70546:2:22"}]},{"nativeSrc":"70576:17:22","nodeType":"YulAssignment","src":"70576:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70588:4:22","nodeType":"YulLiteral","src":"70588:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"70582:5:22","nodeType":"YulIdentifier","src":"70582:5:22"},"nativeSrc":"70582:11:22","nodeType":"YulFunctionCall","src":"70582:11:22"},"variableNames":[{"name":"m4","nativeSrc":"70576:2:22","nodeType":"YulIdentifier","src":"70576:2:22"}]},{"nativeSrc":"70606:17:22","nodeType":"YulAssignment","src":"70606:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"70618:4:22","nodeType":"YulLiteral","src":"70618:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"70612:5:22","nodeType":"YulIdentifier","src":"70612:5:22"},"nativeSrc":"70612:11:22","nodeType":"YulFunctionCall","src":"70612:11:22"},"variableNames":[{"name":"m5","nativeSrc":"70606:2:22","nodeType":"YulIdentifier","src":"70606:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70698:4:22","nodeType":"YulLiteral","src":"70698:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"70704:10:22","nodeType":"YulLiteral","src":"70704:10:22","type":"","value":"0xc91d5ed4"}],"functionName":{"name":"mstore","nativeSrc":"70691:6:22","nodeType":"YulIdentifier","src":"70691:6:22"},"nativeSrc":"70691:24:22","nodeType":"YulFunctionCall","src":"70691:24:22"},"nativeSrc":"70691:24:22","nodeType":"YulExpressionStatement","src":"70691:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70735:4:22","nodeType":"YulLiteral","src":"70735:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"70741:4:22","nodeType":"YulLiteral","src":"70741:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"70728:6:22","nodeType":"YulIdentifier","src":"70728:6:22"},"nativeSrc":"70728:18:22","nodeType":"YulFunctionCall","src":"70728:18:22"},"nativeSrc":"70728:18:22","nodeType":"YulExpressionStatement","src":"70728:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70766:4:22","nodeType":"YulLiteral","src":"70766:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"70772:2:22","nodeType":"YulIdentifier","src":"70772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"70759:6:22","nodeType":"YulIdentifier","src":"70759:6:22"},"nativeSrc":"70759:16:22","nodeType":"YulFunctionCall","src":"70759:16:22"},"nativeSrc":"70759:16:22","nodeType":"YulExpressionStatement","src":"70759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70795:4:22","nodeType":"YulLiteral","src":"70795:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"70801:2:22","nodeType":"YulIdentifier","src":"70801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"70788:6:22","nodeType":"YulIdentifier","src":"70788:6:22"},"nativeSrc":"70788:16:22","nodeType":"YulFunctionCall","src":"70788:16:22"},"nativeSrc":"70788:16:22","nodeType":"YulExpressionStatement","src":"70788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70829:4:22","nodeType":"YulLiteral","src":"70829:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"70835:2:22","nodeType":"YulIdentifier","src":"70835:2:22"}],"functionName":{"name":"writeString","nativeSrc":"70817:11:22","nodeType":"YulIdentifier","src":"70817:11:22"},"nativeSrc":"70817:21:22","nodeType":"YulFunctionCall","src":"70817:21:22"},"nativeSrc":"70817:21:22","nodeType":"YulExpressionStatement","src":"70817:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33622,"isOffset":false,"isSlot":false,"src":"70456:2:22","valueSize":1},{"declaration":33625,"isOffset":false,"isSlot":false,"src":"70486:2:22","valueSize":1},{"declaration":33628,"isOffset":false,"isSlot":false,"src":"70516:2:22","valueSize":1},{"declaration":33631,"isOffset":false,"isSlot":false,"src":"70546:2:22","valueSize":1},{"declaration":33634,"isOffset":false,"isSlot":false,"src":"70576:2:22","valueSize":1},{"declaration":33637,"isOffset":false,"isSlot":false,"src":"70606:2:22","valueSize":1},{"declaration":33614,"isOffset":false,"isSlot":false,"src":"70835:2:22","valueSize":1},{"declaration":33616,"isOffset":false,"isSlot":false,"src":"70772:2:22","valueSize":1},{"declaration":33618,"isOffset":false,"isSlot":false,"src":"70801:2:22","valueSize":1}],"id":33639,"nodeType":"InlineAssembly","src":"70078:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70873:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70879:4:22","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":33640,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"70857:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70857:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33644,"nodeType":"ExpressionStatement","src":"70857:27:22"},{"AST":{"nativeSrc":"70946:185:22","nodeType":"YulBlock","src":"70946:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"70967:4:22","nodeType":"YulLiteral","src":"70967:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"70973:2:22","nodeType":"YulIdentifier","src":"70973:2:22"}],"functionName":{"name":"mstore","nativeSrc":"70960:6:22","nodeType":"YulIdentifier","src":"70960:6:22"},"nativeSrc":"70960:16:22","nodeType":"YulFunctionCall","src":"70960:16:22"},"nativeSrc":"70960:16:22","nodeType":"YulExpressionStatement","src":"70960:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70996:4:22","nodeType":"YulLiteral","src":"70996:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"71002:2:22","nodeType":"YulIdentifier","src":"71002:2:22"}],"functionName":{"name":"mstore","nativeSrc":"70989:6:22","nodeType":"YulIdentifier","src":"70989:6:22"},"nativeSrc":"70989:16:22","nodeType":"YulFunctionCall","src":"70989:16:22"},"nativeSrc":"70989:16:22","nodeType":"YulExpressionStatement","src":"70989:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71025:4:22","nodeType":"YulLiteral","src":"71025:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"71031:2:22","nodeType":"YulIdentifier","src":"71031:2:22"}],"functionName":{"name":"mstore","nativeSrc":"71018:6:22","nodeType":"YulIdentifier","src":"71018:6:22"},"nativeSrc":"71018:16:22","nodeType":"YulFunctionCall","src":"71018:16:22"},"nativeSrc":"71018:16:22","nodeType":"YulExpressionStatement","src":"71018:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71054:4:22","nodeType":"YulLiteral","src":"71054:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"71060:2:22","nodeType":"YulIdentifier","src":"71060:2:22"}],"functionName":{"name":"mstore","nativeSrc":"71047:6:22","nodeType":"YulIdentifier","src":"71047:6:22"},"nativeSrc":"71047:16:22","nodeType":"YulFunctionCall","src":"71047:16:22"},"nativeSrc":"71047:16:22","nodeType":"YulExpressionStatement","src":"71047:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71083:4:22","nodeType":"YulLiteral","src":"71083:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"71089:2:22","nodeType":"YulIdentifier","src":"71089:2:22"}],"functionName":{"name":"mstore","nativeSrc":"71076:6:22","nodeType":"YulIdentifier","src":"71076:6:22"},"nativeSrc":"71076:16:22","nodeType":"YulFunctionCall","src":"71076:16:22"},"nativeSrc":"71076:16:22","nodeType":"YulExpressionStatement","src":"71076:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71112:4:22","nodeType":"YulLiteral","src":"71112:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"71118:2:22","nodeType":"YulIdentifier","src":"71118:2:22"}],"functionName":{"name":"mstore","nativeSrc":"71105:6:22","nodeType":"YulIdentifier","src":"71105:6:22"},"nativeSrc":"71105:16:22","nodeType":"YulFunctionCall","src":"71105:16:22"},"nativeSrc":"71105:16:22","nodeType":"YulExpressionStatement","src":"71105:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33622,"isOffset":false,"isSlot":false,"src":"70973:2:22","valueSize":1},{"declaration":33625,"isOffset":false,"isSlot":false,"src":"71002:2:22","valueSize":1},{"declaration":33628,"isOffset":false,"isSlot":false,"src":"71031:2:22","valueSize":1},{"declaration":33631,"isOffset":false,"isSlot":false,"src":"71060:2:22","valueSize":1},{"declaration":33634,"isOffset":false,"isSlot":false,"src":"71089:2:22","valueSize":1},{"declaration":33637,"isOffset":false,"isSlot":false,"src":"71118:2:22","valueSize":1}],"id":33645,"nodeType":"InlineAssembly","src":"70937:194:22"}]},"id":33647,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69854:3:22","nodeType":"FunctionDefinition","parameters":{"id":33619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33614,"mutability":"mutable","name":"p0","nameLocation":"69866:2:22","nodeType":"VariableDeclaration","scope":33647,"src":"69858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69858:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33616,"mutability":"mutable","name":"p1","nameLocation":"69878:2:22","nodeType":"VariableDeclaration","scope":33647,"src":"69870:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33615,"name":"address","nodeType":"ElementaryTypeName","src":"69870:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33618,"mutability":"mutable","name":"p2","nameLocation":"69887:2:22","nodeType":"VariableDeclaration","scope":33647,"src":"69882:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33617,"name":"bool","nodeType":"ElementaryTypeName","src":"69882:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69857:33:22"},"returnParameters":{"id":33620,"nodeType":"ParameterList","parameters":[],"src":"69905:0:22"},"scope":44426,"src":"69845:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33681,"nodeType":"Block","src":"71206:1235:22","statements":[{"assignments":[33657],"declarations":[{"constant":false,"id":33657,"mutability":"mutable","name":"m0","nameLocation":"71224:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71216:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71216:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33658,"nodeType":"VariableDeclarationStatement","src":"71216:10:22"},{"assignments":[33660],"declarations":[{"constant":false,"id":33660,"mutability":"mutable","name":"m1","nameLocation":"71244:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33661,"nodeType":"VariableDeclarationStatement","src":"71236:10:22"},{"assignments":[33663],"declarations":[{"constant":false,"id":33663,"mutability":"mutable","name":"m2","nameLocation":"71264:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71256:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71256:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33664,"nodeType":"VariableDeclarationStatement","src":"71256:10:22"},{"assignments":[33666],"declarations":[{"constant":false,"id":33666,"mutability":"mutable","name":"m3","nameLocation":"71284:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71276:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71276:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33667,"nodeType":"VariableDeclarationStatement","src":"71276:10:22"},{"assignments":[33669],"declarations":[{"constant":false,"id":33669,"mutability":"mutable","name":"m4","nameLocation":"71304:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71296:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71296:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33670,"nodeType":"VariableDeclarationStatement","src":"71296:10:22"},{"assignments":[33672],"declarations":[{"constant":false,"id":33672,"mutability":"mutable","name":"m5","nameLocation":"71324:2:22","nodeType":"VariableDeclaration","scope":33681,"src":"71316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33673,"nodeType":"VariableDeclarationStatement","src":"71316:10:22"},{"AST":{"nativeSrc":"71388:764:22","nodeType":"YulBlock","src":"71388:764:22","statements":[{"body":{"nativeSrc":"71431:313:22","nodeType":"YulBlock","src":"71431:313:22","statements":[{"nativeSrc":"71449:15:22","nodeType":"YulVariableDeclaration","src":"71449:15:22","value":{"kind":"number","nativeSrc":"71463:1:22","nodeType":"YulLiteral","src":"71463:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"71453:6:22","nodeType":"YulTypedName","src":"71453:6:22","type":""}]},{"body":{"nativeSrc":"71534:40:22","nodeType":"YulBlock","src":"71534:40:22","statements":[{"body":{"nativeSrc":"71563:9:22","nodeType":"YulBlock","src":"71563:9:22","statements":[{"nativeSrc":"71565:5:22","nodeType":"YulBreak","src":"71565:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"71551:6:22","nodeType":"YulIdentifier","src":"71551:6:22"},{"name":"w","nativeSrc":"71559:1:22","nodeType":"YulIdentifier","src":"71559:1:22"}],"functionName":{"name":"byte","nativeSrc":"71546:4:22","nodeType":"YulIdentifier","src":"71546:4:22"},"nativeSrc":"71546:15:22","nodeType":"YulFunctionCall","src":"71546:15:22"}],"functionName":{"name":"iszero","nativeSrc":"71539:6:22","nodeType":"YulIdentifier","src":"71539:6:22"},"nativeSrc":"71539:23:22","nodeType":"YulFunctionCall","src":"71539:23:22"},"nativeSrc":"71536:36:22","nodeType":"YulIf","src":"71536:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"71491:6:22","nodeType":"YulIdentifier","src":"71491:6:22"},{"kind":"number","nativeSrc":"71499:4:22","nodeType":"YulLiteral","src":"71499:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"71488:2:22","nodeType":"YulIdentifier","src":"71488:2:22"},"nativeSrc":"71488:16:22","nodeType":"YulFunctionCall","src":"71488:16:22"},"nativeSrc":"71481:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"71505:28:22","nodeType":"YulBlock","src":"71505:28:22","statements":[{"nativeSrc":"71507:24:22","nodeType":"YulAssignment","src":"71507:24:22","value":{"arguments":[{"name":"length","nativeSrc":"71521:6:22","nodeType":"YulIdentifier","src":"71521:6:22"},{"kind":"number","nativeSrc":"71529:1:22","nodeType":"YulLiteral","src":"71529:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"71517:3:22","nodeType":"YulIdentifier","src":"71517:3:22"},"nativeSrc":"71517:14:22","nodeType":"YulFunctionCall","src":"71517:14:22"},"variableNames":[{"name":"length","nativeSrc":"71507:6:22","nodeType":"YulIdentifier","src":"71507:6:22"}]}]},"pre":{"nativeSrc":"71485:2:22","nodeType":"YulBlock","src":"71485:2:22","statements":[]},"src":"71481:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"71598:3:22","nodeType":"YulIdentifier","src":"71598:3:22"},{"name":"length","nativeSrc":"71603:6:22","nodeType":"YulIdentifier","src":"71603:6:22"}],"functionName":{"name":"mstore","nativeSrc":"71591:6:22","nodeType":"YulIdentifier","src":"71591:6:22"},"nativeSrc":"71591:19:22","nodeType":"YulFunctionCall","src":"71591:19:22"},"nativeSrc":"71591:19:22","nodeType":"YulExpressionStatement","src":"71591:19:22"},{"nativeSrc":"71627:37:22","nodeType":"YulVariableDeclaration","src":"71627:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"71644:3:22","nodeType":"YulLiteral","src":"71644:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"71653:1:22","nodeType":"YulLiteral","src":"71653:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"71656:6:22","nodeType":"YulIdentifier","src":"71656:6:22"}],"functionName":{"name":"shl","nativeSrc":"71649:3:22","nodeType":"YulIdentifier","src":"71649:3:22"},"nativeSrc":"71649:14:22","nodeType":"YulFunctionCall","src":"71649:14:22"}],"functionName":{"name":"sub","nativeSrc":"71640:3:22","nodeType":"YulIdentifier","src":"71640:3:22"},"nativeSrc":"71640:24:22","nodeType":"YulFunctionCall","src":"71640:24:22"},"variables":[{"name":"shift","nativeSrc":"71631:5:22","nodeType":"YulTypedName","src":"71631:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"71692:3:22","nodeType":"YulIdentifier","src":"71692:3:22"},{"kind":"number","nativeSrc":"71697:4:22","nodeType":"YulLiteral","src":"71697:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"71688:3:22","nodeType":"YulIdentifier","src":"71688:3:22"},"nativeSrc":"71688:14:22","nodeType":"YulFunctionCall","src":"71688:14:22"},{"arguments":[{"name":"shift","nativeSrc":"71708:5:22","nodeType":"YulIdentifier","src":"71708:5:22"},{"arguments":[{"name":"shift","nativeSrc":"71719:5:22","nodeType":"YulIdentifier","src":"71719:5:22"},{"name":"w","nativeSrc":"71726:1:22","nodeType":"YulIdentifier","src":"71726:1:22"}],"functionName":{"name":"shr","nativeSrc":"71715:3:22","nodeType":"YulIdentifier","src":"71715:3:22"},"nativeSrc":"71715:13:22","nodeType":"YulFunctionCall","src":"71715:13:22"}],"functionName":{"name":"shl","nativeSrc":"71704:3:22","nodeType":"YulIdentifier","src":"71704:3:22"},"nativeSrc":"71704:25:22","nodeType":"YulFunctionCall","src":"71704:25:22"}],"functionName":{"name":"mstore","nativeSrc":"71681:6:22","nodeType":"YulIdentifier","src":"71681:6:22"},"nativeSrc":"71681:49:22","nodeType":"YulFunctionCall","src":"71681:49:22"},"nativeSrc":"71681:49:22","nodeType":"YulExpressionStatement","src":"71681:49:22"}]},"name":"writeString","nativeSrc":"71402:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"71423:3:22","nodeType":"YulTypedName","src":"71423:3:22","type":""},{"name":"w","nativeSrc":"71428:1:22","nodeType":"YulTypedName","src":"71428:1:22","type":""}],"src":"71402:342:22"},{"nativeSrc":"71757:17:22","nodeType":"YulAssignment","src":"71757:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71769:4:22","nodeType":"YulLiteral","src":"71769:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"71763:5:22","nodeType":"YulIdentifier","src":"71763:5:22"},"nativeSrc":"71763:11:22","nodeType":"YulFunctionCall","src":"71763:11:22"},"variableNames":[{"name":"m0","nativeSrc":"71757:2:22","nodeType":"YulIdentifier","src":"71757:2:22"}]},{"nativeSrc":"71787:17:22","nodeType":"YulAssignment","src":"71787:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71799:4:22","nodeType":"YulLiteral","src":"71799:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"71793:5:22","nodeType":"YulIdentifier","src":"71793:5:22"},"nativeSrc":"71793:11:22","nodeType":"YulFunctionCall","src":"71793:11:22"},"variableNames":[{"name":"m1","nativeSrc":"71787:2:22","nodeType":"YulIdentifier","src":"71787:2:22"}]},{"nativeSrc":"71817:17:22","nodeType":"YulAssignment","src":"71817:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71829:4:22","nodeType":"YulLiteral","src":"71829:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"71823:5:22","nodeType":"YulIdentifier","src":"71823:5:22"},"nativeSrc":"71823:11:22","nodeType":"YulFunctionCall","src":"71823:11:22"},"variableNames":[{"name":"m2","nativeSrc":"71817:2:22","nodeType":"YulIdentifier","src":"71817:2:22"}]},{"nativeSrc":"71847:17:22","nodeType":"YulAssignment","src":"71847:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71859:4:22","nodeType":"YulLiteral","src":"71859:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"71853:5:22","nodeType":"YulIdentifier","src":"71853:5:22"},"nativeSrc":"71853:11:22","nodeType":"YulFunctionCall","src":"71853:11:22"},"variableNames":[{"name":"m3","nativeSrc":"71847:2:22","nodeType":"YulIdentifier","src":"71847:2:22"}]},{"nativeSrc":"71877:17:22","nodeType":"YulAssignment","src":"71877:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71889:4:22","nodeType":"YulLiteral","src":"71889:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"71883:5:22","nodeType":"YulIdentifier","src":"71883:5:22"},"nativeSrc":"71883:11:22","nodeType":"YulFunctionCall","src":"71883:11:22"},"variableNames":[{"name":"m4","nativeSrc":"71877:2:22","nodeType":"YulIdentifier","src":"71877:2:22"}]},{"nativeSrc":"71907:17:22","nodeType":"YulAssignment","src":"71907:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"71919:4:22","nodeType":"YulLiteral","src":"71919:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"71913:5:22","nodeType":"YulIdentifier","src":"71913:5:22"},"nativeSrc":"71913:11:22","nodeType":"YulFunctionCall","src":"71913:11:22"},"variableNames":[{"name":"m5","nativeSrc":"71907:2:22","nodeType":"YulIdentifier","src":"71907:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72002:4:22","nodeType":"YulLiteral","src":"72002:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"72008:10:22","nodeType":"YulLiteral","src":"72008:10:22","type":"","value":"0x0d26b925"}],"functionName":{"name":"mstore","nativeSrc":"71995:6:22","nodeType":"YulIdentifier","src":"71995:6:22"},"nativeSrc":"71995:24:22","nodeType":"YulFunctionCall","src":"71995:24:22"},"nativeSrc":"71995:24:22","nodeType":"YulExpressionStatement","src":"71995:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72039:4:22","nodeType":"YulLiteral","src":"72039:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"72045:4:22","nodeType":"YulLiteral","src":"72045:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"72032:6:22","nodeType":"YulIdentifier","src":"72032:6:22"},"nativeSrc":"72032:18:22","nodeType":"YulFunctionCall","src":"72032:18:22"},"nativeSrc":"72032:18:22","nodeType":"YulExpressionStatement","src":"72032:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72070:4:22","nodeType":"YulLiteral","src":"72070:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"72076:2:22","nodeType":"YulIdentifier","src":"72076:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72063:6:22","nodeType":"YulIdentifier","src":"72063:6:22"},"nativeSrc":"72063:16:22","nodeType":"YulFunctionCall","src":"72063:16:22"},"nativeSrc":"72063:16:22","nodeType":"YulExpressionStatement","src":"72063:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72099:4:22","nodeType":"YulLiteral","src":"72099:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"72105:2:22","nodeType":"YulIdentifier","src":"72105:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72092:6:22","nodeType":"YulIdentifier","src":"72092:6:22"},"nativeSrc":"72092:16:22","nodeType":"YulFunctionCall","src":"72092:16:22"},"nativeSrc":"72092:16:22","nodeType":"YulExpressionStatement","src":"72092:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72133:4:22","nodeType":"YulLiteral","src":"72133:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"72139:2:22","nodeType":"YulIdentifier","src":"72139:2:22"}],"functionName":{"name":"writeString","nativeSrc":"72121:11:22","nodeType":"YulIdentifier","src":"72121:11:22"},"nativeSrc":"72121:21:22","nodeType":"YulFunctionCall","src":"72121:21:22"},"nativeSrc":"72121:21:22","nodeType":"YulExpressionStatement","src":"72121:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33657,"isOffset":false,"isSlot":false,"src":"71757:2:22","valueSize":1},{"declaration":33660,"isOffset":false,"isSlot":false,"src":"71787:2:22","valueSize":1},{"declaration":33663,"isOffset":false,"isSlot":false,"src":"71817:2:22","valueSize":1},{"declaration":33666,"isOffset":false,"isSlot":false,"src":"71847:2:22","valueSize":1},{"declaration":33669,"isOffset":false,"isSlot":false,"src":"71877:2:22","valueSize":1},{"declaration":33672,"isOffset":false,"isSlot":false,"src":"71907:2:22","valueSize":1},{"declaration":33649,"isOffset":false,"isSlot":false,"src":"72139:2:22","valueSize":1},{"declaration":33651,"isOffset":false,"isSlot":false,"src":"72076:2:22","valueSize":1},{"declaration":33653,"isOffset":false,"isSlot":false,"src":"72105:2:22","valueSize":1}],"id":33674,"nodeType":"InlineAssembly","src":"71379:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72177:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72183:4:22","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":33675,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"72161:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72161:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33679,"nodeType":"ExpressionStatement","src":"72161:27:22"},{"AST":{"nativeSrc":"72250:185:22","nodeType":"YulBlock","src":"72250:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"72271:4:22","nodeType":"YulLiteral","src":"72271:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"72277:2:22","nodeType":"YulIdentifier","src":"72277:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72264:6:22","nodeType":"YulIdentifier","src":"72264:6:22"},"nativeSrc":"72264:16:22","nodeType":"YulFunctionCall","src":"72264:16:22"},"nativeSrc":"72264:16:22","nodeType":"YulExpressionStatement","src":"72264:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72300:4:22","nodeType":"YulLiteral","src":"72300:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"72306:2:22","nodeType":"YulIdentifier","src":"72306:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72293:6:22","nodeType":"YulIdentifier","src":"72293:6:22"},"nativeSrc":"72293:16:22","nodeType":"YulFunctionCall","src":"72293:16:22"},"nativeSrc":"72293:16:22","nodeType":"YulExpressionStatement","src":"72293:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72329:4:22","nodeType":"YulLiteral","src":"72329:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"72335:2:22","nodeType":"YulIdentifier","src":"72335:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72322:6:22","nodeType":"YulIdentifier","src":"72322:6:22"},"nativeSrc":"72322:16:22","nodeType":"YulFunctionCall","src":"72322:16:22"},"nativeSrc":"72322:16:22","nodeType":"YulExpressionStatement","src":"72322:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72358:4:22","nodeType":"YulLiteral","src":"72358:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"72364:2:22","nodeType":"YulIdentifier","src":"72364:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72351:6:22","nodeType":"YulIdentifier","src":"72351:6:22"},"nativeSrc":"72351:16:22","nodeType":"YulFunctionCall","src":"72351:16:22"},"nativeSrc":"72351:16:22","nodeType":"YulExpressionStatement","src":"72351:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72387:4:22","nodeType":"YulLiteral","src":"72387:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"72393:2:22","nodeType":"YulIdentifier","src":"72393:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72380:6:22","nodeType":"YulIdentifier","src":"72380:6:22"},"nativeSrc":"72380:16:22","nodeType":"YulFunctionCall","src":"72380:16:22"},"nativeSrc":"72380:16:22","nodeType":"YulExpressionStatement","src":"72380:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72416:4:22","nodeType":"YulLiteral","src":"72416:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"72422:2:22","nodeType":"YulIdentifier","src":"72422:2:22"}],"functionName":{"name":"mstore","nativeSrc":"72409:6:22","nodeType":"YulIdentifier","src":"72409:6:22"},"nativeSrc":"72409:16:22","nodeType":"YulFunctionCall","src":"72409:16:22"},"nativeSrc":"72409:16:22","nodeType":"YulExpressionStatement","src":"72409:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33657,"isOffset":false,"isSlot":false,"src":"72277:2:22","valueSize":1},{"declaration":33660,"isOffset":false,"isSlot":false,"src":"72306:2:22","valueSize":1},{"declaration":33663,"isOffset":false,"isSlot":false,"src":"72335:2:22","valueSize":1},{"declaration":33666,"isOffset":false,"isSlot":false,"src":"72364:2:22","valueSize":1},{"declaration":33669,"isOffset":false,"isSlot":false,"src":"72393:2:22","valueSize":1},{"declaration":33672,"isOffset":false,"isSlot":false,"src":"72422:2:22","valueSize":1}],"id":33680,"nodeType":"InlineAssembly","src":"72241:194:22"}]},"id":33682,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"71152:3:22","nodeType":"FunctionDefinition","parameters":{"id":33654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33649,"mutability":"mutable","name":"p0","nameLocation":"71164:2:22","nodeType":"VariableDeclaration","scope":33682,"src":"71156:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71156:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33651,"mutability":"mutable","name":"p1","nameLocation":"71176:2:22","nodeType":"VariableDeclaration","scope":33682,"src":"71168:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33650,"name":"address","nodeType":"ElementaryTypeName","src":"71168:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33653,"mutability":"mutable","name":"p2","nameLocation":"71188:2:22","nodeType":"VariableDeclaration","scope":33682,"src":"71180:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33652,"name":"uint256","nodeType":"ElementaryTypeName","src":"71180:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71155:36:22"},"returnParameters":{"id":33655,"nodeType":"ParameterList","parameters":[],"src":"71206:0:22"},"scope":44426,"src":"71143:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33722,"nodeType":"Block","src":"72510:1428:22","statements":[{"assignments":[33692],"declarations":[{"constant":false,"id":33692,"mutability":"mutable","name":"m0","nameLocation":"72528:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72520:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72520:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33693,"nodeType":"VariableDeclarationStatement","src":"72520:10:22"},{"assignments":[33695],"declarations":[{"constant":false,"id":33695,"mutability":"mutable","name":"m1","nameLocation":"72548:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72540:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72540:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33696,"nodeType":"VariableDeclarationStatement","src":"72540:10:22"},{"assignments":[33698],"declarations":[{"constant":false,"id":33698,"mutability":"mutable","name":"m2","nameLocation":"72568:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72560:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72560:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33699,"nodeType":"VariableDeclarationStatement","src":"72560:10:22"},{"assignments":[33701],"declarations":[{"constant":false,"id":33701,"mutability":"mutable","name":"m3","nameLocation":"72588:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72580:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72580:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33702,"nodeType":"VariableDeclarationStatement","src":"72580:10:22"},{"assignments":[33704],"declarations":[{"constant":false,"id":33704,"mutability":"mutable","name":"m4","nameLocation":"72608:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72600:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72600:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33705,"nodeType":"VariableDeclarationStatement","src":"72600:10:22"},{"assignments":[33707],"declarations":[{"constant":false,"id":33707,"mutability":"mutable","name":"m5","nameLocation":"72628:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72620:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72620:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33708,"nodeType":"VariableDeclarationStatement","src":"72620:10:22"},{"assignments":[33710],"declarations":[{"constant":false,"id":33710,"mutability":"mutable","name":"m6","nameLocation":"72648:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72640:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33711,"nodeType":"VariableDeclarationStatement","src":"72640:10:22"},{"assignments":[33713],"declarations":[{"constant":false,"id":33713,"mutability":"mutable","name":"m7","nameLocation":"72668:2:22","nodeType":"VariableDeclaration","scope":33722,"src":"72660:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72660:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33714,"nodeType":"VariableDeclarationStatement","src":"72660:10:22"},{"AST":{"nativeSrc":"72732:859:22","nodeType":"YulBlock","src":"72732:859:22","statements":[{"body":{"nativeSrc":"72775:313:22","nodeType":"YulBlock","src":"72775:313:22","statements":[{"nativeSrc":"72793:15:22","nodeType":"YulVariableDeclaration","src":"72793:15:22","value":{"kind":"number","nativeSrc":"72807:1:22","nodeType":"YulLiteral","src":"72807:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"72797:6:22","nodeType":"YulTypedName","src":"72797:6:22","type":""}]},{"body":{"nativeSrc":"72878:40:22","nodeType":"YulBlock","src":"72878:40:22","statements":[{"body":{"nativeSrc":"72907:9:22","nodeType":"YulBlock","src":"72907:9:22","statements":[{"nativeSrc":"72909:5:22","nodeType":"YulBreak","src":"72909:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"72895:6:22","nodeType":"YulIdentifier","src":"72895:6:22"},{"name":"w","nativeSrc":"72903:1:22","nodeType":"YulIdentifier","src":"72903:1:22"}],"functionName":{"name":"byte","nativeSrc":"72890:4:22","nodeType":"YulIdentifier","src":"72890:4:22"},"nativeSrc":"72890:15:22","nodeType":"YulFunctionCall","src":"72890:15:22"}],"functionName":{"name":"iszero","nativeSrc":"72883:6:22","nodeType":"YulIdentifier","src":"72883:6:22"},"nativeSrc":"72883:23:22","nodeType":"YulFunctionCall","src":"72883:23:22"},"nativeSrc":"72880:36:22","nodeType":"YulIf","src":"72880:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"72835:6:22","nodeType":"YulIdentifier","src":"72835:6:22"},{"kind":"number","nativeSrc":"72843:4:22","nodeType":"YulLiteral","src":"72843:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"72832:2:22","nodeType":"YulIdentifier","src":"72832:2:22"},"nativeSrc":"72832:16:22","nodeType":"YulFunctionCall","src":"72832:16:22"},"nativeSrc":"72825:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"72849:28:22","nodeType":"YulBlock","src":"72849:28:22","statements":[{"nativeSrc":"72851:24:22","nodeType":"YulAssignment","src":"72851:24:22","value":{"arguments":[{"name":"length","nativeSrc":"72865:6:22","nodeType":"YulIdentifier","src":"72865:6:22"},{"kind":"number","nativeSrc":"72873:1:22","nodeType":"YulLiteral","src":"72873:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"72861:3:22","nodeType":"YulIdentifier","src":"72861:3:22"},"nativeSrc":"72861:14:22","nodeType":"YulFunctionCall","src":"72861:14:22"},"variableNames":[{"name":"length","nativeSrc":"72851:6:22","nodeType":"YulIdentifier","src":"72851:6:22"}]}]},"pre":{"nativeSrc":"72829:2:22","nodeType":"YulBlock","src":"72829:2:22","statements":[]},"src":"72825:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"72942:3:22","nodeType":"YulIdentifier","src":"72942:3:22"},{"name":"length","nativeSrc":"72947:6:22","nodeType":"YulIdentifier","src":"72947:6:22"}],"functionName":{"name":"mstore","nativeSrc":"72935:6:22","nodeType":"YulIdentifier","src":"72935:6:22"},"nativeSrc":"72935:19:22","nodeType":"YulFunctionCall","src":"72935:19:22"},"nativeSrc":"72935:19:22","nodeType":"YulExpressionStatement","src":"72935:19:22"},{"nativeSrc":"72971:37:22","nodeType":"YulVariableDeclaration","src":"72971:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"72988:3:22","nodeType":"YulLiteral","src":"72988:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"72997:1:22","nodeType":"YulLiteral","src":"72997:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"73000:6:22","nodeType":"YulIdentifier","src":"73000:6:22"}],"functionName":{"name":"shl","nativeSrc":"72993:3:22","nodeType":"YulIdentifier","src":"72993:3:22"},"nativeSrc":"72993:14:22","nodeType":"YulFunctionCall","src":"72993:14:22"}],"functionName":{"name":"sub","nativeSrc":"72984:3:22","nodeType":"YulIdentifier","src":"72984:3:22"},"nativeSrc":"72984:24:22","nodeType":"YulFunctionCall","src":"72984:24:22"},"variables":[{"name":"shift","nativeSrc":"72975:5:22","nodeType":"YulTypedName","src":"72975:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"73036:3:22","nodeType":"YulIdentifier","src":"73036:3:22"},{"kind":"number","nativeSrc":"73041:4:22","nodeType":"YulLiteral","src":"73041:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"73032:3:22","nodeType":"YulIdentifier","src":"73032:3:22"},"nativeSrc":"73032:14:22","nodeType":"YulFunctionCall","src":"73032:14:22"},{"arguments":[{"name":"shift","nativeSrc":"73052:5:22","nodeType":"YulIdentifier","src":"73052:5:22"},{"arguments":[{"name":"shift","nativeSrc":"73063:5:22","nodeType":"YulIdentifier","src":"73063:5:22"},{"name":"w","nativeSrc":"73070:1:22","nodeType":"YulIdentifier","src":"73070:1:22"}],"functionName":{"name":"shr","nativeSrc":"73059:3:22","nodeType":"YulIdentifier","src":"73059:3:22"},"nativeSrc":"73059:13:22","nodeType":"YulFunctionCall","src":"73059:13:22"}],"functionName":{"name":"shl","nativeSrc":"73048:3:22","nodeType":"YulIdentifier","src":"73048:3:22"},"nativeSrc":"73048:25:22","nodeType":"YulFunctionCall","src":"73048:25:22"}],"functionName":{"name":"mstore","nativeSrc":"73025:6:22","nodeType":"YulIdentifier","src":"73025:6:22"},"nativeSrc":"73025:49:22","nodeType":"YulFunctionCall","src":"73025:49:22"},"nativeSrc":"73025:49:22","nodeType":"YulExpressionStatement","src":"73025:49:22"}]},"name":"writeString","nativeSrc":"72746:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"72767:3:22","nodeType":"YulTypedName","src":"72767:3:22","type":""},{"name":"w","nativeSrc":"72772:1:22","nodeType":"YulTypedName","src":"72772:1:22","type":""}],"src":"72746:342:22"},{"nativeSrc":"73101:17:22","nodeType":"YulAssignment","src":"73101:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73113:4:22","nodeType":"YulLiteral","src":"73113:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"73107:5:22","nodeType":"YulIdentifier","src":"73107:5:22"},"nativeSrc":"73107:11:22","nodeType":"YulFunctionCall","src":"73107:11:22"},"variableNames":[{"name":"m0","nativeSrc":"73101:2:22","nodeType":"YulIdentifier","src":"73101:2:22"}]},{"nativeSrc":"73131:17:22","nodeType":"YulAssignment","src":"73131:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73143:4:22","nodeType":"YulLiteral","src":"73143:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"73137:5:22","nodeType":"YulIdentifier","src":"73137:5:22"},"nativeSrc":"73137:11:22","nodeType":"YulFunctionCall","src":"73137:11:22"},"variableNames":[{"name":"m1","nativeSrc":"73131:2:22","nodeType":"YulIdentifier","src":"73131:2:22"}]},{"nativeSrc":"73161:17:22","nodeType":"YulAssignment","src":"73161:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73173:4:22","nodeType":"YulLiteral","src":"73173:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"73167:5:22","nodeType":"YulIdentifier","src":"73167:5:22"},"nativeSrc":"73167:11:22","nodeType":"YulFunctionCall","src":"73167:11:22"},"variableNames":[{"name":"m2","nativeSrc":"73161:2:22","nodeType":"YulIdentifier","src":"73161:2:22"}]},{"nativeSrc":"73191:17:22","nodeType":"YulAssignment","src":"73191:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73203:4:22","nodeType":"YulLiteral","src":"73203:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"73197:5:22","nodeType":"YulIdentifier","src":"73197:5:22"},"nativeSrc":"73197:11:22","nodeType":"YulFunctionCall","src":"73197:11:22"},"variableNames":[{"name":"m3","nativeSrc":"73191:2:22","nodeType":"YulIdentifier","src":"73191:2:22"}]},{"nativeSrc":"73221:17:22","nodeType":"YulAssignment","src":"73221:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73233:4:22","nodeType":"YulLiteral","src":"73233:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"73227:5:22","nodeType":"YulIdentifier","src":"73227:5:22"},"nativeSrc":"73227:11:22","nodeType":"YulFunctionCall","src":"73227:11:22"},"variableNames":[{"name":"m4","nativeSrc":"73221:2:22","nodeType":"YulIdentifier","src":"73221:2:22"}]},{"nativeSrc":"73251:17:22","nodeType":"YulAssignment","src":"73251:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73263:4:22","nodeType":"YulLiteral","src":"73263:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"73257:5:22","nodeType":"YulIdentifier","src":"73257:5:22"},"nativeSrc":"73257:11:22","nodeType":"YulFunctionCall","src":"73257:11:22"},"variableNames":[{"name":"m5","nativeSrc":"73251:2:22","nodeType":"YulIdentifier","src":"73251:2:22"}]},{"nativeSrc":"73281:17:22","nodeType":"YulAssignment","src":"73281:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73293:4:22","nodeType":"YulLiteral","src":"73293:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"73287:5:22","nodeType":"YulIdentifier","src":"73287:5:22"},"nativeSrc":"73287:11:22","nodeType":"YulFunctionCall","src":"73287:11:22"},"variableNames":[{"name":"m6","nativeSrc":"73281:2:22","nodeType":"YulIdentifier","src":"73281:2:22"}]},{"nativeSrc":"73311:17:22","nodeType":"YulAssignment","src":"73311:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"73323:4:22","nodeType":"YulLiteral","src":"73323:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"73317:5:22","nodeType":"YulIdentifier","src":"73317:5:22"},"nativeSrc":"73317:11:22","nodeType":"YulFunctionCall","src":"73317:11:22"},"variableNames":[{"name":"m7","nativeSrc":"73311:2:22","nodeType":"YulIdentifier","src":"73311:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73405:4:22","nodeType":"YulLiteral","src":"73405:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"73411:10:22","nodeType":"YulLiteral","src":"73411:10:22","type":"","value":"0xe0e9ad4f"}],"functionName":{"name":"mstore","nativeSrc":"73398:6:22","nodeType":"YulIdentifier","src":"73398:6:22"},"nativeSrc":"73398:24:22","nodeType":"YulFunctionCall","src":"73398:24:22"},"nativeSrc":"73398:24:22","nodeType":"YulExpressionStatement","src":"73398:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73442:4:22","nodeType":"YulLiteral","src":"73442:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"73448:4:22","nodeType":"YulLiteral","src":"73448:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"73435:6:22","nodeType":"YulIdentifier","src":"73435:6:22"},"nativeSrc":"73435:18:22","nodeType":"YulFunctionCall","src":"73435:18:22"},"nativeSrc":"73435:18:22","nodeType":"YulExpressionStatement","src":"73435:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73473:4:22","nodeType":"YulLiteral","src":"73473:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"73479:2:22","nodeType":"YulIdentifier","src":"73479:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73466:6:22","nodeType":"YulIdentifier","src":"73466:6:22"},"nativeSrc":"73466:16:22","nodeType":"YulFunctionCall","src":"73466:16:22"},"nativeSrc":"73466:16:22","nodeType":"YulExpressionStatement","src":"73466:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73502:4:22","nodeType":"YulLiteral","src":"73502:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"73508:4:22","nodeType":"YulLiteral","src":"73508:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"73495:6:22","nodeType":"YulIdentifier","src":"73495:6:22"},"nativeSrc":"73495:18:22","nodeType":"YulFunctionCall","src":"73495:18:22"},"nativeSrc":"73495:18:22","nodeType":"YulExpressionStatement","src":"73495:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73538:4:22","nodeType":"YulLiteral","src":"73538:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"73544:2:22","nodeType":"YulIdentifier","src":"73544:2:22"}],"functionName":{"name":"writeString","nativeSrc":"73526:11:22","nodeType":"YulIdentifier","src":"73526:11:22"},"nativeSrc":"73526:21:22","nodeType":"YulFunctionCall","src":"73526:21:22"},"nativeSrc":"73526:21:22","nodeType":"YulExpressionStatement","src":"73526:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73572:4:22","nodeType":"YulLiteral","src":"73572:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"73578:2:22","nodeType":"YulIdentifier","src":"73578:2:22"}],"functionName":{"name":"writeString","nativeSrc":"73560:11:22","nodeType":"YulIdentifier","src":"73560:11:22"},"nativeSrc":"73560:21:22","nodeType":"YulFunctionCall","src":"73560:21:22"},"nativeSrc":"73560:21:22","nodeType":"YulExpressionStatement","src":"73560:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33692,"isOffset":false,"isSlot":false,"src":"73101:2:22","valueSize":1},{"declaration":33695,"isOffset":false,"isSlot":false,"src":"73131:2:22","valueSize":1},{"declaration":33698,"isOffset":false,"isSlot":false,"src":"73161:2:22","valueSize":1},{"declaration":33701,"isOffset":false,"isSlot":false,"src":"73191:2:22","valueSize":1},{"declaration":33704,"isOffset":false,"isSlot":false,"src":"73221:2:22","valueSize":1},{"declaration":33707,"isOffset":false,"isSlot":false,"src":"73251:2:22","valueSize":1},{"declaration":33710,"isOffset":false,"isSlot":false,"src":"73281:2:22","valueSize":1},{"declaration":33713,"isOffset":false,"isSlot":false,"src":"73311:2:22","valueSize":1},{"declaration":33684,"isOffset":false,"isSlot":false,"src":"73544:2:22","valueSize":1},{"declaration":33686,"isOffset":false,"isSlot":false,"src":"73479:2:22","valueSize":1},{"declaration":33688,"isOffset":false,"isSlot":false,"src":"73578:2:22","valueSize":1}],"id":33715,"nodeType":"InlineAssembly","src":"72723:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73616:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":33718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73622:4:22","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":33716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"73600:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73600:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33720,"nodeType":"ExpressionStatement","src":"73600:27:22"},{"AST":{"nativeSrc":"73689:243:22","nodeType":"YulBlock","src":"73689:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"73710:4:22","nodeType":"YulLiteral","src":"73710:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"73716:2:22","nodeType":"YulIdentifier","src":"73716:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73703:6:22","nodeType":"YulIdentifier","src":"73703:6:22"},"nativeSrc":"73703:16:22","nodeType":"YulFunctionCall","src":"73703:16:22"},"nativeSrc":"73703:16:22","nodeType":"YulExpressionStatement","src":"73703:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73739:4:22","nodeType":"YulLiteral","src":"73739:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"73745:2:22","nodeType":"YulIdentifier","src":"73745:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73732:6:22","nodeType":"YulIdentifier","src":"73732:6:22"},"nativeSrc":"73732:16:22","nodeType":"YulFunctionCall","src":"73732:16:22"},"nativeSrc":"73732:16:22","nodeType":"YulExpressionStatement","src":"73732:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73768:4:22","nodeType":"YulLiteral","src":"73768:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"73774:2:22","nodeType":"YulIdentifier","src":"73774:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73761:6:22","nodeType":"YulIdentifier","src":"73761:6:22"},"nativeSrc":"73761:16:22","nodeType":"YulFunctionCall","src":"73761:16:22"},"nativeSrc":"73761:16:22","nodeType":"YulExpressionStatement","src":"73761:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73797:4:22","nodeType":"YulLiteral","src":"73797:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"73803:2:22","nodeType":"YulIdentifier","src":"73803:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73790:6:22","nodeType":"YulIdentifier","src":"73790:6:22"},"nativeSrc":"73790:16:22","nodeType":"YulFunctionCall","src":"73790:16:22"},"nativeSrc":"73790:16:22","nodeType":"YulExpressionStatement","src":"73790:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73826:4:22","nodeType":"YulLiteral","src":"73826:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"73832:2:22","nodeType":"YulIdentifier","src":"73832:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73819:6:22","nodeType":"YulIdentifier","src":"73819:6:22"},"nativeSrc":"73819:16:22","nodeType":"YulFunctionCall","src":"73819:16:22"},"nativeSrc":"73819:16:22","nodeType":"YulExpressionStatement","src":"73819:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73855:4:22","nodeType":"YulLiteral","src":"73855:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"73861:2:22","nodeType":"YulIdentifier","src":"73861:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73848:6:22","nodeType":"YulIdentifier","src":"73848:6:22"},"nativeSrc":"73848:16:22","nodeType":"YulFunctionCall","src":"73848:16:22"},"nativeSrc":"73848:16:22","nodeType":"YulExpressionStatement","src":"73848:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73884:4:22","nodeType":"YulLiteral","src":"73884:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"73890:2:22","nodeType":"YulIdentifier","src":"73890:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73877:6:22","nodeType":"YulIdentifier","src":"73877:6:22"},"nativeSrc":"73877:16:22","nodeType":"YulFunctionCall","src":"73877:16:22"},"nativeSrc":"73877:16:22","nodeType":"YulExpressionStatement","src":"73877:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73913:4:22","nodeType":"YulLiteral","src":"73913:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"73919:2:22","nodeType":"YulIdentifier","src":"73919:2:22"}],"functionName":{"name":"mstore","nativeSrc":"73906:6:22","nodeType":"YulIdentifier","src":"73906:6:22"},"nativeSrc":"73906:16:22","nodeType":"YulFunctionCall","src":"73906:16:22"},"nativeSrc":"73906:16:22","nodeType":"YulExpressionStatement","src":"73906:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33692,"isOffset":false,"isSlot":false,"src":"73716:2:22","valueSize":1},{"declaration":33695,"isOffset":false,"isSlot":false,"src":"73745:2:22","valueSize":1},{"declaration":33698,"isOffset":false,"isSlot":false,"src":"73774:2:22","valueSize":1},{"declaration":33701,"isOffset":false,"isSlot":false,"src":"73803:2:22","valueSize":1},{"declaration":33704,"isOffset":false,"isSlot":false,"src":"73832:2:22","valueSize":1},{"declaration":33707,"isOffset":false,"isSlot":false,"src":"73861:2:22","valueSize":1},{"declaration":33710,"isOffset":false,"isSlot":false,"src":"73890:2:22","valueSize":1},{"declaration":33713,"isOffset":false,"isSlot":false,"src":"73919:2:22","valueSize":1}],"id":33721,"nodeType":"InlineAssembly","src":"73680:252:22"}]},"id":33723,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"72456:3:22","nodeType":"FunctionDefinition","parameters":{"id":33689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33684,"mutability":"mutable","name":"p0","nameLocation":"72468:2:22","nodeType":"VariableDeclaration","scope":33723,"src":"72460:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72460:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33686,"mutability":"mutable","name":"p1","nameLocation":"72480:2:22","nodeType":"VariableDeclaration","scope":33723,"src":"72472:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33685,"name":"address","nodeType":"ElementaryTypeName","src":"72472:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33688,"mutability":"mutable","name":"p2","nameLocation":"72492:2:22","nodeType":"VariableDeclaration","scope":33723,"src":"72484:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72484:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72459:36:22"},"returnParameters":{"id":33690,"nodeType":"ParameterList","parameters":[],"src":"72510:0:22"},"scope":44426,"src":"72447:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33757,"nodeType":"Block","src":"74004:1232:22","statements":[{"assignments":[33733],"declarations":[{"constant":false,"id":33733,"mutability":"mutable","name":"m0","nameLocation":"74022:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74014:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74014:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33734,"nodeType":"VariableDeclarationStatement","src":"74014:10:22"},{"assignments":[33736],"declarations":[{"constant":false,"id":33736,"mutability":"mutable","name":"m1","nameLocation":"74042:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74034:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74034:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33737,"nodeType":"VariableDeclarationStatement","src":"74034:10:22"},{"assignments":[33739],"declarations":[{"constant":false,"id":33739,"mutability":"mutable","name":"m2","nameLocation":"74062:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74054:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74054:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33740,"nodeType":"VariableDeclarationStatement","src":"74054:10:22"},{"assignments":[33742],"declarations":[{"constant":false,"id":33742,"mutability":"mutable","name":"m3","nameLocation":"74082:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74074:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74074:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33743,"nodeType":"VariableDeclarationStatement","src":"74074:10:22"},{"assignments":[33745],"declarations":[{"constant":false,"id":33745,"mutability":"mutable","name":"m4","nameLocation":"74102:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74094:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74094:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33746,"nodeType":"VariableDeclarationStatement","src":"74094:10:22"},{"assignments":[33748],"declarations":[{"constant":false,"id":33748,"mutability":"mutable","name":"m5","nameLocation":"74122:2:22","nodeType":"VariableDeclaration","scope":33757,"src":"74114:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74114:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33749,"nodeType":"VariableDeclarationStatement","src":"74114:10:22"},{"AST":{"nativeSrc":"74186:761:22","nodeType":"YulBlock","src":"74186:761:22","statements":[{"body":{"nativeSrc":"74229:313:22","nodeType":"YulBlock","src":"74229:313:22","statements":[{"nativeSrc":"74247:15:22","nodeType":"YulVariableDeclaration","src":"74247:15:22","value":{"kind":"number","nativeSrc":"74261:1:22","nodeType":"YulLiteral","src":"74261:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"74251:6:22","nodeType":"YulTypedName","src":"74251:6:22","type":""}]},{"body":{"nativeSrc":"74332:40:22","nodeType":"YulBlock","src":"74332:40:22","statements":[{"body":{"nativeSrc":"74361:9:22","nodeType":"YulBlock","src":"74361:9:22","statements":[{"nativeSrc":"74363:5:22","nodeType":"YulBreak","src":"74363:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"74349:6:22","nodeType":"YulIdentifier","src":"74349:6:22"},{"name":"w","nativeSrc":"74357:1:22","nodeType":"YulIdentifier","src":"74357:1:22"}],"functionName":{"name":"byte","nativeSrc":"74344:4:22","nodeType":"YulIdentifier","src":"74344:4:22"},"nativeSrc":"74344:15:22","nodeType":"YulFunctionCall","src":"74344:15:22"}],"functionName":{"name":"iszero","nativeSrc":"74337:6:22","nodeType":"YulIdentifier","src":"74337:6:22"},"nativeSrc":"74337:23:22","nodeType":"YulFunctionCall","src":"74337:23:22"},"nativeSrc":"74334:36:22","nodeType":"YulIf","src":"74334:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"74289:6:22","nodeType":"YulIdentifier","src":"74289:6:22"},{"kind":"number","nativeSrc":"74297:4:22","nodeType":"YulLiteral","src":"74297:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"74286:2:22","nodeType":"YulIdentifier","src":"74286:2:22"},"nativeSrc":"74286:16:22","nodeType":"YulFunctionCall","src":"74286:16:22"},"nativeSrc":"74279:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"74303:28:22","nodeType":"YulBlock","src":"74303:28:22","statements":[{"nativeSrc":"74305:24:22","nodeType":"YulAssignment","src":"74305:24:22","value":{"arguments":[{"name":"length","nativeSrc":"74319:6:22","nodeType":"YulIdentifier","src":"74319:6:22"},{"kind":"number","nativeSrc":"74327:1:22","nodeType":"YulLiteral","src":"74327:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"74315:3:22","nodeType":"YulIdentifier","src":"74315:3:22"},"nativeSrc":"74315:14:22","nodeType":"YulFunctionCall","src":"74315:14:22"},"variableNames":[{"name":"length","nativeSrc":"74305:6:22","nodeType":"YulIdentifier","src":"74305:6:22"}]}]},"pre":{"nativeSrc":"74283:2:22","nodeType":"YulBlock","src":"74283:2:22","statements":[]},"src":"74279:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"74396:3:22","nodeType":"YulIdentifier","src":"74396:3:22"},{"name":"length","nativeSrc":"74401:6:22","nodeType":"YulIdentifier","src":"74401:6:22"}],"functionName":{"name":"mstore","nativeSrc":"74389:6:22","nodeType":"YulIdentifier","src":"74389:6:22"},"nativeSrc":"74389:19:22","nodeType":"YulFunctionCall","src":"74389:19:22"},"nativeSrc":"74389:19:22","nodeType":"YulExpressionStatement","src":"74389:19:22"},{"nativeSrc":"74425:37:22","nodeType":"YulVariableDeclaration","src":"74425:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"74442:3:22","nodeType":"YulLiteral","src":"74442:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"74451:1:22","nodeType":"YulLiteral","src":"74451:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"74454:6:22","nodeType":"YulIdentifier","src":"74454:6:22"}],"functionName":{"name":"shl","nativeSrc":"74447:3:22","nodeType":"YulIdentifier","src":"74447:3:22"},"nativeSrc":"74447:14:22","nodeType":"YulFunctionCall","src":"74447:14:22"}],"functionName":{"name":"sub","nativeSrc":"74438:3:22","nodeType":"YulIdentifier","src":"74438:3:22"},"nativeSrc":"74438:24:22","nodeType":"YulFunctionCall","src":"74438:24:22"},"variables":[{"name":"shift","nativeSrc":"74429:5:22","nodeType":"YulTypedName","src":"74429:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"74490:3:22","nodeType":"YulIdentifier","src":"74490:3:22"},{"kind":"number","nativeSrc":"74495:4:22","nodeType":"YulLiteral","src":"74495:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"74486:3:22","nodeType":"YulIdentifier","src":"74486:3:22"},"nativeSrc":"74486:14:22","nodeType":"YulFunctionCall","src":"74486:14:22"},{"arguments":[{"name":"shift","nativeSrc":"74506:5:22","nodeType":"YulIdentifier","src":"74506:5:22"},{"arguments":[{"name":"shift","nativeSrc":"74517:5:22","nodeType":"YulIdentifier","src":"74517:5:22"},{"name":"w","nativeSrc":"74524:1:22","nodeType":"YulIdentifier","src":"74524:1:22"}],"functionName":{"name":"shr","nativeSrc":"74513:3:22","nodeType":"YulIdentifier","src":"74513:3:22"},"nativeSrc":"74513:13:22","nodeType":"YulFunctionCall","src":"74513:13:22"}],"functionName":{"name":"shl","nativeSrc":"74502:3:22","nodeType":"YulIdentifier","src":"74502:3:22"},"nativeSrc":"74502:25:22","nodeType":"YulFunctionCall","src":"74502:25:22"}],"functionName":{"name":"mstore","nativeSrc":"74479:6:22","nodeType":"YulIdentifier","src":"74479:6:22"},"nativeSrc":"74479:49:22","nodeType":"YulFunctionCall","src":"74479:49:22"},"nativeSrc":"74479:49:22","nodeType":"YulExpressionStatement","src":"74479:49:22"}]},"name":"writeString","nativeSrc":"74200:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"74221:3:22","nodeType":"YulTypedName","src":"74221:3:22","type":""},{"name":"w","nativeSrc":"74226:1:22","nodeType":"YulTypedName","src":"74226:1:22","type":""}],"src":"74200:342:22"},{"nativeSrc":"74555:17:22","nodeType":"YulAssignment","src":"74555:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74567:4:22","nodeType":"YulLiteral","src":"74567:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"74561:5:22","nodeType":"YulIdentifier","src":"74561:5:22"},"nativeSrc":"74561:11:22","nodeType":"YulFunctionCall","src":"74561:11:22"},"variableNames":[{"name":"m0","nativeSrc":"74555:2:22","nodeType":"YulIdentifier","src":"74555:2:22"}]},{"nativeSrc":"74585:17:22","nodeType":"YulAssignment","src":"74585:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74597:4:22","nodeType":"YulLiteral","src":"74597:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"74591:5:22","nodeType":"YulIdentifier","src":"74591:5:22"},"nativeSrc":"74591:11:22","nodeType":"YulFunctionCall","src":"74591:11:22"},"variableNames":[{"name":"m1","nativeSrc":"74585:2:22","nodeType":"YulIdentifier","src":"74585:2:22"}]},{"nativeSrc":"74615:17:22","nodeType":"YulAssignment","src":"74615:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74627:4:22","nodeType":"YulLiteral","src":"74627:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"74621:5:22","nodeType":"YulIdentifier","src":"74621:5:22"},"nativeSrc":"74621:11:22","nodeType":"YulFunctionCall","src":"74621:11:22"},"variableNames":[{"name":"m2","nativeSrc":"74615:2:22","nodeType":"YulIdentifier","src":"74615:2:22"}]},{"nativeSrc":"74645:17:22","nodeType":"YulAssignment","src":"74645:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74657:4:22","nodeType":"YulLiteral","src":"74657:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"74651:5:22","nodeType":"YulIdentifier","src":"74651:5:22"},"nativeSrc":"74651:11:22","nodeType":"YulFunctionCall","src":"74651:11:22"},"variableNames":[{"name":"m3","nativeSrc":"74645:2:22","nodeType":"YulIdentifier","src":"74645:2:22"}]},{"nativeSrc":"74675:17:22","nodeType":"YulAssignment","src":"74675:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74687:4:22","nodeType":"YulLiteral","src":"74687:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"74681:5:22","nodeType":"YulIdentifier","src":"74681:5:22"},"nativeSrc":"74681:11:22","nodeType":"YulFunctionCall","src":"74681:11:22"},"variableNames":[{"name":"m4","nativeSrc":"74675:2:22","nodeType":"YulIdentifier","src":"74675:2:22"}]},{"nativeSrc":"74705:17:22","nodeType":"YulAssignment","src":"74705:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"74717:4:22","nodeType":"YulLiteral","src":"74717:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"74711:5:22","nodeType":"YulIdentifier","src":"74711:5:22"},"nativeSrc":"74711:11:22","nodeType":"YulFunctionCall","src":"74711:11:22"},"variableNames":[{"name":"m5","nativeSrc":"74705:2:22","nodeType":"YulIdentifier","src":"74705:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74797:4:22","nodeType":"YulLiteral","src":"74797:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"74803:10:22","nodeType":"YulLiteral","src":"74803:10:22","type":"","value":"0x932bbb38"}],"functionName":{"name":"mstore","nativeSrc":"74790:6:22","nodeType":"YulIdentifier","src":"74790:6:22"},"nativeSrc":"74790:24:22","nodeType":"YulFunctionCall","src":"74790:24:22"},"nativeSrc":"74790:24:22","nodeType":"YulExpressionStatement","src":"74790:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74834:4:22","nodeType":"YulLiteral","src":"74834:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"74840:4:22","nodeType":"YulLiteral","src":"74840:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"74827:6:22","nodeType":"YulIdentifier","src":"74827:6:22"},"nativeSrc":"74827:18:22","nodeType":"YulFunctionCall","src":"74827:18:22"},"nativeSrc":"74827:18:22","nodeType":"YulExpressionStatement","src":"74827:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74865:4:22","nodeType":"YulLiteral","src":"74865:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"74871:2:22","nodeType":"YulIdentifier","src":"74871:2:22"}],"functionName":{"name":"mstore","nativeSrc":"74858:6:22","nodeType":"YulIdentifier","src":"74858:6:22"},"nativeSrc":"74858:16:22","nodeType":"YulFunctionCall","src":"74858:16:22"},"nativeSrc":"74858:16:22","nodeType":"YulExpressionStatement","src":"74858:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74894:4:22","nodeType":"YulLiteral","src":"74894:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"74900:2:22","nodeType":"YulIdentifier","src":"74900:2:22"}],"functionName":{"name":"mstore","nativeSrc":"74887:6:22","nodeType":"YulIdentifier","src":"74887:6:22"},"nativeSrc":"74887:16:22","nodeType":"YulFunctionCall","src":"74887:16:22"},"nativeSrc":"74887:16:22","nodeType":"YulExpressionStatement","src":"74887:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74928:4:22","nodeType":"YulLiteral","src":"74928:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"74934:2:22","nodeType":"YulIdentifier","src":"74934:2:22"}],"functionName":{"name":"writeString","nativeSrc":"74916:11:22","nodeType":"YulIdentifier","src":"74916:11:22"},"nativeSrc":"74916:21:22","nodeType":"YulFunctionCall","src":"74916:21:22"},"nativeSrc":"74916:21:22","nodeType":"YulExpressionStatement","src":"74916:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33733,"isOffset":false,"isSlot":false,"src":"74555:2:22","valueSize":1},{"declaration":33736,"isOffset":false,"isSlot":false,"src":"74585:2:22","valueSize":1},{"declaration":33739,"isOffset":false,"isSlot":false,"src":"74615:2:22","valueSize":1},{"declaration":33742,"isOffset":false,"isSlot":false,"src":"74645:2:22","valueSize":1},{"declaration":33745,"isOffset":false,"isSlot":false,"src":"74675:2:22","valueSize":1},{"declaration":33748,"isOffset":false,"isSlot":false,"src":"74705:2:22","valueSize":1},{"declaration":33725,"isOffset":false,"isSlot":false,"src":"74934:2:22","valueSize":1},{"declaration":33727,"isOffset":false,"isSlot":false,"src":"74871:2:22","valueSize":1},{"declaration":33729,"isOffset":false,"isSlot":false,"src":"74900:2:22","valueSize":1}],"id":33750,"nodeType":"InlineAssembly","src":"74177:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74972:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74978:4:22","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":33751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"74956:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74956:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33755,"nodeType":"ExpressionStatement","src":"74956:27:22"},{"AST":{"nativeSrc":"75045:185:22","nodeType":"YulBlock","src":"75045:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"75066:4:22","nodeType":"YulLiteral","src":"75066:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"75072:2:22","nodeType":"YulIdentifier","src":"75072:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75059:6:22","nodeType":"YulIdentifier","src":"75059:6:22"},"nativeSrc":"75059:16:22","nodeType":"YulFunctionCall","src":"75059:16:22"},"nativeSrc":"75059:16:22","nodeType":"YulExpressionStatement","src":"75059:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75095:4:22","nodeType":"YulLiteral","src":"75095:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"75101:2:22","nodeType":"YulIdentifier","src":"75101:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75088:6:22","nodeType":"YulIdentifier","src":"75088:6:22"},"nativeSrc":"75088:16:22","nodeType":"YulFunctionCall","src":"75088:16:22"},"nativeSrc":"75088:16:22","nodeType":"YulExpressionStatement","src":"75088:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75124:4:22","nodeType":"YulLiteral","src":"75124:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"75130:2:22","nodeType":"YulIdentifier","src":"75130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75117:6:22","nodeType":"YulIdentifier","src":"75117:6:22"},"nativeSrc":"75117:16:22","nodeType":"YulFunctionCall","src":"75117:16:22"},"nativeSrc":"75117:16:22","nodeType":"YulExpressionStatement","src":"75117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75153:4:22","nodeType":"YulLiteral","src":"75153:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"75159:2:22","nodeType":"YulIdentifier","src":"75159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75146:6:22","nodeType":"YulIdentifier","src":"75146:6:22"},"nativeSrc":"75146:16:22","nodeType":"YulFunctionCall","src":"75146:16:22"},"nativeSrc":"75146:16:22","nodeType":"YulExpressionStatement","src":"75146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75182:4:22","nodeType":"YulLiteral","src":"75182:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"75188:2:22","nodeType":"YulIdentifier","src":"75188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75175:6:22","nodeType":"YulIdentifier","src":"75175:6:22"},"nativeSrc":"75175:16:22","nodeType":"YulFunctionCall","src":"75175:16:22"},"nativeSrc":"75175:16:22","nodeType":"YulExpressionStatement","src":"75175:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75211:4:22","nodeType":"YulLiteral","src":"75211:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"75217:2:22","nodeType":"YulIdentifier","src":"75217:2:22"}],"functionName":{"name":"mstore","nativeSrc":"75204:6:22","nodeType":"YulIdentifier","src":"75204:6:22"},"nativeSrc":"75204:16:22","nodeType":"YulFunctionCall","src":"75204:16:22"},"nativeSrc":"75204:16:22","nodeType":"YulExpressionStatement","src":"75204:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33733,"isOffset":false,"isSlot":false,"src":"75072:2:22","valueSize":1},{"declaration":33736,"isOffset":false,"isSlot":false,"src":"75101:2:22","valueSize":1},{"declaration":33739,"isOffset":false,"isSlot":false,"src":"75130:2:22","valueSize":1},{"declaration":33742,"isOffset":false,"isSlot":false,"src":"75159:2:22","valueSize":1},{"declaration":33745,"isOffset":false,"isSlot":false,"src":"75188:2:22","valueSize":1},{"declaration":33748,"isOffset":false,"isSlot":false,"src":"75217:2:22","valueSize":1}],"id":33756,"nodeType":"InlineAssembly","src":"75036:194:22"}]},"id":33758,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"73953:3:22","nodeType":"FunctionDefinition","parameters":{"id":33730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33725,"mutability":"mutable","name":"p0","nameLocation":"73965:2:22","nodeType":"VariableDeclaration","scope":33758,"src":"73957:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73957:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33727,"mutability":"mutable","name":"p1","nameLocation":"73974:2:22","nodeType":"VariableDeclaration","scope":33758,"src":"73969:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33726,"name":"bool","nodeType":"ElementaryTypeName","src":"73969:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33729,"mutability":"mutable","name":"p2","nameLocation":"73986:2:22","nodeType":"VariableDeclaration","scope":33758,"src":"73978:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33728,"name":"address","nodeType":"ElementaryTypeName","src":"73978:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73956:33:22"},"returnParameters":{"id":33731,"nodeType":"ParameterList","parameters":[],"src":"74004:0:22"},"scope":44426,"src":"73944:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33792,"nodeType":"Block","src":"75299:1229:22","statements":[{"assignments":[33768],"declarations":[{"constant":false,"id":33768,"mutability":"mutable","name":"m0","nameLocation":"75317:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75309:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75309:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33769,"nodeType":"VariableDeclarationStatement","src":"75309:10:22"},{"assignments":[33771],"declarations":[{"constant":false,"id":33771,"mutability":"mutable","name":"m1","nameLocation":"75337:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75329:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75329:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33772,"nodeType":"VariableDeclarationStatement","src":"75329:10:22"},{"assignments":[33774],"declarations":[{"constant":false,"id":33774,"mutability":"mutable","name":"m2","nameLocation":"75357:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75349:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75349:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33775,"nodeType":"VariableDeclarationStatement","src":"75349:10:22"},{"assignments":[33777],"declarations":[{"constant":false,"id":33777,"mutability":"mutable","name":"m3","nameLocation":"75377:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75369:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75369:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33778,"nodeType":"VariableDeclarationStatement","src":"75369:10:22"},{"assignments":[33780],"declarations":[{"constant":false,"id":33780,"mutability":"mutable","name":"m4","nameLocation":"75397:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75389:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75389:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33781,"nodeType":"VariableDeclarationStatement","src":"75389:10:22"},{"assignments":[33783],"declarations":[{"constant":false,"id":33783,"mutability":"mutable","name":"m5","nameLocation":"75417:2:22","nodeType":"VariableDeclaration","scope":33792,"src":"75409:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75409:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33784,"nodeType":"VariableDeclarationStatement","src":"75409:10:22"},{"AST":{"nativeSrc":"75481:758:22","nodeType":"YulBlock","src":"75481:758:22","statements":[{"body":{"nativeSrc":"75524:313:22","nodeType":"YulBlock","src":"75524:313:22","statements":[{"nativeSrc":"75542:15:22","nodeType":"YulVariableDeclaration","src":"75542:15:22","value":{"kind":"number","nativeSrc":"75556:1:22","nodeType":"YulLiteral","src":"75556:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"75546:6:22","nodeType":"YulTypedName","src":"75546:6:22","type":""}]},{"body":{"nativeSrc":"75627:40:22","nodeType":"YulBlock","src":"75627:40:22","statements":[{"body":{"nativeSrc":"75656:9:22","nodeType":"YulBlock","src":"75656:9:22","statements":[{"nativeSrc":"75658:5:22","nodeType":"YulBreak","src":"75658:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"75644:6:22","nodeType":"YulIdentifier","src":"75644:6:22"},{"name":"w","nativeSrc":"75652:1:22","nodeType":"YulIdentifier","src":"75652:1:22"}],"functionName":{"name":"byte","nativeSrc":"75639:4:22","nodeType":"YulIdentifier","src":"75639:4:22"},"nativeSrc":"75639:15:22","nodeType":"YulFunctionCall","src":"75639:15:22"}],"functionName":{"name":"iszero","nativeSrc":"75632:6:22","nodeType":"YulIdentifier","src":"75632:6:22"},"nativeSrc":"75632:23:22","nodeType":"YulFunctionCall","src":"75632:23:22"},"nativeSrc":"75629:36:22","nodeType":"YulIf","src":"75629:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"75584:6:22","nodeType":"YulIdentifier","src":"75584:6:22"},{"kind":"number","nativeSrc":"75592:4:22","nodeType":"YulLiteral","src":"75592:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"75581:2:22","nodeType":"YulIdentifier","src":"75581:2:22"},"nativeSrc":"75581:16:22","nodeType":"YulFunctionCall","src":"75581:16:22"},"nativeSrc":"75574:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"75598:28:22","nodeType":"YulBlock","src":"75598:28:22","statements":[{"nativeSrc":"75600:24:22","nodeType":"YulAssignment","src":"75600:24:22","value":{"arguments":[{"name":"length","nativeSrc":"75614:6:22","nodeType":"YulIdentifier","src":"75614:6:22"},{"kind":"number","nativeSrc":"75622:1:22","nodeType":"YulLiteral","src":"75622:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"75610:3:22","nodeType":"YulIdentifier","src":"75610:3:22"},"nativeSrc":"75610:14:22","nodeType":"YulFunctionCall","src":"75610:14:22"},"variableNames":[{"name":"length","nativeSrc":"75600:6:22","nodeType":"YulIdentifier","src":"75600:6:22"}]}]},"pre":{"nativeSrc":"75578:2:22","nodeType":"YulBlock","src":"75578:2:22","statements":[]},"src":"75574:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"75691:3:22","nodeType":"YulIdentifier","src":"75691:3:22"},{"name":"length","nativeSrc":"75696:6:22","nodeType":"YulIdentifier","src":"75696:6:22"}],"functionName":{"name":"mstore","nativeSrc":"75684:6:22","nodeType":"YulIdentifier","src":"75684:6:22"},"nativeSrc":"75684:19:22","nodeType":"YulFunctionCall","src":"75684:19:22"},"nativeSrc":"75684:19:22","nodeType":"YulExpressionStatement","src":"75684:19:22"},{"nativeSrc":"75720:37:22","nodeType":"YulVariableDeclaration","src":"75720:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"75737:3:22","nodeType":"YulLiteral","src":"75737:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"75746:1:22","nodeType":"YulLiteral","src":"75746:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"75749:6:22","nodeType":"YulIdentifier","src":"75749:6:22"}],"functionName":{"name":"shl","nativeSrc":"75742:3:22","nodeType":"YulIdentifier","src":"75742:3:22"},"nativeSrc":"75742:14:22","nodeType":"YulFunctionCall","src":"75742:14:22"}],"functionName":{"name":"sub","nativeSrc":"75733:3:22","nodeType":"YulIdentifier","src":"75733:3:22"},"nativeSrc":"75733:24:22","nodeType":"YulFunctionCall","src":"75733:24:22"},"variables":[{"name":"shift","nativeSrc":"75724:5:22","nodeType":"YulTypedName","src":"75724:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"75785:3:22","nodeType":"YulIdentifier","src":"75785:3:22"},{"kind":"number","nativeSrc":"75790:4:22","nodeType":"YulLiteral","src":"75790:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"75781:3:22","nodeType":"YulIdentifier","src":"75781:3:22"},"nativeSrc":"75781:14:22","nodeType":"YulFunctionCall","src":"75781:14:22"},{"arguments":[{"name":"shift","nativeSrc":"75801:5:22","nodeType":"YulIdentifier","src":"75801:5:22"},{"arguments":[{"name":"shift","nativeSrc":"75812:5:22","nodeType":"YulIdentifier","src":"75812:5:22"},{"name":"w","nativeSrc":"75819:1:22","nodeType":"YulIdentifier","src":"75819:1:22"}],"functionName":{"name":"shr","nativeSrc":"75808:3:22","nodeType":"YulIdentifier","src":"75808:3:22"},"nativeSrc":"75808:13:22","nodeType":"YulFunctionCall","src":"75808:13:22"}],"functionName":{"name":"shl","nativeSrc":"75797:3:22","nodeType":"YulIdentifier","src":"75797:3:22"},"nativeSrc":"75797:25:22","nodeType":"YulFunctionCall","src":"75797:25:22"}],"functionName":{"name":"mstore","nativeSrc":"75774:6:22","nodeType":"YulIdentifier","src":"75774:6:22"},"nativeSrc":"75774:49:22","nodeType":"YulFunctionCall","src":"75774:49:22"},"nativeSrc":"75774:49:22","nodeType":"YulExpressionStatement","src":"75774:49:22"}]},"name":"writeString","nativeSrc":"75495:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"75516:3:22","nodeType":"YulTypedName","src":"75516:3:22","type":""},{"name":"w","nativeSrc":"75521:1:22","nodeType":"YulTypedName","src":"75521:1:22","type":""}],"src":"75495:342:22"},{"nativeSrc":"75850:17:22","nodeType":"YulAssignment","src":"75850:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"75862:4:22","nodeType":"YulLiteral","src":"75862:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"75856:5:22","nodeType":"YulIdentifier","src":"75856:5:22"},"nativeSrc":"75856:11:22","nodeType":"YulFunctionCall","src":"75856:11:22"},"variableNames":[{"name":"m0","nativeSrc":"75850:2:22","nodeType":"YulIdentifier","src":"75850:2:22"}]},{"nativeSrc":"75880:17:22","nodeType":"YulAssignment","src":"75880:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"75892:4:22","nodeType":"YulLiteral","src":"75892:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"75886:5:22","nodeType":"YulIdentifier","src":"75886:5:22"},"nativeSrc":"75886:11:22","nodeType":"YulFunctionCall","src":"75886:11:22"},"variableNames":[{"name":"m1","nativeSrc":"75880:2:22","nodeType":"YulIdentifier","src":"75880:2:22"}]},{"nativeSrc":"75910:17:22","nodeType":"YulAssignment","src":"75910:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"75922:4:22","nodeType":"YulLiteral","src":"75922:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"75916:5:22","nodeType":"YulIdentifier","src":"75916:5:22"},"nativeSrc":"75916:11:22","nodeType":"YulFunctionCall","src":"75916:11:22"},"variableNames":[{"name":"m2","nativeSrc":"75910:2:22","nodeType":"YulIdentifier","src":"75910:2:22"}]},{"nativeSrc":"75940:17:22","nodeType":"YulAssignment","src":"75940:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"75952:4:22","nodeType":"YulLiteral","src":"75952:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"75946:5:22","nodeType":"YulIdentifier","src":"75946:5:22"},"nativeSrc":"75946:11:22","nodeType":"YulFunctionCall","src":"75946:11:22"},"variableNames":[{"name":"m3","nativeSrc":"75940:2:22","nodeType":"YulIdentifier","src":"75940:2:22"}]},{"nativeSrc":"75970:17:22","nodeType":"YulAssignment","src":"75970:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"75982:4:22","nodeType":"YulLiteral","src":"75982:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"75976:5:22","nodeType":"YulIdentifier","src":"75976:5:22"},"nativeSrc":"75976:11:22","nodeType":"YulFunctionCall","src":"75976:11:22"},"variableNames":[{"name":"m4","nativeSrc":"75970:2:22","nodeType":"YulIdentifier","src":"75970:2:22"}]},{"nativeSrc":"76000:17:22","nodeType":"YulAssignment","src":"76000:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"76012:4:22","nodeType":"YulLiteral","src":"76012:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"76006:5:22","nodeType":"YulIdentifier","src":"76006:5:22"},"nativeSrc":"76006:11:22","nodeType":"YulFunctionCall","src":"76006:11:22"},"variableNames":[{"name":"m5","nativeSrc":"76000:2:22","nodeType":"YulIdentifier","src":"76000:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76089:4:22","nodeType":"YulLiteral","src":"76089:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"76095:10:22","nodeType":"YulLiteral","src":"76095:10:22","type":"","value":"0x850b7ad6"}],"functionName":{"name":"mstore","nativeSrc":"76082:6:22","nodeType":"YulIdentifier","src":"76082:6:22"},"nativeSrc":"76082:24:22","nodeType":"YulFunctionCall","src":"76082:24:22"},"nativeSrc":"76082:24:22","nodeType":"YulExpressionStatement","src":"76082:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76126:4:22","nodeType":"YulLiteral","src":"76126:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"76132:4:22","nodeType":"YulLiteral","src":"76132:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"76119:6:22","nodeType":"YulIdentifier","src":"76119:6:22"},"nativeSrc":"76119:18:22","nodeType":"YulFunctionCall","src":"76119:18:22"},"nativeSrc":"76119:18:22","nodeType":"YulExpressionStatement","src":"76119:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76157:4:22","nodeType":"YulLiteral","src":"76157:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"76163:2:22","nodeType":"YulIdentifier","src":"76163:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76150:6:22","nodeType":"YulIdentifier","src":"76150:6:22"},"nativeSrc":"76150:16:22","nodeType":"YulFunctionCall","src":"76150:16:22"},"nativeSrc":"76150:16:22","nodeType":"YulExpressionStatement","src":"76150:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76186:4:22","nodeType":"YulLiteral","src":"76186:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"76192:2:22","nodeType":"YulIdentifier","src":"76192:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76179:6:22","nodeType":"YulIdentifier","src":"76179:6:22"},"nativeSrc":"76179:16:22","nodeType":"YulFunctionCall","src":"76179:16:22"},"nativeSrc":"76179:16:22","nodeType":"YulExpressionStatement","src":"76179:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76220:4:22","nodeType":"YulLiteral","src":"76220:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"76226:2:22","nodeType":"YulIdentifier","src":"76226:2:22"}],"functionName":{"name":"writeString","nativeSrc":"76208:11:22","nodeType":"YulIdentifier","src":"76208:11:22"},"nativeSrc":"76208:21:22","nodeType":"YulFunctionCall","src":"76208:21:22"},"nativeSrc":"76208:21:22","nodeType":"YulExpressionStatement","src":"76208:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33768,"isOffset":false,"isSlot":false,"src":"75850:2:22","valueSize":1},{"declaration":33771,"isOffset":false,"isSlot":false,"src":"75880:2:22","valueSize":1},{"declaration":33774,"isOffset":false,"isSlot":false,"src":"75910:2:22","valueSize":1},{"declaration":33777,"isOffset":false,"isSlot":false,"src":"75940:2:22","valueSize":1},{"declaration":33780,"isOffset":false,"isSlot":false,"src":"75970:2:22","valueSize":1},{"declaration":33783,"isOffset":false,"isSlot":false,"src":"76000:2:22","valueSize":1},{"declaration":33760,"isOffset":false,"isSlot":false,"src":"76226:2:22","valueSize":1},{"declaration":33762,"isOffset":false,"isSlot":false,"src":"76163:2:22","valueSize":1},{"declaration":33764,"isOffset":false,"isSlot":false,"src":"76192:2:22","valueSize":1}],"id":33785,"nodeType":"InlineAssembly","src":"75472:767:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76264:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76270:4:22","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":33786,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"76248:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76248:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33790,"nodeType":"ExpressionStatement","src":"76248:27:22"},{"AST":{"nativeSrc":"76337:185:22","nodeType":"YulBlock","src":"76337:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"76358:4:22","nodeType":"YulLiteral","src":"76358:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"76364:2:22","nodeType":"YulIdentifier","src":"76364:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76351:6:22","nodeType":"YulIdentifier","src":"76351:6:22"},"nativeSrc":"76351:16:22","nodeType":"YulFunctionCall","src":"76351:16:22"},"nativeSrc":"76351:16:22","nodeType":"YulExpressionStatement","src":"76351:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76387:4:22","nodeType":"YulLiteral","src":"76387:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"76393:2:22","nodeType":"YulIdentifier","src":"76393:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76380:6:22","nodeType":"YulIdentifier","src":"76380:6:22"},"nativeSrc":"76380:16:22","nodeType":"YulFunctionCall","src":"76380:16:22"},"nativeSrc":"76380:16:22","nodeType":"YulExpressionStatement","src":"76380:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76416:4:22","nodeType":"YulLiteral","src":"76416:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"76422:2:22","nodeType":"YulIdentifier","src":"76422:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76409:6:22","nodeType":"YulIdentifier","src":"76409:6:22"},"nativeSrc":"76409:16:22","nodeType":"YulFunctionCall","src":"76409:16:22"},"nativeSrc":"76409:16:22","nodeType":"YulExpressionStatement","src":"76409:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76445:4:22","nodeType":"YulLiteral","src":"76445:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"76451:2:22","nodeType":"YulIdentifier","src":"76451:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76438:6:22","nodeType":"YulIdentifier","src":"76438:6:22"},"nativeSrc":"76438:16:22","nodeType":"YulFunctionCall","src":"76438:16:22"},"nativeSrc":"76438:16:22","nodeType":"YulExpressionStatement","src":"76438:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76474:4:22","nodeType":"YulLiteral","src":"76474:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"76480:2:22","nodeType":"YulIdentifier","src":"76480:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76467:6:22","nodeType":"YulIdentifier","src":"76467:6:22"},"nativeSrc":"76467:16:22","nodeType":"YulFunctionCall","src":"76467:16:22"},"nativeSrc":"76467:16:22","nodeType":"YulExpressionStatement","src":"76467:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76503:4:22","nodeType":"YulLiteral","src":"76503:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"76509:2:22","nodeType":"YulIdentifier","src":"76509:2:22"}],"functionName":{"name":"mstore","nativeSrc":"76496:6:22","nodeType":"YulIdentifier","src":"76496:6:22"},"nativeSrc":"76496:16:22","nodeType":"YulFunctionCall","src":"76496:16:22"},"nativeSrc":"76496:16:22","nodeType":"YulExpressionStatement","src":"76496:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33768,"isOffset":false,"isSlot":false,"src":"76364:2:22","valueSize":1},{"declaration":33771,"isOffset":false,"isSlot":false,"src":"76393:2:22","valueSize":1},{"declaration":33774,"isOffset":false,"isSlot":false,"src":"76422:2:22","valueSize":1},{"declaration":33777,"isOffset":false,"isSlot":false,"src":"76451:2:22","valueSize":1},{"declaration":33780,"isOffset":false,"isSlot":false,"src":"76480:2:22","valueSize":1},{"declaration":33783,"isOffset":false,"isSlot":false,"src":"76509:2:22","valueSize":1}],"id":33791,"nodeType":"InlineAssembly","src":"76328:194:22"}]},"id":33793,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"75251:3:22","nodeType":"FunctionDefinition","parameters":{"id":33765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33760,"mutability":"mutable","name":"p0","nameLocation":"75263:2:22","nodeType":"VariableDeclaration","scope":33793,"src":"75255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75255:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33762,"mutability":"mutable","name":"p1","nameLocation":"75272:2:22","nodeType":"VariableDeclaration","scope":33793,"src":"75267:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33761,"name":"bool","nodeType":"ElementaryTypeName","src":"75267:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33764,"mutability":"mutable","name":"p2","nameLocation":"75281:2:22","nodeType":"VariableDeclaration","scope":33793,"src":"75276:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33763,"name":"bool","nodeType":"ElementaryTypeName","src":"75276:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"75254:30:22"},"returnParameters":{"id":33766,"nodeType":"ParameterList","parameters":[],"src":"75299:0:22"},"scope":44426,"src":"75242:1286:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33827,"nodeType":"Block","src":"76594:1232:22","statements":[{"assignments":[33803],"declarations":[{"constant":false,"id":33803,"mutability":"mutable","name":"m0","nameLocation":"76612:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76604:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76604:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33804,"nodeType":"VariableDeclarationStatement","src":"76604:10:22"},{"assignments":[33806],"declarations":[{"constant":false,"id":33806,"mutability":"mutable","name":"m1","nameLocation":"76632:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76624:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76624:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33807,"nodeType":"VariableDeclarationStatement","src":"76624:10:22"},{"assignments":[33809],"declarations":[{"constant":false,"id":33809,"mutability":"mutable","name":"m2","nameLocation":"76652:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76644:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76644:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33810,"nodeType":"VariableDeclarationStatement","src":"76644:10:22"},{"assignments":[33812],"declarations":[{"constant":false,"id":33812,"mutability":"mutable","name":"m3","nameLocation":"76672:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76664:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76664:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33813,"nodeType":"VariableDeclarationStatement","src":"76664:10:22"},{"assignments":[33815],"declarations":[{"constant":false,"id":33815,"mutability":"mutable","name":"m4","nameLocation":"76692:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33816,"nodeType":"VariableDeclarationStatement","src":"76684:10:22"},{"assignments":[33818],"declarations":[{"constant":false,"id":33818,"mutability":"mutable","name":"m5","nameLocation":"76712:2:22","nodeType":"VariableDeclaration","scope":33827,"src":"76704:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76704:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33819,"nodeType":"VariableDeclarationStatement","src":"76704:10:22"},{"AST":{"nativeSrc":"76776:761:22","nodeType":"YulBlock","src":"76776:761:22","statements":[{"body":{"nativeSrc":"76819:313:22","nodeType":"YulBlock","src":"76819:313:22","statements":[{"nativeSrc":"76837:15:22","nodeType":"YulVariableDeclaration","src":"76837:15:22","value":{"kind":"number","nativeSrc":"76851:1:22","nodeType":"YulLiteral","src":"76851:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"76841:6:22","nodeType":"YulTypedName","src":"76841:6:22","type":""}]},{"body":{"nativeSrc":"76922:40:22","nodeType":"YulBlock","src":"76922:40:22","statements":[{"body":{"nativeSrc":"76951:9:22","nodeType":"YulBlock","src":"76951:9:22","statements":[{"nativeSrc":"76953:5:22","nodeType":"YulBreak","src":"76953:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"76939:6:22","nodeType":"YulIdentifier","src":"76939:6:22"},{"name":"w","nativeSrc":"76947:1:22","nodeType":"YulIdentifier","src":"76947:1:22"}],"functionName":{"name":"byte","nativeSrc":"76934:4:22","nodeType":"YulIdentifier","src":"76934:4:22"},"nativeSrc":"76934:15:22","nodeType":"YulFunctionCall","src":"76934:15:22"}],"functionName":{"name":"iszero","nativeSrc":"76927:6:22","nodeType":"YulIdentifier","src":"76927:6:22"},"nativeSrc":"76927:23:22","nodeType":"YulFunctionCall","src":"76927:23:22"},"nativeSrc":"76924:36:22","nodeType":"YulIf","src":"76924:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"76879:6:22","nodeType":"YulIdentifier","src":"76879:6:22"},{"kind":"number","nativeSrc":"76887:4:22","nodeType":"YulLiteral","src":"76887:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"76876:2:22","nodeType":"YulIdentifier","src":"76876:2:22"},"nativeSrc":"76876:16:22","nodeType":"YulFunctionCall","src":"76876:16:22"},"nativeSrc":"76869:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"76893:28:22","nodeType":"YulBlock","src":"76893:28:22","statements":[{"nativeSrc":"76895:24:22","nodeType":"YulAssignment","src":"76895:24:22","value":{"arguments":[{"name":"length","nativeSrc":"76909:6:22","nodeType":"YulIdentifier","src":"76909:6:22"},{"kind":"number","nativeSrc":"76917:1:22","nodeType":"YulLiteral","src":"76917:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"76905:3:22","nodeType":"YulIdentifier","src":"76905:3:22"},"nativeSrc":"76905:14:22","nodeType":"YulFunctionCall","src":"76905:14:22"},"variableNames":[{"name":"length","nativeSrc":"76895:6:22","nodeType":"YulIdentifier","src":"76895:6:22"}]}]},"pre":{"nativeSrc":"76873:2:22","nodeType":"YulBlock","src":"76873:2:22","statements":[]},"src":"76869:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"76986:3:22","nodeType":"YulIdentifier","src":"76986:3:22"},{"name":"length","nativeSrc":"76991:6:22","nodeType":"YulIdentifier","src":"76991:6:22"}],"functionName":{"name":"mstore","nativeSrc":"76979:6:22","nodeType":"YulIdentifier","src":"76979:6:22"},"nativeSrc":"76979:19:22","nodeType":"YulFunctionCall","src":"76979:19:22"},"nativeSrc":"76979:19:22","nodeType":"YulExpressionStatement","src":"76979:19:22"},{"nativeSrc":"77015:37:22","nodeType":"YulVariableDeclaration","src":"77015:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"77032:3:22","nodeType":"YulLiteral","src":"77032:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"77041:1:22","nodeType":"YulLiteral","src":"77041:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"77044:6:22","nodeType":"YulIdentifier","src":"77044:6:22"}],"functionName":{"name":"shl","nativeSrc":"77037:3:22","nodeType":"YulIdentifier","src":"77037:3:22"},"nativeSrc":"77037:14:22","nodeType":"YulFunctionCall","src":"77037:14:22"}],"functionName":{"name":"sub","nativeSrc":"77028:3:22","nodeType":"YulIdentifier","src":"77028:3:22"},"nativeSrc":"77028:24:22","nodeType":"YulFunctionCall","src":"77028:24:22"},"variables":[{"name":"shift","nativeSrc":"77019:5:22","nodeType":"YulTypedName","src":"77019:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"77080:3:22","nodeType":"YulIdentifier","src":"77080:3:22"},{"kind":"number","nativeSrc":"77085:4:22","nodeType":"YulLiteral","src":"77085:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"77076:3:22","nodeType":"YulIdentifier","src":"77076:3:22"},"nativeSrc":"77076:14:22","nodeType":"YulFunctionCall","src":"77076:14:22"},{"arguments":[{"name":"shift","nativeSrc":"77096:5:22","nodeType":"YulIdentifier","src":"77096:5:22"},{"arguments":[{"name":"shift","nativeSrc":"77107:5:22","nodeType":"YulIdentifier","src":"77107:5:22"},{"name":"w","nativeSrc":"77114:1:22","nodeType":"YulIdentifier","src":"77114:1:22"}],"functionName":{"name":"shr","nativeSrc":"77103:3:22","nodeType":"YulIdentifier","src":"77103:3:22"},"nativeSrc":"77103:13:22","nodeType":"YulFunctionCall","src":"77103:13:22"}],"functionName":{"name":"shl","nativeSrc":"77092:3:22","nodeType":"YulIdentifier","src":"77092:3:22"},"nativeSrc":"77092:25:22","nodeType":"YulFunctionCall","src":"77092:25:22"}],"functionName":{"name":"mstore","nativeSrc":"77069:6:22","nodeType":"YulIdentifier","src":"77069:6:22"},"nativeSrc":"77069:49:22","nodeType":"YulFunctionCall","src":"77069:49:22"},"nativeSrc":"77069:49:22","nodeType":"YulExpressionStatement","src":"77069:49:22"}]},"name":"writeString","nativeSrc":"76790:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"76811:3:22","nodeType":"YulTypedName","src":"76811:3:22","type":""},{"name":"w","nativeSrc":"76816:1:22","nodeType":"YulTypedName","src":"76816:1:22","type":""}],"src":"76790:342:22"},{"nativeSrc":"77145:17:22","nodeType":"YulAssignment","src":"77145:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77157:4:22","nodeType":"YulLiteral","src":"77157:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"77151:5:22","nodeType":"YulIdentifier","src":"77151:5:22"},"nativeSrc":"77151:11:22","nodeType":"YulFunctionCall","src":"77151:11:22"},"variableNames":[{"name":"m0","nativeSrc":"77145:2:22","nodeType":"YulIdentifier","src":"77145:2:22"}]},{"nativeSrc":"77175:17:22","nodeType":"YulAssignment","src":"77175:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77187:4:22","nodeType":"YulLiteral","src":"77187:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"77181:5:22","nodeType":"YulIdentifier","src":"77181:5:22"},"nativeSrc":"77181:11:22","nodeType":"YulFunctionCall","src":"77181:11:22"},"variableNames":[{"name":"m1","nativeSrc":"77175:2:22","nodeType":"YulIdentifier","src":"77175:2:22"}]},{"nativeSrc":"77205:17:22","nodeType":"YulAssignment","src":"77205:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77217:4:22","nodeType":"YulLiteral","src":"77217:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"77211:5:22","nodeType":"YulIdentifier","src":"77211:5:22"},"nativeSrc":"77211:11:22","nodeType":"YulFunctionCall","src":"77211:11:22"},"variableNames":[{"name":"m2","nativeSrc":"77205:2:22","nodeType":"YulIdentifier","src":"77205:2:22"}]},{"nativeSrc":"77235:17:22","nodeType":"YulAssignment","src":"77235:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77247:4:22","nodeType":"YulLiteral","src":"77247:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"77241:5:22","nodeType":"YulIdentifier","src":"77241:5:22"},"nativeSrc":"77241:11:22","nodeType":"YulFunctionCall","src":"77241:11:22"},"variableNames":[{"name":"m3","nativeSrc":"77235:2:22","nodeType":"YulIdentifier","src":"77235:2:22"}]},{"nativeSrc":"77265:17:22","nodeType":"YulAssignment","src":"77265:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77277:4:22","nodeType":"YulLiteral","src":"77277:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"77271:5:22","nodeType":"YulIdentifier","src":"77271:5:22"},"nativeSrc":"77271:11:22","nodeType":"YulFunctionCall","src":"77271:11:22"},"variableNames":[{"name":"m4","nativeSrc":"77265:2:22","nodeType":"YulIdentifier","src":"77265:2:22"}]},{"nativeSrc":"77295:17:22","nodeType":"YulAssignment","src":"77295:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"77307:4:22","nodeType":"YulLiteral","src":"77307:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"77301:5:22","nodeType":"YulIdentifier","src":"77301:5:22"},"nativeSrc":"77301:11:22","nodeType":"YulFunctionCall","src":"77301:11:22"},"variableNames":[{"name":"m5","nativeSrc":"77295:2:22","nodeType":"YulIdentifier","src":"77295:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77387:4:22","nodeType":"YulLiteral","src":"77387:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"77393:10:22","nodeType":"YulLiteral","src":"77393:10:22","type":"","value":"0xc95958d6"}],"functionName":{"name":"mstore","nativeSrc":"77380:6:22","nodeType":"YulIdentifier","src":"77380:6:22"},"nativeSrc":"77380:24:22","nodeType":"YulFunctionCall","src":"77380:24:22"},"nativeSrc":"77380:24:22","nodeType":"YulExpressionStatement","src":"77380:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77424:4:22","nodeType":"YulLiteral","src":"77424:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"77430:4:22","nodeType":"YulLiteral","src":"77430:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"77417:6:22","nodeType":"YulIdentifier","src":"77417:6:22"},"nativeSrc":"77417:18:22","nodeType":"YulFunctionCall","src":"77417:18:22"},"nativeSrc":"77417:18:22","nodeType":"YulExpressionStatement","src":"77417:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77455:4:22","nodeType":"YulLiteral","src":"77455:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"77461:2:22","nodeType":"YulIdentifier","src":"77461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77448:6:22","nodeType":"YulIdentifier","src":"77448:6:22"},"nativeSrc":"77448:16:22","nodeType":"YulFunctionCall","src":"77448:16:22"},"nativeSrc":"77448:16:22","nodeType":"YulExpressionStatement","src":"77448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77484:4:22","nodeType":"YulLiteral","src":"77484:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"77490:2:22","nodeType":"YulIdentifier","src":"77490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77477:6:22","nodeType":"YulIdentifier","src":"77477:6:22"},"nativeSrc":"77477:16:22","nodeType":"YulFunctionCall","src":"77477:16:22"},"nativeSrc":"77477:16:22","nodeType":"YulExpressionStatement","src":"77477:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77518:4:22","nodeType":"YulLiteral","src":"77518:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"77524:2:22","nodeType":"YulIdentifier","src":"77524:2:22"}],"functionName":{"name":"writeString","nativeSrc":"77506:11:22","nodeType":"YulIdentifier","src":"77506:11:22"},"nativeSrc":"77506:21:22","nodeType":"YulFunctionCall","src":"77506:21:22"},"nativeSrc":"77506:21:22","nodeType":"YulExpressionStatement","src":"77506:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33803,"isOffset":false,"isSlot":false,"src":"77145:2:22","valueSize":1},{"declaration":33806,"isOffset":false,"isSlot":false,"src":"77175:2:22","valueSize":1},{"declaration":33809,"isOffset":false,"isSlot":false,"src":"77205:2:22","valueSize":1},{"declaration":33812,"isOffset":false,"isSlot":false,"src":"77235:2:22","valueSize":1},{"declaration":33815,"isOffset":false,"isSlot":false,"src":"77265:2:22","valueSize":1},{"declaration":33818,"isOffset":false,"isSlot":false,"src":"77295:2:22","valueSize":1},{"declaration":33795,"isOffset":false,"isSlot":false,"src":"77524:2:22","valueSize":1},{"declaration":33797,"isOffset":false,"isSlot":false,"src":"77461:2:22","valueSize":1},{"declaration":33799,"isOffset":false,"isSlot":false,"src":"77490:2:22","valueSize":1}],"id":33820,"nodeType":"InlineAssembly","src":"76767:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77562:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77568:4:22","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":33821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"77546:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77546:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33825,"nodeType":"ExpressionStatement","src":"77546:27:22"},{"AST":{"nativeSrc":"77635:185:22","nodeType":"YulBlock","src":"77635:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"77656:4:22","nodeType":"YulLiteral","src":"77656:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"77662:2:22","nodeType":"YulIdentifier","src":"77662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77649:6:22","nodeType":"YulIdentifier","src":"77649:6:22"},"nativeSrc":"77649:16:22","nodeType":"YulFunctionCall","src":"77649:16:22"},"nativeSrc":"77649:16:22","nodeType":"YulExpressionStatement","src":"77649:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77685:4:22","nodeType":"YulLiteral","src":"77685:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"77691:2:22","nodeType":"YulIdentifier","src":"77691:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77678:6:22","nodeType":"YulIdentifier","src":"77678:6:22"},"nativeSrc":"77678:16:22","nodeType":"YulFunctionCall","src":"77678:16:22"},"nativeSrc":"77678:16:22","nodeType":"YulExpressionStatement","src":"77678:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77714:4:22","nodeType":"YulLiteral","src":"77714:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"77720:2:22","nodeType":"YulIdentifier","src":"77720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77707:6:22","nodeType":"YulIdentifier","src":"77707:6:22"},"nativeSrc":"77707:16:22","nodeType":"YulFunctionCall","src":"77707:16:22"},"nativeSrc":"77707:16:22","nodeType":"YulExpressionStatement","src":"77707:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77743:4:22","nodeType":"YulLiteral","src":"77743:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"77749:2:22","nodeType":"YulIdentifier","src":"77749:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77736:6:22","nodeType":"YulIdentifier","src":"77736:6:22"},"nativeSrc":"77736:16:22","nodeType":"YulFunctionCall","src":"77736:16:22"},"nativeSrc":"77736:16:22","nodeType":"YulExpressionStatement","src":"77736:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77772:4:22","nodeType":"YulLiteral","src":"77772:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"77778:2:22","nodeType":"YulIdentifier","src":"77778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77765:6:22","nodeType":"YulIdentifier","src":"77765:6:22"},"nativeSrc":"77765:16:22","nodeType":"YulFunctionCall","src":"77765:16:22"},"nativeSrc":"77765:16:22","nodeType":"YulExpressionStatement","src":"77765:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77801:4:22","nodeType":"YulLiteral","src":"77801:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"77807:2:22","nodeType":"YulIdentifier","src":"77807:2:22"}],"functionName":{"name":"mstore","nativeSrc":"77794:6:22","nodeType":"YulIdentifier","src":"77794:6:22"},"nativeSrc":"77794:16:22","nodeType":"YulFunctionCall","src":"77794:16:22"},"nativeSrc":"77794:16:22","nodeType":"YulExpressionStatement","src":"77794:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33803,"isOffset":false,"isSlot":false,"src":"77662:2:22","valueSize":1},{"declaration":33806,"isOffset":false,"isSlot":false,"src":"77691:2:22","valueSize":1},{"declaration":33809,"isOffset":false,"isSlot":false,"src":"77720:2:22","valueSize":1},{"declaration":33812,"isOffset":false,"isSlot":false,"src":"77749:2:22","valueSize":1},{"declaration":33815,"isOffset":false,"isSlot":false,"src":"77778:2:22","valueSize":1},{"declaration":33818,"isOffset":false,"isSlot":false,"src":"77807:2:22","valueSize":1}],"id":33826,"nodeType":"InlineAssembly","src":"77626:194:22"}]},"id":33828,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"76543:3:22","nodeType":"FunctionDefinition","parameters":{"id":33800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33795,"mutability":"mutable","name":"p0","nameLocation":"76555:2:22","nodeType":"VariableDeclaration","scope":33828,"src":"76547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33797,"mutability":"mutable","name":"p1","nameLocation":"76564:2:22","nodeType":"VariableDeclaration","scope":33828,"src":"76559:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33796,"name":"bool","nodeType":"ElementaryTypeName","src":"76559:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33799,"mutability":"mutable","name":"p2","nameLocation":"76576:2:22","nodeType":"VariableDeclaration","scope":33828,"src":"76568:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33798,"name":"uint256","nodeType":"ElementaryTypeName","src":"76568:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76546:33:22"},"returnParameters":{"id":33801,"nodeType":"ParameterList","parameters":[],"src":"76594:0:22"},"scope":44426,"src":"76534:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33868,"nodeType":"Block","src":"77892:1425:22","statements":[{"assignments":[33838],"declarations":[{"constant":false,"id":33838,"mutability":"mutable","name":"m0","nameLocation":"77910:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"77902:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77902:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33839,"nodeType":"VariableDeclarationStatement","src":"77902:10:22"},{"assignments":[33841],"declarations":[{"constant":false,"id":33841,"mutability":"mutable","name":"m1","nameLocation":"77930:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"77922:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77922:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33842,"nodeType":"VariableDeclarationStatement","src":"77922:10:22"},{"assignments":[33844],"declarations":[{"constant":false,"id":33844,"mutability":"mutable","name":"m2","nameLocation":"77950:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"77942:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77942:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33845,"nodeType":"VariableDeclarationStatement","src":"77942:10:22"},{"assignments":[33847],"declarations":[{"constant":false,"id":33847,"mutability":"mutable","name":"m3","nameLocation":"77970:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"77962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33848,"nodeType":"VariableDeclarationStatement","src":"77962:10:22"},{"assignments":[33850],"declarations":[{"constant":false,"id":33850,"mutability":"mutable","name":"m4","nameLocation":"77990:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"77982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33851,"nodeType":"VariableDeclarationStatement","src":"77982:10:22"},{"assignments":[33853],"declarations":[{"constant":false,"id":33853,"mutability":"mutable","name":"m5","nameLocation":"78010:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"78002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33854,"nodeType":"VariableDeclarationStatement","src":"78002:10:22"},{"assignments":[33856],"declarations":[{"constant":false,"id":33856,"mutability":"mutable","name":"m6","nameLocation":"78030:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"78022:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78022:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33857,"nodeType":"VariableDeclarationStatement","src":"78022:10:22"},{"assignments":[33859],"declarations":[{"constant":false,"id":33859,"mutability":"mutable","name":"m7","nameLocation":"78050:2:22","nodeType":"VariableDeclaration","scope":33868,"src":"78042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78042:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33860,"nodeType":"VariableDeclarationStatement","src":"78042:10:22"},{"AST":{"nativeSrc":"78114:856:22","nodeType":"YulBlock","src":"78114:856:22","statements":[{"body":{"nativeSrc":"78157:313:22","nodeType":"YulBlock","src":"78157:313:22","statements":[{"nativeSrc":"78175:15:22","nodeType":"YulVariableDeclaration","src":"78175:15:22","value":{"kind":"number","nativeSrc":"78189:1:22","nodeType":"YulLiteral","src":"78189:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"78179:6:22","nodeType":"YulTypedName","src":"78179:6:22","type":""}]},{"body":{"nativeSrc":"78260:40:22","nodeType":"YulBlock","src":"78260:40:22","statements":[{"body":{"nativeSrc":"78289:9:22","nodeType":"YulBlock","src":"78289:9:22","statements":[{"nativeSrc":"78291:5:22","nodeType":"YulBreak","src":"78291:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"78277:6:22","nodeType":"YulIdentifier","src":"78277:6:22"},{"name":"w","nativeSrc":"78285:1:22","nodeType":"YulIdentifier","src":"78285:1:22"}],"functionName":{"name":"byte","nativeSrc":"78272:4:22","nodeType":"YulIdentifier","src":"78272:4:22"},"nativeSrc":"78272:15:22","nodeType":"YulFunctionCall","src":"78272:15:22"}],"functionName":{"name":"iszero","nativeSrc":"78265:6:22","nodeType":"YulIdentifier","src":"78265:6:22"},"nativeSrc":"78265:23:22","nodeType":"YulFunctionCall","src":"78265:23:22"},"nativeSrc":"78262:36:22","nodeType":"YulIf","src":"78262:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"78217:6:22","nodeType":"YulIdentifier","src":"78217:6:22"},{"kind":"number","nativeSrc":"78225:4:22","nodeType":"YulLiteral","src":"78225:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"78214:2:22","nodeType":"YulIdentifier","src":"78214:2:22"},"nativeSrc":"78214:16:22","nodeType":"YulFunctionCall","src":"78214:16:22"},"nativeSrc":"78207:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"78231:28:22","nodeType":"YulBlock","src":"78231:28:22","statements":[{"nativeSrc":"78233:24:22","nodeType":"YulAssignment","src":"78233:24:22","value":{"arguments":[{"name":"length","nativeSrc":"78247:6:22","nodeType":"YulIdentifier","src":"78247:6:22"},{"kind":"number","nativeSrc":"78255:1:22","nodeType":"YulLiteral","src":"78255:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"78243:3:22","nodeType":"YulIdentifier","src":"78243:3:22"},"nativeSrc":"78243:14:22","nodeType":"YulFunctionCall","src":"78243:14:22"},"variableNames":[{"name":"length","nativeSrc":"78233:6:22","nodeType":"YulIdentifier","src":"78233:6:22"}]}]},"pre":{"nativeSrc":"78211:2:22","nodeType":"YulBlock","src":"78211:2:22","statements":[]},"src":"78207:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"78324:3:22","nodeType":"YulIdentifier","src":"78324:3:22"},{"name":"length","nativeSrc":"78329:6:22","nodeType":"YulIdentifier","src":"78329:6:22"}],"functionName":{"name":"mstore","nativeSrc":"78317:6:22","nodeType":"YulIdentifier","src":"78317:6:22"},"nativeSrc":"78317:19:22","nodeType":"YulFunctionCall","src":"78317:19:22"},"nativeSrc":"78317:19:22","nodeType":"YulExpressionStatement","src":"78317:19:22"},{"nativeSrc":"78353:37:22","nodeType":"YulVariableDeclaration","src":"78353:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"78370:3:22","nodeType":"YulLiteral","src":"78370:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"78379:1:22","nodeType":"YulLiteral","src":"78379:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"78382:6:22","nodeType":"YulIdentifier","src":"78382:6:22"}],"functionName":{"name":"shl","nativeSrc":"78375:3:22","nodeType":"YulIdentifier","src":"78375:3:22"},"nativeSrc":"78375:14:22","nodeType":"YulFunctionCall","src":"78375:14:22"}],"functionName":{"name":"sub","nativeSrc":"78366:3:22","nodeType":"YulIdentifier","src":"78366:3:22"},"nativeSrc":"78366:24:22","nodeType":"YulFunctionCall","src":"78366:24:22"},"variables":[{"name":"shift","nativeSrc":"78357:5:22","nodeType":"YulTypedName","src":"78357:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"78418:3:22","nodeType":"YulIdentifier","src":"78418:3:22"},{"kind":"number","nativeSrc":"78423:4:22","nodeType":"YulLiteral","src":"78423:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"78414:3:22","nodeType":"YulIdentifier","src":"78414:3:22"},"nativeSrc":"78414:14:22","nodeType":"YulFunctionCall","src":"78414:14:22"},{"arguments":[{"name":"shift","nativeSrc":"78434:5:22","nodeType":"YulIdentifier","src":"78434:5:22"},{"arguments":[{"name":"shift","nativeSrc":"78445:5:22","nodeType":"YulIdentifier","src":"78445:5:22"},{"name":"w","nativeSrc":"78452:1:22","nodeType":"YulIdentifier","src":"78452:1:22"}],"functionName":{"name":"shr","nativeSrc":"78441:3:22","nodeType":"YulIdentifier","src":"78441:3:22"},"nativeSrc":"78441:13:22","nodeType":"YulFunctionCall","src":"78441:13:22"}],"functionName":{"name":"shl","nativeSrc":"78430:3:22","nodeType":"YulIdentifier","src":"78430:3:22"},"nativeSrc":"78430:25:22","nodeType":"YulFunctionCall","src":"78430:25:22"}],"functionName":{"name":"mstore","nativeSrc":"78407:6:22","nodeType":"YulIdentifier","src":"78407:6:22"},"nativeSrc":"78407:49:22","nodeType":"YulFunctionCall","src":"78407:49:22"},"nativeSrc":"78407:49:22","nodeType":"YulExpressionStatement","src":"78407:49:22"}]},"name":"writeString","nativeSrc":"78128:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"78149:3:22","nodeType":"YulTypedName","src":"78149:3:22","type":""},{"name":"w","nativeSrc":"78154:1:22","nodeType":"YulTypedName","src":"78154:1:22","type":""}],"src":"78128:342:22"},{"nativeSrc":"78483:17:22","nodeType":"YulAssignment","src":"78483:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78495:4:22","nodeType":"YulLiteral","src":"78495:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"78489:5:22","nodeType":"YulIdentifier","src":"78489:5:22"},"nativeSrc":"78489:11:22","nodeType":"YulFunctionCall","src":"78489:11:22"},"variableNames":[{"name":"m0","nativeSrc":"78483:2:22","nodeType":"YulIdentifier","src":"78483:2:22"}]},{"nativeSrc":"78513:17:22","nodeType":"YulAssignment","src":"78513:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78525:4:22","nodeType":"YulLiteral","src":"78525:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"78519:5:22","nodeType":"YulIdentifier","src":"78519:5:22"},"nativeSrc":"78519:11:22","nodeType":"YulFunctionCall","src":"78519:11:22"},"variableNames":[{"name":"m1","nativeSrc":"78513:2:22","nodeType":"YulIdentifier","src":"78513:2:22"}]},{"nativeSrc":"78543:17:22","nodeType":"YulAssignment","src":"78543:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78555:4:22","nodeType":"YulLiteral","src":"78555:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"78549:5:22","nodeType":"YulIdentifier","src":"78549:5:22"},"nativeSrc":"78549:11:22","nodeType":"YulFunctionCall","src":"78549:11:22"},"variableNames":[{"name":"m2","nativeSrc":"78543:2:22","nodeType":"YulIdentifier","src":"78543:2:22"}]},{"nativeSrc":"78573:17:22","nodeType":"YulAssignment","src":"78573:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78585:4:22","nodeType":"YulLiteral","src":"78585:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"78579:5:22","nodeType":"YulIdentifier","src":"78579:5:22"},"nativeSrc":"78579:11:22","nodeType":"YulFunctionCall","src":"78579:11:22"},"variableNames":[{"name":"m3","nativeSrc":"78573:2:22","nodeType":"YulIdentifier","src":"78573:2:22"}]},{"nativeSrc":"78603:17:22","nodeType":"YulAssignment","src":"78603:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78615:4:22","nodeType":"YulLiteral","src":"78615:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"78609:5:22","nodeType":"YulIdentifier","src":"78609:5:22"},"nativeSrc":"78609:11:22","nodeType":"YulFunctionCall","src":"78609:11:22"},"variableNames":[{"name":"m4","nativeSrc":"78603:2:22","nodeType":"YulIdentifier","src":"78603:2:22"}]},{"nativeSrc":"78633:17:22","nodeType":"YulAssignment","src":"78633:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78645:4:22","nodeType":"YulLiteral","src":"78645:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"78639:5:22","nodeType":"YulIdentifier","src":"78639:5:22"},"nativeSrc":"78639:11:22","nodeType":"YulFunctionCall","src":"78639:11:22"},"variableNames":[{"name":"m5","nativeSrc":"78633:2:22","nodeType":"YulIdentifier","src":"78633:2:22"}]},{"nativeSrc":"78663:17:22","nodeType":"YulAssignment","src":"78663:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78675:4:22","nodeType":"YulLiteral","src":"78675:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"78669:5:22","nodeType":"YulIdentifier","src":"78669:5:22"},"nativeSrc":"78669:11:22","nodeType":"YulFunctionCall","src":"78669:11:22"},"variableNames":[{"name":"m6","nativeSrc":"78663:2:22","nodeType":"YulIdentifier","src":"78663:2:22"}]},{"nativeSrc":"78693:17:22","nodeType":"YulAssignment","src":"78693:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"78705:4:22","nodeType":"YulLiteral","src":"78705:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"78699:5:22","nodeType":"YulIdentifier","src":"78699:5:22"},"nativeSrc":"78699:11:22","nodeType":"YulFunctionCall","src":"78699:11:22"},"variableNames":[{"name":"m7","nativeSrc":"78693:2:22","nodeType":"YulIdentifier","src":"78693:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78784:4:22","nodeType":"YulLiteral","src":"78784:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"78790:10:22","nodeType":"YulLiteral","src":"78790:10:22","type":"","value":"0xe298f47d"}],"functionName":{"name":"mstore","nativeSrc":"78777:6:22","nodeType":"YulIdentifier","src":"78777:6:22"},"nativeSrc":"78777:24:22","nodeType":"YulFunctionCall","src":"78777:24:22"},"nativeSrc":"78777:24:22","nodeType":"YulExpressionStatement","src":"78777:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78821:4:22","nodeType":"YulLiteral","src":"78821:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"78827:4:22","nodeType":"YulLiteral","src":"78827:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"78814:6:22","nodeType":"YulIdentifier","src":"78814:6:22"},"nativeSrc":"78814:18:22","nodeType":"YulFunctionCall","src":"78814:18:22"},"nativeSrc":"78814:18:22","nodeType":"YulExpressionStatement","src":"78814:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78852:4:22","nodeType":"YulLiteral","src":"78852:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"78858:2:22","nodeType":"YulIdentifier","src":"78858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"78845:6:22","nodeType":"YulIdentifier","src":"78845:6:22"},"nativeSrc":"78845:16:22","nodeType":"YulFunctionCall","src":"78845:16:22"},"nativeSrc":"78845:16:22","nodeType":"YulExpressionStatement","src":"78845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78881:4:22","nodeType":"YulLiteral","src":"78881:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"78887:4:22","nodeType":"YulLiteral","src":"78887:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"78874:6:22","nodeType":"YulIdentifier","src":"78874:6:22"},"nativeSrc":"78874:18:22","nodeType":"YulFunctionCall","src":"78874:18:22"},"nativeSrc":"78874:18:22","nodeType":"YulExpressionStatement","src":"78874:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78917:4:22","nodeType":"YulLiteral","src":"78917:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"78923:2:22","nodeType":"YulIdentifier","src":"78923:2:22"}],"functionName":{"name":"writeString","nativeSrc":"78905:11:22","nodeType":"YulIdentifier","src":"78905:11:22"},"nativeSrc":"78905:21:22","nodeType":"YulFunctionCall","src":"78905:21:22"},"nativeSrc":"78905:21:22","nodeType":"YulExpressionStatement","src":"78905:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78951:4:22","nodeType":"YulLiteral","src":"78951:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"78957:2:22","nodeType":"YulIdentifier","src":"78957:2:22"}],"functionName":{"name":"writeString","nativeSrc":"78939:11:22","nodeType":"YulIdentifier","src":"78939:11:22"},"nativeSrc":"78939:21:22","nodeType":"YulFunctionCall","src":"78939:21:22"},"nativeSrc":"78939:21:22","nodeType":"YulExpressionStatement","src":"78939:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33838,"isOffset":false,"isSlot":false,"src":"78483:2:22","valueSize":1},{"declaration":33841,"isOffset":false,"isSlot":false,"src":"78513:2:22","valueSize":1},{"declaration":33844,"isOffset":false,"isSlot":false,"src":"78543:2:22","valueSize":1},{"declaration":33847,"isOffset":false,"isSlot":false,"src":"78573:2:22","valueSize":1},{"declaration":33850,"isOffset":false,"isSlot":false,"src":"78603:2:22","valueSize":1},{"declaration":33853,"isOffset":false,"isSlot":false,"src":"78633:2:22","valueSize":1},{"declaration":33856,"isOffset":false,"isSlot":false,"src":"78663:2:22","valueSize":1},{"declaration":33859,"isOffset":false,"isSlot":false,"src":"78693:2:22","valueSize":1},{"declaration":33830,"isOffset":false,"isSlot":false,"src":"78923:2:22","valueSize":1},{"declaration":33832,"isOffset":false,"isSlot":false,"src":"78858:2:22","valueSize":1},{"declaration":33834,"isOffset":false,"isSlot":false,"src":"78957:2:22","valueSize":1}],"id":33861,"nodeType":"InlineAssembly","src":"78105:865:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"78995:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":33864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"79001:4:22","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":33862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"78979:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78979:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33866,"nodeType":"ExpressionStatement","src":"78979:27:22"},{"AST":{"nativeSrc":"79068:243:22","nodeType":"YulBlock","src":"79068:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"79089:4:22","nodeType":"YulLiteral","src":"79089:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"79095:2:22","nodeType":"YulIdentifier","src":"79095:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79082:6:22","nodeType":"YulIdentifier","src":"79082:6:22"},"nativeSrc":"79082:16:22","nodeType":"YulFunctionCall","src":"79082:16:22"},"nativeSrc":"79082:16:22","nodeType":"YulExpressionStatement","src":"79082:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79118:4:22","nodeType":"YulLiteral","src":"79118:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"79124:2:22","nodeType":"YulIdentifier","src":"79124:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79111:6:22","nodeType":"YulIdentifier","src":"79111:6:22"},"nativeSrc":"79111:16:22","nodeType":"YulFunctionCall","src":"79111:16:22"},"nativeSrc":"79111:16:22","nodeType":"YulExpressionStatement","src":"79111:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79147:4:22","nodeType":"YulLiteral","src":"79147:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"79153:2:22","nodeType":"YulIdentifier","src":"79153:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79140:6:22","nodeType":"YulIdentifier","src":"79140:6:22"},"nativeSrc":"79140:16:22","nodeType":"YulFunctionCall","src":"79140:16:22"},"nativeSrc":"79140:16:22","nodeType":"YulExpressionStatement","src":"79140:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79176:4:22","nodeType":"YulLiteral","src":"79176:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"79182:2:22","nodeType":"YulIdentifier","src":"79182:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79169:6:22","nodeType":"YulIdentifier","src":"79169:6:22"},"nativeSrc":"79169:16:22","nodeType":"YulFunctionCall","src":"79169:16:22"},"nativeSrc":"79169:16:22","nodeType":"YulExpressionStatement","src":"79169:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79205:4:22","nodeType":"YulLiteral","src":"79205:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"79211:2:22","nodeType":"YulIdentifier","src":"79211:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79198:6:22","nodeType":"YulIdentifier","src":"79198:6:22"},"nativeSrc":"79198:16:22","nodeType":"YulFunctionCall","src":"79198:16:22"},"nativeSrc":"79198:16:22","nodeType":"YulExpressionStatement","src":"79198:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79234:4:22","nodeType":"YulLiteral","src":"79234:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"79240:2:22","nodeType":"YulIdentifier","src":"79240:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79227:6:22","nodeType":"YulIdentifier","src":"79227:6:22"},"nativeSrc":"79227:16:22","nodeType":"YulFunctionCall","src":"79227:16:22"},"nativeSrc":"79227:16:22","nodeType":"YulExpressionStatement","src":"79227:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79263:4:22","nodeType":"YulLiteral","src":"79263:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"79269:2:22","nodeType":"YulIdentifier","src":"79269:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79256:6:22","nodeType":"YulIdentifier","src":"79256:6:22"},"nativeSrc":"79256:16:22","nodeType":"YulFunctionCall","src":"79256:16:22"},"nativeSrc":"79256:16:22","nodeType":"YulExpressionStatement","src":"79256:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79292:4:22","nodeType":"YulLiteral","src":"79292:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"79298:2:22","nodeType":"YulIdentifier","src":"79298:2:22"}],"functionName":{"name":"mstore","nativeSrc":"79285:6:22","nodeType":"YulIdentifier","src":"79285:6:22"},"nativeSrc":"79285:16:22","nodeType":"YulFunctionCall","src":"79285:16:22"},"nativeSrc":"79285:16:22","nodeType":"YulExpressionStatement","src":"79285:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33838,"isOffset":false,"isSlot":false,"src":"79095:2:22","valueSize":1},{"declaration":33841,"isOffset":false,"isSlot":false,"src":"79124:2:22","valueSize":1},{"declaration":33844,"isOffset":false,"isSlot":false,"src":"79153:2:22","valueSize":1},{"declaration":33847,"isOffset":false,"isSlot":false,"src":"79182:2:22","valueSize":1},{"declaration":33850,"isOffset":false,"isSlot":false,"src":"79211:2:22","valueSize":1},{"declaration":33853,"isOffset":false,"isSlot":false,"src":"79240:2:22","valueSize":1},{"declaration":33856,"isOffset":false,"isSlot":false,"src":"79269:2:22","valueSize":1},{"declaration":33859,"isOffset":false,"isSlot":false,"src":"79298:2:22","valueSize":1}],"id":33867,"nodeType":"InlineAssembly","src":"79059:252:22"}]},"id":33869,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"77841:3:22","nodeType":"FunctionDefinition","parameters":{"id":33835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33830,"mutability":"mutable","name":"p0","nameLocation":"77853:2:22","nodeType":"VariableDeclaration","scope":33869,"src":"77845:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77845:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33832,"mutability":"mutable","name":"p1","nameLocation":"77862:2:22","nodeType":"VariableDeclaration","scope":33869,"src":"77857:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33831,"name":"bool","nodeType":"ElementaryTypeName","src":"77857:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33834,"mutability":"mutable","name":"p2","nameLocation":"77874:2:22","nodeType":"VariableDeclaration","scope":33869,"src":"77866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77844:33:22"},"returnParameters":{"id":33836,"nodeType":"ParameterList","parameters":[],"src":"77892:0:22"},"scope":44426,"src":"77832:1485:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33903,"nodeType":"Block","src":"79386:1235:22","statements":[{"assignments":[33879],"declarations":[{"constant":false,"id":33879,"mutability":"mutable","name":"m0","nameLocation":"79404:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33880,"nodeType":"VariableDeclarationStatement","src":"79396:10:22"},{"assignments":[33882],"declarations":[{"constant":false,"id":33882,"mutability":"mutable","name":"m1","nameLocation":"79424:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79416:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79416:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33883,"nodeType":"VariableDeclarationStatement","src":"79416:10:22"},{"assignments":[33885],"declarations":[{"constant":false,"id":33885,"mutability":"mutable","name":"m2","nameLocation":"79444:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79436:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79436:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33886,"nodeType":"VariableDeclarationStatement","src":"79436:10:22"},{"assignments":[33888],"declarations":[{"constant":false,"id":33888,"mutability":"mutable","name":"m3","nameLocation":"79464:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33889,"nodeType":"VariableDeclarationStatement","src":"79456:10:22"},{"assignments":[33891],"declarations":[{"constant":false,"id":33891,"mutability":"mutable","name":"m4","nameLocation":"79484:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79476:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79476:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33892,"nodeType":"VariableDeclarationStatement","src":"79476:10:22"},{"assignments":[33894],"declarations":[{"constant":false,"id":33894,"mutability":"mutable","name":"m5","nameLocation":"79504:2:22","nodeType":"VariableDeclaration","scope":33903,"src":"79496:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79496:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33895,"nodeType":"VariableDeclarationStatement","src":"79496:10:22"},{"AST":{"nativeSrc":"79568:764:22","nodeType":"YulBlock","src":"79568:764:22","statements":[{"body":{"nativeSrc":"79611:313:22","nodeType":"YulBlock","src":"79611:313:22","statements":[{"nativeSrc":"79629:15:22","nodeType":"YulVariableDeclaration","src":"79629:15:22","value":{"kind":"number","nativeSrc":"79643:1:22","nodeType":"YulLiteral","src":"79643:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"79633:6:22","nodeType":"YulTypedName","src":"79633:6:22","type":""}]},{"body":{"nativeSrc":"79714:40:22","nodeType":"YulBlock","src":"79714:40:22","statements":[{"body":{"nativeSrc":"79743:9:22","nodeType":"YulBlock","src":"79743:9:22","statements":[{"nativeSrc":"79745:5:22","nodeType":"YulBreak","src":"79745:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"79731:6:22","nodeType":"YulIdentifier","src":"79731:6:22"},{"name":"w","nativeSrc":"79739:1:22","nodeType":"YulIdentifier","src":"79739:1:22"}],"functionName":{"name":"byte","nativeSrc":"79726:4:22","nodeType":"YulIdentifier","src":"79726:4:22"},"nativeSrc":"79726:15:22","nodeType":"YulFunctionCall","src":"79726:15:22"}],"functionName":{"name":"iszero","nativeSrc":"79719:6:22","nodeType":"YulIdentifier","src":"79719:6:22"},"nativeSrc":"79719:23:22","nodeType":"YulFunctionCall","src":"79719:23:22"},"nativeSrc":"79716:36:22","nodeType":"YulIf","src":"79716:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"79671:6:22","nodeType":"YulIdentifier","src":"79671:6:22"},{"kind":"number","nativeSrc":"79679:4:22","nodeType":"YulLiteral","src":"79679:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"79668:2:22","nodeType":"YulIdentifier","src":"79668:2:22"},"nativeSrc":"79668:16:22","nodeType":"YulFunctionCall","src":"79668:16:22"},"nativeSrc":"79661:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"79685:28:22","nodeType":"YulBlock","src":"79685:28:22","statements":[{"nativeSrc":"79687:24:22","nodeType":"YulAssignment","src":"79687:24:22","value":{"arguments":[{"name":"length","nativeSrc":"79701:6:22","nodeType":"YulIdentifier","src":"79701:6:22"},{"kind":"number","nativeSrc":"79709:1:22","nodeType":"YulLiteral","src":"79709:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"79697:3:22","nodeType":"YulIdentifier","src":"79697:3:22"},"nativeSrc":"79697:14:22","nodeType":"YulFunctionCall","src":"79697:14:22"},"variableNames":[{"name":"length","nativeSrc":"79687:6:22","nodeType":"YulIdentifier","src":"79687:6:22"}]}]},"pre":{"nativeSrc":"79665:2:22","nodeType":"YulBlock","src":"79665:2:22","statements":[]},"src":"79661:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"79778:3:22","nodeType":"YulIdentifier","src":"79778:3:22"},{"name":"length","nativeSrc":"79783:6:22","nodeType":"YulIdentifier","src":"79783:6:22"}],"functionName":{"name":"mstore","nativeSrc":"79771:6:22","nodeType":"YulIdentifier","src":"79771:6:22"},"nativeSrc":"79771:19:22","nodeType":"YulFunctionCall","src":"79771:19:22"},"nativeSrc":"79771:19:22","nodeType":"YulExpressionStatement","src":"79771:19:22"},{"nativeSrc":"79807:37:22","nodeType":"YulVariableDeclaration","src":"79807:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"79824:3:22","nodeType":"YulLiteral","src":"79824:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"79833:1:22","nodeType":"YulLiteral","src":"79833:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"79836:6:22","nodeType":"YulIdentifier","src":"79836:6:22"}],"functionName":{"name":"shl","nativeSrc":"79829:3:22","nodeType":"YulIdentifier","src":"79829:3:22"},"nativeSrc":"79829:14:22","nodeType":"YulFunctionCall","src":"79829:14:22"}],"functionName":{"name":"sub","nativeSrc":"79820:3:22","nodeType":"YulIdentifier","src":"79820:3:22"},"nativeSrc":"79820:24:22","nodeType":"YulFunctionCall","src":"79820:24:22"},"variables":[{"name":"shift","nativeSrc":"79811:5:22","nodeType":"YulTypedName","src":"79811:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"79872:3:22","nodeType":"YulIdentifier","src":"79872:3:22"},{"kind":"number","nativeSrc":"79877:4:22","nodeType":"YulLiteral","src":"79877:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"79868:3:22","nodeType":"YulIdentifier","src":"79868:3:22"},"nativeSrc":"79868:14:22","nodeType":"YulFunctionCall","src":"79868:14:22"},{"arguments":[{"name":"shift","nativeSrc":"79888:5:22","nodeType":"YulIdentifier","src":"79888:5:22"},{"arguments":[{"name":"shift","nativeSrc":"79899:5:22","nodeType":"YulIdentifier","src":"79899:5:22"},{"name":"w","nativeSrc":"79906:1:22","nodeType":"YulIdentifier","src":"79906:1:22"}],"functionName":{"name":"shr","nativeSrc":"79895:3:22","nodeType":"YulIdentifier","src":"79895:3:22"},"nativeSrc":"79895:13:22","nodeType":"YulFunctionCall","src":"79895:13:22"}],"functionName":{"name":"shl","nativeSrc":"79884:3:22","nodeType":"YulIdentifier","src":"79884:3:22"},"nativeSrc":"79884:25:22","nodeType":"YulFunctionCall","src":"79884:25:22"}],"functionName":{"name":"mstore","nativeSrc":"79861:6:22","nodeType":"YulIdentifier","src":"79861:6:22"},"nativeSrc":"79861:49:22","nodeType":"YulFunctionCall","src":"79861:49:22"},"nativeSrc":"79861:49:22","nodeType":"YulExpressionStatement","src":"79861:49:22"}]},"name":"writeString","nativeSrc":"79582:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"79603:3:22","nodeType":"YulTypedName","src":"79603:3:22","type":""},{"name":"w","nativeSrc":"79608:1:22","nodeType":"YulTypedName","src":"79608:1:22","type":""}],"src":"79582:342:22"},{"nativeSrc":"79937:17:22","nodeType":"YulAssignment","src":"79937:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"79949:4:22","nodeType":"YulLiteral","src":"79949:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"79943:5:22","nodeType":"YulIdentifier","src":"79943:5:22"},"nativeSrc":"79943:11:22","nodeType":"YulFunctionCall","src":"79943:11:22"},"variableNames":[{"name":"m0","nativeSrc":"79937:2:22","nodeType":"YulIdentifier","src":"79937:2:22"}]},{"nativeSrc":"79967:17:22","nodeType":"YulAssignment","src":"79967:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"79979:4:22","nodeType":"YulLiteral","src":"79979:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"79973:5:22","nodeType":"YulIdentifier","src":"79973:5:22"},"nativeSrc":"79973:11:22","nodeType":"YulFunctionCall","src":"79973:11:22"},"variableNames":[{"name":"m1","nativeSrc":"79967:2:22","nodeType":"YulIdentifier","src":"79967:2:22"}]},{"nativeSrc":"79997:17:22","nodeType":"YulAssignment","src":"79997:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"80009:4:22","nodeType":"YulLiteral","src":"80009:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"80003:5:22","nodeType":"YulIdentifier","src":"80003:5:22"},"nativeSrc":"80003:11:22","nodeType":"YulFunctionCall","src":"80003:11:22"},"variableNames":[{"name":"m2","nativeSrc":"79997:2:22","nodeType":"YulIdentifier","src":"79997:2:22"}]},{"nativeSrc":"80027:17:22","nodeType":"YulAssignment","src":"80027:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"80039:4:22","nodeType":"YulLiteral","src":"80039:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"80033:5:22","nodeType":"YulIdentifier","src":"80033:5:22"},"nativeSrc":"80033:11:22","nodeType":"YulFunctionCall","src":"80033:11:22"},"variableNames":[{"name":"m3","nativeSrc":"80027:2:22","nodeType":"YulIdentifier","src":"80027:2:22"}]},{"nativeSrc":"80057:17:22","nodeType":"YulAssignment","src":"80057:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"80069:4:22","nodeType":"YulLiteral","src":"80069:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"80063:5:22","nodeType":"YulIdentifier","src":"80063:5:22"},"nativeSrc":"80063:11:22","nodeType":"YulFunctionCall","src":"80063:11:22"},"variableNames":[{"name":"m4","nativeSrc":"80057:2:22","nodeType":"YulIdentifier","src":"80057:2:22"}]},{"nativeSrc":"80087:17:22","nodeType":"YulAssignment","src":"80087:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"80099:4:22","nodeType":"YulLiteral","src":"80099:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"80093:5:22","nodeType":"YulIdentifier","src":"80093:5:22"},"nativeSrc":"80093:11:22","nodeType":"YulFunctionCall","src":"80093:11:22"},"variableNames":[{"name":"m5","nativeSrc":"80087:2:22","nodeType":"YulIdentifier","src":"80087:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80182:4:22","nodeType":"YulLiteral","src":"80182:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"80188:10:22","nodeType":"YulLiteral","src":"80188:10:22","type":"","value":"0x1c7ec448"}],"functionName":{"name":"mstore","nativeSrc":"80175:6:22","nodeType":"YulIdentifier","src":"80175:6:22"},"nativeSrc":"80175:24:22","nodeType":"YulFunctionCall","src":"80175:24:22"},"nativeSrc":"80175:24:22","nodeType":"YulExpressionStatement","src":"80175:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80219:4:22","nodeType":"YulLiteral","src":"80219:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"80225:4:22","nodeType":"YulLiteral","src":"80225:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"80212:6:22","nodeType":"YulIdentifier","src":"80212:6:22"},"nativeSrc":"80212:18:22","nodeType":"YulFunctionCall","src":"80212:18:22"},"nativeSrc":"80212:18:22","nodeType":"YulExpressionStatement","src":"80212:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80250:4:22","nodeType":"YulLiteral","src":"80250:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"80256:2:22","nodeType":"YulIdentifier","src":"80256:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80243:6:22","nodeType":"YulIdentifier","src":"80243:6:22"},"nativeSrc":"80243:16:22","nodeType":"YulFunctionCall","src":"80243:16:22"},"nativeSrc":"80243:16:22","nodeType":"YulExpressionStatement","src":"80243:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80279:4:22","nodeType":"YulLiteral","src":"80279:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"80285:2:22","nodeType":"YulIdentifier","src":"80285:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80272:6:22","nodeType":"YulIdentifier","src":"80272:6:22"},"nativeSrc":"80272:16:22","nodeType":"YulFunctionCall","src":"80272:16:22"},"nativeSrc":"80272:16:22","nodeType":"YulExpressionStatement","src":"80272:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80313:4:22","nodeType":"YulLiteral","src":"80313:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"80319:2:22","nodeType":"YulIdentifier","src":"80319:2:22"}],"functionName":{"name":"writeString","nativeSrc":"80301:11:22","nodeType":"YulIdentifier","src":"80301:11:22"},"nativeSrc":"80301:21:22","nodeType":"YulFunctionCall","src":"80301:21:22"},"nativeSrc":"80301:21:22","nodeType":"YulExpressionStatement","src":"80301:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33879,"isOffset":false,"isSlot":false,"src":"79937:2:22","valueSize":1},{"declaration":33882,"isOffset":false,"isSlot":false,"src":"79967:2:22","valueSize":1},{"declaration":33885,"isOffset":false,"isSlot":false,"src":"79997:2:22","valueSize":1},{"declaration":33888,"isOffset":false,"isSlot":false,"src":"80027:2:22","valueSize":1},{"declaration":33891,"isOffset":false,"isSlot":false,"src":"80057:2:22","valueSize":1},{"declaration":33894,"isOffset":false,"isSlot":false,"src":"80087:2:22","valueSize":1},{"declaration":33871,"isOffset":false,"isSlot":false,"src":"80319:2:22","valueSize":1},{"declaration":33873,"isOffset":false,"isSlot":false,"src":"80256:2:22","valueSize":1},{"declaration":33875,"isOffset":false,"isSlot":false,"src":"80285:2:22","valueSize":1}],"id":33896,"nodeType":"InlineAssembly","src":"79559:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80357:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80363:4:22","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":33897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"80341:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"80341:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33901,"nodeType":"ExpressionStatement","src":"80341:27:22"},{"AST":{"nativeSrc":"80430:185:22","nodeType":"YulBlock","src":"80430:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"80451:4:22","nodeType":"YulLiteral","src":"80451:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"80457:2:22","nodeType":"YulIdentifier","src":"80457:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80444:6:22","nodeType":"YulIdentifier","src":"80444:6:22"},"nativeSrc":"80444:16:22","nodeType":"YulFunctionCall","src":"80444:16:22"},"nativeSrc":"80444:16:22","nodeType":"YulExpressionStatement","src":"80444:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80480:4:22","nodeType":"YulLiteral","src":"80480:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"80486:2:22","nodeType":"YulIdentifier","src":"80486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80473:6:22","nodeType":"YulIdentifier","src":"80473:6:22"},"nativeSrc":"80473:16:22","nodeType":"YulFunctionCall","src":"80473:16:22"},"nativeSrc":"80473:16:22","nodeType":"YulExpressionStatement","src":"80473:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80509:4:22","nodeType":"YulLiteral","src":"80509:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"80515:2:22","nodeType":"YulIdentifier","src":"80515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80502:6:22","nodeType":"YulIdentifier","src":"80502:6:22"},"nativeSrc":"80502:16:22","nodeType":"YulFunctionCall","src":"80502:16:22"},"nativeSrc":"80502:16:22","nodeType":"YulExpressionStatement","src":"80502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80538:4:22","nodeType":"YulLiteral","src":"80538:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"80544:2:22","nodeType":"YulIdentifier","src":"80544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80531:6:22","nodeType":"YulIdentifier","src":"80531:6:22"},"nativeSrc":"80531:16:22","nodeType":"YulFunctionCall","src":"80531:16:22"},"nativeSrc":"80531:16:22","nodeType":"YulExpressionStatement","src":"80531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80567:4:22","nodeType":"YulLiteral","src":"80567:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"80573:2:22","nodeType":"YulIdentifier","src":"80573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80560:6:22","nodeType":"YulIdentifier","src":"80560:6:22"},"nativeSrc":"80560:16:22","nodeType":"YulFunctionCall","src":"80560:16:22"},"nativeSrc":"80560:16:22","nodeType":"YulExpressionStatement","src":"80560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80596:4:22","nodeType":"YulLiteral","src":"80596:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"80602:2:22","nodeType":"YulIdentifier","src":"80602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"80589:6:22","nodeType":"YulIdentifier","src":"80589:6:22"},"nativeSrc":"80589:16:22","nodeType":"YulFunctionCall","src":"80589:16:22"},"nativeSrc":"80589:16:22","nodeType":"YulExpressionStatement","src":"80589:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33879,"isOffset":false,"isSlot":false,"src":"80457:2:22","valueSize":1},{"declaration":33882,"isOffset":false,"isSlot":false,"src":"80486:2:22","valueSize":1},{"declaration":33885,"isOffset":false,"isSlot":false,"src":"80515:2:22","valueSize":1},{"declaration":33888,"isOffset":false,"isSlot":false,"src":"80544:2:22","valueSize":1},{"declaration":33891,"isOffset":false,"isSlot":false,"src":"80573:2:22","valueSize":1},{"declaration":33894,"isOffset":false,"isSlot":false,"src":"80602:2:22","valueSize":1}],"id":33902,"nodeType":"InlineAssembly","src":"80421:194:22"}]},"id":33904,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"79332:3:22","nodeType":"FunctionDefinition","parameters":{"id":33876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33871,"mutability":"mutable","name":"p0","nameLocation":"79344:2:22","nodeType":"VariableDeclaration","scope":33904,"src":"79336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33873,"mutability":"mutable","name":"p1","nameLocation":"79356:2:22","nodeType":"VariableDeclaration","scope":33904,"src":"79348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33872,"name":"uint256","nodeType":"ElementaryTypeName","src":"79348:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33875,"mutability":"mutable","name":"p2","nameLocation":"79368:2:22","nodeType":"VariableDeclaration","scope":33904,"src":"79360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33874,"name":"address","nodeType":"ElementaryTypeName","src":"79360:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79335:36:22"},"returnParameters":{"id":33877,"nodeType":"ParameterList","parameters":[],"src":"79386:0:22"},"scope":44426,"src":"79323:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33938,"nodeType":"Block","src":"80687:1232:22","statements":[{"assignments":[33914],"declarations":[{"constant":false,"id":33914,"mutability":"mutable","name":"m0","nameLocation":"80705:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80697:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80697:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33915,"nodeType":"VariableDeclarationStatement","src":"80697:10:22"},{"assignments":[33917],"declarations":[{"constant":false,"id":33917,"mutability":"mutable","name":"m1","nameLocation":"80725:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80717:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80717:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33918,"nodeType":"VariableDeclarationStatement","src":"80717:10:22"},{"assignments":[33920],"declarations":[{"constant":false,"id":33920,"mutability":"mutable","name":"m2","nameLocation":"80745:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80737:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80737:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33921,"nodeType":"VariableDeclarationStatement","src":"80737:10:22"},{"assignments":[33923],"declarations":[{"constant":false,"id":33923,"mutability":"mutable","name":"m3","nameLocation":"80765:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80757:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80757:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33924,"nodeType":"VariableDeclarationStatement","src":"80757:10:22"},{"assignments":[33926],"declarations":[{"constant":false,"id":33926,"mutability":"mutable","name":"m4","nameLocation":"80785:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80777:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80777:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33927,"nodeType":"VariableDeclarationStatement","src":"80777:10:22"},{"assignments":[33929],"declarations":[{"constant":false,"id":33929,"mutability":"mutable","name":"m5","nameLocation":"80805:2:22","nodeType":"VariableDeclaration","scope":33938,"src":"80797:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80797:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33930,"nodeType":"VariableDeclarationStatement","src":"80797:10:22"},{"AST":{"nativeSrc":"80869:761:22","nodeType":"YulBlock","src":"80869:761:22","statements":[{"body":{"nativeSrc":"80912:313:22","nodeType":"YulBlock","src":"80912:313:22","statements":[{"nativeSrc":"80930:15:22","nodeType":"YulVariableDeclaration","src":"80930:15:22","value":{"kind":"number","nativeSrc":"80944:1:22","nodeType":"YulLiteral","src":"80944:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"80934:6:22","nodeType":"YulTypedName","src":"80934:6:22","type":""}]},{"body":{"nativeSrc":"81015:40:22","nodeType":"YulBlock","src":"81015:40:22","statements":[{"body":{"nativeSrc":"81044:9:22","nodeType":"YulBlock","src":"81044:9:22","statements":[{"nativeSrc":"81046:5:22","nodeType":"YulBreak","src":"81046:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"81032:6:22","nodeType":"YulIdentifier","src":"81032:6:22"},{"name":"w","nativeSrc":"81040:1:22","nodeType":"YulIdentifier","src":"81040:1:22"}],"functionName":{"name":"byte","nativeSrc":"81027:4:22","nodeType":"YulIdentifier","src":"81027:4:22"},"nativeSrc":"81027:15:22","nodeType":"YulFunctionCall","src":"81027:15:22"}],"functionName":{"name":"iszero","nativeSrc":"81020:6:22","nodeType":"YulIdentifier","src":"81020:6:22"},"nativeSrc":"81020:23:22","nodeType":"YulFunctionCall","src":"81020:23:22"},"nativeSrc":"81017:36:22","nodeType":"YulIf","src":"81017:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"80972:6:22","nodeType":"YulIdentifier","src":"80972:6:22"},{"kind":"number","nativeSrc":"80980:4:22","nodeType":"YulLiteral","src":"80980:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"80969:2:22","nodeType":"YulIdentifier","src":"80969:2:22"},"nativeSrc":"80969:16:22","nodeType":"YulFunctionCall","src":"80969:16:22"},"nativeSrc":"80962:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"80986:28:22","nodeType":"YulBlock","src":"80986:28:22","statements":[{"nativeSrc":"80988:24:22","nodeType":"YulAssignment","src":"80988:24:22","value":{"arguments":[{"name":"length","nativeSrc":"81002:6:22","nodeType":"YulIdentifier","src":"81002:6:22"},{"kind":"number","nativeSrc":"81010:1:22","nodeType":"YulLiteral","src":"81010:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"80998:3:22","nodeType":"YulIdentifier","src":"80998:3:22"},"nativeSrc":"80998:14:22","nodeType":"YulFunctionCall","src":"80998:14:22"},"variableNames":[{"name":"length","nativeSrc":"80988:6:22","nodeType":"YulIdentifier","src":"80988:6:22"}]}]},"pre":{"nativeSrc":"80966:2:22","nodeType":"YulBlock","src":"80966:2:22","statements":[]},"src":"80962:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"81079:3:22","nodeType":"YulIdentifier","src":"81079:3:22"},{"name":"length","nativeSrc":"81084:6:22","nodeType":"YulIdentifier","src":"81084:6:22"}],"functionName":{"name":"mstore","nativeSrc":"81072:6:22","nodeType":"YulIdentifier","src":"81072:6:22"},"nativeSrc":"81072:19:22","nodeType":"YulFunctionCall","src":"81072:19:22"},"nativeSrc":"81072:19:22","nodeType":"YulExpressionStatement","src":"81072:19:22"},{"nativeSrc":"81108:37:22","nodeType":"YulVariableDeclaration","src":"81108:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"81125:3:22","nodeType":"YulLiteral","src":"81125:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"81134:1:22","nodeType":"YulLiteral","src":"81134:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"81137:6:22","nodeType":"YulIdentifier","src":"81137:6:22"}],"functionName":{"name":"shl","nativeSrc":"81130:3:22","nodeType":"YulIdentifier","src":"81130:3:22"},"nativeSrc":"81130:14:22","nodeType":"YulFunctionCall","src":"81130:14:22"}],"functionName":{"name":"sub","nativeSrc":"81121:3:22","nodeType":"YulIdentifier","src":"81121:3:22"},"nativeSrc":"81121:24:22","nodeType":"YulFunctionCall","src":"81121:24:22"},"variables":[{"name":"shift","nativeSrc":"81112:5:22","nodeType":"YulTypedName","src":"81112:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"81173:3:22","nodeType":"YulIdentifier","src":"81173:3:22"},{"kind":"number","nativeSrc":"81178:4:22","nodeType":"YulLiteral","src":"81178:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"81169:3:22","nodeType":"YulIdentifier","src":"81169:3:22"},"nativeSrc":"81169:14:22","nodeType":"YulFunctionCall","src":"81169:14:22"},{"arguments":[{"name":"shift","nativeSrc":"81189:5:22","nodeType":"YulIdentifier","src":"81189:5:22"},{"arguments":[{"name":"shift","nativeSrc":"81200:5:22","nodeType":"YulIdentifier","src":"81200:5:22"},{"name":"w","nativeSrc":"81207:1:22","nodeType":"YulIdentifier","src":"81207:1:22"}],"functionName":{"name":"shr","nativeSrc":"81196:3:22","nodeType":"YulIdentifier","src":"81196:3:22"},"nativeSrc":"81196:13:22","nodeType":"YulFunctionCall","src":"81196:13:22"}],"functionName":{"name":"shl","nativeSrc":"81185:3:22","nodeType":"YulIdentifier","src":"81185:3:22"},"nativeSrc":"81185:25:22","nodeType":"YulFunctionCall","src":"81185:25:22"}],"functionName":{"name":"mstore","nativeSrc":"81162:6:22","nodeType":"YulIdentifier","src":"81162:6:22"},"nativeSrc":"81162:49:22","nodeType":"YulFunctionCall","src":"81162:49:22"},"nativeSrc":"81162:49:22","nodeType":"YulExpressionStatement","src":"81162:49:22"}]},"name":"writeString","nativeSrc":"80883:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"80904:3:22","nodeType":"YulTypedName","src":"80904:3:22","type":""},{"name":"w","nativeSrc":"80909:1:22","nodeType":"YulTypedName","src":"80909:1:22","type":""}],"src":"80883:342:22"},{"nativeSrc":"81238:17:22","nodeType":"YulAssignment","src":"81238:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81250:4:22","nodeType":"YulLiteral","src":"81250:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"81244:5:22","nodeType":"YulIdentifier","src":"81244:5:22"},"nativeSrc":"81244:11:22","nodeType":"YulFunctionCall","src":"81244:11:22"},"variableNames":[{"name":"m0","nativeSrc":"81238:2:22","nodeType":"YulIdentifier","src":"81238:2:22"}]},{"nativeSrc":"81268:17:22","nodeType":"YulAssignment","src":"81268:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81280:4:22","nodeType":"YulLiteral","src":"81280:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"81274:5:22","nodeType":"YulIdentifier","src":"81274:5:22"},"nativeSrc":"81274:11:22","nodeType":"YulFunctionCall","src":"81274:11:22"},"variableNames":[{"name":"m1","nativeSrc":"81268:2:22","nodeType":"YulIdentifier","src":"81268:2:22"}]},{"nativeSrc":"81298:17:22","nodeType":"YulAssignment","src":"81298:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81310:4:22","nodeType":"YulLiteral","src":"81310:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"81304:5:22","nodeType":"YulIdentifier","src":"81304:5:22"},"nativeSrc":"81304:11:22","nodeType":"YulFunctionCall","src":"81304:11:22"},"variableNames":[{"name":"m2","nativeSrc":"81298:2:22","nodeType":"YulIdentifier","src":"81298:2:22"}]},{"nativeSrc":"81328:17:22","nodeType":"YulAssignment","src":"81328:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81340:4:22","nodeType":"YulLiteral","src":"81340:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"81334:5:22","nodeType":"YulIdentifier","src":"81334:5:22"},"nativeSrc":"81334:11:22","nodeType":"YulFunctionCall","src":"81334:11:22"},"variableNames":[{"name":"m3","nativeSrc":"81328:2:22","nodeType":"YulIdentifier","src":"81328:2:22"}]},{"nativeSrc":"81358:17:22","nodeType":"YulAssignment","src":"81358:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81370:4:22","nodeType":"YulLiteral","src":"81370:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"81364:5:22","nodeType":"YulIdentifier","src":"81364:5:22"},"nativeSrc":"81364:11:22","nodeType":"YulFunctionCall","src":"81364:11:22"},"variableNames":[{"name":"m4","nativeSrc":"81358:2:22","nodeType":"YulIdentifier","src":"81358:2:22"}]},{"nativeSrc":"81388:17:22","nodeType":"YulAssignment","src":"81388:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"81400:4:22","nodeType":"YulLiteral","src":"81400:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"81394:5:22","nodeType":"YulIdentifier","src":"81394:5:22"},"nativeSrc":"81394:11:22","nodeType":"YulFunctionCall","src":"81394:11:22"},"variableNames":[{"name":"m5","nativeSrc":"81388:2:22","nodeType":"YulIdentifier","src":"81388:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81480:4:22","nodeType":"YulLiteral","src":"81480:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"81486:10:22","nodeType":"YulLiteral","src":"81486:10:22","type":"","value":"0xca7733b1"}],"functionName":{"name":"mstore","nativeSrc":"81473:6:22","nodeType":"YulIdentifier","src":"81473:6:22"},"nativeSrc":"81473:24:22","nodeType":"YulFunctionCall","src":"81473:24:22"},"nativeSrc":"81473:24:22","nodeType":"YulExpressionStatement","src":"81473:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81517:4:22","nodeType":"YulLiteral","src":"81517:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"81523:4:22","nodeType":"YulLiteral","src":"81523:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"81510:6:22","nodeType":"YulIdentifier","src":"81510:6:22"},"nativeSrc":"81510:18:22","nodeType":"YulFunctionCall","src":"81510:18:22"},"nativeSrc":"81510:18:22","nodeType":"YulExpressionStatement","src":"81510:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81548:4:22","nodeType":"YulLiteral","src":"81548:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"81554:2:22","nodeType":"YulIdentifier","src":"81554:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81541:6:22","nodeType":"YulIdentifier","src":"81541:6:22"},"nativeSrc":"81541:16:22","nodeType":"YulFunctionCall","src":"81541:16:22"},"nativeSrc":"81541:16:22","nodeType":"YulExpressionStatement","src":"81541:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81577:4:22","nodeType":"YulLiteral","src":"81577:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"81583:2:22","nodeType":"YulIdentifier","src":"81583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81570:6:22","nodeType":"YulIdentifier","src":"81570:6:22"},"nativeSrc":"81570:16:22","nodeType":"YulFunctionCall","src":"81570:16:22"},"nativeSrc":"81570:16:22","nodeType":"YulExpressionStatement","src":"81570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81611:4:22","nodeType":"YulLiteral","src":"81611:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"81617:2:22","nodeType":"YulIdentifier","src":"81617:2:22"}],"functionName":{"name":"writeString","nativeSrc":"81599:11:22","nodeType":"YulIdentifier","src":"81599:11:22"},"nativeSrc":"81599:21:22","nodeType":"YulFunctionCall","src":"81599:21:22"},"nativeSrc":"81599:21:22","nodeType":"YulExpressionStatement","src":"81599:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33914,"isOffset":false,"isSlot":false,"src":"81238:2:22","valueSize":1},{"declaration":33917,"isOffset":false,"isSlot":false,"src":"81268:2:22","valueSize":1},{"declaration":33920,"isOffset":false,"isSlot":false,"src":"81298:2:22","valueSize":1},{"declaration":33923,"isOffset":false,"isSlot":false,"src":"81328:2:22","valueSize":1},{"declaration":33926,"isOffset":false,"isSlot":false,"src":"81358:2:22","valueSize":1},{"declaration":33929,"isOffset":false,"isSlot":false,"src":"81388:2:22","valueSize":1},{"declaration":33906,"isOffset":false,"isSlot":false,"src":"81617:2:22","valueSize":1},{"declaration":33908,"isOffset":false,"isSlot":false,"src":"81554:2:22","valueSize":1},{"declaration":33910,"isOffset":false,"isSlot":false,"src":"81583:2:22","valueSize":1}],"id":33931,"nodeType":"InlineAssembly","src":"80860:770:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81655:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81661:4:22","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":33932,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"81639:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"81639:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33936,"nodeType":"ExpressionStatement","src":"81639:27:22"},{"AST":{"nativeSrc":"81728:185:22","nodeType":"YulBlock","src":"81728:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"81749:4:22","nodeType":"YulLiteral","src":"81749:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"81755:2:22","nodeType":"YulIdentifier","src":"81755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81742:6:22","nodeType":"YulIdentifier","src":"81742:6:22"},"nativeSrc":"81742:16:22","nodeType":"YulFunctionCall","src":"81742:16:22"},"nativeSrc":"81742:16:22","nodeType":"YulExpressionStatement","src":"81742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81778:4:22","nodeType":"YulLiteral","src":"81778:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"81784:2:22","nodeType":"YulIdentifier","src":"81784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81771:6:22","nodeType":"YulIdentifier","src":"81771:6:22"},"nativeSrc":"81771:16:22","nodeType":"YulFunctionCall","src":"81771:16:22"},"nativeSrc":"81771:16:22","nodeType":"YulExpressionStatement","src":"81771:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81807:4:22","nodeType":"YulLiteral","src":"81807:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"81813:2:22","nodeType":"YulIdentifier","src":"81813:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81800:6:22","nodeType":"YulIdentifier","src":"81800:6:22"},"nativeSrc":"81800:16:22","nodeType":"YulFunctionCall","src":"81800:16:22"},"nativeSrc":"81800:16:22","nodeType":"YulExpressionStatement","src":"81800:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81836:4:22","nodeType":"YulLiteral","src":"81836:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"81842:2:22","nodeType":"YulIdentifier","src":"81842:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81829:6:22","nodeType":"YulIdentifier","src":"81829:6:22"},"nativeSrc":"81829:16:22","nodeType":"YulFunctionCall","src":"81829:16:22"},"nativeSrc":"81829:16:22","nodeType":"YulExpressionStatement","src":"81829:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81865:4:22","nodeType":"YulLiteral","src":"81865:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"81871:2:22","nodeType":"YulIdentifier","src":"81871:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81858:6:22","nodeType":"YulIdentifier","src":"81858:6:22"},"nativeSrc":"81858:16:22","nodeType":"YulFunctionCall","src":"81858:16:22"},"nativeSrc":"81858:16:22","nodeType":"YulExpressionStatement","src":"81858:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81894:4:22","nodeType":"YulLiteral","src":"81894:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"81900:2:22","nodeType":"YulIdentifier","src":"81900:2:22"}],"functionName":{"name":"mstore","nativeSrc":"81887:6:22","nodeType":"YulIdentifier","src":"81887:6:22"},"nativeSrc":"81887:16:22","nodeType":"YulFunctionCall","src":"81887:16:22"},"nativeSrc":"81887:16:22","nodeType":"YulExpressionStatement","src":"81887:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33914,"isOffset":false,"isSlot":false,"src":"81755:2:22","valueSize":1},{"declaration":33917,"isOffset":false,"isSlot":false,"src":"81784:2:22","valueSize":1},{"declaration":33920,"isOffset":false,"isSlot":false,"src":"81813:2:22","valueSize":1},{"declaration":33923,"isOffset":false,"isSlot":false,"src":"81842:2:22","valueSize":1},{"declaration":33926,"isOffset":false,"isSlot":false,"src":"81871:2:22","valueSize":1},{"declaration":33929,"isOffset":false,"isSlot":false,"src":"81900:2:22","valueSize":1}],"id":33937,"nodeType":"InlineAssembly","src":"81719:194:22"}]},"id":33939,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"80636:3:22","nodeType":"FunctionDefinition","parameters":{"id":33911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33906,"mutability":"mutable","name":"p0","nameLocation":"80648:2:22","nodeType":"VariableDeclaration","scope":33939,"src":"80640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80640:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33908,"mutability":"mutable","name":"p1","nameLocation":"80660:2:22","nodeType":"VariableDeclaration","scope":33939,"src":"80652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33907,"name":"uint256","nodeType":"ElementaryTypeName","src":"80652:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33910,"mutability":"mutable","name":"p2","nameLocation":"80669:2:22","nodeType":"VariableDeclaration","scope":33939,"src":"80664:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33909,"name":"bool","nodeType":"ElementaryTypeName","src":"80664:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"80639:33:22"},"returnParameters":{"id":33912,"nodeType":"ParameterList","parameters":[],"src":"80687:0:22"},"scope":44426,"src":"80627:1292:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":33973,"nodeType":"Block","src":"81988:1235:22","statements":[{"assignments":[33949],"declarations":[{"constant":false,"id":33949,"mutability":"mutable","name":"m0","nameLocation":"82006:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"81998:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81998:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33950,"nodeType":"VariableDeclarationStatement","src":"81998:10:22"},{"assignments":[33952],"declarations":[{"constant":false,"id":33952,"mutability":"mutable","name":"m1","nameLocation":"82026:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"82018:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82018:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33953,"nodeType":"VariableDeclarationStatement","src":"82018:10:22"},{"assignments":[33955],"declarations":[{"constant":false,"id":33955,"mutability":"mutable","name":"m2","nameLocation":"82046:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"82038:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82038:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33956,"nodeType":"VariableDeclarationStatement","src":"82038:10:22"},{"assignments":[33958],"declarations":[{"constant":false,"id":33958,"mutability":"mutable","name":"m3","nameLocation":"82066:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"82058:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82058:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33959,"nodeType":"VariableDeclarationStatement","src":"82058:10:22"},{"assignments":[33961],"declarations":[{"constant":false,"id":33961,"mutability":"mutable","name":"m4","nameLocation":"82086:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"82078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82078:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33962,"nodeType":"VariableDeclarationStatement","src":"82078:10:22"},{"assignments":[33964],"declarations":[{"constant":false,"id":33964,"mutability":"mutable","name":"m5","nameLocation":"82106:2:22","nodeType":"VariableDeclaration","scope":33973,"src":"82098:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33965,"nodeType":"VariableDeclarationStatement","src":"82098:10:22"},{"AST":{"nativeSrc":"82170:764:22","nodeType":"YulBlock","src":"82170:764:22","statements":[{"body":{"nativeSrc":"82213:313:22","nodeType":"YulBlock","src":"82213:313:22","statements":[{"nativeSrc":"82231:15:22","nodeType":"YulVariableDeclaration","src":"82231:15:22","value":{"kind":"number","nativeSrc":"82245:1:22","nodeType":"YulLiteral","src":"82245:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"82235:6:22","nodeType":"YulTypedName","src":"82235:6:22","type":""}]},{"body":{"nativeSrc":"82316:40:22","nodeType":"YulBlock","src":"82316:40:22","statements":[{"body":{"nativeSrc":"82345:9:22","nodeType":"YulBlock","src":"82345:9:22","statements":[{"nativeSrc":"82347:5:22","nodeType":"YulBreak","src":"82347:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"82333:6:22","nodeType":"YulIdentifier","src":"82333:6:22"},{"name":"w","nativeSrc":"82341:1:22","nodeType":"YulIdentifier","src":"82341:1:22"}],"functionName":{"name":"byte","nativeSrc":"82328:4:22","nodeType":"YulIdentifier","src":"82328:4:22"},"nativeSrc":"82328:15:22","nodeType":"YulFunctionCall","src":"82328:15:22"}],"functionName":{"name":"iszero","nativeSrc":"82321:6:22","nodeType":"YulIdentifier","src":"82321:6:22"},"nativeSrc":"82321:23:22","nodeType":"YulFunctionCall","src":"82321:23:22"},"nativeSrc":"82318:36:22","nodeType":"YulIf","src":"82318:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"82273:6:22","nodeType":"YulIdentifier","src":"82273:6:22"},{"kind":"number","nativeSrc":"82281:4:22","nodeType":"YulLiteral","src":"82281:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"82270:2:22","nodeType":"YulIdentifier","src":"82270:2:22"},"nativeSrc":"82270:16:22","nodeType":"YulFunctionCall","src":"82270:16:22"},"nativeSrc":"82263:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"82287:28:22","nodeType":"YulBlock","src":"82287:28:22","statements":[{"nativeSrc":"82289:24:22","nodeType":"YulAssignment","src":"82289:24:22","value":{"arguments":[{"name":"length","nativeSrc":"82303:6:22","nodeType":"YulIdentifier","src":"82303:6:22"},{"kind":"number","nativeSrc":"82311:1:22","nodeType":"YulLiteral","src":"82311:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"82299:3:22","nodeType":"YulIdentifier","src":"82299:3:22"},"nativeSrc":"82299:14:22","nodeType":"YulFunctionCall","src":"82299:14:22"},"variableNames":[{"name":"length","nativeSrc":"82289:6:22","nodeType":"YulIdentifier","src":"82289:6:22"}]}]},"pre":{"nativeSrc":"82267:2:22","nodeType":"YulBlock","src":"82267:2:22","statements":[]},"src":"82263:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"82380:3:22","nodeType":"YulIdentifier","src":"82380:3:22"},{"name":"length","nativeSrc":"82385:6:22","nodeType":"YulIdentifier","src":"82385:6:22"}],"functionName":{"name":"mstore","nativeSrc":"82373:6:22","nodeType":"YulIdentifier","src":"82373:6:22"},"nativeSrc":"82373:19:22","nodeType":"YulFunctionCall","src":"82373:19:22"},"nativeSrc":"82373:19:22","nodeType":"YulExpressionStatement","src":"82373:19:22"},{"nativeSrc":"82409:37:22","nodeType":"YulVariableDeclaration","src":"82409:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"82426:3:22","nodeType":"YulLiteral","src":"82426:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"82435:1:22","nodeType":"YulLiteral","src":"82435:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"82438:6:22","nodeType":"YulIdentifier","src":"82438:6:22"}],"functionName":{"name":"shl","nativeSrc":"82431:3:22","nodeType":"YulIdentifier","src":"82431:3:22"},"nativeSrc":"82431:14:22","nodeType":"YulFunctionCall","src":"82431:14:22"}],"functionName":{"name":"sub","nativeSrc":"82422:3:22","nodeType":"YulIdentifier","src":"82422:3:22"},"nativeSrc":"82422:24:22","nodeType":"YulFunctionCall","src":"82422:24:22"},"variables":[{"name":"shift","nativeSrc":"82413:5:22","nodeType":"YulTypedName","src":"82413:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"82474:3:22","nodeType":"YulIdentifier","src":"82474:3:22"},{"kind":"number","nativeSrc":"82479:4:22","nodeType":"YulLiteral","src":"82479:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"82470:3:22","nodeType":"YulIdentifier","src":"82470:3:22"},"nativeSrc":"82470:14:22","nodeType":"YulFunctionCall","src":"82470:14:22"},{"arguments":[{"name":"shift","nativeSrc":"82490:5:22","nodeType":"YulIdentifier","src":"82490:5:22"},{"arguments":[{"name":"shift","nativeSrc":"82501:5:22","nodeType":"YulIdentifier","src":"82501:5:22"},{"name":"w","nativeSrc":"82508:1:22","nodeType":"YulIdentifier","src":"82508:1:22"}],"functionName":{"name":"shr","nativeSrc":"82497:3:22","nodeType":"YulIdentifier","src":"82497:3:22"},"nativeSrc":"82497:13:22","nodeType":"YulFunctionCall","src":"82497:13:22"}],"functionName":{"name":"shl","nativeSrc":"82486:3:22","nodeType":"YulIdentifier","src":"82486:3:22"},"nativeSrc":"82486:25:22","nodeType":"YulFunctionCall","src":"82486:25:22"}],"functionName":{"name":"mstore","nativeSrc":"82463:6:22","nodeType":"YulIdentifier","src":"82463:6:22"},"nativeSrc":"82463:49:22","nodeType":"YulFunctionCall","src":"82463:49:22"},"nativeSrc":"82463:49:22","nodeType":"YulExpressionStatement","src":"82463:49:22"}]},"name":"writeString","nativeSrc":"82184:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"82205:3:22","nodeType":"YulTypedName","src":"82205:3:22","type":""},{"name":"w","nativeSrc":"82210:1:22","nodeType":"YulTypedName","src":"82210:1:22","type":""}],"src":"82184:342:22"},{"nativeSrc":"82539:17:22","nodeType":"YulAssignment","src":"82539:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82551:4:22","nodeType":"YulLiteral","src":"82551:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"82545:5:22","nodeType":"YulIdentifier","src":"82545:5:22"},"nativeSrc":"82545:11:22","nodeType":"YulFunctionCall","src":"82545:11:22"},"variableNames":[{"name":"m0","nativeSrc":"82539:2:22","nodeType":"YulIdentifier","src":"82539:2:22"}]},{"nativeSrc":"82569:17:22","nodeType":"YulAssignment","src":"82569:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82581:4:22","nodeType":"YulLiteral","src":"82581:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"82575:5:22","nodeType":"YulIdentifier","src":"82575:5:22"},"nativeSrc":"82575:11:22","nodeType":"YulFunctionCall","src":"82575:11:22"},"variableNames":[{"name":"m1","nativeSrc":"82569:2:22","nodeType":"YulIdentifier","src":"82569:2:22"}]},{"nativeSrc":"82599:17:22","nodeType":"YulAssignment","src":"82599:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82611:4:22","nodeType":"YulLiteral","src":"82611:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"82605:5:22","nodeType":"YulIdentifier","src":"82605:5:22"},"nativeSrc":"82605:11:22","nodeType":"YulFunctionCall","src":"82605:11:22"},"variableNames":[{"name":"m2","nativeSrc":"82599:2:22","nodeType":"YulIdentifier","src":"82599:2:22"}]},{"nativeSrc":"82629:17:22","nodeType":"YulAssignment","src":"82629:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82641:4:22","nodeType":"YulLiteral","src":"82641:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"82635:5:22","nodeType":"YulIdentifier","src":"82635:5:22"},"nativeSrc":"82635:11:22","nodeType":"YulFunctionCall","src":"82635:11:22"},"variableNames":[{"name":"m3","nativeSrc":"82629:2:22","nodeType":"YulIdentifier","src":"82629:2:22"}]},{"nativeSrc":"82659:17:22","nodeType":"YulAssignment","src":"82659:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82671:4:22","nodeType":"YulLiteral","src":"82671:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"82665:5:22","nodeType":"YulIdentifier","src":"82665:5:22"},"nativeSrc":"82665:11:22","nodeType":"YulFunctionCall","src":"82665:11:22"},"variableNames":[{"name":"m4","nativeSrc":"82659:2:22","nodeType":"YulIdentifier","src":"82659:2:22"}]},{"nativeSrc":"82689:17:22","nodeType":"YulAssignment","src":"82689:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"82701:4:22","nodeType":"YulLiteral","src":"82701:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"82695:5:22","nodeType":"YulIdentifier","src":"82695:5:22"},"nativeSrc":"82695:11:22","nodeType":"YulFunctionCall","src":"82695:11:22"},"variableNames":[{"name":"m5","nativeSrc":"82689:2:22","nodeType":"YulIdentifier","src":"82689:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82784:4:22","nodeType":"YulLiteral","src":"82784:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"82790:10:22","nodeType":"YulLiteral","src":"82790:10:22","type":"","value":"0xca47c4eb"}],"functionName":{"name":"mstore","nativeSrc":"82777:6:22","nodeType":"YulIdentifier","src":"82777:6:22"},"nativeSrc":"82777:24:22","nodeType":"YulFunctionCall","src":"82777:24:22"},"nativeSrc":"82777:24:22","nodeType":"YulExpressionStatement","src":"82777:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82821:4:22","nodeType":"YulLiteral","src":"82821:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"82827:4:22","nodeType":"YulLiteral","src":"82827:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"82814:6:22","nodeType":"YulIdentifier","src":"82814:6:22"},"nativeSrc":"82814:18:22","nodeType":"YulFunctionCall","src":"82814:18:22"},"nativeSrc":"82814:18:22","nodeType":"YulExpressionStatement","src":"82814:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82852:4:22","nodeType":"YulLiteral","src":"82852:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"82858:2:22","nodeType":"YulIdentifier","src":"82858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"82845:6:22","nodeType":"YulIdentifier","src":"82845:6:22"},"nativeSrc":"82845:16:22","nodeType":"YulFunctionCall","src":"82845:16:22"},"nativeSrc":"82845:16:22","nodeType":"YulExpressionStatement","src":"82845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82881:4:22","nodeType":"YulLiteral","src":"82881:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"82887:2:22","nodeType":"YulIdentifier","src":"82887:2:22"}],"functionName":{"name":"mstore","nativeSrc":"82874:6:22","nodeType":"YulIdentifier","src":"82874:6:22"},"nativeSrc":"82874:16:22","nodeType":"YulFunctionCall","src":"82874:16:22"},"nativeSrc":"82874:16:22","nodeType":"YulExpressionStatement","src":"82874:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82915:4:22","nodeType":"YulLiteral","src":"82915:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"82921:2:22","nodeType":"YulIdentifier","src":"82921:2:22"}],"functionName":{"name":"writeString","nativeSrc":"82903:11:22","nodeType":"YulIdentifier","src":"82903:11:22"},"nativeSrc":"82903:21:22","nodeType":"YulFunctionCall","src":"82903:21:22"},"nativeSrc":"82903:21:22","nodeType":"YulExpressionStatement","src":"82903:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33949,"isOffset":false,"isSlot":false,"src":"82539:2:22","valueSize":1},{"declaration":33952,"isOffset":false,"isSlot":false,"src":"82569:2:22","valueSize":1},{"declaration":33955,"isOffset":false,"isSlot":false,"src":"82599:2:22","valueSize":1},{"declaration":33958,"isOffset":false,"isSlot":false,"src":"82629:2:22","valueSize":1},{"declaration":33961,"isOffset":false,"isSlot":false,"src":"82659:2:22","valueSize":1},{"declaration":33964,"isOffset":false,"isSlot":false,"src":"82689:2:22","valueSize":1},{"declaration":33941,"isOffset":false,"isSlot":false,"src":"82921:2:22","valueSize":1},{"declaration":33943,"isOffset":false,"isSlot":false,"src":"82858:2:22","valueSize":1},{"declaration":33945,"isOffset":false,"isSlot":false,"src":"82887:2:22","valueSize":1}],"id":33966,"nodeType":"InlineAssembly","src":"82161:773:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":33968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82959:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":33969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82965:4:22","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":33967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"82943:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"82943:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33971,"nodeType":"ExpressionStatement","src":"82943:27:22"},{"AST":{"nativeSrc":"83032:185:22","nodeType":"YulBlock","src":"83032:185:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"83053:4:22","nodeType":"YulLiteral","src":"83053:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"83059:2:22","nodeType":"YulIdentifier","src":"83059:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83046:6:22","nodeType":"YulIdentifier","src":"83046:6:22"},"nativeSrc":"83046:16:22","nodeType":"YulFunctionCall","src":"83046:16:22"},"nativeSrc":"83046:16:22","nodeType":"YulExpressionStatement","src":"83046:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83082:4:22","nodeType":"YulLiteral","src":"83082:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"83088:2:22","nodeType":"YulIdentifier","src":"83088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83075:6:22","nodeType":"YulIdentifier","src":"83075:6:22"},"nativeSrc":"83075:16:22","nodeType":"YulFunctionCall","src":"83075:16:22"},"nativeSrc":"83075:16:22","nodeType":"YulExpressionStatement","src":"83075:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83111:4:22","nodeType":"YulLiteral","src":"83111:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"83117:2:22","nodeType":"YulIdentifier","src":"83117:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83104:6:22","nodeType":"YulIdentifier","src":"83104:6:22"},"nativeSrc":"83104:16:22","nodeType":"YulFunctionCall","src":"83104:16:22"},"nativeSrc":"83104:16:22","nodeType":"YulExpressionStatement","src":"83104:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83140:4:22","nodeType":"YulLiteral","src":"83140:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"83146:2:22","nodeType":"YulIdentifier","src":"83146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83133:6:22","nodeType":"YulIdentifier","src":"83133:6:22"},"nativeSrc":"83133:16:22","nodeType":"YulFunctionCall","src":"83133:16:22"},"nativeSrc":"83133:16:22","nodeType":"YulExpressionStatement","src":"83133:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83169:4:22","nodeType":"YulLiteral","src":"83169:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"83175:2:22","nodeType":"YulIdentifier","src":"83175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83162:6:22","nodeType":"YulIdentifier","src":"83162:6:22"},"nativeSrc":"83162:16:22","nodeType":"YulFunctionCall","src":"83162:16:22"},"nativeSrc":"83162:16:22","nodeType":"YulExpressionStatement","src":"83162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83198:4:22","nodeType":"YulLiteral","src":"83198:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"83204:2:22","nodeType":"YulIdentifier","src":"83204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"83191:6:22","nodeType":"YulIdentifier","src":"83191:6:22"},"nativeSrc":"83191:16:22","nodeType":"YulFunctionCall","src":"83191:16:22"},"nativeSrc":"83191:16:22","nodeType":"YulExpressionStatement","src":"83191:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33949,"isOffset":false,"isSlot":false,"src":"83059:2:22","valueSize":1},{"declaration":33952,"isOffset":false,"isSlot":false,"src":"83088:2:22","valueSize":1},{"declaration":33955,"isOffset":false,"isSlot":false,"src":"83117:2:22","valueSize":1},{"declaration":33958,"isOffset":false,"isSlot":false,"src":"83146:2:22","valueSize":1},{"declaration":33961,"isOffset":false,"isSlot":false,"src":"83175:2:22","valueSize":1},{"declaration":33964,"isOffset":false,"isSlot":false,"src":"83204:2:22","valueSize":1}],"id":33972,"nodeType":"InlineAssembly","src":"83023:194:22"}]},"id":33974,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"81934:3:22","nodeType":"FunctionDefinition","parameters":{"id":33946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33941,"mutability":"mutable","name":"p0","nameLocation":"81946:2:22","nodeType":"VariableDeclaration","scope":33974,"src":"81938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81938:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33943,"mutability":"mutable","name":"p1","nameLocation":"81958:2:22","nodeType":"VariableDeclaration","scope":33974,"src":"81950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33942,"name":"uint256","nodeType":"ElementaryTypeName","src":"81950:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33945,"mutability":"mutable","name":"p2","nameLocation":"81970:2:22","nodeType":"VariableDeclaration","scope":33974,"src":"81962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33944,"name":"uint256","nodeType":"ElementaryTypeName","src":"81962:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"81937:36:22"},"returnParameters":{"id":33947,"nodeType":"ParameterList","parameters":[],"src":"81988:0:22"},"scope":44426,"src":"81925:1298:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34014,"nodeType":"Block","src":"83292:1428:22","statements":[{"assignments":[33984],"declarations":[{"constant":false,"id":33984,"mutability":"mutable","name":"m0","nameLocation":"83310:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83302:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83302:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33985,"nodeType":"VariableDeclarationStatement","src":"83302:10:22"},{"assignments":[33987],"declarations":[{"constant":false,"id":33987,"mutability":"mutable","name":"m1","nameLocation":"83330:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83322:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83322:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33988,"nodeType":"VariableDeclarationStatement","src":"83322:10:22"},{"assignments":[33990],"declarations":[{"constant":false,"id":33990,"mutability":"mutable","name":"m2","nameLocation":"83350:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83342:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83342:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33991,"nodeType":"VariableDeclarationStatement","src":"83342:10:22"},{"assignments":[33993],"declarations":[{"constant":false,"id":33993,"mutability":"mutable","name":"m3","nameLocation":"83370:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83362:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83362:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33994,"nodeType":"VariableDeclarationStatement","src":"83362:10:22"},{"assignments":[33996],"declarations":[{"constant":false,"id":33996,"mutability":"mutable","name":"m4","nameLocation":"83390:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83382:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83382:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33997,"nodeType":"VariableDeclarationStatement","src":"83382:10:22"},{"assignments":[33999],"declarations":[{"constant":false,"id":33999,"mutability":"mutable","name":"m5","nameLocation":"83410:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83402:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83402:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34000,"nodeType":"VariableDeclarationStatement","src":"83402:10:22"},{"assignments":[34002],"declarations":[{"constant":false,"id":34002,"mutability":"mutable","name":"m6","nameLocation":"83430:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83422:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83422:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34003,"nodeType":"VariableDeclarationStatement","src":"83422:10:22"},{"assignments":[34005],"declarations":[{"constant":false,"id":34005,"mutability":"mutable","name":"m7","nameLocation":"83450:2:22","nodeType":"VariableDeclaration","scope":34014,"src":"83442:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83442:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34006,"nodeType":"VariableDeclarationStatement","src":"83442:10:22"},{"AST":{"nativeSrc":"83514:859:22","nodeType":"YulBlock","src":"83514:859:22","statements":[{"body":{"nativeSrc":"83557:313:22","nodeType":"YulBlock","src":"83557:313:22","statements":[{"nativeSrc":"83575:15:22","nodeType":"YulVariableDeclaration","src":"83575:15:22","value":{"kind":"number","nativeSrc":"83589:1:22","nodeType":"YulLiteral","src":"83589:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"83579:6:22","nodeType":"YulTypedName","src":"83579:6:22","type":""}]},{"body":{"nativeSrc":"83660:40:22","nodeType":"YulBlock","src":"83660:40:22","statements":[{"body":{"nativeSrc":"83689:9:22","nodeType":"YulBlock","src":"83689:9:22","statements":[{"nativeSrc":"83691:5:22","nodeType":"YulBreak","src":"83691:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"83677:6:22","nodeType":"YulIdentifier","src":"83677:6:22"},{"name":"w","nativeSrc":"83685:1:22","nodeType":"YulIdentifier","src":"83685:1:22"}],"functionName":{"name":"byte","nativeSrc":"83672:4:22","nodeType":"YulIdentifier","src":"83672:4:22"},"nativeSrc":"83672:15:22","nodeType":"YulFunctionCall","src":"83672:15:22"}],"functionName":{"name":"iszero","nativeSrc":"83665:6:22","nodeType":"YulIdentifier","src":"83665:6:22"},"nativeSrc":"83665:23:22","nodeType":"YulFunctionCall","src":"83665:23:22"},"nativeSrc":"83662:36:22","nodeType":"YulIf","src":"83662:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"83617:6:22","nodeType":"YulIdentifier","src":"83617:6:22"},{"kind":"number","nativeSrc":"83625:4:22","nodeType":"YulLiteral","src":"83625:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"83614:2:22","nodeType":"YulIdentifier","src":"83614:2:22"},"nativeSrc":"83614:16:22","nodeType":"YulFunctionCall","src":"83614:16:22"},"nativeSrc":"83607:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"83631:28:22","nodeType":"YulBlock","src":"83631:28:22","statements":[{"nativeSrc":"83633:24:22","nodeType":"YulAssignment","src":"83633:24:22","value":{"arguments":[{"name":"length","nativeSrc":"83647:6:22","nodeType":"YulIdentifier","src":"83647:6:22"},{"kind":"number","nativeSrc":"83655:1:22","nodeType":"YulLiteral","src":"83655:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"83643:3:22","nodeType":"YulIdentifier","src":"83643:3:22"},"nativeSrc":"83643:14:22","nodeType":"YulFunctionCall","src":"83643:14:22"},"variableNames":[{"name":"length","nativeSrc":"83633:6:22","nodeType":"YulIdentifier","src":"83633:6:22"}]}]},"pre":{"nativeSrc":"83611:2:22","nodeType":"YulBlock","src":"83611:2:22","statements":[]},"src":"83607:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"83724:3:22","nodeType":"YulIdentifier","src":"83724:3:22"},{"name":"length","nativeSrc":"83729:6:22","nodeType":"YulIdentifier","src":"83729:6:22"}],"functionName":{"name":"mstore","nativeSrc":"83717:6:22","nodeType":"YulIdentifier","src":"83717:6:22"},"nativeSrc":"83717:19:22","nodeType":"YulFunctionCall","src":"83717:19:22"},"nativeSrc":"83717:19:22","nodeType":"YulExpressionStatement","src":"83717:19:22"},{"nativeSrc":"83753:37:22","nodeType":"YulVariableDeclaration","src":"83753:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"83770:3:22","nodeType":"YulLiteral","src":"83770:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"83779:1:22","nodeType":"YulLiteral","src":"83779:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"83782:6:22","nodeType":"YulIdentifier","src":"83782:6:22"}],"functionName":{"name":"shl","nativeSrc":"83775:3:22","nodeType":"YulIdentifier","src":"83775:3:22"},"nativeSrc":"83775:14:22","nodeType":"YulFunctionCall","src":"83775:14:22"}],"functionName":{"name":"sub","nativeSrc":"83766:3:22","nodeType":"YulIdentifier","src":"83766:3:22"},"nativeSrc":"83766:24:22","nodeType":"YulFunctionCall","src":"83766:24:22"},"variables":[{"name":"shift","nativeSrc":"83757:5:22","nodeType":"YulTypedName","src":"83757:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"83818:3:22","nodeType":"YulIdentifier","src":"83818:3:22"},{"kind":"number","nativeSrc":"83823:4:22","nodeType":"YulLiteral","src":"83823:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"83814:3:22","nodeType":"YulIdentifier","src":"83814:3:22"},"nativeSrc":"83814:14:22","nodeType":"YulFunctionCall","src":"83814:14:22"},{"arguments":[{"name":"shift","nativeSrc":"83834:5:22","nodeType":"YulIdentifier","src":"83834:5:22"},{"arguments":[{"name":"shift","nativeSrc":"83845:5:22","nodeType":"YulIdentifier","src":"83845:5:22"},{"name":"w","nativeSrc":"83852:1:22","nodeType":"YulIdentifier","src":"83852:1:22"}],"functionName":{"name":"shr","nativeSrc":"83841:3:22","nodeType":"YulIdentifier","src":"83841:3:22"},"nativeSrc":"83841:13:22","nodeType":"YulFunctionCall","src":"83841:13:22"}],"functionName":{"name":"shl","nativeSrc":"83830:3:22","nodeType":"YulIdentifier","src":"83830:3:22"},"nativeSrc":"83830:25:22","nodeType":"YulFunctionCall","src":"83830:25:22"}],"functionName":{"name":"mstore","nativeSrc":"83807:6:22","nodeType":"YulIdentifier","src":"83807:6:22"},"nativeSrc":"83807:49:22","nodeType":"YulFunctionCall","src":"83807:49:22"},"nativeSrc":"83807:49:22","nodeType":"YulExpressionStatement","src":"83807:49:22"}]},"name":"writeString","nativeSrc":"83528:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"83549:3:22","nodeType":"YulTypedName","src":"83549:3:22","type":""},{"name":"w","nativeSrc":"83554:1:22","nodeType":"YulTypedName","src":"83554:1:22","type":""}],"src":"83528:342:22"},{"nativeSrc":"83883:17:22","nodeType":"YulAssignment","src":"83883:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"83895:4:22","nodeType":"YulLiteral","src":"83895:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"83889:5:22","nodeType":"YulIdentifier","src":"83889:5:22"},"nativeSrc":"83889:11:22","nodeType":"YulFunctionCall","src":"83889:11:22"},"variableNames":[{"name":"m0","nativeSrc":"83883:2:22","nodeType":"YulIdentifier","src":"83883:2:22"}]},{"nativeSrc":"83913:17:22","nodeType":"YulAssignment","src":"83913:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"83925:4:22","nodeType":"YulLiteral","src":"83925:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"83919:5:22","nodeType":"YulIdentifier","src":"83919:5:22"},"nativeSrc":"83919:11:22","nodeType":"YulFunctionCall","src":"83919:11:22"},"variableNames":[{"name":"m1","nativeSrc":"83913:2:22","nodeType":"YulIdentifier","src":"83913:2:22"}]},{"nativeSrc":"83943:17:22","nodeType":"YulAssignment","src":"83943:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"83955:4:22","nodeType":"YulLiteral","src":"83955:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"83949:5:22","nodeType":"YulIdentifier","src":"83949:5:22"},"nativeSrc":"83949:11:22","nodeType":"YulFunctionCall","src":"83949:11:22"},"variableNames":[{"name":"m2","nativeSrc":"83943:2:22","nodeType":"YulIdentifier","src":"83943:2:22"}]},{"nativeSrc":"83973:17:22","nodeType":"YulAssignment","src":"83973:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"83985:4:22","nodeType":"YulLiteral","src":"83985:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"83979:5:22","nodeType":"YulIdentifier","src":"83979:5:22"},"nativeSrc":"83979:11:22","nodeType":"YulFunctionCall","src":"83979:11:22"},"variableNames":[{"name":"m3","nativeSrc":"83973:2:22","nodeType":"YulIdentifier","src":"83973:2:22"}]},{"nativeSrc":"84003:17:22","nodeType":"YulAssignment","src":"84003:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"84015:4:22","nodeType":"YulLiteral","src":"84015:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"84009:5:22","nodeType":"YulIdentifier","src":"84009:5:22"},"nativeSrc":"84009:11:22","nodeType":"YulFunctionCall","src":"84009:11:22"},"variableNames":[{"name":"m4","nativeSrc":"84003:2:22","nodeType":"YulIdentifier","src":"84003:2:22"}]},{"nativeSrc":"84033:17:22","nodeType":"YulAssignment","src":"84033:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"84045:4:22","nodeType":"YulLiteral","src":"84045:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"84039:5:22","nodeType":"YulIdentifier","src":"84039:5:22"},"nativeSrc":"84039:11:22","nodeType":"YulFunctionCall","src":"84039:11:22"},"variableNames":[{"name":"m5","nativeSrc":"84033:2:22","nodeType":"YulIdentifier","src":"84033:2:22"}]},{"nativeSrc":"84063:17:22","nodeType":"YulAssignment","src":"84063:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"84075:4:22","nodeType":"YulLiteral","src":"84075:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"84069:5:22","nodeType":"YulIdentifier","src":"84069:5:22"},"nativeSrc":"84069:11:22","nodeType":"YulFunctionCall","src":"84069:11:22"},"variableNames":[{"name":"m6","nativeSrc":"84063:2:22","nodeType":"YulIdentifier","src":"84063:2:22"}]},{"nativeSrc":"84093:17:22","nodeType":"YulAssignment","src":"84093:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"84105:4:22","nodeType":"YulLiteral","src":"84105:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"84099:5:22","nodeType":"YulIdentifier","src":"84099:5:22"},"nativeSrc":"84099:11:22","nodeType":"YulFunctionCall","src":"84099:11:22"},"variableNames":[{"name":"m7","nativeSrc":"84093:2:22","nodeType":"YulIdentifier","src":"84093:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84187:4:22","nodeType":"YulLiteral","src":"84187:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"84193:10:22","nodeType":"YulLiteral","src":"84193:10:22","type":"","value":"0x5970e089"}],"functionName":{"name":"mstore","nativeSrc":"84180:6:22","nodeType":"YulIdentifier","src":"84180:6:22"},"nativeSrc":"84180:24:22","nodeType":"YulFunctionCall","src":"84180:24:22"},"nativeSrc":"84180:24:22","nodeType":"YulExpressionStatement","src":"84180:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84224:4:22","nodeType":"YulLiteral","src":"84224:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"84230:4:22","nodeType":"YulLiteral","src":"84230:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"84217:6:22","nodeType":"YulIdentifier","src":"84217:6:22"},"nativeSrc":"84217:18:22","nodeType":"YulFunctionCall","src":"84217:18:22"},"nativeSrc":"84217:18:22","nodeType":"YulExpressionStatement","src":"84217:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84255:4:22","nodeType":"YulLiteral","src":"84255:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"84261:2:22","nodeType":"YulIdentifier","src":"84261:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84248:6:22","nodeType":"YulIdentifier","src":"84248:6:22"},"nativeSrc":"84248:16:22","nodeType":"YulFunctionCall","src":"84248:16:22"},"nativeSrc":"84248:16:22","nodeType":"YulExpressionStatement","src":"84248:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84284:4:22","nodeType":"YulLiteral","src":"84284:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"84290:4:22","nodeType":"YulLiteral","src":"84290:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"84277:6:22","nodeType":"YulIdentifier","src":"84277:6:22"},"nativeSrc":"84277:18:22","nodeType":"YulFunctionCall","src":"84277:18:22"},"nativeSrc":"84277:18:22","nodeType":"YulExpressionStatement","src":"84277:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84320:4:22","nodeType":"YulLiteral","src":"84320:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"84326:2:22","nodeType":"YulIdentifier","src":"84326:2:22"}],"functionName":{"name":"writeString","nativeSrc":"84308:11:22","nodeType":"YulIdentifier","src":"84308:11:22"},"nativeSrc":"84308:21:22","nodeType":"YulFunctionCall","src":"84308:21:22"},"nativeSrc":"84308:21:22","nodeType":"YulExpressionStatement","src":"84308:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84354:4:22","nodeType":"YulLiteral","src":"84354:4:22","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"84360:2:22","nodeType":"YulIdentifier","src":"84360:2:22"}],"functionName":{"name":"writeString","nativeSrc":"84342:11:22","nodeType":"YulIdentifier","src":"84342:11:22"},"nativeSrc":"84342:21:22","nodeType":"YulFunctionCall","src":"84342:21:22"},"nativeSrc":"84342:21:22","nodeType":"YulExpressionStatement","src":"84342:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33984,"isOffset":false,"isSlot":false,"src":"83883:2:22","valueSize":1},{"declaration":33987,"isOffset":false,"isSlot":false,"src":"83913:2:22","valueSize":1},{"declaration":33990,"isOffset":false,"isSlot":false,"src":"83943:2:22","valueSize":1},{"declaration":33993,"isOffset":false,"isSlot":false,"src":"83973:2:22","valueSize":1},{"declaration":33996,"isOffset":false,"isSlot":false,"src":"84003:2:22","valueSize":1},{"declaration":33999,"isOffset":false,"isSlot":false,"src":"84033:2:22","valueSize":1},{"declaration":34002,"isOffset":false,"isSlot":false,"src":"84063:2:22","valueSize":1},{"declaration":34005,"isOffset":false,"isSlot":false,"src":"84093:2:22","valueSize":1},{"declaration":33976,"isOffset":false,"isSlot":false,"src":"84326:2:22","valueSize":1},{"declaration":33978,"isOffset":false,"isSlot":false,"src":"84261:2:22","valueSize":1},{"declaration":33980,"isOffset":false,"isSlot":false,"src":"84360:2:22","valueSize":1}],"id":34007,"nodeType":"InlineAssembly","src":"83505:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84398:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":34010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84404:4:22","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":34008,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"84382:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"84382:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34012,"nodeType":"ExpressionStatement","src":"84382:27:22"},{"AST":{"nativeSrc":"84471:243:22","nodeType":"YulBlock","src":"84471:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"84492:4:22","nodeType":"YulLiteral","src":"84492:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"84498:2:22","nodeType":"YulIdentifier","src":"84498:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84485:6:22","nodeType":"YulIdentifier","src":"84485:6:22"},"nativeSrc":"84485:16:22","nodeType":"YulFunctionCall","src":"84485:16:22"},"nativeSrc":"84485:16:22","nodeType":"YulExpressionStatement","src":"84485:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84521:4:22","nodeType":"YulLiteral","src":"84521:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"84527:2:22","nodeType":"YulIdentifier","src":"84527:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84514:6:22","nodeType":"YulIdentifier","src":"84514:6:22"},"nativeSrc":"84514:16:22","nodeType":"YulFunctionCall","src":"84514:16:22"},"nativeSrc":"84514:16:22","nodeType":"YulExpressionStatement","src":"84514:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84550:4:22","nodeType":"YulLiteral","src":"84550:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"84556:2:22","nodeType":"YulIdentifier","src":"84556:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84543:6:22","nodeType":"YulIdentifier","src":"84543:6:22"},"nativeSrc":"84543:16:22","nodeType":"YulFunctionCall","src":"84543:16:22"},"nativeSrc":"84543:16:22","nodeType":"YulExpressionStatement","src":"84543:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84579:4:22","nodeType":"YulLiteral","src":"84579:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"84585:2:22","nodeType":"YulIdentifier","src":"84585:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84572:6:22","nodeType":"YulIdentifier","src":"84572:6:22"},"nativeSrc":"84572:16:22","nodeType":"YulFunctionCall","src":"84572:16:22"},"nativeSrc":"84572:16:22","nodeType":"YulExpressionStatement","src":"84572:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84608:4:22","nodeType":"YulLiteral","src":"84608:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"84614:2:22","nodeType":"YulIdentifier","src":"84614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84601:6:22","nodeType":"YulIdentifier","src":"84601:6:22"},"nativeSrc":"84601:16:22","nodeType":"YulFunctionCall","src":"84601:16:22"},"nativeSrc":"84601:16:22","nodeType":"YulExpressionStatement","src":"84601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84637:4:22","nodeType":"YulLiteral","src":"84637:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"84643:2:22","nodeType":"YulIdentifier","src":"84643:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84630:6:22","nodeType":"YulIdentifier","src":"84630:6:22"},"nativeSrc":"84630:16:22","nodeType":"YulFunctionCall","src":"84630:16:22"},"nativeSrc":"84630:16:22","nodeType":"YulExpressionStatement","src":"84630:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84666:4:22","nodeType":"YulLiteral","src":"84666:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"84672:2:22","nodeType":"YulIdentifier","src":"84672:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84659:6:22","nodeType":"YulIdentifier","src":"84659:6:22"},"nativeSrc":"84659:16:22","nodeType":"YulFunctionCall","src":"84659:16:22"},"nativeSrc":"84659:16:22","nodeType":"YulExpressionStatement","src":"84659:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84695:4:22","nodeType":"YulLiteral","src":"84695:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"84701:2:22","nodeType":"YulIdentifier","src":"84701:2:22"}],"functionName":{"name":"mstore","nativeSrc":"84688:6:22","nodeType":"YulIdentifier","src":"84688:6:22"},"nativeSrc":"84688:16:22","nodeType":"YulFunctionCall","src":"84688:16:22"},"nativeSrc":"84688:16:22","nodeType":"YulExpressionStatement","src":"84688:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33984,"isOffset":false,"isSlot":false,"src":"84498:2:22","valueSize":1},{"declaration":33987,"isOffset":false,"isSlot":false,"src":"84527:2:22","valueSize":1},{"declaration":33990,"isOffset":false,"isSlot":false,"src":"84556:2:22","valueSize":1},{"declaration":33993,"isOffset":false,"isSlot":false,"src":"84585:2:22","valueSize":1},{"declaration":33996,"isOffset":false,"isSlot":false,"src":"84614:2:22","valueSize":1},{"declaration":33999,"isOffset":false,"isSlot":false,"src":"84643:2:22","valueSize":1},{"declaration":34002,"isOffset":false,"isSlot":false,"src":"84672:2:22","valueSize":1},{"declaration":34005,"isOffset":false,"isSlot":false,"src":"84701:2:22","valueSize":1}],"id":34013,"nodeType":"InlineAssembly","src":"84462:252:22"}]},"id":34015,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"83238:3:22","nodeType":"FunctionDefinition","parameters":{"id":33981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33976,"mutability":"mutable","name":"p0","nameLocation":"83250:2:22","nodeType":"VariableDeclaration","scope":34015,"src":"83242:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83242:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33978,"mutability":"mutable","name":"p1","nameLocation":"83262:2:22","nodeType":"VariableDeclaration","scope":34015,"src":"83254:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33977,"name":"uint256","nodeType":"ElementaryTypeName","src":"83254:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33980,"mutability":"mutable","name":"p2","nameLocation":"83274:2:22","nodeType":"VariableDeclaration","scope":34015,"src":"83266:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83266:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"83241:36:22"},"returnParameters":{"id":33982,"nodeType":"ParameterList","parameters":[],"src":"83292:0:22"},"scope":44426,"src":"83229:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34055,"nodeType":"Block","src":"84789:1428:22","statements":[{"assignments":[34025],"declarations":[{"constant":false,"id":34025,"mutability":"mutable","name":"m0","nameLocation":"84807:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34026,"nodeType":"VariableDeclarationStatement","src":"84799:10:22"},{"assignments":[34028],"declarations":[{"constant":false,"id":34028,"mutability":"mutable","name":"m1","nameLocation":"84827:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34029,"nodeType":"VariableDeclarationStatement","src":"84819:10:22"},{"assignments":[34031],"declarations":[{"constant":false,"id":34031,"mutability":"mutable","name":"m2","nameLocation":"84847:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84839:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84839:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34032,"nodeType":"VariableDeclarationStatement","src":"84839:10:22"},{"assignments":[34034],"declarations":[{"constant":false,"id":34034,"mutability":"mutable","name":"m3","nameLocation":"84867:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84859:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34035,"nodeType":"VariableDeclarationStatement","src":"84859:10:22"},{"assignments":[34037],"declarations":[{"constant":false,"id":34037,"mutability":"mutable","name":"m4","nameLocation":"84887:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34038,"nodeType":"VariableDeclarationStatement","src":"84879:10:22"},{"assignments":[34040],"declarations":[{"constant":false,"id":34040,"mutability":"mutable","name":"m5","nameLocation":"84907:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84899:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34041,"nodeType":"VariableDeclarationStatement","src":"84899:10:22"},{"assignments":[34043],"declarations":[{"constant":false,"id":34043,"mutability":"mutable","name":"m6","nameLocation":"84927:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84919:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84919:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34044,"nodeType":"VariableDeclarationStatement","src":"84919:10:22"},{"assignments":[34046],"declarations":[{"constant":false,"id":34046,"mutability":"mutable","name":"m7","nameLocation":"84947:2:22","nodeType":"VariableDeclaration","scope":34055,"src":"84939:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84939:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34047,"nodeType":"VariableDeclarationStatement","src":"84939:10:22"},{"AST":{"nativeSrc":"85011:859:22","nodeType":"YulBlock","src":"85011:859:22","statements":[{"body":{"nativeSrc":"85054:313:22","nodeType":"YulBlock","src":"85054:313:22","statements":[{"nativeSrc":"85072:15:22","nodeType":"YulVariableDeclaration","src":"85072:15:22","value":{"kind":"number","nativeSrc":"85086:1:22","nodeType":"YulLiteral","src":"85086:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"85076:6:22","nodeType":"YulTypedName","src":"85076:6:22","type":""}]},{"body":{"nativeSrc":"85157:40:22","nodeType":"YulBlock","src":"85157:40:22","statements":[{"body":{"nativeSrc":"85186:9:22","nodeType":"YulBlock","src":"85186:9:22","statements":[{"nativeSrc":"85188:5:22","nodeType":"YulBreak","src":"85188:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"85174:6:22","nodeType":"YulIdentifier","src":"85174:6:22"},{"name":"w","nativeSrc":"85182:1:22","nodeType":"YulIdentifier","src":"85182:1:22"}],"functionName":{"name":"byte","nativeSrc":"85169:4:22","nodeType":"YulIdentifier","src":"85169:4:22"},"nativeSrc":"85169:15:22","nodeType":"YulFunctionCall","src":"85169:15:22"}],"functionName":{"name":"iszero","nativeSrc":"85162:6:22","nodeType":"YulIdentifier","src":"85162:6:22"},"nativeSrc":"85162:23:22","nodeType":"YulFunctionCall","src":"85162:23:22"},"nativeSrc":"85159:36:22","nodeType":"YulIf","src":"85159:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"85114:6:22","nodeType":"YulIdentifier","src":"85114:6:22"},{"kind":"number","nativeSrc":"85122:4:22","nodeType":"YulLiteral","src":"85122:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"85111:2:22","nodeType":"YulIdentifier","src":"85111:2:22"},"nativeSrc":"85111:16:22","nodeType":"YulFunctionCall","src":"85111:16:22"},"nativeSrc":"85104:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"85128:28:22","nodeType":"YulBlock","src":"85128:28:22","statements":[{"nativeSrc":"85130:24:22","nodeType":"YulAssignment","src":"85130:24:22","value":{"arguments":[{"name":"length","nativeSrc":"85144:6:22","nodeType":"YulIdentifier","src":"85144:6:22"},{"kind":"number","nativeSrc":"85152:1:22","nodeType":"YulLiteral","src":"85152:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"85140:3:22","nodeType":"YulIdentifier","src":"85140:3:22"},"nativeSrc":"85140:14:22","nodeType":"YulFunctionCall","src":"85140:14:22"},"variableNames":[{"name":"length","nativeSrc":"85130:6:22","nodeType":"YulIdentifier","src":"85130:6:22"}]}]},"pre":{"nativeSrc":"85108:2:22","nodeType":"YulBlock","src":"85108:2:22","statements":[]},"src":"85104:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"85221:3:22","nodeType":"YulIdentifier","src":"85221:3:22"},{"name":"length","nativeSrc":"85226:6:22","nodeType":"YulIdentifier","src":"85226:6:22"}],"functionName":{"name":"mstore","nativeSrc":"85214:6:22","nodeType":"YulIdentifier","src":"85214:6:22"},"nativeSrc":"85214:19:22","nodeType":"YulFunctionCall","src":"85214:19:22"},"nativeSrc":"85214:19:22","nodeType":"YulExpressionStatement","src":"85214:19:22"},{"nativeSrc":"85250:37:22","nodeType":"YulVariableDeclaration","src":"85250:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"85267:3:22","nodeType":"YulLiteral","src":"85267:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"85276:1:22","nodeType":"YulLiteral","src":"85276:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"85279:6:22","nodeType":"YulIdentifier","src":"85279:6:22"}],"functionName":{"name":"shl","nativeSrc":"85272:3:22","nodeType":"YulIdentifier","src":"85272:3:22"},"nativeSrc":"85272:14:22","nodeType":"YulFunctionCall","src":"85272:14:22"}],"functionName":{"name":"sub","nativeSrc":"85263:3:22","nodeType":"YulIdentifier","src":"85263:3:22"},"nativeSrc":"85263:24:22","nodeType":"YulFunctionCall","src":"85263:24:22"},"variables":[{"name":"shift","nativeSrc":"85254:5:22","nodeType":"YulTypedName","src":"85254:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"85315:3:22","nodeType":"YulIdentifier","src":"85315:3:22"},{"kind":"number","nativeSrc":"85320:4:22","nodeType":"YulLiteral","src":"85320:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"85311:3:22","nodeType":"YulIdentifier","src":"85311:3:22"},"nativeSrc":"85311:14:22","nodeType":"YulFunctionCall","src":"85311:14:22"},{"arguments":[{"name":"shift","nativeSrc":"85331:5:22","nodeType":"YulIdentifier","src":"85331:5:22"},{"arguments":[{"name":"shift","nativeSrc":"85342:5:22","nodeType":"YulIdentifier","src":"85342:5:22"},{"name":"w","nativeSrc":"85349:1:22","nodeType":"YulIdentifier","src":"85349:1:22"}],"functionName":{"name":"shr","nativeSrc":"85338:3:22","nodeType":"YulIdentifier","src":"85338:3:22"},"nativeSrc":"85338:13:22","nodeType":"YulFunctionCall","src":"85338:13:22"}],"functionName":{"name":"shl","nativeSrc":"85327:3:22","nodeType":"YulIdentifier","src":"85327:3:22"},"nativeSrc":"85327:25:22","nodeType":"YulFunctionCall","src":"85327:25:22"}],"functionName":{"name":"mstore","nativeSrc":"85304:6:22","nodeType":"YulIdentifier","src":"85304:6:22"},"nativeSrc":"85304:49:22","nodeType":"YulFunctionCall","src":"85304:49:22"},"nativeSrc":"85304:49:22","nodeType":"YulExpressionStatement","src":"85304:49:22"}]},"name":"writeString","nativeSrc":"85025:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"85046:3:22","nodeType":"YulTypedName","src":"85046:3:22","type":""},{"name":"w","nativeSrc":"85051:1:22","nodeType":"YulTypedName","src":"85051:1:22","type":""}],"src":"85025:342:22"},{"nativeSrc":"85380:17:22","nodeType":"YulAssignment","src":"85380:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85392:4:22","nodeType":"YulLiteral","src":"85392:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"85386:5:22","nodeType":"YulIdentifier","src":"85386:5:22"},"nativeSrc":"85386:11:22","nodeType":"YulFunctionCall","src":"85386:11:22"},"variableNames":[{"name":"m0","nativeSrc":"85380:2:22","nodeType":"YulIdentifier","src":"85380:2:22"}]},{"nativeSrc":"85410:17:22","nodeType":"YulAssignment","src":"85410:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85422:4:22","nodeType":"YulLiteral","src":"85422:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"85416:5:22","nodeType":"YulIdentifier","src":"85416:5:22"},"nativeSrc":"85416:11:22","nodeType":"YulFunctionCall","src":"85416:11:22"},"variableNames":[{"name":"m1","nativeSrc":"85410:2:22","nodeType":"YulIdentifier","src":"85410:2:22"}]},{"nativeSrc":"85440:17:22","nodeType":"YulAssignment","src":"85440:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85452:4:22","nodeType":"YulLiteral","src":"85452:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"85446:5:22","nodeType":"YulIdentifier","src":"85446:5:22"},"nativeSrc":"85446:11:22","nodeType":"YulFunctionCall","src":"85446:11:22"},"variableNames":[{"name":"m2","nativeSrc":"85440:2:22","nodeType":"YulIdentifier","src":"85440:2:22"}]},{"nativeSrc":"85470:17:22","nodeType":"YulAssignment","src":"85470:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85482:4:22","nodeType":"YulLiteral","src":"85482:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"85476:5:22","nodeType":"YulIdentifier","src":"85476:5:22"},"nativeSrc":"85476:11:22","nodeType":"YulFunctionCall","src":"85476:11:22"},"variableNames":[{"name":"m3","nativeSrc":"85470:2:22","nodeType":"YulIdentifier","src":"85470:2:22"}]},{"nativeSrc":"85500:17:22","nodeType":"YulAssignment","src":"85500:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85512:4:22","nodeType":"YulLiteral","src":"85512:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"85506:5:22","nodeType":"YulIdentifier","src":"85506:5:22"},"nativeSrc":"85506:11:22","nodeType":"YulFunctionCall","src":"85506:11:22"},"variableNames":[{"name":"m4","nativeSrc":"85500:2:22","nodeType":"YulIdentifier","src":"85500:2:22"}]},{"nativeSrc":"85530:17:22","nodeType":"YulAssignment","src":"85530:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85542:4:22","nodeType":"YulLiteral","src":"85542:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"85536:5:22","nodeType":"YulIdentifier","src":"85536:5:22"},"nativeSrc":"85536:11:22","nodeType":"YulFunctionCall","src":"85536:11:22"},"variableNames":[{"name":"m5","nativeSrc":"85530:2:22","nodeType":"YulIdentifier","src":"85530:2:22"}]},{"nativeSrc":"85560:17:22","nodeType":"YulAssignment","src":"85560:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85572:4:22","nodeType":"YulLiteral","src":"85572:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"85566:5:22","nodeType":"YulIdentifier","src":"85566:5:22"},"nativeSrc":"85566:11:22","nodeType":"YulFunctionCall","src":"85566:11:22"},"variableNames":[{"name":"m6","nativeSrc":"85560:2:22","nodeType":"YulIdentifier","src":"85560:2:22"}]},{"nativeSrc":"85590:17:22","nodeType":"YulAssignment","src":"85590:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"85602:4:22","nodeType":"YulLiteral","src":"85602:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"85596:5:22","nodeType":"YulIdentifier","src":"85596:5:22"},"nativeSrc":"85596:11:22","nodeType":"YulFunctionCall","src":"85596:11:22"},"variableNames":[{"name":"m7","nativeSrc":"85590:2:22","nodeType":"YulIdentifier","src":"85590:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85684:4:22","nodeType":"YulLiteral","src":"85684:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"85690:10:22","nodeType":"YulLiteral","src":"85690:10:22","type":"","value":"0x95ed0195"}],"functionName":{"name":"mstore","nativeSrc":"85677:6:22","nodeType":"YulIdentifier","src":"85677:6:22"},"nativeSrc":"85677:24:22","nodeType":"YulFunctionCall","src":"85677:24:22"},"nativeSrc":"85677:24:22","nodeType":"YulExpressionStatement","src":"85677:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85721:4:22","nodeType":"YulLiteral","src":"85721:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"85727:4:22","nodeType":"YulLiteral","src":"85727:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"85714:6:22","nodeType":"YulIdentifier","src":"85714:6:22"},"nativeSrc":"85714:18:22","nodeType":"YulFunctionCall","src":"85714:18:22"},"nativeSrc":"85714:18:22","nodeType":"YulExpressionStatement","src":"85714:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85752:4:22","nodeType":"YulLiteral","src":"85752:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"85758:4:22","nodeType":"YulLiteral","src":"85758:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"85745:6:22","nodeType":"YulIdentifier","src":"85745:6:22"},"nativeSrc":"85745:18:22","nodeType":"YulFunctionCall","src":"85745:18:22"},"nativeSrc":"85745:18:22","nodeType":"YulExpressionStatement","src":"85745:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85783:4:22","nodeType":"YulLiteral","src":"85783:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"85789:2:22","nodeType":"YulIdentifier","src":"85789:2:22"}],"functionName":{"name":"mstore","nativeSrc":"85776:6:22","nodeType":"YulIdentifier","src":"85776:6:22"},"nativeSrc":"85776:16:22","nodeType":"YulFunctionCall","src":"85776:16:22"},"nativeSrc":"85776:16:22","nodeType":"YulExpressionStatement","src":"85776:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85817:4:22","nodeType":"YulLiteral","src":"85817:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"85823:2:22","nodeType":"YulIdentifier","src":"85823:2:22"}],"functionName":{"name":"writeString","nativeSrc":"85805:11:22","nodeType":"YulIdentifier","src":"85805:11:22"},"nativeSrc":"85805:21:22","nodeType":"YulFunctionCall","src":"85805:21:22"},"nativeSrc":"85805:21:22","nodeType":"YulExpressionStatement","src":"85805:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85851:4:22","nodeType":"YulLiteral","src":"85851:4:22","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"85857:2:22","nodeType":"YulIdentifier","src":"85857:2:22"}],"functionName":{"name":"writeString","nativeSrc":"85839:11:22","nodeType":"YulIdentifier","src":"85839:11:22"},"nativeSrc":"85839:21:22","nodeType":"YulFunctionCall","src":"85839:21:22"},"nativeSrc":"85839:21:22","nodeType":"YulExpressionStatement","src":"85839:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34025,"isOffset":false,"isSlot":false,"src":"85380:2:22","valueSize":1},{"declaration":34028,"isOffset":false,"isSlot":false,"src":"85410:2:22","valueSize":1},{"declaration":34031,"isOffset":false,"isSlot":false,"src":"85440:2:22","valueSize":1},{"declaration":34034,"isOffset":false,"isSlot":false,"src":"85470:2:22","valueSize":1},{"declaration":34037,"isOffset":false,"isSlot":false,"src":"85500:2:22","valueSize":1},{"declaration":34040,"isOffset":false,"isSlot":false,"src":"85530:2:22","valueSize":1},{"declaration":34043,"isOffset":false,"isSlot":false,"src":"85560:2:22","valueSize":1},{"declaration":34046,"isOffset":false,"isSlot":false,"src":"85590:2:22","valueSize":1},{"declaration":34017,"isOffset":false,"isSlot":false,"src":"85823:2:22","valueSize":1},{"declaration":34019,"isOffset":false,"isSlot":false,"src":"85857:2:22","valueSize":1},{"declaration":34021,"isOffset":false,"isSlot":false,"src":"85789:2:22","valueSize":1}],"id":34048,"nodeType":"InlineAssembly","src":"85002:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85895:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":34051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85901:4:22","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":34049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"85879:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"85879:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34053,"nodeType":"ExpressionStatement","src":"85879:27:22"},{"AST":{"nativeSrc":"85968:243:22","nodeType":"YulBlock","src":"85968:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"85989:4:22","nodeType":"YulLiteral","src":"85989:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"85995:2:22","nodeType":"YulIdentifier","src":"85995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"85982:6:22","nodeType":"YulIdentifier","src":"85982:6:22"},"nativeSrc":"85982:16:22","nodeType":"YulFunctionCall","src":"85982:16:22"},"nativeSrc":"85982:16:22","nodeType":"YulExpressionStatement","src":"85982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86018:4:22","nodeType":"YulLiteral","src":"86018:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"86024:2:22","nodeType":"YulIdentifier","src":"86024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86011:6:22","nodeType":"YulIdentifier","src":"86011:6:22"},"nativeSrc":"86011:16:22","nodeType":"YulFunctionCall","src":"86011:16:22"},"nativeSrc":"86011:16:22","nodeType":"YulExpressionStatement","src":"86011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86047:4:22","nodeType":"YulLiteral","src":"86047:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"86053:2:22","nodeType":"YulIdentifier","src":"86053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86040:6:22","nodeType":"YulIdentifier","src":"86040:6:22"},"nativeSrc":"86040:16:22","nodeType":"YulFunctionCall","src":"86040:16:22"},"nativeSrc":"86040:16:22","nodeType":"YulExpressionStatement","src":"86040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86076:4:22","nodeType":"YulLiteral","src":"86076:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"86082:2:22","nodeType":"YulIdentifier","src":"86082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86069:6:22","nodeType":"YulIdentifier","src":"86069:6:22"},"nativeSrc":"86069:16:22","nodeType":"YulFunctionCall","src":"86069:16:22"},"nativeSrc":"86069:16:22","nodeType":"YulExpressionStatement","src":"86069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86105:4:22","nodeType":"YulLiteral","src":"86105:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"86111:2:22","nodeType":"YulIdentifier","src":"86111:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86098:6:22","nodeType":"YulIdentifier","src":"86098:6:22"},"nativeSrc":"86098:16:22","nodeType":"YulFunctionCall","src":"86098:16:22"},"nativeSrc":"86098:16:22","nodeType":"YulExpressionStatement","src":"86098:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86134:4:22","nodeType":"YulLiteral","src":"86134:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"86140:2:22","nodeType":"YulIdentifier","src":"86140:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86127:6:22","nodeType":"YulIdentifier","src":"86127:6:22"},"nativeSrc":"86127:16:22","nodeType":"YulFunctionCall","src":"86127:16:22"},"nativeSrc":"86127:16:22","nodeType":"YulExpressionStatement","src":"86127:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86163:4:22","nodeType":"YulLiteral","src":"86163:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"86169:2:22","nodeType":"YulIdentifier","src":"86169:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86156:6:22","nodeType":"YulIdentifier","src":"86156:6:22"},"nativeSrc":"86156:16:22","nodeType":"YulFunctionCall","src":"86156:16:22"},"nativeSrc":"86156:16:22","nodeType":"YulExpressionStatement","src":"86156:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86192:4:22","nodeType":"YulLiteral","src":"86192:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"86198:2:22","nodeType":"YulIdentifier","src":"86198:2:22"}],"functionName":{"name":"mstore","nativeSrc":"86185:6:22","nodeType":"YulIdentifier","src":"86185:6:22"},"nativeSrc":"86185:16:22","nodeType":"YulFunctionCall","src":"86185:16:22"},"nativeSrc":"86185:16:22","nodeType":"YulExpressionStatement","src":"86185:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34025,"isOffset":false,"isSlot":false,"src":"85995:2:22","valueSize":1},{"declaration":34028,"isOffset":false,"isSlot":false,"src":"86024:2:22","valueSize":1},{"declaration":34031,"isOffset":false,"isSlot":false,"src":"86053:2:22","valueSize":1},{"declaration":34034,"isOffset":false,"isSlot":false,"src":"86082:2:22","valueSize":1},{"declaration":34037,"isOffset":false,"isSlot":false,"src":"86111:2:22","valueSize":1},{"declaration":34040,"isOffset":false,"isSlot":false,"src":"86140:2:22","valueSize":1},{"declaration":34043,"isOffset":false,"isSlot":false,"src":"86169:2:22","valueSize":1},{"declaration":34046,"isOffset":false,"isSlot":false,"src":"86198:2:22","valueSize":1}],"id":34054,"nodeType":"InlineAssembly","src":"85959:252:22"}]},"id":34056,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"84735:3:22","nodeType":"FunctionDefinition","parameters":{"id":34022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34017,"mutability":"mutable","name":"p0","nameLocation":"84747:2:22","nodeType":"VariableDeclaration","scope":34056,"src":"84739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84739:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34019,"mutability":"mutable","name":"p1","nameLocation":"84759:2:22","nodeType":"VariableDeclaration","scope":34056,"src":"84751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84751:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34021,"mutability":"mutable","name":"p2","nameLocation":"84771:2:22","nodeType":"VariableDeclaration","scope":34056,"src":"84763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34020,"name":"address","nodeType":"ElementaryTypeName","src":"84763:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84738:36:22"},"returnParameters":{"id":34023,"nodeType":"ParameterList","parameters":[],"src":"84789:0:22"},"scope":44426,"src":"84726:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34096,"nodeType":"Block","src":"86283:1425:22","statements":[{"assignments":[34066],"declarations":[{"constant":false,"id":34066,"mutability":"mutable","name":"m0","nameLocation":"86301:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86293:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86293:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34067,"nodeType":"VariableDeclarationStatement","src":"86293:10:22"},{"assignments":[34069],"declarations":[{"constant":false,"id":34069,"mutability":"mutable","name":"m1","nameLocation":"86321:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86313:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86313:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34070,"nodeType":"VariableDeclarationStatement","src":"86313:10:22"},{"assignments":[34072],"declarations":[{"constant":false,"id":34072,"mutability":"mutable","name":"m2","nameLocation":"86341:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86333:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86333:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34073,"nodeType":"VariableDeclarationStatement","src":"86333:10:22"},{"assignments":[34075],"declarations":[{"constant":false,"id":34075,"mutability":"mutable","name":"m3","nameLocation":"86361:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86353:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86353:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34076,"nodeType":"VariableDeclarationStatement","src":"86353:10:22"},{"assignments":[34078],"declarations":[{"constant":false,"id":34078,"mutability":"mutable","name":"m4","nameLocation":"86381:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86373:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86373:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34079,"nodeType":"VariableDeclarationStatement","src":"86373:10:22"},{"assignments":[34081],"declarations":[{"constant":false,"id":34081,"mutability":"mutable","name":"m5","nameLocation":"86401:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86393:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86393:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34082,"nodeType":"VariableDeclarationStatement","src":"86393:10:22"},{"assignments":[34084],"declarations":[{"constant":false,"id":34084,"mutability":"mutable","name":"m6","nameLocation":"86421:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86413:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86413:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34085,"nodeType":"VariableDeclarationStatement","src":"86413:10:22"},{"assignments":[34087],"declarations":[{"constant":false,"id":34087,"mutability":"mutable","name":"m7","nameLocation":"86441:2:22","nodeType":"VariableDeclaration","scope":34096,"src":"86433:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86433:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34088,"nodeType":"VariableDeclarationStatement","src":"86433:10:22"},{"AST":{"nativeSrc":"86505:856:22","nodeType":"YulBlock","src":"86505:856:22","statements":[{"body":{"nativeSrc":"86548:313:22","nodeType":"YulBlock","src":"86548:313:22","statements":[{"nativeSrc":"86566:15:22","nodeType":"YulVariableDeclaration","src":"86566:15:22","value":{"kind":"number","nativeSrc":"86580:1:22","nodeType":"YulLiteral","src":"86580:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"86570:6:22","nodeType":"YulTypedName","src":"86570:6:22","type":""}]},{"body":{"nativeSrc":"86651:40:22","nodeType":"YulBlock","src":"86651:40:22","statements":[{"body":{"nativeSrc":"86680:9:22","nodeType":"YulBlock","src":"86680:9:22","statements":[{"nativeSrc":"86682:5:22","nodeType":"YulBreak","src":"86682:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"86668:6:22","nodeType":"YulIdentifier","src":"86668:6:22"},{"name":"w","nativeSrc":"86676:1:22","nodeType":"YulIdentifier","src":"86676:1:22"}],"functionName":{"name":"byte","nativeSrc":"86663:4:22","nodeType":"YulIdentifier","src":"86663:4:22"},"nativeSrc":"86663:15:22","nodeType":"YulFunctionCall","src":"86663:15:22"}],"functionName":{"name":"iszero","nativeSrc":"86656:6:22","nodeType":"YulIdentifier","src":"86656:6:22"},"nativeSrc":"86656:23:22","nodeType":"YulFunctionCall","src":"86656:23:22"},"nativeSrc":"86653:36:22","nodeType":"YulIf","src":"86653:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"86608:6:22","nodeType":"YulIdentifier","src":"86608:6:22"},{"kind":"number","nativeSrc":"86616:4:22","nodeType":"YulLiteral","src":"86616:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"86605:2:22","nodeType":"YulIdentifier","src":"86605:2:22"},"nativeSrc":"86605:16:22","nodeType":"YulFunctionCall","src":"86605:16:22"},"nativeSrc":"86598:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"86622:28:22","nodeType":"YulBlock","src":"86622:28:22","statements":[{"nativeSrc":"86624:24:22","nodeType":"YulAssignment","src":"86624:24:22","value":{"arguments":[{"name":"length","nativeSrc":"86638:6:22","nodeType":"YulIdentifier","src":"86638:6:22"},{"kind":"number","nativeSrc":"86646:1:22","nodeType":"YulLiteral","src":"86646:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"86634:3:22","nodeType":"YulIdentifier","src":"86634:3:22"},"nativeSrc":"86634:14:22","nodeType":"YulFunctionCall","src":"86634:14:22"},"variableNames":[{"name":"length","nativeSrc":"86624:6:22","nodeType":"YulIdentifier","src":"86624:6:22"}]}]},"pre":{"nativeSrc":"86602:2:22","nodeType":"YulBlock","src":"86602:2:22","statements":[]},"src":"86598:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"86715:3:22","nodeType":"YulIdentifier","src":"86715:3:22"},{"name":"length","nativeSrc":"86720:6:22","nodeType":"YulIdentifier","src":"86720:6:22"}],"functionName":{"name":"mstore","nativeSrc":"86708:6:22","nodeType":"YulIdentifier","src":"86708:6:22"},"nativeSrc":"86708:19:22","nodeType":"YulFunctionCall","src":"86708:19:22"},"nativeSrc":"86708:19:22","nodeType":"YulExpressionStatement","src":"86708:19:22"},{"nativeSrc":"86744:37:22","nodeType":"YulVariableDeclaration","src":"86744:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"86761:3:22","nodeType":"YulLiteral","src":"86761:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"86770:1:22","nodeType":"YulLiteral","src":"86770:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"86773:6:22","nodeType":"YulIdentifier","src":"86773:6:22"}],"functionName":{"name":"shl","nativeSrc":"86766:3:22","nodeType":"YulIdentifier","src":"86766:3:22"},"nativeSrc":"86766:14:22","nodeType":"YulFunctionCall","src":"86766:14:22"}],"functionName":{"name":"sub","nativeSrc":"86757:3:22","nodeType":"YulIdentifier","src":"86757:3:22"},"nativeSrc":"86757:24:22","nodeType":"YulFunctionCall","src":"86757:24:22"},"variables":[{"name":"shift","nativeSrc":"86748:5:22","nodeType":"YulTypedName","src":"86748:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"86809:3:22","nodeType":"YulIdentifier","src":"86809:3:22"},{"kind":"number","nativeSrc":"86814:4:22","nodeType":"YulLiteral","src":"86814:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"86805:3:22","nodeType":"YulIdentifier","src":"86805:3:22"},"nativeSrc":"86805:14:22","nodeType":"YulFunctionCall","src":"86805:14:22"},{"arguments":[{"name":"shift","nativeSrc":"86825:5:22","nodeType":"YulIdentifier","src":"86825:5:22"},{"arguments":[{"name":"shift","nativeSrc":"86836:5:22","nodeType":"YulIdentifier","src":"86836:5:22"},{"name":"w","nativeSrc":"86843:1:22","nodeType":"YulIdentifier","src":"86843:1:22"}],"functionName":{"name":"shr","nativeSrc":"86832:3:22","nodeType":"YulIdentifier","src":"86832:3:22"},"nativeSrc":"86832:13:22","nodeType":"YulFunctionCall","src":"86832:13:22"}],"functionName":{"name":"shl","nativeSrc":"86821:3:22","nodeType":"YulIdentifier","src":"86821:3:22"},"nativeSrc":"86821:25:22","nodeType":"YulFunctionCall","src":"86821:25:22"}],"functionName":{"name":"mstore","nativeSrc":"86798:6:22","nodeType":"YulIdentifier","src":"86798:6:22"},"nativeSrc":"86798:49:22","nodeType":"YulFunctionCall","src":"86798:49:22"},"nativeSrc":"86798:49:22","nodeType":"YulExpressionStatement","src":"86798:49:22"}]},"name":"writeString","nativeSrc":"86519:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"86540:3:22","nodeType":"YulTypedName","src":"86540:3:22","type":""},{"name":"w","nativeSrc":"86545:1:22","nodeType":"YulTypedName","src":"86545:1:22","type":""}],"src":"86519:342:22"},{"nativeSrc":"86874:17:22","nodeType":"YulAssignment","src":"86874:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"86886:4:22","nodeType":"YulLiteral","src":"86886:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"86880:5:22","nodeType":"YulIdentifier","src":"86880:5:22"},"nativeSrc":"86880:11:22","nodeType":"YulFunctionCall","src":"86880:11:22"},"variableNames":[{"name":"m0","nativeSrc":"86874:2:22","nodeType":"YulIdentifier","src":"86874:2:22"}]},{"nativeSrc":"86904:17:22","nodeType":"YulAssignment","src":"86904:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"86916:4:22","nodeType":"YulLiteral","src":"86916:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"86910:5:22","nodeType":"YulIdentifier","src":"86910:5:22"},"nativeSrc":"86910:11:22","nodeType":"YulFunctionCall","src":"86910:11:22"},"variableNames":[{"name":"m1","nativeSrc":"86904:2:22","nodeType":"YulIdentifier","src":"86904:2:22"}]},{"nativeSrc":"86934:17:22","nodeType":"YulAssignment","src":"86934:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"86946:4:22","nodeType":"YulLiteral","src":"86946:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"86940:5:22","nodeType":"YulIdentifier","src":"86940:5:22"},"nativeSrc":"86940:11:22","nodeType":"YulFunctionCall","src":"86940:11:22"},"variableNames":[{"name":"m2","nativeSrc":"86934:2:22","nodeType":"YulIdentifier","src":"86934:2:22"}]},{"nativeSrc":"86964:17:22","nodeType":"YulAssignment","src":"86964:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"86976:4:22","nodeType":"YulLiteral","src":"86976:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"86970:5:22","nodeType":"YulIdentifier","src":"86970:5:22"},"nativeSrc":"86970:11:22","nodeType":"YulFunctionCall","src":"86970:11:22"},"variableNames":[{"name":"m3","nativeSrc":"86964:2:22","nodeType":"YulIdentifier","src":"86964:2:22"}]},{"nativeSrc":"86994:17:22","nodeType":"YulAssignment","src":"86994:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"87006:4:22","nodeType":"YulLiteral","src":"87006:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"87000:5:22","nodeType":"YulIdentifier","src":"87000:5:22"},"nativeSrc":"87000:11:22","nodeType":"YulFunctionCall","src":"87000:11:22"},"variableNames":[{"name":"m4","nativeSrc":"86994:2:22","nodeType":"YulIdentifier","src":"86994:2:22"}]},{"nativeSrc":"87024:17:22","nodeType":"YulAssignment","src":"87024:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"87036:4:22","nodeType":"YulLiteral","src":"87036:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"87030:5:22","nodeType":"YulIdentifier","src":"87030:5:22"},"nativeSrc":"87030:11:22","nodeType":"YulFunctionCall","src":"87030:11:22"},"variableNames":[{"name":"m5","nativeSrc":"87024:2:22","nodeType":"YulIdentifier","src":"87024:2:22"}]},{"nativeSrc":"87054:17:22","nodeType":"YulAssignment","src":"87054:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"87066:4:22","nodeType":"YulLiteral","src":"87066:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"87060:5:22","nodeType":"YulIdentifier","src":"87060:5:22"},"nativeSrc":"87060:11:22","nodeType":"YulFunctionCall","src":"87060:11:22"},"variableNames":[{"name":"m6","nativeSrc":"87054:2:22","nodeType":"YulIdentifier","src":"87054:2:22"}]},{"nativeSrc":"87084:17:22","nodeType":"YulAssignment","src":"87084:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"87096:4:22","nodeType":"YulLiteral","src":"87096:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"87090:5:22","nodeType":"YulIdentifier","src":"87090:5:22"},"nativeSrc":"87090:11:22","nodeType":"YulFunctionCall","src":"87090:11:22"},"variableNames":[{"name":"m7","nativeSrc":"87084:2:22","nodeType":"YulIdentifier","src":"87084:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87175:4:22","nodeType":"YulLiteral","src":"87175:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"87181:10:22","nodeType":"YulLiteral","src":"87181:10:22","type":"","value":"0xb0e0f9b5"}],"functionName":{"name":"mstore","nativeSrc":"87168:6:22","nodeType":"YulIdentifier","src":"87168:6:22"},"nativeSrc":"87168:24:22","nodeType":"YulFunctionCall","src":"87168:24:22"},"nativeSrc":"87168:24:22","nodeType":"YulExpressionStatement","src":"87168:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87212:4:22","nodeType":"YulLiteral","src":"87212:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"87218:4:22","nodeType":"YulLiteral","src":"87218:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"87205:6:22","nodeType":"YulIdentifier","src":"87205:6:22"},"nativeSrc":"87205:18:22","nodeType":"YulFunctionCall","src":"87205:18:22"},"nativeSrc":"87205:18:22","nodeType":"YulExpressionStatement","src":"87205:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87243:4:22","nodeType":"YulLiteral","src":"87243:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"87249:4:22","nodeType":"YulLiteral","src":"87249:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"87236:6:22","nodeType":"YulIdentifier","src":"87236:6:22"},"nativeSrc":"87236:18:22","nodeType":"YulFunctionCall","src":"87236:18:22"},"nativeSrc":"87236:18:22","nodeType":"YulExpressionStatement","src":"87236:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87274:4:22","nodeType":"YulLiteral","src":"87274:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"87280:2:22","nodeType":"YulIdentifier","src":"87280:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87267:6:22","nodeType":"YulIdentifier","src":"87267:6:22"},"nativeSrc":"87267:16:22","nodeType":"YulFunctionCall","src":"87267:16:22"},"nativeSrc":"87267:16:22","nodeType":"YulExpressionStatement","src":"87267:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87308:4:22","nodeType":"YulLiteral","src":"87308:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"87314:2:22","nodeType":"YulIdentifier","src":"87314:2:22"}],"functionName":{"name":"writeString","nativeSrc":"87296:11:22","nodeType":"YulIdentifier","src":"87296:11:22"},"nativeSrc":"87296:21:22","nodeType":"YulFunctionCall","src":"87296:21:22"},"nativeSrc":"87296:21:22","nodeType":"YulExpressionStatement","src":"87296:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87342:4:22","nodeType":"YulLiteral","src":"87342:4:22","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"87348:2:22","nodeType":"YulIdentifier","src":"87348:2:22"}],"functionName":{"name":"writeString","nativeSrc":"87330:11:22","nodeType":"YulIdentifier","src":"87330:11:22"},"nativeSrc":"87330:21:22","nodeType":"YulFunctionCall","src":"87330:21:22"},"nativeSrc":"87330:21:22","nodeType":"YulExpressionStatement","src":"87330:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34066,"isOffset":false,"isSlot":false,"src":"86874:2:22","valueSize":1},{"declaration":34069,"isOffset":false,"isSlot":false,"src":"86904:2:22","valueSize":1},{"declaration":34072,"isOffset":false,"isSlot":false,"src":"86934:2:22","valueSize":1},{"declaration":34075,"isOffset":false,"isSlot":false,"src":"86964:2:22","valueSize":1},{"declaration":34078,"isOffset":false,"isSlot":false,"src":"86994:2:22","valueSize":1},{"declaration":34081,"isOffset":false,"isSlot":false,"src":"87024:2:22","valueSize":1},{"declaration":34084,"isOffset":false,"isSlot":false,"src":"87054:2:22","valueSize":1},{"declaration":34087,"isOffset":false,"isSlot":false,"src":"87084:2:22","valueSize":1},{"declaration":34058,"isOffset":false,"isSlot":false,"src":"87314:2:22","valueSize":1},{"declaration":34060,"isOffset":false,"isSlot":false,"src":"87348:2:22","valueSize":1},{"declaration":34062,"isOffset":false,"isSlot":false,"src":"87280:2:22","valueSize":1}],"id":34089,"nodeType":"InlineAssembly","src":"86496:865:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87386:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":34092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87392:4:22","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":34090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"87370:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"87370:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34094,"nodeType":"ExpressionStatement","src":"87370:27:22"},{"AST":{"nativeSrc":"87459:243:22","nodeType":"YulBlock","src":"87459:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"87480:4:22","nodeType":"YulLiteral","src":"87480:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"87486:2:22","nodeType":"YulIdentifier","src":"87486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87473:6:22","nodeType":"YulIdentifier","src":"87473:6:22"},"nativeSrc":"87473:16:22","nodeType":"YulFunctionCall","src":"87473:16:22"},"nativeSrc":"87473:16:22","nodeType":"YulExpressionStatement","src":"87473:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87509:4:22","nodeType":"YulLiteral","src":"87509:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"87515:2:22","nodeType":"YulIdentifier","src":"87515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87502:6:22","nodeType":"YulIdentifier","src":"87502:6:22"},"nativeSrc":"87502:16:22","nodeType":"YulFunctionCall","src":"87502:16:22"},"nativeSrc":"87502:16:22","nodeType":"YulExpressionStatement","src":"87502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87538:4:22","nodeType":"YulLiteral","src":"87538:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"87544:2:22","nodeType":"YulIdentifier","src":"87544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87531:6:22","nodeType":"YulIdentifier","src":"87531:6:22"},"nativeSrc":"87531:16:22","nodeType":"YulFunctionCall","src":"87531:16:22"},"nativeSrc":"87531:16:22","nodeType":"YulExpressionStatement","src":"87531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87567:4:22","nodeType":"YulLiteral","src":"87567:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"87573:2:22","nodeType":"YulIdentifier","src":"87573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87560:6:22","nodeType":"YulIdentifier","src":"87560:6:22"},"nativeSrc":"87560:16:22","nodeType":"YulFunctionCall","src":"87560:16:22"},"nativeSrc":"87560:16:22","nodeType":"YulExpressionStatement","src":"87560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87596:4:22","nodeType":"YulLiteral","src":"87596:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"87602:2:22","nodeType":"YulIdentifier","src":"87602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87589:6:22","nodeType":"YulIdentifier","src":"87589:6:22"},"nativeSrc":"87589:16:22","nodeType":"YulFunctionCall","src":"87589:16:22"},"nativeSrc":"87589:16:22","nodeType":"YulExpressionStatement","src":"87589:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87625:4:22","nodeType":"YulLiteral","src":"87625:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"87631:2:22","nodeType":"YulIdentifier","src":"87631:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87618:6:22","nodeType":"YulIdentifier","src":"87618:6:22"},"nativeSrc":"87618:16:22","nodeType":"YulFunctionCall","src":"87618:16:22"},"nativeSrc":"87618:16:22","nodeType":"YulExpressionStatement","src":"87618:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87654:4:22","nodeType":"YulLiteral","src":"87654:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"87660:2:22","nodeType":"YulIdentifier","src":"87660:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87647:6:22","nodeType":"YulIdentifier","src":"87647:6:22"},"nativeSrc":"87647:16:22","nodeType":"YulFunctionCall","src":"87647:16:22"},"nativeSrc":"87647:16:22","nodeType":"YulExpressionStatement","src":"87647:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87683:4:22","nodeType":"YulLiteral","src":"87683:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"87689:2:22","nodeType":"YulIdentifier","src":"87689:2:22"}],"functionName":{"name":"mstore","nativeSrc":"87676:6:22","nodeType":"YulIdentifier","src":"87676:6:22"},"nativeSrc":"87676:16:22","nodeType":"YulFunctionCall","src":"87676:16:22"},"nativeSrc":"87676:16:22","nodeType":"YulExpressionStatement","src":"87676:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34066,"isOffset":false,"isSlot":false,"src":"87486:2:22","valueSize":1},{"declaration":34069,"isOffset":false,"isSlot":false,"src":"87515:2:22","valueSize":1},{"declaration":34072,"isOffset":false,"isSlot":false,"src":"87544:2:22","valueSize":1},{"declaration":34075,"isOffset":false,"isSlot":false,"src":"87573:2:22","valueSize":1},{"declaration":34078,"isOffset":false,"isSlot":false,"src":"87602:2:22","valueSize":1},{"declaration":34081,"isOffset":false,"isSlot":false,"src":"87631:2:22","valueSize":1},{"declaration":34084,"isOffset":false,"isSlot":false,"src":"87660:2:22","valueSize":1},{"declaration":34087,"isOffset":false,"isSlot":false,"src":"87689:2:22","valueSize":1}],"id":34095,"nodeType":"InlineAssembly","src":"87450:252:22"}]},"id":34097,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"86232:3:22","nodeType":"FunctionDefinition","parameters":{"id":34063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34058,"mutability":"mutable","name":"p0","nameLocation":"86244:2:22","nodeType":"VariableDeclaration","scope":34097,"src":"86236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34060,"mutability":"mutable","name":"p1","nameLocation":"86256:2:22","nodeType":"VariableDeclaration","scope":34097,"src":"86248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86248:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34062,"mutability":"mutable","name":"p2","nameLocation":"86265:2:22","nodeType":"VariableDeclaration","scope":34097,"src":"86260:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34061,"name":"bool","nodeType":"ElementaryTypeName","src":"86260:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"86235:33:22"},"returnParameters":{"id":34064,"nodeType":"ParameterList","parameters":[],"src":"86283:0:22"},"scope":44426,"src":"86223:1485:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34137,"nodeType":"Block","src":"87777:1428:22","statements":[{"assignments":[34107],"declarations":[{"constant":false,"id":34107,"mutability":"mutable","name":"m0","nameLocation":"87795:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87787:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87787:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34108,"nodeType":"VariableDeclarationStatement","src":"87787:10:22"},{"assignments":[34110],"declarations":[{"constant":false,"id":34110,"mutability":"mutable","name":"m1","nameLocation":"87815:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87807:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87807:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34111,"nodeType":"VariableDeclarationStatement","src":"87807:10:22"},{"assignments":[34113],"declarations":[{"constant":false,"id":34113,"mutability":"mutable","name":"m2","nameLocation":"87835:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87827:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87827:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34114,"nodeType":"VariableDeclarationStatement","src":"87827:10:22"},{"assignments":[34116],"declarations":[{"constant":false,"id":34116,"mutability":"mutable","name":"m3","nameLocation":"87855:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87847:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87847:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34117,"nodeType":"VariableDeclarationStatement","src":"87847:10:22"},{"assignments":[34119],"declarations":[{"constant":false,"id":34119,"mutability":"mutable","name":"m4","nameLocation":"87875:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87867:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87867:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34120,"nodeType":"VariableDeclarationStatement","src":"87867:10:22"},{"assignments":[34122],"declarations":[{"constant":false,"id":34122,"mutability":"mutable","name":"m5","nameLocation":"87895:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34123,"nodeType":"VariableDeclarationStatement","src":"87887:10:22"},{"assignments":[34125],"declarations":[{"constant":false,"id":34125,"mutability":"mutable","name":"m6","nameLocation":"87915:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87907:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34126,"nodeType":"VariableDeclarationStatement","src":"87907:10:22"},{"assignments":[34128],"declarations":[{"constant":false,"id":34128,"mutability":"mutable","name":"m7","nameLocation":"87935:2:22","nodeType":"VariableDeclaration","scope":34137,"src":"87927:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87927:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34129,"nodeType":"VariableDeclarationStatement","src":"87927:10:22"},{"AST":{"nativeSrc":"87999:859:22","nodeType":"YulBlock","src":"87999:859:22","statements":[{"body":{"nativeSrc":"88042:313:22","nodeType":"YulBlock","src":"88042:313:22","statements":[{"nativeSrc":"88060:15:22","nodeType":"YulVariableDeclaration","src":"88060:15:22","value":{"kind":"number","nativeSrc":"88074:1:22","nodeType":"YulLiteral","src":"88074:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"88064:6:22","nodeType":"YulTypedName","src":"88064:6:22","type":""}]},{"body":{"nativeSrc":"88145:40:22","nodeType":"YulBlock","src":"88145:40:22","statements":[{"body":{"nativeSrc":"88174:9:22","nodeType":"YulBlock","src":"88174:9:22","statements":[{"nativeSrc":"88176:5:22","nodeType":"YulBreak","src":"88176:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"88162:6:22","nodeType":"YulIdentifier","src":"88162:6:22"},{"name":"w","nativeSrc":"88170:1:22","nodeType":"YulIdentifier","src":"88170:1:22"}],"functionName":{"name":"byte","nativeSrc":"88157:4:22","nodeType":"YulIdentifier","src":"88157:4:22"},"nativeSrc":"88157:15:22","nodeType":"YulFunctionCall","src":"88157:15:22"}],"functionName":{"name":"iszero","nativeSrc":"88150:6:22","nodeType":"YulIdentifier","src":"88150:6:22"},"nativeSrc":"88150:23:22","nodeType":"YulFunctionCall","src":"88150:23:22"},"nativeSrc":"88147:36:22","nodeType":"YulIf","src":"88147:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"88102:6:22","nodeType":"YulIdentifier","src":"88102:6:22"},{"kind":"number","nativeSrc":"88110:4:22","nodeType":"YulLiteral","src":"88110:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"88099:2:22","nodeType":"YulIdentifier","src":"88099:2:22"},"nativeSrc":"88099:16:22","nodeType":"YulFunctionCall","src":"88099:16:22"},"nativeSrc":"88092:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"88116:28:22","nodeType":"YulBlock","src":"88116:28:22","statements":[{"nativeSrc":"88118:24:22","nodeType":"YulAssignment","src":"88118:24:22","value":{"arguments":[{"name":"length","nativeSrc":"88132:6:22","nodeType":"YulIdentifier","src":"88132:6:22"},{"kind":"number","nativeSrc":"88140:1:22","nodeType":"YulLiteral","src":"88140:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"88128:3:22","nodeType":"YulIdentifier","src":"88128:3:22"},"nativeSrc":"88128:14:22","nodeType":"YulFunctionCall","src":"88128:14:22"},"variableNames":[{"name":"length","nativeSrc":"88118:6:22","nodeType":"YulIdentifier","src":"88118:6:22"}]}]},"pre":{"nativeSrc":"88096:2:22","nodeType":"YulBlock","src":"88096:2:22","statements":[]},"src":"88092:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"88209:3:22","nodeType":"YulIdentifier","src":"88209:3:22"},{"name":"length","nativeSrc":"88214:6:22","nodeType":"YulIdentifier","src":"88214:6:22"}],"functionName":{"name":"mstore","nativeSrc":"88202:6:22","nodeType":"YulIdentifier","src":"88202:6:22"},"nativeSrc":"88202:19:22","nodeType":"YulFunctionCall","src":"88202:19:22"},"nativeSrc":"88202:19:22","nodeType":"YulExpressionStatement","src":"88202:19:22"},{"nativeSrc":"88238:37:22","nodeType":"YulVariableDeclaration","src":"88238:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"88255:3:22","nodeType":"YulLiteral","src":"88255:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"88264:1:22","nodeType":"YulLiteral","src":"88264:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"88267:6:22","nodeType":"YulIdentifier","src":"88267:6:22"}],"functionName":{"name":"shl","nativeSrc":"88260:3:22","nodeType":"YulIdentifier","src":"88260:3:22"},"nativeSrc":"88260:14:22","nodeType":"YulFunctionCall","src":"88260:14:22"}],"functionName":{"name":"sub","nativeSrc":"88251:3:22","nodeType":"YulIdentifier","src":"88251:3:22"},"nativeSrc":"88251:24:22","nodeType":"YulFunctionCall","src":"88251:24:22"},"variables":[{"name":"shift","nativeSrc":"88242:5:22","nodeType":"YulTypedName","src":"88242:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"88303:3:22","nodeType":"YulIdentifier","src":"88303:3:22"},{"kind":"number","nativeSrc":"88308:4:22","nodeType":"YulLiteral","src":"88308:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"88299:3:22","nodeType":"YulIdentifier","src":"88299:3:22"},"nativeSrc":"88299:14:22","nodeType":"YulFunctionCall","src":"88299:14:22"},{"arguments":[{"name":"shift","nativeSrc":"88319:5:22","nodeType":"YulIdentifier","src":"88319:5:22"},{"arguments":[{"name":"shift","nativeSrc":"88330:5:22","nodeType":"YulIdentifier","src":"88330:5:22"},{"name":"w","nativeSrc":"88337:1:22","nodeType":"YulIdentifier","src":"88337:1:22"}],"functionName":{"name":"shr","nativeSrc":"88326:3:22","nodeType":"YulIdentifier","src":"88326:3:22"},"nativeSrc":"88326:13:22","nodeType":"YulFunctionCall","src":"88326:13:22"}],"functionName":{"name":"shl","nativeSrc":"88315:3:22","nodeType":"YulIdentifier","src":"88315:3:22"},"nativeSrc":"88315:25:22","nodeType":"YulFunctionCall","src":"88315:25:22"}],"functionName":{"name":"mstore","nativeSrc":"88292:6:22","nodeType":"YulIdentifier","src":"88292:6:22"},"nativeSrc":"88292:49:22","nodeType":"YulFunctionCall","src":"88292:49:22"},"nativeSrc":"88292:49:22","nodeType":"YulExpressionStatement","src":"88292:49:22"}]},"name":"writeString","nativeSrc":"88013:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"88034:3:22","nodeType":"YulTypedName","src":"88034:3:22","type":""},{"name":"w","nativeSrc":"88039:1:22","nodeType":"YulTypedName","src":"88039:1:22","type":""}],"src":"88013:342:22"},{"nativeSrc":"88368:17:22","nodeType":"YulAssignment","src":"88368:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88380:4:22","nodeType":"YulLiteral","src":"88380:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"88374:5:22","nodeType":"YulIdentifier","src":"88374:5:22"},"nativeSrc":"88374:11:22","nodeType":"YulFunctionCall","src":"88374:11:22"},"variableNames":[{"name":"m0","nativeSrc":"88368:2:22","nodeType":"YulIdentifier","src":"88368:2:22"}]},{"nativeSrc":"88398:17:22","nodeType":"YulAssignment","src":"88398:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88410:4:22","nodeType":"YulLiteral","src":"88410:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"88404:5:22","nodeType":"YulIdentifier","src":"88404:5:22"},"nativeSrc":"88404:11:22","nodeType":"YulFunctionCall","src":"88404:11:22"},"variableNames":[{"name":"m1","nativeSrc":"88398:2:22","nodeType":"YulIdentifier","src":"88398:2:22"}]},{"nativeSrc":"88428:17:22","nodeType":"YulAssignment","src":"88428:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88440:4:22","nodeType":"YulLiteral","src":"88440:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"88434:5:22","nodeType":"YulIdentifier","src":"88434:5:22"},"nativeSrc":"88434:11:22","nodeType":"YulFunctionCall","src":"88434:11:22"},"variableNames":[{"name":"m2","nativeSrc":"88428:2:22","nodeType":"YulIdentifier","src":"88428:2:22"}]},{"nativeSrc":"88458:17:22","nodeType":"YulAssignment","src":"88458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88470:4:22","nodeType":"YulLiteral","src":"88470:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"88464:5:22","nodeType":"YulIdentifier","src":"88464:5:22"},"nativeSrc":"88464:11:22","nodeType":"YulFunctionCall","src":"88464:11:22"},"variableNames":[{"name":"m3","nativeSrc":"88458:2:22","nodeType":"YulIdentifier","src":"88458:2:22"}]},{"nativeSrc":"88488:17:22","nodeType":"YulAssignment","src":"88488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88500:4:22","nodeType":"YulLiteral","src":"88500:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"88494:5:22","nodeType":"YulIdentifier","src":"88494:5:22"},"nativeSrc":"88494:11:22","nodeType":"YulFunctionCall","src":"88494:11:22"},"variableNames":[{"name":"m4","nativeSrc":"88488:2:22","nodeType":"YulIdentifier","src":"88488:2:22"}]},{"nativeSrc":"88518:17:22","nodeType":"YulAssignment","src":"88518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88530:4:22","nodeType":"YulLiteral","src":"88530:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"88524:5:22","nodeType":"YulIdentifier","src":"88524:5:22"},"nativeSrc":"88524:11:22","nodeType":"YulFunctionCall","src":"88524:11:22"},"variableNames":[{"name":"m5","nativeSrc":"88518:2:22","nodeType":"YulIdentifier","src":"88518:2:22"}]},{"nativeSrc":"88548:17:22","nodeType":"YulAssignment","src":"88548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88560:4:22","nodeType":"YulLiteral","src":"88560:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"88554:5:22","nodeType":"YulIdentifier","src":"88554:5:22"},"nativeSrc":"88554:11:22","nodeType":"YulFunctionCall","src":"88554:11:22"},"variableNames":[{"name":"m6","nativeSrc":"88548:2:22","nodeType":"YulIdentifier","src":"88548:2:22"}]},{"nativeSrc":"88578:17:22","nodeType":"YulAssignment","src":"88578:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"88590:4:22","nodeType":"YulLiteral","src":"88590:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"88584:5:22","nodeType":"YulIdentifier","src":"88584:5:22"},"nativeSrc":"88584:11:22","nodeType":"YulFunctionCall","src":"88584:11:22"},"variableNames":[{"name":"m7","nativeSrc":"88578:2:22","nodeType":"YulIdentifier","src":"88578:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88672:4:22","nodeType":"YulLiteral","src":"88672:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"88678:10:22","nodeType":"YulLiteral","src":"88678:10:22","type":"","value":"0x5821efa1"}],"functionName":{"name":"mstore","nativeSrc":"88665:6:22","nodeType":"YulIdentifier","src":"88665:6:22"},"nativeSrc":"88665:24:22","nodeType":"YulFunctionCall","src":"88665:24:22"},"nativeSrc":"88665:24:22","nodeType":"YulExpressionStatement","src":"88665:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88709:4:22","nodeType":"YulLiteral","src":"88709:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"88715:4:22","nodeType":"YulLiteral","src":"88715:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"88702:6:22","nodeType":"YulIdentifier","src":"88702:6:22"},"nativeSrc":"88702:18:22","nodeType":"YulFunctionCall","src":"88702:18:22"},"nativeSrc":"88702:18:22","nodeType":"YulExpressionStatement","src":"88702:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88740:4:22","nodeType":"YulLiteral","src":"88740:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"88746:4:22","nodeType":"YulLiteral","src":"88746:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"88733:6:22","nodeType":"YulIdentifier","src":"88733:6:22"},"nativeSrc":"88733:18:22","nodeType":"YulFunctionCall","src":"88733:18:22"},"nativeSrc":"88733:18:22","nodeType":"YulExpressionStatement","src":"88733:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88771:4:22","nodeType":"YulLiteral","src":"88771:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"88777:2:22","nodeType":"YulIdentifier","src":"88777:2:22"}],"functionName":{"name":"mstore","nativeSrc":"88764:6:22","nodeType":"YulIdentifier","src":"88764:6:22"},"nativeSrc":"88764:16:22","nodeType":"YulFunctionCall","src":"88764:16:22"},"nativeSrc":"88764:16:22","nodeType":"YulExpressionStatement","src":"88764:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88805:4:22","nodeType":"YulLiteral","src":"88805:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"88811:2:22","nodeType":"YulIdentifier","src":"88811:2:22"}],"functionName":{"name":"writeString","nativeSrc":"88793:11:22","nodeType":"YulIdentifier","src":"88793:11:22"},"nativeSrc":"88793:21:22","nodeType":"YulFunctionCall","src":"88793:21:22"},"nativeSrc":"88793:21:22","nodeType":"YulExpressionStatement","src":"88793:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88839:4:22","nodeType":"YulLiteral","src":"88839:4:22","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"88845:2:22","nodeType":"YulIdentifier","src":"88845:2:22"}],"functionName":{"name":"writeString","nativeSrc":"88827:11:22","nodeType":"YulIdentifier","src":"88827:11:22"},"nativeSrc":"88827:21:22","nodeType":"YulFunctionCall","src":"88827:21:22"},"nativeSrc":"88827:21:22","nodeType":"YulExpressionStatement","src":"88827:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34107,"isOffset":false,"isSlot":false,"src":"88368:2:22","valueSize":1},{"declaration":34110,"isOffset":false,"isSlot":false,"src":"88398:2:22","valueSize":1},{"declaration":34113,"isOffset":false,"isSlot":false,"src":"88428:2:22","valueSize":1},{"declaration":34116,"isOffset":false,"isSlot":false,"src":"88458:2:22","valueSize":1},{"declaration":34119,"isOffset":false,"isSlot":false,"src":"88488:2:22","valueSize":1},{"declaration":34122,"isOffset":false,"isSlot":false,"src":"88518:2:22","valueSize":1},{"declaration":34125,"isOffset":false,"isSlot":false,"src":"88548:2:22","valueSize":1},{"declaration":34128,"isOffset":false,"isSlot":false,"src":"88578:2:22","valueSize":1},{"declaration":34099,"isOffset":false,"isSlot":false,"src":"88811:2:22","valueSize":1},{"declaration":34101,"isOffset":false,"isSlot":false,"src":"88845:2:22","valueSize":1},{"declaration":34103,"isOffset":false,"isSlot":false,"src":"88777:2:22","valueSize":1}],"id":34130,"nodeType":"InlineAssembly","src":"87990:868:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88883:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":34133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88889:4:22","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":34131,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"88867:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"88867:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34135,"nodeType":"ExpressionStatement","src":"88867:27:22"},{"AST":{"nativeSrc":"88956:243:22","nodeType":"YulBlock","src":"88956:243:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"88977:4:22","nodeType":"YulLiteral","src":"88977:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"88983:2:22","nodeType":"YulIdentifier","src":"88983:2:22"}],"functionName":{"name":"mstore","nativeSrc":"88970:6:22","nodeType":"YulIdentifier","src":"88970:6:22"},"nativeSrc":"88970:16:22","nodeType":"YulFunctionCall","src":"88970:16:22"},"nativeSrc":"88970:16:22","nodeType":"YulExpressionStatement","src":"88970:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89006:4:22","nodeType":"YulLiteral","src":"89006:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"89012:2:22","nodeType":"YulIdentifier","src":"89012:2:22"}],"functionName":{"name":"mstore","nativeSrc":"88999:6:22","nodeType":"YulIdentifier","src":"88999:6:22"},"nativeSrc":"88999:16:22","nodeType":"YulFunctionCall","src":"88999:16:22"},"nativeSrc":"88999:16:22","nodeType":"YulExpressionStatement","src":"88999:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89035:4:22","nodeType":"YulLiteral","src":"89035:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"89041:2:22","nodeType":"YulIdentifier","src":"89041:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89028:6:22","nodeType":"YulIdentifier","src":"89028:6:22"},"nativeSrc":"89028:16:22","nodeType":"YulFunctionCall","src":"89028:16:22"},"nativeSrc":"89028:16:22","nodeType":"YulExpressionStatement","src":"89028:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89064:4:22","nodeType":"YulLiteral","src":"89064:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"89070:2:22","nodeType":"YulIdentifier","src":"89070:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89057:6:22","nodeType":"YulIdentifier","src":"89057:6:22"},"nativeSrc":"89057:16:22","nodeType":"YulFunctionCall","src":"89057:16:22"},"nativeSrc":"89057:16:22","nodeType":"YulExpressionStatement","src":"89057:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89093:4:22","nodeType":"YulLiteral","src":"89093:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"89099:2:22","nodeType":"YulIdentifier","src":"89099:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89086:6:22","nodeType":"YulIdentifier","src":"89086:6:22"},"nativeSrc":"89086:16:22","nodeType":"YulFunctionCall","src":"89086:16:22"},"nativeSrc":"89086:16:22","nodeType":"YulExpressionStatement","src":"89086:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89122:4:22","nodeType":"YulLiteral","src":"89122:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"89128:2:22","nodeType":"YulIdentifier","src":"89128:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89115:6:22","nodeType":"YulIdentifier","src":"89115:6:22"},"nativeSrc":"89115:16:22","nodeType":"YulFunctionCall","src":"89115:16:22"},"nativeSrc":"89115:16:22","nodeType":"YulExpressionStatement","src":"89115:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89151:4:22","nodeType":"YulLiteral","src":"89151:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"89157:2:22","nodeType":"YulIdentifier","src":"89157:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89144:6:22","nodeType":"YulIdentifier","src":"89144:6:22"},"nativeSrc":"89144:16:22","nodeType":"YulFunctionCall","src":"89144:16:22"},"nativeSrc":"89144:16:22","nodeType":"YulExpressionStatement","src":"89144:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89180:4:22","nodeType":"YulLiteral","src":"89180:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"89186:2:22","nodeType":"YulIdentifier","src":"89186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"89173:6:22","nodeType":"YulIdentifier","src":"89173:6:22"},"nativeSrc":"89173:16:22","nodeType":"YulFunctionCall","src":"89173:16:22"},"nativeSrc":"89173:16:22","nodeType":"YulExpressionStatement","src":"89173:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34107,"isOffset":false,"isSlot":false,"src":"88983:2:22","valueSize":1},{"declaration":34110,"isOffset":false,"isSlot":false,"src":"89012:2:22","valueSize":1},{"declaration":34113,"isOffset":false,"isSlot":false,"src":"89041:2:22","valueSize":1},{"declaration":34116,"isOffset":false,"isSlot":false,"src":"89070:2:22","valueSize":1},{"declaration":34119,"isOffset":false,"isSlot":false,"src":"89099:2:22","valueSize":1},{"declaration":34122,"isOffset":false,"isSlot":false,"src":"89128:2:22","valueSize":1},{"declaration":34125,"isOffset":false,"isSlot":false,"src":"89157:2:22","valueSize":1},{"declaration":34128,"isOffset":false,"isSlot":false,"src":"89186:2:22","valueSize":1}],"id":34136,"nodeType":"InlineAssembly","src":"88947:252:22"}]},"id":34138,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"87723:3:22","nodeType":"FunctionDefinition","parameters":{"id":34104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34099,"mutability":"mutable","name":"p0","nameLocation":"87735:2:22","nodeType":"VariableDeclaration","scope":34138,"src":"87727:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87727:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34101,"mutability":"mutable","name":"p1","nameLocation":"87747:2:22","nodeType":"VariableDeclaration","scope":34138,"src":"87739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87739:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34103,"mutability":"mutable","name":"p2","nameLocation":"87759:2:22","nodeType":"VariableDeclaration","scope":34138,"src":"87751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34102,"name":"uint256","nodeType":"ElementaryTypeName","src":"87751:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"87726:36:22"},"returnParameters":{"id":34105,"nodeType":"ParameterList","parameters":[],"src":"87777:0:22"},"scope":44426,"src":"87714:1491:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34184,"nodeType":"Block","src":"89274:1627:22","statements":[{"assignments":[34148],"declarations":[{"constant":false,"id":34148,"mutability":"mutable","name":"m0","nameLocation":"89292:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89284:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89284:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34149,"nodeType":"VariableDeclarationStatement","src":"89284:10:22"},{"assignments":[34151],"declarations":[{"constant":false,"id":34151,"mutability":"mutable","name":"m1","nameLocation":"89312:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89304:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89304:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34152,"nodeType":"VariableDeclarationStatement","src":"89304:10:22"},{"assignments":[34154],"declarations":[{"constant":false,"id":34154,"mutability":"mutable","name":"m2","nameLocation":"89332:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89324:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89324:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34155,"nodeType":"VariableDeclarationStatement","src":"89324:10:22"},{"assignments":[34157],"declarations":[{"constant":false,"id":34157,"mutability":"mutable","name":"m3","nameLocation":"89352:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89344:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89344:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34158,"nodeType":"VariableDeclarationStatement","src":"89344:10:22"},{"assignments":[34160],"declarations":[{"constant":false,"id":34160,"mutability":"mutable","name":"m4","nameLocation":"89372:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34161,"nodeType":"VariableDeclarationStatement","src":"89364:10:22"},{"assignments":[34163],"declarations":[{"constant":false,"id":34163,"mutability":"mutable","name":"m5","nameLocation":"89392:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89384:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89384:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34164,"nodeType":"VariableDeclarationStatement","src":"89384:10:22"},{"assignments":[34166],"declarations":[{"constant":false,"id":34166,"mutability":"mutable","name":"m6","nameLocation":"89412:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89404:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89404:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34167,"nodeType":"VariableDeclarationStatement","src":"89404:10:22"},{"assignments":[34169],"declarations":[{"constant":false,"id":34169,"mutability":"mutable","name":"m7","nameLocation":"89432:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89424:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34170,"nodeType":"VariableDeclarationStatement","src":"89424:10:22"},{"assignments":[34172],"declarations":[{"constant":false,"id":34172,"mutability":"mutable","name":"m8","nameLocation":"89452:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34173,"nodeType":"VariableDeclarationStatement","src":"89444:10:22"},{"assignments":[34175],"declarations":[{"constant":false,"id":34175,"mutability":"mutable","name":"m9","nameLocation":"89472:2:22","nodeType":"VariableDeclaration","scope":34184,"src":"89464:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89464:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34176,"nodeType":"VariableDeclarationStatement","src":"89464:10:22"},{"AST":{"nativeSrc":"89536:957:22","nodeType":"YulBlock","src":"89536:957:22","statements":[{"body":{"nativeSrc":"89579:313:22","nodeType":"YulBlock","src":"89579:313:22","statements":[{"nativeSrc":"89597:15:22","nodeType":"YulVariableDeclaration","src":"89597:15:22","value":{"kind":"number","nativeSrc":"89611:1:22","nodeType":"YulLiteral","src":"89611:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"89601:6:22","nodeType":"YulTypedName","src":"89601:6:22","type":""}]},{"body":{"nativeSrc":"89682:40:22","nodeType":"YulBlock","src":"89682:40:22","statements":[{"body":{"nativeSrc":"89711:9:22","nodeType":"YulBlock","src":"89711:9:22","statements":[{"nativeSrc":"89713:5:22","nodeType":"YulBreak","src":"89713:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"89699:6:22","nodeType":"YulIdentifier","src":"89699:6:22"},{"name":"w","nativeSrc":"89707:1:22","nodeType":"YulIdentifier","src":"89707:1:22"}],"functionName":{"name":"byte","nativeSrc":"89694:4:22","nodeType":"YulIdentifier","src":"89694:4:22"},"nativeSrc":"89694:15:22","nodeType":"YulFunctionCall","src":"89694:15:22"}],"functionName":{"name":"iszero","nativeSrc":"89687:6:22","nodeType":"YulIdentifier","src":"89687:6:22"},"nativeSrc":"89687:23:22","nodeType":"YulFunctionCall","src":"89687:23:22"},"nativeSrc":"89684:36:22","nodeType":"YulIf","src":"89684:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"89639:6:22","nodeType":"YulIdentifier","src":"89639:6:22"},{"kind":"number","nativeSrc":"89647:4:22","nodeType":"YulLiteral","src":"89647:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"89636:2:22","nodeType":"YulIdentifier","src":"89636:2:22"},"nativeSrc":"89636:16:22","nodeType":"YulFunctionCall","src":"89636:16:22"},"nativeSrc":"89629:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"89653:28:22","nodeType":"YulBlock","src":"89653:28:22","statements":[{"nativeSrc":"89655:24:22","nodeType":"YulAssignment","src":"89655:24:22","value":{"arguments":[{"name":"length","nativeSrc":"89669:6:22","nodeType":"YulIdentifier","src":"89669:6:22"},{"kind":"number","nativeSrc":"89677:1:22","nodeType":"YulLiteral","src":"89677:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"89665:3:22","nodeType":"YulIdentifier","src":"89665:3:22"},"nativeSrc":"89665:14:22","nodeType":"YulFunctionCall","src":"89665:14:22"},"variableNames":[{"name":"length","nativeSrc":"89655:6:22","nodeType":"YulIdentifier","src":"89655:6:22"}]}]},"pre":{"nativeSrc":"89633:2:22","nodeType":"YulBlock","src":"89633:2:22","statements":[]},"src":"89629:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"89746:3:22","nodeType":"YulIdentifier","src":"89746:3:22"},{"name":"length","nativeSrc":"89751:6:22","nodeType":"YulIdentifier","src":"89751:6:22"}],"functionName":{"name":"mstore","nativeSrc":"89739:6:22","nodeType":"YulIdentifier","src":"89739:6:22"},"nativeSrc":"89739:19:22","nodeType":"YulFunctionCall","src":"89739:19:22"},"nativeSrc":"89739:19:22","nodeType":"YulExpressionStatement","src":"89739:19:22"},{"nativeSrc":"89775:37:22","nodeType":"YulVariableDeclaration","src":"89775:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"89792:3:22","nodeType":"YulLiteral","src":"89792:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"89801:1:22","nodeType":"YulLiteral","src":"89801:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"89804:6:22","nodeType":"YulIdentifier","src":"89804:6:22"}],"functionName":{"name":"shl","nativeSrc":"89797:3:22","nodeType":"YulIdentifier","src":"89797:3:22"},"nativeSrc":"89797:14:22","nodeType":"YulFunctionCall","src":"89797:14:22"}],"functionName":{"name":"sub","nativeSrc":"89788:3:22","nodeType":"YulIdentifier","src":"89788:3:22"},"nativeSrc":"89788:24:22","nodeType":"YulFunctionCall","src":"89788:24:22"},"variables":[{"name":"shift","nativeSrc":"89779:5:22","nodeType":"YulTypedName","src":"89779:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"89840:3:22","nodeType":"YulIdentifier","src":"89840:3:22"},{"kind":"number","nativeSrc":"89845:4:22","nodeType":"YulLiteral","src":"89845:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"89836:3:22","nodeType":"YulIdentifier","src":"89836:3:22"},"nativeSrc":"89836:14:22","nodeType":"YulFunctionCall","src":"89836:14:22"},{"arguments":[{"name":"shift","nativeSrc":"89856:5:22","nodeType":"YulIdentifier","src":"89856:5:22"},{"arguments":[{"name":"shift","nativeSrc":"89867:5:22","nodeType":"YulIdentifier","src":"89867:5:22"},{"name":"w","nativeSrc":"89874:1:22","nodeType":"YulIdentifier","src":"89874:1:22"}],"functionName":{"name":"shr","nativeSrc":"89863:3:22","nodeType":"YulIdentifier","src":"89863:3:22"},"nativeSrc":"89863:13:22","nodeType":"YulFunctionCall","src":"89863:13:22"}],"functionName":{"name":"shl","nativeSrc":"89852:3:22","nodeType":"YulIdentifier","src":"89852:3:22"},"nativeSrc":"89852:25:22","nodeType":"YulFunctionCall","src":"89852:25:22"}],"functionName":{"name":"mstore","nativeSrc":"89829:6:22","nodeType":"YulIdentifier","src":"89829:6:22"},"nativeSrc":"89829:49:22","nodeType":"YulFunctionCall","src":"89829:49:22"},"nativeSrc":"89829:49:22","nodeType":"YulExpressionStatement","src":"89829:49:22"}]},"name":"writeString","nativeSrc":"89550:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"89571:3:22","nodeType":"YulTypedName","src":"89571:3:22","type":""},{"name":"w","nativeSrc":"89576:1:22","nodeType":"YulTypedName","src":"89576:1:22","type":""}],"src":"89550:342:22"},{"nativeSrc":"89905:17:22","nodeType":"YulAssignment","src":"89905:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"89917:4:22","nodeType":"YulLiteral","src":"89917:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"89911:5:22","nodeType":"YulIdentifier","src":"89911:5:22"},"nativeSrc":"89911:11:22","nodeType":"YulFunctionCall","src":"89911:11:22"},"variableNames":[{"name":"m0","nativeSrc":"89905:2:22","nodeType":"YulIdentifier","src":"89905:2:22"}]},{"nativeSrc":"89935:17:22","nodeType":"YulAssignment","src":"89935:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"89947:4:22","nodeType":"YulLiteral","src":"89947:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"89941:5:22","nodeType":"YulIdentifier","src":"89941:5:22"},"nativeSrc":"89941:11:22","nodeType":"YulFunctionCall","src":"89941:11:22"},"variableNames":[{"name":"m1","nativeSrc":"89935:2:22","nodeType":"YulIdentifier","src":"89935:2:22"}]},{"nativeSrc":"89965:17:22","nodeType":"YulAssignment","src":"89965:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"89977:4:22","nodeType":"YulLiteral","src":"89977:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"89971:5:22","nodeType":"YulIdentifier","src":"89971:5:22"},"nativeSrc":"89971:11:22","nodeType":"YulFunctionCall","src":"89971:11:22"},"variableNames":[{"name":"m2","nativeSrc":"89965:2:22","nodeType":"YulIdentifier","src":"89965:2:22"}]},{"nativeSrc":"89995:17:22","nodeType":"YulAssignment","src":"89995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"90007:4:22","nodeType":"YulLiteral","src":"90007:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"90001:5:22","nodeType":"YulIdentifier","src":"90001:5:22"},"nativeSrc":"90001:11:22","nodeType":"YulFunctionCall","src":"90001:11:22"},"variableNames":[{"name":"m3","nativeSrc":"89995:2:22","nodeType":"YulIdentifier","src":"89995:2:22"}]},{"nativeSrc":"90025:17:22","nodeType":"YulAssignment","src":"90025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"90037:4:22","nodeType":"YulLiteral","src":"90037:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"90031:5:22","nodeType":"YulIdentifier","src":"90031:5:22"},"nativeSrc":"90031:11:22","nodeType":"YulFunctionCall","src":"90031:11:22"},"variableNames":[{"name":"m4","nativeSrc":"90025:2:22","nodeType":"YulIdentifier","src":"90025:2:22"}]},{"nativeSrc":"90055:17:22","nodeType":"YulAssignment","src":"90055:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"90067:4:22","nodeType":"YulLiteral","src":"90067:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"90061:5:22","nodeType":"YulIdentifier","src":"90061:5:22"},"nativeSrc":"90061:11:22","nodeType":"YulFunctionCall","src":"90061:11:22"},"variableNames":[{"name":"m5","nativeSrc":"90055:2:22","nodeType":"YulIdentifier","src":"90055:2:22"}]},{"nativeSrc":"90085:17:22","nodeType":"YulAssignment","src":"90085:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"90097:4:22","nodeType":"YulLiteral","src":"90097:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"90091:5:22","nodeType":"YulIdentifier","src":"90091:5:22"},"nativeSrc":"90091:11:22","nodeType":"YulFunctionCall","src":"90091:11:22"},"variableNames":[{"name":"m6","nativeSrc":"90085:2:22","nodeType":"YulIdentifier","src":"90085:2:22"}]},{"nativeSrc":"90115:17:22","nodeType":"YulAssignment","src":"90115:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"90127:4:22","nodeType":"YulLiteral","src":"90127:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"90121:5:22","nodeType":"YulIdentifier","src":"90121:5:22"},"nativeSrc":"90121:11:22","nodeType":"YulFunctionCall","src":"90121:11:22"},"variableNames":[{"name":"m7","nativeSrc":"90115:2:22","nodeType":"YulIdentifier","src":"90115:2:22"}]},{"nativeSrc":"90145:18:22","nodeType":"YulAssignment","src":"90145:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"90157:5:22","nodeType":"YulLiteral","src":"90157:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"90151:5:22","nodeType":"YulIdentifier","src":"90151:5:22"},"nativeSrc":"90151:12:22","nodeType":"YulFunctionCall","src":"90151:12:22"},"variableNames":[{"name":"m8","nativeSrc":"90145:2:22","nodeType":"YulIdentifier","src":"90145:2:22"}]},{"nativeSrc":"90176:18:22","nodeType":"YulAssignment","src":"90176:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"90188:5:22","nodeType":"YulLiteral","src":"90188:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"90182:5:22","nodeType":"YulIdentifier","src":"90182:5:22"},"nativeSrc":"90182:12:22","nodeType":"YulFunctionCall","src":"90182:12:22"},"variableNames":[{"name":"m9","nativeSrc":"90176:2:22","nodeType":"YulIdentifier","src":"90176:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90270:4:22","nodeType":"YulLiteral","src":"90270:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"90276:10:22","nodeType":"YulLiteral","src":"90276:10:22","type":"","value":"0x2ced7cef"}],"functionName":{"name":"mstore","nativeSrc":"90263:6:22","nodeType":"YulIdentifier","src":"90263:6:22"},"nativeSrc":"90263:24:22","nodeType":"YulFunctionCall","src":"90263:24:22"},"nativeSrc":"90263:24:22","nodeType":"YulExpressionStatement","src":"90263:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90307:4:22","nodeType":"YulLiteral","src":"90307:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"90313:4:22","nodeType":"YulLiteral","src":"90313:4:22","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"90300:6:22","nodeType":"YulIdentifier","src":"90300:6:22"},"nativeSrc":"90300:18:22","nodeType":"YulFunctionCall","src":"90300:18:22"},"nativeSrc":"90300:18:22","nodeType":"YulExpressionStatement","src":"90300:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90338:4:22","nodeType":"YulLiteral","src":"90338:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"90344:4:22","nodeType":"YulLiteral","src":"90344:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"90331:6:22","nodeType":"YulIdentifier","src":"90331:6:22"},"nativeSrc":"90331:18:22","nodeType":"YulFunctionCall","src":"90331:18:22"},"nativeSrc":"90331:18:22","nodeType":"YulExpressionStatement","src":"90331:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90369:4:22","nodeType":"YulLiteral","src":"90369:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"90375:4:22","nodeType":"YulLiteral","src":"90375:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nativeSrc":"90362:6:22","nodeType":"YulIdentifier","src":"90362:6:22"},"nativeSrc":"90362:18:22","nodeType":"YulFunctionCall","src":"90362:18:22"},"nativeSrc":"90362:18:22","nodeType":"YulExpressionStatement","src":"90362:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90405:4:22","nodeType":"YulLiteral","src":"90405:4:22","type":"","value":"0x80"},{"name":"p0","nativeSrc":"90411:2:22","nodeType":"YulIdentifier","src":"90411:2:22"}],"functionName":{"name":"writeString","nativeSrc":"90393:11:22","nodeType":"YulIdentifier","src":"90393:11:22"},"nativeSrc":"90393:21:22","nodeType":"YulFunctionCall","src":"90393:21:22"},"nativeSrc":"90393:21:22","nodeType":"YulExpressionStatement","src":"90393:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90439:4:22","nodeType":"YulLiteral","src":"90439:4:22","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"90445:2:22","nodeType":"YulIdentifier","src":"90445:2:22"}],"functionName":{"name":"writeString","nativeSrc":"90427:11:22","nodeType":"YulIdentifier","src":"90427:11:22"},"nativeSrc":"90427:21:22","nodeType":"YulFunctionCall","src":"90427:21:22"},"nativeSrc":"90427:21:22","nodeType":"YulExpressionStatement","src":"90427:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90473:5:22","nodeType":"YulLiteral","src":"90473:5:22","type":"","value":"0x100"},{"name":"p2","nativeSrc":"90480:2:22","nodeType":"YulIdentifier","src":"90480:2:22"}],"functionName":{"name":"writeString","nativeSrc":"90461:11:22","nodeType":"YulIdentifier","src":"90461:11:22"},"nativeSrc":"90461:22:22","nodeType":"YulFunctionCall","src":"90461:22:22"},"nativeSrc":"90461:22:22","nodeType":"YulExpressionStatement","src":"90461:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34148,"isOffset":false,"isSlot":false,"src":"89905:2:22","valueSize":1},{"declaration":34151,"isOffset":false,"isSlot":false,"src":"89935:2:22","valueSize":1},{"declaration":34154,"isOffset":false,"isSlot":false,"src":"89965:2:22","valueSize":1},{"declaration":34157,"isOffset":false,"isSlot":false,"src":"89995:2:22","valueSize":1},{"declaration":34160,"isOffset":false,"isSlot":false,"src":"90025:2:22","valueSize":1},{"declaration":34163,"isOffset":false,"isSlot":false,"src":"90055:2:22","valueSize":1},{"declaration":34166,"isOffset":false,"isSlot":false,"src":"90085:2:22","valueSize":1},{"declaration":34169,"isOffset":false,"isSlot":false,"src":"90115:2:22","valueSize":1},{"declaration":34172,"isOffset":false,"isSlot":false,"src":"90145:2:22","valueSize":1},{"declaration":34175,"isOffset":false,"isSlot":false,"src":"90176:2:22","valueSize":1},{"declaration":34140,"isOffset":false,"isSlot":false,"src":"90411:2:22","valueSize":1},{"declaration":34142,"isOffset":false,"isSlot":false,"src":"90445:2:22","valueSize":1},{"declaration":34144,"isOffset":false,"isSlot":false,"src":"90480:2:22","valueSize":1}],"id":34177,"nodeType":"InlineAssembly","src":"89527:966:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90518:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313234","id":34180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90524:5:22","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":34178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"90502:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"90502:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34182,"nodeType":"ExpressionStatement","src":"90502:28:22"},{"AST":{"nativeSrc":"90592:303:22","nodeType":"YulBlock","src":"90592:303:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"90613:4:22","nodeType":"YulLiteral","src":"90613:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"90619:2:22","nodeType":"YulIdentifier","src":"90619:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90606:6:22","nodeType":"YulIdentifier","src":"90606:6:22"},"nativeSrc":"90606:16:22","nodeType":"YulFunctionCall","src":"90606:16:22"},"nativeSrc":"90606:16:22","nodeType":"YulExpressionStatement","src":"90606:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90642:4:22","nodeType":"YulLiteral","src":"90642:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"90648:2:22","nodeType":"YulIdentifier","src":"90648:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90635:6:22","nodeType":"YulIdentifier","src":"90635:6:22"},"nativeSrc":"90635:16:22","nodeType":"YulFunctionCall","src":"90635:16:22"},"nativeSrc":"90635:16:22","nodeType":"YulExpressionStatement","src":"90635:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90671:4:22","nodeType":"YulLiteral","src":"90671:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"90677:2:22","nodeType":"YulIdentifier","src":"90677:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90664:6:22","nodeType":"YulIdentifier","src":"90664:6:22"},"nativeSrc":"90664:16:22","nodeType":"YulFunctionCall","src":"90664:16:22"},"nativeSrc":"90664:16:22","nodeType":"YulExpressionStatement","src":"90664:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90700:4:22","nodeType":"YulLiteral","src":"90700:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"90706:2:22","nodeType":"YulIdentifier","src":"90706:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90693:6:22","nodeType":"YulIdentifier","src":"90693:6:22"},"nativeSrc":"90693:16:22","nodeType":"YulFunctionCall","src":"90693:16:22"},"nativeSrc":"90693:16:22","nodeType":"YulExpressionStatement","src":"90693:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90729:4:22","nodeType":"YulLiteral","src":"90729:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"90735:2:22","nodeType":"YulIdentifier","src":"90735:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90722:6:22","nodeType":"YulIdentifier","src":"90722:6:22"},"nativeSrc":"90722:16:22","nodeType":"YulFunctionCall","src":"90722:16:22"},"nativeSrc":"90722:16:22","nodeType":"YulExpressionStatement","src":"90722:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90758:4:22","nodeType":"YulLiteral","src":"90758:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"90764:2:22","nodeType":"YulIdentifier","src":"90764:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90751:6:22","nodeType":"YulIdentifier","src":"90751:6:22"},"nativeSrc":"90751:16:22","nodeType":"YulFunctionCall","src":"90751:16:22"},"nativeSrc":"90751:16:22","nodeType":"YulExpressionStatement","src":"90751:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90787:4:22","nodeType":"YulLiteral","src":"90787:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"90793:2:22","nodeType":"YulIdentifier","src":"90793:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90780:6:22","nodeType":"YulIdentifier","src":"90780:6:22"},"nativeSrc":"90780:16:22","nodeType":"YulFunctionCall","src":"90780:16:22"},"nativeSrc":"90780:16:22","nodeType":"YulExpressionStatement","src":"90780:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90816:4:22","nodeType":"YulLiteral","src":"90816:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"90822:2:22","nodeType":"YulIdentifier","src":"90822:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90809:6:22","nodeType":"YulIdentifier","src":"90809:6:22"},"nativeSrc":"90809:16:22","nodeType":"YulFunctionCall","src":"90809:16:22"},"nativeSrc":"90809:16:22","nodeType":"YulExpressionStatement","src":"90809:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90845:5:22","nodeType":"YulLiteral","src":"90845:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"90852:2:22","nodeType":"YulIdentifier","src":"90852:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90838:6:22","nodeType":"YulIdentifier","src":"90838:6:22"},"nativeSrc":"90838:17:22","nodeType":"YulFunctionCall","src":"90838:17:22"},"nativeSrc":"90838:17:22","nodeType":"YulExpressionStatement","src":"90838:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90875:5:22","nodeType":"YulLiteral","src":"90875:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"90882:2:22","nodeType":"YulIdentifier","src":"90882:2:22"}],"functionName":{"name":"mstore","nativeSrc":"90868:6:22","nodeType":"YulIdentifier","src":"90868:6:22"},"nativeSrc":"90868:17:22","nodeType":"YulFunctionCall","src":"90868:17:22"},"nativeSrc":"90868:17:22","nodeType":"YulExpressionStatement","src":"90868:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34148,"isOffset":false,"isSlot":false,"src":"90619:2:22","valueSize":1},{"declaration":34151,"isOffset":false,"isSlot":false,"src":"90648:2:22","valueSize":1},{"declaration":34154,"isOffset":false,"isSlot":false,"src":"90677:2:22","valueSize":1},{"declaration":34157,"isOffset":false,"isSlot":false,"src":"90706:2:22","valueSize":1},{"declaration":34160,"isOffset":false,"isSlot":false,"src":"90735:2:22","valueSize":1},{"declaration":34163,"isOffset":false,"isSlot":false,"src":"90764:2:22","valueSize":1},{"declaration":34166,"isOffset":false,"isSlot":false,"src":"90793:2:22","valueSize":1},{"declaration":34169,"isOffset":false,"isSlot":false,"src":"90822:2:22","valueSize":1},{"declaration":34172,"isOffset":false,"isSlot":false,"src":"90852:2:22","valueSize":1},{"declaration":34175,"isOffset":false,"isSlot":false,"src":"90882:2:22","valueSize":1}],"id":34183,"nodeType":"InlineAssembly","src":"90583:312:22"}]},"id":34185,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"89220:3:22","nodeType":"FunctionDefinition","parameters":{"id":34145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34140,"mutability":"mutable","name":"p0","nameLocation":"89232:2:22","nodeType":"VariableDeclaration","scope":34185,"src":"89224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34142,"mutability":"mutable","name":"p1","nameLocation":"89244:2:22","nodeType":"VariableDeclaration","scope":34185,"src":"89236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34144,"mutability":"mutable","name":"p2","nameLocation":"89256:2:22","nodeType":"VariableDeclaration","scope":34185,"src":"89248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89248:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89223:36:22"},"returnParameters":{"id":34146,"nodeType":"ParameterList","parameters":[],"src":"89274:0:22"},"scope":44426,"src":"89211:1690:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34218,"nodeType":"Block","src":"90982:803:22","statements":[{"assignments":[34197],"declarations":[{"constant":false,"id":34197,"mutability":"mutable","name":"m0","nameLocation":"91000:2:22","nodeType":"VariableDeclaration","scope":34218,"src":"90992:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"90992:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34198,"nodeType":"VariableDeclarationStatement","src":"90992:10:22"},{"assignments":[34200],"declarations":[{"constant":false,"id":34200,"mutability":"mutable","name":"m1","nameLocation":"91020:2:22","nodeType":"VariableDeclaration","scope":34218,"src":"91012:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91012:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34201,"nodeType":"VariableDeclarationStatement","src":"91012:10:22"},{"assignments":[34203],"declarations":[{"constant":false,"id":34203,"mutability":"mutable","name":"m2","nameLocation":"91040:2:22","nodeType":"VariableDeclaration","scope":34218,"src":"91032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91032:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34204,"nodeType":"VariableDeclarationStatement","src":"91032:10:22"},{"assignments":[34206],"declarations":[{"constant":false,"id":34206,"mutability":"mutable","name":"m3","nameLocation":"91060:2:22","nodeType":"VariableDeclaration","scope":34218,"src":"91052:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91052:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34207,"nodeType":"VariableDeclarationStatement","src":"91052:10:22"},{"assignments":[34209],"declarations":[{"constant":false,"id":34209,"mutability":"mutable","name":"m4","nameLocation":"91080:2:22","nodeType":"VariableDeclaration","scope":34218,"src":"91072:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91072:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34210,"nodeType":"VariableDeclarationStatement","src":"91072:10:22"},{"AST":{"nativeSrc":"91144:381:22","nodeType":"YulBlock","src":"91144:381:22","statements":[{"nativeSrc":"91158:17:22","nodeType":"YulAssignment","src":"91158:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"91170:4:22","nodeType":"YulLiteral","src":"91170:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"91164:5:22","nodeType":"YulIdentifier","src":"91164:5:22"},"nativeSrc":"91164:11:22","nodeType":"YulFunctionCall","src":"91164:11:22"},"variableNames":[{"name":"m0","nativeSrc":"91158:2:22","nodeType":"YulIdentifier","src":"91158:2:22"}]},{"nativeSrc":"91188:17:22","nodeType":"YulAssignment","src":"91188:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"91200:4:22","nodeType":"YulLiteral","src":"91200:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"91194:5:22","nodeType":"YulIdentifier","src":"91194:5:22"},"nativeSrc":"91194:11:22","nodeType":"YulFunctionCall","src":"91194:11:22"},"variableNames":[{"name":"m1","nativeSrc":"91188:2:22","nodeType":"YulIdentifier","src":"91188:2:22"}]},{"nativeSrc":"91218:17:22","nodeType":"YulAssignment","src":"91218:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"91230:4:22","nodeType":"YulLiteral","src":"91230:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"91224:5:22","nodeType":"YulIdentifier","src":"91224:5:22"},"nativeSrc":"91224:11:22","nodeType":"YulFunctionCall","src":"91224:11:22"},"variableNames":[{"name":"m2","nativeSrc":"91218:2:22","nodeType":"YulIdentifier","src":"91218:2:22"}]},{"nativeSrc":"91248:17:22","nodeType":"YulAssignment","src":"91248:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"91260:4:22","nodeType":"YulLiteral","src":"91260:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"91254:5:22","nodeType":"YulIdentifier","src":"91254:5:22"},"nativeSrc":"91254:11:22","nodeType":"YulFunctionCall","src":"91254:11:22"},"variableNames":[{"name":"m3","nativeSrc":"91248:2:22","nodeType":"YulIdentifier","src":"91248:2:22"}]},{"nativeSrc":"91278:17:22","nodeType":"YulAssignment","src":"91278:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"91290:4:22","nodeType":"YulLiteral","src":"91290:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"91284:5:22","nodeType":"YulIdentifier","src":"91284:5:22"},"nativeSrc":"91284:11:22","nodeType":"YulFunctionCall","src":"91284:11:22"},"variableNames":[{"name":"m4","nativeSrc":"91278:2:22","nodeType":"YulIdentifier","src":"91278:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91382:4:22","nodeType":"YulLiteral","src":"91382:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"91388:10:22","nodeType":"YulLiteral","src":"91388:10:22","type":"","value":"0x665bf134"}],"functionName":{"name":"mstore","nativeSrc":"91375:6:22","nodeType":"YulIdentifier","src":"91375:6:22"},"nativeSrc":"91375:24:22","nodeType":"YulFunctionCall","src":"91375:24:22"},"nativeSrc":"91375:24:22","nodeType":"YulExpressionStatement","src":"91375:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91419:4:22","nodeType":"YulLiteral","src":"91419:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"91425:2:22","nodeType":"YulIdentifier","src":"91425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91412:6:22","nodeType":"YulIdentifier","src":"91412:6:22"},"nativeSrc":"91412:16:22","nodeType":"YulFunctionCall","src":"91412:16:22"},"nativeSrc":"91412:16:22","nodeType":"YulExpressionStatement","src":"91412:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91448:4:22","nodeType":"YulLiteral","src":"91448:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"91454:2:22","nodeType":"YulIdentifier","src":"91454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91441:6:22","nodeType":"YulIdentifier","src":"91441:6:22"},"nativeSrc":"91441:16:22","nodeType":"YulFunctionCall","src":"91441:16:22"},"nativeSrc":"91441:16:22","nodeType":"YulExpressionStatement","src":"91441:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91477:4:22","nodeType":"YulLiteral","src":"91477:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"91483:2:22","nodeType":"YulIdentifier","src":"91483:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91470:6:22","nodeType":"YulIdentifier","src":"91470:6:22"},"nativeSrc":"91470:16:22","nodeType":"YulFunctionCall","src":"91470:16:22"},"nativeSrc":"91470:16:22","nodeType":"YulExpressionStatement","src":"91470:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91506:4:22","nodeType":"YulLiteral","src":"91506:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"91512:2:22","nodeType":"YulIdentifier","src":"91512:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91499:6:22","nodeType":"YulIdentifier","src":"91499:6:22"},"nativeSrc":"91499:16:22","nodeType":"YulFunctionCall","src":"91499:16:22"},"nativeSrc":"91499:16:22","nodeType":"YulExpressionStatement","src":"91499:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34197,"isOffset":false,"isSlot":false,"src":"91158:2:22","valueSize":1},{"declaration":34200,"isOffset":false,"isSlot":false,"src":"91188:2:22","valueSize":1},{"declaration":34203,"isOffset":false,"isSlot":false,"src":"91218:2:22","valueSize":1},{"declaration":34206,"isOffset":false,"isSlot":false,"src":"91248:2:22","valueSize":1},{"declaration":34209,"isOffset":false,"isSlot":false,"src":"91278:2:22","valueSize":1},{"declaration":34187,"isOffset":false,"isSlot":false,"src":"91425:2:22","valueSize":1},{"declaration":34189,"isOffset":false,"isSlot":false,"src":"91454:2:22","valueSize":1},{"declaration":34191,"isOffset":false,"isSlot":false,"src":"91483:2:22","valueSize":1},{"declaration":34193,"isOffset":false,"isSlot":false,"src":"91512:2:22","valueSize":1}],"id":34211,"nodeType":"InlineAssembly","src":"91135:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91550:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91556:4:22","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":34212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"91534:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"91534:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34216,"nodeType":"ExpressionStatement","src":"91534:27:22"},{"AST":{"nativeSrc":"91623:156:22","nodeType":"YulBlock","src":"91623:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"91644:4:22","nodeType":"YulLiteral","src":"91644:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"91650:2:22","nodeType":"YulIdentifier","src":"91650:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91637:6:22","nodeType":"YulIdentifier","src":"91637:6:22"},"nativeSrc":"91637:16:22","nodeType":"YulFunctionCall","src":"91637:16:22"},"nativeSrc":"91637:16:22","nodeType":"YulExpressionStatement","src":"91637:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91673:4:22","nodeType":"YulLiteral","src":"91673:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"91679:2:22","nodeType":"YulIdentifier","src":"91679:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91666:6:22","nodeType":"YulIdentifier","src":"91666:6:22"},"nativeSrc":"91666:16:22","nodeType":"YulFunctionCall","src":"91666:16:22"},"nativeSrc":"91666:16:22","nodeType":"YulExpressionStatement","src":"91666:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91702:4:22","nodeType":"YulLiteral","src":"91702:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"91708:2:22","nodeType":"YulIdentifier","src":"91708:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91695:6:22","nodeType":"YulIdentifier","src":"91695:6:22"},"nativeSrc":"91695:16:22","nodeType":"YulFunctionCall","src":"91695:16:22"},"nativeSrc":"91695:16:22","nodeType":"YulExpressionStatement","src":"91695:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91731:4:22","nodeType":"YulLiteral","src":"91731:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"91737:2:22","nodeType":"YulIdentifier","src":"91737:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91724:6:22","nodeType":"YulIdentifier","src":"91724:6:22"},"nativeSrc":"91724:16:22","nodeType":"YulFunctionCall","src":"91724:16:22"},"nativeSrc":"91724:16:22","nodeType":"YulExpressionStatement","src":"91724:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91760:4:22","nodeType":"YulLiteral","src":"91760:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"91766:2:22","nodeType":"YulIdentifier","src":"91766:2:22"}],"functionName":{"name":"mstore","nativeSrc":"91753:6:22","nodeType":"YulIdentifier","src":"91753:6:22"},"nativeSrc":"91753:16:22","nodeType":"YulFunctionCall","src":"91753:16:22"},"nativeSrc":"91753:16:22","nodeType":"YulExpressionStatement","src":"91753:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34197,"isOffset":false,"isSlot":false,"src":"91650:2:22","valueSize":1},{"declaration":34200,"isOffset":false,"isSlot":false,"src":"91679:2:22","valueSize":1},{"declaration":34203,"isOffset":false,"isSlot":false,"src":"91708:2:22","valueSize":1},{"declaration":34206,"isOffset":false,"isSlot":false,"src":"91737:2:22","valueSize":1},{"declaration":34209,"isOffset":false,"isSlot":false,"src":"91766:2:22","valueSize":1}],"id":34217,"nodeType":"InlineAssembly","src":"91614:165:22"}]},"id":34219,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"90916:3:22","nodeType":"FunctionDefinition","parameters":{"id":34194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34187,"mutability":"mutable","name":"p0","nameLocation":"90928:2:22","nodeType":"VariableDeclaration","scope":34219,"src":"90920:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34186,"name":"address","nodeType":"ElementaryTypeName","src":"90920:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34189,"mutability":"mutable","name":"p1","nameLocation":"90940:2:22","nodeType":"VariableDeclaration","scope":34219,"src":"90932:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34188,"name":"address","nodeType":"ElementaryTypeName","src":"90932:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34191,"mutability":"mutable","name":"p2","nameLocation":"90952:2:22","nodeType":"VariableDeclaration","scope":34219,"src":"90944:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34190,"name":"address","nodeType":"ElementaryTypeName","src":"90944:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34193,"mutability":"mutable","name":"p3","nameLocation":"90964:2:22","nodeType":"VariableDeclaration","scope":34219,"src":"90956:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34192,"name":"address","nodeType":"ElementaryTypeName","src":"90956:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"90919:48:22"},"returnParameters":{"id":34195,"nodeType":"ParameterList","parameters":[],"src":"90982:0:22"},"scope":44426,"src":"90907:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34252,"nodeType":"Block","src":"91863:800:22","statements":[{"assignments":[34231],"declarations":[{"constant":false,"id":34231,"mutability":"mutable","name":"m0","nameLocation":"91881:2:22","nodeType":"VariableDeclaration","scope":34252,"src":"91873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34232,"nodeType":"VariableDeclarationStatement","src":"91873:10:22"},{"assignments":[34234],"declarations":[{"constant":false,"id":34234,"mutability":"mutable","name":"m1","nameLocation":"91901:2:22","nodeType":"VariableDeclaration","scope":34252,"src":"91893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34235,"nodeType":"VariableDeclarationStatement","src":"91893:10:22"},{"assignments":[34237],"declarations":[{"constant":false,"id":34237,"mutability":"mutable","name":"m2","nameLocation":"91921:2:22","nodeType":"VariableDeclaration","scope":34252,"src":"91913:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91913:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34238,"nodeType":"VariableDeclarationStatement","src":"91913:10:22"},{"assignments":[34240],"declarations":[{"constant":false,"id":34240,"mutability":"mutable","name":"m3","nameLocation":"91941:2:22","nodeType":"VariableDeclaration","scope":34252,"src":"91933:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91933:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34241,"nodeType":"VariableDeclarationStatement","src":"91933:10:22"},{"assignments":[34243],"declarations":[{"constant":false,"id":34243,"mutability":"mutable","name":"m4","nameLocation":"91961:2:22","nodeType":"VariableDeclaration","scope":34252,"src":"91953:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91953:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34244,"nodeType":"VariableDeclarationStatement","src":"91953:10:22"},{"AST":{"nativeSrc":"92025:378:22","nodeType":"YulBlock","src":"92025:378:22","statements":[{"nativeSrc":"92039:17:22","nodeType":"YulAssignment","src":"92039:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92051:4:22","nodeType":"YulLiteral","src":"92051:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92045:5:22","nodeType":"YulIdentifier","src":"92045:5:22"},"nativeSrc":"92045:11:22","nodeType":"YulFunctionCall","src":"92045:11:22"},"variableNames":[{"name":"m0","nativeSrc":"92039:2:22","nodeType":"YulIdentifier","src":"92039:2:22"}]},{"nativeSrc":"92069:17:22","nodeType":"YulAssignment","src":"92069:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92081:4:22","nodeType":"YulLiteral","src":"92081:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92075:5:22","nodeType":"YulIdentifier","src":"92075:5:22"},"nativeSrc":"92075:11:22","nodeType":"YulFunctionCall","src":"92075:11:22"},"variableNames":[{"name":"m1","nativeSrc":"92069:2:22","nodeType":"YulIdentifier","src":"92069:2:22"}]},{"nativeSrc":"92099:17:22","nodeType":"YulAssignment","src":"92099:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92111:4:22","nodeType":"YulLiteral","src":"92111:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92105:5:22","nodeType":"YulIdentifier","src":"92105:5:22"},"nativeSrc":"92105:11:22","nodeType":"YulFunctionCall","src":"92105:11:22"},"variableNames":[{"name":"m2","nativeSrc":"92099:2:22","nodeType":"YulIdentifier","src":"92099:2:22"}]},{"nativeSrc":"92129:17:22","nodeType":"YulAssignment","src":"92129:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92141:4:22","nodeType":"YulLiteral","src":"92141:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"92135:5:22","nodeType":"YulIdentifier","src":"92135:5:22"},"nativeSrc":"92135:11:22","nodeType":"YulFunctionCall","src":"92135:11:22"},"variableNames":[{"name":"m3","nativeSrc":"92129:2:22","nodeType":"YulIdentifier","src":"92129:2:22"}]},{"nativeSrc":"92159:17:22","nodeType":"YulAssignment","src":"92159:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92171:4:22","nodeType":"YulLiteral","src":"92171:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"92165:5:22","nodeType":"YulIdentifier","src":"92165:5:22"},"nativeSrc":"92165:11:22","nodeType":"YulFunctionCall","src":"92165:11:22"},"variableNames":[{"name":"m4","nativeSrc":"92159:2:22","nodeType":"YulIdentifier","src":"92159:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92260:4:22","nodeType":"YulLiteral","src":"92260:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"92266:10:22","nodeType":"YulLiteral","src":"92266:10:22","type":"","value":"0x0e378994"}],"functionName":{"name":"mstore","nativeSrc":"92253:6:22","nodeType":"YulIdentifier","src":"92253:6:22"},"nativeSrc":"92253:24:22","nodeType":"YulFunctionCall","src":"92253:24:22"},"nativeSrc":"92253:24:22","nodeType":"YulExpressionStatement","src":"92253:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92297:4:22","nodeType":"YulLiteral","src":"92297:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"92303:2:22","nodeType":"YulIdentifier","src":"92303:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92290:6:22","nodeType":"YulIdentifier","src":"92290:6:22"},"nativeSrc":"92290:16:22","nodeType":"YulFunctionCall","src":"92290:16:22"},"nativeSrc":"92290:16:22","nodeType":"YulExpressionStatement","src":"92290:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92326:4:22","nodeType":"YulLiteral","src":"92326:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"92332:2:22","nodeType":"YulIdentifier","src":"92332:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92319:6:22","nodeType":"YulIdentifier","src":"92319:6:22"},"nativeSrc":"92319:16:22","nodeType":"YulFunctionCall","src":"92319:16:22"},"nativeSrc":"92319:16:22","nodeType":"YulExpressionStatement","src":"92319:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92355:4:22","nodeType":"YulLiteral","src":"92355:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"92361:2:22","nodeType":"YulIdentifier","src":"92361:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92348:6:22","nodeType":"YulIdentifier","src":"92348:6:22"},"nativeSrc":"92348:16:22","nodeType":"YulFunctionCall","src":"92348:16:22"},"nativeSrc":"92348:16:22","nodeType":"YulExpressionStatement","src":"92348:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92384:4:22","nodeType":"YulLiteral","src":"92384:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"92390:2:22","nodeType":"YulIdentifier","src":"92390:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92377:6:22","nodeType":"YulIdentifier","src":"92377:6:22"},"nativeSrc":"92377:16:22","nodeType":"YulFunctionCall","src":"92377:16:22"},"nativeSrc":"92377:16:22","nodeType":"YulExpressionStatement","src":"92377:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34231,"isOffset":false,"isSlot":false,"src":"92039:2:22","valueSize":1},{"declaration":34234,"isOffset":false,"isSlot":false,"src":"92069:2:22","valueSize":1},{"declaration":34237,"isOffset":false,"isSlot":false,"src":"92099:2:22","valueSize":1},{"declaration":34240,"isOffset":false,"isSlot":false,"src":"92129:2:22","valueSize":1},{"declaration":34243,"isOffset":false,"isSlot":false,"src":"92159:2:22","valueSize":1},{"declaration":34221,"isOffset":false,"isSlot":false,"src":"92303:2:22","valueSize":1},{"declaration":34223,"isOffset":false,"isSlot":false,"src":"92332:2:22","valueSize":1},{"declaration":34225,"isOffset":false,"isSlot":false,"src":"92361:2:22","valueSize":1},{"declaration":34227,"isOffset":false,"isSlot":false,"src":"92390:2:22","valueSize":1}],"id":34245,"nodeType":"InlineAssembly","src":"92016:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92428:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92434:4:22","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":34246,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"92412:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"92412:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34250,"nodeType":"ExpressionStatement","src":"92412:27:22"},{"AST":{"nativeSrc":"92501:156:22","nodeType":"YulBlock","src":"92501:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"92522:4:22","nodeType":"YulLiteral","src":"92522:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"92528:2:22","nodeType":"YulIdentifier","src":"92528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92515:6:22","nodeType":"YulIdentifier","src":"92515:6:22"},"nativeSrc":"92515:16:22","nodeType":"YulFunctionCall","src":"92515:16:22"},"nativeSrc":"92515:16:22","nodeType":"YulExpressionStatement","src":"92515:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92551:4:22","nodeType":"YulLiteral","src":"92551:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"92557:2:22","nodeType":"YulIdentifier","src":"92557:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92544:6:22","nodeType":"YulIdentifier","src":"92544:6:22"},"nativeSrc":"92544:16:22","nodeType":"YulFunctionCall","src":"92544:16:22"},"nativeSrc":"92544:16:22","nodeType":"YulExpressionStatement","src":"92544:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92580:4:22","nodeType":"YulLiteral","src":"92580:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"92586:2:22","nodeType":"YulIdentifier","src":"92586:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92573:6:22","nodeType":"YulIdentifier","src":"92573:6:22"},"nativeSrc":"92573:16:22","nodeType":"YulFunctionCall","src":"92573:16:22"},"nativeSrc":"92573:16:22","nodeType":"YulExpressionStatement","src":"92573:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92609:4:22","nodeType":"YulLiteral","src":"92609:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"92615:2:22","nodeType":"YulIdentifier","src":"92615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92602:6:22","nodeType":"YulIdentifier","src":"92602:6:22"},"nativeSrc":"92602:16:22","nodeType":"YulFunctionCall","src":"92602:16:22"},"nativeSrc":"92602:16:22","nodeType":"YulExpressionStatement","src":"92602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92638:4:22","nodeType":"YulLiteral","src":"92638:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"92644:2:22","nodeType":"YulIdentifier","src":"92644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"92631:6:22","nodeType":"YulIdentifier","src":"92631:6:22"},"nativeSrc":"92631:16:22","nodeType":"YulFunctionCall","src":"92631:16:22"},"nativeSrc":"92631:16:22","nodeType":"YulExpressionStatement","src":"92631:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34231,"isOffset":false,"isSlot":false,"src":"92528:2:22","valueSize":1},{"declaration":34234,"isOffset":false,"isSlot":false,"src":"92557:2:22","valueSize":1},{"declaration":34237,"isOffset":false,"isSlot":false,"src":"92586:2:22","valueSize":1},{"declaration":34240,"isOffset":false,"isSlot":false,"src":"92615:2:22","valueSize":1},{"declaration":34243,"isOffset":false,"isSlot":false,"src":"92644:2:22","valueSize":1}],"id":34251,"nodeType":"InlineAssembly","src":"92492:165:22"}]},"id":34253,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"91800:3:22","nodeType":"FunctionDefinition","parameters":{"id":34228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34221,"mutability":"mutable","name":"p0","nameLocation":"91812:2:22","nodeType":"VariableDeclaration","scope":34253,"src":"91804:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34220,"name":"address","nodeType":"ElementaryTypeName","src":"91804:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34223,"mutability":"mutable","name":"p1","nameLocation":"91824:2:22","nodeType":"VariableDeclaration","scope":34253,"src":"91816:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34222,"name":"address","nodeType":"ElementaryTypeName","src":"91816:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34225,"mutability":"mutable","name":"p2","nameLocation":"91836:2:22","nodeType":"VariableDeclaration","scope":34253,"src":"91828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34224,"name":"address","nodeType":"ElementaryTypeName","src":"91828:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34227,"mutability":"mutable","name":"p3","nameLocation":"91845:2:22","nodeType":"VariableDeclaration","scope":34253,"src":"91840:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34226,"name":"bool","nodeType":"ElementaryTypeName","src":"91840:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"91803:45:22"},"returnParameters":{"id":34229,"nodeType":"ParameterList","parameters":[],"src":"91863:0:22"},"scope":44426,"src":"91791:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34286,"nodeType":"Block","src":"92744:803:22","statements":[{"assignments":[34265],"declarations":[{"constant":false,"id":34265,"mutability":"mutable","name":"m0","nameLocation":"92762:2:22","nodeType":"VariableDeclaration","scope":34286,"src":"92754:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92754:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34266,"nodeType":"VariableDeclarationStatement","src":"92754:10:22"},{"assignments":[34268],"declarations":[{"constant":false,"id":34268,"mutability":"mutable","name":"m1","nameLocation":"92782:2:22","nodeType":"VariableDeclaration","scope":34286,"src":"92774:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92774:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34269,"nodeType":"VariableDeclarationStatement","src":"92774:10:22"},{"assignments":[34271],"declarations":[{"constant":false,"id":34271,"mutability":"mutable","name":"m2","nameLocation":"92802:2:22","nodeType":"VariableDeclaration","scope":34286,"src":"92794:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92794:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34272,"nodeType":"VariableDeclarationStatement","src":"92794:10:22"},{"assignments":[34274],"declarations":[{"constant":false,"id":34274,"mutability":"mutable","name":"m3","nameLocation":"92822:2:22","nodeType":"VariableDeclaration","scope":34286,"src":"92814:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92814:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34275,"nodeType":"VariableDeclarationStatement","src":"92814:10:22"},{"assignments":[34277],"declarations":[{"constant":false,"id":34277,"mutability":"mutable","name":"m4","nameLocation":"92842:2:22","nodeType":"VariableDeclaration","scope":34286,"src":"92834:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92834:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34278,"nodeType":"VariableDeclarationStatement","src":"92834:10:22"},{"AST":{"nativeSrc":"92906:381:22","nodeType":"YulBlock","src":"92906:381:22","statements":[{"nativeSrc":"92920:17:22","nodeType":"YulAssignment","src":"92920:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92932:4:22","nodeType":"YulLiteral","src":"92932:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92926:5:22","nodeType":"YulIdentifier","src":"92926:5:22"},"nativeSrc":"92926:11:22","nodeType":"YulFunctionCall","src":"92926:11:22"},"variableNames":[{"name":"m0","nativeSrc":"92920:2:22","nodeType":"YulIdentifier","src":"92920:2:22"}]},{"nativeSrc":"92950:17:22","nodeType":"YulAssignment","src":"92950:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92962:4:22","nodeType":"YulLiteral","src":"92962:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92956:5:22","nodeType":"YulIdentifier","src":"92956:5:22"},"nativeSrc":"92956:11:22","nodeType":"YulFunctionCall","src":"92956:11:22"},"variableNames":[{"name":"m1","nativeSrc":"92950:2:22","nodeType":"YulIdentifier","src":"92950:2:22"}]},{"nativeSrc":"92980:17:22","nodeType":"YulAssignment","src":"92980:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"92992:4:22","nodeType":"YulLiteral","src":"92992:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92986:5:22","nodeType":"YulIdentifier","src":"92986:5:22"},"nativeSrc":"92986:11:22","nodeType":"YulFunctionCall","src":"92986:11:22"},"variableNames":[{"name":"m2","nativeSrc":"92980:2:22","nodeType":"YulIdentifier","src":"92980:2:22"}]},{"nativeSrc":"93010:17:22","nodeType":"YulAssignment","src":"93010:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"93022:4:22","nodeType":"YulLiteral","src":"93022:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"93016:5:22","nodeType":"YulIdentifier","src":"93016:5:22"},"nativeSrc":"93016:11:22","nodeType":"YulFunctionCall","src":"93016:11:22"},"variableNames":[{"name":"m3","nativeSrc":"93010:2:22","nodeType":"YulIdentifier","src":"93010:2:22"}]},{"nativeSrc":"93040:17:22","nodeType":"YulAssignment","src":"93040:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"93052:4:22","nodeType":"YulLiteral","src":"93052:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"93046:5:22","nodeType":"YulIdentifier","src":"93046:5:22"},"nativeSrc":"93046:11:22","nodeType":"YulFunctionCall","src":"93046:11:22"},"variableNames":[{"name":"m4","nativeSrc":"93040:2:22","nodeType":"YulIdentifier","src":"93040:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93144:4:22","nodeType":"YulLiteral","src":"93144:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"93150:10:22","nodeType":"YulLiteral","src":"93150:10:22","type":"","value":"0x94250d77"}],"functionName":{"name":"mstore","nativeSrc":"93137:6:22","nodeType":"YulIdentifier","src":"93137:6:22"},"nativeSrc":"93137:24:22","nodeType":"YulFunctionCall","src":"93137:24:22"},"nativeSrc":"93137:24:22","nodeType":"YulExpressionStatement","src":"93137:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93181:4:22","nodeType":"YulLiteral","src":"93181:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"93187:2:22","nodeType":"YulIdentifier","src":"93187:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93174:6:22","nodeType":"YulIdentifier","src":"93174:6:22"},"nativeSrc":"93174:16:22","nodeType":"YulFunctionCall","src":"93174:16:22"},"nativeSrc":"93174:16:22","nodeType":"YulExpressionStatement","src":"93174:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93210:4:22","nodeType":"YulLiteral","src":"93210:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"93216:2:22","nodeType":"YulIdentifier","src":"93216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93203:6:22","nodeType":"YulIdentifier","src":"93203:6:22"},"nativeSrc":"93203:16:22","nodeType":"YulFunctionCall","src":"93203:16:22"},"nativeSrc":"93203:16:22","nodeType":"YulExpressionStatement","src":"93203:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93239:4:22","nodeType":"YulLiteral","src":"93239:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"93245:2:22","nodeType":"YulIdentifier","src":"93245:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93232:6:22","nodeType":"YulIdentifier","src":"93232:6:22"},"nativeSrc":"93232:16:22","nodeType":"YulFunctionCall","src":"93232:16:22"},"nativeSrc":"93232:16:22","nodeType":"YulExpressionStatement","src":"93232:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93268:4:22","nodeType":"YulLiteral","src":"93268:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"93274:2:22","nodeType":"YulIdentifier","src":"93274:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93261:6:22","nodeType":"YulIdentifier","src":"93261:6:22"},"nativeSrc":"93261:16:22","nodeType":"YulFunctionCall","src":"93261:16:22"},"nativeSrc":"93261:16:22","nodeType":"YulExpressionStatement","src":"93261:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34265,"isOffset":false,"isSlot":false,"src":"92920:2:22","valueSize":1},{"declaration":34268,"isOffset":false,"isSlot":false,"src":"92950:2:22","valueSize":1},{"declaration":34271,"isOffset":false,"isSlot":false,"src":"92980:2:22","valueSize":1},{"declaration":34274,"isOffset":false,"isSlot":false,"src":"93010:2:22","valueSize":1},{"declaration":34277,"isOffset":false,"isSlot":false,"src":"93040:2:22","valueSize":1},{"declaration":34255,"isOffset":false,"isSlot":false,"src":"93187:2:22","valueSize":1},{"declaration":34257,"isOffset":false,"isSlot":false,"src":"93216:2:22","valueSize":1},{"declaration":34259,"isOffset":false,"isSlot":false,"src":"93245:2:22","valueSize":1},{"declaration":34261,"isOffset":false,"isSlot":false,"src":"93274:2:22","valueSize":1}],"id":34279,"nodeType":"InlineAssembly","src":"92897:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93312:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93318:4:22","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":34280,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"93296:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"93296:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34284,"nodeType":"ExpressionStatement","src":"93296:27:22"},{"AST":{"nativeSrc":"93385:156:22","nodeType":"YulBlock","src":"93385:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"93406:4:22","nodeType":"YulLiteral","src":"93406:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"93412:2:22","nodeType":"YulIdentifier","src":"93412:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93399:6:22","nodeType":"YulIdentifier","src":"93399:6:22"},"nativeSrc":"93399:16:22","nodeType":"YulFunctionCall","src":"93399:16:22"},"nativeSrc":"93399:16:22","nodeType":"YulExpressionStatement","src":"93399:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93435:4:22","nodeType":"YulLiteral","src":"93435:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"93441:2:22","nodeType":"YulIdentifier","src":"93441:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93428:6:22","nodeType":"YulIdentifier","src":"93428:6:22"},"nativeSrc":"93428:16:22","nodeType":"YulFunctionCall","src":"93428:16:22"},"nativeSrc":"93428:16:22","nodeType":"YulExpressionStatement","src":"93428:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93464:4:22","nodeType":"YulLiteral","src":"93464:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"93470:2:22","nodeType":"YulIdentifier","src":"93470:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93457:6:22","nodeType":"YulIdentifier","src":"93457:6:22"},"nativeSrc":"93457:16:22","nodeType":"YulFunctionCall","src":"93457:16:22"},"nativeSrc":"93457:16:22","nodeType":"YulExpressionStatement","src":"93457:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93493:4:22","nodeType":"YulLiteral","src":"93493:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"93499:2:22","nodeType":"YulIdentifier","src":"93499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93486:6:22","nodeType":"YulIdentifier","src":"93486:6:22"},"nativeSrc":"93486:16:22","nodeType":"YulFunctionCall","src":"93486:16:22"},"nativeSrc":"93486:16:22","nodeType":"YulExpressionStatement","src":"93486:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93522:4:22","nodeType":"YulLiteral","src":"93522:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"93528:2:22","nodeType":"YulIdentifier","src":"93528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"93515:6:22","nodeType":"YulIdentifier","src":"93515:6:22"},"nativeSrc":"93515:16:22","nodeType":"YulFunctionCall","src":"93515:16:22"},"nativeSrc":"93515:16:22","nodeType":"YulExpressionStatement","src":"93515:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34265,"isOffset":false,"isSlot":false,"src":"93412:2:22","valueSize":1},{"declaration":34268,"isOffset":false,"isSlot":false,"src":"93441:2:22","valueSize":1},{"declaration":34271,"isOffset":false,"isSlot":false,"src":"93470:2:22","valueSize":1},{"declaration":34274,"isOffset":false,"isSlot":false,"src":"93499:2:22","valueSize":1},{"declaration":34277,"isOffset":false,"isSlot":false,"src":"93528:2:22","valueSize":1}],"id":34285,"nodeType":"InlineAssembly","src":"93376:165:22"}]},"id":34287,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"92678:3:22","nodeType":"FunctionDefinition","parameters":{"id":34262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34255,"mutability":"mutable","name":"p0","nameLocation":"92690:2:22","nodeType":"VariableDeclaration","scope":34287,"src":"92682:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34254,"name":"address","nodeType":"ElementaryTypeName","src":"92682:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34257,"mutability":"mutable","name":"p1","nameLocation":"92702:2:22","nodeType":"VariableDeclaration","scope":34287,"src":"92694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34256,"name":"address","nodeType":"ElementaryTypeName","src":"92694:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34259,"mutability":"mutable","name":"p2","nameLocation":"92714:2:22","nodeType":"VariableDeclaration","scope":34287,"src":"92706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34258,"name":"address","nodeType":"ElementaryTypeName","src":"92706:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34261,"mutability":"mutable","name":"p3","nameLocation":"92726:2:22","nodeType":"VariableDeclaration","scope":34287,"src":"92718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34260,"name":"uint256","nodeType":"ElementaryTypeName","src":"92718:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"92681:48:22"},"returnParameters":{"id":34263,"nodeType":"ParameterList","parameters":[],"src":"92744:0:22"},"scope":44426,"src":"92669:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34326,"nodeType":"Block","src":"93628:1351:22","statements":[{"assignments":[34299],"declarations":[{"constant":false,"id":34299,"mutability":"mutable","name":"m0","nameLocation":"93646:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34300,"nodeType":"VariableDeclarationStatement","src":"93638:10:22"},{"assignments":[34302],"declarations":[{"constant":false,"id":34302,"mutability":"mutable","name":"m1","nameLocation":"93666:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34303,"nodeType":"VariableDeclarationStatement","src":"93658:10:22"},{"assignments":[34305],"declarations":[{"constant":false,"id":34305,"mutability":"mutable","name":"m2","nameLocation":"93686:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93678:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93678:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34306,"nodeType":"VariableDeclarationStatement","src":"93678:10:22"},{"assignments":[34308],"declarations":[{"constant":false,"id":34308,"mutability":"mutable","name":"m3","nameLocation":"93706:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34309,"nodeType":"VariableDeclarationStatement","src":"93698:10:22"},{"assignments":[34311],"declarations":[{"constant":false,"id":34311,"mutability":"mutable","name":"m4","nameLocation":"93726:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34312,"nodeType":"VariableDeclarationStatement","src":"93718:10:22"},{"assignments":[34314],"declarations":[{"constant":false,"id":34314,"mutability":"mutable","name":"m5","nameLocation":"93746:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93738:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34315,"nodeType":"VariableDeclarationStatement","src":"93738:10:22"},{"assignments":[34317],"declarations":[{"constant":false,"id":34317,"mutability":"mutable","name":"m6","nameLocation":"93766:2:22","nodeType":"VariableDeclaration","scope":34326,"src":"93758:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93758:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34318,"nodeType":"VariableDeclarationStatement","src":"93758:10:22"},{"AST":{"nativeSrc":"93830:831:22","nodeType":"YulBlock","src":"93830:831:22","statements":[{"body":{"nativeSrc":"93873:313:22","nodeType":"YulBlock","src":"93873:313:22","statements":[{"nativeSrc":"93891:15:22","nodeType":"YulVariableDeclaration","src":"93891:15:22","value":{"kind":"number","nativeSrc":"93905:1:22","nodeType":"YulLiteral","src":"93905:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"93895:6:22","nodeType":"YulTypedName","src":"93895:6:22","type":""}]},{"body":{"nativeSrc":"93976:40:22","nodeType":"YulBlock","src":"93976:40:22","statements":[{"body":{"nativeSrc":"94005:9:22","nodeType":"YulBlock","src":"94005:9:22","statements":[{"nativeSrc":"94007:5:22","nodeType":"YulBreak","src":"94007:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"93993:6:22","nodeType":"YulIdentifier","src":"93993:6:22"},{"name":"w","nativeSrc":"94001:1:22","nodeType":"YulIdentifier","src":"94001:1:22"}],"functionName":{"name":"byte","nativeSrc":"93988:4:22","nodeType":"YulIdentifier","src":"93988:4:22"},"nativeSrc":"93988:15:22","nodeType":"YulFunctionCall","src":"93988:15:22"}],"functionName":{"name":"iszero","nativeSrc":"93981:6:22","nodeType":"YulIdentifier","src":"93981:6:22"},"nativeSrc":"93981:23:22","nodeType":"YulFunctionCall","src":"93981:23:22"},"nativeSrc":"93978:36:22","nodeType":"YulIf","src":"93978:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"93933:6:22","nodeType":"YulIdentifier","src":"93933:6:22"},{"kind":"number","nativeSrc":"93941:4:22","nodeType":"YulLiteral","src":"93941:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"93930:2:22","nodeType":"YulIdentifier","src":"93930:2:22"},"nativeSrc":"93930:16:22","nodeType":"YulFunctionCall","src":"93930:16:22"},"nativeSrc":"93923:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"93947:28:22","nodeType":"YulBlock","src":"93947:28:22","statements":[{"nativeSrc":"93949:24:22","nodeType":"YulAssignment","src":"93949:24:22","value":{"arguments":[{"name":"length","nativeSrc":"93963:6:22","nodeType":"YulIdentifier","src":"93963:6:22"},{"kind":"number","nativeSrc":"93971:1:22","nodeType":"YulLiteral","src":"93971:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"93959:3:22","nodeType":"YulIdentifier","src":"93959:3:22"},"nativeSrc":"93959:14:22","nodeType":"YulFunctionCall","src":"93959:14:22"},"variableNames":[{"name":"length","nativeSrc":"93949:6:22","nodeType":"YulIdentifier","src":"93949:6:22"}]}]},"pre":{"nativeSrc":"93927:2:22","nodeType":"YulBlock","src":"93927:2:22","statements":[]},"src":"93923:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"94040:3:22","nodeType":"YulIdentifier","src":"94040:3:22"},{"name":"length","nativeSrc":"94045:6:22","nodeType":"YulIdentifier","src":"94045:6:22"}],"functionName":{"name":"mstore","nativeSrc":"94033:6:22","nodeType":"YulIdentifier","src":"94033:6:22"},"nativeSrc":"94033:19:22","nodeType":"YulFunctionCall","src":"94033:19:22"},"nativeSrc":"94033:19:22","nodeType":"YulExpressionStatement","src":"94033:19:22"},{"nativeSrc":"94069:37:22","nodeType":"YulVariableDeclaration","src":"94069:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"94086:3:22","nodeType":"YulLiteral","src":"94086:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"94095:1:22","nodeType":"YulLiteral","src":"94095:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"94098:6:22","nodeType":"YulIdentifier","src":"94098:6:22"}],"functionName":{"name":"shl","nativeSrc":"94091:3:22","nodeType":"YulIdentifier","src":"94091:3:22"},"nativeSrc":"94091:14:22","nodeType":"YulFunctionCall","src":"94091:14:22"}],"functionName":{"name":"sub","nativeSrc":"94082:3:22","nodeType":"YulIdentifier","src":"94082:3:22"},"nativeSrc":"94082:24:22","nodeType":"YulFunctionCall","src":"94082:24:22"},"variables":[{"name":"shift","nativeSrc":"94073:5:22","nodeType":"YulTypedName","src":"94073:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"94134:3:22","nodeType":"YulIdentifier","src":"94134:3:22"},{"kind":"number","nativeSrc":"94139:4:22","nodeType":"YulLiteral","src":"94139:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"94130:3:22","nodeType":"YulIdentifier","src":"94130:3:22"},"nativeSrc":"94130:14:22","nodeType":"YulFunctionCall","src":"94130:14:22"},{"arguments":[{"name":"shift","nativeSrc":"94150:5:22","nodeType":"YulIdentifier","src":"94150:5:22"},{"arguments":[{"name":"shift","nativeSrc":"94161:5:22","nodeType":"YulIdentifier","src":"94161:5:22"},{"name":"w","nativeSrc":"94168:1:22","nodeType":"YulIdentifier","src":"94168:1:22"}],"functionName":{"name":"shr","nativeSrc":"94157:3:22","nodeType":"YulIdentifier","src":"94157:3:22"},"nativeSrc":"94157:13:22","nodeType":"YulFunctionCall","src":"94157:13:22"}],"functionName":{"name":"shl","nativeSrc":"94146:3:22","nodeType":"YulIdentifier","src":"94146:3:22"},"nativeSrc":"94146:25:22","nodeType":"YulFunctionCall","src":"94146:25:22"}],"functionName":{"name":"mstore","nativeSrc":"94123:6:22","nodeType":"YulIdentifier","src":"94123:6:22"},"nativeSrc":"94123:49:22","nodeType":"YulFunctionCall","src":"94123:49:22"},"nativeSrc":"94123:49:22","nodeType":"YulExpressionStatement","src":"94123:49:22"}]},"name":"writeString","nativeSrc":"93844:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"93865:3:22","nodeType":"YulTypedName","src":"93865:3:22","type":""},{"name":"w","nativeSrc":"93870:1:22","nodeType":"YulTypedName","src":"93870:1:22","type":""}],"src":"93844:342:22"},{"nativeSrc":"94199:17:22","nodeType":"YulAssignment","src":"94199:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94211:4:22","nodeType":"YulLiteral","src":"94211:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"94205:5:22","nodeType":"YulIdentifier","src":"94205:5:22"},"nativeSrc":"94205:11:22","nodeType":"YulFunctionCall","src":"94205:11:22"},"variableNames":[{"name":"m0","nativeSrc":"94199:2:22","nodeType":"YulIdentifier","src":"94199:2:22"}]},{"nativeSrc":"94229:17:22","nodeType":"YulAssignment","src":"94229:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94241:4:22","nodeType":"YulLiteral","src":"94241:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"94235:5:22","nodeType":"YulIdentifier","src":"94235:5:22"},"nativeSrc":"94235:11:22","nodeType":"YulFunctionCall","src":"94235:11:22"},"variableNames":[{"name":"m1","nativeSrc":"94229:2:22","nodeType":"YulIdentifier","src":"94229:2:22"}]},{"nativeSrc":"94259:17:22","nodeType":"YulAssignment","src":"94259:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94271:4:22","nodeType":"YulLiteral","src":"94271:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"94265:5:22","nodeType":"YulIdentifier","src":"94265:5:22"},"nativeSrc":"94265:11:22","nodeType":"YulFunctionCall","src":"94265:11:22"},"variableNames":[{"name":"m2","nativeSrc":"94259:2:22","nodeType":"YulIdentifier","src":"94259:2:22"}]},{"nativeSrc":"94289:17:22","nodeType":"YulAssignment","src":"94289:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94301:4:22","nodeType":"YulLiteral","src":"94301:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"94295:5:22","nodeType":"YulIdentifier","src":"94295:5:22"},"nativeSrc":"94295:11:22","nodeType":"YulFunctionCall","src":"94295:11:22"},"variableNames":[{"name":"m3","nativeSrc":"94289:2:22","nodeType":"YulIdentifier","src":"94289:2:22"}]},{"nativeSrc":"94319:17:22","nodeType":"YulAssignment","src":"94319:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94331:4:22","nodeType":"YulLiteral","src":"94331:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"94325:5:22","nodeType":"YulIdentifier","src":"94325:5:22"},"nativeSrc":"94325:11:22","nodeType":"YulFunctionCall","src":"94325:11:22"},"variableNames":[{"name":"m4","nativeSrc":"94319:2:22","nodeType":"YulIdentifier","src":"94319:2:22"}]},{"nativeSrc":"94349:17:22","nodeType":"YulAssignment","src":"94349:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94361:4:22","nodeType":"YulLiteral","src":"94361:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"94355:5:22","nodeType":"YulIdentifier","src":"94355:5:22"},"nativeSrc":"94355:11:22","nodeType":"YulFunctionCall","src":"94355:11:22"},"variableNames":[{"name":"m5","nativeSrc":"94349:2:22","nodeType":"YulIdentifier","src":"94349:2:22"}]},{"nativeSrc":"94379:17:22","nodeType":"YulAssignment","src":"94379:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"94391:4:22","nodeType":"YulLiteral","src":"94391:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"94385:5:22","nodeType":"YulIdentifier","src":"94385:5:22"},"nativeSrc":"94385:11:22","nodeType":"YulFunctionCall","src":"94385:11:22"},"variableNames":[{"name":"m6","nativeSrc":"94379:2:22","nodeType":"YulIdentifier","src":"94379:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94482:4:22","nodeType":"YulLiteral","src":"94482:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"94488:10:22","nodeType":"YulLiteral","src":"94488:10:22","type":"","value":"0xf808da20"}],"functionName":{"name":"mstore","nativeSrc":"94475:6:22","nodeType":"YulIdentifier","src":"94475:6:22"},"nativeSrc":"94475:24:22","nodeType":"YulFunctionCall","src":"94475:24:22"},"nativeSrc":"94475:24:22","nodeType":"YulExpressionStatement","src":"94475:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94519:4:22","nodeType":"YulLiteral","src":"94519:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"94525:2:22","nodeType":"YulIdentifier","src":"94525:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94512:6:22","nodeType":"YulIdentifier","src":"94512:6:22"},"nativeSrc":"94512:16:22","nodeType":"YulFunctionCall","src":"94512:16:22"},"nativeSrc":"94512:16:22","nodeType":"YulExpressionStatement","src":"94512:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94548:4:22","nodeType":"YulLiteral","src":"94548:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"94554:2:22","nodeType":"YulIdentifier","src":"94554:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94541:6:22","nodeType":"YulIdentifier","src":"94541:6:22"},"nativeSrc":"94541:16:22","nodeType":"YulFunctionCall","src":"94541:16:22"},"nativeSrc":"94541:16:22","nodeType":"YulExpressionStatement","src":"94541:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94577:4:22","nodeType":"YulLiteral","src":"94577:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"94583:2:22","nodeType":"YulIdentifier","src":"94583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94570:6:22","nodeType":"YulIdentifier","src":"94570:6:22"},"nativeSrc":"94570:16:22","nodeType":"YulFunctionCall","src":"94570:16:22"},"nativeSrc":"94570:16:22","nodeType":"YulExpressionStatement","src":"94570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94606:4:22","nodeType":"YulLiteral","src":"94606:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"94612:4:22","nodeType":"YulLiteral","src":"94612:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"94599:6:22","nodeType":"YulIdentifier","src":"94599:6:22"},"nativeSrc":"94599:18:22","nodeType":"YulFunctionCall","src":"94599:18:22"},"nativeSrc":"94599:18:22","nodeType":"YulExpressionStatement","src":"94599:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94642:4:22","nodeType":"YulLiteral","src":"94642:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"94648:2:22","nodeType":"YulIdentifier","src":"94648:2:22"}],"functionName":{"name":"writeString","nativeSrc":"94630:11:22","nodeType":"YulIdentifier","src":"94630:11:22"},"nativeSrc":"94630:21:22","nodeType":"YulFunctionCall","src":"94630:21:22"},"nativeSrc":"94630:21:22","nodeType":"YulExpressionStatement","src":"94630:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34299,"isOffset":false,"isSlot":false,"src":"94199:2:22","valueSize":1},{"declaration":34302,"isOffset":false,"isSlot":false,"src":"94229:2:22","valueSize":1},{"declaration":34305,"isOffset":false,"isSlot":false,"src":"94259:2:22","valueSize":1},{"declaration":34308,"isOffset":false,"isSlot":false,"src":"94289:2:22","valueSize":1},{"declaration":34311,"isOffset":false,"isSlot":false,"src":"94319:2:22","valueSize":1},{"declaration":34314,"isOffset":false,"isSlot":false,"src":"94349:2:22","valueSize":1},{"declaration":34317,"isOffset":false,"isSlot":false,"src":"94379:2:22","valueSize":1},{"declaration":34289,"isOffset":false,"isSlot":false,"src":"94525:2:22","valueSize":1},{"declaration":34291,"isOffset":false,"isSlot":false,"src":"94554:2:22","valueSize":1},{"declaration":34293,"isOffset":false,"isSlot":false,"src":"94583:2:22","valueSize":1},{"declaration":34295,"isOffset":false,"isSlot":false,"src":"94648:2:22","valueSize":1}],"id":34319,"nodeType":"InlineAssembly","src":"93821:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94686:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94692:4:22","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":34320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"94670:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"94670:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34324,"nodeType":"ExpressionStatement","src":"94670:27:22"},{"AST":{"nativeSrc":"94759:214:22","nodeType":"YulBlock","src":"94759:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"94780:4:22","nodeType":"YulLiteral","src":"94780:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"94786:2:22","nodeType":"YulIdentifier","src":"94786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94773:6:22","nodeType":"YulIdentifier","src":"94773:6:22"},"nativeSrc":"94773:16:22","nodeType":"YulFunctionCall","src":"94773:16:22"},"nativeSrc":"94773:16:22","nodeType":"YulExpressionStatement","src":"94773:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94809:4:22","nodeType":"YulLiteral","src":"94809:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"94815:2:22","nodeType":"YulIdentifier","src":"94815:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94802:6:22","nodeType":"YulIdentifier","src":"94802:6:22"},"nativeSrc":"94802:16:22","nodeType":"YulFunctionCall","src":"94802:16:22"},"nativeSrc":"94802:16:22","nodeType":"YulExpressionStatement","src":"94802:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94838:4:22","nodeType":"YulLiteral","src":"94838:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"94844:2:22","nodeType":"YulIdentifier","src":"94844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94831:6:22","nodeType":"YulIdentifier","src":"94831:6:22"},"nativeSrc":"94831:16:22","nodeType":"YulFunctionCall","src":"94831:16:22"},"nativeSrc":"94831:16:22","nodeType":"YulExpressionStatement","src":"94831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94867:4:22","nodeType":"YulLiteral","src":"94867:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"94873:2:22","nodeType":"YulIdentifier","src":"94873:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94860:6:22","nodeType":"YulIdentifier","src":"94860:6:22"},"nativeSrc":"94860:16:22","nodeType":"YulFunctionCall","src":"94860:16:22"},"nativeSrc":"94860:16:22","nodeType":"YulExpressionStatement","src":"94860:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94896:4:22","nodeType":"YulLiteral","src":"94896:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"94902:2:22","nodeType":"YulIdentifier","src":"94902:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94889:6:22","nodeType":"YulIdentifier","src":"94889:6:22"},"nativeSrc":"94889:16:22","nodeType":"YulFunctionCall","src":"94889:16:22"},"nativeSrc":"94889:16:22","nodeType":"YulExpressionStatement","src":"94889:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94925:4:22","nodeType":"YulLiteral","src":"94925:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"94931:2:22","nodeType":"YulIdentifier","src":"94931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94918:6:22","nodeType":"YulIdentifier","src":"94918:6:22"},"nativeSrc":"94918:16:22","nodeType":"YulFunctionCall","src":"94918:16:22"},"nativeSrc":"94918:16:22","nodeType":"YulExpressionStatement","src":"94918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94954:4:22","nodeType":"YulLiteral","src":"94954:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"94960:2:22","nodeType":"YulIdentifier","src":"94960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"94947:6:22","nodeType":"YulIdentifier","src":"94947:6:22"},"nativeSrc":"94947:16:22","nodeType":"YulFunctionCall","src":"94947:16:22"},"nativeSrc":"94947:16:22","nodeType":"YulExpressionStatement","src":"94947:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34299,"isOffset":false,"isSlot":false,"src":"94786:2:22","valueSize":1},{"declaration":34302,"isOffset":false,"isSlot":false,"src":"94815:2:22","valueSize":1},{"declaration":34305,"isOffset":false,"isSlot":false,"src":"94844:2:22","valueSize":1},{"declaration":34308,"isOffset":false,"isSlot":false,"src":"94873:2:22","valueSize":1},{"declaration":34311,"isOffset":false,"isSlot":false,"src":"94902:2:22","valueSize":1},{"declaration":34314,"isOffset":false,"isSlot":false,"src":"94931:2:22","valueSize":1},{"declaration":34317,"isOffset":false,"isSlot":false,"src":"94960:2:22","valueSize":1}],"id":34325,"nodeType":"InlineAssembly","src":"94750:223:22"}]},"id":34327,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"93562:3:22","nodeType":"FunctionDefinition","parameters":{"id":34296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34289,"mutability":"mutable","name":"p0","nameLocation":"93574:2:22","nodeType":"VariableDeclaration","scope":34327,"src":"93566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34288,"name":"address","nodeType":"ElementaryTypeName","src":"93566:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34291,"mutability":"mutable","name":"p1","nameLocation":"93586:2:22","nodeType":"VariableDeclaration","scope":34327,"src":"93578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34290,"name":"address","nodeType":"ElementaryTypeName","src":"93578:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34293,"mutability":"mutable","name":"p2","nameLocation":"93598:2:22","nodeType":"VariableDeclaration","scope":34327,"src":"93590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34292,"name":"address","nodeType":"ElementaryTypeName","src":"93590:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34295,"mutability":"mutable","name":"p3","nameLocation":"93610:2:22","nodeType":"VariableDeclaration","scope":34327,"src":"93602:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93602:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"93565:48:22"},"returnParameters":{"id":34297,"nodeType":"ParameterList","parameters":[],"src":"93628:0:22"},"scope":44426,"src":"93553:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34360,"nodeType":"Block","src":"95057:800:22","statements":[{"assignments":[34339],"declarations":[{"constant":false,"id":34339,"mutability":"mutable","name":"m0","nameLocation":"95075:2:22","nodeType":"VariableDeclaration","scope":34360,"src":"95067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34340,"nodeType":"VariableDeclarationStatement","src":"95067:10:22"},{"assignments":[34342],"declarations":[{"constant":false,"id":34342,"mutability":"mutable","name":"m1","nameLocation":"95095:2:22","nodeType":"VariableDeclaration","scope":34360,"src":"95087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34343,"nodeType":"VariableDeclarationStatement","src":"95087:10:22"},{"assignments":[34345],"declarations":[{"constant":false,"id":34345,"mutability":"mutable","name":"m2","nameLocation":"95115:2:22","nodeType":"VariableDeclaration","scope":34360,"src":"95107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34346,"nodeType":"VariableDeclarationStatement","src":"95107:10:22"},{"assignments":[34348],"declarations":[{"constant":false,"id":34348,"mutability":"mutable","name":"m3","nameLocation":"95135:2:22","nodeType":"VariableDeclaration","scope":34360,"src":"95127:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95127:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34349,"nodeType":"VariableDeclarationStatement","src":"95127:10:22"},{"assignments":[34351],"declarations":[{"constant":false,"id":34351,"mutability":"mutable","name":"m4","nameLocation":"95155:2:22","nodeType":"VariableDeclaration","scope":34360,"src":"95147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34352,"nodeType":"VariableDeclarationStatement","src":"95147:10:22"},{"AST":{"nativeSrc":"95219:378:22","nodeType":"YulBlock","src":"95219:378:22","statements":[{"nativeSrc":"95233:17:22","nodeType":"YulAssignment","src":"95233:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"95245:4:22","nodeType":"YulLiteral","src":"95245:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"95239:5:22","nodeType":"YulIdentifier","src":"95239:5:22"},"nativeSrc":"95239:11:22","nodeType":"YulFunctionCall","src":"95239:11:22"},"variableNames":[{"name":"m0","nativeSrc":"95233:2:22","nodeType":"YulIdentifier","src":"95233:2:22"}]},{"nativeSrc":"95263:17:22","nodeType":"YulAssignment","src":"95263:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"95275:4:22","nodeType":"YulLiteral","src":"95275:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"95269:5:22","nodeType":"YulIdentifier","src":"95269:5:22"},"nativeSrc":"95269:11:22","nodeType":"YulFunctionCall","src":"95269:11:22"},"variableNames":[{"name":"m1","nativeSrc":"95263:2:22","nodeType":"YulIdentifier","src":"95263:2:22"}]},{"nativeSrc":"95293:17:22","nodeType":"YulAssignment","src":"95293:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"95305:4:22","nodeType":"YulLiteral","src":"95305:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"95299:5:22","nodeType":"YulIdentifier","src":"95299:5:22"},"nativeSrc":"95299:11:22","nodeType":"YulFunctionCall","src":"95299:11:22"},"variableNames":[{"name":"m2","nativeSrc":"95293:2:22","nodeType":"YulIdentifier","src":"95293:2:22"}]},{"nativeSrc":"95323:17:22","nodeType":"YulAssignment","src":"95323:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"95335:4:22","nodeType":"YulLiteral","src":"95335:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"95329:5:22","nodeType":"YulIdentifier","src":"95329:5:22"},"nativeSrc":"95329:11:22","nodeType":"YulFunctionCall","src":"95329:11:22"},"variableNames":[{"name":"m3","nativeSrc":"95323:2:22","nodeType":"YulIdentifier","src":"95323:2:22"}]},{"nativeSrc":"95353:17:22","nodeType":"YulAssignment","src":"95353:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"95365:4:22","nodeType":"YulLiteral","src":"95365:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"95359:5:22","nodeType":"YulIdentifier","src":"95359:5:22"},"nativeSrc":"95359:11:22","nodeType":"YulFunctionCall","src":"95359:11:22"},"variableNames":[{"name":"m4","nativeSrc":"95353:2:22","nodeType":"YulIdentifier","src":"95353:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95454:4:22","nodeType":"YulLiteral","src":"95454:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"95460:10:22","nodeType":"YulLiteral","src":"95460:10:22","type":"","value":"0x9f1bc36e"}],"functionName":{"name":"mstore","nativeSrc":"95447:6:22","nodeType":"YulIdentifier","src":"95447:6:22"},"nativeSrc":"95447:24:22","nodeType":"YulFunctionCall","src":"95447:24:22"},"nativeSrc":"95447:24:22","nodeType":"YulExpressionStatement","src":"95447:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95491:4:22","nodeType":"YulLiteral","src":"95491:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"95497:2:22","nodeType":"YulIdentifier","src":"95497:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95484:6:22","nodeType":"YulIdentifier","src":"95484:6:22"},"nativeSrc":"95484:16:22","nodeType":"YulFunctionCall","src":"95484:16:22"},"nativeSrc":"95484:16:22","nodeType":"YulExpressionStatement","src":"95484:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95520:4:22","nodeType":"YulLiteral","src":"95520:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"95526:2:22","nodeType":"YulIdentifier","src":"95526:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95513:6:22","nodeType":"YulIdentifier","src":"95513:6:22"},"nativeSrc":"95513:16:22","nodeType":"YulFunctionCall","src":"95513:16:22"},"nativeSrc":"95513:16:22","nodeType":"YulExpressionStatement","src":"95513:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95549:4:22","nodeType":"YulLiteral","src":"95549:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"95555:2:22","nodeType":"YulIdentifier","src":"95555:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95542:6:22","nodeType":"YulIdentifier","src":"95542:6:22"},"nativeSrc":"95542:16:22","nodeType":"YulFunctionCall","src":"95542:16:22"},"nativeSrc":"95542:16:22","nodeType":"YulExpressionStatement","src":"95542:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95578:4:22","nodeType":"YulLiteral","src":"95578:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"95584:2:22","nodeType":"YulIdentifier","src":"95584:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95571:6:22","nodeType":"YulIdentifier","src":"95571:6:22"},"nativeSrc":"95571:16:22","nodeType":"YulFunctionCall","src":"95571:16:22"},"nativeSrc":"95571:16:22","nodeType":"YulExpressionStatement","src":"95571:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34339,"isOffset":false,"isSlot":false,"src":"95233:2:22","valueSize":1},{"declaration":34342,"isOffset":false,"isSlot":false,"src":"95263:2:22","valueSize":1},{"declaration":34345,"isOffset":false,"isSlot":false,"src":"95293:2:22","valueSize":1},{"declaration":34348,"isOffset":false,"isSlot":false,"src":"95323:2:22","valueSize":1},{"declaration":34351,"isOffset":false,"isSlot":false,"src":"95353:2:22","valueSize":1},{"declaration":34329,"isOffset":false,"isSlot":false,"src":"95497:2:22","valueSize":1},{"declaration":34331,"isOffset":false,"isSlot":false,"src":"95526:2:22","valueSize":1},{"declaration":34333,"isOffset":false,"isSlot":false,"src":"95555:2:22","valueSize":1},{"declaration":34335,"isOffset":false,"isSlot":false,"src":"95584:2:22","valueSize":1}],"id":34353,"nodeType":"InlineAssembly","src":"95210:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95622:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95628:4:22","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":34354,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"95606:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"95606:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34358,"nodeType":"ExpressionStatement","src":"95606:27:22"},{"AST":{"nativeSrc":"95695:156:22","nodeType":"YulBlock","src":"95695:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"95716:4:22","nodeType":"YulLiteral","src":"95716:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"95722:2:22","nodeType":"YulIdentifier","src":"95722:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95709:6:22","nodeType":"YulIdentifier","src":"95709:6:22"},"nativeSrc":"95709:16:22","nodeType":"YulFunctionCall","src":"95709:16:22"},"nativeSrc":"95709:16:22","nodeType":"YulExpressionStatement","src":"95709:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95745:4:22","nodeType":"YulLiteral","src":"95745:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"95751:2:22","nodeType":"YulIdentifier","src":"95751:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95738:6:22","nodeType":"YulIdentifier","src":"95738:6:22"},"nativeSrc":"95738:16:22","nodeType":"YulFunctionCall","src":"95738:16:22"},"nativeSrc":"95738:16:22","nodeType":"YulExpressionStatement","src":"95738:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95774:4:22","nodeType":"YulLiteral","src":"95774:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"95780:2:22","nodeType":"YulIdentifier","src":"95780:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95767:6:22","nodeType":"YulIdentifier","src":"95767:6:22"},"nativeSrc":"95767:16:22","nodeType":"YulFunctionCall","src":"95767:16:22"},"nativeSrc":"95767:16:22","nodeType":"YulExpressionStatement","src":"95767:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95803:4:22","nodeType":"YulLiteral","src":"95803:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"95809:2:22","nodeType":"YulIdentifier","src":"95809:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95796:6:22","nodeType":"YulIdentifier","src":"95796:6:22"},"nativeSrc":"95796:16:22","nodeType":"YulFunctionCall","src":"95796:16:22"},"nativeSrc":"95796:16:22","nodeType":"YulExpressionStatement","src":"95796:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95832:4:22","nodeType":"YulLiteral","src":"95832:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"95838:2:22","nodeType":"YulIdentifier","src":"95838:2:22"}],"functionName":{"name":"mstore","nativeSrc":"95825:6:22","nodeType":"YulIdentifier","src":"95825:6:22"},"nativeSrc":"95825:16:22","nodeType":"YulFunctionCall","src":"95825:16:22"},"nativeSrc":"95825:16:22","nodeType":"YulExpressionStatement","src":"95825:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34339,"isOffset":false,"isSlot":false,"src":"95722:2:22","valueSize":1},{"declaration":34342,"isOffset":false,"isSlot":false,"src":"95751:2:22","valueSize":1},{"declaration":34345,"isOffset":false,"isSlot":false,"src":"95780:2:22","valueSize":1},{"declaration":34348,"isOffset":false,"isSlot":false,"src":"95809:2:22","valueSize":1},{"declaration":34351,"isOffset":false,"isSlot":false,"src":"95838:2:22","valueSize":1}],"id":34359,"nodeType":"InlineAssembly","src":"95686:165:22"}]},"id":34361,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"94994:3:22","nodeType":"FunctionDefinition","parameters":{"id":34336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34329,"mutability":"mutable","name":"p0","nameLocation":"95006:2:22","nodeType":"VariableDeclaration","scope":34361,"src":"94998:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34328,"name":"address","nodeType":"ElementaryTypeName","src":"94998:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34331,"mutability":"mutable","name":"p1","nameLocation":"95018:2:22","nodeType":"VariableDeclaration","scope":34361,"src":"95010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34330,"name":"address","nodeType":"ElementaryTypeName","src":"95010:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34333,"mutability":"mutable","name":"p2","nameLocation":"95027:2:22","nodeType":"VariableDeclaration","scope":34361,"src":"95022:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34332,"name":"bool","nodeType":"ElementaryTypeName","src":"95022:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34335,"mutability":"mutable","name":"p3","nameLocation":"95039:2:22","nodeType":"VariableDeclaration","scope":34361,"src":"95031:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34334,"name":"address","nodeType":"ElementaryTypeName","src":"95031:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94997:45:22"},"returnParameters":{"id":34337,"nodeType":"ParameterList","parameters":[],"src":"95057:0:22"},"scope":44426,"src":"94985:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34394,"nodeType":"Block","src":"95932:797:22","statements":[{"assignments":[34373],"declarations":[{"constant":false,"id":34373,"mutability":"mutable","name":"m0","nameLocation":"95950:2:22","nodeType":"VariableDeclaration","scope":34394,"src":"95942:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95942:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34374,"nodeType":"VariableDeclarationStatement","src":"95942:10:22"},{"assignments":[34376],"declarations":[{"constant":false,"id":34376,"mutability":"mutable","name":"m1","nameLocation":"95970:2:22","nodeType":"VariableDeclaration","scope":34394,"src":"95962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34377,"nodeType":"VariableDeclarationStatement","src":"95962:10:22"},{"assignments":[34379],"declarations":[{"constant":false,"id":34379,"mutability":"mutable","name":"m2","nameLocation":"95990:2:22","nodeType":"VariableDeclaration","scope":34394,"src":"95982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34380,"nodeType":"VariableDeclarationStatement","src":"95982:10:22"},{"assignments":[34382],"declarations":[{"constant":false,"id":34382,"mutability":"mutable","name":"m3","nameLocation":"96010:2:22","nodeType":"VariableDeclaration","scope":34394,"src":"96002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34383,"nodeType":"VariableDeclarationStatement","src":"96002:10:22"},{"assignments":[34385],"declarations":[{"constant":false,"id":34385,"mutability":"mutable","name":"m4","nameLocation":"96030:2:22","nodeType":"VariableDeclaration","scope":34394,"src":"96022:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96022:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34386,"nodeType":"VariableDeclarationStatement","src":"96022:10:22"},{"AST":{"nativeSrc":"96094:375:22","nodeType":"YulBlock","src":"96094:375:22","statements":[{"nativeSrc":"96108:17:22","nodeType":"YulAssignment","src":"96108:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96120:4:22","nodeType":"YulLiteral","src":"96120:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96114:5:22","nodeType":"YulIdentifier","src":"96114:5:22"},"nativeSrc":"96114:11:22","nodeType":"YulFunctionCall","src":"96114:11:22"},"variableNames":[{"name":"m0","nativeSrc":"96108:2:22","nodeType":"YulIdentifier","src":"96108:2:22"}]},{"nativeSrc":"96138:17:22","nodeType":"YulAssignment","src":"96138:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96150:4:22","nodeType":"YulLiteral","src":"96150:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"96144:5:22","nodeType":"YulIdentifier","src":"96144:5:22"},"nativeSrc":"96144:11:22","nodeType":"YulFunctionCall","src":"96144:11:22"},"variableNames":[{"name":"m1","nativeSrc":"96138:2:22","nodeType":"YulIdentifier","src":"96138:2:22"}]},{"nativeSrc":"96168:17:22","nodeType":"YulAssignment","src":"96168:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96180:4:22","nodeType":"YulLiteral","src":"96180:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"96174:5:22","nodeType":"YulIdentifier","src":"96174:5:22"},"nativeSrc":"96174:11:22","nodeType":"YulFunctionCall","src":"96174:11:22"},"variableNames":[{"name":"m2","nativeSrc":"96168:2:22","nodeType":"YulIdentifier","src":"96168:2:22"}]},{"nativeSrc":"96198:17:22","nodeType":"YulAssignment","src":"96198:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96210:4:22","nodeType":"YulLiteral","src":"96210:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"96204:5:22","nodeType":"YulIdentifier","src":"96204:5:22"},"nativeSrc":"96204:11:22","nodeType":"YulFunctionCall","src":"96204:11:22"},"variableNames":[{"name":"m3","nativeSrc":"96198:2:22","nodeType":"YulIdentifier","src":"96198:2:22"}]},{"nativeSrc":"96228:17:22","nodeType":"YulAssignment","src":"96228:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96240:4:22","nodeType":"YulLiteral","src":"96240:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"96234:5:22","nodeType":"YulIdentifier","src":"96234:5:22"},"nativeSrc":"96234:11:22","nodeType":"YulFunctionCall","src":"96234:11:22"},"variableNames":[{"name":"m4","nativeSrc":"96228:2:22","nodeType":"YulIdentifier","src":"96228:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96326:4:22","nodeType":"YulLiteral","src":"96326:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"96332:10:22","nodeType":"YulLiteral","src":"96332:10:22","type":"","value":"0x2cd4134a"}],"functionName":{"name":"mstore","nativeSrc":"96319:6:22","nodeType":"YulIdentifier","src":"96319:6:22"},"nativeSrc":"96319:24:22","nodeType":"YulFunctionCall","src":"96319:24:22"},"nativeSrc":"96319:24:22","nodeType":"YulExpressionStatement","src":"96319:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96363:4:22","nodeType":"YulLiteral","src":"96363:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"96369:2:22","nodeType":"YulIdentifier","src":"96369:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96356:6:22","nodeType":"YulIdentifier","src":"96356:6:22"},"nativeSrc":"96356:16:22","nodeType":"YulFunctionCall","src":"96356:16:22"},"nativeSrc":"96356:16:22","nodeType":"YulExpressionStatement","src":"96356:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96392:4:22","nodeType":"YulLiteral","src":"96392:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"96398:2:22","nodeType":"YulIdentifier","src":"96398:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96385:6:22","nodeType":"YulIdentifier","src":"96385:6:22"},"nativeSrc":"96385:16:22","nodeType":"YulFunctionCall","src":"96385:16:22"},"nativeSrc":"96385:16:22","nodeType":"YulExpressionStatement","src":"96385:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96421:4:22","nodeType":"YulLiteral","src":"96421:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"96427:2:22","nodeType":"YulIdentifier","src":"96427:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96414:6:22","nodeType":"YulIdentifier","src":"96414:6:22"},"nativeSrc":"96414:16:22","nodeType":"YulFunctionCall","src":"96414:16:22"},"nativeSrc":"96414:16:22","nodeType":"YulExpressionStatement","src":"96414:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96450:4:22","nodeType":"YulLiteral","src":"96450:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"96456:2:22","nodeType":"YulIdentifier","src":"96456:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96443:6:22","nodeType":"YulIdentifier","src":"96443:6:22"},"nativeSrc":"96443:16:22","nodeType":"YulFunctionCall","src":"96443:16:22"},"nativeSrc":"96443:16:22","nodeType":"YulExpressionStatement","src":"96443:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34373,"isOffset":false,"isSlot":false,"src":"96108:2:22","valueSize":1},{"declaration":34376,"isOffset":false,"isSlot":false,"src":"96138:2:22","valueSize":1},{"declaration":34379,"isOffset":false,"isSlot":false,"src":"96168:2:22","valueSize":1},{"declaration":34382,"isOffset":false,"isSlot":false,"src":"96198:2:22","valueSize":1},{"declaration":34385,"isOffset":false,"isSlot":false,"src":"96228:2:22","valueSize":1},{"declaration":34363,"isOffset":false,"isSlot":false,"src":"96369:2:22","valueSize":1},{"declaration":34365,"isOffset":false,"isSlot":false,"src":"96398:2:22","valueSize":1},{"declaration":34367,"isOffset":false,"isSlot":false,"src":"96427:2:22","valueSize":1},{"declaration":34369,"isOffset":false,"isSlot":false,"src":"96456:2:22","valueSize":1}],"id":34387,"nodeType":"InlineAssembly","src":"96085:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96494:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96500:4:22","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":34388,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"96478:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"96478:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34392,"nodeType":"ExpressionStatement","src":"96478:27:22"},{"AST":{"nativeSrc":"96567:156:22","nodeType":"YulBlock","src":"96567:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"96588:4:22","nodeType":"YulLiteral","src":"96588:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"96594:2:22","nodeType":"YulIdentifier","src":"96594:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96581:6:22","nodeType":"YulIdentifier","src":"96581:6:22"},"nativeSrc":"96581:16:22","nodeType":"YulFunctionCall","src":"96581:16:22"},"nativeSrc":"96581:16:22","nodeType":"YulExpressionStatement","src":"96581:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96617:4:22","nodeType":"YulLiteral","src":"96617:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"96623:2:22","nodeType":"YulIdentifier","src":"96623:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96610:6:22","nodeType":"YulIdentifier","src":"96610:6:22"},"nativeSrc":"96610:16:22","nodeType":"YulFunctionCall","src":"96610:16:22"},"nativeSrc":"96610:16:22","nodeType":"YulExpressionStatement","src":"96610:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96646:4:22","nodeType":"YulLiteral","src":"96646:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"96652:2:22","nodeType":"YulIdentifier","src":"96652:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96639:6:22","nodeType":"YulIdentifier","src":"96639:6:22"},"nativeSrc":"96639:16:22","nodeType":"YulFunctionCall","src":"96639:16:22"},"nativeSrc":"96639:16:22","nodeType":"YulExpressionStatement","src":"96639:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96675:4:22","nodeType":"YulLiteral","src":"96675:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"96681:2:22","nodeType":"YulIdentifier","src":"96681:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96668:6:22","nodeType":"YulIdentifier","src":"96668:6:22"},"nativeSrc":"96668:16:22","nodeType":"YulFunctionCall","src":"96668:16:22"},"nativeSrc":"96668:16:22","nodeType":"YulExpressionStatement","src":"96668:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96704:4:22","nodeType":"YulLiteral","src":"96704:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"96710:2:22","nodeType":"YulIdentifier","src":"96710:2:22"}],"functionName":{"name":"mstore","nativeSrc":"96697:6:22","nodeType":"YulIdentifier","src":"96697:6:22"},"nativeSrc":"96697:16:22","nodeType":"YulFunctionCall","src":"96697:16:22"},"nativeSrc":"96697:16:22","nodeType":"YulExpressionStatement","src":"96697:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34373,"isOffset":false,"isSlot":false,"src":"96594:2:22","valueSize":1},{"declaration":34376,"isOffset":false,"isSlot":false,"src":"96623:2:22","valueSize":1},{"declaration":34379,"isOffset":false,"isSlot":false,"src":"96652:2:22","valueSize":1},{"declaration":34382,"isOffset":false,"isSlot":false,"src":"96681:2:22","valueSize":1},{"declaration":34385,"isOffset":false,"isSlot":false,"src":"96710:2:22","valueSize":1}],"id":34393,"nodeType":"InlineAssembly","src":"96558:165:22"}]},"id":34395,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"95872:3:22","nodeType":"FunctionDefinition","parameters":{"id":34370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34363,"mutability":"mutable","name":"p0","nameLocation":"95884:2:22","nodeType":"VariableDeclaration","scope":34395,"src":"95876:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34362,"name":"address","nodeType":"ElementaryTypeName","src":"95876:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34365,"mutability":"mutable","name":"p1","nameLocation":"95896:2:22","nodeType":"VariableDeclaration","scope":34395,"src":"95888:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34364,"name":"address","nodeType":"ElementaryTypeName","src":"95888:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34367,"mutability":"mutable","name":"p2","nameLocation":"95905:2:22","nodeType":"VariableDeclaration","scope":34395,"src":"95900:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34366,"name":"bool","nodeType":"ElementaryTypeName","src":"95900:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34369,"mutability":"mutable","name":"p3","nameLocation":"95914:2:22","nodeType":"VariableDeclaration","scope":34395,"src":"95909:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34368,"name":"bool","nodeType":"ElementaryTypeName","src":"95909:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"95875:42:22"},"returnParameters":{"id":34371,"nodeType":"ParameterList","parameters":[],"src":"95932:0:22"},"scope":44426,"src":"95863:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34428,"nodeType":"Block","src":"96807:800:22","statements":[{"assignments":[34407],"declarations":[{"constant":false,"id":34407,"mutability":"mutable","name":"m0","nameLocation":"96825:2:22","nodeType":"VariableDeclaration","scope":34428,"src":"96817:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96817:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34408,"nodeType":"VariableDeclarationStatement","src":"96817:10:22"},{"assignments":[34410],"declarations":[{"constant":false,"id":34410,"mutability":"mutable","name":"m1","nameLocation":"96845:2:22","nodeType":"VariableDeclaration","scope":34428,"src":"96837:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96837:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34411,"nodeType":"VariableDeclarationStatement","src":"96837:10:22"},{"assignments":[34413],"declarations":[{"constant":false,"id":34413,"mutability":"mutable","name":"m2","nameLocation":"96865:2:22","nodeType":"VariableDeclaration","scope":34428,"src":"96857:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96857:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34414,"nodeType":"VariableDeclarationStatement","src":"96857:10:22"},{"assignments":[34416],"declarations":[{"constant":false,"id":34416,"mutability":"mutable","name":"m3","nameLocation":"96885:2:22","nodeType":"VariableDeclaration","scope":34428,"src":"96877:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96877:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34417,"nodeType":"VariableDeclarationStatement","src":"96877:10:22"},{"assignments":[34419],"declarations":[{"constant":false,"id":34419,"mutability":"mutable","name":"m4","nameLocation":"96905:2:22","nodeType":"VariableDeclaration","scope":34428,"src":"96897:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96897:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34420,"nodeType":"VariableDeclarationStatement","src":"96897:10:22"},{"AST":{"nativeSrc":"96969:378:22","nodeType":"YulBlock","src":"96969:378:22","statements":[{"nativeSrc":"96983:17:22","nodeType":"YulAssignment","src":"96983:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"96995:4:22","nodeType":"YulLiteral","src":"96995:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96989:5:22","nodeType":"YulIdentifier","src":"96989:5:22"},"nativeSrc":"96989:11:22","nodeType":"YulFunctionCall","src":"96989:11:22"},"variableNames":[{"name":"m0","nativeSrc":"96983:2:22","nodeType":"YulIdentifier","src":"96983:2:22"}]},{"nativeSrc":"97013:17:22","nodeType":"YulAssignment","src":"97013:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"97025:4:22","nodeType":"YulLiteral","src":"97025:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"97019:5:22","nodeType":"YulIdentifier","src":"97019:5:22"},"nativeSrc":"97019:11:22","nodeType":"YulFunctionCall","src":"97019:11:22"},"variableNames":[{"name":"m1","nativeSrc":"97013:2:22","nodeType":"YulIdentifier","src":"97013:2:22"}]},{"nativeSrc":"97043:17:22","nodeType":"YulAssignment","src":"97043:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"97055:4:22","nodeType":"YulLiteral","src":"97055:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"97049:5:22","nodeType":"YulIdentifier","src":"97049:5:22"},"nativeSrc":"97049:11:22","nodeType":"YulFunctionCall","src":"97049:11:22"},"variableNames":[{"name":"m2","nativeSrc":"97043:2:22","nodeType":"YulIdentifier","src":"97043:2:22"}]},{"nativeSrc":"97073:17:22","nodeType":"YulAssignment","src":"97073:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"97085:4:22","nodeType":"YulLiteral","src":"97085:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"97079:5:22","nodeType":"YulIdentifier","src":"97079:5:22"},"nativeSrc":"97079:11:22","nodeType":"YulFunctionCall","src":"97079:11:22"},"variableNames":[{"name":"m3","nativeSrc":"97073:2:22","nodeType":"YulIdentifier","src":"97073:2:22"}]},{"nativeSrc":"97103:17:22","nodeType":"YulAssignment","src":"97103:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"97115:4:22","nodeType":"YulLiteral","src":"97115:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"97109:5:22","nodeType":"YulIdentifier","src":"97109:5:22"},"nativeSrc":"97109:11:22","nodeType":"YulFunctionCall","src":"97109:11:22"},"variableNames":[{"name":"m4","nativeSrc":"97103:2:22","nodeType":"YulIdentifier","src":"97103:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97204:4:22","nodeType":"YulLiteral","src":"97204:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"97210:10:22","nodeType":"YulLiteral","src":"97210:10:22","type":"","value":"0x3971e78c"}],"functionName":{"name":"mstore","nativeSrc":"97197:6:22","nodeType":"YulIdentifier","src":"97197:6:22"},"nativeSrc":"97197:24:22","nodeType":"YulFunctionCall","src":"97197:24:22"},"nativeSrc":"97197:24:22","nodeType":"YulExpressionStatement","src":"97197:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97241:4:22","nodeType":"YulLiteral","src":"97241:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"97247:2:22","nodeType":"YulIdentifier","src":"97247:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97234:6:22","nodeType":"YulIdentifier","src":"97234:6:22"},"nativeSrc":"97234:16:22","nodeType":"YulFunctionCall","src":"97234:16:22"},"nativeSrc":"97234:16:22","nodeType":"YulExpressionStatement","src":"97234:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97270:4:22","nodeType":"YulLiteral","src":"97270:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"97276:2:22","nodeType":"YulIdentifier","src":"97276:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97263:6:22","nodeType":"YulIdentifier","src":"97263:6:22"},"nativeSrc":"97263:16:22","nodeType":"YulFunctionCall","src":"97263:16:22"},"nativeSrc":"97263:16:22","nodeType":"YulExpressionStatement","src":"97263:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97299:4:22","nodeType":"YulLiteral","src":"97299:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"97305:2:22","nodeType":"YulIdentifier","src":"97305:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97292:6:22","nodeType":"YulIdentifier","src":"97292:6:22"},"nativeSrc":"97292:16:22","nodeType":"YulFunctionCall","src":"97292:16:22"},"nativeSrc":"97292:16:22","nodeType":"YulExpressionStatement","src":"97292:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97328:4:22","nodeType":"YulLiteral","src":"97328:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"97334:2:22","nodeType":"YulIdentifier","src":"97334:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97321:6:22","nodeType":"YulIdentifier","src":"97321:6:22"},"nativeSrc":"97321:16:22","nodeType":"YulFunctionCall","src":"97321:16:22"},"nativeSrc":"97321:16:22","nodeType":"YulExpressionStatement","src":"97321:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34407,"isOffset":false,"isSlot":false,"src":"96983:2:22","valueSize":1},{"declaration":34410,"isOffset":false,"isSlot":false,"src":"97013:2:22","valueSize":1},{"declaration":34413,"isOffset":false,"isSlot":false,"src":"97043:2:22","valueSize":1},{"declaration":34416,"isOffset":false,"isSlot":false,"src":"97073:2:22","valueSize":1},{"declaration":34419,"isOffset":false,"isSlot":false,"src":"97103:2:22","valueSize":1},{"declaration":34397,"isOffset":false,"isSlot":false,"src":"97247:2:22","valueSize":1},{"declaration":34399,"isOffset":false,"isSlot":false,"src":"97276:2:22","valueSize":1},{"declaration":34401,"isOffset":false,"isSlot":false,"src":"97305:2:22","valueSize":1},{"declaration":34403,"isOffset":false,"isSlot":false,"src":"97334:2:22","valueSize":1}],"id":34421,"nodeType":"InlineAssembly","src":"96960:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97372:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97378:4:22","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":34422,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"97356:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"97356:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34426,"nodeType":"ExpressionStatement","src":"97356:27:22"},{"AST":{"nativeSrc":"97445:156:22","nodeType":"YulBlock","src":"97445:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"97466:4:22","nodeType":"YulLiteral","src":"97466:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"97472:2:22","nodeType":"YulIdentifier","src":"97472:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97459:6:22","nodeType":"YulIdentifier","src":"97459:6:22"},"nativeSrc":"97459:16:22","nodeType":"YulFunctionCall","src":"97459:16:22"},"nativeSrc":"97459:16:22","nodeType":"YulExpressionStatement","src":"97459:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97495:4:22","nodeType":"YulLiteral","src":"97495:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"97501:2:22","nodeType":"YulIdentifier","src":"97501:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97488:6:22","nodeType":"YulIdentifier","src":"97488:6:22"},"nativeSrc":"97488:16:22","nodeType":"YulFunctionCall","src":"97488:16:22"},"nativeSrc":"97488:16:22","nodeType":"YulExpressionStatement","src":"97488:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97524:4:22","nodeType":"YulLiteral","src":"97524:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"97530:2:22","nodeType":"YulIdentifier","src":"97530:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97517:6:22","nodeType":"YulIdentifier","src":"97517:6:22"},"nativeSrc":"97517:16:22","nodeType":"YulFunctionCall","src":"97517:16:22"},"nativeSrc":"97517:16:22","nodeType":"YulExpressionStatement","src":"97517:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97553:4:22","nodeType":"YulLiteral","src":"97553:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"97559:2:22","nodeType":"YulIdentifier","src":"97559:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97546:6:22","nodeType":"YulIdentifier","src":"97546:6:22"},"nativeSrc":"97546:16:22","nodeType":"YulFunctionCall","src":"97546:16:22"},"nativeSrc":"97546:16:22","nodeType":"YulExpressionStatement","src":"97546:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97582:4:22","nodeType":"YulLiteral","src":"97582:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"97588:2:22","nodeType":"YulIdentifier","src":"97588:2:22"}],"functionName":{"name":"mstore","nativeSrc":"97575:6:22","nodeType":"YulIdentifier","src":"97575:6:22"},"nativeSrc":"97575:16:22","nodeType":"YulFunctionCall","src":"97575:16:22"},"nativeSrc":"97575:16:22","nodeType":"YulExpressionStatement","src":"97575:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34407,"isOffset":false,"isSlot":false,"src":"97472:2:22","valueSize":1},{"declaration":34410,"isOffset":false,"isSlot":false,"src":"97501:2:22","valueSize":1},{"declaration":34413,"isOffset":false,"isSlot":false,"src":"97530:2:22","valueSize":1},{"declaration":34416,"isOffset":false,"isSlot":false,"src":"97559:2:22","valueSize":1},{"declaration":34419,"isOffset":false,"isSlot":false,"src":"97588:2:22","valueSize":1}],"id":34427,"nodeType":"InlineAssembly","src":"97436:165:22"}]},"id":34429,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"96744:3:22","nodeType":"FunctionDefinition","parameters":{"id":34404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34397,"mutability":"mutable","name":"p0","nameLocation":"96756:2:22","nodeType":"VariableDeclaration","scope":34429,"src":"96748:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34396,"name":"address","nodeType":"ElementaryTypeName","src":"96748:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34399,"mutability":"mutable","name":"p1","nameLocation":"96768:2:22","nodeType":"VariableDeclaration","scope":34429,"src":"96760:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34398,"name":"address","nodeType":"ElementaryTypeName","src":"96760:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34401,"mutability":"mutable","name":"p2","nameLocation":"96777:2:22","nodeType":"VariableDeclaration","scope":34429,"src":"96772:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34400,"name":"bool","nodeType":"ElementaryTypeName","src":"96772:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34403,"mutability":"mutable","name":"p3","nameLocation":"96789:2:22","nodeType":"VariableDeclaration","scope":34429,"src":"96781:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34402,"name":"uint256","nodeType":"ElementaryTypeName","src":"96781:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96747:45:22"},"returnParameters":{"id":34405,"nodeType":"ParameterList","parameters":[],"src":"96807:0:22"},"scope":44426,"src":"96735:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34468,"nodeType":"Block","src":"97685:1348:22","statements":[{"assignments":[34441],"declarations":[{"constant":false,"id":34441,"mutability":"mutable","name":"m0","nameLocation":"97703:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97695:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34442,"nodeType":"VariableDeclarationStatement","src":"97695:10:22"},{"assignments":[34444],"declarations":[{"constant":false,"id":34444,"mutability":"mutable","name":"m1","nameLocation":"97723:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34445,"nodeType":"VariableDeclarationStatement","src":"97715:10:22"},{"assignments":[34447],"declarations":[{"constant":false,"id":34447,"mutability":"mutable","name":"m2","nameLocation":"97743:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97735:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34448,"nodeType":"VariableDeclarationStatement","src":"97735:10:22"},{"assignments":[34450],"declarations":[{"constant":false,"id":34450,"mutability":"mutable","name":"m3","nameLocation":"97763:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34451,"nodeType":"VariableDeclarationStatement","src":"97755:10:22"},{"assignments":[34453],"declarations":[{"constant":false,"id":34453,"mutability":"mutable","name":"m4","nameLocation":"97783:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97775:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34454,"nodeType":"VariableDeclarationStatement","src":"97775:10:22"},{"assignments":[34456],"declarations":[{"constant":false,"id":34456,"mutability":"mutable","name":"m5","nameLocation":"97803:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97795:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34457,"nodeType":"VariableDeclarationStatement","src":"97795:10:22"},{"assignments":[34459],"declarations":[{"constant":false,"id":34459,"mutability":"mutable","name":"m6","nameLocation":"97823:2:22","nodeType":"VariableDeclaration","scope":34468,"src":"97815:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97815:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34460,"nodeType":"VariableDeclarationStatement","src":"97815:10:22"},{"AST":{"nativeSrc":"97887:828:22","nodeType":"YulBlock","src":"97887:828:22","statements":[{"body":{"nativeSrc":"97930:313:22","nodeType":"YulBlock","src":"97930:313:22","statements":[{"nativeSrc":"97948:15:22","nodeType":"YulVariableDeclaration","src":"97948:15:22","value":{"kind":"number","nativeSrc":"97962:1:22","nodeType":"YulLiteral","src":"97962:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"97952:6:22","nodeType":"YulTypedName","src":"97952:6:22","type":""}]},{"body":{"nativeSrc":"98033:40:22","nodeType":"YulBlock","src":"98033:40:22","statements":[{"body":{"nativeSrc":"98062:9:22","nodeType":"YulBlock","src":"98062:9:22","statements":[{"nativeSrc":"98064:5:22","nodeType":"YulBreak","src":"98064:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"98050:6:22","nodeType":"YulIdentifier","src":"98050:6:22"},{"name":"w","nativeSrc":"98058:1:22","nodeType":"YulIdentifier","src":"98058:1:22"}],"functionName":{"name":"byte","nativeSrc":"98045:4:22","nodeType":"YulIdentifier","src":"98045:4:22"},"nativeSrc":"98045:15:22","nodeType":"YulFunctionCall","src":"98045:15:22"}],"functionName":{"name":"iszero","nativeSrc":"98038:6:22","nodeType":"YulIdentifier","src":"98038:6:22"},"nativeSrc":"98038:23:22","nodeType":"YulFunctionCall","src":"98038:23:22"},"nativeSrc":"98035:36:22","nodeType":"YulIf","src":"98035:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"97990:6:22","nodeType":"YulIdentifier","src":"97990:6:22"},{"kind":"number","nativeSrc":"97998:4:22","nodeType":"YulLiteral","src":"97998:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"97987:2:22","nodeType":"YulIdentifier","src":"97987:2:22"},"nativeSrc":"97987:16:22","nodeType":"YulFunctionCall","src":"97987:16:22"},"nativeSrc":"97980:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"98004:28:22","nodeType":"YulBlock","src":"98004:28:22","statements":[{"nativeSrc":"98006:24:22","nodeType":"YulAssignment","src":"98006:24:22","value":{"arguments":[{"name":"length","nativeSrc":"98020:6:22","nodeType":"YulIdentifier","src":"98020:6:22"},{"kind":"number","nativeSrc":"98028:1:22","nodeType":"YulLiteral","src":"98028:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"98016:3:22","nodeType":"YulIdentifier","src":"98016:3:22"},"nativeSrc":"98016:14:22","nodeType":"YulFunctionCall","src":"98016:14:22"},"variableNames":[{"name":"length","nativeSrc":"98006:6:22","nodeType":"YulIdentifier","src":"98006:6:22"}]}]},"pre":{"nativeSrc":"97984:2:22","nodeType":"YulBlock","src":"97984:2:22","statements":[]},"src":"97980:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"98097:3:22","nodeType":"YulIdentifier","src":"98097:3:22"},{"name":"length","nativeSrc":"98102:6:22","nodeType":"YulIdentifier","src":"98102:6:22"}],"functionName":{"name":"mstore","nativeSrc":"98090:6:22","nodeType":"YulIdentifier","src":"98090:6:22"},"nativeSrc":"98090:19:22","nodeType":"YulFunctionCall","src":"98090:19:22"},"nativeSrc":"98090:19:22","nodeType":"YulExpressionStatement","src":"98090:19:22"},{"nativeSrc":"98126:37:22","nodeType":"YulVariableDeclaration","src":"98126:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"98143:3:22","nodeType":"YulLiteral","src":"98143:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"98152:1:22","nodeType":"YulLiteral","src":"98152:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"98155:6:22","nodeType":"YulIdentifier","src":"98155:6:22"}],"functionName":{"name":"shl","nativeSrc":"98148:3:22","nodeType":"YulIdentifier","src":"98148:3:22"},"nativeSrc":"98148:14:22","nodeType":"YulFunctionCall","src":"98148:14:22"}],"functionName":{"name":"sub","nativeSrc":"98139:3:22","nodeType":"YulIdentifier","src":"98139:3:22"},"nativeSrc":"98139:24:22","nodeType":"YulFunctionCall","src":"98139:24:22"},"variables":[{"name":"shift","nativeSrc":"98130:5:22","nodeType":"YulTypedName","src":"98130:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"98191:3:22","nodeType":"YulIdentifier","src":"98191:3:22"},{"kind":"number","nativeSrc":"98196:4:22","nodeType":"YulLiteral","src":"98196:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"98187:3:22","nodeType":"YulIdentifier","src":"98187:3:22"},"nativeSrc":"98187:14:22","nodeType":"YulFunctionCall","src":"98187:14:22"},{"arguments":[{"name":"shift","nativeSrc":"98207:5:22","nodeType":"YulIdentifier","src":"98207:5:22"},{"arguments":[{"name":"shift","nativeSrc":"98218:5:22","nodeType":"YulIdentifier","src":"98218:5:22"},{"name":"w","nativeSrc":"98225:1:22","nodeType":"YulIdentifier","src":"98225:1:22"}],"functionName":{"name":"shr","nativeSrc":"98214:3:22","nodeType":"YulIdentifier","src":"98214:3:22"},"nativeSrc":"98214:13:22","nodeType":"YulFunctionCall","src":"98214:13:22"}],"functionName":{"name":"shl","nativeSrc":"98203:3:22","nodeType":"YulIdentifier","src":"98203:3:22"},"nativeSrc":"98203:25:22","nodeType":"YulFunctionCall","src":"98203:25:22"}],"functionName":{"name":"mstore","nativeSrc":"98180:6:22","nodeType":"YulIdentifier","src":"98180:6:22"},"nativeSrc":"98180:49:22","nodeType":"YulFunctionCall","src":"98180:49:22"},"nativeSrc":"98180:49:22","nodeType":"YulExpressionStatement","src":"98180:49:22"}]},"name":"writeString","nativeSrc":"97901:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"97922:3:22","nodeType":"YulTypedName","src":"97922:3:22","type":""},{"name":"w","nativeSrc":"97927:1:22","nodeType":"YulTypedName","src":"97927:1:22","type":""}],"src":"97901:342:22"},{"nativeSrc":"98256:17:22","nodeType":"YulAssignment","src":"98256:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98268:4:22","nodeType":"YulLiteral","src":"98268:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"98262:5:22","nodeType":"YulIdentifier","src":"98262:5:22"},"nativeSrc":"98262:11:22","nodeType":"YulFunctionCall","src":"98262:11:22"},"variableNames":[{"name":"m0","nativeSrc":"98256:2:22","nodeType":"YulIdentifier","src":"98256:2:22"}]},{"nativeSrc":"98286:17:22","nodeType":"YulAssignment","src":"98286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98298:4:22","nodeType":"YulLiteral","src":"98298:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"98292:5:22","nodeType":"YulIdentifier","src":"98292:5:22"},"nativeSrc":"98292:11:22","nodeType":"YulFunctionCall","src":"98292:11:22"},"variableNames":[{"name":"m1","nativeSrc":"98286:2:22","nodeType":"YulIdentifier","src":"98286:2:22"}]},{"nativeSrc":"98316:17:22","nodeType":"YulAssignment","src":"98316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98328:4:22","nodeType":"YulLiteral","src":"98328:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"98322:5:22","nodeType":"YulIdentifier","src":"98322:5:22"},"nativeSrc":"98322:11:22","nodeType":"YulFunctionCall","src":"98322:11:22"},"variableNames":[{"name":"m2","nativeSrc":"98316:2:22","nodeType":"YulIdentifier","src":"98316:2:22"}]},{"nativeSrc":"98346:17:22","nodeType":"YulAssignment","src":"98346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98358:4:22","nodeType":"YulLiteral","src":"98358:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"98352:5:22","nodeType":"YulIdentifier","src":"98352:5:22"},"nativeSrc":"98352:11:22","nodeType":"YulFunctionCall","src":"98352:11:22"},"variableNames":[{"name":"m3","nativeSrc":"98346:2:22","nodeType":"YulIdentifier","src":"98346:2:22"}]},{"nativeSrc":"98376:17:22","nodeType":"YulAssignment","src":"98376:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98388:4:22","nodeType":"YulLiteral","src":"98388:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"98382:5:22","nodeType":"YulIdentifier","src":"98382:5:22"},"nativeSrc":"98382:11:22","nodeType":"YulFunctionCall","src":"98382:11:22"},"variableNames":[{"name":"m4","nativeSrc":"98376:2:22","nodeType":"YulIdentifier","src":"98376:2:22"}]},{"nativeSrc":"98406:17:22","nodeType":"YulAssignment","src":"98406:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98418:4:22","nodeType":"YulLiteral","src":"98418:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"98412:5:22","nodeType":"YulIdentifier","src":"98412:5:22"},"nativeSrc":"98412:11:22","nodeType":"YulFunctionCall","src":"98412:11:22"},"variableNames":[{"name":"m5","nativeSrc":"98406:2:22","nodeType":"YulIdentifier","src":"98406:2:22"}]},{"nativeSrc":"98436:17:22","nodeType":"YulAssignment","src":"98436:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"98448:4:22","nodeType":"YulLiteral","src":"98448:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"98442:5:22","nodeType":"YulIdentifier","src":"98442:5:22"},"nativeSrc":"98442:11:22","nodeType":"YulFunctionCall","src":"98442:11:22"},"variableNames":[{"name":"m6","nativeSrc":"98436:2:22","nodeType":"YulIdentifier","src":"98436:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98536:4:22","nodeType":"YulLiteral","src":"98536:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"98542:10:22","nodeType":"YulLiteral","src":"98542:10:22","type":"","value":"0xaa6540c8"}],"functionName":{"name":"mstore","nativeSrc":"98529:6:22","nodeType":"YulIdentifier","src":"98529:6:22"},"nativeSrc":"98529:24:22","nodeType":"YulFunctionCall","src":"98529:24:22"},"nativeSrc":"98529:24:22","nodeType":"YulExpressionStatement","src":"98529:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98573:4:22","nodeType":"YulLiteral","src":"98573:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"98579:2:22","nodeType":"YulIdentifier","src":"98579:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98566:6:22","nodeType":"YulIdentifier","src":"98566:6:22"},"nativeSrc":"98566:16:22","nodeType":"YulFunctionCall","src":"98566:16:22"},"nativeSrc":"98566:16:22","nodeType":"YulExpressionStatement","src":"98566:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98602:4:22","nodeType":"YulLiteral","src":"98602:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"98608:2:22","nodeType":"YulIdentifier","src":"98608:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98595:6:22","nodeType":"YulIdentifier","src":"98595:6:22"},"nativeSrc":"98595:16:22","nodeType":"YulFunctionCall","src":"98595:16:22"},"nativeSrc":"98595:16:22","nodeType":"YulExpressionStatement","src":"98595:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98631:4:22","nodeType":"YulLiteral","src":"98631:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"98637:2:22","nodeType":"YulIdentifier","src":"98637:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98624:6:22","nodeType":"YulIdentifier","src":"98624:6:22"},"nativeSrc":"98624:16:22","nodeType":"YulFunctionCall","src":"98624:16:22"},"nativeSrc":"98624:16:22","nodeType":"YulExpressionStatement","src":"98624:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98660:4:22","nodeType":"YulLiteral","src":"98660:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"98666:4:22","nodeType":"YulLiteral","src":"98666:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"98653:6:22","nodeType":"YulIdentifier","src":"98653:6:22"},"nativeSrc":"98653:18:22","nodeType":"YulFunctionCall","src":"98653:18:22"},"nativeSrc":"98653:18:22","nodeType":"YulExpressionStatement","src":"98653:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98696:4:22","nodeType":"YulLiteral","src":"98696:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"98702:2:22","nodeType":"YulIdentifier","src":"98702:2:22"}],"functionName":{"name":"writeString","nativeSrc":"98684:11:22","nodeType":"YulIdentifier","src":"98684:11:22"},"nativeSrc":"98684:21:22","nodeType":"YulFunctionCall","src":"98684:21:22"},"nativeSrc":"98684:21:22","nodeType":"YulExpressionStatement","src":"98684:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34441,"isOffset":false,"isSlot":false,"src":"98256:2:22","valueSize":1},{"declaration":34444,"isOffset":false,"isSlot":false,"src":"98286:2:22","valueSize":1},{"declaration":34447,"isOffset":false,"isSlot":false,"src":"98316:2:22","valueSize":1},{"declaration":34450,"isOffset":false,"isSlot":false,"src":"98346:2:22","valueSize":1},{"declaration":34453,"isOffset":false,"isSlot":false,"src":"98376:2:22","valueSize":1},{"declaration":34456,"isOffset":false,"isSlot":false,"src":"98406:2:22","valueSize":1},{"declaration":34459,"isOffset":false,"isSlot":false,"src":"98436:2:22","valueSize":1},{"declaration":34431,"isOffset":false,"isSlot":false,"src":"98579:2:22","valueSize":1},{"declaration":34433,"isOffset":false,"isSlot":false,"src":"98608:2:22","valueSize":1},{"declaration":34435,"isOffset":false,"isSlot":false,"src":"98637:2:22","valueSize":1},{"declaration":34437,"isOffset":false,"isSlot":false,"src":"98702:2:22","valueSize":1}],"id":34461,"nodeType":"InlineAssembly","src":"97878:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98740:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98746:4:22","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":34462,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"98724:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"98724:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34466,"nodeType":"ExpressionStatement","src":"98724:27:22"},{"AST":{"nativeSrc":"98813:214:22","nodeType":"YulBlock","src":"98813:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"98834:4:22","nodeType":"YulLiteral","src":"98834:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"98840:2:22","nodeType":"YulIdentifier","src":"98840:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98827:6:22","nodeType":"YulIdentifier","src":"98827:6:22"},"nativeSrc":"98827:16:22","nodeType":"YulFunctionCall","src":"98827:16:22"},"nativeSrc":"98827:16:22","nodeType":"YulExpressionStatement","src":"98827:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98863:4:22","nodeType":"YulLiteral","src":"98863:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"98869:2:22","nodeType":"YulIdentifier","src":"98869:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98856:6:22","nodeType":"YulIdentifier","src":"98856:6:22"},"nativeSrc":"98856:16:22","nodeType":"YulFunctionCall","src":"98856:16:22"},"nativeSrc":"98856:16:22","nodeType":"YulExpressionStatement","src":"98856:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98892:4:22","nodeType":"YulLiteral","src":"98892:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"98898:2:22","nodeType":"YulIdentifier","src":"98898:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98885:6:22","nodeType":"YulIdentifier","src":"98885:6:22"},"nativeSrc":"98885:16:22","nodeType":"YulFunctionCall","src":"98885:16:22"},"nativeSrc":"98885:16:22","nodeType":"YulExpressionStatement","src":"98885:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98921:4:22","nodeType":"YulLiteral","src":"98921:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"98927:2:22","nodeType":"YulIdentifier","src":"98927:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98914:6:22","nodeType":"YulIdentifier","src":"98914:6:22"},"nativeSrc":"98914:16:22","nodeType":"YulFunctionCall","src":"98914:16:22"},"nativeSrc":"98914:16:22","nodeType":"YulExpressionStatement","src":"98914:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98950:4:22","nodeType":"YulLiteral","src":"98950:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"98956:2:22","nodeType":"YulIdentifier","src":"98956:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98943:6:22","nodeType":"YulIdentifier","src":"98943:6:22"},"nativeSrc":"98943:16:22","nodeType":"YulFunctionCall","src":"98943:16:22"},"nativeSrc":"98943:16:22","nodeType":"YulExpressionStatement","src":"98943:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98979:4:22","nodeType":"YulLiteral","src":"98979:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"98985:2:22","nodeType":"YulIdentifier","src":"98985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"98972:6:22","nodeType":"YulIdentifier","src":"98972:6:22"},"nativeSrc":"98972:16:22","nodeType":"YulFunctionCall","src":"98972:16:22"},"nativeSrc":"98972:16:22","nodeType":"YulExpressionStatement","src":"98972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99008:4:22","nodeType":"YulLiteral","src":"99008:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"99014:2:22","nodeType":"YulIdentifier","src":"99014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99001:6:22","nodeType":"YulIdentifier","src":"99001:6:22"},"nativeSrc":"99001:16:22","nodeType":"YulFunctionCall","src":"99001:16:22"},"nativeSrc":"99001:16:22","nodeType":"YulExpressionStatement","src":"99001:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34441,"isOffset":false,"isSlot":false,"src":"98840:2:22","valueSize":1},{"declaration":34444,"isOffset":false,"isSlot":false,"src":"98869:2:22","valueSize":1},{"declaration":34447,"isOffset":false,"isSlot":false,"src":"98898:2:22","valueSize":1},{"declaration":34450,"isOffset":false,"isSlot":false,"src":"98927:2:22","valueSize":1},{"declaration":34453,"isOffset":false,"isSlot":false,"src":"98956:2:22","valueSize":1},{"declaration":34456,"isOffset":false,"isSlot":false,"src":"98985:2:22","valueSize":1},{"declaration":34459,"isOffset":false,"isSlot":false,"src":"99014:2:22","valueSize":1}],"id":34467,"nodeType":"InlineAssembly","src":"98804:223:22"}]},"id":34469,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"97622:3:22","nodeType":"FunctionDefinition","parameters":{"id":34438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34431,"mutability":"mutable","name":"p0","nameLocation":"97634:2:22","nodeType":"VariableDeclaration","scope":34469,"src":"97626:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34430,"name":"address","nodeType":"ElementaryTypeName","src":"97626:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34433,"mutability":"mutable","name":"p1","nameLocation":"97646:2:22","nodeType":"VariableDeclaration","scope":34469,"src":"97638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34432,"name":"address","nodeType":"ElementaryTypeName","src":"97638:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34435,"mutability":"mutable","name":"p2","nameLocation":"97655:2:22","nodeType":"VariableDeclaration","scope":34469,"src":"97650:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34434,"name":"bool","nodeType":"ElementaryTypeName","src":"97650:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34437,"mutability":"mutable","name":"p3","nameLocation":"97667:2:22","nodeType":"VariableDeclaration","scope":34469,"src":"97659:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97659:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"97625:45:22"},"returnParameters":{"id":34439,"nodeType":"ParameterList","parameters":[],"src":"97685:0:22"},"scope":44426,"src":"97613:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34502,"nodeType":"Block","src":"99114:803:22","statements":[{"assignments":[34481],"declarations":[{"constant":false,"id":34481,"mutability":"mutable","name":"m0","nameLocation":"99132:2:22","nodeType":"VariableDeclaration","scope":34502,"src":"99124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99124:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34482,"nodeType":"VariableDeclarationStatement","src":"99124:10:22"},{"assignments":[34484],"declarations":[{"constant":false,"id":34484,"mutability":"mutable","name":"m1","nameLocation":"99152:2:22","nodeType":"VariableDeclaration","scope":34502,"src":"99144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34485,"nodeType":"VariableDeclarationStatement","src":"99144:10:22"},{"assignments":[34487],"declarations":[{"constant":false,"id":34487,"mutability":"mutable","name":"m2","nameLocation":"99172:2:22","nodeType":"VariableDeclaration","scope":34502,"src":"99164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34488,"nodeType":"VariableDeclarationStatement","src":"99164:10:22"},{"assignments":[34490],"declarations":[{"constant":false,"id":34490,"mutability":"mutable","name":"m3","nameLocation":"99192:2:22","nodeType":"VariableDeclaration","scope":34502,"src":"99184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99184:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34491,"nodeType":"VariableDeclarationStatement","src":"99184:10:22"},{"assignments":[34493],"declarations":[{"constant":false,"id":34493,"mutability":"mutable","name":"m4","nameLocation":"99212:2:22","nodeType":"VariableDeclaration","scope":34502,"src":"99204:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99204:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34494,"nodeType":"VariableDeclarationStatement","src":"99204:10:22"},{"AST":{"nativeSrc":"99276:381:22","nodeType":"YulBlock","src":"99276:381:22","statements":[{"nativeSrc":"99290:17:22","nodeType":"YulAssignment","src":"99290:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"99302:4:22","nodeType":"YulLiteral","src":"99302:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"99296:5:22","nodeType":"YulIdentifier","src":"99296:5:22"},"nativeSrc":"99296:11:22","nodeType":"YulFunctionCall","src":"99296:11:22"},"variableNames":[{"name":"m0","nativeSrc":"99290:2:22","nodeType":"YulIdentifier","src":"99290:2:22"}]},{"nativeSrc":"99320:17:22","nodeType":"YulAssignment","src":"99320:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"99332:4:22","nodeType":"YulLiteral","src":"99332:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"99326:5:22","nodeType":"YulIdentifier","src":"99326:5:22"},"nativeSrc":"99326:11:22","nodeType":"YulFunctionCall","src":"99326:11:22"},"variableNames":[{"name":"m1","nativeSrc":"99320:2:22","nodeType":"YulIdentifier","src":"99320:2:22"}]},{"nativeSrc":"99350:17:22","nodeType":"YulAssignment","src":"99350:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"99362:4:22","nodeType":"YulLiteral","src":"99362:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"99356:5:22","nodeType":"YulIdentifier","src":"99356:5:22"},"nativeSrc":"99356:11:22","nodeType":"YulFunctionCall","src":"99356:11:22"},"variableNames":[{"name":"m2","nativeSrc":"99350:2:22","nodeType":"YulIdentifier","src":"99350:2:22"}]},{"nativeSrc":"99380:17:22","nodeType":"YulAssignment","src":"99380:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"99392:4:22","nodeType":"YulLiteral","src":"99392:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"99386:5:22","nodeType":"YulIdentifier","src":"99386:5:22"},"nativeSrc":"99386:11:22","nodeType":"YulFunctionCall","src":"99386:11:22"},"variableNames":[{"name":"m3","nativeSrc":"99380:2:22","nodeType":"YulIdentifier","src":"99380:2:22"}]},{"nativeSrc":"99410:17:22","nodeType":"YulAssignment","src":"99410:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"99422:4:22","nodeType":"YulLiteral","src":"99422:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"99416:5:22","nodeType":"YulIdentifier","src":"99416:5:22"},"nativeSrc":"99416:11:22","nodeType":"YulFunctionCall","src":"99416:11:22"},"variableNames":[{"name":"m4","nativeSrc":"99410:2:22","nodeType":"YulIdentifier","src":"99410:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99514:4:22","nodeType":"YulLiteral","src":"99514:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"99520:10:22","nodeType":"YulLiteral","src":"99520:10:22","type":"","value":"0x8da6def5"}],"functionName":{"name":"mstore","nativeSrc":"99507:6:22","nodeType":"YulIdentifier","src":"99507:6:22"},"nativeSrc":"99507:24:22","nodeType":"YulFunctionCall","src":"99507:24:22"},"nativeSrc":"99507:24:22","nodeType":"YulExpressionStatement","src":"99507:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99551:4:22","nodeType":"YulLiteral","src":"99551:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"99557:2:22","nodeType":"YulIdentifier","src":"99557:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99544:6:22","nodeType":"YulIdentifier","src":"99544:6:22"},"nativeSrc":"99544:16:22","nodeType":"YulFunctionCall","src":"99544:16:22"},"nativeSrc":"99544:16:22","nodeType":"YulExpressionStatement","src":"99544:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99580:4:22","nodeType":"YulLiteral","src":"99580:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"99586:2:22","nodeType":"YulIdentifier","src":"99586:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99573:6:22","nodeType":"YulIdentifier","src":"99573:6:22"},"nativeSrc":"99573:16:22","nodeType":"YulFunctionCall","src":"99573:16:22"},"nativeSrc":"99573:16:22","nodeType":"YulExpressionStatement","src":"99573:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99609:4:22","nodeType":"YulLiteral","src":"99609:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"99615:2:22","nodeType":"YulIdentifier","src":"99615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99602:6:22","nodeType":"YulIdentifier","src":"99602:6:22"},"nativeSrc":"99602:16:22","nodeType":"YulFunctionCall","src":"99602:16:22"},"nativeSrc":"99602:16:22","nodeType":"YulExpressionStatement","src":"99602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99638:4:22","nodeType":"YulLiteral","src":"99638:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"99644:2:22","nodeType":"YulIdentifier","src":"99644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99631:6:22","nodeType":"YulIdentifier","src":"99631:6:22"},"nativeSrc":"99631:16:22","nodeType":"YulFunctionCall","src":"99631:16:22"},"nativeSrc":"99631:16:22","nodeType":"YulExpressionStatement","src":"99631:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34481,"isOffset":false,"isSlot":false,"src":"99290:2:22","valueSize":1},{"declaration":34484,"isOffset":false,"isSlot":false,"src":"99320:2:22","valueSize":1},{"declaration":34487,"isOffset":false,"isSlot":false,"src":"99350:2:22","valueSize":1},{"declaration":34490,"isOffset":false,"isSlot":false,"src":"99380:2:22","valueSize":1},{"declaration":34493,"isOffset":false,"isSlot":false,"src":"99410:2:22","valueSize":1},{"declaration":34471,"isOffset":false,"isSlot":false,"src":"99557:2:22","valueSize":1},{"declaration":34473,"isOffset":false,"isSlot":false,"src":"99586:2:22","valueSize":1},{"declaration":34475,"isOffset":false,"isSlot":false,"src":"99615:2:22","valueSize":1},{"declaration":34477,"isOffset":false,"isSlot":false,"src":"99644:2:22","valueSize":1}],"id":34495,"nodeType":"InlineAssembly","src":"99267:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99682:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99688:4:22","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":34496,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"99666:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"99666:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34500,"nodeType":"ExpressionStatement","src":"99666:27:22"},{"AST":{"nativeSrc":"99755:156:22","nodeType":"YulBlock","src":"99755:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"99776:4:22","nodeType":"YulLiteral","src":"99776:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"99782:2:22","nodeType":"YulIdentifier","src":"99782:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99769:6:22","nodeType":"YulIdentifier","src":"99769:6:22"},"nativeSrc":"99769:16:22","nodeType":"YulFunctionCall","src":"99769:16:22"},"nativeSrc":"99769:16:22","nodeType":"YulExpressionStatement","src":"99769:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99805:4:22","nodeType":"YulLiteral","src":"99805:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"99811:2:22","nodeType":"YulIdentifier","src":"99811:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99798:6:22","nodeType":"YulIdentifier","src":"99798:6:22"},"nativeSrc":"99798:16:22","nodeType":"YulFunctionCall","src":"99798:16:22"},"nativeSrc":"99798:16:22","nodeType":"YulExpressionStatement","src":"99798:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99834:4:22","nodeType":"YulLiteral","src":"99834:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"99840:2:22","nodeType":"YulIdentifier","src":"99840:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99827:6:22","nodeType":"YulIdentifier","src":"99827:6:22"},"nativeSrc":"99827:16:22","nodeType":"YulFunctionCall","src":"99827:16:22"},"nativeSrc":"99827:16:22","nodeType":"YulExpressionStatement","src":"99827:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99863:4:22","nodeType":"YulLiteral","src":"99863:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"99869:2:22","nodeType":"YulIdentifier","src":"99869:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99856:6:22","nodeType":"YulIdentifier","src":"99856:6:22"},"nativeSrc":"99856:16:22","nodeType":"YulFunctionCall","src":"99856:16:22"},"nativeSrc":"99856:16:22","nodeType":"YulExpressionStatement","src":"99856:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99892:4:22","nodeType":"YulLiteral","src":"99892:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"99898:2:22","nodeType":"YulIdentifier","src":"99898:2:22"}],"functionName":{"name":"mstore","nativeSrc":"99885:6:22","nodeType":"YulIdentifier","src":"99885:6:22"},"nativeSrc":"99885:16:22","nodeType":"YulFunctionCall","src":"99885:16:22"},"nativeSrc":"99885:16:22","nodeType":"YulExpressionStatement","src":"99885:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34481,"isOffset":false,"isSlot":false,"src":"99782:2:22","valueSize":1},{"declaration":34484,"isOffset":false,"isSlot":false,"src":"99811:2:22","valueSize":1},{"declaration":34487,"isOffset":false,"isSlot":false,"src":"99840:2:22","valueSize":1},{"declaration":34490,"isOffset":false,"isSlot":false,"src":"99869:2:22","valueSize":1},{"declaration":34493,"isOffset":false,"isSlot":false,"src":"99898:2:22","valueSize":1}],"id":34501,"nodeType":"InlineAssembly","src":"99746:165:22"}]},"id":34503,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99048:3:22","nodeType":"FunctionDefinition","parameters":{"id":34478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34471,"mutability":"mutable","name":"p0","nameLocation":"99060:2:22","nodeType":"VariableDeclaration","scope":34503,"src":"99052:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34470,"name":"address","nodeType":"ElementaryTypeName","src":"99052:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34473,"mutability":"mutable","name":"p1","nameLocation":"99072:2:22","nodeType":"VariableDeclaration","scope":34503,"src":"99064:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34472,"name":"address","nodeType":"ElementaryTypeName","src":"99064:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34475,"mutability":"mutable","name":"p2","nameLocation":"99084:2:22","nodeType":"VariableDeclaration","scope":34503,"src":"99076:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34474,"name":"uint256","nodeType":"ElementaryTypeName","src":"99076:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34477,"mutability":"mutable","name":"p3","nameLocation":"99096:2:22","nodeType":"VariableDeclaration","scope":34503,"src":"99088:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34476,"name":"address","nodeType":"ElementaryTypeName","src":"99088:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99051:48:22"},"returnParameters":{"id":34479,"nodeType":"ParameterList","parameters":[],"src":"99114:0:22"},"scope":44426,"src":"99039:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34536,"nodeType":"Block","src":"99995:800:22","statements":[{"assignments":[34515],"declarations":[{"constant":false,"id":34515,"mutability":"mutable","name":"m0","nameLocation":"100013:2:22","nodeType":"VariableDeclaration","scope":34536,"src":"100005:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100005:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34516,"nodeType":"VariableDeclarationStatement","src":"100005:10:22"},{"assignments":[34518],"declarations":[{"constant":false,"id":34518,"mutability":"mutable","name":"m1","nameLocation":"100033:2:22","nodeType":"VariableDeclaration","scope":34536,"src":"100025:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100025:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34519,"nodeType":"VariableDeclarationStatement","src":"100025:10:22"},{"assignments":[34521],"declarations":[{"constant":false,"id":34521,"mutability":"mutable","name":"m2","nameLocation":"100053:2:22","nodeType":"VariableDeclaration","scope":34536,"src":"100045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100045:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34522,"nodeType":"VariableDeclarationStatement","src":"100045:10:22"},{"assignments":[34524],"declarations":[{"constant":false,"id":34524,"mutability":"mutable","name":"m3","nameLocation":"100073:2:22","nodeType":"VariableDeclaration","scope":34536,"src":"100065:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100065:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34525,"nodeType":"VariableDeclarationStatement","src":"100065:10:22"},{"assignments":[34527],"declarations":[{"constant":false,"id":34527,"mutability":"mutable","name":"m4","nameLocation":"100093:2:22","nodeType":"VariableDeclaration","scope":34536,"src":"100085:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100085:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34528,"nodeType":"VariableDeclarationStatement","src":"100085:10:22"},{"AST":{"nativeSrc":"100157:378:22","nodeType":"YulBlock","src":"100157:378:22","statements":[{"nativeSrc":"100171:17:22","nodeType":"YulAssignment","src":"100171:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"100183:4:22","nodeType":"YulLiteral","src":"100183:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"100177:5:22","nodeType":"YulIdentifier","src":"100177:5:22"},"nativeSrc":"100177:11:22","nodeType":"YulFunctionCall","src":"100177:11:22"},"variableNames":[{"name":"m0","nativeSrc":"100171:2:22","nodeType":"YulIdentifier","src":"100171:2:22"}]},{"nativeSrc":"100201:17:22","nodeType":"YulAssignment","src":"100201:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"100213:4:22","nodeType":"YulLiteral","src":"100213:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"100207:5:22","nodeType":"YulIdentifier","src":"100207:5:22"},"nativeSrc":"100207:11:22","nodeType":"YulFunctionCall","src":"100207:11:22"},"variableNames":[{"name":"m1","nativeSrc":"100201:2:22","nodeType":"YulIdentifier","src":"100201:2:22"}]},{"nativeSrc":"100231:17:22","nodeType":"YulAssignment","src":"100231:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"100243:4:22","nodeType":"YulLiteral","src":"100243:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"100237:5:22","nodeType":"YulIdentifier","src":"100237:5:22"},"nativeSrc":"100237:11:22","nodeType":"YulFunctionCall","src":"100237:11:22"},"variableNames":[{"name":"m2","nativeSrc":"100231:2:22","nodeType":"YulIdentifier","src":"100231:2:22"}]},{"nativeSrc":"100261:17:22","nodeType":"YulAssignment","src":"100261:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"100273:4:22","nodeType":"YulLiteral","src":"100273:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"100267:5:22","nodeType":"YulIdentifier","src":"100267:5:22"},"nativeSrc":"100267:11:22","nodeType":"YulFunctionCall","src":"100267:11:22"},"variableNames":[{"name":"m3","nativeSrc":"100261:2:22","nodeType":"YulIdentifier","src":"100261:2:22"}]},{"nativeSrc":"100291:17:22","nodeType":"YulAssignment","src":"100291:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"100303:4:22","nodeType":"YulLiteral","src":"100303:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"100297:5:22","nodeType":"YulIdentifier","src":"100297:5:22"},"nativeSrc":"100297:11:22","nodeType":"YulFunctionCall","src":"100297:11:22"},"variableNames":[{"name":"m4","nativeSrc":"100291:2:22","nodeType":"YulIdentifier","src":"100291:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100392:4:22","nodeType":"YulLiteral","src":"100392:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"100398:10:22","nodeType":"YulLiteral","src":"100398:10:22","type":"","value":"0x9b4254e2"}],"functionName":{"name":"mstore","nativeSrc":"100385:6:22","nodeType":"YulIdentifier","src":"100385:6:22"},"nativeSrc":"100385:24:22","nodeType":"YulFunctionCall","src":"100385:24:22"},"nativeSrc":"100385:24:22","nodeType":"YulExpressionStatement","src":"100385:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100429:4:22","nodeType":"YulLiteral","src":"100429:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"100435:2:22","nodeType":"YulIdentifier","src":"100435:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100422:6:22","nodeType":"YulIdentifier","src":"100422:6:22"},"nativeSrc":"100422:16:22","nodeType":"YulFunctionCall","src":"100422:16:22"},"nativeSrc":"100422:16:22","nodeType":"YulExpressionStatement","src":"100422:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100458:4:22","nodeType":"YulLiteral","src":"100458:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"100464:2:22","nodeType":"YulIdentifier","src":"100464:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100451:6:22","nodeType":"YulIdentifier","src":"100451:6:22"},"nativeSrc":"100451:16:22","nodeType":"YulFunctionCall","src":"100451:16:22"},"nativeSrc":"100451:16:22","nodeType":"YulExpressionStatement","src":"100451:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100487:4:22","nodeType":"YulLiteral","src":"100487:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"100493:2:22","nodeType":"YulIdentifier","src":"100493:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100480:6:22","nodeType":"YulIdentifier","src":"100480:6:22"},"nativeSrc":"100480:16:22","nodeType":"YulFunctionCall","src":"100480:16:22"},"nativeSrc":"100480:16:22","nodeType":"YulExpressionStatement","src":"100480:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100516:4:22","nodeType":"YulLiteral","src":"100516:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"100522:2:22","nodeType":"YulIdentifier","src":"100522:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100509:6:22","nodeType":"YulIdentifier","src":"100509:6:22"},"nativeSrc":"100509:16:22","nodeType":"YulFunctionCall","src":"100509:16:22"},"nativeSrc":"100509:16:22","nodeType":"YulExpressionStatement","src":"100509:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34515,"isOffset":false,"isSlot":false,"src":"100171:2:22","valueSize":1},{"declaration":34518,"isOffset":false,"isSlot":false,"src":"100201:2:22","valueSize":1},{"declaration":34521,"isOffset":false,"isSlot":false,"src":"100231:2:22","valueSize":1},{"declaration":34524,"isOffset":false,"isSlot":false,"src":"100261:2:22","valueSize":1},{"declaration":34527,"isOffset":false,"isSlot":false,"src":"100291:2:22","valueSize":1},{"declaration":34505,"isOffset":false,"isSlot":false,"src":"100435:2:22","valueSize":1},{"declaration":34507,"isOffset":false,"isSlot":false,"src":"100464:2:22","valueSize":1},{"declaration":34509,"isOffset":false,"isSlot":false,"src":"100493:2:22","valueSize":1},{"declaration":34511,"isOffset":false,"isSlot":false,"src":"100522:2:22","valueSize":1}],"id":34529,"nodeType":"InlineAssembly","src":"100148:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100560:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100566:4:22","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":34530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"100544:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"100544:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34534,"nodeType":"ExpressionStatement","src":"100544:27:22"},{"AST":{"nativeSrc":"100633:156:22","nodeType":"YulBlock","src":"100633:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"100654:4:22","nodeType":"YulLiteral","src":"100654:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"100660:2:22","nodeType":"YulIdentifier","src":"100660:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100647:6:22","nodeType":"YulIdentifier","src":"100647:6:22"},"nativeSrc":"100647:16:22","nodeType":"YulFunctionCall","src":"100647:16:22"},"nativeSrc":"100647:16:22","nodeType":"YulExpressionStatement","src":"100647:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100683:4:22","nodeType":"YulLiteral","src":"100683:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"100689:2:22","nodeType":"YulIdentifier","src":"100689:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100676:6:22","nodeType":"YulIdentifier","src":"100676:6:22"},"nativeSrc":"100676:16:22","nodeType":"YulFunctionCall","src":"100676:16:22"},"nativeSrc":"100676:16:22","nodeType":"YulExpressionStatement","src":"100676:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100712:4:22","nodeType":"YulLiteral","src":"100712:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"100718:2:22","nodeType":"YulIdentifier","src":"100718:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100705:6:22","nodeType":"YulIdentifier","src":"100705:6:22"},"nativeSrc":"100705:16:22","nodeType":"YulFunctionCall","src":"100705:16:22"},"nativeSrc":"100705:16:22","nodeType":"YulExpressionStatement","src":"100705:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100741:4:22","nodeType":"YulLiteral","src":"100741:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"100747:2:22","nodeType":"YulIdentifier","src":"100747:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100734:6:22","nodeType":"YulIdentifier","src":"100734:6:22"},"nativeSrc":"100734:16:22","nodeType":"YulFunctionCall","src":"100734:16:22"},"nativeSrc":"100734:16:22","nodeType":"YulExpressionStatement","src":"100734:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100770:4:22","nodeType":"YulLiteral","src":"100770:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"100776:2:22","nodeType":"YulIdentifier","src":"100776:2:22"}],"functionName":{"name":"mstore","nativeSrc":"100763:6:22","nodeType":"YulIdentifier","src":"100763:6:22"},"nativeSrc":"100763:16:22","nodeType":"YulFunctionCall","src":"100763:16:22"},"nativeSrc":"100763:16:22","nodeType":"YulExpressionStatement","src":"100763:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34515,"isOffset":false,"isSlot":false,"src":"100660:2:22","valueSize":1},{"declaration":34518,"isOffset":false,"isSlot":false,"src":"100689:2:22","valueSize":1},{"declaration":34521,"isOffset":false,"isSlot":false,"src":"100718:2:22","valueSize":1},{"declaration":34524,"isOffset":false,"isSlot":false,"src":"100747:2:22","valueSize":1},{"declaration":34527,"isOffset":false,"isSlot":false,"src":"100776:2:22","valueSize":1}],"id":34535,"nodeType":"InlineAssembly","src":"100624:165:22"}]},"id":34537,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99932:3:22","nodeType":"FunctionDefinition","parameters":{"id":34512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34505,"mutability":"mutable","name":"p0","nameLocation":"99944:2:22","nodeType":"VariableDeclaration","scope":34537,"src":"99936:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34504,"name":"address","nodeType":"ElementaryTypeName","src":"99936:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34507,"mutability":"mutable","name":"p1","nameLocation":"99956:2:22","nodeType":"VariableDeclaration","scope":34537,"src":"99948:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34506,"name":"address","nodeType":"ElementaryTypeName","src":"99948:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34509,"mutability":"mutable","name":"p2","nameLocation":"99968:2:22","nodeType":"VariableDeclaration","scope":34537,"src":"99960:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34508,"name":"uint256","nodeType":"ElementaryTypeName","src":"99960:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34511,"mutability":"mutable","name":"p3","nameLocation":"99977:2:22","nodeType":"VariableDeclaration","scope":34537,"src":"99972:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34510,"name":"bool","nodeType":"ElementaryTypeName","src":"99972:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"99935:45:22"},"returnParameters":{"id":34513,"nodeType":"ParameterList","parameters":[],"src":"99995:0:22"},"scope":44426,"src":"99923:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34570,"nodeType":"Block","src":"100876:803:22","statements":[{"assignments":[34549],"declarations":[{"constant":false,"id":34549,"mutability":"mutable","name":"m0","nameLocation":"100894:2:22","nodeType":"VariableDeclaration","scope":34570,"src":"100886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34550,"nodeType":"VariableDeclarationStatement","src":"100886:10:22"},{"assignments":[34552],"declarations":[{"constant":false,"id":34552,"mutability":"mutable","name":"m1","nameLocation":"100914:2:22","nodeType":"VariableDeclaration","scope":34570,"src":"100906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34553,"nodeType":"VariableDeclarationStatement","src":"100906:10:22"},{"assignments":[34555],"declarations":[{"constant":false,"id":34555,"mutability":"mutable","name":"m2","nameLocation":"100934:2:22","nodeType":"VariableDeclaration","scope":34570,"src":"100926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34556,"nodeType":"VariableDeclarationStatement","src":"100926:10:22"},{"assignments":[34558],"declarations":[{"constant":false,"id":34558,"mutability":"mutable","name":"m3","nameLocation":"100954:2:22","nodeType":"VariableDeclaration","scope":34570,"src":"100946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100946:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34559,"nodeType":"VariableDeclarationStatement","src":"100946:10:22"},{"assignments":[34561],"declarations":[{"constant":false,"id":34561,"mutability":"mutable","name":"m4","nameLocation":"100974:2:22","nodeType":"VariableDeclaration","scope":34570,"src":"100966:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100966:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34562,"nodeType":"VariableDeclarationStatement","src":"100966:10:22"},{"AST":{"nativeSrc":"101038:381:22","nodeType":"YulBlock","src":"101038:381:22","statements":[{"nativeSrc":"101052:17:22","nodeType":"YulAssignment","src":"101052:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"101064:4:22","nodeType":"YulLiteral","src":"101064:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"101058:5:22","nodeType":"YulIdentifier","src":"101058:5:22"},"nativeSrc":"101058:11:22","nodeType":"YulFunctionCall","src":"101058:11:22"},"variableNames":[{"name":"m0","nativeSrc":"101052:2:22","nodeType":"YulIdentifier","src":"101052:2:22"}]},{"nativeSrc":"101082:17:22","nodeType":"YulAssignment","src":"101082:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"101094:4:22","nodeType":"YulLiteral","src":"101094:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"101088:5:22","nodeType":"YulIdentifier","src":"101088:5:22"},"nativeSrc":"101088:11:22","nodeType":"YulFunctionCall","src":"101088:11:22"},"variableNames":[{"name":"m1","nativeSrc":"101082:2:22","nodeType":"YulIdentifier","src":"101082:2:22"}]},{"nativeSrc":"101112:17:22","nodeType":"YulAssignment","src":"101112:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"101124:4:22","nodeType":"YulLiteral","src":"101124:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"101118:5:22","nodeType":"YulIdentifier","src":"101118:5:22"},"nativeSrc":"101118:11:22","nodeType":"YulFunctionCall","src":"101118:11:22"},"variableNames":[{"name":"m2","nativeSrc":"101112:2:22","nodeType":"YulIdentifier","src":"101112:2:22"}]},{"nativeSrc":"101142:17:22","nodeType":"YulAssignment","src":"101142:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"101154:4:22","nodeType":"YulLiteral","src":"101154:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"101148:5:22","nodeType":"YulIdentifier","src":"101148:5:22"},"nativeSrc":"101148:11:22","nodeType":"YulFunctionCall","src":"101148:11:22"},"variableNames":[{"name":"m3","nativeSrc":"101142:2:22","nodeType":"YulIdentifier","src":"101142:2:22"}]},{"nativeSrc":"101172:17:22","nodeType":"YulAssignment","src":"101172:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"101184:4:22","nodeType":"YulLiteral","src":"101184:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"101178:5:22","nodeType":"YulIdentifier","src":"101178:5:22"},"nativeSrc":"101178:11:22","nodeType":"YulFunctionCall","src":"101178:11:22"},"variableNames":[{"name":"m4","nativeSrc":"101172:2:22","nodeType":"YulIdentifier","src":"101172:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101276:4:22","nodeType":"YulLiteral","src":"101276:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"101282:10:22","nodeType":"YulLiteral","src":"101282:10:22","type":"","value":"0xbe553481"}],"functionName":{"name":"mstore","nativeSrc":"101269:6:22","nodeType":"YulIdentifier","src":"101269:6:22"},"nativeSrc":"101269:24:22","nodeType":"YulFunctionCall","src":"101269:24:22"},"nativeSrc":"101269:24:22","nodeType":"YulExpressionStatement","src":"101269:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101313:4:22","nodeType":"YulLiteral","src":"101313:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"101319:2:22","nodeType":"YulIdentifier","src":"101319:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101306:6:22","nodeType":"YulIdentifier","src":"101306:6:22"},"nativeSrc":"101306:16:22","nodeType":"YulFunctionCall","src":"101306:16:22"},"nativeSrc":"101306:16:22","nodeType":"YulExpressionStatement","src":"101306:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101342:4:22","nodeType":"YulLiteral","src":"101342:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"101348:2:22","nodeType":"YulIdentifier","src":"101348:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101335:6:22","nodeType":"YulIdentifier","src":"101335:6:22"},"nativeSrc":"101335:16:22","nodeType":"YulFunctionCall","src":"101335:16:22"},"nativeSrc":"101335:16:22","nodeType":"YulExpressionStatement","src":"101335:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101371:4:22","nodeType":"YulLiteral","src":"101371:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"101377:2:22","nodeType":"YulIdentifier","src":"101377:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101364:6:22","nodeType":"YulIdentifier","src":"101364:6:22"},"nativeSrc":"101364:16:22","nodeType":"YulFunctionCall","src":"101364:16:22"},"nativeSrc":"101364:16:22","nodeType":"YulExpressionStatement","src":"101364:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101400:4:22","nodeType":"YulLiteral","src":"101400:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"101406:2:22","nodeType":"YulIdentifier","src":"101406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101393:6:22","nodeType":"YulIdentifier","src":"101393:6:22"},"nativeSrc":"101393:16:22","nodeType":"YulFunctionCall","src":"101393:16:22"},"nativeSrc":"101393:16:22","nodeType":"YulExpressionStatement","src":"101393:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34549,"isOffset":false,"isSlot":false,"src":"101052:2:22","valueSize":1},{"declaration":34552,"isOffset":false,"isSlot":false,"src":"101082:2:22","valueSize":1},{"declaration":34555,"isOffset":false,"isSlot":false,"src":"101112:2:22","valueSize":1},{"declaration":34558,"isOffset":false,"isSlot":false,"src":"101142:2:22","valueSize":1},{"declaration":34561,"isOffset":false,"isSlot":false,"src":"101172:2:22","valueSize":1},{"declaration":34539,"isOffset":false,"isSlot":false,"src":"101319:2:22","valueSize":1},{"declaration":34541,"isOffset":false,"isSlot":false,"src":"101348:2:22","valueSize":1},{"declaration":34543,"isOffset":false,"isSlot":false,"src":"101377:2:22","valueSize":1},{"declaration":34545,"isOffset":false,"isSlot":false,"src":"101406:2:22","valueSize":1}],"id":34563,"nodeType":"InlineAssembly","src":"101029:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101444:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101450:4:22","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":34564,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"101428:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"101428:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34568,"nodeType":"ExpressionStatement","src":"101428:27:22"},{"AST":{"nativeSrc":"101517:156:22","nodeType":"YulBlock","src":"101517:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"101538:4:22","nodeType":"YulLiteral","src":"101538:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"101544:2:22","nodeType":"YulIdentifier","src":"101544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101531:6:22","nodeType":"YulIdentifier","src":"101531:6:22"},"nativeSrc":"101531:16:22","nodeType":"YulFunctionCall","src":"101531:16:22"},"nativeSrc":"101531:16:22","nodeType":"YulExpressionStatement","src":"101531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101567:4:22","nodeType":"YulLiteral","src":"101567:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"101573:2:22","nodeType":"YulIdentifier","src":"101573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101560:6:22","nodeType":"YulIdentifier","src":"101560:6:22"},"nativeSrc":"101560:16:22","nodeType":"YulFunctionCall","src":"101560:16:22"},"nativeSrc":"101560:16:22","nodeType":"YulExpressionStatement","src":"101560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101596:4:22","nodeType":"YulLiteral","src":"101596:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"101602:2:22","nodeType":"YulIdentifier","src":"101602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101589:6:22","nodeType":"YulIdentifier","src":"101589:6:22"},"nativeSrc":"101589:16:22","nodeType":"YulFunctionCall","src":"101589:16:22"},"nativeSrc":"101589:16:22","nodeType":"YulExpressionStatement","src":"101589:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101625:4:22","nodeType":"YulLiteral","src":"101625:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"101631:2:22","nodeType":"YulIdentifier","src":"101631:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101618:6:22","nodeType":"YulIdentifier","src":"101618:6:22"},"nativeSrc":"101618:16:22","nodeType":"YulFunctionCall","src":"101618:16:22"},"nativeSrc":"101618:16:22","nodeType":"YulExpressionStatement","src":"101618:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101654:4:22","nodeType":"YulLiteral","src":"101654:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"101660:2:22","nodeType":"YulIdentifier","src":"101660:2:22"}],"functionName":{"name":"mstore","nativeSrc":"101647:6:22","nodeType":"YulIdentifier","src":"101647:6:22"},"nativeSrc":"101647:16:22","nodeType":"YulFunctionCall","src":"101647:16:22"},"nativeSrc":"101647:16:22","nodeType":"YulExpressionStatement","src":"101647:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34549,"isOffset":false,"isSlot":false,"src":"101544:2:22","valueSize":1},{"declaration":34552,"isOffset":false,"isSlot":false,"src":"101573:2:22","valueSize":1},{"declaration":34555,"isOffset":false,"isSlot":false,"src":"101602:2:22","valueSize":1},{"declaration":34558,"isOffset":false,"isSlot":false,"src":"101631:2:22","valueSize":1},{"declaration":34561,"isOffset":false,"isSlot":false,"src":"101660:2:22","valueSize":1}],"id":34569,"nodeType":"InlineAssembly","src":"101508:165:22"}]},"id":34571,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"100810:3:22","nodeType":"FunctionDefinition","parameters":{"id":34546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34539,"mutability":"mutable","name":"p0","nameLocation":"100822:2:22","nodeType":"VariableDeclaration","scope":34571,"src":"100814:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34538,"name":"address","nodeType":"ElementaryTypeName","src":"100814:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34541,"mutability":"mutable","name":"p1","nameLocation":"100834:2:22","nodeType":"VariableDeclaration","scope":34571,"src":"100826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34540,"name":"address","nodeType":"ElementaryTypeName","src":"100826:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34543,"mutability":"mutable","name":"p2","nameLocation":"100846:2:22","nodeType":"VariableDeclaration","scope":34571,"src":"100838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34542,"name":"uint256","nodeType":"ElementaryTypeName","src":"100838:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34545,"mutability":"mutable","name":"p3","nameLocation":"100858:2:22","nodeType":"VariableDeclaration","scope":34571,"src":"100850:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34544,"name":"uint256","nodeType":"ElementaryTypeName","src":"100850:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100813:48:22"},"returnParameters":{"id":34547,"nodeType":"ParameterList","parameters":[],"src":"100876:0:22"},"scope":44426,"src":"100801:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34610,"nodeType":"Block","src":"101760:1351:22","statements":[{"assignments":[34583],"declarations":[{"constant":false,"id":34583,"mutability":"mutable","name":"m0","nameLocation":"101778:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101770:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101770:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34584,"nodeType":"VariableDeclarationStatement","src":"101770:10:22"},{"assignments":[34586],"declarations":[{"constant":false,"id":34586,"mutability":"mutable","name":"m1","nameLocation":"101798:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101790:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101790:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34587,"nodeType":"VariableDeclarationStatement","src":"101790:10:22"},{"assignments":[34589],"declarations":[{"constant":false,"id":34589,"mutability":"mutable","name":"m2","nameLocation":"101818:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101810:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101810:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34590,"nodeType":"VariableDeclarationStatement","src":"101810:10:22"},{"assignments":[34592],"declarations":[{"constant":false,"id":34592,"mutability":"mutable","name":"m3","nameLocation":"101838:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101830:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101830:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34593,"nodeType":"VariableDeclarationStatement","src":"101830:10:22"},{"assignments":[34595],"declarations":[{"constant":false,"id":34595,"mutability":"mutable","name":"m4","nameLocation":"101858:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101850:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101850:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34596,"nodeType":"VariableDeclarationStatement","src":"101850:10:22"},{"assignments":[34598],"declarations":[{"constant":false,"id":34598,"mutability":"mutable","name":"m5","nameLocation":"101878:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101870:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101870:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34599,"nodeType":"VariableDeclarationStatement","src":"101870:10:22"},{"assignments":[34601],"declarations":[{"constant":false,"id":34601,"mutability":"mutable","name":"m6","nameLocation":"101898:2:22","nodeType":"VariableDeclaration","scope":34610,"src":"101890:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101890:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34602,"nodeType":"VariableDeclarationStatement","src":"101890:10:22"},{"AST":{"nativeSrc":"101962:831:22","nodeType":"YulBlock","src":"101962:831:22","statements":[{"body":{"nativeSrc":"102005:313:22","nodeType":"YulBlock","src":"102005:313:22","statements":[{"nativeSrc":"102023:15:22","nodeType":"YulVariableDeclaration","src":"102023:15:22","value":{"kind":"number","nativeSrc":"102037:1:22","nodeType":"YulLiteral","src":"102037:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"102027:6:22","nodeType":"YulTypedName","src":"102027:6:22","type":""}]},{"body":{"nativeSrc":"102108:40:22","nodeType":"YulBlock","src":"102108:40:22","statements":[{"body":{"nativeSrc":"102137:9:22","nodeType":"YulBlock","src":"102137:9:22","statements":[{"nativeSrc":"102139:5:22","nodeType":"YulBreak","src":"102139:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"102125:6:22","nodeType":"YulIdentifier","src":"102125:6:22"},{"name":"w","nativeSrc":"102133:1:22","nodeType":"YulIdentifier","src":"102133:1:22"}],"functionName":{"name":"byte","nativeSrc":"102120:4:22","nodeType":"YulIdentifier","src":"102120:4:22"},"nativeSrc":"102120:15:22","nodeType":"YulFunctionCall","src":"102120:15:22"}],"functionName":{"name":"iszero","nativeSrc":"102113:6:22","nodeType":"YulIdentifier","src":"102113:6:22"},"nativeSrc":"102113:23:22","nodeType":"YulFunctionCall","src":"102113:23:22"},"nativeSrc":"102110:36:22","nodeType":"YulIf","src":"102110:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"102065:6:22","nodeType":"YulIdentifier","src":"102065:6:22"},{"kind":"number","nativeSrc":"102073:4:22","nodeType":"YulLiteral","src":"102073:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"102062:2:22","nodeType":"YulIdentifier","src":"102062:2:22"},"nativeSrc":"102062:16:22","nodeType":"YulFunctionCall","src":"102062:16:22"},"nativeSrc":"102055:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"102079:28:22","nodeType":"YulBlock","src":"102079:28:22","statements":[{"nativeSrc":"102081:24:22","nodeType":"YulAssignment","src":"102081:24:22","value":{"arguments":[{"name":"length","nativeSrc":"102095:6:22","nodeType":"YulIdentifier","src":"102095:6:22"},{"kind":"number","nativeSrc":"102103:1:22","nodeType":"YulLiteral","src":"102103:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"102091:3:22","nodeType":"YulIdentifier","src":"102091:3:22"},"nativeSrc":"102091:14:22","nodeType":"YulFunctionCall","src":"102091:14:22"},"variableNames":[{"name":"length","nativeSrc":"102081:6:22","nodeType":"YulIdentifier","src":"102081:6:22"}]}]},"pre":{"nativeSrc":"102059:2:22","nodeType":"YulBlock","src":"102059:2:22","statements":[]},"src":"102055:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"102172:3:22","nodeType":"YulIdentifier","src":"102172:3:22"},{"name":"length","nativeSrc":"102177:6:22","nodeType":"YulIdentifier","src":"102177:6:22"}],"functionName":{"name":"mstore","nativeSrc":"102165:6:22","nodeType":"YulIdentifier","src":"102165:6:22"},"nativeSrc":"102165:19:22","nodeType":"YulFunctionCall","src":"102165:19:22"},"nativeSrc":"102165:19:22","nodeType":"YulExpressionStatement","src":"102165:19:22"},{"nativeSrc":"102201:37:22","nodeType":"YulVariableDeclaration","src":"102201:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"102218:3:22","nodeType":"YulLiteral","src":"102218:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"102227:1:22","nodeType":"YulLiteral","src":"102227:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"102230:6:22","nodeType":"YulIdentifier","src":"102230:6:22"}],"functionName":{"name":"shl","nativeSrc":"102223:3:22","nodeType":"YulIdentifier","src":"102223:3:22"},"nativeSrc":"102223:14:22","nodeType":"YulFunctionCall","src":"102223:14:22"}],"functionName":{"name":"sub","nativeSrc":"102214:3:22","nodeType":"YulIdentifier","src":"102214:3:22"},"nativeSrc":"102214:24:22","nodeType":"YulFunctionCall","src":"102214:24:22"},"variables":[{"name":"shift","nativeSrc":"102205:5:22","nodeType":"YulTypedName","src":"102205:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"102266:3:22","nodeType":"YulIdentifier","src":"102266:3:22"},{"kind":"number","nativeSrc":"102271:4:22","nodeType":"YulLiteral","src":"102271:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"102262:3:22","nodeType":"YulIdentifier","src":"102262:3:22"},"nativeSrc":"102262:14:22","nodeType":"YulFunctionCall","src":"102262:14:22"},{"arguments":[{"name":"shift","nativeSrc":"102282:5:22","nodeType":"YulIdentifier","src":"102282:5:22"},{"arguments":[{"name":"shift","nativeSrc":"102293:5:22","nodeType":"YulIdentifier","src":"102293:5:22"},{"name":"w","nativeSrc":"102300:1:22","nodeType":"YulIdentifier","src":"102300:1:22"}],"functionName":{"name":"shr","nativeSrc":"102289:3:22","nodeType":"YulIdentifier","src":"102289:3:22"},"nativeSrc":"102289:13:22","nodeType":"YulFunctionCall","src":"102289:13:22"}],"functionName":{"name":"shl","nativeSrc":"102278:3:22","nodeType":"YulIdentifier","src":"102278:3:22"},"nativeSrc":"102278:25:22","nodeType":"YulFunctionCall","src":"102278:25:22"}],"functionName":{"name":"mstore","nativeSrc":"102255:6:22","nodeType":"YulIdentifier","src":"102255:6:22"},"nativeSrc":"102255:49:22","nodeType":"YulFunctionCall","src":"102255:49:22"},"nativeSrc":"102255:49:22","nodeType":"YulExpressionStatement","src":"102255:49:22"}]},"name":"writeString","nativeSrc":"101976:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"101997:3:22","nodeType":"YulTypedName","src":"101997:3:22","type":""},{"name":"w","nativeSrc":"102002:1:22","nodeType":"YulTypedName","src":"102002:1:22","type":""}],"src":"101976:342:22"},{"nativeSrc":"102331:17:22","nodeType":"YulAssignment","src":"102331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102343:4:22","nodeType":"YulLiteral","src":"102343:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"102337:5:22","nodeType":"YulIdentifier","src":"102337:5:22"},"nativeSrc":"102337:11:22","nodeType":"YulFunctionCall","src":"102337:11:22"},"variableNames":[{"name":"m0","nativeSrc":"102331:2:22","nodeType":"YulIdentifier","src":"102331:2:22"}]},{"nativeSrc":"102361:17:22","nodeType":"YulAssignment","src":"102361:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102373:4:22","nodeType":"YulLiteral","src":"102373:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"102367:5:22","nodeType":"YulIdentifier","src":"102367:5:22"},"nativeSrc":"102367:11:22","nodeType":"YulFunctionCall","src":"102367:11:22"},"variableNames":[{"name":"m1","nativeSrc":"102361:2:22","nodeType":"YulIdentifier","src":"102361:2:22"}]},{"nativeSrc":"102391:17:22","nodeType":"YulAssignment","src":"102391:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102403:4:22","nodeType":"YulLiteral","src":"102403:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"102397:5:22","nodeType":"YulIdentifier","src":"102397:5:22"},"nativeSrc":"102397:11:22","nodeType":"YulFunctionCall","src":"102397:11:22"},"variableNames":[{"name":"m2","nativeSrc":"102391:2:22","nodeType":"YulIdentifier","src":"102391:2:22"}]},{"nativeSrc":"102421:17:22","nodeType":"YulAssignment","src":"102421:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102433:4:22","nodeType":"YulLiteral","src":"102433:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"102427:5:22","nodeType":"YulIdentifier","src":"102427:5:22"},"nativeSrc":"102427:11:22","nodeType":"YulFunctionCall","src":"102427:11:22"},"variableNames":[{"name":"m3","nativeSrc":"102421:2:22","nodeType":"YulIdentifier","src":"102421:2:22"}]},{"nativeSrc":"102451:17:22","nodeType":"YulAssignment","src":"102451:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102463:4:22","nodeType":"YulLiteral","src":"102463:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"102457:5:22","nodeType":"YulIdentifier","src":"102457:5:22"},"nativeSrc":"102457:11:22","nodeType":"YulFunctionCall","src":"102457:11:22"},"variableNames":[{"name":"m4","nativeSrc":"102451:2:22","nodeType":"YulIdentifier","src":"102451:2:22"}]},{"nativeSrc":"102481:17:22","nodeType":"YulAssignment","src":"102481:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102493:4:22","nodeType":"YulLiteral","src":"102493:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"102487:5:22","nodeType":"YulIdentifier","src":"102487:5:22"},"nativeSrc":"102487:11:22","nodeType":"YulFunctionCall","src":"102487:11:22"},"variableNames":[{"name":"m5","nativeSrc":"102481:2:22","nodeType":"YulIdentifier","src":"102481:2:22"}]},{"nativeSrc":"102511:17:22","nodeType":"YulAssignment","src":"102511:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"102523:4:22","nodeType":"YulLiteral","src":"102523:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"102517:5:22","nodeType":"YulIdentifier","src":"102517:5:22"},"nativeSrc":"102517:11:22","nodeType":"YulFunctionCall","src":"102517:11:22"},"variableNames":[{"name":"m6","nativeSrc":"102511:2:22","nodeType":"YulIdentifier","src":"102511:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102614:4:22","nodeType":"YulLiteral","src":"102614:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"102620:10:22","nodeType":"YulLiteral","src":"102620:10:22","type":"","value":"0xfdb4f990"}],"functionName":{"name":"mstore","nativeSrc":"102607:6:22","nodeType":"YulIdentifier","src":"102607:6:22"},"nativeSrc":"102607:24:22","nodeType":"YulFunctionCall","src":"102607:24:22"},"nativeSrc":"102607:24:22","nodeType":"YulExpressionStatement","src":"102607:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102651:4:22","nodeType":"YulLiteral","src":"102651:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"102657:2:22","nodeType":"YulIdentifier","src":"102657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102644:6:22","nodeType":"YulIdentifier","src":"102644:6:22"},"nativeSrc":"102644:16:22","nodeType":"YulFunctionCall","src":"102644:16:22"},"nativeSrc":"102644:16:22","nodeType":"YulExpressionStatement","src":"102644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102680:4:22","nodeType":"YulLiteral","src":"102680:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"102686:2:22","nodeType":"YulIdentifier","src":"102686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102673:6:22","nodeType":"YulIdentifier","src":"102673:6:22"},"nativeSrc":"102673:16:22","nodeType":"YulFunctionCall","src":"102673:16:22"},"nativeSrc":"102673:16:22","nodeType":"YulExpressionStatement","src":"102673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102709:4:22","nodeType":"YulLiteral","src":"102709:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"102715:2:22","nodeType":"YulIdentifier","src":"102715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102702:6:22","nodeType":"YulIdentifier","src":"102702:6:22"},"nativeSrc":"102702:16:22","nodeType":"YulFunctionCall","src":"102702:16:22"},"nativeSrc":"102702:16:22","nodeType":"YulExpressionStatement","src":"102702:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102738:4:22","nodeType":"YulLiteral","src":"102738:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"102744:4:22","nodeType":"YulLiteral","src":"102744:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"102731:6:22","nodeType":"YulIdentifier","src":"102731:6:22"},"nativeSrc":"102731:18:22","nodeType":"YulFunctionCall","src":"102731:18:22"},"nativeSrc":"102731:18:22","nodeType":"YulExpressionStatement","src":"102731:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102774:4:22","nodeType":"YulLiteral","src":"102774:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"102780:2:22","nodeType":"YulIdentifier","src":"102780:2:22"}],"functionName":{"name":"writeString","nativeSrc":"102762:11:22","nodeType":"YulIdentifier","src":"102762:11:22"},"nativeSrc":"102762:21:22","nodeType":"YulFunctionCall","src":"102762:21:22"},"nativeSrc":"102762:21:22","nodeType":"YulExpressionStatement","src":"102762:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34583,"isOffset":false,"isSlot":false,"src":"102331:2:22","valueSize":1},{"declaration":34586,"isOffset":false,"isSlot":false,"src":"102361:2:22","valueSize":1},{"declaration":34589,"isOffset":false,"isSlot":false,"src":"102391:2:22","valueSize":1},{"declaration":34592,"isOffset":false,"isSlot":false,"src":"102421:2:22","valueSize":1},{"declaration":34595,"isOffset":false,"isSlot":false,"src":"102451:2:22","valueSize":1},{"declaration":34598,"isOffset":false,"isSlot":false,"src":"102481:2:22","valueSize":1},{"declaration":34601,"isOffset":false,"isSlot":false,"src":"102511:2:22","valueSize":1},{"declaration":34573,"isOffset":false,"isSlot":false,"src":"102657:2:22","valueSize":1},{"declaration":34575,"isOffset":false,"isSlot":false,"src":"102686:2:22","valueSize":1},{"declaration":34577,"isOffset":false,"isSlot":false,"src":"102715:2:22","valueSize":1},{"declaration":34579,"isOffset":false,"isSlot":false,"src":"102780:2:22","valueSize":1}],"id":34603,"nodeType":"InlineAssembly","src":"101953:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102818:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102824:4:22","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":34604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"102802:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"102802:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34608,"nodeType":"ExpressionStatement","src":"102802:27:22"},{"AST":{"nativeSrc":"102891:214:22","nodeType":"YulBlock","src":"102891:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"102912:4:22","nodeType":"YulLiteral","src":"102912:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"102918:2:22","nodeType":"YulIdentifier","src":"102918:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102905:6:22","nodeType":"YulIdentifier","src":"102905:6:22"},"nativeSrc":"102905:16:22","nodeType":"YulFunctionCall","src":"102905:16:22"},"nativeSrc":"102905:16:22","nodeType":"YulExpressionStatement","src":"102905:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102941:4:22","nodeType":"YulLiteral","src":"102941:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"102947:2:22","nodeType":"YulIdentifier","src":"102947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102934:6:22","nodeType":"YulIdentifier","src":"102934:6:22"},"nativeSrc":"102934:16:22","nodeType":"YulFunctionCall","src":"102934:16:22"},"nativeSrc":"102934:16:22","nodeType":"YulExpressionStatement","src":"102934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102970:4:22","nodeType":"YulLiteral","src":"102970:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"102976:2:22","nodeType":"YulIdentifier","src":"102976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102963:6:22","nodeType":"YulIdentifier","src":"102963:6:22"},"nativeSrc":"102963:16:22","nodeType":"YulFunctionCall","src":"102963:16:22"},"nativeSrc":"102963:16:22","nodeType":"YulExpressionStatement","src":"102963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102999:4:22","nodeType":"YulLiteral","src":"102999:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"103005:2:22","nodeType":"YulIdentifier","src":"103005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"102992:6:22","nodeType":"YulIdentifier","src":"102992:6:22"},"nativeSrc":"102992:16:22","nodeType":"YulFunctionCall","src":"102992:16:22"},"nativeSrc":"102992:16:22","nodeType":"YulExpressionStatement","src":"102992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103028:4:22","nodeType":"YulLiteral","src":"103028:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"103034:2:22","nodeType":"YulIdentifier","src":"103034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"103021:6:22","nodeType":"YulIdentifier","src":"103021:6:22"},"nativeSrc":"103021:16:22","nodeType":"YulFunctionCall","src":"103021:16:22"},"nativeSrc":"103021:16:22","nodeType":"YulExpressionStatement","src":"103021:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103057:4:22","nodeType":"YulLiteral","src":"103057:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"103063:2:22","nodeType":"YulIdentifier","src":"103063:2:22"}],"functionName":{"name":"mstore","nativeSrc":"103050:6:22","nodeType":"YulIdentifier","src":"103050:6:22"},"nativeSrc":"103050:16:22","nodeType":"YulFunctionCall","src":"103050:16:22"},"nativeSrc":"103050:16:22","nodeType":"YulExpressionStatement","src":"103050:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103086:4:22","nodeType":"YulLiteral","src":"103086:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"103092:2:22","nodeType":"YulIdentifier","src":"103092:2:22"}],"functionName":{"name":"mstore","nativeSrc":"103079:6:22","nodeType":"YulIdentifier","src":"103079:6:22"},"nativeSrc":"103079:16:22","nodeType":"YulFunctionCall","src":"103079:16:22"},"nativeSrc":"103079:16:22","nodeType":"YulExpressionStatement","src":"103079:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34583,"isOffset":false,"isSlot":false,"src":"102918:2:22","valueSize":1},{"declaration":34586,"isOffset":false,"isSlot":false,"src":"102947:2:22","valueSize":1},{"declaration":34589,"isOffset":false,"isSlot":false,"src":"102976:2:22","valueSize":1},{"declaration":34592,"isOffset":false,"isSlot":false,"src":"103005:2:22","valueSize":1},{"declaration":34595,"isOffset":false,"isSlot":false,"src":"103034:2:22","valueSize":1},{"declaration":34598,"isOffset":false,"isSlot":false,"src":"103063:2:22","valueSize":1},{"declaration":34601,"isOffset":false,"isSlot":false,"src":"103092:2:22","valueSize":1}],"id":34609,"nodeType":"InlineAssembly","src":"102882:223:22"}]},"id":34611,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"101694:3:22","nodeType":"FunctionDefinition","parameters":{"id":34580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34573,"mutability":"mutable","name":"p0","nameLocation":"101706:2:22","nodeType":"VariableDeclaration","scope":34611,"src":"101698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34572,"name":"address","nodeType":"ElementaryTypeName","src":"101698:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34575,"mutability":"mutable","name":"p1","nameLocation":"101718:2:22","nodeType":"VariableDeclaration","scope":34611,"src":"101710:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34574,"name":"address","nodeType":"ElementaryTypeName","src":"101710:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34577,"mutability":"mutable","name":"p2","nameLocation":"101730:2:22","nodeType":"VariableDeclaration","scope":34611,"src":"101722:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34576,"name":"uint256","nodeType":"ElementaryTypeName","src":"101722:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34579,"mutability":"mutable","name":"p3","nameLocation":"101742:2:22","nodeType":"VariableDeclaration","scope":34611,"src":"101734:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101734:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101697:48:22"},"returnParameters":{"id":34581,"nodeType":"ParameterList","parameters":[],"src":"101760:0:22"},"scope":44426,"src":"101685:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34650,"nodeType":"Block","src":"103192:1351:22","statements":[{"assignments":[34623],"declarations":[{"constant":false,"id":34623,"mutability":"mutable","name":"m0","nameLocation":"103210:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103202:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103202:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34624,"nodeType":"VariableDeclarationStatement","src":"103202:10:22"},{"assignments":[34626],"declarations":[{"constant":false,"id":34626,"mutability":"mutable","name":"m1","nameLocation":"103230:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103222:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103222:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34627,"nodeType":"VariableDeclarationStatement","src":"103222:10:22"},{"assignments":[34629],"declarations":[{"constant":false,"id":34629,"mutability":"mutable","name":"m2","nameLocation":"103250:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103242:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34628,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103242:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34630,"nodeType":"VariableDeclarationStatement","src":"103242:10:22"},{"assignments":[34632],"declarations":[{"constant":false,"id":34632,"mutability":"mutable","name":"m3","nameLocation":"103270:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103262:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103262:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34633,"nodeType":"VariableDeclarationStatement","src":"103262:10:22"},{"assignments":[34635],"declarations":[{"constant":false,"id":34635,"mutability":"mutable","name":"m4","nameLocation":"103290:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103282:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103282:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34636,"nodeType":"VariableDeclarationStatement","src":"103282:10:22"},{"assignments":[34638],"declarations":[{"constant":false,"id":34638,"mutability":"mutable","name":"m5","nameLocation":"103310:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103302:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103302:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34639,"nodeType":"VariableDeclarationStatement","src":"103302:10:22"},{"assignments":[34641],"declarations":[{"constant":false,"id":34641,"mutability":"mutable","name":"m6","nameLocation":"103330:2:22","nodeType":"VariableDeclaration","scope":34650,"src":"103322:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103322:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34642,"nodeType":"VariableDeclarationStatement","src":"103322:10:22"},{"AST":{"nativeSrc":"103394:831:22","nodeType":"YulBlock","src":"103394:831:22","statements":[{"body":{"nativeSrc":"103437:313:22","nodeType":"YulBlock","src":"103437:313:22","statements":[{"nativeSrc":"103455:15:22","nodeType":"YulVariableDeclaration","src":"103455:15:22","value":{"kind":"number","nativeSrc":"103469:1:22","nodeType":"YulLiteral","src":"103469:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"103459:6:22","nodeType":"YulTypedName","src":"103459:6:22","type":""}]},{"body":{"nativeSrc":"103540:40:22","nodeType":"YulBlock","src":"103540:40:22","statements":[{"body":{"nativeSrc":"103569:9:22","nodeType":"YulBlock","src":"103569:9:22","statements":[{"nativeSrc":"103571:5:22","nodeType":"YulBreak","src":"103571:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"103557:6:22","nodeType":"YulIdentifier","src":"103557:6:22"},{"name":"w","nativeSrc":"103565:1:22","nodeType":"YulIdentifier","src":"103565:1:22"}],"functionName":{"name":"byte","nativeSrc":"103552:4:22","nodeType":"YulIdentifier","src":"103552:4:22"},"nativeSrc":"103552:15:22","nodeType":"YulFunctionCall","src":"103552:15:22"}],"functionName":{"name":"iszero","nativeSrc":"103545:6:22","nodeType":"YulIdentifier","src":"103545:6:22"},"nativeSrc":"103545:23:22","nodeType":"YulFunctionCall","src":"103545:23:22"},"nativeSrc":"103542:36:22","nodeType":"YulIf","src":"103542:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"103497:6:22","nodeType":"YulIdentifier","src":"103497:6:22"},{"kind":"number","nativeSrc":"103505:4:22","nodeType":"YulLiteral","src":"103505:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"103494:2:22","nodeType":"YulIdentifier","src":"103494:2:22"},"nativeSrc":"103494:16:22","nodeType":"YulFunctionCall","src":"103494:16:22"},"nativeSrc":"103487:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"103511:28:22","nodeType":"YulBlock","src":"103511:28:22","statements":[{"nativeSrc":"103513:24:22","nodeType":"YulAssignment","src":"103513:24:22","value":{"arguments":[{"name":"length","nativeSrc":"103527:6:22","nodeType":"YulIdentifier","src":"103527:6:22"},{"kind":"number","nativeSrc":"103535:1:22","nodeType":"YulLiteral","src":"103535:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"103523:3:22","nodeType":"YulIdentifier","src":"103523:3:22"},"nativeSrc":"103523:14:22","nodeType":"YulFunctionCall","src":"103523:14:22"},"variableNames":[{"name":"length","nativeSrc":"103513:6:22","nodeType":"YulIdentifier","src":"103513:6:22"}]}]},"pre":{"nativeSrc":"103491:2:22","nodeType":"YulBlock","src":"103491:2:22","statements":[]},"src":"103487:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"103604:3:22","nodeType":"YulIdentifier","src":"103604:3:22"},{"name":"length","nativeSrc":"103609:6:22","nodeType":"YulIdentifier","src":"103609:6:22"}],"functionName":{"name":"mstore","nativeSrc":"103597:6:22","nodeType":"YulIdentifier","src":"103597:6:22"},"nativeSrc":"103597:19:22","nodeType":"YulFunctionCall","src":"103597:19:22"},"nativeSrc":"103597:19:22","nodeType":"YulExpressionStatement","src":"103597:19:22"},{"nativeSrc":"103633:37:22","nodeType":"YulVariableDeclaration","src":"103633:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"103650:3:22","nodeType":"YulLiteral","src":"103650:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"103659:1:22","nodeType":"YulLiteral","src":"103659:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"103662:6:22","nodeType":"YulIdentifier","src":"103662:6:22"}],"functionName":{"name":"shl","nativeSrc":"103655:3:22","nodeType":"YulIdentifier","src":"103655:3:22"},"nativeSrc":"103655:14:22","nodeType":"YulFunctionCall","src":"103655:14:22"}],"functionName":{"name":"sub","nativeSrc":"103646:3:22","nodeType":"YulIdentifier","src":"103646:3:22"},"nativeSrc":"103646:24:22","nodeType":"YulFunctionCall","src":"103646:24:22"},"variables":[{"name":"shift","nativeSrc":"103637:5:22","nodeType":"YulTypedName","src":"103637:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"103698:3:22","nodeType":"YulIdentifier","src":"103698:3:22"},{"kind":"number","nativeSrc":"103703:4:22","nodeType":"YulLiteral","src":"103703:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"103694:3:22","nodeType":"YulIdentifier","src":"103694:3:22"},"nativeSrc":"103694:14:22","nodeType":"YulFunctionCall","src":"103694:14:22"},{"arguments":[{"name":"shift","nativeSrc":"103714:5:22","nodeType":"YulIdentifier","src":"103714:5:22"},{"arguments":[{"name":"shift","nativeSrc":"103725:5:22","nodeType":"YulIdentifier","src":"103725:5:22"},{"name":"w","nativeSrc":"103732:1:22","nodeType":"YulIdentifier","src":"103732:1:22"}],"functionName":{"name":"shr","nativeSrc":"103721:3:22","nodeType":"YulIdentifier","src":"103721:3:22"},"nativeSrc":"103721:13:22","nodeType":"YulFunctionCall","src":"103721:13:22"}],"functionName":{"name":"shl","nativeSrc":"103710:3:22","nodeType":"YulIdentifier","src":"103710:3:22"},"nativeSrc":"103710:25:22","nodeType":"YulFunctionCall","src":"103710:25:22"}],"functionName":{"name":"mstore","nativeSrc":"103687:6:22","nodeType":"YulIdentifier","src":"103687:6:22"},"nativeSrc":"103687:49:22","nodeType":"YulFunctionCall","src":"103687:49:22"},"nativeSrc":"103687:49:22","nodeType":"YulExpressionStatement","src":"103687:49:22"}]},"name":"writeString","nativeSrc":"103408:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"103429:3:22","nodeType":"YulTypedName","src":"103429:3:22","type":""},{"name":"w","nativeSrc":"103434:1:22","nodeType":"YulTypedName","src":"103434:1:22","type":""}],"src":"103408:342:22"},{"nativeSrc":"103763:17:22","nodeType":"YulAssignment","src":"103763:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103775:4:22","nodeType":"YulLiteral","src":"103775:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"103769:5:22","nodeType":"YulIdentifier","src":"103769:5:22"},"nativeSrc":"103769:11:22","nodeType":"YulFunctionCall","src":"103769:11:22"},"variableNames":[{"name":"m0","nativeSrc":"103763:2:22","nodeType":"YulIdentifier","src":"103763:2:22"}]},{"nativeSrc":"103793:17:22","nodeType":"YulAssignment","src":"103793:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103805:4:22","nodeType":"YulLiteral","src":"103805:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"103799:5:22","nodeType":"YulIdentifier","src":"103799:5:22"},"nativeSrc":"103799:11:22","nodeType":"YulFunctionCall","src":"103799:11:22"},"variableNames":[{"name":"m1","nativeSrc":"103793:2:22","nodeType":"YulIdentifier","src":"103793:2:22"}]},{"nativeSrc":"103823:17:22","nodeType":"YulAssignment","src":"103823:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103835:4:22","nodeType":"YulLiteral","src":"103835:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"103829:5:22","nodeType":"YulIdentifier","src":"103829:5:22"},"nativeSrc":"103829:11:22","nodeType":"YulFunctionCall","src":"103829:11:22"},"variableNames":[{"name":"m2","nativeSrc":"103823:2:22","nodeType":"YulIdentifier","src":"103823:2:22"}]},{"nativeSrc":"103853:17:22","nodeType":"YulAssignment","src":"103853:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103865:4:22","nodeType":"YulLiteral","src":"103865:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"103859:5:22","nodeType":"YulIdentifier","src":"103859:5:22"},"nativeSrc":"103859:11:22","nodeType":"YulFunctionCall","src":"103859:11:22"},"variableNames":[{"name":"m3","nativeSrc":"103853:2:22","nodeType":"YulIdentifier","src":"103853:2:22"}]},{"nativeSrc":"103883:17:22","nodeType":"YulAssignment","src":"103883:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103895:4:22","nodeType":"YulLiteral","src":"103895:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"103889:5:22","nodeType":"YulIdentifier","src":"103889:5:22"},"nativeSrc":"103889:11:22","nodeType":"YulFunctionCall","src":"103889:11:22"},"variableNames":[{"name":"m4","nativeSrc":"103883:2:22","nodeType":"YulIdentifier","src":"103883:2:22"}]},{"nativeSrc":"103913:17:22","nodeType":"YulAssignment","src":"103913:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103925:4:22","nodeType":"YulLiteral","src":"103925:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"103919:5:22","nodeType":"YulIdentifier","src":"103919:5:22"},"nativeSrc":"103919:11:22","nodeType":"YulFunctionCall","src":"103919:11:22"},"variableNames":[{"name":"m5","nativeSrc":"103913:2:22","nodeType":"YulIdentifier","src":"103913:2:22"}]},{"nativeSrc":"103943:17:22","nodeType":"YulAssignment","src":"103943:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"103955:4:22","nodeType":"YulLiteral","src":"103955:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"103949:5:22","nodeType":"YulIdentifier","src":"103949:5:22"},"nativeSrc":"103949:11:22","nodeType":"YulFunctionCall","src":"103949:11:22"},"variableNames":[{"name":"m6","nativeSrc":"103943:2:22","nodeType":"YulIdentifier","src":"103943:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104046:4:22","nodeType":"YulLiteral","src":"104046:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"104052:10:22","nodeType":"YulLiteral","src":"104052:10:22","type":"","value":"0x8f736d16"}],"functionName":{"name":"mstore","nativeSrc":"104039:6:22","nodeType":"YulIdentifier","src":"104039:6:22"},"nativeSrc":"104039:24:22","nodeType":"YulFunctionCall","src":"104039:24:22"},"nativeSrc":"104039:24:22","nodeType":"YulExpressionStatement","src":"104039:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104083:4:22","nodeType":"YulLiteral","src":"104083:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"104089:2:22","nodeType":"YulIdentifier","src":"104089:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104076:6:22","nodeType":"YulIdentifier","src":"104076:6:22"},"nativeSrc":"104076:16:22","nodeType":"YulFunctionCall","src":"104076:16:22"},"nativeSrc":"104076:16:22","nodeType":"YulExpressionStatement","src":"104076:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104112:4:22","nodeType":"YulLiteral","src":"104112:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"104118:2:22","nodeType":"YulIdentifier","src":"104118:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104105:6:22","nodeType":"YulIdentifier","src":"104105:6:22"},"nativeSrc":"104105:16:22","nodeType":"YulFunctionCall","src":"104105:16:22"},"nativeSrc":"104105:16:22","nodeType":"YulExpressionStatement","src":"104105:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104141:4:22","nodeType":"YulLiteral","src":"104141:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"104147:4:22","nodeType":"YulLiteral","src":"104147:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"104134:6:22","nodeType":"YulIdentifier","src":"104134:6:22"},"nativeSrc":"104134:18:22","nodeType":"YulFunctionCall","src":"104134:18:22"},"nativeSrc":"104134:18:22","nodeType":"YulExpressionStatement","src":"104134:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104172:4:22","nodeType":"YulLiteral","src":"104172:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"104178:2:22","nodeType":"YulIdentifier","src":"104178:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104165:6:22","nodeType":"YulIdentifier","src":"104165:6:22"},"nativeSrc":"104165:16:22","nodeType":"YulFunctionCall","src":"104165:16:22"},"nativeSrc":"104165:16:22","nodeType":"YulExpressionStatement","src":"104165:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104206:4:22","nodeType":"YulLiteral","src":"104206:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"104212:2:22","nodeType":"YulIdentifier","src":"104212:2:22"}],"functionName":{"name":"writeString","nativeSrc":"104194:11:22","nodeType":"YulIdentifier","src":"104194:11:22"},"nativeSrc":"104194:21:22","nodeType":"YulFunctionCall","src":"104194:21:22"},"nativeSrc":"104194:21:22","nodeType":"YulExpressionStatement","src":"104194:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34623,"isOffset":false,"isSlot":false,"src":"103763:2:22","valueSize":1},{"declaration":34626,"isOffset":false,"isSlot":false,"src":"103793:2:22","valueSize":1},{"declaration":34629,"isOffset":false,"isSlot":false,"src":"103823:2:22","valueSize":1},{"declaration":34632,"isOffset":false,"isSlot":false,"src":"103853:2:22","valueSize":1},{"declaration":34635,"isOffset":false,"isSlot":false,"src":"103883:2:22","valueSize":1},{"declaration":34638,"isOffset":false,"isSlot":false,"src":"103913:2:22","valueSize":1},{"declaration":34641,"isOffset":false,"isSlot":false,"src":"103943:2:22","valueSize":1},{"declaration":34613,"isOffset":false,"isSlot":false,"src":"104089:2:22","valueSize":1},{"declaration":34615,"isOffset":false,"isSlot":false,"src":"104118:2:22","valueSize":1},{"declaration":34617,"isOffset":false,"isSlot":false,"src":"104212:2:22","valueSize":1},{"declaration":34619,"isOffset":false,"isSlot":false,"src":"104178:2:22","valueSize":1}],"id":34643,"nodeType":"InlineAssembly","src":"103385:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104250:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104256:4:22","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":34644,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"104234:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"104234:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34648,"nodeType":"ExpressionStatement","src":"104234:27:22"},{"AST":{"nativeSrc":"104323:214:22","nodeType":"YulBlock","src":"104323:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"104344:4:22","nodeType":"YulLiteral","src":"104344:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"104350:2:22","nodeType":"YulIdentifier","src":"104350:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104337:6:22","nodeType":"YulIdentifier","src":"104337:6:22"},"nativeSrc":"104337:16:22","nodeType":"YulFunctionCall","src":"104337:16:22"},"nativeSrc":"104337:16:22","nodeType":"YulExpressionStatement","src":"104337:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104373:4:22","nodeType":"YulLiteral","src":"104373:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"104379:2:22","nodeType":"YulIdentifier","src":"104379:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104366:6:22","nodeType":"YulIdentifier","src":"104366:6:22"},"nativeSrc":"104366:16:22","nodeType":"YulFunctionCall","src":"104366:16:22"},"nativeSrc":"104366:16:22","nodeType":"YulExpressionStatement","src":"104366:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104402:4:22","nodeType":"YulLiteral","src":"104402:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"104408:2:22","nodeType":"YulIdentifier","src":"104408:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104395:6:22","nodeType":"YulIdentifier","src":"104395:6:22"},"nativeSrc":"104395:16:22","nodeType":"YulFunctionCall","src":"104395:16:22"},"nativeSrc":"104395:16:22","nodeType":"YulExpressionStatement","src":"104395:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104431:4:22","nodeType":"YulLiteral","src":"104431:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"104437:2:22","nodeType":"YulIdentifier","src":"104437:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104424:6:22","nodeType":"YulIdentifier","src":"104424:6:22"},"nativeSrc":"104424:16:22","nodeType":"YulFunctionCall","src":"104424:16:22"},"nativeSrc":"104424:16:22","nodeType":"YulExpressionStatement","src":"104424:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104460:4:22","nodeType":"YulLiteral","src":"104460:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"104466:2:22","nodeType":"YulIdentifier","src":"104466:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104453:6:22","nodeType":"YulIdentifier","src":"104453:6:22"},"nativeSrc":"104453:16:22","nodeType":"YulFunctionCall","src":"104453:16:22"},"nativeSrc":"104453:16:22","nodeType":"YulExpressionStatement","src":"104453:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104489:4:22","nodeType":"YulLiteral","src":"104489:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"104495:2:22","nodeType":"YulIdentifier","src":"104495:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104482:6:22","nodeType":"YulIdentifier","src":"104482:6:22"},"nativeSrc":"104482:16:22","nodeType":"YulFunctionCall","src":"104482:16:22"},"nativeSrc":"104482:16:22","nodeType":"YulExpressionStatement","src":"104482:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104518:4:22","nodeType":"YulLiteral","src":"104518:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"104524:2:22","nodeType":"YulIdentifier","src":"104524:2:22"}],"functionName":{"name":"mstore","nativeSrc":"104511:6:22","nodeType":"YulIdentifier","src":"104511:6:22"},"nativeSrc":"104511:16:22","nodeType":"YulFunctionCall","src":"104511:16:22"},"nativeSrc":"104511:16:22","nodeType":"YulExpressionStatement","src":"104511:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34623,"isOffset":false,"isSlot":false,"src":"104350:2:22","valueSize":1},{"declaration":34626,"isOffset":false,"isSlot":false,"src":"104379:2:22","valueSize":1},{"declaration":34629,"isOffset":false,"isSlot":false,"src":"104408:2:22","valueSize":1},{"declaration":34632,"isOffset":false,"isSlot":false,"src":"104437:2:22","valueSize":1},{"declaration":34635,"isOffset":false,"isSlot":false,"src":"104466:2:22","valueSize":1},{"declaration":34638,"isOffset":false,"isSlot":false,"src":"104495:2:22","valueSize":1},{"declaration":34641,"isOffset":false,"isSlot":false,"src":"104524:2:22","valueSize":1}],"id":34649,"nodeType":"InlineAssembly","src":"104314:223:22"}]},"id":34651,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"103126:3:22","nodeType":"FunctionDefinition","parameters":{"id":34620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34613,"mutability":"mutable","name":"p0","nameLocation":"103138:2:22","nodeType":"VariableDeclaration","scope":34651,"src":"103130:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34612,"name":"address","nodeType":"ElementaryTypeName","src":"103130:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34615,"mutability":"mutable","name":"p1","nameLocation":"103150:2:22","nodeType":"VariableDeclaration","scope":34651,"src":"103142:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34614,"name":"address","nodeType":"ElementaryTypeName","src":"103142:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34617,"mutability":"mutable","name":"p2","nameLocation":"103162:2:22","nodeType":"VariableDeclaration","scope":34651,"src":"103154:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103154:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34619,"mutability":"mutable","name":"p3","nameLocation":"103174:2:22","nodeType":"VariableDeclaration","scope":34651,"src":"103166:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34618,"name":"address","nodeType":"ElementaryTypeName","src":"103166:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103129:48:22"},"returnParameters":{"id":34621,"nodeType":"ParameterList","parameters":[],"src":"103192:0:22"},"scope":44426,"src":"103117:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34690,"nodeType":"Block","src":"104621:1348:22","statements":[{"assignments":[34663],"declarations":[{"constant":false,"id":34663,"mutability":"mutable","name":"m0","nameLocation":"104639:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104631:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104631:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34664,"nodeType":"VariableDeclarationStatement","src":"104631:10:22"},{"assignments":[34666],"declarations":[{"constant":false,"id":34666,"mutability":"mutable","name":"m1","nameLocation":"104659:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104651:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104651:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34667,"nodeType":"VariableDeclarationStatement","src":"104651:10:22"},{"assignments":[34669],"declarations":[{"constant":false,"id":34669,"mutability":"mutable","name":"m2","nameLocation":"104679:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104671:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104671:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34670,"nodeType":"VariableDeclarationStatement","src":"104671:10:22"},{"assignments":[34672],"declarations":[{"constant":false,"id":34672,"mutability":"mutable","name":"m3","nameLocation":"104699:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104691:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104691:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34673,"nodeType":"VariableDeclarationStatement","src":"104691:10:22"},{"assignments":[34675],"declarations":[{"constant":false,"id":34675,"mutability":"mutable","name":"m4","nameLocation":"104719:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104711:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104711:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34676,"nodeType":"VariableDeclarationStatement","src":"104711:10:22"},{"assignments":[34678],"declarations":[{"constant":false,"id":34678,"mutability":"mutable","name":"m5","nameLocation":"104739:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104731:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104731:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34679,"nodeType":"VariableDeclarationStatement","src":"104731:10:22"},{"assignments":[34681],"declarations":[{"constant":false,"id":34681,"mutability":"mutable","name":"m6","nameLocation":"104759:2:22","nodeType":"VariableDeclaration","scope":34690,"src":"104751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104751:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34682,"nodeType":"VariableDeclarationStatement","src":"104751:10:22"},{"AST":{"nativeSrc":"104823:828:22","nodeType":"YulBlock","src":"104823:828:22","statements":[{"body":{"nativeSrc":"104866:313:22","nodeType":"YulBlock","src":"104866:313:22","statements":[{"nativeSrc":"104884:15:22","nodeType":"YulVariableDeclaration","src":"104884:15:22","value":{"kind":"number","nativeSrc":"104898:1:22","nodeType":"YulLiteral","src":"104898:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"104888:6:22","nodeType":"YulTypedName","src":"104888:6:22","type":""}]},{"body":{"nativeSrc":"104969:40:22","nodeType":"YulBlock","src":"104969:40:22","statements":[{"body":{"nativeSrc":"104998:9:22","nodeType":"YulBlock","src":"104998:9:22","statements":[{"nativeSrc":"105000:5:22","nodeType":"YulBreak","src":"105000:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"104986:6:22","nodeType":"YulIdentifier","src":"104986:6:22"},{"name":"w","nativeSrc":"104994:1:22","nodeType":"YulIdentifier","src":"104994:1:22"}],"functionName":{"name":"byte","nativeSrc":"104981:4:22","nodeType":"YulIdentifier","src":"104981:4:22"},"nativeSrc":"104981:15:22","nodeType":"YulFunctionCall","src":"104981:15:22"}],"functionName":{"name":"iszero","nativeSrc":"104974:6:22","nodeType":"YulIdentifier","src":"104974:6:22"},"nativeSrc":"104974:23:22","nodeType":"YulFunctionCall","src":"104974:23:22"},"nativeSrc":"104971:36:22","nodeType":"YulIf","src":"104971:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"104926:6:22","nodeType":"YulIdentifier","src":"104926:6:22"},{"kind":"number","nativeSrc":"104934:4:22","nodeType":"YulLiteral","src":"104934:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"104923:2:22","nodeType":"YulIdentifier","src":"104923:2:22"},"nativeSrc":"104923:16:22","nodeType":"YulFunctionCall","src":"104923:16:22"},"nativeSrc":"104916:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"104940:28:22","nodeType":"YulBlock","src":"104940:28:22","statements":[{"nativeSrc":"104942:24:22","nodeType":"YulAssignment","src":"104942:24:22","value":{"arguments":[{"name":"length","nativeSrc":"104956:6:22","nodeType":"YulIdentifier","src":"104956:6:22"},{"kind":"number","nativeSrc":"104964:1:22","nodeType":"YulLiteral","src":"104964:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"104952:3:22","nodeType":"YulIdentifier","src":"104952:3:22"},"nativeSrc":"104952:14:22","nodeType":"YulFunctionCall","src":"104952:14:22"},"variableNames":[{"name":"length","nativeSrc":"104942:6:22","nodeType":"YulIdentifier","src":"104942:6:22"}]}]},"pre":{"nativeSrc":"104920:2:22","nodeType":"YulBlock","src":"104920:2:22","statements":[]},"src":"104916:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"105033:3:22","nodeType":"YulIdentifier","src":"105033:3:22"},{"name":"length","nativeSrc":"105038:6:22","nodeType":"YulIdentifier","src":"105038:6:22"}],"functionName":{"name":"mstore","nativeSrc":"105026:6:22","nodeType":"YulIdentifier","src":"105026:6:22"},"nativeSrc":"105026:19:22","nodeType":"YulFunctionCall","src":"105026:19:22"},"nativeSrc":"105026:19:22","nodeType":"YulExpressionStatement","src":"105026:19:22"},{"nativeSrc":"105062:37:22","nodeType":"YulVariableDeclaration","src":"105062:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"105079:3:22","nodeType":"YulLiteral","src":"105079:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"105088:1:22","nodeType":"YulLiteral","src":"105088:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"105091:6:22","nodeType":"YulIdentifier","src":"105091:6:22"}],"functionName":{"name":"shl","nativeSrc":"105084:3:22","nodeType":"YulIdentifier","src":"105084:3:22"},"nativeSrc":"105084:14:22","nodeType":"YulFunctionCall","src":"105084:14:22"}],"functionName":{"name":"sub","nativeSrc":"105075:3:22","nodeType":"YulIdentifier","src":"105075:3:22"},"nativeSrc":"105075:24:22","nodeType":"YulFunctionCall","src":"105075:24:22"},"variables":[{"name":"shift","nativeSrc":"105066:5:22","nodeType":"YulTypedName","src":"105066:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"105127:3:22","nodeType":"YulIdentifier","src":"105127:3:22"},{"kind":"number","nativeSrc":"105132:4:22","nodeType":"YulLiteral","src":"105132:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"105123:3:22","nodeType":"YulIdentifier","src":"105123:3:22"},"nativeSrc":"105123:14:22","nodeType":"YulFunctionCall","src":"105123:14:22"},{"arguments":[{"name":"shift","nativeSrc":"105143:5:22","nodeType":"YulIdentifier","src":"105143:5:22"},{"arguments":[{"name":"shift","nativeSrc":"105154:5:22","nodeType":"YulIdentifier","src":"105154:5:22"},{"name":"w","nativeSrc":"105161:1:22","nodeType":"YulIdentifier","src":"105161:1:22"}],"functionName":{"name":"shr","nativeSrc":"105150:3:22","nodeType":"YulIdentifier","src":"105150:3:22"},"nativeSrc":"105150:13:22","nodeType":"YulFunctionCall","src":"105150:13:22"}],"functionName":{"name":"shl","nativeSrc":"105139:3:22","nodeType":"YulIdentifier","src":"105139:3:22"},"nativeSrc":"105139:25:22","nodeType":"YulFunctionCall","src":"105139:25:22"}],"functionName":{"name":"mstore","nativeSrc":"105116:6:22","nodeType":"YulIdentifier","src":"105116:6:22"},"nativeSrc":"105116:49:22","nodeType":"YulFunctionCall","src":"105116:49:22"},"nativeSrc":"105116:49:22","nodeType":"YulExpressionStatement","src":"105116:49:22"}]},"name":"writeString","nativeSrc":"104837:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"104858:3:22","nodeType":"YulTypedName","src":"104858:3:22","type":""},{"name":"w","nativeSrc":"104863:1:22","nodeType":"YulTypedName","src":"104863:1:22","type":""}],"src":"104837:342:22"},{"nativeSrc":"105192:17:22","nodeType":"YulAssignment","src":"105192:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105204:4:22","nodeType":"YulLiteral","src":"105204:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"105198:5:22","nodeType":"YulIdentifier","src":"105198:5:22"},"nativeSrc":"105198:11:22","nodeType":"YulFunctionCall","src":"105198:11:22"},"variableNames":[{"name":"m0","nativeSrc":"105192:2:22","nodeType":"YulIdentifier","src":"105192:2:22"}]},{"nativeSrc":"105222:17:22","nodeType":"YulAssignment","src":"105222:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105234:4:22","nodeType":"YulLiteral","src":"105234:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"105228:5:22","nodeType":"YulIdentifier","src":"105228:5:22"},"nativeSrc":"105228:11:22","nodeType":"YulFunctionCall","src":"105228:11:22"},"variableNames":[{"name":"m1","nativeSrc":"105222:2:22","nodeType":"YulIdentifier","src":"105222:2:22"}]},{"nativeSrc":"105252:17:22","nodeType":"YulAssignment","src":"105252:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105264:4:22","nodeType":"YulLiteral","src":"105264:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"105258:5:22","nodeType":"YulIdentifier","src":"105258:5:22"},"nativeSrc":"105258:11:22","nodeType":"YulFunctionCall","src":"105258:11:22"},"variableNames":[{"name":"m2","nativeSrc":"105252:2:22","nodeType":"YulIdentifier","src":"105252:2:22"}]},{"nativeSrc":"105282:17:22","nodeType":"YulAssignment","src":"105282:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105294:4:22","nodeType":"YulLiteral","src":"105294:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"105288:5:22","nodeType":"YulIdentifier","src":"105288:5:22"},"nativeSrc":"105288:11:22","nodeType":"YulFunctionCall","src":"105288:11:22"},"variableNames":[{"name":"m3","nativeSrc":"105282:2:22","nodeType":"YulIdentifier","src":"105282:2:22"}]},{"nativeSrc":"105312:17:22","nodeType":"YulAssignment","src":"105312:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105324:4:22","nodeType":"YulLiteral","src":"105324:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"105318:5:22","nodeType":"YulIdentifier","src":"105318:5:22"},"nativeSrc":"105318:11:22","nodeType":"YulFunctionCall","src":"105318:11:22"},"variableNames":[{"name":"m4","nativeSrc":"105312:2:22","nodeType":"YulIdentifier","src":"105312:2:22"}]},{"nativeSrc":"105342:17:22","nodeType":"YulAssignment","src":"105342:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105354:4:22","nodeType":"YulLiteral","src":"105354:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"105348:5:22","nodeType":"YulIdentifier","src":"105348:5:22"},"nativeSrc":"105348:11:22","nodeType":"YulFunctionCall","src":"105348:11:22"},"variableNames":[{"name":"m5","nativeSrc":"105342:2:22","nodeType":"YulIdentifier","src":"105342:2:22"}]},{"nativeSrc":"105372:17:22","nodeType":"YulAssignment","src":"105372:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"105384:4:22","nodeType":"YulLiteral","src":"105384:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"105378:5:22","nodeType":"YulIdentifier","src":"105378:5:22"},"nativeSrc":"105378:11:22","nodeType":"YulFunctionCall","src":"105378:11:22"},"variableNames":[{"name":"m6","nativeSrc":"105372:2:22","nodeType":"YulIdentifier","src":"105372:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105472:4:22","nodeType":"YulLiteral","src":"105472:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"105478:10:22","nodeType":"YulLiteral","src":"105478:10:22","type":"","value":"0x6f1a594e"}],"functionName":{"name":"mstore","nativeSrc":"105465:6:22","nodeType":"YulIdentifier","src":"105465:6:22"},"nativeSrc":"105465:24:22","nodeType":"YulFunctionCall","src":"105465:24:22"},"nativeSrc":"105465:24:22","nodeType":"YulExpressionStatement","src":"105465:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105509:4:22","nodeType":"YulLiteral","src":"105509:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"105515:2:22","nodeType":"YulIdentifier","src":"105515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105502:6:22","nodeType":"YulIdentifier","src":"105502:6:22"},"nativeSrc":"105502:16:22","nodeType":"YulFunctionCall","src":"105502:16:22"},"nativeSrc":"105502:16:22","nodeType":"YulExpressionStatement","src":"105502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105538:4:22","nodeType":"YulLiteral","src":"105538:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"105544:2:22","nodeType":"YulIdentifier","src":"105544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105531:6:22","nodeType":"YulIdentifier","src":"105531:6:22"},"nativeSrc":"105531:16:22","nodeType":"YulFunctionCall","src":"105531:16:22"},"nativeSrc":"105531:16:22","nodeType":"YulExpressionStatement","src":"105531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105567:4:22","nodeType":"YulLiteral","src":"105567:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"105573:4:22","nodeType":"YulLiteral","src":"105573:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"105560:6:22","nodeType":"YulIdentifier","src":"105560:6:22"},"nativeSrc":"105560:18:22","nodeType":"YulFunctionCall","src":"105560:18:22"},"nativeSrc":"105560:18:22","nodeType":"YulExpressionStatement","src":"105560:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105598:4:22","nodeType":"YulLiteral","src":"105598:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"105604:2:22","nodeType":"YulIdentifier","src":"105604:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105591:6:22","nodeType":"YulIdentifier","src":"105591:6:22"},"nativeSrc":"105591:16:22","nodeType":"YulFunctionCall","src":"105591:16:22"},"nativeSrc":"105591:16:22","nodeType":"YulExpressionStatement","src":"105591:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105632:4:22","nodeType":"YulLiteral","src":"105632:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"105638:2:22","nodeType":"YulIdentifier","src":"105638:2:22"}],"functionName":{"name":"writeString","nativeSrc":"105620:11:22","nodeType":"YulIdentifier","src":"105620:11:22"},"nativeSrc":"105620:21:22","nodeType":"YulFunctionCall","src":"105620:21:22"},"nativeSrc":"105620:21:22","nodeType":"YulExpressionStatement","src":"105620:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34663,"isOffset":false,"isSlot":false,"src":"105192:2:22","valueSize":1},{"declaration":34666,"isOffset":false,"isSlot":false,"src":"105222:2:22","valueSize":1},{"declaration":34669,"isOffset":false,"isSlot":false,"src":"105252:2:22","valueSize":1},{"declaration":34672,"isOffset":false,"isSlot":false,"src":"105282:2:22","valueSize":1},{"declaration":34675,"isOffset":false,"isSlot":false,"src":"105312:2:22","valueSize":1},{"declaration":34678,"isOffset":false,"isSlot":false,"src":"105342:2:22","valueSize":1},{"declaration":34681,"isOffset":false,"isSlot":false,"src":"105372:2:22","valueSize":1},{"declaration":34653,"isOffset":false,"isSlot":false,"src":"105515:2:22","valueSize":1},{"declaration":34655,"isOffset":false,"isSlot":false,"src":"105544:2:22","valueSize":1},{"declaration":34657,"isOffset":false,"isSlot":false,"src":"105638:2:22","valueSize":1},{"declaration":34659,"isOffset":false,"isSlot":false,"src":"105604:2:22","valueSize":1}],"id":34683,"nodeType":"InlineAssembly","src":"104814:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105676:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105682:4:22","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":34684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"105660:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"105660:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34688,"nodeType":"ExpressionStatement","src":"105660:27:22"},{"AST":{"nativeSrc":"105749:214:22","nodeType":"YulBlock","src":"105749:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"105770:4:22","nodeType":"YulLiteral","src":"105770:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"105776:2:22","nodeType":"YulIdentifier","src":"105776:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105763:6:22","nodeType":"YulIdentifier","src":"105763:6:22"},"nativeSrc":"105763:16:22","nodeType":"YulFunctionCall","src":"105763:16:22"},"nativeSrc":"105763:16:22","nodeType":"YulExpressionStatement","src":"105763:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105799:4:22","nodeType":"YulLiteral","src":"105799:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"105805:2:22","nodeType":"YulIdentifier","src":"105805:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105792:6:22","nodeType":"YulIdentifier","src":"105792:6:22"},"nativeSrc":"105792:16:22","nodeType":"YulFunctionCall","src":"105792:16:22"},"nativeSrc":"105792:16:22","nodeType":"YulExpressionStatement","src":"105792:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105828:4:22","nodeType":"YulLiteral","src":"105828:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"105834:2:22","nodeType":"YulIdentifier","src":"105834:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105821:6:22","nodeType":"YulIdentifier","src":"105821:6:22"},"nativeSrc":"105821:16:22","nodeType":"YulFunctionCall","src":"105821:16:22"},"nativeSrc":"105821:16:22","nodeType":"YulExpressionStatement","src":"105821:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105857:4:22","nodeType":"YulLiteral","src":"105857:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"105863:2:22","nodeType":"YulIdentifier","src":"105863:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105850:6:22","nodeType":"YulIdentifier","src":"105850:6:22"},"nativeSrc":"105850:16:22","nodeType":"YulFunctionCall","src":"105850:16:22"},"nativeSrc":"105850:16:22","nodeType":"YulExpressionStatement","src":"105850:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105886:4:22","nodeType":"YulLiteral","src":"105886:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"105892:2:22","nodeType":"YulIdentifier","src":"105892:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105879:6:22","nodeType":"YulIdentifier","src":"105879:6:22"},"nativeSrc":"105879:16:22","nodeType":"YulFunctionCall","src":"105879:16:22"},"nativeSrc":"105879:16:22","nodeType":"YulExpressionStatement","src":"105879:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105915:4:22","nodeType":"YulLiteral","src":"105915:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"105921:2:22","nodeType":"YulIdentifier","src":"105921:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105908:6:22","nodeType":"YulIdentifier","src":"105908:6:22"},"nativeSrc":"105908:16:22","nodeType":"YulFunctionCall","src":"105908:16:22"},"nativeSrc":"105908:16:22","nodeType":"YulExpressionStatement","src":"105908:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105944:4:22","nodeType":"YulLiteral","src":"105944:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"105950:2:22","nodeType":"YulIdentifier","src":"105950:2:22"}],"functionName":{"name":"mstore","nativeSrc":"105937:6:22","nodeType":"YulIdentifier","src":"105937:6:22"},"nativeSrc":"105937:16:22","nodeType":"YulFunctionCall","src":"105937:16:22"},"nativeSrc":"105937:16:22","nodeType":"YulExpressionStatement","src":"105937:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34663,"isOffset":false,"isSlot":false,"src":"105776:2:22","valueSize":1},{"declaration":34666,"isOffset":false,"isSlot":false,"src":"105805:2:22","valueSize":1},{"declaration":34669,"isOffset":false,"isSlot":false,"src":"105834:2:22","valueSize":1},{"declaration":34672,"isOffset":false,"isSlot":false,"src":"105863:2:22","valueSize":1},{"declaration":34675,"isOffset":false,"isSlot":false,"src":"105892:2:22","valueSize":1},{"declaration":34678,"isOffset":false,"isSlot":false,"src":"105921:2:22","valueSize":1},{"declaration":34681,"isOffset":false,"isSlot":false,"src":"105950:2:22","valueSize":1}],"id":34689,"nodeType":"InlineAssembly","src":"105740:223:22"}]},"id":34691,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"104558:3:22","nodeType":"FunctionDefinition","parameters":{"id":34660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34653,"mutability":"mutable","name":"p0","nameLocation":"104570:2:22","nodeType":"VariableDeclaration","scope":34691,"src":"104562:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34652,"name":"address","nodeType":"ElementaryTypeName","src":"104562:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34655,"mutability":"mutable","name":"p1","nameLocation":"104582:2:22","nodeType":"VariableDeclaration","scope":34691,"src":"104574:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34654,"name":"address","nodeType":"ElementaryTypeName","src":"104574:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34657,"mutability":"mutable","name":"p2","nameLocation":"104594:2:22","nodeType":"VariableDeclaration","scope":34691,"src":"104586:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104586:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34659,"mutability":"mutable","name":"p3","nameLocation":"104603:2:22","nodeType":"VariableDeclaration","scope":34691,"src":"104598:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34658,"name":"bool","nodeType":"ElementaryTypeName","src":"104598:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"104561:45:22"},"returnParameters":{"id":34661,"nodeType":"ParameterList","parameters":[],"src":"104621:0:22"},"scope":44426,"src":"104549:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34730,"nodeType":"Block","src":"106050:1351:22","statements":[{"assignments":[34703],"declarations":[{"constant":false,"id":34703,"mutability":"mutable","name":"m0","nameLocation":"106068:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106060:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106060:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34704,"nodeType":"VariableDeclarationStatement","src":"106060:10:22"},{"assignments":[34706],"declarations":[{"constant":false,"id":34706,"mutability":"mutable","name":"m1","nameLocation":"106088:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106080:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106080:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34707,"nodeType":"VariableDeclarationStatement","src":"106080:10:22"},{"assignments":[34709],"declarations":[{"constant":false,"id":34709,"mutability":"mutable","name":"m2","nameLocation":"106108:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106100:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34710,"nodeType":"VariableDeclarationStatement","src":"106100:10:22"},{"assignments":[34712],"declarations":[{"constant":false,"id":34712,"mutability":"mutable","name":"m3","nameLocation":"106128:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106120:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34713,"nodeType":"VariableDeclarationStatement","src":"106120:10:22"},{"assignments":[34715],"declarations":[{"constant":false,"id":34715,"mutability":"mutable","name":"m4","nameLocation":"106148:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106140:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106140:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34716,"nodeType":"VariableDeclarationStatement","src":"106140:10:22"},{"assignments":[34718],"declarations":[{"constant":false,"id":34718,"mutability":"mutable","name":"m5","nameLocation":"106168:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106160:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106160:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34719,"nodeType":"VariableDeclarationStatement","src":"106160:10:22"},{"assignments":[34721],"declarations":[{"constant":false,"id":34721,"mutability":"mutable","name":"m6","nameLocation":"106188:2:22","nodeType":"VariableDeclaration","scope":34730,"src":"106180:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106180:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34722,"nodeType":"VariableDeclarationStatement","src":"106180:10:22"},{"AST":{"nativeSrc":"106252:831:22","nodeType":"YulBlock","src":"106252:831:22","statements":[{"body":{"nativeSrc":"106295:313:22","nodeType":"YulBlock","src":"106295:313:22","statements":[{"nativeSrc":"106313:15:22","nodeType":"YulVariableDeclaration","src":"106313:15:22","value":{"kind":"number","nativeSrc":"106327:1:22","nodeType":"YulLiteral","src":"106327:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"106317:6:22","nodeType":"YulTypedName","src":"106317:6:22","type":""}]},{"body":{"nativeSrc":"106398:40:22","nodeType":"YulBlock","src":"106398:40:22","statements":[{"body":{"nativeSrc":"106427:9:22","nodeType":"YulBlock","src":"106427:9:22","statements":[{"nativeSrc":"106429:5:22","nodeType":"YulBreak","src":"106429:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"106415:6:22","nodeType":"YulIdentifier","src":"106415:6:22"},{"name":"w","nativeSrc":"106423:1:22","nodeType":"YulIdentifier","src":"106423:1:22"}],"functionName":{"name":"byte","nativeSrc":"106410:4:22","nodeType":"YulIdentifier","src":"106410:4:22"},"nativeSrc":"106410:15:22","nodeType":"YulFunctionCall","src":"106410:15:22"}],"functionName":{"name":"iszero","nativeSrc":"106403:6:22","nodeType":"YulIdentifier","src":"106403:6:22"},"nativeSrc":"106403:23:22","nodeType":"YulFunctionCall","src":"106403:23:22"},"nativeSrc":"106400:36:22","nodeType":"YulIf","src":"106400:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"106355:6:22","nodeType":"YulIdentifier","src":"106355:6:22"},{"kind":"number","nativeSrc":"106363:4:22","nodeType":"YulLiteral","src":"106363:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"106352:2:22","nodeType":"YulIdentifier","src":"106352:2:22"},"nativeSrc":"106352:16:22","nodeType":"YulFunctionCall","src":"106352:16:22"},"nativeSrc":"106345:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"106369:28:22","nodeType":"YulBlock","src":"106369:28:22","statements":[{"nativeSrc":"106371:24:22","nodeType":"YulAssignment","src":"106371:24:22","value":{"arguments":[{"name":"length","nativeSrc":"106385:6:22","nodeType":"YulIdentifier","src":"106385:6:22"},{"kind":"number","nativeSrc":"106393:1:22","nodeType":"YulLiteral","src":"106393:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"106381:3:22","nodeType":"YulIdentifier","src":"106381:3:22"},"nativeSrc":"106381:14:22","nodeType":"YulFunctionCall","src":"106381:14:22"},"variableNames":[{"name":"length","nativeSrc":"106371:6:22","nodeType":"YulIdentifier","src":"106371:6:22"}]}]},"pre":{"nativeSrc":"106349:2:22","nodeType":"YulBlock","src":"106349:2:22","statements":[]},"src":"106345:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"106462:3:22","nodeType":"YulIdentifier","src":"106462:3:22"},{"name":"length","nativeSrc":"106467:6:22","nodeType":"YulIdentifier","src":"106467:6:22"}],"functionName":{"name":"mstore","nativeSrc":"106455:6:22","nodeType":"YulIdentifier","src":"106455:6:22"},"nativeSrc":"106455:19:22","nodeType":"YulFunctionCall","src":"106455:19:22"},"nativeSrc":"106455:19:22","nodeType":"YulExpressionStatement","src":"106455:19:22"},{"nativeSrc":"106491:37:22","nodeType":"YulVariableDeclaration","src":"106491:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"106508:3:22","nodeType":"YulLiteral","src":"106508:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"106517:1:22","nodeType":"YulLiteral","src":"106517:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"106520:6:22","nodeType":"YulIdentifier","src":"106520:6:22"}],"functionName":{"name":"shl","nativeSrc":"106513:3:22","nodeType":"YulIdentifier","src":"106513:3:22"},"nativeSrc":"106513:14:22","nodeType":"YulFunctionCall","src":"106513:14:22"}],"functionName":{"name":"sub","nativeSrc":"106504:3:22","nodeType":"YulIdentifier","src":"106504:3:22"},"nativeSrc":"106504:24:22","nodeType":"YulFunctionCall","src":"106504:24:22"},"variables":[{"name":"shift","nativeSrc":"106495:5:22","nodeType":"YulTypedName","src":"106495:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"106556:3:22","nodeType":"YulIdentifier","src":"106556:3:22"},{"kind":"number","nativeSrc":"106561:4:22","nodeType":"YulLiteral","src":"106561:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"106552:3:22","nodeType":"YulIdentifier","src":"106552:3:22"},"nativeSrc":"106552:14:22","nodeType":"YulFunctionCall","src":"106552:14:22"},{"arguments":[{"name":"shift","nativeSrc":"106572:5:22","nodeType":"YulIdentifier","src":"106572:5:22"},{"arguments":[{"name":"shift","nativeSrc":"106583:5:22","nodeType":"YulIdentifier","src":"106583:5:22"},{"name":"w","nativeSrc":"106590:1:22","nodeType":"YulIdentifier","src":"106590:1:22"}],"functionName":{"name":"shr","nativeSrc":"106579:3:22","nodeType":"YulIdentifier","src":"106579:3:22"},"nativeSrc":"106579:13:22","nodeType":"YulFunctionCall","src":"106579:13:22"}],"functionName":{"name":"shl","nativeSrc":"106568:3:22","nodeType":"YulIdentifier","src":"106568:3:22"},"nativeSrc":"106568:25:22","nodeType":"YulFunctionCall","src":"106568:25:22"}],"functionName":{"name":"mstore","nativeSrc":"106545:6:22","nodeType":"YulIdentifier","src":"106545:6:22"},"nativeSrc":"106545:49:22","nodeType":"YulFunctionCall","src":"106545:49:22"},"nativeSrc":"106545:49:22","nodeType":"YulExpressionStatement","src":"106545:49:22"}]},"name":"writeString","nativeSrc":"106266:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"106287:3:22","nodeType":"YulTypedName","src":"106287:3:22","type":""},{"name":"w","nativeSrc":"106292:1:22","nodeType":"YulTypedName","src":"106292:1:22","type":""}],"src":"106266:342:22"},{"nativeSrc":"106621:17:22","nodeType":"YulAssignment","src":"106621:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106633:4:22","nodeType":"YulLiteral","src":"106633:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"106627:5:22","nodeType":"YulIdentifier","src":"106627:5:22"},"nativeSrc":"106627:11:22","nodeType":"YulFunctionCall","src":"106627:11:22"},"variableNames":[{"name":"m0","nativeSrc":"106621:2:22","nodeType":"YulIdentifier","src":"106621:2:22"}]},{"nativeSrc":"106651:17:22","nodeType":"YulAssignment","src":"106651:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106663:4:22","nodeType":"YulLiteral","src":"106663:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"106657:5:22","nodeType":"YulIdentifier","src":"106657:5:22"},"nativeSrc":"106657:11:22","nodeType":"YulFunctionCall","src":"106657:11:22"},"variableNames":[{"name":"m1","nativeSrc":"106651:2:22","nodeType":"YulIdentifier","src":"106651:2:22"}]},{"nativeSrc":"106681:17:22","nodeType":"YulAssignment","src":"106681:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106693:4:22","nodeType":"YulLiteral","src":"106693:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"106687:5:22","nodeType":"YulIdentifier","src":"106687:5:22"},"nativeSrc":"106687:11:22","nodeType":"YulFunctionCall","src":"106687:11:22"},"variableNames":[{"name":"m2","nativeSrc":"106681:2:22","nodeType":"YulIdentifier","src":"106681:2:22"}]},{"nativeSrc":"106711:17:22","nodeType":"YulAssignment","src":"106711:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106723:4:22","nodeType":"YulLiteral","src":"106723:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"106717:5:22","nodeType":"YulIdentifier","src":"106717:5:22"},"nativeSrc":"106717:11:22","nodeType":"YulFunctionCall","src":"106717:11:22"},"variableNames":[{"name":"m3","nativeSrc":"106711:2:22","nodeType":"YulIdentifier","src":"106711:2:22"}]},{"nativeSrc":"106741:17:22","nodeType":"YulAssignment","src":"106741:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106753:4:22","nodeType":"YulLiteral","src":"106753:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"106747:5:22","nodeType":"YulIdentifier","src":"106747:5:22"},"nativeSrc":"106747:11:22","nodeType":"YulFunctionCall","src":"106747:11:22"},"variableNames":[{"name":"m4","nativeSrc":"106741:2:22","nodeType":"YulIdentifier","src":"106741:2:22"}]},{"nativeSrc":"106771:17:22","nodeType":"YulAssignment","src":"106771:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106783:4:22","nodeType":"YulLiteral","src":"106783:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"106777:5:22","nodeType":"YulIdentifier","src":"106777:5:22"},"nativeSrc":"106777:11:22","nodeType":"YulFunctionCall","src":"106777:11:22"},"variableNames":[{"name":"m5","nativeSrc":"106771:2:22","nodeType":"YulIdentifier","src":"106771:2:22"}]},{"nativeSrc":"106801:17:22","nodeType":"YulAssignment","src":"106801:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"106813:4:22","nodeType":"YulLiteral","src":"106813:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"106807:5:22","nodeType":"YulIdentifier","src":"106807:5:22"},"nativeSrc":"106807:11:22","nodeType":"YulFunctionCall","src":"106807:11:22"},"variableNames":[{"name":"m6","nativeSrc":"106801:2:22","nodeType":"YulIdentifier","src":"106801:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106904:4:22","nodeType":"YulLiteral","src":"106904:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"106910:10:22","nodeType":"YulLiteral","src":"106910:10:22","type":"","value":"0xef1cefe7"}],"functionName":{"name":"mstore","nativeSrc":"106897:6:22","nodeType":"YulIdentifier","src":"106897:6:22"},"nativeSrc":"106897:24:22","nodeType":"YulFunctionCall","src":"106897:24:22"},"nativeSrc":"106897:24:22","nodeType":"YulExpressionStatement","src":"106897:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106941:4:22","nodeType":"YulLiteral","src":"106941:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"106947:2:22","nodeType":"YulIdentifier","src":"106947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"106934:6:22","nodeType":"YulIdentifier","src":"106934:6:22"},"nativeSrc":"106934:16:22","nodeType":"YulFunctionCall","src":"106934:16:22"},"nativeSrc":"106934:16:22","nodeType":"YulExpressionStatement","src":"106934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106970:4:22","nodeType":"YulLiteral","src":"106970:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"106976:2:22","nodeType":"YulIdentifier","src":"106976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"106963:6:22","nodeType":"YulIdentifier","src":"106963:6:22"},"nativeSrc":"106963:16:22","nodeType":"YulFunctionCall","src":"106963:16:22"},"nativeSrc":"106963:16:22","nodeType":"YulExpressionStatement","src":"106963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106999:4:22","nodeType":"YulLiteral","src":"106999:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"107005:4:22","nodeType":"YulLiteral","src":"107005:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"106992:6:22","nodeType":"YulIdentifier","src":"106992:6:22"},"nativeSrc":"106992:18:22","nodeType":"YulFunctionCall","src":"106992:18:22"},"nativeSrc":"106992:18:22","nodeType":"YulExpressionStatement","src":"106992:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107030:4:22","nodeType":"YulLiteral","src":"107030:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"107036:2:22","nodeType":"YulIdentifier","src":"107036:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107023:6:22","nodeType":"YulIdentifier","src":"107023:6:22"},"nativeSrc":"107023:16:22","nodeType":"YulFunctionCall","src":"107023:16:22"},"nativeSrc":"107023:16:22","nodeType":"YulExpressionStatement","src":"107023:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107064:4:22","nodeType":"YulLiteral","src":"107064:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"107070:2:22","nodeType":"YulIdentifier","src":"107070:2:22"}],"functionName":{"name":"writeString","nativeSrc":"107052:11:22","nodeType":"YulIdentifier","src":"107052:11:22"},"nativeSrc":"107052:21:22","nodeType":"YulFunctionCall","src":"107052:21:22"},"nativeSrc":"107052:21:22","nodeType":"YulExpressionStatement","src":"107052:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34703,"isOffset":false,"isSlot":false,"src":"106621:2:22","valueSize":1},{"declaration":34706,"isOffset":false,"isSlot":false,"src":"106651:2:22","valueSize":1},{"declaration":34709,"isOffset":false,"isSlot":false,"src":"106681:2:22","valueSize":1},{"declaration":34712,"isOffset":false,"isSlot":false,"src":"106711:2:22","valueSize":1},{"declaration":34715,"isOffset":false,"isSlot":false,"src":"106741:2:22","valueSize":1},{"declaration":34718,"isOffset":false,"isSlot":false,"src":"106771:2:22","valueSize":1},{"declaration":34721,"isOffset":false,"isSlot":false,"src":"106801:2:22","valueSize":1},{"declaration":34693,"isOffset":false,"isSlot":false,"src":"106947:2:22","valueSize":1},{"declaration":34695,"isOffset":false,"isSlot":false,"src":"106976:2:22","valueSize":1},{"declaration":34697,"isOffset":false,"isSlot":false,"src":"107070:2:22","valueSize":1},{"declaration":34699,"isOffset":false,"isSlot":false,"src":"107036:2:22","valueSize":1}],"id":34723,"nodeType":"InlineAssembly","src":"106243:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107108:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107114:4:22","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":34724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"107092:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"107092:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34728,"nodeType":"ExpressionStatement","src":"107092:27:22"},{"AST":{"nativeSrc":"107181:214:22","nodeType":"YulBlock","src":"107181:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"107202:4:22","nodeType":"YulLiteral","src":"107202:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"107208:2:22","nodeType":"YulIdentifier","src":"107208:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107195:6:22","nodeType":"YulIdentifier","src":"107195:6:22"},"nativeSrc":"107195:16:22","nodeType":"YulFunctionCall","src":"107195:16:22"},"nativeSrc":"107195:16:22","nodeType":"YulExpressionStatement","src":"107195:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107231:4:22","nodeType":"YulLiteral","src":"107231:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"107237:2:22","nodeType":"YulIdentifier","src":"107237:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107224:6:22","nodeType":"YulIdentifier","src":"107224:6:22"},"nativeSrc":"107224:16:22","nodeType":"YulFunctionCall","src":"107224:16:22"},"nativeSrc":"107224:16:22","nodeType":"YulExpressionStatement","src":"107224:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107260:4:22","nodeType":"YulLiteral","src":"107260:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"107266:2:22","nodeType":"YulIdentifier","src":"107266:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107253:6:22","nodeType":"YulIdentifier","src":"107253:6:22"},"nativeSrc":"107253:16:22","nodeType":"YulFunctionCall","src":"107253:16:22"},"nativeSrc":"107253:16:22","nodeType":"YulExpressionStatement","src":"107253:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107289:4:22","nodeType":"YulLiteral","src":"107289:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"107295:2:22","nodeType":"YulIdentifier","src":"107295:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107282:6:22","nodeType":"YulIdentifier","src":"107282:6:22"},"nativeSrc":"107282:16:22","nodeType":"YulFunctionCall","src":"107282:16:22"},"nativeSrc":"107282:16:22","nodeType":"YulExpressionStatement","src":"107282:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107318:4:22","nodeType":"YulLiteral","src":"107318:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"107324:2:22","nodeType":"YulIdentifier","src":"107324:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107311:6:22","nodeType":"YulIdentifier","src":"107311:6:22"},"nativeSrc":"107311:16:22","nodeType":"YulFunctionCall","src":"107311:16:22"},"nativeSrc":"107311:16:22","nodeType":"YulExpressionStatement","src":"107311:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107347:4:22","nodeType":"YulLiteral","src":"107347:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"107353:2:22","nodeType":"YulIdentifier","src":"107353:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107340:6:22","nodeType":"YulIdentifier","src":"107340:6:22"},"nativeSrc":"107340:16:22","nodeType":"YulFunctionCall","src":"107340:16:22"},"nativeSrc":"107340:16:22","nodeType":"YulExpressionStatement","src":"107340:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107376:4:22","nodeType":"YulLiteral","src":"107376:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"107382:2:22","nodeType":"YulIdentifier","src":"107382:2:22"}],"functionName":{"name":"mstore","nativeSrc":"107369:6:22","nodeType":"YulIdentifier","src":"107369:6:22"},"nativeSrc":"107369:16:22","nodeType":"YulFunctionCall","src":"107369:16:22"},"nativeSrc":"107369:16:22","nodeType":"YulExpressionStatement","src":"107369:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34703,"isOffset":false,"isSlot":false,"src":"107208:2:22","valueSize":1},{"declaration":34706,"isOffset":false,"isSlot":false,"src":"107237:2:22","valueSize":1},{"declaration":34709,"isOffset":false,"isSlot":false,"src":"107266:2:22","valueSize":1},{"declaration":34712,"isOffset":false,"isSlot":false,"src":"107295:2:22","valueSize":1},{"declaration":34715,"isOffset":false,"isSlot":false,"src":"107324:2:22","valueSize":1},{"declaration":34718,"isOffset":false,"isSlot":false,"src":"107353:2:22","valueSize":1},{"declaration":34721,"isOffset":false,"isSlot":false,"src":"107382:2:22","valueSize":1}],"id":34729,"nodeType":"InlineAssembly","src":"107172:223:22"}]},"id":34731,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"105984:3:22","nodeType":"FunctionDefinition","parameters":{"id":34700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34693,"mutability":"mutable","name":"p0","nameLocation":"105996:2:22","nodeType":"VariableDeclaration","scope":34731,"src":"105988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34692,"name":"address","nodeType":"ElementaryTypeName","src":"105988:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34695,"mutability":"mutable","name":"p1","nameLocation":"106008:2:22","nodeType":"VariableDeclaration","scope":34731,"src":"106000:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34694,"name":"address","nodeType":"ElementaryTypeName","src":"106000:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34697,"mutability":"mutable","name":"p2","nameLocation":"106020:2:22","nodeType":"VariableDeclaration","scope":34731,"src":"106012:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106012:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34699,"mutability":"mutable","name":"p3","nameLocation":"106032:2:22","nodeType":"VariableDeclaration","scope":34731,"src":"106024:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34698,"name":"uint256","nodeType":"ElementaryTypeName","src":"106024:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105987:48:22"},"returnParameters":{"id":34701,"nodeType":"ParameterList","parameters":[],"src":"106050:0:22"},"scope":44426,"src":"105975:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34776,"nodeType":"Block","src":"107482:1547:22","statements":[{"assignments":[34743],"declarations":[{"constant":false,"id":34743,"mutability":"mutable","name":"m0","nameLocation":"107500:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107492:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107492:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34744,"nodeType":"VariableDeclarationStatement","src":"107492:10:22"},{"assignments":[34746],"declarations":[{"constant":false,"id":34746,"mutability":"mutable","name":"m1","nameLocation":"107520:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107512:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107512:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34747,"nodeType":"VariableDeclarationStatement","src":"107512:10:22"},{"assignments":[34749],"declarations":[{"constant":false,"id":34749,"mutability":"mutable","name":"m2","nameLocation":"107540:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107532:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107532:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34750,"nodeType":"VariableDeclarationStatement","src":"107532:10:22"},{"assignments":[34752],"declarations":[{"constant":false,"id":34752,"mutability":"mutable","name":"m3","nameLocation":"107560:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107552:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107552:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34753,"nodeType":"VariableDeclarationStatement","src":"107552:10:22"},{"assignments":[34755],"declarations":[{"constant":false,"id":34755,"mutability":"mutable","name":"m4","nameLocation":"107580:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107572:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107572:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34756,"nodeType":"VariableDeclarationStatement","src":"107572:10:22"},{"assignments":[34758],"declarations":[{"constant":false,"id":34758,"mutability":"mutable","name":"m5","nameLocation":"107600:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107592:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107592:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34759,"nodeType":"VariableDeclarationStatement","src":"107592:10:22"},{"assignments":[34761],"declarations":[{"constant":false,"id":34761,"mutability":"mutable","name":"m6","nameLocation":"107620:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107612:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107612:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34762,"nodeType":"VariableDeclarationStatement","src":"107612:10:22"},{"assignments":[34764],"declarations":[{"constant":false,"id":34764,"mutability":"mutable","name":"m7","nameLocation":"107640:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107632:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107632:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34765,"nodeType":"VariableDeclarationStatement","src":"107632:10:22"},{"assignments":[34767],"declarations":[{"constant":false,"id":34767,"mutability":"mutable","name":"m8","nameLocation":"107660:2:22","nodeType":"VariableDeclaration","scope":34776,"src":"107652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107652:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34768,"nodeType":"VariableDeclarationStatement","src":"107652:10:22"},{"AST":{"nativeSrc":"107724:927:22","nodeType":"YulBlock","src":"107724:927:22","statements":[{"body":{"nativeSrc":"107767:313:22","nodeType":"YulBlock","src":"107767:313:22","statements":[{"nativeSrc":"107785:15:22","nodeType":"YulVariableDeclaration","src":"107785:15:22","value":{"kind":"number","nativeSrc":"107799:1:22","nodeType":"YulLiteral","src":"107799:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"107789:6:22","nodeType":"YulTypedName","src":"107789:6:22","type":""}]},{"body":{"nativeSrc":"107870:40:22","nodeType":"YulBlock","src":"107870:40:22","statements":[{"body":{"nativeSrc":"107899:9:22","nodeType":"YulBlock","src":"107899:9:22","statements":[{"nativeSrc":"107901:5:22","nodeType":"YulBreak","src":"107901:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"107887:6:22","nodeType":"YulIdentifier","src":"107887:6:22"},{"name":"w","nativeSrc":"107895:1:22","nodeType":"YulIdentifier","src":"107895:1:22"}],"functionName":{"name":"byte","nativeSrc":"107882:4:22","nodeType":"YulIdentifier","src":"107882:4:22"},"nativeSrc":"107882:15:22","nodeType":"YulFunctionCall","src":"107882:15:22"}],"functionName":{"name":"iszero","nativeSrc":"107875:6:22","nodeType":"YulIdentifier","src":"107875:6:22"},"nativeSrc":"107875:23:22","nodeType":"YulFunctionCall","src":"107875:23:22"},"nativeSrc":"107872:36:22","nodeType":"YulIf","src":"107872:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"107827:6:22","nodeType":"YulIdentifier","src":"107827:6:22"},{"kind":"number","nativeSrc":"107835:4:22","nodeType":"YulLiteral","src":"107835:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"107824:2:22","nodeType":"YulIdentifier","src":"107824:2:22"},"nativeSrc":"107824:16:22","nodeType":"YulFunctionCall","src":"107824:16:22"},"nativeSrc":"107817:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"107841:28:22","nodeType":"YulBlock","src":"107841:28:22","statements":[{"nativeSrc":"107843:24:22","nodeType":"YulAssignment","src":"107843:24:22","value":{"arguments":[{"name":"length","nativeSrc":"107857:6:22","nodeType":"YulIdentifier","src":"107857:6:22"},{"kind":"number","nativeSrc":"107865:1:22","nodeType":"YulLiteral","src":"107865:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"107853:3:22","nodeType":"YulIdentifier","src":"107853:3:22"},"nativeSrc":"107853:14:22","nodeType":"YulFunctionCall","src":"107853:14:22"},"variableNames":[{"name":"length","nativeSrc":"107843:6:22","nodeType":"YulIdentifier","src":"107843:6:22"}]}]},"pre":{"nativeSrc":"107821:2:22","nodeType":"YulBlock","src":"107821:2:22","statements":[]},"src":"107817:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"107934:3:22","nodeType":"YulIdentifier","src":"107934:3:22"},{"name":"length","nativeSrc":"107939:6:22","nodeType":"YulIdentifier","src":"107939:6:22"}],"functionName":{"name":"mstore","nativeSrc":"107927:6:22","nodeType":"YulIdentifier","src":"107927:6:22"},"nativeSrc":"107927:19:22","nodeType":"YulFunctionCall","src":"107927:19:22"},"nativeSrc":"107927:19:22","nodeType":"YulExpressionStatement","src":"107927:19:22"},{"nativeSrc":"107963:37:22","nodeType":"YulVariableDeclaration","src":"107963:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"107980:3:22","nodeType":"YulLiteral","src":"107980:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"107989:1:22","nodeType":"YulLiteral","src":"107989:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"107992:6:22","nodeType":"YulIdentifier","src":"107992:6:22"}],"functionName":{"name":"shl","nativeSrc":"107985:3:22","nodeType":"YulIdentifier","src":"107985:3:22"},"nativeSrc":"107985:14:22","nodeType":"YulFunctionCall","src":"107985:14:22"}],"functionName":{"name":"sub","nativeSrc":"107976:3:22","nodeType":"YulIdentifier","src":"107976:3:22"},"nativeSrc":"107976:24:22","nodeType":"YulFunctionCall","src":"107976:24:22"},"variables":[{"name":"shift","nativeSrc":"107967:5:22","nodeType":"YulTypedName","src":"107967:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"108028:3:22","nodeType":"YulIdentifier","src":"108028:3:22"},{"kind":"number","nativeSrc":"108033:4:22","nodeType":"YulLiteral","src":"108033:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"108024:3:22","nodeType":"YulIdentifier","src":"108024:3:22"},"nativeSrc":"108024:14:22","nodeType":"YulFunctionCall","src":"108024:14:22"},{"arguments":[{"name":"shift","nativeSrc":"108044:5:22","nodeType":"YulIdentifier","src":"108044:5:22"},{"arguments":[{"name":"shift","nativeSrc":"108055:5:22","nodeType":"YulIdentifier","src":"108055:5:22"},{"name":"w","nativeSrc":"108062:1:22","nodeType":"YulIdentifier","src":"108062:1:22"}],"functionName":{"name":"shr","nativeSrc":"108051:3:22","nodeType":"YulIdentifier","src":"108051:3:22"},"nativeSrc":"108051:13:22","nodeType":"YulFunctionCall","src":"108051:13:22"}],"functionName":{"name":"shl","nativeSrc":"108040:3:22","nodeType":"YulIdentifier","src":"108040:3:22"},"nativeSrc":"108040:25:22","nodeType":"YulFunctionCall","src":"108040:25:22"}],"functionName":{"name":"mstore","nativeSrc":"108017:6:22","nodeType":"YulIdentifier","src":"108017:6:22"},"nativeSrc":"108017:49:22","nodeType":"YulFunctionCall","src":"108017:49:22"},"nativeSrc":"108017:49:22","nodeType":"YulExpressionStatement","src":"108017:49:22"}]},"name":"writeString","nativeSrc":"107738:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"107759:3:22","nodeType":"YulTypedName","src":"107759:3:22","type":""},{"name":"w","nativeSrc":"107764:1:22","nodeType":"YulTypedName","src":"107764:1:22","type":""}],"src":"107738:342:22"},{"nativeSrc":"108093:17:22","nodeType":"YulAssignment","src":"108093:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108105:4:22","nodeType":"YulLiteral","src":"108105:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"108099:5:22","nodeType":"YulIdentifier","src":"108099:5:22"},"nativeSrc":"108099:11:22","nodeType":"YulFunctionCall","src":"108099:11:22"},"variableNames":[{"name":"m0","nativeSrc":"108093:2:22","nodeType":"YulIdentifier","src":"108093:2:22"}]},{"nativeSrc":"108123:17:22","nodeType":"YulAssignment","src":"108123:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108135:4:22","nodeType":"YulLiteral","src":"108135:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"108129:5:22","nodeType":"YulIdentifier","src":"108129:5:22"},"nativeSrc":"108129:11:22","nodeType":"YulFunctionCall","src":"108129:11:22"},"variableNames":[{"name":"m1","nativeSrc":"108123:2:22","nodeType":"YulIdentifier","src":"108123:2:22"}]},{"nativeSrc":"108153:17:22","nodeType":"YulAssignment","src":"108153:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108165:4:22","nodeType":"YulLiteral","src":"108165:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"108159:5:22","nodeType":"YulIdentifier","src":"108159:5:22"},"nativeSrc":"108159:11:22","nodeType":"YulFunctionCall","src":"108159:11:22"},"variableNames":[{"name":"m2","nativeSrc":"108153:2:22","nodeType":"YulIdentifier","src":"108153:2:22"}]},{"nativeSrc":"108183:17:22","nodeType":"YulAssignment","src":"108183:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108195:4:22","nodeType":"YulLiteral","src":"108195:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"108189:5:22","nodeType":"YulIdentifier","src":"108189:5:22"},"nativeSrc":"108189:11:22","nodeType":"YulFunctionCall","src":"108189:11:22"},"variableNames":[{"name":"m3","nativeSrc":"108183:2:22","nodeType":"YulIdentifier","src":"108183:2:22"}]},{"nativeSrc":"108213:17:22","nodeType":"YulAssignment","src":"108213:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108225:4:22","nodeType":"YulLiteral","src":"108225:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"108219:5:22","nodeType":"YulIdentifier","src":"108219:5:22"},"nativeSrc":"108219:11:22","nodeType":"YulFunctionCall","src":"108219:11:22"},"variableNames":[{"name":"m4","nativeSrc":"108213:2:22","nodeType":"YulIdentifier","src":"108213:2:22"}]},{"nativeSrc":"108243:17:22","nodeType":"YulAssignment","src":"108243:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108255:4:22","nodeType":"YulLiteral","src":"108255:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"108249:5:22","nodeType":"YulIdentifier","src":"108249:5:22"},"nativeSrc":"108249:11:22","nodeType":"YulFunctionCall","src":"108249:11:22"},"variableNames":[{"name":"m5","nativeSrc":"108243:2:22","nodeType":"YulIdentifier","src":"108243:2:22"}]},{"nativeSrc":"108273:17:22","nodeType":"YulAssignment","src":"108273:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108285:4:22","nodeType":"YulLiteral","src":"108285:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"108279:5:22","nodeType":"YulIdentifier","src":"108279:5:22"},"nativeSrc":"108279:11:22","nodeType":"YulFunctionCall","src":"108279:11:22"},"variableNames":[{"name":"m6","nativeSrc":"108273:2:22","nodeType":"YulIdentifier","src":"108273:2:22"}]},{"nativeSrc":"108303:17:22","nodeType":"YulAssignment","src":"108303:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"108315:4:22","nodeType":"YulLiteral","src":"108315:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"108309:5:22","nodeType":"YulIdentifier","src":"108309:5:22"},"nativeSrc":"108309:11:22","nodeType":"YulFunctionCall","src":"108309:11:22"},"variableNames":[{"name":"m7","nativeSrc":"108303:2:22","nodeType":"YulIdentifier","src":"108303:2:22"}]},{"nativeSrc":"108333:18:22","nodeType":"YulAssignment","src":"108333:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"108345:5:22","nodeType":"YulLiteral","src":"108345:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"108339:5:22","nodeType":"YulIdentifier","src":"108339:5:22"},"nativeSrc":"108339:12:22","nodeType":"YulFunctionCall","src":"108339:12:22"},"variableNames":[{"name":"m8","nativeSrc":"108333:2:22","nodeType":"YulIdentifier","src":"108333:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108436:4:22","nodeType":"YulLiteral","src":"108436:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"108442:10:22","nodeType":"YulLiteral","src":"108442:10:22","type":"","value":"0x21bdaf25"}],"functionName":{"name":"mstore","nativeSrc":"108429:6:22","nodeType":"YulIdentifier","src":"108429:6:22"},"nativeSrc":"108429:24:22","nodeType":"YulFunctionCall","src":"108429:24:22"},"nativeSrc":"108429:24:22","nodeType":"YulExpressionStatement","src":"108429:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108473:4:22","nodeType":"YulLiteral","src":"108473:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"108479:2:22","nodeType":"YulIdentifier","src":"108479:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108466:6:22","nodeType":"YulIdentifier","src":"108466:6:22"},"nativeSrc":"108466:16:22","nodeType":"YulFunctionCall","src":"108466:16:22"},"nativeSrc":"108466:16:22","nodeType":"YulExpressionStatement","src":"108466:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108502:4:22","nodeType":"YulLiteral","src":"108502:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"108508:2:22","nodeType":"YulIdentifier","src":"108508:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108495:6:22","nodeType":"YulIdentifier","src":"108495:6:22"},"nativeSrc":"108495:16:22","nodeType":"YulFunctionCall","src":"108495:16:22"},"nativeSrc":"108495:16:22","nodeType":"YulExpressionStatement","src":"108495:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108531:4:22","nodeType":"YulLiteral","src":"108531:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"108537:4:22","nodeType":"YulLiteral","src":"108537:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"108524:6:22","nodeType":"YulIdentifier","src":"108524:6:22"},"nativeSrc":"108524:18:22","nodeType":"YulFunctionCall","src":"108524:18:22"},"nativeSrc":"108524:18:22","nodeType":"YulExpressionStatement","src":"108524:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108562:4:22","nodeType":"YulLiteral","src":"108562:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"108568:4:22","nodeType":"YulLiteral","src":"108568:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"108555:6:22","nodeType":"YulIdentifier","src":"108555:6:22"},"nativeSrc":"108555:18:22","nodeType":"YulFunctionCall","src":"108555:18:22"},"nativeSrc":"108555:18:22","nodeType":"YulExpressionStatement","src":"108555:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108598:4:22","nodeType":"YulLiteral","src":"108598:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"108604:2:22","nodeType":"YulIdentifier","src":"108604:2:22"}],"functionName":{"name":"writeString","nativeSrc":"108586:11:22","nodeType":"YulIdentifier","src":"108586:11:22"},"nativeSrc":"108586:21:22","nodeType":"YulFunctionCall","src":"108586:21:22"},"nativeSrc":"108586:21:22","nodeType":"YulExpressionStatement","src":"108586:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108632:4:22","nodeType":"YulLiteral","src":"108632:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"108638:2:22","nodeType":"YulIdentifier","src":"108638:2:22"}],"functionName":{"name":"writeString","nativeSrc":"108620:11:22","nodeType":"YulIdentifier","src":"108620:11:22"},"nativeSrc":"108620:21:22","nodeType":"YulFunctionCall","src":"108620:21:22"},"nativeSrc":"108620:21:22","nodeType":"YulExpressionStatement","src":"108620:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34743,"isOffset":false,"isSlot":false,"src":"108093:2:22","valueSize":1},{"declaration":34746,"isOffset":false,"isSlot":false,"src":"108123:2:22","valueSize":1},{"declaration":34749,"isOffset":false,"isSlot":false,"src":"108153:2:22","valueSize":1},{"declaration":34752,"isOffset":false,"isSlot":false,"src":"108183:2:22","valueSize":1},{"declaration":34755,"isOffset":false,"isSlot":false,"src":"108213:2:22","valueSize":1},{"declaration":34758,"isOffset":false,"isSlot":false,"src":"108243:2:22","valueSize":1},{"declaration":34761,"isOffset":false,"isSlot":false,"src":"108273:2:22","valueSize":1},{"declaration":34764,"isOffset":false,"isSlot":false,"src":"108303:2:22","valueSize":1},{"declaration":34767,"isOffset":false,"isSlot":false,"src":"108333:2:22","valueSize":1},{"declaration":34733,"isOffset":false,"isSlot":false,"src":"108479:2:22","valueSize":1},{"declaration":34735,"isOffset":false,"isSlot":false,"src":"108508:2:22","valueSize":1},{"declaration":34737,"isOffset":false,"isSlot":false,"src":"108604:2:22","valueSize":1},{"declaration":34739,"isOffset":false,"isSlot":false,"src":"108638:2:22","valueSize":1}],"id":34769,"nodeType":"InlineAssembly","src":"107715:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108676:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108682:5:22","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":34770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"108660:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"108660:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34774,"nodeType":"ExpressionStatement","src":"108660:28:22"},{"AST":{"nativeSrc":"108750:273:22","nodeType":"YulBlock","src":"108750:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"108771:4:22","nodeType":"YulLiteral","src":"108771:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"108777:2:22","nodeType":"YulIdentifier","src":"108777:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108764:6:22","nodeType":"YulIdentifier","src":"108764:6:22"},"nativeSrc":"108764:16:22","nodeType":"YulFunctionCall","src":"108764:16:22"},"nativeSrc":"108764:16:22","nodeType":"YulExpressionStatement","src":"108764:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108800:4:22","nodeType":"YulLiteral","src":"108800:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"108806:2:22","nodeType":"YulIdentifier","src":"108806:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108793:6:22","nodeType":"YulIdentifier","src":"108793:6:22"},"nativeSrc":"108793:16:22","nodeType":"YulFunctionCall","src":"108793:16:22"},"nativeSrc":"108793:16:22","nodeType":"YulExpressionStatement","src":"108793:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108829:4:22","nodeType":"YulLiteral","src":"108829:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"108835:2:22","nodeType":"YulIdentifier","src":"108835:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108822:6:22","nodeType":"YulIdentifier","src":"108822:6:22"},"nativeSrc":"108822:16:22","nodeType":"YulFunctionCall","src":"108822:16:22"},"nativeSrc":"108822:16:22","nodeType":"YulExpressionStatement","src":"108822:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108858:4:22","nodeType":"YulLiteral","src":"108858:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"108864:2:22","nodeType":"YulIdentifier","src":"108864:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108851:6:22","nodeType":"YulIdentifier","src":"108851:6:22"},"nativeSrc":"108851:16:22","nodeType":"YulFunctionCall","src":"108851:16:22"},"nativeSrc":"108851:16:22","nodeType":"YulExpressionStatement","src":"108851:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108887:4:22","nodeType":"YulLiteral","src":"108887:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"108893:2:22","nodeType":"YulIdentifier","src":"108893:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108880:6:22","nodeType":"YulIdentifier","src":"108880:6:22"},"nativeSrc":"108880:16:22","nodeType":"YulFunctionCall","src":"108880:16:22"},"nativeSrc":"108880:16:22","nodeType":"YulExpressionStatement","src":"108880:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108916:4:22","nodeType":"YulLiteral","src":"108916:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"108922:2:22","nodeType":"YulIdentifier","src":"108922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108909:6:22","nodeType":"YulIdentifier","src":"108909:6:22"},"nativeSrc":"108909:16:22","nodeType":"YulFunctionCall","src":"108909:16:22"},"nativeSrc":"108909:16:22","nodeType":"YulExpressionStatement","src":"108909:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108945:4:22","nodeType":"YulLiteral","src":"108945:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"108951:2:22","nodeType":"YulIdentifier","src":"108951:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108938:6:22","nodeType":"YulIdentifier","src":"108938:6:22"},"nativeSrc":"108938:16:22","nodeType":"YulFunctionCall","src":"108938:16:22"},"nativeSrc":"108938:16:22","nodeType":"YulExpressionStatement","src":"108938:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108974:4:22","nodeType":"YulLiteral","src":"108974:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"108980:2:22","nodeType":"YulIdentifier","src":"108980:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108967:6:22","nodeType":"YulIdentifier","src":"108967:6:22"},"nativeSrc":"108967:16:22","nodeType":"YulFunctionCall","src":"108967:16:22"},"nativeSrc":"108967:16:22","nodeType":"YulExpressionStatement","src":"108967:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109003:5:22","nodeType":"YulLiteral","src":"109003:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"109010:2:22","nodeType":"YulIdentifier","src":"109010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"108996:6:22","nodeType":"YulIdentifier","src":"108996:6:22"},"nativeSrc":"108996:17:22","nodeType":"YulFunctionCall","src":"108996:17:22"},"nativeSrc":"108996:17:22","nodeType":"YulExpressionStatement","src":"108996:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34743,"isOffset":false,"isSlot":false,"src":"108777:2:22","valueSize":1},{"declaration":34746,"isOffset":false,"isSlot":false,"src":"108806:2:22","valueSize":1},{"declaration":34749,"isOffset":false,"isSlot":false,"src":"108835:2:22","valueSize":1},{"declaration":34752,"isOffset":false,"isSlot":false,"src":"108864:2:22","valueSize":1},{"declaration":34755,"isOffset":false,"isSlot":false,"src":"108893:2:22","valueSize":1},{"declaration":34758,"isOffset":false,"isSlot":false,"src":"108922:2:22","valueSize":1},{"declaration":34761,"isOffset":false,"isSlot":false,"src":"108951:2:22","valueSize":1},{"declaration":34764,"isOffset":false,"isSlot":false,"src":"108980:2:22","valueSize":1},{"declaration":34767,"isOffset":false,"isSlot":false,"src":"109010:2:22","valueSize":1}],"id":34775,"nodeType":"InlineAssembly","src":"108741:282:22"}]},"id":34777,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"107416:3:22","nodeType":"FunctionDefinition","parameters":{"id":34740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34733,"mutability":"mutable","name":"p0","nameLocation":"107428:2:22","nodeType":"VariableDeclaration","scope":34777,"src":"107420:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34732,"name":"address","nodeType":"ElementaryTypeName","src":"107420:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34735,"mutability":"mutable","name":"p1","nameLocation":"107440:2:22","nodeType":"VariableDeclaration","scope":34777,"src":"107432:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34734,"name":"address","nodeType":"ElementaryTypeName","src":"107432:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34737,"mutability":"mutable","name":"p2","nameLocation":"107452:2:22","nodeType":"VariableDeclaration","scope":34777,"src":"107444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34739,"mutability":"mutable","name":"p3","nameLocation":"107464:2:22","nodeType":"VariableDeclaration","scope":34777,"src":"107456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"107419:48:22"},"returnParameters":{"id":34741,"nodeType":"ParameterList","parameters":[],"src":"107482:0:22"},"scope":44426,"src":"107407:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34810,"nodeType":"Block","src":"109107:800:22","statements":[{"assignments":[34789],"declarations":[{"constant":false,"id":34789,"mutability":"mutable","name":"m0","nameLocation":"109125:2:22","nodeType":"VariableDeclaration","scope":34810,"src":"109117:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109117:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34790,"nodeType":"VariableDeclarationStatement","src":"109117:10:22"},{"assignments":[34792],"declarations":[{"constant":false,"id":34792,"mutability":"mutable","name":"m1","nameLocation":"109145:2:22","nodeType":"VariableDeclaration","scope":34810,"src":"109137:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109137:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34793,"nodeType":"VariableDeclarationStatement","src":"109137:10:22"},{"assignments":[34795],"declarations":[{"constant":false,"id":34795,"mutability":"mutable","name":"m2","nameLocation":"109165:2:22","nodeType":"VariableDeclaration","scope":34810,"src":"109157:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109157:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34796,"nodeType":"VariableDeclarationStatement","src":"109157:10:22"},{"assignments":[34798],"declarations":[{"constant":false,"id":34798,"mutability":"mutable","name":"m3","nameLocation":"109185:2:22","nodeType":"VariableDeclaration","scope":34810,"src":"109177:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109177:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34799,"nodeType":"VariableDeclarationStatement","src":"109177:10:22"},{"assignments":[34801],"declarations":[{"constant":false,"id":34801,"mutability":"mutable","name":"m4","nameLocation":"109205:2:22","nodeType":"VariableDeclaration","scope":34810,"src":"109197:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109197:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34802,"nodeType":"VariableDeclarationStatement","src":"109197:10:22"},{"AST":{"nativeSrc":"109269:378:22","nodeType":"YulBlock","src":"109269:378:22","statements":[{"nativeSrc":"109283:17:22","nodeType":"YulAssignment","src":"109283:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"109295:4:22","nodeType":"YulLiteral","src":"109295:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"109289:5:22","nodeType":"YulIdentifier","src":"109289:5:22"},"nativeSrc":"109289:11:22","nodeType":"YulFunctionCall","src":"109289:11:22"},"variableNames":[{"name":"m0","nativeSrc":"109283:2:22","nodeType":"YulIdentifier","src":"109283:2:22"}]},{"nativeSrc":"109313:17:22","nodeType":"YulAssignment","src":"109313:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"109325:4:22","nodeType":"YulLiteral","src":"109325:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"109319:5:22","nodeType":"YulIdentifier","src":"109319:5:22"},"nativeSrc":"109319:11:22","nodeType":"YulFunctionCall","src":"109319:11:22"},"variableNames":[{"name":"m1","nativeSrc":"109313:2:22","nodeType":"YulIdentifier","src":"109313:2:22"}]},{"nativeSrc":"109343:17:22","nodeType":"YulAssignment","src":"109343:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"109355:4:22","nodeType":"YulLiteral","src":"109355:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"109349:5:22","nodeType":"YulIdentifier","src":"109349:5:22"},"nativeSrc":"109349:11:22","nodeType":"YulFunctionCall","src":"109349:11:22"},"variableNames":[{"name":"m2","nativeSrc":"109343:2:22","nodeType":"YulIdentifier","src":"109343:2:22"}]},{"nativeSrc":"109373:17:22","nodeType":"YulAssignment","src":"109373:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"109385:4:22","nodeType":"YulLiteral","src":"109385:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"109379:5:22","nodeType":"YulIdentifier","src":"109379:5:22"},"nativeSrc":"109379:11:22","nodeType":"YulFunctionCall","src":"109379:11:22"},"variableNames":[{"name":"m3","nativeSrc":"109373:2:22","nodeType":"YulIdentifier","src":"109373:2:22"}]},{"nativeSrc":"109403:17:22","nodeType":"YulAssignment","src":"109403:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"109415:4:22","nodeType":"YulLiteral","src":"109415:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"109409:5:22","nodeType":"YulIdentifier","src":"109409:5:22"},"nativeSrc":"109409:11:22","nodeType":"YulFunctionCall","src":"109409:11:22"},"variableNames":[{"name":"m4","nativeSrc":"109403:2:22","nodeType":"YulIdentifier","src":"109403:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109504:4:22","nodeType":"YulLiteral","src":"109504:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"109510:10:22","nodeType":"YulLiteral","src":"109510:10:22","type":"","value":"0x660375dd"}],"functionName":{"name":"mstore","nativeSrc":"109497:6:22","nodeType":"YulIdentifier","src":"109497:6:22"},"nativeSrc":"109497:24:22","nodeType":"YulFunctionCall","src":"109497:24:22"},"nativeSrc":"109497:24:22","nodeType":"YulExpressionStatement","src":"109497:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109541:4:22","nodeType":"YulLiteral","src":"109541:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"109547:2:22","nodeType":"YulIdentifier","src":"109547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109534:6:22","nodeType":"YulIdentifier","src":"109534:6:22"},"nativeSrc":"109534:16:22","nodeType":"YulFunctionCall","src":"109534:16:22"},"nativeSrc":"109534:16:22","nodeType":"YulExpressionStatement","src":"109534:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109570:4:22","nodeType":"YulLiteral","src":"109570:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"109576:2:22","nodeType":"YulIdentifier","src":"109576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109563:6:22","nodeType":"YulIdentifier","src":"109563:6:22"},"nativeSrc":"109563:16:22","nodeType":"YulFunctionCall","src":"109563:16:22"},"nativeSrc":"109563:16:22","nodeType":"YulExpressionStatement","src":"109563:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109599:4:22","nodeType":"YulLiteral","src":"109599:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"109605:2:22","nodeType":"YulIdentifier","src":"109605:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109592:6:22","nodeType":"YulIdentifier","src":"109592:6:22"},"nativeSrc":"109592:16:22","nodeType":"YulFunctionCall","src":"109592:16:22"},"nativeSrc":"109592:16:22","nodeType":"YulExpressionStatement","src":"109592:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109628:4:22","nodeType":"YulLiteral","src":"109628:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"109634:2:22","nodeType":"YulIdentifier","src":"109634:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109621:6:22","nodeType":"YulIdentifier","src":"109621:6:22"},"nativeSrc":"109621:16:22","nodeType":"YulFunctionCall","src":"109621:16:22"},"nativeSrc":"109621:16:22","nodeType":"YulExpressionStatement","src":"109621:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34789,"isOffset":false,"isSlot":false,"src":"109283:2:22","valueSize":1},{"declaration":34792,"isOffset":false,"isSlot":false,"src":"109313:2:22","valueSize":1},{"declaration":34795,"isOffset":false,"isSlot":false,"src":"109343:2:22","valueSize":1},{"declaration":34798,"isOffset":false,"isSlot":false,"src":"109373:2:22","valueSize":1},{"declaration":34801,"isOffset":false,"isSlot":false,"src":"109403:2:22","valueSize":1},{"declaration":34779,"isOffset":false,"isSlot":false,"src":"109547:2:22","valueSize":1},{"declaration":34781,"isOffset":false,"isSlot":false,"src":"109576:2:22","valueSize":1},{"declaration":34783,"isOffset":false,"isSlot":false,"src":"109605:2:22","valueSize":1},{"declaration":34785,"isOffset":false,"isSlot":false,"src":"109634:2:22","valueSize":1}],"id":34803,"nodeType":"InlineAssembly","src":"109260:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109672:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109678:4:22","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":34804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"109656:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"109656:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34808,"nodeType":"ExpressionStatement","src":"109656:27:22"},{"AST":{"nativeSrc":"109745:156:22","nodeType":"YulBlock","src":"109745:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"109766:4:22","nodeType":"YulLiteral","src":"109766:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"109772:2:22","nodeType":"YulIdentifier","src":"109772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109759:6:22","nodeType":"YulIdentifier","src":"109759:6:22"},"nativeSrc":"109759:16:22","nodeType":"YulFunctionCall","src":"109759:16:22"},"nativeSrc":"109759:16:22","nodeType":"YulExpressionStatement","src":"109759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109795:4:22","nodeType":"YulLiteral","src":"109795:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"109801:2:22","nodeType":"YulIdentifier","src":"109801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109788:6:22","nodeType":"YulIdentifier","src":"109788:6:22"},"nativeSrc":"109788:16:22","nodeType":"YulFunctionCall","src":"109788:16:22"},"nativeSrc":"109788:16:22","nodeType":"YulExpressionStatement","src":"109788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109824:4:22","nodeType":"YulLiteral","src":"109824:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"109830:2:22","nodeType":"YulIdentifier","src":"109830:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109817:6:22","nodeType":"YulIdentifier","src":"109817:6:22"},"nativeSrc":"109817:16:22","nodeType":"YulFunctionCall","src":"109817:16:22"},"nativeSrc":"109817:16:22","nodeType":"YulExpressionStatement","src":"109817:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109853:4:22","nodeType":"YulLiteral","src":"109853:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"109859:2:22","nodeType":"YulIdentifier","src":"109859:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109846:6:22","nodeType":"YulIdentifier","src":"109846:6:22"},"nativeSrc":"109846:16:22","nodeType":"YulFunctionCall","src":"109846:16:22"},"nativeSrc":"109846:16:22","nodeType":"YulExpressionStatement","src":"109846:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109882:4:22","nodeType":"YulLiteral","src":"109882:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"109888:2:22","nodeType":"YulIdentifier","src":"109888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"109875:6:22","nodeType":"YulIdentifier","src":"109875:6:22"},"nativeSrc":"109875:16:22","nodeType":"YulFunctionCall","src":"109875:16:22"},"nativeSrc":"109875:16:22","nodeType":"YulExpressionStatement","src":"109875:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34789,"isOffset":false,"isSlot":false,"src":"109772:2:22","valueSize":1},{"declaration":34792,"isOffset":false,"isSlot":false,"src":"109801:2:22","valueSize":1},{"declaration":34795,"isOffset":false,"isSlot":false,"src":"109830:2:22","valueSize":1},{"declaration":34798,"isOffset":false,"isSlot":false,"src":"109859:2:22","valueSize":1},{"declaration":34801,"isOffset":false,"isSlot":false,"src":"109888:2:22","valueSize":1}],"id":34809,"nodeType":"InlineAssembly","src":"109736:165:22"}]},"id":34811,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109044:3:22","nodeType":"FunctionDefinition","parameters":{"id":34786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34779,"mutability":"mutable","name":"p0","nameLocation":"109056:2:22","nodeType":"VariableDeclaration","scope":34811,"src":"109048:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34778,"name":"address","nodeType":"ElementaryTypeName","src":"109048:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34781,"mutability":"mutable","name":"p1","nameLocation":"109065:2:22","nodeType":"VariableDeclaration","scope":34811,"src":"109060:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34780,"name":"bool","nodeType":"ElementaryTypeName","src":"109060:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34783,"mutability":"mutable","name":"p2","nameLocation":"109077:2:22","nodeType":"VariableDeclaration","scope":34811,"src":"109069:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34782,"name":"address","nodeType":"ElementaryTypeName","src":"109069:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34785,"mutability":"mutable","name":"p3","nameLocation":"109089:2:22","nodeType":"VariableDeclaration","scope":34811,"src":"109081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34784,"name":"address","nodeType":"ElementaryTypeName","src":"109081:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"109047:45:22"},"returnParameters":{"id":34787,"nodeType":"ParameterList","parameters":[],"src":"109107:0:22"},"scope":44426,"src":"109035:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34844,"nodeType":"Block","src":"109982:797:22","statements":[{"assignments":[34823],"declarations":[{"constant":false,"id":34823,"mutability":"mutable","name":"m0","nameLocation":"110000:2:22","nodeType":"VariableDeclaration","scope":34844,"src":"109992:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109992:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34824,"nodeType":"VariableDeclarationStatement","src":"109992:10:22"},{"assignments":[34826],"declarations":[{"constant":false,"id":34826,"mutability":"mutable","name":"m1","nameLocation":"110020:2:22","nodeType":"VariableDeclaration","scope":34844,"src":"110012:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110012:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34827,"nodeType":"VariableDeclarationStatement","src":"110012:10:22"},{"assignments":[34829],"declarations":[{"constant":false,"id":34829,"mutability":"mutable","name":"m2","nameLocation":"110040:2:22","nodeType":"VariableDeclaration","scope":34844,"src":"110032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110032:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34830,"nodeType":"VariableDeclarationStatement","src":"110032:10:22"},{"assignments":[34832],"declarations":[{"constant":false,"id":34832,"mutability":"mutable","name":"m3","nameLocation":"110060:2:22","nodeType":"VariableDeclaration","scope":34844,"src":"110052:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110052:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34833,"nodeType":"VariableDeclarationStatement","src":"110052:10:22"},{"assignments":[34835],"declarations":[{"constant":false,"id":34835,"mutability":"mutable","name":"m4","nameLocation":"110080:2:22","nodeType":"VariableDeclaration","scope":34844,"src":"110072:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110072:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34836,"nodeType":"VariableDeclarationStatement","src":"110072:10:22"},{"AST":{"nativeSrc":"110144:375:22","nodeType":"YulBlock","src":"110144:375:22","statements":[{"nativeSrc":"110158:17:22","nodeType":"YulAssignment","src":"110158:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"110170:4:22","nodeType":"YulLiteral","src":"110170:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"110164:5:22","nodeType":"YulIdentifier","src":"110164:5:22"},"nativeSrc":"110164:11:22","nodeType":"YulFunctionCall","src":"110164:11:22"},"variableNames":[{"name":"m0","nativeSrc":"110158:2:22","nodeType":"YulIdentifier","src":"110158:2:22"}]},{"nativeSrc":"110188:17:22","nodeType":"YulAssignment","src":"110188:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"110200:4:22","nodeType":"YulLiteral","src":"110200:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"110194:5:22","nodeType":"YulIdentifier","src":"110194:5:22"},"nativeSrc":"110194:11:22","nodeType":"YulFunctionCall","src":"110194:11:22"},"variableNames":[{"name":"m1","nativeSrc":"110188:2:22","nodeType":"YulIdentifier","src":"110188:2:22"}]},{"nativeSrc":"110218:17:22","nodeType":"YulAssignment","src":"110218:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"110230:4:22","nodeType":"YulLiteral","src":"110230:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"110224:5:22","nodeType":"YulIdentifier","src":"110224:5:22"},"nativeSrc":"110224:11:22","nodeType":"YulFunctionCall","src":"110224:11:22"},"variableNames":[{"name":"m2","nativeSrc":"110218:2:22","nodeType":"YulIdentifier","src":"110218:2:22"}]},{"nativeSrc":"110248:17:22","nodeType":"YulAssignment","src":"110248:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"110260:4:22","nodeType":"YulLiteral","src":"110260:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"110254:5:22","nodeType":"YulIdentifier","src":"110254:5:22"},"nativeSrc":"110254:11:22","nodeType":"YulFunctionCall","src":"110254:11:22"},"variableNames":[{"name":"m3","nativeSrc":"110248:2:22","nodeType":"YulIdentifier","src":"110248:2:22"}]},{"nativeSrc":"110278:17:22","nodeType":"YulAssignment","src":"110278:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"110290:4:22","nodeType":"YulLiteral","src":"110290:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"110284:5:22","nodeType":"YulIdentifier","src":"110284:5:22"},"nativeSrc":"110284:11:22","nodeType":"YulFunctionCall","src":"110284:11:22"},"variableNames":[{"name":"m4","nativeSrc":"110278:2:22","nodeType":"YulIdentifier","src":"110278:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110376:4:22","nodeType":"YulLiteral","src":"110376:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"110382:10:22","nodeType":"YulLiteral","src":"110382:10:22","type":"","value":"0xa6f50b0f"}],"functionName":{"name":"mstore","nativeSrc":"110369:6:22","nodeType":"YulIdentifier","src":"110369:6:22"},"nativeSrc":"110369:24:22","nodeType":"YulFunctionCall","src":"110369:24:22"},"nativeSrc":"110369:24:22","nodeType":"YulExpressionStatement","src":"110369:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110413:4:22","nodeType":"YulLiteral","src":"110413:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"110419:2:22","nodeType":"YulIdentifier","src":"110419:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110406:6:22","nodeType":"YulIdentifier","src":"110406:6:22"},"nativeSrc":"110406:16:22","nodeType":"YulFunctionCall","src":"110406:16:22"},"nativeSrc":"110406:16:22","nodeType":"YulExpressionStatement","src":"110406:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110442:4:22","nodeType":"YulLiteral","src":"110442:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"110448:2:22","nodeType":"YulIdentifier","src":"110448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110435:6:22","nodeType":"YulIdentifier","src":"110435:6:22"},"nativeSrc":"110435:16:22","nodeType":"YulFunctionCall","src":"110435:16:22"},"nativeSrc":"110435:16:22","nodeType":"YulExpressionStatement","src":"110435:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110471:4:22","nodeType":"YulLiteral","src":"110471:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"110477:2:22","nodeType":"YulIdentifier","src":"110477:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110464:6:22","nodeType":"YulIdentifier","src":"110464:6:22"},"nativeSrc":"110464:16:22","nodeType":"YulFunctionCall","src":"110464:16:22"},"nativeSrc":"110464:16:22","nodeType":"YulExpressionStatement","src":"110464:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110500:4:22","nodeType":"YulLiteral","src":"110500:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"110506:2:22","nodeType":"YulIdentifier","src":"110506:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110493:6:22","nodeType":"YulIdentifier","src":"110493:6:22"},"nativeSrc":"110493:16:22","nodeType":"YulFunctionCall","src":"110493:16:22"},"nativeSrc":"110493:16:22","nodeType":"YulExpressionStatement","src":"110493:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34823,"isOffset":false,"isSlot":false,"src":"110158:2:22","valueSize":1},{"declaration":34826,"isOffset":false,"isSlot":false,"src":"110188:2:22","valueSize":1},{"declaration":34829,"isOffset":false,"isSlot":false,"src":"110218:2:22","valueSize":1},{"declaration":34832,"isOffset":false,"isSlot":false,"src":"110248:2:22","valueSize":1},{"declaration":34835,"isOffset":false,"isSlot":false,"src":"110278:2:22","valueSize":1},{"declaration":34813,"isOffset":false,"isSlot":false,"src":"110419:2:22","valueSize":1},{"declaration":34815,"isOffset":false,"isSlot":false,"src":"110448:2:22","valueSize":1},{"declaration":34817,"isOffset":false,"isSlot":false,"src":"110477:2:22","valueSize":1},{"declaration":34819,"isOffset":false,"isSlot":false,"src":"110506:2:22","valueSize":1}],"id":34837,"nodeType":"InlineAssembly","src":"110135:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110544:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110550:4:22","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":34838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"110528:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"110528:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34842,"nodeType":"ExpressionStatement","src":"110528:27:22"},{"AST":{"nativeSrc":"110617:156:22","nodeType":"YulBlock","src":"110617:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"110638:4:22","nodeType":"YulLiteral","src":"110638:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"110644:2:22","nodeType":"YulIdentifier","src":"110644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110631:6:22","nodeType":"YulIdentifier","src":"110631:6:22"},"nativeSrc":"110631:16:22","nodeType":"YulFunctionCall","src":"110631:16:22"},"nativeSrc":"110631:16:22","nodeType":"YulExpressionStatement","src":"110631:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110667:4:22","nodeType":"YulLiteral","src":"110667:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"110673:2:22","nodeType":"YulIdentifier","src":"110673:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110660:6:22","nodeType":"YulIdentifier","src":"110660:6:22"},"nativeSrc":"110660:16:22","nodeType":"YulFunctionCall","src":"110660:16:22"},"nativeSrc":"110660:16:22","nodeType":"YulExpressionStatement","src":"110660:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110696:4:22","nodeType":"YulLiteral","src":"110696:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"110702:2:22","nodeType":"YulIdentifier","src":"110702:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110689:6:22","nodeType":"YulIdentifier","src":"110689:6:22"},"nativeSrc":"110689:16:22","nodeType":"YulFunctionCall","src":"110689:16:22"},"nativeSrc":"110689:16:22","nodeType":"YulExpressionStatement","src":"110689:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110725:4:22","nodeType":"YulLiteral","src":"110725:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"110731:2:22","nodeType":"YulIdentifier","src":"110731:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110718:6:22","nodeType":"YulIdentifier","src":"110718:6:22"},"nativeSrc":"110718:16:22","nodeType":"YulFunctionCall","src":"110718:16:22"},"nativeSrc":"110718:16:22","nodeType":"YulExpressionStatement","src":"110718:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110754:4:22","nodeType":"YulLiteral","src":"110754:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"110760:2:22","nodeType":"YulIdentifier","src":"110760:2:22"}],"functionName":{"name":"mstore","nativeSrc":"110747:6:22","nodeType":"YulIdentifier","src":"110747:6:22"},"nativeSrc":"110747:16:22","nodeType":"YulFunctionCall","src":"110747:16:22"},"nativeSrc":"110747:16:22","nodeType":"YulExpressionStatement","src":"110747:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34823,"isOffset":false,"isSlot":false,"src":"110644:2:22","valueSize":1},{"declaration":34826,"isOffset":false,"isSlot":false,"src":"110673:2:22","valueSize":1},{"declaration":34829,"isOffset":false,"isSlot":false,"src":"110702:2:22","valueSize":1},{"declaration":34832,"isOffset":false,"isSlot":false,"src":"110731:2:22","valueSize":1},{"declaration":34835,"isOffset":false,"isSlot":false,"src":"110760:2:22","valueSize":1}],"id":34843,"nodeType":"InlineAssembly","src":"110608:165:22"}]},"id":34845,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109922:3:22","nodeType":"FunctionDefinition","parameters":{"id":34820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34813,"mutability":"mutable","name":"p0","nameLocation":"109934:2:22","nodeType":"VariableDeclaration","scope":34845,"src":"109926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34812,"name":"address","nodeType":"ElementaryTypeName","src":"109926:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34815,"mutability":"mutable","name":"p1","nameLocation":"109943:2:22","nodeType":"VariableDeclaration","scope":34845,"src":"109938:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34814,"name":"bool","nodeType":"ElementaryTypeName","src":"109938:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34817,"mutability":"mutable","name":"p2","nameLocation":"109955:2:22","nodeType":"VariableDeclaration","scope":34845,"src":"109947:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34816,"name":"address","nodeType":"ElementaryTypeName","src":"109947:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34819,"mutability":"mutable","name":"p3","nameLocation":"109964:2:22","nodeType":"VariableDeclaration","scope":34845,"src":"109959:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34818,"name":"bool","nodeType":"ElementaryTypeName","src":"109959:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109925:42:22"},"returnParameters":{"id":34821,"nodeType":"ParameterList","parameters":[],"src":"109982:0:22"},"scope":44426,"src":"109913:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34878,"nodeType":"Block","src":"110857:800:22","statements":[{"assignments":[34857],"declarations":[{"constant":false,"id":34857,"mutability":"mutable","name":"m0","nameLocation":"110875:2:22","nodeType":"VariableDeclaration","scope":34878,"src":"110867:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110867:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34858,"nodeType":"VariableDeclarationStatement","src":"110867:10:22"},{"assignments":[34860],"declarations":[{"constant":false,"id":34860,"mutability":"mutable","name":"m1","nameLocation":"110895:2:22","nodeType":"VariableDeclaration","scope":34878,"src":"110887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34861,"nodeType":"VariableDeclarationStatement","src":"110887:10:22"},{"assignments":[34863],"declarations":[{"constant":false,"id":34863,"mutability":"mutable","name":"m2","nameLocation":"110915:2:22","nodeType":"VariableDeclaration","scope":34878,"src":"110907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110907:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34864,"nodeType":"VariableDeclarationStatement","src":"110907:10:22"},{"assignments":[34866],"declarations":[{"constant":false,"id":34866,"mutability":"mutable","name":"m3","nameLocation":"110935:2:22","nodeType":"VariableDeclaration","scope":34878,"src":"110927:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110927:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34867,"nodeType":"VariableDeclarationStatement","src":"110927:10:22"},{"assignments":[34869],"declarations":[{"constant":false,"id":34869,"mutability":"mutable","name":"m4","nameLocation":"110955:2:22","nodeType":"VariableDeclaration","scope":34878,"src":"110947:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110947:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34870,"nodeType":"VariableDeclarationStatement","src":"110947:10:22"},{"AST":{"nativeSrc":"111019:378:22","nodeType":"YulBlock","src":"111019:378:22","statements":[{"nativeSrc":"111033:17:22","nodeType":"YulAssignment","src":"111033:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"111045:4:22","nodeType":"YulLiteral","src":"111045:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"111039:5:22","nodeType":"YulIdentifier","src":"111039:5:22"},"nativeSrc":"111039:11:22","nodeType":"YulFunctionCall","src":"111039:11:22"},"variableNames":[{"name":"m0","nativeSrc":"111033:2:22","nodeType":"YulIdentifier","src":"111033:2:22"}]},{"nativeSrc":"111063:17:22","nodeType":"YulAssignment","src":"111063:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"111075:4:22","nodeType":"YulLiteral","src":"111075:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"111069:5:22","nodeType":"YulIdentifier","src":"111069:5:22"},"nativeSrc":"111069:11:22","nodeType":"YulFunctionCall","src":"111069:11:22"},"variableNames":[{"name":"m1","nativeSrc":"111063:2:22","nodeType":"YulIdentifier","src":"111063:2:22"}]},{"nativeSrc":"111093:17:22","nodeType":"YulAssignment","src":"111093:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"111105:4:22","nodeType":"YulLiteral","src":"111105:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"111099:5:22","nodeType":"YulIdentifier","src":"111099:5:22"},"nativeSrc":"111099:11:22","nodeType":"YulFunctionCall","src":"111099:11:22"},"variableNames":[{"name":"m2","nativeSrc":"111093:2:22","nodeType":"YulIdentifier","src":"111093:2:22"}]},{"nativeSrc":"111123:17:22","nodeType":"YulAssignment","src":"111123:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"111135:4:22","nodeType":"YulLiteral","src":"111135:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"111129:5:22","nodeType":"YulIdentifier","src":"111129:5:22"},"nativeSrc":"111129:11:22","nodeType":"YulFunctionCall","src":"111129:11:22"},"variableNames":[{"name":"m3","nativeSrc":"111123:2:22","nodeType":"YulIdentifier","src":"111123:2:22"}]},{"nativeSrc":"111153:17:22","nodeType":"YulAssignment","src":"111153:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"111165:4:22","nodeType":"YulLiteral","src":"111165:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"111159:5:22","nodeType":"YulIdentifier","src":"111159:5:22"},"nativeSrc":"111159:11:22","nodeType":"YulFunctionCall","src":"111159:11:22"},"variableNames":[{"name":"m4","nativeSrc":"111153:2:22","nodeType":"YulIdentifier","src":"111153:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111254:4:22","nodeType":"YulLiteral","src":"111254:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"111260:10:22","nodeType":"YulLiteral","src":"111260:10:22","type":"","value":"0xa75c59de"}],"functionName":{"name":"mstore","nativeSrc":"111247:6:22","nodeType":"YulIdentifier","src":"111247:6:22"},"nativeSrc":"111247:24:22","nodeType":"YulFunctionCall","src":"111247:24:22"},"nativeSrc":"111247:24:22","nodeType":"YulExpressionStatement","src":"111247:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111291:4:22","nodeType":"YulLiteral","src":"111291:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"111297:2:22","nodeType":"YulIdentifier","src":"111297:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111284:6:22","nodeType":"YulIdentifier","src":"111284:6:22"},"nativeSrc":"111284:16:22","nodeType":"YulFunctionCall","src":"111284:16:22"},"nativeSrc":"111284:16:22","nodeType":"YulExpressionStatement","src":"111284:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111320:4:22","nodeType":"YulLiteral","src":"111320:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"111326:2:22","nodeType":"YulIdentifier","src":"111326:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111313:6:22","nodeType":"YulIdentifier","src":"111313:6:22"},"nativeSrc":"111313:16:22","nodeType":"YulFunctionCall","src":"111313:16:22"},"nativeSrc":"111313:16:22","nodeType":"YulExpressionStatement","src":"111313:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111349:4:22","nodeType":"YulLiteral","src":"111349:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"111355:2:22","nodeType":"YulIdentifier","src":"111355:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111342:6:22","nodeType":"YulIdentifier","src":"111342:6:22"},"nativeSrc":"111342:16:22","nodeType":"YulFunctionCall","src":"111342:16:22"},"nativeSrc":"111342:16:22","nodeType":"YulExpressionStatement","src":"111342:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111378:4:22","nodeType":"YulLiteral","src":"111378:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"111384:2:22","nodeType":"YulIdentifier","src":"111384:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111371:6:22","nodeType":"YulIdentifier","src":"111371:6:22"},"nativeSrc":"111371:16:22","nodeType":"YulFunctionCall","src":"111371:16:22"},"nativeSrc":"111371:16:22","nodeType":"YulExpressionStatement","src":"111371:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34857,"isOffset":false,"isSlot":false,"src":"111033:2:22","valueSize":1},{"declaration":34860,"isOffset":false,"isSlot":false,"src":"111063:2:22","valueSize":1},{"declaration":34863,"isOffset":false,"isSlot":false,"src":"111093:2:22","valueSize":1},{"declaration":34866,"isOffset":false,"isSlot":false,"src":"111123:2:22","valueSize":1},{"declaration":34869,"isOffset":false,"isSlot":false,"src":"111153:2:22","valueSize":1},{"declaration":34847,"isOffset":false,"isSlot":false,"src":"111297:2:22","valueSize":1},{"declaration":34849,"isOffset":false,"isSlot":false,"src":"111326:2:22","valueSize":1},{"declaration":34851,"isOffset":false,"isSlot":false,"src":"111355:2:22","valueSize":1},{"declaration":34853,"isOffset":false,"isSlot":false,"src":"111384:2:22","valueSize":1}],"id":34871,"nodeType":"InlineAssembly","src":"111010:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111422:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111428:4:22","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":34872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"111406:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"111406:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34876,"nodeType":"ExpressionStatement","src":"111406:27:22"},{"AST":{"nativeSrc":"111495:156:22","nodeType":"YulBlock","src":"111495:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"111516:4:22","nodeType":"YulLiteral","src":"111516:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"111522:2:22","nodeType":"YulIdentifier","src":"111522:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111509:6:22","nodeType":"YulIdentifier","src":"111509:6:22"},"nativeSrc":"111509:16:22","nodeType":"YulFunctionCall","src":"111509:16:22"},"nativeSrc":"111509:16:22","nodeType":"YulExpressionStatement","src":"111509:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111545:4:22","nodeType":"YulLiteral","src":"111545:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"111551:2:22","nodeType":"YulIdentifier","src":"111551:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111538:6:22","nodeType":"YulIdentifier","src":"111538:6:22"},"nativeSrc":"111538:16:22","nodeType":"YulFunctionCall","src":"111538:16:22"},"nativeSrc":"111538:16:22","nodeType":"YulExpressionStatement","src":"111538:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111574:4:22","nodeType":"YulLiteral","src":"111574:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"111580:2:22","nodeType":"YulIdentifier","src":"111580:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111567:6:22","nodeType":"YulIdentifier","src":"111567:6:22"},"nativeSrc":"111567:16:22","nodeType":"YulFunctionCall","src":"111567:16:22"},"nativeSrc":"111567:16:22","nodeType":"YulExpressionStatement","src":"111567:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111603:4:22","nodeType":"YulLiteral","src":"111603:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"111609:2:22","nodeType":"YulIdentifier","src":"111609:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111596:6:22","nodeType":"YulIdentifier","src":"111596:6:22"},"nativeSrc":"111596:16:22","nodeType":"YulFunctionCall","src":"111596:16:22"},"nativeSrc":"111596:16:22","nodeType":"YulExpressionStatement","src":"111596:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111632:4:22","nodeType":"YulLiteral","src":"111632:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"111638:2:22","nodeType":"YulIdentifier","src":"111638:2:22"}],"functionName":{"name":"mstore","nativeSrc":"111625:6:22","nodeType":"YulIdentifier","src":"111625:6:22"},"nativeSrc":"111625:16:22","nodeType":"YulFunctionCall","src":"111625:16:22"},"nativeSrc":"111625:16:22","nodeType":"YulExpressionStatement","src":"111625:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34857,"isOffset":false,"isSlot":false,"src":"111522:2:22","valueSize":1},{"declaration":34860,"isOffset":false,"isSlot":false,"src":"111551:2:22","valueSize":1},{"declaration":34863,"isOffset":false,"isSlot":false,"src":"111580:2:22","valueSize":1},{"declaration":34866,"isOffset":false,"isSlot":false,"src":"111609:2:22","valueSize":1},{"declaration":34869,"isOffset":false,"isSlot":false,"src":"111638:2:22","valueSize":1}],"id":34877,"nodeType":"InlineAssembly","src":"111486:165:22"}]},"id":34879,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"110794:3:22","nodeType":"FunctionDefinition","parameters":{"id":34854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34847,"mutability":"mutable","name":"p0","nameLocation":"110806:2:22","nodeType":"VariableDeclaration","scope":34879,"src":"110798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34846,"name":"address","nodeType":"ElementaryTypeName","src":"110798:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34849,"mutability":"mutable","name":"p1","nameLocation":"110815:2:22","nodeType":"VariableDeclaration","scope":34879,"src":"110810:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34848,"name":"bool","nodeType":"ElementaryTypeName","src":"110810:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34851,"mutability":"mutable","name":"p2","nameLocation":"110827:2:22","nodeType":"VariableDeclaration","scope":34879,"src":"110819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34850,"name":"address","nodeType":"ElementaryTypeName","src":"110819:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34853,"mutability":"mutable","name":"p3","nameLocation":"110839:2:22","nodeType":"VariableDeclaration","scope":34879,"src":"110831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34852,"name":"uint256","nodeType":"ElementaryTypeName","src":"110831:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110797:45:22"},"returnParameters":{"id":34855,"nodeType":"ParameterList","parameters":[],"src":"110857:0:22"},"scope":44426,"src":"110785:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34918,"nodeType":"Block","src":"111735:1348:22","statements":[{"assignments":[34891],"declarations":[{"constant":false,"id":34891,"mutability":"mutable","name":"m0","nameLocation":"111753:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111745:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111745:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34892,"nodeType":"VariableDeclarationStatement","src":"111745:10:22"},{"assignments":[34894],"declarations":[{"constant":false,"id":34894,"mutability":"mutable","name":"m1","nameLocation":"111773:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111765:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111765:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34895,"nodeType":"VariableDeclarationStatement","src":"111765:10:22"},{"assignments":[34897],"declarations":[{"constant":false,"id":34897,"mutability":"mutable","name":"m2","nameLocation":"111793:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111785:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111785:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34898,"nodeType":"VariableDeclarationStatement","src":"111785:10:22"},{"assignments":[34900],"declarations":[{"constant":false,"id":34900,"mutability":"mutable","name":"m3","nameLocation":"111813:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111805:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111805:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34901,"nodeType":"VariableDeclarationStatement","src":"111805:10:22"},{"assignments":[34903],"declarations":[{"constant":false,"id":34903,"mutability":"mutable","name":"m4","nameLocation":"111833:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111825:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111825:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34904,"nodeType":"VariableDeclarationStatement","src":"111825:10:22"},{"assignments":[34906],"declarations":[{"constant":false,"id":34906,"mutability":"mutable","name":"m5","nameLocation":"111853:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111845:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111845:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34907,"nodeType":"VariableDeclarationStatement","src":"111845:10:22"},{"assignments":[34909],"declarations":[{"constant":false,"id":34909,"mutability":"mutable","name":"m6","nameLocation":"111873:2:22","nodeType":"VariableDeclaration","scope":34918,"src":"111865:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111865:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34910,"nodeType":"VariableDeclarationStatement","src":"111865:10:22"},{"AST":{"nativeSrc":"111937:828:22","nodeType":"YulBlock","src":"111937:828:22","statements":[{"body":{"nativeSrc":"111980:313:22","nodeType":"YulBlock","src":"111980:313:22","statements":[{"nativeSrc":"111998:15:22","nodeType":"YulVariableDeclaration","src":"111998:15:22","value":{"kind":"number","nativeSrc":"112012:1:22","nodeType":"YulLiteral","src":"112012:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"112002:6:22","nodeType":"YulTypedName","src":"112002:6:22","type":""}]},{"body":{"nativeSrc":"112083:40:22","nodeType":"YulBlock","src":"112083:40:22","statements":[{"body":{"nativeSrc":"112112:9:22","nodeType":"YulBlock","src":"112112:9:22","statements":[{"nativeSrc":"112114:5:22","nodeType":"YulBreak","src":"112114:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"112100:6:22","nodeType":"YulIdentifier","src":"112100:6:22"},{"name":"w","nativeSrc":"112108:1:22","nodeType":"YulIdentifier","src":"112108:1:22"}],"functionName":{"name":"byte","nativeSrc":"112095:4:22","nodeType":"YulIdentifier","src":"112095:4:22"},"nativeSrc":"112095:15:22","nodeType":"YulFunctionCall","src":"112095:15:22"}],"functionName":{"name":"iszero","nativeSrc":"112088:6:22","nodeType":"YulIdentifier","src":"112088:6:22"},"nativeSrc":"112088:23:22","nodeType":"YulFunctionCall","src":"112088:23:22"},"nativeSrc":"112085:36:22","nodeType":"YulIf","src":"112085:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"112040:6:22","nodeType":"YulIdentifier","src":"112040:6:22"},{"kind":"number","nativeSrc":"112048:4:22","nodeType":"YulLiteral","src":"112048:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"112037:2:22","nodeType":"YulIdentifier","src":"112037:2:22"},"nativeSrc":"112037:16:22","nodeType":"YulFunctionCall","src":"112037:16:22"},"nativeSrc":"112030:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"112054:28:22","nodeType":"YulBlock","src":"112054:28:22","statements":[{"nativeSrc":"112056:24:22","nodeType":"YulAssignment","src":"112056:24:22","value":{"arguments":[{"name":"length","nativeSrc":"112070:6:22","nodeType":"YulIdentifier","src":"112070:6:22"},{"kind":"number","nativeSrc":"112078:1:22","nodeType":"YulLiteral","src":"112078:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"112066:3:22","nodeType":"YulIdentifier","src":"112066:3:22"},"nativeSrc":"112066:14:22","nodeType":"YulFunctionCall","src":"112066:14:22"},"variableNames":[{"name":"length","nativeSrc":"112056:6:22","nodeType":"YulIdentifier","src":"112056:6:22"}]}]},"pre":{"nativeSrc":"112034:2:22","nodeType":"YulBlock","src":"112034:2:22","statements":[]},"src":"112030:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"112147:3:22","nodeType":"YulIdentifier","src":"112147:3:22"},{"name":"length","nativeSrc":"112152:6:22","nodeType":"YulIdentifier","src":"112152:6:22"}],"functionName":{"name":"mstore","nativeSrc":"112140:6:22","nodeType":"YulIdentifier","src":"112140:6:22"},"nativeSrc":"112140:19:22","nodeType":"YulFunctionCall","src":"112140:19:22"},"nativeSrc":"112140:19:22","nodeType":"YulExpressionStatement","src":"112140:19:22"},{"nativeSrc":"112176:37:22","nodeType":"YulVariableDeclaration","src":"112176:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"112193:3:22","nodeType":"YulLiteral","src":"112193:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"112202:1:22","nodeType":"YulLiteral","src":"112202:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"112205:6:22","nodeType":"YulIdentifier","src":"112205:6:22"}],"functionName":{"name":"shl","nativeSrc":"112198:3:22","nodeType":"YulIdentifier","src":"112198:3:22"},"nativeSrc":"112198:14:22","nodeType":"YulFunctionCall","src":"112198:14:22"}],"functionName":{"name":"sub","nativeSrc":"112189:3:22","nodeType":"YulIdentifier","src":"112189:3:22"},"nativeSrc":"112189:24:22","nodeType":"YulFunctionCall","src":"112189:24:22"},"variables":[{"name":"shift","nativeSrc":"112180:5:22","nodeType":"YulTypedName","src":"112180:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"112241:3:22","nodeType":"YulIdentifier","src":"112241:3:22"},{"kind":"number","nativeSrc":"112246:4:22","nodeType":"YulLiteral","src":"112246:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"112237:3:22","nodeType":"YulIdentifier","src":"112237:3:22"},"nativeSrc":"112237:14:22","nodeType":"YulFunctionCall","src":"112237:14:22"},{"arguments":[{"name":"shift","nativeSrc":"112257:5:22","nodeType":"YulIdentifier","src":"112257:5:22"},{"arguments":[{"name":"shift","nativeSrc":"112268:5:22","nodeType":"YulIdentifier","src":"112268:5:22"},{"name":"w","nativeSrc":"112275:1:22","nodeType":"YulIdentifier","src":"112275:1:22"}],"functionName":{"name":"shr","nativeSrc":"112264:3:22","nodeType":"YulIdentifier","src":"112264:3:22"},"nativeSrc":"112264:13:22","nodeType":"YulFunctionCall","src":"112264:13:22"}],"functionName":{"name":"shl","nativeSrc":"112253:3:22","nodeType":"YulIdentifier","src":"112253:3:22"},"nativeSrc":"112253:25:22","nodeType":"YulFunctionCall","src":"112253:25:22"}],"functionName":{"name":"mstore","nativeSrc":"112230:6:22","nodeType":"YulIdentifier","src":"112230:6:22"},"nativeSrc":"112230:49:22","nodeType":"YulFunctionCall","src":"112230:49:22"},"nativeSrc":"112230:49:22","nodeType":"YulExpressionStatement","src":"112230:49:22"}]},"name":"writeString","nativeSrc":"111951:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"111972:3:22","nodeType":"YulTypedName","src":"111972:3:22","type":""},{"name":"w","nativeSrc":"111977:1:22","nodeType":"YulTypedName","src":"111977:1:22","type":""}],"src":"111951:342:22"},{"nativeSrc":"112306:17:22","nodeType":"YulAssignment","src":"112306:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112318:4:22","nodeType":"YulLiteral","src":"112318:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"112312:5:22","nodeType":"YulIdentifier","src":"112312:5:22"},"nativeSrc":"112312:11:22","nodeType":"YulFunctionCall","src":"112312:11:22"},"variableNames":[{"name":"m0","nativeSrc":"112306:2:22","nodeType":"YulIdentifier","src":"112306:2:22"}]},{"nativeSrc":"112336:17:22","nodeType":"YulAssignment","src":"112336:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112348:4:22","nodeType":"YulLiteral","src":"112348:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"112342:5:22","nodeType":"YulIdentifier","src":"112342:5:22"},"nativeSrc":"112342:11:22","nodeType":"YulFunctionCall","src":"112342:11:22"},"variableNames":[{"name":"m1","nativeSrc":"112336:2:22","nodeType":"YulIdentifier","src":"112336:2:22"}]},{"nativeSrc":"112366:17:22","nodeType":"YulAssignment","src":"112366:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112378:4:22","nodeType":"YulLiteral","src":"112378:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"112372:5:22","nodeType":"YulIdentifier","src":"112372:5:22"},"nativeSrc":"112372:11:22","nodeType":"YulFunctionCall","src":"112372:11:22"},"variableNames":[{"name":"m2","nativeSrc":"112366:2:22","nodeType":"YulIdentifier","src":"112366:2:22"}]},{"nativeSrc":"112396:17:22","nodeType":"YulAssignment","src":"112396:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112408:4:22","nodeType":"YulLiteral","src":"112408:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"112402:5:22","nodeType":"YulIdentifier","src":"112402:5:22"},"nativeSrc":"112402:11:22","nodeType":"YulFunctionCall","src":"112402:11:22"},"variableNames":[{"name":"m3","nativeSrc":"112396:2:22","nodeType":"YulIdentifier","src":"112396:2:22"}]},{"nativeSrc":"112426:17:22","nodeType":"YulAssignment","src":"112426:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112438:4:22","nodeType":"YulLiteral","src":"112438:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"112432:5:22","nodeType":"YulIdentifier","src":"112432:5:22"},"nativeSrc":"112432:11:22","nodeType":"YulFunctionCall","src":"112432:11:22"},"variableNames":[{"name":"m4","nativeSrc":"112426:2:22","nodeType":"YulIdentifier","src":"112426:2:22"}]},{"nativeSrc":"112456:17:22","nodeType":"YulAssignment","src":"112456:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112468:4:22","nodeType":"YulLiteral","src":"112468:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"112462:5:22","nodeType":"YulIdentifier","src":"112462:5:22"},"nativeSrc":"112462:11:22","nodeType":"YulFunctionCall","src":"112462:11:22"},"variableNames":[{"name":"m5","nativeSrc":"112456:2:22","nodeType":"YulIdentifier","src":"112456:2:22"}]},{"nativeSrc":"112486:17:22","nodeType":"YulAssignment","src":"112486:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"112498:4:22","nodeType":"YulLiteral","src":"112498:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"112492:5:22","nodeType":"YulIdentifier","src":"112492:5:22"},"nativeSrc":"112492:11:22","nodeType":"YulFunctionCall","src":"112492:11:22"},"variableNames":[{"name":"m6","nativeSrc":"112486:2:22","nodeType":"YulIdentifier","src":"112486:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112586:4:22","nodeType":"YulLiteral","src":"112586:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"112592:10:22","nodeType":"YulLiteral","src":"112592:10:22","type":"","value":"0x2dd778e6"}],"functionName":{"name":"mstore","nativeSrc":"112579:6:22","nodeType":"YulIdentifier","src":"112579:6:22"},"nativeSrc":"112579:24:22","nodeType":"YulFunctionCall","src":"112579:24:22"},"nativeSrc":"112579:24:22","nodeType":"YulExpressionStatement","src":"112579:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112623:4:22","nodeType":"YulLiteral","src":"112623:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"112629:2:22","nodeType":"YulIdentifier","src":"112629:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112616:6:22","nodeType":"YulIdentifier","src":"112616:6:22"},"nativeSrc":"112616:16:22","nodeType":"YulFunctionCall","src":"112616:16:22"},"nativeSrc":"112616:16:22","nodeType":"YulExpressionStatement","src":"112616:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112652:4:22","nodeType":"YulLiteral","src":"112652:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"112658:2:22","nodeType":"YulIdentifier","src":"112658:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112645:6:22","nodeType":"YulIdentifier","src":"112645:6:22"},"nativeSrc":"112645:16:22","nodeType":"YulFunctionCall","src":"112645:16:22"},"nativeSrc":"112645:16:22","nodeType":"YulExpressionStatement","src":"112645:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112681:4:22","nodeType":"YulLiteral","src":"112681:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"112687:2:22","nodeType":"YulIdentifier","src":"112687:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112674:6:22","nodeType":"YulIdentifier","src":"112674:6:22"},"nativeSrc":"112674:16:22","nodeType":"YulFunctionCall","src":"112674:16:22"},"nativeSrc":"112674:16:22","nodeType":"YulExpressionStatement","src":"112674:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112710:4:22","nodeType":"YulLiteral","src":"112710:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"112716:4:22","nodeType":"YulLiteral","src":"112716:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"112703:6:22","nodeType":"YulIdentifier","src":"112703:6:22"},"nativeSrc":"112703:18:22","nodeType":"YulFunctionCall","src":"112703:18:22"},"nativeSrc":"112703:18:22","nodeType":"YulExpressionStatement","src":"112703:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112746:4:22","nodeType":"YulLiteral","src":"112746:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"112752:2:22","nodeType":"YulIdentifier","src":"112752:2:22"}],"functionName":{"name":"writeString","nativeSrc":"112734:11:22","nodeType":"YulIdentifier","src":"112734:11:22"},"nativeSrc":"112734:21:22","nodeType":"YulFunctionCall","src":"112734:21:22"},"nativeSrc":"112734:21:22","nodeType":"YulExpressionStatement","src":"112734:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34891,"isOffset":false,"isSlot":false,"src":"112306:2:22","valueSize":1},{"declaration":34894,"isOffset":false,"isSlot":false,"src":"112336:2:22","valueSize":1},{"declaration":34897,"isOffset":false,"isSlot":false,"src":"112366:2:22","valueSize":1},{"declaration":34900,"isOffset":false,"isSlot":false,"src":"112396:2:22","valueSize":1},{"declaration":34903,"isOffset":false,"isSlot":false,"src":"112426:2:22","valueSize":1},{"declaration":34906,"isOffset":false,"isSlot":false,"src":"112456:2:22","valueSize":1},{"declaration":34909,"isOffset":false,"isSlot":false,"src":"112486:2:22","valueSize":1},{"declaration":34881,"isOffset":false,"isSlot":false,"src":"112629:2:22","valueSize":1},{"declaration":34883,"isOffset":false,"isSlot":false,"src":"112658:2:22","valueSize":1},{"declaration":34885,"isOffset":false,"isSlot":false,"src":"112687:2:22","valueSize":1},{"declaration":34887,"isOffset":false,"isSlot":false,"src":"112752:2:22","valueSize":1}],"id":34911,"nodeType":"InlineAssembly","src":"111928:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112790:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112796:4:22","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":34912,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"112774:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"112774:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34916,"nodeType":"ExpressionStatement","src":"112774:27:22"},{"AST":{"nativeSrc":"112863:214:22","nodeType":"YulBlock","src":"112863:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"112884:4:22","nodeType":"YulLiteral","src":"112884:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"112890:2:22","nodeType":"YulIdentifier","src":"112890:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112877:6:22","nodeType":"YulIdentifier","src":"112877:6:22"},"nativeSrc":"112877:16:22","nodeType":"YulFunctionCall","src":"112877:16:22"},"nativeSrc":"112877:16:22","nodeType":"YulExpressionStatement","src":"112877:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112913:4:22","nodeType":"YulLiteral","src":"112913:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"112919:2:22","nodeType":"YulIdentifier","src":"112919:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112906:6:22","nodeType":"YulIdentifier","src":"112906:6:22"},"nativeSrc":"112906:16:22","nodeType":"YulFunctionCall","src":"112906:16:22"},"nativeSrc":"112906:16:22","nodeType":"YulExpressionStatement","src":"112906:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112942:4:22","nodeType":"YulLiteral","src":"112942:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"112948:2:22","nodeType":"YulIdentifier","src":"112948:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112935:6:22","nodeType":"YulIdentifier","src":"112935:6:22"},"nativeSrc":"112935:16:22","nodeType":"YulFunctionCall","src":"112935:16:22"},"nativeSrc":"112935:16:22","nodeType":"YulExpressionStatement","src":"112935:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112971:4:22","nodeType":"YulLiteral","src":"112971:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"112977:2:22","nodeType":"YulIdentifier","src":"112977:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112964:6:22","nodeType":"YulIdentifier","src":"112964:6:22"},"nativeSrc":"112964:16:22","nodeType":"YulFunctionCall","src":"112964:16:22"},"nativeSrc":"112964:16:22","nodeType":"YulExpressionStatement","src":"112964:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113000:4:22","nodeType":"YulLiteral","src":"113000:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113006:2:22","nodeType":"YulIdentifier","src":"113006:2:22"}],"functionName":{"name":"mstore","nativeSrc":"112993:6:22","nodeType":"YulIdentifier","src":"112993:6:22"},"nativeSrc":"112993:16:22","nodeType":"YulFunctionCall","src":"112993:16:22"},"nativeSrc":"112993:16:22","nodeType":"YulExpressionStatement","src":"112993:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113029:4:22","nodeType":"YulLiteral","src":"113029:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"113035:2:22","nodeType":"YulIdentifier","src":"113035:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113022:6:22","nodeType":"YulIdentifier","src":"113022:6:22"},"nativeSrc":"113022:16:22","nodeType":"YulFunctionCall","src":"113022:16:22"},"nativeSrc":"113022:16:22","nodeType":"YulExpressionStatement","src":"113022:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113058:4:22","nodeType":"YulLiteral","src":"113058:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"113064:2:22","nodeType":"YulIdentifier","src":"113064:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113051:6:22","nodeType":"YulIdentifier","src":"113051:6:22"},"nativeSrc":"113051:16:22","nodeType":"YulFunctionCall","src":"113051:16:22"},"nativeSrc":"113051:16:22","nodeType":"YulExpressionStatement","src":"113051:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34891,"isOffset":false,"isSlot":false,"src":"112890:2:22","valueSize":1},{"declaration":34894,"isOffset":false,"isSlot":false,"src":"112919:2:22","valueSize":1},{"declaration":34897,"isOffset":false,"isSlot":false,"src":"112948:2:22","valueSize":1},{"declaration":34900,"isOffset":false,"isSlot":false,"src":"112977:2:22","valueSize":1},{"declaration":34903,"isOffset":false,"isSlot":false,"src":"113006:2:22","valueSize":1},{"declaration":34906,"isOffset":false,"isSlot":false,"src":"113035:2:22","valueSize":1},{"declaration":34909,"isOffset":false,"isSlot":false,"src":"113064:2:22","valueSize":1}],"id":34917,"nodeType":"InlineAssembly","src":"112854:223:22"}]},"id":34919,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"111672:3:22","nodeType":"FunctionDefinition","parameters":{"id":34888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34881,"mutability":"mutable","name":"p0","nameLocation":"111684:2:22","nodeType":"VariableDeclaration","scope":34919,"src":"111676:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34880,"name":"address","nodeType":"ElementaryTypeName","src":"111676:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34883,"mutability":"mutable","name":"p1","nameLocation":"111693:2:22","nodeType":"VariableDeclaration","scope":34919,"src":"111688:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34882,"name":"bool","nodeType":"ElementaryTypeName","src":"111688:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34885,"mutability":"mutable","name":"p2","nameLocation":"111705:2:22","nodeType":"VariableDeclaration","scope":34919,"src":"111697:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34884,"name":"address","nodeType":"ElementaryTypeName","src":"111697:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34887,"mutability":"mutable","name":"p3","nameLocation":"111717:2:22","nodeType":"VariableDeclaration","scope":34919,"src":"111709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"111675:45:22"},"returnParameters":{"id":34889,"nodeType":"ParameterList","parameters":[],"src":"111735:0:22"},"scope":44426,"src":"111663:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34952,"nodeType":"Block","src":"113158:797:22","statements":[{"assignments":[34931],"declarations":[{"constant":false,"id":34931,"mutability":"mutable","name":"m0","nameLocation":"113176:2:22","nodeType":"VariableDeclaration","scope":34952,"src":"113168:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113168:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34932,"nodeType":"VariableDeclarationStatement","src":"113168:10:22"},{"assignments":[34934],"declarations":[{"constant":false,"id":34934,"mutability":"mutable","name":"m1","nameLocation":"113196:2:22","nodeType":"VariableDeclaration","scope":34952,"src":"113188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113188:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34935,"nodeType":"VariableDeclarationStatement","src":"113188:10:22"},{"assignments":[34937],"declarations":[{"constant":false,"id":34937,"mutability":"mutable","name":"m2","nameLocation":"113216:2:22","nodeType":"VariableDeclaration","scope":34952,"src":"113208:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113208:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34938,"nodeType":"VariableDeclarationStatement","src":"113208:10:22"},{"assignments":[34940],"declarations":[{"constant":false,"id":34940,"mutability":"mutable","name":"m3","nameLocation":"113236:2:22","nodeType":"VariableDeclaration","scope":34952,"src":"113228:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113228:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34941,"nodeType":"VariableDeclarationStatement","src":"113228:10:22"},{"assignments":[34943],"declarations":[{"constant":false,"id":34943,"mutability":"mutable","name":"m4","nameLocation":"113256:2:22","nodeType":"VariableDeclaration","scope":34952,"src":"113248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113248:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34944,"nodeType":"VariableDeclarationStatement","src":"113248:10:22"},{"AST":{"nativeSrc":"113320:375:22","nodeType":"YulBlock","src":"113320:375:22","statements":[{"nativeSrc":"113334:17:22","nodeType":"YulAssignment","src":"113334:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"113346:4:22","nodeType":"YulLiteral","src":"113346:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"113340:5:22","nodeType":"YulIdentifier","src":"113340:5:22"},"nativeSrc":"113340:11:22","nodeType":"YulFunctionCall","src":"113340:11:22"},"variableNames":[{"name":"m0","nativeSrc":"113334:2:22","nodeType":"YulIdentifier","src":"113334:2:22"}]},{"nativeSrc":"113364:17:22","nodeType":"YulAssignment","src":"113364:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"113376:4:22","nodeType":"YulLiteral","src":"113376:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"113370:5:22","nodeType":"YulIdentifier","src":"113370:5:22"},"nativeSrc":"113370:11:22","nodeType":"YulFunctionCall","src":"113370:11:22"},"variableNames":[{"name":"m1","nativeSrc":"113364:2:22","nodeType":"YulIdentifier","src":"113364:2:22"}]},{"nativeSrc":"113394:17:22","nodeType":"YulAssignment","src":"113394:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"113406:4:22","nodeType":"YulLiteral","src":"113406:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"113400:5:22","nodeType":"YulIdentifier","src":"113400:5:22"},"nativeSrc":"113400:11:22","nodeType":"YulFunctionCall","src":"113400:11:22"},"variableNames":[{"name":"m2","nativeSrc":"113394:2:22","nodeType":"YulIdentifier","src":"113394:2:22"}]},{"nativeSrc":"113424:17:22","nodeType":"YulAssignment","src":"113424:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"113436:4:22","nodeType":"YulLiteral","src":"113436:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"113430:5:22","nodeType":"YulIdentifier","src":"113430:5:22"},"nativeSrc":"113430:11:22","nodeType":"YulFunctionCall","src":"113430:11:22"},"variableNames":[{"name":"m3","nativeSrc":"113424:2:22","nodeType":"YulIdentifier","src":"113424:2:22"}]},{"nativeSrc":"113454:17:22","nodeType":"YulAssignment","src":"113454:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"113466:4:22","nodeType":"YulLiteral","src":"113466:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"113460:5:22","nodeType":"YulIdentifier","src":"113460:5:22"},"nativeSrc":"113460:11:22","nodeType":"YulFunctionCall","src":"113460:11:22"},"variableNames":[{"name":"m4","nativeSrc":"113454:2:22","nodeType":"YulIdentifier","src":"113454:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113552:4:22","nodeType":"YulLiteral","src":"113552:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"113558:10:22","nodeType":"YulLiteral","src":"113558:10:22","type":"","value":"0xcf394485"}],"functionName":{"name":"mstore","nativeSrc":"113545:6:22","nodeType":"YulIdentifier","src":"113545:6:22"},"nativeSrc":"113545:24:22","nodeType":"YulFunctionCall","src":"113545:24:22"},"nativeSrc":"113545:24:22","nodeType":"YulExpressionStatement","src":"113545:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113589:4:22","nodeType":"YulLiteral","src":"113589:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"113595:2:22","nodeType":"YulIdentifier","src":"113595:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113582:6:22","nodeType":"YulIdentifier","src":"113582:6:22"},"nativeSrc":"113582:16:22","nodeType":"YulFunctionCall","src":"113582:16:22"},"nativeSrc":"113582:16:22","nodeType":"YulExpressionStatement","src":"113582:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113618:4:22","nodeType":"YulLiteral","src":"113618:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"113624:2:22","nodeType":"YulIdentifier","src":"113624:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113611:6:22","nodeType":"YulIdentifier","src":"113611:6:22"},"nativeSrc":"113611:16:22","nodeType":"YulFunctionCall","src":"113611:16:22"},"nativeSrc":"113611:16:22","nodeType":"YulExpressionStatement","src":"113611:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113647:4:22","nodeType":"YulLiteral","src":"113647:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"113653:2:22","nodeType":"YulIdentifier","src":"113653:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113640:6:22","nodeType":"YulIdentifier","src":"113640:6:22"},"nativeSrc":"113640:16:22","nodeType":"YulFunctionCall","src":"113640:16:22"},"nativeSrc":"113640:16:22","nodeType":"YulExpressionStatement","src":"113640:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113676:4:22","nodeType":"YulLiteral","src":"113676:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"113682:2:22","nodeType":"YulIdentifier","src":"113682:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113669:6:22","nodeType":"YulIdentifier","src":"113669:6:22"},"nativeSrc":"113669:16:22","nodeType":"YulFunctionCall","src":"113669:16:22"},"nativeSrc":"113669:16:22","nodeType":"YulExpressionStatement","src":"113669:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34931,"isOffset":false,"isSlot":false,"src":"113334:2:22","valueSize":1},{"declaration":34934,"isOffset":false,"isSlot":false,"src":"113364:2:22","valueSize":1},{"declaration":34937,"isOffset":false,"isSlot":false,"src":"113394:2:22","valueSize":1},{"declaration":34940,"isOffset":false,"isSlot":false,"src":"113424:2:22","valueSize":1},{"declaration":34943,"isOffset":false,"isSlot":false,"src":"113454:2:22","valueSize":1},{"declaration":34921,"isOffset":false,"isSlot":false,"src":"113595:2:22","valueSize":1},{"declaration":34923,"isOffset":false,"isSlot":false,"src":"113624:2:22","valueSize":1},{"declaration":34925,"isOffset":false,"isSlot":false,"src":"113653:2:22","valueSize":1},{"declaration":34927,"isOffset":false,"isSlot":false,"src":"113682:2:22","valueSize":1}],"id":34945,"nodeType":"InlineAssembly","src":"113311:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113720:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113726:4:22","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":34946,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"113704:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"113704:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34950,"nodeType":"ExpressionStatement","src":"113704:27:22"},{"AST":{"nativeSrc":"113793:156:22","nodeType":"YulBlock","src":"113793:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"113814:4:22","nodeType":"YulLiteral","src":"113814:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"113820:2:22","nodeType":"YulIdentifier","src":"113820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113807:6:22","nodeType":"YulIdentifier","src":"113807:6:22"},"nativeSrc":"113807:16:22","nodeType":"YulFunctionCall","src":"113807:16:22"},"nativeSrc":"113807:16:22","nodeType":"YulExpressionStatement","src":"113807:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113843:4:22","nodeType":"YulLiteral","src":"113843:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"113849:2:22","nodeType":"YulIdentifier","src":"113849:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113836:6:22","nodeType":"YulIdentifier","src":"113836:6:22"},"nativeSrc":"113836:16:22","nodeType":"YulFunctionCall","src":"113836:16:22"},"nativeSrc":"113836:16:22","nodeType":"YulExpressionStatement","src":"113836:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113872:4:22","nodeType":"YulLiteral","src":"113872:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"113878:2:22","nodeType":"YulIdentifier","src":"113878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113865:6:22","nodeType":"YulIdentifier","src":"113865:6:22"},"nativeSrc":"113865:16:22","nodeType":"YulFunctionCall","src":"113865:16:22"},"nativeSrc":"113865:16:22","nodeType":"YulExpressionStatement","src":"113865:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113901:4:22","nodeType":"YulLiteral","src":"113901:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"113907:2:22","nodeType":"YulIdentifier","src":"113907:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113894:6:22","nodeType":"YulIdentifier","src":"113894:6:22"},"nativeSrc":"113894:16:22","nodeType":"YulFunctionCall","src":"113894:16:22"},"nativeSrc":"113894:16:22","nodeType":"YulExpressionStatement","src":"113894:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113930:4:22","nodeType":"YulLiteral","src":"113930:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113936:2:22","nodeType":"YulIdentifier","src":"113936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"113923:6:22","nodeType":"YulIdentifier","src":"113923:6:22"},"nativeSrc":"113923:16:22","nodeType":"YulFunctionCall","src":"113923:16:22"},"nativeSrc":"113923:16:22","nodeType":"YulExpressionStatement","src":"113923:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34931,"isOffset":false,"isSlot":false,"src":"113820:2:22","valueSize":1},{"declaration":34934,"isOffset":false,"isSlot":false,"src":"113849:2:22","valueSize":1},{"declaration":34937,"isOffset":false,"isSlot":false,"src":"113878:2:22","valueSize":1},{"declaration":34940,"isOffset":false,"isSlot":false,"src":"113907:2:22","valueSize":1},{"declaration":34943,"isOffset":false,"isSlot":false,"src":"113936:2:22","valueSize":1}],"id":34951,"nodeType":"InlineAssembly","src":"113784:165:22"}]},"id":34953,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113098:3:22","nodeType":"FunctionDefinition","parameters":{"id":34928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34921,"mutability":"mutable","name":"p0","nameLocation":"113110:2:22","nodeType":"VariableDeclaration","scope":34953,"src":"113102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34920,"name":"address","nodeType":"ElementaryTypeName","src":"113102:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34923,"mutability":"mutable","name":"p1","nameLocation":"113119:2:22","nodeType":"VariableDeclaration","scope":34953,"src":"113114:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34922,"name":"bool","nodeType":"ElementaryTypeName","src":"113114:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34925,"mutability":"mutable","name":"p2","nameLocation":"113128:2:22","nodeType":"VariableDeclaration","scope":34953,"src":"113123:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34924,"name":"bool","nodeType":"ElementaryTypeName","src":"113123:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34927,"mutability":"mutable","name":"p3","nameLocation":"113140:2:22","nodeType":"VariableDeclaration","scope":34953,"src":"113132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34926,"name":"address","nodeType":"ElementaryTypeName","src":"113132:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"113101:42:22"},"returnParameters":{"id":34929,"nodeType":"ParameterList","parameters":[],"src":"113158:0:22"},"scope":44426,"src":"113089:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":34986,"nodeType":"Block","src":"114027:794:22","statements":[{"assignments":[34965],"declarations":[{"constant":false,"id":34965,"mutability":"mutable","name":"m0","nameLocation":"114045:2:22","nodeType":"VariableDeclaration","scope":34986,"src":"114037:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114037:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34966,"nodeType":"VariableDeclarationStatement","src":"114037:10:22"},{"assignments":[34968],"declarations":[{"constant":false,"id":34968,"mutability":"mutable","name":"m1","nameLocation":"114065:2:22","nodeType":"VariableDeclaration","scope":34986,"src":"114057:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114057:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34969,"nodeType":"VariableDeclarationStatement","src":"114057:10:22"},{"assignments":[34971],"declarations":[{"constant":false,"id":34971,"mutability":"mutable","name":"m2","nameLocation":"114085:2:22","nodeType":"VariableDeclaration","scope":34986,"src":"114077:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114077:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34972,"nodeType":"VariableDeclarationStatement","src":"114077:10:22"},{"assignments":[34974],"declarations":[{"constant":false,"id":34974,"mutability":"mutable","name":"m3","nameLocation":"114105:2:22","nodeType":"VariableDeclaration","scope":34986,"src":"114097:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114097:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34975,"nodeType":"VariableDeclarationStatement","src":"114097:10:22"},{"assignments":[34977],"declarations":[{"constant":false,"id":34977,"mutability":"mutable","name":"m4","nameLocation":"114125:2:22","nodeType":"VariableDeclaration","scope":34986,"src":"114117:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114117:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34978,"nodeType":"VariableDeclarationStatement","src":"114117:10:22"},{"AST":{"nativeSrc":"114189:372:22","nodeType":"YulBlock","src":"114189:372:22","statements":[{"nativeSrc":"114203:17:22","nodeType":"YulAssignment","src":"114203:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"114215:4:22","nodeType":"YulLiteral","src":"114215:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"114209:5:22","nodeType":"YulIdentifier","src":"114209:5:22"},"nativeSrc":"114209:11:22","nodeType":"YulFunctionCall","src":"114209:11:22"},"variableNames":[{"name":"m0","nativeSrc":"114203:2:22","nodeType":"YulIdentifier","src":"114203:2:22"}]},{"nativeSrc":"114233:17:22","nodeType":"YulAssignment","src":"114233:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"114245:4:22","nodeType":"YulLiteral","src":"114245:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"114239:5:22","nodeType":"YulIdentifier","src":"114239:5:22"},"nativeSrc":"114239:11:22","nodeType":"YulFunctionCall","src":"114239:11:22"},"variableNames":[{"name":"m1","nativeSrc":"114233:2:22","nodeType":"YulIdentifier","src":"114233:2:22"}]},{"nativeSrc":"114263:17:22","nodeType":"YulAssignment","src":"114263:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"114275:4:22","nodeType":"YulLiteral","src":"114275:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"114269:5:22","nodeType":"YulIdentifier","src":"114269:5:22"},"nativeSrc":"114269:11:22","nodeType":"YulFunctionCall","src":"114269:11:22"},"variableNames":[{"name":"m2","nativeSrc":"114263:2:22","nodeType":"YulIdentifier","src":"114263:2:22"}]},{"nativeSrc":"114293:17:22","nodeType":"YulAssignment","src":"114293:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"114305:4:22","nodeType":"YulLiteral","src":"114305:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"114299:5:22","nodeType":"YulIdentifier","src":"114299:5:22"},"nativeSrc":"114299:11:22","nodeType":"YulFunctionCall","src":"114299:11:22"},"variableNames":[{"name":"m3","nativeSrc":"114293:2:22","nodeType":"YulIdentifier","src":"114293:2:22"}]},{"nativeSrc":"114323:17:22","nodeType":"YulAssignment","src":"114323:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"114335:4:22","nodeType":"YulLiteral","src":"114335:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"114329:5:22","nodeType":"YulIdentifier","src":"114329:5:22"},"nativeSrc":"114329:11:22","nodeType":"YulFunctionCall","src":"114329:11:22"},"variableNames":[{"name":"m4","nativeSrc":"114323:2:22","nodeType":"YulIdentifier","src":"114323:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114418:4:22","nodeType":"YulLiteral","src":"114418:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"114424:10:22","nodeType":"YulLiteral","src":"114424:10:22","type":"","value":"0xcac43479"}],"functionName":{"name":"mstore","nativeSrc":"114411:6:22","nodeType":"YulIdentifier","src":"114411:6:22"},"nativeSrc":"114411:24:22","nodeType":"YulFunctionCall","src":"114411:24:22"},"nativeSrc":"114411:24:22","nodeType":"YulExpressionStatement","src":"114411:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114455:4:22","nodeType":"YulLiteral","src":"114455:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"114461:2:22","nodeType":"YulIdentifier","src":"114461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114448:6:22","nodeType":"YulIdentifier","src":"114448:6:22"},"nativeSrc":"114448:16:22","nodeType":"YulFunctionCall","src":"114448:16:22"},"nativeSrc":"114448:16:22","nodeType":"YulExpressionStatement","src":"114448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114484:4:22","nodeType":"YulLiteral","src":"114484:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"114490:2:22","nodeType":"YulIdentifier","src":"114490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114477:6:22","nodeType":"YulIdentifier","src":"114477:6:22"},"nativeSrc":"114477:16:22","nodeType":"YulFunctionCall","src":"114477:16:22"},"nativeSrc":"114477:16:22","nodeType":"YulExpressionStatement","src":"114477:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114513:4:22","nodeType":"YulLiteral","src":"114513:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"114519:2:22","nodeType":"YulIdentifier","src":"114519:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114506:6:22","nodeType":"YulIdentifier","src":"114506:6:22"},"nativeSrc":"114506:16:22","nodeType":"YulFunctionCall","src":"114506:16:22"},"nativeSrc":"114506:16:22","nodeType":"YulExpressionStatement","src":"114506:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114542:4:22","nodeType":"YulLiteral","src":"114542:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"114548:2:22","nodeType":"YulIdentifier","src":"114548:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114535:6:22","nodeType":"YulIdentifier","src":"114535:6:22"},"nativeSrc":"114535:16:22","nodeType":"YulFunctionCall","src":"114535:16:22"},"nativeSrc":"114535:16:22","nodeType":"YulExpressionStatement","src":"114535:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34965,"isOffset":false,"isSlot":false,"src":"114203:2:22","valueSize":1},{"declaration":34968,"isOffset":false,"isSlot":false,"src":"114233:2:22","valueSize":1},{"declaration":34971,"isOffset":false,"isSlot":false,"src":"114263:2:22","valueSize":1},{"declaration":34974,"isOffset":false,"isSlot":false,"src":"114293:2:22","valueSize":1},{"declaration":34977,"isOffset":false,"isSlot":false,"src":"114323:2:22","valueSize":1},{"declaration":34955,"isOffset":false,"isSlot":false,"src":"114461:2:22","valueSize":1},{"declaration":34957,"isOffset":false,"isSlot":false,"src":"114490:2:22","valueSize":1},{"declaration":34959,"isOffset":false,"isSlot":false,"src":"114519:2:22","valueSize":1},{"declaration":34961,"isOffset":false,"isSlot":false,"src":"114548:2:22","valueSize":1}],"id":34979,"nodeType":"InlineAssembly","src":"114180:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":34981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114586:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114592:4:22","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":34980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"114570:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"114570:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34984,"nodeType":"ExpressionStatement","src":"114570:27:22"},{"AST":{"nativeSrc":"114659:156:22","nodeType":"YulBlock","src":"114659:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"114680:4:22","nodeType":"YulLiteral","src":"114680:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"114686:2:22","nodeType":"YulIdentifier","src":"114686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114673:6:22","nodeType":"YulIdentifier","src":"114673:6:22"},"nativeSrc":"114673:16:22","nodeType":"YulFunctionCall","src":"114673:16:22"},"nativeSrc":"114673:16:22","nodeType":"YulExpressionStatement","src":"114673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114709:4:22","nodeType":"YulLiteral","src":"114709:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"114715:2:22","nodeType":"YulIdentifier","src":"114715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114702:6:22","nodeType":"YulIdentifier","src":"114702:6:22"},"nativeSrc":"114702:16:22","nodeType":"YulFunctionCall","src":"114702:16:22"},"nativeSrc":"114702:16:22","nodeType":"YulExpressionStatement","src":"114702:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114738:4:22","nodeType":"YulLiteral","src":"114738:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"114744:2:22","nodeType":"YulIdentifier","src":"114744:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114731:6:22","nodeType":"YulIdentifier","src":"114731:6:22"},"nativeSrc":"114731:16:22","nodeType":"YulFunctionCall","src":"114731:16:22"},"nativeSrc":"114731:16:22","nodeType":"YulExpressionStatement","src":"114731:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114767:4:22","nodeType":"YulLiteral","src":"114767:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"114773:2:22","nodeType":"YulIdentifier","src":"114773:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114760:6:22","nodeType":"YulIdentifier","src":"114760:6:22"},"nativeSrc":"114760:16:22","nodeType":"YulFunctionCall","src":"114760:16:22"},"nativeSrc":"114760:16:22","nodeType":"YulExpressionStatement","src":"114760:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114796:4:22","nodeType":"YulLiteral","src":"114796:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"114802:2:22","nodeType":"YulIdentifier","src":"114802:2:22"}],"functionName":{"name":"mstore","nativeSrc":"114789:6:22","nodeType":"YulIdentifier","src":"114789:6:22"},"nativeSrc":"114789:16:22","nodeType":"YulFunctionCall","src":"114789:16:22"},"nativeSrc":"114789:16:22","nodeType":"YulExpressionStatement","src":"114789:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34965,"isOffset":false,"isSlot":false,"src":"114686:2:22","valueSize":1},{"declaration":34968,"isOffset":false,"isSlot":false,"src":"114715:2:22","valueSize":1},{"declaration":34971,"isOffset":false,"isSlot":false,"src":"114744:2:22","valueSize":1},{"declaration":34974,"isOffset":false,"isSlot":false,"src":"114773:2:22","valueSize":1},{"declaration":34977,"isOffset":false,"isSlot":false,"src":"114802:2:22","valueSize":1}],"id":34985,"nodeType":"InlineAssembly","src":"114650:165:22"}]},"id":34987,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113970:3:22","nodeType":"FunctionDefinition","parameters":{"id":34962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34955,"mutability":"mutable","name":"p0","nameLocation":"113982:2:22","nodeType":"VariableDeclaration","scope":34987,"src":"113974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34954,"name":"address","nodeType":"ElementaryTypeName","src":"113974:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34957,"mutability":"mutable","name":"p1","nameLocation":"113991:2:22","nodeType":"VariableDeclaration","scope":34987,"src":"113986:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34956,"name":"bool","nodeType":"ElementaryTypeName","src":"113986:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34959,"mutability":"mutable","name":"p2","nameLocation":"114000:2:22","nodeType":"VariableDeclaration","scope":34987,"src":"113995:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34958,"name":"bool","nodeType":"ElementaryTypeName","src":"113995:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34961,"mutability":"mutable","name":"p3","nameLocation":"114009:2:22","nodeType":"VariableDeclaration","scope":34987,"src":"114004:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34960,"name":"bool","nodeType":"ElementaryTypeName","src":"114004:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"113973:39:22"},"returnParameters":{"id":34963,"nodeType":"ParameterList","parameters":[],"src":"114027:0:22"},"scope":44426,"src":"113961:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35020,"nodeType":"Block","src":"114896:797:22","statements":[{"assignments":[34999],"declarations":[{"constant":false,"id":34999,"mutability":"mutable","name":"m0","nameLocation":"114914:2:22","nodeType":"VariableDeclaration","scope":35020,"src":"114906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35000,"nodeType":"VariableDeclarationStatement","src":"114906:10:22"},{"assignments":[35002],"declarations":[{"constant":false,"id":35002,"mutability":"mutable","name":"m1","nameLocation":"114934:2:22","nodeType":"VariableDeclaration","scope":35020,"src":"114926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35003,"nodeType":"VariableDeclarationStatement","src":"114926:10:22"},{"assignments":[35005],"declarations":[{"constant":false,"id":35005,"mutability":"mutable","name":"m2","nameLocation":"114954:2:22","nodeType":"VariableDeclaration","scope":35020,"src":"114946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114946:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35006,"nodeType":"VariableDeclarationStatement","src":"114946:10:22"},{"assignments":[35008],"declarations":[{"constant":false,"id":35008,"mutability":"mutable","name":"m3","nameLocation":"114974:2:22","nodeType":"VariableDeclaration","scope":35020,"src":"114966:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114966:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35009,"nodeType":"VariableDeclarationStatement","src":"114966:10:22"},{"assignments":[35011],"declarations":[{"constant":false,"id":35011,"mutability":"mutable","name":"m4","nameLocation":"114994:2:22","nodeType":"VariableDeclaration","scope":35020,"src":"114986:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114986:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35012,"nodeType":"VariableDeclarationStatement","src":"114986:10:22"},{"AST":{"nativeSrc":"115058:375:22","nodeType":"YulBlock","src":"115058:375:22","statements":[{"nativeSrc":"115072:17:22","nodeType":"YulAssignment","src":"115072:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"115084:4:22","nodeType":"YulLiteral","src":"115084:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"115078:5:22","nodeType":"YulIdentifier","src":"115078:5:22"},"nativeSrc":"115078:11:22","nodeType":"YulFunctionCall","src":"115078:11:22"},"variableNames":[{"name":"m0","nativeSrc":"115072:2:22","nodeType":"YulIdentifier","src":"115072:2:22"}]},{"nativeSrc":"115102:17:22","nodeType":"YulAssignment","src":"115102:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"115114:4:22","nodeType":"YulLiteral","src":"115114:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"115108:5:22","nodeType":"YulIdentifier","src":"115108:5:22"},"nativeSrc":"115108:11:22","nodeType":"YulFunctionCall","src":"115108:11:22"},"variableNames":[{"name":"m1","nativeSrc":"115102:2:22","nodeType":"YulIdentifier","src":"115102:2:22"}]},{"nativeSrc":"115132:17:22","nodeType":"YulAssignment","src":"115132:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"115144:4:22","nodeType":"YulLiteral","src":"115144:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"115138:5:22","nodeType":"YulIdentifier","src":"115138:5:22"},"nativeSrc":"115138:11:22","nodeType":"YulFunctionCall","src":"115138:11:22"},"variableNames":[{"name":"m2","nativeSrc":"115132:2:22","nodeType":"YulIdentifier","src":"115132:2:22"}]},{"nativeSrc":"115162:17:22","nodeType":"YulAssignment","src":"115162:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"115174:4:22","nodeType":"YulLiteral","src":"115174:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"115168:5:22","nodeType":"YulIdentifier","src":"115168:5:22"},"nativeSrc":"115168:11:22","nodeType":"YulFunctionCall","src":"115168:11:22"},"variableNames":[{"name":"m3","nativeSrc":"115162:2:22","nodeType":"YulIdentifier","src":"115162:2:22"}]},{"nativeSrc":"115192:17:22","nodeType":"YulAssignment","src":"115192:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"115204:4:22","nodeType":"YulLiteral","src":"115204:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"115198:5:22","nodeType":"YulIdentifier","src":"115198:5:22"},"nativeSrc":"115198:11:22","nodeType":"YulFunctionCall","src":"115198:11:22"},"variableNames":[{"name":"m4","nativeSrc":"115192:2:22","nodeType":"YulIdentifier","src":"115192:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115290:4:22","nodeType":"YulLiteral","src":"115290:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"115296:10:22","nodeType":"YulLiteral","src":"115296:10:22","type":"","value":"0x8c4e5de6"}],"functionName":{"name":"mstore","nativeSrc":"115283:6:22","nodeType":"YulIdentifier","src":"115283:6:22"},"nativeSrc":"115283:24:22","nodeType":"YulFunctionCall","src":"115283:24:22"},"nativeSrc":"115283:24:22","nodeType":"YulExpressionStatement","src":"115283:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115327:4:22","nodeType":"YulLiteral","src":"115327:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"115333:2:22","nodeType":"YulIdentifier","src":"115333:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115320:6:22","nodeType":"YulIdentifier","src":"115320:6:22"},"nativeSrc":"115320:16:22","nodeType":"YulFunctionCall","src":"115320:16:22"},"nativeSrc":"115320:16:22","nodeType":"YulExpressionStatement","src":"115320:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115356:4:22","nodeType":"YulLiteral","src":"115356:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"115362:2:22","nodeType":"YulIdentifier","src":"115362:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115349:6:22","nodeType":"YulIdentifier","src":"115349:6:22"},"nativeSrc":"115349:16:22","nodeType":"YulFunctionCall","src":"115349:16:22"},"nativeSrc":"115349:16:22","nodeType":"YulExpressionStatement","src":"115349:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115385:4:22","nodeType":"YulLiteral","src":"115385:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"115391:2:22","nodeType":"YulIdentifier","src":"115391:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115378:6:22","nodeType":"YulIdentifier","src":"115378:6:22"},"nativeSrc":"115378:16:22","nodeType":"YulFunctionCall","src":"115378:16:22"},"nativeSrc":"115378:16:22","nodeType":"YulExpressionStatement","src":"115378:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115414:4:22","nodeType":"YulLiteral","src":"115414:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"115420:2:22","nodeType":"YulIdentifier","src":"115420:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115407:6:22","nodeType":"YulIdentifier","src":"115407:6:22"},"nativeSrc":"115407:16:22","nodeType":"YulFunctionCall","src":"115407:16:22"},"nativeSrc":"115407:16:22","nodeType":"YulExpressionStatement","src":"115407:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34999,"isOffset":false,"isSlot":false,"src":"115072:2:22","valueSize":1},{"declaration":35002,"isOffset":false,"isSlot":false,"src":"115102:2:22","valueSize":1},{"declaration":35005,"isOffset":false,"isSlot":false,"src":"115132:2:22","valueSize":1},{"declaration":35008,"isOffset":false,"isSlot":false,"src":"115162:2:22","valueSize":1},{"declaration":35011,"isOffset":false,"isSlot":false,"src":"115192:2:22","valueSize":1},{"declaration":34989,"isOffset":false,"isSlot":false,"src":"115333:2:22","valueSize":1},{"declaration":34991,"isOffset":false,"isSlot":false,"src":"115362:2:22","valueSize":1},{"declaration":34993,"isOffset":false,"isSlot":false,"src":"115391:2:22","valueSize":1},{"declaration":34995,"isOffset":false,"isSlot":false,"src":"115420:2:22","valueSize":1}],"id":35013,"nodeType":"InlineAssembly","src":"115049:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115458:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115464:4:22","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":35014,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"115442:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"115442:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35018,"nodeType":"ExpressionStatement","src":"115442:27:22"},{"AST":{"nativeSrc":"115531:156:22","nodeType":"YulBlock","src":"115531:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"115552:4:22","nodeType":"YulLiteral","src":"115552:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"115558:2:22","nodeType":"YulIdentifier","src":"115558:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115545:6:22","nodeType":"YulIdentifier","src":"115545:6:22"},"nativeSrc":"115545:16:22","nodeType":"YulFunctionCall","src":"115545:16:22"},"nativeSrc":"115545:16:22","nodeType":"YulExpressionStatement","src":"115545:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115581:4:22","nodeType":"YulLiteral","src":"115581:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"115587:2:22","nodeType":"YulIdentifier","src":"115587:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115574:6:22","nodeType":"YulIdentifier","src":"115574:6:22"},"nativeSrc":"115574:16:22","nodeType":"YulFunctionCall","src":"115574:16:22"},"nativeSrc":"115574:16:22","nodeType":"YulExpressionStatement","src":"115574:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115610:4:22","nodeType":"YulLiteral","src":"115610:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"115616:2:22","nodeType":"YulIdentifier","src":"115616:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115603:6:22","nodeType":"YulIdentifier","src":"115603:6:22"},"nativeSrc":"115603:16:22","nodeType":"YulFunctionCall","src":"115603:16:22"},"nativeSrc":"115603:16:22","nodeType":"YulExpressionStatement","src":"115603:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115639:4:22","nodeType":"YulLiteral","src":"115639:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"115645:2:22","nodeType":"YulIdentifier","src":"115645:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115632:6:22","nodeType":"YulIdentifier","src":"115632:6:22"},"nativeSrc":"115632:16:22","nodeType":"YulFunctionCall","src":"115632:16:22"},"nativeSrc":"115632:16:22","nodeType":"YulExpressionStatement","src":"115632:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115668:4:22","nodeType":"YulLiteral","src":"115668:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"115674:2:22","nodeType":"YulIdentifier","src":"115674:2:22"}],"functionName":{"name":"mstore","nativeSrc":"115661:6:22","nodeType":"YulIdentifier","src":"115661:6:22"},"nativeSrc":"115661:16:22","nodeType":"YulFunctionCall","src":"115661:16:22"},"nativeSrc":"115661:16:22","nodeType":"YulExpressionStatement","src":"115661:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34999,"isOffset":false,"isSlot":false,"src":"115558:2:22","valueSize":1},{"declaration":35002,"isOffset":false,"isSlot":false,"src":"115587:2:22","valueSize":1},{"declaration":35005,"isOffset":false,"isSlot":false,"src":"115616:2:22","valueSize":1},{"declaration":35008,"isOffset":false,"isSlot":false,"src":"115645:2:22","valueSize":1},{"declaration":35011,"isOffset":false,"isSlot":false,"src":"115674:2:22","valueSize":1}],"id":35019,"nodeType":"InlineAssembly","src":"115522:165:22"}]},"id":35021,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"114836:3:22","nodeType":"FunctionDefinition","parameters":{"id":34996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34989,"mutability":"mutable","name":"p0","nameLocation":"114848:2:22","nodeType":"VariableDeclaration","scope":35021,"src":"114840:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34988,"name":"address","nodeType":"ElementaryTypeName","src":"114840:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34991,"mutability":"mutable","name":"p1","nameLocation":"114857:2:22","nodeType":"VariableDeclaration","scope":35021,"src":"114852:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34990,"name":"bool","nodeType":"ElementaryTypeName","src":"114852:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34993,"mutability":"mutable","name":"p2","nameLocation":"114866:2:22","nodeType":"VariableDeclaration","scope":35021,"src":"114861:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34992,"name":"bool","nodeType":"ElementaryTypeName","src":"114861:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34995,"mutability":"mutable","name":"p3","nameLocation":"114878:2:22","nodeType":"VariableDeclaration","scope":35021,"src":"114870:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34994,"name":"uint256","nodeType":"ElementaryTypeName","src":"114870:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114839:42:22"},"returnParameters":{"id":34997,"nodeType":"ParameterList","parameters":[],"src":"114896:0:22"},"scope":44426,"src":"114827:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35060,"nodeType":"Block","src":"115768:1345:22","statements":[{"assignments":[35033],"declarations":[{"constant":false,"id":35033,"mutability":"mutable","name":"m0","nameLocation":"115786:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115778:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115778:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35034,"nodeType":"VariableDeclarationStatement","src":"115778:10:22"},{"assignments":[35036],"declarations":[{"constant":false,"id":35036,"mutability":"mutable","name":"m1","nameLocation":"115806:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115798:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35037,"nodeType":"VariableDeclarationStatement","src":"115798:10:22"},{"assignments":[35039],"declarations":[{"constant":false,"id":35039,"mutability":"mutable","name":"m2","nameLocation":"115826:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115818:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115818:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35040,"nodeType":"VariableDeclarationStatement","src":"115818:10:22"},{"assignments":[35042],"declarations":[{"constant":false,"id":35042,"mutability":"mutable","name":"m3","nameLocation":"115846:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115838:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35043,"nodeType":"VariableDeclarationStatement","src":"115838:10:22"},{"assignments":[35045],"declarations":[{"constant":false,"id":35045,"mutability":"mutable","name":"m4","nameLocation":"115866:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115858:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35046,"nodeType":"VariableDeclarationStatement","src":"115858:10:22"},{"assignments":[35048],"declarations":[{"constant":false,"id":35048,"mutability":"mutable","name":"m5","nameLocation":"115886:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35049,"nodeType":"VariableDeclarationStatement","src":"115878:10:22"},{"assignments":[35051],"declarations":[{"constant":false,"id":35051,"mutability":"mutable","name":"m6","nameLocation":"115906:2:22","nodeType":"VariableDeclaration","scope":35060,"src":"115898:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115898:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35052,"nodeType":"VariableDeclarationStatement","src":"115898:10:22"},{"AST":{"nativeSrc":"115970:825:22","nodeType":"YulBlock","src":"115970:825:22","statements":[{"body":{"nativeSrc":"116013:313:22","nodeType":"YulBlock","src":"116013:313:22","statements":[{"nativeSrc":"116031:15:22","nodeType":"YulVariableDeclaration","src":"116031:15:22","value":{"kind":"number","nativeSrc":"116045:1:22","nodeType":"YulLiteral","src":"116045:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"116035:6:22","nodeType":"YulTypedName","src":"116035:6:22","type":""}]},{"body":{"nativeSrc":"116116:40:22","nodeType":"YulBlock","src":"116116:40:22","statements":[{"body":{"nativeSrc":"116145:9:22","nodeType":"YulBlock","src":"116145:9:22","statements":[{"nativeSrc":"116147:5:22","nodeType":"YulBreak","src":"116147:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"116133:6:22","nodeType":"YulIdentifier","src":"116133:6:22"},{"name":"w","nativeSrc":"116141:1:22","nodeType":"YulIdentifier","src":"116141:1:22"}],"functionName":{"name":"byte","nativeSrc":"116128:4:22","nodeType":"YulIdentifier","src":"116128:4:22"},"nativeSrc":"116128:15:22","nodeType":"YulFunctionCall","src":"116128:15:22"}],"functionName":{"name":"iszero","nativeSrc":"116121:6:22","nodeType":"YulIdentifier","src":"116121:6:22"},"nativeSrc":"116121:23:22","nodeType":"YulFunctionCall","src":"116121:23:22"},"nativeSrc":"116118:36:22","nodeType":"YulIf","src":"116118:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"116073:6:22","nodeType":"YulIdentifier","src":"116073:6:22"},{"kind":"number","nativeSrc":"116081:4:22","nodeType":"YulLiteral","src":"116081:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"116070:2:22","nodeType":"YulIdentifier","src":"116070:2:22"},"nativeSrc":"116070:16:22","nodeType":"YulFunctionCall","src":"116070:16:22"},"nativeSrc":"116063:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"116087:28:22","nodeType":"YulBlock","src":"116087:28:22","statements":[{"nativeSrc":"116089:24:22","nodeType":"YulAssignment","src":"116089:24:22","value":{"arguments":[{"name":"length","nativeSrc":"116103:6:22","nodeType":"YulIdentifier","src":"116103:6:22"},{"kind":"number","nativeSrc":"116111:1:22","nodeType":"YulLiteral","src":"116111:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"116099:3:22","nodeType":"YulIdentifier","src":"116099:3:22"},"nativeSrc":"116099:14:22","nodeType":"YulFunctionCall","src":"116099:14:22"},"variableNames":[{"name":"length","nativeSrc":"116089:6:22","nodeType":"YulIdentifier","src":"116089:6:22"}]}]},"pre":{"nativeSrc":"116067:2:22","nodeType":"YulBlock","src":"116067:2:22","statements":[]},"src":"116063:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"116180:3:22","nodeType":"YulIdentifier","src":"116180:3:22"},{"name":"length","nativeSrc":"116185:6:22","nodeType":"YulIdentifier","src":"116185:6:22"}],"functionName":{"name":"mstore","nativeSrc":"116173:6:22","nodeType":"YulIdentifier","src":"116173:6:22"},"nativeSrc":"116173:19:22","nodeType":"YulFunctionCall","src":"116173:19:22"},"nativeSrc":"116173:19:22","nodeType":"YulExpressionStatement","src":"116173:19:22"},{"nativeSrc":"116209:37:22","nodeType":"YulVariableDeclaration","src":"116209:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"116226:3:22","nodeType":"YulLiteral","src":"116226:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"116235:1:22","nodeType":"YulLiteral","src":"116235:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"116238:6:22","nodeType":"YulIdentifier","src":"116238:6:22"}],"functionName":{"name":"shl","nativeSrc":"116231:3:22","nodeType":"YulIdentifier","src":"116231:3:22"},"nativeSrc":"116231:14:22","nodeType":"YulFunctionCall","src":"116231:14:22"}],"functionName":{"name":"sub","nativeSrc":"116222:3:22","nodeType":"YulIdentifier","src":"116222:3:22"},"nativeSrc":"116222:24:22","nodeType":"YulFunctionCall","src":"116222:24:22"},"variables":[{"name":"shift","nativeSrc":"116213:5:22","nodeType":"YulTypedName","src":"116213:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"116274:3:22","nodeType":"YulIdentifier","src":"116274:3:22"},{"kind":"number","nativeSrc":"116279:4:22","nodeType":"YulLiteral","src":"116279:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"116270:3:22","nodeType":"YulIdentifier","src":"116270:3:22"},"nativeSrc":"116270:14:22","nodeType":"YulFunctionCall","src":"116270:14:22"},{"arguments":[{"name":"shift","nativeSrc":"116290:5:22","nodeType":"YulIdentifier","src":"116290:5:22"},{"arguments":[{"name":"shift","nativeSrc":"116301:5:22","nodeType":"YulIdentifier","src":"116301:5:22"},{"name":"w","nativeSrc":"116308:1:22","nodeType":"YulIdentifier","src":"116308:1:22"}],"functionName":{"name":"shr","nativeSrc":"116297:3:22","nodeType":"YulIdentifier","src":"116297:3:22"},"nativeSrc":"116297:13:22","nodeType":"YulFunctionCall","src":"116297:13:22"}],"functionName":{"name":"shl","nativeSrc":"116286:3:22","nodeType":"YulIdentifier","src":"116286:3:22"},"nativeSrc":"116286:25:22","nodeType":"YulFunctionCall","src":"116286:25:22"}],"functionName":{"name":"mstore","nativeSrc":"116263:6:22","nodeType":"YulIdentifier","src":"116263:6:22"},"nativeSrc":"116263:49:22","nodeType":"YulFunctionCall","src":"116263:49:22"},"nativeSrc":"116263:49:22","nodeType":"YulExpressionStatement","src":"116263:49:22"}]},"name":"writeString","nativeSrc":"115984:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"116005:3:22","nodeType":"YulTypedName","src":"116005:3:22","type":""},{"name":"w","nativeSrc":"116010:1:22","nodeType":"YulTypedName","src":"116010:1:22","type":""}],"src":"115984:342:22"},{"nativeSrc":"116339:17:22","nodeType":"YulAssignment","src":"116339:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116351:4:22","nodeType":"YulLiteral","src":"116351:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"116345:5:22","nodeType":"YulIdentifier","src":"116345:5:22"},"nativeSrc":"116345:11:22","nodeType":"YulFunctionCall","src":"116345:11:22"},"variableNames":[{"name":"m0","nativeSrc":"116339:2:22","nodeType":"YulIdentifier","src":"116339:2:22"}]},{"nativeSrc":"116369:17:22","nodeType":"YulAssignment","src":"116369:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116381:4:22","nodeType":"YulLiteral","src":"116381:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"116375:5:22","nodeType":"YulIdentifier","src":"116375:5:22"},"nativeSrc":"116375:11:22","nodeType":"YulFunctionCall","src":"116375:11:22"},"variableNames":[{"name":"m1","nativeSrc":"116369:2:22","nodeType":"YulIdentifier","src":"116369:2:22"}]},{"nativeSrc":"116399:17:22","nodeType":"YulAssignment","src":"116399:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116411:4:22","nodeType":"YulLiteral","src":"116411:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"116405:5:22","nodeType":"YulIdentifier","src":"116405:5:22"},"nativeSrc":"116405:11:22","nodeType":"YulFunctionCall","src":"116405:11:22"},"variableNames":[{"name":"m2","nativeSrc":"116399:2:22","nodeType":"YulIdentifier","src":"116399:2:22"}]},{"nativeSrc":"116429:17:22","nodeType":"YulAssignment","src":"116429:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116441:4:22","nodeType":"YulLiteral","src":"116441:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"116435:5:22","nodeType":"YulIdentifier","src":"116435:5:22"},"nativeSrc":"116435:11:22","nodeType":"YulFunctionCall","src":"116435:11:22"},"variableNames":[{"name":"m3","nativeSrc":"116429:2:22","nodeType":"YulIdentifier","src":"116429:2:22"}]},{"nativeSrc":"116459:17:22","nodeType":"YulAssignment","src":"116459:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116471:4:22","nodeType":"YulLiteral","src":"116471:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"116465:5:22","nodeType":"YulIdentifier","src":"116465:5:22"},"nativeSrc":"116465:11:22","nodeType":"YulFunctionCall","src":"116465:11:22"},"variableNames":[{"name":"m4","nativeSrc":"116459:2:22","nodeType":"YulIdentifier","src":"116459:2:22"}]},{"nativeSrc":"116489:17:22","nodeType":"YulAssignment","src":"116489:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116501:4:22","nodeType":"YulLiteral","src":"116501:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"116495:5:22","nodeType":"YulIdentifier","src":"116495:5:22"},"nativeSrc":"116495:11:22","nodeType":"YulFunctionCall","src":"116495:11:22"},"variableNames":[{"name":"m5","nativeSrc":"116489:2:22","nodeType":"YulIdentifier","src":"116489:2:22"}]},{"nativeSrc":"116519:17:22","nodeType":"YulAssignment","src":"116519:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"116531:4:22","nodeType":"YulLiteral","src":"116531:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"116525:5:22","nodeType":"YulIdentifier","src":"116525:5:22"},"nativeSrc":"116525:11:22","nodeType":"YulFunctionCall","src":"116525:11:22"},"variableNames":[{"name":"m6","nativeSrc":"116519:2:22","nodeType":"YulIdentifier","src":"116519:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116616:4:22","nodeType":"YulLiteral","src":"116616:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"116622:10:22","nodeType":"YulLiteral","src":"116622:10:22","type":"","value":"0xdfc4a2e8"}],"functionName":{"name":"mstore","nativeSrc":"116609:6:22","nodeType":"YulIdentifier","src":"116609:6:22"},"nativeSrc":"116609:24:22","nodeType":"YulFunctionCall","src":"116609:24:22"},"nativeSrc":"116609:24:22","nodeType":"YulExpressionStatement","src":"116609:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116653:4:22","nodeType":"YulLiteral","src":"116653:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"116659:2:22","nodeType":"YulIdentifier","src":"116659:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116646:6:22","nodeType":"YulIdentifier","src":"116646:6:22"},"nativeSrc":"116646:16:22","nodeType":"YulFunctionCall","src":"116646:16:22"},"nativeSrc":"116646:16:22","nodeType":"YulExpressionStatement","src":"116646:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116682:4:22","nodeType":"YulLiteral","src":"116682:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"116688:2:22","nodeType":"YulIdentifier","src":"116688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116675:6:22","nodeType":"YulIdentifier","src":"116675:6:22"},"nativeSrc":"116675:16:22","nodeType":"YulFunctionCall","src":"116675:16:22"},"nativeSrc":"116675:16:22","nodeType":"YulExpressionStatement","src":"116675:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116711:4:22","nodeType":"YulLiteral","src":"116711:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"116717:2:22","nodeType":"YulIdentifier","src":"116717:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116704:6:22","nodeType":"YulIdentifier","src":"116704:6:22"},"nativeSrc":"116704:16:22","nodeType":"YulFunctionCall","src":"116704:16:22"},"nativeSrc":"116704:16:22","nodeType":"YulExpressionStatement","src":"116704:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116740:4:22","nodeType":"YulLiteral","src":"116740:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"116746:4:22","nodeType":"YulLiteral","src":"116746:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"116733:6:22","nodeType":"YulIdentifier","src":"116733:6:22"},"nativeSrc":"116733:18:22","nodeType":"YulFunctionCall","src":"116733:18:22"},"nativeSrc":"116733:18:22","nodeType":"YulExpressionStatement","src":"116733:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116776:4:22","nodeType":"YulLiteral","src":"116776:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"116782:2:22","nodeType":"YulIdentifier","src":"116782:2:22"}],"functionName":{"name":"writeString","nativeSrc":"116764:11:22","nodeType":"YulIdentifier","src":"116764:11:22"},"nativeSrc":"116764:21:22","nodeType":"YulFunctionCall","src":"116764:21:22"},"nativeSrc":"116764:21:22","nodeType":"YulExpressionStatement","src":"116764:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35033,"isOffset":false,"isSlot":false,"src":"116339:2:22","valueSize":1},{"declaration":35036,"isOffset":false,"isSlot":false,"src":"116369:2:22","valueSize":1},{"declaration":35039,"isOffset":false,"isSlot":false,"src":"116399:2:22","valueSize":1},{"declaration":35042,"isOffset":false,"isSlot":false,"src":"116429:2:22","valueSize":1},{"declaration":35045,"isOffset":false,"isSlot":false,"src":"116459:2:22","valueSize":1},{"declaration":35048,"isOffset":false,"isSlot":false,"src":"116489:2:22","valueSize":1},{"declaration":35051,"isOffset":false,"isSlot":false,"src":"116519:2:22","valueSize":1},{"declaration":35023,"isOffset":false,"isSlot":false,"src":"116659:2:22","valueSize":1},{"declaration":35025,"isOffset":false,"isSlot":false,"src":"116688:2:22","valueSize":1},{"declaration":35027,"isOffset":false,"isSlot":false,"src":"116717:2:22","valueSize":1},{"declaration":35029,"isOffset":false,"isSlot":false,"src":"116782:2:22","valueSize":1}],"id":35053,"nodeType":"InlineAssembly","src":"115961:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116820:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116826:4:22","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":35054,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"116804:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"116804:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35058,"nodeType":"ExpressionStatement","src":"116804:27:22"},{"AST":{"nativeSrc":"116893:214:22","nodeType":"YulBlock","src":"116893:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"116914:4:22","nodeType":"YulLiteral","src":"116914:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"116920:2:22","nodeType":"YulIdentifier","src":"116920:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116907:6:22","nodeType":"YulIdentifier","src":"116907:6:22"},"nativeSrc":"116907:16:22","nodeType":"YulFunctionCall","src":"116907:16:22"},"nativeSrc":"116907:16:22","nodeType":"YulExpressionStatement","src":"116907:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116943:4:22","nodeType":"YulLiteral","src":"116943:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"116949:2:22","nodeType":"YulIdentifier","src":"116949:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116936:6:22","nodeType":"YulIdentifier","src":"116936:6:22"},"nativeSrc":"116936:16:22","nodeType":"YulFunctionCall","src":"116936:16:22"},"nativeSrc":"116936:16:22","nodeType":"YulExpressionStatement","src":"116936:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116972:4:22","nodeType":"YulLiteral","src":"116972:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"116978:2:22","nodeType":"YulIdentifier","src":"116978:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116965:6:22","nodeType":"YulIdentifier","src":"116965:6:22"},"nativeSrc":"116965:16:22","nodeType":"YulFunctionCall","src":"116965:16:22"},"nativeSrc":"116965:16:22","nodeType":"YulExpressionStatement","src":"116965:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117001:4:22","nodeType":"YulLiteral","src":"117001:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117007:2:22","nodeType":"YulIdentifier","src":"117007:2:22"}],"functionName":{"name":"mstore","nativeSrc":"116994:6:22","nodeType":"YulIdentifier","src":"116994:6:22"},"nativeSrc":"116994:16:22","nodeType":"YulFunctionCall","src":"116994:16:22"},"nativeSrc":"116994:16:22","nodeType":"YulExpressionStatement","src":"116994:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117030:4:22","nodeType":"YulLiteral","src":"117030:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117036:2:22","nodeType":"YulIdentifier","src":"117036:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117023:6:22","nodeType":"YulIdentifier","src":"117023:6:22"},"nativeSrc":"117023:16:22","nodeType":"YulFunctionCall","src":"117023:16:22"},"nativeSrc":"117023:16:22","nodeType":"YulExpressionStatement","src":"117023:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117059:4:22","nodeType":"YulLiteral","src":"117059:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"117065:2:22","nodeType":"YulIdentifier","src":"117065:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117052:6:22","nodeType":"YulIdentifier","src":"117052:6:22"},"nativeSrc":"117052:16:22","nodeType":"YulFunctionCall","src":"117052:16:22"},"nativeSrc":"117052:16:22","nodeType":"YulExpressionStatement","src":"117052:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117088:4:22","nodeType":"YulLiteral","src":"117088:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"117094:2:22","nodeType":"YulIdentifier","src":"117094:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117081:6:22","nodeType":"YulIdentifier","src":"117081:6:22"},"nativeSrc":"117081:16:22","nodeType":"YulFunctionCall","src":"117081:16:22"},"nativeSrc":"117081:16:22","nodeType":"YulExpressionStatement","src":"117081:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35033,"isOffset":false,"isSlot":false,"src":"116920:2:22","valueSize":1},{"declaration":35036,"isOffset":false,"isSlot":false,"src":"116949:2:22","valueSize":1},{"declaration":35039,"isOffset":false,"isSlot":false,"src":"116978:2:22","valueSize":1},{"declaration":35042,"isOffset":false,"isSlot":false,"src":"117007:2:22","valueSize":1},{"declaration":35045,"isOffset":false,"isSlot":false,"src":"117036:2:22","valueSize":1},{"declaration":35048,"isOffset":false,"isSlot":false,"src":"117065:2:22","valueSize":1},{"declaration":35051,"isOffset":false,"isSlot":false,"src":"117094:2:22","valueSize":1}],"id":35059,"nodeType":"InlineAssembly","src":"116884:223:22"}]},"id":35061,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"115708:3:22","nodeType":"FunctionDefinition","parameters":{"id":35030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35023,"mutability":"mutable","name":"p0","nameLocation":"115720:2:22","nodeType":"VariableDeclaration","scope":35061,"src":"115712:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35022,"name":"address","nodeType":"ElementaryTypeName","src":"115712:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35025,"mutability":"mutable","name":"p1","nameLocation":"115729:2:22","nodeType":"VariableDeclaration","scope":35061,"src":"115724:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35024,"name":"bool","nodeType":"ElementaryTypeName","src":"115724:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35027,"mutability":"mutable","name":"p2","nameLocation":"115738:2:22","nodeType":"VariableDeclaration","scope":35061,"src":"115733:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35026,"name":"bool","nodeType":"ElementaryTypeName","src":"115733:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35029,"mutability":"mutable","name":"p3","nameLocation":"115750:2:22","nodeType":"VariableDeclaration","scope":35061,"src":"115742:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115742:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"115711:42:22"},"returnParameters":{"id":35031,"nodeType":"ParameterList","parameters":[],"src":"115768:0:22"},"scope":44426,"src":"115699:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35094,"nodeType":"Block","src":"117191:800:22","statements":[{"assignments":[35073],"declarations":[{"constant":false,"id":35073,"mutability":"mutable","name":"m0","nameLocation":"117209:2:22","nodeType":"VariableDeclaration","scope":35094,"src":"117201:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117201:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35074,"nodeType":"VariableDeclarationStatement","src":"117201:10:22"},{"assignments":[35076],"declarations":[{"constant":false,"id":35076,"mutability":"mutable","name":"m1","nameLocation":"117229:2:22","nodeType":"VariableDeclaration","scope":35094,"src":"117221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117221:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35077,"nodeType":"VariableDeclarationStatement","src":"117221:10:22"},{"assignments":[35079],"declarations":[{"constant":false,"id":35079,"mutability":"mutable","name":"m2","nameLocation":"117249:2:22","nodeType":"VariableDeclaration","scope":35094,"src":"117241:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117241:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35080,"nodeType":"VariableDeclarationStatement","src":"117241:10:22"},{"assignments":[35082],"declarations":[{"constant":false,"id":35082,"mutability":"mutable","name":"m3","nameLocation":"117269:2:22","nodeType":"VariableDeclaration","scope":35094,"src":"117261:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117261:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35083,"nodeType":"VariableDeclarationStatement","src":"117261:10:22"},{"assignments":[35085],"declarations":[{"constant":false,"id":35085,"mutability":"mutable","name":"m4","nameLocation":"117289:2:22","nodeType":"VariableDeclaration","scope":35094,"src":"117281:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117281:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35086,"nodeType":"VariableDeclarationStatement","src":"117281:10:22"},{"AST":{"nativeSrc":"117353:378:22","nodeType":"YulBlock","src":"117353:378:22","statements":[{"nativeSrc":"117367:17:22","nodeType":"YulAssignment","src":"117367:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"117379:4:22","nodeType":"YulLiteral","src":"117379:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"117373:5:22","nodeType":"YulIdentifier","src":"117373:5:22"},"nativeSrc":"117373:11:22","nodeType":"YulFunctionCall","src":"117373:11:22"},"variableNames":[{"name":"m0","nativeSrc":"117367:2:22","nodeType":"YulIdentifier","src":"117367:2:22"}]},{"nativeSrc":"117397:17:22","nodeType":"YulAssignment","src":"117397:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"117409:4:22","nodeType":"YulLiteral","src":"117409:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"117403:5:22","nodeType":"YulIdentifier","src":"117403:5:22"},"nativeSrc":"117403:11:22","nodeType":"YulFunctionCall","src":"117403:11:22"},"variableNames":[{"name":"m1","nativeSrc":"117397:2:22","nodeType":"YulIdentifier","src":"117397:2:22"}]},{"nativeSrc":"117427:17:22","nodeType":"YulAssignment","src":"117427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"117439:4:22","nodeType":"YulLiteral","src":"117439:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"117433:5:22","nodeType":"YulIdentifier","src":"117433:5:22"},"nativeSrc":"117433:11:22","nodeType":"YulFunctionCall","src":"117433:11:22"},"variableNames":[{"name":"m2","nativeSrc":"117427:2:22","nodeType":"YulIdentifier","src":"117427:2:22"}]},{"nativeSrc":"117457:17:22","nodeType":"YulAssignment","src":"117457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"117469:4:22","nodeType":"YulLiteral","src":"117469:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"117463:5:22","nodeType":"YulIdentifier","src":"117463:5:22"},"nativeSrc":"117463:11:22","nodeType":"YulFunctionCall","src":"117463:11:22"},"variableNames":[{"name":"m3","nativeSrc":"117457:2:22","nodeType":"YulIdentifier","src":"117457:2:22"}]},{"nativeSrc":"117487:17:22","nodeType":"YulAssignment","src":"117487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"117499:4:22","nodeType":"YulLiteral","src":"117499:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"117493:5:22","nodeType":"YulIdentifier","src":"117493:5:22"},"nativeSrc":"117493:11:22","nodeType":"YulFunctionCall","src":"117493:11:22"},"variableNames":[{"name":"m4","nativeSrc":"117487:2:22","nodeType":"YulIdentifier","src":"117487:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117588:4:22","nodeType":"YulLiteral","src":"117588:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"117594:10:22","nodeType":"YulLiteral","src":"117594:10:22","type":"","value":"0xccf790a1"}],"functionName":{"name":"mstore","nativeSrc":"117581:6:22","nodeType":"YulIdentifier","src":"117581:6:22"},"nativeSrc":"117581:24:22","nodeType":"YulFunctionCall","src":"117581:24:22"},"nativeSrc":"117581:24:22","nodeType":"YulExpressionStatement","src":"117581:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117625:4:22","nodeType":"YulLiteral","src":"117625:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"117631:2:22","nodeType":"YulIdentifier","src":"117631:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117618:6:22","nodeType":"YulIdentifier","src":"117618:6:22"},"nativeSrc":"117618:16:22","nodeType":"YulFunctionCall","src":"117618:16:22"},"nativeSrc":"117618:16:22","nodeType":"YulExpressionStatement","src":"117618:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117654:4:22","nodeType":"YulLiteral","src":"117654:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"117660:2:22","nodeType":"YulIdentifier","src":"117660:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117647:6:22","nodeType":"YulIdentifier","src":"117647:6:22"},"nativeSrc":"117647:16:22","nodeType":"YulFunctionCall","src":"117647:16:22"},"nativeSrc":"117647:16:22","nodeType":"YulExpressionStatement","src":"117647:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117683:4:22","nodeType":"YulLiteral","src":"117683:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"117689:2:22","nodeType":"YulIdentifier","src":"117689:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117676:6:22","nodeType":"YulIdentifier","src":"117676:6:22"},"nativeSrc":"117676:16:22","nodeType":"YulFunctionCall","src":"117676:16:22"},"nativeSrc":"117676:16:22","nodeType":"YulExpressionStatement","src":"117676:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117712:4:22","nodeType":"YulLiteral","src":"117712:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"117718:2:22","nodeType":"YulIdentifier","src":"117718:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117705:6:22","nodeType":"YulIdentifier","src":"117705:6:22"},"nativeSrc":"117705:16:22","nodeType":"YulFunctionCall","src":"117705:16:22"},"nativeSrc":"117705:16:22","nodeType":"YulExpressionStatement","src":"117705:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35073,"isOffset":false,"isSlot":false,"src":"117367:2:22","valueSize":1},{"declaration":35076,"isOffset":false,"isSlot":false,"src":"117397:2:22","valueSize":1},{"declaration":35079,"isOffset":false,"isSlot":false,"src":"117427:2:22","valueSize":1},{"declaration":35082,"isOffset":false,"isSlot":false,"src":"117457:2:22","valueSize":1},{"declaration":35085,"isOffset":false,"isSlot":false,"src":"117487:2:22","valueSize":1},{"declaration":35063,"isOffset":false,"isSlot":false,"src":"117631:2:22","valueSize":1},{"declaration":35065,"isOffset":false,"isSlot":false,"src":"117660:2:22","valueSize":1},{"declaration":35067,"isOffset":false,"isSlot":false,"src":"117689:2:22","valueSize":1},{"declaration":35069,"isOffset":false,"isSlot":false,"src":"117718:2:22","valueSize":1}],"id":35087,"nodeType":"InlineAssembly","src":"117344:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117756:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117762:4:22","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":35088,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"117740:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"117740:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35092,"nodeType":"ExpressionStatement","src":"117740:27:22"},{"AST":{"nativeSrc":"117829:156:22","nodeType":"YulBlock","src":"117829:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"117850:4:22","nodeType":"YulLiteral","src":"117850:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"117856:2:22","nodeType":"YulIdentifier","src":"117856:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117843:6:22","nodeType":"YulIdentifier","src":"117843:6:22"},"nativeSrc":"117843:16:22","nodeType":"YulFunctionCall","src":"117843:16:22"},"nativeSrc":"117843:16:22","nodeType":"YulExpressionStatement","src":"117843:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117879:4:22","nodeType":"YulLiteral","src":"117879:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"117885:2:22","nodeType":"YulIdentifier","src":"117885:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117872:6:22","nodeType":"YulIdentifier","src":"117872:6:22"},"nativeSrc":"117872:16:22","nodeType":"YulFunctionCall","src":"117872:16:22"},"nativeSrc":"117872:16:22","nodeType":"YulExpressionStatement","src":"117872:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117908:4:22","nodeType":"YulLiteral","src":"117908:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"117914:2:22","nodeType":"YulIdentifier","src":"117914:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117901:6:22","nodeType":"YulIdentifier","src":"117901:6:22"},"nativeSrc":"117901:16:22","nodeType":"YulFunctionCall","src":"117901:16:22"},"nativeSrc":"117901:16:22","nodeType":"YulExpressionStatement","src":"117901:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117937:4:22","nodeType":"YulLiteral","src":"117937:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117943:2:22","nodeType":"YulIdentifier","src":"117943:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117930:6:22","nodeType":"YulIdentifier","src":"117930:6:22"},"nativeSrc":"117930:16:22","nodeType":"YulFunctionCall","src":"117930:16:22"},"nativeSrc":"117930:16:22","nodeType":"YulExpressionStatement","src":"117930:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117966:4:22","nodeType":"YulLiteral","src":"117966:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117972:2:22","nodeType":"YulIdentifier","src":"117972:2:22"}],"functionName":{"name":"mstore","nativeSrc":"117959:6:22","nodeType":"YulIdentifier","src":"117959:6:22"},"nativeSrc":"117959:16:22","nodeType":"YulFunctionCall","src":"117959:16:22"},"nativeSrc":"117959:16:22","nodeType":"YulExpressionStatement","src":"117959:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35073,"isOffset":false,"isSlot":false,"src":"117856:2:22","valueSize":1},{"declaration":35076,"isOffset":false,"isSlot":false,"src":"117885:2:22","valueSize":1},{"declaration":35079,"isOffset":false,"isSlot":false,"src":"117914:2:22","valueSize":1},{"declaration":35082,"isOffset":false,"isSlot":false,"src":"117943:2:22","valueSize":1},{"declaration":35085,"isOffset":false,"isSlot":false,"src":"117972:2:22","valueSize":1}],"id":35093,"nodeType":"InlineAssembly","src":"117820:165:22"}]},"id":35095,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"117128:3:22","nodeType":"FunctionDefinition","parameters":{"id":35070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35063,"mutability":"mutable","name":"p0","nameLocation":"117140:2:22","nodeType":"VariableDeclaration","scope":35095,"src":"117132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35062,"name":"address","nodeType":"ElementaryTypeName","src":"117132:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35065,"mutability":"mutable","name":"p1","nameLocation":"117149:2:22","nodeType":"VariableDeclaration","scope":35095,"src":"117144:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35064,"name":"bool","nodeType":"ElementaryTypeName","src":"117144:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35067,"mutability":"mutable","name":"p2","nameLocation":"117161:2:22","nodeType":"VariableDeclaration","scope":35095,"src":"117153:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35066,"name":"uint256","nodeType":"ElementaryTypeName","src":"117153:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35069,"mutability":"mutable","name":"p3","nameLocation":"117173:2:22","nodeType":"VariableDeclaration","scope":35095,"src":"117165:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35068,"name":"address","nodeType":"ElementaryTypeName","src":"117165:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"117131:45:22"},"returnParameters":{"id":35071,"nodeType":"ParameterList","parameters":[],"src":"117191:0:22"},"scope":44426,"src":"117119:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35128,"nodeType":"Block","src":"118066:797:22","statements":[{"assignments":[35107],"declarations":[{"constant":false,"id":35107,"mutability":"mutable","name":"m0","nameLocation":"118084:2:22","nodeType":"VariableDeclaration","scope":35128,"src":"118076:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118076:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35108,"nodeType":"VariableDeclarationStatement","src":"118076:10:22"},{"assignments":[35110],"declarations":[{"constant":false,"id":35110,"mutability":"mutable","name":"m1","nameLocation":"118104:2:22","nodeType":"VariableDeclaration","scope":35128,"src":"118096:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118096:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35111,"nodeType":"VariableDeclarationStatement","src":"118096:10:22"},{"assignments":[35113],"declarations":[{"constant":false,"id":35113,"mutability":"mutable","name":"m2","nameLocation":"118124:2:22","nodeType":"VariableDeclaration","scope":35128,"src":"118116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118116:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35114,"nodeType":"VariableDeclarationStatement","src":"118116:10:22"},{"assignments":[35116],"declarations":[{"constant":false,"id":35116,"mutability":"mutable","name":"m3","nameLocation":"118144:2:22","nodeType":"VariableDeclaration","scope":35128,"src":"118136:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118136:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35117,"nodeType":"VariableDeclarationStatement","src":"118136:10:22"},{"assignments":[35119],"declarations":[{"constant":false,"id":35119,"mutability":"mutable","name":"m4","nameLocation":"118164:2:22","nodeType":"VariableDeclaration","scope":35128,"src":"118156:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118156:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35120,"nodeType":"VariableDeclarationStatement","src":"118156:10:22"},{"AST":{"nativeSrc":"118228:375:22","nodeType":"YulBlock","src":"118228:375:22","statements":[{"nativeSrc":"118242:17:22","nodeType":"YulAssignment","src":"118242:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"118254:4:22","nodeType":"YulLiteral","src":"118254:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"118248:5:22","nodeType":"YulIdentifier","src":"118248:5:22"},"nativeSrc":"118248:11:22","nodeType":"YulFunctionCall","src":"118248:11:22"},"variableNames":[{"name":"m0","nativeSrc":"118242:2:22","nodeType":"YulIdentifier","src":"118242:2:22"}]},{"nativeSrc":"118272:17:22","nodeType":"YulAssignment","src":"118272:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"118284:4:22","nodeType":"YulLiteral","src":"118284:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"118278:5:22","nodeType":"YulIdentifier","src":"118278:5:22"},"nativeSrc":"118278:11:22","nodeType":"YulFunctionCall","src":"118278:11:22"},"variableNames":[{"name":"m1","nativeSrc":"118272:2:22","nodeType":"YulIdentifier","src":"118272:2:22"}]},{"nativeSrc":"118302:17:22","nodeType":"YulAssignment","src":"118302:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"118314:4:22","nodeType":"YulLiteral","src":"118314:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"118308:5:22","nodeType":"YulIdentifier","src":"118308:5:22"},"nativeSrc":"118308:11:22","nodeType":"YulFunctionCall","src":"118308:11:22"},"variableNames":[{"name":"m2","nativeSrc":"118302:2:22","nodeType":"YulIdentifier","src":"118302:2:22"}]},{"nativeSrc":"118332:17:22","nodeType":"YulAssignment","src":"118332:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"118344:4:22","nodeType":"YulLiteral","src":"118344:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"118338:5:22","nodeType":"YulIdentifier","src":"118338:5:22"},"nativeSrc":"118338:11:22","nodeType":"YulFunctionCall","src":"118338:11:22"},"variableNames":[{"name":"m3","nativeSrc":"118332:2:22","nodeType":"YulIdentifier","src":"118332:2:22"}]},{"nativeSrc":"118362:17:22","nodeType":"YulAssignment","src":"118362:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"118374:4:22","nodeType":"YulLiteral","src":"118374:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"118368:5:22","nodeType":"YulIdentifier","src":"118368:5:22"},"nativeSrc":"118368:11:22","nodeType":"YulFunctionCall","src":"118368:11:22"},"variableNames":[{"name":"m4","nativeSrc":"118362:2:22","nodeType":"YulIdentifier","src":"118362:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118460:4:22","nodeType":"YulLiteral","src":"118460:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"118466:10:22","nodeType":"YulLiteral","src":"118466:10:22","type":"","value":"0xc4643e20"}],"functionName":{"name":"mstore","nativeSrc":"118453:6:22","nodeType":"YulIdentifier","src":"118453:6:22"},"nativeSrc":"118453:24:22","nodeType":"YulFunctionCall","src":"118453:24:22"},"nativeSrc":"118453:24:22","nodeType":"YulExpressionStatement","src":"118453:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118497:4:22","nodeType":"YulLiteral","src":"118497:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"118503:2:22","nodeType":"YulIdentifier","src":"118503:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118490:6:22","nodeType":"YulIdentifier","src":"118490:6:22"},"nativeSrc":"118490:16:22","nodeType":"YulFunctionCall","src":"118490:16:22"},"nativeSrc":"118490:16:22","nodeType":"YulExpressionStatement","src":"118490:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118526:4:22","nodeType":"YulLiteral","src":"118526:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"118532:2:22","nodeType":"YulIdentifier","src":"118532:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118519:6:22","nodeType":"YulIdentifier","src":"118519:6:22"},"nativeSrc":"118519:16:22","nodeType":"YulFunctionCall","src":"118519:16:22"},"nativeSrc":"118519:16:22","nodeType":"YulExpressionStatement","src":"118519:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118555:4:22","nodeType":"YulLiteral","src":"118555:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"118561:2:22","nodeType":"YulIdentifier","src":"118561:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118548:6:22","nodeType":"YulIdentifier","src":"118548:6:22"},"nativeSrc":"118548:16:22","nodeType":"YulFunctionCall","src":"118548:16:22"},"nativeSrc":"118548:16:22","nodeType":"YulExpressionStatement","src":"118548:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118584:4:22","nodeType":"YulLiteral","src":"118584:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"118590:2:22","nodeType":"YulIdentifier","src":"118590:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118577:6:22","nodeType":"YulIdentifier","src":"118577:6:22"},"nativeSrc":"118577:16:22","nodeType":"YulFunctionCall","src":"118577:16:22"},"nativeSrc":"118577:16:22","nodeType":"YulExpressionStatement","src":"118577:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35107,"isOffset":false,"isSlot":false,"src":"118242:2:22","valueSize":1},{"declaration":35110,"isOffset":false,"isSlot":false,"src":"118272:2:22","valueSize":1},{"declaration":35113,"isOffset":false,"isSlot":false,"src":"118302:2:22","valueSize":1},{"declaration":35116,"isOffset":false,"isSlot":false,"src":"118332:2:22","valueSize":1},{"declaration":35119,"isOffset":false,"isSlot":false,"src":"118362:2:22","valueSize":1},{"declaration":35097,"isOffset":false,"isSlot":false,"src":"118503:2:22","valueSize":1},{"declaration":35099,"isOffset":false,"isSlot":false,"src":"118532:2:22","valueSize":1},{"declaration":35101,"isOffset":false,"isSlot":false,"src":"118561:2:22","valueSize":1},{"declaration":35103,"isOffset":false,"isSlot":false,"src":"118590:2:22","valueSize":1}],"id":35121,"nodeType":"InlineAssembly","src":"118219:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118628:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118634:4:22","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":35122,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"118612:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"118612:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35126,"nodeType":"ExpressionStatement","src":"118612:27:22"},{"AST":{"nativeSrc":"118701:156:22","nodeType":"YulBlock","src":"118701:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"118722:4:22","nodeType":"YulLiteral","src":"118722:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"118728:2:22","nodeType":"YulIdentifier","src":"118728:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118715:6:22","nodeType":"YulIdentifier","src":"118715:6:22"},"nativeSrc":"118715:16:22","nodeType":"YulFunctionCall","src":"118715:16:22"},"nativeSrc":"118715:16:22","nodeType":"YulExpressionStatement","src":"118715:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118751:4:22","nodeType":"YulLiteral","src":"118751:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"118757:2:22","nodeType":"YulIdentifier","src":"118757:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118744:6:22","nodeType":"YulIdentifier","src":"118744:6:22"},"nativeSrc":"118744:16:22","nodeType":"YulFunctionCall","src":"118744:16:22"},"nativeSrc":"118744:16:22","nodeType":"YulExpressionStatement","src":"118744:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118780:4:22","nodeType":"YulLiteral","src":"118780:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"118786:2:22","nodeType":"YulIdentifier","src":"118786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118773:6:22","nodeType":"YulIdentifier","src":"118773:6:22"},"nativeSrc":"118773:16:22","nodeType":"YulFunctionCall","src":"118773:16:22"},"nativeSrc":"118773:16:22","nodeType":"YulExpressionStatement","src":"118773:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118809:4:22","nodeType":"YulLiteral","src":"118809:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"118815:2:22","nodeType":"YulIdentifier","src":"118815:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118802:6:22","nodeType":"YulIdentifier","src":"118802:6:22"},"nativeSrc":"118802:16:22","nodeType":"YulFunctionCall","src":"118802:16:22"},"nativeSrc":"118802:16:22","nodeType":"YulExpressionStatement","src":"118802:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118838:4:22","nodeType":"YulLiteral","src":"118838:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"118844:2:22","nodeType":"YulIdentifier","src":"118844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"118831:6:22","nodeType":"YulIdentifier","src":"118831:6:22"},"nativeSrc":"118831:16:22","nodeType":"YulFunctionCall","src":"118831:16:22"},"nativeSrc":"118831:16:22","nodeType":"YulExpressionStatement","src":"118831:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35107,"isOffset":false,"isSlot":false,"src":"118728:2:22","valueSize":1},{"declaration":35110,"isOffset":false,"isSlot":false,"src":"118757:2:22","valueSize":1},{"declaration":35113,"isOffset":false,"isSlot":false,"src":"118786:2:22","valueSize":1},{"declaration":35116,"isOffset":false,"isSlot":false,"src":"118815:2:22","valueSize":1},{"declaration":35119,"isOffset":false,"isSlot":false,"src":"118844:2:22","valueSize":1}],"id":35127,"nodeType":"InlineAssembly","src":"118692:165:22"}]},"id":35129,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118006:3:22","nodeType":"FunctionDefinition","parameters":{"id":35104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35097,"mutability":"mutable","name":"p0","nameLocation":"118018:2:22","nodeType":"VariableDeclaration","scope":35129,"src":"118010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35096,"name":"address","nodeType":"ElementaryTypeName","src":"118010:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35099,"mutability":"mutable","name":"p1","nameLocation":"118027:2:22","nodeType":"VariableDeclaration","scope":35129,"src":"118022:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35098,"name":"bool","nodeType":"ElementaryTypeName","src":"118022:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35101,"mutability":"mutable","name":"p2","nameLocation":"118039:2:22","nodeType":"VariableDeclaration","scope":35129,"src":"118031:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35100,"name":"uint256","nodeType":"ElementaryTypeName","src":"118031:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35103,"mutability":"mutable","name":"p3","nameLocation":"118048:2:22","nodeType":"VariableDeclaration","scope":35129,"src":"118043:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35102,"name":"bool","nodeType":"ElementaryTypeName","src":"118043:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"118009:42:22"},"returnParameters":{"id":35105,"nodeType":"ParameterList","parameters":[],"src":"118066:0:22"},"scope":44426,"src":"117997:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35162,"nodeType":"Block","src":"118941:800:22","statements":[{"assignments":[35141],"declarations":[{"constant":false,"id":35141,"mutability":"mutable","name":"m0","nameLocation":"118959:2:22","nodeType":"VariableDeclaration","scope":35162,"src":"118951:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118951:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35142,"nodeType":"VariableDeclarationStatement","src":"118951:10:22"},{"assignments":[35144],"declarations":[{"constant":false,"id":35144,"mutability":"mutable","name":"m1","nameLocation":"118979:2:22","nodeType":"VariableDeclaration","scope":35162,"src":"118971:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118971:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35145,"nodeType":"VariableDeclarationStatement","src":"118971:10:22"},{"assignments":[35147],"declarations":[{"constant":false,"id":35147,"mutability":"mutable","name":"m2","nameLocation":"118999:2:22","nodeType":"VariableDeclaration","scope":35162,"src":"118991:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118991:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35148,"nodeType":"VariableDeclarationStatement","src":"118991:10:22"},{"assignments":[35150],"declarations":[{"constant":false,"id":35150,"mutability":"mutable","name":"m3","nameLocation":"119019:2:22","nodeType":"VariableDeclaration","scope":35162,"src":"119011:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119011:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35151,"nodeType":"VariableDeclarationStatement","src":"119011:10:22"},{"assignments":[35153],"declarations":[{"constant":false,"id":35153,"mutability":"mutable","name":"m4","nameLocation":"119039:2:22","nodeType":"VariableDeclaration","scope":35162,"src":"119031:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119031:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35154,"nodeType":"VariableDeclarationStatement","src":"119031:10:22"},{"AST":{"nativeSrc":"119103:378:22","nodeType":"YulBlock","src":"119103:378:22","statements":[{"nativeSrc":"119117:17:22","nodeType":"YulAssignment","src":"119117:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"119129:4:22","nodeType":"YulLiteral","src":"119129:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"119123:5:22","nodeType":"YulIdentifier","src":"119123:5:22"},"nativeSrc":"119123:11:22","nodeType":"YulFunctionCall","src":"119123:11:22"},"variableNames":[{"name":"m0","nativeSrc":"119117:2:22","nodeType":"YulIdentifier","src":"119117:2:22"}]},{"nativeSrc":"119147:17:22","nodeType":"YulAssignment","src":"119147:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"119159:4:22","nodeType":"YulLiteral","src":"119159:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"119153:5:22","nodeType":"YulIdentifier","src":"119153:5:22"},"nativeSrc":"119153:11:22","nodeType":"YulFunctionCall","src":"119153:11:22"},"variableNames":[{"name":"m1","nativeSrc":"119147:2:22","nodeType":"YulIdentifier","src":"119147:2:22"}]},{"nativeSrc":"119177:17:22","nodeType":"YulAssignment","src":"119177:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"119189:4:22","nodeType":"YulLiteral","src":"119189:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"119183:5:22","nodeType":"YulIdentifier","src":"119183:5:22"},"nativeSrc":"119183:11:22","nodeType":"YulFunctionCall","src":"119183:11:22"},"variableNames":[{"name":"m2","nativeSrc":"119177:2:22","nodeType":"YulIdentifier","src":"119177:2:22"}]},{"nativeSrc":"119207:17:22","nodeType":"YulAssignment","src":"119207:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"119219:4:22","nodeType":"YulLiteral","src":"119219:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"119213:5:22","nodeType":"YulIdentifier","src":"119213:5:22"},"nativeSrc":"119213:11:22","nodeType":"YulFunctionCall","src":"119213:11:22"},"variableNames":[{"name":"m3","nativeSrc":"119207:2:22","nodeType":"YulIdentifier","src":"119207:2:22"}]},{"nativeSrc":"119237:17:22","nodeType":"YulAssignment","src":"119237:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"119249:4:22","nodeType":"YulLiteral","src":"119249:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"119243:5:22","nodeType":"YulIdentifier","src":"119243:5:22"},"nativeSrc":"119243:11:22","nodeType":"YulFunctionCall","src":"119243:11:22"},"variableNames":[{"name":"m4","nativeSrc":"119237:2:22","nodeType":"YulIdentifier","src":"119237:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119338:4:22","nodeType":"YulLiteral","src":"119338:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"119344:10:22","nodeType":"YulLiteral","src":"119344:10:22","type":"","value":"0x386ff5f4"}],"functionName":{"name":"mstore","nativeSrc":"119331:6:22","nodeType":"YulIdentifier","src":"119331:6:22"},"nativeSrc":"119331:24:22","nodeType":"YulFunctionCall","src":"119331:24:22"},"nativeSrc":"119331:24:22","nodeType":"YulExpressionStatement","src":"119331:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119375:4:22","nodeType":"YulLiteral","src":"119375:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"119381:2:22","nodeType":"YulIdentifier","src":"119381:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119368:6:22","nodeType":"YulIdentifier","src":"119368:6:22"},"nativeSrc":"119368:16:22","nodeType":"YulFunctionCall","src":"119368:16:22"},"nativeSrc":"119368:16:22","nodeType":"YulExpressionStatement","src":"119368:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119404:4:22","nodeType":"YulLiteral","src":"119404:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"119410:2:22","nodeType":"YulIdentifier","src":"119410:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119397:6:22","nodeType":"YulIdentifier","src":"119397:6:22"},"nativeSrc":"119397:16:22","nodeType":"YulFunctionCall","src":"119397:16:22"},"nativeSrc":"119397:16:22","nodeType":"YulExpressionStatement","src":"119397:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119433:4:22","nodeType":"YulLiteral","src":"119433:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"119439:2:22","nodeType":"YulIdentifier","src":"119439:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119426:6:22","nodeType":"YulIdentifier","src":"119426:6:22"},"nativeSrc":"119426:16:22","nodeType":"YulFunctionCall","src":"119426:16:22"},"nativeSrc":"119426:16:22","nodeType":"YulExpressionStatement","src":"119426:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119462:4:22","nodeType":"YulLiteral","src":"119462:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"119468:2:22","nodeType":"YulIdentifier","src":"119468:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119455:6:22","nodeType":"YulIdentifier","src":"119455:6:22"},"nativeSrc":"119455:16:22","nodeType":"YulFunctionCall","src":"119455:16:22"},"nativeSrc":"119455:16:22","nodeType":"YulExpressionStatement","src":"119455:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35141,"isOffset":false,"isSlot":false,"src":"119117:2:22","valueSize":1},{"declaration":35144,"isOffset":false,"isSlot":false,"src":"119147:2:22","valueSize":1},{"declaration":35147,"isOffset":false,"isSlot":false,"src":"119177:2:22","valueSize":1},{"declaration":35150,"isOffset":false,"isSlot":false,"src":"119207:2:22","valueSize":1},{"declaration":35153,"isOffset":false,"isSlot":false,"src":"119237:2:22","valueSize":1},{"declaration":35131,"isOffset":false,"isSlot":false,"src":"119381:2:22","valueSize":1},{"declaration":35133,"isOffset":false,"isSlot":false,"src":"119410:2:22","valueSize":1},{"declaration":35135,"isOffset":false,"isSlot":false,"src":"119439:2:22","valueSize":1},{"declaration":35137,"isOffset":false,"isSlot":false,"src":"119468:2:22","valueSize":1}],"id":35155,"nodeType":"InlineAssembly","src":"119094:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119506:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119512:4:22","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":35156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"119490:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"119490:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35160,"nodeType":"ExpressionStatement","src":"119490:27:22"},{"AST":{"nativeSrc":"119579:156:22","nodeType":"YulBlock","src":"119579:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"119600:4:22","nodeType":"YulLiteral","src":"119600:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"119606:2:22","nodeType":"YulIdentifier","src":"119606:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119593:6:22","nodeType":"YulIdentifier","src":"119593:6:22"},"nativeSrc":"119593:16:22","nodeType":"YulFunctionCall","src":"119593:16:22"},"nativeSrc":"119593:16:22","nodeType":"YulExpressionStatement","src":"119593:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119629:4:22","nodeType":"YulLiteral","src":"119629:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"119635:2:22","nodeType":"YulIdentifier","src":"119635:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119622:6:22","nodeType":"YulIdentifier","src":"119622:6:22"},"nativeSrc":"119622:16:22","nodeType":"YulFunctionCall","src":"119622:16:22"},"nativeSrc":"119622:16:22","nodeType":"YulExpressionStatement","src":"119622:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119658:4:22","nodeType":"YulLiteral","src":"119658:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"119664:2:22","nodeType":"YulIdentifier","src":"119664:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119651:6:22","nodeType":"YulIdentifier","src":"119651:6:22"},"nativeSrc":"119651:16:22","nodeType":"YulFunctionCall","src":"119651:16:22"},"nativeSrc":"119651:16:22","nodeType":"YulExpressionStatement","src":"119651:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119687:4:22","nodeType":"YulLiteral","src":"119687:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"119693:2:22","nodeType":"YulIdentifier","src":"119693:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119680:6:22","nodeType":"YulIdentifier","src":"119680:6:22"},"nativeSrc":"119680:16:22","nodeType":"YulFunctionCall","src":"119680:16:22"},"nativeSrc":"119680:16:22","nodeType":"YulExpressionStatement","src":"119680:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119716:4:22","nodeType":"YulLiteral","src":"119716:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"119722:2:22","nodeType":"YulIdentifier","src":"119722:2:22"}],"functionName":{"name":"mstore","nativeSrc":"119709:6:22","nodeType":"YulIdentifier","src":"119709:6:22"},"nativeSrc":"119709:16:22","nodeType":"YulFunctionCall","src":"119709:16:22"},"nativeSrc":"119709:16:22","nodeType":"YulExpressionStatement","src":"119709:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35141,"isOffset":false,"isSlot":false,"src":"119606:2:22","valueSize":1},{"declaration":35144,"isOffset":false,"isSlot":false,"src":"119635:2:22","valueSize":1},{"declaration":35147,"isOffset":false,"isSlot":false,"src":"119664:2:22","valueSize":1},{"declaration":35150,"isOffset":false,"isSlot":false,"src":"119693:2:22","valueSize":1},{"declaration":35153,"isOffset":false,"isSlot":false,"src":"119722:2:22","valueSize":1}],"id":35161,"nodeType":"InlineAssembly","src":"119570:165:22"}]},"id":35163,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118878:3:22","nodeType":"FunctionDefinition","parameters":{"id":35138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35131,"mutability":"mutable","name":"p0","nameLocation":"118890:2:22","nodeType":"VariableDeclaration","scope":35163,"src":"118882:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35130,"name":"address","nodeType":"ElementaryTypeName","src":"118882:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35133,"mutability":"mutable","name":"p1","nameLocation":"118899:2:22","nodeType":"VariableDeclaration","scope":35163,"src":"118894:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35132,"name":"bool","nodeType":"ElementaryTypeName","src":"118894:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35135,"mutability":"mutable","name":"p2","nameLocation":"118911:2:22","nodeType":"VariableDeclaration","scope":35163,"src":"118903:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35134,"name":"uint256","nodeType":"ElementaryTypeName","src":"118903:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35137,"mutability":"mutable","name":"p3","nameLocation":"118923:2:22","nodeType":"VariableDeclaration","scope":35163,"src":"118915:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35136,"name":"uint256","nodeType":"ElementaryTypeName","src":"118915:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118881:45:22"},"returnParameters":{"id":35139,"nodeType":"ParameterList","parameters":[],"src":"118941:0:22"},"scope":44426,"src":"118869:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35202,"nodeType":"Block","src":"119819:1348:22","statements":[{"assignments":[35175],"declarations":[{"constant":false,"id":35175,"mutability":"mutable","name":"m0","nameLocation":"119837:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119829:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119829:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35176,"nodeType":"VariableDeclarationStatement","src":"119829:10:22"},{"assignments":[35178],"declarations":[{"constant":false,"id":35178,"mutability":"mutable","name":"m1","nameLocation":"119857:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119849:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35179,"nodeType":"VariableDeclarationStatement","src":"119849:10:22"},{"assignments":[35181],"declarations":[{"constant":false,"id":35181,"mutability":"mutable","name":"m2","nameLocation":"119877:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119869:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119869:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35182,"nodeType":"VariableDeclarationStatement","src":"119869:10:22"},{"assignments":[35184],"declarations":[{"constant":false,"id":35184,"mutability":"mutable","name":"m3","nameLocation":"119897:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119889:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119889:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35185,"nodeType":"VariableDeclarationStatement","src":"119889:10:22"},{"assignments":[35187],"declarations":[{"constant":false,"id":35187,"mutability":"mutable","name":"m4","nameLocation":"119917:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119909:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119909:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35188,"nodeType":"VariableDeclarationStatement","src":"119909:10:22"},{"assignments":[35190],"declarations":[{"constant":false,"id":35190,"mutability":"mutable","name":"m5","nameLocation":"119937:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119929:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119929:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35191,"nodeType":"VariableDeclarationStatement","src":"119929:10:22"},{"assignments":[35193],"declarations":[{"constant":false,"id":35193,"mutability":"mutable","name":"m6","nameLocation":"119957:2:22","nodeType":"VariableDeclaration","scope":35202,"src":"119949:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119949:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35194,"nodeType":"VariableDeclarationStatement","src":"119949:10:22"},{"AST":{"nativeSrc":"120021:828:22","nodeType":"YulBlock","src":"120021:828:22","statements":[{"body":{"nativeSrc":"120064:313:22","nodeType":"YulBlock","src":"120064:313:22","statements":[{"nativeSrc":"120082:15:22","nodeType":"YulVariableDeclaration","src":"120082:15:22","value":{"kind":"number","nativeSrc":"120096:1:22","nodeType":"YulLiteral","src":"120096:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"120086:6:22","nodeType":"YulTypedName","src":"120086:6:22","type":""}]},{"body":{"nativeSrc":"120167:40:22","nodeType":"YulBlock","src":"120167:40:22","statements":[{"body":{"nativeSrc":"120196:9:22","nodeType":"YulBlock","src":"120196:9:22","statements":[{"nativeSrc":"120198:5:22","nodeType":"YulBreak","src":"120198:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"120184:6:22","nodeType":"YulIdentifier","src":"120184:6:22"},{"name":"w","nativeSrc":"120192:1:22","nodeType":"YulIdentifier","src":"120192:1:22"}],"functionName":{"name":"byte","nativeSrc":"120179:4:22","nodeType":"YulIdentifier","src":"120179:4:22"},"nativeSrc":"120179:15:22","nodeType":"YulFunctionCall","src":"120179:15:22"}],"functionName":{"name":"iszero","nativeSrc":"120172:6:22","nodeType":"YulIdentifier","src":"120172:6:22"},"nativeSrc":"120172:23:22","nodeType":"YulFunctionCall","src":"120172:23:22"},"nativeSrc":"120169:36:22","nodeType":"YulIf","src":"120169:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"120124:6:22","nodeType":"YulIdentifier","src":"120124:6:22"},{"kind":"number","nativeSrc":"120132:4:22","nodeType":"YulLiteral","src":"120132:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"120121:2:22","nodeType":"YulIdentifier","src":"120121:2:22"},"nativeSrc":"120121:16:22","nodeType":"YulFunctionCall","src":"120121:16:22"},"nativeSrc":"120114:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"120138:28:22","nodeType":"YulBlock","src":"120138:28:22","statements":[{"nativeSrc":"120140:24:22","nodeType":"YulAssignment","src":"120140:24:22","value":{"arguments":[{"name":"length","nativeSrc":"120154:6:22","nodeType":"YulIdentifier","src":"120154:6:22"},{"kind":"number","nativeSrc":"120162:1:22","nodeType":"YulLiteral","src":"120162:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"120150:3:22","nodeType":"YulIdentifier","src":"120150:3:22"},"nativeSrc":"120150:14:22","nodeType":"YulFunctionCall","src":"120150:14:22"},"variableNames":[{"name":"length","nativeSrc":"120140:6:22","nodeType":"YulIdentifier","src":"120140:6:22"}]}]},"pre":{"nativeSrc":"120118:2:22","nodeType":"YulBlock","src":"120118:2:22","statements":[]},"src":"120114:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"120231:3:22","nodeType":"YulIdentifier","src":"120231:3:22"},{"name":"length","nativeSrc":"120236:6:22","nodeType":"YulIdentifier","src":"120236:6:22"}],"functionName":{"name":"mstore","nativeSrc":"120224:6:22","nodeType":"YulIdentifier","src":"120224:6:22"},"nativeSrc":"120224:19:22","nodeType":"YulFunctionCall","src":"120224:19:22"},"nativeSrc":"120224:19:22","nodeType":"YulExpressionStatement","src":"120224:19:22"},{"nativeSrc":"120260:37:22","nodeType":"YulVariableDeclaration","src":"120260:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"120277:3:22","nodeType":"YulLiteral","src":"120277:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"120286:1:22","nodeType":"YulLiteral","src":"120286:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"120289:6:22","nodeType":"YulIdentifier","src":"120289:6:22"}],"functionName":{"name":"shl","nativeSrc":"120282:3:22","nodeType":"YulIdentifier","src":"120282:3:22"},"nativeSrc":"120282:14:22","nodeType":"YulFunctionCall","src":"120282:14:22"}],"functionName":{"name":"sub","nativeSrc":"120273:3:22","nodeType":"YulIdentifier","src":"120273:3:22"},"nativeSrc":"120273:24:22","nodeType":"YulFunctionCall","src":"120273:24:22"},"variables":[{"name":"shift","nativeSrc":"120264:5:22","nodeType":"YulTypedName","src":"120264:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"120325:3:22","nodeType":"YulIdentifier","src":"120325:3:22"},{"kind":"number","nativeSrc":"120330:4:22","nodeType":"YulLiteral","src":"120330:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"120321:3:22","nodeType":"YulIdentifier","src":"120321:3:22"},"nativeSrc":"120321:14:22","nodeType":"YulFunctionCall","src":"120321:14:22"},{"arguments":[{"name":"shift","nativeSrc":"120341:5:22","nodeType":"YulIdentifier","src":"120341:5:22"},{"arguments":[{"name":"shift","nativeSrc":"120352:5:22","nodeType":"YulIdentifier","src":"120352:5:22"},{"name":"w","nativeSrc":"120359:1:22","nodeType":"YulIdentifier","src":"120359:1:22"}],"functionName":{"name":"shr","nativeSrc":"120348:3:22","nodeType":"YulIdentifier","src":"120348:3:22"},"nativeSrc":"120348:13:22","nodeType":"YulFunctionCall","src":"120348:13:22"}],"functionName":{"name":"shl","nativeSrc":"120337:3:22","nodeType":"YulIdentifier","src":"120337:3:22"},"nativeSrc":"120337:25:22","nodeType":"YulFunctionCall","src":"120337:25:22"}],"functionName":{"name":"mstore","nativeSrc":"120314:6:22","nodeType":"YulIdentifier","src":"120314:6:22"},"nativeSrc":"120314:49:22","nodeType":"YulFunctionCall","src":"120314:49:22"},"nativeSrc":"120314:49:22","nodeType":"YulExpressionStatement","src":"120314:49:22"}]},"name":"writeString","nativeSrc":"120035:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"120056:3:22","nodeType":"YulTypedName","src":"120056:3:22","type":""},{"name":"w","nativeSrc":"120061:1:22","nodeType":"YulTypedName","src":"120061:1:22","type":""}],"src":"120035:342:22"},{"nativeSrc":"120390:17:22","nodeType":"YulAssignment","src":"120390:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120402:4:22","nodeType":"YulLiteral","src":"120402:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"120396:5:22","nodeType":"YulIdentifier","src":"120396:5:22"},"nativeSrc":"120396:11:22","nodeType":"YulFunctionCall","src":"120396:11:22"},"variableNames":[{"name":"m0","nativeSrc":"120390:2:22","nodeType":"YulIdentifier","src":"120390:2:22"}]},{"nativeSrc":"120420:17:22","nodeType":"YulAssignment","src":"120420:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120432:4:22","nodeType":"YulLiteral","src":"120432:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"120426:5:22","nodeType":"YulIdentifier","src":"120426:5:22"},"nativeSrc":"120426:11:22","nodeType":"YulFunctionCall","src":"120426:11:22"},"variableNames":[{"name":"m1","nativeSrc":"120420:2:22","nodeType":"YulIdentifier","src":"120420:2:22"}]},{"nativeSrc":"120450:17:22","nodeType":"YulAssignment","src":"120450:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120462:4:22","nodeType":"YulLiteral","src":"120462:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"120456:5:22","nodeType":"YulIdentifier","src":"120456:5:22"},"nativeSrc":"120456:11:22","nodeType":"YulFunctionCall","src":"120456:11:22"},"variableNames":[{"name":"m2","nativeSrc":"120450:2:22","nodeType":"YulIdentifier","src":"120450:2:22"}]},{"nativeSrc":"120480:17:22","nodeType":"YulAssignment","src":"120480:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120492:4:22","nodeType":"YulLiteral","src":"120492:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"120486:5:22","nodeType":"YulIdentifier","src":"120486:5:22"},"nativeSrc":"120486:11:22","nodeType":"YulFunctionCall","src":"120486:11:22"},"variableNames":[{"name":"m3","nativeSrc":"120480:2:22","nodeType":"YulIdentifier","src":"120480:2:22"}]},{"nativeSrc":"120510:17:22","nodeType":"YulAssignment","src":"120510:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120522:4:22","nodeType":"YulLiteral","src":"120522:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"120516:5:22","nodeType":"YulIdentifier","src":"120516:5:22"},"nativeSrc":"120516:11:22","nodeType":"YulFunctionCall","src":"120516:11:22"},"variableNames":[{"name":"m4","nativeSrc":"120510:2:22","nodeType":"YulIdentifier","src":"120510:2:22"}]},{"nativeSrc":"120540:17:22","nodeType":"YulAssignment","src":"120540:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120552:4:22","nodeType":"YulLiteral","src":"120552:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"120546:5:22","nodeType":"YulIdentifier","src":"120546:5:22"},"nativeSrc":"120546:11:22","nodeType":"YulFunctionCall","src":"120546:11:22"},"variableNames":[{"name":"m5","nativeSrc":"120540:2:22","nodeType":"YulIdentifier","src":"120540:2:22"}]},{"nativeSrc":"120570:17:22","nodeType":"YulAssignment","src":"120570:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"120582:4:22","nodeType":"YulLiteral","src":"120582:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"120576:5:22","nodeType":"YulIdentifier","src":"120576:5:22"},"nativeSrc":"120576:11:22","nodeType":"YulFunctionCall","src":"120576:11:22"},"variableNames":[{"name":"m6","nativeSrc":"120570:2:22","nodeType":"YulIdentifier","src":"120570:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120670:4:22","nodeType":"YulLiteral","src":"120670:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"120676:10:22","nodeType":"YulLiteral","src":"120676:10:22","type":"","value":"0x0aa6cfad"}],"functionName":{"name":"mstore","nativeSrc":"120663:6:22","nodeType":"YulIdentifier","src":"120663:6:22"},"nativeSrc":"120663:24:22","nodeType":"YulFunctionCall","src":"120663:24:22"},"nativeSrc":"120663:24:22","nodeType":"YulExpressionStatement","src":"120663:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120707:4:22","nodeType":"YulLiteral","src":"120707:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"120713:2:22","nodeType":"YulIdentifier","src":"120713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"120700:6:22","nodeType":"YulIdentifier","src":"120700:6:22"},"nativeSrc":"120700:16:22","nodeType":"YulFunctionCall","src":"120700:16:22"},"nativeSrc":"120700:16:22","nodeType":"YulExpressionStatement","src":"120700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120736:4:22","nodeType":"YulLiteral","src":"120736:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"120742:2:22","nodeType":"YulIdentifier","src":"120742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"120729:6:22","nodeType":"YulIdentifier","src":"120729:6:22"},"nativeSrc":"120729:16:22","nodeType":"YulFunctionCall","src":"120729:16:22"},"nativeSrc":"120729:16:22","nodeType":"YulExpressionStatement","src":"120729:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120765:4:22","nodeType":"YulLiteral","src":"120765:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"120771:2:22","nodeType":"YulIdentifier","src":"120771:2:22"}],"functionName":{"name":"mstore","nativeSrc":"120758:6:22","nodeType":"YulIdentifier","src":"120758:6:22"},"nativeSrc":"120758:16:22","nodeType":"YulFunctionCall","src":"120758:16:22"},"nativeSrc":"120758:16:22","nodeType":"YulExpressionStatement","src":"120758:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120794:4:22","nodeType":"YulLiteral","src":"120794:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"120800:4:22","nodeType":"YulLiteral","src":"120800:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"120787:6:22","nodeType":"YulIdentifier","src":"120787:6:22"},"nativeSrc":"120787:18:22","nodeType":"YulFunctionCall","src":"120787:18:22"},"nativeSrc":"120787:18:22","nodeType":"YulExpressionStatement","src":"120787:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120830:4:22","nodeType":"YulLiteral","src":"120830:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"120836:2:22","nodeType":"YulIdentifier","src":"120836:2:22"}],"functionName":{"name":"writeString","nativeSrc":"120818:11:22","nodeType":"YulIdentifier","src":"120818:11:22"},"nativeSrc":"120818:21:22","nodeType":"YulFunctionCall","src":"120818:21:22"},"nativeSrc":"120818:21:22","nodeType":"YulExpressionStatement","src":"120818:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35175,"isOffset":false,"isSlot":false,"src":"120390:2:22","valueSize":1},{"declaration":35178,"isOffset":false,"isSlot":false,"src":"120420:2:22","valueSize":1},{"declaration":35181,"isOffset":false,"isSlot":false,"src":"120450:2:22","valueSize":1},{"declaration":35184,"isOffset":false,"isSlot":false,"src":"120480:2:22","valueSize":1},{"declaration":35187,"isOffset":false,"isSlot":false,"src":"120510:2:22","valueSize":1},{"declaration":35190,"isOffset":false,"isSlot":false,"src":"120540:2:22","valueSize":1},{"declaration":35193,"isOffset":false,"isSlot":false,"src":"120570:2:22","valueSize":1},{"declaration":35165,"isOffset":false,"isSlot":false,"src":"120713:2:22","valueSize":1},{"declaration":35167,"isOffset":false,"isSlot":false,"src":"120742:2:22","valueSize":1},{"declaration":35169,"isOffset":false,"isSlot":false,"src":"120771:2:22","valueSize":1},{"declaration":35171,"isOffset":false,"isSlot":false,"src":"120836:2:22","valueSize":1}],"id":35195,"nodeType":"InlineAssembly","src":"120012:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120874:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120880:4:22","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":35196,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"120858:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"120858:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35200,"nodeType":"ExpressionStatement","src":"120858:27:22"},{"AST":{"nativeSrc":"120947:214:22","nodeType":"YulBlock","src":"120947:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"120968:4:22","nodeType":"YulLiteral","src":"120968:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"120974:2:22","nodeType":"YulIdentifier","src":"120974:2:22"}],"functionName":{"name":"mstore","nativeSrc":"120961:6:22","nodeType":"YulIdentifier","src":"120961:6:22"},"nativeSrc":"120961:16:22","nodeType":"YulFunctionCall","src":"120961:16:22"},"nativeSrc":"120961:16:22","nodeType":"YulExpressionStatement","src":"120961:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120997:4:22","nodeType":"YulLiteral","src":"120997:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"121003:2:22","nodeType":"YulIdentifier","src":"121003:2:22"}],"functionName":{"name":"mstore","nativeSrc":"120990:6:22","nodeType":"YulIdentifier","src":"120990:6:22"},"nativeSrc":"120990:16:22","nodeType":"YulFunctionCall","src":"120990:16:22"},"nativeSrc":"120990:16:22","nodeType":"YulExpressionStatement","src":"120990:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121026:4:22","nodeType":"YulLiteral","src":"121026:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"121032:2:22","nodeType":"YulIdentifier","src":"121032:2:22"}],"functionName":{"name":"mstore","nativeSrc":"121019:6:22","nodeType":"YulIdentifier","src":"121019:6:22"},"nativeSrc":"121019:16:22","nodeType":"YulFunctionCall","src":"121019:16:22"},"nativeSrc":"121019:16:22","nodeType":"YulExpressionStatement","src":"121019:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121055:4:22","nodeType":"YulLiteral","src":"121055:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"121061:2:22","nodeType":"YulIdentifier","src":"121061:2:22"}],"functionName":{"name":"mstore","nativeSrc":"121048:6:22","nodeType":"YulIdentifier","src":"121048:6:22"},"nativeSrc":"121048:16:22","nodeType":"YulFunctionCall","src":"121048:16:22"},"nativeSrc":"121048:16:22","nodeType":"YulExpressionStatement","src":"121048:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121084:4:22","nodeType":"YulLiteral","src":"121084:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"121090:2:22","nodeType":"YulIdentifier","src":"121090:2:22"}],"functionName":{"name":"mstore","nativeSrc":"121077:6:22","nodeType":"YulIdentifier","src":"121077:6:22"},"nativeSrc":"121077:16:22","nodeType":"YulFunctionCall","src":"121077:16:22"},"nativeSrc":"121077:16:22","nodeType":"YulExpressionStatement","src":"121077:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121113:4:22","nodeType":"YulLiteral","src":"121113:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"121119:2:22","nodeType":"YulIdentifier","src":"121119:2:22"}],"functionName":{"name":"mstore","nativeSrc":"121106:6:22","nodeType":"YulIdentifier","src":"121106:6:22"},"nativeSrc":"121106:16:22","nodeType":"YulFunctionCall","src":"121106:16:22"},"nativeSrc":"121106:16:22","nodeType":"YulExpressionStatement","src":"121106:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121142:4:22","nodeType":"YulLiteral","src":"121142:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"121148:2:22","nodeType":"YulIdentifier","src":"121148:2:22"}],"functionName":{"name":"mstore","nativeSrc":"121135:6:22","nodeType":"YulIdentifier","src":"121135:6:22"},"nativeSrc":"121135:16:22","nodeType":"YulFunctionCall","src":"121135:16:22"},"nativeSrc":"121135:16:22","nodeType":"YulExpressionStatement","src":"121135:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35175,"isOffset":false,"isSlot":false,"src":"120974:2:22","valueSize":1},{"declaration":35178,"isOffset":false,"isSlot":false,"src":"121003:2:22","valueSize":1},{"declaration":35181,"isOffset":false,"isSlot":false,"src":"121032:2:22","valueSize":1},{"declaration":35184,"isOffset":false,"isSlot":false,"src":"121061:2:22","valueSize":1},{"declaration":35187,"isOffset":false,"isSlot":false,"src":"121090:2:22","valueSize":1},{"declaration":35190,"isOffset":false,"isSlot":false,"src":"121119:2:22","valueSize":1},{"declaration":35193,"isOffset":false,"isSlot":false,"src":"121148:2:22","valueSize":1}],"id":35201,"nodeType":"InlineAssembly","src":"120938:223:22"}]},"id":35203,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"119756:3:22","nodeType":"FunctionDefinition","parameters":{"id":35172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35165,"mutability":"mutable","name":"p0","nameLocation":"119768:2:22","nodeType":"VariableDeclaration","scope":35203,"src":"119760:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35164,"name":"address","nodeType":"ElementaryTypeName","src":"119760:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35167,"mutability":"mutable","name":"p1","nameLocation":"119777:2:22","nodeType":"VariableDeclaration","scope":35203,"src":"119772:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35166,"name":"bool","nodeType":"ElementaryTypeName","src":"119772:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35169,"mutability":"mutable","name":"p2","nameLocation":"119789:2:22","nodeType":"VariableDeclaration","scope":35203,"src":"119781:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35168,"name":"uint256","nodeType":"ElementaryTypeName","src":"119781:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35171,"mutability":"mutable","name":"p3","nameLocation":"119801:2:22","nodeType":"VariableDeclaration","scope":35203,"src":"119793:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119793:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"119759:45:22"},"returnParameters":{"id":35173,"nodeType":"ParameterList","parameters":[],"src":"119819:0:22"},"scope":44426,"src":"119747:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35242,"nodeType":"Block","src":"121245:1348:22","statements":[{"assignments":[35215],"declarations":[{"constant":false,"id":35215,"mutability":"mutable","name":"m0","nameLocation":"121263:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121255:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35216,"nodeType":"VariableDeclarationStatement","src":"121255:10:22"},{"assignments":[35218],"declarations":[{"constant":false,"id":35218,"mutability":"mutable","name":"m1","nameLocation":"121283:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121275:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35219,"nodeType":"VariableDeclarationStatement","src":"121275:10:22"},{"assignments":[35221],"declarations":[{"constant":false,"id":35221,"mutability":"mutable","name":"m2","nameLocation":"121303:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121295:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35222,"nodeType":"VariableDeclarationStatement","src":"121295:10:22"},{"assignments":[35224],"declarations":[{"constant":false,"id":35224,"mutability":"mutable","name":"m3","nameLocation":"121323:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121315:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121315:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35225,"nodeType":"VariableDeclarationStatement","src":"121315:10:22"},{"assignments":[35227],"declarations":[{"constant":false,"id":35227,"mutability":"mutable","name":"m4","nameLocation":"121343:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121335:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121335:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35228,"nodeType":"VariableDeclarationStatement","src":"121335:10:22"},{"assignments":[35230],"declarations":[{"constant":false,"id":35230,"mutability":"mutable","name":"m5","nameLocation":"121363:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121355:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121355:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35231,"nodeType":"VariableDeclarationStatement","src":"121355:10:22"},{"assignments":[35233],"declarations":[{"constant":false,"id":35233,"mutability":"mutable","name":"m6","nameLocation":"121383:2:22","nodeType":"VariableDeclaration","scope":35242,"src":"121375:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121375:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35234,"nodeType":"VariableDeclarationStatement","src":"121375:10:22"},{"AST":{"nativeSrc":"121447:828:22","nodeType":"YulBlock","src":"121447:828:22","statements":[{"body":{"nativeSrc":"121490:313:22","nodeType":"YulBlock","src":"121490:313:22","statements":[{"nativeSrc":"121508:15:22","nodeType":"YulVariableDeclaration","src":"121508:15:22","value":{"kind":"number","nativeSrc":"121522:1:22","nodeType":"YulLiteral","src":"121522:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"121512:6:22","nodeType":"YulTypedName","src":"121512:6:22","type":""}]},{"body":{"nativeSrc":"121593:40:22","nodeType":"YulBlock","src":"121593:40:22","statements":[{"body":{"nativeSrc":"121622:9:22","nodeType":"YulBlock","src":"121622:9:22","statements":[{"nativeSrc":"121624:5:22","nodeType":"YulBreak","src":"121624:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"121610:6:22","nodeType":"YulIdentifier","src":"121610:6:22"},{"name":"w","nativeSrc":"121618:1:22","nodeType":"YulIdentifier","src":"121618:1:22"}],"functionName":{"name":"byte","nativeSrc":"121605:4:22","nodeType":"YulIdentifier","src":"121605:4:22"},"nativeSrc":"121605:15:22","nodeType":"YulFunctionCall","src":"121605:15:22"}],"functionName":{"name":"iszero","nativeSrc":"121598:6:22","nodeType":"YulIdentifier","src":"121598:6:22"},"nativeSrc":"121598:23:22","nodeType":"YulFunctionCall","src":"121598:23:22"},"nativeSrc":"121595:36:22","nodeType":"YulIf","src":"121595:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"121550:6:22","nodeType":"YulIdentifier","src":"121550:6:22"},{"kind":"number","nativeSrc":"121558:4:22","nodeType":"YulLiteral","src":"121558:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"121547:2:22","nodeType":"YulIdentifier","src":"121547:2:22"},"nativeSrc":"121547:16:22","nodeType":"YulFunctionCall","src":"121547:16:22"},"nativeSrc":"121540:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"121564:28:22","nodeType":"YulBlock","src":"121564:28:22","statements":[{"nativeSrc":"121566:24:22","nodeType":"YulAssignment","src":"121566:24:22","value":{"arguments":[{"name":"length","nativeSrc":"121580:6:22","nodeType":"YulIdentifier","src":"121580:6:22"},{"kind":"number","nativeSrc":"121588:1:22","nodeType":"YulLiteral","src":"121588:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"121576:3:22","nodeType":"YulIdentifier","src":"121576:3:22"},"nativeSrc":"121576:14:22","nodeType":"YulFunctionCall","src":"121576:14:22"},"variableNames":[{"name":"length","nativeSrc":"121566:6:22","nodeType":"YulIdentifier","src":"121566:6:22"}]}]},"pre":{"nativeSrc":"121544:2:22","nodeType":"YulBlock","src":"121544:2:22","statements":[]},"src":"121540:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"121657:3:22","nodeType":"YulIdentifier","src":"121657:3:22"},{"name":"length","nativeSrc":"121662:6:22","nodeType":"YulIdentifier","src":"121662:6:22"}],"functionName":{"name":"mstore","nativeSrc":"121650:6:22","nodeType":"YulIdentifier","src":"121650:6:22"},"nativeSrc":"121650:19:22","nodeType":"YulFunctionCall","src":"121650:19:22"},"nativeSrc":"121650:19:22","nodeType":"YulExpressionStatement","src":"121650:19:22"},{"nativeSrc":"121686:37:22","nodeType":"YulVariableDeclaration","src":"121686:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"121703:3:22","nodeType":"YulLiteral","src":"121703:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"121712:1:22","nodeType":"YulLiteral","src":"121712:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"121715:6:22","nodeType":"YulIdentifier","src":"121715:6:22"}],"functionName":{"name":"shl","nativeSrc":"121708:3:22","nodeType":"YulIdentifier","src":"121708:3:22"},"nativeSrc":"121708:14:22","nodeType":"YulFunctionCall","src":"121708:14:22"}],"functionName":{"name":"sub","nativeSrc":"121699:3:22","nodeType":"YulIdentifier","src":"121699:3:22"},"nativeSrc":"121699:24:22","nodeType":"YulFunctionCall","src":"121699:24:22"},"variables":[{"name":"shift","nativeSrc":"121690:5:22","nodeType":"YulTypedName","src":"121690:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"121751:3:22","nodeType":"YulIdentifier","src":"121751:3:22"},{"kind":"number","nativeSrc":"121756:4:22","nodeType":"YulLiteral","src":"121756:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"121747:3:22","nodeType":"YulIdentifier","src":"121747:3:22"},"nativeSrc":"121747:14:22","nodeType":"YulFunctionCall","src":"121747:14:22"},{"arguments":[{"name":"shift","nativeSrc":"121767:5:22","nodeType":"YulIdentifier","src":"121767:5:22"},{"arguments":[{"name":"shift","nativeSrc":"121778:5:22","nodeType":"YulIdentifier","src":"121778:5:22"},{"name":"w","nativeSrc":"121785:1:22","nodeType":"YulIdentifier","src":"121785:1:22"}],"functionName":{"name":"shr","nativeSrc":"121774:3:22","nodeType":"YulIdentifier","src":"121774:3:22"},"nativeSrc":"121774:13:22","nodeType":"YulFunctionCall","src":"121774:13:22"}],"functionName":{"name":"shl","nativeSrc":"121763:3:22","nodeType":"YulIdentifier","src":"121763:3:22"},"nativeSrc":"121763:25:22","nodeType":"YulFunctionCall","src":"121763:25:22"}],"functionName":{"name":"mstore","nativeSrc":"121740:6:22","nodeType":"YulIdentifier","src":"121740:6:22"},"nativeSrc":"121740:49:22","nodeType":"YulFunctionCall","src":"121740:49:22"},"nativeSrc":"121740:49:22","nodeType":"YulExpressionStatement","src":"121740:49:22"}]},"name":"writeString","nativeSrc":"121461:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"121482:3:22","nodeType":"YulTypedName","src":"121482:3:22","type":""},{"name":"w","nativeSrc":"121487:1:22","nodeType":"YulTypedName","src":"121487:1:22","type":""}],"src":"121461:342:22"},{"nativeSrc":"121816:17:22","nodeType":"YulAssignment","src":"121816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121828:4:22","nodeType":"YulLiteral","src":"121828:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"121822:5:22","nodeType":"YulIdentifier","src":"121822:5:22"},"nativeSrc":"121822:11:22","nodeType":"YulFunctionCall","src":"121822:11:22"},"variableNames":[{"name":"m0","nativeSrc":"121816:2:22","nodeType":"YulIdentifier","src":"121816:2:22"}]},{"nativeSrc":"121846:17:22","nodeType":"YulAssignment","src":"121846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121858:4:22","nodeType":"YulLiteral","src":"121858:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"121852:5:22","nodeType":"YulIdentifier","src":"121852:5:22"},"nativeSrc":"121852:11:22","nodeType":"YulFunctionCall","src":"121852:11:22"},"variableNames":[{"name":"m1","nativeSrc":"121846:2:22","nodeType":"YulIdentifier","src":"121846:2:22"}]},{"nativeSrc":"121876:17:22","nodeType":"YulAssignment","src":"121876:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121888:4:22","nodeType":"YulLiteral","src":"121888:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"121882:5:22","nodeType":"YulIdentifier","src":"121882:5:22"},"nativeSrc":"121882:11:22","nodeType":"YulFunctionCall","src":"121882:11:22"},"variableNames":[{"name":"m2","nativeSrc":"121876:2:22","nodeType":"YulIdentifier","src":"121876:2:22"}]},{"nativeSrc":"121906:17:22","nodeType":"YulAssignment","src":"121906:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121918:4:22","nodeType":"YulLiteral","src":"121918:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"121912:5:22","nodeType":"YulIdentifier","src":"121912:5:22"},"nativeSrc":"121912:11:22","nodeType":"YulFunctionCall","src":"121912:11:22"},"variableNames":[{"name":"m3","nativeSrc":"121906:2:22","nodeType":"YulIdentifier","src":"121906:2:22"}]},{"nativeSrc":"121936:17:22","nodeType":"YulAssignment","src":"121936:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121948:4:22","nodeType":"YulLiteral","src":"121948:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"121942:5:22","nodeType":"YulIdentifier","src":"121942:5:22"},"nativeSrc":"121942:11:22","nodeType":"YulFunctionCall","src":"121942:11:22"},"variableNames":[{"name":"m4","nativeSrc":"121936:2:22","nodeType":"YulIdentifier","src":"121936:2:22"}]},{"nativeSrc":"121966:17:22","nodeType":"YulAssignment","src":"121966:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"121978:4:22","nodeType":"YulLiteral","src":"121978:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"121972:5:22","nodeType":"YulIdentifier","src":"121972:5:22"},"nativeSrc":"121972:11:22","nodeType":"YulFunctionCall","src":"121972:11:22"},"variableNames":[{"name":"m5","nativeSrc":"121966:2:22","nodeType":"YulIdentifier","src":"121966:2:22"}]},{"nativeSrc":"121996:17:22","nodeType":"YulAssignment","src":"121996:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"122008:4:22","nodeType":"YulLiteral","src":"122008:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"122002:5:22","nodeType":"YulIdentifier","src":"122002:5:22"},"nativeSrc":"122002:11:22","nodeType":"YulFunctionCall","src":"122002:11:22"},"variableNames":[{"name":"m6","nativeSrc":"121996:2:22","nodeType":"YulIdentifier","src":"121996:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122096:4:22","nodeType":"YulLiteral","src":"122096:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"122102:10:22","nodeType":"YulLiteral","src":"122102:10:22","type":"","value":"0x19fd4956"}],"functionName":{"name":"mstore","nativeSrc":"122089:6:22","nodeType":"YulIdentifier","src":"122089:6:22"},"nativeSrc":"122089:24:22","nodeType":"YulFunctionCall","src":"122089:24:22"},"nativeSrc":"122089:24:22","nodeType":"YulExpressionStatement","src":"122089:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122133:4:22","nodeType":"YulLiteral","src":"122133:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"122139:2:22","nodeType":"YulIdentifier","src":"122139:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122126:6:22","nodeType":"YulIdentifier","src":"122126:6:22"},"nativeSrc":"122126:16:22","nodeType":"YulFunctionCall","src":"122126:16:22"},"nativeSrc":"122126:16:22","nodeType":"YulExpressionStatement","src":"122126:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122162:4:22","nodeType":"YulLiteral","src":"122162:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"122168:2:22","nodeType":"YulIdentifier","src":"122168:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122155:6:22","nodeType":"YulIdentifier","src":"122155:6:22"},"nativeSrc":"122155:16:22","nodeType":"YulFunctionCall","src":"122155:16:22"},"nativeSrc":"122155:16:22","nodeType":"YulExpressionStatement","src":"122155:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122191:4:22","nodeType":"YulLiteral","src":"122191:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"122197:4:22","nodeType":"YulLiteral","src":"122197:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"122184:6:22","nodeType":"YulIdentifier","src":"122184:6:22"},"nativeSrc":"122184:18:22","nodeType":"YulFunctionCall","src":"122184:18:22"},"nativeSrc":"122184:18:22","nodeType":"YulExpressionStatement","src":"122184:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122222:4:22","nodeType":"YulLiteral","src":"122222:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"122228:2:22","nodeType":"YulIdentifier","src":"122228:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122215:6:22","nodeType":"YulIdentifier","src":"122215:6:22"},"nativeSrc":"122215:16:22","nodeType":"YulFunctionCall","src":"122215:16:22"},"nativeSrc":"122215:16:22","nodeType":"YulExpressionStatement","src":"122215:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122256:4:22","nodeType":"YulLiteral","src":"122256:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"122262:2:22","nodeType":"YulIdentifier","src":"122262:2:22"}],"functionName":{"name":"writeString","nativeSrc":"122244:11:22","nodeType":"YulIdentifier","src":"122244:11:22"},"nativeSrc":"122244:21:22","nodeType":"YulFunctionCall","src":"122244:21:22"},"nativeSrc":"122244:21:22","nodeType":"YulExpressionStatement","src":"122244:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35215,"isOffset":false,"isSlot":false,"src":"121816:2:22","valueSize":1},{"declaration":35218,"isOffset":false,"isSlot":false,"src":"121846:2:22","valueSize":1},{"declaration":35221,"isOffset":false,"isSlot":false,"src":"121876:2:22","valueSize":1},{"declaration":35224,"isOffset":false,"isSlot":false,"src":"121906:2:22","valueSize":1},{"declaration":35227,"isOffset":false,"isSlot":false,"src":"121936:2:22","valueSize":1},{"declaration":35230,"isOffset":false,"isSlot":false,"src":"121966:2:22","valueSize":1},{"declaration":35233,"isOffset":false,"isSlot":false,"src":"121996:2:22","valueSize":1},{"declaration":35205,"isOffset":false,"isSlot":false,"src":"122139:2:22","valueSize":1},{"declaration":35207,"isOffset":false,"isSlot":false,"src":"122168:2:22","valueSize":1},{"declaration":35209,"isOffset":false,"isSlot":false,"src":"122262:2:22","valueSize":1},{"declaration":35211,"isOffset":false,"isSlot":false,"src":"122228:2:22","valueSize":1}],"id":35235,"nodeType":"InlineAssembly","src":"121438:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122300:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122306:4:22","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":35236,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"122284:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"122284:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35240,"nodeType":"ExpressionStatement","src":"122284:27:22"},{"AST":{"nativeSrc":"122373:214:22","nodeType":"YulBlock","src":"122373:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"122394:4:22","nodeType":"YulLiteral","src":"122394:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"122400:2:22","nodeType":"YulIdentifier","src":"122400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122387:6:22","nodeType":"YulIdentifier","src":"122387:6:22"},"nativeSrc":"122387:16:22","nodeType":"YulFunctionCall","src":"122387:16:22"},"nativeSrc":"122387:16:22","nodeType":"YulExpressionStatement","src":"122387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122423:4:22","nodeType":"YulLiteral","src":"122423:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"122429:2:22","nodeType":"YulIdentifier","src":"122429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122416:6:22","nodeType":"YulIdentifier","src":"122416:6:22"},"nativeSrc":"122416:16:22","nodeType":"YulFunctionCall","src":"122416:16:22"},"nativeSrc":"122416:16:22","nodeType":"YulExpressionStatement","src":"122416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122452:4:22","nodeType":"YulLiteral","src":"122452:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"122458:2:22","nodeType":"YulIdentifier","src":"122458:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122445:6:22","nodeType":"YulIdentifier","src":"122445:6:22"},"nativeSrc":"122445:16:22","nodeType":"YulFunctionCall","src":"122445:16:22"},"nativeSrc":"122445:16:22","nodeType":"YulExpressionStatement","src":"122445:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122481:4:22","nodeType":"YulLiteral","src":"122481:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"122487:2:22","nodeType":"YulIdentifier","src":"122487:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122474:6:22","nodeType":"YulIdentifier","src":"122474:6:22"},"nativeSrc":"122474:16:22","nodeType":"YulFunctionCall","src":"122474:16:22"},"nativeSrc":"122474:16:22","nodeType":"YulExpressionStatement","src":"122474:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122510:4:22","nodeType":"YulLiteral","src":"122510:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"122516:2:22","nodeType":"YulIdentifier","src":"122516:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122503:6:22","nodeType":"YulIdentifier","src":"122503:6:22"},"nativeSrc":"122503:16:22","nodeType":"YulFunctionCall","src":"122503:16:22"},"nativeSrc":"122503:16:22","nodeType":"YulExpressionStatement","src":"122503:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122539:4:22","nodeType":"YulLiteral","src":"122539:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"122545:2:22","nodeType":"YulIdentifier","src":"122545:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122532:6:22","nodeType":"YulIdentifier","src":"122532:6:22"},"nativeSrc":"122532:16:22","nodeType":"YulFunctionCall","src":"122532:16:22"},"nativeSrc":"122532:16:22","nodeType":"YulExpressionStatement","src":"122532:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122568:4:22","nodeType":"YulLiteral","src":"122568:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"122574:2:22","nodeType":"YulIdentifier","src":"122574:2:22"}],"functionName":{"name":"mstore","nativeSrc":"122561:6:22","nodeType":"YulIdentifier","src":"122561:6:22"},"nativeSrc":"122561:16:22","nodeType":"YulFunctionCall","src":"122561:16:22"},"nativeSrc":"122561:16:22","nodeType":"YulExpressionStatement","src":"122561:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35215,"isOffset":false,"isSlot":false,"src":"122400:2:22","valueSize":1},{"declaration":35218,"isOffset":false,"isSlot":false,"src":"122429:2:22","valueSize":1},{"declaration":35221,"isOffset":false,"isSlot":false,"src":"122458:2:22","valueSize":1},{"declaration":35224,"isOffset":false,"isSlot":false,"src":"122487:2:22","valueSize":1},{"declaration":35227,"isOffset":false,"isSlot":false,"src":"122516:2:22","valueSize":1},{"declaration":35230,"isOffset":false,"isSlot":false,"src":"122545:2:22","valueSize":1},{"declaration":35233,"isOffset":false,"isSlot":false,"src":"122574:2:22","valueSize":1}],"id":35241,"nodeType":"InlineAssembly","src":"122364:223:22"}]},"id":35243,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"121182:3:22","nodeType":"FunctionDefinition","parameters":{"id":35212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35205,"mutability":"mutable","name":"p0","nameLocation":"121194:2:22","nodeType":"VariableDeclaration","scope":35243,"src":"121186:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35204,"name":"address","nodeType":"ElementaryTypeName","src":"121186:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35207,"mutability":"mutable","name":"p1","nameLocation":"121203:2:22","nodeType":"VariableDeclaration","scope":35243,"src":"121198:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35206,"name":"bool","nodeType":"ElementaryTypeName","src":"121198:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35209,"mutability":"mutable","name":"p2","nameLocation":"121215:2:22","nodeType":"VariableDeclaration","scope":35243,"src":"121207:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121207:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35211,"mutability":"mutable","name":"p3","nameLocation":"121227:2:22","nodeType":"VariableDeclaration","scope":35243,"src":"121219:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35210,"name":"address","nodeType":"ElementaryTypeName","src":"121219:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"121185:45:22"},"returnParameters":{"id":35213,"nodeType":"ParameterList","parameters":[],"src":"121245:0:22"},"scope":44426,"src":"121173:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35282,"nodeType":"Block","src":"122668:1345:22","statements":[{"assignments":[35255],"declarations":[{"constant":false,"id":35255,"mutability":"mutable","name":"m0","nameLocation":"122686:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122678:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122678:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35256,"nodeType":"VariableDeclarationStatement","src":"122678:10:22"},{"assignments":[35258],"declarations":[{"constant":false,"id":35258,"mutability":"mutable","name":"m1","nameLocation":"122706:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35259,"nodeType":"VariableDeclarationStatement","src":"122698:10:22"},{"assignments":[35261],"declarations":[{"constant":false,"id":35261,"mutability":"mutable","name":"m2","nameLocation":"122726:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35262,"nodeType":"VariableDeclarationStatement","src":"122718:10:22"},{"assignments":[35264],"declarations":[{"constant":false,"id":35264,"mutability":"mutable","name":"m3","nameLocation":"122746:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122738:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35265,"nodeType":"VariableDeclarationStatement","src":"122738:10:22"},{"assignments":[35267],"declarations":[{"constant":false,"id":35267,"mutability":"mutable","name":"m4","nameLocation":"122766:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122758:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122758:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35268,"nodeType":"VariableDeclarationStatement","src":"122758:10:22"},{"assignments":[35270],"declarations":[{"constant":false,"id":35270,"mutability":"mutable","name":"m5","nameLocation":"122786:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122778:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122778:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35271,"nodeType":"VariableDeclarationStatement","src":"122778:10:22"},{"assignments":[35273],"declarations":[{"constant":false,"id":35273,"mutability":"mutable","name":"m6","nameLocation":"122806:2:22","nodeType":"VariableDeclaration","scope":35282,"src":"122798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122798:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35274,"nodeType":"VariableDeclarationStatement","src":"122798:10:22"},{"AST":{"nativeSrc":"122870:825:22","nodeType":"YulBlock","src":"122870:825:22","statements":[{"body":{"nativeSrc":"122913:313:22","nodeType":"YulBlock","src":"122913:313:22","statements":[{"nativeSrc":"122931:15:22","nodeType":"YulVariableDeclaration","src":"122931:15:22","value":{"kind":"number","nativeSrc":"122945:1:22","nodeType":"YulLiteral","src":"122945:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"122935:6:22","nodeType":"YulTypedName","src":"122935:6:22","type":""}]},{"body":{"nativeSrc":"123016:40:22","nodeType":"YulBlock","src":"123016:40:22","statements":[{"body":{"nativeSrc":"123045:9:22","nodeType":"YulBlock","src":"123045:9:22","statements":[{"nativeSrc":"123047:5:22","nodeType":"YulBreak","src":"123047:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"123033:6:22","nodeType":"YulIdentifier","src":"123033:6:22"},{"name":"w","nativeSrc":"123041:1:22","nodeType":"YulIdentifier","src":"123041:1:22"}],"functionName":{"name":"byte","nativeSrc":"123028:4:22","nodeType":"YulIdentifier","src":"123028:4:22"},"nativeSrc":"123028:15:22","nodeType":"YulFunctionCall","src":"123028:15:22"}],"functionName":{"name":"iszero","nativeSrc":"123021:6:22","nodeType":"YulIdentifier","src":"123021:6:22"},"nativeSrc":"123021:23:22","nodeType":"YulFunctionCall","src":"123021:23:22"},"nativeSrc":"123018:36:22","nodeType":"YulIf","src":"123018:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"122973:6:22","nodeType":"YulIdentifier","src":"122973:6:22"},{"kind":"number","nativeSrc":"122981:4:22","nodeType":"YulLiteral","src":"122981:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"122970:2:22","nodeType":"YulIdentifier","src":"122970:2:22"},"nativeSrc":"122970:16:22","nodeType":"YulFunctionCall","src":"122970:16:22"},"nativeSrc":"122963:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"122987:28:22","nodeType":"YulBlock","src":"122987:28:22","statements":[{"nativeSrc":"122989:24:22","nodeType":"YulAssignment","src":"122989:24:22","value":{"arguments":[{"name":"length","nativeSrc":"123003:6:22","nodeType":"YulIdentifier","src":"123003:6:22"},{"kind":"number","nativeSrc":"123011:1:22","nodeType":"YulLiteral","src":"123011:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"122999:3:22","nodeType":"YulIdentifier","src":"122999:3:22"},"nativeSrc":"122999:14:22","nodeType":"YulFunctionCall","src":"122999:14:22"},"variableNames":[{"name":"length","nativeSrc":"122989:6:22","nodeType":"YulIdentifier","src":"122989:6:22"}]}]},"pre":{"nativeSrc":"122967:2:22","nodeType":"YulBlock","src":"122967:2:22","statements":[]},"src":"122963:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"123080:3:22","nodeType":"YulIdentifier","src":"123080:3:22"},{"name":"length","nativeSrc":"123085:6:22","nodeType":"YulIdentifier","src":"123085:6:22"}],"functionName":{"name":"mstore","nativeSrc":"123073:6:22","nodeType":"YulIdentifier","src":"123073:6:22"},"nativeSrc":"123073:19:22","nodeType":"YulFunctionCall","src":"123073:19:22"},"nativeSrc":"123073:19:22","nodeType":"YulExpressionStatement","src":"123073:19:22"},{"nativeSrc":"123109:37:22","nodeType":"YulVariableDeclaration","src":"123109:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"123126:3:22","nodeType":"YulLiteral","src":"123126:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"123135:1:22","nodeType":"YulLiteral","src":"123135:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"123138:6:22","nodeType":"YulIdentifier","src":"123138:6:22"}],"functionName":{"name":"shl","nativeSrc":"123131:3:22","nodeType":"YulIdentifier","src":"123131:3:22"},"nativeSrc":"123131:14:22","nodeType":"YulFunctionCall","src":"123131:14:22"}],"functionName":{"name":"sub","nativeSrc":"123122:3:22","nodeType":"YulIdentifier","src":"123122:3:22"},"nativeSrc":"123122:24:22","nodeType":"YulFunctionCall","src":"123122:24:22"},"variables":[{"name":"shift","nativeSrc":"123113:5:22","nodeType":"YulTypedName","src":"123113:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"123174:3:22","nodeType":"YulIdentifier","src":"123174:3:22"},{"kind":"number","nativeSrc":"123179:4:22","nodeType":"YulLiteral","src":"123179:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"123170:3:22","nodeType":"YulIdentifier","src":"123170:3:22"},"nativeSrc":"123170:14:22","nodeType":"YulFunctionCall","src":"123170:14:22"},{"arguments":[{"name":"shift","nativeSrc":"123190:5:22","nodeType":"YulIdentifier","src":"123190:5:22"},{"arguments":[{"name":"shift","nativeSrc":"123201:5:22","nodeType":"YulIdentifier","src":"123201:5:22"},{"name":"w","nativeSrc":"123208:1:22","nodeType":"YulIdentifier","src":"123208:1:22"}],"functionName":{"name":"shr","nativeSrc":"123197:3:22","nodeType":"YulIdentifier","src":"123197:3:22"},"nativeSrc":"123197:13:22","nodeType":"YulFunctionCall","src":"123197:13:22"}],"functionName":{"name":"shl","nativeSrc":"123186:3:22","nodeType":"YulIdentifier","src":"123186:3:22"},"nativeSrc":"123186:25:22","nodeType":"YulFunctionCall","src":"123186:25:22"}],"functionName":{"name":"mstore","nativeSrc":"123163:6:22","nodeType":"YulIdentifier","src":"123163:6:22"},"nativeSrc":"123163:49:22","nodeType":"YulFunctionCall","src":"123163:49:22"},"nativeSrc":"123163:49:22","nodeType":"YulExpressionStatement","src":"123163:49:22"}]},"name":"writeString","nativeSrc":"122884:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"122905:3:22","nodeType":"YulTypedName","src":"122905:3:22","type":""},{"name":"w","nativeSrc":"122910:1:22","nodeType":"YulTypedName","src":"122910:1:22","type":""}],"src":"122884:342:22"},{"nativeSrc":"123239:17:22","nodeType":"YulAssignment","src":"123239:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123251:4:22","nodeType":"YulLiteral","src":"123251:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"123245:5:22","nodeType":"YulIdentifier","src":"123245:5:22"},"nativeSrc":"123245:11:22","nodeType":"YulFunctionCall","src":"123245:11:22"},"variableNames":[{"name":"m0","nativeSrc":"123239:2:22","nodeType":"YulIdentifier","src":"123239:2:22"}]},{"nativeSrc":"123269:17:22","nodeType":"YulAssignment","src":"123269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123281:4:22","nodeType":"YulLiteral","src":"123281:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"123275:5:22","nodeType":"YulIdentifier","src":"123275:5:22"},"nativeSrc":"123275:11:22","nodeType":"YulFunctionCall","src":"123275:11:22"},"variableNames":[{"name":"m1","nativeSrc":"123269:2:22","nodeType":"YulIdentifier","src":"123269:2:22"}]},{"nativeSrc":"123299:17:22","nodeType":"YulAssignment","src":"123299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123311:4:22","nodeType":"YulLiteral","src":"123311:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"123305:5:22","nodeType":"YulIdentifier","src":"123305:5:22"},"nativeSrc":"123305:11:22","nodeType":"YulFunctionCall","src":"123305:11:22"},"variableNames":[{"name":"m2","nativeSrc":"123299:2:22","nodeType":"YulIdentifier","src":"123299:2:22"}]},{"nativeSrc":"123329:17:22","nodeType":"YulAssignment","src":"123329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123341:4:22","nodeType":"YulLiteral","src":"123341:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"123335:5:22","nodeType":"YulIdentifier","src":"123335:5:22"},"nativeSrc":"123335:11:22","nodeType":"YulFunctionCall","src":"123335:11:22"},"variableNames":[{"name":"m3","nativeSrc":"123329:2:22","nodeType":"YulIdentifier","src":"123329:2:22"}]},{"nativeSrc":"123359:17:22","nodeType":"YulAssignment","src":"123359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123371:4:22","nodeType":"YulLiteral","src":"123371:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"123365:5:22","nodeType":"YulIdentifier","src":"123365:5:22"},"nativeSrc":"123365:11:22","nodeType":"YulFunctionCall","src":"123365:11:22"},"variableNames":[{"name":"m4","nativeSrc":"123359:2:22","nodeType":"YulIdentifier","src":"123359:2:22"}]},{"nativeSrc":"123389:17:22","nodeType":"YulAssignment","src":"123389:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123401:4:22","nodeType":"YulLiteral","src":"123401:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"123395:5:22","nodeType":"YulIdentifier","src":"123395:5:22"},"nativeSrc":"123395:11:22","nodeType":"YulFunctionCall","src":"123395:11:22"},"variableNames":[{"name":"m5","nativeSrc":"123389:2:22","nodeType":"YulIdentifier","src":"123389:2:22"}]},{"nativeSrc":"123419:17:22","nodeType":"YulAssignment","src":"123419:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"123431:4:22","nodeType":"YulLiteral","src":"123431:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"123425:5:22","nodeType":"YulIdentifier","src":"123425:5:22"},"nativeSrc":"123425:11:22","nodeType":"YulFunctionCall","src":"123425:11:22"},"variableNames":[{"name":"m6","nativeSrc":"123419:2:22","nodeType":"YulIdentifier","src":"123419:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123516:4:22","nodeType":"YulLiteral","src":"123516:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"123522:10:22","nodeType":"YulLiteral","src":"123522:10:22","type":"","value":"0x50ad461d"}],"functionName":{"name":"mstore","nativeSrc":"123509:6:22","nodeType":"YulIdentifier","src":"123509:6:22"},"nativeSrc":"123509:24:22","nodeType":"YulFunctionCall","src":"123509:24:22"},"nativeSrc":"123509:24:22","nodeType":"YulExpressionStatement","src":"123509:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123553:4:22","nodeType":"YulLiteral","src":"123553:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"123559:2:22","nodeType":"YulIdentifier","src":"123559:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123546:6:22","nodeType":"YulIdentifier","src":"123546:6:22"},"nativeSrc":"123546:16:22","nodeType":"YulFunctionCall","src":"123546:16:22"},"nativeSrc":"123546:16:22","nodeType":"YulExpressionStatement","src":"123546:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123582:4:22","nodeType":"YulLiteral","src":"123582:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"123588:2:22","nodeType":"YulIdentifier","src":"123588:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123575:6:22","nodeType":"YulIdentifier","src":"123575:6:22"},"nativeSrc":"123575:16:22","nodeType":"YulFunctionCall","src":"123575:16:22"},"nativeSrc":"123575:16:22","nodeType":"YulExpressionStatement","src":"123575:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123611:4:22","nodeType":"YulLiteral","src":"123611:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"123617:4:22","nodeType":"YulLiteral","src":"123617:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"123604:6:22","nodeType":"YulIdentifier","src":"123604:6:22"},"nativeSrc":"123604:18:22","nodeType":"YulFunctionCall","src":"123604:18:22"},"nativeSrc":"123604:18:22","nodeType":"YulExpressionStatement","src":"123604:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123642:4:22","nodeType":"YulLiteral","src":"123642:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"123648:2:22","nodeType":"YulIdentifier","src":"123648:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123635:6:22","nodeType":"YulIdentifier","src":"123635:6:22"},"nativeSrc":"123635:16:22","nodeType":"YulFunctionCall","src":"123635:16:22"},"nativeSrc":"123635:16:22","nodeType":"YulExpressionStatement","src":"123635:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123676:4:22","nodeType":"YulLiteral","src":"123676:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"123682:2:22","nodeType":"YulIdentifier","src":"123682:2:22"}],"functionName":{"name":"writeString","nativeSrc":"123664:11:22","nodeType":"YulIdentifier","src":"123664:11:22"},"nativeSrc":"123664:21:22","nodeType":"YulFunctionCall","src":"123664:21:22"},"nativeSrc":"123664:21:22","nodeType":"YulExpressionStatement","src":"123664:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35255,"isOffset":false,"isSlot":false,"src":"123239:2:22","valueSize":1},{"declaration":35258,"isOffset":false,"isSlot":false,"src":"123269:2:22","valueSize":1},{"declaration":35261,"isOffset":false,"isSlot":false,"src":"123299:2:22","valueSize":1},{"declaration":35264,"isOffset":false,"isSlot":false,"src":"123329:2:22","valueSize":1},{"declaration":35267,"isOffset":false,"isSlot":false,"src":"123359:2:22","valueSize":1},{"declaration":35270,"isOffset":false,"isSlot":false,"src":"123389:2:22","valueSize":1},{"declaration":35273,"isOffset":false,"isSlot":false,"src":"123419:2:22","valueSize":1},{"declaration":35245,"isOffset":false,"isSlot":false,"src":"123559:2:22","valueSize":1},{"declaration":35247,"isOffset":false,"isSlot":false,"src":"123588:2:22","valueSize":1},{"declaration":35249,"isOffset":false,"isSlot":false,"src":"123682:2:22","valueSize":1},{"declaration":35251,"isOffset":false,"isSlot":false,"src":"123648:2:22","valueSize":1}],"id":35275,"nodeType":"InlineAssembly","src":"122861:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123720:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123726:4:22","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":35276,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"123704:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"123704:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35280,"nodeType":"ExpressionStatement","src":"123704:27:22"},{"AST":{"nativeSrc":"123793:214:22","nodeType":"YulBlock","src":"123793:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"123814:4:22","nodeType":"YulLiteral","src":"123814:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"123820:2:22","nodeType":"YulIdentifier","src":"123820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123807:6:22","nodeType":"YulIdentifier","src":"123807:6:22"},"nativeSrc":"123807:16:22","nodeType":"YulFunctionCall","src":"123807:16:22"},"nativeSrc":"123807:16:22","nodeType":"YulExpressionStatement","src":"123807:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123843:4:22","nodeType":"YulLiteral","src":"123843:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"123849:2:22","nodeType":"YulIdentifier","src":"123849:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123836:6:22","nodeType":"YulIdentifier","src":"123836:6:22"},"nativeSrc":"123836:16:22","nodeType":"YulFunctionCall","src":"123836:16:22"},"nativeSrc":"123836:16:22","nodeType":"YulExpressionStatement","src":"123836:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123872:4:22","nodeType":"YulLiteral","src":"123872:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"123878:2:22","nodeType":"YulIdentifier","src":"123878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123865:6:22","nodeType":"YulIdentifier","src":"123865:6:22"},"nativeSrc":"123865:16:22","nodeType":"YulFunctionCall","src":"123865:16:22"},"nativeSrc":"123865:16:22","nodeType":"YulExpressionStatement","src":"123865:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123901:4:22","nodeType":"YulLiteral","src":"123901:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"123907:2:22","nodeType":"YulIdentifier","src":"123907:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123894:6:22","nodeType":"YulIdentifier","src":"123894:6:22"},"nativeSrc":"123894:16:22","nodeType":"YulFunctionCall","src":"123894:16:22"},"nativeSrc":"123894:16:22","nodeType":"YulExpressionStatement","src":"123894:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123930:4:22","nodeType":"YulLiteral","src":"123930:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"123936:2:22","nodeType":"YulIdentifier","src":"123936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123923:6:22","nodeType":"YulIdentifier","src":"123923:6:22"},"nativeSrc":"123923:16:22","nodeType":"YulFunctionCall","src":"123923:16:22"},"nativeSrc":"123923:16:22","nodeType":"YulExpressionStatement","src":"123923:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123959:4:22","nodeType":"YulLiteral","src":"123959:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"123965:2:22","nodeType":"YulIdentifier","src":"123965:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123952:6:22","nodeType":"YulIdentifier","src":"123952:6:22"},"nativeSrc":"123952:16:22","nodeType":"YulFunctionCall","src":"123952:16:22"},"nativeSrc":"123952:16:22","nodeType":"YulExpressionStatement","src":"123952:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123988:4:22","nodeType":"YulLiteral","src":"123988:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"123994:2:22","nodeType":"YulIdentifier","src":"123994:2:22"}],"functionName":{"name":"mstore","nativeSrc":"123981:6:22","nodeType":"YulIdentifier","src":"123981:6:22"},"nativeSrc":"123981:16:22","nodeType":"YulFunctionCall","src":"123981:16:22"},"nativeSrc":"123981:16:22","nodeType":"YulExpressionStatement","src":"123981:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35255,"isOffset":false,"isSlot":false,"src":"123820:2:22","valueSize":1},{"declaration":35258,"isOffset":false,"isSlot":false,"src":"123849:2:22","valueSize":1},{"declaration":35261,"isOffset":false,"isSlot":false,"src":"123878:2:22","valueSize":1},{"declaration":35264,"isOffset":false,"isSlot":false,"src":"123907:2:22","valueSize":1},{"declaration":35267,"isOffset":false,"isSlot":false,"src":"123936:2:22","valueSize":1},{"declaration":35270,"isOffset":false,"isSlot":false,"src":"123965:2:22","valueSize":1},{"declaration":35273,"isOffset":false,"isSlot":false,"src":"123994:2:22","valueSize":1}],"id":35281,"nodeType":"InlineAssembly","src":"123784:223:22"}]},"id":35283,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"122608:3:22","nodeType":"FunctionDefinition","parameters":{"id":35252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35245,"mutability":"mutable","name":"p0","nameLocation":"122620:2:22","nodeType":"VariableDeclaration","scope":35283,"src":"122612:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35244,"name":"address","nodeType":"ElementaryTypeName","src":"122612:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35247,"mutability":"mutable","name":"p1","nameLocation":"122629:2:22","nodeType":"VariableDeclaration","scope":35283,"src":"122624:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35246,"name":"bool","nodeType":"ElementaryTypeName","src":"122624:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35249,"mutability":"mutable","name":"p2","nameLocation":"122641:2:22","nodeType":"VariableDeclaration","scope":35283,"src":"122633:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122633:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35251,"mutability":"mutable","name":"p3","nameLocation":"122650:2:22","nodeType":"VariableDeclaration","scope":35283,"src":"122645:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35250,"name":"bool","nodeType":"ElementaryTypeName","src":"122645:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122611:42:22"},"returnParameters":{"id":35253,"nodeType":"ParameterList","parameters":[],"src":"122668:0:22"},"scope":44426,"src":"122599:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35322,"nodeType":"Block","src":"124091:1348:22","statements":[{"assignments":[35295],"declarations":[{"constant":false,"id":35295,"mutability":"mutable","name":"m0","nameLocation":"124109:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124101:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124101:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35296,"nodeType":"VariableDeclarationStatement","src":"124101:10:22"},{"assignments":[35298],"declarations":[{"constant":false,"id":35298,"mutability":"mutable","name":"m1","nameLocation":"124129:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124121:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124121:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35299,"nodeType":"VariableDeclarationStatement","src":"124121:10:22"},{"assignments":[35301],"declarations":[{"constant":false,"id":35301,"mutability":"mutable","name":"m2","nameLocation":"124149:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124141:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124141:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35302,"nodeType":"VariableDeclarationStatement","src":"124141:10:22"},{"assignments":[35304],"declarations":[{"constant":false,"id":35304,"mutability":"mutable","name":"m3","nameLocation":"124169:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124161:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124161:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35305,"nodeType":"VariableDeclarationStatement","src":"124161:10:22"},{"assignments":[35307],"declarations":[{"constant":false,"id":35307,"mutability":"mutable","name":"m4","nameLocation":"124189:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124181:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124181:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35308,"nodeType":"VariableDeclarationStatement","src":"124181:10:22"},{"assignments":[35310],"declarations":[{"constant":false,"id":35310,"mutability":"mutable","name":"m5","nameLocation":"124209:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124201:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124201:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35311,"nodeType":"VariableDeclarationStatement","src":"124201:10:22"},{"assignments":[35313],"declarations":[{"constant":false,"id":35313,"mutability":"mutable","name":"m6","nameLocation":"124229:2:22","nodeType":"VariableDeclaration","scope":35322,"src":"124221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124221:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35314,"nodeType":"VariableDeclarationStatement","src":"124221:10:22"},{"AST":{"nativeSrc":"124293:828:22","nodeType":"YulBlock","src":"124293:828:22","statements":[{"body":{"nativeSrc":"124336:313:22","nodeType":"YulBlock","src":"124336:313:22","statements":[{"nativeSrc":"124354:15:22","nodeType":"YulVariableDeclaration","src":"124354:15:22","value":{"kind":"number","nativeSrc":"124368:1:22","nodeType":"YulLiteral","src":"124368:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"124358:6:22","nodeType":"YulTypedName","src":"124358:6:22","type":""}]},{"body":{"nativeSrc":"124439:40:22","nodeType":"YulBlock","src":"124439:40:22","statements":[{"body":{"nativeSrc":"124468:9:22","nodeType":"YulBlock","src":"124468:9:22","statements":[{"nativeSrc":"124470:5:22","nodeType":"YulBreak","src":"124470:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"124456:6:22","nodeType":"YulIdentifier","src":"124456:6:22"},{"name":"w","nativeSrc":"124464:1:22","nodeType":"YulIdentifier","src":"124464:1:22"}],"functionName":{"name":"byte","nativeSrc":"124451:4:22","nodeType":"YulIdentifier","src":"124451:4:22"},"nativeSrc":"124451:15:22","nodeType":"YulFunctionCall","src":"124451:15:22"}],"functionName":{"name":"iszero","nativeSrc":"124444:6:22","nodeType":"YulIdentifier","src":"124444:6:22"},"nativeSrc":"124444:23:22","nodeType":"YulFunctionCall","src":"124444:23:22"},"nativeSrc":"124441:36:22","nodeType":"YulIf","src":"124441:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"124396:6:22","nodeType":"YulIdentifier","src":"124396:6:22"},{"kind":"number","nativeSrc":"124404:4:22","nodeType":"YulLiteral","src":"124404:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"124393:2:22","nodeType":"YulIdentifier","src":"124393:2:22"},"nativeSrc":"124393:16:22","nodeType":"YulFunctionCall","src":"124393:16:22"},"nativeSrc":"124386:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"124410:28:22","nodeType":"YulBlock","src":"124410:28:22","statements":[{"nativeSrc":"124412:24:22","nodeType":"YulAssignment","src":"124412:24:22","value":{"arguments":[{"name":"length","nativeSrc":"124426:6:22","nodeType":"YulIdentifier","src":"124426:6:22"},{"kind":"number","nativeSrc":"124434:1:22","nodeType":"YulLiteral","src":"124434:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"124422:3:22","nodeType":"YulIdentifier","src":"124422:3:22"},"nativeSrc":"124422:14:22","nodeType":"YulFunctionCall","src":"124422:14:22"},"variableNames":[{"name":"length","nativeSrc":"124412:6:22","nodeType":"YulIdentifier","src":"124412:6:22"}]}]},"pre":{"nativeSrc":"124390:2:22","nodeType":"YulBlock","src":"124390:2:22","statements":[]},"src":"124386:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"124503:3:22","nodeType":"YulIdentifier","src":"124503:3:22"},{"name":"length","nativeSrc":"124508:6:22","nodeType":"YulIdentifier","src":"124508:6:22"}],"functionName":{"name":"mstore","nativeSrc":"124496:6:22","nodeType":"YulIdentifier","src":"124496:6:22"},"nativeSrc":"124496:19:22","nodeType":"YulFunctionCall","src":"124496:19:22"},"nativeSrc":"124496:19:22","nodeType":"YulExpressionStatement","src":"124496:19:22"},{"nativeSrc":"124532:37:22","nodeType":"YulVariableDeclaration","src":"124532:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"124549:3:22","nodeType":"YulLiteral","src":"124549:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"124558:1:22","nodeType":"YulLiteral","src":"124558:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"124561:6:22","nodeType":"YulIdentifier","src":"124561:6:22"}],"functionName":{"name":"shl","nativeSrc":"124554:3:22","nodeType":"YulIdentifier","src":"124554:3:22"},"nativeSrc":"124554:14:22","nodeType":"YulFunctionCall","src":"124554:14:22"}],"functionName":{"name":"sub","nativeSrc":"124545:3:22","nodeType":"YulIdentifier","src":"124545:3:22"},"nativeSrc":"124545:24:22","nodeType":"YulFunctionCall","src":"124545:24:22"},"variables":[{"name":"shift","nativeSrc":"124536:5:22","nodeType":"YulTypedName","src":"124536:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"124597:3:22","nodeType":"YulIdentifier","src":"124597:3:22"},{"kind":"number","nativeSrc":"124602:4:22","nodeType":"YulLiteral","src":"124602:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"124593:3:22","nodeType":"YulIdentifier","src":"124593:3:22"},"nativeSrc":"124593:14:22","nodeType":"YulFunctionCall","src":"124593:14:22"},{"arguments":[{"name":"shift","nativeSrc":"124613:5:22","nodeType":"YulIdentifier","src":"124613:5:22"},{"arguments":[{"name":"shift","nativeSrc":"124624:5:22","nodeType":"YulIdentifier","src":"124624:5:22"},{"name":"w","nativeSrc":"124631:1:22","nodeType":"YulIdentifier","src":"124631:1:22"}],"functionName":{"name":"shr","nativeSrc":"124620:3:22","nodeType":"YulIdentifier","src":"124620:3:22"},"nativeSrc":"124620:13:22","nodeType":"YulFunctionCall","src":"124620:13:22"}],"functionName":{"name":"shl","nativeSrc":"124609:3:22","nodeType":"YulIdentifier","src":"124609:3:22"},"nativeSrc":"124609:25:22","nodeType":"YulFunctionCall","src":"124609:25:22"}],"functionName":{"name":"mstore","nativeSrc":"124586:6:22","nodeType":"YulIdentifier","src":"124586:6:22"},"nativeSrc":"124586:49:22","nodeType":"YulFunctionCall","src":"124586:49:22"},"nativeSrc":"124586:49:22","nodeType":"YulExpressionStatement","src":"124586:49:22"}]},"name":"writeString","nativeSrc":"124307:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"124328:3:22","nodeType":"YulTypedName","src":"124328:3:22","type":""},{"name":"w","nativeSrc":"124333:1:22","nodeType":"YulTypedName","src":"124333:1:22","type":""}],"src":"124307:342:22"},{"nativeSrc":"124662:17:22","nodeType":"YulAssignment","src":"124662:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124674:4:22","nodeType":"YulLiteral","src":"124674:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"124668:5:22","nodeType":"YulIdentifier","src":"124668:5:22"},"nativeSrc":"124668:11:22","nodeType":"YulFunctionCall","src":"124668:11:22"},"variableNames":[{"name":"m0","nativeSrc":"124662:2:22","nodeType":"YulIdentifier","src":"124662:2:22"}]},{"nativeSrc":"124692:17:22","nodeType":"YulAssignment","src":"124692:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124704:4:22","nodeType":"YulLiteral","src":"124704:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"124698:5:22","nodeType":"YulIdentifier","src":"124698:5:22"},"nativeSrc":"124698:11:22","nodeType":"YulFunctionCall","src":"124698:11:22"},"variableNames":[{"name":"m1","nativeSrc":"124692:2:22","nodeType":"YulIdentifier","src":"124692:2:22"}]},{"nativeSrc":"124722:17:22","nodeType":"YulAssignment","src":"124722:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124734:4:22","nodeType":"YulLiteral","src":"124734:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"124728:5:22","nodeType":"YulIdentifier","src":"124728:5:22"},"nativeSrc":"124728:11:22","nodeType":"YulFunctionCall","src":"124728:11:22"},"variableNames":[{"name":"m2","nativeSrc":"124722:2:22","nodeType":"YulIdentifier","src":"124722:2:22"}]},{"nativeSrc":"124752:17:22","nodeType":"YulAssignment","src":"124752:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124764:4:22","nodeType":"YulLiteral","src":"124764:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"124758:5:22","nodeType":"YulIdentifier","src":"124758:5:22"},"nativeSrc":"124758:11:22","nodeType":"YulFunctionCall","src":"124758:11:22"},"variableNames":[{"name":"m3","nativeSrc":"124752:2:22","nodeType":"YulIdentifier","src":"124752:2:22"}]},{"nativeSrc":"124782:17:22","nodeType":"YulAssignment","src":"124782:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124794:4:22","nodeType":"YulLiteral","src":"124794:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"124788:5:22","nodeType":"YulIdentifier","src":"124788:5:22"},"nativeSrc":"124788:11:22","nodeType":"YulFunctionCall","src":"124788:11:22"},"variableNames":[{"name":"m4","nativeSrc":"124782:2:22","nodeType":"YulIdentifier","src":"124782:2:22"}]},{"nativeSrc":"124812:17:22","nodeType":"YulAssignment","src":"124812:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124824:4:22","nodeType":"YulLiteral","src":"124824:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"124818:5:22","nodeType":"YulIdentifier","src":"124818:5:22"},"nativeSrc":"124818:11:22","nodeType":"YulFunctionCall","src":"124818:11:22"},"variableNames":[{"name":"m5","nativeSrc":"124812:2:22","nodeType":"YulIdentifier","src":"124812:2:22"}]},{"nativeSrc":"124842:17:22","nodeType":"YulAssignment","src":"124842:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"124854:4:22","nodeType":"YulLiteral","src":"124854:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"124848:5:22","nodeType":"YulIdentifier","src":"124848:5:22"},"nativeSrc":"124848:11:22","nodeType":"YulFunctionCall","src":"124848:11:22"},"variableNames":[{"name":"m6","nativeSrc":"124842:2:22","nodeType":"YulIdentifier","src":"124842:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124942:4:22","nodeType":"YulLiteral","src":"124942:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"124948:10:22","nodeType":"YulLiteral","src":"124948:10:22","type":"","value":"0x80e6a20b"}],"functionName":{"name":"mstore","nativeSrc":"124935:6:22","nodeType":"YulIdentifier","src":"124935:6:22"},"nativeSrc":"124935:24:22","nodeType":"YulFunctionCall","src":"124935:24:22"},"nativeSrc":"124935:24:22","nodeType":"YulExpressionStatement","src":"124935:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124979:4:22","nodeType":"YulLiteral","src":"124979:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"124985:2:22","nodeType":"YulIdentifier","src":"124985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"124972:6:22","nodeType":"YulIdentifier","src":"124972:6:22"},"nativeSrc":"124972:16:22","nodeType":"YulFunctionCall","src":"124972:16:22"},"nativeSrc":"124972:16:22","nodeType":"YulExpressionStatement","src":"124972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125008:4:22","nodeType":"YulLiteral","src":"125008:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"125014:2:22","nodeType":"YulIdentifier","src":"125014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125001:6:22","nodeType":"YulIdentifier","src":"125001:6:22"},"nativeSrc":"125001:16:22","nodeType":"YulFunctionCall","src":"125001:16:22"},"nativeSrc":"125001:16:22","nodeType":"YulExpressionStatement","src":"125001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125037:4:22","nodeType":"YulLiteral","src":"125037:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"125043:4:22","nodeType":"YulLiteral","src":"125043:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"125030:6:22","nodeType":"YulIdentifier","src":"125030:6:22"},"nativeSrc":"125030:18:22","nodeType":"YulFunctionCall","src":"125030:18:22"},"nativeSrc":"125030:18:22","nodeType":"YulExpressionStatement","src":"125030:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125068:4:22","nodeType":"YulLiteral","src":"125068:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"125074:2:22","nodeType":"YulIdentifier","src":"125074:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125061:6:22","nodeType":"YulIdentifier","src":"125061:6:22"},"nativeSrc":"125061:16:22","nodeType":"YulFunctionCall","src":"125061:16:22"},"nativeSrc":"125061:16:22","nodeType":"YulExpressionStatement","src":"125061:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125102:4:22","nodeType":"YulLiteral","src":"125102:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"125108:2:22","nodeType":"YulIdentifier","src":"125108:2:22"}],"functionName":{"name":"writeString","nativeSrc":"125090:11:22","nodeType":"YulIdentifier","src":"125090:11:22"},"nativeSrc":"125090:21:22","nodeType":"YulFunctionCall","src":"125090:21:22"},"nativeSrc":"125090:21:22","nodeType":"YulExpressionStatement","src":"125090:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35295,"isOffset":false,"isSlot":false,"src":"124662:2:22","valueSize":1},{"declaration":35298,"isOffset":false,"isSlot":false,"src":"124692:2:22","valueSize":1},{"declaration":35301,"isOffset":false,"isSlot":false,"src":"124722:2:22","valueSize":1},{"declaration":35304,"isOffset":false,"isSlot":false,"src":"124752:2:22","valueSize":1},{"declaration":35307,"isOffset":false,"isSlot":false,"src":"124782:2:22","valueSize":1},{"declaration":35310,"isOffset":false,"isSlot":false,"src":"124812:2:22","valueSize":1},{"declaration":35313,"isOffset":false,"isSlot":false,"src":"124842:2:22","valueSize":1},{"declaration":35285,"isOffset":false,"isSlot":false,"src":"124985:2:22","valueSize":1},{"declaration":35287,"isOffset":false,"isSlot":false,"src":"125014:2:22","valueSize":1},{"declaration":35289,"isOffset":false,"isSlot":false,"src":"125108:2:22","valueSize":1},{"declaration":35291,"isOffset":false,"isSlot":false,"src":"125074:2:22","valueSize":1}],"id":35315,"nodeType":"InlineAssembly","src":"124284:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125146:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125152:4:22","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":35316,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"125130:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"125130:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35320,"nodeType":"ExpressionStatement","src":"125130:27:22"},{"AST":{"nativeSrc":"125219:214:22","nodeType":"YulBlock","src":"125219:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"125240:4:22","nodeType":"YulLiteral","src":"125240:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"125246:2:22","nodeType":"YulIdentifier","src":"125246:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125233:6:22","nodeType":"YulIdentifier","src":"125233:6:22"},"nativeSrc":"125233:16:22","nodeType":"YulFunctionCall","src":"125233:16:22"},"nativeSrc":"125233:16:22","nodeType":"YulExpressionStatement","src":"125233:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125269:4:22","nodeType":"YulLiteral","src":"125269:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"125275:2:22","nodeType":"YulIdentifier","src":"125275:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125262:6:22","nodeType":"YulIdentifier","src":"125262:6:22"},"nativeSrc":"125262:16:22","nodeType":"YulFunctionCall","src":"125262:16:22"},"nativeSrc":"125262:16:22","nodeType":"YulExpressionStatement","src":"125262:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125298:4:22","nodeType":"YulLiteral","src":"125298:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"125304:2:22","nodeType":"YulIdentifier","src":"125304:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125291:6:22","nodeType":"YulIdentifier","src":"125291:6:22"},"nativeSrc":"125291:16:22","nodeType":"YulFunctionCall","src":"125291:16:22"},"nativeSrc":"125291:16:22","nodeType":"YulExpressionStatement","src":"125291:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125327:4:22","nodeType":"YulLiteral","src":"125327:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"125333:2:22","nodeType":"YulIdentifier","src":"125333:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125320:6:22","nodeType":"YulIdentifier","src":"125320:6:22"},"nativeSrc":"125320:16:22","nodeType":"YulFunctionCall","src":"125320:16:22"},"nativeSrc":"125320:16:22","nodeType":"YulExpressionStatement","src":"125320:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125356:4:22","nodeType":"YulLiteral","src":"125356:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"125362:2:22","nodeType":"YulIdentifier","src":"125362:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125349:6:22","nodeType":"YulIdentifier","src":"125349:6:22"},"nativeSrc":"125349:16:22","nodeType":"YulFunctionCall","src":"125349:16:22"},"nativeSrc":"125349:16:22","nodeType":"YulExpressionStatement","src":"125349:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125385:4:22","nodeType":"YulLiteral","src":"125385:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"125391:2:22","nodeType":"YulIdentifier","src":"125391:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125378:6:22","nodeType":"YulIdentifier","src":"125378:6:22"},"nativeSrc":"125378:16:22","nodeType":"YulFunctionCall","src":"125378:16:22"},"nativeSrc":"125378:16:22","nodeType":"YulExpressionStatement","src":"125378:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125414:4:22","nodeType":"YulLiteral","src":"125414:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"125420:2:22","nodeType":"YulIdentifier","src":"125420:2:22"}],"functionName":{"name":"mstore","nativeSrc":"125407:6:22","nodeType":"YulIdentifier","src":"125407:6:22"},"nativeSrc":"125407:16:22","nodeType":"YulFunctionCall","src":"125407:16:22"},"nativeSrc":"125407:16:22","nodeType":"YulExpressionStatement","src":"125407:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35295,"isOffset":false,"isSlot":false,"src":"125246:2:22","valueSize":1},{"declaration":35298,"isOffset":false,"isSlot":false,"src":"125275:2:22","valueSize":1},{"declaration":35301,"isOffset":false,"isSlot":false,"src":"125304:2:22","valueSize":1},{"declaration":35304,"isOffset":false,"isSlot":false,"src":"125333:2:22","valueSize":1},{"declaration":35307,"isOffset":false,"isSlot":false,"src":"125362:2:22","valueSize":1},{"declaration":35310,"isOffset":false,"isSlot":false,"src":"125391:2:22","valueSize":1},{"declaration":35313,"isOffset":false,"isSlot":false,"src":"125420:2:22","valueSize":1}],"id":35321,"nodeType":"InlineAssembly","src":"125210:223:22"}]},"id":35323,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"124028:3:22","nodeType":"FunctionDefinition","parameters":{"id":35292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35285,"mutability":"mutable","name":"p0","nameLocation":"124040:2:22","nodeType":"VariableDeclaration","scope":35323,"src":"124032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35284,"name":"address","nodeType":"ElementaryTypeName","src":"124032:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35287,"mutability":"mutable","name":"p1","nameLocation":"124049:2:22","nodeType":"VariableDeclaration","scope":35323,"src":"124044:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35286,"name":"bool","nodeType":"ElementaryTypeName","src":"124044:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35289,"mutability":"mutable","name":"p2","nameLocation":"124061:2:22","nodeType":"VariableDeclaration","scope":35323,"src":"124053:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124053:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35291,"mutability":"mutable","name":"p3","nameLocation":"124073:2:22","nodeType":"VariableDeclaration","scope":35323,"src":"124065:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35290,"name":"uint256","nodeType":"ElementaryTypeName","src":"124065:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"124031:45:22"},"returnParameters":{"id":35293,"nodeType":"ParameterList","parameters":[],"src":"124091:0:22"},"scope":44426,"src":"124019:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35368,"nodeType":"Block","src":"125517:1544:22","statements":[{"assignments":[35335],"declarations":[{"constant":false,"id":35335,"mutability":"mutable","name":"m0","nameLocation":"125535:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125527:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125527:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35336,"nodeType":"VariableDeclarationStatement","src":"125527:10:22"},{"assignments":[35338],"declarations":[{"constant":false,"id":35338,"mutability":"mutable","name":"m1","nameLocation":"125555:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35339,"nodeType":"VariableDeclarationStatement","src":"125547:10:22"},{"assignments":[35341],"declarations":[{"constant":false,"id":35341,"mutability":"mutable","name":"m2","nameLocation":"125575:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125567:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125567:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35342,"nodeType":"VariableDeclarationStatement","src":"125567:10:22"},{"assignments":[35344],"declarations":[{"constant":false,"id":35344,"mutability":"mutable","name":"m3","nameLocation":"125595:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125587:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125587:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35345,"nodeType":"VariableDeclarationStatement","src":"125587:10:22"},{"assignments":[35347],"declarations":[{"constant":false,"id":35347,"mutability":"mutable","name":"m4","nameLocation":"125615:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125607:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125607:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35348,"nodeType":"VariableDeclarationStatement","src":"125607:10:22"},{"assignments":[35350],"declarations":[{"constant":false,"id":35350,"mutability":"mutable","name":"m5","nameLocation":"125635:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125627:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125627:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35351,"nodeType":"VariableDeclarationStatement","src":"125627:10:22"},{"assignments":[35353],"declarations":[{"constant":false,"id":35353,"mutability":"mutable","name":"m6","nameLocation":"125655:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125647:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125647:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35354,"nodeType":"VariableDeclarationStatement","src":"125647:10:22"},{"assignments":[35356],"declarations":[{"constant":false,"id":35356,"mutability":"mutable","name":"m7","nameLocation":"125675:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125667:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35357,"nodeType":"VariableDeclarationStatement","src":"125667:10:22"},{"assignments":[35359],"declarations":[{"constant":false,"id":35359,"mutability":"mutable","name":"m8","nameLocation":"125695:2:22","nodeType":"VariableDeclaration","scope":35368,"src":"125687:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125687:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35360,"nodeType":"VariableDeclarationStatement","src":"125687:10:22"},{"AST":{"nativeSrc":"125759:924:22","nodeType":"YulBlock","src":"125759:924:22","statements":[{"body":{"nativeSrc":"125802:313:22","nodeType":"YulBlock","src":"125802:313:22","statements":[{"nativeSrc":"125820:15:22","nodeType":"YulVariableDeclaration","src":"125820:15:22","value":{"kind":"number","nativeSrc":"125834:1:22","nodeType":"YulLiteral","src":"125834:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"125824:6:22","nodeType":"YulTypedName","src":"125824:6:22","type":""}]},{"body":{"nativeSrc":"125905:40:22","nodeType":"YulBlock","src":"125905:40:22","statements":[{"body":{"nativeSrc":"125934:9:22","nodeType":"YulBlock","src":"125934:9:22","statements":[{"nativeSrc":"125936:5:22","nodeType":"YulBreak","src":"125936:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"125922:6:22","nodeType":"YulIdentifier","src":"125922:6:22"},{"name":"w","nativeSrc":"125930:1:22","nodeType":"YulIdentifier","src":"125930:1:22"}],"functionName":{"name":"byte","nativeSrc":"125917:4:22","nodeType":"YulIdentifier","src":"125917:4:22"},"nativeSrc":"125917:15:22","nodeType":"YulFunctionCall","src":"125917:15:22"}],"functionName":{"name":"iszero","nativeSrc":"125910:6:22","nodeType":"YulIdentifier","src":"125910:6:22"},"nativeSrc":"125910:23:22","nodeType":"YulFunctionCall","src":"125910:23:22"},"nativeSrc":"125907:36:22","nodeType":"YulIf","src":"125907:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"125862:6:22","nodeType":"YulIdentifier","src":"125862:6:22"},{"kind":"number","nativeSrc":"125870:4:22","nodeType":"YulLiteral","src":"125870:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"125859:2:22","nodeType":"YulIdentifier","src":"125859:2:22"},"nativeSrc":"125859:16:22","nodeType":"YulFunctionCall","src":"125859:16:22"},"nativeSrc":"125852:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"125876:28:22","nodeType":"YulBlock","src":"125876:28:22","statements":[{"nativeSrc":"125878:24:22","nodeType":"YulAssignment","src":"125878:24:22","value":{"arguments":[{"name":"length","nativeSrc":"125892:6:22","nodeType":"YulIdentifier","src":"125892:6:22"},{"kind":"number","nativeSrc":"125900:1:22","nodeType":"YulLiteral","src":"125900:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"125888:3:22","nodeType":"YulIdentifier","src":"125888:3:22"},"nativeSrc":"125888:14:22","nodeType":"YulFunctionCall","src":"125888:14:22"},"variableNames":[{"name":"length","nativeSrc":"125878:6:22","nodeType":"YulIdentifier","src":"125878:6:22"}]}]},"pre":{"nativeSrc":"125856:2:22","nodeType":"YulBlock","src":"125856:2:22","statements":[]},"src":"125852:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"125969:3:22","nodeType":"YulIdentifier","src":"125969:3:22"},{"name":"length","nativeSrc":"125974:6:22","nodeType":"YulIdentifier","src":"125974:6:22"}],"functionName":{"name":"mstore","nativeSrc":"125962:6:22","nodeType":"YulIdentifier","src":"125962:6:22"},"nativeSrc":"125962:19:22","nodeType":"YulFunctionCall","src":"125962:19:22"},"nativeSrc":"125962:19:22","nodeType":"YulExpressionStatement","src":"125962:19:22"},{"nativeSrc":"125998:37:22","nodeType":"YulVariableDeclaration","src":"125998:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"126015:3:22","nodeType":"YulLiteral","src":"126015:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"126024:1:22","nodeType":"YulLiteral","src":"126024:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"126027:6:22","nodeType":"YulIdentifier","src":"126027:6:22"}],"functionName":{"name":"shl","nativeSrc":"126020:3:22","nodeType":"YulIdentifier","src":"126020:3:22"},"nativeSrc":"126020:14:22","nodeType":"YulFunctionCall","src":"126020:14:22"}],"functionName":{"name":"sub","nativeSrc":"126011:3:22","nodeType":"YulIdentifier","src":"126011:3:22"},"nativeSrc":"126011:24:22","nodeType":"YulFunctionCall","src":"126011:24:22"},"variables":[{"name":"shift","nativeSrc":"126002:5:22","nodeType":"YulTypedName","src":"126002:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"126063:3:22","nodeType":"YulIdentifier","src":"126063:3:22"},{"kind":"number","nativeSrc":"126068:4:22","nodeType":"YulLiteral","src":"126068:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"126059:3:22","nodeType":"YulIdentifier","src":"126059:3:22"},"nativeSrc":"126059:14:22","nodeType":"YulFunctionCall","src":"126059:14:22"},{"arguments":[{"name":"shift","nativeSrc":"126079:5:22","nodeType":"YulIdentifier","src":"126079:5:22"},{"arguments":[{"name":"shift","nativeSrc":"126090:5:22","nodeType":"YulIdentifier","src":"126090:5:22"},{"name":"w","nativeSrc":"126097:1:22","nodeType":"YulIdentifier","src":"126097:1:22"}],"functionName":{"name":"shr","nativeSrc":"126086:3:22","nodeType":"YulIdentifier","src":"126086:3:22"},"nativeSrc":"126086:13:22","nodeType":"YulFunctionCall","src":"126086:13:22"}],"functionName":{"name":"shl","nativeSrc":"126075:3:22","nodeType":"YulIdentifier","src":"126075:3:22"},"nativeSrc":"126075:25:22","nodeType":"YulFunctionCall","src":"126075:25:22"}],"functionName":{"name":"mstore","nativeSrc":"126052:6:22","nodeType":"YulIdentifier","src":"126052:6:22"},"nativeSrc":"126052:49:22","nodeType":"YulFunctionCall","src":"126052:49:22"},"nativeSrc":"126052:49:22","nodeType":"YulExpressionStatement","src":"126052:49:22"}]},"name":"writeString","nativeSrc":"125773:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"125794:3:22","nodeType":"YulTypedName","src":"125794:3:22","type":""},{"name":"w","nativeSrc":"125799:1:22","nodeType":"YulTypedName","src":"125799:1:22","type":""}],"src":"125773:342:22"},{"nativeSrc":"126128:17:22","nodeType":"YulAssignment","src":"126128:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126140:4:22","nodeType":"YulLiteral","src":"126140:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"126134:5:22","nodeType":"YulIdentifier","src":"126134:5:22"},"nativeSrc":"126134:11:22","nodeType":"YulFunctionCall","src":"126134:11:22"},"variableNames":[{"name":"m0","nativeSrc":"126128:2:22","nodeType":"YulIdentifier","src":"126128:2:22"}]},{"nativeSrc":"126158:17:22","nodeType":"YulAssignment","src":"126158:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126170:4:22","nodeType":"YulLiteral","src":"126170:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"126164:5:22","nodeType":"YulIdentifier","src":"126164:5:22"},"nativeSrc":"126164:11:22","nodeType":"YulFunctionCall","src":"126164:11:22"},"variableNames":[{"name":"m1","nativeSrc":"126158:2:22","nodeType":"YulIdentifier","src":"126158:2:22"}]},{"nativeSrc":"126188:17:22","nodeType":"YulAssignment","src":"126188:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126200:4:22","nodeType":"YulLiteral","src":"126200:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"126194:5:22","nodeType":"YulIdentifier","src":"126194:5:22"},"nativeSrc":"126194:11:22","nodeType":"YulFunctionCall","src":"126194:11:22"},"variableNames":[{"name":"m2","nativeSrc":"126188:2:22","nodeType":"YulIdentifier","src":"126188:2:22"}]},{"nativeSrc":"126218:17:22","nodeType":"YulAssignment","src":"126218:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126230:4:22","nodeType":"YulLiteral","src":"126230:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"126224:5:22","nodeType":"YulIdentifier","src":"126224:5:22"},"nativeSrc":"126224:11:22","nodeType":"YulFunctionCall","src":"126224:11:22"},"variableNames":[{"name":"m3","nativeSrc":"126218:2:22","nodeType":"YulIdentifier","src":"126218:2:22"}]},{"nativeSrc":"126248:17:22","nodeType":"YulAssignment","src":"126248:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126260:4:22","nodeType":"YulLiteral","src":"126260:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"126254:5:22","nodeType":"YulIdentifier","src":"126254:5:22"},"nativeSrc":"126254:11:22","nodeType":"YulFunctionCall","src":"126254:11:22"},"variableNames":[{"name":"m4","nativeSrc":"126248:2:22","nodeType":"YulIdentifier","src":"126248:2:22"}]},{"nativeSrc":"126278:17:22","nodeType":"YulAssignment","src":"126278:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126290:4:22","nodeType":"YulLiteral","src":"126290:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"126284:5:22","nodeType":"YulIdentifier","src":"126284:5:22"},"nativeSrc":"126284:11:22","nodeType":"YulFunctionCall","src":"126284:11:22"},"variableNames":[{"name":"m5","nativeSrc":"126278:2:22","nodeType":"YulIdentifier","src":"126278:2:22"}]},{"nativeSrc":"126308:17:22","nodeType":"YulAssignment","src":"126308:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126320:4:22","nodeType":"YulLiteral","src":"126320:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"126314:5:22","nodeType":"YulIdentifier","src":"126314:5:22"},"nativeSrc":"126314:11:22","nodeType":"YulFunctionCall","src":"126314:11:22"},"variableNames":[{"name":"m6","nativeSrc":"126308:2:22","nodeType":"YulIdentifier","src":"126308:2:22"}]},{"nativeSrc":"126338:17:22","nodeType":"YulAssignment","src":"126338:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"126350:4:22","nodeType":"YulLiteral","src":"126350:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"126344:5:22","nodeType":"YulIdentifier","src":"126344:5:22"},"nativeSrc":"126344:11:22","nodeType":"YulFunctionCall","src":"126344:11:22"},"variableNames":[{"name":"m7","nativeSrc":"126338:2:22","nodeType":"YulIdentifier","src":"126338:2:22"}]},{"nativeSrc":"126368:18:22","nodeType":"YulAssignment","src":"126368:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"126380:5:22","nodeType":"YulLiteral","src":"126380:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"126374:5:22","nodeType":"YulIdentifier","src":"126374:5:22"},"nativeSrc":"126374:12:22","nodeType":"YulFunctionCall","src":"126374:12:22"},"variableNames":[{"name":"m8","nativeSrc":"126368:2:22","nodeType":"YulIdentifier","src":"126368:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126468:4:22","nodeType":"YulLiteral","src":"126468:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"126474:10:22","nodeType":"YulLiteral","src":"126474:10:22","type":"","value":"0x475c5c33"}],"functionName":{"name":"mstore","nativeSrc":"126461:6:22","nodeType":"YulIdentifier","src":"126461:6:22"},"nativeSrc":"126461:24:22","nodeType":"YulFunctionCall","src":"126461:24:22"},"nativeSrc":"126461:24:22","nodeType":"YulExpressionStatement","src":"126461:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126505:4:22","nodeType":"YulLiteral","src":"126505:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"126511:2:22","nodeType":"YulIdentifier","src":"126511:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126498:6:22","nodeType":"YulIdentifier","src":"126498:6:22"},"nativeSrc":"126498:16:22","nodeType":"YulFunctionCall","src":"126498:16:22"},"nativeSrc":"126498:16:22","nodeType":"YulExpressionStatement","src":"126498:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126534:4:22","nodeType":"YulLiteral","src":"126534:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"126540:2:22","nodeType":"YulIdentifier","src":"126540:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126527:6:22","nodeType":"YulIdentifier","src":"126527:6:22"},"nativeSrc":"126527:16:22","nodeType":"YulFunctionCall","src":"126527:16:22"},"nativeSrc":"126527:16:22","nodeType":"YulExpressionStatement","src":"126527:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126563:4:22","nodeType":"YulLiteral","src":"126563:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"126569:4:22","nodeType":"YulLiteral","src":"126569:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"126556:6:22","nodeType":"YulIdentifier","src":"126556:6:22"},"nativeSrc":"126556:18:22","nodeType":"YulFunctionCall","src":"126556:18:22"},"nativeSrc":"126556:18:22","nodeType":"YulExpressionStatement","src":"126556:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126594:4:22","nodeType":"YulLiteral","src":"126594:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"126600:4:22","nodeType":"YulLiteral","src":"126600:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"126587:6:22","nodeType":"YulIdentifier","src":"126587:6:22"},"nativeSrc":"126587:18:22","nodeType":"YulFunctionCall","src":"126587:18:22"},"nativeSrc":"126587:18:22","nodeType":"YulExpressionStatement","src":"126587:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126630:4:22","nodeType":"YulLiteral","src":"126630:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"126636:2:22","nodeType":"YulIdentifier","src":"126636:2:22"}],"functionName":{"name":"writeString","nativeSrc":"126618:11:22","nodeType":"YulIdentifier","src":"126618:11:22"},"nativeSrc":"126618:21:22","nodeType":"YulFunctionCall","src":"126618:21:22"},"nativeSrc":"126618:21:22","nodeType":"YulExpressionStatement","src":"126618:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126664:4:22","nodeType":"YulLiteral","src":"126664:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"126670:2:22","nodeType":"YulIdentifier","src":"126670:2:22"}],"functionName":{"name":"writeString","nativeSrc":"126652:11:22","nodeType":"YulIdentifier","src":"126652:11:22"},"nativeSrc":"126652:21:22","nodeType":"YulFunctionCall","src":"126652:21:22"},"nativeSrc":"126652:21:22","nodeType":"YulExpressionStatement","src":"126652:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35335,"isOffset":false,"isSlot":false,"src":"126128:2:22","valueSize":1},{"declaration":35338,"isOffset":false,"isSlot":false,"src":"126158:2:22","valueSize":1},{"declaration":35341,"isOffset":false,"isSlot":false,"src":"126188:2:22","valueSize":1},{"declaration":35344,"isOffset":false,"isSlot":false,"src":"126218:2:22","valueSize":1},{"declaration":35347,"isOffset":false,"isSlot":false,"src":"126248:2:22","valueSize":1},{"declaration":35350,"isOffset":false,"isSlot":false,"src":"126278:2:22","valueSize":1},{"declaration":35353,"isOffset":false,"isSlot":false,"src":"126308:2:22","valueSize":1},{"declaration":35356,"isOffset":false,"isSlot":false,"src":"126338:2:22","valueSize":1},{"declaration":35359,"isOffset":false,"isSlot":false,"src":"126368:2:22","valueSize":1},{"declaration":35325,"isOffset":false,"isSlot":false,"src":"126511:2:22","valueSize":1},{"declaration":35327,"isOffset":false,"isSlot":false,"src":"126540:2:22","valueSize":1},{"declaration":35329,"isOffset":false,"isSlot":false,"src":"126636:2:22","valueSize":1},{"declaration":35331,"isOffset":false,"isSlot":false,"src":"126670:2:22","valueSize":1}],"id":35361,"nodeType":"InlineAssembly","src":"125750:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126708:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126714:5:22","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":35362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"126692:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"126692:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35366,"nodeType":"ExpressionStatement","src":"126692:28:22"},{"AST":{"nativeSrc":"126782:273:22","nodeType":"YulBlock","src":"126782:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"126803:4:22","nodeType":"YulLiteral","src":"126803:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"126809:2:22","nodeType":"YulIdentifier","src":"126809:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126796:6:22","nodeType":"YulIdentifier","src":"126796:6:22"},"nativeSrc":"126796:16:22","nodeType":"YulFunctionCall","src":"126796:16:22"},"nativeSrc":"126796:16:22","nodeType":"YulExpressionStatement","src":"126796:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126832:4:22","nodeType":"YulLiteral","src":"126832:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"126838:2:22","nodeType":"YulIdentifier","src":"126838:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126825:6:22","nodeType":"YulIdentifier","src":"126825:6:22"},"nativeSrc":"126825:16:22","nodeType":"YulFunctionCall","src":"126825:16:22"},"nativeSrc":"126825:16:22","nodeType":"YulExpressionStatement","src":"126825:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126861:4:22","nodeType":"YulLiteral","src":"126861:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"126867:2:22","nodeType":"YulIdentifier","src":"126867:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126854:6:22","nodeType":"YulIdentifier","src":"126854:6:22"},"nativeSrc":"126854:16:22","nodeType":"YulFunctionCall","src":"126854:16:22"},"nativeSrc":"126854:16:22","nodeType":"YulExpressionStatement","src":"126854:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126890:4:22","nodeType":"YulLiteral","src":"126890:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"126896:2:22","nodeType":"YulIdentifier","src":"126896:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126883:6:22","nodeType":"YulIdentifier","src":"126883:6:22"},"nativeSrc":"126883:16:22","nodeType":"YulFunctionCall","src":"126883:16:22"},"nativeSrc":"126883:16:22","nodeType":"YulExpressionStatement","src":"126883:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126919:4:22","nodeType":"YulLiteral","src":"126919:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"126925:2:22","nodeType":"YulIdentifier","src":"126925:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126912:6:22","nodeType":"YulIdentifier","src":"126912:6:22"},"nativeSrc":"126912:16:22","nodeType":"YulFunctionCall","src":"126912:16:22"},"nativeSrc":"126912:16:22","nodeType":"YulExpressionStatement","src":"126912:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126948:4:22","nodeType":"YulLiteral","src":"126948:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"126954:2:22","nodeType":"YulIdentifier","src":"126954:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126941:6:22","nodeType":"YulIdentifier","src":"126941:6:22"},"nativeSrc":"126941:16:22","nodeType":"YulFunctionCall","src":"126941:16:22"},"nativeSrc":"126941:16:22","nodeType":"YulExpressionStatement","src":"126941:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126977:4:22","nodeType":"YulLiteral","src":"126977:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"126983:2:22","nodeType":"YulIdentifier","src":"126983:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126970:6:22","nodeType":"YulIdentifier","src":"126970:6:22"},"nativeSrc":"126970:16:22","nodeType":"YulFunctionCall","src":"126970:16:22"},"nativeSrc":"126970:16:22","nodeType":"YulExpressionStatement","src":"126970:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127006:4:22","nodeType":"YulLiteral","src":"127006:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"127012:2:22","nodeType":"YulIdentifier","src":"127012:2:22"}],"functionName":{"name":"mstore","nativeSrc":"126999:6:22","nodeType":"YulIdentifier","src":"126999:6:22"},"nativeSrc":"126999:16:22","nodeType":"YulFunctionCall","src":"126999:16:22"},"nativeSrc":"126999:16:22","nodeType":"YulExpressionStatement","src":"126999:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127035:5:22","nodeType":"YulLiteral","src":"127035:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"127042:2:22","nodeType":"YulIdentifier","src":"127042:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127028:6:22","nodeType":"YulIdentifier","src":"127028:6:22"},"nativeSrc":"127028:17:22","nodeType":"YulFunctionCall","src":"127028:17:22"},"nativeSrc":"127028:17:22","nodeType":"YulExpressionStatement","src":"127028:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35335,"isOffset":false,"isSlot":false,"src":"126809:2:22","valueSize":1},{"declaration":35338,"isOffset":false,"isSlot":false,"src":"126838:2:22","valueSize":1},{"declaration":35341,"isOffset":false,"isSlot":false,"src":"126867:2:22","valueSize":1},{"declaration":35344,"isOffset":false,"isSlot":false,"src":"126896:2:22","valueSize":1},{"declaration":35347,"isOffset":false,"isSlot":false,"src":"126925:2:22","valueSize":1},{"declaration":35350,"isOffset":false,"isSlot":false,"src":"126954:2:22","valueSize":1},{"declaration":35353,"isOffset":false,"isSlot":false,"src":"126983:2:22","valueSize":1},{"declaration":35356,"isOffset":false,"isSlot":false,"src":"127012:2:22","valueSize":1},{"declaration":35359,"isOffset":false,"isSlot":false,"src":"127042:2:22","valueSize":1}],"id":35367,"nodeType":"InlineAssembly","src":"126773:282:22"}]},"id":35369,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"125454:3:22","nodeType":"FunctionDefinition","parameters":{"id":35332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35325,"mutability":"mutable","name":"p0","nameLocation":"125466:2:22","nodeType":"VariableDeclaration","scope":35369,"src":"125458:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35324,"name":"address","nodeType":"ElementaryTypeName","src":"125458:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35327,"mutability":"mutable","name":"p1","nameLocation":"125475:2:22","nodeType":"VariableDeclaration","scope":35369,"src":"125470:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35326,"name":"bool","nodeType":"ElementaryTypeName","src":"125470:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35329,"mutability":"mutable","name":"p2","nameLocation":"125487:2:22","nodeType":"VariableDeclaration","scope":35369,"src":"125479:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125479:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35331,"mutability":"mutable","name":"p3","nameLocation":"125499:2:22","nodeType":"VariableDeclaration","scope":35369,"src":"125491:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125491:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"125457:45:22"},"returnParameters":{"id":35333,"nodeType":"ParameterList","parameters":[],"src":"125517:0:22"},"scope":44426,"src":"125445:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35402,"nodeType":"Block","src":"127142:803:22","statements":[{"assignments":[35381],"declarations":[{"constant":false,"id":35381,"mutability":"mutable","name":"m0","nameLocation":"127160:2:22","nodeType":"VariableDeclaration","scope":35402,"src":"127152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35382,"nodeType":"VariableDeclarationStatement","src":"127152:10:22"},{"assignments":[35384],"declarations":[{"constant":false,"id":35384,"mutability":"mutable","name":"m1","nameLocation":"127180:2:22","nodeType":"VariableDeclaration","scope":35402,"src":"127172:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127172:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35385,"nodeType":"VariableDeclarationStatement","src":"127172:10:22"},{"assignments":[35387],"declarations":[{"constant":false,"id":35387,"mutability":"mutable","name":"m2","nameLocation":"127200:2:22","nodeType":"VariableDeclaration","scope":35402,"src":"127192:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127192:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35388,"nodeType":"VariableDeclarationStatement","src":"127192:10:22"},{"assignments":[35390],"declarations":[{"constant":false,"id":35390,"mutability":"mutable","name":"m3","nameLocation":"127220:2:22","nodeType":"VariableDeclaration","scope":35402,"src":"127212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127212:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35391,"nodeType":"VariableDeclarationStatement","src":"127212:10:22"},{"assignments":[35393],"declarations":[{"constant":false,"id":35393,"mutability":"mutable","name":"m4","nameLocation":"127240:2:22","nodeType":"VariableDeclaration","scope":35402,"src":"127232:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127232:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35394,"nodeType":"VariableDeclarationStatement","src":"127232:10:22"},{"AST":{"nativeSrc":"127304:381:22","nodeType":"YulBlock","src":"127304:381:22","statements":[{"nativeSrc":"127318:17:22","nodeType":"YulAssignment","src":"127318:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"127330:4:22","nodeType":"YulLiteral","src":"127330:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"127324:5:22","nodeType":"YulIdentifier","src":"127324:5:22"},"nativeSrc":"127324:11:22","nodeType":"YulFunctionCall","src":"127324:11:22"},"variableNames":[{"name":"m0","nativeSrc":"127318:2:22","nodeType":"YulIdentifier","src":"127318:2:22"}]},{"nativeSrc":"127348:17:22","nodeType":"YulAssignment","src":"127348:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"127360:4:22","nodeType":"YulLiteral","src":"127360:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"127354:5:22","nodeType":"YulIdentifier","src":"127354:5:22"},"nativeSrc":"127354:11:22","nodeType":"YulFunctionCall","src":"127354:11:22"},"variableNames":[{"name":"m1","nativeSrc":"127348:2:22","nodeType":"YulIdentifier","src":"127348:2:22"}]},{"nativeSrc":"127378:17:22","nodeType":"YulAssignment","src":"127378:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"127390:4:22","nodeType":"YulLiteral","src":"127390:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"127384:5:22","nodeType":"YulIdentifier","src":"127384:5:22"},"nativeSrc":"127384:11:22","nodeType":"YulFunctionCall","src":"127384:11:22"},"variableNames":[{"name":"m2","nativeSrc":"127378:2:22","nodeType":"YulIdentifier","src":"127378:2:22"}]},{"nativeSrc":"127408:17:22","nodeType":"YulAssignment","src":"127408:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"127420:4:22","nodeType":"YulLiteral","src":"127420:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"127414:5:22","nodeType":"YulIdentifier","src":"127414:5:22"},"nativeSrc":"127414:11:22","nodeType":"YulFunctionCall","src":"127414:11:22"},"variableNames":[{"name":"m3","nativeSrc":"127408:2:22","nodeType":"YulIdentifier","src":"127408:2:22"}]},{"nativeSrc":"127438:17:22","nodeType":"YulAssignment","src":"127438:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"127450:4:22","nodeType":"YulLiteral","src":"127450:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"127444:5:22","nodeType":"YulIdentifier","src":"127444:5:22"},"nativeSrc":"127444:11:22","nodeType":"YulFunctionCall","src":"127444:11:22"},"variableNames":[{"name":"m4","nativeSrc":"127438:2:22","nodeType":"YulIdentifier","src":"127438:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127542:4:22","nodeType":"YulLiteral","src":"127542:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"127548:10:22","nodeType":"YulLiteral","src":"127548:10:22","type":"","value":"0x478d1c62"}],"functionName":{"name":"mstore","nativeSrc":"127535:6:22","nodeType":"YulIdentifier","src":"127535:6:22"},"nativeSrc":"127535:24:22","nodeType":"YulFunctionCall","src":"127535:24:22"},"nativeSrc":"127535:24:22","nodeType":"YulExpressionStatement","src":"127535:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127579:4:22","nodeType":"YulLiteral","src":"127579:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"127585:2:22","nodeType":"YulIdentifier","src":"127585:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127572:6:22","nodeType":"YulIdentifier","src":"127572:6:22"},"nativeSrc":"127572:16:22","nodeType":"YulFunctionCall","src":"127572:16:22"},"nativeSrc":"127572:16:22","nodeType":"YulExpressionStatement","src":"127572:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127608:4:22","nodeType":"YulLiteral","src":"127608:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"127614:2:22","nodeType":"YulIdentifier","src":"127614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127601:6:22","nodeType":"YulIdentifier","src":"127601:6:22"},"nativeSrc":"127601:16:22","nodeType":"YulFunctionCall","src":"127601:16:22"},"nativeSrc":"127601:16:22","nodeType":"YulExpressionStatement","src":"127601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127637:4:22","nodeType":"YulLiteral","src":"127637:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"127643:2:22","nodeType":"YulIdentifier","src":"127643:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127630:6:22","nodeType":"YulIdentifier","src":"127630:6:22"},"nativeSrc":"127630:16:22","nodeType":"YulFunctionCall","src":"127630:16:22"},"nativeSrc":"127630:16:22","nodeType":"YulExpressionStatement","src":"127630:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127666:4:22","nodeType":"YulLiteral","src":"127666:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"127672:2:22","nodeType":"YulIdentifier","src":"127672:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127659:6:22","nodeType":"YulIdentifier","src":"127659:6:22"},"nativeSrc":"127659:16:22","nodeType":"YulFunctionCall","src":"127659:16:22"},"nativeSrc":"127659:16:22","nodeType":"YulExpressionStatement","src":"127659:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35381,"isOffset":false,"isSlot":false,"src":"127318:2:22","valueSize":1},{"declaration":35384,"isOffset":false,"isSlot":false,"src":"127348:2:22","valueSize":1},{"declaration":35387,"isOffset":false,"isSlot":false,"src":"127378:2:22","valueSize":1},{"declaration":35390,"isOffset":false,"isSlot":false,"src":"127408:2:22","valueSize":1},{"declaration":35393,"isOffset":false,"isSlot":false,"src":"127438:2:22","valueSize":1},{"declaration":35371,"isOffset":false,"isSlot":false,"src":"127585:2:22","valueSize":1},{"declaration":35373,"isOffset":false,"isSlot":false,"src":"127614:2:22","valueSize":1},{"declaration":35375,"isOffset":false,"isSlot":false,"src":"127643:2:22","valueSize":1},{"declaration":35377,"isOffset":false,"isSlot":false,"src":"127672:2:22","valueSize":1}],"id":35395,"nodeType":"InlineAssembly","src":"127295:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127710:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127716:4:22","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":35396,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"127694:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"127694:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35400,"nodeType":"ExpressionStatement","src":"127694:27:22"},{"AST":{"nativeSrc":"127783:156:22","nodeType":"YulBlock","src":"127783:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"127804:4:22","nodeType":"YulLiteral","src":"127804:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"127810:2:22","nodeType":"YulIdentifier","src":"127810:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127797:6:22","nodeType":"YulIdentifier","src":"127797:6:22"},"nativeSrc":"127797:16:22","nodeType":"YulFunctionCall","src":"127797:16:22"},"nativeSrc":"127797:16:22","nodeType":"YulExpressionStatement","src":"127797:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127833:4:22","nodeType":"YulLiteral","src":"127833:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"127839:2:22","nodeType":"YulIdentifier","src":"127839:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127826:6:22","nodeType":"YulIdentifier","src":"127826:6:22"},"nativeSrc":"127826:16:22","nodeType":"YulFunctionCall","src":"127826:16:22"},"nativeSrc":"127826:16:22","nodeType":"YulExpressionStatement","src":"127826:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127862:4:22","nodeType":"YulLiteral","src":"127862:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"127868:2:22","nodeType":"YulIdentifier","src":"127868:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127855:6:22","nodeType":"YulIdentifier","src":"127855:6:22"},"nativeSrc":"127855:16:22","nodeType":"YulFunctionCall","src":"127855:16:22"},"nativeSrc":"127855:16:22","nodeType":"YulExpressionStatement","src":"127855:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127891:4:22","nodeType":"YulLiteral","src":"127891:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"127897:2:22","nodeType":"YulIdentifier","src":"127897:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127884:6:22","nodeType":"YulIdentifier","src":"127884:6:22"},"nativeSrc":"127884:16:22","nodeType":"YulFunctionCall","src":"127884:16:22"},"nativeSrc":"127884:16:22","nodeType":"YulExpressionStatement","src":"127884:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127920:4:22","nodeType":"YulLiteral","src":"127920:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"127926:2:22","nodeType":"YulIdentifier","src":"127926:2:22"}],"functionName":{"name":"mstore","nativeSrc":"127913:6:22","nodeType":"YulIdentifier","src":"127913:6:22"},"nativeSrc":"127913:16:22","nodeType":"YulFunctionCall","src":"127913:16:22"},"nativeSrc":"127913:16:22","nodeType":"YulExpressionStatement","src":"127913:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35381,"isOffset":false,"isSlot":false,"src":"127810:2:22","valueSize":1},{"declaration":35384,"isOffset":false,"isSlot":false,"src":"127839:2:22","valueSize":1},{"declaration":35387,"isOffset":false,"isSlot":false,"src":"127868:2:22","valueSize":1},{"declaration":35390,"isOffset":false,"isSlot":false,"src":"127897:2:22","valueSize":1},{"declaration":35393,"isOffset":false,"isSlot":false,"src":"127926:2:22","valueSize":1}],"id":35401,"nodeType":"InlineAssembly","src":"127774:165:22"}]},"id":35403,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127076:3:22","nodeType":"FunctionDefinition","parameters":{"id":35378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35371,"mutability":"mutable","name":"p0","nameLocation":"127088:2:22","nodeType":"VariableDeclaration","scope":35403,"src":"127080:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35370,"name":"address","nodeType":"ElementaryTypeName","src":"127080:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35373,"mutability":"mutable","name":"p1","nameLocation":"127100:2:22","nodeType":"VariableDeclaration","scope":35403,"src":"127092:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35372,"name":"uint256","nodeType":"ElementaryTypeName","src":"127092:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35375,"mutability":"mutable","name":"p2","nameLocation":"127112:2:22","nodeType":"VariableDeclaration","scope":35403,"src":"127104:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35374,"name":"address","nodeType":"ElementaryTypeName","src":"127104:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35377,"mutability":"mutable","name":"p3","nameLocation":"127124:2:22","nodeType":"VariableDeclaration","scope":35403,"src":"127116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35376,"name":"address","nodeType":"ElementaryTypeName","src":"127116:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"127079:48:22"},"returnParameters":{"id":35379,"nodeType":"ParameterList","parameters":[],"src":"127142:0:22"},"scope":44426,"src":"127067:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35436,"nodeType":"Block","src":"128023:800:22","statements":[{"assignments":[35415],"declarations":[{"constant":false,"id":35415,"mutability":"mutable","name":"m0","nameLocation":"128041:2:22","nodeType":"VariableDeclaration","scope":35436,"src":"128033:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128033:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35416,"nodeType":"VariableDeclarationStatement","src":"128033:10:22"},{"assignments":[35418],"declarations":[{"constant":false,"id":35418,"mutability":"mutable","name":"m1","nameLocation":"128061:2:22","nodeType":"VariableDeclaration","scope":35436,"src":"128053:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128053:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35419,"nodeType":"VariableDeclarationStatement","src":"128053:10:22"},{"assignments":[35421],"declarations":[{"constant":false,"id":35421,"mutability":"mutable","name":"m2","nameLocation":"128081:2:22","nodeType":"VariableDeclaration","scope":35436,"src":"128073:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128073:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35422,"nodeType":"VariableDeclarationStatement","src":"128073:10:22"},{"assignments":[35424],"declarations":[{"constant":false,"id":35424,"mutability":"mutable","name":"m3","nameLocation":"128101:2:22","nodeType":"VariableDeclaration","scope":35436,"src":"128093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128093:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35425,"nodeType":"VariableDeclarationStatement","src":"128093:10:22"},{"assignments":[35427],"declarations":[{"constant":false,"id":35427,"mutability":"mutable","name":"m4","nameLocation":"128121:2:22","nodeType":"VariableDeclaration","scope":35436,"src":"128113:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128113:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35428,"nodeType":"VariableDeclarationStatement","src":"128113:10:22"},{"AST":{"nativeSrc":"128185:378:22","nodeType":"YulBlock","src":"128185:378:22","statements":[{"nativeSrc":"128199:17:22","nodeType":"YulAssignment","src":"128199:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"128211:4:22","nodeType":"YulLiteral","src":"128211:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"128205:5:22","nodeType":"YulIdentifier","src":"128205:5:22"},"nativeSrc":"128205:11:22","nodeType":"YulFunctionCall","src":"128205:11:22"},"variableNames":[{"name":"m0","nativeSrc":"128199:2:22","nodeType":"YulIdentifier","src":"128199:2:22"}]},{"nativeSrc":"128229:17:22","nodeType":"YulAssignment","src":"128229:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"128241:4:22","nodeType":"YulLiteral","src":"128241:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"128235:5:22","nodeType":"YulIdentifier","src":"128235:5:22"},"nativeSrc":"128235:11:22","nodeType":"YulFunctionCall","src":"128235:11:22"},"variableNames":[{"name":"m1","nativeSrc":"128229:2:22","nodeType":"YulIdentifier","src":"128229:2:22"}]},{"nativeSrc":"128259:17:22","nodeType":"YulAssignment","src":"128259:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"128271:4:22","nodeType":"YulLiteral","src":"128271:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"128265:5:22","nodeType":"YulIdentifier","src":"128265:5:22"},"nativeSrc":"128265:11:22","nodeType":"YulFunctionCall","src":"128265:11:22"},"variableNames":[{"name":"m2","nativeSrc":"128259:2:22","nodeType":"YulIdentifier","src":"128259:2:22"}]},{"nativeSrc":"128289:17:22","nodeType":"YulAssignment","src":"128289:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"128301:4:22","nodeType":"YulLiteral","src":"128301:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"128295:5:22","nodeType":"YulIdentifier","src":"128295:5:22"},"nativeSrc":"128295:11:22","nodeType":"YulFunctionCall","src":"128295:11:22"},"variableNames":[{"name":"m3","nativeSrc":"128289:2:22","nodeType":"YulIdentifier","src":"128289:2:22"}]},{"nativeSrc":"128319:17:22","nodeType":"YulAssignment","src":"128319:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"128331:4:22","nodeType":"YulLiteral","src":"128331:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"128325:5:22","nodeType":"YulIdentifier","src":"128325:5:22"},"nativeSrc":"128325:11:22","nodeType":"YulFunctionCall","src":"128325:11:22"},"variableNames":[{"name":"m4","nativeSrc":"128319:2:22","nodeType":"YulIdentifier","src":"128319:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128420:4:22","nodeType":"YulLiteral","src":"128420:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"128426:10:22","nodeType":"YulLiteral","src":"128426:10:22","type":"","value":"0xa1bcc9b3"}],"functionName":{"name":"mstore","nativeSrc":"128413:6:22","nodeType":"YulIdentifier","src":"128413:6:22"},"nativeSrc":"128413:24:22","nodeType":"YulFunctionCall","src":"128413:24:22"},"nativeSrc":"128413:24:22","nodeType":"YulExpressionStatement","src":"128413:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128457:4:22","nodeType":"YulLiteral","src":"128457:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"128463:2:22","nodeType":"YulIdentifier","src":"128463:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128450:6:22","nodeType":"YulIdentifier","src":"128450:6:22"},"nativeSrc":"128450:16:22","nodeType":"YulFunctionCall","src":"128450:16:22"},"nativeSrc":"128450:16:22","nodeType":"YulExpressionStatement","src":"128450:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128486:4:22","nodeType":"YulLiteral","src":"128486:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"128492:2:22","nodeType":"YulIdentifier","src":"128492:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128479:6:22","nodeType":"YulIdentifier","src":"128479:6:22"},"nativeSrc":"128479:16:22","nodeType":"YulFunctionCall","src":"128479:16:22"},"nativeSrc":"128479:16:22","nodeType":"YulExpressionStatement","src":"128479:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128515:4:22","nodeType":"YulLiteral","src":"128515:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"128521:2:22","nodeType":"YulIdentifier","src":"128521:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128508:6:22","nodeType":"YulIdentifier","src":"128508:6:22"},"nativeSrc":"128508:16:22","nodeType":"YulFunctionCall","src":"128508:16:22"},"nativeSrc":"128508:16:22","nodeType":"YulExpressionStatement","src":"128508:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128544:4:22","nodeType":"YulLiteral","src":"128544:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"128550:2:22","nodeType":"YulIdentifier","src":"128550:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128537:6:22","nodeType":"YulIdentifier","src":"128537:6:22"},"nativeSrc":"128537:16:22","nodeType":"YulFunctionCall","src":"128537:16:22"},"nativeSrc":"128537:16:22","nodeType":"YulExpressionStatement","src":"128537:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35415,"isOffset":false,"isSlot":false,"src":"128199:2:22","valueSize":1},{"declaration":35418,"isOffset":false,"isSlot":false,"src":"128229:2:22","valueSize":1},{"declaration":35421,"isOffset":false,"isSlot":false,"src":"128259:2:22","valueSize":1},{"declaration":35424,"isOffset":false,"isSlot":false,"src":"128289:2:22","valueSize":1},{"declaration":35427,"isOffset":false,"isSlot":false,"src":"128319:2:22","valueSize":1},{"declaration":35405,"isOffset":false,"isSlot":false,"src":"128463:2:22","valueSize":1},{"declaration":35407,"isOffset":false,"isSlot":false,"src":"128492:2:22","valueSize":1},{"declaration":35409,"isOffset":false,"isSlot":false,"src":"128521:2:22","valueSize":1},{"declaration":35411,"isOffset":false,"isSlot":false,"src":"128550:2:22","valueSize":1}],"id":35429,"nodeType":"InlineAssembly","src":"128176:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128588:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128594:4:22","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":35430,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"128572:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"128572:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35434,"nodeType":"ExpressionStatement","src":"128572:27:22"},{"AST":{"nativeSrc":"128661:156:22","nodeType":"YulBlock","src":"128661:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"128682:4:22","nodeType":"YulLiteral","src":"128682:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"128688:2:22","nodeType":"YulIdentifier","src":"128688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128675:6:22","nodeType":"YulIdentifier","src":"128675:6:22"},"nativeSrc":"128675:16:22","nodeType":"YulFunctionCall","src":"128675:16:22"},"nativeSrc":"128675:16:22","nodeType":"YulExpressionStatement","src":"128675:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128711:4:22","nodeType":"YulLiteral","src":"128711:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"128717:2:22","nodeType":"YulIdentifier","src":"128717:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128704:6:22","nodeType":"YulIdentifier","src":"128704:6:22"},"nativeSrc":"128704:16:22","nodeType":"YulFunctionCall","src":"128704:16:22"},"nativeSrc":"128704:16:22","nodeType":"YulExpressionStatement","src":"128704:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128740:4:22","nodeType":"YulLiteral","src":"128740:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"128746:2:22","nodeType":"YulIdentifier","src":"128746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128733:6:22","nodeType":"YulIdentifier","src":"128733:6:22"},"nativeSrc":"128733:16:22","nodeType":"YulFunctionCall","src":"128733:16:22"},"nativeSrc":"128733:16:22","nodeType":"YulExpressionStatement","src":"128733:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128769:4:22","nodeType":"YulLiteral","src":"128769:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"128775:2:22","nodeType":"YulIdentifier","src":"128775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128762:6:22","nodeType":"YulIdentifier","src":"128762:6:22"},"nativeSrc":"128762:16:22","nodeType":"YulFunctionCall","src":"128762:16:22"},"nativeSrc":"128762:16:22","nodeType":"YulExpressionStatement","src":"128762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128798:4:22","nodeType":"YulLiteral","src":"128798:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"128804:2:22","nodeType":"YulIdentifier","src":"128804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"128791:6:22","nodeType":"YulIdentifier","src":"128791:6:22"},"nativeSrc":"128791:16:22","nodeType":"YulFunctionCall","src":"128791:16:22"},"nativeSrc":"128791:16:22","nodeType":"YulExpressionStatement","src":"128791:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35415,"isOffset":false,"isSlot":false,"src":"128688:2:22","valueSize":1},{"declaration":35418,"isOffset":false,"isSlot":false,"src":"128717:2:22","valueSize":1},{"declaration":35421,"isOffset":false,"isSlot":false,"src":"128746:2:22","valueSize":1},{"declaration":35424,"isOffset":false,"isSlot":false,"src":"128775:2:22","valueSize":1},{"declaration":35427,"isOffset":false,"isSlot":false,"src":"128804:2:22","valueSize":1}],"id":35435,"nodeType":"InlineAssembly","src":"128652:165:22"}]},"id":35437,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127960:3:22","nodeType":"FunctionDefinition","parameters":{"id":35412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35405,"mutability":"mutable","name":"p0","nameLocation":"127972:2:22","nodeType":"VariableDeclaration","scope":35437,"src":"127964:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35404,"name":"address","nodeType":"ElementaryTypeName","src":"127964:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35407,"mutability":"mutable","name":"p1","nameLocation":"127984:2:22","nodeType":"VariableDeclaration","scope":35437,"src":"127976:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35406,"name":"uint256","nodeType":"ElementaryTypeName","src":"127976:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35409,"mutability":"mutable","name":"p2","nameLocation":"127996:2:22","nodeType":"VariableDeclaration","scope":35437,"src":"127988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35408,"name":"address","nodeType":"ElementaryTypeName","src":"127988:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35411,"mutability":"mutable","name":"p3","nameLocation":"128005:2:22","nodeType":"VariableDeclaration","scope":35437,"src":"128000:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35410,"name":"bool","nodeType":"ElementaryTypeName","src":"128000:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"127963:45:22"},"returnParameters":{"id":35413,"nodeType":"ParameterList","parameters":[],"src":"128023:0:22"},"scope":44426,"src":"127951:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35470,"nodeType":"Block","src":"128904:803:22","statements":[{"assignments":[35449],"declarations":[{"constant":false,"id":35449,"mutability":"mutable","name":"m0","nameLocation":"128922:2:22","nodeType":"VariableDeclaration","scope":35470,"src":"128914:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128914:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35450,"nodeType":"VariableDeclarationStatement","src":"128914:10:22"},{"assignments":[35452],"declarations":[{"constant":false,"id":35452,"mutability":"mutable","name":"m1","nameLocation":"128942:2:22","nodeType":"VariableDeclaration","scope":35470,"src":"128934:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128934:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35453,"nodeType":"VariableDeclarationStatement","src":"128934:10:22"},{"assignments":[35455],"declarations":[{"constant":false,"id":35455,"mutability":"mutable","name":"m2","nameLocation":"128962:2:22","nodeType":"VariableDeclaration","scope":35470,"src":"128954:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128954:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35456,"nodeType":"VariableDeclarationStatement","src":"128954:10:22"},{"assignments":[35458],"declarations":[{"constant":false,"id":35458,"mutability":"mutable","name":"m3","nameLocation":"128982:2:22","nodeType":"VariableDeclaration","scope":35470,"src":"128974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128974:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35459,"nodeType":"VariableDeclarationStatement","src":"128974:10:22"},{"assignments":[35461],"declarations":[{"constant":false,"id":35461,"mutability":"mutable","name":"m4","nameLocation":"129002:2:22","nodeType":"VariableDeclaration","scope":35470,"src":"128994:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128994:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35462,"nodeType":"VariableDeclarationStatement","src":"128994:10:22"},{"AST":{"nativeSrc":"129066:381:22","nodeType":"YulBlock","src":"129066:381:22","statements":[{"nativeSrc":"129080:17:22","nodeType":"YulAssignment","src":"129080:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"129092:4:22","nodeType":"YulLiteral","src":"129092:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"129086:5:22","nodeType":"YulIdentifier","src":"129086:5:22"},"nativeSrc":"129086:11:22","nodeType":"YulFunctionCall","src":"129086:11:22"},"variableNames":[{"name":"m0","nativeSrc":"129080:2:22","nodeType":"YulIdentifier","src":"129080:2:22"}]},{"nativeSrc":"129110:17:22","nodeType":"YulAssignment","src":"129110:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"129122:4:22","nodeType":"YulLiteral","src":"129122:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"129116:5:22","nodeType":"YulIdentifier","src":"129116:5:22"},"nativeSrc":"129116:11:22","nodeType":"YulFunctionCall","src":"129116:11:22"},"variableNames":[{"name":"m1","nativeSrc":"129110:2:22","nodeType":"YulIdentifier","src":"129110:2:22"}]},{"nativeSrc":"129140:17:22","nodeType":"YulAssignment","src":"129140:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"129152:4:22","nodeType":"YulLiteral","src":"129152:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"129146:5:22","nodeType":"YulIdentifier","src":"129146:5:22"},"nativeSrc":"129146:11:22","nodeType":"YulFunctionCall","src":"129146:11:22"},"variableNames":[{"name":"m2","nativeSrc":"129140:2:22","nodeType":"YulIdentifier","src":"129140:2:22"}]},{"nativeSrc":"129170:17:22","nodeType":"YulAssignment","src":"129170:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"129182:4:22","nodeType":"YulLiteral","src":"129182:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"129176:5:22","nodeType":"YulIdentifier","src":"129176:5:22"},"nativeSrc":"129176:11:22","nodeType":"YulFunctionCall","src":"129176:11:22"},"variableNames":[{"name":"m3","nativeSrc":"129170:2:22","nodeType":"YulIdentifier","src":"129170:2:22"}]},{"nativeSrc":"129200:17:22","nodeType":"YulAssignment","src":"129200:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"129212:4:22","nodeType":"YulLiteral","src":"129212:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"129206:5:22","nodeType":"YulIdentifier","src":"129206:5:22"},"nativeSrc":"129206:11:22","nodeType":"YulFunctionCall","src":"129206:11:22"},"variableNames":[{"name":"m4","nativeSrc":"129200:2:22","nodeType":"YulIdentifier","src":"129200:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129304:4:22","nodeType":"YulLiteral","src":"129304:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"129310:10:22","nodeType":"YulLiteral","src":"129310:10:22","type":"","value":"0x100f650e"}],"functionName":{"name":"mstore","nativeSrc":"129297:6:22","nodeType":"YulIdentifier","src":"129297:6:22"},"nativeSrc":"129297:24:22","nodeType":"YulFunctionCall","src":"129297:24:22"},"nativeSrc":"129297:24:22","nodeType":"YulExpressionStatement","src":"129297:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129341:4:22","nodeType":"YulLiteral","src":"129341:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"129347:2:22","nodeType":"YulIdentifier","src":"129347:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129334:6:22","nodeType":"YulIdentifier","src":"129334:6:22"},"nativeSrc":"129334:16:22","nodeType":"YulFunctionCall","src":"129334:16:22"},"nativeSrc":"129334:16:22","nodeType":"YulExpressionStatement","src":"129334:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129370:4:22","nodeType":"YulLiteral","src":"129370:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"129376:2:22","nodeType":"YulIdentifier","src":"129376:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129363:6:22","nodeType":"YulIdentifier","src":"129363:6:22"},"nativeSrc":"129363:16:22","nodeType":"YulFunctionCall","src":"129363:16:22"},"nativeSrc":"129363:16:22","nodeType":"YulExpressionStatement","src":"129363:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129399:4:22","nodeType":"YulLiteral","src":"129399:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"129405:2:22","nodeType":"YulIdentifier","src":"129405:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129392:6:22","nodeType":"YulIdentifier","src":"129392:6:22"},"nativeSrc":"129392:16:22","nodeType":"YulFunctionCall","src":"129392:16:22"},"nativeSrc":"129392:16:22","nodeType":"YulExpressionStatement","src":"129392:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129428:4:22","nodeType":"YulLiteral","src":"129428:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"129434:2:22","nodeType":"YulIdentifier","src":"129434:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129421:6:22","nodeType":"YulIdentifier","src":"129421:6:22"},"nativeSrc":"129421:16:22","nodeType":"YulFunctionCall","src":"129421:16:22"},"nativeSrc":"129421:16:22","nodeType":"YulExpressionStatement","src":"129421:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35449,"isOffset":false,"isSlot":false,"src":"129080:2:22","valueSize":1},{"declaration":35452,"isOffset":false,"isSlot":false,"src":"129110:2:22","valueSize":1},{"declaration":35455,"isOffset":false,"isSlot":false,"src":"129140:2:22","valueSize":1},{"declaration":35458,"isOffset":false,"isSlot":false,"src":"129170:2:22","valueSize":1},{"declaration":35461,"isOffset":false,"isSlot":false,"src":"129200:2:22","valueSize":1},{"declaration":35439,"isOffset":false,"isSlot":false,"src":"129347:2:22","valueSize":1},{"declaration":35441,"isOffset":false,"isSlot":false,"src":"129376:2:22","valueSize":1},{"declaration":35443,"isOffset":false,"isSlot":false,"src":"129405:2:22","valueSize":1},{"declaration":35445,"isOffset":false,"isSlot":false,"src":"129434:2:22","valueSize":1}],"id":35463,"nodeType":"InlineAssembly","src":"129057:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129472:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129478:4:22","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":35464,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"129456:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"129456:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35468,"nodeType":"ExpressionStatement","src":"129456:27:22"},{"AST":{"nativeSrc":"129545:156:22","nodeType":"YulBlock","src":"129545:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"129566:4:22","nodeType":"YulLiteral","src":"129566:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"129572:2:22","nodeType":"YulIdentifier","src":"129572:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129559:6:22","nodeType":"YulIdentifier","src":"129559:6:22"},"nativeSrc":"129559:16:22","nodeType":"YulFunctionCall","src":"129559:16:22"},"nativeSrc":"129559:16:22","nodeType":"YulExpressionStatement","src":"129559:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129595:4:22","nodeType":"YulLiteral","src":"129595:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"129601:2:22","nodeType":"YulIdentifier","src":"129601:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129588:6:22","nodeType":"YulIdentifier","src":"129588:6:22"},"nativeSrc":"129588:16:22","nodeType":"YulFunctionCall","src":"129588:16:22"},"nativeSrc":"129588:16:22","nodeType":"YulExpressionStatement","src":"129588:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129624:4:22","nodeType":"YulLiteral","src":"129624:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"129630:2:22","nodeType":"YulIdentifier","src":"129630:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129617:6:22","nodeType":"YulIdentifier","src":"129617:6:22"},"nativeSrc":"129617:16:22","nodeType":"YulFunctionCall","src":"129617:16:22"},"nativeSrc":"129617:16:22","nodeType":"YulExpressionStatement","src":"129617:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129653:4:22","nodeType":"YulLiteral","src":"129653:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"129659:2:22","nodeType":"YulIdentifier","src":"129659:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129646:6:22","nodeType":"YulIdentifier","src":"129646:6:22"},"nativeSrc":"129646:16:22","nodeType":"YulFunctionCall","src":"129646:16:22"},"nativeSrc":"129646:16:22","nodeType":"YulExpressionStatement","src":"129646:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129682:4:22","nodeType":"YulLiteral","src":"129682:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"129688:2:22","nodeType":"YulIdentifier","src":"129688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"129675:6:22","nodeType":"YulIdentifier","src":"129675:6:22"},"nativeSrc":"129675:16:22","nodeType":"YulFunctionCall","src":"129675:16:22"},"nativeSrc":"129675:16:22","nodeType":"YulExpressionStatement","src":"129675:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35449,"isOffset":false,"isSlot":false,"src":"129572:2:22","valueSize":1},{"declaration":35452,"isOffset":false,"isSlot":false,"src":"129601:2:22","valueSize":1},{"declaration":35455,"isOffset":false,"isSlot":false,"src":"129630:2:22","valueSize":1},{"declaration":35458,"isOffset":false,"isSlot":false,"src":"129659:2:22","valueSize":1},{"declaration":35461,"isOffset":false,"isSlot":false,"src":"129688:2:22","valueSize":1}],"id":35469,"nodeType":"InlineAssembly","src":"129536:165:22"}]},"id":35471,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"128838:3:22","nodeType":"FunctionDefinition","parameters":{"id":35446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35439,"mutability":"mutable","name":"p0","nameLocation":"128850:2:22","nodeType":"VariableDeclaration","scope":35471,"src":"128842:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35438,"name":"address","nodeType":"ElementaryTypeName","src":"128842:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35441,"mutability":"mutable","name":"p1","nameLocation":"128862:2:22","nodeType":"VariableDeclaration","scope":35471,"src":"128854:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35440,"name":"uint256","nodeType":"ElementaryTypeName","src":"128854:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35443,"mutability":"mutable","name":"p2","nameLocation":"128874:2:22","nodeType":"VariableDeclaration","scope":35471,"src":"128866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35442,"name":"address","nodeType":"ElementaryTypeName","src":"128866:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35445,"mutability":"mutable","name":"p3","nameLocation":"128886:2:22","nodeType":"VariableDeclaration","scope":35471,"src":"128878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35444,"name":"uint256","nodeType":"ElementaryTypeName","src":"128878:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"128841:48:22"},"returnParameters":{"id":35447,"nodeType":"ParameterList","parameters":[],"src":"128904:0:22"},"scope":44426,"src":"128829:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35510,"nodeType":"Block","src":"129788:1351:22","statements":[{"assignments":[35483],"declarations":[{"constant":false,"id":35483,"mutability":"mutable","name":"m0","nameLocation":"129806:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129798:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35484,"nodeType":"VariableDeclarationStatement","src":"129798:10:22"},{"assignments":[35486],"declarations":[{"constant":false,"id":35486,"mutability":"mutable","name":"m1","nameLocation":"129826:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129818:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129818:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35487,"nodeType":"VariableDeclarationStatement","src":"129818:10:22"},{"assignments":[35489],"declarations":[{"constant":false,"id":35489,"mutability":"mutable","name":"m2","nameLocation":"129846:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129838:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35490,"nodeType":"VariableDeclarationStatement","src":"129838:10:22"},{"assignments":[35492],"declarations":[{"constant":false,"id":35492,"mutability":"mutable","name":"m3","nameLocation":"129866:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129858:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35493,"nodeType":"VariableDeclarationStatement","src":"129858:10:22"},{"assignments":[35495],"declarations":[{"constant":false,"id":35495,"mutability":"mutable","name":"m4","nameLocation":"129886:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35496,"nodeType":"VariableDeclarationStatement","src":"129878:10:22"},{"assignments":[35498],"declarations":[{"constant":false,"id":35498,"mutability":"mutable","name":"m5","nameLocation":"129906:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129898:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129898:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35499,"nodeType":"VariableDeclarationStatement","src":"129898:10:22"},{"assignments":[35501],"declarations":[{"constant":false,"id":35501,"mutability":"mutable","name":"m6","nameLocation":"129926:2:22","nodeType":"VariableDeclaration","scope":35510,"src":"129918:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129918:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35502,"nodeType":"VariableDeclarationStatement","src":"129918:10:22"},{"AST":{"nativeSrc":"129990:831:22","nodeType":"YulBlock","src":"129990:831:22","statements":[{"body":{"nativeSrc":"130033:313:22","nodeType":"YulBlock","src":"130033:313:22","statements":[{"nativeSrc":"130051:15:22","nodeType":"YulVariableDeclaration","src":"130051:15:22","value":{"kind":"number","nativeSrc":"130065:1:22","nodeType":"YulLiteral","src":"130065:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"130055:6:22","nodeType":"YulTypedName","src":"130055:6:22","type":""}]},{"body":{"nativeSrc":"130136:40:22","nodeType":"YulBlock","src":"130136:40:22","statements":[{"body":{"nativeSrc":"130165:9:22","nodeType":"YulBlock","src":"130165:9:22","statements":[{"nativeSrc":"130167:5:22","nodeType":"YulBreak","src":"130167:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"130153:6:22","nodeType":"YulIdentifier","src":"130153:6:22"},{"name":"w","nativeSrc":"130161:1:22","nodeType":"YulIdentifier","src":"130161:1:22"}],"functionName":{"name":"byte","nativeSrc":"130148:4:22","nodeType":"YulIdentifier","src":"130148:4:22"},"nativeSrc":"130148:15:22","nodeType":"YulFunctionCall","src":"130148:15:22"}],"functionName":{"name":"iszero","nativeSrc":"130141:6:22","nodeType":"YulIdentifier","src":"130141:6:22"},"nativeSrc":"130141:23:22","nodeType":"YulFunctionCall","src":"130141:23:22"},"nativeSrc":"130138:36:22","nodeType":"YulIf","src":"130138:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"130093:6:22","nodeType":"YulIdentifier","src":"130093:6:22"},{"kind":"number","nativeSrc":"130101:4:22","nodeType":"YulLiteral","src":"130101:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"130090:2:22","nodeType":"YulIdentifier","src":"130090:2:22"},"nativeSrc":"130090:16:22","nodeType":"YulFunctionCall","src":"130090:16:22"},"nativeSrc":"130083:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"130107:28:22","nodeType":"YulBlock","src":"130107:28:22","statements":[{"nativeSrc":"130109:24:22","nodeType":"YulAssignment","src":"130109:24:22","value":{"arguments":[{"name":"length","nativeSrc":"130123:6:22","nodeType":"YulIdentifier","src":"130123:6:22"},{"kind":"number","nativeSrc":"130131:1:22","nodeType":"YulLiteral","src":"130131:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"130119:3:22","nodeType":"YulIdentifier","src":"130119:3:22"},"nativeSrc":"130119:14:22","nodeType":"YulFunctionCall","src":"130119:14:22"},"variableNames":[{"name":"length","nativeSrc":"130109:6:22","nodeType":"YulIdentifier","src":"130109:6:22"}]}]},"pre":{"nativeSrc":"130087:2:22","nodeType":"YulBlock","src":"130087:2:22","statements":[]},"src":"130083:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"130200:3:22","nodeType":"YulIdentifier","src":"130200:3:22"},{"name":"length","nativeSrc":"130205:6:22","nodeType":"YulIdentifier","src":"130205:6:22"}],"functionName":{"name":"mstore","nativeSrc":"130193:6:22","nodeType":"YulIdentifier","src":"130193:6:22"},"nativeSrc":"130193:19:22","nodeType":"YulFunctionCall","src":"130193:19:22"},"nativeSrc":"130193:19:22","nodeType":"YulExpressionStatement","src":"130193:19:22"},{"nativeSrc":"130229:37:22","nodeType":"YulVariableDeclaration","src":"130229:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"130246:3:22","nodeType":"YulLiteral","src":"130246:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"130255:1:22","nodeType":"YulLiteral","src":"130255:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"130258:6:22","nodeType":"YulIdentifier","src":"130258:6:22"}],"functionName":{"name":"shl","nativeSrc":"130251:3:22","nodeType":"YulIdentifier","src":"130251:3:22"},"nativeSrc":"130251:14:22","nodeType":"YulFunctionCall","src":"130251:14:22"}],"functionName":{"name":"sub","nativeSrc":"130242:3:22","nodeType":"YulIdentifier","src":"130242:3:22"},"nativeSrc":"130242:24:22","nodeType":"YulFunctionCall","src":"130242:24:22"},"variables":[{"name":"shift","nativeSrc":"130233:5:22","nodeType":"YulTypedName","src":"130233:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"130294:3:22","nodeType":"YulIdentifier","src":"130294:3:22"},{"kind":"number","nativeSrc":"130299:4:22","nodeType":"YulLiteral","src":"130299:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"130290:3:22","nodeType":"YulIdentifier","src":"130290:3:22"},"nativeSrc":"130290:14:22","nodeType":"YulFunctionCall","src":"130290:14:22"},{"arguments":[{"name":"shift","nativeSrc":"130310:5:22","nodeType":"YulIdentifier","src":"130310:5:22"},{"arguments":[{"name":"shift","nativeSrc":"130321:5:22","nodeType":"YulIdentifier","src":"130321:5:22"},{"name":"w","nativeSrc":"130328:1:22","nodeType":"YulIdentifier","src":"130328:1:22"}],"functionName":{"name":"shr","nativeSrc":"130317:3:22","nodeType":"YulIdentifier","src":"130317:3:22"},"nativeSrc":"130317:13:22","nodeType":"YulFunctionCall","src":"130317:13:22"}],"functionName":{"name":"shl","nativeSrc":"130306:3:22","nodeType":"YulIdentifier","src":"130306:3:22"},"nativeSrc":"130306:25:22","nodeType":"YulFunctionCall","src":"130306:25:22"}],"functionName":{"name":"mstore","nativeSrc":"130283:6:22","nodeType":"YulIdentifier","src":"130283:6:22"},"nativeSrc":"130283:49:22","nodeType":"YulFunctionCall","src":"130283:49:22"},"nativeSrc":"130283:49:22","nodeType":"YulExpressionStatement","src":"130283:49:22"}]},"name":"writeString","nativeSrc":"130004:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"130025:3:22","nodeType":"YulTypedName","src":"130025:3:22","type":""},{"name":"w","nativeSrc":"130030:1:22","nodeType":"YulTypedName","src":"130030:1:22","type":""}],"src":"130004:342:22"},{"nativeSrc":"130359:17:22","nodeType":"YulAssignment","src":"130359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130371:4:22","nodeType":"YulLiteral","src":"130371:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"130365:5:22","nodeType":"YulIdentifier","src":"130365:5:22"},"nativeSrc":"130365:11:22","nodeType":"YulFunctionCall","src":"130365:11:22"},"variableNames":[{"name":"m0","nativeSrc":"130359:2:22","nodeType":"YulIdentifier","src":"130359:2:22"}]},{"nativeSrc":"130389:17:22","nodeType":"YulAssignment","src":"130389:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130401:4:22","nodeType":"YulLiteral","src":"130401:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"130395:5:22","nodeType":"YulIdentifier","src":"130395:5:22"},"nativeSrc":"130395:11:22","nodeType":"YulFunctionCall","src":"130395:11:22"},"variableNames":[{"name":"m1","nativeSrc":"130389:2:22","nodeType":"YulIdentifier","src":"130389:2:22"}]},{"nativeSrc":"130419:17:22","nodeType":"YulAssignment","src":"130419:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130431:4:22","nodeType":"YulLiteral","src":"130431:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"130425:5:22","nodeType":"YulIdentifier","src":"130425:5:22"},"nativeSrc":"130425:11:22","nodeType":"YulFunctionCall","src":"130425:11:22"},"variableNames":[{"name":"m2","nativeSrc":"130419:2:22","nodeType":"YulIdentifier","src":"130419:2:22"}]},{"nativeSrc":"130449:17:22","nodeType":"YulAssignment","src":"130449:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130461:4:22","nodeType":"YulLiteral","src":"130461:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"130455:5:22","nodeType":"YulIdentifier","src":"130455:5:22"},"nativeSrc":"130455:11:22","nodeType":"YulFunctionCall","src":"130455:11:22"},"variableNames":[{"name":"m3","nativeSrc":"130449:2:22","nodeType":"YulIdentifier","src":"130449:2:22"}]},{"nativeSrc":"130479:17:22","nodeType":"YulAssignment","src":"130479:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130491:4:22","nodeType":"YulLiteral","src":"130491:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"130485:5:22","nodeType":"YulIdentifier","src":"130485:5:22"},"nativeSrc":"130485:11:22","nodeType":"YulFunctionCall","src":"130485:11:22"},"variableNames":[{"name":"m4","nativeSrc":"130479:2:22","nodeType":"YulIdentifier","src":"130479:2:22"}]},{"nativeSrc":"130509:17:22","nodeType":"YulAssignment","src":"130509:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130521:4:22","nodeType":"YulLiteral","src":"130521:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"130515:5:22","nodeType":"YulIdentifier","src":"130515:5:22"},"nativeSrc":"130515:11:22","nodeType":"YulFunctionCall","src":"130515:11:22"},"variableNames":[{"name":"m5","nativeSrc":"130509:2:22","nodeType":"YulIdentifier","src":"130509:2:22"}]},{"nativeSrc":"130539:17:22","nodeType":"YulAssignment","src":"130539:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"130551:4:22","nodeType":"YulLiteral","src":"130551:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"130545:5:22","nodeType":"YulIdentifier","src":"130545:5:22"},"nativeSrc":"130545:11:22","nodeType":"YulFunctionCall","src":"130545:11:22"},"variableNames":[{"name":"m6","nativeSrc":"130539:2:22","nodeType":"YulIdentifier","src":"130539:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130642:4:22","nodeType":"YulLiteral","src":"130642:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"130648:10:22","nodeType":"YulLiteral","src":"130648:10:22","type":"","value":"0x1da986ea"}],"functionName":{"name":"mstore","nativeSrc":"130635:6:22","nodeType":"YulIdentifier","src":"130635:6:22"},"nativeSrc":"130635:24:22","nodeType":"YulFunctionCall","src":"130635:24:22"},"nativeSrc":"130635:24:22","nodeType":"YulExpressionStatement","src":"130635:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130679:4:22","nodeType":"YulLiteral","src":"130679:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"130685:2:22","nodeType":"YulIdentifier","src":"130685:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130672:6:22","nodeType":"YulIdentifier","src":"130672:6:22"},"nativeSrc":"130672:16:22","nodeType":"YulFunctionCall","src":"130672:16:22"},"nativeSrc":"130672:16:22","nodeType":"YulExpressionStatement","src":"130672:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130708:4:22","nodeType":"YulLiteral","src":"130708:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"130714:2:22","nodeType":"YulIdentifier","src":"130714:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130701:6:22","nodeType":"YulIdentifier","src":"130701:6:22"},"nativeSrc":"130701:16:22","nodeType":"YulFunctionCall","src":"130701:16:22"},"nativeSrc":"130701:16:22","nodeType":"YulExpressionStatement","src":"130701:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130737:4:22","nodeType":"YulLiteral","src":"130737:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"130743:2:22","nodeType":"YulIdentifier","src":"130743:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130730:6:22","nodeType":"YulIdentifier","src":"130730:6:22"},"nativeSrc":"130730:16:22","nodeType":"YulFunctionCall","src":"130730:16:22"},"nativeSrc":"130730:16:22","nodeType":"YulExpressionStatement","src":"130730:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130766:4:22","nodeType":"YulLiteral","src":"130766:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"130772:4:22","nodeType":"YulLiteral","src":"130772:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"130759:6:22","nodeType":"YulIdentifier","src":"130759:6:22"},"nativeSrc":"130759:18:22","nodeType":"YulFunctionCall","src":"130759:18:22"},"nativeSrc":"130759:18:22","nodeType":"YulExpressionStatement","src":"130759:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130802:4:22","nodeType":"YulLiteral","src":"130802:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"130808:2:22","nodeType":"YulIdentifier","src":"130808:2:22"}],"functionName":{"name":"writeString","nativeSrc":"130790:11:22","nodeType":"YulIdentifier","src":"130790:11:22"},"nativeSrc":"130790:21:22","nodeType":"YulFunctionCall","src":"130790:21:22"},"nativeSrc":"130790:21:22","nodeType":"YulExpressionStatement","src":"130790:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35483,"isOffset":false,"isSlot":false,"src":"130359:2:22","valueSize":1},{"declaration":35486,"isOffset":false,"isSlot":false,"src":"130389:2:22","valueSize":1},{"declaration":35489,"isOffset":false,"isSlot":false,"src":"130419:2:22","valueSize":1},{"declaration":35492,"isOffset":false,"isSlot":false,"src":"130449:2:22","valueSize":1},{"declaration":35495,"isOffset":false,"isSlot":false,"src":"130479:2:22","valueSize":1},{"declaration":35498,"isOffset":false,"isSlot":false,"src":"130509:2:22","valueSize":1},{"declaration":35501,"isOffset":false,"isSlot":false,"src":"130539:2:22","valueSize":1},{"declaration":35473,"isOffset":false,"isSlot":false,"src":"130685:2:22","valueSize":1},{"declaration":35475,"isOffset":false,"isSlot":false,"src":"130714:2:22","valueSize":1},{"declaration":35477,"isOffset":false,"isSlot":false,"src":"130743:2:22","valueSize":1},{"declaration":35479,"isOffset":false,"isSlot":false,"src":"130808:2:22","valueSize":1}],"id":35503,"nodeType":"InlineAssembly","src":"129981:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130846:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130852:4:22","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":35504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"130830:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"130830:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35508,"nodeType":"ExpressionStatement","src":"130830:27:22"},{"AST":{"nativeSrc":"130919:214:22","nodeType":"YulBlock","src":"130919:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"130940:4:22","nodeType":"YulLiteral","src":"130940:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"130946:2:22","nodeType":"YulIdentifier","src":"130946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130933:6:22","nodeType":"YulIdentifier","src":"130933:6:22"},"nativeSrc":"130933:16:22","nodeType":"YulFunctionCall","src":"130933:16:22"},"nativeSrc":"130933:16:22","nodeType":"YulExpressionStatement","src":"130933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130969:4:22","nodeType":"YulLiteral","src":"130969:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"130975:2:22","nodeType":"YulIdentifier","src":"130975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130962:6:22","nodeType":"YulIdentifier","src":"130962:6:22"},"nativeSrc":"130962:16:22","nodeType":"YulFunctionCall","src":"130962:16:22"},"nativeSrc":"130962:16:22","nodeType":"YulExpressionStatement","src":"130962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130998:4:22","nodeType":"YulLiteral","src":"130998:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131004:2:22","nodeType":"YulIdentifier","src":"131004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"130991:6:22","nodeType":"YulIdentifier","src":"130991:6:22"},"nativeSrc":"130991:16:22","nodeType":"YulFunctionCall","src":"130991:16:22"},"nativeSrc":"130991:16:22","nodeType":"YulExpressionStatement","src":"130991:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131027:4:22","nodeType":"YulLiteral","src":"131027:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131033:2:22","nodeType":"YulIdentifier","src":"131033:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131020:6:22","nodeType":"YulIdentifier","src":"131020:6:22"},"nativeSrc":"131020:16:22","nodeType":"YulFunctionCall","src":"131020:16:22"},"nativeSrc":"131020:16:22","nodeType":"YulExpressionStatement","src":"131020:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131056:4:22","nodeType":"YulLiteral","src":"131056:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131062:2:22","nodeType":"YulIdentifier","src":"131062:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131049:6:22","nodeType":"YulIdentifier","src":"131049:6:22"},"nativeSrc":"131049:16:22","nodeType":"YulFunctionCall","src":"131049:16:22"},"nativeSrc":"131049:16:22","nodeType":"YulExpressionStatement","src":"131049:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131085:4:22","nodeType":"YulLiteral","src":"131085:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"131091:2:22","nodeType":"YulIdentifier","src":"131091:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131078:6:22","nodeType":"YulIdentifier","src":"131078:6:22"},"nativeSrc":"131078:16:22","nodeType":"YulFunctionCall","src":"131078:16:22"},"nativeSrc":"131078:16:22","nodeType":"YulExpressionStatement","src":"131078:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131114:4:22","nodeType":"YulLiteral","src":"131114:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"131120:2:22","nodeType":"YulIdentifier","src":"131120:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131107:6:22","nodeType":"YulIdentifier","src":"131107:6:22"},"nativeSrc":"131107:16:22","nodeType":"YulFunctionCall","src":"131107:16:22"},"nativeSrc":"131107:16:22","nodeType":"YulExpressionStatement","src":"131107:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35483,"isOffset":false,"isSlot":false,"src":"130946:2:22","valueSize":1},{"declaration":35486,"isOffset":false,"isSlot":false,"src":"130975:2:22","valueSize":1},{"declaration":35489,"isOffset":false,"isSlot":false,"src":"131004:2:22","valueSize":1},{"declaration":35492,"isOffset":false,"isSlot":false,"src":"131033:2:22","valueSize":1},{"declaration":35495,"isOffset":false,"isSlot":false,"src":"131062:2:22","valueSize":1},{"declaration":35498,"isOffset":false,"isSlot":false,"src":"131091:2:22","valueSize":1},{"declaration":35501,"isOffset":false,"isSlot":false,"src":"131120:2:22","valueSize":1}],"id":35509,"nodeType":"InlineAssembly","src":"130910:223:22"}]},"id":35511,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"129722:3:22","nodeType":"FunctionDefinition","parameters":{"id":35480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35473,"mutability":"mutable","name":"p0","nameLocation":"129734:2:22","nodeType":"VariableDeclaration","scope":35511,"src":"129726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35472,"name":"address","nodeType":"ElementaryTypeName","src":"129726:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35475,"mutability":"mutable","name":"p1","nameLocation":"129746:2:22","nodeType":"VariableDeclaration","scope":35511,"src":"129738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35474,"name":"uint256","nodeType":"ElementaryTypeName","src":"129738:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35477,"mutability":"mutable","name":"p2","nameLocation":"129758:2:22","nodeType":"VariableDeclaration","scope":35511,"src":"129750:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35476,"name":"address","nodeType":"ElementaryTypeName","src":"129750:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35479,"mutability":"mutable","name":"p3","nameLocation":"129770:2:22","nodeType":"VariableDeclaration","scope":35511,"src":"129762:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129762:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"129725:48:22"},"returnParameters":{"id":35481,"nodeType":"ParameterList","parameters":[],"src":"129788:0:22"},"scope":44426,"src":"129713:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35544,"nodeType":"Block","src":"131217:800:22","statements":[{"assignments":[35523],"declarations":[{"constant":false,"id":35523,"mutability":"mutable","name":"m0","nameLocation":"131235:2:22","nodeType":"VariableDeclaration","scope":35544,"src":"131227:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131227:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35524,"nodeType":"VariableDeclarationStatement","src":"131227:10:22"},{"assignments":[35526],"declarations":[{"constant":false,"id":35526,"mutability":"mutable","name":"m1","nameLocation":"131255:2:22","nodeType":"VariableDeclaration","scope":35544,"src":"131247:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131247:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35527,"nodeType":"VariableDeclarationStatement","src":"131247:10:22"},{"assignments":[35529],"declarations":[{"constant":false,"id":35529,"mutability":"mutable","name":"m2","nameLocation":"131275:2:22","nodeType":"VariableDeclaration","scope":35544,"src":"131267:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131267:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35530,"nodeType":"VariableDeclarationStatement","src":"131267:10:22"},{"assignments":[35532],"declarations":[{"constant":false,"id":35532,"mutability":"mutable","name":"m3","nameLocation":"131295:2:22","nodeType":"VariableDeclaration","scope":35544,"src":"131287:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131287:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35533,"nodeType":"VariableDeclarationStatement","src":"131287:10:22"},{"assignments":[35535],"declarations":[{"constant":false,"id":35535,"mutability":"mutable","name":"m4","nameLocation":"131315:2:22","nodeType":"VariableDeclaration","scope":35544,"src":"131307:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131307:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35536,"nodeType":"VariableDeclarationStatement","src":"131307:10:22"},{"AST":{"nativeSrc":"131379:378:22","nodeType":"YulBlock","src":"131379:378:22","statements":[{"nativeSrc":"131393:17:22","nodeType":"YulAssignment","src":"131393:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"131405:4:22","nodeType":"YulLiteral","src":"131405:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"131399:5:22","nodeType":"YulIdentifier","src":"131399:5:22"},"nativeSrc":"131399:11:22","nodeType":"YulFunctionCall","src":"131399:11:22"},"variableNames":[{"name":"m0","nativeSrc":"131393:2:22","nodeType":"YulIdentifier","src":"131393:2:22"}]},{"nativeSrc":"131423:17:22","nodeType":"YulAssignment","src":"131423:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"131435:4:22","nodeType":"YulLiteral","src":"131435:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"131429:5:22","nodeType":"YulIdentifier","src":"131429:5:22"},"nativeSrc":"131429:11:22","nodeType":"YulFunctionCall","src":"131429:11:22"},"variableNames":[{"name":"m1","nativeSrc":"131423:2:22","nodeType":"YulIdentifier","src":"131423:2:22"}]},{"nativeSrc":"131453:17:22","nodeType":"YulAssignment","src":"131453:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"131465:4:22","nodeType":"YulLiteral","src":"131465:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"131459:5:22","nodeType":"YulIdentifier","src":"131459:5:22"},"nativeSrc":"131459:11:22","nodeType":"YulFunctionCall","src":"131459:11:22"},"variableNames":[{"name":"m2","nativeSrc":"131453:2:22","nodeType":"YulIdentifier","src":"131453:2:22"}]},{"nativeSrc":"131483:17:22","nodeType":"YulAssignment","src":"131483:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"131495:4:22","nodeType":"YulLiteral","src":"131495:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"131489:5:22","nodeType":"YulIdentifier","src":"131489:5:22"},"nativeSrc":"131489:11:22","nodeType":"YulFunctionCall","src":"131489:11:22"},"variableNames":[{"name":"m3","nativeSrc":"131483:2:22","nodeType":"YulIdentifier","src":"131483:2:22"}]},{"nativeSrc":"131513:17:22","nodeType":"YulAssignment","src":"131513:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"131525:4:22","nodeType":"YulLiteral","src":"131525:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"131519:5:22","nodeType":"YulIdentifier","src":"131519:5:22"},"nativeSrc":"131519:11:22","nodeType":"YulFunctionCall","src":"131519:11:22"},"variableNames":[{"name":"m4","nativeSrc":"131513:2:22","nodeType":"YulIdentifier","src":"131513:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131614:4:22","nodeType":"YulLiteral","src":"131614:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"131620:10:22","nodeType":"YulLiteral","src":"131620:10:22","type":"","value":"0xa31bfdcc"}],"functionName":{"name":"mstore","nativeSrc":"131607:6:22","nodeType":"YulIdentifier","src":"131607:6:22"},"nativeSrc":"131607:24:22","nodeType":"YulFunctionCall","src":"131607:24:22"},"nativeSrc":"131607:24:22","nodeType":"YulExpressionStatement","src":"131607:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131651:4:22","nodeType":"YulLiteral","src":"131651:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"131657:2:22","nodeType":"YulIdentifier","src":"131657:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131644:6:22","nodeType":"YulIdentifier","src":"131644:6:22"},"nativeSrc":"131644:16:22","nodeType":"YulFunctionCall","src":"131644:16:22"},"nativeSrc":"131644:16:22","nodeType":"YulExpressionStatement","src":"131644:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131680:4:22","nodeType":"YulLiteral","src":"131680:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"131686:2:22","nodeType":"YulIdentifier","src":"131686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131673:6:22","nodeType":"YulIdentifier","src":"131673:6:22"},"nativeSrc":"131673:16:22","nodeType":"YulFunctionCall","src":"131673:16:22"},"nativeSrc":"131673:16:22","nodeType":"YulExpressionStatement","src":"131673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131709:4:22","nodeType":"YulLiteral","src":"131709:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"131715:2:22","nodeType":"YulIdentifier","src":"131715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131702:6:22","nodeType":"YulIdentifier","src":"131702:6:22"},"nativeSrc":"131702:16:22","nodeType":"YulFunctionCall","src":"131702:16:22"},"nativeSrc":"131702:16:22","nodeType":"YulExpressionStatement","src":"131702:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131738:4:22","nodeType":"YulLiteral","src":"131738:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"131744:2:22","nodeType":"YulIdentifier","src":"131744:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131731:6:22","nodeType":"YulIdentifier","src":"131731:6:22"},"nativeSrc":"131731:16:22","nodeType":"YulFunctionCall","src":"131731:16:22"},"nativeSrc":"131731:16:22","nodeType":"YulExpressionStatement","src":"131731:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35523,"isOffset":false,"isSlot":false,"src":"131393:2:22","valueSize":1},{"declaration":35526,"isOffset":false,"isSlot":false,"src":"131423:2:22","valueSize":1},{"declaration":35529,"isOffset":false,"isSlot":false,"src":"131453:2:22","valueSize":1},{"declaration":35532,"isOffset":false,"isSlot":false,"src":"131483:2:22","valueSize":1},{"declaration":35535,"isOffset":false,"isSlot":false,"src":"131513:2:22","valueSize":1},{"declaration":35513,"isOffset":false,"isSlot":false,"src":"131657:2:22","valueSize":1},{"declaration":35515,"isOffset":false,"isSlot":false,"src":"131686:2:22","valueSize":1},{"declaration":35517,"isOffset":false,"isSlot":false,"src":"131715:2:22","valueSize":1},{"declaration":35519,"isOffset":false,"isSlot":false,"src":"131744:2:22","valueSize":1}],"id":35537,"nodeType":"InlineAssembly","src":"131370:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131782:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131788:4:22","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":35538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"131766:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"131766:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35542,"nodeType":"ExpressionStatement","src":"131766:27:22"},{"AST":{"nativeSrc":"131855:156:22","nodeType":"YulBlock","src":"131855:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"131876:4:22","nodeType":"YulLiteral","src":"131876:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"131882:2:22","nodeType":"YulIdentifier","src":"131882:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131869:6:22","nodeType":"YulIdentifier","src":"131869:6:22"},"nativeSrc":"131869:16:22","nodeType":"YulFunctionCall","src":"131869:16:22"},"nativeSrc":"131869:16:22","nodeType":"YulExpressionStatement","src":"131869:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131905:4:22","nodeType":"YulLiteral","src":"131905:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"131911:2:22","nodeType":"YulIdentifier","src":"131911:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131898:6:22","nodeType":"YulIdentifier","src":"131898:6:22"},"nativeSrc":"131898:16:22","nodeType":"YulFunctionCall","src":"131898:16:22"},"nativeSrc":"131898:16:22","nodeType":"YulExpressionStatement","src":"131898:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131934:4:22","nodeType":"YulLiteral","src":"131934:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131940:2:22","nodeType":"YulIdentifier","src":"131940:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131927:6:22","nodeType":"YulIdentifier","src":"131927:6:22"},"nativeSrc":"131927:16:22","nodeType":"YulFunctionCall","src":"131927:16:22"},"nativeSrc":"131927:16:22","nodeType":"YulExpressionStatement","src":"131927:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131963:4:22","nodeType":"YulLiteral","src":"131963:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131969:2:22","nodeType":"YulIdentifier","src":"131969:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131956:6:22","nodeType":"YulIdentifier","src":"131956:6:22"},"nativeSrc":"131956:16:22","nodeType":"YulFunctionCall","src":"131956:16:22"},"nativeSrc":"131956:16:22","nodeType":"YulExpressionStatement","src":"131956:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131992:4:22","nodeType":"YulLiteral","src":"131992:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131998:2:22","nodeType":"YulIdentifier","src":"131998:2:22"}],"functionName":{"name":"mstore","nativeSrc":"131985:6:22","nodeType":"YulIdentifier","src":"131985:6:22"},"nativeSrc":"131985:16:22","nodeType":"YulFunctionCall","src":"131985:16:22"},"nativeSrc":"131985:16:22","nodeType":"YulExpressionStatement","src":"131985:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35523,"isOffset":false,"isSlot":false,"src":"131882:2:22","valueSize":1},{"declaration":35526,"isOffset":false,"isSlot":false,"src":"131911:2:22","valueSize":1},{"declaration":35529,"isOffset":false,"isSlot":false,"src":"131940:2:22","valueSize":1},{"declaration":35532,"isOffset":false,"isSlot":false,"src":"131969:2:22","valueSize":1},{"declaration":35535,"isOffset":false,"isSlot":false,"src":"131998:2:22","valueSize":1}],"id":35543,"nodeType":"InlineAssembly","src":"131846:165:22"}]},"id":35545,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"131154:3:22","nodeType":"FunctionDefinition","parameters":{"id":35520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35513,"mutability":"mutable","name":"p0","nameLocation":"131166:2:22","nodeType":"VariableDeclaration","scope":35545,"src":"131158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35512,"name":"address","nodeType":"ElementaryTypeName","src":"131158:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35515,"mutability":"mutable","name":"p1","nameLocation":"131178:2:22","nodeType":"VariableDeclaration","scope":35545,"src":"131170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35514,"name":"uint256","nodeType":"ElementaryTypeName","src":"131170:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35517,"mutability":"mutable","name":"p2","nameLocation":"131187:2:22","nodeType":"VariableDeclaration","scope":35545,"src":"131182:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35516,"name":"bool","nodeType":"ElementaryTypeName","src":"131182:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35519,"mutability":"mutable","name":"p3","nameLocation":"131199:2:22","nodeType":"VariableDeclaration","scope":35545,"src":"131191:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35518,"name":"address","nodeType":"ElementaryTypeName","src":"131191:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"131157:45:22"},"returnParameters":{"id":35521,"nodeType":"ParameterList","parameters":[],"src":"131217:0:22"},"scope":44426,"src":"131145:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35578,"nodeType":"Block","src":"132092:797:22","statements":[{"assignments":[35557],"declarations":[{"constant":false,"id":35557,"mutability":"mutable","name":"m0","nameLocation":"132110:2:22","nodeType":"VariableDeclaration","scope":35578,"src":"132102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132102:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35558,"nodeType":"VariableDeclarationStatement","src":"132102:10:22"},{"assignments":[35560],"declarations":[{"constant":false,"id":35560,"mutability":"mutable","name":"m1","nameLocation":"132130:2:22","nodeType":"VariableDeclaration","scope":35578,"src":"132122:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132122:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35561,"nodeType":"VariableDeclarationStatement","src":"132122:10:22"},{"assignments":[35563],"declarations":[{"constant":false,"id":35563,"mutability":"mutable","name":"m2","nameLocation":"132150:2:22","nodeType":"VariableDeclaration","scope":35578,"src":"132142:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132142:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35564,"nodeType":"VariableDeclarationStatement","src":"132142:10:22"},{"assignments":[35566],"declarations":[{"constant":false,"id":35566,"mutability":"mutable","name":"m3","nameLocation":"132170:2:22","nodeType":"VariableDeclaration","scope":35578,"src":"132162:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132162:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35567,"nodeType":"VariableDeclarationStatement","src":"132162:10:22"},{"assignments":[35569],"declarations":[{"constant":false,"id":35569,"mutability":"mutable","name":"m4","nameLocation":"132190:2:22","nodeType":"VariableDeclaration","scope":35578,"src":"132182:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132182:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35570,"nodeType":"VariableDeclarationStatement","src":"132182:10:22"},{"AST":{"nativeSrc":"132254:375:22","nodeType":"YulBlock","src":"132254:375:22","statements":[{"nativeSrc":"132268:17:22","nodeType":"YulAssignment","src":"132268:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"132280:4:22","nodeType":"YulLiteral","src":"132280:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"132274:5:22","nodeType":"YulIdentifier","src":"132274:5:22"},"nativeSrc":"132274:11:22","nodeType":"YulFunctionCall","src":"132274:11:22"},"variableNames":[{"name":"m0","nativeSrc":"132268:2:22","nodeType":"YulIdentifier","src":"132268:2:22"}]},{"nativeSrc":"132298:17:22","nodeType":"YulAssignment","src":"132298:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"132310:4:22","nodeType":"YulLiteral","src":"132310:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"132304:5:22","nodeType":"YulIdentifier","src":"132304:5:22"},"nativeSrc":"132304:11:22","nodeType":"YulFunctionCall","src":"132304:11:22"},"variableNames":[{"name":"m1","nativeSrc":"132298:2:22","nodeType":"YulIdentifier","src":"132298:2:22"}]},{"nativeSrc":"132328:17:22","nodeType":"YulAssignment","src":"132328:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"132340:4:22","nodeType":"YulLiteral","src":"132340:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"132334:5:22","nodeType":"YulIdentifier","src":"132334:5:22"},"nativeSrc":"132334:11:22","nodeType":"YulFunctionCall","src":"132334:11:22"},"variableNames":[{"name":"m2","nativeSrc":"132328:2:22","nodeType":"YulIdentifier","src":"132328:2:22"}]},{"nativeSrc":"132358:17:22","nodeType":"YulAssignment","src":"132358:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"132370:4:22","nodeType":"YulLiteral","src":"132370:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"132364:5:22","nodeType":"YulIdentifier","src":"132364:5:22"},"nativeSrc":"132364:11:22","nodeType":"YulFunctionCall","src":"132364:11:22"},"variableNames":[{"name":"m3","nativeSrc":"132358:2:22","nodeType":"YulIdentifier","src":"132358:2:22"}]},{"nativeSrc":"132388:17:22","nodeType":"YulAssignment","src":"132388:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"132400:4:22","nodeType":"YulLiteral","src":"132400:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"132394:5:22","nodeType":"YulIdentifier","src":"132394:5:22"},"nativeSrc":"132394:11:22","nodeType":"YulFunctionCall","src":"132394:11:22"},"variableNames":[{"name":"m4","nativeSrc":"132388:2:22","nodeType":"YulIdentifier","src":"132388:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132486:4:22","nodeType":"YulLiteral","src":"132486:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"132492:10:22","nodeType":"YulLiteral","src":"132492:10:22","type":"","value":"0x3bf5e537"}],"functionName":{"name":"mstore","nativeSrc":"132479:6:22","nodeType":"YulIdentifier","src":"132479:6:22"},"nativeSrc":"132479:24:22","nodeType":"YulFunctionCall","src":"132479:24:22"},"nativeSrc":"132479:24:22","nodeType":"YulExpressionStatement","src":"132479:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132523:4:22","nodeType":"YulLiteral","src":"132523:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"132529:2:22","nodeType":"YulIdentifier","src":"132529:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132516:6:22","nodeType":"YulIdentifier","src":"132516:6:22"},"nativeSrc":"132516:16:22","nodeType":"YulFunctionCall","src":"132516:16:22"},"nativeSrc":"132516:16:22","nodeType":"YulExpressionStatement","src":"132516:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132552:4:22","nodeType":"YulLiteral","src":"132552:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"132558:2:22","nodeType":"YulIdentifier","src":"132558:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132545:6:22","nodeType":"YulIdentifier","src":"132545:6:22"},"nativeSrc":"132545:16:22","nodeType":"YulFunctionCall","src":"132545:16:22"},"nativeSrc":"132545:16:22","nodeType":"YulExpressionStatement","src":"132545:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132581:4:22","nodeType":"YulLiteral","src":"132581:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"132587:2:22","nodeType":"YulIdentifier","src":"132587:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132574:6:22","nodeType":"YulIdentifier","src":"132574:6:22"},"nativeSrc":"132574:16:22","nodeType":"YulFunctionCall","src":"132574:16:22"},"nativeSrc":"132574:16:22","nodeType":"YulExpressionStatement","src":"132574:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132610:4:22","nodeType":"YulLiteral","src":"132610:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"132616:2:22","nodeType":"YulIdentifier","src":"132616:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132603:6:22","nodeType":"YulIdentifier","src":"132603:6:22"},"nativeSrc":"132603:16:22","nodeType":"YulFunctionCall","src":"132603:16:22"},"nativeSrc":"132603:16:22","nodeType":"YulExpressionStatement","src":"132603:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35557,"isOffset":false,"isSlot":false,"src":"132268:2:22","valueSize":1},{"declaration":35560,"isOffset":false,"isSlot":false,"src":"132298:2:22","valueSize":1},{"declaration":35563,"isOffset":false,"isSlot":false,"src":"132328:2:22","valueSize":1},{"declaration":35566,"isOffset":false,"isSlot":false,"src":"132358:2:22","valueSize":1},{"declaration":35569,"isOffset":false,"isSlot":false,"src":"132388:2:22","valueSize":1},{"declaration":35547,"isOffset":false,"isSlot":false,"src":"132529:2:22","valueSize":1},{"declaration":35549,"isOffset":false,"isSlot":false,"src":"132558:2:22","valueSize":1},{"declaration":35551,"isOffset":false,"isSlot":false,"src":"132587:2:22","valueSize":1},{"declaration":35553,"isOffset":false,"isSlot":false,"src":"132616:2:22","valueSize":1}],"id":35571,"nodeType":"InlineAssembly","src":"132245:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132654:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132660:4:22","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":35572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"132638:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"132638:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35576,"nodeType":"ExpressionStatement","src":"132638:27:22"},{"AST":{"nativeSrc":"132727:156:22","nodeType":"YulBlock","src":"132727:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"132748:4:22","nodeType":"YulLiteral","src":"132748:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"132754:2:22","nodeType":"YulIdentifier","src":"132754:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132741:6:22","nodeType":"YulIdentifier","src":"132741:6:22"},"nativeSrc":"132741:16:22","nodeType":"YulFunctionCall","src":"132741:16:22"},"nativeSrc":"132741:16:22","nodeType":"YulExpressionStatement","src":"132741:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132777:4:22","nodeType":"YulLiteral","src":"132777:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"132783:2:22","nodeType":"YulIdentifier","src":"132783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132770:6:22","nodeType":"YulIdentifier","src":"132770:6:22"},"nativeSrc":"132770:16:22","nodeType":"YulFunctionCall","src":"132770:16:22"},"nativeSrc":"132770:16:22","nodeType":"YulExpressionStatement","src":"132770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132806:4:22","nodeType":"YulLiteral","src":"132806:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"132812:2:22","nodeType":"YulIdentifier","src":"132812:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132799:6:22","nodeType":"YulIdentifier","src":"132799:6:22"},"nativeSrc":"132799:16:22","nodeType":"YulFunctionCall","src":"132799:16:22"},"nativeSrc":"132799:16:22","nodeType":"YulExpressionStatement","src":"132799:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132835:4:22","nodeType":"YulLiteral","src":"132835:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"132841:2:22","nodeType":"YulIdentifier","src":"132841:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132828:6:22","nodeType":"YulIdentifier","src":"132828:6:22"},"nativeSrc":"132828:16:22","nodeType":"YulFunctionCall","src":"132828:16:22"},"nativeSrc":"132828:16:22","nodeType":"YulExpressionStatement","src":"132828:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132864:4:22","nodeType":"YulLiteral","src":"132864:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"132870:2:22","nodeType":"YulIdentifier","src":"132870:2:22"}],"functionName":{"name":"mstore","nativeSrc":"132857:6:22","nodeType":"YulIdentifier","src":"132857:6:22"},"nativeSrc":"132857:16:22","nodeType":"YulFunctionCall","src":"132857:16:22"},"nativeSrc":"132857:16:22","nodeType":"YulExpressionStatement","src":"132857:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35557,"isOffset":false,"isSlot":false,"src":"132754:2:22","valueSize":1},{"declaration":35560,"isOffset":false,"isSlot":false,"src":"132783:2:22","valueSize":1},{"declaration":35563,"isOffset":false,"isSlot":false,"src":"132812:2:22","valueSize":1},{"declaration":35566,"isOffset":false,"isSlot":false,"src":"132841:2:22","valueSize":1},{"declaration":35569,"isOffset":false,"isSlot":false,"src":"132870:2:22","valueSize":1}],"id":35577,"nodeType":"InlineAssembly","src":"132718:165:22"}]},"id":35579,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132032:3:22","nodeType":"FunctionDefinition","parameters":{"id":35554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35547,"mutability":"mutable","name":"p0","nameLocation":"132044:2:22","nodeType":"VariableDeclaration","scope":35579,"src":"132036:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35546,"name":"address","nodeType":"ElementaryTypeName","src":"132036:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35549,"mutability":"mutable","name":"p1","nameLocation":"132056:2:22","nodeType":"VariableDeclaration","scope":35579,"src":"132048:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35548,"name":"uint256","nodeType":"ElementaryTypeName","src":"132048:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35551,"mutability":"mutable","name":"p2","nameLocation":"132065:2:22","nodeType":"VariableDeclaration","scope":35579,"src":"132060:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35550,"name":"bool","nodeType":"ElementaryTypeName","src":"132060:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35553,"mutability":"mutable","name":"p3","nameLocation":"132074:2:22","nodeType":"VariableDeclaration","scope":35579,"src":"132069:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35552,"name":"bool","nodeType":"ElementaryTypeName","src":"132069:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"132035:42:22"},"returnParameters":{"id":35555,"nodeType":"ParameterList","parameters":[],"src":"132092:0:22"},"scope":44426,"src":"132023:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35612,"nodeType":"Block","src":"132967:800:22","statements":[{"assignments":[35591],"declarations":[{"constant":false,"id":35591,"mutability":"mutable","name":"m0","nameLocation":"132985:2:22","nodeType":"VariableDeclaration","scope":35612,"src":"132977:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132977:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35592,"nodeType":"VariableDeclarationStatement","src":"132977:10:22"},{"assignments":[35594],"declarations":[{"constant":false,"id":35594,"mutability":"mutable","name":"m1","nameLocation":"133005:2:22","nodeType":"VariableDeclaration","scope":35612,"src":"132997:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132997:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35595,"nodeType":"VariableDeclarationStatement","src":"132997:10:22"},{"assignments":[35597],"declarations":[{"constant":false,"id":35597,"mutability":"mutable","name":"m2","nameLocation":"133025:2:22","nodeType":"VariableDeclaration","scope":35612,"src":"133017:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133017:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35598,"nodeType":"VariableDeclarationStatement","src":"133017:10:22"},{"assignments":[35600],"declarations":[{"constant":false,"id":35600,"mutability":"mutable","name":"m3","nameLocation":"133045:2:22","nodeType":"VariableDeclaration","scope":35612,"src":"133037:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133037:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35601,"nodeType":"VariableDeclarationStatement","src":"133037:10:22"},{"assignments":[35603],"declarations":[{"constant":false,"id":35603,"mutability":"mutable","name":"m4","nameLocation":"133065:2:22","nodeType":"VariableDeclaration","scope":35612,"src":"133057:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133057:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35604,"nodeType":"VariableDeclarationStatement","src":"133057:10:22"},{"AST":{"nativeSrc":"133129:378:22","nodeType":"YulBlock","src":"133129:378:22","statements":[{"nativeSrc":"133143:17:22","nodeType":"YulAssignment","src":"133143:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"133155:4:22","nodeType":"YulLiteral","src":"133155:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"133149:5:22","nodeType":"YulIdentifier","src":"133149:5:22"},"nativeSrc":"133149:11:22","nodeType":"YulFunctionCall","src":"133149:11:22"},"variableNames":[{"name":"m0","nativeSrc":"133143:2:22","nodeType":"YulIdentifier","src":"133143:2:22"}]},{"nativeSrc":"133173:17:22","nodeType":"YulAssignment","src":"133173:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"133185:4:22","nodeType":"YulLiteral","src":"133185:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"133179:5:22","nodeType":"YulIdentifier","src":"133179:5:22"},"nativeSrc":"133179:11:22","nodeType":"YulFunctionCall","src":"133179:11:22"},"variableNames":[{"name":"m1","nativeSrc":"133173:2:22","nodeType":"YulIdentifier","src":"133173:2:22"}]},{"nativeSrc":"133203:17:22","nodeType":"YulAssignment","src":"133203:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"133215:4:22","nodeType":"YulLiteral","src":"133215:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"133209:5:22","nodeType":"YulIdentifier","src":"133209:5:22"},"nativeSrc":"133209:11:22","nodeType":"YulFunctionCall","src":"133209:11:22"},"variableNames":[{"name":"m2","nativeSrc":"133203:2:22","nodeType":"YulIdentifier","src":"133203:2:22"}]},{"nativeSrc":"133233:17:22","nodeType":"YulAssignment","src":"133233:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"133245:4:22","nodeType":"YulLiteral","src":"133245:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"133239:5:22","nodeType":"YulIdentifier","src":"133239:5:22"},"nativeSrc":"133239:11:22","nodeType":"YulFunctionCall","src":"133239:11:22"},"variableNames":[{"name":"m3","nativeSrc":"133233:2:22","nodeType":"YulIdentifier","src":"133233:2:22"}]},{"nativeSrc":"133263:17:22","nodeType":"YulAssignment","src":"133263:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"133275:4:22","nodeType":"YulLiteral","src":"133275:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"133269:5:22","nodeType":"YulIdentifier","src":"133269:5:22"},"nativeSrc":"133269:11:22","nodeType":"YulFunctionCall","src":"133269:11:22"},"variableNames":[{"name":"m4","nativeSrc":"133263:2:22","nodeType":"YulIdentifier","src":"133263:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133364:4:22","nodeType":"YulLiteral","src":"133364:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"133370:10:22","nodeType":"YulLiteral","src":"133370:10:22","type":"","value":"0x22f6b999"}],"functionName":{"name":"mstore","nativeSrc":"133357:6:22","nodeType":"YulIdentifier","src":"133357:6:22"},"nativeSrc":"133357:24:22","nodeType":"YulFunctionCall","src":"133357:24:22"},"nativeSrc":"133357:24:22","nodeType":"YulExpressionStatement","src":"133357:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133401:4:22","nodeType":"YulLiteral","src":"133401:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"133407:2:22","nodeType":"YulIdentifier","src":"133407:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133394:6:22","nodeType":"YulIdentifier","src":"133394:6:22"},"nativeSrc":"133394:16:22","nodeType":"YulFunctionCall","src":"133394:16:22"},"nativeSrc":"133394:16:22","nodeType":"YulExpressionStatement","src":"133394:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133430:4:22","nodeType":"YulLiteral","src":"133430:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"133436:2:22","nodeType":"YulIdentifier","src":"133436:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133423:6:22","nodeType":"YulIdentifier","src":"133423:6:22"},"nativeSrc":"133423:16:22","nodeType":"YulFunctionCall","src":"133423:16:22"},"nativeSrc":"133423:16:22","nodeType":"YulExpressionStatement","src":"133423:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133459:4:22","nodeType":"YulLiteral","src":"133459:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"133465:2:22","nodeType":"YulIdentifier","src":"133465:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133452:6:22","nodeType":"YulIdentifier","src":"133452:6:22"},"nativeSrc":"133452:16:22","nodeType":"YulFunctionCall","src":"133452:16:22"},"nativeSrc":"133452:16:22","nodeType":"YulExpressionStatement","src":"133452:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133488:4:22","nodeType":"YulLiteral","src":"133488:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"133494:2:22","nodeType":"YulIdentifier","src":"133494:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133481:6:22","nodeType":"YulIdentifier","src":"133481:6:22"},"nativeSrc":"133481:16:22","nodeType":"YulFunctionCall","src":"133481:16:22"},"nativeSrc":"133481:16:22","nodeType":"YulExpressionStatement","src":"133481:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35591,"isOffset":false,"isSlot":false,"src":"133143:2:22","valueSize":1},{"declaration":35594,"isOffset":false,"isSlot":false,"src":"133173:2:22","valueSize":1},{"declaration":35597,"isOffset":false,"isSlot":false,"src":"133203:2:22","valueSize":1},{"declaration":35600,"isOffset":false,"isSlot":false,"src":"133233:2:22","valueSize":1},{"declaration":35603,"isOffset":false,"isSlot":false,"src":"133263:2:22","valueSize":1},{"declaration":35581,"isOffset":false,"isSlot":false,"src":"133407:2:22","valueSize":1},{"declaration":35583,"isOffset":false,"isSlot":false,"src":"133436:2:22","valueSize":1},{"declaration":35585,"isOffset":false,"isSlot":false,"src":"133465:2:22","valueSize":1},{"declaration":35587,"isOffset":false,"isSlot":false,"src":"133494:2:22","valueSize":1}],"id":35605,"nodeType":"InlineAssembly","src":"133120:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133532:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133538:4:22","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":35606,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"133516:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"133516:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35610,"nodeType":"ExpressionStatement","src":"133516:27:22"},{"AST":{"nativeSrc":"133605:156:22","nodeType":"YulBlock","src":"133605:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"133626:4:22","nodeType":"YulLiteral","src":"133626:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"133632:2:22","nodeType":"YulIdentifier","src":"133632:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133619:6:22","nodeType":"YulIdentifier","src":"133619:6:22"},"nativeSrc":"133619:16:22","nodeType":"YulFunctionCall","src":"133619:16:22"},"nativeSrc":"133619:16:22","nodeType":"YulExpressionStatement","src":"133619:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133655:4:22","nodeType":"YulLiteral","src":"133655:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"133661:2:22","nodeType":"YulIdentifier","src":"133661:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133648:6:22","nodeType":"YulIdentifier","src":"133648:6:22"},"nativeSrc":"133648:16:22","nodeType":"YulFunctionCall","src":"133648:16:22"},"nativeSrc":"133648:16:22","nodeType":"YulExpressionStatement","src":"133648:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133684:4:22","nodeType":"YulLiteral","src":"133684:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"133690:2:22","nodeType":"YulIdentifier","src":"133690:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133677:6:22","nodeType":"YulIdentifier","src":"133677:6:22"},"nativeSrc":"133677:16:22","nodeType":"YulFunctionCall","src":"133677:16:22"},"nativeSrc":"133677:16:22","nodeType":"YulExpressionStatement","src":"133677:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133713:4:22","nodeType":"YulLiteral","src":"133713:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"133719:2:22","nodeType":"YulIdentifier","src":"133719:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133706:6:22","nodeType":"YulIdentifier","src":"133706:6:22"},"nativeSrc":"133706:16:22","nodeType":"YulFunctionCall","src":"133706:16:22"},"nativeSrc":"133706:16:22","nodeType":"YulExpressionStatement","src":"133706:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133742:4:22","nodeType":"YulLiteral","src":"133742:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"133748:2:22","nodeType":"YulIdentifier","src":"133748:2:22"}],"functionName":{"name":"mstore","nativeSrc":"133735:6:22","nodeType":"YulIdentifier","src":"133735:6:22"},"nativeSrc":"133735:16:22","nodeType":"YulFunctionCall","src":"133735:16:22"},"nativeSrc":"133735:16:22","nodeType":"YulExpressionStatement","src":"133735:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35591,"isOffset":false,"isSlot":false,"src":"133632:2:22","valueSize":1},{"declaration":35594,"isOffset":false,"isSlot":false,"src":"133661:2:22","valueSize":1},{"declaration":35597,"isOffset":false,"isSlot":false,"src":"133690:2:22","valueSize":1},{"declaration":35600,"isOffset":false,"isSlot":false,"src":"133719:2:22","valueSize":1},{"declaration":35603,"isOffset":false,"isSlot":false,"src":"133748:2:22","valueSize":1}],"id":35611,"nodeType":"InlineAssembly","src":"133596:165:22"}]},"id":35613,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132904:3:22","nodeType":"FunctionDefinition","parameters":{"id":35588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35581,"mutability":"mutable","name":"p0","nameLocation":"132916:2:22","nodeType":"VariableDeclaration","scope":35613,"src":"132908:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35580,"name":"address","nodeType":"ElementaryTypeName","src":"132908:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35583,"mutability":"mutable","name":"p1","nameLocation":"132928:2:22","nodeType":"VariableDeclaration","scope":35613,"src":"132920:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35582,"name":"uint256","nodeType":"ElementaryTypeName","src":"132920:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35585,"mutability":"mutable","name":"p2","nameLocation":"132937:2:22","nodeType":"VariableDeclaration","scope":35613,"src":"132932:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35584,"name":"bool","nodeType":"ElementaryTypeName","src":"132932:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35587,"mutability":"mutable","name":"p3","nameLocation":"132949:2:22","nodeType":"VariableDeclaration","scope":35613,"src":"132941:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35586,"name":"uint256","nodeType":"ElementaryTypeName","src":"132941:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"132907:45:22"},"returnParameters":{"id":35589,"nodeType":"ParameterList","parameters":[],"src":"132967:0:22"},"scope":44426,"src":"132895:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35652,"nodeType":"Block","src":"133845:1348:22","statements":[{"assignments":[35625],"declarations":[{"constant":false,"id":35625,"mutability":"mutable","name":"m0","nameLocation":"133863:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133855:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133855:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35626,"nodeType":"VariableDeclarationStatement","src":"133855:10:22"},{"assignments":[35628],"declarations":[{"constant":false,"id":35628,"mutability":"mutable","name":"m1","nameLocation":"133883:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133875:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133875:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35629,"nodeType":"VariableDeclarationStatement","src":"133875:10:22"},{"assignments":[35631],"declarations":[{"constant":false,"id":35631,"mutability":"mutable","name":"m2","nameLocation":"133903:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133895:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133895:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35632,"nodeType":"VariableDeclarationStatement","src":"133895:10:22"},{"assignments":[35634],"declarations":[{"constant":false,"id":35634,"mutability":"mutable","name":"m3","nameLocation":"133923:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133915:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133915:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35635,"nodeType":"VariableDeclarationStatement","src":"133915:10:22"},{"assignments":[35637],"declarations":[{"constant":false,"id":35637,"mutability":"mutable","name":"m4","nameLocation":"133943:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133935:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133935:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35638,"nodeType":"VariableDeclarationStatement","src":"133935:10:22"},{"assignments":[35640],"declarations":[{"constant":false,"id":35640,"mutability":"mutable","name":"m5","nameLocation":"133963:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133955:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133955:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35641,"nodeType":"VariableDeclarationStatement","src":"133955:10:22"},{"assignments":[35643],"declarations":[{"constant":false,"id":35643,"mutability":"mutable","name":"m6","nameLocation":"133983:2:22","nodeType":"VariableDeclaration","scope":35652,"src":"133975:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133975:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35644,"nodeType":"VariableDeclarationStatement","src":"133975:10:22"},{"AST":{"nativeSrc":"134047:828:22","nodeType":"YulBlock","src":"134047:828:22","statements":[{"body":{"nativeSrc":"134090:313:22","nodeType":"YulBlock","src":"134090:313:22","statements":[{"nativeSrc":"134108:15:22","nodeType":"YulVariableDeclaration","src":"134108:15:22","value":{"kind":"number","nativeSrc":"134122:1:22","nodeType":"YulLiteral","src":"134122:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"134112:6:22","nodeType":"YulTypedName","src":"134112:6:22","type":""}]},{"body":{"nativeSrc":"134193:40:22","nodeType":"YulBlock","src":"134193:40:22","statements":[{"body":{"nativeSrc":"134222:9:22","nodeType":"YulBlock","src":"134222:9:22","statements":[{"nativeSrc":"134224:5:22","nodeType":"YulBreak","src":"134224:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"134210:6:22","nodeType":"YulIdentifier","src":"134210:6:22"},{"name":"w","nativeSrc":"134218:1:22","nodeType":"YulIdentifier","src":"134218:1:22"}],"functionName":{"name":"byte","nativeSrc":"134205:4:22","nodeType":"YulIdentifier","src":"134205:4:22"},"nativeSrc":"134205:15:22","nodeType":"YulFunctionCall","src":"134205:15:22"}],"functionName":{"name":"iszero","nativeSrc":"134198:6:22","nodeType":"YulIdentifier","src":"134198:6:22"},"nativeSrc":"134198:23:22","nodeType":"YulFunctionCall","src":"134198:23:22"},"nativeSrc":"134195:36:22","nodeType":"YulIf","src":"134195:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"134150:6:22","nodeType":"YulIdentifier","src":"134150:6:22"},{"kind":"number","nativeSrc":"134158:4:22","nodeType":"YulLiteral","src":"134158:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"134147:2:22","nodeType":"YulIdentifier","src":"134147:2:22"},"nativeSrc":"134147:16:22","nodeType":"YulFunctionCall","src":"134147:16:22"},"nativeSrc":"134140:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"134164:28:22","nodeType":"YulBlock","src":"134164:28:22","statements":[{"nativeSrc":"134166:24:22","nodeType":"YulAssignment","src":"134166:24:22","value":{"arguments":[{"name":"length","nativeSrc":"134180:6:22","nodeType":"YulIdentifier","src":"134180:6:22"},{"kind":"number","nativeSrc":"134188:1:22","nodeType":"YulLiteral","src":"134188:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"134176:3:22","nodeType":"YulIdentifier","src":"134176:3:22"},"nativeSrc":"134176:14:22","nodeType":"YulFunctionCall","src":"134176:14:22"},"variableNames":[{"name":"length","nativeSrc":"134166:6:22","nodeType":"YulIdentifier","src":"134166:6:22"}]}]},"pre":{"nativeSrc":"134144:2:22","nodeType":"YulBlock","src":"134144:2:22","statements":[]},"src":"134140:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"134257:3:22","nodeType":"YulIdentifier","src":"134257:3:22"},{"name":"length","nativeSrc":"134262:6:22","nodeType":"YulIdentifier","src":"134262:6:22"}],"functionName":{"name":"mstore","nativeSrc":"134250:6:22","nodeType":"YulIdentifier","src":"134250:6:22"},"nativeSrc":"134250:19:22","nodeType":"YulFunctionCall","src":"134250:19:22"},"nativeSrc":"134250:19:22","nodeType":"YulExpressionStatement","src":"134250:19:22"},{"nativeSrc":"134286:37:22","nodeType":"YulVariableDeclaration","src":"134286:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"134303:3:22","nodeType":"YulLiteral","src":"134303:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"134312:1:22","nodeType":"YulLiteral","src":"134312:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"134315:6:22","nodeType":"YulIdentifier","src":"134315:6:22"}],"functionName":{"name":"shl","nativeSrc":"134308:3:22","nodeType":"YulIdentifier","src":"134308:3:22"},"nativeSrc":"134308:14:22","nodeType":"YulFunctionCall","src":"134308:14:22"}],"functionName":{"name":"sub","nativeSrc":"134299:3:22","nodeType":"YulIdentifier","src":"134299:3:22"},"nativeSrc":"134299:24:22","nodeType":"YulFunctionCall","src":"134299:24:22"},"variables":[{"name":"shift","nativeSrc":"134290:5:22","nodeType":"YulTypedName","src":"134290:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"134351:3:22","nodeType":"YulIdentifier","src":"134351:3:22"},{"kind":"number","nativeSrc":"134356:4:22","nodeType":"YulLiteral","src":"134356:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"134347:3:22","nodeType":"YulIdentifier","src":"134347:3:22"},"nativeSrc":"134347:14:22","nodeType":"YulFunctionCall","src":"134347:14:22"},{"arguments":[{"name":"shift","nativeSrc":"134367:5:22","nodeType":"YulIdentifier","src":"134367:5:22"},{"arguments":[{"name":"shift","nativeSrc":"134378:5:22","nodeType":"YulIdentifier","src":"134378:5:22"},{"name":"w","nativeSrc":"134385:1:22","nodeType":"YulIdentifier","src":"134385:1:22"}],"functionName":{"name":"shr","nativeSrc":"134374:3:22","nodeType":"YulIdentifier","src":"134374:3:22"},"nativeSrc":"134374:13:22","nodeType":"YulFunctionCall","src":"134374:13:22"}],"functionName":{"name":"shl","nativeSrc":"134363:3:22","nodeType":"YulIdentifier","src":"134363:3:22"},"nativeSrc":"134363:25:22","nodeType":"YulFunctionCall","src":"134363:25:22"}],"functionName":{"name":"mstore","nativeSrc":"134340:6:22","nodeType":"YulIdentifier","src":"134340:6:22"},"nativeSrc":"134340:49:22","nodeType":"YulFunctionCall","src":"134340:49:22"},"nativeSrc":"134340:49:22","nodeType":"YulExpressionStatement","src":"134340:49:22"}]},"name":"writeString","nativeSrc":"134061:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"134082:3:22","nodeType":"YulTypedName","src":"134082:3:22","type":""},{"name":"w","nativeSrc":"134087:1:22","nodeType":"YulTypedName","src":"134087:1:22","type":""}],"src":"134061:342:22"},{"nativeSrc":"134416:17:22","nodeType":"YulAssignment","src":"134416:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134428:4:22","nodeType":"YulLiteral","src":"134428:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"134422:5:22","nodeType":"YulIdentifier","src":"134422:5:22"},"nativeSrc":"134422:11:22","nodeType":"YulFunctionCall","src":"134422:11:22"},"variableNames":[{"name":"m0","nativeSrc":"134416:2:22","nodeType":"YulIdentifier","src":"134416:2:22"}]},{"nativeSrc":"134446:17:22","nodeType":"YulAssignment","src":"134446:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134458:4:22","nodeType":"YulLiteral","src":"134458:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"134452:5:22","nodeType":"YulIdentifier","src":"134452:5:22"},"nativeSrc":"134452:11:22","nodeType":"YulFunctionCall","src":"134452:11:22"},"variableNames":[{"name":"m1","nativeSrc":"134446:2:22","nodeType":"YulIdentifier","src":"134446:2:22"}]},{"nativeSrc":"134476:17:22","nodeType":"YulAssignment","src":"134476:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134488:4:22","nodeType":"YulLiteral","src":"134488:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"134482:5:22","nodeType":"YulIdentifier","src":"134482:5:22"},"nativeSrc":"134482:11:22","nodeType":"YulFunctionCall","src":"134482:11:22"},"variableNames":[{"name":"m2","nativeSrc":"134476:2:22","nodeType":"YulIdentifier","src":"134476:2:22"}]},{"nativeSrc":"134506:17:22","nodeType":"YulAssignment","src":"134506:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134518:4:22","nodeType":"YulLiteral","src":"134518:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"134512:5:22","nodeType":"YulIdentifier","src":"134512:5:22"},"nativeSrc":"134512:11:22","nodeType":"YulFunctionCall","src":"134512:11:22"},"variableNames":[{"name":"m3","nativeSrc":"134506:2:22","nodeType":"YulIdentifier","src":"134506:2:22"}]},{"nativeSrc":"134536:17:22","nodeType":"YulAssignment","src":"134536:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134548:4:22","nodeType":"YulLiteral","src":"134548:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"134542:5:22","nodeType":"YulIdentifier","src":"134542:5:22"},"nativeSrc":"134542:11:22","nodeType":"YulFunctionCall","src":"134542:11:22"},"variableNames":[{"name":"m4","nativeSrc":"134536:2:22","nodeType":"YulIdentifier","src":"134536:2:22"}]},{"nativeSrc":"134566:17:22","nodeType":"YulAssignment","src":"134566:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134578:4:22","nodeType":"YulLiteral","src":"134578:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"134572:5:22","nodeType":"YulIdentifier","src":"134572:5:22"},"nativeSrc":"134572:11:22","nodeType":"YulFunctionCall","src":"134572:11:22"},"variableNames":[{"name":"m5","nativeSrc":"134566:2:22","nodeType":"YulIdentifier","src":"134566:2:22"}]},{"nativeSrc":"134596:17:22","nodeType":"YulAssignment","src":"134596:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"134608:4:22","nodeType":"YulLiteral","src":"134608:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"134602:5:22","nodeType":"YulIdentifier","src":"134602:5:22"},"nativeSrc":"134602:11:22","nodeType":"YulFunctionCall","src":"134602:11:22"},"variableNames":[{"name":"m6","nativeSrc":"134596:2:22","nodeType":"YulIdentifier","src":"134596:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134696:4:22","nodeType":"YulLiteral","src":"134696:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"134702:10:22","nodeType":"YulLiteral","src":"134702:10:22","type":"","value":"0xc5ad85f9"}],"functionName":{"name":"mstore","nativeSrc":"134689:6:22","nodeType":"YulIdentifier","src":"134689:6:22"},"nativeSrc":"134689:24:22","nodeType":"YulFunctionCall","src":"134689:24:22"},"nativeSrc":"134689:24:22","nodeType":"YulExpressionStatement","src":"134689:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134733:4:22","nodeType":"YulLiteral","src":"134733:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"134739:2:22","nodeType":"YulIdentifier","src":"134739:2:22"}],"functionName":{"name":"mstore","nativeSrc":"134726:6:22","nodeType":"YulIdentifier","src":"134726:6:22"},"nativeSrc":"134726:16:22","nodeType":"YulFunctionCall","src":"134726:16:22"},"nativeSrc":"134726:16:22","nodeType":"YulExpressionStatement","src":"134726:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134762:4:22","nodeType":"YulLiteral","src":"134762:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"134768:2:22","nodeType":"YulIdentifier","src":"134768:2:22"}],"functionName":{"name":"mstore","nativeSrc":"134755:6:22","nodeType":"YulIdentifier","src":"134755:6:22"},"nativeSrc":"134755:16:22","nodeType":"YulFunctionCall","src":"134755:16:22"},"nativeSrc":"134755:16:22","nodeType":"YulExpressionStatement","src":"134755:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134791:4:22","nodeType":"YulLiteral","src":"134791:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"134797:2:22","nodeType":"YulIdentifier","src":"134797:2:22"}],"functionName":{"name":"mstore","nativeSrc":"134784:6:22","nodeType":"YulIdentifier","src":"134784:6:22"},"nativeSrc":"134784:16:22","nodeType":"YulFunctionCall","src":"134784:16:22"},"nativeSrc":"134784:16:22","nodeType":"YulExpressionStatement","src":"134784:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134820:4:22","nodeType":"YulLiteral","src":"134820:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"134826:4:22","nodeType":"YulLiteral","src":"134826:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"134813:6:22","nodeType":"YulIdentifier","src":"134813:6:22"},"nativeSrc":"134813:18:22","nodeType":"YulFunctionCall","src":"134813:18:22"},"nativeSrc":"134813:18:22","nodeType":"YulExpressionStatement","src":"134813:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134856:4:22","nodeType":"YulLiteral","src":"134856:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"134862:2:22","nodeType":"YulIdentifier","src":"134862:2:22"}],"functionName":{"name":"writeString","nativeSrc":"134844:11:22","nodeType":"YulIdentifier","src":"134844:11:22"},"nativeSrc":"134844:21:22","nodeType":"YulFunctionCall","src":"134844:21:22"},"nativeSrc":"134844:21:22","nodeType":"YulExpressionStatement","src":"134844:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35625,"isOffset":false,"isSlot":false,"src":"134416:2:22","valueSize":1},{"declaration":35628,"isOffset":false,"isSlot":false,"src":"134446:2:22","valueSize":1},{"declaration":35631,"isOffset":false,"isSlot":false,"src":"134476:2:22","valueSize":1},{"declaration":35634,"isOffset":false,"isSlot":false,"src":"134506:2:22","valueSize":1},{"declaration":35637,"isOffset":false,"isSlot":false,"src":"134536:2:22","valueSize":1},{"declaration":35640,"isOffset":false,"isSlot":false,"src":"134566:2:22","valueSize":1},{"declaration":35643,"isOffset":false,"isSlot":false,"src":"134596:2:22","valueSize":1},{"declaration":35615,"isOffset":false,"isSlot":false,"src":"134739:2:22","valueSize":1},{"declaration":35617,"isOffset":false,"isSlot":false,"src":"134768:2:22","valueSize":1},{"declaration":35619,"isOffset":false,"isSlot":false,"src":"134797:2:22","valueSize":1},{"declaration":35621,"isOffset":false,"isSlot":false,"src":"134862:2:22","valueSize":1}],"id":35645,"nodeType":"InlineAssembly","src":"134038:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134900:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134906:4:22","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":35646,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"134884:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"134884:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35650,"nodeType":"ExpressionStatement","src":"134884:27:22"},{"AST":{"nativeSrc":"134973:214:22","nodeType":"YulBlock","src":"134973:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"134994:4:22","nodeType":"YulLiteral","src":"134994:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135000:2:22","nodeType":"YulIdentifier","src":"135000:2:22"}],"functionName":{"name":"mstore","nativeSrc":"134987:6:22","nodeType":"YulIdentifier","src":"134987:6:22"},"nativeSrc":"134987:16:22","nodeType":"YulFunctionCall","src":"134987:16:22"},"nativeSrc":"134987:16:22","nodeType":"YulExpressionStatement","src":"134987:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135023:4:22","nodeType":"YulLiteral","src":"135023:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135029:2:22","nodeType":"YulIdentifier","src":"135029:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135016:6:22","nodeType":"YulIdentifier","src":"135016:6:22"},"nativeSrc":"135016:16:22","nodeType":"YulFunctionCall","src":"135016:16:22"},"nativeSrc":"135016:16:22","nodeType":"YulExpressionStatement","src":"135016:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135052:4:22","nodeType":"YulLiteral","src":"135052:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"135058:2:22","nodeType":"YulIdentifier","src":"135058:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135045:6:22","nodeType":"YulIdentifier","src":"135045:6:22"},"nativeSrc":"135045:16:22","nodeType":"YulFunctionCall","src":"135045:16:22"},"nativeSrc":"135045:16:22","nodeType":"YulExpressionStatement","src":"135045:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135081:4:22","nodeType":"YulLiteral","src":"135081:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"135087:2:22","nodeType":"YulIdentifier","src":"135087:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135074:6:22","nodeType":"YulIdentifier","src":"135074:6:22"},"nativeSrc":"135074:16:22","nodeType":"YulFunctionCall","src":"135074:16:22"},"nativeSrc":"135074:16:22","nodeType":"YulExpressionStatement","src":"135074:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135110:4:22","nodeType":"YulLiteral","src":"135110:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"135116:2:22","nodeType":"YulIdentifier","src":"135116:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135103:6:22","nodeType":"YulIdentifier","src":"135103:6:22"},"nativeSrc":"135103:16:22","nodeType":"YulFunctionCall","src":"135103:16:22"},"nativeSrc":"135103:16:22","nodeType":"YulExpressionStatement","src":"135103:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135139:4:22","nodeType":"YulLiteral","src":"135139:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"135145:2:22","nodeType":"YulIdentifier","src":"135145:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135132:6:22","nodeType":"YulIdentifier","src":"135132:6:22"},"nativeSrc":"135132:16:22","nodeType":"YulFunctionCall","src":"135132:16:22"},"nativeSrc":"135132:16:22","nodeType":"YulExpressionStatement","src":"135132:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135168:4:22","nodeType":"YulLiteral","src":"135168:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"135174:2:22","nodeType":"YulIdentifier","src":"135174:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135161:6:22","nodeType":"YulIdentifier","src":"135161:6:22"},"nativeSrc":"135161:16:22","nodeType":"YulFunctionCall","src":"135161:16:22"},"nativeSrc":"135161:16:22","nodeType":"YulExpressionStatement","src":"135161:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35625,"isOffset":false,"isSlot":false,"src":"135000:2:22","valueSize":1},{"declaration":35628,"isOffset":false,"isSlot":false,"src":"135029:2:22","valueSize":1},{"declaration":35631,"isOffset":false,"isSlot":false,"src":"135058:2:22","valueSize":1},{"declaration":35634,"isOffset":false,"isSlot":false,"src":"135087:2:22","valueSize":1},{"declaration":35637,"isOffset":false,"isSlot":false,"src":"135116:2:22","valueSize":1},{"declaration":35640,"isOffset":false,"isSlot":false,"src":"135145:2:22","valueSize":1},{"declaration":35643,"isOffset":false,"isSlot":false,"src":"135174:2:22","valueSize":1}],"id":35651,"nodeType":"InlineAssembly","src":"134964:223:22"}]},"id":35653,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"133782:3:22","nodeType":"FunctionDefinition","parameters":{"id":35622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35615,"mutability":"mutable","name":"p0","nameLocation":"133794:2:22","nodeType":"VariableDeclaration","scope":35653,"src":"133786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35614,"name":"address","nodeType":"ElementaryTypeName","src":"133786:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35617,"mutability":"mutable","name":"p1","nameLocation":"133806:2:22","nodeType":"VariableDeclaration","scope":35653,"src":"133798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35616,"name":"uint256","nodeType":"ElementaryTypeName","src":"133798:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35619,"mutability":"mutable","name":"p2","nameLocation":"133815:2:22","nodeType":"VariableDeclaration","scope":35653,"src":"133810:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35618,"name":"bool","nodeType":"ElementaryTypeName","src":"133810:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35621,"mutability":"mutable","name":"p3","nameLocation":"133827:2:22","nodeType":"VariableDeclaration","scope":35653,"src":"133819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"133785:45:22"},"returnParameters":{"id":35623,"nodeType":"ParameterList","parameters":[],"src":"133845:0:22"},"scope":44426,"src":"133773:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35686,"nodeType":"Block","src":"135274:803:22","statements":[{"assignments":[35665],"declarations":[{"constant":false,"id":35665,"mutability":"mutable","name":"m0","nameLocation":"135292:2:22","nodeType":"VariableDeclaration","scope":35686,"src":"135284:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135284:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35666,"nodeType":"VariableDeclarationStatement","src":"135284:10:22"},{"assignments":[35668],"declarations":[{"constant":false,"id":35668,"mutability":"mutable","name":"m1","nameLocation":"135312:2:22","nodeType":"VariableDeclaration","scope":35686,"src":"135304:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135304:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35669,"nodeType":"VariableDeclarationStatement","src":"135304:10:22"},{"assignments":[35671],"declarations":[{"constant":false,"id":35671,"mutability":"mutable","name":"m2","nameLocation":"135332:2:22","nodeType":"VariableDeclaration","scope":35686,"src":"135324:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135324:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35672,"nodeType":"VariableDeclarationStatement","src":"135324:10:22"},{"assignments":[35674],"declarations":[{"constant":false,"id":35674,"mutability":"mutable","name":"m3","nameLocation":"135352:2:22","nodeType":"VariableDeclaration","scope":35686,"src":"135344:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135344:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35675,"nodeType":"VariableDeclarationStatement","src":"135344:10:22"},{"assignments":[35677],"declarations":[{"constant":false,"id":35677,"mutability":"mutable","name":"m4","nameLocation":"135372:2:22","nodeType":"VariableDeclaration","scope":35686,"src":"135364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35678,"nodeType":"VariableDeclarationStatement","src":"135364:10:22"},{"AST":{"nativeSrc":"135436:381:22","nodeType":"YulBlock","src":"135436:381:22","statements":[{"nativeSrc":"135450:17:22","nodeType":"YulAssignment","src":"135450:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"135462:4:22","nodeType":"YulLiteral","src":"135462:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"135456:5:22","nodeType":"YulIdentifier","src":"135456:5:22"},"nativeSrc":"135456:11:22","nodeType":"YulFunctionCall","src":"135456:11:22"},"variableNames":[{"name":"m0","nativeSrc":"135450:2:22","nodeType":"YulIdentifier","src":"135450:2:22"}]},{"nativeSrc":"135480:17:22","nodeType":"YulAssignment","src":"135480:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"135492:4:22","nodeType":"YulLiteral","src":"135492:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"135486:5:22","nodeType":"YulIdentifier","src":"135486:5:22"},"nativeSrc":"135486:11:22","nodeType":"YulFunctionCall","src":"135486:11:22"},"variableNames":[{"name":"m1","nativeSrc":"135480:2:22","nodeType":"YulIdentifier","src":"135480:2:22"}]},{"nativeSrc":"135510:17:22","nodeType":"YulAssignment","src":"135510:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"135522:4:22","nodeType":"YulLiteral","src":"135522:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"135516:5:22","nodeType":"YulIdentifier","src":"135516:5:22"},"nativeSrc":"135516:11:22","nodeType":"YulFunctionCall","src":"135516:11:22"},"variableNames":[{"name":"m2","nativeSrc":"135510:2:22","nodeType":"YulIdentifier","src":"135510:2:22"}]},{"nativeSrc":"135540:17:22","nodeType":"YulAssignment","src":"135540:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"135552:4:22","nodeType":"YulLiteral","src":"135552:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"135546:5:22","nodeType":"YulIdentifier","src":"135546:5:22"},"nativeSrc":"135546:11:22","nodeType":"YulFunctionCall","src":"135546:11:22"},"variableNames":[{"name":"m3","nativeSrc":"135540:2:22","nodeType":"YulIdentifier","src":"135540:2:22"}]},{"nativeSrc":"135570:17:22","nodeType":"YulAssignment","src":"135570:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"135582:4:22","nodeType":"YulLiteral","src":"135582:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"135576:5:22","nodeType":"YulIdentifier","src":"135576:5:22"},"nativeSrc":"135576:11:22","nodeType":"YulFunctionCall","src":"135576:11:22"},"variableNames":[{"name":"m4","nativeSrc":"135570:2:22","nodeType":"YulIdentifier","src":"135570:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135674:4:22","nodeType":"YulLiteral","src":"135674:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"135680:10:22","nodeType":"YulLiteral","src":"135680:10:22","type":"","value":"0x20e3984d"}],"functionName":{"name":"mstore","nativeSrc":"135667:6:22","nodeType":"YulIdentifier","src":"135667:6:22"},"nativeSrc":"135667:24:22","nodeType":"YulFunctionCall","src":"135667:24:22"},"nativeSrc":"135667:24:22","nodeType":"YulExpressionStatement","src":"135667:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135711:4:22","nodeType":"YulLiteral","src":"135711:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"135717:2:22","nodeType":"YulIdentifier","src":"135717:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135704:6:22","nodeType":"YulIdentifier","src":"135704:6:22"},"nativeSrc":"135704:16:22","nodeType":"YulFunctionCall","src":"135704:16:22"},"nativeSrc":"135704:16:22","nodeType":"YulExpressionStatement","src":"135704:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135740:4:22","nodeType":"YulLiteral","src":"135740:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"135746:2:22","nodeType":"YulIdentifier","src":"135746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135733:6:22","nodeType":"YulIdentifier","src":"135733:6:22"},"nativeSrc":"135733:16:22","nodeType":"YulFunctionCall","src":"135733:16:22"},"nativeSrc":"135733:16:22","nodeType":"YulExpressionStatement","src":"135733:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135769:4:22","nodeType":"YulLiteral","src":"135769:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"135775:2:22","nodeType":"YulIdentifier","src":"135775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135762:6:22","nodeType":"YulIdentifier","src":"135762:6:22"},"nativeSrc":"135762:16:22","nodeType":"YulFunctionCall","src":"135762:16:22"},"nativeSrc":"135762:16:22","nodeType":"YulExpressionStatement","src":"135762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135798:4:22","nodeType":"YulLiteral","src":"135798:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"135804:2:22","nodeType":"YulIdentifier","src":"135804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135791:6:22","nodeType":"YulIdentifier","src":"135791:6:22"},"nativeSrc":"135791:16:22","nodeType":"YulFunctionCall","src":"135791:16:22"},"nativeSrc":"135791:16:22","nodeType":"YulExpressionStatement","src":"135791:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35665,"isOffset":false,"isSlot":false,"src":"135450:2:22","valueSize":1},{"declaration":35668,"isOffset":false,"isSlot":false,"src":"135480:2:22","valueSize":1},{"declaration":35671,"isOffset":false,"isSlot":false,"src":"135510:2:22","valueSize":1},{"declaration":35674,"isOffset":false,"isSlot":false,"src":"135540:2:22","valueSize":1},{"declaration":35677,"isOffset":false,"isSlot":false,"src":"135570:2:22","valueSize":1},{"declaration":35655,"isOffset":false,"isSlot":false,"src":"135717:2:22","valueSize":1},{"declaration":35657,"isOffset":false,"isSlot":false,"src":"135746:2:22","valueSize":1},{"declaration":35659,"isOffset":false,"isSlot":false,"src":"135775:2:22","valueSize":1},{"declaration":35661,"isOffset":false,"isSlot":false,"src":"135804:2:22","valueSize":1}],"id":35679,"nodeType":"InlineAssembly","src":"135427:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135842:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135848:4:22","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":35680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"135826:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"135826:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35684,"nodeType":"ExpressionStatement","src":"135826:27:22"},{"AST":{"nativeSrc":"135915:156:22","nodeType":"YulBlock","src":"135915:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"135936:4:22","nodeType":"YulLiteral","src":"135936:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135942:2:22","nodeType":"YulIdentifier","src":"135942:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135929:6:22","nodeType":"YulIdentifier","src":"135929:6:22"},"nativeSrc":"135929:16:22","nodeType":"YulFunctionCall","src":"135929:16:22"},"nativeSrc":"135929:16:22","nodeType":"YulExpressionStatement","src":"135929:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135965:4:22","nodeType":"YulLiteral","src":"135965:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135971:2:22","nodeType":"YulIdentifier","src":"135971:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135958:6:22","nodeType":"YulIdentifier","src":"135958:6:22"},"nativeSrc":"135958:16:22","nodeType":"YulFunctionCall","src":"135958:16:22"},"nativeSrc":"135958:16:22","nodeType":"YulExpressionStatement","src":"135958:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135994:4:22","nodeType":"YulLiteral","src":"135994:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136000:2:22","nodeType":"YulIdentifier","src":"136000:2:22"}],"functionName":{"name":"mstore","nativeSrc":"135987:6:22","nodeType":"YulIdentifier","src":"135987:6:22"},"nativeSrc":"135987:16:22","nodeType":"YulFunctionCall","src":"135987:16:22"},"nativeSrc":"135987:16:22","nodeType":"YulExpressionStatement","src":"135987:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136023:4:22","nodeType":"YulLiteral","src":"136023:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136029:2:22","nodeType":"YulIdentifier","src":"136029:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136016:6:22","nodeType":"YulIdentifier","src":"136016:6:22"},"nativeSrc":"136016:16:22","nodeType":"YulFunctionCall","src":"136016:16:22"},"nativeSrc":"136016:16:22","nodeType":"YulExpressionStatement","src":"136016:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136052:4:22","nodeType":"YulLiteral","src":"136052:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136058:2:22","nodeType":"YulIdentifier","src":"136058:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136045:6:22","nodeType":"YulIdentifier","src":"136045:6:22"},"nativeSrc":"136045:16:22","nodeType":"YulFunctionCall","src":"136045:16:22"},"nativeSrc":"136045:16:22","nodeType":"YulExpressionStatement","src":"136045:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35665,"isOffset":false,"isSlot":false,"src":"135942:2:22","valueSize":1},{"declaration":35668,"isOffset":false,"isSlot":false,"src":"135971:2:22","valueSize":1},{"declaration":35671,"isOffset":false,"isSlot":false,"src":"136000:2:22","valueSize":1},{"declaration":35674,"isOffset":false,"isSlot":false,"src":"136029:2:22","valueSize":1},{"declaration":35677,"isOffset":false,"isSlot":false,"src":"136058:2:22","valueSize":1}],"id":35685,"nodeType":"InlineAssembly","src":"135906:165:22"}]},"id":35687,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"135208:3:22","nodeType":"FunctionDefinition","parameters":{"id":35662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35655,"mutability":"mutable","name":"p0","nameLocation":"135220:2:22","nodeType":"VariableDeclaration","scope":35687,"src":"135212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35654,"name":"address","nodeType":"ElementaryTypeName","src":"135212:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35657,"mutability":"mutable","name":"p1","nameLocation":"135232:2:22","nodeType":"VariableDeclaration","scope":35687,"src":"135224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35656,"name":"uint256","nodeType":"ElementaryTypeName","src":"135224:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35659,"mutability":"mutable","name":"p2","nameLocation":"135244:2:22","nodeType":"VariableDeclaration","scope":35687,"src":"135236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35658,"name":"uint256","nodeType":"ElementaryTypeName","src":"135236:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35661,"mutability":"mutable","name":"p3","nameLocation":"135256:2:22","nodeType":"VariableDeclaration","scope":35687,"src":"135248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35660,"name":"address","nodeType":"ElementaryTypeName","src":"135248:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"135211:48:22"},"returnParameters":{"id":35663,"nodeType":"ParameterList","parameters":[],"src":"135274:0:22"},"scope":44426,"src":"135199:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35720,"nodeType":"Block","src":"136155:800:22","statements":[{"assignments":[35699],"declarations":[{"constant":false,"id":35699,"mutability":"mutable","name":"m0","nameLocation":"136173:2:22","nodeType":"VariableDeclaration","scope":35720,"src":"136165:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136165:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35700,"nodeType":"VariableDeclarationStatement","src":"136165:10:22"},{"assignments":[35702],"declarations":[{"constant":false,"id":35702,"mutability":"mutable","name":"m1","nameLocation":"136193:2:22","nodeType":"VariableDeclaration","scope":35720,"src":"136185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136185:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35703,"nodeType":"VariableDeclarationStatement","src":"136185:10:22"},{"assignments":[35705],"declarations":[{"constant":false,"id":35705,"mutability":"mutable","name":"m2","nameLocation":"136213:2:22","nodeType":"VariableDeclaration","scope":35720,"src":"136205:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136205:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35706,"nodeType":"VariableDeclarationStatement","src":"136205:10:22"},{"assignments":[35708],"declarations":[{"constant":false,"id":35708,"mutability":"mutable","name":"m3","nameLocation":"136233:2:22","nodeType":"VariableDeclaration","scope":35720,"src":"136225:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136225:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35709,"nodeType":"VariableDeclarationStatement","src":"136225:10:22"},{"assignments":[35711],"declarations":[{"constant":false,"id":35711,"mutability":"mutable","name":"m4","nameLocation":"136253:2:22","nodeType":"VariableDeclaration","scope":35720,"src":"136245:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136245:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35712,"nodeType":"VariableDeclarationStatement","src":"136245:10:22"},{"AST":{"nativeSrc":"136317:378:22","nodeType":"YulBlock","src":"136317:378:22","statements":[{"nativeSrc":"136331:17:22","nodeType":"YulAssignment","src":"136331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"136343:4:22","nodeType":"YulLiteral","src":"136343:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"136337:5:22","nodeType":"YulIdentifier","src":"136337:5:22"},"nativeSrc":"136337:11:22","nodeType":"YulFunctionCall","src":"136337:11:22"},"variableNames":[{"name":"m0","nativeSrc":"136331:2:22","nodeType":"YulIdentifier","src":"136331:2:22"}]},{"nativeSrc":"136361:17:22","nodeType":"YulAssignment","src":"136361:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"136373:4:22","nodeType":"YulLiteral","src":"136373:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"136367:5:22","nodeType":"YulIdentifier","src":"136367:5:22"},"nativeSrc":"136367:11:22","nodeType":"YulFunctionCall","src":"136367:11:22"},"variableNames":[{"name":"m1","nativeSrc":"136361:2:22","nodeType":"YulIdentifier","src":"136361:2:22"}]},{"nativeSrc":"136391:17:22","nodeType":"YulAssignment","src":"136391:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"136403:4:22","nodeType":"YulLiteral","src":"136403:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"136397:5:22","nodeType":"YulIdentifier","src":"136397:5:22"},"nativeSrc":"136397:11:22","nodeType":"YulFunctionCall","src":"136397:11:22"},"variableNames":[{"name":"m2","nativeSrc":"136391:2:22","nodeType":"YulIdentifier","src":"136391:2:22"}]},{"nativeSrc":"136421:17:22","nodeType":"YulAssignment","src":"136421:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"136433:4:22","nodeType":"YulLiteral","src":"136433:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"136427:5:22","nodeType":"YulIdentifier","src":"136427:5:22"},"nativeSrc":"136427:11:22","nodeType":"YulFunctionCall","src":"136427:11:22"},"variableNames":[{"name":"m3","nativeSrc":"136421:2:22","nodeType":"YulIdentifier","src":"136421:2:22"}]},{"nativeSrc":"136451:17:22","nodeType":"YulAssignment","src":"136451:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"136463:4:22","nodeType":"YulLiteral","src":"136463:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"136457:5:22","nodeType":"YulIdentifier","src":"136457:5:22"},"nativeSrc":"136457:11:22","nodeType":"YulFunctionCall","src":"136457:11:22"},"variableNames":[{"name":"m4","nativeSrc":"136451:2:22","nodeType":"YulIdentifier","src":"136451:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136552:4:22","nodeType":"YulLiteral","src":"136552:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"136558:10:22","nodeType":"YulLiteral","src":"136558:10:22","type":"","value":"0x66f1bc67"}],"functionName":{"name":"mstore","nativeSrc":"136545:6:22","nodeType":"YulIdentifier","src":"136545:6:22"},"nativeSrc":"136545:24:22","nodeType":"YulFunctionCall","src":"136545:24:22"},"nativeSrc":"136545:24:22","nodeType":"YulExpressionStatement","src":"136545:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136589:4:22","nodeType":"YulLiteral","src":"136589:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"136595:2:22","nodeType":"YulIdentifier","src":"136595:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136582:6:22","nodeType":"YulIdentifier","src":"136582:6:22"},"nativeSrc":"136582:16:22","nodeType":"YulFunctionCall","src":"136582:16:22"},"nativeSrc":"136582:16:22","nodeType":"YulExpressionStatement","src":"136582:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136618:4:22","nodeType":"YulLiteral","src":"136618:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"136624:2:22","nodeType":"YulIdentifier","src":"136624:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136611:6:22","nodeType":"YulIdentifier","src":"136611:6:22"},"nativeSrc":"136611:16:22","nodeType":"YulFunctionCall","src":"136611:16:22"},"nativeSrc":"136611:16:22","nodeType":"YulExpressionStatement","src":"136611:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136647:4:22","nodeType":"YulLiteral","src":"136647:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"136653:2:22","nodeType":"YulIdentifier","src":"136653:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136640:6:22","nodeType":"YulIdentifier","src":"136640:6:22"},"nativeSrc":"136640:16:22","nodeType":"YulFunctionCall","src":"136640:16:22"},"nativeSrc":"136640:16:22","nodeType":"YulExpressionStatement","src":"136640:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136676:4:22","nodeType":"YulLiteral","src":"136676:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"136682:2:22","nodeType":"YulIdentifier","src":"136682:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136669:6:22","nodeType":"YulIdentifier","src":"136669:6:22"},"nativeSrc":"136669:16:22","nodeType":"YulFunctionCall","src":"136669:16:22"},"nativeSrc":"136669:16:22","nodeType":"YulExpressionStatement","src":"136669:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35699,"isOffset":false,"isSlot":false,"src":"136331:2:22","valueSize":1},{"declaration":35702,"isOffset":false,"isSlot":false,"src":"136361:2:22","valueSize":1},{"declaration":35705,"isOffset":false,"isSlot":false,"src":"136391:2:22","valueSize":1},{"declaration":35708,"isOffset":false,"isSlot":false,"src":"136421:2:22","valueSize":1},{"declaration":35711,"isOffset":false,"isSlot":false,"src":"136451:2:22","valueSize":1},{"declaration":35689,"isOffset":false,"isSlot":false,"src":"136595:2:22","valueSize":1},{"declaration":35691,"isOffset":false,"isSlot":false,"src":"136624:2:22","valueSize":1},{"declaration":35693,"isOffset":false,"isSlot":false,"src":"136653:2:22","valueSize":1},{"declaration":35695,"isOffset":false,"isSlot":false,"src":"136682:2:22","valueSize":1}],"id":35713,"nodeType":"InlineAssembly","src":"136308:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136720:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136726:4:22","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":35714,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"136704:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"136704:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35718,"nodeType":"ExpressionStatement","src":"136704:27:22"},{"AST":{"nativeSrc":"136793:156:22","nodeType":"YulBlock","src":"136793:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"136814:4:22","nodeType":"YulLiteral","src":"136814:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"136820:2:22","nodeType":"YulIdentifier","src":"136820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136807:6:22","nodeType":"YulIdentifier","src":"136807:6:22"},"nativeSrc":"136807:16:22","nodeType":"YulFunctionCall","src":"136807:16:22"},"nativeSrc":"136807:16:22","nodeType":"YulExpressionStatement","src":"136807:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136843:4:22","nodeType":"YulLiteral","src":"136843:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"136849:2:22","nodeType":"YulIdentifier","src":"136849:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136836:6:22","nodeType":"YulIdentifier","src":"136836:6:22"},"nativeSrc":"136836:16:22","nodeType":"YulFunctionCall","src":"136836:16:22"},"nativeSrc":"136836:16:22","nodeType":"YulExpressionStatement","src":"136836:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136872:4:22","nodeType":"YulLiteral","src":"136872:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136878:2:22","nodeType":"YulIdentifier","src":"136878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136865:6:22","nodeType":"YulIdentifier","src":"136865:6:22"},"nativeSrc":"136865:16:22","nodeType":"YulFunctionCall","src":"136865:16:22"},"nativeSrc":"136865:16:22","nodeType":"YulExpressionStatement","src":"136865:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136901:4:22","nodeType":"YulLiteral","src":"136901:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136907:2:22","nodeType":"YulIdentifier","src":"136907:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136894:6:22","nodeType":"YulIdentifier","src":"136894:6:22"},"nativeSrc":"136894:16:22","nodeType":"YulFunctionCall","src":"136894:16:22"},"nativeSrc":"136894:16:22","nodeType":"YulExpressionStatement","src":"136894:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136930:4:22","nodeType":"YulLiteral","src":"136930:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136936:2:22","nodeType":"YulIdentifier","src":"136936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"136923:6:22","nodeType":"YulIdentifier","src":"136923:6:22"},"nativeSrc":"136923:16:22","nodeType":"YulFunctionCall","src":"136923:16:22"},"nativeSrc":"136923:16:22","nodeType":"YulExpressionStatement","src":"136923:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35699,"isOffset":false,"isSlot":false,"src":"136820:2:22","valueSize":1},{"declaration":35702,"isOffset":false,"isSlot":false,"src":"136849:2:22","valueSize":1},{"declaration":35705,"isOffset":false,"isSlot":false,"src":"136878:2:22","valueSize":1},{"declaration":35708,"isOffset":false,"isSlot":false,"src":"136907:2:22","valueSize":1},{"declaration":35711,"isOffset":false,"isSlot":false,"src":"136936:2:22","valueSize":1}],"id":35719,"nodeType":"InlineAssembly","src":"136784:165:22"}]},"id":35721,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136092:3:22","nodeType":"FunctionDefinition","parameters":{"id":35696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35689,"mutability":"mutable","name":"p0","nameLocation":"136104:2:22","nodeType":"VariableDeclaration","scope":35721,"src":"136096:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35688,"name":"address","nodeType":"ElementaryTypeName","src":"136096:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35691,"mutability":"mutable","name":"p1","nameLocation":"136116:2:22","nodeType":"VariableDeclaration","scope":35721,"src":"136108:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35690,"name":"uint256","nodeType":"ElementaryTypeName","src":"136108:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35693,"mutability":"mutable","name":"p2","nameLocation":"136128:2:22","nodeType":"VariableDeclaration","scope":35721,"src":"136120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35692,"name":"uint256","nodeType":"ElementaryTypeName","src":"136120:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35695,"mutability":"mutable","name":"p3","nameLocation":"136137:2:22","nodeType":"VariableDeclaration","scope":35721,"src":"136132:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35694,"name":"bool","nodeType":"ElementaryTypeName","src":"136132:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"136095:45:22"},"returnParameters":{"id":35697,"nodeType":"ParameterList","parameters":[],"src":"136155:0:22"},"scope":44426,"src":"136083:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35754,"nodeType":"Block","src":"137036:803:22","statements":[{"assignments":[35733],"declarations":[{"constant":false,"id":35733,"mutability":"mutable","name":"m0","nameLocation":"137054:2:22","nodeType":"VariableDeclaration","scope":35754,"src":"137046:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137046:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35734,"nodeType":"VariableDeclarationStatement","src":"137046:10:22"},{"assignments":[35736],"declarations":[{"constant":false,"id":35736,"mutability":"mutable","name":"m1","nameLocation":"137074:2:22","nodeType":"VariableDeclaration","scope":35754,"src":"137066:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137066:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35737,"nodeType":"VariableDeclarationStatement","src":"137066:10:22"},{"assignments":[35739],"declarations":[{"constant":false,"id":35739,"mutability":"mutable","name":"m2","nameLocation":"137094:2:22","nodeType":"VariableDeclaration","scope":35754,"src":"137086:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137086:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35740,"nodeType":"VariableDeclarationStatement","src":"137086:10:22"},{"assignments":[35742],"declarations":[{"constant":false,"id":35742,"mutability":"mutable","name":"m3","nameLocation":"137114:2:22","nodeType":"VariableDeclaration","scope":35754,"src":"137106:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137106:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35743,"nodeType":"VariableDeclarationStatement","src":"137106:10:22"},{"assignments":[35745],"declarations":[{"constant":false,"id":35745,"mutability":"mutable","name":"m4","nameLocation":"137134:2:22","nodeType":"VariableDeclaration","scope":35754,"src":"137126:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137126:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35746,"nodeType":"VariableDeclarationStatement","src":"137126:10:22"},{"AST":{"nativeSrc":"137198:381:22","nodeType":"YulBlock","src":"137198:381:22","statements":[{"nativeSrc":"137212:17:22","nodeType":"YulAssignment","src":"137212:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"137224:4:22","nodeType":"YulLiteral","src":"137224:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"137218:5:22","nodeType":"YulIdentifier","src":"137218:5:22"},"nativeSrc":"137218:11:22","nodeType":"YulFunctionCall","src":"137218:11:22"},"variableNames":[{"name":"m0","nativeSrc":"137212:2:22","nodeType":"YulIdentifier","src":"137212:2:22"}]},{"nativeSrc":"137242:17:22","nodeType":"YulAssignment","src":"137242:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"137254:4:22","nodeType":"YulLiteral","src":"137254:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"137248:5:22","nodeType":"YulIdentifier","src":"137248:5:22"},"nativeSrc":"137248:11:22","nodeType":"YulFunctionCall","src":"137248:11:22"},"variableNames":[{"name":"m1","nativeSrc":"137242:2:22","nodeType":"YulIdentifier","src":"137242:2:22"}]},{"nativeSrc":"137272:17:22","nodeType":"YulAssignment","src":"137272:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"137284:4:22","nodeType":"YulLiteral","src":"137284:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"137278:5:22","nodeType":"YulIdentifier","src":"137278:5:22"},"nativeSrc":"137278:11:22","nodeType":"YulFunctionCall","src":"137278:11:22"},"variableNames":[{"name":"m2","nativeSrc":"137272:2:22","nodeType":"YulIdentifier","src":"137272:2:22"}]},{"nativeSrc":"137302:17:22","nodeType":"YulAssignment","src":"137302:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"137314:4:22","nodeType":"YulLiteral","src":"137314:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"137308:5:22","nodeType":"YulIdentifier","src":"137308:5:22"},"nativeSrc":"137308:11:22","nodeType":"YulFunctionCall","src":"137308:11:22"},"variableNames":[{"name":"m3","nativeSrc":"137302:2:22","nodeType":"YulIdentifier","src":"137302:2:22"}]},{"nativeSrc":"137332:17:22","nodeType":"YulAssignment","src":"137332:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"137344:4:22","nodeType":"YulLiteral","src":"137344:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"137338:5:22","nodeType":"YulIdentifier","src":"137338:5:22"},"nativeSrc":"137338:11:22","nodeType":"YulFunctionCall","src":"137338:11:22"},"variableNames":[{"name":"m4","nativeSrc":"137332:2:22","nodeType":"YulIdentifier","src":"137332:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137436:4:22","nodeType":"YulLiteral","src":"137436:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"137442:10:22","nodeType":"YulLiteral","src":"137442:10:22","type":"","value":"0x34f0e636"}],"functionName":{"name":"mstore","nativeSrc":"137429:6:22","nodeType":"YulIdentifier","src":"137429:6:22"},"nativeSrc":"137429:24:22","nodeType":"YulFunctionCall","src":"137429:24:22"},"nativeSrc":"137429:24:22","nodeType":"YulExpressionStatement","src":"137429:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137473:4:22","nodeType":"YulLiteral","src":"137473:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"137479:2:22","nodeType":"YulIdentifier","src":"137479:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137466:6:22","nodeType":"YulIdentifier","src":"137466:6:22"},"nativeSrc":"137466:16:22","nodeType":"YulFunctionCall","src":"137466:16:22"},"nativeSrc":"137466:16:22","nodeType":"YulExpressionStatement","src":"137466:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137502:4:22","nodeType":"YulLiteral","src":"137502:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"137508:2:22","nodeType":"YulIdentifier","src":"137508:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137495:6:22","nodeType":"YulIdentifier","src":"137495:6:22"},"nativeSrc":"137495:16:22","nodeType":"YulFunctionCall","src":"137495:16:22"},"nativeSrc":"137495:16:22","nodeType":"YulExpressionStatement","src":"137495:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137531:4:22","nodeType":"YulLiteral","src":"137531:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"137537:2:22","nodeType":"YulIdentifier","src":"137537:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137524:6:22","nodeType":"YulIdentifier","src":"137524:6:22"},"nativeSrc":"137524:16:22","nodeType":"YulFunctionCall","src":"137524:16:22"},"nativeSrc":"137524:16:22","nodeType":"YulExpressionStatement","src":"137524:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137560:4:22","nodeType":"YulLiteral","src":"137560:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"137566:2:22","nodeType":"YulIdentifier","src":"137566:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137553:6:22","nodeType":"YulIdentifier","src":"137553:6:22"},"nativeSrc":"137553:16:22","nodeType":"YulFunctionCall","src":"137553:16:22"},"nativeSrc":"137553:16:22","nodeType":"YulExpressionStatement","src":"137553:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35733,"isOffset":false,"isSlot":false,"src":"137212:2:22","valueSize":1},{"declaration":35736,"isOffset":false,"isSlot":false,"src":"137242:2:22","valueSize":1},{"declaration":35739,"isOffset":false,"isSlot":false,"src":"137272:2:22","valueSize":1},{"declaration":35742,"isOffset":false,"isSlot":false,"src":"137302:2:22","valueSize":1},{"declaration":35745,"isOffset":false,"isSlot":false,"src":"137332:2:22","valueSize":1},{"declaration":35723,"isOffset":false,"isSlot":false,"src":"137479:2:22","valueSize":1},{"declaration":35725,"isOffset":false,"isSlot":false,"src":"137508:2:22","valueSize":1},{"declaration":35727,"isOffset":false,"isSlot":false,"src":"137537:2:22","valueSize":1},{"declaration":35729,"isOffset":false,"isSlot":false,"src":"137566:2:22","valueSize":1}],"id":35747,"nodeType":"InlineAssembly","src":"137189:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137604:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137610:4:22","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":35748,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"137588:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"137588:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35752,"nodeType":"ExpressionStatement","src":"137588:27:22"},{"AST":{"nativeSrc":"137677:156:22","nodeType":"YulBlock","src":"137677:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"137698:4:22","nodeType":"YulLiteral","src":"137698:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"137704:2:22","nodeType":"YulIdentifier","src":"137704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137691:6:22","nodeType":"YulIdentifier","src":"137691:6:22"},"nativeSrc":"137691:16:22","nodeType":"YulFunctionCall","src":"137691:16:22"},"nativeSrc":"137691:16:22","nodeType":"YulExpressionStatement","src":"137691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137727:4:22","nodeType":"YulLiteral","src":"137727:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"137733:2:22","nodeType":"YulIdentifier","src":"137733:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137720:6:22","nodeType":"YulIdentifier","src":"137720:6:22"},"nativeSrc":"137720:16:22","nodeType":"YulFunctionCall","src":"137720:16:22"},"nativeSrc":"137720:16:22","nodeType":"YulExpressionStatement","src":"137720:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137756:4:22","nodeType":"YulLiteral","src":"137756:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"137762:2:22","nodeType":"YulIdentifier","src":"137762:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137749:6:22","nodeType":"YulIdentifier","src":"137749:6:22"},"nativeSrc":"137749:16:22","nodeType":"YulFunctionCall","src":"137749:16:22"},"nativeSrc":"137749:16:22","nodeType":"YulExpressionStatement","src":"137749:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137785:4:22","nodeType":"YulLiteral","src":"137785:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"137791:2:22","nodeType":"YulIdentifier","src":"137791:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137778:6:22","nodeType":"YulIdentifier","src":"137778:6:22"},"nativeSrc":"137778:16:22","nodeType":"YulFunctionCall","src":"137778:16:22"},"nativeSrc":"137778:16:22","nodeType":"YulExpressionStatement","src":"137778:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137814:4:22","nodeType":"YulLiteral","src":"137814:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"137820:2:22","nodeType":"YulIdentifier","src":"137820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"137807:6:22","nodeType":"YulIdentifier","src":"137807:6:22"},"nativeSrc":"137807:16:22","nodeType":"YulFunctionCall","src":"137807:16:22"},"nativeSrc":"137807:16:22","nodeType":"YulExpressionStatement","src":"137807:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35733,"isOffset":false,"isSlot":false,"src":"137704:2:22","valueSize":1},{"declaration":35736,"isOffset":false,"isSlot":false,"src":"137733:2:22","valueSize":1},{"declaration":35739,"isOffset":false,"isSlot":false,"src":"137762:2:22","valueSize":1},{"declaration":35742,"isOffset":false,"isSlot":false,"src":"137791:2:22","valueSize":1},{"declaration":35745,"isOffset":false,"isSlot":false,"src":"137820:2:22","valueSize":1}],"id":35753,"nodeType":"InlineAssembly","src":"137668:165:22"}]},"id":35755,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136970:3:22","nodeType":"FunctionDefinition","parameters":{"id":35730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35723,"mutability":"mutable","name":"p0","nameLocation":"136982:2:22","nodeType":"VariableDeclaration","scope":35755,"src":"136974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35722,"name":"address","nodeType":"ElementaryTypeName","src":"136974:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35725,"mutability":"mutable","name":"p1","nameLocation":"136994:2:22","nodeType":"VariableDeclaration","scope":35755,"src":"136986:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35724,"name":"uint256","nodeType":"ElementaryTypeName","src":"136986:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35727,"mutability":"mutable","name":"p2","nameLocation":"137006:2:22","nodeType":"VariableDeclaration","scope":35755,"src":"136998:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35726,"name":"uint256","nodeType":"ElementaryTypeName","src":"136998:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35729,"mutability":"mutable","name":"p3","nameLocation":"137018:2:22","nodeType":"VariableDeclaration","scope":35755,"src":"137010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35728,"name":"uint256","nodeType":"ElementaryTypeName","src":"137010:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"136973:48:22"},"returnParameters":{"id":35731,"nodeType":"ParameterList","parameters":[],"src":"137036:0:22"},"scope":44426,"src":"136961:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35794,"nodeType":"Block","src":"137920:1351:22","statements":[{"assignments":[35767],"declarations":[{"constant":false,"id":35767,"mutability":"mutable","name":"m0","nameLocation":"137938:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"137930:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137930:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35768,"nodeType":"VariableDeclarationStatement","src":"137930:10:22"},{"assignments":[35770],"declarations":[{"constant":false,"id":35770,"mutability":"mutable","name":"m1","nameLocation":"137958:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"137950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137950:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35771,"nodeType":"VariableDeclarationStatement","src":"137950:10:22"},{"assignments":[35773],"declarations":[{"constant":false,"id":35773,"mutability":"mutable","name":"m2","nameLocation":"137978:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"137970:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137970:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35774,"nodeType":"VariableDeclarationStatement","src":"137970:10:22"},{"assignments":[35776],"declarations":[{"constant":false,"id":35776,"mutability":"mutable","name":"m3","nameLocation":"137998:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"137990:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137990:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35777,"nodeType":"VariableDeclarationStatement","src":"137990:10:22"},{"assignments":[35779],"declarations":[{"constant":false,"id":35779,"mutability":"mutable","name":"m4","nameLocation":"138018:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"138010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138010:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35780,"nodeType":"VariableDeclarationStatement","src":"138010:10:22"},{"assignments":[35782],"declarations":[{"constant":false,"id":35782,"mutability":"mutable","name":"m5","nameLocation":"138038:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"138030:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138030:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35783,"nodeType":"VariableDeclarationStatement","src":"138030:10:22"},{"assignments":[35785],"declarations":[{"constant":false,"id":35785,"mutability":"mutable","name":"m6","nameLocation":"138058:2:22","nodeType":"VariableDeclaration","scope":35794,"src":"138050:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138050:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35786,"nodeType":"VariableDeclarationStatement","src":"138050:10:22"},{"AST":{"nativeSrc":"138122:831:22","nodeType":"YulBlock","src":"138122:831:22","statements":[{"body":{"nativeSrc":"138165:313:22","nodeType":"YulBlock","src":"138165:313:22","statements":[{"nativeSrc":"138183:15:22","nodeType":"YulVariableDeclaration","src":"138183:15:22","value":{"kind":"number","nativeSrc":"138197:1:22","nodeType":"YulLiteral","src":"138197:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"138187:6:22","nodeType":"YulTypedName","src":"138187:6:22","type":""}]},{"body":{"nativeSrc":"138268:40:22","nodeType":"YulBlock","src":"138268:40:22","statements":[{"body":{"nativeSrc":"138297:9:22","nodeType":"YulBlock","src":"138297:9:22","statements":[{"nativeSrc":"138299:5:22","nodeType":"YulBreak","src":"138299:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"138285:6:22","nodeType":"YulIdentifier","src":"138285:6:22"},{"name":"w","nativeSrc":"138293:1:22","nodeType":"YulIdentifier","src":"138293:1:22"}],"functionName":{"name":"byte","nativeSrc":"138280:4:22","nodeType":"YulIdentifier","src":"138280:4:22"},"nativeSrc":"138280:15:22","nodeType":"YulFunctionCall","src":"138280:15:22"}],"functionName":{"name":"iszero","nativeSrc":"138273:6:22","nodeType":"YulIdentifier","src":"138273:6:22"},"nativeSrc":"138273:23:22","nodeType":"YulFunctionCall","src":"138273:23:22"},"nativeSrc":"138270:36:22","nodeType":"YulIf","src":"138270:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"138225:6:22","nodeType":"YulIdentifier","src":"138225:6:22"},{"kind":"number","nativeSrc":"138233:4:22","nodeType":"YulLiteral","src":"138233:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"138222:2:22","nodeType":"YulIdentifier","src":"138222:2:22"},"nativeSrc":"138222:16:22","nodeType":"YulFunctionCall","src":"138222:16:22"},"nativeSrc":"138215:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"138239:28:22","nodeType":"YulBlock","src":"138239:28:22","statements":[{"nativeSrc":"138241:24:22","nodeType":"YulAssignment","src":"138241:24:22","value":{"arguments":[{"name":"length","nativeSrc":"138255:6:22","nodeType":"YulIdentifier","src":"138255:6:22"},{"kind":"number","nativeSrc":"138263:1:22","nodeType":"YulLiteral","src":"138263:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"138251:3:22","nodeType":"YulIdentifier","src":"138251:3:22"},"nativeSrc":"138251:14:22","nodeType":"YulFunctionCall","src":"138251:14:22"},"variableNames":[{"name":"length","nativeSrc":"138241:6:22","nodeType":"YulIdentifier","src":"138241:6:22"}]}]},"pre":{"nativeSrc":"138219:2:22","nodeType":"YulBlock","src":"138219:2:22","statements":[]},"src":"138215:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"138332:3:22","nodeType":"YulIdentifier","src":"138332:3:22"},{"name":"length","nativeSrc":"138337:6:22","nodeType":"YulIdentifier","src":"138337:6:22"}],"functionName":{"name":"mstore","nativeSrc":"138325:6:22","nodeType":"YulIdentifier","src":"138325:6:22"},"nativeSrc":"138325:19:22","nodeType":"YulFunctionCall","src":"138325:19:22"},"nativeSrc":"138325:19:22","nodeType":"YulExpressionStatement","src":"138325:19:22"},{"nativeSrc":"138361:37:22","nodeType":"YulVariableDeclaration","src":"138361:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"138378:3:22","nodeType":"YulLiteral","src":"138378:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"138387:1:22","nodeType":"YulLiteral","src":"138387:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"138390:6:22","nodeType":"YulIdentifier","src":"138390:6:22"}],"functionName":{"name":"shl","nativeSrc":"138383:3:22","nodeType":"YulIdentifier","src":"138383:3:22"},"nativeSrc":"138383:14:22","nodeType":"YulFunctionCall","src":"138383:14:22"}],"functionName":{"name":"sub","nativeSrc":"138374:3:22","nodeType":"YulIdentifier","src":"138374:3:22"},"nativeSrc":"138374:24:22","nodeType":"YulFunctionCall","src":"138374:24:22"},"variables":[{"name":"shift","nativeSrc":"138365:5:22","nodeType":"YulTypedName","src":"138365:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"138426:3:22","nodeType":"YulIdentifier","src":"138426:3:22"},{"kind":"number","nativeSrc":"138431:4:22","nodeType":"YulLiteral","src":"138431:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"138422:3:22","nodeType":"YulIdentifier","src":"138422:3:22"},"nativeSrc":"138422:14:22","nodeType":"YulFunctionCall","src":"138422:14:22"},{"arguments":[{"name":"shift","nativeSrc":"138442:5:22","nodeType":"YulIdentifier","src":"138442:5:22"},{"arguments":[{"name":"shift","nativeSrc":"138453:5:22","nodeType":"YulIdentifier","src":"138453:5:22"},{"name":"w","nativeSrc":"138460:1:22","nodeType":"YulIdentifier","src":"138460:1:22"}],"functionName":{"name":"shr","nativeSrc":"138449:3:22","nodeType":"YulIdentifier","src":"138449:3:22"},"nativeSrc":"138449:13:22","nodeType":"YulFunctionCall","src":"138449:13:22"}],"functionName":{"name":"shl","nativeSrc":"138438:3:22","nodeType":"YulIdentifier","src":"138438:3:22"},"nativeSrc":"138438:25:22","nodeType":"YulFunctionCall","src":"138438:25:22"}],"functionName":{"name":"mstore","nativeSrc":"138415:6:22","nodeType":"YulIdentifier","src":"138415:6:22"},"nativeSrc":"138415:49:22","nodeType":"YulFunctionCall","src":"138415:49:22"},"nativeSrc":"138415:49:22","nodeType":"YulExpressionStatement","src":"138415:49:22"}]},"name":"writeString","nativeSrc":"138136:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"138157:3:22","nodeType":"YulTypedName","src":"138157:3:22","type":""},{"name":"w","nativeSrc":"138162:1:22","nodeType":"YulTypedName","src":"138162:1:22","type":""}],"src":"138136:342:22"},{"nativeSrc":"138491:17:22","nodeType":"YulAssignment","src":"138491:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138503:4:22","nodeType":"YulLiteral","src":"138503:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"138497:5:22","nodeType":"YulIdentifier","src":"138497:5:22"},"nativeSrc":"138497:11:22","nodeType":"YulFunctionCall","src":"138497:11:22"},"variableNames":[{"name":"m0","nativeSrc":"138491:2:22","nodeType":"YulIdentifier","src":"138491:2:22"}]},{"nativeSrc":"138521:17:22","nodeType":"YulAssignment","src":"138521:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138533:4:22","nodeType":"YulLiteral","src":"138533:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"138527:5:22","nodeType":"YulIdentifier","src":"138527:5:22"},"nativeSrc":"138527:11:22","nodeType":"YulFunctionCall","src":"138527:11:22"},"variableNames":[{"name":"m1","nativeSrc":"138521:2:22","nodeType":"YulIdentifier","src":"138521:2:22"}]},{"nativeSrc":"138551:17:22","nodeType":"YulAssignment","src":"138551:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138563:4:22","nodeType":"YulLiteral","src":"138563:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"138557:5:22","nodeType":"YulIdentifier","src":"138557:5:22"},"nativeSrc":"138557:11:22","nodeType":"YulFunctionCall","src":"138557:11:22"},"variableNames":[{"name":"m2","nativeSrc":"138551:2:22","nodeType":"YulIdentifier","src":"138551:2:22"}]},{"nativeSrc":"138581:17:22","nodeType":"YulAssignment","src":"138581:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138593:4:22","nodeType":"YulLiteral","src":"138593:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"138587:5:22","nodeType":"YulIdentifier","src":"138587:5:22"},"nativeSrc":"138587:11:22","nodeType":"YulFunctionCall","src":"138587:11:22"},"variableNames":[{"name":"m3","nativeSrc":"138581:2:22","nodeType":"YulIdentifier","src":"138581:2:22"}]},{"nativeSrc":"138611:17:22","nodeType":"YulAssignment","src":"138611:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138623:4:22","nodeType":"YulLiteral","src":"138623:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"138617:5:22","nodeType":"YulIdentifier","src":"138617:5:22"},"nativeSrc":"138617:11:22","nodeType":"YulFunctionCall","src":"138617:11:22"},"variableNames":[{"name":"m4","nativeSrc":"138611:2:22","nodeType":"YulIdentifier","src":"138611:2:22"}]},{"nativeSrc":"138641:17:22","nodeType":"YulAssignment","src":"138641:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138653:4:22","nodeType":"YulLiteral","src":"138653:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"138647:5:22","nodeType":"YulIdentifier","src":"138647:5:22"},"nativeSrc":"138647:11:22","nodeType":"YulFunctionCall","src":"138647:11:22"},"variableNames":[{"name":"m5","nativeSrc":"138641:2:22","nodeType":"YulIdentifier","src":"138641:2:22"}]},{"nativeSrc":"138671:17:22","nodeType":"YulAssignment","src":"138671:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"138683:4:22","nodeType":"YulLiteral","src":"138683:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"138677:5:22","nodeType":"YulIdentifier","src":"138677:5:22"},"nativeSrc":"138677:11:22","nodeType":"YulFunctionCall","src":"138677:11:22"},"variableNames":[{"name":"m6","nativeSrc":"138671:2:22","nodeType":"YulIdentifier","src":"138671:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138774:4:22","nodeType":"YulLiteral","src":"138774:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"138780:10:22","nodeType":"YulLiteral","src":"138780:10:22","type":"","value":"0x4a28c017"}],"functionName":{"name":"mstore","nativeSrc":"138767:6:22","nodeType":"YulIdentifier","src":"138767:6:22"},"nativeSrc":"138767:24:22","nodeType":"YulFunctionCall","src":"138767:24:22"},"nativeSrc":"138767:24:22","nodeType":"YulExpressionStatement","src":"138767:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138811:4:22","nodeType":"YulLiteral","src":"138811:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"138817:2:22","nodeType":"YulIdentifier","src":"138817:2:22"}],"functionName":{"name":"mstore","nativeSrc":"138804:6:22","nodeType":"YulIdentifier","src":"138804:6:22"},"nativeSrc":"138804:16:22","nodeType":"YulFunctionCall","src":"138804:16:22"},"nativeSrc":"138804:16:22","nodeType":"YulExpressionStatement","src":"138804:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138840:4:22","nodeType":"YulLiteral","src":"138840:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"138846:2:22","nodeType":"YulIdentifier","src":"138846:2:22"}],"functionName":{"name":"mstore","nativeSrc":"138833:6:22","nodeType":"YulIdentifier","src":"138833:6:22"},"nativeSrc":"138833:16:22","nodeType":"YulFunctionCall","src":"138833:16:22"},"nativeSrc":"138833:16:22","nodeType":"YulExpressionStatement","src":"138833:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138869:4:22","nodeType":"YulLiteral","src":"138869:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"138875:2:22","nodeType":"YulIdentifier","src":"138875:2:22"}],"functionName":{"name":"mstore","nativeSrc":"138862:6:22","nodeType":"YulIdentifier","src":"138862:6:22"},"nativeSrc":"138862:16:22","nodeType":"YulFunctionCall","src":"138862:16:22"},"nativeSrc":"138862:16:22","nodeType":"YulExpressionStatement","src":"138862:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138898:4:22","nodeType":"YulLiteral","src":"138898:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"138904:4:22","nodeType":"YulLiteral","src":"138904:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"138891:6:22","nodeType":"YulIdentifier","src":"138891:6:22"},"nativeSrc":"138891:18:22","nodeType":"YulFunctionCall","src":"138891:18:22"},"nativeSrc":"138891:18:22","nodeType":"YulExpressionStatement","src":"138891:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138934:4:22","nodeType":"YulLiteral","src":"138934:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"138940:2:22","nodeType":"YulIdentifier","src":"138940:2:22"}],"functionName":{"name":"writeString","nativeSrc":"138922:11:22","nodeType":"YulIdentifier","src":"138922:11:22"},"nativeSrc":"138922:21:22","nodeType":"YulFunctionCall","src":"138922:21:22"},"nativeSrc":"138922:21:22","nodeType":"YulExpressionStatement","src":"138922:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35767,"isOffset":false,"isSlot":false,"src":"138491:2:22","valueSize":1},{"declaration":35770,"isOffset":false,"isSlot":false,"src":"138521:2:22","valueSize":1},{"declaration":35773,"isOffset":false,"isSlot":false,"src":"138551:2:22","valueSize":1},{"declaration":35776,"isOffset":false,"isSlot":false,"src":"138581:2:22","valueSize":1},{"declaration":35779,"isOffset":false,"isSlot":false,"src":"138611:2:22","valueSize":1},{"declaration":35782,"isOffset":false,"isSlot":false,"src":"138641:2:22","valueSize":1},{"declaration":35785,"isOffset":false,"isSlot":false,"src":"138671:2:22","valueSize":1},{"declaration":35757,"isOffset":false,"isSlot":false,"src":"138817:2:22","valueSize":1},{"declaration":35759,"isOffset":false,"isSlot":false,"src":"138846:2:22","valueSize":1},{"declaration":35761,"isOffset":false,"isSlot":false,"src":"138875:2:22","valueSize":1},{"declaration":35763,"isOffset":false,"isSlot":false,"src":"138940:2:22","valueSize":1}],"id":35787,"nodeType":"InlineAssembly","src":"138113:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138978:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138984:4:22","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":35788,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"138962:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"138962:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35792,"nodeType":"ExpressionStatement","src":"138962:27:22"},{"AST":{"nativeSrc":"139051:214:22","nodeType":"YulBlock","src":"139051:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"139072:4:22","nodeType":"YulLiteral","src":"139072:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"139078:2:22","nodeType":"YulIdentifier","src":"139078:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139065:6:22","nodeType":"YulIdentifier","src":"139065:6:22"},"nativeSrc":"139065:16:22","nodeType":"YulFunctionCall","src":"139065:16:22"},"nativeSrc":"139065:16:22","nodeType":"YulExpressionStatement","src":"139065:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139101:4:22","nodeType":"YulLiteral","src":"139101:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"139107:2:22","nodeType":"YulIdentifier","src":"139107:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139094:6:22","nodeType":"YulIdentifier","src":"139094:6:22"},"nativeSrc":"139094:16:22","nodeType":"YulFunctionCall","src":"139094:16:22"},"nativeSrc":"139094:16:22","nodeType":"YulExpressionStatement","src":"139094:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139130:4:22","nodeType":"YulLiteral","src":"139130:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"139136:2:22","nodeType":"YulIdentifier","src":"139136:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139123:6:22","nodeType":"YulIdentifier","src":"139123:6:22"},"nativeSrc":"139123:16:22","nodeType":"YulFunctionCall","src":"139123:16:22"},"nativeSrc":"139123:16:22","nodeType":"YulExpressionStatement","src":"139123:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139159:4:22","nodeType":"YulLiteral","src":"139159:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"139165:2:22","nodeType":"YulIdentifier","src":"139165:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139152:6:22","nodeType":"YulIdentifier","src":"139152:6:22"},"nativeSrc":"139152:16:22","nodeType":"YulFunctionCall","src":"139152:16:22"},"nativeSrc":"139152:16:22","nodeType":"YulExpressionStatement","src":"139152:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139188:4:22","nodeType":"YulLiteral","src":"139188:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"139194:2:22","nodeType":"YulIdentifier","src":"139194:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139181:6:22","nodeType":"YulIdentifier","src":"139181:6:22"},"nativeSrc":"139181:16:22","nodeType":"YulFunctionCall","src":"139181:16:22"},"nativeSrc":"139181:16:22","nodeType":"YulExpressionStatement","src":"139181:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139217:4:22","nodeType":"YulLiteral","src":"139217:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"139223:2:22","nodeType":"YulIdentifier","src":"139223:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139210:6:22","nodeType":"YulIdentifier","src":"139210:6:22"},"nativeSrc":"139210:16:22","nodeType":"YulFunctionCall","src":"139210:16:22"},"nativeSrc":"139210:16:22","nodeType":"YulExpressionStatement","src":"139210:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139246:4:22","nodeType":"YulLiteral","src":"139246:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"139252:2:22","nodeType":"YulIdentifier","src":"139252:2:22"}],"functionName":{"name":"mstore","nativeSrc":"139239:6:22","nodeType":"YulIdentifier","src":"139239:6:22"},"nativeSrc":"139239:16:22","nodeType":"YulFunctionCall","src":"139239:16:22"},"nativeSrc":"139239:16:22","nodeType":"YulExpressionStatement","src":"139239:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35767,"isOffset":false,"isSlot":false,"src":"139078:2:22","valueSize":1},{"declaration":35770,"isOffset":false,"isSlot":false,"src":"139107:2:22","valueSize":1},{"declaration":35773,"isOffset":false,"isSlot":false,"src":"139136:2:22","valueSize":1},{"declaration":35776,"isOffset":false,"isSlot":false,"src":"139165:2:22","valueSize":1},{"declaration":35779,"isOffset":false,"isSlot":false,"src":"139194:2:22","valueSize":1},{"declaration":35782,"isOffset":false,"isSlot":false,"src":"139223:2:22","valueSize":1},{"declaration":35785,"isOffset":false,"isSlot":false,"src":"139252:2:22","valueSize":1}],"id":35793,"nodeType":"InlineAssembly","src":"139042:223:22"}]},"id":35795,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"137854:3:22","nodeType":"FunctionDefinition","parameters":{"id":35764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35757,"mutability":"mutable","name":"p0","nameLocation":"137866:2:22","nodeType":"VariableDeclaration","scope":35795,"src":"137858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35756,"name":"address","nodeType":"ElementaryTypeName","src":"137858:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35759,"mutability":"mutable","name":"p1","nameLocation":"137878:2:22","nodeType":"VariableDeclaration","scope":35795,"src":"137870:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35758,"name":"uint256","nodeType":"ElementaryTypeName","src":"137870:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35761,"mutability":"mutable","name":"p2","nameLocation":"137890:2:22","nodeType":"VariableDeclaration","scope":35795,"src":"137882:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35760,"name":"uint256","nodeType":"ElementaryTypeName","src":"137882:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35763,"mutability":"mutable","name":"p3","nameLocation":"137902:2:22","nodeType":"VariableDeclaration","scope":35795,"src":"137894:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137894:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"137857:48:22"},"returnParameters":{"id":35765,"nodeType":"ParameterList","parameters":[],"src":"137920:0:22"},"scope":44426,"src":"137845:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35834,"nodeType":"Block","src":"139352:1351:22","statements":[{"assignments":[35807],"declarations":[{"constant":false,"id":35807,"mutability":"mutable","name":"m0","nameLocation":"139370:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139362:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139362:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35808,"nodeType":"VariableDeclarationStatement","src":"139362:10:22"},{"assignments":[35810],"declarations":[{"constant":false,"id":35810,"mutability":"mutable","name":"m1","nameLocation":"139390:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139382:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139382:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35811,"nodeType":"VariableDeclarationStatement","src":"139382:10:22"},{"assignments":[35813],"declarations":[{"constant":false,"id":35813,"mutability":"mutable","name":"m2","nameLocation":"139410:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139402:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139402:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35814,"nodeType":"VariableDeclarationStatement","src":"139402:10:22"},{"assignments":[35816],"declarations":[{"constant":false,"id":35816,"mutability":"mutable","name":"m3","nameLocation":"139430:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139422:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139422:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35817,"nodeType":"VariableDeclarationStatement","src":"139422:10:22"},{"assignments":[35819],"declarations":[{"constant":false,"id":35819,"mutability":"mutable","name":"m4","nameLocation":"139450:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139442:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35818,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139442:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35820,"nodeType":"VariableDeclarationStatement","src":"139442:10:22"},{"assignments":[35822],"declarations":[{"constant":false,"id":35822,"mutability":"mutable","name":"m5","nameLocation":"139470:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139462:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139462:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35823,"nodeType":"VariableDeclarationStatement","src":"139462:10:22"},{"assignments":[35825],"declarations":[{"constant":false,"id":35825,"mutability":"mutable","name":"m6","nameLocation":"139490:2:22","nodeType":"VariableDeclaration","scope":35834,"src":"139482:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139482:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35826,"nodeType":"VariableDeclarationStatement","src":"139482:10:22"},{"AST":{"nativeSrc":"139554:831:22","nodeType":"YulBlock","src":"139554:831:22","statements":[{"body":{"nativeSrc":"139597:313:22","nodeType":"YulBlock","src":"139597:313:22","statements":[{"nativeSrc":"139615:15:22","nodeType":"YulVariableDeclaration","src":"139615:15:22","value":{"kind":"number","nativeSrc":"139629:1:22","nodeType":"YulLiteral","src":"139629:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"139619:6:22","nodeType":"YulTypedName","src":"139619:6:22","type":""}]},{"body":{"nativeSrc":"139700:40:22","nodeType":"YulBlock","src":"139700:40:22","statements":[{"body":{"nativeSrc":"139729:9:22","nodeType":"YulBlock","src":"139729:9:22","statements":[{"nativeSrc":"139731:5:22","nodeType":"YulBreak","src":"139731:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"139717:6:22","nodeType":"YulIdentifier","src":"139717:6:22"},{"name":"w","nativeSrc":"139725:1:22","nodeType":"YulIdentifier","src":"139725:1:22"}],"functionName":{"name":"byte","nativeSrc":"139712:4:22","nodeType":"YulIdentifier","src":"139712:4:22"},"nativeSrc":"139712:15:22","nodeType":"YulFunctionCall","src":"139712:15:22"}],"functionName":{"name":"iszero","nativeSrc":"139705:6:22","nodeType":"YulIdentifier","src":"139705:6:22"},"nativeSrc":"139705:23:22","nodeType":"YulFunctionCall","src":"139705:23:22"},"nativeSrc":"139702:36:22","nodeType":"YulIf","src":"139702:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"139657:6:22","nodeType":"YulIdentifier","src":"139657:6:22"},{"kind":"number","nativeSrc":"139665:4:22","nodeType":"YulLiteral","src":"139665:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"139654:2:22","nodeType":"YulIdentifier","src":"139654:2:22"},"nativeSrc":"139654:16:22","nodeType":"YulFunctionCall","src":"139654:16:22"},"nativeSrc":"139647:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"139671:28:22","nodeType":"YulBlock","src":"139671:28:22","statements":[{"nativeSrc":"139673:24:22","nodeType":"YulAssignment","src":"139673:24:22","value":{"arguments":[{"name":"length","nativeSrc":"139687:6:22","nodeType":"YulIdentifier","src":"139687:6:22"},{"kind":"number","nativeSrc":"139695:1:22","nodeType":"YulLiteral","src":"139695:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"139683:3:22","nodeType":"YulIdentifier","src":"139683:3:22"},"nativeSrc":"139683:14:22","nodeType":"YulFunctionCall","src":"139683:14:22"},"variableNames":[{"name":"length","nativeSrc":"139673:6:22","nodeType":"YulIdentifier","src":"139673:6:22"}]}]},"pre":{"nativeSrc":"139651:2:22","nodeType":"YulBlock","src":"139651:2:22","statements":[]},"src":"139647:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"139764:3:22","nodeType":"YulIdentifier","src":"139764:3:22"},{"name":"length","nativeSrc":"139769:6:22","nodeType":"YulIdentifier","src":"139769:6:22"}],"functionName":{"name":"mstore","nativeSrc":"139757:6:22","nodeType":"YulIdentifier","src":"139757:6:22"},"nativeSrc":"139757:19:22","nodeType":"YulFunctionCall","src":"139757:19:22"},"nativeSrc":"139757:19:22","nodeType":"YulExpressionStatement","src":"139757:19:22"},{"nativeSrc":"139793:37:22","nodeType":"YulVariableDeclaration","src":"139793:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"139810:3:22","nodeType":"YulLiteral","src":"139810:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"139819:1:22","nodeType":"YulLiteral","src":"139819:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"139822:6:22","nodeType":"YulIdentifier","src":"139822:6:22"}],"functionName":{"name":"shl","nativeSrc":"139815:3:22","nodeType":"YulIdentifier","src":"139815:3:22"},"nativeSrc":"139815:14:22","nodeType":"YulFunctionCall","src":"139815:14:22"}],"functionName":{"name":"sub","nativeSrc":"139806:3:22","nodeType":"YulIdentifier","src":"139806:3:22"},"nativeSrc":"139806:24:22","nodeType":"YulFunctionCall","src":"139806:24:22"},"variables":[{"name":"shift","nativeSrc":"139797:5:22","nodeType":"YulTypedName","src":"139797:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"139858:3:22","nodeType":"YulIdentifier","src":"139858:3:22"},{"kind":"number","nativeSrc":"139863:4:22","nodeType":"YulLiteral","src":"139863:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"139854:3:22","nodeType":"YulIdentifier","src":"139854:3:22"},"nativeSrc":"139854:14:22","nodeType":"YulFunctionCall","src":"139854:14:22"},{"arguments":[{"name":"shift","nativeSrc":"139874:5:22","nodeType":"YulIdentifier","src":"139874:5:22"},{"arguments":[{"name":"shift","nativeSrc":"139885:5:22","nodeType":"YulIdentifier","src":"139885:5:22"},{"name":"w","nativeSrc":"139892:1:22","nodeType":"YulIdentifier","src":"139892:1:22"}],"functionName":{"name":"shr","nativeSrc":"139881:3:22","nodeType":"YulIdentifier","src":"139881:3:22"},"nativeSrc":"139881:13:22","nodeType":"YulFunctionCall","src":"139881:13:22"}],"functionName":{"name":"shl","nativeSrc":"139870:3:22","nodeType":"YulIdentifier","src":"139870:3:22"},"nativeSrc":"139870:25:22","nodeType":"YulFunctionCall","src":"139870:25:22"}],"functionName":{"name":"mstore","nativeSrc":"139847:6:22","nodeType":"YulIdentifier","src":"139847:6:22"},"nativeSrc":"139847:49:22","nodeType":"YulFunctionCall","src":"139847:49:22"},"nativeSrc":"139847:49:22","nodeType":"YulExpressionStatement","src":"139847:49:22"}]},"name":"writeString","nativeSrc":"139568:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"139589:3:22","nodeType":"YulTypedName","src":"139589:3:22","type":""},{"name":"w","nativeSrc":"139594:1:22","nodeType":"YulTypedName","src":"139594:1:22","type":""}],"src":"139568:342:22"},{"nativeSrc":"139923:17:22","nodeType":"YulAssignment","src":"139923:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"139935:4:22","nodeType":"YulLiteral","src":"139935:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"139929:5:22","nodeType":"YulIdentifier","src":"139929:5:22"},"nativeSrc":"139929:11:22","nodeType":"YulFunctionCall","src":"139929:11:22"},"variableNames":[{"name":"m0","nativeSrc":"139923:2:22","nodeType":"YulIdentifier","src":"139923:2:22"}]},{"nativeSrc":"139953:17:22","nodeType":"YulAssignment","src":"139953:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"139965:4:22","nodeType":"YulLiteral","src":"139965:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"139959:5:22","nodeType":"YulIdentifier","src":"139959:5:22"},"nativeSrc":"139959:11:22","nodeType":"YulFunctionCall","src":"139959:11:22"},"variableNames":[{"name":"m1","nativeSrc":"139953:2:22","nodeType":"YulIdentifier","src":"139953:2:22"}]},{"nativeSrc":"139983:17:22","nodeType":"YulAssignment","src":"139983:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"139995:4:22","nodeType":"YulLiteral","src":"139995:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"139989:5:22","nodeType":"YulIdentifier","src":"139989:5:22"},"nativeSrc":"139989:11:22","nodeType":"YulFunctionCall","src":"139989:11:22"},"variableNames":[{"name":"m2","nativeSrc":"139983:2:22","nodeType":"YulIdentifier","src":"139983:2:22"}]},{"nativeSrc":"140013:17:22","nodeType":"YulAssignment","src":"140013:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"140025:4:22","nodeType":"YulLiteral","src":"140025:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"140019:5:22","nodeType":"YulIdentifier","src":"140019:5:22"},"nativeSrc":"140019:11:22","nodeType":"YulFunctionCall","src":"140019:11:22"},"variableNames":[{"name":"m3","nativeSrc":"140013:2:22","nodeType":"YulIdentifier","src":"140013:2:22"}]},{"nativeSrc":"140043:17:22","nodeType":"YulAssignment","src":"140043:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"140055:4:22","nodeType":"YulLiteral","src":"140055:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"140049:5:22","nodeType":"YulIdentifier","src":"140049:5:22"},"nativeSrc":"140049:11:22","nodeType":"YulFunctionCall","src":"140049:11:22"},"variableNames":[{"name":"m4","nativeSrc":"140043:2:22","nodeType":"YulIdentifier","src":"140043:2:22"}]},{"nativeSrc":"140073:17:22","nodeType":"YulAssignment","src":"140073:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"140085:4:22","nodeType":"YulLiteral","src":"140085:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"140079:5:22","nodeType":"YulIdentifier","src":"140079:5:22"},"nativeSrc":"140079:11:22","nodeType":"YulFunctionCall","src":"140079:11:22"},"variableNames":[{"name":"m5","nativeSrc":"140073:2:22","nodeType":"YulIdentifier","src":"140073:2:22"}]},{"nativeSrc":"140103:17:22","nodeType":"YulAssignment","src":"140103:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"140115:4:22","nodeType":"YulLiteral","src":"140115:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"140109:5:22","nodeType":"YulIdentifier","src":"140109:5:22"},"nativeSrc":"140109:11:22","nodeType":"YulFunctionCall","src":"140109:11:22"},"variableNames":[{"name":"m6","nativeSrc":"140103:2:22","nodeType":"YulIdentifier","src":"140103:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140206:4:22","nodeType":"YulLiteral","src":"140206:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"140212:10:22","nodeType":"YulLiteral","src":"140212:10:22","type":"","value":"0x5c430d47"}],"functionName":{"name":"mstore","nativeSrc":"140199:6:22","nodeType":"YulIdentifier","src":"140199:6:22"},"nativeSrc":"140199:24:22","nodeType":"YulFunctionCall","src":"140199:24:22"},"nativeSrc":"140199:24:22","nodeType":"YulExpressionStatement","src":"140199:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140243:4:22","nodeType":"YulLiteral","src":"140243:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"140249:2:22","nodeType":"YulIdentifier","src":"140249:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140236:6:22","nodeType":"YulIdentifier","src":"140236:6:22"},"nativeSrc":"140236:16:22","nodeType":"YulFunctionCall","src":"140236:16:22"},"nativeSrc":"140236:16:22","nodeType":"YulExpressionStatement","src":"140236:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140272:4:22","nodeType":"YulLiteral","src":"140272:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"140278:2:22","nodeType":"YulIdentifier","src":"140278:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140265:6:22","nodeType":"YulIdentifier","src":"140265:6:22"},"nativeSrc":"140265:16:22","nodeType":"YulFunctionCall","src":"140265:16:22"},"nativeSrc":"140265:16:22","nodeType":"YulExpressionStatement","src":"140265:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140301:4:22","nodeType":"YulLiteral","src":"140301:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"140307:4:22","nodeType":"YulLiteral","src":"140307:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"140294:6:22","nodeType":"YulIdentifier","src":"140294:6:22"},"nativeSrc":"140294:18:22","nodeType":"YulFunctionCall","src":"140294:18:22"},"nativeSrc":"140294:18:22","nodeType":"YulExpressionStatement","src":"140294:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140332:4:22","nodeType":"YulLiteral","src":"140332:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"140338:2:22","nodeType":"YulIdentifier","src":"140338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140325:6:22","nodeType":"YulIdentifier","src":"140325:6:22"},"nativeSrc":"140325:16:22","nodeType":"YulFunctionCall","src":"140325:16:22"},"nativeSrc":"140325:16:22","nodeType":"YulExpressionStatement","src":"140325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140366:4:22","nodeType":"YulLiteral","src":"140366:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"140372:2:22","nodeType":"YulIdentifier","src":"140372:2:22"}],"functionName":{"name":"writeString","nativeSrc":"140354:11:22","nodeType":"YulIdentifier","src":"140354:11:22"},"nativeSrc":"140354:21:22","nodeType":"YulFunctionCall","src":"140354:21:22"},"nativeSrc":"140354:21:22","nodeType":"YulExpressionStatement","src":"140354:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35807,"isOffset":false,"isSlot":false,"src":"139923:2:22","valueSize":1},{"declaration":35810,"isOffset":false,"isSlot":false,"src":"139953:2:22","valueSize":1},{"declaration":35813,"isOffset":false,"isSlot":false,"src":"139983:2:22","valueSize":1},{"declaration":35816,"isOffset":false,"isSlot":false,"src":"140013:2:22","valueSize":1},{"declaration":35819,"isOffset":false,"isSlot":false,"src":"140043:2:22","valueSize":1},{"declaration":35822,"isOffset":false,"isSlot":false,"src":"140073:2:22","valueSize":1},{"declaration":35825,"isOffset":false,"isSlot":false,"src":"140103:2:22","valueSize":1},{"declaration":35797,"isOffset":false,"isSlot":false,"src":"140249:2:22","valueSize":1},{"declaration":35799,"isOffset":false,"isSlot":false,"src":"140278:2:22","valueSize":1},{"declaration":35801,"isOffset":false,"isSlot":false,"src":"140372:2:22","valueSize":1},{"declaration":35803,"isOffset":false,"isSlot":false,"src":"140338:2:22","valueSize":1}],"id":35827,"nodeType":"InlineAssembly","src":"139545:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140410:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140416:4:22","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":35828,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"140394:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"140394:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35832,"nodeType":"ExpressionStatement","src":"140394:27:22"},{"AST":{"nativeSrc":"140483:214:22","nodeType":"YulBlock","src":"140483:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"140504:4:22","nodeType":"YulLiteral","src":"140504:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"140510:2:22","nodeType":"YulIdentifier","src":"140510:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140497:6:22","nodeType":"YulIdentifier","src":"140497:6:22"},"nativeSrc":"140497:16:22","nodeType":"YulFunctionCall","src":"140497:16:22"},"nativeSrc":"140497:16:22","nodeType":"YulExpressionStatement","src":"140497:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140533:4:22","nodeType":"YulLiteral","src":"140533:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"140539:2:22","nodeType":"YulIdentifier","src":"140539:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140526:6:22","nodeType":"YulIdentifier","src":"140526:6:22"},"nativeSrc":"140526:16:22","nodeType":"YulFunctionCall","src":"140526:16:22"},"nativeSrc":"140526:16:22","nodeType":"YulExpressionStatement","src":"140526:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140562:4:22","nodeType":"YulLiteral","src":"140562:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"140568:2:22","nodeType":"YulIdentifier","src":"140568:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140555:6:22","nodeType":"YulIdentifier","src":"140555:6:22"},"nativeSrc":"140555:16:22","nodeType":"YulFunctionCall","src":"140555:16:22"},"nativeSrc":"140555:16:22","nodeType":"YulExpressionStatement","src":"140555:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140591:4:22","nodeType":"YulLiteral","src":"140591:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"140597:2:22","nodeType":"YulIdentifier","src":"140597:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140584:6:22","nodeType":"YulIdentifier","src":"140584:6:22"},"nativeSrc":"140584:16:22","nodeType":"YulFunctionCall","src":"140584:16:22"},"nativeSrc":"140584:16:22","nodeType":"YulExpressionStatement","src":"140584:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140620:4:22","nodeType":"YulLiteral","src":"140620:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"140626:2:22","nodeType":"YulIdentifier","src":"140626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140613:6:22","nodeType":"YulIdentifier","src":"140613:6:22"},"nativeSrc":"140613:16:22","nodeType":"YulFunctionCall","src":"140613:16:22"},"nativeSrc":"140613:16:22","nodeType":"YulExpressionStatement","src":"140613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140649:4:22","nodeType":"YulLiteral","src":"140649:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"140655:2:22","nodeType":"YulIdentifier","src":"140655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140642:6:22","nodeType":"YulIdentifier","src":"140642:6:22"},"nativeSrc":"140642:16:22","nodeType":"YulFunctionCall","src":"140642:16:22"},"nativeSrc":"140642:16:22","nodeType":"YulExpressionStatement","src":"140642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140678:4:22","nodeType":"YulLiteral","src":"140678:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"140684:2:22","nodeType":"YulIdentifier","src":"140684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"140671:6:22","nodeType":"YulIdentifier","src":"140671:6:22"},"nativeSrc":"140671:16:22","nodeType":"YulFunctionCall","src":"140671:16:22"},"nativeSrc":"140671:16:22","nodeType":"YulExpressionStatement","src":"140671:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35807,"isOffset":false,"isSlot":false,"src":"140510:2:22","valueSize":1},{"declaration":35810,"isOffset":false,"isSlot":false,"src":"140539:2:22","valueSize":1},{"declaration":35813,"isOffset":false,"isSlot":false,"src":"140568:2:22","valueSize":1},{"declaration":35816,"isOffset":false,"isSlot":false,"src":"140597:2:22","valueSize":1},{"declaration":35819,"isOffset":false,"isSlot":false,"src":"140626:2:22","valueSize":1},{"declaration":35822,"isOffset":false,"isSlot":false,"src":"140655:2:22","valueSize":1},{"declaration":35825,"isOffset":false,"isSlot":false,"src":"140684:2:22","valueSize":1}],"id":35833,"nodeType":"InlineAssembly","src":"140474:223:22"}]},"id":35835,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"139286:3:22","nodeType":"FunctionDefinition","parameters":{"id":35804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35797,"mutability":"mutable","name":"p0","nameLocation":"139298:2:22","nodeType":"VariableDeclaration","scope":35835,"src":"139290:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35796,"name":"address","nodeType":"ElementaryTypeName","src":"139290:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35799,"mutability":"mutable","name":"p1","nameLocation":"139310:2:22","nodeType":"VariableDeclaration","scope":35835,"src":"139302:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35798,"name":"uint256","nodeType":"ElementaryTypeName","src":"139302:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35801,"mutability":"mutable","name":"p2","nameLocation":"139322:2:22","nodeType":"VariableDeclaration","scope":35835,"src":"139314:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139314:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35803,"mutability":"mutable","name":"p3","nameLocation":"139334:2:22","nodeType":"VariableDeclaration","scope":35835,"src":"139326:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35802,"name":"address","nodeType":"ElementaryTypeName","src":"139326:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"139289:48:22"},"returnParameters":{"id":35805,"nodeType":"ParameterList","parameters":[],"src":"139352:0:22"},"scope":44426,"src":"139277:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35874,"nodeType":"Block","src":"140781:1348:22","statements":[{"assignments":[35847],"declarations":[{"constant":false,"id":35847,"mutability":"mutable","name":"m0","nameLocation":"140799:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140791:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140791:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35848,"nodeType":"VariableDeclarationStatement","src":"140791:10:22"},{"assignments":[35850],"declarations":[{"constant":false,"id":35850,"mutability":"mutable","name":"m1","nameLocation":"140819:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140811:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140811:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35851,"nodeType":"VariableDeclarationStatement","src":"140811:10:22"},{"assignments":[35853],"declarations":[{"constant":false,"id":35853,"mutability":"mutable","name":"m2","nameLocation":"140839:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140831:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35854,"nodeType":"VariableDeclarationStatement","src":"140831:10:22"},{"assignments":[35856],"declarations":[{"constant":false,"id":35856,"mutability":"mutable","name":"m3","nameLocation":"140859:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140851:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140851:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35857,"nodeType":"VariableDeclarationStatement","src":"140851:10:22"},{"assignments":[35859],"declarations":[{"constant":false,"id":35859,"mutability":"mutable","name":"m4","nameLocation":"140879:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140871:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140871:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35860,"nodeType":"VariableDeclarationStatement","src":"140871:10:22"},{"assignments":[35862],"declarations":[{"constant":false,"id":35862,"mutability":"mutable","name":"m5","nameLocation":"140899:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140891:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140891:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35863,"nodeType":"VariableDeclarationStatement","src":"140891:10:22"},{"assignments":[35865],"declarations":[{"constant":false,"id":35865,"mutability":"mutable","name":"m6","nameLocation":"140919:2:22","nodeType":"VariableDeclaration","scope":35874,"src":"140911:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140911:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35866,"nodeType":"VariableDeclarationStatement","src":"140911:10:22"},{"AST":{"nativeSrc":"140983:828:22","nodeType":"YulBlock","src":"140983:828:22","statements":[{"body":{"nativeSrc":"141026:313:22","nodeType":"YulBlock","src":"141026:313:22","statements":[{"nativeSrc":"141044:15:22","nodeType":"YulVariableDeclaration","src":"141044:15:22","value":{"kind":"number","nativeSrc":"141058:1:22","nodeType":"YulLiteral","src":"141058:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"141048:6:22","nodeType":"YulTypedName","src":"141048:6:22","type":""}]},{"body":{"nativeSrc":"141129:40:22","nodeType":"YulBlock","src":"141129:40:22","statements":[{"body":{"nativeSrc":"141158:9:22","nodeType":"YulBlock","src":"141158:9:22","statements":[{"nativeSrc":"141160:5:22","nodeType":"YulBreak","src":"141160:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"141146:6:22","nodeType":"YulIdentifier","src":"141146:6:22"},{"name":"w","nativeSrc":"141154:1:22","nodeType":"YulIdentifier","src":"141154:1:22"}],"functionName":{"name":"byte","nativeSrc":"141141:4:22","nodeType":"YulIdentifier","src":"141141:4:22"},"nativeSrc":"141141:15:22","nodeType":"YulFunctionCall","src":"141141:15:22"}],"functionName":{"name":"iszero","nativeSrc":"141134:6:22","nodeType":"YulIdentifier","src":"141134:6:22"},"nativeSrc":"141134:23:22","nodeType":"YulFunctionCall","src":"141134:23:22"},"nativeSrc":"141131:36:22","nodeType":"YulIf","src":"141131:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"141086:6:22","nodeType":"YulIdentifier","src":"141086:6:22"},{"kind":"number","nativeSrc":"141094:4:22","nodeType":"YulLiteral","src":"141094:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"141083:2:22","nodeType":"YulIdentifier","src":"141083:2:22"},"nativeSrc":"141083:16:22","nodeType":"YulFunctionCall","src":"141083:16:22"},"nativeSrc":"141076:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"141100:28:22","nodeType":"YulBlock","src":"141100:28:22","statements":[{"nativeSrc":"141102:24:22","nodeType":"YulAssignment","src":"141102:24:22","value":{"arguments":[{"name":"length","nativeSrc":"141116:6:22","nodeType":"YulIdentifier","src":"141116:6:22"},{"kind":"number","nativeSrc":"141124:1:22","nodeType":"YulLiteral","src":"141124:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"141112:3:22","nodeType":"YulIdentifier","src":"141112:3:22"},"nativeSrc":"141112:14:22","nodeType":"YulFunctionCall","src":"141112:14:22"},"variableNames":[{"name":"length","nativeSrc":"141102:6:22","nodeType":"YulIdentifier","src":"141102:6:22"}]}]},"pre":{"nativeSrc":"141080:2:22","nodeType":"YulBlock","src":"141080:2:22","statements":[]},"src":"141076:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"141193:3:22","nodeType":"YulIdentifier","src":"141193:3:22"},{"name":"length","nativeSrc":"141198:6:22","nodeType":"YulIdentifier","src":"141198:6:22"}],"functionName":{"name":"mstore","nativeSrc":"141186:6:22","nodeType":"YulIdentifier","src":"141186:6:22"},"nativeSrc":"141186:19:22","nodeType":"YulFunctionCall","src":"141186:19:22"},"nativeSrc":"141186:19:22","nodeType":"YulExpressionStatement","src":"141186:19:22"},{"nativeSrc":"141222:37:22","nodeType":"YulVariableDeclaration","src":"141222:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"141239:3:22","nodeType":"YulLiteral","src":"141239:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"141248:1:22","nodeType":"YulLiteral","src":"141248:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"141251:6:22","nodeType":"YulIdentifier","src":"141251:6:22"}],"functionName":{"name":"shl","nativeSrc":"141244:3:22","nodeType":"YulIdentifier","src":"141244:3:22"},"nativeSrc":"141244:14:22","nodeType":"YulFunctionCall","src":"141244:14:22"}],"functionName":{"name":"sub","nativeSrc":"141235:3:22","nodeType":"YulIdentifier","src":"141235:3:22"},"nativeSrc":"141235:24:22","nodeType":"YulFunctionCall","src":"141235:24:22"},"variables":[{"name":"shift","nativeSrc":"141226:5:22","nodeType":"YulTypedName","src":"141226:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"141287:3:22","nodeType":"YulIdentifier","src":"141287:3:22"},{"kind":"number","nativeSrc":"141292:4:22","nodeType":"YulLiteral","src":"141292:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"141283:3:22","nodeType":"YulIdentifier","src":"141283:3:22"},"nativeSrc":"141283:14:22","nodeType":"YulFunctionCall","src":"141283:14:22"},{"arguments":[{"name":"shift","nativeSrc":"141303:5:22","nodeType":"YulIdentifier","src":"141303:5:22"},{"arguments":[{"name":"shift","nativeSrc":"141314:5:22","nodeType":"YulIdentifier","src":"141314:5:22"},{"name":"w","nativeSrc":"141321:1:22","nodeType":"YulIdentifier","src":"141321:1:22"}],"functionName":{"name":"shr","nativeSrc":"141310:3:22","nodeType":"YulIdentifier","src":"141310:3:22"},"nativeSrc":"141310:13:22","nodeType":"YulFunctionCall","src":"141310:13:22"}],"functionName":{"name":"shl","nativeSrc":"141299:3:22","nodeType":"YulIdentifier","src":"141299:3:22"},"nativeSrc":"141299:25:22","nodeType":"YulFunctionCall","src":"141299:25:22"}],"functionName":{"name":"mstore","nativeSrc":"141276:6:22","nodeType":"YulIdentifier","src":"141276:6:22"},"nativeSrc":"141276:49:22","nodeType":"YulFunctionCall","src":"141276:49:22"},"nativeSrc":"141276:49:22","nodeType":"YulExpressionStatement","src":"141276:49:22"}]},"name":"writeString","nativeSrc":"140997:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"141018:3:22","nodeType":"YulTypedName","src":"141018:3:22","type":""},{"name":"w","nativeSrc":"141023:1:22","nodeType":"YulTypedName","src":"141023:1:22","type":""}],"src":"140997:342:22"},{"nativeSrc":"141352:17:22","nodeType":"YulAssignment","src":"141352:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141364:4:22","nodeType":"YulLiteral","src":"141364:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"141358:5:22","nodeType":"YulIdentifier","src":"141358:5:22"},"nativeSrc":"141358:11:22","nodeType":"YulFunctionCall","src":"141358:11:22"},"variableNames":[{"name":"m0","nativeSrc":"141352:2:22","nodeType":"YulIdentifier","src":"141352:2:22"}]},{"nativeSrc":"141382:17:22","nodeType":"YulAssignment","src":"141382:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141394:4:22","nodeType":"YulLiteral","src":"141394:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"141388:5:22","nodeType":"YulIdentifier","src":"141388:5:22"},"nativeSrc":"141388:11:22","nodeType":"YulFunctionCall","src":"141388:11:22"},"variableNames":[{"name":"m1","nativeSrc":"141382:2:22","nodeType":"YulIdentifier","src":"141382:2:22"}]},{"nativeSrc":"141412:17:22","nodeType":"YulAssignment","src":"141412:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141424:4:22","nodeType":"YulLiteral","src":"141424:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"141418:5:22","nodeType":"YulIdentifier","src":"141418:5:22"},"nativeSrc":"141418:11:22","nodeType":"YulFunctionCall","src":"141418:11:22"},"variableNames":[{"name":"m2","nativeSrc":"141412:2:22","nodeType":"YulIdentifier","src":"141412:2:22"}]},{"nativeSrc":"141442:17:22","nodeType":"YulAssignment","src":"141442:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141454:4:22","nodeType":"YulLiteral","src":"141454:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"141448:5:22","nodeType":"YulIdentifier","src":"141448:5:22"},"nativeSrc":"141448:11:22","nodeType":"YulFunctionCall","src":"141448:11:22"},"variableNames":[{"name":"m3","nativeSrc":"141442:2:22","nodeType":"YulIdentifier","src":"141442:2:22"}]},{"nativeSrc":"141472:17:22","nodeType":"YulAssignment","src":"141472:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141484:4:22","nodeType":"YulLiteral","src":"141484:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"141478:5:22","nodeType":"YulIdentifier","src":"141478:5:22"},"nativeSrc":"141478:11:22","nodeType":"YulFunctionCall","src":"141478:11:22"},"variableNames":[{"name":"m4","nativeSrc":"141472:2:22","nodeType":"YulIdentifier","src":"141472:2:22"}]},{"nativeSrc":"141502:17:22","nodeType":"YulAssignment","src":"141502:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141514:4:22","nodeType":"YulLiteral","src":"141514:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"141508:5:22","nodeType":"YulIdentifier","src":"141508:5:22"},"nativeSrc":"141508:11:22","nodeType":"YulFunctionCall","src":"141508:11:22"},"variableNames":[{"name":"m5","nativeSrc":"141502:2:22","nodeType":"YulIdentifier","src":"141502:2:22"}]},{"nativeSrc":"141532:17:22","nodeType":"YulAssignment","src":"141532:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"141544:4:22","nodeType":"YulLiteral","src":"141544:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"141538:5:22","nodeType":"YulIdentifier","src":"141538:5:22"},"nativeSrc":"141538:11:22","nodeType":"YulFunctionCall","src":"141538:11:22"},"variableNames":[{"name":"m6","nativeSrc":"141532:2:22","nodeType":"YulIdentifier","src":"141532:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141632:4:22","nodeType":"YulLiteral","src":"141632:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"141638:10:22","nodeType":"YulLiteral","src":"141638:10:22","type":"","value":"0xcf18105c"}],"functionName":{"name":"mstore","nativeSrc":"141625:6:22","nodeType":"YulIdentifier","src":"141625:6:22"},"nativeSrc":"141625:24:22","nodeType":"YulFunctionCall","src":"141625:24:22"},"nativeSrc":"141625:24:22","nodeType":"YulExpressionStatement","src":"141625:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141669:4:22","nodeType":"YulLiteral","src":"141669:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"141675:2:22","nodeType":"YulIdentifier","src":"141675:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141662:6:22","nodeType":"YulIdentifier","src":"141662:6:22"},"nativeSrc":"141662:16:22","nodeType":"YulFunctionCall","src":"141662:16:22"},"nativeSrc":"141662:16:22","nodeType":"YulExpressionStatement","src":"141662:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141698:4:22","nodeType":"YulLiteral","src":"141698:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"141704:2:22","nodeType":"YulIdentifier","src":"141704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141691:6:22","nodeType":"YulIdentifier","src":"141691:6:22"},"nativeSrc":"141691:16:22","nodeType":"YulFunctionCall","src":"141691:16:22"},"nativeSrc":"141691:16:22","nodeType":"YulExpressionStatement","src":"141691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141727:4:22","nodeType":"YulLiteral","src":"141727:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"141733:4:22","nodeType":"YulLiteral","src":"141733:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"141720:6:22","nodeType":"YulIdentifier","src":"141720:6:22"},"nativeSrc":"141720:18:22","nodeType":"YulFunctionCall","src":"141720:18:22"},"nativeSrc":"141720:18:22","nodeType":"YulExpressionStatement","src":"141720:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141758:4:22","nodeType":"YulLiteral","src":"141758:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"141764:2:22","nodeType":"YulIdentifier","src":"141764:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141751:6:22","nodeType":"YulIdentifier","src":"141751:6:22"},"nativeSrc":"141751:16:22","nodeType":"YulFunctionCall","src":"141751:16:22"},"nativeSrc":"141751:16:22","nodeType":"YulExpressionStatement","src":"141751:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141792:4:22","nodeType":"YulLiteral","src":"141792:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"141798:2:22","nodeType":"YulIdentifier","src":"141798:2:22"}],"functionName":{"name":"writeString","nativeSrc":"141780:11:22","nodeType":"YulIdentifier","src":"141780:11:22"},"nativeSrc":"141780:21:22","nodeType":"YulFunctionCall","src":"141780:21:22"},"nativeSrc":"141780:21:22","nodeType":"YulExpressionStatement","src":"141780:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35847,"isOffset":false,"isSlot":false,"src":"141352:2:22","valueSize":1},{"declaration":35850,"isOffset":false,"isSlot":false,"src":"141382:2:22","valueSize":1},{"declaration":35853,"isOffset":false,"isSlot":false,"src":"141412:2:22","valueSize":1},{"declaration":35856,"isOffset":false,"isSlot":false,"src":"141442:2:22","valueSize":1},{"declaration":35859,"isOffset":false,"isSlot":false,"src":"141472:2:22","valueSize":1},{"declaration":35862,"isOffset":false,"isSlot":false,"src":"141502:2:22","valueSize":1},{"declaration":35865,"isOffset":false,"isSlot":false,"src":"141532:2:22","valueSize":1},{"declaration":35837,"isOffset":false,"isSlot":false,"src":"141675:2:22","valueSize":1},{"declaration":35839,"isOffset":false,"isSlot":false,"src":"141704:2:22","valueSize":1},{"declaration":35841,"isOffset":false,"isSlot":false,"src":"141798:2:22","valueSize":1},{"declaration":35843,"isOffset":false,"isSlot":false,"src":"141764:2:22","valueSize":1}],"id":35867,"nodeType":"InlineAssembly","src":"140974:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141836:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141842:4:22","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":35868,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"141820:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"141820:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35872,"nodeType":"ExpressionStatement","src":"141820:27:22"},{"AST":{"nativeSrc":"141909:214:22","nodeType":"YulBlock","src":"141909:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"141930:4:22","nodeType":"YulLiteral","src":"141930:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"141936:2:22","nodeType":"YulIdentifier","src":"141936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141923:6:22","nodeType":"YulIdentifier","src":"141923:6:22"},"nativeSrc":"141923:16:22","nodeType":"YulFunctionCall","src":"141923:16:22"},"nativeSrc":"141923:16:22","nodeType":"YulExpressionStatement","src":"141923:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141959:4:22","nodeType":"YulLiteral","src":"141959:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"141965:2:22","nodeType":"YulIdentifier","src":"141965:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141952:6:22","nodeType":"YulIdentifier","src":"141952:6:22"},"nativeSrc":"141952:16:22","nodeType":"YulFunctionCall","src":"141952:16:22"},"nativeSrc":"141952:16:22","nodeType":"YulExpressionStatement","src":"141952:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141988:4:22","nodeType":"YulLiteral","src":"141988:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"141994:2:22","nodeType":"YulIdentifier","src":"141994:2:22"}],"functionName":{"name":"mstore","nativeSrc":"141981:6:22","nodeType":"YulIdentifier","src":"141981:6:22"},"nativeSrc":"141981:16:22","nodeType":"YulFunctionCall","src":"141981:16:22"},"nativeSrc":"141981:16:22","nodeType":"YulExpressionStatement","src":"141981:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142017:4:22","nodeType":"YulLiteral","src":"142017:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"142023:2:22","nodeType":"YulIdentifier","src":"142023:2:22"}],"functionName":{"name":"mstore","nativeSrc":"142010:6:22","nodeType":"YulIdentifier","src":"142010:6:22"},"nativeSrc":"142010:16:22","nodeType":"YulFunctionCall","src":"142010:16:22"},"nativeSrc":"142010:16:22","nodeType":"YulExpressionStatement","src":"142010:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142046:4:22","nodeType":"YulLiteral","src":"142046:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"142052:2:22","nodeType":"YulIdentifier","src":"142052:2:22"}],"functionName":{"name":"mstore","nativeSrc":"142039:6:22","nodeType":"YulIdentifier","src":"142039:6:22"},"nativeSrc":"142039:16:22","nodeType":"YulFunctionCall","src":"142039:16:22"},"nativeSrc":"142039:16:22","nodeType":"YulExpressionStatement","src":"142039:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142075:4:22","nodeType":"YulLiteral","src":"142075:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"142081:2:22","nodeType":"YulIdentifier","src":"142081:2:22"}],"functionName":{"name":"mstore","nativeSrc":"142068:6:22","nodeType":"YulIdentifier","src":"142068:6:22"},"nativeSrc":"142068:16:22","nodeType":"YulFunctionCall","src":"142068:16:22"},"nativeSrc":"142068:16:22","nodeType":"YulExpressionStatement","src":"142068:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142104:4:22","nodeType":"YulLiteral","src":"142104:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"142110:2:22","nodeType":"YulIdentifier","src":"142110:2:22"}],"functionName":{"name":"mstore","nativeSrc":"142097:6:22","nodeType":"YulIdentifier","src":"142097:6:22"},"nativeSrc":"142097:16:22","nodeType":"YulFunctionCall","src":"142097:16:22"},"nativeSrc":"142097:16:22","nodeType":"YulExpressionStatement","src":"142097:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35847,"isOffset":false,"isSlot":false,"src":"141936:2:22","valueSize":1},{"declaration":35850,"isOffset":false,"isSlot":false,"src":"141965:2:22","valueSize":1},{"declaration":35853,"isOffset":false,"isSlot":false,"src":"141994:2:22","valueSize":1},{"declaration":35856,"isOffset":false,"isSlot":false,"src":"142023:2:22","valueSize":1},{"declaration":35859,"isOffset":false,"isSlot":false,"src":"142052:2:22","valueSize":1},{"declaration":35862,"isOffset":false,"isSlot":false,"src":"142081:2:22","valueSize":1},{"declaration":35865,"isOffset":false,"isSlot":false,"src":"142110:2:22","valueSize":1}],"id":35873,"nodeType":"InlineAssembly","src":"141900:223:22"}]},"id":35875,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"140718:3:22","nodeType":"FunctionDefinition","parameters":{"id":35844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35837,"mutability":"mutable","name":"p0","nameLocation":"140730:2:22","nodeType":"VariableDeclaration","scope":35875,"src":"140722:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35836,"name":"address","nodeType":"ElementaryTypeName","src":"140722:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35839,"mutability":"mutable","name":"p1","nameLocation":"140742:2:22","nodeType":"VariableDeclaration","scope":35875,"src":"140734:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35838,"name":"uint256","nodeType":"ElementaryTypeName","src":"140734:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35841,"mutability":"mutable","name":"p2","nameLocation":"140754:2:22","nodeType":"VariableDeclaration","scope":35875,"src":"140746:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140746:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35843,"mutability":"mutable","name":"p3","nameLocation":"140763:2:22","nodeType":"VariableDeclaration","scope":35875,"src":"140758:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35842,"name":"bool","nodeType":"ElementaryTypeName","src":"140758:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"140721:45:22"},"returnParameters":{"id":35845,"nodeType":"ParameterList","parameters":[],"src":"140781:0:22"},"scope":44426,"src":"140709:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35914,"nodeType":"Block","src":"142210:1351:22","statements":[{"assignments":[35887],"declarations":[{"constant":false,"id":35887,"mutability":"mutable","name":"m0","nameLocation":"142228:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142220:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142220:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35888,"nodeType":"VariableDeclarationStatement","src":"142220:10:22"},{"assignments":[35890],"declarations":[{"constant":false,"id":35890,"mutability":"mutable","name":"m1","nameLocation":"142248:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142240:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142240:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35891,"nodeType":"VariableDeclarationStatement","src":"142240:10:22"},{"assignments":[35893],"declarations":[{"constant":false,"id":35893,"mutability":"mutable","name":"m2","nameLocation":"142268:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142260:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142260:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35894,"nodeType":"VariableDeclarationStatement","src":"142260:10:22"},{"assignments":[35896],"declarations":[{"constant":false,"id":35896,"mutability":"mutable","name":"m3","nameLocation":"142288:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35897,"nodeType":"VariableDeclarationStatement","src":"142280:10:22"},{"assignments":[35899],"declarations":[{"constant":false,"id":35899,"mutability":"mutable","name":"m4","nameLocation":"142308:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35900,"nodeType":"VariableDeclarationStatement","src":"142300:10:22"},{"assignments":[35902],"declarations":[{"constant":false,"id":35902,"mutability":"mutable","name":"m5","nameLocation":"142328:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142320:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142320:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35903,"nodeType":"VariableDeclarationStatement","src":"142320:10:22"},{"assignments":[35905],"declarations":[{"constant":false,"id":35905,"mutability":"mutable","name":"m6","nameLocation":"142348:2:22","nodeType":"VariableDeclaration","scope":35914,"src":"142340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35906,"nodeType":"VariableDeclarationStatement","src":"142340:10:22"},{"AST":{"nativeSrc":"142412:831:22","nodeType":"YulBlock","src":"142412:831:22","statements":[{"body":{"nativeSrc":"142455:313:22","nodeType":"YulBlock","src":"142455:313:22","statements":[{"nativeSrc":"142473:15:22","nodeType":"YulVariableDeclaration","src":"142473:15:22","value":{"kind":"number","nativeSrc":"142487:1:22","nodeType":"YulLiteral","src":"142487:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"142477:6:22","nodeType":"YulTypedName","src":"142477:6:22","type":""}]},{"body":{"nativeSrc":"142558:40:22","nodeType":"YulBlock","src":"142558:40:22","statements":[{"body":{"nativeSrc":"142587:9:22","nodeType":"YulBlock","src":"142587:9:22","statements":[{"nativeSrc":"142589:5:22","nodeType":"YulBreak","src":"142589:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"142575:6:22","nodeType":"YulIdentifier","src":"142575:6:22"},{"name":"w","nativeSrc":"142583:1:22","nodeType":"YulIdentifier","src":"142583:1:22"}],"functionName":{"name":"byte","nativeSrc":"142570:4:22","nodeType":"YulIdentifier","src":"142570:4:22"},"nativeSrc":"142570:15:22","nodeType":"YulFunctionCall","src":"142570:15:22"}],"functionName":{"name":"iszero","nativeSrc":"142563:6:22","nodeType":"YulIdentifier","src":"142563:6:22"},"nativeSrc":"142563:23:22","nodeType":"YulFunctionCall","src":"142563:23:22"},"nativeSrc":"142560:36:22","nodeType":"YulIf","src":"142560:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"142515:6:22","nodeType":"YulIdentifier","src":"142515:6:22"},{"kind":"number","nativeSrc":"142523:4:22","nodeType":"YulLiteral","src":"142523:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"142512:2:22","nodeType":"YulIdentifier","src":"142512:2:22"},"nativeSrc":"142512:16:22","nodeType":"YulFunctionCall","src":"142512:16:22"},"nativeSrc":"142505:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"142529:28:22","nodeType":"YulBlock","src":"142529:28:22","statements":[{"nativeSrc":"142531:24:22","nodeType":"YulAssignment","src":"142531:24:22","value":{"arguments":[{"name":"length","nativeSrc":"142545:6:22","nodeType":"YulIdentifier","src":"142545:6:22"},{"kind":"number","nativeSrc":"142553:1:22","nodeType":"YulLiteral","src":"142553:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"142541:3:22","nodeType":"YulIdentifier","src":"142541:3:22"},"nativeSrc":"142541:14:22","nodeType":"YulFunctionCall","src":"142541:14:22"},"variableNames":[{"name":"length","nativeSrc":"142531:6:22","nodeType":"YulIdentifier","src":"142531:6:22"}]}]},"pre":{"nativeSrc":"142509:2:22","nodeType":"YulBlock","src":"142509:2:22","statements":[]},"src":"142505:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"142622:3:22","nodeType":"YulIdentifier","src":"142622:3:22"},{"name":"length","nativeSrc":"142627:6:22","nodeType":"YulIdentifier","src":"142627:6:22"}],"functionName":{"name":"mstore","nativeSrc":"142615:6:22","nodeType":"YulIdentifier","src":"142615:6:22"},"nativeSrc":"142615:19:22","nodeType":"YulFunctionCall","src":"142615:19:22"},"nativeSrc":"142615:19:22","nodeType":"YulExpressionStatement","src":"142615:19:22"},{"nativeSrc":"142651:37:22","nodeType":"YulVariableDeclaration","src":"142651:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"142668:3:22","nodeType":"YulLiteral","src":"142668:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"142677:1:22","nodeType":"YulLiteral","src":"142677:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"142680:6:22","nodeType":"YulIdentifier","src":"142680:6:22"}],"functionName":{"name":"shl","nativeSrc":"142673:3:22","nodeType":"YulIdentifier","src":"142673:3:22"},"nativeSrc":"142673:14:22","nodeType":"YulFunctionCall","src":"142673:14:22"}],"functionName":{"name":"sub","nativeSrc":"142664:3:22","nodeType":"YulIdentifier","src":"142664:3:22"},"nativeSrc":"142664:24:22","nodeType":"YulFunctionCall","src":"142664:24:22"},"variables":[{"name":"shift","nativeSrc":"142655:5:22","nodeType":"YulTypedName","src":"142655:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"142716:3:22","nodeType":"YulIdentifier","src":"142716:3:22"},{"kind":"number","nativeSrc":"142721:4:22","nodeType":"YulLiteral","src":"142721:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"142712:3:22","nodeType":"YulIdentifier","src":"142712:3:22"},"nativeSrc":"142712:14:22","nodeType":"YulFunctionCall","src":"142712:14:22"},{"arguments":[{"name":"shift","nativeSrc":"142732:5:22","nodeType":"YulIdentifier","src":"142732:5:22"},{"arguments":[{"name":"shift","nativeSrc":"142743:5:22","nodeType":"YulIdentifier","src":"142743:5:22"},{"name":"w","nativeSrc":"142750:1:22","nodeType":"YulIdentifier","src":"142750:1:22"}],"functionName":{"name":"shr","nativeSrc":"142739:3:22","nodeType":"YulIdentifier","src":"142739:3:22"},"nativeSrc":"142739:13:22","nodeType":"YulFunctionCall","src":"142739:13:22"}],"functionName":{"name":"shl","nativeSrc":"142728:3:22","nodeType":"YulIdentifier","src":"142728:3:22"},"nativeSrc":"142728:25:22","nodeType":"YulFunctionCall","src":"142728:25:22"}],"functionName":{"name":"mstore","nativeSrc":"142705:6:22","nodeType":"YulIdentifier","src":"142705:6:22"},"nativeSrc":"142705:49:22","nodeType":"YulFunctionCall","src":"142705:49:22"},"nativeSrc":"142705:49:22","nodeType":"YulExpressionStatement","src":"142705:49:22"}]},"name":"writeString","nativeSrc":"142426:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"142447:3:22","nodeType":"YulTypedName","src":"142447:3:22","type":""},{"name":"w","nativeSrc":"142452:1:22","nodeType":"YulTypedName","src":"142452:1:22","type":""}],"src":"142426:342:22"},{"nativeSrc":"142781:17:22","nodeType":"YulAssignment","src":"142781:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142793:4:22","nodeType":"YulLiteral","src":"142793:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"142787:5:22","nodeType":"YulIdentifier","src":"142787:5:22"},"nativeSrc":"142787:11:22","nodeType":"YulFunctionCall","src":"142787:11:22"},"variableNames":[{"name":"m0","nativeSrc":"142781:2:22","nodeType":"YulIdentifier","src":"142781:2:22"}]},{"nativeSrc":"142811:17:22","nodeType":"YulAssignment","src":"142811:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142823:4:22","nodeType":"YulLiteral","src":"142823:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"142817:5:22","nodeType":"YulIdentifier","src":"142817:5:22"},"nativeSrc":"142817:11:22","nodeType":"YulFunctionCall","src":"142817:11:22"},"variableNames":[{"name":"m1","nativeSrc":"142811:2:22","nodeType":"YulIdentifier","src":"142811:2:22"}]},{"nativeSrc":"142841:17:22","nodeType":"YulAssignment","src":"142841:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142853:4:22","nodeType":"YulLiteral","src":"142853:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"142847:5:22","nodeType":"YulIdentifier","src":"142847:5:22"},"nativeSrc":"142847:11:22","nodeType":"YulFunctionCall","src":"142847:11:22"},"variableNames":[{"name":"m2","nativeSrc":"142841:2:22","nodeType":"YulIdentifier","src":"142841:2:22"}]},{"nativeSrc":"142871:17:22","nodeType":"YulAssignment","src":"142871:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142883:4:22","nodeType":"YulLiteral","src":"142883:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"142877:5:22","nodeType":"YulIdentifier","src":"142877:5:22"},"nativeSrc":"142877:11:22","nodeType":"YulFunctionCall","src":"142877:11:22"},"variableNames":[{"name":"m3","nativeSrc":"142871:2:22","nodeType":"YulIdentifier","src":"142871:2:22"}]},{"nativeSrc":"142901:17:22","nodeType":"YulAssignment","src":"142901:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142913:4:22","nodeType":"YulLiteral","src":"142913:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"142907:5:22","nodeType":"YulIdentifier","src":"142907:5:22"},"nativeSrc":"142907:11:22","nodeType":"YulFunctionCall","src":"142907:11:22"},"variableNames":[{"name":"m4","nativeSrc":"142901:2:22","nodeType":"YulIdentifier","src":"142901:2:22"}]},{"nativeSrc":"142931:17:22","nodeType":"YulAssignment","src":"142931:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142943:4:22","nodeType":"YulLiteral","src":"142943:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"142937:5:22","nodeType":"YulIdentifier","src":"142937:5:22"},"nativeSrc":"142937:11:22","nodeType":"YulFunctionCall","src":"142937:11:22"},"variableNames":[{"name":"m5","nativeSrc":"142931:2:22","nodeType":"YulIdentifier","src":"142931:2:22"}]},{"nativeSrc":"142961:17:22","nodeType":"YulAssignment","src":"142961:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"142973:4:22","nodeType":"YulLiteral","src":"142973:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"142967:5:22","nodeType":"YulIdentifier","src":"142967:5:22"},"nativeSrc":"142967:11:22","nodeType":"YulFunctionCall","src":"142967:11:22"},"variableNames":[{"name":"m6","nativeSrc":"142961:2:22","nodeType":"YulIdentifier","src":"142961:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143064:4:22","nodeType":"YulLiteral","src":"143064:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"143070:10:22","nodeType":"YulLiteral","src":"143070:10:22","type":"","value":"0xbf01f891"}],"functionName":{"name":"mstore","nativeSrc":"143057:6:22","nodeType":"YulIdentifier","src":"143057:6:22"},"nativeSrc":"143057:24:22","nodeType":"YulFunctionCall","src":"143057:24:22"},"nativeSrc":"143057:24:22","nodeType":"YulExpressionStatement","src":"143057:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143101:4:22","nodeType":"YulLiteral","src":"143101:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"143107:2:22","nodeType":"YulIdentifier","src":"143107:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143094:6:22","nodeType":"YulIdentifier","src":"143094:6:22"},"nativeSrc":"143094:16:22","nodeType":"YulFunctionCall","src":"143094:16:22"},"nativeSrc":"143094:16:22","nodeType":"YulExpressionStatement","src":"143094:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143130:4:22","nodeType":"YulLiteral","src":"143130:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"143136:2:22","nodeType":"YulIdentifier","src":"143136:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143123:6:22","nodeType":"YulIdentifier","src":"143123:6:22"},"nativeSrc":"143123:16:22","nodeType":"YulFunctionCall","src":"143123:16:22"},"nativeSrc":"143123:16:22","nodeType":"YulExpressionStatement","src":"143123:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143159:4:22","nodeType":"YulLiteral","src":"143159:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"143165:4:22","nodeType":"YulLiteral","src":"143165:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"143152:6:22","nodeType":"YulIdentifier","src":"143152:6:22"},"nativeSrc":"143152:18:22","nodeType":"YulFunctionCall","src":"143152:18:22"},"nativeSrc":"143152:18:22","nodeType":"YulExpressionStatement","src":"143152:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143190:4:22","nodeType":"YulLiteral","src":"143190:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"143196:2:22","nodeType":"YulIdentifier","src":"143196:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143183:6:22","nodeType":"YulIdentifier","src":"143183:6:22"},"nativeSrc":"143183:16:22","nodeType":"YulFunctionCall","src":"143183:16:22"},"nativeSrc":"143183:16:22","nodeType":"YulExpressionStatement","src":"143183:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143224:4:22","nodeType":"YulLiteral","src":"143224:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"143230:2:22","nodeType":"YulIdentifier","src":"143230:2:22"}],"functionName":{"name":"writeString","nativeSrc":"143212:11:22","nodeType":"YulIdentifier","src":"143212:11:22"},"nativeSrc":"143212:21:22","nodeType":"YulFunctionCall","src":"143212:21:22"},"nativeSrc":"143212:21:22","nodeType":"YulExpressionStatement","src":"143212:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35887,"isOffset":false,"isSlot":false,"src":"142781:2:22","valueSize":1},{"declaration":35890,"isOffset":false,"isSlot":false,"src":"142811:2:22","valueSize":1},{"declaration":35893,"isOffset":false,"isSlot":false,"src":"142841:2:22","valueSize":1},{"declaration":35896,"isOffset":false,"isSlot":false,"src":"142871:2:22","valueSize":1},{"declaration":35899,"isOffset":false,"isSlot":false,"src":"142901:2:22","valueSize":1},{"declaration":35902,"isOffset":false,"isSlot":false,"src":"142931:2:22","valueSize":1},{"declaration":35905,"isOffset":false,"isSlot":false,"src":"142961:2:22","valueSize":1},{"declaration":35877,"isOffset":false,"isSlot":false,"src":"143107:2:22","valueSize":1},{"declaration":35879,"isOffset":false,"isSlot":false,"src":"143136:2:22","valueSize":1},{"declaration":35881,"isOffset":false,"isSlot":false,"src":"143230:2:22","valueSize":1},{"declaration":35883,"isOffset":false,"isSlot":false,"src":"143196:2:22","valueSize":1}],"id":35907,"nodeType":"InlineAssembly","src":"142403:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143268:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143274:4:22","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":35908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"143252:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"143252:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35912,"nodeType":"ExpressionStatement","src":"143252:27:22"},{"AST":{"nativeSrc":"143341:214:22","nodeType":"YulBlock","src":"143341:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"143362:4:22","nodeType":"YulLiteral","src":"143362:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"143368:2:22","nodeType":"YulIdentifier","src":"143368:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143355:6:22","nodeType":"YulIdentifier","src":"143355:6:22"},"nativeSrc":"143355:16:22","nodeType":"YulFunctionCall","src":"143355:16:22"},"nativeSrc":"143355:16:22","nodeType":"YulExpressionStatement","src":"143355:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143391:4:22","nodeType":"YulLiteral","src":"143391:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"143397:2:22","nodeType":"YulIdentifier","src":"143397:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143384:6:22","nodeType":"YulIdentifier","src":"143384:6:22"},"nativeSrc":"143384:16:22","nodeType":"YulFunctionCall","src":"143384:16:22"},"nativeSrc":"143384:16:22","nodeType":"YulExpressionStatement","src":"143384:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143420:4:22","nodeType":"YulLiteral","src":"143420:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"143426:2:22","nodeType":"YulIdentifier","src":"143426:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143413:6:22","nodeType":"YulIdentifier","src":"143413:6:22"},"nativeSrc":"143413:16:22","nodeType":"YulFunctionCall","src":"143413:16:22"},"nativeSrc":"143413:16:22","nodeType":"YulExpressionStatement","src":"143413:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143449:4:22","nodeType":"YulLiteral","src":"143449:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"143455:2:22","nodeType":"YulIdentifier","src":"143455:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143442:6:22","nodeType":"YulIdentifier","src":"143442:6:22"},"nativeSrc":"143442:16:22","nodeType":"YulFunctionCall","src":"143442:16:22"},"nativeSrc":"143442:16:22","nodeType":"YulExpressionStatement","src":"143442:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143478:4:22","nodeType":"YulLiteral","src":"143478:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"143484:2:22","nodeType":"YulIdentifier","src":"143484:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143471:6:22","nodeType":"YulIdentifier","src":"143471:6:22"},"nativeSrc":"143471:16:22","nodeType":"YulFunctionCall","src":"143471:16:22"},"nativeSrc":"143471:16:22","nodeType":"YulExpressionStatement","src":"143471:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143507:4:22","nodeType":"YulLiteral","src":"143507:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"143513:2:22","nodeType":"YulIdentifier","src":"143513:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143500:6:22","nodeType":"YulIdentifier","src":"143500:6:22"},"nativeSrc":"143500:16:22","nodeType":"YulFunctionCall","src":"143500:16:22"},"nativeSrc":"143500:16:22","nodeType":"YulExpressionStatement","src":"143500:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143536:4:22","nodeType":"YulLiteral","src":"143536:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"143542:2:22","nodeType":"YulIdentifier","src":"143542:2:22"}],"functionName":{"name":"mstore","nativeSrc":"143529:6:22","nodeType":"YulIdentifier","src":"143529:6:22"},"nativeSrc":"143529:16:22","nodeType":"YulFunctionCall","src":"143529:16:22"},"nativeSrc":"143529:16:22","nodeType":"YulExpressionStatement","src":"143529:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35887,"isOffset":false,"isSlot":false,"src":"143368:2:22","valueSize":1},{"declaration":35890,"isOffset":false,"isSlot":false,"src":"143397:2:22","valueSize":1},{"declaration":35893,"isOffset":false,"isSlot":false,"src":"143426:2:22","valueSize":1},{"declaration":35896,"isOffset":false,"isSlot":false,"src":"143455:2:22","valueSize":1},{"declaration":35899,"isOffset":false,"isSlot":false,"src":"143484:2:22","valueSize":1},{"declaration":35902,"isOffset":false,"isSlot":false,"src":"143513:2:22","valueSize":1},{"declaration":35905,"isOffset":false,"isSlot":false,"src":"143542:2:22","valueSize":1}],"id":35913,"nodeType":"InlineAssembly","src":"143332:223:22"}]},"id":35915,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"142144:3:22","nodeType":"FunctionDefinition","parameters":{"id":35884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35877,"mutability":"mutable","name":"p0","nameLocation":"142156:2:22","nodeType":"VariableDeclaration","scope":35915,"src":"142148:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35876,"name":"address","nodeType":"ElementaryTypeName","src":"142148:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35879,"mutability":"mutable","name":"p1","nameLocation":"142168:2:22","nodeType":"VariableDeclaration","scope":35915,"src":"142160:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35878,"name":"uint256","nodeType":"ElementaryTypeName","src":"142160:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35881,"mutability":"mutable","name":"p2","nameLocation":"142180:2:22","nodeType":"VariableDeclaration","scope":35915,"src":"142172:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142172:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35883,"mutability":"mutable","name":"p3","nameLocation":"142192:2:22","nodeType":"VariableDeclaration","scope":35915,"src":"142184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35882,"name":"uint256","nodeType":"ElementaryTypeName","src":"142184:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"142147:48:22"},"returnParameters":{"id":35885,"nodeType":"ParameterList","parameters":[],"src":"142210:0:22"},"scope":44426,"src":"142135:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":35960,"nodeType":"Block","src":"143642:1547:22","statements":[{"assignments":[35927],"declarations":[{"constant":false,"id":35927,"mutability":"mutable","name":"m0","nameLocation":"143660:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143652:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35928,"nodeType":"VariableDeclarationStatement","src":"143652:10:22"},{"assignments":[35930],"declarations":[{"constant":false,"id":35930,"mutability":"mutable","name":"m1","nameLocation":"143680:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143672:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143672:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35931,"nodeType":"VariableDeclarationStatement","src":"143672:10:22"},{"assignments":[35933],"declarations":[{"constant":false,"id":35933,"mutability":"mutable","name":"m2","nameLocation":"143700:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143692:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143692:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35934,"nodeType":"VariableDeclarationStatement","src":"143692:10:22"},{"assignments":[35936],"declarations":[{"constant":false,"id":35936,"mutability":"mutable","name":"m3","nameLocation":"143720:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143712:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143712:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35937,"nodeType":"VariableDeclarationStatement","src":"143712:10:22"},{"assignments":[35939],"declarations":[{"constant":false,"id":35939,"mutability":"mutable","name":"m4","nameLocation":"143740:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143732:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143732:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35940,"nodeType":"VariableDeclarationStatement","src":"143732:10:22"},{"assignments":[35942],"declarations":[{"constant":false,"id":35942,"mutability":"mutable","name":"m5","nameLocation":"143760:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143752:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143752:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35943,"nodeType":"VariableDeclarationStatement","src":"143752:10:22"},{"assignments":[35945],"declarations":[{"constant":false,"id":35945,"mutability":"mutable","name":"m6","nameLocation":"143780:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143772:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143772:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35946,"nodeType":"VariableDeclarationStatement","src":"143772:10:22"},{"assignments":[35948],"declarations":[{"constant":false,"id":35948,"mutability":"mutable","name":"m7","nameLocation":"143800:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143792:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35947,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143792:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35949,"nodeType":"VariableDeclarationStatement","src":"143792:10:22"},{"assignments":[35951],"declarations":[{"constant":false,"id":35951,"mutability":"mutable","name":"m8","nameLocation":"143820:2:22","nodeType":"VariableDeclaration","scope":35960,"src":"143812:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143812:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35952,"nodeType":"VariableDeclarationStatement","src":"143812:10:22"},{"AST":{"nativeSrc":"143884:927:22","nodeType":"YulBlock","src":"143884:927:22","statements":[{"body":{"nativeSrc":"143927:313:22","nodeType":"YulBlock","src":"143927:313:22","statements":[{"nativeSrc":"143945:15:22","nodeType":"YulVariableDeclaration","src":"143945:15:22","value":{"kind":"number","nativeSrc":"143959:1:22","nodeType":"YulLiteral","src":"143959:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"143949:6:22","nodeType":"YulTypedName","src":"143949:6:22","type":""}]},{"body":{"nativeSrc":"144030:40:22","nodeType":"YulBlock","src":"144030:40:22","statements":[{"body":{"nativeSrc":"144059:9:22","nodeType":"YulBlock","src":"144059:9:22","statements":[{"nativeSrc":"144061:5:22","nodeType":"YulBreak","src":"144061:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"144047:6:22","nodeType":"YulIdentifier","src":"144047:6:22"},{"name":"w","nativeSrc":"144055:1:22","nodeType":"YulIdentifier","src":"144055:1:22"}],"functionName":{"name":"byte","nativeSrc":"144042:4:22","nodeType":"YulIdentifier","src":"144042:4:22"},"nativeSrc":"144042:15:22","nodeType":"YulFunctionCall","src":"144042:15:22"}],"functionName":{"name":"iszero","nativeSrc":"144035:6:22","nodeType":"YulIdentifier","src":"144035:6:22"},"nativeSrc":"144035:23:22","nodeType":"YulFunctionCall","src":"144035:23:22"},"nativeSrc":"144032:36:22","nodeType":"YulIf","src":"144032:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"143987:6:22","nodeType":"YulIdentifier","src":"143987:6:22"},{"kind":"number","nativeSrc":"143995:4:22","nodeType":"YulLiteral","src":"143995:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"143984:2:22","nodeType":"YulIdentifier","src":"143984:2:22"},"nativeSrc":"143984:16:22","nodeType":"YulFunctionCall","src":"143984:16:22"},"nativeSrc":"143977:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"144001:28:22","nodeType":"YulBlock","src":"144001:28:22","statements":[{"nativeSrc":"144003:24:22","nodeType":"YulAssignment","src":"144003:24:22","value":{"arguments":[{"name":"length","nativeSrc":"144017:6:22","nodeType":"YulIdentifier","src":"144017:6:22"},{"kind":"number","nativeSrc":"144025:1:22","nodeType":"YulLiteral","src":"144025:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"144013:3:22","nodeType":"YulIdentifier","src":"144013:3:22"},"nativeSrc":"144013:14:22","nodeType":"YulFunctionCall","src":"144013:14:22"},"variableNames":[{"name":"length","nativeSrc":"144003:6:22","nodeType":"YulIdentifier","src":"144003:6:22"}]}]},"pre":{"nativeSrc":"143981:2:22","nodeType":"YulBlock","src":"143981:2:22","statements":[]},"src":"143977:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"144094:3:22","nodeType":"YulIdentifier","src":"144094:3:22"},{"name":"length","nativeSrc":"144099:6:22","nodeType":"YulIdentifier","src":"144099:6:22"}],"functionName":{"name":"mstore","nativeSrc":"144087:6:22","nodeType":"YulIdentifier","src":"144087:6:22"},"nativeSrc":"144087:19:22","nodeType":"YulFunctionCall","src":"144087:19:22"},"nativeSrc":"144087:19:22","nodeType":"YulExpressionStatement","src":"144087:19:22"},{"nativeSrc":"144123:37:22","nodeType":"YulVariableDeclaration","src":"144123:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"144140:3:22","nodeType":"YulLiteral","src":"144140:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"144149:1:22","nodeType":"YulLiteral","src":"144149:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"144152:6:22","nodeType":"YulIdentifier","src":"144152:6:22"}],"functionName":{"name":"shl","nativeSrc":"144145:3:22","nodeType":"YulIdentifier","src":"144145:3:22"},"nativeSrc":"144145:14:22","nodeType":"YulFunctionCall","src":"144145:14:22"}],"functionName":{"name":"sub","nativeSrc":"144136:3:22","nodeType":"YulIdentifier","src":"144136:3:22"},"nativeSrc":"144136:24:22","nodeType":"YulFunctionCall","src":"144136:24:22"},"variables":[{"name":"shift","nativeSrc":"144127:5:22","nodeType":"YulTypedName","src":"144127:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"144188:3:22","nodeType":"YulIdentifier","src":"144188:3:22"},{"kind":"number","nativeSrc":"144193:4:22","nodeType":"YulLiteral","src":"144193:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"144184:3:22","nodeType":"YulIdentifier","src":"144184:3:22"},"nativeSrc":"144184:14:22","nodeType":"YulFunctionCall","src":"144184:14:22"},{"arguments":[{"name":"shift","nativeSrc":"144204:5:22","nodeType":"YulIdentifier","src":"144204:5:22"},{"arguments":[{"name":"shift","nativeSrc":"144215:5:22","nodeType":"YulIdentifier","src":"144215:5:22"},{"name":"w","nativeSrc":"144222:1:22","nodeType":"YulIdentifier","src":"144222:1:22"}],"functionName":{"name":"shr","nativeSrc":"144211:3:22","nodeType":"YulIdentifier","src":"144211:3:22"},"nativeSrc":"144211:13:22","nodeType":"YulFunctionCall","src":"144211:13:22"}],"functionName":{"name":"shl","nativeSrc":"144200:3:22","nodeType":"YulIdentifier","src":"144200:3:22"},"nativeSrc":"144200:25:22","nodeType":"YulFunctionCall","src":"144200:25:22"}],"functionName":{"name":"mstore","nativeSrc":"144177:6:22","nodeType":"YulIdentifier","src":"144177:6:22"},"nativeSrc":"144177:49:22","nodeType":"YulFunctionCall","src":"144177:49:22"},"nativeSrc":"144177:49:22","nodeType":"YulExpressionStatement","src":"144177:49:22"}]},"name":"writeString","nativeSrc":"143898:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"143919:3:22","nodeType":"YulTypedName","src":"143919:3:22","type":""},{"name":"w","nativeSrc":"143924:1:22","nodeType":"YulTypedName","src":"143924:1:22","type":""}],"src":"143898:342:22"},{"nativeSrc":"144253:17:22","nodeType":"YulAssignment","src":"144253:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144265:4:22","nodeType":"YulLiteral","src":"144265:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"144259:5:22","nodeType":"YulIdentifier","src":"144259:5:22"},"nativeSrc":"144259:11:22","nodeType":"YulFunctionCall","src":"144259:11:22"},"variableNames":[{"name":"m0","nativeSrc":"144253:2:22","nodeType":"YulIdentifier","src":"144253:2:22"}]},{"nativeSrc":"144283:17:22","nodeType":"YulAssignment","src":"144283:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144295:4:22","nodeType":"YulLiteral","src":"144295:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"144289:5:22","nodeType":"YulIdentifier","src":"144289:5:22"},"nativeSrc":"144289:11:22","nodeType":"YulFunctionCall","src":"144289:11:22"},"variableNames":[{"name":"m1","nativeSrc":"144283:2:22","nodeType":"YulIdentifier","src":"144283:2:22"}]},{"nativeSrc":"144313:17:22","nodeType":"YulAssignment","src":"144313:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144325:4:22","nodeType":"YulLiteral","src":"144325:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"144319:5:22","nodeType":"YulIdentifier","src":"144319:5:22"},"nativeSrc":"144319:11:22","nodeType":"YulFunctionCall","src":"144319:11:22"},"variableNames":[{"name":"m2","nativeSrc":"144313:2:22","nodeType":"YulIdentifier","src":"144313:2:22"}]},{"nativeSrc":"144343:17:22","nodeType":"YulAssignment","src":"144343:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144355:4:22","nodeType":"YulLiteral","src":"144355:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"144349:5:22","nodeType":"YulIdentifier","src":"144349:5:22"},"nativeSrc":"144349:11:22","nodeType":"YulFunctionCall","src":"144349:11:22"},"variableNames":[{"name":"m3","nativeSrc":"144343:2:22","nodeType":"YulIdentifier","src":"144343:2:22"}]},{"nativeSrc":"144373:17:22","nodeType":"YulAssignment","src":"144373:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144385:4:22","nodeType":"YulLiteral","src":"144385:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"144379:5:22","nodeType":"YulIdentifier","src":"144379:5:22"},"nativeSrc":"144379:11:22","nodeType":"YulFunctionCall","src":"144379:11:22"},"variableNames":[{"name":"m4","nativeSrc":"144373:2:22","nodeType":"YulIdentifier","src":"144373:2:22"}]},{"nativeSrc":"144403:17:22","nodeType":"YulAssignment","src":"144403:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144415:4:22","nodeType":"YulLiteral","src":"144415:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"144409:5:22","nodeType":"YulIdentifier","src":"144409:5:22"},"nativeSrc":"144409:11:22","nodeType":"YulFunctionCall","src":"144409:11:22"},"variableNames":[{"name":"m5","nativeSrc":"144403:2:22","nodeType":"YulIdentifier","src":"144403:2:22"}]},{"nativeSrc":"144433:17:22","nodeType":"YulAssignment","src":"144433:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144445:4:22","nodeType":"YulLiteral","src":"144445:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"144439:5:22","nodeType":"YulIdentifier","src":"144439:5:22"},"nativeSrc":"144439:11:22","nodeType":"YulFunctionCall","src":"144439:11:22"},"variableNames":[{"name":"m6","nativeSrc":"144433:2:22","nodeType":"YulIdentifier","src":"144433:2:22"}]},{"nativeSrc":"144463:17:22","nodeType":"YulAssignment","src":"144463:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"144475:4:22","nodeType":"YulLiteral","src":"144475:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"144469:5:22","nodeType":"YulIdentifier","src":"144469:5:22"},"nativeSrc":"144469:11:22","nodeType":"YulFunctionCall","src":"144469:11:22"},"variableNames":[{"name":"m7","nativeSrc":"144463:2:22","nodeType":"YulIdentifier","src":"144463:2:22"}]},{"nativeSrc":"144493:18:22","nodeType":"YulAssignment","src":"144493:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"144505:5:22","nodeType":"YulLiteral","src":"144505:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"144499:5:22","nodeType":"YulIdentifier","src":"144499:5:22"},"nativeSrc":"144499:12:22","nodeType":"YulFunctionCall","src":"144499:12:22"},"variableNames":[{"name":"m8","nativeSrc":"144493:2:22","nodeType":"YulIdentifier","src":"144493:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144596:4:22","nodeType":"YulLiteral","src":"144596:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"144602:10:22","nodeType":"YulLiteral","src":"144602:10:22","type":"","value":"0x88a8c406"}],"functionName":{"name":"mstore","nativeSrc":"144589:6:22","nodeType":"YulIdentifier","src":"144589:6:22"},"nativeSrc":"144589:24:22","nodeType":"YulFunctionCall","src":"144589:24:22"},"nativeSrc":"144589:24:22","nodeType":"YulExpressionStatement","src":"144589:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144633:4:22","nodeType":"YulLiteral","src":"144633:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"144639:2:22","nodeType":"YulIdentifier","src":"144639:2:22"}],"functionName":{"name":"mstore","nativeSrc":"144626:6:22","nodeType":"YulIdentifier","src":"144626:6:22"},"nativeSrc":"144626:16:22","nodeType":"YulFunctionCall","src":"144626:16:22"},"nativeSrc":"144626:16:22","nodeType":"YulExpressionStatement","src":"144626:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144662:4:22","nodeType":"YulLiteral","src":"144662:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"144668:2:22","nodeType":"YulIdentifier","src":"144668:2:22"}],"functionName":{"name":"mstore","nativeSrc":"144655:6:22","nodeType":"YulIdentifier","src":"144655:6:22"},"nativeSrc":"144655:16:22","nodeType":"YulFunctionCall","src":"144655:16:22"},"nativeSrc":"144655:16:22","nodeType":"YulExpressionStatement","src":"144655:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144691:4:22","nodeType":"YulLiteral","src":"144691:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"144697:4:22","nodeType":"YulLiteral","src":"144697:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"144684:6:22","nodeType":"YulIdentifier","src":"144684:6:22"},"nativeSrc":"144684:18:22","nodeType":"YulFunctionCall","src":"144684:18:22"},"nativeSrc":"144684:18:22","nodeType":"YulExpressionStatement","src":"144684:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144722:4:22","nodeType":"YulLiteral","src":"144722:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"144728:4:22","nodeType":"YulLiteral","src":"144728:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"144715:6:22","nodeType":"YulIdentifier","src":"144715:6:22"},"nativeSrc":"144715:18:22","nodeType":"YulFunctionCall","src":"144715:18:22"},"nativeSrc":"144715:18:22","nodeType":"YulExpressionStatement","src":"144715:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144758:4:22","nodeType":"YulLiteral","src":"144758:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"144764:2:22","nodeType":"YulIdentifier","src":"144764:2:22"}],"functionName":{"name":"writeString","nativeSrc":"144746:11:22","nodeType":"YulIdentifier","src":"144746:11:22"},"nativeSrc":"144746:21:22","nodeType":"YulFunctionCall","src":"144746:21:22"},"nativeSrc":"144746:21:22","nodeType":"YulExpressionStatement","src":"144746:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144792:4:22","nodeType":"YulLiteral","src":"144792:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"144798:2:22","nodeType":"YulIdentifier","src":"144798:2:22"}],"functionName":{"name":"writeString","nativeSrc":"144780:11:22","nodeType":"YulIdentifier","src":"144780:11:22"},"nativeSrc":"144780:21:22","nodeType":"YulFunctionCall","src":"144780:21:22"},"nativeSrc":"144780:21:22","nodeType":"YulExpressionStatement","src":"144780:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35927,"isOffset":false,"isSlot":false,"src":"144253:2:22","valueSize":1},{"declaration":35930,"isOffset":false,"isSlot":false,"src":"144283:2:22","valueSize":1},{"declaration":35933,"isOffset":false,"isSlot":false,"src":"144313:2:22","valueSize":1},{"declaration":35936,"isOffset":false,"isSlot":false,"src":"144343:2:22","valueSize":1},{"declaration":35939,"isOffset":false,"isSlot":false,"src":"144373:2:22","valueSize":1},{"declaration":35942,"isOffset":false,"isSlot":false,"src":"144403:2:22","valueSize":1},{"declaration":35945,"isOffset":false,"isSlot":false,"src":"144433:2:22","valueSize":1},{"declaration":35948,"isOffset":false,"isSlot":false,"src":"144463:2:22","valueSize":1},{"declaration":35951,"isOffset":false,"isSlot":false,"src":"144493:2:22","valueSize":1},{"declaration":35917,"isOffset":false,"isSlot":false,"src":"144639:2:22","valueSize":1},{"declaration":35919,"isOffset":false,"isSlot":false,"src":"144668:2:22","valueSize":1},{"declaration":35921,"isOffset":false,"isSlot":false,"src":"144764:2:22","valueSize":1},{"declaration":35923,"isOffset":false,"isSlot":false,"src":"144798:2:22","valueSize":1}],"id":35953,"nodeType":"InlineAssembly","src":"143875:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144836:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144842:5:22","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":35954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"144820:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"144820:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35958,"nodeType":"ExpressionStatement","src":"144820:28:22"},{"AST":{"nativeSrc":"144910:273:22","nodeType":"YulBlock","src":"144910:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"144931:4:22","nodeType":"YulLiteral","src":"144931:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"144937:2:22","nodeType":"YulIdentifier","src":"144937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"144924:6:22","nodeType":"YulIdentifier","src":"144924:6:22"},"nativeSrc":"144924:16:22","nodeType":"YulFunctionCall","src":"144924:16:22"},"nativeSrc":"144924:16:22","nodeType":"YulExpressionStatement","src":"144924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144960:4:22","nodeType":"YulLiteral","src":"144960:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"144966:2:22","nodeType":"YulIdentifier","src":"144966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"144953:6:22","nodeType":"YulIdentifier","src":"144953:6:22"},"nativeSrc":"144953:16:22","nodeType":"YulFunctionCall","src":"144953:16:22"},"nativeSrc":"144953:16:22","nodeType":"YulExpressionStatement","src":"144953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144989:4:22","nodeType":"YulLiteral","src":"144989:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"144995:2:22","nodeType":"YulIdentifier","src":"144995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"144982:6:22","nodeType":"YulIdentifier","src":"144982:6:22"},"nativeSrc":"144982:16:22","nodeType":"YulFunctionCall","src":"144982:16:22"},"nativeSrc":"144982:16:22","nodeType":"YulExpressionStatement","src":"144982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145018:4:22","nodeType":"YulLiteral","src":"145018:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"145024:2:22","nodeType":"YulIdentifier","src":"145024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145011:6:22","nodeType":"YulIdentifier","src":"145011:6:22"},"nativeSrc":"145011:16:22","nodeType":"YulFunctionCall","src":"145011:16:22"},"nativeSrc":"145011:16:22","nodeType":"YulExpressionStatement","src":"145011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145047:4:22","nodeType":"YulLiteral","src":"145047:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"145053:2:22","nodeType":"YulIdentifier","src":"145053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145040:6:22","nodeType":"YulIdentifier","src":"145040:6:22"},"nativeSrc":"145040:16:22","nodeType":"YulFunctionCall","src":"145040:16:22"},"nativeSrc":"145040:16:22","nodeType":"YulExpressionStatement","src":"145040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145076:4:22","nodeType":"YulLiteral","src":"145076:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"145082:2:22","nodeType":"YulIdentifier","src":"145082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145069:6:22","nodeType":"YulIdentifier","src":"145069:6:22"},"nativeSrc":"145069:16:22","nodeType":"YulFunctionCall","src":"145069:16:22"},"nativeSrc":"145069:16:22","nodeType":"YulExpressionStatement","src":"145069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145105:4:22","nodeType":"YulLiteral","src":"145105:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"145111:2:22","nodeType":"YulIdentifier","src":"145111:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145098:6:22","nodeType":"YulIdentifier","src":"145098:6:22"},"nativeSrc":"145098:16:22","nodeType":"YulFunctionCall","src":"145098:16:22"},"nativeSrc":"145098:16:22","nodeType":"YulExpressionStatement","src":"145098:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145134:4:22","nodeType":"YulLiteral","src":"145134:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"145140:2:22","nodeType":"YulIdentifier","src":"145140:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145127:6:22","nodeType":"YulIdentifier","src":"145127:6:22"},"nativeSrc":"145127:16:22","nodeType":"YulFunctionCall","src":"145127:16:22"},"nativeSrc":"145127:16:22","nodeType":"YulExpressionStatement","src":"145127:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145163:5:22","nodeType":"YulLiteral","src":"145163:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"145170:2:22","nodeType":"YulIdentifier","src":"145170:2:22"}],"functionName":{"name":"mstore","nativeSrc":"145156:6:22","nodeType":"YulIdentifier","src":"145156:6:22"},"nativeSrc":"145156:17:22","nodeType":"YulFunctionCall","src":"145156:17:22"},"nativeSrc":"145156:17:22","nodeType":"YulExpressionStatement","src":"145156:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35927,"isOffset":false,"isSlot":false,"src":"144937:2:22","valueSize":1},{"declaration":35930,"isOffset":false,"isSlot":false,"src":"144966:2:22","valueSize":1},{"declaration":35933,"isOffset":false,"isSlot":false,"src":"144995:2:22","valueSize":1},{"declaration":35936,"isOffset":false,"isSlot":false,"src":"145024:2:22","valueSize":1},{"declaration":35939,"isOffset":false,"isSlot":false,"src":"145053:2:22","valueSize":1},{"declaration":35942,"isOffset":false,"isSlot":false,"src":"145082:2:22","valueSize":1},{"declaration":35945,"isOffset":false,"isSlot":false,"src":"145111:2:22","valueSize":1},{"declaration":35948,"isOffset":false,"isSlot":false,"src":"145140:2:22","valueSize":1},{"declaration":35951,"isOffset":false,"isSlot":false,"src":"145170:2:22","valueSize":1}],"id":35959,"nodeType":"InlineAssembly","src":"144901:282:22"}]},"id":35961,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"143576:3:22","nodeType":"FunctionDefinition","parameters":{"id":35924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35917,"mutability":"mutable","name":"p0","nameLocation":"143588:2:22","nodeType":"VariableDeclaration","scope":35961,"src":"143580:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35916,"name":"address","nodeType":"ElementaryTypeName","src":"143580:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35919,"mutability":"mutable","name":"p1","nameLocation":"143600:2:22","nodeType":"VariableDeclaration","scope":35961,"src":"143592:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35918,"name":"uint256","nodeType":"ElementaryTypeName","src":"143592:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35921,"mutability":"mutable","name":"p2","nameLocation":"143612:2:22","nodeType":"VariableDeclaration","scope":35961,"src":"143604:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143604:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35923,"mutability":"mutable","name":"p3","nameLocation":"143624:2:22","nodeType":"VariableDeclaration","scope":35961,"src":"143616:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143616:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"143579:48:22"},"returnParameters":{"id":35925,"nodeType":"ParameterList","parameters":[],"src":"143642:0:22"},"scope":44426,"src":"143567:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36000,"nodeType":"Block","src":"145270:1351:22","statements":[{"assignments":[35973],"declarations":[{"constant":false,"id":35973,"mutability":"mutable","name":"m0","nameLocation":"145288:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35974,"nodeType":"VariableDeclarationStatement","src":"145280:10:22"},{"assignments":[35976],"declarations":[{"constant":false,"id":35976,"mutability":"mutable","name":"m1","nameLocation":"145308:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35977,"nodeType":"VariableDeclarationStatement","src":"145300:10:22"},{"assignments":[35979],"declarations":[{"constant":false,"id":35979,"mutability":"mutable","name":"m2","nameLocation":"145328:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145320:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145320:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35980,"nodeType":"VariableDeclarationStatement","src":"145320:10:22"},{"assignments":[35982],"declarations":[{"constant":false,"id":35982,"mutability":"mutable","name":"m3","nameLocation":"145348:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35983,"nodeType":"VariableDeclarationStatement","src":"145340:10:22"},{"assignments":[35985],"declarations":[{"constant":false,"id":35985,"mutability":"mutable","name":"m4","nameLocation":"145368:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145360:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35986,"nodeType":"VariableDeclarationStatement","src":"145360:10:22"},{"assignments":[35988],"declarations":[{"constant":false,"id":35988,"mutability":"mutable","name":"m5","nameLocation":"145388:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145380:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145380:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35989,"nodeType":"VariableDeclarationStatement","src":"145380:10:22"},{"assignments":[35991],"declarations":[{"constant":false,"id":35991,"mutability":"mutable","name":"m6","nameLocation":"145408:2:22","nodeType":"VariableDeclaration","scope":36000,"src":"145400:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145400:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35992,"nodeType":"VariableDeclarationStatement","src":"145400:10:22"},{"AST":{"nativeSrc":"145472:831:22","nodeType":"YulBlock","src":"145472:831:22","statements":[{"body":{"nativeSrc":"145515:313:22","nodeType":"YulBlock","src":"145515:313:22","statements":[{"nativeSrc":"145533:15:22","nodeType":"YulVariableDeclaration","src":"145533:15:22","value":{"kind":"number","nativeSrc":"145547:1:22","nodeType":"YulLiteral","src":"145547:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"145537:6:22","nodeType":"YulTypedName","src":"145537:6:22","type":""}]},{"body":{"nativeSrc":"145618:40:22","nodeType":"YulBlock","src":"145618:40:22","statements":[{"body":{"nativeSrc":"145647:9:22","nodeType":"YulBlock","src":"145647:9:22","statements":[{"nativeSrc":"145649:5:22","nodeType":"YulBreak","src":"145649:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"145635:6:22","nodeType":"YulIdentifier","src":"145635:6:22"},{"name":"w","nativeSrc":"145643:1:22","nodeType":"YulIdentifier","src":"145643:1:22"}],"functionName":{"name":"byte","nativeSrc":"145630:4:22","nodeType":"YulIdentifier","src":"145630:4:22"},"nativeSrc":"145630:15:22","nodeType":"YulFunctionCall","src":"145630:15:22"}],"functionName":{"name":"iszero","nativeSrc":"145623:6:22","nodeType":"YulIdentifier","src":"145623:6:22"},"nativeSrc":"145623:23:22","nodeType":"YulFunctionCall","src":"145623:23:22"},"nativeSrc":"145620:36:22","nodeType":"YulIf","src":"145620:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"145575:6:22","nodeType":"YulIdentifier","src":"145575:6:22"},{"kind":"number","nativeSrc":"145583:4:22","nodeType":"YulLiteral","src":"145583:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"145572:2:22","nodeType":"YulIdentifier","src":"145572:2:22"},"nativeSrc":"145572:16:22","nodeType":"YulFunctionCall","src":"145572:16:22"},"nativeSrc":"145565:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"145589:28:22","nodeType":"YulBlock","src":"145589:28:22","statements":[{"nativeSrc":"145591:24:22","nodeType":"YulAssignment","src":"145591:24:22","value":{"arguments":[{"name":"length","nativeSrc":"145605:6:22","nodeType":"YulIdentifier","src":"145605:6:22"},{"kind":"number","nativeSrc":"145613:1:22","nodeType":"YulLiteral","src":"145613:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"145601:3:22","nodeType":"YulIdentifier","src":"145601:3:22"},"nativeSrc":"145601:14:22","nodeType":"YulFunctionCall","src":"145601:14:22"},"variableNames":[{"name":"length","nativeSrc":"145591:6:22","nodeType":"YulIdentifier","src":"145591:6:22"}]}]},"pre":{"nativeSrc":"145569:2:22","nodeType":"YulBlock","src":"145569:2:22","statements":[]},"src":"145565:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"145682:3:22","nodeType":"YulIdentifier","src":"145682:3:22"},{"name":"length","nativeSrc":"145687:6:22","nodeType":"YulIdentifier","src":"145687:6:22"}],"functionName":{"name":"mstore","nativeSrc":"145675:6:22","nodeType":"YulIdentifier","src":"145675:6:22"},"nativeSrc":"145675:19:22","nodeType":"YulFunctionCall","src":"145675:19:22"},"nativeSrc":"145675:19:22","nodeType":"YulExpressionStatement","src":"145675:19:22"},{"nativeSrc":"145711:37:22","nodeType":"YulVariableDeclaration","src":"145711:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"145728:3:22","nodeType":"YulLiteral","src":"145728:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"145737:1:22","nodeType":"YulLiteral","src":"145737:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"145740:6:22","nodeType":"YulIdentifier","src":"145740:6:22"}],"functionName":{"name":"shl","nativeSrc":"145733:3:22","nodeType":"YulIdentifier","src":"145733:3:22"},"nativeSrc":"145733:14:22","nodeType":"YulFunctionCall","src":"145733:14:22"}],"functionName":{"name":"sub","nativeSrc":"145724:3:22","nodeType":"YulIdentifier","src":"145724:3:22"},"nativeSrc":"145724:24:22","nodeType":"YulFunctionCall","src":"145724:24:22"},"variables":[{"name":"shift","nativeSrc":"145715:5:22","nodeType":"YulTypedName","src":"145715:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"145776:3:22","nodeType":"YulIdentifier","src":"145776:3:22"},{"kind":"number","nativeSrc":"145781:4:22","nodeType":"YulLiteral","src":"145781:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"145772:3:22","nodeType":"YulIdentifier","src":"145772:3:22"},"nativeSrc":"145772:14:22","nodeType":"YulFunctionCall","src":"145772:14:22"},{"arguments":[{"name":"shift","nativeSrc":"145792:5:22","nodeType":"YulIdentifier","src":"145792:5:22"},{"arguments":[{"name":"shift","nativeSrc":"145803:5:22","nodeType":"YulIdentifier","src":"145803:5:22"},{"name":"w","nativeSrc":"145810:1:22","nodeType":"YulIdentifier","src":"145810:1:22"}],"functionName":{"name":"shr","nativeSrc":"145799:3:22","nodeType":"YulIdentifier","src":"145799:3:22"},"nativeSrc":"145799:13:22","nodeType":"YulFunctionCall","src":"145799:13:22"}],"functionName":{"name":"shl","nativeSrc":"145788:3:22","nodeType":"YulIdentifier","src":"145788:3:22"},"nativeSrc":"145788:25:22","nodeType":"YulFunctionCall","src":"145788:25:22"}],"functionName":{"name":"mstore","nativeSrc":"145765:6:22","nodeType":"YulIdentifier","src":"145765:6:22"},"nativeSrc":"145765:49:22","nodeType":"YulFunctionCall","src":"145765:49:22"},"nativeSrc":"145765:49:22","nodeType":"YulExpressionStatement","src":"145765:49:22"}]},"name":"writeString","nativeSrc":"145486:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"145507:3:22","nodeType":"YulTypedName","src":"145507:3:22","type":""},{"name":"w","nativeSrc":"145512:1:22","nodeType":"YulTypedName","src":"145512:1:22","type":""}],"src":"145486:342:22"},{"nativeSrc":"145841:17:22","nodeType":"YulAssignment","src":"145841:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"145853:4:22","nodeType":"YulLiteral","src":"145853:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"145847:5:22","nodeType":"YulIdentifier","src":"145847:5:22"},"nativeSrc":"145847:11:22","nodeType":"YulFunctionCall","src":"145847:11:22"},"variableNames":[{"name":"m0","nativeSrc":"145841:2:22","nodeType":"YulIdentifier","src":"145841:2:22"}]},{"nativeSrc":"145871:17:22","nodeType":"YulAssignment","src":"145871:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"145883:4:22","nodeType":"YulLiteral","src":"145883:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"145877:5:22","nodeType":"YulIdentifier","src":"145877:5:22"},"nativeSrc":"145877:11:22","nodeType":"YulFunctionCall","src":"145877:11:22"},"variableNames":[{"name":"m1","nativeSrc":"145871:2:22","nodeType":"YulIdentifier","src":"145871:2:22"}]},{"nativeSrc":"145901:17:22","nodeType":"YulAssignment","src":"145901:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"145913:4:22","nodeType":"YulLiteral","src":"145913:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"145907:5:22","nodeType":"YulIdentifier","src":"145907:5:22"},"nativeSrc":"145907:11:22","nodeType":"YulFunctionCall","src":"145907:11:22"},"variableNames":[{"name":"m2","nativeSrc":"145901:2:22","nodeType":"YulIdentifier","src":"145901:2:22"}]},{"nativeSrc":"145931:17:22","nodeType":"YulAssignment","src":"145931:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"145943:4:22","nodeType":"YulLiteral","src":"145943:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"145937:5:22","nodeType":"YulIdentifier","src":"145937:5:22"},"nativeSrc":"145937:11:22","nodeType":"YulFunctionCall","src":"145937:11:22"},"variableNames":[{"name":"m3","nativeSrc":"145931:2:22","nodeType":"YulIdentifier","src":"145931:2:22"}]},{"nativeSrc":"145961:17:22","nodeType":"YulAssignment","src":"145961:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"145973:4:22","nodeType":"YulLiteral","src":"145973:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"145967:5:22","nodeType":"YulIdentifier","src":"145967:5:22"},"nativeSrc":"145967:11:22","nodeType":"YulFunctionCall","src":"145967:11:22"},"variableNames":[{"name":"m4","nativeSrc":"145961:2:22","nodeType":"YulIdentifier","src":"145961:2:22"}]},{"nativeSrc":"145991:17:22","nodeType":"YulAssignment","src":"145991:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"146003:4:22","nodeType":"YulLiteral","src":"146003:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"145997:5:22","nodeType":"YulIdentifier","src":"145997:5:22"},"nativeSrc":"145997:11:22","nodeType":"YulFunctionCall","src":"145997:11:22"},"variableNames":[{"name":"m5","nativeSrc":"145991:2:22","nodeType":"YulIdentifier","src":"145991:2:22"}]},{"nativeSrc":"146021:17:22","nodeType":"YulAssignment","src":"146021:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"146033:4:22","nodeType":"YulLiteral","src":"146033:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"146027:5:22","nodeType":"YulIdentifier","src":"146027:5:22"},"nativeSrc":"146027:11:22","nodeType":"YulFunctionCall","src":"146027:11:22"},"variableNames":[{"name":"m6","nativeSrc":"146021:2:22","nodeType":"YulIdentifier","src":"146021:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146124:4:22","nodeType":"YulLiteral","src":"146124:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"146130:10:22","nodeType":"YulLiteral","src":"146130:10:22","type":"","value":"0x0d36fa20"}],"functionName":{"name":"mstore","nativeSrc":"146117:6:22","nodeType":"YulIdentifier","src":"146117:6:22"},"nativeSrc":"146117:24:22","nodeType":"YulFunctionCall","src":"146117:24:22"},"nativeSrc":"146117:24:22","nodeType":"YulExpressionStatement","src":"146117:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146161:4:22","nodeType":"YulLiteral","src":"146161:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"146167:2:22","nodeType":"YulIdentifier","src":"146167:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146154:6:22","nodeType":"YulIdentifier","src":"146154:6:22"},"nativeSrc":"146154:16:22","nodeType":"YulFunctionCall","src":"146154:16:22"},"nativeSrc":"146154:16:22","nodeType":"YulExpressionStatement","src":"146154:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146190:4:22","nodeType":"YulLiteral","src":"146190:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"146196:4:22","nodeType":"YulLiteral","src":"146196:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"146183:6:22","nodeType":"YulIdentifier","src":"146183:6:22"},"nativeSrc":"146183:18:22","nodeType":"YulFunctionCall","src":"146183:18:22"},"nativeSrc":"146183:18:22","nodeType":"YulExpressionStatement","src":"146183:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146221:4:22","nodeType":"YulLiteral","src":"146221:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"146227:2:22","nodeType":"YulIdentifier","src":"146227:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146214:6:22","nodeType":"YulIdentifier","src":"146214:6:22"},"nativeSrc":"146214:16:22","nodeType":"YulFunctionCall","src":"146214:16:22"},"nativeSrc":"146214:16:22","nodeType":"YulExpressionStatement","src":"146214:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146250:4:22","nodeType":"YulLiteral","src":"146250:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"146256:2:22","nodeType":"YulIdentifier","src":"146256:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146243:6:22","nodeType":"YulIdentifier","src":"146243:6:22"},"nativeSrc":"146243:16:22","nodeType":"YulFunctionCall","src":"146243:16:22"},"nativeSrc":"146243:16:22","nodeType":"YulExpressionStatement","src":"146243:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146284:4:22","nodeType":"YulLiteral","src":"146284:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"146290:2:22","nodeType":"YulIdentifier","src":"146290:2:22"}],"functionName":{"name":"writeString","nativeSrc":"146272:11:22","nodeType":"YulIdentifier","src":"146272:11:22"},"nativeSrc":"146272:21:22","nodeType":"YulFunctionCall","src":"146272:21:22"},"nativeSrc":"146272:21:22","nodeType":"YulExpressionStatement","src":"146272:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35973,"isOffset":false,"isSlot":false,"src":"145841:2:22","valueSize":1},{"declaration":35976,"isOffset":false,"isSlot":false,"src":"145871:2:22","valueSize":1},{"declaration":35979,"isOffset":false,"isSlot":false,"src":"145901:2:22","valueSize":1},{"declaration":35982,"isOffset":false,"isSlot":false,"src":"145931:2:22","valueSize":1},{"declaration":35985,"isOffset":false,"isSlot":false,"src":"145961:2:22","valueSize":1},{"declaration":35988,"isOffset":false,"isSlot":false,"src":"145991:2:22","valueSize":1},{"declaration":35991,"isOffset":false,"isSlot":false,"src":"146021:2:22","valueSize":1},{"declaration":35963,"isOffset":false,"isSlot":false,"src":"146167:2:22","valueSize":1},{"declaration":35965,"isOffset":false,"isSlot":false,"src":"146290:2:22","valueSize":1},{"declaration":35967,"isOffset":false,"isSlot":false,"src":"146227:2:22","valueSize":1},{"declaration":35969,"isOffset":false,"isSlot":false,"src":"146256:2:22","valueSize":1}],"id":35993,"nodeType":"InlineAssembly","src":"145463:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":35995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146328:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146334:4:22","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":35994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"146312:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"146312:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35998,"nodeType":"ExpressionStatement","src":"146312:27:22"},{"AST":{"nativeSrc":"146401:214:22","nodeType":"YulBlock","src":"146401:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"146422:4:22","nodeType":"YulLiteral","src":"146422:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"146428:2:22","nodeType":"YulIdentifier","src":"146428:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146415:6:22","nodeType":"YulIdentifier","src":"146415:6:22"},"nativeSrc":"146415:16:22","nodeType":"YulFunctionCall","src":"146415:16:22"},"nativeSrc":"146415:16:22","nodeType":"YulExpressionStatement","src":"146415:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146451:4:22","nodeType":"YulLiteral","src":"146451:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"146457:2:22","nodeType":"YulIdentifier","src":"146457:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146444:6:22","nodeType":"YulIdentifier","src":"146444:6:22"},"nativeSrc":"146444:16:22","nodeType":"YulFunctionCall","src":"146444:16:22"},"nativeSrc":"146444:16:22","nodeType":"YulExpressionStatement","src":"146444:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146480:4:22","nodeType":"YulLiteral","src":"146480:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"146486:2:22","nodeType":"YulIdentifier","src":"146486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146473:6:22","nodeType":"YulIdentifier","src":"146473:6:22"},"nativeSrc":"146473:16:22","nodeType":"YulFunctionCall","src":"146473:16:22"},"nativeSrc":"146473:16:22","nodeType":"YulExpressionStatement","src":"146473:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146509:4:22","nodeType":"YulLiteral","src":"146509:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"146515:2:22","nodeType":"YulIdentifier","src":"146515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146502:6:22","nodeType":"YulIdentifier","src":"146502:6:22"},"nativeSrc":"146502:16:22","nodeType":"YulFunctionCall","src":"146502:16:22"},"nativeSrc":"146502:16:22","nodeType":"YulExpressionStatement","src":"146502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146538:4:22","nodeType":"YulLiteral","src":"146538:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"146544:2:22","nodeType":"YulIdentifier","src":"146544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146531:6:22","nodeType":"YulIdentifier","src":"146531:6:22"},"nativeSrc":"146531:16:22","nodeType":"YulFunctionCall","src":"146531:16:22"},"nativeSrc":"146531:16:22","nodeType":"YulExpressionStatement","src":"146531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146567:4:22","nodeType":"YulLiteral","src":"146567:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"146573:2:22","nodeType":"YulIdentifier","src":"146573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146560:6:22","nodeType":"YulIdentifier","src":"146560:6:22"},"nativeSrc":"146560:16:22","nodeType":"YulFunctionCall","src":"146560:16:22"},"nativeSrc":"146560:16:22","nodeType":"YulExpressionStatement","src":"146560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146596:4:22","nodeType":"YulLiteral","src":"146596:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"146602:2:22","nodeType":"YulIdentifier","src":"146602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"146589:6:22","nodeType":"YulIdentifier","src":"146589:6:22"},"nativeSrc":"146589:16:22","nodeType":"YulFunctionCall","src":"146589:16:22"},"nativeSrc":"146589:16:22","nodeType":"YulExpressionStatement","src":"146589:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35973,"isOffset":false,"isSlot":false,"src":"146428:2:22","valueSize":1},{"declaration":35976,"isOffset":false,"isSlot":false,"src":"146457:2:22","valueSize":1},{"declaration":35979,"isOffset":false,"isSlot":false,"src":"146486:2:22","valueSize":1},{"declaration":35982,"isOffset":false,"isSlot":false,"src":"146515:2:22","valueSize":1},{"declaration":35985,"isOffset":false,"isSlot":false,"src":"146544:2:22","valueSize":1},{"declaration":35988,"isOffset":false,"isSlot":false,"src":"146573:2:22","valueSize":1},{"declaration":35991,"isOffset":false,"isSlot":false,"src":"146602:2:22","valueSize":1}],"id":35999,"nodeType":"InlineAssembly","src":"146392:223:22"}]},"id":36001,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"145204:3:22","nodeType":"FunctionDefinition","parameters":{"id":35970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35963,"mutability":"mutable","name":"p0","nameLocation":"145216:2:22","nodeType":"VariableDeclaration","scope":36001,"src":"145208:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35962,"name":"address","nodeType":"ElementaryTypeName","src":"145208:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35965,"mutability":"mutable","name":"p1","nameLocation":"145228:2:22","nodeType":"VariableDeclaration","scope":36001,"src":"145220:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145220:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35967,"mutability":"mutable","name":"p2","nameLocation":"145240:2:22","nodeType":"VariableDeclaration","scope":36001,"src":"145232:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35966,"name":"address","nodeType":"ElementaryTypeName","src":"145232:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35969,"mutability":"mutable","name":"p3","nameLocation":"145252:2:22","nodeType":"VariableDeclaration","scope":36001,"src":"145244:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35968,"name":"address","nodeType":"ElementaryTypeName","src":"145244:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"145207:48:22"},"returnParameters":{"id":35971,"nodeType":"ParameterList","parameters":[],"src":"145270:0:22"},"scope":44426,"src":"145195:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36040,"nodeType":"Block","src":"146699:1348:22","statements":[{"assignments":[36013],"declarations":[{"constant":false,"id":36013,"mutability":"mutable","name":"m0","nameLocation":"146717:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36014,"nodeType":"VariableDeclarationStatement","src":"146709:10:22"},{"assignments":[36016],"declarations":[{"constant":false,"id":36016,"mutability":"mutable","name":"m1","nameLocation":"146737:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146729:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146729:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36017,"nodeType":"VariableDeclarationStatement","src":"146729:10:22"},{"assignments":[36019],"declarations":[{"constant":false,"id":36019,"mutability":"mutable","name":"m2","nameLocation":"146757:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146749:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36020,"nodeType":"VariableDeclarationStatement","src":"146749:10:22"},{"assignments":[36022],"declarations":[{"constant":false,"id":36022,"mutability":"mutable","name":"m3","nameLocation":"146777:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146769:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146769:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36023,"nodeType":"VariableDeclarationStatement","src":"146769:10:22"},{"assignments":[36025],"declarations":[{"constant":false,"id":36025,"mutability":"mutable","name":"m4","nameLocation":"146797:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146789:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36026,"nodeType":"VariableDeclarationStatement","src":"146789:10:22"},{"assignments":[36028],"declarations":[{"constant":false,"id":36028,"mutability":"mutable","name":"m5","nameLocation":"146817:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146809:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146809:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36029,"nodeType":"VariableDeclarationStatement","src":"146809:10:22"},{"assignments":[36031],"declarations":[{"constant":false,"id":36031,"mutability":"mutable","name":"m6","nameLocation":"146837:2:22","nodeType":"VariableDeclaration","scope":36040,"src":"146829:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146829:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36032,"nodeType":"VariableDeclarationStatement","src":"146829:10:22"},{"AST":{"nativeSrc":"146901:828:22","nodeType":"YulBlock","src":"146901:828:22","statements":[{"body":{"nativeSrc":"146944:313:22","nodeType":"YulBlock","src":"146944:313:22","statements":[{"nativeSrc":"146962:15:22","nodeType":"YulVariableDeclaration","src":"146962:15:22","value":{"kind":"number","nativeSrc":"146976:1:22","nodeType":"YulLiteral","src":"146976:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"146966:6:22","nodeType":"YulTypedName","src":"146966:6:22","type":""}]},{"body":{"nativeSrc":"147047:40:22","nodeType":"YulBlock","src":"147047:40:22","statements":[{"body":{"nativeSrc":"147076:9:22","nodeType":"YulBlock","src":"147076:9:22","statements":[{"nativeSrc":"147078:5:22","nodeType":"YulBreak","src":"147078:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"147064:6:22","nodeType":"YulIdentifier","src":"147064:6:22"},{"name":"w","nativeSrc":"147072:1:22","nodeType":"YulIdentifier","src":"147072:1:22"}],"functionName":{"name":"byte","nativeSrc":"147059:4:22","nodeType":"YulIdentifier","src":"147059:4:22"},"nativeSrc":"147059:15:22","nodeType":"YulFunctionCall","src":"147059:15:22"}],"functionName":{"name":"iszero","nativeSrc":"147052:6:22","nodeType":"YulIdentifier","src":"147052:6:22"},"nativeSrc":"147052:23:22","nodeType":"YulFunctionCall","src":"147052:23:22"},"nativeSrc":"147049:36:22","nodeType":"YulIf","src":"147049:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"147004:6:22","nodeType":"YulIdentifier","src":"147004:6:22"},{"kind":"number","nativeSrc":"147012:4:22","nodeType":"YulLiteral","src":"147012:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"147001:2:22","nodeType":"YulIdentifier","src":"147001:2:22"},"nativeSrc":"147001:16:22","nodeType":"YulFunctionCall","src":"147001:16:22"},"nativeSrc":"146994:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"147018:28:22","nodeType":"YulBlock","src":"147018:28:22","statements":[{"nativeSrc":"147020:24:22","nodeType":"YulAssignment","src":"147020:24:22","value":{"arguments":[{"name":"length","nativeSrc":"147034:6:22","nodeType":"YulIdentifier","src":"147034:6:22"},{"kind":"number","nativeSrc":"147042:1:22","nodeType":"YulLiteral","src":"147042:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"147030:3:22","nodeType":"YulIdentifier","src":"147030:3:22"},"nativeSrc":"147030:14:22","nodeType":"YulFunctionCall","src":"147030:14:22"},"variableNames":[{"name":"length","nativeSrc":"147020:6:22","nodeType":"YulIdentifier","src":"147020:6:22"}]}]},"pre":{"nativeSrc":"146998:2:22","nodeType":"YulBlock","src":"146998:2:22","statements":[]},"src":"146994:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"147111:3:22","nodeType":"YulIdentifier","src":"147111:3:22"},{"name":"length","nativeSrc":"147116:6:22","nodeType":"YulIdentifier","src":"147116:6:22"}],"functionName":{"name":"mstore","nativeSrc":"147104:6:22","nodeType":"YulIdentifier","src":"147104:6:22"},"nativeSrc":"147104:19:22","nodeType":"YulFunctionCall","src":"147104:19:22"},"nativeSrc":"147104:19:22","nodeType":"YulExpressionStatement","src":"147104:19:22"},{"nativeSrc":"147140:37:22","nodeType":"YulVariableDeclaration","src":"147140:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"147157:3:22","nodeType":"YulLiteral","src":"147157:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"147166:1:22","nodeType":"YulLiteral","src":"147166:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"147169:6:22","nodeType":"YulIdentifier","src":"147169:6:22"}],"functionName":{"name":"shl","nativeSrc":"147162:3:22","nodeType":"YulIdentifier","src":"147162:3:22"},"nativeSrc":"147162:14:22","nodeType":"YulFunctionCall","src":"147162:14:22"}],"functionName":{"name":"sub","nativeSrc":"147153:3:22","nodeType":"YulIdentifier","src":"147153:3:22"},"nativeSrc":"147153:24:22","nodeType":"YulFunctionCall","src":"147153:24:22"},"variables":[{"name":"shift","nativeSrc":"147144:5:22","nodeType":"YulTypedName","src":"147144:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"147205:3:22","nodeType":"YulIdentifier","src":"147205:3:22"},{"kind":"number","nativeSrc":"147210:4:22","nodeType":"YulLiteral","src":"147210:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"147201:3:22","nodeType":"YulIdentifier","src":"147201:3:22"},"nativeSrc":"147201:14:22","nodeType":"YulFunctionCall","src":"147201:14:22"},{"arguments":[{"name":"shift","nativeSrc":"147221:5:22","nodeType":"YulIdentifier","src":"147221:5:22"},{"arguments":[{"name":"shift","nativeSrc":"147232:5:22","nodeType":"YulIdentifier","src":"147232:5:22"},{"name":"w","nativeSrc":"147239:1:22","nodeType":"YulIdentifier","src":"147239:1:22"}],"functionName":{"name":"shr","nativeSrc":"147228:3:22","nodeType":"YulIdentifier","src":"147228:3:22"},"nativeSrc":"147228:13:22","nodeType":"YulFunctionCall","src":"147228:13:22"}],"functionName":{"name":"shl","nativeSrc":"147217:3:22","nodeType":"YulIdentifier","src":"147217:3:22"},"nativeSrc":"147217:25:22","nodeType":"YulFunctionCall","src":"147217:25:22"}],"functionName":{"name":"mstore","nativeSrc":"147194:6:22","nodeType":"YulIdentifier","src":"147194:6:22"},"nativeSrc":"147194:49:22","nodeType":"YulFunctionCall","src":"147194:49:22"},"nativeSrc":"147194:49:22","nodeType":"YulExpressionStatement","src":"147194:49:22"}]},"name":"writeString","nativeSrc":"146915:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"146936:3:22","nodeType":"YulTypedName","src":"146936:3:22","type":""},{"name":"w","nativeSrc":"146941:1:22","nodeType":"YulTypedName","src":"146941:1:22","type":""}],"src":"146915:342:22"},{"nativeSrc":"147270:17:22","nodeType":"YulAssignment","src":"147270:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147282:4:22","nodeType":"YulLiteral","src":"147282:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"147276:5:22","nodeType":"YulIdentifier","src":"147276:5:22"},"nativeSrc":"147276:11:22","nodeType":"YulFunctionCall","src":"147276:11:22"},"variableNames":[{"name":"m0","nativeSrc":"147270:2:22","nodeType":"YulIdentifier","src":"147270:2:22"}]},{"nativeSrc":"147300:17:22","nodeType":"YulAssignment","src":"147300:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147312:4:22","nodeType":"YulLiteral","src":"147312:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"147306:5:22","nodeType":"YulIdentifier","src":"147306:5:22"},"nativeSrc":"147306:11:22","nodeType":"YulFunctionCall","src":"147306:11:22"},"variableNames":[{"name":"m1","nativeSrc":"147300:2:22","nodeType":"YulIdentifier","src":"147300:2:22"}]},{"nativeSrc":"147330:17:22","nodeType":"YulAssignment","src":"147330:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147342:4:22","nodeType":"YulLiteral","src":"147342:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"147336:5:22","nodeType":"YulIdentifier","src":"147336:5:22"},"nativeSrc":"147336:11:22","nodeType":"YulFunctionCall","src":"147336:11:22"},"variableNames":[{"name":"m2","nativeSrc":"147330:2:22","nodeType":"YulIdentifier","src":"147330:2:22"}]},{"nativeSrc":"147360:17:22","nodeType":"YulAssignment","src":"147360:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147372:4:22","nodeType":"YulLiteral","src":"147372:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"147366:5:22","nodeType":"YulIdentifier","src":"147366:5:22"},"nativeSrc":"147366:11:22","nodeType":"YulFunctionCall","src":"147366:11:22"},"variableNames":[{"name":"m3","nativeSrc":"147360:2:22","nodeType":"YulIdentifier","src":"147360:2:22"}]},{"nativeSrc":"147390:17:22","nodeType":"YulAssignment","src":"147390:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147402:4:22","nodeType":"YulLiteral","src":"147402:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"147396:5:22","nodeType":"YulIdentifier","src":"147396:5:22"},"nativeSrc":"147396:11:22","nodeType":"YulFunctionCall","src":"147396:11:22"},"variableNames":[{"name":"m4","nativeSrc":"147390:2:22","nodeType":"YulIdentifier","src":"147390:2:22"}]},{"nativeSrc":"147420:17:22","nodeType":"YulAssignment","src":"147420:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147432:4:22","nodeType":"YulLiteral","src":"147432:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"147426:5:22","nodeType":"YulIdentifier","src":"147426:5:22"},"nativeSrc":"147426:11:22","nodeType":"YulFunctionCall","src":"147426:11:22"},"variableNames":[{"name":"m5","nativeSrc":"147420:2:22","nodeType":"YulIdentifier","src":"147420:2:22"}]},{"nativeSrc":"147450:17:22","nodeType":"YulAssignment","src":"147450:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"147462:4:22","nodeType":"YulLiteral","src":"147462:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"147456:5:22","nodeType":"YulIdentifier","src":"147456:5:22"},"nativeSrc":"147456:11:22","nodeType":"YulFunctionCall","src":"147456:11:22"},"variableNames":[{"name":"m6","nativeSrc":"147450:2:22","nodeType":"YulIdentifier","src":"147450:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147550:4:22","nodeType":"YulLiteral","src":"147550:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"147556:10:22","nodeType":"YulLiteral","src":"147556:10:22","type":"","value":"0x0df12b76"}],"functionName":{"name":"mstore","nativeSrc":"147543:6:22","nodeType":"YulIdentifier","src":"147543:6:22"},"nativeSrc":"147543:24:22","nodeType":"YulFunctionCall","src":"147543:24:22"},"nativeSrc":"147543:24:22","nodeType":"YulExpressionStatement","src":"147543:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147587:4:22","nodeType":"YulLiteral","src":"147587:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"147593:2:22","nodeType":"YulIdentifier","src":"147593:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147580:6:22","nodeType":"YulIdentifier","src":"147580:6:22"},"nativeSrc":"147580:16:22","nodeType":"YulFunctionCall","src":"147580:16:22"},"nativeSrc":"147580:16:22","nodeType":"YulExpressionStatement","src":"147580:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147616:4:22","nodeType":"YulLiteral","src":"147616:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"147622:4:22","nodeType":"YulLiteral","src":"147622:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"147609:6:22","nodeType":"YulIdentifier","src":"147609:6:22"},"nativeSrc":"147609:18:22","nodeType":"YulFunctionCall","src":"147609:18:22"},"nativeSrc":"147609:18:22","nodeType":"YulExpressionStatement","src":"147609:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147647:4:22","nodeType":"YulLiteral","src":"147647:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"147653:2:22","nodeType":"YulIdentifier","src":"147653:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147640:6:22","nodeType":"YulIdentifier","src":"147640:6:22"},"nativeSrc":"147640:16:22","nodeType":"YulFunctionCall","src":"147640:16:22"},"nativeSrc":"147640:16:22","nodeType":"YulExpressionStatement","src":"147640:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147676:4:22","nodeType":"YulLiteral","src":"147676:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"147682:2:22","nodeType":"YulIdentifier","src":"147682:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147669:6:22","nodeType":"YulIdentifier","src":"147669:6:22"},"nativeSrc":"147669:16:22","nodeType":"YulFunctionCall","src":"147669:16:22"},"nativeSrc":"147669:16:22","nodeType":"YulExpressionStatement","src":"147669:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147710:4:22","nodeType":"YulLiteral","src":"147710:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"147716:2:22","nodeType":"YulIdentifier","src":"147716:2:22"}],"functionName":{"name":"writeString","nativeSrc":"147698:11:22","nodeType":"YulIdentifier","src":"147698:11:22"},"nativeSrc":"147698:21:22","nodeType":"YulFunctionCall","src":"147698:21:22"},"nativeSrc":"147698:21:22","nodeType":"YulExpressionStatement","src":"147698:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36013,"isOffset":false,"isSlot":false,"src":"147270:2:22","valueSize":1},{"declaration":36016,"isOffset":false,"isSlot":false,"src":"147300:2:22","valueSize":1},{"declaration":36019,"isOffset":false,"isSlot":false,"src":"147330:2:22","valueSize":1},{"declaration":36022,"isOffset":false,"isSlot":false,"src":"147360:2:22","valueSize":1},{"declaration":36025,"isOffset":false,"isSlot":false,"src":"147390:2:22","valueSize":1},{"declaration":36028,"isOffset":false,"isSlot":false,"src":"147420:2:22","valueSize":1},{"declaration":36031,"isOffset":false,"isSlot":false,"src":"147450:2:22","valueSize":1},{"declaration":36003,"isOffset":false,"isSlot":false,"src":"147593:2:22","valueSize":1},{"declaration":36005,"isOffset":false,"isSlot":false,"src":"147716:2:22","valueSize":1},{"declaration":36007,"isOffset":false,"isSlot":false,"src":"147653:2:22","valueSize":1},{"declaration":36009,"isOffset":false,"isSlot":false,"src":"147682:2:22","valueSize":1}],"id":36033,"nodeType":"InlineAssembly","src":"146892:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147754:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147760:4:22","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":36034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"147738:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"147738:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36038,"nodeType":"ExpressionStatement","src":"147738:27:22"},{"AST":{"nativeSrc":"147827:214:22","nodeType":"YulBlock","src":"147827:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"147848:4:22","nodeType":"YulLiteral","src":"147848:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"147854:2:22","nodeType":"YulIdentifier","src":"147854:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147841:6:22","nodeType":"YulIdentifier","src":"147841:6:22"},"nativeSrc":"147841:16:22","nodeType":"YulFunctionCall","src":"147841:16:22"},"nativeSrc":"147841:16:22","nodeType":"YulExpressionStatement","src":"147841:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147877:4:22","nodeType":"YulLiteral","src":"147877:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"147883:2:22","nodeType":"YulIdentifier","src":"147883:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147870:6:22","nodeType":"YulIdentifier","src":"147870:6:22"},"nativeSrc":"147870:16:22","nodeType":"YulFunctionCall","src":"147870:16:22"},"nativeSrc":"147870:16:22","nodeType":"YulExpressionStatement","src":"147870:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147906:4:22","nodeType":"YulLiteral","src":"147906:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"147912:2:22","nodeType":"YulIdentifier","src":"147912:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147899:6:22","nodeType":"YulIdentifier","src":"147899:6:22"},"nativeSrc":"147899:16:22","nodeType":"YulFunctionCall","src":"147899:16:22"},"nativeSrc":"147899:16:22","nodeType":"YulExpressionStatement","src":"147899:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147935:4:22","nodeType":"YulLiteral","src":"147935:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"147941:2:22","nodeType":"YulIdentifier","src":"147941:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147928:6:22","nodeType":"YulIdentifier","src":"147928:6:22"},"nativeSrc":"147928:16:22","nodeType":"YulFunctionCall","src":"147928:16:22"},"nativeSrc":"147928:16:22","nodeType":"YulExpressionStatement","src":"147928:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147964:4:22","nodeType":"YulLiteral","src":"147964:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"147970:2:22","nodeType":"YulIdentifier","src":"147970:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147957:6:22","nodeType":"YulIdentifier","src":"147957:6:22"},"nativeSrc":"147957:16:22","nodeType":"YulFunctionCall","src":"147957:16:22"},"nativeSrc":"147957:16:22","nodeType":"YulExpressionStatement","src":"147957:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147993:4:22","nodeType":"YulLiteral","src":"147993:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"147999:2:22","nodeType":"YulIdentifier","src":"147999:2:22"}],"functionName":{"name":"mstore","nativeSrc":"147986:6:22","nodeType":"YulIdentifier","src":"147986:6:22"},"nativeSrc":"147986:16:22","nodeType":"YulFunctionCall","src":"147986:16:22"},"nativeSrc":"147986:16:22","nodeType":"YulExpressionStatement","src":"147986:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148022:4:22","nodeType":"YulLiteral","src":"148022:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"148028:2:22","nodeType":"YulIdentifier","src":"148028:2:22"}],"functionName":{"name":"mstore","nativeSrc":"148015:6:22","nodeType":"YulIdentifier","src":"148015:6:22"},"nativeSrc":"148015:16:22","nodeType":"YulFunctionCall","src":"148015:16:22"},"nativeSrc":"148015:16:22","nodeType":"YulExpressionStatement","src":"148015:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36013,"isOffset":false,"isSlot":false,"src":"147854:2:22","valueSize":1},{"declaration":36016,"isOffset":false,"isSlot":false,"src":"147883:2:22","valueSize":1},{"declaration":36019,"isOffset":false,"isSlot":false,"src":"147912:2:22","valueSize":1},{"declaration":36022,"isOffset":false,"isSlot":false,"src":"147941:2:22","valueSize":1},{"declaration":36025,"isOffset":false,"isSlot":false,"src":"147970:2:22","valueSize":1},{"declaration":36028,"isOffset":false,"isSlot":false,"src":"147999:2:22","valueSize":1},{"declaration":36031,"isOffset":false,"isSlot":false,"src":"148028:2:22","valueSize":1}],"id":36039,"nodeType":"InlineAssembly","src":"147818:223:22"}]},"id":36041,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"146636:3:22","nodeType":"FunctionDefinition","parameters":{"id":36010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36003,"mutability":"mutable","name":"p0","nameLocation":"146648:2:22","nodeType":"VariableDeclaration","scope":36041,"src":"146640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36002,"name":"address","nodeType":"ElementaryTypeName","src":"146640:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36005,"mutability":"mutable","name":"p1","nameLocation":"146660:2:22","nodeType":"VariableDeclaration","scope":36041,"src":"146652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146652:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36007,"mutability":"mutable","name":"p2","nameLocation":"146672:2:22","nodeType":"VariableDeclaration","scope":36041,"src":"146664:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36006,"name":"address","nodeType":"ElementaryTypeName","src":"146664:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36009,"mutability":"mutable","name":"p3","nameLocation":"146681:2:22","nodeType":"VariableDeclaration","scope":36041,"src":"146676:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36008,"name":"bool","nodeType":"ElementaryTypeName","src":"146676:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"146639:45:22"},"returnParameters":{"id":36011,"nodeType":"ParameterList","parameters":[],"src":"146699:0:22"},"scope":44426,"src":"146627:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36080,"nodeType":"Block","src":"148128:1351:22","statements":[{"assignments":[36053],"declarations":[{"constant":false,"id":36053,"mutability":"mutable","name":"m0","nameLocation":"148146:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36052,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36054,"nodeType":"VariableDeclarationStatement","src":"148138:10:22"},{"assignments":[36056],"declarations":[{"constant":false,"id":36056,"mutability":"mutable","name":"m1","nameLocation":"148166:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148158:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36057,"nodeType":"VariableDeclarationStatement","src":"148158:10:22"},{"assignments":[36059],"declarations":[{"constant":false,"id":36059,"mutability":"mutable","name":"m2","nameLocation":"148186:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148178:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148178:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36060,"nodeType":"VariableDeclarationStatement","src":"148178:10:22"},{"assignments":[36062],"declarations":[{"constant":false,"id":36062,"mutability":"mutable","name":"m3","nameLocation":"148206:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148198:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148198:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36063,"nodeType":"VariableDeclarationStatement","src":"148198:10:22"},{"assignments":[36065],"declarations":[{"constant":false,"id":36065,"mutability":"mutable","name":"m4","nameLocation":"148226:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148218:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148218:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36066,"nodeType":"VariableDeclarationStatement","src":"148218:10:22"},{"assignments":[36068],"declarations":[{"constant":false,"id":36068,"mutability":"mutable","name":"m5","nameLocation":"148246:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148238:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148238:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36069,"nodeType":"VariableDeclarationStatement","src":"148238:10:22"},{"assignments":[36071],"declarations":[{"constant":false,"id":36071,"mutability":"mutable","name":"m6","nameLocation":"148266:2:22","nodeType":"VariableDeclaration","scope":36080,"src":"148258:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148258:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36072,"nodeType":"VariableDeclarationStatement","src":"148258:10:22"},{"AST":{"nativeSrc":"148330:831:22","nodeType":"YulBlock","src":"148330:831:22","statements":[{"body":{"nativeSrc":"148373:313:22","nodeType":"YulBlock","src":"148373:313:22","statements":[{"nativeSrc":"148391:15:22","nodeType":"YulVariableDeclaration","src":"148391:15:22","value":{"kind":"number","nativeSrc":"148405:1:22","nodeType":"YulLiteral","src":"148405:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"148395:6:22","nodeType":"YulTypedName","src":"148395:6:22","type":""}]},{"body":{"nativeSrc":"148476:40:22","nodeType":"YulBlock","src":"148476:40:22","statements":[{"body":{"nativeSrc":"148505:9:22","nodeType":"YulBlock","src":"148505:9:22","statements":[{"nativeSrc":"148507:5:22","nodeType":"YulBreak","src":"148507:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"148493:6:22","nodeType":"YulIdentifier","src":"148493:6:22"},{"name":"w","nativeSrc":"148501:1:22","nodeType":"YulIdentifier","src":"148501:1:22"}],"functionName":{"name":"byte","nativeSrc":"148488:4:22","nodeType":"YulIdentifier","src":"148488:4:22"},"nativeSrc":"148488:15:22","nodeType":"YulFunctionCall","src":"148488:15:22"}],"functionName":{"name":"iszero","nativeSrc":"148481:6:22","nodeType":"YulIdentifier","src":"148481:6:22"},"nativeSrc":"148481:23:22","nodeType":"YulFunctionCall","src":"148481:23:22"},"nativeSrc":"148478:36:22","nodeType":"YulIf","src":"148478:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"148433:6:22","nodeType":"YulIdentifier","src":"148433:6:22"},{"kind":"number","nativeSrc":"148441:4:22","nodeType":"YulLiteral","src":"148441:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"148430:2:22","nodeType":"YulIdentifier","src":"148430:2:22"},"nativeSrc":"148430:16:22","nodeType":"YulFunctionCall","src":"148430:16:22"},"nativeSrc":"148423:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"148447:28:22","nodeType":"YulBlock","src":"148447:28:22","statements":[{"nativeSrc":"148449:24:22","nodeType":"YulAssignment","src":"148449:24:22","value":{"arguments":[{"name":"length","nativeSrc":"148463:6:22","nodeType":"YulIdentifier","src":"148463:6:22"},{"kind":"number","nativeSrc":"148471:1:22","nodeType":"YulLiteral","src":"148471:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"148459:3:22","nodeType":"YulIdentifier","src":"148459:3:22"},"nativeSrc":"148459:14:22","nodeType":"YulFunctionCall","src":"148459:14:22"},"variableNames":[{"name":"length","nativeSrc":"148449:6:22","nodeType":"YulIdentifier","src":"148449:6:22"}]}]},"pre":{"nativeSrc":"148427:2:22","nodeType":"YulBlock","src":"148427:2:22","statements":[]},"src":"148423:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"148540:3:22","nodeType":"YulIdentifier","src":"148540:3:22"},{"name":"length","nativeSrc":"148545:6:22","nodeType":"YulIdentifier","src":"148545:6:22"}],"functionName":{"name":"mstore","nativeSrc":"148533:6:22","nodeType":"YulIdentifier","src":"148533:6:22"},"nativeSrc":"148533:19:22","nodeType":"YulFunctionCall","src":"148533:19:22"},"nativeSrc":"148533:19:22","nodeType":"YulExpressionStatement","src":"148533:19:22"},{"nativeSrc":"148569:37:22","nodeType":"YulVariableDeclaration","src":"148569:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"148586:3:22","nodeType":"YulLiteral","src":"148586:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"148595:1:22","nodeType":"YulLiteral","src":"148595:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"148598:6:22","nodeType":"YulIdentifier","src":"148598:6:22"}],"functionName":{"name":"shl","nativeSrc":"148591:3:22","nodeType":"YulIdentifier","src":"148591:3:22"},"nativeSrc":"148591:14:22","nodeType":"YulFunctionCall","src":"148591:14:22"}],"functionName":{"name":"sub","nativeSrc":"148582:3:22","nodeType":"YulIdentifier","src":"148582:3:22"},"nativeSrc":"148582:24:22","nodeType":"YulFunctionCall","src":"148582:24:22"},"variables":[{"name":"shift","nativeSrc":"148573:5:22","nodeType":"YulTypedName","src":"148573:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"148634:3:22","nodeType":"YulIdentifier","src":"148634:3:22"},{"kind":"number","nativeSrc":"148639:4:22","nodeType":"YulLiteral","src":"148639:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"148630:3:22","nodeType":"YulIdentifier","src":"148630:3:22"},"nativeSrc":"148630:14:22","nodeType":"YulFunctionCall","src":"148630:14:22"},{"arguments":[{"name":"shift","nativeSrc":"148650:5:22","nodeType":"YulIdentifier","src":"148650:5:22"},{"arguments":[{"name":"shift","nativeSrc":"148661:5:22","nodeType":"YulIdentifier","src":"148661:5:22"},{"name":"w","nativeSrc":"148668:1:22","nodeType":"YulIdentifier","src":"148668:1:22"}],"functionName":{"name":"shr","nativeSrc":"148657:3:22","nodeType":"YulIdentifier","src":"148657:3:22"},"nativeSrc":"148657:13:22","nodeType":"YulFunctionCall","src":"148657:13:22"}],"functionName":{"name":"shl","nativeSrc":"148646:3:22","nodeType":"YulIdentifier","src":"148646:3:22"},"nativeSrc":"148646:25:22","nodeType":"YulFunctionCall","src":"148646:25:22"}],"functionName":{"name":"mstore","nativeSrc":"148623:6:22","nodeType":"YulIdentifier","src":"148623:6:22"},"nativeSrc":"148623:49:22","nodeType":"YulFunctionCall","src":"148623:49:22"},"nativeSrc":"148623:49:22","nodeType":"YulExpressionStatement","src":"148623:49:22"}]},"name":"writeString","nativeSrc":"148344:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"148365:3:22","nodeType":"YulTypedName","src":"148365:3:22","type":""},{"name":"w","nativeSrc":"148370:1:22","nodeType":"YulTypedName","src":"148370:1:22","type":""}],"src":"148344:342:22"},{"nativeSrc":"148699:17:22","nodeType":"YulAssignment","src":"148699:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148711:4:22","nodeType":"YulLiteral","src":"148711:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"148705:5:22","nodeType":"YulIdentifier","src":"148705:5:22"},"nativeSrc":"148705:11:22","nodeType":"YulFunctionCall","src":"148705:11:22"},"variableNames":[{"name":"m0","nativeSrc":"148699:2:22","nodeType":"YulIdentifier","src":"148699:2:22"}]},{"nativeSrc":"148729:17:22","nodeType":"YulAssignment","src":"148729:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148741:4:22","nodeType":"YulLiteral","src":"148741:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"148735:5:22","nodeType":"YulIdentifier","src":"148735:5:22"},"nativeSrc":"148735:11:22","nodeType":"YulFunctionCall","src":"148735:11:22"},"variableNames":[{"name":"m1","nativeSrc":"148729:2:22","nodeType":"YulIdentifier","src":"148729:2:22"}]},{"nativeSrc":"148759:17:22","nodeType":"YulAssignment","src":"148759:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148771:4:22","nodeType":"YulLiteral","src":"148771:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"148765:5:22","nodeType":"YulIdentifier","src":"148765:5:22"},"nativeSrc":"148765:11:22","nodeType":"YulFunctionCall","src":"148765:11:22"},"variableNames":[{"name":"m2","nativeSrc":"148759:2:22","nodeType":"YulIdentifier","src":"148759:2:22"}]},{"nativeSrc":"148789:17:22","nodeType":"YulAssignment","src":"148789:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148801:4:22","nodeType":"YulLiteral","src":"148801:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"148795:5:22","nodeType":"YulIdentifier","src":"148795:5:22"},"nativeSrc":"148795:11:22","nodeType":"YulFunctionCall","src":"148795:11:22"},"variableNames":[{"name":"m3","nativeSrc":"148789:2:22","nodeType":"YulIdentifier","src":"148789:2:22"}]},{"nativeSrc":"148819:17:22","nodeType":"YulAssignment","src":"148819:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148831:4:22","nodeType":"YulLiteral","src":"148831:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"148825:5:22","nodeType":"YulIdentifier","src":"148825:5:22"},"nativeSrc":"148825:11:22","nodeType":"YulFunctionCall","src":"148825:11:22"},"variableNames":[{"name":"m4","nativeSrc":"148819:2:22","nodeType":"YulIdentifier","src":"148819:2:22"}]},{"nativeSrc":"148849:17:22","nodeType":"YulAssignment","src":"148849:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148861:4:22","nodeType":"YulLiteral","src":"148861:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"148855:5:22","nodeType":"YulIdentifier","src":"148855:5:22"},"nativeSrc":"148855:11:22","nodeType":"YulFunctionCall","src":"148855:11:22"},"variableNames":[{"name":"m5","nativeSrc":"148849:2:22","nodeType":"YulIdentifier","src":"148849:2:22"}]},{"nativeSrc":"148879:17:22","nodeType":"YulAssignment","src":"148879:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"148891:4:22","nodeType":"YulLiteral","src":"148891:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"148885:5:22","nodeType":"YulIdentifier","src":"148885:5:22"},"nativeSrc":"148885:11:22","nodeType":"YulFunctionCall","src":"148885:11:22"},"variableNames":[{"name":"m6","nativeSrc":"148879:2:22","nodeType":"YulIdentifier","src":"148879:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148982:4:22","nodeType":"YulLiteral","src":"148982:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"148988:10:22","nodeType":"YulLiteral","src":"148988:10:22","type":"","value":"0x457fe3cf"}],"functionName":{"name":"mstore","nativeSrc":"148975:6:22","nodeType":"YulIdentifier","src":"148975:6:22"},"nativeSrc":"148975:24:22","nodeType":"YulFunctionCall","src":"148975:24:22"},"nativeSrc":"148975:24:22","nodeType":"YulExpressionStatement","src":"148975:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149019:4:22","nodeType":"YulLiteral","src":"149019:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"149025:2:22","nodeType":"YulIdentifier","src":"149025:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149012:6:22","nodeType":"YulIdentifier","src":"149012:6:22"},"nativeSrc":"149012:16:22","nodeType":"YulFunctionCall","src":"149012:16:22"},"nativeSrc":"149012:16:22","nodeType":"YulExpressionStatement","src":"149012:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149048:4:22","nodeType":"YulLiteral","src":"149048:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"149054:4:22","nodeType":"YulLiteral","src":"149054:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"149041:6:22","nodeType":"YulIdentifier","src":"149041:6:22"},"nativeSrc":"149041:18:22","nodeType":"YulFunctionCall","src":"149041:18:22"},"nativeSrc":"149041:18:22","nodeType":"YulExpressionStatement","src":"149041:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149079:4:22","nodeType":"YulLiteral","src":"149079:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"149085:2:22","nodeType":"YulIdentifier","src":"149085:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149072:6:22","nodeType":"YulIdentifier","src":"149072:6:22"},"nativeSrc":"149072:16:22","nodeType":"YulFunctionCall","src":"149072:16:22"},"nativeSrc":"149072:16:22","nodeType":"YulExpressionStatement","src":"149072:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149108:4:22","nodeType":"YulLiteral","src":"149108:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"149114:2:22","nodeType":"YulIdentifier","src":"149114:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149101:6:22","nodeType":"YulIdentifier","src":"149101:6:22"},"nativeSrc":"149101:16:22","nodeType":"YulFunctionCall","src":"149101:16:22"},"nativeSrc":"149101:16:22","nodeType":"YulExpressionStatement","src":"149101:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149142:4:22","nodeType":"YulLiteral","src":"149142:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"149148:2:22","nodeType":"YulIdentifier","src":"149148:2:22"}],"functionName":{"name":"writeString","nativeSrc":"149130:11:22","nodeType":"YulIdentifier","src":"149130:11:22"},"nativeSrc":"149130:21:22","nodeType":"YulFunctionCall","src":"149130:21:22"},"nativeSrc":"149130:21:22","nodeType":"YulExpressionStatement","src":"149130:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36053,"isOffset":false,"isSlot":false,"src":"148699:2:22","valueSize":1},{"declaration":36056,"isOffset":false,"isSlot":false,"src":"148729:2:22","valueSize":1},{"declaration":36059,"isOffset":false,"isSlot":false,"src":"148759:2:22","valueSize":1},{"declaration":36062,"isOffset":false,"isSlot":false,"src":"148789:2:22","valueSize":1},{"declaration":36065,"isOffset":false,"isSlot":false,"src":"148819:2:22","valueSize":1},{"declaration":36068,"isOffset":false,"isSlot":false,"src":"148849:2:22","valueSize":1},{"declaration":36071,"isOffset":false,"isSlot":false,"src":"148879:2:22","valueSize":1},{"declaration":36043,"isOffset":false,"isSlot":false,"src":"149025:2:22","valueSize":1},{"declaration":36045,"isOffset":false,"isSlot":false,"src":"149148:2:22","valueSize":1},{"declaration":36047,"isOffset":false,"isSlot":false,"src":"149085:2:22","valueSize":1},{"declaration":36049,"isOffset":false,"isSlot":false,"src":"149114:2:22","valueSize":1}],"id":36073,"nodeType":"InlineAssembly","src":"148321:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149186:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149192:4:22","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":36074,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"149170:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"149170:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36078,"nodeType":"ExpressionStatement","src":"149170:27:22"},{"AST":{"nativeSrc":"149259:214:22","nodeType":"YulBlock","src":"149259:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"149280:4:22","nodeType":"YulLiteral","src":"149280:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"149286:2:22","nodeType":"YulIdentifier","src":"149286:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149273:6:22","nodeType":"YulIdentifier","src":"149273:6:22"},"nativeSrc":"149273:16:22","nodeType":"YulFunctionCall","src":"149273:16:22"},"nativeSrc":"149273:16:22","nodeType":"YulExpressionStatement","src":"149273:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149309:4:22","nodeType":"YulLiteral","src":"149309:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"149315:2:22","nodeType":"YulIdentifier","src":"149315:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149302:6:22","nodeType":"YulIdentifier","src":"149302:6:22"},"nativeSrc":"149302:16:22","nodeType":"YulFunctionCall","src":"149302:16:22"},"nativeSrc":"149302:16:22","nodeType":"YulExpressionStatement","src":"149302:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149338:4:22","nodeType":"YulLiteral","src":"149338:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"149344:2:22","nodeType":"YulIdentifier","src":"149344:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149331:6:22","nodeType":"YulIdentifier","src":"149331:6:22"},"nativeSrc":"149331:16:22","nodeType":"YulFunctionCall","src":"149331:16:22"},"nativeSrc":"149331:16:22","nodeType":"YulExpressionStatement","src":"149331:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149367:4:22","nodeType":"YulLiteral","src":"149367:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"149373:2:22","nodeType":"YulIdentifier","src":"149373:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149360:6:22","nodeType":"YulIdentifier","src":"149360:6:22"},"nativeSrc":"149360:16:22","nodeType":"YulFunctionCall","src":"149360:16:22"},"nativeSrc":"149360:16:22","nodeType":"YulExpressionStatement","src":"149360:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149396:4:22","nodeType":"YulLiteral","src":"149396:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"149402:2:22","nodeType":"YulIdentifier","src":"149402:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149389:6:22","nodeType":"YulIdentifier","src":"149389:6:22"},"nativeSrc":"149389:16:22","nodeType":"YulFunctionCall","src":"149389:16:22"},"nativeSrc":"149389:16:22","nodeType":"YulExpressionStatement","src":"149389:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149425:4:22","nodeType":"YulLiteral","src":"149425:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"149431:2:22","nodeType":"YulIdentifier","src":"149431:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149418:6:22","nodeType":"YulIdentifier","src":"149418:6:22"},"nativeSrc":"149418:16:22","nodeType":"YulFunctionCall","src":"149418:16:22"},"nativeSrc":"149418:16:22","nodeType":"YulExpressionStatement","src":"149418:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149454:4:22","nodeType":"YulLiteral","src":"149454:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"149460:2:22","nodeType":"YulIdentifier","src":"149460:2:22"}],"functionName":{"name":"mstore","nativeSrc":"149447:6:22","nodeType":"YulIdentifier","src":"149447:6:22"},"nativeSrc":"149447:16:22","nodeType":"YulFunctionCall","src":"149447:16:22"},"nativeSrc":"149447:16:22","nodeType":"YulExpressionStatement","src":"149447:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36053,"isOffset":false,"isSlot":false,"src":"149286:2:22","valueSize":1},{"declaration":36056,"isOffset":false,"isSlot":false,"src":"149315:2:22","valueSize":1},{"declaration":36059,"isOffset":false,"isSlot":false,"src":"149344:2:22","valueSize":1},{"declaration":36062,"isOffset":false,"isSlot":false,"src":"149373:2:22","valueSize":1},{"declaration":36065,"isOffset":false,"isSlot":false,"src":"149402:2:22","valueSize":1},{"declaration":36068,"isOffset":false,"isSlot":false,"src":"149431:2:22","valueSize":1},{"declaration":36071,"isOffset":false,"isSlot":false,"src":"149460:2:22","valueSize":1}],"id":36079,"nodeType":"InlineAssembly","src":"149250:223:22"}]},"id":36081,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"148062:3:22","nodeType":"FunctionDefinition","parameters":{"id":36050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36043,"mutability":"mutable","name":"p0","nameLocation":"148074:2:22","nodeType":"VariableDeclaration","scope":36081,"src":"148066:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36042,"name":"address","nodeType":"ElementaryTypeName","src":"148066:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36045,"mutability":"mutable","name":"p1","nameLocation":"148086:2:22","nodeType":"VariableDeclaration","scope":36081,"src":"148078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148078:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36047,"mutability":"mutable","name":"p2","nameLocation":"148098:2:22","nodeType":"VariableDeclaration","scope":36081,"src":"148090:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36046,"name":"address","nodeType":"ElementaryTypeName","src":"148090:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36049,"mutability":"mutable","name":"p3","nameLocation":"148110:2:22","nodeType":"VariableDeclaration","scope":36081,"src":"148102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36048,"name":"uint256","nodeType":"ElementaryTypeName","src":"148102:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"148065:48:22"},"returnParameters":{"id":36051,"nodeType":"ParameterList","parameters":[],"src":"148128:0:22"},"scope":44426,"src":"148053:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36126,"nodeType":"Block","src":"149560:1547:22","statements":[{"assignments":[36093],"declarations":[{"constant":false,"id":36093,"mutability":"mutable","name":"m0","nameLocation":"149578:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149570:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149570:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36094,"nodeType":"VariableDeclarationStatement","src":"149570:10:22"},{"assignments":[36096],"declarations":[{"constant":false,"id":36096,"mutability":"mutable","name":"m1","nameLocation":"149598:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149590:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36097,"nodeType":"VariableDeclarationStatement","src":"149590:10:22"},{"assignments":[36099],"declarations":[{"constant":false,"id":36099,"mutability":"mutable","name":"m2","nameLocation":"149618:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149610:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149610:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36100,"nodeType":"VariableDeclarationStatement","src":"149610:10:22"},{"assignments":[36102],"declarations":[{"constant":false,"id":36102,"mutability":"mutable","name":"m3","nameLocation":"149638:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149630:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149630:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36103,"nodeType":"VariableDeclarationStatement","src":"149630:10:22"},{"assignments":[36105],"declarations":[{"constant":false,"id":36105,"mutability":"mutable","name":"m4","nameLocation":"149658:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149650:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149650:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36106,"nodeType":"VariableDeclarationStatement","src":"149650:10:22"},{"assignments":[36108],"declarations":[{"constant":false,"id":36108,"mutability":"mutable","name":"m5","nameLocation":"149678:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149670:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149670:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36109,"nodeType":"VariableDeclarationStatement","src":"149670:10:22"},{"assignments":[36111],"declarations":[{"constant":false,"id":36111,"mutability":"mutable","name":"m6","nameLocation":"149698:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149690:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149690:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36112,"nodeType":"VariableDeclarationStatement","src":"149690:10:22"},{"assignments":[36114],"declarations":[{"constant":false,"id":36114,"mutability":"mutable","name":"m7","nameLocation":"149718:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149710:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149710:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36115,"nodeType":"VariableDeclarationStatement","src":"149710:10:22"},{"assignments":[36117],"declarations":[{"constant":false,"id":36117,"mutability":"mutable","name":"m8","nameLocation":"149738:2:22","nodeType":"VariableDeclaration","scope":36126,"src":"149730:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149730:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36118,"nodeType":"VariableDeclarationStatement","src":"149730:10:22"},{"AST":{"nativeSrc":"149802:927:22","nodeType":"YulBlock","src":"149802:927:22","statements":[{"body":{"nativeSrc":"149845:313:22","nodeType":"YulBlock","src":"149845:313:22","statements":[{"nativeSrc":"149863:15:22","nodeType":"YulVariableDeclaration","src":"149863:15:22","value":{"kind":"number","nativeSrc":"149877:1:22","nodeType":"YulLiteral","src":"149877:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"149867:6:22","nodeType":"YulTypedName","src":"149867:6:22","type":""}]},{"body":{"nativeSrc":"149948:40:22","nodeType":"YulBlock","src":"149948:40:22","statements":[{"body":{"nativeSrc":"149977:9:22","nodeType":"YulBlock","src":"149977:9:22","statements":[{"nativeSrc":"149979:5:22","nodeType":"YulBreak","src":"149979:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"149965:6:22","nodeType":"YulIdentifier","src":"149965:6:22"},{"name":"w","nativeSrc":"149973:1:22","nodeType":"YulIdentifier","src":"149973:1:22"}],"functionName":{"name":"byte","nativeSrc":"149960:4:22","nodeType":"YulIdentifier","src":"149960:4:22"},"nativeSrc":"149960:15:22","nodeType":"YulFunctionCall","src":"149960:15:22"}],"functionName":{"name":"iszero","nativeSrc":"149953:6:22","nodeType":"YulIdentifier","src":"149953:6:22"},"nativeSrc":"149953:23:22","nodeType":"YulFunctionCall","src":"149953:23:22"},"nativeSrc":"149950:36:22","nodeType":"YulIf","src":"149950:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"149905:6:22","nodeType":"YulIdentifier","src":"149905:6:22"},{"kind":"number","nativeSrc":"149913:4:22","nodeType":"YulLiteral","src":"149913:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"149902:2:22","nodeType":"YulIdentifier","src":"149902:2:22"},"nativeSrc":"149902:16:22","nodeType":"YulFunctionCall","src":"149902:16:22"},"nativeSrc":"149895:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"149919:28:22","nodeType":"YulBlock","src":"149919:28:22","statements":[{"nativeSrc":"149921:24:22","nodeType":"YulAssignment","src":"149921:24:22","value":{"arguments":[{"name":"length","nativeSrc":"149935:6:22","nodeType":"YulIdentifier","src":"149935:6:22"},{"kind":"number","nativeSrc":"149943:1:22","nodeType":"YulLiteral","src":"149943:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"149931:3:22","nodeType":"YulIdentifier","src":"149931:3:22"},"nativeSrc":"149931:14:22","nodeType":"YulFunctionCall","src":"149931:14:22"},"variableNames":[{"name":"length","nativeSrc":"149921:6:22","nodeType":"YulIdentifier","src":"149921:6:22"}]}]},"pre":{"nativeSrc":"149899:2:22","nodeType":"YulBlock","src":"149899:2:22","statements":[]},"src":"149895:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"150012:3:22","nodeType":"YulIdentifier","src":"150012:3:22"},{"name":"length","nativeSrc":"150017:6:22","nodeType":"YulIdentifier","src":"150017:6:22"}],"functionName":{"name":"mstore","nativeSrc":"150005:6:22","nodeType":"YulIdentifier","src":"150005:6:22"},"nativeSrc":"150005:19:22","nodeType":"YulFunctionCall","src":"150005:19:22"},"nativeSrc":"150005:19:22","nodeType":"YulExpressionStatement","src":"150005:19:22"},{"nativeSrc":"150041:37:22","nodeType":"YulVariableDeclaration","src":"150041:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"150058:3:22","nodeType":"YulLiteral","src":"150058:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"150067:1:22","nodeType":"YulLiteral","src":"150067:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"150070:6:22","nodeType":"YulIdentifier","src":"150070:6:22"}],"functionName":{"name":"shl","nativeSrc":"150063:3:22","nodeType":"YulIdentifier","src":"150063:3:22"},"nativeSrc":"150063:14:22","nodeType":"YulFunctionCall","src":"150063:14:22"}],"functionName":{"name":"sub","nativeSrc":"150054:3:22","nodeType":"YulIdentifier","src":"150054:3:22"},"nativeSrc":"150054:24:22","nodeType":"YulFunctionCall","src":"150054:24:22"},"variables":[{"name":"shift","nativeSrc":"150045:5:22","nodeType":"YulTypedName","src":"150045:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"150106:3:22","nodeType":"YulIdentifier","src":"150106:3:22"},{"kind":"number","nativeSrc":"150111:4:22","nodeType":"YulLiteral","src":"150111:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"150102:3:22","nodeType":"YulIdentifier","src":"150102:3:22"},"nativeSrc":"150102:14:22","nodeType":"YulFunctionCall","src":"150102:14:22"},{"arguments":[{"name":"shift","nativeSrc":"150122:5:22","nodeType":"YulIdentifier","src":"150122:5:22"},{"arguments":[{"name":"shift","nativeSrc":"150133:5:22","nodeType":"YulIdentifier","src":"150133:5:22"},{"name":"w","nativeSrc":"150140:1:22","nodeType":"YulIdentifier","src":"150140:1:22"}],"functionName":{"name":"shr","nativeSrc":"150129:3:22","nodeType":"YulIdentifier","src":"150129:3:22"},"nativeSrc":"150129:13:22","nodeType":"YulFunctionCall","src":"150129:13:22"}],"functionName":{"name":"shl","nativeSrc":"150118:3:22","nodeType":"YulIdentifier","src":"150118:3:22"},"nativeSrc":"150118:25:22","nodeType":"YulFunctionCall","src":"150118:25:22"}],"functionName":{"name":"mstore","nativeSrc":"150095:6:22","nodeType":"YulIdentifier","src":"150095:6:22"},"nativeSrc":"150095:49:22","nodeType":"YulFunctionCall","src":"150095:49:22"},"nativeSrc":"150095:49:22","nodeType":"YulExpressionStatement","src":"150095:49:22"}]},"name":"writeString","nativeSrc":"149816:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"149837:3:22","nodeType":"YulTypedName","src":"149837:3:22","type":""},{"name":"w","nativeSrc":"149842:1:22","nodeType":"YulTypedName","src":"149842:1:22","type":""}],"src":"149816:342:22"},{"nativeSrc":"150171:17:22","nodeType":"YulAssignment","src":"150171:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150183:4:22","nodeType":"YulLiteral","src":"150183:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"150177:5:22","nodeType":"YulIdentifier","src":"150177:5:22"},"nativeSrc":"150177:11:22","nodeType":"YulFunctionCall","src":"150177:11:22"},"variableNames":[{"name":"m0","nativeSrc":"150171:2:22","nodeType":"YulIdentifier","src":"150171:2:22"}]},{"nativeSrc":"150201:17:22","nodeType":"YulAssignment","src":"150201:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150213:4:22","nodeType":"YulLiteral","src":"150213:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"150207:5:22","nodeType":"YulIdentifier","src":"150207:5:22"},"nativeSrc":"150207:11:22","nodeType":"YulFunctionCall","src":"150207:11:22"},"variableNames":[{"name":"m1","nativeSrc":"150201:2:22","nodeType":"YulIdentifier","src":"150201:2:22"}]},{"nativeSrc":"150231:17:22","nodeType":"YulAssignment","src":"150231:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150243:4:22","nodeType":"YulLiteral","src":"150243:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"150237:5:22","nodeType":"YulIdentifier","src":"150237:5:22"},"nativeSrc":"150237:11:22","nodeType":"YulFunctionCall","src":"150237:11:22"},"variableNames":[{"name":"m2","nativeSrc":"150231:2:22","nodeType":"YulIdentifier","src":"150231:2:22"}]},{"nativeSrc":"150261:17:22","nodeType":"YulAssignment","src":"150261:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150273:4:22","nodeType":"YulLiteral","src":"150273:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"150267:5:22","nodeType":"YulIdentifier","src":"150267:5:22"},"nativeSrc":"150267:11:22","nodeType":"YulFunctionCall","src":"150267:11:22"},"variableNames":[{"name":"m3","nativeSrc":"150261:2:22","nodeType":"YulIdentifier","src":"150261:2:22"}]},{"nativeSrc":"150291:17:22","nodeType":"YulAssignment","src":"150291:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150303:4:22","nodeType":"YulLiteral","src":"150303:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"150297:5:22","nodeType":"YulIdentifier","src":"150297:5:22"},"nativeSrc":"150297:11:22","nodeType":"YulFunctionCall","src":"150297:11:22"},"variableNames":[{"name":"m4","nativeSrc":"150291:2:22","nodeType":"YulIdentifier","src":"150291:2:22"}]},{"nativeSrc":"150321:17:22","nodeType":"YulAssignment","src":"150321:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150333:4:22","nodeType":"YulLiteral","src":"150333:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"150327:5:22","nodeType":"YulIdentifier","src":"150327:5:22"},"nativeSrc":"150327:11:22","nodeType":"YulFunctionCall","src":"150327:11:22"},"variableNames":[{"name":"m5","nativeSrc":"150321:2:22","nodeType":"YulIdentifier","src":"150321:2:22"}]},{"nativeSrc":"150351:17:22","nodeType":"YulAssignment","src":"150351:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150363:4:22","nodeType":"YulLiteral","src":"150363:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"150357:5:22","nodeType":"YulIdentifier","src":"150357:5:22"},"nativeSrc":"150357:11:22","nodeType":"YulFunctionCall","src":"150357:11:22"},"variableNames":[{"name":"m6","nativeSrc":"150351:2:22","nodeType":"YulIdentifier","src":"150351:2:22"}]},{"nativeSrc":"150381:17:22","nodeType":"YulAssignment","src":"150381:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"150393:4:22","nodeType":"YulLiteral","src":"150393:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"150387:5:22","nodeType":"YulIdentifier","src":"150387:5:22"},"nativeSrc":"150387:11:22","nodeType":"YulFunctionCall","src":"150387:11:22"},"variableNames":[{"name":"m7","nativeSrc":"150381:2:22","nodeType":"YulIdentifier","src":"150381:2:22"}]},{"nativeSrc":"150411:18:22","nodeType":"YulAssignment","src":"150411:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"150423:5:22","nodeType":"YulLiteral","src":"150423:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"150417:5:22","nodeType":"YulIdentifier","src":"150417:5:22"},"nativeSrc":"150417:12:22","nodeType":"YulFunctionCall","src":"150417:12:22"},"variableNames":[{"name":"m8","nativeSrc":"150411:2:22","nodeType":"YulIdentifier","src":"150411:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150514:4:22","nodeType":"YulLiteral","src":"150514:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"150520:10:22","nodeType":"YulLiteral","src":"150520:10:22","type":"","value":"0xf7e36245"}],"functionName":{"name":"mstore","nativeSrc":"150507:6:22","nodeType":"YulIdentifier","src":"150507:6:22"},"nativeSrc":"150507:24:22","nodeType":"YulFunctionCall","src":"150507:24:22"},"nativeSrc":"150507:24:22","nodeType":"YulExpressionStatement","src":"150507:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150551:4:22","nodeType":"YulLiteral","src":"150551:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"150557:2:22","nodeType":"YulIdentifier","src":"150557:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150544:6:22","nodeType":"YulIdentifier","src":"150544:6:22"},"nativeSrc":"150544:16:22","nodeType":"YulFunctionCall","src":"150544:16:22"},"nativeSrc":"150544:16:22","nodeType":"YulExpressionStatement","src":"150544:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150580:4:22","nodeType":"YulLiteral","src":"150580:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"150586:4:22","nodeType":"YulLiteral","src":"150586:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"150573:6:22","nodeType":"YulIdentifier","src":"150573:6:22"},"nativeSrc":"150573:18:22","nodeType":"YulFunctionCall","src":"150573:18:22"},"nativeSrc":"150573:18:22","nodeType":"YulExpressionStatement","src":"150573:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150611:4:22","nodeType":"YulLiteral","src":"150611:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"150617:2:22","nodeType":"YulIdentifier","src":"150617:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150604:6:22","nodeType":"YulIdentifier","src":"150604:6:22"},"nativeSrc":"150604:16:22","nodeType":"YulFunctionCall","src":"150604:16:22"},"nativeSrc":"150604:16:22","nodeType":"YulExpressionStatement","src":"150604:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150640:4:22","nodeType":"YulLiteral","src":"150640:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"150646:4:22","nodeType":"YulLiteral","src":"150646:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"150633:6:22","nodeType":"YulIdentifier","src":"150633:6:22"},"nativeSrc":"150633:18:22","nodeType":"YulFunctionCall","src":"150633:18:22"},"nativeSrc":"150633:18:22","nodeType":"YulExpressionStatement","src":"150633:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150676:4:22","nodeType":"YulLiteral","src":"150676:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"150682:2:22","nodeType":"YulIdentifier","src":"150682:2:22"}],"functionName":{"name":"writeString","nativeSrc":"150664:11:22","nodeType":"YulIdentifier","src":"150664:11:22"},"nativeSrc":"150664:21:22","nodeType":"YulFunctionCall","src":"150664:21:22"},"nativeSrc":"150664:21:22","nodeType":"YulExpressionStatement","src":"150664:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150710:4:22","nodeType":"YulLiteral","src":"150710:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"150716:2:22","nodeType":"YulIdentifier","src":"150716:2:22"}],"functionName":{"name":"writeString","nativeSrc":"150698:11:22","nodeType":"YulIdentifier","src":"150698:11:22"},"nativeSrc":"150698:21:22","nodeType":"YulFunctionCall","src":"150698:21:22"},"nativeSrc":"150698:21:22","nodeType":"YulExpressionStatement","src":"150698:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36093,"isOffset":false,"isSlot":false,"src":"150171:2:22","valueSize":1},{"declaration":36096,"isOffset":false,"isSlot":false,"src":"150201:2:22","valueSize":1},{"declaration":36099,"isOffset":false,"isSlot":false,"src":"150231:2:22","valueSize":1},{"declaration":36102,"isOffset":false,"isSlot":false,"src":"150261:2:22","valueSize":1},{"declaration":36105,"isOffset":false,"isSlot":false,"src":"150291:2:22","valueSize":1},{"declaration":36108,"isOffset":false,"isSlot":false,"src":"150321:2:22","valueSize":1},{"declaration":36111,"isOffset":false,"isSlot":false,"src":"150351:2:22","valueSize":1},{"declaration":36114,"isOffset":false,"isSlot":false,"src":"150381:2:22","valueSize":1},{"declaration":36117,"isOffset":false,"isSlot":false,"src":"150411:2:22","valueSize":1},{"declaration":36083,"isOffset":false,"isSlot":false,"src":"150557:2:22","valueSize":1},{"declaration":36085,"isOffset":false,"isSlot":false,"src":"150682:2:22","valueSize":1},{"declaration":36087,"isOffset":false,"isSlot":false,"src":"150617:2:22","valueSize":1},{"declaration":36089,"isOffset":false,"isSlot":false,"src":"150716:2:22","valueSize":1}],"id":36119,"nodeType":"InlineAssembly","src":"149793:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150754:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150760:5:22","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":36120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"150738:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"150738:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36124,"nodeType":"ExpressionStatement","src":"150738:28:22"},{"AST":{"nativeSrc":"150828:273:22","nodeType":"YulBlock","src":"150828:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"150849:4:22","nodeType":"YulLiteral","src":"150849:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"150855:2:22","nodeType":"YulIdentifier","src":"150855:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150842:6:22","nodeType":"YulIdentifier","src":"150842:6:22"},"nativeSrc":"150842:16:22","nodeType":"YulFunctionCall","src":"150842:16:22"},"nativeSrc":"150842:16:22","nodeType":"YulExpressionStatement","src":"150842:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150878:4:22","nodeType":"YulLiteral","src":"150878:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"150884:2:22","nodeType":"YulIdentifier","src":"150884:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150871:6:22","nodeType":"YulIdentifier","src":"150871:6:22"},"nativeSrc":"150871:16:22","nodeType":"YulFunctionCall","src":"150871:16:22"},"nativeSrc":"150871:16:22","nodeType":"YulExpressionStatement","src":"150871:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150907:4:22","nodeType":"YulLiteral","src":"150907:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"150913:2:22","nodeType":"YulIdentifier","src":"150913:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150900:6:22","nodeType":"YulIdentifier","src":"150900:6:22"},"nativeSrc":"150900:16:22","nodeType":"YulFunctionCall","src":"150900:16:22"},"nativeSrc":"150900:16:22","nodeType":"YulExpressionStatement","src":"150900:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150936:4:22","nodeType":"YulLiteral","src":"150936:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"150942:2:22","nodeType":"YulIdentifier","src":"150942:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150929:6:22","nodeType":"YulIdentifier","src":"150929:6:22"},"nativeSrc":"150929:16:22","nodeType":"YulFunctionCall","src":"150929:16:22"},"nativeSrc":"150929:16:22","nodeType":"YulExpressionStatement","src":"150929:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150965:4:22","nodeType":"YulLiteral","src":"150965:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"150971:2:22","nodeType":"YulIdentifier","src":"150971:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150958:6:22","nodeType":"YulIdentifier","src":"150958:6:22"},"nativeSrc":"150958:16:22","nodeType":"YulFunctionCall","src":"150958:16:22"},"nativeSrc":"150958:16:22","nodeType":"YulExpressionStatement","src":"150958:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150994:4:22","nodeType":"YulLiteral","src":"150994:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"151000:2:22","nodeType":"YulIdentifier","src":"151000:2:22"}],"functionName":{"name":"mstore","nativeSrc":"150987:6:22","nodeType":"YulIdentifier","src":"150987:6:22"},"nativeSrc":"150987:16:22","nodeType":"YulFunctionCall","src":"150987:16:22"},"nativeSrc":"150987:16:22","nodeType":"YulExpressionStatement","src":"150987:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151023:4:22","nodeType":"YulLiteral","src":"151023:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"151029:2:22","nodeType":"YulIdentifier","src":"151029:2:22"}],"functionName":{"name":"mstore","nativeSrc":"151016:6:22","nodeType":"YulIdentifier","src":"151016:6:22"},"nativeSrc":"151016:16:22","nodeType":"YulFunctionCall","src":"151016:16:22"},"nativeSrc":"151016:16:22","nodeType":"YulExpressionStatement","src":"151016:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151052:4:22","nodeType":"YulLiteral","src":"151052:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"151058:2:22","nodeType":"YulIdentifier","src":"151058:2:22"}],"functionName":{"name":"mstore","nativeSrc":"151045:6:22","nodeType":"YulIdentifier","src":"151045:6:22"},"nativeSrc":"151045:16:22","nodeType":"YulFunctionCall","src":"151045:16:22"},"nativeSrc":"151045:16:22","nodeType":"YulExpressionStatement","src":"151045:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151081:5:22","nodeType":"YulLiteral","src":"151081:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"151088:2:22","nodeType":"YulIdentifier","src":"151088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"151074:6:22","nodeType":"YulIdentifier","src":"151074:6:22"},"nativeSrc":"151074:17:22","nodeType":"YulFunctionCall","src":"151074:17:22"},"nativeSrc":"151074:17:22","nodeType":"YulExpressionStatement","src":"151074:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36093,"isOffset":false,"isSlot":false,"src":"150855:2:22","valueSize":1},{"declaration":36096,"isOffset":false,"isSlot":false,"src":"150884:2:22","valueSize":1},{"declaration":36099,"isOffset":false,"isSlot":false,"src":"150913:2:22","valueSize":1},{"declaration":36102,"isOffset":false,"isSlot":false,"src":"150942:2:22","valueSize":1},{"declaration":36105,"isOffset":false,"isSlot":false,"src":"150971:2:22","valueSize":1},{"declaration":36108,"isOffset":false,"isSlot":false,"src":"151000:2:22","valueSize":1},{"declaration":36111,"isOffset":false,"isSlot":false,"src":"151029:2:22","valueSize":1},{"declaration":36114,"isOffset":false,"isSlot":false,"src":"151058:2:22","valueSize":1},{"declaration":36117,"isOffset":false,"isSlot":false,"src":"151088:2:22","valueSize":1}],"id":36125,"nodeType":"InlineAssembly","src":"150819:282:22"}]},"id":36127,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"149494:3:22","nodeType":"FunctionDefinition","parameters":{"id":36090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36083,"mutability":"mutable","name":"p0","nameLocation":"149506:2:22","nodeType":"VariableDeclaration","scope":36127,"src":"149498:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36082,"name":"address","nodeType":"ElementaryTypeName","src":"149498:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36085,"mutability":"mutable","name":"p1","nameLocation":"149518:2:22","nodeType":"VariableDeclaration","scope":36127,"src":"149510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149510:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36087,"mutability":"mutable","name":"p2","nameLocation":"149530:2:22","nodeType":"VariableDeclaration","scope":36127,"src":"149522:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36086,"name":"address","nodeType":"ElementaryTypeName","src":"149522:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36089,"mutability":"mutable","name":"p3","nameLocation":"149542:2:22","nodeType":"VariableDeclaration","scope":36127,"src":"149534:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149534:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"149497:48:22"},"returnParameters":{"id":36091,"nodeType":"ParameterList","parameters":[],"src":"149560:0:22"},"scope":44426,"src":"149485:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36166,"nodeType":"Block","src":"151185:1348:22","statements":[{"assignments":[36139],"declarations":[{"constant":false,"id":36139,"mutability":"mutable","name":"m0","nameLocation":"151203:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151195:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151195:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36140,"nodeType":"VariableDeclarationStatement","src":"151195:10:22"},{"assignments":[36142],"declarations":[{"constant":false,"id":36142,"mutability":"mutable","name":"m1","nameLocation":"151223:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151215:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151215:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36143,"nodeType":"VariableDeclarationStatement","src":"151215:10:22"},{"assignments":[36145],"declarations":[{"constant":false,"id":36145,"mutability":"mutable","name":"m2","nameLocation":"151243:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151235:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151235:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36146,"nodeType":"VariableDeclarationStatement","src":"151235:10:22"},{"assignments":[36148],"declarations":[{"constant":false,"id":36148,"mutability":"mutable","name":"m3","nameLocation":"151263:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151255:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36149,"nodeType":"VariableDeclarationStatement","src":"151255:10:22"},{"assignments":[36151],"declarations":[{"constant":false,"id":36151,"mutability":"mutable","name":"m4","nameLocation":"151283:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151275:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36152,"nodeType":"VariableDeclarationStatement","src":"151275:10:22"},{"assignments":[36154],"declarations":[{"constant":false,"id":36154,"mutability":"mutable","name":"m5","nameLocation":"151303:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151295:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36155,"nodeType":"VariableDeclarationStatement","src":"151295:10:22"},{"assignments":[36157],"declarations":[{"constant":false,"id":36157,"mutability":"mutable","name":"m6","nameLocation":"151323:2:22","nodeType":"VariableDeclaration","scope":36166,"src":"151315:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151315:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36158,"nodeType":"VariableDeclarationStatement","src":"151315:10:22"},{"AST":{"nativeSrc":"151387:828:22","nodeType":"YulBlock","src":"151387:828:22","statements":[{"body":{"nativeSrc":"151430:313:22","nodeType":"YulBlock","src":"151430:313:22","statements":[{"nativeSrc":"151448:15:22","nodeType":"YulVariableDeclaration","src":"151448:15:22","value":{"kind":"number","nativeSrc":"151462:1:22","nodeType":"YulLiteral","src":"151462:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"151452:6:22","nodeType":"YulTypedName","src":"151452:6:22","type":""}]},{"body":{"nativeSrc":"151533:40:22","nodeType":"YulBlock","src":"151533:40:22","statements":[{"body":{"nativeSrc":"151562:9:22","nodeType":"YulBlock","src":"151562:9:22","statements":[{"nativeSrc":"151564:5:22","nodeType":"YulBreak","src":"151564:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"151550:6:22","nodeType":"YulIdentifier","src":"151550:6:22"},{"name":"w","nativeSrc":"151558:1:22","nodeType":"YulIdentifier","src":"151558:1:22"}],"functionName":{"name":"byte","nativeSrc":"151545:4:22","nodeType":"YulIdentifier","src":"151545:4:22"},"nativeSrc":"151545:15:22","nodeType":"YulFunctionCall","src":"151545:15:22"}],"functionName":{"name":"iszero","nativeSrc":"151538:6:22","nodeType":"YulIdentifier","src":"151538:6:22"},"nativeSrc":"151538:23:22","nodeType":"YulFunctionCall","src":"151538:23:22"},"nativeSrc":"151535:36:22","nodeType":"YulIf","src":"151535:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"151490:6:22","nodeType":"YulIdentifier","src":"151490:6:22"},{"kind":"number","nativeSrc":"151498:4:22","nodeType":"YulLiteral","src":"151498:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"151487:2:22","nodeType":"YulIdentifier","src":"151487:2:22"},"nativeSrc":"151487:16:22","nodeType":"YulFunctionCall","src":"151487:16:22"},"nativeSrc":"151480:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"151504:28:22","nodeType":"YulBlock","src":"151504:28:22","statements":[{"nativeSrc":"151506:24:22","nodeType":"YulAssignment","src":"151506:24:22","value":{"arguments":[{"name":"length","nativeSrc":"151520:6:22","nodeType":"YulIdentifier","src":"151520:6:22"},{"kind":"number","nativeSrc":"151528:1:22","nodeType":"YulLiteral","src":"151528:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"151516:3:22","nodeType":"YulIdentifier","src":"151516:3:22"},"nativeSrc":"151516:14:22","nodeType":"YulFunctionCall","src":"151516:14:22"},"variableNames":[{"name":"length","nativeSrc":"151506:6:22","nodeType":"YulIdentifier","src":"151506:6:22"}]}]},"pre":{"nativeSrc":"151484:2:22","nodeType":"YulBlock","src":"151484:2:22","statements":[]},"src":"151480:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"151597:3:22","nodeType":"YulIdentifier","src":"151597:3:22"},{"name":"length","nativeSrc":"151602:6:22","nodeType":"YulIdentifier","src":"151602:6:22"}],"functionName":{"name":"mstore","nativeSrc":"151590:6:22","nodeType":"YulIdentifier","src":"151590:6:22"},"nativeSrc":"151590:19:22","nodeType":"YulFunctionCall","src":"151590:19:22"},"nativeSrc":"151590:19:22","nodeType":"YulExpressionStatement","src":"151590:19:22"},{"nativeSrc":"151626:37:22","nodeType":"YulVariableDeclaration","src":"151626:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"151643:3:22","nodeType":"YulLiteral","src":"151643:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"151652:1:22","nodeType":"YulLiteral","src":"151652:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"151655:6:22","nodeType":"YulIdentifier","src":"151655:6:22"}],"functionName":{"name":"shl","nativeSrc":"151648:3:22","nodeType":"YulIdentifier","src":"151648:3:22"},"nativeSrc":"151648:14:22","nodeType":"YulFunctionCall","src":"151648:14:22"}],"functionName":{"name":"sub","nativeSrc":"151639:3:22","nodeType":"YulIdentifier","src":"151639:3:22"},"nativeSrc":"151639:24:22","nodeType":"YulFunctionCall","src":"151639:24:22"},"variables":[{"name":"shift","nativeSrc":"151630:5:22","nodeType":"YulTypedName","src":"151630:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"151691:3:22","nodeType":"YulIdentifier","src":"151691:3:22"},{"kind":"number","nativeSrc":"151696:4:22","nodeType":"YulLiteral","src":"151696:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"151687:3:22","nodeType":"YulIdentifier","src":"151687:3:22"},"nativeSrc":"151687:14:22","nodeType":"YulFunctionCall","src":"151687:14:22"},{"arguments":[{"name":"shift","nativeSrc":"151707:5:22","nodeType":"YulIdentifier","src":"151707:5:22"},{"arguments":[{"name":"shift","nativeSrc":"151718:5:22","nodeType":"YulIdentifier","src":"151718:5:22"},{"name":"w","nativeSrc":"151725:1:22","nodeType":"YulIdentifier","src":"151725:1:22"}],"functionName":{"name":"shr","nativeSrc":"151714:3:22","nodeType":"YulIdentifier","src":"151714:3:22"},"nativeSrc":"151714:13:22","nodeType":"YulFunctionCall","src":"151714:13:22"}],"functionName":{"name":"shl","nativeSrc":"151703:3:22","nodeType":"YulIdentifier","src":"151703:3:22"},"nativeSrc":"151703:25:22","nodeType":"YulFunctionCall","src":"151703:25:22"}],"functionName":{"name":"mstore","nativeSrc":"151680:6:22","nodeType":"YulIdentifier","src":"151680:6:22"},"nativeSrc":"151680:49:22","nodeType":"YulFunctionCall","src":"151680:49:22"},"nativeSrc":"151680:49:22","nodeType":"YulExpressionStatement","src":"151680:49:22"}]},"name":"writeString","nativeSrc":"151401:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"151422:3:22","nodeType":"YulTypedName","src":"151422:3:22","type":""},{"name":"w","nativeSrc":"151427:1:22","nodeType":"YulTypedName","src":"151427:1:22","type":""}],"src":"151401:342:22"},{"nativeSrc":"151756:17:22","nodeType":"YulAssignment","src":"151756:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151768:4:22","nodeType":"YulLiteral","src":"151768:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"151762:5:22","nodeType":"YulIdentifier","src":"151762:5:22"},"nativeSrc":"151762:11:22","nodeType":"YulFunctionCall","src":"151762:11:22"},"variableNames":[{"name":"m0","nativeSrc":"151756:2:22","nodeType":"YulIdentifier","src":"151756:2:22"}]},{"nativeSrc":"151786:17:22","nodeType":"YulAssignment","src":"151786:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151798:4:22","nodeType":"YulLiteral","src":"151798:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"151792:5:22","nodeType":"YulIdentifier","src":"151792:5:22"},"nativeSrc":"151792:11:22","nodeType":"YulFunctionCall","src":"151792:11:22"},"variableNames":[{"name":"m1","nativeSrc":"151786:2:22","nodeType":"YulIdentifier","src":"151786:2:22"}]},{"nativeSrc":"151816:17:22","nodeType":"YulAssignment","src":"151816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151828:4:22","nodeType":"YulLiteral","src":"151828:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"151822:5:22","nodeType":"YulIdentifier","src":"151822:5:22"},"nativeSrc":"151822:11:22","nodeType":"YulFunctionCall","src":"151822:11:22"},"variableNames":[{"name":"m2","nativeSrc":"151816:2:22","nodeType":"YulIdentifier","src":"151816:2:22"}]},{"nativeSrc":"151846:17:22","nodeType":"YulAssignment","src":"151846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151858:4:22","nodeType":"YulLiteral","src":"151858:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"151852:5:22","nodeType":"YulIdentifier","src":"151852:5:22"},"nativeSrc":"151852:11:22","nodeType":"YulFunctionCall","src":"151852:11:22"},"variableNames":[{"name":"m3","nativeSrc":"151846:2:22","nodeType":"YulIdentifier","src":"151846:2:22"}]},{"nativeSrc":"151876:17:22","nodeType":"YulAssignment","src":"151876:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151888:4:22","nodeType":"YulLiteral","src":"151888:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"151882:5:22","nodeType":"YulIdentifier","src":"151882:5:22"},"nativeSrc":"151882:11:22","nodeType":"YulFunctionCall","src":"151882:11:22"},"variableNames":[{"name":"m4","nativeSrc":"151876:2:22","nodeType":"YulIdentifier","src":"151876:2:22"}]},{"nativeSrc":"151906:17:22","nodeType":"YulAssignment","src":"151906:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151918:4:22","nodeType":"YulLiteral","src":"151918:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"151912:5:22","nodeType":"YulIdentifier","src":"151912:5:22"},"nativeSrc":"151912:11:22","nodeType":"YulFunctionCall","src":"151912:11:22"},"variableNames":[{"name":"m5","nativeSrc":"151906:2:22","nodeType":"YulIdentifier","src":"151906:2:22"}]},{"nativeSrc":"151936:17:22","nodeType":"YulAssignment","src":"151936:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"151948:4:22","nodeType":"YulLiteral","src":"151948:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"151942:5:22","nodeType":"YulIdentifier","src":"151942:5:22"},"nativeSrc":"151942:11:22","nodeType":"YulFunctionCall","src":"151942:11:22"},"variableNames":[{"name":"m6","nativeSrc":"151936:2:22","nodeType":"YulIdentifier","src":"151936:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152036:4:22","nodeType":"YulLiteral","src":"152036:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"152042:10:22","nodeType":"YulLiteral","src":"152042:10:22","type":"","value":"0x205871c2"}],"functionName":{"name":"mstore","nativeSrc":"152029:6:22","nodeType":"YulIdentifier","src":"152029:6:22"},"nativeSrc":"152029:24:22","nodeType":"YulFunctionCall","src":"152029:24:22"},"nativeSrc":"152029:24:22","nodeType":"YulExpressionStatement","src":"152029:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152073:4:22","nodeType":"YulLiteral","src":"152073:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"152079:2:22","nodeType":"YulIdentifier","src":"152079:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152066:6:22","nodeType":"YulIdentifier","src":"152066:6:22"},"nativeSrc":"152066:16:22","nodeType":"YulFunctionCall","src":"152066:16:22"},"nativeSrc":"152066:16:22","nodeType":"YulExpressionStatement","src":"152066:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152102:4:22","nodeType":"YulLiteral","src":"152102:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"152108:4:22","nodeType":"YulLiteral","src":"152108:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"152095:6:22","nodeType":"YulIdentifier","src":"152095:6:22"},"nativeSrc":"152095:18:22","nodeType":"YulFunctionCall","src":"152095:18:22"},"nativeSrc":"152095:18:22","nodeType":"YulExpressionStatement","src":"152095:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152133:4:22","nodeType":"YulLiteral","src":"152133:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"152139:2:22","nodeType":"YulIdentifier","src":"152139:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152126:6:22","nodeType":"YulIdentifier","src":"152126:6:22"},"nativeSrc":"152126:16:22","nodeType":"YulFunctionCall","src":"152126:16:22"},"nativeSrc":"152126:16:22","nodeType":"YulExpressionStatement","src":"152126:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152162:4:22","nodeType":"YulLiteral","src":"152162:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"152168:2:22","nodeType":"YulIdentifier","src":"152168:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152155:6:22","nodeType":"YulIdentifier","src":"152155:6:22"},"nativeSrc":"152155:16:22","nodeType":"YulFunctionCall","src":"152155:16:22"},"nativeSrc":"152155:16:22","nodeType":"YulExpressionStatement","src":"152155:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152196:4:22","nodeType":"YulLiteral","src":"152196:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"152202:2:22","nodeType":"YulIdentifier","src":"152202:2:22"}],"functionName":{"name":"writeString","nativeSrc":"152184:11:22","nodeType":"YulIdentifier","src":"152184:11:22"},"nativeSrc":"152184:21:22","nodeType":"YulFunctionCall","src":"152184:21:22"},"nativeSrc":"152184:21:22","nodeType":"YulExpressionStatement","src":"152184:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36139,"isOffset":false,"isSlot":false,"src":"151756:2:22","valueSize":1},{"declaration":36142,"isOffset":false,"isSlot":false,"src":"151786:2:22","valueSize":1},{"declaration":36145,"isOffset":false,"isSlot":false,"src":"151816:2:22","valueSize":1},{"declaration":36148,"isOffset":false,"isSlot":false,"src":"151846:2:22","valueSize":1},{"declaration":36151,"isOffset":false,"isSlot":false,"src":"151876:2:22","valueSize":1},{"declaration":36154,"isOffset":false,"isSlot":false,"src":"151906:2:22","valueSize":1},{"declaration":36157,"isOffset":false,"isSlot":false,"src":"151936:2:22","valueSize":1},{"declaration":36129,"isOffset":false,"isSlot":false,"src":"152079:2:22","valueSize":1},{"declaration":36131,"isOffset":false,"isSlot":false,"src":"152202:2:22","valueSize":1},{"declaration":36133,"isOffset":false,"isSlot":false,"src":"152139:2:22","valueSize":1},{"declaration":36135,"isOffset":false,"isSlot":false,"src":"152168:2:22","valueSize":1}],"id":36159,"nodeType":"InlineAssembly","src":"151378:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152240:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152246:4:22","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":36160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"152224:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152224:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36164,"nodeType":"ExpressionStatement","src":"152224:27:22"},{"AST":{"nativeSrc":"152313:214:22","nodeType":"YulBlock","src":"152313:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"152334:4:22","nodeType":"YulLiteral","src":"152334:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"152340:2:22","nodeType":"YulIdentifier","src":"152340:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152327:6:22","nodeType":"YulIdentifier","src":"152327:6:22"},"nativeSrc":"152327:16:22","nodeType":"YulFunctionCall","src":"152327:16:22"},"nativeSrc":"152327:16:22","nodeType":"YulExpressionStatement","src":"152327:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152363:4:22","nodeType":"YulLiteral","src":"152363:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"152369:2:22","nodeType":"YulIdentifier","src":"152369:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152356:6:22","nodeType":"YulIdentifier","src":"152356:6:22"},"nativeSrc":"152356:16:22","nodeType":"YulFunctionCall","src":"152356:16:22"},"nativeSrc":"152356:16:22","nodeType":"YulExpressionStatement","src":"152356:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152392:4:22","nodeType":"YulLiteral","src":"152392:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"152398:2:22","nodeType":"YulIdentifier","src":"152398:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152385:6:22","nodeType":"YulIdentifier","src":"152385:6:22"},"nativeSrc":"152385:16:22","nodeType":"YulFunctionCall","src":"152385:16:22"},"nativeSrc":"152385:16:22","nodeType":"YulExpressionStatement","src":"152385:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152421:4:22","nodeType":"YulLiteral","src":"152421:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"152427:2:22","nodeType":"YulIdentifier","src":"152427:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152414:6:22","nodeType":"YulIdentifier","src":"152414:6:22"},"nativeSrc":"152414:16:22","nodeType":"YulFunctionCall","src":"152414:16:22"},"nativeSrc":"152414:16:22","nodeType":"YulExpressionStatement","src":"152414:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152450:4:22","nodeType":"YulLiteral","src":"152450:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"152456:2:22","nodeType":"YulIdentifier","src":"152456:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152443:6:22","nodeType":"YulIdentifier","src":"152443:6:22"},"nativeSrc":"152443:16:22","nodeType":"YulFunctionCall","src":"152443:16:22"},"nativeSrc":"152443:16:22","nodeType":"YulExpressionStatement","src":"152443:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152479:4:22","nodeType":"YulLiteral","src":"152479:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"152485:2:22","nodeType":"YulIdentifier","src":"152485:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152472:6:22","nodeType":"YulIdentifier","src":"152472:6:22"},"nativeSrc":"152472:16:22","nodeType":"YulFunctionCall","src":"152472:16:22"},"nativeSrc":"152472:16:22","nodeType":"YulExpressionStatement","src":"152472:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152508:4:22","nodeType":"YulLiteral","src":"152508:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"152514:2:22","nodeType":"YulIdentifier","src":"152514:2:22"}],"functionName":{"name":"mstore","nativeSrc":"152501:6:22","nodeType":"YulIdentifier","src":"152501:6:22"},"nativeSrc":"152501:16:22","nodeType":"YulFunctionCall","src":"152501:16:22"},"nativeSrc":"152501:16:22","nodeType":"YulExpressionStatement","src":"152501:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36139,"isOffset":false,"isSlot":false,"src":"152340:2:22","valueSize":1},{"declaration":36142,"isOffset":false,"isSlot":false,"src":"152369:2:22","valueSize":1},{"declaration":36145,"isOffset":false,"isSlot":false,"src":"152398:2:22","valueSize":1},{"declaration":36148,"isOffset":false,"isSlot":false,"src":"152427:2:22","valueSize":1},{"declaration":36151,"isOffset":false,"isSlot":false,"src":"152456:2:22","valueSize":1},{"declaration":36154,"isOffset":false,"isSlot":false,"src":"152485:2:22","valueSize":1},{"declaration":36157,"isOffset":false,"isSlot":false,"src":"152514:2:22","valueSize":1}],"id":36165,"nodeType":"InlineAssembly","src":"152304:223:22"}]},"id":36167,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"151122:3:22","nodeType":"FunctionDefinition","parameters":{"id":36136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36129,"mutability":"mutable","name":"p0","nameLocation":"151134:2:22","nodeType":"VariableDeclaration","scope":36167,"src":"151126:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36128,"name":"address","nodeType":"ElementaryTypeName","src":"151126:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36131,"mutability":"mutable","name":"p1","nameLocation":"151146:2:22","nodeType":"VariableDeclaration","scope":36167,"src":"151138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36133,"mutability":"mutable","name":"p2","nameLocation":"151155:2:22","nodeType":"VariableDeclaration","scope":36167,"src":"151150:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36132,"name":"bool","nodeType":"ElementaryTypeName","src":"151150:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36135,"mutability":"mutable","name":"p3","nameLocation":"151167:2:22","nodeType":"VariableDeclaration","scope":36167,"src":"151159:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36134,"name":"address","nodeType":"ElementaryTypeName","src":"151159:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"151125:45:22"},"returnParameters":{"id":36137,"nodeType":"ParameterList","parameters":[],"src":"151185:0:22"},"scope":44426,"src":"151113:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36206,"nodeType":"Block","src":"152608:1345:22","statements":[{"assignments":[36179],"declarations":[{"constant":false,"id":36179,"mutability":"mutable","name":"m0","nameLocation":"152626:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152618:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152618:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36180,"nodeType":"VariableDeclarationStatement","src":"152618:10:22"},{"assignments":[36182],"declarations":[{"constant":false,"id":36182,"mutability":"mutable","name":"m1","nameLocation":"152646:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36183,"nodeType":"VariableDeclarationStatement","src":"152638:10:22"},{"assignments":[36185],"declarations":[{"constant":false,"id":36185,"mutability":"mutable","name":"m2","nameLocation":"152666:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36186,"nodeType":"VariableDeclarationStatement","src":"152658:10:22"},{"assignments":[36188],"declarations":[{"constant":false,"id":36188,"mutability":"mutable","name":"m3","nameLocation":"152686:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152678:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152678:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36189,"nodeType":"VariableDeclarationStatement","src":"152678:10:22"},{"assignments":[36191],"declarations":[{"constant":false,"id":36191,"mutability":"mutable","name":"m4","nameLocation":"152706:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36192,"nodeType":"VariableDeclarationStatement","src":"152698:10:22"},{"assignments":[36194],"declarations":[{"constant":false,"id":36194,"mutability":"mutable","name":"m5","nameLocation":"152726:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36195,"nodeType":"VariableDeclarationStatement","src":"152718:10:22"},{"assignments":[36197],"declarations":[{"constant":false,"id":36197,"mutability":"mutable","name":"m6","nameLocation":"152746:2:22","nodeType":"VariableDeclaration","scope":36206,"src":"152738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152738:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36198,"nodeType":"VariableDeclarationStatement","src":"152738:10:22"},{"AST":{"nativeSrc":"152810:825:22","nodeType":"YulBlock","src":"152810:825:22","statements":[{"body":{"nativeSrc":"152853:313:22","nodeType":"YulBlock","src":"152853:313:22","statements":[{"nativeSrc":"152871:15:22","nodeType":"YulVariableDeclaration","src":"152871:15:22","value":{"kind":"number","nativeSrc":"152885:1:22","nodeType":"YulLiteral","src":"152885:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"152875:6:22","nodeType":"YulTypedName","src":"152875:6:22","type":""}]},{"body":{"nativeSrc":"152956:40:22","nodeType":"YulBlock","src":"152956:40:22","statements":[{"body":{"nativeSrc":"152985:9:22","nodeType":"YulBlock","src":"152985:9:22","statements":[{"nativeSrc":"152987:5:22","nodeType":"YulBreak","src":"152987:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"152973:6:22","nodeType":"YulIdentifier","src":"152973:6:22"},{"name":"w","nativeSrc":"152981:1:22","nodeType":"YulIdentifier","src":"152981:1:22"}],"functionName":{"name":"byte","nativeSrc":"152968:4:22","nodeType":"YulIdentifier","src":"152968:4:22"},"nativeSrc":"152968:15:22","nodeType":"YulFunctionCall","src":"152968:15:22"}],"functionName":{"name":"iszero","nativeSrc":"152961:6:22","nodeType":"YulIdentifier","src":"152961:6:22"},"nativeSrc":"152961:23:22","nodeType":"YulFunctionCall","src":"152961:23:22"},"nativeSrc":"152958:36:22","nodeType":"YulIf","src":"152958:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"152913:6:22","nodeType":"YulIdentifier","src":"152913:6:22"},{"kind":"number","nativeSrc":"152921:4:22","nodeType":"YulLiteral","src":"152921:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"152910:2:22","nodeType":"YulIdentifier","src":"152910:2:22"},"nativeSrc":"152910:16:22","nodeType":"YulFunctionCall","src":"152910:16:22"},"nativeSrc":"152903:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"152927:28:22","nodeType":"YulBlock","src":"152927:28:22","statements":[{"nativeSrc":"152929:24:22","nodeType":"YulAssignment","src":"152929:24:22","value":{"arguments":[{"name":"length","nativeSrc":"152943:6:22","nodeType":"YulIdentifier","src":"152943:6:22"},{"kind":"number","nativeSrc":"152951:1:22","nodeType":"YulLiteral","src":"152951:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"152939:3:22","nodeType":"YulIdentifier","src":"152939:3:22"},"nativeSrc":"152939:14:22","nodeType":"YulFunctionCall","src":"152939:14:22"},"variableNames":[{"name":"length","nativeSrc":"152929:6:22","nodeType":"YulIdentifier","src":"152929:6:22"}]}]},"pre":{"nativeSrc":"152907:2:22","nodeType":"YulBlock","src":"152907:2:22","statements":[]},"src":"152903:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"153020:3:22","nodeType":"YulIdentifier","src":"153020:3:22"},{"name":"length","nativeSrc":"153025:6:22","nodeType":"YulIdentifier","src":"153025:6:22"}],"functionName":{"name":"mstore","nativeSrc":"153013:6:22","nodeType":"YulIdentifier","src":"153013:6:22"},"nativeSrc":"153013:19:22","nodeType":"YulFunctionCall","src":"153013:19:22"},"nativeSrc":"153013:19:22","nodeType":"YulExpressionStatement","src":"153013:19:22"},{"nativeSrc":"153049:37:22","nodeType":"YulVariableDeclaration","src":"153049:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"153066:3:22","nodeType":"YulLiteral","src":"153066:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"153075:1:22","nodeType":"YulLiteral","src":"153075:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"153078:6:22","nodeType":"YulIdentifier","src":"153078:6:22"}],"functionName":{"name":"shl","nativeSrc":"153071:3:22","nodeType":"YulIdentifier","src":"153071:3:22"},"nativeSrc":"153071:14:22","nodeType":"YulFunctionCall","src":"153071:14:22"}],"functionName":{"name":"sub","nativeSrc":"153062:3:22","nodeType":"YulIdentifier","src":"153062:3:22"},"nativeSrc":"153062:24:22","nodeType":"YulFunctionCall","src":"153062:24:22"},"variables":[{"name":"shift","nativeSrc":"153053:5:22","nodeType":"YulTypedName","src":"153053:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"153114:3:22","nodeType":"YulIdentifier","src":"153114:3:22"},{"kind":"number","nativeSrc":"153119:4:22","nodeType":"YulLiteral","src":"153119:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"153110:3:22","nodeType":"YulIdentifier","src":"153110:3:22"},"nativeSrc":"153110:14:22","nodeType":"YulFunctionCall","src":"153110:14:22"},{"arguments":[{"name":"shift","nativeSrc":"153130:5:22","nodeType":"YulIdentifier","src":"153130:5:22"},{"arguments":[{"name":"shift","nativeSrc":"153141:5:22","nodeType":"YulIdentifier","src":"153141:5:22"},{"name":"w","nativeSrc":"153148:1:22","nodeType":"YulIdentifier","src":"153148:1:22"}],"functionName":{"name":"shr","nativeSrc":"153137:3:22","nodeType":"YulIdentifier","src":"153137:3:22"},"nativeSrc":"153137:13:22","nodeType":"YulFunctionCall","src":"153137:13:22"}],"functionName":{"name":"shl","nativeSrc":"153126:3:22","nodeType":"YulIdentifier","src":"153126:3:22"},"nativeSrc":"153126:25:22","nodeType":"YulFunctionCall","src":"153126:25:22"}],"functionName":{"name":"mstore","nativeSrc":"153103:6:22","nodeType":"YulIdentifier","src":"153103:6:22"},"nativeSrc":"153103:49:22","nodeType":"YulFunctionCall","src":"153103:49:22"},"nativeSrc":"153103:49:22","nodeType":"YulExpressionStatement","src":"153103:49:22"}]},"name":"writeString","nativeSrc":"152824:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"152845:3:22","nodeType":"YulTypedName","src":"152845:3:22","type":""},{"name":"w","nativeSrc":"152850:1:22","nodeType":"YulTypedName","src":"152850:1:22","type":""}],"src":"152824:342:22"},{"nativeSrc":"153179:17:22","nodeType":"YulAssignment","src":"153179:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153191:4:22","nodeType":"YulLiteral","src":"153191:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"153185:5:22","nodeType":"YulIdentifier","src":"153185:5:22"},"nativeSrc":"153185:11:22","nodeType":"YulFunctionCall","src":"153185:11:22"},"variableNames":[{"name":"m0","nativeSrc":"153179:2:22","nodeType":"YulIdentifier","src":"153179:2:22"}]},{"nativeSrc":"153209:17:22","nodeType":"YulAssignment","src":"153209:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153221:4:22","nodeType":"YulLiteral","src":"153221:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"153215:5:22","nodeType":"YulIdentifier","src":"153215:5:22"},"nativeSrc":"153215:11:22","nodeType":"YulFunctionCall","src":"153215:11:22"},"variableNames":[{"name":"m1","nativeSrc":"153209:2:22","nodeType":"YulIdentifier","src":"153209:2:22"}]},{"nativeSrc":"153239:17:22","nodeType":"YulAssignment","src":"153239:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153251:4:22","nodeType":"YulLiteral","src":"153251:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"153245:5:22","nodeType":"YulIdentifier","src":"153245:5:22"},"nativeSrc":"153245:11:22","nodeType":"YulFunctionCall","src":"153245:11:22"},"variableNames":[{"name":"m2","nativeSrc":"153239:2:22","nodeType":"YulIdentifier","src":"153239:2:22"}]},{"nativeSrc":"153269:17:22","nodeType":"YulAssignment","src":"153269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153281:4:22","nodeType":"YulLiteral","src":"153281:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"153275:5:22","nodeType":"YulIdentifier","src":"153275:5:22"},"nativeSrc":"153275:11:22","nodeType":"YulFunctionCall","src":"153275:11:22"},"variableNames":[{"name":"m3","nativeSrc":"153269:2:22","nodeType":"YulIdentifier","src":"153269:2:22"}]},{"nativeSrc":"153299:17:22","nodeType":"YulAssignment","src":"153299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153311:4:22","nodeType":"YulLiteral","src":"153311:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"153305:5:22","nodeType":"YulIdentifier","src":"153305:5:22"},"nativeSrc":"153305:11:22","nodeType":"YulFunctionCall","src":"153305:11:22"},"variableNames":[{"name":"m4","nativeSrc":"153299:2:22","nodeType":"YulIdentifier","src":"153299:2:22"}]},{"nativeSrc":"153329:17:22","nodeType":"YulAssignment","src":"153329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153341:4:22","nodeType":"YulLiteral","src":"153341:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"153335:5:22","nodeType":"YulIdentifier","src":"153335:5:22"},"nativeSrc":"153335:11:22","nodeType":"YulFunctionCall","src":"153335:11:22"},"variableNames":[{"name":"m5","nativeSrc":"153329:2:22","nodeType":"YulIdentifier","src":"153329:2:22"}]},{"nativeSrc":"153359:17:22","nodeType":"YulAssignment","src":"153359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"153371:4:22","nodeType":"YulLiteral","src":"153371:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"153365:5:22","nodeType":"YulIdentifier","src":"153365:5:22"},"nativeSrc":"153365:11:22","nodeType":"YulFunctionCall","src":"153365:11:22"},"variableNames":[{"name":"m6","nativeSrc":"153359:2:22","nodeType":"YulIdentifier","src":"153359:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153456:4:22","nodeType":"YulLiteral","src":"153456:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"153462:10:22","nodeType":"YulLiteral","src":"153462:10:22","type":"","value":"0x5f1d5c9f"}],"functionName":{"name":"mstore","nativeSrc":"153449:6:22","nodeType":"YulIdentifier","src":"153449:6:22"},"nativeSrc":"153449:24:22","nodeType":"YulFunctionCall","src":"153449:24:22"},"nativeSrc":"153449:24:22","nodeType":"YulExpressionStatement","src":"153449:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153493:4:22","nodeType":"YulLiteral","src":"153493:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"153499:2:22","nodeType":"YulIdentifier","src":"153499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153486:6:22","nodeType":"YulIdentifier","src":"153486:6:22"},"nativeSrc":"153486:16:22","nodeType":"YulFunctionCall","src":"153486:16:22"},"nativeSrc":"153486:16:22","nodeType":"YulExpressionStatement","src":"153486:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153522:4:22","nodeType":"YulLiteral","src":"153522:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"153528:4:22","nodeType":"YulLiteral","src":"153528:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"153515:6:22","nodeType":"YulIdentifier","src":"153515:6:22"},"nativeSrc":"153515:18:22","nodeType":"YulFunctionCall","src":"153515:18:22"},"nativeSrc":"153515:18:22","nodeType":"YulExpressionStatement","src":"153515:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153553:4:22","nodeType":"YulLiteral","src":"153553:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"153559:2:22","nodeType":"YulIdentifier","src":"153559:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153546:6:22","nodeType":"YulIdentifier","src":"153546:6:22"},"nativeSrc":"153546:16:22","nodeType":"YulFunctionCall","src":"153546:16:22"},"nativeSrc":"153546:16:22","nodeType":"YulExpressionStatement","src":"153546:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153582:4:22","nodeType":"YulLiteral","src":"153582:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"153588:2:22","nodeType":"YulIdentifier","src":"153588:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153575:6:22","nodeType":"YulIdentifier","src":"153575:6:22"},"nativeSrc":"153575:16:22","nodeType":"YulFunctionCall","src":"153575:16:22"},"nativeSrc":"153575:16:22","nodeType":"YulExpressionStatement","src":"153575:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153616:4:22","nodeType":"YulLiteral","src":"153616:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"153622:2:22","nodeType":"YulIdentifier","src":"153622:2:22"}],"functionName":{"name":"writeString","nativeSrc":"153604:11:22","nodeType":"YulIdentifier","src":"153604:11:22"},"nativeSrc":"153604:21:22","nodeType":"YulFunctionCall","src":"153604:21:22"},"nativeSrc":"153604:21:22","nodeType":"YulExpressionStatement","src":"153604:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36179,"isOffset":false,"isSlot":false,"src":"153179:2:22","valueSize":1},{"declaration":36182,"isOffset":false,"isSlot":false,"src":"153209:2:22","valueSize":1},{"declaration":36185,"isOffset":false,"isSlot":false,"src":"153239:2:22","valueSize":1},{"declaration":36188,"isOffset":false,"isSlot":false,"src":"153269:2:22","valueSize":1},{"declaration":36191,"isOffset":false,"isSlot":false,"src":"153299:2:22","valueSize":1},{"declaration":36194,"isOffset":false,"isSlot":false,"src":"153329:2:22","valueSize":1},{"declaration":36197,"isOffset":false,"isSlot":false,"src":"153359:2:22","valueSize":1},{"declaration":36169,"isOffset":false,"isSlot":false,"src":"153499:2:22","valueSize":1},{"declaration":36171,"isOffset":false,"isSlot":false,"src":"153622:2:22","valueSize":1},{"declaration":36173,"isOffset":false,"isSlot":false,"src":"153559:2:22","valueSize":1},{"declaration":36175,"isOffset":false,"isSlot":false,"src":"153588:2:22","valueSize":1}],"id":36199,"nodeType":"InlineAssembly","src":"152801:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153660:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153666:4:22","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":36200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"153644:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"153644:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36204,"nodeType":"ExpressionStatement","src":"153644:27:22"},{"AST":{"nativeSrc":"153733:214:22","nodeType":"YulBlock","src":"153733:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"153754:4:22","nodeType":"YulLiteral","src":"153754:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"153760:2:22","nodeType":"YulIdentifier","src":"153760:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153747:6:22","nodeType":"YulIdentifier","src":"153747:6:22"},"nativeSrc":"153747:16:22","nodeType":"YulFunctionCall","src":"153747:16:22"},"nativeSrc":"153747:16:22","nodeType":"YulExpressionStatement","src":"153747:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153783:4:22","nodeType":"YulLiteral","src":"153783:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"153789:2:22","nodeType":"YulIdentifier","src":"153789:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153776:6:22","nodeType":"YulIdentifier","src":"153776:6:22"},"nativeSrc":"153776:16:22","nodeType":"YulFunctionCall","src":"153776:16:22"},"nativeSrc":"153776:16:22","nodeType":"YulExpressionStatement","src":"153776:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153812:4:22","nodeType":"YulLiteral","src":"153812:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"153818:2:22","nodeType":"YulIdentifier","src":"153818:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153805:6:22","nodeType":"YulIdentifier","src":"153805:6:22"},"nativeSrc":"153805:16:22","nodeType":"YulFunctionCall","src":"153805:16:22"},"nativeSrc":"153805:16:22","nodeType":"YulExpressionStatement","src":"153805:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153841:4:22","nodeType":"YulLiteral","src":"153841:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"153847:2:22","nodeType":"YulIdentifier","src":"153847:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153834:6:22","nodeType":"YulIdentifier","src":"153834:6:22"},"nativeSrc":"153834:16:22","nodeType":"YulFunctionCall","src":"153834:16:22"},"nativeSrc":"153834:16:22","nodeType":"YulExpressionStatement","src":"153834:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153870:4:22","nodeType":"YulLiteral","src":"153870:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"153876:2:22","nodeType":"YulIdentifier","src":"153876:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153863:6:22","nodeType":"YulIdentifier","src":"153863:6:22"},"nativeSrc":"153863:16:22","nodeType":"YulFunctionCall","src":"153863:16:22"},"nativeSrc":"153863:16:22","nodeType":"YulExpressionStatement","src":"153863:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153899:4:22","nodeType":"YulLiteral","src":"153899:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"153905:2:22","nodeType":"YulIdentifier","src":"153905:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153892:6:22","nodeType":"YulIdentifier","src":"153892:6:22"},"nativeSrc":"153892:16:22","nodeType":"YulFunctionCall","src":"153892:16:22"},"nativeSrc":"153892:16:22","nodeType":"YulExpressionStatement","src":"153892:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153928:4:22","nodeType":"YulLiteral","src":"153928:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"153934:2:22","nodeType":"YulIdentifier","src":"153934:2:22"}],"functionName":{"name":"mstore","nativeSrc":"153921:6:22","nodeType":"YulIdentifier","src":"153921:6:22"},"nativeSrc":"153921:16:22","nodeType":"YulFunctionCall","src":"153921:16:22"},"nativeSrc":"153921:16:22","nodeType":"YulExpressionStatement","src":"153921:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36179,"isOffset":false,"isSlot":false,"src":"153760:2:22","valueSize":1},{"declaration":36182,"isOffset":false,"isSlot":false,"src":"153789:2:22","valueSize":1},{"declaration":36185,"isOffset":false,"isSlot":false,"src":"153818:2:22","valueSize":1},{"declaration":36188,"isOffset":false,"isSlot":false,"src":"153847:2:22","valueSize":1},{"declaration":36191,"isOffset":false,"isSlot":false,"src":"153876:2:22","valueSize":1},{"declaration":36194,"isOffset":false,"isSlot":false,"src":"153905:2:22","valueSize":1},{"declaration":36197,"isOffset":false,"isSlot":false,"src":"153934:2:22","valueSize":1}],"id":36205,"nodeType":"InlineAssembly","src":"153724:223:22"}]},"id":36207,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"152548:3:22","nodeType":"FunctionDefinition","parameters":{"id":36176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36169,"mutability":"mutable","name":"p0","nameLocation":"152560:2:22","nodeType":"VariableDeclaration","scope":36207,"src":"152552:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36168,"name":"address","nodeType":"ElementaryTypeName","src":"152552:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36171,"mutability":"mutable","name":"p1","nameLocation":"152572:2:22","nodeType":"VariableDeclaration","scope":36207,"src":"152564:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152564:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36173,"mutability":"mutable","name":"p2","nameLocation":"152581:2:22","nodeType":"VariableDeclaration","scope":36207,"src":"152576:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36172,"name":"bool","nodeType":"ElementaryTypeName","src":"152576:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36175,"mutability":"mutable","name":"p3","nameLocation":"152590:2:22","nodeType":"VariableDeclaration","scope":36207,"src":"152585:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36174,"name":"bool","nodeType":"ElementaryTypeName","src":"152585:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"152551:42:22"},"returnParameters":{"id":36177,"nodeType":"ParameterList","parameters":[],"src":"152608:0:22"},"scope":44426,"src":"152539:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36246,"nodeType":"Block","src":"154031:1348:22","statements":[{"assignments":[36219],"declarations":[{"constant":false,"id":36219,"mutability":"mutable","name":"m0","nameLocation":"154049:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154041:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154041:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36220,"nodeType":"VariableDeclarationStatement","src":"154041:10:22"},{"assignments":[36222],"declarations":[{"constant":false,"id":36222,"mutability":"mutable","name":"m1","nameLocation":"154069:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154061:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154061:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36223,"nodeType":"VariableDeclarationStatement","src":"154061:10:22"},{"assignments":[36225],"declarations":[{"constant":false,"id":36225,"mutability":"mutable","name":"m2","nameLocation":"154089:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154081:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36226,"nodeType":"VariableDeclarationStatement","src":"154081:10:22"},{"assignments":[36228],"declarations":[{"constant":false,"id":36228,"mutability":"mutable","name":"m3","nameLocation":"154109:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154101:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154101:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36229,"nodeType":"VariableDeclarationStatement","src":"154101:10:22"},{"assignments":[36231],"declarations":[{"constant":false,"id":36231,"mutability":"mutable","name":"m4","nameLocation":"154129:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154121:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154121:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36232,"nodeType":"VariableDeclarationStatement","src":"154121:10:22"},{"assignments":[36234],"declarations":[{"constant":false,"id":36234,"mutability":"mutable","name":"m5","nameLocation":"154149:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154141:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154141:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36235,"nodeType":"VariableDeclarationStatement","src":"154141:10:22"},{"assignments":[36237],"declarations":[{"constant":false,"id":36237,"mutability":"mutable","name":"m6","nameLocation":"154169:2:22","nodeType":"VariableDeclaration","scope":36246,"src":"154161:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154161:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36238,"nodeType":"VariableDeclarationStatement","src":"154161:10:22"},{"AST":{"nativeSrc":"154233:828:22","nodeType":"YulBlock","src":"154233:828:22","statements":[{"body":{"nativeSrc":"154276:313:22","nodeType":"YulBlock","src":"154276:313:22","statements":[{"nativeSrc":"154294:15:22","nodeType":"YulVariableDeclaration","src":"154294:15:22","value":{"kind":"number","nativeSrc":"154308:1:22","nodeType":"YulLiteral","src":"154308:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"154298:6:22","nodeType":"YulTypedName","src":"154298:6:22","type":""}]},{"body":{"nativeSrc":"154379:40:22","nodeType":"YulBlock","src":"154379:40:22","statements":[{"body":{"nativeSrc":"154408:9:22","nodeType":"YulBlock","src":"154408:9:22","statements":[{"nativeSrc":"154410:5:22","nodeType":"YulBreak","src":"154410:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"154396:6:22","nodeType":"YulIdentifier","src":"154396:6:22"},{"name":"w","nativeSrc":"154404:1:22","nodeType":"YulIdentifier","src":"154404:1:22"}],"functionName":{"name":"byte","nativeSrc":"154391:4:22","nodeType":"YulIdentifier","src":"154391:4:22"},"nativeSrc":"154391:15:22","nodeType":"YulFunctionCall","src":"154391:15:22"}],"functionName":{"name":"iszero","nativeSrc":"154384:6:22","nodeType":"YulIdentifier","src":"154384:6:22"},"nativeSrc":"154384:23:22","nodeType":"YulFunctionCall","src":"154384:23:22"},"nativeSrc":"154381:36:22","nodeType":"YulIf","src":"154381:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"154336:6:22","nodeType":"YulIdentifier","src":"154336:6:22"},{"kind":"number","nativeSrc":"154344:4:22","nodeType":"YulLiteral","src":"154344:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"154333:2:22","nodeType":"YulIdentifier","src":"154333:2:22"},"nativeSrc":"154333:16:22","nodeType":"YulFunctionCall","src":"154333:16:22"},"nativeSrc":"154326:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"154350:28:22","nodeType":"YulBlock","src":"154350:28:22","statements":[{"nativeSrc":"154352:24:22","nodeType":"YulAssignment","src":"154352:24:22","value":{"arguments":[{"name":"length","nativeSrc":"154366:6:22","nodeType":"YulIdentifier","src":"154366:6:22"},{"kind":"number","nativeSrc":"154374:1:22","nodeType":"YulLiteral","src":"154374:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"154362:3:22","nodeType":"YulIdentifier","src":"154362:3:22"},"nativeSrc":"154362:14:22","nodeType":"YulFunctionCall","src":"154362:14:22"},"variableNames":[{"name":"length","nativeSrc":"154352:6:22","nodeType":"YulIdentifier","src":"154352:6:22"}]}]},"pre":{"nativeSrc":"154330:2:22","nodeType":"YulBlock","src":"154330:2:22","statements":[]},"src":"154326:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"154443:3:22","nodeType":"YulIdentifier","src":"154443:3:22"},{"name":"length","nativeSrc":"154448:6:22","nodeType":"YulIdentifier","src":"154448:6:22"}],"functionName":{"name":"mstore","nativeSrc":"154436:6:22","nodeType":"YulIdentifier","src":"154436:6:22"},"nativeSrc":"154436:19:22","nodeType":"YulFunctionCall","src":"154436:19:22"},"nativeSrc":"154436:19:22","nodeType":"YulExpressionStatement","src":"154436:19:22"},{"nativeSrc":"154472:37:22","nodeType":"YulVariableDeclaration","src":"154472:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"154489:3:22","nodeType":"YulLiteral","src":"154489:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"154498:1:22","nodeType":"YulLiteral","src":"154498:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"154501:6:22","nodeType":"YulIdentifier","src":"154501:6:22"}],"functionName":{"name":"shl","nativeSrc":"154494:3:22","nodeType":"YulIdentifier","src":"154494:3:22"},"nativeSrc":"154494:14:22","nodeType":"YulFunctionCall","src":"154494:14:22"}],"functionName":{"name":"sub","nativeSrc":"154485:3:22","nodeType":"YulIdentifier","src":"154485:3:22"},"nativeSrc":"154485:24:22","nodeType":"YulFunctionCall","src":"154485:24:22"},"variables":[{"name":"shift","nativeSrc":"154476:5:22","nodeType":"YulTypedName","src":"154476:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"154537:3:22","nodeType":"YulIdentifier","src":"154537:3:22"},{"kind":"number","nativeSrc":"154542:4:22","nodeType":"YulLiteral","src":"154542:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"154533:3:22","nodeType":"YulIdentifier","src":"154533:3:22"},"nativeSrc":"154533:14:22","nodeType":"YulFunctionCall","src":"154533:14:22"},{"arguments":[{"name":"shift","nativeSrc":"154553:5:22","nodeType":"YulIdentifier","src":"154553:5:22"},{"arguments":[{"name":"shift","nativeSrc":"154564:5:22","nodeType":"YulIdentifier","src":"154564:5:22"},{"name":"w","nativeSrc":"154571:1:22","nodeType":"YulIdentifier","src":"154571:1:22"}],"functionName":{"name":"shr","nativeSrc":"154560:3:22","nodeType":"YulIdentifier","src":"154560:3:22"},"nativeSrc":"154560:13:22","nodeType":"YulFunctionCall","src":"154560:13:22"}],"functionName":{"name":"shl","nativeSrc":"154549:3:22","nodeType":"YulIdentifier","src":"154549:3:22"},"nativeSrc":"154549:25:22","nodeType":"YulFunctionCall","src":"154549:25:22"}],"functionName":{"name":"mstore","nativeSrc":"154526:6:22","nodeType":"YulIdentifier","src":"154526:6:22"},"nativeSrc":"154526:49:22","nodeType":"YulFunctionCall","src":"154526:49:22"},"nativeSrc":"154526:49:22","nodeType":"YulExpressionStatement","src":"154526:49:22"}]},"name":"writeString","nativeSrc":"154247:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"154268:3:22","nodeType":"YulTypedName","src":"154268:3:22","type":""},{"name":"w","nativeSrc":"154273:1:22","nodeType":"YulTypedName","src":"154273:1:22","type":""}],"src":"154247:342:22"},{"nativeSrc":"154602:17:22","nodeType":"YulAssignment","src":"154602:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154614:4:22","nodeType":"YulLiteral","src":"154614:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"154608:5:22","nodeType":"YulIdentifier","src":"154608:5:22"},"nativeSrc":"154608:11:22","nodeType":"YulFunctionCall","src":"154608:11:22"},"variableNames":[{"name":"m0","nativeSrc":"154602:2:22","nodeType":"YulIdentifier","src":"154602:2:22"}]},{"nativeSrc":"154632:17:22","nodeType":"YulAssignment","src":"154632:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154644:4:22","nodeType":"YulLiteral","src":"154644:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"154638:5:22","nodeType":"YulIdentifier","src":"154638:5:22"},"nativeSrc":"154638:11:22","nodeType":"YulFunctionCall","src":"154638:11:22"},"variableNames":[{"name":"m1","nativeSrc":"154632:2:22","nodeType":"YulIdentifier","src":"154632:2:22"}]},{"nativeSrc":"154662:17:22","nodeType":"YulAssignment","src":"154662:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154674:4:22","nodeType":"YulLiteral","src":"154674:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"154668:5:22","nodeType":"YulIdentifier","src":"154668:5:22"},"nativeSrc":"154668:11:22","nodeType":"YulFunctionCall","src":"154668:11:22"},"variableNames":[{"name":"m2","nativeSrc":"154662:2:22","nodeType":"YulIdentifier","src":"154662:2:22"}]},{"nativeSrc":"154692:17:22","nodeType":"YulAssignment","src":"154692:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154704:4:22","nodeType":"YulLiteral","src":"154704:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"154698:5:22","nodeType":"YulIdentifier","src":"154698:5:22"},"nativeSrc":"154698:11:22","nodeType":"YulFunctionCall","src":"154698:11:22"},"variableNames":[{"name":"m3","nativeSrc":"154692:2:22","nodeType":"YulIdentifier","src":"154692:2:22"}]},{"nativeSrc":"154722:17:22","nodeType":"YulAssignment","src":"154722:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154734:4:22","nodeType":"YulLiteral","src":"154734:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"154728:5:22","nodeType":"YulIdentifier","src":"154728:5:22"},"nativeSrc":"154728:11:22","nodeType":"YulFunctionCall","src":"154728:11:22"},"variableNames":[{"name":"m4","nativeSrc":"154722:2:22","nodeType":"YulIdentifier","src":"154722:2:22"}]},{"nativeSrc":"154752:17:22","nodeType":"YulAssignment","src":"154752:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154764:4:22","nodeType":"YulLiteral","src":"154764:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"154758:5:22","nodeType":"YulIdentifier","src":"154758:5:22"},"nativeSrc":"154758:11:22","nodeType":"YulFunctionCall","src":"154758:11:22"},"variableNames":[{"name":"m5","nativeSrc":"154752:2:22","nodeType":"YulIdentifier","src":"154752:2:22"}]},{"nativeSrc":"154782:17:22","nodeType":"YulAssignment","src":"154782:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"154794:4:22","nodeType":"YulLiteral","src":"154794:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"154788:5:22","nodeType":"YulIdentifier","src":"154788:5:22"},"nativeSrc":"154788:11:22","nodeType":"YulFunctionCall","src":"154788:11:22"},"variableNames":[{"name":"m6","nativeSrc":"154782:2:22","nodeType":"YulIdentifier","src":"154782:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154882:4:22","nodeType":"YulLiteral","src":"154882:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"154888:10:22","nodeType":"YulLiteral","src":"154888:10:22","type":"","value":"0x515e38b6"}],"functionName":{"name":"mstore","nativeSrc":"154875:6:22","nodeType":"YulIdentifier","src":"154875:6:22"},"nativeSrc":"154875:24:22","nodeType":"YulFunctionCall","src":"154875:24:22"},"nativeSrc":"154875:24:22","nodeType":"YulExpressionStatement","src":"154875:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154919:4:22","nodeType":"YulLiteral","src":"154919:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"154925:2:22","nodeType":"YulIdentifier","src":"154925:2:22"}],"functionName":{"name":"mstore","nativeSrc":"154912:6:22","nodeType":"YulIdentifier","src":"154912:6:22"},"nativeSrc":"154912:16:22","nodeType":"YulFunctionCall","src":"154912:16:22"},"nativeSrc":"154912:16:22","nodeType":"YulExpressionStatement","src":"154912:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154948:4:22","nodeType":"YulLiteral","src":"154948:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"154954:4:22","nodeType":"YulLiteral","src":"154954:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"154941:6:22","nodeType":"YulIdentifier","src":"154941:6:22"},"nativeSrc":"154941:18:22","nodeType":"YulFunctionCall","src":"154941:18:22"},"nativeSrc":"154941:18:22","nodeType":"YulExpressionStatement","src":"154941:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154979:4:22","nodeType":"YulLiteral","src":"154979:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"154985:2:22","nodeType":"YulIdentifier","src":"154985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"154972:6:22","nodeType":"YulIdentifier","src":"154972:6:22"},"nativeSrc":"154972:16:22","nodeType":"YulFunctionCall","src":"154972:16:22"},"nativeSrc":"154972:16:22","nodeType":"YulExpressionStatement","src":"154972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155008:4:22","nodeType":"YulLiteral","src":"155008:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"155014:2:22","nodeType":"YulIdentifier","src":"155014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155001:6:22","nodeType":"YulIdentifier","src":"155001:6:22"},"nativeSrc":"155001:16:22","nodeType":"YulFunctionCall","src":"155001:16:22"},"nativeSrc":"155001:16:22","nodeType":"YulExpressionStatement","src":"155001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155042:4:22","nodeType":"YulLiteral","src":"155042:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"155048:2:22","nodeType":"YulIdentifier","src":"155048:2:22"}],"functionName":{"name":"writeString","nativeSrc":"155030:11:22","nodeType":"YulIdentifier","src":"155030:11:22"},"nativeSrc":"155030:21:22","nodeType":"YulFunctionCall","src":"155030:21:22"},"nativeSrc":"155030:21:22","nodeType":"YulExpressionStatement","src":"155030:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36219,"isOffset":false,"isSlot":false,"src":"154602:2:22","valueSize":1},{"declaration":36222,"isOffset":false,"isSlot":false,"src":"154632:2:22","valueSize":1},{"declaration":36225,"isOffset":false,"isSlot":false,"src":"154662:2:22","valueSize":1},{"declaration":36228,"isOffset":false,"isSlot":false,"src":"154692:2:22","valueSize":1},{"declaration":36231,"isOffset":false,"isSlot":false,"src":"154722:2:22","valueSize":1},{"declaration":36234,"isOffset":false,"isSlot":false,"src":"154752:2:22","valueSize":1},{"declaration":36237,"isOffset":false,"isSlot":false,"src":"154782:2:22","valueSize":1},{"declaration":36209,"isOffset":false,"isSlot":false,"src":"154925:2:22","valueSize":1},{"declaration":36211,"isOffset":false,"isSlot":false,"src":"155048:2:22","valueSize":1},{"declaration":36213,"isOffset":false,"isSlot":false,"src":"154985:2:22","valueSize":1},{"declaration":36215,"isOffset":false,"isSlot":false,"src":"155014:2:22","valueSize":1}],"id":36239,"nodeType":"InlineAssembly","src":"154224:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155086:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155092:4:22","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":36240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"155070:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"155070:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36244,"nodeType":"ExpressionStatement","src":"155070:27:22"},{"AST":{"nativeSrc":"155159:214:22","nodeType":"YulBlock","src":"155159:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"155180:4:22","nodeType":"YulLiteral","src":"155180:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"155186:2:22","nodeType":"YulIdentifier","src":"155186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155173:6:22","nodeType":"YulIdentifier","src":"155173:6:22"},"nativeSrc":"155173:16:22","nodeType":"YulFunctionCall","src":"155173:16:22"},"nativeSrc":"155173:16:22","nodeType":"YulExpressionStatement","src":"155173:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155209:4:22","nodeType":"YulLiteral","src":"155209:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"155215:2:22","nodeType":"YulIdentifier","src":"155215:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155202:6:22","nodeType":"YulIdentifier","src":"155202:6:22"},"nativeSrc":"155202:16:22","nodeType":"YulFunctionCall","src":"155202:16:22"},"nativeSrc":"155202:16:22","nodeType":"YulExpressionStatement","src":"155202:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155238:4:22","nodeType":"YulLiteral","src":"155238:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"155244:2:22","nodeType":"YulIdentifier","src":"155244:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155231:6:22","nodeType":"YulIdentifier","src":"155231:6:22"},"nativeSrc":"155231:16:22","nodeType":"YulFunctionCall","src":"155231:16:22"},"nativeSrc":"155231:16:22","nodeType":"YulExpressionStatement","src":"155231:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155267:4:22","nodeType":"YulLiteral","src":"155267:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"155273:2:22","nodeType":"YulIdentifier","src":"155273:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155260:6:22","nodeType":"YulIdentifier","src":"155260:6:22"},"nativeSrc":"155260:16:22","nodeType":"YulFunctionCall","src":"155260:16:22"},"nativeSrc":"155260:16:22","nodeType":"YulExpressionStatement","src":"155260:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155296:4:22","nodeType":"YulLiteral","src":"155296:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"155302:2:22","nodeType":"YulIdentifier","src":"155302:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155289:6:22","nodeType":"YulIdentifier","src":"155289:6:22"},"nativeSrc":"155289:16:22","nodeType":"YulFunctionCall","src":"155289:16:22"},"nativeSrc":"155289:16:22","nodeType":"YulExpressionStatement","src":"155289:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155325:4:22","nodeType":"YulLiteral","src":"155325:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"155331:2:22","nodeType":"YulIdentifier","src":"155331:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155318:6:22","nodeType":"YulIdentifier","src":"155318:6:22"},"nativeSrc":"155318:16:22","nodeType":"YulFunctionCall","src":"155318:16:22"},"nativeSrc":"155318:16:22","nodeType":"YulExpressionStatement","src":"155318:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155354:4:22","nodeType":"YulLiteral","src":"155354:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"155360:2:22","nodeType":"YulIdentifier","src":"155360:2:22"}],"functionName":{"name":"mstore","nativeSrc":"155347:6:22","nodeType":"YulIdentifier","src":"155347:6:22"},"nativeSrc":"155347:16:22","nodeType":"YulFunctionCall","src":"155347:16:22"},"nativeSrc":"155347:16:22","nodeType":"YulExpressionStatement","src":"155347:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36219,"isOffset":false,"isSlot":false,"src":"155186:2:22","valueSize":1},{"declaration":36222,"isOffset":false,"isSlot":false,"src":"155215:2:22","valueSize":1},{"declaration":36225,"isOffset":false,"isSlot":false,"src":"155244:2:22","valueSize":1},{"declaration":36228,"isOffset":false,"isSlot":false,"src":"155273:2:22","valueSize":1},{"declaration":36231,"isOffset":false,"isSlot":false,"src":"155302:2:22","valueSize":1},{"declaration":36234,"isOffset":false,"isSlot":false,"src":"155331:2:22","valueSize":1},{"declaration":36237,"isOffset":false,"isSlot":false,"src":"155360:2:22","valueSize":1}],"id":36245,"nodeType":"InlineAssembly","src":"155150:223:22"}]},"id":36247,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"153968:3:22","nodeType":"FunctionDefinition","parameters":{"id":36216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36209,"mutability":"mutable","name":"p0","nameLocation":"153980:2:22","nodeType":"VariableDeclaration","scope":36247,"src":"153972:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36208,"name":"address","nodeType":"ElementaryTypeName","src":"153972:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36211,"mutability":"mutable","name":"p1","nameLocation":"153992:2:22","nodeType":"VariableDeclaration","scope":36247,"src":"153984:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"153984:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36213,"mutability":"mutable","name":"p2","nameLocation":"154001:2:22","nodeType":"VariableDeclaration","scope":36247,"src":"153996:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36212,"name":"bool","nodeType":"ElementaryTypeName","src":"153996:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36215,"mutability":"mutable","name":"p3","nameLocation":"154013:2:22","nodeType":"VariableDeclaration","scope":36247,"src":"154005:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36214,"name":"uint256","nodeType":"ElementaryTypeName","src":"154005:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"153971:45:22"},"returnParameters":{"id":36217,"nodeType":"ParameterList","parameters":[],"src":"154031:0:22"},"scope":44426,"src":"153959:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36292,"nodeType":"Block","src":"155457:1544:22","statements":[{"assignments":[36259],"declarations":[{"constant":false,"id":36259,"mutability":"mutable","name":"m0","nameLocation":"155475:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155467:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155467:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36260,"nodeType":"VariableDeclarationStatement","src":"155467:10:22"},{"assignments":[36262],"declarations":[{"constant":false,"id":36262,"mutability":"mutable","name":"m1","nameLocation":"155495:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155487:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155487:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36263,"nodeType":"VariableDeclarationStatement","src":"155487:10:22"},{"assignments":[36265],"declarations":[{"constant":false,"id":36265,"mutability":"mutable","name":"m2","nameLocation":"155515:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155507:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155507:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36266,"nodeType":"VariableDeclarationStatement","src":"155507:10:22"},{"assignments":[36268],"declarations":[{"constant":false,"id":36268,"mutability":"mutable","name":"m3","nameLocation":"155535:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155527:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155527:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36269,"nodeType":"VariableDeclarationStatement","src":"155527:10:22"},{"assignments":[36271],"declarations":[{"constant":false,"id":36271,"mutability":"mutable","name":"m4","nameLocation":"155555:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36272,"nodeType":"VariableDeclarationStatement","src":"155547:10:22"},{"assignments":[36274],"declarations":[{"constant":false,"id":36274,"mutability":"mutable","name":"m5","nameLocation":"155575:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155567:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155567:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36275,"nodeType":"VariableDeclarationStatement","src":"155567:10:22"},{"assignments":[36277],"declarations":[{"constant":false,"id":36277,"mutability":"mutable","name":"m6","nameLocation":"155595:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155587:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155587:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36278,"nodeType":"VariableDeclarationStatement","src":"155587:10:22"},{"assignments":[36280],"declarations":[{"constant":false,"id":36280,"mutability":"mutable","name":"m7","nameLocation":"155615:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155607:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155607:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36281,"nodeType":"VariableDeclarationStatement","src":"155607:10:22"},{"assignments":[36283],"declarations":[{"constant":false,"id":36283,"mutability":"mutable","name":"m8","nameLocation":"155635:2:22","nodeType":"VariableDeclaration","scope":36292,"src":"155627:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155627:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36284,"nodeType":"VariableDeclarationStatement","src":"155627:10:22"},{"AST":{"nativeSrc":"155699:924:22","nodeType":"YulBlock","src":"155699:924:22","statements":[{"body":{"nativeSrc":"155742:313:22","nodeType":"YulBlock","src":"155742:313:22","statements":[{"nativeSrc":"155760:15:22","nodeType":"YulVariableDeclaration","src":"155760:15:22","value":{"kind":"number","nativeSrc":"155774:1:22","nodeType":"YulLiteral","src":"155774:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"155764:6:22","nodeType":"YulTypedName","src":"155764:6:22","type":""}]},{"body":{"nativeSrc":"155845:40:22","nodeType":"YulBlock","src":"155845:40:22","statements":[{"body":{"nativeSrc":"155874:9:22","nodeType":"YulBlock","src":"155874:9:22","statements":[{"nativeSrc":"155876:5:22","nodeType":"YulBreak","src":"155876:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"155862:6:22","nodeType":"YulIdentifier","src":"155862:6:22"},{"name":"w","nativeSrc":"155870:1:22","nodeType":"YulIdentifier","src":"155870:1:22"}],"functionName":{"name":"byte","nativeSrc":"155857:4:22","nodeType":"YulIdentifier","src":"155857:4:22"},"nativeSrc":"155857:15:22","nodeType":"YulFunctionCall","src":"155857:15:22"}],"functionName":{"name":"iszero","nativeSrc":"155850:6:22","nodeType":"YulIdentifier","src":"155850:6:22"},"nativeSrc":"155850:23:22","nodeType":"YulFunctionCall","src":"155850:23:22"},"nativeSrc":"155847:36:22","nodeType":"YulIf","src":"155847:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"155802:6:22","nodeType":"YulIdentifier","src":"155802:6:22"},{"kind":"number","nativeSrc":"155810:4:22","nodeType":"YulLiteral","src":"155810:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"155799:2:22","nodeType":"YulIdentifier","src":"155799:2:22"},"nativeSrc":"155799:16:22","nodeType":"YulFunctionCall","src":"155799:16:22"},"nativeSrc":"155792:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"155816:28:22","nodeType":"YulBlock","src":"155816:28:22","statements":[{"nativeSrc":"155818:24:22","nodeType":"YulAssignment","src":"155818:24:22","value":{"arguments":[{"name":"length","nativeSrc":"155832:6:22","nodeType":"YulIdentifier","src":"155832:6:22"},{"kind":"number","nativeSrc":"155840:1:22","nodeType":"YulLiteral","src":"155840:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"155828:3:22","nodeType":"YulIdentifier","src":"155828:3:22"},"nativeSrc":"155828:14:22","nodeType":"YulFunctionCall","src":"155828:14:22"},"variableNames":[{"name":"length","nativeSrc":"155818:6:22","nodeType":"YulIdentifier","src":"155818:6:22"}]}]},"pre":{"nativeSrc":"155796:2:22","nodeType":"YulBlock","src":"155796:2:22","statements":[]},"src":"155792:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"155909:3:22","nodeType":"YulIdentifier","src":"155909:3:22"},{"name":"length","nativeSrc":"155914:6:22","nodeType":"YulIdentifier","src":"155914:6:22"}],"functionName":{"name":"mstore","nativeSrc":"155902:6:22","nodeType":"YulIdentifier","src":"155902:6:22"},"nativeSrc":"155902:19:22","nodeType":"YulFunctionCall","src":"155902:19:22"},"nativeSrc":"155902:19:22","nodeType":"YulExpressionStatement","src":"155902:19:22"},{"nativeSrc":"155938:37:22","nodeType":"YulVariableDeclaration","src":"155938:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"155955:3:22","nodeType":"YulLiteral","src":"155955:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"155964:1:22","nodeType":"YulLiteral","src":"155964:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"155967:6:22","nodeType":"YulIdentifier","src":"155967:6:22"}],"functionName":{"name":"shl","nativeSrc":"155960:3:22","nodeType":"YulIdentifier","src":"155960:3:22"},"nativeSrc":"155960:14:22","nodeType":"YulFunctionCall","src":"155960:14:22"}],"functionName":{"name":"sub","nativeSrc":"155951:3:22","nodeType":"YulIdentifier","src":"155951:3:22"},"nativeSrc":"155951:24:22","nodeType":"YulFunctionCall","src":"155951:24:22"},"variables":[{"name":"shift","nativeSrc":"155942:5:22","nodeType":"YulTypedName","src":"155942:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"156003:3:22","nodeType":"YulIdentifier","src":"156003:3:22"},{"kind":"number","nativeSrc":"156008:4:22","nodeType":"YulLiteral","src":"156008:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"155999:3:22","nodeType":"YulIdentifier","src":"155999:3:22"},"nativeSrc":"155999:14:22","nodeType":"YulFunctionCall","src":"155999:14:22"},{"arguments":[{"name":"shift","nativeSrc":"156019:5:22","nodeType":"YulIdentifier","src":"156019:5:22"},{"arguments":[{"name":"shift","nativeSrc":"156030:5:22","nodeType":"YulIdentifier","src":"156030:5:22"},{"name":"w","nativeSrc":"156037:1:22","nodeType":"YulIdentifier","src":"156037:1:22"}],"functionName":{"name":"shr","nativeSrc":"156026:3:22","nodeType":"YulIdentifier","src":"156026:3:22"},"nativeSrc":"156026:13:22","nodeType":"YulFunctionCall","src":"156026:13:22"}],"functionName":{"name":"shl","nativeSrc":"156015:3:22","nodeType":"YulIdentifier","src":"156015:3:22"},"nativeSrc":"156015:25:22","nodeType":"YulFunctionCall","src":"156015:25:22"}],"functionName":{"name":"mstore","nativeSrc":"155992:6:22","nodeType":"YulIdentifier","src":"155992:6:22"},"nativeSrc":"155992:49:22","nodeType":"YulFunctionCall","src":"155992:49:22"},"nativeSrc":"155992:49:22","nodeType":"YulExpressionStatement","src":"155992:49:22"}]},"name":"writeString","nativeSrc":"155713:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"155734:3:22","nodeType":"YulTypedName","src":"155734:3:22","type":""},{"name":"w","nativeSrc":"155739:1:22","nodeType":"YulTypedName","src":"155739:1:22","type":""}],"src":"155713:342:22"},{"nativeSrc":"156068:17:22","nodeType":"YulAssignment","src":"156068:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156080:4:22","nodeType":"YulLiteral","src":"156080:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"156074:5:22","nodeType":"YulIdentifier","src":"156074:5:22"},"nativeSrc":"156074:11:22","nodeType":"YulFunctionCall","src":"156074:11:22"},"variableNames":[{"name":"m0","nativeSrc":"156068:2:22","nodeType":"YulIdentifier","src":"156068:2:22"}]},{"nativeSrc":"156098:17:22","nodeType":"YulAssignment","src":"156098:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156110:4:22","nodeType":"YulLiteral","src":"156110:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"156104:5:22","nodeType":"YulIdentifier","src":"156104:5:22"},"nativeSrc":"156104:11:22","nodeType":"YulFunctionCall","src":"156104:11:22"},"variableNames":[{"name":"m1","nativeSrc":"156098:2:22","nodeType":"YulIdentifier","src":"156098:2:22"}]},{"nativeSrc":"156128:17:22","nodeType":"YulAssignment","src":"156128:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156140:4:22","nodeType":"YulLiteral","src":"156140:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"156134:5:22","nodeType":"YulIdentifier","src":"156134:5:22"},"nativeSrc":"156134:11:22","nodeType":"YulFunctionCall","src":"156134:11:22"},"variableNames":[{"name":"m2","nativeSrc":"156128:2:22","nodeType":"YulIdentifier","src":"156128:2:22"}]},{"nativeSrc":"156158:17:22","nodeType":"YulAssignment","src":"156158:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156170:4:22","nodeType":"YulLiteral","src":"156170:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"156164:5:22","nodeType":"YulIdentifier","src":"156164:5:22"},"nativeSrc":"156164:11:22","nodeType":"YulFunctionCall","src":"156164:11:22"},"variableNames":[{"name":"m3","nativeSrc":"156158:2:22","nodeType":"YulIdentifier","src":"156158:2:22"}]},{"nativeSrc":"156188:17:22","nodeType":"YulAssignment","src":"156188:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156200:4:22","nodeType":"YulLiteral","src":"156200:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"156194:5:22","nodeType":"YulIdentifier","src":"156194:5:22"},"nativeSrc":"156194:11:22","nodeType":"YulFunctionCall","src":"156194:11:22"},"variableNames":[{"name":"m4","nativeSrc":"156188:2:22","nodeType":"YulIdentifier","src":"156188:2:22"}]},{"nativeSrc":"156218:17:22","nodeType":"YulAssignment","src":"156218:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156230:4:22","nodeType":"YulLiteral","src":"156230:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"156224:5:22","nodeType":"YulIdentifier","src":"156224:5:22"},"nativeSrc":"156224:11:22","nodeType":"YulFunctionCall","src":"156224:11:22"},"variableNames":[{"name":"m5","nativeSrc":"156218:2:22","nodeType":"YulIdentifier","src":"156218:2:22"}]},{"nativeSrc":"156248:17:22","nodeType":"YulAssignment","src":"156248:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156260:4:22","nodeType":"YulLiteral","src":"156260:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"156254:5:22","nodeType":"YulIdentifier","src":"156254:5:22"},"nativeSrc":"156254:11:22","nodeType":"YulFunctionCall","src":"156254:11:22"},"variableNames":[{"name":"m6","nativeSrc":"156248:2:22","nodeType":"YulIdentifier","src":"156248:2:22"}]},{"nativeSrc":"156278:17:22","nodeType":"YulAssignment","src":"156278:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"156290:4:22","nodeType":"YulLiteral","src":"156290:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"156284:5:22","nodeType":"YulIdentifier","src":"156284:5:22"},"nativeSrc":"156284:11:22","nodeType":"YulFunctionCall","src":"156284:11:22"},"variableNames":[{"name":"m7","nativeSrc":"156278:2:22","nodeType":"YulIdentifier","src":"156278:2:22"}]},{"nativeSrc":"156308:18:22","nodeType":"YulAssignment","src":"156308:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"156320:5:22","nodeType":"YulLiteral","src":"156320:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"156314:5:22","nodeType":"YulIdentifier","src":"156314:5:22"},"nativeSrc":"156314:12:22","nodeType":"YulFunctionCall","src":"156314:12:22"},"variableNames":[{"name":"m8","nativeSrc":"156308:2:22","nodeType":"YulIdentifier","src":"156308:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156408:4:22","nodeType":"YulLiteral","src":"156408:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"156414:10:22","nodeType":"YulLiteral","src":"156414:10:22","type":"","value":"0xbc0b61fe"}],"functionName":{"name":"mstore","nativeSrc":"156401:6:22","nodeType":"YulIdentifier","src":"156401:6:22"},"nativeSrc":"156401:24:22","nodeType":"YulFunctionCall","src":"156401:24:22"},"nativeSrc":"156401:24:22","nodeType":"YulExpressionStatement","src":"156401:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156445:4:22","nodeType":"YulLiteral","src":"156445:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"156451:2:22","nodeType":"YulIdentifier","src":"156451:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156438:6:22","nodeType":"YulIdentifier","src":"156438:6:22"},"nativeSrc":"156438:16:22","nodeType":"YulFunctionCall","src":"156438:16:22"},"nativeSrc":"156438:16:22","nodeType":"YulExpressionStatement","src":"156438:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156474:4:22","nodeType":"YulLiteral","src":"156474:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"156480:4:22","nodeType":"YulLiteral","src":"156480:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"156467:6:22","nodeType":"YulIdentifier","src":"156467:6:22"},"nativeSrc":"156467:18:22","nodeType":"YulFunctionCall","src":"156467:18:22"},"nativeSrc":"156467:18:22","nodeType":"YulExpressionStatement","src":"156467:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156505:4:22","nodeType":"YulLiteral","src":"156505:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"156511:2:22","nodeType":"YulIdentifier","src":"156511:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156498:6:22","nodeType":"YulIdentifier","src":"156498:6:22"},"nativeSrc":"156498:16:22","nodeType":"YulFunctionCall","src":"156498:16:22"},"nativeSrc":"156498:16:22","nodeType":"YulExpressionStatement","src":"156498:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156534:4:22","nodeType":"YulLiteral","src":"156534:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"156540:4:22","nodeType":"YulLiteral","src":"156540:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"156527:6:22","nodeType":"YulIdentifier","src":"156527:6:22"},"nativeSrc":"156527:18:22","nodeType":"YulFunctionCall","src":"156527:18:22"},"nativeSrc":"156527:18:22","nodeType":"YulExpressionStatement","src":"156527:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156570:4:22","nodeType":"YulLiteral","src":"156570:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"156576:2:22","nodeType":"YulIdentifier","src":"156576:2:22"}],"functionName":{"name":"writeString","nativeSrc":"156558:11:22","nodeType":"YulIdentifier","src":"156558:11:22"},"nativeSrc":"156558:21:22","nodeType":"YulFunctionCall","src":"156558:21:22"},"nativeSrc":"156558:21:22","nodeType":"YulExpressionStatement","src":"156558:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156604:4:22","nodeType":"YulLiteral","src":"156604:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"156610:2:22","nodeType":"YulIdentifier","src":"156610:2:22"}],"functionName":{"name":"writeString","nativeSrc":"156592:11:22","nodeType":"YulIdentifier","src":"156592:11:22"},"nativeSrc":"156592:21:22","nodeType":"YulFunctionCall","src":"156592:21:22"},"nativeSrc":"156592:21:22","nodeType":"YulExpressionStatement","src":"156592:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36259,"isOffset":false,"isSlot":false,"src":"156068:2:22","valueSize":1},{"declaration":36262,"isOffset":false,"isSlot":false,"src":"156098:2:22","valueSize":1},{"declaration":36265,"isOffset":false,"isSlot":false,"src":"156128:2:22","valueSize":1},{"declaration":36268,"isOffset":false,"isSlot":false,"src":"156158:2:22","valueSize":1},{"declaration":36271,"isOffset":false,"isSlot":false,"src":"156188:2:22","valueSize":1},{"declaration":36274,"isOffset":false,"isSlot":false,"src":"156218:2:22","valueSize":1},{"declaration":36277,"isOffset":false,"isSlot":false,"src":"156248:2:22","valueSize":1},{"declaration":36280,"isOffset":false,"isSlot":false,"src":"156278:2:22","valueSize":1},{"declaration":36283,"isOffset":false,"isSlot":false,"src":"156308:2:22","valueSize":1},{"declaration":36249,"isOffset":false,"isSlot":false,"src":"156451:2:22","valueSize":1},{"declaration":36251,"isOffset":false,"isSlot":false,"src":"156576:2:22","valueSize":1},{"declaration":36253,"isOffset":false,"isSlot":false,"src":"156511:2:22","valueSize":1},{"declaration":36255,"isOffset":false,"isSlot":false,"src":"156610:2:22","valueSize":1}],"id":36285,"nodeType":"InlineAssembly","src":"155690:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156648:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156654:5:22","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":36286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"156632:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"156632:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36290,"nodeType":"ExpressionStatement","src":"156632:28:22"},{"AST":{"nativeSrc":"156722:273:22","nodeType":"YulBlock","src":"156722:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"156743:4:22","nodeType":"YulLiteral","src":"156743:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"156749:2:22","nodeType":"YulIdentifier","src":"156749:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156736:6:22","nodeType":"YulIdentifier","src":"156736:6:22"},"nativeSrc":"156736:16:22","nodeType":"YulFunctionCall","src":"156736:16:22"},"nativeSrc":"156736:16:22","nodeType":"YulExpressionStatement","src":"156736:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156772:4:22","nodeType":"YulLiteral","src":"156772:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"156778:2:22","nodeType":"YulIdentifier","src":"156778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156765:6:22","nodeType":"YulIdentifier","src":"156765:6:22"},"nativeSrc":"156765:16:22","nodeType":"YulFunctionCall","src":"156765:16:22"},"nativeSrc":"156765:16:22","nodeType":"YulExpressionStatement","src":"156765:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156801:4:22","nodeType":"YulLiteral","src":"156801:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"156807:2:22","nodeType":"YulIdentifier","src":"156807:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156794:6:22","nodeType":"YulIdentifier","src":"156794:6:22"},"nativeSrc":"156794:16:22","nodeType":"YulFunctionCall","src":"156794:16:22"},"nativeSrc":"156794:16:22","nodeType":"YulExpressionStatement","src":"156794:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156830:4:22","nodeType":"YulLiteral","src":"156830:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"156836:2:22","nodeType":"YulIdentifier","src":"156836:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156823:6:22","nodeType":"YulIdentifier","src":"156823:6:22"},"nativeSrc":"156823:16:22","nodeType":"YulFunctionCall","src":"156823:16:22"},"nativeSrc":"156823:16:22","nodeType":"YulExpressionStatement","src":"156823:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156859:4:22","nodeType":"YulLiteral","src":"156859:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"156865:2:22","nodeType":"YulIdentifier","src":"156865:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156852:6:22","nodeType":"YulIdentifier","src":"156852:6:22"},"nativeSrc":"156852:16:22","nodeType":"YulFunctionCall","src":"156852:16:22"},"nativeSrc":"156852:16:22","nodeType":"YulExpressionStatement","src":"156852:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156888:4:22","nodeType":"YulLiteral","src":"156888:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"156894:2:22","nodeType":"YulIdentifier","src":"156894:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156881:6:22","nodeType":"YulIdentifier","src":"156881:6:22"},"nativeSrc":"156881:16:22","nodeType":"YulFunctionCall","src":"156881:16:22"},"nativeSrc":"156881:16:22","nodeType":"YulExpressionStatement","src":"156881:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156917:4:22","nodeType":"YulLiteral","src":"156917:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"156923:2:22","nodeType":"YulIdentifier","src":"156923:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156910:6:22","nodeType":"YulIdentifier","src":"156910:6:22"},"nativeSrc":"156910:16:22","nodeType":"YulFunctionCall","src":"156910:16:22"},"nativeSrc":"156910:16:22","nodeType":"YulExpressionStatement","src":"156910:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156946:4:22","nodeType":"YulLiteral","src":"156946:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"156952:2:22","nodeType":"YulIdentifier","src":"156952:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156939:6:22","nodeType":"YulIdentifier","src":"156939:6:22"},"nativeSrc":"156939:16:22","nodeType":"YulFunctionCall","src":"156939:16:22"},"nativeSrc":"156939:16:22","nodeType":"YulExpressionStatement","src":"156939:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156975:5:22","nodeType":"YulLiteral","src":"156975:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"156982:2:22","nodeType":"YulIdentifier","src":"156982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"156968:6:22","nodeType":"YulIdentifier","src":"156968:6:22"},"nativeSrc":"156968:17:22","nodeType":"YulFunctionCall","src":"156968:17:22"},"nativeSrc":"156968:17:22","nodeType":"YulExpressionStatement","src":"156968:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36259,"isOffset":false,"isSlot":false,"src":"156749:2:22","valueSize":1},{"declaration":36262,"isOffset":false,"isSlot":false,"src":"156778:2:22","valueSize":1},{"declaration":36265,"isOffset":false,"isSlot":false,"src":"156807:2:22","valueSize":1},{"declaration":36268,"isOffset":false,"isSlot":false,"src":"156836:2:22","valueSize":1},{"declaration":36271,"isOffset":false,"isSlot":false,"src":"156865:2:22","valueSize":1},{"declaration":36274,"isOffset":false,"isSlot":false,"src":"156894:2:22","valueSize":1},{"declaration":36277,"isOffset":false,"isSlot":false,"src":"156923:2:22","valueSize":1},{"declaration":36280,"isOffset":false,"isSlot":false,"src":"156952:2:22","valueSize":1},{"declaration":36283,"isOffset":false,"isSlot":false,"src":"156982:2:22","valueSize":1}],"id":36291,"nodeType":"InlineAssembly","src":"156713:282:22"}]},"id":36293,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"155394:3:22","nodeType":"FunctionDefinition","parameters":{"id":36256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36249,"mutability":"mutable","name":"p0","nameLocation":"155406:2:22","nodeType":"VariableDeclaration","scope":36293,"src":"155398:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36248,"name":"address","nodeType":"ElementaryTypeName","src":"155398:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36251,"mutability":"mutable","name":"p1","nameLocation":"155418:2:22","nodeType":"VariableDeclaration","scope":36293,"src":"155410:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155410:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36253,"mutability":"mutable","name":"p2","nameLocation":"155427:2:22","nodeType":"VariableDeclaration","scope":36293,"src":"155422:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36252,"name":"bool","nodeType":"ElementaryTypeName","src":"155422:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36255,"mutability":"mutable","name":"p3","nameLocation":"155439:2:22","nodeType":"VariableDeclaration","scope":36293,"src":"155431:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155431:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"155397:45:22"},"returnParameters":{"id":36257,"nodeType":"ParameterList","parameters":[],"src":"155457:0:22"},"scope":44426,"src":"155385:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36332,"nodeType":"Block","src":"157082:1351:22","statements":[{"assignments":[36305],"declarations":[{"constant":false,"id":36305,"mutability":"mutable","name":"m0","nameLocation":"157100:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157092:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157092:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36306,"nodeType":"VariableDeclarationStatement","src":"157092:10:22"},{"assignments":[36308],"declarations":[{"constant":false,"id":36308,"mutability":"mutable","name":"m1","nameLocation":"157120:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157112:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157112:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36309,"nodeType":"VariableDeclarationStatement","src":"157112:10:22"},{"assignments":[36311],"declarations":[{"constant":false,"id":36311,"mutability":"mutable","name":"m2","nameLocation":"157140:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157132:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36312,"nodeType":"VariableDeclarationStatement","src":"157132:10:22"},{"assignments":[36314],"declarations":[{"constant":false,"id":36314,"mutability":"mutable","name":"m3","nameLocation":"157160:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36315,"nodeType":"VariableDeclarationStatement","src":"157152:10:22"},{"assignments":[36317],"declarations":[{"constant":false,"id":36317,"mutability":"mutable","name":"m4","nameLocation":"157180:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157172:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157172:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36318,"nodeType":"VariableDeclarationStatement","src":"157172:10:22"},{"assignments":[36320],"declarations":[{"constant":false,"id":36320,"mutability":"mutable","name":"m5","nameLocation":"157200:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157192:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157192:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36321,"nodeType":"VariableDeclarationStatement","src":"157192:10:22"},{"assignments":[36323],"declarations":[{"constant":false,"id":36323,"mutability":"mutable","name":"m6","nameLocation":"157220:2:22","nodeType":"VariableDeclaration","scope":36332,"src":"157212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157212:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36324,"nodeType":"VariableDeclarationStatement","src":"157212:10:22"},{"AST":{"nativeSrc":"157284:831:22","nodeType":"YulBlock","src":"157284:831:22","statements":[{"body":{"nativeSrc":"157327:313:22","nodeType":"YulBlock","src":"157327:313:22","statements":[{"nativeSrc":"157345:15:22","nodeType":"YulVariableDeclaration","src":"157345:15:22","value":{"kind":"number","nativeSrc":"157359:1:22","nodeType":"YulLiteral","src":"157359:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"157349:6:22","nodeType":"YulTypedName","src":"157349:6:22","type":""}]},{"body":{"nativeSrc":"157430:40:22","nodeType":"YulBlock","src":"157430:40:22","statements":[{"body":{"nativeSrc":"157459:9:22","nodeType":"YulBlock","src":"157459:9:22","statements":[{"nativeSrc":"157461:5:22","nodeType":"YulBreak","src":"157461:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"157447:6:22","nodeType":"YulIdentifier","src":"157447:6:22"},{"name":"w","nativeSrc":"157455:1:22","nodeType":"YulIdentifier","src":"157455:1:22"}],"functionName":{"name":"byte","nativeSrc":"157442:4:22","nodeType":"YulIdentifier","src":"157442:4:22"},"nativeSrc":"157442:15:22","nodeType":"YulFunctionCall","src":"157442:15:22"}],"functionName":{"name":"iszero","nativeSrc":"157435:6:22","nodeType":"YulIdentifier","src":"157435:6:22"},"nativeSrc":"157435:23:22","nodeType":"YulFunctionCall","src":"157435:23:22"},"nativeSrc":"157432:36:22","nodeType":"YulIf","src":"157432:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"157387:6:22","nodeType":"YulIdentifier","src":"157387:6:22"},{"kind":"number","nativeSrc":"157395:4:22","nodeType":"YulLiteral","src":"157395:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"157384:2:22","nodeType":"YulIdentifier","src":"157384:2:22"},"nativeSrc":"157384:16:22","nodeType":"YulFunctionCall","src":"157384:16:22"},"nativeSrc":"157377:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"157401:28:22","nodeType":"YulBlock","src":"157401:28:22","statements":[{"nativeSrc":"157403:24:22","nodeType":"YulAssignment","src":"157403:24:22","value":{"arguments":[{"name":"length","nativeSrc":"157417:6:22","nodeType":"YulIdentifier","src":"157417:6:22"},{"kind":"number","nativeSrc":"157425:1:22","nodeType":"YulLiteral","src":"157425:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"157413:3:22","nodeType":"YulIdentifier","src":"157413:3:22"},"nativeSrc":"157413:14:22","nodeType":"YulFunctionCall","src":"157413:14:22"},"variableNames":[{"name":"length","nativeSrc":"157403:6:22","nodeType":"YulIdentifier","src":"157403:6:22"}]}]},"pre":{"nativeSrc":"157381:2:22","nodeType":"YulBlock","src":"157381:2:22","statements":[]},"src":"157377:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"157494:3:22","nodeType":"YulIdentifier","src":"157494:3:22"},{"name":"length","nativeSrc":"157499:6:22","nodeType":"YulIdentifier","src":"157499:6:22"}],"functionName":{"name":"mstore","nativeSrc":"157487:6:22","nodeType":"YulIdentifier","src":"157487:6:22"},"nativeSrc":"157487:19:22","nodeType":"YulFunctionCall","src":"157487:19:22"},"nativeSrc":"157487:19:22","nodeType":"YulExpressionStatement","src":"157487:19:22"},{"nativeSrc":"157523:37:22","nodeType":"YulVariableDeclaration","src":"157523:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"157540:3:22","nodeType":"YulLiteral","src":"157540:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"157549:1:22","nodeType":"YulLiteral","src":"157549:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"157552:6:22","nodeType":"YulIdentifier","src":"157552:6:22"}],"functionName":{"name":"shl","nativeSrc":"157545:3:22","nodeType":"YulIdentifier","src":"157545:3:22"},"nativeSrc":"157545:14:22","nodeType":"YulFunctionCall","src":"157545:14:22"}],"functionName":{"name":"sub","nativeSrc":"157536:3:22","nodeType":"YulIdentifier","src":"157536:3:22"},"nativeSrc":"157536:24:22","nodeType":"YulFunctionCall","src":"157536:24:22"},"variables":[{"name":"shift","nativeSrc":"157527:5:22","nodeType":"YulTypedName","src":"157527:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"157588:3:22","nodeType":"YulIdentifier","src":"157588:3:22"},{"kind":"number","nativeSrc":"157593:4:22","nodeType":"YulLiteral","src":"157593:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"157584:3:22","nodeType":"YulIdentifier","src":"157584:3:22"},"nativeSrc":"157584:14:22","nodeType":"YulFunctionCall","src":"157584:14:22"},{"arguments":[{"name":"shift","nativeSrc":"157604:5:22","nodeType":"YulIdentifier","src":"157604:5:22"},{"arguments":[{"name":"shift","nativeSrc":"157615:5:22","nodeType":"YulIdentifier","src":"157615:5:22"},{"name":"w","nativeSrc":"157622:1:22","nodeType":"YulIdentifier","src":"157622:1:22"}],"functionName":{"name":"shr","nativeSrc":"157611:3:22","nodeType":"YulIdentifier","src":"157611:3:22"},"nativeSrc":"157611:13:22","nodeType":"YulFunctionCall","src":"157611:13:22"}],"functionName":{"name":"shl","nativeSrc":"157600:3:22","nodeType":"YulIdentifier","src":"157600:3:22"},"nativeSrc":"157600:25:22","nodeType":"YulFunctionCall","src":"157600:25:22"}],"functionName":{"name":"mstore","nativeSrc":"157577:6:22","nodeType":"YulIdentifier","src":"157577:6:22"},"nativeSrc":"157577:49:22","nodeType":"YulFunctionCall","src":"157577:49:22"},"nativeSrc":"157577:49:22","nodeType":"YulExpressionStatement","src":"157577:49:22"}]},"name":"writeString","nativeSrc":"157298:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"157319:3:22","nodeType":"YulTypedName","src":"157319:3:22","type":""},{"name":"w","nativeSrc":"157324:1:22","nodeType":"YulTypedName","src":"157324:1:22","type":""}],"src":"157298:342:22"},{"nativeSrc":"157653:17:22","nodeType":"YulAssignment","src":"157653:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157665:4:22","nodeType":"YulLiteral","src":"157665:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"157659:5:22","nodeType":"YulIdentifier","src":"157659:5:22"},"nativeSrc":"157659:11:22","nodeType":"YulFunctionCall","src":"157659:11:22"},"variableNames":[{"name":"m0","nativeSrc":"157653:2:22","nodeType":"YulIdentifier","src":"157653:2:22"}]},{"nativeSrc":"157683:17:22","nodeType":"YulAssignment","src":"157683:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157695:4:22","nodeType":"YulLiteral","src":"157695:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"157689:5:22","nodeType":"YulIdentifier","src":"157689:5:22"},"nativeSrc":"157689:11:22","nodeType":"YulFunctionCall","src":"157689:11:22"},"variableNames":[{"name":"m1","nativeSrc":"157683:2:22","nodeType":"YulIdentifier","src":"157683:2:22"}]},{"nativeSrc":"157713:17:22","nodeType":"YulAssignment","src":"157713:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157725:4:22","nodeType":"YulLiteral","src":"157725:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"157719:5:22","nodeType":"YulIdentifier","src":"157719:5:22"},"nativeSrc":"157719:11:22","nodeType":"YulFunctionCall","src":"157719:11:22"},"variableNames":[{"name":"m2","nativeSrc":"157713:2:22","nodeType":"YulIdentifier","src":"157713:2:22"}]},{"nativeSrc":"157743:17:22","nodeType":"YulAssignment","src":"157743:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157755:4:22","nodeType":"YulLiteral","src":"157755:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"157749:5:22","nodeType":"YulIdentifier","src":"157749:5:22"},"nativeSrc":"157749:11:22","nodeType":"YulFunctionCall","src":"157749:11:22"},"variableNames":[{"name":"m3","nativeSrc":"157743:2:22","nodeType":"YulIdentifier","src":"157743:2:22"}]},{"nativeSrc":"157773:17:22","nodeType":"YulAssignment","src":"157773:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157785:4:22","nodeType":"YulLiteral","src":"157785:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"157779:5:22","nodeType":"YulIdentifier","src":"157779:5:22"},"nativeSrc":"157779:11:22","nodeType":"YulFunctionCall","src":"157779:11:22"},"variableNames":[{"name":"m4","nativeSrc":"157773:2:22","nodeType":"YulIdentifier","src":"157773:2:22"}]},{"nativeSrc":"157803:17:22","nodeType":"YulAssignment","src":"157803:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157815:4:22","nodeType":"YulLiteral","src":"157815:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"157809:5:22","nodeType":"YulIdentifier","src":"157809:5:22"},"nativeSrc":"157809:11:22","nodeType":"YulFunctionCall","src":"157809:11:22"},"variableNames":[{"name":"m5","nativeSrc":"157803:2:22","nodeType":"YulIdentifier","src":"157803:2:22"}]},{"nativeSrc":"157833:17:22","nodeType":"YulAssignment","src":"157833:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"157845:4:22","nodeType":"YulLiteral","src":"157845:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"157839:5:22","nodeType":"YulIdentifier","src":"157839:5:22"},"nativeSrc":"157839:11:22","nodeType":"YulFunctionCall","src":"157839:11:22"},"variableNames":[{"name":"m6","nativeSrc":"157833:2:22","nodeType":"YulIdentifier","src":"157833:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157936:4:22","nodeType":"YulLiteral","src":"157936:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"157942:10:22","nodeType":"YulLiteral","src":"157942:10:22","type":"","value":"0x63183678"}],"functionName":{"name":"mstore","nativeSrc":"157929:6:22","nodeType":"YulIdentifier","src":"157929:6:22"},"nativeSrc":"157929:24:22","nodeType":"YulFunctionCall","src":"157929:24:22"},"nativeSrc":"157929:24:22","nodeType":"YulExpressionStatement","src":"157929:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157973:4:22","nodeType":"YulLiteral","src":"157973:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"157979:2:22","nodeType":"YulIdentifier","src":"157979:2:22"}],"functionName":{"name":"mstore","nativeSrc":"157966:6:22","nodeType":"YulIdentifier","src":"157966:6:22"},"nativeSrc":"157966:16:22","nodeType":"YulFunctionCall","src":"157966:16:22"},"nativeSrc":"157966:16:22","nodeType":"YulExpressionStatement","src":"157966:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158002:4:22","nodeType":"YulLiteral","src":"158002:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"158008:4:22","nodeType":"YulLiteral","src":"158008:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"157995:6:22","nodeType":"YulIdentifier","src":"157995:6:22"},"nativeSrc":"157995:18:22","nodeType":"YulFunctionCall","src":"157995:18:22"},"nativeSrc":"157995:18:22","nodeType":"YulExpressionStatement","src":"157995:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158033:4:22","nodeType":"YulLiteral","src":"158033:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"158039:2:22","nodeType":"YulIdentifier","src":"158039:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158026:6:22","nodeType":"YulIdentifier","src":"158026:6:22"},"nativeSrc":"158026:16:22","nodeType":"YulFunctionCall","src":"158026:16:22"},"nativeSrc":"158026:16:22","nodeType":"YulExpressionStatement","src":"158026:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158062:4:22","nodeType":"YulLiteral","src":"158062:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"158068:2:22","nodeType":"YulIdentifier","src":"158068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158055:6:22","nodeType":"YulIdentifier","src":"158055:6:22"},"nativeSrc":"158055:16:22","nodeType":"YulFunctionCall","src":"158055:16:22"},"nativeSrc":"158055:16:22","nodeType":"YulExpressionStatement","src":"158055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158096:4:22","nodeType":"YulLiteral","src":"158096:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"158102:2:22","nodeType":"YulIdentifier","src":"158102:2:22"}],"functionName":{"name":"writeString","nativeSrc":"158084:11:22","nodeType":"YulIdentifier","src":"158084:11:22"},"nativeSrc":"158084:21:22","nodeType":"YulFunctionCall","src":"158084:21:22"},"nativeSrc":"158084:21:22","nodeType":"YulExpressionStatement","src":"158084:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36305,"isOffset":false,"isSlot":false,"src":"157653:2:22","valueSize":1},{"declaration":36308,"isOffset":false,"isSlot":false,"src":"157683:2:22","valueSize":1},{"declaration":36311,"isOffset":false,"isSlot":false,"src":"157713:2:22","valueSize":1},{"declaration":36314,"isOffset":false,"isSlot":false,"src":"157743:2:22","valueSize":1},{"declaration":36317,"isOffset":false,"isSlot":false,"src":"157773:2:22","valueSize":1},{"declaration":36320,"isOffset":false,"isSlot":false,"src":"157803:2:22","valueSize":1},{"declaration":36323,"isOffset":false,"isSlot":false,"src":"157833:2:22","valueSize":1},{"declaration":36295,"isOffset":false,"isSlot":false,"src":"157979:2:22","valueSize":1},{"declaration":36297,"isOffset":false,"isSlot":false,"src":"158102:2:22","valueSize":1},{"declaration":36299,"isOffset":false,"isSlot":false,"src":"158039:2:22","valueSize":1},{"declaration":36301,"isOffset":false,"isSlot":false,"src":"158068:2:22","valueSize":1}],"id":36325,"nodeType":"InlineAssembly","src":"157275:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158140:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158146:4:22","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":36326,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"158124:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"158124:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36330,"nodeType":"ExpressionStatement","src":"158124:27:22"},{"AST":{"nativeSrc":"158213:214:22","nodeType":"YulBlock","src":"158213:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"158234:4:22","nodeType":"YulLiteral","src":"158234:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"158240:2:22","nodeType":"YulIdentifier","src":"158240:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158227:6:22","nodeType":"YulIdentifier","src":"158227:6:22"},"nativeSrc":"158227:16:22","nodeType":"YulFunctionCall","src":"158227:16:22"},"nativeSrc":"158227:16:22","nodeType":"YulExpressionStatement","src":"158227:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158263:4:22","nodeType":"YulLiteral","src":"158263:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"158269:2:22","nodeType":"YulIdentifier","src":"158269:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158256:6:22","nodeType":"YulIdentifier","src":"158256:6:22"},"nativeSrc":"158256:16:22","nodeType":"YulFunctionCall","src":"158256:16:22"},"nativeSrc":"158256:16:22","nodeType":"YulExpressionStatement","src":"158256:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158292:4:22","nodeType":"YulLiteral","src":"158292:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"158298:2:22","nodeType":"YulIdentifier","src":"158298:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158285:6:22","nodeType":"YulIdentifier","src":"158285:6:22"},"nativeSrc":"158285:16:22","nodeType":"YulFunctionCall","src":"158285:16:22"},"nativeSrc":"158285:16:22","nodeType":"YulExpressionStatement","src":"158285:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158321:4:22","nodeType":"YulLiteral","src":"158321:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"158327:2:22","nodeType":"YulIdentifier","src":"158327:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158314:6:22","nodeType":"YulIdentifier","src":"158314:6:22"},"nativeSrc":"158314:16:22","nodeType":"YulFunctionCall","src":"158314:16:22"},"nativeSrc":"158314:16:22","nodeType":"YulExpressionStatement","src":"158314:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158350:4:22","nodeType":"YulLiteral","src":"158350:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"158356:2:22","nodeType":"YulIdentifier","src":"158356:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158343:6:22","nodeType":"YulIdentifier","src":"158343:6:22"},"nativeSrc":"158343:16:22","nodeType":"YulFunctionCall","src":"158343:16:22"},"nativeSrc":"158343:16:22","nodeType":"YulExpressionStatement","src":"158343:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158379:4:22","nodeType":"YulLiteral","src":"158379:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"158385:2:22","nodeType":"YulIdentifier","src":"158385:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158372:6:22","nodeType":"YulIdentifier","src":"158372:6:22"},"nativeSrc":"158372:16:22","nodeType":"YulFunctionCall","src":"158372:16:22"},"nativeSrc":"158372:16:22","nodeType":"YulExpressionStatement","src":"158372:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158408:4:22","nodeType":"YulLiteral","src":"158408:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"158414:2:22","nodeType":"YulIdentifier","src":"158414:2:22"}],"functionName":{"name":"mstore","nativeSrc":"158401:6:22","nodeType":"YulIdentifier","src":"158401:6:22"},"nativeSrc":"158401:16:22","nodeType":"YulFunctionCall","src":"158401:16:22"},"nativeSrc":"158401:16:22","nodeType":"YulExpressionStatement","src":"158401:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36305,"isOffset":false,"isSlot":false,"src":"158240:2:22","valueSize":1},{"declaration":36308,"isOffset":false,"isSlot":false,"src":"158269:2:22","valueSize":1},{"declaration":36311,"isOffset":false,"isSlot":false,"src":"158298:2:22","valueSize":1},{"declaration":36314,"isOffset":false,"isSlot":false,"src":"158327:2:22","valueSize":1},{"declaration":36317,"isOffset":false,"isSlot":false,"src":"158356:2:22","valueSize":1},{"declaration":36320,"isOffset":false,"isSlot":false,"src":"158385:2:22","valueSize":1},{"declaration":36323,"isOffset":false,"isSlot":false,"src":"158414:2:22","valueSize":1}],"id":36331,"nodeType":"InlineAssembly","src":"158204:223:22"}]},"id":36333,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"157016:3:22","nodeType":"FunctionDefinition","parameters":{"id":36302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36295,"mutability":"mutable","name":"p0","nameLocation":"157028:2:22","nodeType":"VariableDeclaration","scope":36333,"src":"157020:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36294,"name":"address","nodeType":"ElementaryTypeName","src":"157020:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36297,"mutability":"mutable","name":"p1","nameLocation":"157040:2:22","nodeType":"VariableDeclaration","scope":36333,"src":"157032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157032:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36299,"mutability":"mutable","name":"p2","nameLocation":"157052:2:22","nodeType":"VariableDeclaration","scope":36333,"src":"157044:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36298,"name":"uint256","nodeType":"ElementaryTypeName","src":"157044:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36301,"mutability":"mutable","name":"p3","nameLocation":"157064:2:22","nodeType":"VariableDeclaration","scope":36333,"src":"157056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36300,"name":"address","nodeType":"ElementaryTypeName","src":"157056:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"157019:48:22"},"returnParameters":{"id":36303,"nodeType":"ParameterList","parameters":[],"src":"157082:0:22"},"scope":44426,"src":"157007:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36372,"nodeType":"Block","src":"158511:1348:22","statements":[{"assignments":[36345],"declarations":[{"constant":false,"id":36345,"mutability":"mutable","name":"m0","nameLocation":"158529:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158521:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158521:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36346,"nodeType":"VariableDeclarationStatement","src":"158521:10:22"},{"assignments":[36348],"declarations":[{"constant":false,"id":36348,"mutability":"mutable","name":"m1","nameLocation":"158549:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158541:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158541:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36349,"nodeType":"VariableDeclarationStatement","src":"158541:10:22"},{"assignments":[36351],"declarations":[{"constant":false,"id":36351,"mutability":"mutable","name":"m2","nameLocation":"158569:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158561:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158561:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36352,"nodeType":"VariableDeclarationStatement","src":"158561:10:22"},{"assignments":[36354],"declarations":[{"constant":false,"id":36354,"mutability":"mutable","name":"m3","nameLocation":"158589:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158581:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158581:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36355,"nodeType":"VariableDeclarationStatement","src":"158581:10:22"},{"assignments":[36357],"declarations":[{"constant":false,"id":36357,"mutability":"mutable","name":"m4","nameLocation":"158609:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158601:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158601:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36358,"nodeType":"VariableDeclarationStatement","src":"158601:10:22"},{"assignments":[36360],"declarations":[{"constant":false,"id":36360,"mutability":"mutable","name":"m5","nameLocation":"158629:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158621:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158621:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36361,"nodeType":"VariableDeclarationStatement","src":"158621:10:22"},{"assignments":[36363],"declarations":[{"constant":false,"id":36363,"mutability":"mutable","name":"m6","nameLocation":"158649:2:22","nodeType":"VariableDeclaration","scope":36372,"src":"158641:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158641:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36364,"nodeType":"VariableDeclarationStatement","src":"158641:10:22"},{"AST":{"nativeSrc":"158713:828:22","nodeType":"YulBlock","src":"158713:828:22","statements":[{"body":{"nativeSrc":"158756:313:22","nodeType":"YulBlock","src":"158756:313:22","statements":[{"nativeSrc":"158774:15:22","nodeType":"YulVariableDeclaration","src":"158774:15:22","value":{"kind":"number","nativeSrc":"158788:1:22","nodeType":"YulLiteral","src":"158788:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"158778:6:22","nodeType":"YulTypedName","src":"158778:6:22","type":""}]},{"body":{"nativeSrc":"158859:40:22","nodeType":"YulBlock","src":"158859:40:22","statements":[{"body":{"nativeSrc":"158888:9:22","nodeType":"YulBlock","src":"158888:9:22","statements":[{"nativeSrc":"158890:5:22","nodeType":"YulBreak","src":"158890:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"158876:6:22","nodeType":"YulIdentifier","src":"158876:6:22"},{"name":"w","nativeSrc":"158884:1:22","nodeType":"YulIdentifier","src":"158884:1:22"}],"functionName":{"name":"byte","nativeSrc":"158871:4:22","nodeType":"YulIdentifier","src":"158871:4:22"},"nativeSrc":"158871:15:22","nodeType":"YulFunctionCall","src":"158871:15:22"}],"functionName":{"name":"iszero","nativeSrc":"158864:6:22","nodeType":"YulIdentifier","src":"158864:6:22"},"nativeSrc":"158864:23:22","nodeType":"YulFunctionCall","src":"158864:23:22"},"nativeSrc":"158861:36:22","nodeType":"YulIf","src":"158861:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"158816:6:22","nodeType":"YulIdentifier","src":"158816:6:22"},{"kind":"number","nativeSrc":"158824:4:22","nodeType":"YulLiteral","src":"158824:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"158813:2:22","nodeType":"YulIdentifier","src":"158813:2:22"},"nativeSrc":"158813:16:22","nodeType":"YulFunctionCall","src":"158813:16:22"},"nativeSrc":"158806:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"158830:28:22","nodeType":"YulBlock","src":"158830:28:22","statements":[{"nativeSrc":"158832:24:22","nodeType":"YulAssignment","src":"158832:24:22","value":{"arguments":[{"name":"length","nativeSrc":"158846:6:22","nodeType":"YulIdentifier","src":"158846:6:22"},{"kind":"number","nativeSrc":"158854:1:22","nodeType":"YulLiteral","src":"158854:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"158842:3:22","nodeType":"YulIdentifier","src":"158842:3:22"},"nativeSrc":"158842:14:22","nodeType":"YulFunctionCall","src":"158842:14:22"},"variableNames":[{"name":"length","nativeSrc":"158832:6:22","nodeType":"YulIdentifier","src":"158832:6:22"}]}]},"pre":{"nativeSrc":"158810:2:22","nodeType":"YulBlock","src":"158810:2:22","statements":[]},"src":"158806:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"158923:3:22","nodeType":"YulIdentifier","src":"158923:3:22"},{"name":"length","nativeSrc":"158928:6:22","nodeType":"YulIdentifier","src":"158928:6:22"}],"functionName":{"name":"mstore","nativeSrc":"158916:6:22","nodeType":"YulIdentifier","src":"158916:6:22"},"nativeSrc":"158916:19:22","nodeType":"YulFunctionCall","src":"158916:19:22"},"nativeSrc":"158916:19:22","nodeType":"YulExpressionStatement","src":"158916:19:22"},{"nativeSrc":"158952:37:22","nodeType":"YulVariableDeclaration","src":"158952:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"158969:3:22","nodeType":"YulLiteral","src":"158969:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"158978:1:22","nodeType":"YulLiteral","src":"158978:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"158981:6:22","nodeType":"YulIdentifier","src":"158981:6:22"}],"functionName":{"name":"shl","nativeSrc":"158974:3:22","nodeType":"YulIdentifier","src":"158974:3:22"},"nativeSrc":"158974:14:22","nodeType":"YulFunctionCall","src":"158974:14:22"}],"functionName":{"name":"sub","nativeSrc":"158965:3:22","nodeType":"YulIdentifier","src":"158965:3:22"},"nativeSrc":"158965:24:22","nodeType":"YulFunctionCall","src":"158965:24:22"},"variables":[{"name":"shift","nativeSrc":"158956:5:22","nodeType":"YulTypedName","src":"158956:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"159017:3:22","nodeType":"YulIdentifier","src":"159017:3:22"},{"kind":"number","nativeSrc":"159022:4:22","nodeType":"YulLiteral","src":"159022:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"159013:3:22","nodeType":"YulIdentifier","src":"159013:3:22"},"nativeSrc":"159013:14:22","nodeType":"YulFunctionCall","src":"159013:14:22"},{"arguments":[{"name":"shift","nativeSrc":"159033:5:22","nodeType":"YulIdentifier","src":"159033:5:22"},{"arguments":[{"name":"shift","nativeSrc":"159044:5:22","nodeType":"YulIdentifier","src":"159044:5:22"},{"name":"w","nativeSrc":"159051:1:22","nodeType":"YulIdentifier","src":"159051:1:22"}],"functionName":{"name":"shr","nativeSrc":"159040:3:22","nodeType":"YulIdentifier","src":"159040:3:22"},"nativeSrc":"159040:13:22","nodeType":"YulFunctionCall","src":"159040:13:22"}],"functionName":{"name":"shl","nativeSrc":"159029:3:22","nodeType":"YulIdentifier","src":"159029:3:22"},"nativeSrc":"159029:25:22","nodeType":"YulFunctionCall","src":"159029:25:22"}],"functionName":{"name":"mstore","nativeSrc":"159006:6:22","nodeType":"YulIdentifier","src":"159006:6:22"},"nativeSrc":"159006:49:22","nodeType":"YulFunctionCall","src":"159006:49:22"},"nativeSrc":"159006:49:22","nodeType":"YulExpressionStatement","src":"159006:49:22"}]},"name":"writeString","nativeSrc":"158727:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"158748:3:22","nodeType":"YulTypedName","src":"158748:3:22","type":""},{"name":"w","nativeSrc":"158753:1:22","nodeType":"YulTypedName","src":"158753:1:22","type":""}],"src":"158727:342:22"},{"nativeSrc":"159082:17:22","nodeType":"YulAssignment","src":"159082:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159094:4:22","nodeType":"YulLiteral","src":"159094:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"159088:5:22","nodeType":"YulIdentifier","src":"159088:5:22"},"nativeSrc":"159088:11:22","nodeType":"YulFunctionCall","src":"159088:11:22"},"variableNames":[{"name":"m0","nativeSrc":"159082:2:22","nodeType":"YulIdentifier","src":"159082:2:22"}]},{"nativeSrc":"159112:17:22","nodeType":"YulAssignment","src":"159112:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159124:4:22","nodeType":"YulLiteral","src":"159124:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"159118:5:22","nodeType":"YulIdentifier","src":"159118:5:22"},"nativeSrc":"159118:11:22","nodeType":"YulFunctionCall","src":"159118:11:22"},"variableNames":[{"name":"m1","nativeSrc":"159112:2:22","nodeType":"YulIdentifier","src":"159112:2:22"}]},{"nativeSrc":"159142:17:22","nodeType":"YulAssignment","src":"159142:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159154:4:22","nodeType":"YulLiteral","src":"159154:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"159148:5:22","nodeType":"YulIdentifier","src":"159148:5:22"},"nativeSrc":"159148:11:22","nodeType":"YulFunctionCall","src":"159148:11:22"},"variableNames":[{"name":"m2","nativeSrc":"159142:2:22","nodeType":"YulIdentifier","src":"159142:2:22"}]},{"nativeSrc":"159172:17:22","nodeType":"YulAssignment","src":"159172:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159184:4:22","nodeType":"YulLiteral","src":"159184:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"159178:5:22","nodeType":"YulIdentifier","src":"159178:5:22"},"nativeSrc":"159178:11:22","nodeType":"YulFunctionCall","src":"159178:11:22"},"variableNames":[{"name":"m3","nativeSrc":"159172:2:22","nodeType":"YulIdentifier","src":"159172:2:22"}]},{"nativeSrc":"159202:17:22","nodeType":"YulAssignment","src":"159202:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159214:4:22","nodeType":"YulLiteral","src":"159214:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"159208:5:22","nodeType":"YulIdentifier","src":"159208:5:22"},"nativeSrc":"159208:11:22","nodeType":"YulFunctionCall","src":"159208:11:22"},"variableNames":[{"name":"m4","nativeSrc":"159202:2:22","nodeType":"YulIdentifier","src":"159202:2:22"}]},{"nativeSrc":"159232:17:22","nodeType":"YulAssignment","src":"159232:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159244:4:22","nodeType":"YulLiteral","src":"159244:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"159238:5:22","nodeType":"YulIdentifier","src":"159238:5:22"},"nativeSrc":"159238:11:22","nodeType":"YulFunctionCall","src":"159238:11:22"},"variableNames":[{"name":"m5","nativeSrc":"159232:2:22","nodeType":"YulIdentifier","src":"159232:2:22"}]},{"nativeSrc":"159262:17:22","nodeType":"YulAssignment","src":"159262:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"159274:4:22","nodeType":"YulLiteral","src":"159274:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"159268:5:22","nodeType":"YulIdentifier","src":"159268:5:22"},"nativeSrc":"159268:11:22","nodeType":"YulFunctionCall","src":"159268:11:22"},"variableNames":[{"name":"m6","nativeSrc":"159262:2:22","nodeType":"YulIdentifier","src":"159262:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159362:4:22","nodeType":"YulLiteral","src":"159362:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"159368:10:22","nodeType":"YulLiteral","src":"159368:10:22","type":"","value":"0x0ef7e050"}],"functionName":{"name":"mstore","nativeSrc":"159355:6:22","nodeType":"YulIdentifier","src":"159355:6:22"},"nativeSrc":"159355:24:22","nodeType":"YulFunctionCall","src":"159355:24:22"},"nativeSrc":"159355:24:22","nodeType":"YulExpressionStatement","src":"159355:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159399:4:22","nodeType":"YulLiteral","src":"159399:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"159405:2:22","nodeType":"YulIdentifier","src":"159405:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159392:6:22","nodeType":"YulIdentifier","src":"159392:6:22"},"nativeSrc":"159392:16:22","nodeType":"YulFunctionCall","src":"159392:16:22"},"nativeSrc":"159392:16:22","nodeType":"YulExpressionStatement","src":"159392:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159428:4:22","nodeType":"YulLiteral","src":"159428:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"159434:4:22","nodeType":"YulLiteral","src":"159434:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"159421:6:22","nodeType":"YulIdentifier","src":"159421:6:22"},"nativeSrc":"159421:18:22","nodeType":"YulFunctionCall","src":"159421:18:22"},"nativeSrc":"159421:18:22","nodeType":"YulExpressionStatement","src":"159421:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159459:4:22","nodeType":"YulLiteral","src":"159459:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"159465:2:22","nodeType":"YulIdentifier","src":"159465:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159452:6:22","nodeType":"YulIdentifier","src":"159452:6:22"},"nativeSrc":"159452:16:22","nodeType":"YulFunctionCall","src":"159452:16:22"},"nativeSrc":"159452:16:22","nodeType":"YulExpressionStatement","src":"159452:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159488:4:22","nodeType":"YulLiteral","src":"159488:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"159494:2:22","nodeType":"YulIdentifier","src":"159494:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159481:6:22","nodeType":"YulIdentifier","src":"159481:6:22"},"nativeSrc":"159481:16:22","nodeType":"YulFunctionCall","src":"159481:16:22"},"nativeSrc":"159481:16:22","nodeType":"YulExpressionStatement","src":"159481:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159522:4:22","nodeType":"YulLiteral","src":"159522:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"159528:2:22","nodeType":"YulIdentifier","src":"159528:2:22"}],"functionName":{"name":"writeString","nativeSrc":"159510:11:22","nodeType":"YulIdentifier","src":"159510:11:22"},"nativeSrc":"159510:21:22","nodeType":"YulFunctionCall","src":"159510:21:22"},"nativeSrc":"159510:21:22","nodeType":"YulExpressionStatement","src":"159510:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36345,"isOffset":false,"isSlot":false,"src":"159082:2:22","valueSize":1},{"declaration":36348,"isOffset":false,"isSlot":false,"src":"159112:2:22","valueSize":1},{"declaration":36351,"isOffset":false,"isSlot":false,"src":"159142:2:22","valueSize":1},{"declaration":36354,"isOffset":false,"isSlot":false,"src":"159172:2:22","valueSize":1},{"declaration":36357,"isOffset":false,"isSlot":false,"src":"159202:2:22","valueSize":1},{"declaration":36360,"isOffset":false,"isSlot":false,"src":"159232:2:22","valueSize":1},{"declaration":36363,"isOffset":false,"isSlot":false,"src":"159262:2:22","valueSize":1},{"declaration":36335,"isOffset":false,"isSlot":false,"src":"159405:2:22","valueSize":1},{"declaration":36337,"isOffset":false,"isSlot":false,"src":"159528:2:22","valueSize":1},{"declaration":36339,"isOffset":false,"isSlot":false,"src":"159465:2:22","valueSize":1},{"declaration":36341,"isOffset":false,"isSlot":false,"src":"159494:2:22","valueSize":1}],"id":36365,"nodeType":"InlineAssembly","src":"158704:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159566:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159572:4:22","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":36366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"159550:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159550:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36370,"nodeType":"ExpressionStatement","src":"159550:27:22"},{"AST":{"nativeSrc":"159639:214:22","nodeType":"YulBlock","src":"159639:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"159660:4:22","nodeType":"YulLiteral","src":"159660:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"159666:2:22","nodeType":"YulIdentifier","src":"159666:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159653:6:22","nodeType":"YulIdentifier","src":"159653:6:22"},"nativeSrc":"159653:16:22","nodeType":"YulFunctionCall","src":"159653:16:22"},"nativeSrc":"159653:16:22","nodeType":"YulExpressionStatement","src":"159653:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159689:4:22","nodeType":"YulLiteral","src":"159689:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"159695:2:22","nodeType":"YulIdentifier","src":"159695:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159682:6:22","nodeType":"YulIdentifier","src":"159682:6:22"},"nativeSrc":"159682:16:22","nodeType":"YulFunctionCall","src":"159682:16:22"},"nativeSrc":"159682:16:22","nodeType":"YulExpressionStatement","src":"159682:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159718:4:22","nodeType":"YulLiteral","src":"159718:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"159724:2:22","nodeType":"YulIdentifier","src":"159724:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159711:6:22","nodeType":"YulIdentifier","src":"159711:6:22"},"nativeSrc":"159711:16:22","nodeType":"YulFunctionCall","src":"159711:16:22"},"nativeSrc":"159711:16:22","nodeType":"YulExpressionStatement","src":"159711:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159747:4:22","nodeType":"YulLiteral","src":"159747:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"159753:2:22","nodeType":"YulIdentifier","src":"159753:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159740:6:22","nodeType":"YulIdentifier","src":"159740:6:22"},"nativeSrc":"159740:16:22","nodeType":"YulFunctionCall","src":"159740:16:22"},"nativeSrc":"159740:16:22","nodeType":"YulExpressionStatement","src":"159740:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159776:4:22","nodeType":"YulLiteral","src":"159776:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"159782:2:22","nodeType":"YulIdentifier","src":"159782:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159769:6:22","nodeType":"YulIdentifier","src":"159769:6:22"},"nativeSrc":"159769:16:22","nodeType":"YulFunctionCall","src":"159769:16:22"},"nativeSrc":"159769:16:22","nodeType":"YulExpressionStatement","src":"159769:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159805:4:22","nodeType":"YulLiteral","src":"159805:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"159811:2:22","nodeType":"YulIdentifier","src":"159811:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159798:6:22","nodeType":"YulIdentifier","src":"159798:6:22"},"nativeSrc":"159798:16:22","nodeType":"YulFunctionCall","src":"159798:16:22"},"nativeSrc":"159798:16:22","nodeType":"YulExpressionStatement","src":"159798:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159834:4:22","nodeType":"YulLiteral","src":"159834:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"159840:2:22","nodeType":"YulIdentifier","src":"159840:2:22"}],"functionName":{"name":"mstore","nativeSrc":"159827:6:22","nodeType":"YulIdentifier","src":"159827:6:22"},"nativeSrc":"159827:16:22","nodeType":"YulFunctionCall","src":"159827:16:22"},"nativeSrc":"159827:16:22","nodeType":"YulExpressionStatement","src":"159827:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36345,"isOffset":false,"isSlot":false,"src":"159666:2:22","valueSize":1},{"declaration":36348,"isOffset":false,"isSlot":false,"src":"159695:2:22","valueSize":1},{"declaration":36351,"isOffset":false,"isSlot":false,"src":"159724:2:22","valueSize":1},{"declaration":36354,"isOffset":false,"isSlot":false,"src":"159753:2:22","valueSize":1},{"declaration":36357,"isOffset":false,"isSlot":false,"src":"159782:2:22","valueSize":1},{"declaration":36360,"isOffset":false,"isSlot":false,"src":"159811:2:22","valueSize":1},{"declaration":36363,"isOffset":false,"isSlot":false,"src":"159840:2:22","valueSize":1}],"id":36371,"nodeType":"InlineAssembly","src":"159630:223:22"}]},"id":36373,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"158448:3:22","nodeType":"FunctionDefinition","parameters":{"id":36342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36335,"mutability":"mutable","name":"p0","nameLocation":"158460:2:22","nodeType":"VariableDeclaration","scope":36373,"src":"158452:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36334,"name":"address","nodeType":"ElementaryTypeName","src":"158452:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36337,"mutability":"mutable","name":"p1","nameLocation":"158472:2:22","nodeType":"VariableDeclaration","scope":36373,"src":"158464:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158464:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36339,"mutability":"mutable","name":"p2","nameLocation":"158484:2:22","nodeType":"VariableDeclaration","scope":36373,"src":"158476:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36338,"name":"uint256","nodeType":"ElementaryTypeName","src":"158476:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36341,"mutability":"mutable","name":"p3","nameLocation":"158493:2:22","nodeType":"VariableDeclaration","scope":36373,"src":"158488:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36340,"name":"bool","nodeType":"ElementaryTypeName","src":"158488:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"158451:45:22"},"returnParameters":{"id":36343,"nodeType":"ParameterList","parameters":[],"src":"158511:0:22"},"scope":44426,"src":"158439:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36412,"nodeType":"Block","src":"159940:1351:22","statements":[{"assignments":[36385],"declarations":[{"constant":false,"id":36385,"mutability":"mutable","name":"m0","nameLocation":"159958:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"159950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159950:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36386,"nodeType":"VariableDeclarationStatement","src":"159950:10:22"},{"assignments":[36388],"declarations":[{"constant":false,"id":36388,"mutability":"mutable","name":"m1","nameLocation":"159978:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"159970:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159970:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36389,"nodeType":"VariableDeclarationStatement","src":"159970:10:22"},{"assignments":[36391],"declarations":[{"constant":false,"id":36391,"mutability":"mutable","name":"m2","nameLocation":"159998:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"159990:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159990:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36392,"nodeType":"VariableDeclarationStatement","src":"159990:10:22"},{"assignments":[36394],"declarations":[{"constant":false,"id":36394,"mutability":"mutable","name":"m3","nameLocation":"160018:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"160010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160010:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36395,"nodeType":"VariableDeclarationStatement","src":"160010:10:22"},{"assignments":[36397],"declarations":[{"constant":false,"id":36397,"mutability":"mutable","name":"m4","nameLocation":"160038:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"160030:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160030:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36398,"nodeType":"VariableDeclarationStatement","src":"160030:10:22"},{"assignments":[36400],"declarations":[{"constant":false,"id":36400,"mutability":"mutable","name":"m5","nameLocation":"160058:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"160050:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160050:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36401,"nodeType":"VariableDeclarationStatement","src":"160050:10:22"},{"assignments":[36403],"declarations":[{"constant":false,"id":36403,"mutability":"mutable","name":"m6","nameLocation":"160078:2:22","nodeType":"VariableDeclaration","scope":36412,"src":"160070:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160070:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36404,"nodeType":"VariableDeclarationStatement","src":"160070:10:22"},{"AST":{"nativeSrc":"160142:831:22","nodeType":"YulBlock","src":"160142:831:22","statements":[{"body":{"nativeSrc":"160185:313:22","nodeType":"YulBlock","src":"160185:313:22","statements":[{"nativeSrc":"160203:15:22","nodeType":"YulVariableDeclaration","src":"160203:15:22","value":{"kind":"number","nativeSrc":"160217:1:22","nodeType":"YulLiteral","src":"160217:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"160207:6:22","nodeType":"YulTypedName","src":"160207:6:22","type":""}]},{"body":{"nativeSrc":"160288:40:22","nodeType":"YulBlock","src":"160288:40:22","statements":[{"body":{"nativeSrc":"160317:9:22","nodeType":"YulBlock","src":"160317:9:22","statements":[{"nativeSrc":"160319:5:22","nodeType":"YulBreak","src":"160319:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"160305:6:22","nodeType":"YulIdentifier","src":"160305:6:22"},{"name":"w","nativeSrc":"160313:1:22","nodeType":"YulIdentifier","src":"160313:1:22"}],"functionName":{"name":"byte","nativeSrc":"160300:4:22","nodeType":"YulIdentifier","src":"160300:4:22"},"nativeSrc":"160300:15:22","nodeType":"YulFunctionCall","src":"160300:15:22"}],"functionName":{"name":"iszero","nativeSrc":"160293:6:22","nodeType":"YulIdentifier","src":"160293:6:22"},"nativeSrc":"160293:23:22","nodeType":"YulFunctionCall","src":"160293:23:22"},"nativeSrc":"160290:36:22","nodeType":"YulIf","src":"160290:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"160245:6:22","nodeType":"YulIdentifier","src":"160245:6:22"},{"kind":"number","nativeSrc":"160253:4:22","nodeType":"YulLiteral","src":"160253:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"160242:2:22","nodeType":"YulIdentifier","src":"160242:2:22"},"nativeSrc":"160242:16:22","nodeType":"YulFunctionCall","src":"160242:16:22"},"nativeSrc":"160235:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"160259:28:22","nodeType":"YulBlock","src":"160259:28:22","statements":[{"nativeSrc":"160261:24:22","nodeType":"YulAssignment","src":"160261:24:22","value":{"arguments":[{"name":"length","nativeSrc":"160275:6:22","nodeType":"YulIdentifier","src":"160275:6:22"},{"kind":"number","nativeSrc":"160283:1:22","nodeType":"YulLiteral","src":"160283:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"160271:3:22","nodeType":"YulIdentifier","src":"160271:3:22"},"nativeSrc":"160271:14:22","nodeType":"YulFunctionCall","src":"160271:14:22"},"variableNames":[{"name":"length","nativeSrc":"160261:6:22","nodeType":"YulIdentifier","src":"160261:6:22"}]}]},"pre":{"nativeSrc":"160239:2:22","nodeType":"YulBlock","src":"160239:2:22","statements":[]},"src":"160235:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"160352:3:22","nodeType":"YulIdentifier","src":"160352:3:22"},{"name":"length","nativeSrc":"160357:6:22","nodeType":"YulIdentifier","src":"160357:6:22"}],"functionName":{"name":"mstore","nativeSrc":"160345:6:22","nodeType":"YulIdentifier","src":"160345:6:22"},"nativeSrc":"160345:19:22","nodeType":"YulFunctionCall","src":"160345:19:22"},"nativeSrc":"160345:19:22","nodeType":"YulExpressionStatement","src":"160345:19:22"},{"nativeSrc":"160381:37:22","nodeType":"YulVariableDeclaration","src":"160381:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"160398:3:22","nodeType":"YulLiteral","src":"160398:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"160407:1:22","nodeType":"YulLiteral","src":"160407:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"160410:6:22","nodeType":"YulIdentifier","src":"160410:6:22"}],"functionName":{"name":"shl","nativeSrc":"160403:3:22","nodeType":"YulIdentifier","src":"160403:3:22"},"nativeSrc":"160403:14:22","nodeType":"YulFunctionCall","src":"160403:14:22"}],"functionName":{"name":"sub","nativeSrc":"160394:3:22","nodeType":"YulIdentifier","src":"160394:3:22"},"nativeSrc":"160394:24:22","nodeType":"YulFunctionCall","src":"160394:24:22"},"variables":[{"name":"shift","nativeSrc":"160385:5:22","nodeType":"YulTypedName","src":"160385:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"160446:3:22","nodeType":"YulIdentifier","src":"160446:3:22"},{"kind":"number","nativeSrc":"160451:4:22","nodeType":"YulLiteral","src":"160451:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"160442:3:22","nodeType":"YulIdentifier","src":"160442:3:22"},"nativeSrc":"160442:14:22","nodeType":"YulFunctionCall","src":"160442:14:22"},{"arguments":[{"name":"shift","nativeSrc":"160462:5:22","nodeType":"YulIdentifier","src":"160462:5:22"},{"arguments":[{"name":"shift","nativeSrc":"160473:5:22","nodeType":"YulIdentifier","src":"160473:5:22"},{"name":"w","nativeSrc":"160480:1:22","nodeType":"YulIdentifier","src":"160480:1:22"}],"functionName":{"name":"shr","nativeSrc":"160469:3:22","nodeType":"YulIdentifier","src":"160469:3:22"},"nativeSrc":"160469:13:22","nodeType":"YulFunctionCall","src":"160469:13:22"}],"functionName":{"name":"shl","nativeSrc":"160458:3:22","nodeType":"YulIdentifier","src":"160458:3:22"},"nativeSrc":"160458:25:22","nodeType":"YulFunctionCall","src":"160458:25:22"}],"functionName":{"name":"mstore","nativeSrc":"160435:6:22","nodeType":"YulIdentifier","src":"160435:6:22"},"nativeSrc":"160435:49:22","nodeType":"YulFunctionCall","src":"160435:49:22"},"nativeSrc":"160435:49:22","nodeType":"YulExpressionStatement","src":"160435:49:22"}]},"name":"writeString","nativeSrc":"160156:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"160177:3:22","nodeType":"YulTypedName","src":"160177:3:22","type":""},{"name":"w","nativeSrc":"160182:1:22","nodeType":"YulTypedName","src":"160182:1:22","type":""}],"src":"160156:342:22"},{"nativeSrc":"160511:17:22","nodeType":"YulAssignment","src":"160511:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160523:4:22","nodeType":"YulLiteral","src":"160523:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"160517:5:22","nodeType":"YulIdentifier","src":"160517:5:22"},"nativeSrc":"160517:11:22","nodeType":"YulFunctionCall","src":"160517:11:22"},"variableNames":[{"name":"m0","nativeSrc":"160511:2:22","nodeType":"YulIdentifier","src":"160511:2:22"}]},{"nativeSrc":"160541:17:22","nodeType":"YulAssignment","src":"160541:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160553:4:22","nodeType":"YulLiteral","src":"160553:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"160547:5:22","nodeType":"YulIdentifier","src":"160547:5:22"},"nativeSrc":"160547:11:22","nodeType":"YulFunctionCall","src":"160547:11:22"},"variableNames":[{"name":"m1","nativeSrc":"160541:2:22","nodeType":"YulIdentifier","src":"160541:2:22"}]},{"nativeSrc":"160571:17:22","nodeType":"YulAssignment","src":"160571:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160583:4:22","nodeType":"YulLiteral","src":"160583:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"160577:5:22","nodeType":"YulIdentifier","src":"160577:5:22"},"nativeSrc":"160577:11:22","nodeType":"YulFunctionCall","src":"160577:11:22"},"variableNames":[{"name":"m2","nativeSrc":"160571:2:22","nodeType":"YulIdentifier","src":"160571:2:22"}]},{"nativeSrc":"160601:17:22","nodeType":"YulAssignment","src":"160601:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160613:4:22","nodeType":"YulLiteral","src":"160613:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"160607:5:22","nodeType":"YulIdentifier","src":"160607:5:22"},"nativeSrc":"160607:11:22","nodeType":"YulFunctionCall","src":"160607:11:22"},"variableNames":[{"name":"m3","nativeSrc":"160601:2:22","nodeType":"YulIdentifier","src":"160601:2:22"}]},{"nativeSrc":"160631:17:22","nodeType":"YulAssignment","src":"160631:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160643:4:22","nodeType":"YulLiteral","src":"160643:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"160637:5:22","nodeType":"YulIdentifier","src":"160637:5:22"},"nativeSrc":"160637:11:22","nodeType":"YulFunctionCall","src":"160637:11:22"},"variableNames":[{"name":"m4","nativeSrc":"160631:2:22","nodeType":"YulIdentifier","src":"160631:2:22"}]},{"nativeSrc":"160661:17:22","nodeType":"YulAssignment","src":"160661:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160673:4:22","nodeType":"YulLiteral","src":"160673:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"160667:5:22","nodeType":"YulIdentifier","src":"160667:5:22"},"nativeSrc":"160667:11:22","nodeType":"YulFunctionCall","src":"160667:11:22"},"variableNames":[{"name":"m5","nativeSrc":"160661:2:22","nodeType":"YulIdentifier","src":"160661:2:22"}]},{"nativeSrc":"160691:17:22","nodeType":"YulAssignment","src":"160691:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"160703:4:22","nodeType":"YulLiteral","src":"160703:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"160697:5:22","nodeType":"YulIdentifier","src":"160697:5:22"},"nativeSrc":"160697:11:22","nodeType":"YulFunctionCall","src":"160697:11:22"},"variableNames":[{"name":"m6","nativeSrc":"160691:2:22","nodeType":"YulIdentifier","src":"160691:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160794:4:22","nodeType":"YulLiteral","src":"160794:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"160800:10:22","nodeType":"YulLiteral","src":"160800:10:22","type":"","value":"0x1dc8e1b8"}],"functionName":{"name":"mstore","nativeSrc":"160787:6:22","nodeType":"YulIdentifier","src":"160787:6:22"},"nativeSrc":"160787:24:22","nodeType":"YulFunctionCall","src":"160787:24:22"},"nativeSrc":"160787:24:22","nodeType":"YulExpressionStatement","src":"160787:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160831:4:22","nodeType":"YulLiteral","src":"160831:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"160837:2:22","nodeType":"YulIdentifier","src":"160837:2:22"}],"functionName":{"name":"mstore","nativeSrc":"160824:6:22","nodeType":"YulIdentifier","src":"160824:6:22"},"nativeSrc":"160824:16:22","nodeType":"YulFunctionCall","src":"160824:16:22"},"nativeSrc":"160824:16:22","nodeType":"YulExpressionStatement","src":"160824:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160860:4:22","nodeType":"YulLiteral","src":"160860:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"160866:4:22","nodeType":"YulLiteral","src":"160866:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"160853:6:22","nodeType":"YulIdentifier","src":"160853:6:22"},"nativeSrc":"160853:18:22","nodeType":"YulFunctionCall","src":"160853:18:22"},"nativeSrc":"160853:18:22","nodeType":"YulExpressionStatement","src":"160853:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160891:4:22","nodeType":"YulLiteral","src":"160891:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"160897:2:22","nodeType":"YulIdentifier","src":"160897:2:22"}],"functionName":{"name":"mstore","nativeSrc":"160884:6:22","nodeType":"YulIdentifier","src":"160884:6:22"},"nativeSrc":"160884:16:22","nodeType":"YulFunctionCall","src":"160884:16:22"},"nativeSrc":"160884:16:22","nodeType":"YulExpressionStatement","src":"160884:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160920:4:22","nodeType":"YulLiteral","src":"160920:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"160926:2:22","nodeType":"YulIdentifier","src":"160926:2:22"}],"functionName":{"name":"mstore","nativeSrc":"160913:6:22","nodeType":"YulIdentifier","src":"160913:6:22"},"nativeSrc":"160913:16:22","nodeType":"YulFunctionCall","src":"160913:16:22"},"nativeSrc":"160913:16:22","nodeType":"YulExpressionStatement","src":"160913:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160954:4:22","nodeType":"YulLiteral","src":"160954:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"160960:2:22","nodeType":"YulIdentifier","src":"160960:2:22"}],"functionName":{"name":"writeString","nativeSrc":"160942:11:22","nodeType":"YulIdentifier","src":"160942:11:22"},"nativeSrc":"160942:21:22","nodeType":"YulFunctionCall","src":"160942:21:22"},"nativeSrc":"160942:21:22","nodeType":"YulExpressionStatement","src":"160942:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36385,"isOffset":false,"isSlot":false,"src":"160511:2:22","valueSize":1},{"declaration":36388,"isOffset":false,"isSlot":false,"src":"160541:2:22","valueSize":1},{"declaration":36391,"isOffset":false,"isSlot":false,"src":"160571:2:22","valueSize":1},{"declaration":36394,"isOffset":false,"isSlot":false,"src":"160601:2:22","valueSize":1},{"declaration":36397,"isOffset":false,"isSlot":false,"src":"160631:2:22","valueSize":1},{"declaration":36400,"isOffset":false,"isSlot":false,"src":"160661:2:22","valueSize":1},{"declaration":36403,"isOffset":false,"isSlot":false,"src":"160691:2:22","valueSize":1},{"declaration":36375,"isOffset":false,"isSlot":false,"src":"160837:2:22","valueSize":1},{"declaration":36377,"isOffset":false,"isSlot":false,"src":"160960:2:22","valueSize":1},{"declaration":36379,"isOffset":false,"isSlot":false,"src":"160897:2:22","valueSize":1},{"declaration":36381,"isOffset":false,"isSlot":false,"src":"160926:2:22","valueSize":1}],"id":36405,"nodeType":"InlineAssembly","src":"160133:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"160998:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"161004:4:22","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":36406,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"160982:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"160982:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36410,"nodeType":"ExpressionStatement","src":"160982:27:22"},{"AST":{"nativeSrc":"161071:214:22","nodeType":"YulBlock","src":"161071:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"161092:4:22","nodeType":"YulLiteral","src":"161092:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"161098:2:22","nodeType":"YulIdentifier","src":"161098:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161085:6:22","nodeType":"YulIdentifier","src":"161085:6:22"},"nativeSrc":"161085:16:22","nodeType":"YulFunctionCall","src":"161085:16:22"},"nativeSrc":"161085:16:22","nodeType":"YulExpressionStatement","src":"161085:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161121:4:22","nodeType":"YulLiteral","src":"161121:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"161127:2:22","nodeType":"YulIdentifier","src":"161127:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161114:6:22","nodeType":"YulIdentifier","src":"161114:6:22"},"nativeSrc":"161114:16:22","nodeType":"YulFunctionCall","src":"161114:16:22"},"nativeSrc":"161114:16:22","nodeType":"YulExpressionStatement","src":"161114:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161150:4:22","nodeType":"YulLiteral","src":"161150:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"161156:2:22","nodeType":"YulIdentifier","src":"161156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161143:6:22","nodeType":"YulIdentifier","src":"161143:6:22"},"nativeSrc":"161143:16:22","nodeType":"YulFunctionCall","src":"161143:16:22"},"nativeSrc":"161143:16:22","nodeType":"YulExpressionStatement","src":"161143:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161179:4:22","nodeType":"YulLiteral","src":"161179:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"161185:2:22","nodeType":"YulIdentifier","src":"161185:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161172:6:22","nodeType":"YulIdentifier","src":"161172:6:22"},"nativeSrc":"161172:16:22","nodeType":"YulFunctionCall","src":"161172:16:22"},"nativeSrc":"161172:16:22","nodeType":"YulExpressionStatement","src":"161172:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161208:4:22","nodeType":"YulLiteral","src":"161208:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"161214:2:22","nodeType":"YulIdentifier","src":"161214:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161201:6:22","nodeType":"YulIdentifier","src":"161201:6:22"},"nativeSrc":"161201:16:22","nodeType":"YulFunctionCall","src":"161201:16:22"},"nativeSrc":"161201:16:22","nodeType":"YulExpressionStatement","src":"161201:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161237:4:22","nodeType":"YulLiteral","src":"161237:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"161243:2:22","nodeType":"YulIdentifier","src":"161243:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161230:6:22","nodeType":"YulIdentifier","src":"161230:6:22"},"nativeSrc":"161230:16:22","nodeType":"YulFunctionCall","src":"161230:16:22"},"nativeSrc":"161230:16:22","nodeType":"YulExpressionStatement","src":"161230:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161266:4:22","nodeType":"YulLiteral","src":"161266:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"161272:2:22","nodeType":"YulIdentifier","src":"161272:2:22"}],"functionName":{"name":"mstore","nativeSrc":"161259:6:22","nodeType":"YulIdentifier","src":"161259:6:22"},"nativeSrc":"161259:16:22","nodeType":"YulFunctionCall","src":"161259:16:22"},"nativeSrc":"161259:16:22","nodeType":"YulExpressionStatement","src":"161259:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36385,"isOffset":false,"isSlot":false,"src":"161098:2:22","valueSize":1},{"declaration":36388,"isOffset":false,"isSlot":false,"src":"161127:2:22","valueSize":1},{"declaration":36391,"isOffset":false,"isSlot":false,"src":"161156:2:22","valueSize":1},{"declaration":36394,"isOffset":false,"isSlot":false,"src":"161185:2:22","valueSize":1},{"declaration":36397,"isOffset":false,"isSlot":false,"src":"161214:2:22","valueSize":1},{"declaration":36400,"isOffset":false,"isSlot":false,"src":"161243:2:22","valueSize":1},{"declaration":36403,"isOffset":false,"isSlot":false,"src":"161272:2:22","valueSize":1}],"id":36411,"nodeType":"InlineAssembly","src":"161062:223:22"}]},"id":36413,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"159874:3:22","nodeType":"FunctionDefinition","parameters":{"id":36382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36375,"mutability":"mutable","name":"p0","nameLocation":"159886:2:22","nodeType":"VariableDeclaration","scope":36413,"src":"159878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36374,"name":"address","nodeType":"ElementaryTypeName","src":"159878:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36377,"mutability":"mutable","name":"p1","nameLocation":"159898:2:22","nodeType":"VariableDeclaration","scope":36413,"src":"159890:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159890:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36379,"mutability":"mutable","name":"p2","nameLocation":"159910:2:22","nodeType":"VariableDeclaration","scope":36413,"src":"159902:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36378,"name":"uint256","nodeType":"ElementaryTypeName","src":"159902:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36381,"mutability":"mutable","name":"p3","nameLocation":"159922:2:22","nodeType":"VariableDeclaration","scope":36413,"src":"159914:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36380,"name":"uint256","nodeType":"ElementaryTypeName","src":"159914:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"159877:48:22"},"returnParameters":{"id":36383,"nodeType":"ParameterList","parameters":[],"src":"159940:0:22"},"scope":44426,"src":"159865:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36458,"nodeType":"Block","src":"161372:1547:22","statements":[{"assignments":[36425],"declarations":[{"constant":false,"id":36425,"mutability":"mutable","name":"m0","nameLocation":"161390:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161382:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161382:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36426,"nodeType":"VariableDeclarationStatement","src":"161382:10:22"},{"assignments":[36428],"declarations":[{"constant":false,"id":36428,"mutability":"mutable","name":"m1","nameLocation":"161410:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161402:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161402:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36429,"nodeType":"VariableDeclarationStatement","src":"161402:10:22"},{"assignments":[36431],"declarations":[{"constant":false,"id":36431,"mutability":"mutable","name":"m2","nameLocation":"161430:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161422:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161422:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36432,"nodeType":"VariableDeclarationStatement","src":"161422:10:22"},{"assignments":[36434],"declarations":[{"constant":false,"id":36434,"mutability":"mutable","name":"m3","nameLocation":"161450:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161442:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161442:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36435,"nodeType":"VariableDeclarationStatement","src":"161442:10:22"},{"assignments":[36437],"declarations":[{"constant":false,"id":36437,"mutability":"mutable","name":"m4","nameLocation":"161470:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161462:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161462:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36438,"nodeType":"VariableDeclarationStatement","src":"161462:10:22"},{"assignments":[36440],"declarations":[{"constant":false,"id":36440,"mutability":"mutable","name":"m5","nameLocation":"161490:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161482:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161482:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36441,"nodeType":"VariableDeclarationStatement","src":"161482:10:22"},{"assignments":[36443],"declarations":[{"constant":false,"id":36443,"mutability":"mutable","name":"m6","nameLocation":"161510:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161502:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161502:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36444,"nodeType":"VariableDeclarationStatement","src":"161502:10:22"},{"assignments":[36446],"declarations":[{"constant":false,"id":36446,"mutability":"mutable","name":"m7","nameLocation":"161530:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161522:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161522:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36447,"nodeType":"VariableDeclarationStatement","src":"161522:10:22"},{"assignments":[36449],"declarations":[{"constant":false,"id":36449,"mutability":"mutable","name":"m8","nameLocation":"161550:2:22","nodeType":"VariableDeclaration","scope":36458,"src":"161542:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161542:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36450,"nodeType":"VariableDeclarationStatement","src":"161542:10:22"},{"AST":{"nativeSrc":"161614:927:22","nodeType":"YulBlock","src":"161614:927:22","statements":[{"body":{"nativeSrc":"161657:313:22","nodeType":"YulBlock","src":"161657:313:22","statements":[{"nativeSrc":"161675:15:22","nodeType":"YulVariableDeclaration","src":"161675:15:22","value":{"kind":"number","nativeSrc":"161689:1:22","nodeType":"YulLiteral","src":"161689:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"161679:6:22","nodeType":"YulTypedName","src":"161679:6:22","type":""}]},{"body":{"nativeSrc":"161760:40:22","nodeType":"YulBlock","src":"161760:40:22","statements":[{"body":{"nativeSrc":"161789:9:22","nodeType":"YulBlock","src":"161789:9:22","statements":[{"nativeSrc":"161791:5:22","nodeType":"YulBreak","src":"161791:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"161777:6:22","nodeType":"YulIdentifier","src":"161777:6:22"},{"name":"w","nativeSrc":"161785:1:22","nodeType":"YulIdentifier","src":"161785:1:22"}],"functionName":{"name":"byte","nativeSrc":"161772:4:22","nodeType":"YulIdentifier","src":"161772:4:22"},"nativeSrc":"161772:15:22","nodeType":"YulFunctionCall","src":"161772:15:22"}],"functionName":{"name":"iszero","nativeSrc":"161765:6:22","nodeType":"YulIdentifier","src":"161765:6:22"},"nativeSrc":"161765:23:22","nodeType":"YulFunctionCall","src":"161765:23:22"},"nativeSrc":"161762:36:22","nodeType":"YulIf","src":"161762:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"161717:6:22","nodeType":"YulIdentifier","src":"161717:6:22"},{"kind":"number","nativeSrc":"161725:4:22","nodeType":"YulLiteral","src":"161725:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"161714:2:22","nodeType":"YulIdentifier","src":"161714:2:22"},"nativeSrc":"161714:16:22","nodeType":"YulFunctionCall","src":"161714:16:22"},"nativeSrc":"161707:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"161731:28:22","nodeType":"YulBlock","src":"161731:28:22","statements":[{"nativeSrc":"161733:24:22","nodeType":"YulAssignment","src":"161733:24:22","value":{"arguments":[{"name":"length","nativeSrc":"161747:6:22","nodeType":"YulIdentifier","src":"161747:6:22"},{"kind":"number","nativeSrc":"161755:1:22","nodeType":"YulLiteral","src":"161755:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"161743:3:22","nodeType":"YulIdentifier","src":"161743:3:22"},"nativeSrc":"161743:14:22","nodeType":"YulFunctionCall","src":"161743:14:22"},"variableNames":[{"name":"length","nativeSrc":"161733:6:22","nodeType":"YulIdentifier","src":"161733:6:22"}]}]},"pre":{"nativeSrc":"161711:2:22","nodeType":"YulBlock","src":"161711:2:22","statements":[]},"src":"161707:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"161824:3:22","nodeType":"YulIdentifier","src":"161824:3:22"},{"name":"length","nativeSrc":"161829:6:22","nodeType":"YulIdentifier","src":"161829:6:22"}],"functionName":{"name":"mstore","nativeSrc":"161817:6:22","nodeType":"YulIdentifier","src":"161817:6:22"},"nativeSrc":"161817:19:22","nodeType":"YulFunctionCall","src":"161817:19:22"},"nativeSrc":"161817:19:22","nodeType":"YulExpressionStatement","src":"161817:19:22"},{"nativeSrc":"161853:37:22","nodeType":"YulVariableDeclaration","src":"161853:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"161870:3:22","nodeType":"YulLiteral","src":"161870:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"161879:1:22","nodeType":"YulLiteral","src":"161879:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"161882:6:22","nodeType":"YulIdentifier","src":"161882:6:22"}],"functionName":{"name":"shl","nativeSrc":"161875:3:22","nodeType":"YulIdentifier","src":"161875:3:22"},"nativeSrc":"161875:14:22","nodeType":"YulFunctionCall","src":"161875:14:22"}],"functionName":{"name":"sub","nativeSrc":"161866:3:22","nodeType":"YulIdentifier","src":"161866:3:22"},"nativeSrc":"161866:24:22","nodeType":"YulFunctionCall","src":"161866:24:22"},"variables":[{"name":"shift","nativeSrc":"161857:5:22","nodeType":"YulTypedName","src":"161857:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"161918:3:22","nodeType":"YulIdentifier","src":"161918:3:22"},{"kind":"number","nativeSrc":"161923:4:22","nodeType":"YulLiteral","src":"161923:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"161914:3:22","nodeType":"YulIdentifier","src":"161914:3:22"},"nativeSrc":"161914:14:22","nodeType":"YulFunctionCall","src":"161914:14:22"},{"arguments":[{"name":"shift","nativeSrc":"161934:5:22","nodeType":"YulIdentifier","src":"161934:5:22"},{"arguments":[{"name":"shift","nativeSrc":"161945:5:22","nodeType":"YulIdentifier","src":"161945:5:22"},{"name":"w","nativeSrc":"161952:1:22","nodeType":"YulIdentifier","src":"161952:1:22"}],"functionName":{"name":"shr","nativeSrc":"161941:3:22","nodeType":"YulIdentifier","src":"161941:3:22"},"nativeSrc":"161941:13:22","nodeType":"YulFunctionCall","src":"161941:13:22"}],"functionName":{"name":"shl","nativeSrc":"161930:3:22","nodeType":"YulIdentifier","src":"161930:3:22"},"nativeSrc":"161930:25:22","nodeType":"YulFunctionCall","src":"161930:25:22"}],"functionName":{"name":"mstore","nativeSrc":"161907:6:22","nodeType":"YulIdentifier","src":"161907:6:22"},"nativeSrc":"161907:49:22","nodeType":"YulFunctionCall","src":"161907:49:22"},"nativeSrc":"161907:49:22","nodeType":"YulExpressionStatement","src":"161907:49:22"}]},"name":"writeString","nativeSrc":"161628:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"161649:3:22","nodeType":"YulTypedName","src":"161649:3:22","type":""},{"name":"w","nativeSrc":"161654:1:22","nodeType":"YulTypedName","src":"161654:1:22","type":""}],"src":"161628:342:22"},{"nativeSrc":"161983:17:22","nodeType":"YulAssignment","src":"161983:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"161995:4:22","nodeType":"YulLiteral","src":"161995:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"161989:5:22","nodeType":"YulIdentifier","src":"161989:5:22"},"nativeSrc":"161989:11:22","nodeType":"YulFunctionCall","src":"161989:11:22"},"variableNames":[{"name":"m0","nativeSrc":"161983:2:22","nodeType":"YulIdentifier","src":"161983:2:22"}]},{"nativeSrc":"162013:17:22","nodeType":"YulAssignment","src":"162013:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162025:4:22","nodeType":"YulLiteral","src":"162025:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"162019:5:22","nodeType":"YulIdentifier","src":"162019:5:22"},"nativeSrc":"162019:11:22","nodeType":"YulFunctionCall","src":"162019:11:22"},"variableNames":[{"name":"m1","nativeSrc":"162013:2:22","nodeType":"YulIdentifier","src":"162013:2:22"}]},{"nativeSrc":"162043:17:22","nodeType":"YulAssignment","src":"162043:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162055:4:22","nodeType":"YulLiteral","src":"162055:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"162049:5:22","nodeType":"YulIdentifier","src":"162049:5:22"},"nativeSrc":"162049:11:22","nodeType":"YulFunctionCall","src":"162049:11:22"},"variableNames":[{"name":"m2","nativeSrc":"162043:2:22","nodeType":"YulIdentifier","src":"162043:2:22"}]},{"nativeSrc":"162073:17:22","nodeType":"YulAssignment","src":"162073:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162085:4:22","nodeType":"YulLiteral","src":"162085:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"162079:5:22","nodeType":"YulIdentifier","src":"162079:5:22"},"nativeSrc":"162079:11:22","nodeType":"YulFunctionCall","src":"162079:11:22"},"variableNames":[{"name":"m3","nativeSrc":"162073:2:22","nodeType":"YulIdentifier","src":"162073:2:22"}]},{"nativeSrc":"162103:17:22","nodeType":"YulAssignment","src":"162103:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162115:4:22","nodeType":"YulLiteral","src":"162115:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"162109:5:22","nodeType":"YulIdentifier","src":"162109:5:22"},"nativeSrc":"162109:11:22","nodeType":"YulFunctionCall","src":"162109:11:22"},"variableNames":[{"name":"m4","nativeSrc":"162103:2:22","nodeType":"YulIdentifier","src":"162103:2:22"}]},{"nativeSrc":"162133:17:22","nodeType":"YulAssignment","src":"162133:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162145:4:22","nodeType":"YulLiteral","src":"162145:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"162139:5:22","nodeType":"YulIdentifier","src":"162139:5:22"},"nativeSrc":"162139:11:22","nodeType":"YulFunctionCall","src":"162139:11:22"},"variableNames":[{"name":"m5","nativeSrc":"162133:2:22","nodeType":"YulIdentifier","src":"162133:2:22"}]},{"nativeSrc":"162163:17:22","nodeType":"YulAssignment","src":"162163:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162175:4:22","nodeType":"YulLiteral","src":"162175:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"162169:5:22","nodeType":"YulIdentifier","src":"162169:5:22"},"nativeSrc":"162169:11:22","nodeType":"YulFunctionCall","src":"162169:11:22"},"variableNames":[{"name":"m6","nativeSrc":"162163:2:22","nodeType":"YulIdentifier","src":"162163:2:22"}]},{"nativeSrc":"162193:17:22","nodeType":"YulAssignment","src":"162193:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"162205:4:22","nodeType":"YulLiteral","src":"162205:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"162199:5:22","nodeType":"YulIdentifier","src":"162199:5:22"},"nativeSrc":"162199:11:22","nodeType":"YulFunctionCall","src":"162199:11:22"},"variableNames":[{"name":"m7","nativeSrc":"162193:2:22","nodeType":"YulIdentifier","src":"162193:2:22"}]},{"nativeSrc":"162223:18:22","nodeType":"YulAssignment","src":"162223:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"162235:5:22","nodeType":"YulLiteral","src":"162235:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"162229:5:22","nodeType":"YulIdentifier","src":"162229:5:22"},"nativeSrc":"162229:12:22","nodeType":"YulFunctionCall","src":"162229:12:22"},"variableNames":[{"name":"m8","nativeSrc":"162223:2:22","nodeType":"YulIdentifier","src":"162223:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162326:4:22","nodeType":"YulLiteral","src":"162326:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"162332:10:22","nodeType":"YulLiteral","src":"162332:10:22","type":"","value":"0x448830a8"}],"functionName":{"name":"mstore","nativeSrc":"162319:6:22","nodeType":"YulIdentifier","src":"162319:6:22"},"nativeSrc":"162319:24:22","nodeType":"YulFunctionCall","src":"162319:24:22"},"nativeSrc":"162319:24:22","nodeType":"YulExpressionStatement","src":"162319:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162363:4:22","nodeType":"YulLiteral","src":"162363:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"162369:2:22","nodeType":"YulIdentifier","src":"162369:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162356:6:22","nodeType":"YulIdentifier","src":"162356:6:22"},"nativeSrc":"162356:16:22","nodeType":"YulFunctionCall","src":"162356:16:22"},"nativeSrc":"162356:16:22","nodeType":"YulExpressionStatement","src":"162356:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162392:4:22","nodeType":"YulLiteral","src":"162392:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"162398:4:22","nodeType":"YulLiteral","src":"162398:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"162385:6:22","nodeType":"YulIdentifier","src":"162385:6:22"},"nativeSrc":"162385:18:22","nodeType":"YulFunctionCall","src":"162385:18:22"},"nativeSrc":"162385:18:22","nodeType":"YulExpressionStatement","src":"162385:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162423:4:22","nodeType":"YulLiteral","src":"162423:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"162429:2:22","nodeType":"YulIdentifier","src":"162429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162416:6:22","nodeType":"YulIdentifier","src":"162416:6:22"},"nativeSrc":"162416:16:22","nodeType":"YulFunctionCall","src":"162416:16:22"},"nativeSrc":"162416:16:22","nodeType":"YulExpressionStatement","src":"162416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162452:4:22","nodeType":"YulLiteral","src":"162452:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"162458:4:22","nodeType":"YulLiteral","src":"162458:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"162445:6:22","nodeType":"YulIdentifier","src":"162445:6:22"},"nativeSrc":"162445:18:22","nodeType":"YulFunctionCall","src":"162445:18:22"},"nativeSrc":"162445:18:22","nodeType":"YulExpressionStatement","src":"162445:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162488:4:22","nodeType":"YulLiteral","src":"162488:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"162494:2:22","nodeType":"YulIdentifier","src":"162494:2:22"}],"functionName":{"name":"writeString","nativeSrc":"162476:11:22","nodeType":"YulIdentifier","src":"162476:11:22"},"nativeSrc":"162476:21:22","nodeType":"YulFunctionCall","src":"162476:21:22"},"nativeSrc":"162476:21:22","nodeType":"YulExpressionStatement","src":"162476:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162522:4:22","nodeType":"YulLiteral","src":"162522:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"162528:2:22","nodeType":"YulIdentifier","src":"162528:2:22"}],"functionName":{"name":"writeString","nativeSrc":"162510:11:22","nodeType":"YulIdentifier","src":"162510:11:22"},"nativeSrc":"162510:21:22","nodeType":"YulFunctionCall","src":"162510:21:22"},"nativeSrc":"162510:21:22","nodeType":"YulExpressionStatement","src":"162510:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36425,"isOffset":false,"isSlot":false,"src":"161983:2:22","valueSize":1},{"declaration":36428,"isOffset":false,"isSlot":false,"src":"162013:2:22","valueSize":1},{"declaration":36431,"isOffset":false,"isSlot":false,"src":"162043:2:22","valueSize":1},{"declaration":36434,"isOffset":false,"isSlot":false,"src":"162073:2:22","valueSize":1},{"declaration":36437,"isOffset":false,"isSlot":false,"src":"162103:2:22","valueSize":1},{"declaration":36440,"isOffset":false,"isSlot":false,"src":"162133:2:22","valueSize":1},{"declaration":36443,"isOffset":false,"isSlot":false,"src":"162163:2:22","valueSize":1},{"declaration":36446,"isOffset":false,"isSlot":false,"src":"162193:2:22","valueSize":1},{"declaration":36449,"isOffset":false,"isSlot":false,"src":"162223:2:22","valueSize":1},{"declaration":36415,"isOffset":false,"isSlot":false,"src":"162369:2:22","valueSize":1},{"declaration":36417,"isOffset":false,"isSlot":false,"src":"162494:2:22","valueSize":1},{"declaration":36419,"isOffset":false,"isSlot":false,"src":"162429:2:22","valueSize":1},{"declaration":36421,"isOffset":false,"isSlot":false,"src":"162528:2:22","valueSize":1}],"id":36451,"nodeType":"InlineAssembly","src":"161605:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162566:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162572:5:22","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":36452,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"162550:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"162550:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36456,"nodeType":"ExpressionStatement","src":"162550:28:22"},{"AST":{"nativeSrc":"162640:273:22","nodeType":"YulBlock","src":"162640:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"162661:4:22","nodeType":"YulLiteral","src":"162661:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"162667:2:22","nodeType":"YulIdentifier","src":"162667:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162654:6:22","nodeType":"YulIdentifier","src":"162654:6:22"},"nativeSrc":"162654:16:22","nodeType":"YulFunctionCall","src":"162654:16:22"},"nativeSrc":"162654:16:22","nodeType":"YulExpressionStatement","src":"162654:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162690:4:22","nodeType":"YulLiteral","src":"162690:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"162696:2:22","nodeType":"YulIdentifier","src":"162696:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162683:6:22","nodeType":"YulIdentifier","src":"162683:6:22"},"nativeSrc":"162683:16:22","nodeType":"YulFunctionCall","src":"162683:16:22"},"nativeSrc":"162683:16:22","nodeType":"YulExpressionStatement","src":"162683:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162719:4:22","nodeType":"YulLiteral","src":"162719:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"162725:2:22","nodeType":"YulIdentifier","src":"162725:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162712:6:22","nodeType":"YulIdentifier","src":"162712:6:22"},"nativeSrc":"162712:16:22","nodeType":"YulFunctionCall","src":"162712:16:22"},"nativeSrc":"162712:16:22","nodeType":"YulExpressionStatement","src":"162712:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162748:4:22","nodeType":"YulLiteral","src":"162748:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"162754:2:22","nodeType":"YulIdentifier","src":"162754:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162741:6:22","nodeType":"YulIdentifier","src":"162741:6:22"},"nativeSrc":"162741:16:22","nodeType":"YulFunctionCall","src":"162741:16:22"},"nativeSrc":"162741:16:22","nodeType":"YulExpressionStatement","src":"162741:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162777:4:22","nodeType":"YulLiteral","src":"162777:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"162783:2:22","nodeType":"YulIdentifier","src":"162783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162770:6:22","nodeType":"YulIdentifier","src":"162770:6:22"},"nativeSrc":"162770:16:22","nodeType":"YulFunctionCall","src":"162770:16:22"},"nativeSrc":"162770:16:22","nodeType":"YulExpressionStatement","src":"162770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162806:4:22","nodeType":"YulLiteral","src":"162806:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"162812:2:22","nodeType":"YulIdentifier","src":"162812:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162799:6:22","nodeType":"YulIdentifier","src":"162799:6:22"},"nativeSrc":"162799:16:22","nodeType":"YulFunctionCall","src":"162799:16:22"},"nativeSrc":"162799:16:22","nodeType":"YulExpressionStatement","src":"162799:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162835:4:22","nodeType":"YulLiteral","src":"162835:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"162841:2:22","nodeType":"YulIdentifier","src":"162841:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162828:6:22","nodeType":"YulIdentifier","src":"162828:6:22"},"nativeSrc":"162828:16:22","nodeType":"YulFunctionCall","src":"162828:16:22"},"nativeSrc":"162828:16:22","nodeType":"YulExpressionStatement","src":"162828:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162864:4:22","nodeType":"YulLiteral","src":"162864:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"162870:2:22","nodeType":"YulIdentifier","src":"162870:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162857:6:22","nodeType":"YulIdentifier","src":"162857:6:22"},"nativeSrc":"162857:16:22","nodeType":"YulFunctionCall","src":"162857:16:22"},"nativeSrc":"162857:16:22","nodeType":"YulExpressionStatement","src":"162857:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162893:5:22","nodeType":"YulLiteral","src":"162893:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"162900:2:22","nodeType":"YulIdentifier","src":"162900:2:22"}],"functionName":{"name":"mstore","nativeSrc":"162886:6:22","nodeType":"YulIdentifier","src":"162886:6:22"},"nativeSrc":"162886:17:22","nodeType":"YulFunctionCall","src":"162886:17:22"},"nativeSrc":"162886:17:22","nodeType":"YulExpressionStatement","src":"162886:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36425,"isOffset":false,"isSlot":false,"src":"162667:2:22","valueSize":1},{"declaration":36428,"isOffset":false,"isSlot":false,"src":"162696:2:22","valueSize":1},{"declaration":36431,"isOffset":false,"isSlot":false,"src":"162725:2:22","valueSize":1},{"declaration":36434,"isOffset":false,"isSlot":false,"src":"162754:2:22","valueSize":1},{"declaration":36437,"isOffset":false,"isSlot":false,"src":"162783:2:22","valueSize":1},{"declaration":36440,"isOffset":false,"isSlot":false,"src":"162812:2:22","valueSize":1},{"declaration":36443,"isOffset":false,"isSlot":false,"src":"162841:2:22","valueSize":1},{"declaration":36446,"isOffset":false,"isSlot":false,"src":"162870:2:22","valueSize":1},{"declaration":36449,"isOffset":false,"isSlot":false,"src":"162900:2:22","valueSize":1}],"id":36457,"nodeType":"InlineAssembly","src":"162631:282:22"}]},"id":36459,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"161306:3:22","nodeType":"FunctionDefinition","parameters":{"id":36422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36415,"mutability":"mutable","name":"p0","nameLocation":"161318:2:22","nodeType":"VariableDeclaration","scope":36459,"src":"161310:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36414,"name":"address","nodeType":"ElementaryTypeName","src":"161310:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36417,"mutability":"mutable","name":"p1","nameLocation":"161330:2:22","nodeType":"VariableDeclaration","scope":36459,"src":"161322:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161322:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36419,"mutability":"mutable","name":"p2","nameLocation":"161342:2:22","nodeType":"VariableDeclaration","scope":36459,"src":"161334:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36418,"name":"uint256","nodeType":"ElementaryTypeName","src":"161334:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36421,"mutability":"mutable","name":"p3","nameLocation":"161354:2:22","nodeType":"VariableDeclaration","scope":36459,"src":"161346:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161346:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"161309:48:22"},"returnParameters":{"id":36423,"nodeType":"ParameterList","parameters":[],"src":"161372:0:22"},"scope":44426,"src":"161297:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36504,"nodeType":"Block","src":"163000:1547:22","statements":[{"assignments":[36471],"declarations":[{"constant":false,"id":36471,"mutability":"mutable","name":"m0","nameLocation":"163018:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36470,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163010:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36472,"nodeType":"VariableDeclarationStatement","src":"163010:10:22"},{"assignments":[36474],"declarations":[{"constant":false,"id":36474,"mutability":"mutable","name":"m1","nameLocation":"163038:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163030:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163030:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36475,"nodeType":"VariableDeclarationStatement","src":"163030:10:22"},{"assignments":[36477],"declarations":[{"constant":false,"id":36477,"mutability":"mutable","name":"m2","nameLocation":"163058:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163050:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163050:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36478,"nodeType":"VariableDeclarationStatement","src":"163050:10:22"},{"assignments":[36480],"declarations":[{"constant":false,"id":36480,"mutability":"mutable","name":"m3","nameLocation":"163078:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163070:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163070:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36481,"nodeType":"VariableDeclarationStatement","src":"163070:10:22"},{"assignments":[36483],"declarations":[{"constant":false,"id":36483,"mutability":"mutable","name":"m4","nameLocation":"163098:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163090:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163090:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36484,"nodeType":"VariableDeclarationStatement","src":"163090:10:22"},{"assignments":[36486],"declarations":[{"constant":false,"id":36486,"mutability":"mutable","name":"m5","nameLocation":"163118:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163110:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163110:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36487,"nodeType":"VariableDeclarationStatement","src":"163110:10:22"},{"assignments":[36489],"declarations":[{"constant":false,"id":36489,"mutability":"mutable","name":"m6","nameLocation":"163138:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163130:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163130:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36490,"nodeType":"VariableDeclarationStatement","src":"163130:10:22"},{"assignments":[36492],"declarations":[{"constant":false,"id":36492,"mutability":"mutable","name":"m7","nameLocation":"163158:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163150:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163150:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36493,"nodeType":"VariableDeclarationStatement","src":"163150:10:22"},{"assignments":[36495],"declarations":[{"constant":false,"id":36495,"mutability":"mutable","name":"m8","nameLocation":"163178:2:22","nodeType":"VariableDeclaration","scope":36504,"src":"163170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163170:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36496,"nodeType":"VariableDeclarationStatement","src":"163170:10:22"},{"AST":{"nativeSrc":"163242:927:22","nodeType":"YulBlock","src":"163242:927:22","statements":[{"body":{"nativeSrc":"163285:313:22","nodeType":"YulBlock","src":"163285:313:22","statements":[{"nativeSrc":"163303:15:22","nodeType":"YulVariableDeclaration","src":"163303:15:22","value":{"kind":"number","nativeSrc":"163317:1:22","nodeType":"YulLiteral","src":"163317:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"163307:6:22","nodeType":"YulTypedName","src":"163307:6:22","type":""}]},{"body":{"nativeSrc":"163388:40:22","nodeType":"YulBlock","src":"163388:40:22","statements":[{"body":{"nativeSrc":"163417:9:22","nodeType":"YulBlock","src":"163417:9:22","statements":[{"nativeSrc":"163419:5:22","nodeType":"YulBreak","src":"163419:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"163405:6:22","nodeType":"YulIdentifier","src":"163405:6:22"},{"name":"w","nativeSrc":"163413:1:22","nodeType":"YulIdentifier","src":"163413:1:22"}],"functionName":{"name":"byte","nativeSrc":"163400:4:22","nodeType":"YulIdentifier","src":"163400:4:22"},"nativeSrc":"163400:15:22","nodeType":"YulFunctionCall","src":"163400:15:22"}],"functionName":{"name":"iszero","nativeSrc":"163393:6:22","nodeType":"YulIdentifier","src":"163393:6:22"},"nativeSrc":"163393:23:22","nodeType":"YulFunctionCall","src":"163393:23:22"},"nativeSrc":"163390:36:22","nodeType":"YulIf","src":"163390:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"163345:6:22","nodeType":"YulIdentifier","src":"163345:6:22"},{"kind":"number","nativeSrc":"163353:4:22","nodeType":"YulLiteral","src":"163353:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"163342:2:22","nodeType":"YulIdentifier","src":"163342:2:22"},"nativeSrc":"163342:16:22","nodeType":"YulFunctionCall","src":"163342:16:22"},"nativeSrc":"163335:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"163359:28:22","nodeType":"YulBlock","src":"163359:28:22","statements":[{"nativeSrc":"163361:24:22","nodeType":"YulAssignment","src":"163361:24:22","value":{"arguments":[{"name":"length","nativeSrc":"163375:6:22","nodeType":"YulIdentifier","src":"163375:6:22"},{"kind":"number","nativeSrc":"163383:1:22","nodeType":"YulLiteral","src":"163383:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"163371:3:22","nodeType":"YulIdentifier","src":"163371:3:22"},"nativeSrc":"163371:14:22","nodeType":"YulFunctionCall","src":"163371:14:22"},"variableNames":[{"name":"length","nativeSrc":"163361:6:22","nodeType":"YulIdentifier","src":"163361:6:22"}]}]},"pre":{"nativeSrc":"163339:2:22","nodeType":"YulBlock","src":"163339:2:22","statements":[]},"src":"163335:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"163452:3:22","nodeType":"YulIdentifier","src":"163452:3:22"},{"name":"length","nativeSrc":"163457:6:22","nodeType":"YulIdentifier","src":"163457:6:22"}],"functionName":{"name":"mstore","nativeSrc":"163445:6:22","nodeType":"YulIdentifier","src":"163445:6:22"},"nativeSrc":"163445:19:22","nodeType":"YulFunctionCall","src":"163445:19:22"},"nativeSrc":"163445:19:22","nodeType":"YulExpressionStatement","src":"163445:19:22"},{"nativeSrc":"163481:37:22","nodeType":"YulVariableDeclaration","src":"163481:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"163498:3:22","nodeType":"YulLiteral","src":"163498:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"163507:1:22","nodeType":"YulLiteral","src":"163507:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"163510:6:22","nodeType":"YulIdentifier","src":"163510:6:22"}],"functionName":{"name":"shl","nativeSrc":"163503:3:22","nodeType":"YulIdentifier","src":"163503:3:22"},"nativeSrc":"163503:14:22","nodeType":"YulFunctionCall","src":"163503:14:22"}],"functionName":{"name":"sub","nativeSrc":"163494:3:22","nodeType":"YulIdentifier","src":"163494:3:22"},"nativeSrc":"163494:24:22","nodeType":"YulFunctionCall","src":"163494:24:22"},"variables":[{"name":"shift","nativeSrc":"163485:5:22","nodeType":"YulTypedName","src":"163485:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"163546:3:22","nodeType":"YulIdentifier","src":"163546:3:22"},{"kind":"number","nativeSrc":"163551:4:22","nodeType":"YulLiteral","src":"163551:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"163542:3:22","nodeType":"YulIdentifier","src":"163542:3:22"},"nativeSrc":"163542:14:22","nodeType":"YulFunctionCall","src":"163542:14:22"},{"arguments":[{"name":"shift","nativeSrc":"163562:5:22","nodeType":"YulIdentifier","src":"163562:5:22"},{"arguments":[{"name":"shift","nativeSrc":"163573:5:22","nodeType":"YulIdentifier","src":"163573:5:22"},{"name":"w","nativeSrc":"163580:1:22","nodeType":"YulIdentifier","src":"163580:1:22"}],"functionName":{"name":"shr","nativeSrc":"163569:3:22","nodeType":"YulIdentifier","src":"163569:3:22"},"nativeSrc":"163569:13:22","nodeType":"YulFunctionCall","src":"163569:13:22"}],"functionName":{"name":"shl","nativeSrc":"163558:3:22","nodeType":"YulIdentifier","src":"163558:3:22"},"nativeSrc":"163558:25:22","nodeType":"YulFunctionCall","src":"163558:25:22"}],"functionName":{"name":"mstore","nativeSrc":"163535:6:22","nodeType":"YulIdentifier","src":"163535:6:22"},"nativeSrc":"163535:49:22","nodeType":"YulFunctionCall","src":"163535:49:22"},"nativeSrc":"163535:49:22","nodeType":"YulExpressionStatement","src":"163535:49:22"}]},"name":"writeString","nativeSrc":"163256:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"163277:3:22","nodeType":"YulTypedName","src":"163277:3:22","type":""},{"name":"w","nativeSrc":"163282:1:22","nodeType":"YulTypedName","src":"163282:1:22","type":""}],"src":"163256:342:22"},{"nativeSrc":"163611:17:22","nodeType":"YulAssignment","src":"163611:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163623:4:22","nodeType":"YulLiteral","src":"163623:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"163617:5:22","nodeType":"YulIdentifier","src":"163617:5:22"},"nativeSrc":"163617:11:22","nodeType":"YulFunctionCall","src":"163617:11:22"},"variableNames":[{"name":"m0","nativeSrc":"163611:2:22","nodeType":"YulIdentifier","src":"163611:2:22"}]},{"nativeSrc":"163641:17:22","nodeType":"YulAssignment","src":"163641:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163653:4:22","nodeType":"YulLiteral","src":"163653:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"163647:5:22","nodeType":"YulIdentifier","src":"163647:5:22"},"nativeSrc":"163647:11:22","nodeType":"YulFunctionCall","src":"163647:11:22"},"variableNames":[{"name":"m1","nativeSrc":"163641:2:22","nodeType":"YulIdentifier","src":"163641:2:22"}]},{"nativeSrc":"163671:17:22","nodeType":"YulAssignment","src":"163671:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163683:4:22","nodeType":"YulLiteral","src":"163683:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"163677:5:22","nodeType":"YulIdentifier","src":"163677:5:22"},"nativeSrc":"163677:11:22","nodeType":"YulFunctionCall","src":"163677:11:22"},"variableNames":[{"name":"m2","nativeSrc":"163671:2:22","nodeType":"YulIdentifier","src":"163671:2:22"}]},{"nativeSrc":"163701:17:22","nodeType":"YulAssignment","src":"163701:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163713:4:22","nodeType":"YulLiteral","src":"163713:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"163707:5:22","nodeType":"YulIdentifier","src":"163707:5:22"},"nativeSrc":"163707:11:22","nodeType":"YulFunctionCall","src":"163707:11:22"},"variableNames":[{"name":"m3","nativeSrc":"163701:2:22","nodeType":"YulIdentifier","src":"163701:2:22"}]},{"nativeSrc":"163731:17:22","nodeType":"YulAssignment","src":"163731:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163743:4:22","nodeType":"YulLiteral","src":"163743:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"163737:5:22","nodeType":"YulIdentifier","src":"163737:5:22"},"nativeSrc":"163737:11:22","nodeType":"YulFunctionCall","src":"163737:11:22"},"variableNames":[{"name":"m4","nativeSrc":"163731:2:22","nodeType":"YulIdentifier","src":"163731:2:22"}]},{"nativeSrc":"163761:17:22","nodeType":"YulAssignment","src":"163761:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163773:4:22","nodeType":"YulLiteral","src":"163773:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"163767:5:22","nodeType":"YulIdentifier","src":"163767:5:22"},"nativeSrc":"163767:11:22","nodeType":"YulFunctionCall","src":"163767:11:22"},"variableNames":[{"name":"m5","nativeSrc":"163761:2:22","nodeType":"YulIdentifier","src":"163761:2:22"}]},{"nativeSrc":"163791:17:22","nodeType":"YulAssignment","src":"163791:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163803:4:22","nodeType":"YulLiteral","src":"163803:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"163797:5:22","nodeType":"YulIdentifier","src":"163797:5:22"},"nativeSrc":"163797:11:22","nodeType":"YulFunctionCall","src":"163797:11:22"},"variableNames":[{"name":"m6","nativeSrc":"163791:2:22","nodeType":"YulIdentifier","src":"163791:2:22"}]},{"nativeSrc":"163821:17:22","nodeType":"YulAssignment","src":"163821:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"163833:4:22","nodeType":"YulLiteral","src":"163833:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"163827:5:22","nodeType":"YulIdentifier","src":"163827:5:22"},"nativeSrc":"163827:11:22","nodeType":"YulFunctionCall","src":"163827:11:22"},"variableNames":[{"name":"m7","nativeSrc":"163821:2:22","nodeType":"YulIdentifier","src":"163821:2:22"}]},{"nativeSrc":"163851:18:22","nodeType":"YulAssignment","src":"163851:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"163863:5:22","nodeType":"YulLiteral","src":"163863:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"163857:5:22","nodeType":"YulIdentifier","src":"163857:5:22"},"nativeSrc":"163857:12:22","nodeType":"YulFunctionCall","src":"163857:12:22"},"variableNames":[{"name":"m8","nativeSrc":"163851:2:22","nodeType":"YulIdentifier","src":"163851:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163954:4:22","nodeType":"YulLiteral","src":"163954:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"163960:10:22","nodeType":"YulLiteral","src":"163960:10:22","type":"","value":"0xa04e2f87"}],"functionName":{"name":"mstore","nativeSrc":"163947:6:22","nodeType":"YulIdentifier","src":"163947:6:22"},"nativeSrc":"163947:24:22","nodeType":"YulFunctionCall","src":"163947:24:22"},"nativeSrc":"163947:24:22","nodeType":"YulExpressionStatement","src":"163947:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163991:4:22","nodeType":"YulLiteral","src":"163991:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"163997:2:22","nodeType":"YulIdentifier","src":"163997:2:22"}],"functionName":{"name":"mstore","nativeSrc":"163984:6:22","nodeType":"YulIdentifier","src":"163984:6:22"},"nativeSrc":"163984:16:22","nodeType":"YulFunctionCall","src":"163984:16:22"},"nativeSrc":"163984:16:22","nodeType":"YulExpressionStatement","src":"163984:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164020:4:22","nodeType":"YulLiteral","src":"164020:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"164026:4:22","nodeType":"YulLiteral","src":"164026:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"164013:6:22","nodeType":"YulIdentifier","src":"164013:6:22"},"nativeSrc":"164013:18:22","nodeType":"YulFunctionCall","src":"164013:18:22"},"nativeSrc":"164013:18:22","nodeType":"YulExpressionStatement","src":"164013:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164051:4:22","nodeType":"YulLiteral","src":"164051:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"164057:4:22","nodeType":"YulLiteral","src":"164057:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"164044:6:22","nodeType":"YulIdentifier","src":"164044:6:22"},"nativeSrc":"164044:18:22","nodeType":"YulFunctionCall","src":"164044:18:22"},"nativeSrc":"164044:18:22","nodeType":"YulExpressionStatement","src":"164044:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164082:4:22","nodeType":"YulLiteral","src":"164082:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"164088:2:22","nodeType":"YulIdentifier","src":"164088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164075:6:22","nodeType":"YulIdentifier","src":"164075:6:22"},"nativeSrc":"164075:16:22","nodeType":"YulFunctionCall","src":"164075:16:22"},"nativeSrc":"164075:16:22","nodeType":"YulExpressionStatement","src":"164075:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164116:4:22","nodeType":"YulLiteral","src":"164116:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"164122:2:22","nodeType":"YulIdentifier","src":"164122:2:22"}],"functionName":{"name":"writeString","nativeSrc":"164104:11:22","nodeType":"YulIdentifier","src":"164104:11:22"},"nativeSrc":"164104:21:22","nodeType":"YulFunctionCall","src":"164104:21:22"},"nativeSrc":"164104:21:22","nodeType":"YulExpressionStatement","src":"164104:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164150:4:22","nodeType":"YulLiteral","src":"164150:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"164156:2:22","nodeType":"YulIdentifier","src":"164156:2:22"}],"functionName":{"name":"writeString","nativeSrc":"164138:11:22","nodeType":"YulIdentifier","src":"164138:11:22"},"nativeSrc":"164138:21:22","nodeType":"YulFunctionCall","src":"164138:21:22"},"nativeSrc":"164138:21:22","nodeType":"YulExpressionStatement","src":"164138:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36471,"isOffset":false,"isSlot":false,"src":"163611:2:22","valueSize":1},{"declaration":36474,"isOffset":false,"isSlot":false,"src":"163641:2:22","valueSize":1},{"declaration":36477,"isOffset":false,"isSlot":false,"src":"163671:2:22","valueSize":1},{"declaration":36480,"isOffset":false,"isSlot":false,"src":"163701:2:22","valueSize":1},{"declaration":36483,"isOffset":false,"isSlot":false,"src":"163731:2:22","valueSize":1},{"declaration":36486,"isOffset":false,"isSlot":false,"src":"163761:2:22","valueSize":1},{"declaration":36489,"isOffset":false,"isSlot":false,"src":"163791:2:22","valueSize":1},{"declaration":36492,"isOffset":false,"isSlot":false,"src":"163821:2:22","valueSize":1},{"declaration":36495,"isOffset":false,"isSlot":false,"src":"163851:2:22","valueSize":1},{"declaration":36461,"isOffset":false,"isSlot":false,"src":"163997:2:22","valueSize":1},{"declaration":36463,"isOffset":false,"isSlot":false,"src":"164122:2:22","valueSize":1},{"declaration":36465,"isOffset":false,"isSlot":false,"src":"164156:2:22","valueSize":1},{"declaration":36467,"isOffset":false,"isSlot":false,"src":"164088:2:22","valueSize":1}],"id":36497,"nodeType":"InlineAssembly","src":"163233:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164194:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164200:5:22","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":36498,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"164178:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"164178:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36502,"nodeType":"ExpressionStatement","src":"164178:28:22"},{"AST":{"nativeSrc":"164268:273:22","nodeType":"YulBlock","src":"164268:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"164289:4:22","nodeType":"YulLiteral","src":"164289:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"164295:2:22","nodeType":"YulIdentifier","src":"164295:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164282:6:22","nodeType":"YulIdentifier","src":"164282:6:22"},"nativeSrc":"164282:16:22","nodeType":"YulFunctionCall","src":"164282:16:22"},"nativeSrc":"164282:16:22","nodeType":"YulExpressionStatement","src":"164282:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164318:4:22","nodeType":"YulLiteral","src":"164318:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"164324:2:22","nodeType":"YulIdentifier","src":"164324:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164311:6:22","nodeType":"YulIdentifier","src":"164311:6:22"},"nativeSrc":"164311:16:22","nodeType":"YulFunctionCall","src":"164311:16:22"},"nativeSrc":"164311:16:22","nodeType":"YulExpressionStatement","src":"164311:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164347:4:22","nodeType":"YulLiteral","src":"164347:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"164353:2:22","nodeType":"YulIdentifier","src":"164353:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164340:6:22","nodeType":"YulIdentifier","src":"164340:6:22"},"nativeSrc":"164340:16:22","nodeType":"YulFunctionCall","src":"164340:16:22"},"nativeSrc":"164340:16:22","nodeType":"YulExpressionStatement","src":"164340:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164376:4:22","nodeType":"YulLiteral","src":"164376:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"164382:2:22","nodeType":"YulIdentifier","src":"164382:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164369:6:22","nodeType":"YulIdentifier","src":"164369:6:22"},"nativeSrc":"164369:16:22","nodeType":"YulFunctionCall","src":"164369:16:22"},"nativeSrc":"164369:16:22","nodeType":"YulExpressionStatement","src":"164369:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164405:4:22","nodeType":"YulLiteral","src":"164405:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"164411:2:22","nodeType":"YulIdentifier","src":"164411:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164398:6:22","nodeType":"YulIdentifier","src":"164398:6:22"},"nativeSrc":"164398:16:22","nodeType":"YulFunctionCall","src":"164398:16:22"},"nativeSrc":"164398:16:22","nodeType":"YulExpressionStatement","src":"164398:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164434:4:22","nodeType":"YulLiteral","src":"164434:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"164440:2:22","nodeType":"YulIdentifier","src":"164440:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164427:6:22","nodeType":"YulIdentifier","src":"164427:6:22"},"nativeSrc":"164427:16:22","nodeType":"YulFunctionCall","src":"164427:16:22"},"nativeSrc":"164427:16:22","nodeType":"YulExpressionStatement","src":"164427:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164463:4:22","nodeType":"YulLiteral","src":"164463:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"164469:2:22","nodeType":"YulIdentifier","src":"164469:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164456:6:22","nodeType":"YulIdentifier","src":"164456:6:22"},"nativeSrc":"164456:16:22","nodeType":"YulFunctionCall","src":"164456:16:22"},"nativeSrc":"164456:16:22","nodeType":"YulExpressionStatement","src":"164456:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164492:4:22","nodeType":"YulLiteral","src":"164492:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"164498:2:22","nodeType":"YulIdentifier","src":"164498:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164485:6:22","nodeType":"YulIdentifier","src":"164485:6:22"},"nativeSrc":"164485:16:22","nodeType":"YulFunctionCall","src":"164485:16:22"},"nativeSrc":"164485:16:22","nodeType":"YulExpressionStatement","src":"164485:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164521:5:22","nodeType":"YulLiteral","src":"164521:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"164528:2:22","nodeType":"YulIdentifier","src":"164528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"164514:6:22","nodeType":"YulIdentifier","src":"164514:6:22"},"nativeSrc":"164514:17:22","nodeType":"YulFunctionCall","src":"164514:17:22"},"nativeSrc":"164514:17:22","nodeType":"YulExpressionStatement","src":"164514:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36471,"isOffset":false,"isSlot":false,"src":"164295:2:22","valueSize":1},{"declaration":36474,"isOffset":false,"isSlot":false,"src":"164324:2:22","valueSize":1},{"declaration":36477,"isOffset":false,"isSlot":false,"src":"164353:2:22","valueSize":1},{"declaration":36480,"isOffset":false,"isSlot":false,"src":"164382:2:22","valueSize":1},{"declaration":36483,"isOffset":false,"isSlot":false,"src":"164411:2:22","valueSize":1},{"declaration":36486,"isOffset":false,"isSlot":false,"src":"164440:2:22","valueSize":1},{"declaration":36489,"isOffset":false,"isSlot":false,"src":"164469:2:22","valueSize":1},{"declaration":36492,"isOffset":false,"isSlot":false,"src":"164498:2:22","valueSize":1},{"declaration":36495,"isOffset":false,"isSlot":false,"src":"164528:2:22","valueSize":1}],"id":36503,"nodeType":"InlineAssembly","src":"164259:282:22"}]},"id":36505,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"162934:3:22","nodeType":"FunctionDefinition","parameters":{"id":36468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36461,"mutability":"mutable","name":"p0","nameLocation":"162946:2:22","nodeType":"VariableDeclaration","scope":36505,"src":"162938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36460,"name":"address","nodeType":"ElementaryTypeName","src":"162938:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36463,"mutability":"mutable","name":"p1","nameLocation":"162958:2:22","nodeType":"VariableDeclaration","scope":36505,"src":"162950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162950:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36465,"mutability":"mutable","name":"p2","nameLocation":"162970:2:22","nodeType":"VariableDeclaration","scope":36505,"src":"162962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36467,"mutability":"mutable","name":"p3","nameLocation":"162982:2:22","nodeType":"VariableDeclaration","scope":36505,"src":"162974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36466,"name":"address","nodeType":"ElementaryTypeName","src":"162974:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"162937:48:22"},"returnParameters":{"id":36469,"nodeType":"ParameterList","parameters":[],"src":"163000:0:22"},"scope":44426,"src":"162925:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36550,"nodeType":"Block","src":"164625:1544:22","statements":[{"assignments":[36517],"declarations":[{"constant":false,"id":36517,"mutability":"mutable","name":"m0","nameLocation":"164643:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164635:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164635:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36518,"nodeType":"VariableDeclarationStatement","src":"164635:10:22"},{"assignments":[36520],"declarations":[{"constant":false,"id":36520,"mutability":"mutable","name":"m1","nameLocation":"164663:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164655:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36521,"nodeType":"VariableDeclarationStatement","src":"164655:10:22"},{"assignments":[36523],"declarations":[{"constant":false,"id":36523,"mutability":"mutable","name":"m2","nameLocation":"164683:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164675:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164675:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36524,"nodeType":"VariableDeclarationStatement","src":"164675:10:22"},{"assignments":[36526],"declarations":[{"constant":false,"id":36526,"mutability":"mutable","name":"m3","nameLocation":"164703:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164695:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36527,"nodeType":"VariableDeclarationStatement","src":"164695:10:22"},{"assignments":[36529],"declarations":[{"constant":false,"id":36529,"mutability":"mutable","name":"m4","nameLocation":"164723:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36530,"nodeType":"VariableDeclarationStatement","src":"164715:10:22"},{"assignments":[36532],"declarations":[{"constant":false,"id":36532,"mutability":"mutable","name":"m5","nameLocation":"164743:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164735:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36533,"nodeType":"VariableDeclarationStatement","src":"164735:10:22"},{"assignments":[36535],"declarations":[{"constant":false,"id":36535,"mutability":"mutable","name":"m6","nameLocation":"164763:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36536,"nodeType":"VariableDeclarationStatement","src":"164755:10:22"},{"assignments":[36538],"declarations":[{"constant":false,"id":36538,"mutability":"mutable","name":"m7","nameLocation":"164783:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164775:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36539,"nodeType":"VariableDeclarationStatement","src":"164775:10:22"},{"assignments":[36541],"declarations":[{"constant":false,"id":36541,"mutability":"mutable","name":"m8","nameLocation":"164803:2:22","nodeType":"VariableDeclaration","scope":36550,"src":"164795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164795:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36542,"nodeType":"VariableDeclarationStatement","src":"164795:10:22"},{"AST":{"nativeSrc":"164867:924:22","nodeType":"YulBlock","src":"164867:924:22","statements":[{"body":{"nativeSrc":"164910:313:22","nodeType":"YulBlock","src":"164910:313:22","statements":[{"nativeSrc":"164928:15:22","nodeType":"YulVariableDeclaration","src":"164928:15:22","value":{"kind":"number","nativeSrc":"164942:1:22","nodeType":"YulLiteral","src":"164942:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"164932:6:22","nodeType":"YulTypedName","src":"164932:6:22","type":""}]},{"body":{"nativeSrc":"165013:40:22","nodeType":"YulBlock","src":"165013:40:22","statements":[{"body":{"nativeSrc":"165042:9:22","nodeType":"YulBlock","src":"165042:9:22","statements":[{"nativeSrc":"165044:5:22","nodeType":"YulBreak","src":"165044:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"165030:6:22","nodeType":"YulIdentifier","src":"165030:6:22"},{"name":"w","nativeSrc":"165038:1:22","nodeType":"YulIdentifier","src":"165038:1:22"}],"functionName":{"name":"byte","nativeSrc":"165025:4:22","nodeType":"YulIdentifier","src":"165025:4:22"},"nativeSrc":"165025:15:22","nodeType":"YulFunctionCall","src":"165025:15:22"}],"functionName":{"name":"iszero","nativeSrc":"165018:6:22","nodeType":"YulIdentifier","src":"165018:6:22"},"nativeSrc":"165018:23:22","nodeType":"YulFunctionCall","src":"165018:23:22"},"nativeSrc":"165015:36:22","nodeType":"YulIf","src":"165015:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"164970:6:22","nodeType":"YulIdentifier","src":"164970:6:22"},{"kind":"number","nativeSrc":"164978:4:22","nodeType":"YulLiteral","src":"164978:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"164967:2:22","nodeType":"YulIdentifier","src":"164967:2:22"},"nativeSrc":"164967:16:22","nodeType":"YulFunctionCall","src":"164967:16:22"},"nativeSrc":"164960:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"164984:28:22","nodeType":"YulBlock","src":"164984:28:22","statements":[{"nativeSrc":"164986:24:22","nodeType":"YulAssignment","src":"164986:24:22","value":{"arguments":[{"name":"length","nativeSrc":"165000:6:22","nodeType":"YulIdentifier","src":"165000:6:22"},{"kind":"number","nativeSrc":"165008:1:22","nodeType":"YulLiteral","src":"165008:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"164996:3:22","nodeType":"YulIdentifier","src":"164996:3:22"},"nativeSrc":"164996:14:22","nodeType":"YulFunctionCall","src":"164996:14:22"},"variableNames":[{"name":"length","nativeSrc":"164986:6:22","nodeType":"YulIdentifier","src":"164986:6:22"}]}]},"pre":{"nativeSrc":"164964:2:22","nodeType":"YulBlock","src":"164964:2:22","statements":[]},"src":"164960:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"165077:3:22","nodeType":"YulIdentifier","src":"165077:3:22"},{"name":"length","nativeSrc":"165082:6:22","nodeType":"YulIdentifier","src":"165082:6:22"}],"functionName":{"name":"mstore","nativeSrc":"165070:6:22","nodeType":"YulIdentifier","src":"165070:6:22"},"nativeSrc":"165070:19:22","nodeType":"YulFunctionCall","src":"165070:19:22"},"nativeSrc":"165070:19:22","nodeType":"YulExpressionStatement","src":"165070:19:22"},{"nativeSrc":"165106:37:22","nodeType":"YulVariableDeclaration","src":"165106:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"165123:3:22","nodeType":"YulLiteral","src":"165123:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"165132:1:22","nodeType":"YulLiteral","src":"165132:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"165135:6:22","nodeType":"YulIdentifier","src":"165135:6:22"}],"functionName":{"name":"shl","nativeSrc":"165128:3:22","nodeType":"YulIdentifier","src":"165128:3:22"},"nativeSrc":"165128:14:22","nodeType":"YulFunctionCall","src":"165128:14:22"}],"functionName":{"name":"sub","nativeSrc":"165119:3:22","nodeType":"YulIdentifier","src":"165119:3:22"},"nativeSrc":"165119:24:22","nodeType":"YulFunctionCall","src":"165119:24:22"},"variables":[{"name":"shift","nativeSrc":"165110:5:22","nodeType":"YulTypedName","src":"165110:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"165171:3:22","nodeType":"YulIdentifier","src":"165171:3:22"},{"kind":"number","nativeSrc":"165176:4:22","nodeType":"YulLiteral","src":"165176:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"165167:3:22","nodeType":"YulIdentifier","src":"165167:3:22"},"nativeSrc":"165167:14:22","nodeType":"YulFunctionCall","src":"165167:14:22"},{"arguments":[{"name":"shift","nativeSrc":"165187:5:22","nodeType":"YulIdentifier","src":"165187:5:22"},{"arguments":[{"name":"shift","nativeSrc":"165198:5:22","nodeType":"YulIdentifier","src":"165198:5:22"},{"name":"w","nativeSrc":"165205:1:22","nodeType":"YulIdentifier","src":"165205:1:22"}],"functionName":{"name":"shr","nativeSrc":"165194:3:22","nodeType":"YulIdentifier","src":"165194:3:22"},"nativeSrc":"165194:13:22","nodeType":"YulFunctionCall","src":"165194:13:22"}],"functionName":{"name":"shl","nativeSrc":"165183:3:22","nodeType":"YulIdentifier","src":"165183:3:22"},"nativeSrc":"165183:25:22","nodeType":"YulFunctionCall","src":"165183:25:22"}],"functionName":{"name":"mstore","nativeSrc":"165160:6:22","nodeType":"YulIdentifier","src":"165160:6:22"},"nativeSrc":"165160:49:22","nodeType":"YulFunctionCall","src":"165160:49:22"},"nativeSrc":"165160:49:22","nodeType":"YulExpressionStatement","src":"165160:49:22"}]},"name":"writeString","nativeSrc":"164881:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"164902:3:22","nodeType":"YulTypedName","src":"164902:3:22","type":""},{"name":"w","nativeSrc":"164907:1:22","nodeType":"YulTypedName","src":"164907:1:22","type":""}],"src":"164881:342:22"},{"nativeSrc":"165236:17:22","nodeType":"YulAssignment","src":"165236:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165248:4:22","nodeType":"YulLiteral","src":"165248:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"165242:5:22","nodeType":"YulIdentifier","src":"165242:5:22"},"nativeSrc":"165242:11:22","nodeType":"YulFunctionCall","src":"165242:11:22"},"variableNames":[{"name":"m0","nativeSrc":"165236:2:22","nodeType":"YulIdentifier","src":"165236:2:22"}]},{"nativeSrc":"165266:17:22","nodeType":"YulAssignment","src":"165266:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165278:4:22","nodeType":"YulLiteral","src":"165278:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"165272:5:22","nodeType":"YulIdentifier","src":"165272:5:22"},"nativeSrc":"165272:11:22","nodeType":"YulFunctionCall","src":"165272:11:22"},"variableNames":[{"name":"m1","nativeSrc":"165266:2:22","nodeType":"YulIdentifier","src":"165266:2:22"}]},{"nativeSrc":"165296:17:22","nodeType":"YulAssignment","src":"165296:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165308:4:22","nodeType":"YulLiteral","src":"165308:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"165302:5:22","nodeType":"YulIdentifier","src":"165302:5:22"},"nativeSrc":"165302:11:22","nodeType":"YulFunctionCall","src":"165302:11:22"},"variableNames":[{"name":"m2","nativeSrc":"165296:2:22","nodeType":"YulIdentifier","src":"165296:2:22"}]},{"nativeSrc":"165326:17:22","nodeType":"YulAssignment","src":"165326:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165338:4:22","nodeType":"YulLiteral","src":"165338:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"165332:5:22","nodeType":"YulIdentifier","src":"165332:5:22"},"nativeSrc":"165332:11:22","nodeType":"YulFunctionCall","src":"165332:11:22"},"variableNames":[{"name":"m3","nativeSrc":"165326:2:22","nodeType":"YulIdentifier","src":"165326:2:22"}]},{"nativeSrc":"165356:17:22","nodeType":"YulAssignment","src":"165356:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165368:4:22","nodeType":"YulLiteral","src":"165368:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"165362:5:22","nodeType":"YulIdentifier","src":"165362:5:22"},"nativeSrc":"165362:11:22","nodeType":"YulFunctionCall","src":"165362:11:22"},"variableNames":[{"name":"m4","nativeSrc":"165356:2:22","nodeType":"YulIdentifier","src":"165356:2:22"}]},{"nativeSrc":"165386:17:22","nodeType":"YulAssignment","src":"165386:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165398:4:22","nodeType":"YulLiteral","src":"165398:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"165392:5:22","nodeType":"YulIdentifier","src":"165392:5:22"},"nativeSrc":"165392:11:22","nodeType":"YulFunctionCall","src":"165392:11:22"},"variableNames":[{"name":"m5","nativeSrc":"165386:2:22","nodeType":"YulIdentifier","src":"165386:2:22"}]},{"nativeSrc":"165416:17:22","nodeType":"YulAssignment","src":"165416:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165428:4:22","nodeType":"YulLiteral","src":"165428:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"165422:5:22","nodeType":"YulIdentifier","src":"165422:5:22"},"nativeSrc":"165422:11:22","nodeType":"YulFunctionCall","src":"165422:11:22"},"variableNames":[{"name":"m6","nativeSrc":"165416:2:22","nodeType":"YulIdentifier","src":"165416:2:22"}]},{"nativeSrc":"165446:17:22","nodeType":"YulAssignment","src":"165446:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"165458:4:22","nodeType":"YulLiteral","src":"165458:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"165452:5:22","nodeType":"YulIdentifier","src":"165452:5:22"},"nativeSrc":"165452:11:22","nodeType":"YulFunctionCall","src":"165452:11:22"},"variableNames":[{"name":"m7","nativeSrc":"165446:2:22","nodeType":"YulIdentifier","src":"165446:2:22"}]},{"nativeSrc":"165476:18:22","nodeType":"YulAssignment","src":"165476:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"165488:5:22","nodeType":"YulLiteral","src":"165488:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"165482:5:22","nodeType":"YulIdentifier","src":"165482:5:22"},"nativeSrc":"165482:12:22","nodeType":"YulFunctionCall","src":"165482:12:22"},"variableNames":[{"name":"m8","nativeSrc":"165476:2:22","nodeType":"YulIdentifier","src":"165476:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165576:4:22","nodeType":"YulLiteral","src":"165576:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"165582:10:22","nodeType":"YulLiteral","src":"165582:10:22","type":"","value":"0x35a5071f"}],"functionName":{"name":"mstore","nativeSrc":"165569:6:22","nodeType":"YulIdentifier","src":"165569:6:22"},"nativeSrc":"165569:24:22","nodeType":"YulFunctionCall","src":"165569:24:22"},"nativeSrc":"165569:24:22","nodeType":"YulExpressionStatement","src":"165569:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165613:4:22","nodeType":"YulLiteral","src":"165613:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"165619:2:22","nodeType":"YulIdentifier","src":"165619:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165606:6:22","nodeType":"YulIdentifier","src":"165606:6:22"},"nativeSrc":"165606:16:22","nodeType":"YulFunctionCall","src":"165606:16:22"},"nativeSrc":"165606:16:22","nodeType":"YulExpressionStatement","src":"165606:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165642:4:22","nodeType":"YulLiteral","src":"165642:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"165648:4:22","nodeType":"YulLiteral","src":"165648:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"165635:6:22","nodeType":"YulIdentifier","src":"165635:6:22"},"nativeSrc":"165635:18:22","nodeType":"YulFunctionCall","src":"165635:18:22"},"nativeSrc":"165635:18:22","nodeType":"YulExpressionStatement","src":"165635:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165673:4:22","nodeType":"YulLiteral","src":"165673:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"165679:4:22","nodeType":"YulLiteral","src":"165679:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"165666:6:22","nodeType":"YulIdentifier","src":"165666:6:22"},"nativeSrc":"165666:18:22","nodeType":"YulFunctionCall","src":"165666:18:22"},"nativeSrc":"165666:18:22","nodeType":"YulExpressionStatement","src":"165666:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165704:4:22","nodeType":"YulLiteral","src":"165704:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"165710:2:22","nodeType":"YulIdentifier","src":"165710:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165697:6:22","nodeType":"YulIdentifier","src":"165697:6:22"},"nativeSrc":"165697:16:22","nodeType":"YulFunctionCall","src":"165697:16:22"},"nativeSrc":"165697:16:22","nodeType":"YulExpressionStatement","src":"165697:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165738:4:22","nodeType":"YulLiteral","src":"165738:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"165744:2:22","nodeType":"YulIdentifier","src":"165744:2:22"}],"functionName":{"name":"writeString","nativeSrc":"165726:11:22","nodeType":"YulIdentifier","src":"165726:11:22"},"nativeSrc":"165726:21:22","nodeType":"YulFunctionCall","src":"165726:21:22"},"nativeSrc":"165726:21:22","nodeType":"YulExpressionStatement","src":"165726:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165772:4:22","nodeType":"YulLiteral","src":"165772:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"165778:2:22","nodeType":"YulIdentifier","src":"165778:2:22"}],"functionName":{"name":"writeString","nativeSrc":"165760:11:22","nodeType":"YulIdentifier","src":"165760:11:22"},"nativeSrc":"165760:21:22","nodeType":"YulFunctionCall","src":"165760:21:22"},"nativeSrc":"165760:21:22","nodeType":"YulExpressionStatement","src":"165760:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36517,"isOffset":false,"isSlot":false,"src":"165236:2:22","valueSize":1},{"declaration":36520,"isOffset":false,"isSlot":false,"src":"165266:2:22","valueSize":1},{"declaration":36523,"isOffset":false,"isSlot":false,"src":"165296:2:22","valueSize":1},{"declaration":36526,"isOffset":false,"isSlot":false,"src":"165326:2:22","valueSize":1},{"declaration":36529,"isOffset":false,"isSlot":false,"src":"165356:2:22","valueSize":1},{"declaration":36532,"isOffset":false,"isSlot":false,"src":"165386:2:22","valueSize":1},{"declaration":36535,"isOffset":false,"isSlot":false,"src":"165416:2:22","valueSize":1},{"declaration":36538,"isOffset":false,"isSlot":false,"src":"165446:2:22","valueSize":1},{"declaration":36541,"isOffset":false,"isSlot":false,"src":"165476:2:22","valueSize":1},{"declaration":36507,"isOffset":false,"isSlot":false,"src":"165619:2:22","valueSize":1},{"declaration":36509,"isOffset":false,"isSlot":false,"src":"165744:2:22","valueSize":1},{"declaration":36511,"isOffset":false,"isSlot":false,"src":"165778:2:22","valueSize":1},{"declaration":36513,"isOffset":false,"isSlot":false,"src":"165710:2:22","valueSize":1}],"id":36543,"nodeType":"InlineAssembly","src":"164858:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165816:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165822:5:22","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":36544,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"165800:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"165800:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36548,"nodeType":"ExpressionStatement","src":"165800:28:22"},{"AST":{"nativeSrc":"165890:273:22","nodeType":"YulBlock","src":"165890:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"165911:4:22","nodeType":"YulLiteral","src":"165911:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"165917:2:22","nodeType":"YulIdentifier","src":"165917:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165904:6:22","nodeType":"YulIdentifier","src":"165904:6:22"},"nativeSrc":"165904:16:22","nodeType":"YulFunctionCall","src":"165904:16:22"},"nativeSrc":"165904:16:22","nodeType":"YulExpressionStatement","src":"165904:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165940:4:22","nodeType":"YulLiteral","src":"165940:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"165946:2:22","nodeType":"YulIdentifier","src":"165946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165933:6:22","nodeType":"YulIdentifier","src":"165933:6:22"},"nativeSrc":"165933:16:22","nodeType":"YulFunctionCall","src":"165933:16:22"},"nativeSrc":"165933:16:22","nodeType":"YulExpressionStatement","src":"165933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165969:4:22","nodeType":"YulLiteral","src":"165969:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"165975:2:22","nodeType":"YulIdentifier","src":"165975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165962:6:22","nodeType":"YulIdentifier","src":"165962:6:22"},"nativeSrc":"165962:16:22","nodeType":"YulFunctionCall","src":"165962:16:22"},"nativeSrc":"165962:16:22","nodeType":"YulExpressionStatement","src":"165962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165998:4:22","nodeType":"YulLiteral","src":"165998:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"166004:2:22","nodeType":"YulIdentifier","src":"166004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"165991:6:22","nodeType":"YulIdentifier","src":"165991:6:22"},"nativeSrc":"165991:16:22","nodeType":"YulFunctionCall","src":"165991:16:22"},"nativeSrc":"165991:16:22","nodeType":"YulExpressionStatement","src":"165991:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166027:4:22","nodeType":"YulLiteral","src":"166027:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"166033:2:22","nodeType":"YulIdentifier","src":"166033:2:22"}],"functionName":{"name":"mstore","nativeSrc":"166020:6:22","nodeType":"YulIdentifier","src":"166020:6:22"},"nativeSrc":"166020:16:22","nodeType":"YulFunctionCall","src":"166020:16:22"},"nativeSrc":"166020:16:22","nodeType":"YulExpressionStatement","src":"166020:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166056:4:22","nodeType":"YulLiteral","src":"166056:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"166062:2:22","nodeType":"YulIdentifier","src":"166062:2:22"}],"functionName":{"name":"mstore","nativeSrc":"166049:6:22","nodeType":"YulIdentifier","src":"166049:6:22"},"nativeSrc":"166049:16:22","nodeType":"YulFunctionCall","src":"166049:16:22"},"nativeSrc":"166049:16:22","nodeType":"YulExpressionStatement","src":"166049:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166085:4:22","nodeType":"YulLiteral","src":"166085:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"166091:2:22","nodeType":"YulIdentifier","src":"166091:2:22"}],"functionName":{"name":"mstore","nativeSrc":"166078:6:22","nodeType":"YulIdentifier","src":"166078:6:22"},"nativeSrc":"166078:16:22","nodeType":"YulFunctionCall","src":"166078:16:22"},"nativeSrc":"166078:16:22","nodeType":"YulExpressionStatement","src":"166078:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166114:4:22","nodeType":"YulLiteral","src":"166114:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"166120:2:22","nodeType":"YulIdentifier","src":"166120:2:22"}],"functionName":{"name":"mstore","nativeSrc":"166107:6:22","nodeType":"YulIdentifier","src":"166107:6:22"},"nativeSrc":"166107:16:22","nodeType":"YulFunctionCall","src":"166107:16:22"},"nativeSrc":"166107:16:22","nodeType":"YulExpressionStatement","src":"166107:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166143:5:22","nodeType":"YulLiteral","src":"166143:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"166150:2:22","nodeType":"YulIdentifier","src":"166150:2:22"}],"functionName":{"name":"mstore","nativeSrc":"166136:6:22","nodeType":"YulIdentifier","src":"166136:6:22"},"nativeSrc":"166136:17:22","nodeType":"YulFunctionCall","src":"166136:17:22"},"nativeSrc":"166136:17:22","nodeType":"YulExpressionStatement","src":"166136:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36517,"isOffset":false,"isSlot":false,"src":"165917:2:22","valueSize":1},{"declaration":36520,"isOffset":false,"isSlot":false,"src":"165946:2:22","valueSize":1},{"declaration":36523,"isOffset":false,"isSlot":false,"src":"165975:2:22","valueSize":1},{"declaration":36526,"isOffset":false,"isSlot":false,"src":"166004:2:22","valueSize":1},{"declaration":36529,"isOffset":false,"isSlot":false,"src":"166033:2:22","valueSize":1},{"declaration":36532,"isOffset":false,"isSlot":false,"src":"166062:2:22","valueSize":1},{"declaration":36535,"isOffset":false,"isSlot":false,"src":"166091:2:22","valueSize":1},{"declaration":36538,"isOffset":false,"isSlot":false,"src":"166120:2:22","valueSize":1},{"declaration":36541,"isOffset":false,"isSlot":false,"src":"166150:2:22","valueSize":1}],"id":36549,"nodeType":"InlineAssembly","src":"165881:282:22"}]},"id":36551,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"164562:3:22","nodeType":"FunctionDefinition","parameters":{"id":36514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36507,"mutability":"mutable","name":"p0","nameLocation":"164574:2:22","nodeType":"VariableDeclaration","scope":36551,"src":"164566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36506,"name":"address","nodeType":"ElementaryTypeName","src":"164566:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36509,"mutability":"mutable","name":"p1","nameLocation":"164586:2:22","nodeType":"VariableDeclaration","scope":36551,"src":"164578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36511,"mutability":"mutable","name":"p2","nameLocation":"164598:2:22","nodeType":"VariableDeclaration","scope":36551,"src":"164590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164590:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36513,"mutability":"mutable","name":"p3","nameLocation":"164607:2:22","nodeType":"VariableDeclaration","scope":36551,"src":"164602:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36512,"name":"bool","nodeType":"ElementaryTypeName","src":"164602:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"164565:45:22"},"returnParameters":{"id":36515,"nodeType":"ParameterList","parameters":[],"src":"164625:0:22"},"scope":44426,"src":"164553:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36596,"nodeType":"Block","src":"166250:1547:22","statements":[{"assignments":[36563],"declarations":[{"constant":false,"id":36563,"mutability":"mutable","name":"m0","nameLocation":"166268:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166260:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166260:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36564,"nodeType":"VariableDeclarationStatement","src":"166260:10:22"},{"assignments":[36566],"declarations":[{"constant":false,"id":36566,"mutability":"mutable","name":"m1","nameLocation":"166288:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36567,"nodeType":"VariableDeclarationStatement","src":"166280:10:22"},{"assignments":[36569],"declarations":[{"constant":false,"id":36569,"mutability":"mutable","name":"m2","nameLocation":"166308:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36570,"nodeType":"VariableDeclarationStatement","src":"166300:10:22"},{"assignments":[36572],"declarations":[{"constant":false,"id":36572,"mutability":"mutable","name":"m3","nameLocation":"166328:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166320:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166320:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36573,"nodeType":"VariableDeclarationStatement","src":"166320:10:22"},{"assignments":[36575],"declarations":[{"constant":false,"id":36575,"mutability":"mutable","name":"m4","nameLocation":"166348:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36576,"nodeType":"VariableDeclarationStatement","src":"166340:10:22"},{"assignments":[36578],"declarations":[{"constant":false,"id":36578,"mutability":"mutable","name":"m5","nameLocation":"166368:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166360:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36579,"nodeType":"VariableDeclarationStatement","src":"166360:10:22"},{"assignments":[36581],"declarations":[{"constant":false,"id":36581,"mutability":"mutable","name":"m6","nameLocation":"166388:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166380:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166380:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36582,"nodeType":"VariableDeclarationStatement","src":"166380:10:22"},{"assignments":[36584],"declarations":[{"constant":false,"id":36584,"mutability":"mutable","name":"m7","nameLocation":"166408:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166400:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166400:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36585,"nodeType":"VariableDeclarationStatement","src":"166400:10:22"},{"assignments":[36587],"declarations":[{"constant":false,"id":36587,"mutability":"mutable","name":"m8","nameLocation":"166428:2:22","nodeType":"VariableDeclaration","scope":36596,"src":"166420:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166420:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36588,"nodeType":"VariableDeclarationStatement","src":"166420:10:22"},{"AST":{"nativeSrc":"166492:927:22","nodeType":"YulBlock","src":"166492:927:22","statements":[{"body":{"nativeSrc":"166535:313:22","nodeType":"YulBlock","src":"166535:313:22","statements":[{"nativeSrc":"166553:15:22","nodeType":"YulVariableDeclaration","src":"166553:15:22","value":{"kind":"number","nativeSrc":"166567:1:22","nodeType":"YulLiteral","src":"166567:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"166557:6:22","nodeType":"YulTypedName","src":"166557:6:22","type":""}]},{"body":{"nativeSrc":"166638:40:22","nodeType":"YulBlock","src":"166638:40:22","statements":[{"body":{"nativeSrc":"166667:9:22","nodeType":"YulBlock","src":"166667:9:22","statements":[{"nativeSrc":"166669:5:22","nodeType":"YulBreak","src":"166669:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"166655:6:22","nodeType":"YulIdentifier","src":"166655:6:22"},{"name":"w","nativeSrc":"166663:1:22","nodeType":"YulIdentifier","src":"166663:1:22"}],"functionName":{"name":"byte","nativeSrc":"166650:4:22","nodeType":"YulIdentifier","src":"166650:4:22"},"nativeSrc":"166650:15:22","nodeType":"YulFunctionCall","src":"166650:15:22"}],"functionName":{"name":"iszero","nativeSrc":"166643:6:22","nodeType":"YulIdentifier","src":"166643:6:22"},"nativeSrc":"166643:23:22","nodeType":"YulFunctionCall","src":"166643:23:22"},"nativeSrc":"166640:36:22","nodeType":"YulIf","src":"166640:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"166595:6:22","nodeType":"YulIdentifier","src":"166595:6:22"},{"kind":"number","nativeSrc":"166603:4:22","nodeType":"YulLiteral","src":"166603:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"166592:2:22","nodeType":"YulIdentifier","src":"166592:2:22"},"nativeSrc":"166592:16:22","nodeType":"YulFunctionCall","src":"166592:16:22"},"nativeSrc":"166585:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"166609:28:22","nodeType":"YulBlock","src":"166609:28:22","statements":[{"nativeSrc":"166611:24:22","nodeType":"YulAssignment","src":"166611:24:22","value":{"arguments":[{"name":"length","nativeSrc":"166625:6:22","nodeType":"YulIdentifier","src":"166625:6:22"},{"kind":"number","nativeSrc":"166633:1:22","nodeType":"YulLiteral","src":"166633:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"166621:3:22","nodeType":"YulIdentifier","src":"166621:3:22"},"nativeSrc":"166621:14:22","nodeType":"YulFunctionCall","src":"166621:14:22"},"variableNames":[{"name":"length","nativeSrc":"166611:6:22","nodeType":"YulIdentifier","src":"166611:6:22"}]}]},"pre":{"nativeSrc":"166589:2:22","nodeType":"YulBlock","src":"166589:2:22","statements":[]},"src":"166585:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"166702:3:22","nodeType":"YulIdentifier","src":"166702:3:22"},{"name":"length","nativeSrc":"166707:6:22","nodeType":"YulIdentifier","src":"166707:6:22"}],"functionName":{"name":"mstore","nativeSrc":"166695:6:22","nodeType":"YulIdentifier","src":"166695:6:22"},"nativeSrc":"166695:19:22","nodeType":"YulFunctionCall","src":"166695:19:22"},"nativeSrc":"166695:19:22","nodeType":"YulExpressionStatement","src":"166695:19:22"},{"nativeSrc":"166731:37:22","nodeType":"YulVariableDeclaration","src":"166731:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"166748:3:22","nodeType":"YulLiteral","src":"166748:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"166757:1:22","nodeType":"YulLiteral","src":"166757:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"166760:6:22","nodeType":"YulIdentifier","src":"166760:6:22"}],"functionName":{"name":"shl","nativeSrc":"166753:3:22","nodeType":"YulIdentifier","src":"166753:3:22"},"nativeSrc":"166753:14:22","nodeType":"YulFunctionCall","src":"166753:14:22"}],"functionName":{"name":"sub","nativeSrc":"166744:3:22","nodeType":"YulIdentifier","src":"166744:3:22"},"nativeSrc":"166744:24:22","nodeType":"YulFunctionCall","src":"166744:24:22"},"variables":[{"name":"shift","nativeSrc":"166735:5:22","nodeType":"YulTypedName","src":"166735:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"166796:3:22","nodeType":"YulIdentifier","src":"166796:3:22"},{"kind":"number","nativeSrc":"166801:4:22","nodeType":"YulLiteral","src":"166801:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"166792:3:22","nodeType":"YulIdentifier","src":"166792:3:22"},"nativeSrc":"166792:14:22","nodeType":"YulFunctionCall","src":"166792:14:22"},{"arguments":[{"name":"shift","nativeSrc":"166812:5:22","nodeType":"YulIdentifier","src":"166812:5:22"},{"arguments":[{"name":"shift","nativeSrc":"166823:5:22","nodeType":"YulIdentifier","src":"166823:5:22"},{"name":"w","nativeSrc":"166830:1:22","nodeType":"YulIdentifier","src":"166830:1:22"}],"functionName":{"name":"shr","nativeSrc":"166819:3:22","nodeType":"YulIdentifier","src":"166819:3:22"},"nativeSrc":"166819:13:22","nodeType":"YulFunctionCall","src":"166819:13:22"}],"functionName":{"name":"shl","nativeSrc":"166808:3:22","nodeType":"YulIdentifier","src":"166808:3:22"},"nativeSrc":"166808:25:22","nodeType":"YulFunctionCall","src":"166808:25:22"}],"functionName":{"name":"mstore","nativeSrc":"166785:6:22","nodeType":"YulIdentifier","src":"166785:6:22"},"nativeSrc":"166785:49:22","nodeType":"YulFunctionCall","src":"166785:49:22"},"nativeSrc":"166785:49:22","nodeType":"YulExpressionStatement","src":"166785:49:22"}]},"name":"writeString","nativeSrc":"166506:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"166527:3:22","nodeType":"YulTypedName","src":"166527:3:22","type":""},{"name":"w","nativeSrc":"166532:1:22","nodeType":"YulTypedName","src":"166532:1:22","type":""}],"src":"166506:342:22"},{"nativeSrc":"166861:17:22","nodeType":"YulAssignment","src":"166861:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"166873:4:22","nodeType":"YulLiteral","src":"166873:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"166867:5:22","nodeType":"YulIdentifier","src":"166867:5:22"},"nativeSrc":"166867:11:22","nodeType":"YulFunctionCall","src":"166867:11:22"},"variableNames":[{"name":"m0","nativeSrc":"166861:2:22","nodeType":"YulIdentifier","src":"166861:2:22"}]},{"nativeSrc":"166891:17:22","nodeType":"YulAssignment","src":"166891:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"166903:4:22","nodeType":"YulLiteral","src":"166903:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"166897:5:22","nodeType":"YulIdentifier","src":"166897:5:22"},"nativeSrc":"166897:11:22","nodeType":"YulFunctionCall","src":"166897:11:22"},"variableNames":[{"name":"m1","nativeSrc":"166891:2:22","nodeType":"YulIdentifier","src":"166891:2:22"}]},{"nativeSrc":"166921:17:22","nodeType":"YulAssignment","src":"166921:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"166933:4:22","nodeType":"YulLiteral","src":"166933:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"166927:5:22","nodeType":"YulIdentifier","src":"166927:5:22"},"nativeSrc":"166927:11:22","nodeType":"YulFunctionCall","src":"166927:11:22"},"variableNames":[{"name":"m2","nativeSrc":"166921:2:22","nodeType":"YulIdentifier","src":"166921:2:22"}]},{"nativeSrc":"166951:17:22","nodeType":"YulAssignment","src":"166951:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"166963:4:22","nodeType":"YulLiteral","src":"166963:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"166957:5:22","nodeType":"YulIdentifier","src":"166957:5:22"},"nativeSrc":"166957:11:22","nodeType":"YulFunctionCall","src":"166957:11:22"},"variableNames":[{"name":"m3","nativeSrc":"166951:2:22","nodeType":"YulIdentifier","src":"166951:2:22"}]},{"nativeSrc":"166981:17:22","nodeType":"YulAssignment","src":"166981:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"166993:4:22","nodeType":"YulLiteral","src":"166993:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"166987:5:22","nodeType":"YulIdentifier","src":"166987:5:22"},"nativeSrc":"166987:11:22","nodeType":"YulFunctionCall","src":"166987:11:22"},"variableNames":[{"name":"m4","nativeSrc":"166981:2:22","nodeType":"YulIdentifier","src":"166981:2:22"}]},{"nativeSrc":"167011:17:22","nodeType":"YulAssignment","src":"167011:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"167023:4:22","nodeType":"YulLiteral","src":"167023:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"167017:5:22","nodeType":"YulIdentifier","src":"167017:5:22"},"nativeSrc":"167017:11:22","nodeType":"YulFunctionCall","src":"167017:11:22"},"variableNames":[{"name":"m5","nativeSrc":"167011:2:22","nodeType":"YulIdentifier","src":"167011:2:22"}]},{"nativeSrc":"167041:17:22","nodeType":"YulAssignment","src":"167041:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"167053:4:22","nodeType":"YulLiteral","src":"167053:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"167047:5:22","nodeType":"YulIdentifier","src":"167047:5:22"},"nativeSrc":"167047:11:22","nodeType":"YulFunctionCall","src":"167047:11:22"},"variableNames":[{"name":"m6","nativeSrc":"167041:2:22","nodeType":"YulIdentifier","src":"167041:2:22"}]},{"nativeSrc":"167071:17:22","nodeType":"YulAssignment","src":"167071:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"167083:4:22","nodeType":"YulLiteral","src":"167083:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"167077:5:22","nodeType":"YulIdentifier","src":"167077:5:22"},"nativeSrc":"167077:11:22","nodeType":"YulFunctionCall","src":"167077:11:22"},"variableNames":[{"name":"m7","nativeSrc":"167071:2:22","nodeType":"YulIdentifier","src":"167071:2:22"}]},{"nativeSrc":"167101:18:22","nodeType":"YulAssignment","src":"167101:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"167113:5:22","nodeType":"YulLiteral","src":"167113:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"167107:5:22","nodeType":"YulIdentifier","src":"167107:5:22"},"nativeSrc":"167107:12:22","nodeType":"YulFunctionCall","src":"167107:12:22"},"variableNames":[{"name":"m8","nativeSrc":"167101:2:22","nodeType":"YulIdentifier","src":"167101:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167204:4:22","nodeType":"YulLiteral","src":"167204:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"167210:10:22","nodeType":"YulLiteral","src":"167210:10:22","type":"","value":"0x159f8927"}],"functionName":{"name":"mstore","nativeSrc":"167197:6:22","nodeType":"YulIdentifier","src":"167197:6:22"},"nativeSrc":"167197:24:22","nodeType":"YulFunctionCall","src":"167197:24:22"},"nativeSrc":"167197:24:22","nodeType":"YulExpressionStatement","src":"167197:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167241:4:22","nodeType":"YulLiteral","src":"167241:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"167247:2:22","nodeType":"YulIdentifier","src":"167247:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167234:6:22","nodeType":"YulIdentifier","src":"167234:6:22"},"nativeSrc":"167234:16:22","nodeType":"YulFunctionCall","src":"167234:16:22"},"nativeSrc":"167234:16:22","nodeType":"YulExpressionStatement","src":"167234:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167270:4:22","nodeType":"YulLiteral","src":"167270:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"167276:4:22","nodeType":"YulLiteral","src":"167276:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"167263:6:22","nodeType":"YulIdentifier","src":"167263:6:22"},"nativeSrc":"167263:18:22","nodeType":"YulFunctionCall","src":"167263:18:22"},"nativeSrc":"167263:18:22","nodeType":"YulExpressionStatement","src":"167263:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167301:4:22","nodeType":"YulLiteral","src":"167301:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"167307:4:22","nodeType":"YulLiteral","src":"167307:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"167294:6:22","nodeType":"YulIdentifier","src":"167294:6:22"},"nativeSrc":"167294:18:22","nodeType":"YulFunctionCall","src":"167294:18:22"},"nativeSrc":"167294:18:22","nodeType":"YulExpressionStatement","src":"167294:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167332:4:22","nodeType":"YulLiteral","src":"167332:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"167338:2:22","nodeType":"YulIdentifier","src":"167338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167325:6:22","nodeType":"YulIdentifier","src":"167325:6:22"},"nativeSrc":"167325:16:22","nodeType":"YulFunctionCall","src":"167325:16:22"},"nativeSrc":"167325:16:22","nodeType":"YulExpressionStatement","src":"167325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167366:4:22","nodeType":"YulLiteral","src":"167366:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"167372:2:22","nodeType":"YulIdentifier","src":"167372:2:22"}],"functionName":{"name":"writeString","nativeSrc":"167354:11:22","nodeType":"YulIdentifier","src":"167354:11:22"},"nativeSrc":"167354:21:22","nodeType":"YulFunctionCall","src":"167354:21:22"},"nativeSrc":"167354:21:22","nodeType":"YulExpressionStatement","src":"167354:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167400:4:22","nodeType":"YulLiteral","src":"167400:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"167406:2:22","nodeType":"YulIdentifier","src":"167406:2:22"}],"functionName":{"name":"writeString","nativeSrc":"167388:11:22","nodeType":"YulIdentifier","src":"167388:11:22"},"nativeSrc":"167388:21:22","nodeType":"YulFunctionCall","src":"167388:21:22"},"nativeSrc":"167388:21:22","nodeType":"YulExpressionStatement","src":"167388:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36563,"isOffset":false,"isSlot":false,"src":"166861:2:22","valueSize":1},{"declaration":36566,"isOffset":false,"isSlot":false,"src":"166891:2:22","valueSize":1},{"declaration":36569,"isOffset":false,"isSlot":false,"src":"166921:2:22","valueSize":1},{"declaration":36572,"isOffset":false,"isSlot":false,"src":"166951:2:22","valueSize":1},{"declaration":36575,"isOffset":false,"isSlot":false,"src":"166981:2:22","valueSize":1},{"declaration":36578,"isOffset":false,"isSlot":false,"src":"167011:2:22","valueSize":1},{"declaration":36581,"isOffset":false,"isSlot":false,"src":"167041:2:22","valueSize":1},{"declaration":36584,"isOffset":false,"isSlot":false,"src":"167071:2:22","valueSize":1},{"declaration":36587,"isOffset":false,"isSlot":false,"src":"167101:2:22","valueSize":1},{"declaration":36553,"isOffset":false,"isSlot":false,"src":"167247:2:22","valueSize":1},{"declaration":36555,"isOffset":false,"isSlot":false,"src":"167372:2:22","valueSize":1},{"declaration":36557,"isOffset":false,"isSlot":false,"src":"167406:2:22","valueSize":1},{"declaration":36559,"isOffset":false,"isSlot":false,"src":"167338:2:22","valueSize":1}],"id":36589,"nodeType":"InlineAssembly","src":"166483:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167444:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167450:5:22","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":36590,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"167428:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167428:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36594,"nodeType":"ExpressionStatement","src":"167428:28:22"},{"AST":{"nativeSrc":"167518:273:22","nodeType":"YulBlock","src":"167518:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"167539:4:22","nodeType":"YulLiteral","src":"167539:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"167545:2:22","nodeType":"YulIdentifier","src":"167545:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167532:6:22","nodeType":"YulIdentifier","src":"167532:6:22"},"nativeSrc":"167532:16:22","nodeType":"YulFunctionCall","src":"167532:16:22"},"nativeSrc":"167532:16:22","nodeType":"YulExpressionStatement","src":"167532:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167568:4:22","nodeType":"YulLiteral","src":"167568:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"167574:2:22","nodeType":"YulIdentifier","src":"167574:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167561:6:22","nodeType":"YulIdentifier","src":"167561:6:22"},"nativeSrc":"167561:16:22","nodeType":"YulFunctionCall","src":"167561:16:22"},"nativeSrc":"167561:16:22","nodeType":"YulExpressionStatement","src":"167561:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167597:4:22","nodeType":"YulLiteral","src":"167597:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"167603:2:22","nodeType":"YulIdentifier","src":"167603:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167590:6:22","nodeType":"YulIdentifier","src":"167590:6:22"},"nativeSrc":"167590:16:22","nodeType":"YulFunctionCall","src":"167590:16:22"},"nativeSrc":"167590:16:22","nodeType":"YulExpressionStatement","src":"167590:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167626:4:22","nodeType":"YulLiteral","src":"167626:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"167632:2:22","nodeType":"YulIdentifier","src":"167632:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167619:6:22","nodeType":"YulIdentifier","src":"167619:6:22"},"nativeSrc":"167619:16:22","nodeType":"YulFunctionCall","src":"167619:16:22"},"nativeSrc":"167619:16:22","nodeType":"YulExpressionStatement","src":"167619:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167655:4:22","nodeType":"YulLiteral","src":"167655:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"167661:2:22","nodeType":"YulIdentifier","src":"167661:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167648:6:22","nodeType":"YulIdentifier","src":"167648:6:22"},"nativeSrc":"167648:16:22","nodeType":"YulFunctionCall","src":"167648:16:22"},"nativeSrc":"167648:16:22","nodeType":"YulExpressionStatement","src":"167648:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167684:4:22","nodeType":"YulLiteral","src":"167684:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"167690:2:22","nodeType":"YulIdentifier","src":"167690:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167677:6:22","nodeType":"YulIdentifier","src":"167677:6:22"},"nativeSrc":"167677:16:22","nodeType":"YulFunctionCall","src":"167677:16:22"},"nativeSrc":"167677:16:22","nodeType":"YulExpressionStatement","src":"167677:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167713:4:22","nodeType":"YulLiteral","src":"167713:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"167719:2:22","nodeType":"YulIdentifier","src":"167719:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167706:6:22","nodeType":"YulIdentifier","src":"167706:6:22"},"nativeSrc":"167706:16:22","nodeType":"YulFunctionCall","src":"167706:16:22"},"nativeSrc":"167706:16:22","nodeType":"YulExpressionStatement","src":"167706:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167742:4:22","nodeType":"YulLiteral","src":"167742:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"167748:2:22","nodeType":"YulIdentifier","src":"167748:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167735:6:22","nodeType":"YulIdentifier","src":"167735:6:22"},"nativeSrc":"167735:16:22","nodeType":"YulFunctionCall","src":"167735:16:22"},"nativeSrc":"167735:16:22","nodeType":"YulExpressionStatement","src":"167735:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167771:5:22","nodeType":"YulLiteral","src":"167771:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"167778:2:22","nodeType":"YulIdentifier","src":"167778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"167764:6:22","nodeType":"YulIdentifier","src":"167764:6:22"},"nativeSrc":"167764:17:22","nodeType":"YulFunctionCall","src":"167764:17:22"},"nativeSrc":"167764:17:22","nodeType":"YulExpressionStatement","src":"167764:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36563,"isOffset":false,"isSlot":false,"src":"167545:2:22","valueSize":1},{"declaration":36566,"isOffset":false,"isSlot":false,"src":"167574:2:22","valueSize":1},{"declaration":36569,"isOffset":false,"isSlot":false,"src":"167603:2:22","valueSize":1},{"declaration":36572,"isOffset":false,"isSlot":false,"src":"167632:2:22","valueSize":1},{"declaration":36575,"isOffset":false,"isSlot":false,"src":"167661:2:22","valueSize":1},{"declaration":36578,"isOffset":false,"isSlot":false,"src":"167690:2:22","valueSize":1},{"declaration":36581,"isOffset":false,"isSlot":false,"src":"167719:2:22","valueSize":1},{"declaration":36584,"isOffset":false,"isSlot":false,"src":"167748:2:22","valueSize":1},{"declaration":36587,"isOffset":false,"isSlot":false,"src":"167778:2:22","valueSize":1}],"id":36595,"nodeType":"InlineAssembly","src":"167509:282:22"}]},"id":36597,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"166184:3:22","nodeType":"FunctionDefinition","parameters":{"id":36560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36553,"mutability":"mutable","name":"p0","nameLocation":"166196:2:22","nodeType":"VariableDeclaration","scope":36597,"src":"166188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36552,"name":"address","nodeType":"ElementaryTypeName","src":"166188:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36555,"mutability":"mutable","name":"p1","nameLocation":"166208:2:22","nodeType":"VariableDeclaration","scope":36597,"src":"166200:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166200:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36557,"mutability":"mutable","name":"p2","nameLocation":"166220:2:22","nodeType":"VariableDeclaration","scope":36597,"src":"166212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166212:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36559,"mutability":"mutable","name":"p3","nameLocation":"166232:2:22","nodeType":"VariableDeclaration","scope":36597,"src":"166224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36558,"name":"uint256","nodeType":"ElementaryTypeName","src":"166224:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"166187:48:22"},"returnParameters":{"id":36561,"nodeType":"ParameterList","parameters":[],"src":"166250:0:22"},"scope":44426,"src":"166175:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36648,"nodeType":"Block","src":"167878:1749:22","statements":[{"assignments":[36609],"declarations":[{"constant":false,"id":36609,"mutability":"mutable","name":"m0","nameLocation":"167896:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167888:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167888:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36610,"nodeType":"VariableDeclarationStatement","src":"167888:10:22"},{"assignments":[36612],"declarations":[{"constant":false,"id":36612,"mutability":"mutable","name":"m1","nameLocation":"167916:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167908:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167908:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36613,"nodeType":"VariableDeclarationStatement","src":"167908:10:22"},{"assignments":[36615],"declarations":[{"constant":false,"id":36615,"mutability":"mutable","name":"m2","nameLocation":"167936:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167928:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167928:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36616,"nodeType":"VariableDeclarationStatement","src":"167928:10:22"},{"assignments":[36618],"declarations":[{"constant":false,"id":36618,"mutability":"mutable","name":"m3","nameLocation":"167956:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167948:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167948:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36619,"nodeType":"VariableDeclarationStatement","src":"167948:10:22"},{"assignments":[36621],"declarations":[{"constant":false,"id":36621,"mutability":"mutable","name":"m4","nameLocation":"167976:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167968:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167968:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36622,"nodeType":"VariableDeclarationStatement","src":"167968:10:22"},{"assignments":[36624],"declarations":[{"constant":false,"id":36624,"mutability":"mutable","name":"m5","nameLocation":"167996:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"167988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167988:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36625,"nodeType":"VariableDeclarationStatement","src":"167988:10:22"},{"assignments":[36627],"declarations":[{"constant":false,"id":36627,"mutability":"mutable","name":"m6","nameLocation":"168016:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"168008:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168008:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36628,"nodeType":"VariableDeclarationStatement","src":"168008:10:22"},{"assignments":[36630],"declarations":[{"constant":false,"id":36630,"mutability":"mutable","name":"m7","nameLocation":"168036:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"168028:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168028:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36631,"nodeType":"VariableDeclarationStatement","src":"168028:10:22"},{"assignments":[36633],"declarations":[{"constant":false,"id":36633,"mutability":"mutable","name":"m8","nameLocation":"168056:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"168048:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168048:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36634,"nodeType":"VariableDeclarationStatement","src":"168048:10:22"},{"assignments":[36636],"declarations":[{"constant":false,"id":36636,"mutability":"mutable","name":"m9","nameLocation":"168076:2:22","nodeType":"VariableDeclaration","scope":36648,"src":"168068:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168068:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36637,"nodeType":"VariableDeclarationStatement","src":"168068:10:22"},{"assignments":[36639],"declarations":[{"constant":false,"id":36639,"mutability":"mutable","name":"m10","nameLocation":"168096:3:22","nodeType":"VariableDeclaration","scope":36648,"src":"168088:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168088:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36640,"nodeType":"VariableDeclarationStatement","src":"168088:11:22"},{"AST":{"nativeSrc":"168161:1027:22","nodeType":"YulBlock","src":"168161:1027:22","statements":[{"body":{"nativeSrc":"168204:313:22","nodeType":"YulBlock","src":"168204:313:22","statements":[{"nativeSrc":"168222:15:22","nodeType":"YulVariableDeclaration","src":"168222:15:22","value":{"kind":"number","nativeSrc":"168236:1:22","nodeType":"YulLiteral","src":"168236:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"168226:6:22","nodeType":"YulTypedName","src":"168226:6:22","type":""}]},{"body":{"nativeSrc":"168307:40:22","nodeType":"YulBlock","src":"168307:40:22","statements":[{"body":{"nativeSrc":"168336:9:22","nodeType":"YulBlock","src":"168336:9:22","statements":[{"nativeSrc":"168338:5:22","nodeType":"YulBreak","src":"168338:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"168324:6:22","nodeType":"YulIdentifier","src":"168324:6:22"},{"name":"w","nativeSrc":"168332:1:22","nodeType":"YulIdentifier","src":"168332:1:22"}],"functionName":{"name":"byte","nativeSrc":"168319:4:22","nodeType":"YulIdentifier","src":"168319:4:22"},"nativeSrc":"168319:15:22","nodeType":"YulFunctionCall","src":"168319:15:22"}],"functionName":{"name":"iszero","nativeSrc":"168312:6:22","nodeType":"YulIdentifier","src":"168312:6:22"},"nativeSrc":"168312:23:22","nodeType":"YulFunctionCall","src":"168312:23:22"},"nativeSrc":"168309:36:22","nodeType":"YulIf","src":"168309:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"168264:6:22","nodeType":"YulIdentifier","src":"168264:6:22"},{"kind":"number","nativeSrc":"168272:4:22","nodeType":"YulLiteral","src":"168272:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"168261:2:22","nodeType":"YulIdentifier","src":"168261:2:22"},"nativeSrc":"168261:16:22","nodeType":"YulFunctionCall","src":"168261:16:22"},"nativeSrc":"168254:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"168278:28:22","nodeType":"YulBlock","src":"168278:28:22","statements":[{"nativeSrc":"168280:24:22","nodeType":"YulAssignment","src":"168280:24:22","value":{"arguments":[{"name":"length","nativeSrc":"168294:6:22","nodeType":"YulIdentifier","src":"168294:6:22"},{"kind":"number","nativeSrc":"168302:1:22","nodeType":"YulLiteral","src":"168302:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"168290:3:22","nodeType":"YulIdentifier","src":"168290:3:22"},"nativeSrc":"168290:14:22","nodeType":"YulFunctionCall","src":"168290:14:22"},"variableNames":[{"name":"length","nativeSrc":"168280:6:22","nodeType":"YulIdentifier","src":"168280:6:22"}]}]},"pre":{"nativeSrc":"168258:2:22","nodeType":"YulBlock","src":"168258:2:22","statements":[]},"src":"168254:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"168371:3:22","nodeType":"YulIdentifier","src":"168371:3:22"},{"name":"length","nativeSrc":"168376:6:22","nodeType":"YulIdentifier","src":"168376:6:22"}],"functionName":{"name":"mstore","nativeSrc":"168364:6:22","nodeType":"YulIdentifier","src":"168364:6:22"},"nativeSrc":"168364:19:22","nodeType":"YulFunctionCall","src":"168364:19:22"},"nativeSrc":"168364:19:22","nodeType":"YulExpressionStatement","src":"168364:19:22"},{"nativeSrc":"168400:37:22","nodeType":"YulVariableDeclaration","src":"168400:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"168417:3:22","nodeType":"YulLiteral","src":"168417:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"168426:1:22","nodeType":"YulLiteral","src":"168426:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"168429:6:22","nodeType":"YulIdentifier","src":"168429:6:22"}],"functionName":{"name":"shl","nativeSrc":"168422:3:22","nodeType":"YulIdentifier","src":"168422:3:22"},"nativeSrc":"168422:14:22","nodeType":"YulFunctionCall","src":"168422:14:22"}],"functionName":{"name":"sub","nativeSrc":"168413:3:22","nodeType":"YulIdentifier","src":"168413:3:22"},"nativeSrc":"168413:24:22","nodeType":"YulFunctionCall","src":"168413:24:22"},"variables":[{"name":"shift","nativeSrc":"168404:5:22","nodeType":"YulTypedName","src":"168404:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"168465:3:22","nodeType":"YulIdentifier","src":"168465:3:22"},{"kind":"number","nativeSrc":"168470:4:22","nodeType":"YulLiteral","src":"168470:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"168461:3:22","nodeType":"YulIdentifier","src":"168461:3:22"},"nativeSrc":"168461:14:22","nodeType":"YulFunctionCall","src":"168461:14:22"},{"arguments":[{"name":"shift","nativeSrc":"168481:5:22","nodeType":"YulIdentifier","src":"168481:5:22"},{"arguments":[{"name":"shift","nativeSrc":"168492:5:22","nodeType":"YulIdentifier","src":"168492:5:22"},{"name":"w","nativeSrc":"168499:1:22","nodeType":"YulIdentifier","src":"168499:1:22"}],"functionName":{"name":"shr","nativeSrc":"168488:3:22","nodeType":"YulIdentifier","src":"168488:3:22"},"nativeSrc":"168488:13:22","nodeType":"YulFunctionCall","src":"168488:13:22"}],"functionName":{"name":"shl","nativeSrc":"168477:3:22","nodeType":"YulIdentifier","src":"168477:3:22"},"nativeSrc":"168477:25:22","nodeType":"YulFunctionCall","src":"168477:25:22"}],"functionName":{"name":"mstore","nativeSrc":"168454:6:22","nodeType":"YulIdentifier","src":"168454:6:22"},"nativeSrc":"168454:49:22","nodeType":"YulFunctionCall","src":"168454:49:22"},"nativeSrc":"168454:49:22","nodeType":"YulExpressionStatement","src":"168454:49:22"}]},"name":"writeString","nativeSrc":"168175:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"168196:3:22","nodeType":"YulTypedName","src":"168196:3:22","type":""},{"name":"w","nativeSrc":"168201:1:22","nodeType":"YulTypedName","src":"168201:1:22","type":""}],"src":"168175:342:22"},{"nativeSrc":"168530:17:22","nodeType":"YulAssignment","src":"168530:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168542:4:22","nodeType":"YulLiteral","src":"168542:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"168536:5:22","nodeType":"YulIdentifier","src":"168536:5:22"},"nativeSrc":"168536:11:22","nodeType":"YulFunctionCall","src":"168536:11:22"},"variableNames":[{"name":"m0","nativeSrc":"168530:2:22","nodeType":"YulIdentifier","src":"168530:2:22"}]},{"nativeSrc":"168560:17:22","nodeType":"YulAssignment","src":"168560:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168572:4:22","nodeType":"YulLiteral","src":"168572:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"168566:5:22","nodeType":"YulIdentifier","src":"168566:5:22"},"nativeSrc":"168566:11:22","nodeType":"YulFunctionCall","src":"168566:11:22"},"variableNames":[{"name":"m1","nativeSrc":"168560:2:22","nodeType":"YulIdentifier","src":"168560:2:22"}]},{"nativeSrc":"168590:17:22","nodeType":"YulAssignment","src":"168590:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168602:4:22","nodeType":"YulLiteral","src":"168602:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"168596:5:22","nodeType":"YulIdentifier","src":"168596:5:22"},"nativeSrc":"168596:11:22","nodeType":"YulFunctionCall","src":"168596:11:22"},"variableNames":[{"name":"m2","nativeSrc":"168590:2:22","nodeType":"YulIdentifier","src":"168590:2:22"}]},{"nativeSrc":"168620:17:22","nodeType":"YulAssignment","src":"168620:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168632:4:22","nodeType":"YulLiteral","src":"168632:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"168626:5:22","nodeType":"YulIdentifier","src":"168626:5:22"},"nativeSrc":"168626:11:22","nodeType":"YulFunctionCall","src":"168626:11:22"},"variableNames":[{"name":"m3","nativeSrc":"168620:2:22","nodeType":"YulIdentifier","src":"168620:2:22"}]},{"nativeSrc":"168650:17:22","nodeType":"YulAssignment","src":"168650:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168662:4:22","nodeType":"YulLiteral","src":"168662:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"168656:5:22","nodeType":"YulIdentifier","src":"168656:5:22"},"nativeSrc":"168656:11:22","nodeType":"YulFunctionCall","src":"168656:11:22"},"variableNames":[{"name":"m4","nativeSrc":"168650:2:22","nodeType":"YulIdentifier","src":"168650:2:22"}]},{"nativeSrc":"168680:17:22","nodeType":"YulAssignment","src":"168680:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168692:4:22","nodeType":"YulLiteral","src":"168692:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"168686:5:22","nodeType":"YulIdentifier","src":"168686:5:22"},"nativeSrc":"168686:11:22","nodeType":"YulFunctionCall","src":"168686:11:22"},"variableNames":[{"name":"m5","nativeSrc":"168680:2:22","nodeType":"YulIdentifier","src":"168680:2:22"}]},{"nativeSrc":"168710:17:22","nodeType":"YulAssignment","src":"168710:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168722:4:22","nodeType":"YulLiteral","src":"168722:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"168716:5:22","nodeType":"YulIdentifier","src":"168716:5:22"},"nativeSrc":"168716:11:22","nodeType":"YulFunctionCall","src":"168716:11:22"},"variableNames":[{"name":"m6","nativeSrc":"168710:2:22","nodeType":"YulIdentifier","src":"168710:2:22"}]},{"nativeSrc":"168740:17:22","nodeType":"YulAssignment","src":"168740:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"168752:4:22","nodeType":"YulLiteral","src":"168752:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"168746:5:22","nodeType":"YulIdentifier","src":"168746:5:22"},"nativeSrc":"168746:11:22","nodeType":"YulFunctionCall","src":"168746:11:22"},"variableNames":[{"name":"m7","nativeSrc":"168740:2:22","nodeType":"YulIdentifier","src":"168740:2:22"}]},{"nativeSrc":"168770:18:22","nodeType":"YulAssignment","src":"168770:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"168782:5:22","nodeType":"YulLiteral","src":"168782:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"168776:5:22","nodeType":"YulIdentifier","src":"168776:5:22"},"nativeSrc":"168776:12:22","nodeType":"YulFunctionCall","src":"168776:12:22"},"variableNames":[{"name":"m8","nativeSrc":"168770:2:22","nodeType":"YulIdentifier","src":"168770:2:22"}]},{"nativeSrc":"168801:18:22","nodeType":"YulAssignment","src":"168801:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"168813:5:22","nodeType":"YulLiteral","src":"168813:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"168807:5:22","nodeType":"YulIdentifier","src":"168807:5:22"},"nativeSrc":"168807:12:22","nodeType":"YulFunctionCall","src":"168807:12:22"},"variableNames":[{"name":"m9","nativeSrc":"168801:2:22","nodeType":"YulIdentifier","src":"168801:2:22"}]},{"nativeSrc":"168832:19:22","nodeType":"YulAssignment","src":"168832:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"168845:5:22","nodeType":"YulLiteral","src":"168845:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"168839:5:22","nodeType":"YulIdentifier","src":"168839:5:22"},"nativeSrc":"168839:12:22","nodeType":"YulFunctionCall","src":"168839:12:22"},"variableNames":[{"name":"m10","nativeSrc":"168832:3:22","nodeType":"YulIdentifier","src":"168832:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168935:4:22","nodeType":"YulLiteral","src":"168935:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"168941:10:22","nodeType":"YulLiteral","src":"168941:10:22","type":"","value":"0x5d02c50b"}],"functionName":{"name":"mstore","nativeSrc":"168928:6:22","nodeType":"YulIdentifier","src":"168928:6:22"},"nativeSrc":"168928:24:22","nodeType":"YulFunctionCall","src":"168928:24:22"},"nativeSrc":"168928:24:22","nodeType":"YulExpressionStatement","src":"168928:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168972:4:22","nodeType":"YulLiteral","src":"168972:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"168978:2:22","nodeType":"YulIdentifier","src":"168978:2:22"}],"functionName":{"name":"mstore","nativeSrc":"168965:6:22","nodeType":"YulIdentifier","src":"168965:6:22"},"nativeSrc":"168965:16:22","nodeType":"YulFunctionCall","src":"168965:16:22"},"nativeSrc":"168965:16:22","nodeType":"YulExpressionStatement","src":"168965:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169001:4:22","nodeType":"YulLiteral","src":"169001:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"169007:4:22","nodeType":"YulLiteral","src":"169007:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"168994:6:22","nodeType":"YulIdentifier","src":"168994:6:22"},"nativeSrc":"168994:18:22","nodeType":"YulFunctionCall","src":"168994:18:22"},"nativeSrc":"168994:18:22","nodeType":"YulExpressionStatement","src":"168994:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169032:4:22","nodeType":"YulLiteral","src":"169032:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"169038:4:22","nodeType":"YulLiteral","src":"169038:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"169025:6:22","nodeType":"YulIdentifier","src":"169025:6:22"},"nativeSrc":"169025:18:22","nodeType":"YulFunctionCall","src":"169025:18:22"},"nativeSrc":"169025:18:22","nodeType":"YulExpressionStatement","src":"169025:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169063:4:22","nodeType":"YulLiteral","src":"169063:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"169069:5:22","nodeType":"YulLiteral","src":"169069:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"169056:6:22","nodeType":"YulIdentifier","src":"169056:6:22"},"nativeSrc":"169056:19:22","nodeType":"YulFunctionCall","src":"169056:19:22"},"nativeSrc":"169056:19:22","nodeType":"YulExpressionStatement","src":"169056:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169100:4:22","nodeType":"YulLiteral","src":"169100:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"169106:2:22","nodeType":"YulIdentifier","src":"169106:2:22"}],"functionName":{"name":"writeString","nativeSrc":"169088:11:22","nodeType":"YulIdentifier","src":"169088:11:22"},"nativeSrc":"169088:21:22","nodeType":"YulFunctionCall","src":"169088:21:22"},"nativeSrc":"169088:21:22","nodeType":"YulExpressionStatement","src":"169088:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169134:4:22","nodeType":"YulLiteral","src":"169134:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"169140:2:22","nodeType":"YulIdentifier","src":"169140:2:22"}],"functionName":{"name":"writeString","nativeSrc":"169122:11:22","nodeType":"YulIdentifier","src":"169122:11:22"},"nativeSrc":"169122:21:22","nodeType":"YulFunctionCall","src":"169122:21:22"},"nativeSrc":"169122:21:22","nodeType":"YulExpressionStatement","src":"169122:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169168:5:22","nodeType":"YulLiteral","src":"169168:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"169175:2:22","nodeType":"YulIdentifier","src":"169175:2:22"}],"functionName":{"name":"writeString","nativeSrc":"169156:11:22","nodeType":"YulIdentifier","src":"169156:11:22"},"nativeSrc":"169156:22:22","nodeType":"YulFunctionCall","src":"169156:22:22"},"nativeSrc":"169156:22:22","nodeType":"YulExpressionStatement","src":"169156:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36609,"isOffset":false,"isSlot":false,"src":"168530:2:22","valueSize":1},{"declaration":36612,"isOffset":false,"isSlot":false,"src":"168560:2:22","valueSize":1},{"declaration":36639,"isOffset":false,"isSlot":false,"src":"168832:3:22","valueSize":1},{"declaration":36615,"isOffset":false,"isSlot":false,"src":"168590:2:22","valueSize":1},{"declaration":36618,"isOffset":false,"isSlot":false,"src":"168620:2:22","valueSize":1},{"declaration":36621,"isOffset":false,"isSlot":false,"src":"168650:2:22","valueSize":1},{"declaration":36624,"isOffset":false,"isSlot":false,"src":"168680:2:22","valueSize":1},{"declaration":36627,"isOffset":false,"isSlot":false,"src":"168710:2:22","valueSize":1},{"declaration":36630,"isOffset":false,"isSlot":false,"src":"168740:2:22","valueSize":1},{"declaration":36633,"isOffset":false,"isSlot":false,"src":"168770:2:22","valueSize":1},{"declaration":36636,"isOffset":false,"isSlot":false,"src":"168801:2:22","valueSize":1},{"declaration":36599,"isOffset":false,"isSlot":false,"src":"168978:2:22","valueSize":1},{"declaration":36601,"isOffset":false,"isSlot":false,"src":"169106:2:22","valueSize":1},{"declaration":36603,"isOffset":false,"isSlot":false,"src":"169140:2:22","valueSize":1},{"declaration":36605,"isOffset":false,"isSlot":false,"src":"169175:2:22","valueSize":1}],"id":36641,"nodeType":"InlineAssembly","src":"168152:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169213:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":36644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169219:5:22","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":36642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"169197:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"169197:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36646,"nodeType":"ExpressionStatement","src":"169197:28:22"},{"AST":{"nativeSrc":"169287:334:22","nodeType":"YulBlock","src":"169287:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"169308:4:22","nodeType":"YulLiteral","src":"169308:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"169314:2:22","nodeType":"YulIdentifier","src":"169314:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169301:6:22","nodeType":"YulIdentifier","src":"169301:6:22"},"nativeSrc":"169301:16:22","nodeType":"YulFunctionCall","src":"169301:16:22"},"nativeSrc":"169301:16:22","nodeType":"YulExpressionStatement","src":"169301:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169337:4:22","nodeType":"YulLiteral","src":"169337:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"169343:2:22","nodeType":"YulIdentifier","src":"169343:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169330:6:22","nodeType":"YulIdentifier","src":"169330:6:22"},"nativeSrc":"169330:16:22","nodeType":"YulFunctionCall","src":"169330:16:22"},"nativeSrc":"169330:16:22","nodeType":"YulExpressionStatement","src":"169330:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169366:4:22","nodeType":"YulLiteral","src":"169366:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"169372:2:22","nodeType":"YulIdentifier","src":"169372:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169359:6:22","nodeType":"YulIdentifier","src":"169359:6:22"},"nativeSrc":"169359:16:22","nodeType":"YulFunctionCall","src":"169359:16:22"},"nativeSrc":"169359:16:22","nodeType":"YulExpressionStatement","src":"169359:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169395:4:22","nodeType":"YulLiteral","src":"169395:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"169401:2:22","nodeType":"YulIdentifier","src":"169401:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169388:6:22","nodeType":"YulIdentifier","src":"169388:6:22"},"nativeSrc":"169388:16:22","nodeType":"YulFunctionCall","src":"169388:16:22"},"nativeSrc":"169388:16:22","nodeType":"YulExpressionStatement","src":"169388:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169424:4:22","nodeType":"YulLiteral","src":"169424:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"169430:2:22","nodeType":"YulIdentifier","src":"169430:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169417:6:22","nodeType":"YulIdentifier","src":"169417:6:22"},"nativeSrc":"169417:16:22","nodeType":"YulFunctionCall","src":"169417:16:22"},"nativeSrc":"169417:16:22","nodeType":"YulExpressionStatement","src":"169417:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169453:4:22","nodeType":"YulLiteral","src":"169453:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"169459:2:22","nodeType":"YulIdentifier","src":"169459:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169446:6:22","nodeType":"YulIdentifier","src":"169446:6:22"},"nativeSrc":"169446:16:22","nodeType":"YulFunctionCall","src":"169446:16:22"},"nativeSrc":"169446:16:22","nodeType":"YulExpressionStatement","src":"169446:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169482:4:22","nodeType":"YulLiteral","src":"169482:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"169488:2:22","nodeType":"YulIdentifier","src":"169488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169475:6:22","nodeType":"YulIdentifier","src":"169475:6:22"},"nativeSrc":"169475:16:22","nodeType":"YulFunctionCall","src":"169475:16:22"},"nativeSrc":"169475:16:22","nodeType":"YulExpressionStatement","src":"169475:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169511:4:22","nodeType":"YulLiteral","src":"169511:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"169517:2:22","nodeType":"YulIdentifier","src":"169517:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169504:6:22","nodeType":"YulIdentifier","src":"169504:6:22"},"nativeSrc":"169504:16:22","nodeType":"YulFunctionCall","src":"169504:16:22"},"nativeSrc":"169504:16:22","nodeType":"YulExpressionStatement","src":"169504:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169540:5:22","nodeType":"YulLiteral","src":"169540:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"169547:2:22","nodeType":"YulIdentifier","src":"169547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169533:6:22","nodeType":"YulIdentifier","src":"169533:6:22"},"nativeSrc":"169533:17:22","nodeType":"YulFunctionCall","src":"169533:17:22"},"nativeSrc":"169533:17:22","nodeType":"YulExpressionStatement","src":"169533:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169570:5:22","nodeType":"YulLiteral","src":"169570:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"169577:2:22","nodeType":"YulIdentifier","src":"169577:2:22"}],"functionName":{"name":"mstore","nativeSrc":"169563:6:22","nodeType":"YulIdentifier","src":"169563:6:22"},"nativeSrc":"169563:17:22","nodeType":"YulFunctionCall","src":"169563:17:22"},"nativeSrc":"169563:17:22","nodeType":"YulExpressionStatement","src":"169563:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169600:5:22","nodeType":"YulLiteral","src":"169600:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"169607:3:22","nodeType":"YulIdentifier","src":"169607:3:22"}],"functionName":{"name":"mstore","nativeSrc":"169593:6:22","nodeType":"YulIdentifier","src":"169593:6:22"},"nativeSrc":"169593:18:22","nodeType":"YulFunctionCall","src":"169593:18:22"},"nativeSrc":"169593:18:22","nodeType":"YulExpressionStatement","src":"169593:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36609,"isOffset":false,"isSlot":false,"src":"169314:2:22","valueSize":1},{"declaration":36612,"isOffset":false,"isSlot":false,"src":"169343:2:22","valueSize":1},{"declaration":36639,"isOffset":false,"isSlot":false,"src":"169607:3:22","valueSize":1},{"declaration":36615,"isOffset":false,"isSlot":false,"src":"169372:2:22","valueSize":1},{"declaration":36618,"isOffset":false,"isSlot":false,"src":"169401:2:22","valueSize":1},{"declaration":36621,"isOffset":false,"isSlot":false,"src":"169430:2:22","valueSize":1},{"declaration":36624,"isOffset":false,"isSlot":false,"src":"169459:2:22","valueSize":1},{"declaration":36627,"isOffset":false,"isSlot":false,"src":"169488:2:22","valueSize":1},{"declaration":36630,"isOffset":false,"isSlot":false,"src":"169517:2:22","valueSize":1},{"declaration":36633,"isOffset":false,"isSlot":false,"src":"169547:2:22","valueSize":1},{"declaration":36636,"isOffset":false,"isSlot":false,"src":"169577:2:22","valueSize":1}],"id":36647,"nodeType":"InlineAssembly","src":"169278:343:22"}]},"id":36649,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"167812:3:22","nodeType":"FunctionDefinition","parameters":{"id":36606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36599,"mutability":"mutable","name":"p0","nameLocation":"167824:2:22","nodeType":"VariableDeclaration","scope":36649,"src":"167816:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36598,"name":"address","nodeType":"ElementaryTypeName","src":"167816:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36601,"mutability":"mutable","name":"p1","nameLocation":"167836:2:22","nodeType":"VariableDeclaration","scope":36649,"src":"167828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167828:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36603,"mutability":"mutable","name":"p2","nameLocation":"167848:2:22","nodeType":"VariableDeclaration","scope":36649,"src":"167840:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167840:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36605,"mutability":"mutable","name":"p3","nameLocation":"167860:2:22","nodeType":"VariableDeclaration","scope":36649,"src":"167852:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167852:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"167815:48:22"},"returnParameters":{"id":36607,"nodeType":"ParameterList","parameters":[],"src":"167878:0:22"},"scope":44426,"src":"167803:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36682,"nodeType":"Block","src":"169705:800:22","statements":[{"assignments":[36661],"declarations":[{"constant":false,"id":36661,"mutability":"mutable","name":"m0","nameLocation":"169723:2:22","nodeType":"VariableDeclaration","scope":36682,"src":"169715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36662,"nodeType":"VariableDeclarationStatement","src":"169715:10:22"},{"assignments":[36664],"declarations":[{"constant":false,"id":36664,"mutability":"mutable","name":"m1","nameLocation":"169743:2:22","nodeType":"VariableDeclaration","scope":36682,"src":"169735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169735:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36665,"nodeType":"VariableDeclarationStatement","src":"169735:10:22"},{"assignments":[36667],"declarations":[{"constant":false,"id":36667,"mutability":"mutable","name":"m2","nameLocation":"169763:2:22","nodeType":"VariableDeclaration","scope":36682,"src":"169755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36668,"nodeType":"VariableDeclarationStatement","src":"169755:10:22"},{"assignments":[36670],"declarations":[{"constant":false,"id":36670,"mutability":"mutable","name":"m3","nameLocation":"169783:2:22","nodeType":"VariableDeclaration","scope":36682,"src":"169775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169775:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36671,"nodeType":"VariableDeclarationStatement","src":"169775:10:22"},{"assignments":[36673],"declarations":[{"constant":false,"id":36673,"mutability":"mutable","name":"m4","nameLocation":"169803:2:22","nodeType":"VariableDeclaration","scope":36682,"src":"169795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169795:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36674,"nodeType":"VariableDeclarationStatement","src":"169795:10:22"},{"AST":{"nativeSrc":"169867:378:22","nodeType":"YulBlock","src":"169867:378:22","statements":[{"nativeSrc":"169881:17:22","nodeType":"YulAssignment","src":"169881:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"169893:4:22","nodeType":"YulLiteral","src":"169893:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"169887:5:22","nodeType":"YulIdentifier","src":"169887:5:22"},"nativeSrc":"169887:11:22","nodeType":"YulFunctionCall","src":"169887:11:22"},"variableNames":[{"name":"m0","nativeSrc":"169881:2:22","nodeType":"YulIdentifier","src":"169881:2:22"}]},{"nativeSrc":"169911:17:22","nodeType":"YulAssignment","src":"169911:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"169923:4:22","nodeType":"YulLiteral","src":"169923:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"169917:5:22","nodeType":"YulIdentifier","src":"169917:5:22"},"nativeSrc":"169917:11:22","nodeType":"YulFunctionCall","src":"169917:11:22"},"variableNames":[{"name":"m1","nativeSrc":"169911:2:22","nodeType":"YulIdentifier","src":"169911:2:22"}]},{"nativeSrc":"169941:17:22","nodeType":"YulAssignment","src":"169941:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"169953:4:22","nodeType":"YulLiteral","src":"169953:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"169947:5:22","nodeType":"YulIdentifier","src":"169947:5:22"},"nativeSrc":"169947:11:22","nodeType":"YulFunctionCall","src":"169947:11:22"},"variableNames":[{"name":"m2","nativeSrc":"169941:2:22","nodeType":"YulIdentifier","src":"169941:2:22"}]},{"nativeSrc":"169971:17:22","nodeType":"YulAssignment","src":"169971:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"169983:4:22","nodeType":"YulLiteral","src":"169983:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"169977:5:22","nodeType":"YulIdentifier","src":"169977:5:22"},"nativeSrc":"169977:11:22","nodeType":"YulFunctionCall","src":"169977:11:22"},"variableNames":[{"name":"m3","nativeSrc":"169971:2:22","nodeType":"YulIdentifier","src":"169971:2:22"}]},{"nativeSrc":"170001:17:22","nodeType":"YulAssignment","src":"170001:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170013:4:22","nodeType":"YulLiteral","src":"170013:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170007:5:22","nodeType":"YulIdentifier","src":"170007:5:22"},"nativeSrc":"170007:11:22","nodeType":"YulFunctionCall","src":"170007:11:22"},"variableNames":[{"name":"m4","nativeSrc":"170001:2:22","nodeType":"YulIdentifier","src":"170001:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170102:4:22","nodeType":"YulLiteral","src":"170102:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170108:10:22","nodeType":"YulLiteral","src":"170108:10:22","type":"","value":"0x1d14d001"}],"functionName":{"name":"mstore","nativeSrc":"170095:6:22","nodeType":"YulIdentifier","src":"170095:6:22"},"nativeSrc":"170095:24:22","nodeType":"YulFunctionCall","src":"170095:24:22"},"nativeSrc":"170095:24:22","nodeType":"YulExpressionStatement","src":"170095:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170139:4:22","nodeType":"YulLiteral","src":"170139:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"170145:2:22","nodeType":"YulIdentifier","src":"170145:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170132:6:22","nodeType":"YulIdentifier","src":"170132:6:22"},"nativeSrc":"170132:16:22","nodeType":"YulFunctionCall","src":"170132:16:22"},"nativeSrc":"170132:16:22","nodeType":"YulExpressionStatement","src":"170132:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170168:4:22","nodeType":"YulLiteral","src":"170168:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"170174:2:22","nodeType":"YulIdentifier","src":"170174:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170161:6:22","nodeType":"YulIdentifier","src":"170161:6:22"},"nativeSrc":"170161:16:22","nodeType":"YulFunctionCall","src":"170161:16:22"},"nativeSrc":"170161:16:22","nodeType":"YulExpressionStatement","src":"170161:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170197:4:22","nodeType":"YulLiteral","src":"170197:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"170203:2:22","nodeType":"YulIdentifier","src":"170203:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170190:6:22","nodeType":"YulIdentifier","src":"170190:6:22"},"nativeSrc":"170190:16:22","nodeType":"YulFunctionCall","src":"170190:16:22"},"nativeSrc":"170190:16:22","nodeType":"YulExpressionStatement","src":"170190:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170226:4:22","nodeType":"YulLiteral","src":"170226:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"170232:2:22","nodeType":"YulIdentifier","src":"170232:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170219:6:22","nodeType":"YulIdentifier","src":"170219:6:22"},"nativeSrc":"170219:16:22","nodeType":"YulFunctionCall","src":"170219:16:22"},"nativeSrc":"170219:16:22","nodeType":"YulExpressionStatement","src":"170219:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36661,"isOffset":false,"isSlot":false,"src":"169881:2:22","valueSize":1},{"declaration":36664,"isOffset":false,"isSlot":false,"src":"169911:2:22","valueSize":1},{"declaration":36667,"isOffset":false,"isSlot":false,"src":"169941:2:22","valueSize":1},{"declaration":36670,"isOffset":false,"isSlot":false,"src":"169971:2:22","valueSize":1},{"declaration":36673,"isOffset":false,"isSlot":false,"src":"170001:2:22","valueSize":1},{"declaration":36651,"isOffset":false,"isSlot":false,"src":"170145:2:22","valueSize":1},{"declaration":36653,"isOffset":false,"isSlot":false,"src":"170174:2:22","valueSize":1},{"declaration":36655,"isOffset":false,"isSlot":false,"src":"170203:2:22","valueSize":1},{"declaration":36657,"isOffset":false,"isSlot":false,"src":"170232:2:22","valueSize":1}],"id":36675,"nodeType":"InlineAssembly","src":"169858:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170270:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170276:4:22","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":36676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"170254:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"170254:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36680,"nodeType":"ExpressionStatement","src":"170254:27:22"},{"AST":{"nativeSrc":"170343:156:22","nodeType":"YulBlock","src":"170343:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"170364:4:22","nodeType":"YulLiteral","src":"170364:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"170370:2:22","nodeType":"YulIdentifier","src":"170370:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170357:6:22","nodeType":"YulIdentifier","src":"170357:6:22"},"nativeSrc":"170357:16:22","nodeType":"YulFunctionCall","src":"170357:16:22"},"nativeSrc":"170357:16:22","nodeType":"YulExpressionStatement","src":"170357:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170393:4:22","nodeType":"YulLiteral","src":"170393:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"170399:2:22","nodeType":"YulIdentifier","src":"170399:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170386:6:22","nodeType":"YulIdentifier","src":"170386:6:22"},"nativeSrc":"170386:16:22","nodeType":"YulFunctionCall","src":"170386:16:22"},"nativeSrc":"170386:16:22","nodeType":"YulExpressionStatement","src":"170386:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170422:4:22","nodeType":"YulLiteral","src":"170422:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"170428:2:22","nodeType":"YulIdentifier","src":"170428:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170415:6:22","nodeType":"YulIdentifier","src":"170415:6:22"},"nativeSrc":"170415:16:22","nodeType":"YulFunctionCall","src":"170415:16:22"},"nativeSrc":"170415:16:22","nodeType":"YulExpressionStatement","src":"170415:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170451:4:22","nodeType":"YulLiteral","src":"170451:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"170457:2:22","nodeType":"YulIdentifier","src":"170457:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170444:6:22","nodeType":"YulIdentifier","src":"170444:6:22"},"nativeSrc":"170444:16:22","nodeType":"YulFunctionCall","src":"170444:16:22"},"nativeSrc":"170444:16:22","nodeType":"YulExpressionStatement","src":"170444:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170480:4:22","nodeType":"YulLiteral","src":"170480:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"170486:2:22","nodeType":"YulIdentifier","src":"170486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"170473:6:22","nodeType":"YulIdentifier","src":"170473:6:22"},"nativeSrc":"170473:16:22","nodeType":"YulFunctionCall","src":"170473:16:22"},"nativeSrc":"170473:16:22","nodeType":"YulExpressionStatement","src":"170473:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36661,"isOffset":false,"isSlot":false,"src":"170370:2:22","valueSize":1},{"declaration":36664,"isOffset":false,"isSlot":false,"src":"170399:2:22","valueSize":1},{"declaration":36667,"isOffset":false,"isSlot":false,"src":"170428:2:22","valueSize":1},{"declaration":36670,"isOffset":false,"isSlot":false,"src":"170457:2:22","valueSize":1},{"declaration":36673,"isOffset":false,"isSlot":false,"src":"170486:2:22","valueSize":1}],"id":36681,"nodeType":"InlineAssembly","src":"170334:165:22"}]},"id":36683,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"169642:3:22","nodeType":"FunctionDefinition","parameters":{"id":36658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36651,"mutability":"mutable","name":"p0","nameLocation":"169651:2:22","nodeType":"VariableDeclaration","scope":36683,"src":"169646:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36650,"name":"bool","nodeType":"ElementaryTypeName","src":"169646:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36653,"mutability":"mutable","name":"p1","nameLocation":"169663:2:22","nodeType":"VariableDeclaration","scope":36683,"src":"169655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36652,"name":"address","nodeType":"ElementaryTypeName","src":"169655:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36655,"mutability":"mutable","name":"p2","nameLocation":"169675:2:22","nodeType":"VariableDeclaration","scope":36683,"src":"169667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36654,"name":"address","nodeType":"ElementaryTypeName","src":"169667:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36657,"mutability":"mutable","name":"p3","nameLocation":"169687:2:22","nodeType":"VariableDeclaration","scope":36683,"src":"169679:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36656,"name":"address","nodeType":"ElementaryTypeName","src":"169679:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"169645:45:22"},"returnParameters":{"id":36659,"nodeType":"ParameterList","parameters":[],"src":"169705:0:22"},"scope":44426,"src":"169633:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36716,"nodeType":"Block","src":"170580:797:22","statements":[{"assignments":[36695],"declarations":[{"constant":false,"id":36695,"mutability":"mutable","name":"m0","nameLocation":"170598:2:22","nodeType":"VariableDeclaration","scope":36716,"src":"170590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170590:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36696,"nodeType":"VariableDeclarationStatement","src":"170590:10:22"},{"assignments":[36698],"declarations":[{"constant":false,"id":36698,"mutability":"mutable","name":"m1","nameLocation":"170618:2:22","nodeType":"VariableDeclaration","scope":36716,"src":"170610:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170610:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36699,"nodeType":"VariableDeclarationStatement","src":"170610:10:22"},{"assignments":[36701],"declarations":[{"constant":false,"id":36701,"mutability":"mutable","name":"m2","nameLocation":"170638:2:22","nodeType":"VariableDeclaration","scope":36716,"src":"170630:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170630:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36702,"nodeType":"VariableDeclarationStatement","src":"170630:10:22"},{"assignments":[36704],"declarations":[{"constant":false,"id":36704,"mutability":"mutable","name":"m3","nameLocation":"170658:2:22","nodeType":"VariableDeclaration","scope":36716,"src":"170650:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170650:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36705,"nodeType":"VariableDeclarationStatement","src":"170650:10:22"},{"assignments":[36707],"declarations":[{"constant":false,"id":36707,"mutability":"mutable","name":"m4","nameLocation":"170678:2:22","nodeType":"VariableDeclaration","scope":36716,"src":"170670:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170670:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36708,"nodeType":"VariableDeclarationStatement","src":"170670:10:22"},{"AST":{"nativeSrc":"170742:375:22","nodeType":"YulBlock","src":"170742:375:22","statements":[{"nativeSrc":"170756:17:22","nodeType":"YulAssignment","src":"170756:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170768:4:22","nodeType":"YulLiteral","src":"170768:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"170762:5:22","nodeType":"YulIdentifier","src":"170762:5:22"},"nativeSrc":"170762:11:22","nodeType":"YulFunctionCall","src":"170762:11:22"},"variableNames":[{"name":"m0","nativeSrc":"170756:2:22","nodeType":"YulIdentifier","src":"170756:2:22"}]},{"nativeSrc":"170786:17:22","nodeType":"YulAssignment","src":"170786:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170798:4:22","nodeType":"YulLiteral","src":"170798:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"170792:5:22","nodeType":"YulIdentifier","src":"170792:5:22"},"nativeSrc":"170792:11:22","nodeType":"YulFunctionCall","src":"170792:11:22"},"variableNames":[{"name":"m1","nativeSrc":"170786:2:22","nodeType":"YulIdentifier","src":"170786:2:22"}]},{"nativeSrc":"170816:17:22","nodeType":"YulAssignment","src":"170816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170828:4:22","nodeType":"YulLiteral","src":"170828:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"170822:5:22","nodeType":"YulIdentifier","src":"170822:5:22"},"nativeSrc":"170822:11:22","nodeType":"YulFunctionCall","src":"170822:11:22"},"variableNames":[{"name":"m2","nativeSrc":"170816:2:22","nodeType":"YulIdentifier","src":"170816:2:22"}]},{"nativeSrc":"170846:17:22","nodeType":"YulAssignment","src":"170846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170858:4:22","nodeType":"YulLiteral","src":"170858:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"170852:5:22","nodeType":"YulIdentifier","src":"170852:5:22"},"nativeSrc":"170852:11:22","nodeType":"YulFunctionCall","src":"170852:11:22"},"variableNames":[{"name":"m3","nativeSrc":"170846:2:22","nodeType":"YulIdentifier","src":"170846:2:22"}]},{"nativeSrc":"170876:17:22","nodeType":"YulAssignment","src":"170876:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"170888:4:22","nodeType":"YulLiteral","src":"170888:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170882:5:22","nodeType":"YulIdentifier","src":"170882:5:22"},"nativeSrc":"170882:11:22","nodeType":"YulFunctionCall","src":"170882:11:22"},"variableNames":[{"name":"m4","nativeSrc":"170876:2:22","nodeType":"YulIdentifier","src":"170876:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170974:4:22","nodeType":"YulLiteral","src":"170974:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170980:10:22","nodeType":"YulLiteral","src":"170980:10:22","type":"","value":"0x46600be0"}],"functionName":{"name":"mstore","nativeSrc":"170967:6:22","nodeType":"YulIdentifier","src":"170967:6:22"},"nativeSrc":"170967:24:22","nodeType":"YulFunctionCall","src":"170967:24:22"},"nativeSrc":"170967:24:22","nodeType":"YulExpressionStatement","src":"170967:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171011:4:22","nodeType":"YulLiteral","src":"171011:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171017:2:22","nodeType":"YulIdentifier","src":"171017:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171004:6:22","nodeType":"YulIdentifier","src":"171004:6:22"},"nativeSrc":"171004:16:22","nodeType":"YulFunctionCall","src":"171004:16:22"},"nativeSrc":"171004:16:22","nodeType":"YulExpressionStatement","src":"171004:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171040:4:22","nodeType":"YulLiteral","src":"171040:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171046:2:22","nodeType":"YulIdentifier","src":"171046:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171033:6:22","nodeType":"YulIdentifier","src":"171033:6:22"},"nativeSrc":"171033:16:22","nodeType":"YulFunctionCall","src":"171033:16:22"},"nativeSrc":"171033:16:22","nodeType":"YulExpressionStatement","src":"171033:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171069:4:22","nodeType":"YulLiteral","src":"171069:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171075:2:22","nodeType":"YulIdentifier","src":"171075:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171062:6:22","nodeType":"YulIdentifier","src":"171062:6:22"},"nativeSrc":"171062:16:22","nodeType":"YulFunctionCall","src":"171062:16:22"},"nativeSrc":"171062:16:22","nodeType":"YulExpressionStatement","src":"171062:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171098:4:22","nodeType":"YulLiteral","src":"171098:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171104:2:22","nodeType":"YulIdentifier","src":"171104:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171091:6:22","nodeType":"YulIdentifier","src":"171091:6:22"},"nativeSrc":"171091:16:22","nodeType":"YulFunctionCall","src":"171091:16:22"},"nativeSrc":"171091:16:22","nodeType":"YulExpressionStatement","src":"171091:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36695,"isOffset":false,"isSlot":false,"src":"170756:2:22","valueSize":1},{"declaration":36698,"isOffset":false,"isSlot":false,"src":"170786:2:22","valueSize":1},{"declaration":36701,"isOffset":false,"isSlot":false,"src":"170816:2:22","valueSize":1},{"declaration":36704,"isOffset":false,"isSlot":false,"src":"170846:2:22","valueSize":1},{"declaration":36707,"isOffset":false,"isSlot":false,"src":"170876:2:22","valueSize":1},{"declaration":36685,"isOffset":false,"isSlot":false,"src":"171017:2:22","valueSize":1},{"declaration":36687,"isOffset":false,"isSlot":false,"src":"171046:2:22","valueSize":1},{"declaration":36689,"isOffset":false,"isSlot":false,"src":"171075:2:22","valueSize":1},{"declaration":36691,"isOffset":false,"isSlot":false,"src":"171104:2:22","valueSize":1}],"id":36709,"nodeType":"InlineAssembly","src":"170733:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171142:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171148:4:22","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":36710,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"171126:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"171126:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36714,"nodeType":"ExpressionStatement","src":"171126:27:22"},{"AST":{"nativeSrc":"171215:156:22","nodeType":"YulBlock","src":"171215:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"171236:4:22","nodeType":"YulLiteral","src":"171236:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"171242:2:22","nodeType":"YulIdentifier","src":"171242:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171229:6:22","nodeType":"YulIdentifier","src":"171229:6:22"},"nativeSrc":"171229:16:22","nodeType":"YulFunctionCall","src":"171229:16:22"},"nativeSrc":"171229:16:22","nodeType":"YulExpressionStatement","src":"171229:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171265:4:22","nodeType":"YulLiteral","src":"171265:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"171271:2:22","nodeType":"YulIdentifier","src":"171271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171258:6:22","nodeType":"YulIdentifier","src":"171258:6:22"},"nativeSrc":"171258:16:22","nodeType":"YulFunctionCall","src":"171258:16:22"},"nativeSrc":"171258:16:22","nodeType":"YulExpressionStatement","src":"171258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171294:4:22","nodeType":"YulLiteral","src":"171294:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"171300:2:22","nodeType":"YulIdentifier","src":"171300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171287:6:22","nodeType":"YulIdentifier","src":"171287:6:22"},"nativeSrc":"171287:16:22","nodeType":"YulFunctionCall","src":"171287:16:22"},"nativeSrc":"171287:16:22","nodeType":"YulExpressionStatement","src":"171287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171323:4:22","nodeType":"YulLiteral","src":"171323:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"171329:2:22","nodeType":"YulIdentifier","src":"171329:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171316:6:22","nodeType":"YulIdentifier","src":"171316:6:22"},"nativeSrc":"171316:16:22","nodeType":"YulFunctionCall","src":"171316:16:22"},"nativeSrc":"171316:16:22","nodeType":"YulExpressionStatement","src":"171316:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171352:4:22","nodeType":"YulLiteral","src":"171352:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"171358:2:22","nodeType":"YulIdentifier","src":"171358:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171345:6:22","nodeType":"YulIdentifier","src":"171345:6:22"},"nativeSrc":"171345:16:22","nodeType":"YulFunctionCall","src":"171345:16:22"},"nativeSrc":"171345:16:22","nodeType":"YulExpressionStatement","src":"171345:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36695,"isOffset":false,"isSlot":false,"src":"171242:2:22","valueSize":1},{"declaration":36698,"isOffset":false,"isSlot":false,"src":"171271:2:22","valueSize":1},{"declaration":36701,"isOffset":false,"isSlot":false,"src":"171300:2:22","valueSize":1},{"declaration":36704,"isOffset":false,"isSlot":false,"src":"171329:2:22","valueSize":1},{"declaration":36707,"isOffset":false,"isSlot":false,"src":"171358:2:22","valueSize":1}],"id":36715,"nodeType":"InlineAssembly","src":"171206:165:22"}]},"id":36717,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"170520:3:22","nodeType":"FunctionDefinition","parameters":{"id":36692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36685,"mutability":"mutable","name":"p0","nameLocation":"170529:2:22","nodeType":"VariableDeclaration","scope":36717,"src":"170524:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36684,"name":"bool","nodeType":"ElementaryTypeName","src":"170524:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36687,"mutability":"mutable","name":"p1","nameLocation":"170541:2:22","nodeType":"VariableDeclaration","scope":36717,"src":"170533:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36686,"name":"address","nodeType":"ElementaryTypeName","src":"170533:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36689,"mutability":"mutable","name":"p2","nameLocation":"170553:2:22","nodeType":"VariableDeclaration","scope":36717,"src":"170545:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36688,"name":"address","nodeType":"ElementaryTypeName","src":"170545:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36691,"mutability":"mutable","name":"p3","nameLocation":"170562:2:22","nodeType":"VariableDeclaration","scope":36717,"src":"170557:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36690,"name":"bool","nodeType":"ElementaryTypeName","src":"170557:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"170523:42:22"},"returnParameters":{"id":36693,"nodeType":"ParameterList","parameters":[],"src":"170580:0:22"},"scope":44426,"src":"170511:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36750,"nodeType":"Block","src":"171455:800:22","statements":[{"assignments":[36729],"declarations":[{"constant":false,"id":36729,"mutability":"mutable","name":"m0","nameLocation":"171473:2:22","nodeType":"VariableDeclaration","scope":36750,"src":"171465:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171465:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36730,"nodeType":"VariableDeclarationStatement","src":"171465:10:22"},{"assignments":[36732],"declarations":[{"constant":false,"id":36732,"mutability":"mutable","name":"m1","nameLocation":"171493:2:22","nodeType":"VariableDeclaration","scope":36750,"src":"171485:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171485:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36733,"nodeType":"VariableDeclarationStatement","src":"171485:10:22"},{"assignments":[36735],"declarations":[{"constant":false,"id":36735,"mutability":"mutable","name":"m2","nameLocation":"171513:2:22","nodeType":"VariableDeclaration","scope":36750,"src":"171505:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171505:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36736,"nodeType":"VariableDeclarationStatement","src":"171505:10:22"},{"assignments":[36738],"declarations":[{"constant":false,"id":36738,"mutability":"mutable","name":"m3","nameLocation":"171533:2:22","nodeType":"VariableDeclaration","scope":36750,"src":"171525:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171525:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36739,"nodeType":"VariableDeclarationStatement","src":"171525:10:22"},{"assignments":[36741],"declarations":[{"constant":false,"id":36741,"mutability":"mutable","name":"m4","nameLocation":"171553:2:22","nodeType":"VariableDeclaration","scope":36750,"src":"171545:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171545:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36742,"nodeType":"VariableDeclarationStatement","src":"171545:10:22"},{"AST":{"nativeSrc":"171617:378:22","nodeType":"YulBlock","src":"171617:378:22","statements":[{"nativeSrc":"171631:17:22","nodeType":"YulAssignment","src":"171631:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"171643:4:22","nodeType":"YulLiteral","src":"171643:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"171637:5:22","nodeType":"YulIdentifier","src":"171637:5:22"},"nativeSrc":"171637:11:22","nodeType":"YulFunctionCall","src":"171637:11:22"},"variableNames":[{"name":"m0","nativeSrc":"171631:2:22","nodeType":"YulIdentifier","src":"171631:2:22"}]},{"nativeSrc":"171661:17:22","nodeType":"YulAssignment","src":"171661:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"171673:4:22","nodeType":"YulLiteral","src":"171673:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"171667:5:22","nodeType":"YulIdentifier","src":"171667:5:22"},"nativeSrc":"171667:11:22","nodeType":"YulFunctionCall","src":"171667:11:22"},"variableNames":[{"name":"m1","nativeSrc":"171661:2:22","nodeType":"YulIdentifier","src":"171661:2:22"}]},{"nativeSrc":"171691:17:22","nodeType":"YulAssignment","src":"171691:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"171703:4:22","nodeType":"YulLiteral","src":"171703:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"171697:5:22","nodeType":"YulIdentifier","src":"171697:5:22"},"nativeSrc":"171697:11:22","nodeType":"YulFunctionCall","src":"171697:11:22"},"variableNames":[{"name":"m2","nativeSrc":"171691:2:22","nodeType":"YulIdentifier","src":"171691:2:22"}]},{"nativeSrc":"171721:17:22","nodeType":"YulAssignment","src":"171721:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"171733:4:22","nodeType":"YulLiteral","src":"171733:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"171727:5:22","nodeType":"YulIdentifier","src":"171727:5:22"},"nativeSrc":"171727:11:22","nodeType":"YulFunctionCall","src":"171727:11:22"},"variableNames":[{"name":"m3","nativeSrc":"171721:2:22","nodeType":"YulIdentifier","src":"171721:2:22"}]},{"nativeSrc":"171751:17:22","nodeType":"YulAssignment","src":"171751:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"171763:4:22","nodeType":"YulLiteral","src":"171763:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"171757:5:22","nodeType":"YulIdentifier","src":"171757:5:22"},"nativeSrc":"171757:11:22","nodeType":"YulFunctionCall","src":"171757:11:22"},"variableNames":[{"name":"m4","nativeSrc":"171751:2:22","nodeType":"YulIdentifier","src":"171751:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171852:4:22","nodeType":"YulLiteral","src":"171852:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"171858:10:22","nodeType":"YulLiteral","src":"171858:10:22","type":"","value":"0x0c66d1be"}],"functionName":{"name":"mstore","nativeSrc":"171845:6:22","nodeType":"YulIdentifier","src":"171845:6:22"},"nativeSrc":"171845:24:22","nodeType":"YulFunctionCall","src":"171845:24:22"},"nativeSrc":"171845:24:22","nodeType":"YulExpressionStatement","src":"171845:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171889:4:22","nodeType":"YulLiteral","src":"171889:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171895:2:22","nodeType":"YulIdentifier","src":"171895:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171882:6:22","nodeType":"YulIdentifier","src":"171882:6:22"},"nativeSrc":"171882:16:22","nodeType":"YulFunctionCall","src":"171882:16:22"},"nativeSrc":"171882:16:22","nodeType":"YulExpressionStatement","src":"171882:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171918:4:22","nodeType":"YulLiteral","src":"171918:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171924:2:22","nodeType":"YulIdentifier","src":"171924:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171911:6:22","nodeType":"YulIdentifier","src":"171911:6:22"},"nativeSrc":"171911:16:22","nodeType":"YulFunctionCall","src":"171911:16:22"},"nativeSrc":"171911:16:22","nodeType":"YulExpressionStatement","src":"171911:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171947:4:22","nodeType":"YulLiteral","src":"171947:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171953:2:22","nodeType":"YulIdentifier","src":"171953:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171940:6:22","nodeType":"YulIdentifier","src":"171940:6:22"},"nativeSrc":"171940:16:22","nodeType":"YulFunctionCall","src":"171940:16:22"},"nativeSrc":"171940:16:22","nodeType":"YulExpressionStatement","src":"171940:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171976:4:22","nodeType":"YulLiteral","src":"171976:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171982:2:22","nodeType":"YulIdentifier","src":"171982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"171969:6:22","nodeType":"YulIdentifier","src":"171969:6:22"},"nativeSrc":"171969:16:22","nodeType":"YulFunctionCall","src":"171969:16:22"},"nativeSrc":"171969:16:22","nodeType":"YulExpressionStatement","src":"171969:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36729,"isOffset":false,"isSlot":false,"src":"171631:2:22","valueSize":1},{"declaration":36732,"isOffset":false,"isSlot":false,"src":"171661:2:22","valueSize":1},{"declaration":36735,"isOffset":false,"isSlot":false,"src":"171691:2:22","valueSize":1},{"declaration":36738,"isOffset":false,"isSlot":false,"src":"171721:2:22","valueSize":1},{"declaration":36741,"isOffset":false,"isSlot":false,"src":"171751:2:22","valueSize":1},{"declaration":36719,"isOffset":false,"isSlot":false,"src":"171895:2:22","valueSize":1},{"declaration":36721,"isOffset":false,"isSlot":false,"src":"171924:2:22","valueSize":1},{"declaration":36723,"isOffset":false,"isSlot":false,"src":"171953:2:22","valueSize":1},{"declaration":36725,"isOffset":false,"isSlot":false,"src":"171982:2:22","valueSize":1}],"id":36743,"nodeType":"InlineAssembly","src":"171608:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172020:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172026:4:22","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":36744,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"172004:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"172004:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36748,"nodeType":"ExpressionStatement","src":"172004:27:22"},{"AST":{"nativeSrc":"172093:156:22","nodeType":"YulBlock","src":"172093:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"172114:4:22","nodeType":"YulLiteral","src":"172114:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"172120:2:22","nodeType":"YulIdentifier","src":"172120:2:22"}],"functionName":{"name":"mstore","nativeSrc":"172107:6:22","nodeType":"YulIdentifier","src":"172107:6:22"},"nativeSrc":"172107:16:22","nodeType":"YulFunctionCall","src":"172107:16:22"},"nativeSrc":"172107:16:22","nodeType":"YulExpressionStatement","src":"172107:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172143:4:22","nodeType":"YulLiteral","src":"172143:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"172149:2:22","nodeType":"YulIdentifier","src":"172149:2:22"}],"functionName":{"name":"mstore","nativeSrc":"172136:6:22","nodeType":"YulIdentifier","src":"172136:6:22"},"nativeSrc":"172136:16:22","nodeType":"YulFunctionCall","src":"172136:16:22"},"nativeSrc":"172136:16:22","nodeType":"YulExpressionStatement","src":"172136:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172172:4:22","nodeType":"YulLiteral","src":"172172:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"172178:2:22","nodeType":"YulIdentifier","src":"172178:2:22"}],"functionName":{"name":"mstore","nativeSrc":"172165:6:22","nodeType":"YulIdentifier","src":"172165:6:22"},"nativeSrc":"172165:16:22","nodeType":"YulFunctionCall","src":"172165:16:22"},"nativeSrc":"172165:16:22","nodeType":"YulExpressionStatement","src":"172165:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172201:4:22","nodeType":"YulLiteral","src":"172201:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"172207:2:22","nodeType":"YulIdentifier","src":"172207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"172194:6:22","nodeType":"YulIdentifier","src":"172194:6:22"},"nativeSrc":"172194:16:22","nodeType":"YulFunctionCall","src":"172194:16:22"},"nativeSrc":"172194:16:22","nodeType":"YulExpressionStatement","src":"172194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172230:4:22","nodeType":"YulLiteral","src":"172230:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"172236:2:22","nodeType":"YulIdentifier","src":"172236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"172223:6:22","nodeType":"YulIdentifier","src":"172223:6:22"},"nativeSrc":"172223:16:22","nodeType":"YulFunctionCall","src":"172223:16:22"},"nativeSrc":"172223:16:22","nodeType":"YulExpressionStatement","src":"172223:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36729,"isOffset":false,"isSlot":false,"src":"172120:2:22","valueSize":1},{"declaration":36732,"isOffset":false,"isSlot":false,"src":"172149:2:22","valueSize":1},{"declaration":36735,"isOffset":false,"isSlot":false,"src":"172178:2:22","valueSize":1},{"declaration":36738,"isOffset":false,"isSlot":false,"src":"172207:2:22","valueSize":1},{"declaration":36741,"isOffset":false,"isSlot":false,"src":"172236:2:22","valueSize":1}],"id":36749,"nodeType":"InlineAssembly","src":"172084:165:22"}]},"id":36751,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"171392:3:22","nodeType":"FunctionDefinition","parameters":{"id":36726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36719,"mutability":"mutable","name":"p0","nameLocation":"171401:2:22","nodeType":"VariableDeclaration","scope":36751,"src":"171396:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36718,"name":"bool","nodeType":"ElementaryTypeName","src":"171396:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36721,"mutability":"mutable","name":"p1","nameLocation":"171413:2:22","nodeType":"VariableDeclaration","scope":36751,"src":"171405:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36720,"name":"address","nodeType":"ElementaryTypeName","src":"171405:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36723,"mutability":"mutable","name":"p2","nameLocation":"171425:2:22","nodeType":"VariableDeclaration","scope":36751,"src":"171417:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36722,"name":"address","nodeType":"ElementaryTypeName","src":"171417:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36725,"mutability":"mutable","name":"p3","nameLocation":"171437:2:22","nodeType":"VariableDeclaration","scope":36751,"src":"171429:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36724,"name":"uint256","nodeType":"ElementaryTypeName","src":"171429:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"171395:45:22"},"returnParameters":{"id":36727,"nodeType":"ParameterList","parameters":[],"src":"171455:0:22"},"scope":44426,"src":"171383:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36790,"nodeType":"Block","src":"172333:1348:22","statements":[{"assignments":[36763],"declarations":[{"constant":false,"id":36763,"mutability":"mutable","name":"m0","nameLocation":"172351:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172343:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172343:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36764,"nodeType":"VariableDeclarationStatement","src":"172343:10:22"},{"assignments":[36766],"declarations":[{"constant":false,"id":36766,"mutability":"mutable","name":"m1","nameLocation":"172371:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172363:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172363:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36767,"nodeType":"VariableDeclarationStatement","src":"172363:10:22"},{"assignments":[36769],"declarations":[{"constant":false,"id":36769,"mutability":"mutable","name":"m2","nameLocation":"172391:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172383:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36770,"nodeType":"VariableDeclarationStatement","src":"172383:10:22"},{"assignments":[36772],"declarations":[{"constant":false,"id":36772,"mutability":"mutable","name":"m3","nameLocation":"172411:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172403:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172403:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36773,"nodeType":"VariableDeclarationStatement","src":"172403:10:22"},{"assignments":[36775],"declarations":[{"constant":false,"id":36775,"mutability":"mutable","name":"m4","nameLocation":"172431:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172423:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172423:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36776,"nodeType":"VariableDeclarationStatement","src":"172423:10:22"},{"assignments":[36778],"declarations":[{"constant":false,"id":36778,"mutability":"mutable","name":"m5","nameLocation":"172451:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172443:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172443:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36779,"nodeType":"VariableDeclarationStatement","src":"172443:10:22"},{"assignments":[36781],"declarations":[{"constant":false,"id":36781,"mutability":"mutable","name":"m6","nameLocation":"172471:2:22","nodeType":"VariableDeclaration","scope":36790,"src":"172463:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172463:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36782,"nodeType":"VariableDeclarationStatement","src":"172463:10:22"},{"AST":{"nativeSrc":"172535:828:22","nodeType":"YulBlock","src":"172535:828:22","statements":[{"body":{"nativeSrc":"172578:313:22","nodeType":"YulBlock","src":"172578:313:22","statements":[{"nativeSrc":"172596:15:22","nodeType":"YulVariableDeclaration","src":"172596:15:22","value":{"kind":"number","nativeSrc":"172610:1:22","nodeType":"YulLiteral","src":"172610:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"172600:6:22","nodeType":"YulTypedName","src":"172600:6:22","type":""}]},{"body":{"nativeSrc":"172681:40:22","nodeType":"YulBlock","src":"172681:40:22","statements":[{"body":{"nativeSrc":"172710:9:22","nodeType":"YulBlock","src":"172710:9:22","statements":[{"nativeSrc":"172712:5:22","nodeType":"YulBreak","src":"172712:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"172698:6:22","nodeType":"YulIdentifier","src":"172698:6:22"},{"name":"w","nativeSrc":"172706:1:22","nodeType":"YulIdentifier","src":"172706:1:22"}],"functionName":{"name":"byte","nativeSrc":"172693:4:22","nodeType":"YulIdentifier","src":"172693:4:22"},"nativeSrc":"172693:15:22","nodeType":"YulFunctionCall","src":"172693:15:22"}],"functionName":{"name":"iszero","nativeSrc":"172686:6:22","nodeType":"YulIdentifier","src":"172686:6:22"},"nativeSrc":"172686:23:22","nodeType":"YulFunctionCall","src":"172686:23:22"},"nativeSrc":"172683:36:22","nodeType":"YulIf","src":"172683:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"172638:6:22","nodeType":"YulIdentifier","src":"172638:6:22"},{"kind":"number","nativeSrc":"172646:4:22","nodeType":"YulLiteral","src":"172646:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"172635:2:22","nodeType":"YulIdentifier","src":"172635:2:22"},"nativeSrc":"172635:16:22","nodeType":"YulFunctionCall","src":"172635:16:22"},"nativeSrc":"172628:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"172652:28:22","nodeType":"YulBlock","src":"172652:28:22","statements":[{"nativeSrc":"172654:24:22","nodeType":"YulAssignment","src":"172654:24:22","value":{"arguments":[{"name":"length","nativeSrc":"172668:6:22","nodeType":"YulIdentifier","src":"172668:6:22"},{"kind":"number","nativeSrc":"172676:1:22","nodeType":"YulLiteral","src":"172676:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"172664:3:22","nodeType":"YulIdentifier","src":"172664:3:22"},"nativeSrc":"172664:14:22","nodeType":"YulFunctionCall","src":"172664:14:22"},"variableNames":[{"name":"length","nativeSrc":"172654:6:22","nodeType":"YulIdentifier","src":"172654:6:22"}]}]},"pre":{"nativeSrc":"172632:2:22","nodeType":"YulBlock","src":"172632:2:22","statements":[]},"src":"172628:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"172745:3:22","nodeType":"YulIdentifier","src":"172745:3:22"},{"name":"length","nativeSrc":"172750:6:22","nodeType":"YulIdentifier","src":"172750:6:22"}],"functionName":{"name":"mstore","nativeSrc":"172738:6:22","nodeType":"YulIdentifier","src":"172738:6:22"},"nativeSrc":"172738:19:22","nodeType":"YulFunctionCall","src":"172738:19:22"},"nativeSrc":"172738:19:22","nodeType":"YulExpressionStatement","src":"172738:19:22"},{"nativeSrc":"172774:37:22","nodeType":"YulVariableDeclaration","src":"172774:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"172791:3:22","nodeType":"YulLiteral","src":"172791:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"172800:1:22","nodeType":"YulLiteral","src":"172800:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"172803:6:22","nodeType":"YulIdentifier","src":"172803:6:22"}],"functionName":{"name":"shl","nativeSrc":"172796:3:22","nodeType":"YulIdentifier","src":"172796:3:22"},"nativeSrc":"172796:14:22","nodeType":"YulFunctionCall","src":"172796:14:22"}],"functionName":{"name":"sub","nativeSrc":"172787:3:22","nodeType":"YulIdentifier","src":"172787:3:22"},"nativeSrc":"172787:24:22","nodeType":"YulFunctionCall","src":"172787:24:22"},"variables":[{"name":"shift","nativeSrc":"172778:5:22","nodeType":"YulTypedName","src":"172778:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"172839:3:22","nodeType":"YulIdentifier","src":"172839:3:22"},{"kind":"number","nativeSrc":"172844:4:22","nodeType":"YulLiteral","src":"172844:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"172835:3:22","nodeType":"YulIdentifier","src":"172835:3:22"},"nativeSrc":"172835:14:22","nodeType":"YulFunctionCall","src":"172835:14:22"},{"arguments":[{"name":"shift","nativeSrc":"172855:5:22","nodeType":"YulIdentifier","src":"172855:5:22"},{"arguments":[{"name":"shift","nativeSrc":"172866:5:22","nodeType":"YulIdentifier","src":"172866:5:22"},{"name":"w","nativeSrc":"172873:1:22","nodeType":"YulIdentifier","src":"172873:1:22"}],"functionName":{"name":"shr","nativeSrc":"172862:3:22","nodeType":"YulIdentifier","src":"172862:3:22"},"nativeSrc":"172862:13:22","nodeType":"YulFunctionCall","src":"172862:13:22"}],"functionName":{"name":"shl","nativeSrc":"172851:3:22","nodeType":"YulIdentifier","src":"172851:3:22"},"nativeSrc":"172851:25:22","nodeType":"YulFunctionCall","src":"172851:25:22"}],"functionName":{"name":"mstore","nativeSrc":"172828:6:22","nodeType":"YulIdentifier","src":"172828:6:22"},"nativeSrc":"172828:49:22","nodeType":"YulFunctionCall","src":"172828:49:22"},"nativeSrc":"172828:49:22","nodeType":"YulExpressionStatement","src":"172828:49:22"}]},"name":"writeString","nativeSrc":"172549:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"172570:3:22","nodeType":"YulTypedName","src":"172570:3:22","type":""},{"name":"w","nativeSrc":"172575:1:22","nodeType":"YulTypedName","src":"172575:1:22","type":""}],"src":"172549:342:22"},{"nativeSrc":"172904:17:22","nodeType":"YulAssignment","src":"172904:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"172916:4:22","nodeType":"YulLiteral","src":"172916:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"172910:5:22","nodeType":"YulIdentifier","src":"172910:5:22"},"nativeSrc":"172910:11:22","nodeType":"YulFunctionCall","src":"172910:11:22"},"variableNames":[{"name":"m0","nativeSrc":"172904:2:22","nodeType":"YulIdentifier","src":"172904:2:22"}]},{"nativeSrc":"172934:17:22","nodeType":"YulAssignment","src":"172934:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"172946:4:22","nodeType":"YulLiteral","src":"172946:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"172940:5:22","nodeType":"YulIdentifier","src":"172940:5:22"},"nativeSrc":"172940:11:22","nodeType":"YulFunctionCall","src":"172940:11:22"},"variableNames":[{"name":"m1","nativeSrc":"172934:2:22","nodeType":"YulIdentifier","src":"172934:2:22"}]},{"nativeSrc":"172964:17:22","nodeType":"YulAssignment","src":"172964:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"172976:4:22","nodeType":"YulLiteral","src":"172976:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"172970:5:22","nodeType":"YulIdentifier","src":"172970:5:22"},"nativeSrc":"172970:11:22","nodeType":"YulFunctionCall","src":"172970:11:22"},"variableNames":[{"name":"m2","nativeSrc":"172964:2:22","nodeType":"YulIdentifier","src":"172964:2:22"}]},{"nativeSrc":"172994:17:22","nodeType":"YulAssignment","src":"172994:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173006:4:22","nodeType":"YulLiteral","src":"173006:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"173000:5:22","nodeType":"YulIdentifier","src":"173000:5:22"},"nativeSrc":"173000:11:22","nodeType":"YulFunctionCall","src":"173000:11:22"},"variableNames":[{"name":"m3","nativeSrc":"172994:2:22","nodeType":"YulIdentifier","src":"172994:2:22"}]},{"nativeSrc":"173024:17:22","nodeType":"YulAssignment","src":"173024:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173036:4:22","nodeType":"YulLiteral","src":"173036:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"173030:5:22","nodeType":"YulIdentifier","src":"173030:5:22"},"nativeSrc":"173030:11:22","nodeType":"YulFunctionCall","src":"173030:11:22"},"variableNames":[{"name":"m4","nativeSrc":"173024:2:22","nodeType":"YulIdentifier","src":"173024:2:22"}]},{"nativeSrc":"173054:17:22","nodeType":"YulAssignment","src":"173054:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173066:4:22","nodeType":"YulLiteral","src":"173066:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"173060:5:22","nodeType":"YulIdentifier","src":"173060:5:22"},"nativeSrc":"173060:11:22","nodeType":"YulFunctionCall","src":"173060:11:22"},"variableNames":[{"name":"m5","nativeSrc":"173054:2:22","nodeType":"YulIdentifier","src":"173054:2:22"}]},{"nativeSrc":"173084:17:22","nodeType":"YulAssignment","src":"173084:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173096:4:22","nodeType":"YulLiteral","src":"173096:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"173090:5:22","nodeType":"YulIdentifier","src":"173090:5:22"},"nativeSrc":"173090:11:22","nodeType":"YulFunctionCall","src":"173090:11:22"},"variableNames":[{"name":"m6","nativeSrc":"173084:2:22","nodeType":"YulIdentifier","src":"173084:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173184:4:22","nodeType":"YulLiteral","src":"173184:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"173190:10:22","nodeType":"YulLiteral","src":"173190:10:22","type":"","value":"0xd812a167"}],"functionName":{"name":"mstore","nativeSrc":"173177:6:22","nodeType":"YulIdentifier","src":"173177:6:22"},"nativeSrc":"173177:24:22","nodeType":"YulFunctionCall","src":"173177:24:22"},"nativeSrc":"173177:24:22","nodeType":"YulExpressionStatement","src":"173177:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173221:4:22","nodeType":"YulLiteral","src":"173221:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"173227:2:22","nodeType":"YulIdentifier","src":"173227:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173214:6:22","nodeType":"YulIdentifier","src":"173214:6:22"},"nativeSrc":"173214:16:22","nodeType":"YulFunctionCall","src":"173214:16:22"},"nativeSrc":"173214:16:22","nodeType":"YulExpressionStatement","src":"173214:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173250:4:22","nodeType":"YulLiteral","src":"173250:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"173256:2:22","nodeType":"YulIdentifier","src":"173256:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173243:6:22","nodeType":"YulIdentifier","src":"173243:6:22"},"nativeSrc":"173243:16:22","nodeType":"YulFunctionCall","src":"173243:16:22"},"nativeSrc":"173243:16:22","nodeType":"YulExpressionStatement","src":"173243:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173279:4:22","nodeType":"YulLiteral","src":"173279:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"173285:2:22","nodeType":"YulIdentifier","src":"173285:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173272:6:22","nodeType":"YulIdentifier","src":"173272:6:22"},"nativeSrc":"173272:16:22","nodeType":"YulFunctionCall","src":"173272:16:22"},"nativeSrc":"173272:16:22","nodeType":"YulExpressionStatement","src":"173272:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173308:4:22","nodeType":"YulLiteral","src":"173308:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"173314:4:22","nodeType":"YulLiteral","src":"173314:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"173301:6:22","nodeType":"YulIdentifier","src":"173301:6:22"},"nativeSrc":"173301:18:22","nodeType":"YulFunctionCall","src":"173301:18:22"},"nativeSrc":"173301:18:22","nodeType":"YulExpressionStatement","src":"173301:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173344:4:22","nodeType":"YulLiteral","src":"173344:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"173350:2:22","nodeType":"YulIdentifier","src":"173350:2:22"}],"functionName":{"name":"writeString","nativeSrc":"173332:11:22","nodeType":"YulIdentifier","src":"173332:11:22"},"nativeSrc":"173332:21:22","nodeType":"YulFunctionCall","src":"173332:21:22"},"nativeSrc":"173332:21:22","nodeType":"YulExpressionStatement","src":"173332:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36763,"isOffset":false,"isSlot":false,"src":"172904:2:22","valueSize":1},{"declaration":36766,"isOffset":false,"isSlot":false,"src":"172934:2:22","valueSize":1},{"declaration":36769,"isOffset":false,"isSlot":false,"src":"172964:2:22","valueSize":1},{"declaration":36772,"isOffset":false,"isSlot":false,"src":"172994:2:22","valueSize":1},{"declaration":36775,"isOffset":false,"isSlot":false,"src":"173024:2:22","valueSize":1},{"declaration":36778,"isOffset":false,"isSlot":false,"src":"173054:2:22","valueSize":1},{"declaration":36781,"isOffset":false,"isSlot":false,"src":"173084:2:22","valueSize":1},{"declaration":36753,"isOffset":false,"isSlot":false,"src":"173227:2:22","valueSize":1},{"declaration":36755,"isOffset":false,"isSlot":false,"src":"173256:2:22","valueSize":1},{"declaration":36757,"isOffset":false,"isSlot":false,"src":"173285:2:22","valueSize":1},{"declaration":36759,"isOffset":false,"isSlot":false,"src":"173350:2:22","valueSize":1}],"id":36783,"nodeType":"InlineAssembly","src":"172526:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173388:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173394:4:22","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":36784,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"173372:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"173372:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36788,"nodeType":"ExpressionStatement","src":"173372:27:22"},{"AST":{"nativeSrc":"173461:214:22","nodeType":"YulBlock","src":"173461:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"173482:4:22","nodeType":"YulLiteral","src":"173482:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"173488:2:22","nodeType":"YulIdentifier","src":"173488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173475:6:22","nodeType":"YulIdentifier","src":"173475:6:22"},"nativeSrc":"173475:16:22","nodeType":"YulFunctionCall","src":"173475:16:22"},"nativeSrc":"173475:16:22","nodeType":"YulExpressionStatement","src":"173475:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173511:4:22","nodeType":"YulLiteral","src":"173511:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"173517:2:22","nodeType":"YulIdentifier","src":"173517:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173504:6:22","nodeType":"YulIdentifier","src":"173504:6:22"},"nativeSrc":"173504:16:22","nodeType":"YulFunctionCall","src":"173504:16:22"},"nativeSrc":"173504:16:22","nodeType":"YulExpressionStatement","src":"173504:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173540:4:22","nodeType":"YulLiteral","src":"173540:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"173546:2:22","nodeType":"YulIdentifier","src":"173546:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173533:6:22","nodeType":"YulIdentifier","src":"173533:6:22"},"nativeSrc":"173533:16:22","nodeType":"YulFunctionCall","src":"173533:16:22"},"nativeSrc":"173533:16:22","nodeType":"YulExpressionStatement","src":"173533:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173569:4:22","nodeType":"YulLiteral","src":"173569:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"173575:2:22","nodeType":"YulIdentifier","src":"173575:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173562:6:22","nodeType":"YulIdentifier","src":"173562:6:22"},"nativeSrc":"173562:16:22","nodeType":"YulFunctionCall","src":"173562:16:22"},"nativeSrc":"173562:16:22","nodeType":"YulExpressionStatement","src":"173562:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173598:4:22","nodeType":"YulLiteral","src":"173598:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"173604:2:22","nodeType":"YulIdentifier","src":"173604:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173591:6:22","nodeType":"YulIdentifier","src":"173591:6:22"},"nativeSrc":"173591:16:22","nodeType":"YulFunctionCall","src":"173591:16:22"},"nativeSrc":"173591:16:22","nodeType":"YulExpressionStatement","src":"173591:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173627:4:22","nodeType":"YulLiteral","src":"173627:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"173633:2:22","nodeType":"YulIdentifier","src":"173633:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173620:6:22","nodeType":"YulIdentifier","src":"173620:6:22"},"nativeSrc":"173620:16:22","nodeType":"YulFunctionCall","src":"173620:16:22"},"nativeSrc":"173620:16:22","nodeType":"YulExpressionStatement","src":"173620:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173656:4:22","nodeType":"YulLiteral","src":"173656:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"173662:2:22","nodeType":"YulIdentifier","src":"173662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"173649:6:22","nodeType":"YulIdentifier","src":"173649:6:22"},"nativeSrc":"173649:16:22","nodeType":"YulFunctionCall","src":"173649:16:22"},"nativeSrc":"173649:16:22","nodeType":"YulExpressionStatement","src":"173649:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36763,"isOffset":false,"isSlot":false,"src":"173488:2:22","valueSize":1},{"declaration":36766,"isOffset":false,"isSlot":false,"src":"173517:2:22","valueSize":1},{"declaration":36769,"isOffset":false,"isSlot":false,"src":"173546:2:22","valueSize":1},{"declaration":36772,"isOffset":false,"isSlot":false,"src":"173575:2:22","valueSize":1},{"declaration":36775,"isOffset":false,"isSlot":false,"src":"173604:2:22","valueSize":1},{"declaration":36778,"isOffset":false,"isSlot":false,"src":"173633:2:22","valueSize":1},{"declaration":36781,"isOffset":false,"isSlot":false,"src":"173662:2:22","valueSize":1}],"id":36789,"nodeType":"InlineAssembly","src":"173452:223:22"}]},"id":36791,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"172270:3:22","nodeType":"FunctionDefinition","parameters":{"id":36760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36753,"mutability":"mutable","name":"p0","nameLocation":"172279:2:22","nodeType":"VariableDeclaration","scope":36791,"src":"172274:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36752,"name":"bool","nodeType":"ElementaryTypeName","src":"172274:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36755,"mutability":"mutable","name":"p1","nameLocation":"172291:2:22","nodeType":"VariableDeclaration","scope":36791,"src":"172283:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36754,"name":"address","nodeType":"ElementaryTypeName","src":"172283:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36757,"mutability":"mutable","name":"p2","nameLocation":"172303:2:22","nodeType":"VariableDeclaration","scope":36791,"src":"172295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36756,"name":"address","nodeType":"ElementaryTypeName","src":"172295:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36759,"mutability":"mutable","name":"p3","nameLocation":"172315:2:22","nodeType":"VariableDeclaration","scope":36791,"src":"172307:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172307:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"172273:45:22"},"returnParameters":{"id":36761,"nodeType":"ParameterList","parameters":[],"src":"172333:0:22"},"scope":44426,"src":"172261:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36824,"nodeType":"Block","src":"173756:797:22","statements":[{"assignments":[36803],"declarations":[{"constant":false,"id":36803,"mutability":"mutable","name":"m0","nameLocation":"173774:2:22","nodeType":"VariableDeclaration","scope":36824,"src":"173766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36804,"nodeType":"VariableDeclarationStatement","src":"173766:10:22"},{"assignments":[36806],"declarations":[{"constant":false,"id":36806,"mutability":"mutable","name":"m1","nameLocation":"173794:2:22","nodeType":"VariableDeclaration","scope":36824,"src":"173786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36807,"nodeType":"VariableDeclarationStatement","src":"173786:10:22"},{"assignments":[36809],"declarations":[{"constant":false,"id":36809,"mutability":"mutable","name":"m2","nameLocation":"173814:2:22","nodeType":"VariableDeclaration","scope":36824,"src":"173806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36810,"nodeType":"VariableDeclarationStatement","src":"173806:10:22"},{"assignments":[36812],"declarations":[{"constant":false,"id":36812,"mutability":"mutable","name":"m3","nameLocation":"173834:2:22","nodeType":"VariableDeclaration","scope":36824,"src":"173826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173826:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36813,"nodeType":"VariableDeclarationStatement","src":"173826:10:22"},{"assignments":[36815],"declarations":[{"constant":false,"id":36815,"mutability":"mutable","name":"m4","nameLocation":"173854:2:22","nodeType":"VariableDeclaration","scope":36824,"src":"173846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36816,"nodeType":"VariableDeclarationStatement","src":"173846:10:22"},{"AST":{"nativeSrc":"173918:375:22","nodeType":"YulBlock","src":"173918:375:22","statements":[{"nativeSrc":"173932:17:22","nodeType":"YulAssignment","src":"173932:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173944:4:22","nodeType":"YulLiteral","src":"173944:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"173938:5:22","nodeType":"YulIdentifier","src":"173938:5:22"},"nativeSrc":"173938:11:22","nodeType":"YulFunctionCall","src":"173938:11:22"},"variableNames":[{"name":"m0","nativeSrc":"173932:2:22","nodeType":"YulIdentifier","src":"173932:2:22"}]},{"nativeSrc":"173962:17:22","nodeType":"YulAssignment","src":"173962:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"173974:4:22","nodeType":"YulLiteral","src":"173974:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"173968:5:22","nodeType":"YulIdentifier","src":"173968:5:22"},"nativeSrc":"173968:11:22","nodeType":"YulFunctionCall","src":"173968:11:22"},"variableNames":[{"name":"m1","nativeSrc":"173962:2:22","nodeType":"YulIdentifier","src":"173962:2:22"}]},{"nativeSrc":"173992:17:22","nodeType":"YulAssignment","src":"173992:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174004:4:22","nodeType":"YulLiteral","src":"174004:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"173998:5:22","nodeType":"YulIdentifier","src":"173998:5:22"},"nativeSrc":"173998:11:22","nodeType":"YulFunctionCall","src":"173998:11:22"},"variableNames":[{"name":"m2","nativeSrc":"173992:2:22","nodeType":"YulIdentifier","src":"173992:2:22"}]},{"nativeSrc":"174022:17:22","nodeType":"YulAssignment","src":"174022:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174034:4:22","nodeType":"YulLiteral","src":"174034:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174028:5:22","nodeType":"YulIdentifier","src":"174028:5:22"},"nativeSrc":"174028:11:22","nodeType":"YulFunctionCall","src":"174028:11:22"},"variableNames":[{"name":"m3","nativeSrc":"174022:2:22","nodeType":"YulIdentifier","src":"174022:2:22"}]},{"nativeSrc":"174052:17:22","nodeType":"YulAssignment","src":"174052:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174064:4:22","nodeType":"YulLiteral","src":"174064:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174058:5:22","nodeType":"YulIdentifier","src":"174058:5:22"},"nativeSrc":"174058:11:22","nodeType":"YulFunctionCall","src":"174058:11:22"},"variableNames":[{"name":"m4","nativeSrc":"174052:2:22","nodeType":"YulIdentifier","src":"174052:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174150:4:22","nodeType":"YulLiteral","src":"174150:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"174156:10:22","nodeType":"YulLiteral","src":"174156:10:22","type":"","value":"0x1c41a336"}],"functionName":{"name":"mstore","nativeSrc":"174143:6:22","nodeType":"YulIdentifier","src":"174143:6:22"},"nativeSrc":"174143:24:22","nodeType":"YulFunctionCall","src":"174143:24:22"},"nativeSrc":"174143:24:22","nodeType":"YulExpressionStatement","src":"174143:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174187:4:22","nodeType":"YulLiteral","src":"174187:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"174193:2:22","nodeType":"YulIdentifier","src":"174193:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174180:6:22","nodeType":"YulIdentifier","src":"174180:6:22"},"nativeSrc":"174180:16:22","nodeType":"YulFunctionCall","src":"174180:16:22"},"nativeSrc":"174180:16:22","nodeType":"YulExpressionStatement","src":"174180:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174216:4:22","nodeType":"YulLiteral","src":"174216:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"174222:2:22","nodeType":"YulIdentifier","src":"174222:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174209:6:22","nodeType":"YulIdentifier","src":"174209:6:22"},"nativeSrc":"174209:16:22","nodeType":"YulFunctionCall","src":"174209:16:22"},"nativeSrc":"174209:16:22","nodeType":"YulExpressionStatement","src":"174209:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174245:4:22","nodeType":"YulLiteral","src":"174245:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"174251:2:22","nodeType":"YulIdentifier","src":"174251:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174238:6:22","nodeType":"YulIdentifier","src":"174238:6:22"},"nativeSrc":"174238:16:22","nodeType":"YulFunctionCall","src":"174238:16:22"},"nativeSrc":"174238:16:22","nodeType":"YulExpressionStatement","src":"174238:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174274:4:22","nodeType":"YulLiteral","src":"174274:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"174280:2:22","nodeType":"YulIdentifier","src":"174280:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174267:6:22","nodeType":"YulIdentifier","src":"174267:6:22"},"nativeSrc":"174267:16:22","nodeType":"YulFunctionCall","src":"174267:16:22"},"nativeSrc":"174267:16:22","nodeType":"YulExpressionStatement","src":"174267:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36803,"isOffset":false,"isSlot":false,"src":"173932:2:22","valueSize":1},{"declaration":36806,"isOffset":false,"isSlot":false,"src":"173962:2:22","valueSize":1},{"declaration":36809,"isOffset":false,"isSlot":false,"src":"173992:2:22","valueSize":1},{"declaration":36812,"isOffset":false,"isSlot":false,"src":"174022:2:22","valueSize":1},{"declaration":36815,"isOffset":false,"isSlot":false,"src":"174052:2:22","valueSize":1},{"declaration":36793,"isOffset":false,"isSlot":false,"src":"174193:2:22","valueSize":1},{"declaration":36795,"isOffset":false,"isSlot":false,"src":"174222:2:22","valueSize":1},{"declaration":36797,"isOffset":false,"isSlot":false,"src":"174251:2:22","valueSize":1},{"declaration":36799,"isOffset":false,"isSlot":false,"src":"174280:2:22","valueSize":1}],"id":36817,"nodeType":"InlineAssembly","src":"173909:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174318:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174324:4:22","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":36818,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"174302:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"174302:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36822,"nodeType":"ExpressionStatement","src":"174302:27:22"},{"AST":{"nativeSrc":"174391:156:22","nodeType":"YulBlock","src":"174391:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"174412:4:22","nodeType":"YulLiteral","src":"174412:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"174418:2:22","nodeType":"YulIdentifier","src":"174418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174405:6:22","nodeType":"YulIdentifier","src":"174405:6:22"},"nativeSrc":"174405:16:22","nodeType":"YulFunctionCall","src":"174405:16:22"},"nativeSrc":"174405:16:22","nodeType":"YulExpressionStatement","src":"174405:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174441:4:22","nodeType":"YulLiteral","src":"174441:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"174447:2:22","nodeType":"YulIdentifier","src":"174447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174434:6:22","nodeType":"YulIdentifier","src":"174434:6:22"},"nativeSrc":"174434:16:22","nodeType":"YulFunctionCall","src":"174434:16:22"},"nativeSrc":"174434:16:22","nodeType":"YulExpressionStatement","src":"174434:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174470:4:22","nodeType":"YulLiteral","src":"174470:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"174476:2:22","nodeType":"YulIdentifier","src":"174476:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174463:6:22","nodeType":"YulIdentifier","src":"174463:6:22"},"nativeSrc":"174463:16:22","nodeType":"YulFunctionCall","src":"174463:16:22"},"nativeSrc":"174463:16:22","nodeType":"YulExpressionStatement","src":"174463:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174499:4:22","nodeType":"YulLiteral","src":"174499:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"174505:2:22","nodeType":"YulIdentifier","src":"174505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174492:6:22","nodeType":"YulIdentifier","src":"174492:6:22"},"nativeSrc":"174492:16:22","nodeType":"YulFunctionCall","src":"174492:16:22"},"nativeSrc":"174492:16:22","nodeType":"YulExpressionStatement","src":"174492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174528:4:22","nodeType":"YulLiteral","src":"174528:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"174534:2:22","nodeType":"YulIdentifier","src":"174534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"174521:6:22","nodeType":"YulIdentifier","src":"174521:6:22"},"nativeSrc":"174521:16:22","nodeType":"YulFunctionCall","src":"174521:16:22"},"nativeSrc":"174521:16:22","nodeType":"YulExpressionStatement","src":"174521:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36803,"isOffset":false,"isSlot":false,"src":"174418:2:22","valueSize":1},{"declaration":36806,"isOffset":false,"isSlot":false,"src":"174447:2:22","valueSize":1},{"declaration":36809,"isOffset":false,"isSlot":false,"src":"174476:2:22","valueSize":1},{"declaration":36812,"isOffset":false,"isSlot":false,"src":"174505:2:22","valueSize":1},{"declaration":36815,"isOffset":false,"isSlot":false,"src":"174534:2:22","valueSize":1}],"id":36823,"nodeType":"InlineAssembly","src":"174382:165:22"}]},"id":36825,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"173696:3:22","nodeType":"FunctionDefinition","parameters":{"id":36800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36793,"mutability":"mutable","name":"p0","nameLocation":"173705:2:22","nodeType":"VariableDeclaration","scope":36825,"src":"173700:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36792,"name":"bool","nodeType":"ElementaryTypeName","src":"173700:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36795,"mutability":"mutable","name":"p1","nameLocation":"173717:2:22","nodeType":"VariableDeclaration","scope":36825,"src":"173709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36794,"name":"address","nodeType":"ElementaryTypeName","src":"173709:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36797,"mutability":"mutable","name":"p2","nameLocation":"173726:2:22","nodeType":"VariableDeclaration","scope":36825,"src":"173721:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36796,"name":"bool","nodeType":"ElementaryTypeName","src":"173721:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36799,"mutability":"mutable","name":"p3","nameLocation":"173738:2:22","nodeType":"VariableDeclaration","scope":36825,"src":"173730:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36798,"name":"address","nodeType":"ElementaryTypeName","src":"173730:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173699:42:22"},"returnParameters":{"id":36801,"nodeType":"ParameterList","parameters":[],"src":"173756:0:22"},"scope":44426,"src":"173687:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36858,"nodeType":"Block","src":"174625:794:22","statements":[{"assignments":[36837],"declarations":[{"constant":false,"id":36837,"mutability":"mutable","name":"m0","nameLocation":"174643:2:22","nodeType":"VariableDeclaration","scope":36858,"src":"174635:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174635:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36838,"nodeType":"VariableDeclarationStatement","src":"174635:10:22"},{"assignments":[36840],"declarations":[{"constant":false,"id":36840,"mutability":"mutable","name":"m1","nameLocation":"174663:2:22","nodeType":"VariableDeclaration","scope":36858,"src":"174655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174655:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36841,"nodeType":"VariableDeclarationStatement","src":"174655:10:22"},{"assignments":[36843],"declarations":[{"constant":false,"id":36843,"mutability":"mutable","name":"m2","nameLocation":"174683:2:22","nodeType":"VariableDeclaration","scope":36858,"src":"174675:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174675:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36844,"nodeType":"VariableDeclarationStatement","src":"174675:10:22"},{"assignments":[36846],"declarations":[{"constant":false,"id":36846,"mutability":"mutable","name":"m3","nameLocation":"174703:2:22","nodeType":"VariableDeclaration","scope":36858,"src":"174695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174695:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36847,"nodeType":"VariableDeclarationStatement","src":"174695:10:22"},{"assignments":[36849],"declarations":[{"constant":false,"id":36849,"mutability":"mutable","name":"m4","nameLocation":"174723:2:22","nodeType":"VariableDeclaration","scope":36858,"src":"174715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36850,"nodeType":"VariableDeclarationStatement","src":"174715:10:22"},{"AST":{"nativeSrc":"174787:372:22","nodeType":"YulBlock","src":"174787:372:22","statements":[{"nativeSrc":"174801:17:22","nodeType":"YulAssignment","src":"174801:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174813:4:22","nodeType":"YulLiteral","src":"174813:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"174807:5:22","nodeType":"YulIdentifier","src":"174807:5:22"},"nativeSrc":"174807:11:22","nodeType":"YulFunctionCall","src":"174807:11:22"},"variableNames":[{"name":"m0","nativeSrc":"174801:2:22","nodeType":"YulIdentifier","src":"174801:2:22"}]},{"nativeSrc":"174831:17:22","nodeType":"YulAssignment","src":"174831:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174843:4:22","nodeType":"YulLiteral","src":"174843:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"174837:5:22","nodeType":"YulIdentifier","src":"174837:5:22"},"nativeSrc":"174837:11:22","nodeType":"YulFunctionCall","src":"174837:11:22"},"variableNames":[{"name":"m1","nativeSrc":"174831:2:22","nodeType":"YulIdentifier","src":"174831:2:22"}]},{"nativeSrc":"174861:17:22","nodeType":"YulAssignment","src":"174861:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174873:4:22","nodeType":"YulLiteral","src":"174873:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"174867:5:22","nodeType":"YulIdentifier","src":"174867:5:22"},"nativeSrc":"174867:11:22","nodeType":"YulFunctionCall","src":"174867:11:22"},"variableNames":[{"name":"m2","nativeSrc":"174861:2:22","nodeType":"YulIdentifier","src":"174861:2:22"}]},{"nativeSrc":"174891:17:22","nodeType":"YulAssignment","src":"174891:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174903:4:22","nodeType":"YulLiteral","src":"174903:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174897:5:22","nodeType":"YulIdentifier","src":"174897:5:22"},"nativeSrc":"174897:11:22","nodeType":"YulFunctionCall","src":"174897:11:22"},"variableNames":[{"name":"m3","nativeSrc":"174891:2:22","nodeType":"YulIdentifier","src":"174891:2:22"}]},{"nativeSrc":"174921:17:22","nodeType":"YulAssignment","src":"174921:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"174933:4:22","nodeType":"YulLiteral","src":"174933:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174927:5:22","nodeType":"YulIdentifier","src":"174927:5:22"},"nativeSrc":"174927:11:22","nodeType":"YulFunctionCall","src":"174927:11:22"},"variableNames":[{"name":"m4","nativeSrc":"174921:2:22","nodeType":"YulIdentifier","src":"174921:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175016:4:22","nodeType":"YulLiteral","src":"175016:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175022:10:22","nodeType":"YulLiteral","src":"175022:10:22","type":"","value":"0x6a9c478b"}],"functionName":{"name":"mstore","nativeSrc":"175009:6:22","nodeType":"YulIdentifier","src":"175009:6:22"},"nativeSrc":"175009:24:22","nodeType":"YulFunctionCall","src":"175009:24:22"},"nativeSrc":"175009:24:22","nodeType":"YulExpressionStatement","src":"175009:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175053:4:22","nodeType":"YulLiteral","src":"175053:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175059:2:22","nodeType":"YulIdentifier","src":"175059:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175046:6:22","nodeType":"YulIdentifier","src":"175046:6:22"},"nativeSrc":"175046:16:22","nodeType":"YulFunctionCall","src":"175046:16:22"},"nativeSrc":"175046:16:22","nodeType":"YulExpressionStatement","src":"175046:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175082:4:22","nodeType":"YulLiteral","src":"175082:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175088:2:22","nodeType":"YulIdentifier","src":"175088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175075:6:22","nodeType":"YulIdentifier","src":"175075:6:22"},"nativeSrc":"175075:16:22","nodeType":"YulFunctionCall","src":"175075:16:22"},"nativeSrc":"175075:16:22","nodeType":"YulExpressionStatement","src":"175075:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175111:4:22","nodeType":"YulLiteral","src":"175111:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175117:2:22","nodeType":"YulIdentifier","src":"175117:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175104:6:22","nodeType":"YulIdentifier","src":"175104:6:22"},"nativeSrc":"175104:16:22","nodeType":"YulFunctionCall","src":"175104:16:22"},"nativeSrc":"175104:16:22","nodeType":"YulExpressionStatement","src":"175104:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175140:4:22","nodeType":"YulLiteral","src":"175140:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"175146:2:22","nodeType":"YulIdentifier","src":"175146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175133:6:22","nodeType":"YulIdentifier","src":"175133:6:22"},"nativeSrc":"175133:16:22","nodeType":"YulFunctionCall","src":"175133:16:22"},"nativeSrc":"175133:16:22","nodeType":"YulExpressionStatement","src":"175133:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36837,"isOffset":false,"isSlot":false,"src":"174801:2:22","valueSize":1},{"declaration":36840,"isOffset":false,"isSlot":false,"src":"174831:2:22","valueSize":1},{"declaration":36843,"isOffset":false,"isSlot":false,"src":"174861:2:22","valueSize":1},{"declaration":36846,"isOffset":false,"isSlot":false,"src":"174891:2:22","valueSize":1},{"declaration":36849,"isOffset":false,"isSlot":false,"src":"174921:2:22","valueSize":1},{"declaration":36827,"isOffset":false,"isSlot":false,"src":"175059:2:22","valueSize":1},{"declaration":36829,"isOffset":false,"isSlot":false,"src":"175088:2:22","valueSize":1},{"declaration":36831,"isOffset":false,"isSlot":false,"src":"175117:2:22","valueSize":1},{"declaration":36833,"isOffset":false,"isSlot":false,"src":"175146:2:22","valueSize":1}],"id":36851,"nodeType":"InlineAssembly","src":"174778:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175184:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175190:4:22","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":36852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"175168:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175168:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36856,"nodeType":"ExpressionStatement","src":"175168:27:22"},{"AST":{"nativeSrc":"175257:156:22","nodeType":"YulBlock","src":"175257:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"175278:4:22","nodeType":"YulLiteral","src":"175278:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"175284:2:22","nodeType":"YulIdentifier","src":"175284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175271:6:22","nodeType":"YulIdentifier","src":"175271:6:22"},"nativeSrc":"175271:16:22","nodeType":"YulFunctionCall","src":"175271:16:22"},"nativeSrc":"175271:16:22","nodeType":"YulExpressionStatement","src":"175271:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175307:4:22","nodeType":"YulLiteral","src":"175307:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"175313:2:22","nodeType":"YulIdentifier","src":"175313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175300:6:22","nodeType":"YulIdentifier","src":"175300:6:22"},"nativeSrc":"175300:16:22","nodeType":"YulFunctionCall","src":"175300:16:22"},"nativeSrc":"175300:16:22","nodeType":"YulExpressionStatement","src":"175300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175336:4:22","nodeType":"YulLiteral","src":"175336:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"175342:2:22","nodeType":"YulIdentifier","src":"175342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175329:6:22","nodeType":"YulIdentifier","src":"175329:6:22"},"nativeSrc":"175329:16:22","nodeType":"YulFunctionCall","src":"175329:16:22"},"nativeSrc":"175329:16:22","nodeType":"YulExpressionStatement","src":"175329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175365:4:22","nodeType":"YulLiteral","src":"175365:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"175371:2:22","nodeType":"YulIdentifier","src":"175371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175358:6:22","nodeType":"YulIdentifier","src":"175358:6:22"},"nativeSrc":"175358:16:22","nodeType":"YulFunctionCall","src":"175358:16:22"},"nativeSrc":"175358:16:22","nodeType":"YulExpressionStatement","src":"175358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175394:4:22","nodeType":"YulLiteral","src":"175394:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"175400:2:22","nodeType":"YulIdentifier","src":"175400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175387:6:22","nodeType":"YulIdentifier","src":"175387:6:22"},"nativeSrc":"175387:16:22","nodeType":"YulFunctionCall","src":"175387:16:22"},"nativeSrc":"175387:16:22","nodeType":"YulExpressionStatement","src":"175387:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36837,"isOffset":false,"isSlot":false,"src":"175284:2:22","valueSize":1},{"declaration":36840,"isOffset":false,"isSlot":false,"src":"175313:2:22","valueSize":1},{"declaration":36843,"isOffset":false,"isSlot":false,"src":"175342:2:22","valueSize":1},{"declaration":36846,"isOffset":false,"isSlot":false,"src":"175371:2:22","valueSize":1},{"declaration":36849,"isOffset":false,"isSlot":false,"src":"175400:2:22","valueSize":1}],"id":36857,"nodeType":"InlineAssembly","src":"175248:165:22"}]},"id":36859,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"174568:3:22","nodeType":"FunctionDefinition","parameters":{"id":36834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36827,"mutability":"mutable","name":"p0","nameLocation":"174577:2:22","nodeType":"VariableDeclaration","scope":36859,"src":"174572:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36826,"name":"bool","nodeType":"ElementaryTypeName","src":"174572:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36829,"mutability":"mutable","name":"p1","nameLocation":"174589:2:22","nodeType":"VariableDeclaration","scope":36859,"src":"174581:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36828,"name":"address","nodeType":"ElementaryTypeName","src":"174581:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36831,"mutability":"mutable","name":"p2","nameLocation":"174598:2:22","nodeType":"VariableDeclaration","scope":36859,"src":"174593:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36830,"name":"bool","nodeType":"ElementaryTypeName","src":"174593:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36833,"mutability":"mutable","name":"p3","nameLocation":"174607:2:22","nodeType":"VariableDeclaration","scope":36859,"src":"174602:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36832,"name":"bool","nodeType":"ElementaryTypeName","src":"174602:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"174571:39:22"},"returnParameters":{"id":36835,"nodeType":"ParameterList","parameters":[],"src":"174625:0:22"},"scope":44426,"src":"174559:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36892,"nodeType":"Block","src":"175494:797:22","statements":[{"assignments":[36871],"declarations":[{"constant":false,"id":36871,"mutability":"mutable","name":"m0","nameLocation":"175512:2:22","nodeType":"VariableDeclaration","scope":36892,"src":"175504:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175504:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36872,"nodeType":"VariableDeclarationStatement","src":"175504:10:22"},{"assignments":[36874],"declarations":[{"constant":false,"id":36874,"mutability":"mutable","name":"m1","nameLocation":"175532:2:22","nodeType":"VariableDeclaration","scope":36892,"src":"175524:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175524:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36875,"nodeType":"VariableDeclarationStatement","src":"175524:10:22"},{"assignments":[36877],"declarations":[{"constant":false,"id":36877,"mutability":"mutable","name":"m2","nameLocation":"175552:2:22","nodeType":"VariableDeclaration","scope":36892,"src":"175544:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175544:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36878,"nodeType":"VariableDeclarationStatement","src":"175544:10:22"},{"assignments":[36880],"declarations":[{"constant":false,"id":36880,"mutability":"mutable","name":"m3","nameLocation":"175572:2:22","nodeType":"VariableDeclaration","scope":36892,"src":"175564:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175564:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36881,"nodeType":"VariableDeclarationStatement","src":"175564:10:22"},{"assignments":[36883],"declarations":[{"constant":false,"id":36883,"mutability":"mutable","name":"m4","nameLocation":"175592:2:22","nodeType":"VariableDeclaration","scope":36892,"src":"175584:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175584:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36884,"nodeType":"VariableDeclarationStatement","src":"175584:10:22"},{"AST":{"nativeSrc":"175656:375:22","nodeType":"YulBlock","src":"175656:375:22","statements":[{"nativeSrc":"175670:17:22","nodeType":"YulAssignment","src":"175670:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"175682:4:22","nodeType":"YulLiteral","src":"175682:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"175676:5:22","nodeType":"YulIdentifier","src":"175676:5:22"},"nativeSrc":"175676:11:22","nodeType":"YulFunctionCall","src":"175676:11:22"},"variableNames":[{"name":"m0","nativeSrc":"175670:2:22","nodeType":"YulIdentifier","src":"175670:2:22"}]},{"nativeSrc":"175700:17:22","nodeType":"YulAssignment","src":"175700:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"175712:4:22","nodeType":"YulLiteral","src":"175712:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"175706:5:22","nodeType":"YulIdentifier","src":"175706:5:22"},"nativeSrc":"175706:11:22","nodeType":"YulFunctionCall","src":"175706:11:22"},"variableNames":[{"name":"m1","nativeSrc":"175700:2:22","nodeType":"YulIdentifier","src":"175700:2:22"}]},{"nativeSrc":"175730:17:22","nodeType":"YulAssignment","src":"175730:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"175742:4:22","nodeType":"YulLiteral","src":"175742:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"175736:5:22","nodeType":"YulIdentifier","src":"175736:5:22"},"nativeSrc":"175736:11:22","nodeType":"YulFunctionCall","src":"175736:11:22"},"variableNames":[{"name":"m2","nativeSrc":"175730:2:22","nodeType":"YulIdentifier","src":"175730:2:22"}]},{"nativeSrc":"175760:17:22","nodeType":"YulAssignment","src":"175760:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"175772:4:22","nodeType":"YulLiteral","src":"175772:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"175766:5:22","nodeType":"YulIdentifier","src":"175766:5:22"},"nativeSrc":"175766:11:22","nodeType":"YulFunctionCall","src":"175766:11:22"},"variableNames":[{"name":"m3","nativeSrc":"175760:2:22","nodeType":"YulIdentifier","src":"175760:2:22"}]},{"nativeSrc":"175790:17:22","nodeType":"YulAssignment","src":"175790:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"175802:4:22","nodeType":"YulLiteral","src":"175802:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"175796:5:22","nodeType":"YulIdentifier","src":"175796:5:22"},"nativeSrc":"175796:11:22","nodeType":"YulFunctionCall","src":"175796:11:22"},"variableNames":[{"name":"m4","nativeSrc":"175790:2:22","nodeType":"YulIdentifier","src":"175790:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175888:4:22","nodeType":"YulLiteral","src":"175888:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175894:10:22","nodeType":"YulLiteral","src":"175894:10:22","type":"","value":"0x07831502"}],"functionName":{"name":"mstore","nativeSrc":"175881:6:22","nodeType":"YulIdentifier","src":"175881:6:22"},"nativeSrc":"175881:24:22","nodeType":"YulFunctionCall","src":"175881:24:22"},"nativeSrc":"175881:24:22","nodeType":"YulExpressionStatement","src":"175881:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175925:4:22","nodeType":"YulLiteral","src":"175925:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175931:2:22","nodeType":"YulIdentifier","src":"175931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175918:6:22","nodeType":"YulIdentifier","src":"175918:6:22"},"nativeSrc":"175918:16:22","nodeType":"YulFunctionCall","src":"175918:16:22"},"nativeSrc":"175918:16:22","nodeType":"YulExpressionStatement","src":"175918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175954:4:22","nodeType":"YulLiteral","src":"175954:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175960:2:22","nodeType":"YulIdentifier","src":"175960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175947:6:22","nodeType":"YulIdentifier","src":"175947:6:22"},"nativeSrc":"175947:16:22","nodeType":"YulFunctionCall","src":"175947:16:22"},"nativeSrc":"175947:16:22","nodeType":"YulExpressionStatement","src":"175947:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175983:4:22","nodeType":"YulLiteral","src":"175983:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175989:2:22","nodeType":"YulIdentifier","src":"175989:2:22"}],"functionName":{"name":"mstore","nativeSrc":"175976:6:22","nodeType":"YulIdentifier","src":"175976:6:22"},"nativeSrc":"175976:16:22","nodeType":"YulFunctionCall","src":"175976:16:22"},"nativeSrc":"175976:16:22","nodeType":"YulExpressionStatement","src":"175976:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176012:4:22","nodeType":"YulLiteral","src":"176012:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"176018:2:22","nodeType":"YulIdentifier","src":"176018:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176005:6:22","nodeType":"YulIdentifier","src":"176005:6:22"},"nativeSrc":"176005:16:22","nodeType":"YulFunctionCall","src":"176005:16:22"},"nativeSrc":"176005:16:22","nodeType":"YulExpressionStatement","src":"176005:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36871,"isOffset":false,"isSlot":false,"src":"175670:2:22","valueSize":1},{"declaration":36874,"isOffset":false,"isSlot":false,"src":"175700:2:22","valueSize":1},{"declaration":36877,"isOffset":false,"isSlot":false,"src":"175730:2:22","valueSize":1},{"declaration":36880,"isOffset":false,"isSlot":false,"src":"175760:2:22","valueSize":1},{"declaration":36883,"isOffset":false,"isSlot":false,"src":"175790:2:22","valueSize":1},{"declaration":36861,"isOffset":false,"isSlot":false,"src":"175931:2:22","valueSize":1},{"declaration":36863,"isOffset":false,"isSlot":false,"src":"175960:2:22","valueSize":1},{"declaration":36865,"isOffset":false,"isSlot":false,"src":"175989:2:22","valueSize":1},{"declaration":36867,"isOffset":false,"isSlot":false,"src":"176018:2:22","valueSize":1}],"id":36885,"nodeType":"InlineAssembly","src":"175647:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176056:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176062:4:22","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":36886,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"176040:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"176040:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36890,"nodeType":"ExpressionStatement","src":"176040:27:22"},{"AST":{"nativeSrc":"176129:156:22","nodeType":"YulBlock","src":"176129:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"176150:4:22","nodeType":"YulLiteral","src":"176150:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"176156:2:22","nodeType":"YulIdentifier","src":"176156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176143:6:22","nodeType":"YulIdentifier","src":"176143:6:22"},"nativeSrc":"176143:16:22","nodeType":"YulFunctionCall","src":"176143:16:22"},"nativeSrc":"176143:16:22","nodeType":"YulExpressionStatement","src":"176143:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176179:4:22","nodeType":"YulLiteral","src":"176179:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"176185:2:22","nodeType":"YulIdentifier","src":"176185:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176172:6:22","nodeType":"YulIdentifier","src":"176172:6:22"},"nativeSrc":"176172:16:22","nodeType":"YulFunctionCall","src":"176172:16:22"},"nativeSrc":"176172:16:22","nodeType":"YulExpressionStatement","src":"176172:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176208:4:22","nodeType":"YulLiteral","src":"176208:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"176214:2:22","nodeType":"YulIdentifier","src":"176214:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176201:6:22","nodeType":"YulIdentifier","src":"176201:6:22"},"nativeSrc":"176201:16:22","nodeType":"YulFunctionCall","src":"176201:16:22"},"nativeSrc":"176201:16:22","nodeType":"YulExpressionStatement","src":"176201:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176237:4:22","nodeType":"YulLiteral","src":"176237:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"176243:2:22","nodeType":"YulIdentifier","src":"176243:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176230:6:22","nodeType":"YulIdentifier","src":"176230:6:22"},"nativeSrc":"176230:16:22","nodeType":"YulFunctionCall","src":"176230:16:22"},"nativeSrc":"176230:16:22","nodeType":"YulExpressionStatement","src":"176230:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176266:4:22","nodeType":"YulLiteral","src":"176266:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"176272:2:22","nodeType":"YulIdentifier","src":"176272:2:22"}],"functionName":{"name":"mstore","nativeSrc":"176259:6:22","nodeType":"YulIdentifier","src":"176259:6:22"},"nativeSrc":"176259:16:22","nodeType":"YulFunctionCall","src":"176259:16:22"},"nativeSrc":"176259:16:22","nodeType":"YulExpressionStatement","src":"176259:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36871,"isOffset":false,"isSlot":false,"src":"176156:2:22","valueSize":1},{"declaration":36874,"isOffset":false,"isSlot":false,"src":"176185:2:22","valueSize":1},{"declaration":36877,"isOffset":false,"isSlot":false,"src":"176214:2:22","valueSize":1},{"declaration":36880,"isOffset":false,"isSlot":false,"src":"176243:2:22","valueSize":1},{"declaration":36883,"isOffset":false,"isSlot":false,"src":"176272:2:22","valueSize":1}],"id":36891,"nodeType":"InlineAssembly","src":"176120:165:22"}]},"id":36893,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"175434:3:22","nodeType":"FunctionDefinition","parameters":{"id":36868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36861,"mutability":"mutable","name":"p0","nameLocation":"175443:2:22","nodeType":"VariableDeclaration","scope":36893,"src":"175438:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36860,"name":"bool","nodeType":"ElementaryTypeName","src":"175438:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36863,"mutability":"mutable","name":"p1","nameLocation":"175455:2:22","nodeType":"VariableDeclaration","scope":36893,"src":"175447:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36862,"name":"address","nodeType":"ElementaryTypeName","src":"175447:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36865,"mutability":"mutable","name":"p2","nameLocation":"175464:2:22","nodeType":"VariableDeclaration","scope":36893,"src":"175459:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36864,"name":"bool","nodeType":"ElementaryTypeName","src":"175459:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36867,"mutability":"mutable","name":"p3","nameLocation":"175476:2:22","nodeType":"VariableDeclaration","scope":36893,"src":"175468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36866,"name":"uint256","nodeType":"ElementaryTypeName","src":"175468:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"175437:42:22"},"returnParameters":{"id":36869,"nodeType":"ParameterList","parameters":[],"src":"175494:0:22"},"scope":44426,"src":"175425:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36932,"nodeType":"Block","src":"176366:1345:22","statements":[{"assignments":[36905],"declarations":[{"constant":false,"id":36905,"mutability":"mutable","name":"m0","nameLocation":"176384:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176376:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176376:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36906,"nodeType":"VariableDeclarationStatement","src":"176376:10:22"},{"assignments":[36908],"declarations":[{"constant":false,"id":36908,"mutability":"mutable","name":"m1","nameLocation":"176404:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36909,"nodeType":"VariableDeclarationStatement","src":"176396:10:22"},{"assignments":[36911],"declarations":[{"constant":false,"id":36911,"mutability":"mutable","name":"m2","nameLocation":"176424:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176416:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176416:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36912,"nodeType":"VariableDeclarationStatement","src":"176416:10:22"},{"assignments":[36914],"declarations":[{"constant":false,"id":36914,"mutability":"mutable","name":"m3","nameLocation":"176444:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176436:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176436:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36915,"nodeType":"VariableDeclarationStatement","src":"176436:10:22"},{"assignments":[36917],"declarations":[{"constant":false,"id":36917,"mutability":"mutable","name":"m4","nameLocation":"176464:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36918,"nodeType":"VariableDeclarationStatement","src":"176456:10:22"},{"assignments":[36920],"declarations":[{"constant":false,"id":36920,"mutability":"mutable","name":"m5","nameLocation":"176484:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176476:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176476:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36921,"nodeType":"VariableDeclarationStatement","src":"176476:10:22"},{"assignments":[36923],"declarations":[{"constant":false,"id":36923,"mutability":"mutable","name":"m6","nameLocation":"176504:2:22","nodeType":"VariableDeclaration","scope":36932,"src":"176496:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176496:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36924,"nodeType":"VariableDeclarationStatement","src":"176496:10:22"},{"AST":{"nativeSrc":"176568:825:22","nodeType":"YulBlock","src":"176568:825:22","statements":[{"body":{"nativeSrc":"176611:313:22","nodeType":"YulBlock","src":"176611:313:22","statements":[{"nativeSrc":"176629:15:22","nodeType":"YulVariableDeclaration","src":"176629:15:22","value":{"kind":"number","nativeSrc":"176643:1:22","nodeType":"YulLiteral","src":"176643:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"176633:6:22","nodeType":"YulTypedName","src":"176633:6:22","type":""}]},{"body":{"nativeSrc":"176714:40:22","nodeType":"YulBlock","src":"176714:40:22","statements":[{"body":{"nativeSrc":"176743:9:22","nodeType":"YulBlock","src":"176743:9:22","statements":[{"nativeSrc":"176745:5:22","nodeType":"YulBreak","src":"176745:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"176731:6:22","nodeType":"YulIdentifier","src":"176731:6:22"},{"name":"w","nativeSrc":"176739:1:22","nodeType":"YulIdentifier","src":"176739:1:22"}],"functionName":{"name":"byte","nativeSrc":"176726:4:22","nodeType":"YulIdentifier","src":"176726:4:22"},"nativeSrc":"176726:15:22","nodeType":"YulFunctionCall","src":"176726:15:22"}],"functionName":{"name":"iszero","nativeSrc":"176719:6:22","nodeType":"YulIdentifier","src":"176719:6:22"},"nativeSrc":"176719:23:22","nodeType":"YulFunctionCall","src":"176719:23:22"},"nativeSrc":"176716:36:22","nodeType":"YulIf","src":"176716:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"176671:6:22","nodeType":"YulIdentifier","src":"176671:6:22"},{"kind":"number","nativeSrc":"176679:4:22","nodeType":"YulLiteral","src":"176679:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"176668:2:22","nodeType":"YulIdentifier","src":"176668:2:22"},"nativeSrc":"176668:16:22","nodeType":"YulFunctionCall","src":"176668:16:22"},"nativeSrc":"176661:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"176685:28:22","nodeType":"YulBlock","src":"176685:28:22","statements":[{"nativeSrc":"176687:24:22","nodeType":"YulAssignment","src":"176687:24:22","value":{"arguments":[{"name":"length","nativeSrc":"176701:6:22","nodeType":"YulIdentifier","src":"176701:6:22"},{"kind":"number","nativeSrc":"176709:1:22","nodeType":"YulLiteral","src":"176709:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"176697:3:22","nodeType":"YulIdentifier","src":"176697:3:22"},"nativeSrc":"176697:14:22","nodeType":"YulFunctionCall","src":"176697:14:22"},"variableNames":[{"name":"length","nativeSrc":"176687:6:22","nodeType":"YulIdentifier","src":"176687:6:22"}]}]},"pre":{"nativeSrc":"176665:2:22","nodeType":"YulBlock","src":"176665:2:22","statements":[]},"src":"176661:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"176778:3:22","nodeType":"YulIdentifier","src":"176778:3:22"},{"name":"length","nativeSrc":"176783:6:22","nodeType":"YulIdentifier","src":"176783:6:22"}],"functionName":{"name":"mstore","nativeSrc":"176771:6:22","nodeType":"YulIdentifier","src":"176771:6:22"},"nativeSrc":"176771:19:22","nodeType":"YulFunctionCall","src":"176771:19:22"},"nativeSrc":"176771:19:22","nodeType":"YulExpressionStatement","src":"176771:19:22"},{"nativeSrc":"176807:37:22","nodeType":"YulVariableDeclaration","src":"176807:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"176824:3:22","nodeType":"YulLiteral","src":"176824:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"176833:1:22","nodeType":"YulLiteral","src":"176833:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"176836:6:22","nodeType":"YulIdentifier","src":"176836:6:22"}],"functionName":{"name":"shl","nativeSrc":"176829:3:22","nodeType":"YulIdentifier","src":"176829:3:22"},"nativeSrc":"176829:14:22","nodeType":"YulFunctionCall","src":"176829:14:22"}],"functionName":{"name":"sub","nativeSrc":"176820:3:22","nodeType":"YulIdentifier","src":"176820:3:22"},"nativeSrc":"176820:24:22","nodeType":"YulFunctionCall","src":"176820:24:22"},"variables":[{"name":"shift","nativeSrc":"176811:5:22","nodeType":"YulTypedName","src":"176811:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"176872:3:22","nodeType":"YulIdentifier","src":"176872:3:22"},{"kind":"number","nativeSrc":"176877:4:22","nodeType":"YulLiteral","src":"176877:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"176868:3:22","nodeType":"YulIdentifier","src":"176868:3:22"},"nativeSrc":"176868:14:22","nodeType":"YulFunctionCall","src":"176868:14:22"},{"arguments":[{"name":"shift","nativeSrc":"176888:5:22","nodeType":"YulIdentifier","src":"176888:5:22"},{"arguments":[{"name":"shift","nativeSrc":"176899:5:22","nodeType":"YulIdentifier","src":"176899:5:22"},{"name":"w","nativeSrc":"176906:1:22","nodeType":"YulIdentifier","src":"176906:1:22"}],"functionName":{"name":"shr","nativeSrc":"176895:3:22","nodeType":"YulIdentifier","src":"176895:3:22"},"nativeSrc":"176895:13:22","nodeType":"YulFunctionCall","src":"176895:13:22"}],"functionName":{"name":"shl","nativeSrc":"176884:3:22","nodeType":"YulIdentifier","src":"176884:3:22"},"nativeSrc":"176884:25:22","nodeType":"YulFunctionCall","src":"176884:25:22"}],"functionName":{"name":"mstore","nativeSrc":"176861:6:22","nodeType":"YulIdentifier","src":"176861:6:22"},"nativeSrc":"176861:49:22","nodeType":"YulFunctionCall","src":"176861:49:22"},"nativeSrc":"176861:49:22","nodeType":"YulExpressionStatement","src":"176861:49:22"}]},"name":"writeString","nativeSrc":"176582:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"176603:3:22","nodeType":"YulTypedName","src":"176603:3:22","type":""},{"name":"w","nativeSrc":"176608:1:22","nodeType":"YulTypedName","src":"176608:1:22","type":""}],"src":"176582:342:22"},{"nativeSrc":"176937:17:22","nodeType":"YulAssignment","src":"176937:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"176949:4:22","nodeType":"YulLiteral","src":"176949:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"176943:5:22","nodeType":"YulIdentifier","src":"176943:5:22"},"nativeSrc":"176943:11:22","nodeType":"YulFunctionCall","src":"176943:11:22"},"variableNames":[{"name":"m0","nativeSrc":"176937:2:22","nodeType":"YulIdentifier","src":"176937:2:22"}]},{"nativeSrc":"176967:17:22","nodeType":"YulAssignment","src":"176967:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"176979:4:22","nodeType":"YulLiteral","src":"176979:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"176973:5:22","nodeType":"YulIdentifier","src":"176973:5:22"},"nativeSrc":"176973:11:22","nodeType":"YulFunctionCall","src":"176973:11:22"},"variableNames":[{"name":"m1","nativeSrc":"176967:2:22","nodeType":"YulIdentifier","src":"176967:2:22"}]},{"nativeSrc":"176997:17:22","nodeType":"YulAssignment","src":"176997:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177009:4:22","nodeType":"YulLiteral","src":"177009:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"177003:5:22","nodeType":"YulIdentifier","src":"177003:5:22"},"nativeSrc":"177003:11:22","nodeType":"YulFunctionCall","src":"177003:11:22"},"variableNames":[{"name":"m2","nativeSrc":"176997:2:22","nodeType":"YulIdentifier","src":"176997:2:22"}]},{"nativeSrc":"177027:17:22","nodeType":"YulAssignment","src":"177027:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177039:4:22","nodeType":"YulLiteral","src":"177039:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"177033:5:22","nodeType":"YulIdentifier","src":"177033:5:22"},"nativeSrc":"177033:11:22","nodeType":"YulFunctionCall","src":"177033:11:22"},"variableNames":[{"name":"m3","nativeSrc":"177027:2:22","nodeType":"YulIdentifier","src":"177027:2:22"}]},{"nativeSrc":"177057:17:22","nodeType":"YulAssignment","src":"177057:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177069:4:22","nodeType":"YulLiteral","src":"177069:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"177063:5:22","nodeType":"YulIdentifier","src":"177063:5:22"},"nativeSrc":"177063:11:22","nodeType":"YulFunctionCall","src":"177063:11:22"},"variableNames":[{"name":"m4","nativeSrc":"177057:2:22","nodeType":"YulIdentifier","src":"177057:2:22"}]},{"nativeSrc":"177087:17:22","nodeType":"YulAssignment","src":"177087:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177099:4:22","nodeType":"YulLiteral","src":"177099:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"177093:5:22","nodeType":"YulIdentifier","src":"177093:5:22"},"nativeSrc":"177093:11:22","nodeType":"YulFunctionCall","src":"177093:11:22"},"variableNames":[{"name":"m5","nativeSrc":"177087:2:22","nodeType":"YulIdentifier","src":"177087:2:22"}]},{"nativeSrc":"177117:17:22","nodeType":"YulAssignment","src":"177117:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177129:4:22","nodeType":"YulLiteral","src":"177129:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"177123:5:22","nodeType":"YulIdentifier","src":"177123:5:22"},"nativeSrc":"177123:11:22","nodeType":"YulFunctionCall","src":"177123:11:22"},"variableNames":[{"name":"m6","nativeSrc":"177117:2:22","nodeType":"YulIdentifier","src":"177117:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177214:4:22","nodeType":"YulLiteral","src":"177214:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"177220:10:22","nodeType":"YulLiteral","src":"177220:10:22","type":"","value":"0x4a66cb34"}],"functionName":{"name":"mstore","nativeSrc":"177207:6:22","nodeType":"YulIdentifier","src":"177207:6:22"},"nativeSrc":"177207:24:22","nodeType":"YulFunctionCall","src":"177207:24:22"},"nativeSrc":"177207:24:22","nodeType":"YulExpressionStatement","src":"177207:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177251:4:22","nodeType":"YulLiteral","src":"177251:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"177257:2:22","nodeType":"YulIdentifier","src":"177257:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177244:6:22","nodeType":"YulIdentifier","src":"177244:6:22"},"nativeSrc":"177244:16:22","nodeType":"YulFunctionCall","src":"177244:16:22"},"nativeSrc":"177244:16:22","nodeType":"YulExpressionStatement","src":"177244:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177280:4:22","nodeType":"YulLiteral","src":"177280:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"177286:2:22","nodeType":"YulIdentifier","src":"177286:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177273:6:22","nodeType":"YulIdentifier","src":"177273:6:22"},"nativeSrc":"177273:16:22","nodeType":"YulFunctionCall","src":"177273:16:22"},"nativeSrc":"177273:16:22","nodeType":"YulExpressionStatement","src":"177273:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177309:4:22","nodeType":"YulLiteral","src":"177309:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"177315:2:22","nodeType":"YulIdentifier","src":"177315:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177302:6:22","nodeType":"YulIdentifier","src":"177302:6:22"},"nativeSrc":"177302:16:22","nodeType":"YulFunctionCall","src":"177302:16:22"},"nativeSrc":"177302:16:22","nodeType":"YulExpressionStatement","src":"177302:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177338:4:22","nodeType":"YulLiteral","src":"177338:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"177344:4:22","nodeType":"YulLiteral","src":"177344:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"177331:6:22","nodeType":"YulIdentifier","src":"177331:6:22"},"nativeSrc":"177331:18:22","nodeType":"YulFunctionCall","src":"177331:18:22"},"nativeSrc":"177331:18:22","nodeType":"YulExpressionStatement","src":"177331:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177374:4:22","nodeType":"YulLiteral","src":"177374:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"177380:2:22","nodeType":"YulIdentifier","src":"177380:2:22"}],"functionName":{"name":"writeString","nativeSrc":"177362:11:22","nodeType":"YulIdentifier","src":"177362:11:22"},"nativeSrc":"177362:21:22","nodeType":"YulFunctionCall","src":"177362:21:22"},"nativeSrc":"177362:21:22","nodeType":"YulExpressionStatement","src":"177362:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36905,"isOffset":false,"isSlot":false,"src":"176937:2:22","valueSize":1},{"declaration":36908,"isOffset":false,"isSlot":false,"src":"176967:2:22","valueSize":1},{"declaration":36911,"isOffset":false,"isSlot":false,"src":"176997:2:22","valueSize":1},{"declaration":36914,"isOffset":false,"isSlot":false,"src":"177027:2:22","valueSize":1},{"declaration":36917,"isOffset":false,"isSlot":false,"src":"177057:2:22","valueSize":1},{"declaration":36920,"isOffset":false,"isSlot":false,"src":"177087:2:22","valueSize":1},{"declaration":36923,"isOffset":false,"isSlot":false,"src":"177117:2:22","valueSize":1},{"declaration":36895,"isOffset":false,"isSlot":false,"src":"177257:2:22","valueSize":1},{"declaration":36897,"isOffset":false,"isSlot":false,"src":"177286:2:22","valueSize":1},{"declaration":36899,"isOffset":false,"isSlot":false,"src":"177315:2:22","valueSize":1},{"declaration":36901,"isOffset":false,"isSlot":false,"src":"177380:2:22","valueSize":1}],"id":36925,"nodeType":"InlineAssembly","src":"176559:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177418:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177424:4:22","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":36926,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"177402:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"177402:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36930,"nodeType":"ExpressionStatement","src":"177402:27:22"},{"AST":{"nativeSrc":"177491:214:22","nodeType":"YulBlock","src":"177491:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"177512:4:22","nodeType":"YulLiteral","src":"177512:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"177518:2:22","nodeType":"YulIdentifier","src":"177518:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177505:6:22","nodeType":"YulIdentifier","src":"177505:6:22"},"nativeSrc":"177505:16:22","nodeType":"YulFunctionCall","src":"177505:16:22"},"nativeSrc":"177505:16:22","nodeType":"YulExpressionStatement","src":"177505:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177541:4:22","nodeType":"YulLiteral","src":"177541:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"177547:2:22","nodeType":"YulIdentifier","src":"177547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177534:6:22","nodeType":"YulIdentifier","src":"177534:6:22"},"nativeSrc":"177534:16:22","nodeType":"YulFunctionCall","src":"177534:16:22"},"nativeSrc":"177534:16:22","nodeType":"YulExpressionStatement","src":"177534:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177570:4:22","nodeType":"YulLiteral","src":"177570:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"177576:2:22","nodeType":"YulIdentifier","src":"177576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177563:6:22","nodeType":"YulIdentifier","src":"177563:6:22"},"nativeSrc":"177563:16:22","nodeType":"YulFunctionCall","src":"177563:16:22"},"nativeSrc":"177563:16:22","nodeType":"YulExpressionStatement","src":"177563:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177599:4:22","nodeType":"YulLiteral","src":"177599:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"177605:2:22","nodeType":"YulIdentifier","src":"177605:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177592:6:22","nodeType":"YulIdentifier","src":"177592:6:22"},"nativeSrc":"177592:16:22","nodeType":"YulFunctionCall","src":"177592:16:22"},"nativeSrc":"177592:16:22","nodeType":"YulExpressionStatement","src":"177592:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177628:4:22","nodeType":"YulLiteral","src":"177628:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"177634:2:22","nodeType":"YulIdentifier","src":"177634:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177621:6:22","nodeType":"YulIdentifier","src":"177621:6:22"},"nativeSrc":"177621:16:22","nodeType":"YulFunctionCall","src":"177621:16:22"},"nativeSrc":"177621:16:22","nodeType":"YulExpressionStatement","src":"177621:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177657:4:22","nodeType":"YulLiteral","src":"177657:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"177663:2:22","nodeType":"YulIdentifier","src":"177663:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177650:6:22","nodeType":"YulIdentifier","src":"177650:6:22"},"nativeSrc":"177650:16:22","nodeType":"YulFunctionCall","src":"177650:16:22"},"nativeSrc":"177650:16:22","nodeType":"YulExpressionStatement","src":"177650:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177686:4:22","nodeType":"YulLiteral","src":"177686:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"177692:2:22","nodeType":"YulIdentifier","src":"177692:2:22"}],"functionName":{"name":"mstore","nativeSrc":"177679:6:22","nodeType":"YulIdentifier","src":"177679:6:22"},"nativeSrc":"177679:16:22","nodeType":"YulFunctionCall","src":"177679:16:22"},"nativeSrc":"177679:16:22","nodeType":"YulExpressionStatement","src":"177679:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36905,"isOffset":false,"isSlot":false,"src":"177518:2:22","valueSize":1},{"declaration":36908,"isOffset":false,"isSlot":false,"src":"177547:2:22","valueSize":1},{"declaration":36911,"isOffset":false,"isSlot":false,"src":"177576:2:22","valueSize":1},{"declaration":36914,"isOffset":false,"isSlot":false,"src":"177605:2:22","valueSize":1},{"declaration":36917,"isOffset":false,"isSlot":false,"src":"177634:2:22","valueSize":1},{"declaration":36920,"isOffset":false,"isSlot":false,"src":"177663:2:22","valueSize":1},{"declaration":36923,"isOffset":false,"isSlot":false,"src":"177692:2:22","valueSize":1}],"id":36931,"nodeType":"InlineAssembly","src":"177482:223:22"}]},"id":36933,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"176306:3:22","nodeType":"FunctionDefinition","parameters":{"id":36902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36895,"mutability":"mutable","name":"p0","nameLocation":"176315:2:22","nodeType":"VariableDeclaration","scope":36933,"src":"176310:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36894,"name":"bool","nodeType":"ElementaryTypeName","src":"176310:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36897,"mutability":"mutable","name":"p1","nameLocation":"176327:2:22","nodeType":"VariableDeclaration","scope":36933,"src":"176319:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36896,"name":"address","nodeType":"ElementaryTypeName","src":"176319:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36899,"mutability":"mutable","name":"p2","nameLocation":"176336:2:22","nodeType":"VariableDeclaration","scope":36933,"src":"176331:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36898,"name":"bool","nodeType":"ElementaryTypeName","src":"176331:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36901,"mutability":"mutable","name":"p3","nameLocation":"176348:2:22","nodeType":"VariableDeclaration","scope":36933,"src":"176340:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176340:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"176309:42:22"},"returnParameters":{"id":36903,"nodeType":"ParameterList","parameters":[],"src":"176366:0:22"},"scope":44426,"src":"176297:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":36966,"nodeType":"Block","src":"177789:800:22","statements":[{"assignments":[36945],"declarations":[{"constant":false,"id":36945,"mutability":"mutable","name":"m0","nameLocation":"177807:2:22","nodeType":"VariableDeclaration","scope":36966,"src":"177799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36946,"nodeType":"VariableDeclarationStatement","src":"177799:10:22"},{"assignments":[36948],"declarations":[{"constant":false,"id":36948,"mutability":"mutable","name":"m1","nameLocation":"177827:2:22","nodeType":"VariableDeclaration","scope":36966,"src":"177819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36947,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36949,"nodeType":"VariableDeclarationStatement","src":"177819:10:22"},{"assignments":[36951],"declarations":[{"constant":false,"id":36951,"mutability":"mutable","name":"m2","nameLocation":"177847:2:22","nodeType":"VariableDeclaration","scope":36966,"src":"177839:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177839:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36952,"nodeType":"VariableDeclarationStatement","src":"177839:10:22"},{"assignments":[36954],"declarations":[{"constant":false,"id":36954,"mutability":"mutable","name":"m3","nameLocation":"177867:2:22","nodeType":"VariableDeclaration","scope":36966,"src":"177859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177859:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36955,"nodeType":"VariableDeclarationStatement","src":"177859:10:22"},{"assignments":[36957],"declarations":[{"constant":false,"id":36957,"mutability":"mutable","name":"m4","nameLocation":"177887:2:22","nodeType":"VariableDeclaration","scope":36966,"src":"177879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36958,"nodeType":"VariableDeclarationStatement","src":"177879:10:22"},{"AST":{"nativeSrc":"177951:378:22","nodeType":"YulBlock","src":"177951:378:22","statements":[{"nativeSrc":"177965:17:22","nodeType":"YulAssignment","src":"177965:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"177977:4:22","nodeType":"YulLiteral","src":"177977:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"177971:5:22","nodeType":"YulIdentifier","src":"177971:5:22"},"nativeSrc":"177971:11:22","nodeType":"YulFunctionCall","src":"177971:11:22"},"variableNames":[{"name":"m0","nativeSrc":"177965:2:22","nodeType":"YulIdentifier","src":"177965:2:22"}]},{"nativeSrc":"177995:17:22","nodeType":"YulAssignment","src":"177995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178007:4:22","nodeType":"YulLiteral","src":"178007:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178001:5:22","nodeType":"YulIdentifier","src":"178001:5:22"},"nativeSrc":"178001:11:22","nodeType":"YulFunctionCall","src":"178001:11:22"},"variableNames":[{"name":"m1","nativeSrc":"177995:2:22","nodeType":"YulIdentifier","src":"177995:2:22"}]},{"nativeSrc":"178025:17:22","nodeType":"YulAssignment","src":"178025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178037:4:22","nodeType":"YulLiteral","src":"178037:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178031:5:22","nodeType":"YulIdentifier","src":"178031:5:22"},"nativeSrc":"178031:11:22","nodeType":"YulFunctionCall","src":"178031:11:22"},"variableNames":[{"name":"m2","nativeSrc":"178025:2:22","nodeType":"YulIdentifier","src":"178025:2:22"}]},{"nativeSrc":"178055:17:22","nodeType":"YulAssignment","src":"178055:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178067:4:22","nodeType":"YulLiteral","src":"178067:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178061:5:22","nodeType":"YulIdentifier","src":"178061:5:22"},"nativeSrc":"178061:11:22","nodeType":"YulFunctionCall","src":"178061:11:22"},"variableNames":[{"name":"m3","nativeSrc":"178055:2:22","nodeType":"YulIdentifier","src":"178055:2:22"}]},{"nativeSrc":"178085:17:22","nodeType":"YulAssignment","src":"178085:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178097:4:22","nodeType":"YulLiteral","src":"178097:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178091:5:22","nodeType":"YulIdentifier","src":"178091:5:22"},"nativeSrc":"178091:11:22","nodeType":"YulFunctionCall","src":"178091:11:22"},"variableNames":[{"name":"m4","nativeSrc":"178085:2:22","nodeType":"YulIdentifier","src":"178085:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178186:4:22","nodeType":"YulLiteral","src":"178186:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"178192:10:22","nodeType":"YulLiteral","src":"178192:10:22","type":"","value":"0x136b05dd"}],"functionName":{"name":"mstore","nativeSrc":"178179:6:22","nodeType":"YulIdentifier","src":"178179:6:22"},"nativeSrc":"178179:24:22","nodeType":"YulFunctionCall","src":"178179:24:22"},"nativeSrc":"178179:24:22","nodeType":"YulExpressionStatement","src":"178179:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178223:4:22","nodeType":"YulLiteral","src":"178223:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"178229:2:22","nodeType":"YulIdentifier","src":"178229:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178216:6:22","nodeType":"YulIdentifier","src":"178216:6:22"},"nativeSrc":"178216:16:22","nodeType":"YulFunctionCall","src":"178216:16:22"},"nativeSrc":"178216:16:22","nodeType":"YulExpressionStatement","src":"178216:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178252:4:22","nodeType":"YulLiteral","src":"178252:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"178258:2:22","nodeType":"YulIdentifier","src":"178258:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178245:6:22","nodeType":"YulIdentifier","src":"178245:6:22"},"nativeSrc":"178245:16:22","nodeType":"YulFunctionCall","src":"178245:16:22"},"nativeSrc":"178245:16:22","nodeType":"YulExpressionStatement","src":"178245:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178281:4:22","nodeType":"YulLiteral","src":"178281:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"178287:2:22","nodeType":"YulIdentifier","src":"178287:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178274:6:22","nodeType":"YulIdentifier","src":"178274:6:22"},"nativeSrc":"178274:16:22","nodeType":"YulFunctionCall","src":"178274:16:22"},"nativeSrc":"178274:16:22","nodeType":"YulExpressionStatement","src":"178274:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178310:4:22","nodeType":"YulLiteral","src":"178310:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"178316:2:22","nodeType":"YulIdentifier","src":"178316:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178303:6:22","nodeType":"YulIdentifier","src":"178303:6:22"},"nativeSrc":"178303:16:22","nodeType":"YulFunctionCall","src":"178303:16:22"},"nativeSrc":"178303:16:22","nodeType":"YulExpressionStatement","src":"178303:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36945,"isOffset":false,"isSlot":false,"src":"177965:2:22","valueSize":1},{"declaration":36948,"isOffset":false,"isSlot":false,"src":"177995:2:22","valueSize":1},{"declaration":36951,"isOffset":false,"isSlot":false,"src":"178025:2:22","valueSize":1},{"declaration":36954,"isOffset":false,"isSlot":false,"src":"178055:2:22","valueSize":1},{"declaration":36957,"isOffset":false,"isSlot":false,"src":"178085:2:22","valueSize":1},{"declaration":36935,"isOffset":false,"isSlot":false,"src":"178229:2:22","valueSize":1},{"declaration":36937,"isOffset":false,"isSlot":false,"src":"178258:2:22","valueSize":1},{"declaration":36939,"isOffset":false,"isSlot":false,"src":"178287:2:22","valueSize":1},{"declaration":36941,"isOffset":false,"isSlot":false,"src":"178316:2:22","valueSize":1}],"id":36959,"nodeType":"InlineAssembly","src":"177942:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178354:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178360:4:22","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":36960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"178338:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"178338:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36964,"nodeType":"ExpressionStatement","src":"178338:27:22"},{"AST":{"nativeSrc":"178427:156:22","nodeType":"YulBlock","src":"178427:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"178448:4:22","nodeType":"YulLiteral","src":"178448:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"178454:2:22","nodeType":"YulIdentifier","src":"178454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178441:6:22","nodeType":"YulIdentifier","src":"178441:6:22"},"nativeSrc":"178441:16:22","nodeType":"YulFunctionCall","src":"178441:16:22"},"nativeSrc":"178441:16:22","nodeType":"YulExpressionStatement","src":"178441:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178477:4:22","nodeType":"YulLiteral","src":"178477:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"178483:2:22","nodeType":"YulIdentifier","src":"178483:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178470:6:22","nodeType":"YulIdentifier","src":"178470:6:22"},"nativeSrc":"178470:16:22","nodeType":"YulFunctionCall","src":"178470:16:22"},"nativeSrc":"178470:16:22","nodeType":"YulExpressionStatement","src":"178470:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178506:4:22","nodeType":"YulLiteral","src":"178506:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"178512:2:22","nodeType":"YulIdentifier","src":"178512:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178499:6:22","nodeType":"YulIdentifier","src":"178499:6:22"},"nativeSrc":"178499:16:22","nodeType":"YulFunctionCall","src":"178499:16:22"},"nativeSrc":"178499:16:22","nodeType":"YulExpressionStatement","src":"178499:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178535:4:22","nodeType":"YulLiteral","src":"178535:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"178541:2:22","nodeType":"YulIdentifier","src":"178541:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178528:6:22","nodeType":"YulIdentifier","src":"178528:6:22"},"nativeSrc":"178528:16:22","nodeType":"YulFunctionCall","src":"178528:16:22"},"nativeSrc":"178528:16:22","nodeType":"YulExpressionStatement","src":"178528:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178564:4:22","nodeType":"YulLiteral","src":"178564:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"178570:2:22","nodeType":"YulIdentifier","src":"178570:2:22"}],"functionName":{"name":"mstore","nativeSrc":"178557:6:22","nodeType":"YulIdentifier","src":"178557:6:22"},"nativeSrc":"178557:16:22","nodeType":"YulFunctionCall","src":"178557:16:22"},"nativeSrc":"178557:16:22","nodeType":"YulExpressionStatement","src":"178557:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36945,"isOffset":false,"isSlot":false,"src":"178454:2:22","valueSize":1},{"declaration":36948,"isOffset":false,"isSlot":false,"src":"178483:2:22","valueSize":1},{"declaration":36951,"isOffset":false,"isSlot":false,"src":"178512:2:22","valueSize":1},{"declaration":36954,"isOffset":false,"isSlot":false,"src":"178541:2:22","valueSize":1},{"declaration":36957,"isOffset":false,"isSlot":false,"src":"178570:2:22","valueSize":1}],"id":36965,"nodeType":"InlineAssembly","src":"178418:165:22"}]},"id":36967,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"177726:3:22","nodeType":"FunctionDefinition","parameters":{"id":36942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36935,"mutability":"mutable","name":"p0","nameLocation":"177735:2:22","nodeType":"VariableDeclaration","scope":36967,"src":"177730:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36934,"name":"bool","nodeType":"ElementaryTypeName","src":"177730:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36937,"mutability":"mutable","name":"p1","nameLocation":"177747:2:22","nodeType":"VariableDeclaration","scope":36967,"src":"177739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36936,"name":"address","nodeType":"ElementaryTypeName","src":"177739:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36939,"mutability":"mutable","name":"p2","nameLocation":"177759:2:22","nodeType":"VariableDeclaration","scope":36967,"src":"177751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36938,"name":"uint256","nodeType":"ElementaryTypeName","src":"177751:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36941,"mutability":"mutable","name":"p3","nameLocation":"177771:2:22","nodeType":"VariableDeclaration","scope":36967,"src":"177763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36940,"name":"address","nodeType":"ElementaryTypeName","src":"177763:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"177729:45:22"},"returnParameters":{"id":36943,"nodeType":"ParameterList","parameters":[],"src":"177789:0:22"},"scope":44426,"src":"177717:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37000,"nodeType":"Block","src":"178664:797:22","statements":[{"assignments":[36979],"declarations":[{"constant":false,"id":36979,"mutability":"mutable","name":"m0","nameLocation":"178682:2:22","nodeType":"VariableDeclaration","scope":37000,"src":"178674:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178674:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36980,"nodeType":"VariableDeclarationStatement","src":"178674:10:22"},{"assignments":[36982],"declarations":[{"constant":false,"id":36982,"mutability":"mutable","name":"m1","nameLocation":"178702:2:22","nodeType":"VariableDeclaration","scope":37000,"src":"178694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178694:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36983,"nodeType":"VariableDeclarationStatement","src":"178694:10:22"},{"assignments":[36985],"declarations":[{"constant":false,"id":36985,"mutability":"mutable","name":"m2","nameLocation":"178722:2:22","nodeType":"VariableDeclaration","scope":37000,"src":"178714:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178714:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36986,"nodeType":"VariableDeclarationStatement","src":"178714:10:22"},{"assignments":[36988],"declarations":[{"constant":false,"id":36988,"mutability":"mutable","name":"m3","nameLocation":"178742:2:22","nodeType":"VariableDeclaration","scope":37000,"src":"178734:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178734:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36989,"nodeType":"VariableDeclarationStatement","src":"178734:10:22"},{"assignments":[36991],"declarations":[{"constant":false,"id":36991,"mutability":"mutable","name":"m4","nameLocation":"178762:2:22","nodeType":"VariableDeclaration","scope":37000,"src":"178754:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178754:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36992,"nodeType":"VariableDeclarationStatement","src":"178754:10:22"},{"AST":{"nativeSrc":"178826:375:22","nodeType":"YulBlock","src":"178826:375:22","statements":[{"nativeSrc":"178840:17:22","nodeType":"YulAssignment","src":"178840:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178852:4:22","nodeType":"YulLiteral","src":"178852:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"178846:5:22","nodeType":"YulIdentifier","src":"178846:5:22"},"nativeSrc":"178846:11:22","nodeType":"YulFunctionCall","src":"178846:11:22"},"variableNames":[{"name":"m0","nativeSrc":"178840:2:22","nodeType":"YulIdentifier","src":"178840:2:22"}]},{"nativeSrc":"178870:17:22","nodeType":"YulAssignment","src":"178870:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178882:4:22","nodeType":"YulLiteral","src":"178882:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178876:5:22","nodeType":"YulIdentifier","src":"178876:5:22"},"nativeSrc":"178876:11:22","nodeType":"YulFunctionCall","src":"178876:11:22"},"variableNames":[{"name":"m1","nativeSrc":"178870:2:22","nodeType":"YulIdentifier","src":"178870:2:22"}]},{"nativeSrc":"178900:17:22","nodeType":"YulAssignment","src":"178900:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178912:4:22","nodeType":"YulLiteral","src":"178912:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178906:5:22","nodeType":"YulIdentifier","src":"178906:5:22"},"nativeSrc":"178906:11:22","nodeType":"YulFunctionCall","src":"178906:11:22"},"variableNames":[{"name":"m2","nativeSrc":"178900:2:22","nodeType":"YulIdentifier","src":"178900:2:22"}]},{"nativeSrc":"178930:17:22","nodeType":"YulAssignment","src":"178930:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178942:4:22","nodeType":"YulLiteral","src":"178942:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178936:5:22","nodeType":"YulIdentifier","src":"178936:5:22"},"nativeSrc":"178936:11:22","nodeType":"YulFunctionCall","src":"178936:11:22"},"variableNames":[{"name":"m3","nativeSrc":"178930:2:22","nodeType":"YulIdentifier","src":"178930:2:22"}]},{"nativeSrc":"178960:17:22","nodeType":"YulAssignment","src":"178960:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"178972:4:22","nodeType":"YulLiteral","src":"178972:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178966:5:22","nodeType":"YulIdentifier","src":"178966:5:22"},"nativeSrc":"178966:11:22","nodeType":"YulFunctionCall","src":"178966:11:22"},"variableNames":[{"name":"m4","nativeSrc":"178960:2:22","nodeType":"YulIdentifier","src":"178960:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179058:4:22","nodeType":"YulLiteral","src":"179058:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179064:10:22","nodeType":"YulLiteral","src":"179064:10:22","type":"","value":"0xd6019f1c"}],"functionName":{"name":"mstore","nativeSrc":"179051:6:22","nodeType":"YulIdentifier","src":"179051:6:22"},"nativeSrc":"179051:24:22","nodeType":"YulFunctionCall","src":"179051:24:22"},"nativeSrc":"179051:24:22","nodeType":"YulExpressionStatement","src":"179051:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179095:4:22","nodeType":"YulLiteral","src":"179095:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179101:2:22","nodeType":"YulIdentifier","src":"179101:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179088:6:22","nodeType":"YulIdentifier","src":"179088:6:22"},"nativeSrc":"179088:16:22","nodeType":"YulFunctionCall","src":"179088:16:22"},"nativeSrc":"179088:16:22","nodeType":"YulExpressionStatement","src":"179088:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179124:4:22","nodeType":"YulLiteral","src":"179124:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"179130:2:22","nodeType":"YulIdentifier","src":"179130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179117:6:22","nodeType":"YulIdentifier","src":"179117:6:22"},"nativeSrc":"179117:16:22","nodeType":"YulFunctionCall","src":"179117:16:22"},"nativeSrc":"179117:16:22","nodeType":"YulExpressionStatement","src":"179117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179153:4:22","nodeType":"YulLiteral","src":"179153:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"179159:2:22","nodeType":"YulIdentifier","src":"179159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179146:6:22","nodeType":"YulIdentifier","src":"179146:6:22"},"nativeSrc":"179146:16:22","nodeType":"YulFunctionCall","src":"179146:16:22"},"nativeSrc":"179146:16:22","nodeType":"YulExpressionStatement","src":"179146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179182:4:22","nodeType":"YulLiteral","src":"179182:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"179188:2:22","nodeType":"YulIdentifier","src":"179188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179175:6:22","nodeType":"YulIdentifier","src":"179175:6:22"},"nativeSrc":"179175:16:22","nodeType":"YulFunctionCall","src":"179175:16:22"},"nativeSrc":"179175:16:22","nodeType":"YulExpressionStatement","src":"179175:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36979,"isOffset":false,"isSlot":false,"src":"178840:2:22","valueSize":1},{"declaration":36982,"isOffset":false,"isSlot":false,"src":"178870:2:22","valueSize":1},{"declaration":36985,"isOffset":false,"isSlot":false,"src":"178900:2:22","valueSize":1},{"declaration":36988,"isOffset":false,"isSlot":false,"src":"178930:2:22","valueSize":1},{"declaration":36991,"isOffset":false,"isSlot":false,"src":"178960:2:22","valueSize":1},{"declaration":36969,"isOffset":false,"isSlot":false,"src":"179101:2:22","valueSize":1},{"declaration":36971,"isOffset":false,"isSlot":false,"src":"179130:2:22","valueSize":1},{"declaration":36973,"isOffset":false,"isSlot":false,"src":"179159:2:22","valueSize":1},{"declaration":36975,"isOffset":false,"isSlot":false,"src":"179188:2:22","valueSize":1}],"id":36993,"nodeType":"InlineAssembly","src":"178817:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":36995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179226:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":36996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179232:4:22","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":36994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"179210:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"179210:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36998,"nodeType":"ExpressionStatement","src":"179210:27:22"},{"AST":{"nativeSrc":"179299:156:22","nodeType":"YulBlock","src":"179299:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"179320:4:22","nodeType":"YulLiteral","src":"179320:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"179326:2:22","nodeType":"YulIdentifier","src":"179326:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179313:6:22","nodeType":"YulIdentifier","src":"179313:6:22"},"nativeSrc":"179313:16:22","nodeType":"YulFunctionCall","src":"179313:16:22"},"nativeSrc":"179313:16:22","nodeType":"YulExpressionStatement","src":"179313:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179349:4:22","nodeType":"YulLiteral","src":"179349:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"179355:2:22","nodeType":"YulIdentifier","src":"179355:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179342:6:22","nodeType":"YulIdentifier","src":"179342:6:22"},"nativeSrc":"179342:16:22","nodeType":"YulFunctionCall","src":"179342:16:22"},"nativeSrc":"179342:16:22","nodeType":"YulExpressionStatement","src":"179342:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179378:4:22","nodeType":"YulLiteral","src":"179378:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"179384:2:22","nodeType":"YulIdentifier","src":"179384:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179371:6:22","nodeType":"YulIdentifier","src":"179371:6:22"},"nativeSrc":"179371:16:22","nodeType":"YulFunctionCall","src":"179371:16:22"},"nativeSrc":"179371:16:22","nodeType":"YulExpressionStatement","src":"179371:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179407:4:22","nodeType":"YulLiteral","src":"179407:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"179413:2:22","nodeType":"YulIdentifier","src":"179413:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179400:6:22","nodeType":"YulIdentifier","src":"179400:6:22"},"nativeSrc":"179400:16:22","nodeType":"YulFunctionCall","src":"179400:16:22"},"nativeSrc":"179400:16:22","nodeType":"YulExpressionStatement","src":"179400:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179436:4:22","nodeType":"YulLiteral","src":"179436:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"179442:2:22","nodeType":"YulIdentifier","src":"179442:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179429:6:22","nodeType":"YulIdentifier","src":"179429:6:22"},"nativeSrc":"179429:16:22","nodeType":"YulFunctionCall","src":"179429:16:22"},"nativeSrc":"179429:16:22","nodeType":"YulExpressionStatement","src":"179429:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36979,"isOffset":false,"isSlot":false,"src":"179326:2:22","valueSize":1},{"declaration":36982,"isOffset":false,"isSlot":false,"src":"179355:2:22","valueSize":1},{"declaration":36985,"isOffset":false,"isSlot":false,"src":"179384:2:22","valueSize":1},{"declaration":36988,"isOffset":false,"isSlot":false,"src":"179413:2:22","valueSize":1},{"declaration":36991,"isOffset":false,"isSlot":false,"src":"179442:2:22","valueSize":1}],"id":36999,"nodeType":"InlineAssembly","src":"179290:165:22"}]},"id":37001,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"178604:3:22","nodeType":"FunctionDefinition","parameters":{"id":36976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36969,"mutability":"mutable","name":"p0","nameLocation":"178613:2:22","nodeType":"VariableDeclaration","scope":37001,"src":"178608:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36968,"name":"bool","nodeType":"ElementaryTypeName","src":"178608:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36971,"mutability":"mutable","name":"p1","nameLocation":"178625:2:22","nodeType":"VariableDeclaration","scope":37001,"src":"178617:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36970,"name":"address","nodeType":"ElementaryTypeName","src":"178617:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36973,"mutability":"mutable","name":"p2","nameLocation":"178637:2:22","nodeType":"VariableDeclaration","scope":37001,"src":"178629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36972,"name":"uint256","nodeType":"ElementaryTypeName","src":"178629:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36975,"mutability":"mutable","name":"p3","nameLocation":"178646:2:22","nodeType":"VariableDeclaration","scope":37001,"src":"178641:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36974,"name":"bool","nodeType":"ElementaryTypeName","src":"178641:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"178607:42:22"},"returnParameters":{"id":36977,"nodeType":"ParameterList","parameters":[],"src":"178664:0:22"},"scope":44426,"src":"178595:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37034,"nodeType":"Block","src":"179539:800:22","statements":[{"assignments":[37013],"declarations":[{"constant":false,"id":37013,"mutability":"mutable","name":"m0","nameLocation":"179557:2:22","nodeType":"VariableDeclaration","scope":37034,"src":"179549:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179549:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37014,"nodeType":"VariableDeclarationStatement","src":"179549:10:22"},{"assignments":[37016],"declarations":[{"constant":false,"id":37016,"mutability":"mutable","name":"m1","nameLocation":"179577:2:22","nodeType":"VariableDeclaration","scope":37034,"src":"179569:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179569:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37017,"nodeType":"VariableDeclarationStatement","src":"179569:10:22"},{"assignments":[37019],"declarations":[{"constant":false,"id":37019,"mutability":"mutable","name":"m2","nameLocation":"179597:2:22","nodeType":"VariableDeclaration","scope":37034,"src":"179589:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179589:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37020,"nodeType":"VariableDeclarationStatement","src":"179589:10:22"},{"assignments":[37022],"declarations":[{"constant":false,"id":37022,"mutability":"mutable","name":"m3","nameLocation":"179617:2:22","nodeType":"VariableDeclaration","scope":37034,"src":"179609:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179609:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37023,"nodeType":"VariableDeclarationStatement","src":"179609:10:22"},{"assignments":[37025],"declarations":[{"constant":false,"id":37025,"mutability":"mutable","name":"m4","nameLocation":"179637:2:22","nodeType":"VariableDeclaration","scope":37034,"src":"179629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179629:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37026,"nodeType":"VariableDeclarationStatement","src":"179629:10:22"},{"AST":{"nativeSrc":"179701:378:22","nodeType":"YulBlock","src":"179701:378:22","statements":[{"nativeSrc":"179715:17:22","nodeType":"YulAssignment","src":"179715:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"179727:4:22","nodeType":"YulLiteral","src":"179727:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"179721:5:22","nodeType":"YulIdentifier","src":"179721:5:22"},"nativeSrc":"179721:11:22","nodeType":"YulFunctionCall","src":"179721:11:22"},"variableNames":[{"name":"m0","nativeSrc":"179715:2:22","nodeType":"YulIdentifier","src":"179715:2:22"}]},{"nativeSrc":"179745:17:22","nodeType":"YulAssignment","src":"179745:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"179757:4:22","nodeType":"YulLiteral","src":"179757:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"179751:5:22","nodeType":"YulIdentifier","src":"179751:5:22"},"nativeSrc":"179751:11:22","nodeType":"YulFunctionCall","src":"179751:11:22"},"variableNames":[{"name":"m1","nativeSrc":"179745:2:22","nodeType":"YulIdentifier","src":"179745:2:22"}]},{"nativeSrc":"179775:17:22","nodeType":"YulAssignment","src":"179775:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"179787:4:22","nodeType":"YulLiteral","src":"179787:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"179781:5:22","nodeType":"YulIdentifier","src":"179781:5:22"},"nativeSrc":"179781:11:22","nodeType":"YulFunctionCall","src":"179781:11:22"},"variableNames":[{"name":"m2","nativeSrc":"179775:2:22","nodeType":"YulIdentifier","src":"179775:2:22"}]},{"nativeSrc":"179805:17:22","nodeType":"YulAssignment","src":"179805:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"179817:4:22","nodeType":"YulLiteral","src":"179817:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"179811:5:22","nodeType":"YulIdentifier","src":"179811:5:22"},"nativeSrc":"179811:11:22","nodeType":"YulFunctionCall","src":"179811:11:22"},"variableNames":[{"name":"m3","nativeSrc":"179805:2:22","nodeType":"YulIdentifier","src":"179805:2:22"}]},{"nativeSrc":"179835:17:22","nodeType":"YulAssignment","src":"179835:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"179847:4:22","nodeType":"YulLiteral","src":"179847:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"179841:5:22","nodeType":"YulIdentifier","src":"179841:5:22"},"nativeSrc":"179841:11:22","nodeType":"YulFunctionCall","src":"179841:11:22"},"variableNames":[{"name":"m4","nativeSrc":"179835:2:22","nodeType":"YulIdentifier","src":"179835:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179936:4:22","nodeType":"YulLiteral","src":"179936:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179942:10:22","nodeType":"YulLiteral","src":"179942:10:22","type":"","value":"0x7bf181a1"}],"functionName":{"name":"mstore","nativeSrc":"179929:6:22","nodeType":"YulIdentifier","src":"179929:6:22"},"nativeSrc":"179929:24:22","nodeType":"YulFunctionCall","src":"179929:24:22"},"nativeSrc":"179929:24:22","nodeType":"YulExpressionStatement","src":"179929:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179973:4:22","nodeType":"YulLiteral","src":"179973:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179979:2:22","nodeType":"YulIdentifier","src":"179979:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179966:6:22","nodeType":"YulIdentifier","src":"179966:6:22"},"nativeSrc":"179966:16:22","nodeType":"YulFunctionCall","src":"179966:16:22"},"nativeSrc":"179966:16:22","nodeType":"YulExpressionStatement","src":"179966:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180002:4:22","nodeType":"YulLiteral","src":"180002:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"180008:2:22","nodeType":"YulIdentifier","src":"180008:2:22"}],"functionName":{"name":"mstore","nativeSrc":"179995:6:22","nodeType":"YulIdentifier","src":"179995:6:22"},"nativeSrc":"179995:16:22","nodeType":"YulFunctionCall","src":"179995:16:22"},"nativeSrc":"179995:16:22","nodeType":"YulExpressionStatement","src":"179995:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180031:4:22","nodeType":"YulLiteral","src":"180031:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"180037:2:22","nodeType":"YulIdentifier","src":"180037:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180024:6:22","nodeType":"YulIdentifier","src":"180024:6:22"},"nativeSrc":"180024:16:22","nodeType":"YulFunctionCall","src":"180024:16:22"},"nativeSrc":"180024:16:22","nodeType":"YulExpressionStatement","src":"180024:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180060:4:22","nodeType":"YulLiteral","src":"180060:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"180066:2:22","nodeType":"YulIdentifier","src":"180066:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180053:6:22","nodeType":"YulIdentifier","src":"180053:6:22"},"nativeSrc":"180053:16:22","nodeType":"YulFunctionCall","src":"180053:16:22"},"nativeSrc":"180053:16:22","nodeType":"YulExpressionStatement","src":"180053:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37013,"isOffset":false,"isSlot":false,"src":"179715:2:22","valueSize":1},{"declaration":37016,"isOffset":false,"isSlot":false,"src":"179745:2:22","valueSize":1},{"declaration":37019,"isOffset":false,"isSlot":false,"src":"179775:2:22","valueSize":1},{"declaration":37022,"isOffset":false,"isSlot":false,"src":"179805:2:22","valueSize":1},{"declaration":37025,"isOffset":false,"isSlot":false,"src":"179835:2:22","valueSize":1},{"declaration":37003,"isOffset":false,"isSlot":false,"src":"179979:2:22","valueSize":1},{"declaration":37005,"isOffset":false,"isSlot":false,"src":"180008:2:22","valueSize":1},{"declaration":37007,"isOffset":false,"isSlot":false,"src":"180037:2:22","valueSize":1},{"declaration":37009,"isOffset":false,"isSlot":false,"src":"180066:2:22","valueSize":1}],"id":37027,"nodeType":"InlineAssembly","src":"179692:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180104:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180110:4:22","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":37028,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"180088:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"180088:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37032,"nodeType":"ExpressionStatement","src":"180088:27:22"},{"AST":{"nativeSrc":"180177:156:22","nodeType":"YulBlock","src":"180177:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"180198:4:22","nodeType":"YulLiteral","src":"180198:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"180204:2:22","nodeType":"YulIdentifier","src":"180204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180191:6:22","nodeType":"YulIdentifier","src":"180191:6:22"},"nativeSrc":"180191:16:22","nodeType":"YulFunctionCall","src":"180191:16:22"},"nativeSrc":"180191:16:22","nodeType":"YulExpressionStatement","src":"180191:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180227:4:22","nodeType":"YulLiteral","src":"180227:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"180233:2:22","nodeType":"YulIdentifier","src":"180233:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180220:6:22","nodeType":"YulIdentifier","src":"180220:6:22"},"nativeSrc":"180220:16:22","nodeType":"YulFunctionCall","src":"180220:16:22"},"nativeSrc":"180220:16:22","nodeType":"YulExpressionStatement","src":"180220:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180256:4:22","nodeType":"YulLiteral","src":"180256:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"180262:2:22","nodeType":"YulIdentifier","src":"180262:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180249:6:22","nodeType":"YulIdentifier","src":"180249:6:22"},"nativeSrc":"180249:16:22","nodeType":"YulFunctionCall","src":"180249:16:22"},"nativeSrc":"180249:16:22","nodeType":"YulExpressionStatement","src":"180249:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180285:4:22","nodeType":"YulLiteral","src":"180285:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"180291:2:22","nodeType":"YulIdentifier","src":"180291:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180278:6:22","nodeType":"YulIdentifier","src":"180278:6:22"},"nativeSrc":"180278:16:22","nodeType":"YulFunctionCall","src":"180278:16:22"},"nativeSrc":"180278:16:22","nodeType":"YulExpressionStatement","src":"180278:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180314:4:22","nodeType":"YulLiteral","src":"180314:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"180320:2:22","nodeType":"YulIdentifier","src":"180320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"180307:6:22","nodeType":"YulIdentifier","src":"180307:6:22"},"nativeSrc":"180307:16:22","nodeType":"YulFunctionCall","src":"180307:16:22"},"nativeSrc":"180307:16:22","nodeType":"YulExpressionStatement","src":"180307:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37013,"isOffset":false,"isSlot":false,"src":"180204:2:22","valueSize":1},{"declaration":37016,"isOffset":false,"isSlot":false,"src":"180233:2:22","valueSize":1},{"declaration":37019,"isOffset":false,"isSlot":false,"src":"180262:2:22","valueSize":1},{"declaration":37022,"isOffset":false,"isSlot":false,"src":"180291:2:22","valueSize":1},{"declaration":37025,"isOffset":false,"isSlot":false,"src":"180320:2:22","valueSize":1}],"id":37033,"nodeType":"InlineAssembly","src":"180168:165:22"}]},"id":37035,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"179476:3:22","nodeType":"FunctionDefinition","parameters":{"id":37010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37003,"mutability":"mutable","name":"p0","nameLocation":"179485:2:22","nodeType":"VariableDeclaration","scope":37035,"src":"179480:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37002,"name":"bool","nodeType":"ElementaryTypeName","src":"179480:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37005,"mutability":"mutable","name":"p1","nameLocation":"179497:2:22","nodeType":"VariableDeclaration","scope":37035,"src":"179489:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37004,"name":"address","nodeType":"ElementaryTypeName","src":"179489:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37007,"mutability":"mutable","name":"p2","nameLocation":"179509:2:22","nodeType":"VariableDeclaration","scope":37035,"src":"179501:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37006,"name":"uint256","nodeType":"ElementaryTypeName","src":"179501:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37009,"mutability":"mutable","name":"p3","nameLocation":"179521:2:22","nodeType":"VariableDeclaration","scope":37035,"src":"179513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37008,"name":"uint256","nodeType":"ElementaryTypeName","src":"179513:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"179479:45:22"},"returnParameters":{"id":37011,"nodeType":"ParameterList","parameters":[],"src":"179539:0:22"},"scope":44426,"src":"179467:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37074,"nodeType":"Block","src":"180417:1348:22","statements":[{"assignments":[37047],"declarations":[{"constant":false,"id":37047,"mutability":"mutable","name":"m0","nameLocation":"180435:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180427:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180427:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37048,"nodeType":"VariableDeclarationStatement","src":"180427:10:22"},{"assignments":[37050],"declarations":[{"constant":false,"id":37050,"mutability":"mutable","name":"m1","nameLocation":"180455:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180447:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180447:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37051,"nodeType":"VariableDeclarationStatement","src":"180447:10:22"},{"assignments":[37053],"declarations":[{"constant":false,"id":37053,"mutability":"mutable","name":"m2","nameLocation":"180475:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180467:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37052,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180467:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37054,"nodeType":"VariableDeclarationStatement","src":"180467:10:22"},{"assignments":[37056],"declarations":[{"constant":false,"id":37056,"mutability":"mutable","name":"m3","nameLocation":"180495:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180487:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180487:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37057,"nodeType":"VariableDeclarationStatement","src":"180487:10:22"},{"assignments":[37059],"declarations":[{"constant":false,"id":37059,"mutability":"mutable","name":"m4","nameLocation":"180515:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180507:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180507:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37060,"nodeType":"VariableDeclarationStatement","src":"180507:10:22"},{"assignments":[37062],"declarations":[{"constant":false,"id":37062,"mutability":"mutable","name":"m5","nameLocation":"180535:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180527:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180527:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37063,"nodeType":"VariableDeclarationStatement","src":"180527:10:22"},{"assignments":[37065],"declarations":[{"constant":false,"id":37065,"mutability":"mutable","name":"m6","nameLocation":"180555:2:22","nodeType":"VariableDeclaration","scope":37074,"src":"180547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37066,"nodeType":"VariableDeclarationStatement","src":"180547:10:22"},{"AST":{"nativeSrc":"180619:828:22","nodeType":"YulBlock","src":"180619:828:22","statements":[{"body":{"nativeSrc":"180662:313:22","nodeType":"YulBlock","src":"180662:313:22","statements":[{"nativeSrc":"180680:15:22","nodeType":"YulVariableDeclaration","src":"180680:15:22","value":{"kind":"number","nativeSrc":"180694:1:22","nodeType":"YulLiteral","src":"180694:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"180684:6:22","nodeType":"YulTypedName","src":"180684:6:22","type":""}]},{"body":{"nativeSrc":"180765:40:22","nodeType":"YulBlock","src":"180765:40:22","statements":[{"body":{"nativeSrc":"180794:9:22","nodeType":"YulBlock","src":"180794:9:22","statements":[{"nativeSrc":"180796:5:22","nodeType":"YulBreak","src":"180796:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"180782:6:22","nodeType":"YulIdentifier","src":"180782:6:22"},{"name":"w","nativeSrc":"180790:1:22","nodeType":"YulIdentifier","src":"180790:1:22"}],"functionName":{"name":"byte","nativeSrc":"180777:4:22","nodeType":"YulIdentifier","src":"180777:4:22"},"nativeSrc":"180777:15:22","nodeType":"YulFunctionCall","src":"180777:15:22"}],"functionName":{"name":"iszero","nativeSrc":"180770:6:22","nodeType":"YulIdentifier","src":"180770:6:22"},"nativeSrc":"180770:23:22","nodeType":"YulFunctionCall","src":"180770:23:22"},"nativeSrc":"180767:36:22","nodeType":"YulIf","src":"180767:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"180722:6:22","nodeType":"YulIdentifier","src":"180722:6:22"},{"kind":"number","nativeSrc":"180730:4:22","nodeType":"YulLiteral","src":"180730:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"180719:2:22","nodeType":"YulIdentifier","src":"180719:2:22"},"nativeSrc":"180719:16:22","nodeType":"YulFunctionCall","src":"180719:16:22"},"nativeSrc":"180712:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"180736:28:22","nodeType":"YulBlock","src":"180736:28:22","statements":[{"nativeSrc":"180738:24:22","nodeType":"YulAssignment","src":"180738:24:22","value":{"arguments":[{"name":"length","nativeSrc":"180752:6:22","nodeType":"YulIdentifier","src":"180752:6:22"},{"kind":"number","nativeSrc":"180760:1:22","nodeType":"YulLiteral","src":"180760:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"180748:3:22","nodeType":"YulIdentifier","src":"180748:3:22"},"nativeSrc":"180748:14:22","nodeType":"YulFunctionCall","src":"180748:14:22"},"variableNames":[{"name":"length","nativeSrc":"180738:6:22","nodeType":"YulIdentifier","src":"180738:6:22"}]}]},"pre":{"nativeSrc":"180716:2:22","nodeType":"YulBlock","src":"180716:2:22","statements":[]},"src":"180712:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"180829:3:22","nodeType":"YulIdentifier","src":"180829:3:22"},{"name":"length","nativeSrc":"180834:6:22","nodeType":"YulIdentifier","src":"180834:6:22"}],"functionName":{"name":"mstore","nativeSrc":"180822:6:22","nodeType":"YulIdentifier","src":"180822:6:22"},"nativeSrc":"180822:19:22","nodeType":"YulFunctionCall","src":"180822:19:22"},"nativeSrc":"180822:19:22","nodeType":"YulExpressionStatement","src":"180822:19:22"},{"nativeSrc":"180858:37:22","nodeType":"YulVariableDeclaration","src":"180858:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"180875:3:22","nodeType":"YulLiteral","src":"180875:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"180884:1:22","nodeType":"YulLiteral","src":"180884:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"180887:6:22","nodeType":"YulIdentifier","src":"180887:6:22"}],"functionName":{"name":"shl","nativeSrc":"180880:3:22","nodeType":"YulIdentifier","src":"180880:3:22"},"nativeSrc":"180880:14:22","nodeType":"YulFunctionCall","src":"180880:14:22"}],"functionName":{"name":"sub","nativeSrc":"180871:3:22","nodeType":"YulIdentifier","src":"180871:3:22"},"nativeSrc":"180871:24:22","nodeType":"YulFunctionCall","src":"180871:24:22"},"variables":[{"name":"shift","nativeSrc":"180862:5:22","nodeType":"YulTypedName","src":"180862:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"180923:3:22","nodeType":"YulIdentifier","src":"180923:3:22"},{"kind":"number","nativeSrc":"180928:4:22","nodeType":"YulLiteral","src":"180928:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"180919:3:22","nodeType":"YulIdentifier","src":"180919:3:22"},"nativeSrc":"180919:14:22","nodeType":"YulFunctionCall","src":"180919:14:22"},{"arguments":[{"name":"shift","nativeSrc":"180939:5:22","nodeType":"YulIdentifier","src":"180939:5:22"},{"arguments":[{"name":"shift","nativeSrc":"180950:5:22","nodeType":"YulIdentifier","src":"180950:5:22"},{"name":"w","nativeSrc":"180957:1:22","nodeType":"YulIdentifier","src":"180957:1:22"}],"functionName":{"name":"shr","nativeSrc":"180946:3:22","nodeType":"YulIdentifier","src":"180946:3:22"},"nativeSrc":"180946:13:22","nodeType":"YulFunctionCall","src":"180946:13:22"}],"functionName":{"name":"shl","nativeSrc":"180935:3:22","nodeType":"YulIdentifier","src":"180935:3:22"},"nativeSrc":"180935:25:22","nodeType":"YulFunctionCall","src":"180935:25:22"}],"functionName":{"name":"mstore","nativeSrc":"180912:6:22","nodeType":"YulIdentifier","src":"180912:6:22"},"nativeSrc":"180912:49:22","nodeType":"YulFunctionCall","src":"180912:49:22"},"nativeSrc":"180912:49:22","nodeType":"YulExpressionStatement","src":"180912:49:22"}]},"name":"writeString","nativeSrc":"180633:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"180654:3:22","nodeType":"YulTypedName","src":"180654:3:22","type":""},{"name":"w","nativeSrc":"180659:1:22","nodeType":"YulTypedName","src":"180659:1:22","type":""}],"src":"180633:342:22"},{"nativeSrc":"180988:17:22","nodeType":"YulAssignment","src":"180988:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181000:4:22","nodeType":"YulLiteral","src":"181000:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"180994:5:22","nodeType":"YulIdentifier","src":"180994:5:22"},"nativeSrc":"180994:11:22","nodeType":"YulFunctionCall","src":"180994:11:22"},"variableNames":[{"name":"m0","nativeSrc":"180988:2:22","nodeType":"YulIdentifier","src":"180988:2:22"}]},{"nativeSrc":"181018:17:22","nodeType":"YulAssignment","src":"181018:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181030:4:22","nodeType":"YulLiteral","src":"181030:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"181024:5:22","nodeType":"YulIdentifier","src":"181024:5:22"},"nativeSrc":"181024:11:22","nodeType":"YulFunctionCall","src":"181024:11:22"},"variableNames":[{"name":"m1","nativeSrc":"181018:2:22","nodeType":"YulIdentifier","src":"181018:2:22"}]},{"nativeSrc":"181048:17:22","nodeType":"YulAssignment","src":"181048:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181060:4:22","nodeType":"YulLiteral","src":"181060:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"181054:5:22","nodeType":"YulIdentifier","src":"181054:5:22"},"nativeSrc":"181054:11:22","nodeType":"YulFunctionCall","src":"181054:11:22"},"variableNames":[{"name":"m2","nativeSrc":"181048:2:22","nodeType":"YulIdentifier","src":"181048:2:22"}]},{"nativeSrc":"181078:17:22","nodeType":"YulAssignment","src":"181078:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181090:4:22","nodeType":"YulLiteral","src":"181090:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"181084:5:22","nodeType":"YulIdentifier","src":"181084:5:22"},"nativeSrc":"181084:11:22","nodeType":"YulFunctionCall","src":"181084:11:22"},"variableNames":[{"name":"m3","nativeSrc":"181078:2:22","nodeType":"YulIdentifier","src":"181078:2:22"}]},{"nativeSrc":"181108:17:22","nodeType":"YulAssignment","src":"181108:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181120:4:22","nodeType":"YulLiteral","src":"181120:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"181114:5:22","nodeType":"YulIdentifier","src":"181114:5:22"},"nativeSrc":"181114:11:22","nodeType":"YulFunctionCall","src":"181114:11:22"},"variableNames":[{"name":"m4","nativeSrc":"181108:2:22","nodeType":"YulIdentifier","src":"181108:2:22"}]},{"nativeSrc":"181138:17:22","nodeType":"YulAssignment","src":"181138:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181150:4:22","nodeType":"YulLiteral","src":"181150:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"181144:5:22","nodeType":"YulIdentifier","src":"181144:5:22"},"nativeSrc":"181144:11:22","nodeType":"YulFunctionCall","src":"181144:11:22"},"variableNames":[{"name":"m5","nativeSrc":"181138:2:22","nodeType":"YulIdentifier","src":"181138:2:22"}]},{"nativeSrc":"181168:17:22","nodeType":"YulAssignment","src":"181168:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"181180:4:22","nodeType":"YulLiteral","src":"181180:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"181174:5:22","nodeType":"YulIdentifier","src":"181174:5:22"},"nativeSrc":"181174:11:22","nodeType":"YulFunctionCall","src":"181174:11:22"},"variableNames":[{"name":"m6","nativeSrc":"181168:2:22","nodeType":"YulIdentifier","src":"181168:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181268:4:22","nodeType":"YulLiteral","src":"181268:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"181274:10:22","nodeType":"YulLiteral","src":"181274:10:22","type":"","value":"0x51f09ff8"}],"functionName":{"name":"mstore","nativeSrc":"181261:6:22","nodeType":"YulIdentifier","src":"181261:6:22"},"nativeSrc":"181261:24:22","nodeType":"YulFunctionCall","src":"181261:24:22"},"nativeSrc":"181261:24:22","nodeType":"YulExpressionStatement","src":"181261:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181305:4:22","nodeType":"YulLiteral","src":"181305:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"181311:2:22","nodeType":"YulIdentifier","src":"181311:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181298:6:22","nodeType":"YulIdentifier","src":"181298:6:22"},"nativeSrc":"181298:16:22","nodeType":"YulFunctionCall","src":"181298:16:22"},"nativeSrc":"181298:16:22","nodeType":"YulExpressionStatement","src":"181298:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181334:4:22","nodeType":"YulLiteral","src":"181334:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"181340:2:22","nodeType":"YulIdentifier","src":"181340:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181327:6:22","nodeType":"YulIdentifier","src":"181327:6:22"},"nativeSrc":"181327:16:22","nodeType":"YulFunctionCall","src":"181327:16:22"},"nativeSrc":"181327:16:22","nodeType":"YulExpressionStatement","src":"181327:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181363:4:22","nodeType":"YulLiteral","src":"181363:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"181369:2:22","nodeType":"YulIdentifier","src":"181369:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181356:6:22","nodeType":"YulIdentifier","src":"181356:6:22"},"nativeSrc":"181356:16:22","nodeType":"YulFunctionCall","src":"181356:16:22"},"nativeSrc":"181356:16:22","nodeType":"YulExpressionStatement","src":"181356:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181392:4:22","nodeType":"YulLiteral","src":"181392:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"181398:4:22","nodeType":"YulLiteral","src":"181398:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"181385:6:22","nodeType":"YulIdentifier","src":"181385:6:22"},"nativeSrc":"181385:18:22","nodeType":"YulFunctionCall","src":"181385:18:22"},"nativeSrc":"181385:18:22","nodeType":"YulExpressionStatement","src":"181385:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181428:4:22","nodeType":"YulLiteral","src":"181428:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"181434:2:22","nodeType":"YulIdentifier","src":"181434:2:22"}],"functionName":{"name":"writeString","nativeSrc":"181416:11:22","nodeType":"YulIdentifier","src":"181416:11:22"},"nativeSrc":"181416:21:22","nodeType":"YulFunctionCall","src":"181416:21:22"},"nativeSrc":"181416:21:22","nodeType":"YulExpressionStatement","src":"181416:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37047,"isOffset":false,"isSlot":false,"src":"180988:2:22","valueSize":1},{"declaration":37050,"isOffset":false,"isSlot":false,"src":"181018:2:22","valueSize":1},{"declaration":37053,"isOffset":false,"isSlot":false,"src":"181048:2:22","valueSize":1},{"declaration":37056,"isOffset":false,"isSlot":false,"src":"181078:2:22","valueSize":1},{"declaration":37059,"isOffset":false,"isSlot":false,"src":"181108:2:22","valueSize":1},{"declaration":37062,"isOffset":false,"isSlot":false,"src":"181138:2:22","valueSize":1},{"declaration":37065,"isOffset":false,"isSlot":false,"src":"181168:2:22","valueSize":1},{"declaration":37037,"isOffset":false,"isSlot":false,"src":"181311:2:22","valueSize":1},{"declaration":37039,"isOffset":false,"isSlot":false,"src":"181340:2:22","valueSize":1},{"declaration":37041,"isOffset":false,"isSlot":false,"src":"181369:2:22","valueSize":1},{"declaration":37043,"isOffset":false,"isSlot":false,"src":"181434:2:22","valueSize":1}],"id":37067,"nodeType":"InlineAssembly","src":"180610:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181472:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181478:4:22","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":37068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"181456:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"181456:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37072,"nodeType":"ExpressionStatement","src":"181456:27:22"},{"AST":{"nativeSrc":"181545:214:22","nodeType":"YulBlock","src":"181545:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"181566:4:22","nodeType":"YulLiteral","src":"181566:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"181572:2:22","nodeType":"YulIdentifier","src":"181572:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181559:6:22","nodeType":"YulIdentifier","src":"181559:6:22"},"nativeSrc":"181559:16:22","nodeType":"YulFunctionCall","src":"181559:16:22"},"nativeSrc":"181559:16:22","nodeType":"YulExpressionStatement","src":"181559:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181595:4:22","nodeType":"YulLiteral","src":"181595:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"181601:2:22","nodeType":"YulIdentifier","src":"181601:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181588:6:22","nodeType":"YulIdentifier","src":"181588:6:22"},"nativeSrc":"181588:16:22","nodeType":"YulFunctionCall","src":"181588:16:22"},"nativeSrc":"181588:16:22","nodeType":"YulExpressionStatement","src":"181588:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181624:4:22","nodeType":"YulLiteral","src":"181624:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"181630:2:22","nodeType":"YulIdentifier","src":"181630:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181617:6:22","nodeType":"YulIdentifier","src":"181617:6:22"},"nativeSrc":"181617:16:22","nodeType":"YulFunctionCall","src":"181617:16:22"},"nativeSrc":"181617:16:22","nodeType":"YulExpressionStatement","src":"181617:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181653:4:22","nodeType":"YulLiteral","src":"181653:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"181659:2:22","nodeType":"YulIdentifier","src":"181659:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181646:6:22","nodeType":"YulIdentifier","src":"181646:6:22"},"nativeSrc":"181646:16:22","nodeType":"YulFunctionCall","src":"181646:16:22"},"nativeSrc":"181646:16:22","nodeType":"YulExpressionStatement","src":"181646:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181682:4:22","nodeType":"YulLiteral","src":"181682:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"181688:2:22","nodeType":"YulIdentifier","src":"181688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181675:6:22","nodeType":"YulIdentifier","src":"181675:6:22"},"nativeSrc":"181675:16:22","nodeType":"YulFunctionCall","src":"181675:16:22"},"nativeSrc":"181675:16:22","nodeType":"YulExpressionStatement","src":"181675:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181711:4:22","nodeType":"YulLiteral","src":"181711:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"181717:2:22","nodeType":"YulIdentifier","src":"181717:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181704:6:22","nodeType":"YulIdentifier","src":"181704:6:22"},"nativeSrc":"181704:16:22","nodeType":"YulFunctionCall","src":"181704:16:22"},"nativeSrc":"181704:16:22","nodeType":"YulExpressionStatement","src":"181704:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181740:4:22","nodeType":"YulLiteral","src":"181740:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"181746:2:22","nodeType":"YulIdentifier","src":"181746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"181733:6:22","nodeType":"YulIdentifier","src":"181733:6:22"},"nativeSrc":"181733:16:22","nodeType":"YulFunctionCall","src":"181733:16:22"},"nativeSrc":"181733:16:22","nodeType":"YulExpressionStatement","src":"181733:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37047,"isOffset":false,"isSlot":false,"src":"181572:2:22","valueSize":1},{"declaration":37050,"isOffset":false,"isSlot":false,"src":"181601:2:22","valueSize":1},{"declaration":37053,"isOffset":false,"isSlot":false,"src":"181630:2:22","valueSize":1},{"declaration":37056,"isOffset":false,"isSlot":false,"src":"181659:2:22","valueSize":1},{"declaration":37059,"isOffset":false,"isSlot":false,"src":"181688:2:22","valueSize":1},{"declaration":37062,"isOffset":false,"isSlot":false,"src":"181717:2:22","valueSize":1},{"declaration":37065,"isOffset":false,"isSlot":false,"src":"181746:2:22","valueSize":1}],"id":37073,"nodeType":"InlineAssembly","src":"181536:223:22"}]},"id":37075,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"180354:3:22","nodeType":"FunctionDefinition","parameters":{"id":37044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37037,"mutability":"mutable","name":"p0","nameLocation":"180363:2:22","nodeType":"VariableDeclaration","scope":37075,"src":"180358:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37036,"name":"bool","nodeType":"ElementaryTypeName","src":"180358:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37039,"mutability":"mutable","name":"p1","nameLocation":"180375:2:22","nodeType":"VariableDeclaration","scope":37075,"src":"180367:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37038,"name":"address","nodeType":"ElementaryTypeName","src":"180367:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37041,"mutability":"mutable","name":"p2","nameLocation":"180387:2:22","nodeType":"VariableDeclaration","scope":37075,"src":"180379:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37040,"name":"uint256","nodeType":"ElementaryTypeName","src":"180379:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37043,"mutability":"mutable","name":"p3","nameLocation":"180399:2:22","nodeType":"VariableDeclaration","scope":37075,"src":"180391:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180391:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"180357:45:22"},"returnParameters":{"id":37045,"nodeType":"ParameterList","parameters":[],"src":"180417:0:22"},"scope":44426,"src":"180345:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37114,"nodeType":"Block","src":"181843:1348:22","statements":[{"assignments":[37087],"declarations":[{"constant":false,"id":37087,"mutability":"mutable","name":"m0","nameLocation":"181861:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181853:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181853:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37088,"nodeType":"VariableDeclarationStatement","src":"181853:10:22"},{"assignments":[37090],"declarations":[{"constant":false,"id":37090,"mutability":"mutable","name":"m1","nameLocation":"181881:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37091,"nodeType":"VariableDeclarationStatement","src":"181873:10:22"},{"assignments":[37093],"declarations":[{"constant":false,"id":37093,"mutability":"mutable","name":"m2","nameLocation":"181901:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37094,"nodeType":"VariableDeclarationStatement","src":"181893:10:22"},{"assignments":[37096],"declarations":[{"constant":false,"id":37096,"mutability":"mutable","name":"m3","nameLocation":"181921:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181913:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181913:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37097,"nodeType":"VariableDeclarationStatement","src":"181913:10:22"},{"assignments":[37099],"declarations":[{"constant":false,"id":37099,"mutability":"mutable","name":"m4","nameLocation":"181941:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181933:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181933:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37100,"nodeType":"VariableDeclarationStatement","src":"181933:10:22"},{"assignments":[37102],"declarations":[{"constant":false,"id":37102,"mutability":"mutable","name":"m5","nameLocation":"181961:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181953:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181953:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37103,"nodeType":"VariableDeclarationStatement","src":"181953:10:22"},{"assignments":[37105],"declarations":[{"constant":false,"id":37105,"mutability":"mutable","name":"m6","nameLocation":"181981:2:22","nodeType":"VariableDeclaration","scope":37114,"src":"181973:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181973:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37106,"nodeType":"VariableDeclarationStatement","src":"181973:10:22"},{"AST":{"nativeSrc":"182045:828:22","nodeType":"YulBlock","src":"182045:828:22","statements":[{"body":{"nativeSrc":"182088:313:22","nodeType":"YulBlock","src":"182088:313:22","statements":[{"nativeSrc":"182106:15:22","nodeType":"YulVariableDeclaration","src":"182106:15:22","value":{"kind":"number","nativeSrc":"182120:1:22","nodeType":"YulLiteral","src":"182120:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"182110:6:22","nodeType":"YulTypedName","src":"182110:6:22","type":""}]},{"body":{"nativeSrc":"182191:40:22","nodeType":"YulBlock","src":"182191:40:22","statements":[{"body":{"nativeSrc":"182220:9:22","nodeType":"YulBlock","src":"182220:9:22","statements":[{"nativeSrc":"182222:5:22","nodeType":"YulBreak","src":"182222:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"182208:6:22","nodeType":"YulIdentifier","src":"182208:6:22"},{"name":"w","nativeSrc":"182216:1:22","nodeType":"YulIdentifier","src":"182216:1:22"}],"functionName":{"name":"byte","nativeSrc":"182203:4:22","nodeType":"YulIdentifier","src":"182203:4:22"},"nativeSrc":"182203:15:22","nodeType":"YulFunctionCall","src":"182203:15:22"}],"functionName":{"name":"iszero","nativeSrc":"182196:6:22","nodeType":"YulIdentifier","src":"182196:6:22"},"nativeSrc":"182196:23:22","nodeType":"YulFunctionCall","src":"182196:23:22"},"nativeSrc":"182193:36:22","nodeType":"YulIf","src":"182193:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"182148:6:22","nodeType":"YulIdentifier","src":"182148:6:22"},{"kind":"number","nativeSrc":"182156:4:22","nodeType":"YulLiteral","src":"182156:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"182145:2:22","nodeType":"YulIdentifier","src":"182145:2:22"},"nativeSrc":"182145:16:22","nodeType":"YulFunctionCall","src":"182145:16:22"},"nativeSrc":"182138:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"182162:28:22","nodeType":"YulBlock","src":"182162:28:22","statements":[{"nativeSrc":"182164:24:22","nodeType":"YulAssignment","src":"182164:24:22","value":{"arguments":[{"name":"length","nativeSrc":"182178:6:22","nodeType":"YulIdentifier","src":"182178:6:22"},{"kind":"number","nativeSrc":"182186:1:22","nodeType":"YulLiteral","src":"182186:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"182174:3:22","nodeType":"YulIdentifier","src":"182174:3:22"},"nativeSrc":"182174:14:22","nodeType":"YulFunctionCall","src":"182174:14:22"},"variableNames":[{"name":"length","nativeSrc":"182164:6:22","nodeType":"YulIdentifier","src":"182164:6:22"}]}]},"pre":{"nativeSrc":"182142:2:22","nodeType":"YulBlock","src":"182142:2:22","statements":[]},"src":"182138:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"182255:3:22","nodeType":"YulIdentifier","src":"182255:3:22"},{"name":"length","nativeSrc":"182260:6:22","nodeType":"YulIdentifier","src":"182260:6:22"}],"functionName":{"name":"mstore","nativeSrc":"182248:6:22","nodeType":"YulIdentifier","src":"182248:6:22"},"nativeSrc":"182248:19:22","nodeType":"YulFunctionCall","src":"182248:19:22"},"nativeSrc":"182248:19:22","nodeType":"YulExpressionStatement","src":"182248:19:22"},{"nativeSrc":"182284:37:22","nodeType":"YulVariableDeclaration","src":"182284:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"182301:3:22","nodeType":"YulLiteral","src":"182301:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"182310:1:22","nodeType":"YulLiteral","src":"182310:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"182313:6:22","nodeType":"YulIdentifier","src":"182313:6:22"}],"functionName":{"name":"shl","nativeSrc":"182306:3:22","nodeType":"YulIdentifier","src":"182306:3:22"},"nativeSrc":"182306:14:22","nodeType":"YulFunctionCall","src":"182306:14:22"}],"functionName":{"name":"sub","nativeSrc":"182297:3:22","nodeType":"YulIdentifier","src":"182297:3:22"},"nativeSrc":"182297:24:22","nodeType":"YulFunctionCall","src":"182297:24:22"},"variables":[{"name":"shift","nativeSrc":"182288:5:22","nodeType":"YulTypedName","src":"182288:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"182349:3:22","nodeType":"YulIdentifier","src":"182349:3:22"},{"kind":"number","nativeSrc":"182354:4:22","nodeType":"YulLiteral","src":"182354:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"182345:3:22","nodeType":"YulIdentifier","src":"182345:3:22"},"nativeSrc":"182345:14:22","nodeType":"YulFunctionCall","src":"182345:14:22"},{"arguments":[{"name":"shift","nativeSrc":"182365:5:22","nodeType":"YulIdentifier","src":"182365:5:22"},{"arguments":[{"name":"shift","nativeSrc":"182376:5:22","nodeType":"YulIdentifier","src":"182376:5:22"},{"name":"w","nativeSrc":"182383:1:22","nodeType":"YulIdentifier","src":"182383:1:22"}],"functionName":{"name":"shr","nativeSrc":"182372:3:22","nodeType":"YulIdentifier","src":"182372:3:22"},"nativeSrc":"182372:13:22","nodeType":"YulFunctionCall","src":"182372:13:22"}],"functionName":{"name":"shl","nativeSrc":"182361:3:22","nodeType":"YulIdentifier","src":"182361:3:22"},"nativeSrc":"182361:25:22","nodeType":"YulFunctionCall","src":"182361:25:22"}],"functionName":{"name":"mstore","nativeSrc":"182338:6:22","nodeType":"YulIdentifier","src":"182338:6:22"},"nativeSrc":"182338:49:22","nodeType":"YulFunctionCall","src":"182338:49:22"},"nativeSrc":"182338:49:22","nodeType":"YulExpressionStatement","src":"182338:49:22"}]},"name":"writeString","nativeSrc":"182059:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"182080:3:22","nodeType":"YulTypedName","src":"182080:3:22","type":""},{"name":"w","nativeSrc":"182085:1:22","nodeType":"YulTypedName","src":"182085:1:22","type":""}],"src":"182059:342:22"},{"nativeSrc":"182414:17:22","nodeType":"YulAssignment","src":"182414:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182426:4:22","nodeType":"YulLiteral","src":"182426:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"182420:5:22","nodeType":"YulIdentifier","src":"182420:5:22"},"nativeSrc":"182420:11:22","nodeType":"YulFunctionCall","src":"182420:11:22"},"variableNames":[{"name":"m0","nativeSrc":"182414:2:22","nodeType":"YulIdentifier","src":"182414:2:22"}]},{"nativeSrc":"182444:17:22","nodeType":"YulAssignment","src":"182444:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182456:4:22","nodeType":"YulLiteral","src":"182456:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"182450:5:22","nodeType":"YulIdentifier","src":"182450:5:22"},"nativeSrc":"182450:11:22","nodeType":"YulFunctionCall","src":"182450:11:22"},"variableNames":[{"name":"m1","nativeSrc":"182444:2:22","nodeType":"YulIdentifier","src":"182444:2:22"}]},{"nativeSrc":"182474:17:22","nodeType":"YulAssignment","src":"182474:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182486:4:22","nodeType":"YulLiteral","src":"182486:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"182480:5:22","nodeType":"YulIdentifier","src":"182480:5:22"},"nativeSrc":"182480:11:22","nodeType":"YulFunctionCall","src":"182480:11:22"},"variableNames":[{"name":"m2","nativeSrc":"182474:2:22","nodeType":"YulIdentifier","src":"182474:2:22"}]},{"nativeSrc":"182504:17:22","nodeType":"YulAssignment","src":"182504:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182516:4:22","nodeType":"YulLiteral","src":"182516:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"182510:5:22","nodeType":"YulIdentifier","src":"182510:5:22"},"nativeSrc":"182510:11:22","nodeType":"YulFunctionCall","src":"182510:11:22"},"variableNames":[{"name":"m3","nativeSrc":"182504:2:22","nodeType":"YulIdentifier","src":"182504:2:22"}]},{"nativeSrc":"182534:17:22","nodeType":"YulAssignment","src":"182534:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182546:4:22","nodeType":"YulLiteral","src":"182546:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"182540:5:22","nodeType":"YulIdentifier","src":"182540:5:22"},"nativeSrc":"182540:11:22","nodeType":"YulFunctionCall","src":"182540:11:22"},"variableNames":[{"name":"m4","nativeSrc":"182534:2:22","nodeType":"YulIdentifier","src":"182534:2:22"}]},{"nativeSrc":"182564:17:22","nodeType":"YulAssignment","src":"182564:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182576:4:22","nodeType":"YulLiteral","src":"182576:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"182570:5:22","nodeType":"YulIdentifier","src":"182570:5:22"},"nativeSrc":"182570:11:22","nodeType":"YulFunctionCall","src":"182570:11:22"},"variableNames":[{"name":"m5","nativeSrc":"182564:2:22","nodeType":"YulIdentifier","src":"182564:2:22"}]},{"nativeSrc":"182594:17:22","nodeType":"YulAssignment","src":"182594:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"182606:4:22","nodeType":"YulLiteral","src":"182606:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"182600:5:22","nodeType":"YulIdentifier","src":"182600:5:22"},"nativeSrc":"182600:11:22","nodeType":"YulFunctionCall","src":"182600:11:22"},"variableNames":[{"name":"m6","nativeSrc":"182594:2:22","nodeType":"YulIdentifier","src":"182594:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182694:4:22","nodeType":"YulLiteral","src":"182694:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"182700:10:22","nodeType":"YulLiteral","src":"182700:10:22","type":"","value":"0x6f7c603e"}],"functionName":{"name":"mstore","nativeSrc":"182687:6:22","nodeType":"YulIdentifier","src":"182687:6:22"},"nativeSrc":"182687:24:22","nodeType":"YulFunctionCall","src":"182687:24:22"},"nativeSrc":"182687:24:22","nodeType":"YulExpressionStatement","src":"182687:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182731:4:22","nodeType":"YulLiteral","src":"182731:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"182737:2:22","nodeType":"YulIdentifier","src":"182737:2:22"}],"functionName":{"name":"mstore","nativeSrc":"182724:6:22","nodeType":"YulIdentifier","src":"182724:6:22"},"nativeSrc":"182724:16:22","nodeType":"YulFunctionCall","src":"182724:16:22"},"nativeSrc":"182724:16:22","nodeType":"YulExpressionStatement","src":"182724:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182760:4:22","nodeType":"YulLiteral","src":"182760:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"182766:2:22","nodeType":"YulIdentifier","src":"182766:2:22"}],"functionName":{"name":"mstore","nativeSrc":"182753:6:22","nodeType":"YulIdentifier","src":"182753:6:22"},"nativeSrc":"182753:16:22","nodeType":"YulFunctionCall","src":"182753:16:22"},"nativeSrc":"182753:16:22","nodeType":"YulExpressionStatement","src":"182753:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182789:4:22","nodeType":"YulLiteral","src":"182789:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"182795:4:22","nodeType":"YulLiteral","src":"182795:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"182782:6:22","nodeType":"YulIdentifier","src":"182782:6:22"},"nativeSrc":"182782:18:22","nodeType":"YulFunctionCall","src":"182782:18:22"},"nativeSrc":"182782:18:22","nodeType":"YulExpressionStatement","src":"182782:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182820:4:22","nodeType":"YulLiteral","src":"182820:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"182826:2:22","nodeType":"YulIdentifier","src":"182826:2:22"}],"functionName":{"name":"mstore","nativeSrc":"182813:6:22","nodeType":"YulIdentifier","src":"182813:6:22"},"nativeSrc":"182813:16:22","nodeType":"YulFunctionCall","src":"182813:16:22"},"nativeSrc":"182813:16:22","nodeType":"YulExpressionStatement","src":"182813:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182854:4:22","nodeType":"YulLiteral","src":"182854:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"182860:2:22","nodeType":"YulIdentifier","src":"182860:2:22"}],"functionName":{"name":"writeString","nativeSrc":"182842:11:22","nodeType":"YulIdentifier","src":"182842:11:22"},"nativeSrc":"182842:21:22","nodeType":"YulFunctionCall","src":"182842:21:22"},"nativeSrc":"182842:21:22","nodeType":"YulExpressionStatement","src":"182842:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37087,"isOffset":false,"isSlot":false,"src":"182414:2:22","valueSize":1},{"declaration":37090,"isOffset":false,"isSlot":false,"src":"182444:2:22","valueSize":1},{"declaration":37093,"isOffset":false,"isSlot":false,"src":"182474:2:22","valueSize":1},{"declaration":37096,"isOffset":false,"isSlot":false,"src":"182504:2:22","valueSize":1},{"declaration":37099,"isOffset":false,"isSlot":false,"src":"182534:2:22","valueSize":1},{"declaration":37102,"isOffset":false,"isSlot":false,"src":"182564:2:22","valueSize":1},{"declaration":37105,"isOffset":false,"isSlot":false,"src":"182594:2:22","valueSize":1},{"declaration":37077,"isOffset":false,"isSlot":false,"src":"182737:2:22","valueSize":1},{"declaration":37079,"isOffset":false,"isSlot":false,"src":"182766:2:22","valueSize":1},{"declaration":37081,"isOffset":false,"isSlot":false,"src":"182860:2:22","valueSize":1},{"declaration":37083,"isOffset":false,"isSlot":false,"src":"182826:2:22","valueSize":1}],"id":37107,"nodeType":"InlineAssembly","src":"182036:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182898:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182904:4:22","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":37108,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"182882:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"182882:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37112,"nodeType":"ExpressionStatement","src":"182882:27:22"},{"AST":{"nativeSrc":"182971:214:22","nodeType":"YulBlock","src":"182971:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"182992:4:22","nodeType":"YulLiteral","src":"182992:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"182998:2:22","nodeType":"YulIdentifier","src":"182998:2:22"}],"functionName":{"name":"mstore","nativeSrc":"182985:6:22","nodeType":"YulIdentifier","src":"182985:6:22"},"nativeSrc":"182985:16:22","nodeType":"YulFunctionCall","src":"182985:16:22"},"nativeSrc":"182985:16:22","nodeType":"YulExpressionStatement","src":"182985:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183021:4:22","nodeType":"YulLiteral","src":"183021:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"183027:2:22","nodeType":"YulIdentifier","src":"183027:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183014:6:22","nodeType":"YulIdentifier","src":"183014:6:22"},"nativeSrc":"183014:16:22","nodeType":"YulFunctionCall","src":"183014:16:22"},"nativeSrc":"183014:16:22","nodeType":"YulExpressionStatement","src":"183014:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183050:4:22","nodeType":"YulLiteral","src":"183050:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"183056:2:22","nodeType":"YulIdentifier","src":"183056:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183043:6:22","nodeType":"YulIdentifier","src":"183043:6:22"},"nativeSrc":"183043:16:22","nodeType":"YulFunctionCall","src":"183043:16:22"},"nativeSrc":"183043:16:22","nodeType":"YulExpressionStatement","src":"183043:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183079:4:22","nodeType":"YulLiteral","src":"183079:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"183085:2:22","nodeType":"YulIdentifier","src":"183085:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183072:6:22","nodeType":"YulIdentifier","src":"183072:6:22"},"nativeSrc":"183072:16:22","nodeType":"YulFunctionCall","src":"183072:16:22"},"nativeSrc":"183072:16:22","nodeType":"YulExpressionStatement","src":"183072:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183108:4:22","nodeType":"YulLiteral","src":"183108:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"183114:2:22","nodeType":"YulIdentifier","src":"183114:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183101:6:22","nodeType":"YulIdentifier","src":"183101:6:22"},"nativeSrc":"183101:16:22","nodeType":"YulFunctionCall","src":"183101:16:22"},"nativeSrc":"183101:16:22","nodeType":"YulExpressionStatement","src":"183101:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183137:4:22","nodeType":"YulLiteral","src":"183137:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"183143:2:22","nodeType":"YulIdentifier","src":"183143:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183130:6:22","nodeType":"YulIdentifier","src":"183130:6:22"},"nativeSrc":"183130:16:22","nodeType":"YulFunctionCall","src":"183130:16:22"},"nativeSrc":"183130:16:22","nodeType":"YulExpressionStatement","src":"183130:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183166:4:22","nodeType":"YulLiteral","src":"183166:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"183172:2:22","nodeType":"YulIdentifier","src":"183172:2:22"}],"functionName":{"name":"mstore","nativeSrc":"183159:6:22","nodeType":"YulIdentifier","src":"183159:6:22"},"nativeSrc":"183159:16:22","nodeType":"YulFunctionCall","src":"183159:16:22"},"nativeSrc":"183159:16:22","nodeType":"YulExpressionStatement","src":"183159:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37087,"isOffset":false,"isSlot":false,"src":"182998:2:22","valueSize":1},{"declaration":37090,"isOffset":false,"isSlot":false,"src":"183027:2:22","valueSize":1},{"declaration":37093,"isOffset":false,"isSlot":false,"src":"183056:2:22","valueSize":1},{"declaration":37096,"isOffset":false,"isSlot":false,"src":"183085:2:22","valueSize":1},{"declaration":37099,"isOffset":false,"isSlot":false,"src":"183114:2:22","valueSize":1},{"declaration":37102,"isOffset":false,"isSlot":false,"src":"183143:2:22","valueSize":1},{"declaration":37105,"isOffset":false,"isSlot":false,"src":"183172:2:22","valueSize":1}],"id":37113,"nodeType":"InlineAssembly","src":"182962:223:22"}]},"id":37115,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"181780:3:22","nodeType":"FunctionDefinition","parameters":{"id":37084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37077,"mutability":"mutable","name":"p0","nameLocation":"181789:2:22","nodeType":"VariableDeclaration","scope":37115,"src":"181784:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37076,"name":"bool","nodeType":"ElementaryTypeName","src":"181784:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37079,"mutability":"mutable","name":"p1","nameLocation":"181801:2:22","nodeType":"VariableDeclaration","scope":37115,"src":"181793:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37078,"name":"address","nodeType":"ElementaryTypeName","src":"181793:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37081,"mutability":"mutable","name":"p2","nameLocation":"181813:2:22","nodeType":"VariableDeclaration","scope":37115,"src":"181805:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181805:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37083,"mutability":"mutable","name":"p3","nameLocation":"181825:2:22","nodeType":"VariableDeclaration","scope":37115,"src":"181817:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37082,"name":"address","nodeType":"ElementaryTypeName","src":"181817:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"181783:45:22"},"returnParameters":{"id":37085,"nodeType":"ParameterList","parameters":[],"src":"181843:0:22"},"scope":44426,"src":"181771:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37154,"nodeType":"Block","src":"183266:1345:22","statements":[{"assignments":[37127],"declarations":[{"constant":false,"id":37127,"mutability":"mutable","name":"m0","nameLocation":"183284:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183276:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183276:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37128,"nodeType":"VariableDeclarationStatement","src":"183276:10:22"},{"assignments":[37130],"declarations":[{"constant":false,"id":37130,"mutability":"mutable","name":"m1","nameLocation":"183304:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183296:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183296:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37131,"nodeType":"VariableDeclarationStatement","src":"183296:10:22"},{"assignments":[37133],"declarations":[{"constant":false,"id":37133,"mutability":"mutable","name":"m2","nameLocation":"183324:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37134,"nodeType":"VariableDeclarationStatement","src":"183316:10:22"},{"assignments":[37136],"declarations":[{"constant":false,"id":37136,"mutability":"mutable","name":"m3","nameLocation":"183344:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37137,"nodeType":"VariableDeclarationStatement","src":"183336:10:22"},{"assignments":[37139],"declarations":[{"constant":false,"id":37139,"mutability":"mutable","name":"m4","nameLocation":"183364:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183356:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183356:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37140,"nodeType":"VariableDeclarationStatement","src":"183356:10:22"},{"assignments":[37142],"declarations":[{"constant":false,"id":37142,"mutability":"mutable","name":"m5","nameLocation":"183384:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183376:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183376:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37143,"nodeType":"VariableDeclarationStatement","src":"183376:10:22"},{"assignments":[37145],"declarations":[{"constant":false,"id":37145,"mutability":"mutable","name":"m6","nameLocation":"183404:2:22","nodeType":"VariableDeclaration","scope":37154,"src":"183396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37146,"nodeType":"VariableDeclarationStatement","src":"183396:10:22"},{"AST":{"nativeSrc":"183468:825:22","nodeType":"YulBlock","src":"183468:825:22","statements":[{"body":{"nativeSrc":"183511:313:22","nodeType":"YulBlock","src":"183511:313:22","statements":[{"nativeSrc":"183529:15:22","nodeType":"YulVariableDeclaration","src":"183529:15:22","value":{"kind":"number","nativeSrc":"183543:1:22","nodeType":"YulLiteral","src":"183543:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"183533:6:22","nodeType":"YulTypedName","src":"183533:6:22","type":""}]},{"body":{"nativeSrc":"183614:40:22","nodeType":"YulBlock","src":"183614:40:22","statements":[{"body":{"nativeSrc":"183643:9:22","nodeType":"YulBlock","src":"183643:9:22","statements":[{"nativeSrc":"183645:5:22","nodeType":"YulBreak","src":"183645:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"183631:6:22","nodeType":"YulIdentifier","src":"183631:6:22"},{"name":"w","nativeSrc":"183639:1:22","nodeType":"YulIdentifier","src":"183639:1:22"}],"functionName":{"name":"byte","nativeSrc":"183626:4:22","nodeType":"YulIdentifier","src":"183626:4:22"},"nativeSrc":"183626:15:22","nodeType":"YulFunctionCall","src":"183626:15:22"}],"functionName":{"name":"iszero","nativeSrc":"183619:6:22","nodeType":"YulIdentifier","src":"183619:6:22"},"nativeSrc":"183619:23:22","nodeType":"YulFunctionCall","src":"183619:23:22"},"nativeSrc":"183616:36:22","nodeType":"YulIf","src":"183616:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"183571:6:22","nodeType":"YulIdentifier","src":"183571:6:22"},{"kind":"number","nativeSrc":"183579:4:22","nodeType":"YulLiteral","src":"183579:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"183568:2:22","nodeType":"YulIdentifier","src":"183568:2:22"},"nativeSrc":"183568:16:22","nodeType":"YulFunctionCall","src":"183568:16:22"},"nativeSrc":"183561:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"183585:28:22","nodeType":"YulBlock","src":"183585:28:22","statements":[{"nativeSrc":"183587:24:22","nodeType":"YulAssignment","src":"183587:24:22","value":{"arguments":[{"name":"length","nativeSrc":"183601:6:22","nodeType":"YulIdentifier","src":"183601:6:22"},{"kind":"number","nativeSrc":"183609:1:22","nodeType":"YulLiteral","src":"183609:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"183597:3:22","nodeType":"YulIdentifier","src":"183597:3:22"},"nativeSrc":"183597:14:22","nodeType":"YulFunctionCall","src":"183597:14:22"},"variableNames":[{"name":"length","nativeSrc":"183587:6:22","nodeType":"YulIdentifier","src":"183587:6:22"}]}]},"pre":{"nativeSrc":"183565:2:22","nodeType":"YulBlock","src":"183565:2:22","statements":[]},"src":"183561:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"183678:3:22","nodeType":"YulIdentifier","src":"183678:3:22"},{"name":"length","nativeSrc":"183683:6:22","nodeType":"YulIdentifier","src":"183683:6:22"}],"functionName":{"name":"mstore","nativeSrc":"183671:6:22","nodeType":"YulIdentifier","src":"183671:6:22"},"nativeSrc":"183671:19:22","nodeType":"YulFunctionCall","src":"183671:19:22"},"nativeSrc":"183671:19:22","nodeType":"YulExpressionStatement","src":"183671:19:22"},{"nativeSrc":"183707:37:22","nodeType":"YulVariableDeclaration","src":"183707:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"183724:3:22","nodeType":"YulLiteral","src":"183724:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"183733:1:22","nodeType":"YulLiteral","src":"183733:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"183736:6:22","nodeType":"YulIdentifier","src":"183736:6:22"}],"functionName":{"name":"shl","nativeSrc":"183729:3:22","nodeType":"YulIdentifier","src":"183729:3:22"},"nativeSrc":"183729:14:22","nodeType":"YulFunctionCall","src":"183729:14:22"}],"functionName":{"name":"sub","nativeSrc":"183720:3:22","nodeType":"YulIdentifier","src":"183720:3:22"},"nativeSrc":"183720:24:22","nodeType":"YulFunctionCall","src":"183720:24:22"},"variables":[{"name":"shift","nativeSrc":"183711:5:22","nodeType":"YulTypedName","src":"183711:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"183772:3:22","nodeType":"YulIdentifier","src":"183772:3:22"},{"kind":"number","nativeSrc":"183777:4:22","nodeType":"YulLiteral","src":"183777:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"183768:3:22","nodeType":"YulIdentifier","src":"183768:3:22"},"nativeSrc":"183768:14:22","nodeType":"YulFunctionCall","src":"183768:14:22"},{"arguments":[{"name":"shift","nativeSrc":"183788:5:22","nodeType":"YulIdentifier","src":"183788:5:22"},{"arguments":[{"name":"shift","nativeSrc":"183799:5:22","nodeType":"YulIdentifier","src":"183799:5:22"},{"name":"w","nativeSrc":"183806:1:22","nodeType":"YulIdentifier","src":"183806:1:22"}],"functionName":{"name":"shr","nativeSrc":"183795:3:22","nodeType":"YulIdentifier","src":"183795:3:22"},"nativeSrc":"183795:13:22","nodeType":"YulFunctionCall","src":"183795:13:22"}],"functionName":{"name":"shl","nativeSrc":"183784:3:22","nodeType":"YulIdentifier","src":"183784:3:22"},"nativeSrc":"183784:25:22","nodeType":"YulFunctionCall","src":"183784:25:22"}],"functionName":{"name":"mstore","nativeSrc":"183761:6:22","nodeType":"YulIdentifier","src":"183761:6:22"},"nativeSrc":"183761:49:22","nodeType":"YulFunctionCall","src":"183761:49:22"},"nativeSrc":"183761:49:22","nodeType":"YulExpressionStatement","src":"183761:49:22"}]},"name":"writeString","nativeSrc":"183482:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"183503:3:22","nodeType":"YulTypedName","src":"183503:3:22","type":""},{"name":"w","nativeSrc":"183508:1:22","nodeType":"YulTypedName","src":"183508:1:22","type":""}],"src":"183482:342:22"},{"nativeSrc":"183837:17:22","nodeType":"YulAssignment","src":"183837:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183849:4:22","nodeType":"YulLiteral","src":"183849:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"183843:5:22","nodeType":"YulIdentifier","src":"183843:5:22"},"nativeSrc":"183843:11:22","nodeType":"YulFunctionCall","src":"183843:11:22"},"variableNames":[{"name":"m0","nativeSrc":"183837:2:22","nodeType":"YulIdentifier","src":"183837:2:22"}]},{"nativeSrc":"183867:17:22","nodeType":"YulAssignment","src":"183867:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183879:4:22","nodeType":"YulLiteral","src":"183879:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"183873:5:22","nodeType":"YulIdentifier","src":"183873:5:22"},"nativeSrc":"183873:11:22","nodeType":"YulFunctionCall","src":"183873:11:22"},"variableNames":[{"name":"m1","nativeSrc":"183867:2:22","nodeType":"YulIdentifier","src":"183867:2:22"}]},{"nativeSrc":"183897:17:22","nodeType":"YulAssignment","src":"183897:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183909:4:22","nodeType":"YulLiteral","src":"183909:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"183903:5:22","nodeType":"YulIdentifier","src":"183903:5:22"},"nativeSrc":"183903:11:22","nodeType":"YulFunctionCall","src":"183903:11:22"},"variableNames":[{"name":"m2","nativeSrc":"183897:2:22","nodeType":"YulIdentifier","src":"183897:2:22"}]},{"nativeSrc":"183927:17:22","nodeType":"YulAssignment","src":"183927:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183939:4:22","nodeType":"YulLiteral","src":"183939:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"183933:5:22","nodeType":"YulIdentifier","src":"183933:5:22"},"nativeSrc":"183933:11:22","nodeType":"YulFunctionCall","src":"183933:11:22"},"variableNames":[{"name":"m3","nativeSrc":"183927:2:22","nodeType":"YulIdentifier","src":"183927:2:22"}]},{"nativeSrc":"183957:17:22","nodeType":"YulAssignment","src":"183957:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183969:4:22","nodeType":"YulLiteral","src":"183969:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"183963:5:22","nodeType":"YulIdentifier","src":"183963:5:22"},"nativeSrc":"183963:11:22","nodeType":"YulFunctionCall","src":"183963:11:22"},"variableNames":[{"name":"m4","nativeSrc":"183957:2:22","nodeType":"YulIdentifier","src":"183957:2:22"}]},{"nativeSrc":"183987:17:22","nodeType":"YulAssignment","src":"183987:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"183999:4:22","nodeType":"YulLiteral","src":"183999:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"183993:5:22","nodeType":"YulIdentifier","src":"183993:5:22"},"nativeSrc":"183993:11:22","nodeType":"YulFunctionCall","src":"183993:11:22"},"variableNames":[{"name":"m5","nativeSrc":"183987:2:22","nodeType":"YulIdentifier","src":"183987:2:22"}]},{"nativeSrc":"184017:17:22","nodeType":"YulAssignment","src":"184017:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"184029:4:22","nodeType":"YulLiteral","src":"184029:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"184023:5:22","nodeType":"YulIdentifier","src":"184023:5:22"},"nativeSrc":"184023:11:22","nodeType":"YulFunctionCall","src":"184023:11:22"},"variableNames":[{"name":"m6","nativeSrc":"184017:2:22","nodeType":"YulIdentifier","src":"184017:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184114:4:22","nodeType":"YulLiteral","src":"184114:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"184120:10:22","nodeType":"YulLiteral","src":"184120:10:22","type":"","value":"0xe2bfd60b"}],"functionName":{"name":"mstore","nativeSrc":"184107:6:22","nodeType":"YulIdentifier","src":"184107:6:22"},"nativeSrc":"184107:24:22","nodeType":"YulFunctionCall","src":"184107:24:22"},"nativeSrc":"184107:24:22","nodeType":"YulExpressionStatement","src":"184107:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184151:4:22","nodeType":"YulLiteral","src":"184151:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"184157:2:22","nodeType":"YulIdentifier","src":"184157:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184144:6:22","nodeType":"YulIdentifier","src":"184144:6:22"},"nativeSrc":"184144:16:22","nodeType":"YulFunctionCall","src":"184144:16:22"},"nativeSrc":"184144:16:22","nodeType":"YulExpressionStatement","src":"184144:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184180:4:22","nodeType":"YulLiteral","src":"184180:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"184186:2:22","nodeType":"YulIdentifier","src":"184186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184173:6:22","nodeType":"YulIdentifier","src":"184173:6:22"},"nativeSrc":"184173:16:22","nodeType":"YulFunctionCall","src":"184173:16:22"},"nativeSrc":"184173:16:22","nodeType":"YulExpressionStatement","src":"184173:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184209:4:22","nodeType":"YulLiteral","src":"184209:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"184215:4:22","nodeType":"YulLiteral","src":"184215:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"184202:6:22","nodeType":"YulIdentifier","src":"184202:6:22"},"nativeSrc":"184202:18:22","nodeType":"YulFunctionCall","src":"184202:18:22"},"nativeSrc":"184202:18:22","nodeType":"YulExpressionStatement","src":"184202:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184240:4:22","nodeType":"YulLiteral","src":"184240:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"184246:2:22","nodeType":"YulIdentifier","src":"184246:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184233:6:22","nodeType":"YulIdentifier","src":"184233:6:22"},"nativeSrc":"184233:16:22","nodeType":"YulFunctionCall","src":"184233:16:22"},"nativeSrc":"184233:16:22","nodeType":"YulExpressionStatement","src":"184233:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184274:4:22","nodeType":"YulLiteral","src":"184274:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"184280:2:22","nodeType":"YulIdentifier","src":"184280:2:22"}],"functionName":{"name":"writeString","nativeSrc":"184262:11:22","nodeType":"YulIdentifier","src":"184262:11:22"},"nativeSrc":"184262:21:22","nodeType":"YulFunctionCall","src":"184262:21:22"},"nativeSrc":"184262:21:22","nodeType":"YulExpressionStatement","src":"184262:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37127,"isOffset":false,"isSlot":false,"src":"183837:2:22","valueSize":1},{"declaration":37130,"isOffset":false,"isSlot":false,"src":"183867:2:22","valueSize":1},{"declaration":37133,"isOffset":false,"isSlot":false,"src":"183897:2:22","valueSize":1},{"declaration":37136,"isOffset":false,"isSlot":false,"src":"183927:2:22","valueSize":1},{"declaration":37139,"isOffset":false,"isSlot":false,"src":"183957:2:22","valueSize":1},{"declaration":37142,"isOffset":false,"isSlot":false,"src":"183987:2:22","valueSize":1},{"declaration":37145,"isOffset":false,"isSlot":false,"src":"184017:2:22","valueSize":1},{"declaration":37117,"isOffset":false,"isSlot":false,"src":"184157:2:22","valueSize":1},{"declaration":37119,"isOffset":false,"isSlot":false,"src":"184186:2:22","valueSize":1},{"declaration":37121,"isOffset":false,"isSlot":false,"src":"184280:2:22","valueSize":1},{"declaration":37123,"isOffset":false,"isSlot":false,"src":"184246:2:22","valueSize":1}],"id":37147,"nodeType":"InlineAssembly","src":"183459:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184318:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184324:4:22","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":37148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"184302:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"184302:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37152,"nodeType":"ExpressionStatement","src":"184302:27:22"},{"AST":{"nativeSrc":"184391:214:22","nodeType":"YulBlock","src":"184391:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"184412:4:22","nodeType":"YulLiteral","src":"184412:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"184418:2:22","nodeType":"YulIdentifier","src":"184418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184405:6:22","nodeType":"YulIdentifier","src":"184405:6:22"},"nativeSrc":"184405:16:22","nodeType":"YulFunctionCall","src":"184405:16:22"},"nativeSrc":"184405:16:22","nodeType":"YulExpressionStatement","src":"184405:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184441:4:22","nodeType":"YulLiteral","src":"184441:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"184447:2:22","nodeType":"YulIdentifier","src":"184447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184434:6:22","nodeType":"YulIdentifier","src":"184434:6:22"},"nativeSrc":"184434:16:22","nodeType":"YulFunctionCall","src":"184434:16:22"},"nativeSrc":"184434:16:22","nodeType":"YulExpressionStatement","src":"184434:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184470:4:22","nodeType":"YulLiteral","src":"184470:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"184476:2:22","nodeType":"YulIdentifier","src":"184476:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184463:6:22","nodeType":"YulIdentifier","src":"184463:6:22"},"nativeSrc":"184463:16:22","nodeType":"YulFunctionCall","src":"184463:16:22"},"nativeSrc":"184463:16:22","nodeType":"YulExpressionStatement","src":"184463:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184499:4:22","nodeType":"YulLiteral","src":"184499:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"184505:2:22","nodeType":"YulIdentifier","src":"184505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184492:6:22","nodeType":"YulIdentifier","src":"184492:6:22"},"nativeSrc":"184492:16:22","nodeType":"YulFunctionCall","src":"184492:16:22"},"nativeSrc":"184492:16:22","nodeType":"YulExpressionStatement","src":"184492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184528:4:22","nodeType":"YulLiteral","src":"184528:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"184534:2:22","nodeType":"YulIdentifier","src":"184534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184521:6:22","nodeType":"YulIdentifier","src":"184521:6:22"},"nativeSrc":"184521:16:22","nodeType":"YulFunctionCall","src":"184521:16:22"},"nativeSrc":"184521:16:22","nodeType":"YulExpressionStatement","src":"184521:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184557:4:22","nodeType":"YulLiteral","src":"184557:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"184563:2:22","nodeType":"YulIdentifier","src":"184563:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184550:6:22","nodeType":"YulIdentifier","src":"184550:6:22"},"nativeSrc":"184550:16:22","nodeType":"YulFunctionCall","src":"184550:16:22"},"nativeSrc":"184550:16:22","nodeType":"YulExpressionStatement","src":"184550:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184586:4:22","nodeType":"YulLiteral","src":"184586:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"184592:2:22","nodeType":"YulIdentifier","src":"184592:2:22"}],"functionName":{"name":"mstore","nativeSrc":"184579:6:22","nodeType":"YulIdentifier","src":"184579:6:22"},"nativeSrc":"184579:16:22","nodeType":"YulFunctionCall","src":"184579:16:22"},"nativeSrc":"184579:16:22","nodeType":"YulExpressionStatement","src":"184579:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37127,"isOffset":false,"isSlot":false,"src":"184418:2:22","valueSize":1},{"declaration":37130,"isOffset":false,"isSlot":false,"src":"184447:2:22","valueSize":1},{"declaration":37133,"isOffset":false,"isSlot":false,"src":"184476:2:22","valueSize":1},{"declaration":37136,"isOffset":false,"isSlot":false,"src":"184505:2:22","valueSize":1},{"declaration":37139,"isOffset":false,"isSlot":false,"src":"184534:2:22","valueSize":1},{"declaration":37142,"isOffset":false,"isSlot":false,"src":"184563:2:22","valueSize":1},{"declaration":37145,"isOffset":false,"isSlot":false,"src":"184592:2:22","valueSize":1}],"id":37153,"nodeType":"InlineAssembly","src":"184382:223:22"}]},"id":37155,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"183206:3:22","nodeType":"FunctionDefinition","parameters":{"id":37124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37117,"mutability":"mutable","name":"p0","nameLocation":"183215:2:22","nodeType":"VariableDeclaration","scope":37155,"src":"183210:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37116,"name":"bool","nodeType":"ElementaryTypeName","src":"183210:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37119,"mutability":"mutable","name":"p1","nameLocation":"183227:2:22","nodeType":"VariableDeclaration","scope":37155,"src":"183219:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37118,"name":"address","nodeType":"ElementaryTypeName","src":"183219:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37121,"mutability":"mutable","name":"p2","nameLocation":"183239:2:22","nodeType":"VariableDeclaration","scope":37155,"src":"183231:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183231:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37123,"mutability":"mutable","name":"p3","nameLocation":"183248:2:22","nodeType":"VariableDeclaration","scope":37155,"src":"183243:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37122,"name":"bool","nodeType":"ElementaryTypeName","src":"183243:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"183209:42:22"},"returnParameters":{"id":37125,"nodeType":"ParameterList","parameters":[],"src":"183266:0:22"},"scope":44426,"src":"183197:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37194,"nodeType":"Block","src":"184689:1348:22","statements":[{"assignments":[37167],"declarations":[{"constant":false,"id":37167,"mutability":"mutable","name":"m0","nameLocation":"184707:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184699:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184699:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37168,"nodeType":"VariableDeclarationStatement","src":"184699:10:22"},{"assignments":[37170],"declarations":[{"constant":false,"id":37170,"mutability":"mutable","name":"m1","nameLocation":"184727:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184719:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184719:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37171,"nodeType":"VariableDeclarationStatement","src":"184719:10:22"},{"assignments":[37173],"declarations":[{"constant":false,"id":37173,"mutability":"mutable","name":"m2","nameLocation":"184747:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184739:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37174,"nodeType":"VariableDeclarationStatement","src":"184739:10:22"},{"assignments":[37176],"declarations":[{"constant":false,"id":37176,"mutability":"mutable","name":"m3","nameLocation":"184767:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184759:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184759:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37177,"nodeType":"VariableDeclarationStatement","src":"184759:10:22"},{"assignments":[37179],"declarations":[{"constant":false,"id":37179,"mutability":"mutable","name":"m4","nameLocation":"184787:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184779:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184779:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37180,"nodeType":"VariableDeclarationStatement","src":"184779:10:22"},{"assignments":[37182],"declarations":[{"constant":false,"id":37182,"mutability":"mutable","name":"m5","nameLocation":"184807:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37183,"nodeType":"VariableDeclarationStatement","src":"184799:10:22"},{"assignments":[37185],"declarations":[{"constant":false,"id":37185,"mutability":"mutable","name":"m6","nameLocation":"184827:2:22","nodeType":"VariableDeclaration","scope":37194,"src":"184819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37186,"nodeType":"VariableDeclarationStatement","src":"184819:10:22"},{"AST":{"nativeSrc":"184891:828:22","nodeType":"YulBlock","src":"184891:828:22","statements":[{"body":{"nativeSrc":"184934:313:22","nodeType":"YulBlock","src":"184934:313:22","statements":[{"nativeSrc":"184952:15:22","nodeType":"YulVariableDeclaration","src":"184952:15:22","value":{"kind":"number","nativeSrc":"184966:1:22","nodeType":"YulLiteral","src":"184966:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"184956:6:22","nodeType":"YulTypedName","src":"184956:6:22","type":""}]},{"body":{"nativeSrc":"185037:40:22","nodeType":"YulBlock","src":"185037:40:22","statements":[{"body":{"nativeSrc":"185066:9:22","nodeType":"YulBlock","src":"185066:9:22","statements":[{"nativeSrc":"185068:5:22","nodeType":"YulBreak","src":"185068:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"185054:6:22","nodeType":"YulIdentifier","src":"185054:6:22"},{"name":"w","nativeSrc":"185062:1:22","nodeType":"YulIdentifier","src":"185062:1:22"}],"functionName":{"name":"byte","nativeSrc":"185049:4:22","nodeType":"YulIdentifier","src":"185049:4:22"},"nativeSrc":"185049:15:22","nodeType":"YulFunctionCall","src":"185049:15:22"}],"functionName":{"name":"iszero","nativeSrc":"185042:6:22","nodeType":"YulIdentifier","src":"185042:6:22"},"nativeSrc":"185042:23:22","nodeType":"YulFunctionCall","src":"185042:23:22"},"nativeSrc":"185039:36:22","nodeType":"YulIf","src":"185039:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"184994:6:22","nodeType":"YulIdentifier","src":"184994:6:22"},{"kind":"number","nativeSrc":"185002:4:22","nodeType":"YulLiteral","src":"185002:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"184991:2:22","nodeType":"YulIdentifier","src":"184991:2:22"},"nativeSrc":"184991:16:22","nodeType":"YulFunctionCall","src":"184991:16:22"},"nativeSrc":"184984:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"185008:28:22","nodeType":"YulBlock","src":"185008:28:22","statements":[{"nativeSrc":"185010:24:22","nodeType":"YulAssignment","src":"185010:24:22","value":{"arguments":[{"name":"length","nativeSrc":"185024:6:22","nodeType":"YulIdentifier","src":"185024:6:22"},{"kind":"number","nativeSrc":"185032:1:22","nodeType":"YulLiteral","src":"185032:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"185020:3:22","nodeType":"YulIdentifier","src":"185020:3:22"},"nativeSrc":"185020:14:22","nodeType":"YulFunctionCall","src":"185020:14:22"},"variableNames":[{"name":"length","nativeSrc":"185010:6:22","nodeType":"YulIdentifier","src":"185010:6:22"}]}]},"pre":{"nativeSrc":"184988:2:22","nodeType":"YulBlock","src":"184988:2:22","statements":[]},"src":"184984:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"185101:3:22","nodeType":"YulIdentifier","src":"185101:3:22"},{"name":"length","nativeSrc":"185106:6:22","nodeType":"YulIdentifier","src":"185106:6:22"}],"functionName":{"name":"mstore","nativeSrc":"185094:6:22","nodeType":"YulIdentifier","src":"185094:6:22"},"nativeSrc":"185094:19:22","nodeType":"YulFunctionCall","src":"185094:19:22"},"nativeSrc":"185094:19:22","nodeType":"YulExpressionStatement","src":"185094:19:22"},{"nativeSrc":"185130:37:22","nodeType":"YulVariableDeclaration","src":"185130:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"185147:3:22","nodeType":"YulLiteral","src":"185147:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"185156:1:22","nodeType":"YulLiteral","src":"185156:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"185159:6:22","nodeType":"YulIdentifier","src":"185159:6:22"}],"functionName":{"name":"shl","nativeSrc":"185152:3:22","nodeType":"YulIdentifier","src":"185152:3:22"},"nativeSrc":"185152:14:22","nodeType":"YulFunctionCall","src":"185152:14:22"}],"functionName":{"name":"sub","nativeSrc":"185143:3:22","nodeType":"YulIdentifier","src":"185143:3:22"},"nativeSrc":"185143:24:22","nodeType":"YulFunctionCall","src":"185143:24:22"},"variables":[{"name":"shift","nativeSrc":"185134:5:22","nodeType":"YulTypedName","src":"185134:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"185195:3:22","nodeType":"YulIdentifier","src":"185195:3:22"},{"kind":"number","nativeSrc":"185200:4:22","nodeType":"YulLiteral","src":"185200:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"185191:3:22","nodeType":"YulIdentifier","src":"185191:3:22"},"nativeSrc":"185191:14:22","nodeType":"YulFunctionCall","src":"185191:14:22"},{"arguments":[{"name":"shift","nativeSrc":"185211:5:22","nodeType":"YulIdentifier","src":"185211:5:22"},{"arguments":[{"name":"shift","nativeSrc":"185222:5:22","nodeType":"YulIdentifier","src":"185222:5:22"},{"name":"w","nativeSrc":"185229:1:22","nodeType":"YulIdentifier","src":"185229:1:22"}],"functionName":{"name":"shr","nativeSrc":"185218:3:22","nodeType":"YulIdentifier","src":"185218:3:22"},"nativeSrc":"185218:13:22","nodeType":"YulFunctionCall","src":"185218:13:22"}],"functionName":{"name":"shl","nativeSrc":"185207:3:22","nodeType":"YulIdentifier","src":"185207:3:22"},"nativeSrc":"185207:25:22","nodeType":"YulFunctionCall","src":"185207:25:22"}],"functionName":{"name":"mstore","nativeSrc":"185184:6:22","nodeType":"YulIdentifier","src":"185184:6:22"},"nativeSrc":"185184:49:22","nodeType":"YulFunctionCall","src":"185184:49:22"},"nativeSrc":"185184:49:22","nodeType":"YulExpressionStatement","src":"185184:49:22"}]},"name":"writeString","nativeSrc":"184905:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"184926:3:22","nodeType":"YulTypedName","src":"184926:3:22","type":""},{"name":"w","nativeSrc":"184931:1:22","nodeType":"YulTypedName","src":"184931:1:22","type":""}],"src":"184905:342:22"},{"nativeSrc":"185260:17:22","nodeType":"YulAssignment","src":"185260:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185272:4:22","nodeType":"YulLiteral","src":"185272:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"185266:5:22","nodeType":"YulIdentifier","src":"185266:5:22"},"nativeSrc":"185266:11:22","nodeType":"YulFunctionCall","src":"185266:11:22"},"variableNames":[{"name":"m0","nativeSrc":"185260:2:22","nodeType":"YulIdentifier","src":"185260:2:22"}]},{"nativeSrc":"185290:17:22","nodeType":"YulAssignment","src":"185290:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185302:4:22","nodeType":"YulLiteral","src":"185302:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"185296:5:22","nodeType":"YulIdentifier","src":"185296:5:22"},"nativeSrc":"185296:11:22","nodeType":"YulFunctionCall","src":"185296:11:22"},"variableNames":[{"name":"m1","nativeSrc":"185290:2:22","nodeType":"YulIdentifier","src":"185290:2:22"}]},{"nativeSrc":"185320:17:22","nodeType":"YulAssignment","src":"185320:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185332:4:22","nodeType":"YulLiteral","src":"185332:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"185326:5:22","nodeType":"YulIdentifier","src":"185326:5:22"},"nativeSrc":"185326:11:22","nodeType":"YulFunctionCall","src":"185326:11:22"},"variableNames":[{"name":"m2","nativeSrc":"185320:2:22","nodeType":"YulIdentifier","src":"185320:2:22"}]},{"nativeSrc":"185350:17:22","nodeType":"YulAssignment","src":"185350:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185362:4:22","nodeType":"YulLiteral","src":"185362:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"185356:5:22","nodeType":"YulIdentifier","src":"185356:5:22"},"nativeSrc":"185356:11:22","nodeType":"YulFunctionCall","src":"185356:11:22"},"variableNames":[{"name":"m3","nativeSrc":"185350:2:22","nodeType":"YulIdentifier","src":"185350:2:22"}]},{"nativeSrc":"185380:17:22","nodeType":"YulAssignment","src":"185380:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185392:4:22","nodeType":"YulLiteral","src":"185392:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"185386:5:22","nodeType":"YulIdentifier","src":"185386:5:22"},"nativeSrc":"185386:11:22","nodeType":"YulFunctionCall","src":"185386:11:22"},"variableNames":[{"name":"m4","nativeSrc":"185380:2:22","nodeType":"YulIdentifier","src":"185380:2:22"}]},{"nativeSrc":"185410:17:22","nodeType":"YulAssignment","src":"185410:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185422:4:22","nodeType":"YulLiteral","src":"185422:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"185416:5:22","nodeType":"YulIdentifier","src":"185416:5:22"},"nativeSrc":"185416:11:22","nodeType":"YulFunctionCall","src":"185416:11:22"},"variableNames":[{"name":"m5","nativeSrc":"185410:2:22","nodeType":"YulIdentifier","src":"185410:2:22"}]},{"nativeSrc":"185440:17:22","nodeType":"YulAssignment","src":"185440:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"185452:4:22","nodeType":"YulLiteral","src":"185452:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"185446:5:22","nodeType":"YulIdentifier","src":"185446:5:22"},"nativeSrc":"185446:11:22","nodeType":"YulFunctionCall","src":"185446:11:22"},"variableNames":[{"name":"m6","nativeSrc":"185440:2:22","nodeType":"YulIdentifier","src":"185440:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185540:4:22","nodeType":"YulLiteral","src":"185540:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"185546:10:22","nodeType":"YulLiteral","src":"185546:10:22","type":"","value":"0xc21f64c7"}],"functionName":{"name":"mstore","nativeSrc":"185533:6:22","nodeType":"YulIdentifier","src":"185533:6:22"},"nativeSrc":"185533:24:22","nodeType":"YulFunctionCall","src":"185533:24:22"},"nativeSrc":"185533:24:22","nodeType":"YulExpressionStatement","src":"185533:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185577:4:22","nodeType":"YulLiteral","src":"185577:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"185583:2:22","nodeType":"YulIdentifier","src":"185583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185570:6:22","nodeType":"YulIdentifier","src":"185570:6:22"},"nativeSrc":"185570:16:22","nodeType":"YulFunctionCall","src":"185570:16:22"},"nativeSrc":"185570:16:22","nodeType":"YulExpressionStatement","src":"185570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185606:4:22","nodeType":"YulLiteral","src":"185606:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"185612:2:22","nodeType":"YulIdentifier","src":"185612:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185599:6:22","nodeType":"YulIdentifier","src":"185599:6:22"},"nativeSrc":"185599:16:22","nodeType":"YulFunctionCall","src":"185599:16:22"},"nativeSrc":"185599:16:22","nodeType":"YulExpressionStatement","src":"185599:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185635:4:22","nodeType":"YulLiteral","src":"185635:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"185641:4:22","nodeType":"YulLiteral","src":"185641:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"185628:6:22","nodeType":"YulIdentifier","src":"185628:6:22"},"nativeSrc":"185628:18:22","nodeType":"YulFunctionCall","src":"185628:18:22"},"nativeSrc":"185628:18:22","nodeType":"YulExpressionStatement","src":"185628:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185666:4:22","nodeType":"YulLiteral","src":"185666:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"185672:2:22","nodeType":"YulIdentifier","src":"185672:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185659:6:22","nodeType":"YulIdentifier","src":"185659:6:22"},"nativeSrc":"185659:16:22","nodeType":"YulFunctionCall","src":"185659:16:22"},"nativeSrc":"185659:16:22","nodeType":"YulExpressionStatement","src":"185659:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185700:4:22","nodeType":"YulLiteral","src":"185700:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"185706:2:22","nodeType":"YulIdentifier","src":"185706:2:22"}],"functionName":{"name":"writeString","nativeSrc":"185688:11:22","nodeType":"YulIdentifier","src":"185688:11:22"},"nativeSrc":"185688:21:22","nodeType":"YulFunctionCall","src":"185688:21:22"},"nativeSrc":"185688:21:22","nodeType":"YulExpressionStatement","src":"185688:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37167,"isOffset":false,"isSlot":false,"src":"185260:2:22","valueSize":1},{"declaration":37170,"isOffset":false,"isSlot":false,"src":"185290:2:22","valueSize":1},{"declaration":37173,"isOffset":false,"isSlot":false,"src":"185320:2:22","valueSize":1},{"declaration":37176,"isOffset":false,"isSlot":false,"src":"185350:2:22","valueSize":1},{"declaration":37179,"isOffset":false,"isSlot":false,"src":"185380:2:22","valueSize":1},{"declaration":37182,"isOffset":false,"isSlot":false,"src":"185410:2:22","valueSize":1},{"declaration":37185,"isOffset":false,"isSlot":false,"src":"185440:2:22","valueSize":1},{"declaration":37157,"isOffset":false,"isSlot":false,"src":"185583:2:22","valueSize":1},{"declaration":37159,"isOffset":false,"isSlot":false,"src":"185612:2:22","valueSize":1},{"declaration":37161,"isOffset":false,"isSlot":false,"src":"185706:2:22","valueSize":1},{"declaration":37163,"isOffset":false,"isSlot":false,"src":"185672:2:22","valueSize":1}],"id":37187,"nodeType":"InlineAssembly","src":"184882:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185744:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185750:4:22","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":37188,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"185728:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"185728:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37192,"nodeType":"ExpressionStatement","src":"185728:27:22"},{"AST":{"nativeSrc":"185817:214:22","nodeType":"YulBlock","src":"185817:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"185838:4:22","nodeType":"YulLiteral","src":"185838:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"185844:2:22","nodeType":"YulIdentifier","src":"185844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185831:6:22","nodeType":"YulIdentifier","src":"185831:6:22"},"nativeSrc":"185831:16:22","nodeType":"YulFunctionCall","src":"185831:16:22"},"nativeSrc":"185831:16:22","nodeType":"YulExpressionStatement","src":"185831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185867:4:22","nodeType":"YulLiteral","src":"185867:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"185873:2:22","nodeType":"YulIdentifier","src":"185873:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185860:6:22","nodeType":"YulIdentifier","src":"185860:6:22"},"nativeSrc":"185860:16:22","nodeType":"YulFunctionCall","src":"185860:16:22"},"nativeSrc":"185860:16:22","nodeType":"YulExpressionStatement","src":"185860:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185896:4:22","nodeType":"YulLiteral","src":"185896:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"185902:2:22","nodeType":"YulIdentifier","src":"185902:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185889:6:22","nodeType":"YulIdentifier","src":"185889:6:22"},"nativeSrc":"185889:16:22","nodeType":"YulFunctionCall","src":"185889:16:22"},"nativeSrc":"185889:16:22","nodeType":"YulExpressionStatement","src":"185889:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185925:4:22","nodeType":"YulLiteral","src":"185925:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"185931:2:22","nodeType":"YulIdentifier","src":"185931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185918:6:22","nodeType":"YulIdentifier","src":"185918:6:22"},"nativeSrc":"185918:16:22","nodeType":"YulFunctionCall","src":"185918:16:22"},"nativeSrc":"185918:16:22","nodeType":"YulExpressionStatement","src":"185918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185954:4:22","nodeType":"YulLiteral","src":"185954:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"185960:2:22","nodeType":"YulIdentifier","src":"185960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185947:6:22","nodeType":"YulIdentifier","src":"185947:6:22"},"nativeSrc":"185947:16:22","nodeType":"YulFunctionCall","src":"185947:16:22"},"nativeSrc":"185947:16:22","nodeType":"YulExpressionStatement","src":"185947:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185983:4:22","nodeType":"YulLiteral","src":"185983:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"185989:2:22","nodeType":"YulIdentifier","src":"185989:2:22"}],"functionName":{"name":"mstore","nativeSrc":"185976:6:22","nodeType":"YulIdentifier","src":"185976:6:22"},"nativeSrc":"185976:16:22","nodeType":"YulFunctionCall","src":"185976:16:22"},"nativeSrc":"185976:16:22","nodeType":"YulExpressionStatement","src":"185976:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"186012:4:22","nodeType":"YulLiteral","src":"186012:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"186018:2:22","nodeType":"YulIdentifier","src":"186018:2:22"}],"functionName":{"name":"mstore","nativeSrc":"186005:6:22","nodeType":"YulIdentifier","src":"186005:6:22"},"nativeSrc":"186005:16:22","nodeType":"YulFunctionCall","src":"186005:16:22"},"nativeSrc":"186005:16:22","nodeType":"YulExpressionStatement","src":"186005:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37167,"isOffset":false,"isSlot":false,"src":"185844:2:22","valueSize":1},{"declaration":37170,"isOffset":false,"isSlot":false,"src":"185873:2:22","valueSize":1},{"declaration":37173,"isOffset":false,"isSlot":false,"src":"185902:2:22","valueSize":1},{"declaration":37176,"isOffset":false,"isSlot":false,"src":"185931:2:22","valueSize":1},{"declaration":37179,"isOffset":false,"isSlot":false,"src":"185960:2:22","valueSize":1},{"declaration":37182,"isOffset":false,"isSlot":false,"src":"185989:2:22","valueSize":1},{"declaration":37185,"isOffset":false,"isSlot":false,"src":"186018:2:22","valueSize":1}],"id":37193,"nodeType":"InlineAssembly","src":"185808:223:22"}]},"id":37195,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"184626:3:22","nodeType":"FunctionDefinition","parameters":{"id":37164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37157,"mutability":"mutable","name":"p0","nameLocation":"184635:2:22","nodeType":"VariableDeclaration","scope":37195,"src":"184630:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37156,"name":"bool","nodeType":"ElementaryTypeName","src":"184630:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37159,"mutability":"mutable","name":"p1","nameLocation":"184647:2:22","nodeType":"VariableDeclaration","scope":37195,"src":"184639:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37158,"name":"address","nodeType":"ElementaryTypeName","src":"184639:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37161,"mutability":"mutable","name":"p2","nameLocation":"184659:2:22","nodeType":"VariableDeclaration","scope":37195,"src":"184651:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184651:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37163,"mutability":"mutable","name":"p3","nameLocation":"184671:2:22","nodeType":"VariableDeclaration","scope":37195,"src":"184663:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37162,"name":"uint256","nodeType":"ElementaryTypeName","src":"184663:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"184629:45:22"},"returnParameters":{"id":37165,"nodeType":"ParameterList","parameters":[],"src":"184689:0:22"},"scope":44426,"src":"184617:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37240,"nodeType":"Block","src":"186115:1544:22","statements":[{"assignments":[37207],"declarations":[{"constant":false,"id":37207,"mutability":"mutable","name":"m0","nameLocation":"186133:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186125:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186125:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37208,"nodeType":"VariableDeclarationStatement","src":"186125:10:22"},{"assignments":[37210],"declarations":[{"constant":false,"id":37210,"mutability":"mutable","name":"m1","nameLocation":"186153:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186145:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186145:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37211,"nodeType":"VariableDeclarationStatement","src":"186145:10:22"},{"assignments":[37213],"declarations":[{"constant":false,"id":37213,"mutability":"mutable","name":"m2","nameLocation":"186173:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186165:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186165:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37214,"nodeType":"VariableDeclarationStatement","src":"186165:10:22"},{"assignments":[37216],"declarations":[{"constant":false,"id":37216,"mutability":"mutable","name":"m3","nameLocation":"186193:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186185:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37217,"nodeType":"VariableDeclarationStatement","src":"186185:10:22"},{"assignments":[37219],"declarations":[{"constant":false,"id":37219,"mutability":"mutable","name":"m4","nameLocation":"186213:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186205:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186205:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37220,"nodeType":"VariableDeclarationStatement","src":"186205:10:22"},{"assignments":[37222],"declarations":[{"constant":false,"id":37222,"mutability":"mutable","name":"m5","nameLocation":"186233:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186225:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186225:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37223,"nodeType":"VariableDeclarationStatement","src":"186225:10:22"},{"assignments":[37225],"declarations":[{"constant":false,"id":37225,"mutability":"mutable","name":"m6","nameLocation":"186253:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186245:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186245:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37226,"nodeType":"VariableDeclarationStatement","src":"186245:10:22"},{"assignments":[37228],"declarations":[{"constant":false,"id":37228,"mutability":"mutable","name":"m7","nameLocation":"186273:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186265:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186265:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37229,"nodeType":"VariableDeclarationStatement","src":"186265:10:22"},{"assignments":[37231],"declarations":[{"constant":false,"id":37231,"mutability":"mutable","name":"m8","nameLocation":"186293:2:22","nodeType":"VariableDeclaration","scope":37240,"src":"186285:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186285:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37232,"nodeType":"VariableDeclarationStatement","src":"186285:10:22"},{"AST":{"nativeSrc":"186357:924:22","nodeType":"YulBlock","src":"186357:924:22","statements":[{"body":{"nativeSrc":"186400:313:22","nodeType":"YulBlock","src":"186400:313:22","statements":[{"nativeSrc":"186418:15:22","nodeType":"YulVariableDeclaration","src":"186418:15:22","value":{"kind":"number","nativeSrc":"186432:1:22","nodeType":"YulLiteral","src":"186432:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"186422:6:22","nodeType":"YulTypedName","src":"186422:6:22","type":""}]},{"body":{"nativeSrc":"186503:40:22","nodeType":"YulBlock","src":"186503:40:22","statements":[{"body":{"nativeSrc":"186532:9:22","nodeType":"YulBlock","src":"186532:9:22","statements":[{"nativeSrc":"186534:5:22","nodeType":"YulBreak","src":"186534:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"186520:6:22","nodeType":"YulIdentifier","src":"186520:6:22"},{"name":"w","nativeSrc":"186528:1:22","nodeType":"YulIdentifier","src":"186528:1:22"}],"functionName":{"name":"byte","nativeSrc":"186515:4:22","nodeType":"YulIdentifier","src":"186515:4:22"},"nativeSrc":"186515:15:22","nodeType":"YulFunctionCall","src":"186515:15:22"}],"functionName":{"name":"iszero","nativeSrc":"186508:6:22","nodeType":"YulIdentifier","src":"186508:6:22"},"nativeSrc":"186508:23:22","nodeType":"YulFunctionCall","src":"186508:23:22"},"nativeSrc":"186505:36:22","nodeType":"YulIf","src":"186505:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"186460:6:22","nodeType":"YulIdentifier","src":"186460:6:22"},{"kind":"number","nativeSrc":"186468:4:22","nodeType":"YulLiteral","src":"186468:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"186457:2:22","nodeType":"YulIdentifier","src":"186457:2:22"},"nativeSrc":"186457:16:22","nodeType":"YulFunctionCall","src":"186457:16:22"},"nativeSrc":"186450:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"186474:28:22","nodeType":"YulBlock","src":"186474:28:22","statements":[{"nativeSrc":"186476:24:22","nodeType":"YulAssignment","src":"186476:24:22","value":{"arguments":[{"name":"length","nativeSrc":"186490:6:22","nodeType":"YulIdentifier","src":"186490:6:22"},{"kind":"number","nativeSrc":"186498:1:22","nodeType":"YulLiteral","src":"186498:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"186486:3:22","nodeType":"YulIdentifier","src":"186486:3:22"},"nativeSrc":"186486:14:22","nodeType":"YulFunctionCall","src":"186486:14:22"},"variableNames":[{"name":"length","nativeSrc":"186476:6:22","nodeType":"YulIdentifier","src":"186476:6:22"}]}]},"pre":{"nativeSrc":"186454:2:22","nodeType":"YulBlock","src":"186454:2:22","statements":[]},"src":"186450:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"186567:3:22","nodeType":"YulIdentifier","src":"186567:3:22"},{"name":"length","nativeSrc":"186572:6:22","nodeType":"YulIdentifier","src":"186572:6:22"}],"functionName":{"name":"mstore","nativeSrc":"186560:6:22","nodeType":"YulIdentifier","src":"186560:6:22"},"nativeSrc":"186560:19:22","nodeType":"YulFunctionCall","src":"186560:19:22"},"nativeSrc":"186560:19:22","nodeType":"YulExpressionStatement","src":"186560:19:22"},{"nativeSrc":"186596:37:22","nodeType":"YulVariableDeclaration","src":"186596:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"186613:3:22","nodeType":"YulLiteral","src":"186613:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"186622:1:22","nodeType":"YulLiteral","src":"186622:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"186625:6:22","nodeType":"YulIdentifier","src":"186625:6:22"}],"functionName":{"name":"shl","nativeSrc":"186618:3:22","nodeType":"YulIdentifier","src":"186618:3:22"},"nativeSrc":"186618:14:22","nodeType":"YulFunctionCall","src":"186618:14:22"}],"functionName":{"name":"sub","nativeSrc":"186609:3:22","nodeType":"YulIdentifier","src":"186609:3:22"},"nativeSrc":"186609:24:22","nodeType":"YulFunctionCall","src":"186609:24:22"},"variables":[{"name":"shift","nativeSrc":"186600:5:22","nodeType":"YulTypedName","src":"186600:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"186661:3:22","nodeType":"YulIdentifier","src":"186661:3:22"},{"kind":"number","nativeSrc":"186666:4:22","nodeType":"YulLiteral","src":"186666:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"186657:3:22","nodeType":"YulIdentifier","src":"186657:3:22"},"nativeSrc":"186657:14:22","nodeType":"YulFunctionCall","src":"186657:14:22"},{"arguments":[{"name":"shift","nativeSrc":"186677:5:22","nodeType":"YulIdentifier","src":"186677:5:22"},{"arguments":[{"name":"shift","nativeSrc":"186688:5:22","nodeType":"YulIdentifier","src":"186688:5:22"},{"name":"w","nativeSrc":"186695:1:22","nodeType":"YulIdentifier","src":"186695:1:22"}],"functionName":{"name":"shr","nativeSrc":"186684:3:22","nodeType":"YulIdentifier","src":"186684:3:22"},"nativeSrc":"186684:13:22","nodeType":"YulFunctionCall","src":"186684:13:22"}],"functionName":{"name":"shl","nativeSrc":"186673:3:22","nodeType":"YulIdentifier","src":"186673:3:22"},"nativeSrc":"186673:25:22","nodeType":"YulFunctionCall","src":"186673:25:22"}],"functionName":{"name":"mstore","nativeSrc":"186650:6:22","nodeType":"YulIdentifier","src":"186650:6:22"},"nativeSrc":"186650:49:22","nodeType":"YulFunctionCall","src":"186650:49:22"},"nativeSrc":"186650:49:22","nodeType":"YulExpressionStatement","src":"186650:49:22"}]},"name":"writeString","nativeSrc":"186371:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"186392:3:22","nodeType":"YulTypedName","src":"186392:3:22","type":""},{"name":"w","nativeSrc":"186397:1:22","nodeType":"YulTypedName","src":"186397:1:22","type":""}],"src":"186371:342:22"},{"nativeSrc":"186726:17:22","nodeType":"YulAssignment","src":"186726:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186738:4:22","nodeType":"YulLiteral","src":"186738:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"186732:5:22","nodeType":"YulIdentifier","src":"186732:5:22"},"nativeSrc":"186732:11:22","nodeType":"YulFunctionCall","src":"186732:11:22"},"variableNames":[{"name":"m0","nativeSrc":"186726:2:22","nodeType":"YulIdentifier","src":"186726:2:22"}]},{"nativeSrc":"186756:17:22","nodeType":"YulAssignment","src":"186756:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186768:4:22","nodeType":"YulLiteral","src":"186768:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"186762:5:22","nodeType":"YulIdentifier","src":"186762:5:22"},"nativeSrc":"186762:11:22","nodeType":"YulFunctionCall","src":"186762:11:22"},"variableNames":[{"name":"m1","nativeSrc":"186756:2:22","nodeType":"YulIdentifier","src":"186756:2:22"}]},{"nativeSrc":"186786:17:22","nodeType":"YulAssignment","src":"186786:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186798:4:22","nodeType":"YulLiteral","src":"186798:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"186792:5:22","nodeType":"YulIdentifier","src":"186792:5:22"},"nativeSrc":"186792:11:22","nodeType":"YulFunctionCall","src":"186792:11:22"},"variableNames":[{"name":"m2","nativeSrc":"186786:2:22","nodeType":"YulIdentifier","src":"186786:2:22"}]},{"nativeSrc":"186816:17:22","nodeType":"YulAssignment","src":"186816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186828:4:22","nodeType":"YulLiteral","src":"186828:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"186822:5:22","nodeType":"YulIdentifier","src":"186822:5:22"},"nativeSrc":"186822:11:22","nodeType":"YulFunctionCall","src":"186822:11:22"},"variableNames":[{"name":"m3","nativeSrc":"186816:2:22","nodeType":"YulIdentifier","src":"186816:2:22"}]},{"nativeSrc":"186846:17:22","nodeType":"YulAssignment","src":"186846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186858:4:22","nodeType":"YulLiteral","src":"186858:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"186852:5:22","nodeType":"YulIdentifier","src":"186852:5:22"},"nativeSrc":"186852:11:22","nodeType":"YulFunctionCall","src":"186852:11:22"},"variableNames":[{"name":"m4","nativeSrc":"186846:2:22","nodeType":"YulIdentifier","src":"186846:2:22"}]},{"nativeSrc":"186876:17:22","nodeType":"YulAssignment","src":"186876:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186888:4:22","nodeType":"YulLiteral","src":"186888:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"186882:5:22","nodeType":"YulIdentifier","src":"186882:5:22"},"nativeSrc":"186882:11:22","nodeType":"YulFunctionCall","src":"186882:11:22"},"variableNames":[{"name":"m5","nativeSrc":"186876:2:22","nodeType":"YulIdentifier","src":"186876:2:22"}]},{"nativeSrc":"186906:17:22","nodeType":"YulAssignment","src":"186906:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186918:4:22","nodeType":"YulLiteral","src":"186918:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"186912:5:22","nodeType":"YulIdentifier","src":"186912:5:22"},"nativeSrc":"186912:11:22","nodeType":"YulFunctionCall","src":"186912:11:22"},"variableNames":[{"name":"m6","nativeSrc":"186906:2:22","nodeType":"YulIdentifier","src":"186906:2:22"}]},{"nativeSrc":"186936:17:22","nodeType":"YulAssignment","src":"186936:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"186948:4:22","nodeType":"YulLiteral","src":"186948:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"186942:5:22","nodeType":"YulIdentifier","src":"186942:5:22"},"nativeSrc":"186942:11:22","nodeType":"YulFunctionCall","src":"186942:11:22"},"variableNames":[{"name":"m7","nativeSrc":"186936:2:22","nodeType":"YulIdentifier","src":"186936:2:22"}]},{"nativeSrc":"186966:18:22","nodeType":"YulAssignment","src":"186966:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"186978:5:22","nodeType":"YulLiteral","src":"186978:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"186972:5:22","nodeType":"YulIdentifier","src":"186972:5:22"},"nativeSrc":"186972:12:22","nodeType":"YulFunctionCall","src":"186972:12:22"},"variableNames":[{"name":"m8","nativeSrc":"186966:2:22","nodeType":"YulIdentifier","src":"186966:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187066:4:22","nodeType":"YulLiteral","src":"187066:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"187072:10:22","nodeType":"YulLiteral","src":"187072:10:22","type":"","value":"0xa73c1db6"}],"functionName":{"name":"mstore","nativeSrc":"187059:6:22","nodeType":"YulIdentifier","src":"187059:6:22"},"nativeSrc":"187059:24:22","nodeType":"YulFunctionCall","src":"187059:24:22"},"nativeSrc":"187059:24:22","nodeType":"YulExpressionStatement","src":"187059:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187103:4:22","nodeType":"YulLiteral","src":"187103:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"187109:2:22","nodeType":"YulIdentifier","src":"187109:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187096:6:22","nodeType":"YulIdentifier","src":"187096:6:22"},"nativeSrc":"187096:16:22","nodeType":"YulFunctionCall","src":"187096:16:22"},"nativeSrc":"187096:16:22","nodeType":"YulExpressionStatement","src":"187096:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187132:4:22","nodeType":"YulLiteral","src":"187132:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"187138:2:22","nodeType":"YulIdentifier","src":"187138:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187125:6:22","nodeType":"YulIdentifier","src":"187125:6:22"},"nativeSrc":"187125:16:22","nodeType":"YulFunctionCall","src":"187125:16:22"},"nativeSrc":"187125:16:22","nodeType":"YulExpressionStatement","src":"187125:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187161:4:22","nodeType":"YulLiteral","src":"187161:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"187167:4:22","nodeType":"YulLiteral","src":"187167:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"187154:6:22","nodeType":"YulIdentifier","src":"187154:6:22"},"nativeSrc":"187154:18:22","nodeType":"YulFunctionCall","src":"187154:18:22"},"nativeSrc":"187154:18:22","nodeType":"YulExpressionStatement","src":"187154:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187192:4:22","nodeType":"YulLiteral","src":"187192:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"187198:4:22","nodeType":"YulLiteral","src":"187198:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"187185:6:22","nodeType":"YulIdentifier","src":"187185:6:22"},"nativeSrc":"187185:18:22","nodeType":"YulFunctionCall","src":"187185:18:22"},"nativeSrc":"187185:18:22","nodeType":"YulExpressionStatement","src":"187185:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187228:4:22","nodeType":"YulLiteral","src":"187228:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"187234:2:22","nodeType":"YulIdentifier","src":"187234:2:22"}],"functionName":{"name":"writeString","nativeSrc":"187216:11:22","nodeType":"YulIdentifier","src":"187216:11:22"},"nativeSrc":"187216:21:22","nodeType":"YulFunctionCall","src":"187216:21:22"},"nativeSrc":"187216:21:22","nodeType":"YulExpressionStatement","src":"187216:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187262:4:22","nodeType":"YulLiteral","src":"187262:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"187268:2:22","nodeType":"YulIdentifier","src":"187268:2:22"}],"functionName":{"name":"writeString","nativeSrc":"187250:11:22","nodeType":"YulIdentifier","src":"187250:11:22"},"nativeSrc":"187250:21:22","nodeType":"YulFunctionCall","src":"187250:21:22"},"nativeSrc":"187250:21:22","nodeType":"YulExpressionStatement","src":"187250:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37207,"isOffset":false,"isSlot":false,"src":"186726:2:22","valueSize":1},{"declaration":37210,"isOffset":false,"isSlot":false,"src":"186756:2:22","valueSize":1},{"declaration":37213,"isOffset":false,"isSlot":false,"src":"186786:2:22","valueSize":1},{"declaration":37216,"isOffset":false,"isSlot":false,"src":"186816:2:22","valueSize":1},{"declaration":37219,"isOffset":false,"isSlot":false,"src":"186846:2:22","valueSize":1},{"declaration":37222,"isOffset":false,"isSlot":false,"src":"186876:2:22","valueSize":1},{"declaration":37225,"isOffset":false,"isSlot":false,"src":"186906:2:22","valueSize":1},{"declaration":37228,"isOffset":false,"isSlot":false,"src":"186936:2:22","valueSize":1},{"declaration":37231,"isOffset":false,"isSlot":false,"src":"186966:2:22","valueSize":1},{"declaration":37197,"isOffset":false,"isSlot":false,"src":"187109:2:22","valueSize":1},{"declaration":37199,"isOffset":false,"isSlot":false,"src":"187138:2:22","valueSize":1},{"declaration":37201,"isOffset":false,"isSlot":false,"src":"187234:2:22","valueSize":1},{"declaration":37203,"isOffset":false,"isSlot":false,"src":"187268:2:22","valueSize":1}],"id":37233,"nodeType":"InlineAssembly","src":"186348:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187306:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187312:5:22","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":37234,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"187290:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"187290:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37238,"nodeType":"ExpressionStatement","src":"187290:28:22"},{"AST":{"nativeSrc":"187380:273:22","nodeType":"YulBlock","src":"187380:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"187401:4:22","nodeType":"YulLiteral","src":"187401:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"187407:2:22","nodeType":"YulIdentifier","src":"187407:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187394:6:22","nodeType":"YulIdentifier","src":"187394:6:22"},"nativeSrc":"187394:16:22","nodeType":"YulFunctionCall","src":"187394:16:22"},"nativeSrc":"187394:16:22","nodeType":"YulExpressionStatement","src":"187394:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187430:4:22","nodeType":"YulLiteral","src":"187430:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"187436:2:22","nodeType":"YulIdentifier","src":"187436:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187423:6:22","nodeType":"YulIdentifier","src":"187423:6:22"},"nativeSrc":"187423:16:22","nodeType":"YulFunctionCall","src":"187423:16:22"},"nativeSrc":"187423:16:22","nodeType":"YulExpressionStatement","src":"187423:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187459:4:22","nodeType":"YulLiteral","src":"187459:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"187465:2:22","nodeType":"YulIdentifier","src":"187465:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187452:6:22","nodeType":"YulIdentifier","src":"187452:6:22"},"nativeSrc":"187452:16:22","nodeType":"YulFunctionCall","src":"187452:16:22"},"nativeSrc":"187452:16:22","nodeType":"YulExpressionStatement","src":"187452:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187488:4:22","nodeType":"YulLiteral","src":"187488:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"187494:2:22","nodeType":"YulIdentifier","src":"187494:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187481:6:22","nodeType":"YulIdentifier","src":"187481:6:22"},"nativeSrc":"187481:16:22","nodeType":"YulFunctionCall","src":"187481:16:22"},"nativeSrc":"187481:16:22","nodeType":"YulExpressionStatement","src":"187481:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187517:4:22","nodeType":"YulLiteral","src":"187517:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"187523:2:22","nodeType":"YulIdentifier","src":"187523:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187510:6:22","nodeType":"YulIdentifier","src":"187510:6:22"},"nativeSrc":"187510:16:22","nodeType":"YulFunctionCall","src":"187510:16:22"},"nativeSrc":"187510:16:22","nodeType":"YulExpressionStatement","src":"187510:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187546:4:22","nodeType":"YulLiteral","src":"187546:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"187552:2:22","nodeType":"YulIdentifier","src":"187552:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187539:6:22","nodeType":"YulIdentifier","src":"187539:6:22"},"nativeSrc":"187539:16:22","nodeType":"YulFunctionCall","src":"187539:16:22"},"nativeSrc":"187539:16:22","nodeType":"YulExpressionStatement","src":"187539:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187575:4:22","nodeType":"YulLiteral","src":"187575:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"187581:2:22","nodeType":"YulIdentifier","src":"187581:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187568:6:22","nodeType":"YulIdentifier","src":"187568:6:22"},"nativeSrc":"187568:16:22","nodeType":"YulFunctionCall","src":"187568:16:22"},"nativeSrc":"187568:16:22","nodeType":"YulExpressionStatement","src":"187568:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187604:4:22","nodeType":"YulLiteral","src":"187604:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"187610:2:22","nodeType":"YulIdentifier","src":"187610:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187597:6:22","nodeType":"YulIdentifier","src":"187597:6:22"},"nativeSrc":"187597:16:22","nodeType":"YulFunctionCall","src":"187597:16:22"},"nativeSrc":"187597:16:22","nodeType":"YulExpressionStatement","src":"187597:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187633:5:22","nodeType":"YulLiteral","src":"187633:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"187640:2:22","nodeType":"YulIdentifier","src":"187640:2:22"}],"functionName":{"name":"mstore","nativeSrc":"187626:6:22","nodeType":"YulIdentifier","src":"187626:6:22"},"nativeSrc":"187626:17:22","nodeType":"YulFunctionCall","src":"187626:17:22"},"nativeSrc":"187626:17:22","nodeType":"YulExpressionStatement","src":"187626:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37207,"isOffset":false,"isSlot":false,"src":"187407:2:22","valueSize":1},{"declaration":37210,"isOffset":false,"isSlot":false,"src":"187436:2:22","valueSize":1},{"declaration":37213,"isOffset":false,"isSlot":false,"src":"187465:2:22","valueSize":1},{"declaration":37216,"isOffset":false,"isSlot":false,"src":"187494:2:22","valueSize":1},{"declaration":37219,"isOffset":false,"isSlot":false,"src":"187523:2:22","valueSize":1},{"declaration":37222,"isOffset":false,"isSlot":false,"src":"187552:2:22","valueSize":1},{"declaration":37225,"isOffset":false,"isSlot":false,"src":"187581:2:22","valueSize":1},{"declaration":37228,"isOffset":false,"isSlot":false,"src":"187610:2:22","valueSize":1},{"declaration":37231,"isOffset":false,"isSlot":false,"src":"187640:2:22","valueSize":1}],"id":37239,"nodeType":"InlineAssembly","src":"187371:282:22"}]},"id":37241,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"186052:3:22","nodeType":"FunctionDefinition","parameters":{"id":37204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37197,"mutability":"mutable","name":"p0","nameLocation":"186061:2:22","nodeType":"VariableDeclaration","scope":37241,"src":"186056:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37196,"name":"bool","nodeType":"ElementaryTypeName","src":"186056:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37199,"mutability":"mutable","name":"p1","nameLocation":"186073:2:22","nodeType":"VariableDeclaration","scope":37241,"src":"186065:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37198,"name":"address","nodeType":"ElementaryTypeName","src":"186065:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37201,"mutability":"mutable","name":"p2","nameLocation":"186085:2:22","nodeType":"VariableDeclaration","scope":37241,"src":"186077:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186077:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37203,"mutability":"mutable","name":"p3","nameLocation":"186097:2:22","nodeType":"VariableDeclaration","scope":37241,"src":"186089:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186089:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"186055:45:22"},"returnParameters":{"id":37205,"nodeType":"ParameterList","parameters":[],"src":"186115:0:22"},"scope":44426,"src":"186043:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37274,"nodeType":"Block","src":"187734:797:22","statements":[{"assignments":[37253],"declarations":[{"constant":false,"id":37253,"mutability":"mutable","name":"m0","nameLocation":"187752:2:22","nodeType":"VariableDeclaration","scope":37274,"src":"187744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187744:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37254,"nodeType":"VariableDeclarationStatement","src":"187744:10:22"},{"assignments":[37256],"declarations":[{"constant":false,"id":37256,"mutability":"mutable","name":"m1","nameLocation":"187772:2:22","nodeType":"VariableDeclaration","scope":37274,"src":"187764:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187764:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37257,"nodeType":"VariableDeclarationStatement","src":"187764:10:22"},{"assignments":[37259],"declarations":[{"constant":false,"id":37259,"mutability":"mutable","name":"m2","nameLocation":"187792:2:22","nodeType":"VariableDeclaration","scope":37274,"src":"187784:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187784:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37260,"nodeType":"VariableDeclarationStatement","src":"187784:10:22"},{"assignments":[37262],"declarations":[{"constant":false,"id":37262,"mutability":"mutable","name":"m3","nameLocation":"187812:2:22","nodeType":"VariableDeclaration","scope":37274,"src":"187804:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187804:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37263,"nodeType":"VariableDeclarationStatement","src":"187804:10:22"},{"assignments":[37265],"declarations":[{"constant":false,"id":37265,"mutability":"mutable","name":"m4","nameLocation":"187832:2:22","nodeType":"VariableDeclaration","scope":37274,"src":"187824:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187824:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37266,"nodeType":"VariableDeclarationStatement","src":"187824:10:22"},{"AST":{"nativeSrc":"187896:375:22","nodeType":"YulBlock","src":"187896:375:22","statements":[{"nativeSrc":"187910:17:22","nodeType":"YulAssignment","src":"187910:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"187922:4:22","nodeType":"YulLiteral","src":"187922:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"187916:5:22","nodeType":"YulIdentifier","src":"187916:5:22"},"nativeSrc":"187916:11:22","nodeType":"YulFunctionCall","src":"187916:11:22"},"variableNames":[{"name":"m0","nativeSrc":"187910:2:22","nodeType":"YulIdentifier","src":"187910:2:22"}]},{"nativeSrc":"187940:17:22","nodeType":"YulAssignment","src":"187940:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"187952:4:22","nodeType":"YulLiteral","src":"187952:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"187946:5:22","nodeType":"YulIdentifier","src":"187946:5:22"},"nativeSrc":"187946:11:22","nodeType":"YulFunctionCall","src":"187946:11:22"},"variableNames":[{"name":"m1","nativeSrc":"187940:2:22","nodeType":"YulIdentifier","src":"187940:2:22"}]},{"nativeSrc":"187970:17:22","nodeType":"YulAssignment","src":"187970:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"187982:4:22","nodeType":"YulLiteral","src":"187982:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"187976:5:22","nodeType":"YulIdentifier","src":"187976:5:22"},"nativeSrc":"187976:11:22","nodeType":"YulFunctionCall","src":"187976:11:22"},"variableNames":[{"name":"m2","nativeSrc":"187970:2:22","nodeType":"YulIdentifier","src":"187970:2:22"}]},{"nativeSrc":"188000:17:22","nodeType":"YulAssignment","src":"188000:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188012:4:22","nodeType":"YulLiteral","src":"188012:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188006:5:22","nodeType":"YulIdentifier","src":"188006:5:22"},"nativeSrc":"188006:11:22","nodeType":"YulFunctionCall","src":"188006:11:22"},"variableNames":[{"name":"m3","nativeSrc":"188000:2:22","nodeType":"YulIdentifier","src":"188000:2:22"}]},{"nativeSrc":"188030:17:22","nodeType":"YulAssignment","src":"188030:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188042:4:22","nodeType":"YulLiteral","src":"188042:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188036:5:22","nodeType":"YulIdentifier","src":"188036:5:22"},"nativeSrc":"188036:11:22","nodeType":"YulFunctionCall","src":"188036:11:22"},"variableNames":[{"name":"m4","nativeSrc":"188030:2:22","nodeType":"YulIdentifier","src":"188030:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188128:4:22","nodeType":"YulLiteral","src":"188128:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"188134:10:22","nodeType":"YulLiteral","src":"188134:10:22","type":"","value":"0xf4880ea4"}],"functionName":{"name":"mstore","nativeSrc":"188121:6:22","nodeType":"YulIdentifier","src":"188121:6:22"},"nativeSrc":"188121:24:22","nodeType":"YulFunctionCall","src":"188121:24:22"},"nativeSrc":"188121:24:22","nodeType":"YulExpressionStatement","src":"188121:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188165:4:22","nodeType":"YulLiteral","src":"188165:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"188171:2:22","nodeType":"YulIdentifier","src":"188171:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188158:6:22","nodeType":"YulIdentifier","src":"188158:6:22"},"nativeSrc":"188158:16:22","nodeType":"YulFunctionCall","src":"188158:16:22"},"nativeSrc":"188158:16:22","nodeType":"YulExpressionStatement","src":"188158:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188194:4:22","nodeType":"YulLiteral","src":"188194:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"188200:2:22","nodeType":"YulIdentifier","src":"188200:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188187:6:22","nodeType":"YulIdentifier","src":"188187:6:22"},"nativeSrc":"188187:16:22","nodeType":"YulFunctionCall","src":"188187:16:22"},"nativeSrc":"188187:16:22","nodeType":"YulExpressionStatement","src":"188187:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188223:4:22","nodeType":"YulLiteral","src":"188223:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"188229:2:22","nodeType":"YulIdentifier","src":"188229:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188216:6:22","nodeType":"YulIdentifier","src":"188216:6:22"},"nativeSrc":"188216:16:22","nodeType":"YulFunctionCall","src":"188216:16:22"},"nativeSrc":"188216:16:22","nodeType":"YulExpressionStatement","src":"188216:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188252:4:22","nodeType":"YulLiteral","src":"188252:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"188258:2:22","nodeType":"YulIdentifier","src":"188258:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188245:6:22","nodeType":"YulIdentifier","src":"188245:6:22"},"nativeSrc":"188245:16:22","nodeType":"YulFunctionCall","src":"188245:16:22"},"nativeSrc":"188245:16:22","nodeType":"YulExpressionStatement","src":"188245:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37253,"isOffset":false,"isSlot":false,"src":"187910:2:22","valueSize":1},{"declaration":37256,"isOffset":false,"isSlot":false,"src":"187940:2:22","valueSize":1},{"declaration":37259,"isOffset":false,"isSlot":false,"src":"187970:2:22","valueSize":1},{"declaration":37262,"isOffset":false,"isSlot":false,"src":"188000:2:22","valueSize":1},{"declaration":37265,"isOffset":false,"isSlot":false,"src":"188030:2:22","valueSize":1},{"declaration":37243,"isOffset":false,"isSlot":false,"src":"188171:2:22","valueSize":1},{"declaration":37245,"isOffset":false,"isSlot":false,"src":"188200:2:22","valueSize":1},{"declaration":37247,"isOffset":false,"isSlot":false,"src":"188229:2:22","valueSize":1},{"declaration":37249,"isOffset":false,"isSlot":false,"src":"188258:2:22","valueSize":1}],"id":37267,"nodeType":"InlineAssembly","src":"187887:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188296:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188302:4:22","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":37268,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"188280:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"188280:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37272,"nodeType":"ExpressionStatement","src":"188280:27:22"},{"AST":{"nativeSrc":"188369:156:22","nodeType":"YulBlock","src":"188369:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"188390:4:22","nodeType":"YulLiteral","src":"188390:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"188396:2:22","nodeType":"YulIdentifier","src":"188396:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188383:6:22","nodeType":"YulIdentifier","src":"188383:6:22"},"nativeSrc":"188383:16:22","nodeType":"YulFunctionCall","src":"188383:16:22"},"nativeSrc":"188383:16:22","nodeType":"YulExpressionStatement","src":"188383:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188419:4:22","nodeType":"YulLiteral","src":"188419:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"188425:2:22","nodeType":"YulIdentifier","src":"188425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188412:6:22","nodeType":"YulIdentifier","src":"188412:6:22"},"nativeSrc":"188412:16:22","nodeType":"YulFunctionCall","src":"188412:16:22"},"nativeSrc":"188412:16:22","nodeType":"YulExpressionStatement","src":"188412:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188448:4:22","nodeType":"YulLiteral","src":"188448:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"188454:2:22","nodeType":"YulIdentifier","src":"188454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188441:6:22","nodeType":"YulIdentifier","src":"188441:6:22"},"nativeSrc":"188441:16:22","nodeType":"YulFunctionCall","src":"188441:16:22"},"nativeSrc":"188441:16:22","nodeType":"YulExpressionStatement","src":"188441:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188477:4:22","nodeType":"YulLiteral","src":"188477:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"188483:2:22","nodeType":"YulIdentifier","src":"188483:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188470:6:22","nodeType":"YulIdentifier","src":"188470:6:22"},"nativeSrc":"188470:16:22","nodeType":"YulFunctionCall","src":"188470:16:22"},"nativeSrc":"188470:16:22","nodeType":"YulExpressionStatement","src":"188470:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188506:4:22","nodeType":"YulLiteral","src":"188506:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"188512:2:22","nodeType":"YulIdentifier","src":"188512:2:22"}],"functionName":{"name":"mstore","nativeSrc":"188499:6:22","nodeType":"YulIdentifier","src":"188499:6:22"},"nativeSrc":"188499:16:22","nodeType":"YulFunctionCall","src":"188499:16:22"},"nativeSrc":"188499:16:22","nodeType":"YulExpressionStatement","src":"188499:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37253,"isOffset":false,"isSlot":false,"src":"188396:2:22","valueSize":1},{"declaration":37256,"isOffset":false,"isSlot":false,"src":"188425:2:22","valueSize":1},{"declaration":37259,"isOffset":false,"isSlot":false,"src":"188454:2:22","valueSize":1},{"declaration":37262,"isOffset":false,"isSlot":false,"src":"188483:2:22","valueSize":1},{"declaration":37265,"isOffset":false,"isSlot":false,"src":"188512:2:22","valueSize":1}],"id":37273,"nodeType":"InlineAssembly","src":"188360:165:22"}]},"id":37275,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"187674:3:22","nodeType":"FunctionDefinition","parameters":{"id":37250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37243,"mutability":"mutable","name":"p0","nameLocation":"187683:2:22","nodeType":"VariableDeclaration","scope":37275,"src":"187678:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37242,"name":"bool","nodeType":"ElementaryTypeName","src":"187678:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37245,"mutability":"mutable","name":"p1","nameLocation":"187692:2:22","nodeType":"VariableDeclaration","scope":37275,"src":"187687:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37244,"name":"bool","nodeType":"ElementaryTypeName","src":"187687:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37247,"mutability":"mutable","name":"p2","nameLocation":"187704:2:22","nodeType":"VariableDeclaration","scope":37275,"src":"187696:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37246,"name":"address","nodeType":"ElementaryTypeName","src":"187696:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37249,"mutability":"mutable","name":"p3","nameLocation":"187716:2:22","nodeType":"VariableDeclaration","scope":37275,"src":"187708:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37248,"name":"address","nodeType":"ElementaryTypeName","src":"187708:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"187677:42:22"},"returnParameters":{"id":37251,"nodeType":"ParameterList","parameters":[],"src":"187734:0:22"},"scope":44426,"src":"187665:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37308,"nodeType":"Block","src":"188603:794:22","statements":[{"assignments":[37287],"declarations":[{"constant":false,"id":37287,"mutability":"mutable","name":"m0","nameLocation":"188621:2:22","nodeType":"VariableDeclaration","scope":37308,"src":"188613:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188613:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37288,"nodeType":"VariableDeclarationStatement","src":"188613:10:22"},{"assignments":[37290],"declarations":[{"constant":false,"id":37290,"mutability":"mutable","name":"m1","nameLocation":"188641:2:22","nodeType":"VariableDeclaration","scope":37308,"src":"188633:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188633:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37291,"nodeType":"VariableDeclarationStatement","src":"188633:10:22"},{"assignments":[37293],"declarations":[{"constant":false,"id":37293,"mutability":"mutable","name":"m2","nameLocation":"188661:2:22","nodeType":"VariableDeclaration","scope":37308,"src":"188653:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188653:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37294,"nodeType":"VariableDeclarationStatement","src":"188653:10:22"},{"assignments":[37296],"declarations":[{"constant":false,"id":37296,"mutability":"mutable","name":"m3","nameLocation":"188681:2:22","nodeType":"VariableDeclaration","scope":37308,"src":"188673:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188673:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37297,"nodeType":"VariableDeclarationStatement","src":"188673:10:22"},{"assignments":[37299],"declarations":[{"constant":false,"id":37299,"mutability":"mutable","name":"m4","nameLocation":"188701:2:22","nodeType":"VariableDeclaration","scope":37308,"src":"188693:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188693:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37300,"nodeType":"VariableDeclarationStatement","src":"188693:10:22"},{"AST":{"nativeSrc":"188765:372:22","nodeType":"YulBlock","src":"188765:372:22","statements":[{"nativeSrc":"188779:17:22","nodeType":"YulAssignment","src":"188779:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188791:4:22","nodeType":"YulLiteral","src":"188791:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"188785:5:22","nodeType":"YulIdentifier","src":"188785:5:22"},"nativeSrc":"188785:11:22","nodeType":"YulFunctionCall","src":"188785:11:22"},"variableNames":[{"name":"m0","nativeSrc":"188779:2:22","nodeType":"YulIdentifier","src":"188779:2:22"}]},{"nativeSrc":"188809:17:22","nodeType":"YulAssignment","src":"188809:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188821:4:22","nodeType":"YulLiteral","src":"188821:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"188815:5:22","nodeType":"YulIdentifier","src":"188815:5:22"},"nativeSrc":"188815:11:22","nodeType":"YulFunctionCall","src":"188815:11:22"},"variableNames":[{"name":"m1","nativeSrc":"188809:2:22","nodeType":"YulIdentifier","src":"188809:2:22"}]},{"nativeSrc":"188839:17:22","nodeType":"YulAssignment","src":"188839:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188851:4:22","nodeType":"YulLiteral","src":"188851:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"188845:5:22","nodeType":"YulIdentifier","src":"188845:5:22"},"nativeSrc":"188845:11:22","nodeType":"YulFunctionCall","src":"188845:11:22"},"variableNames":[{"name":"m2","nativeSrc":"188839:2:22","nodeType":"YulIdentifier","src":"188839:2:22"}]},{"nativeSrc":"188869:17:22","nodeType":"YulAssignment","src":"188869:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188881:4:22","nodeType":"YulLiteral","src":"188881:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188875:5:22","nodeType":"YulIdentifier","src":"188875:5:22"},"nativeSrc":"188875:11:22","nodeType":"YulFunctionCall","src":"188875:11:22"},"variableNames":[{"name":"m3","nativeSrc":"188869:2:22","nodeType":"YulIdentifier","src":"188869:2:22"}]},{"nativeSrc":"188899:17:22","nodeType":"YulAssignment","src":"188899:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"188911:4:22","nodeType":"YulLiteral","src":"188911:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188905:5:22","nodeType":"YulIdentifier","src":"188905:5:22"},"nativeSrc":"188905:11:22","nodeType":"YulFunctionCall","src":"188905:11:22"},"variableNames":[{"name":"m4","nativeSrc":"188899:2:22","nodeType":"YulIdentifier","src":"188899:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188994:4:22","nodeType":"YulLiteral","src":"188994:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189000:10:22","nodeType":"YulLiteral","src":"189000:10:22","type":"","value":"0xc0a302d8"}],"functionName":{"name":"mstore","nativeSrc":"188987:6:22","nodeType":"YulIdentifier","src":"188987:6:22"},"nativeSrc":"188987:24:22","nodeType":"YulFunctionCall","src":"188987:24:22"},"nativeSrc":"188987:24:22","nodeType":"YulExpressionStatement","src":"188987:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189031:4:22","nodeType":"YulLiteral","src":"189031:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189037:2:22","nodeType":"YulIdentifier","src":"189037:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189024:6:22","nodeType":"YulIdentifier","src":"189024:6:22"},"nativeSrc":"189024:16:22","nodeType":"YulFunctionCall","src":"189024:16:22"},"nativeSrc":"189024:16:22","nodeType":"YulExpressionStatement","src":"189024:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189060:4:22","nodeType":"YulLiteral","src":"189060:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189066:2:22","nodeType":"YulIdentifier","src":"189066:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189053:6:22","nodeType":"YulIdentifier","src":"189053:6:22"},"nativeSrc":"189053:16:22","nodeType":"YulFunctionCall","src":"189053:16:22"},"nativeSrc":"189053:16:22","nodeType":"YulExpressionStatement","src":"189053:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189089:4:22","nodeType":"YulLiteral","src":"189089:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189095:2:22","nodeType":"YulIdentifier","src":"189095:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189082:6:22","nodeType":"YulIdentifier","src":"189082:6:22"},"nativeSrc":"189082:16:22","nodeType":"YulFunctionCall","src":"189082:16:22"},"nativeSrc":"189082:16:22","nodeType":"YulExpressionStatement","src":"189082:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189118:4:22","nodeType":"YulLiteral","src":"189118:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189124:2:22","nodeType":"YulIdentifier","src":"189124:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189111:6:22","nodeType":"YulIdentifier","src":"189111:6:22"},"nativeSrc":"189111:16:22","nodeType":"YulFunctionCall","src":"189111:16:22"},"nativeSrc":"189111:16:22","nodeType":"YulExpressionStatement","src":"189111:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37287,"isOffset":false,"isSlot":false,"src":"188779:2:22","valueSize":1},{"declaration":37290,"isOffset":false,"isSlot":false,"src":"188809:2:22","valueSize":1},{"declaration":37293,"isOffset":false,"isSlot":false,"src":"188839:2:22","valueSize":1},{"declaration":37296,"isOffset":false,"isSlot":false,"src":"188869:2:22","valueSize":1},{"declaration":37299,"isOffset":false,"isSlot":false,"src":"188899:2:22","valueSize":1},{"declaration":37277,"isOffset":false,"isSlot":false,"src":"189037:2:22","valueSize":1},{"declaration":37279,"isOffset":false,"isSlot":false,"src":"189066:2:22","valueSize":1},{"declaration":37281,"isOffset":false,"isSlot":false,"src":"189095:2:22","valueSize":1},{"declaration":37283,"isOffset":false,"isSlot":false,"src":"189124:2:22","valueSize":1}],"id":37301,"nodeType":"InlineAssembly","src":"188756:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189162:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189168:4:22","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":37302,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"189146:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"189146:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37306,"nodeType":"ExpressionStatement","src":"189146:27:22"},{"AST":{"nativeSrc":"189235:156:22","nodeType":"YulBlock","src":"189235:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"189256:4:22","nodeType":"YulLiteral","src":"189256:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"189262:2:22","nodeType":"YulIdentifier","src":"189262:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189249:6:22","nodeType":"YulIdentifier","src":"189249:6:22"},"nativeSrc":"189249:16:22","nodeType":"YulFunctionCall","src":"189249:16:22"},"nativeSrc":"189249:16:22","nodeType":"YulExpressionStatement","src":"189249:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189285:4:22","nodeType":"YulLiteral","src":"189285:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"189291:2:22","nodeType":"YulIdentifier","src":"189291:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189278:6:22","nodeType":"YulIdentifier","src":"189278:6:22"},"nativeSrc":"189278:16:22","nodeType":"YulFunctionCall","src":"189278:16:22"},"nativeSrc":"189278:16:22","nodeType":"YulExpressionStatement","src":"189278:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189314:4:22","nodeType":"YulLiteral","src":"189314:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"189320:2:22","nodeType":"YulIdentifier","src":"189320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189307:6:22","nodeType":"YulIdentifier","src":"189307:6:22"},"nativeSrc":"189307:16:22","nodeType":"YulFunctionCall","src":"189307:16:22"},"nativeSrc":"189307:16:22","nodeType":"YulExpressionStatement","src":"189307:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189343:4:22","nodeType":"YulLiteral","src":"189343:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"189349:2:22","nodeType":"YulIdentifier","src":"189349:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189336:6:22","nodeType":"YulIdentifier","src":"189336:6:22"},"nativeSrc":"189336:16:22","nodeType":"YulFunctionCall","src":"189336:16:22"},"nativeSrc":"189336:16:22","nodeType":"YulExpressionStatement","src":"189336:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189372:4:22","nodeType":"YulLiteral","src":"189372:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"189378:2:22","nodeType":"YulIdentifier","src":"189378:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189365:6:22","nodeType":"YulIdentifier","src":"189365:6:22"},"nativeSrc":"189365:16:22","nodeType":"YulFunctionCall","src":"189365:16:22"},"nativeSrc":"189365:16:22","nodeType":"YulExpressionStatement","src":"189365:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37287,"isOffset":false,"isSlot":false,"src":"189262:2:22","valueSize":1},{"declaration":37290,"isOffset":false,"isSlot":false,"src":"189291:2:22","valueSize":1},{"declaration":37293,"isOffset":false,"isSlot":false,"src":"189320:2:22","valueSize":1},{"declaration":37296,"isOffset":false,"isSlot":false,"src":"189349:2:22","valueSize":1},{"declaration":37299,"isOffset":false,"isSlot":false,"src":"189378:2:22","valueSize":1}],"id":37307,"nodeType":"InlineAssembly","src":"189226:165:22"}]},"id":37309,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"188546:3:22","nodeType":"FunctionDefinition","parameters":{"id":37284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37277,"mutability":"mutable","name":"p0","nameLocation":"188555:2:22","nodeType":"VariableDeclaration","scope":37309,"src":"188550:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37276,"name":"bool","nodeType":"ElementaryTypeName","src":"188550:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37279,"mutability":"mutable","name":"p1","nameLocation":"188564:2:22","nodeType":"VariableDeclaration","scope":37309,"src":"188559:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37278,"name":"bool","nodeType":"ElementaryTypeName","src":"188559:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37281,"mutability":"mutable","name":"p2","nameLocation":"188576:2:22","nodeType":"VariableDeclaration","scope":37309,"src":"188568:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37280,"name":"address","nodeType":"ElementaryTypeName","src":"188568:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37283,"mutability":"mutable","name":"p3","nameLocation":"188585:2:22","nodeType":"VariableDeclaration","scope":37309,"src":"188580:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37282,"name":"bool","nodeType":"ElementaryTypeName","src":"188580:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"188549:39:22"},"returnParameters":{"id":37285,"nodeType":"ParameterList","parameters":[],"src":"188603:0:22"},"scope":44426,"src":"188537:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37342,"nodeType":"Block","src":"189472:797:22","statements":[{"assignments":[37321],"declarations":[{"constant":false,"id":37321,"mutability":"mutable","name":"m0","nameLocation":"189490:2:22","nodeType":"VariableDeclaration","scope":37342,"src":"189482:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189482:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37322,"nodeType":"VariableDeclarationStatement","src":"189482:10:22"},{"assignments":[37324],"declarations":[{"constant":false,"id":37324,"mutability":"mutable","name":"m1","nameLocation":"189510:2:22","nodeType":"VariableDeclaration","scope":37342,"src":"189502:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189502:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37325,"nodeType":"VariableDeclarationStatement","src":"189502:10:22"},{"assignments":[37327],"declarations":[{"constant":false,"id":37327,"mutability":"mutable","name":"m2","nameLocation":"189530:2:22","nodeType":"VariableDeclaration","scope":37342,"src":"189522:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189522:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37328,"nodeType":"VariableDeclarationStatement","src":"189522:10:22"},{"assignments":[37330],"declarations":[{"constant":false,"id":37330,"mutability":"mutable","name":"m3","nameLocation":"189550:2:22","nodeType":"VariableDeclaration","scope":37342,"src":"189542:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189542:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37331,"nodeType":"VariableDeclarationStatement","src":"189542:10:22"},{"assignments":[37333],"declarations":[{"constant":false,"id":37333,"mutability":"mutable","name":"m4","nameLocation":"189570:2:22","nodeType":"VariableDeclaration","scope":37342,"src":"189562:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189562:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37334,"nodeType":"VariableDeclarationStatement","src":"189562:10:22"},{"AST":{"nativeSrc":"189634:375:22","nodeType":"YulBlock","src":"189634:375:22","statements":[{"nativeSrc":"189648:17:22","nodeType":"YulAssignment","src":"189648:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"189660:4:22","nodeType":"YulLiteral","src":"189660:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"189654:5:22","nodeType":"YulIdentifier","src":"189654:5:22"},"nativeSrc":"189654:11:22","nodeType":"YulFunctionCall","src":"189654:11:22"},"variableNames":[{"name":"m0","nativeSrc":"189648:2:22","nodeType":"YulIdentifier","src":"189648:2:22"}]},{"nativeSrc":"189678:17:22","nodeType":"YulAssignment","src":"189678:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"189690:4:22","nodeType":"YulLiteral","src":"189690:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"189684:5:22","nodeType":"YulIdentifier","src":"189684:5:22"},"nativeSrc":"189684:11:22","nodeType":"YulFunctionCall","src":"189684:11:22"},"variableNames":[{"name":"m1","nativeSrc":"189678:2:22","nodeType":"YulIdentifier","src":"189678:2:22"}]},{"nativeSrc":"189708:17:22","nodeType":"YulAssignment","src":"189708:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"189720:4:22","nodeType":"YulLiteral","src":"189720:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"189714:5:22","nodeType":"YulIdentifier","src":"189714:5:22"},"nativeSrc":"189714:11:22","nodeType":"YulFunctionCall","src":"189714:11:22"},"variableNames":[{"name":"m2","nativeSrc":"189708:2:22","nodeType":"YulIdentifier","src":"189708:2:22"}]},{"nativeSrc":"189738:17:22","nodeType":"YulAssignment","src":"189738:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"189750:4:22","nodeType":"YulLiteral","src":"189750:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"189744:5:22","nodeType":"YulIdentifier","src":"189744:5:22"},"nativeSrc":"189744:11:22","nodeType":"YulFunctionCall","src":"189744:11:22"},"variableNames":[{"name":"m3","nativeSrc":"189738:2:22","nodeType":"YulIdentifier","src":"189738:2:22"}]},{"nativeSrc":"189768:17:22","nodeType":"YulAssignment","src":"189768:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"189780:4:22","nodeType":"YulLiteral","src":"189780:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"189774:5:22","nodeType":"YulIdentifier","src":"189774:5:22"},"nativeSrc":"189774:11:22","nodeType":"YulFunctionCall","src":"189774:11:22"},"variableNames":[{"name":"m4","nativeSrc":"189768:2:22","nodeType":"YulIdentifier","src":"189768:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189866:4:22","nodeType":"YulLiteral","src":"189866:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189872:10:22","nodeType":"YulLiteral","src":"189872:10:22","type":"","value":"0x4c123d57"}],"functionName":{"name":"mstore","nativeSrc":"189859:6:22","nodeType":"YulIdentifier","src":"189859:6:22"},"nativeSrc":"189859:24:22","nodeType":"YulFunctionCall","src":"189859:24:22"},"nativeSrc":"189859:24:22","nodeType":"YulExpressionStatement","src":"189859:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189903:4:22","nodeType":"YulLiteral","src":"189903:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189909:2:22","nodeType":"YulIdentifier","src":"189909:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189896:6:22","nodeType":"YulIdentifier","src":"189896:6:22"},"nativeSrc":"189896:16:22","nodeType":"YulFunctionCall","src":"189896:16:22"},"nativeSrc":"189896:16:22","nodeType":"YulExpressionStatement","src":"189896:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189932:4:22","nodeType":"YulLiteral","src":"189932:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189938:2:22","nodeType":"YulIdentifier","src":"189938:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189925:6:22","nodeType":"YulIdentifier","src":"189925:6:22"},"nativeSrc":"189925:16:22","nodeType":"YulFunctionCall","src":"189925:16:22"},"nativeSrc":"189925:16:22","nodeType":"YulExpressionStatement","src":"189925:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189961:4:22","nodeType":"YulLiteral","src":"189961:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189967:2:22","nodeType":"YulIdentifier","src":"189967:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189954:6:22","nodeType":"YulIdentifier","src":"189954:6:22"},"nativeSrc":"189954:16:22","nodeType":"YulFunctionCall","src":"189954:16:22"},"nativeSrc":"189954:16:22","nodeType":"YulExpressionStatement","src":"189954:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189990:4:22","nodeType":"YulLiteral","src":"189990:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189996:2:22","nodeType":"YulIdentifier","src":"189996:2:22"}],"functionName":{"name":"mstore","nativeSrc":"189983:6:22","nodeType":"YulIdentifier","src":"189983:6:22"},"nativeSrc":"189983:16:22","nodeType":"YulFunctionCall","src":"189983:16:22"},"nativeSrc":"189983:16:22","nodeType":"YulExpressionStatement","src":"189983:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37321,"isOffset":false,"isSlot":false,"src":"189648:2:22","valueSize":1},{"declaration":37324,"isOffset":false,"isSlot":false,"src":"189678:2:22","valueSize":1},{"declaration":37327,"isOffset":false,"isSlot":false,"src":"189708:2:22","valueSize":1},{"declaration":37330,"isOffset":false,"isSlot":false,"src":"189738:2:22","valueSize":1},{"declaration":37333,"isOffset":false,"isSlot":false,"src":"189768:2:22","valueSize":1},{"declaration":37311,"isOffset":false,"isSlot":false,"src":"189909:2:22","valueSize":1},{"declaration":37313,"isOffset":false,"isSlot":false,"src":"189938:2:22","valueSize":1},{"declaration":37315,"isOffset":false,"isSlot":false,"src":"189967:2:22","valueSize":1},{"declaration":37317,"isOffset":false,"isSlot":false,"src":"189996:2:22","valueSize":1}],"id":37335,"nodeType":"InlineAssembly","src":"189625:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190034:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190040:4:22","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":37336,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"190018:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"190018:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37340,"nodeType":"ExpressionStatement","src":"190018:27:22"},{"AST":{"nativeSrc":"190107:156:22","nodeType":"YulBlock","src":"190107:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"190128:4:22","nodeType":"YulLiteral","src":"190128:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"190134:2:22","nodeType":"YulIdentifier","src":"190134:2:22"}],"functionName":{"name":"mstore","nativeSrc":"190121:6:22","nodeType":"YulIdentifier","src":"190121:6:22"},"nativeSrc":"190121:16:22","nodeType":"YulFunctionCall","src":"190121:16:22"},"nativeSrc":"190121:16:22","nodeType":"YulExpressionStatement","src":"190121:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190157:4:22","nodeType":"YulLiteral","src":"190157:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"190163:2:22","nodeType":"YulIdentifier","src":"190163:2:22"}],"functionName":{"name":"mstore","nativeSrc":"190150:6:22","nodeType":"YulIdentifier","src":"190150:6:22"},"nativeSrc":"190150:16:22","nodeType":"YulFunctionCall","src":"190150:16:22"},"nativeSrc":"190150:16:22","nodeType":"YulExpressionStatement","src":"190150:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190186:4:22","nodeType":"YulLiteral","src":"190186:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"190192:2:22","nodeType":"YulIdentifier","src":"190192:2:22"}],"functionName":{"name":"mstore","nativeSrc":"190179:6:22","nodeType":"YulIdentifier","src":"190179:6:22"},"nativeSrc":"190179:16:22","nodeType":"YulFunctionCall","src":"190179:16:22"},"nativeSrc":"190179:16:22","nodeType":"YulExpressionStatement","src":"190179:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190215:4:22","nodeType":"YulLiteral","src":"190215:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"190221:2:22","nodeType":"YulIdentifier","src":"190221:2:22"}],"functionName":{"name":"mstore","nativeSrc":"190208:6:22","nodeType":"YulIdentifier","src":"190208:6:22"},"nativeSrc":"190208:16:22","nodeType":"YulFunctionCall","src":"190208:16:22"},"nativeSrc":"190208:16:22","nodeType":"YulExpressionStatement","src":"190208:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190244:4:22","nodeType":"YulLiteral","src":"190244:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"190250:2:22","nodeType":"YulIdentifier","src":"190250:2:22"}],"functionName":{"name":"mstore","nativeSrc":"190237:6:22","nodeType":"YulIdentifier","src":"190237:6:22"},"nativeSrc":"190237:16:22","nodeType":"YulFunctionCall","src":"190237:16:22"},"nativeSrc":"190237:16:22","nodeType":"YulExpressionStatement","src":"190237:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37321,"isOffset":false,"isSlot":false,"src":"190134:2:22","valueSize":1},{"declaration":37324,"isOffset":false,"isSlot":false,"src":"190163:2:22","valueSize":1},{"declaration":37327,"isOffset":false,"isSlot":false,"src":"190192:2:22","valueSize":1},{"declaration":37330,"isOffset":false,"isSlot":false,"src":"190221:2:22","valueSize":1},{"declaration":37333,"isOffset":false,"isSlot":false,"src":"190250:2:22","valueSize":1}],"id":37341,"nodeType":"InlineAssembly","src":"190098:165:22"}]},"id":37343,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"189412:3:22","nodeType":"FunctionDefinition","parameters":{"id":37318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37311,"mutability":"mutable","name":"p0","nameLocation":"189421:2:22","nodeType":"VariableDeclaration","scope":37343,"src":"189416:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37310,"name":"bool","nodeType":"ElementaryTypeName","src":"189416:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37313,"mutability":"mutable","name":"p1","nameLocation":"189430:2:22","nodeType":"VariableDeclaration","scope":37343,"src":"189425:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37312,"name":"bool","nodeType":"ElementaryTypeName","src":"189425:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37315,"mutability":"mutable","name":"p2","nameLocation":"189442:2:22","nodeType":"VariableDeclaration","scope":37343,"src":"189434:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37314,"name":"address","nodeType":"ElementaryTypeName","src":"189434:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37317,"mutability":"mutable","name":"p3","nameLocation":"189454:2:22","nodeType":"VariableDeclaration","scope":37343,"src":"189446:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37316,"name":"uint256","nodeType":"ElementaryTypeName","src":"189446:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"189415:42:22"},"returnParameters":{"id":37319,"nodeType":"ParameterList","parameters":[],"src":"189472:0:22"},"scope":44426,"src":"189403:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37382,"nodeType":"Block","src":"190344:1345:22","statements":[{"assignments":[37355],"declarations":[{"constant":false,"id":37355,"mutability":"mutable","name":"m0","nameLocation":"190362:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190354:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190354:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37356,"nodeType":"VariableDeclarationStatement","src":"190354:10:22"},{"assignments":[37358],"declarations":[{"constant":false,"id":37358,"mutability":"mutable","name":"m1","nameLocation":"190382:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190374:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190374:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37359,"nodeType":"VariableDeclarationStatement","src":"190374:10:22"},{"assignments":[37361],"declarations":[{"constant":false,"id":37361,"mutability":"mutable","name":"m2","nameLocation":"190402:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190394:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190394:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37362,"nodeType":"VariableDeclarationStatement","src":"190394:10:22"},{"assignments":[37364],"declarations":[{"constant":false,"id":37364,"mutability":"mutable","name":"m3","nameLocation":"190422:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190414:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190414:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37365,"nodeType":"VariableDeclarationStatement","src":"190414:10:22"},{"assignments":[37367],"declarations":[{"constant":false,"id":37367,"mutability":"mutable","name":"m4","nameLocation":"190442:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190434:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37366,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190434:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37368,"nodeType":"VariableDeclarationStatement","src":"190434:10:22"},{"assignments":[37370],"declarations":[{"constant":false,"id":37370,"mutability":"mutable","name":"m5","nameLocation":"190462:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190454:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190454:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37371,"nodeType":"VariableDeclarationStatement","src":"190454:10:22"},{"assignments":[37373],"declarations":[{"constant":false,"id":37373,"mutability":"mutable","name":"m6","nameLocation":"190482:2:22","nodeType":"VariableDeclaration","scope":37382,"src":"190474:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190474:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37374,"nodeType":"VariableDeclarationStatement","src":"190474:10:22"},{"AST":{"nativeSrc":"190546:825:22","nodeType":"YulBlock","src":"190546:825:22","statements":[{"body":{"nativeSrc":"190589:313:22","nodeType":"YulBlock","src":"190589:313:22","statements":[{"nativeSrc":"190607:15:22","nodeType":"YulVariableDeclaration","src":"190607:15:22","value":{"kind":"number","nativeSrc":"190621:1:22","nodeType":"YulLiteral","src":"190621:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"190611:6:22","nodeType":"YulTypedName","src":"190611:6:22","type":""}]},{"body":{"nativeSrc":"190692:40:22","nodeType":"YulBlock","src":"190692:40:22","statements":[{"body":{"nativeSrc":"190721:9:22","nodeType":"YulBlock","src":"190721:9:22","statements":[{"nativeSrc":"190723:5:22","nodeType":"YulBreak","src":"190723:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"190709:6:22","nodeType":"YulIdentifier","src":"190709:6:22"},{"name":"w","nativeSrc":"190717:1:22","nodeType":"YulIdentifier","src":"190717:1:22"}],"functionName":{"name":"byte","nativeSrc":"190704:4:22","nodeType":"YulIdentifier","src":"190704:4:22"},"nativeSrc":"190704:15:22","nodeType":"YulFunctionCall","src":"190704:15:22"}],"functionName":{"name":"iszero","nativeSrc":"190697:6:22","nodeType":"YulIdentifier","src":"190697:6:22"},"nativeSrc":"190697:23:22","nodeType":"YulFunctionCall","src":"190697:23:22"},"nativeSrc":"190694:36:22","nodeType":"YulIf","src":"190694:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"190649:6:22","nodeType":"YulIdentifier","src":"190649:6:22"},{"kind":"number","nativeSrc":"190657:4:22","nodeType":"YulLiteral","src":"190657:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"190646:2:22","nodeType":"YulIdentifier","src":"190646:2:22"},"nativeSrc":"190646:16:22","nodeType":"YulFunctionCall","src":"190646:16:22"},"nativeSrc":"190639:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"190663:28:22","nodeType":"YulBlock","src":"190663:28:22","statements":[{"nativeSrc":"190665:24:22","nodeType":"YulAssignment","src":"190665:24:22","value":{"arguments":[{"name":"length","nativeSrc":"190679:6:22","nodeType":"YulIdentifier","src":"190679:6:22"},{"kind":"number","nativeSrc":"190687:1:22","nodeType":"YulLiteral","src":"190687:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"190675:3:22","nodeType":"YulIdentifier","src":"190675:3:22"},"nativeSrc":"190675:14:22","nodeType":"YulFunctionCall","src":"190675:14:22"},"variableNames":[{"name":"length","nativeSrc":"190665:6:22","nodeType":"YulIdentifier","src":"190665:6:22"}]}]},"pre":{"nativeSrc":"190643:2:22","nodeType":"YulBlock","src":"190643:2:22","statements":[]},"src":"190639:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"190756:3:22","nodeType":"YulIdentifier","src":"190756:3:22"},{"name":"length","nativeSrc":"190761:6:22","nodeType":"YulIdentifier","src":"190761:6:22"}],"functionName":{"name":"mstore","nativeSrc":"190749:6:22","nodeType":"YulIdentifier","src":"190749:6:22"},"nativeSrc":"190749:19:22","nodeType":"YulFunctionCall","src":"190749:19:22"},"nativeSrc":"190749:19:22","nodeType":"YulExpressionStatement","src":"190749:19:22"},{"nativeSrc":"190785:37:22","nodeType":"YulVariableDeclaration","src":"190785:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"190802:3:22","nodeType":"YulLiteral","src":"190802:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"190811:1:22","nodeType":"YulLiteral","src":"190811:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"190814:6:22","nodeType":"YulIdentifier","src":"190814:6:22"}],"functionName":{"name":"shl","nativeSrc":"190807:3:22","nodeType":"YulIdentifier","src":"190807:3:22"},"nativeSrc":"190807:14:22","nodeType":"YulFunctionCall","src":"190807:14:22"}],"functionName":{"name":"sub","nativeSrc":"190798:3:22","nodeType":"YulIdentifier","src":"190798:3:22"},"nativeSrc":"190798:24:22","nodeType":"YulFunctionCall","src":"190798:24:22"},"variables":[{"name":"shift","nativeSrc":"190789:5:22","nodeType":"YulTypedName","src":"190789:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"190850:3:22","nodeType":"YulIdentifier","src":"190850:3:22"},{"kind":"number","nativeSrc":"190855:4:22","nodeType":"YulLiteral","src":"190855:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"190846:3:22","nodeType":"YulIdentifier","src":"190846:3:22"},"nativeSrc":"190846:14:22","nodeType":"YulFunctionCall","src":"190846:14:22"},{"arguments":[{"name":"shift","nativeSrc":"190866:5:22","nodeType":"YulIdentifier","src":"190866:5:22"},{"arguments":[{"name":"shift","nativeSrc":"190877:5:22","nodeType":"YulIdentifier","src":"190877:5:22"},{"name":"w","nativeSrc":"190884:1:22","nodeType":"YulIdentifier","src":"190884:1:22"}],"functionName":{"name":"shr","nativeSrc":"190873:3:22","nodeType":"YulIdentifier","src":"190873:3:22"},"nativeSrc":"190873:13:22","nodeType":"YulFunctionCall","src":"190873:13:22"}],"functionName":{"name":"shl","nativeSrc":"190862:3:22","nodeType":"YulIdentifier","src":"190862:3:22"},"nativeSrc":"190862:25:22","nodeType":"YulFunctionCall","src":"190862:25:22"}],"functionName":{"name":"mstore","nativeSrc":"190839:6:22","nodeType":"YulIdentifier","src":"190839:6:22"},"nativeSrc":"190839:49:22","nodeType":"YulFunctionCall","src":"190839:49:22"},"nativeSrc":"190839:49:22","nodeType":"YulExpressionStatement","src":"190839:49:22"}]},"name":"writeString","nativeSrc":"190560:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"190581:3:22","nodeType":"YulTypedName","src":"190581:3:22","type":""},{"name":"w","nativeSrc":"190586:1:22","nodeType":"YulTypedName","src":"190586:1:22","type":""}],"src":"190560:342:22"},{"nativeSrc":"190915:17:22","nodeType":"YulAssignment","src":"190915:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"190927:4:22","nodeType":"YulLiteral","src":"190927:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"190921:5:22","nodeType":"YulIdentifier","src":"190921:5:22"},"nativeSrc":"190921:11:22","nodeType":"YulFunctionCall","src":"190921:11:22"},"variableNames":[{"name":"m0","nativeSrc":"190915:2:22","nodeType":"YulIdentifier","src":"190915:2:22"}]},{"nativeSrc":"190945:17:22","nodeType":"YulAssignment","src":"190945:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"190957:4:22","nodeType":"YulLiteral","src":"190957:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"190951:5:22","nodeType":"YulIdentifier","src":"190951:5:22"},"nativeSrc":"190951:11:22","nodeType":"YulFunctionCall","src":"190951:11:22"},"variableNames":[{"name":"m1","nativeSrc":"190945:2:22","nodeType":"YulIdentifier","src":"190945:2:22"}]},{"nativeSrc":"190975:17:22","nodeType":"YulAssignment","src":"190975:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"190987:4:22","nodeType":"YulLiteral","src":"190987:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"190981:5:22","nodeType":"YulIdentifier","src":"190981:5:22"},"nativeSrc":"190981:11:22","nodeType":"YulFunctionCall","src":"190981:11:22"},"variableNames":[{"name":"m2","nativeSrc":"190975:2:22","nodeType":"YulIdentifier","src":"190975:2:22"}]},{"nativeSrc":"191005:17:22","nodeType":"YulAssignment","src":"191005:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191017:4:22","nodeType":"YulLiteral","src":"191017:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"191011:5:22","nodeType":"YulIdentifier","src":"191011:5:22"},"nativeSrc":"191011:11:22","nodeType":"YulFunctionCall","src":"191011:11:22"},"variableNames":[{"name":"m3","nativeSrc":"191005:2:22","nodeType":"YulIdentifier","src":"191005:2:22"}]},{"nativeSrc":"191035:17:22","nodeType":"YulAssignment","src":"191035:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191047:4:22","nodeType":"YulLiteral","src":"191047:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"191041:5:22","nodeType":"YulIdentifier","src":"191041:5:22"},"nativeSrc":"191041:11:22","nodeType":"YulFunctionCall","src":"191041:11:22"},"variableNames":[{"name":"m4","nativeSrc":"191035:2:22","nodeType":"YulIdentifier","src":"191035:2:22"}]},{"nativeSrc":"191065:17:22","nodeType":"YulAssignment","src":"191065:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191077:4:22","nodeType":"YulLiteral","src":"191077:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"191071:5:22","nodeType":"YulIdentifier","src":"191071:5:22"},"nativeSrc":"191071:11:22","nodeType":"YulFunctionCall","src":"191071:11:22"},"variableNames":[{"name":"m5","nativeSrc":"191065:2:22","nodeType":"YulIdentifier","src":"191065:2:22"}]},{"nativeSrc":"191095:17:22","nodeType":"YulAssignment","src":"191095:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191107:4:22","nodeType":"YulLiteral","src":"191107:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"191101:5:22","nodeType":"YulIdentifier","src":"191101:5:22"},"nativeSrc":"191101:11:22","nodeType":"YulFunctionCall","src":"191101:11:22"},"variableNames":[{"name":"m6","nativeSrc":"191095:2:22","nodeType":"YulIdentifier","src":"191095:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191192:4:22","nodeType":"YulLiteral","src":"191192:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"191198:10:22","nodeType":"YulLiteral","src":"191198:10:22","type":"","value":"0xa0a47963"}],"functionName":{"name":"mstore","nativeSrc":"191185:6:22","nodeType":"YulIdentifier","src":"191185:6:22"},"nativeSrc":"191185:24:22","nodeType":"YulFunctionCall","src":"191185:24:22"},"nativeSrc":"191185:24:22","nodeType":"YulExpressionStatement","src":"191185:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191229:4:22","nodeType":"YulLiteral","src":"191229:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"191235:2:22","nodeType":"YulIdentifier","src":"191235:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191222:6:22","nodeType":"YulIdentifier","src":"191222:6:22"},"nativeSrc":"191222:16:22","nodeType":"YulFunctionCall","src":"191222:16:22"},"nativeSrc":"191222:16:22","nodeType":"YulExpressionStatement","src":"191222:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191258:4:22","nodeType":"YulLiteral","src":"191258:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"191264:2:22","nodeType":"YulIdentifier","src":"191264:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191251:6:22","nodeType":"YulIdentifier","src":"191251:6:22"},"nativeSrc":"191251:16:22","nodeType":"YulFunctionCall","src":"191251:16:22"},"nativeSrc":"191251:16:22","nodeType":"YulExpressionStatement","src":"191251:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191287:4:22","nodeType":"YulLiteral","src":"191287:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"191293:2:22","nodeType":"YulIdentifier","src":"191293:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191280:6:22","nodeType":"YulIdentifier","src":"191280:6:22"},"nativeSrc":"191280:16:22","nodeType":"YulFunctionCall","src":"191280:16:22"},"nativeSrc":"191280:16:22","nodeType":"YulExpressionStatement","src":"191280:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191316:4:22","nodeType":"YulLiteral","src":"191316:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"191322:4:22","nodeType":"YulLiteral","src":"191322:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"191309:6:22","nodeType":"YulIdentifier","src":"191309:6:22"},"nativeSrc":"191309:18:22","nodeType":"YulFunctionCall","src":"191309:18:22"},"nativeSrc":"191309:18:22","nodeType":"YulExpressionStatement","src":"191309:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191352:4:22","nodeType":"YulLiteral","src":"191352:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"191358:2:22","nodeType":"YulIdentifier","src":"191358:2:22"}],"functionName":{"name":"writeString","nativeSrc":"191340:11:22","nodeType":"YulIdentifier","src":"191340:11:22"},"nativeSrc":"191340:21:22","nodeType":"YulFunctionCall","src":"191340:21:22"},"nativeSrc":"191340:21:22","nodeType":"YulExpressionStatement","src":"191340:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37355,"isOffset":false,"isSlot":false,"src":"190915:2:22","valueSize":1},{"declaration":37358,"isOffset":false,"isSlot":false,"src":"190945:2:22","valueSize":1},{"declaration":37361,"isOffset":false,"isSlot":false,"src":"190975:2:22","valueSize":1},{"declaration":37364,"isOffset":false,"isSlot":false,"src":"191005:2:22","valueSize":1},{"declaration":37367,"isOffset":false,"isSlot":false,"src":"191035:2:22","valueSize":1},{"declaration":37370,"isOffset":false,"isSlot":false,"src":"191065:2:22","valueSize":1},{"declaration":37373,"isOffset":false,"isSlot":false,"src":"191095:2:22","valueSize":1},{"declaration":37345,"isOffset":false,"isSlot":false,"src":"191235:2:22","valueSize":1},{"declaration":37347,"isOffset":false,"isSlot":false,"src":"191264:2:22","valueSize":1},{"declaration":37349,"isOffset":false,"isSlot":false,"src":"191293:2:22","valueSize":1},{"declaration":37351,"isOffset":false,"isSlot":false,"src":"191358:2:22","valueSize":1}],"id":37375,"nodeType":"InlineAssembly","src":"190537:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191396:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191402:4:22","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":37376,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"191380:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"191380:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37380,"nodeType":"ExpressionStatement","src":"191380:27:22"},{"AST":{"nativeSrc":"191469:214:22","nodeType":"YulBlock","src":"191469:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"191490:4:22","nodeType":"YulLiteral","src":"191490:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"191496:2:22","nodeType":"YulIdentifier","src":"191496:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191483:6:22","nodeType":"YulIdentifier","src":"191483:6:22"},"nativeSrc":"191483:16:22","nodeType":"YulFunctionCall","src":"191483:16:22"},"nativeSrc":"191483:16:22","nodeType":"YulExpressionStatement","src":"191483:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191519:4:22","nodeType":"YulLiteral","src":"191519:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"191525:2:22","nodeType":"YulIdentifier","src":"191525:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191512:6:22","nodeType":"YulIdentifier","src":"191512:6:22"},"nativeSrc":"191512:16:22","nodeType":"YulFunctionCall","src":"191512:16:22"},"nativeSrc":"191512:16:22","nodeType":"YulExpressionStatement","src":"191512:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191548:4:22","nodeType":"YulLiteral","src":"191548:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"191554:2:22","nodeType":"YulIdentifier","src":"191554:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191541:6:22","nodeType":"YulIdentifier","src":"191541:6:22"},"nativeSrc":"191541:16:22","nodeType":"YulFunctionCall","src":"191541:16:22"},"nativeSrc":"191541:16:22","nodeType":"YulExpressionStatement","src":"191541:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191577:4:22","nodeType":"YulLiteral","src":"191577:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"191583:2:22","nodeType":"YulIdentifier","src":"191583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191570:6:22","nodeType":"YulIdentifier","src":"191570:6:22"},"nativeSrc":"191570:16:22","nodeType":"YulFunctionCall","src":"191570:16:22"},"nativeSrc":"191570:16:22","nodeType":"YulExpressionStatement","src":"191570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191606:4:22","nodeType":"YulLiteral","src":"191606:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"191612:2:22","nodeType":"YulIdentifier","src":"191612:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191599:6:22","nodeType":"YulIdentifier","src":"191599:6:22"},"nativeSrc":"191599:16:22","nodeType":"YulFunctionCall","src":"191599:16:22"},"nativeSrc":"191599:16:22","nodeType":"YulExpressionStatement","src":"191599:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191635:4:22","nodeType":"YulLiteral","src":"191635:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"191641:2:22","nodeType":"YulIdentifier","src":"191641:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191628:6:22","nodeType":"YulIdentifier","src":"191628:6:22"},"nativeSrc":"191628:16:22","nodeType":"YulFunctionCall","src":"191628:16:22"},"nativeSrc":"191628:16:22","nodeType":"YulExpressionStatement","src":"191628:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191664:4:22","nodeType":"YulLiteral","src":"191664:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"191670:2:22","nodeType":"YulIdentifier","src":"191670:2:22"}],"functionName":{"name":"mstore","nativeSrc":"191657:6:22","nodeType":"YulIdentifier","src":"191657:6:22"},"nativeSrc":"191657:16:22","nodeType":"YulFunctionCall","src":"191657:16:22"},"nativeSrc":"191657:16:22","nodeType":"YulExpressionStatement","src":"191657:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37355,"isOffset":false,"isSlot":false,"src":"191496:2:22","valueSize":1},{"declaration":37358,"isOffset":false,"isSlot":false,"src":"191525:2:22","valueSize":1},{"declaration":37361,"isOffset":false,"isSlot":false,"src":"191554:2:22","valueSize":1},{"declaration":37364,"isOffset":false,"isSlot":false,"src":"191583:2:22","valueSize":1},{"declaration":37367,"isOffset":false,"isSlot":false,"src":"191612:2:22","valueSize":1},{"declaration":37370,"isOffset":false,"isSlot":false,"src":"191641:2:22","valueSize":1},{"declaration":37373,"isOffset":false,"isSlot":false,"src":"191670:2:22","valueSize":1}],"id":37381,"nodeType":"InlineAssembly","src":"191460:223:22"}]},"id":37383,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"190284:3:22","nodeType":"FunctionDefinition","parameters":{"id":37352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37345,"mutability":"mutable","name":"p0","nameLocation":"190293:2:22","nodeType":"VariableDeclaration","scope":37383,"src":"190288:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37344,"name":"bool","nodeType":"ElementaryTypeName","src":"190288:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37347,"mutability":"mutable","name":"p1","nameLocation":"190302:2:22","nodeType":"VariableDeclaration","scope":37383,"src":"190297:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37346,"name":"bool","nodeType":"ElementaryTypeName","src":"190297:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37349,"mutability":"mutable","name":"p2","nameLocation":"190314:2:22","nodeType":"VariableDeclaration","scope":37383,"src":"190306:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37348,"name":"address","nodeType":"ElementaryTypeName","src":"190306:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37351,"mutability":"mutable","name":"p3","nameLocation":"190326:2:22","nodeType":"VariableDeclaration","scope":37383,"src":"190318:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190318:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"190287:42:22"},"returnParameters":{"id":37353,"nodeType":"ParameterList","parameters":[],"src":"190344:0:22"},"scope":44426,"src":"190275:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37416,"nodeType":"Block","src":"191761:794:22","statements":[{"assignments":[37395],"declarations":[{"constant":false,"id":37395,"mutability":"mutable","name":"m0","nameLocation":"191779:2:22","nodeType":"VariableDeclaration","scope":37416,"src":"191771:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191771:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37396,"nodeType":"VariableDeclarationStatement","src":"191771:10:22"},{"assignments":[37398],"declarations":[{"constant":false,"id":37398,"mutability":"mutable","name":"m1","nameLocation":"191799:2:22","nodeType":"VariableDeclaration","scope":37416,"src":"191791:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191791:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37399,"nodeType":"VariableDeclarationStatement","src":"191791:10:22"},{"assignments":[37401],"declarations":[{"constant":false,"id":37401,"mutability":"mutable","name":"m2","nameLocation":"191819:2:22","nodeType":"VariableDeclaration","scope":37416,"src":"191811:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37400,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191811:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37402,"nodeType":"VariableDeclarationStatement","src":"191811:10:22"},{"assignments":[37404],"declarations":[{"constant":false,"id":37404,"mutability":"mutable","name":"m3","nameLocation":"191839:2:22","nodeType":"VariableDeclaration","scope":37416,"src":"191831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191831:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37405,"nodeType":"VariableDeclarationStatement","src":"191831:10:22"},{"assignments":[37407],"declarations":[{"constant":false,"id":37407,"mutability":"mutable","name":"m4","nameLocation":"191859:2:22","nodeType":"VariableDeclaration","scope":37416,"src":"191851:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191851:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37408,"nodeType":"VariableDeclarationStatement","src":"191851:10:22"},{"AST":{"nativeSrc":"191923:372:22","nodeType":"YulBlock","src":"191923:372:22","statements":[{"nativeSrc":"191937:17:22","nodeType":"YulAssignment","src":"191937:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191949:4:22","nodeType":"YulLiteral","src":"191949:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"191943:5:22","nodeType":"YulIdentifier","src":"191943:5:22"},"nativeSrc":"191943:11:22","nodeType":"YulFunctionCall","src":"191943:11:22"},"variableNames":[{"name":"m0","nativeSrc":"191937:2:22","nodeType":"YulIdentifier","src":"191937:2:22"}]},{"nativeSrc":"191967:17:22","nodeType":"YulAssignment","src":"191967:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"191979:4:22","nodeType":"YulLiteral","src":"191979:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"191973:5:22","nodeType":"YulIdentifier","src":"191973:5:22"},"nativeSrc":"191973:11:22","nodeType":"YulFunctionCall","src":"191973:11:22"},"variableNames":[{"name":"m1","nativeSrc":"191967:2:22","nodeType":"YulIdentifier","src":"191967:2:22"}]},{"nativeSrc":"191997:17:22","nodeType":"YulAssignment","src":"191997:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192009:4:22","nodeType":"YulLiteral","src":"192009:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192003:5:22","nodeType":"YulIdentifier","src":"192003:5:22"},"nativeSrc":"192003:11:22","nodeType":"YulFunctionCall","src":"192003:11:22"},"variableNames":[{"name":"m2","nativeSrc":"191997:2:22","nodeType":"YulIdentifier","src":"191997:2:22"}]},{"nativeSrc":"192027:17:22","nodeType":"YulAssignment","src":"192027:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192039:4:22","nodeType":"YulLiteral","src":"192039:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192033:5:22","nodeType":"YulIdentifier","src":"192033:5:22"},"nativeSrc":"192033:11:22","nodeType":"YulFunctionCall","src":"192033:11:22"},"variableNames":[{"name":"m3","nativeSrc":"192027:2:22","nodeType":"YulIdentifier","src":"192027:2:22"}]},{"nativeSrc":"192057:17:22","nodeType":"YulAssignment","src":"192057:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192069:4:22","nodeType":"YulLiteral","src":"192069:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192063:5:22","nodeType":"YulIdentifier","src":"192063:5:22"},"nativeSrc":"192063:11:22","nodeType":"YulFunctionCall","src":"192063:11:22"},"variableNames":[{"name":"m4","nativeSrc":"192057:2:22","nodeType":"YulIdentifier","src":"192057:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192152:4:22","nodeType":"YulLiteral","src":"192152:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"192158:10:22","nodeType":"YulLiteral","src":"192158:10:22","type":"","value":"0x8c329b1a"}],"functionName":{"name":"mstore","nativeSrc":"192145:6:22","nodeType":"YulIdentifier","src":"192145:6:22"},"nativeSrc":"192145:24:22","nodeType":"YulFunctionCall","src":"192145:24:22"},"nativeSrc":"192145:24:22","nodeType":"YulExpressionStatement","src":"192145:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192189:4:22","nodeType":"YulLiteral","src":"192189:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"192195:2:22","nodeType":"YulIdentifier","src":"192195:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192182:6:22","nodeType":"YulIdentifier","src":"192182:6:22"},"nativeSrc":"192182:16:22","nodeType":"YulFunctionCall","src":"192182:16:22"},"nativeSrc":"192182:16:22","nodeType":"YulExpressionStatement","src":"192182:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192218:4:22","nodeType":"YulLiteral","src":"192218:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"192224:2:22","nodeType":"YulIdentifier","src":"192224:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192211:6:22","nodeType":"YulIdentifier","src":"192211:6:22"},"nativeSrc":"192211:16:22","nodeType":"YulFunctionCall","src":"192211:16:22"},"nativeSrc":"192211:16:22","nodeType":"YulExpressionStatement","src":"192211:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192247:4:22","nodeType":"YulLiteral","src":"192247:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"192253:2:22","nodeType":"YulIdentifier","src":"192253:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192240:6:22","nodeType":"YulIdentifier","src":"192240:6:22"},"nativeSrc":"192240:16:22","nodeType":"YulFunctionCall","src":"192240:16:22"},"nativeSrc":"192240:16:22","nodeType":"YulExpressionStatement","src":"192240:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192276:4:22","nodeType":"YulLiteral","src":"192276:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"192282:2:22","nodeType":"YulIdentifier","src":"192282:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192269:6:22","nodeType":"YulIdentifier","src":"192269:6:22"},"nativeSrc":"192269:16:22","nodeType":"YulFunctionCall","src":"192269:16:22"},"nativeSrc":"192269:16:22","nodeType":"YulExpressionStatement","src":"192269:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37395,"isOffset":false,"isSlot":false,"src":"191937:2:22","valueSize":1},{"declaration":37398,"isOffset":false,"isSlot":false,"src":"191967:2:22","valueSize":1},{"declaration":37401,"isOffset":false,"isSlot":false,"src":"191997:2:22","valueSize":1},{"declaration":37404,"isOffset":false,"isSlot":false,"src":"192027:2:22","valueSize":1},{"declaration":37407,"isOffset":false,"isSlot":false,"src":"192057:2:22","valueSize":1},{"declaration":37385,"isOffset":false,"isSlot":false,"src":"192195:2:22","valueSize":1},{"declaration":37387,"isOffset":false,"isSlot":false,"src":"192224:2:22","valueSize":1},{"declaration":37389,"isOffset":false,"isSlot":false,"src":"192253:2:22","valueSize":1},{"declaration":37391,"isOffset":false,"isSlot":false,"src":"192282:2:22","valueSize":1}],"id":37409,"nodeType":"InlineAssembly","src":"191914:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192320:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192326:4:22","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":37410,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"192304:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192304:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37414,"nodeType":"ExpressionStatement","src":"192304:27:22"},{"AST":{"nativeSrc":"192393:156:22","nodeType":"YulBlock","src":"192393:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"192414:4:22","nodeType":"YulLiteral","src":"192414:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"192420:2:22","nodeType":"YulIdentifier","src":"192420:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192407:6:22","nodeType":"YulIdentifier","src":"192407:6:22"},"nativeSrc":"192407:16:22","nodeType":"YulFunctionCall","src":"192407:16:22"},"nativeSrc":"192407:16:22","nodeType":"YulExpressionStatement","src":"192407:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192443:4:22","nodeType":"YulLiteral","src":"192443:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"192449:2:22","nodeType":"YulIdentifier","src":"192449:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192436:6:22","nodeType":"YulIdentifier","src":"192436:6:22"},"nativeSrc":"192436:16:22","nodeType":"YulFunctionCall","src":"192436:16:22"},"nativeSrc":"192436:16:22","nodeType":"YulExpressionStatement","src":"192436:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192472:4:22","nodeType":"YulLiteral","src":"192472:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"192478:2:22","nodeType":"YulIdentifier","src":"192478:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192465:6:22","nodeType":"YulIdentifier","src":"192465:6:22"},"nativeSrc":"192465:16:22","nodeType":"YulFunctionCall","src":"192465:16:22"},"nativeSrc":"192465:16:22","nodeType":"YulExpressionStatement","src":"192465:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192501:4:22","nodeType":"YulLiteral","src":"192501:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"192507:2:22","nodeType":"YulIdentifier","src":"192507:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192494:6:22","nodeType":"YulIdentifier","src":"192494:6:22"},"nativeSrc":"192494:16:22","nodeType":"YulFunctionCall","src":"192494:16:22"},"nativeSrc":"192494:16:22","nodeType":"YulExpressionStatement","src":"192494:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192530:4:22","nodeType":"YulLiteral","src":"192530:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"192536:2:22","nodeType":"YulIdentifier","src":"192536:2:22"}],"functionName":{"name":"mstore","nativeSrc":"192523:6:22","nodeType":"YulIdentifier","src":"192523:6:22"},"nativeSrc":"192523:16:22","nodeType":"YulFunctionCall","src":"192523:16:22"},"nativeSrc":"192523:16:22","nodeType":"YulExpressionStatement","src":"192523:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37395,"isOffset":false,"isSlot":false,"src":"192420:2:22","valueSize":1},{"declaration":37398,"isOffset":false,"isSlot":false,"src":"192449:2:22","valueSize":1},{"declaration":37401,"isOffset":false,"isSlot":false,"src":"192478:2:22","valueSize":1},{"declaration":37404,"isOffset":false,"isSlot":false,"src":"192507:2:22","valueSize":1},{"declaration":37407,"isOffset":false,"isSlot":false,"src":"192536:2:22","valueSize":1}],"id":37415,"nodeType":"InlineAssembly","src":"192384:165:22"}]},"id":37417,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"191704:3:22","nodeType":"FunctionDefinition","parameters":{"id":37392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37385,"mutability":"mutable","name":"p0","nameLocation":"191713:2:22","nodeType":"VariableDeclaration","scope":37417,"src":"191708:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37384,"name":"bool","nodeType":"ElementaryTypeName","src":"191708:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37387,"mutability":"mutable","name":"p1","nameLocation":"191722:2:22","nodeType":"VariableDeclaration","scope":37417,"src":"191717:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37386,"name":"bool","nodeType":"ElementaryTypeName","src":"191717:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37389,"mutability":"mutable","name":"p2","nameLocation":"191731:2:22","nodeType":"VariableDeclaration","scope":37417,"src":"191726:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37388,"name":"bool","nodeType":"ElementaryTypeName","src":"191726:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37391,"mutability":"mutable","name":"p3","nameLocation":"191743:2:22","nodeType":"VariableDeclaration","scope":37417,"src":"191735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37390,"name":"address","nodeType":"ElementaryTypeName","src":"191735:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"191707:39:22"},"returnParameters":{"id":37393,"nodeType":"ParameterList","parameters":[],"src":"191761:0:22"},"scope":44426,"src":"191695:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37450,"nodeType":"Block","src":"192624:791:22","statements":[{"assignments":[37429],"declarations":[{"constant":false,"id":37429,"mutability":"mutable","name":"m0","nameLocation":"192642:2:22","nodeType":"VariableDeclaration","scope":37450,"src":"192634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192634:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37430,"nodeType":"VariableDeclarationStatement","src":"192634:10:22"},{"assignments":[37432],"declarations":[{"constant":false,"id":37432,"mutability":"mutable","name":"m1","nameLocation":"192662:2:22","nodeType":"VariableDeclaration","scope":37450,"src":"192654:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192654:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37433,"nodeType":"VariableDeclarationStatement","src":"192654:10:22"},{"assignments":[37435],"declarations":[{"constant":false,"id":37435,"mutability":"mutable","name":"m2","nameLocation":"192682:2:22","nodeType":"VariableDeclaration","scope":37450,"src":"192674:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192674:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37436,"nodeType":"VariableDeclarationStatement","src":"192674:10:22"},{"assignments":[37438],"declarations":[{"constant":false,"id":37438,"mutability":"mutable","name":"m3","nameLocation":"192702:2:22","nodeType":"VariableDeclaration","scope":37450,"src":"192694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192694:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37439,"nodeType":"VariableDeclarationStatement","src":"192694:10:22"},{"assignments":[37441],"declarations":[{"constant":false,"id":37441,"mutability":"mutable","name":"m4","nameLocation":"192722:2:22","nodeType":"VariableDeclaration","scope":37450,"src":"192714:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192714:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37442,"nodeType":"VariableDeclarationStatement","src":"192714:10:22"},{"AST":{"nativeSrc":"192786:369:22","nodeType":"YulBlock","src":"192786:369:22","statements":[{"nativeSrc":"192800:17:22","nodeType":"YulAssignment","src":"192800:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192812:4:22","nodeType":"YulLiteral","src":"192812:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"192806:5:22","nodeType":"YulIdentifier","src":"192806:5:22"},"nativeSrc":"192806:11:22","nodeType":"YulFunctionCall","src":"192806:11:22"},"variableNames":[{"name":"m0","nativeSrc":"192800:2:22","nodeType":"YulIdentifier","src":"192800:2:22"}]},{"nativeSrc":"192830:17:22","nodeType":"YulAssignment","src":"192830:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192842:4:22","nodeType":"YulLiteral","src":"192842:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"192836:5:22","nodeType":"YulIdentifier","src":"192836:5:22"},"nativeSrc":"192836:11:22","nodeType":"YulFunctionCall","src":"192836:11:22"},"variableNames":[{"name":"m1","nativeSrc":"192830:2:22","nodeType":"YulIdentifier","src":"192830:2:22"}]},{"nativeSrc":"192860:17:22","nodeType":"YulAssignment","src":"192860:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192872:4:22","nodeType":"YulLiteral","src":"192872:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192866:5:22","nodeType":"YulIdentifier","src":"192866:5:22"},"nativeSrc":"192866:11:22","nodeType":"YulFunctionCall","src":"192866:11:22"},"variableNames":[{"name":"m2","nativeSrc":"192860:2:22","nodeType":"YulIdentifier","src":"192860:2:22"}]},{"nativeSrc":"192890:17:22","nodeType":"YulAssignment","src":"192890:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192902:4:22","nodeType":"YulLiteral","src":"192902:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192896:5:22","nodeType":"YulIdentifier","src":"192896:5:22"},"nativeSrc":"192896:11:22","nodeType":"YulFunctionCall","src":"192896:11:22"},"variableNames":[{"name":"m3","nativeSrc":"192890:2:22","nodeType":"YulIdentifier","src":"192890:2:22"}]},{"nativeSrc":"192920:17:22","nodeType":"YulAssignment","src":"192920:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"192932:4:22","nodeType":"YulLiteral","src":"192932:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192926:5:22","nodeType":"YulIdentifier","src":"192926:5:22"},"nativeSrc":"192926:11:22","nodeType":"YulFunctionCall","src":"192926:11:22"},"variableNames":[{"name":"m4","nativeSrc":"192920:2:22","nodeType":"YulIdentifier","src":"192920:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193012:4:22","nodeType":"YulLiteral","src":"193012:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193018:10:22","nodeType":"YulLiteral","src":"193018:10:22","type":"","value":"0x3b2a5ce0"}],"functionName":{"name":"mstore","nativeSrc":"193005:6:22","nodeType":"YulIdentifier","src":"193005:6:22"},"nativeSrc":"193005:24:22","nodeType":"YulFunctionCall","src":"193005:24:22"},"nativeSrc":"193005:24:22","nodeType":"YulExpressionStatement","src":"193005:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193049:4:22","nodeType":"YulLiteral","src":"193049:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193055:2:22","nodeType":"YulIdentifier","src":"193055:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193042:6:22","nodeType":"YulIdentifier","src":"193042:6:22"},"nativeSrc":"193042:16:22","nodeType":"YulFunctionCall","src":"193042:16:22"},"nativeSrc":"193042:16:22","nodeType":"YulExpressionStatement","src":"193042:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193078:4:22","nodeType":"YulLiteral","src":"193078:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193084:2:22","nodeType":"YulIdentifier","src":"193084:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193071:6:22","nodeType":"YulIdentifier","src":"193071:6:22"},"nativeSrc":"193071:16:22","nodeType":"YulFunctionCall","src":"193071:16:22"},"nativeSrc":"193071:16:22","nodeType":"YulExpressionStatement","src":"193071:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193107:4:22","nodeType":"YulLiteral","src":"193107:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193113:2:22","nodeType":"YulIdentifier","src":"193113:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193100:6:22","nodeType":"YulIdentifier","src":"193100:6:22"},"nativeSrc":"193100:16:22","nodeType":"YulFunctionCall","src":"193100:16:22"},"nativeSrc":"193100:16:22","nodeType":"YulExpressionStatement","src":"193100:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193136:4:22","nodeType":"YulLiteral","src":"193136:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"193142:2:22","nodeType":"YulIdentifier","src":"193142:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193129:6:22","nodeType":"YulIdentifier","src":"193129:6:22"},"nativeSrc":"193129:16:22","nodeType":"YulFunctionCall","src":"193129:16:22"},"nativeSrc":"193129:16:22","nodeType":"YulExpressionStatement","src":"193129:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37429,"isOffset":false,"isSlot":false,"src":"192800:2:22","valueSize":1},{"declaration":37432,"isOffset":false,"isSlot":false,"src":"192830:2:22","valueSize":1},{"declaration":37435,"isOffset":false,"isSlot":false,"src":"192860:2:22","valueSize":1},{"declaration":37438,"isOffset":false,"isSlot":false,"src":"192890:2:22","valueSize":1},{"declaration":37441,"isOffset":false,"isSlot":false,"src":"192920:2:22","valueSize":1},{"declaration":37419,"isOffset":false,"isSlot":false,"src":"193055:2:22","valueSize":1},{"declaration":37421,"isOffset":false,"isSlot":false,"src":"193084:2:22","valueSize":1},{"declaration":37423,"isOffset":false,"isSlot":false,"src":"193113:2:22","valueSize":1},{"declaration":37425,"isOffset":false,"isSlot":false,"src":"193142:2:22","valueSize":1}],"id":37443,"nodeType":"InlineAssembly","src":"192777:378:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193180:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193186:4:22","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":37444,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"193164:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"193164:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37448,"nodeType":"ExpressionStatement","src":"193164:27:22"},{"AST":{"nativeSrc":"193253:156:22","nodeType":"YulBlock","src":"193253:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"193274:4:22","nodeType":"YulLiteral","src":"193274:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"193280:2:22","nodeType":"YulIdentifier","src":"193280:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193267:6:22","nodeType":"YulIdentifier","src":"193267:6:22"},"nativeSrc":"193267:16:22","nodeType":"YulFunctionCall","src":"193267:16:22"},"nativeSrc":"193267:16:22","nodeType":"YulExpressionStatement","src":"193267:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193303:4:22","nodeType":"YulLiteral","src":"193303:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"193309:2:22","nodeType":"YulIdentifier","src":"193309:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193296:6:22","nodeType":"YulIdentifier","src":"193296:6:22"},"nativeSrc":"193296:16:22","nodeType":"YulFunctionCall","src":"193296:16:22"},"nativeSrc":"193296:16:22","nodeType":"YulExpressionStatement","src":"193296:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193332:4:22","nodeType":"YulLiteral","src":"193332:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"193338:2:22","nodeType":"YulIdentifier","src":"193338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193325:6:22","nodeType":"YulIdentifier","src":"193325:6:22"},"nativeSrc":"193325:16:22","nodeType":"YulFunctionCall","src":"193325:16:22"},"nativeSrc":"193325:16:22","nodeType":"YulExpressionStatement","src":"193325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193361:4:22","nodeType":"YulLiteral","src":"193361:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"193367:2:22","nodeType":"YulIdentifier","src":"193367:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193354:6:22","nodeType":"YulIdentifier","src":"193354:6:22"},"nativeSrc":"193354:16:22","nodeType":"YulFunctionCall","src":"193354:16:22"},"nativeSrc":"193354:16:22","nodeType":"YulExpressionStatement","src":"193354:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193390:4:22","nodeType":"YulLiteral","src":"193390:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"193396:2:22","nodeType":"YulIdentifier","src":"193396:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193383:6:22","nodeType":"YulIdentifier","src":"193383:6:22"},"nativeSrc":"193383:16:22","nodeType":"YulFunctionCall","src":"193383:16:22"},"nativeSrc":"193383:16:22","nodeType":"YulExpressionStatement","src":"193383:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37429,"isOffset":false,"isSlot":false,"src":"193280:2:22","valueSize":1},{"declaration":37432,"isOffset":false,"isSlot":false,"src":"193309:2:22","valueSize":1},{"declaration":37435,"isOffset":false,"isSlot":false,"src":"193338:2:22","valueSize":1},{"declaration":37438,"isOffset":false,"isSlot":false,"src":"193367:2:22","valueSize":1},{"declaration":37441,"isOffset":false,"isSlot":false,"src":"193396:2:22","valueSize":1}],"id":37449,"nodeType":"InlineAssembly","src":"193244:165:22"}]},"id":37451,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"192570:3:22","nodeType":"FunctionDefinition","parameters":{"id":37426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37419,"mutability":"mutable","name":"p0","nameLocation":"192579:2:22","nodeType":"VariableDeclaration","scope":37451,"src":"192574:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37418,"name":"bool","nodeType":"ElementaryTypeName","src":"192574:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37421,"mutability":"mutable","name":"p1","nameLocation":"192588:2:22","nodeType":"VariableDeclaration","scope":37451,"src":"192583:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37420,"name":"bool","nodeType":"ElementaryTypeName","src":"192583:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37423,"mutability":"mutable","name":"p2","nameLocation":"192597:2:22","nodeType":"VariableDeclaration","scope":37451,"src":"192592:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37422,"name":"bool","nodeType":"ElementaryTypeName","src":"192592:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37425,"mutability":"mutable","name":"p3","nameLocation":"192606:2:22","nodeType":"VariableDeclaration","scope":37451,"src":"192601:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37424,"name":"bool","nodeType":"ElementaryTypeName","src":"192601:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"192573:36:22"},"returnParameters":{"id":37427,"nodeType":"ParameterList","parameters":[],"src":"192624:0:22"},"scope":44426,"src":"192561:854:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37484,"nodeType":"Block","src":"193487:794:22","statements":[{"assignments":[37463],"declarations":[{"constant":false,"id":37463,"mutability":"mutable","name":"m0","nameLocation":"193505:2:22","nodeType":"VariableDeclaration","scope":37484,"src":"193497:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193497:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37464,"nodeType":"VariableDeclarationStatement","src":"193497:10:22"},{"assignments":[37466],"declarations":[{"constant":false,"id":37466,"mutability":"mutable","name":"m1","nameLocation":"193525:2:22","nodeType":"VariableDeclaration","scope":37484,"src":"193517:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193517:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37467,"nodeType":"VariableDeclarationStatement","src":"193517:10:22"},{"assignments":[37469],"declarations":[{"constant":false,"id":37469,"mutability":"mutable","name":"m2","nameLocation":"193545:2:22","nodeType":"VariableDeclaration","scope":37484,"src":"193537:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193537:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37470,"nodeType":"VariableDeclarationStatement","src":"193537:10:22"},{"assignments":[37472],"declarations":[{"constant":false,"id":37472,"mutability":"mutable","name":"m3","nameLocation":"193565:2:22","nodeType":"VariableDeclaration","scope":37484,"src":"193557:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193557:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37473,"nodeType":"VariableDeclarationStatement","src":"193557:10:22"},{"assignments":[37475],"declarations":[{"constant":false,"id":37475,"mutability":"mutable","name":"m4","nameLocation":"193585:2:22","nodeType":"VariableDeclaration","scope":37484,"src":"193577:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193577:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37476,"nodeType":"VariableDeclarationStatement","src":"193577:10:22"},{"AST":{"nativeSrc":"193649:372:22","nodeType":"YulBlock","src":"193649:372:22","statements":[{"nativeSrc":"193663:17:22","nodeType":"YulAssignment","src":"193663:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"193675:4:22","nodeType":"YulLiteral","src":"193675:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"193669:5:22","nodeType":"YulIdentifier","src":"193669:5:22"},"nativeSrc":"193669:11:22","nodeType":"YulFunctionCall","src":"193669:11:22"},"variableNames":[{"name":"m0","nativeSrc":"193663:2:22","nodeType":"YulIdentifier","src":"193663:2:22"}]},{"nativeSrc":"193693:17:22","nodeType":"YulAssignment","src":"193693:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"193705:4:22","nodeType":"YulLiteral","src":"193705:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"193699:5:22","nodeType":"YulIdentifier","src":"193699:5:22"},"nativeSrc":"193699:11:22","nodeType":"YulFunctionCall","src":"193699:11:22"},"variableNames":[{"name":"m1","nativeSrc":"193693:2:22","nodeType":"YulIdentifier","src":"193693:2:22"}]},{"nativeSrc":"193723:17:22","nodeType":"YulAssignment","src":"193723:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"193735:4:22","nodeType":"YulLiteral","src":"193735:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"193729:5:22","nodeType":"YulIdentifier","src":"193729:5:22"},"nativeSrc":"193729:11:22","nodeType":"YulFunctionCall","src":"193729:11:22"},"variableNames":[{"name":"m2","nativeSrc":"193723:2:22","nodeType":"YulIdentifier","src":"193723:2:22"}]},{"nativeSrc":"193753:17:22","nodeType":"YulAssignment","src":"193753:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"193765:4:22","nodeType":"YulLiteral","src":"193765:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"193759:5:22","nodeType":"YulIdentifier","src":"193759:5:22"},"nativeSrc":"193759:11:22","nodeType":"YulFunctionCall","src":"193759:11:22"},"variableNames":[{"name":"m3","nativeSrc":"193753:2:22","nodeType":"YulIdentifier","src":"193753:2:22"}]},{"nativeSrc":"193783:17:22","nodeType":"YulAssignment","src":"193783:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"193795:4:22","nodeType":"YulLiteral","src":"193795:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"193789:5:22","nodeType":"YulIdentifier","src":"193789:5:22"},"nativeSrc":"193789:11:22","nodeType":"YulFunctionCall","src":"193789:11:22"},"variableNames":[{"name":"m4","nativeSrc":"193783:2:22","nodeType":"YulIdentifier","src":"193783:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193878:4:22","nodeType":"YulLiteral","src":"193878:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193884:10:22","nodeType":"YulLiteral","src":"193884:10:22","type":"","value":"0x6d7045c1"}],"functionName":{"name":"mstore","nativeSrc":"193871:6:22","nodeType":"YulIdentifier","src":"193871:6:22"},"nativeSrc":"193871:24:22","nodeType":"YulFunctionCall","src":"193871:24:22"},"nativeSrc":"193871:24:22","nodeType":"YulExpressionStatement","src":"193871:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193915:4:22","nodeType":"YulLiteral","src":"193915:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193921:2:22","nodeType":"YulIdentifier","src":"193921:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193908:6:22","nodeType":"YulIdentifier","src":"193908:6:22"},"nativeSrc":"193908:16:22","nodeType":"YulFunctionCall","src":"193908:16:22"},"nativeSrc":"193908:16:22","nodeType":"YulExpressionStatement","src":"193908:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193944:4:22","nodeType":"YulLiteral","src":"193944:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193950:2:22","nodeType":"YulIdentifier","src":"193950:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193937:6:22","nodeType":"YulIdentifier","src":"193937:6:22"},"nativeSrc":"193937:16:22","nodeType":"YulFunctionCall","src":"193937:16:22"},"nativeSrc":"193937:16:22","nodeType":"YulExpressionStatement","src":"193937:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193973:4:22","nodeType":"YulLiteral","src":"193973:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193979:2:22","nodeType":"YulIdentifier","src":"193979:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193966:6:22","nodeType":"YulIdentifier","src":"193966:6:22"},"nativeSrc":"193966:16:22","nodeType":"YulFunctionCall","src":"193966:16:22"},"nativeSrc":"193966:16:22","nodeType":"YulExpressionStatement","src":"193966:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194002:4:22","nodeType":"YulLiteral","src":"194002:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"194008:2:22","nodeType":"YulIdentifier","src":"194008:2:22"}],"functionName":{"name":"mstore","nativeSrc":"193995:6:22","nodeType":"YulIdentifier","src":"193995:6:22"},"nativeSrc":"193995:16:22","nodeType":"YulFunctionCall","src":"193995:16:22"},"nativeSrc":"193995:16:22","nodeType":"YulExpressionStatement","src":"193995:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37463,"isOffset":false,"isSlot":false,"src":"193663:2:22","valueSize":1},{"declaration":37466,"isOffset":false,"isSlot":false,"src":"193693:2:22","valueSize":1},{"declaration":37469,"isOffset":false,"isSlot":false,"src":"193723:2:22","valueSize":1},{"declaration":37472,"isOffset":false,"isSlot":false,"src":"193753:2:22","valueSize":1},{"declaration":37475,"isOffset":false,"isSlot":false,"src":"193783:2:22","valueSize":1},{"declaration":37453,"isOffset":false,"isSlot":false,"src":"193921:2:22","valueSize":1},{"declaration":37455,"isOffset":false,"isSlot":false,"src":"193950:2:22","valueSize":1},{"declaration":37457,"isOffset":false,"isSlot":false,"src":"193979:2:22","valueSize":1},{"declaration":37459,"isOffset":false,"isSlot":false,"src":"194008:2:22","valueSize":1}],"id":37477,"nodeType":"InlineAssembly","src":"193640:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194046:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194052:4:22","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":37478,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"194030:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"194030:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37482,"nodeType":"ExpressionStatement","src":"194030:27:22"},{"AST":{"nativeSrc":"194119:156:22","nodeType":"YulBlock","src":"194119:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194140:4:22","nodeType":"YulLiteral","src":"194140:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"194146:2:22","nodeType":"YulIdentifier","src":"194146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"194133:6:22","nodeType":"YulIdentifier","src":"194133:6:22"},"nativeSrc":"194133:16:22","nodeType":"YulFunctionCall","src":"194133:16:22"},"nativeSrc":"194133:16:22","nodeType":"YulExpressionStatement","src":"194133:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194169:4:22","nodeType":"YulLiteral","src":"194169:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"194175:2:22","nodeType":"YulIdentifier","src":"194175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"194162:6:22","nodeType":"YulIdentifier","src":"194162:6:22"},"nativeSrc":"194162:16:22","nodeType":"YulFunctionCall","src":"194162:16:22"},"nativeSrc":"194162:16:22","nodeType":"YulExpressionStatement","src":"194162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194198:4:22","nodeType":"YulLiteral","src":"194198:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"194204:2:22","nodeType":"YulIdentifier","src":"194204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"194191:6:22","nodeType":"YulIdentifier","src":"194191:6:22"},"nativeSrc":"194191:16:22","nodeType":"YulFunctionCall","src":"194191:16:22"},"nativeSrc":"194191:16:22","nodeType":"YulExpressionStatement","src":"194191:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194227:4:22","nodeType":"YulLiteral","src":"194227:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"194233:2:22","nodeType":"YulIdentifier","src":"194233:2:22"}],"functionName":{"name":"mstore","nativeSrc":"194220:6:22","nodeType":"YulIdentifier","src":"194220:6:22"},"nativeSrc":"194220:16:22","nodeType":"YulFunctionCall","src":"194220:16:22"},"nativeSrc":"194220:16:22","nodeType":"YulExpressionStatement","src":"194220:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194256:4:22","nodeType":"YulLiteral","src":"194256:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"194262:2:22","nodeType":"YulIdentifier","src":"194262:2:22"}],"functionName":{"name":"mstore","nativeSrc":"194249:6:22","nodeType":"YulIdentifier","src":"194249:6:22"},"nativeSrc":"194249:16:22","nodeType":"YulFunctionCall","src":"194249:16:22"},"nativeSrc":"194249:16:22","nodeType":"YulExpressionStatement","src":"194249:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37463,"isOffset":false,"isSlot":false,"src":"194146:2:22","valueSize":1},{"declaration":37466,"isOffset":false,"isSlot":false,"src":"194175:2:22","valueSize":1},{"declaration":37469,"isOffset":false,"isSlot":false,"src":"194204:2:22","valueSize":1},{"declaration":37472,"isOffset":false,"isSlot":false,"src":"194233:2:22","valueSize":1},{"declaration":37475,"isOffset":false,"isSlot":false,"src":"194262:2:22","valueSize":1}],"id":37483,"nodeType":"InlineAssembly","src":"194110:165:22"}]},"id":37485,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"193430:3:22","nodeType":"FunctionDefinition","parameters":{"id":37460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37453,"mutability":"mutable","name":"p0","nameLocation":"193439:2:22","nodeType":"VariableDeclaration","scope":37485,"src":"193434:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37452,"name":"bool","nodeType":"ElementaryTypeName","src":"193434:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37455,"mutability":"mutable","name":"p1","nameLocation":"193448:2:22","nodeType":"VariableDeclaration","scope":37485,"src":"193443:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37454,"name":"bool","nodeType":"ElementaryTypeName","src":"193443:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37457,"mutability":"mutable","name":"p2","nameLocation":"193457:2:22","nodeType":"VariableDeclaration","scope":37485,"src":"193452:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37456,"name":"bool","nodeType":"ElementaryTypeName","src":"193452:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37459,"mutability":"mutable","name":"p3","nameLocation":"193469:2:22","nodeType":"VariableDeclaration","scope":37485,"src":"193461:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37458,"name":"uint256","nodeType":"ElementaryTypeName","src":"193461:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"193433:39:22"},"returnParameters":{"id":37461,"nodeType":"ParameterList","parameters":[],"src":"193487:0:22"},"scope":44426,"src":"193421:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37524,"nodeType":"Block","src":"194353:1342:22","statements":[{"assignments":[37497],"declarations":[{"constant":false,"id":37497,"mutability":"mutable","name":"m0","nameLocation":"194371:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194363:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194363:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37498,"nodeType":"VariableDeclarationStatement","src":"194363:10:22"},{"assignments":[37500],"declarations":[{"constant":false,"id":37500,"mutability":"mutable","name":"m1","nameLocation":"194391:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194383:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37501,"nodeType":"VariableDeclarationStatement","src":"194383:10:22"},{"assignments":[37503],"declarations":[{"constant":false,"id":37503,"mutability":"mutable","name":"m2","nameLocation":"194411:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194403:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194403:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37504,"nodeType":"VariableDeclarationStatement","src":"194403:10:22"},{"assignments":[37506],"declarations":[{"constant":false,"id":37506,"mutability":"mutable","name":"m3","nameLocation":"194431:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194423:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194423:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37507,"nodeType":"VariableDeclarationStatement","src":"194423:10:22"},{"assignments":[37509],"declarations":[{"constant":false,"id":37509,"mutability":"mutable","name":"m4","nameLocation":"194451:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194443:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194443:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37510,"nodeType":"VariableDeclarationStatement","src":"194443:10:22"},{"assignments":[37512],"declarations":[{"constant":false,"id":37512,"mutability":"mutable","name":"m5","nameLocation":"194471:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194463:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194463:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37513,"nodeType":"VariableDeclarationStatement","src":"194463:10:22"},{"assignments":[37515],"declarations":[{"constant":false,"id":37515,"mutability":"mutable","name":"m6","nameLocation":"194491:2:22","nodeType":"VariableDeclaration","scope":37524,"src":"194483:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194483:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37516,"nodeType":"VariableDeclarationStatement","src":"194483:10:22"},{"AST":{"nativeSrc":"194555:822:22","nodeType":"YulBlock","src":"194555:822:22","statements":[{"body":{"nativeSrc":"194598:313:22","nodeType":"YulBlock","src":"194598:313:22","statements":[{"nativeSrc":"194616:15:22","nodeType":"YulVariableDeclaration","src":"194616:15:22","value":{"kind":"number","nativeSrc":"194630:1:22","nodeType":"YulLiteral","src":"194630:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"194620:6:22","nodeType":"YulTypedName","src":"194620:6:22","type":""}]},{"body":{"nativeSrc":"194701:40:22","nodeType":"YulBlock","src":"194701:40:22","statements":[{"body":{"nativeSrc":"194730:9:22","nodeType":"YulBlock","src":"194730:9:22","statements":[{"nativeSrc":"194732:5:22","nodeType":"YulBreak","src":"194732:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"194718:6:22","nodeType":"YulIdentifier","src":"194718:6:22"},{"name":"w","nativeSrc":"194726:1:22","nodeType":"YulIdentifier","src":"194726:1:22"}],"functionName":{"name":"byte","nativeSrc":"194713:4:22","nodeType":"YulIdentifier","src":"194713:4:22"},"nativeSrc":"194713:15:22","nodeType":"YulFunctionCall","src":"194713:15:22"}],"functionName":{"name":"iszero","nativeSrc":"194706:6:22","nodeType":"YulIdentifier","src":"194706:6:22"},"nativeSrc":"194706:23:22","nodeType":"YulFunctionCall","src":"194706:23:22"},"nativeSrc":"194703:36:22","nodeType":"YulIf","src":"194703:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"194658:6:22","nodeType":"YulIdentifier","src":"194658:6:22"},{"kind":"number","nativeSrc":"194666:4:22","nodeType":"YulLiteral","src":"194666:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"194655:2:22","nodeType":"YulIdentifier","src":"194655:2:22"},"nativeSrc":"194655:16:22","nodeType":"YulFunctionCall","src":"194655:16:22"},"nativeSrc":"194648:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"194672:28:22","nodeType":"YulBlock","src":"194672:28:22","statements":[{"nativeSrc":"194674:24:22","nodeType":"YulAssignment","src":"194674:24:22","value":{"arguments":[{"name":"length","nativeSrc":"194688:6:22","nodeType":"YulIdentifier","src":"194688:6:22"},{"kind":"number","nativeSrc":"194696:1:22","nodeType":"YulLiteral","src":"194696:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"194684:3:22","nodeType":"YulIdentifier","src":"194684:3:22"},"nativeSrc":"194684:14:22","nodeType":"YulFunctionCall","src":"194684:14:22"},"variableNames":[{"name":"length","nativeSrc":"194674:6:22","nodeType":"YulIdentifier","src":"194674:6:22"}]}]},"pre":{"nativeSrc":"194652:2:22","nodeType":"YulBlock","src":"194652:2:22","statements":[]},"src":"194648:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"194765:3:22","nodeType":"YulIdentifier","src":"194765:3:22"},{"name":"length","nativeSrc":"194770:6:22","nodeType":"YulIdentifier","src":"194770:6:22"}],"functionName":{"name":"mstore","nativeSrc":"194758:6:22","nodeType":"YulIdentifier","src":"194758:6:22"},"nativeSrc":"194758:19:22","nodeType":"YulFunctionCall","src":"194758:19:22"},"nativeSrc":"194758:19:22","nodeType":"YulExpressionStatement","src":"194758:19:22"},{"nativeSrc":"194794:37:22","nodeType":"YulVariableDeclaration","src":"194794:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"194811:3:22","nodeType":"YulLiteral","src":"194811:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"194820:1:22","nodeType":"YulLiteral","src":"194820:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"194823:6:22","nodeType":"YulIdentifier","src":"194823:6:22"}],"functionName":{"name":"shl","nativeSrc":"194816:3:22","nodeType":"YulIdentifier","src":"194816:3:22"},"nativeSrc":"194816:14:22","nodeType":"YulFunctionCall","src":"194816:14:22"}],"functionName":{"name":"sub","nativeSrc":"194807:3:22","nodeType":"YulIdentifier","src":"194807:3:22"},"nativeSrc":"194807:24:22","nodeType":"YulFunctionCall","src":"194807:24:22"},"variables":[{"name":"shift","nativeSrc":"194798:5:22","nodeType":"YulTypedName","src":"194798:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"194859:3:22","nodeType":"YulIdentifier","src":"194859:3:22"},{"kind":"number","nativeSrc":"194864:4:22","nodeType":"YulLiteral","src":"194864:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"194855:3:22","nodeType":"YulIdentifier","src":"194855:3:22"},"nativeSrc":"194855:14:22","nodeType":"YulFunctionCall","src":"194855:14:22"},{"arguments":[{"name":"shift","nativeSrc":"194875:5:22","nodeType":"YulIdentifier","src":"194875:5:22"},{"arguments":[{"name":"shift","nativeSrc":"194886:5:22","nodeType":"YulIdentifier","src":"194886:5:22"},{"name":"w","nativeSrc":"194893:1:22","nodeType":"YulIdentifier","src":"194893:1:22"}],"functionName":{"name":"shr","nativeSrc":"194882:3:22","nodeType":"YulIdentifier","src":"194882:3:22"},"nativeSrc":"194882:13:22","nodeType":"YulFunctionCall","src":"194882:13:22"}],"functionName":{"name":"shl","nativeSrc":"194871:3:22","nodeType":"YulIdentifier","src":"194871:3:22"},"nativeSrc":"194871:25:22","nodeType":"YulFunctionCall","src":"194871:25:22"}],"functionName":{"name":"mstore","nativeSrc":"194848:6:22","nodeType":"YulIdentifier","src":"194848:6:22"},"nativeSrc":"194848:49:22","nodeType":"YulFunctionCall","src":"194848:49:22"},"nativeSrc":"194848:49:22","nodeType":"YulExpressionStatement","src":"194848:49:22"}]},"name":"writeString","nativeSrc":"194569:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"194590:3:22","nodeType":"YulTypedName","src":"194590:3:22","type":""},{"name":"w","nativeSrc":"194595:1:22","nodeType":"YulTypedName","src":"194595:1:22","type":""}],"src":"194569:342:22"},{"nativeSrc":"194924:17:22","nodeType":"YulAssignment","src":"194924:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"194936:4:22","nodeType":"YulLiteral","src":"194936:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"194930:5:22","nodeType":"YulIdentifier","src":"194930:5:22"},"nativeSrc":"194930:11:22","nodeType":"YulFunctionCall","src":"194930:11:22"},"variableNames":[{"name":"m0","nativeSrc":"194924:2:22","nodeType":"YulIdentifier","src":"194924:2:22"}]},{"nativeSrc":"194954:17:22","nodeType":"YulAssignment","src":"194954:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"194966:4:22","nodeType":"YulLiteral","src":"194966:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"194960:5:22","nodeType":"YulIdentifier","src":"194960:5:22"},"nativeSrc":"194960:11:22","nodeType":"YulFunctionCall","src":"194960:11:22"},"variableNames":[{"name":"m1","nativeSrc":"194954:2:22","nodeType":"YulIdentifier","src":"194954:2:22"}]},{"nativeSrc":"194984:17:22","nodeType":"YulAssignment","src":"194984:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"194996:4:22","nodeType":"YulLiteral","src":"194996:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"194990:5:22","nodeType":"YulIdentifier","src":"194990:5:22"},"nativeSrc":"194990:11:22","nodeType":"YulFunctionCall","src":"194990:11:22"},"variableNames":[{"name":"m2","nativeSrc":"194984:2:22","nodeType":"YulIdentifier","src":"194984:2:22"}]},{"nativeSrc":"195014:17:22","nodeType":"YulAssignment","src":"195014:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195026:4:22","nodeType":"YulLiteral","src":"195026:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"195020:5:22","nodeType":"YulIdentifier","src":"195020:5:22"},"nativeSrc":"195020:11:22","nodeType":"YulFunctionCall","src":"195020:11:22"},"variableNames":[{"name":"m3","nativeSrc":"195014:2:22","nodeType":"YulIdentifier","src":"195014:2:22"}]},{"nativeSrc":"195044:17:22","nodeType":"YulAssignment","src":"195044:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195056:4:22","nodeType":"YulLiteral","src":"195056:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"195050:5:22","nodeType":"YulIdentifier","src":"195050:5:22"},"nativeSrc":"195050:11:22","nodeType":"YulFunctionCall","src":"195050:11:22"},"variableNames":[{"name":"m4","nativeSrc":"195044:2:22","nodeType":"YulIdentifier","src":"195044:2:22"}]},{"nativeSrc":"195074:17:22","nodeType":"YulAssignment","src":"195074:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195086:4:22","nodeType":"YulLiteral","src":"195086:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"195080:5:22","nodeType":"YulIdentifier","src":"195080:5:22"},"nativeSrc":"195080:11:22","nodeType":"YulFunctionCall","src":"195080:11:22"},"variableNames":[{"name":"m5","nativeSrc":"195074:2:22","nodeType":"YulIdentifier","src":"195074:2:22"}]},{"nativeSrc":"195104:17:22","nodeType":"YulAssignment","src":"195104:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195116:4:22","nodeType":"YulLiteral","src":"195116:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"195110:5:22","nodeType":"YulIdentifier","src":"195110:5:22"},"nativeSrc":"195110:11:22","nodeType":"YulFunctionCall","src":"195110:11:22"},"variableNames":[{"name":"m6","nativeSrc":"195104:2:22","nodeType":"YulIdentifier","src":"195104:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195198:4:22","nodeType":"YulLiteral","src":"195198:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"195204:10:22","nodeType":"YulLiteral","src":"195204:10:22","type":"","value":"0x2ae408d4"}],"functionName":{"name":"mstore","nativeSrc":"195191:6:22","nodeType":"YulIdentifier","src":"195191:6:22"},"nativeSrc":"195191:24:22","nodeType":"YulFunctionCall","src":"195191:24:22"},"nativeSrc":"195191:24:22","nodeType":"YulExpressionStatement","src":"195191:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195235:4:22","nodeType":"YulLiteral","src":"195235:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"195241:2:22","nodeType":"YulIdentifier","src":"195241:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195228:6:22","nodeType":"YulIdentifier","src":"195228:6:22"},"nativeSrc":"195228:16:22","nodeType":"YulFunctionCall","src":"195228:16:22"},"nativeSrc":"195228:16:22","nodeType":"YulExpressionStatement","src":"195228:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195264:4:22","nodeType":"YulLiteral","src":"195264:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"195270:2:22","nodeType":"YulIdentifier","src":"195270:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195257:6:22","nodeType":"YulIdentifier","src":"195257:6:22"},"nativeSrc":"195257:16:22","nodeType":"YulFunctionCall","src":"195257:16:22"},"nativeSrc":"195257:16:22","nodeType":"YulExpressionStatement","src":"195257:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195293:4:22","nodeType":"YulLiteral","src":"195293:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"195299:2:22","nodeType":"YulIdentifier","src":"195299:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195286:6:22","nodeType":"YulIdentifier","src":"195286:6:22"},"nativeSrc":"195286:16:22","nodeType":"YulFunctionCall","src":"195286:16:22"},"nativeSrc":"195286:16:22","nodeType":"YulExpressionStatement","src":"195286:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195322:4:22","nodeType":"YulLiteral","src":"195322:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"195328:4:22","nodeType":"YulLiteral","src":"195328:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"195315:6:22","nodeType":"YulIdentifier","src":"195315:6:22"},"nativeSrc":"195315:18:22","nodeType":"YulFunctionCall","src":"195315:18:22"},"nativeSrc":"195315:18:22","nodeType":"YulExpressionStatement","src":"195315:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195358:4:22","nodeType":"YulLiteral","src":"195358:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"195364:2:22","nodeType":"YulIdentifier","src":"195364:2:22"}],"functionName":{"name":"writeString","nativeSrc":"195346:11:22","nodeType":"YulIdentifier","src":"195346:11:22"},"nativeSrc":"195346:21:22","nodeType":"YulFunctionCall","src":"195346:21:22"},"nativeSrc":"195346:21:22","nodeType":"YulExpressionStatement","src":"195346:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37497,"isOffset":false,"isSlot":false,"src":"194924:2:22","valueSize":1},{"declaration":37500,"isOffset":false,"isSlot":false,"src":"194954:2:22","valueSize":1},{"declaration":37503,"isOffset":false,"isSlot":false,"src":"194984:2:22","valueSize":1},{"declaration":37506,"isOffset":false,"isSlot":false,"src":"195014:2:22","valueSize":1},{"declaration":37509,"isOffset":false,"isSlot":false,"src":"195044:2:22","valueSize":1},{"declaration":37512,"isOffset":false,"isSlot":false,"src":"195074:2:22","valueSize":1},{"declaration":37515,"isOffset":false,"isSlot":false,"src":"195104:2:22","valueSize":1},{"declaration":37487,"isOffset":false,"isSlot":false,"src":"195241:2:22","valueSize":1},{"declaration":37489,"isOffset":false,"isSlot":false,"src":"195270:2:22","valueSize":1},{"declaration":37491,"isOffset":false,"isSlot":false,"src":"195299:2:22","valueSize":1},{"declaration":37493,"isOffset":false,"isSlot":false,"src":"195364:2:22","valueSize":1}],"id":37517,"nodeType":"InlineAssembly","src":"194546:831:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195402:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195408:4:22","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":37518,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"195386:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195386:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37522,"nodeType":"ExpressionStatement","src":"195386:27:22"},{"AST":{"nativeSrc":"195475:214:22","nodeType":"YulBlock","src":"195475:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"195496:4:22","nodeType":"YulLiteral","src":"195496:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"195502:2:22","nodeType":"YulIdentifier","src":"195502:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195489:6:22","nodeType":"YulIdentifier","src":"195489:6:22"},"nativeSrc":"195489:16:22","nodeType":"YulFunctionCall","src":"195489:16:22"},"nativeSrc":"195489:16:22","nodeType":"YulExpressionStatement","src":"195489:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195525:4:22","nodeType":"YulLiteral","src":"195525:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"195531:2:22","nodeType":"YulIdentifier","src":"195531:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195518:6:22","nodeType":"YulIdentifier","src":"195518:6:22"},"nativeSrc":"195518:16:22","nodeType":"YulFunctionCall","src":"195518:16:22"},"nativeSrc":"195518:16:22","nodeType":"YulExpressionStatement","src":"195518:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195554:4:22","nodeType":"YulLiteral","src":"195554:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"195560:2:22","nodeType":"YulIdentifier","src":"195560:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195547:6:22","nodeType":"YulIdentifier","src":"195547:6:22"},"nativeSrc":"195547:16:22","nodeType":"YulFunctionCall","src":"195547:16:22"},"nativeSrc":"195547:16:22","nodeType":"YulExpressionStatement","src":"195547:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195583:4:22","nodeType":"YulLiteral","src":"195583:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"195589:2:22","nodeType":"YulIdentifier","src":"195589:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195576:6:22","nodeType":"YulIdentifier","src":"195576:6:22"},"nativeSrc":"195576:16:22","nodeType":"YulFunctionCall","src":"195576:16:22"},"nativeSrc":"195576:16:22","nodeType":"YulExpressionStatement","src":"195576:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195612:4:22","nodeType":"YulLiteral","src":"195612:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"195618:2:22","nodeType":"YulIdentifier","src":"195618:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195605:6:22","nodeType":"YulIdentifier","src":"195605:6:22"},"nativeSrc":"195605:16:22","nodeType":"YulFunctionCall","src":"195605:16:22"},"nativeSrc":"195605:16:22","nodeType":"YulExpressionStatement","src":"195605:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195641:4:22","nodeType":"YulLiteral","src":"195641:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"195647:2:22","nodeType":"YulIdentifier","src":"195647:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195634:6:22","nodeType":"YulIdentifier","src":"195634:6:22"},"nativeSrc":"195634:16:22","nodeType":"YulFunctionCall","src":"195634:16:22"},"nativeSrc":"195634:16:22","nodeType":"YulExpressionStatement","src":"195634:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195670:4:22","nodeType":"YulLiteral","src":"195670:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"195676:2:22","nodeType":"YulIdentifier","src":"195676:2:22"}],"functionName":{"name":"mstore","nativeSrc":"195663:6:22","nodeType":"YulIdentifier","src":"195663:6:22"},"nativeSrc":"195663:16:22","nodeType":"YulFunctionCall","src":"195663:16:22"},"nativeSrc":"195663:16:22","nodeType":"YulExpressionStatement","src":"195663:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37497,"isOffset":false,"isSlot":false,"src":"195502:2:22","valueSize":1},{"declaration":37500,"isOffset":false,"isSlot":false,"src":"195531:2:22","valueSize":1},{"declaration":37503,"isOffset":false,"isSlot":false,"src":"195560:2:22","valueSize":1},{"declaration":37506,"isOffset":false,"isSlot":false,"src":"195589:2:22","valueSize":1},{"declaration":37509,"isOffset":false,"isSlot":false,"src":"195618:2:22","valueSize":1},{"declaration":37512,"isOffset":false,"isSlot":false,"src":"195647:2:22","valueSize":1},{"declaration":37515,"isOffset":false,"isSlot":false,"src":"195676:2:22","valueSize":1}],"id":37523,"nodeType":"InlineAssembly","src":"195466:223:22"}]},"id":37525,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"194296:3:22","nodeType":"FunctionDefinition","parameters":{"id":37494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37487,"mutability":"mutable","name":"p0","nameLocation":"194305:2:22","nodeType":"VariableDeclaration","scope":37525,"src":"194300:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37486,"name":"bool","nodeType":"ElementaryTypeName","src":"194300:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37489,"mutability":"mutable","name":"p1","nameLocation":"194314:2:22","nodeType":"VariableDeclaration","scope":37525,"src":"194309:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37488,"name":"bool","nodeType":"ElementaryTypeName","src":"194309:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37491,"mutability":"mutable","name":"p2","nameLocation":"194323:2:22","nodeType":"VariableDeclaration","scope":37525,"src":"194318:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37490,"name":"bool","nodeType":"ElementaryTypeName","src":"194318:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37493,"mutability":"mutable","name":"p3","nameLocation":"194335:2:22","nodeType":"VariableDeclaration","scope":37525,"src":"194327:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194327:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"194299:39:22"},"returnParameters":{"id":37495,"nodeType":"ParameterList","parameters":[],"src":"194353:0:22"},"scope":44426,"src":"194287:1408:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37558,"nodeType":"Block","src":"195770:797:22","statements":[{"assignments":[37537],"declarations":[{"constant":false,"id":37537,"mutability":"mutable","name":"m0","nameLocation":"195788:2:22","nodeType":"VariableDeclaration","scope":37558,"src":"195780:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195780:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37538,"nodeType":"VariableDeclarationStatement","src":"195780:10:22"},{"assignments":[37540],"declarations":[{"constant":false,"id":37540,"mutability":"mutable","name":"m1","nameLocation":"195808:2:22","nodeType":"VariableDeclaration","scope":37558,"src":"195800:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195800:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37541,"nodeType":"VariableDeclarationStatement","src":"195800:10:22"},{"assignments":[37543],"declarations":[{"constant":false,"id":37543,"mutability":"mutable","name":"m2","nameLocation":"195828:2:22","nodeType":"VariableDeclaration","scope":37558,"src":"195820:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195820:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37544,"nodeType":"VariableDeclarationStatement","src":"195820:10:22"},{"assignments":[37546],"declarations":[{"constant":false,"id":37546,"mutability":"mutable","name":"m3","nameLocation":"195848:2:22","nodeType":"VariableDeclaration","scope":37558,"src":"195840:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195840:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37547,"nodeType":"VariableDeclarationStatement","src":"195840:10:22"},{"assignments":[37549],"declarations":[{"constant":false,"id":37549,"mutability":"mutable","name":"m4","nameLocation":"195868:2:22","nodeType":"VariableDeclaration","scope":37558,"src":"195860:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195860:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37550,"nodeType":"VariableDeclarationStatement","src":"195860:10:22"},{"AST":{"nativeSrc":"195932:375:22","nodeType":"YulBlock","src":"195932:375:22","statements":[{"nativeSrc":"195946:17:22","nodeType":"YulAssignment","src":"195946:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195958:4:22","nodeType":"YulLiteral","src":"195958:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"195952:5:22","nodeType":"YulIdentifier","src":"195952:5:22"},"nativeSrc":"195952:11:22","nodeType":"YulFunctionCall","src":"195952:11:22"},"variableNames":[{"name":"m0","nativeSrc":"195946:2:22","nodeType":"YulIdentifier","src":"195946:2:22"}]},{"nativeSrc":"195976:17:22","nodeType":"YulAssignment","src":"195976:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"195988:4:22","nodeType":"YulLiteral","src":"195988:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"195982:5:22","nodeType":"YulIdentifier","src":"195982:5:22"},"nativeSrc":"195982:11:22","nodeType":"YulFunctionCall","src":"195982:11:22"},"variableNames":[{"name":"m1","nativeSrc":"195976:2:22","nodeType":"YulIdentifier","src":"195976:2:22"}]},{"nativeSrc":"196006:17:22","nodeType":"YulAssignment","src":"196006:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196018:4:22","nodeType":"YulLiteral","src":"196018:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196012:5:22","nodeType":"YulIdentifier","src":"196012:5:22"},"nativeSrc":"196012:11:22","nodeType":"YulFunctionCall","src":"196012:11:22"},"variableNames":[{"name":"m2","nativeSrc":"196006:2:22","nodeType":"YulIdentifier","src":"196006:2:22"}]},{"nativeSrc":"196036:17:22","nodeType":"YulAssignment","src":"196036:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196048:4:22","nodeType":"YulLiteral","src":"196048:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196042:5:22","nodeType":"YulIdentifier","src":"196042:5:22"},"nativeSrc":"196042:11:22","nodeType":"YulFunctionCall","src":"196042:11:22"},"variableNames":[{"name":"m3","nativeSrc":"196036:2:22","nodeType":"YulIdentifier","src":"196036:2:22"}]},{"nativeSrc":"196066:17:22","nodeType":"YulAssignment","src":"196066:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196078:4:22","nodeType":"YulLiteral","src":"196078:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196072:5:22","nodeType":"YulIdentifier","src":"196072:5:22"},"nativeSrc":"196072:11:22","nodeType":"YulFunctionCall","src":"196072:11:22"},"variableNames":[{"name":"m4","nativeSrc":"196066:2:22","nodeType":"YulIdentifier","src":"196066:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196164:4:22","nodeType":"YulLiteral","src":"196164:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"196170:10:22","nodeType":"YulLiteral","src":"196170:10:22","type":"","value":"0x54a7a9a0"}],"functionName":{"name":"mstore","nativeSrc":"196157:6:22","nodeType":"YulIdentifier","src":"196157:6:22"},"nativeSrc":"196157:24:22","nodeType":"YulFunctionCall","src":"196157:24:22"},"nativeSrc":"196157:24:22","nodeType":"YulExpressionStatement","src":"196157:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196201:4:22","nodeType":"YulLiteral","src":"196201:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"196207:2:22","nodeType":"YulIdentifier","src":"196207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196194:6:22","nodeType":"YulIdentifier","src":"196194:6:22"},"nativeSrc":"196194:16:22","nodeType":"YulFunctionCall","src":"196194:16:22"},"nativeSrc":"196194:16:22","nodeType":"YulExpressionStatement","src":"196194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196230:4:22","nodeType":"YulLiteral","src":"196230:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"196236:2:22","nodeType":"YulIdentifier","src":"196236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196223:6:22","nodeType":"YulIdentifier","src":"196223:6:22"},"nativeSrc":"196223:16:22","nodeType":"YulFunctionCall","src":"196223:16:22"},"nativeSrc":"196223:16:22","nodeType":"YulExpressionStatement","src":"196223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196259:4:22","nodeType":"YulLiteral","src":"196259:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"196265:2:22","nodeType":"YulIdentifier","src":"196265:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196252:6:22","nodeType":"YulIdentifier","src":"196252:6:22"},"nativeSrc":"196252:16:22","nodeType":"YulFunctionCall","src":"196252:16:22"},"nativeSrc":"196252:16:22","nodeType":"YulExpressionStatement","src":"196252:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196288:4:22","nodeType":"YulLiteral","src":"196288:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"196294:2:22","nodeType":"YulIdentifier","src":"196294:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196281:6:22","nodeType":"YulIdentifier","src":"196281:6:22"},"nativeSrc":"196281:16:22","nodeType":"YulFunctionCall","src":"196281:16:22"},"nativeSrc":"196281:16:22","nodeType":"YulExpressionStatement","src":"196281:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37537,"isOffset":false,"isSlot":false,"src":"195946:2:22","valueSize":1},{"declaration":37540,"isOffset":false,"isSlot":false,"src":"195976:2:22","valueSize":1},{"declaration":37543,"isOffset":false,"isSlot":false,"src":"196006:2:22","valueSize":1},{"declaration":37546,"isOffset":false,"isSlot":false,"src":"196036:2:22","valueSize":1},{"declaration":37549,"isOffset":false,"isSlot":false,"src":"196066:2:22","valueSize":1},{"declaration":37527,"isOffset":false,"isSlot":false,"src":"196207:2:22","valueSize":1},{"declaration":37529,"isOffset":false,"isSlot":false,"src":"196236:2:22","valueSize":1},{"declaration":37531,"isOffset":false,"isSlot":false,"src":"196265:2:22","valueSize":1},{"declaration":37533,"isOffset":false,"isSlot":false,"src":"196294:2:22","valueSize":1}],"id":37551,"nodeType":"InlineAssembly","src":"195923:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196332:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196338:4:22","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":37552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"196316:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"196316:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37556,"nodeType":"ExpressionStatement","src":"196316:27:22"},{"AST":{"nativeSrc":"196405:156:22","nodeType":"YulBlock","src":"196405:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"196426:4:22","nodeType":"YulLiteral","src":"196426:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"196432:2:22","nodeType":"YulIdentifier","src":"196432:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196419:6:22","nodeType":"YulIdentifier","src":"196419:6:22"},"nativeSrc":"196419:16:22","nodeType":"YulFunctionCall","src":"196419:16:22"},"nativeSrc":"196419:16:22","nodeType":"YulExpressionStatement","src":"196419:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196455:4:22","nodeType":"YulLiteral","src":"196455:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"196461:2:22","nodeType":"YulIdentifier","src":"196461:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196448:6:22","nodeType":"YulIdentifier","src":"196448:6:22"},"nativeSrc":"196448:16:22","nodeType":"YulFunctionCall","src":"196448:16:22"},"nativeSrc":"196448:16:22","nodeType":"YulExpressionStatement","src":"196448:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196484:4:22","nodeType":"YulLiteral","src":"196484:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"196490:2:22","nodeType":"YulIdentifier","src":"196490:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196477:6:22","nodeType":"YulIdentifier","src":"196477:6:22"},"nativeSrc":"196477:16:22","nodeType":"YulFunctionCall","src":"196477:16:22"},"nativeSrc":"196477:16:22","nodeType":"YulExpressionStatement","src":"196477:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196513:4:22","nodeType":"YulLiteral","src":"196513:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"196519:2:22","nodeType":"YulIdentifier","src":"196519:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196506:6:22","nodeType":"YulIdentifier","src":"196506:6:22"},"nativeSrc":"196506:16:22","nodeType":"YulFunctionCall","src":"196506:16:22"},"nativeSrc":"196506:16:22","nodeType":"YulExpressionStatement","src":"196506:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196542:4:22","nodeType":"YulLiteral","src":"196542:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"196548:2:22","nodeType":"YulIdentifier","src":"196548:2:22"}],"functionName":{"name":"mstore","nativeSrc":"196535:6:22","nodeType":"YulIdentifier","src":"196535:6:22"},"nativeSrc":"196535:16:22","nodeType":"YulFunctionCall","src":"196535:16:22"},"nativeSrc":"196535:16:22","nodeType":"YulExpressionStatement","src":"196535:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37537,"isOffset":false,"isSlot":false,"src":"196432:2:22","valueSize":1},{"declaration":37540,"isOffset":false,"isSlot":false,"src":"196461:2:22","valueSize":1},{"declaration":37543,"isOffset":false,"isSlot":false,"src":"196490:2:22","valueSize":1},{"declaration":37546,"isOffset":false,"isSlot":false,"src":"196519:2:22","valueSize":1},{"declaration":37549,"isOffset":false,"isSlot":false,"src":"196548:2:22","valueSize":1}],"id":37557,"nodeType":"InlineAssembly","src":"196396:165:22"}]},"id":37559,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"195710:3:22","nodeType":"FunctionDefinition","parameters":{"id":37534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37527,"mutability":"mutable","name":"p0","nameLocation":"195719:2:22","nodeType":"VariableDeclaration","scope":37559,"src":"195714:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37526,"name":"bool","nodeType":"ElementaryTypeName","src":"195714:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37529,"mutability":"mutable","name":"p1","nameLocation":"195728:2:22","nodeType":"VariableDeclaration","scope":37559,"src":"195723:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37528,"name":"bool","nodeType":"ElementaryTypeName","src":"195723:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37531,"mutability":"mutable","name":"p2","nameLocation":"195740:2:22","nodeType":"VariableDeclaration","scope":37559,"src":"195732:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37530,"name":"uint256","nodeType":"ElementaryTypeName","src":"195732:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37533,"mutability":"mutable","name":"p3","nameLocation":"195752:2:22","nodeType":"VariableDeclaration","scope":37559,"src":"195744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37532,"name":"address","nodeType":"ElementaryTypeName","src":"195744:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"195713:42:22"},"returnParameters":{"id":37535,"nodeType":"ParameterList","parameters":[],"src":"195770:0:22"},"scope":44426,"src":"195701:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37592,"nodeType":"Block","src":"196639:794:22","statements":[{"assignments":[37571],"declarations":[{"constant":false,"id":37571,"mutability":"mutable","name":"m0","nameLocation":"196657:2:22","nodeType":"VariableDeclaration","scope":37592,"src":"196649:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196649:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37572,"nodeType":"VariableDeclarationStatement","src":"196649:10:22"},{"assignments":[37574],"declarations":[{"constant":false,"id":37574,"mutability":"mutable","name":"m1","nameLocation":"196677:2:22","nodeType":"VariableDeclaration","scope":37592,"src":"196669:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196669:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37575,"nodeType":"VariableDeclarationStatement","src":"196669:10:22"},{"assignments":[37577],"declarations":[{"constant":false,"id":37577,"mutability":"mutable","name":"m2","nameLocation":"196697:2:22","nodeType":"VariableDeclaration","scope":37592,"src":"196689:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196689:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37578,"nodeType":"VariableDeclarationStatement","src":"196689:10:22"},{"assignments":[37580],"declarations":[{"constant":false,"id":37580,"mutability":"mutable","name":"m3","nameLocation":"196717:2:22","nodeType":"VariableDeclaration","scope":37592,"src":"196709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37581,"nodeType":"VariableDeclarationStatement","src":"196709:10:22"},{"assignments":[37583],"declarations":[{"constant":false,"id":37583,"mutability":"mutable","name":"m4","nameLocation":"196737:2:22","nodeType":"VariableDeclaration","scope":37592,"src":"196729:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196729:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37584,"nodeType":"VariableDeclarationStatement","src":"196729:10:22"},{"AST":{"nativeSrc":"196801:372:22","nodeType":"YulBlock","src":"196801:372:22","statements":[{"nativeSrc":"196815:17:22","nodeType":"YulAssignment","src":"196815:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196827:4:22","nodeType":"YulLiteral","src":"196827:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"196821:5:22","nodeType":"YulIdentifier","src":"196821:5:22"},"nativeSrc":"196821:11:22","nodeType":"YulFunctionCall","src":"196821:11:22"},"variableNames":[{"name":"m0","nativeSrc":"196815:2:22","nodeType":"YulIdentifier","src":"196815:2:22"}]},{"nativeSrc":"196845:17:22","nodeType":"YulAssignment","src":"196845:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196857:4:22","nodeType":"YulLiteral","src":"196857:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"196851:5:22","nodeType":"YulIdentifier","src":"196851:5:22"},"nativeSrc":"196851:11:22","nodeType":"YulFunctionCall","src":"196851:11:22"},"variableNames":[{"name":"m1","nativeSrc":"196845:2:22","nodeType":"YulIdentifier","src":"196845:2:22"}]},{"nativeSrc":"196875:17:22","nodeType":"YulAssignment","src":"196875:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196887:4:22","nodeType":"YulLiteral","src":"196887:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196881:5:22","nodeType":"YulIdentifier","src":"196881:5:22"},"nativeSrc":"196881:11:22","nodeType":"YulFunctionCall","src":"196881:11:22"},"variableNames":[{"name":"m2","nativeSrc":"196875:2:22","nodeType":"YulIdentifier","src":"196875:2:22"}]},{"nativeSrc":"196905:17:22","nodeType":"YulAssignment","src":"196905:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196917:4:22","nodeType":"YulLiteral","src":"196917:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196911:5:22","nodeType":"YulIdentifier","src":"196911:5:22"},"nativeSrc":"196911:11:22","nodeType":"YulFunctionCall","src":"196911:11:22"},"variableNames":[{"name":"m3","nativeSrc":"196905:2:22","nodeType":"YulIdentifier","src":"196905:2:22"}]},{"nativeSrc":"196935:17:22","nodeType":"YulAssignment","src":"196935:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"196947:4:22","nodeType":"YulLiteral","src":"196947:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196941:5:22","nodeType":"YulIdentifier","src":"196941:5:22"},"nativeSrc":"196941:11:22","nodeType":"YulFunctionCall","src":"196941:11:22"},"variableNames":[{"name":"m4","nativeSrc":"196935:2:22","nodeType":"YulIdentifier","src":"196935:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197030:4:22","nodeType":"YulLiteral","src":"197030:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197036:10:22","nodeType":"YulLiteral","src":"197036:10:22","type":"","value":"0x619e4d0e"}],"functionName":{"name":"mstore","nativeSrc":"197023:6:22","nodeType":"YulIdentifier","src":"197023:6:22"},"nativeSrc":"197023:24:22","nodeType":"YulFunctionCall","src":"197023:24:22"},"nativeSrc":"197023:24:22","nodeType":"YulExpressionStatement","src":"197023:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197067:4:22","nodeType":"YulLiteral","src":"197067:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197073:2:22","nodeType":"YulIdentifier","src":"197073:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197060:6:22","nodeType":"YulIdentifier","src":"197060:6:22"},"nativeSrc":"197060:16:22","nodeType":"YulFunctionCall","src":"197060:16:22"},"nativeSrc":"197060:16:22","nodeType":"YulExpressionStatement","src":"197060:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197096:4:22","nodeType":"YulLiteral","src":"197096:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197102:2:22","nodeType":"YulIdentifier","src":"197102:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197089:6:22","nodeType":"YulIdentifier","src":"197089:6:22"},"nativeSrc":"197089:16:22","nodeType":"YulFunctionCall","src":"197089:16:22"},"nativeSrc":"197089:16:22","nodeType":"YulExpressionStatement","src":"197089:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197125:4:22","nodeType":"YulLiteral","src":"197125:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"197131:2:22","nodeType":"YulIdentifier","src":"197131:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197118:6:22","nodeType":"YulIdentifier","src":"197118:6:22"},"nativeSrc":"197118:16:22","nodeType":"YulFunctionCall","src":"197118:16:22"},"nativeSrc":"197118:16:22","nodeType":"YulExpressionStatement","src":"197118:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197154:4:22","nodeType":"YulLiteral","src":"197154:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"197160:2:22","nodeType":"YulIdentifier","src":"197160:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197147:6:22","nodeType":"YulIdentifier","src":"197147:6:22"},"nativeSrc":"197147:16:22","nodeType":"YulFunctionCall","src":"197147:16:22"},"nativeSrc":"197147:16:22","nodeType":"YulExpressionStatement","src":"197147:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37571,"isOffset":false,"isSlot":false,"src":"196815:2:22","valueSize":1},{"declaration":37574,"isOffset":false,"isSlot":false,"src":"196845:2:22","valueSize":1},{"declaration":37577,"isOffset":false,"isSlot":false,"src":"196875:2:22","valueSize":1},{"declaration":37580,"isOffset":false,"isSlot":false,"src":"196905:2:22","valueSize":1},{"declaration":37583,"isOffset":false,"isSlot":false,"src":"196935:2:22","valueSize":1},{"declaration":37561,"isOffset":false,"isSlot":false,"src":"197073:2:22","valueSize":1},{"declaration":37563,"isOffset":false,"isSlot":false,"src":"197102:2:22","valueSize":1},{"declaration":37565,"isOffset":false,"isSlot":false,"src":"197131:2:22","valueSize":1},{"declaration":37567,"isOffset":false,"isSlot":false,"src":"197160:2:22","valueSize":1}],"id":37585,"nodeType":"InlineAssembly","src":"196792:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197198:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197204:4:22","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":37586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"197182:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"197182:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37590,"nodeType":"ExpressionStatement","src":"197182:27:22"},{"AST":{"nativeSrc":"197271:156:22","nodeType":"YulBlock","src":"197271:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"197292:4:22","nodeType":"YulLiteral","src":"197292:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"197298:2:22","nodeType":"YulIdentifier","src":"197298:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197285:6:22","nodeType":"YulIdentifier","src":"197285:6:22"},"nativeSrc":"197285:16:22","nodeType":"YulFunctionCall","src":"197285:16:22"},"nativeSrc":"197285:16:22","nodeType":"YulExpressionStatement","src":"197285:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197321:4:22","nodeType":"YulLiteral","src":"197321:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"197327:2:22","nodeType":"YulIdentifier","src":"197327:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197314:6:22","nodeType":"YulIdentifier","src":"197314:6:22"},"nativeSrc":"197314:16:22","nodeType":"YulFunctionCall","src":"197314:16:22"},"nativeSrc":"197314:16:22","nodeType":"YulExpressionStatement","src":"197314:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197350:4:22","nodeType":"YulLiteral","src":"197350:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"197356:2:22","nodeType":"YulIdentifier","src":"197356:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197343:6:22","nodeType":"YulIdentifier","src":"197343:6:22"},"nativeSrc":"197343:16:22","nodeType":"YulFunctionCall","src":"197343:16:22"},"nativeSrc":"197343:16:22","nodeType":"YulExpressionStatement","src":"197343:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197379:4:22","nodeType":"YulLiteral","src":"197379:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"197385:2:22","nodeType":"YulIdentifier","src":"197385:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197372:6:22","nodeType":"YulIdentifier","src":"197372:6:22"},"nativeSrc":"197372:16:22","nodeType":"YulFunctionCall","src":"197372:16:22"},"nativeSrc":"197372:16:22","nodeType":"YulExpressionStatement","src":"197372:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197408:4:22","nodeType":"YulLiteral","src":"197408:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"197414:2:22","nodeType":"YulIdentifier","src":"197414:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197401:6:22","nodeType":"YulIdentifier","src":"197401:6:22"},"nativeSrc":"197401:16:22","nodeType":"YulFunctionCall","src":"197401:16:22"},"nativeSrc":"197401:16:22","nodeType":"YulExpressionStatement","src":"197401:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37571,"isOffset":false,"isSlot":false,"src":"197298:2:22","valueSize":1},{"declaration":37574,"isOffset":false,"isSlot":false,"src":"197327:2:22","valueSize":1},{"declaration":37577,"isOffset":false,"isSlot":false,"src":"197356:2:22","valueSize":1},{"declaration":37580,"isOffset":false,"isSlot":false,"src":"197385:2:22","valueSize":1},{"declaration":37583,"isOffset":false,"isSlot":false,"src":"197414:2:22","valueSize":1}],"id":37591,"nodeType":"InlineAssembly","src":"197262:165:22"}]},"id":37593,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"196582:3:22","nodeType":"FunctionDefinition","parameters":{"id":37568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37561,"mutability":"mutable","name":"p0","nameLocation":"196591:2:22","nodeType":"VariableDeclaration","scope":37593,"src":"196586:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37560,"name":"bool","nodeType":"ElementaryTypeName","src":"196586:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37563,"mutability":"mutable","name":"p1","nameLocation":"196600:2:22","nodeType":"VariableDeclaration","scope":37593,"src":"196595:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37562,"name":"bool","nodeType":"ElementaryTypeName","src":"196595:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37565,"mutability":"mutable","name":"p2","nameLocation":"196612:2:22","nodeType":"VariableDeclaration","scope":37593,"src":"196604:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37564,"name":"uint256","nodeType":"ElementaryTypeName","src":"196604:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37567,"mutability":"mutable","name":"p3","nameLocation":"196621:2:22","nodeType":"VariableDeclaration","scope":37593,"src":"196616:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37566,"name":"bool","nodeType":"ElementaryTypeName","src":"196616:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"196585:39:22"},"returnParameters":{"id":37569,"nodeType":"ParameterList","parameters":[],"src":"196639:0:22"},"scope":44426,"src":"196573:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37626,"nodeType":"Block","src":"197508:797:22","statements":[{"assignments":[37605],"declarations":[{"constant":false,"id":37605,"mutability":"mutable","name":"m0","nameLocation":"197526:2:22","nodeType":"VariableDeclaration","scope":37626,"src":"197518:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197518:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37606,"nodeType":"VariableDeclarationStatement","src":"197518:10:22"},{"assignments":[37608],"declarations":[{"constant":false,"id":37608,"mutability":"mutable","name":"m1","nameLocation":"197546:2:22","nodeType":"VariableDeclaration","scope":37626,"src":"197538:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197538:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37609,"nodeType":"VariableDeclarationStatement","src":"197538:10:22"},{"assignments":[37611],"declarations":[{"constant":false,"id":37611,"mutability":"mutable","name":"m2","nameLocation":"197566:2:22","nodeType":"VariableDeclaration","scope":37626,"src":"197558:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197558:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37612,"nodeType":"VariableDeclarationStatement","src":"197558:10:22"},{"assignments":[37614],"declarations":[{"constant":false,"id":37614,"mutability":"mutable","name":"m3","nameLocation":"197586:2:22","nodeType":"VariableDeclaration","scope":37626,"src":"197578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37615,"nodeType":"VariableDeclarationStatement","src":"197578:10:22"},{"assignments":[37617],"declarations":[{"constant":false,"id":37617,"mutability":"mutable","name":"m4","nameLocation":"197606:2:22","nodeType":"VariableDeclaration","scope":37626,"src":"197598:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197598:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37618,"nodeType":"VariableDeclarationStatement","src":"197598:10:22"},{"AST":{"nativeSrc":"197670:375:22","nodeType":"YulBlock","src":"197670:375:22","statements":[{"nativeSrc":"197684:17:22","nodeType":"YulAssignment","src":"197684:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"197696:4:22","nodeType":"YulLiteral","src":"197696:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"197690:5:22","nodeType":"YulIdentifier","src":"197690:5:22"},"nativeSrc":"197690:11:22","nodeType":"YulFunctionCall","src":"197690:11:22"},"variableNames":[{"name":"m0","nativeSrc":"197684:2:22","nodeType":"YulIdentifier","src":"197684:2:22"}]},{"nativeSrc":"197714:17:22","nodeType":"YulAssignment","src":"197714:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"197726:4:22","nodeType":"YulLiteral","src":"197726:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"197720:5:22","nodeType":"YulIdentifier","src":"197720:5:22"},"nativeSrc":"197720:11:22","nodeType":"YulFunctionCall","src":"197720:11:22"},"variableNames":[{"name":"m1","nativeSrc":"197714:2:22","nodeType":"YulIdentifier","src":"197714:2:22"}]},{"nativeSrc":"197744:17:22","nodeType":"YulAssignment","src":"197744:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"197756:4:22","nodeType":"YulLiteral","src":"197756:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"197750:5:22","nodeType":"YulIdentifier","src":"197750:5:22"},"nativeSrc":"197750:11:22","nodeType":"YulFunctionCall","src":"197750:11:22"},"variableNames":[{"name":"m2","nativeSrc":"197744:2:22","nodeType":"YulIdentifier","src":"197744:2:22"}]},{"nativeSrc":"197774:17:22","nodeType":"YulAssignment","src":"197774:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"197786:4:22","nodeType":"YulLiteral","src":"197786:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"197780:5:22","nodeType":"YulIdentifier","src":"197780:5:22"},"nativeSrc":"197780:11:22","nodeType":"YulFunctionCall","src":"197780:11:22"},"variableNames":[{"name":"m3","nativeSrc":"197774:2:22","nodeType":"YulIdentifier","src":"197774:2:22"}]},{"nativeSrc":"197804:17:22","nodeType":"YulAssignment","src":"197804:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"197816:4:22","nodeType":"YulLiteral","src":"197816:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"197810:5:22","nodeType":"YulIdentifier","src":"197810:5:22"},"nativeSrc":"197810:11:22","nodeType":"YulFunctionCall","src":"197810:11:22"},"variableNames":[{"name":"m4","nativeSrc":"197804:2:22","nodeType":"YulIdentifier","src":"197804:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197902:4:22","nodeType":"YulLiteral","src":"197902:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197908:10:22","nodeType":"YulLiteral","src":"197908:10:22","type":"","value":"0x0bb00eab"}],"functionName":{"name":"mstore","nativeSrc":"197895:6:22","nodeType":"YulIdentifier","src":"197895:6:22"},"nativeSrc":"197895:24:22","nodeType":"YulFunctionCall","src":"197895:24:22"},"nativeSrc":"197895:24:22","nodeType":"YulExpressionStatement","src":"197895:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197939:4:22","nodeType":"YulLiteral","src":"197939:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197945:2:22","nodeType":"YulIdentifier","src":"197945:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197932:6:22","nodeType":"YulIdentifier","src":"197932:6:22"},"nativeSrc":"197932:16:22","nodeType":"YulFunctionCall","src":"197932:16:22"},"nativeSrc":"197932:16:22","nodeType":"YulExpressionStatement","src":"197932:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197968:4:22","nodeType":"YulLiteral","src":"197968:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197974:2:22","nodeType":"YulIdentifier","src":"197974:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197961:6:22","nodeType":"YulIdentifier","src":"197961:6:22"},"nativeSrc":"197961:16:22","nodeType":"YulFunctionCall","src":"197961:16:22"},"nativeSrc":"197961:16:22","nodeType":"YulExpressionStatement","src":"197961:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197997:4:22","nodeType":"YulLiteral","src":"197997:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"198003:2:22","nodeType":"YulIdentifier","src":"198003:2:22"}],"functionName":{"name":"mstore","nativeSrc":"197990:6:22","nodeType":"YulIdentifier","src":"197990:6:22"},"nativeSrc":"197990:16:22","nodeType":"YulFunctionCall","src":"197990:16:22"},"nativeSrc":"197990:16:22","nodeType":"YulExpressionStatement","src":"197990:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198026:4:22","nodeType":"YulLiteral","src":"198026:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"198032:2:22","nodeType":"YulIdentifier","src":"198032:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198019:6:22","nodeType":"YulIdentifier","src":"198019:6:22"},"nativeSrc":"198019:16:22","nodeType":"YulFunctionCall","src":"198019:16:22"},"nativeSrc":"198019:16:22","nodeType":"YulExpressionStatement","src":"198019:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37605,"isOffset":false,"isSlot":false,"src":"197684:2:22","valueSize":1},{"declaration":37608,"isOffset":false,"isSlot":false,"src":"197714:2:22","valueSize":1},{"declaration":37611,"isOffset":false,"isSlot":false,"src":"197744:2:22","valueSize":1},{"declaration":37614,"isOffset":false,"isSlot":false,"src":"197774:2:22","valueSize":1},{"declaration":37617,"isOffset":false,"isSlot":false,"src":"197804:2:22","valueSize":1},{"declaration":37595,"isOffset":false,"isSlot":false,"src":"197945:2:22","valueSize":1},{"declaration":37597,"isOffset":false,"isSlot":false,"src":"197974:2:22","valueSize":1},{"declaration":37599,"isOffset":false,"isSlot":false,"src":"198003:2:22","valueSize":1},{"declaration":37601,"isOffset":false,"isSlot":false,"src":"198032:2:22","valueSize":1}],"id":37619,"nodeType":"InlineAssembly","src":"197661:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198070:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198076:4:22","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":37620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"198054:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"198054:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37624,"nodeType":"ExpressionStatement","src":"198054:27:22"},{"AST":{"nativeSrc":"198143:156:22","nodeType":"YulBlock","src":"198143:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"198164:4:22","nodeType":"YulLiteral","src":"198164:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"198170:2:22","nodeType":"YulIdentifier","src":"198170:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198157:6:22","nodeType":"YulIdentifier","src":"198157:6:22"},"nativeSrc":"198157:16:22","nodeType":"YulFunctionCall","src":"198157:16:22"},"nativeSrc":"198157:16:22","nodeType":"YulExpressionStatement","src":"198157:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198193:4:22","nodeType":"YulLiteral","src":"198193:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"198199:2:22","nodeType":"YulIdentifier","src":"198199:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198186:6:22","nodeType":"YulIdentifier","src":"198186:6:22"},"nativeSrc":"198186:16:22","nodeType":"YulFunctionCall","src":"198186:16:22"},"nativeSrc":"198186:16:22","nodeType":"YulExpressionStatement","src":"198186:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198222:4:22","nodeType":"YulLiteral","src":"198222:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"198228:2:22","nodeType":"YulIdentifier","src":"198228:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198215:6:22","nodeType":"YulIdentifier","src":"198215:6:22"},"nativeSrc":"198215:16:22","nodeType":"YulFunctionCall","src":"198215:16:22"},"nativeSrc":"198215:16:22","nodeType":"YulExpressionStatement","src":"198215:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198251:4:22","nodeType":"YulLiteral","src":"198251:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"198257:2:22","nodeType":"YulIdentifier","src":"198257:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198244:6:22","nodeType":"YulIdentifier","src":"198244:6:22"},"nativeSrc":"198244:16:22","nodeType":"YulFunctionCall","src":"198244:16:22"},"nativeSrc":"198244:16:22","nodeType":"YulExpressionStatement","src":"198244:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198280:4:22","nodeType":"YulLiteral","src":"198280:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"198286:2:22","nodeType":"YulIdentifier","src":"198286:2:22"}],"functionName":{"name":"mstore","nativeSrc":"198273:6:22","nodeType":"YulIdentifier","src":"198273:6:22"},"nativeSrc":"198273:16:22","nodeType":"YulFunctionCall","src":"198273:16:22"},"nativeSrc":"198273:16:22","nodeType":"YulExpressionStatement","src":"198273:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37605,"isOffset":false,"isSlot":false,"src":"198170:2:22","valueSize":1},{"declaration":37608,"isOffset":false,"isSlot":false,"src":"198199:2:22","valueSize":1},{"declaration":37611,"isOffset":false,"isSlot":false,"src":"198228:2:22","valueSize":1},{"declaration":37614,"isOffset":false,"isSlot":false,"src":"198257:2:22","valueSize":1},{"declaration":37617,"isOffset":false,"isSlot":false,"src":"198286:2:22","valueSize":1}],"id":37625,"nodeType":"InlineAssembly","src":"198134:165:22"}]},"id":37627,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"197448:3:22","nodeType":"FunctionDefinition","parameters":{"id":37602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37595,"mutability":"mutable","name":"p0","nameLocation":"197457:2:22","nodeType":"VariableDeclaration","scope":37627,"src":"197452:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37594,"name":"bool","nodeType":"ElementaryTypeName","src":"197452:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37597,"mutability":"mutable","name":"p1","nameLocation":"197466:2:22","nodeType":"VariableDeclaration","scope":37627,"src":"197461:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37596,"name":"bool","nodeType":"ElementaryTypeName","src":"197461:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37599,"mutability":"mutable","name":"p2","nameLocation":"197478:2:22","nodeType":"VariableDeclaration","scope":37627,"src":"197470:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37598,"name":"uint256","nodeType":"ElementaryTypeName","src":"197470:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37601,"mutability":"mutable","name":"p3","nameLocation":"197490:2:22","nodeType":"VariableDeclaration","scope":37627,"src":"197482:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37600,"name":"uint256","nodeType":"ElementaryTypeName","src":"197482:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"197451:42:22"},"returnParameters":{"id":37603,"nodeType":"ParameterList","parameters":[],"src":"197508:0:22"},"scope":44426,"src":"197439:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37666,"nodeType":"Block","src":"198380:1345:22","statements":[{"assignments":[37639],"declarations":[{"constant":false,"id":37639,"mutability":"mutable","name":"m0","nameLocation":"198398:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198390:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198390:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37640,"nodeType":"VariableDeclarationStatement","src":"198390:10:22"},{"assignments":[37642],"declarations":[{"constant":false,"id":37642,"mutability":"mutable","name":"m1","nameLocation":"198418:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198410:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198410:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37643,"nodeType":"VariableDeclarationStatement","src":"198410:10:22"},{"assignments":[37645],"declarations":[{"constant":false,"id":37645,"mutability":"mutable","name":"m2","nameLocation":"198438:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198430:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198430:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37646,"nodeType":"VariableDeclarationStatement","src":"198430:10:22"},{"assignments":[37648],"declarations":[{"constant":false,"id":37648,"mutability":"mutable","name":"m3","nameLocation":"198458:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198450:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198450:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37649,"nodeType":"VariableDeclarationStatement","src":"198450:10:22"},{"assignments":[37651],"declarations":[{"constant":false,"id":37651,"mutability":"mutable","name":"m4","nameLocation":"198478:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198470:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198470:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37652,"nodeType":"VariableDeclarationStatement","src":"198470:10:22"},{"assignments":[37654],"declarations":[{"constant":false,"id":37654,"mutability":"mutable","name":"m5","nameLocation":"198498:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198490:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198490:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37655,"nodeType":"VariableDeclarationStatement","src":"198490:10:22"},{"assignments":[37657],"declarations":[{"constant":false,"id":37657,"mutability":"mutable","name":"m6","nameLocation":"198518:2:22","nodeType":"VariableDeclaration","scope":37666,"src":"198510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198510:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37658,"nodeType":"VariableDeclarationStatement","src":"198510:10:22"},{"AST":{"nativeSrc":"198582:825:22","nodeType":"YulBlock","src":"198582:825:22","statements":[{"body":{"nativeSrc":"198625:313:22","nodeType":"YulBlock","src":"198625:313:22","statements":[{"nativeSrc":"198643:15:22","nodeType":"YulVariableDeclaration","src":"198643:15:22","value":{"kind":"number","nativeSrc":"198657:1:22","nodeType":"YulLiteral","src":"198657:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"198647:6:22","nodeType":"YulTypedName","src":"198647:6:22","type":""}]},{"body":{"nativeSrc":"198728:40:22","nodeType":"YulBlock","src":"198728:40:22","statements":[{"body":{"nativeSrc":"198757:9:22","nodeType":"YulBlock","src":"198757:9:22","statements":[{"nativeSrc":"198759:5:22","nodeType":"YulBreak","src":"198759:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"198745:6:22","nodeType":"YulIdentifier","src":"198745:6:22"},{"name":"w","nativeSrc":"198753:1:22","nodeType":"YulIdentifier","src":"198753:1:22"}],"functionName":{"name":"byte","nativeSrc":"198740:4:22","nodeType":"YulIdentifier","src":"198740:4:22"},"nativeSrc":"198740:15:22","nodeType":"YulFunctionCall","src":"198740:15:22"}],"functionName":{"name":"iszero","nativeSrc":"198733:6:22","nodeType":"YulIdentifier","src":"198733:6:22"},"nativeSrc":"198733:23:22","nodeType":"YulFunctionCall","src":"198733:23:22"},"nativeSrc":"198730:36:22","nodeType":"YulIf","src":"198730:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"198685:6:22","nodeType":"YulIdentifier","src":"198685:6:22"},{"kind":"number","nativeSrc":"198693:4:22","nodeType":"YulLiteral","src":"198693:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"198682:2:22","nodeType":"YulIdentifier","src":"198682:2:22"},"nativeSrc":"198682:16:22","nodeType":"YulFunctionCall","src":"198682:16:22"},"nativeSrc":"198675:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"198699:28:22","nodeType":"YulBlock","src":"198699:28:22","statements":[{"nativeSrc":"198701:24:22","nodeType":"YulAssignment","src":"198701:24:22","value":{"arguments":[{"name":"length","nativeSrc":"198715:6:22","nodeType":"YulIdentifier","src":"198715:6:22"},{"kind":"number","nativeSrc":"198723:1:22","nodeType":"YulLiteral","src":"198723:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"198711:3:22","nodeType":"YulIdentifier","src":"198711:3:22"},"nativeSrc":"198711:14:22","nodeType":"YulFunctionCall","src":"198711:14:22"},"variableNames":[{"name":"length","nativeSrc":"198701:6:22","nodeType":"YulIdentifier","src":"198701:6:22"}]}]},"pre":{"nativeSrc":"198679:2:22","nodeType":"YulBlock","src":"198679:2:22","statements":[]},"src":"198675:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"198792:3:22","nodeType":"YulIdentifier","src":"198792:3:22"},{"name":"length","nativeSrc":"198797:6:22","nodeType":"YulIdentifier","src":"198797:6:22"}],"functionName":{"name":"mstore","nativeSrc":"198785:6:22","nodeType":"YulIdentifier","src":"198785:6:22"},"nativeSrc":"198785:19:22","nodeType":"YulFunctionCall","src":"198785:19:22"},"nativeSrc":"198785:19:22","nodeType":"YulExpressionStatement","src":"198785:19:22"},{"nativeSrc":"198821:37:22","nodeType":"YulVariableDeclaration","src":"198821:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"198838:3:22","nodeType":"YulLiteral","src":"198838:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"198847:1:22","nodeType":"YulLiteral","src":"198847:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"198850:6:22","nodeType":"YulIdentifier","src":"198850:6:22"}],"functionName":{"name":"shl","nativeSrc":"198843:3:22","nodeType":"YulIdentifier","src":"198843:3:22"},"nativeSrc":"198843:14:22","nodeType":"YulFunctionCall","src":"198843:14:22"}],"functionName":{"name":"sub","nativeSrc":"198834:3:22","nodeType":"YulIdentifier","src":"198834:3:22"},"nativeSrc":"198834:24:22","nodeType":"YulFunctionCall","src":"198834:24:22"},"variables":[{"name":"shift","nativeSrc":"198825:5:22","nodeType":"YulTypedName","src":"198825:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"198886:3:22","nodeType":"YulIdentifier","src":"198886:3:22"},{"kind":"number","nativeSrc":"198891:4:22","nodeType":"YulLiteral","src":"198891:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"198882:3:22","nodeType":"YulIdentifier","src":"198882:3:22"},"nativeSrc":"198882:14:22","nodeType":"YulFunctionCall","src":"198882:14:22"},{"arguments":[{"name":"shift","nativeSrc":"198902:5:22","nodeType":"YulIdentifier","src":"198902:5:22"},{"arguments":[{"name":"shift","nativeSrc":"198913:5:22","nodeType":"YulIdentifier","src":"198913:5:22"},{"name":"w","nativeSrc":"198920:1:22","nodeType":"YulIdentifier","src":"198920:1:22"}],"functionName":{"name":"shr","nativeSrc":"198909:3:22","nodeType":"YulIdentifier","src":"198909:3:22"},"nativeSrc":"198909:13:22","nodeType":"YulFunctionCall","src":"198909:13:22"}],"functionName":{"name":"shl","nativeSrc":"198898:3:22","nodeType":"YulIdentifier","src":"198898:3:22"},"nativeSrc":"198898:25:22","nodeType":"YulFunctionCall","src":"198898:25:22"}],"functionName":{"name":"mstore","nativeSrc":"198875:6:22","nodeType":"YulIdentifier","src":"198875:6:22"},"nativeSrc":"198875:49:22","nodeType":"YulFunctionCall","src":"198875:49:22"},"nativeSrc":"198875:49:22","nodeType":"YulExpressionStatement","src":"198875:49:22"}]},"name":"writeString","nativeSrc":"198596:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"198617:3:22","nodeType":"YulTypedName","src":"198617:3:22","type":""},{"name":"w","nativeSrc":"198622:1:22","nodeType":"YulTypedName","src":"198622:1:22","type":""}],"src":"198596:342:22"},{"nativeSrc":"198951:17:22","nodeType":"YulAssignment","src":"198951:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"198963:4:22","nodeType":"YulLiteral","src":"198963:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"198957:5:22","nodeType":"YulIdentifier","src":"198957:5:22"},"nativeSrc":"198957:11:22","nodeType":"YulFunctionCall","src":"198957:11:22"},"variableNames":[{"name":"m0","nativeSrc":"198951:2:22","nodeType":"YulIdentifier","src":"198951:2:22"}]},{"nativeSrc":"198981:17:22","nodeType":"YulAssignment","src":"198981:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"198993:4:22","nodeType":"YulLiteral","src":"198993:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"198987:5:22","nodeType":"YulIdentifier","src":"198987:5:22"},"nativeSrc":"198987:11:22","nodeType":"YulFunctionCall","src":"198987:11:22"},"variableNames":[{"name":"m1","nativeSrc":"198981:2:22","nodeType":"YulIdentifier","src":"198981:2:22"}]},{"nativeSrc":"199011:17:22","nodeType":"YulAssignment","src":"199011:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"199023:4:22","nodeType":"YulLiteral","src":"199023:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"199017:5:22","nodeType":"YulIdentifier","src":"199017:5:22"},"nativeSrc":"199017:11:22","nodeType":"YulFunctionCall","src":"199017:11:22"},"variableNames":[{"name":"m2","nativeSrc":"199011:2:22","nodeType":"YulIdentifier","src":"199011:2:22"}]},{"nativeSrc":"199041:17:22","nodeType":"YulAssignment","src":"199041:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"199053:4:22","nodeType":"YulLiteral","src":"199053:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"199047:5:22","nodeType":"YulIdentifier","src":"199047:5:22"},"nativeSrc":"199047:11:22","nodeType":"YulFunctionCall","src":"199047:11:22"},"variableNames":[{"name":"m3","nativeSrc":"199041:2:22","nodeType":"YulIdentifier","src":"199041:2:22"}]},{"nativeSrc":"199071:17:22","nodeType":"YulAssignment","src":"199071:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"199083:4:22","nodeType":"YulLiteral","src":"199083:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"199077:5:22","nodeType":"YulIdentifier","src":"199077:5:22"},"nativeSrc":"199077:11:22","nodeType":"YulFunctionCall","src":"199077:11:22"},"variableNames":[{"name":"m4","nativeSrc":"199071:2:22","nodeType":"YulIdentifier","src":"199071:2:22"}]},{"nativeSrc":"199101:17:22","nodeType":"YulAssignment","src":"199101:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"199113:4:22","nodeType":"YulLiteral","src":"199113:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"199107:5:22","nodeType":"YulIdentifier","src":"199107:5:22"},"nativeSrc":"199107:11:22","nodeType":"YulFunctionCall","src":"199107:11:22"},"variableNames":[{"name":"m5","nativeSrc":"199101:2:22","nodeType":"YulIdentifier","src":"199101:2:22"}]},{"nativeSrc":"199131:17:22","nodeType":"YulAssignment","src":"199131:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"199143:4:22","nodeType":"YulLiteral","src":"199143:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"199137:5:22","nodeType":"YulIdentifier","src":"199137:5:22"},"nativeSrc":"199137:11:22","nodeType":"YulFunctionCall","src":"199137:11:22"},"variableNames":[{"name":"m6","nativeSrc":"199131:2:22","nodeType":"YulIdentifier","src":"199131:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199228:4:22","nodeType":"YulLiteral","src":"199228:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"199234:10:22","nodeType":"YulLiteral","src":"199234:10:22","type":"","value":"0x7dd4d0e0"}],"functionName":{"name":"mstore","nativeSrc":"199221:6:22","nodeType":"YulIdentifier","src":"199221:6:22"},"nativeSrc":"199221:24:22","nodeType":"YulFunctionCall","src":"199221:24:22"},"nativeSrc":"199221:24:22","nodeType":"YulExpressionStatement","src":"199221:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199265:4:22","nodeType":"YulLiteral","src":"199265:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"199271:2:22","nodeType":"YulIdentifier","src":"199271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199258:6:22","nodeType":"YulIdentifier","src":"199258:6:22"},"nativeSrc":"199258:16:22","nodeType":"YulFunctionCall","src":"199258:16:22"},"nativeSrc":"199258:16:22","nodeType":"YulExpressionStatement","src":"199258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199294:4:22","nodeType":"YulLiteral","src":"199294:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"199300:2:22","nodeType":"YulIdentifier","src":"199300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199287:6:22","nodeType":"YulIdentifier","src":"199287:6:22"},"nativeSrc":"199287:16:22","nodeType":"YulFunctionCall","src":"199287:16:22"},"nativeSrc":"199287:16:22","nodeType":"YulExpressionStatement","src":"199287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199323:4:22","nodeType":"YulLiteral","src":"199323:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"199329:2:22","nodeType":"YulIdentifier","src":"199329:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199316:6:22","nodeType":"YulIdentifier","src":"199316:6:22"},"nativeSrc":"199316:16:22","nodeType":"YulFunctionCall","src":"199316:16:22"},"nativeSrc":"199316:16:22","nodeType":"YulExpressionStatement","src":"199316:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199352:4:22","nodeType":"YulLiteral","src":"199352:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"199358:4:22","nodeType":"YulLiteral","src":"199358:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"199345:6:22","nodeType":"YulIdentifier","src":"199345:6:22"},"nativeSrc":"199345:18:22","nodeType":"YulFunctionCall","src":"199345:18:22"},"nativeSrc":"199345:18:22","nodeType":"YulExpressionStatement","src":"199345:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199388:4:22","nodeType":"YulLiteral","src":"199388:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"199394:2:22","nodeType":"YulIdentifier","src":"199394:2:22"}],"functionName":{"name":"writeString","nativeSrc":"199376:11:22","nodeType":"YulIdentifier","src":"199376:11:22"},"nativeSrc":"199376:21:22","nodeType":"YulFunctionCall","src":"199376:21:22"},"nativeSrc":"199376:21:22","nodeType":"YulExpressionStatement","src":"199376:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37639,"isOffset":false,"isSlot":false,"src":"198951:2:22","valueSize":1},{"declaration":37642,"isOffset":false,"isSlot":false,"src":"198981:2:22","valueSize":1},{"declaration":37645,"isOffset":false,"isSlot":false,"src":"199011:2:22","valueSize":1},{"declaration":37648,"isOffset":false,"isSlot":false,"src":"199041:2:22","valueSize":1},{"declaration":37651,"isOffset":false,"isSlot":false,"src":"199071:2:22","valueSize":1},{"declaration":37654,"isOffset":false,"isSlot":false,"src":"199101:2:22","valueSize":1},{"declaration":37657,"isOffset":false,"isSlot":false,"src":"199131:2:22","valueSize":1},{"declaration":37629,"isOffset":false,"isSlot":false,"src":"199271:2:22","valueSize":1},{"declaration":37631,"isOffset":false,"isSlot":false,"src":"199300:2:22","valueSize":1},{"declaration":37633,"isOffset":false,"isSlot":false,"src":"199329:2:22","valueSize":1},{"declaration":37635,"isOffset":false,"isSlot":false,"src":"199394:2:22","valueSize":1}],"id":37659,"nodeType":"InlineAssembly","src":"198573:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199432:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199438:4:22","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":37660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"199416:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"199416:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37664,"nodeType":"ExpressionStatement","src":"199416:27:22"},{"AST":{"nativeSrc":"199505:214:22","nodeType":"YulBlock","src":"199505:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"199526:4:22","nodeType":"YulLiteral","src":"199526:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"199532:2:22","nodeType":"YulIdentifier","src":"199532:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199519:6:22","nodeType":"YulIdentifier","src":"199519:6:22"},"nativeSrc":"199519:16:22","nodeType":"YulFunctionCall","src":"199519:16:22"},"nativeSrc":"199519:16:22","nodeType":"YulExpressionStatement","src":"199519:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199555:4:22","nodeType":"YulLiteral","src":"199555:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"199561:2:22","nodeType":"YulIdentifier","src":"199561:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199548:6:22","nodeType":"YulIdentifier","src":"199548:6:22"},"nativeSrc":"199548:16:22","nodeType":"YulFunctionCall","src":"199548:16:22"},"nativeSrc":"199548:16:22","nodeType":"YulExpressionStatement","src":"199548:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199584:4:22","nodeType":"YulLiteral","src":"199584:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"199590:2:22","nodeType":"YulIdentifier","src":"199590:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199577:6:22","nodeType":"YulIdentifier","src":"199577:6:22"},"nativeSrc":"199577:16:22","nodeType":"YulFunctionCall","src":"199577:16:22"},"nativeSrc":"199577:16:22","nodeType":"YulExpressionStatement","src":"199577:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199613:4:22","nodeType":"YulLiteral","src":"199613:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"199619:2:22","nodeType":"YulIdentifier","src":"199619:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199606:6:22","nodeType":"YulIdentifier","src":"199606:6:22"},"nativeSrc":"199606:16:22","nodeType":"YulFunctionCall","src":"199606:16:22"},"nativeSrc":"199606:16:22","nodeType":"YulExpressionStatement","src":"199606:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199642:4:22","nodeType":"YulLiteral","src":"199642:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"199648:2:22","nodeType":"YulIdentifier","src":"199648:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199635:6:22","nodeType":"YulIdentifier","src":"199635:6:22"},"nativeSrc":"199635:16:22","nodeType":"YulFunctionCall","src":"199635:16:22"},"nativeSrc":"199635:16:22","nodeType":"YulExpressionStatement","src":"199635:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199671:4:22","nodeType":"YulLiteral","src":"199671:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"199677:2:22","nodeType":"YulIdentifier","src":"199677:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199664:6:22","nodeType":"YulIdentifier","src":"199664:6:22"},"nativeSrc":"199664:16:22","nodeType":"YulFunctionCall","src":"199664:16:22"},"nativeSrc":"199664:16:22","nodeType":"YulExpressionStatement","src":"199664:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199700:4:22","nodeType":"YulLiteral","src":"199700:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"199706:2:22","nodeType":"YulIdentifier","src":"199706:2:22"}],"functionName":{"name":"mstore","nativeSrc":"199693:6:22","nodeType":"YulIdentifier","src":"199693:6:22"},"nativeSrc":"199693:16:22","nodeType":"YulFunctionCall","src":"199693:16:22"},"nativeSrc":"199693:16:22","nodeType":"YulExpressionStatement","src":"199693:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37639,"isOffset":false,"isSlot":false,"src":"199532:2:22","valueSize":1},{"declaration":37642,"isOffset":false,"isSlot":false,"src":"199561:2:22","valueSize":1},{"declaration":37645,"isOffset":false,"isSlot":false,"src":"199590:2:22","valueSize":1},{"declaration":37648,"isOffset":false,"isSlot":false,"src":"199619:2:22","valueSize":1},{"declaration":37651,"isOffset":false,"isSlot":false,"src":"199648:2:22","valueSize":1},{"declaration":37654,"isOffset":false,"isSlot":false,"src":"199677:2:22","valueSize":1},{"declaration":37657,"isOffset":false,"isSlot":false,"src":"199706:2:22","valueSize":1}],"id":37665,"nodeType":"InlineAssembly","src":"199496:223:22"}]},"id":37667,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"198320:3:22","nodeType":"FunctionDefinition","parameters":{"id":37636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37629,"mutability":"mutable","name":"p0","nameLocation":"198329:2:22","nodeType":"VariableDeclaration","scope":37667,"src":"198324:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37628,"name":"bool","nodeType":"ElementaryTypeName","src":"198324:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37631,"mutability":"mutable","name":"p1","nameLocation":"198338:2:22","nodeType":"VariableDeclaration","scope":37667,"src":"198333:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37630,"name":"bool","nodeType":"ElementaryTypeName","src":"198333:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37633,"mutability":"mutable","name":"p2","nameLocation":"198350:2:22","nodeType":"VariableDeclaration","scope":37667,"src":"198342:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37632,"name":"uint256","nodeType":"ElementaryTypeName","src":"198342:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37635,"mutability":"mutable","name":"p3","nameLocation":"198362:2:22","nodeType":"VariableDeclaration","scope":37667,"src":"198354:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198354:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"198323:42:22"},"returnParameters":{"id":37637,"nodeType":"ParameterList","parameters":[],"src":"198380:0:22"},"scope":44426,"src":"198311:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37706,"nodeType":"Block","src":"199800:1345:22","statements":[{"assignments":[37679],"declarations":[{"constant":false,"id":37679,"mutability":"mutable","name":"m0","nameLocation":"199818:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199810:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199810:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37680,"nodeType":"VariableDeclarationStatement","src":"199810:10:22"},{"assignments":[37682],"declarations":[{"constant":false,"id":37682,"mutability":"mutable","name":"m1","nameLocation":"199838:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199830:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199830:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37683,"nodeType":"VariableDeclarationStatement","src":"199830:10:22"},{"assignments":[37685],"declarations":[{"constant":false,"id":37685,"mutability":"mutable","name":"m2","nameLocation":"199858:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199850:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199850:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37686,"nodeType":"VariableDeclarationStatement","src":"199850:10:22"},{"assignments":[37688],"declarations":[{"constant":false,"id":37688,"mutability":"mutable","name":"m3","nameLocation":"199878:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199870:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199870:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37689,"nodeType":"VariableDeclarationStatement","src":"199870:10:22"},{"assignments":[37691],"declarations":[{"constant":false,"id":37691,"mutability":"mutable","name":"m4","nameLocation":"199898:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199890:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199890:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37692,"nodeType":"VariableDeclarationStatement","src":"199890:10:22"},{"assignments":[37694],"declarations":[{"constant":false,"id":37694,"mutability":"mutable","name":"m5","nameLocation":"199918:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199910:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199910:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37695,"nodeType":"VariableDeclarationStatement","src":"199910:10:22"},{"assignments":[37697],"declarations":[{"constant":false,"id":37697,"mutability":"mutable","name":"m6","nameLocation":"199938:2:22","nodeType":"VariableDeclaration","scope":37706,"src":"199930:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199930:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37698,"nodeType":"VariableDeclarationStatement","src":"199930:10:22"},{"AST":{"nativeSrc":"200002:825:22","nodeType":"YulBlock","src":"200002:825:22","statements":[{"body":{"nativeSrc":"200045:313:22","nodeType":"YulBlock","src":"200045:313:22","statements":[{"nativeSrc":"200063:15:22","nodeType":"YulVariableDeclaration","src":"200063:15:22","value":{"kind":"number","nativeSrc":"200077:1:22","nodeType":"YulLiteral","src":"200077:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"200067:6:22","nodeType":"YulTypedName","src":"200067:6:22","type":""}]},{"body":{"nativeSrc":"200148:40:22","nodeType":"YulBlock","src":"200148:40:22","statements":[{"body":{"nativeSrc":"200177:9:22","nodeType":"YulBlock","src":"200177:9:22","statements":[{"nativeSrc":"200179:5:22","nodeType":"YulBreak","src":"200179:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"200165:6:22","nodeType":"YulIdentifier","src":"200165:6:22"},{"name":"w","nativeSrc":"200173:1:22","nodeType":"YulIdentifier","src":"200173:1:22"}],"functionName":{"name":"byte","nativeSrc":"200160:4:22","nodeType":"YulIdentifier","src":"200160:4:22"},"nativeSrc":"200160:15:22","nodeType":"YulFunctionCall","src":"200160:15:22"}],"functionName":{"name":"iszero","nativeSrc":"200153:6:22","nodeType":"YulIdentifier","src":"200153:6:22"},"nativeSrc":"200153:23:22","nodeType":"YulFunctionCall","src":"200153:23:22"},"nativeSrc":"200150:36:22","nodeType":"YulIf","src":"200150:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"200105:6:22","nodeType":"YulIdentifier","src":"200105:6:22"},{"kind":"number","nativeSrc":"200113:4:22","nodeType":"YulLiteral","src":"200113:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"200102:2:22","nodeType":"YulIdentifier","src":"200102:2:22"},"nativeSrc":"200102:16:22","nodeType":"YulFunctionCall","src":"200102:16:22"},"nativeSrc":"200095:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"200119:28:22","nodeType":"YulBlock","src":"200119:28:22","statements":[{"nativeSrc":"200121:24:22","nodeType":"YulAssignment","src":"200121:24:22","value":{"arguments":[{"name":"length","nativeSrc":"200135:6:22","nodeType":"YulIdentifier","src":"200135:6:22"},{"kind":"number","nativeSrc":"200143:1:22","nodeType":"YulLiteral","src":"200143:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"200131:3:22","nodeType":"YulIdentifier","src":"200131:3:22"},"nativeSrc":"200131:14:22","nodeType":"YulFunctionCall","src":"200131:14:22"},"variableNames":[{"name":"length","nativeSrc":"200121:6:22","nodeType":"YulIdentifier","src":"200121:6:22"}]}]},"pre":{"nativeSrc":"200099:2:22","nodeType":"YulBlock","src":"200099:2:22","statements":[]},"src":"200095:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"200212:3:22","nodeType":"YulIdentifier","src":"200212:3:22"},{"name":"length","nativeSrc":"200217:6:22","nodeType":"YulIdentifier","src":"200217:6:22"}],"functionName":{"name":"mstore","nativeSrc":"200205:6:22","nodeType":"YulIdentifier","src":"200205:6:22"},"nativeSrc":"200205:19:22","nodeType":"YulFunctionCall","src":"200205:19:22"},"nativeSrc":"200205:19:22","nodeType":"YulExpressionStatement","src":"200205:19:22"},{"nativeSrc":"200241:37:22","nodeType":"YulVariableDeclaration","src":"200241:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"200258:3:22","nodeType":"YulLiteral","src":"200258:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"200267:1:22","nodeType":"YulLiteral","src":"200267:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"200270:6:22","nodeType":"YulIdentifier","src":"200270:6:22"}],"functionName":{"name":"shl","nativeSrc":"200263:3:22","nodeType":"YulIdentifier","src":"200263:3:22"},"nativeSrc":"200263:14:22","nodeType":"YulFunctionCall","src":"200263:14:22"}],"functionName":{"name":"sub","nativeSrc":"200254:3:22","nodeType":"YulIdentifier","src":"200254:3:22"},"nativeSrc":"200254:24:22","nodeType":"YulFunctionCall","src":"200254:24:22"},"variables":[{"name":"shift","nativeSrc":"200245:5:22","nodeType":"YulTypedName","src":"200245:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"200306:3:22","nodeType":"YulIdentifier","src":"200306:3:22"},{"kind":"number","nativeSrc":"200311:4:22","nodeType":"YulLiteral","src":"200311:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"200302:3:22","nodeType":"YulIdentifier","src":"200302:3:22"},"nativeSrc":"200302:14:22","nodeType":"YulFunctionCall","src":"200302:14:22"},{"arguments":[{"name":"shift","nativeSrc":"200322:5:22","nodeType":"YulIdentifier","src":"200322:5:22"},{"arguments":[{"name":"shift","nativeSrc":"200333:5:22","nodeType":"YulIdentifier","src":"200333:5:22"},{"name":"w","nativeSrc":"200340:1:22","nodeType":"YulIdentifier","src":"200340:1:22"}],"functionName":{"name":"shr","nativeSrc":"200329:3:22","nodeType":"YulIdentifier","src":"200329:3:22"},"nativeSrc":"200329:13:22","nodeType":"YulFunctionCall","src":"200329:13:22"}],"functionName":{"name":"shl","nativeSrc":"200318:3:22","nodeType":"YulIdentifier","src":"200318:3:22"},"nativeSrc":"200318:25:22","nodeType":"YulFunctionCall","src":"200318:25:22"}],"functionName":{"name":"mstore","nativeSrc":"200295:6:22","nodeType":"YulIdentifier","src":"200295:6:22"},"nativeSrc":"200295:49:22","nodeType":"YulFunctionCall","src":"200295:49:22"},"nativeSrc":"200295:49:22","nodeType":"YulExpressionStatement","src":"200295:49:22"}]},"name":"writeString","nativeSrc":"200016:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"200037:3:22","nodeType":"YulTypedName","src":"200037:3:22","type":""},{"name":"w","nativeSrc":"200042:1:22","nodeType":"YulTypedName","src":"200042:1:22","type":""}],"src":"200016:342:22"},{"nativeSrc":"200371:17:22","nodeType":"YulAssignment","src":"200371:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200383:4:22","nodeType":"YulLiteral","src":"200383:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"200377:5:22","nodeType":"YulIdentifier","src":"200377:5:22"},"nativeSrc":"200377:11:22","nodeType":"YulFunctionCall","src":"200377:11:22"},"variableNames":[{"name":"m0","nativeSrc":"200371:2:22","nodeType":"YulIdentifier","src":"200371:2:22"}]},{"nativeSrc":"200401:17:22","nodeType":"YulAssignment","src":"200401:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200413:4:22","nodeType":"YulLiteral","src":"200413:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"200407:5:22","nodeType":"YulIdentifier","src":"200407:5:22"},"nativeSrc":"200407:11:22","nodeType":"YulFunctionCall","src":"200407:11:22"},"variableNames":[{"name":"m1","nativeSrc":"200401:2:22","nodeType":"YulIdentifier","src":"200401:2:22"}]},{"nativeSrc":"200431:17:22","nodeType":"YulAssignment","src":"200431:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200443:4:22","nodeType":"YulLiteral","src":"200443:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"200437:5:22","nodeType":"YulIdentifier","src":"200437:5:22"},"nativeSrc":"200437:11:22","nodeType":"YulFunctionCall","src":"200437:11:22"},"variableNames":[{"name":"m2","nativeSrc":"200431:2:22","nodeType":"YulIdentifier","src":"200431:2:22"}]},{"nativeSrc":"200461:17:22","nodeType":"YulAssignment","src":"200461:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200473:4:22","nodeType":"YulLiteral","src":"200473:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"200467:5:22","nodeType":"YulIdentifier","src":"200467:5:22"},"nativeSrc":"200467:11:22","nodeType":"YulFunctionCall","src":"200467:11:22"},"variableNames":[{"name":"m3","nativeSrc":"200461:2:22","nodeType":"YulIdentifier","src":"200461:2:22"}]},{"nativeSrc":"200491:17:22","nodeType":"YulAssignment","src":"200491:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200503:4:22","nodeType":"YulLiteral","src":"200503:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"200497:5:22","nodeType":"YulIdentifier","src":"200497:5:22"},"nativeSrc":"200497:11:22","nodeType":"YulFunctionCall","src":"200497:11:22"},"variableNames":[{"name":"m4","nativeSrc":"200491:2:22","nodeType":"YulIdentifier","src":"200491:2:22"}]},{"nativeSrc":"200521:17:22","nodeType":"YulAssignment","src":"200521:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200533:4:22","nodeType":"YulLiteral","src":"200533:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"200527:5:22","nodeType":"YulIdentifier","src":"200527:5:22"},"nativeSrc":"200527:11:22","nodeType":"YulFunctionCall","src":"200527:11:22"},"variableNames":[{"name":"m5","nativeSrc":"200521:2:22","nodeType":"YulIdentifier","src":"200521:2:22"}]},{"nativeSrc":"200551:17:22","nodeType":"YulAssignment","src":"200551:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"200563:4:22","nodeType":"YulLiteral","src":"200563:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"200557:5:22","nodeType":"YulIdentifier","src":"200557:5:22"},"nativeSrc":"200557:11:22","nodeType":"YulFunctionCall","src":"200557:11:22"},"variableNames":[{"name":"m6","nativeSrc":"200551:2:22","nodeType":"YulIdentifier","src":"200551:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200648:4:22","nodeType":"YulLiteral","src":"200648:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"200654:10:22","nodeType":"YulLiteral","src":"200654:10:22","type":"","value":"0xf9ad2b89"}],"functionName":{"name":"mstore","nativeSrc":"200641:6:22","nodeType":"YulIdentifier","src":"200641:6:22"},"nativeSrc":"200641:24:22","nodeType":"YulFunctionCall","src":"200641:24:22"},"nativeSrc":"200641:24:22","nodeType":"YulExpressionStatement","src":"200641:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200685:4:22","nodeType":"YulLiteral","src":"200685:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"200691:2:22","nodeType":"YulIdentifier","src":"200691:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200678:6:22","nodeType":"YulIdentifier","src":"200678:6:22"},"nativeSrc":"200678:16:22","nodeType":"YulFunctionCall","src":"200678:16:22"},"nativeSrc":"200678:16:22","nodeType":"YulExpressionStatement","src":"200678:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200714:4:22","nodeType":"YulLiteral","src":"200714:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"200720:2:22","nodeType":"YulIdentifier","src":"200720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200707:6:22","nodeType":"YulIdentifier","src":"200707:6:22"},"nativeSrc":"200707:16:22","nodeType":"YulFunctionCall","src":"200707:16:22"},"nativeSrc":"200707:16:22","nodeType":"YulExpressionStatement","src":"200707:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200743:4:22","nodeType":"YulLiteral","src":"200743:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"200749:4:22","nodeType":"YulLiteral","src":"200749:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"200736:6:22","nodeType":"YulIdentifier","src":"200736:6:22"},"nativeSrc":"200736:18:22","nodeType":"YulFunctionCall","src":"200736:18:22"},"nativeSrc":"200736:18:22","nodeType":"YulExpressionStatement","src":"200736:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200774:4:22","nodeType":"YulLiteral","src":"200774:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"200780:2:22","nodeType":"YulIdentifier","src":"200780:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200767:6:22","nodeType":"YulIdentifier","src":"200767:6:22"},"nativeSrc":"200767:16:22","nodeType":"YulFunctionCall","src":"200767:16:22"},"nativeSrc":"200767:16:22","nodeType":"YulExpressionStatement","src":"200767:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200808:4:22","nodeType":"YulLiteral","src":"200808:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"200814:2:22","nodeType":"YulIdentifier","src":"200814:2:22"}],"functionName":{"name":"writeString","nativeSrc":"200796:11:22","nodeType":"YulIdentifier","src":"200796:11:22"},"nativeSrc":"200796:21:22","nodeType":"YulFunctionCall","src":"200796:21:22"},"nativeSrc":"200796:21:22","nodeType":"YulExpressionStatement","src":"200796:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37679,"isOffset":false,"isSlot":false,"src":"200371:2:22","valueSize":1},{"declaration":37682,"isOffset":false,"isSlot":false,"src":"200401:2:22","valueSize":1},{"declaration":37685,"isOffset":false,"isSlot":false,"src":"200431:2:22","valueSize":1},{"declaration":37688,"isOffset":false,"isSlot":false,"src":"200461:2:22","valueSize":1},{"declaration":37691,"isOffset":false,"isSlot":false,"src":"200491:2:22","valueSize":1},{"declaration":37694,"isOffset":false,"isSlot":false,"src":"200521:2:22","valueSize":1},{"declaration":37697,"isOffset":false,"isSlot":false,"src":"200551:2:22","valueSize":1},{"declaration":37669,"isOffset":false,"isSlot":false,"src":"200691:2:22","valueSize":1},{"declaration":37671,"isOffset":false,"isSlot":false,"src":"200720:2:22","valueSize":1},{"declaration":37673,"isOffset":false,"isSlot":false,"src":"200814:2:22","valueSize":1},{"declaration":37675,"isOffset":false,"isSlot":false,"src":"200780:2:22","valueSize":1}],"id":37699,"nodeType":"InlineAssembly","src":"199993:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200852:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200858:4:22","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":37700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"200836:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"200836:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37704,"nodeType":"ExpressionStatement","src":"200836:27:22"},{"AST":{"nativeSrc":"200925:214:22","nodeType":"YulBlock","src":"200925:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"200946:4:22","nodeType":"YulLiteral","src":"200946:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"200952:2:22","nodeType":"YulIdentifier","src":"200952:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200939:6:22","nodeType":"YulIdentifier","src":"200939:6:22"},"nativeSrc":"200939:16:22","nodeType":"YulFunctionCall","src":"200939:16:22"},"nativeSrc":"200939:16:22","nodeType":"YulExpressionStatement","src":"200939:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200975:4:22","nodeType":"YulLiteral","src":"200975:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"200981:2:22","nodeType":"YulIdentifier","src":"200981:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200968:6:22","nodeType":"YulIdentifier","src":"200968:6:22"},"nativeSrc":"200968:16:22","nodeType":"YulFunctionCall","src":"200968:16:22"},"nativeSrc":"200968:16:22","nodeType":"YulExpressionStatement","src":"200968:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201004:4:22","nodeType":"YulLiteral","src":"201004:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"201010:2:22","nodeType":"YulIdentifier","src":"201010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"200997:6:22","nodeType":"YulIdentifier","src":"200997:6:22"},"nativeSrc":"200997:16:22","nodeType":"YulFunctionCall","src":"200997:16:22"},"nativeSrc":"200997:16:22","nodeType":"YulExpressionStatement","src":"200997:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201033:4:22","nodeType":"YulLiteral","src":"201033:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"201039:2:22","nodeType":"YulIdentifier","src":"201039:2:22"}],"functionName":{"name":"mstore","nativeSrc":"201026:6:22","nodeType":"YulIdentifier","src":"201026:6:22"},"nativeSrc":"201026:16:22","nodeType":"YulFunctionCall","src":"201026:16:22"},"nativeSrc":"201026:16:22","nodeType":"YulExpressionStatement","src":"201026:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201062:4:22","nodeType":"YulLiteral","src":"201062:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"201068:2:22","nodeType":"YulIdentifier","src":"201068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"201055:6:22","nodeType":"YulIdentifier","src":"201055:6:22"},"nativeSrc":"201055:16:22","nodeType":"YulFunctionCall","src":"201055:16:22"},"nativeSrc":"201055:16:22","nodeType":"YulExpressionStatement","src":"201055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201091:4:22","nodeType":"YulLiteral","src":"201091:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"201097:2:22","nodeType":"YulIdentifier","src":"201097:2:22"}],"functionName":{"name":"mstore","nativeSrc":"201084:6:22","nodeType":"YulIdentifier","src":"201084:6:22"},"nativeSrc":"201084:16:22","nodeType":"YulFunctionCall","src":"201084:16:22"},"nativeSrc":"201084:16:22","nodeType":"YulExpressionStatement","src":"201084:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201120:4:22","nodeType":"YulLiteral","src":"201120:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"201126:2:22","nodeType":"YulIdentifier","src":"201126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"201113:6:22","nodeType":"YulIdentifier","src":"201113:6:22"},"nativeSrc":"201113:16:22","nodeType":"YulFunctionCall","src":"201113:16:22"},"nativeSrc":"201113:16:22","nodeType":"YulExpressionStatement","src":"201113:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37679,"isOffset":false,"isSlot":false,"src":"200952:2:22","valueSize":1},{"declaration":37682,"isOffset":false,"isSlot":false,"src":"200981:2:22","valueSize":1},{"declaration":37685,"isOffset":false,"isSlot":false,"src":"201010:2:22","valueSize":1},{"declaration":37688,"isOffset":false,"isSlot":false,"src":"201039:2:22","valueSize":1},{"declaration":37691,"isOffset":false,"isSlot":false,"src":"201068:2:22","valueSize":1},{"declaration":37694,"isOffset":false,"isSlot":false,"src":"201097:2:22","valueSize":1},{"declaration":37697,"isOffset":false,"isSlot":false,"src":"201126:2:22","valueSize":1}],"id":37705,"nodeType":"InlineAssembly","src":"200916:223:22"}]},"id":37707,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"199740:3:22","nodeType":"FunctionDefinition","parameters":{"id":37676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37669,"mutability":"mutable","name":"p0","nameLocation":"199749:2:22","nodeType":"VariableDeclaration","scope":37707,"src":"199744:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37668,"name":"bool","nodeType":"ElementaryTypeName","src":"199744:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37671,"mutability":"mutable","name":"p1","nameLocation":"199758:2:22","nodeType":"VariableDeclaration","scope":37707,"src":"199753:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37670,"name":"bool","nodeType":"ElementaryTypeName","src":"199753:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37673,"mutability":"mutable","name":"p2","nameLocation":"199770:2:22","nodeType":"VariableDeclaration","scope":37707,"src":"199762:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199762:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37675,"mutability":"mutable","name":"p3","nameLocation":"199782:2:22","nodeType":"VariableDeclaration","scope":37707,"src":"199774:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37674,"name":"address","nodeType":"ElementaryTypeName","src":"199774:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"199743:42:22"},"returnParameters":{"id":37677,"nodeType":"ParameterList","parameters":[],"src":"199800:0:22"},"scope":44426,"src":"199731:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37746,"nodeType":"Block","src":"201217:1342:22","statements":[{"assignments":[37719],"declarations":[{"constant":false,"id":37719,"mutability":"mutable","name":"m0","nameLocation":"201235:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201227:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201227:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37720,"nodeType":"VariableDeclarationStatement","src":"201227:10:22"},{"assignments":[37722],"declarations":[{"constant":false,"id":37722,"mutability":"mutable","name":"m1","nameLocation":"201255:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201247:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201247:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37723,"nodeType":"VariableDeclarationStatement","src":"201247:10:22"},{"assignments":[37725],"declarations":[{"constant":false,"id":37725,"mutability":"mutable","name":"m2","nameLocation":"201275:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201267:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201267:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37726,"nodeType":"VariableDeclarationStatement","src":"201267:10:22"},{"assignments":[37728],"declarations":[{"constant":false,"id":37728,"mutability":"mutable","name":"m3","nameLocation":"201295:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201287:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201287:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37729,"nodeType":"VariableDeclarationStatement","src":"201287:10:22"},{"assignments":[37731],"declarations":[{"constant":false,"id":37731,"mutability":"mutable","name":"m4","nameLocation":"201315:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201307:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201307:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37732,"nodeType":"VariableDeclarationStatement","src":"201307:10:22"},{"assignments":[37734],"declarations":[{"constant":false,"id":37734,"mutability":"mutable","name":"m5","nameLocation":"201335:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201327:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201327:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37735,"nodeType":"VariableDeclarationStatement","src":"201327:10:22"},{"assignments":[37737],"declarations":[{"constant":false,"id":37737,"mutability":"mutable","name":"m6","nameLocation":"201355:2:22","nodeType":"VariableDeclaration","scope":37746,"src":"201347:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201347:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37738,"nodeType":"VariableDeclarationStatement","src":"201347:10:22"},{"AST":{"nativeSrc":"201419:822:22","nodeType":"YulBlock","src":"201419:822:22","statements":[{"body":{"nativeSrc":"201462:313:22","nodeType":"YulBlock","src":"201462:313:22","statements":[{"nativeSrc":"201480:15:22","nodeType":"YulVariableDeclaration","src":"201480:15:22","value":{"kind":"number","nativeSrc":"201494:1:22","nodeType":"YulLiteral","src":"201494:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"201484:6:22","nodeType":"YulTypedName","src":"201484:6:22","type":""}]},{"body":{"nativeSrc":"201565:40:22","nodeType":"YulBlock","src":"201565:40:22","statements":[{"body":{"nativeSrc":"201594:9:22","nodeType":"YulBlock","src":"201594:9:22","statements":[{"nativeSrc":"201596:5:22","nodeType":"YulBreak","src":"201596:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"201582:6:22","nodeType":"YulIdentifier","src":"201582:6:22"},{"name":"w","nativeSrc":"201590:1:22","nodeType":"YulIdentifier","src":"201590:1:22"}],"functionName":{"name":"byte","nativeSrc":"201577:4:22","nodeType":"YulIdentifier","src":"201577:4:22"},"nativeSrc":"201577:15:22","nodeType":"YulFunctionCall","src":"201577:15:22"}],"functionName":{"name":"iszero","nativeSrc":"201570:6:22","nodeType":"YulIdentifier","src":"201570:6:22"},"nativeSrc":"201570:23:22","nodeType":"YulFunctionCall","src":"201570:23:22"},"nativeSrc":"201567:36:22","nodeType":"YulIf","src":"201567:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"201522:6:22","nodeType":"YulIdentifier","src":"201522:6:22"},{"kind":"number","nativeSrc":"201530:4:22","nodeType":"YulLiteral","src":"201530:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"201519:2:22","nodeType":"YulIdentifier","src":"201519:2:22"},"nativeSrc":"201519:16:22","nodeType":"YulFunctionCall","src":"201519:16:22"},"nativeSrc":"201512:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"201536:28:22","nodeType":"YulBlock","src":"201536:28:22","statements":[{"nativeSrc":"201538:24:22","nodeType":"YulAssignment","src":"201538:24:22","value":{"arguments":[{"name":"length","nativeSrc":"201552:6:22","nodeType":"YulIdentifier","src":"201552:6:22"},{"kind":"number","nativeSrc":"201560:1:22","nodeType":"YulLiteral","src":"201560:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"201548:3:22","nodeType":"YulIdentifier","src":"201548:3:22"},"nativeSrc":"201548:14:22","nodeType":"YulFunctionCall","src":"201548:14:22"},"variableNames":[{"name":"length","nativeSrc":"201538:6:22","nodeType":"YulIdentifier","src":"201538:6:22"}]}]},"pre":{"nativeSrc":"201516:2:22","nodeType":"YulBlock","src":"201516:2:22","statements":[]},"src":"201512:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"201629:3:22","nodeType":"YulIdentifier","src":"201629:3:22"},{"name":"length","nativeSrc":"201634:6:22","nodeType":"YulIdentifier","src":"201634:6:22"}],"functionName":{"name":"mstore","nativeSrc":"201622:6:22","nodeType":"YulIdentifier","src":"201622:6:22"},"nativeSrc":"201622:19:22","nodeType":"YulFunctionCall","src":"201622:19:22"},"nativeSrc":"201622:19:22","nodeType":"YulExpressionStatement","src":"201622:19:22"},{"nativeSrc":"201658:37:22","nodeType":"YulVariableDeclaration","src":"201658:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"201675:3:22","nodeType":"YulLiteral","src":"201675:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"201684:1:22","nodeType":"YulLiteral","src":"201684:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"201687:6:22","nodeType":"YulIdentifier","src":"201687:6:22"}],"functionName":{"name":"shl","nativeSrc":"201680:3:22","nodeType":"YulIdentifier","src":"201680:3:22"},"nativeSrc":"201680:14:22","nodeType":"YulFunctionCall","src":"201680:14:22"}],"functionName":{"name":"sub","nativeSrc":"201671:3:22","nodeType":"YulIdentifier","src":"201671:3:22"},"nativeSrc":"201671:24:22","nodeType":"YulFunctionCall","src":"201671:24:22"},"variables":[{"name":"shift","nativeSrc":"201662:5:22","nodeType":"YulTypedName","src":"201662:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"201723:3:22","nodeType":"YulIdentifier","src":"201723:3:22"},{"kind":"number","nativeSrc":"201728:4:22","nodeType":"YulLiteral","src":"201728:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"201719:3:22","nodeType":"YulIdentifier","src":"201719:3:22"},"nativeSrc":"201719:14:22","nodeType":"YulFunctionCall","src":"201719:14:22"},{"arguments":[{"name":"shift","nativeSrc":"201739:5:22","nodeType":"YulIdentifier","src":"201739:5:22"},{"arguments":[{"name":"shift","nativeSrc":"201750:5:22","nodeType":"YulIdentifier","src":"201750:5:22"},{"name":"w","nativeSrc":"201757:1:22","nodeType":"YulIdentifier","src":"201757:1:22"}],"functionName":{"name":"shr","nativeSrc":"201746:3:22","nodeType":"YulIdentifier","src":"201746:3:22"},"nativeSrc":"201746:13:22","nodeType":"YulFunctionCall","src":"201746:13:22"}],"functionName":{"name":"shl","nativeSrc":"201735:3:22","nodeType":"YulIdentifier","src":"201735:3:22"},"nativeSrc":"201735:25:22","nodeType":"YulFunctionCall","src":"201735:25:22"}],"functionName":{"name":"mstore","nativeSrc":"201712:6:22","nodeType":"YulIdentifier","src":"201712:6:22"},"nativeSrc":"201712:49:22","nodeType":"YulFunctionCall","src":"201712:49:22"},"nativeSrc":"201712:49:22","nodeType":"YulExpressionStatement","src":"201712:49:22"}]},"name":"writeString","nativeSrc":"201433:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"201454:3:22","nodeType":"YulTypedName","src":"201454:3:22","type":""},{"name":"w","nativeSrc":"201459:1:22","nodeType":"YulTypedName","src":"201459:1:22","type":""}],"src":"201433:342:22"},{"nativeSrc":"201788:17:22","nodeType":"YulAssignment","src":"201788:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201800:4:22","nodeType":"YulLiteral","src":"201800:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"201794:5:22","nodeType":"YulIdentifier","src":"201794:5:22"},"nativeSrc":"201794:11:22","nodeType":"YulFunctionCall","src":"201794:11:22"},"variableNames":[{"name":"m0","nativeSrc":"201788:2:22","nodeType":"YulIdentifier","src":"201788:2:22"}]},{"nativeSrc":"201818:17:22","nodeType":"YulAssignment","src":"201818:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201830:4:22","nodeType":"YulLiteral","src":"201830:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"201824:5:22","nodeType":"YulIdentifier","src":"201824:5:22"},"nativeSrc":"201824:11:22","nodeType":"YulFunctionCall","src":"201824:11:22"},"variableNames":[{"name":"m1","nativeSrc":"201818:2:22","nodeType":"YulIdentifier","src":"201818:2:22"}]},{"nativeSrc":"201848:17:22","nodeType":"YulAssignment","src":"201848:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201860:4:22","nodeType":"YulLiteral","src":"201860:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"201854:5:22","nodeType":"YulIdentifier","src":"201854:5:22"},"nativeSrc":"201854:11:22","nodeType":"YulFunctionCall","src":"201854:11:22"},"variableNames":[{"name":"m2","nativeSrc":"201848:2:22","nodeType":"YulIdentifier","src":"201848:2:22"}]},{"nativeSrc":"201878:17:22","nodeType":"YulAssignment","src":"201878:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201890:4:22","nodeType":"YulLiteral","src":"201890:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"201884:5:22","nodeType":"YulIdentifier","src":"201884:5:22"},"nativeSrc":"201884:11:22","nodeType":"YulFunctionCall","src":"201884:11:22"},"variableNames":[{"name":"m3","nativeSrc":"201878:2:22","nodeType":"YulIdentifier","src":"201878:2:22"}]},{"nativeSrc":"201908:17:22","nodeType":"YulAssignment","src":"201908:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201920:4:22","nodeType":"YulLiteral","src":"201920:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"201914:5:22","nodeType":"YulIdentifier","src":"201914:5:22"},"nativeSrc":"201914:11:22","nodeType":"YulFunctionCall","src":"201914:11:22"},"variableNames":[{"name":"m4","nativeSrc":"201908:2:22","nodeType":"YulIdentifier","src":"201908:2:22"}]},{"nativeSrc":"201938:17:22","nodeType":"YulAssignment","src":"201938:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201950:4:22","nodeType":"YulLiteral","src":"201950:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"201944:5:22","nodeType":"YulIdentifier","src":"201944:5:22"},"nativeSrc":"201944:11:22","nodeType":"YulFunctionCall","src":"201944:11:22"},"variableNames":[{"name":"m5","nativeSrc":"201938:2:22","nodeType":"YulIdentifier","src":"201938:2:22"}]},{"nativeSrc":"201968:17:22","nodeType":"YulAssignment","src":"201968:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"201980:4:22","nodeType":"YulLiteral","src":"201980:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"201974:5:22","nodeType":"YulIdentifier","src":"201974:5:22"},"nativeSrc":"201974:11:22","nodeType":"YulFunctionCall","src":"201974:11:22"},"variableNames":[{"name":"m6","nativeSrc":"201968:2:22","nodeType":"YulIdentifier","src":"201968:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202062:4:22","nodeType":"YulLiteral","src":"202062:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"202068:10:22","nodeType":"YulLiteral","src":"202068:10:22","type":"","value":"0xb857163a"}],"functionName":{"name":"mstore","nativeSrc":"202055:6:22","nodeType":"YulIdentifier","src":"202055:6:22"},"nativeSrc":"202055:24:22","nodeType":"YulFunctionCall","src":"202055:24:22"},"nativeSrc":"202055:24:22","nodeType":"YulExpressionStatement","src":"202055:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202099:4:22","nodeType":"YulLiteral","src":"202099:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"202105:2:22","nodeType":"YulIdentifier","src":"202105:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202092:6:22","nodeType":"YulIdentifier","src":"202092:6:22"},"nativeSrc":"202092:16:22","nodeType":"YulFunctionCall","src":"202092:16:22"},"nativeSrc":"202092:16:22","nodeType":"YulExpressionStatement","src":"202092:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202128:4:22","nodeType":"YulLiteral","src":"202128:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"202134:2:22","nodeType":"YulIdentifier","src":"202134:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202121:6:22","nodeType":"YulIdentifier","src":"202121:6:22"},"nativeSrc":"202121:16:22","nodeType":"YulFunctionCall","src":"202121:16:22"},"nativeSrc":"202121:16:22","nodeType":"YulExpressionStatement","src":"202121:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202157:4:22","nodeType":"YulLiteral","src":"202157:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"202163:4:22","nodeType":"YulLiteral","src":"202163:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"202150:6:22","nodeType":"YulIdentifier","src":"202150:6:22"},"nativeSrc":"202150:18:22","nodeType":"YulFunctionCall","src":"202150:18:22"},"nativeSrc":"202150:18:22","nodeType":"YulExpressionStatement","src":"202150:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202188:4:22","nodeType":"YulLiteral","src":"202188:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"202194:2:22","nodeType":"YulIdentifier","src":"202194:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202181:6:22","nodeType":"YulIdentifier","src":"202181:6:22"},"nativeSrc":"202181:16:22","nodeType":"YulFunctionCall","src":"202181:16:22"},"nativeSrc":"202181:16:22","nodeType":"YulExpressionStatement","src":"202181:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202222:4:22","nodeType":"YulLiteral","src":"202222:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"202228:2:22","nodeType":"YulIdentifier","src":"202228:2:22"}],"functionName":{"name":"writeString","nativeSrc":"202210:11:22","nodeType":"YulIdentifier","src":"202210:11:22"},"nativeSrc":"202210:21:22","nodeType":"YulFunctionCall","src":"202210:21:22"},"nativeSrc":"202210:21:22","nodeType":"YulExpressionStatement","src":"202210:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37719,"isOffset":false,"isSlot":false,"src":"201788:2:22","valueSize":1},{"declaration":37722,"isOffset":false,"isSlot":false,"src":"201818:2:22","valueSize":1},{"declaration":37725,"isOffset":false,"isSlot":false,"src":"201848:2:22","valueSize":1},{"declaration":37728,"isOffset":false,"isSlot":false,"src":"201878:2:22","valueSize":1},{"declaration":37731,"isOffset":false,"isSlot":false,"src":"201908:2:22","valueSize":1},{"declaration":37734,"isOffset":false,"isSlot":false,"src":"201938:2:22","valueSize":1},{"declaration":37737,"isOffset":false,"isSlot":false,"src":"201968:2:22","valueSize":1},{"declaration":37709,"isOffset":false,"isSlot":false,"src":"202105:2:22","valueSize":1},{"declaration":37711,"isOffset":false,"isSlot":false,"src":"202134:2:22","valueSize":1},{"declaration":37713,"isOffset":false,"isSlot":false,"src":"202228:2:22","valueSize":1},{"declaration":37715,"isOffset":false,"isSlot":false,"src":"202194:2:22","valueSize":1}],"id":37739,"nodeType":"InlineAssembly","src":"201410:831:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202266:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202272:4:22","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":37740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"202250:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"202250:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37744,"nodeType":"ExpressionStatement","src":"202250:27:22"},{"AST":{"nativeSrc":"202339:214:22","nodeType":"YulBlock","src":"202339:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"202360:4:22","nodeType":"YulLiteral","src":"202360:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"202366:2:22","nodeType":"YulIdentifier","src":"202366:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202353:6:22","nodeType":"YulIdentifier","src":"202353:6:22"},"nativeSrc":"202353:16:22","nodeType":"YulFunctionCall","src":"202353:16:22"},"nativeSrc":"202353:16:22","nodeType":"YulExpressionStatement","src":"202353:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202389:4:22","nodeType":"YulLiteral","src":"202389:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"202395:2:22","nodeType":"YulIdentifier","src":"202395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202382:6:22","nodeType":"YulIdentifier","src":"202382:6:22"},"nativeSrc":"202382:16:22","nodeType":"YulFunctionCall","src":"202382:16:22"},"nativeSrc":"202382:16:22","nodeType":"YulExpressionStatement","src":"202382:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202418:4:22","nodeType":"YulLiteral","src":"202418:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"202424:2:22","nodeType":"YulIdentifier","src":"202424:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202411:6:22","nodeType":"YulIdentifier","src":"202411:6:22"},"nativeSrc":"202411:16:22","nodeType":"YulFunctionCall","src":"202411:16:22"},"nativeSrc":"202411:16:22","nodeType":"YulExpressionStatement","src":"202411:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202447:4:22","nodeType":"YulLiteral","src":"202447:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"202453:2:22","nodeType":"YulIdentifier","src":"202453:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202440:6:22","nodeType":"YulIdentifier","src":"202440:6:22"},"nativeSrc":"202440:16:22","nodeType":"YulFunctionCall","src":"202440:16:22"},"nativeSrc":"202440:16:22","nodeType":"YulExpressionStatement","src":"202440:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202476:4:22","nodeType":"YulLiteral","src":"202476:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"202482:2:22","nodeType":"YulIdentifier","src":"202482:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202469:6:22","nodeType":"YulIdentifier","src":"202469:6:22"},"nativeSrc":"202469:16:22","nodeType":"YulFunctionCall","src":"202469:16:22"},"nativeSrc":"202469:16:22","nodeType":"YulExpressionStatement","src":"202469:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202505:4:22","nodeType":"YulLiteral","src":"202505:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"202511:2:22","nodeType":"YulIdentifier","src":"202511:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202498:6:22","nodeType":"YulIdentifier","src":"202498:6:22"},"nativeSrc":"202498:16:22","nodeType":"YulFunctionCall","src":"202498:16:22"},"nativeSrc":"202498:16:22","nodeType":"YulExpressionStatement","src":"202498:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202534:4:22","nodeType":"YulLiteral","src":"202534:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"202540:2:22","nodeType":"YulIdentifier","src":"202540:2:22"}],"functionName":{"name":"mstore","nativeSrc":"202527:6:22","nodeType":"YulIdentifier","src":"202527:6:22"},"nativeSrc":"202527:16:22","nodeType":"YulFunctionCall","src":"202527:16:22"},"nativeSrc":"202527:16:22","nodeType":"YulExpressionStatement","src":"202527:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37719,"isOffset":false,"isSlot":false,"src":"202366:2:22","valueSize":1},{"declaration":37722,"isOffset":false,"isSlot":false,"src":"202395:2:22","valueSize":1},{"declaration":37725,"isOffset":false,"isSlot":false,"src":"202424:2:22","valueSize":1},{"declaration":37728,"isOffset":false,"isSlot":false,"src":"202453:2:22","valueSize":1},{"declaration":37731,"isOffset":false,"isSlot":false,"src":"202482:2:22","valueSize":1},{"declaration":37734,"isOffset":false,"isSlot":false,"src":"202511:2:22","valueSize":1},{"declaration":37737,"isOffset":false,"isSlot":false,"src":"202540:2:22","valueSize":1}],"id":37745,"nodeType":"InlineAssembly","src":"202330:223:22"}]},"id":37747,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"201160:3:22","nodeType":"FunctionDefinition","parameters":{"id":37716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37709,"mutability":"mutable","name":"p0","nameLocation":"201169:2:22","nodeType":"VariableDeclaration","scope":37747,"src":"201164:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37708,"name":"bool","nodeType":"ElementaryTypeName","src":"201164:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37711,"mutability":"mutable","name":"p1","nameLocation":"201178:2:22","nodeType":"VariableDeclaration","scope":37747,"src":"201173:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37710,"name":"bool","nodeType":"ElementaryTypeName","src":"201173:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37713,"mutability":"mutable","name":"p2","nameLocation":"201190:2:22","nodeType":"VariableDeclaration","scope":37747,"src":"201182:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201182:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37715,"mutability":"mutable","name":"p3","nameLocation":"201199:2:22","nodeType":"VariableDeclaration","scope":37747,"src":"201194:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37714,"name":"bool","nodeType":"ElementaryTypeName","src":"201194:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"201163:39:22"},"returnParameters":{"id":37717,"nodeType":"ParameterList","parameters":[],"src":"201217:0:22"},"scope":44426,"src":"201151:1408:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37786,"nodeType":"Block","src":"202634:1345:22","statements":[{"assignments":[37759],"declarations":[{"constant":false,"id":37759,"mutability":"mutable","name":"m0","nameLocation":"202652:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202644:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202644:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37760,"nodeType":"VariableDeclarationStatement","src":"202644:10:22"},{"assignments":[37762],"declarations":[{"constant":false,"id":37762,"mutability":"mutable","name":"m1","nameLocation":"202672:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202664:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202664:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37763,"nodeType":"VariableDeclarationStatement","src":"202664:10:22"},{"assignments":[37765],"declarations":[{"constant":false,"id":37765,"mutability":"mutable","name":"m2","nameLocation":"202692:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37766,"nodeType":"VariableDeclarationStatement","src":"202684:10:22"},{"assignments":[37768],"declarations":[{"constant":false,"id":37768,"mutability":"mutable","name":"m3","nameLocation":"202712:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202704:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202704:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37769,"nodeType":"VariableDeclarationStatement","src":"202704:10:22"},{"assignments":[37771],"declarations":[{"constant":false,"id":37771,"mutability":"mutable","name":"m4","nameLocation":"202732:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202724:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202724:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37772,"nodeType":"VariableDeclarationStatement","src":"202724:10:22"},{"assignments":[37774],"declarations":[{"constant":false,"id":37774,"mutability":"mutable","name":"m5","nameLocation":"202752:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202744:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37775,"nodeType":"VariableDeclarationStatement","src":"202744:10:22"},{"assignments":[37777],"declarations":[{"constant":false,"id":37777,"mutability":"mutable","name":"m6","nameLocation":"202772:2:22","nodeType":"VariableDeclaration","scope":37786,"src":"202764:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202764:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37778,"nodeType":"VariableDeclarationStatement","src":"202764:10:22"},{"AST":{"nativeSrc":"202836:825:22","nodeType":"YulBlock","src":"202836:825:22","statements":[{"body":{"nativeSrc":"202879:313:22","nodeType":"YulBlock","src":"202879:313:22","statements":[{"nativeSrc":"202897:15:22","nodeType":"YulVariableDeclaration","src":"202897:15:22","value":{"kind":"number","nativeSrc":"202911:1:22","nodeType":"YulLiteral","src":"202911:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"202901:6:22","nodeType":"YulTypedName","src":"202901:6:22","type":""}]},{"body":{"nativeSrc":"202982:40:22","nodeType":"YulBlock","src":"202982:40:22","statements":[{"body":{"nativeSrc":"203011:9:22","nodeType":"YulBlock","src":"203011:9:22","statements":[{"nativeSrc":"203013:5:22","nodeType":"YulBreak","src":"203013:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"202999:6:22","nodeType":"YulIdentifier","src":"202999:6:22"},{"name":"w","nativeSrc":"203007:1:22","nodeType":"YulIdentifier","src":"203007:1:22"}],"functionName":{"name":"byte","nativeSrc":"202994:4:22","nodeType":"YulIdentifier","src":"202994:4:22"},"nativeSrc":"202994:15:22","nodeType":"YulFunctionCall","src":"202994:15:22"}],"functionName":{"name":"iszero","nativeSrc":"202987:6:22","nodeType":"YulIdentifier","src":"202987:6:22"},"nativeSrc":"202987:23:22","nodeType":"YulFunctionCall","src":"202987:23:22"},"nativeSrc":"202984:36:22","nodeType":"YulIf","src":"202984:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"202939:6:22","nodeType":"YulIdentifier","src":"202939:6:22"},{"kind":"number","nativeSrc":"202947:4:22","nodeType":"YulLiteral","src":"202947:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"202936:2:22","nodeType":"YulIdentifier","src":"202936:2:22"},"nativeSrc":"202936:16:22","nodeType":"YulFunctionCall","src":"202936:16:22"},"nativeSrc":"202929:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"202953:28:22","nodeType":"YulBlock","src":"202953:28:22","statements":[{"nativeSrc":"202955:24:22","nodeType":"YulAssignment","src":"202955:24:22","value":{"arguments":[{"name":"length","nativeSrc":"202969:6:22","nodeType":"YulIdentifier","src":"202969:6:22"},{"kind":"number","nativeSrc":"202977:1:22","nodeType":"YulLiteral","src":"202977:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"202965:3:22","nodeType":"YulIdentifier","src":"202965:3:22"},"nativeSrc":"202965:14:22","nodeType":"YulFunctionCall","src":"202965:14:22"},"variableNames":[{"name":"length","nativeSrc":"202955:6:22","nodeType":"YulIdentifier","src":"202955:6:22"}]}]},"pre":{"nativeSrc":"202933:2:22","nodeType":"YulBlock","src":"202933:2:22","statements":[]},"src":"202929:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"203046:3:22","nodeType":"YulIdentifier","src":"203046:3:22"},{"name":"length","nativeSrc":"203051:6:22","nodeType":"YulIdentifier","src":"203051:6:22"}],"functionName":{"name":"mstore","nativeSrc":"203039:6:22","nodeType":"YulIdentifier","src":"203039:6:22"},"nativeSrc":"203039:19:22","nodeType":"YulFunctionCall","src":"203039:19:22"},"nativeSrc":"203039:19:22","nodeType":"YulExpressionStatement","src":"203039:19:22"},{"nativeSrc":"203075:37:22","nodeType":"YulVariableDeclaration","src":"203075:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"203092:3:22","nodeType":"YulLiteral","src":"203092:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"203101:1:22","nodeType":"YulLiteral","src":"203101:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"203104:6:22","nodeType":"YulIdentifier","src":"203104:6:22"}],"functionName":{"name":"shl","nativeSrc":"203097:3:22","nodeType":"YulIdentifier","src":"203097:3:22"},"nativeSrc":"203097:14:22","nodeType":"YulFunctionCall","src":"203097:14:22"}],"functionName":{"name":"sub","nativeSrc":"203088:3:22","nodeType":"YulIdentifier","src":"203088:3:22"},"nativeSrc":"203088:24:22","nodeType":"YulFunctionCall","src":"203088:24:22"},"variables":[{"name":"shift","nativeSrc":"203079:5:22","nodeType":"YulTypedName","src":"203079:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"203140:3:22","nodeType":"YulIdentifier","src":"203140:3:22"},{"kind":"number","nativeSrc":"203145:4:22","nodeType":"YulLiteral","src":"203145:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"203136:3:22","nodeType":"YulIdentifier","src":"203136:3:22"},"nativeSrc":"203136:14:22","nodeType":"YulFunctionCall","src":"203136:14:22"},{"arguments":[{"name":"shift","nativeSrc":"203156:5:22","nodeType":"YulIdentifier","src":"203156:5:22"},{"arguments":[{"name":"shift","nativeSrc":"203167:5:22","nodeType":"YulIdentifier","src":"203167:5:22"},{"name":"w","nativeSrc":"203174:1:22","nodeType":"YulIdentifier","src":"203174:1:22"}],"functionName":{"name":"shr","nativeSrc":"203163:3:22","nodeType":"YulIdentifier","src":"203163:3:22"},"nativeSrc":"203163:13:22","nodeType":"YulFunctionCall","src":"203163:13:22"}],"functionName":{"name":"shl","nativeSrc":"203152:3:22","nodeType":"YulIdentifier","src":"203152:3:22"},"nativeSrc":"203152:25:22","nodeType":"YulFunctionCall","src":"203152:25:22"}],"functionName":{"name":"mstore","nativeSrc":"203129:6:22","nodeType":"YulIdentifier","src":"203129:6:22"},"nativeSrc":"203129:49:22","nodeType":"YulFunctionCall","src":"203129:49:22"},"nativeSrc":"203129:49:22","nodeType":"YulExpressionStatement","src":"203129:49:22"}]},"name":"writeString","nativeSrc":"202850:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"202871:3:22","nodeType":"YulTypedName","src":"202871:3:22","type":""},{"name":"w","nativeSrc":"202876:1:22","nodeType":"YulTypedName","src":"202876:1:22","type":""}],"src":"202850:342:22"},{"nativeSrc":"203205:17:22","nodeType":"YulAssignment","src":"203205:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203217:4:22","nodeType":"YulLiteral","src":"203217:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"203211:5:22","nodeType":"YulIdentifier","src":"203211:5:22"},"nativeSrc":"203211:11:22","nodeType":"YulFunctionCall","src":"203211:11:22"},"variableNames":[{"name":"m0","nativeSrc":"203205:2:22","nodeType":"YulIdentifier","src":"203205:2:22"}]},{"nativeSrc":"203235:17:22","nodeType":"YulAssignment","src":"203235:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203247:4:22","nodeType":"YulLiteral","src":"203247:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"203241:5:22","nodeType":"YulIdentifier","src":"203241:5:22"},"nativeSrc":"203241:11:22","nodeType":"YulFunctionCall","src":"203241:11:22"},"variableNames":[{"name":"m1","nativeSrc":"203235:2:22","nodeType":"YulIdentifier","src":"203235:2:22"}]},{"nativeSrc":"203265:17:22","nodeType":"YulAssignment","src":"203265:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203277:4:22","nodeType":"YulLiteral","src":"203277:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"203271:5:22","nodeType":"YulIdentifier","src":"203271:5:22"},"nativeSrc":"203271:11:22","nodeType":"YulFunctionCall","src":"203271:11:22"},"variableNames":[{"name":"m2","nativeSrc":"203265:2:22","nodeType":"YulIdentifier","src":"203265:2:22"}]},{"nativeSrc":"203295:17:22","nodeType":"YulAssignment","src":"203295:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203307:4:22","nodeType":"YulLiteral","src":"203307:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"203301:5:22","nodeType":"YulIdentifier","src":"203301:5:22"},"nativeSrc":"203301:11:22","nodeType":"YulFunctionCall","src":"203301:11:22"},"variableNames":[{"name":"m3","nativeSrc":"203295:2:22","nodeType":"YulIdentifier","src":"203295:2:22"}]},{"nativeSrc":"203325:17:22","nodeType":"YulAssignment","src":"203325:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203337:4:22","nodeType":"YulLiteral","src":"203337:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"203331:5:22","nodeType":"YulIdentifier","src":"203331:5:22"},"nativeSrc":"203331:11:22","nodeType":"YulFunctionCall","src":"203331:11:22"},"variableNames":[{"name":"m4","nativeSrc":"203325:2:22","nodeType":"YulIdentifier","src":"203325:2:22"}]},{"nativeSrc":"203355:17:22","nodeType":"YulAssignment","src":"203355:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203367:4:22","nodeType":"YulLiteral","src":"203367:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"203361:5:22","nodeType":"YulIdentifier","src":"203361:5:22"},"nativeSrc":"203361:11:22","nodeType":"YulFunctionCall","src":"203361:11:22"},"variableNames":[{"name":"m5","nativeSrc":"203355:2:22","nodeType":"YulIdentifier","src":"203355:2:22"}]},{"nativeSrc":"203385:17:22","nodeType":"YulAssignment","src":"203385:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"203397:4:22","nodeType":"YulLiteral","src":"203397:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"203391:5:22","nodeType":"YulIdentifier","src":"203391:5:22"},"nativeSrc":"203391:11:22","nodeType":"YulFunctionCall","src":"203391:11:22"},"variableNames":[{"name":"m6","nativeSrc":"203385:2:22","nodeType":"YulIdentifier","src":"203385:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203482:4:22","nodeType":"YulLiteral","src":"203482:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"203488:10:22","nodeType":"YulLiteral","src":"203488:10:22","type":"","value":"0xe3a9ca2f"}],"functionName":{"name":"mstore","nativeSrc":"203475:6:22","nodeType":"YulIdentifier","src":"203475:6:22"},"nativeSrc":"203475:24:22","nodeType":"YulFunctionCall","src":"203475:24:22"},"nativeSrc":"203475:24:22","nodeType":"YulExpressionStatement","src":"203475:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203519:4:22","nodeType":"YulLiteral","src":"203519:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"203525:2:22","nodeType":"YulIdentifier","src":"203525:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203512:6:22","nodeType":"YulIdentifier","src":"203512:6:22"},"nativeSrc":"203512:16:22","nodeType":"YulFunctionCall","src":"203512:16:22"},"nativeSrc":"203512:16:22","nodeType":"YulExpressionStatement","src":"203512:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203548:4:22","nodeType":"YulLiteral","src":"203548:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"203554:2:22","nodeType":"YulIdentifier","src":"203554:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203541:6:22","nodeType":"YulIdentifier","src":"203541:6:22"},"nativeSrc":"203541:16:22","nodeType":"YulFunctionCall","src":"203541:16:22"},"nativeSrc":"203541:16:22","nodeType":"YulExpressionStatement","src":"203541:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203577:4:22","nodeType":"YulLiteral","src":"203577:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"203583:4:22","nodeType":"YulLiteral","src":"203583:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"203570:6:22","nodeType":"YulIdentifier","src":"203570:6:22"},"nativeSrc":"203570:18:22","nodeType":"YulFunctionCall","src":"203570:18:22"},"nativeSrc":"203570:18:22","nodeType":"YulExpressionStatement","src":"203570:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203608:4:22","nodeType":"YulLiteral","src":"203608:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"203614:2:22","nodeType":"YulIdentifier","src":"203614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203601:6:22","nodeType":"YulIdentifier","src":"203601:6:22"},"nativeSrc":"203601:16:22","nodeType":"YulFunctionCall","src":"203601:16:22"},"nativeSrc":"203601:16:22","nodeType":"YulExpressionStatement","src":"203601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203642:4:22","nodeType":"YulLiteral","src":"203642:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"203648:2:22","nodeType":"YulIdentifier","src":"203648:2:22"}],"functionName":{"name":"writeString","nativeSrc":"203630:11:22","nodeType":"YulIdentifier","src":"203630:11:22"},"nativeSrc":"203630:21:22","nodeType":"YulFunctionCall","src":"203630:21:22"},"nativeSrc":"203630:21:22","nodeType":"YulExpressionStatement","src":"203630:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37759,"isOffset":false,"isSlot":false,"src":"203205:2:22","valueSize":1},{"declaration":37762,"isOffset":false,"isSlot":false,"src":"203235:2:22","valueSize":1},{"declaration":37765,"isOffset":false,"isSlot":false,"src":"203265:2:22","valueSize":1},{"declaration":37768,"isOffset":false,"isSlot":false,"src":"203295:2:22","valueSize":1},{"declaration":37771,"isOffset":false,"isSlot":false,"src":"203325:2:22","valueSize":1},{"declaration":37774,"isOffset":false,"isSlot":false,"src":"203355:2:22","valueSize":1},{"declaration":37777,"isOffset":false,"isSlot":false,"src":"203385:2:22","valueSize":1},{"declaration":37749,"isOffset":false,"isSlot":false,"src":"203525:2:22","valueSize":1},{"declaration":37751,"isOffset":false,"isSlot":false,"src":"203554:2:22","valueSize":1},{"declaration":37753,"isOffset":false,"isSlot":false,"src":"203648:2:22","valueSize":1},{"declaration":37755,"isOffset":false,"isSlot":false,"src":"203614:2:22","valueSize":1}],"id":37779,"nodeType":"InlineAssembly","src":"202827:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203686:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203692:4:22","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":37780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"203670:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203670:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37784,"nodeType":"ExpressionStatement","src":"203670:27:22"},{"AST":{"nativeSrc":"203759:214:22","nodeType":"YulBlock","src":"203759:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"203780:4:22","nodeType":"YulLiteral","src":"203780:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"203786:2:22","nodeType":"YulIdentifier","src":"203786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203773:6:22","nodeType":"YulIdentifier","src":"203773:6:22"},"nativeSrc":"203773:16:22","nodeType":"YulFunctionCall","src":"203773:16:22"},"nativeSrc":"203773:16:22","nodeType":"YulExpressionStatement","src":"203773:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203809:4:22","nodeType":"YulLiteral","src":"203809:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"203815:2:22","nodeType":"YulIdentifier","src":"203815:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203802:6:22","nodeType":"YulIdentifier","src":"203802:6:22"},"nativeSrc":"203802:16:22","nodeType":"YulFunctionCall","src":"203802:16:22"},"nativeSrc":"203802:16:22","nodeType":"YulExpressionStatement","src":"203802:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203838:4:22","nodeType":"YulLiteral","src":"203838:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"203844:2:22","nodeType":"YulIdentifier","src":"203844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203831:6:22","nodeType":"YulIdentifier","src":"203831:6:22"},"nativeSrc":"203831:16:22","nodeType":"YulFunctionCall","src":"203831:16:22"},"nativeSrc":"203831:16:22","nodeType":"YulExpressionStatement","src":"203831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203867:4:22","nodeType":"YulLiteral","src":"203867:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"203873:2:22","nodeType":"YulIdentifier","src":"203873:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203860:6:22","nodeType":"YulIdentifier","src":"203860:6:22"},"nativeSrc":"203860:16:22","nodeType":"YulFunctionCall","src":"203860:16:22"},"nativeSrc":"203860:16:22","nodeType":"YulExpressionStatement","src":"203860:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203896:4:22","nodeType":"YulLiteral","src":"203896:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"203902:2:22","nodeType":"YulIdentifier","src":"203902:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203889:6:22","nodeType":"YulIdentifier","src":"203889:6:22"},"nativeSrc":"203889:16:22","nodeType":"YulFunctionCall","src":"203889:16:22"},"nativeSrc":"203889:16:22","nodeType":"YulExpressionStatement","src":"203889:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203925:4:22","nodeType":"YulLiteral","src":"203925:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"203931:2:22","nodeType":"YulIdentifier","src":"203931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203918:6:22","nodeType":"YulIdentifier","src":"203918:6:22"},"nativeSrc":"203918:16:22","nodeType":"YulFunctionCall","src":"203918:16:22"},"nativeSrc":"203918:16:22","nodeType":"YulExpressionStatement","src":"203918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203954:4:22","nodeType":"YulLiteral","src":"203954:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"203960:2:22","nodeType":"YulIdentifier","src":"203960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"203947:6:22","nodeType":"YulIdentifier","src":"203947:6:22"},"nativeSrc":"203947:16:22","nodeType":"YulFunctionCall","src":"203947:16:22"},"nativeSrc":"203947:16:22","nodeType":"YulExpressionStatement","src":"203947:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37759,"isOffset":false,"isSlot":false,"src":"203786:2:22","valueSize":1},{"declaration":37762,"isOffset":false,"isSlot":false,"src":"203815:2:22","valueSize":1},{"declaration":37765,"isOffset":false,"isSlot":false,"src":"203844:2:22","valueSize":1},{"declaration":37768,"isOffset":false,"isSlot":false,"src":"203873:2:22","valueSize":1},{"declaration":37771,"isOffset":false,"isSlot":false,"src":"203902:2:22","valueSize":1},{"declaration":37774,"isOffset":false,"isSlot":false,"src":"203931:2:22","valueSize":1},{"declaration":37777,"isOffset":false,"isSlot":false,"src":"203960:2:22","valueSize":1}],"id":37785,"nodeType":"InlineAssembly","src":"203750:223:22"}]},"id":37787,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"202574:3:22","nodeType":"FunctionDefinition","parameters":{"id":37756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37749,"mutability":"mutable","name":"p0","nameLocation":"202583:2:22","nodeType":"VariableDeclaration","scope":37787,"src":"202578:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37748,"name":"bool","nodeType":"ElementaryTypeName","src":"202578:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37751,"mutability":"mutable","name":"p1","nameLocation":"202592:2:22","nodeType":"VariableDeclaration","scope":37787,"src":"202587:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37750,"name":"bool","nodeType":"ElementaryTypeName","src":"202587:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37753,"mutability":"mutable","name":"p2","nameLocation":"202604:2:22","nodeType":"VariableDeclaration","scope":37787,"src":"202596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202596:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37755,"mutability":"mutable","name":"p3","nameLocation":"202616:2:22","nodeType":"VariableDeclaration","scope":37787,"src":"202608:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37754,"name":"uint256","nodeType":"ElementaryTypeName","src":"202608:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"202577:42:22"},"returnParameters":{"id":37757,"nodeType":"ParameterList","parameters":[],"src":"202634:0:22"},"scope":44426,"src":"202565:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37832,"nodeType":"Block","src":"204054:1541:22","statements":[{"assignments":[37799],"declarations":[{"constant":false,"id":37799,"mutability":"mutable","name":"m0","nameLocation":"204072:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204064:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204064:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37800,"nodeType":"VariableDeclarationStatement","src":"204064:10:22"},{"assignments":[37802],"declarations":[{"constant":false,"id":37802,"mutability":"mutable","name":"m1","nameLocation":"204092:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204084:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204084:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37803,"nodeType":"VariableDeclarationStatement","src":"204084:10:22"},{"assignments":[37805],"declarations":[{"constant":false,"id":37805,"mutability":"mutable","name":"m2","nameLocation":"204112:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204104:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204104:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37806,"nodeType":"VariableDeclarationStatement","src":"204104:10:22"},{"assignments":[37808],"declarations":[{"constant":false,"id":37808,"mutability":"mutable","name":"m3","nameLocation":"204132:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204124:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37809,"nodeType":"VariableDeclarationStatement","src":"204124:10:22"},{"assignments":[37811],"declarations":[{"constant":false,"id":37811,"mutability":"mutable","name":"m4","nameLocation":"204152:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37812,"nodeType":"VariableDeclarationStatement","src":"204144:10:22"},{"assignments":[37814],"declarations":[{"constant":false,"id":37814,"mutability":"mutable","name":"m5","nameLocation":"204172:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37815,"nodeType":"VariableDeclarationStatement","src":"204164:10:22"},{"assignments":[37817],"declarations":[{"constant":false,"id":37817,"mutability":"mutable","name":"m6","nameLocation":"204192:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204184:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37818,"nodeType":"VariableDeclarationStatement","src":"204184:10:22"},{"assignments":[37820],"declarations":[{"constant":false,"id":37820,"mutability":"mutable","name":"m7","nameLocation":"204212:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204204:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204204:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37821,"nodeType":"VariableDeclarationStatement","src":"204204:10:22"},{"assignments":[37823],"declarations":[{"constant":false,"id":37823,"mutability":"mutable","name":"m8","nameLocation":"204232:2:22","nodeType":"VariableDeclaration","scope":37832,"src":"204224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37824,"nodeType":"VariableDeclarationStatement","src":"204224:10:22"},{"AST":{"nativeSrc":"204296:921:22","nodeType":"YulBlock","src":"204296:921:22","statements":[{"body":{"nativeSrc":"204339:313:22","nodeType":"YulBlock","src":"204339:313:22","statements":[{"nativeSrc":"204357:15:22","nodeType":"YulVariableDeclaration","src":"204357:15:22","value":{"kind":"number","nativeSrc":"204371:1:22","nodeType":"YulLiteral","src":"204371:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"204361:6:22","nodeType":"YulTypedName","src":"204361:6:22","type":""}]},{"body":{"nativeSrc":"204442:40:22","nodeType":"YulBlock","src":"204442:40:22","statements":[{"body":{"nativeSrc":"204471:9:22","nodeType":"YulBlock","src":"204471:9:22","statements":[{"nativeSrc":"204473:5:22","nodeType":"YulBreak","src":"204473:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"204459:6:22","nodeType":"YulIdentifier","src":"204459:6:22"},{"name":"w","nativeSrc":"204467:1:22","nodeType":"YulIdentifier","src":"204467:1:22"}],"functionName":{"name":"byte","nativeSrc":"204454:4:22","nodeType":"YulIdentifier","src":"204454:4:22"},"nativeSrc":"204454:15:22","nodeType":"YulFunctionCall","src":"204454:15:22"}],"functionName":{"name":"iszero","nativeSrc":"204447:6:22","nodeType":"YulIdentifier","src":"204447:6:22"},"nativeSrc":"204447:23:22","nodeType":"YulFunctionCall","src":"204447:23:22"},"nativeSrc":"204444:36:22","nodeType":"YulIf","src":"204444:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"204399:6:22","nodeType":"YulIdentifier","src":"204399:6:22"},{"kind":"number","nativeSrc":"204407:4:22","nodeType":"YulLiteral","src":"204407:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"204396:2:22","nodeType":"YulIdentifier","src":"204396:2:22"},"nativeSrc":"204396:16:22","nodeType":"YulFunctionCall","src":"204396:16:22"},"nativeSrc":"204389:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"204413:28:22","nodeType":"YulBlock","src":"204413:28:22","statements":[{"nativeSrc":"204415:24:22","nodeType":"YulAssignment","src":"204415:24:22","value":{"arguments":[{"name":"length","nativeSrc":"204429:6:22","nodeType":"YulIdentifier","src":"204429:6:22"},{"kind":"number","nativeSrc":"204437:1:22","nodeType":"YulLiteral","src":"204437:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"204425:3:22","nodeType":"YulIdentifier","src":"204425:3:22"},"nativeSrc":"204425:14:22","nodeType":"YulFunctionCall","src":"204425:14:22"},"variableNames":[{"name":"length","nativeSrc":"204415:6:22","nodeType":"YulIdentifier","src":"204415:6:22"}]}]},"pre":{"nativeSrc":"204393:2:22","nodeType":"YulBlock","src":"204393:2:22","statements":[]},"src":"204389:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"204506:3:22","nodeType":"YulIdentifier","src":"204506:3:22"},{"name":"length","nativeSrc":"204511:6:22","nodeType":"YulIdentifier","src":"204511:6:22"}],"functionName":{"name":"mstore","nativeSrc":"204499:6:22","nodeType":"YulIdentifier","src":"204499:6:22"},"nativeSrc":"204499:19:22","nodeType":"YulFunctionCall","src":"204499:19:22"},"nativeSrc":"204499:19:22","nodeType":"YulExpressionStatement","src":"204499:19:22"},{"nativeSrc":"204535:37:22","nodeType":"YulVariableDeclaration","src":"204535:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"204552:3:22","nodeType":"YulLiteral","src":"204552:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"204561:1:22","nodeType":"YulLiteral","src":"204561:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"204564:6:22","nodeType":"YulIdentifier","src":"204564:6:22"}],"functionName":{"name":"shl","nativeSrc":"204557:3:22","nodeType":"YulIdentifier","src":"204557:3:22"},"nativeSrc":"204557:14:22","nodeType":"YulFunctionCall","src":"204557:14:22"}],"functionName":{"name":"sub","nativeSrc":"204548:3:22","nodeType":"YulIdentifier","src":"204548:3:22"},"nativeSrc":"204548:24:22","nodeType":"YulFunctionCall","src":"204548:24:22"},"variables":[{"name":"shift","nativeSrc":"204539:5:22","nodeType":"YulTypedName","src":"204539:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"204600:3:22","nodeType":"YulIdentifier","src":"204600:3:22"},{"kind":"number","nativeSrc":"204605:4:22","nodeType":"YulLiteral","src":"204605:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"204596:3:22","nodeType":"YulIdentifier","src":"204596:3:22"},"nativeSrc":"204596:14:22","nodeType":"YulFunctionCall","src":"204596:14:22"},{"arguments":[{"name":"shift","nativeSrc":"204616:5:22","nodeType":"YulIdentifier","src":"204616:5:22"},{"arguments":[{"name":"shift","nativeSrc":"204627:5:22","nodeType":"YulIdentifier","src":"204627:5:22"},{"name":"w","nativeSrc":"204634:1:22","nodeType":"YulIdentifier","src":"204634:1:22"}],"functionName":{"name":"shr","nativeSrc":"204623:3:22","nodeType":"YulIdentifier","src":"204623:3:22"},"nativeSrc":"204623:13:22","nodeType":"YulFunctionCall","src":"204623:13:22"}],"functionName":{"name":"shl","nativeSrc":"204612:3:22","nodeType":"YulIdentifier","src":"204612:3:22"},"nativeSrc":"204612:25:22","nodeType":"YulFunctionCall","src":"204612:25:22"}],"functionName":{"name":"mstore","nativeSrc":"204589:6:22","nodeType":"YulIdentifier","src":"204589:6:22"},"nativeSrc":"204589:49:22","nodeType":"YulFunctionCall","src":"204589:49:22"},"nativeSrc":"204589:49:22","nodeType":"YulExpressionStatement","src":"204589:49:22"}]},"name":"writeString","nativeSrc":"204310:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"204331:3:22","nodeType":"YulTypedName","src":"204331:3:22","type":""},{"name":"w","nativeSrc":"204336:1:22","nodeType":"YulTypedName","src":"204336:1:22","type":""}],"src":"204310:342:22"},{"nativeSrc":"204665:17:22","nodeType":"YulAssignment","src":"204665:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204677:4:22","nodeType":"YulLiteral","src":"204677:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"204671:5:22","nodeType":"YulIdentifier","src":"204671:5:22"},"nativeSrc":"204671:11:22","nodeType":"YulFunctionCall","src":"204671:11:22"},"variableNames":[{"name":"m0","nativeSrc":"204665:2:22","nodeType":"YulIdentifier","src":"204665:2:22"}]},{"nativeSrc":"204695:17:22","nodeType":"YulAssignment","src":"204695:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204707:4:22","nodeType":"YulLiteral","src":"204707:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"204701:5:22","nodeType":"YulIdentifier","src":"204701:5:22"},"nativeSrc":"204701:11:22","nodeType":"YulFunctionCall","src":"204701:11:22"},"variableNames":[{"name":"m1","nativeSrc":"204695:2:22","nodeType":"YulIdentifier","src":"204695:2:22"}]},{"nativeSrc":"204725:17:22","nodeType":"YulAssignment","src":"204725:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204737:4:22","nodeType":"YulLiteral","src":"204737:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"204731:5:22","nodeType":"YulIdentifier","src":"204731:5:22"},"nativeSrc":"204731:11:22","nodeType":"YulFunctionCall","src":"204731:11:22"},"variableNames":[{"name":"m2","nativeSrc":"204725:2:22","nodeType":"YulIdentifier","src":"204725:2:22"}]},{"nativeSrc":"204755:17:22","nodeType":"YulAssignment","src":"204755:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204767:4:22","nodeType":"YulLiteral","src":"204767:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"204761:5:22","nodeType":"YulIdentifier","src":"204761:5:22"},"nativeSrc":"204761:11:22","nodeType":"YulFunctionCall","src":"204761:11:22"},"variableNames":[{"name":"m3","nativeSrc":"204755:2:22","nodeType":"YulIdentifier","src":"204755:2:22"}]},{"nativeSrc":"204785:17:22","nodeType":"YulAssignment","src":"204785:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204797:4:22","nodeType":"YulLiteral","src":"204797:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"204791:5:22","nodeType":"YulIdentifier","src":"204791:5:22"},"nativeSrc":"204791:11:22","nodeType":"YulFunctionCall","src":"204791:11:22"},"variableNames":[{"name":"m4","nativeSrc":"204785:2:22","nodeType":"YulIdentifier","src":"204785:2:22"}]},{"nativeSrc":"204815:17:22","nodeType":"YulAssignment","src":"204815:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204827:4:22","nodeType":"YulLiteral","src":"204827:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"204821:5:22","nodeType":"YulIdentifier","src":"204821:5:22"},"nativeSrc":"204821:11:22","nodeType":"YulFunctionCall","src":"204821:11:22"},"variableNames":[{"name":"m5","nativeSrc":"204815:2:22","nodeType":"YulIdentifier","src":"204815:2:22"}]},{"nativeSrc":"204845:17:22","nodeType":"YulAssignment","src":"204845:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204857:4:22","nodeType":"YulLiteral","src":"204857:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"204851:5:22","nodeType":"YulIdentifier","src":"204851:5:22"},"nativeSrc":"204851:11:22","nodeType":"YulFunctionCall","src":"204851:11:22"},"variableNames":[{"name":"m6","nativeSrc":"204845:2:22","nodeType":"YulIdentifier","src":"204845:2:22"}]},{"nativeSrc":"204875:17:22","nodeType":"YulAssignment","src":"204875:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"204887:4:22","nodeType":"YulLiteral","src":"204887:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"204881:5:22","nodeType":"YulIdentifier","src":"204881:5:22"},"nativeSrc":"204881:11:22","nodeType":"YulFunctionCall","src":"204881:11:22"},"variableNames":[{"name":"m7","nativeSrc":"204875:2:22","nodeType":"YulIdentifier","src":"204875:2:22"}]},{"nativeSrc":"204905:18:22","nodeType":"YulAssignment","src":"204905:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"204917:5:22","nodeType":"YulLiteral","src":"204917:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"204911:5:22","nodeType":"YulIdentifier","src":"204911:5:22"},"nativeSrc":"204911:12:22","nodeType":"YulFunctionCall","src":"204911:12:22"},"variableNames":[{"name":"m8","nativeSrc":"204905:2:22","nodeType":"YulIdentifier","src":"204905:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205002:4:22","nodeType":"YulLiteral","src":"205002:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"205008:10:22","nodeType":"YulLiteral","src":"205008:10:22","type":"","value":"0x6d1e8751"}],"functionName":{"name":"mstore","nativeSrc":"204995:6:22","nodeType":"YulIdentifier","src":"204995:6:22"},"nativeSrc":"204995:24:22","nodeType":"YulFunctionCall","src":"204995:24:22"},"nativeSrc":"204995:24:22","nodeType":"YulExpressionStatement","src":"204995:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205039:4:22","nodeType":"YulLiteral","src":"205039:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"205045:2:22","nodeType":"YulIdentifier","src":"205045:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205032:6:22","nodeType":"YulIdentifier","src":"205032:6:22"},"nativeSrc":"205032:16:22","nodeType":"YulFunctionCall","src":"205032:16:22"},"nativeSrc":"205032:16:22","nodeType":"YulExpressionStatement","src":"205032:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205068:4:22","nodeType":"YulLiteral","src":"205068:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"205074:2:22","nodeType":"YulIdentifier","src":"205074:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205061:6:22","nodeType":"YulIdentifier","src":"205061:6:22"},"nativeSrc":"205061:16:22","nodeType":"YulFunctionCall","src":"205061:16:22"},"nativeSrc":"205061:16:22","nodeType":"YulExpressionStatement","src":"205061:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205097:4:22","nodeType":"YulLiteral","src":"205097:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"205103:4:22","nodeType":"YulLiteral","src":"205103:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"205090:6:22","nodeType":"YulIdentifier","src":"205090:6:22"},"nativeSrc":"205090:18:22","nodeType":"YulFunctionCall","src":"205090:18:22"},"nativeSrc":"205090:18:22","nodeType":"YulExpressionStatement","src":"205090:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205128:4:22","nodeType":"YulLiteral","src":"205128:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"205134:4:22","nodeType":"YulLiteral","src":"205134:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"205121:6:22","nodeType":"YulIdentifier","src":"205121:6:22"},"nativeSrc":"205121:18:22","nodeType":"YulFunctionCall","src":"205121:18:22"},"nativeSrc":"205121:18:22","nodeType":"YulExpressionStatement","src":"205121:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205164:4:22","nodeType":"YulLiteral","src":"205164:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"205170:2:22","nodeType":"YulIdentifier","src":"205170:2:22"}],"functionName":{"name":"writeString","nativeSrc":"205152:11:22","nodeType":"YulIdentifier","src":"205152:11:22"},"nativeSrc":"205152:21:22","nodeType":"YulFunctionCall","src":"205152:21:22"},"nativeSrc":"205152:21:22","nodeType":"YulExpressionStatement","src":"205152:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205198:4:22","nodeType":"YulLiteral","src":"205198:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"205204:2:22","nodeType":"YulIdentifier","src":"205204:2:22"}],"functionName":{"name":"writeString","nativeSrc":"205186:11:22","nodeType":"YulIdentifier","src":"205186:11:22"},"nativeSrc":"205186:21:22","nodeType":"YulFunctionCall","src":"205186:21:22"},"nativeSrc":"205186:21:22","nodeType":"YulExpressionStatement","src":"205186:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37799,"isOffset":false,"isSlot":false,"src":"204665:2:22","valueSize":1},{"declaration":37802,"isOffset":false,"isSlot":false,"src":"204695:2:22","valueSize":1},{"declaration":37805,"isOffset":false,"isSlot":false,"src":"204725:2:22","valueSize":1},{"declaration":37808,"isOffset":false,"isSlot":false,"src":"204755:2:22","valueSize":1},{"declaration":37811,"isOffset":false,"isSlot":false,"src":"204785:2:22","valueSize":1},{"declaration":37814,"isOffset":false,"isSlot":false,"src":"204815:2:22","valueSize":1},{"declaration":37817,"isOffset":false,"isSlot":false,"src":"204845:2:22","valueSize":1},{"declaration":37820,"isOffset":false,"isSlot":false,"src":"204875:2:22","valueSize":1},{"declaration":37823,"isOffset":false,"isSlot":false,"src":"204905:2:22","valueSize":1},{"declaration":37789,"isOffset":false,"isSlot":false,"src":"205045:2:22","valueSize":1},{"declaration":37791,"isOffset":false,"isSlot":false,"src":"205074:2:22","valueSize":1},{"declaration":37793,"isOffset":false,"isSlot":false,"src":"205170:2:22","valueSize":1},{"declaration":37795,"isOffset":false,"isSlot":false,"src":"205204:2:22","valueSize":1}],"id":37825,"nodeType":"InlineAssembly","src":"204287:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205242:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205248:5:22","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":37826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"205226:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"205226:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37830,"nodeType":"ExpressionStatement","src":"205226:28:22"},{"AST":{"nativeSrc":"205316:273:22","nodeType":"YulBlock","src":"205316:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"205337:4:22","nodeType":"YulLiteral","src":"205337:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"205343:2:22","nodeType":"YulIdentifier","src":"205343:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205330:6:22","nodeType":"YulIdentifier","src":"205330:6:22"},"nativeSrc":"205330:16:22","nodeType":"YulFunctionCall","src":"205330:16:22"},"nativeSrc":"205330:16:22","nodeType":"YulExpressionStatement","src":"205330:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205366:4:22","nodeType":"YulLiteral","src":"205366:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"205372:2:22","nodeType":"YulIdentifier","src":"205372:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205359:6:22","nodeType":"YulIdentifier","src":"205359:6:22"},"nativeSrc":"205359:16:22","nodeType":"YulFunctionCall","src":"205359:16:22"},"nativeSrc":"205359:16:22","nodeType":"YulExpressionStatement","src":"205359:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205395:4:22","nodeType":"YulLiteral","src":"205395:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"205401:2:22","nodeType":"YulIdentifier","src":"205401:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205388:6:22","nodeType":"YulIdentifier","src":"205388:6:22"},"nativeSrc":"205388:16:22","nodeType":"YulFunctionCall","src":"205388:16:22"},"nativeSrc":"205388:16:22","nodeType":"YulExpressionStatement","src":"205388:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205424:4:22","nodeType":"YulLiteral","src":"205424:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"205430:2:22","nodeType":"YulIdentifier","src":"205430:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205417:6:22","nodeType":"YulIdentifier","src":"205417:6:22"},"nativeSrc":"205417:16:22","nodeType":"YulFunctionCall","src":"205417:16:22"},"nativeSrc":"205417:16:22","nodeType":"YulExpressionStatement","src":"205417:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205453:4:22","nodeType":"YulLiteral","src":"205453:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"205459:2:22","nodeType":"YulIdentifier","src":"205459:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205446:6:22","nodeType":"YulIdentifier","src":"205446:6:22"},"nativeSrc":"205446:16:22","nodeType":"YulFunctionCall","src":"205446:16:22"},"nativeSrc":"205446:16:22","nodeType":"YulExpressionStatement","src":"205446:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205482:4:22","nodeType":"YulLiteral","src":"205482:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"205488:2:22","nodeType":"YulIdentifier","src":"205488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205475:6:22","nodeType":"YulIdentifier","src":"205475:6:22"},"nativeSrc":"205475:16:22","nodeType":"YulFunctionCall","src":"205475:16:22"},"nativeSrc":"205475:16:22","nodeType":"YulExpressionStatement","src":"205475:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205511:4:22","nodeType":"YulLiteral","src":"205511:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"205517:2:22","nodeType":"YulIdentifier","src":"205517:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205504:6:22","nodeType":"YulIdentifier","src":"205504:6:22"},"nativeSrc":"205504:16:22","nodeType":"YulFunctionCall","src":"205504:16:22"},"nativeSrc":"205504:16:22","nodeType":"YulExpressionStatement","src":"205504:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205540:4:22","nodeType":"YulLiteral","src":"205540:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"205546:2:22","nodeType":"YulIdentifier","src":"205546:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205533:6:22","nodeType":"YulIdentifier","src":"205533:6:22"},"nativeSrc":"205533:16:22","nodeType":"YulFunctionCall","src":"205533:16:22"},"nativeSrc":"205533:16:22","nodeType":"YulExpressionStatement","src":"205533:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205569:5:22","nodeType":"YulLiteral","src":"205569:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"205576:2:22","nodeType":"YulIdentifier","src":"205576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"205562:6:22","nodeType":"YulIdentifier","src":"205562:6:22"},"nativeSrc":"205562:17:22","nodeType":"YulFunctionCall","src":"205562:17:22"},"nativeSrc":"205562:17:22","nodeType":"YulExpressionStatement","src":"205562:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37799,"isOffset":false,"isSlot":false,"src":"205343:2:22","valueSize":1},{"declaration":37802,"isOffset":false,"isSlot":false,"src":"205372:2:22","valueSize":1},{"declaration":37805,"isOffset":false,"isSlot":false,"src":"205401:2:22","valueSize":1},{"declaration":37808,"isOffset":false,"isSlot":false,"src":"205430:2:22","valueSize":1},{"declaration":37811,"isOffset":false,"isSlot":false,"src":"205459:2:22","valueSize":1},{"declaration":37814,"isOffset":false,"isSlot":false,"src":"205488:2:22","valueSize":1},{"declaration":37817,"isOffset":false,"isSlot":false,"src":"205517:2:22","valueSize":1},{"declaration":37820,"isOffset":false,"isSlot":false,"src":"205546:2:22","valueSize":1},{"declaration":37823,"isOffset":false,"isSlot":false,"src":"205576:2:22","valueSize":1}],"id":37831,"nodeType":"InlineAssembly","src":"205307:282:22"}]},"id":37833,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"203994:3:22","nodeType":"FunctionDefinition","parameters":{"id":37796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37789,"mutability":"mutable","name":"p0","nameLocation":"204003:2:22","nodeType":"VariableDeclaration","scope":37833,"src":"203998:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37788,"name":"bool","nodeType":"ElementaryTypeName","src":"203998:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37791,"mutability":"mutable","name":"p1","nameLocation":"204012:2:22","nodeType":"VariableDeclaration","scope":37833,"src":"204007:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37790,"name":"bool","nodeType":"ElementaryTypeName","src":"204007:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37793,"mutability":"mutable","name":"p2","nameLocation":"204024:2:22","nodeType":"VariableDeclaration","scope":37833,"src":"204016:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204016:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37795,"mutability":"mutable","name":"p3","nameLocation":"204036:2:22","nodeType":"VariableDeclaration","scope":37833,"src":"204028:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204028:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"203997:42:22"},"returnParameters":{"id":37797,"nodeType":"ParameterList","parameters":[],"src":"204054:0:22"},"scope":44426,"src":"203985:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37866,"nodeType":"Block","src":"205673:800:22","statements":[{"assignments":[37845],"declarations":[{"constant":false,"id":37845,"mutability":"mutable","name":"m0","nameLocation":"205691:2:22","nodeType":"VariableDeclaration","scope":37866,"src":"205683:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205683:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37846,"nodeType":"VariableDeclarationStatement","src":"205683:10:22"},{"assignments":[37848],"declarations":[{"constant":false,"id":37848,"mutability":"mutable","name":"m1","nameLocation":"205711:2:22","nodeType":"VariableDeclaration","scope":37866,"src":"205703:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205703:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37849,"nodeType":"VariableDeclarationStatement","src":"205703:10:22"},{"assignments":[37851],"declarations":[{"constant":false,"id":37851,"mutability":"mutable","name":"m2","nameLocation":"205731:2:22","nodeType":"VariableDeclaration","scope":37866,"src":"205723:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205723:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37852,"nodeType":"VariableDeclarationStatement","src":"205723:10:22"},{"assignments":[37854],"declarations":[{"constant":false,"id":37854,"mutability":"mutable","name":"m3","nameLocation":"205751:2:22","nodeType":"VariableDeclaration","scope":37866,"src":"205743:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205743:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37855,"nodeType":"VariableDeclarationStatement","src":"205743:10:22"},{"assignments":[37857],"declarations":[{"constant":false,"id":37857,"mutability":"mutable","name":"m4","nameLocation":"205771:2:22","nodeType":"VariableDeclaration","scope":37866,"src":"205763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205763:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37858,"nodeType":"VariableDeclarationStatement","src":"205763:10:22"},{"AST":{"nativeSrc":"205835:378:22","nodeType":"YulBlock","src":"205835:378:22","statements":[{"nativeSrc":"205849:17:22","nodeType":"YulAssignment","src":"205849:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"205861:4:22","nodeType":"YulLiteral","src":"205861:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"205855:5:22","nodeType":"YulIdentifier","src":"205855:5:22"},"nativeSrc":"205855:11:22","nodeType":"YulFunctionCall","src":"205855:11:22"},"variableNames":[{"name":"m0","nativeSrc":"205849:2:22","nodeType":"YulIdentifier","src":"205849:2:22"}]},{"nativeSrc":"205879:17:22","nodeType":"YulAssignment","src":"205879:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"205891:4:22","nodeType":"YulLiteral","src":"205891:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"205885:5:22","nodeType":"YulIdentifier","src":"205885:5:22"},"nativeSrc":"205885:11:22","nodeType":"YulFunctionCall","src":"205885:11:22"},"variableNames":[{"name":"m1","nativeSrc":"205879:2:22","nodeType":"YulIdentifier","src":"205879:2:22"}]},{"nativeSrc":"205909:17:22","nodeType":"YulAssignment","src":"205909:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"205921:4:22","nodeType":"YulLiteral","src":"205921:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"205915:5:22","nodeType":"YulIdentifier","src":"205915:5:22"},"nativeSrc":"205915:11:22","nodeType":"YulFunctionCall","src":"205915:11:22"},"variableNames":[{"name":"m2","nativeSrc":"205909:2:22","nodeType":"YulIdentifier","src":"205909:2:22"}]},{"nativeSrc":"205939:17:22","nodeType":"YulAssignment","src":"205939:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"205951:4:22","nodeType":"YulLiteral","src":"205951:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"205945:5:22","nodeType":"YulIdentifier","src":"205945:5:22"},"nativeSrc":"205945:11:22","nodeType":"YulFunctionCall","src":"205945:11:22"},"variableNames":[{"name":"m3","nativeSrc":"205939:2:22","nodeType":"YulIdentifier","src":"205939:2:22"}]},{"nativeSrc":"205969:17:22","nodeType":"YulAssignment","src":"205969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"205981:4:22","nodeType":"YulLiteral","src":"205981:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"205975:5:22","nodeType":"YulIdentifier","src":"205975:5:22"},"nativeSrc":"205975:11:22","nodeType":"YulFunctionCall","src":"205975:11:22"},"variableNames":[{"name":"m4","nativeSrc":"205969:2:22","nodeType":"YulIdentifier","src":"205969:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206070:4:22","nodeType":"YulLiteral","src":"206070:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206076:10:22","nodeType":"YulLiteral","src":"206076:10:22","type":"","value":"0x26f560a8"}],"functionName":{"name":"mstore","nativeSrc":"206063:6:22","nodeType":"YulIdentifier","src":"206063:6:22"},"nativeSrc":"206063:24:22","nodeType":"YulFunctionCall","src":"206063:24:22"},"nativeSrc":"206063:24:22","nodeType":"YulExpressionStatement","src":"206063:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206107:4:22","nodeType":"YulLiteral","src":"206107:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206113:2:22","nodeType":"YulIdentifier","src":"206113:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206100:6:22","nodeType":"YulIdentifier","src":"206100:6:22"},"nativeSrc":"206100:16:22","nodeType":"YulFunctionCall","src":"206100:16:22"},"nativeSrc":"206100:16:22","nodeType":"YulExpressionStatement","src":"206100:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206136:4:22","nodeType":"YulLiteral","src":"206136:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"206142:2:22","nodeType":"YulIdentifier","src":"206142:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206129:6:22","nodeType":"YulIdentifier","src":"206129:6:22"},"nativeSrc":"206129:16:22","nodeType":"YulFunctionCall","src":"206129:16:22"},"nativeSrc":"206129:16:22","nodeType":"YulExpressionStatement","src":"206129:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206165:4:22","nodeType":"YulLiteral","src":"206165:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"206171:2:22","nodeType":"YulIdentifier","src":"206171:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206158:6:22","nodeType":"YulIdentifier","src":"206158:6:22"},"nativeSrc":"206158:16:22","nodeType":"YulFunctionCall","src":"206158:16:22"},"nativeSrc":"206158:16:22","nodeType":"YulExpressionStatement","src":"206158:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206194:4:22","nodeType":"YulLiteral","src":"206194:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"206200:2:22","nodeType":"YulIdentifier","src":"206200:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206187:6:22","nodeType":"YulIdentifier","src":"206187:6:22"},"nativeSrc":"206187:16:22","nodeType":"YulFunctionCall","src":"206187:16:22"},"nativeSrc":"206187:16:22","nodeType":"YulExpressionStatement","src":"206187:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37845,"isOffset":false,"isSlot":false,"src":"205849:2:22","valueSize":1},{"declaration":37848,"isOffset":false,"isSlot":false,"src":"205879:2:22","valueSize":1},{"declaration":37851,"isOffset":false,"isSlot":false,"src":"205909:2:22","valueSize":1},{"declaration":37854,"isOffset":false,"isSlot":false,"src":"205939:2:22","valueSize":1},{"declaration":37857,"isOffset":false,"isSlot":false,"src":"205969:2:22","valueSize":1},{"declaration":37835,"isOffset":false,"isSlot":false,"src":"206113:2:22","valueSize":1},{"declaration":37837,"isOffset":false,"isSlot":false,"src":"206142:2:22","valueSize":1},{"declaration":37839,"isOffset":false,"isSlot":false,"src":"206171:2:22","valueSize":1},{"declaration":37841,"isOffset":false,"isSlot":false,"src":"206200:2:22","valueSize":1}],"id":37859,"nodeType":"InlineAssembly","src":"205826:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206238:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206244:4:22","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":37860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"206222:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"206222:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37864,"nodeType":"ExpressionStatement","src":"206222:27:22"},{"AST":{"nativeSrc":"206311:156:22","nodeType":"YulBlock","src":"206311:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"206332:4:22","nodeType":"YulLiteral","src":"206332:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"206338:2:22","nodeType":"YulIdentifier","src":"206338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206325:6:22","nodeType":"YulIdentifier","src":"206325:6:22"},"nativeSrc":"206325:16:22","nodeType":"YulFunctionCall","src":"206325:16:22"},"nativeSrc":"206325:16:22","nodeType":"YulExpressionStatement","src":"206325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206361:4:22","nodeType":"YulLiteral","src":"206361:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"206367:2:22","nodeType":"YulIdentifier","src":"206367:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206354:6:22","nodeType":"YulIdentifier","src":"206354:6:22"},"nativeSrc":"206354:16:22","nodeType":"YulFunctionCall","src":"206354:16:22"},"nativeSrc":"206354:16:22","nodeType":"YulExpressionStatement","src":"206354:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206390:4:22","nodeType":"YulLiteral","src":"206390:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"206396:2:22","nodeType":"YulIdentifier","src":"206396:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206383:6:22","nodeType":"YulIdentifier","src":"206383:6:22"},"nativeSrc":"206383:16:22","nodeType":"YulFunctionCall","src":"206383:16:22"},"nativeSrc":"206383:16:22","nodeType":"YulExpressionStatement","src":"206383:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206419:4:22","nodeType":"YulLiteral","src":"206419:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"206425:2:22","nodeType":"YulIdentifier","src":"206425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206412:6:22","nodeType":"YulIdentifier","src":"206412:6:22"},"nativeSrc":"206412:16:22","nodeType":"YulFunctionCall","src":"206412:16:22"},"nativeSrc":"206412:16:22","nodeType":"YulExpressionStatement","src":"206412:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206448:4:22","nodeType":"YulLiteral","src":"206448:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"206454:2:22","nodeType":"YulIdentifier","src":"206454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206441:6:22","nodeType":"YulIdentifier","src":"206441:6:22"},"nativeSrc":"206441:16:22","nodeType":"YulFunctionCall","src":"206441:16:22"},"nativeSrc":"206441:16:22","nodeType":"YulExpressionStatement","src":"206441:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37845,"isOffset":false,"isSlot":false,"src":"206338:2:22","valueSize":1},{"declaration":37848,"isOffset":false,"isSlot":false,"src":"206367:2:22","valueSize":1},{"declaration":37851,"isOffset":false,"isSlot":false,"src":"206396:2:22","valueSize":1},{"declaration":37854,"isOffset":false,"isSlot":false,"src":"206425:2:22","valueSize":1},{"declaration":37857,"isOffset":false,"isSlot":false,"src":"206454:2:22","valueSize":1}],"id":37865,"nodeType":"InlineAssembly","src":"206302:165:22"}]},"id":37867,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"205610:3:22","nodeType":"FunctionDefinition","parameters":{"id":37842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37835,"mutability":"mutable","name":"p0","nameLocation":"205619:2:22","nodeType":"VariableDeclaration","scope":37867,"src":"205614:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37834,"name":"bool","nodeType":"ElementaryTypeName","src":"205614:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37837,"mutability":"mutable","name":"p1","nameLocation":"205631:2:22","nodeType":"VariableDeclaration","scope":37867,"src":"205623:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37836,"name":"uint256","nodeType":"ElementaryTypeName","src":"205623:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37839,"mutability":"mutable","name":"p2","nameLocation":"205643:2:22","nodeType":"VariableDeclaration","scope":37867,"src":"205635:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37838,"name":"address","nodeType":"ElementaryTypeName","src":"205635:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37841,"mutability":"mutable","name":"p3","nameLocation":"205655:2:22","nodeType":"VariableDeclaration","scope":37867,"src":"205647:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37840,"name":"address","nodeType":"ElementaryTypeName","src":"205647:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"205613:45:22"},"returnParameters":{"id":37843,"nodeType":"ParameterList","parameters":[],"src":"205673:0:22"},"scope":44426,"src":"205601:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37900,"nodeType":"Block","src":"206548:797:22","statements":[{"assignments":[37879],"declarations":[{"constant":false,"id":37879,"mutability":"mutable","name":"m0","nameLocation":"206566:2:22","nodeType":"VariableDeclaration","scope":37900,"src":"206558:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206558:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37880,"nodeType":"VariableDeclarationStatement","src":"206558:10:22"},{"assignments":[37882],"declarations":[{"constant":false,"id":37882,"mutability":"mutable","name":"m1","nameLocation":"206586:2:22","nodeType":"VariableDeclaration","scope":37900,"src":"206578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37883,"nodeType":"VariableDeclarationStatement","src":"206578:10:22"},{"assignments":[37885],"declarations":[{"constant":false,"id":37885,"mutability":"mutable","name":"m2","nameLocation":"206606:2:22","nodeType":"VariableDeclaration","scope":37900,"src":"206598:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206598:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37886,"nodeType":"VariableDeclarationStatement","src":"206598:10:22"},{"assignments":[37888],"declarations":[{"constant":false,"id":37888,"mutability":"mutable","name":"m3","nameLocation":"206626:2:22","nodeType":"VariableDeclaration","scope":37900,"src":"206618:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206618:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37889,"nodeType":"VariableDeclarationStatement","src":"206618:10:22"},{"assignments":[37891],"declarations":[{"constant":false,"id":37891,"mutability":"mutable","name":"m4","nameLocation":"206646:2:22","nodeType":"VariableDeclaration","scope":37900,"src":"206638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37892,"nodeType":"VariableDeclarationStatement","src":"206638:10:22"},{"AST":{"nativeSrc":"206710:375:22","nodeType":"YulBlock","src":"206710:375:22","statements":[{"nativeSrc":"206724:17:22","nodeType":"YulAssignment","src":"206724:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"206736:4:22","nodeType":"YulLiteral","src":"206736:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"206730:5:22","nodeType":"YulIdentifier","src":"206730:5:22"},"nativeSrc":"206730:11:22","nodeType":"YulFunctionCall","src":"206730:11:22"},"variableNames":[{"name":"m0","nativeSrc":"206724:2:22","nodeType":"YulIdentifier","src":"206724:2:22"}]},{"nativeSrc":"206754:17:22","nodeType":"YulAssignment","src":"206754:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"206766:4:22","nodeType":"YulLiteral","src":"206766:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"206760:5:22","nodeType":"YulIdentifier","src":"206760:5:22"},"nativeSrc":"206760:11:22","nodeType":"YulFunctionCall","src":"206760:11:22"},"variableNames":[{"name":"m1","nativeSrc":"206754:2:22","nodeType":"YulIdentifier","src":"206754:2:22"}]},{"nativeSrc":"206784:17:22","nodeType":"YulAssignment","src":"206784:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"206796:4:22","nodeType":"YulLiteral","src":"206796:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"206790:5:22","nodeType":"YulIdentifier","src":"206790:5:22"},"nativeSrc":"206790:11:22","nodeType":"YulFunctionCall","src":"206790:11:22"},"variableNames":[{"name":"m2","nativeSrc":"206784:2:22","nodeType":"YulIdentifier","src":"206784:2:22"}]},{"nativeSrc":"206814:17:22","nodeType":"YulAssignment","src":"206814:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"206826:4:22","nodeType":"YulLiteral","src":"206826:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"206820:5:22","nodeType":"YulIdentifier","src":"206820:5:22"},"nativeSrc":"206820:11:22","nodeType":"YulFunctionCall","src":"206820:11:22"},"variableNames":[{"name":"m3","nativeSrc":"206814:2:22","nodeType":"YulIdentifier","src":"206814:2:22"}]},{"nativeSrc":"206844:17:22","nodeType":"YulAssignment","src":"206844:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"206856:4:22","nodeType":"YulLiteral","src":"206856:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"206850:5:22","nodeType":"YulIdentifier","src":"206850:5:22"},"nativeSrc":"206850:11:22","nodeType":"YulFunctionCall","src":"206850:11:22"},"variableNames":[{"name":"m4","nativeSrc":"206844:2:22","nodeType":"YulIdentifier","src":"206844:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206942:4:22","nodeType":"YulLiteral","src":"206942:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206948:10:22","nodeType":"YulLiteral","src":"206948:10:22","type":"","value":"0xb4c314ff"}],"functionName":{"name":"mstore","nativeSrc":"206935:6:22","nodeType":"YulIdentifier","src":"206935:6:22"},"nativeSrc":"206935:24:22","nodeType":"YulFunctionCall","src":"206935:24:22"},"nativeSrc":"206935:24:22","nodeType":"YulExpressionStatement","src":"206935:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206979:4:22","nodeType":"YulLiteral","src":"206979:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206985:2:22","nodeType":"YulIdentifier","src":"206985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"206972:6:22","nodeType":"YulIdentifier","src":"206972:6:22"},"nativeSrc":"206972:16:22","nodeType":"YulFunctionCall","src":"206972:16:22"},"nativeSrc":"206972:16:22","nodeType":"YulExpressionStatement","src":"206972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207008:4:22","nodeType":"YulLiteral","src":"207008:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207014:2:22","nodeType":"YulIdentifier","src":"207014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207001:6:22","nodeType":"YulIdentifier","src":"207001:6:22"},"nativeSrc":"207001:16:22","nodeType":"YulFunctionCall","src":"207001:16:22"},"nativeSrc":"207001:16:22","nodeType":"YulExpressionStatement","src":"207001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207037:4:22","nodeType":"YulLiteral","src":"207037:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207043:2:22","nodeType":"YulIdentifier","src":"207043:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207030:6:22","nodeType":"YulIdentifier","src":"207030:6:22"},"nativeSrc":"207030:16:22","nodeType":"YulFunctionCall","src":"207030:16:22"},"nativeSrc":"207030:16:22","nodeType":"YulExpressionStatement","src":"207030:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207066:4:22","nodeType":"YulLiteral","src":"207066:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207072:2:22","nodeType":"YulIdentifier","src":"207072:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207059:6:22","nodeType":"YulIdentifier","src":"207059:6:22"},"nativeSrc":"207059:16:22","nodeType":"YulFunctionCall","src":"207059:16:22"},"nativeSrc":"207059:16:22","nodeType":"YulExpressionStatement","src":"207059:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37879,"isOffset":false,"isSlot":false,"src":"206724:2:22","valueSize":1},{"declaration":37882,"isOffset":false,"isSlot":false,"src":"206754:2:22","valueSize":1},{"declaration":37885,"isOffset":false,"isSlot":false,"src":"206784:2:22","valueSize":1},{"declaration":37888,"isOffset":false,"isSlot":false,"src":"206814:2:22","valueSize":1},{"declaration":37891,"isOffset":false,"isSlot":false,"src":"206844:2:22","valueSize":1},{"declaration":37869,"isOffset":false,"isSlot":false,"src":"206985:2:22","valueSize":1},{"declaration":37871,"isOffset":false,"isSlot":false,"src":"207014:2:22","valueSize":1},{"declaration":37873,"isOffset":false,"isSlot":false,"src":"207043:2:22","valueSize":1},{"declaration":37875,"isOffset":false,"isSlot":false,"src":"207072:2:22","valueSize":1}],"id":37893,"nodeType":"InlineAssembly","src":"206701:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207110:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207116:4:22","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":37894,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"207094:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207094:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37898,"nodeType":"ExpressionStatement","src":"207094:27:22"},{"AST":{"nativeSrc":"207183:156:22","nodeType":"YulBlock","src":"207183:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"207204:4:22","nodeType":"YulLiteral","src":"207204:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"207210:2:22","nodeType":"YulIdentifier","src":"207210:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207197:6:22","nodeType":"YulIdentifier","src":"207197:6:22"},"nativeSrc":"207197:16:22","nodeType":"YulFunctionCall","src":"207197:16:22"},"nativeSrc":"207197:16:22","nodeType":"YulExpressionStatement","src":"207197:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207233:4:22","nodeType":"YulLiteral","src":"207233:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"207239:2:22","nodeType":"YulIdentifier","src":"207239:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207226:6:22","nodeType":"YulIdentifier","src":"207226:6:22"},"nativeSrc":"207226:16:22","nodeType":"YulFunctionCall","src":"207226:16:22"},"nativeSrc":"207226:16:22","nodeType":"YulExpressionStatement","src":"207226:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207262:4:22","nodeType":"YulLiteral","src":"207262:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"207268:2:22","nodeType":"YulIdentifier","src":"207268:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207255:6:22","nodeType":"YulIdentifier","src":"207255:6:22"},"nativeSrc":"207255:16:22","nodeType":"YulFunctionCall","src":"207255:16:22"},"nativeSrc":"207255:16:22","nodeType":"YulExpressionStatement","src":"207255:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207291:4:22","nodeType":"YulLiteral","src":"207291:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"207297:2:22","nodeType":"YulIdentifier","src":"207297:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207284:6:22","nodeType":"YulIdentifier","src":"207284:6:22"},"nativeSrc":"207284:16:22","nodeType":"YulFunctionCall","src":"207284:16:22"},"nativeSrc":"207284:16:22","nodeType":"YulExpressionStatement","src":"207284:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207320:4:22","nodeType":"YulLiteral","src":"207320:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"207326:2:22","nodeType":"YulIdentifier","src":"207326:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207313:6:22","nodeType":"YulIdentifier","src":"207313:6:22"},"nativeSrc":"207313:16:22","nodeType":"YulFunctionCall","src":"207313:16:22"},"nativeSrc":"207313:16:22","nodeType":"YulExpressionStatement","src":"207313:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37879,"isOffset":false,"isSlot":false,"src":"207210:2:22","valueSize":1},{"declaration":37882,"isOffset":false,"isSlot":false,"src":"207239:2:22","valueSize":1},{"declaration":37885,"isOffset":false,"isSlot":false,"src":"207268:2:22","valueSize":1},{"declaration":37888,"isOffset":false,"isSlot":false,"src":"207297:2:22","valueSize":1},{"declaration":37891,"isOffset":false,"isSlot":false,"src":"207326:2:22","valueSize":1}],"id":37899,"nodeType":"InlineAssembly","src":"207174:165:22"}]},"id":37901,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"206488:3:22","nodeType":"FunctionDefinition","parameters":{"id":37876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37869,"mutability":"mutable","name":"p0","nameLocation":"206497:2:22","nodeType":"VariableDeclaration","scope":37901,"src":"206492:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37868,"name":"bool","nodeType":"ElementaryTypeName","src":"206492:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37871,"mutability":"mutable","name":"p1","nameLocation":"206509:2:22","nodeType":"VariableDeclaration","scope":37901,"src":"206501:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37870,"name":"uint256","nodeType":"ElementaryTypeName","src":"206501:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37873,"mutability":"mutable","name":"p2","nameLocation":"206521:2:22","nodeType":"VariableDeclaration","scope":37901,"src":"206513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37872,"name":"address","nodeType":"ElementaryTypeName","src":"206513:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37875,"mutability":"mutable","name":"p3","nameLocation":"206530:2:22","nodeType":"VariableDeclaration","scope":37901,"src":"206525:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37874,"name":"bool","nodeType":"ElementaryTypeName","src":"206525:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"206491:42:22"},"returnParameters":{"id":37877,"nodeType":"ParameterList","parameters":[],"src":"206548:0:22"},"scope":44426,"src":"206479:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37934,"nodeType":"Block","src":"207423:800:22","statements":[{"assignments":[37913],"declarations":[{"constant":false,"id":37913,"mutability":"mutable","name":"m0","nameLocation":"207441:2:22","nodeType":"VariableDeclaration","scope":37934,"src":"207433:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207433:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37914,"nodeType":"VariableDeclarationStatement","src":"207433:10:22"},{"assignments":[37916],"declarations":[{"constant":false,"id":37916,"mutability":"mutable","name":"m1","nameLocation":"207461:2:22","nodeType":"VariableDeclaration","scope":37934,"src":"207453:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207453:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37917,"nodeType":"VariableDeclarationStatement","src":"207453:10:22"},{"assignments":[37919],"declarations":[{"constant":false,"id":37919,"mutability":"mutable","name":"m2","nameLocation":"207481:2:22","nodeType":"VariableDeclaration","scope":37934,"src":"207473:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207473:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37920,"nodeType":"VariableDeclarationStatement","src":"207473:10:22"},{"assignments":[37922],"declarations":[{"constant":false,"id":37922,"mutability":"mutable","name":"m3","nameLocation":"207501:2:22","nodeType":"VariableDeclaration","scope":37934,"src":"207493:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207493:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37923,"nodeType":"VariableDeclarationStatement","src":"207493:10:22"},{"assignments":[37925],"declarations":[{"constant":false,"id":37925,"mutability":"mutable","name":"m4","nameLocation":"207521:2:22","nodeType":"VariableDeclaration","scope":37934,"src":"207513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207513:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37926,"nodeType":"VariableDeclarationStatement","src":"207513:10:22"},{"AST":{"nativeSrc":"207585:378:22","nodeType":"YulBlock","src":"207585:378:22","statements":[{"nativeSrc":"207599:17:22","nodeType":"YulAssignment","src":"207599:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"207611:4:22","nodeType":"YulLiteral","src":"207611:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"207605:5:22","nodeType":"YulIdentifier","src":"207605:5:22"},"nativeSrc":"207605:11:22","nodeType":"YulFunctionCall","src":"207605:11:22"},"variableNames":[{"name":"m0","nativeSrc":"207599:2:22","nodeType":"YulIdentifier","src":"207599:2:22"}]},{"nativeSrc":"207629:17:22","nodeType":"YulAssignment","src":"207629:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"207641:4:22","nodeType":"YulLiteral","src":"207641:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"207635:5:22","nodeType":"YulIdentifier","src":"207635:5:22"},"nativeSrc":"207635:11:22","nodeType":"YulFunctionCall","src":"207635:11:22"},"variableNames":[{"name":"m1","nativeSrc":"207629:2:22","nodeType":"YulIdentifier","src":"207629:2:22"}]},{"nativeSrc":"207659:17:22","nodeType":"YulAssignment","src":"207659:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"207671:4:22","nodeType":"YulLiteral","src":"207671:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"207665:5:22","nodeType":"YulIdentifier","src":"207665:5:22"},"nativeSrc":"207665:11:22","nodeType":"YulFunctionCall","src":"207665:11:22"},"variableNames":[{"name":"m2","nativeSrc":"207659:2:22","nodeType":"YulIdentifier","src":"207659:2:22"}]},{"nativeSrc":"207689:17:22","nodeType":"YulAssignment","src":"207689:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"207701:4:22","nodeType":"YulLiteral","src":"207701:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"207695:5:22","nodeType":"YulIdentifier","src":"207695:5:22"},"nativeSrc":"207695:11:22","nodeType":"YulFunctionCall","src":"207695:11:22"},"variableNames":[{"name":"m3","nativeSrc":"207689:2:22","nodeType":"YulIdentifier","src":"207689:2:22"}]},{"nativeSrc":"207719:17:22","nodeType":"YulAssignment","src":"207719:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"207731:4:22","nodeType":"YulLiteral","src":"207731:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"207725:5:22","nodeType":"YulIdentifier","src":"207725:5:22"},"nativeSrc":"207725:11:22","nodeType":"YulFunctionCall","src":"207725:11:22"},"variableNames":[{"name":"m4","nativeSrc":"207719:2:22","nodeType":"YulIdentifier","src":"207719:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207820:4:22","nodeType":"YulLiteral","src":"207820:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"207826:10:22","nodeType":"YulLiteral","src":"207826:10:22","type":"","value":"0x1537dc87"}],"functionName":{"name":"mstore","nativeSrc":"207813:6:22","nodeType":"YulIdentifier","src":"207813:6:22"},"nativeSrc":"207813:24:22","nodeType":"YulFunctionCall","src":"207813:24:22"},"nativeSrc":"207813:24:22","nodeType":"YulExpressionStatement","src":"207813:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207857:4:22","nodeType":"YulLiteral","src":"207857:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"207863:2:22","nodeType":"YulIdentifier","src":"207863:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207850:6:22","nodeType":"YulIdentifier","src":"207850:6:22"},"nativeSrc":"207850:16:22","nodeType":"YulFunctionCall","src":"207850:16:22"},"nativeSrc":"207850:16:22","nodeType":"YulExpressionStatement","src":"207850:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207886:4:22","nodeType":"YulLiteral","src":"207886:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207892:2:22","nodeType":"YulIdentifier","src":"207892:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207879:6:22","nodeType":"YulIdentifier","src":"207879:6:22"},"nativeSrc":"207879:16:22","nodeType":"YulFunctionCall","src":"207879:16:22"},"nativeSrc":"207879:16:22","nodeType":"YulExpressionStatement","src":"207879:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207915:4:22","nodeType":"YulLiteral","src":"207915:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207921:2:22","nodeType":"YulIdentifier","src":"207921:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207908:6:22","nodeType":"YulIdentifier","src":"207908:6:22"},"nativeSrc":"207908:16:22","nodeType":"YulFunctionCall","src":"207908:16:22"},"nativeSrc":"207908:16:22","nodeType":"YulExpressionStatement","src":"207908:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207944:4:22","nodeType":"YulLiteral","src":"207944:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207950:2:22","nodeType":"YulIdentifier","src":"207950:2:22"}],"functionName":{"name":"mstore","nativeSrc":"207937:6:22","nodeType":"YulIdentifier","src":"207937:6:22"},"nativeSrc":"207937:16:22","nodeType":"YulFunctionCall","src":"207937:16:22"},"nativeSrc":"207937:16:22","nodeType":"YulExpressionStatement","src":"207937:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37913,"isOffset":false,"isSlot":false,"src":"207599:2:22","valueSize":1},{"declaration":37916,"isOffset":false,"isSlot":false,"src":"207629:2:22","valueSize":1},{"declaration":37919,"isOffset":false,"isSlot":false,"src":"207659:2:22","valueSize":1},{"declaration":37922,"isOffset":false,"isSlot":false,"src":"207689:2:22","valueSize":1},{"declaration":37925,"isOffset":false,"isSlot":false,"src":"207719:2:22","valueSize":1},{"declaration":37903,"isOffset":false,"isSlot":false,"src":"207863:2:22","valueSize":1},{"declaration":37905,"isOffset":false,"isSlot":false,"src":"207892:2:22","valueSize":1},{"declaration":37907,"isOffset":false,"isSlot":false,"src":"207921:2:22","valueSize":1},{"declaration":37909,"isOffset":false,"isSlot":false,"src":"207950:2:22","valueSize":1}],"id":37927,"nodeType":"InlineAssembly","src":"207576:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207988:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":37930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207994:4:22","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":37928,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"207972:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207972:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37932,"nodeType":"ExpressionStatement","src":"207972:27:22"},{"AST":{"nativeSrc":"208061:156:22","nodeType":"YulBlock","src":"208061:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"208082:4:22","nodeType":"YulLiteral","src":"208082:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"208088:2:22","nodeType":"YulIdentifier","src":"208088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"208075:6:22","nodeType":"YulIdentifier","src":"208075:6:22"},"nativeSrc":"208075:16:22","nodeType":"YulFunctionCall","src":"208075:16:22"},"nativeSrc":"208075:16:22","nodeType":"YulExpressionStatement","src":"208075:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208111:4:22","nodeType":"YulLiteral","src":"208111:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"208117:2:22","nodeType":"YulIdentifier","src":"208117:2:22"}],"functionName":{"name":"mstore","nativeSrc":"208104:6:22","nodeType":"YulIdentifier","src":"208104:6:22"},"nativeSrc":"208104:16:22","nodeType":"YulFunctionCall","src":"208104:16:22"},"nativeSrc":"208104:16:22","nodeType":"YulExpressionStatement","src":"208104:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208140:4:22","nodeType":"YulLiteral","src":"208140:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"208146:2:22","nodeType":"YulIdentifier","src":"208146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"208133:6:22","nodeType":"YulIdentifier","src":"208133:6:22"},"nativeSrc":"208133:16:22","nodeType":"YulFunctionCall","src":"208133:16:22"},"nativeSrc":"208133:16:22","nodeType":"YulExpressionStatement","src":"208133:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208169:4:22","nodeType":"YulLiteral","src":"208169:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"208175:2:22","nodeType":"YulIdentifier","src":"208175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"208162:6:22","nodeType":"YulIdentifier","src":"208162:6:22"},"nativeSrc":"208162:16:22","nodeType":"YulFunctionCall","src":"208162:16:22"},"nativeSrc":"208162:16:22","nodeType":"YulExpressionStatement","src":"208162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208198:4:22","nodeType":"YulLiteral","src":"208198:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"208204:2:22","nodeType":"YulIdentifier","src":"208204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"208191:6:22","nodeType":"YulIdentifier","src":"208191:6:22"},"nativeSrc":"208191:16:22","nodeType":"YulFunctionCall","src":"208191:16:22"},"nativeSrc":"208191:16:22","nodeType":"YulExpressionStatement","src":"208191:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37913,"isOffset":false,"isSlot":false,"src":"208088:2:22","valueSize":1},{"declaration":37916,"isOffset":false,"isSlot":false,"src":"208117:2:22","valueSize":1},{"declaration":37919,"isOffset":false,"isSlot":false,"src":"208146:2:22","valueSize":1},{"declaration":37922,"isOffset":false,"isSlot":false,"src":"208175:2:22","valueSize":1},{"declaration":37925,"isOffset":false,"isSlot":false,"src":"208204:2:22","valueSize":1}],"id":37933,"nodeType":"InlineAssembly","src":"208052:165:22"}]},"id":37935,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"207360:3:22","nodeType":"FunctionDefinition","parameters":{"id":37910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37903,"mutability":"mutable","name":"p0","nameLocation":"207369:2:22","nodeType":"VariableDeclaration","scope":37935,"src":"207364:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37902,"name":"bool","nodeType":"ElementaryTypeName","src":"207364:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37905,"mutability":"mutable","name":"p1","nameLocation":"207381:2:22","nodeType":"VariableDeclaration","scope":37935,"src":"207373:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37904,"name":"uint256","nodeType":"ElementaryTypeName","src":"207373:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37907,"mutability":"mutable","name":"p2","nameLocation":"207393:2:22","nodeType":"VariableDeclaration","scope":37935,"src":"207385:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37906,"name":"address","nodeType":"ElementaryTypeName","src":"207385:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37909,"mutability":"mutable","name":"p3","nameLocation":"207405:2:22","nodeType":"VariableDeclaration","scope":37935,"src":"207397:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37908,"name":"uint256","nodeType":"ElementaryTypeName","src":"207397:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"207363:45:22"},"returnParameters":{"id":37911,"nodeType":"ParameterList","parameters":[],"src":"207423:0:22"},"scope":44426,"src":"207351:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":37974,"nodeType":"Block","src":"208301:1348:22","statements":[{"assignments":[37947],"declarations":[{"constant":false,"id":37947,"mutability":"mutable","name":"m0","nameLocation":"208319:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208311:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208311:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37948,"nodeType":"VariableDeclarationStatement","src":"208311:10:22"},{"assignments":[37950],"declarations":[{"constant":false,"id":37950,"mutability":"mutable","name":"m1","nameLocation":"208339:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208331:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208331:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37951,"nodeType":"VariableDeclarationStatement","src":"208331:10:22"},{"assignments":[37953],"declarations":[{"constant":false,"id":37953,"mutability":"mutable","name":"m2","nameLocation":"208359:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208351:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208351:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37954,"nodeType":"VariableDeclarationStatement","src":"208351:10:22"},{"assignments":[37956],"declarations":[{"constant":false,"id":37956,"mutability":"mutable","name":"m3","nameLocation":"208379:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208371:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208371:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37957,"nodeType":"VariableDeclarationStatement","src":"208371:10:22"},{"assignments":[37959],"declarations":[{"constant":false,"id":37959,"mutability":"mutable","name":"m4","nameLocation":"208399:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208391:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208391:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37960,"nodeType":"VariableDeclarationStatement","src":"208391:10:22"},{"assignments":[37962],"declarations":[{"constant":false,"id":37962,"mutability":"mutable","name":"m5","nameLocation":"208419:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208411:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208411:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37963,"nodeType":"VariableDeclarationStatement","src":"208411:10:22"},{"assignments":[37965],"declarations":[{"constant":false,"id":37965,"mutability":"mutable","name":"m6","nameLocation":"208439:2:22","nodeType":"VariableDeclaration","scope":37974,"src":"208431:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208431:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37966,"nodeType":"VariableDeclarationStatement","src":"208431:10:22"},{"AST":{"nativeSrc":"208503:828:22","nodeType":"YulBlock","src":"208503:828:22","statements":[{"body":{"nativeSrc":"208546:313:22","nodeType":"YulBlock","src":"208546:313:22","statements":[{"nativeSrc":"208564:15:22","nodeType":"YulVariableDeclaration","src":"208564:15:22","value":{"kind":"number","nativeSrc":"208578:1:22","nodeType":"YulLiteral","src":"208578:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"208568:6:22","nodeType":"YulTypedName","src":"208568:6:22","type":""}]},{"body":{"nativeSrc":"208649:40:22","nodeType":"YulBlock","src":"208649:40:22","statements":[{"body":{"nativeSrc":"208678:9:22","nodeType":"YulBlock","src":"208678:9:22","statements":[{"nativeSrc":"208680:5:22","nodeType":"YulBreak","src":"208680:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"208666:6:22","nodeType":"YulIdentifier","src":"208666:6:22"},{"name":"w","nativeSrc":"208674:1:22","nodeType":"YulIdentifier","src":"208674:1:22"}],"functionName":{"name":"byte","nativeSrc":"208661:4:22","nodeType":"YulIdentifier","src":"208661:4:22"},"nativeSrc":"208661:15:22","nodeType":"YulFunctionCall","src":"208661:15:22"}],"functionName":{"name":"iszero","nativeSrc":"208654:6:22","nodeType":"YulIdentifier","src":"208654:6:22"},"nativeSrc":"208654:23:22","nodeType":"YulFunctionCall","src":"208654:23:22"},"nativeSrc":"208651:36:22","nodeType":"YulIf","src":"208651:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"208606:6:22","nodeType":"YulIdentifier","src":"208606:6:22"},{"kind":"number","nativeSrc":"208614:4:22","nodeType":"YulLiteral","src":"208614:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"208603:2:22","nodeType":"YulIdentifier","src":"208603:2:22"},"nativeSrc":"208603:16:22","nodeType":"YulFunctionCall","src":"208603:16:22"},"nativeSrc":"208596:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"208620:28:22","nodeType":"YulBlock","src":"208620:28:22","statements":[{"nativeSrc":"208622:24:22","nodeType":"YulAssignment","src":"208622:24:22","value":{"arguments":[{"name":"length","nativeSrc":"208636:6:22","nodeType":"YulIdentifier","src":"208636:6:22"},{"kind":"number","nativeSrc":"208644:1:22","nodeType":"YulLiteral","src":"208644:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"208632:3:22","nodeType":"YulIdentifier","src":"208632:3:22"},"nativeSrc":"208632:14:22","nodeType":"YulFunctionCall","src":"208632:14:22"},"variableNames":[{"name":"length","nativeSrc":"208622:6:22","nodeType":"YulIdentifier","src":"208622:6:22"}]}]},"pre":{"nativeSrc":"208600:2:22","nodeType":"YulBlock","src":"208600:2:22","statements":[]},"src":"208596:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"208713:3:22","nodeType":"YulIdentifier","src":"208713:3:22"},{"name":"length","nativeSrc":"208718:6:22","nodeType":"YulIdentifier","src":"208718:6:22"}],"functionName":{"name":"mstore","nativeSrc":"208706:6:22","nodeType":"YulIdentifier","src":"208706:6:22"},"nativeSrc":"208706:19:22","nodeType":"YulFunctionCall","src":"208706:19:22"},"nativeSrc":"208706:19:22","nodeType":"YulExpressionStatement","src":"208706:19:22"},{"nativeSrc":"208742:37:22","nodeType":"YulVariableDeclaration","src":"208742:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"208759:3:22","nodeType":"YulLiteral","src":"208759:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"208768:1:22","nodeType":"YulLiteral","src":"208768:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"208771:6:22","nodeType":"YulIdentifier","src":"208771:6:22"}],"functionName":{"name":"shl","nativeSrc":"208764:3:22","nodeType":"YulIdentifier","src":"208764:3:22"},"nativeSrc":"208764:14:22","nodeType":"YulFunctionCall","src":"208764:14:22"}],"functionName":{"name":"sub","nativeSrc":"208755:3:22","nodeType":"YulIdentifier","src":"208755:3:22"},"nativeSrc":"208755:24:22","nodeType":"YulFunctionCall","src":"208755:24:22"},"variables":[{"name":"shift","nativeSrc":"208746:5:22","nodeType":"YulTypedName","src":"208746:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"208807:3:22","nodeType":"YulIdentifier","src":"208807:3:22"},{"kind":"number","nativeSrc":"208812:4:22","nodeType":"YulLiteral","src":"208812:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"208803:3:22","nodeType":"YulIdentifier","src":"208803:3:22"},"nativeSrc":"208803:14:22","nodeType":"YulFunctionCall","src":"208803:14:22"},{"arguments":[{"name":"shift","nativeSrc":"208823:5:22","nodeType":"YulIdentifier","src":"208823:5:22"},{"arguments":[{"name":"shift","nativeSrc":"208834:5:22","nodeType":"YulIdentifier","src":"208834:5:22"},{"name":"w","nativeSrc":"208841:1:22","nodeType":"YulIdentifier","src":"208841:1:22"}],"functionName":{"name":"shr","nativeSrc":"208830:3:22","nodeType":"YulIdentifier","src":"208830:3:22"},"nativeSrc":"208830:13:22","nodeType":"YulFunctionCall","src":"208830:13:22"}],"functionName":{"name":"shl","nativeSrc":"208819:3:22","nodeType":"YulIdentifier","src":"208819:3:22"},"nativeSrc":"208819:25:22","nodeType":"YulFunctionCall","src":"208819:25:22"}],"functionName":{"name":"mstore","nativeSrc":"208796:6:22","nodeType":"YulIdentifier","src":"208796:6:22"},"nativeSrc":"208796:49:22","nodeType":"YulFunctionCall","src":"208796:49:22"},"nativeSrc":"208796:49:22","nodeType":"YulExpressionStatement","src":"208796:49:22"}]},"name":"writeString","nativeSrc":"208517:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"208538:3:22","nodeType":"YulTypedName","src":"208538:3:22","type":""},{"name":"w","nativeSrc":"208543:1:22","nodeType":"YulTypedName","src":"208543:1:22","type":""}],"src":"208517:342:22"},{"nativeSrc":"208872:17:22","nodeType":"YulAssignment","src":"208872:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"208884:4:22","nodeType":"YulLiteral","src":"208884:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"208878:5:22","nodeType":"YulIdentifier","src":"208878:5:22"},"nativeSrc":"208878:11:22","nodeType":"YulFunctionCall","src":"208878:11:22"},"variableNames":[{"name":"m0","nativeSrc":"208872:2:22","nodeType":"YulIdentifier","src":"208872:2:22"}]},{"nativeSrc":"208902:17:22","nodeType":"YulAssignment","src":"208902:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"208914:4:22","nodeType":"YulLiteral","src":"208914:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"208908:5:22","nodeType":"YulIdentifier","src":"208908:5:22"},"nativeSrc":"208908:11:22","nodeType":"YulFunctionCall","src":"208908:11:22"},"variableNames":[{"name":"m1","nativeSrc":"208902:2:22","nodeType":"YulIdentifier","src":"208902:2:22"}]},{"nativeSrc":"208932:17:22","nodeType":"YulAssignment","src":"208932:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"208944:4:22","nodeType":"YulLiteral","src":"208944:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"208938:5:22","nodeType":"YulIdentifier","src":"208938:5:22"},"nativeSrc":"208938:11:22","nodeType":"YulFunctionCall","src":"208938:11:22"},"variableNames":[{"name":"m2","nativeSrc":"208932:2:22","nodeType":"YulIdentifier","src":"208932:2:22"}]},{"nativeSrc":"208962:17:22","nodeType":"YulAssignment","src":"208962:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"208974:4:22","nodeType":"YulLiteral","src":"208974:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"208968:5:22","nodeType":"YulIdentifier","src":"208968:5:22"},"nativeSrc":"208968:11:22","nodeType":"YulFunctionCall","src":"208968:11:22"},"variableNames":[{"name":"m3","nativeSrc":"208962:2:22","nodeType":"YulIdentifier","src":"208962:2:22"}]},{"nativeSrc":"208992:17:22","nodeType":"YulAssignment","src":"208992:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209004:4:22","nodeType":"YulLiteral","src":"209004:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"208998:5:22","nodeType":"YulIdentifier","src":"208998:5:22"},"nativeSrc":"208998:11:22","nodeType":"YulFunctionCall","src":"208998:11:22"},"variableNames":[{"name":"m4","nativeSrc":"208992:2:22","nodeType":"YulIdentifier","src":"208992:2:22"}]},{"nativeSrc":"209022:17:22","nodeType":"YulAssignment","src":"209022:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209034:4:22","nodeType":"YulLiteral","src":"209034:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"209028:5:22","nodeType":"YulIdentifier","src":"209028:5:22"},"nativeSrc":"209028:11:22","nodeType":"YulFunctionCall","src":"209028:11:22"},"variableNames":[{"name":"m5","nativeSrc":"209022:2:22","nodeType":"YulIdentifier","src":"209022:2:22"}]},{"nativeSrc":"209052:17:22","nodeType":"YulAssignment","src":"209052:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209064:4:22","nodeType":"YulLiteral","src":"209064:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"209058:5:22","nodeType":"YulIdentifier","src":"209058:5:22"},"nativeSrc":"209058:11:22","nodeType":"YulFunctionCall","src":"209058:11:22"},"variableNames":[{"name":"m6","nativeSrc":"209052:2:22","nodeType":"YulIdentifier","src":"209052:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209152:4:22","nodeType":"YulLiteral","src":"209152:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"209158:10:22","nodeType":"YulLiteral","src":"209158:10:22","type":"","value":"0x1bb3b09a"}],"functionName":{"name":"mstore","nativeSrc":"209145:6:22","nodeType":"YulIdentifier","src":"209145:6:22"},"nativeSrc":"209145:24:22","nodeType":"YulFunctionCall","src":"209145:24:22"},"nativeSrc":"209145:24:22","nodeType":"YulExpressionStatement","src":"209145:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209189:4:22","nodeType":"YulLiteral","src":"209189:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"209195:2:22","nodeType":"YulIdentifier","src":"209195:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209182:6:22","nodeType":"YulIdentifier","src":"209182:6:22"},"nativeSrc":"209182:16:22","nodeType":"YulFunctionCall","src":"209182:16:22"},"nativeSrc":"209182:16:22","nodeType":"YulExpressionStatement","src":"209182:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209218:4:22","nodeType":"YulLiteral","src":"209218:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"209224:2:22","nodeType":"YulIdentifier","src":"209224:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209211:6:22","nodeType":"YulIdentifier","src":"209211:6:22"},"nativeSrc":"209211:16:22","nodeType":"YulFunctionCall","src":"209211:16:22"},"nativeSrc":"209211:16:22","nodeType":"YulExpressionStatement","src":"209211:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209247:4:22","nodeType":"YulLiteral","src":"209247:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"209253:2:22","nodeType":"YulIdentifier","src":"209253:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209240:6:22","nodeType":"YulIdentifier","src":"209240:6:22"},"nativeSrc":"209240:16:22","nodeType":"YulFunctionCall","src":"209240:16:22"},"nativeSrc":"209240:16:22","nodeType":"YulExpressionStatement","src":"209240:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209276:4:22","nodeType":"YulLiteral","src":"209276:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"209282:4:22","nodeType":"YulLiteral","src":"209282:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"209269:6:22","nodeType":"YulIdentifier","src":"209269:6:22"},"nativeSrc":"209269:18:22","nodeType":"YulFunctionCall","src":"209269:18:22"},"nativeSrc":"209269:18:22","nodeType":"YulExpressionStatement","src":"209269:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209312:4:22","nodeType":"YulLiteral","src":"209312:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"209318:2:22","nodeType":"YulIdentifier","src":"209318:2:22"}],"functionName":{"name":"writeString","nativeSrc":"209300:11:22","nodeType":"YulIdentifier","src":"209300:11:22"},"nativeSrc":"209300:21:22","nodeType":"YulFunctionCall","src":"209300:21:22"},"nativeSrc":"209300:21:22","nodeType":"YulExpressionStatement","src":"209300:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37947,"isOffset":false,"isSlot":false,"src":"208872:2:22","valueSize":1},{"declaration":37950,"isOffset":false,"isSlot":false,"src":"208902:2:22","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"208932:2:22","valueSize":1},{"declaration":37956,"isOffset":false,"isSlot":false,"src":"208962:2:22","valueSize":1},{"declaration":37959,"isOffset":false,"isSlot":false,"src":"208992:2:22","valueSize":1},{"declaration":37962,"isOffset":false,"isSlot":false,"src":"209022:2:22","valueSize":1},{"declaration":37965,"isOffset":false,"isSlot":false,"src":"209052:2:22","valueSize":1},{"declaration":37937,"isOffset":false,"isSlot":false,"src":"209195:2:22","valueSize":1},{"declaration":37939,"isOffset":false,"isSlot":false,"src":"209224:2:22","valueSize":1},{"declaration":37941,"isOffset":false,"isSlot":false,"src":"209253:2:22","valueSize":1},{"declaration":37943,"isOffset":false,"isSlot":false,"src":"209318:2:22","valueSize":1}],"id":37967,"nodeType":"InlineAssembly","src":"208494:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":37969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209356:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209362:4:22","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":37968,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"209340:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"209340:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37972,"nodeType":"ExpressionStatement","src":"209340:27:22"},{"AST":{"nativeSrc":"209429:214:22","nodeType":"YulBlock","src":"209429:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"209450:4:22","nodeType":"YulLiteral","src":"209450:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"209456:2:22","nodeType":"YulIdentifier","src":"209456:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209443:6:22","nodeType":"YulIdentifier","src":"209443:6:22"},"nativeSrc":"209443:16:22","nodeType":"YulFunctionCall","src":"209443:16:22"},"nativeSrc":"209443:16:22","nodeType":"YulExpressionStatement","src":"209443:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209479:4:22","nodeType":"YulLiteral","src":"209479:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"209485:2:22","nodeType":"YulIdentifier","src":"209485:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209472:6:22","nodeType":"YulIdentifier","src":"209472:6:22"},"nativeSrc":"209472:16:22","nodeType":"YulFunctionCall","src":"209472:16:22"},"nativeSrc":"209472:16:22","nodeType":"YulExpressionStatement","src":"209472:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209508:4:22","nodeType":"YulLiteral","src":"209508:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"209514:2:22","nodeType":"YulIdentifier","src":"209514:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209501:6:22","nodeType":"YulIdentifier","src":"209501:6:22"},"nativeSrc":"209501:16:22","nodeType":"YulFunctionCall","src":"209501:16:22"},"nativeSrc":"209501:16:22","nodeType":"YulExpressionStatement","src":"209501:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209537:4:22","nodeType":"YulLiteral","src":"209537:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"209543:2:22","nodeType":"YulIdentifier","src":"209543:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209530:6:22","nodeType":"YulIdentifier","src":"209530:6:22"},"nativeSrc":"209530:16:22","nodeType":"YulFunctionCall","src":"209530:16:22"},"nativeSrc":"209530:16:22","nodeType":"YulExpressionStatement","src":"209530:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209566:4:22","nodeType":"YulLiteral","src":"209566:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"209572:2:22","nodeType":"YulIdentifier","src":"209572:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209559:6:22","nodeType":"YulIdentifier","src":"209559:6:22"},"nativeSrc":"209559:16:22","nodeType":"YulFunctionCall","src":"209559:16:22"},"nativeSrc":"209559:16:22","nodeType":"YulExpressionStatement","src":"209559:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209595:4:22","nodeType":"YulLiteral","src":"209595:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"209601:2:22","nodeType":"YulIdentifier","src":"209601:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209588:6:22","nodeType":"YulIdentifier","src":"209588:6:22"},"nativeSrc":"209588:16:22","nodeType":"YulFunctionCall","src":"209588:16:22"},"nativeSrc":"209588:16:22","nodeType":"YulExpressionStatement","src":"209588:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209624:4:22","nodeType":"YulLiteral","src":"209624:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"209630:2:22","nodeType":"YulIdentifier","src":"209630:2:22"}],"functionName":{"name":"mstore","nativeSrc":"209617:6:22","nodeType":"YulIdentifier","src":"209617:6:22"},"nativeSrc":"209617:16:22","nodeType":"YulFunctionCall","src":"209617:16:22"},"nativeSrc":"209617:16:22","nodeType":"YulExpressionStatement","src":"209617:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37947,"isOffset":false,"isSlot":false,"src":"209456:2:22","valueSize":1},{"declaration":37950,"isOffset":false,"isSlot":false,"src":"209485:2:22","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"209514:2:22","valueSize":1},{"declaration":37956,"isOffset":false,"isSlot":false,"src":"209543:2:22","valueSize":1},{"declaration":37959,"isOffset":false,"isSlot":false,"src":"209572:2:22","valueSize":1},{"declaration":37962,"isOffset":false,"isSlot":false,"src":"209601:2:22","valueSize":1},{"declaration":37965,"isOffset":false,"isSlot":false,"src":"209630:2:22","valueSize":1}],"id":37973,"nodeType":"InlineAssembly","src":"209420:223:22"}]},"id":37975,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"208238:3:22","nodeType":"FunctionDefinition","parameters":{"id":37944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37937,"mutability":"mutable","name":"p0","nameLocation":"208247:2:22","nodeType":"VariableDeclaration","scope":37975,"src":"208242:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37936,"name":"bool","nodeType":"ElementaryTypeName","src":"208242:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37939,"mutability":"mutable","name":"p1","nameLocation":"208259:2:22","nodeType":"VariableDeclaration","scope":37975,"src":"208251:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37938,"name":"uint256","nodeType":"ElementaryTypeName","src":"208251:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37941,"mutability":"mutable","name":"p2","nameLocation":"208271:2:22","nodeType":"VariableDeclaration","scope":37975,"src":"208263:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37940,"name":"address","nodeType":"ElementaryTypeName","src":"208263:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37943,"mutability":"mutable","name":"p3","nameLocation":"208283:2:22","nodeType":"VariableDeclaration","scope":37975,"src":"208275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208275:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"208241:45:22"},"returnParameters":{"id":37945,"nodeType":"ParameterList","parameters":[],"src":"208301:0:22"},"scope":44426,"src":"208229:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38008,"nodeType":"Block","src":"209724:797:22","statements":[{"assignments":[37987],"declarations":[{"constant":false,"id":37987,"mutability":"mutable","name":"m0","nameLocation":"209742:2:22","nodeType":"VariableDeclaration","scope":38008,"src":"209734:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209734:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37988,"nodeType":"VariableDeclarationStatement","src":"209734:10:22"},{"assignments":[37990],"declarations":[{"constant":false,"id":37990,"mutability":"mutable","name":"m1","nameLocation":"209762:2:22","nodeType":"VariableDeclaration","scope":38008,"src":"209754:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209754:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37991,"nodeType":"VariableDeclarationStatement","src":"209754:10:22"},{"assignments":[37993],"declarations":[{"constant":false,"id":37993,"mutability":"mutable","name":"m2","nameLocation":"209782:2:22","nodeType":"VariableDeclaration","scope":38008,"src":"209774:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209774:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37994,"nodeType":"VariableDeclarationStatement","src":"209774:10:22"},{"assignments":[37996],"declarations":[{"constant":false,"id":37996,"mutability":"mutable","name":"m3","nameLocation":"209802:2:22","nodeType":"VariableDeclaration","scope":38008,"src":"209794:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209794:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37997,"nodeType":"VariableDeclarationStatement","src":"209794:10:22"},{"assignments":[37999],"declarations":[{"constant":false,"id":37999,"mutability":"mutable","name":"m4","nameLocation":"209822:2:22","nodeType":"VariableDeclaration","scope":38008,"src":"209814:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209814:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38000,"nodeType":"VariableDeclarationStatement","src":"209814:10:22"},{"AST":{"nativeSrc":"209886:375:22","nodeType":"YulBlock","src":"209886:375:22","statements":[{"nativeSrc":"209900:17:22","nodeType":"YulAssignment","src":"209900:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209912:4:22","nodeType":"YulLiteral","src":"209912:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"209906:5:22","nodeType":"YulIdentifier","src":"209906:5:22"},"nativeSrc":"209906:11:22","nodeType":"YulFunctionCall","src":"209906:11:22"},"variableNames":[{"name":"m0","nativeSrc":"209900:2:22","nodeType":"YulIdentifier","src":"209900:2:22"}]},{"nativeSrc":"209930:17:22","nodeType":"YulAssignment","src":"209930:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209942:4:22","nodeType":"YulLiteral","src":"209942:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"209936:5:22","nodeType":"YulIdentifier","src":"209936:5:22"},"nativeSrc":"209936:11:22","nodeType":"YulFunctionCall","src":"209936:11:22"},"variableNames":[{"name":"m1","nativeSrc":"209930:2:22","nodeType":"YulIdentifier","src":"209930:2:22"}]},{"nativeSrc":"209960:17:22","nodeType":"YulAssignment","src":"209960:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"209972:4:22","nodeType":"YulLiteral","src":"209972:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"209966:5:22","nodeType":"YulIdentifier","src":"209966:5:22"},"nativeSrc":"209966:11:22","nodeType":"YulFunctionCall","src":"209966:11:22"},"variableNames":[{"name":"m2","nativeSrc":"209960:2:22","nodeType":"YulIdentifier","src":"209960:2:22"}]},{"nativeSrc":"209990:17:22","nodeType":"YulAssignment","src":"209990:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210002:4:22","nodeType":"YulLiteral","src":"210002:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"209996:5:22","nodeType":"YulIdentifier","src":"209996:5:22"},"nativeSrc":"209996:11:22","nodeType":"YulFunctionCall","src":"209996:11:22"},"variableNames":[{"name":"m3","nativeSrc":"209990:2:22","nodeType":"YulIdentifier","src":"209990:2:22"}]},{"nativeSrc":"210020:17:22","nodeType":"YulAssignment","src":"210020:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210032:4:22","nodeType":"YulLiteral","src":"210032:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210026:5:22","nodeType":"YulIdentifier","src":"210026:5:22"},"nativeSrc":"210026:11:22","nodeType":"YulFunctionCall","src":"210026:11:22"},"variableNames":[{"name":"m4","nativeSrc":"210020:2:22","nodeType":"YulIdentifier","src":"210020:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210118:4:22","nodeType":"YulLiteral","src":"210118:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210124:10:22","nodeType":"YulLiteral","src":"210124:10:22","type":"","value":"0x9acd3616"}],"functionName":{"name":"mstore","nativeSrc":"210111:6:22","nodeType":"YulIdentifier","src":"210111:6:22"},"nativeSrc":"210111:24:22","nodeType":"YulFunctionCall","src":"210111:24:22"},"nativeSrc":"210111:24:22","nodeType":"YulExpressionStatement","src":"210111:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210155:4:22","nodeType":"YulLiteral","src":"210155:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"210161:2:22","nodeType":"YulIdentifier","src":"210161:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210148:6:22","nodeType":"YulIdentifier","src":"210148:6:22"},"nativeSrc":"210148:16:22","nodeType":"YulFunctionCall","src":"210148:16:22"},"nativeSrc":"210148:16:22","nodeType":"YulExpressionStatement","src":"210148:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210184:4:22","nodeType":"YulLiteral","src":"210184:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"210190:2:22","nodeType":"YulIdentifier","src":"210190:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210177:6:22","nodeType":"YulIdentifier","src":"210177:6:22"},"nativeSrc":"210177:16:22","nodeType":"YulFunctionCall","src":"210177:16:22"},"nativeSrc":"210177:16:22","nodeType":"YulExpressionStatement","src":"210177:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210213:4:22","nodeType":"YulLiteral","src":"210213:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"210219:2:22","nodeType":"YulIdentifier","src":"210219:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210206:6:22","nodeType":"YulIdentifier","src":"210206:6:22"},"nativeSrc":"210206:16:22","nodeType":"YulFunctionCall","src":"210206:16:22"},"nativeSrc":"210206:16:22","nodeType":"YulExpressionStatement","src":"210206:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210242:4:22","nodeType":"YulLiteral","src":"210242:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"210248:2:22","nodeType":"YulIdentifier","src":"210248:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210235:6:22","nodeType":"YulIdentifier","src":"210235:6:22"},"nativeSrc":"210235:16:22","nodeType":"YulFunctionCall","src":"210235:16:22"},"nativeSrc":"210235:16:22","nodeType":"YulExpressionStatement","src":"210235:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37987,"isOffset":false,"isSlot":false,"src":"209900:2:22","valueSize":1},{"declaration":37990,"isOffset":false,"isSlot":false,"src":"209930:2:22","valueSize":1},{"declaration":37993,"isOffset":false,"isSlot":false,"src":"209960:2:22","valueSize":1},{"declaration":37996,"isOffset":false,"isSlot":false,"src":"209990:2:22","valueSize":1},{"declaration":37999,"isOffset":false,"isSlot":false,"src":"210020:2:22","valueSize":1},{"declaration":37977,"isOffset":false,"isSlot":false,"src":"210161:2:22","valueSize":1},{"declaration":37979,"isOffset":false,"isSlot":false,"src":"210190:2:22","valueSize":1},{"declaration":37981,"isOffset":false,"isSlot":false,"src":"210219:2:22","valueSize":1},{"declaration":37983,"isOffset":false,"isSlot":false,"src":"210248:2:22","valueSize":1}],"id":38001,"nodeType":"InlineAssembly","src":"209877:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210286:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210292:4:22","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":38002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"210270:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"210270:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38006,"nodeType":"ExpressionStatement","src":"210270:27:22"},{"AST":{"nativeSrc":"210359:156:22","nodeType":"YulBlock","src":"210359:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"210380:4:22","nodeType":"YulLiteral","src":"210380:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"210386:2:22","nodeType":"YulIdentifier","src":"210386:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210373:6:22","nodeType":"YulIdentifier","src":"210373:6:22"},"nativeSrc":"210373:16:22","nodeType":"YulFunctionCall","src":"210373:16:22"},"nativeSrc":"210373:16:22","nodeType":"YulExpressionStatement","src":"210373:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210409:4:22","nodeType":"YulLiteral","src":"210409:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"210415:2:22","nodeType":"YulIdentifier","src":"210415:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210402:6:22","nodeType":"YulIdentifier","src":"210402:6:22"},"nativeSrc":"210402:16:22","nodeType":"YulFunctionCall","src":"210402:16:22"},"nativeSrc":"210402:16:22","nodeType":"YulExpressionStatement","src":"210402:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210438:4:22","nodeType":"YulLiteral","src":"210438:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"210444:2:22","nodeType":"YulIdentifier","src":"210444:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210431:6:22","nodeType":"YulIdentifier","src":"210431:6:22"},"nativeSrc":"210431:16:22","nodeType":"YulFunctionCall","src":"210431:16:22"},"nativeSrc":"210431:16:22","nodeType":"YulExpressionStatement","src":"210431:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210467:4:22","nodeType":"YulLiteral","src":"210467:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"210473:2:22","nodeType":"YulIdentifier","src":"210473:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210460:6:22","nodeType":"YulIdentifier","src":"210460:6:22"},"nativeSrc":"210460:16:22","nodeType":"YulFunctionCall","src":"210460:16:22"},"nativeSrc":"210460:16:22","nodeType":"YulExpressionStatement","src":"210460:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210496:4:22","nodeType":"YulLiteral","src":"210496:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"210502:2:22","nodeType":"YulIdentifier","src":"210502:2:22"}],"functionName":{"name":"mstore","nativeSrc":"210489:6:22","nodeType":"YulIdentifier","src":"210489:6:22"},"nativeSrc":"210489:16:22","nodeType":"YulFunctionCall","src":"210489:16:22"},"nativeSrc":"210489:16:22","nodeType":"YulExpressionStatement","src":"210489:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37987,"isOffset":false,"isSlot":false,"src":"210386:2:22","valueSize":1},{"declaration":37990,"isOffset":false,"isSlot":false,"src":"210415:2:22","valueSize":1},{"declaration":37993,"isOffset":false,"isSlot":false,"src":"210444:2:22","valueSize":1},{"declaration":37996,"isOffset":false,"isSlot":false,"src":"210473:2:22","valueSize":1},{"declaration":37999,"isOffset":false,"isSlot":false,"src":"210502:2:22","valueSize":1}],"id":38007,"nodeType":"InlineAssembly","src":"210350:165:22"}]},"id":38009,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"209664:3:22","nodeType":"FunctionDefinition","parameters":{"id":37984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37977,"mutability":"mutable","name":"p0","nameLocation":"209673:2:22","nodeType":"VariableDeclaration","scope":38009,"src":"209668:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37976,"name":"bool","nodeType":"ElementaryTypeName","src":"209668:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37979,"mutability":"mutable","name":"p1","nameLocation":"209685:2:22","nodeType":"VariableDeclaration","scope":38009,"src":"209677:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37978,"name":"uint256","nodeType":"ElementaryTypeName","src":"209677:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37981,"mutability":"mutable","name":"p2","nameLocation":"209694:2:22","nodeType":"VariableDeclaration","scope":38009,"src":"209689:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37980,"name":"bool","nodeType":"ElementaryTypeName","src":"209689:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37983,"mutability":"mutable","name":"p3","nameLocation":"209706:2:22","nodeType":"VariableDeclaration","scope":38009,"src":"209698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37982,"name":"address","nodeType":"ElementaryTypeName","src":"209698:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"209667:42:22"},"returnParameters":{"id":37985,"nodeType":"ParameterList","parameters":[],"src":"209724:0:22"},"scope":44426,"src":"209655:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38042,"nodeType":"Block","src":"210593:794:22","statements":[{"assignments":[38021],"declarations":[{"constant":false,"id":38021,"mutability":"mutable","name":"m0","nameLocation":"210611:2:22","nodeType":"VariableDeclaration","scope":38042,"src":"210603:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210603:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38022,"nodeType":"VariableDeclarationStatement","src":"210603:10:22"},{"assignments":[38024],"declarations":[{"constant":false,"id":38024,"mutability":"mutable","name":"m1","nameLocation":"210631:2:22","nodeType":"VariableDeclaration","scope":38042,"src":"210623:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210623:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38025,"nodeType":"VariableDeclarationStatement","src":"210623:10:22"},{"assignments":[38027],"declarations":[{"constant":false,"id":38027,"mutability":"mutable","name":"m2","nameLocation":"210651:2:22","nodeType":"VariableDeclaration","scope":38042,"src":"210643:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210643:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38028,"nodeType":"VariableDeclarationStatement","src":"210643:10:22"},{"assignments":[38030],"declarations":[{"constant":false,"id":38030,"mutability":"mutable","name":"m3","nameLocation":"210671:2:22","nodeType":"VariableDeclaration","scope":38042,"src":"210663:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210663:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38031,"nodeType":"VariableDeclarationStatement","src":"210663:10:22"},{"assignments":[38033],"declarations":[{"constant":false,"id":38033,"mutability":"mutable","name":"m4","nameLocation":"210691:2:22","nodeType":"VariableDeclaration","scope":38042,"src":"210683:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210683:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38034,"nodeType":"VariableDeclarationStatement","src":"210683:10:22"},{"AST":{"nativeSrc":"210755:372:22","nodeType":"YulBlock","src":"210755:372:22","statements":[{"nativeSrc":"210769:17:22","nodeType":"YulAssignment","src":"210769:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210781:4:22","nodeType":"YulLiteral","src":"210781:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"210775:5:22","nodeType":"YulIdentifier","src":"210775:5:22"},"nativeSrc":"210775:11:22","nodeType":"YulFunctionCall","src":"210775:11:22"},"variableNames":[{"name":"m0","nativeSrc":"210769:2:22","nodeType":"YulIdentifier","src":"210769:2:22"}]},{"nativeSrc":"210799:17:22","nodeType":"YulAssignment","src":"210799:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210811:4:22","nodeType":"YulLiteral","src":"210811:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"210805:5:22","nodeType":"YulIdentifier","src":"210805:5:22"},"nativeSrc":"210805:11:22","nodeType":"YulFunctionCall","src":"210805:11:22"},"variableNames":[{"name":"m1","nativeSrc":"210799:2:22","nodeType":"YulIdentifier","src":"210799:2:22"}]},{"nativeSrc":"210829:17:22","nodeType":"YulAssignment","src":"210829:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210841:4:22","nodeType":"YulLiteral","src":"210841:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"210835:5:22","nodeType":"YulIdentifier","src":"210835:5:22"},"nativeSrc":"210835:11:22","nodeType":"YulFunctionCall","src":"210835:11:22"},"variableNames":[{"name":"m2","nativeSrc":"210829:2:22","nodeType":"YulIdentifier","src":"210829:2:22"}]},{"nativeSrc":"210859:17:22","nodeType":"YulAssignment","src":"210859:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210871:4:22","nodeType":"YulLiteral","src":"210871:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"210865:5:22","nodeType":"YulIdentifier","src":"210865:5:22"},"nativeSrc":"210865:11:22","nodeType":"YulFunctionCall","src":"210865:11:22"},"variableNames":[{"name":"m3","nativeSrc":"210859:2:22","nodeType":"YulIdentifier","src":"210859:2:22"}]},{"nativeSrc":"210889:17:22","nodeType":"YulAssignment","src":"210889:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"210901:4:22","nodeType":"YulLiteral","src":"210901:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210895:5:22","nodeType":"YulIdentifier","src":"210895:5:22"},"nativeSrc":"210895:11:22","nodeType":"YulFunctionCall","src":"210895:11:22"},"variableNames":[{"name":"m4","nativeSrc":"210889:2:22","nodeType":"YulIdentifier","src":"210889:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210984:4:22","nodeType":"YulLiteral","src":"210984:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210990:10:22","nodeType":"YulLiteral","src":"210990:10:22","type":"","value":"0xceb5f4d7"}],"functionName":{"name":"mstore","nativeSrc":"210977:6:22","nodeType":"YulIdentifier","src":"210977:6:22"},"nativeSrc":"210977:24:22","nodeType":"YulFunctionCall","src":"210977:24:22"},"nativeSrc":"210977:24:22","nodeType":"YulExpressionStatement","src":"210977:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211021:4:22","nodeType":"YulLiteral","src":"211021:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211027:2:22","nodeType":"YulIdentifier","src":"211027:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211014:6:22","nodeType":"YulIdentifier","src":"211014:6:22"},"nativeSrc":"211014:16:22","nodeType":"YulFunctionCall","src":"211014:16:22"},"nativeSrc":"211014:16:22","nodeType":"YulExpressionStatement","src":"211014:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211050:4:22","nodeType":"YulLiteral","src":"211050:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211056:2:22","nodeType":"YulIdentifier","src":"211056:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211043:6:22","nodeType":"YulIdentifier","src":"211043:6:22"},"nativeSrc":"211043:16:22","nodeType":"YulFunctionCall","src":"211043:16:22"},"nativeSrc":"211043:16:22","nodeType":"YulExpressionStatement","src":"211043:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211079:4:22","nodeType":"YulLiteral","src":"211079:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211085:2:22","nodeType":"YulIdentifier","src":"211085:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211072:6:22","nodeType":"YulIdentifier","src":"211072:6:22"},"nativeSrc":"211072:16:22","nodeType":"YulFunctionCall","src":"211072:16:22"},"nativeSrc":"211072:16:22","nodeType":"YulExpressionStatement","src":"211072:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211108:4:22","nodeType":"YulLiteral","src":"211108:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211114:2:22","nodeType":"YulIdentifier","src":"211114:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211101:6:22","nodeType":"YulIdentifier","src":"211101:6:22"},"nativeSrc":"211101:16:22","nodeType":"YulFunctionCall","src":"211101:16:22"},"nativeSrc":"211101:16:22","nodeType":"YulExpressionStatement","src":"211101:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38021,"isOffset":false,"isSlot":false,"src":"210769:2:22","valueSize":1},{"declaration":38024,"isOffset":false,"isSlot":false,"src":"210799:2:22","valueSize":1},{"declaration":38027,"isOffset":false,"isSlot":false,"src":"210829:2:22","valueSize":1},{"declaration":38030,"isOffset":false,"isSlot":false,"src":"210859:2:22","valueSize":1},{"declaration":38033,"isOffset":false,"isSlot":false,"src":"210889:2:22","valueSize":1},{"declaration":38011,"isOffset":false,"isSlot":false,"src":"211027:2:22","valueSize":1},{"declaration":38013,"isOffset":false,"isSlot":false,"src":"211056:2:22","valueSize":1},{"declaration":38015,"isOffset":false,"isSlot":false,"src":"211085:2:22","valueSize":1},{"declaration":38017,"isOffset":false,"isSlot":false,"src":"211114:2:22","valueSize":1}],"id":38035,"nodeType":"InlineAssembly","src":"210746:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211152:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211158:4:22","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":38036,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"211136:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211136:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38040,"nodeType":"ExpressionStatement","src":"211136:27:22"},{"AST":{"nativeSrc":"211225:156:22","nodeType":"YulBlock","src":"211225:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"211246:4:22","nodeType":"YulLiteral","src":"211246:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"211252:2:22","nodeType":"YulIdentifier","src":"211252:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211239:6:22","nodeType":"YulIdentifier","src":"211239:6:22"},"nativeSrc":"211239:16:22","nodeType":"YulFunctionCall","src":"211239:16:22"},"nativeSrc":"211239:16:22","nodeType":"YulExpressionStatement","src":"211239:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211275:4:22","nodeType":"YulLiteral","src":"211275:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"211281:2:22","nodeType":"YulIdentifier","src":"211281:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211268:6:22","nodeType":"YulIdentifier","src":"211268:6:22"},"nativeSrc":"211268:16:22","nodeType":"YulFunctionCall","src":"211268:16:22"},"nativeSrc":"211268:16:22","nodeType":"YulExpressionStatement","src":"211268:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211304:4:22","nodeType":"YulLiteral","src":"211304:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"211310:2:22","nodeType":"YulIdentifier","src":"211310:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211297:6:22","nodeType":"YulIdentifier","src":"211297:6:22"},"nativeSrc":"211297:16:22","nodeType":"YulFunctionCall","src":"211297:16:22"},"nativeSrc":"211297:16:22","nodeType":"YulExpressionStatement","src":"211297:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211333:4:22","nodeType":"YulLiteral","src":"211333:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"211339:2:22","nodeType":"YulIdentifier","src":"211339:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211326:6:22","nodeType":"YulIdentifier","src":"211326:6:22"},"nativeSrc":"211326:16:22","nodeType":"YulFunctionCall","src":"211326:16:22"},"nativeSrc":"211326:16:22","nodeType":"YulExpressionStatement","src":"211326:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211362:4:22","nodeType":"YulLiteral","src":"211362:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"211368:2:22","nodeType":"YulIdentifier","src":"211368:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211355:6:22","nodeType":"YulIdentifier","src":"211355:6:22"},"nativeSrc":"211355:16:22","nodeType":"YulFunctionCall","src":"211355:16:22"},"nativeSrc":"211355:16:22","nodeType":"YulExpressionStatement","src":"211355:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38021,"isOffset":false,"isSlot":false,"src":"211252:2:22","valueSize":1},{"declaration":38024,"isOffset":false,"isSlot":false,"src":"211281:2:22","valueSize":1},{"declaration":38027,"isOffset":false,"isSlot":false,"src":"211310:2:22","valueSize":1},{"declaration":38030,"isOffset":false,"isSlot":false,"src":"211339:2:22","valueSize":1},{"declaration":38033,"isOffset":false,"isSlot":false,"src":"211368:2:22","valueSize":1}],"id":38041,"nodeType":"InlineAssembly","src":"211216:165:22"}]},"id":38043,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"210536:3:22","nodeType":"FunctionDefinition","parameters":{"id":38018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38011,"mutability":"mutable","name":"p0","nameLocation":"210545:2:22","nodeType":"VariableDeclaration","scope":38043,"src":"210540:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38010,"name":"bool","nodeType":"ElementaryTypeName","src":"210540:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38013,"mutability":"mutable","name":"p1","nameLocation":"210557:2:22","nodeType":"VariableDeclaration","scope":38043,"src":"210549:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38012,"name":"uint256","nodeType":"ElementaryTypeName","src":"210549:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38015,"mutability":"mutable","name":"p2","nameLocation":"210566:2:22","nodeType":"VariableDeclaration","scope":38043,"src":"210561:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38014,"name":"bool","nodeType":"ElementaryTypeName","src":"210561:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38017,"mutability":"mutable","name":"p3","nameLocation":"210575:2:22","nodeType":"VariableDeclaration","scope":38043,"src":"210570:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38016,"name":"bool","nodeType":"ElementaryTypeName","src":"210570:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"210539:39:22"},"returnParameters":{"id":38019,"nodeType":"ParameterList","parameters":[],"src":"210593:0:22"},"scope":44426,"src":"210527:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38076,"nodeType":"Block","src":"211462:797:22","statements":[{"assignments":[38055],"declarations":[{"constant":false,"id":38055,"mutability":"mutable","name":"m0","nameLocation":"211480:2:22","nodeType":"VariableDeclaration","scope":38076,"src":"211472:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211472:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38056,"nodeType":"VariableDeclarationStatement","src":"211472:10:22"},{"assignments":[38058],"declarations":[{"constant":false,"id":38058,"mutability":"mutable","name":"m1","nameLocation":"211500:2:22","nodeType":"VariableDeclaration","scope":38076,"src":"211492:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211492:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38059,"nodeType":"VariableDeclarationStatement","src":"211492:10:22"},{"assignments":[38061],"declarations":[{"constant":false,"id":38061,"mutability":"mutable","name":"m2","nameLocation":"211520:2:22","nodeType":"VariableDeclaration","scope":38076,"src":"211512:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211512:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38062,"nodeType":"VariableDeclarationStatement","src":"211512:10:22"},{"assignments":[38064],"declarations":[{"constant":false,"id":38064,"mutability":"mutable","name":"m3","nameLocation":"211540:2:22","nodeType":"VariableDeclaration","scope":38076,"src":"211532:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211532:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38065,"nodeType":"VariableDeclarationStatement","src":"211532:10:22"},{"assignments":[38067],"declarations":[{"constant":false,"id":38067,"mutability":"mutable","name":"m4","nameLocation":"211560:2:22","nodeType":"VariableDeclaration","scope":38076,"src":"211552:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211552:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38068,"nodeType":"VariableDeclarationStatement","src":"211552:10:22"},{"AST":{"nativeSrc":"211624:375:22","nodeType":"YulBlock","src":"211624:375:22","statements":[{"nativeSrc":"211638:17:22","nodeType":"YulAssignment","src":"211638:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"211650:4:22","nodeType":"YulLiteral","src":"211650:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"211644:5:22","nodeType":"YulIdentifier","src":"211644:5:22"},"nativeSrc":"211644:11:22","nodeType":"YulFunctionCall","src":"211644:11:22"},"variableNames":[{"name":"m0","nativeSrc":"211638:2:22","nodeType":"YulIdentifier","src":"211638:2:22"}]},{"nativeSrc":"211668:17:22","nodeType":"YulAssignment","src":"211668:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"211680:4:22","nodeType":"YulLiteral","src":"211680:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"211674:5:22","nodeType":"YulIdentifier","src":"211674:5:22"},"nativeSrc":"211674:11:22","nodeType":"YulFunctionCall","src":"211674:11:22"},"variableNames":[{"name":"m1","nativeSrc":"211668:2:22","nodeType":"YulIdentifier","src":"211668:2:22"}]},{"nativeSrc":"211698:17:22","nodeType":"YulAssignment","src":"211698:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"211710:4:22","nodeType":"YulLiteral","src":"211710:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"211704:5:22","nodeType":"YulIdentifier","src":"211704:5:22"},"nativeSrc":"211704:11:22","nodeType":"YulFunctionCall","src":"211704:11:22"},"variableNames":[{"name":"m2","nativeSrc":"211698:2:22","nodeType":"YulIdentifier","src":"211698:2:22"}]},{"nativeSrc":"211728:17:22","nodeType":"YulAssignment","src":"211728:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"211740:4:22","nodeType":"YulLiteral","src":"211740:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"211734:5:22","nodeType":"YulIdentifier","src":"211734:5:22"},"nativeSrc":"211734:11:22","nodeType":"YulFunctionCall","src":"211734:11:22"},"variableNames":[{"name":"m3","nativeSrc":"211728:2:22","nodeType":"YulIdentifier","src":"211728:2:22"}]},{"nativeSrc":"211758:17:22","nodeType":"YulAssignment","src":"211758:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"211770:4:22","nodeType":"YulLiteral","src":"211770:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"211764:5:22","nodeType":"YulIdentifier","src":"211764:5:22"},"nativeSrc":"211764:11:22","nodeType":"YulFunctionCall","src":"211764:11:22"},"variableNames":[{"name":"m4","nativeSrc":"211758:2:22","nodeType":"YulIdentifier","src":"211758:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211856:4:22","nodeType":"YulLiteral","src":"211856:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"211862:10:22","nodeType":"YulLiteral","src":"211862:10:22","type":"","value":"0x7f9bbca2"}],"functionName":{"name":"mstore","nativeSrc":"211849:6:22","nodeType":"YulIdentifier","src":"211849:6:22"},"nativeSrc":"211849:24:22","nodeType":"YulFunctionCall","src":"211849:24:22"},"nativeSrc":"211849:24:22","nodeType":"YulExpressionStatement","src":"211849:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211893:4:22","nodeType":"YulLiteral","src":"211893:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211899:2:22","nodeType":"YulIdentifier","src":"211899:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211886:6:22","nodeType":"YulIdentifier","src":"211886:6:22"},"nativeSrc":"211886:16:22","nodeType":"YulFunctionCall","src":"211886:16:22"},"nativeSrc":"211886:16:22","nodeType":"YulExpressionStatement","src":"211886:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211922:4:22","nodeType":"YulLiteral","src":"211922:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211928:2:22","nodeType":"YulIdentifier","src":"211928:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211915:6:22","nodeType":"YulIdentifier","src":"211915:6:22"},"nativeSrc":"211915:16:22","nodeType":"YulFunctionCall","src":"211915:16:22"},"nativeSrc":"211915:16:22","nodeType":"YulExpressionStatement","src":"211915:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211951:4:22","nodeType":"YulLiteral","src":"211951:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211957:2:22","nodeType":"YulIdentifier","src":"211957:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211944:6:22","nodeType":"YulIdentifier","src":"211944:6:22"},"nativeSrc":"211944:16:22","nodeType":"YulFunctionCall","src":"211944:16:22"},"nativeSrc":"211944:16:22","nodeType":"YulExpressionStatement","src":"211944:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211980:4:22","nodeType":"YulLiteral","src":"211980:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211986:2:22","nodeType":"YulIdentifier","src":"211986:2:22"}],"functionName":{"name":"mstore","nativeSrc":"211973:6:22","nodeType":"YulIdentifier","src":"211973:6:22"},"nativeSrc":"211973:16:22","nodeType":"YulFunctionCall","src":"211973:16:22"},"nativeSrc":"211973:16:22","nodeType":"YulExpressionStatement","src":"211973:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38055,"isOffset":false,"isSlot":false,"src":"211638:2:22","valueSize":1},{"declaration":38058,"isOffset":false,"isSlot":false,"src":"211668:2:22","valueSize":1},{"declaration":38061,"isOffset":false,"isSlot":false,"src":"211698:2:22","valueSize":1},{"declaration":38064,"isOffset":false,"isSlot":false,"src":"211728:2:22","valueSize":1},{"declaration":38067,"isOffset":false,"isSlot":false,"src":"211758:2:22","valueSize":1},{"declaration":38045,"isOffset":false,"isSlot":false,"src":"211899:2:22","valueSize":1},{"declaration":38047,"isOffset":false,"isSlot":false,"src":"211928:2:22","valueSize":1},{"declaration":38049,"isOffset":false,"isSlot":false,"src":"211957:2:22","valueSize":1},{"declaration":38051,"isOffset":false,"isSlot":false,"src":"211986:2:22","valueSize":1}],"id":38069,"nodeType":"InlineAssembly","src":"211615:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212024:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212030:4:22","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":38070,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"212008:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"212008:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38074,"nodeType":"ExpressionStatement","src":"212008:27:22"},{"AST":{"nativeSrc":"212097:156:22","nodeType":"YulBlock","src":"212097:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"212118:4:22","nodeType":"YulLiteral","src":"212118:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"212124:2:22","nodeType":"YulIdentifier","src":"212124:2:22"}],"functionName":{"name":"mstore","nativeSrc":"212111:6:22","nodeType":"YulIdentifier","src":"212111:6:22"},"nativeSrc":"212111:16:22","nodeType":"YulFunctionCall","src":"212111:16:22"},"nativeSrc":"212111:16:22","nodeType":"YulExpressionStatement","src":"212111:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212147:4:22","nodeType":"YulLiteral","src":"212147:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"212153:2:22","nodeType":"YulIdentifier","src":"212153:2:22"}],"functionName":{"name":"mstore","nativeSrc":"212140:6:22","nodeType":"YulIdentifier","src":"212140:6:22"},"nativeSrc":"212140:16:22","nodeType":"YulFunctionCall","src":"212140:16:22"},"nativeSrc":"212140:16:22","nodeType":"YulExpressionStatement","src":"212140:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212176:4:22","nodeType":"YulLiteral","src":"212176:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"212182:2:22","nodeType":"YulIdentifier","src":"212182:2:22"}],"functionName":{"name":"mstore","nativeSrc":"212169:6:22","nodeType":"YulIdentifier","src":"212169:6:22"},"nativeSrc":"212169:16:22","nodeType":"YulFunctionCall","src":"212169:16:22"},"nativeSrc":"212169:16:22","nodeType":"YulExpressionStatement","src":"212169:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212205:4:22","nodeType":"YulLiteral","src":"212205:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"212211:2:22","nodeType":"YulIdentifier","src":"212211:2:22"}],"functionName":{"name":"mstore","nativeSrc":"212198:6:22","nodeType":"YulIdentifier","src":"212198:6:22"},"nativeSrc":"212198:16:22","nodeType":"YulFunctionCall","src":"212198:16:22"},"nativeSrc":"212198:16:22","nodeType":"YulExpressionStatement","src":"212198:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212234:4:22","nodeType":"YulLiteral","src":"212234:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"212240:2:22","nodeType":"YulIdentifier","src":"212240:2:22"}],"functionName":{"name":"mstore","nativeSrc":"212227:6:22","nodeType":"YulIdentifier","src":"212227:6:22"},"nativeSrc":"212227:16:22","nodeType":"YulFunctionCall","src":"212227:16:22"},"nativeSrc":"212227:16:22","nodeType":"YulExpressionStatement","src":"212227:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38055,"isOffset":false,"isSlot":false,"src":"212124:2:22","valueSize":1},{"declaration":38058,"isOffset":false,"isSlot":false,"src":"212153:2:22","valueSize":1},{"declaration":38061,"isOffset":false,"isSlot":false,"src":"212182:2:22","valueSize":1},{"declaration":38064,"isOffset":false,"isSlot":false,"src":"212211:2:22","valueSize":1},{"declaration":38067,"isOffset":false,"isSlot":false,"src":"212240:2:22","valueSize":1}],"id":38075,"nodeType":"InlineAssembly","src":"212088:165:22"}]},"id":38077,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"211402:3:22","nodeType":"FunctionDefinition","parameters":{"id":38052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38045,"mutability":"mutable","name":"p0","nameLocation":"211411:2:22","nodeType":"VariableDeclaration","scope":38077,"src":"211406:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38044,"name":"bool","nodeType":"ElementaryTypeName","src":"211406:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38047,"mutability":"mutable","name":"p1","nameLocation":"211423:2:22","nodeType":"VariableDeclaration","scope":38077,"src":"211415:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38046,"name":"uint256","nodeType":"ElementaryTypeName","src":"211415:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38049,"mutability":"mutable","name":"p2","nameLocation":"211432:2:22","nodeType":"VariableDeclaration","scope":38077,"src":"211427:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38048,"name":"bool","nodeType":"ElementaryTypeName","src":"211427:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38051,"mutability":"mutable","name":"p3","nameLocation":"211444:2:22","nodeType":"VariableDeclaration","scope":38077,"src":"211436:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38050,"name":"uint256","nodeType":"ElementaryTypeName","src":"211436:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"211405:42:22"},"returnParameters":{"id":38053,"nodeType":"ParameterList","parameters":[],"src":"211462:0:22"},"scope":44426,"src":"211393:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38116,"nodeType":"Block","src":"212334:1345:22","statements":[{"assignments":[38089],"declarations":[{"constant":false,"id":38089,"mutability":"mutable","name":"m0","nameLocation":"212352:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212344:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212344:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38090,"nodeType":"VariableDeclarationStatement","src":"212344:10:22"},{"assignments":[38092],"declarations":[{"constant":false,"id":38092,"mutability":"mutable","name":"m1","nameLocation":"212372:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38093,"nodeType":"VariableDeclarationStatement","src":"212364:10:22"},{"assignments":[38095],"declarations":[{"constant":false,"id":38095,"mutability":"mutable","name":"m2","nameLocation":"212392:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212384:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212384:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38096,"nodeType":"VariableDeclarationStatement","src":"212384:10:22"},{"assignments":[38098],"declarations":[{"constant":false,"id":38098,"mutability":"mutable","name":"m3","nameLocation":"212412:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212404:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212404:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38099,"nodeType":"VariableDeclarationStatement","src":"212404:10:22"},{"assignments":[38101],"declarations":[{"constant":false,"id":38101,"mutability":"mutable","name":"m4","nameLocation":"212432:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212424:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38102,"nodeType":"VariableDeclarationStatement","src":"212424:10:22"},{"assignments":[38104],"declarations":[{"constant":false,"id":38104,"mutability":"mutable","name":"m5","nameLocation":"212452:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38105,"nodeType":"VariableDeclarationStatement","src":"212444:10:22"},{"assignments":[38107],"declarations":[{"constant":false,"id":38107,"mutability":"mutable","name":"m6","nameLocation":"212472:2:22","nodeType":"VariableDeclaration","scope":38116,"src":"212464:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212464:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38108,"nodeType":"VariableDeclarationStatement","src":"212464:10:22"},{"AST":{"nativeSrc":"212536:825:22","nodeType":"YulBlock","src":"212536:825:22","statements":[{"body":{"nativeSrc":"212579:313:22","nodeType":"YulBlock","src":"212579:313:22","statements":[{"nativeSrc":"212597:15:22","nodeType":"YulVariableDeclaration","src":"212597:15:22","value":{"kind":"number","nativeSrc":"212611:1:22","nodeType":"YulLiteral","src":"212611:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"212601:6:22","nodeType":"YulTypedName","src":"212601:6:22","type":""}]},{"body":{"nativeSrc":"212682:40:22","nodeType":"YulBlock","src":"212682:40:22","statements":[{"body":{"nativeSrc":"212711:9:22","nodeType":"YulBlock","src":"212711:9:22","statements":[{"nativeSrc":"212713:5:22","nodeType":"YulBreak","src":"212713:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"212699:6:22","nodeType":"YulIdentifier","src":"212699:6:22"},{"name":"w","nativeSrc":"212707:1:22","nodeType":"YulIdentifier","src":"212707:1:22"}],"functionName":{"name":"byte","nativeSrc":"212694:4:22","nodeType":"YulIdentifier","src":"212694:4:22"},"nativeSrc":"212694:15:22","nodeType":"YulFunctionCall","src":"212694:15:22"}],"functionName":{"name":"iszero","nativeSrc":"212687:6:22","nodeType":"YulIdentifier","src":"212687:6:22"},"nativeSrc":"212687:23:22","nodeType":"YulFunctionCall","src":"212687:23:22"},"nativeSrc":"212684:36:22","nodeType":"YulIf","src":"212684:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"212639:6:22","nodeType":"YulIdentifier","src":"212639:6:22"},{"kind":"number","nativeSrc":"212647:4:22","nodeType":"YulLiteral","src":"212647:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"212636:2:22","nodeType":"YulIdentifier","src":"212636:2:22"},"nativeSrc":"212636:16:22","nodeType":"YulFunctionCall","src":"212636:16:22"},"nativeSrc":"212629:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"212653:28:22","nodeType":"YulBlock","src":"212653:28:22","statements":[{"nativeSrc":"212655:24:22","nodeType":"YulAssignment","src":"212655:24:22","value":{"arguments":[{"name":"length","nativeSrc":"212669:6:22","nodeType":"YulIdentifier","src":"212669:6:22"},{"kind":"number","nativeSrc":"212677:1:22","nodeType":"YulLiteral","src":"212677:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"212665:3:22","nodeType":"YulIdentifier","src":"212665:3:22"},"nativeSrc":"212665:14:22","nodeType":"YulFunctionCall","src":"212665:14:22"},"variableNames":[{"name":"length","nativeSrc":"212655:6:22","nodeType":"YulIdentifier","src":"212655:6:22"}]}]},"pre":{"nativeSrc":"212633:2:22","nodeType":"YulBlock","src":"212633:2:22","statements":[]},"src":"212629:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"212746:3:22","nodeType":"YulIdentifier","src":"212746:3:22"},{"name":"length","nativeSrc":"212751:6:22","nodeType":"YulIdentifier","src":"212751:6:22"}],"functionName":{"name":"mstore","nativeSrc":"212739:6:22","nodeType":"YulIdentifier","src":"212739:6:22"},"nativeSrc":"212739:19:22","nodeType":"YulFunctionCall","src":"212739:19:22"},"nativeSrc":"212739:19:22","nodeType":"YulExpressionStatement","src":"212739:19:22"},{"nativeSrc":"212775:37:22","nodeType":"YulVariableDeclaration","src":"212775:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"212792:3:22","nodeType":"YulLiteral","src":"212792:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"212801:1:22","nodeType":"YulLiteral","src":"212801:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"212804:6:22","nodeType":"YulIdentifier","src":"212804:6:22"}],"functionName":{"name":"shl","nativeSrc":"212797:3:22","nodeType":"YulIdentifier","src":"212797:3:22"},"nativeSrc":"212797:14:22","nodeType":"YulFunctionCall","src":"212797:14:22"}],"functionName":{"name":"sub","nativeSrc":"212788:3:22","nodeType":"YulIdentifier","src":"212788:3:22"},"nativeSrc":"212788:24:22","nodeType":"YulFunctionCall","src":"212788:24:22"},"variables":[{"name":"shift","nativeSrc":"212779:5:22","nodeType":"YulTypedName","src":"212779:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"212840:3:22","nodeType":"YulIdentifier","src":"212840:3:22"},{"kind":"number","nativeSrc":"212845:4:22","nodeType":"YulLiteral","src":"212845:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"212836:3:22","nodeType":"YulIdentifier","src":"212836:3:22"},"nativeSrc":"212836:14:22","nodeType":"YulFunctionCall","src":"212836:14:22"},{"arguments":[{"name":"shift","nativeSrc":"212856:5:22","nodeType":"YulIdentifier","src":"212856:5:22"},{"arguments":[{"name":"shift","nativeSrc":"212867:5:22","nodeType":"YulIdentifier","src":"212867:5:22"},{"name":"w","nativeSrc":"212874:1:22","nodeType":"YulIdentifier","src":"212874:1:22"}],"functionName":{"name":"shr","nativeSrc":"212863:3:22","nodeType":"YulIdentifier","src":"212863:3:22"},"nativeSrc":"212863:13:22","nodeType":"YulFunctionCall","src":"212863:13:22"}],"functionName":{"name":"shl","nativeSrc":"212852:3:22","nodeType":"YulIdentifier","src":"212852:3:22"},"nativeSrc":"212852:25:22","nodeType":"YulFunctionCall","src":"212852:25:22"}],"functionName":{"name":"mstore","nativeSrc":"212829:6:22","nodeType":"YulIdentifier","src":"212829:6:22"},"nativeSrc":"212829:49:22","nodeType":"YulFunctionCall","src":"212829:49:22"},"nativeSrc":"212829:49:22","nodeType":"YulExpressionStatement","src":"212829:49:22"}]},"name":"writeString","nativeSrc":"212550:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"212571:3:22","nodeType":"YulTypedName","src":"212571:3:22","type":""},{"name":"w","nativeSrc":"212576:1:22","nodeType":"YulTypedName","src":"212576:1:22","type":""}],"src":"212550:342:22"},{"nativeSrc":"212905:17:22","nodeType":"YulAssignment","src":"212905:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"212917:4:22","nodeType":"YulLiteral","src":"212917:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"212911:5:22","nodeType":"YulIdentifier","src":"212911:5:22"},"nativeSrc":"212911:11:22","nodeType":"YulFunctionCall","src":"212911:11:22"},"variableNames":[{"name":"m0","nativeSrc":"212905:2:22","nodeType":"YulIdentifier","src":"212905:2:22"}]},{"nativeSrc":"212935:17:22","nodeType":"YulAssignment","src":"212935:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"212947:4:22","nodeType":"YulLiteral","src":"212947:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"212941:5:22","nodeType":"YulIdentifier","src":"212941:5:22"},"nativeSrc":"212941:11:22","nodeType":"YulFunctionCall","src":"212941:11:22"},"variableNames":[{"name":"m1","nativeSrc":"212935:2:22","nodeType":"YulIdentifier","src":"212935:2:22"}]},{"nativeSrc":"212965:17:22","nodeType":"YulAssignment","src":"212965:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"212977:4:22","nodeType":"YulLiteral","src":"212977:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"212971:5:22","nodeType":"YulIdentifier","src":"212971:5:22"},"nativeSrc":"212971:11:22","nodeType":"YulFunctionCall","src":"212971:11:22"},"variableNames":[{"name":"m2","nativeSrc":"212965:2:22","nodeType":"YulIdentifier","src":"212965:2:22"}]},{"nativeSrc":"212995:17:22","nodeType":"YulAssignment","src":"212995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213007:4:22","nodeType":"YulLiteral","src":"213007:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"213001:5:22","nodeType":"YulIdentifier","src":"213001:5:22"},"nativeSrc":"213001:11:22","nodeType":"YulFunctionCall","src":"213001:11:22"},"variableNames":[{"name":"m3","nativeSrc":"212995:2:22","nodeType":"YulIdentifier","src":"212995:2:22"}]},{"nativeSrc":"213025:17:22","nodeType":"YulAssignment","src":"213025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213037:4:22","nodeType":"YulLiteral","src":"213037:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"213031:5:22","nodeType":"YulIdentifier","src":"213031:5:22"},"nativeSrc":"213031:11:22","nodeType":"YulFunctionCall","src":"213031:11:22"},"variableNames":[{"name":"m4","nativeSrc":"213025:2:22","nodeType":"YulIdentifier","src":"213025:2:22"}]},{"nativeSrc":"213055:17:22","nodeType":"YulAssignment","src":"213055:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213067:4:22","nodeType":"YulLiteral","src":"213067:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"213061:5:22","nodeType":"YulIdentifier","src":"213061:5:22"},"nativeSrc":"213061:11:22","nodeType":"YulFunctionCall","src":"213061:11:22"},"variableNames":[{"name":"m5","nativeSrc":"213055:2:22","nodeType":"YulIdentifier","src":"213055:2:22"}]},{"nativeSrc":"213085:17:22","nodeType":"YulAssignment","src":"213085:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213097:4:22","nodeType":"YulLiteral","src":"213097:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"213091:5:22","nodeType":"YulIdentifier","src":"213091:5:22"},"nativeSrc":"213091:11:22","nodeType":"YulFunctionCall","src":"213091:11:22"},"variableNames":[{"name":"m6","nativeSrc":"213085:2:22","nodeType":"YulIdentifier","src":"213085:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213182:4:22","nodeType":"YulLiteral","src":"213182:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"213188:10:22","nodeType":"YulLiteral","src":"213188:10:22","type":"","value":"0x9143dbb1"}],"functionName":{"name":"mstore","nativeSrc":"213175:6:22","nodeType":"YulIdentifier","src":"213175:6:22"},"nativeSrc":"213175:24:22","nodeType":"YulFunctionCall","src":"213175:24:22"},"nativeSrc":"213175:24:22","nodeType":"YulExpressionStatement","src":"213175:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213219:4:22","nodeType":"YulLiteral","src":"213219:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"213225:2:22","nodeType":"YulIdentifier","src":"213225:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213212:6:22","nodeType":"YulIdentifier","src":"213212:6:22"},"nativeSrc":"213212:16:22","nodeType":"YulFunctionCall","src":"213212:16:22"},"nativeSrc":"213212:16:22","nodeType":"YulExpressionStatement","src":"213212:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213248:4:22","nodeType":"YulLiteral","src":"213248:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"213254:2:22","nodeType":"YulIdentifier","src":"213254:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213241:6:22","nodeType":"YulIdentifier","src":"213241:6:22"},"nativeSrc":"213241:16:22","nodeType":"YulFunctionCall","src":"213241:16:22"},"nativeSrc":"213241:16:22","nodeType":"YulExpressionStatement","src":"213241:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213277:4:22","nodeType":"YulLiteral","src":"213277:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"213283:2:22","nodeType":"YulIdentifier","src":"213283:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213270:6:22","nodeType":"YulIdentifier","src":"213270:6:22"},"nativeSrc":"213270:16:22","nodeType":"YulFunctionCall","src":"213270:16:22"},"nativeSrc":"213270:16:22","nodeType":"YulExpressionStatement","src":"213270:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213306:4:22","nodeType":"YulLiteral","src":"213306:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"213312:4:22","nodeType":"YulLiteral","src":"213312:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"213299:6:22","nodeType":"YulIdentifier","src":"213299:6:22"},"nativeSrc":"213299:18:22","nodeType":"YulFunctionCall","src":"213299:18:22"},"nativeSrc":"213299:18:22","nodeType":"YulExpressionStatement","src":"213299:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213342:4:22","nodeType":"YulLiteral","src":"213342:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"213348:2:22","nodeType":"YulIdentifier","src":"213348:2:22"}],"functionName":{"name":"writeString","nativeSrc":"213330:11:22","nodeType":"YulIdentifier","src":"213330:11:22"},"nativeSrc":"213330:21:22","nodeType":"YulFunctionCall","src":"213330:21:22"},"nativeSrc":"213330:21:22","nodeType":"YulExpressionStatement","src":"213330:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38089,"isOffset":false,"isSlot":false,"src":"212905:2:22","valueSize":1},{"declaration":38092,"isOffset":false,"isSlot":false,"src":"212935:2:22","valueSize":1},{"declaration":38095,"isOffset":false,"isSlot":false,"src":"212965:2:22","valueSize":1},{"declaration":38098,"isOffset":false,"isSlot":false,"src":"212995:2:22","valueSize":1},{"declaration":38101,"isOffset":false,"isSlot":false,"src":"213025:2:22","valueSize":1},{"declaration":38104,"isOffset":false,"isSlot":false,"src":"213055:2:22","valueSize":1},{"declaration":38107,"isOffset":false,"isSlot":false,"src":"213085:2:22","valueSize":1},{"declaration":38079,"isOffset":false,"isSlot":false,"src":"213225:2:22","valueSize":1},{"declaration":38081,"isOffset":false,"isSlot":false,"src":"213254:2:22","valueSize":1},{"declaration":38083,"isOffset":false,"isSlot":false,"src":"213283:2:22","valueSize":1},{"declaration":38085,"isOffset":false,"isSlot":false,"src":"213348:2:22","valueSize":1}],"id":38109,"nodeType":"InlineAssembly","src":"212527:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213386:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213392:4:22","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":38110,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"213370:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"213370:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38114,"nodeType":"ExpressionStatement","src":"213370:27:22"},{"AST":{"nativeSrc":"213459:214:22","nodeType":"YulBlock","src":"213459:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"213480:4:22","nodeType":"YulLiteral","src":"213480:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"213486:2:22","nodeType":"YulIdentifier","src":"213486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213473:6:22","nodeType":"YulIdentifier","src":"213473:6:22"},"nativeSrc":"213473:16:22","nodeType":"YulFunctionCall","src":"213473:16:22"},"nativeSrc":"213473:16:22","nodeType":"YulExpressionStatement","src":"213473:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213509:4:22","nodeType":"YulLiteral","src":"213509:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"213515:2:22","nodeType":"YulIdentifier","src":"213515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213502:6:22","nodeType":"YulIdentifier","src":"213502:6:22"},"nativeSrc":"213502:16:22","nodeType":"YulFunctionCall","src":"213502:16:22"},"nativeSrc":"213502:16:22","nodeType":"YulExpressionStatement","src":"213502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213538:4:22","nodeType":"YulLiteral","src":"213538:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"213544:2:22","nodeType":"YulIdentifier","src":"213544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213531:6:22","nodeType":"YulIdentifier","src":"213531:6:22"},"nativeSrc":"213531:16:22","nodeType":"YulFunctionCall","src":"213531:16:22"},"nativeSrc":"213531:16:22","nodeType":"YulExpressionStatement","src":"213531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213567:4:22","nodeType":"YulLiteral","src":"213567:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"213573:2:22","nodeType":"YulIdentifier","src":"213573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213560:6:22","nodeType":"YulIdentifier","src":"213560:6:22"},"nativeSrc":"213560:16:22","nodeType":"YulFunctionCall","src":"213560:16:22"},"nativeSrc":"213560:16:22","nodeType":"YulExpressionStatement","src":"213560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213596:4:22","nodeType":"YulLiteral","src":"213596:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"213602:2:22","nodeType":"YulIdentifier","src":"213602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213589:6:22","nodeType":"YulIdentifier","src":"213589:6:22"},"nativeSrc":"213589:16:22","nodeType":"YulFunctionCall","src":"213589:16:22"},"nativeSrc":"213589:16:22","nodeType":"YulExpressionStatement","src":"213589:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213625:4:22","nodeType":"YulLiteral","src":"213625:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"213631:2:22","nodeType":"YulIdentifier","src":"213631:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213618:6:22","nodeType":"YulIdentifier","src":"213618:6:22"},"nativeSrc":"213618:16:22","nodeType":"YulFunctionCall","src":"213618:16:22"},"nativeSrc":"213618:16:22","nodeType":"YulExpressionStatement","src":"213618:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213654:4:22","nodeType":"YulLiteral","src":"213654:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"213660:2:22","nodeType":"YulIdentifier","src":"213660:2:22"}],"functionName":{"name":"mstore","nativeSrc":"213647:6:22","nodeType":"YulIdentifier","src":"213647:6:22"},"nativeSrc":"213647:16:22","nodeType":"YulFunctionCall","src":"213647:16:22"},"nativeSrc":"213647:16:22","nodeType":"YulExpressionStatement","src":"213647:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38089,"isOffset":false,"isSlot":false,"src":"213486:2:22","valueSize":1},{"declaration":38092,"isOffset":false,"isSlot":false,"src":"213515:2:22","valueSize":1},{"declaration":38095,"isOffset":false,"isSlot":false,"src":"213544:2:22","valueSize":1},{"declaration":38098,"isOffset":false,"isSlot":false,"src":"213573:2:22","valueSize":1},{"declaration":38101,"isOffset":false,"isSlot":false,"src":"213602:2:22","valueSize":1},{"declaration":38104,"isOffset":false,"isSlot":false,"src":"213631:2:22","valueSize":1},{"declaration":38107,"isOffset":false,"isSlot":false,"src":"213660:2:22","valueSize":1}],"id":38115,"nodeType":"InlineAssembly","src":"213450:223:22"}]},"id":38117,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"212274:3:22","nodeType":"FunctionDefinition","parameters":{"id":38086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38079,"mutability":"mutable","name":"p0","nameLocation":"212283:2:22","nodeType":"VariableDeclaration","scope":38117,"src":"212278:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38078,"name":"bool","nodeType":"ElementaryTypeName","src":"212278:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38081,"mutability":"mutable","name":"p1","nameLocation":"212295:2:22","nodeType":"VariableDeclaration","scope":38117,"src":"212287:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38080,"name":"uint256","nodeType":"ElementaryTypeName","src":"212287:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38083,"mutability":"mutable","name":"p2","nameLocation":"212304:2:22","nodeType":"VariableDeclaration","scope":38117,"src":"212299:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38082,"name":"bool","nodeType":"ElementaryTypeName","src":"212299:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38085,"mutability":"mutable","name":"p3","nameLocation":"212316:2:22","nodeType":"VariableDeclaration","scope":38117,"src":"212308:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212308:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"212277:42:22"},"returnParameters":{"id":38087,"nodeType":"ParameterList","parameters":[],"src":"212334:0:22"},"scope":44426,"src":"212265:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38150,"nodeType":"Block","src":"213757:800:22","statements":[{"assignments":[38129],"declarations":[{"constant":false,"id":38129,"mutability":"mutable","name":"m0","nameLocation":"213775:2:22","nodeType":"VariableDeclaration","scope":38150,"src":"213767:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213767:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38130,"nodeType":"VariableDeclarationStatement","src":"213767:10:22"},{"assignments":[38132],"declarations":[{"constant":false,"id":38132,"mutability":"mutable","name":"m1","nameLocation":"213795:2:22","nodeType":"VariableDeclaration","scope":38150,"src":"213787:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213787:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38133,"nodeType":"VariableDeclarationStatement","src":"213787:10:22"},{"assignments":[38135],"declarations":[{"constant":false,"id":38135,"mutability":"mutable","name":"m2","nameLocation":"213815:2:22","nodeType":"VariableDeclaration","scope":38150,"src":"213807:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213807:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38136,"nodeType":"VariableDeclarationStatement","src":"213807:10:22"},{"assignments":[38138],"declarations":[{"constant":false,"id":38138,"mutability":"mutable","name":"m3","nameLocation":"213835:2:22","nodeType":"VariableDeclaration","scope":38150,"src":"213827:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213827:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38139,"nodeType":"VariableDeclarationStatement","src":"213827:10:22"},{"assignments":[38141],"declarations":[{"constant":false,"id":38141,"mutability":"mutable","name":"m4","nameLocation":"213855:2:22","nodeType":"VariableDeclaration","scope":38150,"src":"213847:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213847:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38142,"nodeType":"VariableDeclarationStatement","src":"213847:10:22"},{"AST":{"nativeSrc":"213919:378:22","nodeType":"YulBlock","src":"213919:378:22","statements":[{"nativeSrc":"213933:17:22","nodeType":"YulAssignment","src":"213933:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213945:4:22","nodeType":"YulLiteral","src":"213945:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"213939:5:22","nodeType":"YulIdentifier","src":"213939:5:22"},"nativeSrc":"213939:11:22","nodeType":"YulFunctionCall","src":"213939:11:22"},"variableNames":[{"name":"m0","nativeSrc":"213933:2:22","nodeType":"YulIdentifier","src":"213933:2:22"}]},{"nativeSrc":"213963:17:22","nodeType":"YulAssignment","src":"213963:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"213975:4:22","nodeType":"YulLiteral","src":"213975:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"213969:5:22","nodeType":"YulIdentifier","src":"213969:5:22"},"nativeSrc":"213969:11:22","nodeType":"YulFunctionCall","src":"213969:11:22"},"variableNames":[{"name":"m1","nativeSrc":"213963:2:22","nodeType":"YulIdentifier","src":"213963:2:22"}]},{"nativeSrc":"213993:17:22","nodeType":"YulAssignment","src":"213993:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214005:4:22","nodeType":"YulLiteral","src":"214005:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"213999:5:22","nodeType":"YulIdentifier","src":"213999:5:22"},"nativeSrc":"213999:11:22","nodeType":"YulFunctionCall","src":"213999:11:22"},"variableNames":[{"name":"m2","nativeSrc":"213993:2:22","nodeType":"YulIdentifier","src":"213993:2:22"}]},{"nativeSrc":"214023:17:22","nodeType":"YulAssignment","src":"214023:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214035:4:22","nodeType":"YulLiteral","src":"214035:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214029:5:22","nodeType":"YulIdentifier","src":"214029:5:22"},"nativeSrc":"214029:11:22","nodeType":"YulFunctionCall","src":"214029:11:22"},"variableNames":[{"name":"m3","nativeSrc":"214023:2:22","nodeType":"YulIdentifier","src":"214023:2:22"}]},{"nativeSrc":"214053:17:22","nodeType":"YulAssignment","src":"214053:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214065:4:22","nodeType":"YulLiteral","src":"214065:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214059:5:22","nodeType":"YulIdentifier","src":"214059:5:22"},"nativeSrc":"214059:11:22","nodeType":"YulFunctionCall","src":"214059:11:22"},"variableNames":[{"name":"m4","nativeSrc":"214053:2:22","nodeType":"YulIdentifier","src":"214053:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214154:4:22","nodeType":"YulLiteral","src":"214154:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"214160:10:22","nodeType":"YulLiteral","src":"214160:10:22","type":"","value":"0x00dd87b9"}],"functionName":{"name":"mstore","nativeSrc":"214147:6:22","nodeType":"YulIdentifier","src":"214147:6:22"},"nativeSrc":"214147:24:22","nodeType":"YulFunctionCall","src":"214147:24:22"},"nativeSrc":"214147:24:22","nodeType":"YulExpressionStatement","src":"214147:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214191:4:22","nodeType":"YulLiteral","src":"214191:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"214197:2:22","nodeType":"YulIdentifier","src":"214197:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214184:6:22","nodeType":"YulIdentifier","src":"214184:6:22"},"nativeSrc":"214184:16:22","nodeType":"YulFunctionCall","src":"214184:16:22"},"nativeSrc":"214184:16:22","nodeType":"YulExpressionStatement","src":"214184:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214220:4:22","nodeType":"YulLiteral","src":"214220:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"214226:2:22","nodeType":"YulIdentifier","src":"214226:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214213:6:22","nodeType":"YulIdentifier","src":"214213:6:22"},"nativeSrc":"214213:16:22","nodeType":"YulFunctionCall","src":"214213:16:22"},"nativeSrc":"214213:16:22","nodeType":"YulExpressionStatement","src":"214213:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214249:4:22","nodeType":"YulLiteral","src":"214249:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"214255:2:22","nodeType":"YulIdentifier","src":"214255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214242:6:22","nodeType":"YulIdentifier","src":"214242:6:22"},"nativeSrc":"214242:16:22","nodeType":"YulFunctionCall","src":"214242:16:22"},"nativeSrc":"214242:16:22","nodeType":"YulExpressionStatement","src":"214242:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214278:4:22","nodeType":"YulLiteral","src":"214278:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"214284:2:22","nodeType":"YulIdentifier","src":"214284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214271:6:22","nodeType":"YulIdentifier","src":"214271:6:22"},"nativeSrc":"214271:16:22","nodeType":"YulFunctionCall","src":"214271:16:22"},"nativeSrc":"214271:16:22","nodeType":"YulExpressionStatement","src":"214271:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38129,"isOffset":false,"isSlot":false,"src":"213933:2:22","valueSize":1},{"declaration":38132,"isOffset":false,"isSlot":false,"src":"213963:2:22","valueSize":1},{"declaration":38135,"isOffset":false,"isSlot":false,"src":"213993:2:22","valueSize":1},{"declaration":38138,"isOffset":false,"isSlot":false,"src":"214023:2:22","valueSize":1},{"declaration":38141,"isOffset":false,"isSlot":false,"src":"214053:2:22","valueSize":1},{"declaration":38119,"isOffset":false,"isSlot":false,"src":"214197:2:22","valueSize":1},{"declaration":38121,"isOffset":false,"isSlot":false,"src":"214226:2:22","valueSize":1},{"declaration":38123,"isOffset":false,"isSlot":false,"src":"214255:2:22","valueSize":1},{"declaration":38125,"isOffset":false,"isSlot":false,"src":"214284:2:22","valueSize":1}],"id":38143,"nodeType":"InlineAssembly","src":"213910:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214322:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214328:4:22","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":38144,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"214306:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"214306:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38148,"nodeType":"ExpressionStatement","src":"214306:27:22"},{"AST":{"nativeSrc":"214395:156:22","nodeType":"YulBlock","src":"214395:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"214416:4:22","nodeType":"YulLiteral","src":"214416:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"214422:2:22","nodeType":"YulIdentifier","src":"214422:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214409:6:22","nodeType":"YulIdentifier","src":"214409:6:22"},"nativeSrc":"214409:16:22","nodeType":"YulFunctionCall","src":"214409:16:22"},"nativeSrc":"214409:16:22","nodeType":"YulExpressionStatement","src":"214409:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214445:4:22","nodeType":"YulLiteral","src":"214445:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"214451:2:22","nodeType":"YulIdentifier","src":"214451:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214438:6:22","nodeType":"YulIdentifier","src":"214438:6:22"},"nativeSrc":"214438:16:22","nodeType":"YulFunctionCall","src":"214438:16:22"},"nativeSrc":"214438:16:22","nodeType":"YulExpressionStatement","src":"214438:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214474:4:22","nodeType":"YulLiteral","src":"214474:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"214480:2:22","nodeType":"YulIdentifier","src":"214480:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214467:6:22","nodeType":"YulIdentifier","src":"214467:6:22"},"nativeSrc":"214467:16:22","nodeType":"YulFunctionCall","src":"214467:16:22"},"nativeSrc":"214467:16:22","nodeType":"YulExpressionStatement","src":"214467:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214503:4:22","nodeType":"YulLiteral","src":"214503:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"214509:2:22","nodeType":"YulIdentifier","src":"214509:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214496:6:22","nodeType":"YulIdentifier","src":"214496:6:22"},"nativeSrc":"214496:16:22","nodeType":"YulFunctionCall","src":"214496:16:22"},"nativeSrc":"214496:16:22","nodeType":"YulExpressionStatement","src":"214496:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214532:4:22","nodeType":"YulLiteral","src":"214532:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"214538:2:22","nodeType":"YulIdentifier","src":"214538:2:22"}],"functionName":{"name":"mstore","nativeSrc":"214525:6:22","nodeType":"YulIdentifier","src":"214525:6:22"},"nativeSrc":"214525:16:22","nodeType":"YulFunctionCall","src":"214525:16:22"},"nativeSrc":"214525:16:22","nodeType":"YulExpressionStatement","src":"214525:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38129,"isOffset":false,"isSlot":false,"src":"214422:2:22","valueSize":1},{"declaration":38132,"isOffset":false,"isSlot":false,"src":"214451:2:22","valueSize":1},{"declaration":38135,"isOffset":false,"isSlot":false,"src":"214480:2:22","valueSize":1},{"declaration":38138,"isOffset":false,"isSlot":false,"src":"214509:2:22","valueSize":1},{"declaration":38141,"isOffset":false,"isSlot":false,"src":"214538:2:22","valueSize":1}],"id":38149,"nodeType":"InlineAssembly","src":"214386:165:22"}]},"id":38151,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"213694:3:22","nodeType":"FunctionDefinition","parameters":{"id":38126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38119,"mutability":"mutable","name":"p0","nameLocation":"213703:2:22","nodeType":"VariableDeclaration","scope":38151,"src":"213698:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38118,"name":"bool","nodeType":"ElementaryTypeName","src":"213698:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38121,"mutability":"mutable","name":"p1","nameLocation":"213715:2:22","nodeType":"VariableDeclaration","scope":38151,"src":"213707:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38120,"name":"uint256","nodeType":"ElementaryTypeName","src":"213707:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38123,"mutability":"mutable","name":"p2","nameLocation":"213727:2:22","nodeType":"VariableDeclaration","scope":38151,"src":"213719:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38122,"name":"uint256","nodeType":"ElementaryTypeName","src":"213719:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38125,"mutability":"mutable","name":"p3","nameLocation":"213739:2:22","nodeType":"VariableDeclaration","scope":38151,"src":"213731:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38124,"name":"address","nodeType":"ElementaryTypeName","src":"213731:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"213697:45:22"},"returnParameters":{"id":38127,"nodeType":"ParameterList","parameters":[],"src":"213757:0:22"},"scope":44426,"src":"213685:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38184,"nodeType":"Block","src":"214632:797:22","statements":[{"assignments":[38163],"declarations":[{"constant":false,"id":38163,"mutability":"mutable","name":"m0","nameLocation":"214650:2:22","nodeType":"VariableDeclaration","scope":38184,"src":"214642:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214642:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38164,"nodeType":"VariableDeclarationStatement","src":"214642:10:22"},{"assignments":[38166],"declarations":[{"constant":false,"id":38166,"mutability":"mutable","name":"m1","nameLocation":"214670:2:22","nodeType":"VariableDeclaration","scope":38184,"src":"214662:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214662:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38167,"nodeType":"VariableDeclarationStatement","src":"214662:10:22"},{"assignments":[38169],"declarations":[{"constant":false,"id":38169,"mutability":"mutable","name":"m2","nameLocation":"214690:2:22","nodeType":"VariableDeclaration","scope":38184,"src":"214682:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214682:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38170,"nodeType":"VariableDeclarationStatement","src":"214682:10:22"},{"assignments":[38172],"declarations":[{"constant":false,"id":38172,"mutability":"mutable","name":"m3","nameLocation":"214710:2:22","nodeType":"VariableDeclaration","scope":38184,"src":"214702:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214702:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38173,"nodeType":"VariableDeclarationStatement","src":"214702:10:22"},{"assignments":[38175],"declarations":[{"constant":false,"id":38175,"mutability":"mutable","name":"m4","nameLocation":"214730:2:22","nodeType":"VariableDeclaration","scope":38184,"src":"214722:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214722:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38176,"nodeType":"VariableDeclarationStatement","src":"214722:10:22"},{"AST":{"nativeSrc":"214794:375:22","nodeType":"YulBlock","src":"214794:375:22","statements":[{"nativeSrc":"214808:17:22","nodeType":"YulAssignment","src":"214808:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214820:4:22","nodeType":"YulLiteral","src":"214820:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"214814:5:22","nodeType":"YulIdentifier","src":"214814:5:22"},"nativeSrc":"214814:11:22","nodeType":"YulFunctionCall","src":"214814:11:22"},"variableNames":[{"name":"m0","nativeSrc":"214808:2:22","nodeType":"YulIdentifier","src":"214808:2:22"}]},{"nativeSrc":"214838:17:22","nodeType":"YulAssignment","src":"214838:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214850:4:22","nodeType":"YulLiteral","src":"214850:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"214844:5:22","nodeType":"YulIdentifier","src":"214844:5:22"},"nativeSrc":"214844:11:22","nodeType":"YulFunctionCall","src":"214844:11:22"},"variableNames":[{"name":"m1","nativeSrc":"214838:2:22","nodeType":"YulIdentifier","src":"214838:2:22"}]},{"nativeSrc":"214868:17:22","nodeType":"YulAssignment","src":"214868:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214880:4:22","nodeType":"YulLiteral","src":"214880:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"214874:5:22","nodeType":"YulIdentifier","src":"214874:5:22"},"nativeSrc":"214874:11:22","nodeType":"YulFunctionCall","src":"214874:11:22"},"variableNames":[{"name":"m2","nativeSrc":"214868:2:22","nodeType":"YulIdentifier","src":"214868:2:22"}]},{"nativeSrc":"214898:17:22","nodeType":"YulAssignment","src":"214898:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214910:4:22","nodeType":"YulLiteral","src":"214910:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214904:5:22","nodeType":"YulIdentifier","src":"214904:5:22"},"nativeSrc":"214904:11:22","nodeType":"YulFunctionCall","src":"214904:11:22"},"variableNames":[{"name":"m3","nativeSrc":"214898:2:22","nodeType":"YulIdentifier","src":"214898:2:22"}]},{"nativeSrc":"214928:17:22","nodeType":"YulAssignment","src":"214928:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"214940:4:22","nodeType":"YulLiteral","src":"214940:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214934:5:22","nodeType":"YulIdentifier","src":"214934:5:22"},"nativeSrc":"214934:11:22","nodeType":"YulFunctionCall","src":"214934:11:22"},"variableNames":[{"name":"m4","nativeSrc":"214928:2:22","nodeType":"YulIdentifier","src":"214928:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215026:4:22","nodeType":"YulLiteral","src":"215026:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215032:10:22","nodeType":"YulLiteral","src":"215032:10:22","type":"","value":"0xbe984353"}],"functionName":{"name":"mstore","nativeSrc":"215019:6:22","nodeType":"YulIdentifier","src":"215019:6:22"},"nativeSrc":"215019:24:22","nodeType":"YulFunctionCall","src":"215019:24:22"},"nativeSrc":"215019:24:22","nodeType":"YulExpressionStatement","src":"215019:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215063:4:22","nodeType":"YulLiteral","src":"215063:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215069:2:22","nodeType":"YulIdentifier","src":"215069:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215056:6:22","nodeType":"YulIdentifier","src":"215056:6:22"},"nativeSrc":"215056:16:22","nodeType":"YulFunctionCall","src":"215056:16:22"},"nativeSrc":"215056:16:22","nodeType":"YulExpressionStatement","src":"215056:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215092:4:22","nodeType":"YulLiteral","src":"215092:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215098:2:22","nodeType":"YulIdentifier","src":"215098:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215085:6:22","nodeType":"YulIdentifier","src":"215085:6:22"},"nativeSrc":"215085:16:22","nodeType":"YulFunctionCall","src":"215085:16:22"},"nativeSrc":"215085:16:22","nodeType":"YulExpressionStatement","src":"215085:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215121:4:22","nodeType":"YulLiteral","src":"215121:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"215127:2:22","nodeType":"YulIdentifier","src":"215127:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215114:6:22","nodeType":"YulIdentifier","src":"215114:6:22"},"nativeSrc":"215114:16:22","nodeType":"YulFunctionCall","src":"215114:16:22"},"nativeSrc":"215114:16:22","nodeType":"YulExpressionStatement","src":"215114:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215150:4:22","nodeType":"YulLiteral","src":"215150:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"215156:2:22","nodeType":"YulIdentifier","src":"215156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215143:6:22","nodeType":"YulIdentifier","src":"215143:6:22"},"nativeSrc":"215143:16:22","nodeType":"YulFunctionCall","src":"215143:16:22"},"nativeSrc":"215143:16:22","nodeType":"YulExpressionStatement","src":"215143:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38163,"isOffset":false,"isSlot":false,"src":"214808:2:22","valueSize":1},{"declaration":38166,"isOffset":false,"isSlot":false,"src":"214838:2:22","valueSize":1},{"declaration":38169,"isOffset":false,"isSlot":false,"src":"214868:2:22","valueSize":1},{"declaration":38172,"isOffset":false,"isSlot":false,"src":"214898:2:22","valueSize":1},{"declaration":38175,"isOffset":false,"isSlot":false,"src":"214928:2:22","valueSize":1},{"declaration":38153,"isOffset":false,"isSlot":false,"src":"215069:2:22","valueSize":1},{"declaration":38155,"isOffset":false,"isSlot":false,"src":"215098:2:22","valueSize":1},{"declaration":38157,"isOffset":false,"isSlot":false,"src":"215127:2:22","valueSize":1},{"declaration":38159,"isOffset":false,"isSlot":false,"src":"215156:2:22","valueSize":1}],"id":38177,"nodeType":"InlineAssembly","src":"214785:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215194:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215200:4:22","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":38178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"215178:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"215178:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38182,"nodeType":"ExpressionStatement","src":"215178:27:22"},{"AST":{"nativeSrc":"215267:156:22","nodeType":"YulBlock","src":"215267:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"215288:4:22","nodeType":"YulLiteral","src":"215288:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"215294:2:22","nodeType":"YulIdentifier","src":"215294:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215281:6:22","nodeType":"YulIdentifier","src":"215281:6:22"},"nativeSrc":"215281:16:22","nodeType":"YulFunctionCall","src":"215281:16:22"},"nativeSrc":"215281:16:22","nodeType":"YulExpressionStatement","src":"215281:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215317:4:22","nodeType":"YulLiteral","src":"215317:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"215323:2:22","nodeType":"YulIdentifier","src":"215323:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215310:6:22","nodeType":"YulIdentifier","src":"215310:6:22"},"nativeSrc":"215310:16:22","nodeType":"YulFunctionCall","src":"215310:16:22"},"nativeSrc":"215310:16:22","nodeType":"YulExpressionStatement","src":"215310:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215346:4:22","nodeType":"YulLiteral","src":"215346:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"215352:2:22","nodeType":"YulIdentifier","src":"215352:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215339:6:22","nodeType":"YulIdentifier","src":"215339:6:22"},"nativeSrc":"215339:16:22","nodeType":"YulFunctionCall","src":"215339:16:22"},"nativeSrc":"215339:16:22","nodeType":"YulExpressionStatement","src":"215339:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215375:4:22","nodeType":"YulLiteral","src":"215375:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"215381:2:22","nodeType":"YulIdentifier","src":"215381:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215368:6:22","nodeType":"YulIdentifier","src":"215368:6:22"},"nativeSrc":"215368:16:22","nodeType":"YulFunctionCall","src":"215368:16:22"},"nativeSrc":"215368:16:22","nodeType":"YulExpressionStatement","src":"215368:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215404:4:22","nodeType":"YulLiteral","src":"215404:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"215410:2:22","nodeType":"YulIdentifier","src":"215410:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215397:6:22","nodeType":"YulIdentifier","src":"215397:6:22"},"nativeSrc":"215397:16:22","nodeType":"YulFunctionCall","src":"215397:16:22"},"nativeSrc":"215397:16:22","nodeType":"YulExpressionStatement","src":"215397:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38163,"isOffset":false,"isSlot":false,"src":"215294:2:22","valueSize":1},{"declaration":38166,"isOffset":false,"isSlot":false,"src":"215323:2:22","valueSize":1},{"declaration":38169,"isOffset":false,"isSlot":false,"src":"215352:2:22","valueSize":1},{"declaration":38172,"isOffset":false,"isSlot":false,"src":"215381:2:22","valueSize":1},{"declaration":38175,"isOffset":false,"isSlot":false,"src":"215410:2:22","valueSize":1}],"id":38183,"nodeType":"InlineAssembly","src":"215258:165:22"}]},"id":38185,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"214572:3:22","nodeType":"FunctionDefinition","parameters":{"id":38160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38153,"mutability":"mutable","name":"p0","nameLocation":"214581:2:22","nodeType":"VariableDeclaration","scope":38185,"src":"214576:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38152,"name":"bool","nodeType":"ElementaryTypeName","src":"214576:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38155,"mutability":"mutable","name":"p1","nameLocation":"214593:2:22","nodeType":"VariableDeclaration","scope":38185,"src":"214585:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38154,"name":"uint256","nodeType":"ElementaryTypeName","src":"214585:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38157,"mutability":"mutable","name":"p2","nameLocation":"214605:2:22","nodeType":"VariableDeclaration","scope":38185,"src":"214597:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38156,"name":"uint256","nodeType":"ElementaryTypeName","src":"214597:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38159,"mutability":"mutable","name":"p3","nameLocation":"214614:2:22","nodeType":"VariableDeclaration","scope":38185,"src":"214609:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38158,"name":"bool","nodeType":"ElementaryTypeName","src":"214609:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"214575:42:22"},"returnParameters":{"id":38161,"nodeType":"ParameterList","parameters":[],"src":"214632:0:22"},"scope":44426,"src":"214563:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38218,"nodeType":"Block","src":"215507:800:22","statements":[{"assignments":[38197],"declarations":[{"constant":false,"id":38197,"mutability":"mutable","name":"m0","nameLocation":"215525:2:22","nodeType":"VariableDeclaration","scope":38218,"src":"215517:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215517:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38198,"nodeType":"VariableDeclarationStatement","src":"215517:10:22"},{"assignments":[38200],"declarations":[{"constant":false,"id":38200,"mutability":"mutable","name":"m1","nameLocation":"215545:2:22","nodeType":"VariableDeclaration","scope":38218,"src":"215537:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215537:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38201,"nodeType":"VariableDeclarationStatement","src":"215537:10:22"},{"assignments":[38203],"declarations":[{"constant":false,"id":38203,"mutability":"mutable","name":"m2","nameLocation":"215565:2:22","nodeType":"VariableDeclaration","scope":38218,"src":"215557:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215557:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38204,"nodeType":"VariableDeclarationStatement","src":"215557:10:22"},{"assignments":[38206],"declarations":[{"constant":false,"id":38206,"mutability":"mutable","name":"m3","nameLocation":"215585:2:22","nodeType":"VariableDeclaration","scope":38218,"src":"215577:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215577:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38207,"nodeType":"VariableDeclarationStatement","src":"215577:10:22"},{"assignments":[38209],"declarations":[{"constant":false,"id":38209,"mutability":"mutable","name":"m4","nameLocation":"215605:2:22","nodeType":"VariableDeclaration","scope":38218,"src":"215597:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215597:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38210,"nodeType":"VariableDeclarationStatement","src":"215597:10:22"},{"AST":{"nativeSrc":"215669:378:22","nodeType":"YulBlock","src":"215669:378:22","statements":[{"nativeSrc":"215683:17:22","nodeType":"YulAssignment","src":"215683:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"215695:4:22","nodeType":"YulLiteral","src":"215695:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"215689:5:22","nodeType":"YulIdentifier","src":"215689:5:22"},"nativeSrc":"215689:11:22","nodeType":"YulFunctionCall","src":"215689:11:22"},"variableNames":[{"name":"m0","nativeSrc":"215683:2:22","nodeType":"YulIdentifier","src":"215683:2:22"}]},{"nativeSrc":"215713:17:22","nodeType":"YulAssignment","src":"215713:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"215725:4:22","nodeType":"YulLiteral","src":"215725:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"215719:5:22","nodeType":"YulIdentifier","src":"215719:5:22"},"nativeSrc":"215719:11:22","nodeType":"YulFunctionCall","src":"215719:11:22"},"variableNames":[{"name":"m1","nativeSrc":"215713:2:22","nodeType":"YulIdentifier","src":"215713:2:22"}]},{"nativeSrc":"215743:17:22","nodeType":"YulAssignment","src":"215743:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"215755:4:22","nodeType":"YulLiteral","src":"215755:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"215749:5:22","nodeType":"YulIdentifier","src":"215749:5:22"},"nativeSrc":"215749:11:22","nodeType":"YulFunctionCall","src":"215749:11:22"},"variableNames":[{"name":"m2","nativeSrc":"215743:2:22","nodeType":"YulIdentifier","src":"215743:2:22"}]},{"nativeSrc":"215773:17:22","nodeType":"YulAssignment","src":"215773:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"215785:4:22","nodeType":"YulLiteral","src":"215785:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"215779:5:22","nodeType":"YulIdentifier","src":"215779:5:22"},"nativeSrc":"215779:11:22","nodeType":"YulFunctionCall","src":"215779:11:22"},"variableNames":[{"name":"m3","nativeSrc":"215773:2:22","nodeType":"YulIdentifier","src":"215773:2:22"}]},{"nativeSrc":"215803:17:22","nodeType":"YulAssignment","src":"215803:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"215815:4:22","nodeType":"YulLiteral","src":"215815:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"215809:5:22","nodeType":"YulIdentifier","src":"215809:5:22"},"nativeSrc":"215809:11:22","nodeType":"YulFunctionCall","src":"215809:11:22"},"variableNames":[{"name":"m4","nativeSrc":"215803:2:22","nodeType":"YulIdentifier","src":"215803:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215904:4:22","nodeType":"YulLiteral","src":"215904:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215910:10:22","nodeType":"YulLiteral","src":"215910:10:22","type":"","value":"0x374bb4b2"}],"functionName":{"name":"mstore","nativeSrc":"215897:6:22","nodeType":"YulIdentifier","src":"215897:6:22"},"nativeSrc":"215897:24:22","nodeType":"YulFunctionCall","src":"215897:24:22"},"nativeSrc":"215897:24:22","nodeType":"YulExpressionStatement","src":"215897:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215941:4:22","nodeType":"YulLiteral","src":"215941:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215947:2:22","nodeType":"YulIdentifier","src":"215947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215934:6:22","nodeType":"YulIdentifier","src":"215934:6:22"},"nativeSrc":"215934:16:22","nodeType":"YulFunctionCall","src":"215934:16:22"},"nativeSrc":"215934:16:22","nodeType":"YulExpressionStatement","src":"215934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215970:4:22","nodeType":"YulLiteral","src":"215970:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215976:2:22","nodeType":"YulIdentifier","src":"215976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215963:6:22","nodeType":"YulIdentifier","src":"215963:6:22"},"nativeSrc":"215963:16:22","nodeType":"YulFunctionCall","src":"215963:16:22"},"nativeSrc":"215963:16:22","nodeType":"YulExpressionStatement","src":"215963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215999:4:22","nodeType":"YulLiteral","src":"215999:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"216005:2:22","nodeType":"YulIdentifier","src":"216005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"215992:6:22","nodeType":"YulIdentifier","src":"215992:6:22"},"nativeSrc":"215992:16:22","nodeType":"YulFunctionCall","src":"215992:16:22"},"nativeSrc":"215992:16:22","nodeType":"YulExpressionStatement","src":"215992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216028:4:22","nodeType":"YulLiteral","src":"216028:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"216034:2:22","nodeType":"YulIdentifier","src":"216034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216021:6:22","nodeType":"YulIdentifier","src":"216021:6:22"},"nativeSrc":"216021:16:22","nodeType":"YulFunctionCall","src":"216021:16:22"},"nativeSrc":"216021:16:22","nodeType":"YulExpressionStatement","src":"216021:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38197,"isOffset":false,"isSlot":false,"src":"215683:2:22","valueSize":1},{"declaration":38200,"isOffset":false,"isSlot":false,"src":"215713:2:22","valueSize":1},{"declaration":38203,"isOffset":false,"isSlot":false,"src":"215743:2:22","valueSize":1},{"declaration":38206,"isOffset":false,"isSlot":false,"src":"215773:2:22","valueSize":1},{"declaration":38209,"isOffset":false,"isSlot":false,"src":"215803:2:22","valueSize":1},{"declaration":38187,"isOffset":false,"isSlot":false,"src":"215947:2:22","valueSize":1},{"declaration":38189,"isOffset":false,"isSlot":false,"src":"215976:2:22","valueSize":1},{"declaration":38191,"isOffset":false,"isSlot":false,"src":"216005:2:22","valueSize":1},{"declaration":38193,"isOffset":false,"isSlot":false,"src":"216034:2:22","valueSize":1}],"id":38211,"nodeType":"InlineAssembly","src":"215660:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216072:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":38214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216078:4:22","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":38212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"216056:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"216056:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38216,"nodeType":"ExpressionStatement","src":"216056:27:22"},{"AST":{"nativeSrc":"216145:156:22","nodeType":"YulBlock","src":"216145:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"216166:4:22","nodeType":"YulLiteral","src":"216166:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"216172:2:22","nodeType":"YulIdentifier","src":"216172:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216159:6:22","nodeType":"YulIdentifier","src":"216159:6:22"},"nativeSrc":"216159:16:22","nodeType":"YulFunctionCall","src":"216159:16:22"},"nativeSrc":"216159:16:22","nodeType":"YulExpressionStatement","src":"216159:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216195:4:22","nodeType":"YulLiteral","src":"216195:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"216201:2:22","nodeType":"YulIdentifier","src":"216201:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216188:6:22","nodeType":"YulIdentifier","src":"216188:6:22"},"nativeSrc":"216188:16:22","nodeType":"YulFunctionCall","src":"216188:16:22"},"nativeSrc":"216188:16:22","nodeType":"YulExpressionStatement","src":"216188:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216224:4:22","nodeType":"YulLiteral","src":"216224:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"216230:2:22","nodeType":"YulIdentifier","src":"216230:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216217:6:22","nodeType":"YulIdentifier","src":"216217:6:22"},"nativeSrc":"216217:16:22","nodeType":"YulFunctionCall","src":"216217:16:22"},"nativeSrc":"216217:16:22","nodeType":"YulExpressionStatement","src":"216217:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216253:4:22","nodeType":"YulLiteral","src":"216253:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"216259:2:22","nodeType":"YulIdentifier","src":"216259:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216246:6:22","nodeType":"YulIdentifier","src":"216246:6:22"},"nativeSrc":"216246:16:22","nodeType":"YulFunctionCall","src":"216246:16:22"},"nativeSrc":"216246:16:22","nodeType":"YulExpressionStatement","src":"216246:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216282:4:22","nodeType":"YulLiteral","src":"216282:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"216288:2:22","nodeType":"YulIdentifier","src":"216288:2:22"}],"functionName":{"name":"mstore","nativeSrc":"216275:6:22","nodeType":"YulIdentifier","src":"216275:6:22"},"nativeSrc":"216275:16:22","nodeType":"YulFunctionCall","src":"216275:16:22"},"nativeSrc":"216275:16:22","nodeType":"YulExpressionStatement","src":"216275:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38197,"isOffset":false,"isSlot":false,"src":"216172:2:22","valueSize":1},{"declaration":38200,"isOffset":false,"isSlot":false,"src":"216201:2:22","valueSize":1},{"declaration":38203,"isOffset":false,"isSlot":false,"src":"216230:2:22","valueSize":1},{"declaration":38206,"isOffset":false,"isSlot":false,"src":"216259:2:22","valueSize":1},{"declaration":38209,"isOffset":false,"isSlot":false,"src":"216288:2:22","valueSize":1}],"id":38217,"nodeType":"InlineAssembly","src":"216136:165:22"}]},"id":38219,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"215444:3:22","nodeType":"FunctionDefinition","parameters":{"id":38194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38187,"mutability":"mutable","name":"p0","nameLocation":"215453:2:22","nodeType":"VariableDeclaration","scope":38219,"src":"215448:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38186,"name":"bool","nodeType":"ElementaryTypeName","src":"215448:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38189,"mutability":"mutable","name":"p1","nameLocation":"215465:2:22","nodeType":"VariableDeclaration","scope":38219,"src":"215457:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38188,"name":"uint256","nodeType":"ElementaryTypeName","src":"215457:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38191,"mutability":"mutable","name":"p2","nameLocation":"215477:2:22","nodeType":"VariableDeclaration","scope":38219,"src":"215469:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38190,"name":"uint256","nodeType":"ElementaryTypeName","src":"215469:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38193,"mutability":"mutable","name":"p3","nameLocation":"215489:2:22","nodeType":"VariableDeclaration","scope":38219,"src":"215481:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38192,"name":"uint256","nodeType":"ElementaryTypeName","src":"215481:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"215447:45:22"},"returnParameters":{"id":38195,"nodeType":"ParameterList","parameters":[],"src":"215507:0:22"},"scope":44426,"src":"215435:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38258,"nodeType":"Block","src":"216385:1348:22","statements":[{"assignments":[38231],"declarations":[{"constant":false,"id":38231,"mutability":"mutable","name":"m0","nameLocation":"216403:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216395:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216395:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38232,"nodeType":"VariableDeclarationStatement","src":"216395:10:22"},{"assignments":[38234],"declarations":[{"constant":false,"id":38234,"mutability":"mutable","name":"m1","nameLocation":"216423:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216415:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216415:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38235,"nodeType":"VariableDeclarationStatement","src":"216415:10:22"},{"assignments":[38237],"declarations":[{"constant":false,"id":38237,"mutability":"mutable","name":"m2","nameLocation":"216443:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216435:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216435:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38238,"nodeType":"VariableDeclarationStatement","src":"216435:10:22"},{"assignments":[38240],"declarations":[{"constant":false,"id":38240,"mutability":"mutable","name":"m3","nameLocation":"216463:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216455:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216455:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38241,"nodeType":"VariableDeclarationStatement","src":"216455:10:22"},{"assignments":[38243],"declarations":[{"constant":false,"id":38243,"mutability":"mutable","name":"m4","nameLocation":"216483:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216475:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216475:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38244,"nodeType":"VariableDeclarationStatement","src":"216475:10:22"},{"assignments":[38246],"declarations":[{"constant":false,"id":38246,"mutability":"mutable","name":"m5","nameLocation":"216503:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216495:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216495:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38247,"nodeType":"VariableDeclarationStatement","src":"216495:10:22"},{"assignments":[38249],"declarations":[{"constant":false,"id":38249,"mutability":"mutable","name":"m6","nameLocation":"216523:2:22","nodeType":"VariableDeclaration","scope":38258,"src":"216515:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216515:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38250,"nodeType":"VariableDeclarationStatement","src":"216515:10:22"},{"AST":{"nativeSrc":"216587:828:22","nodeType":"YulBlock","src":"216587:828:22","statements":[{"body":{"nativeSrc":"216630:313:22","nodeType":"YulBlock","src":"216630:313:22","statements":[{"nativeSrc":"216648:15:22","nodeType":"YulVariableDeclaration","src":"216648:15:22","value":{"kind":"number","nativeSrc":"216662:1:22","nodeType":"YulLiteral","src":"216662:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"216652:6:22","nodeType":"YulTypedName","src":"216652:6:22","type":""}]},{"body":{"nativeSrc":"216733:40:22","nodeType":"YulBlock","src":"216733:40:22","statements":[{"body":{"nativeSrc":"216762:9:22","nodeType":"YulBlock","src":"216762:9:22","statements":[{"nativeSrc":"216764:5:22","nodeType":"YulBreak","src":"216764:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"216750:6:22","nodeType":"YulIdentifier","src":"216750:6:22"},{"name":"w","nativeSrc":"216758:1:22","nodeType":"YulIdentifier","src":"216758:1:22"}],"functionName":{"name":"byte","nativeSrc":"216745:4:22","nodeType":"YulIdentifier","src":"216745:4:22"},"nativeSrc":"216745:15:22","nodeType":"YulFunctionCall","src":"216745:15:22"}],"functionName":{"name":"iszero","nativeSrc":"216738:6:22","nodeType":"YulIdentifier","src":"216738:6:22"},"nativeSrc":"216738:23:22","nodeType":"YulFunctionCall","src":"216738:23:22"},"nativeSrc":"216735:36:22","nodeType":"YulIf","src":"216735:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"216690:6:22","nodeType":"YulIdentifier","src":"216690:6:22"},{"kind":"number","nativeSrc":"216698:4:22","nodeType":"YulLiteral","src":"216698:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"216687:2:22","nodeType":"YulIdentifier","src":"216687:2:22"},"nativeSrc":"216687:16:22","nodeType":"YulFunctionCall","src":"216687:16:22"},"nativeSrc":"216680:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"216704:28:22","nodeType":"YulBlock","src":"216704:28:22","statements":[{"nativeSrc":"216706:24:22","nodeType":"YulAssignment","src":"216706:24:22","value":{"arguments":[{"name":"length","nativeSrc":"216720:6:22","nodeType":"YulIdentifier","src":"216720:6:22"},{"kind":"number","nativeSrc":"216728:1:22","nodeType":"YulLiteral","src":"216728:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"216716:3:22","nodeType":"YulIdentifier","src":"216716:3:22"},"nativeSrc":"216716:14:22","nodeType":"YulFunctionCall","src":"216716:14:22"},"variableNames":[{"name":"length","nativeSrc":"216706:6:22","nodeType":"YulIdentifier","src":"216706:6:22"}]}]},"pre":{"nativeSrc":"216684:2:22","nodeType":"YulBlock","src":"216684:2:22","statements":[]},"src":"216680:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"216797:3:22","nodeType":"YulIdentifier","src":"216797:3:22"},{"name":"length","nativeSrc":"216802:6:22","nodeType":"YulIdentifier","src":"216802:6:22"}],"functionName":{"name":"mstore","nativeSrc":"216790:6:22","nodeType":"YulIdentifier","src":"216790:6:22"},"nativeSrc":"216790:19:22","nodeType":"YulFunctionCall","src":"216790:19:22"},"nativeSrc":"216790:19:22","nodeType":"YulExpressionStatement","src":"216790:19:22"},{"nativeSrc":"216826:37:22","nodeType":"YulVariableDeclaration","src":"216826:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"216843:3:22","nodeType":"YulLiteral","src":"216843:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"216852:1:22","nodeType":"YulLiteral","src":"216852:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"216855:6:22","nodeType":"YulIdentifier","src":"216855:6:22"}],"functionName":{"name":"shl","nativeSrc":"216848:3:22","nodeType":"YulIdentifier","src":"216848:3:22"},"nativeSrc":"216848:14:22","nodeType":"YulFunctionCall","src":"216848:14:22"}],"functionName":{"name":"sub","nativeSrc":"216839:3:22","nodeType":"YulIdentifier","src":"216839:3:22"},"nativeSrc":"216839:24:22","nodeType":"YulFunctionCall","src":"216839:24:22"},"variables":[{"name":"shift","nativeSrc":"216830:5:22","nodeType":"YulTypedName","src":"216830:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"216891:3:22","nodeType":"YulIdentifier","src":"216891:3:22"},{"kind":"number","nativeSrc":"216896:4:22","nodeType":"YulLiteral","src":"216896:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"216887:3:22","nodeType":"YulIdentifier","src":"216887:3:22"},"nativeSrc":"216887:14:22","nodeType":"YulFunctionCall","src":"216887:14:22"},{"arguments":[{"name":"shift","nativeSrc":"216907:5:22","nodeType":"YulIdentifier","src":"216907:5:22"},{"arguments":[{"name":"shift","nativeSrc":"216918:5:22","nodeType":"YulIdentifier","src":"216918:5:22"},{"name":"w","nativeSrc":"216925:1:22","nodeType":"YulIdentifier","src":"216925:1:22"}],"functionName":{"name":"shr","nativeSrc":"216914:3:22","nodeType":"YulIdentifier","src":"216914:3:22"},"nativeSrc":"216914:13:22","nodeType":"YulFunctionCall","src":"216914:13:22"}],"functionName":{"name":"shl","nativeSrc":"216903:3:22","nodeType":"YulIdentifier","src":"216903:3:22"},"nativeSrc":"216903:25:22","nodeType":"YulFunctionCall","src":"216903:25:22"}],"functionName":{"name":"mstore","nativeSrc":"216880:6:22","nodeType":"YulIdentifier","src":"216880:6:22"},"nativeSrc":"216880:49:22","nodeType":"YulFunctionCall","src":"216880:49:22"},"nativeSrc":"216880:49:22","nodeType":"YulExpressionStatement","src":"216880:49:22"}]},"name":"writeString","nativeSrc":"216601:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"216622:3:22","nodeType":"YulTypedName","src":"216622:3:22","type":""},{"name":"w","nativeSrc":"216627:1:22","nodeType":"YulTypedName","src":"216627:1:22","type":""}],"src":"216601:342:22"},{"nativeSrc":"216956:17:22","nodeType":"YulAssignment","src":"216956:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"216968:4:22","nodeType":"YulLiteral","src":"216968:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"216962:5:22","nodeType":"YulIdentifier","src":"216962:5:22"},"nativeSrc":"216962:11:22","nodeType":"YulFunctionCall","src":"216962:11:22"},"variableNames":[{"name":"m0","nativeSrc":"216956:2:22","nodeType":"YulIdentifier","src":"216956:2:22"}]},{"nativeSrc":"216986:17:22","nodeType":"YulAssignment","src":"216986:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"216998:4:22","nodeType":"YulLiteral","src":"216998:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"216992:5:22","nodeType":"YulIdentifier","src":"216992:5:22"},"nativeSrc":"216992:11:22","nodeType":"YulFunctionCall","src":"216992:11:22"},"variableNames":[{"name":"m1","nativeSrc":"216986:2:22","nodeType":"YulIdentifier","src":"216986:2:22"}]},{"nativeSrc":"217016:17:22","nodeType":"YulAssignment","src":"217016:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"217028:4:22","nodeType":"YulLiteral","src":"217028:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"217022:5:22","nodeType":"YulIdentifier","src":"217022:5:22"},"nativeSrc":"217022:11:22","nodeType":"YulFunctionCall","src":"217022:11:22"},"variableNames":[{"name":"m2","nativeSrc":"217016:2:22","nodeType":"YulIdentifier","src":"217016:2:22"}]},{"nativeSrc":"217046:17:22","nodeType":"YulAssignment","src":"217046:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"217058:4:22","nodeType":"YulLiteral","src":"217058:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"217052:5:22","nodeType":"YulIdentifier","src":"217052:5:22"},"nativeSrc":"217052:11:22","nodeType":"YulFunctionCall","src":"217052:11:22"},"variableNames":[{"name":"m3","nativeSrc":"217046:2:22","nodeType":"YulIdentifier","src":"217046:2:22"}]},{"nativeSrc":"217076:17:22","nodeType":"YulAssignment","src":"217076:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"217088:4:22","nodeType":"YulLiteral","src":"217088:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"217082:5:22","nodeType":"YulIdentifier","src":"217082:5:22"},"nativeSrc":"217082:11:22","nodeType":"YulFunctionCall","src":"217082:11:22"},"variableNames":[{"name":"m4","nativeSrc":"217076:2:22","nodeType":"YulIdentifier","src":"217076:2:22"}]},{"nativeSrc":"217106:17:22","nodeType":"YulAssignment","src":"217106:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"217118:4:22","nodeType":"YulLiteral","src":"217118:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"217112:5:22","nodeType":"YulIdentifier","src":"217112:5:22"},"nativeSrc":"217112:11:22","nodeType":"YulFunctionCall","src":"217112:11:22"},"variableNames":[{"name":"m5","nativeSrc":"217106:2:22","nodeType":"YulIdentifier","src":"217106:2:22"}]},{"nativeSrc":"217136:17:22","nodeType":"YulAssignment","src":"217136:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"217148:4:22","nodeType":"YulLiteral","src":"217148:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"217142:5:22","nodeType":"YulIdentifier","src":"217142:5:22"},"nativeSrc":"217142:11:22","nodeType":"YulFunctionCall","src":"217142:11:22"},"variableNames":[{"name":"m6","nativeSrc":"217136:2:22","nodeType":"YulIdentifier","src":"217136:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217236:4:22","nodeType":"YulLiteral","src":"217236:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"217242:10:22","nodeType":"YulLiteral","src":"217242:10:22","type":"","value":"0x8e69fb5d"}],"functionName":{"name":"mstore","nativeSrc":"217229:6:22","nodeType":"YulIdentifier","src":"217229:6:22"},"nativeSrc":"217229:24:22","nodeType":"YulFunctionCall","src":"217229:24:22"},"nativeSrc":"217229:24:22","nodeType":"YulExpressionStatement","src":"217229:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217273:4:22","nodeType":"YulLiteral","src":"217273:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"217279:2:22","nodeType":"YulIdentifier","src":"217279:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217266:6:22","nodeType":"YulIdentifier","src":"217266:6:22"},"nativeSrc":"217266:16:22","nodeType":"YulFunctionCall","src":"217266:16:22"},"nativeSrc":"217266:16:22","nodeType":"YulExpressionStatement","src":"217266:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217302:4:22","nodeType":"YulLiteral","src":"217302:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"217308:2:22","nodeType":"YulIdentifier","src":"217308:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217295:6:22","nodeType":"YulIdentifier","src":"217295:6:22"},"nativeSrc":"217295:16:22","nodeType":"YulFunctionCall","src":"217295:16:22"},"nativeSrc":"217295:16:22","nodeType":"YulExpressionStatement","src":"217295:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217331:4:22","nodeType":"YulLiteral","src":"217331:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"217337:2:22","nodeType":"YulIdentifier","src":"217337:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217324:6:22","nodeType":"YulIdentifier","src":"217324:6:22"},"nativeSrc":"217324:16:22","nodeType":"YulFunctionCall","src":"217324:16:22"},"nativeSrc":"217324:16:22","nodeType":"YulExpressionStatement","src":"217324:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217360:4:22","nodeType":"YulLiteral","src":"217360:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"217366:4:22","nodeType":"YulLiteral","src":"217366:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"217353:6:22","nodeType":"YulIdentifier","src":"217353:6:22"},"nativeSrc":"217353:18:22","nodeType":"YulFunctionCall","src":"217353:18:22"},"nativeSrc":"217353:18:22","nodeType":"YulExpressionStatement","src":"217353:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217396:4:22","nodeType":"YulLiteral","src":"217396:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"217402:2:22","nodeType":"YulIdentifier","src":"217402:2:22"}],"functionName":{"name":"writeString","nativeSrc":"217384:11:22","nodeType":"YulIdentifier","src":"217384:11:22"},"nativeSrc":"217384:21:22","nodeType":"YulFunctionCall","src":"217384:21:22"},"nativeSrc":"217384:21:22","nodeType":"YulExpressionStatement","src":"217384:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38231,"isOffset":false,"isSlot":false,"src":"216956:2:22","valueSize":1},{"declaration":38234,"isOffset":false,"isSlot":false,"src":"216986:2:22","valueSize":1},{"declaration":38237,"isOffset":false,"isSlot":false,"src":"217016:2:22","valueSize":1},{"declaration":38240,"isOffset":false,"isSlot":false,"src":"217046:2:22","valueSize":1},{"declaration":38243,"isOffset":false,"isSlot":false,"src":"217076:2:22","valueSize":1},{"declaration":38246,"isOffset":false,"isSlot":false,"src":"217106:2:22","valueSize":1},{"declaration":38249,"isOffset":false,"isSlot":false,"src":"217136:2:22","valueSize":1},{"declaration":38221,"isOffset":false,"isSlot":false,"src":"217279:2:22","valueSize":1},{"declaration":38223,"isOffset":false,"isSlot":false,"src":"217308:2:22","valueSize":1},{"declaration":38225,"isOffset":false,"isSlot":false,"src":"217337:2:22","valueSize":1},{"declaration":38227,"isOffset":false,"isSlot":false,"src":"217402:2:22","valueSize":1}],"id":38251,"nodeType":"InlineAssembly","src":"216578:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217440:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217446:4:22","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":38252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"217424:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"217424:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38256,"nodeType":"ExpressionStatement","src":"217424:27:22"},{"AST":{"nativeSrc":"217513:214:22","nodeType":"YulBlock","src":"217513:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"217534:4:22","nodeType":"YulLiteral","src":"217534:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"217540:2:22","nodeType":"YulIdentifier","src":"217540:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217527:6:22","nodeType":"YulIdentifier","src":"217527:6:22"},"nativeSrc":"217527:16:22","nodeType":"YulFunctionCall","src":"217527:16:22"},"nativeSrc":"217527:16:22","nodeType":"YulExpressionStatement","src":"217527:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217563:4:22","nodeType":"YulLiteral","src":"217563:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"217569:2:22","nodeType":"YulIdentifier","src":"217569:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217556:6:22","nodeType":"YulIdentifier","src":"217556:6:22"},"nativeSrc":"217556:16:22","nodeType":"YulFunctionCall","src":"217556:16:22"},"nativeSrc":"217556:16:22","nodeType":"YulExpressionStatement","src":"217556:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217592:4:22","nodeType":"YulLiteral","src":"217592:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"217598:2:22","nodeType":"YulIdentifier","src":"217598:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217585:6:22","nodeType":"YulIdentifier","src":"217585:6:22"},"nativeSrc":"217585:16:22","nodeType":"YulFunctionCall","src":"217585:16:22"},"nativeSrc":"217585:16:22","nodeType":"YulExpressionStatement","src":"217585:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217621:4:22","nodeType":"YulLiteral","src":"217621:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"217627:2:22","nodeType":"YulIdentifier","src":"217627:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217614:6:22","nodeType":"YulIdentifier","src":"217614:6:22"},"nativeSrc":"217614:16:22","nodeType":"YulFunctionCall","src":"217614:16:22"},"nativeSrc":"217614:16:22","nodeType":"YulExpressionStatement","src":"217614:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217650:4:22","nodeType":"YulLiteral","src":"217650:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"217656:2:22","nodeType":"YulIdentifier","src":"217656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217643:6:22","nodeType":"YulIdentifier","src":"217643:6:22"},"nativeSrc":"217643:16:22","nodeType":"YulFunctionCall","src":"217643:16:22"},"nativeSrc":"217643:16:22","nodeType":"YulExpressionStatement","src":"217643:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217679:4:22","nodeType":"YulLiteral","src":"217679:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"217685:2:22","nodeType":"YulIdentifier","src":"217685:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217672:6:22","nodeType":"YulIdentifier","src":"217672:6:22"},"nativeSrc":"217672:16:22","nodeType":"YulFunctionCall","src":"217672:16:22"},"nativeSrc":"217672:16:22","nodeType":"YulExpressionStatement","src":"217672:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217708:4:22","nodeType":"YulLiteral","src":"217708:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"217714:2:22","nodeType":"YulIdentifier","src":"217714:2:22"}],"functionName":{"name":"mstore","nativeSrc":"217701:6:22","nodeType":"YulIdentifier","src":"217701:6:22"},"nativeSrc":"217701:16:22","nodeType":"YulFunctionCall","src":"217701:16:22"},"nativeSrc":"217701:16:22","nodeType":"YulExpressionStatement","src":"217701:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38231,"isOffset":false,"isSlot":false,"src":"217540:2:22","valueSize":1},{"declaration":38234,"isOffset":false,"isSlot":false,"src":"217569:2:22","valueSize":1},{"declaration":38237,"isOffset":false,"isSlot":false,"src":"217598:2:22","valueSize":1},{"declaration":38240,"isOffset":false,"isSlot":false,"src":"217627:2:22","valueSize":1},{"declaration":38243,"isOffset":false,"isSlot":false,"src":"217656:2:22","valueSize":1},{"declaration":38246,"isOffset":false,"isSlot":false,"src":"217685:2:22","valueSize":1},{"declaration":38249,"isOffset":false,"isSlot":false,"src":"217714:2:22","valueSize":1}],"id":38257,"nodeType":"InlineAssembly","src":"217504:223:22"}]},"id":38259,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"216322:3:22","nodeType":"FunctionDefinition","parameters":{"id":38228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38221,"mutability":"mutable","name":"p0","nameLocation":"216331:2:22","nodeType":"VariableDeclaration","scope":38259,"src":"216326:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38220,"name":"bool","nodeType":"ElementaryTypeName","src":"216326:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38223,"mutability":"mutable","name":"p1","nameLocation":"216343:2:22","nodeType":"VariableDeclaration","scope":38259,"src":"216335:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38222,"name":"uint256","nodeType":"ElementaryTypeName","src":"216335:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38225,"mutability":"mutable","name":"p2","nameLocation":"216355:2:22","nodeType":"VariableDeclaration","scope":38259,"src":"216347:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38224,"name":"uint256","nodeType":"ElementaryTypeName","src":"216347:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38227,"mutability":"mutable","name":"p3","nameLocation":"216367:2:22","nodeType":"VariableDeclaration","scope":38259,"src":"216359:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216359:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"216325:45:22"},"returnParameters":{"id":38229,"nodeType":"ParameterList","parameters":[],"src":"216385:0:22"},"scope":44426,"src":"216313:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38298,"nodeType":"Block","src":"217811:1348:22","statements":[{"assignments":[38271],"declarations":[{"constant":false,"id":38271,"mutability":"mutable","name":"m0","nameLocation":"217829:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217821:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217821:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38272,"nodeType":"VariableDeclarationStatement","src":"217821:10:22"},{"assignments":[38274],"declarations":[{"constant":false,"id":38274,"mutability":"mutable","name":"m1","nameLocation":"217849:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217841:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217841:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38275,"nodeType":"VariableDeclarationStatement","src":"217841:10:22"},{"assignments":[38277],"declarations":[{"constant":false,"id":38277,"mutability":"mutable","name":"m2","nameLocation":"217869:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217861:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217861:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38278,"nodeType":"VariableDeclarationStatement","src":"217861:10:22"},{"assignments":[38280],"declarations":[{"constant":false,"id":38280,"mutability":"mutable","name":"m3","nameLocation":"217889:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217881:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217881:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38281,"nodeType":"VariableDeclarationStatement","src":"217881:10:22"},{"assignments":[38283],"declarations":[{"constant":false,"id":38283,"mutability":"mutable","name":"m4","nameLocation":"217909:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217901:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217901:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38284,"nodeType":"VariableDeclarationStatement","src":"217901:10:22"},{"assignments":[38286],"declarations":[{"constant":false,"id":38286,"mutability":"mutable","name":"m5","nameLocation":"217929:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217921:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217921:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38287,"nodeType":"VariableDeclarationStatement","src":"217921:10:22"},{"assignments":[38289],"declarations":[{"constant":false,"id":38289,"mutability":"mutable","name":"m6","nameLocation":"217949:2:22","nodeType":"VariableDeclaration","scope":38298,"src":"217941:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217941:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38290,"nodeType":"VariableDeclarationStatement","src":"217941:10:22"},{"AST":{"nativeSrc":"218013:828:22","nodeType":"YulBlock","src":"218013:828:22","statements":[{"body":{"nativeSrc":"218056:313:22","nodeType":"YulBlock","src":"218056:313:22","statements":[{"nativeSrc":"218074:15:22","nodeType":"YulVariableDeclaration","src":"218074:15:22","value":{"kind":"number","nativeSrc":"218088:1:22","nodeType":"YulLiteral","src":"218088:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"218078:6:22","nodeType":"YulTypedName","src":"218078:6:22","type":""}]},{"body":{"nativeSrc":"218159:40:22","nodeType":"YulBlock","src":"218159:40:22","statements":[{"body":{"nativeSrc":"218188:9:22","nodeType":"YulBlock","src":"218188:9:22","statements":[{"nativeSrc":"218190:5:22","nodeType":"YulBreak","src":"218190:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"218176:6:22","nodeType":"YulIdentifier","src":"218176:6:22"},{"name":"w","nativeSrc":"218184:1:22","nodeType":"YulIdentifier","src":"218184:1:22"}],"functionName":{"name":"byte","nativeSrc":"218171:4:22","nodeType":"YulIdentifier","src":"218171:4:22"},"nativeSrc":"218171:15:22","nodeType":"YulFunctionCall","src":"218171:15:22"}],"functionName":{"name":"iszero","nativeSrc":"218164:6:22","nodeType":"YulIdentifier","src":"218164:6:22"},"nativeSrc":"218164:23:22","nodeType":"YulFunctionCall","src":"218164:23:22"},"nativeSrc":"218161:36:22","nodeType":"YulIf","src":"218161:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"218116:6:22","nodeType":"YulIdentifier","src":"218116:6:22"},{"kind":"number","nativeSrc":"218124:4:22","nodeType":"YulLiteral","src":"218124:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"218113:2:22","nodeType":"YulIdentifier","src":"218113:2:22"},"nativeSrc":"218113:16:22","nodeType":"YulFunctionCall","src":"218113:16:22"},"nativeSrc":"218106:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"218130:28:22","nodeType":"YulBlock","src":"218130:28:22","statements":[{"nativeSrc":"218132:24:22","nodeType":"YulAssignment","src":"218132:24:22","value":{"arguments":[{"name":"length","nativeSrc":"218146:6:22","nodeType":"YulIdentifier","src":"218146:6:22"},{"kind":"number","nativeSrc":"218154:1:22","nodeType":"YulLiteral","src":"218154:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"218142:3:22","nodeType":"YulIdentifier","src":"218142:3:22"},"nativeSrc":"218142:14:22","nodeType":"YulFunctionCall","src":"218142:14:22"},"variableNames":[{"name":"length","nativeSrc":"218132:6:22","nodeType":"YulIdentifier","src":"218132:6:22"}]}]},"pre":{"nativeSrc":"218110:2:22","nodeType":"YulBlock","src":"218110:2:22","statements":[]},"src":"218106:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"218223:3:22","nodeType":"YulIdentifier","src":"218223:3:22"},{"name":"length","nativeSrc":"218228:6:22","nodeType":"YulIdentifier","src":"218228:6:22"}],"functionName":{"name":"mstore","nativeSrc":"218216:6:22","nodeType":"YulIdentifier","src":"218216:6:22"},"nativeSrc":"218216:19:22","nodeType":"YulFunctionCall","src":"218216:19:22"},"nativeSrc":"218216:19:22","nodeType":"YulExpressionStatement","src":"218216:19:22"},{"nativeSrc":"218252:37:22","nodeType":"YulVariableDeclaration","src":"218252:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"218269:3:22","nodeType":"YulLiteral","src":"218269:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"218278:1:22","nodeType":"YulLiteral","src":"218278:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"218281:6:22","nodeType":"YulIdentifier","src":"218281:6:22"}],"functionName":{"name":"shl","nativeSrc":"218274:3:22","nodeType":"YulIdentifier","src":"218274:3:22"},"nativeSrc":"218274:14:22","nodeType":"YulFunctionCall","src":"218274:14:22"}],"functionName":{"name":"sub","nativeSrc":"218265:3:22","nodeType":"YulIdentifier","src":"218265:3:22"},"nativeSrc":"218265:24:22","nodeType":"YulFunctionCall","src":"218265:24:22"},"variables":[{"name":"shift","nativeSrc":"218256:5:22","nodeType":"YulTypedName","src":"218256:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"218317:3:22","nodeType":"YulIdentifier","src":"218317:3:22"},{"kind":"number","nativeSrc":"218322:4:22","nodeType":"YulLiteral","src":"218322:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"218313:3:22","nodeType":"YulIdentifier","src":"218313:3:22"},"nativeSrc":"218313:14:22","nodeType":"YulFunctionCall","src":"218313:14:22"},{"arguments":[{"name":"shift","nativeSrc":"218333:5:22","nodeType":"YulIdentifier","src":"218333:5:22"},{"arguments":[{"name":"shift","nativeSrc":"218344:5:22","nodeType":"YulIdentifier","src":"218344:5:22"},{"name":"w","nativeSrc":"218351:1:22","nodeType":"YulIdentifier","src":"218351:1:22"}],"functionName":{"name":"shr","nativeSrc":"218340:3:22","nodeType":"YulIdentifier","src":"218340:3:22"},"nativeSrc":"218340:13:22","nodeType":"YulFunctionCall","src":"218340:13:22"}],"functionName":{"name":"shl","nativeSrc":"218329:3:22","nodeType":"YulIdentifier","src":"218329:3:22"},"nativeSrc":"218329:25:22","nodeType":"YulFunctionCall","src":"218329:25:22"}],"functionName":{"name":"mstore","nativeSrc":"218306:6:22","nodeType":"YulIdentifier","src":"218306:6:22"},"nativeSrc":"218306:49:22","nodeType":"YulFunctionCall","src":"218306:49:22"},"nativeSrc":"218306:49:22","nodeType":"YulExpressionStatement","src":"218306:49:22"}]},"name":"writeString","nativeSrc":"218027:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"218048:3:22","nodeType":"YulTypedName","src":"218048:3:22","type":""},{"name":"w","nativeSrc":"218053:1:22","nodeType":"YulTypedName","src":"218053:1:22","type":""}],"src":"218027:342:22"},{"nativeSrc":"218382:17:22","nodeType":"YulAssignment","src":"218382:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218394:4:22","nodeType":"YulLiteral","src":"218394:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"218388:5:22","nodeType":"YulIdentifier","src":"218388:5:22"},"nativeSrc":"218388:11:22","nodeType":"YulFunctionCall","src":"218388:11:22"},"variableNames":[{"name":"m0","nativeSrc":"218382:2:22","nodeType":"YulIdentifier","src":"218382:2:22"}]},{"nativeSrc":"218412:17:22","nodeType":"YulAssignment","src":"218412:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218424:4:22","nodeType":"YulLiteral","src":"218424:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"218418:5:22","nodeType":"YulIdentifier","src":"218418:5:22"},"nativeSrc":"218418:11:22","nodeType":"YulFunctionCall","src":"218418:11:22"},"variableNames":[{"name":"m1","nativeSrc":"218412:2:22","nodeType":"YulIdentifier","src":"218412:2:22"}]},{"nativeSrc":"218442:17:22","nodeType":"YulAssignment","src":"218442:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218454:4:22","nodeType":"YulLiteral","src":"218454:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"218448:5:22","nodeType":"YulIdentifier","src":"218448:5:22"},"nativeSrc":"218448:11:22","nodeType":"YulFunctionCall","src":"218448:11:22"},"variableNames":[{"name":"m2","nativeSrc":"218442:2:22","nodeType":"YulIdentifier","src":"218442:2:22"}]},{"nativeSrc":"218472:17:22","nodeType":"YulAssignment","src":"218472:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218484:4:22","nodeType":"YulLiteral","src":"218484:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"218478:5:22","nodeType":"YulIdentifier","src":"218478:5:22"},"nativeSrc":"218478:11:22","nodeType":"YulFunctionCall","src":"218478:11:22"},"variableNames":[{"name":"m3","nativeSrc":"218472:2:22","nodeType":"YulIdentifier","src":"218472:2:22"}]},{"nativeSrc":"218502:17:22","nodeType":"YulAssignment","src":"218502:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218514:4:22","nodeType":"YulLiteral","src":"218514:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"218508:5:22","nodeType":"YulIdentifier","src":"218508:5:22"},"nativeSrc":"218508:11:22","nodeType":"YulFunctionCall","src":"218508:11:22"},"variableNames":[{"name":"m4","nativeSrc":"218502:2:22","nodeType":"YulIdentifier","src":"218502:2:22"}]},{"nativeSrc":"218532:17:22","nodeType":"YulAssignment","src":"218532:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218544:4:22","nodeType":"YulLiteral","src":"218544:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"218538:5:22","nodeType":"YulIdentifier","src":"218538:5:22"},"nativeSrc":"218538:11:22","nodeType":"YulFunctionCall","src":"218538:11:22"},"variableNames":[{"name":"m5","nativeSrc":"218532:2:22","nodeType":"YulIdentifier","src":"218532:2:22"}]},{"nativeSrc":"218562:17:22","nodeType":"YulAssignment","src":"218562:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"218574:4:22","nodeType":"YulLiteral","src":"218574:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"218568:5:22","nodeType":"YulIdentifier","src":"218568:5:22"},"nativeSrc":"218568:11:22","nodeType":"YulFunctionCall","src":"218568:11:22"},"variableNames":[{"name":"m6","nativeSrc":"218562:2:22","nodeType":"YulIdentifier","src":"218562:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218662:4:22","nodeType":"YulLiteral","src":"218662:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"218668:10:22","nodeType":"YulLiteral","src":"218668:10:22","type":"","value":"0xfedd1fff"}],"functionName":{"name":"mstore","nativeSrc":"218655:6:22","nodeType":"YulIdentifier","src":"218655:6:22"},"nativeSrc":"218655:24:22","nodeType":"YulFunctionCall","src":"218655:24:22"},"nativeSrc":"218655:24:22","nodeType":"YulExpressionStatement","src":"218655:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218699:4:22","nodeType":"YulLiteral","src":"218699:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"218705:2:22","nodeType":"YulIdentifier","src":"218705:2:22"}],"functionName":{"name":"mstore","nativeSrc":"218692:6:22","nodeType":"YulIdentifier","src":"218692:6:22"},"nativeSrc":"218692:16:22","nodeType":"YulFunctionCall","src":"218692:16:22"},"nativeSrc":"218692:16:22","nodeType":"YulExpressionStatement","src":"218692:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218728:4:22","nodeType":"YulLiteral","src":"218728:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"218734:2:22","nodeType":"YulIdentifier","src":"218734:2:22"}],"functionName":{"name":"mstore","nativeSrc":"218721:6:22","nodeType":"YulIdentifier","src":"218721:6:22"},"nativeSrc":"218721:16:22","nodeType":"YulFunctionCall","src":"218721:16:22"},"nativeSrc":"218721:16:22","nodeType":"YulExpressionStatement","src":"218721:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218757:4:22","nodeType":"YulLiteral","src":"218757:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"218763:4:22","nodeType":"YulLiteral","src":"218763:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"218750:6:22","nodeType":"YulIdentifier","src":"218750:6:22"},"nativeSrc":"218750:18:22","nodeType":"YulFunctionCall","src":"218750:18:22"},"nativeSrc":"218750:18:22","nodeType":"YulExpressionStatement","src":"218750:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218788:4:22","nodeType":"YulLiteral","src":"218788:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"218794:2:22","nodeType":"YulIdentifier","src":"218794:2:22"}],"functionName":{"name":"mstore","nativeSrc":"218781:6:22","nodeType":"YulIdentifier","src":"218781:6:22"},"nativeSrc":"218781:16:22","nodeType":"YulFunctionCall","src":"218781:16:22"},"nativeSrc":"218781:16:22","nodeType":"YulExpressionStatement","src":"218781:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218822:4:22","nodeType":"YulLiteral","src":"218822:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"218828:2:22","nodeType":"YulIdentifier","src":"218828:2:22"}],"functionName":{"name":"writeString","nativeSrc":"218810:11:22","nodeType":"YulIdentifier","src":"218810:11:22"},"nativeSrc":"218810:21:22","nodeType":"YulFunctionCall","src":"218810:21:22"},"nativeSrc":"218810:21:22","nodeType":"YulExpressionStatement","src":"218810:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38271,"isOffset":false,"isSlot":false,"src":"218382:2:22","valueSize":1},{"declaration":38274,"isOffset":false,"isSlot":false,"src":"218412:2:22","valueSize":1},{"declaration":38277,"isOffset":false,"isSlot":false,"src":"218442:2:22","valueSize":1},{"declaration":38280,"isOffset":false,"isSlot":false,"src":"218472:2:22","valueSize":1},{"declaration":38283,"isOffset":false,"isSlot":false,"src":"218502:2:22","valueSize":1},{"declaration":38286,"isOffset":false,"isSlot":false,"src":"218532:2:22","valueSize":1},{"declaration":38289,"isOffset":false,"isSlot":false,"src":"218562:2:22","valueSize":1},{"declaration":38261,"isOffset":false,"isSlot":false,"src":"218705:2:22","valueSize":1},{"declaration":38263,"isOffset":false,"isSlot":false,"src":"218734:2:22","valueSize":1},{"declaration":38265,"isOffset":false,"isSlot":false,"src":"218828:2:22","valueSize":1},{"declaration":38267,"isOffset":false,"isSlot":false,"src":"218794:2:22","valueSize":1}],"id":38291,"nodeType":"InlineAssembly","src":"218004:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218866:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218872:4:22","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":38292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"218850:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"218850:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38296,"nodeType":"ExpressionStatement","src":"218850:27:22"},{"AST":{"nativeSrc":"218939:214:22","nodeType":"YulBlock","src":"218939:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"218960:4:22","nodeType":"YulLiteral","src":"218960:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"218966:2:22","nodeType":"YulIdentifier","src":"218966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"218953:6:22","nodeType":"YulIdentifier","src":"218953:6:22"},"nativeSrc":"218953:16:22","nodeType":"YulFunctionCall","src":"218953:16:22"},"nativeSrc":"218953:16:22","nodeType":"YulExpressionStatement","src":"218953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218989:4:22","nodeType":"YulLiteral","src":"218989:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"218995:2:22","nodeType":"YulIdentifier","src":"218995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"218982:6:22","nodeType":"YulIdentifier","src":"218982:6:22"},"nativeSrc":"218982:16:22","nodeType":"YulFunctionCall","src":"218982:16:22"},"nativeSrc":"218982:16:22","nodeType":"YulExpressionStatement","src":"218982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219018:4:22","nodeType":"YulLiteral","src":"219018:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"219024:2:22","nodeType":"YulIdentifier","src":"219024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"219011:6:22","nodeType":"YulIdentifier","src":"219011:6:22"},"nativeSrc":"219011:16:22","nodeType":"YulFunctionCall","src":"219011:16:22"},"nativeSrc":"219011:16:22","nodeType":"YulExpressionStatement","src":"219011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219047:4:22","nodeType":"YulLiteral","src":"219047:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"219053:2:22","nodeType":"YulIdentifier","src":"219053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"219040:6:22","nodeType":"YulIdentifier","src":"219040:6:22"},"nativeSrc":"219040:16:22","nodeType":"YulFunctionCall","src":"219040:16:22"},"nativeSrc":"219040:16:22","nodeType":"YulExpressionStatement","src":"219040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219076:4:22","nodeType":"YulLiteral","src":"219076:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"219082:2:22","nodeType":"YulIdentifier","src":"219082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"219069:6:22","nodeType":"YulIdentifier","src":"219069:6:22"},"nativeSrc":"219069:16:22","nodeType":"YulFunctionCall","src":"219069:16:22"},"nativeSrc":"219069:16:22","nodeType":"YulExpressionStatement","src":"219069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219105:4:22","nodeType":"YulLiteral","src":"219105:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"219111:2:22","nodeType":"YulIdentifier","src":"219111:2:22"}],"functionName":{"name":"mstore","nativeSrc":"219098:6:22","nodeType":"YulIdentifier","src":"219098:6:22"},"nativeSrc":"219098:16:22","nodeType":"YulFunctionCall","src":"219098:16:22"},"nativeSrc":"219098:16:22","nodeType":"YulExpressionStatement","src":"219098:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219134:4:22","nodeType":"YulLiteral","src":"219134:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"219140:2:22","nodeType":"YulIdentifier","src":"219140:2:22"}],"functionName":{"name":"mstore","nativeSrc":"219127:6:22","nodeType":"YulIdentifier","src":"219127:6:22"},"nativeSrc":"219127:16:22","nodeType":"YulFunctionCall","src":"219127:16:22"},"nativeSrc":"219127:16:22","nodeType":"YulExpressionStatement","src":"219127:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38271,"isOffset":false,"isSlot":false,"src":"218966:2:22","valueSize":1},{"declaration":38274,"isOffset":false,"isSlot":false,"src":"218995:2:22","valueSize":1},{"declaration":38277,"isOffset":false,"isSlot":false,"src":"219024:2:22","valueSize":1},{"declaration":38280,"isOffset":false,"isSlot":false,"src":"219053:2:22","valueSize":1},{"declaration":38283,"isOffset":false,"isSlot":false,"src":"219082:2:22","valueSize":1},{"declaration":38286,"isOffset":false,"isSlot":false,"src":"219111:2:22","valueSize":1},{"declaration":38289,"isOffset":false,"isSlot":false,"src":"219140:2:22","valueSize":1}],"id":38297,"nodeType":"InlineAssembly","src":"218930:223:22"}]},"id":38299,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"217748:3:22","nodeType":"FunctionDefinition","parameters":{"id":38268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38261,"mutability":"mutable","name":"p0","nameLocation":"217757:2:22","nodeType":"VariableDeclaration","scope":38299,"src":"217752:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38260,"name":"bool","nodeType":"ElementaryTypeName","src":"217752:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38263,"mutability":"mutable","name":"p1","nameLocation":"217769:2:22","nodeType":"VariableDeclaration","scope":38299,"src":"217761:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38262,"name":"uint256","nodeType":"ElementaryTypeName","src":"217761:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38265,"mutability":"mutable","name":"p2","nameLocation":"217781:2:22","nodeType":"VariableDeclaration","scope":38299,"src":"217773:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217773:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38267,"mutability":"mutable","name":"p3","nameLocation":"217793:2:22","nodeType":"VariableDeclaration","scope":38299,"src":"217785:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38266,"name":"address","nodeType":"ElementaryTypeName","src":"217785:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"217751:45:22"},"returnParameters":{"id":38269,"nodeType":"ParameterList","parameters":[],"src":"217811:0:22"},"scope":44426,"src":"217739:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38338,"nodeType":"Block","src":"219234:1345:22","statements":[{"assignments":[38311],"declarations":[{"constant":false,"id":38311,"mutability":"mutable","name":"m0","nameLocation":"219252:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219244:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219244:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38312,"nodeType":"VariableDeclarationStatement","src":"219244:10:22"},{"assignments":[38314],"declarations":[{"constant":false,"id":38314,"mutability":"mutable","name":"m1","nameLocation":"219272:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219264:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219264:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38315,"nodeType":"VariableDeclarationStatement","src":"219264:10:22"},{"assignments":[38317],"declarations":[{"constant":false,"id":38317,"mutability":"mutable","name":"m2","nameLocation":"219292:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219284:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219284:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38318,"nodeType":"VariableDeclarationStatement","src":"219284:10:22"},{"assignments":[38320],"declarations":[{"constant":false,"id":38320,"mutability":"mutable","name":"m3","nameLocation":"219312:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219304:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219304:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38321,"nodeType":"VariableDeclarationStatement","src":"219304:10:22"},{"assignments":[38323],"declarations":[{"constant":false,"id":38323,"mutability":"mutable","name":"m4","nameLocation":"219332:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219324:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219324:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38324,"nodeType":"VariableDeclarationStatement","src":"219324:10:22"},{"assignments":[38326],"declarations":[{"constant":false,"id":38326,"mutability":"mutable","name":"m5","nameLocation":"219352:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219344:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219344:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38327,"nodeType":"VariableDeclarationStatement","src":"219344:10:22"},{"assignments":[38329],"declarations":[{"constant":false,"id":38329,"mutability":"mutable","name":"m6","nameLocation":"219372:2:22","nodeType":"VariableDeclaration","scope":38338,"src":"219364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219364:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38330,"nodeType":"VariableDeclarationStatement","src":"219364:10:22"},{"AST":{"nativeSrc":"219436:825:22","nodeType":"YulBlock","src":"219436:825:22","statements":[{"body":{"nativeSrc":"219479:313:22","nodeType":"YulBlock","src":"219479:313:22","statements":[{"nativeSrc":"219497:15:22","nodeType":"YulVariableDeclaration","src":"219497:15:22","value":{"kind":"number","nativeSrc":"219511:1:22","nodeType":"YulLiteral","src":"219511:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"219501:6:22","nodeType":"YulTypedName","src":"219501:6:22","type":""}]},{"body":{"nativeSrc":"219582:40:22","nodeType":"YulBlock","src":"219582:40:22","statements":[{"body":{"nativeSrc":"219611:9:22","nodeType":"YulBlock","src":"219611:9:22","statements":[{"nativeSrc":"219613:5:22","nodeType":"YulBreak","src":"219613:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"219599:6:22","nodeType":"YulIdentifier","src":"219599:6:22"},{"name":"w","nativeSrc":"219607:1:22","nodeType":"YulIdentifier","src":"219607:1:22"}],"functionName":{"name":"byte","nativeSrc":"219594:4:22","nodeType":"YulIdentifier","src":"219594:4:22"},"nativeSrc":"219594:15:22","nodeType":"YulFunctionCall","src":"219594:15:22"}],"functionName":{"name":"iszero","nativeSrc":"219587:6:22","nodeType":"YulIdentifier","src":"219587:6:22"},"nativeSrc":"219587:23:22","nodeType":"YulFunctionCall","src":"219587:23:22"},"nativeSrc":"219584:36:22","nodeType":"YulIf","src":"219584:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"219539:6:22","nodeType":"YulIdentifier","src":"219539:6:22"},{"kind":"number","nativeSrc":"219547:4:22","nodeType":"YulLiteral","src":"219547:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"219536:2:22","nodeType":"YulIdentifier","src":"219536:2:22"},"nativeSrc":"219536:16:22","nodeType":"YulFunctionCall","src":"219536:16:22"},"nativeSrc":"219529:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"219553:28:22","nodeType":"YulBlock","src":"219553:28:22","statements":[{"nativeSrc":"219555:24:22","nodeType":"YulAssignment","src":"219555:24:22","value":{"arguments":[{"name":"length","nativeSrc":"219569:6:22","nodeType":"YulIdentifier","src":"219569:6:22"},{"kind":"number","nativeSrc":"219577:1:22","nodeType":"YulLiteral","src":"219577:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"219565:3:22","nodeType":"YulIdentifier","src":"219565:3:22"},"nativeSrc":"219565:14:22","nodeType":"YulFunctionCall","src":"219565:14:22"},"variableNames":[{"name":"length","nativeSrc":"219555:6:22","nodeType":"YulIdentifier","src":"219555:6:22"}]}]},"pre":{"nativeSrc":"219533:2:22","nodeType":"YulBlock","src":"219533:2:22","statements":[]},"src":"219529:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"219646:3:22","nodeType":"YulIdentifier","src":"219646:3:22"},{"name":"length","nativeSrc":"219651:6:22","nodeType":"YulIdentifier","src":"219651:6:22"}],"functionName":{"name":"mstore","nativeSrc":"219639:6:22","nodeType":"YulIdentifier","src":"219639:6:22"},"nativeSrc":"219639:19:22","nodeType":"YulFunctionCall","src":"219639:19:22"},"nativeSrc":"219639:19:22","nodeType":"YulExpressionStatement","src":"219639:19:22"},{"nativeSrc":"219675:37:22","nodeType":"YulVariableDeclaration","src":"219675:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"219692:3:22","nodeType":"YulLiteral","src":"219692:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"219701:1:22","nodeType":"YulLiteral","src":"219701:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"219704:6:22","nodeType":"YulIdentifier","src":"219704:6:22"}],"functionName":{"name":"shl","nativeSrc":"219697:3:22","nodeType":"YulIdentifier","src":"219697:3:22"},"nativeSrc":"219697:14:22","nodeType":"YulFunctionCall","src":"219697:14:22"}],"functionName":{"name":"sub","nativeSrc":"219688:3:22","nodeType":"YulIdentifier","src":"219688:3:22"},"nativeSrc":"219688:24:22","nodeType":"YulFunctionCall","src":"219688:24:22"},"variables":[{"name":"shift","nativeSrc":"219679:5:22","nodeType":"YulTypedName","src":"219679:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"219740:3:22","nodeType":"YulIdentifier","src":"219740:3:22"},{"kind":"number","nativeSrc":"219745:4:22","nodeType":"YulLiteral","src":"219745:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"219736:3:22","nodeType":"YulIdentifier","src":"219736:3:22"},"nativeSrc":"219736:14:22","nodeType":"YulFunctionCall","src":"219736:14:22"},{"arguments":[{"name":"shift","nativeSrc":"219756:5:22","nodeType":"YulIdentifier","src":"219756:5:22"},{"arguments":[{"name":"shift","nativeSrc":"219767:5:22","nodeType":"YulIdentifier","src":"219767:5:22"},{"name":"w","nativeSrc":"219774:1:22","nodeType":"YulIdentifier","src":"219774:1:22"}],"functionName":{"name":"shr","nativeSrc":"219763:3:22","nodeType":"YulIdentifier","src":"219763:3:22"},"nativeSrc":"219763:13:22","nodeType":"YulFunctionCall","src":"219763:13:22"}],"functionName":{"name":"shl","nativeSrc":"219752:3:22","nodeType":"YulIdentifier","src":"219752:3:22"},"nativeSrc":"219752:25:22","nodeType":"YulFunctionCall","src":"219752:25:22"}],"functionName":{"name":"mstore","nativeSrc":"219729:6:22","nodeType":"YulIdentifier","src":"219729:6:22"},"nativeSrc":"219729:49:22","nodeType":"YulFunctionCall","src":"219729:49:22"},"nativeSrc":"219729:49:22","nodeType":"YulExpressionStatement","src":"219729:49:22"}]},"name":"writeString","nativeSrc":"219450:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"219471:3:22","nodeType":"YulTypedName","src":"219471:3:22","type":""},{"name":"w","nativeSrc":"219476:1:22","nodeType":"YulTypedName","src":"219476:1:22","type":""}],"src":"219450:342:22"},{"nativeSrc":"219805:17:22","nodeType":"YulAssignment","src":"219805:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219817:4:22","nodeType":"YulLiteral","src":"219817:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"219811:5:22","nodeType":"YulIdentifier","src":"219811:5:22"},"nativeSrc":"219811:11:22","nodeType":"YulFunctionCall","src":"219811:11:22"},"variableNames":[{"name":"m0","nativeSrc":"219805:2:22","nodeType":"YulIdentifier","src":"219805:2:22"}]},{"nativeSrc":"219835:17:22","nodeType":"YulAssignment","src":"219835:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219847:4:22","nodeType":"YulLiteral","src":"219847:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"219841:5:22","nodeType":"YulIdentifier","src":"219841:5:22"},"nativeSrc":"219841:11:22","nodeType":"YulFunctionCall","src":"219841:11:22"},"variableNames":[{"name":"m1","nativeSrc":"219835:2:22","nodeType":"YulIdentifier","src":"219835:2:22"}]},{"nativeSrc":"219865:17:22","nodeType":"YulAssignment","src":"219865:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219877:4:22","nodeType":"YulLiteral","src":"219877:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"219871:5:22","nodeType":"YulIdentifier","src":"219871:5:22"},"nativeSrc":"219871:11:22","nodeType":"YulFunctionCall","src":"219871:11:22"},"variableNames":[{"name":"m2","nativeSrc":"219865:2:22","nodeType":"YulIdentifier","src":"219865:2:22"}]},{"nativeSrc":"219895:17:22","nodeType":"YulAssignment","src":"219895:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219907:4:22","nodeType":"YulLiteral","src":"219907:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"219901:5:22","nodeType":"YulIdentifier","src":"219901:5:22"},"nativeSrc":"219901:11:22","nodeType":"YulFunctionCall","src":"219901:11:22"},"variableNames":[{"name":"m3","nativeSrc":"219895:2:22","nodeType":"YulIdentifier","src":"219895:2:22"}]},{"nativeSrc":"219925:17:22","nodeType":"YulAssignment","src":"219925:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219937:4:22","nodeType":"YulLiteral","src":"219937:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"219931:5:22","nodeType":"YulIdentifier","src":"219931:5:22"},"nativeSrc":"219931:11:22","nodeType":"YulFunctionCall","src":"219931:11:22"},"variableNames":[{"name":"m4","nativeSrc":"219925:2:22","nodeType":"YulIdentifier","src":"219925:2:22"}]},{"nativeSrc":"219955:17:22","nodeType":"YulAssignment","src":"219955:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219967:4:22","nodeType":"YulLiteral","src":"219967:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"219961:5:22","nodeType":"YulIdentifier","src":"219961:5:22"},"nativeSrc":"219961:11:22","nodeType":"YulFunctionCall","src":"219961:11:22"},"variableNames":[{"name":"m5","nativeSrc":"219955:2:22","nodeType":"YulIdentifier","src":"219955:2:22"}]},{"nativeSrc":"219985:17:22","nodeType":"YulAssignment","src":"219985:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"219997:4:22","nodeType":"YulLiteral","src":"219997:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"219991:5:22","nodeType":"YulIdentifier","src":"219991:5:22"},"nativeSrc":"219991:11:22","nodeType":"YulFunctionCall","src":"219991:11:22"},"variableNames":[{"name":"m6","nativeSrc":"219985:2:22","nodeType":"YulIdentifier","src":"219985:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220082:4:22","nodeType":"YulLiteral","src":"220082:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"220088:10:22","nodeType":"YulLiteral","src":"220088:10:22","type":"","value":"0xe5e70b2b"}],"functionName":{"name":"mstore","nativeSrc":"220075:6:22","nodeType":"YulIdentifier","src":"220075:6:22"},"nativeSrc":"220075:24:22","nodeType":"YulFunctionCall","src":"220075:24:22"},"nativeSrc":"220075:24:22","nodeType":"YulExpressionStatement","src":"220075:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220119:4:22","nodeType":"YulLiteral","src":"220119:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"220125:2:22","nodeType":"YulIdentifier","src":"220125:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220112:6:22","nodeType":"YulIdentifier","src":"220112:6:22"},"nativeSrc":"220112:16:22","nodeType":"YulFunctionCall","src":"220112:16:22"},"nativeSrc":"220112:16:22","nodeType":"YulExpressionStatement","src":"220112:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220148:4:22","nodeType":"YulLiteral","src":"220148:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"220154:2:22","nodeType":"YulIdentifier","src":"220154:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220141:6:22","nodeType":"YulIdentifier","src":"220141:6:22"},"nativeSrc":"220141:16:22","nodeType":"YulFunctionCall","src":"220141:16:22"},"nativeSrc":"220141:16:22","nodeType":"YulExpressionStatement","src":"220141:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220177:4:22","nodeType":"YulLiteral","src":"220177:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"220183:4:22","nodeType":"YulLiteral","src":"220183:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"220170:6:22","nodeType":"YulIdentifier","src":"220170:6:22"},"nativeSrc":"220170:18:22","nodeType":"YulFunctionCall","src":"220170:18:22"},"nativeSrc":"220170:18:22","nodeType":"YulExpressionStatement","src":"220170:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220208:4:22","nodeType":"YulLiteral","src":"220208:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"220214:2:22","nodeType":"YulIdentifier","src":"220214:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220201:6:22","nodeType":"YulIdentifier","src":"220201:6:22"},"nativeSrc":"220201:16:22","nodeType":"YulFunctionCall","src":"220201:16:22"},"nativeSrc":"220201:16:22","nodeType":"YulExpressionStatement","src":"220201:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220242:4:22","nodeType":"YulLiteral","src":"220242:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"220248:2:22","nodeType":"YulIdentifier","src":"220248:2:22"}],"functionName":{"name":"writeString","nativeSrc":"220230:11:22","nodeType":"YulIdentifier","src":"220230:11:22"},"nativeSrc":"220230:21:22","nodeType":"YulFunctionCall","src":"220230:21:22"},"nativeSrc":"220230:21:22","nodeType":"YulExpressionStatement","src":"220230:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38311,"isOffset":false,"isSlot":false,"src":"219805:2:22","valueSize":1},{"declaration":38314,"isOffset":false,"isSlot":false,"src":"219835:2:22","valueSize":1},{"declaration":38317,"isOffset":false,"isSlot":false,"src":"219865:2:22","valueSize":1},{"declaration":38320,"isOffset":false,"isSlot":false,"src":"219895:2:22","valueSize":1},{"declaration":38323,"isOffset":false,"isSlot":false,"src":"219925:2:22","valueSize":1},{"declaration":38326,"isOffset":false,"isSlot":false,"src":"219955:2:22","valueSize":1},{"declaration":38329,"isOffset":false,"isSlot":false,"src":"219985:2:22","valueSize":1},{"declaration":38301,"isOffset":false,"isSlot":false,"src":"220125:2:22","valueSize":1},{"declaration":38303,"isOffset":false,"isSlot":false,"src":"220154:2:22","valueSize":1},{"declaration":38305,"isOffset":false,"isSlot":false,"src":"220248:2:22","valueSize":1},{"declaration":38307,"isOffset":false,"isSlot":false,"src":"220214:2:22","valueSize":1}],"id":38331,"nodeType":"InlineAssembly","src":"219427:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220286:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220292:4:22","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":38332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"220270:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"220270:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38336,"nodeType":"ExpressionStatement","src":"220270:27:22"},{"AST":{"nativeSrc":"220359:214:22","nodeType":"YulBlock","src":"220359:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"220380:4:22","nodeType":"YulLiteral","src":"220380:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"220386:2:22","nodeType":"YulIdentifier","src":"220386:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220373:6:22","nodeType":"YulIdentifier","src":"220373:6:22"},"nativeSrc":"220373:16:22","nodeType":"YulFunctionCall","src":"220373:16:22"},"nativeSrc":"220373:16:22","nodeType":"YulExpressionStatement","src":"220373:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220409:4:22","nodeType":"YulLiteral","src":"220409:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"220415:2:22","nodeType":"YulIdentifier","src":"220415:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220402:6:22","nodeType":"YulIdentifier","src":"220402:6:22"},"nativeSrc":"220402:16:22","nodeType":"YulFunctionCall","src":"220402:16:22"},"nativeSrc":"220402:16:22","nodeType":"YulExpressionStatement","src":"220402:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220438:4:22","nodeType":"YulLiteral","src":"220438:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"220444:2:22","nodeType":"YulIdentifier","src":"220444:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220431:6:22","nodeType":"YulIdentifier","src":"220431:6:22"},"nativeSrc":"220431:16:22","nodeType":"YulFunctionCall","src":"220431:16:22"},"nativeSrc":"220431:16:22","nodeType":"YulExpressionStatement","src":"220431:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220467:4:22","nodeType":"YulLiteral","src":"220467:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"220473:2:22","nodeType":"YulIdentifier","src":"220473:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220460:6:22","nodeType":"YulIdentifier","src":"220460:6:22"},"nativeSrc":"220460:16:22","nodeType":"YulFunctionCall","src":"220460:16:22"},"nativeSrc":"220460:16:22","nodeType":"YulExpressionStatement","src":"220460:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220496:4:22","nodeType":"YulLiteral","src":"220496:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"220502:2:22","nodeType":"YulIdentifier","src":"220502:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220489:6:22","nodeType":"YulIdentifier","src":"220489:6:22"},"nativeSrc":"220489:16:22","nodeType":"YulFunctionCall","src":"220489:16:22"},"nativeSrc":"220489:16:22","nodeType":"YulExpressionStatement","src":"220489:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220525:4:22","nodeType":"YulLiteral","src":"220525:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"220531:2:22","nodeType":"YulIdentifier","src":"220531:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220518:6:22","nodeType":"YulIdentifier","src":"220518:6:22"},"nativeSrc":"220518:16:22","nodeType":"YulFunctionCall","src":"220518:16:22"},"nativeSrc":"220518:16:22","nodeType":"YulExpressionStatement","src":"220518:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220554:4:22","nodeType":"YulLiteral","src":"220554:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"220560:2:22","nodeType":"YulIdentifier","src":"220560:2:22"}],"functionName":{"name":"mstore","nativeSrc":"220547:6:22","nodeType":"YulIdentifier","src":"220547:6:22"},"nativeSrc":"220547:16:22","nodeType":"YulFunctionCall","src":"220547:16:22"},"nativeSrc":"220547:16:22","nodeType":"YulExpressionStatement","src":"220547:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38311,"isOffset":false,"isSlot":false,"src":"220386:2:22","valueSize":1},{"declaration":38314,"isOffset":false,"isSlot":false,"src":"220415:2:22","valueSize":1},{"declaration":38317,"isOffset":false,"isSlot":false,"src":"220444:2:22","valueSize":1},{"declaration":38320,"isOffset":false,"isSlot":false,"src":"220473:2:22","valueSize":1},{"declaration":38323,"isOffset":false,"isSlot":false,"src":"220502:2:22","valueSize":1},{"declaration":38326,"isOffset":false,"isSlot":false,"src":"220531:2:22","valueSize":1},{"declaration":38329,"isOffset":false,"isSlot":false,"src":"220560:2:22","valueSize":1}],"id":38337,"nodeType":"InlineAssembly","src":"220350:223:22"}]},"id":38339,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"219174:3:22","nodeType":"FunctionDefinition","parameters":{"id":38308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38301,"mutability":"mutable","name":"p0","nameLocation":"219183:2:22","nodeType":"VariableDeclaration","scope":38339,"src":"219178:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38300,"name":"bool","nodeType":"ElementaryTypeName","src":"219178:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38303,"mutability":"mutable","name":"p1","nameLocation":"219195:2:22","nodeType":"VariableDeclaration","scope":38339,"src":"219187:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38302,"name":"uint256","nodeType":"ElementaryTypeName","src":"219187:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38305,"mutability":"mutable","name":"p2","nameLocation":"219207:2:22","nodeType":"VariableDeclaration","scope":38339,"src":"219199:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219199:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38307,"mutability":"mutable","name":"p3","nameLocation":"219216:2:22","nodeType":"VariableDeclaration","scope":38339,"src":"219211:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38306,"name":"bool","nodeType":"ElementaryTypeName","src":"219211:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"219177:42:22"},"returnParameters":{"id":38309,"nodeType":"ParameterList","parameters":[],"src":"219234:0:22"},"scope":44426,"src":"219165:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38378,"nodeType":"Block","src":"220657:1348:22","statements":[{"assignments":[38351],"declarations":[{"constant":false,"id":38351,"mutability":"mutable","name":"m0","nameLocation":"220675:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220667:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38352,"nodeType":"VariableDeclarationStatement","src":"220667:10:22"},{"assignments":[38354],"declarations":[{"constant":false,"id":38354,"mutability":"mutable","name":"m1","nameLocation":"220695:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220687:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220687:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38355,"nodeType":"VariableDeclarationStatement","src":"220687:10:22"},{"assignments":[38357],"declarations":[{"constant":false,"id":38357,"mutability":"mutable","name":"m2","nameLocation":"220715:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220707:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220707:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38358,"nodeType":"VariableDeclarationStatement","src":"220707:10:22"},{"assignments":[38360],"declarations":[{"constant":false,"id":38360,"mutability":"mutable","name":"m3","nameLocation":"220735:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220727:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220727:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38361,"nodeType":"VariableDeclarationStatement","src":"220727:10:22"},{"assignments":[38363],"declarations":[{"constant":false,"id":38363,"mutability":"mutable","name":"m4","nameLocation":"220755:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220747:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220747:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38364,"nodeType":"VariableDeclarationStatement","src":"220747:10:22"},{"assignments":[38366],"declarations":[{"constant":false,"id":38366,"mutability":"mutable","name":"m5","nameLocation":"220775:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220767:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220767:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38367,"nodeType":"VariableDeclarationStatement","src":"220767:10:22"},{"assignments":[38369],"declarations":[{"constant":false,"id":38369,"mutability":"mutable","name":"m6","nameLocation":"220795:2:22","nodeType":"VariableDeclaration","scope":38378,"src":"220787:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220787:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38370,"nodeType":"VariableDeclarationStatement","src":"220787:10:22"},{"AST":{"nativeSrc":"220859:828:22","nodeType":"YulBlock","src":"220859:828:22","statements":[{"body":{"nativeSrc":"220902:313:22","nodeType":"YulBlock","src":"220902:313:22","statements":[{"nativeSrc":"220920:15:22","nodeType":"YulVariableDeclaration","src":"220920:15:22","value":{"kind":"number","nativeSrc":"220934:1:22","nodeType":"YulLiteral","src":"220934:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"220924:6:22","nodeType":"YulTypedName","src":"220924:6:22","type":""}]},{"body":{"nativeSrc":"221005:40:22","nodeType":"YulBlock","src":"221005:40:22","statements":[{"body":{"nativeSrc":"221034:9:22","nodeType":"YulBlock","src":"221034:9:22","statements":[{"nativeSrc":"221036:5:22","nodeType":"YulBreak","src":"221036:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"221022:6:22","nodeType":"YulIdentifier","src":"221022:6:22"},{"name":"w","nativeSrc":"221030:1:22","nodeType":"YulIdentifier","src":"221030:1:22"}],"functionName":{"name":"byte","nativeSrc":"221017:4:22","nodeType":"YulIdentifier","src":"221017:4:22"},"nativeSrc":"221017:15:22","nodeType":"YulFunctionCall","src":"221017:15:22"}],"functionName":{"name":"iszero","nativeSrc":"221010:6:22","nodeType":"YulIdentifier","src":"221010:6:22"},"nativeSrc":"221010:23:22","nodeType":"YulFunctionCall","src":"221010:23:22"},"nativeSrc":"221007:36:22","nodeType":"YulIf","src":"221007:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"220962:6:22","nodeType":"YulIdentifier","src":"220962:6:22"},{"kind":"number","nativeSrc":"220970:4:22","nodeType":"YulLiteral","src":"220970:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"220959:2:22","nodeType":"YulIdentifier","src":"220959:2:22"},"nativeSrc":"220959:16:22","nodeType":"YulFunctionCall","src":"220959:16:22"},"nativeSrc":"220952:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"220976:28:22","nodeType":"YulBlock","src":"220976:28:22","statements":[{"nativeSrc":"220978:24:22","nodeType":"YulAssignment","src":"220978:24:22","value":{"arguments":[{"name":"length","nativeSrc":"220992:6:22","nodeType":"YulIdentifier","src":"220992:6:22"},{"kind":"number","nativeSrc":"221000:1:22","nodeType":"YulLiteral","src":"221000:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"220988:3:22","nodeType":"YulIdentifier","src":"220988:3:22"},"nativeSrc":"220988:14:22","nodeType":"YulFunctionCall","src":"220988:14:22"},"variableNames":[{"name":"length","nativeSrc":"220978:6:22","nodeType":"YulIdentifier","src":"220978:6:22"}]}]},"pre":{"nativeSrc":"220956:2:22","nodeType":"YulBlock","src":"220956:2:22","statements":[]},"src":"220952:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"221069:3:22","nodeType":"YulIdentifier","src":"221069:3:22"},{"name":"length","nativeSrc":"221074:6:22","nodeType":"YulIdentifier","src":"221074:6:22"}],"functionName":{"name":"mstore","nativeSrc":"221062:6:22","nodeType":"YulIdentifier","src":"221062:6:22"},"nativeSrc":"221062:19:22","nodeType":"YulFunctionCall","src":"221062:19:22"},"nativeSrc":"221062:19:22","nodeType":"YulExpressionStatement","src":"221062:19:22"},{"nativeSrc":"221098:37:22","nodeType":"YulVariableDeclaration","src":"221098:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"221115:3:22","nodeType":"YulLiteral","src":"221115:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"221124:1:22","nodeType":"YulLiteral","src":"221124:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"221127:6:22","nodeType":"YulIdentifier","src":"221127:6:22"}],"functionName":{"name":"shl","nativeSrc":"221120:3:22","nodeType":"YulIdentifier","src":"221120:3:22"},"nativeSrc":"221120:14:22","nodeType":"YulFunctionCall","src":"221120:14:22"}],"functionName":{"name":"sub","nativeSrc":"221111:3:22","nodeType":"YulIdentifier","src":"221111:3:22"},"nativeSrc":"221111:24:22","nodeType":"YulFunctionCall","src":"221111:24:22"},"variables":[{"name":"shift","nativeSrc":"221102:5:22","nodeType":"YulTypedName","src":"221102:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"221163:3:22","nodeType":"YulIdentifier","src":"221163:3:22"},{"kind":"number","nativeSrc":"221168:4:22","nodeType":"YulLiteral","src":"221168:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"221159:3:22","nodeType":"YulIdentifier","src":"221159:3:22"},"nativeSrc":"221159:14:22","nodeType":"YulFunctionCall","src":"221159:14:22"},{"arguments":[{"name":"shift","nativeSrc":"221179:5:22","nodeType":"YulIdentifier","src":"221179:5:22"},{"arguments":[{"name":"shift","nativeSrc":"221190:5:22","nodeType":"YulIdentifier","src":"221190:5:22"},{"name":"w","nativeSrc":"221197:1:22","nodeType":"YulIdentifier","src":"221197:1:22"}],"functionName":{"name":"shr","nativeSrc":"221186:3:22","nodeType":"YulIdentifier","src":"221186:3:22"},"nativeSrc":"221186:13:22","nodeType":"YulFunctionCall","src":"221186:13:22"}],"functionName":{"name":"shl","nativeSrc":"221175:3:22","nodeType":"YulIdentifier","src":"221175:3:22"},"nativeSrc":"221175:25:22","nodeType":"YulFunctionCall","src":"221175:25:22"}],"functionName":{"name":"mstore","nativeSrc":"221152:6:22","nodeType":"YulIdentifier","src":"221152:6:22"},"nativeSrc":"221152:49:22","nodeType":"YulFunctionCall","src":"221152:49:22"},"nativeSrc":"221152:49:22","nodeType":"YulExpressionStatement","src":"221152:49:22"}]},"name":"writeString","nativeSrc":"220873:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"220894:3:22","nodeType":"YulTypedName","src":"220894:3:22","type":""},{"name":"w","nativeSrc":"220899:1:22","nodeType":"YulTypedName","src":"220899:1:22","type":""}],"src":"220873:342:22"},{"nativeSrc":"221228:17:22","nodeType":"YulAssignment","src":"221228:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221240:4:22","nodeType":"YulLiteral","src":"221240:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"221234:5:22","nodeType":"YulIdentifier","src":"221234:5:22"},"nativeSrc":"221234:11:22","nodeType":"YulFunctionCall","src":"221234:11:22"},"variableNames":[{"name":"m0","nativeSrc":"221228:2:22","nodeType":"YulIdentifier","src":"221228:2:22"}]},{"nativeSrc":"221258:17:22","nodeType":"YulAssignment","src":"221258:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221270:4:22","nodeType":"YulLiteral","src":"221270:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"221264:5:22","nodeType":"YulIdentifier","src":"221264:5:22"},"nativeSrc":"221264:11:22","nodeType":"YulFunctionCall","src":"221264:11:22"},"variableNames":[{"name":"m1","nativeSrc":"221258:2:22","nodeType":"YulIdentifier","src":"221258:2:22"}]},{"nativeSrc":"221288:17:22","nodeType":"YulAssignment","src":"221288:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221300:4:22","nodeType":"YulLiteral","src":"221300:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"221294:5:22","nodeType":"YulIdentifier","src":"221294:5:22"},"nativeSrc":"221294:11:22","nodeType":"YulFunctionCall","src":"221294:11:22"},"variableNames":[{"name":"m2","nativeSrc":"221288:2:22","nodeType":"YulIdentifier","src":"221288:2:22"}]},{"nativeSrc":"221318:17:22","nodeType":"YulAssignment","src":"221318:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221330:4:22","nodeType":"YulLiteral","src":"221330:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"221324:5:22","nodeType":"YulIdentifier","src":"221324:5:22"},"nativeSrc":"221324:11:22","nodeType":"YulFunctionCall","src":"221324:11:22"},"variableNames":[{"name":"m3","nativeSrc":"221318:2:22","nodeType":"YulIdentifier","src":"221318:2:22"}]},{"nativeSrc":"221348:17:22","nodeType":"YulAssignment","src":"221348:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221360:4:22","nodeType":"YulLiteral","src":"221360:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"221354:5:22","nodeType":"YulIdentifier","src":"221354:5:22"},"nativeSrc":"221354:11:22","nodeType":"YulFunctionCall","src":"221354:11:22"},"variableNames":[{"name":"m4","nativeSrc":"221348:2:22","nodeType":"YulIdentifier","src":"221348:2:22"}]},{"nativeSrc":"221378:17:22","nodeType":"YulAssignment","src":"221378:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221390:4:22","nodeType":"YulLiteral","src":"221390:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"221384:5:22","nodeType":"YulIdentifier","src":"221384:5:22"},"nativeSrc":"221384:11:22","nodeType":"YulFunctionCall","src":"221384:11:22"},"variableNames":[{"name":"m5","nativeSrc":"221378:2:22","nodeType":"YulIdentifier","src":"221378:2:22"}]},{"nativeSrc":"221408:17:22","nodeType":"YulAssignment","src":"221408:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"221420:4:22","nodeType":"YulLiteral","src":"221420:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"221414:5:22","nodeType":"YulIdentifier","src":"221414:5:22"},"nativeSrc":"221414:11:22","nodeType":"YulFunctionCall","src":"221414:11:22"},"variableNames":[{"name":"m6","nativeSrc":"221408:2:22","nodeType":"YulIdentifier","src":"221408:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221508:4:22","nodeType":"YulLiteral","src":"221508:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"221514:10:22","nodeType":"YulLiteral","src":"221514:10:22","type":"","value":"0x6a1199e2"}],"functionName":{"name":"mstore","nativeSrc":"221501:6:22","nodeType":"YulIdentifier","src":"221501:6:22"},"nativeSrc":"221501:24:22","nodeType":"YulFunctionCall","src":"221501:24:22"},"nativeSrc":"221501:24:22","nodeType":"YulExpressionStatement","src":"221501:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221545:4:22","nodeType":"YulLiteral","src":"221545:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"221551:2:22","nodeType":"YulIdentifier","src":"221551:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221538:6:22","nodeType":"YulIdentifier","src":"221538:6:22"},"nativeSrc":"221538:16:22","nodeType":"YulFunctionCall","src":"221538:16:22"},"nativeSrc":"221538:16:22","nodeType":"YulExpressionStatement","src":"221538:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221574:4:22","nodeType":"YulLiteral","src":"221574:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"221580:2:22","nodeType":"YulIdentifier","src":"221580:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221567:6:22","nodeType":"YulIdentifier","src":"221567:6:22"},"nativeSrc":"221567:16:22","nodeType":"YulFunctionCall","src":"221567:16:22"},"nativeSrc":"221567:16:22","nodeType":"YulExpressionStatement","src":"221567:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221603:4:22","nodeType":"YulLiteral","src":"221603:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"221609:4:22","nodeType":"YulLiteral","src":"221609:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"221596:6:22","nodeType":"YulIdentifier","src":"221596:6:22"},"nativeSrc":"221596:18:22","nodeType":"YulFunctionCall","src":"221596:18:22"},"nativeSrc":"221596:18:22","nodeType":"YulExpressionStatement","src":"221596:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221634:4:22","nodeType":"YulLiteral","src":"221634:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"221640:2:22","nodeType":"YulIdentifier","src":"221640:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221627:6:22","nodeType":"YulIdentifier","src":"221627:6:22"},"nativeSrc":"221627:16:22","nodeType":"YulFunctionCall","src":"221627:16:22"},"nativeSrc":"221627:16:22","nodeType":"YulExpressionStatement","src":"221627:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221668:4:22","nodeType":"YulLiteral","src":"221668:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"221674:2:22","nodeType":"YulIdentifier","src":"221674:2:22"}],"functionName":{"name":"writeString","nativeSrc":"221656:11:22","nodeType":"YulIdentifier","src":"221656:11:22"},"nativeSrc":"221656:21:22","nodeType":"YulFunctionCall","src":"221656:21:22"},"nativeSrc":"221656:21:22","nodeType":"YulExpressionStatement","src":"221656:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38351,"isOffset":false,"isSlot":false,"src":"221228:2:22","valueSize":1},{"declaration":38354,"isOffset":false,"isSlot":false,"src":"221258:2:22","valueSize":1},{"declaration":38357,"isOffset":false,"isSlot":false,"src":"221288:2:22","valueSize":1},{"declaration":38360,"isOffset":false,"isSlot":false,"src":"221318:2:22","valueSize":1},{"declaration":38363,"isOffset":false,"isSlot":false,"src":"221348:2:22","valueSize":1},{"declaration":38366,"isOffset":false,"isSlot":false,"src":"221378:2:22","valueSize":1},{"declaration":38369,"isOffset":false,"isSlot":false,"src":"221408:2:22","valueSize":1},{"declaration":38341,"isOffset":false,"isSlot":false,"src":"221551:2:22","valueSize":1},{"declaration":38343,"isOffset":false,"isSlot":false,"src":"221580:2:22","valueSize":1},{"declaration":38345,"isOffset":false,"isSlot":false,"src":"221674:2:22","valueSize":1},{"declaration":38347,"isOffset":false,"isSlot":false,"src":"221640:2:22","valueSize":1}],"id":38371,"nodeType":"InlineAssembly","src":"220850:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221712:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221718:4:22","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":38372,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"221696:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"221696:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38376,"nodeType":"ExpressionStatement","src":"221696:27:22"},{"AST":{"nativeSrc":"221785:214:22","nodeType":"YulBlock","src":"221785:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"221806:4:22","nodeType":"YulLiteral","src":"221806:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"221812:2:22","nodeType":"YulIdentifier","src":"221812:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221799:6:22","nodeType":"YulIdentifier","src":"221799:6:22"},"nativeSrc":"221799:16:22","nodeType":"YulFunctionCall","src":"221799:16:22"},"nativeSrc":"221799:16:22","nodeType":"YulExpressionStatement","src":"221799:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221835:4:22","nodeType":"YulLiteral","src":"221835:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"221841:2:22","nodeType":"YulIdentifier","src":"221841:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221828:6:22","nodeType":"YulIdentifier","src":"221828:6:22"},"nativeSrc":"221828:16:22","nodeType":"YulFunctionCall","src":"221828:16:22"},"nativeSrc":"221828:16:22","nodeType":"YulExpressionStatement","src":"221828:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221864:4:22","nodeType":"YulLiteral","src":"221864:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"221870:2:22","nodeType":"YulIdentifier","src":"221870:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221857:6:22","nodeType":"YulIdentifier","src":"221857:6:22"},"nativeSrc":"221857:16:22","nodeType":"YulFunctionCall","src":"221857:16:22"},"nativeSrc":"221857:16:22","nodeType":"YulExpressionStatement","src":"221857:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221893:4:22","nodeType":"YulLiteral","src":"221893:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"221899:2:22","nodeType":"YulIdentifier","src":"221899:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221886:6:22","nodeType":"YulIdentifier","src":"221886:6:22"},"nativeSrc":"221886:16:22","nodeType":"YulFunctionCall","src":"221886:16:22"},"nativeSrc":"221886:16:22","nodeType":"YulExpressionStatement","src":"221886:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221922:4:22","nodeType":"YulLiteral","src":"221922:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"221928:2:22","nodeType":"YulIdentifier","src":"221928:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221915:6:22","nodeType":"YulIdentifier","src":"221915:6:22"},"nativeSrc":"221915:16:22","nodeType":"YulFunctionCall","src":"221915:16:22"},"nativeSrc":"221915:16:22","nodeType":"YulExpressionStatement","src":"221915:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221951:4:22","nodeType":"YulLiteral","src":"221951:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"221957:2:22","nodeType":"YulIdentifier","src":"221957:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221944:6:22","nodeType":"YulIdentifier","src":"221944:6:22"},"nativeSrc":"221944:16:22","nodeType":"YulFunctionCall","src":"221944:16:22"},"nativeSrc":"221944:16:22","nodeType":"YulExpressionStatement","src":"221944:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221980:4:22","nodeType":"YulLiteral","src":"221980:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"221986:2:22","nodeType":"YulIdentifier","src":"221986:2:22"}],"functionName":{"name":"mstore","nativeSrc":"221973:6:22","nodeType":"YulIdentifier","src":"221973:6:22"},"nativeSrc":"221973:16:22","nodeType":"YulFunctionCall","src":"221973:16:22"},"nativeSrc":"221973:16:22","nodeType":"YulExpressionStatement","src":"221973:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38351,"isOffset":false,"isSlot":false,"src":"221812:2:22","valueSize":1},{"declaration":38354,"isOffset":false,"isSlot":false,"src":"221841:2:22","valueSize":1},{"declaration":38357,"isOffset":false,"isSlot":false,"src":"221870:2:22","valueSize":1},{"declaration":38360,"isOffset":false,"isSlot":false,"src":"221899:2:22","valueSize":1},{"declaration":38363,"isOffset":false,"isSlot":false,"src":"221928:2:22","valueSize":1},{"declaration":38366,"isOffset":false,"isSlot":false,"src":"221957:2:22","valueSize":1},{"declaration":38369,"isOffset":false,"isSlot":false,"src":"221986:2:22","valueSize":1}],"id":38377,"nodeType":"InlineAssembly","src":"221776:223:22"}]},"id":38379,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"220594:3:22","nodeType":"FunctionDefinition","parameters":{"id":38348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38341,"mutability":"mutable","name":"p0","nameLocation":"220603:2:22","nodeType":"VariableDeclaration","scope":38379,"src":"220598:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38340,"name":"bool","nodeType":"ElementaryTypeName","src":"220598:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38343,"mutability":"mutable","name":"p1","nameLocation":"220615:2:22","nodeType":"VariableDeclaration","scope":38379,"src":"220607:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38342,"name":"uint256","nodeType":"ElementaryTypeName","src":"220607:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38345,"mutability":"mutable","name":"p2","nameLocation":"220627:2:22","nodeType":"VariableDeclaration","scope":38379,"src":"220619:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220619:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38347,"mutability":"mutable","name":"p3","nameLocation":"220639:2:22","nodeType":"VariableDeclaration","scope":38379,"src":"220631:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38346,"name":"uint256","nodeType":"ElementaryTypeName","src":"220631:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"220597:45:22"},"returnParameters":{"id":38349,"nodeType":"ParameterList","parameters":[],"src":"220657:0:22"},"scope":44426,"src":"220585:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38424,"nodeType":"Block","src":"222083:1544:22","statements":[{"assignments":[38391],"declarations":[{"constant":false,"id":38391,"mutability":"mutable","name":"m0","nameLocation":"222101:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222093:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38392,"nodeType":"VariableDeclarationStatement","src":"222093:10:22"},{"assignments":[38394],"declarations":[{"constant":false,"id":38394,"mutability":"mutable","name":"m1","nameLocation":"222121:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222113:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222113:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38395,"nodeType":"VariableDeclarationStatement","src":"222113:10:22"},{"assignments":[38397],"declarations":[{"constant":false,"id":38397,"mutability":"mutable","name":"m2","nameLocation":"222141:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222133:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222133:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38398,"nodeType":"VariableDeclarationStatement","src":"222133:10:22"},{"assignments":[38400],"declarations":[{"constant":false,"id":38400,"mutability":"mutable","name":"m3","nameLocation":"222161:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222153:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222153:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38401,"nodeType":"VariableDeclarationStatement","src":"222153:10:22"},{"assignments":[38403],"declarations":[{"constant":false,"id":38403,"mutability":"mutable","name":"m4","nameLocation":"222181:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222173:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222173:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38404,"nodeType":"VariableDeclarationStatement","src":"222173:10:22"},{"assignments":[38406],"declarations":[{"constant":false,"id":38406,"mutability":"mutable","name":"m5","nameLocation":"222201:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222193:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222193:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38407,"nodeType":"VariableDeclarationStatement","src":"222193:10:22"},{"assignments":[38409],"declarations":[{"constant":false,"id":38409,"mutability":"mutable","name":"m6","nameLocation":"222221:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222213:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222213:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38410,"nodeType":"VariableDeclarationStatement","src":"222213:10:22"},{"assignments":[38412],"declarations":[{"constant":false,"id":38412,"mutability":"mutable","name":"m7","nameLocation":"222241:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222233:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38413,"nodeType":"VariableDeclarationStatement","src":"222233:10:22"},{"assignments":[38415],"declarations":[{"constant":false,"id":38415,"mutability":"mutable","name":"m8","nameLocation":"222261:2:22","nodeType":"VariableDeclaration","scope":38424,"src":"222253:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222253:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38416,"nodeType":"VariableDeclarationStatement","src":"222253:10:22"},{"AST":{"nativeSrc":"222325:924:22","nodeType":"YulBlock","src":"222325:924:22","statements":[{"body":{"nativeSrc":"222368:313:22","nodeType":"YulBlock","src":"222368:313:22","statements":[{"nativeSrc":"222386:15:22","nodeType":"YulVariableDeclaration","src":"222386:15:22","value":{"kind":"number","nativeSrc":"222400:1:22","nodeType":"YulLiteral","src":"222400:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"222390:6:22","nodeType":"YulTypedName","src":"222390:6:22","type":""}]},{"body":{"nativeSrc":"222471:40:22","nodeType":"YulBlock","src":"222471:40:22","statements":[{"body":{"nativeSrc":"222500:9:22","nodeType":"YulBlock","src":"222500:9:22","statements":[{"nativeSrc":"222502:5:22","nodeType":"YulBreak","src":"222502:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"222488:6:22","nodeType":"YulIdentifier","src":"222488:6:22"},{"name":"w","nativeSrc":"222496:1:22","nodeType":"YulIdentifier","src":"222496:1:22"}],"functionName":{"name":"byte","nativeSrc":"222483:4:22","nodeType":"YulIdentifier","src":"222483:4:22"},"nativeSrc":"222483:15:22","nodeType":"YulFunctionCall","src":"222483:15:22"}],"functionName":{"name":"iszero","nativeSrc":"222476:6:22","nodeType":"YulIdentifier","src":"222476:6:22"},"nativeSrc":"222476:23:22","nodeType":"YulFunctionCall","src":"222476:23:22"},"nativeSrc":"222473:36:22","nodeType":"YulIf","src":"222473:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"222428:6:22","nodeType":"YulIdentifier","src":"222428:6:22"},{"kind":"number","nativeSrc":"222436:4:22","nodeType":"YulLiteral","src":"222436:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"222425:2:22","nodeType":"YulIdentifier","src":"222425:2:22"},"nativeSrc":"222425:16:22","nodeType":"YulFunctionCall","src":"222425:16:22"},"nativeSrc":"222418:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"222442:28:22","nodeType":"YulBlock","src":"222442:28:22","statements":[{"nativeSrc":"222444:24:22","nodeType":"YulAssignment","src":"222444:24:22","value":{"arguments":[{"name":"length","nativeSrc":"222458:6:22","nodeType":"YulIdentifier","src":"222458:6:22"},{"kind":"number","nativeSrc":"222466:1:22","nodeType":"YulLiteral","src":"222466:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"222454:3:22","nodeType":"YulIdentifier","src":"222454:3:22"},"nativeSrc":"222454:14:22","nodeType":"YulFunctionCall","src":"222454:14:22"},"variableNames":[{"name":"length","nativeSrc":"222444:6:22","nodeType":"YulIdentifier","src":"222444:6:22"}]}]},"pre":{"nativeSrc":"222422:2:22","nodeType":"YulBlock","src":"222422:2:22","statements":[]},"src":"222418:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"222535:3:22","nodeType":"YulIdentifier","src":"222535:3:22"},{"name":"length","nativeSrc":"222540:6:22","nodeType":"YulIdentifier","src":"222540:6:22"}],"functionName":{"name":"mstore","nativeSrc":"222528:6:22","nodeType":"YulIdentifier","src":"222528:6:22"},"nativeSrc":"222528:19:22","nodeType":"YulFunctionCall","src":"222528:19:22"},"nativeSrc":"222528:19:22","nodeType":"YulExpressionStatement","src":"222528:19:22"},{"nativeSrc":"222564:37:22","nodeType":"YulVariableDeclaration","src":"222564:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"222581:3:22","nodeType":"YulLiteral","src":"222581:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"222590:1:22","nodeType":"YulLiteral","src":"222590:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"222593:6:22","nodeType":"YulIdentifier","src":"222593:6:22"}],"functionName":{"name":"shl","nativeSrc":"222586:3:22","nodeType":"YulIdentifier","src":"222586:3:22"},"nativeSrc":"222586:14:22","nodeType":"YulFunctionCall","src":"222586:14:22"}],"functionName":{"name":"sub","nativeSrc":"222577:3:22","nodeType":"YulIdentifier","src":"222577:3:22"},"nativeSrc":"222577:24:22","nodeType":"YulFunctionCall","src":"222577:24:22"},"variables":[{"name":"shift","nativeSrc":"222568:5:22","nodeType":"YulTypedName","src":"222568:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"222629:3:22","nodeType":"YulIdentifier","src":"222629:3:22"},{"kind":"number","nativeSrc":"222634:4:22","nodeType":"YulLiteral","src":"222634:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"222625:3:22","nodeType":"YulIdentifier","src":"222625:3:22"},"nativeSrc":"222625:14:22","nodeType":"YulFunctionCall","src":"222625:14:22"},{"arguments":[{"name":"shift","nativeSrc":"222645:5:22","nodeType":"YulIdentifier","src":"222645:5:22"},{"arguments":[{"name":"shift","nativeSrc":"222656:5:22","nodeType":"YulIdentifier","src":"222656:5:22"},{"name":"w","nativeSrc":"222663:1:22","nodeType":"YulIdentifier","src":"222663:1:22"}],"functionName":{"name":"shr","nativeSrc":"222652:3:22","nodeType":"YulIdentifier","src":"222652:3:22"},"nativeSrc":"222652:13:22","nodeType":"YulFunctionCall","src":"222652:13:22"}],"functionName":{"name":"shl","nativeSrc":"222641:3:22","nodeType":"YulIdentifier","src":"222641:3:22"},"nativeSrc":"222641:25:22","nodeType":"YulFunctionCall","src":"222641:25:22"}],"functionName":{"name":"mstore","nativeSrc":"222618:6:22","nodeType":"YulIdentifier","src":"222618:6:22"},"nativeSrc":"222618:49:22","nodeType":"YulFunctionCall","src":"222618:49:22"},"nativeSrc":"222618:49:22","nodeType":"YulExpressionStatement","src":"222618:49:22"}]},"name":"writeString","nativeSrc":"222339:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"222360:3:22","nodeType":"YulTypedName","src":"222360:3:22","type":""},{"name":"w","nativeSrc":"222365:1:22","nodeType":"YulTypedName","src":"222365:1:22","type":""}],"src":"222339:342:22"},{"nativeSrc":"222694:17:22","nodeType":"YulAssignment","src":"222694:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222706:4:22","nodeType":"YulLiteral","src":"222706:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"222700:5:22","nodeType":"YulIdentifier","src":"222700:5:22"},"nativeSrc":"222700:11:22","nodeType":"YulFunctionCall","src":"222700:11:22"},"variableNames":[{"name":"m0","nativeSrc":"222694:2:22","nodeType":"YulIdentifier","src":"222694:2:22"}]},{"nativeSrc":"222724:17:22","nodeType":"YulAssignment","src":"222724:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222736:4:22","nodeType":"YulLiteral","src":"222736:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"222730:5:22","nodeType":"YulIdentifier","src":"222730:5:22"},"nativeSrc":"222730:11:22","nodeType":"YulFunctionCall","src":"222730:11:22"},"variableNames":[{"name":"m1","nativeSrc":"222724:2:22","nodeType":"YulIdentifier","src":"222724:2:22"}]},{"nativeSrc":"222754:17:22","nodeType":"YulAssignment","src":"222754:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222766:4:22","nodeType":"YulLiteral","src":"222766:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"222760:5:22","nodeType":"YulIdentifier","src":"222760:5:22"},"nativeSrc":"222760:11:22","nodeType":"YulFunctionCall","src":"222760:11:22"},"variableNames":[{"name":"m2","nativeSrc":"222754:2:22","nodeType":"YulIdentifier","src":"222754:2:22"}]},{"nativeSrc":"222784:17:22","nodeType":"YulAssignment","src":"222784:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222796:4:22","nodeType":"YulLiteral","src":"222796:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"222790:5:22","nodeType":"YulIdentifier","src":"222790:5:22"},"nativeSrc":"222790:11:22","nodeType":"YulFunctionCall","src":"222790:11:22"},"variableNames":[{"name":"m3","nativeSrc":"222784:2:22","nodeType":"YulIdentifier","src":"222784:2:22"}]},{"nativeSrc":"222814:17:22","nodeType":"YulAssignment","src":"222814:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222826:4:22","nodeType":"YulLiteral","src":"222826:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"222820:5:22","nodeType":"YulIdentifier","src":"222820:5:22"},"nativeSrc":"222820:11:22","nodeType":"YulFunctionCall","src":"222820:11:22"},"variableNames":[{"name":"m4","nativeSrc":"222814:2:22","nodeType":"YulIdentifier","src":"222814:2:22"}]},{"nativeSrc":"222844:17:22","nodeType":"YulAssignment","src":"222844:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222856:4:22","nodeType":"YulLiteral","src":"222856:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"222850:5:22","nodeType":"YulIdentifier","src":"222850:5:22"},"nativeSrc":"222850:11:22","nodeType":"YulFunctionCall","src":"222850:11:22"},"variableNames":[{"name":"m5","nativeSrc":"222844:2:22","nodeType":"YulIdentifier","src":"222844:2:22"}]},{"nativeSrc":"222874:17:22","nodeType":"YulAssignment","src":"222874:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222886:4:22","nodeType":"YulLiteral","src":"222886:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"222880:5:22","nodeType":"YulIdentifier","src":"222880:5:22"},"nativeSrc":"222880:11:22","nodeType":"YulFunctionCall","src":"222880:11:22"},"variableNames":[{"name":"m6","nativeSrc":"222874:2:22","nodeType":"YulIdentifier","src":"222874:2:22"}]},{"nativeSrc":"222904:17:22","nodeType":"YulAssignment","src":"222904:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"222916:4:22","nodeType":"YulLiteral","src":"222916:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"222910:5:22","nodeType":"YulIdentifier","src":"222910:5:22"},"nativeSrc":"222910:11:22","nodeType":"YulFunctionCall","src":"222910:11:22"},"variableNames":[{"name":"m7","nativeSrc":"222904:2:22","nodeType":"YulIdentifier","src":"222904:2:22"}]},{"nativeSrc":"222934:18:22","nodeType":"YulAssignment","src":"222934:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"222946:5:22","nodeType":"YulLiteral","src":"222946:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"222940:5:22","nodeType":"YulIdentifier","src":"222940:5:22"},"nativeSrc":"222940:12:22","nodeType":"YulFunctionCall","src":"222940:12:22"},"variableNames":[{"name":"m8","nativeSrc":"222934:2:22","nodeType":"YulIdentifier","src":"222934:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223034:4:22","nodeType":"YulLiteral","src":"223034:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"223040:10:22","nodeType":"YulLiteral","src":"223040:10:22","type":"","value":"0xf5bc2249"}],"functionName":{"name":"mstore","nativeSrc":"223027:6:22","nodeType":"YulIdentifier","src":"223027:6:22"},"nativeSrc":"223027:24:22","nodeType":"YulFunctionCall","src":"223027:24:22"},"nativeSrc":"223027:24:22","nodeType":"YulExpressionStatement","src":"223027:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223071:4:22","nodeType":"YulLiteral","src":"223071:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"223077:2:22","nodeType":"YulIdentifier","src":"223077:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223064:6:22","nodeType":"YulIdentifier","src":"223064:6:22"},"nativeSrc":"223064:16:22","nodeType":"YulFunctionCall","src":"223064:16:22"},"nativeSrc":"223064:16:22","nodeType":"YulExpressionStatement","src":"223064:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223100:4:22","nodeType":"YulLiteral","src":"223100:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"223106:2:22","nodeType":"YulIdentifier","src":"223106:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223093:6:22","nodeType":"YulIdentifier","src":"223093:6:22"},"nativeSrc":"223093:16:22","nodeType":"YulFunctionCall","src":"223093:16:22"},"nativeSrc":"223093:16:22","nodeType":"YulExpressionStatement","src":"223093:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223129:4:22","nodeType":"YulLiteral","src":"223129:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"223135:4:22","nodeType":"YulLiteral","src":"223135:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"223122:6:22","nodeType":"YulIdentifier","src":"223122:6:22"},"nativeSrc":"223122:18:22","nodeType":"YulFunctionCall","src":"223122:18:22"},"nativeSrc":"223122:18:22","nodeType":"YulExpressionStatement","src":"223122:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223160:4:22","nodeType":"YulLiteral","src":"223160:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"223166:4:22","nodeType":"YulLiteral","src":"223166:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"223153:6:22","nodeType":"YulIdentifier","src":"223153:6:22"},"nativeSrc":"223153:18:22","nodeType":"YulFunctionCall","src":"223153:18:22"},"nativeSrc":"223153:18:22","nodeType":"YulExpressionStatement","src":"223153:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223196:4:22","nodeType":"YulLiteral","src":"223196:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"223202:2:22","nodeType":"YulIdentifier","src":"223202:2:22"}],"functionName":{"name":"writeString","nativeSrc":"223184:11:22","nodeType":"YulIdentifier","src":"223184:11:22"},"nativeSrc":"223184:21:22","nodeType":"YulFunctionCall","src":"223184:21:22"},"nativeSrc":"223184:21:22","nodeType":"YulExpressionStatement","src":"223184:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223230:4:22","nodeType":"YulLiteral","src":"223230:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"223236:2:22","nodeType":"YulIdentifier","src":"223236:2:22"}],"functionName":{"name":"writeString","nativeSrc":"223218:11:22","nodeType":"YulIdentifier","src":"223218:11:22"},"nativeSrc":"223218:21:22","nodeType":"YulFunctionCall","src":"223218:21:22"},"nativeSrc":"223218:21:22","nodeType":"YulExpressionStatement","src":"223218:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38391,"isOffset":false,"isSlot":false,"src":"222694:2:22","valueSize":1},{"declaration":38394,"isOffset":false,"isSlot":false,"src":"222724:2:22","valueSize":1},{"declaration":38397,"isOffset":false,"isSlot":false,"src":"222754:2:22","valueSize":1},{"declaration":38400,"isOffset":false,"isSlot":false,"src":"222784:2:22","valueSize":1},{"declaration":38403,"isOffset":false,"isSlot":false,"src":"222814:2:22","valueSize":1},{"declaration":38406,"isOffset":false,"isSlot":false,"src":"222844:2:22","valueSize":1},{"declaration":38409,"isOffset":false,"isSlot":false,"src":"222874:2:22","valueSize":1},{"declaration":38412,"isOffset":false,"isSlot":false,"src":"222904:2:22","valueSize":1},{"declaration":38415,"isOffset":false,"isSlot":false,"src":"222934:2:22","valueSize":1},{"declaration":38381,"isOffset":false,"isSlot":false,"src":"223077:2:22","valueSize":1},{"declaration":38383,"isOffset":false,"isSlot":false,"src":"223106:2:22","valueSize":1},{"declaration":38385,"isOffset":false,"isSlot":false,"src":"223202:2:22","valueSize":1},{"declaration":38387,"isOffset":false,"isSlot":false,"src":"223236:2:22","valueSize":1}],"id":38417,"nodeType":"InlineAssembly","src":"222316:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223274:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223280:5:22","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":38418,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"223258:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"223258:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38422,"nodeType":"ExpressionStatement","src":"223258:28:22"},{"AST":{"nativeSrc":"223348:273:22","nodeType":"YulBlock","src":"223348:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"223369:4:22","nodeType":"YulLiteral","src":"223369:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"223375:2:22","nodeType":"YulIdentifier","src":"223375:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223362:6:22","nodeType":"YulIdentifier","src":"223362:6:22"},"nativeSrc":"223362:16:22","nodeType":"YulFunctionCall","src":"223362:16:22"},"nativeSrc":"223362:16:22","nodeType":"YulExpressionStatement","src":"223362:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223398:4:22","nodeType":"YulLiteral","src":"223398:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"223404:2:22","nodeType":"YulIdentifier","src":"223404:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223391:6:22","nodeType":"YulIdentifier","src":"223391:6:22"},"nativeSrc":"223391:16:22","nodeType":"YulFunctionCall","src":"223391:16:22"},"nativeSrc":"223391:16:22","nodeType":"YulExpressionStatement","src":"223391:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223427:4:22","nodeType":"YulLiteral","src":"223427:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"223433:2:22","nodeType":"YulIdentifier","src":"223433:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223420:6:22","nodeType":"YulIdentifier","src":"223420:6:22"},"nativeSrc":"223420:16:22","nodeType":"YulFunctionCall","src":"223420:16:22"},"nativeSrc":"223420:16:22","nodeType":"YulExpressionStatement","src":"223420:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223456:4:22","nodeType":"YulLiteral","src":"223456:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"223462:2:22","nodeType":"YulIdentifier","src":"223462:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223449:6:22","nodeType":"YulIdentifier","src":"223449:6:22"},"nativeSrc":"223449:16:22","nodeType":"YulFunctionCall","src":"223449:16:22"},"nativeSrc":"223449:16:22","nodeType":"YulExpressionStatement","src":"223449:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223485:4:22","nodeType":"YulLiteral","src":"223485:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"223491:2:22","nodeType":"YulIdentifier","src":"223491:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223478:6:22","nodeType":"YulIdentifier","src":"223478:6:22"},"nativeSrc":"223478:16:22","nodeType":"YulFunctionCall","src":"223478:16:22"},"nativeSrc":"223478:16:22","nodeType":"YulExpressionStatement","src":"223478:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223514:4:22","nodeType":"YulLiteral","src":"223514:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"223520:2:22","nodeType":"YulIdentifier","src":"223520:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223507:6:22","nodeType":"YulIdentifier","src":"223507:6:22"},"nativeSrc":"223507:16:22","nodeType":"YulFunctionCall","src":"223507:16:22"},"nativeSrc":"223507:16:22","nodeType":"YulExpressionStatement","src":"223507:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223543:4:22","nodeType":"YulLiteral","src":"223543:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"223549:2:22","nodeType":"YulIdentifier","src":"223549:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223536:6:22","nodeType":"YulIdentifier","src":"223536:6:22"},"nativeSrc":"223536:16:22","nodeType":"YulFunctionCall","src":"223536:16:22"},"nativeSrc":"223536:16:22","nodeType":"YulExpressionStatement","src":"223536:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223572:4:22","nodeType":"YulLiteral","src":"223572:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"223578:2:22","nodeType":"YulIdentifier","src":"223578:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223565:6:22","nodeType":"YulIdentifier","src":"223565:6:22"},"nativeSrc":"223565:16:22","nodeType":"YulFunctionCall","src":"223565:16:22"},"nativeSrc":"223565:16:22","nodeType":"YulExpressionStatement","src":"223565:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223601:5:22","nodeType":"YulLiteral","src":"223601:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"223608:2:22","nodeType":"YulIdentifier","src":"223608:2:22"}],"functionName":{"name":"mstore","nativeSrc":"223594:6:22","nodeType":"YulIdentifier","src":"223594:6:22"},"nativeSrc":"223594:17:22","nodeType":"YulFunctionCall","src":"223594:17:22"},"nativeSrc":"223594:17:22","nodeType":"YulExpressionStatement","src":"223594:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38391,"isOffset":false,"isSlot":false,"src":"223375:2:22","valueSize":1},{"declaration":38394,"isOffset":false,"isSlot":false,"src":"223404:2:22","valueSize":1},{"declaration":38397,"isOffset":false,"isSlot":false,"src":"223433:2:22","valueSize":1},{"declaration":38400,"isOffset":false,"isSlot":false,"src":"223462:2:22","valueSize":1},{"declaration":38403,"isOffset":false,"isSlot":false,"src":"223491:2:22","valueSize":1},{"declaration":38406,"isOffset":false,"isSlot":false,"src":"223520:2:22","valueSize":1},{"declaration":38409,"isOffset":false,"isSlot":false,"src":"223549:2:22","valueSize":1},{"declaration":38412,"isOffset":false,"isSlot":false,"src":"223578:2:22","valueSize":1},{"declaration":38415,"isOffset":false,"isSlot":false,"src":"223608:2:22","valueSize":1}],"id":38423,"nodeType":"InlineAssembly","src":"223339:282:22"}]},"id":38425,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"222020:3:22","nodeType":"FunctionDefinition","parameters":{"id":38388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38381,"mutability":"mutable","name":"p0","nameLocation":"222029:2:22","nodeType":"VariableDeclaration","scope":38425,"src":"222024:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38380,"name":"bool","nodeType":"ElementaryTypeName","src":"222024:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38383,"mutability":"mutable","name":"p1","nameLocation":"222041:2:22","nodeType":"VariableDeclaration","scope":38425,"src":"222033:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38382,"name":"uint256","nodeType":"ElementaryTypeName","src":"222033:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38385,"mutability":"mutable","name":"p2","nameLocation":"222053:2:22","nodeType":"VariableDeclaration","scope":38425,"src":"222045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222045:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38387,"mutability":"mutable","name":"p3","nameLocation":"222065:2:22","nodeType":"VariableDeclaration","scope":38425,"src":"222057:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222057:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"222023:45:22"},"returnParameters":{"id":38389,"nodeType":"ParameterList","parameters":[],"src":"222083:0:22"},"scope":44426,"src":"222011:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38464,"nodeType":"Block","src":"223705:1348:22","statements":[{"assignments":[38437],"declarations":[{"constant":false,"id":38437,"mutability":"mutable","name":"m0","nameLocation":"223723:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38438,"nodeType":"VariableDeclarationStatement","src":"223715:10:22"},{"assignments":[38440],"declarations":[{"constant":false,"id":38440,"mutability":"mutable","name":"m1","nameLocation":"223743:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223735:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38441,"nodeType":"VariableDeclarationStatement","src":"223735:10:22"},{"assignments":[38443],"declarations":[{"constant":false,"id":38443,"mutability":"mutable","name":"m2","nameLocation":"223763:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38444,"nodeType":"VariableDeclarationStatement","src":"223755:10:22"},{"assignments":[38446],"declarations":[{"constant":false,"id":38446,"mutability":"mutable","name":"m3","nameLocation":"223783:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223775:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223775:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38447,"nodeType":"VariableDeclarationStatement","src":"223775:10:22"},{"assignments":[38449],"declarations":[{"constant":false,"id":38449,"mutability":"mutable","name":"m4","nameLocation":"223803:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223795:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38450,"nodeType":"VariableDeclarationStatement","src":"223795:10:22"},{"assignments":[38452],"declarations":[{"constant":false,"id":38452,"mutability":"mutable","name":"m5","nameLocation":"223823:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223815:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223815:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38453,"nodeType":"VariableDeclarationStatement","src":"223815:10:22"},{"assignments":[38455],"declarations":[{"constant":false,"id":38455,"mutability":"mutable","name":"m6","nameLocation":"223843:2:22","nodeType":"VariableDeclaration","scope":38464,"src":"223835:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223835:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38456,"nodeType":"VariableDeclarationStatement","src":"223835:10:22"},{"AST":{"nativeSrc":"223907:828:22","nodeType":"YulBlock","src":"223907:828:22","statements":[{"body":{"nativeSrc":"223950:313:22","nodeType":"YulBlock","src":"223950:313:22","statements":[{"nativeSrc":"223968:15:22","nodeType":"YulVariableDeclaration","src":"223968:15:22","value":{"kind":"number","nativeSrc":"223982:1:22","nodeType":"YulLiteral","src":"223982:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"223972:6:22","nodeType":"YulTypedName","src":"223972:6:22","type":""}]},{"body":{"nativeSrc":"224053:40:22","nodeType":"YulBlock","src":"224053:40:22","statements":[{"body":{"nativeSrc":"224082:9:22","nodeType":"YulBlock","src":"224082:9:22","statements":[{"nativeSrc":"224084:5:22","nodeType":"YulBreak","src":"224084:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"224070:6:22","nodeType":"YulIdentifier","src":"224070:6:22"},{"name":"w","nativeSrc":"224078:1:22","nodeType":"YulIdentifier","src":"224078:1:22"}],"functionName":{"name":"byte","nativeSrc":"224065:4:22","nodeType":"YulIdentifier","src":"224065:4:22"},"nativeSrc":"224065:15:22","nodeType":"YulFunctionCall","src":"224065:15:22"}],"functionName":{"name":"iszero","nativeSrc":"224058:6:22","nodeType":"YulIdentifier","src":"224058:6:22"},"nativeSrc":"224058:23:22","nodeType":"YulFunctionCall","src":"224058:23:22"},"nativeSrc":"224055:36:22","nodeType":"YulIf","src":"224055:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"224010:6:22","nodeType":"YulIdentifier","src":"224010:6:22"},{"kind":"number","nativeSrc":"224018:4:22","nodeType":"YulLiteral","src":"224018:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"224007:2:22","nodeType":"YulIdentifier","src":"224007:2:22"},"nativeSrc":"224007:16:22","nodeType":"YulFunctionCall","src":"224007:16:22"},"nativeSrc":"224000:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"224024:28:22","nodeType":"YulBlock","src":"224024:28:22","statements":[{"nativeSrc":"224026:24:22","nodeType":"YulAssignment","src":"224026:24:22","value":{"arguments":[{"name":"length","nativeSrc":"224040:6:22","nodeType":"YulIdentifier","src":"224040:6:22"},{"kind":"number","nativeSrc":"224048:1:22","nodeType":"YulLiteral","src":"224048:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"224036:3:22","nodeType":"YulIdentifier","src":"224036:3:22"},"nativeSrc":"224036:14:22","nodeType":"YulFunctionCall","src":"224036:14:22"},"variableNames":[{"name":"length","nativeSrc":"224026:6:22","nodeType":"YulIdentifier","src":"224026:6:22"}]}]},"pre":{"nativeSrc":"224004:2:22","nodeType":"YulBlock","src":"224004:2:22","statements":[]},"src":"224000:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"224117:3:22","nodeType":"YulIdentifier","src":"224117:3:22"},{"name":"length","nativeSrc":"224122:6:22","nodeType":"YulIdentifier","src":"224122:6:22"}],"functionName":{"name":"mstore","nativeSrc":"224110:6:22","nodeType":"YulIdentifier","src":"224110:6:22"},"nativeSrc":"224110:19:22","nodeType":"YulFunctionCall","src":"224110:19:22"},"nativeSrc":"224110:19:22","nodeType":"YulExpressionStatement","src":"224110:19:22"},{"nativeSrc":"224146:37:22","nodeType":"YulVariableDeclaration","src":"224146:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"224163:3:22","nodeType":"YulLiteral","src":"224163:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"224172:1:22","nodeType":"YulLiteral","src":"224172:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"224175:6:22","nodeType":"YulIdentifier","src":"224175:6:22"}],"functionName":{"name":"shl","nativeSrc":"224168:3:22","nodeType":"YulIdentifier","src":"224168:3:22"},"nativeSrc":"224168:14:22","nodeType":"YulFunctionCall","src":"224168:14:22"}],"functionName":{"name":"sub","nativeSrc":"224159:3:22","nodeType":"YulIdentifier","src":"224159:3:22"},"nativeSrc":"224159:24:22","nodeType":"YulFunctionCall","src":"224159:24:22"},"variables":[{"name":"shift","nativeSrc":"224150:5:22","nodeType":"YulTypedName","src":"224150:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"224211:3:22","nodeType":"YulIdentifier","src":"224211:3:22"},{"kind":"number","nativeSrc":"224216:4:22","nodeType":"YulLiteral","src":"224216:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"224207:3:22","nodeType":"YulIdentifier","src":"224207:3:22"},"nativeSrc":"224207:14:22","nodeType":"YulFunctionCall","src":"224207:14:22"},{"arguments":[{"name":"shift","nativeSrc":"224227:5:22","nodeType":"YulIdentifier","src":"224227:5:22"},{"arguments":[{"name":"shift","nativeSrc":"224238:5:22","nodeType":"YulIdentifier","src":"224238:5:22"},{"name":"w","nativeSrc":"224245:1:22","nodeType":"YulIdentifier","src":"224245:1:22"}],"functionName":{"name":"shr","nativeSrc":"224234:3:22","nodeType":"YulIdentifier","src":"224234:3:22"},"nativeSrc":"224234:13:22","nodeType":"YulFunctionCall","src":"224234:13:22"}],"functionName":{"name":"shl","nativeSrc":"224223:3:22","nodeType":"YulIdentifier","src":"224223:3:22"},"nativeSrc":"224223:25:22","nodeType":"YulFunctionCall","src":"224223:25:22"}],"functionName":{"name":"mstore","nativeSrc":"224200:6:22","nodeType":"YulIdentifier","src":"224200:6:22"},"nativeSrc":"224200:49:22","nodeType":"YulFunctionCall","src":"224200:49:22"},"nativeSrc":"224200:49:22","nodeType":"YulExpressionStatement","src":"224200:49:22"}]},"name":"writeString","nativeSrc":"223921:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"223942:3:22","nodeType":"YulTypedName","src":"223942:3:22","type":""},{"name":"w","nativeSrc":"223947:1:22","nodeType":"YulTypedName","src":"223947:1:22","type":""}],"src":"223921:342:22"},{"nativeSrc":"224276:17:22","nodeType":"YulAssignment","src":"224276:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224288:4:22","nodeType":"YulLiteral","src":"224288:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"224282:5:22","nodeType":"YulIdentifier","src":"224282:5:22"},"nativeSrc":"224282:11:22","nodeType":"YulFunctionCall","src":"224282:11:22"},"variableNames":[{"name":"m0","nativeSrc":"224276:2:22","nodeType":"YulIdentifier","src":"224276:2:22"}]},{"nativeSrc":"224306:17:22","nodeType":"YulAssignment","src":"224306:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224318:4:22","nodeType":"YulLiteral","src":"224318:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"224312:5:22","nodeType":"YulIdentifier","src":"224312:5:22"},"nativeSrc":"224312:11:22","nodeType":"YulFunctionCall","src":"224312:11:22"},"variableNames":[{"name":"m1","nativeSrc":"224306:2:22","nodeType":"YulIdentifier","src":"224306:2:22"}]},{"nativeSrc":"224336:17:22","nodeType":"YulAssignment","src":"224336:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224348:4:22","nodeType":"YulLiteral","src":"224348:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"224342:5:22","nodeType":"YulIdentifier","src":"224342:5:22"},"nativeSrc":"224342:11:22","nodeType":"YulFunctionCall","src":"224342:11:22"},"variableNames":[{"name":"m2","nativeSrc":"224336:2:22","nodeType":"YulIdentifier","src":"224336:2:22"}]},{"nativeSrc":"224366:17:22","nodeType":"YulAssignment","src":"224366:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224378:4:22","nodeType":"YulLiteral","src":"224378:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"224372:5:22","nodeType":"YulIdentifier","src":"224372:5:22"},"nativeSrc":"224372:11:22","nodeType":"YulFunctionCall","src":"224372:11:22"},"variableNames":[{"name":"m3","nativeSrc":"224366:2:22","nodeType":"YulIdentifier","src":"224366:2:22"}]},{"nativeSrc":"224396:17:22","nodeType":"YulAssignment","src":"224396:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224408:4:22","nodeType":"YulLiteral","src":"224408:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"224402:5:22","nodeType":"YulIdentifier","src":"224402:5:22"},"nativeSrc":"224402:11:22","nodeType":"YulFunctionCall","src":"224402:11:22"},"variableNames":[{"name":"m4","nativeSrc":"224396:2:22","nodeType":"YulIdentifier","src":"224396:2:22"}]},{"nativeSrc":"224426:17:22","nodeType":"YulAssignment","src":"224426:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224438:4:22","nodeType":"YulLiteral","src":"224438:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"224432:5:22","nodeType":"YulIdentifier","src":"224432:5:22"},"nativeSrc":"224432:11:22","nodeType":"YulFunctionCall","src":"224432:11:22"},"variableNames":[{"name":"m5","nativeSrc":"224426:2:22","nodeType":"YulIdentifier","src":"224426:2:22"}]},{"nativeSrc":"224456:17:22","nodeType":"YulAssignment","src":"224456:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"224468:4:22","nodeType":"YulLiteral","src":"224468:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"224462:5:22","nodeType":"YulIdentifier","src":"224462:5:22"},"nativeSrc":"224462:11:22","nodeType":"YulFunctionCall","src":"224462:11:22"},"variableNames":[{"name":"m6","nativeSrc":"224456:2:22","nodeType":"YulIdentifier","src":"224456:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224556:4:22","nodeType":"YulLiteral","src":"224556:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"224562:10:22","nodeType":"YulLiteral","src":"224562:10:22","type":"","value":"0x2b2b18dc"}],"functionName":{"name":"mstore","nativeSrc":"224549:6:22","nodeType":"YulIdentifier","src":"224549:6:22"},"nativeSrc":"224549:24:22","nodeType":"YulFunctionCall","src":"224549:24:22"},"nativeSrc":"224549:24:22","nodeType":"YulExpressionStatement","src":"224549:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224593:4:22","nodeType":"YulLiteral","src":"224593:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"224599:2:22","nodeType":"YulIdentifier","src":"224599:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224586:6:22","nodeType":"YulIdentifier","src":"224586:6:22"},"nativeSrc":"224586:16:22","nodeType":"YulFunctionCall","src":"224586:16:22"},"nativeSrc":"224586:16:22","nodeType":"YulExpressionStatement","src":"224586:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224622:4:22","nodeType":"YulLiteral","src":"224622:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"224628:4:22","nodeType":"YulLiteral","src":"224628:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"224615:6:22","nodeType":"YulIdentifier","src":"224615:6:22"},"nativeSrc":"224615:18:22","nodeType":"YulFunctionCall","src":"224615:18:22"},"nativeSrc":"224615:18:22","nodeType":"YulExpressionStatement","src":"224615:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224653:4:22","nodeType":"YulLiteral","src":"224653:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"224659:2:22","nodeType":"YulIdentifier","src":"224659:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224646:6:22","nodeType":"YulIdentifier","src":"224646:6:22"},"nativeSrc":"224646:16:22","nodeType":"YulFunctionCall","src":"224646:16:22"},"nativeSrc":"224646:16:22","nodeType":"YulExpressionStatement","src":"224646:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224682:4:22","nodeType":"YulLiteral","src":"224682:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"224688:2:22","nodeType":"YulIdentifier","src":"224688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224675:6:22","nodeType":"YulIdentifier","src":"224675:6:22"},"nativeSrc":"224675:16:22","nodeType":"YulFunctionCall","src":"224675:16:22"},"nativeSrc":"224675:16:22","nodeType":"YulExpressionStatement","src":"224675:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224716:4:22","nodeType":"YulLiteral","src":"224716:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"224722:2:22","nodeType":"YulIdentifier","src":"224722:2:22"}],"functionName":{"name":"writeString","nativeSrc":"224704:11:22","nodeType":"YulIdentifier","src":"224704:11:22"},"nativeSrc":"224704:21:22","nodeType":"YulFunctionCall","src":"224704:21:22"},"nativeSrc":"224704:21:22","nodeType":"YulExpressionStatement","src":"224704:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38437,"isOffset":false,"isSlot":false,"src":"224276:2:22","valueSize":1},{"declaration":38440,"isOffset":false,"isSlot":false,"src":"224306:2:22","valueSize":1},{"declaration":38443,"isOffset":false,"isSlot":false,"src":"224336:2:22","valueSize":1},{"declaration":38446,"isOffset":false,"isSlot":false,"src":"224366:2:22","valueSize":1},{"declaration":38449,"isOffset":false,"isSlot":false,"src":"224396:2:22","valueSize":1},{"declaration":38452,"isOffset":false,"isSlot":false,"src":"224426:2:22","valueSize":1},{"declaration":38455,"isOffset":false,"isSlot":false,"src":"224456:2:22","valueSize":1},{"declaration":38427,"isOffset":false,"isSlot":false,"src":"224599:2:22","valueSize":1},{"declaration":38429,"isOffset":false,"isSlot":false,"src":"224722:2:22","valueSize":1},{"declaration":38431,"isOffset":false,"isSlot":false,"src":"224659:2:22","valueSize":1},{"declaration":38433,"isOffset":false,"isSlot":false,"src":"224688:2:22","valueSize":1}],"id":38457,"nodeType":"InlineAssembly","src":"223898:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224760:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224766:4:22","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":38458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"224744:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224744:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38462,"nodeType":"ExpressionStatement","src":"224744:27:22"},{"AST":{"nativeSrc":"224833:214:22","nodeType":"YulBlock","src":"224833:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"224854:4:22","nodeType":"YulLiteral","src":"224854:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"224860:2:22","nodeType":"YulIdentifier","src":"224860:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224847:6:22","nodeType":"YulIdentifier","src":"224847:6:22"},"nativeSrc":"224847:16:22","nodeType":"YulFunctionCall","src":"224847:16:22"},"nativeSrc":"224847:16:22","nodeType":"YulExpressionStatement","src":"224847:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224883:4:22","nodeType":"YulLiteral","src":"224883:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"224889:2:22","nodeType":"YulIdentifier","src":"224889:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224876:6:22","nodeType":"YulIdentifier","src":"224876:6:22"},"nativeSrc":"224876:16:22","nodeType":"YulFunctionCall","src":"224876:16:22"},"nativeSrc":"224876:16:22","nodeType":"YulExpressionStatement","src":"224876:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224912:4:22","nodeType":"YulLiteral","src":"224912:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"224918:2:22","nodeType":"YulIdentifier","src":"224918:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224905:6:22","nodeType":"YulIdentifier","src":"224905:6:22"},"nativeSrc":"224905:16:22","nodeType":"YulFunctionCall","src":"224905:16:22"},"nativeSrc":"224905:16:22","nodeType":"YulExpressionStatement","src":"224905:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224941:4:22","nodeType":"YulLiteral","src":"224941:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"224947:2:22","nodeType":"YulIdentifier","src":"224947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224934:6:22","nodeType":"YulIdentifier","src":"224934:6:22"},"nativeSrc":"224934:16:22","nodeType":"YulFunctionCall","src":"224934:16:22"},"nativeSrc":"224934:16:22","nodeType":"YulExpressionStatement","src":"224934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224970:4:22","nodeType":"YulLiteral","src":"224970:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"224976:2:22","nodeType":"YulIdentifier","src":"224976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224963:6:22","nodeType":"YulIdentifier","src":"224963:6:22"},"nativeSrc":"224963:16:22","nodeType":"YulFunctionCall","src":"224963:16:22"},"nativeSrc":"224963:16:22","nodeType":"YulExpressionStatement","src":"224963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224999:4:22","nodeType":"YulLiteral","src":"224999:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"225005:2:22","nodeType":"YulIdentifier","src":"225005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"224992:6:22","nodeType":"YulIdentifier","src":"224992:6:22"},"nativeSrc":"224992:16:22","nodeType":"YulFunctionCall","src":"224992:16:22"},"nativeSrc":"224992:16:22","nodeType":"YulExpressionStatement","src":"224992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225028:4:22","nodeType":"YulLiteral","src":"225028:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"225034:2:22","nodeType":"YulIdentifier","src":"225034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"225021:6:22","nodeType":"YulIdentifier","src":"225021:6:22"},"nativeSrc":"225021:16:22","nodeType":"YulFunctionCall","src":"225021:16:22"},"nativeSrc":"225021:16:22","nodeType":"YulExpressionStatement","src":"225021:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38437,"isOffset":false,"isSlot":false,"src":"224860:2:22","valueSize":1},{"declaration":38440,"isOffset":false,"isSlot":false,"src":"224889:2:22","valueSize":1},{"declaration":38443,"isOffset":false,"isSlot":false,"src":"224918:2:22","valueSize":1},{"declaration":38446,"isOffset":false,"isSlot":false,"src":"224947:2:22","valueSize":1},{"declaration":38449,"isOffset":false,"isSlot":false,"src":"224976:2:22","valueSize":1},{"declaration":38452,"isOffset":false,"isSlot":false,"src":"225005:2:22","valueSize":1},{"declaration":38455,"isOffset":false,"isSlot":false,"src":"225034:2:22","valueSize":1}],"id":38463,"nodeType":"InlineAssembly","src":"224824:223:22"}]},"id":38465,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"223642:3:22","nodeType":"FunctionDefinition","parameters":{"id":38434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38427,"mutability":"mutable","name":"p0","nameLocation":"223651:2:22","nodeType":"VariableDeclaration","scope":38465,"src":"223646:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38426,"name":"bool","nodeType":"ElementaryTypeName","src":"223646:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38429,"mutability":"mutable","name":"p1","nameLocation":"223663:2:22","nodeType":"VariableDeclaration","scope":38465,"src":"223655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223655:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38431,"mutability":"mutable","name":"p2","nameLocation":"223675:2:22","nodeType":"VariableDeclaration","scope":38465,"src":"223667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38430,"name":"address","nodeType":"ElementaryTypeName","src":"223667:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38433,"mutability":"mutable","name":"p3","nameLocation":"223687:2:22","nodeType":"VariableDeclaration","scope":38465,"src":"223679:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38432,"name":"address","nodeType":"ElementaryTypeName","src":"223679:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"223645:45:22"},"returnParameters":{"id":38435,"nodeType":"ParameterList","parameters":[],"src":"223705:0:22"},"scope":44426,"src":"223633:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38504,"nodeType":"Block","src":"225128:1345:22","statements":[{"assignments":[38477],"declarations":[{"constant":false,"id":38477,"mutability":"mutable","name":"m0","nameLocation":"225146:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38478,"nodeType":"VariableDeclarationStatement","src":"225138:10:22"},{"assignments":[38480],"declarations":[{"constant":false,"id":38480,"mutability":"mutable","name":"m1","nameLocation":"225166:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225158:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38481,"nodeType":"VariableDeclarationStatement","src":"225158:10:22"},{"assignments":[38483],"declarations":[{"constant":false,"id":38483,"mutability":"mutable","name":"m2","nameLocation":"225186:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225178:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225178:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38484,"nodeType":"VariableDeclarationStatement","src":"225178:10:22"},{"assignments":[38486],"declarations":[{"constant":false,"id":38486,"mutability":"mutable","name":"m3","nameLocation":"225206:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225198:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225198:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38487,"nodeType":"VariableDeclarationStatement","src":"225198:10:22"},{"assignments":[38489],"declarations":[{"constant":false,"id":38489,"mutability":"mutable","name":"m4","nameLocation":"225226:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225218:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225218:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38490,"nodeType":"VariableDeclarationStatement","src":"225218:10:22"},{"assignments":[38492],"declarations":[{"constant":false,"id":38492,"mutability":"mutable","name":"m5","nameLocation":"225246:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225238:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225238:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38493,"nodeType":"VariableDeclarationStatement","src":"225238:10:22"},{"assignments":[38495],"declarations":[{"constant":false,"id":38495,"mutability":"mutable","name":"m6","nameLocation":"225266:2:22","nodeType":"VariableDeclaration","scope":38504,"src":"225258:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225258:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38496,"nodeType":"VariableDeclarationStatement","src":"225258:10:22"},{"AST":{"nativeSrc":"225330:825:22","nodeType":"YulBlock","src":"225330:825:22","statements":[{"body":{"nativeSrc":"225373:313:22","nodeType":"YulBlock","src":"225373:313:22","statements":[{"nativeSrc":"225391:15:22","nodeType":"YulVariableDeclaration","src":"225391:15:22","value":{"kind":"number","nativeSrc":"225405:1:22","nodeType":"YulLiteral","src":"225405:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"225395:6:22","nodeType":"YulTypedName","src":"225395:6:22","type":""}]},{"body":{"nativeSrc":"225476:40:22","nodeType":"YulBlock","src":"225476:40:22","statements":[{"body":{"nativeSrc":"225505:9:22","nodeType":"YulBlock","src":"225505:9:22","statements":[{"nativeSrc":"225507:5:22","nodeType":"YulBreak","src":"225507:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"225493:6:22","nodeType":"YulIdentifier","src":"225493:6:22"},{"name":"w","nativeSrc":"225501:1:22","nodeType":"YulIdentifier","src":"225501:1:22"}],"functionName":{"name":"byte","nativeSrc":"225488:4:22","nodeType":"YulIdentifier","src":"225488:4:22"},"nativeSrc":"225488:15:22","nodeType":"YulFunctionCall","src":"225488:15:22"}],"functionName":{"name":"iszero","nativeSrc":"225481:6:22","nodeType":"YulIdentifier","src":"225481:6:22"},"nativeSrc":"225481:23:22","nodeType":"YulFunctionCall","src":"225481:23:22"},"nativeSrc":"225478:36:22","nodeType":"YulIf","src":"225478:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"225433:6:22","nodeType":"YulIdentifier","src":"225433:6:22"},{"kind":"number","nativeSrc":"225441:4:22","nodeType":"YulLiteral","src":"225441:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"225430:2:22","nodeType":"YulIdentifier","src":"225430:2:22"},"nativeSrc":"225430:16:22","nodeType":"YulFunctionCall","src":"225430:16:22"},"nativeSrc":"225423:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"225447:28:22","nodeType":"YulBlock","src":"225447:28:22","statements":[{"nativeSrc":"225449:24:22","nodeType":"YulAssignment","src":"225449:24:22","value":{"arguments":[{"name":"length","nativeSrc":"225463:6:22","nodeType":"YulIdentifier","src":"225463:6:22"},{"kind":"number","nativeSrc":"225471:1:22","nodeType":"YulLiteral","src":"225471:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"225459:3:22","nodeType":"YulIdentifier","src":"225459:3:22"},"nativeSrc":"225459:14:22","nodeType":"YulFunctionCall","src":"225459:14:22"},"variableNames":[{"name":"length","nativeSrc":"225449:6:22","nodeType":"YulIdentifier","src":"225449:6:22"}]}]},"pre":{"nativeSrc":"225427:2:22","nodeType":"YulBlock","src":"225427:2:22","statements":[]},"src":"225423:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"225540:3:22","nodeType":"YulIdentifier","src":"225540:3:22"},{"name":"length","nativeSrc":"225545:6:22","nodeType":"YulIdentifier","src":"225545:6:22"}],"functionName":{"name":"mstore","nativeSrc":"225533:6:22","nodeType":"YulIdentifier","src":"225533:6:22"},"nativeSrc":"225533:19:22","nodeType":"YulFunctionCall","src":"225533:19:22"},"nativeSrc":"225533:19:22","nodeType":"YulExpressionStatement","src":"225533:19:22"},{"nativeSrc":"225569:37:22","nodeType":"YulVariableDeclaration","src":"225569:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"225586:3:22","nodeType":"YulLiteral","src":"225586:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"225595:1:22","nodeType":"YulLiteral","src":"225595:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"225598:6:22","nodeType":"YulIdentifier","src":"225598:6:22"}],"functionName":{"name":"shl","nativeSrc":"225591:3:22","nodeType":"YulIdentifier","src":"225591:3:22"},"nativeSrc":"225591:14:22","nodeType":"YulFunctionCall","src":"225591:14:22"}],"functionName":{"name":"sub","nativeSrc":"225582:3:22","nodeType":"YulIdentifier","src":"225582:3:22"},"nativeSrc":"225582:24:22","nodeType":"YulFunctionCall","src":"225582:24:22"},"variables":[{"name":"shift","nativeSrc":"225573:5:22","nodeType":"YulTypedName","src":"225573:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"225634:3:22","nodeType":"YulIdentifier","src":"225634:3:22"},{"kind":"number","nativeSrc":"225639:4:22","nodeType":"YulLiteral","src":"225639:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"225630:3:22","nodeType":"YulIdentifier","src":"225630:3:22"},"nativeSrc":"225630:14:22","nodeType":"YulFunctionCall","src":"225630:14:22"},{"arguments":[{"name":"shift","nativeSrc":"225650:5:22","nodeType":"YulIdentifier","src":"225650:5:22"},{"arguments":[{"name":"shift","nativeSrc":"225661:5:22","nodeType":"YulIdentifier","src":"225661:5:22"},{"name":"w","nativeSrc":"225668:1:22","nodeType":"YulIdentifier","src":"225668:1:22"}],"functionName":{"name":"shr","nativeSrc":"225657:3:22","nodeType":"YulIdentifier","src":"225657:3:22"},"nativeSrc":"225657:13:22","nodeType":"YulFunctionCall","src":"225657:13:22"}],"functionName":{"name":"shl","nativeSrc":"225646:3:22","nodeType":"YulIdentifier","src":"225646:3:22"},"nativeSrc":"225646:25:22","nodeType":"YulFunctionCall","src":"225646:25:22"}],"functionName":{"name":"mstore","nativeSrc":"225623:6:22","nodeType":"YulIdentifier","src":"225623:6:22"},"nativeSrc":"225623:49:22","nodeType":"YulFunctionCall","src":"225623:49:22"},"nativeSrc":"225623:49:22","nodeType":"YulExpressionStatement","src":"225623:49:22"}]},"name":"writeString","nativeSrc":"225344:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"225365:3:22","nodeType":"YulTypedName","src":"225365:3:22","type":""},{"name":"w","nativeSrc":"225370:1:22","nodeType":"YulTypedName","src":"225370:1:22","type":""}],"src":"225344:342:22"},{"nativeSrc":"225699:17:22","nodeType":"YulAssignment","src":"225699:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225711:4:22","nodeType":"YulLiteral","src":"225711:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"225705:5:22","nodeType":"YulIdentifier","src":"225705:5:22"},"nativeSrc":"225705:11:22","nodeType":"YulFunctionCall","src":"225705:11:22"},"variableNames":[{"name":"m0","nativeSrc":"225699:2:22","nodeType":"YulIdentifier","src":"225699:2:22"}]},{"nativeSrc":"225729:17:22","nodeType":"YulAssignment","src":"225729:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225741:4:22","nodeType":"YulLiteral","src":"225741:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"225735:5:22","nodeType":"YulIdentifier","src":"225735:5:22"},"nativeSrc":"225735:11:22","nodeType":"YulFunctionCall","src":"225735:11:22"},"variableNames":[{"name":"m1","nativeSrc":"225729:2:22","nodeType":"YulIdentifier","src":"225729:2:22"}]},{"nativeSrc":"225759:17:22","nodeType":"YulAssignment","src":"225759:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225771:4:22","nodeType":"YulLiteral","src":"225771:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"225765:5:22","nodeType":"YulIdentifier","src":"225765:5:22"},"nativeSrc":"225765:11:22","nodeType":"YulFunctionCall","src":"225765:11:22"},"variableNames":[{"name":"m2","nativeSrc":"225759:2:22","nodeType":"YulIdentifier","src":"225759:2:22"}]},{"nativeSrc":"225789:17:22","nodeType":"YulAssignment","src":"225789:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225801:4:22","nodeType":"YulLiteral","src":"225801:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"225795:5:22","nodeType":"YulIdentifier","src":"225795:5:22"},"nativeSrc":"225795:11:22","nodeType":"YulFunctionCall","src":"225795:11:22"},"variableNames":[{"name":"m3","nativeSrc":"225789:2:22","nodeType":"YulIdentifier","src":"225789:2:22"}]},{"nativeSrc":"225819:17:22","nodeType":"YulAssignment","src":"225819:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225831:4:22","nodeType":"YulLiteral","src":"225831:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"225825:5:22","nodeType":"YulIdentifier","src":"225825:5:22"},"nativeSrc":"225825:11:22","nodeType":"YulFunctionCall","src":"225825:11:22"},"variableNames":[{"name":"m4","nativeSrc":"225819:2:22","nodeType":"YulIdentifier","src":"225819:2:22"}]},{"nativeSrc":"225849:17:22","nodeType":"YulAssignment","src":"225849:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225861:4:22","nodeType":"YulLiteral","src":"225861:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"225855:5:22","nodeType":"YulIdentifier","src":"225855:5:22"},"nativeSrc":"225855:11:22","nodeType":"YulFunctionCall","src":"225855:11:22"},"variableNames":[{"name":"m5","nativeSrc":"225849:2:22","nodeType":"YulIdentifier","src":"225849:2:22"}]},{"nativeSrc":"225879:17:22","nodeType":"YulAssignment","src":"225879:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"225891:4:22","nodeType":"YulLiteral","src":"225891:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"225885:5:22","nodeType":"YulIdentifier","src":"225885:5:22"},"nativeSrc":"225885:11:22","nodeType":"YulFunctionCall","src":"225885:11:22"},"variableNames":[{"name":"m6","nativeSrc":"225879:2:22","nodeType":"YulIdentifier","src":"225879:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225976:4:22","nodeType":"YulLiteral","src":"225976:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"225982:10:22","nodeType":"YulLiteral","src":"225982:10:22","type":"","value":"0x6dd434ca"}],"functionName":{"name":"mstore","nativeSrc":"225969:6:22","nodeType":"YulIdentifier","src":"225969:6:22"},"nativeSrc":"225969:24:22","nodeType":"YulFunctionCall","src":"225969:24:22"},"nativeSrc":"225969:24:22","nodeType":"YulExpressionStatement","src":"225969:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226013:4:22","nodeType":"YulLiteral","src":"226013:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"226019:2:22","nodeType":"YulIdentifier","src":"226019:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226006:6:22","nodeType":"YulIdentifier","src":"226006:6:22"},"nativeSrc":"226006:16:22","nodeType":"YulFunctionCall","src":"226006:16:22"},"nativeSrc":"226006:16:22","nodeType":"YulExpressionStatement","src":"226006:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226042:4:22","nodeType":"YulLiteral","src":"226042:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"226048:4:22","nodeType":"YulLiteral","src":"226048:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"226035:6:22","nodeType":"YulIdentifier","src":"226035:6:22"},"nativeSrc":"226035:18:22","nodeType":"YulFunctionCall","src":"226035:18:22"},"nativeSrc":"226035:18:22","nodeType":"YulExpressionStatement","src":"226035:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226073:4:22","nodeType":"YulLiteral","src":"226073:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"226079:2:22","nodeType":"YulIdentifier","src":"226079:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226066:6:22","nodeType":"YulIdentifier","src":"226066:6:22"},"nativeSrc":"226066:16:22","nodeType":"YulFunctionCall","src":"226066:16:22"},"nativeSrc":"226066:16:22","nodeType":"YulExpressionStatement","src":"226066:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226102:4:22","nodeType":"YulLiteral","src":"226102:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"226108:2:22","nodeType":"YulIdentifier","src":"226108:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226095:6:22","nodeType":"YulIdentifier","src":"226095:6:22"},"nativeSrc":"226095:16:22","nodeType":"YulFunctionCall","src":"226095:16:22"},"nativeSrc":"226095:16:22","nodeType":"YulExpressionStatement","src":"226095:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226136:4:22","nodeType":"YulLiteral","src":"226136:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"226142:2:22","nodeType":"YulIdentifier","src":"226142:2:22"}],"functionName":{"name":"writeString","nativeSrc":"226124:11:22","nodeType":"YulIdentifier","src":"226124:11:22"},"nativeSrc":"226124:21:22","nodeType":"YulFunctionCall","src":"226124:21:22"},"nativeSrc":"226124:21:22","nodeType":"YulExpressionStatement","src":"226124:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38477,"isOffset":false,"isSlot":false,"src":"225699:2:22","valueSize":1},{"declaration":38480,"isOffset":false,"isSlot":false,"src":"225729:2:22","valueSize":1},{"declaration":38483,"isOffset":false,"isSlot":false,"src":"225759:2:22","valueSize":1},{"declaration":38486,"isOffset":false,"isSlot":false,"src":"225789:2:22","valueSize":1},{"declaration":38489,"isOffset":false,"isSlot":false,"src":"225819:2:22","valueSize":1},{"declaration":38492,"isOffset":false,"isSlot":false,"src":"225849:2:22","valueSize":1},{"declaration":38495,"isOffset":false,"isSlot":false,"src":"225879:2:22","valueSize":1},{"declaration":38467,"isOffset":false,"isSlot":false,"src":"226019:2:22","valueSize":1},{"declaration":38469,"isOffset":false,"isSlot":false,"src":"226142:2:22","valueSize":1},{"declaration":38471,"isOffset":false,"isSlot":false,"src":"226079:2:22","valueSize":1},{"declaration":38473,"isOffset":false,"isSlot":false,"src":"226108:2:22","valueSize":1}],"id":38497,"nodeType":"InlineAssembly","src":"225321:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226180:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226186:4:22","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":38498,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"226164:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"226164:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38502,"nodeType":"ExpressionStatement","src":"226164:27:22"},{"AST":{"nativeSrc":"226253:214:22","nodeType":"YulBlock","src":"226253:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"226274:4:22","nodeType":"YulLiteral","src":"226274:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"226280:2:22","nodeType":"YulIdentifier","src":"226280:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226267:6:22","nodeType":"YulIdentifier","src":"226267:6:22"},"nativeSrc":"226267:16:22","nodeType":"YulFunctionCall","src":"226267:16:22"},"nativeSrc":"226267:16:22","nodeType":"YulExpressionStatement","src":"226267:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226303:4:22","nodeType":"YulLiteral","src":"226303:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"226309:2:22","nodeType":"YulIdentifier","src":"226309:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226296:6:22","nodeType":"YulIdentifier","src":"226296:6:22"},"nativeSrc":"226296:16:22","nodeType":"YulFunctionCall","src":"226296:16:22"},"nativeSrc":"226296:16:22","nodeType":"YulExpressionStatement","src":"226296:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226332:4:22","nodeType":"YulLiteral","src":"226332:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"226338:2:22","nodeType":"YulIdentifier","src":"226338:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226325:6:22","nodeType":"YulIdentifier","src":"226325:6:22"},"nativeSrc":"226325:16:22","nodeType":"YulFunctionCall","src":"226325:16:22"},"nativeSrc":"226325:16:22","nodeType":"YulExpressionStatement","src":"226325:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226361:4:22","nodeType":"YulLiteral","src":"226361:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"226367:2:22","nodeType":"YulIdentifier","src":"226367:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226354:6:22","nodeType":"YulIdentifier","src":"226354:6:22"},"nativeSrc":"226354:16:22","nodeType":"YulFunctionCall","src":"226354:16:22"},"nativeSrc":"226354:16:22","nodeType":"YulExpressionStatement","src":"226354:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226390:4:22","nodeType":"YulLiteral","src":"226390:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"226396:2:22","nodeType":"YulIdentifier","src":"226396:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226383:6:22","nodeType":"YulIdentifier","src":"226383:6:22"},"nativeSrc":"226383:16:22","nodeType":"YulFunctionCall","src":"226383:16:22"},"nativeSrc":"226383:16:22","nodeType":"YulExpressionStatement","src":"226383:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226419:4:22","nodeType":"YulLiteral","src":"226419:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"226425:2:22","nodeType":"YulIdentifier","src":"226425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226412:6:22","nodeType":"YulIdentifier","src":"226412:6:22"},"nativeSrc":"226412:16:22","nodeType":"YulFunctionCall","src":"226412:16:22"},"nativeSrc":"226412:16:22","nodeType":"YulExpressionStatement","src":"226412:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226448:4:22","nodeType":"YulLiteral","src":"226448:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"226454:2:22","nodeType":"YulIdentifier","src":"226454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"226441:6:22","nodeType":"YulIdentifier","src":"226441:6:22"},"nativeSrc":"226441:16:22","nodeType":"YulFunctionCall","src":"226441:16:22"},"nativeSrc":"226441:16:22","nodeType":"YulExpressionStatement","src":"226441:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38477,"isOffset":false,"isSlot":false,"src":"226280:2:22","valueSize":1},{"declaration":38480,"isOffset":false,"isSlot":false,"src":"226309:2:22","valueSize":1},{"declaration":38483,"isOffset":false,"isSlot":false,"src":"226338:2:22","valueSize":1},{"declaration":38486,"isOffset":false,"isSlot":false,"src":"226367:2:22","valueSize":1},{"declaration":38489,"isOffset":false,"isSlot":false,"src":"226396:2:22","valueSize":1},{"declaration":38492,"isOffset":false,"isSlot":false,"src":"226425:2:22","valueSize":1},{"declaration":38495,"isOffset":false,"isSlot":false,"src":"226454:2:22","valueSize":1}],"id":38503,"nodeType":"InlineAssembly","src":"226244:223:22"}]},"id":38505,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"225068:3:22","nodeType":"FunctionDefinition","parameters":{"id":38474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38467,"mutability":"mutable","name":"p0","nameLocation":"225077:2:22","nodeType":"VariableDeclaration","scope":38505,"src":"225072:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38466,"name":"bool","nodeType":"ElementaryTypeName","src":"225072:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38469,"mutability":"mutable","name":"p1","nameLocation":"225089:2:22","nodeType":"VariableDeclaration","scope":38505,"src":"225081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225081:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38471,"mutability":"mutable","name":"p2","nameLocation":"225101:2:22","nodeType":"VariableDeclaration","scope":38505,"src":"225093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38470,"name":"address","nodeType":"ElementaryTypeName","src":"225093:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38473,"mutability":"mutable","name":"p3","nameLocation":"225110:2:22","nodeType":"VariableDeclaration","scope":38505,"src":"225105:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38472,"name":"bool","nodeType":"ElementaryTypeName","src":"225105:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"225071:42:22"},"returnParameters":{"id":38475,"nodeType":"ParameterList","parameters":[],"src":"225128:0:22"},"scope":44426,"src":"225059:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38544,"nodeType":"Block","src":"226551:1348:22","statements":[{"assignments":[38517],"declarations":[{"constant":false,"id":38517,"mutability":"mutable","name":"m0","nameLocation":"226569:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226561:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226561:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38518,"nodeType":"VariableDeclarationStatement","src":"226561:10:22"},{"assignments":[38520],"declarations":[{"constant":false,"id":38520,"mutability":"mutable","name":"m1","nameLocation":"226589:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226581:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226581:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38521,"nodeType":"VariableDeclarationStatement","src":"226581:10:22"},{"assignments":[38523],"declarations":[{"constant":false,"id":38523,"mutability":"mutable","name":"m2","nameLocation":"226609:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226601:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226601:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38524,"nodeType":"VariableDeclarationStatement","src":"226601:10:22"},{"assignments":[38526],"declarations":[{"constant":false,"id":38526,"mutability":"mutable","name":"m3","nameLocation":"226629:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226621:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226621:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38527,"nodeType":"VariableDeclarationStatement","src":"226621:10:22"},{"assignments":[38529],"declarations":[{"constant":false,"id":38529,"mutability":"mutable","name":"m4","nameLocation":"226649:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226641:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226641:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38530,"nodeType":"VariableDeclarationStatement","src":"226641:10:22"},{"assignments":[38532],"declarations":[{"constant":false,"id":38532,"mutability":"mutable","name":"m5","nameLocation":"226669:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226661:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226661:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38533,"nodeType":"VariableDeclarationStatement","src":"226661:10:22"},{"assignments":[38535],"declarations":[{"constant":false,"id":38535,"mutability":"mutable","name":"m6","nameLocation":"226689:2:22","nodeType":"VariableDeclaration","scope":38544,"src":"226681:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226681:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38536,"nodeType":"VariableDeclarationStatement","src":"226681:10:22"},{"AST":{"nativeSrc":"226753:828:22","nodeType":"YulBlock","src":"226753:828:22","statements":[{"body":{"nativeSrc":"226796:313:22","nodeType":"YulBlock","src":"226796:313:22","statements":[{"nativeSrc":"226814:15:22","nodeType":"YulVariableDeclaration","src":"226814:15:22","value":{"kind":"number","nativeSrc":"226828:1:22","nodeType":"YulLiteral","src":"226828:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"226818:6:22","nodeType":"YulTypedName","src":"226818:6:22","type":""}]},{"body":{"nativeSrc":"226899:40:22","nodeType":"YulBlock","src":"226899:40:22","statements":[{"body":{"nativeSrc":"226928:9:22","nodeType":"YulBlock","src":"226928:9:22","statements":[{"nativeSrc":"226930:5:22","nodeType":"YulBreak","src":"226930:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"226916:6:22","nodeType":"YulIdentifier","src":"226916:6:22"},{"name":"w","nativeSrc":"226924:1:22","nodeType":"YulIdentifier","src":"226924:1:22"}],"functionName":{"name":"byte","nativeSrc":"226911:4:22","nodeType":"YulIdentifier","src":"226911:4:22"},"nativeSrc":"226911:15:22","nodeType":"YulFunctionCall","src":"226911:15:22"}],"functionName":{"name":"iszero","nativeSrc":"226904:6:22","nodeType":"YulIdentifier","src":"226904:6:22"},"nativeSrc":"226904:23:22","nodeType":"YulFunctionCall","src":"226904:23:22"},"nativeSrc":"226901:36:22","nodeType":"YulIf","src":"226901:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"226856:6:22","nodeType":"YulIdentifier","src":"226856:6:22"},{"kind":"number","nativeSrc":"226864:4:22","nodeType":"YulLiteral","src":"226864:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"226853:2:22","nodeType":"YulIdentifier","src":"226853:2:22"},"nativeSrc":"226853:16:22","nodeType":"YulFunctionCall","src":"226853:16:22"},"nativeSrc":"226846:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"226870:28:22","nodeType":"YulBlock","src":"226870:28:22","statements":[{"nativeSrc":"226872:24:22","nodeType":"YulAssignment","src":"226872:24:22","value":{"arguments":[{"name":"length","nativeSrc":"226886:6:22","nodeType":"YulIdentifier","src":"226886:6:22"},{"kind":"number","nativeSrc":"226894:1:22","nodeType":"YulLiteral","src":"226894:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"226882:3:22","nodeType":"YulIdentifier","src":"226882:3:22"},"nativeSrc":"226882:14:22","nodeType":"YulFunctionCall","src":"226882:14:22"},"variableNames":[{"name":"length","nativeSrc":"226872:6:22","nodeType":"YulIdentifier","src":"226872:6:22"}]}]},"pre":{"nativeSrc":"226850:2:22","nodeType":"YulBlock","src":"226850:2:22","statements":[]},"src":"226846:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"226963:3:22","nodeType":"YulIdentifier","src":"226963:3:22"},{"name":"length","nativeSrc":"226968:6:22","nodeType":"YulIdentifier","src":"226968:6:22"}],"functionName":{"name":"mstore","nativeSrc":"226956:6:22","nodeType":"YulIdentifier","src":"226956:6:22"},"nativeSrc":"226956:19:22","nodeType":"YulFunctionCall","src":"226956:19:22"},"nativeSrc":"226956:19:22","nodeType":"YulExpressionStatement","src":"226956:19:22"},{"nativeSrc":"226992:37:22","nodeType":"YulVariableDeclaration","src":"226992:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"227009:3:22","nodeType":"YulLiteral","src":"227009:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"227018:1:22","nodeType":"YulLiteral","src":"227018:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"227021:6:22","nodeType":"YulIdentifier","src":"227021:6:22"}],"functionName":{"name":"shl","nativeSrc":"227014:3:22","nodeType":"YulIdentifier","src":"227014:3:22"},"nativeSrc":"227014:14:22","nodeType":"YulFunctionCall","src":"227014:14:22"}],"functionName":{"name":"sub","nativeSrc":"227005:3:22","nodeType":"YulIdentifier","src":"227005:3:22"},"nativeSrc":"227005:24:22","nodeType":"YulFunctionCall","src":"227005:24:22"},"variables":[{"name":"shift","nativeSrc":"226996:5:22","nodeType":"YulTypedName","src":"226996:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"227057:3:22","nodeType":"YulIdentifier","src":"227057:3:22"},{"kind":"number","nativeSrc":"227062:4:22","nodeType":"YulLiteral","src":"227062:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"227053:3:22","nodeType":"YulIdentifier","src":"227053:3:22"},"nativeSrc":"227053:14:22","nodeType":"YulFunctionCall","src":"227053:14:22"},{"arguments":[{"name":"shift","nativeSrc":"227073:5:22","nodeType":"YulIdentifier","src":"227073:5:22"},{"arguments":[{"name":"shift","nativeSrc":"227084:5:22","nodeType":"YulIdentifier","src":"227084:5:22"},{"name":"w","nativeSrc":"227091:1:22","nodeType":"YulIdentifier","src":"227091:1:22"}],"functionName":{"name":"shr","nativeSrc":"227080:3:22","nodeType":"YulIdentifier","src":"227080:3:22"},"nativeSrc":"227080:13:22","nodeType":"YulFunctionCall","src":"227080:13:22"}],"functionName":{"name":"shl","nativeSrc":"227069:3:22","nodeType":"YulIdentifier","src":"227069:3:22"},"nativeSrc":"227069:25:22","nodeType":"YulFunctionCall","src":"227069:25:22"}],"functionName":{"name":"mstore","nativeSrc":"227046:6:22","nodeType":"YulIdentifier","src":"227046:6:22"},"nativeSrc":"227046:49:22","nodeType":"YulFunctionCall","src":"227046:49:22"},"nativeSrc":"227046:49:22","nodeType":"YulExpressionStatement","src":"227046:49:22"}]},"name":"writeString","nativeSrc":"226767:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"226788:3:22","nodeType":"YulTypedName","src":"226788:3:22","type":""},{"name":"w","nativeSrc":"226793:1:22","nodeType":"YulTypedName","src":"226793:1:22","type":""}],"src":"226767:342:22"},{"nativeSrc":"227122:17:22","nodeType":"YulAssignment","src":"227122:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227134:4:22","nodeType":"YulLiteral","src":"227134:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"227128:5:22","nodeType":"YulIdentifier","src":"227128:5:22"},"nativeSrc":"227128:11:22","nodeType":"YulFunctionCall","src":"227128:11:22"},"variableNames":[{"name":"m0","nativeSrc":"227122:2:22","nodeType":"YulIdentifier","src":"227122:2:22"}]},{"nativeSrc":"227152:17:22","nodeType":"YulAssignment","src":"227152:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227164:4:22","nodeType":"YulLiteral","src":"227164:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"227158:5:22","nodeType":"YulIdentifier","src":"227158:5:22"},"nativeSrc":"227158:11:22","nodeType":"YulFunctionCall","src":"227158:11:22"},"variableNames":[{"name":"m1","nativeSrc":"227152:2:22","nodeType":"YulIdentifier","src":"227152:2:22"}]},{"nativeSrc":"227182:17:22","nodeType":"YulAssignment","src":"227182:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227194:4:22","nodeType":"YulLiteral","src":"227194:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"227188:5:22","nodeType":"YulIdentifier","src":"227188:5:22"},"nativeSrc":"227188:11:22","nodeType":"YulFunctionCall","src":"227188:11:22"},"variableNames":[{"name":"m2","nativeSrc":"227182:2:22","nodeType":"YulIdentifier","src":"227182:2:22"}]},{"nativeSrc":"227212:17:22","nodeType":"YulAssignment","src":"227212:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227224:4:22","nodeType":"YulLiteral","src":"227224:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"227218:5:22","nodeType":"YulIdentifier","src":"227218:5:22"},"nativeSrc":"227218:11:22","nodeType":"YulFunctionCall","src":"227218:11:22"},"variableNames":[{"name":"m3","nativeSrc":"227212:2:22","nodeType":"YulIdentifier","src":"227212:2:22"}]},{"nativeSrc":"227242:17:22","nodeType":"YulAssignment","src":"227242:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227254:4:22","nodeType":"YulLiteral","src":"227254:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"227248:5:22","nodeType":"YulIdentifier","src":"227248:5:22"},"nativeSrc":"227248:11:22","nodeType":"YulFunctionCall","src":"227248:11:22"},"variableNames":[{"name":"m4","nativeSrc":"227242:2:22","nodeType":"YulIdentifier","src":"227242:2:22"}]},{"nativeSrc":"227272:17:22","nodeType":"YulAssignment","src":"227272:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227284:4:22","nodeType":"YulLiteral","src":"227284:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"227278:5:22","nodeType":"YulIdentifier","src":"227278:5:22"},"nativeSrc":"227278:11:22","nodeType":"YulFunctionCall","src":"227278:11:22"},"variableNames":[{"name":"m5","nativeSrc":"227272:2:22","nodeType":"YulIdentifier","src":"227272:2:22"}]},{"nativeSrc":"227302:17:22","nodeType":"YulAssignment","src":"227302:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"227314:4:22","nodeType":"YulLiteral","src":"227314:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"227308:5:22","nodeType":"YulIdentifier","src":"227308:5:22"},"nativeSrc":"227308:11:22","nodeType":"YulFunctionCall","src":"227308:11:22"},"variableNames":[{"name":"m6","nativeSrc":"227302:2:22","nodeType":"YulIdentifier","src":"227302:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227402:4:22","nodeType":"YulLiteral","src":"227402:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"227408:10:22","nodeType":"YulLiteral","src":"227408:10:22","type":"","value":"0xa5cada94"}],"functionName":{"name":"mstore","nativeSrc":"227395:6:22","nodeType":"YulIdentifier","src":"227395:6:22"},"nativeSrc":"227395:24:22","nodeType":"YulFunctionCall","src":"227395:24:22"},"nativeSrc":"227395:24:22","nodeType":"YulExpressionStatement","src":"227395:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227439:4:22","nodeType":"YulLiteral","src":"227439:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"227445:2:22","nodeType":"YulIdentifier","src":"227445:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227432:6:22","nodeType":"YulIdentifier","src":"227432:6:22"},"nativeSrc":"227432:16:22","nodeType":"YulFunctionCall","src":"227432:16:22"},"nativeSrc":"227432:16:22","nodeType":"YulExpressionStatement","src":"227432:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227468:4:22","nodeType":"YulLiteral","src":"227468:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"227474:4:22","nodeType":"YulLiteral","src":"227474:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"227461:6:22","nodeType":"YulIdentifier","src":"227461:6:22"},"nativeSrc":"227461:18:22","nodeType":"YulFunctionCall","src":"227461:18:22"},"nativeSrc":"227461:18:22","nodeType":"YulExpressionStatement","src":"227461:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227499:4:22","nodeType":"YulLiteral","src":"227499:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"227505:2:22","nodeType":"YulIdentifier","src":"227505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227492:6:22","nodeType":"YulIdentifier","src":"227492:6:22"},"nativeSrc":"227492:16:22","nodeType":"YulFunctionCall","src":"227492:16:22"},"nativeSrc":"227492:16:22","nodeType":"YulExpressionStatement","src":"227492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227528:4:22","nodeType":"YulLiteral","src":"227528:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"227534:2:22","nodeType":"YulIdentifier","src":"227534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227521:6:22","nodeType":"YulIdentifier","src":"227521:6:22"},"nativeSrc":"227521:16:22","nodeType":"YulFunctionCall","src":"227521:16:22"},"nativeSrc":"227521:16:22","nodeType":"YulExpressionStatement","src":"227521:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227562:4:22","nodeType":"YulLiteral","src":"227562:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"227568:2:22","nodeType":"YulIdentifier","src":"227568:2:22"}],"functionName":{"name":"writeString","nativeSrc":"227550:11:22","nodeType":"YulIdentifier","src":"227550:11:22"},"nativeSrc":"227550:21:22","nodeType":"YulFunctionCall","src":"227550:21:22"},"nativeSrc":"227550:21:22","nodeType":"YulExpressionStatement","src":"227550:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38517,"isOffset":false,"isSlot":false,"src":"227122:2:22","valueSize":1},{"declaration":38520,"isOffset":false,"isSlot":false,"src":"227152:2:22","valueSize":1},{"declaration":38523,"isOffset":false,"isSlot":false,"src":"227182:2:22","valueSize":1},{"declaration":38526,"isOffset":false,"isSlot":false,"src":"227212:2:22","valueSize":1},{"declaration":38529,"isOffset":false,"isSlot":false,"src":"227242:2:22","valueSize":1},{"declaration":38532,"isOffset":false,"isSlot":false,"src":"227272:2:22","valueSize":1},{"declaration":38535,"isOffset":false,"isSlot":false,"src":"227302:2:22","valueSize":1},{"declaration":38507,"isOffset":false,"isSlot":false,"src":"227445:2:22","valueSize":1},{"declaration":38509,"isOffset":false,"isSlot":false,"src":"227568:2:22","valueSize":1},{"declaration":38511,"isOffset":false,"isSlot":false,"src":"227505:2:22","valueSize":1},{"declaration":38513,"isOffset":false,"isSlot":false,"src":"227534:2:22","valueSize":1}],"id":38537,"nodeType":"InlineAssembly","src":"226744:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227606:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227612:4:22","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":38538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"227590:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"227590:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38542,"nodeType":"ExpressionStatement","src":"227590:27:22"},{"AST":{"nativeSrc":"227679:214:22","nodeType":"YulBlock","src":"227679:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"227700:4:22","nodeType":"YulLiteral","src":"227700:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"227706:2:22","nodeType":"YulIdentifier","src":"227706:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227693:6:22","nodeType":"YulIdentifier","src":"227693:6:22"},"nativeSrc":"227693:16:22","nodeType":"YulFunctionCall","src":"227693:16:22"},"nativeSrc":"227693:16:22","nodeType":"YulExpressionStatement","src":"227693:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227729:4:22","nodeType":"YulLiteral","src":"227729:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"227735:2:22","nodeType":"YulIdentifier","src":"227735:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227722:6:22","nodeType":"YulIdentifier","src":"227722:6:22"},"nativeSrc":"227722:16:22","nodeType":"YulFunctionCall","src":"227722:16:22"},"nativeSrc":"227722:16:22","nodeType":"YulExpressionStatement","src":"227722:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227758:4:22","nodeType":"YulLiteral","src":"227758:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"227764:2:22","nodeType":"YulIdentifier","src":"227764:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227751:6:22","nodeType":"YulIdentifier","src":"227751:6:22"},"nativeSrc":"227751:16:22","nodeType":"YulFunctionCall","src":"227751:16:22"},"nativeSrc":"227751:16:22","nodeType":"YulExpressionStatement","src":"227751:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227787:4:22","nodeType":"YulLiteral","src":"227787:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"227793:2:22","nodeType":"YulIdentifier","src":"227793:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227780:6:22","nodeType":"YulIdentifier","src":"227780:6:22"},"nativeSrc":"227780:16:22","nodeType":"YulFunctionCall","src":"227780:16:22"},"nativeSrc":"227780:16:22","nodeType":"YulExpressionStatement","src":"227780:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227816:4:22","nodeType":"YulLiteral","src":"227816:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"227822:2:22","nodeType":"YulIdentifier","src":"227822:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227809:6:22","nodeType":"YulIdentifier","src":"227809:6:22"},"nativeSrc":"227809:16:22","nodeType":"YulFunctionCall","src":"227809:16:22"},"nativeSrc":"227809:16:22","nodeType":"YulExpressionStatement","src":"227809:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227845:4:22","nodeType":"YulLiteral","src":"227845:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"227851:2:22","nodeType":"YulIdentifier","src":"227851:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227838:6:22","nodeType":"YulIdentifier","src":"227838:6:22"},"nativeSrc":"227838:16:22","nodeType":"YulFunctionCall","src":"227838:16:22"},"nativeSrc":"227838:16:22","nodeType":"YulExpressionStatement","src":"227838:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227874:4:22","nodeType":"YulLiteral","src":"227874:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"227880:2:22","nodeType":"YulIdentifier","src":"227880:2:22"}],"functionName":{"name":"mstore","nativeSrc":"227867:6:22","nodeType":"YulIdentifier","src":"227867:6:22"},"nativeSrc":"227867:16:22","nodeType":"YulFunctionCall","src":"227867:16:22"},"nativeSrc":"227867:16:22","nodeType":"YulExpressionStatement","src":"227867:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38517,"isOffset":false,"isSlot":false,"src":"227706:2:22","valueSize":1},{"declaration":38520,"isOffset":false,"isSlot":false,"src":"227735:2:22","valueSize":1},{"declaration":38523,"isOffset":false,"isSlot":false,"src":"227764:2:22","valueSize":1},{"declaration":38526,"isOffset":false,"isSlot":false,"src":"227793:2:22","valueSize":1},{"declaration":38529,"isOffset":false,"isSlot":false,"src":"227822:2:22","valueSize":1},{"declaration":38532,"isOffset":false,"isSlot":false,"src":"227851:2:22","valueSize":1},{"declaration":38535,"isOffset":false,"isSlot":false,"src":"227880:2:22","valueSize":1}],"id":38543,"nodeType":"InlineAssembly","src":"227670:223:22"}]},"id":38545,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"226488:3:22","nodeType":"FunctionDefinition","parameters":{"id":38514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38507,"mutability":"mutable","name":"p0","nameLocation":"226497:2:22","nodeType":"VariableDeclaration","scope":38545,"src":"226492:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38506,"name":"bool","nodeType":"ElementaryTypeName","src":"226492:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38509,"mutability":"mutable","name":"p1","nameLocation":"226509:2:22","nodeType":"VariableDeclaration","scope":38545,"src":"226501:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226501:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38511,"mutability":"mutable","name":"p2","nameLocation":"226521:2:22","nodeType":"VariableDeclaration","scope":38545,"src":"226513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38510,"name":"address","nodeType":"ElementaryTypeName","src":"226513:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38513,"mutability":"mutable","name":"p3","nameLocation":"226533:2:22","nodeType":"VariableDeclaration","scope":38545,"src":"226525:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38512,"name":"uint256","nodeType":"ElementaryTypeName","src":"226525:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"226491:45:22"},"returnParameters":{"id":38515,"nodeType":"ParameterList","parameters":[],"src":"226551:0:22"},"scope":44426,"src":"226479:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38590,"nodeType":"Block","src":"227977:1544:22","statements":[{"assignments":[38557],"declarations":[{"constant":false,"id":38557,"mutability":"mutable","name":"m0","nameLocation":"227995:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"227987:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227987:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38558,"nodeType":"VariableDeclarationStatement","src":"227987:10:22"},{"assignments":[38560],"declarations":[{"constant":false,"id":38560,"mutability":"mutable","name":"m1","nameLocation":"228015:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228007:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228007:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38561,"nodeType":"VariableDeclarationStatement","src":"228007:10:22"},{"assignments":[38563],"declarations":[{"constant":false,"id":38563,"mutability":"mutable","name":"m2","nameLocation":"228035:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228027:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228027:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38564,"nodeType":"VariableDeclarationStatement","src":"228027:10:22"},{"assignments":[38566],"declarations":[{"constant":false,"id":38566,"mutability":"mutable","name":"m3","nameLocation":"228055:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228047:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228047:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38567,"nodeType":"VariableDeclarationStatement","src":"228047:10:22"},{"assignments":[38569],"declarations":[{"constant":false,"id":38569,"mutability":"mutable","name":"m4","nameLocation":"228075:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38570,"nodeType":"VariableDeclarationStatement","src":"228067:10:22"},{"assignments":[38572],"declarations":[{"constant":false,"id":38572,"mutability":"mutable","name":"m5","nameLocation":"228095:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38573,"nodeType":"VariableDeclarationStatement","src":"228087:10:22"},{"assignments":[38575],"declarations":[{"constant":false,"id":38575,"mutability":"mutable","name":"m6","nameLocation":"228115:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38576,"nodeType":"VariableDeclarationStatement","src":"228107:10:22"},{"assignments":[38578],"declarations":[{"constant":false,"id":38578,"mutability":"mutable","name":"m7","nameLocation":"228135:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228127:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228127:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38579,"nodeType":"VariableDeclarationStatement","src":"228127:10:22"},{"assignments":[38581],"declarations":[{"constant":false,"id":38581,"mutability":"mutable","name":"m8","nameLocation":"228155:2:22","nodeType":"VariableDeclaration","scope":38590,"src":"228147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38582,"nodeType":"VariableDeclarationStatement","src":"228147:10:22"},{"AST":{"nativeSrc":"228219:924:22","nodeType":"YulBlock","src":"228219:924:22","statements":[{"body":{"nativeSrc":"228262:313:22","nodeType":"YulBlock","src":"228262:313:22","statements":[{"nativeSrc":"228280:15:22","nodeType":"YulVariableDeclaration","src":"228280:15:22","value":{"kind":"number","nativeSrc":"228294:1:22","nodeType":"YulLiteral","src":"228294:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"228284:6:22","nodeType":"YulTypedName","src":"228284:6:22","type":""}]},{"body":{"nativeSrc":"228365:40:22","nodeType":"YulBlock","src":"228365:40:22","statements":[{"body":{"nativeSrc":"228394:9:22","nodeType":"YulBlock","src":"228394:9:22","statements":[{"nativeSrc":"228396:5:22","nodeType":"YulBreak","src":"228396:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"228382:6:22","nodeType":"YulIdentifier","src":"228382:6:22"},{"name":"w","nativeSrc":"228390:1:22","nodeType":"YulIdentifier","src":"228390:1:22"}],"functionName":{"name":"byte","nativeSrc":"228377:4:22","nodeType":"YulIdentifier","src":"228377:4:22"},"nativeSrc":"228377:15:22","nodeType":"YulFunctionCall","src":"228377:15:22"}],"functionName":{"name":"iszero","nativeSrc":"228370:6:22","nodeType":"YulIdentifier","src":"228370:6:22"},"nativeSrc":"228370:23:22","nodeType":"YulFunctionCall","src":"228370:23:22"},"nativeSrc":"228367:36:22","nodeType":"YulIf","src":"228367:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"228322:6:22","nodeType":"YulIdentifier","src":"228322:6:22"},{"kind":"number","nativeSrc":"228330:4:22","nodeType":"YulLiteral","src":"228330:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"228319:2:22","nodeType":"YulIdentifier","src":"228319:2:22"},"nativeSrc":"228319:16:22","nodeType":"YulFunctionCall","src":"228319:16:22"},"nativeSrc":"228312:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"228336:28:22","nodeType":"YulBlock","src":"228336:28:22","statements":[{"nativeSrc":"228338:24:22","nodeType":"YulAssignment","src":"228338:24:22","value":{"arguments":[{"name":"length","nativeSrc":"228352:6:22","nodeType":"YulIdentifier","src":"228352:6:22"},{"kind":"number","nativeSrc":"228360:1:22","nodeType":"YulLiteral","src":"228360:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"228348:3:22","nodeType":"YulIdentifier","src":"228348:3:22"},"nativeSrc":"228348:14:22","nodeType":"YulFunctionCall","src":"228348:14:22"},"variableNames":[{"name":"length","nativeSrc":"228338:6:22","nodeType":"YulIdentifier","src":"228338:6:22"}]}]},"pre":{"nativeSrc":"228316:2:22","nodeType":"YulBlock","src":"228316:2:22","statements":[]},"src":"228312:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"228429:3:22","nodeType":"YulIdentifier","src":"228429:3:22"},{"name":"length","nativeSrc":"228434:6:22","nodeType":"YulIdentifier","src":"228434:6:22"}],"functionName":{"name":"mstore","nativeSrc":"228422:6:22","nodeType":"YulIdentifier","src":"228422:6:22"},"nativeSrc":"228422:19:22","nodeType":"YulFunctionCall","src":"228422:19:22"},"nativeSrc":"228422:19:22","nodeType":"YulExpressionStatement","src":"228422:19:22"},{"nativeSrc":"228458:37:22","nodeType":"YulVariableDeclaration","src":"228458:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"228475:3:22","nodeType":"YulLiteral","src":"228475:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"228484:1:22","nodeType":"YulLiteral","src":"228484:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"228487:6:22","nodeType":"YulIdentifier","src":"228487:6:22"}],"functionName":{"name":"shl","nativeSrc":"228480:3:22","nodeType":"YulIdentifier","src":"228480:3:22"},"nativeSrc":"228480:14:22","nodeType":"YulFunctionCall","src":"228480:14:22"}],"functionName":{"name":"sub","nativeSrc":"228471:3:22","nodeType":"YulIdentifier","src":"228471:3:22"},"nativeSrc":"228471:24:22","nodeType":"YulFunctionCall","src":"228471:24:22"},"variables":[{"name":"shift","nativeSrc":"228462:5:22","nodeType":"YulTypedName","src":"228462:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"228523:3:22","nodeType":"YulIdentifier","src":"228523:3:22"},{"kind":"number","nativeSrc":"228528:4:22","nodeType":"YulLiteral","src":"228528:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"228519:3:22","nodeType":"YulIdentifier","src":"228519:3:22"},"nativeSrc":"228519:14:22","nodeType":"YulFunctionCall","src":"228519:14:22"},{"arguments":[{"name":"shift","nativeSrc":"228539:5:22","nodeType":"YulIdentifier","src":"228539:5:22"},{"arguments":[{"name":"shift","nativeSrc":"228550:5:22","nodeType":"YulIdentifier","src":"228550:5:22"},{"name":"w","nativeSrc":"228557:1:22","nodeType":"YulIdentifier","src":"228557:1:22"}],"functionName":{"name":"shr","nativeSrc":"228546:3:22","nodeType":"YulIdentifier","src":"228546:3:22"},"nativeSrc":"228546:13:22","nodeType":"YulFunctionCall","src":"228546:13:22"}],"functionName":{"name":"shl","nativeSrc":"228535:3:22","nodeType":"YulIdentifier","src":"228535:3:22"},"nativeSrc":"228535:25:22","nodeType":"YulFunctionCall","src":"228535:25:22"}],"functionName":{"name":"mstore","nativeSrc":"228512:6:22","nodeType":"YulIdentifier","src":"228512:6:22"},"nativeSrc":"228512:49:22","nodeType":"YulFunctionCall","src":"228512:49:22"},"nativeSrc":"228512:49:22","nodeType":"YulExpressionStatement","src":"228512:49:22"}]},"name":"writeString","nativeSrc":"228233:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"228254:3:22","nodeType":"YulTypedName","src":"228254:3:22","type":""},{"name":"w","nativeSrc":"228259:1:22","nodeType":"YulTypedName","src":"228259:1:22","type":""}],"src":"228233:342:22"},{"nativeSrc":"228588:17:22","nodeType":"YulAssignment","src":"228588:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228600:4:22","nodeType":"YulLiteral","src":"228600:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"228594:5:22","nodeType":"YulIdentifier","src":"228594:5:22"},"nativeSrc":"228594:11:22","nodeType":"YulFunctionCall","src":"228594:11:22"},"variableNames":[{"name":"m0","nativeSrc":"228588:2:22","nodeType":"YulIdentifier","src":"228588:2:22"}]},{"nativeSrc":"228618:17:22","nodeType":"YulAssignment","src":"228618:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228630:4:22","nodeType":"YulLiteral","src":"228630:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"228624:5:22","nodeType":"YulIdentifier","src":"228624:5:22"},"nativeSrc":"228624:11:22","nodeType":"YulFunctionCall","src":"228624:11:22"},"variableNames":[{"name":"m1","nativeSrc":"228618:2:22","nodeType":"YulIdentifier","src":"228618:2:22"}]},{"nativeSrc":"228648:17:22","nodeType":"YulAssignment","src":"228648:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228660:4:22","nodeType":"YulLiteral","src":"228660:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"228654:5:22","nodeType":"YulIdentifier","src":"228654:5:22"},"nativeSrc":"228654:11:22","nodeType":"YulFunctionCall","src":"228654:11:22"},"variableNames":[{"name":"m2","nativeSrc":"228648:2:22","nodeType":"YulIdentifier","src":"228648:2:22"}]},{"nativeSrc":"228678:17:22","nodeType":"YulAssignment","src":"228678:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228690:4:22","nodeType":"YulLiteral","src":"228690:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"228684:5:22","nodeType":"YulIdentifier","src":"228684:5:22"},"nativeSrc":"228684:11:22","nodeType":"YulFunctionCall","src":"228684:11:22"},"variableNames":[{"name":"m3","nativeSrc":"228678:2:22","nodeType":"YulIdentifier","src":"228678:2:22"}]},{"nativeSrc":"228708:17:22","nodeType":"YulAssignment","src":"228708:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228720:4:22","nodeType":"YulLiteral","src":"228720:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"228714:5:22","nodeType":"YulIdentifier","src":"228714:5:22"},"nativeSrc":"228714:11:22","nodeType":"YulFunctionCall","src":"228714:11:22"},"variableNames":[{"name":"m4","nativeSrc":"228708:2:22","nodeType":"YulIdentifier","src":"228708:2:22"}]},{"nativeSrc":"228738:17:22","nodeType":"YulAssignment","src":"228738:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228750:4:22","nodeType":"YulLiteral","src":"228750:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"228744:5:22","nodeType":"YulIdentifier","src":"228744:5:22"},"nativeSrc":"228744:11:22","nodeType":"YulFunctionCall","src":"228744:11:22"},"variableNames":[{"name":"m5","nativeSrc":"228738:2:22","nodeType":"YulIdentifier","src":"228738:2:22"}]},{"nativeSrc":"228768:17:22","nodeType":"YulAssignment","src":"228768:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228780:4:22","nodeType":"YulLiteral","src":"228780:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"228774:5:22","nodeType":"YulIdentifier","src":"228774:5:22"},"nativeSrc":"228774:11:22","nodeType":"YulFunctionCall","src":"228774:11:22"},"variableNames":[{"name":"m6","nativeSrc":"228768:2:22","nodeType":"YulIdentifier","src":"228768:2:22"}]},{"nativeSrc":"228798:17:22","nodeType":"YulAssignment","src":"228798:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"228810:4:22","nodeType":"YulLiteral","src":"228810:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"228804:5:22","nodeType":"YulIdentifier","src":"228804:5:22"},"nativeSrc":"228804:11:22","nodeType":"YulFunctionCall","src":"228804:11:22"},"variableNames":[{"name":"m7","nativeSrc":"228798:2:22","nodeType":"YulIdentifier","src":"228798:2:22"}]},{"nativeSrc":"228828:18:22","nodeType":"YulAssignment","src":"228828:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"228840:5:22","nodeType":"YulLiteral","src":"228840:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"228834:5:22","nodeType":"YulIdentifier","src":"228834:5:22"},"nativeSrc":"228834:12:22","nodeType":"YulFunctionCall","src":"228834:12:22"},"variableNames":[{"name":"m8","nativeSrc":"228828:2:22","nodeType":"YulIdentifier","src":"228828:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228928:4:22","nodeType":"YulLiteral","src":"228928:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"228934:10:22","nodeType":"YulLiteral","src":"228934:10:22","type":"","value":"0x12d6c788"}],"functionName":{"name":"mstore","nativeSrc":"228921:6:22","nodeType":"YulIdentifier","src":"228921:6:22"},"nativeSrc":"228921:24:22","nodeType":"YulFunctionCall","src":"228921:24:22"},"nativeSrc":"228921:24:22","nodeType":"YulExpressionStatement","src":"228921:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228965:4:22","nodeType":"YulLiteral","src":"228965:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"228971:2:22","nodeType":"YulIdentifier","src":"228971:2:22"}],"functionName":{"name":"mstore","nativeSrc":"228958:6:22","nodeType":"YulIdentifier","src":"228958:6:22"},"nativeSrc":"228958:16:22","nodeType":"YulFunctionCall","src":"228958:16:22"},"nativeSrc":"228958:16:22","nodeType":"YulExpressionStatement","src":"228958:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228994:4:22","nodeType":"YulLiteral","src":"228994:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"229000:4:22","nodeType":"YulLiteral","src":"229000:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"228987:6:22","nodeType":"YulIdentifier","src":"228987:6:22"},"nativeSrc":"228987:18:22","nodeType":"YulFunctionCall","src":"228987:18:22"},"nativeSrc":"228987:18:22","nodeType":"YulExpressionStatement","src":"228987:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229025:4:22","nodeType":"YulLiteral","src":"229025:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"229031:2:22","nodeType":"YulIdentifier","src":"229031:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229018:6:22","nodeType":"YulIdentifier","src":"229018:6:22"},"nativeSrc":"229018:16:22","nodeType":"YulFunctionCall","src":"229018:16:22"},"nativeSrc":"229018:16:22","nodeType":"YulExpressionStatement","src":"229018:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229054:4:22","nodeType":"YulLiteral","src":"229054:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"229060:4:22","nodeType":"YulLiteral","src":"229060:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"229047:6:22","nodeType":"YulIdentifier","src":"229047:6:22"},"nativeSrc":"229047:18:22","nodeType":"YulFunctionCall","src":"229047:18:22"},"nativeSrc":"229047:18:22","nodeType":"YulExpressionStatement","src":"229047:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229090:4:22","nodeType":"YulLiteral","src":"229090:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"229096:2:22","nodeType":"YulIdentifier","src":"229096:2:22"}],"functionName":{"name":"writeString","nativeSrc":"229078:11:22","nodeType":"YulIdentifier","src":"229078:11:22"},"nativeSrc":"229078:21:22","nodeType":"YulFunctionCall","src":"229078:21:22"},"nativeSrc":"229078:21:22","nodeType":"YulExpressionStatement","src":"229078:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229124:4:22","nodeType":"YulLiteral","src":"229124:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"229130:2:22","nodeType":"YulIdentifier","src":"229130:2:22"}],"functionName":{"name":"writeString","nativeSrc":"229112:11:22","nodeType":"YulIdentifier","src":"229112:11:22"},"nativeSrc":"229112:21:22","nodeType":"YulFunctionCall","src":"229112:21:22"},"nativeSrc":"229112:21:22","nodeType":"YulExpressionStatement","src":"229112:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38557,"isOffset":false,"isSlot":false,"src":"228588:2:22","valueSize":1},{"declaration":38560,"isOffset":false,"isSlot":false,"src":"228618:2:22","valueSize":1},{"declaration":38563,"isOffset":false,"isSlot":false,"src":"228648:2:22","valueSize":1},{"declaration":38566,"isOffset":false,"isSlot":false,"src":"228678:2:22","valueSize":1},{"declaration":38569,"isOffset":false,"isSlot":false,"src":"228708:2:22","valueSize":1},{"declaration":38572,"isOffset":false,"isSlot":false,"src":"228738:2:22","valueSize":1},{"declaration":38575,"isOffset":false,"isSlot":false,"src":"228768:2:22","valueSize":1},{"declaration":38578,"isOffset":false,"isSlot":false,"src":"228798:2:22","valueSize":1},{"declaration":38581,"isOffset":false,"isSlot":false,"src":"228828:2:22","valueSize":1},{"declaration":38547,"isOffset":false,"isSlot":false,"src":"228971:2:22","valueSize":1},{"declaration":38549,"isOffset":false,"isSlot":false,"src":"229096:2:22","valueSize":1},{"declaration":38551,"isOffset":false,"isSlot":false,"src":"229031:2:22","valueSize":1},{"declaration":38553,"isOffset":false,"isSlot":false,"src":"229130:2:22","valueSize":1}],"id":38583,"nodeType":"InlineAssembly","src":"228210:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229168:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229174:5:22","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":38584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"229152:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"229152:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38588,"nodeType":"ExpressionStatement","src":"229152:28:22"},{"AST":{"nativeSrc":"229242:273:22","nodeType":"YulBlock","src":"229242:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"229263:4:22","nodeType":"YulLiteral","src":"229263:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"229269:2:22","nodeType":"YulIdentifier","src":"229269:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229256:6:22","nodeType":"YulIdentifier","src":"229256:6:22"},"nativeSrc":"229256:16:22","nodeType":"YulFunctionCall","src":"229256:16:22"},"nativeSrc":"229256:16:22","nodeType":"YulExpressionStatement","src":"229256:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229292:4:22","nodeType":"YulLiteral","src":"229292:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"229298:2:22","nodeType":"YulIdentifier","src":"229298:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229285:6:22","nodeType":"YulIdentifier","src":"229285:6:22"},"nativeSrc":"229285:16:22","nodeType":"YulFunctionCall","src":"229285:16:22"},"nativeSrc":"229285:16:22","nodeType":"YulExpressionStatement","src":"229285:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229321:4:22","nodeType":"YulLiteral","src":"229321:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"229327:2:22","nodeType":"YulIdentifier","src":"229327:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229314:6:22","nodeType":"YulIdentifier","src":"229314:6:22"},"nativeSrc":"229314:16:22","nodeType":"YulFunctionCall","src":"229314:16:22"},"nativeSrc":"229314:16:22","nodeType":"YulExpressionStatement","src":"229314:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229350:4:22","nodeType":"YulLiteral","src":"229350:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"229356:2:22","nodeType":"YulIdentifier","src":"229356:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229343:6:22","nodeType":"YulIdentifier","src":"229343:6:22"},"nativeSrc":"229343:16:22","nodeType":"YulFunctionCall","src":"229343:16:22"},"nativeSrc":"229343:16:22","nodeType":"YulExpressionStatement","src":"229343:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229379:4:22","nodeType":"YulLiteral","src":"229379:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"229385:2:22","nodeType":"YulIdentifier","src":"229385:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229372:6:22","nodeType":"YulIdentifier","src":"229372:6:22"},"nativeSrc":"229372:16:22","nodeType":"YulFunctionCall","src":"229372:16:22"},"nativeSrc":"229372:16:22","nodeType":"YulExpressionStatement","src":"229372:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229408:4:22","nodeType":"YulLiteral","src":"229408:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"229414:2:22","nodeType":"YulIdentifier","src":"229414:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229401:6:22","nodeType":"YulIdentifier","src":"229401:6:22"},"nativeSrc":"229401:16:22","nodeType":"YulFunctionCall","src":"229401:16:22"},"nativeSrc":"229401:16:22","nodeType":"YulExpressionStatement","src":"229401:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229437:4:22","nodeType":"YulLiteral","src":"229437:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"229443:2:22","nodeType":"YulIdentifier","src":"229443:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229430:6:22","nodeType":"YulIdentifier","src":"229430:6:22"},"nativeSrc":"229430:16:22","nodeType":"YulFunctionCall","src":"229430:16:22"},"nativeSrc":"229430:16:22","nodeType":"YulExpressionStatement","src":"229430:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229466:4:22","nodeType":"YulLiteral","src":"229466:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"229472:2:22","nodeType":"YulIdentifier","src":"229472:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229459:6:22","nodeType":"YulIdentifier","src":"229459:6:22"},"nativeSrc":"229459:16:22","nodeType":"YulFunctionCall","src":"229459:16:22"},"nativeSrc":"229459:16:22","nodeType":"YulExpressionStatement","src":"229459:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229495:5:22","nodeType":"YulLiteral","src":"229495:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"229502:2:22","nodeType":"YulIdentifier","src":"229502:2:22"}],"functionName":{"name":"mstore","nativeSrc":"229488:6:22","nodeType":"YulIdentifier","src":"229488:6:22"},"nativeSrc":"229488:17:22","nodeType":"YulFunctionCall","src":"229488:17:22"},"nativeSrc":"229488:17:22","nodeType":"YulExpressionStatement","src":"229488:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38557,"isOffset":false,"isSlot":false,"src":"229269:2:22","valueSize":1},{"declaration":38560,"isOffset":false,"isSlot":false,"src":"229298:2:22","valueSize":1},{"declaration":38563,"isOffset":false,"isSlot":false,"src":"229327:2:22","valueSize":1},{"declaration":38566,"isOffset":false,"isSlot":false,"src":"229356:2:22","valueSize":1},{"declaration":38569,"isOffset":false,"isSlot":false,"src":"229385:2:22","valueSize":1},{"declaration":38572,"isOffset":false,"isSlot":false,"src":"229414:2:22","valueSize":1},{"declaration":38575,"isOffset":false,"isSlot":false,"src":"229443:2:22","valueSize":1},{"declaration":38578,"isOffset":false,"isSlot":false,"src":"229472:2:22","valueSize":1},{"declaration":38581,"isOffset":false,"isSlot":false,"src":"229502:2:22","valueSize":1}],"id":38589,"nodeType":"InlineAssembly","src":"229233:282:22"}]},"id":38591,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"227914:3:22","nodeType":"FunctionDefinition","parameters":{"id":38554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38547,"mutability":"mutable","name":"p0","nameLocation":"227923:2:22","nodeType":"VariableDeclaration","scope":38591,"src":"227918:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38546,"name":"bool","nodeType":"ElementaryTypeName","src":"227918:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38549,"mutability":"mutable","name":"p1","nameLocation":"227935:2:22","nodeType":"VariableDeclaration","scope":38591,"src":"227927:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227927:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38551,"mutability":"mutable","name":"p2","nameLocation":"227947:2:22","nodeType":"VariableDeclaration","scope":38591,"src":"227939:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38550,"name":"address","nodeType":"ElementaryTypeName","src":"227939:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38553,"mutability":"mutable","name":"p3","nameLocation":"227959:2:22","nodeType":"VariableDeclaration","scope":38591,"src":"227951:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227951:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"227917:45:22"},"returnParameters":{"id":38555,"nodeType":"ParameterList","parameters":[],"src":"227977:0:22"},"scope":44426,"src":"227905:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38630,"nodeType":"Block","src":"229596:1345:22","statements":[{"assignments":[38603],"declarations":[{"constant":false,"id":38603,"mutability":"mutable","name":"m0","nameLocation":"229614:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229606:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229606:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38604,"nodeType":"VariableDeclarationStatement","src":"229606:10:22"},{"assignments":[38606],"declarations":[{"constant":false,"id":38606,"mutability":"mutable","name":"m1","nameLocation":"229634:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229626:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229626:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38607,"nodeType":"VariableDeclarationStatement","src":"229626:10:22"},{"assignments":[38609],"declarations":[{"constant":false,"id":38609,"mutability":"mutable","name":"m2","nameLocation":"229654:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229646:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38610,"nodeType":"VariableDeclarationStatement","src":"229646:10:22"},{"assignments":[38612],"declarations":[{"constant":false,"id":38612,"mutability":"mutable","name":"m3","nameLocation":"229674:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229666:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229666:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38613,"nodeType":"VariableDeclarationStatement","src":"229666:10:22"},{"assignments":[38615],"declarations":[{"constant":false,"id":38615,"mutability":"mutable","name":"m4","nameLocation":"229694:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38616,"nodeType":"VariableDeclarationStatement","src":"229686:10:22"},{"assignments":[38618],"declarations":[{"constant":false,"id":38618,"mutability":"mutable","name":"m5","nameLocation":"229714:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229706:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38619,"nodeType":"VariableDeclarationStatement","src":"229706:10:22"},{"assignments":[38621],"declarations":[{"constant":false,"id":38621,"mutability":"mutable","name":"m6","nameLocation":"229734:2:22","nodeType":"VariableDeclaration","scope":38630,"src":"229726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229726:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38622,"nodeType":"VariableDeclarationStatement","src":"229726:10:22"},{"AST":{"nativeSrc":"229798:825:22","nodeType":"YulBlock","src":"229798:825:22","statements":[{"body":{"nativeSrc":"229841:313:22","nodeType":"YulBlock","src":"229841:313:22","statements":[{"nativeSrc":"229859:15:22","nodeType":"YulVariableDeclaration","src":"229859:15:22","value":{"kind":"number","nativeSrc":"229873:1:22","nodeType":"YulLiteral","src":"229873:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"229863:6:22","nodeType":"YulTypedName","src":"229863:6:22","type":""}]},{"body":{"nativeSrc":"229944:40:22","nodeType":"YulBlock","src":"229944:40:22","statements":[{"body":{"nativeSrc":"229973:9:22","nodeType":"YulBlock","src":"229973:9:22","statements":[{"nativeSrc":"229975:5:22","nodeType":"YulBreak","src":"229975:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"229961:6:22","nodeType":"YulIdentifier","src":"229961:6:22"},{"name":"w","nativeSrc":"229969:1:22","nodeType":"YulIdentifier","src":"229969:1:22"}],"functionName":{"name":"byte","nativeSrc":"229956:4:22","nodeType":"YulIdentifier","src":"229956:4:22"},"nativeSrc":"229956:15:22","nodeType":"YulFunctionCall","src":"229956:15:22"}],"functionName":{"name":"iszero","nativeSrc":"229949:6:22","nodeType":"YulIdentifier","src":"229949:6:22"},"nativeSrc":"229949:23:22","nodeType":"YulFunctionCall","src":"229949:23:22"},"nativeSrc":"229946:36:22","nodeType":"YulIf","src":"229946:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"229901:6:22","nodeType":"YulIdentifier","src":"229901:6:22"},{"kind":"number","nativeSrc":"229909:4:22","nodeType":"YulLiteral","src":"229909:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"229898:2:22","nodeType":"YulIdentifier","src":"229898:2:22"},"nativeSrc":"229898:16:22","nodeType":"YulFunctionCall","src":"229898:16:22"},"nativeSrc":"229891:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"229915:28:22","nodeType":"YulBlock","src":"229915:28:22","statements":[{"nativeSrc":"229917:24:22","nodeType":"YulAssignment","src":"229917:24:22","value":{"arguments":[{"name":"length","nativeSrc":"229931:6:22","nodeType":"YulIdentifier","src":"229931:6:22"},{"kind":"number","nativeSrc":"229939:1:22","nodeType":"YulLiteral","src":"229939:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"229927:3:22","nodeType":"YulIdentifier","src":"229927:3:22"},"nativeSrc":"229927:14:22","nodeType":"YulFunctionCall","src":"229927:14:22"},"variableNames":[{"name":"length","nativeSrc":"229917:6:22","nodeType":"YulIdentifier","src":"229917:6:22"}]}]},"pre":{"nativeSrc":"229895:2:22","nodeType":"YulBlock","src":"229895:2:22","statements":[]},"src":"229891:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"230008:3:22","nodeType":"YulIdentifier","src":"230008:3:22"},{"name":"length","nativeSrc":"230013:6:22","nodeType":"YulIdentifier","src":"230013:6:22"}],"functionName":{"name":"mstore","nativeSrc":"230001:6:22","nodeType":"YulIdentifier","src":"230001:6:22"},"nativeSrc":"230001:19:22","nodeType":"YulFunctionCall","src":"230001:19:22"},"nativeSrc":"230001:19:22","nodeType":"YulExpressionStatement","src":"230001:19:22"},{"nativeSrc":"230037:37:22","nodeType":"YulVariableDeclaration","src":"230037:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"230054:3:22","nodeType":"YulLiteral","src":"230054:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"230063:1:22","nodeType":"YulLiteral","src":"230063:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"230066:6:22","nodeType":"YulIdentifier","src":"230066:6:22"}],"functionName":{"name":"shl","nativeSrc":"230059:3:22","nodeType":"YulIdentifier","src":"230059:3:22"},"nativeSrc":"230059:14:22","nodeType":"YulFunctionCall","src":"230059:14:22"}],"functionName":{"name":"sub","nativeSrc":"230050:3:22","nodeType":"YulIdentifier","src":"230050:3:22"},"nativeSrc":"230050:24:22","nodeType":"YulFunctionCall","src":"230050:24:22"},"variables":[{"name":"shift","nativeSrc":"230041:5:22","nodeType":"YulTypedName","src":"230041:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"230102:3:22","nodeType":"YulIdentifier","src":"230102:3:22"},{"kind":"number","nativeSrc":"230107:4:22","nodeType":"YulLiteral","src":"230107:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"230098:3:22","nodeType":"YulIdentifier","src":"230098:3:22"},"nativeSrc":"230098:14:22","nodeType":"YulFunctionCall","src":"230098:14:22"},{"arguments":[{"name":"shift","nativeSrc":"230118:5:22","nodeType":"YulIdentifier","src":"230118:5:22"},{"arguments":[{"name":"shift","nativeSrc":"230129:5:22","nodeType":"YulIdentifier","src":"230129:5:22"},{"name":"w","nativeSrc":"230136:1:22","nodeType":"YulIdentifier","src":"230136:1:22"}],"functionName":{"name":"shr","nativeSrc":"230125:3:22","nodeType":"YulIdentifier","src":"230125:3:22"},"nativeSrc":"230125:13:22","nodeType":"YulFunctionCall","src":"230125:13:22"}],"functionName":{"name":"shl","nativeSrc":"230114:3:22","nodeType":"YulIdentifier","src":"230114:3:22"},"nativeSrc":"230114:25:22","nodeType":"YulFunctionCall","src":"230114:25:22"}],"functionName":{"name":"mstore","nativeSrc":"230091:6:22","nodeType":"YulIdentifier","src":"230091:6:22"},"nativeSrc":"230091:49:22","nodeType":"YulFunctionCall","src":"230091:49:22"},"nativeSrc":"230091:49:22","nodeType":"YulExpressionStatement","src":"230091:49:22"}]},"name":"writeString","nativeSrc":"229812:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"229833:3:22","nodeType":"YulTypedName","src":"229833:3:22","type":""},{"name":"w","nativeSrc":"229838:1:22","nodeType":"YulTypedName","src":"229838:1:22","type":""}],"src":"229812:342:22"},{"nativeSrc":"230167:17:22","nodeType":"YulAssignment","src":"230167:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230179:4:22","nodeType":"YulLiteral","src":"230179:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"230173:5:22","nodeType":"YulIdentifier","src":"230173:5:22"},"nativeSrc":"230173:11:22","nodeType":"YulFunctionCall","src":"230173:11:22"},"variableNames":[{"name":"m0","nativeSrc":"230167:2:22","nodeType":"YulIdentifier","src":"230167:2:22"}]},{"nativeSrc":"230197:17:22","nodeType":"YulAssignment","src":"230197:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230209:4:22","nodeType":"YulLiteral","src":"230209:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"230203:5:22","nodeType":"YulIdentifier","src":"230203:5:22"},"nativeSrc":"230203:11:22","nodeType":"YulFunctionCall","src":"230203:11:22"},"variableNames":[{"name":"m1","nativeSrc":"230197:2:22","nodeType":"YulIdentifier","src":"230197:2:22"}]},{"nativeSrc":"230227:17:22","nodeType":"YulAssignment","src":"230227:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230239:4:22","nodeType":"YulLiteral","src":"230239:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"230233:5:22","nodeType":"YulIdentifier","src":"230233:5:22"},"nativeSrc":"230233:11:22","nodeType":"YulFunctionCall","src":"230233:11:22"},"variableNames":[{"name":"m2","nativeSrc":"230227:2:22","nodeType":"YulIdentifier","src":"230227:2:22"}]},{"nativeSrc":"230257:17:22","nodeType":"YulAssignment","src":"230257:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230269:4:22","nodeType":"YulLiteral","src":"230269:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"230263:5:22","nodeType":"YulIdentifier","src":"230263:5:22"},"nativeSrc":"230263:11:22","nodeType":"YulFunctionCall","src":"230263:11:22"},"variableNames":[{"name":"m3","nativeSrc":"230257:2:22","nodeType":"YulIdentifier","src":"230257:2:22"}]},{"nativeSrc":"230287:17:22","nodeType":"YulAssignment","src":"230287:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230299:4:22","nodeType":"YulLiteral","src":"230299:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"230293:5:22","nodeType":"YulIdentifier","src":"230293:5:22"},"nativeSrc":"230293:11:22","nodeType":"YulFunctionCall","src":"230293:11:22"},"variableNames":[{"name":"m4","nativeSrc":"230287:2:22","nodeType":"YulIdentifier","src":"230287:2:22"}]},{"nativeSrc":"230317:17:22","nodeType":"YulAssignment","src":"230317:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230329:4:22","nodeType":"YulLiteral","src":"230329:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"230323:5:22","nodeType":"YulIdentifier","src":"230323:5:22"},"nativeSrc":"230323:11:22","nodeType":"YulFunctionCall","src":"230323:11:22"},"variableNames":[{"name":"m5","nativeSrc":"230317:2:22","nodeType":"YulIdentifier","src":"230317:2:22"}]},{"nativeSrc":"230347:17:22","nodeType":"YulAssignment","src":"230347:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"230359:4:22","nodeType":"YulLiteral","src":"230359:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"230353:5:22","nodeType":"YulIdentifier","src":"230353:5:22"},"nativeSrc":"230353:11:22","nodeType":"YulFunctionCall","src":"230353:11:22"},"variableNames":[{"name":"m6","nativeSrc":"230347:2:22","nodeType":"YulIdentifier","src":"230347:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230444:4:22","nodeType":"YulLiteral","src":"230444:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"230450:10:22","nodeType":"YulLiteral","src":"230450:10:22","type":"","value":"0x538e06ab"}],"functionName":{"name":"mstore","nativeSrc":"230437:6:22","nodeType":"YulIdentifier","src":"230437:6:22"},"nativeSrc":"230437:24:22","nodeType":"YulFunctionCall","src":"230437:24:22"},"nativeSrc":"230437:24:22","nodeType":"YulExpressionStatement","src":"230437:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230481:4:22","nodeType":"YulLiteral","src":"230481:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"230487:2:22","nodeType":"YulIdentifier","src":"230487:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230474:6:22","nodeType":"YulIdentifier","src":"230474:6:22"},"nativeSrc":"230474:16:22","nodeType":"YulFunctionCall","src":"230474:16:22"},"nativeSrc":"230474:16:22","nodeType":"YulExpressionStatement","src":"230474:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230510:4:22","nodeType":"YulLiteral","src":"230510:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"230516:4:22","nodeType":"YulLiteral","src":"230516:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"230503:6:22","nodeType":"YulIdentifier","src":"230503:6:22"},"nativeSrc":"230503:18:22","nodeType":"YulFunctionCall","src":"230503:18:22"},"nativeSrc":"230503:18:22","nodeType":"YulExpressionStatement","src":"230503:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230541:4:22","nodeType":"YulLiteral","src":"230541:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"230547:2:22","nodeType":"YulIdentifier","src":"230547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230534:6:22","nodeType":"YulIdentifier","src":"230534:6:22"},"nativeSrc":"230534:16:22","nodeType":"YulFunctionCall","src":"230534:16:22"},"nativeSrc":"230534:16:22","nodeType":"YulExpressionStatement","src":"230534:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230570:4:22","nodeType":"YulLiteral","src":"230570:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"230576:2:22","nodeType":"YulIdentifier","src":"230576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230563:6:22","nodeType":"YulIdentifier","src":"230563:6:22"},"nativeSrc":"230563:16:22","nodeType":"YulFunctionCall","src":"230563:16:22"},"nativeSrc":"230563:16:22","nodeType":"YulExpressionStatement","src":"230563:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230604:4:22","nodeType":"YulLiteral","src":"230604:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"230610:2:22","nodeType":"YulIdentifier","src":"230610:2:22"}],"functionName":{"name":"writeString","nativeSrc":"230592:11:22","nodeType":"YulIdentifier","src":"230592:11:22"},"nativeSrc":"230592:21:22","nodeType":"YulFunctionCall","src":"230592:21:22"},"nativeSrc":"230592:21:22","nodeType":"YulExpressionStatement","src":"230592:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38603,"isOffset":false,"isSlot":false,"src":"230167:2:22","valueSize":1},{"declaration":38606,"isOffset":false,"isSlot":false,"src":"230197:2:22","valueSize":1},{"declaration":38609,"isOffset":false,"isSlot":false,"src":"230227:2:22","valueSize":1},{"declaration":38612,"isOffset":false,"isSlot":false,"src":"230257:2:22","valueSize":1},{"declaration":38615,"isOffset":false,"isSlot":false,"src":"230287:2:22","valueSize":1},{"declaration":38618,"isOffset":false,"isSlot":false,"src":"230317:2:22","valueSize":1},{"declaration":38621,"isOffset":false,"isSlot":false,"src":"230347:2:22","valueSize":1},{"declaration":38593,"isOffset":false,"isSlot":false,"src":"230487:2:22","valueSize":1},{"declaration":38595,"isOffset":false,"isSlot":false,"src":"230610:2:22","valueSize":1},{"declaration":38597,"isOffset":false,"isSlot":false,"src":"230547:2:22","valueSize":1},{"declaration":38599,"isOffset":false,"isSlot":false,"src":"230576:2:22","valueSize":1}],"id":38623,"nodeType":"InlineAssembly","src":"229789:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230648:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230654:4:22","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":38624,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"230632:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"230632:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38628,"nodeType":"ExpressionStatement","src":"230632:27:22"},{"AST":{"nativeSrc":"230721:214:22","nodeType":"YulBlock","src":"230721:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"230742:4:22","nodeType":"YulLiteral","src":"230742:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"230748:2:22","nodeType":"YulIdentifier","src":"230748:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230735:6:22","nodeType":"YulIdentifier","src":"230735:6:22"},"nativeSrc":"230735:16:22","nodeType":"YulFunctionCall","src":"230735:16:22"},"nativeSrc":"230735:16:22","nodeType":"YulExpressionStatement","src":"230735:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230771:4:22","nodeType":"YulLiteral","src":"230771:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"230777:2:22","nodeType":"YulIdentifier","src":"230777:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230764:6:22","nodeType":"YulIdentifier","src":"230764:6:22"},"nativeSrc":"230764:16:22","nodeType":"YulFunctionCall","src":"230764:16:22"},"nativeSrc":"230764:16:22","nodeType":"YulExpressionStatement","src":"230764:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230800:4:22","nodeType":"YulLiteral","src":"230800:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"230806:2:22","nodeType":"YulIdentifier","src":"230806:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230793:6:22","nodeType":"YulIdentifier","src":"230793:6:22"},"nativeSrc":"230793:16:22","nodeType":"YulFunctionCall","src":"230793:16:22"},"nativeSrc":"230793:16:22","nodeType":"YulExpressionStatement","src":"230793:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230829:4:22","nodeType":"YulLiteral","src":"230829:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"230835:2:22","nodeType":"YulIdentifier","src":"230835:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230822:6:22","nodeType":"YulIdentifier","src":"230822:6:22"},"nativeSrc":"230822:16:22","nodeType":"YulFunctionCall","src":"230822:16:22"},"nativeSrc":"230822:16:22","nodeType":"YulExpressionStatement","src":"230822:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230858:4:22","nodeType":"YulLiteral","src":"230858:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"230864:2:22","nodeType":"YulIdentifier","src":"230864:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230851:6:22","nodeType":"YulIdentifier","src":"230851:6:22"},"nativeSrc":"230851:16:22","nodeType":"YulFunctionCall","src":"230851:16:22"},"nativeSrc":"230851:16:22","nodeType":"YulExpressionStatement","src":"230851:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230887:4:22","nodeType":"YulLiteral","src":"230887:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"230893:2:22","nodeType":"YulIdentifier","src":"230893:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230880:6:22","nodeType":"YulIdentifier","src":"230880:6:22"},"nativeSrc":"230880:16:22","nodeType":"YulFunctionCall","src":"230880:16:22"},"nativeSrc":"230880:16:22","nodeType":"YulExpressionStatement","src":"230880:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230916:4:22","nodeType":"YulLiteral","src":"230916:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"230922:2:22","nodeType":"YulIdentifier","src":"230922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"230909:6:22","nodeType":"YulIdentifier","src":"230909:6:22"},"nativeSrc":"230909:16:22","nodeType":"YulFunctionCall","src":"230909:16:22"},"nativeSrc":"230909:16:22","nodeType":"YulExpressionStatement","src":"230909:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38603,"isOffset":false,"isSlot":false,"src":"230748:2:22","valueSize":1},{"declaration":38606,"isOffset":false,"isSlot":false,"src":"230777:2:22","valueSize":1},{"declaration":38609,"isOffset":false,"isSlot":false,"src":"230806:2:22","valueSize":1},{"declaration":38612,"isOffset":false,"isSlot":false,"src":"230835:2:22","valueSize":1},{"declaration":38615,"isOffset":false,"isSlot":false,"src":"230864:2:22","valueSize":1},{"declaration":38618,"isOffset":false,"isSlot":false,"src":"230893:2:22","valueSize":1},{"declaration":38621,"isOffset":false,"isSlot":false,"src":"230922:2:22","valueSize":1}],"id":38629,"nodeType":"InlineAssembly","src":"230712:223:22"}]},"id":38631,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"229536:3:22","nodeType":"FunctionDefinition","parameters":{"id":38600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38593,"mutability":"mutable","name":"p0","nameLocation":"229545:2:22","nodeType":"VariableDeclaration","scope":38631,"src":"229540:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38592,"name":"bool","nodeType":"ElementaryTypeName","src":"229540:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38595,"mutability":"mutable","name":"p1","nameLocation":"229557:2:22","nodeType":"VariableDeclaration","scope":38631,"src":"229549:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229549:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38597,"mutability":"mutable","name":"p2","nameLocation":"229566:2:22","nodeType":"VariableDeclaration","scope":38631,"src":"229561:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38596,"name":"bool","nodeType":"ElementaryTypeName","src":"229561:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38599,"mutability":"mutable","name":"p3","nameLocation":"229578:2:22","nodeType":"VariableDeclaration","scope":38631,"src":"229570:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38598,"name":"address","nodeType":"ElementaryTypeName","src":"229570:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"229539:42:22"},"returnParameters":{"id":38601,"nodeType":"ParameterList","parameters":[],"src":"229596:0:22"},"scope":44426,"src":"229527:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38670,"nodeType":"Block","src":"231013:1342:22","statements":[{"assignments":[38643],"declarations":[{"constant":false,"id":38643,"mutability":"mutable","name":"m0","nameLocation":"231031:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231023:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231023:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38644,"nodeType":"VariableDeclarationStatement","src":"231023:10:22"},{"assignments":[38646],"declarations":[{"constant":false,"id":38646,"mutability":"mutable","name":"m1","nameLocation":"231051:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231043:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231043:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38647,"nodeType":"VariableDeclarationStatement","src":"231043:10:22"},{"assignments":[38649],"declarations":[{"constant":false,"id":38649,"mutability":"mutable","name":"m2","nameLocation":"231071:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231063:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38650,"nodeType":"VariableDeclarationStatement","src":"231063:10:22"},{"assignments":[38652],"declarations":[{"constant":false,"id":38652,"mutability":"mutable","name":"m3","nameLocation":"231091:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231083:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231083:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38653,"nodeType":"VariableDeclarationStatement","src":"231083:10:22"},{"assignments":[38655],"declarations":[{"constant":false,"id":38655,"mutability":"mutable","name":"m4","nameLocation":"231111:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231103:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231103:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38656,"nodeType":"VariableDeclarationStatement","src":"231103:10:22"},{"assignments":[38658],"declarations":[{"constant":false,"id":38658,"mutability":"mutable","name":"m5","nameLocation":"231131:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231123:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231123:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38659,"nodeType":"VariableDeclarationStatement","src":"231123:10:22"},{"assignments":[38661],"declarations":[{"constant":false,"id":38661,"mutability":"mutable","name":"m6","nameLocation":"231151:2:22","nodeType":"VariableDeclaration","scope":38670,"src":"231143:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231143:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38662,"nodeType":"VariableDeclarationStatement","src":"231143:10:22"},{"AST":{"nativeSrc":"231215:822:22","nodeType":"YulBlock","src":"231215:822:22","statements":[{"body":{"nativeSrc":"231258:313:22","nodeType":"YulBlock","src":"231258:313:22","statements":[{"nativeSrc":"231276:15:22","nodeType":"YulVariableDeclaration","src":"231276:15:22","value":{"kind":"number","nativeSrc":"231290:1:22","nodeType":"YulLiteral","src":"231290:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"231280:6:22","nodeType":"YulTypedName","src":"231280:6:22","type":""}]},{"body":{"nativeSrc":"231361:40:22","nodeType":"YulBlock","src":"231361:40:22","statements":[{"body":{"nativeSrc":"231390:9:22","nodeType":"YulBlock","src":"231390:9:22","statements":[{"nativeSrc":"231392:5:22","nodeType":"YulBreak","src":"231392:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"231378:6:22","nodeType":"YulIdentifier","src":"231378:6:22"},{"name":"w","nativeSrc":"231386:1:22","nodeType":"YulIdentifier","src":"231386:1:22"}],"functionName":{"name":"byte","nativeSrc":"231373:4:22","nodeType":"YulIdentifier","src":"231373:4:22"},"nativeSrc":"231373:15:22","nodeType":"YulFunctionCall","src":"231373:15:22"}],"functionName":{"name":"iszero","nativeSrc":"231366:6:22","nodeType":"YulIdentifier","src":"231366:6:22"},"nativeSrc":"231366:23:22","nodeType":"YulFunctionCall","src":"231366:23:22"},"nativeSrc":"231363:36:22","nodeType":"YulIf","src":"231363:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"231318:6:22","nodeType":"YulIdentifier","src":"231318:6:22"},{"kind":"number","nativeSrc":"231326:4:22","nodeType":"YulLiteral","src":"231326:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"231315:2:22","nodeType":"YulIdentifier","src":"231315:2:22"},"nativeSrc":"231315:16:22","nodeType":"YulFunctionCall","src":"231315:16:22"},"nativeSrc":"231308:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"231332:28:22","nodeType":"YulBlock","src":"231332:28:22","statements":[{"nativeSrc":"231334:24:22","nodeType":"YulAssignment","src":"231334:24:22","value":{"arguments":[{"name":"length","nativeSrc":"231348:6:22","nodeType":"YulIdentifier","src":"231348:6:22"},{"kind":"number","nativeSrc":"231356:1:22","nodeType":"YulLiteral","src":"231356:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"231344:3:22","nodeType":"YulIdentifier","src":"231344:3:22"},"nativeSrc":"231344:14:22","nodeType":"YulFunctionCall","src":"231344:14:22"},"variableNames":[{"name":"length","nativeSrc":"231334:6:22","nodeType":"YulIdentifier","src":"231334:6:22"}]}]},"pre":{"nativeSrc":"231312:2:22","nodeType":"YulBlock","src":"231312:2:22","statements":[]},"src":"231308:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"231425:3:22","nodeType":"YulIdentifier","src":"231425:3:22"},{"name":"length","nativeSrc":"231430:6:22","nodeType":"YulIdentifier","src":"231430:6:22"}],"functionName":{"name":"mstore","nativeSrc":"231418:6:22","nodeType":"YulIdentifier","src":"231418:6:22"},"nativeSrc":"231418:19:22","nodeType":"YulFunctionCall","src":"231418:19:22"},"nativeSrc":"231418:19:22","nodeType":"YulExpressionStatement","src":"231418:19:22"},{"nativeSrc":"231454:37:22","nodeType":"YulVariableDeclaration","src":"231454:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"231471:3:22","nodeType":"YulLiteral","src":"231471:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"231480:1:22","nodeType":"YulLiteral","src":"231480:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"231483:6:22","nodeType":"YulIdentifier","src":"231483:6:22"}],"functionName":{"name":"shl","nativeSrc":"231476:3:22","nodeType":"YulIdentifier","src":"231476:3:22"},"nativeSrc":"231476:14:22","nodeType":"YulFunctionCall","src":"231476:14:22"}],"functionName":{"name":"sub","nativeSrc":"231467:3:22","nodeType":"YulIdentifier","src":"231467:3:22"},"nativeSrc":"231467:24:22","nodeType":"YulFunctionCall","src":"231467:24:22"},"variables":[{"name":"shift","nativeSrc":"231458:5:22","nodeType":"YulTypedName","src":"231458:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"231519:3:22","nodeType":"YulIdentifier","src":"231519:3:22"},{"kind":"number","nativeSrc":"231524:4:22","nodeType":"YulLiteral","src":"231524:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"231515:3:22","nodeType":"YulIdentifier","src":"231515:3:22"},"nativeSrc":"231515:14:22","nodeType":"YulFunctionCall","src":"231515:14:22"},{"arguments":[{"name":"shift","nativeSrc":"231535:5:22","nodeType":"YulIdentifier","src":"231535:5:22"},{"arguments":[{"name":"shift","nativeSrc":"231546:5:22","nodeType":"YulIdentifier","src":"231546:5:22"},{"name":"w","nativeSrc":"231553:1:22","nodeType":"YulIdentifier","src":"231553:1:22"}],"functionName":{"name":"shr","nativeSrc":"231542:3:22","nodeType":"YulIdentifier","src":"231542:3:22"},"nativeSrc":"231542:13:22","nodeType":"YulFunctionCall","src":"231542:13:22"}],"functionName":{"name":"shl","nativeSrc":"231531:3:22","nodeType":"YulIdentifier","src":"231531:3:22"},"nativeSrc":"231531:25:22","nodeType":"YulFunctionCall","src":"231531:25:22"}],"functionName":{"name":"mstore","nativeSrc":"231508:6:22","nodeType":"YulIdentifier","src":"231508:6:22"},"nativeSrc":"231508:49:22","nodeType":"YulFunctionCall","src":"231508:49:22"},"nativeSrc":"231508:49:22","nodeType":"YulExpressionStatement","src":"231508:49:22"}]},"name":"writeString","nativeSrc":"231229:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"231250:3:22","nodeType":"YulTypedName","src":"231250:3:22","type":""},{"name":"w","nativeSrc":"231255:1:22","nodeType":"YulTypedName","src":"231255:1:22","type":""}],"src":"231229:342:22"},{"nativeSrc":"231584:17:22","nodeType":"YulAssignment","src":"231584:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231596:4:22","nodeType":"YulLiteral","src":"231596:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"231590:5:22","nodeType":"YulIdentifier","src":"231590:5:22"},"nativeSrc":"231590:11:22","nodeType":"YulFunctionCall","src":"231590:11:22"},"variableNames":[{"name":"m0","nativeSrc":"231584:2:22","nodeType":"YulIdentifier","src":"231584:2:22"}]},{"nativeSrc":"231614:17:22","nodeType":"YulAssignment","src":"231614:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231626:4:22","nodeType":"YulLiteral","src":"231626:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"231620:5:22","nodeType":"YulIdentifier","src":"231620:5:22"},"nativeSrc":"231620:11:22","nodeType":"YulFunctionCall","src":"231620:11:22"},"variableNames":[{"name":"m1","nativeSrc":"231614:2:22","nodeType":"YulIdentifier","src":"231614:2:22"}]},{"nativeSrc":"231644:17:22","nodeType":"YulAssignment","src":"231644:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231656:4:22","nodeType":"YulLiteral","src":"231656:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"231650:5:22","nodeType":"YulIdentifier","src":"231650:5:22"},"nativeSrc":"231650:11:22","nodeType":"YulFunctionCall","src":"231650:11:22"},"variableNames":[{"name":"m2","nativeSrc":"231644:2:22","nodeType":"YulIdentifier","src":"231644:2:22"}]},{"nativeSrc":"231674:17:22","nodeType":"YulAssignment","src":"231674:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231686:4:22","nodeType":"YulLiteral","src":"231686:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"231680:5:22","nodeType":"YulIdentifier","src":"231680:5:22"},"nativeSrc":"231680:11:22","nodeType":"YulFunctionCall","src":"231680:11:22"},"variableNames":[{"name":"m3","nativeSrc":"231674:2:22","nodeType":"YulIdentifier","src":"231674:2:22"}]},{"nativeSrc":"231704:17:22","nodeType":"YulAssignment","src":"231704:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231716:4:22","nodeType":"YulLiteral","src":"231716:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"231710:5:22","nodeType":"YulIdentifier","src":"231710:5:22"},"nativeSrc":"231710:11:22","nodeType":"YulFunctionCall","src":"231710:11:22"},"variableNames":[{"name":"m4","nativeSrc":"231704:2:22","nodeType":"YulIdentifier","src":"231704:2:22"}]},{"nativeSrc":"231734:17:22","nodeType":"YulAssignment","src":"231734:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231746:4:22","nodeType":"YulLiteral","src":"231746:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"231740:5:22","nodeType":"YulIdentifier","src":"231740:5:22"},"nativeSrc":"231740:11:22","nodeType":"YulFunctionCall","src":"231740:11:22"},"variableNames":[{"name":"m5","nativeSrc":"231734:2:22","nodeType":"YulIdentifier","src":"231734:2:22"}]},{"nativeSrc":"231764:17:22","nodeType":"YulAssignment","src":"231764:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"231776:4:22","nodeType":"YulLiteral","src":"231776:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"231770:5:22","nodeType":"YulIdentifier","src":"231770:5:22"},"nativeSrc":"231770:11:22","nodeType":"YulFunctionCall","src":"231770:11:22"},"variableNames":[{"name":"m6","nativeSrc":"231764:2:22","nodeType":"YulIdentifier","src":"231764:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231858:4:22","nodeType":"YulLiteral","src":"231858:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"231864:10:22","nodeType":"YulLiteral","src":"231864:10:22","type":"","value":"0xdc5e935b"}],"functionName":{"name":"mstore","nativeSrc":"231851:6:22","nodeType":"YulIdentifier","src":"231851:6:22"},"nativeSrc":"231851:24:22","nodeType":"YulFunctionCall","src":"231851:24:22"},"nativeSrc":"231851:24:22","nodeType":"YulExpressionStatement","src":"231851:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231895:4:22","nodeType":"YulLiteral","src":"231895:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"231901:2:22","nodeType":"YulIdentifier","src":"231901:2:22"}],"functionName":{"name":"mstore","nativeSrc":"231888:6:22","nodeType":"YulIdentifier","src":"231888:6:22"},"nativeSrc":"231888:16:22","nodeType":"YulFunctionCall","src":"231888:16:22"},"nativeSrc":"231888:16:22","nodeType":"YulExpressionStatement","src":"231888:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231924:4:22","nodeType":"YulLiteral","src":"231924:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"231930:4:22","nodeType":"YulLiteral","src":"231930:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"231917:6:22","nodeType":"YulIdentifier","src":"231917:6:22"},"nativeSrc":"231917:18:22","nodeType":"YulFunctionCall","src":"231917:18:22"},"nativeSrc":"231917:18:22","nodeType":"YulExpressionStatement","src":"231917:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231955:4:22","nodeType":"YulLiteral","src":"231955:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"231961:2:22","nodeType":"YulIdentifier","src":"231961:2:22"}],"functionName":{"name":"mstore","nativeSrc":"231948:6:22","nodeType":"YulIdentifier","src":"231948:6:22"},"nativeSrc":"231948:16:22","nodeType":"YulFunctionCall","src":"231948:16:22"},"nativeSrc":"231948:16:22","nodeType":"YulExpressionStatement","src":"231948:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231984:4:22","nodeType":"YulLiteral","src":"231984:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"231990:2:22","nodeType":"YulIdentifier","src":"231990:2:22"}],"functionName":{"name":"mstore","nativeSrc":"231977:6:22","nodeType":"YulIdentifier","src":"231977:6:22"},"nativeSrc":"231977:16:22","nodeType":"YulFunctionCall","src":"231977:16:22"},"nativeSrc":"231977:16:22","nodeType":"YulExpressionStatement","src":"231977:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232018:4:22","nodeType":"YulLiteral","src":"232018:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"232024:2:22","nodeType":"YulIdentifier","src":"232024:2:22"}],"functionName":{"name":"writeString","nativeSrc":"232006:11:22","nodeType":"YulIdentifier","src":"232006:11:22"},"nativeSrc":"232006:21:22","nodeType":"YulFunctionCall","src":"232006:21:22"},"nativeSrc":"232006:21:22","nodeType":"YulExpressionStatement","src":"232006:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38643,"isOffset":false,"isSlot":false,"src":"231584:2:22","valueSize":1},{"declaration":38646,"isOffset":false,"isSlot":false,"src":"231614:2:22","valueSize":1},{"declaration":38649,"isOffset":false,"isSlot":false,"src":"231644:2:22","valueSize":1},{"declaration":38652,"isOffset":false,"isSlot":false,"src":"231674:2:22","valueSize":1},{"declaration":38655,"isOffset":false,"isSlot":false,"src":"231704:2:22","valueSize":1},{"declaration":38658,"isOffset":false,"isSlot":false,"src":"231734:2:22","valueSize":1},{"declaration":38661,"isOffset":false,"isSlot":false,"src":"231764:2:22","valueSize":1},{"declaration":38633,"isOffset":false,"isSlot":false,"src":"231901:2:22","valueSize":1},{"declaration":38635,"isOffset":false,"isSlot":false,"src":"232024:2:22","valueSize":1},{"declaration":38637,"isOffset":false,"isSlot":false,"src":"231961:2:22","valueSize":1},{"declaration":38639,"isOffset":false,"isSlot":false,"src":"231990:2:22","valueSize":1}],"id":38663,"nodeType":"InlineAssembly","src":"231206:831:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232062:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232068:4:22","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":38664,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"232046:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"232046:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38668,"nodeType":"ExpressionStatement","src":"232046:27:22"},{"AST":{"nativeSrc":"232135:214:22","nodeType":"YulBlock","src":"232135:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"232156:4:22","nodeType":"YulLiteral","src":"232156:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"232162:2:22","nodeType":"YulIdentifier","src":"232162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232149:6:22","nodeType":"YulIdentifier","src":"232149:6:22"},"nativeSrc":"232149:16:22","nodeType":"YulFunctionCall","src":"232149:16:22"},"nativeSrc":"232149:16:22","nodeType":"YulExpressionStatement","src":"232149:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232185:4:22","nodeType":"YulLiteral","src":"232185:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"232191:2:22","nodeType":"YulIdentifier","src":"232191:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232178:6:22","nodeType":"YulIdentifier","src":"232178:6:22"},"nativeSrc":"232178:16:22","nodeType":"YulFunctionCall","src":"232178:16:22"},"nativeSrc":"232178:16:22","nodeType":"YulExpressionStatement","src":"232178:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232214:4:22","nodeType":"YulLiteral","src":"232214:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"232220:2:22","nodeType":"YulIdentifier","src":"232220:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232207:6:22","nodeType":"YulIdentifier","src":"232207:6:22"},"nativeSrc":"232207:16:22","nodeType":"YulFunctionCall","src":"232207:16:22"},"nativeSrc":"232207:16:22","nodeType":"YulExpressionStatement","src":"232207:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232243:4:22","nodeType":"YulLiteral","src":"232243:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"232249:2:22","nodeType":"YulIdentifier","src":"232249:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232236:6:22","nodeType":"YulIdentifier","src":"232236:6:22"},"nativeSrc":"232236:16:22","nodeType":"YulFunctionCall","src":"232236:16:22"},"nativeSrc":"232236:16:22","nodeType":"YulExpressionStatement","src":"232236:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232272:4:22","nodeType":"YulLiteral","src":"232272:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"232278:2:22","nodeType":"YulIdentifier","src":"232278:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232265:6:22","nodeType":"YulIdentifier","src":"232265:6:22"},"nativeSrc":"232265:16:22","nodeType":"YulFunctionCall","src":"232265:16:22"},"nativeSrc":"232265:16:22","nodeType":"YulExpressionStatement","src":"232265:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232301:4:22","nodeType":"YulLiteral","src":"232301:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"232307:2:22","nodeType":"YulIdentifier","src":"232307:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232294:6:22","nodeType":"YulIdentifier","src":"232294:6:22"},"nativeSrc":"232294:16:22","nodeType":"YulFunctionCall","src":"232294:16:22"},"nativeSrc":"232294:16:22","nodeType":"YulExpressionStatement","src":"232294:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232330:4:22","nodeType":"YulLiteral","src":"232330:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"232336:2:22","nodeType":"YulIdentifier","src":"232336:2:22"}],"functionName":{"name":"mstore","nativeSrc":"232323:6:22","nodeType":"YulIdentifier","src":"232323:6:22"},"nativeSrc":"232323:16:22","nodeType":"YulFunctionCall","src":"232323:16:22"},"nativeSrc":"232323:16:22","nodeType":"YulExpressionStatement","src":"232323:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38643,"isOffset":false,"isSlot":false,"src":"232162:2:22","valueSize":1},{"declaration":38646,"isOffset":false,"isSlot":false,"src":"232191:2:22","valueSize":1},{"declaration":38649,"isOffset":false,"isSlot":false,"src":"232220:2:22","valueSize":1},{"declaration":38652,"isOffset":false,"isSlot":false,"src":"232249:2:22","valueSize":1},{"declaration":38655,"isOffset":false,"isSlot":false,"src":"232278:2:22","valueSize":1},{"declaration":38658,"isOffset":false,"isSlot":false,"src":"232307:2:22","valueSize":1},{"declaration":38661,"isOffset":false,"isSlot":false,"src":"232336:2:22","valueSize":1}],"id":38669,"nodeType":"InlineAssembly","src":"232126:223:22"}]},"id":38671,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"230956:3:22","nodeType":"FunctionDefinition","parameters":{"id":38640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38633,"mutability":"mutable","name":"p0","nameLocation":"230965:2:22","nodeType":"VariableDeclaration","scope":38671,"src":"230960:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38632,"name":"bool","nodeType":"ElementaryTypeName","src":"230960:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38635,"mutability":"mutable","name":"p1","nameLocation":"230977:2:22","nodeType":"VariableDeclaration","scope":38671,"src":"230969:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"230969:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38637,"mutability":"mutable","name":"p2","nameLocation":"230986:2:22","nodeType":"VariableDeclaration","scope":38671,"src":"230981:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38636,"name":"bool","nodeType":"ElementaryTypeName","src":"230981:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38639,"mutability":"mutable","name":"p3","nameLocation":"230995:2:22","nodeType":"VariableDeclaration","scope":38671,"src":"230990:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38638,"name":"bool","nodeType":"ElementaryTypeName","src":"230990:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"230959:39:22"},"returnParameters":{"id":38641,"nodeType":"ParameterList","parameters":[],"src":"231013:0:22"},"scope":44426,"src":"230947:1408:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38710,"nodeType":"Block","src":"232430:1345:22","statements":[{"assignments":[38683],"declarations":[{"constant":false,"id":38683,"mutability":"mutable","name":"m0","nameLocation":"232448:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232440:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232440:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38684,"nodeType":"VariableDeclarationStatement","src":"232440:10:22"},{"assignments":[38686],"declarations":[{"constant":false,"id":38686,"mutability":"mutable","name":"m1","nameLocation":"232468:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232460:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232460:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38687,"nodeType":"VariableDeclarationStatement","src":"232460:10:22"},{"assignments":[38689],"declarations":[{"constant":false,"id":38689,"mutability":"mutable","name":"m2","nameLocation":"232488:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232480:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232480:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38690,"nodeType":"VariableDeclarationStatement","src":"232480:10:22"},{"assignments":[38692],"declarations":[{"constant":false,"id":38692,"mutability":"mutable","name":"m3","nameLocation":"232508:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232500:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232500:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38693,"nodeType":"VariableDeclarationStatement","src":"232500:10:22"},{"assignments":[38695],"declarations":[{"constant":false,"id":38695,"mutability":"mutable","name":"m4","nameLocation":"232528:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232520:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232520:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38696,"nodeType":"VariableDeclarationStatement","src":"232520:10:22"},{"assignments":[38698],"declarations":[{"constant":false,"id":38698,"mutability":"mutable","name":"m5","nameLocation":"232548:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232540:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232540:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38699,"nodeType":"VariableDeclarationStatement","src":"232540:10:22"},{"assignments":[38701],"declarations":[{"constant":false,"id":38701,"mutability":"mutable","name":"m6","nameLocation":"232568:2:22","nodeType":"VariableDeclaration","scope":38710,"src":"232560:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232560:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38702,"nodeType":"VariableDeclarationStatement","src":"232560:10:22"},{"AST":{"nativeSrc":"232632:825:22","nodeType":"YulBlock","src":"232632:825:22","statements":[{"body":{"nativeSrc":"232675:313:22","nodeType":"YulBlock","src":"232675:313:22","statements":[{"nativeSrc":"232693:15:22","nodeType":"YulVariableDeclaration","src":"232693:15:22","value":{"kind":"number","nativeSrc":"232707:1:22","nodeType":"YulLiteral","src":"232707:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"232697:6:22","nodeType":"YulTypedName","src":"232697:6:22","type":""}]},{"body":{"nativeSrc":"232778:40:22","nodeType":"YulBlock","src":"232778:40:22","statements":[{"body":{"nativeSrc":"232807:9:22","nodeType":"YulBlock","src":"232807:9:22","statements":[{"nativeSrc":"232809:5:22","nodeType":"YulBreak","src":"232809:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"232795:6:22","nodeType":"YulIdentifier","src":"232795:6:22"},{"name":"w","nativeSrc":"232803:1:22","nodeType":"YulIdentifier","src":"232803:1:22"}],"functionName":{"name":"byte","nativeSrc":"232790:4:22","nodeType":"YulIdentifier","src":"232790:4:22"},"nativeSrc":"232790:15:22","nodeType":"YulFunctionCall","src":"232790:15:22"}],"functionName":{"name":"iszero","nativeSrc":"232783:6:22","nodeType":"YulIdentifier","src":"232783:6:22"},"nativeSrc":"232783:23:22","nodeType":"YulFunctionCall","src":"232783:23:22"},"nativeSrc":"232780:36:22","nodeType":"YulIf","src":"232780:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"232735:6:22","nodeType":"YulIdentifier","src":"232735:6:22"},{"kind":"number","nativeSrc":"232743:4:22","nodeType":"YulLiteral","src":"232743:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"232732:2:22","nodeType":"YulIdentifier","src":"232732:2:22"},"nativeSrc":"232732:16:22","nodeType":"YulFunctionCall","src":"232732:16:22"},"nativeSrc":"232725:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"232749:28:22","nodeType":"YulBlock","src":"232749:28:22","statements":[{"nativeSrc":"232751:24:22","nodeType":"YulAssignment","src":"232751:24:22","value":{"arguments":[{"name":"length","nativeSrc":"232765:6:22","nodeType":"YulIdentifier","src":"232765:6:22"},{"kind":"number","nativeSrc":"232773:1:22","nodeType":"YulLiteral","src":"232773:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"232761:3:22","nodeType":"YulIdentifier","src":"232761:3:22"},"nativeSrc":"232761:14:22","nodeType":"YulFunctionCall","src":"232761:14:22"},"variableNames":[{"name":"length","nativeSrc":"232751:6:22","nodeType":"YulIdentifier","src":"232751:6:22"}]}]},"pre":{"nativeSrc":"232729:2:22","nodeType":"YulBlock","src":"232729:2:22","statements":[]},"src":"232725:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"232842:3:22","nodeType":"YulIdentifier","src":"232842:3:22"},{"name":"length","nativeSrc":"232847:6:22","nodeType":"YulIdentifier","src":"232847:6:22"}],"functionName":{"name":"mstore","nativeSrc":"232835:6:22","nodeType":"YulIdentifier","src":"232835:6:22"},"nativeSrc":"232835:19:22","nodeType":"YulFunctionCall","src":"232835:19:22"},"nativeSrc":"232835:19:22","nodeType":"YulExpressionStatement","src":"232835:19:22"},{"nativeSrc":"232871:37:22","nodeType":"YulVariableDeclaration","src":"232871:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"232888:3:22","nodeType":"YulLiteral","src":"232888:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"232897:1:22","nodeType":"YulLiteral","src":"232897:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"232900:6:22","nodeType":"YulIdentifier","src":"232900:6:22"}],"functionName":{"name":"shl","nativeSrc":"232893:3:22","nodeType":"YulIdentifier","src":"232893:3:22"},"nativeSrc":"232893:14:22","nodeType":"YulFunctionCall","src":"232893:14:22"}],"functionName":{"name":"sub","nativeSrc":"232884:3:22","nodeType":"YulIdentifier","src":"232884:3:22"},"nativeSrc":"232884:24:22","nodeType":"YulFunctionCall","src":"232884:24:22"},"variables":[{"name":"shift","nativeSrc":"232875:5:22","nodeType":"YulTypedName","src":"232875:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"232936:3:22","nodeType":"YulIdentifier","src":"232936:3:22"},{"kind":"number","nativeSrc":"232941:4:22","nodeType":"YulLiteral","src":"232941:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"232932:3:22","nodeType":"YulIdentifier","src":"232932:3:22"},"nativeSrc":"232932:14:22","nodeType":"YulFunctionCall","src":"232932:14:22"},{"arguments":[{"name":"shift","nativeSrc":"232952:5:22","nodeType":"YulIdentifier","src":"232952:5:22"},{"arguments":[{"name":"shift","nativeSrc":"232963:5:22","nodeType":"YulIdentifier","src":"232963:5:22"},{"name":"w","nativeSrc":"232970:1:22","nodeType":"YulIdentifier","src":"232970:1:22"}],"functionName":{"name":"shr","nativeSrc":"232959:3:22","nodeType":"YulIdentifier","src":"232959:3:22"},"nativeSrc":"232959:13:22","nodeType":"YulFunctionCall","src":"232959:13:22"}],"functionName":{"name":"shl","nativeSrc":"232948:3:22","nodeType":"YulIdentifier","src":"232948:3:22"},"nativeSrc":"232948:25:22","nodeType":"YulFunctionCall","src":"232948:25:22"}],"functionName":{"name":"mstore","nativeSrc":"232925:6:22","nodeType":"YulIdentifier","src":"232925:6:22"},"nativeSrc":"232925:49:22","nodeType":"YulFunctionCall","src":"232925:49:22"},"nativeSrc":"232925:49:22","nodeType":"YulExpressionStatement","src":"232925:49:22"}]},"name":"writeString","nativeSrc":"232646:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"232667:3:22","nodeType":"YulTypedName","src":"232667:3:22","type":""},{"name":"w","nativeSrc":"232672:1:22","nodeType":"YulTypedName","src":"232672:1:22","type":""}],"src":"232646:342:22"},{"nativeSrc":"233001:17:22","nodeType":"YulAssignment","src":"233001:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233013:4:22","nodeType":"YulLiteral","src":"233013:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"233007:5:22","nodeType":"YulIdentifier","src":"233007:5:22"},"nativeSrc":"233007:11:22","nodeType":"YulFunctionCall","src":"233007:11:22"},"variableNames":[{"name":"m0","nativeSrc":"233001:2:22","nodeType":"YulIdentifier","src":"233001:2:22"}]},{"nativeSrc":"233031:17:22","nodeType":"YulAssignment","src":"233031:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233043:4:22","nodeType":"YulLiteral","src":"233043:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"233037:5:22","nodeType":"YulIdentifier","src":"233037:5:22"},"nativeSrc":"233037:11:22","nodeType":"YulFunctionCall","src":"233037:11:22"},"variableNames":[{"name":"m1","nativeSrc":"233031:2:22","nodeType":"YulIdentifier","src":"233031:2:22"}]},{"nativeSrc":"233061:17:22","nodeType":"YulAssignment","src":"233061:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233073:4:22","nodeType":"YulLiteral","src":"233073:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"233067:5:22","nodeType":"YulIdentifier","src":"233067:5:22"},"nativeSrc":"233067:11:22","nodeType":"YulFunctionCall","src":"233067:11:22"},"variableNames":[{"name":"m2","nativeSrc":"233061:2:22","nodeType":"YulIdentifier","src":"233061:2:22"}]},{"nativeSrc":"233091:17:22","nodeType":"YulAssignment","src":"233091:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233103:4:22","nodeType":"YulLiteral","src":"233103:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"233097:5:22","nodeType":"YulIdentifier","src":"233097:5:22"},"nativeSrc":"233097:11:22","nodeType":"YulFunctionCall","src":"233097:11:22"},"variableNames":[{"name":"m3","nativeSrc":"233091:2:22","nodeType":"YulIdentifier","src":"233091:2:22"}]},{"nativeSrc":"233121:17:22","nodeType":"YulAssignment","src":"233121:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233133:4:22","nodeType":"YulLiteral","src":"233133:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"233127:5:22","nodeType":"YulIdentifier","src":"233127:5:22"},"nativeSrc":"233127:11:22","nodeType":"YulFunctionCall","src":"233127:11:22"},"variableNames":[{"name":"m4","nativeSrc":"233121:2:22","nodeType":"YulIdentifier","src":"233121:2:22"}]},{"nativeSrc":"233151:17:22","nodeType":"YulAssignment","src":"233151:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233163:4:22","nodeType":"YulLiteral","src":"233163:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"233157:5:22","nodeType":"YulIdentifier","src":"233157:5:22"},"nativeSrc":"233157:11:22","nodeType":"YulFunctionCall","src":"233157:11:22"},"variableNames":[{"name":"m5","nativeSrc":"233151:2:22","nodeType":"YulIdentifier","src":"233151:2:22"}]},{"nativeSrc":"233181:17:22","nodeType":"YulAssignment","src":"233181:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"233193:4:22","nodeType":"YulLiteral","src":"233193:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"233187:5:22","nodeType":"YulIdentifier","src":"233187:5:22"},"nativeSrc":"233187:11:22","nodeType":"YulFunctionCall","src":"233187:11:22"},"variableNames":[{"name":"m6","nativeSrc":"233181:2:22","nodeType":"YulIdentifier","src":"233181:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233278:4:22","nodeType":"YulLiteral","src":"233278:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"233284:10:22","nodeType":"YulLiteral","src":"233284:10:22","type":"","value":"0x1606a393"}],"functionName":{"name":"mstore","nativeSrc":"233271:6:22","nodeType":"YulIdentifier","src":"233271:6:22"},"nativeSrc":"233271:24:22","nodeType":"YulFunctionCall","src":"233271:24:22"},"nativeSrc":"233271:24:22","nodeType":"YulExpressionStatement","src":"233271:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233315:4:22","nodeType":"YulLiteral","src":"233315:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"233321:2:22","nodeType":"YulIdentifier","src":"233321:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233308:6:22","nodeType":"YulIdentifier","src":"233308:6:22"},"nativeSrc":"233308:16:22","nodeType":"YulFunctionCall","src":"233308:16:22"},"nativeSrc":"233308:16:22","nodeType":"YulExpressionStatement","src":"233308:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233344:4:22","nodeType":"YulLiteral","src":"233344:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"233350:4:22","nodeType":"YulLiteral","src":"233350:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"233337:6:22","nodeType":"YulIdentifier","src":"233337:6:22"},"nativeSrc":"233337:18:22","nodeType":"YulFunctionCall","src":"233337:18:22"},"nativeSrc":"233337:18:22","nodeType":"YulExpressionStatement","src":"233337:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233375:4:22","nodeType":"YulLiteral","src":"233375:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"233381:2:22","nodeType":"YulIdentifier","src":"233381:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233368:6:22","nodeType":"YulIdentifier","src":"233368:6:22"},"nativeSrc":"233368:16:22","nodeType":"YulFunctionCall","src":"233368:16:22"},"nativeSrc":"233368:16:22","nodeType":"YulExpressionStatement","src":"233368:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233404:4:22","nodeType":"YulLiteral","src":"233404:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"233410:2:22","nodeType":"YulIdentifier","src":"233410:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233397:6:22","nodeType":"YulIdentifier","src":"233397:6:22"},"nativeSrc":"233397:16:22","nodeType":"YulFunctionCall","src":"233397:16:22"},"nativeSrc":"233397:16:22","nodeType":"YulExpressionStatement","src":"233397:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233438:4:22","nodeType":"YulLiteral","src":"233438:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"233444:2:22","nodeType":"YulIdentifier","src":"233444:2:22"}],"functionName":{"name":"writeString","nativeSrc":"233426:11:22","nodeType":"YulIdentifier","src":"233426:11:22"},"nativeSrc":"233426:21:22","nodeType":"YulFunctionCall","src":"233426:21:22"},"nativeSrc":"233426:21:22","nodeType":"YulExpressionStatement","src":"233426:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38683,"isOffset":false,"isSlot":false,"src":"233001:2:22","valueSize":1},{"declaration":38686,"isOffset":false,"isSlot":false,"src":"233031:2:22","valueSize":1},{"declaration":38689,"isOffset":false,"isSlot":false,"src":"233061:2:22","valueSize":1},{"declaration":38692,"isOffset":false,"isSlot":false,"src":"233091:2:22","valueSize":1},{"declaration":38695,"isOffset":false,"isSlot":false,"src":"233121:2:22","valueSize":1},{"declaration":38698,"isOffset":false,"isSlot":false,"src":"233151:2:22","valueSize":1},{"declaration":38701,"isOffset":false,"isSlot":false,"src":"233181:2:22","valueSize":1},{"declaration":38673,"isOffset":false,"isSlot":false,"src":"233321:2:22","valueSize":1},{"declaration":38675,"isOffset":false,"isSlot":false,"src":"233444:2:22","valueSize":1},{"declaration":38677,"isOffset":false,"isSlot":false,"src":"233381:2:22","valueSize":1},{"declaration":38679,"isOffset":false,"isSlot":false,"src":"233410:2:22","valueSize":1}],"id":38703,"nodeType":"InlineAssembly","src":"232623:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233482:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233488:4:22","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":38704,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"233466:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"233466:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38708,"nodeType":"ExpressionStatement","src":"233466:27:22"},{"AST":{"nativeSrc":"233555:214:22","nodeType":"YulBlock","src":"233555:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"233576:4:22","nodeType":"YulLiteral","src":"233576:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"233582:2:22","nodeType":"YulIdentifier","src":"233582:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233569:6:22","nodeType":"YulIdentifier","src":"233569:6:22"},"nativeSrc":"233569:16:22","nodeType":"YulFunctionCall","src":"233569:16:22"},"nativeSrc":"233569:16:22","nodeType":"YulExpressionStatement","src":"233569:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233605:4:22","nodeType":"YulLiteral","src":"233605:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"233611:2:22","nodeType":"YulIdentifier","src":"233611:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233598:6:22","nodeType":"YulIdentifier","src":"233598:6:22"},"nativeSrc":"233598:16:22","nodeType":"YulFunctionCall","src":"233598:16:22"},"nativeSrc":"233598:16:22","nodeType":"YulExpressionStatement","src":"233598:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233634:4:22","nodeType":"YulLiteral","src":"233634:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"233640:2:22","nodeType":"YulIdentifier","src":"233640:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233627:6:22","nodeType":"YulIdentifier","src":"233627:6:22"},"nativeSrc":"233627:16:22","nodeType":"YulFunctionCall","src":"233627:16:22"},"nativeSrc":"233627:16:22","nodeType":"YulExpressionStatement","src":"233627:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233663:4:22","nodeType":"YulLiteral","src":"233663:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"233669:2:22","nodeType":"YulIdentifier","src":"233669:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233656:6:22","nodeType":"YulIdentifier","src":"233656:6:22"},"nativeSrc":"233656:16:22","nodeType":"YulFunctionCall","src":"233656:16:22"},"nativeSrc":"233656:16:22","nodeType":"YulExpressionStatement","src":"233656:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233692:4:22","nodeType":"YulLiteral","src":"233692:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"233698:2:22","nodeType":"YulIdentifier","src":"233698:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233685:6:22","nodeType":"YulIdentifier","src":"233685:6:22"},"nativeSrc":"233685:16:22","nodeType":"YulFunctionCall","src":"233685:16:22"},"nativeSrc":"233685:16:22","nodeType":"YulExpressionStatement","src":"233685:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233721:4:22","nodeType":"YulLiteral","src":"233721:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"233727:2:22","nodeType":"YulIdentifier","src":"233727:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233714:6:22","nodeType":"YulIdentifier","src":"233714:6:22"},"nativeSrc":"233714:16:22","nodeType":"YulFunctionCall","src":"233714:16:22"},"nativeSrc":"233714:16:22","nodeType":"YulExpressionStatement","src":"233714:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233750:4:22","nodeType":"YulLiteral","src":"233750:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"233756:2:22","nodeType":"YulIdentifier","src":"233756:2:22"}],"functionName":{"name":"mstore","nativeSrc":"233743:6:22","nodeType":"YulIdentifier","src":"233743:6:22"},"nativeSrc":"233743:16:22","nodeType":"YulFunctionCall","src":"233743:16:22"},"nativeSrc":"233743:16:22","nodeType":"YulExpressionStatement","src":"233743:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38683,"isOffset":false,"isSlot":false,"src":"233582:2:22","valueSize":1},{"declaration":38686,"isOffset":false,"isSlot":false,"src":"233611:2:22","valueSize":1},{"declaration":38689,"isOffset":false,"isSlot":false,"src":"233640:2:22","valueSize":1},{"declaration":38692,"isOffset":false,"isSlot":false,"src":"233669:2:22","valueSize":1},{"declaration":38695,"isOffset":false,"isSlot":false,"src":"233698:2:22","valueSize":1},{"declaration":38698,"isOffset":false,"isSlot":false,"src":"233727:2:22","valueSize":1},{"declaration":38701,"isOffset":false,"isSlot":false,"src":"233756:2:22","valueSize":1}],"id":38709,"nodeType":"InlineAssembly","src":"233546:223:22"}]},"id":38711,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"232370:3:22","nodeType":"FunctionDefinition","parameters":{"id":38680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38673,"mutability":"mutable","name":"p0","nameLocation":"232379:2:22","nodeType":"VariableDeclaration","scope":38711,"src":"232374:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38672,"name":"bool","nodeType":"ElementaryTypeName","src":"232374:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38675,"mutability":"mutable","name":"p1","nameLocation":"232391:2:22","nodeType":"VariableDeclaration","scope":38711,"src":"232383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232383:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38677,"mutability":"mutable","name":"p2","nameLocation":"232400:2:22","nodeType":"VariableDeclaration","scope":38711,"src":"232395:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38676,"name":"bool","nodeType":"ElementaryTypeName","src":"232395:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38679,"mutability":"mutable","name":"p3","nameLocation":"232412:2:22","nodeType":"VariableDeclaration","scope":38711,"src":"232404:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38678,"name":"uint256","nodeType":"ElementaryTypeName","src":"232404:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"232373:42:22"},"returnParameters":{"id":38681,"nodeType":"ParameterList","parameters":[],"src":"232430:0:22"},"scope":44426,"src":"232361:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38756,"nodeType":"Block","src":"233850:1541:22","statements":[{"assignments":[38723],"declarations":[{"constant":false,"id":38723,"mutability":"mutable","name":"m0","nameLocation":"233868:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233860:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233860:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38724,"nodeType":"VariableDeclarationStatement","src":"233860:10:22"},{"assignments":[38726],"declarations":[{"constant":false,"id":38726,"mutability":"mutable","name":"m1","nameLocation":"233888:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233880:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233880:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38727,"nodeType":"VariableDeclarationStatement","src":"233880:10:22"},{"assignments":[38729],"declarations":[{"constant":false,"id":38729,"mutability":"mutable","name":"m2","nameLocation":"233908:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233900:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233900:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38730,"nodeType":"VariableDeclarationStatement","src":"233900:10:22"},{"assignments":[38732],"declarations":[{"constant":false,"id":38732,"mutability":"mutable","name":"m3","nameLocation":"233928:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233920:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233920:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38733,"nodeType":"VariableDeclarationStatement","src":"233920:10:22"},{"assignments":[38735],"declarations":[{"constant":false,"id":38735,"mutability":"mutable","name":"m4","nameLocation":"233948:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233940:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233940:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38736,"nodeType":"VariableDeclarationStatement","src":"233940:10:22"},{"assignments":[38738],"declarations":[{"constant":false,"id":38738,"mutability":"mutable","name":"m5","nameLocation":"233968:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233960:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233960:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38739,"nodeType":"VariableDeclarationStatement","src":"233960:10:22"},{"assignments":[38741],"declarations":[{"constant":false,"id":38741,"mutability":"mutable","name":"m6","nameLocation":"233988:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"233980:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233980:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38742,"nodeType":"VariableDeclarationStatement","src":"233980:10:22"},{"assignments":[38744],"declarations":[{"constant":false,"id":38744,"mutability":"mutable","name":"m7","nameLocation":"234008:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"234000:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234000:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38745,"nodeType":"VariableDeclarationStatement","src":"234000:10:22"},{"assignments":[38747],"declarations":[{"constant":false,"id":38747,"mutability":"mutable","name":"m8","nameLocation":"234028:2:22","nodeType":"VariableDeclaration","scope":38756,"src":"234020:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234020:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38748,"nodeType":"VariableDeclarationStatement","src":"234020:10:22"},{"AST":{"nativeSrc":"234092:921:22","nodeType":"YulBlock","src":"234092:921:22","statements":[{"body":{"nativeSrc":"234135:313:22","nodeType":"YulBlock","src":"234135:313:22","statements":[{"nativeSrc":"234153:15:22","nodeType":"YulVariableDeclaration","src":"234153:15:22","value":{"kind":"number","nativeSrc":"234167:1:22","nodeType":"YulLiteral","src":"234167:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"234157:6:22","nodeType":"YulTypedName","src":"234157:6:22","type":""}]},{"body":{"nativeSrc":"234238:40:22","nodeType":"YulBlock","src":"234238:40:22","statements":[{"body":{"nativeSrc":"234267:9:22","nodeType":"YulBlock","src":"234267:9:22","statements":[{"nativeSrc":"234269:5:22","nodeType":"YulBreak","src":"234269:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"234255:6:22","nodeType":"YulIdentifier","src":"234255:6:22"},{"name":"w","nativeSrc":"234263:1:22","nodeType":"YulIdentifier","src":"234263:1:22"}],"functionName":{"name":"byte","nativeSrc":"234250:4:22","nodeType":"YulIdentifier","src":"234250:4:22"},"nativeSrc":"234250:15:22","nodeType":"YulFunctionCall","src":"234250:15:22"}],"functionName":{"name":"iszero","nativeSrc":"234243:6:22","nodeType":"YulIdentifier","src":"234243:6:22"},"nativeSrc":"234243:23:22","nodeType":"YulFunctionCall","src":"234243:23:22"},"nativeSrc":"234240:36:22","nodeType":"YulIf","src":"234240:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"234195:6:22","nodeType":"YulIdentifier","src":"234195:6:22"},{"kind":"number","nativeSrc":"234203:4:22","nodeType":"YulLiteral","src":"234203:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"234192:2:22","nodeType":"YulIdentifier","src":"234192:2:22"},"nativeSrc":"234192:16:22","nodeType":"YulFunctionCall","src":"234192:16:22"},"nativeSrc":"234185:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"234209:28:22","nodeType":"YulBlock","src":"234209:28:22","statements":[{"nativeSrc":"234211:24:22","nodeType":"YulAssignment","src":"234211:24:22","value":{"arguments":[{"name":"length","nativeSrc":"234225:6:22","nodeType":"YulIdentifier","src":"234225:6:22"},{"kind":"number","nativeSrc":"234233:1:22","nodeType":"YulLiteral","src":"234233:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"234221:3:22","nodeType":"YulIdentifier","src":"234221:3:22"},"nativeSrc":"234221:14:22","nodeType":"YulFunctionCall","src":"234221:14:22"},"variableNames":[{"name":"length","nativeSrc":"234211:6:22","nodeType":"YulIdentifier","src":"234211:6:22"}]}]},"pre":{"nativeSrc":"234189:2:22","nodeType":"YulBlock","src":"234189:2:22","statements":[]},"src":"234185:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"234302:3:22","nodeType":"YulIdentifier","src":"234302:3:22"},{"name":"length","nativeSrc":"234307:6:22","nodeType":"YulIdentifier","src":"234307:6:22"}],"functionName":{"name":"mstore","nativeSrc":"234295:6:22","nodeType":"YulIdentifier","src":"234295:6:22"},"nativeSrc":"234295:19:22","nodeType":"YulFunctionCall","src":"234295:19:22"},"nativeSrc":"234295:19:22","nodeType":"YulExpressionStatement","src":"234295:19:22"},{"nativeSrc":"234331:37:22","nodeType":"YulVariableDeclaration","src":"234331:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"234348:3:22","nodeType":"YulLiteral","src":"234348:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"234357:1:22","nodeType":"YulLiteral","src":"234357:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"234360:6:22","nodeType":"YulIdentifier","src":"234360:6:22"}],"functionName":{"name":"shl","nativeSrc":"234353:3:22","nodeType":"YulIdentifier","src":"234353:3:22"},"nativeSrc":"234353:14:22","nodeType":"YulFunctionCall","src":"234353:14:22"}],"functionName":{"name":"sub","nativeSrc":"234344:3:22","nodeType":"YulIdentifier","src":"234344:3:22"},"nativeSrc":"234344:24:22","nodeType":"YulFunctionCall","src":"234344:24:22"},"variables":[{"name":"shift","nativeSrc":"234335:5:22","nodeType":"YulTypedName","src":"234335:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"234396:3:22","nodeType":"YulIdentifier","src":"234396:3:22"},{"kind":"number","nativeSrc":"234401:4:22","nodeType":"YulLiteral","src":"234401:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"234392:3:22","nodeType":"YulIdentifier","src":"234392:3:22"},"nativeSrc":"234392:14:22","nodeType":"YulFunctionCall","src":"234392:14:22"},{"arguments":[{"name":"shift","nativeSrc":"234412:5:22","nodeType":"YulIdentifier","src":"234412:5:22"},{"arguments":[{"name":"shift","nativeSrc":"234423:5:22","nodeType":"YulIdentifier","src":"234423:5:22"},{"name":"w","nativeSrc":"234430:1:22","nodeType":"YulIdentifier","src":"234430:1:22"}],"functionName":{"name":"shr","nativeSrc":"234419:3:22","nodeType":"YulIdentifier","src":"234419:3:22"},"nativeSrc":"234419:13:22","nodeType":"YulFunctionCall","src":"234419:13:22"}],"functionName":{"name":"shl","nativeSrc":"234408:3:22","nodeType":"YulIdentifier","src":"234408:3:22"},"nativeSrc":"234408:25:22","nodeType":"YulFunctionCall","src":"234408:25:22"}],"functionName":{"name":"mstore","nativeSrc":"234385:6:22","nodeType":"YulIdentifier","src":"234385:6:22"},"nativeSrc":"234385:49:22","nodeType":"YulFunctionCall","src":"234385:49:22"},"nativeSrc":"234385:49:22","nodeType":"YulExpressionStatement","src":"234385:49:22"}]},"name":"writeString","nativeSrc":"234106:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"234127:3:22","nodeType":"YulTypedName","src":"234127:3:22","type":""},{"name":"w","nativeSrc":"234132:1:22","nodeType":"YulTypedName","src":"234132:1:22","type":""}],"src":"234106:342:22"},{"nativeSrc":"234461:17:22","nodeType":"YulAssignment","src":"234461:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234473:4:22","nodeType":"YulLiteral","src":"234473:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"234467:5:22","nodeType":"YulIdentifier","src":"234467:5:22"},"nativeSrc":"234467:11:22","nodeType":"YulFunctionCall","src":"234467:11:22"},"variableNames":[{"name":"m0","nativeSrc":"234461:2:22","nodeType":"YulIdentifier","src":"234461:2:22"}]},{"nativeSrc":"234491:17:22","nodeType":"YulAssignment","src":"234491:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234503:4:22","nodeType":"YulLiteral","src":"234503:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"234497:5:22","nodeType":"YulIdentifier","src":"234497:5:22"},"nativeSrc":"234497:11:22","nodeType":"YulFunctionCall","src":"234497:11:22"},"variableNames":[{"name":"m1","nativeSrc":"234491:2:22","nodeType":"YulIdentifier","src":"234491:2:22"}]},{"nativeSrc":"234521:17:22","nodeType":"YulAssignment","src":"234521:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234533:4:22","nodeType":"YulLiteral","src":"234533:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"234527:5:22","nodeType":"YulIdentifier","src":"234527:5:22"},"nativeSrc":"234527:11:22","nodeType":"YulFunctionCall","src":"234527:11:22"},"variableNames":[{"name":"m2","nativeSrc":"234521:2:22","nodeType":"YulIdentifier","src":"234521:2:22"}]},{"nativeSrc":"234551:17:22","nodeType":"YulAssignment","src":"234551:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234563:4:22","nodeType":"YulLiteral","src":"234563:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"234557:5:22","nodeType":"YulIdentifier","src":"234557:5:22"},"nativeSrc":"234557:11:22","nodeType":"YulFunctionCall","src":"234557:11:22"},"variableNames":[{"name":"m3","nativeSrc":"234551:2:22","nodeType":"YulIdentifier","src":"234551:2:22"}]},{"nativeSrc":"234581:17:22","nodeType":"YulAssignment","src":"234581:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234593:4:22","nodeType":"YulLiteral","src":"234593:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"234587:5:22","nodeType":"YulIdentifier","src":"234587:5:22"},"nativeSrc":"234587:11:22","nodeType":"YulFunctionCall","src":"234587:11:22"},"variableNames":[{"name":"m4","nativeSrc":"234581:2:22","nodeType":"YulIdentifier","src":"234581:2:22"}]},{"nativeSrc":"234611:17:22","nodeType":"YulAssignment","src":"234611:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234623:4:22","nodeType":"YulLiteral","src":"234623:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"234617:5:22","nodeType":"YulIdentifier","src":"234617:5:22"},"nativeSrc":"234617:11:22","nodeType":"YulFunctionCall","src":"234617:11:22"},"variableNames":[{"name":"m5","nativeSrc":"234611:2:22","nodeType":"YulIdentifier","src":"234611:2:22"}]},{"nativeSrc":"234641:17:22","nodeType":"YulAssignment","src":"234641:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234653:4:22","nodeType":"YulLiteral","src":"234653:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"234647:5:22","nodeType":"YulIdentifier","src":"234647:5:22"},"nativeSrc":"234647:11:22","nodeType":"YulFunctionCall","src":"234647:11:22"},"variableNames":[{"name":"m6","nativeSrc":"234641:2:22","nodeType":"YulIdentifier","src":"234641:2:22"}]},{"nativeSrc":"234671:17:22","nodeType":"YulAssignment","src":"234671:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"234683:4:22","nodeType":"YulLiteral","src":"234683:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"234677:5:22","nodeType":"YulIdentifier","src":"234677:5:22"},"nativeSrc":"234677:11:22","nodeType":"YulFunctionCall","src":"234677:11:22"},"variableNames":[{"name":"m7","nativeSrc":"234671:2:22","nodeType":"YulIdentifier","src":"234671:2:22"}]},{"nativeSrc":"234701:18:22","nodeType":"YulAssignment","src":"234701:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"234713:5:22","nodeType":"YulLiteral","src":"234713:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"234707:5:22","nodeType":"YulIdentifier","src":"234707:5:22"},"nativeSrc":"234707:12:22","nodeType":"YulFunctionCall","src":"234707:12:22"},"variableNames":[{"name":"m8","nativeSrc":"234701:2:22","nodeType":"YulIdentifier","src":"234701:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234798:4:22","nodeType":"YulLiteral","src":"234798:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"234804:10:22","nodeType":"YulLiteral","src":"234804:10:22","type":"","value":"0x483d0416"}],"functionName":{"name":"mstore","nativeSrc":"234791:6:22","nodeType":"YulIdentifier","src":"234791:6:22"},"nativeSrc":"234791:24:22","nodeType":"YulFunctionCall","src":"234791:24:22"},"nativeSrc":"234791:24:22","nodeType":"YulExpressionStatement","src":"234791:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234835:4:22","nodeType":"YulLiteral","src":"234835:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"234841:2:22","nodeType":"YulIdentifier","src":"234841:2:22"}],"functionName":{"name":"mstore","nativeSrc":"234828:6:22","nodeType":"YulIdentifier","src":"234828:6:22"},"nativeSrc":"234828:16:22","nodeType":"YulFunctionCall","src":"234828:16:22"},"nativeSrc":"234828:16:22","nodeType":"YulExpressionStatement","src":"234828:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234864:4:22","nodeType":"YulLiteral","src":"234864:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"234870:4:22","nodeType":"YulLiteral","src":"234870:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"234857:6:22","nodeType":"YulIdentifier","src":"234857:6:22"},"nativeSrc":"234857:18:22","nodeType":"YulFunctionCall","src":"234857:18:22"},"nativeSrc":"234857:18:22","nodeType":"YulExpressionStatement","src":"234857:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234895:4:22","nodeType":"YulLiteral","src":"234895:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"234901:2:22","nodeType":"YulIdentifier","src":"234901:2:22"}],"functionName":{"name":"mstore","nativeSrc":"234888:6:22","nodeType":"YulIdentifier","src":"234888:6:22"},"nativeSrc":"234888:16:22","nodeType":"YulFunctionCall","src":"234888:16:22"},"nativeSrc":"234888:16:22","nodeType":"YulExpressionStatement","src":"234888:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234924:4:22","nodeType":"YulLiteral","src":"234924:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"234930:4:22","nodeType":"YulLiteral","src":"234930:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"234917:6:22","nodeType":"YulIdentifier","src":"234917:6:22"},"nativeSrc":"234917:18:22","nodeType":"YulFunctionCall","src":"234917:18:22"},"nativeSrc":"234917:18:22","nodeType":"YulExpressionStatement","src":"234917:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234960:4:22","nodeType":"YulLiteral","src":"234960:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"234966:2:22","nodeType":"YulIdentifier","src":"234966:2:22"}],"functionName":{"name":"writeString","nativeSrc":"234948:11:22","nodeType":"YulIdentifier","src":"234948:11:22"},"nativeSrc":"234948:21:22","nodeType":"YulFunctionCall","src":"234948:21:22"},"nativeSrc":"234948:21:22","nodeType":"YulExpressionStatement","src":"234948:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234994:4:22","nodeType":"YulLiteral","src":"234994:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"235000:2:22","nodeType":"YulIdentifier","src":"235000:2:22"}],"functionName":{"name":"writeString","nativeSrc":"234982:11:22","nodeType":"YulIdentifier","src":"234982:11:22"},"nativeSrc":"234982:21:22","nodeType":"YulFunctionCall","src":"234982:21:22"},"nativeSrc":"234982:21:22","nodeType":"YulExpressionStatement","src":"234982:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38723,"isOffset":false,"isSlot":false,"src":"234461:2:22","valueSize":1},{"declaration":38726,"isOffset":false,"isSlot":false,"src":"234491:2:22","valueSize":1},{"declaration":38729,"isOffset":false,"isSlot":false,"src":"234521:2:22","valueSize":1},{"declaration":38732,"isOffset":false,"isSlot":false,"src":"234551:2:22","valueSize":1},{"declaration":38735,"isOffset":false,"isSlot":false,"src":"234581:2:22","valueSize":1},{"declaration":38738,"isOffset":false,"isSlot":false,"src":"234611:2:22","valueSize":1},{"declaration":38741,"isOffset":false,"isSlot":false,"src":"234641:2:22","valueSize":1},{"declaration":38744,"isOffset":false,"isSlot":false,"src":"234671:2:22","valueSize":1},{"declaration":38747,"isOffset":false,"isSlot":false,"src":"234701:2:22","valueSize":1},{"declaration":38713,"isOffset":false,"isSlot":false,"src":"234841:2:22","valueSize":1},{"declaration":38715,"isOffset":false,"isSlot":false,"src":"234966:2:22","valueSize":1},{"declaration":38717,"isOffset":false,"isSlot":false,"src":"234901:2:22","valueSize":1},{"declaration":38719,"isOffset":false,"isSlot":false,"src":"235000:2:22","valueSize":1}],"id":38749,"nodeType":"InlineAssembly","src":"234083:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235038:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235044:5:22","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":38750,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"235022:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"235022:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38754,"nodeType":"ExpressionStatement","src":"235022:28:22"},{"AST":{"nativeSrc":"235112:273:22","nodeType":"YulBlock","src":"235112:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"235133:4:22","nodeType":"YulLiteral","src":"235133:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"235139:2:22","nodeType":"YulIdentifier","src":"235139:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235126:6:22","nodeType":"YulIdentifier","src":"235126:6:22"},"nativeSrc":"235126:16:22","nodeType":"YulFunctionCall","src":"235126:16:22"},"nativeSrc":"235126:16:22","nodeType":"YulExpressionStatement","src":"235126:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235162:4:22","nodeType":"YulLiteral","src":"235162:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"235168:2:22","nodeType":"YulIdentifier","src":"235168:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235155:6:22","nodeType":"YulIdentifier","src":"235155:6:22"},"nativeSrc":"235155:16:22","nodeType":"YulFunctionCall","src":"235155:16:22"},"nativeSrc":"235155:16:22","nodeType":"YulExpressionStatement","src":"235155:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235191:4:22","nodeType":"YulLiteral","src":"235191:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"235197:2:22","nodeType":"YulIdentifier","src":"235197:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235184:6:22","nodeType":"YulIdentifier","src":"235184:6:22"},"nativeSrc":"235184:16:22","nodeType":"YulFunctionCall","src":"235184:16:22"},"nativeSrc":"235184:16:22","nodeType":"YulExpressionStatement","src":"235184:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235220:4:22","nodeType":"YulLiteral","src":"235220:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"235226:2:22","nodeType":"YulIdentifier","src":"235226:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235213:6:22","nodeType":"YulIdentifier","src":"235213:6:22"},"nativeSrc":"235213:16:22","nodeType":"YulFunctionCall","src":"235213:16:22"},"nativeSrc":"235213:16:22","nodeType":"YulExpressionStatement","src":"235213:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235249:4:22","nodeType":"YulLiteral","src":"235249:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"235255:2:22","nodeType":"YulIdentifier","src":"235255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235242:6:22","nodeType":"YulIdentifier","src":"235242:6:22"},"nativeSrc":"235242:16:22","nodeType":"YulFunctionCall","src":"235242:16:22"},"nativeSrc":"235242:16:22","nodeType":"YulExpressionStatement","src":"235242:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235278:4:22","nodeType":"YulLiteral","src":"235278:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"235284:2:22","nodeType":"YulIdentifier","src":"235284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235271:6:22","nodeType":"YulIdentifier","src":"235271:6:22"},"nativeSrc":"235271:16:22","nodeType":"YulFunctionCall","src":"235271:16:22"},"nativeSrc":"235271:16:22","nodeType":"YulExpressionStatement","src":"235271:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235307:4:22","nodeType":"YulLiteral","src":"235307:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"235313:2:22","nodeType":"YulIdentifier","src":"235313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235300:6:22","nodeType":"YulIdentifier","src":"235300:6:22"},"nativeSrc":"235300:16:22","nodeType":"YulFunctionCall","src":"235300:16:22"},"nativeSrc":"235300:16:22","nodeType":"YulExpressionStatement","src":"235300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235336:4:22","nodeType":"YulLiteral","src":"235336:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"235342:2:22","nodeType":"YulIdentifier","src":"235342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235329:6:22","nodeType":"YulIdentifier","src":"235329:6:22"},"nativeSrc":"235329:16:22","nodeType":"YulFunctionCall","src":"235329:16:22"},"nativeSrc":"235329:16:22","nodeType":"YulExpressionStatement","src":"235329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235365:5:22","nodeType":"YulLiteral","src":"235365:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"235372:2:22","nodeType":"YulIdentifier","src":"235372:2:22"}],"functionName":{"name":"mstore","nativeSrc":"235358:6:22","nodeType":"YulIdentifier","src":"235358:6:22"},"nativeSrc":"235358:17:22","nodeType":"YulFunctionCall","src":"235358:17:22"},"nativeSrc":"235358:17:22","nodeType":"YulExpressionStatement","src":"235358:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38723,"isOffset":false,"isSlot":false,"src":"235139:2:22","valueSize":1},{"declaration":38726,"isOffset":false,"isSlot":false,"src":"235168:2:22","valueSize":1},{"declaration":38729,"isOffset":false,"isSlot":false,"src":"235197:2:22","valueSize":1},{"declaration":38732,"isOffset":false,"isSlot":false,"src":"235226:2:22","valueSize":1},{"declaration":38735,"isOffset":false,"isSlot":false,"src":"235255:2:22","valueSize":1},{"declaration":38738,"isOffset":false,"isSlot":false,"src":"235284:2:22","valueSize":1},{"declaration":38741,"isOffset":false,"isSlot":false,"src":"235313:2:22","valueSize":1},{"declaration":38744,"isOffset":false,"isSlot":false,"src":"235342:2:22","valueSize":1},{"declaration":38747,"isOffset":false,"isSlot":false,"src":"235372:2:22","valueSize":1}],"id":38755,"nodeType":"InlineAssembly","src":"235103:282:22"}]},"id":38757,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"233790:3:22","nodeType":"FunctionDefinition","parameters":{"id":38720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38713,"mutability":"mutable","name":"p0","nameLocation":"233799:2:22","nodeType":"VariableDeclaration","scope":38757,"src":"233794:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38712,"name":"bool","nodeType":"ElementaryTypeName","src":"233794:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38715,"mutability":"mutable","name":"p1","nameLocation":"233811:2:22","nodeType":"VariableDeclaration","scope":38757,"src":"233803:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233803:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38717,"mutability":"mutable","name":"p2","nameLocation":"233820:2:22","nodeType":"VariableDeclaration","scope":38757,"src":"233815:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38716,"name":"bool","nodeType":"ElementaryTypeName","src":"233815:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38719,"mutability":"mutable","name":"p3","nameLocation":"233832:2:22","nodeType":"VariableDeclaration","scope":38757,"src":"233824:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233824:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"233793:42:22"},"returnParameters":{"id":38721,"nodeType":"ParameterList","parameters":[],"src":"233850:0:22"},"scope":44426,"src":"233781:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38796,"nodeType":"Block","src":"235469:1348:22","statements":[{"assignments":[38769],"declarations":[{"constant":false,"id":38769,"mutability":"mutable","name":"m0","nameLocation":"235487:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235479:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235479:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38770,"nodeType":"VariableDeclarationStatement","src":"235479:10:22"},{"assignments":[38772],"declarations":[{"constant":false,"id":38772,"mutability":"mutable","name":"m1","nameLocation":"235507:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235499:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235499:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38773,"nodeType":"VariableDeclarationStatement","src":"235499:10:22"},{"assignments":[38775],"declarations":[{"constant":false,"id":38775,"mutability":"mutable","name":"m2","nameLocation":"235527:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235519:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235519:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38776,"nodeType":"VariableDeclarationStatement","src":"235519:10:22"},{"assignments":[38778],"declarations":[{"constant":false,"id":38778,"mutability":"mutable","name":"m3","nameLocation":"235547:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235539:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235539:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38779,"nodeType":"VariableDeclarationStatement","src":"235539:10:22"},{"assignments":[38781],"declarations":[{"constant":false,"id":38781,"mutability":"mutable","name":"m4","nameLocation":"235567:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235559:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235559:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38782,"nodeType":"VariableDeclarationStatement","src":"235559:10:22"},{"assignments":[38784],"declarations":[{"constant":false,"id":38784,"mutability":"mutable","name":"m5","nameLocation":"235587:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235579:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235579:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38785,"nodeType":"VariableDeclarationStatement","src":"235579:10:22"},{"assignments":[38787],"declarations":[{"constant":false,"id":38787,"mutability":"mutable","name":"m6","nameLocation":"235607:2:22","nodeType":"VariableDeclaration","scope":38796,"src":"235599:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235599:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38788,"nodeType":"VariableDeclarationStatement","src":"235599:10:22"},{"AST":{"nativeSrc":"235671:828:22","nodeType":"YulBlock","src":"235671:828:22","statements":[{"body":{"nativeSrc":"235714:313:22","nodeType":"YulBlock","src":"235714:313:22","statements":[{"nativeSrc":"235732:15:22","nodeType":"YulVariableDeclaration","src":"235732:15:22","value":{"kind":"number","nativeSrc":"235746:1:22","nodeType":"YulLiteral","src":"235746:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"235736:6:22","nodeType":"YulTypedName","src":"235736:6:22","type":""}]},{"body":{"nativeSrc":"235817:40:22","nodeType":"YulBlock","src":"235817:40:22","statements":[{"body":{"nativeSrc":"235846:9:22","nodeType":"YulBlock","src":"235846:9:22","statements":[{"nativeSrc":"235848:5:22","nodeType":"YulBreak","src":"235848:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"235834:6:22","nodeType":"YulIdentifier","src":"235834:6:22"},{"name":"w","nativeSrc":"235842:1:22","nodeType":"YulIdentifier","src":"235842:1:22"}],"functionName":{"name":"byte","nativeSrc":"235829:4:22","nodeType":"YulIdentifier","src":"235829:4:22"},"nativeSrc":"235829:15:22","nodeType":"YulFunctionCall","src":"235829:15:22"}],"functionName":{"name":"iszero","nativeSrc":"235822:6:22","nodeType":"YulIdentifier","src":"235822:6:22"},"nativeSrc":"235822:23:22","nodeType":"YulFunctionCall","src":"235822:23:22"},"nativeSrc":"235819:36:22","nodeType":"YulIf","src":"235819:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"235774:6:22","nodeType":"YulIdentifier","src":"235774:6:22"},{"kind":"number","nativeSrc":"235782:4:22","nodeType":"YulLiteral","src":"235782:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"235771:2:22","nodeType":"YulIdentifier","src":"235771:2:22"},"nativeSrc":"235771:16:22","nodeType":"YulFunctionCall","src":"235771:16:22"},"nativeSrc":"235764:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"235788:28:22","nodeType":"YulBlock","src":"235788:28:22","statements":[{"nativeSrc":"235790:24:22","nodeType":"YulAssignment","src":"235790:24:22","value":{"arguments":[{"name":"length","nativeSrc":"235804:6:22","nodeType":"YulIdentifier","src":"235804:6:22"},{"kind":"number","nativeSrc":"235812:1:22","nodeType":"YulLiteral","src":"235812:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"235800:3:22","nodeType":"YulIdentifier","src":"235800:3:22"},"nativeSrc":"235800:14:22","nodeType":"YulFunctionCall","src":"235800:14:22"},"variableNames":[{"name":"length","nativeSrc":"235790:6:22","nodeType":"YulIdentifier","src":"235790:6:22"}]}]},"pre":{"nativeSrc":"235768:2:22","nodeType":"YulBlock","src":"235768:2:22","statements":[]},"src":"235764:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"235881:3:22","nodeType":"YulIdentifier","src":"235881:3:22"},{"name":"length","nativeSrc":"235886:6:22","nodeType":"YulIdentifier","src":"235886:6:22"}],"functionName":{"name":"mstore","nativeSrc":"235874:6:22","nodeType":"YulIdentifier","src":"235874:6:22"},"nativeSrc":"235874:19:22","nodeType":"YulFunctionCall","src":"235874:19:22"},"nativeSrc":"235874:19:22","nodeType":"YulExpressionStatement","src":"235874:19:22"},{"nativeSrc":"235910:37:22","nodeType":"YulVariableDeclaration","src":"235910:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"235927:3:22","nodeType":"YulLiteral","src":"235927:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"235936:1:22","nodeType":"YulLiteral","src":"235936:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"235939:6:22","nodeType":"YulIdentifier","src":"235939:6:22"}],"functionName":{"name":"shl","nativeSrc":"235932:3:22","nodeType":"YulIdentifier","src":"235932:3:22"},"nativeSrc":"235932:14:22","nodeType":"YulFunctionCall","src":"235932:14:22"}],"functionName":{"name":"sub","nativeSrc":"235923:3:22","nodeType":"YulIdentifier","src":"235923:3:22"},"nativeSrc":"235923:24:22","nodeType":"YulFunctionCall","src":"235923:24:22"},"variables":[{"name":"shift","nativeSrc":"235914:5:22","nodeType":"YulTypedName","src":"235914:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"235975:3:22","nodeType":"YulIdentifier","src":"235975:3:22"},{"kind":"number","nativeSrc":"235980:4:22","nodeType":"YulLiteral","src":"235980:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"235971:3:22","nodeType":"YulIdentifier","src":"235971:3:22"},"nativeSrc":"235971:14:22","nodeType":"YulFunctionCall","src":"235971:14:22"},{"arguments":[{"name":"shift","nativeSrc":"235991:5:22","nodeType":"YulIdentifier","src":"235991:5:22"},{"arguments":[{"name":"shift","nativeSrc":"236002:5:22","nodeType":"YulIdentifier","src":"236002:5:22"},{"name":"w","nativeSrc":"236009:1:22","nodeType":"YulIdentifier","src":"236009:1:22"}],"functionName":{"name":"shr","nativeSrc":"235998:3:22","nodeType":"YulIdentifier","src":"235998:3:22"},"nativeSrc":"235998:13:22","nodeType":"YulFunctionCall","src":"235998:13:22"}],"functionName":{"name":"shl","nativeSrc":"235987:3:22","nodeType":"YulIdentifier","src":"235987:3:22"},"nativeSrc":"235987:25:22","nodeType":"YulFunctionCall","src":"235987:25:22"}],"functionName":{"name":"mstore","nativeSrc":"235964:6:22","nodeType":"YulIdentifier","src":"235964:6:22"},"nativeSrc":"235964:49:22","nodeType":"YulFunctionCall","src":"235964:49:22"},"nativeSrc":"235964:49:22","nodeType":"YulExpressionStatement","src":"235964:49:22"}]},"name":"writeString","nativeSrc":"235685:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"235706:3:22","nodeType":"YulTypedName","src":"235706:3:22","type":""},{"name":"w","nativeSrc":"235711:1:22","nodeType":"YulTypedName","src":"235711:1:22","type":""}],"src":"235685:342:22"},{"nativeSrc":"236040:17:22","nodeType":"YulAssignment","src":"236040:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236052:4:22","nodeType":"YulLiteral","src":"236052:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"236046:5:22","nodeType":"YulIdentifier","src":"236046:5:22"},"nativeSrc":"236046:11:22","nodeType":"YulFunctionCall","src":"236046:11:22"},"variableNames":[{"name":"m0","nativeSrc":"236040:2:22","nodeType":"YulIdentifier","src":"236040:2:22"}]},{"nativeSrc":"236070:17:22","nodeType":"YulAssignment","src":"236070:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236082:4:22","nodeType":"YulLiteral","src":"236082:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"236076:5:22","nodeType":"YulIdentifier","src":"236076:5:22"},"nativeSrc":"236076:11:22","nodeType":"YulFunctionCall","src":"236076:11:22"},"variableNames":[{"name":"m1","nativeSrc":"236070:2:22","nodeType":"YulIdentifier","src":"236070:2:22"}]},{"nativeSrc":"236100:17:22","nodeType":"YulAssignment","src":"236100:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236112:4:22","nodeType":"YulLiteral","src":"236112:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"236106:5:22","nodeType":"YulIdentifier","src":"236106:5:22"},"nativeSrc":"236106:11:22","nodeType":"YulFunctionCall","src":"236106:11:22"},"variableNames":[{"name":"m2","nativeSrc":"236100:2:22","nodeType":"YulIdentifier","src":"236100:2:22"}]},{"nativeSrc":"236130:17:22","nodeType":"YulAssignment","src":"236130:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236142:4:22","nodeType":"YulLiteral","src":"236142:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"236136:5:22","nodeType":"YulIdentifier","src":"236136:5:22"},"nativeSrc":"236136:11:22","nodeType":"YulFunctionCall","src":"236136:11:22"},"variableNames":[{"name":"m3","nativeSrc":"236130:2:22","nodeType":"YulIdentifier","src":"236130:2:22"}]},{"nativeSrc":"236160:17:22","nodeType":"YulAssignment","src":"236160:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236172:4:22","nodeType":"YulLiteral","src":"236172:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"236166:5:22","nodeType":"YulIdentifier","src":"236166:5:22"},"nativeSrc":"236166:11:22","nodeType":"YulFunctionCall","src":"236166:11:22"},"variableNames":[{"name":"m4","nativeSrc":"236160:2:22","nodeType":"YulIdentifier","src":"236160:2:22"}]},{"nativeSrc":"236190:17:22","nodeType":"YulAssignment","src":"236190:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236202:4:22","nodeType":"YulLiteral","src":"236202:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"236196:5:22","nodeType":"YulIdentifier","src":"236196:5:22"},"nativeSrc":"236196:11:22","nodeType":"YulFunctionCall","src":"236196:11:22"},"variableNames":[{"name":"m5","nativeSrc":"236190:2:22","nodeType":"YulIdentifier","src":"236190:2:22"}]},{"nativeSrc":"236220:17:22","nodeType":"YulAssignment","src":"236220:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"236232:4:22","nodeType":"YulLiteral","src":"236232:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"236226:5:22","nodeType":"YulIdentifier","src":"236226:5:22"},"nativeSrc":"236226:11:22","nodeType":"YulFunctionCall","src":"236226:11:22"},"variableNames":[{"name":"m6","nativeSrc":"236220:2:22","nodeType":"YulIdentifier","src":"236220:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236320:4:22","nodeType":"YulLiteral","src":"236320:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"236326:10:22","nodeType":"YulLiteral","src":"236326:10:22","type":"","value":"0x1596a1ce"}],"functionName":{"name":"mstore","nativeSrc":"236313:6:22","nodeType":"YulIdentifier","src":"236313:6:22"},"nativeSrc":"236313:24:22","nodeType":"YulFunctionCall","src":"236313:24:22"},"nativeSrc":"236313:24:22","nodeType":"YulExpressionStatement","src":"236313:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236357:4:22","nodeType":"YulLiteral","src":"236357:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"236363:2:22","nodeType":"YulIdentifier","src":"236363:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236350:6:22","nodeType":"YulIdentifier","src":"236350:6:22"},"nativeSrc":"236350:16:22","nodeType":"YulFunctionCall","src":"236350:16:22"},"nativeSrc":"236350:16:22","nodeType":"YulExpressionStatement","src":"236350:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236386:4:22","nodeType":"YulLiteral","src":"236386:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"236392:4:22","nodeType":"YulLiteral","src":"236392:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"236379:6:22","nodeType":"YulIdentifier","src":"236379:6:22"},"nativeSrc":"236379:18:22","nodeType":"YulFunctionCall","src":"236379:18:22"},"nativeSrc":"236379:18:22","nodeType":"YulExpressionStatement","src":"236379:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236417:4:22","nodeType":"YulLiteral","src":"236417:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"236423:2:22","nodeType":"YulIdentifier","src":"236423:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236410:6:22","nodeType":"YulIdentifier","src":"236410:6:22"},"nativeSrc":"236410:16:22","nodeType":"YulFunctionCall","src":"236410:16:22"},"nativeSrc":"236410:16:22","nodeType":"YulExpressionStatement","src":"236410:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236446:4:22","nodeType":"YulLiteral","src":"236446:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"236452:2:22","nodeType":"YulIdentifier","src":"236452:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236439:6:22","nodeType":"YulIdentifier","src":"236439:6:22"},"nativeSrc":"236439:16:22","nodeType":"YulFunctionCall","src":"236439:16:22"},"nativeSrc":"236439:16:22","nodeType":"YulExpressionStatement","src":"236439:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236480:4:22","nodeType":"YulLiteral","src":"236480:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"236486:2:22","nodeType":"YulIdentifier","src":"236486:2:22"}],"functionName":{"name":"writeString","nativeSrc":"236468:11:22","nodeType":"YulIdentifier","src":"236468:11:22"},"nativeSrc":"236468:21:22","nodeType":"YulFunctionCall","src":"236468:21:22"},"nativeSrc":"236468:21:22","nodeType":"YulExpressionStatement","src":"236468:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38769,"isOffset":false,"isSlot":false,"src":"236040:2:22","valueSize":1},{"declaration":38772,"isOffset":false,"isSlot":false,"src":"236070:2:22","valueSize":1},{"declaration":38775,"isOffset":false,"isSlot":false,"src":"236100:2:22","valueSize":1},{"declaration":38778,"isOffset":false,"isSlot":false,"src":"236130:2:22","valueSize":1},{"declaration":38781,"isOffset":false,"isSlot":false,"src":"236160:2:22","valueSize":1},{"declaration":38784,"isOffset":false,"isSlot":false,"src":"236190:2:22","valueSize":1},{"declaration":38787,"isOffset":false,"isSlot":false,"src":"236220:2:22","valueSize":1},{"declaration":38759,"isOffset":false,"isSlot":false,"src":"236363:2:22","valueSize":1},{"declaration":38761,"isOffset":false,"isSlot":false,"src":"236486:2:22","valueSize":1},{"declaration":38763,"isOffset":false,"isSlot":false,"src":"236423:2:22","valueSize":1},{"declaration":38765,"isOffset":false,"isSlot":false,"src":"236452:2:22","valueSize":1}],"id":38789,"nodeType":"InlineAssembly","src":"235662:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236524:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236530:4:22","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":38790,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"236508:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"236508:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38794,"nodeType":"ExpressionStatement","src":"236508:27:22"},{"AST":{"nativeSrc":"236597:214:22","nodeType":"YulBlock","src":"236597:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"236618:4:22","nodeType":"YulLiteral","src":"236618:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"236624:2:22","nodeType":"YulIdentifier","src":"236624:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236611:6:22","nodeType":"YulIdentifier","src":"236611:6:22"},"nativeSrc":"236611:16:22","nodeType":"YulFunctionCall","src":"236611:16:22"},"nativeSrc":"236611:16:22","nodeType":"YulExpressionStatement","src":"236611:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236647:4:22","nodeType":"YulLiteral","src":"236647:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"236653:2:22","nodeType":"YulIdentifier","src":"236653:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236640:6:22","nodeType":"YulIdentifier","src":"236640:6:22"},"nativeSrc":"236640:16:22","nodeType":"YulFunctionCall","src":"236640:16:22"},"nativeSrc":"236640:16:22","nodeType":"YulExpressionStatement","src":"236640:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236676:4:22","nodeType":"YulLiteral","src":"236676:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"236682:2:22","nodeType":"YulIdentifier","src":"236682:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236669:6:22","nodeType":"YulIdentifier","src":"236669:6:22"},"nativeSrc":"236669:16:22","nodeType":"YulFunctionCall","src":"236669:16:22"},"nativeSrc":"236669:16:22","nodeType":"YulExpressionStatement","src":"236669:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236705:4:22","nodeType":"YulLiteral","src":"236705:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"236711:2:22","nodeType":"YulIdentifier","src":"236711:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236698:6:22","nodeType":"YulIdentifier","src":"236698:6:22"},"nativeSrc":"236698:16:22","nodeType":"YulFunctionCall","src":"236698:16:22"},"nativeSrc":"236698:16:22","nodeType":"YulExpressionStatement","src":"236698:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236734:4:22","nodeType":"YulLiteral","src":"236734:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"236740:2:22","nodeType":"YulIdentifier","src":"236740:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236727:6:22","nodeType":"YulIdentifier","src":"236727:6:22"},"nativeSrc":"236727:16:22","nodeType":"YulFunctionCall","src":"236727:16:22"},"nativeSrc":"236727:16:22","nodeType":"YulExpressionStatement","src":"236727:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236763:4:22","nodeType":"YulLiteral","src":"236763:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"236769:2:22","nodeType":"YulIdentifier","src":"236769:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236756:6:22","nodeType":"YulIdentifier","src":"236756:6:22"},"nativeSrc":"236756:16:22","nodeType":"YulFunctionCall","src":"236756:16:22"},"nativeSrc":"236756:16:22","nodeType":"YulExpressionStatement","src":"236756:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236792:4:22","nodeType":"YulLiteral","src":"236792:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"236798:2:22","nodeType":"YulIdentifier","src":"236798:2:22"}],"functionName":{"name":"mstore","nativeSrc":"236785:6:22","nodeType":"YulIdentifier","src":"236785:6:22"},"nativeSrc":"236785:16:22","nodeType":"YulFunctionCall","src":"236785:16:22"},"nativeSrc":"236785:16:22","nodeType":"YulExpressionStatement","src":"236785:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38769,"isOffset":false,"isSlot":false,"src":"236624:2:22","valueSize":1},{"declaration":38772,"isOffset":false,"isSlot":false,"src":"236653:2:22","valueSize":1},{"declaration":38775,"isOffset":false,"isSlot":false,"src":"236682:2:22","valueSize":1},{"declaration":38778,"isOffset":false,"isSlot":false,"src":"236711:2:22","valueSize":1},{"declaration":38781,"isOffset":false,"isSlot":false,"src":"236740:2:22","valueSize":1},{"declaration":38784,"isOffset":false,"isSlot":false,"src":"236769:2:22","valueSize":1},{"declaration":38787,"isOffset":false,"isSlot":false,"src":"236798:2:22","valueSize":1}],"id":38795,"nodeType":"InlineAssembly","src":"236588:223:22"}]},"id":38797,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"235406:3:22","nodeType":"FunctionDefinition","parameters":{"id":38766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38759,"mutability":"mutable","name":"p0","nameLocation":"235415:2:22","nodeType":"VariableDeclaration","scope":38797,"src":"235410:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38758,"name":"bool","nodeType":"ElementaryTypeName","src":"235410:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38761,"mutability":"mutable","name":"p1","nameLocation":"235427:2:22","nodeType":"VariableDeclaration","scope":38797,"src":"235419:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235419:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38763,"mutability":"mutable","name":"p2","nameLocation":"235439:2:22","nodeType":"VariableDeclaration","scope":38797,"src":"235431:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38762,"name":"uint256","nodeType":"ElementaryTypeName","src":"235431:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38765,"mutability":"mutable","name":"p3","nameLocation":"235451:2:22","nodeType":"VariableDeclaration","scope":38797,"src":"235443:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38764,"name":"address","nodeType":"ElementaryTypeName","src":"235443:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"235409:45:22"},"returnParameters":{"id":38767,"nodeType":"ParameterList","parameters":[],"src":"235469:0:22"},"scope":44426,"src":"235397:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38836,"nodeType":"Block","src":"236892:1345:22","statements":[{"assignments":[38809],"declarations":[{"constant":false,"id":38809,"mutability":"mutable","name":"m0","nameLocation":"236910:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"236902:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236902:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38810,"nodeType":"VariableDeclarationStatement","src":"236902:10:22"},{"assignments":[38812],"declarations":[{"constant":false,"id":38812,"mutability":"mutable","name":"m1","nameLocation":"236930:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"236922:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236922:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38813,"nodeType":"VariableDeclarationStatement","src":"236922:10:22"},{"assignments":[38815],"declarations":[{"constant":false,"id":38815,"mutability":"mutable","name":"m2","nameLocation":"236950:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"236942:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236942:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38816,"nodeType":"VariableDeclarationStatement","src":"236942:10:22"},{"assignments":[38818],"declarations":[{"constant":false,"id":38818,"mutability":"mutable","name":"m3","nameLocation":"236970:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"236962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38819,"nodeType":"VariableDeclarationStatement","src":"236962:10:22"},{"assignments":[38821],"declarations":[{"constant":false,"id":38821,"mutability":"mutable","name":"m4","nameLocation":"236990:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"236982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38822,"nodeType":"VariableDeclarationStatement","src":"236982:10:22"},{"assignments":[38824],"declarations":[{"constant":false,"id":38824,"mutability":"mutable","name":"m5","nameLocation":"237010:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"237002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38825,"nodeType":"VariableDeclarationStatement","src":"237002:10:22"},{"assignments":[38827],"declarations":[{"constant":false,"id":38827,"mutability":"mutable","name":"m6","nameLocation":"237030:2:22","nodeType":"VariableDeclaration","scope":38836,"src":"237022:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237022:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38828,"nodeType":"VariableDeclarationStatement","src":"237022:10:22"},{"AST":{"nativeSrc":"237094:825:22","nodeType":"YulBlock","src":"237094:825:22","statements":[{"body":{"nativeSrc":"237137:313:22","nodeType":"YulBlock","src":"237137:313:22","statements":[{"nativeSrc":"237155:15:22","nodeType":"YulVariableDeclaration","src":"237155:15:22","value":{"kind":"number","nativeSrc":"237169:1:22","nodeType":"YulLiteral","src":"237169:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"237159:6:22","nodeType":"YulTypedName","src":"237159:6:22","type":""}]},{"body":{"nativeSrc":"237240:40:22","nodeType":"YulBlock","src":"237240:40:22","statements":[{"body":{"nativeSrc":"237269:9:22","nodeType":"YulBlock","src":"237269:9:22","statements":[{"nativeSrc":"237271:5:22","nodeType":"YulBreak","src":"237271:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"237257:6:22","nodeType":"YulIdentifier","src":"237257:6:22"},{"name":"w","nativeSrc":"237265:1:22","nodeType":"YulIdentifier","src":"237265:1:22"}],"functionName":{"name":"byte","nativeSrc":"237252:4:22","nodeType":"YulIdentifier","src":"237252:4:22"},"nativeSrc":"237252:15:22","nodeType":"YulFunctionCall","src":"237252:15:22"}],"functionName":{"name":"iszero","nativeSrc":"237245:6:22","nodeType":"YulIdentifier","src":"237245:6:22"},"nativeSrc":"237245:23:22","nodeType":"YulFunctionCall","src":"237245:23:22"},"nativeSrc":"237242:36:22","nodeType":"YulIf","src":"237242:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"237197:6:22","nodeType":"YulIdentifier","src":"237197:6:22"},{"kind":"number","nativeSrc":"237205:4:22","nodeType":"YulLiteral","src":"237205:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"237194:2:22","nodeType":"YulIdentifier","src":"237194:2:22"},"nativeSrc":"237194:16:22","nodeType":"YulFunctionCall","src":"237194:16:22"},"nativeSrc":"237187:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"237211:28:22","nodeType":"YulBlock","src":"237211:28:22","statements":[{"nativeSrc":"237213:24:22","nodeType":"YulAssignment","src":"237213:24:22","value":{"arguments":[{"name":"length","nativeSrc":"237227:6:22","nodeType":"YulIdentifier","src":"237227:6:22"},{"kind":"number","nativeSrc":"237235:1:22","nodeType":"YulLiteral","src":"237235:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"237223:3:22","nodeType":"YulIdentifier","src":"237223:3:22"},"nativeSrc":"237223:14:22","nodeType":"YulFunctionCall","src":"237223:14:22"},"variableNames":[{"name":"length","nativeSrc":"237213:6:22","nodeType":"YulIdentifier","src":"237213:6:22"}]}]},"pre":{"nativeSrc":"237191:2:22","nodeType":"YulBlock","src":"237191:2:22","statements":[]},"src":"237187:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"237304:3:22","nodeType":"YulIdentifier","src":"237304:3:22"},{"name":"length","nativeSrc":"237309:6:22","nodeType":"YulIdentifier","src":"237309:6:22"}],"functionName":{"name":"mstore","nativeSrc":"237297:6:22","nodeType":"YulIdentifier","src":"237297:6:22"},"nativeSrc":"237297:19:22","nodeType":"YulFunctionCall","src":"237297:19:22"},"nativeSrc":"237297:19:22","nodeType":"YulExpressionStatement","src":"237297:19:22"},{"nativeSrc":"237333:37:22","nodeType":"YulVariableDeclaration","src":"237333:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"237350:3:22","nodeType":"YulLiteral","src":"237350:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"237359:1:22","nodeType":"YulLiteral","src":"237359:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"237362:6:22","nodeType":"YulIdentifier","src":"237362:6:22"}],"functionName":{"name":"shl","nativeSrc":"237355:3:22","nodeType":"YulIdentifier","src":"237355:3:22"},"nativeSrc":"237355:14:22","nodeType":"YulFunctionCall","src":"237355:14:22"}],"functionName":{"name":"sub","nativeSrc":"237346:3:22","nodeType":"YulIdentifier","src":"237346:3:22"},"nativeSrc":"237346:24:22","nodeType":"YulFunctionCall","src":"237346:24:22"},"variables":[{"name":"shift","nativeSrc":"237337:5:22","nodeType":"YulTypedName","src":"237337:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"237398:3:22","nodeType":"YulIdentifier","src":"237398:3:22"},{"kind":"number","nativeSrc":"237403:4:22","nodeType":"YulLiteral","src":"237403:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"237394:3:22","nodeType":"YulIdentifier","src":"237394:3:22"},"nativeSrc":"237394:14:22","nodeType":"YulFunctionCall","src":"237394:14:22"},{"arguments":[{"name":"shift","nativeSrc":"237414:5:22","nodeType":"YulIdentifier","src":"237414:5:22"},{"arguments":[{"name":"shift","nativeSrc":"237425:5:22","nodeType":"YulIdentifier","src":"237425:5:22"},{"name":"w","nativeSrc":"237432:1:22","nodeType":"YulIdentifier","src":"237432:1:22"}],"functionName":{"name":"shr","nativeSrc":"237421:3:22","nodeType":"YulIdentifier","src":"237421:3:22"},"nativeSrc":"237421:13:22","nodeType":"YulFunctionCall","src":"237421:13:22"}],"functionName":{"name":"shl","nativeSrc":"237410:3:22","nodeType":"YulIdentifier","src":"237410:3:22"},"nativeSrc":"237410:25:22","nodeType":"YulFunctionCall","src":"237410:25:22"}],"functionName":{"name":"mstore","nativeSrc":"237387:6:22","nodeType":"YulIdentifier","src":"237387:6:22"},"nativeSrc":"237387:49:22","nodeType":"YulFunctionCall","src":"237387:49:22"},"nativeSrc":"237387:49:22","nodeType":"YulExpressionStatement","src":"237387:49:22"}]},"name":"writeString","nativeSrc":"237108:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"237129:3:22","nodeType":"YulTypedName","src":"237129:3:22","type":""},{"name":"w","nativeSrc":"237134:1:22","nodeType":"YulTypedName","src":"237134:1:22","type":""}],"src":"237108:342:22"},{"nativeSrc":"237463:17:22","nodeType":"YulAssignment","src":"237463:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237475:4:22","nodeType":"YulLiteral","src":"237475:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"237469:5:22","nodeType":"YulIdentifier","src":"237469:5:22"},"nativeSrc":"237469:11:22","nodeType":"YulFunctionCall","src":"237469:11:22"},"variableNames":[{"name":"m0","nativeSrc":"237463:2:22","nodeType":"YulIdentifier","src":"237463:2:22"}]},{"nativeSrc":"237493:17:22","nodeType":"YulAssignment","src":"237493:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237505:4:22","nodeType":"YulLiteral","src":"237505:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"237499:5:22","nodeType":"YulIdentifier","src":"237499:5:22"},"nativeSrc":"237499:11:22","nodeType":"YulFunctionCall","src":"237499:11:22"},"variableNames":[{"name":"m1","nativeSrc":"237493:2:22","nodeType":"YulIdentifier","src":"237493:2:22"}]},{"nativeSrc":"237523:17:22","nodeType":"YulAssignment","src":"237523:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237535:4:22","nodeType":"YulLiteral","src":"237535:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"237529:5:22","nodeType":"YulIdentifier","src":"237529:5:22"},"nativeSrc":"237529:11:22","nodeType":"YulFunctionCall","src":"237529:11:22"},"variableNames":[{"name":"m2","nativeSrc":"237523:2:22","nodeType":"YulIdentifier","src":"237523:2:22"}]},{"nativeSrc":"237553:17:22","nodeType":"YulAssignment","src":"237553:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237565:4:22","nodeType":"YulLiteral","src":"237565:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"237559:5:22","nodeType":"YulIdentifier","src":"237559:5:22"},"nativeSrc":"237559:11:22","nodeType":"YulFunctionCall","src":"237559:11:22"},"variableNames":[{"name":"m3","nativeSrc":"237553:2:22","nodeType":"YulIdentifier","src":"237553:2:22"}]},{"nativeSrc":"237583:17:22","nodeType":"YulAssignment","src":"237583:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237595:4:22","nodeType":"YulLiteral","src":"237595:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"237589:5:22","nodeType":"YulIdentifier","src":"237589:5:22"},"nativeSrc":"237589:11:22","nodeType":"YulFunctionCall","src":"237589:11:22"},"variableNames":[{"name":"m4","nativeSrc":"237583:2:22","nodeType":"YulIdentifier","src":"237583:2:22"}]},{"nativeSrc":"237613:17:22","nodeType":"YulAssignment","src":"237613:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237625:4:22","nodeType":"YulLiteral","src":"237625:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"237619:5:22","nodeType":"YulIdentifier","src":"237619:5:22"},"nativeSrc":"237619:11:22","nodeType":"YulFunctionCall","src":"237619:11:22"},"variableNames":[{"name":"m5","nativeSrc":"237613:2:22","nodeType":"YulIdentifier","src":"237613:2:22"}]},{"nativeSrc":"237643:17:22","nodeType":"YulAssignment","src":"237643:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"237655:4:22","nodeType":"YulLiteral","src":"237655:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"237649:5:22","nodeType":"YulIdentifier","src":"237649:5:22"},"nativeSrc":"237649:11:22","nodeType":"YulFunctionCall","src":"237649:11:22"},"variableNames":[{"name":"m6","nativeSrc":"237643:2:22","nodeType":"YulIdentifier","src":"237643:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237740:4:22","nodeType":"YulLiteral","src":"237740:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"237746:10:22","nodeType":"YulLiteral","src":"237746:10:22","type":"","value":"0x6b0e5d53"}],"functionName":{"name":"mstore","nativeSrc":"237733:6:22","nodeType":"YulIdentifier","src":"237733:6:22"},"nativeSrc":"237733:24:22","nodeType":"YulFunctionCall","src":"237733:24:22"},"nativeSrc":"237733:24:22","nodeType":"YulExpressionStatement","src":"237733:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237777:4:22","nodeType":"YulLiteral","src":"237777:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"237783:2:22","nodeType":"YulIdentifier","src":"237783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"237770:6:22","nodeType":"YulIdentifier","src":"237770:6:22"},"nativeSrc":"237770:16:22","nodeType":"YulFunctionCall","src":"237770:16:22"},"nativeSrc":"237770:16:22","nodeType":"YulExpressionStatement","src":"237770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237806:4:22","nodeType":"YulLiteral","src":"237806:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"237812:4:22","nodeType":"YulLiteral","src":"237812:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"237799:6:22","nodeType":"YulIdentifier","src":"237799:6:22"},"nativeSrc":"237799:18:22","nodeType":"YulFunctionCall","src":"237799:18:22"},"nativeSrc":"237799:18:22","nodeType":"YulExpressionStatement","src":"237799:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237837:4:22","nodeType":"YulLiteral","src":"237837:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"237843:2:22","nodeType":"YulIdentifier","src":"237843:2:22"}],"functionName":{"name":"mstore","nativeSrc":"237830:6:22","nodeType":"YulIdentifier","src":"237830:6:22"},"nativeSrc":"237830:16:22","nodeType":"YulFunctionCall","src":"237830:16:22"},"nativeSrc":"237830:16:22","nodeType":"YulExpressionStatement","src":"237830:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237866:4:22","nodeType":"YulLiteral","src":"237866:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"237872:2:22","nodeType":"YulIdentifier","src":"237872:2:22"}],"functionName":{"name":"mstore","nativeSrc":"237859:6:22","nodeType":"YulIdentifier","src":"237859:6:22"},"nativeSrc":"237859:16:22","nodeType":"YulFunctionCall","src":"237859:16:22"},"nativeSrc":"237859:16:22","nodeType":"YulExpressionStatement","src":"237859:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237900:4:22","nodeType":"YulLiteral","src":"237900:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"237906:2:22","nodeType":"YulIdentifier","src":"237906:2:22"}],"functionName":{"name":"writeString","nativeSrc":"237888:11:22","nodeType":"YulIdentifier","src":"237888:11:22"},"nativeSrc":"237888:21:22","nodeType":"YulFunctionCall","src":"237888:21:22"},"nativeSrc":"237888:21:22","nodeType":"YulExpressionStatement","src":"237888:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38809,"isOffset":false,"isSlot":false,"src":"237463:2:22","valueSize":1},{"declaration":38812,"isOffset":false,"isSlot":false,"src":"237493:2:22","valueSize":1},{"declaration":38815,"isOffset":false,"isSlot":false,"src":"237523:2:22","valueSize":1},{"declaration":38818,"isOffset":false,"isSlot":false,"src":"237553:2:22","valueSize":1},{"declaration":38821,"isOffset":false,"isSlot":false,"src":"237583:2:22","valueSize":1},{"declaration":38824,"isOffset":false,"isSlot":false,"src":"237613:2:22","valueSize":1},{"declaration":38827,"isOffset":false,"isSlot":false,"src":"237643:2:22","valueSize":1},{"declaration":38799,"isOffset":false,"isSlot":false,"src":"237783:2:22","valueSize":1},{"declaration":38801,"isOffset":false,"isSlot":false,"src":"237906:2:22","valueSize":1},{"declaration":38803,"isOffset":false,"isSlot":false,"src":"237843:2:22","valueSize":1},{"declaration":38805,"isOffset":false,"isSlot":false,"src":"237872:2:22","valueSize":1}],"id":38829,"nodeType":"InlineAssembly","src":"237085:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237944:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237950:4:22","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":38830,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"237928:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"237928:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38834,"nodeType":"ExpressionStatement","src":"237928:27:22"},{"AST":{"nativeSrc":"238017:214:22","nodeType":"YulBlock","src":"238017:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"238038:4:22","nodeType":"YulLiteral","src":"238038:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"238044:2:22","nodeType":"YulIdentifier","src":"238044:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238031:6:22","nodeType":"YulIdentifier","src":"238031:6:22"},"nativeSrc":"238031:16:22","nodeType":"YulFunctionCall","src":"238031:16:22"},"nativeSrc":"238031:16:22","nodeType":"YulExpressionStatement","src":"238031:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238067:4:22","nodeType":"YulLiteral","src":"238067:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"238073:2:22","nodeType":"YulIdentifier","src":"238073:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238060:6:22","nodeType":"YulIdentifier","src":"238060:6:22"},"nativeSrc":"238060:16:22","nodeType":"YulFunctionCall","src":"238060:16:22"},"nativeSrc":"238060:16:22","nodeType":"YulExpressionStatement","src":"238060:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238096:4:22","nodeType":"YulLiteral","src":"238096:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"238102:2:22","nodeType":"YulIdentifier","src":"238102:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238089:6:22","nodeType":"YulIdentifier","src":"238089:6:22"},"nativeSrc":"238089:16:22","nodeType":"YulFunctionCall","src":"238089:16:22"},"nativeSrc":"238089:16:22","nodeType":"YulExpressionStatement","src":"238089:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238125:4:22","nodeType":"YulLiteral","src":"238125:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"238131:2:22","nodeType":"YulIdentifier","src":"238131:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238118:6:22","nodeType":"YulIdentifier","src":"238118:6:22"},"nativeSrc":"238118:16:22","nodeType":"YulFunctionCall","src":"238118:16:22"},"nativeSrc":"238118:16:22","nodeType":"YulExpressionStatement","src":"238118:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238154:4:22","nodeType":"YulLiteral","src":"238154:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"238160:2:22","nodeType":"YulIdentifier","src":"238160:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238147:6:22","nodeType":"YulIdentifier","src":"238147:6:22"},"nativeSrc":"238147:16:22","nodeType":"YulFunctionCall","src":"238147:16:22"},"nativeSrc":"238147:16:22","nodeType":"YulExpressionStatement","src":"238147:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238183:4:22","nodeType":"YulLiteral","src":"238183:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"238189:2:22","nodeType":"YulIdentifier","src":"238189:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238176:6:22","nodeType":"YulIdentifier","src":"238176:6:22"},"nativeSrc":"238176:16:22","nodeType":"YulFunctionCall","src":"238176:16:22"},"nativeSrc":"238176:16:22","nodeType":"YulExpressionStatement","src":"238176:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238212:4:22","nodeType":"YulLiteral","src":"238212:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"238218:2:22","nodeType":"YulIdentifier","src":"238218:2:22"}],"functionName":{"name":"mstore","nativeSrc":"238205:6:22","nodeType":"YulIdentifier","src":"238205:6:22"},"nativeSrc":"238205:16:22","nodeType":"YulFunctionCall","src":"238205:16:22"},"nativeSrc":"238205:16:22","nodeType":"YulExpressionStatement","src":"238205:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38809,"isOffset":false,"isSlot":false,"src":"238044:2:22","valueSize":1},{"declaration":38812,"isOffset":false,"isSlot":false,"src":"238073:2:22","valueSize":1},{"declaration":38815,"isOffset":false,"isSlot":false,"src":"238102:2:22","valueSize":1},{"declaration":38818,"isOffset":false,"isSlot":false,"src":"238131:2:22","valueSize":1},{"declaration":38821,"isOffset":false,"isSlot":false,"src":"238160:2:22","valueSize":1},{"declaration":38824,"isOffset":false,"isSlot":false,"src":"238189:2:22","valueSize":1},{"declaration":38827,"isOffset":false,"isSlot":false,"src":"238218:2:22","valueSize":1}],"id":38835,"nodeType":"InlineAssembly","src":"238008:223:22"}]},"id":38837,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"236832:3:22","nodeType":"FunctionDefinition","parameters":{"id":38806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38799,"mutability":"mutable","name":"p0","nameLocation":"236841:2:22","nodeType":"VariableDeclaration","scope":38837,"src":"236836:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38798,"name":"bool","nodeType":"ElementaryTypeName","src":"236836:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38801,"mutability":"mutable","name":"p1","nameLocation":"236853:2:22","nodeType":"VariableDeclaration","scope":38837,"src":"236845:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236845:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38803,"mutability":"mutable","name":"p2","nameLocation":"236865:2:22","nodeType":"VariableDeclaration","scope":38837,"src":"236857:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38802,"name":"uint256","nodeType":"ElementaryTypeName","src":"236857:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38805,"mutability":"mutable","name":"p3","nameLocation":"236874:2:22","nodeType":"VariableDeclaration","scope":38837,"src":"236869:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38804,"name":"bool","nodeType":"ElementaryTypeName","src":"236869:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"236835:42:22"},"returnParameters":{"id":38807,"nodeType":"ParameterList","parameters":[],"src":"236892:0:22"},"scope":44426,"src":"236823:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38876,"nodeType":"Block","src":"238315:1348:22","statements":[{"assignments":[38849],"declarations":[{"constant":false,"id":38849,"mutability":"mutable","name":"m0","nameLocation":"238333:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238325:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238325:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38850,"nodeType":"VariableDeclarationStatement","src":"238325:10:22"},{"assignments":[38852],"declarations":[{"constant":false,"id":38852,"mutability":"mutable","name":"m1","nameLocation":"238353:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238345:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238345:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38853,"nodeType":"VariableDeclarationStatement","src":"238345:10:22"},{"assignments":[38855],"declarations":[{"constant":false,"id":38855,"mutability":"mutable","name":"m2","nameLocation":"238373:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238365:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238365:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38856,"nodeType":"VariableDeclarationStatement","src":"238365:10:22"},{"assignments":[38858],"declarations":[{"constant":false,"id":38858,"mutability":"mutable","name":"m3","nameLocation":"238393:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238385:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238385:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38859,"nodeType":"VariableDeclarationStatement","src":"238385:10:22"},{"assignments":[38861],"declarations":[{"constant":false,"id":38861,"mutability":"mutable","name":"m4","nameLocation":"238413:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238405:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238405:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38862,"nodeType":"VariableDeclarationStatement","src":"238405:10:22"},{"assignments":[38864],"declarations":[{"constant":false,"id":38864,"mutability":"mutable","name":"m5","nameLocation":"238433:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238425:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238425:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38865,"nodeType":"VariableDeclarationStatement","src":"238425:10:22"},{"assignments":[38867],"declarations":[{"constant":false,"id":38867,"mutability":"mutable","name":"m6","nameLocation":"238453:2:22","nodeType":"VariableDeclaration","scope":38876,"src":"238445:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238445:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38868,"nodeType":"VariableDeclarationStatement","src":"238445:10:22"},{"AST":{"nativeSrc":"238517:828:22","nodeType":"YulBlock","src":"238517:828:22","statements":[{"body":{"nativeSrc":"238560:313:22","nodeType":"YulBlock","src":"238560:313:22","statements":[{"nativeSrc":"238578:15:22","nodeType":"YulVariableDeclaration","src":"238578:15:22","value":{"kind":"number","nativeSrc":"238592:1:22","nodeType":"YulLiteral","src":"238592:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"238582:6:22","nodeType":"YulTypedName","src":"238582:6:22","type":""}]},{"body":{"nativeSrc":"238663:40:22","nodeType":"YulBlock","src":"238663:40:22","statements":[{"body":{"nativeSrc":"238692:9:22","nodeType":"YulBlock","src":"238692:9:22","statements":[{"nativeSrc":"238694:5:22","nodeType":"YulBreak","src":"238694:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"238680:6:22","nodeType":"YulIdentifier","src":"238680:6:22"},{"name":"w","nativeSrc":"238688:1:22","nodeType":"YulIdentifier","src":"238688:1:22"}],"functionName":{"name":"byte","nativeSrc":"238675:4:22","nodeType":"YulIdentifier","src":"238675:4:22"},"nativeSrc":"238675:15:22","nodeType":"YulFunctionCall","src":"238675:15:22"}],"functionName":{"name":"iszero","nativeSrc":"238668:6:22","nodeType":"YulIdentifier","src":"238668:6:22"},"nativeSrc":"238668:23:22","nodeType":"YulFunctionCall","src":"238668:23:22"},"nativeSrc":"238665:36:22","nodeType":"YulIf","src":"238665:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"238620:6:22","nodeType":"YulIdentifier","src":"238620:6:22"},{"kind":"number","nativeSrc":"238628:4:22","nodeType":"YulLiteral","src":"238628:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"238617:2:22","nodeType":"YulIdentifier","src":"238617:2:22"},"nativeSrc":"238617:16:22","nodeType":"YulFunctionCall","src":"238617:16:22"},"nativeSrc":"238610:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"238634:28:22","nodeType":"YulBlock","src":"238634:28:22","statements":[{"nativeSrc":"238636:24:22","nodeType":"YulAssignment","src":"238636:24:22","value":{"arguments":[{"name":"length","nativeSrc":"238650:6:22","nodeType":"YulIdentifier","src":"238650:6:22"},{"kind":"number","nativeSrc":"238658:1:22","nodeType":"YulLiteral","src":"238658:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"238646:3:22","nodeType":"YulIdentifier","src":"238646:3:22"},"nativeSrc":"238646:14:22","nodeType":"YulFunctionCall","src":"238646:14:22"},"variableNames":[{"name":"length","nativeSrc":"238636:6:22","nodeType":"YulIdentifier","src":"238636:6:22"}]}]},"pre":{"nativeSrc":"238614:2:22","nodeType":"YulBlock","src":"238614:2:22","statements":[]},"src":"238610:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"238727:3:22","nodeType":"YulIdentifier","src":"238727:3:22"},{"name":"length","nativeSrc":"238732:6:22","nodeType":"YulIdentifier","src":"238732:6:22"}],"functionName":{"name":"mstore","nativeSrc":"238720:6:22","nodeType":"YulIdentifier","src":"238720:6:22"},"nativeSrc":"238720:19:22","nodeType":"YulFunctionCall","src":"238720:19:22"},"nativeSrc":"238720:19:22","nodeType":"YulExpressionStatement","src":"238720:19:22"},{"nativeSrc":"238756:37:22","nodeType":"YulVariableDeclaration","src":"238756:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"238773:3:22","nodeType":"YulLiteral","src":"238773:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"238782:1:22","nodeType":"YulLiteral","src":"238782:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"238785:6:22","nodeType":"YulIdentifier","src":"238785:6:22"}],"functionName":{"name":"shl","nativeSrc":"238778:3:22","nodeType":"YulIdentifier","src":"238778:3:22"},"nativeSrc":"238778:14:22","nodeType":"YulFunctionCall","src":"238778:14:22"}],"functionName":{"name":"sub","nativeSrc":"238769:3:22","nodeType":"YulIdentifier","src":"238769:3:22"},"nativeSrc":"238769:24:22","nodeType":"YulFunctionCall","src":"238769:24:22"},"variables":[{"name":"shift","nativeSrc":"238760:5:22","nodeType":"YulTypedName","src":"238760:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"238821:3:22","nodeType":"YulIdentifier","src":"238821:3:22"},{"kind":"number","nativeSrc":"238826:4:22","nodeType":"YulLiteral","src":"238826:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"238817:3:22","nodeType":"YulIdentifier","src":"238817:3:22"},"nativeSrc":"238817:14:22","nodeType":"YulFunctionCall","src":"238817:14:22"},{"arguments":[{"name":"shift","nativeSrc":"238837:5:22","nodeType":"YulIdentifier","src":"238837:5:22"},{"arguments":[{"name":"shift","nativeSrc":"238848:5:22","nodeType":"YulIdentifier","src":"238848:5:22"},{"name":"w","nativeSrc":"238855:1:22","nodeType":"YulIdentifier","src":"238855:1:22"}],"functionName":{"name":"shr","nativeSrc":"238844:3:22","nodeType":"YulIdentifier","src":"238844:3:22"},"nativeSrc":"238844:13:22","nodeType":"YulFunctionCall","src":"238844:13:22"}],"functionName":{"name":"shl","nativeSrc":"238833:3:22","nodeType":"YulIdentifier","src":"238833:3:22"},"nativeSrc":"238833:25:22","nodeType":"YulFunctionCall","src":"238833:25:22"}],"functionName":{"name":"mstore","nativeSrc":"238810:6:22","nodeType":"YulIdentifier","src":"238810:6:22"},"nativeSrc":"238810:49:22","nodeType":"YulFunctionCall","src":"238810:49:22"},"nativeSrc":"238810:49:22","nodeType":"YulExpressionStatement","src":"238810:49:22"}]},"name":"writeString","nativeSrc":"238531:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"238552:3:22","nodeType":"YulTypedName","src":"238552:3:22","type":""},{"name":"w","nativeSrc":"238557:1:22","nodeType":"YulTypedName","src":"238557:1:22","type":""}],"src":"238531:342:22"},{"nativeSrc":"238886:17:22","nodeType":"YulAssignment","src":"238886:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"238898:4:22","nodeType":"YulLiteral","src":"238898:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"238892:5:22","nodeType":"YulIdentifier","src":"238892:5:22"},"nativeSrc":"238892:11:22","nodeType":"YulFunctionCall","src":"238892:11:22"},"variableNames":[{"name":"m0","nativeSrc":"238886:2:22","nodeType":"YulIdentifier","src":"238886:2:22"}]},{"nativeSrc":"238916:17:22","nodeType":"YulAssignment","src":"238916:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"238928:4:22","nodeType":"YulLiteral","src":"238928:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"238922:5:22","nodeType":"YulIdentifier","src":"238922:5:22"},"nativeSrc":"238922:11:22","nodeType":"YulFunctionCall","src":"238922:11:22"},"variableNames":[{"name":"m1","nativeSrc":"238916:2:22","nodeType":"YulIdentifier","src":"238916:2:22"}]},{"nativeSrc":"238946:17:22","nodeType":"YulAssignment","src":"238946:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"238958:4:22","nodeType":"YulLiteral","src":"238958:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"238952:5:22","nodeType":"YulIdentifier","src":"238952:5:22"},"nativeSrc":"238952:11:22","nodeType":"YulFunctionCall","src":"238952:11:22"},"variableNames":[{"name":"m2","nativeSrc":"238946:2:22","nodeType":"YulIdentifier","src":"238946:2:22"}]},{"nativeSrc":"238976:17:22","nodeType":"YulAssignment","src":"238976:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"238988:4:22","nodeType":"YulLiteral","src":"238988:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"238982:5:22","nodeType":"YulIdentifier","src":"238982:5:22"},"nativeSrc":"238982:11:22","nodeType":"YulFunctionCall","src":"238982:11:22"},"variableNames":[{"name":"m3","nativeSrc":"238976:2:22","nodeType":"YulIdentifier","src":"238976:2:22"}]},{"nativeSrc":"239006:17:22","nodeType":"YulAssignment","src":"239006:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"239018:4:22","nodeType":"YulLiteral","src":"239018:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"239012:5:22","nodeType":"YulIdentifier","src":"239012:5:22"},"nativeSrc":"239012:11:22","nodeType":"YulFunctionCall","src":"239012:11:22"},"variableNames":[{"name":"m4","nativeSrc":"239006:2:22","nodeType":"YulIdentifier","src":"239006:2:22"}]},{"nativeSrc":"239036:17:22","nodeType":"YulAssignment","src":"239036:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"239048:4:22","nodeType":"YulLiteral","src":"239048:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"239042:5:22","nodeType":"YulIdentifier","src":"239042:5:22"},"nativeSrc":"239042:11:22","nodeType":"YulFunctionCall","src":"239042:11:22"},"variableNames":[{"name":"m5","nativeSrc":"239036:2:22","nodeType":"YulIdentifier","src":"239036:2:22"}]},{"nativeSrc":"239066:17:22","nodeType":"YulAssignment","src":"239066:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"239078:4:22","nodeType":"YulLiteral","src":"239078:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"239072:5:22","nodeType":"YulIdentifier","src":"239072:5:22"},"nativeSrc":"239072:11:22","nodeType":"YulFunctionCall","src":"239072:11:22"},"variableNames":[{"name":"m6","nativeSrc":"239066:2:22","nodeType":"YulIdentifier","src":"239066:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239166:4:22","nodeType":"YulLiteral","src":"239166:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"239172:10:22","nodeType":"YulLiteral","src":"239172:10:22","type":"","value":"0x28863fcb"}],"functionName":{"name":"mstore","nativeSrc":"239159:6:22","nodeType":"YulIdentifier","src":"239159:6:22"},"nativeSrc":"239159:24:22","nodeType":"YulFunctionCall","src":"239159:24:22"},"nativeSrc":"239159:24:22","nodeType":"YulExpressionStatement","src":"239159:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239203:4:22","nodeType":"YulLiteral","src":"239203:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"239209:2:22","nodeType":"YulIdentifier","src":"239209:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239196:6:22","nodeType":"YulIdentifier","src":"239196:6:22"},"nativeSrc":"239196:16:22","nodeType":"YulFunctionCall","src":"239196:16:22"},"nativeSrc":"239196:16:22","nodeType":"YulExpressionStatement","src":"239196:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239232:4:22","nodeType":"YulLiteral","src":"239232:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"239238:4:22","nodeType":"YulLiteral","src":"239238:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"239225:6:22","nodeType":"YulIdentifier","src":"239225:6:22"},"nativeSrc":"239225:18:22","nodeType":"YulFunctionCall","src":"239225:18:22"},"nativeSrc":"239225:18:22","nodeType":"YulExpressionStatement","src":"239225:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239263:4:22","nodeType":"YulLiteral","src":"239263:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"239269:2:22","nodeType":"YulIdentifier","src":"239269:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239256:6:22","nodeType":"YulIdentifier","src":"239256:6:22"},"nativeSrc":"239256:16:22","nodeType":"YulFunctionCall","src":"239256:16:22"},"nativeSrc":"239256:16:22","nodeType":"YulExpressionStatement","src":"239256:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239292:4:22","nodeType":"YulLiteral","src":"239292:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"239298:2:22","nodeType":"YulIdentifier","src":"239298:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239285:6:22","nodeType":"YulIdentifier","src":"239285:6:22"},"nativeSrc":"239285:16:22","nodeType":"YulFunctionCall","src":"239285:16:22"},"nativeSrc":"239285:16:22","nodeType":"YulExpressionStatement","src":"239285:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239326:4:22","nodeType":"YulLiteral","src":"239326:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"239332:2:22","nodeType":"YulIdentifier","src":"239332:2:22"}],"functionName":{"name":"writeString","nativeSrc":"239314:11:22","nodeType":"YulIdentifier","src":"239314:11:22"},"nativeSrc":"239314:21:22","nodeType":"YulFunctionCall","src":"239314:21:22"},"nativeSrc":"239314:21:22","nodeType":"YulExpressionStatement","src":"239314:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38849,"isOffset":false,"isSlot":false,"src":"238886:2:22","valueSize":1},{"declaration":38852,"isOffset":false,"isSlot":false,"src":"238916:2:22","valueSize":1},{"declaration":38855,"isOffset":false,"isSlot":false,"src":"238946:2:22","valueSize":1},{"declaration":38858,"isOffset":false,"isSlot":false,"src":"238976:2:22","valueSize":1},{"declaration":38861,"isOffset":false,"isSlot":false,"src":"239006:2:22","valueSize":1},{"declaration":38864,"isOffset":false,"isSlot":false,"src":"239036:2:22","valueSize":1},{"declaration":38867,"isOffset":false,"isSlot":false,"src":"239066:2:22","valueSize":1},{"declaration":38839,"isOffset":false,"isSlot":false,"src":"239209:2:22","valueSize":1},{"declaration":38841,"isOffset":false,"isSlot":false,"src":"239332:2:22","valueSize":1},{"declaration":38843,"isOffset":false,"isSlot":false,"src":"239269:2:22","valueSize":1},{"declaration":38845,"isOffset":false,"isSlot":false,"src":"239298:2:22","valueSize":1}],"id":38869,"nodeType":"InlineAssembly","src":"238508:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239370:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239376:4:22","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":38870,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"239354:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"239354:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38874,"nodeType":"ExpressionStatement","src":"239354:27:22"},{"AST":{"nativeSrc":"239443:214:22","nodeType":"YulBlock","src":"239443:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"239464:4:22","nodeType":"YulLiteral","src":"239464:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"239470:2:22","nodeType":"YulIdentifier","src":"239470:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239457:6:22","nodeType":"YulIdentifier","src":"239457:6:22"},"nativeSrc":"239457:16:22","nodeType":"YulFunctionCall","src":"239457:16:22"},"nativeSrc":"239457:16:22","nodeType":"YulExpressionStatement","src":"239457:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239493:4:22","nodeType":"YulLiteral","src":"239493:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"239499:2:22","nodeType":"YulIdentifier","src":"239499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239486:6:22","nodeType":"YulIdentifier","src":"239486:6:22"},"nativeSrc":"239486:16:22","nodeType":"YulFunctionCall","src":"239486:16:22"},"nativeSrc":"239486:16:22","nodeType":"YulExpressionStatement","src":"239486:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239522:4:22","nodeType":"YulLiteral","src":"239522:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"239528:2:22","nodeType":"YulIdentifier","src":"239528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239515:6:22","nodeType":"YulIdentifier","src":"239515:6:22"},"nativeSrc":"239515:16:22","nodeType":"YulFunctionCall","src":"239515:16:22"},"nativeSrc":"239515:16:22","nodeType":"YulExpressionStatement","src":"239515:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239551:4:22","nodeType":"YulLiteral","src":"239551:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"239557:2:22","nodeType":"YulIdentifier","src":"239557:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239544:6:22","nodeType":"YulIdentifier","src":"239544:6:22"},"nativeSrc":"239544:16:22","nodeType":"YulFunctionCall","src":"239544:16:22"},"nativeSrc":"239544:16:22","nodeType":"YulExpressionStatement","src":"239544:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239580:4:22","nodeType":"YulLiteral","src":"239580:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"239586:2:22","nodeType":"YulIdentifier","src":"239586:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239573:6:22","nodeType":"YulIdentifier","src":"239573:6:22"},"nativeSrc":"239573:16:22","nodeType":"YulFunctionCall","src":"239573:16:22"},"nativeSrc":"239573:16:22","nodeType":"YulExpressionStatement","src":"239573:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239609:4:22","nodeType":"YulLiteral","src":"239609:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"239615:2:22","nodeType":"YulIdentifier","src":"239615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239602:6:22","nodeType":"YulIdentifier","src":"239602:6:22"},"nativeSrc":"239602:16:22","nodeType":"YulFunctionCall","src":"239602:16:22"},"nativeSrc":"239602:16:22","nodeType":"YulExpressionStatement","src":"239602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239638:4:22","nodeType":"YulLiteral","src":"239638:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"239644:2:22","nodeType":"YulIdentifier","src":"239644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"239631:6:22","nodeType":"YulIdentifier","src":"239631:6:22"},"nativeSrc":"239631:16:22","nodeType":"YulFunctionCall","src":"239631:16:22"},"nativeSrc":"239631:16:22","nodeType":"YulExpressionStatement","src":"239631:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38849,"isOffset":false,"isSlot":false,"src":"239470:2:22","valueSize":1},{"declaration":38852,"isOffset":false,"isSlot":false,"src":"239499:2:22","valueSize":1},{"declaration":38855,"isOffset":false,"isSlot":false,"src":"239528:2:22","valueSize":1},{"declaration":38858,"isOffset":false,"isSlot":false,"src":"239557:2:22","valueSize":1},{"declaration":38861,"isOffset":false,"isSlot":false,"src":"239586:2:22","valueSize":1},{"declaration":38864,"isOffset":false,"isSlot":false,"src":"239615:2:22","valueSize":1},{"declaration":38867,"isOffset":false,"isSlot":false,"src":"239644:2:22","valueSize":1}],"id":38875,"nodeType":"InlineAssembly","src":"239434:223:22"}]},"id":38877,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"238252:3:22","nodeType":"FunctionDefinition","parameters":{"id":38846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38839,"mutability":"mutable","name":"p0","nameLocation":"238261:2:22","nodeType":"VariableDeclaration","scope":38877,"src":"238256:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38838,"name":"bool","nodeType":"ElementaryTypeName","src":"238256:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38841,"mutability":"mutable","name":"p1","nameLocation":"238273:2:22","nodeType":"VariableDeclaration","scope":38877,"src":"238265:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238265:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38843,"mutability":"mutable","name":"p2","nameLocation":"238285:2:22","nodeType":"VariableDeclaration","scope":38877,"src":"238277:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38842,"name":"uint256","nodeType":"ElementaryTypeName","src":"238277:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38845,"mutability":"mutable","name":"p3","nameLocation":"238297:2:22","nodeType":"VariableDeclaration","scope":38877,"src":"238289:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38844,"name":"uint256","nodeType":"ElementaryTypeName","src":"238289:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"238255:45:22"},"returnParameters":{"id":38847,"nodeType":"ParameterList","parameters":[],"src":"238315:0:22"},"scope":44426,"src":"238243:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38922,"nodeType":"Block","src":"239741:1544:22","statements":[{"assignments":[38889],"declarations":[{"constant":false,"id":38889,"mutability":"mutable","name":"m0","nameLocation":"239759:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239751:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38890,"nodeType":"VariableDeclarationStatement","src":"239751:10:22"},{"assignments":[38892],"declarations":[{"constant":false,"id":38892,"mutability":"mutable","name":"m1","nameLocation":"239779:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239771:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239771:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38893,"nodeType":"VariableDeclarationStatement","src":"239771:10:22"},{"assignments":[38895],"declarations":[{"constant":false,"id":38895,"mutability":"mutable","name":"m2","nameLocation":"239799:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239791:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239791:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38896,"nodeType":"VariableDeclarationStatement","src":"239791:10:22"},{"assignments":[38898],"declarations":[{"constant":false,"id":38898,"mutability":"mutable","name":"m3","nameLocation":"239819:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239811:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239811:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38899,"nodeType":"VariableDeclarationStatement","src":"239811:10:22"},{"assignments":[38901],"declarations":[{"constant":false,"id":38901,"mutability":"mutable","name":"m4","nameLocation":"239839:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239831:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38902,"nodeType":"VariableDeclarationStatement","src":"239831:10:22"},{"assignments":[38904],"declarations":[{"constant":false,"id":38904,"mutability":"mutable","name":"m5","nameLocation":"239859:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239851:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239851:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38905,"nodeType":"VariableDeclarationStatement","src":"239851:10:22"},{"assignments":[38907],"declarations":[{"constant":false,"id":38907,"mutability":"mutable","name":"m6","nameLocation":"239879:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239871:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239871:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38908,"nodeType":"VariableDeclarationStatement","src":"239871:10:22"},{"assignments":[38910],"declarations":[{"constant":false,"id":38910,"mutability":"mutable","name":"m7","nameLocation":"239899:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239891:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239891:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38911,"nodeType":"VariableDeclarationStatement","src":"239891:10:22"},{"assignments":[38913],"declarations":[{"constant":false,"id":38913,"mutability":"mutable","name":"m8","nameLocation":"239919:2:22","nodeType":"VariableDeclaration","scope":38922,"src":"239911:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239911:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38914,"nodeType":"VariableDeclarationStatement","src":"239911:10:22"},{"AST":{"nativeSrc":"239983:924:22","nodeType":"YulBlock","src":"239983:924:22","statements":[{"body":{"nativeSrc":"240026:313:22","nodeType":"YulBlock","src":"240026:313:22","statements":[{"nativeSrc":"240044:15:22","nodeType":"YulVariableDeclaration","src":"240044:15:22","value":{"kind":"number","nativeSrc":"240058:1:22","nodeType":"YulLiteral","src":"240058:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"240048:6:22","nodeType":"YulTypedName","src":"240048:6:22","type":""}]},{"body":{"nativeSrc":"240129:40:22","nodeType":"YulBlock","src":"240129:40:22","statements":[{"body":{"nativeSrc":"240158:9:22","nodeType":"YulBlock","src":"240158:9:22","statements":[{"nativeSrc":"240160:5:22","nodeType":"YulBreak","src":"240160:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"240146:6:22","nodeType":"YulIdentifier","src":"240146:6:22"},{"name":"w","nativeSrc":"240154:1:22","nodeType":"YulIdentifier","src":"240154:1:22"}],"functionName":{"name":"byte","nativeSrc":"240141:4:22","nodeType":"YulIdentifier","src":"240141:4:22"},"nativeSrc":"240141:15:22","nodeType":"YulFunctionCall","src":"240141:15:22"}],"functionName":{"name":"iszero","nativeSrc":"240134:6:22","nodeType":"YulIdentifier","src":"240134:6:22"},"nativeSrc":"240134:23:22","nodeType":"YulFunctionCall","src":"240134:23:22"},"nativeSrc":"240131:36:22","nodeType":"YulIf","src":"240131:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"240086:6:22","nodeType":"YulIdentifier","src":"240086:6:22"},{"kind":"number","nativeSrc":"240094:4:22","nodeType":"YulLiteral","src":"240094:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"240083:2:22","nodeType":"YulIdentifier","src":"240083:2:22"},"nativeSrc":"240083:16:22","nodeType":"YulFunctionCall","src":"240083:16:22"},"nativeSrc":"240076:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"240100:28:22","nodeType":"YulBlock","src":"240100:28:22","statements":[{"nativeSrc":"240102:24:22","nodeType":"YulAssignment","src":"240102:24:22","value":{"arguments":[{"name":"length","nativeSrc":"240116:6:22","nodeType":"YulIdentifier","src":"240116:6:22"},{"kind":"number","nativeSrc":"240124:1:22","nodeType":"YulLiteral","src":"240124:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"240112:3:22","nodeType":"YulIdentifier","src":"240112:3:22"},"nativeSrc":"240112:14:22","nodeType":"YulFunctionCall","src":"240112:14:22"},"variableNames":[{"name":"length","nativeSrc":"240102:6:22","nodeType":"YulIdentifier","src":"240102:6:22"}]}]},"pre":{"nativeSrc":"240080:2:22","nodeType":"YulBlock","src":"240080:2:22","statements":[]},"src":"240076:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"240193:3:22","nodeType":"YulIdentifier","src":"240193:3:22"},{"name":"length","nativeSrc":"240198:6:22","nodeType":"YulIdentifier","src":"240198:6:22"}],"functionName":{"name":"mstore","nativeSrc":"240186:6:22","nodeType":"YulIdentifier","src":"240186:6:22"},"nativeSrc":"240186:19:22","nodeType":"YulFunctionCall","src":"240186:19:22"},"nativeSrc":"240186:19:22","nodeType":"YulExpressionStatement","src":"240186:19:22"},{"nativeSrc":"240222:37:22","nodeType":"YulVariableDeclaration","src":"240222:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"240239:3:22","nodeType":"YulLiteral","src":"240239:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"240248:1:22","nodeType":"YulLiteral","src":"240248:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"240251:6:22","nodeType":"YulIdentifier","src":"240251:6:22"}],"functionName":{"name":"shl","nativeSrc":"240244:3:22","nodeType":"YulIdentifier","src":"240244:3:22"},"nativeSrc":"240244:14:22","nodeType":"YulFunctionCall","src":"240244:14:22"}],"functionName":{"name":"sub","nativeSrc":"240235:3:22","nodeType":"YulIdentifier","src":"240235:3:22"},"nativeSrc":"240235:24:22","nodeType":"YulFunctionCall","src":"240235:24:22"},"variables":[{"name":"shift","nativeSrc":"240226:5:22","nodeType":"YulTypedName","src":"240226:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"240287:3:22","nodeType":"YulIdentifier","src":"240287:3:22"},{"kind":"number","nativeSrc":"240292:4:22","nodeType":"YulLiteral","src":"240292:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"240283:3:22","nodeType":"YulIdentifier","src":"240283:3:22"},"nativeSrc":"240283:14:22","nodeType":"YulFunctionCall","src":"240283:14:22"},{"arguments":[{"name":"shift","nativeSrc":"240303:5:22","nodeType":"YulIdentifier","src":"240303:5:22"},{"arguments":[{"name":"shift","nativeSrc":"240314:5:22","nodeType":"YulIdentifier","src":"240314:5:22"},{"name":"w","nativeSrc":"240321:1:22","nodeType":"YulIdentifier","src":"240321:1:22"}],"functionName":{"name":"shr","nativeSrc":"240310:3:22","nodeType":"YulIdentifier","src":"240310:3:22"},"nativeSrc":"240310:13:22","nodeType":"YulFunctionCall","src":"240310:13:22"}],"functionName":{"name":"shl","nativeSrc":"240299:3:22","nodeType":"YulIdentifier","src":"240299:3:22"},"nativeSrc":"240299:25:22","nodeType":"YulFunctionCall","src":"240299:25:22"}],"functionName":{"name":"mstore","nativeSrc":"240276:6:22","nodeType":"YulIdentifier","src":"240276:6:22"},"nativeSrc":"240276:49:22","nodeType":"YulFunctionCall","src":"240276:49:22"},"nativeSrc":"240276:49:22","nodeType":"YulExpressionStatement","src":"240276:49:22"}]},"name":"writeString","nativeSrc":"239997:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"240018:3:22","nodeType":"YulTypedName","src":"240018:3:22","type":""},{"name":"w","nativeSrc":"240023:1:22","nodeType":"YulTypedName","src":"240023:1:22","type":""}],"src":"239997:342:22"},{"nativeSrc":"240352:17:22","nodeType":"YulAssignment","src":"240352:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240364:4:22","nodeType":"YulLiteral","src":"240364:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"240358:5:22","nodeType":"YulIdentifier","src":"240358:5:22"},"nativeSrc":"240358:11:22","nodeType":"YulFunctionCall","src":"240358:11:22"},"variableNames":[{"name":"m0","nativeSrc":"240352:2:22","nodeType":"YulIdentifier","src":"240352:2:22"}]},{"nativeSrc":"240382:17:22","nodeType":"YulAssignment","src":"240382:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240394:4:22","nodeType":"YulLiteral","src":"240394:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"240388:5:22","nodeType":"YulIdentifier","src":"240388:5:22"},"nativeSrc":"240388:11:22","nodeType":"YulFunctionCall","src":"240388:11:22"},"variableNames":[{"name":"m1","nativeSrc":"240382:2:22","nodeType":"YulIdentifier","src":"240382:2:22"}]},{"nativeSrc":"240412:17:22","nodeType":"YulAssignment","src":"240412:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240424:4:22","nodeType":"YulLiteral","src":"240424:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"240418:5:22","nodeType":"YulIdentifier","src":"240418:5:22"},"nativeSrc":"240418:11:22","nodeType":"YulFunctionCall","src":"240418:11:22"},"variableNames":[{"name":"m2","nativeSrc":"240412:2:22","nodeType":"YulIdentifier","src":"240412:2:22"}]},{"nativeSrc":"240442:17:22","nodeType":"YulAssignment","src":"240442:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240454:4:22","nodeType":"YulLiteral","src":"240454:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"240448:5:22","nodeType":"YulIdentifier","src":"240448:5:22"},"nativeSrc":"240448:11:22","nodeType":"YulFunctionCall","src":"240448:11:22"},"variableNames":[{"name":"m3","nativeSrc":"240442:2:22","nodeType":"YulIdentifier","src":"240442:2:22"}]},{"nativeSrc":"240472:17:22","nodeType":"YulAssignment","src":"240472:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240484:4:22","nodeType":"YulLiteral","src":"240484:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"240478:5:22","nodeType":"YulIdentifier","src":"240478:5:22"},"nativeSrc":"240478:11:22","nodeType":"YulFunctionCall","src":"240478:11:22"},"variableNames":[{"name":"m4","nativeSrc":"240472:2:22","nodeType":"YulIdentifier","src":"240472:2:22"}]},{"nativeSrc":"240502:17:22","nodeType":"YulAssignment","src":"240502:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240514:4:22","nodeType":"YulLiteral","src":"240514:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"240508:5:22","nodeType":"YulIdentifier","src":"240508:5:22"},"nativeSrc":"240508:11:22","nodeType":"YulFunctionCall","src":"240508:11:22"},"variableNames":[{"name":"m5","nativeSrc":"240502:2:22","nodeType":"YulIdentifier","src":"240502:2:22"}]},{"nativeSrc":"240532:17:22","nodeType":"YulAssignment","src":"240532:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240544:4:22","nodeType":"YulLiteral","src":"240544:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"240538:5:22","nodeType":"YulIdentifier","src":"240538:5:22"},"nativeSrc":"240538:11:22","nodeType":"YulFunctionCall","src":"240538:11:22"},"variableNames":[{"name":"m6","nativeSrc":"240532:2:22","nodeType":"YulIdentifier","src":"240532:2:22"}]},{"nativeSrc":"240562:17:22","nodeType":"YulAssignment","src":"240562:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"240574:4:22","nodeType":"YulLiteral","src":"240574:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"240568:5:22","nodeType":"YulIdentifier","src":"240568:5:22"},"nativeSrc":"240568:11:22","nodeType":"YulFunctionCall","src":"240568:11:22"},"variableNames":[{"name":"m7","nativeSrc":"240562:2:22","nodeType":"YulIdentifier","src":"240562:2:22"}]},{"nativeSrc":"240592:18:22","nodeType":"YulAssignment","src":"240592:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"240604:5:22","nodeType":"YulLiteral","src":"240604:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"240598:5:22","nodeType":"YulIdentifier","src":"240598:5:22"},"nativeSrc":"240598:12:22","nodeType":"YulFunctionCall","src":"240598:12:22"},"variableNames":[{"name":"m8","nativeSrc":"240592:2:22","nodeType":"YulIdentifier","src":"240592:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240692:4:22","nodeType":"YulLiteral","src":"240692:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"240698:10:22","nodeType":"YulLiteral","src":"240698:10:22","type":"","value":"0x1ad96de6"}],"functionName":{"name":"mstore","nativeSrc":"240685:6:22","nodeType":"YulIdentifier","src":"240685:6:22"},"nativeSrc":"240685:24:22","nodeType":"YulFunctionCall","src":"240685:24:22"},"nativeSrc":"240685:24:22","nodeType":"YulExpressionStatement","src":"240685:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240729:4:22","nodeType":"YulLiteral","src":"240729:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"240735:2:22","nodeType":"YulIdentifier","src":"240735:2:22"}],"functionName":{"name":"mstore","nativeSrc":"240722:6:22","nodeType":"YulIdentifier","src":"240722:6:22"},"nativeSrc":"240722:16:22","nodeType":"YulFunctionCall","src":"240722:16:22"},"nativeSrc":"240722:16:22","nodeType":"YulExpressionStatement","src":"240722:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240758:4:22","nodeType":"YulLiteral","src":"240758:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"240764:4:22","nodeType":"YulLiteral","src":"240764:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"240751:6:22","nodeType":"YulIdentifier","src":"240751:6:22"},"nativeSrc":"240751:18:22","nodeType":"YulFunctionCall","src":"240751:18:22"},"nativeSrc":"240751:18:22","nodeType":"YulExpressionStatement","src":"240751:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240789:4:22","nodeType":"YulLiteral","src":"240789:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"240795:2:22","nodeType":"YulIdentifier","src":"240795:2:22"}],"functionName":{"name":"mstore","nativeSrc":"240782:6:22","nodeType":"YulIdentifier","src":"240782:6:22"},"nativeSrc":"240782:16:22","nodeType":"YulFunctionCall","src":"240782:16:22"},"nativeSrc":"240782:16:22","nodeType":"YulExpressionStatement","src":"240782:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240818:4:22","nodeType":"YulLiteral","src":"240818:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"240824:4:22","nodeType":"YulLiteral","src":"240824:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"240811:6:22","nodeType":"YulIdentifier","src":"240811:6:22"},"nativeSrc":"240811:18:22","nodeType":"YulFunctionCall","src":"240811:18:22"},"nativeSrc":"240811:18:22","nodeType":"YulExpressionStatement","src":"240811:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240854:4:22","nodeType":"YulLiteral","src":"240854:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"240860:2:22","nodeType":"YulIdentifier","src":"240860:2:22"}],"functionName":{"name":"writeString","nativeSrc":"240842:11:22","nodeType":"YulIdentifier","src":"240842:11:22"},"nativeSrc":"240842:21:22","nodeType":"YulFunctionCall","src":"240842:21:22"},"nativeSrc":"240842:21:22","nodeType":"YulExpressionStatement","src":"240842:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240888:4:22","nodeType":"YulLiteral","src":"240888:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"240894:2:22","nodeType":"YulIdentifier","src":"240894:2:22"}],"functionName":{"name":"writeString","nativeSrc":"240876:11:22","nodeType":"YulIdentifier","src":"240876:11:22"},"nativeSrc":"240876:21:22","nodeType":"YulFunctionCall","src":"240876:21:22"},"nativeSrc":"240876:21:22","nodeType":"YulExpressionStatement","src":"240876:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38889,"isOffset":false,"isSlot":false,"src":"240352:2:22","valueSize":1},{"declaration":38892,"isOffset":false,"isSlot":false,"src":"240382:2:22","valueSize":1},{"declaration":38895,"isOffset":false,"isSlot":false,"src":"240412:2:22","valueSize":1},{"declaration":38898,"isOffset":false,"isSlot":false,"src":"240442:2:22","valueSize":1},{"declaration":38901,"isOffset":false,"isSlot":false,"src":"240472:2:22","valueSize":1},{"declaration":38904,"isOffset":false,"isSlot":false,"src":"240502:2:22","valueSize":1},{"declaration":38907,"isOffset":false,"isSlot":false,"src":"240532:2:22","valueSize":1},{"declaration":38910,"isOffset":false,"isSlot":false,"src":"240562:2:22","valueSize":1},{"declaration":38913,"isOffset":false,"isSlot":false,"src":"240592:2:22","valueSize":1},{"declaration":38879,"isOffset":false,"isSlot":false,"src":"240735:2:22","valueSize":1},{"declaration":38881,"isOffset":false,"isSlot":false,"src":"240860:2:22","valueSize":1},{"declaration":38883,"isOffset":false,"isSlot":false,"src":"240795:2:22","valueSize":1},{"declaration":38885,"isOffset":false,"isSlot":false,"src":"240894:2:22","valueSize":1}],"id":38915,"nodeType":"InlineAssembly","src":"239974:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240932:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240938:5:22","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":38916,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"240916:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"240916:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38920,"nodeType":"ExpressionStatement","src":"240916:28:22"},{"AST":{"nativeSrc":"241006:273:22","nodeType":"YulBlock","src":"241006:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"241027:4:22","nodeType":"YulLiteral","src":"241027:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"241033:2:22","nodeType":"YulIdentifier","src":"241033:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241020:6:22","nodeType":"YulIdentifier","src":"241020:6:22"},"nativeSrc":"241020:16:22","nodeType":"YulFunctionCall","src":"241020:16:22"},"nativeSrc":"241020:16:22","nodeType":"YulExpressionStatement","src":"241020:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241056:4:22","nodeType":"YulLiteral","src":"241056:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"241062:2:22","nodeType":"YulIdentifier","src":"241062:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241049:6:22","nodeType":"YulIdentifier","src":"241049:6:22"},"nativeSrc":"241049:16:22","nodeType":"YulFunctionCall","src":"241049:16:22"},"nativeSrc":"241049:16:22","nodeType":"YulExpressionStatement","src":"241049:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241085:4:22","nodeType":"YulLiteral","src":"241085:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"241091:2:22","nodeType":"YulIdentifier","src":"241091:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241078:6:22","nodeType":"YulIdentifier","src":"241078:6:22"},"nativeSrc":"241078:16:22","nodeType":"YulFunctionCall","src":"241078:16:22"},"nativeSrc":"241078:16:22","nodeType":"YulExpressionStatement","src":"241078:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241114:4:22","nodeType":"YulLiteral","src":"241114:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"241120:2:22","nodeType":"YulIdentifier","src":"241120:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241107:6:22","nodeType":"YulIdentifier","src":"241107:6:22"},"nativeSrc":"241107:16:22","nodeType":"YulFunctionCall","src":"241107:16:22"},"nativeSrc":"241107:16:22","nodeType":"YulExpressionStatement","src":"241107:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241143:4:22","nodeType":"YulLiteral","src":"241143:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"241149:2:22","nodeType":"YulIdentifier","src":"241149:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241136:6:22","nodeType":"YulIdentifier","src":"241136:6:22"},"nativeSrc":"241136:16:22","nodeType":"YulFunctionCall","src":"241136:16:22"},"nativeSrc":"241136:16:22","nodeType":"YulExpressionStatement","src":"241136:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241172:4:22","nodeType":"YulLiteral","src":"241172:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"241178:2:22","nodeType":"YulIdentifier","src":"241178:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241165:6:22","nodeType":"YulIdentifier","src":"241165:6:22"},"nativeSrc":"241165:16:22","nodeType":"YulFunctionCall","src":"241165:16:22"},"nativeSrc":"241165:16:22","nodeType":"YulExpressionStatement","src":"241165:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241201:4:22","nodeType":"YulLiteral","src":"241201:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"241207:2:22","nodeType":"YulIdentifier","src":"241207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241194:6:22","nodeType":"YulIdentifier","src":"241194:6:22"},"nativeSrc":"241194:16:22","nodeType":"YulFunctionCall","src":"241194:16:22"},"nativeSrc":"241194:16:22","nodeType":"YulExpressionStatement","src":"241194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241230:4:22","nodeType":"YulLiteral","src":"241230:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"241236:2:22","nodeType":"YulIdentifier","src":"241236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241223:6:22","nodeType":"YulIdentifier","src":"241223:6:22"},"nativeSrc":"241223:16:22","nodeType":"YulFunctionCall","src":"241223:16:22"},"nativeSrc":"241223:16:22","nodeType":"YulExpressionStatement","src":"241223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241259:5:22","nodeType":"YulLiteral","src":"241259:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"241266:2:22","nodeType":"YulIdentifier","src":"241266:2:22"}],"functionName":{"name":"mstore","nativeSrc":"241252:6:22","nodeType":"YulIdentifier","src":"241252:6:22"},"nativeSrc":"241252:17:22","nodeType":"YulFunctionCall","src":"241252:17:22"},"nativeSrc":"241252:17:22","nodeType":"YulExpressionStatement","src":"241252:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38889,"isOffset":false,"isSlot":false,"src":"241033:2:22","valueSize":1},{"declaration":38892,"isOffset":false,"isSlot":false,"src":"241062:2:22","valueSize":1},{"declaration":38895,"isOffset":false,"isSlot":false,"src":"241091:2:22","valueSize":1},{"declaration":38898,"isOffset":false,"isSlot":false,"src":"241120:2:22","valueSize":1},{"declaration":38901,"isOffset":false,"isSlot":false,"src":"241149:2:22","valueSize":1},{"declaration":38904,"isOffset":false,"isSlot":false,"src":"241178:2:22","valueSize":1},{"declaration":38907,"isOffset":false,"isSlot":false,"src":"241207:2:22","valueSize":1},{"declaration":38910,"isOffset":false,"isSlot":false,"src":"241236:2:22","valueSize":1},{"declaration":38913,"isOffset":false,"isSlot":false,"src":"241266:2:22","valueSize":1}],"id":38921,"nodeType":"InlineAssembly","src":"240997:282:22"}]},"id":38923,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"239678:3:22","nodeType":"FunctionDefinition","parameters":{"id":38886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38879,"mutability":"mutable","name":"p0","nameLocation":"239687:2:22","nodeType":"VariableDeclaration","scope":38923,"src":"239682:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38878,"name":"bool","nodeType":"ElementaryTypeName","src":"239682:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38881,"mutability":"mutable","name":"p1","nameLocation":"239699:2:22","nodeType":"VariableDeclaration","scope":38923,"src":"239691:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239691:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38883,"mutability":"mutable","name":"p2","nameLocation":"239711:2:22","nodeType":"VariableDeclaration","scope":38923,"src":"239703:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38882,"name":"uint256","nodeType":"ElementaryTypeName","src":"239703:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38885,"mutability":"mutable","name":"p3","nameLocation":"239723:2:22","nodeType":"VariableDeclaration","scope":38923,"src":"239715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"239681:45:22"},"returnParameters":{"id":38887,"nodeType":"ParameterList","parameters":[],"src":"239741:0:22"},"scope":44426,"src":"239669:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":38968,"nodeType":"Block","src":"241363:1544:22","statements":[{"assignments":[38935],"declarations":[{"constant":false,"id":38935,"mutability":"mutable","name":"m0","nameLocation":"241381:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241373:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241373:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38936,"nodeType":"VariableDeclarationStatement","src":"241373:10:22"},{"assignments":[38938],"declarations":[{"constant":false,"id":38938,"mutability":"mutable","name":"m1","nameLocation":"241401:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241393:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241393:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38939,"nodeType":"VariableDeclarationStatement","src":"241393:10:22"},{"assignments":[38941],"declarations":[{"constant":false,"id":38941,"mutability":"mutable","name":"m2","nameLocation":"241421:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241413:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241413:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38942,"nodeType":"VariableDeclarationStatement","src":"241413:10:22"},{"assignments":[38944],"declarations":[{"constant":false,"id":38944,"mutability":"mutable","name":"m3","nameLocation":"241441:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241433:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241433:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38945,"nodeType":"VariableDeclarationStatement","src":"241433:10:22"},{"assignments":[38947],"declarations":[{"constant":false,"id":38947,"mutability":"mutable","name":"m4","nameLocation":"241461:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241453:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241453:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38948,"nodeType":"VariableDeclarationStatement","src":"241453:10:22"},{"assignments":[38950],"declarations":[{"constant":false,"id":38950,"mutability":"mutable","name":"m5","nameLocation":"241481:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241473:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241473:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38951,"nodeType":"VariableDeclarationStatement","src":"241473:10:22"},{"assignments":[38953],"declarations":[{"constant":false,"id":38953,"mutability":"mutable","name":"m6","nameLocation":"241501:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241493:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241493:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38954,"nodeType":"VariableDeclarationStatement","src":"241493:10:22"},{"assignments":[38956],"declarations":[{"constant":false,"id":38956,"mutability":"mutable","name":"m7","nameLocation":"241521:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241513:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38957,"nodeType":"VariableDeclarationStatement","src":"241513:10:22"},{"assignments":[38959],"declarations":[{"constant":false,"id":38959,"mutability":"mutable","name":"m8","nameLocation":"241541:2:22","nodeType":"VariableDeclaration","scope":38968,"src":"241533:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241533:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38960,"nodeType":"VariableDeclarationStatement","src":"241533:10:22"},{"AST":{"nativeSrc":"241605:924:22","nodeType":"YulBlock","src":"241605:924:22","statements":[{"body":{"nativeSrc":"241648:313:22","nodeType":"YulBlock","src":"241648:313:22","statements":[{"nativeSrc":"241666:15:22","nodeType":"YulVariableDeclaration","src":"241666:15:22","value":{"kind":"number","nativeSrc":"241680:1:22","nodeType":"YulLiteral","src":"241680:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"241670:6:22","nodeType":"YulTypedName","src":"241670:6:22","type":""}]},{"body":{"nativeSrc":"241751:40:22","nodeType":"YulBlock","src":"241751:40:22","statements":[{"body":{"nativeSrc":"241780:9:22","nodeType":"YulBlock","src":"241780:9:22","statements":[{"nativeSrc":"241782:5:22","nodeType":"YulBreak","src":"241782:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"241768:6:22","nodeType":"YulIdentifier","src":"241768:6:22"},{"name":"w","nativeSrc":"241776:1:22","nodeType":"YulIdentifier","src":"241776:1:22"}],"functionName":{"name":"byte","nativeSrc":"241763:4:22","nodeType":"YulIdentifier","src":"241763:4:22"},"nativeSrc":"241763:15:22","nodeType":"YulFunctionCall","src":"241763:15:22"}],"functionName":{"name":"iszero","nativeSrc":"241756:6:22","nodeType":"YulIdentifier","src":"241756:6:22"},"nativeSrc":"241756:23:22","nodeType":"YulFunctionCall","src":"241756:23:22"},"nativeSrc":"241753:36:22","nodeType":"YulIf","src":"241753:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"241708:6:22","nodeType":"YulIdentifier","src":"241708:6:22"},{"kind":"number","nativeSrc":"241716:4:22","nodeType":"YulLiteral","src":"241716:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"241705:2:22","nodeType":"YulIdentifier","src":"241705:2:22"},"nativeSrc":"241705:16:22","nodeType":"YulFunctionCall","src":"241705:16:22"},"nativeSrc":"241698:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"241722:28:22","nodeType":"YulBlock","src":"241722:28:22","statements":[{"nativeSrc":"241724:24:22","nodeType":"YulAssignment","src":"241724:24:22","value":{"arguments":[{"name":"length","nativeSrc":"241738:6:22","nodeType":"YulIdentifier","src":"241738:6:22"},{"kind":"number","nativeSrc":"241746:1:22","nodeType":"YulLiteral","src":"241746:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"241734:3:22","nodeType":"YulIdentifier","src":"241734:3:22"},"nativeSrc":"241734:14:22","nodeType":"YulFunctionCall","src":"241734:14:22"},"variableNames":[{"name":"length","nativeSrc":"241724:6:22","nodeType":"YulIdentifier","src":"241724:6:22"}]}]},"pre":{"nativeSrc":"241702:2:22","nodeType":"YulBlock","src":"241702:2:22","statements":[]},"src":"241698:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"241815:3:22","nodeType":"YulIdentifier","src":"241815:3:22"},{"name":"length","nativeSrc":"241820:6:22","nodeType":"YulIdentifier","src":"241820:6:22"}],"functionName":{"name":"mstore","nativeSrc":"241808:6:22","nodeType":"YulIdentifier","src":"241808:6:22"},"nativeSrc":"241808:19:22","nodeType":"YulFunctionCall","src":"241808:19:22"},"nativeSrc":"241808:19:22","nodeType":"YulExpressionStatement","src":"241808:19:22"},{"nativeSrc":"241844:37:22","nodeType":"YulVariableDeclaration","src":"241844:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"241861:3:22","nodeType":"YulLiteral","src":"241861:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"241870:1:22","nodeType":"YulLiteral","src":"241870:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"241873:6:22","nodeType":"YulIdentifier","src":"241873:6:22"}],"functionName":{"name":"shl","nativeSrc":"241866:3:22","nodeType":"YulIdentifier","src":"241866:3:22"},"nativeSrc":"241866:14:22","nodeType":"YulFunctionCall","src":"241866:14:22"}],"functionName":{"name":"sub","nativeSrc":"241857:3:22","nodeType":"YulIdentifier","src":"241857:3:22"},"nativeSrc":"241857:24:22","nodeType":"YulFunctionCall","src":"241857:24:22"},"variables":[{"name":"shift","nativeSrc":"241848:5:22","nodeType":"YulTypedName","src":"241848:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"241909:3:22","nodeType":"YulIdentifier","src":"241909:3:22"},{"kind":"number","nativeSrc":"241914:4:22","nodeType":"YulLiteral","src":"241914:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"241905:3:22","nodeType":"YulIdentifier","src":"241905:3:22"},"nativeSrc":"241905:14:22","nodeType":"YulFunctionCall","src":"241905:14:22"},{"arguments":[{"name":"shift","nativeSrc":"241925:5:22","nodeType":"YulIdentifier","src":"241925:5:22"},{"arguments":[{"name":"shift","nativeSrc":"241936:5:22","nodeType":"YulIdentifier","src":"241936:5:22"},{"name":"w","nativeSrc":"241943:1:22","nodeType":"YulIdentifier","src":"241943:1:22"}],"functionName":{"name":"shr","nativeSrc":"241932:3:22","nodeType":"YulIdentifier","src":"241932:3:22"},"nativeSrc":"241932:13:22","nodeType":"YulFunctionCall","src":"241932:13:22"}],"functionName":{"name":"shl","nativeSrc":"241921:3:22","nodeType":"YulIdentifier","src":"241921:3:22"},"nativeSrc":"241921:25:22","nodeType":"YulFunctionCall","src":"241921:25:22"}],"functionName":{"name":"mstore","nativeSrc":"241898:6:22","nodeType":"YulIdentifier","src":"241898:6:22"},"nativeSrc":"241898:49:22","nodeType":"YulFunctionCall","src":"241898:49:22"},"nativeSrc":"241898:49:22","nodeType":"YulExpressionStatement","src":"241898:49:22"}]},"name":"writeString","nativeSrc":"241619:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"241640:3:22","nodeType":"YulTypedName","src":"241640:3:22","type":""},{"name":"w","nativeSrc":"241645:1:22","nodeType":"YulTypedName","src":"241645:1:22","type":""}],"src":"241619:342:22"},{"nativeSrc":"241974:17:22","nodeType":"YulAssignment","src":"241974:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"241986:4:22","nodeType":"YulLiteral","src":"241986:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"241980:5:22","nodeType":"YulIdentifier","src":"241980:5:22"},"nativeSrc":"241980:11:22","nodeType":"YulFunctionCall","src":"241980:11:22"},"variableNames":[{"name":"m0","nativeSrc":"241974:2:22","nodeType":"YulIdentifier","src":"241974:2:22"}]},{"nativeSrc":"242004:17:22","nodeType":"YulAssignment","src":"242004:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242016:4:22","nodeType":"YulLiteral","src":"242016:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"242010:5:22","nodeType":"YulIdentifier","src":"242010:5:22"},"nativeSrc":"242010:11:22","nodeType":"YulFunctionCall","src":"242010:11:22"},"variableNames":[{"name":"m1","nativeSrc":"242004:2:22","nodeType":"YulIdentifier","src":"242004:2:22"}]},{"nativeSrc":"242034:17:22","nodeType":"YulAssignment","src":"242034:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242046:4:22","nodeType":"YulLiteral","src":"242046:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"242040:5:22","nodeType":"YulIdentifier","src":"242040:5:22"},"nativeSrc":"242040:11:22","nodeType":"YulFunctionCall","src":"242040:11:22"},"variableNames":[{"name":"m2","nativeSrc":"242034:2:22","nodeType":"YulIdentifier","src":"242034:2:22"}]},{"nativeSrc":"242064:17:22","nodeType":"YulAssignment","src":"242064:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242076:4:22","nodeType":"YulLiteral","src":"242076:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"242070:5:22","nodeType":"YulIdentifier","src":"242070:5:22"},"nativeSrc":"242070:11:22","nodeType":"YulFunctionCall","src":"242070:11:22"},"variableNames":[{"name":"m3","nativeSrc":"242064:2:22","nodeType":"YulIdentifier","src":"242064:2:22"}]},{"nativeSrc":"242094:17:22","nodeType":"YulAssignment","src":"242094:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242106:4:22","nodeType":"YulLiteral","src":"242106:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"242100:5:22","nodeType":"YulIdentifier","src":"242100:5:22"},"nativeSrc":"242100:11:22","nodeType":"YulFunctionCall","src":"242100:11:22"},"variableNames":[{"name":"m4","nativeSrc":"242094:2:22","nodeType":"YulIdentifier","src":"242094:2:22"}]},{"nativeSrc":"242124:17:22","nodeType":"YulAssignment","src":"242124:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242136:4:22","nodeType":"YulLiteral","src":"242136:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"242130:5:22","nodeType":"YulIdentifier","src":"242130:5:22"},"nativeSrc":"242130:11:22","nodeType":"YulFunctionCall","src":"242130:11:22"},"variableNames":[{"name":"m5","nativeSrc":"242124:2:22","nodeType":"YulIdentifier","src":"242124:2:22"}]},{"nativeSrc":"242154:17:22","nodeType":"YulAssignment","src":"242154:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242166:4:22","nodeType":"YulLiteral","src":"242166:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"242160:5:22","nodeType":"YulIdentifier","src":"242160:5:22"},"nativeSrc":"242160:11:22","nodeType":"YulFunctionCall","src":"242160:11:22"},"variableNames":[{"name":"m6","nativeSrc":"242154:2:22","nodeType":"YulIdentifier","src":"242154:2:22"}]},{"nativeSrc":"242184:17:22","nodeType":"YulAssignment","src":"242184:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"242196:4:22","nodeType":"YulLiteral","src":"242196:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"242190:5:22","nodeType":"YulIdentifier","src":"242190:5:22"},"nativeSrc":"242190:11:22","nodeType":"YulFunctionCall","src":"242190:11:22"},"variableNames":[{"name":"m7","nativeSrc":"242184:2:22","nodeType":"YulIdentifier","src":"242184:2:22"}]},{"nativeSrc":"242214:18:22","nodeType":"YulAssignment","src":"242214:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"242226:5:22","nodeType":"YulLiteral","src":"242226:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"242220:5:22","nodeType":"YulIdentifier","src":"242220:5:22"},"nativeSrc":"242220:12:22","nodeType":"YulFunctionCall","src":"242220:12:22"},"variableNames":[{"name":"m8","nativeSrc":"242214:2:22","nodeType":"YulIdentifier","src":"242214:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242314:4:22","nodeType":"YulLiteral","src":"242314:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"242320:10:22","nodeType":"YulLiteral","src":"242320:10:22","type":"","value":"0x97d394d8"}],"functionName":{"name":"mstore","nativeSrc":"242307:6:22","nodeType":"YulIdentifier","src":"242307:6:22"},"nativeSrc":"242307:24:22","nodeType":"YulFunctionCall","src":"242307:24:22"},"nativeSrc":"242307:24:22","nodeType":"YulExpressionStatement","src":"242307:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242351:4:22","nodeType":"YulLiteral","src":"242351:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"242357:2:22","nodeType":"YulIdentifier","src":"242357:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242344:6:22","nodeType":"YulIdentifier","src":"242344:6:22"},"nativeSrc":"242344:16:22","nodeType":"YulFunctionCall","src":"242344:16:22"},"nativeSrc":"242344:16:22","nodeType":"YulExpressionStatement","src":"242344:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242380:4:22","nodeType":"YulLiteral","src":"242380:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"242386:4:22","nodeType":"YulLiteral","src":"242386:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"242373:6:22","nodeType":"YulIdentifier","src":"242373:6:22"},"nativeSrc":"242373:18:22","nodeType":"YulFunctionCall","src":"242373:18:22"},"nativeSrc":"242373:18:22","nodeType":"YulExpressionStatement","src":"242373:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242411:4:22","nodeType":"YulLiteral","src":"242411:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"242417:4:22","nodeType":"YulLiteral","src":"242417:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"242404:6:22","nodeType":"YulIdentifier","src":"242404:6:22"},"nativeSrc":"242404:18:22","nodeType":"YulFunctionCall","src":"242404:18:22"},"nativeSrc":"242404:18:22","nodeType":"YulExpressionStatement","src":"242404:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242442:4:22","nodeType":"YulLiteral","src":"242442:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"242448:2:22","nodeType":"YulIdentifier","src":"242448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242435:6:22","nodeType":"YulIdentifier","src":"242435:6:22"},"nativeSrc":"242435:16:22","nodeType":"YulFunctionCall","src":"242435:16:22"},"nativeSrc":"242435:16:22","nodeType":"YulExpressionStatement","src":"242435:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242476:4:22","nodeType":"YulLiteral","src":"242476:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"242482:2:22","nodeType":"YulIdentifier","src":"242482:2:22"}],"functionName":{"name":"writeString","nativeSrc":"242464:11:22","nodeType":"YulIdentifier","src":"242464:11:22"},"nativeSrc":"242464:21:22","nodeType":"YulFunctionCall","src":"242464:21:22"},"nativeSrc":"242464:21:22","nodeType":"YulExpressionStatement","src":"242464:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242510:4:22","nodeType":"YulLiteral","src":"242510:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"242516:2:22","nodeType":"YulIdentifier","src":"242516:2:22"}],"functionName":{"name":"writeString","nativeSrc":"242498:11:22","nodeType":"YulIdentifier","src":"242498:11:22"},"nativeSrc":"242498:21:22","nodeType":"YulFunctionCall","src":"242498:21:22"},"nativeSrc":"242498:21:22","nodeType":"YulExpressionStatement","src":"242498:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38935,"isOffset":false,"isSlot":false,"src":"241974:2:22","valueSize":1},{"declaration":38938,"isOffset":false,"isSlot":false,"src":"242004:2:22","valueSize":1},{"declaration":38941,"isOffset":false,"isSlot":false,"src":"242034:2:22","valueSize":1},{"declaration":38944,"isOffset":false,"isSlot":false,"src":"242064:2:22","valueSize":1},{"declaration":38947,"isOffset":false,"isSlot":false,"src":"242094:2:22","valueSize":1},{"declaration":38950,"isOffset":false,"isSlot":false,"src":"242124:2:22","valueSize":1},{"declaration":38953,"isOffset":false,"isSlot":false,"src":"242154:2:22","valueSize":1},{"declaration":38956,"isOffset":false,"isSlot":false,"src":"242184:2:22","valueSize":1},{"declaration":38959,"isOffset":false,"isSlot":false,"src":"242214:2:22","valueSize":1},{"declaration":38925,"isOffset":false,"isSlot":false,"src":"242357:2:22","valueSize":1},{"declaration":38927,"isOffset":false,"isSlot":false,"src":"242482:2:22","valueSize":1},{"declaration":38929,"isOffset":false,"isSlot":false,"src":"242516:2:22","valueSize":1},{"declaration":38931,"isOffset":false,"isSlot":false,"src":"242448:2:22","valueSize":1}],"id":38961,"nodeType":"InlineAssembly","src":"241596:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":38963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242554:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242560:5:22","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":38962,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"242538:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"242538:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38966,"nodeType":"ExpressionStatement","src":"242538:28:22"},{"AST":{"nativeSrc":"242628:273:22","nodeType":"YulBlock","src":"242628:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"242649:4:22","nodeType":"YulLiteral","src":"242649:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"242655:2:22","nodeType":"YulIdentifier","src":"242655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242642:6:22","nodeType":"YulIdentifier","src":"242642:6:22"},"nativeSrc":"242642:16:22","nodeType":"YulFunctionCall","src":"242642:16:22"},"nativeSrc":"242642:16:22","nodeType":"YulExpressionStatement","src":"242642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242678:4:22","nodeType":"YulLiteral","src":"242678:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"242684:2:22","nodeType":"YulIdentifier","src":"242684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242671:6:22","nodeType":"YulIdentifier","src":"242671:6:22"},"nativeSrc":"242671:16:22","nodeType":"YulFunctionCall","src":"242671:16:22"},"nativeSrc":"242671:16:22","nodeType":"YulExpressionStatement","src":"242671:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242707:4:22","nodeType":"YulLiteral","src":"242707:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"242713:2:22","nodeType":"YulIdentifier","src":"242713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242700:6:22","nodeType":"YulIdentifier","src":"242700:6:22"},"nativeSrc":"242700:16:22","nodeType":"YulFunctionCall","src":"242700:16:22"},"nativeSrc":"242700:16:22","nodeType":"YulExpressionStatement","src":"242700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242736:4:22","nodeType":"YulLiteral","src":"242736:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"242742:2:22","nodeType":"YulIdentifier","src":"242742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242729:6:22","nodeType":"YulIdentifier","src":"242729:6:22"},"nativeSrc":"242729:16:22","nodeType":"YulFunctionCall","src":"242729:16:22"},"nativeSrc":"242729:16:22","nodeType":"YulExpressionStatement","src":"242729:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242765:4:22","nodeType":"YulLiteral","src":"242765:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"242771:2:22","nodeType":"YulIdentifier","src":"242771:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242758:6:22","nodeType":"YulIdentifier","src":"242758:6:22"},"nativeSrc":"242758:16:22","nodeType":"YulFunctionCall","src":"242758:16:22"},"nativeSrc":"242758:16:22","nodeType":"YulExpressionStatement","src":"242758:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242794:4:22","nodeType":"YulLiteral","src":"242794:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"242800:2:22","nodeType":"YulIdentifier","src":"242800:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242787:6:22","nodeType":"YulIdentifier","src":"242787:6:22"},"nativeSrc":"242787:16:22","nodeType":"YulFunctionCall","src":"242787:16:22"},"nativeSrc":"242787:16:22","nodeType":"YulExpressionStatement","src":"242787:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242823:4:22","nodeType":"YulLiteral","src":"242823:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"242829:2:22","nodeType":"YulIdentifier","src":"242829:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242816:6:22","nodeType":"YulIdentifier","src":"242816:6:22"},"nativeSrc":"242816:16:22","nodeType":"YulFunctionCall","src":"242816:16:22"},"nativeSrc":"242816:16:22","nodeType":"YulExpressionStatement","src":"242816:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242852:4:22","nodeType":"YulLiteral","src":"242852:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"242858:2:22","nodeType":"YulIdentifier","src":"242858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242845:6:22","nodeType":"YulIdentifier","src":"242845:6:22"},"nativeSrc":"242845:16:22","nodeType":"YulFunctionCall","src":"242845:16:22"},"nativeSrc":"242845:16:22","nodeType":"YulExpressionStatement","src":"242845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242881:5:22","nodeType":"YulLiteral","src":"242881:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"242888:2:22","nodeType":"YulIdentifier","src":"242888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"242874:6:22","nodeType":"YulIdentifier","src":"242874:6:22"},"nativeSrc":"242874:17:22","nodeType":"YulFunctionCall","src":"242874:17:22"},"nativeSrc":"242874:17:22","nodeType":"YulExpressionStatement","src":"242874:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38935,"isOffset":false,"isSlot":false,"src":"242655:2:22","valueSize":1},{"declaration":38938,"isOffset":false,"isSlot":false,"src":"242684:2:22","valueSize":1},{"declaration":38941,"isOffset":false,"isSlot":false,"src":"242713:2:22","valueSize":1},{"declaration":38944,"isOffset":false,"isSlot":false,"src":"242742:2:22","valueSize":1},{"declaration":38947,"isOffset":false,"isSlot":false,"src":"242771:2:22","valueSize":1},{"declaration":38950,"isOffset":false,"isSlot":false,"src":"242800:2:22","valueSize":1},{"declaration":38953,"isOffset":false,"isSlot":false,"src":"242829:2:22","valueSize":1},{"declaration":38956,"isOffset":false,"isSlot":false,"src":"242858:2:22","valueSize":1},{"declaration":38959,"isOffset":false,"isSlot":false,"src":"242888:2:22","valueSize":1}],"id":38967,"nodeType":"InlineAssembly","src":"242619:282:22"}]},"id":38969,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"241300:3:22","nodeType":"FunctionDefinition","parameters":{"id":38932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38925,"mutability":"mutable","name":"p0","nameLocation":"241309:2:22","nodeType":"VariableDeclaration","scope":38969,"src":"241304:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38924,"name":"bool","nodeType":"ElementaryTypeName","src":"241304:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38927,"mutability":"mutable","name":"p1","nameLocation":"241321:2:22","nodeType":"VariableDeclaration","scope":38969,"src":"241313:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241313:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38929,"mutability":"mutable","name":"p2","nameLocation":"241333:2:22","nodeType":"VariableDeclaration","scope":38969,"src":"241325:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241325:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38931,"mutability":"mutable","name":"p3","nameLocation":"241345:2:22","nodeType":"VariableDeclaration","scope":38969,"src":"241337:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38930,"name":"address","nodeType":"ElementaryTypeName","src":"241337:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"241303:45:22"},"returnParameters":{"id":38933,"nodeType":"ParameterList","parameters":[],"src":"241363:0:22"},"scope":44426,"src":"241291:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39014,"nodeType":"Block","src":"242982:1541:22","statements":[{"assignments":[38981],"declarations":[{"constant":false,"id":38981,"mutability":"mutable","name":"m0","nameLocation":"243000:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"242992:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242992:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38982,"nodeType":"VariableDeclarationStatement","src":"242992:10:22"},{"assignments":[38984],"declarations":[{"constant":false,"id":38984,"mutability":"mutable","name":"m1","nameLocation":"243020:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243012:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243012:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38985,"nodeType":"VariableDeclarationStatement","src":"243012:10:22"},{"assignments":[38987],"declarations":[{"constant":false,"id":38987,"mutability":"mutable","name":"m2","nameLocation":"243040:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243032:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38988,"nodeType":"VariableDeclarationStatement","src":"243032:10:22"},{"assignments":[38990],"declarations":[{"constant":false,"id":38990,"mutability":"mutable","name":"m3","nameLocation":"243060:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243052:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243052:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38991,"nodeType":"VariableDeclarationStatement","src":"243052:10:22"},{"assignments":[38993],"declarations":[{"constant":false,"id":38993,"mutability":"mutable","name":"m4","nameLocation":"243080:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243072:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243072:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38994,"nodeType":"VariableDeclarationStatement","src":"243072:10:22"},{"assignments":[38996],"declarations":[{"constant":false,"id":38996,"mutability":"mutable","name":"m5","nameLocation":"243100:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243092:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243092:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38997,"nodeType":"VariableDeclarationStatement","src":"243092:10:22"},{"assignments":[38999],"declarations":[{"constant":false,"id":38999,"mutability":"mutable","name":"m6","nameLocation":"243120:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243112:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243112:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39000,"nodeType":"VariableDeclarationStatement","src":"243112:10:22"},{"assignments":[39002],"declarations":[{"constant":false,"id":39002,"mutability":"mutable","name":"m7","nameLocation":"243140:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243132:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39003,"nodeType":"VariableDeclarationStatement","src":"243132:10:22"},{"assignments":[39005],"declarations":[{"constant":false,"id":39005,"mutability":"mutable","name":"m8","nameLocation":"243160:2:22","nodeType":"VariableDeclaration","scope":39014,"src":"243152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39006,"nodeType":"VariableDeclarationStatement","src":"243152:10:22"},{"AST":{"nativeSrc":"243224:921:22","nodeType":"YulBlock","src":"243224:921:22","statements":[{"body":{"nativeSrc":"243267:313:22","nodeType":"YulBlock","src":"243267:313:22","statements":[{"nativeSrc":"243285:15:22","nodeType":"YulVariableDeclaration","src":"243285:15:22","value":{"kind":"number","nativeSrc":"243299:1:22","nodeType":"YulLiteral","src":"243299:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"243289:6:22","nodeType":"YulTypedName","src":"243289:6:22","type":""}]},{"body":{"nativeSrc":"243370:40:22","nodeType":"YulBlock","src":"243370:40:22","statements":[{"body":{"nativeSrc":"243399:9:22","nodeType":"YulBlock","src":"243399:9:22","statements":[{"nativeSrc":"243401:5:22","nodeType":"YulBreak","src":"243401:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"243387:6:22","nodeType":"YulIdentifier","src":"243387:6:22"},{"name":"w","nativeSrc":"243395:1:22","nodeType":"YulIdentifier","src":"243395:1:22"}],"functionName":{"name":"byte","nativeSrc":"243382:4:22","nodeType":"YulIdentifier","src":"243382:4:22"},"nativeSrc":"243382:15:22","nodeType":"YulFunctionCall","src":"243382:15:22"}],"functionName":{"name":"iszero","nativeSrc":"243375:6:22","nodeType":"YulIdentifier","src":"243375:6:22"},"nativeSrc":"243375:23:22","nodeType":"YulFunctionCall","src":"243375:23:22"},"nativeSrc":"243372:36:22","nodeType":"YulIf","src":"243372:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"243327:6:22","nodeType":"YulIdentifier","src":"243327:6:22"},{"kind":"number","nativeSrc":"243335:4:22","nodeType":"YulLiteral","src":"243335:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"243324:2:22","nodeType":"YulIdentifier","src":"243324:2:22"},"nativeSrc":"243324:16:22","nodeType":"YulFunctionCall","src":"243324:16:22"},"nativeSrc":"243317:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"243341:28:22","nodeType":"YulBlock","src":"243341:28:22","statements":[{"nativeSrc":"243343:24:22","nodeType":"YulAssignment","src":"243343:24:22","value":{"arguments":[{"name":"length","nativeSrc":"243357:6:22","nodeType":"YulIdentifier","src":"243357:6:22"},{"kind":"number","nativeSrc":"243365:1:22","nodeType":"YulLiteral","src":"243365:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"243353:3:22","nodeType":"YulIdentifier","src":"243353:3:22"},"nativeSrc":"243353:14:22","nodeType":"YulFunctionCall","src":"243353:14:22"},"variableNames":[{"name":"length","nativeSrc":"243343:6:22","nodeType":"YulIdentifier","src":"243343:6:22"}]}]},"pre":{"nativeSrc":"243321:2:22","nodeType":"YulBlock","src":"243321:2:22","statements":[]},"src":"243317:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"243434:3:22","nodeType":"YulIdentifier","src":"243434:3:22"},{"name":"length","nativeSrc":"243439:6:22","nodeType":"YulIdentifier","src":"243439:6:22"}],"functionName":{"name":"mstore","nativeSrc":"243427:6:22","nodeType":"YulIdentifier","src":"243427:6:22"},"nativeSrc":"243427:19:22","nodeType":"YulFunctionCall","src":"243427:19:22"},"nativeSrc":"243427:19:22","nodeType":"YulExpressionStatement","src":"243427:19:22"},{"nativeSrc":"243463:37:22","nodeType":"YulVariableDeclaration","src":"243463:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"243480:3:22","nodeType":"YulLiteral","src":"243480:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"243489:1:22","nodeType":"YulLiteral","src":"243489:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"243492:6:22","nodeType":"YulIdentifier","src":"243492:6:22"}],"functionName":{"name":"shl","nativeSrc":"243485:3:22","nodeType":"YulIdentifier","src":"243485:3:22"},"nativeSrc":"243485:14:22","nodeType":"YulFunctionCall","src":"243485:14:22"}],"functionName":{"name":"sub","nativeSrc":"243476:3:22","nodeType":"YulIdentifier","src":"243476:3:22"},"nativeSrc":"243476:24:22","nodeType":"YulFunctionCall","src":"243476:24:22"},"variables":[{"name":"shift","nativeSrc":"243467:5:22","nodeType":"YulTypedName","src":"243467:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"243528:3:22","nodeType":"YulIdentifier","src":"243528:3:22"},{"kind":"number","nativeSrc":"243533:4:22","nodeType":"YulLiteral","src":"243533:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"243524:3:22","nodeType":"YulIdentifier","src":"243524:3:22"},"nativeSrc":"243524:14:22","nodeType":"YulFunctionCall","src":"243524:14:22"},{"arguments":[{"name":"shift","nativeSrc":"243544:5:22","nodeType":"YulIdentifier","src":"243544:5:22"},{"arguments":[{"name":"shift","nativeSrc":"243555:5:22","nodeType":"YulIdentifier","src":"243555:5:22"},{"name":"w","nativeSrc":"243562:1:22","nodeType":"YulIdentifier","src":"243562:1:22"}],"functionName":{"name":"shr","nativeSrc":"243551:3:22","nodeType":"YulIdentifier","src":"243551:3:22"},"nativeSrc":"243551:13:22","nodeType":"YulFunctionCall","src":"243551:13:22"}],"functionName":{"name":"shl","nativeSrc":"243540:3:22","nodeType":"YulIdentifier","src":"243540:3:22"},"nativeSrc":"243540:25:22","nodeType":"YulFunctionCall","src":"243540:25:22"}],"functionName":{"name":"mstore","nativeSrc":"243517:6:22","nodeType":"YulIdentifier","src":"243517:6:22"},"nativeSrc":"243517:49:22","nodeType":"YulFunctionCall","src":"243517:49:22"},"nativeSrc":"243517:49:22","nodeType":"YulExpressionStatement","src":"243517:49:22"}]},"name":"writeString","nativeSrc":"243238:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"243259:3:22","nodeType":"YulTypedName","src":"243259:3:22","type":""},{"name":"w","nativeSrc":"243264:1:22","nodeType":"YulTypedName","src":"243264:1:22","type":""}],"src":"243238:342:22"},{"nativeSrc":"243593:17:22","nodeType":"YulAssignment","src":"243593:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243605:4:22","nodeType":"YulLiteral","src":"243605:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"243599:5:22","nodeType":"YulIdentifier","src":"243599:5:22"},"nativeSrc":"243599:11:22","nodeType":"YulFunctionCall","src":"243599:11:22"},"variableNames":[{"name":"m0","nativeSrc":"243593:2:22","nodeType":"YulIdentifier","src":"243593:2:22"}]},{"nativeSrc":"243623:17:22","nodeType":"YulAssignment","src":"243623:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243635:4:22","nodeType":"YulLiteral","src":"243635:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"243629:5:22","nodeType":"YulIdentifier","src":"243629:5:22"},"nativeSrc":"243629:11:22","nodeType":"YulFunctionCall","src":"243629:11:22"},"variableNames":[{"name":"m1","nativeSrc":"243623:2:22","nodeType":"YulIdentifier","src":"243623:2:22"}]},{"nativeSrc":"243653:17:22","nodeType":"YulAssignment","src":"243653:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243665:4:22","nodeType":"YulLiteral","src":"243665:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"243659:5:22","nodeType":"YulIdentifier","src":"243659:5:22"},"nativeSrc":"243659:11:22","nodeType":"YulFunctionCall","src":"243659:11:22"},"variableNames":[{"name":"m2","nativeSrc":"243653:2:22","nodeType":"YulIdentifier","src":"243653:2:22"}]},{"nativeSrc":"243683:17:22","nodeType":"YulAssignment","src":"243683:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243695:4:22","nodeType":"YulLiteral","src":"243695:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"243689:5:22","nodeType":"YulIdentifier","src":"243689:5:22"},"nativeSrc":"243689:11:22","nodeType":"YulFunctionCall","src":"243689:11:22"},"variableNames":[{"name":"m3","nativeSrc":"243683:2:22","nodeType":"YulIdentifier","src":"243683:2:22"}]},{"nativeSrc":"243713:17:22","nodeType":"YulAssignment","src":"243713:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243725:4:22","nodeType":"YulLiteral","src":"243725:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"243719:5:22","nodeType":"YulIdentifier","src":"243719:5:22"},"nativeSrc":"243719:11:22","nodeType":"YulFunctionCall","src":"243719:11:22"},"variableNames":[{"name":"m4","nativeSrc":"243713:2:22","nodeType":"YulIdentifier","src":"243713:2:22"}]},{"nativeSrc":"243743:17:22","nodeType":"YulAssignment","src":"243743:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243755:4:22","nodeType":"YulLiteral","src":"243755:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"243749:5:22","nodeType":"YulIdentifier","src":"243749:5:22"},"nativeSrc":"243749:11:22","nodeType":"YulFunctionCall","src":"243749:11:22"},"variableNames":[{"name":"m5","nativeSrc":"243743:2:22","nodeType":"YulIdentifier","src":"243743:2:22"}]},{"nativeSrc":"243773:17:22","nodeType":"YulAssignment","src":"243773:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243785:4:22","nodeType":"YulLiteral","src":"243785:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"243779:5:22","nodeType":"YulIdentifier","src":"243779:5:22"},"nativeSrc":"243779:11:22","nodeType":"YulFunctionCall","src":"243779:11:22"},"variableNames":[{"name":"m6","nativeSrc":"243773:2:22","nodeType":"YulIdentifier","src":"243773:2:22"}]},{"nativeSrc":"243803:17:22","nodeType":"YulAssignment","src":"243803:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"243815:4:22","nodeType":"YulLiteral","src":"243815:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"243809:5:22","nodeType":"YulIdentifier","src":"243809:5:22"},"nativeSrc":"243809:11:22","nodeType":"YulFunctionCall","src":"243809:11:22"},"variableNames":[{"name":"m7","nativeSrc":"243803:2:22","nodeType":"YulIdentifier","src":"243803:2:22"}]},{"nativeSrc":"243833:18:22","nodeType":"YulAssignment","src":"243833:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"243845:5:22","nodeType":"YulLiteral","src":"243845:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"243839:5:22","nodeType":"YulIdentifier","src":"243839:5:22"},"nativeSrc":"243839:12:22","nodeType":"YulFunctionCall","src":"243839:12:22"},"variableNames":[{"name":"m8","nativeSrc":"243833:2:22","nodeType":"YulIdentifier","src":"243833:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243930:4:22","nodeType":"YulLiteral","src":"243930:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"243936:10:22","nodeType":"YulLiteral","src":"243936:10:22","type":"","value":"0x1e4b87e5"}],"functionName":{"name":"mstore","nativeSrc":"243923:6:22","nodeType":"YulIdentifier","src":"243923:6:22"},"nativeSrc":"243923:24:22","nodeType":"YulFunctionCall","src":"243923:24:22"},"nativeSrc":"243923:24:22","nodeType":"YulExpressionStatement","src":"243923:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243967:4:22","nodeType":"YulLiteral","src":"243967:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"243973:2:22","nodeType":"YulIdentifier","src":"243973:2:22"}],"functionName":{"name":"mstore","nativeSrc":"243960:6:22","nodeType":"YulIdentifier","src":"243960:6:22"},"nativeSrc":"243960:16:22","nodeType":"YulFunctionCall","src":"243960:16:22"},"nativeSrc":"243960:16:22","nodeType":"YulExpressionStatement","src":"243960:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243996:4:22","nodeType":"YulLiteral","src":"243996:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"244002:4:22","nodeType":"YulLiteral","src":"244002:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"243989:6:22","nodeType":"YulIdentifier","src":"243989:6:22"},"nativeSrc":"243989:18:22","nodeType":"YulFunctionCall","src":"243989:18:22"},"nativeSrc":"243989:18:22","nodeType":"YulExpressionStatement","src":"243989:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244027:4:22","nodeType":"YulLiteral","src":"244027:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"244033:4:22","nodeType":"YulLiteral","src":"244033:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"244020:6:22","nodeType":"YulIdentifier","src":"244020:6:22"},"nativeSrc":"244020:18:22","nodeType":"YulFunctionCall","src":"244020:18:22"},"nativeSrc":"244020:18:22","nodeType":"YulExpressionStatement","src":"244020:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244058:4:22","nodeType":"YulLiteral","src":"244058:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"244064:2:22","nodeType":"YulIdentifier","src":"244064:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244051:6:22","nodeType":"YulIdentifier","src":"244051:6:22"},"nativeSrc":"244051:16:22","nodeType":"YulFunctionCall","src":"244051:16:22"},"nativeSrc":"244051:16:22","nodeType":"YulExpressionStatement","src":"244051:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244092:4:22","nodeType":"YulLiteral","src":"244092:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"244098:2:22","nodeType":"YulIdentifier","src":"244098:2:22"}],"functionName":{"name":"writeString","nativeSrc":"244080:11:22","nodeType":"YulIdentifier","src":"244080:11:22"},"nativeSrc":"244080:21:22","nodeType":"YulFunctionCall","src":"244080:21:22"},"nativeSrc":"244080:21:22","nodeType":"YulExpressionStatement","src":"244080:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244126:4:22","nodeType":"YulLiteral","src":"244126:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"244132:2:22","nodeType":"YulIdentifier","src":"244132:2:22"}],"functionName":{"name":"writeString","nativeSrc":"244114:11:22","nodeType":"YulIdentifier","src":"244114:11:22"},"nativeSrc":"244114:21:22","nodeType":"YulFunctionCall","src":"244114:21:22"},"nativeSrc":"244114:21:22","nodeType":"YulExpressionStatement","src":"244114:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38981,"isOffset":false,"isSlot":false,"src":"243593:2:22","valueSize":1},{"declaration":38984,"isOffset":false,"isSlot":false,"src":"243623:2:22","valueSize":1},{"declaration":38987,"isOffset":false,"isSlot":false,"src":"243653:2:22","valueSize":1},{"declaration":38990,"isOffset":false,"isSlot":false,"src":"243683:2:22","valueSize":1},{"declaration":38993,"isOffset":false,"isSlot":false,"src":"243713:2:22","valueSize":1},{"declaration":38996,"isOffset":false,"isSlot":false,"src":"243743:2:22","valueSize":1},{"declaration":38999,"isOffset":false,"isSlot":false,"src":"243773:2:22","valueSize":1},{"declaration":39002,"isOffset":false,"isSlot":false,"src":"243803:2:22","valueSize":1},{"declaration":39005,"isOffset":false,"isSlot":false,"src":"243833:2:22","valueSize":1},{"declaration":38971,"isOffset":false,"isSlot":false,"src":"243973:2:22","valueSize":1},{"declaration":38973,"isOffset":false,"isSlot":false,"src":"244098:2:22","valueSize":1},{"declaration":38975,"isOffset":false,"isSlot":false,"src":"244132:2:22","valueSize":1},{"declaration":38977,"isOffset":false,"isSlot":false,"src":"244064:2:22","valueSize":1}],"id":39007,"nodeType":"InlineAssembly","src":"243215:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244170:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244176:5:22","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":39008,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"244154:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"244154:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39012,"nodeType":"ExpressionStatement","src":"244154:28:22"},{"AST":{"nativeSrc":"244244:273:22","nodeType":"YulBlock","src":"244244:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"244265:4:22","nodeType":"YulLiteral","src":"244265:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"244271:2:22","nodeType":"YulIdentifier","src":"244271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244258:6:22","nodeType":"YulIdentifier","src":"244258:6:22"},"nativeSrc":"244258:16:22","nodeType":"YulFunctionCall","src":"244258:16:22"},"nativeSrc":"244258:16:22","nodeType":"YulExpressionStatement","src":"244258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244294:4:22","nodeType":"YulLiteral","src":"244294:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"244300:2:22","nodeType":"YulIdentifier","src":"244300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244287:6:22","nodeType":"YulIdentifier","src":"244287:6:22"},"nativeSrc":"244287:16:22","nodeType":"YulFunctionCall","src":"244287:16:22"},"nativeSrc":"244287:16:22","nodeType":"YulExpressionStatement","src":"244287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244323:4:22","nodeType":"YulLiteral","src":"244323:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"244329:2:22","nodeType":"YulIdentifier","src":"244329:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244316:6:22","nodeType":"YulIdentifier","src":"244316:6:22"},"nativeSrc":"244316:16:22","nodeType":"YulFunctionCall","src":"244316:16:22"},"nativeSrc":"244316:16:22","nodeType":"YulExpressionStatement","src":"244316:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244352:4:22","nodeType":"YulLiteral","src":"244352:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"244358:2:22","nodeType":"YulIdentifier","src":"244358:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244345:6:22","nodeType":"YulIdentifier","src":"244345:6:22"},"nativeSrc":"244345:16:22","nodeType":"YulFunctionCall","src":"244345:16:22"},"nativeSrc":"244345:16:22","nodeType":"YulExpressionStatement","src":"244345:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244381:4:22","nodeType":"YulLiteral","src":"244381:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"244387:2:22","nodeType":"YulIdentifier","src":"244387:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244374:6:22","nodeType":"YulIdentifier","src":"244374:6:22"},"nativeSrc":"244374:16:22","nodeType":"YulFunctionCall","src":"244374:16:22"},"nativeSrc":"244374:16:22","nodeType":"YulExpressionStatement","src":"244374:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244410:4:22","nodeType":"YulLiteral","src":"244410:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"244416:2:22","nodeType":"YulIdentifier","src":"244416:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244403:6:22","nodeType":"YulIdentifier","src":"244403:6:22"},"nativeSrc":"244403:16:22","nodeType":"YulFunctionCall","src":"244403:16:22"},"nativeSrc":"244403:16:22","nodeType":"YulExpressionStatement","src":"244403:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244439:4:22","nodeType":"YulLiteral","src":"244439:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"244445:2:22","nodeType":"YulIdentifier","src":"244445:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244432:6:22","nodeType":"YulIdentifier","src":"244432:6:22"},"nativeSrc":"244432:16:22","nodeType":"YulFunctionCall","src":"244432:16:22"},"nativeSrc":"244432:16:22","nodeType":"YulExpressionStatement","src":"244432:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244468:4:22","nodeType":"YulLiteral","src":"244468:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"244474:2:22","nodeType":"YulIdentifier","src":"244474:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244461:6:22","nodeType":"YulIdentifier","src":"244461:6:22"},"nativeSrc":"244461:16:22","nodeType":"YulFunctionCall","src":"244461:16:22"},"nativeSrc":"244461:16:22","nodeType":"YulExpressionStatement","src":"244461:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244497:5:22","nodeType":"YulLiteral","src":"244497:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"244504:2:22","nodeType":"YulIdentifier","src":"244504:2:22"}],"functionName":{"name":"mstore","nativeSrc":"244490:6:22","nodeType":"YulIdentifier","src":"244490:6:22"},"nativeSrc":"244490:17:22","nodeType":"YulFunctionCall","src":"244490:17:22"},"nativeSrc":"244490:17:22","nodeType":"YulExpressionStatement","src":"244490:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38981,"isOffset":false,"isSlot":false,"src":"244271:2:22","valueSize":1},{"declaration":38984,"isOffset":false,"isSlot":false,"src":"244300:2:22","valueSize":1},{"declaration":38987,"isOffset":false,"isSlot":false,"src":"244329:2:22","valueSize":1},{"declaration":38990,"isOffset":false,"isSlot":false,"src":"244358:2:22","valueSize":1},{"declaration":38993,"isOffset":false,"isSlot":false,"src":"244387:2:22","valueSize":1},{"declaration":38996,"isOffset":false,"isSlot":false,"src":"244416:2:22","valueSize":1},{"declaration":38999,"isOffset":false,"isSlot":false,"src":"244445:2:22","valueSize":1},{"declaration":39002,"isOffset":false,"isSlot":false,"src":"244474:2:22","valueSize":1},{"declaration":39005,"isOffset":false,"isSlot":false,"src":"244504:2:22","valueSize":1}],"id":39013,"nodeType":"InlineAssembly","src":"244235:282:22"}]},"id":39015,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"242922:3:22","nodeType":"FunctionDefinition","parameters":{"id":38978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38971,"mutability":"mutable","name":"p0","nameLocation":"242931:2:22","nodeType":"VariableDeclaration","scope":39015,"src":"242926:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38970,"name":"bool","nodeType":"ElementaryTypeName","src":"242926:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38973,"mutability":"mutable","name":"p1","nameLocation":"242943:2:22","nodeType":"VariableDeclaration","scope":39015,"src":"242935:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242935:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38975,"mutability":"mutable","name":"p2","nameLocation":"242955:2:22","nodeType":"VariableDeclaration","scope":39015,"src":"242947:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242947:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38977,"mutability":"mutable","name":"p3","nameLocation":"242964:2:22","nodeType":"VariableDeclaration","scope":39015,"src":"242959:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38976,"name":"bool","nodeType":"ElementaryTypeName","src":"242959:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"242925:42:22"},"returnParameters":{"id":38979,"nodeType":"ParameterList","parameters":[],"src":"242982:0:22"},"scope":44426,"src":"242913:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39060,"nodeType":"Block","src":"244601:1544:22","statements":[{"assignments":[39027],"declarations":[{"constant":false,"id":39027,"mutability":"mutable","name":"m0","nameLocation":"244619:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244611:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244611:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39028,"nodeType":"VariableDeclarationStatement","src":"244611:10:22"},{"assignments":[39030],"declarations":[{"constant":false,"id":39030,"mutability":"mutable","name":"m1","nameLocation":"244639:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244631:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244631:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39031,"nodeType":"VariableDeclarationStatement","src":"244631:10:22"},{"assignments":[39033],"declarations":[{"constant":false,"id":39033,"mutability":"mutable","name":"m2","nameLocation":"244659:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244651:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244651:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39034,"nodeType":"VariableDeclarationStatement","src":"244651:10:22"},{"assignments":[39036],"declarations":[{"constant":false,"id":39036,"mutability":"mutable","name":"m3","nameLocation":"244679:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244671:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244671:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39037,"nodeType":"VariableDeclarationStatement","src":"244671:10:22"},{"assignments":[39039],"declarations":[{"constant":false,"id":39039,"mutability":"mutable","name":"m4","nameLocation":"244699:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244691:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244691:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39040,"nodeType":"VariableDeclarationStatement","src":"244691:10:22"},{"assignments":[39042],"declarations":[{"constant":false,"id":39042,"mutability":"mutable","name":"m5","nameLocation":"244719:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244711:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244711:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39043,"nodeType":"VariableDeclarationStatement","src":"244711:10:22"},{"assignments":[39045],"declarations":[{"constant":false,"id":39045,"mutability":"mutable","name":"m6","nameLocation":"244739:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244731:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244731:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39046,"nodeType":"VariableDeclarationStatement","src":"244731:10:22"},{"assignments":[39048],"declarations":[{"constant":false,"id":39048,"mutability":"mutable","name":"m7","nameLocation":"244759:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244751:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244751:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39049,"nodeType":"VariableDeclarationStatement","src":"244751:10:22"},{"assignments":[39051],"declarations":[{"constant":false,"id":39051,"mutability":"mutable","name":"m8","nameLocation":"244779:2:22","nodeType":"VariableDeclaration","scope":39060,"src":"244771:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244771:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39052,"nodeType":"VariableDeclarationStatement","src":"244771:10:22"},{"AST":{"nativeSrc":"244843:924:22","nodeType":"YulBlock","src":"244843:924:22","statements":[{"body":{"nativeSrc":"244886:313:22","nodeType":"YulBlock","src":"244886:313:22","statements":[{"nativeSrc":"244904:15:22","nodeType":"YulVariableDeclaration","src":"244904:15:22","value":{"kind":"number","nativeSrc":"244918:1:22","nodeType":"YulLiteral","src":"244918:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"244908:6:22","nodeType":"YulTypedName","src":"244908:6:22","type":""}]},{"body":{"nativeSrc":"244989:40:22","nodeType":"YulBlock","src":"244989:40:22","statements":[{"body":{"nativeSrc":"245018:9:22","nodeType":"YulBlock","src":"245018:9:22","statements":[{"nativeSrc":"245020:5:22","nodeType":"YulBreak","src":"245020:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"245006:6:22","nodeType":"YulIdentifier","src":"245006:6:22"},{"name":"w","nativeSrc":"245014:1:22","nodeType":"YulIdentifier","src":"245014:1:22"}],"functionName":{"name":"byte","nativeSrc":"245001:4:22","nodeType":"YulIdentifier","src":"245001:4:22"},"nativeSrc":"245001:15:22","nodeType":"YulFunctionCall","src":"245001:15:22"}],"functionName":{"name":"iszero","nativeSrc":"244994:6:22","nodeType":"YulIdentifier","src":"244994:6:22"},"nativeSrc":"244994:23:22","nodeType":"YulFunctionCall","src":"244994:23:22"},"nativeSrc":"244991:36:22","nodeType":"YulIf","src":"244991:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"244946:6:22","nodeType":"YulIdentifier","src":"244946:6:22"},{"kind":"number","nativeSrc":"244954:4:22","nodeType":"YulLiteral","src":"244954:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"244943:2:22","nodeType":"YulIdentifier","src":"244943:2:22"},"nativeSrc":"244943:16:22","nodeType":"YulFunctionCall","src":"244943:16:22"},"nativeSrc":"244936:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"244960:28:22","nodeType":"YulBlock","src":"244960:28:22","statements":[{"nativeSrc":"244962:24:22","nodeType":"YulAssignment","src":"244962:24:22","value":{"arguments":[{"name":"length","nativeSrc":"244976:6:22","nodeType":"YulIdentifier","src":"244976:6:22"},{"kind":"number","nativeSrc":"244984:1:22","nodeType":"YulLiteral","src":"244984:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"244972:3:22","nodeType":"YulIdentifier","src":"244972:3:22"},"nativeSrc":"244972:14:22","nodeType":"YulFunctionCall","src":"244972:14:22"},"variableNames":[{"name":"length","nativeSrc":"244962:6:22","nodeType":"YulIdentifier","src":"244962:6:22"}]}]},"pre":{"nativeSrc":"244940:2:22","nodeType":"YulBlock","src":"244940:2:22","statements":[]},"src":"244936:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"245053:3:22","nodeType":"YulIdentifier","src":"245053:3:22"},{"name":"length","nativeSrc":"245058:6:22","nodeType":"YulIdentifier","src":"245058:6:22"}],"functionName":{"name":"mstore","nativeSrc":"245046:6:22","nodeType":"YulIdentifier","src":"245046:6:22"},"nativeSrc":"245046:19:22","nodeType":"YulFunctionCall","src":"245046:19:22"},"nativeSrc":"245046:19:22","nodeType":"YulExpressionStatement","src":"245046:19:22"},{"nativeSrc":"245082:37:22","nodeType":"YulVariableDeclaration","src":"245082:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"245099:3:22","nodeType":"YulLiteral","src":"245099:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"245108:1:22","nodeType":"YulLiteral","src":"245108:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"245111:6:22","nodeType":"YulIdentifier","src":"245111:6:22"}],"functionName":{"name":"shl","nativeSrc":"245104:3:22","nodeType":"YulIdentifier","src":"245104:3:22"},"nativeSrc":"245104:14:22","nodeType":"YulFunctionCall","src":"245104:14:22"}],"functionName":{"name":"sub","nativeSrc":"245095:3:22","nodeType":"YulIdentifier","src":"245095:3:22"},"nativeSrc":"245095:24:22","nodeType":"YulFunctionCall","src":"245095:24:22"},"variables":[{"name":"shift","nativeSrc":"245086:5:22","nodeType":"YulTypedName","src":"245086:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"245147:3:22","nodeType":"YulIdentifier","src":"245147:3:22"},{"kind":"number","nativeSrc":"245152:4:22","nodeType":"YulLiteral","src":"245152:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"245143:3:22","nodeType":"YulIdentifier","src":"245143:3:22"},"nativeSrc":"245143:14:22","nodeType":"YulFunctionCall","src":"245143:14:22"},{"arguments":[{"name":"shift","nativeSrc":"245163:5:22","nodeType":"YulIdentifier","src":"245163:5:22"},{"arguments":[{"name":"shift","nativeSrc":"245174:5:22","nodeType":"YulIdentifier","src":"245174:5:22"},{"name":"w","nativeSrc":"245181:1:22","nodeType":"YulIdentifier","src":"245181:1:22"}],"functionName":{"name":"shr","nativeSrc":"245170:3:22","nodeType":"YulIdentifier","src":"245170:3:22"},"nativeSrc":"245170:13:22","nodeType":"YulFunctionCall","src":"245170:13:22"}],"functionName":{"name":"shl","nativeSrc":"245159:3:22","nodeType":"YulIdentifier","src":"245159:3:22"},"nativeSrc":"245159:25:22","nodeType":"YulFunctionCall","src":"245159:25:22"}],"functionName":{"name":"mstore","nativeSrc":"245136:6:22","nodeType":"YulIdentifier","src":"245136:6:22"},"nativeSrc":"245136:49:22","nodeType":"YulFunctionCall","src":"245136:49:22"},"nativeSrc":"245136:49:22","nodeType":"YulExpressionStatement","src":"245136:49:22"}]},"name":"writeString","nativeSrc":"244857:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"244878:3:22","nodeType":"YulTypedName","src":"244878:3:22","type":""},{"name":"w","nativeSrc":"244883:1:22","nodeType":"YulTypedName","src":"244883:1:22","type":""}],"src":"244857:342:22"},{"nativeSrc":"245212:17:22","nodeType":"YulAssignment","src":"245212:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245224:4:22","nodeType":"YulLiteral","src":"245224:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"245218:5:22","nodeType":"YulIdentifier","src":"245218:5:22"},"nativeSrc":"245218:11:22","nodeType":"YulFunctionCall","src":"245218:11:22"},"variableNames":[{"name":"m0","nativeSrc":"245212:2:22","nodeType":"YulIdentifier","src":"245212:2:22"}]},{"nativeSrc":"245242:17:22","nodeType":"YulAssignment","src":"245242:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245254:4:22","nodeType":"YulLiteral","src":"245254:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"245248:5:22","nodeType":"YulIdentifier","src":"245248:5:22"},"nativeSrc":"245248:11:22","nodeType":"YulFunctionCall","src":"245248:11:22"},"variableNames":[{"name":"m1","nativeSrc":"245242:2:22","nodeType":"YulIdentifier","src":"245242:2:22"}]},{"nativeSrc":"245272:17:22","nodeType":"YulAssignment","src":"245272:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245284:4:22","nodeType":"YulLiteral","src":"245284:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"245278:5:22","nodeType":"YulIdentifier","src":"245278:5:22"},"nativeSrc":"245278:11:22","nodeType":"YulFunctionCall","src":"245278:11:22"},"variableNames":[{"name":"m2","nativeSrc":"245272:2:22","nodeType":"YulIdentifier","src":"245272:2:22"}]},{"nativeSrc":"245302:17:22","nodeType":"YulAssignment","src":"245302:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245314:4:22","nodeType":"YulLiteral","src":"245314:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"245308:5:22","nodeType":"YulIdentifier","src":"245308:5:22"},"nativeSrc":"245308:11:22","nodeType":"YulFunctionCall","src":"245308:11:22"},"variableNames":[{"name":"m3","nativeSrc":"245302:2:22","nodeType":"YulIdentifier","src":"245302:2:22"}]},{"nativeSrc":"245332:17:22","nodeType":"YulAssignment","src":"245332:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245344:4:22","nodeType":"YulLiteral","src":"245344:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"245338:5:22","nodeType":"YulIdentifier","src":"245338:5:22"},"nativeSrc":"245338:11:22","nodeType":"YulFunctionCall","src":"245338:11:22"},"variableNames":[{"name":"m4","nativeSrc":"245332:2:22","nodeType":"YulIdentifier","src":"245332:2:22"}]},{"nativeSrc":"245362:17:22","nodeType":"YulAssignment","src":"245362:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245374:4:22","nodeType":"YulLiteral","src":"245374:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"245368:5:22","nodeType":"YulIdentifier","src":"245368:5:22"},"nativeSrc":"245368:11:22","nodeType":"YulFunctionCall","src":"245368:11:22"},"variableNames":[{"name":"m5","nativeSrc":"245362:2:22","nodeType":"YulIdentifier","src":"245362:2:22"}]},{"nativeSrc":"245392:17:22","nodeType":"YulAssignment","src":"245392:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245404:4:22","nodeType":"YulLiteral","src":"245404:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"245398:5:22","nodeType":"YulIdentifier","src":"245398:5:22"},"nativeSrc":"245398:11:22","nodeType":"YulFunctionCall","src":"245398:11:22"},"variableNames":[{"name":"m6","nativeSrc":"245392:2:22","nodeType":"YulIdentifier","src":"245392:2:22"}]},{"nativeSrc":"245422:17:22","nodeType":"YulAssignment","src":"245422:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"245434:4:22","nodeType":"YulLiteral","src":"245434:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"245428:5:22","nodeType":"YulIdentifier","src":"245428:5:22"},"nativeSrc":"245428:11:22","nodeType":"YulFunctionCall","src":"245428:11:22"},"variableNames":[{"name":"m7","nativeSrc":"245422:2:22","nodeType":"YulIdentifier","src":"245422:2:22"}]},{"nativeSrc":"245452:18:22","nodeType":"YulAssignment","src":"245452:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"245464:5:22","nodeType":"YulLiteral","src":"245464:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"245458:5:22","nodeType":"YulIdentifier","src":"245458:5:22"},"nativeSrc":"245458:12:22","nodeType":"YulFunctionCall","src":"245458:12:22"},"variableNames":[{"name":"m8","nativeSrc":"245452:2:22","nodeType":"YulIdentifier","src":"245452:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245552:4:22","nodeType":"YulLiteral","src":"245552:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"245558:10:22","nodeType":"YulLiteral","src":"245558:10:22","type":"","value":"0x7be0c3eb"}],"functionName":{"name":"mstore","nativeSrc":"245545:6:22","nodeType":"YulIdentifier","src":"245545:6:22"},"nativeSrc":"245545:24:22","nodeType":"YulFunctionCall","src":"245545:24:22"},"nativeSrc":"245545:24:22","nodeType":"YulExpressionStatement","src":"245545:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245589:4:22","nodeType":"YulLiteral","src":"245589:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"245595:2:22","nodeType":"YulIdentifier","src":"245595:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245582:6:22","nodeType":"YulIdentifier","src":"245582:6:22"},"nativeSrc":"245582:16:22","nodeType":"YulFunctionCall","src":"245582:16:22"},"nativeSrc":"245582:16:22","nodeType":"YulExpressionStatement","src":"245582:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245618:4:22","nodeType":"YulLiteral","src":"245618:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"245624:4:22","nodeType":"YulLiteral","src":"245624:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"245611:6:22","nodeType":"YulIdentifier","src":"245611:6:22"},"nativeSrc":"245611:18:22","nodeType":"YulFunctionCall","src":"245611:18:22"},"nativeSrc":"245611:18:22","nodeType":"YulExpressionStatement","src":"245611:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245649:4:22","nodeType":"YulLiteral","src":"245649:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"245655:4:22","nodeType":"YulLiteral","src":"245655:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"245642:6:22","nodeType":"YulIdentifier","src":"245642:6:22"},"nativeSrc":"245642:18:22","nodeType":"YulFunctionCall","src":"245642:18:22"},"nativeSrc":"245642:18:22","nodeType":"YulExpressionStatement","src":"245642:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245680:4:22","nodeType":"YulLiteral","src":"245680:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"245686:2:22","nodeType":"YulIdentifier","src":"245686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245673:6:22","nodeType":"YulIdentifier","src":"245673:6:22"},"nativeSrc":"245673:16:22","nodeType":"YulFunctionCall","src":"245673:16:22"},"nativeSrc":"245673:16:22","nodeType":"YulExpressionStatement","src":"245673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245714:4:22","nodeType":"YulLiteral","src":"245714:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"245720:2:22","nodeType":"YulIdentifier","src":"245720:2:22"}],"functionName":{"name":"writeString","nativeSrc":"245702:11:22","nodeType":"YulIdentifier","src":"245702:11:22"},"nativeSrc":"245702:21:22","nodeType":"YulFunctionCall","src":"245702:21:22"},"nativeSrc":"245702:21:22","nodeType":"YulExpressionStatement","src":"245702:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245748:4:22","nodeType":"YulLiteral","src":"245748:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"245754:2:22","nodeType":"YulIdentifier","src":"245754:2:22"}],"functionName":{"name":"writeString","nativeSrc":"245736:11:22","nodeType":"YulIdentifier","src":"245736:11:22"},"nativeSrc":"245736:21:22","nodeType":"YulFunctionCall","src":"245736:21:22"},"nativeSrc":"245736:21:22","nodeType":"YulExpressionStatement","src":"245736:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39027,"isOffset":false,"isSlot":false,"src":"245212:2:22","valueSize":1},{"declaration":39030,"isOffset":false,"isSlot":false,"src":"245242:2:22","valueSize":1},{"declaration":39033,"isOffset":false,"isSlot":false,"src":"245272:2:22","valueSize":1},{"declaration":39036,"isOffset":false,"isSlot":false,"src":"245302:2:22","valueSize":1},{"declaration":39039,"isOffset":false,"isSlot":false,"src":"245332:2:22","valueSize":1},{"declaration":39042,"isOffset":false,"isSlot":false,"src":"245362:2:22","valueSize":1},{"declaration":39045,"isOffset":false,"isSlot":false,"src":"245392:2:22","valueSize":1},{"declaration":39048,"isOffset":false,"isSlot":false,"src":"245422:2:22","valueSize":1},{"declaration":39051,"isOffset":false,"isSlot":false,"src":"245452:2:22","valueSize":1},{"declaration":39017,"isOffset":false,"isSlot":false,"src":"245595:2:22","valueSize":1},{"declaration":39019,"isOffset":false,"isSlot":false,"src":"245720:2:22","valueSize":1},{"declaration":39021,"isOffset":false,"isSlot":false,"src":"245754:2:22","valueSize":1},{"declaration":39023,"isOffset":false,"isSlot":false,"src":"245686:2:22","valueSize":1}],"id":39053,"nodeType":"InlineAssembly","src":"244834:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245792:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245798:5:22","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":39054,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"245776:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"245776:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39058,"nodeType":"ExpressionStatement","src":"245776:28:22"},{"AST":{"nativeSrc":"245866:273:22","nodeType":"YulBlock","src":"245866:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"245887:4:22","nodeType":"YulLiteral","src":"245887:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"245893:2:22","nodeType":"YulIdentifier","src":"245893:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245880:6:22","nodeType":"YulIdentifier","src":"245880:6:22"},"nativeSrc":"245880:16:22","nodeType":"YulFunctionCall","src":"245880:16:22"},"nativeSrc":"245880:16:22","nodeType":"YulExpressionStatement","src":"245880:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245916:4:22","nodeType":"YulLiteral","src":"245916:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"245922:2:22","nodeType":"YulIdentifier","src":"245922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245909:6:22","nodeType":"YulIdentifier","src":"245909:6:22"},"nativeSrc":"245909:16:22","nodeType":"YulFunctionCall","src":"245909:16:22"},"nativeSrc":"245909:16:22","nodeType":"YulExpressionStatement","src":"245909:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245945:4:22","nodeType":"YulLiteral","src":"245945:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"245951:2:22","nodeType":"YulIdentifier","src":"245951:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245938:6:22","nodeType":"YulIdentifier","src":"245938:6:22"},"nativeSrc":"245938:16:22","nodeType":"YulFunctionCall","src":"245938:16:22"},"nativeSrc":"245938:16:22","nodeType":"YulExpressionStatement","src":"245938:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245974:4:22","nodeType":"YulLiteral","src":"245974:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"245980:2:22","nodeType":"YulIdentifier","src":"245980:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245967:6:22","nodeType":"YulIdentifier","src":"245967:6:22"},"nativeSrc":"245967:16:22","nodeType":"YulFunctionCall","src":"245967:16:22"},"nativeSrc":"245967:16:22","nodeType":"YulExpressionStatement","src":"245967:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246003:4:22","nodeType":"YulLiteral","src":"246003:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"246009:2:22","nodeType":"YulIdentifier","src":"246009:2:22"}],"functionName":{"name":"mstore","nativeSrc":"245996:6:22","nodeType":"YulIdentifier","src":"245996:6:22"},"nativeSrc":"245996:16:22","nodeType":"YulFunctionCall","src":"245996:16:22"},"nativeSrc":"245996:16:22","nodeType":"YulExpressionStatement","src":"245996:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246032:4:22","nodeType":"YulLiteral","src":"246032:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"246038:2:22","nodeType":"YulIdentifier","src":"246038:2:22"}],"functionName":{"name":"mstore","nativeSrc":"246025:6:22","nodeType":"YulIdentifier","src":"246025:6:22"},"nativeSrc":"246025:16:22","nodeType":"YulFunctionCall","src":"246025:16:22"},"nativeSrc":"246025:16:22","nodeType":"YulExpressionStatement","src":"246025:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246061:4:22","nodeType":"YulLiteral","src":"246061:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"246067:2:22","nodeType":"YulIdentifier","src":"246067:2:22"}],"functionName":{"name":"mstore","nativeSrc":"246054:6:22","nodeType":"YulIdentifier","src":"246054:6:22"},"nativeSrc":"246054:16:22","nodeType":"YulFunctionCall","src":"246054:16:22"},"nativeSrc":"246054:16:22","nodeType":"YulExpressionStatement","src":"246054:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246090:4:22","nodeType":"YulLiteral","src":"246090:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"246096:2:22","nodeType":"YulIdentifier","src":"246096:2:22"}],"functionName":{"name":"mstore","nativeSrc":"246083:6:22","nodeType":"YulIdentifier","src":"246083:6:22"},"nativeSrc":"246083:16:22","nodeType":"YulFunctionCall","src":"246083:16:22"},"nativeSrc":"246083:16:22","nodeType":"YulExpressionStatement","src":"246083:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246119:5:22","nodeType":"YulLiteral","src":"246119:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"246126:2:22","nodeType":"YulIdentifier","src":"246126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"246112:6:22","nodeType":"YulIdentifier","src":"246112:6:22"},"nativeSrc":"246112:17:22","nodeType":"YulFunctionCall","src":"246112:17:22"},"nativeSrc":"246112:17:22","nodeType":"YulExpressionStatement","src":"246112:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39027,"isOffset":false,"isSlot":false,"src":"245893:2:22","valueSize":1},{"declaration":39030,"isOffset":false,"isSlot":false,"src":"245922:2:22","valueSize":1},{"declaration":39033,"isOffset":false,"isSlot":false,"src":"245951:2:22","valueSize":1},{"declaration":39036,"isOffset":false,"isSlot":false,"src":"245980:2:22","valueSize":1},{"declaration":39039,"isOffset":false,"isSlot":false,"src":"246009:2:22","valueSize":1},{"declaration":39042,"isOffset":false,"isSlot":false,"src":"246038:2:22","valueSize":1},{"declaration":39045,"isOffset":false,"isSlot":false,"src":"246067:2:22","valueSize":1},{"declaration":39048,"isOffset":false,"isSlot":false,"src":"246096:2:22","valueSize":1},{"declaration":39051,"isOffset":false,"isSlot":false,"src":"246126:2:22","valueSize":1}],"id":39059,"nodeType":"InlineAssembly","src":"245857:282:22"}]},"id":39061,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"244538:3:22","nodeType":"FunctionDefinition","parameters":{"id":39024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39017,"mutability":"mutable","name":"p0","nameLocation":"244547:2:22","nodeType":"VariableDeclaration","scope":39061,"src":"244542:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39016,"name":"bool","nodeType":"ElementaryTypeName","src":"244542:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39019,"mutability":"mutable","name":"p1","nameLocation":"244559:2:22","nodeType":"VariableDeclaration","scope":39061,"src":"244551:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244551:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39021,"mutability":"mutable","name":"p2","nameLocation":"244571:2:22","nodeType":"VariableDeclaration","scope":39061,"src":"244563:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244563:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39023,"mutability":"mutable","name":"p3","nameLocation":"244583:2:22","nodeType":"VariableDeclaration","scope":39061,"src":"244575:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39022,"name":"uint256","nodeType":"ElementaryTypeName","src":"244575:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"244541:45:22"},"returnParameters":{"id":39025,"nodeType":"ParameterList","parameters":[],"src":"244601:0:22"},"scope":44426,"src":"244529:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39112,"nodeType":"Block","src":"246223:1746:22","statements":[{"assignments":[39073],"declarations":[{"constant":false,"id":39073,"mutability":"mutable","name":"m0","nameLocation":"246241:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246233:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39074,"nodeType":"VariableDeclarationStatement","src":"246233:10:22"},{"assignments":[39076],"declarations":[{"constant":false,"id":39076,"mutability":"mutable","name":"m1","nameLocation":"246261:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246253:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246253:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39077,"nodeType":"VariableDeclarationStatement","src":"246253:10:22"},{"assignments":[39079],"declarations":[{"constant":false,"id":39079,"mutability":"mutable","name":"m2","nameLocation":"246281:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246273:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246273:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39080,"nodeType":"VariableDeclarationStatement","src":"246273:10:22"},{"assignments":[39082],"declarations":[{"constant":false,"id":39082,"mutability":"mutable","name":"m3","nameLocation":"246301:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246293:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246293:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39083,"nodeType":"VariableDeclarationStatement","src":"246293:10:22"},{"assignments":[39085],"declarations":[{"constant":false,"id":39085,"mutability":"mutable","name":"m4","nameLocation":"246321:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246313:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246313:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39086,"nodeType":"VariableDeclarationStatement","src":"246313:10:22"},{"assignments":[39088],"declarations":[{"constant":false,"id":39088,"mutability":"mutable","name":"m5","nameLocation":"246341:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246333:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246333:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39089,"nodeType":"VariableDeclarationStatement","src":"246333:10:22"},{"assignments":[39091],"declarations":[{"constant":false,"id":39091,"mutability":"mutable","name":"m6","nameLocation":"246361:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246353:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246353:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39092,"nodeType":"VariableDeclarationStatement","src":"246353:10:22"},{"assignments":[39094],"declarations":[{"constant":false,"id":39094,"mutability":"mutable","name":"m7","nameLocation":"246381:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246373:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246373:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39095,"nodeType":"VariableDeclarationStatement","src":"246373:10:22"},{"assignments":[39097],"declarations":[{"constant":false,"id":39097,"mutability":"mutable","name":"m8","nameLocation":"246401:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246393:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246393:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39098,"nodeType":"VariableDeclarationStatement","src":"246393:10:22"},{"assignments":[39100],"declarations":[{"constant":false,"id":39100,"mutability":"mutable","name":"m9","nameLocation":"246421:2:22","nodeType":"VariableDeclaration","scope":39112,"src":"246413:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246413:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39101,"nodeType":"VariableDeclarationStatement","src":"246413:10:22"},{"assignments":[39103],"declarations":[{"constant":false,"id":39103,"mutability":"mutable","name":"m10","nameLocation":"246441:3:22","nodeType":"VariableDeclaration","scope":39112,"src":"246433:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246433:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39104,"nodeType":"VariableDeclarationStatement","src":"246433:11:22"},{"AST":{"nativeSrc":"246506:1024:22","nodeType":"YulBlock","src":"246506:1024:22","statements":[{"body":{"nativeSrc":"246549:313:22","nodeType":"YulBlock","src":"246549:313:22","statements":[{"nativeSrc":"246567:15:22","nodeType":"YulVariableDeclaration","src":"246567:15:22","value":{"kind":"number","nativeSrc":"246581:1:22","nodeType":"YulLiteral","src":"246581:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"246571:6:22","nodeType":"YulTypedName","src":"246571:6:22","type":""}]},{"body":{"nativeSrc":"246652:40:22","nodeType":"YulBlock","src":"246652:40:22","statements":[{"body":{"nativeSrc":"246681:9:22","nodeType":"YulBlock","src":"246681:9:22","statements":[{"nativeSrc":"246683:5:22","nodeType":"YulBreak","src":"246683:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"246669:6:22","nodeType":"YulIdentifier","src":"246669:6:22"},{"name":"w","nativeSrc":"246677:1:22","nodeType":"YulIdentifier","src":"246677:1:22"}],"functionName":{"name":"byte","nativeSrc":"246664:4:22","nodeType":"YulIdentifier","src":"246664:4:22"},"nativeSrc":"246664:15:22","nodeType":"YulFunctionCall","src":"246664:15:22"}],"functionName":{"name":"iszero","nativeSrc":"246657:6:22","nodeType":"YulIdentifier","src":"246657:6:22"},"nativeSrc":"246657:23:22","nodeType":"YulFunctionCall","src":"246657:23:22"},"nativeSrc":"246654:36:22","nodeType":"YulIf","src":"246654:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"246609:6:22","nodeType":"YulIdentifier","src":"246609:6:22"},{"kind":"number","nativeSrc":"246617:4:22","nodeType":"YulLiteral","src":"246617:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"246606:2:22","nodeType":"YulIdentifier","src":"246606:2:22"},"nativeSrc":"246606:16:22","nodeType":"YulFunctionCall","src":"246606:16:22"},"nativeSrc":"246599:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"246623:28:22","nodeType":"YulBlock","src":"246623:28:22","statements":[{"nativeSrc":"246625:24:22","nodeType":"YulAssignment","src":"246625:24:22","value":{"arguments":[{"name":"length","nativeSrc":"246639:6:22","nodeType":"YulIdentifier","src":"246639:6:22"},{"kind":"number","nativeSrc":"246647:1:22","nodeType":"YulLiteral","src":"246647:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"246635:3:22","nodeType":"YulIdentifier","src":"246635:3:22"},"nativeSrc":"246635:14:22","nodeType":"YulFunctionCall","src":"246635:14:22"},"variableNames":[{"name":"length","nativeSrc":"246625:6:22","nodeType":"YulIdentifier","src":"246625:6:22"}]}]},"pre":{"nativeSrc":"246603:2:22","nodeType":"YulBlock","src":"246603:2:22","statements":[]},"src":"246599:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"246716:3:22","nodeType":"YulIdentifier","src":"246716:3:22"},{"name":"length","nativeSrc":"246721:6:22","nodeType":"YulIdentifier","src":"246721:6:22"}],"functionName":{"name":"mstore","nativeSrc":"246709:6:22","nodeType":"YulIdentifier","src":"246709:6:22"},"nativeSrc":"246709:19:22","nodeType":"YulFunctionCall","src":"246709:19:22"},"nativeSrc":"246709:19:22","nodeType":"YulExpressionStatement","src":"246709:19:22"},{"nativeSrc":"246745:37:22","nodeType":"YulVariableDeclaration","src":"246745:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"246762:3:22","nodeType":"YulLiteral","src":"246762:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"246771:1:22","nodeType":"YulLiteral","src":"246771:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"246774:6:22","nodeType":"YulIdentifier","src":"246774:6:22"}],"functionName":{"name":"shl","nativeSrc":"246767:3:22","nodeType":"YulIdentifier","src":"246767:3:22"},"nativeSrc":"246767:14:22","nodeType":"YulFunctionCall","src":"246767:14:22"}],"functionName":{"name":"sub","nativeSrc":"246758:3:22","nodeType":"YulIdentifier","src":"246758:3:22"},"nativeSrc":"246758:24:22","nodeType":"YulFunctionCall","src":"246758:24:22"},"variables":[{"name":"shift","nativeSrc":"246749:5:22","nodeType":"YulTypedName","src":"246749:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"246810:3:22","nodeType":"YulIdentifier","src":"246810:3:22"},{"kind":"number","nativeSrc":"246815:4:22","nodeType":"YulLiteral","src":"246815:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"246806:3:22","nodeType":"YulIdentifier","src":"246806:3:22"},"nativeSrc":"246806:14:22","nodeType":"YulFunctionCall","src":"246806:14:22"},{"arguments":[{"name":"shift","nativeSrc":"246826:5:22","nodeType":"YulIdentifier","src":"246826:5:22"},{"arguments":[{"name":"shift","nativeSrc":"246837:5:22","nodeType":"YulIdentifier","src":"246837:5:22"},{"name":"w","nativeSrc":"246844:1:22","nodeType":"YulIdentifier","src":"246844:1:22"}],"functionName":{"name":"shr","nativeSrc":"246833:3:22","nodeType":"YulIdentifier","src":"246833:3:22"},"nativeSrc":"246833:13:22","nodeType":"YulFunctionCall","src":"246833:13:22"}],"functionName":{"name":"shl","nativeSrc":"246822:3:22","nodeType":"YulIdentifier","src":"246822:3:22"},"nativeSrc":"246822:25:22","nodeType":"YulFunctionCall","src":"246822:25:22"}],"functionName":{"name":"mstore","nativeSrc":"246799:6:22","nodeType":"YulIdentifier","src":"246799:6:22"},"nativeSrc":"246799:49:22","nodeType":"YulFunctionCall","src":"246799:49:22"},"nativeSrc":"246799:49:22","nodeType":"YulExpressionStatement","src":"246799:49:22"}]},"name":"writeString","nativeSrc":"246520:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"246541:3:22","nodeType":"YulTypedName","src":"246541:3:22","type":""},{"name":"w","nativeSrc":"246546:1:22","nodeType":"YulTypedName","src":"246546:1:22","type":""}],"src":"246520:342:22"},{"nativeSrc":"246875:17:22","nodeType":"YulAssignment","src":"246875:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"246887:4:22","nodeType":"YulLiteral","src":"246887:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"246881:5:22","nodeType":"YulIdentifier","src":"246881:5:22"},"nativeSrc":"246881:11:22","nodeType":"YulFunctionCall","src":"246881:11:22"},"variableNames":[{"name":"m0","nativeSrc":"246875:2:22","nodeType":"YulIdentifier","src":"246875:2:22"}]},{"nativeSrc":"246905:17:22","nodeType":"YulAssignment","src":"246905:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"246917:4:22","nodeType":"YulLiteral","src":"246917:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"246911:5:22","nodeType":"YulIdentifier","src":"246911:5:22"},"nativeSrc":"246911:11:22","nodeType":"YulFunctionCall","src":"246911:11:22"},"variableNames":[{"name":"m1","nativeSrc":"246905:2:22","nodeType":"YulIdentifier","src":"246905:2:22"}]},{"nativeSrc":"246935:17:22","nodeType":"YulAssignment","src":"246935:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"246947:4:22","nodeType":"YulLiteral","src":"246947:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"246941:5:22","nodeType":"YulIdentifier","src":"246941:5:22"},"nativeSrc":"246941:11:22","nodeType":"YulFunctionCall","src":"246941:11:22"},"variableNames":[{"name":"m2","nativeSrc":"246935:2:22","nodeType":"YulIdentifier","src":"246935:2:22"}]},{"nativeSrc":"246965:17:22","nodeType":"YulAssignment","src":"246965:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"246977:4:22","nodeType":"YulLiteral","src":"246977:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"246971:5:22","nodeType":"YulIdentifier","src":"246971:5:22"},"nativeSrc":"246971:11:22","nodeType":"YulFunctionCall","src":"246971:11:22"},"variableNames":[{"name":"m3","nativeSrc":"246965:2:22","nodeType":"YulIdentifier","src":"246965:2:22"}]},{"nativeSrc":"246995:17:22","nodeType":"YulAssignment","src":"246995:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"247007:4:22","nodeType":"YulLiteral","src":"247007:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"247001:5:22","nodeType":"YulIdentifier","src":"247001:5:22"},"nativeSrc":"247001:11:22","nodeType":"YulFunctionCall","src":"247001:11:22"},"variableNames":[{"name":"m4","nativeSrc":"246995:2:22","nodeType":"YulIdentifier","src":"246995:2:22"}]},{"nativeSrc":"247025:17:22","nodeType":"YulAssignment","src":"247025:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"247037:4:22","nodeType":"YulLiteral","src":"247037:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"247031:5:22","nodeType":"YulIdentifier","src":"247031:5:22"},"nativeSrc":"247031:11:22","nodeType":"YulFunctionCall","src":"247031:11:22"},"variableNames":[{"name":"m5","nativeSrc":"247025:2:22","nodeType":"YulIdentifier","src":"247025:2:22"}]},{"nativeSrc":"247055:17:22","nodeType":"YulAssignment","src":"247055:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"247067:4:22","nodeType":"YulLiteral","src":"247067:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"247061:5:22","nodeType":"YulIdentifier","src":"247061:5:22"},"nativeSrc":"247061:11:22","nodeType":"YulFunctionCall","src":"247061:11:22"},"variableNames":[{"name":"m6","nativeSrc":"247055:2:22","nodeType":"YulIdentifier","src":"247055:2:22"}]},{"nativeSrc":"247085:17:22","nodeType":"YulAssignment","src":"247085:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"247097:4:22","nodeType":"YulLiteral","src":"247097:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"247091:5:22","nodeType":"YulIdentifier","src":"247091:5:22"},"nativeSrc":"247091:11:22","nodeType":"YulFunctionCall","src":"247091:11:22"},"variableNames":[{"name":"m7","nativeSrc":"247085:2:22","nodeType":"YulIdentifier","src":"247085:2:22"}]},{"nativeSrc":"247115:18:22","nodeType":"YulAssignment","src":"247115:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"247127:5:22","nodeType":"YulLiteral","src":"247127:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"247121:5:22","nodeType":"YulIdentifier","src":"247121:5:22"},"nativeSrc":"247121:12:22","nodeType":"YulFunctionCall","src":"247121:12:22"},"variableNames":[{"name":"m8","nativeSrc":"247115:2:22","nodeType":"YulIdentifier","src":"247115:2:22"}]},{"nativeSrc":"247146:18:22","nodeType":"YulAssignment","src":"247146:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"247158:5:22","nodeType":"YulLiteral","src":"247158:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"247152:5:22","nodeType":"YulIdentifier","src":"247152:5:22"},"nativeSrc":"247152:12:22","nodeType":"YulFunctionCall","src":"247152:12:22"},"variableNames":[{"name":"m9","nativeSrc":"247146:2:22","nodeType":"YulIdentifier","src":"247146:2:22"}]},{"nativeSrc":"247177:19:22","nodeType":"YulAssignment","src":"247177:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"247190:5:22","nodeType":"YulLiteral","src":"247190:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"247184:5:22","nodeType":"YulIdentifier","src":"247184:5:22"},"nativeSrc":"247184:12:22","nodeType":"YulFunctionCall","src":"247184:12:22"},"variableNames":[{"name":"m10","nativeSrc":"247177:3:22","nodeType":"YulIdentifier","src":"247177:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247277:4:22","nodeType":"YulLiteral","src":"247277:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"247283:10:22","nodeType":"YulLiteral","src":"247283:10:22","type":"","value":"0x1762e32a"}],"functionName":{"name":"mstore","nativeSrc":"247270:6:22","nodeType":"YulIdentifier","src":"247270:6:22"},"nativeSrc":"247270:24:22","nodeType":"YulFunctionCall","src":"247270:24:22"},"nativeSrc":"247270:24:22","nodeType":"YulExpressionStatement","src":"247270:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247314:4:22","nodeType":"YulLiteral","src":"247314:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"247320:2:22","nodeType":"YulIdentifier","src":"247320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247307:6:22","nodeType":"YulIdentifier","src":"247307:6:22"},"nativeSrc":"247307:16:22","nodeType":"YulFunctionCall","src":"247307:16:22"},"nativeSrc":"247307:16:22","nodeType":"YulExpressionStatement","src":"247307:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247343:4:22","nodeType":"YulLiteral","src":"247343:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"247349:4:22","nodeType":"YulLiteral","src":"247349:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"247336:6:22","nodeType":"YulIdentifier","src":"247336:6:22"},"nativeSrc":"247336:18:22","nodeType":"YulFunctionCall","src":"247336:18:22"},"nativeSrc":"247336:18:22","nodeType":"YulExpressionStatement","src":"247336:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247374:4:22","nodeType":"YulLiteral","src":"247374:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"247380:4:22","nodeType":"YulLiteral","src":"247380:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"247367:6:22","nodeType":"YulIdentifier","src":"247367:6:22"},"nativeSrc":"247367:18:22","nodeType":"YulFunctionCall","src":"247367:18:22"},"nativeSrc":"247367:18:22","nodeType":"YulExpressionStatement","src":"247367:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247405:4:22","nodeType":"YulLiteral","src":"247405:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"247411:5:22","nodeType":"YulLiteral","src":"247411:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"247398:6:22","nodeType":"YulIdentifier","src":"247398:6:22"},"nativeSrc":"247398:19:22","nodeType":"YulFunctionCall","src":"247398:19:22"},"nativeSrc":"247398:19:22","nodeType":"YulExpressionStatement","src":"247398:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247442:4:22","nodeType":"YulLiteral","src":"247442:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"247448:2:22","nodeType":"YulIdentifier","src":"247448:2:22"}],"functionName":{"name":"writeString","nativeSrc":"247430:11:22","nodeType":"YulIdentifier","src":"247430:11:22"},"nativeSrc":"247430:21:22","nodeType":"YulFunctionCall","src":"247430:21:22"},"nativeSrc":"247430:21:22","nodeType":"YulExpressionStatement","src":"247430:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247476:4:22","nodeType":"YulLiteral","src":"247476:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"247482:2:22","nodeType":"YulIdentifier","src":"247482:2:22"}],"functionName":{"name":"writeString","nativeSrc":"247464:11:22","nodeType":"YulIdentifier","src":"247464:11:22"},"nativeSrc":"247464:21:22","nodeType":"YulFunctionCall","src":"247464:21:22"},"nativeSrc":"247464:21:22","nodeType":"YulExpressionStatement","src":"247464:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247510:5:22","nodeType":"YulLiteral","src":"247510:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"247517:2:22","nodeType":"YulIdentifier","src":"247517:2:22"}],"functionName":{"name":"writeString","nativeSrc":"247498:11:22","nodeType":"YulIdentifier","src":"247498:11:22"},"nativeSrc":"247498:22:22","nodeType":"YulFunctionCall","src":"247498:22:22"},"nativeSrc":"247498:22:22","nodeType":"YulExpressionStatement","src":"247498:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39073,"isOffset":false,"isSlot":false,"src":"246875:2:22","valueSize":1},{"declaration":39076,"isOffset":false,"isSlot":false,"src":"246905:2:22","valueSize":1},{"declaration":39103,"isOffset":false,"isSlot":false,"src":"247177:3:22","valueSize":1},{"declaration":39079,"isOffset":false,"isSlot":false,"src":"246935:2:22","valueSize":1},{"declaration":39082,"isOffset":false,"isSlot":false,"src":"246965:2:22","valueSize":1},{"declaration":39085,"isOffset":false,"isSlot":false,"src":"246995:2:22","valueSize":1},{"declaration":39088,"isOffset":false,"isSlot":false,"src":"247025:2:22","valueSize":1},{"declaration":39091,"isOffset":false,"isSlot":false,"src":"247055:2:22","valueSize":1},{"declaration":39094,"isOffset":false,"isSlot":false,"src":"247085:2:22","valueSize":1},{"declaration":39097,"isOffset":false,"isSlot":false,"src":"247115:2:22","valueSize":1},{"declaration":39100,"isOffset":false,"isSlot":false,"src":"247146:2:22","valueSize":1},{"declaration":39063,"isOffset":false,"isSlot":false,"src":"247320:2:22","valueSize":1},{"declaration":39065,"isOffset":false,"isSlot":false,"src":"247448:2:22","valueSize":1},{"declaration":39067,"isOffset":false,"isSlot":false,"src":"247482:2:22","valueSize":1},{"declaration":39069,"isOffset":false,"isSlot":false,"src":"247517:2:22","valueSize":1}],"id":39105,"nodeType":"InlineAssembly","src":"246497:1033:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247555:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247561:5:22","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":39106,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"247539:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"247539:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39110,"nodeType":"ExpressionStatement","src":"247539:28:22"},{"AST":{"nativeSrc":"247629:334:22","nodeType":"YulBlock","src":"247629:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"247650:4:22","nodeType":"YulLiteral","src":"247650:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"247656:2:22","nodeType":"YulIdentifier","src":"247656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247643:6:22","nodeType":"YulIdentifier","src":"247643:6:22"},"nativeSrc":"247643:16:22","nodeType":"YulFunctionCall","src":"247643:16:22"},"nativeSrc":"247643:16:22","nodeType":"YulExpressionStatement","src":"247643:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247679:4:22","nodeType":"YulLiteral","src":"247679:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"247685:2:22","nodeType":"YulIdentifier","src":"247685:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247672:6:22","nodeType":"YulIdentifier","src":"247672:6:22"},"nativeSrc":"247672:16:22","nodeType":"YulFunctionCall","src":"247672:16:22"},"nativeSrc":"247672:16:22","nodeType":"YulExpressionStatement","src":"247672:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247708:4:22","nodeType":"YulLiteral","src":"247708:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"247714:2:22","nodeType":"YulIdentifier","src":"247714:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247701:6:22","nodeType":"YulIdentifier","src":"247701:6:22"},"nativeSrc":"247701:16:22","nodeType":"YulFunctionCall","src":"247701:16:22"},"nativeSrc":"247701:16:22","nodeType":"YulExpressionStatement","src":"247701:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247737:4:22","nodeType":"YulLiteral","src":"247737:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"247743:2:22","nodeType":"YulIdentifier","src":"247743:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247730:6:22","nodeType":"YulIdentifier","src":"247730:6:22"},"nativeSrc":"247730:16:22","nodeType":"YulFunctionCall","src":"247730:16:22"},"nativeSrc":"247730:16:22","nodeType":"YulExpressionStatement","src":"247730:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247766:4:22","nodeType":"YulLiteral","src":"247766:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"247772:2:22","nodeType":"YulIdentifier","src":"247772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247759:6:22","nodeType":"YulIdentifier","src":"247759:6:22"},"nativeSrc":"247759:16:22","nodeType":"YulFunctionCall","src":"247759:16:22"},"nativeSrc":"247759:16:22","nodeType":"YulExpressionStatement","src":"247759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247795:4:22","nodeType":"YulLiteral","src":"247795:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"247801:2:22","nodeType":"YulIdentifier","src":"247801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247788:6:22","nodeType":"YulIdentifier","src":"247788:6:22"},"nativeSrc":"247788:16:22","nodeType":"YulFunctionCall","src":"247788:16:22"},"nativeSrc":"247788:16:22","nodeType":"YulExpressionStatement","src":"247788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247824:4:22","nodeType":"YulLiteral","src":"247824:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"247830:2:22","nodeType":"YulIdentifier","src":"247830:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247817:6:22","nodeType":"YulIdentifier","src":"247817:6:22"},"nativeSrc":"247817:16:22","nodeType":"YulFunctionCall","src":"247817:16:22"},"nativeSrc":"247817:16:22","nodeType":"YulExpressionStatement","src":"247817:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247853:4:22","nodeType":"YulLiteral","src":"247853:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"247859:2:22","nodeType":"YulIdentifier","src":"247859:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247846:6:22","nodeType":"YulIdentifier","src":"247846:6:22"},"nativeSrc":"247846:16:22","nodeType":"YulFunctionCall","src":"247846:16:22"},"nativeSrc":"247846:16:22","nodeType":"YulExpressionStatement","src":"247846:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247882:5:22","nodeType":"YulLiteral","src":"247882:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"247889:2:22","nodeType":"YulIdentifier","src":"247889:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247875:6:22","nodeType":"YulIdentifier","src":"247875:6:22"},"nativeSrc":"247875:17:22","nodeType":"YulFunctionCall","src":"247875:17:22"},"nativeSrc":"247875:17:22","nodeType":"YulExpressionStatement","src":"247875:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247912:5:22","nodeType":"YulLiteral","src":"247912:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"247919:2:22","nodeType":"YulIdentifier","src":"247919:2:22"}],"functionName":{"name":"mstore","nativeSrc":"247905:6:22","nodeType":"YulIdentifier","src":"247905:6:22"},"nativeSrc":"247905:17:22","nodeType":"YulFunctionCall","src":"247905:17:22"},"nativeSrc":"247905:17:22","nodeType":"YulExpressionStatement","src":"247905:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247942:5:22","nodeType":"YulLiteral","src":"247942:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"247949:3:22","nodeType":"YulIdentifier","src":"247949:3:22"}],"functionName":{"name":"mstore","nativeSrc":"247935:6:22","nodeType":"YulIdentifier","src":"247935:6:22"},"nativeSrc":"247935:18:22","nodeType":"YulFunctionCall","src":"247935:18:22"},"nativeSrc":"247935:18:22","nodeType":"YulExpressionStatement","src":"247935:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39073,"isOffset":false,"isSlot":false,"src":"247656:2:22","valueSize":1},{"declaration":39076,"isOffset":false,"isSlot":false,"src":"247685:2:22","valueSize":1},{"declaration":39103,"isOffset":false,"isSlot":false,"src":"247949:3:22","valueSize":1},{"declaration":39079,"isOffset":false,"isSlot":false,"src":"247714:2:22","valueSize":1},{"declaration":39082,"isOffset":false,"isSlot":false,"src":"247743:2:22","valueSize":1},{"declaration":39085,"isOffset":false,"isSlot":false,"src":"247772:2:22","valueSize":1},{"declaration":39088,"isOffset":false,"isSlot":false,"src":"247801:2:22","valueSize":1},{"declaration":39091,"isOffset":false,"isSlot":false,"src":"247830:2:22","valueSize":1},{"declaration":39094,"isOffset":false,"isSlot":false,"src":"247859:2:22","valueSize":1},{"declaration":39097,"isOffset":false,"isSlot":false,"src":"247889:2:22","valueSize":1},{"declaration":39100,"isOffset":false,"isSlot":false,"src":"247919:2:22","valueSize":1}],"id":39111,"nodeType":"InlineAssembly","src":"247620:343:22"}]},"id":39113,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"246160:3:22","nodeType":"FunctionDefinition","parameters":{"id":39070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39063,"mutability":"mutable","name":"p0","nameLocation":"246169:2:22","nodeType":"VariableDeclaration","scope":39113,"src":"246164:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39062,"name":"bool","nodeType":"ElementaryTypeName","src":"246164:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39065,"mutability":"mutable","name":"p1","nameLocation":"246181:2:22","nodeType":"VariableDeclaration","scope":39113,"src":"246173:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246173:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39067,"mutability":"mutable","name":"p2","nameLocation":"246193:2:22","nodeType":"VariableDeclaration","scope":39113,"src":"246185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246185:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39069,"mutability":"mutable","name":"p3","nameLocation":"246205:2:22","nodeType":"VariableDeclaration","scope":39113,"src":"246197:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246197:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"246163:45:22"},"returnParameters":{"id":39071,"nodeType":"ParameterList","parameters":[],"src":"246223:0:22"},"scope":44426,"src":"246151:1818:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39146,"nodeType":"Block","src":"248050:803:22","statements":[{"assignments":[39125],"declarations":[{"constant":false,"id":39125,"mutability":"mutable","name":"m0","nameLocation":"248068:2:22","nodeType":"VariableDeclaration","scope":39146,"src":"248060:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248060:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39126,"nodeType":"VariableDeclarationStatement","src":"248060:10:22"},{"assignments":[39128],"declarations":[{"constant":false,"id":39128,"mutability":"mutable","name":"m1","nameLocation":"248088:2:22","nodeType":"VariableDeclaration","scope":39146,"src":"248080:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248080:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39129,"nodeType":"VariableDeclarationStatement","src":"248080:10:22"},{"assignments":[39131],"declarations":[{"constant":false,"id":39131,"mutability":"mutable","name":"m2","nameLocation":"248108:2:22","nodeType":"VariableDeclaration","scope":39146,"src":"248100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248100:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39132,"nodeType":"VariableDeclarationStatement","src":"248100:10:22"},{"assignments":[39134],"declarations":[{"constant":false,"id":39134,"mutability":"mutable","name":"m3","nameLocation":"248128:2:22","nodeType":"VariableDeclaration","scope":39146,"src":"248120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248120:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39135,"nodeType":"VariableDeclarationStatement","src":"248120:10:22"},{"assignments":[39137],"declarations":[{"constant":false,"id":39137,"mutability":"mutable","name":"m4","nameLocation":"248148:2:22","nodeType":"VariableDeclaration","scope":39146,"src":"248140:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248140:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39138,"nodeType":"VariableDeclarationStatement","src":"248140:10:22"},{"AST":{"nativeSrc":"248212:381:22","nodeType":"YulBlock","src":"248212:381:22","statements":[{"nativeSrc":"248226:17:22","nodeType":"YulAssignment","src":"248226:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"248238:4:22","nodeType":"YulLiteral","src":"248238:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"248232:5:22","nodeType":"YulIdentifier","src":"248232:5:22"},"nativeSrc":"248232:11:22","nodeType":"YulFunctionCall","src":"248232:11:22"},"variableNames":[{"name":"m0","nativeSrc":"248226:2:22","nodeType":"YulIdentifier","src":"248226:2:22"}]},{"nativeSrc":"248256:17:22","nodeType":"YulAssignment","src":"248256:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"248268:4:22","nodeType":"YulLiteral","src":"248268:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"248262:5:22","nodeType":"YulIdentifier","src":"248262:5:22"},"nativeSrc":"248262:11:22","nodeType":"YulFunctionCall","src":"248262:11:22"},"variableNames":[{"name":"m1","nativeSrc":"248256:2:22","nodeType":"YulIdentifier","src":"248256:2:22"}]},{"nativeSrc":"248286:17:22","nodeType":"YulAssignment","src":"248286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"248298:4:22","nodeType":"YulLiteral","src":"248298:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"248292:5:22","nodeType":"YulIdentifier","src":"248292:5:22"},"nativeSrc":"248292:11:22","nodeType":"YulFunctionCall","src":"248292:11:22"},"variableNames":[{"name":"m2","nativeSrc":"248286:2:22","nodeType":"YulIdentifier","src":"248286:2:22"}]},{"nativeSrc":"248316:17:22","nodeType":"YulAssignment","src":"248316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"248328:4:22","nodeType":"YulLiteral","src":"248328:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"248322:5:22","nodeType":"YulIdentifier","src":"248322:5:22"},"nativeSrc":"248322:11:22","nodeType":"YulFunctionCall","src":"248322:11:22"},"variableNames":[{"name":"m3","nativeSrc":"248316:2:22","nodeType":"YulIdentifier","src":"248316:2:22"}]},{"nativeSrc":"248346:17:22","nodeType":"YulAssignment","src":"248346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"248358:4:22","nodeType":"YulLiteral","src":"248358:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"248352:5:22","nodeType":"YulIdentifier","src":"248352:5:22"},"nativeSrc":"248352:11:22","nodeType":"YulFunctionCall","src":"248352:11:22"},"variableNames":[{"name":"m4","nativeSrc":"248346:2:22","nodeType":"YulIdentifier","src":"248346:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248450:4:22","nodeType":"YulLiteral","src":"248450:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"248456:10:22","nodeType":"YulLiteral","src":"248456:10:22","type":"","value":"0x2488b414"}],"functionName":{"name":"mstore","nativeSrc":"248443:6:22","nodeType":"YulIdentifier","src":"248443:6:22"},"nativeSrc":"248443:24:22","nodeType":"YulFunctionCall","src":"248443:24:22"},"nativeSrc":"248443:24:22","nodeType":"YulExpressionStatement","src":"248443:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248487:4:22","nodeType":"YulLiteral","src":"248487:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"248493:2:22","nodeType":"YulIdentifier","src":"248493:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248480:6:22","nodeType":"YulIdentifier","src":"248480:6:22"},"nativeSrc":"248480:16:22","nodeType":"YulFunctionCall","src":"248480:16:22"},"nativeSrc":"248480:16:22","nodeType":"YulExpressionStatement","src":"248480:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248516:4:22","nodeType":"YulLiteral","src":"248516:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"248522:2:22","nodeType":"YulIdentifier","src":"248522:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248509:6:22","nodeType":"YulIdentifier","src":"248509:6:22"},"nativeSrc":"248509:16:22","nodeType":"YulFunctionCall","src":"248509:16:22"},"nativeSrc":"248509:16:22","nodeType":"YulExpressionStatement","src":"248509:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248545:4:22","nodeType":"YulLiteral","src":"248545:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"248551:2:22","nodeType":"YulIdentifier","src":"248551:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248538:6:22","nodeType":"YulIdentifier","src":"248538:6:22"},"nativeSrc":"248538:16:22","nodeType":"YulFunctionCall","src":"248538:16:22"},"nativeSrc":"248538:16:22","nodeType":"YulExpressionStatement","src":"248538:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248574:4:22","nodeType":"YulLiteral","src":"248574:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"248580:2:22","nodeType":"YulIdentifier","src":"248580:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248567:6:22","nodeType":"YulIdentifier","src":"248567:6:22"},"nativeSrc":"248567:16:22","nodeType":"YulFunctionCall","src":"248567:16:22"},"nativeSrc":"248567:16:22","nodeType":"YulExpressionStatement","src":"248567:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39125,"isOffset":false,"isSlot":false,"src":"248226:2:22","valueSize":1},{"declaration":39128,"isOffset":false,"isSlot":false,"src":"248256:2:22","valueSize":1},{"declaration":39131,"isOffset":false,"isSlot":false,"src":"248286:2:22","valueSize":1},{"declaration":39134,"isOffset":false,"isSlot":false,"src":"248316:2:22","valueSize":1},{"declaration":39137,"isOffset":false,"isSlot":false,"src":"248346:2:22","valueSize":1},{"declaration":39115,"isOffset":false,"isSlot":false,"src":"248493:2:22","valueSize":1},{"declaration":39117,"isOffset":false,"isSlot":false,"src":"248522:2:22","valueSize":1},{"declaration":39119,"isOffset":false,"isSlot":false,"src":"248551:2:22","valueSize":1},{"declaration":39121,"isOffset":false,"isSlot":false,"src":"248580:2:22","valueSize":1}],"id":39139,"nodeType":"InlineAssembly","src":"248203:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248618:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248624:4:22","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":39140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"248602:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"248602:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39144,"nodeType":"ExpressionStatement","src":"248602:27:22"},{"AST":{"nativeSrc":"248691:156:22","nodeType":"YulBlock","src":"248691:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"248712:4:22","nodeType":"YulLiteral","src":"248712:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"248718:2:22","nodeType":"YulIdentifier","src":"248718:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248705:6:22","nodeType":"YulIdentifier","src":"248705:6:22"},"nativeSrc":"248705:16:22","nodeType":"YulFunctionCall","src":"248705:16:22"},"nativeSrc":"248705:16:22","nodeType":"YulExpressionStatement","src":"248705:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248741:4:22","nodeType":"YulLiteral","src":"248741:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"248747:2:22","nodeType":"YulIdentifier","src":"248747:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248734:6:22","nodeType":"YulIdentifier","src":"248734:6:22"},"nativeSrc":"248734:16:22","nodeType":"YulFunctionCall","src":"248734:16:22"},"nativeSrc":"248734:16:22","nodeType":"YulExpressionStatement","src":"248734:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248770:4:22","nodeType":"YulLiteral","src":"248770:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"248776:2:22","nodeType":"YulIdentifier","src":"248776:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248763:6:22","nodeType":"YulIdentifier","src":"248763:6:22"},"nativeSrc":"248763:16:22","nodeType":"YulFunctionCall","src":"248763:16:22"},"nativeSrc":"248763:16:22","nodeType":"YulExpressionStatement","src":"248763:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248799:4:22","nodeType":"YulLiteral","src":"248799:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"248805:2:22","nodeType":"YulIdentifier","src":"248805:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248792:6:22","nodeType":"YulIdentifier","src":"248792:6:22"},"nativeSrc":"248792:16:22","nodeType":"YulFunctionCall","src":"248792:16:22"},"nativeSrc":"248792:16:22","nodeType":"YulExpressionStatement","src":"248792:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248828:4:22","nodeType":"YulLiteral","src":"248828:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"248834:2:22","nodeType":"YulIdentifier","src":"248834:2:22"}],"functionName":{"name":"mstore","nativeSrc":"248821:6:22","nodeType":"YulIdentifier","src":"248821:6:22"},"nativeSrc":"248821:16:22","nodeType":"YulFunctionCall","src":"248821:16:22"},"nativeSrc":"248821:16:22","nodeType":"YulExpressionStatement","src":"248821:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39125,"isOffset":false,"isSlot":false,"src":"248718:2:22","valueSize":1},{"declaration":39128,"isOffset":false,"isSlot":false,"src":"248747:2:22","valueSize":1},{"declaration":39131,"isOffset":false,"isSlot":false,"src":"248776:2:22","valueSize":1},{"declaration":39134,"isOffset":false,"isSlot":false,"src":"248805:2:22","valueSize":1},{"declaration":39137,"isOffset":false,"isSlot":false,"src":"248834:2:22","valueSize":1}],"id":39145,"nodeType":"InlineAssembly","src":"248682:165:22"}]},"id":39147,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"247984:3:22","nodeType":"FunctionDefinition","parameters":{"id":39122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39115,"mutability":"mutable","name":"p0","nameLocation":"247996:2:22","nodeType":"VariableDeclaration","scope":39147,"src":"247988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39114,"name":"uint256","nodeType":"ElementaryTypeName","src":"247988:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39117,"mutability":"mutable","name":"p1","nameLocation":"248008:2:22","nodeType":"VariableDeclaration","scope":39147,"src":"248000:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39116,"name":"address","nodeType":"ElementaryTypeName","src":"248000:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39119,"mutability":"mutable","name":"p2","nameLocation":"248020:2:22","nodeType":"VariableDeclaration","scope":39147,"src":"248012:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39118,"name":"address","nodeType":"ElementaryTypeName","src":"248012:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39121,"mutability":"mutable","name":"p3","nameLocation":"248032:2:22","nodeType":"VariableDeclaration","scope":39147,"src":"248024:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39120,"name":"address","nodeType":"ElementaryTypeName","src":"248024:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"247987:48:22"},"returnParameters":{"id":39123,"nodeType":"ParameterList","parameters":[],"src":"248050:0:22"},"scope":44426,"src":"247975:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39180,"nodeType":"Block","src":"248931:800:22","statements":[{"assignments":[39159],"declarations":[{"constant":false,"id":39159,"mutability":"mutable","name":"m0","nameLocation":"248949:2:22","nodeType":"VariableDeclaration","scope":39180,"src":"248941:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248941:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39160,"nodeType":"VariableDeclarationStatement","src":"248941:10:22"},{"assignments":[39162],"declarations":[{"constant":false,"id":39162,"mutability":"mutable","name":"m1","nameLocation":"248969:2:22","nodeType":"VariableDeclaration","scope":39180,"src":"248961:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248961:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39163,"nodeType":"VariableDeclarationStatement","src":"248961:10:22"},{"assignments":[39165],"declarations":[{"constant":false,"id":39165,"mutability":"mutable","name":"m2","nameLocation":"248989:2:22","nodeType":"VariableDeclaration","scope":39180,"src":"248981:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248981:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39166,"nodeType":"VariableDeclarationStatement","src":"248981:10:22"},{"assignments":[39168],"declarations":[{"constant":false,"id":39168,"mutability":"mutable","name":"m3","nameLocation":"249009:2:22","nodeType":"VariableDeclaration","scope":39180,"src":"249001:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249001:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39169,"nodeType":"VariableDeclarationStatement","src":"249001:10:22"},{"assignments":[39171],"declarations":[{"constant":false,"id":39171,"mutability":"mutable","name":"m4","nameLocation":"249029:2:22","nodeType":"VariableDeclaration","scope":39180,"src":"249021:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249021:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39172,"nodeType":"VariableDeclarationStatement","src":"249021:10:22"},{"AST":{"nativeSrc":"249093:378:22","nodeType":"YulBlock","src":"249093:378:22","statements":[{"nativeSrc":"249107:17:22","nodeType":"YulAssignment","src":"249107:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"249119:4:22","nodeType":"YulLiteral","src":"249119:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249113:5:22","nodeType":"YulIdentifier","src":"249113:5:22"},"nativeSrc":"249113:11:22","nodeType":"YulFunctionCall","src":"249113:11:22"},"variableNames":[{"name":"m0","nativeSrc":"249107:2:22","nodeType":"YulIdentifier","src":"249107:2:22"}]},{"nativeSrc":"249137:17:22","nodeType":"YulAssignment","src":"249137:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"249149:4:22","nodeType":"YulLiteral","src":"249149:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"249143:5:22","nodeType":"YulIdentifier","src":"249143:5:22"},"nativeSrc":"249143:11:22","nodeType":"YulFunctionCall","src":"249143:11:22"},"variableNames":[{"name":"m1","nativeSrc":"249137:2:22","nodeType":"YulIdentifier","src":"249137:2:22"}]},{"nativeSrc":"249167:17:22","nodeType":"YulAssignment","src":"249167:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"249179:4:22","nodeType":"YulLiteral","src":"249179:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"249173:5:22","nodeType":"YulIdentifier","src":"249173:5:22"},"nativeSrc":"249173:11:22","nodeType":"YulFunctionCall","src":"249173:11:22"},"variableNames":[{"name":"m2","nativeSrc":"249167:2:22","nodeType":"YulIdentifier","src":"249167:2:22"}]},{"nativeSrc":"249197:17:22","nodeType":"YulAssignment","src":"249197:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"249209:4:22","nodeType":"YulLiteral","src":"249209:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"249203:5:22","nodeType":"YulIdentifier","src":"249203:5:22"},"nativeSrc":"249203:11:22","nodeType":"YulFunctionCall","src":"249203:11:22"},"variableNames":[{"name":"m3","nativeSrc":"249197:2:22","nodeType":"YulIdentifier","src":"249197:2:22"}]},{"nativeSrc":"249227:17:22","nodeType":"YulAssignment","src":"249227:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"249239:4:22","nodeType":"YulLiteral","src":"249239:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"249233:5:22","nodeType":"YulIdentifier","src":"249233:5:22"},"nativeSrc":"249233:11:22","nodeType":"YulFunctionCall","src":"249233:11:22"},"variableNames":[{"name":"m4","nativeSrc":"249227:2:22","nodeType":"YulIdentifier","src":"249227:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249328:4:22","nodeType":"YulLiteral","src":"249328:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"249334:10:22","nodeType":"YulLiteral","src":"249334:10:22","type":"","value":"0x091ffaf5"}],"functionName":{"name":"mstore","nativeSrc":"249321:6:22","nodeType":"YulIdentifier","src":"249321:6:22"},"nativeSrc":"249321:24:22","nodeType":"YulFunctionCall","src":"249321:24:22"},"nativeSrc":"249321:24:22","nodeType":"YulExpressionStatement","src":"249321:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249365:4:22","nodeType":"YulLiteral","src":"249365:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"249371:2:22","nodeType":"YulIdentifier","src":"249371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249358:6:22","nodeType":"YulIdentifier","src":"249358:6:22"},"nativeSrc":"249358:16:22","nodeType":"YulFunctionCall","src":"249358:16:22"},"nativeSrc":"249358:16:22","nodeType":"YulExpressionStatement","src":"249358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249394:4:22","nodeType":"YulLiteral","src":"249394:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"249400:2:22","nodeType":"YulIdentifier","src":"249400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249387:6:22","nodeType":"YulIdentifier","src":"249387:6:22"},"nativeSrc":"249387:16:22","nodeType":"YulFunctionCall","src":"249387:16:22"},"nativeSrc":"249387:16:22","nodeType":"YulExpressionStatement","src":"249387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249423:4:22","nodeType":"YulLiteral","src":"249423:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"249429:2:22","nodeType":"YulIdentifier","src":"249429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249416:6:22","nodeType":"YulIdentifier","src":"249416:6:22"},"nativeSrc":"249416:16:22","nodeType":"YulFunctionCall","src":"249416:16:22"},"nativeSrc":"249416:16:22","nodeType":"YulExpressionStatement","src":"249416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249452:4:22","nodeType":"YulLiteral","src":"249452:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"249458:2:22","nodeType":"YulIdentifier","src":"249458:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249445:6:22","nodeType":"YulIdentifier","src":"249445:6:22"},"nativeSrc":"249445:16:22","nodeType":"YulFunctionCall","src":"249445:16:22"},"nativeSrc":"249445:16:22","nodeType":"YulExpressionStatement","src":"249445:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39159,"isOffset":false,"isSlot":false,"src":"249107:2:22","valueSize":1},{"declaration":39162,"isOffset":false,"isSlot":false,"src":"249137:2:22","valueSize":1},{"declaration":39165,"isOffset":false,"isSlot":false,"src":"249167:2:22","valueSize":1},{"declaration":39168,"isOffset":false,"isSlot":false,"src":"249197:2:22","valueSize":1},{"declaration":39171,"isOffset":false,"isSlot":false,"src":"249227:2:22","valueSize":1},{"declaration":39149,"isOffset":false,"isSlot":false,"src":"249371:2:22","valueSize":1},{"declaration":39151,"isOffset":false,"isSlot":false,"src":"249400:2:22","valueSize":1},{"declaration":39153,"isOffset":false,"isSlot":false,"src":"249429:2:22","valueSize":1},{"declaration":39155,"isOffset":false,"isSlot":false,"src":"249458:2:22","valueSize":1}],"id":39173,"nodeType":"InlineAssembly","src":"249084:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249496:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249502:4:22","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":39174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"249480:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"249480:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39178,"nodeType":"ExpressionStatement","src":"249480:27:22"},{"AST":{"nativeSrc":"249569:156:22","nodeType":"YulBlock","src":"249569:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"249590:4:22","nodeType":"YulLiteral","src":"249590:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"249596:2:22","nodeType":"YulIdentifier","src":"249596:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249583:6:22","nodeType":"YulIdentifier","src":"249583:6:22"},"nativeSrc":"249583:16:22","nodeType":"YulFunctionCall","src":"249583:16:22"},"nativeSrc":"249583:16:22","nodeType":"YulExpressionStatement","src":"249583:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249619:4:22","nodeType":"YulLiteral","src":"249619:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"249625:2:22","nodeType":"YulIdentifier","src":"249625:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249612:6:22","nodeType":"YulIdentifier","src":"249612:6:22"},"nativeSrc":"249612:16:22","nodeType":"YulFunctionCall","src":"249612:16:22"},"nativeSrc":"249612:16:22","nodeType":"YulExpressionStatement","src":"249612:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249648:4:22","nodeType":"YulLiteral","src":"249648:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"249654:2:22","nodeType":"YulIdentifier","src":"249654:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249641:6:22","nodeType":"YulIdentifier","src":"249641:6:22"},"nativeSrc":"249641:16:22","nodeType":"YulFunctionCall","src":"249641:16:22"},"nativeSrc":"249641:16:22","nodeType":"YulExpressionStatement","src":"249641:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249677:4:22","nodeType":"YulLiteral","src":"249677:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"249683:2:22","nodeType":"YulIdentifier","src":"249683:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249670:6:22","nodeType":"YulIdentifier","src":"249670:6:22"},"nativeSrc":"249670:16:22","nodeType":"YulFunctionCall","src":"249670:16:22"},"nativeSrc":"249670:16:22","nodeType":"YulExpressionStatement","src":"249670:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249706:4:22","nodeType":"YulLiteral","src":"249706:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"249712:2:22","nodeType":"YulIdentifier","src":"249712:2:22"}],"functionName":{"name":"mstore","nativeSrc":"249699:6:22","nodeType":"YulIdentifier","src":"249699:6:22"},"nativeSrc":"249699:16:22","nodeType":"YulFunctionCall","src":"249699:16:22"},"nativeSrc":"249699:16:22","nodeType":"YulExpressionStatement","src":"249699:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39159,"isOffset":false,"isSlot":false,"src":"249596:2:22","valueSize":1},{"declaration":39162,"isOffset":false,"isSlot":false,"src":"249625:2:22","valueSize":1},{"declaration":39165,"isOffset":false,"isSlot":false,"src":"249654:2:22","valueSize":1},{"declaration":39168,"isOffset":false,"isSlot":false,"src":"249683:2:22","valueSize":1},{"declaration":39171,"isOffset":false,"isSlot":false,"src":"249712:2:22","valueSize":1}],"id":39179,"nodeType":"InlineAssembly","src":"249560:165:22"}]},"id":39181,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"248868:3:22","nodeType":"FunctionDefinition","parameters":{"id":39156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39149,"mutability":"mutable","name":"p0","nameLocation":"248880:2:22","nodeType":"VariableDeclaration","scope":39181,"src":"248872:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39148,"name":"uint256","nodeType":"ElementaryTypeName","src":"248872:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39151,"mutability":"mutable","name":"p1","nameLocation":"248892:2:22","nodeType":"VariableDeclaration","scope":39181,"src":"248884:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39150,"name":"address","nodeType":"ElementaryTypeName","src":"248884:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39153,"mutability":"mutable","name":"p2","nameLocation":"248904:2:22","nodeType":"VariableDeclaration","scope":39181,"src":"248896:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39152,"name":"address","nodeType":"ElementaryTypeName","src":"248896:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39155,"mutability":"mutable","name":"p3","nameLocation":"248913:2:22","nodeType":"VariableDeclaration","scope":39181,"src":"248908:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39154,"name":"bool","nodeType":"ElementaryTypeName","src":"248908:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"248871:45:22"},"returnParameters":{"id":39157,"nodeType":"ParameterList","parameters":[],"src":"248931:0:22"},"scope":44426,"src":"248859:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39214,"nodeType":"Block","src":"249812:803:22","statements":[{"assignments":[39193],"declarations":[{"constant":false,"id":39193,"mutability":"mutable","name":"m0","nameLocation":"249830:2:22","nodeType":"VariableDeclaration","scope":39214,"src":"249822:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249822:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39194,"nodeType":"VariableDeclarationStatement","src":"249822:10:22"},{"assignments":[39196],"declarations":[{"constant":false,"id":39196,"mutability":"mutable","name":"m1","nameLocation":"249850:2:22","nodeType":"VariableDeclaration","scope":39214,"src":"249842:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249842:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39197,"nodeType":"VariableDeclarationStatement","src":"249842:10:22"},{"assignments":[39199],"declarations":[{"constant":false,"id":39199,"mutability":"mutable","name":"m2","nameLocation":"249870:2:22","nodeType":"VariableDeclaration","scope":39214,"src":"249862:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249862:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39200,"nodeType":"VariableDeclarationStatement","src":"249862:10:22"},{"assignments":[39202],"declarations":[{"constant":false,"id":39202,"mutability":"mutable","name":"m3","nameLocation":"249890:2:22","nodeType":"VariableDeclaration","scope":39214,"src":"249882:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249882:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39203,"nodeType":"VariableDeclarationStatement","src":"249882:10:22"},{"assignments":[39205],"declarations":[{"constant":false,"id":39205,"mutability":"mutable","name":"m4","nameLocation":"249910:2:22","nodeType":"VariableDeclaration","scope":39214,"src":"249902:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249902:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39206,"nodeType":"VariableDeclarationStatement","src":"249902:10:22"},{"AST":{"nativeSrc":"249974:381:22","nodeType":"YulBlock","src":"249974:381:22","statements":[{"nativeSrc":"249988:17:22","nodeType":"YulAssignment","src":"249988:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"250000:4:22","nodeType":"YulLiteral","src":"250000:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249994:5:22","nodeType":"YulIdentifier","src":"249994:5:22"},"nativeSrc":"249994:11:22","nodeType":"YulFunctionCall","src":"249994:11:22"},"variableNames":[{"name":"m0","nativeSrc":"249988:2:22","nodeType":"YulIdentifier","src":"249988:2:22"}]},{"nativeSrc":"250018:17:22","nodeType":"YulAssignment","src":"250018:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"250030:4:22","nodeType":"YulLiteral","src":"250030:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"250024:5:22","nodeType":"YulIdentifier","src":"250024:5:22"},"nativeSrc":"250024:11:22","nodeType":"YulFunctionCall","src":"250024:11:22"},"variableNames":[{"name":"m1","nativeSrc":"250018:2:22","nodeType":"YulIdentifier","src":"250018:2:22"}]},{"nativeSrc":"250048:17:22","nodeType":"YulAssignment","src":"250048:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"250060:4:22","nodeType":"YulLiteral","src":"250060:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"250054:5:22","nodeType":"YulIdentifier","src":"250054:5:22"},"nativeSrc":"250054:11:22","nodeType":"YulFunctionCall","src":"250054:11:22"},"variableNames":[{"name":"m2","nativeSrc":"250048:2:22","nodeType":"YulIdentifier","src":"250048:2:22"}]},{"nativeSrc":"250078:17:22","nodeType":"YulAssignment","src":"250078:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"250090:4:22","nodeType":"YulLiteral","src":"250090:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"250084:5:22","nodeType":"YulIdentifier","src":"250084:5:22"},"nativeSrc":"250084:11:22","nodeType":"YulFunctionCall","src":"250084:11:22"},"variableNames":[{"name":"m3","nativeSrc":"250078:2:22","nodeType":"YulIdentifier","src":"250078:2:22"}]},{"nativeSrc":"250108:17:22","nodeType":"YulAssignment","src":"250108:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"250120:4:22","nodeType":"YulLiteral","src":"250120:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"250114:5:22","nodeType":"YulIdentifier","src":"250114:5:22"},"nativeSrc":"250114:11:22","nodeType":"YulFunctionCall","src":"250114:11:22"},"variableNames":[{"name":"m4","nativeSrc":"250108:2:22","nodeType":"YulIdentifier","src":"250108:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250212:4:22","nodeType":"YulLiteral","src":"250212:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"250218:10:22","nodeType":"YulLiteral","src":"250218:10:22","type":"","value":"0x736efbb6"}],"functionName":{"name":"mstore","nativeSrc":"250205:6:22","nodeType":"YulIdentifier","src":"250205:6:22"},"nativeSrc":"250205:24:22","nodeType":"YulFunctionCall","src":"250205:24:22"},"nativeSrc":"250205:24:22","nodeType":"YulExpressionStatement","src":"250205:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250249:4:22","nodeType":"YulLiteral","src":"250249:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"250255:2:22","nodeType":"YulIdentifier","src":"250255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250242:6:22","nodeType":"YulIdentifier","src":"250242:6:22"},"nativeSrc":"250242:16:22","nodeType":"YulFunctionCall","src":"250242:16:22"},"nativeSrc":"250242:16:22","nodeType":"YulExpressionStatement","src":"250242:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250278:4:22","nodeType":"YulLiteral","src":"250278:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"250284:2:22","nodeType":"YulIdentifier","src":"250284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250271:6:22","nodeType":"YulIdentifier","src":"250271:6:22"},"nativeSrc":"250271:16:22","nodeType":"YulFunctionCall","src":"250271:16:22"},"nativeSrc":"250271:16:22","nodeType":"YulExpressionStatement","src":"250271:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250307:4:22","nodeType":"YulLiteral","src":"250307:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"250313:2:22","nodeType":"YulIdentifier","src":"250313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250300:6:22","nodeType":"YulIdentifier","src":"250300:6:22"},"nativeSrc":"250300:16:22","nodeType":"YulFunctionCall","src":"250300:16:22"},"nativeSrc":"250300:16:22","nodeType":"YulExpressionStatement","src":"250300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250336:4:22","nodeType":"YulLiteral","src":"250336:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"250342:2:22","nodeType":"YulIdentifier","src":"250342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250329:6:22","nodeType":"YulIdentifier","src":"250329:6:22"},"nativeSrc":"250329:16:22","nodeType":"YulFunctionCall","src":"250329:16:22"},"nativeSrc":"250329:16:22","nodeType":"YulExpressionStatement","src":"250329:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39193,"isOffset":false,"isSlot":false,"src":"249988:2:22","valueSize":1},{"declaration":39196,"isOffset":false,"isSlot":false,"src":"250018:2:22","valueSize":1},{"declaration":39199,"isOffset":false,"isSlot":false,"src":"250048:2:22","valueSize":1},{"declaration":39202,"isOffset":false,"isSlot":false,"src":"250078:2:22","valueSize":1},{"declaration":39205,"isOffset":false,"isSlot":false,"src":"250108:2:22","valueSize":1},{"declaration":39183,"isOffset":false,"isSlot":false,"src":"250255:2:22","valueSize":1},{"declaration":39185,"isOffset":false,"isSlot":false,"src":"250284:2:22","valueSize":1},{"declaration":39187,"isOffset":false,"isSlot":false,"src":"250313:2:22","valueSize":1},{"declaration":39189,"isOffset":false,"isSlot":false,"src":"250342:2:22","valueSize":1}],"id":39207,"nodeType":"InlineAssembly","src":"249965:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250380:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250386:4:22","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":39208,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"250364:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"250364:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39212,"nodeType":"ExpressionStatement","src":"250364:27:22"},{"AST":{"nativeSrc":"250453:156:22","nodeType":"YulBlock","src":"250453:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"250474:4:22","nodeType":"YulLiteral","src":"250474:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"250480:2:22","nodeType":"YulIdentifier","src":"250480:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250467:6:22","nodeType":"YulIdentifier","src":"250467:6:22"},"nativeSrc":"250467:16:22","nodeType":"YulFunctionCall","src":"250467:16:22"},"nativeSrc":"250467:16:22","nodeType":"YulExpressionStatement","src":"250467:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250503:4:22","nodeType":"YulLiteral","src":"250503:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"250509:2:22","nodeType":"YulIdentifier","src":"250509:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250496:6:22","nodeType":"YulIdentifier","src":"250496:6:22"},"nativeSrc":"250496:16:22","nodeType":"YulFunctionCall","src":"250496:16:22"},"nativeSrc":"250496:16:22","nodeType":"YulExpressionStatement","src":"250496:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250532:4:22","nodeType":"YulLiteral","src":"250532:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"250538:2:22","nodeType":"YulIdentifier","src":"250538:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250525:6:22","nodeType":"YulIdentifier","src":"250525:6:22"},"nativeSrc":"250525:16:22","nodeType":"YulFunctionCall","src":"250525:16:22"},"nativeSrc":"250525:16:22","nodeType":"YulExpressionStatement","src":"250525:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250561:4:22","nodeType":"YulLiteral","src":"250561:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"250567:2:22","nodeType":"YulIdentifier","src":"250567:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250554:6:22","nodeType":"YulIdentifier","src":"250554:6:22"},"nativeSrc":"250554:16:22","nodeType":"YulFunctionCall","src":"250554:16:22"},"nativeSrc":"250554:16:22","nodeType":"YulExpressionStatement","src":"250554:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250590:4:22","nodeType":"YulLiteral","src":"250590:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"250596:2:22","nodeType":"YulIdentifier","src":"250596:2:22"}],"functionName":{"name":"mstore","nativeSrc":"250583:6:22","nodeType":"YulIdentifier","src":"250583:6:22"},"nativeSrc":"250583:16:22","nodeType":"YulFunctionCall","src":"250583:16:22"},"nativeSrc":"250583:16:22","nodeType":"YulExpressionStatement","src":"250583:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39193,"isOffset":false,"isSlot":false,"src":"250480:2:22","valueSize":1},{"declaration":39196,"isOffset":false,"isSlot":false,"src":"250509:2:22","valueSize":1},{"declaration":39199,"isOffset":false,"isSlot":false,"src":"250538:2:22","valueSize":1},{"declaration":39202,"isOffset":false,"isSlot":false,"src":"250567:2:22","valueSize":1},{"declaration":39205,"isOffset":false,"isSlot":false,"src":"250596:2:22","valueSize":1}],"id":39213,"nodeType":"InlineAssembly","src":"250444:165:22"}]},"id":39215,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"249746:3:22","nodeType":"FunctionDefinition","parameters":{"id":39190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39183,"mutability":"mutable","name":"p0","nameLocation":"249758:2:22","nodeType":"VariableDeclaration","scope":39215,"src":"249750:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39182,"name":"uint256","nodeType":"ElementaryTypeName","src":"249750:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39185,"mutability":"mutable","name":"p1","nameLocation":"249770:2:22","nodeType":"VariableDeclaration","scope":39215,"src":"249762:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39184,"name":"address","nodeType":"ElementaryTypeName","src":"249762:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39187,"mutability":"mutable","name":"p2","nameLocation":"249782:2:22","nodeType":"VariableDeclaration","scope":39215,"src":"249774:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39186,"name":"address","nodeType":"ElementaryTypeName","src":"249774:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39189,"mutability":"mutable","name":"p3","nameLocation":"249794:2:22","nodeType":"VariableDeclaration","scope":39215,"src":"249786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39188,"name":"uint256","nodeType":"ElementaryTypeName","src":"249786:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"249749:48:22"},"returnParameters":{"id":39191,"nodeType":"ParameterList","parameters":[],"src":"249812:0:22"},"scope":44426,"src":"249737:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39254,"nodeType":"Block","src":"250696:1351:22","statements":[{"assignments":[39227],"declarations":[{"constant":false,"id":39227,"mutability":"mutable","name":"m0","nameLocation":"250714:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250706:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39228,"nodeType":"VariableDeclarationStatement","src":"250706:10:22"},{"assignments":[39230],"declarations":[{"constant":false,"id":39230,"mutability":"mutable","name":"m1","nameLocation":"250734:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250726:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39231,"nodeType":"VariableDeclarationStatement","src":"250726:10:22"},{"assignments":[39233],"declarations":[{"constant":false,"id":39233,"mutability":"mutable","name":"m2","nameLocation":"250754:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250746:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250746:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39234,"nodeType":"VariableDeclarationStatement","src":"250746:10:22"},{"assignments":[39236],"declarations":[{"constant":false,"id":39236,"mutability":"mutable","name":"m3","nameLocation":"250774:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39237,"nodeType":"VariableDeclarationStatement","src":"250766:10:22"},{"assignments":[39239],"declarations":[{"constant":false,"id":39239,"mutability":"mutable","name":"m4","nameLocation":"250794:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39240,"nodeType":"VariableDeclarationStatement","src":"250786:10:22"},{"assignments":[39242],"declarations":[{"constant":false,"id":39242,"mutability":"mutable","name":"m5","nameLocation":"250814:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39243,"nodeType":"VariableDeclarationStatement","src":"250806:10:22"},{"assignments":[39245],"declarations":[{"constant":false,"id":39245,"mutability":"mutable","name":"m6","nameLocation":"250834:2:22","nodeType":"VariableDeclaration","scope":39254,"src":"250826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250826:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39246,"nodeType":"VariableDeclarationStatement","src":"250826:10:22"},{"AST":{"nativeSrc":"250898:831:22","nodeType":"YulBlock","src":"250898:831:22","statements":[{"body":{"nativeSrc":"250941:313:22","nodeType":"YulBlock","src":"250941:313:22","statements":[{"nativeSrc":"250959:15:22","nodeType":"YulVariableDeclaration","src":"250959:15:22","value":{"kind":"number","nativeSrc":"250973:1:22","nodeType":"YulLiteral","src":"250973:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"250963:6:22","nodeType":"YulTypedName","src":"250963:6:22","type":""}]},{"body":{"nativeSrc":"251044:40:22","nodeType":"YulBlock","src":"251044:40:22","statements":[{"body":{"nativeSrc":"251073:9:22","nodeType":"YulBlock","src":"251073:9:22","statements":[{"nativeSrc":"251075:5:22","nodeType":"YulBreak","src":"251075:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"251061:6:22","nodeType":"YulIdentifier","src":"251061:6:22"},{"name":"w","nativeSrc":"251069:1:22","nodeType":"YulIdentifier","src":"251069:1:22"}],"functionName":{"name":"byte","nativeSrc":"251056:4:22","nodeType":"YulIdentifier","src":"251056:4:22"},"nativeSrc":"251056:15:22","nodeType":"YulFunctionCall","src":"251056:15:22"}],"functionName":{"name":"iszero","nativeSrc":"251049:6:22","nodeType":"YulIdentifier","src":"251049:6:22"},"nativeSrc":"251049:23:22","nodeType":"YulFunctionCall","src":"251049:23:22"},"nativeSrc":"251046:36:22","nodeType":"YulIf","src":"251046:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"251001:6:22","nodeType":"YulIdentifier","src":"251001:6:22"},{"kind":"number","nativeSrc":"251009:4:22","nodeType":"YulLiteral","src":"251009:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"250998:2:22","nodeType":"YulIdentifier","src":"250998:2:22"},"nativeSrc":"250998:16:22","nodeType":"YulFunctionCall","src":"250998:16:22"},"nativeSrc":"250991:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"251015:28:22","nodeType":"YulBlock","src":"251015:28:22","statements":[{"nativeSrc":"251017:24:22","nodeType":"YulAssignment","src":"251017:24:22","value":{"arguments":[{"name":"length","nativeSrc":"251031:6:22","nodeType":"YulIdentifier","src":"251031:6:22"},{"kind":"number","nativeSrc":"251039:1:22","nodeType":"YulLiteral","src":"251039:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"251027:3:22","nodeType":"YulIdentifier","src":"251027:3:22"},"nativeSrc":"251027:14:22","nodeType":"YulFunctionCall","src":"251027:14:22"},"variableNames":[{"name":"length","nativeSrc":"251017:6:22","nodeType":"YulIdentifier","src":"251017:6:22"}]}]},"pre":{"nativeSrc":"250995:2:22","nodeType":"YulBlock","src":"250995:2:22","statements":[]},"src":"250991:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"251108:3:22","nodeType":"YulIdentifier","src":"251108:3:22"},{"name":"length","nativeSrc":"251113:6:22","nodeType":"YulIdentifier","src":"251113:6:22"}],"functionName":{"name":"mstore","nativeSrc":"251101:6:22","nodeType":"YulIdentifier","src":"251101:6:22"},"nativeSrc":"251101:19:22","nodeType":"YulFunctionCall","src":"251101:19:22"},"nativeSrc":"251101:19:22","nodeType":"YulExpressionStatement","src":"251101:19:22"},{"nativeSrc":"251137:37:22","nodeType":"YulVariableDeclaration","src":"251137:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"251154:3:22","nodeType":"YulLiteral","src":"251154:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"251163:1:22","nodeType":"YulLiteral","src":"251163:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"251166:6:22","nodeType":"YulIdentifier","src":"251166:6:22"}],"functionName":{"name":"shl","nativeSrc":"251159:3:22","nodeType":"YulIdentifier","src":"251159:3:22"},"nativeSrc":"251159:14:22","nodeType":"YulFunctionCall","src":"251159:14:22"}],"functionName":{"name":"sub","nativeSrc":"251150:3:22","nodeType":"YulIdentifier","src":"251150:3:22"},"nativeSrc":"251150:24:22","nodeType":"YulFunctionCall","src":"251150:24:22"},"variables":[{"name":"shift","nativeSrc":"251141:5:22","nodeType":"YulTypedName","src":"251141:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"251202:3:22","nodeType":"YulIdentifier","src":"251202:3:22"},{"kind":"number","nativeSrc":"251207:4:22","nodeType":"YulLiteral","src":"251207:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"251198:3:22","nodeType":"YulIdentifier","src":"251198:3:22"},"nativeSrc":"251198:14:22","nodeType":"YulFunctionCall","src":"251198:14:22"},{"arguments":[{"name":"shift","nativeSrc":"251218:5:22","nodeType":"YulIdentifier","src":"251218:5:22"},{"arguments":[{"name":"shift","nativeSrc":"251229:5:22","nodeType":"YulIdentifier","src":"251229:5:22"},{"name":"w","nativeSrc":"251236:1:22","nodeType":"YulIdentifier","src":"251236:1:22"}],"functionName":{"name":"shr","nativeSrc":"251225:3:22","nodeType":"YulIdentifier","src":"251225:3:22"},"nativeSrc":"251225:13:22","nodeType":"YulFunctionCall","src":"251225:13:22"}],"functionName":{"name":"shl","nativeSrc":"251214:3:22","nodeType":"YulIdentifier","src":"251214:3:22"},"nativeSrc":"251214:25:22","nodeType":"YulFunctionCall","src":"251214:25:22"}],"functionName":{"name":"mstore","nativeSrc":"251191:6:22","nodeType":"YulIdentifier","src":"251191:6:22"},"nativeSrc":"251191:49:22","nodeType":"YulFunctionCall","src":"251191:49:22"},"nativeSrc":"251191:49:22","nodeType":"YulExpressionStatement","src":"251191:49:22"}]},"name":"writeString","nativeSrc":"250912:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"250933:3:22","nodeType":"YulTypedName","src":"250933:3:22","type":""},{"name":"w","nativeSrc":"250938:1:22","nodeType":"YulTypedName","src":"250938:1:22","type":""}],"src":"250912:342:22"},{"nativeSrc":"251267:17:22","nodeType":"YulAssignment","src":"251267:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251279:4:22","nodeType":"YulLiteral","src":"251279:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"251273:5:22","nodeType":"YulIdentifier","src":"251273:5:22"},"nativeSrc":"251273:11:22","nodeType":"YulFunctionCall","src":"251273:11:22"},"variableNames":[{"name":"m0","nativeSrc":"251267:2:22","nodeType":"YulIdentifier","src":"251267:2:22"}]},{"nativeSrc":"251297:17:22","nodeType":"YulAssignment","src":"251297:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251309:4:22","nodeType":"YulLiteral","src":"251309:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"251303:5:22","nodeType":"YulIdentifier","src":"251303:5:22"},"nativeSrc":"251303:11:22","nodeType":"YulFunctionCall","src":"251303:11:22"},"variableNames":[{"name":"m1","nativeSrc":"251297:2:22","nodeType":"YulIdentifier","src":"251297:2:22"}]},{"nativeSrc":"251327:17:22","nodeType":"YulAssignment","src":"251327:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251339:4:22","nodeType":"YulLiteral","src":"251339:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"251333:5:22","nodeType":"YulIdentifier","src":"251333:5:22"},"nativeSrc":"251333:11:22","nodeType":"YulFunctionCall","src":"251333:11:22"},"variableNames":[{"name":"m2","nativeSrc":"251327:2:22","nodeType":"YulIdentifier","src":"251327:2:22"}]},{"nativeSrc":"251357:17:22","nodeType":"YulAssignment","src":"251357:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251369:4:22","nodeType":"YulLiteral","src":"251369:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"251363:5:22","nodeType":"YulIdentifier","src":"251363:5:22"},"nativeSrc":"251363:11:22","nodeType":"YulFunctionCall","src":"251363:11:22"},"variableNames":[{"name":"m3","nativeSrc":"251357:2:22","nodeType":"YulIdentifier","src":"251357:2:22"}]},{"nativeSrc":"251387:17:22","nodeType":"YulAssignment","src":"251387:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251399:4:22","nodeType":"YulLiteral","src":"251399:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"251393:5:22","nodeType":"YulIdentifier","src":"251393:5:22"},"nativeSrc":"251393:11:22","nodeType":"YulFunctionCall","src":"251393:11:22"},"variableNames":[{"name":"m4","nativeSrc":"251387:2:22","nodeType":"YulIdentifier","src":"251387:2:22"}]},{"nativeSrc":"251417:17:22","nodeType":"YulAssignment","src":"251417:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251429:4:22","nodeType":"YulLiteral","src":"251429:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"251423:5:22","nodeType":"YulIdentifier","src":"251423:5:22"},"nativeSrc":"251423:11:22","nodeType":"YulFunctionCall","src":"251423:11:22"},"variableNames":[{"name":"m5","nativeSrc":"251417:2:22","nodeType":"YulIdentifier","src":"251417:2:22"}]},{"nativeSrc":"251447:17:22","nodeType":"YulAssignment","src":"251447:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"251459:4:22","nodeType":"YulLiteral","src":"251459:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"251453:5:22","nodeType":"YulIdentifier","src":"251453:5:22"},"nativeSrc":"251453:11:22","nodeType":"YulFunctionCall","src":"251453:11:22"},"variableNames":[{"name":"m6","nativeSrc":"251447:2:22","nodeType":"YulIdentifier","src":"251447:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251550:4:22","nodeType":"YulLiteral","src":"251550:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"251556:10:22","nodeType":"YulLiteral","src":"251556:10:22","type":"","value":"0x031c6f73"}],"functionName":{"name":"mstore","nativeSrc":"251543:6:22","nodeType":"YulIdentifier","src":"251543:6:22"},"nativeSrc":"251543:24:22","nodeType":"YulFunctionCall","src":"251543:24:22"},"nativeSrc":"251543:24:22","nodeType":"YulExpressionStatement","src":"251543:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251587:4:22","nodeType":"YulLiteral","src":"251587:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"251593:2:22","nodeType":"YulIdentifier","src":"251593:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251580:6:22","nodeType":"YulIdentifier","src":"251580:6:22"},"nativeSrc":"251580:16:22","nodeType":"YulFunctionCall","src":"251580:16:22"},"nativeSrc":"251580:16:22","nodeType":"YulExpressionStatement","src":"251580:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251616:4:22","nodeType":"YulLiteral","src":"251616:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"251622:2:22","nodeType":"YulIdentifier","src":"251622:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251609:6:22","nodeType":"YulIdentifier","src":"251609:6:22"},"nativeSrc":"251609:16:22","nodeType":"YulFunctionCall","src":"251609:16:22"},"nativeSrc":"251609:16:22","nodeType":"YulExpressionStatement","src":"251609:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251645:4:22","nodeType":"YulLiteral","src":"251645:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"251651:2:22","nodeType":"YulIdentifier","src":"251651:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251638:6:22","nodeType":"YulIdentifier","src":"251638:6:22"},"nativeSrc":"251638:16:22","nodeType":"YulFunctionCall","src":"251638:16:22"},"nativeSrc":"251638:16:22","nodeType":"YulExpressionStatement","src":"251638:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251674:4:22","nodeType":"YulLiteral","src":"251674:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"251680:4:22","nodeType":"YulLiteral","src":"251680:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"251667:6:22","nodeType":"YulIdentifier","src":"251667:6:22"},"nativeSrc":"251667:18:22","nodeType":"YulFunctionCall","src":"251667:18:22"},"nativeSrc":"251667:18:22","nodeType":"YulExpressionStatement","src":"251667:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251710:4:22","nodeType":"YulLiteral","src":"251710:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"251716:2:22","nodeType":"YulIdentifier","src":"251716:2:22"}],"functionName":{"name":"writeString","nativeSrc":"251698:11:22","nodeType":"YulIdentifier","src":"251698:11:22"},"nativeSrc":"251698:21:22","nodeType":"YulFunctionCall","src":"251698:21:22"},"nativeSrc":"251698:21:22","nodeType":"YulExpressionStatement","src":"251698:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39227,"isOffset":false,"isSlot":false,"src":"251267:2:22","valueSize":1},{"declaration":39230,"isOffset":false,"isSlot":false,"src":"251297:2:22","valueSize":1},{"declaration":39233,"isOffset":false,"isSlot":false,"src":"251327:2:22","valueSize":1},{"declaration":39236,"isOffset":false,"isSlot":false,"src":"251357:2:22","valueSize":1},{"declaration":39239,"isOffset":false,"isSlot":false,"src":"251387:2:22","valueSize":1},{"declaration":39242,"isOffset":false,"isSlot":false,"src":"251417:2:22","valueSize":1},{"declaration":39245,"isOffset":false,"isSlot":false,"src":"251447:2:22","valueSize":1},{"declaration":39217,"isOffset":false,"isSlot":false,"src":"251593:2:22","valueSize":1},{"declaration":39219,"isOffset":false,"isSlot":false,"src":"251622:2:22","valueSize":1},{"declaration":39221,"isOffset":false,"isSlot":false,"src":"251651:2:22","valueSize":1},{"declaration":39223,"isOffset":false,"isSlot":false,"src":"251716:2:22","valueSize":1}],"id":39247,"nodeType":"InlineAssembly","src":"250889:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251754:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251760:4:22","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":39248,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"251738:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"251738:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39252,"nodeType":"ExpressionStatement","src":"251738:27:22"},{"AST":{"nativeSrc":"251827:214:22","nodeType":"YulBlock","src":"251827:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"251848:4:22","nodeType":"YulLiteral","src":"251848:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"251854:2:22","nodeType":"YulIdentifier","src":"251854:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251841:6:22","nodeType":"YulIdentifier","src":"251841:6:22"},"nativeSrc":"251841:16:22","nodeType":"YulFunctionCall","src":"251841:16:22"},"nativeSrc":"251841:16:22","nodeType":"YulExpressionStatement","src":"251841:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251877:4:22","nodeType":"YulLiteral","src":"251877:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"251883:2:22","nodeType":"YulIdentifier","src":"251883:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251870:6:22","nodeType":"YulIdentifier","src":"251870:6:22"},"nativeSrc":"251870:16:22","nodeType":"YulFunctionCall","src":"251870:16:22"},"nativeSrc":"251870:16:22","nodeType":"YulExpressionStatement","src":"251870:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251906:4:22","nodeType":"YulLiteral","src":"251906:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"251912:2:22","nodeType":"YulIdentifier","src":"251912:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251899:6:22","nodeType":"YulIdentifier","src":"251899:6:22"},"nativeSrc":"251899:16:22","nodeType":"YulFunctionCall","src":"251899:16:22"},"nativeSrc":"251899:16:22","nodeType":"YulExpressionStatement","src":"251899:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251935:4:22","nodeType":"YulLiteral","src":"251935:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"251941:2:22","nodeType":"YulIdentifier","src":"251941:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251928:6:22","nodeType":"YulIdentifier","src":"251928:6:22"},"nativeSrc":"251928:16:22","nodeType":"YulFunctionCall","src":"251928:16:22"},"nativeSrc":"251928:16:22","nodeType":"YulExpressionStatement","src":"251928:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251964:4:22","nodeType":"YulLiteral","src":"251964:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"251970:2:22","nodeType":"YulIdentifier","src":"251970:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251957:6:22","nodeType":"YulIdentifier","src":"251957:6:22"},"nativeSrc":"251957:16:22","nodeType":"YulFunctionCall","src":"251957:16:22"},"nativeSrc":"251957:16:22","nodeType":"YulExpressionStatement","src":"251957:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251993:4:22","nodeType":"YulLiteral","src":"251993:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"251999:2:22","nodeType":"YulIdentifier","src":"251999:2:22"}],"functionName":{"name":"mstore","nativeSrc":"251986:6:22","nodeType":"YulIdentifier","src":"251986:6:22"},"nativeSrc":"251986:16:22","nodeType":"YulFunctionCall","src":"251986:16:22"},"nativeSrc":"251986:16:22","nodeType":"YulExpressionStatement","src":"251986:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252022:4:22","nodeType":"YulLiteral","src":"252022:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"252028:2:22","nodeType":"YulIdentifier","src":"252028:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252015:6:22","nodeType":"YulIdentifier","src":"252015:6:22"},"nativeSrc":"252015:16:22","nodeType":"YulFunctionCall","src":"252015:16:22"},"nativeSrc":"252015:16:22","nodeType":"YulExpressionStatement","src":"252015:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39227,"isOffset":false,"isSlot":false,"src":"251854:2:22","valueSize":1},{"declaration":39230,"isOffset":false,"isSlot":false,"src":"251883:2:22","valueSize":1},{"declaration":39233,"isOffset":false,"isSlot":false,"src":"251912:2:22","valueSize":1},{"declaration":39236,"isOffset":false,"isSlot":false,"src":"251941:2:22","valueSize":1},{"declaration":39239,"isOffset":false,"isSlot":false,"src":"251970:2:22","valueSize":1},{"declaration":39242,"isOffset":false,"isSlot":false,"src":"251999:2:22","valueSize":1},{"declaration":39245,"isOffset":false,"isSlot":false,"src":"252028:2:22","valueSize":1}],"id":39253,"nodeType":"InlineAssembly","src":"251818:223:22"}]},"id":39255,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"250630:3:22","nodeType":"FunctionDefinition","parameters":{"id":39224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39217,"mutability":"mutable","name":"p0","nameLocation":"250642:2:22","nodeType":"VariableDeclaration","scope":39255,"src":"250634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39216,"name":"uint256","nodeType":"ElementaryTypeName","src":"250634:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39219,"mutability":"mutable","name":"p1","nameLocation":"250654:2:22","nodeType":"VariableDeclaration","scope":39255,"src":"250646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39218,"name":"address","nodeType":"ElementaryTypeName","src":"250646:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39221,"mutability":"mutable","name":"p2","nameLocation":"250666:2:22","nodeType":"VariableDeclaration","scope":39255,"src":"250658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39220,"name":"address","nodeType":"ElementaryTypeName","src":"250658:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39223,"mutability":"mutable","name":"p3","nameLocation":"250678:2:22","nodeType":"VariableDeclaration","scope":39255,"src":"250670:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250670:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"250633:48:22"},"returnParameters":{"id":39225,"nodeType":"ParameterList","parameters":[],"src":"250696:0:22"},"scope":44426,"src":"250621:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39288,"nodeType":"Block","src":"252125:800:22","statements":[{"assignments":[39267],"declarations":[{"constant":false,"id":39267,"mutability":"mutable","name":"m0","nameLocation":"252143:2:22","nodeType":"VariableDeclaration","scope":39288,"src":"252135:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252135:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39268,"nodeType":"VariableDeclarationStatement","src":"252135:10:22"},{"assignments":[39270],"declarations":[{"constant":false,"id":39270,"mutability":"mutable","name":"m1","nameLocation":"252163:2:22","nodeType":"VariableDeclaration","scope":39288,"src":"252155:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252155:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39271,"nodeType":"VariableDeclarationStatement","src":"252155:10:22"},{"assignments":[39273],"declarations":[{"constant":false,"id":39273,"mutability":"mutable","name":"m2","nameLocation":"252183:2:22","nodeType":"VariableDeclaration","scope":39288,"src":"252175:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252175:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39274,"nodeType":"VariableDeclarationStatement","src":"252175:10:22"},{"assignments":[39276],"declarations":[{"constant":false,"id":39276,"mutability":"mutable","name":"m3","nameLocation":"252203:2:22","nodeType":"VariableDeclaration","scope":39288,"src":"252195:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252195:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39277,"nodeType":"VariableDeclarationStatement","src":"252195:10:22"},{"assignments":[39279],"declarations":[{"constant":false,"id":39279,"mutability":"mutable","name":"m4","nameLocation":"252223:2:22","nodeType":"VariableDeclaration","scope":39288,"src":"252215:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252215:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39280,"nodeType":"VariableDeclarationStatement","src":"252215:10:22"},{"AST":{"nativeSrc":"252287:378:22","nodeType":"YulBlock","src":"252287:378:22","statements":[{"nativeSrc":"252301:17:22","nodeType":"YulAssignment","src":"252301:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"252313:4:22","nodeType":"YulLiteral","src":"252313:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"252307:5:22","nodeType":"YulIdentifier","src":"252307:5:22"},"nativeSrc":"252307:11:22","nodeType":"YulFunctionCall","src":"252307:11:22"},"variableNames":[{"name":"m0","nativeSrc":"252301:2:22","nodeType":"YulIdentifier","src":"252301:2:22"}]},{"nativeSrc":"252331:17:22","nodeType":"YulAssignment","src":"252331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"252343:4:22","nodeType":"YulLiteral","src":"252343:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"252337:5:22","nodeType":"YulIdentifier","src":"252337:5:22"},"nativeSrc":"252337:11:22","nodeType":"YulFunctionCall","src":"252337:11:22"},"variableNames":[{"name":"m1","nativeSrc":"252331:2:22","nodeType":"YulIdentifier","src":"252331:2:22"}]},{"nativeSrc":"252361:17:22","nodeType":"YulAssignment","src":"252361:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"252373:4:22","nodeType":"YulLiteral","src":"252373:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"252367:5:22","nodeType":"YulIdentifier","src":"252367:5:22"},"nativeSrc":"252367:11:22","nodeType":"YulFunctionCall","src":"252367:11:22"},"variableNames":[{"name":"m2","nativeSrc":"252361:2:22","nodeType":"YulIdentifier","src":"252361:2:22"}]},{"nativeSrc":"252391:17:22","nodeType":"YulAssignment","src":"252391:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"252403:4:22","nodeType":"YulLiteral","src":"252403:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"252397:5:22","nodeType":"YulIdentifier","src":"252397:5:22"},"nativeSrc":"252397:11:22","nodeType":"YulFunctionCall","src":"252397:11:22"},"variableNames":[{"name":"m3","nativeSrc":"252391:2:22","nodeType":"YulIdentifier","src":"252391:2:22"}]},{"nativeSrc":"252421:17:22","nodeType":"YulAssignment","src":"252421:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"252433:4:22","nodeType":"YulLiteral","src":"252433:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"252427:5:22","nodeType":"YulIdentifier","src":"252427:5:22"},"nativeSrc":"252427:11:22","nodeType":"YulFunctionCall","src":"252427:11:22"},"variableNames":[{"name":"m4","nativeSrc":"252421:2:22","nodeType":"YulIdentifier","src":"252421:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252522:4:22","nodeType":"YulLiteral","src":"252522:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"252528:10:22","nodeType":"YulLiteral","src":"252528:10:22","type":"","value":"0xef72c513"}],"functionName":{"name":"mstore","nativeSrc":"252515:6:22","nodeType":"YulIdentifier","src":"252515:6:22"},"nativeSrc":"252515:24:22","nodeType":"YulFunctionCall","src":"252515:24:22"},"nativeSrc":"252515:24:22","nodeType":"YulExpressionStatement","src":"252515:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252559:4:22","nodeType":"YulLiteral","src":"252559:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"252565:2:22","nodeType":"YulIdentifier","src":"252565:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252552:6:22","nodeType":"YulIdentifier","src":"252552:6:22"},"nativeSrc":"252552:16:22","nodeType":"YulFunctionCall","src":"252552:16:22"},"nativeSrc":"252552:16:22","nodeType":"YulExpressionStatement","src":"252552:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252588:4:22","nodeType":"YulLiteral","src":"252588:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"252594:2:22","nodeType":"YulIdentifier","src":"252594:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252581:6:22","nodeType":"YulIdentifier","src":"252581:6:22"},"nativeSrc":"252581:16:22","nodeType":"YulFunctionCall","src":"252581:16:22"},"nativeSrc":"252581:16:22","nodeType":"YulExpressionStatement","src":"252581:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252617:4:22","nodeType":"YulLiteral","src":"252617:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"252623:2:22","nodeType":"YulIdentifier","src":"252623:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252610:6:22","nodeType":"YulIdentifier","src":"252610:6:22"},"nativeSrc":"252610:16:22","nodeType":"YulFunctionCall","src":"252610:16:22"},"nativeSrc":"252610:16:22","nodeType":"YulExpressionStatement","src":"252610:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252646:4:22","nodeType":"YulLiteral","src":"252646:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"252652:2:22","nodeType":"YulIdentifier","src":"252652:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252639:6:22","nodeType":"YulIdentifier","src":"252639:6:22"},"nativeSrc":"252639:16:22","nodeType":"YulFunctionCall","src":"252639:16:22"},"nativeSrc":"252639:16:22","nodeType":"YulExpressionStatement","src":"252639:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39267,"isOffset":false,"isSlot":false,"src":"252301:2:22","valueSize":1},{"declaration":39270,"isOffset":false,"isSlot":false,"src":"252331:2:22","valueSize":1},{"declaration":39273,"isOffset":false,"isSlot":false,"src":"252361:2:22","valueSize":1},{"declaration":39276,"isOffset":false,"isSlot":false,"src":"252391:2:22","valueSize":1},{"declaration":39279,"isOffset":false,"isSlot":false,"src":"252421:2:22","valueSize":1},{"declaration":39257,"isOffset":false,"isSlot":false,"src":"252565:2:22","valueSize":1},{"declaration":39259,"isOffset":false,"isSlot":false,"src":"252594:2:22","valueSize":1},{"declaration":39261,"isOffset":false,"isSlot":false,"src":"252623:2:22","valueSize":1},{"declaration":39263,"isOffset":false,"isSlot":false,"src":"252652:2:22","valueSize":1}],"id":39281,"nodeType":"InlineAssembly","src":"252278:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252690:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252696:4:22","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":39282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"252674:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"252674:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39286,"nodeType":"ExpressionStatement","src":"252674:27:22"},{"AST":{"nativeSrc":"252763:156:22","nodeType":"YulBlock","src":"252763:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"252784:4:22","nodeType":"YulLiteral","src":"252784:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"252790:2:22","nodeType":"YulIdentifier","src":"252790:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252777:6:22","nodeType":"YulIdentifier","src":"252777:6:22"},"nativeSrc":"252777:16:22","nodeType":"YulFunctionCall","src":"252777:16:22"},"nativeSrc":"252777:16:22","nodeType":"YulExpressionStatement","src":"252777:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252813:4:22","nodeType":"YulLiteral","src":"252813:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"252819:2:22","nodeType":"YulIdentifier","src":"252819:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252806:6:22","nodeType":"YulIdentifier","src":"252806:6:22"},"nativeSrc":"252806:16:22","nodeType":"YulFunctionCall","src":"252806:16:22"},"nativeSrc":"252806:16:22","nodeType":"YulExpressionStatement","src":"252806:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252842:4:22","nodeType":"YulLiteral","src":"252842:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"252848:2:22","nodeType":"YulIdentifier","src":"252848:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252835:6:22","nodeType":"YulIdentifier","src":"252835:6:22"},"nativeSrc":"252835:16:22","nodeType":"YulFunctionCall","src":"252835:16:22"},"nativeSrc":"252835:16:22","nodeType":"YulExpressionStatement","src":"252835:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252871:4:22","nodeType":"YulLiteral","src":"252871:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"252877:2:22","nodeType":"YulIdentifier","src":"252877:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252864:6:22","nodeType":"YulIdentifier","src":"252864:6:22"},"nativeSrc":"252864:16:22","nodeType":"YulFunctionCall","src":"252864:16:22"},"nativeSrc":"252864:16:22","nodeType":"YulExpressionStatement","src":"252864:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252900:4:22","nodeType":"YulLiteral","src":"252900:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"252906:2:22","nodeType":"YulIdentifier","src":"252906:2:22"}],"functionName":{"name":"mstore","nativeSrc":"252893:6:22","nodeType":"YulIdentifier","src":"252893:6:22"},"nativeSrc":"252893:16:22","nodeType":"YulFunctionCall","src":"252893:16:22"},"nativeSrc":"252893:16:22","nodeType":"YulExpressionStatement","src":"252893:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39267,"isOffset":false,"isSlot":false,"src":"252790:2:22","valueSize":1},{"declaration":39270,"isOffset":false,"isSlot":false,"src":"252819:2:22","valueSize":1},{"declaration":39273,"isOffset":false,"isSlot":false,"src":"252848:2:22","valueSize":1},{"declaration":39276,"isOffset":false,"isSlot":false,"src":"252877:2:22","valueSize":1},{"declaration":39279,"isOffset":false,"isSlot":false,"src":"252906:2:22","valueSize":1}],"id":39287,"nodeType":"InlineAssembly","src":"252754:165:22"}]},"id":39289,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252062:3:22","nodeType":"FunctionDefinition","parameters":{"id":39264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39257,"mutability":"mutable","name":"p0","nameLocation":"252074:2:22","nodeType":"VariableDeclaration","scope":39289,"src":"252066:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39256,"name":"uint256","nodeType":"ElementaryTypeName","src":"252066:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39259,"mutability":"mutable","name":"p1","nameLocation":"252086:2:22","nodeType":"VariableDeclaration","scope":39289,"src":"252078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39258,"name":"address","nodeType":"ElementaryTypeName","src":"252078:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39261,"mutability":"mutable","name":"p2","nameLocation":"252095:2:22","nodeType":"VariableDeclaration","scope":39289,"src":"252090:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39260,"name":"bool","nodeType":"ElementaryTypeName","src":"252090:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39263,"mutability":"mutable","name":"p3","nameLocation":"252107:2:22","nodeType":"VariableDeclaration","scope":39289,"src":"252099:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39262,"name":"address","nodeType":"ElementaryTypeName","src":"252099:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"252065:45:22"},"returnParameters":{"id":39265,"nodeType":"ParameterList","parameters":[],"src":"252125:0:22"},"scope":44426,"src":"252053:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39322,"nodeType":"Block","src":"253000:797:22","statements":[{"assignments":[39301],"declarations":[{"constant":false,"id":39301,"mutability":"mutable","name":"m0","nameLocation":"253018:2:22","nodeType":"VariableDeclaration","scope":39322,"src":"253010:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253010:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39302,"nodeType":"VariableDeclarationStatement","src":"253010:10:22"},{"assignments":[39304],"declarations":[{"constant":false,"id":39304,"mutability":"mutable","name":"m1","nameLocation":"253038:2:22","nodeType":"VariableDeclaration","scope":39322,"src":"253030:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253030:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39305,"nodeType":"VariableDeclarationStatement","src":"253030:10:22"},{"assignments":[39307],"declarations":[{"constant":false,"id":39307,"mutability":"mutable","name":"m2","nameLocation":"253058:2:22","nodeType":"VariableDeclaration","scope":39322,"src":"253050:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253050:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39308,"nodeType":"VariableDeclarationStatement","src":"253050:10:22"},{"assignments":[39310],"declarations":[{"constant":false,"id":39310,"mutability":"mutable","name":"m3","nameLocation":"253078:2:22","nodeType":"VariableDeclaration","scope":39322,"src":"253070:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253070:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39311,"nodeType":"VariableDeclarationStatement","src":"253070:10:22"},{"assignments":[39313],"declarations":[{"constant":false,"id":39313,"mutability":"mutable","name":"m4","nameLocation":"253098:2:22","nodeType":"VariableDeclaration","scope":39322,"src":"253090:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253090:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39314,"nodeType":"VariableDeclarationStatement","src":"253090:10:22"},{"AST":{"nativeSrc":"253162:375:22","nodeType":"YulBlock","src":"253162:375:22","statements":[{"nativeSrc":"253176:17:22","nodeType":"YulAssignment","src":"253176:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"253188:4:22","nodeType":"YulLiteral","src":"253188:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"253182:5:22","nodeType":"YulIdentifier","src":"253182:5:22"},"nativeSrc":"253182:11:22","nodeType":"YulFunctionCall","src":"253182:11:22"},"variableNames":[{"name":"m0","nativeSrc":"253176:2:22","nodeType":"YulIdentifier","src":"253176:2:22"}]},{"nativeSrc":"253206:17:22","nodeType":"YulAssignment","src":"253206:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"253218:4:22","nodeType":"YulLiteral","src":"253218:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"253212:5:22","nodeType":"YulIdentifier","src":"253212:5:22"},"nativeSrc":"253212:11:22","nodeType":"YulFunctionCall","src":"253212:11:22"},"variableNames":[{"name":"m1","nativeSrc":"253206:2:22","nodeType":"YulIdentifier","src":"253206:2:22"}]},{"nativeSrc":"253236:17:22","nodeType":"YulAssignment","src":"253236:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"253248:4:22","nodeType":"YulLiteral","src":"253248:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"253242:5:22","nodeType":"YulIdentifier","src":"253242:5:22"},"nativeSrc":"253242:11:22","nodeType":"YulFunctionCall","src":"253242:11:22"},"variableNames":[{"name":"m2","nativeSrc":"253236:2:22","nodeType":"YulIdentifier","src":"253236:2:22"}]},{"nativeSrc":"253266:17:22","nodeType":"YulAssignment","src":"253266:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"253278:4:22","nodeType":"YulLiteral","src":"253278:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"253272:5:22","nodeType":"YulIdentifier","src":"253272:5:22"},"nativeSrc":"253272:11:22","nodeType":"YulFunctionCall","src":"253272:11:22"},"variableNames":[{"name":"m3","nativeSrc":"253266:2:22","nodeType":"YulIdentifier","src":"253266:2:22"}]},{"nativeSrc":"253296:17:22","nodeType":"YulAssignment","src":"253296:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"253308:4:22","nodeType":"YulLiteral","src":"253308:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"253302:5:22","nodeType":"YulIdentifier","src":"253302:5:22"},"nativeSrc":"253302:11:22","nodeType":"YulFunctionCall","src":"253302:11:22"},"variableNames":[{"name":"m4","nativeSrc":"253296:2:22","nodeType":"YulIdentifier","src":"253296:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253394:4:22","nodeType":"YulLiteral","src":"253394:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"253400:10:22","nodeType":"YulLiteral","src":"253400:10:22","type":"","value":"0xe351140f"}],"functionName":{"name":"mstore","nativeSrc":"253387:6:22","nodeType":"YulIdentifier","src":"253387:6:22"},"nativeSrc":"253387:24:22","nodeType":"YulFunctionCall","src":"253387:24:22"},"nativeSrc":"253387:24:22","nodeType":"YulExpressionStatement","src":"253387:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253431:4:22","nodeType":"YulLiteral","src":"253431:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"253437:2:22","nodeType":"YulIdentifier","src":"253437:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253424:6:22","nodeType":"YulIdentifier","src":"253424:6:22"},"nativeSrc":"253424:16:22","nodeType":"YulFunctionCall","src":"253424:16:22"},"nativeSrc":"253424:16:22","nodeType":"YulExpressionStatement","src":"253424:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253460:4:22","nodeType":"YulLiteral","src":"253460:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"253466:2:22","nodeType":"YulIdentifier","src":"253466:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253453:6:22","nodeType":"YulIdentifier","src":"253453:6:22"},"nativeSrc":"253453:16:22","nodeType":"YulFunctionCall","src":"253453:16:22"},"nativeSrc":"253453:16:22","nodeType":"YulExpressionStatement","src":"253453:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253489:4:22","nodeType":"YulLiteral","src":"253489:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"253495:2:22","nodeType":"YulIdentifier","src":"253495:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253482:6:22","nodeType":"YulIdentifier","src":"253482:6:22"},"nativeSrc":"253482:16:22","nodeType":"YulFunctionCall","src":"253482:16:22"},"nativeSrc":"253482:16:22","nodeType":"YulExpressionStatement","src":"253482:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253518:4:22","nodeType":"YulLiteral","src":"253518:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"253524:2:22","nodeType":"YulIdentifier","src":"253524:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253511:6:22","nodeType":"YulIdentifier","src":"253511:6:22"},"nativeSrc":"253511:16:22","nodeType":"YulFunctionCall","src":"253511:16:22"},"nativeSrc":"253511:16:22","nodeType":"YulExpressionStatement","src":"253511:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39301,"isOffset":false,"isSlot":false,"src":"253176:2:22","valueSize":1},{"declaration":39304,"isOffset":false,"isSlot":false,"src":"253206:2:22","valueSize":1},{"declaration":39307,"isOffset":false,"isSlot":false,"src":"253236:2:22","valueSize":1},{"declaration":39310,"isOffset":false,"isSlot":false,"src":"253266:2:22","valueSize":1},{"declaration":39313,"isOffset":false,"isSlot":false,"src":"253296:2:22","valueSize":1},{"declaration":39291,"isOffset":false,"isSlot":false,"src":"253437:2:22","valueSize":1},{"declaration":39293,"isOffset":false,"isSlot":false,"src":"253466:2:22","valueSize":1},{"declaration":39295,"isOffset":false,"isSlot":false,"src":"253495:2:22","valueSize":1},{"declaration":39297,"isOffset":false,"isSlot":false,"src":"253524:2:22","valueSize":1}],"id":39315,"nodeType":"InlineAssembly","src":"253153:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253562:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253568:4:22","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":39316,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"253546:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"253546:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39320,"nodeType":"ExpressionStatement","src":"253546:27:22"},{"AST":{"nativeSrc":"253635:156:22","nodeType":"YulBlock","src":"253635:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"253656:4:22","nodeType":"YulLiteral","src":"253656:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"253662:2:22","nodeType":"YulIdentifier","src":"253662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253649:6:22","nodeType":"YulIdentifier","src":"253649:6:22"},"nativeSrc":"253649:16:22","nodeType":"YulFunctionCall","src":"253649:16:22"},"nativeSrc":"253649:16:22","nodeType":"YulExpressionStatement","src":"253649:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253685:4:22","nodeType":"YulLiteral","src":"253685:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"253691:2:22","nodeType":"YulIdentifier","src":"253691:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253678:6:22","nodeType":"YulIdentifier","src":"253678:6:22"},"nativeSrc":"253678:16:22","nodeType":"YulFunctionCall","src":"253678:16:22"},"nativeSrc":"253678:16:22","nodeType":"YulExpressionStatement","src":"253678:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253714:4:22","nodeType":"YulLiteral","src":"253714:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"253720:2:22","nodeType":"YulIdentifier","src":"253720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253707:6:22","nodeType":"YulIdentifier","src":"253707:6:22"},"nativeSrc":"253707:16:22","nodeType":"YulFunctionCall","src":"253707:16:22"},"nativeSrc":"253707:16:22","nodeType":"YulExpressionStatement","src":"253707:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253743:4:22","nodeType":"YulLiteral","src":"253743:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"253749:2:22","nodeType":"YulIdentifier","src":"253749:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253736:6:22","nodeType":"YulIdentifier","src":"253736:6:22"},"nativeSrc":"253736:16:22","nodeType":"YulFunctionCall","src":"253736:16:22"},"nativeSrc":"253736:16:22","nodeType":"YulExpressionStatement","src":"253736:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253772:4:22","nodeType":"YulLiteral","src":"253772:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"253778:2:22","nodeType":"YulIdentifier","src":"253778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"253765:6:22","nodeType":"YulIdentifier","src":"253765:6:22"},"nativeSrc":"253765:16:22","nodeType":"YulFunctionCall","src":"253765:16:22"},"nativeSrc":"253765:16:22","nodeType":"YulExpressionStatement","src":"253765:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39301,"isOffset":false,"isSlot":false,"src":"253662:2:22","valueSize":1},{"declaration":39304,"isOffset":false,"isSlot":false,"src":"253691:2:22","valueSize":1},{"declaration":39307,"isOffset":false,"isSlot":false,"src":"253720:2:22","valueSize":1},{"declaration":39310,"isOffset":false,"isSlot":false,"src":"253749:2:22","valueSize":1},{"declaration":39313,"isOffset":false,"isSlot":false,"src":"253778:2:22","valueSize":1}],"id":39321,"nodeType":"InlineAssembly","src":"253626:165:22"}]},"id":39323,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252940:3:22","nodeType":"FunctionDefinition","parameters":{"id":39298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39291,"mutability":"mutable","name":"p0","nameLocation":"252952:2:22","nodeType":"VariableDeclaration","scope":39323,"src":"252944:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39290,"name":"uint256","nodeType":"ElementaryTypeName","src":"252944:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39293,"mutability":"mutable","name":"p1","nameLocation":"252964:2:22","nodeType":"VariableDeclaration","scope":39323,"src":"252956:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39292,"name":"address","nodeType":"ElementaryTypeName","src":"252956:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39295,"mutability":"mutable","name":"p2","nameLocation":"252973:2:22","nodeType":"VariableDeclaration","scope":39323,"src":"252968:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39294,"name":"bool","nodeType":"ElementaryTypeName","src":"252968:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39297,"mutability":"mutable","name":"p3","nameLocation":"252982:2:22","nodeType":"VariableDeclaration","scope":39323,"src":"252977:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39296,"name":"bool","nodeType":"ElementaryTypeName","src":"252977:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"252943:42:22"},"returnParameters":{"id":39299,"nodeType":"ParameterList","parameters":[],"src":"253000:0:22"},"scope":44426,"src":"252931:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39356,"nodeType":"Block","src":"253875:800:22","statements":[{"assignments":[39335],"declarations":[{"constant":false,"id":39335,"mutability":"mutable","name":"m0","nameLocation":"253893:2:22","nodeType":"VariableDeclaration","scope":39356,"src":"253885:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253885:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39336,"nodeType":"VariableDeclarationStatement","src":"253885:10:22"},{"assignments":[39338],"declarations":[{"constant":false,"id":39338,"mutability":"mutable","name":"m1","nameLocation":"253913:2:22","nodeType":"VariableDeclaration","scope":39356,"src":"253905:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253905:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39339,"nodeType":"VariableDeclarationStatement","src":"253905:10:22"},{"assignments":[39341],"declarations":[{"constant":false,"id":39341,"mutability":"mutable","name":"m2","nameLocation":"253933:2:22","nodeType":"VariableDeclaration","scope":39356,"src":"253925:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253925:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39342,"nodeType":"VariableDeclarationStatement","src":"253925:10:22"},{"assignments":[39344],"declarations":[{"constant":false,"id":39344,"mutability":"mutable","name":"m3","nameLocation":"253953:2:22","nodeType":"VariableDeclaration","scope":39356,"src":"253945:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253945:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39345,"nodeType":"VariableDeclarationStatement","src":"253945:10:22"},{"assignments":[39347],"declarations":[{"constant":false,"id":39347,"mutability":"mutable","name":"m4","nameLocation":"253973:2:22","nodeType":"VariableDeclaration","scope":39356,"src":"253965:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253965:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39348,"nodeType":"VariableDeclarationStatement","src":"253965:10:22"},{"AST":{"nativeSrc":"254037:378:22","nodeType":"YulBlock","src":"254037:378:22","statements":[{"nativeSrc":"254051:17:22","nodeType":"YulAssignment","src":"254051:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"254063:4:22","nodeType":"YulLiteral","src":"254063:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"254057:5:22","nodeType":"YulIdentifier","src":"254057:5:22"},"nativeSrc":"254057:11:22","nodeType":"YulFunctionCall","src":"254057:11:22"},"variableNames":[{"name":"m0","nativeSrc":"254051:2:22","nodeType":"YulIdentifier","src":"254051:2:22"}]},{"nativeSrc":"254081:17:22","nodeType":"YulAssignment","src":"254081:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"254093:4:22","nodeType":"YulLiteral","src":"254093:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"254087:5:22","nodeType":"YulIdentifier","src":"254087:5:22"},"nativeSrc":"254087:11:22","nodeType":"YulFunctionCall","src":"254087:11:22"},"variableNames":[{"name":"m1","nativeSrc":"254081:2:22","nodeType":"YulIdentifier","src":"254081:2:22"}]},{"nativeSrc":"254111:17:22","nodeType":"YulAssignment","src":"254111:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"254123:4:22","nodeType":"YulLiteral","src":"254123:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"254117:5:22","nodeType":"YulIdentifier","src":"254117:5:22"},"nativeSrc":"254117:11:22","nodeType":"YulFunctionCall","src":"254117:11:22"},"variableNames":[{"name":"m2","nativeSrc":"254111:2:22","nodeType":"YulIdentifier","src":"254111:2:22"}]},{"nativeSrc":"254141:17:22","nodeType":"YulAssignment","src":"254141:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"254153:4:22","nodeType":"YulLiteral","src":"254153:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"254147:5:22","nodeType":"YulIdentifier","src":"254147:5:22"},"nativeSrc":"254147:11:22","nodeType":"YulFunctionCall","src":"254147:11:22"},"variableNames":[{"name":"m3","nativeSrc":"254141:2:22","nodeType":"YulIdentifier","src":"254141:2:22"}]},{"nativeSrc":"254171:17:22","nodeType":"YulAssignment","src":"254171:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"254183:4:22","nodeType":"YulLiteral","src":"254183:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"254177:5:22","nodeType":"YulIdentifier","src":"254177:5:22"},"nativeSrc":"254177:11:22","nodeType":"YulFunctionCall","src":"254177:11:22"},"variableNames":[{"name":"m4","nativeSrc":"254171:2:22","nodeType":"YulIdentifier","src":"254171:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254272:4:22","nodeType":"YulLiteral","src":"254272:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"254278:10:22","nodeType":"YulLiteral","src":"254278:10:22","type":"","value":"0x5abd992a"}],"functionName":{"name":"mstore","nativeSrc":"254265:6:22","nodeType":"YulIdentifier","src":"254265:6:22"},"nativeSrc":"254265:24:22","nodeType":"YulFunctionCall","src":"254265:24:22"},"nativeSrc":"254265:24:22","nodeType":"YulExpressionStatement","src":"254265:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254309:4:22","nodeType":"YulLiteral","src":"254309:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"254315:2:22","nodeType":"YulIdentifier","src":"254315:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254302:6:22","nodeType":"YulIdentifier","src":"254302:6:22"},"nativeSrc":"254302:16:22","nodeType":"YulFunctionCall","src":"254302:16:22"},"nativeSrc":"254302:16:22","nodeType":"YulExpressionStatement","src":"254302:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254338:4:22","nodeType":"YulLiteral","src":"254338:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"254344:2:22","nodeType":"YulIdentifier","src":"254344:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254331:6:22","nodeType":"YulIdentifier","src":"254331:6:22"},"nativeSrc":"254331:16:22","nodeType":"YulFunctionCall","src":"254331:16:22"},"nativeSrc":"254331:16:22","nodeType":"YulExpressionStatement","src":"254331:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254367:4:22","nodeType":"YulLiteral","src":"254367:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"254373:2:22","nodeType":"YulIdentifier","src":"254373:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254360:6:22","nodeType":"YulIdentifier","src":"254360:6:22"},"nativeSrc":"254360:16:22","nodeType":"YulFunctionCall","src":"254360:16:22"},"nativeSrc":"254360:16:22","nodeType":"YulExpressionStatement","src":"254360:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254396:4:22","nodeType":"YulLiteral","src":"254396:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"254402:2:22","nodeType":"YulIdentifier","src":"254402:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254389:6:22","nodeType":"YulIdentifier","src":"254389:6:22"},"nativeSrc":"254389:16:22","nodeType":"YulFunctionCall","src":"254389:16:22"},"nativeSrc":"254389:16:22","nodeType":"YulExpressionStatement","src":"254389:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39335,"isOffset":false,"isSlot":false,"src":"254051:2:22","valueSize":1},{"declaration":39338,"isOffset":false,"isSlot":false,"src":"254081:2:22","valueSize":1},{"declaration":39341,"isOffset":false,"isSlot":false,"src":"254111:2:22","valueSize":1},{"declaration":39344,"isOffset":false,"isSlot":false,"src":"254141:2:22","valueSize":1},{"declaration":39347,"isOffset":false,"isSlot":false,"src":"254171:2:22","valueSize":1},{"declaration":39325,"isOffset":false,"isSlot":false,"src":"254315:2:22","valueSize":1},{"declaration":39327,"isOffset":false,"isSlot":false,"src":"254344:2:22","valueSize":1},{"declaration":39329,"isOffset":false,"isSlot":false,"src":"254373:2:22","valueSize":1},{"declaration":39331,"isOffset":false,"isSlot":false,"src":"254402:2:22","valueSize":1}],"id":39349,"nodeType":"InlineAssembly","src":"254028:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254440:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254446:4:22","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":39350,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"254424:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"254424:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39354,"nodeType":"ExpressionStatement","src":"254424:27:22"},{"AST":{"nativeSrc":"254513:156:22","nodeType":"YulBlock","src":"254513:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"254534:4:22","nodeType":"YulLiteral","src":"254534:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"254540:2:22","nodeType":"YulIdentifier","src":"254540:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254527:6:22","nodeType":"YulIdentifier","src":"254527:6:22"},"nativeSrc":"254527:16:22","nodeType":"YulFunctionCall","src":"254527:16:22"},"nativeSrc":"254527:16:22","nodeType":"YulExpressionStatement","src":"254527:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254563:4:22","nodeType":"YulLiteral","src":"254563:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"254569:2:22","nodeType":"YulIdentifier","src":"254569:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254556:6:22","nodeType":"YulIdentifier","src":"254556:6:22"},"nativeSrc":"254556:16:22","nodeType":"YulFunctionCall","src":"254556:16:22"},"nativeSrc":"254556:16:22","nodeType":"YulExpressionStatement","src":"254556:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254592:4:22","nodeType":"YulLiteral","src":"254592:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"254598:2:22","nodeType":"YulIdentifier","src":"254598:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254585:6:22","nodeType":"YulIdentifier","src":"254585:6:22"},"nativeSrc":"254585:16:22","nodeType":"YulFunctionCall","src":"254585:16:22"},"nativeSrc":"254585:16:22","nodeType":"YulExpressionStatement","src":"254585:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254621:4:22","nodeType":"YulLiteral","src":"254621:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"254627:2:22","nodeType":"YulIdentifier","src":"254627:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254614:6:22","nodeType":"YulIdentifier","src":"254614:6:22"},"nativeSrc":"254614:16:22","nodeType":"YulFunctionCall","src":"254614:16:22"},"nativeSrc":"254614:16:22","nodeType":"YulExpressionStatement","src":"254614:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254650:4:22","nodeType":"YulLiteral","src":"254650:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"254656:2:22","nodeType":"YulIdentifier","src":"254656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"254643:6:22","nodeType":"YulIdentifier","src":"254643:6:22"},"nativeSrc":"254643:16:22","nodeType":"YulFunctionCall","src":"254643:16:22"},"nativeSrc":"254643:16:22","nodeType":"YulExpressionStatement","src":"254643:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39335,"isOffset":false,"isSlot":false,"src":"254540:2:22","valueSize":1},{"declaration":39338,"isOffset":false,"isSlot":false,"src":"254569:2:22","valueSize":1},{"declaration":39341,"isOffset":false,"isSlot":false,"src":"254598:2:22","valueSize":1},{"declaration":39344,"isOffset":false,"isSlot":false,"src":"254627:2:22","valueSize":1},{"declaration":39347,"isOffset":false,"isSlot":false,"src":"254656:2:22","valueSize":1}],"id":39355,"nodeType":"InlineAssembly","src":"254504:165:22"}]},"id":39357,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"253812:3:22","nodeType":"FunctionDefinition","parameters":{"id":39332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39325,"mutability":"mutable","name":"p0","nameLocation":"253824:2:22","nodeType":"VariableDeclaration","scope":39357,"src":"253816:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39324,"name":"uint256","nodeType":"ElementaryTypeName","src":"253816:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39327,"mutability":"mutable","name":"p1","nameLocation":"253836:2:22","nodeType":"VariableDeclaration","scope":39357,"src":"253828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39326,"name":"address","nodeType":"ElementaryTypeName","src":"253828:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39329,"mutability":"mutable","name":"p2","nameLocation":"253845:2:22","nodeType":"VariableDeclaration","scope":39357,"src":"253840:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39328,"name":"bool","nodeType":"ElementaryTypeName","src":"253840:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39331,"mutability":"mutable","name":"p3","nameLocation":"253857:2:22","nodeType":"VariableDeclaration","scope":39357,"src":"253849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39330,"name":"uint256","nodeType":"ElementaryTypeName","src":"253849:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"253815:45:22"},"returnParameters":{"id":39333,"nodeType":"ParameterList","parameters":[],"src":"253875:0:22"},"scope":44426,"src":"253803:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39396,"nodeType":"Block","src":"254753:1348:22","statements":[{"assignments":[39369],"declarations":[{"constant":false,"id":39369,"mutability":"mutable","name":"m0","nameLocation":"254771:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254763:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39370,"nodeType":"VariableDeclarationStatement","src":"254763:10:22"},{"assignments":[39372],"declarations":[{"constant":false,"id":39372,"mutability":"mutable","name":"m1","nameLocation":"254791:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254783:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254783:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39373,"nodeType":"VariableDeclarationStatement","src":"254783:10:22"},{"assignments":[39375],"declarations":[{"constant":false,"id":39375,"mutability":"mutable","name":"m2","nameLocation":"254811:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254803:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254803:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39376,"nodeType":"VariableDeclarationStatement","src":"254803:10:22"},{"assignments":[39378],"declarations":[{"constant":false,"id":39378,"mutability":"mutable","name":"m3","nameLocation":"254831:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254823:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254823:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39379,"nodeType":"VariableDeclarationStatement","src":"254823:10:22"},{"assignments":[39381],"declarations":[{"constant":false,"id":39381,"mutability":"mutable","name":"m4","nameLocation":"254851:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254843:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254843:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39382,"nodeType":"VariableDeclarationStatement","src":"254843:10:22"},{"assignments":[39384],"declarations":[{"constant":false,"id":39384,"mutability":"mutable","name":"m5","nameLocation":"254871:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254863:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254863:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39385,"nodeType":"VariableDeclarationStatement","src":"254863:10:22"},{"assignments":[39387],"declarations":[{"constant":false,"id":39387,"mutability":"mutable","name":"m6","nameLocation":"254891:2:22","nodeType":"VariableDeclaration","scope":39396,"src":"254883:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254883:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39388,"nodeType":"VariableDeclarationStatement","src":"254883:10:22"},{"AST":{"nativeSrc":"254955:828:22","nodeType":"YulBlock","src":"254955:828:22","statements":[{"body":{"nativeSrc":"254998:313:22","nodeType":"YulBlock","src":"254998:313:22","statements":[{"nativeSrc":"255016:15:22","nodeType":"YulVariableDeclaration","src":"255016:15:22","value":{"kind":"number","nativeSrc":"255030:1:22","nodeType":"YulLiteral","src":"255030:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"255020:6:22","nodeType":"YulTypedName","src":"255020:6:22","type":""}]},{"body":{"nativeSrc":"255101:40:22","nodeType":"YulBlock","src":"255101:40:22","statements":[{"body":{"nativeSrc":"255130:9:22","nodeType":"YulBlock","src":"255130:9:22","statements":[{"nativeSrc":"255132:5:22","nodeType":"YulBreak","src":"255132:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"255118:6:22","nodeType":"YulIdentifier","src":"255118:6:22"},{"name":"w","nativeSrc":"255126:1:22","nodeType":"YulIdentifier","src":"255126:1:22"}],"functionName":{"name":"byte","nativeSrc":"255113:4:22","nodeType":"YulIdentifier","src":"255113:4:22"},"nativeSrc":"255113:15:22","nodeType":"YulFunctionCall","src":"255113:15:22"}],"functionName":{"name":"iszero","nativeSrc":"255106:6:22","nodeType":"YulIdentifier","src":"255106:6:22"},"nativeSrc":"255106:23:22","nodeType":"YulFunctionCall","src":"255106:23:22"},"nativeSrc":"255103:36:22","nodeType":"YulIf","src":"255103:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"255058:6:22","nodeType":"YulIdentifier","src":"255058:6:22"},{"kind":"number","nativeSrc":"255066:4:22","nodeType":"YulLiteral","src":"255066:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"255055:2:22","nodeType":"YulIdentifier","src":"255055:2:22"},"nativeSrc":"255055:16:22","nodeType":"YulFunctionCall","src":"255055:16:22"},"nativeSrc":"255048:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"255072:28:22","nodeType":"YulBlock","src":"255072:28:22","statements":[{"nativeSrc":"255074:24:22","nodeType":"YulAssignment","src":"255074:24:22","value":{"arguments":[{"name":"length","nativeSrc":"255088:6:22","nodeType":"YulIdentifier","src":"255088:6:22"},{"kind":"number","nativeSrc":"255096:1:22","nodeType":"YulLiteral","src":"255096:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"255084:3:22","nodeType":"YulIdentifier","src":"255084:3:22"},"nativeSrc":"255084:14:22","nodeType":"YulFunctionCall","src":"255084:14:22"},"variableNames":[{"name":"length","nativeSrc":"255074:6:22","nodeType":"YulIdentifier","src":"255074:6:22"}]}]},"pre":{"nativeSrc":"255052:2:22","nodeType":"YulBlock","src":"255052:2:22","statements":[]},"src":"255048:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"255165:3:22","nodeType":"YulIdentifier","src":"255165:3:22"},{"name":"length","nativeSrc":"255170:6:22","nodeType":"YulIdentifier","src":"255170:6:22"}],"functionName":{"name":"mstore","nativeSrc":"255158:6:22","nodeType":"YulIdentifier","src":"255158:6:22"},"nativeSrc":"255158:19:22","nodeType":"YulFunctionCall","src":"255158:19:22"},"nativeSrc":"255158:19:22","nodeType":"YulExpressionStatement","src":"255158:19:22"},{"nativeSrc":"255194:37:22","nodeType":"YulVariableDeclaration","src":"255194:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"255211:3:22","nodeType":"YulLiteral","src":"255211:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"255220:1:22","nodeType":"YulLiteral","src":"255220:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"255223:6:22","nodeType":"YulIdentifier","src":"255223:6:22"}],"functionName":{"name":"shl","nativeSrc":"255216:3:22","nodeType":"YulIdentifier","src":"255216:3:22"},"nativeSrc":"255216:14:22","nodeType":"YulFunctionCall","src":"255216:14:22"}],"functionName":{"name":"sub","nativeSrc":"255207:3:22","nodeType":"YulIdentifier","src":"255207:3:22"},"nativeSrc":"255207:24:22","nodeType":"YulFunctionCall","src":"255207:24:22"},"variables":[{"name":"shift","nativeSrc":"255198:5:22","nodeType":"YulTypedName","src":"255198:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"255259:3:22","nodeType":"YulIdentifier","src":"255259:3:22"},{"kind":"number","nativeSrc":"255264:4:22","nodeType":"YulLiteral","src":"255264:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"255255:3:22","nodeType":"YulIdentifier","src":"255255:3:22"},"nativeSrc":"255255:14:22","nodeType":"YulFunctionCall","src":"255255:14:22"},{"arguments":[{"name":"shift","nativeSrc":"255275:5:22","nodeType":"YulIdentifier","src":"255275:5:22"},{"arguments":[{"name":"shift","nativeSrc":"255286:5:22","nodeType":"YulIdentifier","src":"255286:5:22"},{"name":"w","nativeSrc":"255293:1:22","nodeType":"YulIdentifier","src":"255293:1:22"}],"functionName":{"name":"shr","nativeSrc":"255282:3:22","nodeType":"YulIdentifier","src":"255282:3:22"},"nativeSrc":"255282:13:22","nodeType":"YulFunctionCall","src":"255282:13:22"}],"functionName":{"name":"shl","nativeSrc":"255271:3:22","nodeType":"YulIdentifier","src":"255271:3:22"},"nativeSrc":"255271:25:22","nodeType":"YulFunctionCall","src":"255271:25:22"}],"functionName":{"name":"mstore","nativeSrc":"255248:6:22","nodeType":"YulIdentifier","src":"255248:6:22"},"nativeSrc":"255248:49:22","nodeType":"YulFunctionCall","src":"255248:49:22"},"nativeSrc":"255248:49:22","nodeType":"YulExpressionStatement","src":"255248:49:22"}]},"name":"writeString","nativeSrc":"254969:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"254990:3:22","nodeType":"YulTypedName","src":"254990:3:22","type":""},{"name":"w","nativeSrc":"254995:1:22","nodeType":"YulTypedName","src":"254995:1:22","type":""}],"src":"254969:342:22"},{"nativeSrc":"255324:17:22","nodeType":"YulAssignment","src":"255324:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255336:4:22","nodeType":"YulLiteral","src":"255336:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"255330:5:22","nodeType":"YulIdentifier","src":"255330:5:22"},"nativeSrc":"255330:11:22","nodeType":"YulFunctionCall","src":"255330:11:22"},"variableNames":[{"name":"m0","nativeSrc":"255324:2:22","nodeType":"YulIdentifier","src":"255324:2:22"}]},{"nativeSrc":"255354:17:22","nodeType":"YulAssignment","src":"255354:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255366:4:22","nodeType":"YulLiteral","src":"255366:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"255360:5:22","nodeType":"YulIdentifier","src":"255360:5:22"},"nativeSrc":"255360:11:22","nodeType":"YulFunctionCall","src":"255360:11:22"},"variableNames":[{"name":"m1","nativeSrc":"255354:2:22","nodeType":"YulIdentifier","src":"255354:2:22"}]},{"nativeSrc":"255384:17:22","nodeType":"YulAssignment","src":"255384:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255396:4:22","nodeType":"YulLiteral","src":"255396:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"255390:5:22","nodeType":"YulIdentifier","src":"255390:5:22"},"nativeSrc":"255390:11:22","nodeType":"YulFunctionCall","src":"255390:11:22"},"variableNames":[{"name":"m2","nativeSrc":"255384:2:22","nodeType":"YulIdentifier","src":"255384:2:22"}]},{"nativeSrc":"255414:17:22","nodeType":"YulAssignment","src":"255414:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255426:4:22","nodeType":"YulLiteral","src":"255426:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"255420:5:22","nodeType":"YulIdentifier","src":"255420:5:22"},"nativeSrc":"255420:11:22","nodeType":"YulFunctionCall","src":"255420:11:22"},"variableNames":[{"name":"m3","nativeSrc":"255414:2:22","nodeType":"YulIdentifier","src":"255414:2:22"}]},{"nativeSrc":"255444:17:22","nodeType":"YulAssignment","src":"255444:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255456:4:22","nodeType":"YulLiteral","src":"255456:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"255450:5:22","nodeType":"YulIdentifier","src":"255450:5:22"},"nativeSrc":"255450:11:22","nodeType":"YulFunctionCall","src":"255450:11:22"},"variableNames":[{"name":"m4","nativeSrc":"255444:2:22","nodeType":"YulIdentifier","src":"255444:2:22"}]},{"nativeSrc":"255474:17:22","nodeType":"YulAssignment","src":"255474:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255486:4:22","nodeType":"YulLiteral","src":"255486:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"255480:5:22","nodeType":"YulIdentifier","src":"255480:5:22"},"nativeSrc":"255480:11:22","nodeType":"YulFunctionCall","src":"255480:11:22"},"variableNames":[{"name":"m5","nativeSrc":"255474:2:22","nodeType":"YulIdentifier","src":"255474:2:22"}]},{"nativeSrc":"255504:17:22","nodeType":"YulAssignment","src":"255504:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"255516:4:22","nodeType":"YulLiteral","src":"255516:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"255510:5:22","nodeType":"YulIdentifier","src":"255510:5:22"},"nativeSrc":"255510:11:22","nodeType":"YulFunctionCall","src":"255510:11:22"},"variableNames":[{"name":"m6","nativeSrc":"255504:2:22","nodeType":"YulIdentifier","src":"255504:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255604:4:22","nodeType":"YulLiteral","src":"255604:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"255610:10:22","nodeType":"YulLiteral","src":"255610:10:22","type":"","value":"0x90fb06aa"}],"functionName":{"name":"mstore","nativeSrc":"255597:6:22","nodeType":"YulIdentifier","src":"255597:6:22"},"nativeSrc":"255597:24:22","nodeType":"YulFunctionCall","src":"255597:24:22"},"nativeSrc":"255597:24:22","nodeType":"YulExpressionStatement","src":"255597:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255641:4:22","nodeType":"YulLiteral","src":"255641:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"255647:2:22","nodeType":"YulIdentifier","src":"255647:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255634:6:22","nodeType":"YulIdentifier","src":"255634:6:22"},"nativeSrc":"255634:16:22","nodeType":"YulFunctionCall","src":"255634:16:22"},"nativeSrc":"255634:16:22","nodeType":"YulExpressionStatement","src":"255634:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255670:4:22","nodeType":"YulLiteral","src":"255670:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"255676:2:22","nodeType":"YulIdentifier","src":"255676:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255663:6:22","nodeType":"YulIdentifier","src":"255663:6:22"},"nativeSrc":"255663:16:22","nodeType":"YulFunctionCall","src":"255663:16:22"},"nativeSrc":"255663:16:22","nodeType":"YulExpressionStatement","src":"255663:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255699:4:22","nodeType":"YulLiteral","src":"255699:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"255705:2:22","nodeType":"YulIdentifier","src":"255705:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255692:6:22","nodeType":"YulIdentifier","src":"255692:6:22"},"nativeSrc":"255692:16:22","nodeType":"YulFunctionCall","src":"255692:16:22"},"nativeSrc":"255692:16:22","nodeType":"YulExpressionStatement","src":"255692:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255728:4:22","nodeType":"YulLiteral","src":"255728:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"255734:4:22","nodeType":"YulLiteral","src":"255734:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"255721:6:22","nodeType":"YulIdentifier","src":"255721:6:22"},"nativeSrc":"255721:18:22","nodeType":"YulFunctionCall","src":"255721:18:22"},"nativeSrc":"255721:18:22","nodeType":"YulExpressionStatement","src":"255721:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255764:4:22","nodeType":"YulLiteral","src":"255764:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"255770:2:22","nodeType":"YulIdentifier","src":"255770:2:22"}],"functionName":{"name":"writeString","nativeSrc":"255752:11:22","nodeType":"YulIdentifier","src":"255752:11:22"},"nativeSrc":"255752:21:22","nodeType":"YulFunctionCall","src":"255752:21:22"},"nativeSrc":"255752:21:22","nodeType":"YulExpressionStatement","src":"255752:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39369,"isOffset":false,"isSlot":false,"src":"255324:2:22","valueSize":1},{"declaration":39372,"isOffset":false,"isSlot":false,"src":"255354:2:22","valueSize":1},{"declaration":39375,"isOffset":false,"isSlot":false,"src":"255384:2:22","valueSize":1},{"declaration":39378,"isOffset":false,"isSlot":false,"src":"255414:2:22","valueSize":1},{"declaration":39381,"isOffset":false,"isSlot":false,"src":"255444:2:22","valueSize":1},{"declaration":39384,"isOffset":false,"isSlot":false,"src":"255474:2:22","valueSize":1},{"declaration":39387,"isOffset":false,"isSlot":false,"src":"255504:2:22","valueSize":1},{"declaration":39359,"isOffset":false,"isSlot":false,"src":"255647:2:22","valueSize":1},{"declaration":39361,"isOffset":false,"isSlot":false,"src":"255676:2:22","valueSize":1},{"declaration":39363,"isOffset":false,"isSlot":false,"src":"255705:2:22","valueSize":1},{"declaration":39365,"isOffset":false,"isSlot":false,"src":"255770:2:22","valueSize":1}],"id":39389,"nodeType":"InlineAssembly","src":"254946:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255808:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255814:4:22","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":39390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"255792:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"255792:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39394,"nodeType":"ExpressionStatement","src":"255792:27:22"},{"AST":{"nativeSrc":"255881:214:22","nodeType":"YulBlock","src":"255881:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"255902:4:22","nodeType":"YulLiteral","src":"255902:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"255908:2:22","nodeType":"YulIdentifier","src":"255908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255895:6:22","nodeType":"YulIdentifier","src":"255895:6:22"},"nativeSrc":"255895:16:22","nodeType":"YulFunctionCall","src":"255895:16:22"},"nativeSrc":"255895:16:22","nodeType":"YulExpressionStatement","src":"255895:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255931:4:22","nodeType":"YulLiteral","src":"255931:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"255937:2:22","nodeType":"YulIdentifier","src":"255937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255924:6:22","nodeType":"YulIdentifier","src":"255924:6:22"},"nativeSrc":"255924:16:22","nodeType":"YulFunctionCall","src":"255924:16:22"},"nativeSrc":"255924:16:22","nodeType":"YulExpressionStatement","src":"255924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255960:4:22","nodeType":"YulLiteral","src":"255960:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"255966:2:22","nodeType":"YulIdentifier","src":"255966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255953:6:22","nodeType":"YulIdentifier","src":"255953:6:22"},"nativeSrc":"255953:16:22","nodeType":"YulFunctionCall","src":"255953:16:22"},"nativeSrc":"255953:16:22","nodeType":"YulExpressionStatement","src":"255953:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255989:4:22","nodeType":"YulLiteral","src":"255989:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"255995:2:22","nodeType":"YulIdentifier","src":"255995:2:22"}],"functionName":{"name":"mstore","nativeSrc":"255982:6:22","nodeType":"YulIdentifier","src":"255982:6:22"},"nativeSrc":"255982:16:22","nodeType":"YulFunctionCall","src":"255982:16:22"},"nativeSrc":"255982:16:22","nodeType":"YulExpressionStatement","src":"255982:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256018:4:22","nodeType":"YulLiteral","src":"256018:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256024:2:22","nodeType":"YulIdentifier","src":"256024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256011:6:22","nodeType":"YulIdentifier","src":"256011:6:22"},"nativeSrc":"256011:16:22","nodeType":"YulFunctionCall","src":"256011:16:22"},"nativeSrc":"256011:16:22","nodeType":"YulExpressionStatement","src":"256011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256047:4:22","nodeType":"YulLiteral","src":"256047:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"256053:2:22","nodeType":"YulIdentifier","src":"256053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256040:6:22","nodeType":"YulIdentifier","src":"256040:6:22"},"nativeSrc":"256040:16:22","nodeType":"YulFunctionCall","src":"256040:16:22"},"nativeSrc":"256040:16:22","nodeType":"YulExpressionStatement","src":"256040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256076:4:22","nodeType":"YulLiteral","src":"256076:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"256082:2:22","nodeType":"YulIdentifier","src":"256082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256069:6:22","nodeType":"YulIdentifier","src":"256069:6:22"},"nativeSrc":"256069:16:22","nodeType":"YulFunctionCall","src":"256069:16:22"},"nativeSrc":"256069:16:22","nodeType":"YulExpressionStatement","src":"256069:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39369,"isOffset":false,"isSlot":false,"src":"255908:2:22","valueSize":1},{"declaration":39372,"isOffset":false,"isSlot":false,"src":"255937:2:22","valueSize":1},{"declaration":39375,"isOffset":false,"isSlot":false,"src":"255966:2:22","valueSize":1},{"declaration":39378,"isOffset":false,"isSlot":false,"src":"255995:2:22","valueSize":1},{"declaration":39381,"isOffset":false,"isSlot":false,"src":"256024:2:22","valueSize":1},{"declaration":39384,"isOffset":false,"isSlot":false,"src":"256053:2:22","valueSize":1},{"declaration":39387,"isOffset":false,"isSlot":false,"src":"256082:2:22","valueSize":1}],"id":39395,"nodeType":"InlineAssembly","src":"255872:223:22"}]},"id":39397,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"254690:3:22","nodeType":"FunctionDefinition","parameters":{"id":39366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39359,"mutability":"mutable","name":"p0","nameLocation":"254702:2:22","nodeType":"VariableDeclaration","scope":39397,"src":"254694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39358,"name":"uint256","nodeType":"ElementaryTypeName","src":"254694:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39361,"mutability":"mutable","name":"p1","nameLocation":"254714:2:22","nodeType":"VariableDeclaration","scope":39397,"src":"254706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39360,"name":"address","nodeType":"ElementaryTypeName","src":"254706:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39363,"mutability":"mutable","name":"p2","nameLocation":"254723:2:22","nodeType":"VariableDeclaration","scope":39397,"src":"254718:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39362,"name":"bool","nodeType":"ElementaryTypeName","src":"254718:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39365,"mutability":"mutable","name":"p3","nameLocation":"254735:2:22","nodeType":"VariableDeclaration","scope":39397,"src":"254727:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254727:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"254693:45:22"},"returnParameters":{"id":39367,"nodeType":"ParameterList","parameters":[],"src":"254753:0:22"},"scope":44426,"src":"254681:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39430,"nodeType":"Block","src":"256182:803:22","statements":[{"assignments":[39409],"declarations":[{"constant":false,"id":39409,"mutability":"mutable","name":"m0","nameLocation":"256200:2:22","nodeType":"VariableDeclaration","scope":39430,"src":"256192:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256192:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39410,"nodeType":"VariableDeclarationStatement","src":"256192:10:22"},{"assignments":[39412],"declarations":[{"constant":false,"id":39412,"mutability":"mutable","name":"m1","nameLocation":"256220:2:22","nodeType":"VariableDeclaration","scope":39430,"src":"256212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256212:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39413,"nodeType":"VariableDeclarationStatement","src":"256212:10:22"},{"assignments":[39415],"declarations":[{"constant":false,"id":39415,"mutability":"mutable","name":"m2","nameLocation":"256240:2:22","nodeType":"VariableDeclaration","scope":39430,"src":"256232:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256232:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39416,"nodeType":"VariableDeclarationStatement","src":"256232:10:22"},{"assignments":[39418],"declarations":[{"constant":false,"id":39418,"mutability":"mutable","name":"m3","nameLocation":"256260:2:22","nodeType":"VariableDeclaration","scope":39430,"src":"256252:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256252:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39419,"nodeType":"VariableDeclarationStatement","src":"256252:10:22"},{"assignments":[39421],"declarations":[{"constant":false,"id":39421,"mutability":"mutable","name":"m4","nameLocation":"256280:2:22","nodeType":"VariableDeclaration","scope":39430,"src":"256272:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256272:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39422,"nodeType":"VariableDeclarationStatement","src":"256272:10:22"},{"AST":{"nativeSrc":"256344:381:22","nodeType":"YulBlock","src":"256344:381:22","statements":[{"nativeSrc":"256358:17:22","nodeType":"YulAssignment","src":"256358:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"256370:4:22","nodeType":"YulLiteral","src":"256370:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"256364:5:22","nodeType":"YulIdentifier","src":"256364:5:22"},"nativeSrc":"256364:11:22","nodeType":"YulFunctionCall","src":"256364:11:22"},"variableNames":[{"name":"m0","nativeSrc":"256358:2:22","nodeType":"YulIdentifier","src":"256358:2:22"}]},{"nativeSrc":"256388:17:22","nodeType":"YulAssignment","src":"256388:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"256400:4:22","nodeType":"YulLiteral","src":"256400:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"256394:5:22","nodeType":"YulIdentifier","src":"256394:5:22"},"nativeSrc":"256394:11:22","nodeType":"YulFunctionCall","src":"256394:11:22"},"variableNames":[{"name":"m1","nativeSrc":"256388:2:22","nodeType":"YulIdentifier","src":"256388:2:22"}]},{"nativeSrc":"256418:17:22","nodeType":"YulAssignment","src":"256418:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"256430:4:22","nodeType":"YulLiteral","src":"256430:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"256424:5:22","nodeType":"YulIdentifier","src":"256424:5:22"},"nativeSrc":"256424:11:22","nodeType":"YulFunctionCall","src":"256424:11:22"},"variableNames":[{"name":"m2","nativeSrc":"256418:2:22","nodeType":"YulIdentifier","src":"256418:2:22"}]},{"nativeSrc":"256448:17:22","nodeType":"YulAssignment","src":"256448:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"256460:4:22","nodeType":"YulLiteral","src":"256460:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"256454:5:22","nodeType":"YulIdentifier","src":"256454:5:22"},"nativeSrc":"256454:11:22","nodeType":"YulFunctionCall","src":"256454:11:22"},"variableNames":[{"name":"m3","nativeSrc":"256448:2:22","nodeType":"YulIdentifier","src":"256448:2:22"}]},{"nativeSrc":"256478:17:22","nodeType":"YulAssignment","src":"256478:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"256490:4:22","nodeType":"YulLiteral","src":"256490:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"256484:5:22","nodeType":"YulIdentifier","src":"256484:5:22"},"nativeSrc":"256484:11:22","nodeType":"YulFunctionCall","src":"256484:11:22"},"variableNames":[{"name":"m4","nativeSrc":"256478:2:22","nodeType":"YulIdentifier","src":"256478:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256582:4:22","nodeType":"YulLiteral","src":"256582:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"256588:10:22","nodeType":"YulLiteral","src":"256588:10:22","type":"","value":"0x15c127b5"}],"functionName":{"name":"mstore","nativeSrc":"256575:6:22","nodeType":"YulIdentifier","src":"256575:6:22"},"nativeSrc":"256575:24:22","nodeType":"YulFunctionCall","src":"256575:24:22"},"nativeSrc":"256575:24:22","nodeType":"YulExpressionStatement","src":"256575:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256619:4:22","nodeType":"YulLiteral","src":"256619:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"256625:2:22","nodeType":"YulIdentifier","src":"256625:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256612:6:22","nodeType":"YulIdentifier","src":"256612:6:22"},"nativeSrc":"256612:16:22","nodeType":"YulFunctionCall","src":"256612:16:22"},"nativeSrc":"256612:16:22","nodeType":"YulExpressionStatement","src":"256612:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256648:4:22","nodeType":"YulLiteral","src":"256648:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"256654:2:22","nodeType":"YulIdentifier","src":"256654:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256641:6:22","nodeType":"YulIdentifier","src":"256641:6:22"},"nativeSrc":"256641:16:22","nodeType":"YulFunctionCall","src":"256641:16:22"},"nativeSrc":"256641:16:22","nodeType":"YulExpressionStatement","src":"256641:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256677:4:22","nodeType":"YulLiteral","src":"256677:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"256683:2:22","nodeType":"YulIdentifier","src":"256683:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256670:6:22","nodeType":"YulIdentifier","src":"256670:6:22"},"nativeSrc":"256670:16:22","nodeType":"YulFunctionCall","src":"256670:16:22"},"nativeSrc":"256670:16:22","nodeType":"YulExpressionStatement","src":"256670:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256706:4:22","nodeType":"YulLiteral","src":"256706:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"256712:2:22","nodeType":"YulIdentifier","src":"256712:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256699:6:22","nodeType":"YulIdentifier","src":"256699:6:22"},"nativeSrc":"256699:16:22","nodeType":"YulFunctionCall","src":"256699:16:22"},"nativeSrc":"256699:16:22","nodeType":"YulExpressionStatement","src":"256699:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39409,"isOffset":false,"isSlot":false,"src":"256358:2:22","valueSize":1},{"declaration":39412,"isOffset":false,"isSlot":false,"src":"256388:2:22","valueSize":1},{"declaration":39415,"isOffset":false,"isSlot":false,"src":"256418:2:22","valueSize":1},{"declaration":39418,"isOffset":false,"isSlot":false,"src":"256448:2:22","valueSize":1},{"declaration":39421,"isOffset":false,"isSlot":false,"src":"256478:2:22","valueSize":1},{"declaration":39399,"isOffset":false,"isSlot":false,"src":"256625:2:22","valueSize":1},{"declaration":39401,"isOffset":false,"isSlot":false,"src":"256654:2:22","valueSize":1},{"declaration":39403,"isOffset":false,"isSlot":false,"src":"256683:2:22","valueSize":1},{"declaration":39405,"isOffset":false,"isSlot":false,"src":"256712:2:22","valueSize":1}],"id":39423,"nodeType":"InlineAssembly","src":"256335:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256750:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256756:4:22","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":39424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"256734:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"256734:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39428,"nodeType":"ExpressionStatement","src":"256734:27:22"},{"AST":{"nativeSrc":"256823:156:22","nodeType":"YulBlock","src":"256823:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"256844:4:22","nodeType":"YulLiteral","src":"256844:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"256850:2:22","nodeType":"YulIdentifier","src":"256850:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256837:6:22","nodeType":"YulIdentifier","src":"256837:6:22"},"nativeSrc":"256837:16:22","nodeType":"YulFunctionCall","src":"256837:16:22"},"nativeSrc":"256837:16:22","nodeType":"YulExpressionStatement","src":"256837:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256873:4:22","nodeType":"YulLiteral","src":"256873:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"256879:2:22","nodeType":"YulIdentifier","src":"256879:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256866:6:22","nodeType":"YulIdentifier","src":"256866:6:22"},"nativeSrc":"256866:16:22","nodeType":"YulFunctionCall","src":"256866:16:22"},"nativeSrc":"256866:16:22","nodeType":"YulExpressionStatement","src":"256866:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256902:4:22","nodeType":"YulLiteral","src":"256902:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"256908:2:22","nodeType":"YulIdentifier","src":"256908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256895:6:22","nodeType":"YulIdentifier","src":"256895:6:22"},"nativeSrc":"256895:16:22","nodeType":"YulFunctionCall","src":"256895:16:22"},"nativeSrc":"256895:16:22","nodeType":"YulExpressionStatement","src":"256895:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256931:4:22","nodeType":"YulLiteral","src":"256931:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"256937:2:22","nodeType":"YulIdentifier","src":"256937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256924:6:22","nodeType":"YulIdentifier","src":"256924:6:22"},"nativeSrc":"256924:16:22","nodeType":"YulFunctionCall","src":"256924:16:22"},"nativeSrc":"256924:16:22","nodeType":"YulExpressionStatement","src":"256924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256960:4:22","nodeType":"YulLiteral","src":"256960:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256966:2:22","nodeType":"YulIdentifier","src":"256966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"256953:6:22","nodeType":"YulIdentifier","src":"256953:6:22"},"nativeSrc":"256953:16:22","nodeType":"YulFunctionCall","src":"256953:16:22"},"nativeSrc":"256953:16:22","nodeType":"YulExpressionStatement","src":"256953:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39409,"isOffset":false,"isSlot":false,"src":"256850:2:22","valueSize":1},{"declaration":39412,"isOffset":false,"isSlot":false,"src":"256879:2:22","valueSize":1},{"declaration":39415,"isOffset":false,"isSlot":false,"src":"256908:2:22","valueSize":1},{"declaration":39418,"isOffset":false,"isSlot":false,"src":"256937:2:22","valueSize":1},{"declaration":39421,"isOffset":false,"isSlot":false,"src":"256966:2:22","valueSize":1}],"id":39429,"nodeType":"InlineAssembly","src":"256814:165:22"}]},"id":39431,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"256116:3:22","nodeType":"FunctionDefinition","parameters":{"id":39406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39399,"mutability":"mutable","name":"p0","nameLocation":"256128:2:22","nodeType":"VariableDeclaration","scope":39431,"src":"256120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39398,"name":"uint256","nodeType":"ElementaryTypeName","src":"256120:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39401,"mutability":"mutable","name":"p1","nameLocation":"256140:2:22","nodeType":"VariableDeclaration","scope":39431,"src":"256132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39400,"name":"address","nodeType":"ElementaryTypeName","src":"256132:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39403,"mutability":"mutable","name":"p2","nameLocation":"256152:2:22","nodeType":"VariableDeclaration","scope":39431,"src":"256144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39402,"name":"uint256","nodeType":"ElementaryTypeName","src":"256144:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39405,"mutability":"mutable","name":"p3","nameLocation":"256164:2:22","nodeType":"VariableDeclaration","scope":39431,"src":"256156:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39404,"name":"address","nodeType":"ElementaryTypeName","src":"256156:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"256119:48:22"},"returnParameters":{"id":39407,"nodeType":"ParameterList","parameters":[],"src":"256182:0:22"},"scope":44426,"src":"256107:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39464,"nodeType":"Block","src":"257063:800:22","statements":[{"assignments":[39443],"declarations":[{"constant":false,"id":39443,"mutability":"mutable","name":"m0","nameLocation":"257081:2:22","nodeType":"VariableDeclaration","scope":39464,"src":"257073:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257073:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39444,"nodeType":"VariableDeclarationStatement","src":"257073:10:22"},{"assignments":[39446],"declarations":[{"constant":false,"id":39446,"mutability":"mutable","name":"m1","nameLocation":"257101:2:22","nodeType":"VariableDeclaration","scope":39464,"src":"257093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257093:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39447,"nodeType":"VariableDeclarationStatement","src":"257093:10:22"},{"assignments":[39449],"declarations":[{"constant":false,"id":39449,"mutability":"mutable","name":"m2","nameLocation":"257121:2:22","nodeType":"VariableDeclaration","scope":39464,"src":"257113:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257113:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39450,"nodeType":"VariableDeclarationStatement","src":"257113:10:22"},{"assignments":[39452],"declarations":[{"constant":false,"id":39452,"mutability":"mutable","name":"m3","nameLocation":"257141:2:22","nodeType":"VariableDeclaration","scope":39464,"src":"257133:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257133:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39453,"nodeType":"VariableDeclarationStatement","src":"257133:10:22"},{"assignments":[39455],"declarations":[{"constant":false,"id":39455,"mutability":"mutable","name":"m4","nameLocation":"257161:2:22","nodeType":"VariableDeclaration","scope":39464,"src":"257153:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257153:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39456,"nodeType":"VariableDeclarationStatement","src":"257153:10:22"},{"AST":{"nativeSrc":"257225:378:22","nodeType":"YulBlock","src":"257225:378:22","statements":[{"nativeSrc":"257239:17:22","nodeType":"YulAssignment","src":"257239:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"257251:4:22","nodeType":"YulLiteral","src":"257251:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"257245:5:22","nodeType":"YulIdentifier","src":"257245:5:22"},"nativeSrc":"257245:11:22","nodeType":"YulFunctionCall","src":"257245:11:22"},"variableNames":[{"name":"m0","nativeSrc":"257239:2:22","nodeType":"YulIdentifier","src":"257239:2:22"}]},{"nativeSrc":"257269:17:22","nodeType":"YulAssignment","src":"257269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"257281:4:22","nodeType":"YulLiteral","src":"257281:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"257275:5:22","nodeType":"YulIdentifier","src":"257275:5:22"},"nativeSrc":"257275:11:22","nodeType":"YulFunctionCall","src":"257275:11:22"},"variableNames":[{"name":"m1","nativeSrc":"257269:2:22","nodeType":"YulIdentifier","src":"257269:2:22"}]},{"nativeSrc":"257299:17:22","nodeType":"YulAssignment","src":"257299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"257311:4:22","nodeType":"YulLiteral","src":"257311:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"257305:5:22","nodeType":"YulIdentifier","src":"257305:5:22"},"nativeSrc":"257305:11:22","nodeType":"YulFunctionCall","src":"257305:11:22"},"variableNames":[{"name":"m2","nativeSrc":"257299:2:22","nodeType":"YulIdentifier","src":"257299:2:22"}]},{"nativeSrc":"257329:17:22","nodeType":"YulAssignment","src":"257329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"257341:4:22","nodeType":"YulLiteral","src":"257341:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"257335:5:22","nodeType":"YulIdentifier","src":"257335:5:22"},"nativeSrc":"257335:11:22","nodeType":"YulFunctionCall","src":"257335:11:22"},"variableNames":[{"name":"m3","nativeSrc":"257329:2:22","nodeType":"YulIdentifier","src":"257329:2:22"}]},{"nativeSrc":"257359:17:22","nodeType":"YulAssignment","src":"257359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"257371:4:22","nodeType":"YulLiteral","src":"257371:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"257365:5:22","nodeType":"YulIdentifier","src":"257365:5:22"},"nativeSrc":"257365:11:22","nodeType":"YulFunctionCall","src":"257365:11:22"},"variableNames":[{"name":"m4","nativeSrc":"257359:2:22","nodeType":"YulIdentifier","src":"257359:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257460:4:22","nodeType":"YulLiteral","src":"257460:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"257466:10:22","nodeType":"YulLiteral","src":"257466:10:22","type":"","value":"0x5f743a7c"}],"functionName":{"name":"mstore","nativeSrc":"257453:6:22","nodeType":"YulIdentifier","src":"257453:6:22"},"nativeSrc":"257453:24:22","nodeType":"YulFunctionCall","src":"257453:24:22"},"nativeSrc":"257453:24:22","nodeType":"YulExpressionStatement","src":"257453:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257497:4:22","nodeType":"YulLiteral","src":"257497:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"257503:2:22","nodeType":"YulIdentifier","src":"257503:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257490:6:22","nodeType":"YulIdentifier","src":"257490:6:22"},"nativeSrc":"257490:16:22","nodeType":"YulFunctionCall","src":"257490:16:22"},"nativeSrc":"257490:16:22","nodeType":"YulExpressionStatement","src":"257490:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257526:4:22","nodeType":"YulLiteral","src":"257526:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"257532:2:22","nodeType":"YulIdentifier","src":"257532:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257519:6:22","nodeType":"YulIdentifier","src":"257519:6:22"},"nativeSrc":"257519:16:22","nodeType":"YulFunctionCall","src":"257519:16:22"},"nativeSrc":"257519:16:22","nodeType":"YulExpressionStatement","src":"257519:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257555:4:22","nodeType":"YulLiteral","src":"257555:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"257561:2:22","nodeType":"YulIdentifier","src":"257561:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257548:6:22","nodeType":"YulIdentifier","src":"257548:6:22"},"nativeSrc":"257548:16:22","nodeType":"YulFunctionCall","src":"257548:16:22"},"nativeSrc":"257548:16:22","nodeType":"YulExpressionStatement","src":"257548:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257584:4:22","nodeType":"YulLiteral","src":"257584:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"257590:2:22","nodeType":"YulIdentifier","src":"257590:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257577:6:22","nodeType":"YulIdentifier","src":"257577:6:22"},"nativeSrc":"257577:16:22","nodeType":"YulFunctionCall","src":"257577:16:22"},"nativeSrc":"257577:16:22","nodeType":"YulExpressionStatement","src":"257577:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39443,"isOffset":false,"isSlot":false,"src":"257239:2:22","valueSize":1},{"declaration":39446,"isOffset":false,"isSlot":false,"src":"257269:2:22","valueSize":1},{"declaration":39449,"isOffset":false,"isSlot":false,"src":"257299:2:22","valueSize":1},{"declaration":39452,"isOffset":false,"isSlot":false,"src":"257329:2:22","valueSize":1},{"declaration":39455,"isOffset":false,"isSlot":false,"src":"257359:2:22","valueSize":1},{"declaration":39433,"isOffset":false,"isSlot":false,"src":"257503:2:22","valueSize":1},{"declaration":39435,"isOffset":false,"isSlot":false,"src":"257532:2:22","valueSize":1},{"declaration":39437,"isOffset":false,"isSlot":false,"src":"257561:2:22","valueSize":1},{"declaration":39439,"isOffset":false,"isSlot":false,"src":"257590:2:22","valueSize":1}],"id":39457,"nodeType":"InlineAssembly","src":"257216:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257628:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257634:4:22","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":39458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"257612:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"257612:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39462,"nodeType":"ExpressionStatement","src":"257612:27:22"},{"AST":{"nativeSrc":"257701:156:22","nodeType":"YulBlock","src":"257701:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"257722:4:22","nodeType":"YulLiteral","src":"257722:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"257728:2:22","nodeType":"YulIdentifier","src":"257728:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257715:6:22","nodeType":"YulIdentifier","src":"257715:6:22"},"nativeSrc":"257715:16:22","nodeType":"YulFunctionCall","src":"257715:16:22"},"nativeSrc":"257715:16:22","nodeType":"YulExpressionStatement","src":"257715:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257751:4:22","nodeType":"YulLiteral","src":"257751:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"257757:2:22","nodeType":"YulIdentifier","src":"257757:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257744:6:22","nodeType":"YulIdentifier","src":"257744:6:22"},"nativeSrc":"257744:16:22","nodeType":"YulFunctionCall","src":"257744:16:22"},"nativeSrc":"257744:16:22","nodeType":"YulExpressionStatement","src":"257744:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257780:4:22","nodeType":"YulLiteral","src":"257780:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"257786:2:22","nodeType":"YulIdentifier","src":"257786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257773:6:22","nodeType":"YulIdentifier","src":"257773:6:22"},"nativeSrc":"257773:16:22","nodeType":"YulFunctionCall","src":"257773:16:22"},"nativeSrc":"257773:16:22","nodeType":"YulExpressionStatement","src":"257773:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257809:4:22","nodeType":"YulLiteral","src":"257809:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"257815:2:22","nodeType":"YulIdentifier","src":"257815:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257802:6:22","nodeType":"YulIdentifier","src":"257802:6:22"},"nativeSrc":"257802:16:22","nodeType":"YulFunctionCall","src":"257802:16:22"},"nativeSrc":"257802:16:22","nodeType":"YulExpressionStatement","src":"257802:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257838:4:22","nodeType":"YulLiteral","src":"257838:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"257844:2:22","nodeType":"YulIdentifier","src":"257844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"257831:6:22","nodeType":"YulIdentifier","src":"257831:6:22"},"nativeSrc":"257831:16:22","nodeType":"YulFunctionCall","src":"257831:16:22"},"nativeSrc":"257831:16:22","nodeType":"YulExpressionStatement","src":"257831:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39443,"isOffset":false,"isSlot":false,"src":"257728:2:22","valueSize":1},{"declaration":39446,"isOffset":false,"isSlot":false,"src":"257757:2:22","valueSize":1},{"declaration":39449,"isOffset":false,"isSlot":false,"src":"257786:2:22","valueSize":1},{"declaration":39452,"isOffset":false,"isSlot":false,"src":"257815:2:22","valueSize":1},{"declaration":39455,"isOffset":false,"isSlot":false,"src":"257844:2:22","valueSize":1}],"id":39463,"nodeType":"InlineAssembly","src":"257692:165:22"}]},"id":39465,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257000:3:22","nodeType":"FunctionDefinition","parameters":{"id":39440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39433,"mutability":"mutable","name":"p0","nameLocation":"257012:2:22","nodeType":"VariableDeclaration","scope":39465,"src":"257004:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39432,"name":"uint256","nodeType":"ElementaryTypeName","src":"257004:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39435,"mutability":"mutable","name":"p1","nameLocation":"257024:2:22","nodeType":"VariableDeclaration","scope":39465,"src":"257016:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39434,"name":"address","nodeType":"ElementaryTypeName","src":"257016:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39437,"mutability":"mutable","name":"p2","nameLocation":"257036:2:22","nodeType":"VariableDeclaration","scope":39465,"src":"257028:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39436,"name":"uint256","nodeType":"ElementaryTypeName","src":"257028:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39439,"mutability":"mutable","name":"p3","nameLocation":"257045:2:22","nodeType":"VariableDeclaration","scope":39465,"src":"257040:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39438,"name":"bool","nodeType":"ElementaryTypeName","src":"257040:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"257003:45:22"},"returnParameters":{"id":39441,"nodeType":"ParameterList","parameters":[],"src":"257063:0:22"},"scope":44426,"src":"256991:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39498,"nodeType":"Block","src":"257944:803:22","statements":[{"assignments":[39477],"declarations":[{"constant":false,"id":39477,"mutability":"mutable","name":"m0","nameLocation":"257962:2:22","nodeType":"VariableDeclaration","scope":39498,"src":"257954:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39476,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257954:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39478,"nodeType":"VariableDeclarationStatement","src":"257954:10:22"},{"assignments":[39480],"declarations":[{"constant":false,"id":39480,"mutability":"mutable","name":"m1","nameLocation":"257982:2:22","nodeType":"VariableDeclaration","scope":39498,"src":"257974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257974:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39481,"nodeType":"VariableDeclarationStatement","src":"257974:10:22"},{"assignments":[39483],"declarations":[{"constant":false,"id":39483,"mutability":"mutable","name":"m2","nameLocation":"258002:2:22","nodeType":"VariableDeclaration","scope":39498,"src":"257994:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257994:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39484,"nodeType":"VariableDeclarationStatement","src":"257994:10:22"},{"assignments":[39486],"declarations":[{"constant":false,"id":39486,"mutability":"mutable","name":"m3","nameLocation":"258022:2:22","nodeType":"VariableDeclaration","scope":39498,"src":"258014:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258014:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39487,"nodeType":"VariableDeclarationStatement","src":"258014:10:22"},{"assignments":[39489],"declarations":[{"constant":false,"id":39489,"mutability":"mutable","name":"m4","nameLocation":"258042:2:22","nodeType":"VariableDeclaration","scope":39498,"src":"258034:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258034:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39490,"nodeType":"VariableDeclarationStatement","src":"258034:10:22"},{"AST":{"nativeSrc":"258106:381:22","nodeType":"YulBlock","src":"258106:381:22","statements":[{"nativeSrc":"258120:17:22","nodeType":"YulAssignment","src":"258120:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"258132:4:22","nodeType":"YulLiteral","src":"258132:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"258126:5:22","nodeType":"YulIdentifier","src":"258126:5:22"},"nativeSrc":"258126:11:22","nodeType":"YulFunctionCall","src":"258126:11:22"},"variableNames":[{"name":"m0","nativeSrc":"258120:2:22","nodeType":"YulIdentifier","src":"258120:2:22"}]},{"nativeSrc":"258150:17:22","nodeType":"YulAssignment","src":"258150:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"258162:4:22","nodeType":"YulLiteral","src":"258162:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"258156:5:22","nodeType":"YulIdentifier","src":"258156:5:22"},"nativeSrc":"258156:11:22","nodeType":"YulFunctionCall","src":"258156:11:22"},"variableNames":[{"name":"m1","nativeSrc":"258150:2:22","nodeType":"YulIdentifier","src":"258150:2:22"}]},{"nativeSrc":"258180:17:22","nodeType":"YulAssignment","src":"258180:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"258192:4:22","nodeType":"YulLiteral","src":"258192:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"258186:5:22","nodeType":"YulIdentifier","src":"258186:5:22"},"nativeSrc":"258186:11:22","nodeType":"YulFunctionCall","src":"258186:11:22"},"variableNames":[{"name":"m2","nativeSrc":"258180:2:22","nodeType":"YulIdentifier","src":"258180:2:22"}]},{"nativeSrc":"258210:17:22","nodeType":"YulAssignment","src":"258210:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"258222:4:22","nodeType":"YulLiteral","src":"258222:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"258216:5:22","nodeType":"YulIdentifier","src":"258216:5:22"},"nativeSrc":"258216:11:22","nodeType":"YulFunctionCall","src":"258216:11:22"},"variableNames":[{"name":"m3","nativeSrc":"258210:2:22","nodeType":"YulIdentifier","src":"258210:2:22"}]},{"nativeSrc":"258240:17:22","nodeType":"YulAssignment","src":"258240:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"258252:4:22","nodeType":"YulLiteral","src":"258252:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"258246:5:22","nodeType":"YulIdentifier","src":"258246:5:22"},"nativeSrc":"258246:11:22","nodeType":"YulFunctionCall","src":"258246:11:22"},"variableNames":[{"name":"m4","nativeSrc":"258240:2:22","nodeType":"YulIdentifier","src":"258240:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258344:4:22","nodeType":"YulLiteral","src":"258344:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"258350:10:22","nodeType":"YulLiteral","src":"258350:10:22","type":"","value":"0x0c9cd9c1"}],"functionName":{"name":"mstore","nativeSrc":"258337:6:22","nodeType":"YulIdentifier","src":"258337:6:22"},"nativeSrc":"258337:24:22","nodeType":"YulFunctionCall","src":"258337:24:22"},"nativeSrc":"258337:24:22","nodeType":"YulExpressionStatement","src":"258337:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258381:4:22","nodeType":"YulLiteral","src":"258381:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"258387:2:22","nodeType":"YulIdentifier","src":"258387:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258374:6:22","nodeType":"YulIdentifier","src":"258374:6:22"},"nativeSrc":"258374:16:22","nodeType":"YulFunctionCall","src":"258374:16:22"},"nativeSrc":"258374:16:22","nodeType":"YulExpressionStatement","src":"258374:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258410:4:22","nodeType":"YulLiteral","src":"258410:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"258416:2:22","nodeType":"YulIdentifier","src":"258416:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258403:6:22","nodeType":"YulIdentifier","src":"258403:6:22"},"nativeSrc":"258403:16:22","nodeType":"YulFunctionCall","src":"258403:16:22"},"nativeSrc":"258403:16:22","nodeType":"YulExpressionStatement","src":"258403:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258439:4:22","nodeType":"YulLiteral","src":"258439:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"258445:2:22","nodeType":"YulIdentifier","src":"258445:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258432:6:22","nodeType":"YulIdentifier","src":"258432:6:22"},"nativeSrc":"258432:16:22","nodeType":"YulFunctionCall","src":"258432:16:22"},"nativeSrc":"258432:16:22","nodeType":"YulExpressionStatement","src":"258432:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258468:4:22","nodeType":"YulLiteral","src":"258468:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"258474:2:22","nodeType":"YulIdentifier","src":"258474:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258461:6:22","nodeType":"YulIdentifier","src":"258461:6:22"},"nativeSrc":"258461:16:22","nodeType":"YulFunctionCall","src":"258461:16:22"},"nativeSrc":"258461:16:22","nodeType":"YulExpressionStatement","src":"258461:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39477,"isOffset":false,"isSlot":false,"src":"258120:2:22","valueSize":1},{"declaration":39480,"isOffset":false,"isSlot":false,"src":"258150:2:22","valueSize":1},{"declaration":39483,"isOffset":false,"isSlot":false,"src":"258180:2:22","valueSize":1},{"declaration":39486,"isOffset":false,"isSlot":false,"src":"258210:2:22","valueSize":1},{"declaration":39489,"isOffset":false,"isSlot":false,"src":"258240:2:22","valueSize":1},{"declaration":39467,"isOffset":false,"isSlot":false,"src":"258387:2:22","valueSize":1},{"declaration":39469,"isOffset":false,"isSlot":false,"src":"258416:2:22","valueSize":1},{"declaration":39471,"isOffset":false,"isSlot":false,"src":"258445:2:22","valueSize":1},{"declaration":39473,"isOffset":false,"isSlot":false,"src":"258474:2:22","valueSize":1}],"id":39491,"nodeType":"InlineAssembly","src":"258097:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258512:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258518:4:22","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":39492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"258496:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"258496:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39496,"nodeType":"ExpressionStatement","src":"258496:27:22"},{"AST":{"nativeSrc":"258585:156:22","nodeType":"YulBlock","src":"258585:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"258606:4:22","nodeType":"YulLiteral","src":"258606:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"258612:2:22","nodeType":"YulIdentifier","src":"258612:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258599:6:22","nodeType":"YulIdentifier","src":"258599:6:22"},"nativeSrc":"258599:16:22","nodeType":"YulFunctionCall","src":"258599:16:22"},"nativeSrc":"258599:16:22","nodeType":"YulExpressionStatement","src":"258599:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258635:4:22","nodeType":"YulLiteral","src":"258635:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"258641:2:22","nodeType":"YulIdentifier","src":"258641:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258628:6:22","nodeType":"YulIdentifier","src":"258628:6:22"},"nativeSrc":"258628:16:22","nodeType":"YulFunctionCall","src":"258628:16:22"},"nativeSrc":"258628:16:22","nodeType":"YulExpressionStatement","src":"258628:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258664:4:22","nodeType":"YulLiteral","src":"258664:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"258670:2:22","nodeType":"YulIdentifier","src":"258670:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258657:6:22","nodeType":"YulIdentifier","src":"258657:6:22"},"nativeSrc":"258657:16:22","nodeType":"YulFunctionCall","src":"258657:16:22"},"nativeSrc":"258657:16:22","nodeType":"YulExpressionStatement","src":"258657:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258693:4:22","nodeType":"YulLiteral","src":"258693:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"258699:2:22","nodeType":"YulIdentifier","src":"258699:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258686:6:22","nodeType":"YulIdentifier","src":"258686:6:22"},"nativeSrc":"258686:16:22","nodeType":"YulFunctionCall","src":"258686:16:22"},"nativeSrc":"258686:16:22","nodeType":"YulExpressionStatement","src":"258686:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258722:4:22","nodeType":"YulLiteral","src":"258722:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"258728:2:22","nodeType":"YulIdentifier","src":"258728:2:22"}],"functionName":{"name":"mstore","nativeSrc":"258715:6:22","nodeType":"YulIdentifier","src":"258715:6:22"},"nativeSrc":"258715:16:22","nodeType":"YulFunctionCall","src":"258715:16:22"},"nativeSrc":"258715:16:22","nodeType":"YulExpressionStatement","src":"258715:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39477,"isOffset":false,"isSlot":false,"src":"258612:2:22","valueSize":1},{"declaration":39480,"isOffset":false,"isSlot":false,"src":"258641:2:22","valueSize":1},{"declaration":39483,"isOffset":false,"isSlot":false,"src":"258670:2:22","valueSize":1},{"declaration":39486,"isOffset":false,"isSlot":false,"src":"258699:2:22","valueSize":1},{"declaration":39489,"isOffset":false,"isSlot":false,"src":"258728:2:22","valueSize":1}],"id":39497,"nodeType":"InlineAssembly","src":"258576:165:22"}]},"id":39499,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257878:3:22","nodeType":"FunctionDefinition","parameters":{"id":39474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39467,"mutability":"mutable","name":"p0","nameLocation":"257890:2:22","nodeType":"VariableDeclaration","scope":39499,"src":"257882:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39466,"name":"uint256","nodeType":"ElementaryTypeName","src":"257882:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39469,"mutability":"mutable","name":"p1","nameLocation":"257902:2:22","nodeType":"VariableDeclaration","scope":39499,"src":"257894:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39468,"name":"address","nodeType":"ElementaryTypeName","src":"257894:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39471,"mutability":"mutable","name":"p2","nameLocation":"257914:2:22","nodeType":"VariableDeclaration","scope":39499,"src":"257906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39470,"name":"uint256","nodeType":"ElementaryTypeName","src":"257906:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39473,"mutability":"mutable","name":"p3","nameLocation":"257926:2:22","nodeType":"VariableDeclaration","scope":39499,"src":"257918:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39472,"name":"uint256","nodeType":"ElementaryTypeName","src":"257918:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"257881:48:22"},"returnParameters":{"id":39475,"nodeType":"ParameterList","parameters":[],"src":"257944:0:22"},"scope":44426,"src":"257869:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39538,"nodeType":"Block","src":"258828:1351:22","statements":[{"assignments":[39511],"declarations":[{"constant":false,"id":39511,"mutability":"mutable","name":"m0","nameLocation":"258846:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258838:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39512,"nodeType":"VariableDeclarationStatement","src":"258838:10:22"},{"assignments":[39514],"declarations":[{"constant":false,"id":39514,"mutability":"mutable","name":"m1","nameLocation":"258866:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258858:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39515,"nodeType":"VariableDeclarationStatement","src":"258858:10:22"},{"assignments":[39517],"declarations":[{"constant":false,"id":39517,"mutability":"mutable","name":"m2","nameLocation":"258886:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39518,"nodeType":"VariableDeclarationStatement","src":"258878:10:22"},{"assignments":[39520],"declarations":[{"constant":false,"id":39520,"mutability":"mutable","name":"m3","nameLocation":"258906:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258898:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258898:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39521,"nodeType":"VariableDeclarationStatement","src":"258898:10:22"},{"assignments":[39523],"declarations":[{"constant":false,"id":39523,"mutability":"mutable","name":"m4","nameLocation":"258926:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258918:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258918:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39524,"nodeType":"VariableDeclarationStatement","src":"258918:10:22"},{"assignments":[39526],"declarations":[{"constant":false,"id":39526,"mutability":"mutable","name":"m5","nameLocation":"258946:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258938:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39527,"nodeType":"VariableDeclarationStatement","src":"258938:10:22"},{"assignments":[39529],"declarations":[{"constant":false,"id":39529,"mutability":"mutable","name":"m6","nameLocation":"258966:2:22","nodeType":"VariableDeclaration","scope":39538,"src":"258958:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258958:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39530,"nodeType":"VariableDeclarationStatement","src":"258958:10:22"},{"AST":{"nativeSrc":"259030:831:22","nodeType":"YulBlock","src":"259030:831:22","statements":[{"body":{"nativeSrc":"259073:313:22","nodeType":"YulBlock","src":"259073:313:22","statements":[{"nativeSrc":"259091:15:22","nodeType":"YulVariableDeclaration","src":"259091:15:22","value":{"kind":"number","nativeSrc":"259105:1:22","nodeType":"YulLiteral","src":"259105:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"259095:6:22","nodeType":"YulTypedName","src":"259095:6:22","type":""}]},{"body":{"nativeSrc":"259176:40:22","nodeType":"YulBlock","src":"259176:40:22","statements":[{"body":{"nativeSrc":"259205:9:22","nodeType":"YulBlock","src":"259205:9:22","statements":[{"nativeSrc":"259207:5:22","nodeType":"YulBreak","src":"259207:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"259193:6:22","nodeType":"YulIdentifier","src":"259193:6:22"},{"name":"w","nativeSrc":"259201:1:22","nodeType":"YulIdentifier","src":"259201:1:22"}],"functionName":{"name":"byte","nativeSrc":"259188:4:22","nodeType":"YulIdentifier","src":"259188:4:22"},"nativeSrc":"259188:15:22","nodeType":"YulFunctionCall","src":"259188:15:22"}],"functionName":{"name":"iszero","nativeSrc":"259181:6:22","nodeType":"YulIdentifier","src":"259181:6:22"},"nativeSrc":"259181:23:22","nodeType":"YulFunctionCall","src":"259181:23:22"},"nativeSrc":"259178:36:22","nodeType":"YulIf","src":"259178:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"259133:6:22","nodeType":"YulIdentifier","src":"259133:6:22"},{"kind":"number","nativeSrc":"259141:4:22","nodeType":"YulLiteral","src":"259141:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"259130:2:22","nodeType":"YulIdentifier","src":"259130:2:22"},"nativeSrc":"259130:16:22","nodeType":"YulFunctionCall","src":"259130:16:22"},"nativeSrc":"259123:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"259147:28:22","nodeType":"YulBlock","src":"259147:28:22","statements":[{"nativeSrc":"259149:24:22","nodeType":"YulAssignment","src":"259149:24:22","value":{"arguments":[{"name":"length","nativeSrc":"259163:6:22","nodeType":"YulIdentifier","src":"259163:6:22"},{"kind":"number","nativeSrc":"259171:1:22","nodeType":"YulLiteral","src":"259171:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"259159:3:22","nodeType":"YulIdentifier","src":"259159:3:22"},"nativeSrc":"259159:14:22","nodeType":"YulFunctionCall","src":"259159:14:22"},"variableNames":[{"name":"length","nativeSrc":"259149:6:22","nodeType":"YulIdentifier","src":"259149:6:22"}]}]},"pre":{"nativeSrc":"259127:2:22","nodeType":"YulBlock","src":"259127:2:22","statements":[]},"src":"259123:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"259240:3:22","nodeType":"YulIdentifier","src":"259240:3:22"},{"name":"length","nativeSrc":"259245:6:22","nodeType":"YulIdentifier","src":"259245:6:22"}],"functionName":{"name":"mstore","nativeSrc":"259233:6:22","nodeType":"YulIdentifier","src":"259233:6:22"},"nativeSrc":"259233:19:22","nodeType":"YulFunctionCall","src":"259233:19:22"},"nativeSrc":"259233:19:22","nodeType":"YulExpressionStatement","src":"259233:19:22"},{"nativeSrc":"259269:37:22","nodeType":"YulVariableDeclaration","src":"259269:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"259286:3:22","nodeType":"YulLiteral","src":"259286:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"259295:1:22","nodeType":"YulLiteral","src":"259295:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"259298:6:22","nodeType":"YulIdentifier","src":"259298:6:22"}],"functionName":{"name":"shl","nativeSrc":"259291:3:22","nodeType":"YulIdentifier","src":"259291:3:22"},"nativeSrc":"259291:14:22","nodeType":"YulFunctionCall","src":"259291:14:22"}],"functionName":{"name":"sub","nativeSrc":"259282:3:22","nodeType":"YulIdentifier","src":"259282:3:22"},"nativeSrc":"259282:24:22","nodeType":"YulFunctionCall","src":"259282:24:22"},"variables":[{"name":"shift","nativeSrc":"259273:5:22","nodeType":"YulTypedName","src":"259273:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"259334:3:22","nodeType":"YulIdentifier","src":"259334:3:22"},{"kind":"number","nativeSrc":"259339:4:22","nodeType":"YulLiteral","src":"259339:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"259330:3:22","nodeType":"YulIdentifier","src":"259330:3:22"},"nativeSrc":"259330:14:22","nodeType":"YulFunctionCall","src":"259330:14:22"},{"arguments":[{"name":"shift","nativeSrc":"259350:5:22","nodeType":"YulIdentifier","src":"259350:5:22"},{"arguments":[{"name":"shift","nativeSrc":"259361:5:22","nodeType":"YulIdentifier","src":"259361:5:22"},{"name":"w","nativeSrc":"259368:1:22","nodeType":"YulIdentifier","src":"259368:1:22"}],"functionName":{"name":"shr","nativeSrc":"259357:3:22","nodeType":"YulIdentifier","src":"259357:3:22"},"nativeSrc":"259357:13:22","nodeType":"YulFunctionCall","src":"259357:13:22"}],"functionName":{"name":"shl","nativeSrc":"259346:3:22","nodeType":"YulIdentifier","src":"259346:3:22"},"nativeSrc":"259346:25:22","nodeType":"YulFunctionCall","src":"259346:25:22"}],"functionName":{"name":"mstore","nativeSrc":"259323:6:22","nodeType":"YulIdentifier","src":"259323:6:22"},"nativeSrc":"259323:49:22","nodeType":"YulFunctionCall","src":"259323:49:22"},"nativeSrc":"259323:49:22","nodeType":"YulExpressionStatement","src":"259323:49:22"}]},"name":"writeString","nativeSrc":"259044:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"259065:3:22","nodeType":"YulTypedName","src":"259065:3:22","type":""},{"name":"w","nativeSrc":"259070:1:22","nodeType":"YulTypedName","src":"259070:1:22","type":""}],"src":"259044:342:22"},{"nativeSrc":"259399:17:22","nodeType":"YulAssignment","src":"259399:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259411:4:22","nodeType":"YulLiteral","src":"259411:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"259405:5:22","nodeType":"YulIdentifier","src":"259405:5:22"},"nativeSrc":"259405:11:22","nodeType":"YulFunctionCall","src":"259405:11:22"},"variableNames":[{"name":"m0","nativeSrc":"259399:2:22","nodeType":"YulIdentifier","src":"259399:2:22"}]},{"nativeSrc":"259429:17:22","nodeType":"YulAssignment","src":"259429:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259441:4:22","nodeType":"YulLiteral","src":"259441:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"259435:5:22","nodeType":"YulIdentifier","src":"259435:5:22"},"nativeSrc":"259435:11:22","nodeType":"YulFunctionCall","src":"259435:11:22"},"variableNames":[{"name":"m1","nativeSrc":"259429:2:22","nodeType":"YulIdentifier","src":"259429:2:22"}]},{"nativeSrc":"259459:17:22","nodeType":"YulAssignment","src":"259459:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259471:4:22","nodeType":"YulLiteral","src":"259471:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"259465:5:22","nodeType":"YulIdentifier","src":"259465:5:22"},"nativeSrc":"259465:11:22","nodeType":"YulFunctionCall","src":"259465:11:22"},"variableNames":[{"name":"m2","nativeSrc":"259459:2:22","nodeType":"YulIdentifier","src":"259459:2:22"}]},{"nativeSrc":"259489:17:22","nodeType":"YulAssignment","src":"259489:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259501:4:22","nodeType":"YulLiteral","src":"259501:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"259495:5:22","nodeType":"YulIdentifier","src":"259495:5:22"},"nativeSrc":"259495:11:22","nodeType":"YulFunctionCall","src":"259495:11:22"},"variableNames":[{"name":"m3","nativeSrc":"259489:2:22","nodeType":"YulIdentifier","src":"259489:2:22"}]},{"nativeSrc":"259519:17:22","nodeType":"YulAssignment","src":"259519:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259531:4:22","nodeType":"YulLiteral","src":"259531:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"259525:5:22","nodeType":"YulIdentifier","src":"259525:5:22"},"nativeSrc":"259525:11:22","nodeType":"YulFunctionCall","src":"259525:11:22"},"variableNames":[{"name":"m4","nativeSrc":"259519:2:22","nodeType":"YulIdentifier","src":"259519:2:22"}]},{"nativeSrc":"259549:17:22","nodeType":"YulAssignment","src":"259549:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259561:4:22","nodeType":"YulLiteral","src":"259561:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"259555:5:22","nodeType":"YulIdentifier","src":"259555:5:22"},"nativeSrc":"259555:11:22","nodeType":"YulFunctionCall","src":"259555:11:22"},"variableNames":[{"name":"m5","nativeSrc":"259549:2:22","nodeType":"YulIdentifier","src":"259549:2:22"}]},{"nativeSrc":"259579:17:22","nodeType":"YulAssignment","src":"259579:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"259591:4:22","nodeType":"YulLiteral","src":"259591:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"259585:5:22","nodeType":"YulIdentifier","src":"259585:5:22"},"nativeSrc":"259585:11:22","nodeType":"YulFunctionCall","src":"259585:11:22"},"variableNames":[{"name":"m6","nativeSrc":"259579:2:22","nodeType":"YulIdentifier","src":"259579:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259682:4:22","nodeType":"YulLiteral","src":"259682:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"259688:10:22","nodeType":"YulLiteral","src":"259688:10:22","type":"","value":"0xddb06521"}],"functionName":{"name":"mstore","nativeSrc":"259675:6:22","nodeType":"YulIdentifier","src":"259675:6:22"},"nativeSrc":"259675:24:22","nodeType":"YulFunctionCall","src":"259675:24:22"},"nativeSrc":"259675:24:22","nodeType":"YulExpressionStatement","src":"259675:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259719:4:22","nodeType":"YulLiteral","src":"259719:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"259725:2:22","nodeType":"YulIdentifier","src":"259725:2:22"}],"functionName":{"name":"mstore","nativeSrc":"259712:6:22","nodeType":"YulIdentifier","src":"259712:6:22"},"nativeSrc":"259712:16:22","nodeType":"YulFunctionCall","src":"259712:16:22"},"nativeSrc":"259712:16:22","nodeType":"YulExpressionStatement","src":"259712:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259748:4:22","nodeType":"YulLiteral","src":"259748:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"259754:2:22","nodeType":"YulIdentifier","src":"259754:2:22"}],"functionName":{"name":"mstore","nativeSrc":"259741:6:22","nodeType":"YulIdentifier","src":"259741:6:22"},"nativeSrc":"259741:16:22","nodeType":"YulFunctionCall","src":"259741:16:22"},"nativeSrc":"259741:16:22","nodeType":"YulExpressionStatement","src":"259741:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259777:4:22","nodeType":"YulLiteral","src":"259777:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"259783:2:22","nodeType":"YulIdentifier","src":"259783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"259770:6:22","nodeType":"YulIdentifier","src":"259770:6:22"},"nativeSrc":"259770:16:22","nodeType":"YulFunctionCall","src":"259770:16:22"},"nativeSrc":"259770:16:22","nodeType":"YulExpressionStatement","src":"259770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259806:4:22","nodeType":"YulLiteral","src":"259806:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"259812:4:22","nodeType":"YulLiteral","src":"259812:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"259799:6:22","nodeType":"YulIdentifier","src":"259799:6:22"},"nativeSrc":"259799:18:22","nodeType":"YulFunctionCall","src":"259799:18:22"},"nativeSrc":"259799:18:22","nodeType":"YulExpressionStatement","src":"259799:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259842:4:22","nodeType":"YulLiteral","src":"259842:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"259848:2:22","nodeType":"YulIdentifier","src":"259848:2:22"}],"functionName":{"name":"writeString","nativeSrc":"259830:11:22","nodeType":"YulIdentifier","src":"259830:11:22"},"nativeSrc":"259830:21:22","nodeType":"YulFunctionCall","src":"259830:21:22"},"nativeSrc":"259830:21:22","nodeType":"YulExpressionStatement","src":"259830:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39511,"isOffset":false,"isSlot":false,"src":"259399:2:22","valueSize":1},{"declaration":39514,"isOffset":false,"isSlot":false,"src":"259429:2:22","valueSize":1},{"declaration":39517,"isOffset":false,"isSlot":false,"src":"259459:2:22","valueSize":1},{"declaration":39520,"isOffset":false,"isSlot":false,"src":"259489:2:22","valueSize":1},{"declaration":39523,"isOffset":false,"isSlot":false,"src":"259519:2:22","valueSize":1},{"declaration":39526,"isOffset":false,"isSlot":false,"src":"259549:2:22","valueSize":1},{"declaration":39529,"isOffset":false,"isSlot":false,"src":"259579:2:22","valueSize":1},{"declaration":39501,"isOffset":false,"isSlot":false,"src":"259725:2:22","valueSize":1},{"declaration":39503,"isOffset":false,"isSlot":false,"src":"259754:2:22","valueSize":1},{"declaration":39505,"isOffset":false,"isSlot":false,"src":"259783:2:22","valueSize":1},{"declaration":39507,"isOffset":false,"isSlot":false,"src":"259848:2:22","valueSize":1}],"id":39531,"nodeType":"InlineAssembly","src":"259021:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259886:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259892:4:22","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":39532,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"259870:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259870:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39536,"nodeType":"ExpressionStatement","src":"259870:27:22"},{"AST":{"nativeSrc":"259959:214:22","nodeType":"YulBlock","src":"259959:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"259980:4:22","nodeType":"YulLiteral","src":"259980:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"259986:2:22","nodeType":"YulIdentifier","src":"259986:2:22"}],"functionName":{"name":"mstore","nativeSrc":"259973:6:22","nodeType":"YulIdentifier","src":"259973:6:22"},"nativeSrc":"259973:16:22","nodeType":"YulFunctionCall","src":"259973:16:22"},"nativeSrc":"259973:16:22","nodeType":"YulExpressionStatement","src":"259973:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260009:4:22","nodeType":"YulLiteral","src":"260009:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"260015:2:22","nodeType":"YulIdentifier","src":"260015:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260002:6:22","nodeType":"YulIdentifier","src":"260002:6:22"},"nativeSrc":"260002:16:22","nodeType":"YulFunctionCall","src":"260002:16:22"},"nativeSrc":"260002:16:22","nodeType":"YulExpressionStatement","src":"260002:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260038:4:22","nodeType":"YulLiteral","src":"260038:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"260044:2:22","nodeType":"YulIdentifier","src":"260044:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260031:6:22","nodeType":"YulIdentifier","src":"260031:6:22"},"nativeSrc":"260031:16:22","nodeType":"YulFunctionCall","src":"260031:16:22"},"nativeSrc":"260031:16:22","nodeType":"YulExpressionStatement","src":"260031:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260067:4:22","nodeType":"YulLiteral","src":"260067:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"260073:2:22","nodeType":"YulIdentifier","src":"260073:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260060:6:22","nodeType":"YulIdentifier","src":"260060:6:22"},"nativeSrc":"260060:16:22","nodeType":"YulFunctionCall","src":"260060:16:22"},"nativeSrc":"260060:16:22","nodeType":"YulExpressionStatement","src":"260060:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260096:4:22","nodeType":"YulLiteral","src":"260096:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"260102:2:22","nodeType":"YulIdentifier","src":"260102:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260089:6:22","nodeType":"YulIdentifier","src":"260089:6:22"},"nativeSrc":"260089:16:22","nodeType":"YulFunctionCall","src":"260089:16:22"},"nativeSrc":"260089:16:22","nodeType":"YulExpressionStatement","src":"260089:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260125:4:22","nodeType":"YulLiteral","src":"260125:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"260131:2:22","nodeType":"YulIdentifier","src":"260131:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260118:6:22","nodeType":"YulIdentifier","src":"260118:6:22"},"nativeSrc":"260118:16:22","nodeType":"YulFunctionCall","src":"260118:16:22"},"nativeSrc":"260118:16:22","nodeType":"YulExpressionStatement","src":"260118:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260154:4:22","nodeType":"YulLiteral","src":"260154:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"260160:2:22","nodeType":"YulIdentifier","src":"260160:2:22"}],"functionName":{"name":"mstore","nativeSrc":"260147:6:22","nodeType":"YulIdentifier","src":"260147:6:22"},"nativeSrc":"260147:16:22","nodeType":"YulFunctionCall","src":"260147:16:22"},"nativeSrc":"260147:16:22","nodeType":"YulExpressionStatement","src":"260147:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39511,"isOffset":false,"isSlot":false,"src":"259986:2:22","valueSize":1},{"declaration":39514,"isOffset":false,"isSlot":false,"src":"260015:2:22","valueSize":1},{"declaration":39517,"isOffset":false,"isSlot":false,"src":"260044:2:22","valueSize":1},{"declaration":39520,"isOffset":false,"isSlot":false,"src":"260073:2:22","valueSize":1},{"declaration":39523,"isOffset":false,"isSlot":false,"src":"260102:2:22","valueSize":1},{"declaration":39526,"isOffset":false,"isSlot":false,"src":"260131:2:22","valueSize":1},{"declaration":39529,"isOffset":false,"isSlot":false,"src":"260160:2:22","valueSize":1}],"id":39537,"nodeType":"InlineAssembly","src":"259950:223:22"}]},"id":39539,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"258762:3:22","nodeType":"FunctionDefinition","parameters":{"id":39508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39501,"mutability":"mutable","name":"p0","nameLocation":"258774:2:22","nodeType":"VariableDeclaration","scope":39539,"src":"258766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39500,"name":"uint256","nodeType":"ElementaryTypeName","src":"258766:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39503,"mutability":"mutable","name":"p1","nameLocation":"258786:2:22","nodeType":"VariableDeclaration","scope":39539,"src":"258778:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39502,"name":"address","nodeType":"ElementaryTypeName","src":"258778:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39505,"mutability":"mutable","name":"p2","nameLocation":"258798:2:22","nodeType":"VariableDeclaration","scope":39539,"src":"258790:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39504,"name":"uint256","nodeType":"ElementaryTypeName","src":"258790:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39507,"mutability":"mutable","name":"p3","nameLocation":"258810:2:22","nodeType":"VariableDeclaration","scope":39539,"src":"258802:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258802:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"258765:48:22"},"returnParameters":{"id":39509,"nodeType":"ParameterList","parameters":[],"src":"258828:0:22"},"scope":44426,"src":"258753:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39578,"nodeType":"Block","src":"260260:1351:22","statements":[{"assignments":[39551],"declarations":[{"constant":false,"id":39551,"mutability":"mutable","name":"m0","nameLocation":"260278:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260270:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260270:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39552,"nodeType":"VariableDeclarationStatement","src":"260270:10:22"},{"assignments":[39554],"declarations":[{"constant":false,"id":39554,"mutability":"mutable","name":"m1","nameLocation":"260298:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260290:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260290:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39555,"nodeType":"VariableDeclarationStatement","src":"260290:10:22"},{"assignments":[39557],"declarations":[{"constant":false,"id":39557,"mutability":"mutable","name":"m2","nameLocation":"260318:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260310:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260310:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39558,"nodeType":"VariableDeclarationStatement","src":"260310:10:22"},{"assignments":[39560],"declarations":[{"constant":false,"id":39560,"mutability":"mutable","name":"m3","nameLocation":"260338:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260330:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260330:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39561,"nodeType":"VariableDeclarationStatement","src":"260330:10:22"},{"assignments":[39563],"declarations":[{"constant":false,"id":39563,"mutability":"mutable","name":"m4","nameLocation":"260358:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260350:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260350:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39564,"nodeType":"VariableDeclarationStatement","src":"260350:10:22"},{"assignments":[39566],"declarations":[{"constant":false,"id":39566,"mutability":"mutable","name":"m5","nameLocation":"260378:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260370:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260370:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39567,"nodeType":"VariableDeclarationStatement","src":"260370:10:22"},{"assignments":[39569],"declarations":[{"constant":false,"id":39569,"mutability":"mutable","name":"m6","nameLocation":"260398:2:22","nodeType":"VariableDeclaration","scope":39578,"src":"260390:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260390:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39570,"nodeType":"VariableDeclarationStatement","src":"260390:10:22"},{"AST":{"nativeSrc":"260462:831:22","nodeType":"YulBlock","src":"260462:831:22","statements":[{"body":{"nativeSrc":"260505:313:22","nodeType":"YulBlock","src":"260505:313:22","statements":[{"nativeSrc":"260523:15:22","nodeType":"YulVariableDeclaration","src":"260523:15:22","value":{"kind":"number","nativeSrc":"260537:1:22","nodeType":"YulLiteral","src":"260537:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"260527:6:22","nodeType":"YulTypedName","src":"260527:6:22","type":""}]},{"body":{"nativeSrc":"260608:40:22","nodeType":"YulBlock","src":"260608:40:22","statements":[{"body":{"nativeSrc":"260637:9:22","nodeType":"YulBlock","src":"260637:9:22","statements":[{"nativeSrc":"260639:5:22","nodeType":"YulBreak","src":"260639:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"260625:6:22","nodeType":"YulIdentifier","src":"260625:6:22"},{"name":"w","nativeSrc":"260633:1:22","nodeType":"YulIdentifier","src":"260633:1:22"}],"functionName":{"name":"byte","nativeSrc":"260620:4:22","nodeType":"YulIdentifier","src":"260620:4:22"},"nativeSrc":"260620:15:22","nodeType":"YulFunctionCall","src":"260620:15:22"}],"functionName":{"name":"iszero","nativeSrc":"260613:6:22","nodeType":"YulIdentifier","src":"260613:6:22"},"nativeSrc":"260613:23:22","nodeType":"YulFunctionCall","src":"260613:23:22"},"nativeSrc":"260610:36:22","nodeType":"YulIf","src":"260610:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"260565:6:22","nodeType":"YulIdentifier","src":"260565:6:22"},{"kind":"number","nativeSrc":"260573:4:22","nodeType":"YulLiteral","src":"260573:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"260562:2:22","nodeType":"YulIdentifier","src":"260562:2:22"},"nativeSrc":"260562:16:22","nodeType":"YulFunctionCall","src":"260562:16:22"},"nativeSrc":"260555:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"260579:28:22","nodeType":"YulBlock","src":"260579:28:22","statements":[{"nativeSrc":"260581:24:22","nodeType":"YulAssignment","src":"260581:24:22","value":{"arguments":[{"name":"length","nativeSrc":"260595:6:22","nodeType":"YulIdentifier","src":"260595:6:22"},{"kind":"number","nativeSrc":"260603:1:22","nodeType":"YulLiteral","src":"260603:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"260591:3:22","nodeType":"YulIdentifier","src":"260591:3:22"},"nativeSrc":"260591:14:22","nodeType":"YulFunctionCall","src":"260591:14:22"},"variableNames":[{"name":"length","nativeSrc":"260581:6:22","nodeType":"YulIdentifier","src":"260581:6:22"}]}]},"pre":{"nativeSrc":"260559:2:22","nodeType":"YulBlock","src":"260559:2:22","statements":[]},"src":"260555:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"260672:3:22","nodeType":"YulIdentifier","src":"260672:3:22"},{"name":"length","nativeSrc":"260677:6:22","nodeType":"YulIdentifier","src":"260677:6:22"}],"functionName":{"name":"mstore","nativeSrc":"260665:6:22","nodeType":"YulIdentifier","src":"260665:6:22"},"nativeSrc":"260665:19:22","nodeType":"YulFunctionCall","src":"260665:19:22"},"nativeSrc":"260665:19:22","nodeType":"YulExpressionStatement","src":"260665:19:22"},{"nativeSrc":"260701:37:22","nodeType":"YulVariableDeclaration","src":"260701:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"260718:3:22","nodeType":"YulLiteral","src":"260718:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"260727:1:22","nodeType":"YulLiteral","src":"260727:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"260730:6:22","nodeType":"YulIdentifier","src":"260730:6:22"}],"functionName":{"name":"shl","nativeSrc":"260723:3:22","nodeType":"YulIdentifier","src":"260723:3:22"},"nativeSrc":"260723:14:22","nodeType":"YulFunctionCall","src":"260723:14:22"}],"functionName":{"name":"sub","nativeSrc":"260714:3:22","nodeType":"YulIdentifier","src":"260714:3:22"},"nativeSrc":"260714:24:22","nodeType":"YulFunctionCall","src":"260714:24:22"},"variables":[{"name":"shift","nativeSrc":"260705:5:22","nodeType":"YulTypedName","src":"260705:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"260766:3:22","nodeType":"YulIdentifier","src":"260766:3:22"},{"kind":"number","nativeSrc":"260771:4:22","nodeType":"YulLiteral","src":"260771:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"260762:3:22","nodeType":"YulIdentifier","src":"260762:3:22"},"nativeSrc":"260762:14:22","nodeType":"YulFunctionCall","src":"260762:14:22"},{"arguments":[{"name":"shift","nativeSrc":"260782:5:22","nodeType":"YulIdentifier","src":"260782:5:22"},{"arguments":[{"name":"shift","nativeSrc":"260793:5:22","nodeType":"YulIdentifier","src":"260793:5:22"},{"name":"w","nativeSrc":"260800:1:22","nodeType":"YulIdentifier","src":"260800:1:22"}],"functionName":{"name":"shr","nativeSrc":"260789:3:22","nodeType":"YulIdentifier","src":"260789:3:22"},"nativeSrc":"260789:13:22","nodeType":"YulFunctionCall","src":"260789:13:22"}],"functionName":{"name":"shl","nativeSrc":"260778:3:22","nodeType":"YulIdentifier","src":"260778:3:22"},"nativeSrc":"260778:25:22","nodeType":"YulFunctionCall","src":"260778:25:22"}],"functionName":{"name":"mstore","nativeSrc":"260755:6:22","nodeType":"YulIdentifier","src":"260755:6:22"},"nativeSrc":"260755:49:22","nodeType":"YulFunctionCall","src":"260755:49:22"},"nativeSrc":"260755:49:22","nodeType":"YulExpressionStatement","src":"260755:49:22"}]},"name":"writeString","nativeSrc":"260476:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"260497:3:22","nodeType":"YulTypedName","src":"260497:3:22","type":""},{"name":"w","nativeSrc":"260502:1:22","nodeType":"YulTypedName","src":"260502:1:22","type":""}],"src":"260476:342:22"},{"nativeSrc":"260831:17:22","nodeType":"YulAssignment","src":"260831:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260843:4:22","nodeType":"YulLiteral","src":"260843:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"260837:5:22","nodeType":"YulIdentifier","src":"260837:5:22"},"nativeSrc":"260837:11:22","nodeType":"YulFunctionCall","src":"260837:11:22"},"variableNames":[{"name":"m0","nativeSrc":"260831:2:22","nodeType":"YulIdentifier","src":"260831:2:22"}]},{"nativeSrc":"260861:17:22","nodeType":"YulAssignment","src":"260861:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260873:4:22","nodeType":"YulLiteral","src":"260873:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"260867:5:22","nodeType":"YulIdentifier","src":"260867:5:22"},"nativeSrc":"260867:11:22","nodeType":"YulFunctionCall","src":"260867:11:22"},"variableNames":[{"name":"m1","nativeSrc":"260861:2:22","nodeType":"YulIdentifier","src":"260861:2:22"}]},{"nativeSrc":"260891:17:22","nodeType":"YulAssignment","src":"260891:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260903:4:22","nodeType":"YulLiteral","src":"260903:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"260897:5:22","nodeType":"YulIdentifier","src":"260897:5:22"},"nativeSrc":"260897:11:22","nodeType":"YulFunctionCall","src":"260897:11:22"},"variableNames":[{"name":"m2","nativeSrc":"260891:2:22","nodeType":"YulIdentifier","src":"260891:2:22"}]},{"nativeSrc":"260921:17:22","nodeType":"YulAssignment","src":"260921:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260933:4:22","nodeType":"YulLiteral","src":"260933:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"260927:5:22","nodeType":"YulIdentifier","src":"260927:5:22"},"nativeSrc":"260927:11:22","nodeType":"YulFunctionCall","src":"260927:11:22"},"variableNames":[{"name":"m3","nativeSrc":"260921:2:22","nodeType":"YulIdentifier","src":"260921:2:22"}]},{"nativeSrc":"260951:17:22","nodeType":"YulAssignment","src":"260951:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260963:4:22","nodeType":"YulLiteral","src":"260963:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"260957:5:22","nodeType":"YulIdentifier","src":"260957:5:22"},"nativeSrc":"260957:11:22","nodeType":"YulFunctionCall","src":"260957:11:22"},"variableNames":[{"name":"m4","nativeSrc":"260951:2:22","nodeType":"YulIdentifier","src":"260951:2:22"}]},{"nativeSrc":"260981:17:22","nodeType":"YulAssignment","src":"260981:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"260993:4:22","nodeType":"YulLiteral","src":"260993:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"260987:5:22","nodeType":"YulIdentifier","src":"260987:5:22"},"nativeSrc":"260987:11:22","nodeType":"YulFunctionCall","src":"260987:11:22"},"variableNames":[{"name":"m5","nativeSrc":"260981:2:22","nodeType":"YulIdentifier","src":"260981:2:22"}]},{"nativeSrc":"261011:17:22","nodeType":"YulAssignment","src":"261011:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"261023:4:22","nodeType":"YulLiteral","src":"261023:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"261017:5:22","nodeType":"YulIdentifier","src":"261017:5:22"},"nativeSrc":"261017:11:22","nodeType":"YulFunctionCall","src":"261017:11:22"},"variableNames":[{"name":"m6","nativeSrc":"261011:2:22","nodeType":"YulIdentifier","src":"261011:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261114:4:22","nodeType":"YulLiteral","src":"261114:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"261120:10:22","nodeType":"YulLiteral","src":"261120:10:22","type":"","value":"0x9cba8fff"}],"functionName":{"name":"mstore","nativeSrc":"261107:6:22","nodeType":"YulIdentifier","src":"261107:6:22"},"nativeSrc":"261107:24:22","nodeType":"YulFunctionCall","src":"261107:24:22"},"nativeSrc":"261107:24:22","nodeType":"YulExpressionStatement","src":"261107:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261151:4:22","nodeType":"YulLiteral","src":"261151:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"261157:2:22","nodeType":"YulIdentifier","src":"261157:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261144:6:22","nodeType":"YulIdentifier","src":"261144:6:22"},"nativeSrc":"261144:16:22","nodeType":"YulFunctionCall","src":"261144:16:22"},"nativeSrc":"261144:16:22","nodeType":"YulExpressionStatement","src":"261144:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261180:4:22","nodeType":"YulLiteral","src":"261180:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"261186:2:22","nodeType":"YulIdentifier","src":"261186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261173:6:22","nodeType":"YulIdentifier","src":"261173:6:22"},"nativeSrc":"261173:16:22","nodeType":"YulFunctionCall","src":"261173:16:22"},"nativeSrc":"261173:16:22","nodeType":"YulExpressionStatement","src":"261173:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261209:4:22","nodeType":"YulLiteral","src":"261209:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"261215:4:22","nodeType":"YulLiteral","src":"261215:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"261202:6:22","nodeType":"YulIdentifier","src":"261202:6:22"},"nativeSrc":"261202:18:22","nodeType":"YulFunctionCall","src":"261202:18:22"},"nativeSrc":"261202:18:22","nodeType":"YulExpressionStatement","src":"261202:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261240:4:22","nodeType":"YulLiteral","src":"261240:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"261246:2:22","nodeType":"YulIdentifier","src":"261246:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261233:6:22","nodeType":"YulIdentifier","src":"261233:6:22"},"nativeSrc":"261233:16:22","nodeType":"YulFunctionCall","src":"261233:16:22"},"nativeSrc":"261233:16:22","nodeType":"YulExpressionStatement","src":"261233:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261274:4:22","nodeType":"YulLiteral","src":"261274:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"261280:2:22","nodeType":"YulIdentifier","src":"261280:2:22"}],"functionName":{"name":"writeString","nativeSrc":"261262:11:22","nodeType":"YulIdentifier","src":"261262:11:22"},"nativeSrc":"261262:21:22","nodeType":"YulFunctionCall","src":"261262:21:22"},"nativeSrc":"261262:21:22","nodeType":"YulExpressionStatement","src":"261262:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39551,"isOffset":false,"isSlot":false,"src":"260831:2:22","valueSize":1},{"declaration":39554,"isOffset":false,"isSlot":false,"src":"260861:2:22","valueSize":1},{"declaration":39557,"isOffset":false,"isSlot":false,"src":"260891:2:22","valueSize":1},{"declaration":39560,"isOffset":false,"isSlot":false,"src":"260921:2:22","valueSize":1},{"declaration":39563,"isOffset":false,"isSlot":false,"src":"260951:2:22","valueSize":1},{"declaration":39566,"isOffset":false,"isSlot":false,"src":"260981:2:22","valueSize":1},{"declaration":39569,"isOffset":false,"isSlot":false,"src":"261011:2:22","valueSize":1},{"declaration":39541,"isOffset":false,"isSlot":false,"src":"261157:2:22","valueSize":1},{"declaration":39543,"isOffset":false,"isSlot":false,"src":"261186:2:22","valueSize":1},{"declaration":39545,"isOffset":false,"isSlot":false,"src":"261280:2:22","valueSize":1},{"declaration":39547,"isOffset":false,"isSlot":false,"src":"261246:2:22","valueSize":1}],"id":39571,"nodeType":"InlineAssembly","src":"260453:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261318:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261324:4:22","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":39572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"261302:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"261302:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39576,"nodeType":"ExpressionStatement","src":"261302:27:22"},{"AST":{"nativeSrc":"261391:214:22","nodeType":"YulBlock","src":"261391:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"261412:4:22","nodeType":"YulLiteral","src":"261412:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"261418:2:22","nodeType":"YulIdentifier","src":"261418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261405:6:22","nodeType":"YulIdentifier","src":"261405:6:22"},"nativeSrc":"261405:16:22","nodeType":"YulFunctionCall","src":"261405:16:22"},"nativeSrc":"261405:16:22","nodeType":"YulExpressionStatement","src":"261405:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261441:4:22","nodeType":"YulLiteral","src":"261441:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"261447:2:22","nodeType":"YulIdentifier","src":"261447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261434:6:22","nodeType":"YulIdentifier","src":"261434:6:22"},"nativeSrc":"261434:16:22","nodeType":"YulFunctionCall","src":"261434:16:22"},"nativeSrc":"261434:16:22","nodeType":"YulExpressionStatement","src":"261434:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261470:4:22","nodeType":"YulLiteral","src":"261470:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"261476:2:22","nodeType":"YulIdentifier","src":"261476:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261463:6:22","nodeType":"YulIdentifier","src":"261463:6:22"},"nativeSrc":"261463:16:22","nodeType":"YulFunctionCall","src":"261463:16:22"},"nativeSrc":"261463:16:22","nodeType":"YulExpressionStatement","src":"261463:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261499:4:22","nodeType":"YulLiteral","src":"261499:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"261505:2:22","nodeType":"YulIdentifier","src":"261505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261492:6:22","nodeType":"YulIdentifier","src":"261492:6:22"},"nativeSrc":"261492:16:22","nodeType":"YulFunctionCall","src":"261492:16:22"},"nativeSrc":"261492:16:22","nodeType":"YulExpressionStatement","src":"261492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261528:4:22","nodeType":"YulLiteral","src":"261528:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"261534:2:22","nodeType":"YulIdentifier","src":"261534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261521:6:22","nodeType":"YulIdentifier","src":"261521:6:22"},"nativeSrc":"261521:16:22","nodeType":"YulFunctionCall","src":"261521:16:22"},"nativeSrc":"261521:16:22","nodeType":"YulExpressionStatement","src":"261521:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261557:4:22","nodeType":"YulLiteral","src":"261557:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"261563:2:22","nodeType":"YulIdentifier","src":"261563:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261550:6:22","nodeType":"YulIdentifier","src":"261550:6:22"},"nativeSrc":"261550:16:22","nodeType":"YulFunctionCall","src":"261550:16:22"},"nativeSrc":"261550:16:22","nodeType":"YulExpressionStatement","src":"261550:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261586:4:22","nodeType":"YulLiteral","src":"261586:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"261592:2:22","nodeType":"YulIdentifier","src":"261592:2:22"}],"functionName":{"name":"mstore","nativeSrc":"261579:6:22","nodeType":"YulIdentifier","src":"261579:6:22"},"nativeSrc":"261579:16:22","nodeType":"YulFunctionCall","src":"261579:16:22"},"nativeSrc":"261579:16:22","nodeType":"YulExpressionStatement","src":"261579:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39551,"isOffset":false,"isSlot":false,"src":"261418:2:22","valueSize":1},{"declaration":39554,"isOffset":false,"isSlot":false,"src":"261447:2:22","valueSize":1},{"declaration":39557,"isOffset":false,"isSlot":false,"src":"261476:2:22","valueSize":1},{"declaration":39560,"isOffset":false,"isSlot":false,"src":"261505:2:22","valueSize":1},{"declaration":39563,"isOffset":false,"isSlot":false,"src":"261534:2:22","valueSize":1},{"declaration":39566,"isOffset":false,"isSlot":false,"src":"261563:2:22","valueSize":1},{"declaration":39569,"isOffset":false,"isSlot":false,"src":"261592:2:22","valueSize":1}],"id":39577,"nodeType":"InlineAssembly","src":"261382:223:22"}]},"id":39579,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"260194:3:22","nodeType":"FunctionDefinition","parameters":{"id":39548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39541,"mutability":"mutable","name":"p0","nameLocation":"260206:2:22","nodeType":"VariableDeclaration","scope":39579,"src":"260198:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39540,"name":"uint256","nodeType":"ElementaryTypeName","src":"260198:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39543,"mutability":"mutable","name":"p1","nameLocation":"260218:2:22","nodeType":"VariableDeclaration","scope":39579,"src":"260210:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39542,"name":"address","nodeType":"ElementaryTypeName","src":"260210:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39545,"mutability":"mutable","name":"p2","nameLocation":"260230:2:22","nodeType":"VariableDeclaration","scope":39579,"src":"260222:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260222:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39547,"mutability":"mutable","name":"p3","nameLocation":"260242:2:22","nodeType":"VariableDeclaration","scope":39579,"src":"260234:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39546,"name":"address","nodeType":"ElementaryTypeName","src":"260234:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"260197:48:22"},"returnParameters":{"id":39549,"nodeType":"ParameterList","parameters":[],"src":"260260:0:22"},"scope":44426,"src":"260185:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39618,"nodeType":"Block","src":"261689:1348:22","statements":[{"assignments":[39591],"declarations":[{"constant":false,"id":39591,"mutability":"mutable","name":"m0","nameLocation":"261707:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261699:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261699:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39592,"nodeType":"VariableDeclarationStatement","src":"261699:10:22"},{"assignments":[39594],"declarations":[{"constant":false,"id":39594,"mutability":"mutable","name":"m1","nameLocation":"261727:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261719:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261719:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39595,"nodeType":"VariableDeclarationStatement","src":"261719:10:22"},{"assignments":[39597],"declarations":[{"constant":false,"id":39597,"mutability":"mutable","name":"m2","nameLocation":"261747:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261739:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39598,"nodeType":"VariableDeclarationStatement","src":"261739:10:22"},{"assignments":[39600],"declarations":[{"constant":false,"id":39600,"mutability":"mutable","name":"m3","nameLocation":"261767:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261759:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261759:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39601,"nodeType":"VariableDeclarationStatement","src":"261759:10:22"},{"assignments":[39603],"declarations":[{"constant":false,"id":39603,"mutability":"mutable","name":"m4","nameLocation":"261787:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261779:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261779:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39604,"nodeType":"VariableDeclarationStatement","src":"261779:10:22"},{"assignments":[39606],"declarations":[{"constant":false,"id":39606,"mutability":"mutable","name":"m5","nameLocation":"261807:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39607,"nodeType":"VariableDeclarationStatement","src":"261799:10:22"},{"assignments":[39609],"declarations":[{"constant":false,"id":39609,"mutability":"mutable","name":"m6","nameLocation":"261827:2:22","nodeType":"VariableDeclaration","scope":39618,"src":"261819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39610,"nodeType":"VariableDeclarationStatement","src":"261819:10:22"},{"AST":{"nativeSrc":"261891:828:22","nodeType":"YulBlock","src":"261891:828:22","statements":[{"body":{"nativeSrc":"261934:313:22","nodeType":"YulBlock","src":"261934:313:22","statements":[{"nativeSrc":"261952:15:22","nodeType":"YulVariableDeclaration","src":"261952:15:22","value":{"kind":"number","nativeSrc":"261966:1:22","nodeType":"YulLiteral","src":"261966:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"261956:6:22","nodeType":"YulTypedName","src":"261956:6:22","type":""}]},{"body":{"nativeSrc":"262037:40:22","nodeType":"YulBlock","src":"262037:40:22","statements":[{"body":{"nativeSrc":"262066:9:22","nodeType":"YulBlock","src":"262066:9:22","statements":[{"nativeSrc":"262068:5:22","nodeType":"YulBreak","src":"262068:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"262054:6:22","nodeType":"YulIdentifier","src":"262054:6:22"},{"name":"w","nativeSrc":"262062:1:22","nodeType":"YulIdentifier","src":"262062:1:22"}],"functionName":{"name":"byte","nativeSrc":"262049:4:22","nodeType":"YulIdentifier","src":"262049:4:22"},"nativeSrc":"262049:15:22","nodeType":"YulFunctionCall","src":"262049:15:22"}],"functionName":{"name":"iszero","nativeSrc":"262042:6:22","nodeType":"YulIdentifier","src":"262042:6:22"},"nativeSrc":"262042:23:22","nodeType":"YulFunctionCall","src":"262042:23:22"},"nativeSrc":"262039:36:22","nodeType":"YulIf","src":"262039:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"261994:6:22","nodeType":"YulIdentifier","src":"261994:6:22"},{"kind":"number","nativeSrc":"262002:4:22","nodeType":"YulLiteral","src":"262002:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"261991:2:22","nodeType":"YulIdentifier","src":"261991:2:22"},"nativeSrc":"261991:16:22","nodeType":"YulFunctionCall","src":"261991:16:22"},"nativeSrc":"261984:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"262008:28:22","nodeType":"YulBlock","src":"262008:28:22","statements":[{"nativeSrc":"262010:24:22","nodeType":"YulAssignment","src":"262010:24:22","value":{"arguments":[{"name":"length","nativeSrc":"262024:6:22","nodeType":"YulIdentifier","src":"262024:6:22"},{"kind":"number","nativeSrc":"262032:1:22","nodeType":"YulLiteral","src":"262032:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"262020:3:22","nodeType":"YulIdentifier","src":"262020:3:22"},"nativeSrc":"262020:14:22","nodeType":"YulFunctionCall","src":"262020:14:22"},"variableNames":[{"name":"length","nativeSrc":"262010:6:22","nodeType":"YulIdentifier","src":"262010:6:22"}]}]},"pre":{"nativeSrc":"261988:2:22","nodeType":"YulBlock","src":"261988:2:22","statements":[]},"src":"261984:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"262101:3:22","nodeType":"YulIdentifier","src":"262101:3:22"},{"name":"length","nativeSrc":"262106:6:22","nodeType":"YulIdentifier","src":"262106:6:22"}],"functionName":{"name":"mstore","nativeSrc":"262094:6:22","nodeType":"YulIdentifier","src":"262094:6:22"},"nativeSrc":"262094:19:22","nodeType":"YulFunctionCall","src":"262094:19:22"},"nativeSrc":"262094:19:22","nodeType":"YulExpressionStatement","src":"262094:19:22"},{"nativeSrc":"262130:37:22","nodeType":"YulVariableDeclaration","src":"262130:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"262147:3:22","nodeType":"YulLiteral","src":"262147:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"262156:1:22","nodeType":"YulLiteral","src":"262156:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"262159:6:22","nodeType":"YulIdentifier","src":"262159:6:22"}],"functionName":{"name":"shl","nativeSrc":"262152:3:22","nodeType":"YulIdentifier","src":"262152:3:22"},"nativeSrc":"262152:14:22","nodeType":"YulFunctionCall","src":"262152:14:22"}],"functionName":{"name":"sub","nativeSrc":"262143:3:22","nodeType":"YulIdentifier","src":"262143:3:22"},"nativeSrc":"262143:24:22","nodeType":"YulFunctionCall","src":"262143:24:22"},"variables":[{"name":"shift","nativeSrc":"262134:5:22","nodeType":"YulTypedName","src":"262134:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"262195:3:22","nodeType":"YulIdentifier","src":"262195:3:22"},{"kind":"number","nativeSrc":"262200:4:22","nodeType":"YulLiteral","src":"262200:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"262191:3:22","nodeType":"YulIdentifier","src":"262191:3:22"},"nativeSrc":"262191:14:22","nodeType":"YulFunctionCall","src":"262191:14:22"},{"arguments":[{"name":"shift","nativeSrc":"262211:5:22","nodeType":"YulIdentifier","src":"262211:5:22"},{"arguments":[{"name":"shift","nativeSrc":"262222:5:22","nodeType":"YulIdentifier","src":"262222:5:22"},{"name":"w","nativeSrc":"262229:1:22","nodeType":"YulIdentifier","src":"262229:1:22"}],"functionName":{"name":"shr","nativeSrc":"262218:3:22","nodeType":"YulIdentifier","src":"262218:3:22"},"nativeSrc":"262218:13:22","nodeType":"YulFunctionCall","src":"262218:13:22"}],"functionName":{"name":"shl","nativeSrc":"262207:3:22","nodeType":"YulIdentifier","src":"262207:3:22"},"nativeSrc":"262207:25:22","nodeType":"YulFunctionCall","src":"262207:25:22"}],"functionName":{"name":"mstore","nativeSrc":"262184:6:22","nodeType":"YulIdentifier","src":"262184:6:22"},"nativeSrc":"262184:49:22","nodeType":"YulFunctionCall","src":"262184:49:22"},"nativeSrc":"262184:49:22","nodeType":"YulExpressionStatement","src":"262184:49:22"}]},"name":"writeString","nativeSrc":"261905:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"261926:3:22","nodeType":"YulTypedName","src":"261926:3:22","type":""},{"name":"w","nativeSrc":"261931:1:22","nodeType":"YulTypedName","src":"261931:1:22","type":""}],"src":"261905:342:22"},{"nativeSrc":"262260:17:22","nodeType":"YulAssignment","src":"262260:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262272:4:22","nodeType":"YulLiteral","src":"262272:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"262266:5:22","nodeType":"YulIdentifier","src":"262266:5:22"},"nativeSrc":"262266:11:22","nodeType":"YulFunctionCall","src":"262266:11:22"},"variableNames":[{"name":"m0","nativeSrc":"262260:2:22","nodeType":"YulIdentifier","src":"262260:2:22"}]},{"nativeSrc":"262290:17:22","nodeType":"YulAssignment","src":"262290:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262302:4:22","nodeType":"YulLiteral","src":"262302:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"262296:5:22","nodeType":"YulIdentifier","src":"262296:5:22"},"nativeSrc":"262296:11:22","nodeType":"YulFunctionCall","src":"262296:11:22"},"variableNames":[{"name":"m1","nativeSrc":"262290:2:22","nodeType":"YulIdentifier","src":"262290:2:22"}]},{"nativeSrc":"262320:17:22","nodeType":"YulAssignment","src":"262320:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262332:4:22","nodeType":"YulLiteral","src":"262332:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"262326:5:22","nodeType":"YulIdentifier","src":"262326:5:22"},"nativeSrc":"262326:11:22","nodeType":"YulFunctionCall","src":"262326:11:22"},"variableNames":[{"name":"m2","nativeSrc":"262320:2:22","nodeType":"YulIdentifier","src":"262320:2:22"}]},{"nativeSrc":"262350:17:22","nodeType":"YulAssignment","src":"262350:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262362:4:22","nodeType":"YulLiteral","src":"262362:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"262356:5:22","nodeType":"YulIdentifier","src":"262356:5:22"},"nativeSrc":"262356:11:22","nodeType":"YulFunctionCall","src":"262356:11:22"},"variableNames":[{"name":"m3","nativeSrc":"262350:2:22","nodeType":"YulIdentifier","src":"262350:2:22"}]},{"nativeSrc":"262380:17:22","nodeType":"YulAssignment","src":"262380:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262392:4:22","nodeType":"YulLiteral","src":"262392:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"262386:5:22","nodeType":"YulIdentifier","src":"262386:5:22"},"nativeSrc":"262386:11:22","nodeType":"YulFunctionCall","src":"262386:11:22"},"variableNames":[{"name":"m4","nativeSrc":"262380:2:22","nodeType":"YulIdentifier","src":"262380:2:22"}]},{"nativeSrc":"262410:17:22","nodeType":"YulAssignment","src":"262410:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262422:4:22","nodeType":"YulLiteral","src":"262422:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"262416:5:22","nodeType":"YulIdentifier","src":"262416:5:22"},"nativeSrc":"262416:11:22","nodeType":"YulFunctionCall","src":"262416:11:22"},"variableNames":[{"name":"m5","nativeSrc":"262410:2:22","nodeType":"YulIdentifier","src":"262410:2:22"}]},{"nativeSrc":"262440:17:22","nodeType":"YulAssignment","src":"262440:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"262452:4:22","nodeType":"YulLiteral","src":"262452:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"262446:5:22","nodeType":"YulIdentifier","src":"262446:5:22"},"nativeSrc":"262446:11:22","nodeType":"YulFunctionCall","src":"262446:11:22"},"variableNames":[{"name":"m6","nativeSrc":"262440:2:22","nodeType":"YulIdentifier","src":"262440:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262540:4:22","nodeType":"YulLiteral","src":"262540:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"262546:10:22","nodeType":"YulLiteral","src":"262546:10:22","type":"","value":"0xcc32ab07"}],"functionName":{"name":"mstore","nativeSrc":"262533:6:22","nodeType":"YulIdentifier","src":"262533:6:22"},"nativeSrc":"262533:24:22","nodeType":"YulFunctionCall","src":"262533:24:22"},"nativeSrc":"262533:24:22","nodeType":"YulExpressionStatement","src":"262533:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262577:4:22","nodeType":"YulLiteral","src":"262577:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"262583:2:22","nodeType":"YulIdentifier","src":"262583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262570:6:22","nodeType":"YulIdentifier","src":"262570:6:22"},"nativeSrc":"262570:16:22","nodeType":"YulFunctionCall","src":"262570:16:22"},"nativeSrc":"262570:16:22","nodeType":"YulExpressionStatement","src":"262570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262606:4:22","nodeType":"YulLiteral","src":"262606:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"262612:2:22","nodeType":"YulIdentifier","src":"262612:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262599:6:22","nodeType":"YulIdentifier","src":"262599:6:22"},"nativeSrc":"262599:16:22","nodeType":"YulFunctionCall","src":"262599:16:22"},"nativeSrc":"262599:16:22","nodeType":"YulExpressionStatement","src":"262599:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262635:4:22","nodeType":"YulLiteral","src":"262635:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"262641:4:22","nodeType":"YulLiteral","src":"262641:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"262628:6:22","nodeType":"YulIdentifier","src":"262628:6:22"},"nativeSrc":"262628:18:22","nodeType":"YulFunctionCall","src":"262628:18:22"},"nativeSrc":"262628:18:22","nodeType":"YulExpressionStatement","src":"262628:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262666:4:22","nodeType":"YulLiteral","src":"262666:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"262672:2:22","nodeType":"YulIdentifier","src":"262672:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262659:6:22","nodeType":"YulIdentifier","src":"262659:6:22"},"nativeSrc":"262659:16:22","nodeType":"YulFunctionCall","src":"262659:16:22"},"nativeSrc":"262659:16:22","nodeType":"YulExpressionStatement","src":"262659:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262700:4:22","nodeType":"YulLiteral","src":"262700:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"262706:2:22","nodeType":"YulIdentifier","src":"262706:2:22"}],"functionName":{"name":"writeString","nativeSrc":"262688:11:22","nodeType":"YulIdentifier","src":"262688:11:22"},"nativeSrc":"262688:21:22","nodeType":"YulFunctionCall","src":"262688:21:22"},"nativeSrc":"262688:21:22","nodeType":"YulExpressionStatement","src":"262688:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39591,"isOffset":false,"isSlot":false,"src":"262260:2:22","valueSize":1},{"declaration":39594,"isOffset":false,"isSlot":false,"src":"262290:2:22","valueSize":1},{"declaration":39597,"isOffset":false,"isSlot":false,"src":"262320:2:22","valueSize":1},{"declaration":39600,"isOffset":false,"isSlot":false,"src":"262350:2:22","valueSize":1},{"declaration":39603,"isOffset":false,"isSlot":false,"src":"262380:2:22","valueSize":1},{"declaration":39606,"isOffset":false,"isSlot":false,"src":"262410:2:22","valueSize":1},{"declaration":39609,"isOffset":false,"isSlot":false,"src":"262440:2:22","valueSize":1},{"declaration":39581,"isOffset":false,"isSlot":false,"src":"262583:2:22","valueSize":1},{"declaration":39583,"isOffset":false,"isSlot":false,"src":"262612:2:22","valueSize":1},{"declaration":39585,"isOffset":false,"isSlot":false,"src":"262706:2:22","valueSize":1},{"declaration":39587,"isOffset":false,"isSlot":false,"src":"262672:2:22","valueSize":1}],"id":39611,"nodeType":"InlineAssembly","src":"261882:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262744:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262750:4:22","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":39612,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"262728:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"262728:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39616,"nodeType":"ExpressionStatement","src":"262728:27:22"},{"AST":{"nativeSrc":"262817:214:22","nodeType":"YulBlock","src":"262817:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"262838:4:22","nodeType":"YulLiteral","src":"262838:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"262844:2:22","nodeType":"YulIdentifier","src":"262844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262831:6:22","nodeType":"YulIdentifier","src":"262831:6:22"},"nativeSrc":"262831:16:22","nodeType":"YulFunctionCall","src":"262831:16:22"},"nativeSrc":"262831:16:22","nodeType":"YulExpressionStatement","src":"262831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262867:4:22","nodeType":"YulLiteral","src":"262867:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"262873:2:22","nodeType":"YulIdentifier","src":"262873:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262860:6:22","nodeType":"YulIdentifier","src":"262860:6:22"},"nativeSrc":"262860:16:22","nodeType":"YulFunctionCall","src":"262860:16:22"},"nativeSrc":"262860:16:22","nodeType":"YulExpressionStatement","src":"262860:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262896:4:22","nodeType":"YulLiteral","src":"262896:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"262902:2:22","nodeType":"YulIdentifier","src":"262902:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262889:6:22","nodeType":"YulIdentifier","src":"262889:6:22"},"nativeSrc":"262889:16:22","nodeType":"YulFunctionCall","src":"262889:16:22"},"nativeSrc":"262889:16:22","nodeType":"YulExpressionStatement","src":"262889:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262925:4:22","nodeType":"YulLiteral","src":"262925:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"262931:2:22","nodeType":"YulIdentifier","src":"262931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262918:6:22","nodeType":"YulIdentifier","src":"262918:6:22"},"nativeSrc":"262918:16:22","nodeType":"YulFunctionCall","src":"262918:16:22"},"nativeSrc":"262918:16:22","nodeType":"YulExpressionStatement","src":"262918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262954:4:22","nodeType":"YulLiteral","src":"262954:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"262960:2:22","nodeType":"YulIdentifier","src":"262960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262947:6:22","nodeType":"YulIdentifier","src":"262947:6:22"},"nativeSrc":"262947:16:22","nodeType":"YulFunctionCall","src":"262947:16:22"},"nativeSrc":"262947:16:22","nodeType":"YulExpressionStatement","src":"262947:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262983:4:22","nodeType":"YulLiteral","src":"262983:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"262989:2:22","nodeType":"YulIdentifier","src":"262989:2:22"}],"functionName":{"name":"mstore","nativeSrc":"262976:6:22","nodeType":"YulIdentifier","src":"262976:6:22"},"nativeSrc":"262976:16:22","nodeType":"YulFunctionCall","src":"262976:16:22"},"nativeSrc":"262976:16:22","nodeType":"YulExpressionStatement","src":"262976:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263012:4:22","nodeType":"YulLiteral","src":"263012:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"263018:2:22","nodeType":"YulIdentifier","src":"263018:2:22"}],"functionName":{"name":"mstore","nativeSrc":"263005:6:22","nodeType":"YulIdentifier","src":"263005:6:22"},"nativeSrc":"263005:16:22","nodeType":"YulFunctionCall","src":"263005:16:22"},"nativeSrc":"263005:16:22","nodeType":"YulExpressionStatement","src":"263005:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39591,"isOffset":false,"isSlot":false,"src":"262844:2:22","valueSize":1},{"declaration":39594,"isOffset":false,"isSlot":false,"src":"262873:2:22","valueSize":1},{"declaration":39597,"isOffset":false,"isSlot":false,"src":"262902:2:22","valueSize":1},{"declaration":39600,"isOffset":false,"isSlot":false,"src":"262931:2:22","valueSize":1},{"declaration":39603,"isOffset":false,"isSlot":false,"src":"262960:2:22","valueSize":1},{"declaration":39606,"isOffset":false,"isSlot":false,"src":"262989:2:22","valueSize":1},{"declaration":39609,"isOffset":false,"isSlot":false,"src":"263018:2:22","valueSize":1}],"id":39617,"nodeType":"InlineAssembly","src":"262808:223:22"}]},"id":39619,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"261626:3:22","nodeType":"FunctionDefinition","parameters":{"id":39588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39581,"mutability":"mutable","name":"p0","nameLocation":"261638:2:22","nodeType":"VariableDeclaration","scope":39619,"src":"261630:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39580,"name":"uint256","nodeType":"ElementaryTypeName","src":"261630:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39583,"mutability":"mutable","name":"p1","nameLocation":"261650:2:22","nodeType":"VariableDeclaration","scope":39619,"src":"261642:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39582,"name":"address","nodeType":"ElementaryTypeName","src":"261642:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39585,"mutability":"mutable","name":"p2","nameLocation":"261662:2:22","nodeType":"VariableDeclaration","scope":39619,"src":"261654:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261654:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39587,"mutability":"mutable","name":"p3","nameLocation":"261671:2:22","nodeType":"VariableDeclaration","scope":39619,"src":"261666:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39586,"name":"bool","nodeType":"ElementaryTypeName","src":"261666:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"261629:45:22"},"returnParameters":{"id":39589,"nodeType":"ParameterList","parameters":[],"src":"261689:0:22"},"scope":44426,"src":"261617:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39658,"nodeType":"Block","src":"263118:1351:22","statements":[{"assignments":[39631],"declarations":[{"constant":false,"id":39631,"mutability":"mutable","name":"m0","nameLocation":"263136:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263128:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263128:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39632,"nodeType":"VariableDeclarationStatement","src":"263128:10:22"},{"assignments":[39634],"declarations":[{"constant":false,"id":39634,"mutability":"mutable","name":"m1","nameLocation":"263156:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263148:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263148:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39635,"nodeType":"VariableDeclarationStatement","src":"263148:10:22"},{"assignments":[39637],"declarations":[{"constant":false,"id":39637,"mutability":"mutable","name":"m2","nameLocation":"263176:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263168:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263168:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39638,"nodeType":"VariableDeclarationStatement","src":"263168:10:22"},{"assignments":[39640],"declarations":[{"constant":false,"id":39640,"mutability":"mutable","name":"m3","nameLocation":"263196:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263188:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39641,"nodeType":"VariableDeclarationStatement","src":"263188:10:22"},{"assignments":[39643],"declarations":[{"constant":false,"id":39643,"mutability":"mutable","name":"m4","nameLocation":"263216:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263208:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263208:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39644,"nodeType":"VariableDeclarationStatement","src":"263208:10:22"},{"assignments":[39646],"declarations":[{"constant":false,"id":39646,"mutability":"mutable","name":"m5","nameLocation":"263236:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263228:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263228:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39647,"nodeType":"VariableDeclarationStatement","src":"263228:10:22"},{"assignments":[39649],"declarations":[{"constant":false,"id":39649,"mutability":"mutable","name":"m6","nameLocation":"263256:2:22","nodeType":"VariableDeclaration","scope":39658,"src":"263248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263248:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39650,"nodeType":"VariableDeclarationStatement","src":"263248:10:22"},{"AST":{"nativeSrc":"263320:831:22","nodeType":"YulBlock","src":"263320:831:22","statements":[{"body":{"nativeSrc":"263363:313:22","nodeType":"YulBlock","src":"263363:313:22","statements":[{"nativeSrc":"263381:15:22","nodeType":"YulVariableDeclaration","src":"263381:15:22","value":{"kind":"number","nativeSrc":"263395:1:22","nodeType":"YulLiteral","src":"263395:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"263385:6:22","nodeType":"YulTypedName","src":"263385:6:22","type":""}]},{"body":{"nativeSrc":"263466:40:22","nodeType":"YulBlock","src":"263466:40:22","statements":[{"body":{"nativeSrc":"263495:9:22","nodeType":"YulBlock","src":"263495:9:22","statements":[{"nativeSrc":"263497:5:22","nodeType":"YulBreak","src":"263497:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"263483:6:22","nodeType":"YulIdentifier","src":"263483:6:22"},{"name":"w","nativeSrc":"263491:1:22","nodeType":"YulIdentifier","src":"263491:1:22"}],"functionName":{"name":"byte","nativeSrc":"263478:4:22","nodeType":"YulIdentifier","src":"263478:4:22"},"nativeSrc":"263478:15:22","nodeType":"YulFunctionCall","src":"263478:15:22"}],"functionName":{"name":"iszero","nativeSrc":"263471:6:22","nodeType":"YulIdentifier","src":"263471:6:22"},"nativeSrc":"263471:23:22","nodeType":"YulFunctionCall","src":"263471:23:22"},"nativeSrc":"263468:36:22","nodeType":"YulIf","src":"263468:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"263423:6:22","nodeType":"YulIdentifier","src":"263423:6:22"},{"kind":"number","nativeSrc":"263431:4:22","nodeType":"YulLiteral","src":"263431:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"263420:2:22","nodeType":"YulIdentifier","src":"263420:2:22"},"nativeSrc":"263420:16:22","nodeType":"YulFunctionCall","src":"263420:16:22"},"nativeSrc":"263413:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"263437:28:22","nodeType":"YulBlock","src":"263437:28:22","statements":[{"nativeSrc":"263439:24:22","nodeType":"YulAssignment","src":"263439:24:22","value":{"arguments":[{"name":"length","nativeSrc":"263453:6:22","nodeType":"YulIdentifier","src":"263453:6:22"},{"kind":"number","nativeSrc":"263461:1:22","nodeType":"YulLiteral","src":"263461:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"263449:3:22","nodeType":"YulIdentifier","src":"263449:3:22"},"nativeSrc":"263449:14:22","nodeType":"YulFunctionCall","src":"263449:14:22"},"variableNames":[{"name":"length","nativeSrc":"263439:6:22","nodeType":"YulIdentifier","src":"263439:6:22"}]}]},"pre":{"nativeSrc":"263417:2:22","nodeType":"YulBlock","src":"263417:2:22","statements":[]},"src":"263413:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"263530:3:22","nodeType":"YulIdentifier","src":"263530:3:22"},{"name":"length","nativeSrc":"263535:6:22","nodeType":"YulIdentifier","src":"263535:6:22"}],"functionName":{"name":"mstore","nativeSrc":"263523:6:22","nodeType":"YulIdentifier","src":"263523:6:22"},"nativeSrc":"263523:19:22","nodeType":"YulFunctionCall","src":"263523:19:22"},"nativeSrc":"263523:19:22","nodeType":"YulExpressionStatement","src":"263523:19:22"},{"nativeSrc":"263559:37:22","nodeType":"YulVariableDeclaration","src":"263559:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"263576:3:22","nodeType":"YulLiteral","src":"263576:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"263585:1:22","nodeType":"YulLiteral","src":"263585:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"263588:6:22","nodeType":"YulIdentifier","src":"263588:6:22"}],"functionName":{"name":"shl","nativeSrc":"263581:3:22","nodeType":"YulIdentifier","src":"263581:3:22"},"nativeSrc":"263581:14:22","nodeType":"YulFunctionCall","src":"263581:14:22"}],"functionName":{"name":"sub","nativeSrc":"263572:3:22","nodeType":"YulIdentifier","src":"263572:3:22"},"nativeSrc":"263572:24:22","nodeType":"YulFunctionCall","src":"263572:24:22"},"variables":[{"name":"shift","nativeSrc":"263563:5:22","nodeType":"YulTypedName","src":"263563:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"263624:3:22","nodeType":"YulIdentifier","src":"263624:3:22"},{"kind":"number","nativeSrc":"263629:4:22","nodeType":"YulLiteral","src":"263629:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"263620:3:22","nodeType":"YulIdentifier","src":"263620:3:22"},"nativeSrc":"263620:14:22","nodeType":"YulFunctionCall","src":"263620:14:22"},{"arguments":[{"name":"shift","nativeSrc":"263640:5:22","nodeType":"YulIdentifier","src":"263640:5:22"},{"arguments":[{"name":"shift","nativeSrc":"263651:5:22","nodeType":"YulIdentifier","src":"263651:5:22"},{"name":"w","nativeSrc":"263658:1:22","nodeType":"YulIdentifier","src":"263658:1:22"}],"functionName":{"name":"shr","nativeSrc":"263647:3:22","nodeType":"YulIdentifier","src":"263647:3:22"},"nativeSrc":"263647:13:22","nodeType":"YulFunctionCall","src":"263647:13:22"}],"functionName":{"name":"shl","nativeSrc":"263636:3:22","nodeType":"YulIdentifier","src":"263636:3:22"},"nativeSrc":"263636:25:22","nodeType":"YulFunctionCall","src":"263636:25:22"}],"functionName":{"name":"mstore","nativeSrc":"263613:6:22","nodeType":"YulIdentifier","src":"263613:6:22"},"nativeSrc":"263613:49:22","nodeType":"YulFunctionCall","src":"263613:49:22"},"nativeSrc":"263613:49:22","nodeType":"YulExpressionStatement","src":"263613:49:22"}]},"name":"writeString","nativeSrc":"263334:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"263355:3:22","nodeType":"YulTypedName","src":"263355:3:22","type":""},{"name":"w","nativeSrc":"263360:1:22","nodeType":"YulTypedName","src":"263360:1:22","type":""}],"src":"263334:342:22"},{"nativeSrc":"263689:17:22","nodeType":"YulAssignment","src":"263689:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263701:4:22","nodeType":"YulLiteral","src":"263701:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"263695:5:22","nodeType":"YulIdentifier","src":"263695:5:22"},"nativeSrc":"263695:11:22","nodeType":"YulFunctionCall","src":"263695:11:22"},"variableNames":[{"name":"m0","nativeSrc":"263689:2:22","nodeType":"YulIdentifier","src":"263689:2:22"}]},{"nativeSrc":"263719:17:22","nodeType":"YulAssignment","src":"263719:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263731:4:22","nodeType":"YulLiteral","src":"263731:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"263725:5:22","nodeType":"YulIdentifier","src":"263725:5:22"},"nativeSrc":"263725:11:22","nodeType":"YulFunctionCall","src":"263725:11:22"},"variableNames":[{"name":"m1","nativeSrc":"263719:2:22","nodeType":"YulIdentifier","src":"263719:2:22"}]},{"nativeSrc":"263749:17:22","nodeType":"YulAssignment","src":"263749:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263761:4:22","nodeType":"YulLiteral","src":"263761:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"263755:5:22","nodeType":"YulIdentifier","src":"263755:5:22"},"nativeSrc":"263755:11:22","nodeType":"YulFunctionCall","src":"263755:11:22"},"variableNames":[{"name":"m2","nativeSrc":"263749:2:22","nodeType":"YulIdentifier","src":"263749:2:22"}]},{"nativeSrc":"263779:17:22","nodeType":"YulAssignment","src":"263779:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263791:4:22","nodeType":"YulLiteral","src":"263791:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"263785:5:22","nodeType":"YulIdentifier","src":"263785:5:22"},"nativeSrc":"263785:11:22","nodeType":"YulFunctionCall","src":"263785:11:22"},"variableNames":[{"name":"m3","nativeSrc":"263779:2:22","nodeType":"YulIdentifier","src":"263779:2:22"}]},{"nativeSrc":"263809:17:22","nodeType":"YulAssignment","src":"263809:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263821:4:22","nodeType":"YulLiteral","src":"263821:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"263815:5:22","nodeType":"YulIdentifier","src":"263815:5:22"},"nativeSrc":"263815:11:22","nodeType":"YulFunctionCall","src":"263815:11:22"},"variableNames":[{"name":"m4","nativeSrc":"263809:2:22","nodeType":"YulIdentifier","src":"263809:2:22"}]},{"nativeSrc":"263839:17:22","nodeType":"YulAssignment","src":"263839:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263851:4:22","nodeType":"YulLiteral","src":"263851:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"263845:5:22","nodeType":"YulIdentifier","src":"263845:5:22"},"nativeSrc":"263845:11:22","nodeType":"YulFunctionCall","src":"263845:11:22"},"variableNames":[{"name":"m5","nativeSrc":"263839:2:22","nodeType":"YulIdentifier","src":"263839:2:22"}]},{"nativeSrc":"263869:17:22","nodeType":"YulAssignment","src":"263869:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"263881:4:22","nodeType":"YulLiteral","src":"263881:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"263875:5:22","nodeType":"YulIdentifier","src":"263875:5:22"},"nativeSrc":"263875:11:22","nodeType":"YulFunctionCall","src":"263875:11:22"},"variableNames":[{"name":"m6","nativeSrc":"263869:2:22","nodeType":"YulIdentifier","src":"263869:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263972:4:22","nodeType":"YulLiteral","src":"263972:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"263978:10:22","nodeType":"YulLiteral","src":"263978:10:22","type":"","value":"0x46826b5d"}],"functionName":{"name":"mstore","nativeSrc":"263965:6:22","nodeType":"YulIdentifier","src":"263965:6:22"},"nativeSrc":"263965:24:22","nodeType":"YulFunctionCall","src":"263965:24:22"},"nativeSrc":"263965:24:22","nodeType":"YulExpressionStatement","src":"263965:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264009:4:22","nodeType":"YulLiteral","src":"264009:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"264015:2:22","nodeType":"YulIdentifier","src":"264015:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264002:6:22","nodeType":"YulIdentifier","src":"264002:6:22"},"nativeSrc":"264002:16:22","nodeType":"YulFunctionCall","src":"264002:16:22"},"nativeSrc":"264002:16:22","nodeType":"YulExpressionStatement","src":"264002:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264038:4:22","nodeType":"YulLiteral","src":"264038:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"264044:2:22","nodeType":"YulIdentifier","src":"264044:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264031:6:22","nodeType":"YulIdentifier","src":"264031:6:22"},"nativeSrc":"264031:16:22","nodeType":"YulFunctionCall","src":"264031:16:22"},"nativeSrc":"264031:16:22","nodeType":"YulExpressionStatement","src":"264031:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264067:4:22","nodeType":"YulLiteral","src":"264067:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"264073:4:22","nodeType":"YulLiteral","src":"264073:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"264060:6:22","nodeType":"YulIdentifier","src":"264060:6:22"},"nativeSrc":"264060:18:22","nodeType":"YulFunctionCall","src":"264060:18:22"},"nativeSrc":"264060:18:22","nodeType":"YulExpressionStatement","src":"264060:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264098:4:22","nodeType":"YulLiteral","src":"264098:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"264104:2:22","nodeType":"YulIdentifier","src":"264104:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264091:6:22","nodeType":"YulIdentifier","src":"264091:6:22"},"nativeSrc":"264091:16:22","nodeType":"YulFunctionCall","src":"264091:16:22"},"nativeSrc":"264091:16:22","nodeType":"YulExpressionStatement","src":"264091:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264132:4:22","nodeType":"YulLiteral","src":"264132:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"264138:2:22","nodeType":"YulIdentifier","src":"264138:2:22"}],"functionName":{"name":"writeString","nativeSrc":"264120:11:22","nodeType":"YulIdentifier","src":"264120:11:22"},"nativeSrc":"264120:21:22","nodeType":"YulFunctionCall","src":"264120:21:22"},"nativeSrc":"264120:21:22","nodeType":"YulExpressionStatement","src":"264120:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39631,"isOffset":false,"isSlot":false,"src":"263689:2:22","valueSize":1},{"declaration":39634,"isOffset":false,"isSlot":false,"src":"263719:2:22","valueSize":1},{"declaration":39637,"isOffset":false,"isSlot":false,"src":"263749:2:22","valueSize":1},{"declaration":39640,"isOffset":false,"isSlot":false,"src":"263779:2:22","valueSize":1},{"declaration":39643,"isOffset":false,"isSlot":false,"src":"263809:2:22","valueSize":1},{"declaration":39646,"isOffset":false,"isSlot":false,"src":"263839:2:22","valueSize":1},{"declaration":39649,"isOffset":false,"isSlot":false,"src":"263869:2:22","valueSize":1},{"declaration":39621,"isOffset":false,"isSlot":false,"src":"264015:2:22","valueSize":1},{"declaration":39623,"isOffset":false,"isSlot":false,"src":"264044:2:22","valueSize":1},{"declaration":39625,"isOffset":false,"isSlot":false,"src":"264138:2:22","valueSize":1},{"declaration":39627,"isOffset":false,"isSlot":false,"src":"264104:2:22","valueSize":1}],"id":39651,"nodeType":"InlineAssembly","src":"263311:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264176:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264182:4:22","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":39652,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"264160:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"264160:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39656,"nodeType":"ExpressionStatement","src":"264160:27:22"},{"AST":{"nativeSrc":"264249:214:22","nodeType":"YulBlock","src":"264249:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"264270:4:22","nodeType":"YulLiteral","src":"264270:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"264276:2:22","nodeType":"YulIdentifier","src":"264276:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264263:6:22","nodeType":"YulIdentifier","src":"264263:6:22"},"nativeSrc":"264263:16:22","nodeType":"YulFunctionCall","src":"264263:16:22"},"nativeSrc":"264263:16:22","nodeType":"YulExpressionStatement","src":"264263:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264299:4:22","nodeType":"YulLiteral","src":"264299:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"264305:2:22","nodeType":"YulIdentifier","src":"264305:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264292:6:22","nodeType":"YulIdentifier","src":"264292:6:22"},"nativeSrc":"264292:16:22","nodeType":"YulFunctionCall","src":"264292:16:22"},"nativeSrc":"264292:16:22","nodeType":"YulExpressionStatement","src":"264292:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264328:4:22","nodeType":"YulLiteral","src":"264328:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"264334:2:22","nodeType":"YulIdentifier","src":"264334:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264321:6:22","nodeType":"YulIdentifier","src":"264321:6:22"},"nativeSrc":"264321:16:22","nodeType":"YulFunctionCall","src":"264321:16:22"},"nativeSrc":"264321:16:22","nodeType":"YulExpressionStatement","src":"264321:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264357:4:22","nodeType":"YulLiteral","src":"264357:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"264363:2:22","nodeType":"YulIdentifier","src":"264363:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264350:6:22","nodeType":"YulIdentifier","src":"264350:6:22"},"nativeSrc":"264350:16:22","nodeType":"YulFunctionCall","src":"264350:16:22"},"nativeSrc":"264350:16:22","nodeType":"YulExpressionStatement","src":"264350:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264386:4:22","nodeType":"YulLiteral","src":"264386:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"264392:2:22","nodeType":"YulIdentifier","src":"264392:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264379:6:22","nodeType":"YulIdentifier","src":"264379:6:22"},"nativeSrc":"264379:16:22","nodeType":"YulFunctionCall","src":"264379:16:22"},"nativeSrc":"264379:16:22","nodeType":"YulExpressionStatement","src":"264379:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264415:4:22","nodeType":"YulLiteral","src":"264415:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"264421:2:22","nodeType":"YulIdentifier","src":"264421:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264408:6:22","nodeType":"YulIdentifier","src":"264408:6:22"},"nativeSrc":"264408:16:22","nodeType":"YulFunctionCall","src":"264408:16:22"},"nativeSrc":"264408:16:22","nodeType":"YulExpressionStatement","src":"264408:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264444:4:22","nodeType":"YulLiteral","src":"264444:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"264450:2:22","nodeType":"YulIdentifier","src":"264450:2:22"}],"functionName":{"name":"mstore","nativeSrc":"264437:6:22","nodeType":"YulIdentifier","src":"264437:6:22"},"nativeSrc":"264437:16:22","nodeType":"YulFunctionCall","src":"264437:16:22"},"nativeSrc":"264437:16:22","nodeType":"YulExpressionStatement","src":"264437:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39631,"isOffset":false,"isSlot":false,"src":"264276:2:22","valueSize":1},{"declaration":39634,"isOffset":false,"isSlot":false,"src":"264305:2:22","valueSize":1},{"declaration":39637,"isOffset":false,"isSlot":false,"src":"264334:2:22","valueSize":1},{"declaration":39640,"isOffset":false,"isSlot":false,"src":"264363:2:22","valueSize":1},{"declaration":39643,"isOffset":false,"isSlot":false,"src":"264392:2:22","valueSize":1},{"declaration":39646,"isOffset":false,"isSlot":false,"src":"264421:2:22","valueSize":1},{"declaration":39649,"isOffset":false,"isSlot":false,"src":"264450:2:22","valueSize":1}],"id":39657,"nodeType":"InlineAssembly","src":"264240:223:22"}]},"id":39659,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"263052:3:22","nodeType":"FunctionDefinition","parameters":{"id":39628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39621,"mutability":"mutable","name":"p0","nameLocation":"263064:2:22","nodeType":"VariableDeclaration","scope":39659,"src":"263056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39620,"name":"uint256","nodeType":"ElementaryTypeName","src":"263056:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39623,"mutability":"mutable","name":"p1","nameLocation":"263076:2:22","nodeType":"VariableDeclaration","scope":39659,"src":"263068:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39622,"name":"address","nodeType":"ElementaryTypeName","src":"263068:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39625,"mutability":"mutable","name":"p2","nameLocation":"263088:2:22","nodeType":"VariableDeclaration","scope":39659,"src":"263080:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263080:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39627,"mutability":"mutable","name":"p3","nameLocation":"263100:2:22","nodeType":"VariableDeclaration","scope":39659,"src":"263092:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39626,"name":"uint256","nodeType":"ElementaryTypeName","src":"263092:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"263055:48:22"},"returnParameters":{"id":39629,"nodeType":"ParameterList","parameters":[],"src":"263118:0:22"},"scope":44426,"src":"263043:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39704,"nodeType":"Block","src":"264550:1547:22","statements":[{"assignments":[39671],"declarations":[{"constant":false,"id":39671,"mutability":"mutable","name":"m0","nameLocation":"264568:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264560:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264560:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39672,"nodeType":"VariableDeclarationStatement","src":"264560:10:22"},{"assignments":[39674],"declarations":[{"constant":false,"id":39674,"mutability":"mutable","name":"m1","nameLocation":"264588:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264580:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264580:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39675,"nodeType":"VariableDeclarationStatement","src":"264580:10:22"},{"assignments":[39677],"declarations":[{"constant":false,"id":39677,"mutability":"mutable","name":"m2","nameLocation":"264608:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264600:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264600:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39678,"nodeType":"VariableDeclarationStatement","src":"264600:10:22"},{"assignments":[39680],"declarations":[{"constant":false,"id":39680,"mutability":"mutable","name":"m3","nameLocation":"264628:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264620:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264620:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39681,"nodeType":"VariableDeclarationStatement","src":"264620:10:22"},{"assignments":[39683],"declarations":[{"constant":false,"id":39683,"mutability":"mutable","name":"m4","nameLocation":"264648:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264640:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39684,"nodeType":"VariableDeclarationStatement","src":"264640:10:22"},{"assignments":[39686],"declarations":[{"constant":false,"id":39686,"mutability":"mutable","name":"m5","nameLocation":"264668:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264660:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264660:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39687,"nodeType":"VariableDeclarationStatement","src":"264660:10:22"},{"assignments":[39689],"declarations":[{"constant":false,"id":39689,"mutability":"mutable","name":"m6","nameLocation":"264688:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264680:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264680:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39690,"nodeType":"VariableDeclarationStatement","src":"264680:10:22"},{"assignments":[39692],"declarations":[{"constant":false,"id":39692,"mutability":"mutable","name":"m7","nameLocation":"264708:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264700:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264700:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39693,"nodeType":"VariableDeclarationStatement","src":"264700:10:22"},{"assignments":[39695],"declarations":[{"constant":false,"id":39695,"mutability":"mutable","name":"m8","nameLocation":"264728:2:22","nodeType":"VariableDeclaration","scope":39704,"src":"264720:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264720:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39696,"nodeType":"VariableDeclarationStatement","src":"264720:10:22"},{"AST":{"nativeSrc":"264792:927:22","nodeType":"YulBlock","src":"264792:927:22","statements":[{"body":{"nativeSrc":"264835:313:22","nodeType":"YulBlock","src":"264835:313:22","statements":[{"nativeSrc":"264853:15:22","nodeType":"YulVariableDeclaration","src":"264853:15:22","value":{"kind":"number","nativeSrc":"264867:1:22","nodeType":"YulLiteral","src":"264867:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"264857:6:22","nodeType":"YulTypedName","src":"264857:6:22","type":""}]},{"body":{"nativeSrc":"264938:40:22","nodeType":"YulBlock","src":"264938:40:22","statements":[{"body":{"nativeSrc":"264967:9:22","nodeType":"YulBlock","src":"264967:9:22","statements":[{"nativeSrc":"264969:5:22","nodeType":"YulBreak","src":"264969:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"264955:6:22","nodeType":"YulIdentifier","src":"264955:6:22"},{"name":"w","nativeSrc":"264963:1:22","nodeType":"YulIdentifier","src":"264963:1:22"}],"functionName":{"name":"byte","nativeSrc":"264950:4:22","nodeType":"YulIdentifier","src":"264950:4:22"},"nativeSrc":"264950:15:22","nodeType":"YulFunctionCall","src":"264950:15:22"}],"functionName":{"name":"iszero","nativeSrc":"264943:6:22","nodeType":"YulIdentifier","src":"264943:6:22"},"nativeSrc":"264943:23:22","nodeType":"YulFunctionCall","src":"264943:23:22"},"nativeSrc":"264940:36:22","nodeType":"YulIf","src":"264940:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"264895:6:22","nodeType":"YulIdentifier","src":"264895:6:22"},{"kind":"number","nativeSrc":"264903:4:22","nodeType":"YulLiteral","src":"264903:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"264892:2:22","nodeType":"YulIdentifier","src":"264892:2:22"},"nativeSrc":"264892:16:22","nodeType":"YulFunctionCall","src":"264892:16:22"},"nativeSrc":"264885:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"264909:28:22","nodeType":"YulBlock","src":"264909:28:22","statements":[{"nativeSrc":"264911:24:22","nodeType":"YulAssignment","src":"264911:24:22","value":{"arguments":[{"name":"length","nativeSrc":"264925:6:22","nodeType":"YulIdentifier","src":"264925:6:22"},{"kind":"number","nativeSrc":"264933:1:22","nodeType":"YulLiteral","src":"264933:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"264921:3:22","nodeType":"YulIdentifier","src":"264921:3:22"},"nativeSrc":"264921:14:22","nodeType":"YulFunctionCall","src":"264921:14:22"},"variableNames":[{"name":"length","nativeSrc":"264911:6:22","nodeType":"YulIdentifier","src":"264911:6:22"}]}]},"pre":{"nativeSrc":"264889:2:22","nodeType":"YulBlock","src":"264889:2:22","statements":[]},"src":"264885:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"265002:3:22","nodeType":"YulIdentifier","src":"265002:3:22"},{"name":"length","nativeSrc":"265007:6:22","nodeType":"YulIdentifier","src":"265007:6:22"}],"functionName":{"name":"mstore","nativeSrc":"264995:6:22","nodeType":"YulIdentifier","src":"264995:6:22"},"nativeSrc":"264995:19:22","nodeType":"YulFunctionCall","src":"264995:19:22"},"nativeSrc":"264995:19:22","nodeType":"YulExpressionStatement","src":"264995:19:22"},{"nativeSrc":"265031:37:22","nodeType":"YulVariableDeclaration","src":"265031:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"265048:3:22","nodeType":"YulLiteral","src":"265048:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"265057:1:22","nodeType":"YulLiteral","src":"265057:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"265060:6:22","nodeType":"YulIdentifier","src":"265060:6:22"}],"functionName":{"name":"shl","nativeSrc":"265053:3:22","nodeType":"YulIdentifier","src":"265053:3:22"},"nativeSrc":"265053:14:22","nodeType":"YulFunctionCall","src":"265053:14:22"}],"functionName":{"name":"sub","nativeSrc":"265044:3:22","nodeType":"YulIdentifier","src":"265044:3:22"},"nativeSrc":"265044:24:22","nodeType":"YulFunctionCall","src":"265044:24:22"},"variables":[{"name":"shift","nativeSrc":"265035:5:22","nodeType":"YulTypedName","src":"265035:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"265096:3:22","nodeType":"YulIdentifier","src":"265096:3:22"},{"kind":"number","nativeSrc":"265101:4:22","nodeType":"YulLiteral","src":"265101:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"265092:3:22","nodeType":"YulIdentifier","src":"265092:3:22"},"nativeSrc":"265092:14:22","nodeType":"YulFunctionCall","src":"265092:14:22"},{"arguments":[{"name":"shift","nativeSrc":"265112:5:22","nodeType":"YulIdentifier","src":"265112:5:22"},{"arguments":[{"name":"shift","nativeSrc":"265123:5:22","nodeType":"YulIdentifier","src":"265123:5:22"},{"name":"w","nativeSrc":"265130:1:22","nodeType":"YulIdentifier","src":"265130:1:22"}],"functionName":{"name":"shr","nativeSrc":"265119:3:22","nodeType":"YulIdentifier","src":"265119:3:22"},"nativeSrc":"265119:13:22","nodeType":"YulFunctionCall","src":"265119:13:22"}],"functionName":{"name":"shl","nativeSrc":"265108:3:22","nodeType":"YulIdentifier","src":"265108:3:22"},"nativeSrc":"265108:25:22","nodeType":"YulFunctionCall","src":"265108:25:22"}],"functionName":{"name":"mstore","nativeSrc":"265085:6:22","nodeType":"YulIdentifier","src":"265085:6:22"},"nativeSrc":"265085:49:22","nodeType":"YulFunctionCall","src":"265085:49:22"},"nativeSrc":"265085:49:22","nodeType":"YulExpressionStatement","src":"265085:49:22"}]},"name":"writeString","nativeSrc":"264806:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"264827:3:22","nodeType":"YulTypedName","src":"264827:3:22","type":""},{"name":"w","nativeSrc":"264832:1:22","nodeType":"YulTypedName","src":"264832:1:22","type":""}],"src":"264806:342:22"},{"nativeSrc":"265161:17:22","nodeType":"YulAssignment","src":"265161:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265173:4:22","nodeType":"YulLiteral","src":"265173:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"265167:5:22","nodeType":"YulIdentifier","src":"265167:5:22"},"nativeSrc":"265167:11:22","nodeType":"YulFunctionCall","src":"265167:11:22"},"variableNames":[{"name":"m0","nativeSrc":"265161:2:22","nodeType":"YulIdentifier","src":"265161:2:22"}]},{"nativeSrc":"265191:17:22","nodeType":"YulAssignment","src":"265191:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265203:4:22","nodeType":"YulLiteral","src":"265203:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"265197:5:22","nodeType":"YulIdentifier","src":"265197:5:22"},"nativeSrc":"265197:11:22","nodeType":"YulFunctionCall","src":"265197:11:22"},"variableNames":[{"name":"m1","nativeSrc":"265191:2:22","nodeType":"YulIdentifier","src":"265191:2:22"}]},{"nativeSrc":"265221:17:22","nodeType":"YulAssignment","src":"265221:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265233:4:22","nodeType":"YulLiteral","src":"265233:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"265227:5:22","nodeType":"YulIdentifier","src":"265227:5:22"},"nativeSrc":"265227:11:22","nodeType":"YulFunctionCall","src":"265227:11:22"},"variableNames":[{"name":"m2","nativeSrc":"265221:2:22","nodeType":"YulIdentifier","src":"265221:2:22"}]},{"nativeSrc":"265251:17:22","nodeType":"YulAssignment","src":"265251:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265263:4:22","nodeType":"YulLiteral","src":"265263:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"265257:5:22","nodeType":"YulIdentifier","src":"265257:5:22"},"nativeSrc":"265257:11:22","nodeType":"YulFunctionCall","src":"265257:11:22"},"variableNames":[{"name":"m3","nativeSrc":"265251:2:22","nodeType":"YulIdentifier","src":"265251:2:22"}]},{"nativeSrc":"265281:17:22","nodeType":"YulAssignment","src":"265281:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265293:4:22","nodeType":"YulLiteral","src":"265293:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"265287:5:22","nodeType":"YulIdentifier","src":"265287:5:22"},"nativeSrc":"265287:11:22","nodeType":"YulFunctionCall","src":"265287:11:22"},"variableNames":[{"name":"m4","nativeSrc":"265281:2:22","nodeType":"YulIdentifier","src":"265281:2:22"}]},{"nativeSrc":"265311:17:22","nodeType":"YulAssignment","src":"265311:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265323:4:22","nodeType":"YulLiteral","src":"265323:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"265317:5:22","nodeType":"YulIdentifier","src":"265317:5:22"},"nativeSrc":"265317:11:22","nodeType":"YulFunctionCall","src":"265317:11:22"},"variableNames":[{"name":"m5","nativeSrc":"265311:2:22","nodeType":"YulIdentifier","src":"265311:2:22"}]},{"nativeSrc":"265341:17:22","nodeType":"YulAssignment","src":"265341:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265353:4:22","nodeType":"YulLiteral","src":"265353:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"265347:5:22","nodeType":"YulIdentifier","src":"265347:5:22"},"nativeSrc":"265347:11:22","nodeType":"YulFunctionCall","src":"265347:11:22"},"variableNames":[{"name":"m6","nativeSrc":"265341:2:22","nodeType":"YulIdentifier","src":"265341:2:22"}]},{"nativeSrc":"265371:17:22","nodeType":"YulAssignment","src":"265371:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"265383:4:22","nodeType":"YulLiteral","src":"265383:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"265377:5:22","nodeType":"YulIdentifier","src":"265377:5:22"},"nativeSrc":"265377:11:22","nodeType":"YulFunctionCall","src":"265377:11:22"},"variableNames":[{"name":"m7","nativeSrc":"265371:2:22","nodeType":"YulIdentifier","src":"265371:2:22"}]},{"nativeSrc":"265401:18:22","nodeType":"YulAssignment","src":"265401:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"265413:5:22","nodeType":"YulLiteral","src":"265413:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"265407:5:22","nodeType":"YulIdentifier","src":"265407:5:22"},"nativeSrc":"265407:12:22","nodeType":"YulFunctionCall","src":"265407:12:22"},"variableNames":[{"name":"m8","nativeSrc":"265401:2:22","nodeType":"YulIdentifier","src":"265401:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265504:4:22","nodeType":"YulLiteral","src":"265504:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"265510:10:22","nodeType":"YulLiteral","src":"265510:10:22","type":"","value":"0x3e128ca3"}],"functionName":{"name":"mstore","nativeSrc":"265497:6:22","nodeType":"YulIdentifier","src":"265497:6:22"},"nativeSrc":"265497:24:22","nodeType":"YulFunctionCall","src":"265497:24:22"},"nativeSrc":"265497:24:22","nodeType":"YulExpressionStatement","src":"265497:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265541:4:22","nodeType":"YulLiteral","src":"265541:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"265547:2:22","nodeType":"YulIdentifier","src":"265547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265534:6:22","nodeType":"YulIdentifier","src":"265534:6:22"},"nativeSrc":"265534:16:22","nodeType":"YulFunctionCall","src":"265534:16:22"},"nativeSrc":"265534:16:22","nodeType":"YulExpressionStatement","src":"265534:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265570:4:22","nodeType":"YulLiteral","src":"265570:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"265576:2:22","nodeType":"YulIdentifier","src":"265576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265563:6:22","nodeType":"YulIdentifier","src":"265563:6:22"},"nativeSrc":"265563:16:22","nodeType":"YulFunctionCall","src":"265563:16:22"},"nativeSrc":"265563:16:22","nodeType":"YulExpressionStatement","src":"265563:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265599:4:22","nodeType":"YulLiteral","src":"265599:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"265605:4:22","nodeType":"YulLiteral","src":"265605:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"265592:6:22","nodeType":"YulIdentifier","src":"265592:6:22"},"nativeSrc":"265592:18:22","nodeType":"YulFunctionCall","src":"265592:18:22"},"nativeSrc":"265592:18:22","nodeType":"YulExpressionStatement","src":"265592:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265630:4:22","nodeType":"YulLiteral","src":"265630:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"265636:4:22","nodeType":"YulLiteral","src":"265636:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"265623:6:22","nodeType":"YulIdentifier","src":"265623:6:22"},"nativeSrc":"265623:18:22","nodeType":"YulFunctionCall","src":"265623:18:22"},"nativeSrc":"265623:18:22","nodeType":"YulExpressionStatement","src":"265623:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265666:4:22","nodeType":"YulLiteral","src":"265666:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"265672:2:22","nodeType":"YulIdentifier","src":"265672:2:22"}],"functionName":{"name":"writeString","nativeSrc":"265654:11:22","nodeType":"YulIdentifier","src":"265654:11:22"},"nativeSrc":"265654:21:22","nodeType":"YulFunctionCall","src":"265654:21:22"},"nativeSrc":"265654:21:22","nodeType":"YulExpressionStatement","src":"265654:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265700:4:22","nodeType":"YulLiteral","src":"265700:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"265706:2:22","nodeType":"YulIdentifier","src":"265706:2:22"}],"functionName":{"name":"writeString","nativeSrc":"265688:11:22","nodeType":"YulIdentifier","src":"265688:11:22"},"nativeSrc":"265688:21:22","nodeType":"YulFunctionCall","src":"265688:21:22"},"nativeSrc":"265688:21:22","nodeType":"YulExpressionStatement","src":"265688:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39671,"isOffset":false,"isSlot":false,"src":"265161:2:22","valueSize":1},{"declaration":39674,"isOffset":false,"isSlot":false,"src":"265191:2:22","valueSize":1},{"declaration":39677,"isOffset":false,"isSlot":false,"src":"265221:2:22","valueSize":1},{"declaration":39680,"isOffset":false,"isSlot":false,"src":"265251:2:22","valueSize":1},{"declaration":39683,"isOffset":false,"isSlot":false,"src":"265281:2:22","valueSize":1},{"declaration":39686,"isOffset":false,"isSlot":false,"src":"265311:2:22","valueSize":1},{"declaration":39689,"isOffset":false,"isSlot":false,"src":"265341:2:22","valueSize":1},{"declaration":39692,"isOffset":false,"isSlot":false,"src":"265371:2:22","valueSize":1},{"declaration":39695,"isOffset":false,"isSlot":false,"src":"265401:2:22","valueSize":1},{"declaration":39661,"isOffset":false,"isSlot":false,"src":"265547:2:22","valueSize":1},{"declaration":39663,"isOffset":false,"isSlot":false,"src":"265576:2:22","valueSize":1},{"declaration":39665,"isOffset":false,"isSlot":false,"src":"265672:2:22","valueSize":1},{"declaration":39667,"isOffset":false,"isSlot":false,"src":"265706:2:22","valueSize":1}],"id":39697,"nodeType":"InlineAssembly","src":"264783:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265744:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265750:5:22","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":39698,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"265728:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"265728:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39702,"nodeType":"ExpressionStatement","src":"265728:28:22"},{"AST":{"nativeSrc":"265818:273:22","nodeType":"YulBlock","src":"265818:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"265839:4:22","nodeType":"YulLiteral","src":"265839:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"265845:2:22","nodeType":"YulIdentifier","src":"265845:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265832:6:22","nodeType":"YulIdentifier","src":"265832:6:22"},"nativeSrc":"265832:16:22","nodeType":"YulFunctionCall","src":"265832:16:22"},"nativeSrc":"265832:16:22","nodeType":"YulExpressionStatement","src":"265832:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265868:4:22","nodeType":"YulLiteral","src":"265868:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"265874:2:22","nodeType":"YulIdentifier","src":"265874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265861:6:22","nodeType":"YulIdentifier","src":"265861:6:22"},"nativeSrc":"265861:16:22","nodeType":"YulFunctionCall","src":"265861:16:22"},"nativeSrc":"265861:16:22","nodeType":"YulExpressionStatement","src":"265861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265897:4:22","nodeType":"YulLiteral","src":"265897:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"265903:2:22","nodeType":"YulIdentifier","src":"265903:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265890:6:22","nodeType":"YulIdentifier","src":"265890:6:22"},"nativeSrc":"265890:16:22","nodeType":"YulFunctionCall","src":"265890:16:22"},"nativeSrc":"265890:16:22","nodeType":"YulExpressionStatement","src":"265890:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265926:4:22","nodeType":"YulLiteral","src":"265926:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"265932:2:22","nodeType":"YulIdentifier","src":"265932:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265919:6:22","nodeType":"YulIdentifier","src":"265919:6:22"},"nativeSrc":"265919:16:22","nodeType":"YulFunctionCall","src":"265919:16:22"},"nativeSrc":"265919:16:22","nodeType":"YulExpressionStatement","src":"265919:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265955:4:22","nodeType":"YulLiteral","src":"265955:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"265961:2:22","nodeType":"YulIdentifier","src":"265961:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265948:6:22","nodeType":"YulIdentifier","src":"265948:6:22"},"nativeSrc":"265948:16:22","nodeType":"YulFunctionCall","src":"265948:16:22"},"nativeSrc":"265948:16:22","nodeType":"YulExpressionStatement","src":"265948:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265984:4:22","nodeType":"YulLiteral","src":"265984:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"265990:2:22","nodeType":"YulIdentifier","src":"265990:2:22"}],"functionName":{"name":"mstore","nativeSrc":"265977:6:22","nodeType":"YulIdentifier","src":"265977:6:22"},"nativeSrc":"265977:16:22","nodeType":"YulFunctionCall","src":"265977:16:22"},"nativeSrc":"265977:16:22","nodeType":"YulExpressionStatement","src":"265977:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266013:4:22","nodeType":"YulLiteral","src":"266013:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"266019:2:22","nodeType":"YulIdentifier","src":"266019:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266006:6:22","nodeType":"YulIdentifier","src":"266006:6:22"},"nativeSrc":"266006:16:22","nodeType":"YulFunctionCall","src":"266006:16:22"},"nativeSrc":"266006:16:22","nodeType":"YulExpressionStatement","src":"266006:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266042:4:22","nodeType":"YulLiteral","src":"266042:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"266048:2:22","nodeType":"YulIdentifier","src":"266048:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266035:6:22","nodeType":"YulIdentifier","src":"266035:6:22"},"nativeSrc":"266035:16:22","nodeType":"YulFunctionCall","src":"266035:16:22"},"nativeSrc":"266035:16:22","nodeType":"YulExpressionStatement","src":"266035:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266071:5:22","nodeType":"YulLiteral","src":"266071:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"266078:2:22","nodeType":"YulIdentifier","src":"266078:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266064:6:22","nodeType":"YulIdentifier","src":"266064:6:22"},"nativeSrc":"266064:17:22","nodeType":"YulFunctionCall","src":"266064:17:22"},"nativeSrc":"266064:17:22","nodeType":"YulExpressionStatement","src":"266064:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39671,"isOffset":false,"isSlot":false,"src":"265845:2:22","valueSize":1},{"declaration":39674,"isOffset":false,"isSlot":false,"src":"265874:2:22","valueSize":1},{"declaration":39677,"isOffset":false,"isSlot":false,"src":"265903:2:22","valueSize":1},{"declaration":39680,"isOffset":false,"isSlot":false,"src":"265932:2:22","valueSize":1},{"declaration":39683,"isOffset":false,"isSlot":false,"src":"265961:2:22","valueSize":1},{"declaration":39686,"isOffset":false,"isSlot":false,"src":"265990:2:22","valueSize":1},{"declaration":39689,"isOffset":false,"isSlot":false,"src":"266019:2:22","valueSize":1},{"declaration":39692,"isOffset":false,"isSlot":false,"src":"266048:2:22","valueSize":1},{"declaration":39695,"isOffset":false,"isSlot":false,"src":"266078:2:22","valueSize":1}],"id":39703,"nodeType":"InlineAssembly","src":"265809:282:22"}]},"id":39705,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"264484:3:22","nodeType":"FunctionDefinition","parameters":{"id":39668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39661,"mutability":"mutable","name":"p0","nameLocation":"264496:2:22","nodeType":"VariableDeclaration","scope":39705,"src":"264488:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39660,"name":"uint256","nodeType":"ElementaryTypeName","src":"264488:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39663,"mutability":"mutable","name":"p1","nameLocation":"264508:2:22","nodeType":"VariableDeclaration","scope":39705,"src":"264500:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39662,"name":"address","nodeType":"ElementaryTypeName","src":"264500:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39665,"mutability":"mutable","name":"p2","nameLocation":"264520:2:22","nodeType":"VariableDeclaration","scope":39705,"src":"264512:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264512:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39667,"mutability":"mutable","name":"p3","nameLocation":"264532:2:22","nodeType":"VariableDeclaration","scope":39705,"src":"264524:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264524:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"264487:48:22"},"returnParameters":{"id":39669,"nodeType":"ParameterList","parameters":[],"src":"264550:0:22"},"scope":44426,"src":"264475:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39738,"nodeType":"Block","src":"266175:800:22","statements":[{"assignments":[39717],"declarations":[{"constant":false,"id":39717,"mutability":"mutable","name":"m0","nameLocation":"266193:2:22","nodeType":"VariableDeclaration","scope":39738,"src":"266185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266185:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39718,"nodeType":"VariableDeclarationStatement","src":"266185:10:22"},{"assignments":[39720],"declarations":[{"constant":false,"id":39720,"mutability":"mutable","name":"m1","nameLocation":"266213:2:22","nodeType":"VariableDeclaration","scope":39738,"src":"266205:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266205:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39721,"nodeType":"VariableDeclarationStatement","src":"266205:10:22"},{"assignments":[39723],"declarations":[{"constant":false,"id":39723,"mutability":"mutable","name":"m2","nameLocation":"266233:2:22","nodeType":"VariableDeclaration","scope":39738,"src":"266225:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266225:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39724,"nodeType":"VariableDeclarationStatement","src":"266225:10:22"},{"assignments":[39726],"declarations":[{"constant":false,"id":39726,"mutability":"mutable","name":"m3","nameLocation":"266253:2:22","nodeType":"VariableDeclaration","scope":39738,"src":"266245:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266245:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39727,"nodeType":"VariableDeclarationStatement","src":"266245:10:22"},{"assignments":[39729],"declarations":[{"constant":false,"id":39729,"mutability":"mutable","name":"m4","nameLocation":"266273:2:22","nodeType":"VariableDeclaration","scope":39738,"src":"266265:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266265:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39730,"nodeType":"VariableDeclarationStatement","src":"266265:10:22"},{"AST":{"nativeSrc":"266337:378:22","nodeType":"YulBlock","src":"266337:378:22","statements":[{"nativeSrc":"266351:17:22","nodeType":"YulAssignment","src":"266351:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"266363:4:22","nodeType":"YulLiteral","src":"266363:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"266357:5:22","nodeType":"YulIdentifier","src":"266357:5:22"},"nativeSrc":"266357:11:22","nodeType":"YulFunctionCall","src":"266357:11:22"},"variableNames":[{"name":"m0","nativeSrc":"266351:2:22","nodeType":"YulIdentifier","src":"266351:2:22"}]},{"nativeSrc":"266381:17:22","nodeType":"YulAssignment","src":"266381:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"266393:4:22","nodeType":"YulLiteral","src":"266393:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"266387:5:22","nodeType":"YulIdentifier","src":"266387:5:22"},"nativeSrc":"266387:11:22","nodeType":"YulFunctionCall","src":"266387:11:22"},"variableNames":[{"name":"m1","nativeSrc":"266381:2:22","nodeType":"YulIdentifier","src":"266381:2:22"}]},{"nativeSrc":"266411:17:22","nodeType":"YulAssignment","src":"266411:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"266423:4:22","nodeType":"YulLiteral","src":"266423:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"266417:5:22","nodeType":"YulIdentifier","src":"266417:5:22"},"nativeSrc":"266417:11:22","nodeType":"YulFunctionCall","src":"266417:11:22"},"variableNames":[{"name":"m2","nativeSrc":"266411:2:22","nodeType":"YulIdentifier","src":"266411:2:22"}]},{"nativeSrc":"266441:17:22","nodeType":"YulAssignment","src":"266441:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"266453:4:22","nodeType":"YulLiteral","src":"266453:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"266447:5:22","nodeType":"YulIdentifier","src":"266447:5:22"},"nativeSrc":"266447:11:22","nodeType":"YulFunctionCall","src":"266447:11:22"},"variableNames":[{"name":"m3","nativeSrc":"266441:2:22","nodeType":"YulIdentifier","src":"266441:2:22"}]},{"nativeSrc":"266471:17:22","nodeType":"YulAssignment","src":"266471:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"266483:4:22","nodeType":"YulLiteral","src":"266483:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"266477:5:22","nodeType":"YulIdentifier","src":"266477:5:22"},"nativeSrc":"266477:11:22","nodeType":"YulFunctionCall","src":"266477:11:22"},"variableNames":[{"name":"m4","nativeSrc":"266471:2:22","nodeType":"YulIdentifier","src":"266471:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266572:4:22","nodeType":"YulLiteral","src":"266572:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"266578:10:22","nodeType":"YulLiteral","src":"266578:10:22","type":"","value":"0xa1ef4cbb"}],"functionName":{"name":"mstore","nativeSrc":"266565:6:22","nodeType":"YulIdentifier","src":"266565:6:22"},"nativeSrc":"266565:24:22","nodeType":"YulFunctionCall","src":"266565:24:22"},"nativeSrc":"266565:24:22","nodeType":"YulExpressionStatement","src":"266565:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266609:4:22","nodeType":"YulLiteral","src":"266609:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"266615:2:22","nodeType":"YulIdentifier","src":"266615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266602:6:22","nodeType":"YulIdentifier","src":"266602:6:22"},"nativeSrc":"266602:16:22","nodeType":"YulFunctionCall","src":"266602:16:22"},"nativeSrc":"266602:16:22","nodeType":"YulExpressionStatement","src":"266602:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266638:4:22","nodeType":"YulLiteral","src":"266638:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"266644:2:22","nodeType":"YulIdentifier","src":"266644:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266631:6:22","nodeType":"YulIdentifier","src":"266631:6:22"},"nativeSrc":"266631:16:22","nodeType":"YulFunctionCall","src":"266631:16:22"},"nativeSrc":"266631:16:22","nodeType":"YulExpressionStatement","src":"266631:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266667:4:22","nodeType":"YulLiteral","src":"266667:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"266673:2:22","nodeType":"YulIdentifier","src":"266673:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266660:6:22","nodeType":"YulIdentifier","src":"266660:6:22"},"nativeSrc":"266660:16:22","nodeType":"YulFunctionCall","src":"266660:16:22"},"nativeSrc":"266660:16:22","nodeType":"YulExpressionStatement","src":"266660:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266696:4:22","nodeType":"YulLiteral","src":"266696:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"266702:2:22","nodeType":"YulIdentifier","src":"266702:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266689:6:22","nodeType":"YulIdentifier","src":"266689:6:22"},"nativeSrc":"266689:16:22","nodeType":"YulFunctionCall","src":"266689:16:22"},"nativeSrc":"266689:16:22","nodeType":"YulExpressionStatement","src":"266689:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39717,"isOffset":false,"isSlot":false,"src":"266351:2:22","valueSize":1},{"declaration":39720,"isOffset":false,"isSlot":false,"src":"266381:2:22","valueSize":1},{"declaration":39723,"isOffset":false,"isSlot":false,"src":"266411:2:22","valueSize":1},{"declaration":39726,"isOffset":false,"isSlot":false,"src":"266441:2:22","valueSize":1},{"declaration":39729,"isOffset":false,"isSlot":false,"src":"266471:2:22","valueSize":1},{"declaration":39707,"isOffset":false,"isSlot":false,"src":"266615:2:22","valueSize":1},{"declaration":39709,"isOffset":false,"isSlot":false,"src":"266644:2:22","valueSize":1},{"declaration":39711,"isOffset":false,"isSlot":false,"src":"266673:2:22","valueSize":1},{"declaration":39713,"isOffset":false,"isSlot":false,"src":"266702:2:22","valueSize":1}],"id":39731,"nodeType":"InlineAssembly","src":"266328:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266740:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266746:4:22","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":39732,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"266724:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"266724:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39736,"nodeType":"ExpressionStatement","src":"266724:27:22"},{"AST":{"nativeSrc":"266813:156:22","nodeType":"YulBlock","src":"266813:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"266834:4:22","nodeType":"YulLiteral","src":"266834:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"266840:2:22","nodeType":"YulIdentifier","src":"266840:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266827:6:22","nodeType":"YulIdentifier","src":"266827:6:22"},"nativeSrc":"266827:16:22","nodeType":"YulFunctionCall","src":"266827:16:22"},"nativeSrc":"266827:16:22","nodeType":"YulExpressionStatement","src":"266827:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266863:4:22","nodeType":"YulLiteral","src":"266863:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"266869:2:22","nodeType":"YulIdentifier","src":"266869:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266856:6:22","nodeType":"YulIdentifier","src":"266856:6:22"},"nativeSrc":"266856:16:22","nodeType":"YulFunctionCall","src":"266856:16:22"},"nativeSrc":"266856:16:22","nodeType":"YulExpressionStatement","src":"266856:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266892:4:22","nodeType":"YulLiteral","src":"266892:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"266898:2:22","nodeType":"YulIdentifier","src":"266898:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266885:6:22","nodeType":"YulIdentifier","src":"266885:6:22"},"nativeSrc":"266885:16:22","nodeType":"YulFunctionCall","src":"266885:16:22"},"nativeSrc":"266885:16:22","nodeType":"YulExpressionStatement","src":"266885:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266921:4:22","nodeType":"YulLiteral","src":"266921:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"266927:2:22","nodeType":"YulIdentifier","src":"266927:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266914:6:22","nodeType":"YulIdentifier","src":"266914:6:22"},"nativeSrc":"266914:16:22","nodeType":"YulFunctionCall","src":"266914:16:22"},"nativeSrc":"266914:16:22","nodeType":"YulExpressionStatement","src":"266914:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266950:4:22","nodeType":"YulLiteral","src":"266950:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"266956:2:22","nodeType":"YulIdentifier","src":"266956:2:22"}],"functionName":{"name":"mstore","nativeSrc":"266943:6:22","nodeType":"YulIdentifier","src":"266943:6:22"},"nativeSrc":"266943:16:22","nodeType":"YulFunctionCall","src":"266943:16:22"},"nativeSrc":"266943:16:22","nodeType":"YulExpressionStatement","src":"266943:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39717,"isOffset":false,"isSlot":false,"src":"266840:2:22","valueSize":1},{"declaration":39720,"isOffset":false,"isSlot":false,"src":"266869:2:22","valueSize":1},{"declaration":39723,"isOffset":false,"isSlot":false,"src":"266898:2:22","valueSize":1},{"declaration":39726,"isOffset":false,"isSlot":false,"src":"266927:2:22","valueSize":1},{"declaration":39729,"isOffset":false,"isSlot":false,"src":"266956:2:22","valueSize":1}],"id":39737,"nodeType":"InlineAssembly","src":"266804:165:22"}]},"id":39739,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266112:3:22","nodeType":"FunctionDefinition","parameters":{"id":39714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39707,"mutability":"mutable","name":"p0","nameLocation":"266124:2:22","nodeType":"VariableDeclaration","scope":39739,"src":"266116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39706,"name":"uint256","nodeType":"ElementaryTypeName","src":"266116:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39709,"mutability":"mutable","name":"p1","nameLocation":"266133:2:22","nodeType":"VariableDeclaration","scope":39739,"src":"266128:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39708,"name":"bool","nodeType":"ElementaryTypeName","src":"266128:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39711,"mutability":"mutable","name":"p2","nameLocation":"266145:2:22","nodeType":"VariableDeclaration","scope":39739,"src":"266137:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39710,"name":"address","nodeType":"ElementaryTypeName","src":"266137:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39713,"mutability":"mutable","name":"p3","nameLocation":"266157:2:22","nodeType":"VariableDeclaration","scope":39739,"src":"266149:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39712,"name":"address","nodeType":"ElementaryTypeName","src":"266149:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"266115:45:22"},"returnParameters":{"id":39715,"nodeType":"ParameterList","parameters":[],"src":"266175:0:22"},"scope":44426,"src":"266103:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39772,"nodeType":"Block","src":"267050:797:22","statements":[{"assignments":[39751],"declarations":[{"constant":false,"id":39751,"mutability":"mutable","name":"m0","nameLocation":"267068:2:22","nodeType":"VariableDeclaration","scope":39772,"src":"267060:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267060:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39752,"nodeType":"VariableDeclarationStatement","src":"267060:10:22"},{"assignments":[39754],"declarations":[{"constant":false,"id":39754,"mutability":"mutable","name":"m1","nameLocation":"267088:2:22","nodeType":"VariableDeclaration","scope":39772,"src":"267080:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267080:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39755,"nodeType":"VariableDeclarationStatement","src":"267080:10:22"},{"assignments":[39757],"declarations":[{"constant":false,"id":39757,"mutability":"mutable","name":"m2","nameLocation":"267108:2:22","nodeType":"VariableDeclaration","scope":39772,"src":"267100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267100:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39758,"nodeType":"VariableDeclarationStatement","src":"267100:10:22"},{"assignments":[39760],"declarations":[{"constant":false,"id":39760,"mutability":"mutable","name":"m3","nameLocation":"267128:2:22","nodeType":"VariableDeclaration","scope":39772,"src":"267120:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267120:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39761,"nodeType":"VariableDeclarationStatement","src":"267120:10:22"},{"assignments":[39763],"declarations":[{"constant":false,"id":39763,"mutability":"mutable","name":"m4","nameLocation":"267148:2:22","nodeType":"VariableDeclaration","scope":39772,"src":"267140:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267140:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39764,"nodeType":"VariableDeclarationStatement","src":"267140:10:22"},{"AST":{"nativeSrc":"267212:375:22","nodeType":"YulBlock","src":"267212:375:22","statements":[{"nativeSrc":"267226:17:22","nodeType":"YulAssignment","src":"267226:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"267238:4:22","nodeType":"YulLiteral","src":"267238:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"267232:5:22","nodeType":"YulIdentifier","src":"267232:5:22"},"nativeSrc":"267232:11:22","nodeType":"YulFunctionCall","src":"267232:11:22"},"variableNames":[{"name":"m0","nativeSrc":"267226:2:22","nodeType":"YulIdentifier","src":"267226:2:22"}]},{"nativeSrc":"267256:17:22","nodeType":"YulAssignment","src":"267256:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"267268:4:22","nodeType":"YulLiteral","src":"267268:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"267262:5:22","nodeType":"YulIdentifier","src":"267262:5:22"},"nativeSrc":"267262:11:22","nodeType":"YulFunctionCall","src":"267262:11:22"},"variableNames":[{"name":"m1","nativeSrc":"267256:2:22","nodeType":"YulIdentifier","src":"267256:2:22"}]},{"nativeSrc":"267286:17:22","nodeType":"YulAssignment","src":"267286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"267298:4:22","nodeType":"YulLiteral","src":"267298:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"267292:5:22","nodeType":"YulIdentifier","src":"267292:5:22"},"nativeSrc":"267292:11:22","nodeType":"YulFunctionCall","src":"267292:11:22"},"variableNames":[{"name":"m2","nativeSrc":"267286:2:22","nodeType":"YulIdentifier","src":"267286:2:22"}]},{"nativeSrc":"267316:17:22","nodeType":"YulAssignment","src":"267316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"267328:4:22","nodeType":"YulLiteral","src":"267328:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"267322:5:22","nodeType":"YulIdentifier","src":"267322:5:22"},"nativeSrc":"267322:11:22","nodeType":"YulFunctionCall","src":"267322:11:22"},"variableNames":[{"name":"m3","nativeSrc":"267316:2:22","nodeType":"YulIdentifier","src":"267316:2:22"}]},{"nativeSrc":"267346:17:22","nodeType":"YulAssignment","src":"267346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"267358:4:22","nodeType":"YulLiteral","src":"267358:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"267352:5:22","nodeType":"YulIdentifier","src":"267352:5:22"},"nativeSrc":"267352:11:22","nodeType":"YulFunctionCall","src":"267352:11:22"},"variableNames":[{"name":"m4","nativeSrc":"267346:2:22","nodeType":"YulIdentifier","src":"267346:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267444:4:22","nodeType":"YulLiteral","src":"267444:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"267450:10:22","nodeType":"YulLiteral","src":"267450:10:22","type":"","value":"0x454d54a5"}],"functionName":{"name":"mstore","nativeSrc":"267437:6:22","nodeType":"YulIdentifier","src":"267437:6:22"},"nativeSrc":"267437:24:22","nodeType":"YulFunctionCall","src":"267437:24:22"},"nativeSrc":"267437:24:22","nodeType":"YulExpressionStatement","src":"267437:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267481:4:22","nodeType":"YulLiteral","src":"267481:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"267487:2:22","nodeType":"YulIdentifier","src":"267487:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267474:6:22","nodeType":"YulIdentifier","src":"267474:6:22"},"nativeSrc":"267474:16:22","nodeType":"YulFunctionCall","src":"267474:16:22"},"nativeSrc":"267474:16:22","nodeType":"YulExpressionStatement","src":"267474:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267510:4:22","nodeType":"YulLiteral","src":"267510:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"267516:2:22","nodeType":"YulIdentifier","src":"267516:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267503:6:22","nodeType":"YulIdentifier","src":"267503:6:22"},"nativeSrc":"267503:16:22","nodeType":"YulFunctionCall","src":"267503:16:22"},"nativeSrc":"267503:16:22","nodeType":"YulExpressionStatement","src":"267503:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267539:4:22","nodeType":"YulLiteral","src":"267539:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"267545:2:22","nodeType":"YulIdentifier","src":"267545:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267532:6:22","nodeType":"YulIdentifier","src":"267532:6:22"},"nativeSrc":"267532:16:22","nodeType":"YulFunctionCall","src":"267532:16:22"},"nativeSrc":"267532:16:22","nodeType":"YulExpressionStatement","src":"267532:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267568:4:22","nodeType":"YulLiteral","src":"267568:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"267574:2:22","nodeType":"YulIdentifier","src":"267574:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267561:6:22","nodeType":"YulIdentifier","src":"267561:6:22"},"nativeSrc":"267561:16:22","nodeType":"YulFunctionCall","src":"267561:16:22"},"nativeSrc":"267561:16:22","nodeType":"YulExpressionStatement","src":"267561:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39751,"isOffset":false,"isSlot":false,"src":"267226:2:22","valueSize":1},{"declaration":39754,"isOffset":false,"isSlot":false,"src":"267256:2:22","valueSize":1},{"declaration":39757,"isOffset":false,"isSlot":false,"src":"267286:2:22","valueSize":1},{"declaration":39760,"isOffset":false,"isSlot":false,"src":"267316:2:22","valueSize":1},{"declaration":39763,"isOffset":false,"isSlot":false,"src":"267346:2:22","valueSize":1},{"declaration":39741,"isOffset":false,"isSlot":false,"src":"267487:2:22","valueSize":1},{"declaration":39743,"isOffset":false,"isSlot":false,"src":"267516:2:22","valueSize":1},{"declaration":39745,"isOffset":false,"isSlot":false,"src":"267545:2:22","valueSize":1},{"declaration":39747,"isOffset":false,"isSlot":false,"src":"267574:2:22","valueSize":1}],"id":39765,"nodeType":"InlineAssembly","src":"267203:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267612:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267618:4:22","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":39766,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"267596:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"267596:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39770,"nodeType":"ExpressionStatement","src":"267596:27:22"},{"AST":{"nativeSrc":"267685:156:22","nodeType":"YulBlock","src":"267685:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"267706:4:22","nodeType":"YulLiteral","src":"267706:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"267712:2:22","nodeType":"YulIdentifier","src":"267712:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267699:6:22","nodeType":"YulIdentifier","src":"267699:6:22"},"nativeSrc":"267699:16:22","nodeType":"YulFunctionCall","src":"267699:16:22"},"nativeSrc":"267699:16:22","nodeType":"YulExpressionStatement","src":"267699:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267735:4:22","nodeType":"YulLiteral","src":"267735:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"267741:2:22","nodeType":"YulIdentifier","src":"267741:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267728:6:22","nodeType":"YulIdentifier","src":"267728:6:22"},"nativeSrc":"267728:16:22","nodeType":"YulFunctionCall","src":"267728:16:22"},"nativeSrc":"267728:16:22","nodeType":"YulExpressionStatement","src":"267728:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267764:4:22","nodeType":"YulLiteral","src":"267764:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"267770:2:22","nodeType":"YulIdentifier","src":"267770:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267757:6:22","nodeType":"YulIdentifier","src":"267757:6:22"},"nativeSrc":"267757:16:22","nodeType":"YulFunctionCall","src":"267757:16:22"},"nativeSrc":"267757:16:22","nodeType":"YulExpressionStatement","src":"267757:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267793:4:22","nodeType":"YulLiteral","src":"267793:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"267799:2:22","nodeType":"YulIdentifier","src":"267799:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267786:6:22","nodeType":"YulIdentifier","src":"267786:6:22"},"nativeSrc":"267786:16:22","nodeType":"YulFunctionCall","src":"267786:16:22"},"nativeSrc":"267786:16:22","nodeType":"YulExpressionStatement","src":"267786:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267822:4:22","nodeType":"YulLiteral","src":"267822:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"267828:2:22","nodeType":"YulIdentifier","src":"267828:2:22"}],"functionName":{"name":"mstore","nativeSrc":"267815:6:22","nodeType":"YulIdentifier","src":"267815:6:22"},"nativeSrc":"267815:16:22","nodeType":"YulFunctionCall","src":"267815:16:22"},"nativeSrc":"267815:16:22","nodeType":"YulExpressionStatement","src":"267815:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39751,"isOffset":false,"isSlot":false,"src":"267712:2:22","valueSize":1},{"declaration":39754,"isOffset":false,"isSlot":false,"src":"267741:2:22","valueSize":1},{"declaration":39757,"isOffset":false,"isSlot":false,"src":"267770:2:22","valueSize":1},{"declaration":39760,"isOffset":false,"isSlot":false,"src":"267799:2:22","valueSize":1},{"declaration":39763,"isOffset":false,"isSlot":false,"src":"267828:2:22","valueSize":1}],"id":39771,"nodeType":"InlineAssembly","src":"267676:165:22"}]},"id":39773,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266990:3:22","nodeType":"FunctionDefinition","parameters":{"id":39748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39741,"mutability":"mutable","name":"p0","nameLocation":"267002:2:22","nodeType":"VariableDeclaration","scope":39773,"src":"266994:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39740,"name":"uint256","nodeType":"ElementaryTypeName","src":"266994:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39743,"mutability":"mutable","name":"p1","nameLocation":"267011:2:22","nodeType":"VariableDeclaration","scope":39773,"src":"267006:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39742,"name":"bool","nodeType":"ElementaryTypeName","src":"267006:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39745,"mutability":"mutable","name":"p2","nameLocation":"267023:2:22","nodeType":"VariableDeclaration","scope":39773,"src":"267015:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39744,"name":"address","nodeType":"ElementaryTypeName","src":"267015:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39747,"mutability":"mutable","name":"p3","nameLocation":"267032:2:22","nodeType":"VariableDeclaration","scope":39773,"src":"267027:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39746,"name":"bool","nodeType":"ElementaryTypeName","src":"267027:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"266993:42:22"},"returnParameters":{"id":39749,"nodeType":"ParameterList","parameters":[],"src":"267050:0:22"},"scope":44426,"src":"266981:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39806,"nodeType":"Block","src":"267925:800:22","statements":[{"assignments":[39785],"declarations":[{"constant":false,"id":39785,"mutability":"mutable","name":"m0","nameLocation":"267943:2:22","nodeType":"VariableDeclaration","scope":39806,"src":"267935:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267935:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39786,"nodeType":"VariableDeclarationStatement","src":"267935:10:22"},{"assignments":[39788],"declarations":[{"constant":false,"id":39788,"mutability":"mutable","name":"m1","nameLocation":"267963:2:22","nodeType":"VariableDeclaration","scope":39806,"src":"267955:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267955:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39789,"nodeType":"VariableDeclarationStatement","src":"267955:10:22"},{"assignments":[39791],"declarations":[{"constant":false,"id":39791,"mutability":"mutable","name":"m2","nameLocation":"267983:2:22","nodeType":"VariableDeclaration","scope":39806,"src":"267975:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267975:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39792,"nodeType":"VariableDeclarationStatement","src":"267975:10:22"},{"assignments":[39794],"declarations":[{"constant":false,"id":39794,"mutability":"mutable","name":"m3","nameLocation":"268003:2:22","nodeType":"VariableDeclaration","scope":39806,"src":"267995:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267995:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39795,"nodeType":"VariableDeclarationStatement","src":"267995:10:22"},{"assignments":[39797],"declarations":[{"constant":false,"id":39797,"mutability":"mutable","name":"m4","nameLocation":"268023:2:22","nodeType":"VariableDeclaration","scope":39806,"src":"268015:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268015:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39798,"nodeType":"VariableDeclarationStatement","src":"268015:10:22"},{"AST":{"nativeSrc":"268087:378:22","nodeType":"YulBlock","src":"268087:378:22","statements":[{"nativeSrc":"268101:17:22","nodeType":"YulAssignment","src":"268101:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"268113:4:22","nodeType":"YulLiteral","src":"268113:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"268107:5:22","nodeType":"YulIdentifier","src":"268107:5:22"},"nativeSrc":"268107:11:22","nodeType":"YulFunctionCall","src":"268107:11:22"},"variableNames":[{"name":"m0","nativeSrc":"268101:2:22","nodeType":"YulIdentifier","src":"268101:2:22"}]},{"nativeSrc":"268131:17:22","nodeType":"YulAssignment","src":"268131:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"268143:4:22","nodeType":"YulLiteral","src":"268143:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"268137:5:22","nodeType":"YulIdentifier","src":"268137:5:22"},"nativeSrc":"268137:11:22","nodeType":"YulFunctionCall","src":"268137:11:22"},"variableNames":[{"name":"m1","nativeSrc":"268131:2:22","nodeType":"YulIdentifier","src":"268131:2:22"}]},{"nativeSrc":"268161:17:22","nodeType":"YulAssignment","src":"268161:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"268173:4:22","nodeType":"YulLiteral","src":"268173:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"268167:5:22","nodeType":"YulIdentifier","src":"268167:5:22"},"nativeSrc":"268167:11:22","nodeType":"YulFunctionCall","src":"268167:11:22"},"variableNames":[{"name":"m2","nativeSrc":"268161:2:22","nodeType":"YulIdentifier","src":"268161:2:22"}]},{"nativeSrc":"268191:17:22","nodeType":"YulAssignment","src":"268191:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"268203:4:22","nodeType":"YulLiteral","src":"268203:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"268197:5:22","nodeType":"YulIdentifier","src":"268197:5:22"},"nativeSrc":"268197:11:22","nodeType":"YulFunctionCall","src":"268197:11:22"},"variableNames":[{"name":"m3","nativeSrc":"268191:2:22","nodeType":"YulIdentifier","src":"268191:2:22"}]},{"nativeSrc":"268221:17:22","nodeType":"YulAssignment","src":"268221:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"268233:4:22","nodeType":"YulLiteral","src":"268233:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"268227:5:22","nodeType":"YulIdentifier","src":"268227:5:22"},"nativeSrc":"268227:11:22","nodeType":"YulFunctionCall","src":"268227:11:22"},"variableNames":[{"name":"m4","nativeSrc":"268221:2:22","nodeType":"YulIdentifier","src":"268221:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268322:4:22","nodeType":"YulLiteral","src":"268322:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"268328:10:22","nodeType":"YulLiteral","src":"268328:10:22","type":"","value":"0x078287f5"}],"functionName":{"name":"mstore","nativeSrc":"268315:6:22","nodeType":"YulIdentifier","src":"268315:6:22"},"nativeSrc":"268315:24:22","nodeType":"YulFunctionCall","src":"268315:24:22"},"nativeSrc":"268315:24:22","nodeType":"YulExpressionStatement","src":"268315:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268359:4:22","nodeType":"YulLiteral","src":"268359:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"268365:2:22","nodeType":"YulIdentifier","src":"268365:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268352:6:22","nodeType":"YulIdentifier","src":"268352:6:22"},"nativeSrc":"268352:16:22","nodeType":"YulFunctionCall","src":"268352:16:22"},"nativeSrc":"268352:16:22","nodeType":"YulExpressionStatement","src":"268352:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268388:4:22","nodeType":"YulLiteral","src":"268388:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"268394:2:22","nodeType":"YulIdentifier","src":"268394:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268381:6:22","nodeType":"YulIdentifier","src":"268381:6:22"},"nativeSrc":"268381:16:22","nodeType":"YulFunctionCall","src":"268381:16:22"},"nativeSrc":"268381:16:22","nodeType":"YulExpressionStatement","src":"268381:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268417:4:22","nodeType":"YulLiteral","src":"268417:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"268423:2:22","nodeType":"YulIdentifier","src":"268423:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268410:6:22","nodeType":"YulIdentifier","src":"268410:6:22"},"nativeSrc":"268410:16:22","nodeType":"YulFunctionCall","src":"268410:16:22"},"nativeSrc":"268410:16:22","nodeType":"YulExpressionStatement","src":"268410:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268446:4:22","nodeType":"YulLiteral","src":"268446:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"268452:2:22","nodeType":"YulIdentifier","src":"268452:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268439:6:22","nodeType":"YulIdentifier","src":"268439:6:22"},"nativeSrc":"268439:16:22","nodeType":"YulFunctionCall","src":"268439:16:22"},"nativeSrc":"268439:16:22","nodeType":"YulExpressionStatement","src":"268439:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39785,"isOffset":false,"isSlot":false,"src":"268101:2:22","valueSize":1},{"declaration":39788,"isOffset":false,"isSlot":false,"src":"268131:2:22","valueSize":1},{"declaration":39791,"isOffset":false,"isSlot":false,"src":"268161:2:22","valueSize":1},{"declaration":39794,"isOffset":false,"isSlot":false,"src":"268191:2:22","valueSize":1},{"declaration":39797,"isOffset":false,"isSlot":false,"src":"268221:2:22","valueSize":1},{"declaration":39775,"isOffset":false,"isSlot":false,"src":"268365:2:22","valueSize":1},{"declaration":39777,"isOffset":false,"isSlot":false,"src":"268394:2:22","valueSize":1},{"declaration":39779,"isOffset":false,"isSlot":false,"src":"268423:2:22","valueSize":1},{"declaration":39781,"isOffset":false,"isSlot":false,"src":"268452:2:22","valueSize":1}],"id":39799,"nodeType":"InlineAssembly","src":"268078:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268490:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268496:4:22","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":39800,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"268474:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"268474:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39804,"nodeType":"ExpressionStatement","src":"268474:27:22"},{"AST":{"nativeSrc":"268563:156:22","nodeType":"YulBlock","src":"268563:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"268584:4:22","nodeType":"YulLiteral","src":"268584:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"268590:2:22","nodeType":"YulIdentifier","src":"268590:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268577:6:22","nodeType":"YulIdentifier","src":"268577:6:22"},"nativeSrc":"268577:16:22","nodeType":"YulFunctionCall","src":"268577:16:22"},"nativeSrc":"268577:16:22","nodeType":"YulExpressionStatement","src":"268577:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268613:4:22","nodeType":"YulLiteral","src":"268613:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"268619:2:22","nodeType":"YulIdentifier","src":"268619:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268606:6:22","nodeType":"YulIdentifier","src":"268606:6:22"},"nativeSrc":"268606:16:22","nodeType":"YulFunctionCall","src":"268606:16:22"},"nativeSrc":"268606:16:22","nodeType":"YulExpressionStatement","src":"268606:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268642:4:22","nodeType":"YulLiteral","src":"268642:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"268648:2:22","nodeType":"YulIdentifier","src":"268648:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268635:6:22","nodeType":"YulIdentifier","src":"268635:6:22"},"nativeSrc":"268635:16:22","nodeType":"YulFunctionCall","src":"268635:16:22"},"nativeSrc":"268635:16:22","nodeType":"YulExpressionStatement","src":"268635:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268671:4:22","nodeType":"YulLiteral","src":"268671:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"268677:2:22","nodeType":"YulIdentifier","src":"268677:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268664:6:22","nodeType":"YulIdentifier","src":"268664:6:22"},"nativeSrc":"268664:16:22","nodeType":"YulFunctionCall","src":"268664:16:22"},"nativeSrc":"268664:16:22","nodeType":"YulExpressionStatement","src":"268664:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268700:4:22","nodeType":"YulLiteral","src":"268700:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"268706:2:22","nodeType":"YulIdentifier","src":"268706:2:22"}],"functionName":{"name":"mstore","nativeSrc":"268693:6:22","nodeType":"YulIdentifier","src":"268693:6:22"},"nativeSrc":"268693:16:22","nodeType":"YulFunctionCall","src":"268693:16:22"},"nativeSrc":"268693:16:22","nodeType":"YulExpressionStatement","src":"268693:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39785,"isOffset":false,"isSlot":false,"src":"268590:2:22","valueSize":1},{"declaration":39788,"isOffset":false,"isSlot":false,"src":"268619:2:22","valueSize":1},{"declaration":39791,"isOffset":false,"isSlot":false,"src":"268648:2:22","valueSize":1},{"declaration":39794,"isOffset":false,"isSlot":false,"src":"268677:2:22","valueSize":1},{"declaration":39797,"isOffset":false,"isSlot":false,"src":"268706:2:22","valueSize":1}],"id":39805,"nodeType":"InlineAssembly","src":"268554:165:22"}]},"id":39807,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"267862:3:22","nodeType":"FunctionDefinition","parameters":{"id":39782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39775,"mutability":"mutable","name":"p0","nameLocation":"267874:2:22","nodeType":"VariableDeclaration","scope":39807,"src":"267866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39774,"name":"uint256","nodeType":"ElementaryTypeName","src":"267866:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39777,"mutability":"mutable","name":"p1","nameLocation":"267883:2:22","nodeType":"VariableDeclaration","scope":39807,"src":"267878:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39776,"name":"bool","nodeType":"ElementaryTypeName","src":"267878:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39779,"mutability":"mutable","name":"p2","nameLocation":"267895:2:22","nodeType":"VariableDeclaration","scope":39807,"src":"267887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39778,"name":"address","nodeType":"ElementaryTypeName","src":"267887:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39781,"mutability":"mutable","name":"p3","nameLocation":"267907:2:22","nodeType":"VariableDeclaration","scope":39807,"src":"267899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39780,"name":"uint256","nodeType":"ElementaryTypeName","src":"267899:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"267865:45:22"},"returnParameters":{"id":39783,"nodeType":"ParameterList","parameters":[],"src":"267925:0:22"},"scope":44426,"src":"267853:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39846,"nodeType":"Block","src":"268803:1348:22","statements":[{"assignments":[39819],"declarations":[{"constant":false,"id":39819,"mutability":"mutable","name":"m0","nameLocation":"268821:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268813:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39818,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268813:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39820,"nodeType":"VariableDeclarationStatement","src":"268813:10:22"},{"assignments":[39822],"declarations":[{"constant":false,"id":39822,"mutability":"mutable","name":"m1","nameLocation":"268841:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268833:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268833:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39823,"nodeType":"VariableDeclarationStatement","src":"268833:10:22"},{"assignments":[39825],"declarations":[{"constant":false,"id":39825,"mutability":"mutable","name":"m2","nameLocation":"268861:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268853:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268853:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39826,"nodeType":"VariableDeclarationStatement","src":"268853:10:22"},{"assignments":[39828],"declarations":[{"constant":false,"id":39828,"mutability":"mutable","name":"m3","nameLocation":"268881:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39829,"nodeType":"VariableDeclarationStatement","src":"268873:10:22"},{"assignments":[39831],"declarations":[{"constant":false,"id":39831,"mutability":"mutable","name":"m4","nameLocation":"268901:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39832,"nodeType":"VariableDeclarationStatement","src":"268893:10:22"},{"assignments":[39834],"declarations":[{"constant":false,"id":39834,"mutability":"mutable","name":"m5","nameLocation":"268921:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268913:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268913:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39835,"nodeType":"VariableDeclarationStatement","src":"268913:10:22"},{"assignments":[39837],"declarations":[{"constant":false,"id":39837,"mutability":"mutable","name":"m6","nameLocation":"268941:2:22","nodeType":"VariableDeclaration","scope":39846,"src":"268933:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268933:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39838,"nodeType":"VariableDeclarationStatement","src":"268933:10:22"},{"AST":{"nativeSrc":"269005:828:22","nodeType":"YulBlock","src":"269005:828:22","statements":[{"body":{"nativeSrc":"269048:313:22","nodeType":"YulBlock","src":"269048:313:22","statements":[{"nativeSrc":"269066:15:22","nodeType":"YulVariableDeclaration","src":"269066:15:22","value":{"kind":"number","nativeSrc":"269080:1:22","nodeType":"YulLiteral","src":"269080:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"269070:6:22","nodeType":"YulTypedName","src":"269070:6:22","type":""}]},{"body":{"nativeSrc":"269151:40:22","nodeType":"YulBlock","src":"269151:40:22","statements":[{"body":{"nativeSrc":"269180:9:22","nodeType":"YulBlock","src":"269180:9:22","statements":[{"nativeSrc":"269182:5:22","nodeType":"YulBreak","src":"269182:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"269168:6:22","nodeType":"YulIdentifier","src":"269168:6:22"},{"name":"w","nativeSrc":"269176:1:22","nodeType":"YulIdentifier","src":"269176:1:22"}],"functionName":{"name":"byte","nativeSrc":"269163:4:22","nodeType":"YulIdentifier","src":"269163:4:22"},"nativeSrc":"269163:15:22","nodeType":"YulFunctionCall","src":"269163:15:22"}],"functionName":{"name":"iszero","nativeSrc":"269156:6:22","nodeType":"YulIdentifier","src":"269156:6:22"},"nativeSrc":"269156:23:22","nodeType":"YulFunctionCall","src":"269156:23:22"},"nativeSrc":"269153:36:22","nodeType":"YulIf","src":"269153:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"269108:6:22","nodeType":"YulIdentifier","src":"269108:6:22"},{"kind":"number","nativeSrc":"269116:4:22","nodeType":"YulLiteral","src":"269116:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"269105:2:22","nodeType":"YulIdentifier","src":"269105:2:22"},"nativeSrc":"269105:16:22","nodeType":"YulFunctionCall","src":"269105:16:22"},"nativeSrc":"269098:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"269122:28:22","nodeType":"YulBlock","src":"269122:28:22","statements":[{"nativeSrc":"269124:24:22","nodeType":"YulAssignment","src":"269124:24:22","value":{"arguments":[{"name":"length","nativeSrc":"269138:6:22","nodeType":"YulIdentifier","src":"269138:6:22"},{"kind":"number","nativeSrc":"269146:1:22","nodeType":"YulLiteral","src":"269146:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"269134:3:22","nodeType":"YulIdentifier","src":"269134:3:22"},"nativeSrc":"269134:14:22","nodeType":"YulFunctionCall","src":"269134:14:22"},"variableNames":[{"name":"length","nativeSrc":"269124:6:22","nodeType":"YulIdentifier","src":"269124:6:22"}]}]},"pre":{"nativeSrc":"269102:2:22","nodeType":"YulBlock","src":"269102:2:22","statements":[]},"src":"269098:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"269215:3:22","nodeType":"YulIdentifier","src":"269215:3:22"},{"name":"length","nativeSrc":"269220:6:22","nodeType":"YulIdentifier","src":"269220:6:22"}],"functionName":{"name":"mstore","nativeSrc":"269208:6:22","nodeType":"YulIdentifier","src":"269208:6:22"},"nativeSrc":"269208:19:22","nodeType":"YulFunctionCall","src":"269208:19:22"},"nativeSrc":"269208:19:22","nodeType":"YulExpressionStatement","src":"269208:19:22"},{"nativeSrc":"269244:37:22","nodeType":"YulVariableDeclaration","src":"269244:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"269261:3:22","nodeType":"YulLiteral","src":"269261:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"269270:1:22","nodeType":"YulLiteral","src":"269270:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"269273:6:22","nodeType":"YulIdentifier","src":"269273:6:22"}],"functionName":{"name":"shl","nativeSrc":"269266:3:22","nodeType":"YulIdentifier","src":"269266:3:22"},"nativeSrc":"269266:14:22","nodeType":"YulFunctionCall","src":"269266:14:22"}],"functionName":{"name":"sub","nativeSrc":"269257:3:22","nodeType":"YulIdentifier","src":"269257:3:22"},"nativeSrc":"269257:24:22","nodeType":"YulFunctionCall","src":"269257:24:22"},"variables":[{"name":"shift","nativeSrc":"269248:5:22","nodeType":"YulTypedName","src":"269248:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"269309:3:22","nodeType":"YulIdentifier","src":"269309:3:22"},{"kind":"number","nativeSrc":"269314:4:22","nodeType":"YulLiteral","src":"269314:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"269305:3:22","nodeType":"YulIdentifier","src":"269305:3:22"},"nativeSrc":"269305:14:22","nodeType":"YulFunctionCall","src":"269305:14:22"},{"arguments":[{"name":"shift","nativeSrc":"269325:5:22","nodeType":"YulIdentifier","src":"269325:5:22"},{"arguments":[{"name":"shift","nativeSrc":"269336:5:22","nodeType":"YulIdentifier","src":"269336:5:22"},{"name":"w","nativeSrc":"269343:1:22","nodeType":"YulIdentifier","src":"269343:1:22"}],"functionName":{"name":"shr","nativeSrc":"269332:3:22","nodeType":"YulIdentifier","src":"269332:3:22"},"nativeSrc":"269332:13:22","nodeType":"YulFunctionCall","src":"269332:13:22"}],"functionName":{"name":"shl","nativeSrc":"269321:3:22","nodeType":"YulIdentifier","src":"269321:3:22"},"nativeSrc":"269321:25:22","nodeType":"YulFunctionCall","src":"269321:25:22"}],"functionName":{"name":"mstore","nativeSrc":"269298:6:22","nodeType":"YulIdentifier","src":"269298:6:22"},"nativeSrc":"269298:49:22","nodeType":"YulFunctionCall","src":"269298:49:22"},"nativeSrc":"269298:49:22","nodeType":"YulExpressionStatement","src":"269298:49:22"}]},"name":"writeString","nativeSrc":"269019:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"269040:3:22","nodeType":"YulTypedName","src":"269040:3:22","type":""},{"name":"w","nativeSrc":"269045:1:22","nodeType":"YulTypedName","src":"269045:1:22","type":""}],"src":"269019:342:22"},{"nativeSrc":"269374:17:22","nodeType":"YulAssignment","src":"269374:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269386:4:22","nodeType":"YulLiteral","src":"269386:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"269380:5:22","nodeType":"YulIdentifier","src":"269380:5:22"},"nativeSrc":"269380:11:22","nodeType":"YulFunctionCall","src":"269380:11:22"},"variableNames":[{"name":"m0","nativeSrc":"269374:2:22","nodeType":"YulIdentifier","src":"269374:2:22"}]},{"nativeSrc":"269404:17:22","nodeType":"YulAssignment","src":"269404:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269416:4:22","nodeType":"YulLiteral","src":"269416:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"269410:5:22","nodeType":"YulIdentifier","src":"269410:5:22"},"nativeSrc":"269410:11:22","nodeType":"YulFunctionCall","src":"269410:11:22"},"variableNames":[{"name":"m1","nativeSrc":"269404:2:22","nodeType":"YulIdentifier","src":"269404:2:22"}]},{"nativeSrc":"269434:17:22","nodeType":"YulAssignment","src":"269434:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269446:4:22","nodeType":"YulLiteral","src":"269446:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"269440:5:22","nodeType":"YulIdentifier","src":"269440:5:22"},"nativeSrc":"269440:11:22","nodeType":"YulFunctionCall","src":"269440:11:22"},"variableNames":[{"name":"m2","nativeSrc":"269434:2:22","nodeType":"YulIdentifier","src":"269434:2:22"}]},{"nativeSrc":"269464:17:22","nodeType":"YulAssignment","src":"269464:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269476:4:22","nodeType":"YulLiteral","src":"269476:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"269470:5:22","nodeType":"YulIdentifier","src":"269470:5:22"},"nativeSrc":"269470:11:22","nodeType":"YulFunctionCall","src":"269470:11:22"},"variableNames":[{"name":"m3","nativeSrc":"269464:2:22","nodeType":"YulIdentifier","src":"269464:2:22"}]},{"nativeSrc":"269494:17:22","nodeType":"YulAssignment","src":"269494:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269506:4:22","nodeType":"YulLiteral","src":"269506:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"269500:5:22","nodeType":"YulIdentifier","src":"269500:5:22"},"nativeSrc":"269500:11:22","nodeType":"YulFunctionCall","src":"269500:11:22"},"variableNames":[{"name":"m4","nativeSrc":"269494:2:22","nodeType":"YulIdentifier","src":"269494:2:22"}]},{"nativeSrc":"269524:17:22","nodeType":"YulAssignment","src":"269524:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269536:4:22","nodeType":"YulLiteral","src":"269536:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"269530:5:22","nodeType":"YulIdentifier","src":"269530:5:22"},"nativeSrc":"269530:11:22","nodeType":"YulFunctionCall","src":"269530:11:22"},"variableNames":[{"name":"m5","nativeSrc":"269524:2:22","nodeType":"YulIdentifier","src":"269524:2:22"}]},{"nativeSrc":"269554:17:22","nodeType":"YulAssignment","src":"269554:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"269566:4:22","nodeType":"YulLiteral","src":"269566:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"269560:5:22","nodeType":"YulIdentifier","src":"269560:5:22"},"nativeSrc":"269560:11:22","nodeType":"YulFunctionCall","src":"269560:11:22"},"variableNames":[{"name":"m6","nativeSrc":"269554:2:22","nodeType":"YulIdentifier","src":"269554:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269654:4:22","nodeType":"YulLiteral","src":"269654:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"269660:10:22","nodeType":"YulLiteral","src":"269660:10:22","type":"","value":"0xade052c7"}],"functionName":{"name":"mstore","nativeSrc":"269647:6:22","nodeType":"YulIdentifier","src":"269647:6:22"},"nativeSrc":"269647:24:22","nodeType":"YulFunctionCall","src":"269647:24:22"},"nativeSrc":"269647:24:22","nodeType":"YulExpressionStatement","src":"269647:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269691:4:22","nodeType":"YulLiteral","src":"269691:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"269697:2:22","nodeType":"YulIdentifier","src":"269697:2:22"}],"functionName":{"name":"mstore","nativeSrc":"269684:6:22","nodeType":"YulIdentifier","src":"269684:6:22"},"nativeSrc":"269684:16:22","nodeType":"YulFunctionCall","src":"269684:16:22"},"nativeSrc":"269684:16:22","nodeType":"YulExpressionStatement","src":"269684:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269720:4:22","nodeType":"YulLiteral","src":"269720:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"269726:2:22","nodeType":"YulIdentifier","src":"269726:2:22"}],"functionName":{"name":"mstore","nativeSrc":"269713:6:22","nodeType":"YulIdentifier","src":"269713:6:22"},"nativeSrc":"269713:16:22","nodeType":"YulFunctionCall","src":"269713:16:22"},"nativeSrc":"269713:16:22","nodeType":"YulExpressionStatement","src":"269713:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269749:4:22","nodeType":"YulLiteral","src":"269749:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"269755:2:22","nodeType":"YulIdentifier","src":"269755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"269742:6:22","nodeType":"YulIdentifier","src":"269742:6:22"},"nativeSrc":"269742:16:22","nodeType":"YulFunctionCall","src":"269742:16:22"},"nativeSrc":"269742:16:22","nodeType":"YulExpressionStatement","src":"269742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269778:4:22","nodeType":"YulLiteral","src":"269778:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"269784:4:22","nodeType":"YulLiteral","src":"269784:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"269771:6:22","nodeType":"YulIdentifier","src":"269771:6:22"},"nativeSrc":"269771:18:22","nodeType":"YulFunctionCall","src":"269771:18:22"},"nativeSrc":"269771:18:22","nodeType":"YulExpressionStatement","src":"269771:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269814:4:22","nodeType":"YulLiteral","src":"269814:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"269820:2:22","nodeType":"YulIdentifier","src":"269820:2:22"}],"functionName":{"name":"writeString","nativeSrc":"269802:11:22","nodeType":"YulIdentifier","src":"269802:11:22"},"nativeSrc":"269802:21:22","nodeType":"YulFunctionCall","src":"269802:21:22"},"nativeSrc":"269802:21:22","nodeType":"YulExpressionStatement","src":"269802:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39819,"isOffset":false,"isSlot":false,"src":"269374:2:22","valueSize":1},{"declaration":39822,"isOffset":false,"isSlot":false,"src":"269404:2:22","valueSize":1},{"declaration":39825,"isOffset":false,"isSlot":false,"src":"269434:2:22","valueSize":1},{"declaration":39828,"isOffset":false,"isSlot":false,"src":"269464:2:22","valueSize":1},{"declaration":39831,"isOffset":false,"isSlot":false,"src":"269494:2:22","valueSize":1},{"declaration":39834,"isOffset":false,"isSlot":false,"src":"269524:2:22","valueSize":1},{"declaration":39837,"isOffset":false,"isSlot":false,"src":"269554:2:22","valueSize":1},{"declaration":39809,"isOffset":false,"isSlot":false,"src":"269697:2:22","valueSize":1},{"declaration":39811,"isOffset":false,"isSlot":false,"src":"269726:2:22","valueSize":1},{"declaration":39813,"isOffset":false,"isSlot":false,"src":"269755:2:22","valueSize":1},{"declaration":39815,"isOffset":false,"isSlot":false,"src":"269820:2:22","valueSize":1}],"id":39839,"nodeType":"InlineAssembly","src":"268996:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269858:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269864:4:22","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":39840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"269842:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"269842:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39844,"nodeType":"ExpressionStatement","src":"269842:27:22"},{"AST":{"nativeSrc":"269931:214:22","nodeType":"YulBlock","src":"269931:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"269952:4:22","nodeType":"YulLiteral","src":"269952:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"269958:2:22","nodeType":"YulIdentifier","src":"269958:2:22"}],"functionName":{"name":"mstore","nativeSrc":"269945:6:22","nodeType":"YulIdentifier","src":"269945:6:22"},"nativeSrc":"269945:16:22","nodeType":"YulFunctionCall","src":"269945:16:22"},"nativeSrc":"269945:16:22","nodeType":"YulExpressionStatement","src":"269945:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269981:4:22","nodeType":"YulLiteral","src":"269981:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"269987:2:22","nodeType":"YulIdentifier","src":"269987:2:22"}],"functionName":{"name":"mstore","nativeSrc":"269974:6:22","nodeType":"YulIdentifier","src":"269974:6:22"},"nativeSrc":"269974:16:22","nodeType":"YulFunctionCall","src":"269974:16:22"},"nativeSrc":"269974:16:22","nodeType":"YulExpressionStatement","src":"269974:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270010:4:22","nodeType":"YulLiteral","src":"270010:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270016:2:22","nodeType":"YulIdentifier","src":"270016:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270003:6:22","nodeType":"YulIdentifier","src":"270003:6:22"},"nativeSrc":"270003:16:22","nodeType":"YulFunctionCall","src":"270003:16:22"},"nativeSrc":"270003:16:22","nodeType":"YulExpressionStatement","src":"270003:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270039:4:22","nodeType":"YulLiteral","src":"270039:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270045:2:22","nodeType":"YulIdentifier","src":"270045:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270032:6:22","nodeType":"YulIdentifier","src":"270032:6:22"},"nativeSrc":"270032:16:22","nodeType":"YulFunctionCall","src":"270032:16:22"},"nativeSrc":"270032:16:22","nodeType":"YulExpressionStatement","src":"270032:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270068:4:22","nodeType":"YulLiteral","src":"270068:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"270074:2:22","nodeType":"YulIdentifier","src":"270074:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270061:6:22","nodeType":"YulIdentifier","src":"270061:6:22"},"nativeSrc":"270061:16:22","nodeType":"YulFunctionCall","src":"270061:16:22"},"nativeSrc":"270061:16:22","nodeType":"YulExpressionStatement","src":"270061:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270097:4:22","nodeType":"YulLiteral","src":"270097:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"270103:2:22","nodeType":"YulIdentifier","src":"270103:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270090:6:22","nodeType":"YulIdentifier","src":"270090:6:22"},"nativeSrc":"270090:16:22","nodeType":"YulFunctionCall","src":"270090:16:22"},"nativeSrc":"270090:16:22","nodeType":"YulExpressionStatement","src":"270090:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270126:4:22","nodeType":"YulLiteral","src":"270126:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"270132:2:22","nodeType":"YulIdentifier","src":"270132:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270119:6:22","nodeType":"YulIdentifier","src":"270119:6:22"},"nativeSrc":"270119:16:22","nodeType":"YulFunctionCall","src":"270119:16:22"},"nativeSrc":"270119:16:22","nodeType":"YulExpressionStatement","src":"270119:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39819,"isOffset":false,"isSlot":false,"src":"269958:2:22","valueSize":1},{"declaration":39822,"isOffset":false,"isSlot":false,"src":"269987:2:22","valueSize":1},{"declaration":39825,"isOffset":false,"isSlot":false,"src":"270016:2:22","valueSize":1},{"declaration":39828,"isOffset":false,"isSlot":false,"src":"270045:2:22","valueSize":1},{"declaration":39831,"isOffset":false,"isSlot":false,"src":"270074:2:22","valueSize":1},{"declaration":39834,"isOffset":false,"isSlot":false,"src":"270103:2:22","valueSize":1},{"declaration":39837,"isOffset":false,"isSlot":false,"src":"270132:2:22","valueSize":1}],"id":39845,"nodeType":"InlineAssembly","src":"269922:223:22"}]},"id":39847,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"268740:3:22","nodeType":"FunctionDefinition","parameters":{"id":39816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39809,"mutability":"mutable","name":"p0","nameLocation":"268752:2:22","nodeType":"VariableDeclaration","scope":39847,"src":"268744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39808,"name":"uint256","nodeType":"ElementaryTypeName","src":"268744:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39811,"mutability":"mutable","name":"p1","nameLocation":"268761:2:22","nodeType":"VariableDeclaration","scope":39847,"src":"268756:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39810,"name":"bool","nodeType":"ElementaryTypeName","src":"268756:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39813,"mutability":"mutable","name":"p2","nameLocation":"268773:2:22","nodeType":"VariableDeclaration","scope":39847,"src":"268765:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39812,"name":"address","nodeType":"ElementaryTypeName","src":"268765:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39815,"mutability":"mutable","name":"p3","nameLocation":"268785:2:22","nodeType":"VariableDeclaration","scope":39847,"src":"268777:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268777:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"268743:45:22"},"returnParameters":{"id":39817,"nodeType":"ParameterList","parameters":[],"src":"268803:0:22"},"scope":44426,"src":"268731:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39880,"nodeType":"Block","src":"270226:797:22","statements":[{"assignments":[39859],"declarations":[{"constant":false,"id":39859,"mutability":"mutable","name":"m0","nameLocation":"270244:2:22","nodeType":"VariableDeclaration","scope":39880,"src":"270236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39860,"nodeType":"VariableDeclarationStatement","src":"270236:10:22"},{"assignments":[39862],"declarations":[{"constant":false,"id":39862,"mutability":"mutable","name":"m1","nameLocation":"270264:2:22","nodeType":"VariableDeclaration","scope":39880,"src":"270256:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270256:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39863,"nodeType":"VariableDeclarationStatement","src":"270256:10:22"},{"assignments":[39865],"declarations":[{"constant":false,"id":39865,"mutability":"mutable","name":"m2","nameLocation":"270284:2:22","nodeType":"VariableDeclaration","scope":39880,"src":"270276:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270276:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39866,"nodeType":"VariableDeclarationStatement","src":"270276:10:22"},{"assignments":[39868],"declarations":[{"constant":false,"id":39868,"mutability":"mutable","name":"m3","nameLocation":"270304:2:22","nodeType":"VariableDeclaration","scope":39880,"src":"270296:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270296:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39869,"nodeType":"VariableDeclarationStatement","src":"270296:10:22"},{"assignments":[39871],"declarations":[{"constant":false,"id":39871,"mutability":"mutable","name":"m4","nameLocation":"270324:2:22","nodeType":"VariableDeclaration","scope":39880,"src":"270316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39872,"nodeType":"VariableDeclarationStatement","src":"270316:10:22"},{"AST":{"nativeSrc":"270388:375:22","nodeType":"YulBlock","src":"270388:375:22","statements":[{"nativeSrc":"270402:17:22","nodeType":"YulAssignment","src":"270402:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"270414:4:22","nodeType":"YulLiteral","src":"270414:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"270408:5:22","nodeType":"YulIdentifier","src":"270408:5:22"},"nativeSrc":"270408:11:22","nodeType":"YulFunctionCall","src":"270408:11:22"},"variableNames":[{"name":"m0","nativeSrc":"270402:2:22","nodeType":"YulIdentifier","src":"270402:2:22"}]},{"nativeSrc":"270432:17:22","nodeType":"YulAssignment","src":"270432:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"270444:4:22","nodeType":"YulLiteral","src":"270444:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"270438:5:22","nodeType":"YulIdentifier","src":"270438:5:22"},"nativeSrc":"270438:11:22","nodeType":"YulFunctionCall","src":"270438:11:22"},"variableNames":[{"name":"m1","nativeSrc":"270432:2:22","nodeType":"YulIdentifier","src":"270432:2:22"}]},{"nativeSrc":"270462:17:22","nodeType":"YulAssignment","src":"270462:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"270474:4:22","nodeType":"YulLiteral","src":"270474:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"270468:5:22","nodeType":"YulIdentifier","src":"270468:5:22"},"nativeSrc":"270468:11:22","nodeType":"YulFunctionCall","src":"270468:11:22"},"variableNames":[{"name":"m2","nativeSrc":"270462:2:22","nodeType":"YulIdentifier","src":"270462:2:22"}]},{"nativeSrc":"270492:17:22","nodeType":"YulAssignment","src":"270492:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"270504:4:22","nodeType":"YulLiteral","src":"270504:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"270498:5:22","nodeType":"YulIdentifier","src":"270498:5:22"},"nativeSrc":"270498:11:22","nodeType":"YulFunctionCall","src":"270498:11:22"},"variableNames":[{"name":"m3","nativeSrc":"270492:2:22","nodeType":"YulIdentifier","src":"270492:2:22"}]},{"nativeSrc":"270522:17:22","nodeType":"YulAssignment","src":"270522:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"270534:4:22","nodeType":"YulLiteral","src":"270534:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"270528:5:22","nodeType":"YulIdentifier","src":"270528:5:22"},"nativeSrc":"270528:11:22","nodeType":"YulFunctionCall","src":"270528:11:22"},"variableNames":[{"name":"m4","nativeSrc":"270522:2:22","nodeType":"YulIdentifier","src":"270522:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270620:4:22","nodeType":"YulLiteral","src":"270620:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"270626:10:22","nodeType":"YulLiteral","src":"270626:10:22","type":"","value":"0x69640b59"}],"functionName":{"name":"mstore","nativeSrc":"270613:6:22","nodeType":"YulIdentifier","src":"270613:6:22"},"nativeSrc":"270613:24:22","nodeType":"YulFunctionCall","src":"270613:24:22"},"nativeSrc":"270613:24:22","nodeType":"YulExpressionStatement","src":"270613:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270657:4:22","nodeType":"YulLiteral","src":"270657:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"270663:2:22","nodeType":"YulIdentifier","src":"270663:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270650:6:22","nodeType":"YulIdentifier","src":"270650:6:22"},"nativeSrc":"270650:16:22","nodeType":"YulFunctionCall","src":"270650:16:22"},"nativeSrc":"270650:16:22","nodeType":"YulExpressionStatement","src":"270650:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270686:4:22","nodeType":"YulLiteral","src":"270686:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"270692:2:22","nodeType":"YulIdentifier","src":"270692:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270679:6:22","nodeType":"YulIdentifier","src":"270679:6:22"},"nativeSrc":"270679:16:22","nodeType":"YulFunctionCall","src":"270679:16:22"},"nativeSrc":"270679:16:22","nodeType":"YulExpressionStatement","src":"270679:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270715:4:22","nodeType":"YulLiteral","src":"270715:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"270721:2:22","nodeType":"YulIdentifier","src":"270721:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270708:6:22","nodeType":"YulIdentifier","src":"270708:6:22"},"nativeSrc":"270708:16:22","nodeType":"YulFunctionCall","src":"270708:16:22"},"nativeSrc":"270708:16:22","nodeType":"YulExpressionStatement","src":"270708:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270744:4:22","nodeType":"YulLiteral","src":"270744:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"270750:2:22","nodeType":"YulIdentifier","src":"270750:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270737:6:22","nodeType":"YulIdentifier","src":"270737:6:22"},"nativeSrc":"270737:16:22","nodeType":"YulFunctionCall","src":"270737:16:22"},"nativeSrc":"270737:16:22","nodeType":"YulExpressionStatement","src":"270737:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39859,"isOffset":false,"isSlot":false,"src":"270402:2:22","valueSize":1},{"declaration":39862,"isOffset":false,"isSlot":false,"src":"270432:2:22","valueSize":1},{"declaration":39865,"isOffset":false,"isSlot":false,"src":"270462:2:22","valueSize":1},{"declaration":39868,"isOffset":false,"isSlot":false,"src":"270492:2:22","valueSize":1},{"declaration":39871,"isOffset":false,"isSlot":false,"src":"270522:2:22","valueSize":1},{"declaration":39849,"isOffset":false,"isSlot":false,"src":"270663:2:22","valueSize":1},{"declaration":39851,"isOffset":false,"isSlot":false,"src":"270692:2:22","valueSize":1},{"declaration":39853,"isOffset":false,"isSlot":false,"src":"270721:2:22","valueSize":1},{"declaration":39855,"isOffset":false,"isSlot":false,"src":"270750:2:22","valueSize":1}],"id":39873,"nodeType":"InlineAssembly","src":"270379:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270788:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270794:4:22","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":39874,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"270772:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"270772:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39878,"nodeType":"ExpressionStatement","src":"270772:27:22"},{"AST":{"nativeSrc":"270861:156:22","nodeType":"YulBlock","src":"270861:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"270882:4:22","nodeType":"YulLiteral","src":"270882:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"270888:2:22","nodeType":"YulIdentifier","src":"270888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270875:6:22","nodeType":"YulIdentifier","src":"270875:6:22"},"nativeSrc":"270875:16:22","nodeType":"YulFunctionCall","src":"270875:16:22"},"nativeSrc":"270875:16:22","nodeType":"YulExpressionStatement","src":"270875:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270911:4:22","nodeType":"YulLiteral","src":"270911:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"270917:2:22","nodeType":"YulIdentifier","src":"270917:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270904:6:22","nodeType":"YulIdentifier","src":"270904:6:22"},"nativeSrc":"270904:16:22","nodeType":"YulFunctionCall","src":"270904:16:22"},"nativeSrc":"270904:16:22","nodeType":"YulExpressionStatement","src":"270904:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270940:4:22","nodeType":"YulLiteral","src":"270940:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270946:2:22","nodeType":"YulIdentifier","src":"270946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270933:6:22","nodeType":"YulIdentifier","src":"270933:6:22"},"nativeSrc":"270933:16:22","nodeType":"YulFunctionCall","src":"270933:16:22"},"nativeSrc":"270933:16:22","nodeType":"YulExpressionStatement","src":"270933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270969:4:22","nodeType":"YulLiteral","src":"270969:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270975:2:22","nodeType":"YulIdentifier","src":"270975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270962:6:22","nodeType":"YulIdentifier","src":"270962:6:22"},"nativeSrc":"270962:16:22","nodeType":"YulFunctionCall","src":"270962:16:22"},"nativeSrc":"270962:16:22","nodeType":"YulExpressionStatement","src":"270962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270998:4:22","nodeType":"YulLiteral","src":"270998:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271004:2:22","nodeType":"YulIdentifier","src":"271004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"270991:6:22","nodeType":"YulIdentifier","src":"270991:6:22"},"nativeSrc":"270991:16:22","nodeType":"YulFunctionCall","src":"270991:16:22"},"nativeSrc":"270991:16:22","nodeType":"YulExpressionStatement","src":"270991:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39859,"isOffset":false,"isSlot":false,"src":"270888:2:22","valueSize":1},{"declaration":39862,"isOffset":false,"isSlot":false,"src":"270917:2:22","valueSize":1},{"declaration":39865,"isOffset":false,"isSlot":false,"src":"270946:2:22","valueSize":1},{"declaration":39868,"isOffset":false,"isSlot":false,"src":"270975:2:22","valueSize":1},{"declaration":39871,"isOffset":false,"isSlot":false,"src":"271004:2:22","valueSize":1}],"id":39879,"nodeType":"InlineAssembly","src":"270852:165:22"}]},"id":39881,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"270166:3:22","nodeType":"FunctionDefinition","parameters":{"id":39856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39849,"mutability":"mutable","name":"p0","nameLocation":"270178:2:22","nodeType":"VariableDeclaration","scope":39881,"src":"270170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39848,"name":"uint256","nodeType":"ElementaryTypeName","src":"270170:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39851,"mutability":"mutable","name":"p1","nameLocation":"270187:2:22","nodeType":"VariableDeclaration","scope":39881,"src":"270182:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39850,"name":"bool","nodeType":"ElementaryTypeName","src":"270182:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39853,"mutability":"mutable","name":"p2","nameLocation":"270196:2:22","nodeType":"VariableDeclaration","scope":39881,"src":"270191:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39852,"name":"bool","nodeType":"ElementaryTypeName","src":"270191:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39855,"mutability":"mutable","name":"p3","nameLocation":"270208:2:22","nodeType":"VariableDeclaration","scope":39881,"src":"270200:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39854,"name":"address","nodeType":"ElementaryTypeName","src":"270200:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"270169:42:22"},"returnParameters":{"id":39857,"nodeType":"ParameterList","parameters":[],"src":"270226:0:22"},"scope":44426,"src":"270157:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39914,"nodeType":"Block","src":"271095:794:22","statements":[{"assignments":[39893],"declarations":[{"constant":false,"id":39893,"mutability":"mutable","name":"m0","nameLocation":"271113:2:22","nodeType":"VariableDeclaration","scope":39914,"src":"271105:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271105:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39894,"nodeType":"VariableDeclarationStatement","src":"271105:10:22"},{"assignments":[39896],"declarations":[{"constant":false,"id":39896,"mutability":"mutable","name":"m1","nameLocation":"271133:2:22","nodeType":"VariableDeclaration","scope":39914,"src":"271125:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271125:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39897,"nodeType":"VariableDeclarationStatement","src":"271125:10:22"},{"assignments":[39899],"declarations":[{"constant":false,"id":39899,"mutability":"mutable","name":"m2","nameLocation":"271153:2:22","nodeType":"VariableDeclaration","scope":39914,"src":"271145:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271145:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39900,"nodeType":"VariableDeclarationStatement","src":"271145:10:22"},{"assignments":[39902],"declarations":[{"constant":false,"id":39902,"mutability":"mutable","name":"m3","nameLocation":"271173:2:22","nodeType":"VariableDeclaration","scope":39914,"src":"271165:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271165:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39903,"nodeType":"VariableDeclarationStatement","src":"271165:10:22"},{"assignments":[39905],"declarations":[{"constant":false,"id":39905,"mutability":"mutable","name":"m4","nameLocation":"271193:2:22","nodeType":"VariableDeclaration","scope":39914,"src":"271185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271185:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39906,"nodeType":"VariableDeclarationStatement","src":"271185:10:22"},{"AST":{"nativeSrc":"271257:372:22","nodeType":"YulBlock","src":"271257:372:22","statements":[{"nativeSrc":"271271:17:22","nodeType":"YulAssignment","src":"271271:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"271283:4:22","nodeType":"YulLiteral","src":"271283:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"271277:5:22","nodeType":"YulIdentifier","src":"271277:5:22"},"nativeSrc":"271277:11:22","nodeType":"YulFunctionCall","src":"271277:11:22"},"variableNames":[{"name":"m0","nativeSrc":"271271:2:22","nodeType":"YulIdentifier","src":"271271:2:22"}]},{"nativeSrc":"271301:17:22","nodeType":"YulAssignment","src":"271301:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"271313:4:22","nodeType":"YulLiteral","src":"271313:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"271307:5:22","nodeType":"YulIdentifier","src":"271307:5:22"},"nativeSrc":"271307:11:22","nodeType":"YulFunctionCall","src":"271307:11:22"},"variableNames":[{"name":"m1","nativeSrc":"271301:2:22","nodeType":"YulIdentifier","src":"271301:2:22"}]},{"nativeSrc":"271331:17:22","nodeType":"YulAssignment","src":"271331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"271343:4:22","nodeType":"YulLiteral","src":"271343:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"271337:5:22","nodeType":"YulIdentifier","src":"271337:5:22"},"nativeSrc":"271337:11:22","nodeType":"YulFunctionCall","src":"271337:11:22"},"variableNames":[{"name":"m2","nativeSrc":"271331:2:22","nodeType":"YulIdentifier","src":"271331:2:22"}]},{"nativeSrc":"271361:17:22","nodeType":"YulAssignment","src":"271361:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"271373:4:22","nodeType":"YulLiteral","src":"271373:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"271367:5:22","nodeType":"YulIdentifier","src":"271367:5:22"},"nativeSrc":"271367:11:22","nodeType":"YulFunctionCall","src":"271367:11:22"},"variableNames":[{"name":"m3","nativeSrc":"271361:2:22","nodeType":"YulIdentifier","src":"271361:2:22"}]},{"nativeSrc":"271391:17:22","nodeType":"YulAssignment","src":"271391:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"271403:4:22","nodeType":"YulLiteral","src":"271403:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"271397:5:22","nodeType":"YulIdentifier","src":"271397:5:22"},"nativeSrc":"271397:11:22","nodeType":"YulFunctionCall","src":"271397:11:22"},"variableNames":[{"name":"m4","nativeSrc":"271391:2:22","nodeType":"YulIdentifier","src":"271391:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271486:4:22","nodeType":"YulLiteral","src":"271486:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"271492:10:22","nodeType":"YulLiteral","src":"271492:10:22","type":"","value":"0xb6f577a1"}],"functionName":{"name":"mstore","nativeSrc":"271479:6:22","nodeType":"YulIdentifier","src":"271479:6:22"},"nativeSrc":"271479:24:22","nodeType":"YulFunctionCall","src":"271479:24:22"},"nativeSrc":"271479:24:22","nodeType":"YulExpressionStatement","src":"271479:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271523:4:22","nodeType":"YulLiteral","src":"271523:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"271529:2:22","nodeType":"YulIdentifier","src":"271529:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271516:6:22","nodeType":"YulIdentifier","src":"271516:6:22"},"nativeSrc":"271516:16:22","nodeType":"YulFunctionCall","src":"271516:16:22"},"nativeSrc":"271516:16:22","nodeType":"YulExpressionStatement","src":"271516:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271552:4:22","nodeType":"YulLiteral","src":"271552:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"271558:2:22","nodeType":"YulIdentifier","src":"271558:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271545:6:22","nodeType":"YulIdentifier","src":"271545:6:22"},"nativeSrc":"271545:16:22","nodeType":"YulFunctionCall","src":"271545:16:22"},"nativeSrc":"271545:16:22","nodeType":"YulExpressionStatement","src":"271545:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271581:4:22","nodeType":"YulLiteral","src":"271581:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"271587:2:22","nodeType":"YulIdentifier","src":"271587:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271574:6:22","nodeType":"YulIdentifier","src":"271574:6:22"},"nativeSrc":"271574:16:22","nodeType":"YulFunctionCall","src":"271574:16:22"},"nativeSrc":"271574:16:22","nodeType":"YulExpressionStatement","src":"271574:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271610:4:22","nodeType":"YulLiteral","src":"271610:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"271616:2:22","nodeType":"YulIdentifier","src":"271616:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271603:6:22","nodeType":"YulIdentifier","src":"271603:6:22"},"nativeSrc":"271603:16:22","nodeType":"YulFunctionCall","src":"271603:16:22"},"nativeSrc":"271603:16:22","nodeType":"YulExpressionStatement","src":"271603:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39893,"isOffset":false,"isSlot":false,"src":"271271:2:22","valueSize":1},{"declaration":39896,"isOffset":false,"isSlot":false,"src":"271301:2:22","valueSize":1},{"declaration":39899,"isOffset":false,"isSlot":false,"src":"271331:2:22","valueSize":1},{"declaration":39902,"isOffset":false,"isSlot":false,"src":"271361:2:22","valueSize":1},{"declaration":39905,"isOffset":false,"isSlot":false,"src":"271391:2:22","valueSize":1},{"declaration":39883,"isOffset":false,"isSlot":false,"src":"271529:2:22","valueSize":1},{"declaration":39885,"isOffset":false,"isSlot":false,"src":"271558:2:22","valueSize":1},{"declaration":39887,"isOffset":false,"isSlot":false,"src":"271587:2:22","valueSize":1},{"declaration":39889,"isOffset":false,"isSlot":false,"src":"271616:2:22","valueSize":1}],"id":39907,"nodeType":"InlineAssembly","src":"271248:381:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271654:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271660:4:22","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":39908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"271638:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"271638:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39912,"nodeType":"ExpressionStatement","src":"271638:27:22"},{"AST":{"nativeSrc":"271727:156:22","nodeType":"YulBlock","src":"271727:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"271748:4:22","nodeType":"YulLiteral","src":"271748:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"271754:2:22","nodeType":"YulIdentifier","src":"271754:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271741:6:22","nodeType":"YulIdentifier","src":"271741:6:22"},"nativeSrc":"271741:16:22","nodeType":"YulFunctionCall","src":"271741:16:22"},"nativeSrc":"271741:16:22","nodeType":"YulExpressionStatement","src":"271741:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271777:4:22","nodeType":"YulLiteral","src":"271777:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"271783:2:22","nodeType":"YulIdentifier","src":"271783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271770:6:22","nodeType":"YulIdentifier","src":"271770:6:22"},"nativeSrc":"271770:16:22","nodeType":"YulFunctionCall","src":"271770:16:22"},"nativeSrc":"271770:16:22","nodeType":"YulExpressionStatement","src":"271770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271806:4:22","nodeType":"YulLiteral","src":"271806:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"271812:2:22","nodeType":"YulIdentifier","src":"271812:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271799:6:22","nodeType":"YulIdentifier","src":"271799:6:22"},"nativeSrc":"271799:16:22","nodeType":"YulFunctionCall","src":"271799:16:22"},"nativeSrc":"271799:16:22","nodeType":"YulExpressionStatement","src":"271799:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271835:4:22","nodeType":"YulLiteral","src":"271835:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"271841:2:22","nodeType":"YulIdentifier","src":"271841:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271828:6:22","nodeType":"YulIdentifier","src":"271828:6:22"},"nativeSrc":"271828:16:22","nodeType":"YulFunctionCall","src":"271828:16:22"},"nativeSrc":"271828:16:22","nodeType":"YulExpressionStatement","src":"271828:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271864:4:22","nodeType":"YulLiteral","src":"271864:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271870:2:22","nodeType":"YulIdentifier","src":"271870:2:22"}],"functionName":{"name":"mstore","nativeSrc":"271857:6:22","nodeType":"YulIdentifier","src":"271857:6:22"},"nativeSrc":"271857:16:22","nodeType":"YulFunctionCall","src":"271857:16:22"},"nativeSrc":"271857:16:22","nodeType":"YulExpressionStatement","src":"271857:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39893,"isOffset":false,"isSlot":false,"src":"271754:2:22","valueSize":1},{"declaration":39896,"isOffset":false,"isSlot":false,"src":"271783:2:22","valueSize":1},{"declaration":39899,"isOffset":false,"isSlot":false,"src":"271812:2:22","valueSize":1},{"declaration":39902,"isOffset":false,"isSlot":false,"src":"271841:2:22","valueSize":1},{"declaration":39905,"isOffset":false,"isSlot":false,"src":"271870:2:22","valueSize":1}],"id":39913,"nodeType":"InlineAssembly","src":"271718:165:22"}]},"id":39915,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271038:3:22","nodeType":"FunctionDefinition","parameters":{"id":39890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39883,"mutability":"mutable","name":"p0","nameLocation":"271050:2:22","nodeType":"VariableDeclaration","scope":39915,"src":"271042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39882,"name":"uint256","nodeType":"ElementaryTypeName","src":"271042:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39885,"mutability":"mutable","name":"p1","nameLocation":"271059:2:22","nodeType":"VariableDeclaration","scope":39915,"src":"271054:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39884,"name":"bool","nodeType":"ElementaryTypeName","src":"271054:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39887,"mutability":"mutable","name":"p2","nameLocation":"271068:2:22","nodeType":"VariableDeclaration","scope":39915,"src":"271063:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39886,"name":"bool","nodeType":"ElementaryTypeName","src":"271063:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39889,"mutability":"mutable","name":"p3","nameLocation":"271077:2:22","nodeType":"VariableDeclaration","scope":39915,"src":"271072:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39888,"name":"bool","nodeType":"ElementaryTypeName","src":"271072:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"271041:39:22"},"returnParameters":{"id":39891,"nodeType":"ParameterList","parameters":[],"src":"271095:0:22"},"scope":44426,"src":"271029:860:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39948,"nodeType":"Block","src":"271964:797:22","statements":[{"assignments":[39927],"declarations":[{"constant":false,"id":39927,"mutability":"mutable","name":"m0","nameLocation":"271982:2:22","nodeType":"VariableDeclaration","scope":39948,"src":"271974:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271974:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39928,"nodeType":"VariableDeclarationStatement","src":"271974:10:22"},{"assignments":[39930],"declarations":[{"constant":false,"id":39930,"mutability":"mutable","name":"m1","nameLocation":"272002:2:22","nodeType":"VariableDeclaration","scope":39948,"src":"271994:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271994:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39931,"nodeType":"VariableDeclarationStatement","src":"271994:10:22"},{"assignments":[39933],"declarations":[{"constant":false,"id":39933,"mutability":"mutable","name":"m2","nameLocation":"272022:2:22","nodeType":"VariableDeclaration","scope":39948,"src":"272014:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272014:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39934,"nodeType":"VariableDeclarationStatement","src":"272014:10:22"},{"assignments":[39936],"declarations":[{"constant":false,"id":39936,"mutability":"mutable","name":"m3","nameLocation":"272042:2:22","nodeType":"VariableDeclaration","scope":39948,"src":"272034:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272034:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39937,"nodeType":"VariableDeclarationStatement","src":"272034:10:22"},{"assignments":[39939],"declarations":[{"constant":false,"id":39939,"mutability":"mutable","name":"m4","nameLocation":"272062:2:22","nodeType":"VariableDeclaration","scope":39948,"src":"272054:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272054:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39940,"nodeType":"VariableDeclarationStatement","src":"272054:10:22"},{"AST":{"nativeSrc":"272126:375:22","nodeType":"YulBlock","src":"272126:375:22","statements":[{"nativeSrc":"272140:17:22","nodeType":"YulAssignment","src":"272140:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"272152:4:22","nodeType":"YulLiteral","src":"272152:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"272146:5:22","nodeType":"YulIdentifier","src":"272146:5:22"},"nativeSrc":"272146:11:22","nodeType":"YulFunctionCall","src":"272146:11:22"},"variableNames":[{"name":"m0","nativeSrc":"272140:2:22","nodeType":"YulIdentifier","src":"272140:2:22"}]},{"nativeSrc":"272170:17:22","nodeType":"YulAssignment","src":"272170:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"272182:4:22","nodeType":"YulLiteral","src":"272182:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"272176:5:22","nodeType":"YulIdentifier","src":"272176:5:22"},"nativeSrc":"272176:11:22","nodeType":"YulFunctionCall","src":"272176:11:22"},"variableNames":[{"name":"m1","nativeSrc":"272170:2:22","nodeType":"YulIdentifier","src":"272170:2:22"}]},{"nativeSrc":"272200:17:22","nodeType":"YulAssignment","src":"272200:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"272212:4:22","nodeType":"YulLiteral","src":"272212:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"272206:5:22","nodeType":"YulIdentifier","src":"272206:5:22"},"nativeSrc":"272206:11:22","nodeType":"YulFunctionCall","src":"272206:11:22"},"variableNames":[{"name":"m2","nativeSrc":"272200:2:22","nodeType":"YulIdentifier","src":"272200:2:22"}]},{"nativeSrc":"272230:17:22","nodeType":"YulAssignment","src":"272230:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"272242:4:22","nodeType":"YulLiteral","src":"272242:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"272236:5:22","nodeType":"YulIdentifier","src":"272236:5:22"},"nativeSrc":"272236:11:22","nodeType":"YulFunctionCall","src":"272236:11:22"},"variableNames":[{"name":"m3","nativeSrc":"272230:2:22","nodeType":"YulIdentifier","src":"272230:2:22"}]},{"nativeSrc":"272260:17:22","nodeType":"YulAssignment","src":"272260:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"272272:4:22","nodeType":"YulLiteral","src":"272272:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"272266:5:22","nodeType":"YulIdentifier","src":"272266:5:22"},"nativeSrc":"272266:11:22","nodeType":"YulFunctionCall","src":"272266:11:22"},"variableNames":[{"name":"m4","nativeSrc":"272260:2:22","nodeType":"YulIdentifier","src":"272260:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272358:4:22","nodeType":"YulLiteral","src":"272358:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"272364:10:22","nodeType":"YulLiteral","src":"272364:10:22","type":"","value":"0x7464ce23"}],"functionName":{"name":"mstore","nativeSrc":"272351:6:22","nodeType":"YulIdentifier","src":"272351:6:22"},"nativeSrc":"272351:24:22","nodeType":"YulFunctionCall","src":"272351:24:22"},"nativeSrc":"272351:24:22","nodeType":"YulExpressionStatement","src":"272351:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272395:4:22","nodeType":"YulLiteral","src":"272395:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"272401:2:22","nodeType":"YulIdentifier","src":"272401:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272388:6:22","nodeType":"YulIdentifier","src":"272388:6:22"},"nativeSrc":"272388:16:22","nodeType":"YulFunctionCall","src":"272388:16:22"},"nativeSrc":"272388:16:22","nodeType":"YulExpressionStatement","src":"272388:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272424:4:22","nodeType":"YulLiteral","src":"272424:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"272430:2:22","nodeType":"YulIdentifier","src":"272430:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272417:6:22","nodeType":"YulIdentifier","src":"272417:6:22"},"nativeSrc":"272417:16:22","nodeType":"YulFunctionCall","src":"272417:16:22"},"nativeSrc":"272417:16:22","nodeType":"YulExpressionStatement","src":"272417:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272453:4:22","nodeType":"YulLiteral","src":"272453:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"272459:2:22","nodeType":"YulIdentifier","src":"272459:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272446:6:22","nodeType":"YulIdentifier","src":"272446:6:22"},"nativeSrc":"272446:16:22","nodeType":"YulFunctionCall","src":"272446:16:22"},"nativeSrc":"272446:16:22","nodeType":"YulExpressionStatement","src":"272446:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272482:4:22","nodeType":"YulLiteral","src":"272482:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"272488:2:22","nodeType":"YulIdentifier","src":"272488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272475:6:22","nodeType":"YulIdentifier","src":"272475:6:22"},"nativeSrc":"272475:16:22","nodeType":"YulFunctionCall","src":"272475:16:22"},"nativeSrc":"272475:16:22","nodeType":"YulExpressionStatement","src":"272475:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39927,"isOffset":false,"isSlot":false,"src":"272140:2:22","valueSize":1},{"declaration":39930,"isOffset":false,"isSlot":false,"src":"272170:2:22","valueSize":1},{"declaration":39933,"isOffset":false,"isSlot":false,"src":"272200:2:22","valueSize":1},{"declaration":39936,"isOffset":false,"isSlot":false,"src":"272230:2:22","valueSize":1},{"declaration":39939,"isOffset":false,"isSlot":false,"src":"272260:2:22","valueSize":1},{"declaration":39917,"isOffset":false,"isSlot":false,"src":"272401:2:22","valueSize":1},{"declaration":39919,"isOffset":false,"isSlot":false,"src":"272430:2:22","valueSize":1},{"declaration":39921,"isOffset":false,"isSlot":false,"src":"272459:2:22","valueSize":1},{"declaration":39923,"isOffset":false,"isSlot":false,"src":"272488:2:22","valueSize":1}],"id":39941,"nodeType":"InlineAssembly","src":"272117:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272526:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":39944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272532:4:22","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":39942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"272510:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"272510:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39946,"nodeType":"ExpressionStatement","src":"272510:27:22"},{"AST":{"nativeSrc":"272599:156:22","nodeType":"YulBlock","src":"272599:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"272620:4:22","nodeType":"YulLiteral","src":"272620:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"272626:2:22","nodeType":"YulIdentifier","src":"272626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272613:6:22","nodeType":"YulIdentifier","src":"272613:6:22"},"nativeSrc":"272613:16:22","nodeType":"YulFunctionCall","src":"272613:16:22"},"nativeSrc":"272613:16:22","nodeType":"YulExpressionStatement","src":"272613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272649:4:22","nodeType":"YulLiteral","src":"272649:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"272655:2:22","nodeType":"YulIdentifier","src":"272655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272642:6:22","nodeType":"YulIdentifier","src":"272642:6:22"},"nativeSrc":"272642:16:22","nodeType":"YulFunctionCall","src":"272642:16:22"},"nativeSrc":"272642:16:22","nodeType":"YulExpressionStatement","src":"272642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272678:4:22","nodeType":"YulLiteral","src":"272678:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"272684:2:22","nodeType":"YulIdentifier","src":"272684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272671:6:22","nodeType":"YulIdentifier","src":"272671:6:22"},"nativeSrc":"272671:16:22","nodeType":"YulFunctionCall","src":"272671:16:22"},"nativeSrc":"272671:16:22","nodeType":"YulExpressionStatement","src":"272671:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272707:4:22","nodeType":"YulLiteral","src":"272707:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"272713:2:22","nodeType":"YulIdentifier","src":"272713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272700:6:22","nodeType":"YulIdentifier","src":"272700:6:22"},"nativeSrc":"272700:16:22","nodeType":"YulFunctionCall","src":"272700:16:22"},"nativeSrc":"272700:16:22","nodeType":"YulExpressionStatement","src":"272700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272736:4:22","nodeType":"YulLiteral","src":"272736:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"272742:2:22","nodeType":"YulIdentifier","src":"272742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"272729:6:22","nodeType":"YulIdentifier","src":"272729:6:22"},"nativeSrc":"272729:16:22","nodeType":"YulFunctionCall","src":"272729:16:22"},"nativeSrc":"272729:16:22","nodeType":"YulExpressionStatement","src":"272729:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39927,"isOffset":false,"isSlot":false,"src":"272626:2:22","valueSize":1},{"declaration":39930,"isOffset":false,"isSlot":false,"src":"272655:2:22","valueSize":1},{"declaration":39933,"isOffset":false,"isSlot":false,"src":"272684:2:22","valueSize":1},{"declaration":39936,"isOffset":false,"isSlot":false,"src":"272713:2:22","valueSize":1},{"declaration":39939,"isOffset":false,"isSlot":false,"src":"272742:2:22","valueSize":1}],"id":39947,"nodeType":"InlineAssembly","src":"272590:165:22"}]},"id":39949,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271904:3:22","nodeType":"FunctionDefinition","parameters":{"id":39924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39917,"mutability":"mutable","name":"p0","nameLocation":"271916:2:22","nodeType":"VariableDeclaration","scope":39949,"src":"271908:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39916,"name":"uint256","nodeType":"ElementaryTypeName","src":"271908:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39919,"mutability":"mutable","name":"p1","nameLocation":"271925:2:22","nodeType":"VariableDeclaration","scope":39949,"src":"271920:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39918,"name":"bool","nodeType":"ElementaryTypeName","src":"271920:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39921,"mutability":"mutable","name":"p2","nameLocation":"271934:2:22","nodeType":"VariableDeclaration","scope":39949,"src":"271929:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39920,"name":"bool","nodeType":"ElementaryTypeName","src":"271929:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39923,"mutability":"mutable","name":"p3","nameLocation":"271946:2:22","nodeType":"VariableDeclaration","scope":39949,"src":"271938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39922,"name":"uint256","nodeType":"ElementaryTypeName","src":"271938:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"271907:42:22"},"returnParameters":{"id":39925,"nodeType":"ParameterList","parameters":[],"src":"271964:0:22"},"scope":44426,"src":"271895:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":39988,"nodeType":"Block","src":"272836:1345:22","statements":[{"assignments":[39961],"declarations":[{"constant":false,"id":39961,"mutability":"mutable","name":"m0","nameLocation":"272854:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39962,"nodeType":"VariableDeclarationStatement","src":"272846:10:22"},{"assignments":[39964],"declarations":[{"constant":false,"id":39964,"mutability":"mutable","name":"m1","nameLocation":"272874:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39965,"nodeType":"VariableDeclarationStatement","src":"272866:10:22"},{"assignments":[39967],"declarations":[{"constant":false,"id":39967,"mutability":"mutable","name":"m2","nameLocation":"272894:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39968,"nodeType":"VariableDeclarationStatement","src":"272886:10:22"},{"assignments":[39970],"declarations":[{"constant":false,"id":39970,"mutability":"mutable","name":"m3","nameLocation":"272914:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39971,"nodeType":"VariableDeclarationStatement","src":"272906:10:22"},{"assignments":[39973],"declarations":[{"constant":false,"id":39973,"mutability":"mutable","name":"m4","nameLocation":"272934:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39974,"nodeType":"VariableDeclarationStatement","src":"272926:10:22"},{"assignments":[39976],"declarations":[{"constant":false,"id":39976,"mutability":"mutable","name":"m5","nameLocation":"272954:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272946:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39977,"nodeType":"VariableDeclarationStatement","src":"272946:10:22"},{"assignments":[39979],"declarations":[{"constant":false,"id":39979,"mutability":"mutable","name":"m6","nameLocation":"272974:2:22","nodeType":"VariableDeclaration","scope":39988,"src":"272966:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272966:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39980,"nodeType":"VariableDeclarationStatement","src":"272966:10:22"},{"AST":{"nativeSrc":"273038:825:22","nodeType":"YulBlock","src":"273038:825:22","statements":[{"body":{"nativeSrc":"273081:313:22","nodeType":"YulBlock","src":"273081:313:22","statements":[{"nativeSrc":"273099:15:22","nodeType":"YulVariableDeclaration","src":"273099:15:22","value":{"kind":"number","nativeSrc":"273113:1:22","nodeType":"YulLiteral","src":"273113:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"273103:6:22","nodeType":"YulTypedName","src":"273103:6:22","type":""}]},{"body":{"nativeSrc":"273184:40:22","nodeType":"YulBlock","src":"273184:40:22","statements":[{"body":{"nativeSrc":"273213:9:22","nodeType":"YulBlock","src":"273213:9:22","statements":[{"nativeSrc":"273215:5:22","nodeType":"YulBreak","src":"273215:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"273201:6:22","nodeType":"YulIdentifier","src":"273201:6:22"},{"name":"w","nativeSrc":"273209:1:22","nodeType":"YulIdentifier","src":"273209:1:22"}],"functionName":{"name":"byte","nativeSrc":"273196:4:22","nodeType":"YulIdentifier","src":"273196:4:22"},"nativeSrc":"273196:15:22","nodeType":"YulFunctionCall","src":"273196:15:22"}],"functionName":{"name":"iszero","nativeSrc":"273189:6:22","nodeType":"YulIdentifier","src":"273189:6:22"},"nativeSrc":"273189:23:22","nodeType":"YulFunctionCall","src":"273189:23:22"},"nativeSrc":"273186:36:22","nodeType":"YulIf","src":"273186:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"273141:6:22","nodeType":"YulIdentifier","src":"273141:6:22"},{"kind":"number","nativeSrc":"273149:4:22","nodeType":"YulLiteral","src":"273149:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"273138:2:22","nodeType":"YulIdentifier","src":"273138:2:22"},"nativeSrc":"273138:16:22","nodeType":"YulFunctionCall","src":"273138:16:22"},"nativeSrc":"273131:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"273155:28:22","nodeType":"YulBlock","src":"273155:28:22","statements":[{"nativeSrc":"273157:24:22","nodeType":"YulAssignment","src":"273157:24:22","value":{"arguments":[{"name":"length","nativeSrc":"273171:6:22","nodeType":"YulIdentifier","src":"273171:6:22"},{"kind":"number","nativeSrc":"273179:1:22","nodeType":"YulLiteral","src":"273179:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"273167:3:22","nodeType":"YulIdentifier","src":"273167:3:22"},"nativeSrc":"273167:14:22","nodeType":"YulFunctionCall","src":"273167:14:22"},"variableNames":[{"name":"length","nativeSrc":"273157:6:22","nodeType":"YulIdentifier","src":"273157:6:22"}]}]},"pre":{"nativeSrc":"273135:2:22","nodeType":"YulBlock","src":"273135:2:22","statements":[]},"src":"273131:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"273248:3:22","nodeType":"YulIdentifier","src":"273248:3:22"},{"name":"length","nativeSrc":"273253:6:22","nodeType":"YulIdentifier","src":"273253:6:22"}],"functionName":{"name":"mstore","nativeSrc":"273241:6:22","nodeType":"YulIdentifier","src":"273241:6:22"},"nativeSrc":"273241:19:22","nodeType":"YulFunctionCall","src":"273241:19:22"},"nativeSrc":"273241:19:22","nodeType":"YulExpressionStatement","src":"273241:19:22"},{"nativeSrc":"273277:37:22","nodeType":"YulVariableDeclaration","src":"273277:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"273294:3:22","nodeType":"YulLiteral","src":"273294:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"273303:1:22","nodeType":"YulLiteral","src":"273303:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"273306:6:22","nodeType":"YulIdentifier","src":"273306:6:22"}],"functionName":{"name":"shl","nativeSrc":"273299:3:22","nodeType":"YulIdentifier","src":"273299:3:22"},"nativeSrc":"273299:14:22","nodeType":"YulFunctionCall","src":"273299:14:22"}],"functionName":{"name":"sub","nativeSrc":"273290:3:22","nodeType":"YulIdentifier","src":"273290:3:22"},"nativeSrc":"273290:24:22","nodeType":"YulFunctionCall","src":"273290:24:22"},"variables":[{"name":"shift","nativeSrc":"273281:5:22","nodeType":"YulTypedName","src":"273281:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"273342:3:22","nodeType":"YulIdentifier","src":"273342:3:22"},{"kind":"number","nativeSrc":"273347:4:22","nodeType":"YulLiteral","src":"273347:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"273338:3:22","nodeType":"YulIdentifier","src":"273338:3:22"},"nativeSrc":"273338:14:22","nodeType":"YulFunctionCall","src":"273338:14:22"},{"arguments":[{"name":"shift","nativeSrc":"273358:5:22","nodeType":"YulIdentifier","src":"273358:5:22"},{"arguments":[{"name":"shift","nativeSrc":"273369:5:22","nodeType":"YulIdentifier","src":"273369:5:22"},{"name":"w","nativeSrc":"273376:1:22","nodeType":"YulIdentifier","src":"273376:1:22"}],"functionName":{"name":"shr","nativeSrc":"273365:3:22","nodeType":"YulIdentifier","src":"273365:3:22"},"nativeSrc":"273365:13:22","nodeType":"YulFunctionCall","src":"273365:13:22"}],"functionName":{"name":"shl","nativeSrc":"273354:3:22","nodeType":"YulIdentifier","src":"273354:3:22"},"nativeSrc":"273354:25:22","nodeType":"YulFunctionCall","src":"273354:25:22"}],"functionName":{"name":"mstore","nativeSrc":"273331:6:22","nodeType":"YulIdentifier","src":"273331:6:22"},"nativeSrc":"273331:49:22","nodeType":"YulFunctionCall","src":"273331:49:22"},"nativeSrc":"273331:49:22","nodeType":"YulExpressionStatement","src":"273331:49:22"}]},"name":"writeString","nativeSrc":"273052:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"273073:3:22","nodeType":"YulTypedName","src":"273073:3:22","type":""},{"name":"w","nativeSrc":"273078:1:22","nodeType":"YulTypedName","src":"273078:1:22","type":""}],"src":"273052:342:22"},{"nativeSrc":"273407:17:22","nodeType":"YulAssignment","src":"273407:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273419:4:22","nodeType":"YulLiteral","src":"273419:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"273413:5:22","nodeType":"YulIdentifier","src":"273413:5:22"},"nativeSrc":"273413:11:22","nodeType":"YulFunctionCall","src":"273413:11:22"},"variableNames":[{"name":"m0","nativeSrc":"273407:2:22","nodeType":"YulIdentifier","src":"273407:2:22"}]},{"nativeSrc":"273437:17:22","nodeType":"YulAssignment","src":"273437:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273449:4:22","nodeType":"YulLiteral","src":"273449:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"273443:5:22","nodeType":"YulIdentifier","src":"273443:5:22"},"nativeSrc":"273443:11:22","nodeType":"YulFunctionCall","src":"273443:11:22"},"variableNames":[{"name":"m1","nativeSrc":"273437:2:22","nodeType":"YulIdentifier","src":"273437:2:22"}]},{"nativeSrc":"273467:17:22","nodeType":"YulAssignment","src":"273467:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273479:4:22","nodeType":"YulLiteral","src":"273479:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"273473:5:22","nodeType":"YulIdentifier","src":"273473:5:22"},"nativeSrc":"273473:11:22","nodeType":"YulFunctionCall","src":"273473:11:22"},"variableNames":[{"name":"m2","nativeSrc":"273467:2:22","nodeType":"YulIdentifier","src":"273467:2:22"}]},{"nativeSrc":"273497:17:22","nodeType":"YulAssignment","src":"273497:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273509:4:22","nodeType":"YulLiteral","src":"273509:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"273503:5:22","nodeType":"YulIdentifier","src":"273503:5:22"},"nativeSrc":"273503:11:22","nodeType":"YulFunctionCall","src":"273503:11:22"},"variableNames":[{"name":"m3","nativeSrc":"273497:2:22","nodeType":"YulIdentifier","src":"273497:2:22"}]},{"nativeSrc":"273527:17:22","nodeType":"YulAssignment","src":"273527:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273539:4:22","nodeType":"YulLiteral","src":"273539:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"273533:5:22","nodeType":"YulIdentifier","src":"273533:5:22"},"nativeSrc":"273533:11:22","nodeType":"YulFunctionCall","src":"273533:11:22"},"variableNames":[{"name":"m4","nativeSrc":"273527:2:22","nodeType":"YulIdentifier","src":"273527:2:22"}]},{"nativeSrc":"273557:17:22","nodeType":"YulAssignment","src":"273557:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273569:4:22","nodeType":"YulLiteral","src":"273569:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"273563:5:22","nodeType":"YulIdentifier","src":"273563:5:22"},"nativeSrc":"273563:11:22","nodeType":"YulFunctionCall","src":"273563:11:22"},"variableNames":[{"name":"m5","nativeSrc":"273557:2:22","nodeType":"YulIdentifier","src":"273557:2:22"}]},{"nativeSrc":"273587:17:22","nodeType":"YulAssignment","src":"273587:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"273599:4:22","nodeType":"YulLiteral","src":"273599:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"273593:5:22","nodeType":"YulIdentifier","src":"273593:5:22"},"nativeSrc":"273593:11:22","nodeType":"YulFunctionCall","src":"273593:11:22"},"variableNames":[{"name":"m6","nativeSrc":"273587:2:22","nodeType":"YulIdentifier","src":"273587:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273684:4:22","nodeType":"YulLiteral","src":"273684:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"273690:10:22","nodeType":"YulLiteral","src":"273690:10:22","type":"","value":"0xdddb9561"}],"functionName":{"name":"mstore","nativeSrc":"273677:6:22","nodeType":"YulIdentifier","src":"273677:6:22"},"nativeSrc":"273677:24:22","nodeType":"YulFunctionCall","src":"273677:24:22"},"nativeSrc":"273677:24:22","nodeType":"YulExpressionStatement","src":"273677:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273721:4:22","nodeType":"YulLiteral","src":"273721:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"273727:2:22","nodeType":"YulIdentifier","src":"273727:2:22"}],"functionName":{"name":"mstore","nativeSrc":"273714:6:22","nodeType":"YulIdentifier","src":"273714:6:22"},"nativeSrc":"273714:16:22","nodeType":"YulFunctionCall","src":"273714:16:22"},"nativeSrc":"273714:16:22","nodeType":"YulExpressionStatement","src":"273714:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273750:4:22","nodeType":"YulLiteral","src":"273750:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"273756:2:22","nodeType":"YulIdentifier","src":"273756:2:22"}],"functionName":{"name":"mstore","nativeSrc":"273743:6:22","nodeType":"YulIdentifier","src":"273743:6:22"},"nativeSrc":"273743:16:22","nodeType":"YulFunctionCall","src":"273743:16:22"},"nativeSrc":"273743:16:22","nodeType":"YulExpressionStatement","src":"273743:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273779:4:22","nodeType":"YulLiteral","src":"273779:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"273785:2:22","nodeType":"YulIdentifier","src":"273785:2:22"}],"functionName":{"name":"mstore","nativeSrc":"273772:6:22","nodeType":"YulIdentifier","src":"273772:6:22"},"nativeSrc":"273772:16:22","nodeType":"YulFunctionCall","src":"273772:16:22"},"nativeSrc":"273772:16:22","nodeType":"YulExpressionStatement","src":"273772:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273808:4:22","nodeType":"YulLiteral","src":"273808:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"273814:4:22","nodeType":"YulLiteral","src":"273814:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"273801:6:22","nodeType":"YulIdentifier","src":"273801:6:22"},"nativeSrc":"273801:18:22","nodeType":"YulFunctionCall","src":"273801:18:22"},"nativeSrc":"273801:18:22","nodeType":"YulExpressionStatement","src":"273801:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273844:4:22","nodeType":"YulLiteral","src":"273844:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"273850:2:22","nodeType":"YulIdentifier","src":"273850:2:22"}],"functionName":{"name":"writeString","nativeSrc":"273832:11:22","nodeType":"YulIdentifier","src":"273832:11:22"},"nativeSrc":"273832:21:22","nodeType":"YulFunctionCall","src":"273832:21:22"},"nativeSrc":"273832:21:22","nodeType":"YulExpressionStatement","src":"273832:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39961,"isOffset":false,"isSlot":false,"src":"273407:2:22","valueSize":1},{"declaration":39964,"isOffset":false,"isSlot":false,"src":"273437:2:22","valueSize":1},{"declaration":39967,"isOffset":false,"isSlot":false,"src":"273467:2:22","valueSize":1},{"declaration":39970,"isOffset":false,"isSlot":false,"src":"273497:2:22","valueSize":1},{"declaration":39973,"isOffset":false,"isSlot":false,"src":"273527:2:22","valueSize":1},{"declaration":39976,"isOffset":false,"isSlot":false,"src":"273557:2:22","valueSize":1},{"declaration":39979,"isOffset":false,"isSlot":false,"src":"273587:2:22","valueSize":1},{"declaration":39951,"isOffset":false,"isSlot":false,"src":"273727:2:22","valueSize":1},{"declaration":39953,"isOffset":false,"isSlot":false,"src":"273756:2:22","valueSize":1},{"declaration":39955,"isOffset":false,"isSlot":false,"src":"273785:2:22","valueSize":1},{"declaration":39957,"isOffset":false,"isSlot":false,"src":"273850:2:22","valueSize":1}],"id":39981,"nodeType":"InlineAssembly","src":"273029:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":39983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273888:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":39984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273894:4:22","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":39982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"273872:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"273872:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39986,"nodeType":"ExpressionStatement","src":"273872:27:22"},{"AST":{"nativeSrc":"273961:214:22","nodeType":"YulBlock","src":"273961:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"273982:4:22","nodeType":"YulLiteral","src":"273982:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"273988:2:22","nodeType":"YulIdentifier","src":"273988:2:22"}],"functionName":{"name":"mstore","nativeSrc":"273975:6:22","nodeType":"YulIdentifier","src":"273975:6:22"},"nativeSrc":"273975:16:22","nodeType":"YulFunctionCall","src":"273975:16:22"},"nativeSrc":"273975:16:22","nodeType":"YulExpressionStatement","src":"273975:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274011:4:22","nodeType":"YulLiteral","src":"274011:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274017:2:22","nodeType":"YulIdentifier","src":"274017:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274004:6:22","nodeType":"YulIdentifier","src":"274004:6:22"},"nativeSrc":"274004:16:22","nodeType":"YulFunctionCall","src":"274004:16:22"},"nativeSrc":"274004:16:22","nodeType":"YulExpressionStatement","src":"274004:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274040:4:22","nodeType":"YulLiteral","src":"274040:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274046:2:22","nodeType":"YulIdentifier","src":"274046:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274033:6:22","nodeType":"YulIdentifier","src":"274033:6:22"},"nativeSrc":"274033:16:22","nodeType":"YulFunctionCall","src":"274033:16:22"},"nativeSrc":"274033:16:22","nodeType":"YulExpressionStatement","src":"274033:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274069:4:22","nodeType":"YulLiteral","src":"274069:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"274075:2:22","nodeType":"YulIdentifier","src":"274075:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274062:6:22","nodeType":"YulIdentifier","src":"274062:6:22"},"nativeSrc":"274062:16:22","nodeType":"YulFunctionCall","src":"274062:16:22"},"nativeSrc":"274062:16:22","nodeType":"YulExpressionStatement","src":"274062:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274098:4:22","nodeType":"YulLiteral","src":"274098:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"274104:2:22","nodeType":"YulIdentifier","src":"274104:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274091:6:22","nodeType":"YulIdentifier","src":"274091:6:22"},"nativeSrc":"274091:16:22","nodeType":"YulFunctionCall","src":"274091:16:22"},"nativeSrc":"274091:16:22","nodeType":"YulExpressionStatement","src":"274091:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274127:4:22","nodeType":"YulLiteral","src":"274127:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"274133:2:22","nodeType":"YulIdentifier","src":"274133:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274120:6:22","nodeType":"YulIdentifier","src":"274120:6:22"},"nativeSrc":"274120:16:22","nodeType":"YulFunctionCall","src":"274120:16:22"},"nativeSrc":"274120:16:22","nodeType":"YulExpressionStatement","src":"274120:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274156:4:22","nodeType":"YulLiteral","src":"274156:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"274162:2:22","nodeType":"YulIdentifier","src":"274162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274149:6:22","nodeType":"YulIdentifier","src":"274149:6:22"},"nativeSrc":"274149:16:22","nodeType":"YulFunctionCall","src":"274149:16:22"},"nativeSrc":"274149:16:22","nodeType":"YulExpressionStatement","src":"274149:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39961,"isOffset":false,"isSlot":false,"src":"273988:2:22","valueSize":1},{"declaration":39964,"isOffset":false,"isSlot":false,"src":"274017:2:22","valueSize":1},{"declaration":39967,"isOffset":false,"isSlot":false,"src":"274046:2:22","valueSize":1},{"declaration":39970,"isOffset":false,"isSlot":false,"src":"274075:2:22","valueSize":1},{"declaration":39973,"isOffset":false,"isSlot":false,"src":"274104:2:22","valueSize":1},{"declaration":39976,"isOffset":false,"isSlot":false,"src":"274133:2:22","valueSize":1},{"declaration":39979,"isOffset":false,"isSlot":false,"src":"274162:2:22","valueSize":1}],"id":39987,"nodeType":"InlineAssembly","src":"273952:223:22"}]},"id":39989,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"272776:3:22","nodeType":"FunctionDefinition","parameters":{"id":39958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39951,"mutability":"mutable","name":"p0","nameLocation":"272788:2:22","nodeType":"VariableDeclaration","scope":39989,"src":"272780:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39950,"name":"uint256","nodeType":"ElementaryTypeName","src":"272780:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39953,"mutability":"mutable","name":"p1","nameLocation":"272797:2:22","nodeType":"VariableDeclaration","scope":39989,"src":"272792:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39952,"name":"bool","nodeType":"ElementaryTypeName","src":"272792:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39955,"mutability":"mutable","name":"p2","nameLocation":"272806:2:22","nodeType":"VariableDeclaration","scope":39989,"src":"272801:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39954,"name":"bool","nodeType":"ElementaryTypeName","src":"272801:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39957,"mutability":"mutable","name":"p3","nameLocation":"272818:2:22","nodeType":"VariableDeclaration","scope":39989,"src":"272810:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272810:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"272779:42:22"},"returnParameters":{"id":39959,"nodeType":"ParameterList","parameters":[],"src":"272836:0:22"},"scope":44426,"src":"272767:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40022,"nodeType":"Block","src":"274259:800:22","statements":[{"assignments":[40001],"declarations":[{"constant":false,"id":40001,"mutability":"mutable","name":"m0","nameLocation":"274277:2:22","nodeType":"VariableDeclaration","scope":40022,"src":"274269:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274269:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40002,"nodeType":"VariableDeclarationStatement","src":"274269:10:22"},{"assignments":[40004],"declarations":[{"constant":false,"id":40004,"mutability":"mutable","name":"m1","nameLocation":"274297:2:22","nodeType":"VariableDeclaration","scope":40022,"src":"274289:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274289:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40005,"nodeType":"VariableDeclarationStatement","src":"274289:10:22"},{"assignments":[40007],"declarations":[{"constant":false,"id":40007,"mutability":"mutable","name":"m2","nameLocation":"274317:2:22","nodeType":"VariableDeclaration","scope":40022,"src":"274309:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40006,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274309:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40008,"nodeType":"VariableDeclarationStatement","src":"274309:10:22"},{"assignments":[40010],"declarations":[{"constant":false,"id":40010,"mutability":"mutable","name":"m3","nameLocation":"274337:2:22","nodeType":"VariableDeclaration","scope":40022,"src":"274329:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274329:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40011,"nodeType":"VariableDeclarationStatement","src":"274329:10:22"},{"assignments":[40013],"declarations":[{"constant":false,"id":40013,"mutability":"mutable","name":"m4","nameLocation":"274357:2:22","nodeType":"VariableDeclaration","scope":40022,"src":"274349:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274349:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40014,"nodeType":"VariableDeclarationStatement","src":"274349:10:22"},{"AST":{"nativeSrc":"274421:378:22","nodeType":"YulBlock","src":"274421:378:22","statements":[{"nativeSrc":"274435:17:22","nodeType":"YulAssignment","src":"274435:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"274447:4:22","nodeType":"YulLiteral","src":"274447:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"274441:5:22","nodeType":"YulIdentifier","src":"274441:5:22"},"nativeSrc":"274441:11:22","nodeType":"YulFunctionCall","src":"274441:11:22"},"variableNames":[{"name":"m0","nativeSrc":"274435:2:22","nodeType":"YulIdentifier","src":"274435:2:22"}]},{"nativeSrc":"274465:17:22","nodeType":"YulAssignment","src":"274465:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"274477:4:22","nodeType":"YulLiteral","src":"274477:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"274471:5:22","nodeType":"YulIdentifier","src":"274471:5:22"},"nativeSrc":"274471:11:22","nodeType":"YulFunctionCall","src":"274471:11:22"},"variableNames":[{"name":"m1","nativeSrc":"274465:2:22","nodeType":"YulIdentifier","src":"274465:2:22"}]},{"nativeSrc":"274495:17:22","nodeType":"YulAssignment","src":"274495:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"274507:4:22","nodeType":"YulLiteral","src":"274507:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"274501:5:22","nodeType":"YulIdentifier","src":"274501:5:22"},"nativeSrc":"274501:11:22","nodeType":"YulFunctionCall","src":"274501:11:22"},"variableNames":[{"name":"m2","nativeSrc":"274495:2:22","nodeType":"YulIdentifier","src":"274495:2:22"}]},{"nativeSrc":"274525:17:22","nodeType":"YulAssignment","src":"274525:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"274537:4:22","nodeType":"YulLiteral","src":"274537:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"274531:5:22","nodeType":"YulIdentifier","src":"274531:5:22"},"nativeSrc":"274531:11:22","nodeType":"YulFunctionCall","src":"274531:11:22"},"variableNames":[{"name":"m3","nativeSrc":"274525:2:22","nodeType":"YulIdentifier","src":"274525:2:22"}]},{"nativeSrc":"274555:17:22","nodeType":"YulAssignment","src":"274555:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"274567:4:22","nodeType":"YulLiteral","src":"274567:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"274561:5:22","nodeType":"YulIdentifier","src":"274561:5:22"},"nativeSrc":"274561:11:22","nodeType":"YulFunctionCall","src":"274561:11:22"},"variableNames":[{"name":"m4","nativeSrc":"274555:2:22","nodeType":"YulIdentifier","src":"274555:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274656:4:22","nodeType":"YulLiteral","src":"274656:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"274662:10:22","nodeType":"YulLiteral","src":"274662:10:22","type":"","value":"0x88cb6041"}],"functionName":{"name":"mstore","nativeSrc":"274649:6:22","nodeType":"YulIdentifier","src":"274649:6:22"},"nativeSrc":"274649:24:22","nodeType":"YulFunctionCall","src":"274649:24:22"},"nativeSrc":"274649:24:22","nodeType":"YulExpressionStatement","src":"274649:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274693:4:22","nodeType":"YulLiteral","src":"274693:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"274699:2:22","nodeType":"YulIdentifier","src":"274699:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274686:6:22","nodeType":"YulIdentifier","src":"274686:6:22"},"nativeSrc":"274686:16:22","nodeType":"YulFunctionCall","src":"274686:16:22"},"nativeSrc":"274686:16:22","nodeType":"YulExpressionStatement","src":"274686:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274722:4:22","nodeType":"YulLiteral","src":"274722:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"274728:2:22","nodeType":"YulIdentifier","src":"274728:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274715:6:22","nodeType":"YulIdentifier","src":"274715:6:22"},"nativeSrc":"274715:16:22","nodeType":"YulFunctionCall","src":"274715:16:22"},"nativeSrc":"274715:16:22","nodeType":"YulExpressionStatement","src":"274715:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274751:4:22","nodeType":"YulLiteral","src":"274751:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"274757:2:22","nodeType":"YulIdentifier","src":"274757:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274744:6:22","nodeType":"YulIdentifier","src":"274744:6:22"},"nativeSrc":"274744:16:22","nodeType":"YulFunctionCall","src":"274744:16:22"},"nativeSrc":"274744:16:22","nodeType":"YulExpressionStatement","src":"274744:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274780:4:22","nodeType":"YulLiteral","src":"274780:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"274786:2:22","nodeType":"YulIdentifier","src":"274786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274773:6:22","nodeType":"YulIdentifier","src":"274773:6:22"},"nativeSrc":"274773:16:22","nodeType":"YulFunctionCall","src":"274773:16:22"},"nativeSrc":"274773:16:22","nodeType":"YulExpressionStatement","src":"274773:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40001,"isOffset":false,"isSlot":false,"src":"274435:2:22","valueSize":1},{"declaration":40004,"isOffset":false,"isSlot":false,"src":"274465:2:22","valueSize":1},{"declaration":40007,"isOffset":false,"isSlot":false,"src":"274495:2:22","valueSize":1},{"declaration":40010,"isOffset":false,"isSlot":false,"src":"274525:2:22","valueSize":1},{"declaration":40013,"isOffset":false,"isSlot":false,"src":"274555:2:22","valueSize":1},{"declaration":39991,"isOffset":false,"isSlot":false,"src":"274699:2:22","valueSize":1},{"declaration":39993,"isOffset":false,"isSlot":false,"src":"274728:2:22","valueSize":1},{"declaration":39995,"isOffset":false,"isSlot":false,"src":"274757:2:22","valueSize":1},{"declaration":39997,"isOffset":false,"isSlot":false,"src":"274786:2:22","valueSize":1}],"id":40015,"nodeType":"InlineAssembly","src":"274412:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274824:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274830:4:22","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":40016,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"274808:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"274808:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40020,"nodeType":"ExpressionStatement","src":"274808:27:22"},{"AST":{"nativeSrc":"274897:156:22","nodeType":"YulBlock","src":"274897:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"274918:4:22","nodeType":"YulLiteral","src":"274918:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"274924:2:22","nodeType":"YulIdentifier","src":"274924:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274911:6:22","nodeType":"YulIdentifier","src":"274911:6:22"},"nativeSrc":"274911:16:22","nodeType":"YulFunctionCall","src":"274911:16:22"},"nativeSrc":"274911:16:22","nodeType":"YulExpressionStatement","src":"274911:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274947:4:22","nodeType":"YulLiteral","src":"274947:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274953:2:22","nodeType":"YulIdentifier","src":"274953:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274940:6:22","nodeType":"YulIdentifier","src":"274940:6:22"},"nativeSrc":"274940:16:22","nodeType":"YulFunctionCall","src":"274940:16:22"},"nativeSrc":"274940:16:22","nodeType":"YulExpressionStatement","src":"274940:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274976:4:22","nodeType":"YulLiteral","src":"274976:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274982:2:22","nodeType":"YulIdentifier","src":"274982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274969:6:22","nodeType":"YulIdentifier","src":"274969:6:22"},"nativeSrc":"274969:16:22","nodeType":"YulFunctionCall","src":"274969:16:22"},"nativeSrc":"274969:16:22","nodeType":"YulExpressionStatement","src":"274969:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275005:4:22","nodeType":"YulLiteral","src":"275005:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275011:2:22","nodeType":"YulIdentifier","src":"275011:2:22"}],"functionName":{"name":"mstore","nativeSrc":"274998:6:22","nodeType":"YulIdentifier","src":"274998:6:22"},"nativeSrc":"274998:16:22","nodeType":"YulFunctionCall","src":"274998:16:22"},"nativeSrc":"274998:16:22","nodeType":"YulExpressionStatement","src":"274998:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275034:4:22","nodeType":"YulLiteral","src":"275034:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275040:2:22","nodeType":"YulIdentifier","src":"275040:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275027:6:22","nodeType":"YulIdentifier","src":"275027:6:22"},"nativeSrc":"275027:16:22","nodeType":"YulFunctionCall","src":"275027:16:22"},"nativeSrc":"275027:16:22","nodeType":"YulExpressionStatement","src":"275027:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40001,"isOffset":false,"isSlot":false,"src":"274924:2:22","valueSize":1},{"declaration":40004,"isOffset":false,"isSlot":false,"src":"274953:2:22","valueSize":1},{"declaration":40007,"isOffset":false,"isSlot":false,"src":"274982:2:22","valueSize":1},{"declaration":40010,"isOffset":false,"isSlot":false,"src":"275011:2:22","valueSize":1},{"declaration":40013,"isOffset":false,"isSlot":false,"src":"275040:2:22","valueSize":1}],"id":40021,"nodeType":"InlineAssembly","src":"274888:165:22"}]},"id":40023,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"274196:3:22","nodeType":"FunctionDefinition","parameters":{"id":39998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39991,"mutability":"mutable","name":"p0","nameLocation":"274208:2:22","nodeType":"VariableDeclaration","scope":40023,"src":"274200:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39990,"name":"uint256","nodeType":"ElementaryTypeName","src":"274200:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39993,"mutability":"mutable","name":"p1","nameLocation":"274217:2:22","nodeType":"VariableDeclaration","scope":40023,"src":"274212:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39992,"name":"bool","nodeType":"ElementaryTypeName","src":"274212:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":39995,"mutability":"mutable","name":"p2","nameLocation":"274229:2:22","nodeType":"VariableDeclaration","scope":40023,"src":"274221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39994,"name":"uint256","nodeType":"ElementaryTypeName","src":"274221:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39997,"mutability":"mutable","name":"p3","nameLocation":"274241:2:22","nodeType":"VariableDeclaration","scope":40023,"src":"274233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39996,"name":"address","nodeType":"ElementaryTypeName","src":"274233:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"274199:45:22"},"returnParameters":{"id":39999,"nodeType":"ParameterList","parameters":[],"src":"274259:0:22"},"scope":44426,"src":"274187:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40056,"nodeType":"Block","src":"275134:797:22","statements":[{"assignments":[40035],"declarations":[{"constant":false,"id":40035,"mutability":"mutable","name":"m0","nameLocation":"275152:2:22","nodeType":"VariableDeclaration","scope":40056,"src":"275144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40036,"nodeType":"VariableDeclarationStatement","src":"275144:10:22"},{"assignments":[40038],"declarations":[{"constant":false,"id":40038,"mutability":"mutable","name":"m1","nameLocation":"275172:2:22","nodeType":"VariableDeclaration","scope":40056,"src":"275164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40039,"nodeType":"VariableDeclarationStatement","src":"275164:10:22"},{"assignments":[40041],"declarations":[{"constant":false,"id":40041,"mutability":"mutable","name":"m2","nameLocation":"275192:2:22","nodeType":"VariableDeclaration","scope":40056,"src":"275184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275184:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40042,"nodeType":"VariableDeclarationStatement","src":"275184:10:22"},{"assignments":[40044],"declarations":[{"constant":false,"id":40044,"mutability":"mutable","name":"m3","nameLocation":"275212:2:22","nodeType":"VariableDeclaration","scope":40056,"src":"275204:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275204:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40045,"nodeType":"VariableDeclarationStatement","src":"275204:10:22"},{"assignments":[40047],"declarations":[{"constant":false,"id":40047,"mutability":"mutable","name":"m4","nameLocation":"275232:2:22","nodeType":"VariableDeclaration","scope":40056,"src":"275224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40048,"nodeType":"VariableDeclarationStatement","src":"275224:10:22"},{"AST":{"nativeSrc":"275296:375:22","nodeType":"YulBlock","src":"275296:375:22","statements":[{"nativeSrc":"275310:17:22","nodeType":"YulAssignment","src":"275310:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"275322:4:22","nodeType":"YulLiteral","src":"275322:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"275316:5:22","nodeType":"YulIdentifier","src":"275316:5:22"},"nativeSrc":"275316:11:22","nodeType":"YulFunctionCall","src":"275316:11:22"},"variableNames":[{"name":"m0","nativeSrc":"275310:2:22","nodeType":"YulIdentifier","src":"275310:2:22"}]},{"nativeSrc":"275340:17:22","nodeType":"YulAssignment","src":"275340:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"275352:4:22","nodeType":"YulLiteral","src":"275352:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"275346:5:22","nodeType":"YulIdentifier","src":"275346:5:22"},"nativeSrc":"275346:11:22","nodeType":"YulFunctionCall","src":"275346:11:22"},"variableNames":[{"name":"m1","nativeSrc":"275340:2:22","nodeType":"YulIdentifier","src":"275340:2:22"}]},{"nativeSrc":"275370:17:22","nodeType":"YulAssignment","src":"275370:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"275382:4:22","nodeType":"YulLiteral","src":"275382:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"275376:5:22","nodeType":"YulIdentifier","src":"275376:5:22"},"nativeSrc":"275376:11:22","nodeType":"YulFunctionCall","src":"275376:11:22"},"variableNames":[{"name":"m2","nativeSrc":"275370:2:22","nodeType":"YulIdentifier","src":"275370:2:22"}]},{"nativeSrc":"275400:17:22","nodeType":"YulAssignment","src":"275400:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"275412:4:22","nodeType":"YulLiteral","src":"275412:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"275406:5:22","nodeType":"YulIdentifier","src":"275406:5:22"},"nativeSrc":"275406:11:22","nodeType":"YulFunctionCall","src":"275406:11:22"},"variableNames":[{"name":"m3","nativeSrc":"275400:2:22","nodeType":"YulIdentifier","src":"275400:2:22"}]},{"nativeSrc":"275430:17:22","nodeType":"YulAssignment","src":"275430:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"275442:4:22","nodeType":"YulLiteral","src":"275442:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"275436:5:22","nodeType":"YulIdentifier","src":"275436:5:22"},"nativeSrc":"275436:11:22","nodeType":"YulFunctionCall","src":"275436:11:22"},"variableNames":[{"name":"m4","nativeSrc":"275430:2:22","nodeType":"YulIdentifier","src":"275430:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275528:4:22","nodeType":"YulLiteral","src":"275528:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"275534:10:22","nodeType":"YulLiteral","src":"275534:10:22","type":"","value":"0x91a02e2a"}],"functionName":{"name":"mstore","nativeSrc":"275521:6:22","nodeType":"YulIdentifier","src":"275521:6:22"},"nativeSrc":"275521:24:22","nodeType":"YulFunctionCall","src":"275521:24:22"},"nativeSrc":"275521:24:22","nodeType":"YulExpressionStatement","src":"275521:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275565:4:22","nodeType":"YulLiteral","src":"275565:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"275571:2:22","nodeType":"YulIdentifier","src":"275571:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275558:6:22","nodeType":"YulIdentifier","src":"275558:6:22"},"nativeSrc":"275558:16:22","nodeType":"YulFunctionCall","src":"275558:16:22"},"nativeSrc":"275558:16:22","nodeType":"YulExpressionStatement","src":"275558:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275594:4:22","nodeType":"YulLiteral","src":"275594:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"275600:2:22","nodeType":"YulIdentifier","src":"275600:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275587:6:22","nodeType":"YulIdentifier","src":"275587:6:22"},"nativeSrc":"275587:16:22","nodeType":"YulFunctionCall","src":"275587:16:22"},"nativeSrc":"275587:16:22","nodeType":"YulExpressionStatement","src":"275587:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275623:4:22","nodeType":"YulLiteral","src":"275623:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"275629:2:22","nodeType":"YulIdentifier","src":"275629:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275616:6:22","nodeType":"YulIdentifier","src":"275616:6:22"},"nativeSrc":"275616:16:22","nodeType":"YulFunctionCall","src":"275616:16:22"},"nativeSrc":"275616:16:22","nodeType":"YulExpressionStatement","src":"275616:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275652:4:22","nodeType":"YulLiteral","src":"275652:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"275658:2:22","nodeType":"YulIdentifier","src":"275658:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275645:6:22","nodeType":"YulIdentifier","src":"275645:6:22"},"nativeSrc":"275645:16:22","nodeType":"YulFunctionCall","src":"275645:16:22"},"nativeSrc":"275645:16:22","nodeType":"YulExpressionStatement","src":"275645:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40035,"isOffset":false,"isSlot":false,"src":"275310:2:22","valueSize":1},{"declaration":40038,"isOffset":false,"isSlot":false,"src":"275340:2:22","valueSize":1},{"declaration":40041,"isOffset":false,"isSlot":false,"src":"275370:2:22","valueSize":1},{"declaration":40044,"isOffset":false,"isSlot":false,"src":"275400:2:22","valueSize":1},{"declaration":40047,"isOffset":false,"isSlot":false,"src":"275430:2:22","valueSize":1},{"declaration":40025,"isOffset":false,"isSlot":false,"src":"275571:2:22","valueSize":1},{"declaration":40027,"isOffset":false,"isSlot":false,"src":"275600:2:22","valueSize":1},{"declaration":40029,"isOffset":false,"isSlot":false,"src":"275629:2:22","valueSize":1},{"declaration":40031,"isOffset":false,"isSlot":false,"src":"275658:2:22","valueSize":1}],"id":40049,"nodeType":"InlineAssembly","src":"275287:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275696:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275702:4:22","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":40050,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"275680:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"275680:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40054,"nodeType":"ExpressionStatement","src":"275680:27:22"},{"AST":{"nativeSrc":"275769:156:22","nodeType":"YulBlock","src":"275769:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"275790:4:22","nodeType":"YulLiteral","src":"275790:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"275796:2:22","nodeType":"YulIdentifier","src":"275796:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275783:6:22","nodeType":"YulIdentifier","src":"275783:6:22"},"nativeSrc":"275783:16:22","nodeType":"YulFunctionCall","src":"275783:16:22"},"nativeSrc":"275783:16:22","nodeType":"YulExpressionStatement","src":"275783:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275819:4:22","nodeType":"YulLiteral","src":"275819:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"275825:2:22","nodeType":"YulIdentifier","src":"275825:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275812:6:22","nodeType":"YulIdentifier","src":"275812:6:22"},"nativeSrc":"275812:16:22","nodeType":"YulFunctionCall","src":"275812:16:22"},"nativeSrc":"275812:16:22","nodeType":"YulExpressionStatement","src":"275812:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275848:4:22","nodeType":"YulLiteral","src":"275848:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"275854:2:22","nodeType":"YulIdentifier","src":"275854:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275841:6:22","nodeType":"YulIdentifier","src":"275841:6:22"},"nativeSrc":"275841:16:22","nodeType":"YulFunctionCall","src":"275841:16:22"},"nativeSrc":"275841:16:22","nodeType":"YulExpressionStatement","src":"275841:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275877:4:22","nodeType":"YulLiteral","src":"275877:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275883:2:22","nodeType":"YulIdentifier","src":"275883:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275870:6:22","nodeType":"YulIdentifier","src":"275870:6:22"},"nativeSrc":"275870:16:22","nodeType":"YulFunctionCall","src":"275870:16:22"},"nativeSrc":"275870:16:22","nodeType":"YulExpressionStatement","src":"275870:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275906:4:22","nodeType":"YulLiteral","src":"275906:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275912:2:22","nodeType":"YulIdentifier","src":"275912:2:22"}],"functionName":{"name":"mstore","nativeSrc":"275899:6:22","nodeType":"YulIdentifier","src":"275899:6:22"},"nativeSrc":"275899:16:22","nodeType":"YulFunctionCall","src":"275899:16:22"},"nativeSrc":"275899:16:22","nodeType":"YulExpressionStatement","src":"275899:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40035,"isOffset":false,"isSlot":false,"src":"275796:2:22","valueSize":1},{"declaration":40038,"isOffset":false,"isSlot":false,"src":"275825:2:22","valueSize":1},{"declaration":40041,"isOffset":false,"isSlot":false,"src":"275854:2:22","valueSize":1},{"declaration":40044,"isOffset":false,"isSlot":false,"src":"275883:2:22","valueSize":1},{"declaration":40047,"isOffset":false,"isSlot":false,"src":"275912:2:22","valueSize":1}],"id":40055,"nodeType":"InlineAssembly","src":"275760:165:22"}]},"id":40057,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275074:3:22","nodeType":"FunctionDefinition","parameters":{"id":40032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40025,"mutability":"mutable","name":"p0","nameLocation":"275086:2:22","nodeType":"VariableDeclaration","scope":40057,"src":"275078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40024,"name":"uint256","nodeType":"ElementaryTypeName","src":"275078:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40027,"mutability":"mutable","name":"p1","nameLocation":"275095:2:22","nodeType":"VariableDeclaration","scope":40057,"src":"275090:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40026,"name":"bool","nodeType":"ElementaryTypeName","src":"275090:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40029,"mutability":"mutable","name":"p2","nameLocation":"275107:2:22","nodeType":"VariableDeclaration","scope":40057,"src":"275099:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40028,"name":"uint256","nodeType":"ElementaryTypeName","src":"275099:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40031,"mutability":"mutable","name":"p3","nameLocation":"275116:2:22","nodeType":"VariableDeclaration","scope":40057,"src":"275111:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40030,"name":"bool","nodeType":"ElementaryTypeName","src":"275111:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"275077:42:22"},"returnParameters":{"id":40033,"nodeType":"ParameterList","parameters":[],"src":"275134:0:22"},"scope":44426,"src":"275065:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40090,"nodeType":"Block","src":"276009:800:22","statements":[{"assignments":[40069],"declarations":[{"constant":false,"id":40069,"mutability":"mutable","name":"m0","nameLocation":"276027:2:22","nodeType":"VariableDeclaration","scope":40090,"src":"276019:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276019:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40070,"nodeType":"VariableDeclarationStatement","src":"276019:10:22"},{"assignments":[40072],"declarations":[{"constant":false,"id":40072,"mutability":"mutable","name":"m1","nameLocation":"276047:2:22","nodeType":"VariableDeclaration","scope":40090,"src":"276039:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276039:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40073,"nodeType":"VariableDeclarationStatement","src":"276039:10:22"},{"assignments":[40075],"declarations":[{"constant":false,"id":40075,"mutability":"mutable","name":"m2","nameLocation":"276067:2:22","nodeType":"VariableDeclaration","scope":40090,"src":"276059:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276059:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40076,"nodeType":"VariableDeclarationStatement","src":"276059:10:22"},{"assignments":[40078],"declarations":[{"constant":false,"id":40078,"mutability":"mutable","name":"m3","nameLocation":"276087:2:22","nodeType":"VariableDeclaration","scope":40090,"src":"276079:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276079:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40079,"nodeType":"VariableDeclarationStatement","src":"276079:10:22"},{"assignments":[40081],"declarations":[{"constant":false,"id":40081,"mutability":"mutable","name":"m4","nameLocation":"276107:2:22","nodeType":"VariableDeclaration","scope":40090,"src":"276099:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276099:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40082,"nodeType":"VariableDeclarationStatement","src":"276099:10:22"},{"AST":{"nativeSrc":"276171:378:22","nodeType":"YulBlock","src":"276171:378:22","statements":[{"nativeSrc":"276185:17:22","nodeType":"YulAssignment","src":"276185:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"276197:4:22","nodeType":"YulLiteral","src":"276197:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"276191:5:22","nodeType":"YulIdentifier","src":"276191:5:22"},"nativeSrc":"276191:11:22","nodeType":"YulFunctionCall","src":"276191:11:22"},"variableNames":[{"name":"m0","nativeSrc":"276185:2:22","nodeType":"YulIdentifier","src":"276185:2:22"}]},{"nativeSrc":"276215:17:22","nodeType":"YulAssignment","src":"276215:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"276227:4:22","nodeType":"YulLiteral","src":"276227:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"276221:5:22","nodeType":"YulIdentifier","src":"276221:5:22"},"nativeSrc":"276221:11:22","nodeType":"YulFunctionCall","src":"276221:11:22"},"variableNames":[{"name":"m1","nativeSrc":"276215:2:22","nodeType":"YulIdentifier","src":"276215:2:22"}]},{"nativeSrc":"276245:17:22","nodeType":"YulAssignment","src":"276245:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"276257:4:22","nodeType":"YulLiteral","src":"276257:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"276251:5:22","nodeType":"YulIdentifier","src":"276251:5:22"},"nativeSrc":"276251:11:22","nodeType":"YulFunctionCall","src":"276251:11:22"},"variableNames":[{"name":"m2","nativeSrc":"276245:2:22","nodeType":"YulIdentifier","src":"276245:2:22"}]},{"nativeSrc":"276275:17:22","nodeType":"YulAssignment","src":"276275:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"276287:4:22","nodeType":"YulLiteral","src":"276287:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"276281:5:22","nodeType":"YulIdentifier","src":"276281:5:22"},"nativeSrc":"276281:11:22","nodeType":"YulFunctionCall","src":"276281:11:22"},"variableNames":[{"name":"m3","nativeSrc":"276275:2:22","nodeType":"YulIdentifier","src":"276275:2:22"}]},{"nativeSrc":"276305:17:22","nodeType":"YulAssignment","src":"276305:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"276317:4:22","nodeType":"YulLiteral","src":"276317:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"276311:5:22","nodeType":"YulIdentifier","src":"276311:5:22"},"nativeSrc":"276311:11:22","nodeType":"YulFunctionCall","src":"276311:11:22"},"variableNames":[{"name":"m4","nativeSrc":"276305:2:22","nodeType":"YulIdentifier","src":"276305:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276406:4:22","nodeType":"YulLiteral","src":"276406:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"276412:10:22","nodeType":"YulLiteral","src":"276412:10:22","type":"","value":"0xc6acc7a8"}],"functionName":{"name":"mstore","nativeSrc":"276399:6:22","nodeType":"YulIdentifier","src":"276399:6:22"},"nativeSrc":"276399:24:22","nodeType":"YulFunctionCall","src":"276399:24:22"},"nativeSrc":"276399:24:22","nodeType":"YulExpressionStatement","src":"276399:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276443:4:22","nodeType":"YulLiteral","src":"276443:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"276449:2:22","nodeType":"YulIdentifier","src":"276449:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276436:6:22","nodeType":"YulIdentifier","src":"276436:6:22"},"nativeSrc":"276436:16:22","nodeType":"YulFunctionCall","src":"276436:16:22"},"nativeSrc":"276436:16:22","nodeType":"YulExpressionStatement","src":"276436:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276472:4:22","nodeType":"YulLiteral","src":"276472:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"276478:2:22","nodeType":"YulIdentifier","src":"276478:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276465:6:22","nodeType":"YulIdentifier","src":"276465:6:22"},"nativeSrc":"276465:16:22","nodeType":"YulFunctionCall","src":"276465:16:22"},"nativeSrc":"276465:16:22","nodeType":"YulExpressionStatement","src":"276465:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276501:4:22","nodeType":"YulLiteral","src":"276501:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"276507:2:22","nodeType":"YulIdentifier","src":"276507:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276494:6:22","nodeType":"YulIdentifier","src":"276494:6:22"},"nativeSrc":"276494:16:22","nodeType":"YulFunctionCall","src":"276494:16:22"},"nativeSrc":"276494:16:22","nodeType":"YulExpressionStatement","src":"276494:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276530:4:22","nodeType":"YulLiteral","src":"276530:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"276536:2:22","nodeType":"YulIdentifier","src":"276536:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276523:6:22","nodeType":"YulIdentifier","src":"276523:6:22"},"nativeSrc":"276523:16:22","nodeType":"YulFunctionCall","src":"276523:16:22"},"nativeSrc":"276523:16:22","nodeType":"YulExpressionStatement","src":"276523:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40069,"isOffset":false,"isSlot":false,"src":"276185:2:22","valueSize":1},{"declaration":40072,"isOffset":false,"isSlot":false,"src":"276215:2:22","valueSize":1},{"declaration":40075,"isOffset":false,"isSlot":false,"src":"276245:2:22","valueSize":1},{"declaration":40078,"isOffset":false,"isSlot":false,"src":"276275:2:22","valueSize":1},{"declaration":40081,"isOffset":false,"isSlot":false,"src":"276305:2:22","valueSize":1},{"declaration":40059,"isOffset":false,"isSlot":false,"src":"276449:2:22","valueSize":1},{"declaration":40061,"isOffset":false,"isSlot":false,"src":"276478:2:22","valueSize":1},{"declaration":40063,"isOffset":false,"isSlot":false,"src":"276507:2:22","valueSize":1},{"declaration":40065,"isOffset":false,"isSlot":false,"src":"276536:2:22","valueSize":1}],"id":40083,"nodeType":"InlineAssembly","src":"276162:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276574:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276580:4:22","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":40084,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"276558:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"276558:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40088,"nodeType":"ExpressionStatement","src":"276558:27:22"},{"AST":{"nativeSrc":"276647:156:22","nodeType":"YulBlock","src":"276647:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"276668:4:22","nodeType":"YulLiteral","src":"276668:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"276674:2:22","nodeType":"YulIdentifier","src":"276674:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276661:6:22","nodeType":"YulIdentifier","src":"276661:6:22"},"nativeSrc":"276661:16:22","nodeType":"YulFunctionCall","src":"276661:16:22"},"nativeSrc":"276661:16:22","nodeType":"YulExpressionStatement","src":"276661:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276697:4:22","nodeType":"YulLiteral","src":"276697:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"276703:2:22","nodeType":"YulIdentifier","src":"276703:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276690:6:22","nodeType":"YulIdentifier","src":"276690:6:22"},"nativeSrc":"276690:16:22","nodeType":"YulFunctionCall","src":"276690:16:22"},"nativeSrc":"276690:16:22","nodeType":"YulExpressionStatement","src":"276690:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276726:4:22","nodeType":"YulLiteral","src":"276726:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"276732:2:22","nodeType":"YulIdentifier","src":"276732:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276719:6:22","nodeType":"YulIdentifier","src":"276719:6:22"},"nativeSrc":"276719:16:22","nodeType":"YulFunctionCall","src":"276719:16:22"},"nativeSrc":"276719:16:22","nodeType":"YulExpressionStatement","src":"276719:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276755:4:22","nodeType":"YulLiteral","src":"276755:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"276761:2:22","nodeType":"YulIdentifier","src":"276761:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276748:6:22","nodeType":"YulIdentifier","src":"276748:6:22"},"nativeSrc":"276748:16:22","nodeType":"YulFunctionCall","src":"276748:16:22"},"nativeSrc":"276748:16:22","nodeType":"YulExpressionStatement","src":"276748:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276784:4:22","nodeType":"YulLiteral","src":"276784:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"276790:2:22","nodeType":"YulIdentifier","src":"276790:2:22"}],"functionName":{"name":"mstore","nativeSrc":"276777:6:22","nodeType":"YulIdentifier","src":"276777:6:22"},"nativeSrc":"276777:16:22","nodeType":"YulFunctionCall","src":"276777:16:22"},"nativeSrc":"276777:16:22","nodeType":"YulExpressionStatement","src":"276777:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40069,"isOffset":false,"isSlot":false,"src":"276674:2:22","valueSize":1},{"declaration":40072,"isOffset":false,"isSlot":false,"src":"276703:2:22","valueSize":1},{"declaration":40075,"isOffset":false,"isSlot":false,"src":"276732:2:22","valueSize":1},{"declaration":40078,"isOffset":false,"isSlot":false,"src":"276761:2:22","valueSize":1},{"declaration":40081,"isOffset":false,"isSlot":false,"src":"276790:2:22","valueSize":1}],"id":40089,"nodeType":"InlineAssembly","src":"276638:165:22"}]},"id":40091,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275946:3:22","nodeType":"FunctionDefinition","parameters":{"id":40066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40059,"mutability":"mutable","name":"p0","nameLocation":"275958:2:22","nodeType":"VariableDeclaration","scope":40091,"src":"275950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40058,"name":"uint256","nodeType":"ElementaryTypeName","src":"275950:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40061,"mutability":"mutable","name":"p1","nameLocation":"275967:2:22","nodeType":"VariableDeclaration","scope":40091,"src":"275962:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40060,"name":"bool","nodeType":"ElementaryTypeName","src":"275962:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40063,"mutability":"mutable","name":"p2","nameLocation":"275979:2:22","nodeType":"VariableDeclaration","scope":40091,"src":"275971:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40062,"name":"uint256","nodeType":"ElementaryTypeName","src":"275971:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40065,"mutability":"mutable","name":"p3","nameLocation":"275991:2:22","nodeType":"VariableDeclaration","scope":40091,"src":"275983:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40064,"name":"uint256","nodeType":"ElementaryTypeName","src":"275983:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"275949:45:22"},"returnParameters":{"id":40067,"nodeType":"ParameterList","parameters":[],"src":"276009:0:22"},"scope":44426,"src":"275937:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40130,"nodeType":"Block","src":"276887:1348:22","statements":[{"assignments":[40103],"declarations":[{"constant":false,"id":40103,"mutability":"mutable","name":"m0","nameLocation":"276905:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276897:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276897:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40104,"nodeType":"VariableDeclarationStatement","src":"276897:10:22"},{"assignments":[40106],"declarations":[{"constant":false,"id":40106,"mutability":"mutable","name":"m1","nameLocation":"276925:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276917:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276917:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40107,"nodeType":"VariableDeclarationStatement","src":"276917:10:22"},{"assignments":[40109],"declarations":[{"constant":false,"id":40109,"mutability":"mutable","name":"m2","nameLocation":"276945:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276937:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276937:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40110,"nodeType":"VariableDeclarationStatement","src":"276937:10:22"},{"assignments":[40112],"declarations":[{"constant":false,"id":40112,"mutability":"mutable","name":"m3","nameLocation":"276965:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276957:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276957:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40113,"nodeType":"VariableDeclarationStatement","src":"276957:10:22"},{"assignments":[40115],"declarations":[{"constant":false,"id":40115,"mutability":"mutable","name":"m4","nameLocation":"276985:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276977:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276977:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40116,"nodeType":"VariableDeclarationStatement","src":"276977:10:22"},{"assignments":[40118],"declarations":[{"constant":false,"id":40118,"mutability":"mutable","name":"m5","nameLocation":"277005:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"276997:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276997:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40119,"nodeType":"VariableDeclarationStatement","src":"276997:10:22"},{"assignments":[40121],"declarations":[{"constant":false,"id":40121,"mutability":"mutable","name":"m6","nameLocation":"277025:2:22","nodeType":"VariableDeclaration","scope":40130,"src":"277017:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"277017:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40122,"nodeType":"VariableDeclarationStatement","src":"277017:10:22"},{"AST":{"nativeSrc":"277089:828:22","nodeType":"YulBlock","src":"277089:828:22","statements":[{"body":{"nativeSrc":"277132:313:22","nodeType":"YulBlock","src":"277132:313:22","statements":[{"nativeSrc":"277150:15:22","nodeType":"YulVariableDeclaration","src":"277150:15:22","value":{"kind":"number","nativeSrc":"277164:1:22","nodeType":"YulLiteral","src":"277164:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"277154:6:22","nodeType":"YulTypedName","src":"277154:6:22","type":""}]},{"body":{"nativeSrc":"277235:40:22","nodeType":"YulBlock","src":"277235:40:22","statements":[{"body":{"nativeSrc":"277264:9:22","nodeType":"YulBlock","src":"277264:9:22","statements":[{"nativeSrc":"277266:5:22","nodeType":"YulBreak","src":"277266:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"277252:6:22","nodeType":"YulIdentifier","src":"277252:6:22"},{"name":"w","nativeSrc":"277260:1:22","nodeType":"YulIdentifier","src":"277260:1:22"}],"functionName":{"name":"byte","nativeSrc":"277247:4:22","nodeType":"YulIdentifier","src":"277247:4:22"},"nativeSrc":"277247:15:22","nodeType":"YulFunctionCall","src":"277247:15:22"}],"functionName":{"name":"iszero","nativeSrc":"277240:6:22","nodeType":"YulIdentifier","src":"277240:6:22"},"nativeSrc":"277240:23:22","nodeType":"YulFunctionCall","src":"277240:23:22"},"nativeSrc":"277237:36:22","nodeType":"YulIf","src":"277237:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"277192:6:22","nodeType":"YulIdentifier","src":"277192:6:22"},{"kind":"number","nativeSrc":"277200:4:22","nodeType":"YulLiteral","src":"277200:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"277189:2:22","nodeType":"YulIdentifier","src":"277189:2:22"},"nativeSrc":"277189:16:22","nodeType":"YulFunctionCall","src":"277189:16:22"},"nativeSrc":"277182:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"277206:28:22","nodeType":"YulBlock","src":"277206:28:22","statements":[{"nativeSrc":"277208:24:22","nodeType":"YulAssignment","src":"277208:24:22","value":{"arguments":[{"name":"length","nativeSrc":"277222:6:22","nodeType":"YulIdentifier","src":"277222:6:22"},{"kind":"number","nativeSrc":"277230:1:22","nodeType":"YulLiteral","src":"277230:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"277218:3:22","nodeType":"YulIdentifier","src":"277218:3:22"},"nativeSrc":"277218:14:22","nodeType":"YulFunctionCall","src":"277218:14:22"},"variableNames":[{"name":"length","nativeSrc":"277208:6:22","nodeType":"YulIdentifier","src":"277208:6:22"}]}]},"pre":{"nativeSrc":"277186:2:22","nodeType":"YulBlock","src":"277186:2:22","statements":[]},"src":"277182:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"277299:3:22","nodeType":"YulIdentifier","src":"277299:3:22"},{"name":"length","nativeSrc":"277304:6:22","nodeType":"YulIdentifier","src":"277304:6:22"}],"functionName":{"name":"mstore","nativeSrc":"277292:6:22","nodeType":"YulIdentifier","src":"277292:6:22"},"nativeSrc":"277292:19:22","nodeType":"YulFunctionCall","src":"277292:19:22"},"nativeSrc":"277292:19:22","nodeType":"YulExpressionStatement","src":"277292:19:22"},{"nativeSrc":"277328:37:22","nodeType":"YulVariableDeclaration","src":"277328:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"277345:3:22","nodeType":"YulLiteral","src":"277345:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"277354:1:22","nodeType":"YulLiteral","src":"277354:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"277357:6:22","nodeType":"YulIdentifier","src":"277357:6:22"}],"functionName":{"name":"shl","nativeSrc":"277350:3:22","nodeType":"YulIdentifier","src":"277350:3:22"},"nativeSrc":"277350:14:22","nodeType":"YulFunctionCall","src":"277350:14:22"}],"functionName":{"name":"sub","nativeSrc":"277341:3:22","nodeType":"YulIdentifier","src":"277341:3:22"},"nativeSrc":"277341:24:22","nodeType":"YulFunctionCall","src":"277341:24:22"},"variables":[{"name":"shift","nativeSrc":"277332:5:22","nodeType":"YulTypedName","src":"277332:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"277393:3:22","nodeType":"YulIdentifier","src":"277393:3:22"},{"kind":"number","nativeSrc":"277398:4:22","nodeType":"YulLiteral","src":"277398:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"277389:3:22","nodeType":"YulIdentifier","src":"277389:3:22"},"nativeSrc":"277389:14:22","nodeType":"YulFunctionCall","src":"277389:14:22"},{"arguments":[{"name":"shift","nativeSrc":"277409:5:22","nodeType":"YulIdentifier","src":"277409:5:22"},{"arguments":[{"name":"shift","nativeSrc":"277420:5:22","nodeType":"YulIdentifier","src":"277420:5:22"},{"name":"w","nativeSrc":"277427:1:22","nodeType":"YulIdentifier","src":"277427:1:22"}],"functionName":{"name":"shr","nativeSrc":"277416:3:22","nodeType":"YulIdentifier","src":"277416:3:22"},"nativeSrc":"277416:13:22","nodeType":"YulFunctionCall","src":"277416:13:22"}],"functionName":{"name":"shl","nativeSrc":"277405:3:22","nodeType":"YulIdentifier","src":"277405:3:22"},"nativeSrc":"277405:25:22","nodeType":"YulFunctionCall","src":"277405:25:22"}],"functionName":{"name":"mstore","nativeSrc":"277382:6:22","nodeType":"YulIdentifier","src":"277382:6:22"},"nativeSrc":"277382:49:22","nodeType":"YulFunctionCall","src":"277382:49:22"},"nativeSrc":"277382:49:22","nodeType":"YulExpressionStatement","src":"277382:49:22"}]},"name":"writeString","nativeSrc":"277103:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"277124:3:22","nodeType":"YulTypedName","src":"277124:3:22","type":""},{"name":"w","nativeSrc":"277129:1:22","nodeType":"YulTypedName","src":"277129:1:22","type":""}],"src":"277103:342:22"},{"nativeSrc":"277458:17:22","nodeType":"YulAssignment","src":"277458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277470:4:22","nodeType":"YulLiteral","src":"277470:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"277464:5:22","nodeType":"YulIdentifier","src":"277464:5:22"},"nativeSrc":"277464:11:22","nodeType":"YulFunctionCall","src":"277464:11:22"},"variableNames":[{"name":"m0","nativeSrc":"277458:2:22","nodeType":"YulIdentifier","src":"277458:2:22"}]},{"nativeSrc":"277488:17:22","nodeType":"YulAssignment","src":"277488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277500:4:22","nodeType":"YulLiteral","src":"277500:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"277494:5:22","nodeType":"YulIdentifier","src":"277494:5:22"},"nativeSrc":"277494:11:22","nodeType":"YulFunctionCall","src":"277494:11:22"},"variableNames":[{"name":"m1","nativeSrc":"277488:2:22","nodeType":"YulIdentifier","src":"277488:2:22"}]},{"nativeSrc":"277518:17:22","nodeType":"YulAssignment","src":"277518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277530:4:22","nodeType":"YulLiteral","src":"277530:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"277524:5:22","nodeType":"YulIdentifier","src":"277524:5:22"},"nativeSrc":"277524:11:22","nodeType":"YulFunctionCall","src":"277524:11:22"},"variableNames":[{"name":"m2","nativeSrc":"277518:2:22","nodeType":"YulIdentifier","src":"277518:2:22"}]},{"nativeSrc":"277548:17:22","nodeType":"YulAssignment","src":"277548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277560:4:22","nodeType":"YulLiteral","src":"277560:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"277554:5:22","nodeType":"YulIdentifier","src":"277554:5:22"},"nativeSrc":"277554:11:22","nodeType":"YulFunctionCall","src":"277554:11:22"},"variableNames":[{"name":"m3","nativeSrc":"277548:2:22","nodeType":"YulIdentifier","src":"277548:2:22"}]},{"nativeSrc":"277578:17:22","nodeType":"YulAssignment","src":"277578:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277590:4:22","nodeType":"YulLiteral","src":"277590:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"277584:5:22","nodeType":"YulIdentifier","src":"277584:5:22"},"nativeSrc":"277584:11:22","nodeType":"YulFunctionCall","src":"277584:11:22"},"variableNames":[{"name":"m4","nativeSrc":"277578:2:22","nodeType":"YulIdentifier","src":"277578:2:22"}]},{"nativeSrc":"277608:17:22","nodeType":"YulAssignment","src":"277608:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277620:4:22","nodeType":"YulLiteral","src":"277620:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"277614:5:22","nodeType":"YulIdentifier","src":"277614:5:22"},"nativeSrc":"277614:11:22","nodeType":"YulFunctionCall","src":"277614:11:22"},"variableNames":[{"name":"m5","nativeSrc":"277608:2:22","nodeType":"YulIdentifier","src":"277608:2:22"}]},{"nativeSrc":"277638:17:22","nodeType":"YulAssignment","src":"277638:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"277650:4:22","nodeType":"YulLiteral","src":"277650:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"277644:5:22","nodeType":"YulIdentifier","src":"277644:5:22"},"nativeSrc":"277644:11:22","nodeType":"YulFunctionCall","src":"277644:11:22"},"variableNames":[{"name":"m6","nativeSrc":"277638:2:22","nodeType":"YulIdentifier","src":"277638:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277738:4:22","nodeType":"YulLiteral","src":"277738:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"277744:10:22","nodeType":"YulLiteral","src":"277744:10:22","type":"","value":"0xde03e774"}],"functionName":{"name":"mstore","nativeSrc":"277731:6:22","nodeType":"YulIdentifier","src":"277731:6:22"},"nativeSrc":"277731:24:22","nodeType":"YulFunctionCall","src":"277731:24:22"},"nativeSrc":"277731:24:22","nodeType":"YulExpressionStatement","src":"277731:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277775:4:22","nodeType":"YulLiteral","src":"277775:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"277781:2:22","nodeType":"YulIdentifier","src":"277781:2:22"}],"functionName":{"name":"mstore","nativeSrc":"277768:6:22","nodeType":"YulIdentifier","src":"277768:6:22"},"nativeSrc":"277768:16:22","nodeType":"YulFunctionCall","src":"277768:16:22"},"nativeSrc":"277768:16:22","nodeType":"YulExpressionStatement","src":"277768:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277804:4:22","nodeType":"YulLiteral","src":"277804:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"277810:2:22","nodeType":"YulIdentifier","src":"277810:2:22"}],"functionName":{"name":"mstore","nativeSrc":"277797:6:22","nodeType":"YulIdentifier","src":"277797:6:22"},"nativeSrc":"277797:16:22","nodeType":"YulFunctionCall","src":"277797:16:22"},"nativeSrc":"277797:16:22","nodeType":"YulExpressionStatement","src":"277797:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277833:4:22","nodeType":"YulLiteral","src":"277833:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"277839:2:22","nodeType":"YulIdentifier","src":"277839:2:22"}],"functionName":{"name":"mstore","nativeSrc":"277826:6:22","nodeType":"YulIdentifier","src":"277826:6:22"},"nativeSrc":"277826:16:22","nodeType":"YulFunctionCall","src":"277826:16:22"},"nativeSrc":"277826:16:22","nodeType":"YulExpressionStatement","src":"277826:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277862:4:22","nodeType":"YulLiteral","src":"277862:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"277868:4:22","nodeType":"YulLiteral","src":"277868:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"277855:6:22","nodeType":"YulIdentifier","src":"277855:6:22"},"nativeSrc":"277855:18:22","nodeType":"YulFunctionCall","src":"277855:18:22"},"nativeSrc":"277855:18:22","nodeType":"YulExpressionStatement","src":"277855:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277898:4:22","nodeType":"YulLiteral","src":"277898:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"277904:2:22","nodeType":"YulIdentifier","src":"277904:2:22"}],"functionName":{"name":"writeString","nativeSrc":"277886:11:22","nodeType":"YulIdentifier","src":"277886:11:22"},"nativeSrc":"277886:21:22","nodeType":"YulFunctionCall","src":"277886:21:22"},"nativeSrc":"277886:21:22","nodeType":"YulExpressionStatement","src":"277886:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40103,"isOffset":false,"isSlot":false,"src":"277458:2:22","valueSize":1},{"declaration":40106,"isOffset":false,"isSlot":false,"src":"277488:2:22","valueSize":1},{"declaration":40109,"isOffset":false,"isSlot":false,"src":"277518:2:22","valueSize":1},{"declaration":40112,"isOffset":false,"isSlot":false,"src":"277548:2:22","valueSize":1},{"declaration":40115,"isOffset":false,"isSlot":false,"src":"277578:2:22","valueSize":1},{"declaration":40118,"isOffset":false,"isSlot":false,"src":"277608:2:22","valueSize":1},{"declaration":40121,"isOffset":false,"isSlot":false,"src":"277638:2:22","valueSize":1},{"declaration":40093,"isOffset":false,"isSlot":false,"src":"277781:2:22","valueSize":1},{"declaration":40095,"isOffset":false,"isSlot":false,"src":"277810:2:22","valueSize":1},{"declaration":40097,"isOffset":false,"isSlot":false,"src":"277839:2:22","valueSize":1},{"declaration":40099,"isOffset":false,"isSlot":false,"src":"277904:2:22","valueSize":1}],"id":40123,"nodeType":"InlineAssembly","src":"277080:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277942:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277948:4:22","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":40124,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"277926:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"277926:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40128,"nodeType":"ExpressionStatement","src":"277926:27:22"},{"AST":{"nativeSrc":"278015:214:22","nodeType":"YulBlock","src":"278015:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"278036:4:22","nodeType":"YulLiteral","src":"278036:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"278042:2:22","nodeType":"YulIdentifier","src":"278042:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278029:6:22","nodeType":"YulIdentifier","src":"278029:6:22"},"nativeSrc":"278029:16:22","nodeType":"YulFunctionCall","src":"278029:16:22"},"nativeSrc":"278029:16:22","nodeType":"YulExpressionStatement","src":"278029:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278065:4:22","nodeType":"YulLiteral","src":"278065:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"278071:2:22","nodeType":"YulIdentifier","src":"278071:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278058:6:22","nodeType":"YulIdentifier","src":"278058:6:22"},"nativeSrc":"278058:16:22","nodeType":"YulFunctionCall","src":"278058:16:22"},"nativeSrc":"278058:16:22","nodeType":"YulExpressionStatement","src":"278058:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278094:4:22","nodeType":"YulLiteral","src":"278094:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"278100:2:22","nodeType":"YulIdentifier","src":"278100:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278087:6:22","nodeType":"YulIdentifier","src":"278087:6:22"},"nativeSrc":"278087:16:22","nodeType":"YulFunctionCall","src":"278087:16:22"},"nativeSrc":"278087:16:22","nodeType":"YulExpressionStatement","src":"278087:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278123:4:22","nodeType":"YulLiteral","src":"278123:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"278129:2:22","nodeType":"YulIdentifier","src":"278129:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278116:6:22","nodeType":"YulIdentifier","src":"278116:6:22"},"nativeSrc":"278116:16:22","nodeType":"YulFunctionCall","src":"278116:16:22"},"nativeSrc":"278116:16:22","nodeType":"YulExpressionStatement","src":"278116:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278152:4:22","nodeType":"YulLiteral","src":"278152:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"278158:2:22","nodeType":"YulIdentifier","src":"278158:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278145:6:22","nodeType":"YulIdentifier","src":"278145:6:22"},"nativeSrc":"278145:16:22","nodeType":"YulFunctionCall","src":"278145:16:22"},"nativeSrc":"278145:16:22","nodeType":"YulExpressionStatement","src":"278145:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278181:4:22","nodeType":"YulLiteral","src":"278181:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"278187:2:22","nodeType":"YulIdentifier","src":"278187:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278174:6:22","nodeType":"YulIdentifier","src":"278174:6:22"},"nativeSrc":"278174:16:22","nodeType":"YulFunctionCall","src":"278174:16:22"},"nativeSrc":"278174:16:22","nodeType":"YulExpressionStatement","src":"278174:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278210:4:22","nodeType":"YulLiteral","src":"278210:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"278216:2:22","nodeType":"YulIdentifier","src":"278216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"278203:6:22","nodeType":"YulIdentifier","src":"278203:6:22"},"nativeSrc":"278203:16:22","nodeType":"YulFunctionCall","src":"278203:16:22"},"nativeSrc":"278203:16:22","nodeType":"YulExpressionStatement","src":"278203:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40103,"isOffset":false,"isSlot":false,"src":"278042:2:22","valueSize":1},{"declaration":40106,"isOffset":false,"isSlot":false,"src":"278071:2:22","valueSize":1},{"declaration":40109,"isOffset":false,"isSlot":false,"src":"278100:2:22","valueSize":1},{"declaration":40112,"isOffset":false,"isSlot":false,"src":"278129:2:22","valueSize":1},{"declaration":40115,"isOffset":false,"isSlot":false,"src":"278158:2:22","valueSize":1},{"declaration":40118,"isOffset":false,"isSlot":false,"src":"278187:2:22","valueSize":1},{"declaration":40121,"isOffset":false,"isSlot":false,"src":"278216:2:22","valueSize":1}],"id":40129,"nodeType":"InlineAssembly","src":"278006:223:22"}]},"id":40131,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"276824:3:22","nodeType":"FunctionDefinition","parameters":{"id":40100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40093,"mutability":"mutable","name":"p0","nameLocation":"276836:2:22","nodeType":"VariableDeclaration","scope":40131,"src":"276828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40092,"name":"uint256","nodeType":"ElementaryTypeName","src":"276828:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40095,"mutability":"mutable","name":"p1","nameLocation":"276845:2:22","nodeType":"VariableDeclaration","scope":40131,"src":"276840:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40094,"name":"bool","nodeType":"ElementaryTypeName","src":"276840:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40097,"mutability":"mutable","name":"p2","nameLocation":"276857:2:22","nodeType":"VariableDeclaration","scope":40131,"src":"276849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40096,"name":"uint256","nodeType":"ElementaryTypeName","src":"276849:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40099,"mutability":"mutable","name":"p3","nameLocation":"276869:2:22","nodeType":"VariableDeclaration","scope":40131,"src":"276861:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276861:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"276827:45:22"},"returnParameters":{"id":40101,"nodeType":"ParameterList","parameters":[],"src":"276887:0:22"},"scope":44426,"src":"276815:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40170,"nodeType":"Block","src":"278313:1348:22","statements":[{"assignments":[40143],"declarations":[{"constant":false,"id":40143,"mutability":"mutable","name":"m0","nameLocation":"278331:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278323:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278323:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40144,"nodeType":"VariableDeclarationStatement","src":"278323:10:22"},{"assignments":[40146],"declarations":[{"constant":false,"id":40146,"mutability":"mutable","name":"m1","nameLocation":"278351:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278343:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278343:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40147,"nodeType":"VariableDeclarationStatement","src":"278343:10:22"},{"assignments":[40149],"declarations":[{"constant":false,"id":40149,"mutability":"mutable","name":"m2","nameLocation":"278371:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278363:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278363:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40150,"nodeType":"VariableDeclarationStatement","src":"278363:10:22"},{"assignments":[40152],"declarations":[{"constant":false,"id":40152,"mutability":"mutable","name":"m3","nameLocation":"278391:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278383:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40153,"nodeType":"VariableDeclarationStatement","src":"278383:10:22"},{"assignments":[40155],"declarations":[{"constant":false,"id":40155,"mutability":"mutable","name":"m4","nameLocation":"278411:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278403:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278403:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40156,"nodeType":"VariableDeclarationStatement","src":"278403:10:22"},{"assignments":[40158],"declarations":[{"constant":false,"id":40158,"mutability":"mutable","name":"m5","nameLocation":"278431:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278423:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278423:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40159,"nodeType":"VariableDeclarationStatement","src":"278423:10:22"},{"assignments":[40161],"declarations":[{"constant":false,"id":40161,"mutability":"mutable","name":"m6","nameLocation":"278451:2:22","nodeType":"VariableDeclaration","scope":40170,"src":"278443:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278443:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40162,"nodeType":"VariableDeclarationStatement","src":"278443:10:22"},{"AST":{"nativeSrc":"278515:828:22","nodeType":"YulBlock","src":"278515:828:22","statements":[{"body":{"nativeSrc":"278558:313:22","nodeType":"YulBlock","src":"278558:313:22","statements":[{"nativeSrc":"278576:15:22","nodeType":"YulVariableDeclaration","src":"278576:15:22","value":{"kind":"number","nativeSrc":"278590:1:22","nodeType":"YulLiteral","src":"278590:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"278580:6:22","nodeType":"YulTypedName","src":"278580:6:22","type":""}]},{"body":{"nativeSrc":"278661:40:22","nodeType":"YulBlock","src":"278661:40:22","statements":[{"body":{"nativeSrc":"278690:9:22","nodeType":"YulBlock","src":"278690:9:22","statements":[{"nativeSrc":"278692:5:22","nodeType":"YulBreak","src":"278692:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"278678:6:22","nodeType":"YulIdentifier","src":"278678:6:22"},{"name":"w","nativeSrc":"278686:1:22","nodeType":"YulIdentifier","src":"278686:1:22"}],"functionName":{"name":"byte","nativeSrc":"278673:4:22","nodeType":"YulIdentifier","src":"278673:4:22"},"nativeSrc":"278673:15:22","nodeType":"YulFunctionCall","src":"278673:15:22"}],"functionName":{"name":"iszero","nativeSrc":"278666:6:22","nodeType":"YulIdentifier","src":"278666:6:22"},"nativeSrc":"278666:23:22","nodeType":"YulFunctionCall","src":"278666:23:22"},"nativeSrc":"278663:36:22","nodeType":"YulIf","src":"278663:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"278618:6:22","nodeType":"YulIdentifier","src":"278618:6:22"},{"kind":"number","nativeSrc":"278626:4:22","nodeType":"YulLiteral","src":"278626:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"278615:2:22","nodeType":"YulIdentifier","src":"278615:2:22"},"nativeSrc":"278615:16:22","nodeType":"YulFunctionCall","src":"278615:16:22"},"nativeSrc":"278608:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"278632:28:22","nodeType":"YulBlock","src":"278632:28:22","statements":[{"nativeSrc":"278634:24:22","nodeType":"YulAssignment","src":"278634:24:22","value":{"arguments":[{"name":"length","nativeSrc":"278648:6:22","nodeType":"YulIdentifier","src":"278648:6:22"},{"kind":"number","nativeSrc":"278656:1:22","nodeType":"YulLiteral","src":"278656:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"278644:3:22","nodeType":"YulIdentifier","src":"278644:3:22"},"nativeSrc":"278644:14:22","nodeType":"YulFunctionCall","src":"278644:14:22"},"variableNames":[{"name":"length","nativeSrc":"278634:6:22","nodeType":"YulIdentifier","src":"278634:6:22"}]}]},"pre":{"nativeSrc":"278612:2:22","nodeType":"YulBlock","src":"278612:2:22","statements":[]},"src":"278608:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"278725:3:22","nodeType":"YulIdentifier","src":"278725:3:22"},{"name":"length","nativeSrc":"278730:6:22","nodeType":"YulIdentifier","src":"278730:6:22"}],"functionName":{"name":"mstore","nativeSrc":"278718:6:22","nodeType":"YulIdentifier","src":"278718:6:22"},"nativeSrc":"278718:19:22","nodeType":"YulFunctionCall","src":"278718:19:22"},"nativeSrc":"278718:19:22","nodeType":"YulExpressionStatement","src":"278718:19:22"},{"nativeSrc":"278754:37:22","nodeType":"YulVariableDeclaration","src":"278754:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"278771:3:22","nodeType":"YulLiteral","src":"278771:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"278780:1:22","nodeType":"YulLiteral","src":"278780:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"278783:6:22","nodeType":"YulIdentifier","src":"278783:6:22"}],"functionName":{"name":"shl","nativeSrc":"278776:3:22","nodeType":"YulIdentifier","src":"278776:3:22"},"nativeSrc":"278776:14:22","nodeType":"YulFunctionCall","src":"278776:14:22"}],"functionName":{"name":"sub","nativeSrc":"278767:3:22","nodeType":"YulIdentifier","src":"278767:3:22"},"nativeSrc":"278767:24:22","nodeType":"YulFunctionCall","src":"278767:24:22"},"variables":[{"name":"shift","nativeSrc":"278758:5:22","nodeType":"YulTypedName","src":"278758:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"278819:3:22","nodeType":"YulIdentifier","src":"278819:3:22"},{"kind":"number","nativeSrc":"278824:4:22","nodeType":"YulLiteral","src":"278824:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"278815:3:22","nodeType":"YulIdentifier","src":"278815:3:22"},"nativeSrc":"278815:14:22","nodeType":"YulFunctionCall","src":"278815:14:22"},{"arguments":[{"name":"shift","nativeSrc":"278835:5:22","nodeType":"YulIdentifier","src":"278835:5:22"},{"arguments":[{"name":"shift","nativeSrc":"278846:5:22","nodeType":"YulIdentifier","src":"278846:5:22"},{"name":"w","nativeSrc":"278853:1:22","nodeType":"YulIdentifier","src":"278853:1:22"}],"functionName":{"name":"shr","nativeSrc":"278842:3:22","nodeType":"YulIdentifier","src":"278842:3:22"},"nativeSrc":"278842:13:22","nodeType":"YulFunctionCall","src":"278842:13:22"}],"functionName":{"name":"shl","nativeSrc":"278831:3:22","nodeType":"YulIdentifier","src":"278831:3:22"},"nativeSrc":"278831:25:22","nodeType":"YulFunctionCall","src":"278831:25:22"}],"functionName":{"name":"mstore","nativeSrc":"278808:6:22","nodeType":"YulIdentifier","src":"278808:6:22"},"nativeSrc":"278808:49:22","nodeType":"YulFunctionCall","src":"278808:49:22"},"nativeSrc":"278808:49:22","nodeType":"YulExpressionStatement","src":"278808:49:22"}]},"name":"writeString","nativeSrc":"278529:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"278550:3:22","nodeType":"YulTypedName","src":"278550:3:22","type":""},{"name":"w","nativeSrc":"278555:1:22","nodeType":"YulTypedName","src":"278555:1:22","type":""}],"src":"278529:342:22"},{"nativeSrc":"278884:17:22","nodeType":"YulAssignment","src":"278884:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"278896:4:22","nodeType":"YulLiteral","src":"278896:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"278890:5:22","nodeType":"YulIdentifier","src":"278890:5:22"},"nativeSrc":"278890:11:22","nodeType":"YulFunctionCall","src":"278890:11:22"},"variableNames":[{"name":"m0","nativeSrc":"278884:2:22","nodeType":"YulIdentifier","src":"278884:2:22"}]},{"nativeSrc":"278914:17:22","nodeType":"YulAssignment","src":"278914:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"278926:4:22","nodeType":"YulLiteral","src":"278926:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"278920:5:22","nodeType":"YulIdentifier","src":"278920:5:22"},"nativeSrc":"278920:11:22","nodeType":"YulFunctionCall","src":"278920:11:22"},"variableNames":[{"name":"m1","nativeSrc":"278914:2:22","nodeType":"YulIdentifier","src":"278914:2:22"}]},{"nativeSrc":"278944:17:22","nodeType":"YulAssignment","src":"278944:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"278956:4:22","nodeType":"YulLiteral","src":"278956:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"278950:5:22","nodeType":"YulIdentifier","src":"278950:5:22"},"nativeSrc":"278950:11:22","nodeType":"YulFunctionCall","src":"278950:11:22"},"variableNames":[{"name":"m2","nativeSrc":"278944:2:22","nodeType":"YulIdentifier","src":"278944:2:22"}]},{"nativeSrc":"278974:17:22","nodeType":"YulAssignment","src":"278974:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"278986:4:22","nodeType":"YulLiteral","src":"278986:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"278980:5:22","nodeType":"YulIdentifier","src":"278980:5:22"},"nativeSrc":"278980:11:22","nodeType":"YulFunctionCall","src":"278980:11:22"},"variableNames":[{"name":"m3","nativeSrc":"278974:2:22","nodeType":"YulIdentifier","src":"278974:2:22"}]},{"nativeSrc":"279004:17:22","nodeType":"YulAssignment","src":"279004:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"279016:4:22","nodeType":"YulLiteral","src":"279016:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"279010:5:22","nodeType":"YulIdentifier","src":"279010:5:22"},"nativeSrc":"279010:11:22","nodeType":"YulFunctionCall","src":"279010:11:22"},"variableNames":[{"name":"m4","nativeSrc":"279004:2:22","nodeType":"YulIdentifier","src":"279004:2:22"}]},{"nativeSrc":"279034:17:22","nodeType":"YulAssignment","src":"279034:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"279046:4:22","nodeType":"YulLiteral","src":"279046:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"279040:5:22","nodeType":"YulIdentifier","src":"279040:5:22"},"nativeSrc":"279040:11:22","nodeType":"YulFunctionCall","src":"279040:11:22"},"variableNames":[{"name":"m5","nativeSrc":"279034:2:22","nodeType":"YulIdentifier","src":"279034:2:22"}]},{"nativeSrc":"279064:17:22","nodeType":"YulAssignment","src":"279064:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"279076:4:22","nodeType":"YulLiteral","src":"279076:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"279070:5:22","nodeType":"YulIdentifier","src":"279070:5:22"},"nativeSrc":"279070:11:22","nodeType":"YulFunctionCall","src":"279070:11:22"},"variableNames":[{"name":"m6","nativeSrc":"279064:2:22","nodeType":"YulIdentifier","src":"279064:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279164:4:22","nodeType":"YulLiteral","src":"279164:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"279170:10:22","nodeType":"YulLiteral","src":"279170:10:22","type":"","value":"0xef529018"}],"functionName":{"name":"mstore","nativeSrc":"279157:6:22","nodeType":"YulIdentifier","src":"279157:6:22"},"nativeSrc":"279157:24:22","nodeType":"YulFunctionCall","src":"279157:24:22"},"nativeSrc":"279157:24:22","nodeType":"YulExpressionStatement","src":"279157:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279201:4:22","nodeType":"YulLiteral","src":"279201:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"279207:2:22","nodeType":"YulIdentifier","src":"279207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279194:6:22","nodeType":"YulIdentifier","src":"279194:6:22"},"nativeSrc":"279194:16:22","nodeType":"YulFunctionCall","src":"279194:16:22"},"nativeSrc":"279194:16:22","nodeType":"YulExpressionStatement","src":"279194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279230:4:22","nodeType":"YulLiteral","src":"279230:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"279236:2:22","nodeType":"YulIdentifier","src":"279236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279223:6:22","nodeType":"YulIdentifier","src":"279223:6:22"},"nativeSrc":"279223:16:22","nodeType":"YulFunctionCall","src":"279223:16:22"},"nativeSrc":"279223:16:22","nodeType":"YulExpressionStatement","src":"279223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279259:4:22","nodeType":"YulLiteral","src":"279259:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"279265:4:22","nodeType":"YulLiteral","src":"279265:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"279252:6:22","nodeType":"YulIdentifier","src":"279252:6:22"},"nativeSrc":"279252:18:22","nodeType":"YulFunctionCall","src":"279252:18:22"},"nativeSrc":"279252:18:22","nodeType":"YulExpressionStatement","src":"279252:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279290:4:22","nodeType":"YulLiteral","src":"279290:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"279296:2:22","nodeType":"YulIdentifier","src":"279296:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279283:6:22","nodeType":"YulIdentifier","src":"279283:6:22"},"nativeSrc":"279283:16:22","nodeType":"YulFunctionCall","src":"279283:16:22"},"nativeSrc":"279283:16:22","nodeType":"YulExpressionStatement","src":"279283:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279324:4:22","nodeType":"YulLiteral","src":"279324:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"279330:2:22","nodeType":"YulIdentifier","src":"279330:2:22"}],"functionName":{"name":"writeString","nativeSrc":"279312:11:22","nodeType":"YulIdentifier","src":"279312:11:22"},"nativeSrc":"279312:21:22","nodeType":"YulFunctionCall","src":"279312:21:22"},"nativeSrc":"279312:21:22","nodeType":"YulExpressionStatement","src":"279312:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40143,"isOffset":false,"isSlot":false,"src":"278884:2:22","valueSize":1},{"declaration":40146,"isOffset":false,"isSlot":false,"src":"278914:2:22","valueSize":1},{"declaration":40149,"isOffset":false,"isSlot":false,"src":"278944:2:22","valueSize":1},{"declaration":40152,"isOffset":false,"isSlot":false,"src":"278974:2:22","valueSize":1},{"declaration":40155,"isOffset":false,"isSlot":false,"src":"279004:2:22","valueSize":1},{"declaration":40158,"isOffset":false,"isSlot":false,"src":"279034:2:22","valueSize":1},{"declaration":40161,"isOffset":false,"isSlot":false,"src":"279064:2:22","valueSize":1},{"declaration":40133,"isOffset":false,"isSlot":false,"src":"279207:2:22","valueSize":1},{"declaration":40135,"isOffset":false,"isSlot":false,"src":"279236:2:22","valueSize":1},{"declaration":40137,"isOffset":false,"isSlot":false,"src":"279330:2:22","valueSize":1},{"declaration":40139,"isOffset":false,"isSlot":false,"src":"279296:2:22","valueSize":1}],"id":40163,"nodeType":"InlineAssembly","src":"278506:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279368:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279374:4:22","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":40164,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"279352:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"279352:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40168,"nodeType":"ExpressionStatement","src":"279352:27:22"},{"AST":{"nativeSrc":"279441:214:22","nodeType":"YulBlock","src":"279441:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"279462:4:22","nodeType":"YulLiteral","src":"279462:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"279468:2:22","nodeType":"YulIdentifier","src":"279468:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279455:6:22","nodeType":"YulIdentifier","src":"279455:6:22"},"nativeSrc":"279455:16:22","nodeType":"YulFunctionCall","src":"279455:16:22"},"nativeSrc":"279455:16:22","nodeType":"YulExpressionStatement","src":"279455:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279491:4:22","nodeType":"YulLiteral","src":"279491:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"279497:2:22","nodeType":"YulIdentifier","src":"279497:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279484:6:22","nodeType":"YulIdentifier","src":"279484:6:22"},"nativeSrc":"279484:16:22","nodeType":"YulFunctionCall","src":"279484:16:22"},"nativeSrc":"279484:16:22","nodeType":"YulExpressionStatement","src":"279484:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279520:4:22","nodeType":"YulLiteral","src":"279520:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"279526:2:22","nodeType":"YulIdentifier","src":"279526:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279513:6:22","nodeType":"YulIdentifier","src":"279513:6:22"},"nativeSrc":"279513:16:22","nodeType":"YulFunctionCall","src":"279513:16:22"},"nativeSrc":"279513:16:22","nodeType":"YulExpressionStatement","src":"279513:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279549:4:22","nodeType":"YulLiteral","src":"279549:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"279555:2:22","nodeType":"YulIdentifier","src":"279555:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279542:6:22","nodeType":"YulIdentifier","src":"279542:6:22"},"nativeSrc":"279542:16:22","nodeType":"YulFunctionCall","src":"279542:16:22"},"nativeSrc":"279542:16:22","nodeType":"YulExpressionStatement","src":"279542:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279578:4:22","nodeType":"YulLiteral","src":"279578:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"279584:2:22","nodeType":"YulIdentifier","src":"279584:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279571:6:22","nodeType":"YulIdentifier","src":"279571:6:22"},"nativeSrc":"279571:16:22","nodeType":"YulFunctionCall","src":"279571:16:22"},"nativeSrc":"279571:16:22","nodeType":"YulExpressionStatement","src":"279571:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279607:4:22","nodeType":"YulLiteral","src":"279607:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"279613:2:22","nodeType":"YulIdentifier","src":"279613:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279600:6:22","nodeType":"YulIdentifier","src":"279600:6:22"},"nativeSrc":"279600:16:22","nodeType":"YulFunctionCall","src":"279600:16:22"},"nativeSrc":"279600:16:22","nodeType":"YulExpressionStatement","src":"279600:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279636:4:22","nodeType":"YulLiteral","src":"279636:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"279642:2:22","nodeType":"YulIdentifier","src":"279642:2:22"}],"functionName":{"name":"mstore","nativeSrc":"279629:6:22","nodeType":"YulIdentifier","src":"279629:6:22"},"nativeSrc":"279629:16:22","nodeType":"YulFunctionCall","src":"279629:16:22"},"nativeSrc":"279629:16:22","nodeType":"YulExpressionStatement","src":"279629:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40143,"isOffset":false,"isSlot":false,"src":"279468:2:22","valueSize":1},{"declaration":40146,"isOffset":false,"isSlot":false,"src":"279497:2:22","valueSize":1},{"declaration":40149,"isOffset":false,"isSlot":false,"src":"279526:2:22","valueSize":1},{"declaration":40152,"isOffset":false,"isSlot":false,"src":"279555:2:22","valueSize":1},{"declaration":40155,"isOffset":false,"isSlot":false,"src":"279584:2:22","valueSize":1},{"declaration":40158,"isOffset":false,"isSlot":false,"src":"279613:2:22","valueSize":1},{"declaration":40161,"isOffset":false,"isSlot":false,"src":"279642:2:22","valueSize":1}],"id":40169,"nodeType":"InlineAssembly","src":"279432:223:22"}]},"id":40171,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"278250:3:22","nodeType":"FunctionDefinition","parameters":{"id":40140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40133,"mutability":"mutable","name":"p0","nameLocation":"278262:2:22","nodeType":"VariableDeclaration","scope":40171,"src":"278254:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40132,"name":"uint256","nodeType":"ElementaryTypeName","src":"278254:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40135,"mutability":"mutable","name":"p1","nameLocation":"278271:2:22","nodeType":"VariableDeclaration","scope":40171,"src":"278266:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40134,"name":"bool","nodeType":"ElementaryTypeName","src":"278266:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40137,"mutability":"mutable","name":"p2","nameLocation":"278283:2:22","nodeType":"VariableDeclaration","scope":40171,"src":"278275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278275:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40139,"mutability":"mutable","name":"p3","nameLocation":"278295:2:22","nodeType":"VariableDeclaration","scope":40171,"src":"278287:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40138,"name":"address","nodeType":"ElementaryTypeName","src":"278287:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"278253:45:22"},"returnParameters":{"id":40141,"nodeType":"ParameterList","parameters":[],"src":"278313:0:22"},"scope":44426,"src":"278241:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40210,"nodeType":"Block","src":"279736:1345:22","statements":[{"assignments":[40183],"declarations":[{"constant":false,"id":40183,"mutability":"mutable","name":"m0","nameLocation":"279754:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279746:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279746:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40184,"nodeType":"VariableDeclarationStatement","src":"279746:10:22"},{"assignments":[40186],"declarations":[{"constant":false,"id":40186,"mutability":"mutable","name":"m1","nameLocation":"279774:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40187,"nodeType":"VariableDeclarationStatement","src":"279766:10:22"},{"assignments":[40189],"declarations":[{"constant":false,"id":40189,"mutability":"mutable","name":"m2","nameLocation":"279794:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40190,"nodeType":"VariableDeclarationStatement","src":"279786:10:22"},{"assignments":[40192],"declarations":[{"constant":false,"id":40192,"mutability":"mutable","name":"m3","nameLocation":"279814:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40193,"nodeType":"VariableDeclarationStatement","src":"279806:10:22"},{"assignments":[40195],"declarations":[{"constant":false,"id":40195,"mutability":"mutable","name":"m4","nameLocation":"279834:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279826:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40196,"nodeType":"VariableDeclarationStatement","src":"279826:10:22"},{"assignments":[40198],"declarations":[{"constant":false,"id":40198,"mutability":"mutable","name":"m5","nameLocation":"279854:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40199,"nodeType":"VariableDeclarationStatement","src":"279846:10:22"},{"assignments":[40201],"declarations":[{"constant":false,"id":40201,"mutability":"mutable","name":"m6","nameLocation":"279874:2:22","nodeType":"VariableDeclaration","scope":40210,"src":"279866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40202,"nodeType":"VariableDeclarationStatement","src":"279866:10:22"},{"AST":{"nativeSrc":"279938:825:22","nodeType":"YulBlock","src":"279938:825:22","statements":[{"body":{"nativeSrc":"279981:313:22","nodeType":"YulBlock","src":"279981:313:22","statements":[{"nativeSrc":"279999:15:22","nodeType":"YulVariableDeclaration","src":"279999:15:22","value":{"kind":"number","nativeSrc":"280013:1:22","nodeType":"YulLiteral","src":"280013:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"280003:6:22","nodeType":"YulTypedName","src":"280003:6:22","type":""}]},{"body":{"nativeSrc":"280084:40:22","nodeType":"YulBlock","src":"280084:40:22","statements":[{"body":{"nativeSrc":"280113:9:22","nodeType":"YulBlock","src":"280113:9:22","statements":[{"nativeSrc":"280115:5:22","nodeType":"YulBreak","src":"280115:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"280101:6:22","nodeType":"YulIdentifier","src":"280101:6:22"},{"name":"w","nativeSrc":"280109:1:22","nodeType":"YulIdentifier","src":"280109:1:22"}],"functionName":{"name":"byte","nativeSrc":"280096:4:22","nodeType":"YulIdentifier","src":"280096:4:22"},"nativeSrc":"280096:15:22","nodeType":"YulFunctionCall","src":"280096:15:22"}],"functionName":{"name":"iszero","nativeSrc":"280089:6:22","nodeType":"YulIdentifier","src":"280089:6:22"},"nativeSrc":"280089:23:22","nodeType":"YulFunctionCall","src":"280089:23:22"},"nativeSrc":"280086:36:22","nodeType":"YulIf","src":"280086:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"280041:6:22","nodeType":"YulIdentifier","src":"280041:6:22"},{"kind":"number","nativeSrc":"280049:4:22","nodeType":"YulLiteral","src":"280049:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"280038:2:22","nodeType":"YulIdentifier","src":"280038:2:22"},"nativeSrc":"280038:16:22","nodeType":"YulFunctionCall","src":"280038:16:22"},"nativeSrc":"280031:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"280055:28:22","nodeType":"YulBlock","src":"280055:28:22","statements":[{"nativeSrc":"280057:24:22","nodeType":"YulAssignment","src":"280057:24:22","value":{"arguments":[{"name":"length","nativeSrc":"280071:6:22","nodeType":"YulIdentifier","src":"280071:6:22"},{"kind":"number","nativeSrc":"280079:1:22","nodeType":"YulLiteral","src":"280079:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"280067:3:22","nodeType":"YulIdentifier","src":"280067:3:22"},"nativeSrc":"280067:14:22","nodeType":"YulFunctionCall","src":"280067:14:22"},"variableNames":[{"name":"length","nativeSrc":"280057:6:22","nodeType":"YulIdentifier","src":"280057:6:22"}]}]},"pre":{"nativeSrc":"280035:2:22","nodeType":"YulBlock","src":"280035:2:22","statements":[]},"src":"280031:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"280148:3:22","nodeType":"YulIdentifier","src":"280148:3:22"},{"name":"length","nativeSrc":"280153:6:22","nodeType":"YulIdentifier","src":"280153:6:22"}],"functionName":{"name":"mstore","nativeSrc":"280141:6:22","nodeType":"YulIdentifier","src":"280141:6:22"},"nativeSrc":"280141:19:22","nodeType":"YulFunctionCall","src":"280141:19:22"},"nativeSrc":"280141:19:22","nodeType":"YulExpressionStatement","src":"280141:19:22"},{"nativeSrc":"280177:37:22","nodeType":"YulVariableDeclaration","src":"280177:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"280194:3:22","nodeType":"YulLiteral","src":"280194:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"280203:1:22","nodeType":"YulLiteral","src":"280203:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"280206:6:22","nodeType":"YulIdentifier","src":"280206:6:22"}],"functionName":{"name":"shl","nativeSrc":"280199:3:22","nodeType":"YulIdentifier","src":"280199:3:22"},"nativeSrc":"280199:14:22","nodeType":"YulFunctionCall","src":"280199:14:22"}],"functionName":{"name":"sub","nativeSrc":"280190:3:22","nodeType":"YulIdentifier","src":"280190:3:22"},"nativeSrc":"280190:24:22","nodeType":"YulFunctionCall","src":"280190:24:22"},"variables":[{"name":"shift","nativeSrc":"280181:5:22","nodeType":"YulTypedName","src":"280181:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"280242:3:22","nodeType":"YulIdentifier","src":"280242:3:22"},{"kind":"number","nativeSrc":"280247:4:22","nodeType":"YulLiteral","src":"280247:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"280238:3:22","nodeType":"YulIdentifier","src":"280238:3:22"},"nativeSrc":"280238:14:22","nodeType":"YulFunctionCall","src":"280238:14:22"},{"arguments":[{"name":"shift","nativeSrc":"280258:5:22","nodeType":"YulIdentifier","src":"280258:5:22"},{"arguments":[{"name":"shift","nativeSrc":"280269:5:22","nodeType":"YulIdentifier","src":"280269:5:22"},{"name":"w","nativeSrc":"280276:1:22","nodeType":"YulIdentifier","src":"280276:1:22"}],"functionName":{"name":"shr","nativeSrc":"280265:3:22","nodeType":"YulIdentifier","src":"280265:3:22"},"nativeSrc":"280265:13:22","nodeType":"YulFunctionCall","src":"280265:13:22"}],"functionName":{"name":"shl","nativeSrc":"280254:3:22","nodeType":"YulIdentifier","src":"280254:3:22"},"nativeSrc":"280254:25:22","nodeType":"YulFunctionCall","src":"280254:25:22"}],"functionName":{"name":"mstore","nativeSrc":"280231:6:22","nodeType":"YulIdentifier","src":"280231:6:22"},"nativeSrc":"280231:49:22","nodeType":"YulFunctionCall","src":"280231:49:22"},"nativeSrc":"280231:49:22","nodeType":"YulExpressionStatement","src":"280231:49:22"}]},"name":"writeString","nativeSrc":"279952:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"279973:3:22","nodeType":"YulTypedName","src":"279973:3:22","type":""},{"name":"w","nativeSrc":"279978:1:22","nodeType":"YulTypedName","src":"279978:1:22","type":""}],"src":"279952:342:22"},{"nativeSrc":"280307:17:22","nodeType":"YulAssignment","src":"280307:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280319:4:22","nodeType":"YulLiteral","src":"280319:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"280313:5:22","nodeType":"YulIdentifier","src":"280313:5:22"},"nativeSrc":"280313:11:22","nodeType":"YulFunctionCall","src":"280313:11:22"},"variableNames":[{"name":"m0","nativeSrc":"280307:2:22","nodeType":"YulIdentifier","src":"280307:2:22"}]},{"nativeSrc":"280337:17:22","nodeType":"YulAssignment","src":"280337:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280349:4:22","nodeType":"YulLiteral","src":"280349:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"280343:5:22","nodeType":"YulIdentifier","src":"280343:5:22"},"nativeSrc":"280343:11:22","nodeType":"YulFunctionCall","src":"280343:11:22"},"variableNames":[{"name":"m1","nativeSrc":"280337:2:22","nodeType":"YulIdentifier","src":"280337:2:22"}]},{"nativeSrc":"280367:17:22","nodeType":"YulAssignment","src":"280367:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280379:4:22","nodeType":"YulLiteral","src":"280379:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"280373:5:22","nodeType":"YulIdentifier","src":"280373:5:22"},"nativeSrc":"280373:11:22","nodeType":"YulFunctionCall","src":"280373:11:22"},"variableNames":[{"name":"m2","nativeSrc":"280367:2:22","nodeType":"YulIdentifier","src":"280367:2:22"}]},{"nativeSrc":"280397:17:22","nodeType":"YulAssignment","src":"280397:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280409:4:22","nodeType":"YulLiteral","src":"280409:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"280403:5:22","nodeType":"YulIdentifier","src":"280403:5:22"},"nativeSrc":"280403:11:22","nodeType":"YulFunctionCall","src":"280403:11:22"},"variableNames":[{"name":"m3","nativeSrc":"280397:2:22","nodeType":"YulIdentifier","src":"280397:2:22"}]},{"nativeSrc":"280427:17:22","nodeType":"YulAssignment","src":"280427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280439:4:22","nodeType":"YulLiteral","src":"280439:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"280433:5:22","nodeType":"YulIdentifier","src":"280433:5:22"},"nativeSrc":"280433:11:22","nodeType":"YulFunctionCall","src":"280433:11:22"},"variableNames":[{"name":"m4","nativeSrc":"280427:2:22","nodeType":"YulIdentifier","src":"280427:2:22"}]},{"nativeSrc":"280457:17:22","nodeType":"YulAssignment","src":"280457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280469:4:22","nodeType":"YulLiteral","src":"280469:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"280463:5:22","nodeType":"YulIdentifier","src":"280463:5:22"},"nativeSrc":"280463:11:22","nodeType":"YulFunctionCall","src":"280463:11:22"},"variableNames":[{"name":"m5","nativeSrc":"280457:2:22","nodeType":"YulIdentifier","src":"280457:2:22"}]},{"nativeSrc":"280487:17:22","nodeType":"YulAssignment","src":"280487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"280499:4:22","nodeType":"YulLiteral","src":"280499:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"280493:5:22","nodeType":"YulIdentifier","src":"280493:5:22"},"nativeSrc":"280493:11:22","nodeType":"YulFunctionCall","src":"280493:11:22"},"variableNames":[{"name":"m6","nativeSrc":"280487:2:22","nodeType":"YulIdentifier","src":"280487:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280584:4:22","nodeType":"YulLiteral","src":"280584:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"280590:10:22","nodeType":"YulLiteral","src":"280590:10:22","type":"","value":"0xeb928d7f"}],"functionName":{"name":"mstore","nativeSrc":"280577:6:22","nodeType":"YulIdentifier","src":"280577:6:22"},"nativeSrc":"280577:24:22","nodeType":"YulFunctionCall","src":"280577:24:22"},"nativeSrc":"280577:24:22","nodeType":"YulExpressionStatement","src":"280577:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280621:4:22","nodeType":"YulLiteral","src":"280621:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"280627:2:22","nodeType":"YulIdentifier","src":"280627:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280614:6:22","nodeType":"YulIdentifier","src":"280614:6:22"},"nativeSrc":"280614:16:22","nodeType":"YulFunctionCall","src":"280614:16:22"},"nativeSrc":"280614:16:22","nodeType":"YulExpressionStatement","src":"280614:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280650:4:22","nodeType":"YulLiteral","src":"280650:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"280656:2:22","nodeType":"YulIdentifier","src":"280656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280643:6:22","nodeType":"YulIdentifier","src":"280643:6:22"},"nativeSrc":"280643:16:22","nodeType":"YulFunctionCall","src":"280643:16:22"},"nativeSrc":"280643:16:22","nodeType":"YulExpressionStatement","src":"280643:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280679:4:22","nodeType":"YulLiteral","src":"280679:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"280685:4:22","nodeType":"YulLiteral","src":"280685:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"280672:6:22","nodeType":"YulIdentifier","src":"280672:6:22"},"nativeSrc":"280672:18:22","nodeType":"YulFunctionCall","src":"280672:18:22"},"nativeSrc":"280672:18:22","nodeType":"YulExpressionStatement","src":"280672:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280710:4:22","nodeType":"YulLiteral","src":"280710:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"280716:2:22","nodeType":"YulIdentifier","src":"280716:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280703:6:22","nodeType":"YulIdentifier","src":"280703:6:22"},"nativeSrc":"280703:16:22","nodeType":"YulFunctionCall","src":"280703:16:22"},"nativeSrc":"280703:16:22","nodeType":"YulExpressionStatement","src":"280703:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280744:4:22","nodeType":"YulLiteral","src":"280744:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"280750:2:22","nodeType":"YulIdentifier","src":"280750:2:22"}],"functionName":{"name":"writeString","nativeSrc":"280732:11:22","nodeType":"YulIdentifier","src":"280732:11:22"},"nativeSrc":"280732:21:22","nodeType":"YulFunctionCall","src":"280732:21:22"},"nativeSrc":"280732:21:22","nodeType":"YulExpressionStatement","src":"280732:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40183,"isOffset":false,"isSlot":false,"src":"280307:2:22","valueSize":1},{"declaration":40186,"isOffset":false,"isSlot":false,"src":"280337:2:22","valueSize":1},{"declaration":40189,"isOffset":false,"isSlot":false,"src":"280367:2:22","valueSize":1},{"declaration":40192,"isOffset":false,"isSlot":false,"src":"280397:2:22","valueSize":1},{"declaration":40195,"isOffset":false,"isSlot":false,"src":"280427:2:22","valueSize":1},{"declaration":40198,"isOffset":false,"isSlot":false,"src":"280457:2:22","valueSize":1},{"declaration":40201,"isOffset":false,"isSlot":false,"src":"280487:2:22","valueSize":1},{"declaration":40173,"isOffset":false,"isSlot":false,"src":"280627:2:22","valueSize":1},{"declaration":40175,"isOffset":false,"isSlot":false,"src":"280656:2:22","valueSize":1},{"declaration":40177,"isOffset":false,"isSlot":false,"src":"280750:2:22","valueSize":1},{"declaration":40179,"isOffset":false,"isSlot":false,"src":"280716:2:22","valueSize":1}],"id":40203,"nodeType":"InlineAssembly","src":"279929:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280788:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280794:4:22","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":40204,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"280772:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"280772:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40208,"nodeType":"ExpressionStatement","src":"280772:27:22"},{"AST":{"nativeSrc":"280861:214:22","nodeType":"YulBlock","src":"280861:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"280882:4:22","nodeType":"YulLiteral","src":"280882:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"280888:2:22","nodeType":"YulIdentifier","src":"280888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280875:6:22","nodeType":"YulIdentifier","src":"280875:6:22"},"nativeSrc":"280875:16:22","nodeType":"YulFunctionCall","src":"280875:16:22"},"nativeSrc":"280875:16:22","nodeType":"YulExpressionStatement","src":"280875:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280911:4:22","nodeType":"YulLiteral","src":"280911:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"280917:2:22","nodeType":"YulIdentifier","src":"280917:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280904:6:22","nodeType":"YulIdentifier","src":"280904:6:22"},"nativeSrc":"280904:16:22","nodeType":"YulFunctionCall","src":"280904:16:22"},"nativeSrc":"280904:16:22","nodeType":"YulExpressionStatement","src":"280904:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280940:4:22","nodeType":"YulLiteral","src":"280940:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"280946:2:22","nodeType":"YulIdentifier","src":"280946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280933:6:22","nodeType":"YulIdentifier","src":"280933:6:22"},"nativeSrc":"280933:16:22","nodeType":"YulFunctionCall","src":"280933:16:22"},"nativeSrc":"280933:16:22","nodeType":"YulExpressionStatement","src":"280933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280969:4:22","nodeType":"YulLiteral","src":"280969:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"280975:2:22","nodeType":"YulIdentifier","src":"280975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280962:6:22","nodeType":"YulIdentifier","src":"280962:6:22"},"nativeSrc":"280962:16:22","nodeType":"YulFunctionCall","src":"280962:16:22"},"nativeSrc":"280962:16:22","nodeType":"YulExpressionStatement","src":"280962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280998:4:22","nodeType":"YulLiteral","src":"280998:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"281004:2:22","nodeType":"YulIdentifier","src":"281004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"280991:6:22","nodeType":"YulIdentifier","src":"280991:6:22"},"nativeSrc":"280991:16:22","nodeType":"YulFunctionCall","src":"280991:16:22"},"nativeSrc":"280991:16:22","nodeType":"YulExpressionStatement","src":"280991:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281027:4:22","nodeType":"YulLiteral","src":"281027:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"281033:2:22","nodeType":"YulIdentifier","src":"281033:2:22"}],"functionName":{"name":"mstore","nativeSrc":"281020:6:22","nodeType":"YulIdentifier","src":"281020:6:22"},"nativeSrc":"281020:16:22","nodeType":"YulFunctionCall","src":"281020:16:22"},"nativeSrc":"281020:16:22","nodeType":"YulExpressionStatement","src":"281020:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281056:4:22","nodeType":"YulLiteral","src":"281056:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"281062:2:22","nodeType":"YulIdentifier","src":"281062:2:22"}],"functionName":{"name":"mstore","nativeSrc":"281049:6:22","nodeType":"YulIdentifier","src":"281049:6:22"},"nativeSrc":"281049:16:22","nodeType":"YulFunctionCall","src":"281049:16:22"},"nativeSrc":"281049:16:22","nodeType":"YulExpressionStatement","src":"281049:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40183,"isOffset":false,"isSlot":false,"src":"280888:2:22","valueSize":1},{"declaration":40186,"isOffset":false,"isSlot":false,"src":"280917:2:22","valueSize":1},{"declaration":40189,"isOffset":false,"isSlot":false,"src":"280946:2:22","valueSize":1},{"declaration":40192,"isOffset":false,"isSlot":false,"src":"280975:2:22","valueSize":1},{"declaration":40195,"isOffset":false,"isSlot":false,"src":"281004:2:22","valueSize":1},{"declaration":40198,"isOffset":false,"isSlot":false,"src":"281033:2:22","valueSize":1},{"declaration":40201,"isOffset":false,"isSlot":false,"src":"281062:2:22","valueSize":1}],"id":40209,"nodeType":"InlineAssembly","src":"280852:223:22"}]},"id":40211,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"279676:3:22","nodeType":"FunctionDefinition","parameters":{"id":40180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40173,"mutability":"mutable","name":"p0","nameLocation":"279688:2:22","nodeType":"VariableDeclaration","scope":40211,"src":"279680:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40172,"name":"uint256","nodeType":"ElementaryTypeName","src":"279680:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40175,"mutability":"mutable","name":"p1","nameLocation":"279697:2:22","nodeType":"VariableDeclaration","scope":40211,"src":"279692:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40174,"name":"bool","nodeType":"ElementaryTypeName","src":"279692:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40177,"mutability":"mutable","name":"p2","nameLocation":"279709:2:22","nodeType":"VariableDeclaration","scope":40211,"src":"279701:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279701:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40179,"mutability":"mutable","name":"p3","nameLocation":"279718:2:22","nodeType":"VariableDeclaration","scope":40211,"src":"279713:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40178,"name":"bool","nodeType":"ElementaryTypeName","src":"279713:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"279679:42:22"},"returnParameters":{"id":40181,"nodeType":"ParameterList","parameters":[],"src":"279736:0:22"},"scope":44426,"src":"279667:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40250,"nodeType":"Block","src":"281159:1348:22","statements":[{"assignments":[40223],"declarations":[{"constant":false,"id":40223,"mutability":"mutable","name":"m0","nameLocation":"281177:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281169:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281169:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40224,"nodeType":"VariableDeclarationStatement","src":"281169:10:22"},{"assignments":[40226],"declarations":[{"constant":false,"id":40226,"mutability":"mutable","name":"m1","nameLocation":"281197:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281189:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281189:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40227,"nodeType":"VariableDeclarationStatement","src":"281189:10:22"},{"assignments":[40229],"declarations":[{"constant":false,"id":40229,"mutability":"mutable","name":"m2","nameLocation":"281217:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281209:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281209:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40230,"nodeType":"VariableDeclarationStatement","src":"281209:10:22"},{"assignments":[40232],"declarations":[{"constant":false,"id":40232,"mutability":"mutable","name":"m3","nameLocation":"281237:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281229:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281229:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40233,"nodeType":"VariableDeclarationStatement","src":"281229:10:22"},{"assignments":[40235],"declarations":[{"constant":false,"id":40235,"mutability":"mutable","name":"m4","nameLocation":"281257:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281249:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281249:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40236,"nodeType":"VariableDeclarationStatement","src":"281249:10:22"},{"assignments":[40238],"declarations":[{"constant":false,"id":40238,"mutability":"mutable","name":"m5","nameLocation":"281277:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281269:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281269:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40239,"nodeType":"VariableDeclarationStatement","src":"281269:10:22"},{"assignments":[40241],"declarations":[{"constant":false,"id":40241,"mutability":"mutable","name":"m6","nameLocation":"281297:2:22","nodeType":"VariableDeclaration","scope":40250,"src":"281289:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281289:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40242,"nodeType":"VariableDeclarationStatement","src":"281289:10:22"},{"AST":{"nativeSrc":"281361:828:22","nodeType":"YulBlock","src":"281361:828:22","statements":[{"body":{"nativeSrc":"281404:313:22","nodeType":"YulBlock","src":"281404:313:22","statements":[{"nativeSrc":"281422:15:22","nodeType":"YulVariableDeclaration","src":"281422:15:22","value":{"kind":"number","nativeSrc":"281436:1:22","nodeType":"YulLiteral","src":"281436:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"281426:6:22","nodeType":"YulTypedName","src":"281426:6:22","type":""}]},{"body":{"nativeSrc":"281507:40:22","nodeType":"YulBlock","src":"281507:40:22","statements":[{"body":{"nativeSrc":"281536:9:22","nodeType":"YulBlock","src":"281536:9:22","statements":[{"nativeSrc":"281538:5:22","nodeType":"YulBreak","src":"281538:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"281524:6:22","nodeType":"YulIdentifier","src":"281524:6:22"},{"name":"w","nativeSrc":"281532:1:22","nodeType":"YulIdentifier","src":"281532:1:22"}],"functionName":{"name":"byte","nativeSrc":"281519:4:22","nodeType":"YulIdentifier","src":"281519:4:22"},"nativeSrc":"281519:15:22","nodeType":"YulFunctionCall","src":"281519:15:22"}],"functionName":{"name":"iszero","nativeSrc":"281512:6:22","nodeType":"YulIdentifier","src":"281512:6:22"},"nativeSrc":"281512:23:22","nodeType":"YulFunctionCall","src":"281512:23:22"},"nativeSrc":"281509:36:22","nodeType":"YulIf","src":"281509:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"281464:6:22","nodeType":"YulIdentifier","src":"281464:6:22"},{"kind":"number","nativeSrc":"281472:4:22","nodeType":"YulLiteral","src":"281472:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"281461:2:22","nodeType":"YulIdentifier","src":"281461:2:22"},"nativeSrc":"281461:16:22","nodeType":"YulFunctionCall","src":"281461:16:22"},"nativeSrc":"281454:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"281478:28:22","nodeType":"YulBlock","src":"281478:28:22","statements":[{"nativeSrc":"281480:24:22","nodeType":"YulAssignment","src":"281480:24:22","value":{"arguments":[{"name":"length","nativeSrc":"281494:6:22","nodeType":"YulIdentifier","src":"281494:6:22"},{"kind":"number","nativeSrc":"281502:1:22","nodeType":"YulLiteral","src":"281502:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"281490:3:22","nodeType":"YulIdentifier","src":"281490:3:22"},"nativeSrc":"281490:14:22","nodeType":"YulFunctionCall","src":"281490:14:22"},"variableNames":[{"name":"length","nativeSrc":"281480:6:22","nodeType":"YulIdentifier","src":"281480:6:22"}]}]},"pre":{"nativeSrc":"281458:2:22","nodeType":"YulBlock","src":"281458:2:22","statements":[]},"src":"281454:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"281571:3:22","nodeType":"YulIdentifier","src":"281571:3:22"},{"name":"length","nativeSrc":"281576:6:22","nodeType":"YulIdentifier","src":"281576:6:22"}],"functionName":{"name":"mstore","nativeSrc":"281564:6:22","nodeType":"YulIdentifier","src":"281564:6:22"},"nativeSrc":"281564:19:22","nodeType":"YulFunctionCall","src":"281564:19:22"},"nativeSrc":"281564:19:22","nodeType":"YulExpressionStatement","src":"281564:19:22"},{"nativeSrc":"281600:37:22","nodeType":"YulVariableDeclaration","src":"281600:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"281617:3:22","nodeType":"YulLiteral","src":"281617:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"281626:1:22","nodeType":"YulLiteral","src":"281626:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"281629:6:22","nodeType":"YulIdentifier","src":"281629:6:22"}],"functionName":{"name":"shl","nativeSrc":"281622:3:22","nodeType":"YulIdentifier","src":"281622:3:22"},"nativeSrc":"281622:14:22","nodeType":"YulFunctionCall","src":"281622:14:22"}],"functionName":{"name":"sub","nativeSrc":"281613:3:22","nodeType":"YulIdentifier","src":"281613:3:22"},"nativeSrc":"281613:24:22","nodeType":"YulFunctionCall","src":"281613:24:22"},"variables":[{"name":"shift","nativeSrc":"281604:5:22","nodeType":"YulTypedName","src":"281604:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"281665:3:22","nodeType":"YulIdentifier","src":"281665:3:22"},{"kind":"number","nativeSrc":"281670:4:22","nodeType":"YulLiteral","src":"281670:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"281661:3:22","nodeType":"YulIdentifier","src":"281661:3:22"},"nativeSrc":"281661:14:22","nodeType":"YulFunctionCall","src":"281661:14:22"},{"arguments":[{"name":"shift","nativeSrc":"281681:5:22","nodeType":"YulIdentifier","src":"281681:5:22"},{"arguments":[{"name":"shift","nativeSrc":"281692:5:22","nodeType":"YulIdentifier","src":"281692:5:22"},{"name":"w","nativeSrc":"281699:1:22","nodeType":"YulIdentifier","src":"281699:1:22"}],"functionName":{"name":"shr","nativeSrc":"281688:3:22","nodeType":"YulIdentifier","src":"281688:3:22"},"nativeSrc":"281688:13:22","nodeType":"YulFunctionCall","src":"281688:13:22"}],"functionName":{"name":"shl","nativeSrc":"281677:3:22","nodeType":"YulIdentifier","src":"281677:3:22"},"nativeSrc":"281677:25:22","nodeType":"YulFunctionCall","src":"281677:25:22"}],"functionName":{"name":"mstore","nativeSrc":"281654:6:22","nodeType":"YulIdentifier","src":"281654:6:22"},"nativeSrc":"281654:49:22","nodeType":"YulFunctionCall","src":"281654:49:22"},"nativeSrc":"281654:49:22","nodeType":"YulExpressionStatement","src":"281654:49:22"}]},"name":"writeString","nativeSrc":"281375:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"281396:3:22","nodeType":"YulTypedName","src":"281396:3:22","type":""},{"name":"w","nativeSrc":"281401:1:22","nodeType":"YulTypedName","src":"281401:1:22","type":""}],"src":"281375:342:22"},{"nativeSrc":"281730:17:22","nodeType":"YulAssignment","src":"281730:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281742:4:22","nodeType":"YulLiteral","src":"281742:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"281736:5:22","nodeType":"YulIdentifier","src":"281736:5:22"},"nativeSrc":"281736:11:22","nodeType":"YulFunctionCall","src":"281736:11:22"},"variableNames":[{"name":"m0","nativeSrc":"281730:2:22","nodeType":"YulIdentifier","src":"281730:2:22"}]},{"nativeSrc":"281760:17:22","nodeType":"YulAssignment","src":"281760:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281772:4:22","nodeType":"YulLiteral","src":"281772:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"281766:5:22","nodeType":"YulIdentifier","src":"281766:5:22"},"nativeSrc":"281766:11:22","nodeType":"YulFunctionCall","src":"281766:11:22"},"variableNames":[{"name":"m1","nativeSrc":"281760:2:22","nodeType":"YulIdentifier","src":"281760:2:22"}]},{"nativeSrc":"281790:17:22","nodeType":"YulAssignment","src":"281790:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281802:4:22","nodeType":"YulLiteral","src":"281802:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"281796:5:22","nodeType":"YulIdentifier","src":"281796:5:22"},"nativeSrc":"281796:11:22","nodeType":"YulFunctionCall","src":"281796:11:22"},"variableNames":[{"name":"m2","nativeSrc":"281790:2:22","nodeType":"YulIdentifier","src":"281790:2:22"}]},{"nativeSrc":"281820:17:22","nodeType":"YulAssignment","src":"281820:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281832:4:22","nodeType":"YulLiteral","src":"281832:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"281826:5:22","nodeType":"YulIdentifier","src":"281826:5:22"},"nativeSrc":"281826:11:22","nodeType":"YulFunctionCall","src":"281826:11:22"},"variableNames":[{"name":"m3","nativeSrc":"281820:2:22","nodeType":"YulIdentifier","src":"281820:2:22"}]},{"nativeSrc":"281850:17:22","nodeType":"YulAssignment","src":"281850:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281862:4:22","nodeType":"YulLiteral","src":"281862:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"281856:5:22","nodeType":"YulIdentifier","src":"281856:5:22"},"nativeSrc":"281856:11:22","nodeType":"YulFunctionCall","src":"281856:11:22"},"variableNames":[{"name":"m4","nativeSrc":"281850:2:22","nodeType":"YulIdentifier","src":"281850:2:22"}]},{"nativeSrc":"281880:17:22","nodeType":"YulAssignment","src":"281880:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281892:4:22","nodeType":"YulLiteral","src":"281892:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"281886:5:22","nodeType":"YulIdentifier","src":"281886:5:22"},"nativeSrc":"281886:11:22","nodeType":"YulFunctionCall","src":"281886:11:22"},"variableNames":[{"name":"m5","nativeSrc":"281880:2:22","nodeType":"YulIdentifier","src":"281880:2:22"}]},{"nativeSrc":"281910:17:22","nodeType":"YulAssignment","src":"281910:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"281922:4:22","nodeType":"YulLiteral","src":"281922:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"281916:5:22","nodeType":"YulIdentifier","src":"281916:5:22"},"nativeSrc":"281916:11:22","nodeType":"YulFunctionCall","src":"281916:11:22"},"variableNames":[{"name":"m6","nativeSrc":"281910:2:22","nodeType":"YulIdentifier","src":"281910:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282010:4:22","nodeType":"YulLiteral","src":"282010:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"282016:10:22","nodeType":"YulLiteral","src":"282016:10:22","type":"","value":"0x2c1d0746"}],"functionName":{"name":"mstore","nativeSrc":"282003:6:22","nodeType":"YulIdentifier","src":"282003:6:22"},"nativeSrc":"282003:24:22","nodeType":"YulFunctionCall","src":"282003:24:22"},"nativeSrc":"282003:24:22","nodeType":"YulExpressionStatement","src":"282003:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282047:4:22","nodeType":"YulLiteral","src":"282047:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"282053:2:22","nodeType":"YulIdentifier","src":"282053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282040:6:22","nodeType":"YulIdentifier","src":"282040:6:22"},"nativeSrc":"282040:16:22","nodeType":"YulFunctionCall","src":"282040:16:22"},"nativeSrc":"282040:16:22","nodeType":"YulExpressionStatement","src":"282040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282076:4:22","nodeType":"YulLiteral","src":"282076:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"282082:2:22","nodeType":"YulIdentifier","src":"282082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282069:6:22","nodeType":"YulIdentifier","src":"282069:6:22"},"nativeSrc":"282069:16:22","nodeType":"YulFunctionCall","src":"282069:16:22"},"nativeSrc":"282069:16:22","nodeType":"YulExpressionStatement","src":"282069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282105:4:22","nodeType":"YulLiteral","src":"282105:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"282111:4:22","nodeType":"YulLiteral","src":"282111:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"282098:6:22","nodeType":"YulIdentifier","src":"282098:6:22"},"nativeSrc":"282098:18:22","nodeType":"YulFunctionCall","src":"282098:18:22"},"nativeSrc":"282098:18:22","nodeType":"YulExpressionStatement","src":"282098:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282136:4:22","nodeType":"YulLiteral","src":"282136:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"282142:2:22","nodeType":"YulIdentifier","src":"282142:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282129:6:22","nodeType":"YulIdentifier","src":"282129:6:22"},"nativeSrc":"282129:16:22","nodeType":"YulFunctionCall","src":"282129:16:22"},"nativeSrc":"282129:16:22","nodeType":"YulExpressionStatement","src":"282129:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282170:4:22","nodeType":"YulLiteral","src":"282170:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"282176:2:22","nodeType":"YulIdentifier","src":"282176:2:22"}],"functionName":{"name":"writeString","nativeSrc":"282158:11:22","nodeType":"YulIdentifier","src":"282158:11:22"},"nativeSrc":"282158:21:22","nodeType":"YulFunctionCall","src":"282158:21:22"},"nativeSrc":"282158:21:22","nodeType":"YulExpressionStatement","src":"282158:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40223,"isOffset":false,"isSlot":false,"src":"281730:2:22","valueSize":1},{"declaration":40226,"isOffset":false,"isSlot":false,"src":"281760:2:22","valueSize":1},{"declaration":40229,"isOffset":false,"isSlot":false,"src":"281790:2:22","valueSize":1},{"declaration":40232,"isOffset":false,"isSlot":false,"src":"281820:2:22","valueSize":1},{"declaration":40235,"isOffset":false,"isSlot":false,"src":"281850:2:22","valueSize":1},{"declaration":40238,"isOffset":false,"isSlot":false,"src":"281880:2:22","valueSize":1},{"declaration":40241,"isOffset":false,"isSlot":false,"src":"281910:2:22","valueSize":1},{"declaration":40213,"isOffset":false,"isSlot":false,"src":"282053:2:22","valueSize":1},{"declaration":40215,"isOffset":false,"isSlot":false,"src":"282082:2:22","valueSize":1},{"declaration":40217,"isOffset":false,"isSlot":false,"src":"282176:2:22","valueSize":1},{"declaration":40219,"isOffset":false,"isSlot":false,"src":"282142:2:22","valueSize":1}],"id":40243,"nodeType":"InlineAssembly","src":"281352:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282214:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282220:4:22","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":40244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"282198:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"282198:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40248,"nodeType":"ExpressionStatement","src":"282198:27:22"},{"AST":{"nativeSrc":"282287:214:22","nodeType":"YulBlock","src":"282287:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"282308:4:22","nodeType":"YulLiteral","src":"282308:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"282314:2:22","nodeType":"YulIdentifier","src":"282314:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282301:6:22","nodeType":"YulIdentifier","src":"282301:6:22"},"nativeSrc":"282301:16:22","nodeType":"YulFunctionCall","src":"282301:16:22"},"nativeSrc":"282301:16:22","nodeType":"YulExpressionStatement","src":"282301:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282337:4:22","nodeType":"YulLiteral","src":"282337:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"282343:2:22","nodeType":"YulIdentifier","src":"282343:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282330:6:22","nodeType":"YulIdentifier","src":"282330:6:22"},"nativeSrc":"282330:16:22","nodeType":"YulFunctionCall","src":"282330:16:22"},"nativeSrc":"282330:16:22","nodeType":"YulExpressionStatement","src":"282330:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282366:4:22","nodeType":"YulLiteral","src":"282366:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"282372:2:22","nodeType":"YulIdentifier","src":"282372:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282359:6:22","nodeType":"YulIdentifier","src":"282359:6:22"},"nativeSrc":"282359:16:22","nodeType":"YulFunctionCall","src":"282359:16:22"},"nativeSrc":"282359:16:22","nodeType":"YulExpressionStatement","src":"282359:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282395:4:22","nodeType":"YulLiteral","src":"282395:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"282401:2:22","nodeType":"YulIdentifier","src":"282401:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282388:6:22","nodeType":"YulIdentifier","src":"282388:6:22"},"nativeSrc":"282388:16:22","nodeType":"YulFunctionCall","src":"282388:16:22"},"nativeSrc":"282388:16:22","nodeType":"YulExpressionStatement","src":"282388:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282424:4:22","nodeType":"YulLiteral","src":"282424:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"282430:2:22","nodeType":"YulIdentifier","src":"282430:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282417:6:22","nodeType":"YulIdentifier","src":"282417:6:22"},"nativeSrc":"282417:16:22","nodeType":"YulFunctionCall","src":"282417:16:22"},"nativeSrc":"282417:16:22","nodeType":"YulExpressionStatement","src":"282417:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282453:4:22","nodeType":"YulLiteral","src":"282453:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"282459:2:22","nodeType":"YulIdentifier","src":"282459:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282446:6:22","nodeType":"YulIdentifier","src":"282446:6:22"},"nativeSrc":"282446:16:22","nodeType":"YulFunctionCall","src":"282446:16:22"},"nativeSrc":"282446:16:22","nodeType":"YulExpressionStatement","src":"282446:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282482:4:22","nodeType":"YulLiteral","src":"282482:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"282488:2:22","nodeType":"YulIdentifier","src":"282488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"282475:6:22","nodeType":"YulIdentifier","src":"282475:6:22"},"nativeSrc":"282475:16:22","nodeType":"YulFunctionCall","src":"282475:16:22"},"nativeSrc":"282475:16:22","nodeType":"YulExpressionStatement","src":"282475:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40223,"isOffset":false,"isSlot":false,"src":"282314:2:22","valueSize":1},{"declaration":40226,"isOffset":false,"isSlot":false,"src":"282343:2:22","valueSize":1},{"declaration":40229,"isOffset":false,"isSlot":false,"src":"282372:2:22","valueSize":1},{"declaration":40232,"isOffset":false,"isSlot":false,"src":"282401:2:22","valueSize":1},{"declaration":40235,"isOffset":false,"isSlot":false,"src":"282430:2:22","valueSize":1},{"declaration":40238,"isOffset":false,"isSlot":false,"src":"282459:2:22","valueSize":1},{"declaration":40241,"isOffset":false,"isSlot":false,"src":"282488:2:22","valueSize":1}],"id":40249,"nodeType":"InlineAssembly","src":"282278:223:22"}]},"id":40251,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"281096:3:22","nodeType":"FunctionDefinition","parameters":{"id":40220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40213,"mutability":"mutable","name":"p0","nameLocation":"281108:2:22","nodeType":"VariableDeclaration","scope":40251,"src":"281100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40212,"name":"uint256","nodeType":"ElementaryTypeName","src":"281100:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40215,"mutability":"mutable","name":"p1","nameLocation":"281117:2:22","nodeType":"VariableDeclaration","scope":40251,"src":"281112:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40214,"name":"bool","nodeType":"ElementaryTypeName","src":"281112:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40217,"mutability":"mutable","name":"p2","nameLocation":"281129:2:22","nodeType":"VariableDeclaration","scope":40251,"src":"281121:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281121:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40219,"mutability":"mutable","name":"p3","nameLocation":"281141:2:22","nodeType":"VariableDeclaration","scope":40251,"src":"281133:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40218,"name":"uint256","nodeType":"ElementaryTypeName","src":"281133:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"281099:45:22"},"returnParameters":{"id":40221,"nodeType":"ParameterList","parameters":[],"src":"281159:0:22"},"scope":44426,"src":"281087:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40296,"nodeType":"Block","src":"282585:1544:22","statements":[{"assignments":[40263],"declarations":[{"constant":false,"id":40263,"mutability":"mutable","name":"m0","nameLocation":"282603:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282595:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282595:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40264,"nodeType":"VariableDeclarationStatement","src":"282595:10:22"},{"assignments":[40266],"declarations":[{"constant":false,"id":40266,"mutability":"mutable","name":"m1","nameLocation":"282623:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282615:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282615:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40267,"nodeType":"VariableDeclarationStatement","src":"282615:10:22"},{"assignments":[40269],"declarations":[{"constant":false,"id":40269,"mutability":"mutable","name":"m2","nameLocation":"282643:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282635:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282635:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40270,"nodeType":"VariableDeclarationStatement","src":"282635:10:22"},{"assignments":[40272],"declarations":[{"constant":false,"id":40272,"mutability":"mutable","name":"m3","nameLocation":"282663:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282655:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40273,"nodeType":"VariableDeclarationStatement","src":"282655:10:22"},{"assignments":[40275],"declarations":[{"constant":false,"id":40275,"mutability":"mutable","name":"m4","nameLocation":"282683:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282675:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282675:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40276,"nodeType":"VariableDeclarationStatement","src":"282675:10:22"},{"assignments":[40278],"declarations":[{"constant":false,"id":40278,"mutability":"mutable","name":"m5","nameLocation":"282703:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282695:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40279,"nodeType":"VariableDeclarationStatement","src":"282695:10:22"},{"assignments":[40281],"declarations":[{"constant":false,"id":40281,"mutability":"mutable","name":"m6","nameLocation":"282723:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282715:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282715:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40282,"nodeType":"VariableDeclarationStatement","src":"282715:10:22"},{"assignments":[40284],"declarations":[{"constant":false,"id":40284,"mutability":"mutable","name":"m7","nameLocation":"282743:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282735:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282735:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40285,"nodeType":"VariableDeclarationStatement","src":"282735:10:22"},{"assignments":[40287],"declarations":[{"constant":false,"id":40287,"mutability":"mutable","name":"m8","nameLocation":"282763:2:22","nodeType":"VariableDeclaration","scope":40296,"src":"282755:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282755:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40288,"nodeType":"VariableDeclarationStatement","src":"282755:10:22"},{"AST":{"nativeSrc":"282827:924:22","nodeType":"YulBlock","src":"282827:924:22","statements":[{"body":{"nativeSrc":"282870:313:22","nodeType":"YulBlock","src":"282870:313:22","statements":[{"nativeSrc":"282888:15:22","nodeType":"YulVariableDeclaration","src":"282888:15:22","value":{"kind":"number","nativeSrc":"282902:1:22","nodeType":"YulLiteral","src":"282902:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"282892:6:22","nodeType":"YulTypedName","src":"282892:6:22","type":""}]},{"body":{"nativeSrc":"282973:40:22","nodeType":"YulBlock","src":"282973:40:22","statements":[{"body":{"nativeSrc":"283002:9:22","nodeType":"YulBlock","src":"283002:9:22","statements":[{"nativeSrc":"283004:5:22","nodeType":"YulBreak","src":"283004:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"282990:6:22","nodeType":"YulIdentifier","src":"282990:6:22"},{"name":"w","nativeSrc":"282998:1:22","nodeType":"YulIdentifier","src":"282998:1:22"}],"functionName":{"name":"byte","nativeSrc":"282985:4:22","nodeType":"YulIdentifier","src":"282985:4:22"},"nativeSrc":"282985:15:22","nodeType":"YulFunctionCall","src":"282985:15:22"}],"functionName":{"name":"iszero","nativeSrc":"282978:6:22","nodeType":"YulIdentifier","src":"282978:6:22"},"nativeSrc":"282978:23:22","nodeType":"YulFunctionCall","src":"282978:23:22"},"nativeSrc":"282975:36:22","nodeType":"YulIf","src":"282975:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"282930:6:22","nodeType":"YulIdentifier","src":"282930:6:22"},{"kind":"number","nativeSrc":"282938:4:22","nodeType":"YulLiteral","src":"282938:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"282927:2:22","nodeType":"YulIdentifier","src":"282927:2:22"},"nativeSrc":"282927:16:22","nodeType":"YulFunctionCall","src":"282927:16:22"},"nativeSrc":"282920:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"282944:28:22","nodeType":"YulBlock","src":"282944:28:22","statements":[{"nativeSrc":"282946:24:22","nodeType":"YulAssignment","src":"282946:24:22","value":{"arguments":[{"name":"length","nativeSrc":"282960:6:22","nodeType":"YulIdentifier","src":"282960:6:22"},{"kind":"number","nativeSrc":"282968:1:22","nodeType":"YulLiteral","src":"282968:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"282956:3:22","nodeType":"YulIdentifier","src":"282956:3:22"},"nativeSrc":"282956:14:22","nodeType":"YulFunctionCall","src":"282956:14:22"},"variableNames":[{"name":"length","nativeSrc":"282946:6:22","nodeType":"YulIdentifier","src":"282946:6:22"}]}]},"pre":{"nativeSrc":"282924:2:22","nodeType":"YulBlock","src":"282924:2:22","statements":[]},"src":"282920:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"283037:3:22","nodeType":"YulIdentifier","src":"283037:3:22"},{"name":"length","nativeSrc":"283042:6:22","nodeType":"YulIdentifier","src":"283042:6:22"}],"functionName":{"name":"mstore","nativeSrc":"283030:6:22","nodeType":"YulIdentifier","src":"283030:6:22"},"nativeSrc":"283030:19:22","nodeType":"YulFunctionCall","src":"283030:19:22"},"nativeSrc":"283030:19:22","nodeType":"YulExpressionStatement","src":"283030:19:22"},{"nativeSrc":"283066:37:22","nodeType":"YulVariableDeclaration","src":"283066:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"283083:3:22","nodeType":"YulLiteral","src":"283083:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"283092:1:22","nodeType":"YulLiteral","src":"283092:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"283095:6:22","nodeType":"YulIdentifier","src":"283095:6:22"}],"functionName":{"name":"shl","nativeSrc":"283088:3:22","nodeType":"YulIdentifier","src":"283088:3:22"},"nativeSrc":"283088:14:22","nodeType":"YulFunctionCall","src":"283088:14:22"}],"functionName":{"name":"sub","nativeSrc":"283079:3:22","nodeType":"YulIdentifier","src":"283079:3:22"},"nativeSrc":"283079:24:22","nodeType":"YulFunctionCall","src":"283079:24:22"},"variables":[{"name":"shift","nativeSrc":"283070:5:22","nodeType":"YulTypedName","src":"283070:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"283131:3:22","nodeType":"YulIdentifier","src":"283131:3:22"},{"kind":"number","nativeSrc":"283136:4:22","nodeType":"YulLiteral","src":"283136:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"283127:3:22","nodeType":"YulIdentifier","src":"283127:3:22"},"nativeSrc":"283127:14:22","nodeType":"YulFunctionCall","src":"283127:14:22"},{"arguments":[{"name":"shift","nativeSrc":"283147:5:22","nodeType":"YulIdentifier","src":"283147:5:22"},{"arguments":[{"name":"shift","nativeSrc":"283158:5:22","nodeType":"YulIdentifier","src":"283158:5:22"},{"name":"w","nativeSrc":"283165:1:22","nodeType":"YulIdentifier","src":"283165:1:22"}],"functionName":{"name":"shr","nativeSrc":"283154:3:22","nodeType":"YulIdentifier","src":"283154:3:22"},"nativeSrc":"283154:13:22","nodeType":"YulFunctionCall","src":"283154:13:22"}],"functionName":{"name":"shl","nativeSrc":"283143:3:22","nodeType":"YulIdentifier","src":"283143:3:22"},"nativeSrc":"283143:25:22","nodeType":"YulFunctionCall","src":"283143:25:22"}],"functionName":{"name":"mstore","nativeSrc":"283120:6:22","nodeType":"YulIdentifier","src":"283120:6:22"},"nativeSrc":"283120:49:22","nodeType":"YulFunctionCall","src":"283120:49:22"},"nativeSrc":"283120:49:22","nodeType":"YulExpressionStatement","src":"283120:49:22"}]},"name":"writeString","nativeSrc":"282841:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"282862:3:22","nodeType":"YulTypedName","src":"282862:3:22","type":""},{"name":"w","nativeSrc":"282867:1:22","nodeType":"YulTypedName","src":"282867:1:22","type":""}],"src":"282841:342:22"},{"nativeSrc":"283196:17:22","nodeType":"YulAssignment","src":"283196:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283208:4:22","nodeType":"YulLiteral","src":"283208:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"283202:5:22","nodeType":"YulIdentifier","src":"283202:5:22"},"nativeSrc":"283202:11:22","nodeType":"YulFunctionCall","src":"283202:11:22"},"variableNames":[{"name":"m0","nativeSrc":"283196:2:22","nodeType":"YulIdentifier","src":"283196:2:22"}]},{"nativeSrc":"283226:17:22","nodeType":"YulAssignment","src":"283226:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283238:4:22","nodeType":"YulLiteral","src":"283238:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"283232:5:22","nodeType":"YulIdentifier","src":"283232:5:22"},"nativeSrc":"283232:11:22","nodeType":"YulFunctionCall","src":"283232:11:22"},"variableNames":[{"name":"m1","nativeSrc":"283226:2:22","nodeType":"YulIdentifier","src":"283226:2:22"}]},{"nativeSrc":"283256:17:22","nodeType":"YulAssignment","src":"283256:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283268:4:22","nodeType":"YulLiteral","src":"283268:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"283262:5:22","nodeType":"YulIdentifier","src":"283262:5:22"},"nativeSrc":"283262:11:22","nodeType":"YulFunctionCall","src":"283262:11:22"},"variableNames":[{"name":"m2","nativeSrc":"283256:2:22","nodeType":"YulIdentifier","src":"283256:2:22"}]},{"nativeSrc":"283286:17:22","nodeType":"YulAssignment","src":"283286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283298:4:22","nodeType":"YulLiteral","src":"283298:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"283292:5:22","nodeType":"YulIdentifier","src":"283292:5:22"},"nativeSrc":"283292:11:22","nodeType":"YulFunctionCall","src":"283292:11:22"},"variableNames":[{"name":"m3","nativeSrc":"283286:2:22","nodeType":"YulIdentifier","src":"283286:2:22"}]},{"nativeSrc":"283316:17:22","nodeType":"YulAssignment","src":"283316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283328:4:22","nodeType":"YulLiteral","src":"283328:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"283322:5:22","nodeType":"YulIdentifier","src":"283322:5:22"},"nativeSrc":"283322:11:22","nodeType":"YulFunctionCall","src":"283322:11:22"},"variableNames":[{"name":"m4","nativeSrc":"283316:2:22","nodeType":"YulIdentifier","src":"283316:2:22"}]},{"nativeSrc":"283346:17:22","nodeType":"YulAssignment","src":"283346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283358:4:22","nodeType":"YulLiteral","src":"283358:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"283352:5:22","nodeType":"YulIdentifier","src":"283352:5:22"},"nativeSrc":"283352:11:22","nodeType":"YulFunctionCall","src":"283352:11:22"},"variableNames":[{"name":"m5","nativeSrc":"283346:2:22","nodeType":"YulIdentifier","src":"283346:2:22"}]},{"nativeSrc":"283376:17:22","nodeType":"YulAssignment","src":"283376:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283388:4:22","nodeType":"YulLiteral","src":"283388:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"283382:5:22","nodeType":"YulIdentifier","src":"283382:5:22"},"nativeSrc":"283382:11:22","nodeType":"YulFunctionCall","src":"283382:11:22"},"variableNames":[{"name":"m6","nativeSrc":"283376:2:22","nodeType":"YulIdentifier","src":"283376:2:22"}]},{"nativeSrc":"283406:17:22","nodeType":"YulAssignment","src":"283406:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"283418:4:22","nodeType":"YulLiteral","src":"283418:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"283412:5:22","nodeType":"YulIdentifier","src":"283412:5:22"},"nativeSrc":"283412:11:22","nodeType":"YulFunctionCall","src":"283412:11:22"},"variableNames":[{"name":"m7","nativeSrc":"283406:2:22","nodeType":"YulIdentifier","src":"283406:2:22"}]},{"nativeSrc":"283436:18:22","nodeType":"YulAssignment","src":"283436:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"283448:5:22","nodeType":"YulLiteral","src":"283448:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"283442:5:22","nodeType":"YulIdentifier","src":"283442:5:22"},"nativeSrc":"283442:12:22","nodeType":"YulFunctionCall","src":"283442:12:22"},"variableNames":[{"name":"m8","nativeSrc":"283436:2:22","nodeType":"YulIdentifier","src":"283436:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283536:4:22","nodeType":"YulLiteral","src":"283536:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"283542:10:22","nodeType":"YulLiteral","src":"283542:10:22","type":"","value":"0x68c8b8bd"}],"functionName":{"name":"mstore","nativeSrc":"283529:6:22","nodeType":"YulIdentifier","src":"283529:6:22"},"nativeSrc":"283529:24:22","nodeType":"YulFunctionCall","src":"283529:24:22"},"nativeSrc":"283529:24:22","nodeType":"YulExpressionStatement","src":"283529:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283573:4:22","nodeType":"YulLiteral","src":"283573:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"283579:2:22","nodeType":"YulIdentifier","src":"283579:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283566:6:22","nodeType":"YulIdentifier","src":"283566:6:22"},"nativeSrc":"283566:16:22","nodeType":"YulFunctionCall","src":"283566:16:22"},"nativeSrc":"283566:16:22","nodeType":"YulExpressionStatement","src":"283566:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283602:4:22","nodeType":"YulLiteral","src":"283602:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"283608:2:22","nodeType":"YulIdentifier","src":"283608:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283595:6:22","nodeType":"YulIdentifier","src":"283595:6:22"},"nativeSrc":"283595:16:22","nodeType":"YulFunctionCall","src":"283595:16:22"},"nativeSrc":"283595:16:22","nodeType":"YulExpressionStatement","src":"283595:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283631:4:22","nodeType":"YulLiteral","src":"283631:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"283637:4:22","nodeType":"YulLiteral","src":"283637:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"283624:6:22","nodeType":"YulIdentifier","src":"283624:6:22"},"nativeSrc":"283624:18:22","nodeType":"YulFunctionCall","src":"283624:18:22"},"nativeSrc":"283624:18:22","nodeType":"YulExpressionStatement","src":"283624:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283662:4:22","nodeType":"YulLiteral","src":"283662:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"283668:4:22","nodeType":"YulLiteral","src":"283668:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"283655:6:22","nodeType":"YulIdentifier","src":"283655:6:22"},"nativeSrc":"283655:18:22","nodeType":"YulFunctionCall","src":"283655:18:22"},"nativeSrc":"283655:18:22","nodeType":"YulExpressionStatement","src":"283655:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283698:4:22","nodeType":"YulLiteral","src":"283698:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"283704:2:22","nodeType":"YulIdentifier","src":"283704:2:22"}],"functionName":{"name":"writeString","nativeSrc":"283686:11:22","nodeType":"YulIdentifier","src":"283686:11:22"},"nativeSrc":"283686:21:22","nodeType":"YulFunctionCall","src":"283686:21:22"},"nativeSrc":"283686:21:22","nodeType":"YulExpressionStatement","src":"283686:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283732:4:22","nodeType":"YulLiteral","src":"283732:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"283738:2:22","nodeType":"YulIdentifier","src":"283738:2:22"}],"functionName":{"name":"writeString","nativeSrc":"283720:11:22","nodeType":"YulIdentifier","src":"283720:11:22"},"nativeSrc":"283720:21:22","nodeType":"YulFunctionCall","src":"283720:21:22"},"nativeSrc":"283720:21:22","nodeType":"YulExpressionStatement","src":"283720:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40263,"isOffset":false,"isSlot":false,"src":"283196:2:22","valueSize":1},{"declaration":40266,"isOffset":false,"isSlot":false,"src":"283226:2:22","valueSize":1},{"declaration":40269,"isOffset":false,"isSlot":false,"src":"283256:2:22","valueSize":1},{"declaration":40272,"isOffset":false,"isSlot":false,"src":"283286:2:22","valueSize":1},{"declaration":40275,"isOffset":false,"isSlot":false,"src":"283316:2:22","valueSize":1},{"declaration":40278,"isOffset":false,"isSlot":false,"src":"283346:2:22","valueSize":1},{"declaration":40281,"isOffset":false,"isSlot":false,"src":"283376:2:22","valueSize":1},{"declaration":40284,"isOffset":false,"isSlot":false,"src":"283406:2:22","valueSize":1},{"declaration":40287,"isOffset":false,"isSlot":false,"src":"283436:2:22","valueSize":1},{"declaration":40253,"isOffset":false,"isSlot":false,"src":"283579:2:22","valueSize":1},{"declaration":40255,"isOffset":false,"isSlot":false,"src":"283608:2:22","valueSize":1},{"declaration":40257,"isOffset":false,"isSlot":false,"src":"283704:2:22","valueSize":1},{"declaration":40259,"isOffset":false,"isSlot":false,"src":"283738:2:22","valueSize":1}],"id":40289,"nodeType":"InlineAssembly","src":"282818:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283776:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":40292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283782:5:22","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":40290,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"283760:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"283760:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40294,"nodeType":"ExpressionStatement","src":"283760:28:22"},{"AST":{"nativeSrc":"283850:273:22","nodeType":"YulBlock","src":"283850:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"283871:4:22","nodeType":"YulLiteral","src":"283871:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"283877:2:22","nodeType":"YulIdentifier","src":"283877:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283864:6:22","nodeType":"YulIdentifier","src":"283864:6:22"},"nativeSrc":"283864:16:22","nodeType":"YulFunctionCall","src":"283864:16:22"},"nativeSrc":"283864:16:22","nodeType":"YulExpressionStatement","src":"283864:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283900:4:22","nodeType":"YulLiteral","src":"283900:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"283906:2:22","nodeType":"YulIdentifier","src":"283906:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283893:6:22","nodeType":"YulIdentifier","src":"283893:6:22"},"nativeSrc":"283893:16:22","nodeType":"YulFunctionCall","src":"283893:16:22"},"nativeSrc":"283893:16:22","nodeType":"YulExpressionStatement","src":"283893:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283929:4:22","nodeType":"YulLiteral","src":"283929:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"283935:2:22","nodeType":"YulIdentifier","src":"283935:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283922:6:22","nodeType":"YulIdentifier","src":"283922:6:22"},"nativeSrc":"283922:16:22","nodeType":"YulFunctionCall","src":"283922:16:22"},"nativeSrc":"283922:16:22","nodeType":"YulExpressionStatement","src":"283922:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283958:4:22","nodeType":"YulLiteral","src":"283958:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"283964:2:22","nodeType":"YulIdentifier","src":"283964:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283951:6:22","nodeType":"YulIdentifier","src":"283951:6:22"},"nativeSrc":"283951:16:22","nodeType":"YulFunctionCall","src":"283951:16:22"},"nativeSrc":"283951:16:22","nodeType":"YulExpressionStatement","src":"283951:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283987:4:22","nodeType":"YulLiteral","src":"283987:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"283993:2:22","nodeType":"YulIdentifier","src":"283993:2:22"}],"functionName":{"name":"mstore","nativeSrc":"283980:6:22","nodeType":"YulIdentifier","src":"283980:6:22"},"nativeSrc":"283980:16:22","nodeType":"YulFunctionCall","src":"283980:16:22"},"nativeSrc":"283980:16:22","nodeType":"YulExpressionStatement","src":"283980:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284016:4:22","nodeType":"YulLiteral","src":"284016:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"284022:2:22","nodeType":"YulIdentifier","src":"284022:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284009:6:22","nodeType":"YulIdentifier","src":"284009:6:22"},"nativeSrc":"284009:16:22","nodeType":"YulFunctionCall","src":"284009:16:22"},"nativeSrc":"284009:16:22","nodeType":"YulExpressionStatement","src":"284009:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284045:4:22","nodeType":"YulLiteral","src":"284045:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"284051:2:22","nodeType":"YulIdentifier","src":"284051:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284038:6:22","nodeType":"YulIdentifier","src":"284038:6:22"},"nativeSrc":"284038:16:22","nodeType":"YulFunctionCall","src":"284038:16:22"},"nativeSrc":"284038:16:22","nodeType":"YulExpressionStatement","src":"284038:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284074:4:22","nodeType":"YulLiteral","src":"284074:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"284080:2:22","nodeType":"YulIdentifier","src":"284080:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284067:6:22","nodeType":"YulIdentifier","src":"284067:6:22"},"nativeSrc":"284067:16:22","nodeType":"YulFunctionCall","src":"284067:16:22"},"nativeSrc":"284067:16:22","nodeType":"YulExpressionStatement","src":"284067:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284103:5:22","nodeType":"YulLiteral","src":"284103:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"284110:2:22","nodeType":"YulIdentifier","src":"284110:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284096:6:22","nodeType":"YulIdentifier","src":"284096:6:22"},"nativeSrc":"284096:17:22","nodeType":"YulFunctionCall","src":"284096:17:22"},"nativeSrc":"284096:17:22","nodeType":"YulExpressionStatement","src":"284096:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40263,"isOffset":false,"isSlot":false,"src":"283877:2:22","valueSize":1},{"declaration":40266,"isOffset":false,"isSlot":false,"src":"283906:2:22","valueSize":1},{"declaration":40269,"isOffset":false,"isSlot":false,"src":"283935:2:22","valueSize":1},{"declaration":40272,"isOffset":false,"isSlot":false,"src":"283964:2:22","valueSize":1},{"declaration":40275,"isOffset":false,"isSlot":false,"src":"283993:2:22","valueSize":1},{"declaration":40278,"isOffset":false,"isSlot":false,"src":"284022:2:22","valueSize":1},{"declaration":40281,"isOffset":false,"isSlot":false,"src":"284051:2:22","valueSize":1},{"declaration":40284,"isOffset":false,"isSlot":false,"src":"284080:2:22","valueSize":1},{"declaration":40287,"isOffset":false,"isSlot":false,"src":"284110:2:22","valueSize":1}],"id":40295,"nodeType":"InlineAssembly","src":"283841:282:22"}]},"id":40297,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"282522:3:22","nodeType":"FunctionDefinition","parameters":{"id":40260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40253,"mutability":"mutable","name":"p0","nameLocation":"282534:2:22","nodeType":"VariableDeclaration","scope":40297,"src":"282526:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40252,"name":"uint256","nodeType":"ElementaryTypeName","src":"282526:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40255,"mutability":"mutable","name":"p1","nameLocation":"282543:2:22","nodeType":"VariableDeclaration","scope":40297,"src":"282538:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40254,"name":"bool","nodeType":"ElementaryTypeName","src":"282538:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40257,"mutability":"mutable","name":"p2","nameLocation":"282555:2:22","nodeType":"VariableDeclaration","scope":40297,"src":"282547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40259,"mutability":"mutable","name":"p3","nameLocation":"282567:2:22","nodeType":"VariableDeclaration","scope":40297,"src":"282559:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282559:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"282525:45:22"},"returnParameters":{"id":40261,"nodeType":"ParameterList","parameters":[],"src":"282585:0:22"},"scope":44426,"src":"282513:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40330,"nodeType":"Block","src":"284210:803:22","statements":[{"assignments":[40309],"declarations":[{"constant":false,"id":40309,"mutability":"mutable","name":"m0","nameLocation":"284228:2:22","nodeType":"VariableDeclaration","scope":40330,"src":"284220:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284220:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40310,"nodeType":"VariableDeclarationStatement","src":"284220:10:22"},{"assignments":[40312],"declarations":[{"constant":false,"id":40312,"mutability":"mutable","name":"m1","nameLocation":"284248:2:22","nodeType":"VariableDeclaration","scope":40330,"src":"284240:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284240:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40313,"nodeType":"VariableDeclarationStatement","src":"284240:10:22"},{"assignments":[40315],"declarations":[{"constant":false,"id":40315,"mutability":"mutable","name":"m2","nameLocation":"284268:2:22","nodeType":"VariableDeclaration","scope":40330,"src":"284260:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284260:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40316,"nodeType":"VariableDeclarationStatement","src":"284260:10:22"},{"assignments":[40318],"declarations":[{"constant":false,"id":40318,"mutability":"mutable","name":"m3","nameLocation":"284288:2:22","nodeType":"VariableDeclaration","scope":40330,"src":"284280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40319,"nodeType":"VariableDeclarationStatement","src":"284280:10:22"},{"assignments":[40321],"declarations":[{"constant":false,"id":40321,"mutability":"mutable","name":"m4","nameLocation":"284308:2:22","nodeType":"VariableDeclaration","scope":40330,"src":"284300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40322,"nodeType":"VariableDeclarationStatement","src":"284300:10:22"},{"AST":{"nativeSrc":"284372:381:22","nodeType":"YulBlock","src":"284372:381:22","statements":[{"nativeSrc":"284386:17:22","nodeType":"YulAssignment","src":"284386:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"284398:4:22","nodeType":"YulLiteral","src":"284398:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"284392:5:22","nodeType":"YulIdentifier","src":"284392:5:22"},"nativeSrc":"284392:11:22","nodeType":"YulFunctionCall","src":"284392:11:22"},"variableNames":[{"name":"m0","nativeSrc":"284386:2:22","nodeType":"YulIdentifier","src":"284386:2:22"}]},{"nativeSrc":"284416:17:22","nodeType":"YulAssignment","src":"284416:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"284428:4:22","nodeType":"YulLiteral","src":"284428:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"284422:5:22","nodeType":"YulIdentifier","src":"284422:5:22"},"nativeSrc":"284422:11:22","nodeType":"YulFunctionCall","src":"284422:11:22"},"variableNames":[{"name":"m1","nativeSrc":"284416:2:22","nodeType":"YulIdentifier","src":"284416:2:22"}]},{"nativeSrc":"284446:17:22","nodeType":"YulAssignment","src":"284446:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"284458:4:22","nodeType":"YulLiteral","src":"284458:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"284452:5:22","nodeType":"YulIdentifier","src":"284452:5:22"},"nativeSrc":"284452:11:22","nodeType":"YulFunctionCall","src":"284452:11:22"},"variableNames":[{"name":"m2","nativeSrc":"284446:2:22","nodeType":"YulIdentifier","src":"284446:2:22"}]},{"nativeSrc":"284476:17:22","nodeType":"YulAssignment","src":"284476:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"284488:4:22","nodeType":"YulLiteral","src":"284488:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"284482:5:22","nodeType":"YulIdentifier","src":"284482:5:22"},"nativeSrc":"284482:11:22","nodeType":"YulFunctionCall","src":"284482:11:22"},"variableNames":[{"name":"m3","nativeSrc":"284476:2:22","nodeType":"YulIdentifier","src":"284476:2:22"}]},{"nativeSrc":"284506:17:22","nodeType":"YulAssignment","src":"284506:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"284518:4:22","nodeType":"YulLiteral","src":"284518:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"284512:5:22","nodeType":"YulIdentifier","src":"284512:5:22"},"nativeSrc":"284512:11:22","nodeType":"YulFunctionCall","src":"284512:11:22"},"variableNames":[{"name":"m4","nativeSrc":"284506:2:22","nodeType":"YulIdentifier","src":"284506:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284610:4:22","nodeType":"YulLiteral","src":"284610:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"284616:10:22","nodeType":"YulLiteral","src":"284616:10:22","type":"","value":"0x56a5d1b1"}],"functionName":{"name":"mstore","nativeSrc":"284603:6:22","nodeType":"YulIdentifier","src":"284603:6:22"},"nativeSrc":"284603:24:22","nodeType":"YulFunctionCall","src":"284603:24:22"},"nativeSrc":"284603:24:22","nodeType":"YulExpressionStatement","src":"284603:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284647:4:22","nodeType":"YulLiteral","src":"284647:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"284653:2:22","nodeType":"YulIdentifier","src":"284653:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284640:6:22","nodeType":"YulIdentifier","src":"284640:6:22"},"nativeSrc":"284640:16:22","nodeType":"YulFunctionCall","src":"284640:16:22"},"nativeSrc":"284640:16:22","nodeType":"YulExpressionStatement","src":"284640:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284676:4:22","nodeType":"YulLiteral","src":"284676:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"284682:2:22","nodeType":"YulIdentifier","src":"284682:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284669:6:22","nodeType":"YulIdentifier","src":"284669:6:22"},"nativeSrc":"284669:16:22","nodeType":"YulFunctionCall","src":"284669:16:22"},"nativeSrc":"284669:16:22","nodeType":"YulExpressionStatement","src":"284669:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284705:4:22","nodeType":"YulLiteral","src":"284705:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"284711:2:22","nodeType":"YulIdentifier","src":"284711:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284698:6:22","nodeType":"YulIdentifier","src":"284698:6:22"},"nativeSrc":"284698:16:22","nodeType":"YulFunctionCall","src":"284698:16:22"},"nativeSrc":"284698:16:22","nodeType":"YulExpressionStatement","src":"284698:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284734:4:22","nodeType":"YulLiteral","src":"284734:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"284740:2:22","nodeType":"YulIdentifier","src":"284740:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284727:6:22","nodeType":"YulIdentifier","src":"284727:6:22"},"nativeSrc":"284727:16:22","nodeType":"YulFunctionCall","src":"284727:16:22"},"nativeSrc":"284727:16:22","nodeType":"YulExpressionStatement","src":"284727:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40309,"isOffset":false,"isSlot":false,"src":"284386:2:22","valueSize":1},{"declaration":40312,"isOffset":false,"isSlot":false,"src":"284416:2:22","valueSize":1},{"declaration":40315,"isOffset":false,"isSlot":false,"src":"284446:2:22","valueSize":1},{"declaration":40318,"isOffset":false,"isSlot":false,"src":"284476:2:22","valueSize":1},{"declaration":40321,"isOffset":false,"isSlot":false,"src":"284506:2:22","valueSize":1},{"declaration":40299,"isOffset":false,"isSlot":false,"src":"284653:2:22","valueSize":1},{"declaration":40301,"isOffset":false,"isSlot":false,"src":"284682:2:22","valueSize":1},{"declaration":40303,"isOffset":false,"isSlot":false,"src":"284711:2:22","valueSize":1},{"declaration":40305,"isOffset":false,"isSlot":false,"src":"284740:2:22","valueSize":1}],"id":40323,"nodeType":"InlineAssembly","src":"284363:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284778:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284784:4:22","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":40324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"284762:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"284762:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40328,"nodeType":"ExpressionStatement","src":"284762:27:22"},{"AST":{"nativeSrc":"284851:156:22","nodeType":"YulBlock","src":"284851:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"284872:4:22","nodeType":"YulLiteral","src":"284872:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"284878:2:22","nodeType":"YulIdentifier","src":"284878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284865:6:22","nodeType":"YulIdentifier","src":"284865:6:22"},"nativeSrc":"284865:16:22","nodeType":"YulFunctionCall","src":"284865:16:22"},"nativeSrc":"284865:16:22","nodeType":"YulExpressionStatement","src":"284865:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284901:4:22","nodeType":"YulLiteral","src":"284901:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"284907:2:22","nodeType":"YulIdentifier","src":"284907:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284894:6:22","nodeType":"YulIdentifier","src":"284894:6:22"},"nativeSrc":"284894:16:22","nodeType":"YulFunctionCall","src":"284894:16:22"},"nativeSrc":"284894:16:22","nodeType":"YulExpressionStatement","src":"284894:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284930:4:22","nodeType":"YulLiteral","src":"284930:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"284936:2:22","nodeType":"YulIdentifier","src":"284936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284923:6:22","nodeType":"YulIdentifier","src":"284923:6:22"},"nativeSrc":"284923:16:22","nodeType":"YulFunctionCall","src":"284923:16:22"},"nativeSrc":"284923:16:22","nodeType":"YulExpressionStatement","src":"284923:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284959:4:22","nodeType":"YulLiteral","src":"284959:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"284965:2:22","nodeType":"YulIdentifier","src":"284965:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284952:6:22","nodeType":"YulIdentifier","src":"284952:6:22"},"nativeSrc":"284952:16:22","nodeType":"YulFunctionCall","src":"284952:16:22"},"nativeSrc":"284952:16:22","nodeType":"YulExpressionStatement","src":"284952:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284988:4:22","nodeType":"YulLiteral","src":"284988:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"284994:2:22","nodeType":"YulIdentifier","src":"284994:2:22"}],"functionName":{"name":"mstore","nativeSrc":"284981:6:22","nodeType":"YulIdentifier","src":"284981:6:22"},"nativeSrc":"284981:16:22","nodeType":"YulFunctionCall","src":"284981:16:22"},"nativeSrc":"284981:16:22","nodeType":"YulExpressionStatement","src":"284981:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40309,"isOffset":false,"isSlot":false,"src":"284878:2:22","valueSize":1},{"declaration":40312,"isOffset":false,"isSlot":false,"src":"284907:2:22","valueSize":1},{"declaration":40315,"isOffset":false,"isSlot":false,"src":"284936:2:22","valueSize":1},{"declaration":40318,"isOffset":false,"isSlot":false,"src":"284965:2:22","valueSize":1},{"declaration":40321,"isOffset":false,"isSlot":false,"src":"284994:2:22","valueSize":1}],"id":40329,"nodeType":"InlineAssembly","src":"284842:165:22"}]},"id":40331,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"284144:3:22","nodeType":"FunctionDefinition","parameters":{"id":40306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40299,"mutability":"mutable","name":"p0","nameLocation":"284156:2:22","nodeType":"VariableDeclaration","scope":40331,"src":"284148:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40298,"name":"uint256","nodeType":"ElementaryTypeName","src":"284148:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40301,"mutability":"mutable","name":"p1","nameLocation":"284168:2:22","nodeType":"VariableDeclaration","scope":40331,"src":"284160:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40300,"name":"uint256","nodeType":"ElementaryTypeName","src":"284160:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40303,"mutability":"mutable","name":"p2","nameLocation":"284180:2:22","nodeType":"VariableDeclaration","scope":40331,"src":"284172:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40302,"name":"address","nodeType":"ElementaryTypeName","src":"284172:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40305,"mutability":"mutable","name":"p3","nameLocation":"284192:2:22","nodeType":"VariableDeclaration","scope":40331,"src":"284184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40304,"name":"address","nodeType":"ElementaryTypeName","src":"284184:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"284147:48:22"},"returnParameters":{"id":40307,"nodeType":"ParameterList","parameters":[],"src":"284210:0:22"},"scope":44426,"src":"284135:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40364,"nodeType":"Block","src":"285091:800:22","statements":[{"assignments":[40343],"declarations":[{"constant":false,"id":40343,"mutability":"mutable","name":"m0","nameLocation":"285109:2:22","nodeType":"VariableDeclaration","scope":40364,"src":"285101:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285101:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40344,"nodeType":"VariableDeclarationStatement","src":"285101:10:22"},{"assignments":[40346],"declarations":[{"constant":false,"id":40346,"mutability":"mutable","name":"m1","nameLocation":"285129:2:22","nodeType":"VariableDeclaration","scope":40364,"src":"285121:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285121:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40347,"nodeType":"VariableDeclarationStatement","src":"285121:10:22"},{"assignments":[40349],"declarations":[{"constant":false,"id":40349,"mutability":"mutable","name":"m2","nameLocation":"285149:2:22","nodeType":"VariableDeclaration","scope":40364,"src":"285141:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285141:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40350,"nodeType":"VariableDeclarationStatement","src":"285141:10:22"},{"assignments":[40352],"declarations":[{"constant":false,"id":40352,"mutability":"mutable","name":"m3","nameLocation":"285169:2:22","nodeType":"VariableDeclaration","scope":40364,"src":"285161:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285161:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40353,"nodeType":"VariableDeclarationStatement","src":"285161:10:22"},{"assignments":[40355],"declarations":[{"constant":false,"id":40355,"mutability":"mutable","name":"m4","nameLocation":"285189:2:22","nodeType":"VariableDeclaration","scope":40364,"src":"285181:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285181:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40356,"nodeType":"VariableDeclarationStatement","src":"285181:10:22"},{"AST":{"nativeSrc":"285253:378:22","nodeType":"YulBlock","src":"285253:378:22","statements":[{"nativeSrc":"285267:17:22","nodeType":"YulAssignment","src":"285267:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"285279:4:22","nodeType":"YulLiteral","src":"285279:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"285273:5:22","nodeType":"YulIdentifier","src":"285273:5:22"},"nativeSrc":"285273:11:22","nodeType":"YulFunctionCall","src":"285273:11:22"},"variableNames":[{"name":"m0","nativeSrc":"285267:2:22","nodeType":"YulIdentifier","src":"285267:2:22"}]},{"nativeSrc":"285297:17:22","nodeType":"YulAssignment","src":"285297:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"285309:4:22","nodeType":"YulLiteral","src":"285309:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"285303:5:22","nodeType":"YulIdentifier","src":"285303:5:22"},"nativeSrc":"285303:11:22","nodeType":"YulFunctionCall","src":"285303:11:22"},"variableNames":[{"name":"m1","nativeSrc":"285297:2:22","nodeType":"YulIdentifier","src":"285297:2:22"}]},{"nativeSrc":"285327:17:22","nodeType":"YulAssignment","src":"285327:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"285339:4:22","nodeType":"YulLiteral","src":"285339:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"285333:5:22","nodeType":"YulIdentifier","src":"285333:5:22"},"nativeSrc":"285333:11:22","nodeType":"YulFunctionCall","src":"285333:11:22"},"variableNames":[{"name":"m2","nativeSrc":"285327:2:22","nodeType":"YulIdentifier","src":"285327:2:22"}]},{"nativeSrc":"285357:17:22","nodeType":"YulAssignment","src":"285357:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"285369:4:22","nodeType":"YulLiteral","src":"285369:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"285363:5:22","nodeType":"YulIdentifier","src":"285363:5:22"},"nativeSrc":"285363:11:22","nodeType":"YulFunctionCall","src":"285363:11:22"},"variableNames":[{"name":"m3","nativeSrc":"285357:2:22","nodeType":"YulIdentifier","src":"285357:2:22"}]},{"nativeSrc":"285387:17:22","nodeType":"YulAssignment","src":"285387:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"285399:4:22","nodeType":"YulLiteral","src":"285399:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"285393:5:22","nodeType":"YulIdentifier","src":"285393:5:22"},"nativeSrc":"285393:11:22","nodeType":"YulFunctionCall","src":"285393:11:22"},"variableNames":[{"name":"m4","nativeSrc":"285387:2:22","nodeType":"YulIdentifier","src":"285387:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285488:4:22","nodeType":"YulLiteral","src":"285488:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"285494:10:22","nodeType":"YulLiteral","src":"285494:10:22","type":"","value":"0x15cac476"}],"functionName":{"name":"mstore","nativeSrc":"285481:6:22","nodeType":"YulIdentifier","src":"285481:6:22"},"nativeSrc":"285481:24:22","nodeType":"YulFunctionCall","src":"285481:24:22"},"nativeSrc":"285481:24:22","nodeType":"YulExpressionStatement","src":"285481:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285525:4:22","nodeType":"YulLiteral","src":"285525:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"285531:2:22","nodeType":"YulIdentifier","src":"285531:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285518:6:22","nodeType":"YulIdentifier","src":"285518:6:22"},"nativeSrc":"285518:16:22","nodeType":"YulFunctionCall","src":"285518:16:22"},"nativeSrc":"285518:16:22","nodeType":"YulExpressionStatement","src":"285518:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285554:4:22","nodeType":"YulLiteral","src":"285554:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"285560:2:22","nodeType":"YulIdentifier","src":"285560:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285547:6:22","nodeType":"YulIdentifier","src":"285547:6:22"},"nativeSrc":"285547:16:22","nodeType":"YulFunctionCall","src":"285547:16:22"},"nativeSrc":"285547:16:22","nodeType":"YulExpressionStatement","src":"285547:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285583:4:22","nodeType":"YulLiteral","src":"285583:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"285589:2:22","nodeType":"YulIdentifier","src":"285589:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285576:6:22","nodeType":"YulIdentifier","src":"285576:6:22"},"nativeSrc":"285576:16:22","nodeType":"YulFunctionCall","src":"285576:16:22"},"nativeSrc":"285576:16:22","nodeType":"YulExpressionStatement","src":"285576:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285612:4:22","nodeType":"YulLiteral","src":"285612:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"285618:2:22","nodeType":"YulIdentifier","src":"285618:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285605:6:22","nodeType":"YulIdentifier","src":"285605:6:22"},"nativeSrc":"285605:16:22","nodeType":"YulFunctionCall","src":"285605:16:22"},"nativeSrc":"285605:16:22","nodeType":"YulExpressionStatement","src":"285605:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40343,"isOffset":false,"isSlot":false,"src":"285267:2:22","valueSize":1},{"declaration":40346,"isOffset":false,"isSlot":false,"src":"285297:2:22","valueSize":1},{"declaration":40349,"isOffset":false,"isSlot":false,"src":"285327:2:22","valueSize":1},{"declaration":40352,"isOffset":false,"isSlot":false,"src":"285357:2:22","valueSize":1},{"declaration":40355,"isOffset":false,"isSlot":false,"src":"285387:2:22","valueSize":1},{"declaration":40333,"isOffset":false,"isSlot":false,"src":"285531:2:22","valueSize":1},{"declaration":40335,"isOffset":false,"isSlot":false,"src":"285560:2:22","valueSize":1},{"declaration":40337,"isOffset":false,"isSlot":false,"src":"285589:2:22","valueSize":1},{"declaration":40339,"isOffset":false,"isSlot":false,"src":"285618:2:22","valueSize":1}],"id":40357,"nodeType":"InlineAssembly","src":"285244:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285656:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285662:4:22","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":40358,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"285640:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"285640:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40362,"nodeType":"ExpressionStatement","src":"285640:27:22"},{"AST":{"nativeSrc":"285729:156:22","nodeType":"YulBlock","src":"285729:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"285750:4:22","nodeType":"YulLiteral","src":"285750:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"285756:2:22","nodeType":"YulIdentifier","src":"285756:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285743:6:22","nodeType":"YulIdentifier","src":"285743:6:22"},"nativeSrc":"285743:16:22","nodeType":"YulFunctionCall","src":"285743:16:22"},"nativeSrc":"285743:16:22","nodeType":"YulExpressionStatement","src":"285743:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285779:4:22","nodeType":"YulLiteral","src":"285779:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"285785:2:22","nodeType":"YulIdentifier","src":"285785:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285772:6:22","nodeType":"YulIdentifier","src":"285772:6:22"},"nativeSrc":"285772:16:22","nodeType":"YulFunctionCall","src":"285772:16:22"},"nativeSrc":"285772:16:22","nodeType":"YulExpressionStatement","src":"285772:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285808:4:22","nodeType":"YulLiteral","src":"285808:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"285814:2:22","nodeType":"YulIdentifier","src":"285814:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285801:6:22","nodeType":"YulIdentifier","src":"285801:6:22"},"nativeSrc":"285801:16:22","nodeType":"YulFunctionCall","src":"285801:16:22"},"nativeSrc":"285801:16:22","nodeType":"YulExpressionStatement","src":"285801:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285837:4:22","nodeType":"YulLiteral","src":"285837:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"285843:2:22","nodeType":"YulIdentifier","src":"285843:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285830:6:22","nodeType":"YulIdentifier","src":"285830:6:22"},"nativeSrc":"285830:16:22","nodeType":"YulFunctionCall","src":"285830:16:22"},"nativeSrc":"285830:16:22","nodeType":"YulExpressionStatement","src":"285830:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285866:4:22","nodeType":"YulLiteral","src":"285866:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"285872:2:22","nodeType":"YulIdentifier","src":"285872:2:22"}],"functionName":{"name":"mstore","nativeSrc":"285859:6:22","nodeType":"YulIdentifier","src":"285859:6:22"},"nativeSrc":"285859:16:22","nodeType":"YulFunctionCall","src":"285859:16:22"},"nativeSrc":"285859:16:22","nodeType":"YulExpressionStatement","src":"285859:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40343,"isOffset":false,"isSlot":false,"src":"285756:2:22","valueSize":1},{"declaration":40346,"isOffset":false,"isSlot":false,"src":"285785:2:22","valueSize":1},{"declaration":40349,"isOffset":false,"isSlot":false,"src":"285814:2:22","valueSize":1},{"declaration":40352,"isOffset":false,"isSlot":false,"src":"285843:2:22","valueSize":1},{"declaration":40355,"isOffset":false,"isSlot":false,"src":"285872:2:22","valueSize":1}],"id":40363,"nodeType":"InlineAssembly","src":"285720:165:22"}]},"id":40365,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285028:3:22","nodeType":"FunctionDefinition","parameters":{"id":40340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40333,"mutability":"mutable","name":"p0","nameLocation":"285040:2:22","nodeType":"VariableDeclaration","scope":40365,"src":"285032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40332,"name":"uint256","nodeType":"ElementaryTypeName","src":"285032:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40335,"mutability":"mutable","name":"p1","nameLocation":"285052:2:22","nodeType":"VariableDeclaration","scope":40365,"src":"285044:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40334,"name":"uint256","nodeType":"ElementaryTypeName","src":"285044:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40337,"mutability":"mutable","name":"p2","nameLocation":"285064:2:22","nodeType":"VariableDeclaration","scope":40365,"src":"285056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40336,"name":"address","nodeType":"ElementaryTypeName","src":"285056:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40339,"mutability":"mutable","name":"p3","nameLocation":"285073:2:22","nodeType":"VariableDeclaration","scope":40365,"src":"285068:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40338,"name":"bool","nodeType":"ElementaryTypeName","src":"285068:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"285031:45:22"},"returnParameters":{"id":40341,"nodeType":"ParameterList","parameters":[],"src":"285091:0:22"},"scope":44426,"src":"285019:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40398,"nodeType":"Block","src":"285972:803:22","statements":[{"assignments":[40377],"declarations":[{"constant":false,"id":40377,"mutability":"mutable","name":"m0","nameLocation":"285990:2:22","nodeType":"VariableDeclaration","scope":40398,"src":"285982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40378,"nodeType":"VariableDeclarationStatement","src":"285982:10:22"},{"assignments":[40380],"declarations":[{"constant":false,"id":40380,"mutability":"mutable","name":"m1","nameLocation":"286010:2:22","nodeType":"VariableDeclaration","scope":40398,"src":"286002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40381,"nodeType":"VariableDeclarationStatement","src":"286002:10:22"},{"assignments":[40383],"declarations":[{"constant":false,"id":40383,"mutability":"mutable","name":"m2","nameLocation":"286030:2:22","nodeType":"VariableDeclaration","scope":40398,"src":"286022:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286022:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40384,"nodeType":"VariableDeclarationStatement","src":"286022:10:22"},{"assignments":[40386],"declarations":[{"constant":false,"id":40386,"mutability":"mutable","name":"m3","nameLocation":"286050:2:22","nodeType":"VariableDeclaration","scope":40398,"src":"286042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286042:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40387,"nodeType":"VariableDeclarationStatement","src":"286042:10:22"},{"assignments":[40389],"declarations":[{"constant":false,"id":40389,"mutability":"mutable","name":"m4","nameLocation":"286070:2:22","nodeType":"VariableDeclaration","scope":40398,"src":"286062:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286062:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40390,"nodeType":"VariableDeclarationStatement","src":"286062:10:22"},{"AST":{"nativeSrc":"286134:381:22","nodeType":"YulBlock","src":"286134:381:22","statements":[{"nativeSrc":"286148:17:22","nodeType":"YulAssignment","src":"286148:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"286160:4:22","nodeType":"YulLiteral","src":"286160:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"286154:5:22","nodeType":"YulIdentifier","src":"286154:5:22"},"nativeSrc":"286154:11:22","nodeType":"YulFunctionCall","src":"286154:11:22"},"variableNames":[{"name":"m0","nativeSrc":"286148:2:22","nodeType":"YulIdentifier","src":"286148:2:22"}]},{"nativeSrc":"286178:17:22","nodeType":"YulAssignment","src":"286178:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"286190:4:22","nodeType":"YulLiteral","src":"286190:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"286184:5:22","nodeType":"YulIdentifier","src":"286184:5:22"},"nativeSrc":"286184:11:22","nodeType":"YulFunctionCall","src":"286184:11:22"},"variableNames":[{"name":"m1","nativeSrc":"286178:2:22","nodeType":"YulIdentifier","src":"286178:2:22"}]},{"nativeSrc":"286208:17:22","nodeType":"YulAssignment","src":"286208:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"286220:4:22","nodeType":"YulLiteral","src":"286220:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"286214:5:22","nodeType":"YulIdentifier","src":"286214:5:22"},"nativeSrc":"286214:11:22","nodeType":"YulFunctionCall","src":"286214:11:22"},"variableNames":[{"name":"m2","nativeSrc":"286208:2:22","nodeType":"YulIdentifier","src":"286208:2:22"}]},{"nativeSrc":"286238:17:22","nodeType":"YulAssignment","src":"286238:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"286250:4:22","nodeType":"YulLiteral","src":"286250:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"286244:5:22","nodeType":"YulIdentifier","src":"286244:5:22"},"nativeSrc":"286244:11:22","nodeType":"YulFunctionCall","src":"286244:11:22"},"variableNames":[{"name":"m3","nativeSrc":"286238:2:22","nodeType":"YulIdentifier","src":"286238:2:22"}]},{"nativeSrc":"286268:17:22","nodeType":"YulAssignment","src":"286268:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"286280:4:22","nodeType":"YulLiteral","src":"286280:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"286274:5:22","nodeType":"YulIdentifier","src":"286274:5:22"},"nativeSrc":"286274:11:22","nodeType":"YulFunctionCall","src":"286274:11:22"},"variableNames":[{"name":"m4","nativeSrc":"286268:2:22","nodeType":"YulIdentifier","src":"286268:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286372:4:22","nodeType":"YulLiteral","src":"286372:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"286378:10:22","nodeType":"YulLiteral","src":"286378:10:22","type":"","value":"0x88f6e4b2"}],"functionName":{"name":"mstore","nativeSrc":"286365:6:22","nodeType":"YulIdentifier","src":"286365:6:22"},"nativeSrc":"286365:24:22","nodeType":"YulFunctionCall","src":"286365:24:22"},"nativeSrc":"286365:24:22","nodeType":"YulExpressionStatement","src":"286365:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286409:4:22","nodeType":"YulLiteral","src":"286409:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"286415:2:22","nodeType":"YulIdentifier","src":"286415:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286402:6:22","nodeType":"YulIdentifier","src":"286402:6:22"},"nativeSrc":"286402:16:22","nodeType":"YulFunctionCall","src":"286402:16:22"},"nativeSrc":"286402:16:22","nodeType":"YulExpressionStatement","src":"286402:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286438:4:22","nodeType":"YulLiteral","src":"286438:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"286444:2:22","nodeType":"YulIdentifier","src":"286444:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286431:6:22","nodeType":"YulIdentifier","src":"286431:6:22"},"nativeSrc":"286431:16:22","nodeType":"YulFunctionCall","src":"286431:16:22"},"nativeSrc":"286431:16:22","nodeType":"YulExpressionStatement","src":"286431:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286467:4:22","nodeType":"YulLiteral","src":"286467:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"286473:2:22","nodeType":"YulIdentifier","src":"286473:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286460:6:22","nodeType":"YulIdentifier","src":"286460:6:22"},"nativeSrc":"286460:16:22","nodeType":"YulFunctionCall","src":"286460:16:22"},"nativeSrc":"286460:16:22","nodeType":"YulExpressionStatement","src":"286460:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286496:4:22","nodeType":"YulLiteral","src":"286496:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"286502:2:22","nodeType":"YulIdentifier","src":"286502:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286489:6:22","nodeType":"YulIdentifier","src":"286489:6:22"},"nativeSrc":"286489:16:22","nodeType":"YulFunctionCall","src":"286489:16:22"},"nativeSrc":"286489:16:22","nodeType":"YulExpressionStatement","src":"286489:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40377,"isOffset":false,"isSlot":false,"src":"286148:2:22","valueSize":1},{"declaration":40380,"isOffset":false,"isSlot":false,"src":"286178:2:22","valueSize":1},{"declaration":40383,"isOffset":false,"isSlot":false,"src":"286208:2:22","valueSize":1},{"declaration":40386,"isOffset":false,"isSlot":false,"src":"286238:2:22","valueSize":1},{"declaration":40389,"isOffset":false,"isSlot":false,"src":"286268:2:22","valueSize":1},{"declaration":40367,"isOffset":false,"isSlot":false,"src":"286415:2:22","valueSize":1},{"declaration":40369,"isOffset":false,"isSlot":false,"src":"286444:2:22","valueSize":1},{"declaration":40371,"isOffset":false,"isSlot":false,"src":"286473:2:22","valueSize":1},{"declaration":40373,"isOffset":false,"isSlot":false,"src":"286502:2:22","valueSize":1}],"id":40391,"nodeType":"InlineAssembly","src":"286125:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286540:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286546:4:22","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":40392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"286524:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"286524:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40396,"nodeType":"ExpressionStatement","src":"286524:27:22"},{"AST":{"nativeSrc":"286613:156:22","nodeType":"YulBlock","src":"286613:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"286634:4:22","nodeType":"YulLiteral","src":"286634:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"286640:2:22","nodeType":"YulIdentifier","src":"286640:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286627:6:22","nodeType":"YulIdentifier","src":"286627:6:22"},"nativeSrc":"286627:16:22","nodeType":"YulFunctionCall","src":"286627:16:22"},"nativeSrc":"286627:16:22","nodeType":"YulExpressionStatement","src":"286627:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286663:4:22","nodeType":"YulLiteral","src":"286663:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"286669:2:22","nodeType":"YulIdentifier","src":"286669:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286656:6:22","nodeType":"YulIdentifier","src":"286656:6:22"},"nativeSrc":"286656:16:22","nodeType":"YulFunctionCall","src":"286656:16:22"},"nativeSrc":"286656:16:22","nodeType":"YulExpressionStatement","src":"286656:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286692:4:22","nodeType":"YulLiteral","src":"286692:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"286698:2:22","nodeType":"YulIdentifier","src":"286698:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286685:6:22","nodeType":"YulIdentifier","src":"286685:6:22"},"nativeSrc":"286685:16:22","nodeType":"YulFunctionCall","src":"286685:16:22"},"nativeSrc":"286685:16:22","nodeType":"YulExpressionStatement","src":"286685:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286721:4:22","nodeType":"YulLiteral","src":"286721:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"286727:2:22","nodeType":"YulIdentifier","src":"286727:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286714:6:22","nodeType":"YulIdentifier","src":"286714:6:22"},"nativeSrc":"286714:16:22","nodeType":"YulFunctionCall","src":"286714:16:22"},"nativeSrc":"286714:16:22","nodeType":"YulExpressionStatement","src":"286714:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286750:4:22","nodeType":"YulLiteral","src":"286750:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"286756:2:22","nodeType":"YulIdentifier","src":"286756:2:22"}],"functionName":{"name":"mstore","nativeSrc":"286743:6:22","nodeType":"YulIdentifier","src":"286743:6:22"},"nativeSrc":"286743:16:22","nodeType":"YulFunctionCall","src":"286743:16:22"},"nativeSrc":"286743:16:22","nodeType":"YulExpressionStatement","src":"286743:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40377,"isOffset":false,"isSlot":false,"src":"286640:2:22","valueSize":1},{"declaration":40380,"isOffset":false,"isSlot":false,"src":"286669:2:22","valueSize":1},{"declaration":40383,"isOffset":false,"isSlot":false,"src":"286698:2:22","valueSize":1},{"declaration":40386,"isOffset":false,"isSlot":false,"src":"286727:2:22","valueSize":1},{"declaration":40389,"isOffset":false,"isSlot":false,"src":"286756:2:22","valueSize":1}],"id":40397,"nodeType":"InlineAssembly","src":"286604:165:22"}]},"id":40399,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285906:3:22","nodeType":"FunctionDefinition","parameters":{"id":40374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40367,"mutability":"mutable","name":"p0","nameLocation":"285918:2:22","nodeType":"VariableDeclaration","scope":40399,"src":"285910:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40366,"name":"uint256","nodeType":"ElementaryTypeName","src":"285910:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40369,"mutability":"mutable","name":"p1","nameLocation":"285930:2:22","nodeType":"VariableDeclaration","scope":40399,"src":"285922:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40368,"name":"uint256","nodeType":"ElementaryTypeName","src":"285922:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40371,"mutability":"mutable","name":"p2","nameLocation":"285942:2:22","nodeType":"VariableDeclaration","scope":40399,"src":"285934:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40370,"name":"address","nodeType":"ElementaryTypeName","src":"285934:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40373,"mutability":"mutable","name":"p3","nameLocation":"285954:2:22","nodeType":"VariableDeclaration","scope":40399,"src":"285946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40372,"name":"uint256","nodeType":"ElementaryTypeName","src":"285946:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"285909:48:22"},"returnParameters":{"id":40375,"nodeType":"ParameterList","parameters":[],"src":"285972:0:22"},"scope":44426,"src":"285897:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40438,"nodeType":"Block","src":"286856:1351:22","statements":[{"assignments":[40411],"declarations":[{"constant":false,"id":40411,"mutability":"mutable","name":"m0","nameLocation":"286874:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40412,"nodeType":"VariableDeclarationStatement","src":"286866:10:22"},{"assignments":[40414],"declarations":[{"constant":false,"id":40414,"mutability":"mutable","name":"m1","nameLocation":"286894:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40415,"nodeType":"VariableDeclarationStatement","src":"286886:10:22"},{"assignments":[40417],"declarations":[{"constant":false,"id":40417,"mutability":"mutable","name":"m2","nameLocation":"286914:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40418,"nodeType":"VariableDeclarationStatement","src":"286906:10:22"},{"assignments":[40420],"declarations":[{"constant":false,"id":40420,"mutability":"mutable","name":"m3","nameLocation":"286934:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40421,"nodeType":"VariableDeclarationStatement","src":"286926:10:22"},{"assignments":[40423],"declarations":[{"constant":false,"id":40423,"mutability":"mutable","name":"m4","nameLocation":"286954:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286946:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40424,"nodeType":"VariableDeclarationStatement","src":"286946:10:22"},{"assignments":[40426],"declarations":[{"constant":false,"id":40426,"mutability":"mutable","name":"m5","nameLocation":"286974:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286966:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286966:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40427,"nodeType":"VariableDeclarationStatement","src":"286966:10:22"},{"assignments":[40429],"declarations":[{"constant":false,"id":40429,"mutability":"mutable","name":"m6","nameLocation":"286994:2:22","nodeType":"VariableDeclaration","scope":40438,"src":"286986:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286986:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40430,"nodeType":"VariableDeclarationStatement","src":"286986:10:22"},{"AST":{"nativeSrc":"287058:831:22","nodeType":"YulBlock","src":"287058:831:22","statements":[{"body":{"nativeSrc":"287101:313:22","nodeType":"YulBlock","src":"287101:313:22","statements":[{"nativeSrc":"287119:15:22","nodeType":"YulVariableDeclaration","src":"287119:15:22","value":{"kind":"number","nativeSrc":"287133:1:22","nodeType":"YulLiteral","src":"287133:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"287123:6:22","nodeType":"YulTypedName","src":"287123:6:22","type":""}]},{"body":{"nativeSrc":"287204:40:22","nodeType":"YulBlock","src":"287204:40:22","statements":[{"body":{"nativeSrc":"287233:9:22","nodeType":"YulBlock","src":"287233:9:22","statements":[{"nativeSrc":"287235:5:22","nodeType":"YulBreak","src":"287235:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"287221:6:22","nodeType":"YulIdentifier","src":"287221:6:22"},{"name":"w","nativeSrc":"287229:1:22","nodeType":"YulIdentifier","src":"287229:1:22"}],"functionName":{"name":"byte","nativeSrc":"287216:4:22","nodeType":"YulIdentifier","src":"287216:4:22"},"nativeSrc":"287216:15:22","nodeType":"YulFunctionCall","src":"287216:15:22"}],"functionName":{"name":"iszero","nativeSrc":"287209:6:22","nodeType":"YulIdentifier","src":"287209:6:22"},"nativeSrc":"287209:23:22","nodeType":"YulFunctionCall","src":"287209:23:22"},"nativeSrc":"287206:36:22","nodeType":"YulIf","src":"287206:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"287161:6:22","nodeType":"YulIdentifier","src":"287161:6:22"},{"kind":"number","nativeSrc":"287169:4:22","nodeType":"YulLiteral","src":"287169:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"287158:2:22","nodeType":"YulIdentifier","src":"287158:2:22"},"nativeSrc":"287158:16:22","nodeType":"YulFunctionCall","src":"287158:16:22"},"nativeSrc":"287151:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"287175:28:22","nodeType":"YulBlock","src":"287175:28:22","statements":[{"nativeSrc":"287177:24:22","nodeType":"YulAssignment","src":"287177:24:22","value":{"arguments":[{"name":"length","nativeSrc":"287191:6:22","nodeType":"YulIdentifier","src":"287191:6:22"},{"kind":"number","nativeSrc":"287199:1:22","nodeType":"YulLiteral","src":"287199:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"287187:3:22","nodeType":"YulIdentifier","src":"287187:3:22"},"nativeSrc":"287187:14:22","nodeType":"YulFunctionCall","src":"287187:14:22"},"variableNames":[{"name":"length","nativeSrc":"287177:6:22","nodeType":"YulIdentifier","src":"287177:6:22"}]}]},"pre":{"nativeSrc":"287155:2:22","nodeType":"YulBlock","src":"287155:2:22","statements":[]},"src":"287151:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"287268:3:22","nodeType":"YulIdentifier","src":"287268:3:22"},{"name":"length","nativeSrc":"287273:6:22","nodeType":"YulIdentifier","src":"287273:6:22"}],"functionName":{"name":"mstore","nativeSrc":"287261:6:22","nodeType":"YulIdentifier","src":"287261:6:22"},"nativeSrc":"287261:19:22","nodeType":"YulFunctionCall","src":"287261:19:22"},"nativeSrc":"287261:19:22","nodeType":"YulExpressionStatement","src":"287261:19:22"},{"nativeSrc":"287297:37:22","nodeType":"YulVariableDeclaration","src":"287297:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"287314:3:22","nodeType":"YulLiteral","src":"287314:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"287323:1:22","nodeType":"YulLiteral","src":"287323:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"287326:6:22","nodeType":"YulIdentifier","src":"287326:6:22"}],"functionName":{"name":"shl","nativeSrc":"287319:3:22","nodeType":"YulIdentifier","src":"287319:3:22"},"nativeSrc":"287319:14:22","nodeType":"YulFunctionCall","src":"287319:14:22"}],"functionName":{"name":"sub","nativeSrc":"287310:3:22","nodeType":"YulIdentifier","src":"287310:3:22"},"nativeSrc":"287310:24:22","nodeType":"YulFunctionCall","src":"287310:24:22"},"variables":[{"name":"shift","nativeSrc":"287301:5:22","nodeType":"YulTypedName","src":"287301:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"287362:3:22","nodeType":"YulIdentifier","src":"287362:3:22"},{"kind":"number","nativeSrc":"287367:4:22","nodeType":"YulLiteral","src":"287367:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"287358:3:22","nodeType":"YulIdentifier","src":"287358:3:22"},"nativeSrc":"287358:14:22","nodeType":"YulFunctionCall","src":"287358:14:22"},{"arguments":[{"name":"shift","nativeSrc":"287378:5:22","nodeType":"YulIdentifier","src":"287378:5:22"},{"arguments":[{"name":"shift","nativeSrc":"287389:5:22","nodeType":"YulIdentifier","src":"287389:5:22"},{"name":"w","nativeSrc":"287396:1:22","nodeType":"YulIdentifier","src":"287396:1:22"}],"functionName":{"name":"shr","nativeSrc":"287385:3:22","nodeType":"YulIdentifier","src":"287385:3:22"},"nativeSrc":"287385:13:22","nodeType":"YulFunctionCall","src":"287385:13:22"}],"functionName":{"name":"shl","nativeSrc":"287374:3:22","nodeType":"YulIdentifier","src":"287374:3:22"},"nativeSrc":"287374:25:22","nodeType":"YulFunctionCall","src":"287374:25:22"}],"functionName":{"name":"mstore","nativeSrc":"287351:6:22","nodeType":"YulIdentifier","src":"287351:6:22"},"nativeSrc":"287351:49:22","nodeType":"YulFunctionCall","src":"287351:49:22"},"nativeSrc":"287351:49:22","nodeType":"YulExpressionStatement","src":"287351:49:22"}]},"name":"writeString","nativeSrc":"287072:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"287093:3:22","nodeType":"YulTypedName","src":"287093:3:22","type":""},{"name":"w","nativeSrc":"287098:1:22","nodeType":"YulTypedName","src":"287098:1:22","type":""}],"src":"287072:342:22"},{"nativeSrc":"287427:17:22","nodeType":"YulAssignment","src":"287427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287439:4:22","nodeType":"YulLiteral","src":"287439:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"287433:5:22","nodeType":"YulIdentifier","src":"287433:5:22"},"nativeSrc":"287433:11:22","nodeType":"YulFunctionCall","src":"287433:11:22"},"variableNames":[{"name":"m0","nativeSrc":"287427:2:22","nodeType":"YulIdentifier","src":"287427:2:22"}]},{"nativeSrc":"287457:17:22","nodeType":"YulAssignment","src":"287457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287469:4:22","nodeType":"YulLiteral","src":"287469:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"287463:5:22","nodeType":"YulIdentifier","src":"287463:5:22"},"nativeSrc":"287463:11:22","nodeType":"YulFunctionCall","src":"287463:11:22"},"variableNames":[{"name":"m1","nativeSrc":"287457:2:22","nodeType":"YulIdentifier","src":"287457:2:22"}]},{"nativeSrc":"287487:17:22","nodeType":"YulAssignment","src":"287487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287499:4:22","nodeType":"YulLiteral","src":"287499:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"287493:5:22","nodeType":"YulIdentifier","src":"287493:5:22"},"nativeSrc":"287493:11:22","nodeType":"YulFunctionCall","src":"287493:11:22"},"variableNames":[{"name":"m2","nativeSrc":"287487:2:22","nodeType":"YulIdentifier","src":"287487:2:22"}]},{"nativeSrc":"287517:17:22","nodeType":"YulAssignment","src":"287517:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287529:4:22","nodeType":"YulLiteral","src":"287529:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"287523:5:22","nodeType":"YulIdentifier","src":"287523:5:22"},"nativeSrc":"287523:11:22","nodeType":"YulFunctionCall","src":"287523:11:22"},"variableNames":[{"name":"m3","nativeSrc":"287517:2:22","nodeType":"YulIdentifier","src":"287517:2:22"}]},{"nativeSrc":"287547:17:22","nodeType":"YulAssignment","src":"287547:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287559:4:22","nodeType":"YulLiteral","src":"287559:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"287553:5:22","nodeType":"YulIdentifier","src":"287553:5:22"},"nativeSrc":"287553:11:22","nodeType":"YulFunctionCall","src":"287553:11:22"},"variableNames":[{"name":"m4","nativeSrc":"287547:2:22","nodeType":"YulIdentifier","src":"287547:2:22"}]},{"nativeSrc":"287577:17:22","nodeType":"YulAssignment","src":"287577:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287589:4:22","nodeType":"YulLiteral","src":"287589:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"287583:5:22","nodeType":"YulIdentifier","src":"287583:5:22"},"nativeSrc":"287583:11:22","nodeType":"YulFunctionCall","src":"287583:11:22"},"variableNames":[{"name":"m5","nativeSrc":"287577:2:22","nodeType":"YulIdentifier","src":"287577:2:22"}]},{"nativeSrc":"287607:17:22","nodeType":"YulAssignment","src":"287607:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"287619:4:22","nodeType":"YulLiteral","src":"287619:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"287613:5:22","nodeType":"YulIdentifier","src":"287613:5:22"},"nativeSrc":"287613:11:22","nodeType":"YulFunctionCall","src":"287613:11:22"},"variableNames":[{"name":"m6","nativeSrc":"287607:2:22","nodeType":"YulIdentifier","src":"287607:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287710:4:22","nodeType":"YulLiteral","src":"287710:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"287716:10:22","nodeType":"YulLiteral","src":"287716:10:22","type":"","value":"0x6cde40b8"}],"functionName":{"name":"mstore","nativeSrc":"287703:6:22","nodeType":"YulIdentifier","src":"287703:6:22"},"nativeSrc":"287703:24:22","nodeType":"YulFunctionCall","src":"287703:24:22"},"nativeSrc":"287703:24:22","nodeType":"YulExpressionStatement","src":"287703:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287747:4:22","nodeType":"YulLiteral","src":"287747:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"287753:2:22","nodeType":"YulIdentifier","src":"287753:2:22"}],"functionName":{"name":"mstore","nativeSrc":"287740:6:22","nodeType":"YulIdentifier","src":"287740:6:22"},"nativeSrc":"287740:16:22","nodeType":"YulFunctionCall","src":"287740:16:22"},"nativeSrc":"287740:16:22","nodeType":"YulExpressionStatement","src":"287740:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287776:4:22","nodeType":"YulLiteral","src":"287776:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"287782:2:22","nodeType":"YulIdentifier","src":"287782:2:22"}],"functionName":{"name":"mstore","nativeSrc":"287769:6:22","nodeType":"YulIdentifier","src":"287769:6:22"},"nativeSrc":"287769:16:22","nodeType":"YulFunctionCall","src":"287769:16:22"},"nativeSrc":"287769:16:22","nodeType":"YulExpressionStatement","src":"287769:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287805:4:22","nodeType":"YulLiteral","src":"287805:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"287811:2:22","nodeType":"YulIdentifier","src":"287811:2:22"}],"functionName":{"name":"mstore","nativeSrc":"287798:6:22","nodeType":"YulIdentifier","src":"287798:6:22"},"nativeSrc":"287798:16:22","nodeType":"YulFunctionCall","src":"287798:16:22"},"nativeSrc":"287798:16:22","nodeType":"YulExpressionStatement","src":"287798:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287834:4:22","nodeType":"YulLiteral","src":"287834:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"287840:4:22","nodeType":"YulLiteral","src":"287840:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"287827:6:22","nodeType":"YulIdentifier","src":"287827:6:22"},"nativeSrc":"287827:18:22","nodeType":"YulFunctionCall","src":"287827:18:22"},"nativeSrc":"287827:18:22","nodeType":"YulExpressionStatement","src":"287827:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287870:4:22","nodeType":"YulLiteral","src":"287870:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"287876:2:22","nodeType":"YulIdentifier","src":"287876:2:22"}],"functionName":{"name":"writeString","nativeSrc":"287858:11:22","nodeType":"YulIdentifier","src":"287858:11:22"},"nativeSrc":"287858:21:22","nodeType":"YulFunctionCall","src":"287858:21:22"},"nativeSrc":"287858:21:22","nodeType":"YulExpressionStatement","src":"287858:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40411,"isOffset":false,"isSlot":false,"src":"287427:2:22","valueSize":1},{"declaration":40414,"isOffset":false,"isSlot":false,"src":"287457:2:22","valueSize":1},{"declaration":40417,"isOffset":false,"isSlot":false,"src":"287487:2:22","valueSize":1},{"declaration":40420,"isOffset":false,"isSlot":false,"src":"287517:2:22","valueSize":1},{"declaration":40423,"isOffset":false,"isSlot":false,"src":"287547:2:22","valueSize":1},{"declaration":40426,"isOffset":false,"isSlot":false,"src":"287577:2:22","valueSize":1},{"declaration":40429,"isOffset":false,"isSlot":false,"src":"287607:2:22","valueSize":1},{"declaration":40401,"isOffset":false,"isSlot":false,"src":"287753:2:22","valueSize":1},{"declaration":40403,"isOffset":false,"isSlot":false,"src":"287782:2:22","valueSize":1},{"declaration":40405,"isOffset":false,"isSlot":false,"src":"287811:2:22","valueSize":1},{"declaration":40407,"isOffset":false,"isSlot":false,"src":"287876:2:22","valueSize":1}],"id":40431,"nodeType":"InlineAssembly","src":"287049:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287914:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287920:4:22","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":40432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"287898:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"287898:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40436,"nodeType":"ExpressionStatement","src":"287898:27:22"},{"AST":{"nativeSrc":"287987:214:22","nodeType":"YulBlock","src":"287987:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288008:4:22","nodeType":"YulLiteral","src":"288008:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288014:2:22","nodeType":"YulIdentifier","src":"288014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288001:6:22","nodeType":"YulIdentifier","src":"288001:6:22"},"nativeSrc":"288001:16:22","nodeType":"YulFunctionCall","src":"288001:16:22"},"nativeSrc":"288001:16:22","nodeType":"YulExpressionStatement","src":"288001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288037:4:22","nodeType":"YulLiteral","src":"288037:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288043:2:22","nodeType":"YulIdentifier","src":"288043:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288030:6:22","nodeType":"YulIdentifier","src":"288030:6:22"},"nativeSrc":"288030:16:22","nodeType":"YulFunctionCall","src":"288030:16:22"},"nativeSrc":"288030:16:22","nodeType":"YulExpressionStatement","src":"288030:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288066:4:22","nodeType":"YulLiteral","src":"288066:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"288072:2:22","nodeType":"YulIdentifier","src":"288072:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288059:6:22","nodeType":"YulIdentifier","src":"288059:6:22"},"nativeSrc":"288059:16:22","nodeType":"YulFunctionCall","src":"288059:16:22"},"nativeSrc":"288059:16:22","nodeType":"YulExpressionStatement","src":"288059:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288095:4:22","nodeType":"YulLiteral","src":"288095:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"288101:2:22","nodeType":"YulIdentifier","src":"288101:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288088:6:22","nodeType":"YulIdentifier","src":"288088:6:22"},"nativeSrc":"288088:16:22","nodeType":"YulFunctionCall","src":"288088:16:22"},"nativeSrc":"288088:16:22","nodeType":"YulExpressionStatement","src":"288088:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288124:4:22","nodeType":"YulLiteral","src":"288124:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"288130:2:22","nodeType":"YulIdentifier","src":"288130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288117:6:22","nodeType":"YulIdentifier","src":"288117:6:22"},"nativeSrc":"288117:16:22","nodeType":"YulFunctionCall","src":"288117:16:22"},"nativeSrc":"288117:16:22","nodeType":"YulExpressionStatement","src":"288117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288153:4:22","nodeType":"YulLiteral","src":"288153:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"288159:2:22","nodeType":"YulIdentifier","src":"288159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288146:6:22","nodeType":"YulIdentifier","src":"288146:6:22"},"nativeSrc":"288146:16:22","nodeType":"YulFunctionCall","src":"288146:16:22"},"nativeSrc":"288146:16:22","nodeType":"YulExpressionStatement","src":"288146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288182:4:22","nodeType":"YulLiteral","src":"288182:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"288188:2:22","nodeType":"YulIdentifier","src":"288188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288175:6:22","nodeType":"YulIdentifier","src":"288175:6:22"},"nativeSrc":"288175:16:22","nodeType":"YulFunctionCall","src":"288175:16:22"},"nativeSrc":"288175:16:22","nodeType":"YulExpressionStatement","src":"288175:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40411,"isOffset":false,"isSlot":false,"src":"288014:2:22","valueSize":1},{"declaration":40414,"isOffset":false,"isSlot":false,"src":"288043:2:22","valueSize":1},{"declaration":40417,"isOffset":false,"isSlot":false,"src":"288072:2:22","valueSize":1},{"declaration":40420,"isOffset":false,"isSlot":false,"src":"288101:2:22","valueSize":1},{"declaration":40423,"isOffset":false,"isSlot":false,"src":"288130:2:22","valueSize":1},{"declaration":40426,"isOffset":false,"isSlot":false,"src":"288159:2:22","valueSize":1},{"declaration":40429,"isOffset":false,"isSlot":false,"src":"288188:2:22","valueSize":1}],"id":40437,"nodeType":"InlineAssembly","src":"287978:223:22"}]},"id":40439,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"286790:3:22","nodeType":"FunctionDefinition","parameters":{"id":40408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40401,"mutability":"mutable","name":"p0","nameLocation":"286802:2:22","nodeType":"VariableDeclaration","scope":40439,"src":"286794:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40400,"name":"uint256","nodeType":"ElementaryTypeName","src":"286794:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40403,"mutability":"mutable","name":"p1","nameLocation":"286814:2:22","nodeType":"VariableDeclaration","scope":40439,"src":"286806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40402,"name":"uint256","nodeType":"ElementaryTypeName","src":"286806:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40405,"mutability":"mutable","name":"p2","nameLocation":"286826:2:22","nodeType":"VariableDeclaration","scope":40439,"src":"286818:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40404,"name":"address","nodeType":"ElementaryTypeName","src":"286818:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40407,"mutability":"mutable","name":"p3","nameLocation":"286838:2:22","nodeType":"VariableDeclaration","scope":40439,"src":"286830:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286830:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"286793:48:22"},"returnParameters":{"id":40409,"nodeType":"ParameterList","parameters":[],"src":"286856:0:22"},"scope":44426,"src":"286781:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40472,"nodeType":"Block","src":"288285:800:22","statements":[{"assignments":[40451],"declarations":[{"constant":false,"id":40451,"mutability":"mutable","name":"m0","nameLocation":"288303:2:22","nodeType":"VariableDeclaration","scope":40472,"src":"288295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288295:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40452,"nodeType":"VariableDeclarationStatement","src":"288295:10:22"},{"assignments":[40454],"declarations":[{"constant":false,"id":40454,"mutability":"mutable","name":"m1","nameLocation":"288323:2:22","nodeType":"VariableDeclaration","scope":40472,"src":"288315:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288315:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40455,"nodeType":"VariableDeclarationStatement","src":"288315:10:22"},{"assignments":[40457],"declarations":[{"constant":false,"id":40457,"mutability":"mutable","name":"m2","nameLocation":"288343:2:22","nodeType":"VariableDeclaration","scope":40472,"src":"288335:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288335:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40458,"nodeType":"VariableDeclarationStatement","src":"288335:10:22"},{"assignments":[40460],"declarations":[{"constant":false,"id":40460,"mutability":"mutable","name":"m3","nameLocation":"288363:2:22","nodeType":"VariableDeclaration","scope":40472,"src":"288355:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288355:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40461,"nodeType":"VariableDeclarationStatement","src":"288355:10:22"},{"assignments":[40463],"declarations":[{"constant":false,"id":40463,"mutability":"mutable","name":"m4","nameLocation":"288383:2:22","nodeType":"VariableDeclaration","scope":40472,"src":"288375:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288375:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40464,"nodeType":"VariableDeclarationStatement","src":"288375:10:22"},{"AST":{"nativeSrc":"288447:378:22","nodeType":"YulBlock","src":"288447:378:22","statements":[{"nativeSrc":"288461:17:22","nodeType":"YulAssignment","src":"288461:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"288473:4:22","nodeType":"YulLiteral","src":"288473:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"288467:5:22","nodeType":"YulIdentifier","src":"288467:5:22"},"nativeSrc":"288467:11:22","nodeType":"YulFunctionCall","src":"288467:11:22"},"variableNames":[{"name":"m0","nativeSrc":"288461:2:22","nodeType":"YulIdentifier","src":"288461:2:22"}]},{"nativeSrc":"288491:17:22","nodeType":"YulAssignment","src":"288491:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"288503:4:22","nodeType":"YulLiteral","src":"288503:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"288497:5:22","nodeType":"YulIdentifier","src":"288497:5:22"},"nativeSrc":"288497:11:22","nodeType":"YulFunctionCall","src":"288497:11:22"},"variableNames":[{"name":"m1","nativeSrc":"288491:2:22","nodeType":"YulIdentifier","src":"288491:2:22"}]},{"nativeSrc":"288521:17:22","nodeType":"YulAssignment","src":"288521:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"288533:4:22","nodeType":"YulLiteral","src":"288533:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"288527:5:22","nodeType":"YulIdentifier","src":"288527:5:22"},"nativeSrc":"288527:11:22","nodeType":"YulFunctionCall","src":"288527:11:22"},"variableNames":[{"name":"m2","nativeSrc":"288521:2:22","nodeType":"YulIdentifier","src":"288521:2:22"}]},{"nativeSrc":"288551:17:22","nodeType":"YulAssignment","src":"288551:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"288563:4:22","nodeType":"YulLiteral","src":"288563:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"288557:5:22","nodeType":"YulIdentifier","src":"288557:5:22"},"nativeSrc":"288557:11:22","nodeType":"YulFunctionCall","src":"288557:11:22"},"variableNames":[{"name":"m3","nativeSrc":"288551:2:22","nodeType":"YulIdentifier","src":"288551:2:22"}]},{"nativeSrc":"288581:17:22","nodeType":"YulAssignment","src":"288581:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"288593:4:22","nodeType":"YulLiteral","src":"288593:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"288587:5:22","nodeType":"YulIdentifier","src":"288587:5:22"},"nativeSrc":"288587:11:22","nodeType":"YulFunctionCall","src":"288587:11:22"},"variableNames":[{"name":"m4","nativeSrc":"288581:2:22","nodeType":"YulIdentifier","src":"288581:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288682:4:22","nodeType":"YulLiteral","src":"288682:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"288688:10:22","nodeType":"YulLiteral","src":"288688:10:22","type":"","value":"0x9a816a83"}],"functionName":{"name":"mstore","nativeSrc":"288675:6:22","nodeType":"YulIdentifier","src":"288675:6:22"},"nativeSrc":"288675:24:22","nodeType":"YulFunctionCall","src":"288675:24:22"},"nativeSrc":"288675:24:22","nodeType":"YulExpressionStatement","src":"288675:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288719:4:22","nodeType":"YulLiteral","src":"288719:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"288725:2:22","nodeType":"YulIdentifier","src":"288725:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288712:6:22","nodeType":"YulIdentifier","src":"288712:6:22"},"nativeSrc":"288712:16:22","nodeType":"YulFunctionCall","src":"288712:16:22"},"nativeSrc":"288712:16:22","nodeType":"YulExpressionStatement","src":"288712:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288748:4:22","nodeType":"YulLiteral","src":"288748:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"288754:2:22","nodeType":"YulIdentifier","src":"288754:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288741:6:22","nodeType":"YulIdentifier","src":"288741:6:22"},"nativeSrc":"288741:16:22","nodeType":"YulFunctionCall","src":"288741:16:22"},"nativeSrc":"288741:16:22","nodeType":"YulExpressionStatement","src":"288741:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288777:4:22","nodeType":"YulLiteral","src":"288777:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"288783:2:22","nodeType":"YulIdentifier","src":"288783:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288770:6:22","nodeType":"YulIdentifier","src":"288770:6:22"},"nativeSrc":"288770:16:22","nodeType":"YulFunctionCall","src":"288770:16:22"},"nativeSrc":"288770:16:22","nodeType":"YulExpressionStatement","src":"288770:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288806:4:22","nodeType":"YulLiteral","src":"288806:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"288812:2:22","nodeType":"YulIdentifier","src":"288812:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288799:6:22","nodeType":"YulIdentifier","src":"288799:6:22"},"nativeSrc":"288799:16:22","nodeType":"YulFunctionCall","src":"288799:16:22"},"nativeSrc":"288799:16:22","nodeType":"YulExpressionStatement","src":"288799:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40451,"isOffset":false,"isSlot":false,"src":"288461:2:22","valueSize":1},{"declaration":40454,"isOffset":false,"isSlot":false,"src":"288491:2:22","valueSize":1},{"declaration":40457,"isOffset":false,"isSlot":false,"src":"288521:2:22","valueSize":1},{"declaration":40460,"isOffset":false,"isSlot":false,"src":"288551:2:22","valueSize":1},{"declaration":40463,"isOffset":false,"isSlot":false,"src":"288581:2:22","valueSize":1},{"declaration":40441,"isOffset":false,"isSlot":false,"src":"288725:2:22","valueSize":1},{"declaration":40443,"isOffset":false,"isSlot":false,"src":"288754:2:22","valueSize":1},{"declaration":40445,"isOffset":false,"isSlot":false,"src":"288783:2:22","valueSize":1},{"declaration":40447,"isOffset":false,"isSlot":false,"src":"288812:2:22","valueSize":1}],"id":40465,"nodeType":"InlineAssembly","src":"288438:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288850:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288856:4:22","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":40466,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"288834:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"288834:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40470,"nodeType":"ExpressionStatement","src":"288834:27:22"},{"AST":{"nativeSrc":"288923:156:22","nodeType":"YulBlock","src":"288923:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288944:4:22","nodeType":"YulLiteral","src":"288944:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288950:2:22","nodeType":"YulIdentifier","src":"288950:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288937:6:22","nodeType":"YulIdentifier","src":"288937:6:22"},"nativeSrc":"288937:16:22","nodeType":"YulFunctionCall","src":"288937:16:22"},"nativeSrc":"288937:16:22","nodeType":"YulExpressionStatement","src":"288937:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288973:4:22","nodeType":"YulLiteral","src":"288973:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288979:2:22","nodeType":"YulIdentifier","src":"288979:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288966:6:22","nodeType":"YulIdentifier","src":"288966:6:22"},"nativeSrc":"288966:16:22","nodeType":"YulFunctionCall","src":"288966:16:22"},"nativeSrc":"288966:16:22","nodeType":"YulExpressionStatement","src":"288966:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289002:4:22","nodeType":"YulLiteral","src":"289002:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289008:2:22","nodeType":"YulIdentifier","src":"289008:2:22"}],"functionName":{"name":"mstore","nativeSrc":"288995:6:22","nodeType":"YulIdentifier","src":"288995:6:22"},"nativeSrc":"288995:16:22","nodeType":"YulFunctionCall","src":"288995:16:22"},"nativeSrc":"288995:16:22","nodeType":"YulExpressionStatement","src":"288995:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289031:4:22","nodeType":"YulLiteral","src":"289031:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289037:2:22","nodeType":"YulIdentifier","src":"289037:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289024:6:22","nodeType":"YulIdentifier","src":"289024:6:22"},"nativeSrc":"289024:16:22","nodeType":"YulFunctionCall","src":"289024:16:22"},"nativeSrc":"289024:16:22","nodeType":"YulExpressionStatement","src":"289024:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289060:4:22","nodeType":"YulLiteral","src":"289060:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289066:2:22","nodeType":"YulIdentifier","src":"289066:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289053:6:22","nodeType":"YulIdentifier","src":"289053:6:22"},"nativeSrc":"289053:16:22","nodeType":"YulFunctionCall","src":"289053:16:22"},"nativeSrc":"289053:16:22","nodeType":"YulExpressionStatement","src":"289053:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40451,"isOffset":false,"isSlot":false,"src":"288950:2:22","valueSize":1},{"declaration":40454,"isOffset":false,"isSlot":false,"src":"288979:2:22","valueSize":1},{"declaration":40457,"isOffset":false,"isSlot":false,"src":"289008:2:22","valueSize":1},{"declaration":40460,"isOffset":false,"isSlot":false,"src":"289037:2:22","valueSize":1},{"declaration":40463,"isOffset":false,"isSlot":false,"src":"289066:2:22","valueSize":1}],"id":40471,"nodeType":"InlineAssembly","src":"288914:165:22"}]},"id":40473,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"288222:3:22","nodeType":"FunctionDefinition","parameters":{"id":40448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40441,"mutability":"mutable","name":"p0","nameLocation":"288234:2:22","nodeType":"VariableDeclaration","scope":40473,"src":"288226:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40440,"name":"uint256","nodeType":"ElementaryTypeName","src":"288226:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40443,"mutability":"mutable","name":"p1","nameLocation":"288246:2:22","nodeType":"VariableDeclaration","scope":40473,"src":"288238:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40442,"name":"uint256","nodeType":"ElementaryTypeName","src":"288238:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40445,"mutability":"mutable","name":"p2","nameLocation":"288255:2:22","nodeType":"VariableDeclaration","scope":40473,"src":"288250:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40444,"name":"bool","nodeType":"ElementaryTypeName","src":"288250:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40447,"mutability":"mutable","name":"p3","nameLocation":"288267:2:22","nodeType":"VariableDeclaration","scope":40473,"src":"288259:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40446,"name":"address","nodeType":"ElementaryTypeName","src":"288259:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"288225:45:22"},"returnParameters":{"id":40449,"nodeType":"ParameterList","parameters":[],"src":"288285:0:22"},"scope":44426,"src":"288213:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40506,"nodeType":"Block","src":"289160:797:22","statements":[{"assignments":[40485],"declarations":[{"constant":false,"id":40485,"mutability":"mutable","name":"m0","nameLocation":"289178:2:22","nodeType":"VariableDeclaration","scope":40506,"src":"289170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289170:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40486,"nodeType":"VariableDeclarationStatement","src":"289170:10:22"},{"assignments":[40488],"declarations":[{"constant":false,"id":40488,"mutability":"mutable","name":"m1","nameLocation":"289198:2:22","nodeType":"VariableDeclaration","scope":40506,"src":"289190:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289190:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40489,"nodeType":"VariableDeclarationStatement","src":"289190:10:22"},{"assignments":[40491],"declarations":[{"constant":false,"id":40491,"mutability":"mutable","name":"m2","nameLocation":"289218:2:22","nodeType":"VariableDeclaration","scope":40506,"src":"289210:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289210:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40492,"nodeType":"VariableDeclarationStatement","src":"289210:10:22"},{"assignments":[40494],"declarations":[{"constant":false,"id":40494,"mutability":"mutable","name":"m3","nameLocation":"289238:2:22","nodeType":"VariableDeclaration","scope":40506,"src":"289230:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289230:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40495,"nodeType":"VariableDeclarationStatement","src":"289230:10:22"},{"assignments":[40497],"declarations":[{"constant":false,"id":40497,"mutability":"mutable","name":"m4","nameLocation":"289258:2:22","nodeType":"VariableDeclaration","scope":40506,"src":"289250:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289250:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40498,"nodeType":"VariableDeclarationStatement","src":"289250:10:22"},{"AST":{"nativeSrc":"289322:375:22","nodeType":"YulBlock","src":"289322:375:22","statements":[{"nativeSrc":"289336:17:22","nodeType":"YulAssignment","src":"289336:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"289348:4:22","nodeType":"YulLiteral","src":"289348:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"289342:5:22","nodeType":"YulIdentifier","src":"289342:5:22"},"nativeSrc":"289342:11:22","nodeType":"YulFunctionCall","src":"289342:11:22"},"variableNames":[{"name":"m0","nativeSrc":"289336:2:22","nodeType":"YulIdentifier","src":"289336:2:22"}]},{"nativeSrc":"289366:17:22","nodeType":"YulAssignment","src":"289366:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"289378:4:22","nodeType":"YulLiteral","src":"289378:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"289372:5:22","nodeType":"YulIdentifier","src":"289372:5:22"},"nativeSrc":"289372:11:22","nodeType":"YulFunctionCall","src":"289372:11:22"},"variableNames":[{"name":"m1","nativeSrc":"289366:2:22","nodeType":"YulIdentifier","src":"289366:2:22"}]},{"nativeSrc":"289396:17:22","nodeType":"YulAssignment","src":"289396:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"289408:4:22","nodeType":"YulLiteral","src":"289408:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"289402:5:22","nodeType":"YulIdentifier","src":"289402:5:22"},"nativeSrc":"289402:11:22","nodeType":"YulFunctionCall","src":"289402:11:22"},"variableNames":[{"name":"m2","nativeSrc":"289396:2:22","nodeType":"YulIdentifier","src":"289396:2:22"}]},{"nativeSrc":"289426:17:22","nodeType":"YulAssignment","src":"289426:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"289438:4:22","nodeType":"YulLiteral","src":"289438:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"289432:5:22","nodeType":"YulIdentifier","src":"289432:5:22"},"nativeSrc":"289432:11:22","nodeType":"YulFunctionCall","src":"289432:11:22"},"variableNames":[{"name":"m3","nativeSrc":"289426:2:22","nodeType":"YulIdentifier","src":"289426:2:22"}]},{"nativeSrc":"289456:17:22","nodeType":"YulAssignment","src":"289456:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"289468:4:22","nodeType":"YulLiteral","src":"289468:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"289462:5:22","nodeType":"YulIdentifier","src":"289462:5:22"},"nativeSrc":"289462:11:22","nodeType":"YulFunctionCall","src":"289462:11:22"},"variableNames":[{"name":"m4","nativeSrc":"289456:2:22","nodeType":"YulIdentifier","src":"289456:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289554:4:22","nodeType":"YulLiteral","src":"289554:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"289560:10:22","nodeType":"YulLiteral","src":"289560:10:22","type":"","value":"0xab085ae6"}],"functionName":{"name":"mstore","nativeSrc":"289547:6:22","nodeType":"YulIdentifier","src":"289547:6:22"},"nativeSrc":"289547:24:22","nodeType":"YulFunctionCall","src":"289547:24:22"},"nativeSrc":"289547:24:22","nodeType":"YulExpressionStatement","src":"289547:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289591:4:22","nodeType":"YulLiteral","src":"289591:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"289597:2:22","nodeType":"YulIdentifier","src":"289597:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289584:6:22","nodeType":"YulIdentifier","src":"289584:6:22"},"nativeSrc":"289584:16:22","nodeType":"YulFunctionCall","src":"289584:16:22"},"nativeSrc":"289584:16:22","nodeType":"YulExpressionStatement","src":"289584:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289620:4:22","nodeType":"YulLiteral","src":"289620:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"289626:2:22","nodeType":"YulIdentifier","src":"289626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289613:6:22","nodeType":"YulIdentifier","src":"289613:6:22"},"nativeSrc":"289613:16:22","nodeType":"YulFunctionCall","src":"289613:16:22"},"nativeSrc":"289613:16:22","nodeType":"YulExpressionStatement","src":"289613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289649:4:22","nodeType":"YulLiteral","src":"289649:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"289655:2:22","nodeType":"YulIdentifier","src":"289655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289642:6:22","nodeType":"YulIdentifier","src":"289642:6:22"},"nativeSrc":"289642:16:22","nodeType":"YulFunctionCall","src":"289642:16:22"},"nativeSrc":"289642:16:22","nodeType":"YulExpressionStatement","src":"289642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289678:4:22","nodeType":"YulLiteral","src":"289678:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"289684:2:22","nodeType":"YulIdentifier","src":"289684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289671:6:22","nodeType":"YulIdentifier","src":"289671:6:22"},"nativeSrc":"289671:16:22","nodeType":"YulFunctionCall","src":"289671:16:22"},"nativeSrc":"289671:16:22","nodeType":"YulExpressionStatement","src":"289671:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40485,"isOffset":false,"isSlot":false,"src":"289336:2:22","valueSize":1},{"declaration":40488,"isOffset":false,"isSlot":false,"src":"289366:2:22","valueSize":1},{"declaration":40491,"isOffset":false,"isSlot":false,"src":"289396:2:22","valueSize":1},{"declaration":40494,"isOffset":false,"isSlot":false,"src":"289426:2:22","valueSize":1},{"declaration":40497,"isOffset":false,"isSlot":false,"src":"289456:2:22","valueSize":1},{"declaration":40475,"isOffset":false,"isSlot":false,"src":"289597:2:22","valueSize":1},{"declaration":40477,"isOffset":false,"isSlot":false,"src":"289626:2:22","valueSize":1},{"declaration":40479,"isOffset":false,"isSlot":false,"src":"289655:2:22","valueSize":1},{"declaration":40481,"isOffset":false,"isSlot":false,"src":"289684:2:22","valueSize":1}],"id":40499,"nodeType":"InlineAssembly","src":"289313:384:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289722:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289728:4:22","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":40500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"289706:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"289706:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40504,"nodeType":"ExpressionStatement","src":"289706:27:22"},{"AST":{"nativeSrc":"289795:156:22","nodeType":"YulBlock","src":"289795:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"289816:4:22","nodeType":"YulLiteral","src":"289816:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"289822:2:22","nodeType":"YulIdentifier","src":"289822:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289809:6:22","nodeType":"YulIdentifier","src":"289809:6:22"},"nativeSrc":"289809:16:22","nodeType":"YulFunctionCall","src":"289809:16:22"},"nativeSrc":"289809:16:22","nodeType":"YulExpressionStatement","src":"289809:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289845:4:22","nodeType":"YulLiteral","src":"289845:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"289851:2:22","nodeType":"YulIdentifier","src":"289851:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289838:6:22","nodeType":"YulIdentifier","src":"289838:6:22"},"nativeSrc":"289838:16:22","nodeType":"YulFunctionCall","src":"289838:16:22"},"nativeSrc":"289838:16:22","nodeType":"YulExpressionStatement","src":"289838:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289874:4:22","nodeType":"YulLiteral","src":"289874:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289880:2:22","nodeType":"YulIdentifier","src":"289880:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289867:6:22","nodeType":"YulIdentifier","src":"289867:6:22"},"nativeSrc":"289867:16:22","nodeType":"YulFunctionCall","src":"289867:16:22"},"nativeSrc":"289867:16:22","nodeType":"YulExpressionStatement","src":"289867:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289903:4:22","nodeType":"YulLiteral","src":"289903:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289909:2:22","nodeType":"YulIdentifier","src":"289909:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289896:6:22","nodeType":"YulIdentifier","src":"289896:6:22"},"nativeSrc":"289896:16:22","nodeType":"YulFunctionCall","src":"289896:16:22"},"nativeSrc":"289896:16:22","nodeType":"YulExpressionStatement","src":"289896:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289932:4:22","nodeType":"YulLiteral","src":"289932:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289938:2:22","nodeType":"YulIdentifier","src":"289938:2:22"}],"functionName":{"name":"mstore","nativeSrc":"289925:6:22","nodeType":"YulIdentifier","src":"289925:6:22"},"nativeSrc":"289925:16:22","nodeType":"YulFunctionCall","src":"289925:16:22"},"nativeSrc":"289925:16:22","nodeType":"YulExpressionStatement","src":"289925:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40485,"isOffset":false,"isSlot":false,"src":"289822:2:22","valueSize":1},{"declaration":40488,"isOffset":false,"isSlot":false,"src":"289851:2:22","valueSize":1},{"declaration":40491,"isOffset":false,"isSlot":false,"src":"289880:2:22","valueSize":1},{"declaration":40494,"isOffset":false,"isSlot":false,"src":"289909:2:22","valueSize":1},{"declaration":40497,"isOffset":false,"isSlot":false,"src":"289938:2:22","valueSize":1}],"id":40505,"nodeType":"InlineAssembly","src":"289786:165:22"}]},"id":40507,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289100:3:22","nodeType":"FunctionDefinition","parameters":{"id":40482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40475,"mutability":"mutable","name":"p0","nameLocation":"289112:2:22","nodeType":"VariableDeclaration","scope":40507,"src":"289104:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40474,"name":"uint256","nodeType":"ElementaryTypeName","src":"289104:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40477,"mutability":"mutable","name":"p1","nameLocation":"289124:2:22","nodeType":"VariableDeclaration","scope":40507,"src":"289116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40476,"name":"uint256","nodeType":"ElementaryTypeName","src":"289116:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40479,"mutability":"mutable","name":"p2","nameLocation":"289133:2:22","nodeType":"VariableDeclaration","scope":40507,"src":"289128:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40478,"name":"bool","nodeType":"ElementaryTypeName","src":"289128:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40481,"mutability":"mutable","name":"p3","nameLocation":"289142:2:22","nodeType":"VariableDeclaration","scope":40507,"src":"289137:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40480,"name":"bool","nodeType":"ElementaryTypeName","src":"289137:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"289103:42:22"},"returnParameters":{"id":40483,"nodeType":"ParameterList","parameters":[],"src":"289160:0:22"},"scope":44426,"src":"289091:866:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40540,"nodeType":"Block","src":"290035:800:22","statements":[{"assignments":[40519],"declarations":[{"constant":false,"id":40519,"mutability":"mutable","name":"m0","nameLocation":"290053:2:22","nodeType":"VariableDeclaration","scope":40540,"src":"290045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290045:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40520,"nodeType":"VariableDeclarationStatement","src":"290045:10:22"},{"assignments":[40522],"declarations":[{"constant":false,"id":40522,"mutability":"mutable","name":"m1","nameLocation":"290073:2:22","nodeType":"VariableDeclaration","scope":40540,"src":"290065:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290065:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40523,"nodeType":"VariableDeclarationStatement","src":"290065:10:22"},{"assignments":[40525],"declarations":[{"constant":false,"id":40525,"mutability":"mutable","name":"m2","nameLocation":"290093:2:22","nodeType":"VariableDeclaration","scope":40540,"src":"290085:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290085:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40526,"nodeType":"VariableDeclarationStatement","src":"290085:10:22"},{"assignments":[40528],"declarations":[{"constant":false,"id":40528,"mutability":"mutable","name":"m3","nameLocation":"290113:2:22","nodeType":"VariableDeclaration","scope":40540,"src":"290105:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290105:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40529,"nodeType":"VariableDeclarationStatement","src":"290105:10:22"},{"assignments":[40531],"declarations":[{"constant":false,"id":40531,"mutability":"mutable","name":"m4","nameLocation":"290133:2:22","nodeType":"VariableDeclaration","scope":40540,"src":"290125:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290125:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40532,"nodeType":"VariableDeclarationStatement","src":"290125:10:22"},{"AST":{"nativeSrc":"290197:378:22","nodeType":"YulBlock","src":"290197:378:22","statements":[{"nativeSrc":"290211:17:22","nodeType":"YulAssignment","src":"290211:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"290223:4:22","nodeType":"YulLiteral","src":"290223:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"290217:5:22","nodeType":"YulIdentifier","src":"290217:5:22"},"nativeSrc":"290217:11:22","nodeType":"YulFunctionCall","src":"290217:11:22"},"variableNames":[{"name":"m0","nativeSrc":"290211:2:22","nodeType":"YulIdentifier","src":"290211:2:22"}]},{"nativeSrc":"290241:17:22","nodeType":"YulAssignment","src":"290241:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"290253:4:22","nodeType":"YulLiteral","src":"290253:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"290247:5:22","nodeType":"YulIdentifier","src":"290247:5:22"},"nativeSrc":"290247:11:22","nodeType":"YulFunctionCall","src":"290247:11:22"},"variableNames":[{"name":"m1","nativeSrc":"290241:2:22","nodeType":"YulIdentifier","src":"290241:2:22"}]},{"nativeSrc":"290271:17:22","nodeType":"YulAssignment","src":"290271:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"290283:4:22","nodeType":"YulLiteral","src":"290283:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"290277:5:22","nodeType":"YulIdentifier","src":"290277:5:22"},"nativeSrc":"290277:11:22","nodeType":"YulFunctionCall","src":"290277:11:22"},"variableNames":[{"name":"m2","nativeSrc":"290271:2:22","nodeType":"YulIdentifier","src":"290271:2:22"}]},{"nativeSrc":"290301:17:22","nodeType":"YulAssignment","src":"290301:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"290313:4:22","nodeType":"YulLiteral","src":"290313:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"290307:5:22","nodeType":"YulIdentifier","src":"290307:5:22"},"nativeSrc":"290307:11:22","nodeType":"YulFunctionCall","src":"290307:11:22"},"variableNames":[{"name":"m3","nativeSrc":"290301:2:22","nodeType":"YulIdentifier","src":"290301:2:22"}]},{"nativeSrc":"290331:17:22","nodeType":"YulAssignment","src":"290331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"290343:4:22","nodeType":"YulLiteral","src":"290343:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"290337:5:22","nodeType":"YulIdentifier","src":"290337:5:22"},"nativeSrc":"290337:11:22","nodeType":"YulFunctionCall","src":"290337:11:22"},"variableNames":[{"name":"m4","nativeSrc":"290331:2:22","nodeType":"YulIdentifier","src":"290331:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290432:4:22","nodeType":"YulLiteral","src":"290432:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"290438:10:22","nodeType":"YulLiteral","src":"290438:10:22","type":"","value":"0xeb7f6fd2"}],"functionName":{"name":"mstore","nativeSrc":"290425:6:22","nodeType":"YulIdentifier","src":"290425:6:22"},"nativeSrc":"290425:24:22","nodeType":"YulFunctionCall","src":"290425:24:22"},"nativeSrc":"290425:24:22","nodeType":"YulExpressionStatement","src":"290425:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290469:4:22","nodeType":"YulLiteral","src":"290469:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"290475:2:22","nodeType":"YulIdentifier","src":"290475:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290462:6:22","nodeType":"YulIdentifier","src":"290462:6:22"},"nativeSrc":"290462:16:22","nodeType":"YulFunctionCall","src":"290462:16:22"},"nativeSrc":"290462:16:22","nodeType":"YulExpressionStatement","src":"290462:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290498:4:22","nodeType":"YulLiteral","src":"290498:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"290504:2:22","nodeType":"YulIdentifier","src":"290504:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290491:6:22","nodeType":"YulIdentifier","src":"290491:6:22"},"nativeSrc":"290491:16:22","nodeType":"YulFunctionCall","src":"290491:16:22"},"nativeSrc":"290491:16:22","nodeType":"YulExpressionStatement","src":"290491:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290527:4:22","nodeType":"YulLiteral","src":"290527:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"290533:2:22","nodeType":"YulIdentifier","src":"290533:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290520:6:22","nodeType":"YulIdentifier","src":"290520:6:22"},"nativeSrc":"290520:16:22","nodeType":"YulFunctionCall","src":"290520:16:22"},"nativeSrc":"290520:16:22","nodeType":"YulExpressionStatement","src":"290520:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290556:4:22","nodeType":"YulLiteral","src":"290556:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"290562:2:22","nodeType":"YulIdentifier","src":"290562:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290549:6:22","nodeType":"YulIdentifier","src":"290549:6:22"},"nativeSrc":"290549:16:22","nodeType":"YulFunctionCall","src":"290549:16:22"},"nativeSrc":"290549:16:22","nodeType":"YulExpressionStatement","src":"290549:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40519,"isOffset":false,"isSlot":false,"src":"290211:2:22","valueSize":1},{"declaration":40522,"isOffset":false,"isSlot":false,"src":"290241:2:22","valueSize":1},{"declaration":40525,"isOffset":false,"isSlot":false,"src":"290271:2:22","valueSize":1},{"declaration":40528,"isOffset":false,"isSlot":false,"src":"290301:2:22","valueSize":1},{"declaration":40531,"isOffset":false,"isSlot":false,"src":"290331:2:22","valueSize":1},{"declaration":40509,"isOffset":false,"isSlot":false,"src":"290475:2:22","valueSize":1},{"declaration":40511,"isOffset":false,"isSlot":false,"src":"290504:2:22","valueSize":1},{"declaration":40513,"isOffset":false,"isSlot":false,"src":"290533:2:22","valueSize":1},{"declaration":40515,"isOffset":false,"isSlot":false,"src":"290562:2:22","valueSize":1}],"id":40533,"nodeType":"InlineAssembly","src":"290188:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290600:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290606:4:22","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":40534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"290584:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"290584:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40538,"nodeType":"ExpressionStatement","src":"290584:27:22"},{"AST":{"nativeSrc":"290673:156:22","nodeType":"YulBlock","src":"290673:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"290694:4:22","nodeType":"YulLiteral","src":"290694:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"290700:2:22","nodeType":"YulIdentifier","src":"290700:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290687:6:22","nodeType":"YulIdentifier","src":"290687:6:22"},"nativeSrc":"290687:16:22","nodeType":"YulFunctionCall","src":"290687:16:22"},"nativeSrc":"290687:16:22","nodeType":"YulExpressionStatement","src":"290687:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290723:4:22","nodeType":"YulLiteral","src":"290723:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"290729:2:22","nodeType":"YulIdentifier","src":"290729:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290716:6:22","nodeType":"YulIdentifier","src":"290716:6:22"},"nativeSrc":"290716:16:22","nodeType":"YulFunctionCall","src":"290716:16:22"},"nativeSrc":"290716:16:22","nodeType":"YulExpressionStatement","src":"290716:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290752:4:22","nodeType":"YulLiteral","src":"290752:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"290758:2:22","nodeType":"YulIdentifier","src":"290758:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290745:6:22","nodeType":"YulIdentifier","src":"290745:6:22"},"nativeSrc":"290745:16:22","nodeType":"YulFunctionCall","src":"290745:16:22"},"nativeSrc":"290745:16:22","nodeType":"YulExpressionStatement","src":"290745:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290781:4:22","nodeType":"YulLiteral","src":"290781:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"290787:2:22","nodeType":"YulIdentifier","src":"290787:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290774:6:22","nodeType":"YulIdentifier","src":"290774:6:22"},"nativeSrc":"290774:16:22","nodeType":"YulFunctionCall","src":"290774:16:22"},"nativeSrc":"290774:16:22","nodeType":"YulExpressionStatement","src":"290774:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290810:4:22","nodeType":"YulLiteral","src":"290810:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"290816:2:22","nodeType":"YulIdentifier","src":"290816:2:22"}],"functionName":{"name":"mstore","nativeSrc":"290803:6:22","nodeType":"YulIdentifier","src":"290803:6:22"},"nativeSrc":"290803:16:22","nodeType":"YulFunctionCall","src":"290803:16:22"},"nativeSrc":"290803:16:22","nodeType":"YulExpressionStatement","src":"290803:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40519,"isOffset":false,"isSlot":false,"src":"290700:2:22","valueSize":1},{"declaration":40522,"isOffset":false,"isSlot":false,"src":"290729:2:22","valueSize":1},{"declaration":40525,"isOffset":false,"isSlot":false,"src":"290758:2:22","valueSize":1},{"declaration":40528,"isOffset":false,"isSlot":false,"src":"290787:2:22","valueSize":1},{"declaration":40531,"isOffset":false,"isSlot":false,"src":"290816:2:22","valueSize":1}],"id":40539,"nodeType":"InlineAssembly","src":"290664:165:22"}]},"id":40541,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289972:3:22","nodeType":"FunctionDefinition","parameters":{"id":40516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40509,"mutability":"mutable","name":"p0","nameLocation":"289984:2:22","nodeType":"VariableDeclaration","scope":40541,"src":"289976:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40508,"name":"uint256","nodeType":"ElementaryTypeName","src":"289976:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40511,"mutability":"mutable","name":"p1","nameLocation":"289996:2:22","nodeType":"VariableDeclaration","scope":40541,"src":"289988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40510,"name":"uint256","nodeType":"ElementaryTypeName","src":"289988:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40513,"mutability":"mutable","name":"p2","nameLocation":"290005:2:22","nodeType":"VariableDeclaration","scope":40541,"src":"290000:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40512,"name":"bool","nodeType":"ElementaryTypeName","src":"290000:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40515,"mutability":"mutable","name":"p3","nameLocation":"290017:2:22","nodeType":"VariableDeclaration","scope":40541,"src":"290009:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40514,"name":"uint256","nodeType":"ElementaryTypeName","src":"290009:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"289975:45:22"},"returnParameters":{"id":40517,"nodeType":"ParameterList","parameters":[],"src":"290035:0:22"},"scope":44426,"src":"289963:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40580,"nodeType":"Block","src":"290913:1348:22","statements":[{"assignments":[40553],"declarations":[{"constant":false,"id":40553,"mutability":"mutable","name":"m0","nameLocation":"290931:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"290923:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290923:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40554,"nodeType":"VariableDeclarationStatement","src":"290923:10:22"},{"assignments":[40556],"declarations":[{"constant":false,"id":40556,"mutability":"mutable","name":"m1","nameLocation":"290951:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"290943:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290943:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40557,"nodeType":"VariableDeclarationStatement","src":"290943:10:22"},{"assignments":[40559],"declarations":[{"constant":false,"id":40559,"mutability":"mutable","name":"m2","nameLocation":"290971:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"290963:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290963:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40560,"nodeType":"VariableDeclarationStatement","src":"290963:10:22"},{"assignments":[40562],"declarations":[{"constant":false,"id":40562,"mutability":"mutable","name":"m3","nameLocation":"290991:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"290983:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290983:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40563,"nodeType":"VariableDeclarationStatement","src":"290983:10:22"},{"assignments":[40565],"declarations":[{"constant":false,"id":40565,"mutability":"mutable","name":"m4","nameLocation":"291011:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"291003:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291003:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40566,"nodeType":"VariableDeclarationStatement","src":"291003:10:22"},{"assignments":[40568],"declarations":[{"constant":false,"id":40568,"mutability":"mutable","name":"m5","nameLocation":"291031:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"291023:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291023:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40569,"nodeType":"VariableDeclarationStatement","src":"291023:10:22"},{"assignments":[40571],"declarations":[{"constant":false,"id":40571,"mutability":"mutable","name":"m6","nameLocation":"291051:2:22","nodeType":"VariableDeclaration","scope":40580,"src":"291043:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291043:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40572,"nodeType":"VariableDeclarationStatement","src":"291043:10:22"},{"AST":{"nativeSrc":"291115:828:22","nodeType":"YulBlock","src":"291115:828:22","statements":[{"body":{"nativeSrc":"291158:313:22","nodeType":"YulBlock","src":"291158:313:22","statements":[{"nativeSrc":"291176:15:22","nodeType":"YulVariableDeclaration","src":"291176:15:22","value":{"kind":"number","nativeSrc":"291190:1:22","nodeType":"YulLiteral","src":"291190:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"291180:6:22","nodeType":"YulTypedName","src":"291180:6:22","type":""}]},{"body":{"nativeSrc":"291261:40:22","nodeType":"YulBlock","src":"291261:40:22","statements":[{"body":{"nativeSrc":"291290:9:22","nodeType":"YulBlock","src":"291290:9:22","statements":[{"nativeSrc":"291292:5:22","nodeType":"YulBreak","src":"291292:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"291278:6:22","nodeType":"YulIdentifier","src":"291278:6:22"},{"name":"w","nativeSrc":"291286:1:22","nodeType":"YulIdentifier","src":"291286:1:22"}],"functionName":{"name":"byte","nativeSrc":"291273:4:22","nodeType":"YulIdentifier","src":"291273:4:22"},"nativeSrc":"291273:15:22","nodeType":"YulFunctionCall","src":"291273:15:22"}],"functionName":{"name":"iszero","nativeSrc":"291266:6:22","nodeType":"YulIdentifier","src":"291266:6:22"},"nativeSrc":"291266:23:22","nodeType":"YulFunctionCall","src":"291266:23:22"},"nativeSrc":"291263:36:22","nodeType":"YulIf","src":"291263:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"291218:6:22","nodeType":"YulIdentifier","src":"291218:6:22"},{"kind":"number","nativeSrc":"291226:4:22","nodeType":"YulLiteral","src":"291226:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"291215:2:22","nodeType":"YulIdentifier","src":"291215:2:22"},"nativeSrc":"291215:16:22","nodeType":"YulFunctionCall","src":"291215:16:22"},"nativeSrc":"291208:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"291232:28:22","nodeType":"YulBlock","src":"291232:28:22","statements":[{"nativeSrc":"291234:24:22","nodeType":"YulAssignment","src":"291234:24:22","value":{"arguments":[{"name":"length","nativeSrc":"291248:6:22","nodeType":"YulIdentifier","src":"291248:6:22"},{"kind":"number","nativeSrc":"291256:1:22","nodeType":"YulLiteral","src":"291256:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"291244:3:22","nodeType":"YulIdentifier","src":"291244:3:22"},"nativeSrc":"291244:14:22","nodeType":"YulFunctionCall","src":"291244:14:22"},"variableNames":[{"name":"length","nativeSrc":"291234:6:22","nodeType":"YulIdentifier","src":"291234:6:22"}]}]},"pre":{"nativeSrc":"291212:2:22","nodeType":"YulBlock","src":"291212:2:22","statements":[]},"src":"291208:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"291325:3:22","nodeType":"YulIdentifier","src":"291325:3:22"},{"name":"length","nativeSrc":"291330:6:22","nodeType":"YulIdentifier","src":"291330:6:22"}],"functionName":{"name":"mstore","nativeSrc":"291318:6:22","nodeType":"YulIdentifier","src":"291318:6:22"},"nativeSrc":"291318:19:22","nodeType":"YulFunctionCall","src":"291318:19:22"},"nativeSrc":"291318:19:22","nodeType":"YulExpressionStatement","src":"291318:19:22"},{"nativeSrc":"291354:37:22","nodeType":"YulVariableDeclaration","src":"291354:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"291371:3:22","nodeType":"YulLiteral","src":"291371:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"291380:1:22","nodeType":"YulLiteral","src":"291380:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"291383:6:22","nodeType":"YulIdentifier","src":"291383:6:22"}],"functionName":{"name":"shl","nativeSrc":"291376:3:22","nodeType":"YulIdentifier","src":"291376:3:22"},"nativeSrc":"291376:14:22","nodeType":"YulFunctionCall","src":"291376:14:22"}],"functionName":{"name":"sub","nativeSrc":"291367:3:22","nodeType":"YulIdentifier","src":"291367:3:22"},"nativeSrc":"291367:24:22","nodeType":"YulFunctionCall","src":"291367:24:22"},"variables":[{"name":"shift","nativeSrc":"291358:5:22","nodeType":"YulTypedName","src":"291358:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"291419:3:22","nodeType":"YulIdentifier","src":"291419:3:22"},{"kind":"number","nativeSrc":"291424:4:22","nodeType":"YulLiteral","src":"291424:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"291415:3:22","nodeType":"YulIdentifier","src":"291415:3:22"},"nativeSrc":"291415:14:22","nodeType":"YulFunctionCall","src":"291415:14:22"},{"arguments":[{"name":"shift","nativeSrc":"291435:5:22","nodeType":"YulIdentifier","src":"291435:5:22"},{"arguments":[{"name":"shift","nativeSrc":"291446:5:22","nodeType":"YulIdentifier","src":"291446:5:22"},{"name":"w","nativeSrc":"291453:1:22","nodeType":"YulIdentifier","src":"291453:1:22"}],"functionName":{"name":"shr","nativeSrc":"291442:3:22","nodeType":"YulIdentifier","src":"291442:3:22"},"nativeSrc":"291442:13:22","nodeType":"YulFunctionCall","src":"291442:13:22"}],"functionName":{"name":"shl","nativeSrc":"291431:3:22","nodeType":"YulIdentifier","src":"291431:3:22"},"nativeSrc":"291431:25:22","nodeType":"YulFunctionCall","src":"291431:25:22"}],"functionName":{"name":"mstore","nativeSrc":"291408:6:22","nodeType":"YulIdentifier","src":"291408:6:22"},"nativeSrc":"291408:49:22","nodeType":"YulFunctionCall","src":"291408:49:22"},"nativeSrc":"291408:49:22","nodeType":"YulExpressionStatement","src":"291408:49:22"}]},"name":"writeString","nativeSrc":"291129:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"291150:3:22","nodeType":"YulTypedName","src":"291150:3:22","type":""},{"name":"w","nativeSrc":"291155:1:22","nodeType":"YulTypedName","src":"291155:1:22","type":""}],"src":"291129:342:22"},{"nativeSrc":"291484:17:22","nodeType":"YulAssignment","src":"291484:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291496:4:22","nodeType":"YulLiteral","src":"291496:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"291490:5:22","nodeType":"YulIdentifier","src":"291490:5:22"},"nativeSrc":"291490:11:22","nodeType":"YulFunctionCall","src":"291490:11:22"},"variableNames":[{"name":"m0","nativeSrc":"291484:2:22","nodeType":"YulIdentifier","src":"291484:2:22"}]},{"nativeSrc":"291514:17:22","nodeType":"YulAssignment","src":"291514:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291526:4:22","nodeType":"YulLiteral","src":"291526:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"291520:5:22","nodeType":"YulIdentifier","src":"291520:5:22"},"nativeSrc":"291520:11:22","nodeType":"YulFunctionCall","src":"291520:11:22"},"variableNames":[{"name":"m1","nativeSrc":"291514:2:22","nodeType":"YulIdentifier","src":"291514:2:22"}]},{"nativeSrc":"291544:17:22","nodeType":"YulAssignment","src":"291544:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291556:4:22","nodeType":"YulLiteral","src":"291556:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"291550:5:22","nodeType":"YulIdentifier","src":"291550:5:22"},"nativeSrc":"291550:11:22","nodeType":"YulFunctionCall","src":"291550:11:22"},"variableNames":[{"name":"m2","nativeSrc":"291544:2:22","nodeType":"YulIdentifier","src":"291544:2:22"}]},{"nativeSrc":"291574:17:22","nodeType":"YulAssignment","src":"291574:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291586:4:22","nodeType":"YulLiteral","src":"291586:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"291580:5:22","nodeType":"YulIdentifier","src":"291580:5:22"},"nativeSrc":"291580:11:22","nodeType":"YulFunctionCall","src":"291580:11:22"},"variableNames":[{"name":"m3","nativeSrc":"291574:2:22","nodeType":"YulIdentifier","src":"291574:2:22"}]},{"nativeSrc":"291604:17:22","nodeType":"YulAssignment","src":"291604:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291616:4:22","nodeType":"YulLiteral","src":"291616:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"291610:5:22","nodeType":"YulIdentifier","src":"291610:5:22"},"nativeSrc":"291610:11:22","nodeType":"YulFunctionCall","src":"291610:11:22"},"variableNames":[{"name":"m4","nativeSrc":"291604:2:22","nodeType":"YulIdentifier","src":"291604:2:22"}]},{"nativeSrc":"291634:17:22","nodeType":"YulAssignment","src":"291634:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291646:4:22","nodeType":"YulLiteral","src":"291646:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"291640:5:22","nodeType":"YulIdentifier","src":"291640:5:22"},"nativeSrc":"291640:11:22","nodeType":"YulFunctionCall","src":"291640:11:22"},"variableNames":[{"name":"m5","nativeSrc":"291634:2:22","nodeType":"YulIdentifier","src":"291634:2:22"}]},{"nativeSrc":"291664:17:22","nodeType":"YulAssignment","src":"291664:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"291676:4:22","nodeType":"YulLiteral","src":"291676:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"291670:5:22","nodeType":"YulIdentifier","src":"291670:5:22"},"nativeSrc":"291670:11:22","nodeType":"YulFunctionCall","src":"291670:11:22"},"variableNames":[{"name":"m6","nativeSrc":"291664:2:22","nodeType":"YulIdentifier","src":"291664:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291764:4:22","nodeType":"YulLiteral","src":"291764:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"291770:10:22","nodeType":"YulLiteral","src":"291770:10:22","type":"","value":"0xa5b4fc99"}],"functionName":{"name":"mstore","nativeSrc":"291757:6:22","nodeType":"YulIdentifier","src":"291757:6:22"},"nativeSrc":"291757:24:22","nodeType":"YulFunctionCall","src":"291757:24:22"},"nativeSrc":"291757:24:22","nodeType":"YulExpressionStatement","src":"291757:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291801:4:22","nodeType":"YulLiteral","src":"291801:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"291807:2:22","nodeType":"YulIdentifier","src":"291807:2:22"}],"functionName":{"name":"mstore","nativeSrc":"291794:6:22","nodeType":"YulIdentifier","src":"291794:6:22"},"nativeSrc":"291794:16:22","nodeType":"YulFunctionCall","src":"291794:16:22"},"nativeSrc":"291794:16:22","nodeType":"YulExpressionStatement","src":"291794:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291830:4:22","nodeType":"YulLiteral","src":"291830:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"291836:2:22","nodeType":"YulIdentifier","src":"291836:2:22"}],"functionName":{"name":"mstore","nativeSrc":"291823:6:22","nodeType":"YulIdentifier","src":"291823:6:22"},"nativeSrc":"291823:16:22","nodeType":"YulFunctionCall","src":"291823:16:22"},"nativeSrc":"291823:16:22","nodeType":"YulExpressionStatement","src":"291823:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291859:4:22","nodeType":"YulLiteral","src":"291859:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"291865:2:22","nodeType":"YulIdentifier","src":"291865:2:22"}],"functionName":{"name":"mstore","nativeSrc":"291852:6:22","nodeType":"YulIdentifier","src":"291852:6:22"},"nativeSrc":"291852:16:22","nodeType":"YulFunctionCall","src":"291852:16:22"},"nativeSrc":"291852:16:22","nodeType":"YulExpressionStatement","src":"291852:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291888:4:22","nodeType":"YulLiteral","src":"291888:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"291894:4:22","nodeType":"YulLiteral","src":"291894:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"291881:6:22","nodeType":"YulIdentifier","src":"291881:6:22"},"nativeSrc":"291881:18:22","nodeType":"YulFunctionCall","src":"291881:18:22"},"nativeSrc":"291881:18:22","nodeType":"YulExpressionStatement","src":"291881:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291924:4:22","nodeType":"YulLiteral","src":"291924:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"291930:2:22","nodeType":"YulIdentifier","src":"291930:2:22"}],"functionName":{"name":"writeString","nativeSrc":"291912:11:22","nodeType":"YulIdentifier","src":"291912:11:22"},"nativeSrc":"291912:21:22","nodeType":"YulFunctionCall","src":"291912:21:22"},"nativeSrc":"291912:21:22","nodeType":"YulExpressionStatement","src":"291912:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40553,"isOffset":false,"isSlot":false,"src":"291484:2:22","valueSize":1},{"declaration":40556,"isOffset":false,"isSlot":false,"src":"291514:2:22","valueSize":1},{"declaration":40559,"isOffset":false,"isSlot":false,"src":"291544:2:22","valueSize":1},{"declaration":40562,"isOffset":false,"isSlot":false,"src":"291574:2:22","valueSize":1},{"declaration":40565,"isOffset":false,"isSlot":false,"src":"291604:2:22","valueSize":1},{"declaration":40568,"isOffset":false,"isSlot":false,"src":"291634:2:22","valueSize":1},{"declaration":40571,"isOffset":false,"isSlot":false,"src":"291664:2:22","valueSize":1},{"declaration":40543,"isOffset":false,"isSlot":false,"src":"291807:2:22","valueSize":1},{"declaration":40545,"isOffset":false,"isSlot":false,"src":"291836:2:22","valueSize":1},{"declaration":40547,"isOffset":false,"isSlot":false,"src":"291865:2:22","valueSize":1},{"declaration":40549,"isOffset":false,"isSlot":false,"src":"291930:2:22","valueSize":1}],"id":40573,"nodeType":"InlineAssembly","src":"291106:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291968:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291974:4:22","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":40574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"291952:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291952:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40578,"nodeType":"ExpressionStatement","src":"291952:27:22"},{"AST":{"nativeSrc":"292041:214:22","nodeType":"YulBlock","src":"292041:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"292062:4:22","nodeType":"YulLiteral","src":"292062:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"292068:2:22","nodeType":"YulIdentifier","src":"292068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292055:6:22","nodeType":"YulIdentifier","src":"292055:6:22"},"nativeSrc":"292055:16:22","nodeType":"YulFunctionCall","src":"292055:16:22"},"nativeSrc":"292055:16:22","nodeType":"YulExpressionStatement","src":"292055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292091:4:22","nodeType":"YulLiteral","src":"292091:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"292097:2:22","nodeType":"YulIdentifier","src":"292097:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292084:6:22","nodeType":"YulIdentifier","src":"292084:6:22"},"nativeSrc":"292084:16:22","nodeType":"YulFunctionCall","src":"292084:16:22"},"nativeSrc":"292084:16:22","nodeType":"YulExpressionStatement","src":"292084:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292120:4:22","nodeType":"YulLiteral","src":"292120:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"292126:2:22","nodeType":"YulIdentifier","src":"292126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292113:6:22","nodeType":"YulIdentifier","src":"292113:6:22"},"nativeSrc":"292113:16:22","nodeType":"YulFunctionCall","src":"292113:16:22"},"nativeSrc":"292113:16:22","nodeType":"YulExpressionStatement","src":"292113:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292149:4:22","nodeType":"YulLiteral","src":"292149:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"292155:2:22","nodeType":"YulIdentifier","src":"292155:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292142:6:22","nodeType":"YulIdentifier","src":"292142:6:22"},"nativeSrc":"292142:16:22","nodeType":"YulFunctionCall","src":"292142:16:22"},"nativeSrc":"292142:16:22","nodeType":"YulExpressionStatement","src":"292142:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292178:4:22","nodeType":"YulLiteral","src":"292178:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"292184:2:22","nodeType":"YulIdentifier","src":"292184:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292171:6:22","nodeType":"YulIdentifier","src":"292171:6:22"},"nativeSrc":"292171:16:22","nodeType":"YulFunctionCall","src":"292171:16:22"},"nativeSrc":"292171:16:22","nodeType":"YulExpressionStatement","src":"292171:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292207:4:22","nodeType":"YulLiteral","src":"292207:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"292213:2:22","nodeType":"YulIdentifier","src":"292213:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292200:6:22","nodeType":"YulIdentifier","src":"292200:6:22"},"nativeSrc":"292200:16:22","nodeType":"YulFunctionCall","src":"292200:16:22"},"nativeSrc":"292200:16:22","nodeType":"YulExpressionStatement","src":"292200:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292236:4:22","nodeType":"YulLiteral","src":"292236:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"292242:2:22","nodeType":"YulIdentifier","src":"292242:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292229:6:22","nodeType":"YulIdentifier","src":"292229:6:22"},"nativeSrc":"292229:16:22","nodeType":"YulFunctionCall","src":"292229:16:22"},"nativeSrc":"292229:16:22","nodeType":"YulExpressionStatement","src":"292229:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40553,"isOffset":false,"isSlot":false,"src":"292068:2:22","valueSize":1},{"declaration":40556,"isOffset":false,"isSlot":false,"src":"292097:2:22","valueSize":1},{"declaration":40559,"isOffset":false,"isSlot":false,"src":"292126:2:22","valueSize":1},{"declaration":40562,"isOffset":false,"isSlot":false,"src":"292155:2:22","valueSize":1},{"declaration":40565,"isOffset":false,"isSlot":false,"src":"292184:2:22","valueSize":1},{"declaration":40568,"isOffset":false,"isSlot":false,"src":"292213:2:22","valueSize":1},{"declaration":40571,"isOffset":false,"isSlot":false,"src":"292242:2:22","valueSize":1}],"id":40579,"nodeType":"InlineAssembly","src":"292032:223:22"}]},"id":40581,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"290850:3:22","nodeType":"FunctionDefinition","parameters":{"id":40550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40543,"mutability":"mutable","name":"p0","nameLocation":"290862:2:22","nodeType":"VariableDeclaration","scope":40581,"src":"290854:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40542,"name":"uint256","nodeType":"ElementaryTypeName","src":"290854:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40545,"mutability":"mutable","name":"p1","nameLocation":"290874:2:22","nodeType":"VariableDeclaration","scope":40581,"src":"290866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40544,"name":"uint256","nodeType":"ElementaryTypeName","src":"290866:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40547,"mutability":"mutable","name":"p2","nameLocation":"290883:2:22","nodeType":"VariableDeclaration","scope":40581,"src":"290878:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40546,"name":"bool","nodeType":"ElementaryTypeName","src":"290878:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":40549,"mutability":"mutable","name":"p3","nameLocation":"290895:2:22","nodeType":"VariableDeclaration","scope":40581,"src":"290887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"290853:45:22"},"returnParameters":{"id":40551,"nodeType":"ParameterList","parameters":[],"src":"290913:0:22"},"scope":44426,"src":"290841:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40614,"nodeType":"Block","src":"292342:803:22","statements":[{"assignments":[40593],"declarations":[{"constant":false,"id":40593,"mutability":"mutable","name":"m0","nameLocation":"292360:2:22","nodeType":"VariableDeclaration","scope":40614,"src":"292352:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292352:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40594,"nodeType":"VariableDeclarationStatement","src":"292352:10:22"},{"assignments":[40596],"declarations":[{"constant":false,"id":40596,"mutability":"mutable","name":"m1","nameLocation":"292380:2:22","nodeType":"VariableDeclaration","scope":40614,"src":"292372:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292372:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40597,"nodeType":"VariableDeclarationStatement","src":"292372:10:22"},{"assignments":[40599],"declarations":[{"constant":false,"id":40599,"mutability":"mutable","name":"m2","nameLocation":"292400:2:22","nodeType":"VariableDeclaration","scope":40614,"src":"292392:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292392:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40600,"nodeType":"VariableDeclarationStatement","src":"292392:10:22"},{"assignments":[40602],"declarations":[{"constant":false,"id":40602,"mutability":"mutable","name":"m3","nameLocation":"292420:2:22","nodeType":"VariableDeclaration","scope":40614,"src":"292412:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292412:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40603,"nodeType":"VariableDeclarationStatement","src":"292412:10:22"},{"assignments":[40605],"declarations":[{"constant":false,"id":40605,"mutability":"mutable","name":"m4","nameLocation":"292440:2:22","nodeType":"VariableDeclaration","scope":40614,"src":"292432:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292432:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40606,"nodeType":"VariableDeclarationStatement","src":"292432:10:22"},{"AST":{"nativeSrc":"292504:381:22","nodeType":"YulBlock","src":"292504:381:22","statements":[{"nativeSrc":"292518:17:22","nodeType":"YulAssignment","src":"292518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"292530:4:22","nodeType":"YulLiteral","src":"292530:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"292524:5:22","nodeType":"YulIdentifier","src":"292524:5:22"},"nativeSrc":"292524:11:22","nodeType":"YulFunctionCall","src":"292524:11:22"},"variableNames":[{"name":"m0","nativeSrc":"292518:2:22","nodeType":"YulIdentifier","src":"292518:2:22"}]},{"nativeSrc":"292548:17:22","nodeType":"YulAssignment","src":"292548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"292560:4:22","nodeType":"YulLiteral","src":"292560:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"292554:5:22","nodeType":"YulIdentifier","src":"292554:5:22"},"nativeSrc":"292554:11:22","nodeType":"YulFunctionCall","src":"292554:11:22"},"variableNames":[{"name":"m1","nativeSrc":"292548:2:22","nodeType":"YulIdentifier","src":"292548:2:22"}]},{"nativeSrc":"292578:17:22","nodeType":"YulAssignment","src":"292578:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"292590:4:22","nodeType":"YulLiteral","src":"292590:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"292584:5:22","nodeType":"YulIdentifier","src":"292584:5:22"},"nativeSrc":"292584:11:22","nodeType":"YulFunctionCall","src":"292584:11:22"},"variableNames":[{"name":"m2","nativeSrc":"292578:2:22","nodeType":"YulIdentifier","src":"292578:2:22"}]},{"nativeSrc":"292608:17:22","nodeType":"YulAssignment","src":"292608:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"292620:4:22","nodeType":"YulLiteral","src":"292620:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"292614:5:22","nodeType":"YulIdentifier","src":"292614:5:22"},"nativeSrc":"292614:11:22","nodeType":"YulFunctionCall","src":"292614:11:22"},"variableNames":[{"name":"m3","nativeSrc":"292608:2:22","nodeType":"YulIdentifier","src":"292608:2:22"}]},{"nativeSrc":"292638:17:22","nodeType":"YulAssignment","src":"292638:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"292650:4:22","nodeType":"YulLiteral","src":"292650:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"292644:5:22","nodeType":"YulIdentifier","src":"292644:5:22"},"nativeSrc":"292644:11:22","nodeType":"YulFunctionCall","src":"292644:11:22"},"variableNames":[{"name":"m4","nativeSrc":"292638:2:22","nodeType":"YulIdentifier","src":"292638:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292742:4:22","nodeType":"YulLiteral","src":"292742:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"292748:10:22","nodeType":"YulLiteral","src":"292748:10:22","type":"","value":"0xfa8185af"}],"functionName":{"name":"mstore","nativeSrc":"292735:6:22","nodeType":"YulIdentifier","src":"292735:6:22"},"nativeSrc":"292735:24:22","nodeType":"YulFunctionCall","src":"292735:24:22"},"nativeSrc":"292735:24:22","nodeType":"YulExpressionStatement","src":"292735:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292779:4:22","nodeType":"YulLiteral","src":"292779:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"292785:2:22","nodeType":"YulIdentifier","src":"292785:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292772:6:22","nodeType":"YulIdentifier","src":"292772:6:22"},"nativeSrc":"292772:16:22","nodeType":"YulFunctionCall","src":"292772:16:22"},"nativeSrc":"292772:16:22","nodeType":"YulExpressionStatement","src":"292772:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292808:4:22","nodeType":"YulLiteral","src":"292808:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"292814:2:22","nodeType":"YulIdentifier","src":"292814:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292801:6:22","nodeType":"YulIdentifier","src":"292801:6:22"},"nativeSrc":"292801:16:22","nodeType":"YulFunctionCall","src":"292801:16:22"},"nativeSrc":"292801:16:22","nodeType":"YulExpressionStatement","src":"292801:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292837:4:22","nodeType":"YulLiteral","src":"292837:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"292843:2:22","nodeType":"YulIdentifier","src":"292843:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292830:6:22","nodeType":"YulIdentifier","src":"292830:6:22"},"nativeSrc":"292830:16:22","nodeType":"YulFunctionCall","src":"292830:16:22"},"nativeSrc":"292830:16:22","nodeType":"YulExpressionStatement","src":"292830:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292866:4:22","nodeType":"YulLiteral","src":"292866:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"292872:2:22","nodeType":"YulIdentifier","src":"292872:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292859:6:22","nodeType":"YulIdentifier","src":"292859:6:22"},"nativeSrc":"292859:16:22","nodeType":"YulFunctionCall","src":"292859:16:22"},"nativeSrc":"292859:16:22","nodeType":"YulExpressionStatement","src":"292859:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40593,"isOffset":false,"isSlot":false,"src":"292518:2:22","valueSize":1},{"declaration":40596,"isOffset":false,"isSlot":false,"src":"292548:2:22","valueSize":1},{"declaration":40599,"isOffset":false,"isSlot":false,"src":"292578:2:22","valueSize":1},{"declaration":40602,"isOffset":false,"isSlot":false,"src":"292608:2:22","valueSize":1},{"declaration":40605,"isOffset":false,"isSlot":false,"src":"292638:2:22","valueSize":1},{"declaration":40583,"isOffset":false,"isSlot":false,"src":"292785:2:22","valueSize":1},{"declaration":40585,"isOffset":false,"isSlot":false,"src":"292814:2:22","valueSize":1},{"declaration":40587,"isOffset":false,"isSlot":false,"src":"292843:2:22","valueSize":1},{"declaration":40589,"isOffset":false,"isSlot":false,"src":"292872:2:22","valueSize":1}],"id":40607,"nodeType":"InlineAssembly","src":"292495:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292910:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292916:4:22","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":40608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"292894:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"292894:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40612,"nodeType":"ExpressionStatement","src":"292894:27:22"},{"AST":{"nativeSrc":"292983:156:22","nodeType":"YulBlock","src":"292983:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293004:4:22","nodeType":"YulLiteral","src":"293004:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293010:2:22","nodeType":"YulIdentifier","src":"293010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"292997:6:22","nodeType":"YulIdentifier","src":"292997:6:22"},"nativeSrc":"292997:16:22","nodeType":"YulFunctionCall","src":"292997:16:22"},"nativeSrc":"292997:16:22","nodeType":"YulExpressionStatement","src":"292997:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293033:4:22","nodeType":"YulLiteral","src":"293033:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293039:2:22","nodeType":"YulIdentifier","src":"293039:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293026:6:22","nodeType":"YulIdentifier","src":"293026:6:22"},"nativeSrc":"293026:16:22","nodeType":"YulFunctionCall","src":"293026:16:22"},"nativeSrc":"293026:16:22","nodeType":"YulExpressionStatement","src":"293026:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293062:4:22","nodeType":"YulLiteral","src":"293062:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293068:2:22","nodeType":"YulIdentifier","src":"293068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293055:6:22","nodeType":"YulIdentifier","src":"293055:6:22"},"nativeSrc":"293055:16:22","nodeType":"YulFunctionCall","src":"293055:16:22"},"nativeSrc":"293055:16:22","nodeType":"YulExpressionStatement","src":"293055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293091:4:22","nodeType":"YulLiteral","src":"293091:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293097:2:22","nodeType":"YulIdentifier","src":"293097:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293084:6:22","nodeType":"YulIdentifier","src":"293084:6:22"},"nativeSrc":"293084:16:22","nodeType":"YulFunctionCall","src":"293084:16:22"},"nativeSrc":"293084:16:22","nodeType":"YulExpressionStatement","src":"293084:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293120:4:22","nodeType":"YulLiteral","src":"293120:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"293126:2:22","nodeType":"YulIdentifier","src":"293126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293113:6:22","nodeType":"YulIdentifier","src":"293113:6:22"},"nativeSrc":"293113:16:22","nodeType":"YulFunctionCall","src":"293113:16:22"},"nativeSrc":"293113:16:22","nodeType":"YulExpressionStatement","src":"293113:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40593,"isOffset":false,"isSlot":false,"src":"293010:2:22","valueSize":1},{"declaration":40596,"isOffset":false,"isSlot":false,"src":"293039:2:22","valueSize":1},{"declaration":40599,"isOffset":false,"isSlot":false,"src":"293068:2:22","valueSize":1},{"declaration":40602,"isOffset":false,"isSlot":false,"src":"293097:2:22","valueSize":1},{"declaration":40605,"isOffset":false,"isSlot":false,"src":"293126:2:22","valueSize":1}],"id":40613,"nodeType":"InlineAssembly","src":"292974:165:22"}]},"id":40615,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"292276:3:22","nodeType":"FunctionDefinition","parameters":{"id":40590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40583,"mutability":"mutable","name":"p0","nameLocation":"292288:2:22","nodeType":"VariableDeclaration","scope":40615,"src":"292280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40582,"name":"uint256","nodeType":"ElementaryTypeName","src":"292280:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40585,"mutability":"mutable","name":"p1","nameLocation":"292300:2:22","nodeType":"VariableDeclaration","scope":40615,"src":"292292:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40584,"name":"uint256","nodeType":"ElementaryTypeName","src":"292292:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40587,"mutability":"mutable","name":"p2","nameLocation":"292312:2:22","nodeType":"VariableDeclaration","scope":40615,"src":"292304:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40586,"name":"uint256","nodeType":"ElementaryTypeName","src":"292304:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40589,"mutability":"mutable","name":"p3","nameLocation":"292324:2:22","nodeType":"VariableDeclaration","scope":40615,"src":"292316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40588,"name":"address","nodeType":"ElementaryTypeName","src":"292316:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"292279:48:22"},"returnParameters":{"id":40591,"nodeType":"ParameterList","parameters":[],"src":"292342:0:22"},"scope":44426,"src":"292267:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40648,"nodeType":"Block","src":"293223:800:22","statements":[{"assignments":[40627],"declarations":[{"constant":false,"id":40627,"mutability":"mutable","name":"m0","nameLocation":"293241:2:22","nodeType":"VariableDeclaration","scope":40648,"src":"293233:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293233:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40628,"nodeType":"VariableDeclarationStatement","src":"293233:10:22"},{"assignments":[40630],"declarations":[{"constant":false,"id":40630,"mutability":"mutable","name":"m1","nameLocation":"293261:2:22","nodeType":"VariableDeclaration","scope":40648,"src":"293253:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293253:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40631,"nodeType":"VariableDeclarationStatement","src":"293253:10:22"},{"assignments":[40633],"declarations":[{"constant":false,"id":40633,"mutability":"mutable","name":"m2","nameLocation":"293281:2:22","nodeType":"VariableDeclaration","scope":40648,"src":"293273:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293273:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40634,"nodeType":"VariableDeclarationStatement","src":"293273:10:22"},{"assignments":[40636],"declarations":[{"constant":false,"id":40636,"mutability":"mutable","name":"m3","nameLocation":"293301:2:22","nodeType":"VariableDeclaration","scope":40648,"src":"293293:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293293:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40637,"nodeType":"VariableDeclarationStatement","src":"293293:10:22"},{"assignments":[40639],"declarations":[{"constant":false,"id":40639,"mutability":"mutable","name":"m4","nameLocation":"293321:2:22","nodeType":"VariableDeclaration","scope":40648,"src":"293313:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293313:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40640,"nodeType":"VariableDeclarationStatement","src":"293313:10:22"},{"AST":{"nativeSrc":"293385:378:22","nodeType":"YulBlock","src":"293385:378:22","statements":[{"nativeSrc":"293399:17:22","nodeType":"YulAssignment","src":"293399:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"293411:4:22","nodeType":"YulLiteral","src":"293411:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"293405:5:22","nodeType":"YulIdentifier","src":"293405:5:22"},"nativeSrc":"293405:11:22","nodeType":"YulFunctionCall","src":"293405:11:22"},"variableNames":[{"name":"m0","nativeSrc":"293399:2:22","nodeType":"YulIdentifier","src":"293399:2:22"}]},{"nativeSrc":"293429:17:22","nodeType":"YulAssignment","src":"293429:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"293441:4:22","nodeType":"YulLiteral","src":"293441:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"293435:5:22","nodeType":"YulIdentifier","src":"293435:5:22"},"nativeSrc":"293435:11:22","nodeType":"YulFunctionCall","src":"293435:11:22"},"variableNames":[{"name":"m1","nativeSrc":"293429:2:22","nodeType":"YulIdentifier","src":"293429:2:22"}]},{"nativeSrc":"293459:17:22","nodeType":"YulAssignment","src":"293459:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"293471:4:22","nodeType":"YulLiteral","src":"293471:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"293465:5:22","nodeType":"YulIdentifier","src":"293465:5:22"},"nativeSrc":"293465:11:22","nodeType":"YulFunctionCall","src":"293465:11:22"},"variableNames":[{"name":"m2","nativeSrc":"293459:2:22","nodeType":"YulIdentifier","src":"293459:2:22"}]},{"nativeSrc":"293489:17:22","nodeType":"YulAssignment","src":"293489:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"293501:4:22","nodeType":"YulLiteral","src":"293501:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"293495:5:22","nodeType":"YulIdentifier","src":"293495:5:22"},"nativeSrc":"293495:11:22","nodeType":"YulFunctionCall","src":"293495:11:22"},"variableNames":[{"name":"m3","nativeSrc":"293489:2:22","nodeType":"YulIdentifier","src":"293489:2:22"}]},{"nativeSrc":"293519:17:22","nodeType":"YulAssignment","src":"293519:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"293531:4:22","nodeType":"YulLiteral","src":"293531:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"293525:5:22","nodeType":"YulIdentifier","src":"293525:5:22"},"nativeSrc":"293525:11:22","nodeType":"YulFunctionCall","src":"293525:11:22"},"variableNames":[{"name":"m4","nativeSrc":"293519:2:22","nodeType":"YulIdentifier","src":"293519:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293620:4:22","nodeType":"YulLiteral","src":"293620:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"293626:10:22","nodeType":"YulLiteral","src":"293626:10:22","type":"","value":"0xc598d185"}],"functionName":{"name":"mstore","nativeSrc":"293613:6:22","nodeType":"YulIdentifier","src":"293613:6:22"},"nativeSrc":"293613:24:22","nodeType":"YulFunctionCall","src":"293613:24:22"},"nativeSrc":"293613:24:22","nodeType":"YulExpressionStatement","src":"293613:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293657:4:22","nodeType":"YulLiteral","src":"293657:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"293663:2:22","nodeType":"YulIdentifier","src":"293663:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293650:6:22","nodeType":"YulIdentifier","src":"293650:6:22"},"nativeSrc":"293650:16:22","nodeType":"YulFunctionCall","src":"293650:16:22"},"nativeSrc":"293650:16:22","nodeType":"YulExpressionStatement","src":"293650:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293686:4:22","nodeType":"YulLiteral","src":"293686:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"293692:2:22","nodeType":"YulIdentifier","src":"293692:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293679:6:22","nodeType":"YulIdentifier","src":"293679:6:22"},"nativeSrc":"293679:16:22","nodeType":"YulFunctionCall","src":"293679:16:22"},"nativeSrc":"293679:16:22","nodeType":"YulExpressionStatement","src":"293679:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293715:4:22","nodeType":"YulLiteral","src":"293715:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"293721:2:22","nodeType":"YulIdentifier","src":"293721:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293708:6:22","nodeType":"YulIdentifier","src":"293708:6:22"},"nativeSrc":"293708:16:22","nodeType":"YulFunctionCall","src":"293708:16:22"},"nativeSrc":"293708:16:22","nodeType":"YulExpressionStatement","src":"293708:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293744:4:22","nodeType":"YulLiteral","src":"293744:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"293750:2:22","nodeType":"YulIdentifier","src":"293750:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293737:6:22","nodeType":"YulIdentifier","src":"293737:6:22"},"nativeSrc":"293737:16:22","nodeType":"YulFunctionCall","src":"293737:16:22"},"nativeSrc":"293737:16:22","nodeType":"YulExpressionStatement","src":"293737:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40627,"isOffset":false,"isSlot":false,"src":"293399:2:22","valueSize":1},{"declaration":40630,"isOffset":false,"isSlot":false,"src":"293429:2:22","valueSize":1},{"declaration":40633,"isOffset":false,"isSlot":false,"src":"293459:2:22","valueSize":1},{"declaration":40636,"isOffset":false,"isSlot":false,"src":"293489:2:22","valueSize":1},{"declaration":40639,"isOffset":false,"isSlot":false,"src":"293519:2:22","valueSize":1},{"declaration":40617,"isOffset":false,"isSlot":false,"src":"293663:2:22","valueSize":1},{"declaration":40619,"isOffset":false,"isSlot":false,"src":"293692:2:22","valueSize":1},{"declaration":40621,"isOffset":false,"isSlot":false,"src":"293721:2:22","valueSize":1},{"declaration":40623,"isOffset":false,"isSlot":false,"src":"293750:2:22","valueSize":1}],"id":40641,"nodeType":"InlineAssembly","src":"293376:387:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293788:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293794:4:22","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":40642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"293772:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293772:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40646,"nodeType":"ExpressionStatement","src":"293772:27:22"},{"AST":{"nativeSrc":"293861:156:22","nodeType":"YulBlock","src":"293861:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293882:4:22","nodeType":"YulLiteral","src":"293882:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293888:2:22","nodeType":"YulIdentifier","src":"293888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293875:6:22","nodeType":"YulIdentifier","src":"293875:6:22"},"nativeSrc":"293875:16:22","nodeType":"YulFunctionCall","src":"293875:16:22"},"nativeSrc":"293875:16:22","nodeType":"YulExpressionStatement","src":"293875:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293911:4:22","nodeType":"YulLiteral","src":"293911:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293917:2:22","nodeType":"YulIdentifier","src":"293917:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293904:6:22","nodeType":"YulIdentifier","src":"293904:6:22"},"nativeSrc":"293904:16:22","nodeType":"YulFunctionCall","src":"293904:16:22"},"nativeSrc":"293904:16:22","nodeType":"YulExpressionStatement","src":"293904:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293940:4:22","nodeType":"YulLiteral","src":"293940:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293946:2:22","nodeType":"YulIdentifier","src":"293946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293933:6:22","nodeType":"YulIdentifier","src":"293933:6:22"},"nativeSrc":"293933:16:22","nodeType":"YulFunctionCall","src":"293933:16:22"},"nativeSrc":"293933:16:22","nodeType":"YulExpressionStatement","src":"293933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293969:4:22","nodeType":"YulLiteral","src":"293969:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293975:2:22","nodeType":"YulIdentifier","src":"293975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293962:6:22","nodeType":"YulIdentifier","src":"293962:6:22"},"nativeSrc":"293962:16:22","nodeType":"YulFunctionCall","src":"293962:16:22"},"nativeSrc":"293962:16:22","nodeType":"YulExpressionStatement","src":"293962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293998:4:22","nodeType":"YulLiteral","src":"293998:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294004:2:22","nodeType":"YulIdentifier","src":"294004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"293991:6:22","nodeType":"YulIdentifier","src":"293991:6:22"},"nativeSrc":"293991:16:22","nodeType":"YulFunctionCall","src":"293991:16:22"},"nativeSrc":"293991:16:22","nodeType":"YulExpressionStatement","src":"293991:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40627,"isOffset":false,"isSlot":false,"src":"293888:2:22","valueSize":1},{"declaration":40630,"isOffset":false,"isSlot":false,"src":"293917:2:22","valueSize":1},{"declaration":40633,"isOffset":false,"isSlot":false,"src":"293946:2:22","valueSize":1},{"declaration":40636,"isOffset":false,"isSlot":false,"src":"293975:2:22","valueSize":1},{"declaration":40639,"isOffset":false,"isSlot":false,"src":"294004:2:22","valueSize":1}],"id":40647,"nodeType":"InlineAssembly","src":"293852:165:22"}]},"id":40649,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"293160:3:22","nodeType":"FunctionDefinition","parameters":{"id":40624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40617,"mutability":"mutable","name":"p0","nameLocation":"293172:2:22","nodeType":"VariableDeclaration","scope":40649,"src":"293164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40616,"name":"uint256","nodeType":"ElementaryTypeName","src":"293164:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40619,"mutability":"mutable","name":"p1","nameLocation":"293184:2:22","nodeType":"VariableDeclaration","scope":40649,"src":"293176:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40618,"name":"uint256","nodeType":"ElementaryTypeName","src":"293176:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40621,"mutability":"mutable","name":"p2","nameLocation":"293196:2:22","nodeType":"VariableDeclaration","scope":40649,"src":"293188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40620,"name":"uint256","nodeType":"ElementaryTypeName","src":"293188:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40623,"mutability":"mutable","name":"p3","nameLocation":"293205:2:22","nodeType":"VariableDeclaration","scope":40649,"src":"293200:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40622,"name":"bool","nodeType":"ElementaryTypeName","src":"293200:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"293163:45:22"},"returnParameters":{"id":40625,"nodeType":"ParameterList","parameters":[],"src":"293223:0:22"},"scope":44426,"src":"293151:872:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40682,"nodeType":"Block","src":"294104:803:22","statements":[{"assignments":[40661],"declarations":[{"constant":false,"id":40661,"mutability":"mutable","name":"m0","nameLocation":"294122:2:22","nodeType":"VariableDeclaration","scope":40682,"src":"294114:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294114:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40662,"nodeType":"VariableDeclarationStatement","src":"294114:10:22"},{"assignments":[40664],"declarations":[{"constant":false,"id":40664,"mutability":"mutable","name":"m1","nameLocation":"294142:2:22","nodeType":"VariableDeclaration","scope":40682,"src":"294134:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294134:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40665,"nodeType":"VariableDeclarationStatement","src":"294134:10:22"},{"assignments":[40667],"declarations":[{"constant":false,"id":40667,"mutability":"mutable","name":"m2","nameLocation":"294162:2:22","nodeType":"VariableDeclaration","scope":40682,"src":"294154:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294154:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40668,"nodeType":"VariableDeclarationStatement","src":"294154:10:22"},{"assignments":[40670],"declarations":[{"constant":false,"id":40670,"mutability":"mutable","name":"m3","nameLocation":"294182:2:22","nodeType":"VariableDeclaration","scope":40682,"src":"294174:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294174:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40671,"nodeType":"VariableDeclarationStatement","src":"294174:10:22"},{"assignments":[40673],"declarations":[{"constant":false,"id":40673,"mutability":"mutable","name":"m4","nameLocation":"294202:2:22","nodeType":"VariableDeclaration","scope":40682,"src":"294194:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294194:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40674,"nodeType":"VariableDeclarationStatement","src":"294194:10:22"},{"AST":{"nativeSrc":"294266:381:22","nodeType":"YulBlock","src":"294266:381:22","statements":[{"nativeSrc":"294280:17:22","nodeType":"YulAssignment","src":"294280:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"294292:4:22","nodeType":"YulLiteral","src":"294292:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"294286:5:22","nodeType":"YulIdentifier","src":"294286:5:22"},"nativeSrc":"294286:11:22","nodeType":"YulFunctionCall","src":"294286:11:22"},"variableNames":[{"name":"m0","nativeSrc":"294280:2:22","nodeType":"YulIdentifier","src":"294280:2:22"}]},{"nativeSrc":"294310:17:22","nodeType":"YulAssignment","src":"294310:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"294322:4:22","nodeType":"YulLiteral","src":"294322:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"294316:5:22","nodeType":"YulIdentifier","src":"294316:5:22"},"nativeSrc":"294316:11:22","nodeType":"YulFunctionCall","src":"294316:11:22"},"variableNames":[{"name":"m1","nativeSrc":"294310:2:22","nodeType":"YulIdentifier","src":"294310:2:22"}]},{"nativeSrc":"294340:17:22","nodeType":"YulAssignment","src":"294340:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"294352:4:22","nodeType":"YulLiteral","src":"294352:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"294346:5:22","nodeType":"YulIdentifier","src":"294346:5:22"},"nativeSrc":"294346:11:22","nodeType":"YulFunctionCall","src":"294346:11:22"},"variableNames":[{"name":"m2","nativeSrc":"294340:2:22","nodeType":"YulIdentifier","src":"294340:2:22"}]},{"nativeSrc":"294370:17:22","nodeType":"YulAssignment","src":"294370:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"294382:4:22","nodeType":"YulLiteral","src":"294382:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"294376:5:22","nodeType":"YulIdentifier","src":"294376:5:22"},"nativeSrc":"294376:11:22","nodeType":"YulFunctionCall","src":"294376:11:22"},"variableNames":[{"name":"m3","nativeSrc":"294370:2:22","nodeType":"YulIdentifier","src":"294370:2:22"}]},{"nativeSrc":"294400:17:22","nodeType":"YulAssignment","src":"294400:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"294412:4:22","nodeType":"YulLiteral","src":"294412:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"294406:5:22","nodeType":"YulIdentifier","src":"294406:5:22"},"nativeSrc":"294406:11:22","nodeType":"YulFunctionCall","src":"294406:11:22"},"variableNames":[{"name":"m4","nativeSrc":"294400:2:22","nodeType":"YulIdentifier","src":"294400:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294504:4:22","nodeType":"YulLiteral","src":"294504:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"294510:10:22","nodeType":"YulLiteral","src":"294510:10:22","type":"","value":"0x193fb800"}],"functionName":{"name":"mstore","nativeSrc":"294497:6:22","nodeType":"YulIdentifier","src":"294497:6:22"},"nativeSrc":"294497:24:22","nodeType":"YulFunctionCall","src":"294497:24:22"},"nativeSrc":"294497:24:22","nodeType":"YulExpressionStatement","src":"294497:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294541:4:22","nodeType":"YulLiteral","src":"294541:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"294547:2:22","nodeType":"YulIdentifier","src":"294547:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294534:6:22","nodeType":"YulIdentifier","src":"294534:6:22"},"nativeSrc":"294534:16:22","nodeType":"YulFunctionCall","src":"294534:16:22"},"nativeSrc":"294534:16:22","nodeType":"YulExpressionStatement","src":"294534:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294570:4:22","nodeType":"YulLiteral","src":"294570:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"294576:2:22","nodeType":"YulIdentifier","src":"294576:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294563:6:22","nodeType":"YulIdentifier","src":"294563:6:22"},"nativeSrc":"294563:16:22","nodeType":"YulFunctionCall","src":"294563:16:22"},"nativeSrc":"294563:16:22","nodeType":"YulExpressionStatement","src":"294563:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294599:4:22","nodeType":"YulLiteral","src":"294599:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"294605:2:22","nodeType":"YulIdentifier","src":"294605:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294592:6:22","nodeType":"YulIdentifier","src":"294592:6:22"},"nativeSrc":"294592:16:22","nodeType":"YulFunctionCall","src":"294592:16:22"},"nativeSrc":"294592:16:22","nodeType":"YulExpressionStatement","src":"294592:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294628:4:22","nodeType":"YulLiteral","src":"294628:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"294634:2:22","nodeType":"YulIdentifier","src":"294634:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294621:6:22","nodeType":"YulIdentifier","src":"294621:6:22"},"nativeSrc":"294621:16:22","nodeType":"YulFunctionCall","src":"294621:16:22"},"nativeSrc":"294621:16:22","nodeType":"YulExpressionStatement","src":"294621:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40661,"isOffset":false,"isSlot":false,"src":"294280:2:22","valueSize":1},{"declaration":40664,"isOffset":false,"isSlot":false,"src":"294310:2:22","valueSize":1},{"declaration":40667,"isOffset":false,"isSlot":false,"src":"294340:2:22","valueSize":1},{"declaration":40670,"isOffset":false,"isSlot":false,"src":"294370:2:22","valueSize":1},{"declaration":40673,"isOffset":false,"isSlot":false,"src":"294400:2:22","valueSize":1},{"declaration":40651,"isOffset":false,"isSlot":false,"src":"294547:2:22","valueSize":1},{"declaration":40653,"isOffset":false,"isSlot":false,"src":"294576:2:22","valueSize":1},{"declaration":40655,"isOffset":false,"isSlot":false,"src":"294605:2:22","valueSize":1},{"declaration":40657,"isOffset":false,"isSlot":false,"src":"294634:2:22","valueSize":1}],"id":40675,"nodeType":"InlineAssembly","src":"294257:390:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294672:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":40678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294678:4:22","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":40676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"294656:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294656:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40680,"nodeType":"ExpressionStatement","src":"294656:27:22"},{"AST":{"nativeSrc":"294745:156:22","nodeType":"YulBlock","src":"294745:156:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"294766:4:22","nodeType":"YulLiteral","src":"294766:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"294772:2:22","nodeType":"YulIdentifier","src":"294772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294759:6:22","nodeType":"YulIdentifier","src":"294759:6:22"},"nativeSrc":"294759:16:22","nodeType":"YulFunctionCall","src":"294759:16:22"},"nativeSrc":"294759:16:22","nodeType":"YulExpressionStatement","src":"294759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294795:4:22","nodeType":"YulLiteral","src":"294795:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"294801:2:22","nodeType":"YulIdentifier","src":"294801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294788:6:22","nodeType":"YulIdentifier","src":"294788:6:22"},"nativeSrc":"294788:16:22","nodeType":"YulFunctionCall","src":"294788:16:22"},"nativeSrc":"294788:16:22","nodeType":"YulExpressionStatement","src":"294788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294824:4:22","nodeType":"YulLiteral","src":"294824:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"294830:2:22","nodeType":"YulIdentifier","src":"294830:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294817:6:22","nodeType":"YulIdentifier","src":"294817:6:22"},"nativeSrc":"294817:16:22","nodeType":"YulFunctionCall","src":"294817:16:22"},"nativeSrc":"294817:16:22","nodeType":"YulExpressionStatement","src":"294817:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294853:4:22","nodeType":"YulLiteral","src":"294853:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"294859:2:22","nodeType":"YulIdentifier","src":"294859:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294846:6:22","nodeType":"YulIdentifier","src":"294846:6:22"},"nativeSrc":"294846:16:22","nodeType":"YulFunctionCall","src":"294846:16:22"},"nativeSrc":"294846:16:22","nodeType":"YulExpressionStatement","src":"294846:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294882:4:22","nodeType":"YulLiteral","src":"294882:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294888:2:22","nodeType":"YulIdentifier","src":"294888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"294875:6:22","nodeType":"YulIdentifier","src":"294875:6:22"},"nativeSrc":"294875:16:22","nodeType":"YulFunctionCall","src":"294875:16:22"},"nativeSrc":"294875:16:22","nodeType":"YulExpressionStatement","src":"294875:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40661,"isOffset":false,"isSlot":false,"src":"294772:2:22","valueSize":1},{"declaration":40664,"isOffset":false,"isSlot":false,"src":"294801:2:22","valueSize":1},{"declaration":40667,"isOffset":false,"isSlot":false,"src":"294830:2:22","valueSize":1},{"declaration":40670,"isOffset":false,"isSlot":false,"src":"294859:2:22","valueSize":1},{"declaration":40673,"isOffset":false,"isSlot":false,"src":"294888:2:22","valueSize":1}],"id":40681,"nodeType":"InlineAssembly","src":"294736:165:22"}]},"id":40683,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294038:3:22","nodeType":"FunctionDefinition","parameters":{"id":40658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40651,"mutability":"mutable","name":"p0","nameLocation":"294050:2:22","nodeType":"VariableDeclaration","scope":40683,"src":"294042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40650,"name":"uint256","nodeType":"ElementaryTypeName","src":"294042:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40653,"mutability":"mutable","name":"p1","nameLocation":"294062:2:22","nodeType":"VariableDeclaration","scope":40683,"src":"294054:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40652,"name":"uint256","nodeType":"ElementaryTypeName","src":"294054:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40655,"mutability":"mutable","name":"p2","nameLocation":"294074:2:22","nodeType":"VariableDeclaration","scope":40683,"src":"294066:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40654,"name":"uint256","nodeType":"ElementaryTypeName","src":"294066:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40657,"mutability":"mutable","name":"p3","nameLocation":"294086:2:22","nodeType":"VariableDeclaration","scope":40683,"src":"294078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40656,"name":"uint256","nodeType":"ElementaryTypeName","src":"294078:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"294041:48:22"},"returnParameters":{"id":40659,"nodeType":"ParameterList","parameters":[],"src":"294104:0:22"},"scope":44426,"src":"294029:878:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40722,"nodeType":"Block","src":"294988:1351:22","statements":[{"assignments":[40695],"declarations":[{"constant":false,"id":40695,"mutability":"mutable","name":"m0","nameLocation":"295006:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"294998:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294998:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40696,"nodeType":"VariableDeclarationStatement","src":"294998:10:22"},{"assignments":[40698],"declarations":[{"constant":false,"id":40698,"mutability":"mutable","name":"m1","nameLocation":"295026:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295018:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295018:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40699,"nodeType":"VariableDeclarationStatement","src":"295018:10:22"},{"assignments":[40701],"declarations":[{"constant":false,"id":40701,"mutability":"mutable","name":"m2","nameLocation":"295046:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295038:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295038:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40702,"nodeType":"VariableDeclarationStatement","src":"295038:10:22"},{"assignments":[40704],"declarations":[{"constant":false,"id":40704,"mutability":"mutable","name":"m3","nameLocation":"295066:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295058:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295058:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40705,"nodeType":"VariableDeclarationStatement","src":"295058:10:22"},{"assignments":[40707],"declarations":[{"constant":false,"id":40707,"mutability":"mutable","name":"m4","nameLocation":"295086:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295078:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40708,"nodeType":"VariableDeclarationStatement","src":"295078:10:22"},{"assignments":[40710],"declarations":[{"constant":false,"id":40710,"mutability":"mutable","name":"m5","nameLocation":"295106:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295098:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40711,"nodeType":"VariableDeclarationStatement","src":"295098:10:22"},{"assignments":[40713],"declarations":[{"constant":false,"id":40713,"mutability":"mutable","name":"m6","nameLocation":"295126:2:22","nodeType":"VariableDeclaration","scope":40722,"src":"295118:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295118:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40714,"nodeType":"VariableDeclarationStatement","src":"295118:10:22"},{"AST":{"nativeSrc":"295190:831:22","nodeType":"YulBlock","src":"295190:831:22","statements":[{"body":{"nativeSrc":"295233:313:22","nodeType":"YulBlock","src":"295233:313:22","statements":[{"nativeSrc":"295251:15:22","nodeType":"YulVariableDeclaration","src":"295251:15:22","value":{"kind":"number","nativeSrc":"295265:1:22","nodeType":"YulLiteral","src":"295265:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"295255:6:22","nodeType":"YulTypedName","src":"295255:6:22","type":""}]},{"body":{"nativeSrc":"295336:40:22","nodeType":"YulBlock","src":"295336:40:22","statements":[{"body":{"nativeSrc":"295365:9:22","nodeType":"YulBlock","src":"295365:9:22","statements":[{"nativeSrc":"295367:5:22","nodeType":"YulBreak","src":"295367:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"295353:6:22","nodeType":"YulIdentifier","src":"295353:6:22"},{"name":"w","nativeSrc":"295361:1:22","nodeType":"YulIdentifier","src":"295361:1:22"}],"functionName":{"name":"byte","nativeSrc":"295348:4:22","nodeType":"YulIdentifier","src":"295348:4:22"},"nativeSrc":"295348:15:22","nodeType":"YulFunctionCall","src":"295348:15:22"}],"functionName":{"name":"iszero","nativeSrc":"295341:6:22","nodeType":"YulIdentifier","src":"295341:6:22"},"nativeSrc":"295341:23:22","nodeType":"YulFunctionCall","src":"295341:23:22"},"nativeSrc":"295338:36:22","nodeType":"YulIf","src":"295338:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"295293:6:22","nodeType":"YulIdentifier","src":"295293:6:22"},{"kind":"number","nativeSrc":"295301:4:22","nodeType":"YulLiteral","src":"295301:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"295290:2:22","nodeType":"YulIdentifier","src":"295290:2:22"},"nativeSrc":"295290:16:22","nodeType":"YulFunctionCall","src":"295290:16:22"},"nativeSrc":"295283:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"295307:28:22","nodeType":"YulBlock","src":"295307:28:22","statements":[{"nativeSrc":"295309:24:22","nodeType":"YulAssignment","src":"295309:24:22","value":{"arguments":[{"name":"length","nativeSrc":"295323:6:22","nodeType":"YulIdentifier","src":"295323:6:22"},{"kind":"number","nativeSrc":"295331:1:22","nodeType":"YulLiteral","src":"295331:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"295319:3:22","nodeType":"YulIdentifier","src":"295319:3:22"},"nativeSrc":"295319:14:22","nodeType":"YulFunctionCall","src":"295319:14:22"},"variableNames":[{"name":"length","nativeSrc":"295309:6:22","nodeType":"YulIdentifier","src":"295309:6:22"}]}]},"pre":{"nativeSrc":"295287:2:22","nodeType":"YulBlock","src":"295287:2:22","statements":[]},"src":"295283:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"295400:3:22","nodeType":"YulIdentifier","src":"295400:3:22"},{"name":"length","nativeSrc":"295405:6:22","nodeType":"YulIdentifier","src":"295405:6:22"}],"functionName":{"name":"mstore","nativeSrc":"295393:6:22","nodeType":"YulIdentifier","src":"295393:6:22"},"nativeSrc":"295393:19:22","nodeType":"YulFunctionCall","src":"295393:19:22"},"nativeSrc":"295393:19:22","nodeType":"YulExpressionStatement","src":"295393:19:22"},{"nativeSrc":"295429:37:22","nodeType":"YulVariableDeclaration","src":"295429:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"295446:3:22","nodeType":"YulLiteral","src":"295446:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"295455:1:22","nodeType":"YulLiteral","src":"295455:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"295458:6:22","nodeType":"YulIdentifier","src":"295458:6:22"}],"functionName":{"name":"shl","nativeSrc":"295451:3:22","nodeType":"YulIdentifier","src":"295451:3:22"},"nativeSrc":"295451:14:22","nodeType":"YulFunctionCall","src":"295451:14:22"}],"functionName":{"name":"sub","nativeSrc":"295442:3:22","nodeType":"YulIdentifier","src":"295442:3:22"},"nativeSrc":"295442:24:22","nodeType":"YulFunctionCall","src":"295442:24:22"},"variables":[{"name":"shift","nativeSrc":"295433:5:22","nodeType":"YulTypedName","src":"295433:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"295494:3:22","nodeType":"YulIdentifier","src":"295494:3:22"},{"kind":"number","nativeSrc":"295499:4:22","nodeType":"YulLiteral","src":"295499:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"295490:3:22","nodeType":"YulIdentifier","src":"295490:3:22"},"nativeSrc":"295490:14:22","nodeType":"YulFunctionCall","src":"295490:14:22"},{"arguments":[{"name":"shift","nativeSrc":"295510:5:22","nodeType":"YulIdentifier","src":"295510:5:22"},{"arguments":[{"name":"shift","nativeSrc":"295521:5:22","nodeType":"YulIdentifier","src":"295521:5:22"},{"name":"w","nativeSrc":"295528:1:22","nodeType":"YulIdentifier","src":"295528:1:22"}],"functionName":{"name":"shr","nativeSrc":"295517:3:22","nodeType":"YulIdentifier","src":"295517:3:22"},"nativeSrc":"295517:13:22","nodeType":"YulFunctionCall","src":"295517:13:22"}],"functionName":{"name":"shl","nativeSrc":"295506:3:22","nodeType":"YulIdentifier","src":"295506:3:22"},"nativeSrc":"295506:25:22","nodeType":"YulFunctionCall","src":"295506:25:22"}],"functionName":{"name":"mstore","nativeSrc":"295483:6:22","nodeType":"YulIdentifier","src":"295483:6:22"},"nativeSrc":"295483:49:22","nodeType":"YulFunctionCall","src":"295483:49:22"},"nativeSrc":"295483:49:22","nodeType":"YulExpressionStatement","src":"295483:49:22"}]},"name":"writeString","nativeSrc":"295204:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"295225:3:22","nodeType":"YulTypedName","src":"295225:3:22","type":""},{"name":"w","nativeSrc":"295230:1:22","nodeType":"YulTypedName","src":"295230:1:22","type":""}],"src":"295204:342:22"},{"nativeSrc":"295559:17:22","nodeType":"YulAssignment","src":"295559:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295571:4:22","nodeType":"YulLiteral","src":"295571:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"295565:5:22","nodeType":"YulIdentifier","src":"295565:5:22"},"nativeSrc":"295565:11:22","nodeType":"YulFunctionCall","src":"295565:11:22"},"variableNames":[{"name":"m0","nativeSrc":"295559:2:22","nodeType":"YulIdentifier","src":"295559:2:22"}]},{"nativeSrc":"295589:17:22","nodeType":"YulAssignment","src":"295589:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295601:4:22","nodeType":"YulLiteral","src":"295601:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"295595:5:22","nodeType":"YulIdentifier","src":"295595:5:22"},"nativeSrc":"295595:11:22","nodeType":"YulFunctionCall","src":"295595:11:22"},"variableNames":[{"name":"m1","nativeSrc":"295589:2:22","nodeType":"YulIdentifier","src":"295589:2:22"}]},{"nativeSrc":"295619:17:22","nodeType":"YulAssignment","src":"295619:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295631:4:22","nodeType":"YulLiteral","src":"295631:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"295625:5:22","nodeType":"YulIdentifier","src":"295625:5:22"},"nativeSrc":"295625:11:22","nodeType":"YulFunctionCall","src":"295625:11:22"},"variableNames":[{"name":"m2","nativeSrc":"295619:2:22","nodeType":"YulIdentifier","src":"295619:2:22"}]},{"nativeSrc":"295649:17:22","nodeType":"YulAssignment","src":"295649:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295661:4:22","nodeType":"YulLiteral","src":"295661:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"295655:5:22","nodeType":"YulIdentifier","src":"295655:5:22"},"nativeSrc":"295655:11:22","nodeType":"YulFunctionCall","src":"295655:11:22"},"variableNames":[{"name":"m3","nativeSrc":"295649:2:22","nodeType":"YulIdentifier","src":"295649:2:22"}]},{"nativeSrc":"295679:17:22","nodeType":"YulAssignment","src":"295679:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295691:4:22","nodeType":"YulLiteral","src":"295691:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"295685:5:22","nodeType":"YulIdentifier","src":"295685:5:22"},"nativeSrc":"295685:11:22","nodeType":"YulFunctionCall","src":"295685:11:22"},"variableNames":[{"name":"m4","nativeSrc":"295679:2:22","nodeType":"YulIdentifier","src":"295679:2:22"}]},{"nativeSrc":"295709:17:22","nodeType":"YulAssignment","src":"295709:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295721:4:22","nodeType":"YulLiteral","src":"295721:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"295715:5:22","nodeType":"YulIdentifier","src":"295715:5:22"},"nativeSrc":"295715:11:22","nodeType":"YulFunctionCall","src":"295715:11:22"},"variableNames":[{"name":"m5","nativeSrc":"295709:2:22","nodeType":"YulIdentifier","src":"295709:2:22"}]},{"nativeSrc":"295739:17:22","nodeType":"YulAssignment","src":"295739:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"295751:4:22","nodeType":"YulLiteral","src":"295751:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"295745:5:22","nodeType":"YulIdentifier","src":"295745:5:22"},"nativeSrc":"295745:11:22","nodeType":"YulFunctionCall","src":"295745:11:22"},"variableNames":[{"name":"m6","nativeSrc":"295739:2:22","nodeType":"YulIdentifier","src":"295739:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295842:4:22","nodeType":"YulLiteral","src":"295842:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"295848:10:22","nodeType":"YulLiteral","src":"295848:10:22","type":"","value":"0x59cfcbe3"}],"functionName":{"name":"mstore","nativeSrc":"295835:6:22","nodeType":"YulIdentifier","src":"295835:6:22"},"nativeSrc":"295835:24:22","nodeType":"YulFunctionCall","src":"295835:24:22"},"nativeSrc":"295835:24:22","nodeType":"YulExpressionStatement","src":"295835:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295879:4:22","nodeType":"YulLiteral","src":"295879:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"295885:2:22","nodeType":"YulIdentifier","src":"295885:2:22"}],"functionName":{"name":"mstore","nativeSrc":"295872:6:22","nodeType":"YulIdentifier","src":"295872:6:22"},"nativeSrc":"295872:16:22","nodeType":"YulFunctionCall","src":"295872:16:22"},"nativeSrc":"295872:16:22","nodeType":"YulExpressionStatement","src":"295872:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295908:4:22","nodeType":"YulLiteral","src":"295908:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"295914:2:22","nodeType":"YulIdentifier","src":"295914:2:22"}],"functionName":{"name":"mstore","nativeSrc":"295901:6:22","nodeType":"YulIdentifier","src":"295901:6:22"},"nativeSrc":"295901:16:22","nodeType":"YulFunctionCall","src":"295901:16:22"},"nativeSrc":"295901:16:22","nodeType":"YulExpressionStatement","src":"295901:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295937:4:22","nodeType":"YulLiteral","src":"295937:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"295943:2:22","nodeType":"YulIdentifier","src":"295943:2:22"}],"functionName":{"name":"mstore","nativeSrc":"295930:6:22","nodeType":"YulIdentifier","src":"295930:6:22"},"nativeSrc":"295930:16:22","nodeType":"YulFunctionCall","src":"295930:16:22"},"nativeSrc":"295930:16:22","nodeType":"YulExpressionStatement","src":"295930:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295966:4:22","nodeType":"YulLiteral","src":"295966:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"295972:4:22","nodeType":"YulLiteral","src":"295972:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"295959:6:22","nodeType":"YulIdentifier","src":"295959:6:22"},"nativeSrc":"295959:18:22","nodeType":"YulFunctionCall","src":"295959:18:22"},"nativeSrc":"295959:18:22","nodeType":"YulExpressionStatement","src":"295959:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296002:4:22","nodeType":"YulLiteral","src":"296002:4:22","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"296008:2:22","nodeType":"YulIdentifier","src":"296008:2:22"}],"functionName":{"name":"writeString","nativeSrc":"295990:11:22","nodeType":"YulIdentifier","src":"295990:11:22"},"nativeSrc":"295990:21:22","nodeType":"YulFunctionCall","src":"295990:21:22"},"nativeSrc":"295990:21:22","nodeType":"YulExpressionStatement","src":"295990:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40695,"isOffset":false,"isSlot":false,"src":"295559:2:22","valueSize":1},{"declaration":40698,"isOffset":false,"isSlot":false,"src":"295589:2:22","valueSize":1},{"declaration":40701,"isOffset":false,"isSlot":false,"src":"295619:2:22","valueSize":1},{"declaration":40704,"isOffset":false,"isSlot":false,"src":"295649:2:22","valueSize":1},{"declaration":40707,"isOffset":false,"isSlot":false,"src":"295679:2:22","valueSize":1},{"declaration":40710,"isOffset":false,"isSlot":false,"src":"295709:2:22","valueSize":1},{"declaration":40713,"isOffset":false,"isSlot":false,"src":"295739:2:22","valueSize":1},{"declaration":40685,"isOffset":false,"isSlot":false,"src":"295885:2:22","valueSize":1},{"declaration":40687,"isOffset":false,"isSlot":false,"src":"295914:2:22","valueSize":1},{"declaration":40689,"isOffset":false,"isSlot":false,"src":"295943:2:22","valueSize":1},{"declaration":40691,"isOffset":false,"isSlot":false,"src":"296008:2:22","valueSize":1}],"id":40715,"nodeType":"InlineAssembly","src":"295181:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296046:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296052:4:22","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":40716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"296030:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"296030:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40720,"nodeType":"ExpressionStatement","src":"296030:27:22"},{"AST":{"nativeSrc":"296119:214:22","nodeType":"YulBlock","src":"296119:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"296140:4:22","nodeType":"YulLiteral","src":"296140:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"296146:2:22","nodeType":"YulIdentifier","src":"296146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296133:6:22","nodeType":"YulIdentifier","src":"296133:6:22"},"nativeSrc":"296133:16:22","nodeType":"YulFunctionCall","src":"296133:16:22"},"nativeSrc":"296133:16:22","nodeType":"YulExpressionStatement","src":"296133:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296169:4:22","nodeType":"YulLiteral","src":"296169:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"296175:2:22","nodeType":"YulIdentifier","src":"296175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296162:6:22","nodeType":"YulIdentifier","src":"296162:6:22"},"nativeSrc":"296162:16:22","nodeType":"YulFunctionCall","src":"296162:16:22"},"nativeSrc":"296162:16:22","nodeType":"YulExpressionStatement","src":"296162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296198:4:22","nodeType":"YulLiteral","src":"296198:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"296204:2:22","nodeType":"YulIdentifier","src":"296204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296191:6:22","nodeType":"YulIdentifier","src":"296191:6:22"},"nativeSrc":"296191:16:22","nodeType":"YulFunctionCall","src":"296191:16:22"},"nativeSrc":"296191:16:22","nodeType":"YulExpressionStatement","src":"296191:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296227:4:22","nodeType":"YulLiteral","src":"296227:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"296233:2:22","nodeType":"YulIdentifier","src":"296233:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296220:6:22","nodeType":"YulIdentifier","src":"296220:6:22"},"nativeSrc":"296220:16:22","nodeType":"YulFunctionCall","src":"296220:16:22"},"nativeSrc":"296220:16:22","nodeType":"YulExpressionStatement","src":"296220:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296256:4:22","nodeType":"YulLiteral","src":"296256:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"296262:2:22","nodeType":"YulIdentifier","src":"296262:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296249:6:22","nodeType":"YulIdentifier","src":"296249:6:22"},"nativeSrc":"296249:16:22","nodeType":"YulFunctionCall","src":"296249:16:22"},"nativeSrc":"296249:16:22","nodeType":"YulExpressionStatement","src":"296249:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296285:4:22","nodeType":"YulLiteral","src":"296285:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"296291:2:22","nodeType":"YulIdentifier","src":"296291:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296278:6:22","nodeType":"YulIdentifier","src":"296278:6:22"},"nativeSrc":"296278:16:22","nodeType":"YulFunctionCall","src":"296278:16:22"},"nativeSrc":"296278:16:22","nodeType":"YulExpressionStatement","src":"296278:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296314:4:22","nodeType":"YulLiteral","src":"296314:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"296320:2:22","nodeType":"YulIdentifier","src":"296320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"296307:6:22","nodeType":"YulIdentifier","src":"296307:6:22"},"nativeSrc":"296307:16:22","nodeType":"YulFunctionCall","src":"296307:16:22"},"nativeSrc":"296307:16:22","nodeType":"YulExpressionStatement","src":"296307:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40695,"isOffset":false,"isSlot":false,"src":"296146:2:22","valueSize":1},{"declaration":40698,"isOffset":false,"isSlot":false,"src":"296175:2:22","valueSize":1},{"declaration":40701,"isOffset":false,"isSlot":false,"src":"296204:2:22","valueSize":1},{"declaration":40704,"isOffset":false,"isSlot":false,"src":"296233:2:22","valueSize":1},{"declaration":40707,"isOffset":false,"isSlot":false,"src":"296262:2:22","valueSize":1},{"declaration":40710,"isOffset":false,"isSlot":false,"src":"296291:2:22","valueSize":1},{"declaration":40713,"isOffset":false,"isSlot":false,"src":"296320:2:22","valueSize":1}],"id":40721,"nodeType":"InlineAssembly","src":"296110:223:22"}]},"id":40723,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294922:3:22","nodeType":"FunctionDefinition","parameters":{"id":40692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40685,"mutability":"mutable","name":"p0","nameLocation":"294934:2:22","nodeType":"VariableDeclaration","scope":40723,"src":"294926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40684,"name":"uint256","nodeType":"ElementaryTypeName","src":"294926:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40687,"mutability":"mutable","name":"p1","nameLocation":"294946:2:22","nodeType":"VariableDeclaration","scope":40723,"src":"294938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40686,"name":"uint256","nodeType":"ElementaryTypeName","src":"294938:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40689,"mutability":"mutable","name":"p2","nameLocation":"294958:2:22","nodeType":"VariableDeclaration","scope":40723,"src":"294950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40688,"name":"uint256","nodeType":"ElementaryTypeName","src":"294950:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40691,"mutability":"mutable","name":"p3","nameLocation":"294970:2:22","nodeType":"VariableDeclaration","scope":40723,"src":"294962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"294925:48:22"},"returnParameters":{"id":40693,"nodeType":"ParameterList","parameters":[],"src":"294988:0:22"},"scope":44426,"src":"294913:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40762,"nodeType":"Block","src":"296420:1351:22","statements":[{"assignments":[40735],"declarations":[{"constant":false,"id":40735,"mutability":"mutable","name":"m0","nameLocation":"296438:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296430:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296430:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40736,"nodeType":"VariableDeclarationStatement","src":"296430:10:22"},{"assignments":[40738],"declarations":[{"constant":false,"id":40738,"mutability":"mutable","name":"m1","nameLocation":"296458:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296450:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296450:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40739,"nodeType":"VariableDeclarationStatement","src":"296450:10:22"},{"assignments":[40741],"declarations":[{"constant":false,"id":40741,"mutability":"mutable","name":"m2","nameLocation":"296478:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296470:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296470:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40742,"nodeType":"VariableDeclarationStatement","src":"296470:10:22"},{"assignments":[40744],"declarations":[{"constant":false,"id":40744,"mutability":"mutable","name":"m3","nameLocation":"296498:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296490:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296490:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40745,"nodeType":"VariableDeclarationStatement","src":"296490:10:22"},{"assignments":[40747],"declarations":[{"constant":false,"id":40747,"mutability":"mutable","name":"m4","nameLocation":"296518:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296510:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40748,"nodeType":"VariableDeclarationStatement","src":"296510:10:22"},{"assignments":[40750],"declarations":[{"constant":false,"id":40750,"mutability":"mutable","name":"m5","nameLocation":"296538:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296530:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296530:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40751,"nodeType":"VariableDeclarationStatement","src":"296530:10:22"},{"assignments":[40753],"declarations":[{"constant":false,"id":40753,"mutability":"mutable","name":"m6","nameLocation":"296558:2:22","nodeType":"VariableDeclaration","scope":40762,"src":"296550:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296550:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40754,"nodeType":"VariableDeclarationStatement","src":"296550:10:22"},{"AST":{"nativeSrc":"296622:831:22","nodeType":"YulBlock","src":"296622:831:22","statements":[{"body":{"nativeSrc":"296665:313:22","nodeType":"YulBlock","src":"296665:313:22","statements":[{"nativeSrc":"296683:15:22","nodeType":"YulVariableDeclaration","src":"296683:15:22","value":{"kind":"number","nativeSrc":"296697:1:22","nodeType":"YulLiteral","src":"296697:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"296687:6:22","nodeType":"YulTypedName","src":"296687:6:22","type":""}]},{"body":{"nativeSrc":"296768:40:22","nodeType":"YulBlock","src":"296768:40:22","statements":[{"body":{"nativeSrc":"296797:9:22","nodeType":"YulBlock","src":"296797:9:22","statements":[{"nativeSrc":"296799:5:22","nodeType":"YulBreak","src":"296799:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"296785:6:22","nodeType":"YulIdentifier","src":"296785:6:22"},{"name":"w","nativeSrc":"296793:1:22","nodeType":"YulIdentifier","src":"296793:1:22"}],"functionName":{"name":"byte","nativeSrc":"296780:4:22","nodeType":"YulIdentifier","src":"296780:4:22"},"nativeSrc":"296780:15:22","nodeType":"YulFunctionCall","src":"296780:15:22"}],"functionName":{"name":"iszero","nativeSrc":"296773:6:22","nodeType":"YulIdentifier","src":"296773:6:22"},"nativeSrc":"296773:23:22","nodeType":"YulFunctionCall","src":"296773:23:22"},"nativeSrc":"296770:36:22","nodeType":"YulIf","src":"296770:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"296725:6:22","nodeType":"YulIdentifier","src":"296725:6:22"},{"kind":"number","nativeSrc":"296733:4:22","nodeType":"YulLiteral","src":"296733:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"296722:2:22","nodeType":"YulIdentifier","src":"296722:2:22"},"nativeSrc":"296722:16:22","nodeType":"YulFunctionCall","src":"296722:16:22"},"nativeSrc":"296715:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"296739:28:22","nodeType":"YulBlock","src":"296739:28:22","statements":[{"nativeSrc":"296741:24:22","nodeType":"YulAssignment","src":"296741:24:22","value":{"arguments":[{"name":"length","nativeSrc":"296755:6:22","nodeType":"YulIdentifier","src":"296755:6:22"},{"kind":"number","nativeSrc":"296763:1:22","nodeType":"YulLiteral","src":"296763:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"296751:3:22","nodeType":"YulIdentifier","src":"296751:3:22"},"nativeSrc":"296751:14:22","nodeType":"YulFunctionCall","src":"296751:14:22"},"variableNames":[{"name":"length","nativeSrc":"296741:6:22","nodeType":"YulIdentifier","src":"296741:6:22"}]}]},"pre":{"nativeSrc":"296719:2:22","nodeType":"YulBlock","src":"296719:2:22","statements":[]},"src":"296715:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"296832:3:22","nodeType":"YulIdentifier","src":"296832:3:22"},{"name":"length","nativeSrc":"296837:6:22","nodeType":"YulIdentifier","src":"296837:6:22"}],"functionName":{"name":"mstore","nativeSrc":"296825:6:22","nodeType":"YulIdentifier","src":"296825:6:22"},"nativeSrc":"296825:19:22","nodeType":"YulFunctionCall","src":"296825:19:22"},"nativeSrc":"296825:19:22","nodeType":"YulExpressionStatement","src":"296825:19:22"},{"nativeSrc":"296861:37:22","nodeType":"YulVariableDeclaration","src":"296861:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"296878:3:22","nodeType":"YulLiteral","src":"296878:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"296887:1:22","nodeType":"YulLiteral","src":"296887:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"296890:6:22","nodeType":"YulIdentifier","src":"296890:6:22"}],"functionName":{"name":"shl","nativeSrc":"296883:3:22","nodeType":"YulIdentifier","src":"296883:3:22"},"nativeSrc":"296883:14:22","nodeType":"YulFunctionCall","src":"296883:14:22"}],"functionName":{"name":"sub","nativeSrc":"296874:3:22","nodeType":"YulIdentifier","src":"296874:3:22"},"nativeSrc":"296874:24:22","nodeType":"YulFunctionCall","src":"296874:24:22"},"variables":[{"name":"shift","nativeSrc":"296865:5:22","nodeType":"YulTypedName","src":"296865:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"296926:3:22","nodeType":"YulIdentifier","src":"296926:3:22"},{"kind":"number","nativeSrc":"296931:4:22","nodeType":"YulLiteral","src":"296931:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"296922:3:22","nodeType":"YulIdentifier","src":"296922:3:22"},"nativeSrc":"296922:14:22","nodeType":"YulFunctionCall","src":"296922:14:22"},{"arguments":[{"name":"shift","nativeSrc":"296942:5:22","nodeType":"YulIdentifier","src":"296942:5:22"},{"arguments":[{"name":"shift","nativeSrc":"296953:5:22","nodeType":"YulIdentifier","src":"296953:5:22"},{"name":"w","nativeSrc":"296960:1:22","nodeType":"YulIdentifier","src":"296960:1:22"}],"functionName":{"name":"shr","nativeSrc":"296949:3:22","nodeType":"YulIdentifier","src":"296949:3:22"},"nativeSrc":"296949:13:22","nodeType":"YulFunctionCall","src":"296949:13:22"}],"functionName":{"name":"shl","nativeSrc":"296938:3:22","nodeType":"YulIdentifier","src":"296938:3:22"},"nativeSrc":"296938:25:22","nodeType":"YulFunctionCall","src":"296938:25:22"}],"functionName":{"name":"mstore","nativeSrc":"296915:6:22","nodeType":"YulIdentifier","src":"296915:6:22"},"nativeSrc":"296915:49:22","nodeType":"YulFunctionCall","src":"296915:49:22"},"nativeSrc":"296915:49:22","nodeType":"YulExpressionStatement","src":"296915:49:22"}]},"name":"writeString","nativeSrc":"296636:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"296657:3:22","nodeType":"YulTypedName","src":"296657:3:22","type":""},{"name":"w","nativeSrc":"296662:1:22","nodeType":"YulTypedName","src":"296662:1:22","type":""}],"src":"296636:342:22"},{"nativeSrc":"296991:17:22","nodeType":"YulAssignment","src":"296991:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297003:4:22","nodeType":"YulLiteral","src":"297003:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"296997:5:22","nodeType":"YulIdentifier","src":"296997:5:22"},"nativeSrc":"296997:11:22","nodeType":"YulFunctionCall","src":"296997:11:22"},"variableNames":[{"name":"m0","nativeSrc":"296991:2:22","nodeType":"YulIdentifier","src":"296991:2:22"}]},{"nativeSrc":"297021:17:22","nodeType":"YulAssignment","src":"297021:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297033:4:22","nodeType":"YulLiteral","src":"297033:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"297027:5:22","nodeType":"YulIdentifier","src":"297027:5:22"},"nativeSrc":"297027:11:22","nodeType":"YulFunctionCall","src":"297027:11:22"},"variableNames":[{"name":"m1","nativeSrc":"297021:2:22","nodeType":"YulIdentifier","src":"297021:2:22"}]},{"nativeSrc":"297051:17:22","nodeType":"YulAssignment","src":"297051:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297063:4:22","nodeType":"YulLiteral","src":"297063:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"297057:5:22","nodeType":"YulIdentifier","src":"297057:5:22"},"nativeSrc":"297057:11:22","nodeType":"YulFunctionCall","src":"297057:11:22"},"variableNames":[{"name":"m2","nativeSrc":"297051:2:22","nodeType":"YulIdentifier","src":"297051:2:22"}]},{"nativeSrc":"297081:17:22","nodeType":"YulAssignment","src":"297081:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297093:4:22","nodeType":"YulLiteral","src":"297093:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"297087:5:22","nodeType":"YulIdentifier","src":"297087:5:22"},"nativeSrc":"297087:11:22","nodeType":"YulFunctionCall","src":"297087:11:22"},"variableNames":[{"name":"m3","nativeSrc":"297081:2:22","nodeType":"YulIdentifier","src":"297081:2:22"}]},{"nativeSrc":"297111:17:22","nodeType":"YulAssignment","src":"297111:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297123:4:22","nodeType":"YulLiteral","src":"297123:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"297117:5:22","nodeType":"YulIdentifier","src":"297117:5:22"},"nativeSrc":"297117:11:22","nodeType":"YulFunctionCall","src":"297117:11:22"},"variableNames":[{"name":"m4","nativeSrc":"297111:2:22","nodeType":"YulIdentifier","src":"297111:2:22"}]},{"nativeSrc":"297141:17:22","nodeType":"YulAssignment","src":"297141:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297153:4:22","nodeType":"YulLiteral","src":"297153:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"297147:5:22","nodeType":"YulIdentifier","src":"297147:5:22"},"nativeSrc":"297147:11:22","nodeType":"YulFunctionCall","src":"297147:11:22"},"variableNames":[{"name":"m5","nativeSrc":"297141:2:22","nodeType":"YulIdentifier","src":"297141:2:22"}]},{"nativeSrc":"297171:17:22","nodeType":"YulAssignment","src":"297171:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"297183:4:22","nodeType":"YulLiteral","src":"297183:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"297177:5:22","nodeType":"YulIdentifier","src":"297177:5:22"},"nativeSrc":"297177:11:22","nodeType":"YulFunctionCall","src":"297177:11:22"},"variableNames":[{"name":"m6","nativeSrc":"297171:2:22","nodeType":"YulIdentifier","src":"297171:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297274:4:22","nodeType":"YulLiteral","src":"297274:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"297280:10:22","nodeType":"YulLiteral","src":"297280:10:22","type":"","value":"0x42d21db7"}],"functionName":{"name":"mstore","nativeSrc":"297267:6:22","nodeType":"YulIdentifier","src":"297267:6:22"},"nativeSrc":"297267:24:22","nodeType":"YulFunctionCall","src":"297267:24:22"},"nativeSrc":"297267:24:22","nodeType":"YulExpressionStatement","src":"297267:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297311:4:22","nodeType":"YulLiteral","src":"297311:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"297317:2:22","nodeType":"YulIdentifier","src":"297317:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297304:6:22","nodeType":"YulIdentifier","src":"297304:6:22"},"nativeSrc":"297304:16:22","nodeType":"YulFunctionCall","src":"297304:16:22"},"nativeSrc":"297304:16:22","nodeType":"YulExpressionStatement","src":"297304:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297340:4:22","nodeType":"YulLiteral","src":"297340:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"297346:2:22","nodeType":"YulIdentifier","src":"297346:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297333:6:22","nodeType":"YulIdentifier","src":"297333:6:22"},"nativeSrc":"297333:16:22","nodeType":"YulFunctionCall","src":"297333:16:22"},"nativeSrc":"297333:16:22","nodeType":"YulExpressionStatement","src":"297333:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297369:4:22","nodeType":"YulLiteral","src":"297369:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"297375:4:22","nodeType":"YulLiteral","src":"297375:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"297362:6:22","nodeType":"YulIdentifier","src":"297362:6:22"},"nativeSrc":"297362:18:22","nodeType":"YulFunctionCall","src":"297362:18:22"},"nativeSrc":"297362:18:22","nodeType":"YulExpressionStatement","src":"297362:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297400:4:22","nodeType":"YulLiteral","src":"297400:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"297406:2:22","nodeType":"YulIdentifier","src":"297406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297393:6:22","nodeType":"YulIdentifier","src":"297393:6:22"},"nativeSrc":"297393:16:22","nodeType":"YulFunctionCall","src":"297393:16:22"},"nativeSrc":"297393:16:22","nodeType":"YulExpressionStatement","src":"297393:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297434:4:22","nodeType":"YulLiteral","src":"297434:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"297440:2:22","nodeType":"YulIdentifier","src":"297440:2:22"}],"functionName":{"name":"writeString","nativeSrc":"297422:11:22","nodeType":"YulIdentifier","src":"297422:11:22"},"nativeSrc":"297422:21:22","nodeType":"YulFunctionCall","src":"297422:21:22"},"nativeSrc":"297422:21:22","nodeType":"YulExpressionStatement","src":"297422:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40735,"isOffset":false,"isSlot":false,"src":"296991:2:22","valueSize":1},{"declaration":40738,"isOffset":false,"isSlot":false,"src":"297021:2:22","valueSize":1},{"declaration":40741,"isOffset":false,"isSlot":false,"src":"297051:2:22","valueSize":1},{"declaration":40744,"isOffset":false,"isSlot":false,"src":"297081:2:22","valueSize":1},{"declaration":40747,"isOffset":false,"isSlot":false,"src":"297111:2:22","valueSize":1},{"declaration":40750,"isOffset":false,"isSlot":false,"src":"297141:2:22","valueSize":1},{"declaration":40753,"isOffset":false,"isSlot":false,"src":"297171:2:22","valueSize":1},{"declaration":40725,"isOffset":false,"isSlot":false,"src":"297317:2:22","valueSize":1},{"declaration":40727,"isOffset":false,"isSlot":false,"src":"297346:2:22","valueSize":1},{"declaration":40729,"isOffset":false,"isSlot":false,"src":"297440:2:22","valueSize":1},{"declaration":40731,"isOffset":false,"isSlot":false,"src":"297406:2:22","valueSize":1}],"id":40755,"nodeType":"InlineAssembly","src":"296613:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297478:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297484:4:22","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":40756,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"297462:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"297462:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40760,"nodeType":"ExpressionStatement","src":"297462:27:22"},{"AST":{"nativeSrc":"297551:214:22","nodeType":"YulBlock","src":"297551:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"297572:4:22","nodeType":"YulLiteral","src":"297572:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"297578:2:22","nodeType":"YulIdentifier","src":"297578:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297565:6:22","nodeType":"YulIdentifier","src":"297565:6:22"},"nativeSrc":"297565:16:22","nodeType":"YulFunctionCall","src":"297565:16:22"},"nativeSrc":"297565:16:22","nodeType":"YulExpressionStatement","src":"297565:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297601:4:22","nodeType":"YulLiteral","src":"297601:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"297607:2:22","nodeType":"YulIdentifier","src":"297607:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297594:6:22","nodeType":"YulIdentifier","src":"297594:6:22"},"nativeSrc":"297594:16:22","nodeType":"YulFunctionCall","src":"297594:16:22"},"nativeSrc":"297594:16:22","nodeType":"YulExpressionStatement","src":"297594:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297630:4:22","nodeType":"YulLiteral","src":"297630:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"297636:2:22","nodeType":"YulIdentifier","src":"297636:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297623:6:22","nodeType":"YulIdentifier","src":"297623:6:22"},"nativeSrc":"297623:16:22","nodeType":"YulFunctionCall","src":"297623:16:22"},"nativeSrc":"297623:16:22","nodeType":"YulExpressionStatement","src":"297623:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297659:4:22","nodeType":"YulLiteral","src":"297659:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"297665:2:22","nodeType":"YulIdentifier","src":"297665:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297652:6:22","nodeType":"YulIdentifier","src":"297652:6:22"},"nativeSrc":"297652:16:22","nodeType":"YulFunctionCall","src":"297652:16:22"},"nativeSrc":"297652:16:22","nodeType":"YulExpressionStatement","src":"297652:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297688:4:22","nodeType":"YulLiteral","src":"297688:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"297694:2:22","nodeType":"YulIdentifier","src":"297694:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297681:6:22","nodeType":"YulIdentifier","src":"297681:6:22"},"nativeSrc":"297681:16:22","nodeType":"YulFunctionCall","src":"297681:16:22"},"nativeSrc":"297681:16:22","nodeType":"YulExpressionStatement","src":"297681:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297717:4:22","nodeType":"YulLiteral","src":"297717:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"297723:2:22","nodeType":"YulIdentifier","src":"297723:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297710:6:22","nodeType":"YulIdentifier","src":"297710:6:22"},"nativeSrc":"297710:16:22","nodeType":"YulFunctionCall","src":"297710:16:22"},"nativeSrc":"297710:16:22","nodeType":"YulExpressionStatement","src":"297710:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297746:4:22","nodeType":"YulLiteral","src":"297746:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"297752:2:22","nodeType":"YulIdentifier","src":"297752:2:22"}],"functionName":{"name":"mstore","nativeSrc":"297739:6:22","nodeType":"YulIdentifier","src":"297739:6:22"},"nativeSrc":"297739:16:22","nodeType":"YulFunctionCall","src":"297739:16:22"},"nativeSrc":"297739:16:22","nodeType":"YulExpressionStatement","src":"297739:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40735,"isOffset":false,"isSlot":false,"src":"297578:2:22","valueSize":1},{"declaration":40738,"isOffset":false,"isSlot":false,"src":"297607:2:22","valueSize":1},{"declaration":40741,"isOffset":false,"isSlot":false,"src":"297636:2:22","valueSize":1},{"declaration":40744,"isOffset":false,"isSlot":false,"src":"297665:2:22","valueSize":1},{"declaration":40747,"isOffset":false,"isSlot":false,"src":"297694:2:22","valueSize":1},{"declaration":40750,"isOffset":false,"isSlot":false,"src":"297723:2:22","valueSize":1},{"declaration":40753,"isOffset":false,"isSlot":false,"src":"297752:2:22","valueSize":1}],"id":40761,"nodeType":"InlineAssembly","src":"297542:223:22"}]},"id":40763,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"296354:3:22","nodeType":"FunctionDefinition","parameters":{"id":40732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40725,"mutability":"mutable","name":"p0","nameLocation":"296366:2:22","nodeType":"VariableDeclaration","scope":40763,"src":"296358:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40724,"name":"uint256","nodeType":"ElementaryTypeName","src":"296358:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40727,"mutability":"mutable","name":"p1","nameLocation":"296378:2:22","nodeType":"VariableDeclaration","scope":40763,"src":"296370:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40726,"name":"uint256","nodeType":"ElementaryTypeName","src":"296370:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40729,"mutability":"mutable","name":"p2","nameLocation":"296390:2:22","nodeType":"VariableDeclaration","scope":40763,"src":"296382:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296382:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40731,"mutability":"mutable","name":"p3","nameLocation":"296402:2:22","nodeType":"VariableDeclaration","scope":40763,"src":"296394:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40730,"name":"address","nodeType":"ElementaryTypeName","src":"296394:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"296357:48:22"},"returnParameters":{"id":40733,"nodeType":"ParameterList","parameters":[],"src":"296420:0:22"},"scope":44426,"src":"296345:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40802,"nodeType":"Block","src":"297849:1348:22","statements":[{"assignments":[40775],"declarations":[{"constant":false,"id":40775,"mutability":"mutable","name":"m0","nameLocation":"297867:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297859:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40776,"nodeType":"VariableDeclarationStatement","src":"297859:10:22"},{"assignments":[40778],"declarations":[{"constant":false,"id":40778,"mutability":"mutable","name":"m1","nameLocation":"297887:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40779,"nodeType":"VariableDeclarationStatement","src":"297879:10:22"},{"assignments":[40781],"declarations":[{"constant":false,"id":40781,"mutability":"mutable","name":"m2","nameLocation":"297907:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297899:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40782,"nodeType":"VariableDeclarationStatement","src":"297899:10:22"},{"assignments":[40784],"declarations":[{"constant":false,"id":40784,"mutability":"mutable","name":"m3","nameLocation":"297927:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297919:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297919:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40785,"nodeType":"VariableDeclarationStatement","src":"297919:10:22"},{"assignments":[40787],"declarations":[{"constant":false,"id":40787,"mutability":"mutable","name":"m4","nameLocation":"297947:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297939:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297939:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40788,"nodeType":"VariableDeclarationStatement","src":"297939:10:22"},{"assignments":[40790],"declarations":[{"constant":false,"id":40790,"mutability":"mutable","name":"m5","nameLocation":"297967:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297959:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297959:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40791,"nodeType":"VariableDeclarationStatement","src":"297959:10:22"},{"assignments":[40793],"declarations":[{"constant":false,"id":40793,"mutability":"mutable","name":"m6","nameLocation":"297987:2:22","nodeType":"VariableDeclaration","scope":40802,"src":"297979:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297979:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40794,"nodeType":"VariableDeclarationStatement","src":"297979:10:22"},{"AST":{"nativeSrc":"298051:828:22","nodeType":"YulBlock","src":"298051:828:22","statements":[{"body":{"nativeSrc":"298094:313:22","nodeType":"YulBlock","src":"298094:313:22","statements":[{"nativeSrc":"298112:15:22","nodeType":"YulVariableDeclaration","src":"298112:15:22","value":{"kind":"number","nativeSrc":"298126:1:22","nodeType":"YulLiteral","src":"298126:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"298116:6:22","nodeType":"YulTypedName","src":"298116:6:22","type":""}]},{"body":{"nativeSrc":"298197:40:22","nodeType":"YulBlock","src":"298197:40:22","statements":[{"body":{"nativeSrc":"298226:9:22","nodeType":"YulBlock","src":"298226:9:22","statements":[{"nativeSrc":"298228:5:22","nodeType":"YulBreak","src":"298228:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"298214:6:22","nodeType":"YulIdentifier","src":"298214:6:22"},{"name":"w","nativeSrc":"298222:1:22","nodeType":"YulIdentifier","src":"298222:1:22"}],"functionName":{"name":"byte","nativeSrc":"298209:4:22","nodeType":"YulIdentifier","src":"298209:4:22"},"nativeSrc":"298209:15:22","nodeType":"YulFunctionCall","src":"298209:15:22"}],"functionName":{"name":"iszero","nativeSrc":"298202:6:22","nodeType":"YulIdentifier","src":"298202:6:22"},"nativeSrc":"298202:23:22","nodeType":"YulFunctionCall","src":"298202:23:22"},"nativeSrc":"298199:36:22","nodeType":"YulIf","src":"298199:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"298154:6:22","nodeType":"YulIdentifier","src":"298154:6:22"},{"kind":"number","nativeSrc":"298162:4:22","nodeType":"YulLiteral","src":"298162:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"298151:2:22","nodeType":"YulIdentifier","src":"298151:2:22"},"nativeSrc":"298151:16:22","nodeType":"YulFunctionCall","src":"298151:16:22"},"nativeSrc":"298144:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"298168:28:22","nodeType":"YulBlock","src":"298168:28:22","statements":[{"nativeSrc":"298170:24:22","nodeType":"YulAssignment","src":"298170:24:22","value":{"arguments":[{"name":"length","nativeSrc":"298184:6:22","nodeType":"YulIdentifier","src":"298184:6:22"},{"kind":"number","nativeSrc":"298192:1:22","nodeType":"YulLiteral","src":"298192:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"298180:3:22","nodeType":"YulIdentifier","src":"298180:3:22"},"nativeSrc":"298180:14:22","nodeType":"YulFunctionCall","src":"298180:14:22"},"variableNames":[{"name":"length","nativeSrc":"298170:6:22","nodeType":"YulIdentifier","src":"298170:6:22"}]}]},"pre":{"nativeSrc":"298148:2:22","nodeType":"YulBlock","src":"298148:2:22","statements":[]},"src":"298144:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"298261:3:22","nodeType":"YulIdentifier","src":"298261:3:22"},{"name":"length","nativeSrc":"298266:6:22","nodeType":"YulIdentifier","src":"298266:6:22"}],"functionName":{"name":"mstore","nativeSrc":"298254:6:22","nodeType":"YulIdentifier","src":"298254:6:22"},"nativeSrc":"298254:19:22","nodeType":"YulFunctionCall","src":"298254:19:22"},"nativeSrc":"298254:19:22","nodeType":"YulExpressionStatement","src":"298254:19:22"},{"nativeSrc":"298290:37:22","nodeType":"YulVariableDeclaration","src":"298290:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"298307:3:22","nodeType":"YulLiteral","src":"298307:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"298316:1:22","nodeType":"YulLiteral","src":"298316:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"298319:6:22","nodeType":"YulIdentifier","src":"298319:6:22"}],"functionName":{"name":"shl","nativeSrc":"298312:3:22","nodeType":"YulIdentifier","src":"298312:3:22"},"nativeSrc":"298312:14:22","nodeType":"YulFunctionCall","src":"298312:14:22"}],"functionName":{"name":"sub","nativeSrc":"298303:3:22","nodeType":"YulIdentifier","src":"298303:3:22"},"nativeSrc":"298303:24:22","nodeType":"YulFunctionCall","src":"298303:24:22"},"variables":[{"name":"shift","nativeSrc":"298294:5:22","nodeType":"YulTypedName","src":"298294:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"298355:3:22","nodeType":"YulIdentifier","src":"298355:3:22"},{"kind":"number","nativeSrc":"298360:4:22","nodeType":"YulLiteral","src":"298360:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"298351:3:22","nodeType":"YulIdentifier","src":"298351:3:22"},"nativeSrc":"298351:14:22","nodeType":"YulFunctionCall","src":"298351:14:22"},{"arguments":[{"name":"shift","nativeSrc":"298371:5:22","nodeType":"YulIdentifier","src":"298371:5:22"},{"arguments":[{"name":"shift","nativeSrc":"298382:5:22","nodeType":"YulIdentifier","src":"298382:5:22"},{"name":"w","nativeSrc":"298389:1:22","nodeType":"YulIdentifier","src":"298389:1:22"}],"functionName":{"name":"shr","nativeSrc":"298378:3:22","nodeType":"YulIdentifier","src":"298378:3:22"},"nativeSrc":"298378:13:22","nodeType":"YulFunctionCall","src":"298378:13:22"}],"functionName":{"name":"shl","nativeSrc":"298367:3:22","nodeType":"YulIdentifier","src":"298367:3:22"},"nativeSrc":"298367:25:22","nodeType":"YulFunctionCall","src":"298367:25:22"}],"functionName":{"name":"mstore","nativeSrc":"298344:6:22","nodeType":"YulIdentifier","src":"298344:6:22"},"nativeSrc":"298344:49:22","nodeType":"YulFunctionCall","src":"298344:49:22"},"nativeSrc":"298344:49:22","nodeType":"YulExpressionStatement","src":"298344:49:22"}]},"name":"writeString","nativeSrc":"298065:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"298086:3:22","nodeType":"YulTypedName","src":"298086:3:22","type":""},{"name":"w","nativeSrc":"298091:1:22","nodeType":"YulTypedName","src":"298091:1:22","type":""}],"src":"298065:342:22"},{"nativeSrc":"298420:17:22","nodeType":"YulAssignment","src":"298420:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298432:4:22","nodeType":"YulLiteral","src":"298432:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"298426:5:22","nodeType":"YulIdentifier","src":"298426:5:22"},"nativeSrc":"298426:11:22","nodeType":"YulFunctionCall","src":"298426:11:22"},"variableNames":[{"name":"m0","nativeSrc":"298420:2:22","nodeType":"YulIdentifier","src":"298420:2:22"}]},{"nativeSrc":"298450:17:22","nodeType":"YulAssignment","src":"298450:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298462:4:22","nodeType":"YulLiteral","src":"298462:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"298456:5:22","nodeType":"YulIdentifier","src":"298456:5:22"},"nativeSrc":"298456:11:22","nodeType":"YulFunctionCall","src":"298456:11:22"},"variableNames":[{"name":"m1","nativeSrc":"298450:2:22","nodeType":"YulIdentifier","src":"298450:2:22"}]},{"nativeSrc":"298480:17:22","nodeType":"YulAssignment","src":"298480:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298492:4:22","nodeType":"YulLiteral","src":"298492:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"298486:5:22","nodeType":"YulIdentifier","src":"298486:5:22"},"nativeSrc":"298486:11:22","nodeType":"YulFunctionCall","src":"298486:11:22"},"variableNames":[{"name":"m2","nativeSrc":"298480:2:22","nodeType":"YulIdentifier","src":"298480:2:22"}]},{"nativeSrc":"298510:17:22","nodeType":"YulAssignment","src":"298510:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298522:4:22","nodeType":"YulLiteral","src":"298522:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"298516:5:22","nodeType":"YulIdentifier","src":"298516:5:22"},"nativeSrc":"298516:11:22","nodeType":"YulFunctionCall","src":"298516:11:22"},"variableNames":[{"name":"m3","nativeSrc":"298510:2:22","nodeType":"YulIdentifier","src":"298510:2:22"}]},{"nativeSrc":"298540:17:22","nodeType":"YulAssignment","src":"298540:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298552:4:22","nodeType":"YulLiteral","src":"298552:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"298546:5:22","nodeType":"YulIdentifier","src":"298546:5:22"},"nativeSrc":"298546:11:22","nodeType":"YulFunctionCall","src":"298546:11:22"},"variableNames":[{"name":"m4","nativeSrc":"298540:2:22","nodeType":"YulIdentifier","src":"298540:2:22"}]},{"nativeSrc":"298570:17:22","nodeType":"YulAssignment","src":"298570:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298582:4:22","nodeType":"YulLiteral","src":"298582:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"298576:5:22","nodeType":"YulIdentifier","src":"298576:5:22"},"nativeSrc":"298576:11:22","nodeType":"YulFunctionCall","src":"298576:11:22"},"variableNames":[{"name":"m5","nativeSrc":"298570:2:22","nodeType":"YulIdentifier","src":"298570:2:22"}]},{"nativeSrc":"298600:17:22","nodeType":"YulAssignment","src":"298600:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"298612:4:22","nodeType":"YulLiteral","src":"298612:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"298606:5:22","nodeType":"YulIdentifier","src":"298606:5:22"},"nativeSrc":"298606:11:22","nodeType":"YulFunctionCall","src":"298606:11:22"},"variableNames":[{"name":"m6","nativeSrc":"298600:2:22","nodeType":"YulIdentifier","src":"298600:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298700:4:22","nodeType":"YulLiteral","src":"298700:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"298706:10:22","nodeType":"YulLiteral","src":"298706:10:22","type":"","value":"0x7af6ab25"}],"functionName":{"name":"mstore","nativeSrc":"298693:6:22","nodeType":"YulIdentifier","src":"298693:6:22"},"nativeSrc":"298693:24:22","nodeType":"YulFunctionCall","src":"298693:24:22"},"nativeSrc":"298693:24:22","nodeType":"YulExpressionStatement","src":"298693:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298737:4:22","nodeType":"YulLiteral","src":"298737:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"298743:2:22","nodeType":"YulIdentifier","src":"298743:2:22"}],"functionName":{"name":"mstore","nativeSrc":"298730:6:22","nodeType":"YulIdentifier","src":"298730:6:22"},"nativeSrc":"298730:16:22","nodeType":"YulFunctionCall","src":"298730:16:22"},"nativeSrc":"298730:16:22","nodeType":"YulExpressionStatement","src":"298730:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298766:4:22","nodeType":"YulLiteral","src":"298766:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"298772:2:22","nodeType":"YulIdentifier","src":"298772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"298759:6:22","nodeType":"YulIdentifier","src":"298759:6:22"},"nativeSrc":"298759:16:22","nodeType":"YulFunctionCall","src":"298759:16:22"},"nativeSrc":"298759:16:22","nodeType":"YulExpressionStatement","src":"298759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298795:4:22","nodeType":"YulLiteral","src":"298795:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"298801:4:22","nodeType":"YulLiteral","src":"298801:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"298788:6:22","nodeType":"YulIdentifier","src":"298788:6:22"},"nativeSrc":"298788:18:22","nodeType":"YulFunctionCall","src":"298788:18:22"},"nativeSrc":"298788:18:22","nodeType":"YulExpressionStatement","src":"298788:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298826:4:22","nodeType":"YulLiteral","src":"298826:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"298832:2:22","nodeType":"YulIdentifier","src":"298832:2:22"}],"functionName":{"name":"mstore","nativeSrc":"298819:6:22","nodeType":"YulIdentifier","src":"298819:6:22"},"nativeSrc":"298819:16:22","nodeType":"YulFunctionCall","src":"298819:16:22"},"nativeSrc":"298819:16:22","nodeType":"YulExpressionStatement","src":"298819:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298860:4:22","nodeType":"YulLiteral","src":"298860:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"298866:2:22","nodeType":"YulIdentifier","src":"298866:2:22"}],"functionName":{"name":"writeString","nativeSrc":"298848:11:22","nodeType":"YulIdentifier","src":"298848:11:22"},"nativeSrc":"298848:21:22","nodeType":"YulFunctionCall","src":"298848:21:22"},"nativeSrc":"298848:21:22","nodeType":"YulExpressionStatement","src":"298848:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40775,"isOffset":false,"isSlot":false,"src":"298420:2:22","valueSize":1},{"declaration":40778,"isOffset":false,"isSlot":false,"src":"298450:2:22","valueSize":1},{"declaration":40781,"isOffset":false,"isSlot":false,"src":"298480:2:22","valueSize":1},{"declaration":40784,"isOffset":false,"isSlot":false,"src":"298510:2:22","valueSize":1},{"declaration":40787,"isOffset":false,"isSlot":false,"src":"298540:2:22","valueSize":1},{"declaration":40790,"isOffset":false,"isSlot":false,"src":"298570:2:22","valueSize":1},{"declaration":40793,"isOffset":false,"isSlot":false,"src":"298600:2:22","valueSize":1},{"declaration":40765,"isOffset":false,"isSlot":false,"src":"298743:2:22","valueSize":1},{"declaration":40767,"isOffset":false,"isSlot":false,"src":"298772:2:22","valueSize":1},{"declaration":40769,"isOffset":false,"isSlot":false,"src":"298866:2:22","valueSize":1},{"declaration":40771,"isOffset":false,"isSlot":false,"src":"298832:2:22","valueSize":1}],"id":40795,"nodeType":"InlineAssembly","src":"298042:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298904:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298910:4:22","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":40796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"298888:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"298888:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40800,"nodeType":"ExpressionStatement","src":"298888:27:22"},{"AST":{"nativeSrc":"298977:214:22","nodeType":"YulBlock","src":"298977:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"298998:4:22","nodeType":"YulLiteral","src":"298998:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"299004:2:22","nodeType":"YulIdentifier","src":"299004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"298991:6:22","nodeType":"YulIdentifier","src":"298991:6:22"},"nativeSrc":"298991:16:22","nodeType":"YulFunctionCall","src":"298991:16:22"},"nativeSrc":"298991:16:22","nodeType":"YulExpressionStatement","src":"298991:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299027:4:22","nodeType":"YulLiteral","src":"299027:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"299033:2:22","nodeType":"YulIdentifier","src":"299033:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299020:6:22","nodeType":"YulIdentifier","src":"299020:6:22"},"nativeSrc":"299020:16:22","nodeType":"YulFunctionCall","src":"299020:16:22"},"nativeSrc":"299020:16:22","nodeType":"YulExpressionStatement","src":"299020:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299056:4:22","nodeType":"YulLiteral","src":"299056:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"299062:2:22","nodeType":"YulIdentifier","src":"299062:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299049:6:22","nodeType":"YulIdentifier","src":"299049:6:22"},"nativeSrc":"299049:16:22","nodeType":"YulFunctionCall","src":"299049:16:22"},"nativeSrc":"299049:16:22","nodeType":"YulExpressionStatement","src":"299049:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299085:4:22","nodeType":"YulLiteral","src":"299085:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"299091:2:22","nodeType":"YulIdentifier","src":"299091:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299078:6:22","nodeType":"YulIdentifier","src":"299078:6:22"},"nativeSrc":"299078:16:22","nodeType":"YulFunctionCall","src":"299078:16:22"},"nativeSrc":"299078:16:22","nodeType":"YulExpressionStatement","src":"299078:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299114:4:22","nodeType":"YulLiteral","src":"299114:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"299120:2:22","nodeType":"YulIdentifier","src":"299120:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299107:6:22","nodeType":"YulIdentifier","src":"299107:6:22"},"nativeSrc":"299107:16:22","nodeType":"YulFunctionCall","src":"299107:16:22"},"nativeSrc":"299107:16:22","nodeType":"YulExpressionStatement","src":"299107:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299143:4:22","nodeType":"YulLiteral","src":"299143:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"299149:2:22","nodeType":"YulIdentifier","src":"299149:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299136:6:22","nodeType":"YulIdentifier","src":"299136:6:22"},"nativeSrc":"299136:16:22","nodeType":"YulFunctionCall","src":"299136:16:22"},"nativeSrc":"299136:16:22","nodeType":"YulExpressionStatement","src":"299136:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299172:4:22","nodeType":"YulLiteral","src":"299172:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"299178:2:22","nodeType":"YulIdentifier","src":"299178:2:22"}],"functionName":{"name":"mstore","nativeSrc":"299165:6:22","nodeType":"YulIdentifier","src":"299165:6:22"},"nativeSrc":"299165:16:22","nodeType":"YulFunctionCall","src":"299165:16:22"},"nativeSrc":"299165:16:22","nodeType":"YulExpressionStatement","src":"299165:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40775,"isOffset":false,"isSlot":false,"src":"299004:2:22","valueSize":1},{"declaration":40778,"isOffset":false,"isSlot":false,"src":"299033:2:22","valueSize":1},{"declaration":40781,"isOffset":false,"isSlot":false,"src":"299062:2:22","valueSize":1},{"declaration":40784,"isOffset":false,"isSlot":false,"src":"299091:2:22","valueSize":1},{"declaration":40787,"isOffset":false,"isSlot":false,"src":"299120:2:22","valueSize":1},{"declaration":40790,"isOffset":false,"isSlot":false,"src":"299149:2:22","valueSize":1},{"declaration":40793,"isOffset":false,"isSlot":false,"src":"299178:2:22","valueSize":1}],"id":40801,"nodeType":"InlineAssembly","src":"298968:223:22"}]},"id":40803,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"297786:3:22","nodeType":"FunctionDefinition","parameters":{"id":40772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40765,"mutability":"mutable","name":"p0","nameLocation":"297798:2:22","nodeType":"VariableDeclaration","scope":40803,"src":"297790:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40764,"name":"uint256","nodeType":"ElementaryTypeName","src":"297790:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40767,"mutability":"mutable","name":"p1","nameLocation":"297810:2:22","nodeType":"VariableDeclaration","scope":40803,"src":"297802:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40766,"name":"uint256","nodeType":"ElementaryTypeName","src":"297802:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40769,"mutability":"mutable","name":"p2","nameLocation":"297822:2:22","nodeType":"VariableDeclaration","scope":40803,"src":"297814:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297814:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40771,"mutability":"mutable","name":"p3","nameLocation":"297831:2:22","nodeType":"VariableDeclaration","scope":40803,"src":"297826:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40770,"name":"bool","nodeType":"ElementaryTypeName","src":"297826:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"297789:45:22"},"returnParameters":{"id":40773,"nodeType":"ParameterList","parameters":[],"src":"297849:0:22"},"scope":44426,"src":"297777:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40842,"nodeType":"Block","src":"299278:1351:22","statements":[{"assignments":[40815],"declarations":[{"constant":false,"id":40815,"mutability":"mutable","name":"m0","nameLocation":"299296:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299288:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299288:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40816,"nodeType":"VariableDeclarationStatement","src":"299288:10:22"},{"assignments":[40818],"declarations":[{"constant":false,"id":40818,"mutability":"mutable","name":"m1","nameLocation":"299316:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299308:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299308:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40819,"nodeType":"VariableDeclarationStatement","src":"299308:10:22"},{"assignments":[40821],"declarations":[{"constant":false,"id":40821,"mutability":"mutable","name":"m2","nameLocation":"299336:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299328:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299328:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40822,"nodeType":"VariableDeclarationStatement","src":"299328:10:22"},{"assignments":[40824],"declarations":[{"constant":false,"id":40824,"mutability":"mutable","name":"m3","nameLocation":"299356:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299348:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40825,"nodeType":"VariableDeclarationStatement","src":"299348:10:22"},{"assignments":[40827],"declarations":[{"constant":false,"id":40827,"mutability":"mutable","name":"m4","nameLocation":"299376:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299368:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299368:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40828,"nodeType":"VariableDeclarationStatement","src":"299368:10:22"},{"assignments":[40830],"declarations":[{"constant":false,"id":40830,"mutability":"mutable","name":"m5","nameLocation":"299396:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299388:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299388:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40831,"nodeType":"VariableDeclarationStatement","src":"299388:10:22"},{"assignments":[40833],"declarations":[{"constant":false,"id":40833,"mutability":"mutable","name":"m6","nameLocation":"299416:2:22","nodeType":"VariableDeclaration","scope":40842,"src":"299408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299408:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40834,"nodeType":"VariableDeclarationStatement","src":"299408:10:22"},{"AST":{"nativeSrc":"299480:831:22","nodeType":"YulBlock","src":"299480:831:22","statements":[{"body":{"nativeSrc":"299523:313:22","nodeType":"YulBlock","src":"299523:313:22","statements":[{"nativeSrc":"299541:15:22","nodeType":"YulVariableDeclaration","src":"299541:15:22","value":{"kind":"number","nativeSrc":"299555:1:22","nodeType":"YulLiteral","src":"299555:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"299545:6:22","nodeType":"YulTypedName","src":"299545:6:22","type":""}]},{"body":{"nativeSrc":"299626:40:22","nodeType":"YulBlock","src":"299626:40:22","statements":[{"body":{"nativeSrc":"299655:9:22","nodeType":"YulBlock","src":"299655:9:22","statements":[{"nativeSrc":"299657:5:22","nodeType":"YulBreak","src":"299657:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"299643:6:22","nodeType":"YulIdentifier","src":"299643:6:22"},{"name":"w","nativeSrc":"299651:1:22","nodeType":"YulIdentifier","src":"299651:1:22"}],"functionName":{"name":"byte","nativeSrc":"299638:4:22","nodeType":"YulIdentifier","src":"299638:4:22"},"nativeSrc":"299638:15:22","nodeType":"YulFunctionCall","src":"299638:15:22"}],"functionName":{"name":"iszero","nativeSrc":"299631:6:22","nodeType":"YulIdentifier","src":"299631:6:22"},"nativeSrc":"299631:23:22","nodeType":"YulFunctionCall","src":"299631:23:22"},"nativeSrc":"299628:36:22","nodeType":"YulIf","src":"299628:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"299583:6:22","nodeType":"YulIdentifier","src":"299583:6:22"},{"kind":"number","nativeSrc":"299591:4:22","nodeType":"YulLiteral","src":"299591:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"299580:2:22","nodeType":"YulIdentifier","src":"299580:2:22"},"nativeSrc":"299580:16:22","nodeType":"YulFunctionCall","src":"299580:16:22"},"nativeSrc":"299573:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"299597:28:22","nodeType":"YulBlock","src":"299597:28:22","statements":[{"nativeSrc":"299599:24:22","nodeType":"YulAssignment","src":"299599:24:22","value":{"arguments":[{"name":"length","nativeSrc":"299613:6:22","nodeType":"YulIdentifier","src":"299613:6:22"},{"kind":"number","nativeSrc":"299621:1:22","nodeType":"YulLiteral","src":"299621:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"299609:3:22","nodeType":"YulIdentifier","src":"299609:3:22"},"nativeSrc":"299609:14:22","nodeType":"YulFunctionCall","src":"299609:14:22"},"variableNames":[{"name":"length","nativeSrc":"299599:6:22","nodeType":"YulIdentifier","src":"299599:6:22"}]}]},"pre":{"nativeSrc":"299577:2:22","nodeType":"YulBlock","src":"299577:2:22","statements":[]},"src":"299573:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"299690:3:22","nodeType":"YulIdentifier","src":"299690:3:22"},{"name":"length","nativeSrc":"299695:6:22","nodeType":"YulIdentifier","src":"299695:6:22"}],"functionName":{"name":"mstore","nativeSrc":"299683:6:22","nodeType":"YulIdentifier","src":"299683:6:22"},"nativeSrc":"299683:19:22","nodeType":"YulFunctionCall","src":"299683:19:22"},"nativeSrc":"299683:19:22","nodeType":"YulExpressionStatement","src":"299683:19:22"},{"nativeSrc":"299719:37:22","nodeType":"YulVariableDeclaration","src":"299719:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"299736:3:22","nodeType":"YulLiteral","src":"299736:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"299745:1:22","nodeType":"YulLiteral","src":"299745:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"299748:6:22","nodeType":"YulIdentifier","src":"299748:6:22"}],"functionName":{"name":"shl","nativeSrc":"299741:3:22","nodeType":"YulIdentifier","src":"299741:3:22"},"nativeSrc":"299741:14:22","nodeType":"YulFunctionCall","src":"299741:14:22"}],"functionName":{"name":"sub","nativeSrc":"299732:3:22","nodeType":"YulIdentifier","src":"299732:3:22"},"nativeSrc":"299732:24:22","nodeType":"YulFunctionCall","src":"299732:24:22"},"variables":[{"name":"shift","nativeSrc":"299723:5:22","nodeType":"YulTypedName","src":"299723:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"299784:3:22","nodeType":"YulIdentifier","src":"299784:3:22"},{"kind":"number","nativeSrc":"299789:4:22","nodeType":"YulLiteral","src":"299789:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"299780:3:22","nodeType":"YulIdentifier","src":"299780:3:22"},"nativeSrc":"299780:14:22","nodeType":"YulFunctionCall","src":"299780:14:22"},{"arguments":[{"name":"shift","nativeSrc":"299800:5:22","nodeType":"YulIdentifier","src":"299800:5:22"},{"arguments":[{"name":"shift","nativeSrc":"299811:5:22","nodeType":"YulIdentifier","src":"299811:5:22"},{"name":"w","nativeSrc":"299818:1:22","nodeType":"YulIdentifier","src":"299818:1:22"}],"functionName":{"name":"shr","nativeSrc":"299807:3:22","nodeType":"YulIdentifier","src":"299807:3:22"},"nativeSrc":"299807:13:22","nodeType":"YulFunctionCall","src":"299807:13:22"}],"functionName":{"name":"shl","nativeSrc":"299796:3:22","nodeType":"YulIdentifier","src":"299796:3:22"},"nativeSrc":"299796:25:22","nodeType":"YulFunctionCall","src":"299796:25:22"}],"functionName":{"name":"mstore","nativeSrc":"299773:6:22","nodeType":"YulIdentifier","src":"299773:6:22"},"nativeSrc":"299773:49:22","nodeType":"YulFunctionCall","src":"299773:49:22"},"nativeSrc":"299773:49:22","nodeType":"YulExpressionStatement","src":"299773:49:22"}]},"name":"writeString","nativeSrc":"299494:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"299515:3:22","nodeType":"YulTypedName","src":"299515:3:22","type":""},{"name":"w","nativeSrc":"299520:1:22","nodeType":"YulTypedName","src":"299520:1:22","type":""}],"src":"299494:342:22"},{"nativeSrc":"299849:17:22","nodeType":"YulAssignment","src":"299849:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"299861:4:22","nodeType":"YulLiteral","src":"299861:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"299855:5:22","nodeType":"YulIdentifier","src":"299855:5:22"},"nativeSrc":"299855:11:22","nodeType":"YulFunctionCall","src":"299855:11:22"},"variableNames":[{"name":"m0","nativeSrc":"299849:2:22","nodeType":"YulIdentifier","src":"299849:2:22"}]},{"nativeSrc":"299879:17:22","nodeType":"YulAssignment","src":"299879:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"299891:4:22","nodeType":"YulLiteral","src":"299891:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"299885:5:22","nodeType":"YulIdentifier","src":"299885:5:22"},"nativeSrc":"299885:11:22","nodeType":"YulFunctionCall","src":"299885:11:22"},"variableNames":[{"name":"m1","nativeSrc":"299879:2:22","nodeType":"YulIdentifier","src":"299879:2:22"}]},{"nativeSrc":"299909:17:22","nodeType":"YulAssignment","src":"299909:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"299921:4:22","nodeType":"YulLiteral","src":"299921:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"299915:5:22","nodeType":"YulIdentifier","src":"299915:5:22"},"nativeSrc":"299915:11:22","nodeType":"YulFunctionCall","src":"299915:11:22"},"variableNames":[{"name":"m2","nativeSrc":"299909:2:22","nodeType":"YulIdentifier","src":"299909:2:22"}]},{"nativeSrc":"299939:17:22","nodeType":"YulAssignment","src":"299939:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"299951:4:22","nodeType":"YulLiteral","src":"299951:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"299945:5:22","nodeType":"YulIdentifier","src":"299945:5:22"},"nativeSrc":"299945:11:22","nodeType":"YulFunctionCall","src":"299945:11:22"},"variableNames":[{"name":"m3","nativeSrc":"299939:2:22","nodeType":"YulIdentifier","src":"299939:2:22"}]},{"nativeSrc":"299969:17:22","nodeType":"YulAssignment","src":"299969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"299981:4:22","nodeType":"YulLiteral","src":"299981:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"299975:5:22","nodeType":"YulIdentifier","src":"299975:5:22"},"nativeSrc":"299975:11:22","nodeType":"YulFunctionCall","src":"299975:11:22"},"variableNames":[{"name":"m4","nativeSrc":"299969:2:22","nodeType":"YulIdentifier","src":"299969:2:22"}]},{"nativeSrc":"299999:17:22","nodeType":"YulAssignment","src":"299999:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"300011:4:22","nodeType":"YulLiteral","src":"300011:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"300005:5:22","nodeType":"YulIdentifier","src":"300005:5:22"},"nativeSrc":"300005:11:22","nodeType":"YulFunctionCall","src":"300005:11:22"},"variableNames":[{"name":"m5","nativeSrc":"299999:2:22","nodeType":"YulIdentifier","src":"299999:2:22"}]},{"nativeSrc":"300029:17:22","nodeType":"YulAssignment","src":"300029:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"300041:4:22","nodeType":"YulLiteral","src":"300041:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"300035:5:22","nodeType":"YulIdentifier","src":"300035:5:22"},"nativeSrc":"300035:11:22","nodeType":"YulFunctionCall","src":"300035:11:22"},"variableNames":[{"name":"m6","nativeSrc":"300029:2:22","nodeType":"YulIdentifier","src":"300029:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300132:4:22","nodeType":"YulLiteral","src":"300132:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"300138:10:22","nodeType":"YulLiteral","src":"300138:10:22","type":"","value":"0x5da297eb"}],"functionName":{"name":"mstore","nativeSrc":"300125:6:22","nodeType":"YulIdentifier","src":"300125:6:22"},"nativeSrc":"300125:24:22","nodeType":"YulFunctionCall","src":"300125:24:22"},"nativeSrc":"300125:24:22","nodeType":"YulExpressionStatement","src":"300125:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300169:4:22","nodeType":"YulLiteral","src":"300169:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"300175:2:22","nodeType":"YulIdentifier","src":"300175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300162:6:22","nodeType":"YulIdentifier","src":"300162:6:22"},"nativeSrc":"300162:16:22","nodeType":"YulFunctionCall","src":"300162:16:22"},"nativeSrc":"300162:16:22","nodeType":"YulExpressionStatement","src":"300162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300198:4:22","nodeType":"YulLiteral","src":"300198:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"300204:2:22","nodeType":"YulIdentifier","src":"300204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300191:6:22","nodeType":"YulIdentifier","src":"300191:6:22"},"nativeSrc":"300191:16:22","nodeType":"YulFunctionCall","src":"300191:16:22"},"nativeSrc":"300191:16:22","nodeType":"YulExpressionStatement","src":"300191:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300227:4:22","nodeType":"YulLiteral","src":"300227:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"300233:4:22","nodeType":"YulLiteral","src":"300233:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"300220:6:22","nodeType":"YulIdentifier","src":"300220:6:22"},"nativeSrc":"300220:18:22","nodeType":"YulFunctionCall","src":"300220:18:22"},"nativeSrc":"300220:18:22","nodeType":"YulExpressionStatement","src":"300220:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300258:4:22","nodeType":"YulLiteral","src":"300258:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"300264:2:22","nodeType":"YulIdentifier","src":"300264:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300251:6:22","nodeType":"YulIdentifier","src":"300251:6:22"},"nativeSrc":"300251:16:22","nodeType":"YulFunctionCall","src":"300251:16:22"},"nativeSrc":"300251:16:22","nodeType":"YulExpressionStatement","src":"300251:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300292:4:22","nodeType":"YulLiteral","src":"300292:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"300298:2:22","nodeType":"YulIdentifier","src":"300298:2:22"}],"functionName":{"name":"writeString","nativeSrc":"300280:11:22","nodeType":"YulIdentifier","src":"300280:11:22"},"nativeSrc":"300280:21:22","nodeType":"YulFunctionCall","src":"300280:21:22"},"nativeSrc":"300280:21:22","nodeType":"YulExpressionStatement","src":"300280:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40815,"isOffset":false,"isSlot":false,"src":"299849:2:22","valueSize":1},{"declaration":40818,"isOffset":false,"isSlot":false,"src":"299879:2:22","valueSize":1},{"declaration":40821,"isOffset":false,"isSlot":false,"src":"299909:2:22","valueSize":1},{"declaration":40824,"isOffset":false,"isSlot":false,"src":"299939:2:22","valueSize":1},{"declaration":40827,"isOffset":false,"isSlot":false,"src":"299969:2:22","valueSize":1},{"declaration":40830,"isOffset":false,"isSlot":false,"src":"299999:2:22","valueSize":1},{"declaration":40833,"isOffset":false,"isSlot":false,"src":"300029:2:22","valueSize":1},{"declaration":40805,"isOffset":false,"isSlot":false,"src":"300175:2:22","valueSize":1},{"declaration":40807,"isOffset":false,"isSlot":false,"src":"300204:2:22","valueSize":1},{"declaration":40809,"isOffset":false,"isSlot":false,"src":"300298:2:22","valueSize":1},{"declaration":40811,"isOffset":false,"isSlot":false,"src":"300264:2:22","valueSize":1}],"id":40835,"nodeType":"InlineAssembly","src":"299471:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300336:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300342:4:22","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":40836,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"300320:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"300320:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40840,"nodeType":"ExpressionStatement","src":"300320:27:22"},{"AST":{"nativeSrc":"300409:214:22","nodeType":"YulBlock","src":"300409:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"300430:4:22","nodeType":"YulLiteral","src":"300430:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"300436:2:22","nodeType":"YulIdentifier","src":"300436:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300423:6:22","nodeType":"YulIdentifier","src":"300423:6:22"},"nativeSrc":"300423:16:22","nodeType":"YulFunctionCall","src":"300423:16:22"},"nativeSrc":"300423:16:22","nodeType":"YulExpressionStatement","src":"300423:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300459:4:22","nodeType":"YulLiteral","src":"300459:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"300465:2:22","nodeType":"YulIdentifier","src":"300465:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300452:6:22","nodeType":"YulIdentifier","src":"300452:6:22"},"nativeSrc":"300452:16:22","nodeType":"YulFunctionCall","src":"300452:16:22"},"nativeSrc":"300452:16:22","nodeType":"YulExpressionStatement","src":"300452:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300488:4:22","nodeType":"YulLiteral","src":"300488:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"300494:2:22","nodeType":"YulIdentifier","src":"300494:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300481:6:22","nodeType":"YulIdentifier","src":"300481:6:22"},"nativeSrc":"300481:16:22","nodeType":"YulFunctionCall","src":"300481:16:22"},"nativeSrc":"300481:16:22","nodeType":"YulExpressionStatement","src":"300481:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300517:4:22","nodeType":"YulLiteral","src":"300517:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"300523:2:22","nodeType":"YulIdentifier","src":"300523:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300510:6:22","nodeType":"YulIdentifier","src":"300510:6:22"},"nativeSrc":"300510:16:22","nodeType":"YulFunctionCall","src":"300510:16:22"},"nativeSrc":"300510:16:22","nodeType":"YulExpressionStatement","src":"300510:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300546:4:22","nodeType":"YulLiteral","src":"300546:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"300552:2:22","nodeType":"YulIdentifier","src":"300552:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300539:6:22","nodeType":"YulIdentifier","src":"300539:6:22"},"nativeSrc":"300539:16:22","nodeType":"YulFunctionCall","src":"300539:16:22"},"nativeSrc":"300539:16:22","nodeType":"YulExpressionStatement","src":"300539:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300575:4:22","nodeType":"YulLiteral","src":"300575:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"300581:2:22","nodeType":"YulIdentifier","src":"300581:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300568:6:22","nodeType":"YulIdentifier","src":"300568:6:22"},"nativeSrc":"300568:16:22","nodeType":"YulFunctionCall","src":"300568:16:22"},"nativeSrc":"300568:16:22","nodeType":"YulExpressionStatement","src":"300568:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300604:4:22","nodeType":"YulLiteral","src":"300604:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"300610:2:22","nodeType":"YulIdentifier","src":"300610:2:22"}],"functionName":{"name":"mstore","nativeSrc":"300597:6:22","nodeType":"YulIdentifier","src":"300597:6:22"},"nativeSrc":"300597:16:22","nodeType":"YulFunctionCall","src":"300597:16:22"},"nativeSrc":"300597:16:22","nodeType":"YulExpressionStatement","src":"300597:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40815,"isOffset":false,"isSlot":false,"src":"300436:2:22","valueSize":1},{"declaration":40818,"isOffset":false,"isSlot":false,"src":"300465:2:22","valueSize":1},{"declaration":40821,"isOffset":false,"isSlot":false,"src":"300494:2:22","valueSize":1},{"declaration":40824,"isOffset":false,"isSlot":false,"src":"300523:2:22","valueSize":1},{"declaration":40827,"isOffset":false,"isSlot":false,"src":"300552:2:22","valueSize":1},{"declaration":40830,"isOffset":false,"isSlot":false,"src":"300581:2:22","valueSize":1},{"declaration":40833,"isOffset":false,"isSlot":false,"src":"300610:2:22","valueSize":1}],"id":40841,"nodeType":"InlineAssembly","src":"300400:223:22"}]},"id":40843,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"299212:3:22","nodeType":"FunctionDefinition","parameters":{"id":40812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40805,"mutability":"mutable","name":"p0","nameLocation":"299224:2:22","nodeType":"VariableDeclaration","scope":40843,"src":"299216:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40804,"name":"uint256","nodeType":"ElementaryTypeName","src":"299216:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40807,"mutability":"mutable","name":"p1","nameLocation":"299236:2:22","nodeType":"VariableDeclaration","scope":40843,"src":"299228:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40806,"name":"uint256","nodeType":"ElementaryTypeName","src":"299228:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40809,"mutability":"mutable","name":"p2","nameLocation":"299248:2:22","nodeType":"VariableDeclaration","scope":40843,"src":"299240:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299240:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40811,"mutability":"mutable","name":"p3","nameLocation":"299260:2:22","nodeType":"VariableDeclaration","scope":40843,"src":"299252:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40810,"name":"uint256","nodeType":"ElementaryTypeName","src":"299252:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"299215:48:22"},"returnParameters":{"id":40813,"nodeType":"ParameterList","parameters":[],"src":"299278:0:22"},"scope":44426,"src":"299203:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40888,"nodeType":"Block","src":"300710:1547:22","statements":[{"assignments":[40855],"declarations":[{"constant":false,"id":40855,"mutability":"mutable","name":"m0","nameLocation":"300728:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300720:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300720:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40856,"nodeType":"VariableDeclarationStatement","src":"300720:10:22"},{"assignments":[40858],"declarations":[{"constant":false,"id":40858,"mutability":"mutable","name":"m1","nameLocation":"300748:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300740:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300740:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40859,"nodeType":"VariableDeclarationStatement","src":"300740:10:22"},{"assignments":[40861],"declarations":[{"constant":false,"id":40861,"mutability":"mutable","name":"m2","nameLocation":"300768:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300760:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300760:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40862,"nodeType":"VariableDeclarationStatement","src":"300760:10:22"},{"assignments":[40864],"declarations":[{"constant":false,"id":40864,"mutability":"mutable","name":"m3","nameLocation":"300788:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300780:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300780:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40865,"nodeType":"VariableDeclarationStatement","src":"300780:10:22"},{"assignments":[40867],"declarations":[{"constant":false,"id":40867,"mutability":"mutable","name":"m4","nameLocation":"300808:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300800:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300800:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40868,"nodeType":"VariableDeclarationStatement","src":"300800:10:22"},{"assignments":[40870],"declarations":[{"constant":false,"id":40870,"mutability":"mutable","name":"m5","nameLocation":"300828:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300820:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300820:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40871,"nodeType":"VariableDeclarationStatement","src":"300820:10:22"},{"assignments":[40873],"declarations":[{"constant":false,"id":40873,"mutability":"mutable","name":"m6","nameLocation":"300848:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300840:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300840:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40874,"nodeType":"VariableDeclarationStatement","src":"300840:10:22"},{"assignments":[40876],"declarations":[{"constant":false,"id":40876,"mutability":"mutable","name":"m7","nameLocation":"300868:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300860:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300860:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40877,"nodeType":"VariableDeclarationStatement","src":"300860:10:22"},{"assignments":[40879],"declarations":[{"constant":false,"id":40879,"mutability":"mutable","name":"m8","nameLocation":"300888:2:22","nodeType":"VariableDeclaration","scope":40888,"src":"300880:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300880:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40880,"nodeType":"VariableDeclarationStatement","src":"300880:10:22"},{"AST":{"nativeSrc":"300952:927:22","nodeType":"YulBlock","src":"300952:927:22","statements":[{"body":{"nativeSrc":"300995:313:22","nodeType":"YulBlock","src":"300995:313:22","statements":[{"nativeSrc":"301013:15:22","nodeType":"YulVariableDeclaration","src":"301013:15:22","value":{"kind":"number","nativeSrc":"301027:1:22","nodeType":"YulLiteral","src":"301027:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"301017:6:22","nodeType":"YulTypedName","src":"301017:6:22","type":""}]},{"body":{"nativeSrc":"301098:40:22","nodeType":"YulBlock","src":"301098:40:22","statements":[{"body":{"nativeSrc":"301127:9:22","nodeType":"YulBlock","src":"301127:9:22","statements":[{"nativeSrc":"301129:5:22","nodeType":"YulBreak","src":"301129:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"301115:6:22","nodeType":"YulIdentifier","src":"301115:6:22"},{"name":"w","nativeSrc":"301123:1:22","nodeType":"YulIdentifier","src":"301123:1:22"}],"functionName":{"name":"byte","nativeSrc":"301110:4:22","nodeType":"YulIdentifier","src":"301110:4:22"},"nativeSrc":"301110:15:22","nodeType":"YulFunctionCall","src":"301110:15:22"}],"functionName":{"name":"iszero","nativeSrc":"301103:6:22","nodeType":"YulIdentifier","src":"301103:6:22"},"nativeSrc":"301103:23:22","nodeType":"YulFunctionCall","src":"301103:23:22"},"nativeSrc":"301100:36:22","nodeType":"YulIf","src":"301100:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"301055:6:22","nodeType":"YulIdentifier","src":"301055:6:22"},{"kind":"number","nativeSrc":"301063:4:22","nodeType":"YulLiteral","src":"301063:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"301052:2:22","nodeType":"YulIdentifier","src":"301052:2:22"},"nativeSrc":"301052:16:22","nodeType":"YulFunctionCall","src":"301052:16:22"},"nativeSrc":"301045:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"301069:28:22","nodeType":"YulBlock","src":"301069:28:22","statements":[{"nativeSrc":"301071:24:22","nodeType":"YulAssignment","src":"301071:24:22","value":{"arguments":[{"name":"length","nativeSrc":"301085:6:22","nodeType":"YulIdentifier","src":"301085:6:22"},{"kind":"number","nativeSrc":"301093:1:22","nodeType":"YulLiteral","src":"301093:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"301081:3:22","nodeType":"YulIdentifier","src":"301081:3:22"},"nativeSrc":"301081:14:22","nodeType":"YulFunctionCall","src":"301081:14:22"},"variableNames":[{"name":"length","nativeSrc":"301071:6:22","nodeType":"YulIdentifier","src":"301071:6:22"}]}]},"pre":{"nativeSrc":"301049:2:22","nodeType":"YulBlock","src":"301049:2:22","statements":[]},"src":"301045:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"301162:3:22","nodeType":"YulIdentifier","src":"301162:3:22"},{"name":"length","nativeSrc":"301167:6:22","nodeType":"YulIdentifier","src":"301167:6:22"}],"functionName":{"name":"mstore","nativeSrc":"301155:6:22","nodeType":"YulIdentifier","src":"301155:6:22"},"nativeSrc":"301155:19:22","nodeType":"YulFunctionCall","src":"301155:19:22"},"nativeSrc":"301155:19:22","nodeType":"YulExpressionStatement","src":"301155:19:22"},{"nativeSrc":"301191:37:22","nodeType":"YulVariableDeclaration","src":"301191:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"301208:3:22","nodeType":"YulLiteral","src":"301208:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"301217:1:22","nodeType":"YulLiteral","src":"301217:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"301220:6:22","nodeType":"YulIdentifier","src":"301220:6:22"}],"functionName":{"name":"shl","nativeSrc":"301213:3:22","nodeType":"YulIdentifier","src":"301213:3:22"},"nativeSrc":"301213:14:22","nodeType":"YulFunctionCall","src":"301213:14:22"}],"functionName":{"name":"sub","nativeSrc":"301204:3:22","nodeType":"YulIdentifier","src":"301204:3:22"},"nativeSrc":"301204:24:22","nodeType":"YulFunctionCall","src":"301204:24:22"},"variables":[{"name":"shift","nativeSrc":"301195:5:22","nodeType":"YulTypedName","src":"301195:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"301256:3:22","nodeType":"YulIdentifier","src":"301256:3:22"},{"kind":"number","nativeSrc":"301261:4:22","nodeType":"YulLiteral","src":"301261:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"301252:3:22","nodeType":"YulIdentifier","src":"301252:3:22"},"nativeSrc":"301252:14:22","nodeType":"YulFunctionCall","src":"301252:14:22"},{"arguments":[{"name":"shift","nativeSrc":"301272:5:22","nodeType":"YulIdentifier","src":"301272:5:22"},{"arguments":[{"name":"shift","nativeSrc":"301283:5:22","nodeType":"YulIdentifier","src":"301283:5:22"},{"name":"w","nativeSrc":"301290:1:22","nodeType":"YulIdentifier","src":"301290:1:22"}],"functionName":{"name":"shr","nativeSrc":"301279:3:22","nodeType":"YulIdentifier","src":"301279:3:22"},"nativeSrc":"301279:13:22","nodeType":"YulFunctionCall","src":"301279:13:22"}],"functionName":{"name":"shl","nativeSrc":"301268:3:22","nodeType":"YulIdentifier","src":"301268:3:22"},"nativeSrc":"301268:25:22","nodeType":"YulFunctionCall","src":"301268:25:22"}],"functionName":{"name":"mstore","nativeSrc":"301245:6:22","nodeType":"YulIdentifier","src":"301245:6:22"},"nativeSrc":"301245:49:22","nodeType":"YulFunctionCall","src":"301245:49:22"},"nativeSrc":"301245:49:22","nodeType":"YulExpressionStatement","src":"301245:49:22"}]},"name":"writeString","nativeSrc":"300966:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"300987:3:22","nodeType":"YulTypedName","src":"300987:3:22","type":""},{"name":"w","nativeSrc":"300992:1:22","nodeType":"YulTypedName","src":"300992:1:22","type":""}],"src":"300966:342:22"},{"nativeSrc":"301321:17:22","nodeType":"YulAssignment","src":"301321:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301333:4:22","nodeType":"YulLiteral","src":"301333:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"301327:5:22","nodeType":"YulIdentifier","src":"301327:5:22"},"nativeSrc":"301327:11:22","nodeType":"YulFunctionCall","src":"301327:11:22"},"variableNames":[{"name":"m0","nativeSrc":"301321:2:22","nodeType":"YulIdentifier","src":"301321:2:22"}]},{"nativeSrc":"301351:17:22","nodeType":"YulAssignment","src":"301351:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301363:4:22","nodeType":"YulLiteral","src":"301363:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"301357:5:22","nodeType":"YulIdentifier","src":"301357:5:22"},"nativeSrc":"301357:11:22","nodeType":"YulFunctionCall","src":"301357:11:22"},"variableNames":[{"name":"m1","nativeSrc":"301351:2:22","nodeType":"YulIdentifier","src":"301351:2:22"}]},{"nativeSrc":"301381:17:22","nodeType":"YulAssignment","src":"301381:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301393:4:22","nodeType":"YulLiteral","src":"301393:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"301387:5:22","nodeType":"YulIdentifier","src":"301387:5:22"},"nativeSrc":"301387:11:22","nodeType":"YulFunctionCall","src":"301387:11:22"},"variableNames":[{"name":"m2","nativeSrc":"301381:2:22","nodeType":"YulIdentifier","src":"301381:2:22"}]},{"nativeSrc":"301411:17:22","nodeType":"YulAssignment","src":"301411:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301423:4:22","nodeType":"YulLiteral","src":"301423:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"301417:5:22","nodeType":"YulIdentifier","src":"301417:5:22"},"nativeSrc":"301417:11:22","nodeType":"YulFunctionCall","src":"301417:11:22"},"variableNames":[{"name":"m3","nativeSrc":"301411:2:22","nodeType":"YulIdentifier","src":"301411:2:22"}]},{"nativeSrc":"301441:17:22","nodeType":"YulAssignment","src":"301441:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301453:4:22","nodeType":"YulLiteral","src":"301453:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"301447:5:22","nodeType":"YulIdentifier","src":"301447:5:22"},"nativeSrc":"301447:11:22","nodeType":"YulFunctionCall","src":"301447:11:22"},"variableNames":[{"name":"m4","nativeSrc":"301441:2:22","nodeType":"YulIdentifier","src":"301441:2:22"}]},{"nativeSrc":"301471:17:22","nodeType":"YulAssignment","src":"301471:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301483:4:22","nodeType":"YulLiteral","src":"301483:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"301477:5:22","nodeType":"YulIdentifier","src":"301477:5:22"},"nativeSrc":"301477:11:22","nodeType":"YulFunctionCall","src":"301477:11:22"},"variableNames":[{"name":"m5","nativeSrc":"301471:2:22","nodeType":"YulIdentifier","src":"301471:2:22"}]},{"nativeSrc":"301501:17:22","nodeType":"YulAssignment","src":"301501:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301513:4:22","nodeType":"YulLiteral","src":"301513:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"301507:5:22","nodeType":"YulIdentifier","src":"301507:5:22"},"nativeSrc":"301507:11:22","nodeType":"YulFunctionCall","src":"301507:11:22"},"variableNames":[{"name":"m6","nativeSrc":"301501:2:22","nodeType":"YulIdentifier","src":"301501:2:22"}]},{"nativeSrc":"301531:17:22","nodeType":"YulAssignment","src":"301531:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"301543:4:22","nodeType":"YulLiteral","src":"301543:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"301537:5:22","nodeType":"YulIdentifier","src":"301537:5:22"},"nativeSrc":"301537:11:22","nodeType":"YulFunctionCall","src":"301537:11:22"},"variableNames":[{"name":"m7","nativeSrc":"301531:2:22","nodeType":"YulIdentifier","src":"301531:2:22"}]},{"nativeSrc":"301561:18:22","nodeType":"YulAssignment","src":"301561:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"301573:5:22","nodeType":"YulLiteral","src":"301573:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"301567:5:22","nodeType":"YulIdentifier","src":"301567:5:22"},"nativeSrc":"301567:12:22","nodeType":"YulFunctionCall","src":"301567:12:22"},"variableNames":[{"name":"m8","nativeSrc":"301561:2:22","nodeType":"YulIdentifier","src":"301561:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301664:4:22","nodeType":"YulLiteral","src":"301664:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"301670:10:22","nodeType":"YulLiteral","src":"301670:10:22","type":"","value":"0x27d8afd2"}],"functionName":{"name":"mstore","nativeSrc":"301657:6:22","nodeType":"YulIdentifier","src":"301657:6:22"},"nativeSrc":"301657:24:22","nodeType":"YulFunctionCall","src":"301657:24:22"},"nativeSrc":"301657:24:22","nodeType":"YulExpressionStatement","src":"301657:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301701:4:22","nodeType":"YulLiteral","src":"301701:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"301707:2:22","nodeType":"YulIdentifier","src":"301707:2:22"}],"functionName":{"name":"mstore","nativeSrc":"301694:6:22","nodeType":"YulIdentifier","src":"301694:6:22"},"nativeSrc":"301694:16:22","nodeType":"YulFunctionCall","src":"301694:16:22"},"nativeSrc":"301694:16:22","nodeType":"YulExpressionStatement","src":"301694:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301730:4:22","nodeType":"YulLiteral","src":"301730:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"301736:2:22","nodeType":"YulIdentifier","src":"301736:2:22"}],"functionName":{"name":"mstore","nativeSrc":"301723:6:22","nodeType":"YulIdentifier","src":"301723:6:22"},"nativeSrc":"301723:16:22","nodeType":"YulFunctionCall","src":"301723:16:22"},"nativeSrc":"301723:16:22","nodeType":"YulExpressionStatement","src":"301723:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301759:4:22","nodeType":"YulLiteral","src":"301759:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"301765:4:22","nodeType":"YulLiteral","src":"301765:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"301752:6:22","nodeType":"YulIdentifier","src":"301752:6:22"},"nativeSrc":"301752:18:22","nodeType":"YulFunctionCall","src":"301752:18:22"},"nativeSrc":"301752:18:22","nodeType":"YulExpressionStatement","src":"301752:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301790:4:22","nodeType":"YulLiteral","src":"301790:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"301796:4:22","nodeType":"YulLiteral","src":"301796:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"301783:6:22","nodeType":"YulIdentifier","src":"301783:6:22"},"nativeSrc":"301783:18:22","nodeType":"YulFunctionCall","src":"301783:18:22"},"nativeSrc":"301783:18:22","nodeType":"YulExpressionStatement","src":"301783:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301826:4:22","nodeType":"YulLiteral","src":"301826:4:22","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"301832:2:22","nodeType":"YulIdentifier","src":"301832:2:22"}],"functionName":{"name":"writeString","nativeSrc":"301814:11:22","nodeType":"YulIdentifier","src":"301814:11:22"},"nativeSrc":"301814:21:22","nodeType":"YulFunctionCall","src":"301814:21:22"},"nativeSrc":"301814:21:22","nodeType":"YulExpressionStatement","src":"301814:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301860:4:22","nodeType":"YulLiteral","src":"301860:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"301866:2:22","nodeType":"YulIdentifier","src":"301866:2:22"}],"functionName":{"name":"writeString","nativeSrc":"301848:11:22","nodeType":"YulIdentifier","src":"301848:11:22"},"nativeSrc":"301848:21:22","nodeType":"YulFunctionCall","src":"301848:21:22"},"nativeSrc":"301848:21:22","nodeType":"YulExpressionStatement","src":"301848:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40855,"isOffset":false,"isSlot":false,"src":"301321:2:22","valueSize":1},{"declaration":40858,"isOffset":false,"isSlot":false,"src":"301351:2:22","valueSize":1},{"declaration":40861,"isOffset":false,"isSlot":false,"src":"301381:2:22","valueSize":1},{"declaration":40864,"isOffset":false,"isSlot":false,"src":"301411:2:22","valueSize":1},{"declaration":40867,"isOffset":false,"isSlot":false,"src":"301441:2:22","valueSize":1},{"declaration":40870,"isOffset":false,"isSlot":false,"src":"301471:2:22","valueSize":1},{"declaration":40873,"isOffset":false,"isSlot":false,"src":"301501:2:22","valueSize":1},{"declaration":40876,"isOffset":false,"isSlot":false,"src":"301531:2:22","valueSize":1},{"declaration":40879,"isOffset":false,"isSlot":false,"src":"301561:2:22","valueSize":1},{"declaration":40845,"isOffset":false,"isSlot":false,"src":"301707:2:22","valueSize":1},{"declaration":40847,"isOffset":false,"isSlot":false,"src":"301736:2:22","valueSize":1},{"declaration":40849,"isOffset":false,"isSlot":false,"src":"301832:2:22","valueSize":1},{"declaration":40851,"isOffset":false,"isSlot":false,"src":"301866:2:22","valueSize":1}],"id":40881,"nodeType":"InlineAssembly","src":"300943:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301904:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":40884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301910:5:22","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":40882,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"301888:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301888:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40886,"nodeType":"ExpressionStatement","src":"301888:28:22"},{"AST":{"nativeSrc":"301978:273:22","nodeType":"YulBlock","src":"301978:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"301999:4:22","nodeType":"YulLiteral","src":"301999:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"302005:2:22","nodeType":"YulIdentifier","src":"302005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"301992:6:22","nodeType":"YulIdentifier","src":"301992:6:22"},"nativeSrc":"301992:16:22","nodeType":"YulFunctionCall","src":"301992:16:22"},"nativeSrc":"301992:16:22","nodeType":"YulExpressionStatement","src":"301992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302028:4:22","nodeType":"YulLiteral","src":"302028:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"302034:2:22","nodeType":"YulIdentifier","src":"302034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302021:6:22","nodeType":"YulIdentifier","src":"302021:6:22"},"nativeSrc":"302021:16:22","nodeType":"YulFunctionCall","src":"302021:16:22"},"nativeSrc":"302021:16:22","nodeType":"YulExpressionStatement","src":"302021:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302057:4:22","nodeType":"YulLiteral","src":"302057:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"302063:2:22","nodeType":"YulIdentifier","src":"302063:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302050:6:22","nodeType":"YulIdentifier","src":"302050:6:22"},"nativeSrc":"302050:16:22","nodeType":"YulFunctionCall","src":"302050:16:22"},"nativeSrc":"302050:16:22","nodeType":"YulExpressionStatement","src":"302050:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302086:4:22","nodeType":"YulLiteral","src":"302086:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"302092:2:22","nodeType":"YulIdentifier","src":"302092:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302079:6:22","nodeType":"YulIdentifier","src":"302079:6:22"},"nativeSrc":"302079:16:22","nodeType":"YulFunctionCall","src":"302079:16:22"},"nativeSrc":"302079:16:22","nodeType":"YulExpressionStatement","src":"302079:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302115:4:22","nodeType":"YulLiteral","src":"302115:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"302121:2:22","nodeType":"YulIdentifier","src":"302121:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302108:6:22","nodeType":"YulIdentifier","src":"302108:6:22"},"nativeSrc":"302108:16:22","nodeType":"YulFunctionCall","src":"302108:16:22"},"nativeSrc":"302108:16:22","nodeType":"YulExpressionStatement","src":"302108:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302144:4:22","nodeType":"YulLiteral","src":"302144:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"302150:2:22","nodeType":"YulIdentifier","src":"302150:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302137:6:22","nodeType":"YulIdentifier","src":"302137:6:22"},"nativeSrc":"302137:16:22","nodeType":"YulFunctionCall","src":"302137:16:22"},"nativeSrc":"302137:16:22","nodeType":"YulExpressionStatement","src":"302137:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302173:4:22","nodeType":"YulLiteral","src":"302173:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"302179:2:22","nodeType":"YulIdentifier","src":"302179:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302166:6:22","nodeType":"YulIdentifier","src":"302166:6:22"},"nativeSrc":"302166:16:22","nodeType":"YulFunctionCall","src":"302166:16:22"},"nativeSrc":"302166:16:22","nodeType":"YulExpressionStatement","src":"302166:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302202:4:22","nodeType":"YulLiteral","src":"302202:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"302208:2:22","nodeType":"YulIdentifier","src":"302208:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302195:6:22","nodeType":"YulIdentifier","src":"302195:6:22"},"nativeSrc":"302195:16:22","nodeType":"YulFunctionCall","src":"302195:16:22"},"nativeSrc":"302195:16:22","nodeType":"YulExpressionStatement","src":"302195:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302231:5:22","nodeType":"YulLiteral","src":"302231:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"302238:2:22","nodeType":"YulIdentifier","src":"302238:2:22"}],"functionName":{"name":"mstore","nativeSrc":"302224:6:22","nodeType":"YulIdentifier","src":"302224:6:22"},"nativeSrc":"302224:17:22","nodeType":"YulFunctionCall","src":"302224:17:22"},"nativeSrc":"302224:17:22","nodeType":"YulExpressionStatement","src":"302224:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40855,"isOffset":false,"isSlot":false,"src":"302005:2:22","valueSize":1},{"declaration":40858,"isOffset":false,"isSlot":false,"src":"302034:2:22","valueSize":1},{"declaration":40861,"isOffset":false,"isSlot":false,"src":"302063:2:22","valueSize":1},{"declaration":40864,"isOffset":false,"isSlot":false,"src":"302092:2:22","valueSize":1},{"declaration":40867,"isOffset":false,"isSlot":false,"src":"302121:2:22","valueSize":1},{"declaration":40870,"isOffset":false,"isSlot":false,"src":"302150:2:22","valueSize":1},{"declaration":40873,"isOffset":false,"isSlot":false,"src":"302179:2:22","valueSize":1},{"declaration":40876,"isOffset":false,"isSlot":false,"src":"302208:2:22","valueSize":1},{"declaration":40879,"isOffset":false,"isSlot":false,"src":"302238:2:22","valueSize":1}],"id":40887,"nodeType":"InlineAssembly","src":"301969:282:22"}]},"id":40889,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"300644:3:22","nodeType":"FunctionDefinition","parameters":{"id":40852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40845,"mutability":"mutable","name":"p0","nameLocation":"300656:2:22","nodeType":"VariableDeclaration","scope":40889,"src":"300648:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40844,"name":"uint256","nodeType":"ElementaryTypeName","src":"300648:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40847,"mutability":"mutable","name":"p1","nameLocation":"300668:2:22","nodeType":"VariableDeclaration","scope":40889,"src":"300660:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40846,"name":"uint256","nodeType":"ElementaryTypeName","src":"300660:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40849,"mutability":"mutable","name":"p2","nameLocation":"300680:2:22","nodeType":"VariableDeclaration","scope":40889,"src":"300672:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300672:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40851,"mutability":"mutable","name":"p3","nameLocation":"300692:2:22","nodeType":"VariableDeclaration","scope":40889,"src":"300684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40850,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"300647:48:22"},"returnParameters":{"id":40853,"nodeType":"ParameterList","parameters":[],"src":"300710:0:22"},"scope":44426,"src":"300635:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40928,"nodeType":"Block","src":"302338:1351:22","statements":[{"assignments":[40901],"declarations":[{"constant":false,"id":40901,"mutability":"mutable","name":"m0","nameLocation":"302356:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302348:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40902,"nodeType":"VariableDeclarationStatement","src":"302348:10:22"},{"assignments":[40904],"declarations":[{"constant":false,"id":40904,"mutability":"mutable","name":"m1","nameLocation":"302376:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302368:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302368:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40905,"nodeType":"VariableDeclarationStatement","src":"302368:10:22"},{"assignments":[40907],"declarations":[{"constant":false,"id":40907,"mutability":"mutable","name":"m2","nameLocation":"302396:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302388:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302388:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40908,"nodeType":"VariableDeclarationStatement","src":"302388:10:22"},{"assignments":[40910],"declarations":[{"constant":false,"id":40910,"mutability":"mutable","name":"m3","nameLocation":"302416:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302408:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40911,"nodeType":"VariableDeclarationStatement","src":"302408:10:22"},{"assignments":[40913],"declarations":[{"constant":false,"id":40913,"mutability":"mutable","name":"m4","nameLocation":"302436:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302428:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302428:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40914,"nodeType":"VariableDeclarationStatement","src":"302428:10:22"},{"assignments":[40916],"declarations":[{"constant":false,"id":40916,"mutability":"mutable","name":"m5","nameLocation":"302456:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302448:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302448:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40917,"nodeType":"VariableDeclarationStatement","src":"302448:10:22"},{"assignments":[40919],"declarations":[{"constant":false,"id":40919,"mutability":"mutable","name":"m6","nameLocation":"302476:2:22","nodeType":"VariableDeclaration","scope":40928,"src":"302468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302468:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40920,"nodeType":"VariableDeclarationStatement","src":"302468:10:22"},{"AST":{"nativeSrc":"302540:831:22","nodeType":"YulBlock","src":"302540:831:22","statements":[{"body":{"nativeSrc":"302583:313:22","nodeType":"YulBlock","src":"302583:313:22","statements":[{"nativeSrc":"302601:15:22","nodeType":"YulVariableDeclaration","src":"302601:15:22","value":{"kind":"number","nativeSrc":"302615:1:22","nodeType":"YulLiteral","src":"302615:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"302605:6:22","nodeType":"YulTypedName","src":"302605:6:22","type":""}]},{"body":{"nativeSrc":"302686:40:22","nodeType":"YulBlock","src":"302686:40:22","statements":[{"body":{"nativeSrc":"302715:9:22","nodeType":"YulBlock","src":"302715:9:22","statements":[{"nativeSrc":"302717:5:22","nodeType":"YulBreak","src":"302717:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"302703:6:22","nodeType":"YulIdentifier","src":"302703:6:22"},{"name":"w","nativeSrc":"302711:1:22","nodeType":"YulIdentifier","src":"302711:1:22"}],"functionName":{"name":"byte","nativeSrc":"302698:4:22","nodeType":"YulIdentifier","src":"302698:4:22"},"nativeSrc":"302698:15:22","nodeType":"YulFunctionCall","src":"302698:15:22"}],"functionName":{"name":"iszero","nativeSrc":"302691:6:22","nodeType":"YulIdentifier","src":"302691:6:22"},"nativeSrc":"302691:23:22","nodeType":"YulFunctionCall","src":"302691:23:22"},"nativeSrc":"302688:36:22","nodeType":"YulIf","src":"302688:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"302643:6:22","nodeType":"YulIdentifier","src":"302643:6:22"},{"kind":"number","nativeSrc":"302651:4:22","nodeType":"YulLiteral","src":"302651:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"302640:2:22","nodeType":"YulIdentifier","src":"302640:2:22"},"nativeSrc":"302640:16:22","nodeType":"YulFunctionCall","src":"302640:16:22"},"nativeSrc":"302633:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"302657:28:22","nodeType":"YulBlock","src":"302657:28:22","statements":[{"nativeSrc":"302659:24:22","nodeType":"YulAssignment","src":"302659:24:22","value":{"arguments":[{"name":"length","nativeSrc":"302673:6:22","nodeType":"YulIdentifier","src":"302673:6:22"},{"kind":"number","nativeSrc":"302681:1:22","nodeType":"YulLiteral","src":"302681:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"302669:3:22","nodeType":"YulIdentifier","src":"302669:3:22"},"nativeSrc":"302669:14:22","nodeType":"YulFunctionCall","src":"302669:14:22"},"variableNames":[{"name":"length","nativeSrc":"302659:6:22","nodeType":"YulIdentifier","src":"302659:6:22"}]}]},"pre":{"nativeSrc":"302637:2:22","nodeType":"YulBlock","src":"302637:2:22","statements":[]},"src":"302633:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"302750:3:22","nodeType":"YulIdentifier","src":"302750:3:22"},{"name":"length","nativeSrc":"302755:6:22","nodeType":"YulIdentifier","src":"302755:6:22"}],"functionName":{"name":"mstore","nativeSrc":"302743:6:22","nodeType":"YulIdentifier","src":"302743:6:22"},"nativeSrc":"302743:19:22","nodeType":"YulFunctionCall","src":"302743:19:22"},"nativeSrc":"302743:19:22","nodeType":"YulExpressionStatement","src":"302743:19:22"},{"nativeSrc":"302779:37:22","nodeType":"YulVariableDeclaration","src":"302779:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"302796:3:22","nodeType":"YulLiteral","src":"302796:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"302805:1:22","nodeType":"YulLiteral","src":"302805:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"302808:6:22","nodeType":"YulIdentifier","src":"302808:6:22"}],"functionName":{"name":"shl","nativeSrc":"302801:3:22","nodeType":"YulIdentifier","src":"302801:3:22"},"nativeSrc":"302801:14:22","nodeType":"YulFunctionCall","src":"302801:14:22"}],"functionName":{"name":"sub","nativeSrc":"302792:3:22","nodeType":"YulIdentifier","src":"302792:3:22"},"nativeSrc":"302792:24:22","nodeType":"YulFunctionCall","src":"302792:24:22"},"variables":[{"name":"shift","nativeSrc":"302783:5:22","nodeType":"YulTypedName","src":"302783:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"302844:3:22","nodeType":"YulIdentifier","src":"302844:3:22"},{"kind":"number","nativeSrc":"302849:4:22","nodeType":"YulLiteral","src":"302849:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"302840:3:22","nodeType":"YulIdentifier","src":"302840:3:22"},"nativeSrc":"302840:14:22","nodeType":"YulFunctionCall","src":"302840:14:22"},{"arguments":[{"name":"shift","nativeSrc":"302860:5:22","nodeType":"YulIdentifier","src":"302860:5:22"},{"arguments":[{"name":"shift","nativeSrc":"302871:5:22","nodeType":"YulIdentifier","src":"302871:5:22"},{"name":"w","nativeSrc":"302878:1:22","nodeType":"YulIdentifier","src":"302878:1:22"}],"functionName":{"name":"shr","nativeSrc":"302867:3:22","nodeType":"YulIdentifier","src":"302867:3:22"},"nativeSrc":"302867:13:22","nodeType":"YulFunctionCall","src":"302867:13:22"}],"functionName":{"name":"shl","nativeSrc":"302856:3:22","nodeType":"YulIdentifier","src":"302856:3:22"},"nativeSrc":"302856:25:22","nodeType":"YulFunctionCall","src":"302856:25:22"}],"functionName":{"name":"mstore","nativeSrc":"302833:6:22","nodeType":"YulIdentifier","src":"302833:6:22"},"nativeSrc":"302833:49:22","nodeType":"YulFunctionCall","src":"302833:49:22"},"nativeSrc":"302833:49:22","nodeType":"YulExpressionStatement","src":"302833:49:22"}]},"name":"writeString","nativeSrc":"302554:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"302575:3:22","nodeType":"YulTypedName","src":"302575:3:22","type":""},{"name":"w","nativeSrc":"302580:1:22","nodeType":"YulTypedName","src":"302580:1:22","type":""}],"src":"302554:342:22"},{"nativeSrc":"302909:17:22","nodeType":"YulAssignment","src":"302909:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"302921:4:22","nodeType":"YulLiteral","src":"302921:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"302915:5:22","nodeType":"YulIdentifier","src":"302915:5:22"},"nativeSrc":"302915:11:22","nodeType":"YulFunctionCall","src":"302915:11:22"},"variableNames":[{"name":"m0","nativeSrc":"302909:2:22","nodeType":"YulIdentifier","src":"302909:2:22"}]},{"nativeSrc":"302939:17:22","nodeType":"YulAssignment","src":"302939:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"302951:4:22","nodeType":"YulLiteral","src":"302951:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"302945:5:22","nodeType":"YulIdentifier","src":"302945:5:22"},"nativeSrc":"302945:11:22","nodeType":"YulFunctionCall","src":"302945:11:22"},"variableNames":[{"name":"m1","nativeSrc":"302939:2:22","nodeType":"YulIdentifier","src":"302939:2:22"}]},{"nativeSrc":"302969:17:22","nodeType":"YulAssignment","src":"302969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"302981:4:22","nodeType":"YulLiteral","src":"302981:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"302975:5:22","nodeType":"YulIdentifier","src":"302975:5:22"},"nativeSrc":"302975:11:22","nodeType":"YulFunctionCall","src":"302975:11:22"},"variableNames":[{"name":"m2","nativeSrc":"302969:2:22","nodeType":"YulIdentifier","src":"302969:2:22"}]},{"nativeSrc":"302999:17:22","nodeType":"YulAssignment","src":"302999:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"303011:4:22","nodeType":"YulLiteral","src":"303011:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"303005:5:22","nodeType":"YulIdentifier","src":"303005:5:22"},"nativeSrc":"303005:11:22","nodeType":"YulFunctionCall","src":"303005:11:22"},"variableNames":[{"name":"m3","nativeSrc":"302999:2:22","nodeType":"YulIdentifier","src":"302999:2:22"}]},{"nativeSrc":"303029:17:22","nodeType":"YulAssignment","src":"303029:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"303041:4:22","nodeType":"YulLiteral","src":"303041:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"303035:5:22","nodeType":"YulIdentifier","src":"303035:5:22"},"nativeSrc":"303035:11:22","nodeType":"YulFunctionCall","src":"303035:11:22"},"variableNames":[{"name":"m4","nativeSrc":"303029:2:22","nodeType":"YulIdentifier","src":"303029:2:22"}]},{"nativeSrc":"303059:17:22","nodeType":"YulAssignment","src":"303059:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"303071:4:22","nodeType":"YulLiteral","src":"303071:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"303065:5:22","nodeType":"YulIdentifier","src":"303065:5:22"},"nativeSrc":"303065:11:22","nodeType":"YulFunctionCall","src":"303065:11:22"},"variableNames":[{"name":"m5","nativeSrc":"303059:2:22","nodeType":"YulIdentifier","src":"303059:2:22"}]},{"nativeSrc":"303089:17:22","nodeType":"YulAssignment","src":"303089:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"303101:4:22","nodeType":"YulLiteral","src":"303101:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"303095:5:22","nodeType":"YulIdentifier","src":"303095:5:22"},"nativeSrc":"303095:11:22","nodeType":"YulFunctionCall","src":"303095:11:22"},"variableNames":[{"name":"m6","nativeSrc":"303089:2:22","nodeType":"YulIdentifier","src":"303089:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303192:4:22","nodeType":"YulLiteral","src":"303192:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"303198:10:22","nodeType":"YulLiteral","src":"303198:10:22","type":"","value":"0x6168ed61"}],"functionName":{"name":"mstore","nativeSrc":"303185:6:22","nodeType":"YulIdentifier","src":"303185:6:22"},"nativeSrc":"303185:24:22","nodeType":"YulFunctionCall","src":"303185:24:22"},"nativeSrc":"303185:24:22","nodeType":"YulExpressionStatement","src":"303185:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303229:4:22","nodeType":"YulLiteral","src":"303229:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"303235:2:22","nodeType":"YulIdentifier","src":"303235:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303222:6:22","nodeType":"YulIdentifier","src":"303222:6:22"},"nativeSrc":"303222:16:22","nodeType":"YulFunctionCall","src":"303222:16:22"},"nativeSrc":"303222:16:22","nodeType":"YulExpressionStatement","src":"303222:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303258:4:22","nodeType":"YulLiteral","src":"303258:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"303264:4:22","nodeType":"YulLiteral","src":"303264:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"303251:6:22","nodeType":"YulIdentifier","src":"303251:6:22"},"nativeSrc":"303251:18:22","nodeType":"YulFunctionCall","src":"303251:18:22"},"nativeSrc":"303251:18:22","nodeType":"YulExpressionStatement","src":"303251:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303289:4:22","nodeType":"YulLiteral","src":"303289:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"303295:2:22","nodeType":"YulIdentifier","src":"303295:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303282:6:22","nodeType":"YulIdentifier","src":"303282:6:22"},"nativeSrc":"303282:16:22","nodeType":"YulFunctionCall","src":"303282:16:22"},"nativeSrc":"303282:16:22","nodeType":"YulExpressionStatement","src":"303282:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303318:4:22","nodeType":"YulLiteral","src":"303318:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"303324:2:22","nodeType":"YulIdentifier","src":"303324:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303311:6:22","nodeType":"YulIdentifier","src":"303311:6:22"},"nativeSrc":"303311:16:22","nodeType":"YulFunctionCall","src":"303311:16:22"},"nativeSrc":"303311:16:22","nodeType":"YulExpressionStatement","src":"303311:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303352:4:22","nodeType":"YulLiteral","src":"303352:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"303358:2:22","nodeType":"YulIdentifier","src":"303358:2:22"}],"functionName":{"name":"writeString","nativeSrc":"303340:11:22","nodeType":"YulIdentifier","src":"303340:11:22"},"nativeSrc":"303340:21:22","nodeType":"YulFunctionCall","src":"303340:21:22"},"nativeSrc":"303340:21:22","nodeType":"YulExpressionStatement","src":"303340:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40901,"isOffset":false,"isSlot":false,"src":"302909:2:22","valueSize":1},{"declaration":40904,"isOffset":false,"isSlot":false,"src":"302939:2:22","valueSize":1},{"declaration":40907,"isOffset":false,"isSlot":false,"src":"302969:2:22","valueSize":1},{"declaration":40910,"isOffset":false,"isSlot":false,"src":"302999:2:22","valueSize":1},{"declaration":40913,"isOffset":false,"isSlot":false,"src":"303029:2:22","valueSize":1},{"declaration":40916,"isOffset":false,"isSlot":false,"src":"303059:2:22","valueSize":1},{"declaration":40919,"isOffset":false,"isSlot":false,"src":"303089:2:22","valueSize":1},{"declaration":40891,"isOffset":false,"isSlot":false,"src":"303235:2:22","valueSize":1},{"declaration":40893,"isOffset":false,"isSlot":false,"src":"303358:2:22","valueSize":1},{"declaration":40895,"isOffset":false,"isSlot":false,"src":"303295:2:22","valueSize":1},{"declaration":40897,"isOffset":false,"isSlot":false,"src":"303324:2:22","valueSize":1}],"id":40921,"nodeType":"InlineAssembly","src":"302531:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303396:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303402:4:22","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":40922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"303380:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"303380:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40926,"nodeType":"ExpressionStatement","src":"303380:27:22"},{"AST":{"nativeSrc":"303469:214:22","nodeType":"YulBlock","src":"303469:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"303490:4:22","nodeType":"YulLiteral","src":"303490:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"303496:2:22","nodeType":"YulIdentifier","src":"303496:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303483:6:22","nodeType":"YulIdentifier","src":"303483:6:22"},"nativeSrc":"303483:16:22","nodeType":"YulFunctionCall","src":"303483:16:22"},"nativeSrc":"303483:16:22","nodeType":"YulExpressionStatement","src":"303483:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303519:4:22","nodeType":"YulLiteral","src":"303519:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"303525:2:22","nodeType":"YulIdentifier","src":"303525:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303512:6:22","nodeType":"YulIdentifier","src":"303512:6:22"},"nativeSrc":"303512:16:22","nodeType":"YulFunctionCall","src":"303512:16:22"},"nativeSrc":"303512:16:22","nodeType":"YulExpressionStatement","src":"303512:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303548:4:22","nodeType":"YulLiteral","src":"303548:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"303554:2:22","nodeType":"YulIdentifier","src":"303554:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303541:6:22","nodeType":"YulIdentifier","src":"303541:6:22"},"nativeSrc":"303541:16:22","nodeType":"YulFunctionCall","src":"303541:16:22"},"nativeSrc":"303541:16:22","nodeType":"YulExpressionStatement","src":"303541:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303577:4:22","nodeType":"YulLiteral","src":"303577:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"303583:2:22","nodeType":"YulIdentifier","src":"303583:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303570:6:22","nodeType":"YulIdentifier","src":"303570:6:22"},"nativeSrc":"303570:16:22","nodeType":"YulFunctionCall","src":"303570:16:22"},"nativeSrc":"303570:16:22","nodeType":"YulExpressionStatement","src":"303570:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303606:4:22","nodeType":"YulLiteral","src":"303606:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"303612:2:22","nodeType":"YulIdentifier","src":"303612:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303599:6:22","nodeType":"YulIdentifier","src":"303599:6:22"},"nativeSrc":"303599:16:22","nodeType":"YulFunctionCall","src":"303599:16:22"},"nativeSrc":"303599:16:22","nodeType":"YulExpressionStatement","src":"303599:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303635:4:22","nodeType":"YulLiteral","src":"303635:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"303641:2:22","nodeType":"YulIdentifier","src":"303641:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303628:6:22","nodeType":"YulIdentifier","src":"303628:6:22"},"nativeSrc":"303628:16:22","nodeType":"YulFunctionCall","src":"303628:16:22"},"nativeSrc":"303628:16:22","nodeType":"YulExpressionStatement","src":"303628:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303664:4:22","nodeType":"YulLiteral","src":"303664:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"303670:2:22","nodeType":"YulIdentifier","src":"303670:2:22"}],"functionName":{"name":"mstore","nativeSrc":"303657:6:22","nodeType":"YulIdentifier","src":"303657:6:22"},"nativeSrc":"303657:16:22","nodeType":"YulFunctionCall","src":"303657:16:22"},"nativeSrc":"303657:16:22","nodeType":"YulExpressionStatement","src":"303657:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40901,"isOffset":false,"isSlot":false,"src":"303496:2:22","valueSize":1},{"declaration":40904,"isOffset":false,"isSlot":false,"src":"303525:2:22","valueSize":1},{"declaration":40907,"isOffset":false,"isSlot":false,"src":"303554:2:22","valueSize":1},{"declaration":40910,"isOffset":false,"isSlot":false,"src":"303583:2:22","valueSize":1},{"declaration":40913,"isOffset":false,"isSlot":false,"src":"303612:2:22","valueSize":1},{"declaration":40916,"isOffset":false,"isSlot":false,"src":"303641:2:22","valueSize":1},{"declaration":40919,"isOffset":false,"isSlot":false,"src":"303670:2:22","valueSize":1}],"id":40927,"nodeType":"InlineAssembly","src":"303460:223:22"}]},"id":40929,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"302272:3:22","nodeType":"FunctionDefinition","parameters":{"id":40898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40891,"mutability":"mutable","name":"p0","nameLocation":"302284:2:22","nodeType":"VariableDeclaration","scope":40929,"src":"302276:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40890,"name":"uint256","nodeType":"ElementaryTypeName","src":"302276:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40893,"mutability":"mutable","name":"p1","nameLocation":"302296:2:22","nodeType":"VariableDeclaration","scope":40929,"src":"302288:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302288:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40895,"mutability":"mutable","name":"p2","nameLocation":"302308:2:22","nodeType":"VariableDeclaration","scope":40929,"src":"302300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40894,"name":"address","nodeType":"ElementaryTypeName","src":"302300:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40897,"mutability":"mutable","name":"p3","nameLocation":"302320:2:22","nodeType":"VariableDeclaration","scope":40929,"src":"302312:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40896,"name":"address","nodeType":"ElementaryTypeName","src":"302312:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"302275:48:22"},"returnParameters":{"id":40899,"nodeType":"ParameterList","parameters":[],"src":"302338:0:22"},"scope":44426,"src":"302263:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":40968,"nodeType":"Block","src":"303767:1348:22","statements":[{"assignments":[40941],"declarations":[{"constant":false,"id":40941,"mutability":"mutable","name":"m0","nameLocation":"303785:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303777:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303777:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40942,"nodeType":"VariableDeclarationStatement","src":"303777:10:22"},{"assignments":[40944],"declarations":[{"constant":false,"id":40944,"mutability":"mutable","name":"m1","nameLocation":"303805:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303797:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303797:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40945,"nodeType":"VariableDeclarationStatement","src":"303797:10:22"},{"assignments":[40947],"declarations":[{"constant":false,"id":40947,"mutability":"mutable","name":"m2","nameLocation":"303825:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303817:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303817:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40948,"nodeType":"VariableDeclarationStatement","src":"303817:10:22"},{"assignments":[40950],"declarations":[{"constant":false,"id":40950,"mutability":"mutable","name":"m3","nameLocation":"303845:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303837:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303837:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40951,"nodeType":"VariableDeclarationStatement","src":"303837:10:22"},{"assignments":[40953],"declarations":[{"constant":false,"id":40953,"mutability":"mutable","name":"m4","nameLocation":"303865:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303857:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303857:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40954,"nodeType":"VariableDeclarationStatement","src":"303857:10:22"},{"assignments":[40956],"declarations":[{"constant":false,"id":40956,"mutability":"mutable","name":"m5","nameLocation":"303885:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303877:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303877:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40957,"nodeType":"VariableDeclarationStatement","src":"303877:10:22"},{"assignments":[40959],"declarations":[{"constant":false,"id":40959,"mutability":"mutable","name":"m6","nameLocation":"303905:2:22","nodeType":"VariableDeclaration","scope":40968,"src":"303897:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303897:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40960,"nodeType":"VariableDeclarationStatement","src":"303897:10:22"},{"AST":{"nativeSrc":"303969:828:22","nodeType":"YulBlock","src":"303969:828:22","statements":[{"body":{"nativeSrc":"304012:313:22","nodeType":"YulBlock","src":"304012:313:22","statements":[{"nativeSrc":"304030:15:22","nodeType":"YulVariableDeclaration","src":"304030:15:22","value":{"kind":"number","nativeSrc":"304044:1:22","nodeType":"YulLiteral","src":"304044:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"304034:6:22","nodeType":"YulTypedName","src":"304034:6:22","type":""}]},{"body":{"nativeSrc":"304115:40:22","nodeType":"YulBlock","src":"304115:40:22","statements":[{"body":{"nativeSrc":"304144:9:22","nodeType":"YulBlock","src":"304144:9:22","statements":[{"nativeSrc":"304146:5:22","nodeType":"YulBreak","src":"304146:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"304132:6:22","nodeType":"YulIdentifier","src":"304132:6:22"},{"name":"w","nativeSrc":"304140:1:22","nodeType":"YulIdentifier","src":"304140:1:22"}],"functionName":{"name":"byte","nativeSrc":"304127:4:22","nodeType":"YulIdentifier","src":"304127:4:22"},"nativeSrc":"304127:15:22","nodeType":"YulFunctionCall","src":"304127:15:22"}],"functionName":{"name":"iszero","nativeSrc":"304120:6:22","nodeType":"YulIdentifier","src":"304120:6:22"},"nativeSrc":"304120:23:22","nodeType":"YulFunctionCall","src":"304120:23:22"},"nativeSrc":"304117:36:22","nodeType":"YulIf","src":"304117:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"304072:6:22","nodeType":"YulIdentifier","src":"304072:6:22"},{"kind":"number","nativeSrc":"304080:4:22","nodeType":"YulLiteral","src":"304080:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"304069:2:22","nodeType":"YulIdentifier","src":"304069:2:22"},"nativeSrc":"304069:16:22","nodeType":"YulFunctionCall","src":"304069:16:22"},"nativeSrc":"304062:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"304086:28:22","nodeType":"YulBlock","src":"304086:28:22","statements":[{"nativeSrc":"304088:24:22","nodeType":"YulAssignment","src":"304088:24:22","value":{"arguments":[{"name":"length","nativeSrc":"304102:6:22","nodeType":"YulIdentifier","src":"304102:6:22"},{"kind":"number","nativeSrc":"304110:1:22","nodeType":"YulLiteral","src":"304110:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"304098:3:22","nodeType":"YulIdentifier","src":"304098:3:22"},"nativeSrc":"304098:14:22","nodeType":"YulFunctionCall","src":"304098:14:22"},"variableNames":[{"name":"length","nativeSrc":"304088:6:22","nodeType":"YulIdentifier","src":"304088:6:22"}]}]},"pre":{"nativeSrc":"304066:2:22","nodeType":"YulBlock","src":"304066:2:22","statements":[]},"src":"304062:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"304179:3:22","nodeType":"YulIdentifier","src":"304179:3:22"},{"name":"length","nativeSrc":"304184:6:22","nodeType":"YulIdentifier","src":"304184:6:22"}],"functionName":{"name":"mstore","nativeSrc":"304172:6:22","nodeType":"YulIdentifier","src":"304172:6:22"},"nativeSrc":"304172:19:22","nodeType":"YulFunctionCall","src":"304172:19:22"},"nativeSrc":"304172:19:22","nodeType":"YulExpressionStatement","src":"304172:19:22"},{"nativeSrc":"304208:37:22","nodeType":"YulVariableDeclaration","src":"304208:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"304225:3:22","nodeType":"YulLiteral","src":"304225:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"304234:1:22","nodeType":"YulLiteral","src":"304234:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"304237:6:22","nodeType":"YulIdentifier","src":"304237:6:22"}],"functionName":{"name":"shl","nativeSrc":"304230:3:22","nodeType":"YulIdentifier","src":"304230:3:22"},"nativeSrc":"304230:14:22","nodeType":"YulFunctionCall","src":"304230:14:22"}],"functionName":{"name":"sub","nativeSrc":"304221:3:22","nodeType":"YulIdentifier","src":"304221:3:22"},"nativeSrc":"304221:24:22","nodeType":"YulFunctionCall","src":"304221:24:22"},"variables":[{"name":"shift","nativeSrc":"304212:5:22","nodeType":"YulTypedName","src":"304212:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"304273:3:22","nodeType":"YulIdentifier","src":"304273:3:22"},{"kind":"number","nativeSrc":"304278:4:22","nodeType":"YulLiteral","src":"304278:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"304269:3:22","nodeType":"YulIdentifier","src":"304269:3:22"},"nativeSrc":"304269:14:22","nodeType":"YulFunctionCall","src":"304269:14:22"},{"arguments":[{"name":"shift","nativeSrc":"304289:5:22","nodeType":"YulIdentifier","src":"304289:5:22"},{"arguments":[{"name":"shift","nativeSrc":"304300:5:22","nodeType":"YulIdentifier","src":"304300:5:22"},{"name":"w","nativeSrc":"304307:1:22","nodeType":"YulIdentifier","src":"304307:1:22"}],"functionName":{"name":"shr","nativeSrc":"304296:3:22","nodeType":"YulIdentifier","src":"304296:3:22"},"nativeSrc":"304296:13:22","nodeType":"YulFunctionCall","src":"304296:13:22"}],"functionName":{"name":"shl","nativeSrc":"304285:3:22","nodeType":"YulIdentifier","src":"304285:3:22"},"nativeSrc":"304285:25:22","nodeType":"YulFunctionCall","src":"304285:25:22"}],"functionName":{"name":"mstore","nativeSrc":"304262:6:22","nodeType":"YulIdentifier","src":"304262:6:22"},"nativeSrc":"304262:49:22","nodeType":"YulFunctionCall","src":"304262:49:22"},"nativeSrc":"304262:49:22","nodeType":"YulExpressionStatement","src":"304262:49:22"}]},"name":"writeString","nativeSrc":"303983:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"304004:3:22","nodeType":"YulTypedName","src":"304004:3:22","type":""},{"name":"w","nativeSrc":"304009:1:22","nodeType":"YulTypedName","src":"304009:1:22","type":""}],"src":"303983:342:22"},{"nativeSrc":"304338:17:22","nodeType":"YulAssignment","src":"304338:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304350:4:22","nodeType":"YulLiteral","src":"304350:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"304344:5:22","nodeType":"YulIdentifier","src":"304344:5:22"},"nativeSrc":"304344:11:22","nodeType":"YulFunctionCall","src":"304344:11:22"},"variableNames":[{"name":"m0","nativeSrc":"304338:2:22","nodeType":"YulIdentifier","src":"304338:2:22"}]},{"nativeSrc":"304368:17:22","nodeType":"YulAssignment","src":"304368:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304380:4:22","nodeType":"YulLiteral","src":"304380:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"304374:5:22","nodeType":"YulIdentifier","src":"304374:5:22"},"nativeSrc":"304374:11:22","nodeType":"YulFunctionCall","src":"304374:11:22"},"variableNames":[{"name":"m1","nativeSrc":"304368:2:22","nodeType":"YulIdentifier","src":"304368:2:22"}]},{"nativeSrc":"304398:17:22","nodeType":"YulAssignment","src":"304398:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304410:4:22","nodeType":"YulLiteral","src":"304410:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"304404:5:22","nodeType":"YulIdentifier","src":"304404:5:22"},"nativeSrc":"304404:11:22","nodeType":"YulFunctionCall","src":"304404:11:22"},"variableNames":[{"name":"m2","nativeSrc":"304398:2:22","nodeType":"YulIdentifier","src":"304398:2:22"}]},{"nativeSrc":"304428:17:22","nodeType":"YulAssignment","src":"304428:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304440:4:22","nodeType":"YulLiteral","src":"304440:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"304434:5:22","nodeType":"YulIdentifier","src":"304434:5:22"},"nativeSrc":"304434:11:22","nodeType":"YulFunctionCall","src":"304434:11:22"},"variableNames":[{"name":"m3","nativeSrc":"304428:2:22","nodeType":"YulIdentifier","src":"304428:2:22"}]},{"nativeSrc":"304458:17:22","nodeType":"YulAssignment","src":"304458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304470:4:22","nodeType":"YulLiteral","src":"304470:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"304464:5:22","nodeType":"YulIdentifier","src":"304464:5:22"},"nativeSrc":"304464:11:22","nodeType":"YulFunctionCall","src":"304464:11:22"},"variableNames":[{"name":"m4","nativeSrc":"304458:2:22","nodeType":"YulIdentifier","src":"304458:2:22"}]},{"nativeSrc":"304488:17:22","nodeType":"YulAssignment","src":"304488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304500:4:22","nodeType":"YulLiteral","src":"304500:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"304494:5:22","nodeType":"YulIdentifier","src":"304494:5:22"},"nativeSrc":"304494:11:22","nodeType":"YulFunctionCall","src":"304494:11:22"},"variableNames":[{"name":"m5","nativeSrc":"304488:2:22","nodeType":"YulIdentifier","src":"304488:2:22"}]},{"nativeSrc":"304518:17:22","nodeType":"YulAssignment","src":"304518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"304530:4:22","nodeType":"YulLiteral","src":"304530:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"304524:5:22","nodeType":"YulIdentifier","src":"304524:5:22"},"nativeSrc":"304524:11:22","nodeType":"YulFunctionCall","src":"304524:11:22"},"variableNames":[{"name":"m6","nativeSrc":"304518:2:22","nodeType":"YulIdentifier","src":"304518:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304618:4:22","nodeType":"YulLiteral","src":"304618:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"304624:10:22","nodeType":"YulLiteral","src":"304624:10:22","type":"","value":"0x90c30a56"}],"functionName":{"name":"mstore","nativeSrc":"304611:6:22","nodeType":"YulIdentifier","src":"304611:6:22"},"nativeSrc":"304611:24:22","nodeType":"YulFunctionCall","src":"304611:24:22"},"nativeSrc":"304611:24:22","nodeType":"YulExpressionStatement","src":"304611:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304655:4:22","nodeType":"YulLiteral","src":"304655:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"304661:2:22","nodeType":"YulIdentifier","src":"304661:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304648:6:22","nodeType":"YulIdentifier","src":"304648:6:22"},"nativeSrc":"304648:16:22","nodeType":"YulFunctionCall","src":"304648:16:22"},"nativeSrc":"304648:16:22","nodeType":"YulExpressionStatement","src":"304648:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304684:4:22","nodeType":"YulLiteral","src":"304684:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"304690:4:22","nodeType":"YulLiteral","src":"304690:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"304677:6:22","nodeType":"YulIdentifier","src":"304677:6:22"},"nativeSrc":"304677:18:22","nodeType":"YulFunctionCall","src":"304677:18:22"},"nativeSrc":"304677:18:22","nodeType":"YulExpressionStatement","src":"304677:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304715:4:22","nodeType":"YulLiteral","src":"304715:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"304721:2:22","nodeType":"YulIdentifier","src":"304721:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304708:6:22","nodeType":"YulIdentifier","src":"304708:6:22"},"nativeSrc":"304708:16:22","nodeType":"YulFunctionCall","src":"304708:16:22"},"nativeSrc":"304708:16:22","nodeType":"YulExpressionStatement","src":"304708:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304744:4:22","nodeType":"YulLiteral","src":"304744:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"304750:2:22","nodeType":"YulIdentifier","src":"304750:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304737:6:22","nodeType":"YulIdentifier","src":"304737:6:22"},"nativeSrc":"304737:16:22","nodeType":"YulFunctionCall","src":"304737:16:22"},"nativeSrc":"304737:16:22","nodeType":"YulExpressionStatement","src":"304737:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304778:4:22","nodeType":"YulLiteral","src":"304778:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"304784:2:22","nodeType":"YulIdentifier","src":"304784:2:22"}],"functionName":{"name":"writeString","nativeSrc":"304766:11:22","nodeType":"YulIdentifier","src":"304766:11:22"},"nativeSrc":"304766:21:22","nodeType":"YulFunctionCall","src":"304766:21:22"},"nativeSrc":"304766:21:22","nodeType":"YulExpressionStatement","src":"304766:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40941,"isOffset":false,"isSlot":false,"src":"304338:2:22","valueSize":1},{"declaration":40944,"isOffset":false,"isSlot":false,"src":"304368:2:22","valueSize":1},{"declaration":40947,"isOffset":false,"isSlot":false,"src":"304398:2:22","valueSize":1},{"declaration":40950,"isOffset":false,"isSlot":false,"src":"304428:2:22","valueSize":1},{"declaration":40953,"isOffset":false,"isSlot":false,"src":"304458:2:22","valueSize":1},{"declaration":40956,"isOffset":false,"isSlot":false,"src":"304488:2:22","valueSize":1},{"declaration":40959,"isOffset":false,"isSlot":false,"src":"304518:2:22","valueSize":1},{"declaration":40931,"isOffset":false,"isSlot":false,"src":"304661:2:22","valueSize":1},{"declaration":40933,"isOffset":false,"isSlot":false,"src":"304784:2:22","valueSize":1},{"declaration":40935,"isOffset":false,"isSlot":false,"src":"304721:2:22","valueSize":1},{"declaration":40937,"isOffset":false,"isSlot":false,"src":"304750:2:22","valueSize":1}],"id":40961,"nodeType":"InlineAssembly","src":"303960:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":40963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304822:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":40964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304828:4:22","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":40962,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"304806:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":40965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"304806:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40966,"nodeType":"ExpressionStatement","src":"304806:27:22"},{"AST":{"nativeSrc":"304895:214:22","nodeType":"YulBlock","src":"304895:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"304916:4:22","nodeType":"YulLiteral","src":"304916:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"304922:2:22","nodeType":"YulIdentifier","src":"304922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304909:6:22","nodeType":"YulIdentifier","src":"304909:6:22"},"nativeSrc":"304909:16:22","nodeType":"YulFunctionCall","src":"304909:16:22"},"nativeSrc":"304909:16:22","nodeType":"YulExpressionStatement","src":"304909:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304945:4:22","nodeType":"YulLiteral","src":"304945:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"304951:2:22","nodeType":"YulIdentifier","src":"304951:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304938:6:22","nodeType":"YulIdentifier","src":"304938:6:22"},"nativeSrc":"304938:16:22","nodeType":"YulFunctionCall","src":"304938:16:22"},"nativeSrc":"304938:16:22","nodeType":"YulExpressionStatement","src":"304938:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304974:4:22","nodeType":"YulLiteral","src":"304974:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"304980:2:22","nodeType":"YulIdentifier","src":"304980:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304967:6:22","nodeType":"YulIdentifier","src":"304967:6:22"},"nativeSrc":"304967:16:22","nodeType":"YulFunctionCall","src":"304967:16:22"},"nativeSrc":"304967:16:22","nodeType":"YulExpressionStatement","src":"304967:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305003:4:22","nodeType":"YulLiteral","src":"305003:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"305009:2:22","nodeType":"YulIdentifier","src":"305009:2:22"}],"functionName":{"name":"mstore","nativeSrc":"304996:6:22","nodeType":"YulIdentifier","src":"304996:6:22"},"nativeSrc":"304996:16:22","nodeType":"YulFunctionCall","src":"304996:16:22"},"nativeSrc":"304996:16:22","nodeType":"YulExpressionStatement","src":"304996:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305032:4:22","nodeType":"YulLiteral","src":"305032:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"305038:2:22","nodeType":"YulIdentifier","src":"305038:2:22"}],"functionName":{"name":"mstore","nativeSrc":"305025:6:22","nodeType":"YulIdentifier","src":"305025:6:22"},"nativeSrc":"305025:16:22","nodeType":"YulFunctionCall","src":"305025:16:22"},"nativeSrc":"305025:16:22","nodeType":"YulExpressionStatement","src":"305025:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305061:4:22","nodeType":"YulLiteral","src":"305061:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"305067:2:22","nodeType":"YulIdentifier","src":"305067:2:22"}],"functionName":{"name":"mstore","nativeSrc":"305054:6:22","nodeType":"YulIdentifier","src":"305054:6:22"},"nativeSrc":"305054:16:22","nodeType":"YulFunctionCall","src":"305054:16:22"},"nativeSrc":"305054:16:22","nodeType":"YulExpressionStatement","src":"305054:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305090:4:22","nodeType":"YulLiteral","src":"305090:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"305096:2:22","nodeType":"YulIdentifier","src":"305096:2:22"}],"functionName":{"name":"mstore","nativeSrc":"305083:6:22","nodeType":"YulIdentifier","src":"305083:6:22"},"nativeSrc":"305083:16:22","nodeType":"YulFunctionCall","src":"305083:16:22"},"nativeSrc":"305083:16:22","nodeType":"YulExpressionStatement","src":"305083:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40941,"isOffset":false,"isSlot":false,"src":"304922:2:22","valueSize":1},{"declaration":40944,"isOffset":false,"isSlot":false,"src":"304951:2:22","valueSize":1},{"declaration":40947,"isOffset":false,"isSlot":false,"src":"304980:2:22","valueSize":1},{"declaration":40950,"isOffset":false,"isSlot":false,"src":"305009:2:22","valueSize":1},{"declaration":40953,"isOffset":false,"isSlot":false,"src":"305038:2:22","valueSize":1},{"declaration":40956,"isOffset":false,"isSlot":false,"src":"305067:2:22","valueSize":1},{"declaration":40959,"isOffset":false,"isSlot":false,"src":"305096:2:22","valueSize":1}],"id":40967,"nodeType":"InlineAssembly","src":"304886:223:22"}]},"id":40969,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"303704:3:22","nodeType":"FunctionDefinition","parameters":{"id":40938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40931,"mutability":"mutable","name":"p0","nameLocation":"303716:2:22","nodeType":"VariableDeclaration","scope":40969,"src":"303708:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40930,"name":"uint256","nodeType":"ElementaryTypeName","src":"303708:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40933,"mutability":"mutable","name":"p1","nameLocation":"303728:2:22","nodeType":"VariableDeclaration","scope":40969,"src":"303720:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303720:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40935,"mutability":"mutable","name":"p2","nameLocation":"303740:2:22","nodeType":"VariableDeclaration","scope":40969,"src":"303732:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40934,"name":"address","nodeType":"ElementaryTypeName","src":"303732:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40937,"mutability":"mutable","name":"p3","nameLocation":"303749:2:22","nodeType":"VariableDeclaration","scope":40969,"src":"303744:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40936,"name":"bool","nodeType":"ElementaryTypeName","src":"303744:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"303707:45:22"},"returnParameters":{"id":40939,"nodeType":"ParameterList","parameters":[],"src":"303767:0:22"},"scope":44426,"src":"303695:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41008,"nodeType":"Block","src":"305196:1351:22","statements":[{"assignments":[40981],"declarations":[{"constant":false,"id":40981,"mutability":"mutable","name":"m0","nameLocation":"305214:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305206:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305206:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40982,"nodeType":"VariableDeclarationStatement","src":"305206:10:22"},{"assignments":[40984],"declarations":[{"constant":false,"id":40984,"mutability":"mutable","name":"m1","nameLocation":"305234:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305226:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305226:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40985,"nodeType":"VariableDeclarationStatement","src":"305226:10:22"},{"assignments":[40987],"declarations":[{"constant":false,"id":40987,"mutability":"mutable","name":"m2","nameLocation":"305254:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305246:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305246:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40988,"nodeType":"VariableDeclarationStatement","src":"305246:10:22"},{"assignments":[40990],"declarations":[{"constant":false,"id":40990,"mutability":"mutable","name":"m3","nameLocation":"305274:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305266:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305266:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40991,"nodeType":"VariableDeclarationStatement","src":"305266:10:22"},{"assignments":[40993],"declarations":[{"constant":false,"id":40993,"mutability":"mutable","name":"m4","nameLocation":"305294:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305286:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305286:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40994,"nodeType":"VariableDeclarationStatement","src":"305286:10:22"},{"assignments":[40996],"declarations":[{"constant":false,"id":40996,"mutability":"mutable","name":"m5","nameLocation":"305314:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305306:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305306:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40997,"nodeType":"VariableDeclarationStatement","src":"305306:10:22"},{"assignments":[40999],"declarations":[{"constant":false,"id":40999,"mutability":"mutable","name":"m6","nameLocation":"305334:2:22","nodeType":"VariableDeclaration","scope":41008,"src":"305326:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305326:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41000,"nodeType":"VariableDeclarationStatement","src":"305326:10:22"},{"AST":{"nativeSrc":"305398:831:22","nodeType":"YulBlock","src":"305398:831:22","statements":[{"body":{"nativeSrc":"305441:313:22","nodeType":"YulBlock","src":"305441:313:22","statements":[{"nativeSrc":"305459:15:22","nodeType":"YulVariableDeclaration","src":"305459:15:22","value":{"kind":"number","nativeSrc":"305473:1:22","nodeType":"YulLiteral","src":"305473:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"305463:6:22","nodeType":"YulTypedName","src":"305463:6:22","type":""}]},{"body":{"nativeSrc":"305544:40:22","nodeType":"YulBlock","src":"305544:40:22","statements":[{"body":{"nativeSrc":"305573:9:22","nodeType":"YulBlock","src":"305573:9:22","statements":[{"nativeSrc":"305575:5:22","nodeType":"YulBreak","src":"305575:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"305561:6:22","nodeType":"YulIdentifier","src":"305561:6:22"},{"name":"w","nativeSrc":"305569:1:22","nodeType":"YulIdentifier","src":"305569:1:22"}],"functionName":{"name":"byte","nativeSrc":"305556:4:22","nodeType":"YulIdentifier","src":"305556:4:22"},"nativeSrc":"305556:15:22","nodeType":"YulFunctionCall","src":"305556:15:22"}],"functionName":{"name":"iszero","nativeSrc":"305549:6:22","nodeType":"YulIdentifier","src":"305549:6:22"},"nativeSrc":"305549:23:22","nodeType":"YulFunctionCall","src":"305549:23:22"},"nativeSrc":"305546:36:22","nodeType":"YulIf","src":"305546:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"305501:6:22","nodeType":"YulIdentifier","src":"305501:6:22"},{"kind":"number","nativeSrc":"305509:4:22","nodeType":"YulLiteral","src":"305509:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"305498:2:22","nodeType":"YulIdentifier","src":"305498:2:22"},"nativeSrc":"305498:16:22","nodeType":"YulFunctionCall","src":"305498:16:22"},"nativeSrc":"305491:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"305515:28:22","nodeType":"YulBlock","src":"305515:28:22","statements":[{"nativeSrc":"305517:24:22","nodeType":"YulAssignment","src":"305517:24:22","value":{"arguments":[{"name":"length","nativeSrc":"305531:6:22","nodeType":"YulIdentifier","src":"305531:6:22"},{"kind":"number","nativeSrc":"305539:1:22","nodeType":"YulLiteral","src":"305539:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"305527:3:22","nodeType":"YulIdentifier","src":"305527:3:22"},"nativeSrc":"305527:14:22","nodeType":"YulFunctionCall","src":"305527:14:22"},"variableNames":[{"name":"length","nativeSrc":"305517:6:22","nodeType":"YulIdentifier","src":"305517:6:22"}]}]},"pre":{"nativeSrc":"305495:2:22","nodeType":"YulBlock","src":"305495:2:22","statements":[]},"src":"305491:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"305608:3:22","nodeType":"YulIdentifier","src":"305608:3:22"},{"name":"length","nativeSrc":"305613:6:22","nodeType":"YulIdentifier","src":"305613:6:22"}],"functionName":{"name":"mstore","nativeSrc":"305601:6:22","nodeType":"YulIdentifier","src":"305601:6:22"},"nativeSrc":"305601:19:22","nodeType":"YulFunctionCall","src":"305601:19:22"},"nativeSrc":"305601:19:22","nodeType":"YulExpressionStatement","src":"305601:19:22"},{"nativeSrc":"305637:37:22","nodeType":"YulVariableDeclaration","src":"305637:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"305654:3:22","nodeType":"YulLiteral","src":"305654:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"305663:1:22","nodeType":"YulLiteral","src":"305663:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"305666:6:22","nodeType":"YulIdentifier","src":"305666:6:22"}],"functionName":{"name":"shl","nativeSrc":"305659:3:22","nodeType":"YulIdentifier","src":"305659:3:22"},"nativeSrc":"305659:14:22","nodeType":"YulFunctionCall","src":"305659:14:22"}],"functionName":{"name":"sub","nativeSrc":"305650:3:22","nodeType":"YulIdentifier","src":"305650:3:22"},"nativeSrc":"305650:24:22","nodeType":"YulFunctionCall","src":"305650:24:22"},"variables":[{"name":"shift","nativeSrc":"305641:5:22","nodeType":"YulTypedName","src":"305641:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"305702:3:22","nodeType":"YulIdentifier","src":"305702:3:22"},{"kind":"number","nativeSrc":"305707:4:22","nodeType":"YulLiteral","src":"305707:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"305698:3:22","nodeType":"YulIdentifier","src":"305698:3:22"},"nativeSrc":"305698:14:22","nodeType":"YulFunctionCall","src":"305698:14:22"},{"arguments":[{"name":"shift","nativeSrc":"305718:5:22","nodeType":"YulIdentifier","src":"305718:5:22"},{"arguments":[{"name":"shift","nativeSrc":"305729:5:22","nodeType":"YulIdentifier","src":"305729:5:22"},{"name":"w","nativeSrc":"305736:1:22","nodeType":"YulIdentifier","src":"305736:1:22"}],"functionName":{"name":"shr","nativeSrc":"305725:3:22","nodeType":"YulIdentifier","src":"305725:3:22"},"nativeSrc":"305725:13:22","nodeType":"YulFunctionCall","src":"305725:13:22"}],"functionName":{"name":"shl","nativeSrc":"305714:3:22","nodeType":"YulIdentifier","src":"305714:3:22"},"nativeSrc":"305714:25:22","nodeType":"YulFunctionCall","src":"305714:25:22"}],"functionName":{"name":"mstore","nativeSrc":"305691:6:22","nodeType":"YulIdentifier","src":"305691:6:22"},"nativeSrc":"305691:49:22","nodeType":"YulFunctionCall","src":"305691:49:22"},"nativeSrc":"305691:49:22","nodeType":"YulExpressionStatement","src":"305691:49:22"}]},"name":"writeString","nativeSrc":"305412:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"305433:3:22","nodeType":"YulTypedName","src":"305433:3:22","type":""},{"name":"w","nativeSrc":"305438:1:22","nodeType":"YulTypedName","src":"305438:1:22","type":""}],"src":"305412:342:22"},{"nativeSrc":"305767:17:22","nodeType":"YulAssignment","src":"305767:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305779:4:22","nodeType":"YulLiteral","src":"305779:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"305773:5:22","nodeType":"YulIdentifier","src":"305773:5:22"},"nativeSrc":"305773:11:22","nodeType":"YulFunctionCall","src":"305773:11:22"},"variableNames":[{"name":"m0","nativeSrc":"305767:2:22","nodeType":"YulIdentifier","src":"305767:2:22"}]},{"nativeSrc":"305797:17:22","nodeType":"YulAssignment","src":"305797:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305809:4:22","nodeType":"YulLiteral","src":"305809:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"305803:5:22","nodeType":"YulIdentifier","src":"305803:5:22"},"nativeSrc":"305803:11:22","nodeType":"YulFunctionCall","src":"305803:11:22"},"variableNames":[{"name":"m1","nativeSrc":"305797:2:22","nodeType":"YulIdentifier","src":"305797:2:22"}]},{"nativeSrc":"305827:17:22","nodeType":"YulAssignment","src":"305827:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305839:4:22","nodeType":"YulLiteral","src":"305839:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"305833:5:22","nodeType":"YulIdentifier","src":"305833:5:22"},"nativeSrc":"305833:11:22","nodeType":"YulFunctionCall","src":"305833:11:22"},"variableNames":[{"name":"m2","nativeSrc":"305827:2:22","nodeType":"YulIdentifier","src":"305827:2:22"}]},{"nativeSrc":"305857:17:22","nodeType":"YulAssignment","src":"305857:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305869:4:22","nodeType":"YulLiteral","src":"305869:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"305863:5:22","nodeType":"YulIdentifier","src":"305863:5:22"},"nativeSrc":"305863:11:22","nodeType":"YulFunctionCall","src":"305863:11:22"},"variableNames":[{"name":"m3","nativeSrc":"305857:2:22","nodeType":"YulIdentifier","src":"305857:2:22"}]},{"nativeSrc":"305887:17:22","nodeType":"YulAssignment","src":"305887:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305899:4:22","nodeType":"YulLiteral","src":"305899:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"305893:5:22","nodeType":"YulIdentifier","src":"305893:5:22"},"nativeSrc":"305893:11:22","nodeType":"YulFunctionCall","src":"305893:11:22"},"variableNames":[{"name":"m4","nativeSrc":"305887:2:22","nodeType":"YulIdentifier","src":"305887:2:22"}]},{"nativeSrc":"305917:17:22","nodeType":"YulAssignment","src":"305917:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305929:4:22","nodeType":"YulLiteral","src":"305929:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"305923:5:22","nodeType":"YulIdentifier","src":"305923:5:22"},"nativeSrc":"305923:11:22","nodeType":"YulFunctionCall","src":"305923:11:22"},"variableNames":[{"name":"m5","nativeSrc":"305917:2:22","nodeType":"YulIdentifier","src":"305917:2:22"}]},{"nativeSrc":"305947:17:22","nodeType":"YulAssignment","src":"305947:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"305959:4:22","nodeType":"YulLiteral","src":"305959:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"305953:5:22","nodeType":"YulIdentifier","src":"305953:5:22"},"nativeSrc":"305953:11:22","nodeType":"YulFunctionCall","src":"305953:11:22"},"variableNames":[{"name":"m6","nativeSrc":"305947:2:22","nodeType":"YulIdentifier","src":"305947:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306050:4:22","nodeType":"YulLiteral","src":"306050:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"306056:10:22","nodeType":"YulLiteral","src":"306056:10:22","type":"","value":"0xe8d3018d"}],"functionName":{"name":"mstore","nativeSrc":"306043:6:22","nodeType":"YulIdentifier","src":"306043:6:22"},"nativeSrc":"306043:24:22","nodeType":"YulFunctionCall","src":"306043:24:22"},"nativeSrc":"306043:24:22","nodeType":"YulExpressionStatement","src":"306043:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306087:4:22","nodeType":"YulLiteral","src":"306087:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"306093:2:22","nodeType":"YulIdentifier","src":"306093:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306080:6:22","nodeType":"YulIdentifier","src":"306080:6:22"},"nativeSrc":"306080:16:22","nodeType":"YulFunctionCall","src":"306080:16:22"},"nativeSrc":"306080:16:22","nodeType":"YulExpressionStatement","src":"306080:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306116:4:22","nodeType":"YulLiteral","src":"306116:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"306122:4:22","nodeType":"YulLiteral","src":"306122:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"306109:6:22","nodeType":"YulIdentifier","src":"306109:6:22"},"nativeSrc":"306109:18:22","nodeType":"YulFunctionCall","src":"306109:18:22"},"nativeSrc":"306109:18:22","nodeType":"YulExpressionStatement","src":"306109:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306147:4:22","nodeType":"YulLiteral","src":"306147:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"306153:2:22","nodeType":"YulIdentifier","src":"306153:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306140:6:22","nodeType":"YulIdentifier","src":"306140:6:22"},"nativeSrc":"306140:16:22","nodeType":"YulFunctionCall","src":"306140:16:22"},"nativeSrc":"306140:16:22","nodeType":"YulExpressionStatement","src":"306140:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306176:4:22","nodeType":"YulLiteral","src":"306176:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"306182:2:22","nodeType":"YulIdentifier","src":"306182:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306169:6:22","nodeType":"YulIdentifier","src":"306169:6:22"},"nativeSrc":"306169:16:22","nodeType":"YulFunctionCall","src":"306169:16:22"},"nativeSrc":"306169:16:22","nodeType":"YulExpressionStatement","src":"306169:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306210:4:22","nodeType":"YulLiteral","src":"306210:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"306216:2:22","nodeType":"YulIdentifier","src":"306216:2:22"}],"functionName":{"name":"writeString","nativeSrc":"306198:11:22","nodeType":"YulIdentifier","src":"306198:11:22"},"nativeSrc":"306198:21:22","nodeType":"YulFunctionCall","src":"306198:21:22"},"nativeSrc":"306198:21:22","nodeType":"YulExpressionStatement","src":"306198:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40981,"isOffset":false,"isSlot":false,"src":"305767:2:22","valueSize":1},{"declaration":40984,"isOffset":false,"isSlot":false,"src":"305797:2:22","valueSize":1},{"declaration":40987,"isOffset":false,"isSlot":false,"src":"305827:2:22","valueSize":1},{"declaration":40990,"isOffset":false,"isSlot":false,"src":"305857:2:22","valueSize":1},{"declaration":40993,"isOffset":false,"isSlot":false,"src":"305887:2:22","valueSize":1},{"declaration":40996,"isOffset":false,"isSlot":false,"src":"305917:2:22","valueSize":1},{"declaration":40999,"isOffset":false,"isSlot":false,"src":"305947:2:22","valueSize":1},{"declaration":40971,"isOffset":false,"isSlot":false,"src":"306093:2:22","valueSize":1},{"declaration":40973,"isOffset":false,"isSlot":false,"src":"306216:2:22","valueSize":1},{"declaration":40975,"isOffset":false,"isSlot":false,"src":"306153:2:22","valueSize":1},{"declaration":40977,"isOffset":false,"isSlot":false,"src":"306182:2:22","valueSize":1}],"id":41001,"nodeType":"InlineAssembly","src":"305389:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306254:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306260:4:22","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":41002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"306238:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"306238:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41006,"nodeType":"ExpressionStatement","src":"306238:27:22"},{"AST":{"nativeSrc":"306327:214:22","nodeType":"YulBlock","src":"306327:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"306348:4:22","nodeType":"YulLiteral","src":"306348:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"306354:2:22","nodeType":"YulIdentifier","src":"306354:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306341:6:22","nodeType":"YulIdentifier","src":"306341:6:22"},"nativeSrc":"306341:16:22","nodeType":"YulFunctionCall","src":"306341:16:22"},"nativeSrc":"306341:16:22","nodeType":"YulExpressionStatement","src":"306341:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306377:4:22","nodeType":"YulLiteral","src":"306377:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"306383:2:22","nodeType":"YulIdentifier","src":"306383:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306370:6:22","nodeType":"YulIdentifier","src":"306370:6:22"},"nativeSrc":"306370:16:22","nodeType":"YulFunctionCall","src":"306370:16:22"},"nativeSrc":"306370:16:22","nodeType":"YulExpressionStatement","src":"306370:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306406:4:22","nodeType":"YulLiteral","src":"306406:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"306412:2:22","nodeType":"YulIdentifier","src":"306412:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306399:6:22","nodeType":"YulIdentifier","src":"306399:6:22"},"nativeSrc":"306399:16:22","nodeType":"YulFunctionCall","src":"306399:16:22"},"nativeSrc":"306399:16:22","nodeType":"YulExpressionStatement","src":"306399:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306435:4:22","nodeType":"YulLiteral","src":"306435:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"306441:2:22","nodeType":"YulIdentifier","src":"306441:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306428:6:22","nodeType":"YulIdentifier","src":"306428:6:22"},"nativeSrc":"306428:16:22","nodeType":"YulFunctionCall","src":"306428:16:22"},"nativeSrc":"306428:16:22","nodeType":"YulExpressionStatement","src":"306428:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306464:4:22","nodeType":"YulLiteral","src":"306464:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"306470:2:22","nodeType":"YulIdentifier","src":"306470:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306457:6:22","nodeType":"YulIdentifier","src":"306457:6:22"},"nativeSrc":"306457:16:22","nodeType":"YulFunctionCall","src":"306457:16:22"},"nativeSrc":"306457:16:22","nodeType":"YulExpressionStatement","src":"306457:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306493:4:22","nodeType":"YulLiteral","src":"306493:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"306499:2:22","nodeType":"YulIdentifier","src":"306499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306486:6:22","nodeType":"YulIdentifier","src":"306486:6:22"},"nativeSrc":"306486:16:22","nodeType":"YulFunctionCall","src":"306486:16:22"},"nativeSrc":"306486:16:22","nodeType":"YulExpressionStatement","src":"306486:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306522:4:22","nodeType":"YulLiteral","src":"306522:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"306528:2:22","nodeType":"YulIdentifier","src":"306528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"306515:6:22","nodeType":"YulIdentifier","src":"306515:6:22"},"nativeSrc":"306515:16:22","nodeType":"YulFunctionCall","src":"306515:16:22"},"nativeSrc":"306515:16:22","nodeType":"YulExpressionStatement","src":"306515:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":40981,"isOffset":false,"isSlot":false,"src":"306354:2:22","valueSize":1},{"declaration":40984,"isOffset":false,"isSlot":false,"src":"306383:2:22","valueSize":1},{"declaration":40987,"isOffset":false,"isSlot":false,"src":"306412:2:22","valueSize":1},{"declaration":40990,"isOffset":false,"isSlot":false,"src":"306441:2:22","valueSize":1},{"declaration":40993,"isOffset":false,"isSlot":false,"src":"306470:2:22","valueSize":1},{"declaration":40996,"isOffset":false,"isSlot":false,"src":"306499:2:22","valueSize":1},{"declaration":40999,"isOffset":false,"isSlot":false,"src":"306528:2:22","valueSize":1}],"id":41007,"nodeType":"InlineAssembly","src":"306318:223:22"}]},"id":41009,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"305130:3:22","nodeType":"FunctionDefinition","parameters":{"id":40978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40971,"mutability":"mutable","name":"p0","nameLocation":"305142:2:22","nodeType":"VariableDeclaration","scope":41009,"src":"305134:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40970,"name":"uint256","nodeType":"ElementaryTypeName","src":"305134:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40973,"mutability":"mutable","name":"p1","nameLocation":"305154:2:22","nodeType":"VariableDeclaration","scope":41009,"src":"305146:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305146:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40975,"mutability":"mutable","name":"p2","nameLocation":"305166:2:22","nodeType":"VariableDeclaration","scope":41009,"src":"305158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40974,"name":"address","nodeType":"ElementaryTypeName","src":"305158:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40977,"mutability":"mutable","name":"p3","nameLocation":"305178:2:22","nodeType":"VariableDeclaration","scope":41009,"src":"305170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":40976,"name":"uint256","nodeType":"ElementaryTypeName","src":"305170:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"305133:48:22"},"returnParameters":{"id":40979,"nodeType":"ParameterList","parameters":[],"src":"305196:0:22"},"scope":44426,"src":"305121:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41054,"nodeType":"Block","src":"306628:1547:22","statements":[{"assignments":[41021],"declarations":[{"constant":false,"id":41021,"mutability":"mutable","name":"m0","nameLocation":"306646:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41022,"nodeType":"VariableDeclarationStatement","src":"306638:10:22"},{"assignments":[41024],"declarations":[{"constant":false,"id":41024,"mutability":"mutable","name":"m1","nameLocation":"306666:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41025,"nodeType":"VariableDeclarationStatement","src":"306658:10:22"},{"assignments":[41027],"declarations":[{"constant":false,"id":41027,"mutability":"mutable","name":"m2","nameLocation":"306686:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306678:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306678:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41028,"nodeType":"VariableDeclarationStatement","src":"306678:10:22"},{"assignments":[41030],"declarations":[{"constant":false,"id":41030,"mutability":"mutable","name":"m3","nameLocation":"306706:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41031,"nodeType":"VariableDeclarationStatement","src":"306698:10:22"},{"assignments":[41033],"declarations":[{"constant":false,"id":41033,"mutability":"mutable","name":"m4","nameLocation":"306726:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41034,"nodeType":"VariableDeclarationStatement","src":"306718:10:22"},{"assignments":[41036],"declarations":[{"constant":false,"id":41036,"mutability":"mutable","name":"m5","nameLocation":"306746:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306738:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41037,"nodeType":"VariableDeclarationStatement","src":"306738:10:22"},{"assignments":[41039],"declarations":[{"constant":false,"id":41039,"mutability":"mutable","name":"m6","nameLocation":"306766:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306758:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306758:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41040,"nodeType":"VariableDeclarationStatement","src":"306758:10:22"},{"assignments":[41042],"declarations":[{"constant":false,"id":41042,"mutability":"mutable","name":"m7","nameLocation":"306786:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306778:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306778:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41043,"nodeType":"VariableDeclarationStatement","src":"306778:10:22"},{"assignments":[41045],"declarations":[{"constant":false,"id":41045,"mutability":"mutable","name":"m8","nameLocation":"306806:2:22","nodeType":"VariableDeclaration","scope":41054,"src":"306798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306798:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41046,"nodeType":"VariableDeclarationStatement","src":"306798:10:22"},{"AST":{"nativeSrc":"306870:927:22","nodeType":"YulBlock","src":"306870:927:22","statements":[{"body":{"nativeSrc":"306913:313:22","nodeType":"YulBlock","src":"306913:313:22","statements":[{"nativeSrc":"306931:15:22","nodeType":"YulVariableDeclaration","src":"306931:15:22","value":{"kind":"number","nativeSrc":"306945:1:22","nodeType":"YulLiteral","src":"306945:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"306935:6:22","nodeType":"YulTypedName","src":"306935:6:22","type":""}]},{"body":{"nativeSrc":"307016:40:22","nodeType":"YulBlock","src":"307016:40:22","statements":[{"body":{"nativeSrc":"307045:9:22","nodeType":"YulBlock","src":"307045:9:22","statements":[{"nativeSrc":"307047:5:22","nodeType":"YulBreak","src":"307047:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"307033:6:22","nodeType":"YulIdentifier","src":"307033:6:22"},{"name":"w","nativeSrc":"307041:1:22","nodeType":"YulIdentifier","src":"307041:1:22"}],"functionName":{"name":"byte","nativeSrc":"307028:4:22","nodeType":"YulIdentifier","src":"307028:4:22"},"nativeSrc":"307028:15:22","nodeType":"YulFunctionCall","src":"307028:15:22"}],"functionName":{"name":"iszero","nativeSrc":"307021:6:22","nodeType":"YulIdentifier","src":"307021:6:22"},"nativeSrc":"307021:23:22","nodeType":"YulFunctionCall","src":"307021:23:22"},"nativeSrc":"307018:36:22","nodeType":"YulIf","src":"307018:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"306973:6:22","nodeType":"YulIdentifier","src":"306973:6:22"},{"kind":"number","nativeSrc":"306981:4:22","nodeType":"YulLiteral","src":"306981:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"306970:2:22","nodeType":"YulIdentifier","src":"306970:2:22"},"nativeSrc":"306970:16:22","nodeType":"YulFunctionCall","src":"306970:16:22"},"nativeSrc":"306963:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"306987:28:22","nodeType":"YulBlock","src":"306987:28:22","statements":[{"nativeSrc":"306989:24:22","nodeType":"YulAssignment","src":"306989:24:22","value":{"arguments":[{"name":"length","nativeSrc":"307003:6:22","nodeType":"YulIdentifier","src":"307003:6:22"},{"kind":"number","nativeSrc":"307011:1:22","nodeType":"YulLiteral","src":"307011:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"306999:3:22","nodeType":"YulIdentifier","src":"306999:3:22"},"nativeSrc":"306999:14:22","nodeType":"YulFunctionCall","src":"306999:14:22"},"variableNames":[{"name":"length","nativeSrc":"306989:6:22","nodeType":"YulIdentifier","src":"306989:6:22"}]}]},"pre":{"nativeSrc":"306967:2:22","nodeType":"YulBlock","src":"306967:2:22","statements":[]},"src":"306963:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"307080:3:22","nodeType":"YulIdentifier","src":"307080:3:22"},{"name":"length","nativeSrc":"307085:6:22","nodeType":"YulIdentifier","src":"307085:6:22"}],"functionName":{"name":"mstore","nativeSrc":"307073:6:22","nodeType":"YulIdentifier","src":"307073:6:22"},"nativeSrc":"307073:19:22","nodeType":"YulFunctionCall","src":"307073:19:22"},"nativeSrc":"307073:19:22","nodeType":"YulExpressionStatement","src":"307073:19:22"},{"nativeSrc":"307109:37:22","nodeType":"YulVariableDeclaration","src":"307109:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"307126:3:22","nodeType":"YulLiteral","src":"307126:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"307135:1:22","nodeType":"YulLiteral","src":"307135:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"307138:6:22","nodeType":"YulIdentifier","src":"307138:6:22"}],"functionName":{"name":"shl","nativeSrc":"307131:3:22","nodeType":"YulIdentifier","src":"307131:3:22"},"nativeSrc":"307131:14:22","nodeType":"YulFunctionCall","src":"307131:14:22"}],"functionName":{"name":"sub","nativeSrc":"307122:3:22","nodeType":"YulIdentifier","src":"307122:3:22"},"nativeSrc":"307122:24:22","nodeType":"YulFunctionCall","src":"307122:24:22"},"variables":[{"name":"shift","nativeSrc":"307113:5:22","nodeType":"YulTypedName","src":"307113:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"307174:3:22","nodeType":"YulIdentifier","src":"307174:3:22"},{"kind":"number","nativeSrc":"307179:4:22","nodeType":"YulLiteral","src":"307179:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"307170:3:22","nodeType":"YulIdentifier","src":"307170:3:22"},"nativeSrc":"307170:14:22","nodeType":"YulFunctionCall","src":"307170:14:22"},{"arguments":[{"name":"shift","nativeSrc":"307190:5:22","nodeType":"YulIdentifier","src":"307190:5:22"},{"arguments":[{"name":"shift","nativeSrc":"307201:5:22","nodeType":"YulIdentifier","src":"307201:5:22"},{"name":"w","nativeSrc":"307208:1:22","nodeType":"YulIdentifier","src":"307208:1:22"}],"functionName":{"name":"shr","nativeSrc":"307197:3:22","nodeType":"YulIdentifier","src":"307197:3:22"},"nativeSrc":"307197:13:22","nodeType":"YulFunctionCall","src":"307197:13:22"}],"functionName":{"name":"shl","nativeSrc":"307186:3:22","nodeType":"YulIdentifier","src":"307186:3:22"},"nativeSrc":"307186:25:22","nodeType":"YulFunctionCall","src":"307186:25:22"}],"functionName":{"name":"mstore","nativeSrc":"307163:6:22","nodeType":"YulIdentifier","src":"307163:6:22"},"nativeSrc":"307163:49:22","nodeType":"YulFunctionCall","src":"307163:49:22"},"nativeSrc":"307163:49:22","nodeType":"YulExpressionStatement","src":"307163:49:22"}]},"name":"writeString","nativeSrc":"306884:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"306905:3:22","nodeType":"YulTypedName","src":"306905:3:22","type":""},{"name":"w","nativeSrc":"306910:1:22","nodeType":"YulTypedName","src":"306910:1:22","type":""}],"src":"306884:342:22"},{"nativeSrc":"307239:17:22","nodeType":"YulAssignment","src":"307239:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307251:4:22","nodeType":"YulLiteral","src":"307251:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"307245:5:22","nodeType":"YulIdentifier","src":"307245:5:22"},"nativeSrc":"307245:11:22","nodeType":"YulFunctionCall","src":"307245:11:22"},"variableNames":[{"name":"m0","nativeSrc":"307239:2:22","nodeType":"YulIdentifier","src":"307239:2:22"}]},{"nativeSrc":"307269:17:22","nodeType":"YulAssignment","src":"307269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307281:4:22","nodeType":"YulLiteral","src":"307281:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"307275:5:22","nodeType":"YulIdentifier","src":"307275:5:22"},"nativeSrc":"307275:11:22","nodeType":"YulFunctionCall","src":"307275:11:22"},"variableNames":[{"name":"m1","nativeSrc":"307269:2:22","nodeType":"YulIdentifier","src":"307269:2:22"}]},{"nativeSrc":"307299:17:22","nodeType":"YulAssignment","src":"307299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307311:4:22","nodeType":"YulLiteral","src":"307311:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"307305:5:22","nodeType":"YulIdentifier","src":"307305:5:22"},"nativeSrc":"307305:11:22","nodeType":"YulFunctionCall","src":"307305:11:22"},"variableNames":[{"name":"m2","nativeSrc":"307299:2:22","nodeType":"YulIdentifier","src":"307299:2:22"}]},{"nativeSrc":"307329:17:22","nodeType":"YulAssignment","src":"307329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307341:4:22","nodeType":"YulLiteral","src":"307341:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"307335:5:22","nodeType":"YulIdentifier","src":"307335:5:22"},"nativeSrc":"307335:11:22","nodeType":"YulFunctionCall","src":"307335:11:22"},"variableNames":[{"name":"m3","nativeSrc":"307329:2:22","nodeType":"YulIdentifier","src":"307329:2:22"}]},{"nativeSrc":"307359:17:22","nodeType":"YulAssignment","src":"307359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307371:4:22","nodeType":"YulLiteral","src":"307371:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"307365:5:22","nodeType":"YulIdentifier","src":"307365:5:22"},"nativeSrc":"307365:11:22","nodeType":"YulFunctionCall","src":"307365:11:22"},"variableNames":[{"name":"m4","nativeSrc":"307359:2:22","nodeType":"YulIdentifier","src":"307359:2:22"}]},{"nativeSrc":"307389:17:22","nodeType":"YulAssignment","src":"307389:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307401:4:22","nodeType":"YulLiteral","src":"307401:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"307395:5:22","nodeType":"YulIdentifier","src":"307395:5:22"},"nativeSrc":"307395:11:22","nodeType":"YulFunctionCall","src":"307395:11:22"},"variableNames":[{"name":"m5","nativeSrc":"307389:2:22","nodeType":"YulIdentifier","src":"307389:2:22"}]},{"nativeSrc":"307419:17:22","nodeType":"YulAssignment","src":"307419:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307431:4:22","nodeType":"YulLiteral","src":"307431:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"307425:5:22","nodeType":"YulIdentifier","src":"307425:5:22"},"nativeSrc":"307425:11:22","nodeType":"YulFunctionCall","src":"307425:11:22"},"variableNames":[{"name":"m6","nativeSrc":"307419:2:22","nodeType":"YulIdentifier","src":"307419:2:22"}]},{"nativeSrc":"307449:17:22","nodeType":"YulAssignment","src":"307449:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"307461:4:22","nodeType":"YulLiteral","src":"307461:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"307455:5:22","nodeType":"YulIdentifier","src":"307455:5:22"},"nativeSrc":"307455:11:22","nodeType":"YulFunctionCall","src":"307455:11:22"},"variableNames":[{"name":"m7","nativeSrc":"307449:2:22","nodeType":"YulIdentifier","src":"307449:2:22"}]},{"nativeSrc":"307479:18:22","nodeType":"YulAssignment","src":"307479:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"307491:5:22","nodeType":"YulLiteral","src":"307491:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"307485:5:22","nodeType":"YulIdentifier","src":"307485:5:22"},"nativeSrc":"307485:12:22","nodeType":"YulFunctionCall","src":"307485:12:22"},"variableNames":[{"name":"m8","nativeSrc":"307479:2:22","nodeType":"YulIdentifier","src":"307479:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307582:4:22","nodeType":"YulLiteral","src":"307582:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"307588:10:22","nodeType":"YulLiteral","src":"307588:10:22","type":"","value":"0x9c3adfa1"}],"functionName":{"name":"mstore","nativeSrc":"307575:6:22","nodeType":"YulIdentifier","src":"307575:6:22"},"nativeSrc":"307575:24:22","nodeType":"YulFunctionCall","src":"307575:24:22"},"nativeSrc":"307575:24:22","nodeType":"YulExpressionStatement","src":"307575:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307619:4:22","nodeType":"YulLiteral","src":"307619:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"307625:2:22","nodeType":"YulIdentifier","src":"307625:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307612:6:22","nodeType":"YulIdentifier","src":"307612:6:22"},"nativeSrc":"307612:16:22","nodeType":"YulFunctionCall","src":"307612:16:22"},"nativeSrc":"307612:16:22","nodeType":"YulExpressionStatement","src":"307612:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307648:4:22","nodeType":"YulLiteral","src":"307648:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"307654:4:22","nodeType":"YulLiteral","src":"307654:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"307641:6:22","nodeType":"YulIdentifier","src":"307641:6:22"},"nativeSrc":"307641:18:22","nodeType":"YulFunctionCall","src":"307641:18:22"},"nativeSrc":"307641:18:22","nodeType":"YulExpressionStatement","src":"307641:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307679:4:22","nodeType":"YulLiteral","src":"307679:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"307685:2:22","nodeType":"YulIdentifier","src":"307685:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307672:6:22","nodeType":"YulIdentifier","src":"307672:6:22"},"nativeSrc":"307672:16:22","nodeType":"YulFunctionCall","src":"307672:16:22"},"nativeSrc":"307672:16:22","nodeType":"YulExpressionStatement","src":"307672:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307708:4:22","nodeType":"YulLiteral","src":"307708:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"307714:4:22","nodeType":"YulLiteral","src":"307714:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"307701:6:22","nodeType":"YulIdentifier","src":"307701:6:22"},"nativeSrc":"307701:18:22","nodeType":"YulFunctionCall","src":"307701:18:22"},"nativeSrc":"307701:18:22","nodeType":"YulExpressionStatement","src":"307701:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307744:4:22","nodeType":"YulLiteral","src":"307744:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"307750:2:22","nodeType":"YulIdentifier","src":"307750:2:22"}],"functionName":{"name":"writeString","nativeSrc":"307732:11:22","nodeType":"YulIdentifier","src":"307732:11:22"},"nativeSrc":"307732:21:22","nodeType":"YulFunctionCall","src":"307732:21:22"},"nativeSrc":"307732:21:22","nodeType":"YulExpressionStatement","src":"307732:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307778:4:22","nodeType":"YulLiteral","src":"307778:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"307784:2:22","nodeType":"YulIdentifier","src":"307784:2:22"}],"functionName":{"name":"writeString","nativeSrc":"307766:11:22","nodeType":"YulIdentifier","src":"307766:11:22"},"nativeSrc":"307766:21:22","nodeType":"YulFunctionCall","src":"307766:21:22"},"nativeSrc":"307766:21:22","nodeType":"YulExpressionStatement","src":"307766:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41021,"isOffset":false,"isSlot":false,"src":"307239:2:22","valueSize":1},{"declaration":41024,"isOffset":false,"isSlot":false,"src":"307269:2:22","valueSize":1},{"declaration":41027,"isOffset":false,"isSlot":false,"src":"307299:2:22","valueSize":1},{"declaration":41030,"isOffset":false,"isSlot":false,"src":"307329:2:22","valueSize":1},{"declaration":41033,"isOffset":false,"isSlot":false,"src":"307359:2:22","valueSize":1},{"declaration":41036,"isOffset":false,"isSlot":false,"src":"307389:2:22","valueSize":1},{"declaration":41039,"isOffset":false,"isSlot":false,"src":"307419:2:22","valueSize":1},{"declaration":41042,"isOffset":false,"isSlot":false,"src":"307449:2:22","valueSize":1},{"declaration":41045,"isOffset":false,"isSlot":false,"src":"307479:2:22","valueSize":1},{"declaration":41011,"isOffset":false,"isSlot":false,"src":"307625:2:22","valueSize":1},{"declaration":41013,"isOffset":false,"isSlot":false,"src":"307750:2:22","valueSize":1},{"declaration":41015,"isOffset":false,"isSlot":false,"src":"307685:2:22","valueSize":1},{"declaration":41017,"isOffset":false,"isSlot":false,"src":"307784:2:22","valueSize":1}],"id":41047,"nodeType":"InlineAssembly","src":"306861:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307822:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307828:5:22","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":41048,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"307806:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"307806:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41052,"nodeType":"ExpressionStatement","src":"307806:28:22"},{"AST":{"nativeSrc":"307896:273:22","nodeType":"YulBlock","src":"307896:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"307917:4:22","nodeType":"YulLiteral","src":"307917:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"307923:2:22","nodeType":"YulIdentifier","src":"307923:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307910:6:22","nodeType":"YulIdentifier","src":"307910:6:22"},"nativeSrc":"307910:16:22","nodeType":"YulFunctionCall","src":"307910:16:22"},"nativeSrc":"307910:16:22","nodeType":"YulExpressionStatement","src":"307910:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307946:4:22","nodeType":"YulLiteral","src":"307946:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"307952:2:22","nodeType":"YulIdentifier","src":"307952:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307939:6:22","nodeType":"YulIdentifier","src":"307939:6:22"},"nativeSrc":"307939:16:22","nodeType":"YulFunctionCall","src":"307939:16:22"},"nativeSrc":"307939:16:22","nodeType":"YulExpressionStatement","src":"307939:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307975:4:22","nodeType":"YulLiteral","src":"307975:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"307981:2:22","nodeType":"YulIdentifier","src":"307981:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307968:6:22","nodeType":"YulIdentifier","src":"307968:6:22"},"nativeSrc":"307968:16:22","nodeType":"YulFunctionCall","src":"307968:16:22"},"nativeSrc":"307968:16:22","nodeType":"YulExpressionStatement","src":"307968:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308004:4:22","nodeType":"YulLiteral","src":"308004:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"308010:2:22","nodeType":"YulIdentifier","src":"308010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"307997:6:22","nodeType":"YulIdentifier","src":"307997:6:22"},"nativeSrc":"307997:16:22","nodeType":"YulFunctionCall","src":"307997:16:22"},"nativeSrc":"307997:16:22","nodeType":"YulExpressionStatement","src":"307997:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308033:4:22","nodeType":"YulLiteral","src":"308033:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"308039:2:22","nodeType":"YulIdentifier","src":"308039:2:22"}],"functionName":{"name":"mstore","nativeSrc":"308026:6:22","nodeType":"YulIdentifier","src":"308026:6:22"},"nativeSrc":"308026:16:22","nodeType":"YulFunctionCall","src":"308026:16:22"},"nativeSrc":"308026:16:22","nodeType":"YulExpressionStatement","src":"308026:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308062:4:22","nodeType":"YulLiteral","src":"308062:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"308068:2:22","nodeType":"YulIdentifier","src":"308068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"308055:6:22","nodeType":"YulIdentifier","src":"308055:6:22"},"nativeSrc":"308055:16:22","nodeType":"YulFunctionCall","src":"308055:16:22"},"nativeSrc":"308055:16:22","nodeType":"YulExpressionStatement","src":"308055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308091:4:22","nodeType":"YulLiteral","src":"308091:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"308097:2:22","nodeType":"YulIdentifier","src":"308097:2:22"}],"functionName":{"name":"mstore","nativeSrc":"308084:6:22","nodeType":"YulIdentifier","src":"308084:6:22"},"nativeSrc":"308084:16:22","nodeType":"YulFunctionCall","src":"308084:16:22"},"nativeSrc":"308084:16:22","nodeType":"YulExpressionStatement","src":"308084:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308120:4:22","nodeType":"YulLiteral","src":"308120:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"308126:2:22","nodeType":"YulIdentifier","src":"308126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"308113:6:22","nodeType":"YulIdentifier","src":"308113:6:22"},"nativeSrc":"308113:16:22","nodeType":"YulFunctionCall","src":"308113:16:22"},"nativeSrc":"308113:16:22","nodeType":"YulExpressionStatement","src":"308113:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308149:5:22","nodeType":"YulLiteral","src":"308149:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"308156:2:22","nodeType":"YulIdentifier","src":"308156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"308142:6:22","nodeType":"YulIdentifier","src":"308142:6:22"},"nativeSrc":"308142:17:22","nodeType":"YulFunctionCall","src":"308142:17:22"},"nativeSrc":"308142:17:22","nodeType":"YulExpressionStatement","src":"308142:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41021,"isOffset":false,"isSlot":false,"src":"307923:2:22","valueSize":1},{"declaration":41024,"isOffset":false,"isSlot":false,"src":"307952:2:22","valueSize":1},{"declaration":41027,"isOffset":false,"isSlot":false,"src":"307981:2:22","valueSize":1},{"declaration":41030,"isOffset":false,"isSlot":false,"src":"308010:2:22","valueSize":1},{"declaration":41033,"isOffset":false,"isSlot":false,"src":"308039:2:22","valueSize":1},{"declaration":41036,"isOffset":false,"isSlot":false,"src":"308068:2:22","valueSize":1},{"declaration":41039,"isOffset":false,"isSlot":false,"src":"308097:2:22","valueSize":1},{"declaration":41042,"isOffset":false,"isSlot":false,"src":"308126:2:22","valueSize":1},{"declaration":41045,"isOffset":false,"isSlot":false,"src":"308156:2:22","valueSize":1}],"id":41053,"nodeType":"InlineAssembly","src":"307887:282:22"}]},"id":41055,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"306562:3:22","nodeType":"FunctionDefinition","parameters":{"id":41018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41011,"mutability":"mutable","name":"p0","nameLocation":"306574:2:22","nodeType":"VariableDeclaration","scope":41055,"src":"306566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41010,"name":"uint256","nodeType":"ElementaryTypeName","src":"306566:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41013,"mutability":"mutable","name":"p1","nameLocation":"306586:2:22","nodeType":"VariableDeclaration","scope":41055,"src":"306578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41015,"mutability":"mutable","name":"p2","nameLocation":"306598:2:22","nodeType":"VariableDeclaration","scope":41055,"src":"306590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41014,"name":"address","nodeType":"ElementaryTypeName","src":"306590:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41017,"mutability":"mutable","name":"p3","nameLocation":"306610:2:22","nodeType":"VariableDeclaration","scope":41055,"src":"306602:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306602:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"306565:48:22"},"returnParameters":{"id":41019,"nodeType":"ParameterList","parameters":[],"src":"306628:0:22"},"scope":44426,"src":"306553:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41094,"nodeType":"Block","src":"308253:1348:22","statements":[{"assignments":[41067],"declarations":[{"constant":false,"id":41067,"mutability":"mutable","name":"m0","nameLocation":"308271:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308263:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308263:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41068,"nodeType":"VariableDeclarationStatement","src":"308263:10:22"},{"assignments":[41070],"declarations":[{"constant":false,"id":41070,"mutability":"mutable","name":"m1","nameLocation":"308291:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308283:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308283:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41071,"nodeType":"VariableDeclarationStatement","src":"308283:10:22"},{"assignments":[41073],"declarations":[{"constant":false,"id":41073,"mutability":"mutable","name":"m2","nameLocation":"308311:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308303:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308303:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41074,"nodeType":"VariableDeclarationStatement","src":"308303:10:22"},{"assignments":[41076],"declarations":[{"constant":false,"id":41076,"mutability":"mutable","name":"m3","nameLocation":"308331:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308323:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308323:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41077,"nodeType":"VariableDeclarationStatement","src":"308323:10:22"},{"assignments":[41079],"declarations":[{"constant":false,"id":41079,"mutability":"mutable","name":"m4","nameLocation":"308351:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308343:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308343:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41080,"nodeType":"VariableDeclarationStatement","src":"308343:10:22"},{"assignments":[41082],"declarations":[{"constant":false,"id":41082,"mutability":"mutable","name":"m5","nameLocation":"308371:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308363:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308363:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41083,"nodeType":"VariableDeclarationStatement","src":"308363:10:22"},{"assignments":[41085],"declarations":[{"constant":false,"id":41085,"mutability":"mutable","name":"m6","nameLocation":"308391:2:22","nodeType":"VariableDeclaration","scope":41094,"src":"308383:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308383:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41086,"nodeType":"VariableDeclarationStatement","src":"308383:10:22"},{"AST":{"nativeSrc":"308455:828:22","nodeType":"YulBlock","src":"308455:828:22","statements":[{"body":{"nativeSrc":"308498:313:22","nodeType":"YulBlock","src":"308498:313:22","statements":[{"nativeSrc":"308516:15:22","nodeType":"YulVariableDeclaration","src":"308516:15:22","value":{"kind":"number","nativeSrc":"308530:1:22","nodeType":"YulLiteral","src":"308530:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"308520:6:22","nodeType":"YulTypedName","src":"308520:6:22","type":""}]},{"body":{"nativeSrc":"308601:40:22","nodeType":"YulBlock","src":"308601:40:22","statements":[{"body":{"nativeSrc":"308630:9:22","nodeType":"YulBlock","src":"308630:9:22","statements":[{"nativeSrc":"308632:5:22","nodeType":"YulBreak","src":"308632:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"308618:6:22","nodeType":"YulIdentifier","src":"308618:6:22"},{"name":"w","nativeSrc":"308626:1:22","nodeType":"YulIdentifier","src":"308626:1:22"}],"functionName":{"name":"byte","nativeSrc":"308613:4:22","nodeType":"YulIdentifier","src":"308613:4:22"},"nativeSrc":"308613:15:22","nodeType":"YulFunctionCall","src":"308613:15:22"}],"functionName":{"name":"iszero","nativeSrc":"308606:6:22","nodeType":"YulIdentifier","src":"308606:6:22"},"nativeSrc":"308606:23:22","nodeType":"YulFunctionCall","src":"308606:23:22"},"nativeSrc":"308603:36:22","nodeType":"YulIf","src":"308603:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"308558:6:22","nodeType":"YulIdentifier","src":"308558:6:22"},{"kind":"number","nativeSrc":"308566:4:22","nodeType":"YulLiteral","src":"308566:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"308555:2:22","nodeType":"YulIdentifier","src":"308555:2:22"},"nativeSrc":"308555:16:22","nodeType":"YulFunctionCall","src":"308555:16:22"},"nativeSrc":"308548:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"308572:28:22","nodeType":"YulBlock","src":"308572:28:22","statements":[{"nativeSrc":"308574:24:22","nodeType":"YulAssignment","src":"308574:24:22","value":{"arguments":[{"name":"length","nativeSrc":"308588:6:22","nodeType":"YulIdentifier","src":"308588:6:22"},{"kind":"number","nativeSrc":"308596:1:22","nodeType":"YulLiteral","src":"308596:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"308584:3:22","nodeType":"YulIdentifier","src":"308584:3:22"},"nativeSrc":"308584:14:22","nodeType":"YulFunctionCall","src":"308584:14:22"},"variableNames":[{"name":"length","nativeSrc":"308574:6:22","nodeType":"YulIdentifier","src":"308574:6:22"}]}]},"pre":{"nativeSrc":"308552:2:22","nodeType":"YulBlock","src":"308552:2:22","statements":[]},"src":"308548:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"308665:3:22","nodeType":"YulIdentifier","src":"308665:3:22"},{"name":"length","nativeSrc":"308670:6:22","nodeType":"YulIdentifier","src":"308670:6:22"}],"functionName":{"name":"mstore","nativeSrc":"308658:6:22","nodeType":"YulIdentifier","src":"308658:6:22"},"nativeSrc":"308658:19:22","nodeType":"YulFunctionCall","src":"308658:19:22"},"nativeSrc":"308658:19:22","nodeType":"YulExpressionStatement","src":"308658:19:22"},{"nativeSrc":"308694:37:22","nodeType":"YulVariableDeclaration","src":"308694:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"308711:3:22","nodeType":"YulLiteral","src":"308711:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"308720:1:22","nodeType":"YulLiteral","src":"308720:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"308723:6:22","nodeType":"YulIdentifier","src":"308723:6:22"}],"functionName":{"name":"shl","nativeSrc":"308716:3:22","nodeType":"YulIdentifier","src":"308716:3:22"},"nativeSrc":"308716:14:22","nodeType":"YulFunctionCall","src":"308716:14:22"}],"functionName":{"name":"sub","nativeSrc":"308707:3:22","nodeType":"YulIdentifier","src":"308707:3:22"},"nativeSrc":"308707:24:22","nodeType":"YulFunctionCall","src":"308707:24:22"},"variables":[{"name":"shift","nativeSrc":"308698:5:22","nodeType":"YulTypedName","src":"308698:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"308759:3:22","nodeType":"YulIdentifier","src":"308759:3:22"},{"kind":"number","nativeSrc":"308764:4:22","nodeType":"YulLiteral","src":"308764:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"308755:3:22","nodeType":"YulIdentifier","src":"308755:3:22"},"nativeSrc":"308755:14:22","nodeType":"YulFunctionCall","src":"308755:14:22"},{"arguments":[{"name":"shift","nativeSrc":"308775:5:22","nodeType":"YulIdentifier","src":"308775:5:22"},{"arguments":[{"name":"shift","nativeSrc":"308786:5:22","nodeType":"YulIdentifier","src":"308786:5:22"},{"name":"w","nativeSrc":"308793:1:22","nodeType":"YulIdentifier","src":"308793:1:22"}],"functionName":{"name":"shr","nativeSrc":"308782:3:22","nodeType":"YulIdentifier","src":"308782:3:22"},"nativeSrc":"308782:13:22","nodeType":"YulFunctionCall","src":"308782:13:22"}],"functionName":{"name":"shl","nativeSrc":"308771:3:22","nodeType":"YulIdentifier","src":"308771:3:22"},"nativeSrc":"308771:25:22","nodeType":"YulFunctionCall","src":"308771:25:22"}],"functionName":{"name":"mstore","nativeSrc":"308748:6:22","nodeType":"YulIdentifier","src":"308748:6:22"},"nativeSrc":"308748:49:22","nodeType":"YulFunctionCall","src":"308748:49:22"},"nativeSrc":"308748:49:22","nodeType":"YulExpressionStatement","src":"308748:49:22"}]},"name":"writeString","nativeSrc":"308469:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"308490:3:22","nodeType":"YulTypedName","src":"308490:3:22","type":""},{"name":"w","nativeSrc":"308495:1:22","nodeType":"YulTypedName","src":"308495:1:22","type":""}],"src":"308469:342:22"},{"nativeSrc":"308824:17:22","nodeType":"YulAssignment","src":"308824:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308836:4:22","nodeType":"YulLiteral","src":"308836:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"308830:5:22","nodeType":"YulIdentifier","src":"308830:5:22"},"nativeSrc":"308830:11:22","nodeType":"YulFunctionCall","src":"308830:11:22"},"variableNames":[{"name":"m0","nativeSrc":"308824:2:22","nodeType":"YulIdentifier","src":"308824:2:22"}]},{"nativeSrc":"308854:17:22","nodeType":"YulAssignment","src":"308854:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308866:4:22","nodeType":"YulLiteral","src":"308866:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"308860:5:22","nodeType":"YulIdentifier","src":"308860:5:22"},"nativeSrc":"308860:11:22","nodeType":"YulFunctionCall","src":"308860:11:22"},"variableNames":[{"name":"m1","nativeSrc":"308854:2:22","nodeType":"YulIdentifier","src":"308854:2:22"}]},{"nativeSrc":"308884:17:22","nodeType":"YulAssignment","src":"308884:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308896:4:22","nodeType":"YulLiteral","src":"308896:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"308890:5:22","nodeType":"YulIdentifier","src":"308890:5:22"},"nativeSrc":"308890:11:22","nodeType":"YulFunctionCall","src":"308890:11:22"},"variableNames":[{"name":"m2","nativeSrc":"308884:2:22","nodeType":"YulIdentifier","src":"308884:2:22"}]},{"nativeSrc":"308914:17:22","nodeType":"YulAssignment","src":"308914:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308926:4:22","nodeType":"YulLiteral","src":"308926:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"308920:5:22","nodeType":"YulIdentifier","src":"308920:5:22"},"nativeSrc":"308920:11:22","nodeType":"YulFunctionCall","src":"308920:11:22"},"variableNames":[{"name":"m3","nativeSrc":"308914:2:22","nodeType":"YulIdentifier","src":"308914:2:22"}]},{"nativeSrc":"308944:17:22","nodeType":"YulAssignment","src":"308944:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308956:4:22","nodeType":"YulLiteral","src":"308956:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"308950:5:22","nodeType":"YulIdentifier","src":"308950:5:22"},"nativeSrc":"308950:11:22","nodeType":"YulFunctionCall","src":"308950:11:22"},"variableNames":[{"name":"m4","nativeSrc":"308944:2:22","nodeType":"YulIdentifier","src":"308944:2:22"}]},{"nativeSrc":"308974:17:22","nodeType":"YulAssignment","src":"308974:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"308986:4:22","nodeType":"YulLiteral","src":"308986:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"308980:5:22","nodeType":"YulIdentifier","src":"308980:5:22"},"nativeSrc":"308980:11:22","nodeType":"YulFunctionCall","src":"308980:11:22"},"variableNames":[{"name":"m5","nativeSrc":"308974:2:22","nodeType":"YulIdentifier","src":"308974:2:22"}]},{"nativeSrc":"309004:17:22","nodeType":"YulAssignment","src":"309004:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"309016:4:22","nodeType":"YulLiteral","src":"309016:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"309010:5:22","nodeType":"YulIdentifier","src":"309010:5:22"},"nativeSrc":"309010:11:22","nodeType":"YulFunctionCall","src":"309010:11:22"},"variableNames":[{"name":"m6","nativeSrc":"309004:2:22","nodeType":"YulIdentifier","src":"309004:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309104:4:22","nodeType":"YulLiteral","src":"309104:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"309110:10:22","nodeType":"YulLiteral","src":"309110:10:22","type":"","value":"0xae2ec581"}],"functionName":{"name":"mstore","nativeSrc":"309097:6:22","nodeType":"YulIdentifier","src":"309097:6:22"},"nativeSrc":"309097:24:22","nodeType":"YulFunctionCall","src":"309097:24:22"},"nativeSrc":"309097:24:22","nodeType":"YulExpressionStatement","src":"309097:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309141:4:22","nodeType":"YulLiteral","src":"309141:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"309147:2:22","nodeType":"YulIdentifier","src":"309147:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309134:6:22","nodeType":"YulIdentifier","src":"309134:6:22"},"nativeSrc":"309134:16:22","nodeType":"YulFunctionCall","src":"309134:16:22"},"nativeSrc":"309134:16:22","nodeType":"YulExpressionStatement","src":"309134:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309170:4:22","nodeType":"YulLiteral","src":"309170:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"309176:4:22","nodeType":"YulLiteral","src":"309176:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"309163:6:22","nodeType":"YulIdentifier","src":"309163:6:22"},"nativeSrc":"309163:18:22","nodeType":"YulFunctionCall","src":"309163:18:22"},"nativeSrc":"309163:18:22","nodeType":"YulExpressionStatement","src":"309163:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309201:4:22","nodeType":"YulLiteral","src":"309201:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"309207:2:22","nodeType":"YulIdentifier","src":"309207:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309194:6:22","nodeType":"YulIdentifier","src":"309194:6:22"},"nativeSrc":"309194:16:22","nodeType":"YulFunctionCall","src":"309194:16:22"},"nativeSrc":"309194:16:22","nodeType":"YulExpressionStatement","src":"309194:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309230:4:22","nodeType":"YulLiteral","src":"309230:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"309236:2:22","nodeType":"YulIdentifier","src":"309236:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309223:6:22","nodeType":"YulIdentifier","src":"309223:6:22"},"nativeSrc":"309223:16:22","nodeType":"YulFunctionCall","src":"309223:16:22"},"nativeSrc":"309223:16:22","nodeType":"YulExpressionStatement","src":"309223:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309264:4:22","nodeType":"YulLiteral","src":"309264:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"309270:2:22","nodeType":"YulIdentifier","src":"309270:2:22"}],"functionName":{"name":"writeString","nativeSrc":"309252:11:22","nodeType":"YulIdentifier","src":"309252:11:22"},"nativeSrc":"309252:21:22","nodeType":"YulFunctionCall","src":"309252:21:22"},"nativeSrc":"309252:21:22","nodeType":"YulExpressionStatement","src":"309252:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41067,"isOffset":false,"isSlot":false,"src":"308824:2:22","valueSize":1},{"declaration":41070,"isOffset":false,"isSlot":false,"src":"308854:2:22","valueSize":1},{"declaration":41073,"isOffset":false,"isSlot":false,"src":"308884:2:22","valueSize":1},{"declaration":41076,"isOffset":false,"isSlot":false,"src":"308914:2:22","valueSize":1},{"declaration":41079,"isOffset":false,"isSlot":false,"src":"308944:2:22","valueSize":1},{"declaration":41082,"isOffset":false,"isSlot":false,"src":"308974:2:22","valueSize":1},{"declaration":41085,"isOffset":false,"isSlot":false,"src":"309004:2:22","valueSize":1},{"declaration":41057,"isOffset":false,"isSlot":false,"src":"309147:2:22","valueSize":1},{"declaration":41059,"isOffset":false,"isSlot":false,"src":"309270:2:22","valueSize":1},{"declaration":41061,"isOffset":false,"isSlot":false,"src":"309207:2:22","valueSize":1},{"declaration":41063,"isOffset":false,"isSlot":false,"src":"309236:2:22","valueSize":1}],"id":41087,"nodeType":"InlineAssembly","src":"308446:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309308:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309314:4:22","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":41088,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"309292:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309292:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41092,"nodeType":"ExpressionStatement","src":"309292:27:22"},{"AST":{"nativeSrc":"309381:214:22","nodeType":"YulBlock","src":"309381:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"309402:4:22","nodeType":"YulLiteral","src":"309402:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"309408:2:22","nodeType":"YulIdentifier","src":"309408:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309395:6:22","nodeType":"YulIdentifier","src":"309395:6:22"},"nativeSrc":"309395:16:22","nodeType":"YulFunctionCall","src":"309395:16:22"},"nativeSrc":"309395:16:22","nodeType":"YulExpressionStatement","src":"309395:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309431:4:22","nodeType":"YulLiteral","src":"309431:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"309437:2:22","nodeType":"YulIdentifier","src":"309437:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309424:6:22","nodeType":"YulIdentifier","src":"309424:6:22"},"nativeSrc":"309424:16:22","nodeType":"YulFunctionCall","src":"309424:16:22"},"nativeSrc":"309424:16:22","nodeType":"YulExpressionStatement","src":"309424:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309460:4:22","nodeType":"YulLiteral","src":"309460:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"309466:2:22","nodeType":"YulIdentifier","src":"309466:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309453:6:22","nodeType":"YulIdentifier","src":"309453:6:22"},"nativeSrc":"309453:16:22","nodeType":"YulFunctionCall","src":"309453:16:22"},"nativeSrc":"309453:16:22","nodeType":"YulExpressionStatement","src":"309453:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309489:4:22","nodeType":"YulLiteral","src":"309489:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"309495:2:22","nodeType":"YulIdentifier","src":"309495:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309482:6:22","nodeType":"YulIdentifier","src":"309482:6:22"},"nativeSrc":"309482:16:22","nodeType":"YulFunctionCall","src":"309482:16:22"},"nativeSrc":"309482:16:22","nodeType":"YulExpressionStatement","src":"309482:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309518:4:22","nodeType":"YulLiteral","src":"309518:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"309524:2:22","nodeType":"YulIdentifier","src":"309524:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309511:6:22","nodeType":"YulIdentifier","src":"309511:6:22"},"nativeSrc":"309511:16:22","nodeType":"YulFunctionCall","src":"309511:16:22"},"nativeSrc":"309511:16:22","nodeType":"YulExpressionStatement","src":"309511:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309547:4:22","nodeType":"YulLiteral","src":"309547:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"309553:2:22","nodeType":"YulIdentifier","src":"309553:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309540:6:22","nodeType":"YulIdentifier","src":"309540:6:22"},"nativeSrc":"309540:16:22","nodeType":"YulFunctionCall","src":"309540:16:22"},"nativeSrc":"309540:16:22","nodeType":"YulExpressionStatement","src":"309540:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309576:4:22","nodeType":"YulLiteral","src":"309576:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"309582:2:22","nodeType":"YulIdentifier","src":"309582:2:22"}],"functionName":{"name":"mstore","nativeSrc":"309569:6:22","nodeType":"YulIdentifier","src":"309569:6:22"},"nativeSrc":"309569:16:22","nodeType":"YulFunctionCall","src":"309569:16:22"},"nativeSrc":"309569:16:22","nodeType":"YulExpressionStatement","src":"309569:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41067,"isOffset":false,"isSlot":false,"src":"309408:2:22","valueSize":1},{"declaration":41070,"isOffset":false,"isSlot":false,"src":"309437:2:22","valueSize":1},{"declaration":41073,"isOffset":false,"isSlot":false,"src":"309466:2:22","valueSize":1},{"declaration":41076,"isOffset":false,"isSlot":false,"src":"309495:2:22","valueSize":1},{"declaration":41079,"isOffset":false,"isSlot":false,"src":"309524:2:22","valueSize":1},{"declaration":41082,"isOffset":false,"isSlot":false,"src":"309553:2:22","valueSize":1},{"declaration":41085,"isOffset":false,"isSlot":false,"src":"309582:2:22","valueSize":1}],"id":41093,"nodeType":"InlineAssembly","src":"309372:223:22"}]},"id":41095,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"308190:3:22","nodeType":"FunctionDefinition","parameters":{"id":41064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41057,"mutability":"mutable","name":"p0","nameLocation":"308202:2:22","nodeType":"VariableDeclaration","scope":41095,"src":"308194:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41056,"name":"uint256","nodeType":"ElementaryTypeName","src":"308194:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41059,"mutability":"mutable","name":"p1","nameLocation":"308214:2:22","nodeType":"VariableDeclaration","scope":41095,"src":"308206:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308206:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41061,"mutability":"mutable","name":"p2","nameLocation":"308223:2:22","nodeType":"VariableDeclaration","scope":41095,"src":"308218:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41060,"name":"bool","nodeType":"ElementaryTypeName","src":"308218:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41063,"mutability":"mutable","name":"p3","nameLocation":"308235:2:22","nodeType":"VariableDeclaration","scope":41095,"src":"308227:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41062,"name":"address","nodeType":"ElementaryTypeName","src":"308227:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"308193:45:22"},"returnParameters":{"id":41065,"nodeType":"ParameterList","parameters":[],"src":"308253:0:22"},"scope":44426,"src":"308181:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41134,"nodeType":"Block","src":"309676:1345:22","statements":[{"assignments":[41107],"declarations":[{"constant":false,"id":41107,"mutability":"mutable","name":"m0","nameLocation":"309694:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41108,"nodeType":"VariableDeclarationStatement","src":"309686:10:22"},{"assignments":[41110],"declarations":[{"constant":false,"id":41110,"mutability":"mutable","name":"m1","nameLocation":"309714:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309706:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41111,"nodeType":"VariableDeclarationStatement","src":"309706:10:22"},{"assignments":[41113],"declarations":[{"constant":false,"id":41113,"mutability":"mutable","name":"m2","nameLocation":"309734:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309726:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41114,"nodeType":"VariableDeclarationStatement","src":"309726:10:22"},{"assignments":[41116],"declarations":[{"constant":false,"id":41116,"mutability":"mutable","name":"m3","nameLocation":"309754:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309746:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309746:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41117,"nodeType":"VariableDeclarationStatement","src":"309746:10:22"},{"assignments":[41119],"declarations":[{"constant":false,"id":41119,"mutability":"mutable","name":"m4","nameLocation":"309774:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41120,"nodeType":"VariableDeclarationStatement","src":"309766:10:22"},{"assignments":[41122],"declarations":[{"constant":false,"id":41122,"mutability":"mutable","name":"m5","nameLocation":"309794:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41123,"nodeType":"VariableDeclarationStatement","src":"309786:10:22"},{"assignments":[41125],"declarations":[{"constant":false,"id":41125,"mutability":"mutable","name":"m6","nameLocation":"309814:2:22","nodeType":"VariableDeclaration","scope":41134,"src":"309806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41126,"nodeType":"VariableDeclarationStatement","src":"309806:10:22"},{"AST":{"nativeSrc":"309878:825:22","nodeType":"YulBlock","src":"309878:825:22","statements":[{"body":{"nativeSrc":"309921:313:22","nodeType":"YulBlock","src":"309921:313:22","statements":[{"nativeSrc":"309939:15:22","nodeType":"YulVariableDeclaration","src":"309939:15:22","value":{"kind":"number","nativeSrc":"309953:1:22","nodeType":"YulLiteral","src":"309953:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"309943:6:22","nodeType":"YulTypedName","src":"309943:6:22","type":""}]},{"body":{"nativeSrc":"310024:40:22","nodeType":"YulBlock","src":"310024:40:22","statements":[{"body":{"nativeSrc":"310053:9:22","nodeType":"YulBlock","src":"310053:9:22","statements":[{"nativeSrc":"310055:5:22","nodeType":"YulBreak","src":"310055:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"310041:6:22","nodeType":"YulIdentifier","src":"310041:6:22"},{"name":"w","nativeSrc":"310049:1:22","nodeType":"YulIdentifier","src":"310049:1:22"}],"functionName":{"name":"byte","nativeSrc":"310036:4:22","nodeType":"YulIdentifier","src":"310036:4:22"},"nativeSrc":"310036:15:22","nodeType":"YulFunctionCall","src":"310036:15:22"}],"functionName":{"name":"iszero","nativeSrc":"310029:6:22","nodeType":"YulIdentifier","src":"310029:6:22"},"nativeSrc":"310029:23:22","nodeType":"YulFunctionCall","src":"310029:23:22"},"nativeSrc":"310026:36:22","nodeType":"YulIf","src":"310026:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"309981:6:22","nodeType":"YulIdentifier","src":"309981:6:22"},{"kind":"number","nativeSrc":"309989:4:22","nodeType":"YulLiteral","src":"309989:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"309978:2:22","nodeType":"YulIdentifier","src":"309978:2:22"},"nativeSrc":"309978:16:22","nodeType":"YulFunctionCall","src":"309978:16:22"},"nativeSrc":"309971:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"309995:28:22","nodeType":"YulBlock","src":"309995:28:22","statements":[{"nativeSrc":"309997:24:22","nodeType":"YulAssignment","src":"309997:24:22","value":{"arguments":[{"name":"length","nativeSrc":"310011:6:22","nodeType":"YulIdentifier","src":"310011:6:22"},{"kind":"number","nativeSrc":"310019:1:22","nodeType":"YulLiteral","src":"310019:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"310007:3:22","nodeType":"YulIdentifier","src":"310007:3:22"},"nativeSrc":"310007:14:22","nodeType":"YulFunctionCall","src":"310007:14:22"},"variableNames":[{"name":"length","nativeSrc":"309997:6:22","nodeType":"YulIdentifier","src":"309997:6:22"}]}]},"pre":{"nativeSrc":"309975:2:22","nodeType":"YulBlock","src":"309975:2:22","statements":[]},"src":"309971:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"310088:3:22","nodeType":"YulIdentifier","src":"310088:3:22"},{"name":"length","nativeSrc":"310093:6:22","nodeType":"YulIdentifier","src":"310093:6:22"}],"functionName":{"name":"mstore","nativeSrc":"310081:6:22","nodeType":"YulIdentifier","src":"310081:6:22"},"nativeSrc":"310081:19:22","nodeType":"YulFunctionCall","src":"310081:19:22"},"nativeSrc":"310081:19:22","nodeType":"YulExpressionStatement","src":"310081:19:22"},{"nativeSrc":"310117:37:22","nodeType":"YulVariableDeclaration","src":"310117:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"310134:3:22","nodeType":"YulLiteral","src":"310134:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"310143:1:22","nodeType":"YulLiteral","src":"310143:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"310146:6:22","nodeType":"YulIdentifier","src":"310146:6:22"}],"functionName":{"name":"shl","nativeSrc":"310139:3:22","nodeType":"YulIdentifier","src":"310139:3:22"},"nativeSrc":"310139:14:22","nodeType":"YulFunctionCall","src":"310139:14:22"}],"functionName":{"name":"sub","nativeSrc":"310130:3:22","nodeType":"YulIdentifier","src":"310130:3:22"},"nativeSrc":"310130:24:22","nodeType":"YulFunctionCall","src":"310130:24:22"},"variables":[{"name":"shift","nativeSrc":"310121:5:22","nodeType":"YulTypedName","src":"310121:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"310182:3:22","nodeType":"YulIdentifier","src":"310182:3:22"},{"kind":"number","nativeSrc":"310187:4:22","nodeType":"YulLiteral","src":"310187:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"310178:3:22","nodeType":"YulIdentifier","src":"310178:3:22"},"nativeSrc":"310178:14:22","nodeType":"YulFunctionCall","src":"310178:14:22"},{"arguments":[{"name":"shift","nativeSrc":"310198:5:22","nodeType":"YulIdentifier","src":"310198:5:22"},{"arguments":[{"name":"shift","nativeSrc":"310209:5:22","nodeType":"YulIdentifier","src":"310209:5:22"},{"name":"w","nativeSrc":"310216:1:22","nodeType":"YulIdentifier","src":"310216:1:22"}],"functionName":{"name":"shr","nativeSrc":"310205:3:22","nodeType":"YulIdentifier","src":"310205:3:22"},"nativeSrc":"310205:13:22","nodeType":"YulFunctionCall","src":"310205:13:22"}],"functionName":{"name":"shl","nativeSrc":"310194:3:22","nodeType":"YulIdentifier","src":"310194:3:22"},"nativeSrc":"310194:25:22","nodeType":"YulFunctionCall","src":"310194:25:22"}],"functionName":{"name":"mstore","nativeSrc":"310171:6:22","nodeType":"YulIdentifier","src":"310171:6:22"},"nativeSrc":"310171:49:22","nodeType":"YulFunctionCall","src":"310171:49:22"},"nativeSrc":"310171:49:22","nodeType":"YulExpressionStatement","src":"310171:49:22"}]},"name":"writeString","nativeSrc":"309892:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"309913:3:22","nodeType":"YulTypedName","src":"309913:3:22","type":""},{"name":"w","nativeSrc":"309918:1:22","nodeType":"YulTypedName","src":"309918:1:22","type":""}],"src":"309892:342:22"},{"nativeSrc":"310247:17:22","nodeType":"YulAssignment","src":"310247:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310259:4:22","nodeType":"YulLiteral","src":"310259:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"310253:5:22","nodeType":"YulIdentifier","src":"310253:5:22"},"nativeSrc":"310253:11:22","nodeType":"YulFunctionCall","src":"310253:11:22"},"variableNames":[{"name":"m0","nativeSrc":"310247:2:22","nodeType":"YulIdentifier","src":"310247:2:22"}]},{"nativeSrc":"310277:17:22","nodeType":"YulAssignment","src":"310277:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310289:4:22","nodeType":"YulLiteral","src":"310289:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"310283:5:22","nodeType":"YulIdentifier","src":"310283:5:22"},"nativeSrc":"310283:11:22","nodeType":"YulFunctionCall","src":"310283:11:22"},"variableNames":[{"name":"m1","nativeSrc":"310277:2:22","nodeType":"YulIdentifier","src":"310277:2:22"}]},{"nativeSrc":"310307:17:22","nodeType":"YulAssignment","src":"310307:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310319:4:22","nodeType":"YulLiteral","src":"310319:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"310313:5:22","nodeType":"YulIdentifier","src":"310313:5:22"},"nativeSrc":"310313:11:22","nodeType":"YulFunctionCall","src":"310313:11:22"},"variableNames":[{"name":"m2","nativeSrc":"310307:2:22","nodeType":"YulIdentifier","src":"310307:2:22"}]},{"nativeSrc":"310337:17:22","nodeType":"YulAssignment","src":"310337:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310349:4:22","nodeType":"YulLiteral","src":"310349:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"310343:5:22","nodeType":"YulIdentifier","src":"310343:5:22"},"nativeSrc":"310343:11:22","nodeType":"YulFunctionCall","src":"310343:11:22"},"variableNames":[{"name":"m3","nativeSrc":"310337:2:22","nodeType":"YulIdentifier","src":"310337:2:22"}]},{"nativeSrc":"310367:17:22","nodeType":"YulAssignment","src":"310367:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310379:4:22","nodeType":"YulLiteral","src":"310379:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"310373:5:22","nodeType":"YulIdentifier","src":"310373:5:22"},"nativeSrc":"310373:11:22","nodeType":"YulFunctionCall","src":"310373:11:22"},"variableNames":[{"name":"m4","nativeSrc":"310367:2:22","nodeType":"YulIdentifier","src":"310367:2:22"}]},{"nativeSrc":"310397:17:22","nodeType":"YulAssignment","src":"310397:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310409:4:22","nodeType":"YulLiteral","src":"310409:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"310403:5:22","nodeType":"YulIdentifier","src":"310403:5:22"},"nativeSrc":"310403:11:22","nodeType":"YulFunctionCall","src":"310403:11:22"},"variableNames":[{"name":"m5","nativeSrc":"310397:2:22","nodeType":"YulIdentifier","src":"310397:2:22"}]},{"nativeSrc":"310427:17:22","nodeType":"YulAssignment","src":"310427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"310439:4:22","nodeType":"YulLiteral","src":"310439:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"310433:5:22","nodeType":"YulIdentifier","src":"310433:5:22"},"nativeSrc":"310433:11:22","nodeType":"YulFunctionCall","src":"310433:11:22"},"variableNames":[{"name":"m6","nativeSrc":"310427:2:22","nodeType":"YulIdentifier","src":"310427:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310524:4:22","nodeType":"YulLiteral","src":"310524:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"310530:10:22","nodeType":"YulLiteral","src":"310530:10:22","type":"","value":"0xba535d9c"}],"functionName":{"name":"mstore","nativeSrc":"310517:6:22","nodeType":"YulIdentifier","src":"310517:6:22"},"nativeSrc":"310517:24:22","nodeType":"YulFunctionCall","src":"310517:24:22"},"nativeSrc":"310517:24:22","nodeType":"YulExpressionStatement","src":"310517:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310561:4:22","nodeType":"YulLiteral","src":"310561:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"310567:2:22","nodeType":"YulIdentifier","src":"310567:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310554:6:22","nodeType":"YulIdentifier","src":"310554:6:22"},"nativeSrc":"310554:16:22","nodeType":"YulFunctionCall","src":"310554:16:22"},"nativeSrc":"310554:16:22","nodeType":"YulExpressionStatement","src":"310554:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310590:4:22","nodeType":"YulLiteral","src":"310590:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"310596:4:22","nodeType":"YulLiteral","src":"310596:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"310583:6:22","nodeType":"YulIdentifier","src":"310583:6:22"},"nativeSrc":"310583:18:22","nodeType":"YulFunctionCall","src":"310583:18:22"},"nativeSrc":"310583:18:22","nodeType":"YulExpressionStatement","src":"310583:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310621:4:22","nodeType":"YulLiteral","src":"310621:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"310627:2:22","nodeType":"YulIdentifier","src":"310627:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310614:6:22","nodeType":"YulIdentifier","src":"310614:6:22"},"nativeSrc":"310614:16:22","nodeType":"YulFunctionCall","src":"310614:16:22"},"nativeSrc":"310614:16:22","nodeType":"YulExpressionStatement","src":"310614:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310650:4:22","nodeType":"YulLiteral","src":"310650:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"310656:2:22","nodeType":"YulIdentifier","src":"310656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310643:6:22","nodeType":"YulIdentifier","src":"310643:6:22"},"nativeSrc":"310643:16:22","nodeType":"YulFunctionCall","src":"310643:16:22"},"nativeSrc":"310643:16:22","nodeType":"YulExpressionStatement","src":"310643:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310684:4:22","nodeType":"YulLiteral","src":"310684:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"310690:2:22","nodeType":"YulIdentifier","src":"310690:2:22"}],"functionName":{"name":"writeString","nativeSrc":"310672:11:22","nodeType":"YulIdentifier","src":"310672:11:22"},"nativeSrc":"310672:21:22","nodeType":"YulFunctionCall","src":"310672:21:22"},"nativeSrc":"310672:21:22","nodeType":"YulExpressionStatement","src":"310672:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41107,"isOffset":false,"isSlot":false,"src":"310247:2:22","valueSize":1},{"declaration":41110,"isOffset":false,"isSlot":false,"src":"310277:2:22","valueSize":1},{"declaration":41113,"isOffset":false,"isSlot":false,"src":"310307:2:22","valueSize":1},{"declaration":41116,"isOffset":false,"isSlot":false,"src":"310337:2:22","valueSize":1},{"declaration":41119,"isOffset":false,"isSlot":false,"src":"310367:2:22","valueSize":1},{"declaration":41122,"isOffset":false,"isSlot":false,"src":"310397:2:22","valueSize":1},{"declaration":41125,"isOffset":false,"isSlot":false,"src":"310427:2:22","valueSize":1},{"declaration":41097,"isOffset":false,"isSlot":false,"src":"310567:2:22","valueSize":1},{"declaration":41099,"isOffset":false,"isSlot":false,"src":"310690:2:22","valueSize":1},{"declaration":41101,"isOffset":false,"isSlot":false,"src":"310627:2:22","valueSize":1},{"declaration":41103,"isOffset":false,"isSlot":false,"src":"310656:2:22","valueSize":1}],"id":41127,"nodeType":"InlineAssembly","src":"309869:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310728:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310734:4:22","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":41128,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"310712:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310712:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41132,"nodeType":"ExpressionStatement","src":"310712:27:22"},{"AST":{"nativeSrc":"310801:214:22","nodeType":"YulBlock","src":"310801:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"310822:4:22","nodeType":"YulLiteral","src":"310822:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"310828:2:22","nodeType":"YulIdentifier","src":"310828:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310815:6:22","nodeType":"YulIdentifier","src":"310815:6:22"},"nativeSrc":"310815:16:22","nodeType":"YulFunctionCall","src":"310815:16:22"},"nativeSrc":"310815:16:22","nodeType":"YulExpressionStatement","src":"310815:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310851:4:22","nodeType":"YulLiteral","src":"310851:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"310857:2:22","nodeType":"YulIdentifier","src":"310857:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310844:6:22","nodeType":"YulIdentifier","src":"310844:6:22"},"nativeSrc":"310844:16:22","nodeType":"YulFunctionCall","src":"310844:16:22"},"nativeSrc":"310844:16:22","nodeType":"YulExpressionStatement","src":"310844:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310880:4:22","nodeType":"YulLiteral","src":"310880:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"310886:2:22","nodeType":"YulIdentifier","src":"310886:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310873:6:22","nodeType":"YulIdentifier","src":"310873:6:22"},"nativeSrc":"310873:16:22","nodeType":"YulFunctionCall","src":"310873:16:22"},"nativeSrc":"310873:16:22","nodeType":"YulExpressionStatement","src":"310873:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310909:4:22","nodeType":"YulLiteral","src":"310909:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"310915:2:22","nodeType":"YulIdentifier","src":"310915:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310902:6:22","nodeType":"YulIdentifier","src":"310902:6:22"},"nativeSrc":"310902:16:22","nodeType":"YulFunctionCall","src":"310902:16:22"},"nativeSrc":"310902:16:22","nodeType":"YulExpressionStatement","src":"310902:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310938:4:22","nodeType":"YulLiteral","src":"310938:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"310944:2:22","nodeType":"YulIdentifier","src":"310944:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310931:6:22","nodeType":"YulIdentifier","src":"310931:6:22"},"nativeSrc":"310931:16:22","nodeType":"YulFunctionCall","src":"310931:16:22"},"nativeSrc":"310931:16:22","nodeType":"YulExpressionStatement","src":"310931:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310967:4:22","nodeType":"YulLiteral","src":"310967:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"310973:2:22","nodeType":"YulIdentifier","src":"310973:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310960:6:22","nodeType":"YulIdentifier","src":"310960:6:22"},"nativeSrc":"310960:16:22","nodeType":"YulFunctionCall","src":"310960:16:22"},"nativeSrc":"310960:16:22","nodeType":"YulExpressionStatement","src":"310960:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310996:4:22","nodeType":"YulLiteral","src":"310996:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"311002:2:22","nodeType":"YulIdentifier","src":"311002:2:22"}],"functionName":{"name":"mstore","nativeSrc":"310989:6:22","nodeType":"YulIdentifier","src":"310989:6:22"},"nativeSrc":"310989:16:22","nodeType":"YulFunctionCall","src":"310989:16:22"},"nativeSrc":"310989:16:22","nodeType":"YulExpressionStatement","src":"310989:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41107,"isOffset":false,"isSlot":false,"src":"310828:2:22","valueSize":1},{"declaration":41110,"isOffset":false,"isSlot":false,"src":"310857:2:22","valueSize":1},{"declaration":41113,"isOffset":false,"isSlot":false,"src":"310886:2:22","valueSize":1},{"declaration":41116,"isOffset":false,"isSlot":false,"src":"310915:2:22","valueSize":1},{"declaration":41119,"isOffset":false,"isSlot":false,"src":"310944:2:22","valueSize":1},{"declaration":41122,"isOffset":false,"isSlot":false,"src":"310973:2:22","valueSize":1},{"declaration":41125,"isOffset":false,"isSlot":false,"src":"311002:2:22","valueSize":1}],"id":41133,"nodeType":"InlineAssembly","src":"310792:223:22"}]},"id":41135,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"309616:3:22","nodeType":"FunctionDefinition","parameters":{"id":41104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41097,"mutability":"mutable","name":"p0","nameLocation":"309628:2:22","nodeType":"VariableDeclaration","scope":41135,"src":"309620:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41096,"name":"uint256","nodeType":"ElementaryTypeName","src":"309620:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41099,"mutability":"mutable","name":"p1","nameLocation":"309640:2:22","nodeType":"VariableDeclaration","scope":41135,"src":"309632:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309632:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41101,"mutability":"mutable","name":"p2","nameLocation":"309649:2:22","nodeType":"VariableDeclaration","scope":41135,"src":"309644:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41100,"name":"bool","nodeType":"ElementaryTypeName","src":"309644:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41103,"mutability":"mutable","name":"p3","nameLocation":"309658:2:22","nodeType":"VariableDeclaration","scope":41135,"src":"309653:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41102,"name":"bool","nodeType":"ElementaryTypeName","src":"309653:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"309619:42:22"},"returnParameters":{"id":41105,"nodeType":"ParameterList","parameters":[],"src":"309676:0:22"},"scope":44426,"src":"309607:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41174,"nodeType":"Block","src":"311099:1348:22","statements":[{"assignments":[41147],"declarations":[{"constant":false,"id":41147,"mutability":"mutable","name":"m0","nameLocation":"311117:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311109:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311109:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41148,"nodeType":"VariableDeclarationStatement","src":"311109:10:22"},{"assignments":[41150],"declarations":[{"constant":false,"id":41150,"mutability":"mutable","name":"m1","nameLocation":"311137:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311129:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311129:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41151,"nodeType":"VariableDeclarationStatement","src":"311129:10:22"},{"assignments":[41153],"declarations":[{"constant":false,"id":41153,"mutability":"mutable","name":"m2","nameLocation":"311157:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311149:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311149:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41154,"nodeType":"VariableDeclarationStatement","src":"311149:10:22"},{"assignments":[41156],"declarations":[{"constant":false,"id":41156,"mutability":"mutable","name":"m3","nameLocation":"311177:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311169:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311169:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41157,"nodeType":"VariableDeclarationStatement","src":"311169:10:22"},{"assignments":[41159],"declarations":[{"constant":false,"id":41159,"mutability":"mutable","name":"m4","nameLocation":"311197:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311189:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311189:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41160,"nodeType":"VariableDeclarationStatement","src":"311189:10:22"},{"assignments":[41162],"declarations":[{"constant":false,"id":41162,"mutability":"mutable","name":"m5","nameLocation":"311217:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311209:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311209:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41163,"nodeType":"VariableDeclarationStatement","src":"311209:10:22"},{"assignments":[41165],"declarations":[{"constant":false,"id":41165,"mutability":"mutable","name":"m6","nameLocation":"311237:2:22","nodeType":"VariableDeclaration","scope":41174,"src":"311229:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311229:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41166,"nodeType":"VariableDeclarationStatement","src":"311229:10:22"},{"AST":{"nativeSrc":"311301:828:22","nodeType":"YulBlock","src":"311301:828:22","statements":[{"body":{"nativeSrc":"311344:313:22","nodeType":"YulBlock","src":"311344:313:22","statements":[{"nativeSrc":"311362:15:22","nodeType":"YulVariableDeclaration","src":"311362:15:22","value":{"kind":"number","nativeSrc":"311376:1:22","nodeType":"YulLiteral","src":"311376:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"311366:6:22","nodeType":"YulTypedName","src":"311366:6:22","type":""}]},{"body":{"nativeSrc":"311447:40:22","nodeType":"YulBlock","src":"311447:40:22","statements":[{"body":{"nativeSrc":"311476:9:22","nodeType":"YulBlock","src":"311476:9:22","statements":[{"nativeSrc":"311478:5:22","nodeType":"YulBreak","src":"311478:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"311464:6:22","nodeType":"YulIdentifier","src":"311464:6:22"},{"name":"w","nativeSrc":"311472:1:22","nodeType":"YulIdentifier","src":"311472:1:22"}],"functionName":{"name":"byte","nativeSrc":"311459:4:22","nodeType":"YulIdentifier","src":"311459:4:22"},"nativeSrc":"311459:15:22","nodeType":"YulFunctionCall","src":"311459:15:22"}],"functionName":{"name":"iszero","nativeSrc":"311452:6:22","nodeType":"YulIdentifier","src":"311452:6:22"},"nativeSrc":"311452:23:22","nodeType":"YulFunctionCall","src":"311452:23:22"},"nativeSrc":"311449:36:22","nodeType":"YulIf","src":"311449:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"311404:6:22","nodeType":"YulIdentifier","src":"311404:6:22"},{"kind":"number","nativeSrc":"311412:4:22","nodeType":"YulLiteral","src":"311412:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"311401:2:22","nodeType":"YulIdentifier","src":"311401:2:22"},"nativeSrc":"311401:16:22","nodeType":"YulFunctionCall","src":"311401:16:22"},"nativeSrc":"311394:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"311418:28:22","nodeType":"YulBlock","src":"311418:28:22","statements":[{"nativeSrc":"311420:24:22","nodeType":"YulAssignment","src":"311420:24:22","value":{"arguments":[{"name":"length","nativeSrc":"311434:6:22","nodeType":"YulIdentifier","src":"311434:6:22"},{"kind":"number","nativeSrc":"311442:1:22","nodeType":"YulLiteral","src":"311442:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"311430:3:22","nodeType":"YulIdentifier","src":"311430:3:22"},"nativeSrc":"311430:14:22","nodeType":"YulFunctionCall","src":"311430:14:22"},"variableNames":[{"name":"length","nativeSrc":"311420:6:22","nodeType":"YulIdentifier","src":"311420:6:22"}]}]},"pre":{"nativeSrc":"311398:2:22","nodeType":"YulBlock","src":"311398:2:22","statements":[]},"src":"311394:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"311511:3:22","nodeType":"YulIdentifier","src":"311511:3:22"},{"name":"length","nativeSrc":"311516:6:22","nodeType":"YulIdentifier","src":"311516:6:22"}],"functionName":{"name":"mstore","nativeSrc":"311504:6:22","nodeType":"YulIdentifier","src":"311504:6:22"},"nativeSrc":"311504:19:22","nodeType":"YulFunctionCall","src":"311504:19:22"},"nativeSrc":"311504:19:22","nodeType":"YulExpressionStatement","src":"311504:19:22"},{"nativeSrc":"311540:37:22","nodeType":"YulVariableDeclaration","src":"311540:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"311557:3:22","nodeType":"YulLiteral","src":"311557:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"311566:1:22","nodeType":"YulLiteral","src":"311566:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"311569:6:22","nodeType":"YulIdentifier","src":"311569:6:22"}],"functionName":{"name":"shl","nativeSrc":"311562:3:22","nodeType":"YulIdentifier","src":"311562:3:22"},"nativeSrc":"311562:14:22","nodeType":"YulFunctionCall","src":"311562:14:22"}],"functionName":{"name":"sub","nativeSrc":"311553:3:22","nodeType":"YulIdentifier","src":"311553:3:22"},"nativeSrc":"311553:24:22","nodeType":"YulFunctionCall","src":"311553:24:22"},"variables":[{"name":"shift","nativeSrc":"311544:5:22","nodeType":"YulTypedName","src":"311544:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"311605:3:22","nodeType":"YulIdentifier","src":"311605:3:22"},{"kind":"number","nativeSrc":"311610:4:22","nodeType":"YulLiteral","src":"311610:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"311601:3:22","nodeType":"YulIdentifier","src":"311601:3:22"},"nativeSrc":"311601:14:22","nodeType":"YulFunctionCall","src":"311601:14:22"},{"arguments":[{"name":"shift","nativeSrc":"311621:5:22","nodeType":"YulIdentifier","src":"311621:5:22"},{"arguments":[{"name":"shift","nativeSrc":"311632:5:22","nodeType":"YulIdentifier","src":"311632:5:22"},{"name":"w","nativeSrc":"311639:1:22","nodeType":"YulIdentifier","src":"311639:1:22"}],"functionName":{"name":"shr","nativeSrc":"311628:3:22","nodeType":"YulIdentifier","src":"311628:3:22"},"nativeSrc":"311628:13:22","nodeType":"YulFunctionCall","src":"311628:13:22"}],"functionName":{"name":"shl","nativeSrc":"311617:3:22","nodeType":"YulIdentifier","src":"311617:3:22"},"nativeSrc":"311617:25:22","nodeType":"YulFunctionCall","src":"311617:25:22"}],"functionName":{"name":"mstore","nativeSrc":"311594:6:22","nodeType":"YulIdentifier","src":"311594:6:22"},"nativeSrc":"311594:49:22","nodeType":"YulFunctionCall","src":"311594:49:22"},"nativeSrc":"311594:49:22","nodeType":"YulExpressionStatement","src":"311594:49:22"}]},"name":"writeString","nativeSrc":"311315:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"311336:3:22","nodeType":"YulTypedName","src":"311336:3:22","type":""},{"name":"w","nativeSrc":"311341:1:22","nodeType":"YulTypedName","src":"311341:1:22","type":""}],"src":"311315:342:22"},{"nativeSrc":"311670:17:22","nodeType":"YulAssignment","src":"311670:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311682:4:22","nodeType":"YulLiteral","src":"311682:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"311676:5:22","nodeType":"YulIdentifier","src":"311676:5:22"},"nativeSrc":"311676:11:22","nodeType":"YulFunctionCall","src":"311676:11:22"},"variableNames":[{"name":"m0","nativeSrc":"311670:2:22","nodeType":"YulIdentifier","src":"311670:2:22"}]},{"nativeSrc":"311700:17:22","nodeType":"YulAssignment","src":"311700:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311712:4:22","nodeType":"YulLiteral","src":"311712:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"311706:5:22","nodeType":"YulIdentifier","src":"311706:5:22"},"nativeSrc":"311706:11:22","nodeType":"YulFunctionCall","src":"311706:11:22"},"variableNames":[{"name":"m1","nativeSrc":"311700:2:22","nodeType":"YulIdentifier","src":"311700:2:22"}]},{"nativeSrc":"311730:17:22","nodeType":"YulAssignment","src":"311730:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311742:4:22","nodeType":"YulLiteral","src":"311742:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"311736:5:22","nodeType":"YulIdentifier","src":"311736:5:22"},"nativeSrc":"311736:11:22","nodeType":"YulFunctionCall","src":"311736:11:22"},"variableNames":[{"name":"m2","nativeSrc":"311730:2:22","nodeType":"YulIdentifier","src":"311730:2:22"}]},{"nativeSrc":"311760:17:22","nodeType":"YulAssignment","src":"311760:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311772:4:22","nodeType":"YulLiteral","src":"311772:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"311766:5:22","nodeType":"YulIdentifier","src":"311766:5:22"},"nativeSrc":"311766:11:22","nodeType":"YulFunctionCall","src":"311766:11:22"},"variableNames":[{"name":"m3","nativeSrc":"311760:2:22","nodeType":"YulIdentifier","src":"311760:2:22"}]},{"nativeSrc":"311790:17:22","nodeType":"YulAssignment","src":"311790:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311802:4:22","nodeType":"YulLiteral","src":"311802:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"311796:5:22","nodeType":"YulIdentifier","src":"311796:5:22"},"nativeSrc":"311796:11:22","nodeType":"YulFunctionCall","src":"311796:11:22"},"variableNames":[{"name":"m4","nativeSrc":"311790:2:22","nodeType":"YulIdentifier","src":"311790:2:22"}]},{"nativeSrc":"311820:17:22","nodeType":"YulAssignment","src":"311820:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311832:4:22","nodeType":"YulLiteral","src":"311832:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"311826:5:22","nodeType":"YulIdentifier","src":"311826:5:22"},"nativeSrc":"311826:11:22","nodeType":"YulFunctionCall","src":"311826:11:22"},"variableNames":[{"name":"m5","nativeSrc":"311820:2:22","nodeType":"YulIdentifier","src":"311820:2:22"}]},{"nativeSrc":"311850:17:22","nodeType":"YulAssignment","src":"311850:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"311862:4:22","nodeType":"YulLiteral","src":"311862:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"311856:5:22","nodeType":"YulIdentifier","src":"311856:5:22"},"nativeSrc":"311856:11:22","nodeType":"YulFunctionCall","src":"311856:11:22"},"variableNames":[{"name":"m6","nativeSrc":"311850:2:22","nodeType":"YulIdentifier","src":"311850:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311950:4:22","nodeType":"YulLiteral","src":"311950:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"311956:10:22","nodeType":"YulLiteral","src":"311956:10:22","type":"","value":"0xcf009880"}],"functionName":{"name":"mstore","nativeSrc":"311943:6:22","nodeType":"YulIdentifier","src":"311943:6:22"},"nativeSrc":"311943:24:22","nodeType":"YulFunctionCall","src":"311943:24:22"},"nativeSrc":"311943:24:22","nodeType":"YulExpressionStatement","src":"311943:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311987:4:22","nodeType":"YulLiteral","src":"311987:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"311993:2:22","nodeType":"YulIdentifier","src":"311993:2:22"}],"functionName":{"name":"mstore","nativeSrc":"311980:6:22","nodeType":"YulIdentifier","src":"311980:6:22"},"nativeSrc":"311980:16:22","nodeType":"YulFunctionCall","src":"311980:16:22"},"nativeSrc":"311980:16:22","nodeType":"YulExpressionStatement","src":"311980:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312016:4:22","nodeType":"YulLiteral","src":"312016:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"312022:4:22","nodeType":"YulLiteral","src":"312022:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"312009:6:22","nodeType":"YulIdentifier","src":"312009:6:22"},"nativeSrc":"312009:18:22","nodeType":"YulFunctionCall","src":"312009:18:22"},"nativeSrc":"312009:18:22","nodeType":"YulExpressionStatement","src":"312009:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312047:4:22","nodeType":"YulLiteral","src":"312047:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"312053:2:22","nodeType":"YulIdentifier","src":"312053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312040:6:22","nodeType":"YulIdentifier","src":"312040:6:22"},"nativeSrc":"312040:16:22","nodeType":"YulFunctionCall","src":"312040:16:22"},"nativeSrc":"312040:16:22","nodeType":"YulExpressionStatement","src":"312040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312076:4:22","nodeType":"YulLiteral","src":"312076:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"312082:2:22","nodeType":"YulIdentifier","src":"312082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312069:6:22","nodeType":"YulIdentifier","src":"312069:6:22"},"nativeSrc":"312069:16:22","nodeType":"YulFunctionCall","src":"312069:16:22"},"nativeSrc":"312069:16:22","nodeType":"YulExpressionStatement","src":"312069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312110:4:22","nodeType":"YulLiteral","src":"312110:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"312116:2:22","nodeType":"YulIdentifier","src":"312116:2:22"}],"functionName":{"name":"writeString","nativeSrc":"312098:11:22","nodeType":"YulIdentifier","src":"312098:11:22"},"nativeSrc":"312098:21:22","nodeType":"YulFunctionCall","src":"312098:21:22"},"nativeSrc":"312098:21:22","nodeType":"YulExpressionStatement","src":"312098:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41147,"isOffset":false,"isSlot":false,"src":"311670:2:22","valueSize":1},{"declaration":41150,"isOffset":false,"isSlot":false,"src":"311700:2:22","valueSize":1},{"declaration":41153,"isOffset":false,"isSlot":false,"src":"311730:2:22","valueSize":1},{"declaration":41156,"isOffset":false,"isSlot":false,"src":"311760:2:22","valueSize":1},{"declaration":41159,"isOffset":false,"isSlot":false,"src":"311790:2:22","valueSize":1},{"declaration":41162,"isOffset":false,"isSlot":false,"src":"311820:2:22","valueSize":1},{"declaration":41165,"isOffset":false,"isSlot":false,"src":"311850:2:22","valueSize":1},{"declaration":41137,"isOffset":false,"isSlot":false,"src":"311993:2:22","valueSize":1},{"declaration":41139,"isOffset":false,"isSlot":false,"src":"312116:2:22","valueSize":1},{"declaration":41141,"isOffset":false,"isSlot":false,"src":"312053:2:22","valueSize":1},{"declaration":41143,"isOffset":false,"isSlot":false,"src":"312082:2:22","valueSize":1}],"id":41167,"nodeType":"InlineAssembly","src":"311292:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312154:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312160:4:22","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":41168,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"312138:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"312138:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41172,"nodeType":"ExpressionStatement","src":"312138:27:22"},{"AST":{"nativeSrc":"312227:214:22","nodeType":"YulBlock","src":"312227:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"312248:4:22","nodeType":"YulLiteral","src":"312248:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"312254:2:22","nodeType":"YulIdentifier","src":"312254:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312241:6:22","nodeType":"YulIdentifier","src":"312241:6:22"},"nativeSrc":"312241:16:22","nodeType":"YulFunctionCall","src":"312241:16:22"},"nativeSrc":"312241:16:22","nodeType":"YulExpressionStatement","src":"312241:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312277:4:22","nodeType":"YulLiteral","src":"312277:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"312283:2:22","nodeType":"YulIdentifier","src":"312283:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312270:6:22","nodeType":"YulIdentifier","src":"312270:6:22"},"nativeSrc":"312270:16:22","nodeType":"YulFunctionCall","src":"312270:16:22"},"nativeSrc":"312270:16:22","nodeType":"YulExpressionStatement","src":"312270:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312306:4:22","nodeType":"YulLiteral","src":"312306:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"312312:2:22","nodeType":"YulIdentifier","src":"312312:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312299:6:22","nodeType":"YulIdentifier","src":"312299:6:22"},"nativeSrc":"312299:16:22","nodeType":"YulFunctionCall","src":"312299:16:22"},"nativeSrc":"312299:16:22","nodeType":"YulExpressionStatement","src":"312299:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312335:4:22","nodeType":"YulLiteral","src":"312335:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"312341:2:22","nodeType":"YulIdentifier","src":"312341:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312328:6:22","nodeType":"YulIdentifier","src":"312328:6:22"},"nativeSrc":"312328:16:22","nodeType":"YulFunctionCall","src":"312328:16:22"},"nativeSrc":"312328:16:22","nodeType":"YulExpressionStatement","src":"312328:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312364:4:22","nodeType":"YulLiteral","src":"312364:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"312370:2:22","nodeType":"YulIdentifier","src":"312370:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312357:6:22","nodeType":"YulIdentifier","src":"312357:6:22"},"nativeSrc":"312357:16:22","nodeType":"YulFunctionCall","src":"312357:16:22"},"nativeSrc":"312357:16:22","nodeType":"YulExpressionStatement","src":"312357:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312393:4:22","nodeType":"YulLiteral","src":"312393:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"312399:2:22","nodeType":"YulIdentifier","src":"312399:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312386:6:22","nodeType":"YulIdentifier","src":"312386:6:22"},"nativeSrc":"312386:16:22","nodeType":"YulFunctionCall","src":"312386:16:22"},"nativeSrc":"312386:16:22","nodeType":"YulExpressionStatement","src":"312386:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312422:4:22","nodeType":"YulLiteral","src":"312422:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"312428:2:22","nodeType":"YulIdentifier","src":"312428:2:22"}],"functionName":{"name":"mstore","nativeSrc":"312415:6:22","nodeType":"YulIdentifier","src":"312415:6:22"},"nativeSrc":"312415:16:22","nodeType":"YulFunctionCall","src":"312415:16:22"},"nativeSrc":"312415:16:22","nodeType":"YulExpressionStatement","src":"312415:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41147,"isOffset":false,"isSlot":false,"src":"312254:2:22","valueSize":1},{"declaration":41150,"isOffset":false,"isSlot":false,"src":"312283:2:22","valueSize":1},{"declaration":41153,"isOffset":false,"isSlot":false,"src":"312312:2:22","valueSize":1},{"declaration":41156,"isOffset":false,"isSlot":false,"src":"312341:2:22","valueSize":1},{"declaration":41159,"isOffset":false,"isSlot":false,"src":"312370:2:22","valueSize":1},{"declaration":41162,"isOffset":false,"isSlot":false,"src":"312399:2:22","valueSize":1},{"declaration":41165,"isOffset":false,"isSlot":false,"src":"312428:2:22","valueSize":1}],"id":41173,"nodeType":"InlineAssembly","src":"312218:223:22"}]},"id":41175,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"311036:3:22","nodeType":"FunctionDefinition","parameters":{"id":41144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41137,"mutability":"mutable","name":"p0","nameLocation":"311048:2:22","nodeType":"VariableDeclaration","scope":41175,"src":"311040:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41136,"name":"uint256","nodeType":"ElementaryTypeName","src":"311040:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41139,"mutability":"mutable","name":"p1","nameLocation":"311060:2:22","nodeType":"VariableDeclaration","scope":41175,"src":"311052:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311052:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41141,"mutability":"mutable","name":"p2","nameLocation":"311069:2:22","nodeType":"VariableDeclaration","scope":41175,"src":"311064:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41140,"name":"bool","nodeType":"ElementaryTypeName","src":"311064:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41143,"mutability":"mutable","name":"p3","nameLocation":"311081:2:22","nodeType":"VariableDeclaration","scope":41175,"src":"311073:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41142,"name":"uint256","nodeType":"ElementaryTypeName","src":"311073:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"311039:45:22"},"returnParameters":{"id":41145,"nodeType":"ParameterList","parameters":[],"src":"311099:0:22"},"scope":44426,"src":"311027:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41220,"nodeType":"Block","src":"312525:1544:22","statements":[{"assignments":[41187],"declarations":[{"constant":false,"id":41187,"mutability":"mutable","name":"m0","nameLocation":"312543:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312535:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312535:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41188,"nodeType":"VariableDeclarationStatement","src":"312535:10:22"},{"assignments":[41190],"declarations":[{"constant":false,"id":41190,"mutability":"mutable","name":"m1","nameLocation":"312563:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312555:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312555:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41191,"nodeType":"VariableDeclarationStatement","src":"312555:10:22"},{"assignments":[41193],"declarations":[{"constant":false,"id":41193,"mutability":"mutable","name":"m2","nameLocation":"312583:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312575:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312575:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41194,"nodeType":"VariableDeclarationStatement","src":"312575:10:22"},{"assignments":[41196],"declarations":[{"constant":false,"id":41196,"mutability":"mutable","name":"m3","nameLocation":"312603:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312595:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312595:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41197,"nodeType":"VariableDeclarationStatement","src":"312595:10:22"},{"assignments":[41199],"declarations":[{"constant":false,"id":41199,"mutability":"mutable","name":"m4","nameLocation":"312623:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312615:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312615:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41200,"nodeType":"VariableDeclarationStatement","src":"312615:10:22"},{"assignments":[41202],"declarations":[{"constant":false,"id":41202,"mutability":"mutable","name":"m5","nameLocation":"312643:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312635:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312635:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41203,"nodeType":"VariableDeclarationStatement","src":"312635:10:22"},{"assignments":[41205],"declarations":[{"constant":false,"id":41205,"mutability":"mutable","name":"m6","nameLocation":"312663:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312655:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312655:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41206,"nodeType":"VariableDeclarationStatement","src":"312655:10:22"},{"assignments":[41208],"declarations":[{"constant":false,"id":41208,"mutability":"mutable","name":"m7","nameLocation":"312683:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312675:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312675:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41209,"nodeType":"VariableDeclarationStatement","src":"312675:10:22"},{"assignments":[41211],"declarations":[{"constant":false,"id":41211,"mutability":"mutable","name":"m8","nameLocation":"312703:2:22","nodeType":"VariableDeclaration","scope":41220,"src":"312695:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312695:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41212,"nodeType":"VariableDeclarationStatement","src":"312695:10:22"},{"AST":{"nativeSrc":"312767:924:22","nodeType":"YulBlock","src":"312767:924:22","statements":[{"body":{"nativeSrc":"312810:313:22","nodeType":"YulBlock","src":"312810:313:22","statements":[{"nativeSrc":"312828:15:22","nodeType":"YulVariableDeclaration","src":"312828:15:22","value":{"kind":"number","nativeSrc":"312842:1:22","nodeType":"YulLiteral","src":"312842:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"312832:6:22","nodeType":"YulTypedName","src":"312832:6:22","type":""}]},{"body":{"nativeSrc":"312913:40:22","nodeType":"YulBlock","src":"312913:40:22","statements":[{"body":{"nativeSrc":"312942:9:22","nodeType":"YulBlock","src":"312942:9:22","statements":[{"nativeSrc":"312944:5:22","nodeType":"YulBreak","src":"312944:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"312930:6:22","nodeType":"YulIdentifier","src":"312930:6:22"},{"name":"w","nativeSrc":"312938:1:22","nodeType":"YulIdentifier","src":"312938:1:22"}],"functionName":{"name":"byte","nativeSrc":"312925:4:22","nodeType":"YulIdentifier","src":"312925:4:22"},"nativeSrc":"312925:15:22","nodeType":"YulFunctionCall","src":"312925:15:22"}],"functionName":{"name":"iszero","nativeSrc":"312918:6:22","nodeType":"YulIdentifier","src":"312918:6:22"},"nativeSrc":"312918:23:22","nodeType":"YulFunctionCall","src":"312918:23:22"},"nativeSrc":"312915:36:22","nodeType":"YulIf","src":"312915:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"312870:6:22","nodeType":"YulIdentifier","src":"312870:6:22"},{"kind":"number","nativeSrc":"312878:4:22","nodeType":"YulLiteral","src":"312878:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"312867:2:22","nodeType":"YulIdentifier","src":"312867:2:22"},"nativeSrc":"312867:16:22","nodeType":"YulFunctionCall","src":"312867:16:22"},"nativeSrc":"312860:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"312884:28:22","nodeType":"YulBlock","src":"312884:28:22","statements":[{"nativeSrc":"312886:24:22","nodeType":"YulAssignment","src":"312886:24:22","value":{"arguments":[{"name":"length","nativeSrc":"312900:6:22","nodeType":"YulIdentifier","src":"312900:6:22"},{"kind":"number","nativeSrc":"312908:1:22","nodeType":"YulLiteral","src":"312908:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"312896:3:22","nodeType":"YulIdentifier","src":"312896:3:22"},"nativeSrc":"312896:14:22","nodeType":"YulFunctionCall","src":"312896:14:22"},"variableNames":[{"name":"length","nativeSrc":"312886:6:22","nodeType":"YulIdentifier","src":"312886:6:22"}]}]},"pre":{"nativeSrc":"312864:2:22","nodeType":"YulBlock","src":"312864:2:22","statements":[]},"src":"312860:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"312977:3:22","nodeType":"YulIdentifier","src":"312977:3:22"},{"name":"length","nativeSrc":"312982:6:22","nodeType":"YulIdentifier","src":"312982:6:22"}],"functionName":{"name":"mstore","nativeSrc":"312970:6:22","nodeType":"YulIdentifier","src":"312970:6:22"},"nativeSrc":"312970:19:22","nodeType":"YulFunctionCall","src":"312970:19:22"},"nativeSrc":"312970:19:22","nodeType":"YulExpressionStatement","src":"312970:19:22"},{"nativeSrc":"313006:37:22","nodeType":"YulVariableDeclaration","src":"313006:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"313023:3:22","nodeType":"YulLiteral","src":"313023:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"313032:1:22","nodeType":"YulLiteral","src":"313032:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"313035:6:22","nodeType":"YulIdentifier","src":"313035:6:22"}],"functionName":{"name":"shl","nativeSrc":"313028:3:22","nodeType":"YulIdentifier","src":"313028:3:22"},"nativeSrc":"313028:14:22","nodeType":"YulFunctionCall","src":"313028:14:22"}],"functionName":{"name":"sub","nativeSrc":"313019:3:22","nodeType":"YulIdentifier","src":"313019:3:22"},"nativeSrc":"313019:24:22","nodeType":"YulFunctionCall","src":"313019:24:22"},"variables":[{"name":"shift","nativeSrc":"313010:5:22","nodeType":"YulTypedName","src":"313010:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"313071:3:22","nodeType":"YulIdentifier","src":"313071:3:22"},{"kind":"number","nativeSrc":"313076:4:22","nodeType":"YulLiteral","src":"313076:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"313067:3:22","nodeType":"YulIdentifier","src":"313067:3:22"},"nativeSrc":"313067:14:22","nodeType":"YulFunctionCall","src":"313067:14:22"},{"arguments":[{"name":"shift","nativeSrc":"313087:5:22","nodeType":"YulIdentifier","src":"313087:5:22"},{"arguments":[{"name":"shift","nativeSrc":"313098:5:22","nodeType":"YulIdentifier","src":"313098:5:22"},{"name":"w","nativeSrc":"313105:1:22","nodeType":"YulIdentifier","src":"313105:1:22"}],"functionName":{"name":"shr","nativeSrc":"313094:3:22","nodeType":"YulIdentifier","src":"313094:3:22"},"nativeSrc":"313094:13:22","nodeType":"YulFunctionCall","src":"313094:13:22"}],"functionName":{"name":"shl","nativeSrc":"313083:3:22","nodeType":"YulIdentifier","src":"313083:3:22"},"nativeSrc":"313083:25:22","nodeType":"YulFunctionCall","src":"313083:25:22"}],"functionName":{"name":"mstore","nativeSrc":"313060:6:22","nodeType":"YulIdentifier","src":"313060:6:22"},"nativeSrc":"313060:49:22","nodeType":"YulFunctionCall","src":"313060:49:22"},"nativeSrc":"313060:49:22","nodeType":"YulExpressionStatement","src":"313060:49:22"}]},"name":"writeString","nativeSrc":"312781:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"312802:3:22","nodeType":"YulTypedName","src":"312802:3:22","type":""},{"name":"w","nativeSrc":"312807:1:22","nodeType":"YulTypedName","src":"312807:1:22","type":""}],"src":"312781:342:22"},{"nativeSrc":"313136:17:22","nodeType":"YulAssignment","src":"313136:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313148:4:22","nodeType":"YulLiteral","src":"313148:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"313142:5:22","nodeType":"YulIdentifier","src":"313142:5:22"},"nativeSrc":"313142:11:22","nodeType":"YulFunctionCall","src":"313142:11:22"},"variableNames":[{"name":"m0","nativeSrc":"313136:2:22","nodeType":"YulIdentifier","src":"313136:2:22"}]},{"nativeSrc":"313166:17:22","nodeType":"YulAssignment","src":"313166:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313178:4:22","nodeType":"YulLiteral","src":"313178:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"313172:5:22","nodeType":"YulIdentifier","src":"313172:5:22"},"nativeSrc":"313172:11:22","nodeType":"YulFunctionCall","src":"313172:11:22"},"variableNames":[{"name":"m1","nativeSrc":"313166:2:22","nodeType":"YulIdentifier","src":"313166:2:22"}]},{"nativeSrc":"313196:17:22","nodeType":"YulAssignment","src":"313196:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313208:4:22","nodeType":"YulLiteral","src":"313208:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"313202:5:22","nodeType":"YulIdentifier","src":"313202:5:22"},"nativeSrc":"313202:11:22","nodeType":"YulFunctionCall","src":"313202:11:22"},"variableNames":[{"name":"m2","nativeSrc":"313196:2:22","nodeType":"YulIdentifier","src":"313196:2:22"}]},{"nativeSrc":"313226:17:22","nodeType":"YulAssignment","src":"313226:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313238:4:22","nodeType":"YulLiteral","src":"313238:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"313232:5:22","nodeType":"YulIdentifier","src":"313232:5:22"},"nativeSrc":"313232:11:22","nodeType":"YulFunctionCall","src":"313232:11:22"},"variableNames":[{"name":"m3","nativeSrc":"313226:2:22","nodeType":"YulIdentifier","src":"313226:2:22"}]},{"nativeSrc":"313256:17:22","nodeType":"YulAssignment","src":"313256:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313268:4:22","nodeType":"YulLiteral","src":"313268:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"313262:5:22","nodeType":"YulIdentifier","src":"313262:5:22"},"nativeSrc":"313262:11:22","nodeType":"YulFunctionCall","src":"313262:11:22"},"variableNames":[{"name":"m4","nativeSrc":"313256:2:22","nodeType":"YulIdentifier","src":"313256:2:22"}]},{"nativeSrc":"313286:17:22","nodeType":"YulAssignment","src":"313286:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313298:4:22","nodeType":"YulLiteral","src":"313298:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"313292:5:22","nodeType":"YulIdentifier","src":"313292:5:22"},"nativeSrc":"313292:11:22","nodeType":"YulFunctionCall","src":"313292:11:22"},"variableNames":[{"name":"m5","nativeSrc":"313286:2:22","nodeType":"YulIdentifier","src":"313286:2:22"}]},{"nativeSrc":"313316:17:22","nodeType":"YulAssignment","src":"313316:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313328:4:22","nodeType":"YulLiteral","src":"313328:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"313322:5:22","nodeType":"YulIdentifier","src":"313322:5:22"},"nativeSrc":"313322:11:22","nodeType":"YulFunctionCall","src":"313322:11:22"},"variableNames":[{"name":"m6","nativeSrc":"313316:2:22","nodeType":"YulIdentifier","src":"313316:2:22"}]},{"nativeSrc":"313346:17:22","nodeType":"YulAssignment","src":"313346:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"313358:4:22","nodeType":"YulLiteral","src":"313358:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"313352:5:22","nodeType":"YulIdentifier","src":"313352:5:22"},"nativeSrc":"313352:11:22","nodeType":"YulFunctionCall","src":"313352:11:22"},"variableNames":[{"name":"m7","nativeSrc":"313346:2:22","nodeType":"YulIdentifier","src":"313346:2:22"}]},{"nativeSrc":"313376:18:22","nodeType":"YulAssignment","src":"313376:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"313388:5:22","nodeType":"YulLiteral","src":"313388:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"313382:5:22","nodeType":"YulIdentifier","src":"313382:5:22"},"nativeSrc":"313382:12:22","nodeType":"YulFunctionCall","src":"313382:12:22"},"variableNames":[{"name":"m8","nativeSrc":"313376:2:22","nodeType":"YulIdentifier","src":"313376:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313476:4:22","nodeType":"YulLiteral","src":"313476:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"313482:10:22","nodeType":"YulLiteral","src":"313482:10:22","type":"","value":"0xd2d423cd"}],"functionName":{"name":"mstore","nativeSrc":"313469:6:22","nodeType":"YulIdentifier","src":"313469:6:22"},"nativeSrc":"313469:24:22","nodeType":"YulFunctionCall","src":"313469:24:22"},"nativeSrc":"313469:24:22","nodeType":"YulExpressionStatement","src":"313469:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313513:4:22","nodeType":"YulLiteral","src":"313513:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"313519:2:22","nodeType":"YulIdentifier","src":"313519:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313506:6:22","nodeType":"YulIdentifier","src":"313506:6:22"},"nativeSrc":"313506:16:22","nodeType":"YulFunctionCall","src":"313506:16:22"},"nativeSrc":"313506:16:22","nodeType":"YulExpressionStatement","src":"313506:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313542:4:22","nodeType":"YulLiteral","src":"313542:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"313548:4:22","nodeType":"YulLiteral","src":"313548:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"313535:6:22","nodeType":"YulIdentifier","src":"313535:6:22"},"nativeSrc":"313535:18:22","nodeType":"YulFunctionCall","src":"313535:18:22"},"nativeSrc":"313535:18:22","nodeType":"YulExpressionStatement","src":"313535:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313573:4:22","nodeType":"YulLiteral","src":"313573:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"313579:2:22","nodeType":"YulIdentifier","src":"313579:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313566:6:22","nodeType":"YulIdentifier","src":"313566:6:22"},"nativeSrc":"313566:16:22","nodeType":"YulFunctionCall","src":"313566:16:22"},"nativeSrc":"313566:16:22","nodeType":"YulExpressionStatement","src":"313566:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313602:4:22","nodeType":"YulLiteral","src":"313602:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"313608:4:22","nodeType":"YulLiteral","src":"313608:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"313595:6:22","nodeType":"YulIdentifier","src":"313595:6:22"},"nativeSrc":"313595:18:22","nodeType":"YulFunctionCall","src":"313595:18:22"},"nativeSrc":"313595:18:22","nodeType":"YulExpressionStatement","src":"313595:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313638:4:22","nodeType":"YulLiteral","src":"313638:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"313644:2:22","nodeType":"YulIdentifier","src":"313644:2:22"}],"functionName":{"name":"writeString","nativeSrc":"313626:11:22","nodeType":"YulIdentifier","src":"313626:11:22"},"nativeSrc":"313626:21:22","nodeType":"YulFunctionCall","src":"313626:21:22"},"nativeSrc":"313626:21:22","nodeType":"YulExpressionStatement","src":"313626:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313672:4:22","nodeType":"YulLiteral","src":"313672:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"313678:2:22","nodeType":"YulIdentifier","src":"313678:2:22"}],"functionName":{"name":"writeString","nativeSrc":"313660:11:22","nodeType":"YulIdentifier","src":"313660:11:22"},"nativeSrc":"313660:21:22","nodeType":"YulFunctionCall","src":"313660:21:22"},"nativeSrc":"313660:21:22","nodeType":"YulExpressionStatement","src":"313660:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41187,"isOffset":false,"isSlot":false,"src":"313136:2:22","valueSize":1},{"declaration":41190,"isOffset":false,"isSlot":false,"src":"313166:2:22","valueSize":1},{"declaration":41193,"isOffset":false,"isSlot":false,"src":"313196:2:22","valueSize":1},{"declaration":41196,"isOffset":false,"isSlot":false,"src":"313226:2:22","valueSize":1},{"declaration":41199,"isOffset":false,"isSlot":false,"src":"313256:2:22","valueSize":1},{"declaration":41202,"isOffset":false,"isSlot":false,"src":"313286:2:22","valueSize":1},{"declaration":41205,"isOffset":false,"isSlot":false,"src":"313316:2:22","valueSize":1},{"declaration":41208,"isOffset":false,"isSlot":false,"src":"313346:2:22","valueSize":1},{"declaration":41211,"isOffset":false,"isSlot":false,"src":"313376:2:22","valueSize":1},{"declaration":41177,"isOffset":false,"isSlot":false,"src":"313519:2:22","valueSize":1},{"declaration":41179,"isOffset":false,"isSlot":false,"src":"313644:2:22","valueSize":1},{"declaration":41181,"isOffset":false,"isSlot":false,"src":"313579:2:22","valueSize":1},{"declaration":41183,"isOffset":false,"isSlot":false,"src":"313678:2:22","valueSize":1}],"id":41213,"nodeType":"InlineAssembly","src":"312758:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313716:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313722:5:22","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":41214,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"313700:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"313700:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41218,"nodeType":"ExpressionStatement","src":"313700:28:22"},{"AST":{"nativeSrc":"313790:273:22","nodeType":"YulBlock","src":"313790:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"313811:4:22","nodeType":"YulLiteral","src":"313811:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"313817:2:22","nodeType":"YulIdentifier","src":"313817:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313804:6:22","nodeType":"YulIdentifier","src":"313804:6:22"},"nativeSrc":"313804:16:22","nodeType":"YulFunctionCall","src":"313804:16:22"},"nativeSrc":"313804:16:22","nodeType":"YulExpressionStatement","src":"313804:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313840:4:22","nodeType":"YulLiteral","src":"313840:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"313846:2:22","nodeType":"YulIdentifier","src":"313846:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313833:6:22","nodeType":"YulIdentifier","src":"313833:6:22"},"nativeSrc":"313833:16:22","nodeType":"YulFunctionCall","src":"313833:16:22"},"nativeSrc":"313833:16:22","nodeType":"YulExpressionStatement","src":"313833:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313869:4:22","nodeType":"YulLiteral","src":"313869:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"313875:2:22","nodeType":"YulIdentifier","src":"313875:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313862:6:22","nodeType":"YulIdentifier","src":"313862:6:22"},"nativeSrc":"313862:16:22","nodeType":"YulFunctionCall","src":"313862:16:22"},"nativeSrc":"313862:16:22","nodeType":"YulExpressionStatement","src":"313862:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313898:4:22","nodeType":"YulLiteral","src":"313898:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"313904:2:22","nodeType":"YulIdentifier","src":"313904:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313891:6:22","nodeType":"YulIdentifier","src":"313891:6:22"},"nativeSrc":"313891:16:22","nodeType":"YulFunctionCall","src":"313891:16:22"},"nativeSrc":"313891:16:22","nodeType":"YulExpressionStatement","src":"313891:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313927:4:22","nodeType":"YulLiteral","src":"313927:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"313933:2:22","nodeType":"YulIdentifier","src":"313933:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313920:6:22","nodeType":"YulIdentifier","src":"313920:6:22"},"nativeSrc":"313920:16:22","nodeType":"YulFunctionCall","src":"313920:16:22"},"nativeSrc":"313920:16:22","nodeType":"YulExpressionStatement","src":"313920:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313956:4:22","nodeType":"YulLiteral","src":"313956:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"313962:2:22","nodeType":"YulIdentifier","src":"313962:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313949:6:22","nodeType":"YulIdentifier","src":"313949:6:22"},"nativeSrc":"313949:16:22","nodeType":"YulFunctionCall","src":"313949:16:22"},"nativeSrc":"313949:16:22","nodeType":"YulExpressionStatement","src":"313949:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313985:4:22","nodeType":"YulLiteral","src":"313985:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"313991:2:22","nodeType":"YulIdentifier","src":"313991:2:22"}],"functionName":{"name":"mstore","nativeSrc":"313978:6:22","nodeType":"YulIdentifier","src":"313978:6:22"},"nativeSrc":"313978:16:22","nodeType":"YulFunctionCall","src":"313978:16:22"},"nativeSrc":"313978:16:22","nodeType":"YulExpressionStatement","src":"313978:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314014:4:22","nodeType":"YulLiteral","src":"314014:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"314020:2:22","nodeType":"YulIdentifier","src":"314020:2:22"}],"functionName":{"name":"mstore","nativeSrc":"314007:6:22","nodeType":"YulIdentifier","src":"314007:6:22"},"nativeSrc":"314007:16:22","nodeType":"YulFunctionCall","src":"314007:16:22"},"nativeSrc":"314007:16:22","nodeType":"YulExpressionStatement","src":"314007:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314043:5:22","nodeType":"YulLiteral","src":"314043:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"314050:2:22","nodeType":"YulIdentifier","src":"314050:2:22"}],"functionName":{"name":"mstore","nativeSrc":"314036:6:22","nodeType":"YulIdentifier","src":"314036:6:22"},"nativeSrc":"314036:17:22","nodeType":"YulFunctionCall","src":"314036:17:22"},"nativeSrc":"314036:17:22","nodeType":"YulExpressionStatement","src":"314036:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41187,"isOffset":false,"isSlot":false,"src":"313817:2:22","valueSize":1},{"declaration":41190,"isOffset":false,"isSlot":false,"src":"313846:2:22","valueSize":1},{"declaration":41193,"isOffset":false,"isSlot":false,"src":"313875:2:22","valueSize":1},{"declaration":41196,"isOffset":false,"isSlot":false,"src":"313904:2:22","valueSize":1},{"declaration":41199,"isOffset":false,"isSlot":false,"src":"313933:2:22","valueSize":1},{"declaration":41202,"isOffset":false,"isSlot":false,"src":"313962:2:22","valueSize":1},{"declaration":41205,"isOffset":false,"isSlot":false,"src":"313991:2:22","valueSize":1},{"declaration":41208,"isOffset":false,"isSlot":false,"src":"314020:2:22","valueSize":1},{"declaration":41211,"isOffset":false,"isSlot":false,"src":"314050:2:22","valueSize":1}],"id":41219,"nodeType":"InlineAssembly","src":"313781:282:22"}]},"id":41221,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"312462:3:22","nodeType":"FunctionDefinition","parameters":{"id":41184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41177,"mutability":"mutable","name":"p0","nameLocation":"312474:2:22","nodeType":"VariableDeclaration","scope":41221,"src":"312466:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41176,"name":"uint256","nodeType":"ElementaryTypeName","src":"312466:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41179,"mutability":"mutable","name":"p1","nameLocation":"312486:2:22","nodeType":"VariableDeclaration","scope":41221,"src":"312478:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312478:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41181,"mutability":"mutable","name":"p2","nameLocation":"312495:2:22","nodeType":"VariableDeclaration","scope":41221,"src":"312490:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41180,"name":"bool","nodeType":"ElementaryTypeName","src":"312490:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41183,"mutability":"mutable","name":"p3","nameLocation":"312507:2:22","nodeType":"VariableDeclaration","scope":41221,"src":"312499:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312499:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"312465:45:22"},"returnParameters":{"id":41185,"nodeType":"ParameterList","parameters":[],"src":"312525:0:22"},"scope":44426,"src":"312453:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41260,"nodeType":"Block","src":"314150:1351:22","statements":[{"assignments":[41233],"declarations":[{"constant":false,"id":41233,"mutability":"mutable","name":"m0","nameLocation":"314168:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314160:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314160:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41234,"nodeType":"VariableDeclarationStatement","src":"314160:10:22"},{"assignments":[41236],"declarations":[{"constant":false,"id":41236,"mutability":"mutable","name":"m1","nameLocation":"314188:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314180:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314180:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41237,"nodeType":"VariableDeclarationStatement","src":"314180:10:22"},{"assignments":[41239],"declarations":[{"constant":false,"id":41239,"mutability":"mutable","name":"m2","nameLocation":"314208:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314200:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314200:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41240,"nodeType":"VariableDeclarationStatement","src":"314200:10:22"},{"assignments":[41242],"declarations":[{"constant":false,"id":41242,"mutability":"mutable","name":"m3","nameLocation":"314228:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314220:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314220:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41243,"nodeType":"VariableDeclarationStatement","src":"314220:10:22"},{"assignments":[41245],"declarations":[{"constant":false,"id":41245,"mutability":"mutable","name":"m4","nameLocation":"314248:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314240:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314240:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41246,"nodeType":"VariableDeclarationStatement","src":"314240:10:22"},{"assignments":[41248],"declarations":[{"constant":false,"id":41248,"mutability":"mutable","name":"m5","nameLocation":"314268:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314260:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314260:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41249,"nodeType":"VariableDeclarationStatement","src":"314260:10:22"},{"assignments":[41251],"declarations":[{"constant":false,"id":41251,"mutability":"mutable","name":"m6","nameLocation":"314288:2:22","nodeType":"VariableDeclaration","scope":41260,"src":"314280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41252,"nodeType":"VariableDeclarationStatement","src":"314280:10:22"},{"AST":{"nativeSrc":"314352:831:22","nodeType":"YulBlock","src":"314352:831:22","statements":[{"body":{"nativeSrc":"314395:313:22","nodeType":"YulBlock","src":"314395:313:22","statements":[{"nativeSrc":"314413:15:22","nodeType":"YulVariableDeclaration","src":"314413:15:22","value":{"kind":"number","nativeSrc":"314427:1:22","nodeType":"YulLiteral","src":"314427:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"314417:6:22","nodeType":"YulTypedName","src":"314417:6:22","type":""}]},{"body":{"nativeSrc":"314498:40:22","nodeType":"YulBlock","src":"314498:40:22","statements":[{"body":{"nativeSrc":"314527:9:22","nodeType":"YulBlock","src":"314527:9:22","statements":[{"nativeSrc":"314529:5:22","nodeType":"YulBreak","src":"314529:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"314515:6:22","nodeType":"YulIdentifier","src":"314515:6:22"},{"name":"w","nativeSrc":"314523:1:22","nodeType":"YulIdentifier","src":"314523:1:22"}],"functionName":{"name":"byte","nativeSrc":"314510:4:22","nodeType":"YulIdentifier","src":"314510:4:22"},"nativeSrc":"314510:15:22","nodeType":"YulFunctionCall","src":"314510:15:22"}],"functionName":{"name":"iszero","nativeSrc":"314503:6:22","nodeType":"YulIdentifier","src":"314503:6:22"},"nativeSrc":"314503:23:22","nodeType":"YulFunctionCall","src":"314503:23:22"},"nativeSrc":"314500:36:22","nodeType":"YulIf","src":"314500:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"314455:6:22","nodeType":"YulIdentifier","src":"314455:6:22"},{"kind":"number","nativeSrc":"314463:4:22","nodeType":"YulLiteral","src":"314463:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"314452:2:22","nodeType":"YulIdentifier","src":"314452:2:22"},"nativeSrc":"314452:16:22","nodeType":"YulFunctionCall","src":"314452:16:22"},"nativeSrc":"314445:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"314469:28:22","nodeType":"YulBlock","src":"314469:28:22","statements":[{"nativeSrc":"314471:24:22","nodeType":"YulAssignment","src":"314471:24:22","value":{"arguments":[{"name":"length","nativeSrc":"314485:6:22","nodeType":"YulIdentifier","src":"314485:6:22"},{"kind":"number","nativeSrc":"314493:1:22","nodeType":"YulLiteral","src":"314493:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"314481:3:22","nodeType":"YulIdentifier","src":"314481:3:22"},"nativeSrc":"314481:14:22","nodeType":"YulFunctionCall","src":"314481:14:22"},"variableNames":[{"name":"length","nativeSrc":"314471:6:22","nodeType":"YulIdentifier","src":"314471:6:22"}]}]},"pre":{"nativeSrc":"314449:2:22","nodeType":"YulBlock","src":"314449:2:22","statements":[]},"src":"314445:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"314562:3:22","nodeType":"YulIdentifier","src":"314562:3:22"},{"name":"length","nativeSrc":"314567:6:22","nodeType":"YulIdentifier","src":"314567:6:22"}],"functionName":{"name":"mstore","nativeSrc":"314555:6:22","nodeType":"YulIdentifier","src":"314555:6:22"},"nativeSrc":"314555:19:22","nodeType":"YulFunctionCall","src":"314555:19:22"},"nativeSrc":"314555:19:22","nodeType":"YulExpressionStatement","src":"314555:19:22"},{"nativeSrc":"314591:37:22","nodeType":"YulVariableDeclaration","src":"314591:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"314608:3:22","nodeType":"YulLiteral","src":"314608:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"314617:1:22","nodeType":"YulLiteral","src":"314617:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"314620:6:22","nodeType":"YulIdentifier","src":"314620:6:22"}],"functionName":{"name":"shl","nativeSrc":"314613:3:22","nodeType":"YulIdentifier","src":"314613:3:22"},"nativeSrc":"314613:14:22","nodeType":"YulFunctionCall","src":"314613:14:22"}],"functionName":{"name":"sub","nativeSrc":"314604:3:22","nodeType":"YulIdentifier","src":"314604:3:22"},"nativeSrc":"314604:24:22","nodeType":"YulFunctionCall","src":"314604:24:22"},"variables":[{"name":"shift","nativeSrc":"314595:5:22","nodeType":"YulTypedName","src":"314595:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"314656:3:22","nodeType":"YulIdentifier","src":"314656:3:22"},{"kind":"number","nativeSrc":"314661:4:22","nodeType":"YulLiteral","src":"314661:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"314652:3:22","nodeType":"YulIdentifier","src":"314652:3:22"},"nativeSrc":"314652:14:22","nodeType":"YulFunctionCall","src":"314652:14:22"},{"arguments":[{"name":"shift","nativeSrc":"314672:5:22","nodeType":"YulIdentifier","src":"314672:5:22"},{"arguments":[{"name":"shift","nativeSrc":"314683:5:22","nodeType":"YulIdentifier","src":"314683:5:22"},{"name":"w","nativeSrc":"314690:1:22","nodeType":"YulIdentifier","src":"314690:1:22"}],"functionName":{"name":"shr","nativeSrc":"314679:3:22","nodeType":"YulIdentifier","src":"314679:3:22"},"nativeSrc":"314679:13:22","nodeType":"YulFunctionCall","src":"314679:13:22"}],"functionName":{"name":"shl","nativeSrc":"314668:3:22","nodeType":"YulIdentifier","src":"314668:3:22"},"nativeSrc":"314668:25:22","nodeType":"YulFunctionCall","src":"314668:25:22"}],"functionName":{"name":"mstore","nativeSrc":"314645:6:22","nodeType":"YulIdentifier","src":"314645:6:22"},"nativeSrc":"314645:49:22","nodeType":"YulFunctionCall","src":"314645:49:22"},"nativeSrc":"314645:49:22","nodeType":"YulExpressionStatement","src":"314645:49:22"}]},"name":"writeString","nativeSrc":"314366:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"314387:3:22","nodeType":"YulTypedName","src":"314387:3:22","type":""},{"name":"w","nativeSrc":"314392:1:22","nodeType":"YulTypedName","src":"314392:1:22","type":""}],"src":"314366:342:22"},{"nativeSrc":"314721:17:22","nodeType":"YulAssignment","src":"314721:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314733:4:22","nodeType":"YulLiteral","src":"314733:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"314727:5:22","nodeType":"YulIdentifier","src":"314727:5:22"},"nativeSrc":"314727:11:22","nodeType":"YulFunctionCall","src":"314727:11:22"},"variableNames":[{"name":"m0","nativeSrc":"314721:2:22","nodeType":"YulIdentifier","src":"314721:2:22"}]},{"nativeSrc":"314751:17:22","nodeType":"YulAssignment","src":"314751:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314763:4:22","nodeType":"YulLiteral","src":"314763:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"314757:5:22","nodeType":"YulIdentifier","src":"314757:5:22"},"nativeSrc":"314757:11:22","nodeType":"YulFunctionCall","src":"314757:11:22"},"variableNames":[{"name":"m1","nativeSrc":"314751:2:22","nodeType":"YulIdentifier","src":"314751:2:22"}]},{"nativeSrc":"314781:17:22","nodeType":"YulAssignment","src":"314781:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314793:4:22","nodeType":"YulLiteral","src":"314793:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"314787:5:22","nodeType":"YulIdentifier","src":"314787:5:22"},"nativeSrc":"314787:11:22","nodeType":"YulFunctionCall","src":"314787:11:22"},"variableNames":[{"name":"m2","nativeSrc":"314781:2:22","nodeType":"YulIdentifier","src":"314781:2:22"}]},{"nativeSrc":"314811:17:22","nodeType":"YulAssignment","src":"314811:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314823:4:22","nodeType":"YulLiteral","src":"314823:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"314817:5:22","nodeType":"YulIdentifier","src":"314817:5:22"},"nativeSrc":"314817:11:22","nodeType":"YulFunctionCall","src":"314817:11:22"},"variableNames":[{"name":"m3","nativeSrc":"314811:2:22","nodeType":"YulIdentifier","src":"314811:2:22"}]},{"nativeSrc":"314841:17:22","nodeType":"YulAssignment","src":"314841:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314853:4:22","nodeType":"YulLiteral","src":"314853:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"314847:5:22","nodeType":"YulIdentifier","src":"314847:5:22"},"nativeSrc":"314847:11:22","nodeType":"YulFunctionCall","src":"314847:11:22"},"variableNames":[{"name":"m4","nativeSrc":"314841:2:22","nodeType":"YulIdentifier","src":"314841:2:22"}]},{"nativeSrc":"314871:17:22","nodeType":"YulAssignment","src":"314871:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314883:4:22","nodeType":"YulLiteral","src":"314883:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"314877:5:22","nodeType":"YulIdentifier","src":"314877:5:22"},"nativeSrc":"314877:11:22","nodeType":"YulFunctionCall","src":"314877:11:22"},"variableNames":[{"name":"m5","nativeSrc":"314871:2:22","nodeType":"YulIdentifier","src":"314871:2:22"}]},{"nativeSrc":"314901:17:22","nodeType":"YulAssignment","src":"314901:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"314913:4:22","nodeType":"YulLiteral","src":"314913:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"314907:5:22","nodeType":"YulIdentifier","src":"314907:5:22"},"nativeSrc":"314907:11:22","nodeType":"YulFunctionCall","src":"314907:11:22"},"variableNames":[{"name":"m6","nativeSrc":"314901:2:22","nodeType":"YulIdentifier","src":"314901:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315004:4:22","nodeType":"YulLiteral","src":"315004:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"315010:10:22","nodeType":"YulLiteral","src":"315010:10:22","type":"","value":"0x3b2279b4"}],"functionName":{"name":"mstore","nativeSrc":"314997:6:22","nodeType":"YulIdentifier","src":"314997:6:22"},"nativeSrc":"314997:24:22","nodeType":"YulFunctionCall","src":"314997:24:22"},"nativeSrc":"314997:24:22","nodeType":"YulExpressionStatement","src":"314997:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315041:4:22","nodeType":"YulLiteral","src":"315041:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"315047:2:22","nodeType":"YulIdentifier","src":"315047:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315034:6:22","nodeType":"YulIdentifier","src":"315034:6:22"},"nativeSrc":"315034:16:22","nodeType":"YulFunctionCall","src":"315034:16:22"},"nativeSrc":"315034:16:22","nodeType":"YulExpressionStatement","src":"315034:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315070:4:22","nodeType":"YulLiteral","src":"315070:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"315076:4:22","nodeType":"YulLiteral","src":"315076:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"315063:6:22","nodeType":"YulIdentifier","src":"315063:6:22"},"nativeSrc":"315063:18:22","nodeType":"YulFunctionCall","src":"315063:18:22"},"nativeSrc":"315063:18:22","nodeType":"YulExpressionStatement","src":"315063:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315101:4:22","nodeType":"YulLiteral","src":"315101:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"315107:2:22","nodeType":"YulIdentifier","src":"315107:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315094:6:22","nodeType":"YulIdentifier","src":"315094:6:22"},"nativeSrc":"315094:16:22","nodeType":"YulFunctionCall","src":"315094:16:22"},"nativeSrc":"315094:16:22","nodeType":"YulExpressionStatement","src":"315094:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315130:4:22","nodeType":"YulLiteral","src":"315130:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"315136:2:22","nodeType":"YulIdentifier","src":"315136:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315123:6:22","nodeType":"YulIdentifier","src":"315123:6:22"},"nativeSrc":"315123:16:22","nodeType":"YulFunctionCall","src":"315123:16:22"},"nativeSrc":"315123:16:22","nodeType":"YulExpressionStatement","src":"315123:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315164:4:22","nodeType":"YulLiteral","src":"315164:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"315170:2:22","nodeType":"YulIdentifier","src":"315170:2:22"}],"functionName":{"name":"writeString","nativeSrc":"315152:11:22","nodeType":"YulIdentifier","src":"315152:11:22"},"nativeSrc":"315152:21:22","nodeType":"YulFunctionCall","src":"315152:21:22"},"nativeSrc":"315152:21:22","nodeType":"YulExpressionStatement","src":"315152:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41233,"isOffset":false,"isSlot":false,"src":"314721:2:22","valueSize":1},{"declaration":41236,"isOffset":false,"isSlot":false,"src":"314751:2:22","valueSize":1},{"declaration":41239,"isOffset":false,"isSlot":false,"src":"314781:2:22","valueSize":1},{"declaration":41242,"isOffset":false,"isSlot":false,"src":"314811:2:22","valueSize":1},{"declaration":41245,"isOffset":false,"isSlot":false,"src":"314841:2:22","valueSize":1},{"declaration":41248,"isOffset":false,"isSlot":false,"src":"314871:2:22","valueSize":1},{"declaration":41251,"isOffset":false,"isSlot":false,"src":"314901:2:22","valueSize":1},{"declaration":41223,"isOffset":false,"isSlot":false,"src":"315047:2:22","valueSize":1},{"declaration":41225,"isOffset":false,"isSlot":false,"src":"315170:2:22","valueSize":1},{"declaration":41227,"isOffset":false,"isSlot":false,"src":"315107:2:22","valueSize":1},{"declaration":41229,"isOffset":false,"isSlot":false,"src":"315136:2:22","valueSize":1}],"id":41253,"nodeType":"InlineAssembly","src":"314343:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315208:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315214:4:22","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":41254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"315192:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"315192:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41258,"nodeType":"ExpressionStatement","src":"315192:27:22"},{"AST":{"nativeSrc":"315281:214:22","nodeType":"YulBlock","src":"315281:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"315302:4:22","nodeType":"YulLiteral","src":"315302:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"315308:2:22","nodeType":"YulIdentifier","src":"315308:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315295:6:22","nodeType":"YulIdentifier","src":"315295:6:22"},"nativeSrc":"315295:16:22","nodeType":"YulFunctionCall","src":"315295:16:22"},"nativeSrc":"315295:16:22","nodeType":"YulExpressionStatement","src":"315295:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315331:4:22","nodeType":"YulLiteral","src":"315331:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"315337:2:22","nodeType":"YulIdentifier","src":"315337:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315324:6:22","nodeType":"YulIdentifier","src":"315324:6:22"},"nativeSrc":"315324:16:22","nodeType":"YulFunctionCall","src":"315324:16:22"},"nativeSrc":"315324:16:22","nodeType":"YulExpressionStatement","src":"315324:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315360:4:22","nodeType":"YulLiteral","src":"315360:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"315366:2:22","nodeType":"YulIdentifier","src":"315366:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315353:6:22","nodeType":"YulIdentifier","src":"315353:6:22"},"nativeSrc":"315353:16:22","nodeType":"YulFunctionCall","src":"315353:16:22"},"nativeSrc":"315353:16:22","nodeType":"YulExpressionStatement","src":"315353:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315389:4:22","nodeType":"YulLiteral","src":"315389:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"315395:2:22","nodeType":"YulIdentifier","src":"315395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315382:6:22","nodeType":"YulIdentifier","src":"315382:6:22"},"nativeSrc":"315382:16:22","nodeType":"YulFunctionCall","src":"315382:16:22"},"nativeSrc":"315382:16:22","nodeType":"YulExpressionStatement","src":"315382:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315418:4:22","nodeType":"YulLiteral","src":"315418:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"315424:2:22","nodeType":"YulIdentifier","src":"315424:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315411:6:22","nodeType":"YulIdentifier","src":"315411:6:22"},"nativeSrc":"315411:16:22","nodeType":"YulFunctionCall","src":"315411:16:22"},"nativeSrc":"315411:16:22","nodeType":"YulExpressionStatement","src":"315411:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315447:4:22","nodeType":"YulLiteral","src":"315447:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"315453:2:22","nodeType":"YulIdentifier","src":"315453:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315440:6:22","nodeType":"YulIdentifier","src":"315440:6:22"},"nativeSrc":"315440:16:22","nodeType":"YulFunctionCall","src":"315440:16:22"},"nativeSrc":"315440:16:22","nodeType":"YulExpressionStatement","src":"315440:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315476:4:22","nodeType":"YulLiteral","src":"315476:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"315482:2:22","nodeType":"YulIdentifier","src":"315482:2:22"}],"functionName":{"name":"mstore","nativeSrc":"315469:6:22","nodeType":"YulIdentifier","src":"315469:6:22"},"nativeSrc":"315469:16:22","nodeType":"YulFunctionCall","src":"315469:16:22"},"nativeSrc":"315469:16:22","nodeType":"YulExpressionStatement","src":"315469:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41233,"isOffset":false,"isSlot":false,"src":"315308:2:22","valueSize":1},{"declaration":41236,"isOffset":false,"isSlot":false,"src":"315337:2:22","valueSize":1},{"declaration":41239,"isOffset":false,"isSlot":false,"src":"315366:2:22","valueSize":1},{"declaration":41242,"isOffset":false,"isSlot":false,"src":"315395:2:22","valueSize":1},{"declaration":41245,"isOffset":false,"isSlot":false,"src":"315424:2:22","valueSize":1},{"declaration":41248,"isOffset":false,"isSlot":false,"src":"315453:2:22","valueSize":1},{"declaration":41251,"isOffset":false,"isSlot":false,"src":"315482:2:22","valueSize":1}],"id":41259,"nodeType":"InlineAssembly","src":"315272:223:22"}]},"id":41261,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"314084:3:22","nodeType":"FunctionDefinition","parameters":{"id":41230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41223,"mutability":"mutable","name":"p0","nameLocation":"314096:2:22","nodeType":"VariableDeclaration","scope":41261,"src":"314088:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41222,"name":"uint256","nodeType":"ElementaryTypeName","src":"314088:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41225,"mutability":"mutable","name":"p1","nameLocation":"314108:2:22","nodeType":"VariableDeclaration","scope":41261,"src":"314100:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314100:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41227,"mutability":"mutable","name":"p2","nameLocation":"314120:2:22","nodeType":"VariableDeclaration","scope":41261,"src":"314112:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41226,"name":"uint256","nodeType":"ElementaryTypeName","src":"314112:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41229,"mutability":"mutable","name":"p3","nameLocation":"314132:2:22","nodeType":"VariableDeclaration","scope":41261,"src":"314124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41228,"name":"address","nodeType":"ElementaryTypeName","src":"314124:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"314087:48:22"},"returnParameters":{"id":41231,"nodeType":"ParameterList","parameters":[],"src":"314150:0:22"},"scope":44426,"src":"314075:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41300,"nodeType":"Block","src":"315579:1348:22","statements":[{"assignments":[41273],"declarations":[{"constant":false,"id":41273,"mutability":"mutable","name":"m0","nameLocation":"315597:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315589:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315589:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41274,"nodeType":"VariableDeclarationStatement","src":"315589:10:22"},{"assignments":[41276],"declarations":[{"constant":false,"id":41276,"mutability":"mutable","name":"m1","nameLocation":"315617:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315609:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315609:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41277,"nodeType":"VariableDeclarationStatement","src":"315609:10:22"},{"assignments":[41279],"declarations":[{"constant":false,"id":41279,"mutability":"mutable","name":"m2","nameLocation":"315637:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315629:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41280,"nodeType":"VariableDeclarationStatement","src":"315629:10:22"},{"assignments":[41282],"declarations":[{"constant":false,"id":41282,"mutability":"mutable","name":"m3","nameLocation":"315657:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315649:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315649:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41283,"nodeType":"VariableDeclarationStatement","src":"315649:10:22"},{"assignments":[41285],"declarations":[{"constant":false,"id":41285,"mutability":"mutable","name":"m4","nameLocation":"315677:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315669:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315669:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41286,"nodeType":"VariableDeclarationStatement","src":"315669:10:22"},{"assignments":[41288],"declarations":[{"constant":false,"id":41288,"mutability":"mutable","name":"m5","nameLocation":"315697:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315689:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315689:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41289,"nodeType":"VariableDeclarationStatement","src":"315689:10:22"},{"assignments":[41291],"declarations":[{"constant":false,"id":41291,"mutability":"mutable","name":"m6","nameLocation":"315717:2:22","nodeType":"VariableDeclaration","scope":41300,"src":"315709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41292,"nodeType":"VariableDeclarationStatement","src":"315709:10:22"},{"AST":{"nativeSrc":"315781:828:22","nodeType":"YulBlock","src":"315781:828:22","statements":[{"body":{"nativeSrc":"315824:313:22","nodeType":"YulBlock","src":"315824:313:22","statements":[{"nativeSrc":"315842:15:22","nodeType":"YulVariableDeclaration","src":"315842:15:22","value":{"kind":"number","nativeSrc":"315856:1:22","nodeType":"YulLiteral","src":"315856:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"315846:6:22","nodeType":"YulTypedName","src":"315846:6:22","type":""}]},{"body":{"nativeSrc":"315927:40:22","nodeType":"YulBlock","src":"315927:40:22","statements":[{"body":{"nativeSrc":"315956:9:22","nodeType":"YulBlock","src":"315956:9:22","statements":[{"nativeSrc":"315958:5:22","nodeType":"YulBreak","src":"315958:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"315944:6:22","nodeType":"YulIdentifier","src":"315944:6:22"},{"name":"w","nativeSrc":"315952:1:22","nodeType":"YulIdentifier","src":"315952:1:22"}],"functionName":{"name":"byte","nativeSrc":"315939:4:22","nodeType":"YulIdentifier","src":"315939:4:22"},"nativeSrc":"315939:15:22","nodeType":"YulFunctionCall","src":"315939:15:22"}],"functionName":{"name":"iszero","nativeSrc":"315932:6:22","nodeType":"YulIdentifier","src":"315932:6:22"},"nativeSrc":"315932:23:22","nodeType":"YulFunctionCall","src":"315932:23:22"},"nativeSrc":"315929:36:22","nodeType":"YulIf","src":"315929:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"315884:6:22","nodeType":"YulIdentifier","src":"315884:6:22"},{"kind":"number","nativeSrc":"315892:4:22","nodeType":"YulLiteral","src":"315892:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"315881:2:22","nodeType":"YulIdentifier","src":"315881:2:22"},"nativeSrc":"315881:16:22","nodeType":"YulFunctionCall","src":"315881:16:22"},"nativeSrc":"315874:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"315898:28:22","nodeType":"YulBlock","src":"315898:28:22","statements":[{"nativeSrc":"315900:24:22","nodeType":"YulAssignment","src":"315900:24:22","value":{"arguments":[{"name":"length","nativeSrc":"315914:6:22","nodeType":"YulIdentifier","src":"315914:6:22"},{"kind":"number","nativeSrc":"315922:1:22","nodeType":"YulLiteral","src":"315922:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"315910:3:22","nodeType":"YulIdentifier","src":"315910:3:22"},"nativeSrc":"315910:14:22","nodeType":"YulFunctionCall","src":"315910:14:22"},"variableNames":[{"name":"length","nativeSrc":"315900:6:22","nodeType":"YulIdentifier","src":"315900:6:22"}]}]},"pre":{"nativeSrc":"315878:2:22","nodeType":"YulBlock","src":"315878:2:22","statements":[]},"src":"315874:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"315991:3:22","nodeType":"YulIdentifier","src":"315991:3:22"},{"name":"length","nativeSrc":"315996:6:22","nodeType":"YulIdentifier","src":"315996:6:22"}],"functionName":{"name":"mstore","nativeSrc":"315984:6:22","nodeType":"YulIdentifier","src":"315984:6:22"},"nativeSrc":"315984:19:22","nodeType":"YulFunctionCall","src":"315984:19:22"},"nativeSrc":"315984:19:22","nodeType":"YulExpressionStatement","src":"315984:19:22"},{"nativeSrc":"316020:37:22","nodeType":"YulVariableDeclaration","src":"316020:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"316037:3:22","nodeType":"YulLiteral","src":"316037:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"316046:1:22","nodeType":"YulLiteral","src":"316046:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"316049:6:22","nodeType":"YulIdentifier","src":"316049:6:22"}],"functionName":{"name":"shl","nativeSrc":"316042:3:22","nodeType":"YulIdentifier","src":"316042:3:22"},"nativeSrc":"316042:14:22","nodeType":"YulFunctionCall","src":"316042:14:22"}],"functionName":{"name":"sub","nativeSrc":"316033:3:22","nodeType":"YulIdentifier","src":"316033:3:22"},"nativeSrc":"316033:24:22","nodeType":"YulFunctionCall","src":"316033:24:22"},"variables":[{"name":"shift","nativeSrc":"316024:5:22","nodeType":"YulTypedName","src":"316024:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"316085:3:22","nodeType":"YulIdentifier","src":"316085:3:22"},{"kind":"number","nativeSrc":"316090:4:22","nodeType":"YulLiteral","src":"316090:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"316081:3:22","nodeType":"YulIdentifier","src":"316081:3:22"},"nativeSrc":"316081:14:22","nodeType":"YulFunctionCall","src":"316081:14:22"},{"arguments":[{"name":"shift","nativeSrc":"316101:5:22","nodeType":"YulIdentifier","src":"316101:5:22"},{"arguments":[{"name":"shift","nativeSrc":"316112:5:22","nodeType":"YulIdentifier","src":"316112:5:22"},{"name":"w","nativeSrc":"316119:1:22","nodeType":"YulIdentifier","src":"316119:1:22"}],"functionName":{"name":"shr","nativeSrc":"316108:3:22","nodeType":"YulIdentifier","src":"316108:3:22"},"nativeSrc":"316108:13:22","nodeType":"YulFunctionCall","src":"316108:13:22"}],"functionName":{"name":"shl","nativeSrc":"316097:3:22","nodeType":"YulIdentifier","src":"316097:3:22"},"nativeSrc":"316097:25:22","nodeType":"YulFunctionCall","src":"316097:25:22"}],"functionName":{"name":"mstore","nativeSrc":"316074:6:22","nodeType":"YulIdentifier","src":"316074:6:22"},"nativeSrc":"316074:49:22","nodeType":"YulFunctionCall","src":"316074:49:22"},"nativeSrc":"316074:49:22","nodeType":"YulExpressionStatement","src":"316074:49:22"}]},"name":"writeString","nativeSrc":"315795:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"315816:3:22","nodeType":"YulTypedName","src":"315816:3:22","type":""},{"name":"w","nativeSrc":"315821:1:22","nodeType":"YulTypedName","src":"315821:1:22","type":""}],"src":"315795:342:22"},{"nativeSrc":"316150:17:22","nodeType":"YulAssignment","src":"316150:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316162:4:22","nodeType":"YulLiteral","src":"316162:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"316156:5:22","nodeType":"YulIdentifier","src":"316156:5:22"},"nativeSrc":"316156:11:22","nodeType":"YulFunctionCall","src":"316156:11:22"},"variableNames":[{"name":"m0","nativeSrc":"316150:2:22","nodeType":"YulIdentifier","src":"316150:2:22"}]},{"nativeSrc":"316180:17:22","nodeType":"YulAssignment","src":"316180:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316192:4:22","nodeType":"YulLiteral","src":"316192:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"316186:5:22","nodeType":"YulIdentifier","src":"316186:5:22"},"nativeSrc":"316186:11:22","nodeType":"YulFunctionCall","src":"316186:11:22"},"variableNames":[{"name":"m1","nativeSrc":"316180:2:22","nodeType":"YulIdentifier","src":"316180:2:22"}]},{"nativeSrc":"316210:17:22","nodeType":"YulAssignment","src":"316210:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316222:4:22","nodeType":"YulLiteral","src":"316222:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"316216:5:22","nodeType":"YulIdentifier","src":"316216:5:22"},"nativeSrc":"316216:11:22","nodeType":"YulFunctionCall","src":"316216:11:22"},"variableNames":[{"name":"m2","nativeSrc":"316210:2:22","nodeType":"YulIdentifier","src":"316210:2:22"}]},{"nativeSrc":"316240:17:22","nodeType":"YulAssignment","src":"316240:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316252:4:22","nodeType":"YulLiteral","src":"316252:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"316246:5:22","nodeType":"YulIdentifier","src":"316246:5:22"},"nativeSrc":"316246:11:22","nodeType":"YulFunctionCall","src":"316246:11:22"},"variableNames":[{"name":"m3","nativeSrc":"316240:2:22","nodeType":"YulIdentifier","src":"316240:2:22"}]},{"nativeSrc":"316270:17:22","nodeType":"YulAssignment","src":"316270:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316282:4:22","nodeType":"YulLiteral","src":"316282:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"316276:5:22","nodeType":"YulIdentifier","src":"316276:5:22"},"nativeSrc":"316276:11:22","nodeType":"YulFunctionCall","src":"316276:11:22"},"variableNames":[{"name":"m4","nativeSrc":"316270:2:22","nodeType":"YulIdentifier","src":"316270:2:22"}]},{"nativeSrc":"316300:17:22","nodeType":"YulAssignment","src":"316300:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316312:4:22","nodeType":"YulLiteral","src":"316312:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"316306:5:22","nodeType":"YulIdentifier","src":"316306:5:22"},"nativeSrc":"316306:11:22","nodeType":"YulFunctionCall","src":"316306:11:22"},"variableNames":[{"name":"m5","nativeSrc":"316300:2:22","nodeType":"YulIdentifier","src":"316300:2:22"}]},{"nativeSrc":"316330:17:22","nodeType":"YulAssignment","src":"316330:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"316342:4:22","nodeType":"YulLiteral","src":"316342:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"316336:5:22","nodeType":"YulIdentifier","src":"316336:5:22"},"nativeSrc":"316336:11:22","nodeType":"YulFunctionCall","src":"316336:11:22"},"variableNames":[{"name":"m6","nativeSrc":"316330:2:22","nodeType":"YulIdentifier","src":"316330:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316430:4:22","nodeType":"YulLiteral","src":"316430:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"316436:10:22","nodeType":"YulLiteral","src":"316436:10:22","type":"","value":"0x691a8f74"}],"functionName":{"name":"mstore","nativeSrc":"316423:6:22","nodeType":"YulIdentifier","src":"316423:6:22"},"nativeSrc":"316423:24:22","nodeType":"YulFunctionCall","src":"316423:24:22"},"nativeSrc":"316423:24:22","nodeType":"YulExpressionStatement","src":"316423:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316467:4:22","nodeType":"YulLiteral","src":"316467:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"316473:2:22","nodeType":"YulIdentifier","src":"316473:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316460:6:22","nodeType":"YulIdentifier","src":"316460:6:22"},"nativeSrc":"316460:16:22","nodeType":"YulFunctionCall","src":"316460:16:22"},"nativeSrc":"316460:16:22","nodeType":"YulExpressionStatement","src":"316460:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316496:4:22","nodeType":"YulLiteral","src":"316496:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"316502:4:22","nodeType":"YulLiteral","src":"316502:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"316489:6:22","nodeType":"YulIdentifier","src":"316489:6:22"},"nativeSrc":"316489:18:22","nodeType":"YulFunctionCall","src":"316489:18:22"},"nativeSrc":"316489:18:22","nodeType":"YulExpressionStatement","src":"316489:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316527:4:22","nodeType":"YulLiteral","src":"316527:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"316533:2:22","nodeType":"YulIdentifier","src":"316533:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316520:6:22","nodeType":"YulIdentifier","src":"316520:6:22"},"nativeSrc":"316520:16:22","nodeType":"YulFunctionCall","src":"316520:16:22"},"nativeSrc":"316520:16:22","nodeType":"YulExpressionStatement","src":"316520:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316556:4:22","nodeType":"YulLiteral","src":"316556:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"316562:2:22","nodeType":"YulIdentifier","src":"316562:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316549:6:22","nodeType":"YulIdentifier","src":"316549:6:22"},"nativeSrc":"316549:16:22","nodeType":"YulFunctionCall","src":"316549:16:22"},"nativeSrc":"316549:16:22","nodeType":"YulExpressionStatement","src":"316549:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316590:4:22","nodeType":"YulLiteral","src":"316590:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"316596:2:22","nodeType":"YulIdentifier","src":"316596:2:22"}],"functionName":{"name":"writeString","nativeSrc":"316578:11:22","nodeType":"YulIdentifier","src":"316578:11:22"},"nativeSrc":"316578:21:22","nodeType":"YulFunctionCall","src":"316578:21:22"},"nativeSrc":"316578:21:22","nodeType":"YulExpressionStatement","src":"316578:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41273,"isOffset":false,"isSlot":false,"src":"316150:2:22","valueSize":1},{"declaration":41276,"isOffset":false,"isSlot":false,"src":"316180:2:22","valueSize":1},{"declaration":41279,"isOffset":false,"isSlot":false,"src":"316210:2:22","valueSize":1},{"declaration":41282,"isOffset":false,"isSlot":false,"src":"316240:2:22","valueSize":1},{"declaration":41285,"isOffset":false,"isSlot":false,"src":"316270:2:22","valueSize":1},{"declaration":41288,"isOffset":false,"isSlot":false,"src":"316300:2:22","valueSize":1},{"declaration":41291,"isOffset":false,"isSlot":false,"src":"316330:2:22","valueSize":1},{"declaration":41263,"isOffset":false,"isSlot":false,"src":"316473:2:22","valueSize":1},{"declaration":41265,"isOffset":false,"isSlot":false,"src":"316596:2:22","valueSize":1},{"declaration":41267,"isOffset":false,"isSlot":false,"src":"316533:2:22","valueSize":1},{"declaration":41269,"isOffset":false,"isSlot":false,"src":"316562:2:22","valueSize":1}],"id":41293,"nodeType":"InlineAssembly","src":"315772:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316634:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316640:4:22","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":41294,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"316618:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"316618:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41298,"nodeType":"ExpressionStatement","src":"316618:27:22"},{"AST":{"nativeSrc":"316707:214:22","nodeType":"YulBlock","src":"316707:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"316728:4:22","nodeType":"YulLiteral","src":"316728:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"316734:2:22","nodeType":"YulIdentifier","src":"316734:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316721:6:22","nodeType":"YulIdentifier","src":"316721:6:22"},"nativeSrc":"316721:16:22","nodeType":"YulFunctionCall","src":"316721:16:22"},"nativeSrc":"316721:16:22","nodeType":"YulExpressionStatement","src":"316721:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316757:4:22","nodeType":"YulLiteral","src":"316757:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"316763:2:22","nodeType":"YulIdentifier","src":"316763:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316750:6:22","nodeType":"YulIdentifier","src":"316750:6:22"},"nativeSrc":"316750:16:22","nodeType":"YulFunctionCall","src":"316750:16:22"},"nativeSrc":"316750:16:22","nodeType":"YulExpressionStatement","src":"316750:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316786:4:22","nodeType":"YulLiteral","src":"316786:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"316792:2:22","nodeType":"YulIdentifier","src":"316792:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316779:6:22","nodeType":"YulIdentifier","src":"316779:6:22"},"nativeSrc":"316779:16:22","nodeType":"YulFunctionCall","src":"316779:16:22"},"nativeSrc":"316779:16:22","nodeType":"YulExpressionStatement","src":"316779:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316815:4:22","nodeType":"YulLiteral","src":"316815:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"316821:2:22","nodeType":"YulIdentifier","src":"316821:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316808:6:22","nodeType":"YulIdentifier","src":"316808:6:22"},"nativeSrc":"316808:16:22","nodeType":"YulFunctionCall","src":"316808:16:22"},"nativeSrc":"316808:16:22","nodeType":"YulExpressionStatement","src":"316808:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316844:4:22","nodeType":"YulLiteral","src":"316844:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"316850:2:22","nodeType":"YulIdentifier","src":"316850:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316837:6:22","nodeType":"YulIdentifier","src":"316837:6:22"},"nativeSrc":"316837:16:22","nodeType":"YulFunctionCall","src":"316837:16:22"},"nativeSrc":"316837:16:22","nodeType":"YulExpressionStatement","src":"316837:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316873:4:22","nodeType":"YulLiteral","src":"316873:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"316879:2:22","nodeType":"YulIdentifier","src":"316879:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316866:6:22","nodeType":"YulIdentifier","src":"316866:6:22"},"nativeSrc":"316866:16:22","nodeType":"YulFunctionCall","src":"316866:16:22"},"nativeSrc":"316866:16:22","nodeType":"YulExpressionStatement","src":"316866:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316902:4:22","nodeType":"YulLiteral","src":"316902:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"316908:2:22","nodeType":"YulIdentifier","src":"316908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"316895:6:22","nodeType":"YulIdentifier","src":"316895:6:22"},"nativeSrc":"316895:16:22","nodeType":"YulFunctionCall","src":"316895:16:22"},"nativeSrc":"316895:16:22","nodeType":"YulExpressionStatement","src":"316895:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41273,"isOffset":false,"isSlot":false,"src":"316734:2:22","valueSize":1},{"declaration":41276,"isOffset":false,"isSlot":false,"src":"316763:2:22","valueSize":1},{"declaration":41279,"isOffset":false,"isSlot":false,"src":"316792:2:22","valueSize":1},{"declaration":41282,"isOffset":false,"isSlot":false,"src":"316821:2:22","valueSize":1},{"declaration":41285,"isOffset":false,"isSlot":false,"src":"316850:2:22","valueSize":1},{"declaration":41288,"isOffset":false,"isSlot":false,"src":"316879:2:22","valueSize":1},{"declaration":41291,"isOffset":false,"isSlot":false,"src":"316908:2:22","valueSize":1}],"id":41299,"nodeType":"InlineAssembly","src":"316698:223:22"}]},"id":41301,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"315516:3:22","nodeType":"FunctionDefinition","parameters":{"id":41270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41263,"mutability":"mutable","name":"p0","nameLocation":"315528:2:22","nodeType":"VariableDeclaration","scope":41301,"src":"315520:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41262,"name":"uint256","nodeType":"ElementaryTypeName","src":"315520:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41265,"mutability":"mutable","name":"p1","nameLocation":"315540:2:22","nodeType":"VariableDeclaration","scope":41301,"src":"315532:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315532:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41267,"mutability":"mutable","name":"p2","nameLocation":"315552:2:22","nodeType":"VariableDeclaration","scope":41301,"src":"315544:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41266,"name":"uint256","nodeType":"ElementaryTypeName","src":"315544:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41269,"mutability":"mutable","name":"p3","nameLocation":"315561:2:22","nodeType":"VariableDeclaration","scope":41301,"src":"315556:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41268,"name":"bool","nodeType":"ElementaryTypeName","src":"315556:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"315519:45:22"},"returnParameters":{"id":41271,"nodeType":"ParameterList","parameters":[],"src":"315579:0:22"},"scope":44426,"src":"315507:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41340,"nodeType":"Block","src":"317008:1351:22","statements":[{"assignments":[41313],"declarations":[{"constant":false,"id":41313,"mutability":"mutable","name":"m0","nameLocation":"317026:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317018:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317018:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41314,"nodeType":"VariableDeclarationStatement","src":"317018:10:22"},{"assignments":[41316],"declarations":[{"constant":false,"id":41316,"mutability":"mutable","name":"m1","nameLocation":"317046:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317038:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317038:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41317,"nodeType":"VariableDeclarationStatement","src":"317038:10:22"},{"assignments":[41319],"declarations":[{"constant":false,"id":41319,"mutability":"mutable","name":"m2","nameLocation":"317066:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317058:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317058:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41320,"nodeType":"VariableDeclarationStatement","src":"317058:10:22"},{"assignments":[41322],"declarations":[{"constant":false,"id":41322,"mutability":"mutable","name":"m3","nameLocation":"317086:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317078:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41323,"nodeType":"VariableDeclarationStatement","src":"317078:10:22"},{"assignments":[41325],"declarations":[{"constant":false,"id":41325,"mutability":"mutable","name":"m4","nameLocation":"317106:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317098:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41326,"nodeType":"VariableDeclarationStatement","src":"317098:10:22"},{"assignments":[41328],"declarations":[{"constant":false,"id":41328,"mutability":"mutable","name":"m5","nameLocation":"317126:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317118:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317118:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41329,"nodeType":"VariableDeclarationStatement","src":"317118:10:22"},{"assignments":[41331],"declarations":[{"constant":false,"id":41331,"mutability":"mutable","name":"m6","nameLocation":"317146:2:22","nodeType":"VariableDeclaration","scope":41340,"src":"317138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41332,"nodeType":"VariableDeclarationStatement","src":"317138:10:22"},{"AST":{"nativeSrc":"317210:831:22","nodeType":"YulBlock","src":"317210:831:22","statements":[{"body":{"nativeSrc":"317253:313:22","nodeType":"YulBlock","src":"317253:313:22","statements":[{"nativeSrc":"317271:15:22","nodeType":"YulVariableDeclaration","src":"317271:15:22","value":{"kind":"number","nativeSrc":"317285:1:22","nodeType":"YulLiteral","src":"317285:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"317275:6:22","nodeType":"YulTypedName","src":"317275:6:22","type":""}]},{"body":{"nativeSrc":"317356:40:22","nodeType":"YulBlock","src":"317356:40:22","statements":[{"body":{"nativeSrc":"317385:9:22","nodeType":"YulBlock","src":"317385:9:22","statements":[{"nativeSrc":"317387:5:22","nodeType":"YulBreak","src":"317387:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"317373:6:22","nodeType":"YulIdentifier","src":"317373:6:22"},{"name":"w","nativeSrc":"317381:1:22","nodeType":"YulIdentifier","src":"317381:1:22"}],"functionName":{"name":"byte","nativeSrc":"317368:4:22","nodeType":"YulIdentifier","src":"317368:4:22"},"nativeSrc":"317368:15:22","nodeType":"YulFunctionCall","src":"317368:15:22"}],"functionName":{"name":"iszero","nativeSrc":"317361:6:22","nodeType":"YulIdentifier","src":"317361:6:22"},"nativeSrc":"317361:23:22","nodeType":"YulFunctionCall","src":"317361:23:22"},"nativeSrc":"317358:36:22","nodeType":"YulIf","src":"317358:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"317313:6:22","nodeType":"YulIdentifier","src":"317313:6:22"},{"kind":"number","nativeSrc":"317321:4:22","nodeType":"YulLiteral","src":"317321:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"317310:2:22","nodeType":"YulIdentifier","src":"317310:2:22"},"nativeSrc":"317310:16:22","nodeType":"YulFunctionCall","src":"317310:16:22"},"nativeSrc":"317303:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"317327:28:22","nodeType":"YulBlock","src":"317327:28:22","statements":[{"nativeSrc":"317329:24:22","nodeType":"YulAssignment","src":"317329:24:22","value":{"arguments":[{"name":"length","nativeSrc":"317343:6:22","nodeType":"YulIdentifier","src":"317343:6:22"},{"kind":"number","nativeSrc":"317351:1:22","nodeType":"YulLiteral","src":"317351:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"317339:3:22","nodeType":"YulIdentifier","src":"317339:3:22"},"nativeSrc":"317339:14:22","nodeType":"YulFunctionCall","src":"317339:14:22"},"variableNames":[{"name":"length","nativeSrc":"317329:6:22","nodeType":"YulIdentifier","src":"317329:6:22"}]}]},"pre":{"nativeSrc":"317307:2:22","nodeType":"YulBlock","src":"317307:2:22","statements":[]},"src":"317303:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"317420:3:22","nodeType":"YulIdentifier","src":"317420:3:22"},{"name":"length","nativeSrc":"317425:6:22","nodeType":"YulIdentifier","src":"317425:6:22"}],"functionName":{"name":"mstore","nativeSrc":"317413:6:22","nodeType":"YulIdentifier","src":"317413:6:22"},"nativeSrc":"317413:19:22","nodeType":"YulFunctionCall","src":"317413:19:22"},"nativeSrc":"317413:19:22","nodeType":"YulExpressionStatement","src":"317413:19:22"},{"nativeSrc":"317449:37:22","nodeType":"YulVariableDeclaration","src":"317449:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"317466:3:22","nodeType":"YulLiteral","src":"317466:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"317475:1:22","nodeType":"YulLiteral","src":"317475:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"317478:6:22","nodeType":"YulIdentifier","src":"317478:6:22"}],"functionName":{"name":"shl","nativeSrc":"317471:3:22","nodeType":"YulIdentifier","src":"317471:3:22"},"nativeSrc":"317471:14:22","nodeType":"YulFunctionCall","src":"317471:14:22"}],"functionName":{"name":"sub","nativeSrc":"317462:3:22","nodeType":"YulIdentifier","src":"317462:3:22"},"nativeSrc":"317462:24:22","nodeType":"YulFunctionCall","src":"317462:24:22"},"variables":[{"name":"shift","nativeSrc":"317453:5:22","nodeType":"YulTypedName","src":"317453:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"317514:3:22","nodeType":"YulIdentifier","src":"317514:3:22"},{"kind":"number","nativeSrc":"317519:4:22","nodeType":"YulLiteral","src":"317519:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"317510:3:22","nodeType":"YulIdentifier","src":"317510:3:22"},"nativeSrc":"317510:14:22","nodeType":"YulFunctionCall","src":"317510:14:22"},{"arguments":[{"name":"shift","nativeSrc":"317530:5:22","nodeType":"YulIdentifier","src":"317530:5:22"},{"arguments":[{"name":"shift","nativeSrc":"317541:5:22","nodeType":"YulIdentifier","src":"317541:5:22"},{"name":"w","nativeSrc":"317548:1:22","nodeType":"YulIdentifier","src":"317548:1:22"}],"functionName":{"name":"shr","nativeSrc":"317537:3:22","nodeType":"YulIdentifier","src":"317537:3:22"},"nativeSrc":"317537:13:22","nodeType":"YulFunctionCall","src":"317537:13:22"}],"functionName":{"name":"shl","nativeSrc":"317526:3:22","nodeType":"YulIdentifier","src":"317526:3:22"},"nativeSrc":"317526:25:22","nodeType":"YulFunctionCall","src":"317526:25:22"}],"functionName":{"name":"mstore","nativeSrc":"317503:6:22","nodeType":"YulIdentifier","src":"317503:6:22"},"nativeSrc":"317503:49:22","nodeType":"YulFunctionCall","src":"317503:49:22"},"nativeSrc":"317503:49:22","nodeType":"YulExpressionStatement","src":"317503:49:22"}]},"name":"writeString","nativeSrc":"317224:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"317245:3:22","nodeType":"YulTypedName","src":"317245:3:22","type":""},{"name":"w","nativeSrc":"317250:1:22","nodeType":"YulTypedName","src":"317250:1:22","type":""}],"src":"317224:342:22"},{"nativeSrc":"317579:17:22","nodeType":"YulAssignment","src":"317579:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317591:4:22","nodeType":"YulLiteral","src":"317591:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"317585:5:22","nodeType":"YulIdentifier","src":"317585:5:22"},"nativeSrc":"317585:11:22","nodeType":"YulFunctionCall","src":"317585:11:22"},"variableNames":[{"name":"m0","nativeSrc":"317579:2:22","nodeType":"YulIdentifier","src":"317579:2:22"}]},{"nativeSrc":"317609:17:22","nodeType":"YulAssignment","src":"317609:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317621:4:22","nodeType":"YulLiteral","src":"317621:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"317615:5:22","nodeType":"YulIdentifier","src":"317615:5:22"},"nativeSrc":"317615:11:22","nodeType":"YulFunctionCall","src":"317615:11:22"},"variableNames":[{"name":"m1","nativeSrc":"317609:2:22","nodeType":"YulIdentifier","src":"317609:2:22"}]},{"nativeSrc":"317639:17:22","nodeType":"YulAssignment","src":"317639:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317651:4:22","nodeType":"YulLiteral","src":"317651:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"317645:5:22","nodeType":"YulIdentifier","src":"317645:5:22"},"nativeSrc":"317645:11:22","nodeType":"YulFunctionCall","src":"317645:11:22"},"variableNames":[{"name":"m2","nativeSrc":"317639:2:22","nodeType":"YulIdentifier","src":"317639:2:22"}]},{"nativeSrc":"317669:17:22","nodeType":"YulAssignment","src":"317669:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317681:4:22","nodeType":"YulLiteral","src":"317681:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"317675:5:22","nodeType":"YulIdentifier","src":"317675:5:22"},"nativeSrc":"317675:11:22","nodeType":"YulFunctionCall","src":"317675:11:22"},"variableNames":[{"name":"m3","nativeSrc":"317669:2:22","nodeType":"YulIdentifier","src":"317669:2:22"}]},{"nativeSrc":"317699:17:22","nodeType":"YulAssignment","src":"317699:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317711:4:22","nodeType":"YulLiteral","src":"317711:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"317705:5:22","nodeType":"YulIdentifier","src":"317705:5:22"},"nativeSrc":"317705:11:22","nodeType":"YulFunctionCall","src":"317705:11:22"},"variableNames":[{"name":"m4","nativeSrc":"317699:2:22","nodeType":"YulIdentifier","src":"317699:2:22"}]},{"nativeSrc":"317729:17:22","nodeType":"YulAssignment","src":"317729:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317741:4:22","nodeType":"YulLiteral","src":"317741:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"317735:5:22","nodeType":"YulIdentifier","src":"317735:5:22"},"nativeSrc":"317735:11:22","nodeType":"YulFunctionCall","src":"317735:11:22"},"variableNames":[{"name":"m5","nativeSrc":"317729:2:22","nodeType":"YulIdentifier","src":"317729:2:22"}]},{"nativeSrc":"317759:17:22","nodeType":"YulAssignment","src":"317759:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"317771:4:22","nodeType":"YulLiteral","src":"317771:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"317765:5:22","nodeType":"YulIdentifier","src":"317765:5:22"},"nativeSrc":"317765:11:22","nodeType":"YulFunctionCall","src":"317765:11:22"},"variableNames":[{"name":"m6","nativeSrc":"317759:2:22","nodeType":"YulIdentifier","src":"317759:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317862:4:22","nodeType":"YulLiteral","src":"317862:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"317868:10:22","nodeType":"YulLiteral","src":"317868:10:22","type":"","value":"0x82c25b74"}],"functionName":{"name":"mstore","nativeSrc":"317855:6:22","nodeType":"YulIdentifier","src":"317855:6:22"},"nativeSrc":"317855:24:22","nodeType":"YulFunctionCall","src":"317855:24:22"},"nativeSrc":"317855:24:22","nodeType":"YulExpressionStatement","src":"317855:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317899:4:22","nodeType":"YulLiteral","src":"317899:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"317905:2:22","nodeType":"YulIdentifier","src":"317905:2:22"}],"functionName":{"name":"mstore","nativeSrc":"317892:6:22","nodeType":"YulIdentifier","src":"317892:6:22"},"nativeSrc":"317892:16:22","nodeType":"YulFunctionCall","src":"317892:16:22"},"nativeSrc":"317892:16:22","nodeType":"YulExpressionStatement","src":"317892:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317928:4:22","nodeType":"YulLiteral","src":"317928:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"317934:4:22","nodeType":"YulLiteral","src":"317934:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"317921:6:22","nodeType":"YulIdentifier","src":"317921:6:22"},"nativeSrc":"317921:18:22","nodeType":"YulFunctionCall","src":"317921:18:22"},"nativeSrc":"317921:18:22","nodeType":"YulExpressionStatement","src":"317921:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317959:4:22","nodeType":"YulLiteral","src":"317959:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"317965:2:22","nodeType":"YulIdentifier","src":"317965:2:22"}],"functionName":{"name":"mstore","nativeSrc":"317952:6:22","nodeType":"YulIdentifier","src":"317952:6:22"},"nativeSrc":"317952:16:22","nodeType":"YulFunctionCall","src":"317952:16:22"},"nativeSrc":"317952:16:22","nodeType":"YulExpressionStatement","src":"317952:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317988:4:22","nodeType":"YulLiteral","src":"317988:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"317994:2:22","nodeType":"YulIdentifier","src":"317994:2:22"}],"functionName":{"name":"mstore","nativeSrc":"317981:6:22","nodeType":"YulIdentifier","src":"317981:6:22"},"nativeSrc":"317981:16:22","nodeType":"YulFunctionCall","src":"317981:16:22"},"nativeSrc":"317981:16:22","nodeType":"YulExpressionStatement","src":"317981:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318022:4:22","nodeType":"YulLiteral","src":"318022:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"318028:2:22","nodeType":"YulIdentifier","src":"318028:2:22"}],"functionName":{"name":"writeString","nativeSrc":"318010:11:22","nodeType":"YulIdentifier","src":"318010:11:22"},"nativeSrc":"318010:21:22","nodeType":"YulFunctionCall","src":"318010:21:22"},"nativeSrc":"318010:21:22","nodeType":"YulExpressionStatement","src":"318010:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41313,"isOffset":false,"isSlot":false,"src":"317579:2:22","valueSize":1},{"declaration":41316,"isOffset":false,"isSlot":false,"src":"317609:2:22","valueSize":1},{"declaration":41319,"isOffset":false,"isSlot":false,"src":"317639:2:22","valueSize":1},{"declaration":41322,"isOffset":false,"isSlot":false,"src":"317669:2:22","valueSize":1},{"declaration":41325,"isOffset":false,"isSlot":false,"src":"317699:2:22","valueSize":1},{"declaration":41328,"isOffset":false,"isSlot":false,"src":"317729:2:22","valueSize":1},{"declaration":41331,"isOffset":false,"isSlot":false,"src":"317759:2:22","valueSize":1},{"declaration":41303,"isOffset":false,"isSlot":false,"src":"317905:2:22","valueSize":1},{"declaration":41305,"isOffset":false,"isSlot":false,"src":"318028:2:22","valueSize":1},{"declaration":41307,"isOffset":false,"isSlot":false,"src":"317965:2:22","valueSize":1},{"declaration":41309,"isOffset":false,"isSlot":false,"src":"317994:2:22","valueSize":1}],"id":41333,"nodeType":"InlineAssembly","src":"317201:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318066:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318072:4:22","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":41334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"318050:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318050:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41338,"nodeType":"ExpressionStatement","src":"318050:27:22"},{"AST":{"nativeSrc":"318139:214:22","nodeType":"YulBlock","src":"318139:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"318160:4:22","nodeType":"YulLiteral","src":"318160:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"318166:2:22","nodeType":"YulIdentifier","src":"318166:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318153:6:22","nodeType":"YulIdentifier","src":"318153:6:22"},"nativeSrc":"318153:16:22","nodeType":"YulFunctionCall","src":"318153:16:22"},"nativeSrc":"318153:16:22","nodeType":"YulExpressionStatement","src":"318153:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318189:4:22","nodeType":"YulLiteral","src":"318189:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"318195:2:22","nodeType":"YulIdentifier","src":"318195:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318182:6:22","nodeType":"YulIdentifier","src":"318182:6:22"},"nativeSrc":"318182:16:22","nodeType":"YulFunctionCall","src":"318182:16:22"},"nativeSrc":"318182:16:22","nodeType":"YulExpressionStatement","src":"318182:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318218:4:22","nodeType":"YulLiteral","src":"318218:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"318224:2:22","nodeType":"YulIdentifier","src":"318224:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318211:6:22","nodeType":"YulIdentifier","src":"318211:6:22"},"nativeSrc":"318211:16:22","nodeType":"YulFunctionCall","src":"318211:16:22"},"nativeSrc":"318211:16:22","nodeType":"YulExpressionStatement","src":"318211:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318247:4:22","nodeType":"YulLiteral","src":"318247:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"318253:2:22","nodeType":"YulIdentifier","src":"318253:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318240:6:22","nodeType":"YulIdentifier","src":"318240:6:22"},"nativeSrc":"318240:16:22","nodeType":"YulFunctionCall","src":"318240:16:22"},"nativeSrc":"318240:16:22","nodeType":"YulExpressionStatement","src":"318240:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318276:4:22","nodeType":"YulLiteral","src":"318276:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"318282:2:22","nodeType":"YulIdentifier","src":"318282:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318269:6:22","nodeType":"YulIdentifier","src":"318269:6:22"},"nativeSrc":"318269:16:22","nodeType":"YulFunctionCall","src":"318269:16:22"},"nativeSrc":"318269:16:22","nodeType":"YulExpressionStatement","src":"318269:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318305:4:22","nodeType":"YulLiteral","src":"318305:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"318311:2:22","nodeType":"YulIdentifier","src":"318311:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318298:6:22","nodeType":"YulIdentifier","src":"318298:6:22"},"nativeSrc":"318298:16:22","nodeType":"YulFunctionCall","src":"318298:16:22"},"nativeSrc":"318298:16:22","nodeType":"YulExpressionStatement","src":"318298:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318334:4:22","nodeType":"YulLiteral","src":"318334:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"318340:2:22","nodeType":"YulIdentifier","src":"318340:2:22"}],"functionName":{"name":"mstore","nativeSrc":"318327:6:22","nodeType":"YulIdentifier","src":"318327:6:22"},"nativeSrc":"318327:16:22","nodeType":"YulFunctionCall","src":"318327:16:22"},"nativeSrc":"318327:16:22","nodeType":"YulExpressionStatement","src":"318327:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41313,"isOffset":false,"isSlot":false,"src":"318166:2:22","valueSize":1},{"declaration":41316,"isOffset":false,"isSlot":false,"src":"318195:2:22","valueSize":1},{"declaration":41319,"isOffset":false,"isSlot":false,"src":"318224:2:22","valueSize":1},{"declaration":41322,"isOffset":false,"isSlot":false,"src":"318253:2:22","valueSize":1},{"declaration":41325,"isOffset":false,"isSlot":false,"src":"318282:2:22","valueSize":1},{"declaration":41328,"isOffset":false,"isSlot":false,"src":"318311:2:22","valueSize":1},{"declaration":41331,"isOffset":false,"isSlot":false,"src":"318340:2:22","valueSize":1}],"id":41339,"nodeType":"InlineAssembly","src":"318130:223:22"}]},"id":41341,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"316942:3:22","nodeType":"FunctionDefinition","parameters":{"id":41310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41303,"mutability":"mutable","name":"p0","nameLocation":"316954:2:22","nodeType":"VariableDeclaration","scope":41341,"src":"316946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41302,"name":"uint256","nodeType":"ElementaryTypeName","src":"316946:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41305,"mutability":"mutable","name":"p1","nameLocation":"316966:2:22","nodeType":"VariableDeclaration","scope":41341,"src":"316958:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"316958:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41307,"mutability":"mutable","name":"p2","nameLocation":"316978:2:22","nodeType":"VariableDeclaration","scope":41341,"src":"316970:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41306,"name":"uint256","nodeType":"ElementaryTypeName","src":"316970:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41309,"mutability":"mutable","name":"p3","nameLocation":"316990:2:22","nodeType":"VariableDeclaration","scope":41341,"src":"316982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41308,"name":"uint256","nodeType":"ElementaryTypeName","src":"316982:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"316945:48:22"},"returnParameters":{"id":41311,"nodeType":"ParameterList","parameters":[],"src":"317008:0:22"},"scope":44426,"src":"316933:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41386,"nodeType":"Block","src":"318440:1547:22","statements":[{"assignments":[41353],"declarations":[{"constant":false,"id":41353,"mutability":"mutable","name":"m0","nameLocation":"318458:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318450:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318450:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41354,"nodeType":"VariableDeclarationStatement","src":"318450:10:22"},{"assignments":[41356],"declarations":[{"constant":false,"id":41356,"mutability":"mutable","name":"m1","nameLocation":"318478:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318470:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318470:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41357,"nodeType":"VariableDeclarationStatement","src":"318470:10:22"},{"assignments":[41359],"declarations":[{"constant":false,"id":41359,"mutability":"mutable","name":"m2","nameLocation":"318498:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318490:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318490:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41360,"nodeType":"VariableDeclarationStatement","src":"318490:10:22"},{"assignments":[41362],"declarations":[{"constant":false,"id":41362,"mutability":"mutable","name":"m3","nameLocation":"318518:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318510:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41363,"nodeType":"VariableDeclarationStatement","src":"318510:10:22"},{"assignments":[41365],"declarations":[{"constant":false,"id":41365,"mutability":"mutable","name":"m4","nameLocation":"318538:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318530:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318530:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41366,"nodeType":"VariableDeclarationStatement","src":"318530:10:22"},{"assignments":[41368],"declarations":[{"constant":false,"id":41368,"mutability":"mutable","name":"m5","nameLocation":"318558:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318550:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318550:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41369,"nodeType":"VariableDeclarationStatement","src":"318550:10:22"},{"assignments":[41371],"declarations":[{"constant":false,"id":41371,"mutability":"mutable","name":"m6","nameLocation":"318578:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318570:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318570:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41372,"nodeType":"VariableDeclarationStatement","src":"318570:10:22"},{"assignments":[41374],"declarations":[{"constant":false,"id":41374,"mutability":"mutable","name":"m7","nameLocation":"318598:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318590:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318590:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41375,"nodeType":"VariableDeclarationStatement","src":"318590:10:22"},{"assignments":[41377],"declarations":[{"constant":false,"id":41377,"mutability":"mutable","name":"m8","nameLocation":"318618:2:22","nodeType":"VariableDeclaration","scope":41386,"src":"318610:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318610:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41378,"nodeType":"VariableDeclarationStatement","src":"318610:10:22"},{"AST":{"nativeSrc":"318682:927:22","nodeType":"YulBlock","src":"318682:927:22","statements":[{"body":{"nativeSrc":"318725:313:22","nodeType":"YulBlock","src":"318725:313:22","statements":[{"nativeSrc":"318743:15:22","nodeType":"YulVariableDeclaration","src":"318743:15:22","value":{"kind":"number","nativeSrc":"318757:1:22","nodeType":"YulLiteral","src":"318757:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"318747:6:22","nodeType":"YulTypedName","src":"318747:6:22","type":""}]},{"body":{"nativeSrc":"318828:40:22","nodeType":"YulBlock","src":"318828:40:22","statements":[{"body":{"nativeSrc":"318857:9:22","nodeType":"YulBlock","src":"318857:9:22","statements":[{"nativeSrc":"318859:5:22","nodeType":"YulBreak","src":"318859:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"318845:6:22","nodeType":"YulIdentifier","src":"318845:6:22"},{"name":"w","nativeSrc":"318853:1:22","nodeType":"YulIdentifier","src":"318853:1:22"}],"functionName":{"name":"byte","nativeSrc":"318840:4:22","nodeType":"YulIdentifier","src":"318840:4:22"},"nativeSrc":"318840:15:22","nodeType":"YulFunctionCall","src":"318840:15:22"}],"functionName":{"name":"iszero","nativeSrc":"318833:6:22","nodeType":"YulIdentifier","src":"318833:6:22"},"nativeSrc":"318833:23:22","nodeType":"YulFunctionCall","src":"318833:23:22"},"nativeSrc":"318830:36:22","nodeType":"YulIf","src":"318830:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"318785:6:22","nodeType":"YulIdentifier","src":"318785:6:22"},{"kind":"number","nativeSrc":"318793:4:22","nodeType":"YulLiteral","src":"318793:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"318782:2:22","nodeType":"YulIdentifier","src":"318782:2:22"},"nativeSrc":"318782:16:22","nodeType":"YulFunctionCall","src":"318782:16:22"},"nativeSrc":"318775:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"318799:28:22","nodeType":"YulBlock","src":"318799:28:22","statements":[{"nativeSrc":"318801:24:22","nodeType":"YulAssignment","src":"318801:24:22","value":{"arguments":[{"name":"length","nativeSrc":"318815:6:22","nodeType":"YulIdentifier","src":"318815:6:22"},{"kind":"number","nativeSrc":"318823:1:22","nodeType":"YulLiteral","src":"318823:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"318811:3:22","nodeType":"YulIdentifier","src":"318811:3:22"},"nativeSrc":"318811:14:22","nodeType":"YulFunctionCall","src":"318811:14:22"},"variableNames":[{"name":"length","nativeSrc":"318801:6:22","nodeType":"YulIdentifier","src":"318801:6:22"}]}]},"pre":{"nativeSrc":"318779:2:22","nodeType":"YulBlock","src":"318779:2:22","statements":[]},"src":"318775:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"318892:3:22","nodeType":"YulIdentifier","src":"318892:3:22"},{"name":"length","nativeSrc":"318897:6:22","nodeType":"YulIdentifier","src":"318897:6:22"}],"functionName":{"name":"mstore","nativeSrc":"318885:6:22","nodeType":"YulIdentifier","src":"318885:6:22"},"nativeSrc":"318885:19:22","nodeType":"YulFunctionCall","src":"318885:19:22"},"nativeSrc":"318885:19:22","nodeType":"YulExpressionStatement","src":"318885:19:22"},{"nativeSrc":"318921:37:22","nodeType":"YulVariableDeclaration","src":"318921:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"318938:3:22","nodeType":"YulLiteral","src":"318938:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"318947:1:22","nodeType":"YulLiteral","src":"318947:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"318950:6:22","nodeType":"YulIdentifier","src":"318950:6:22"}],"functionName":{"name":"shl","nativeSrc":"318943:3:22","nodeType":"YulIdentifier","src":"318943:3:22"},"nativeSrc":"318943:14:22","nodeType":"YulFunctionCall","src":"318943:14:22"}],"functionName":{"name":"sub","nativeSrc":"318934:3:22","nodeType":"YulIdentifier","src":"318934:3:22"},"nativeSrc":"318934:24:22","nodeType":"YulFunctionCall","src":"318934:24:22"},"variables":[{"name":"shift","nativeSrc":"318925:5:22","nodeType":"YulTypedName","src":"318925:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"318986:3:22","nodeType":"YulIdentifier","src":"318986:3:22"},{"kind":"number","nativeSrc":"318991:4:22","nodeType":"YulLiteral","src":"318991:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"318982:3:22","nodeType":"YulIdentifier","src":"318982:3:22"},"nativeSrc":"318982:14:22","nodeType":"YulFunctionCall","src":"318982:14:22"},{"arguments":[{"name":"shift","nativeSrc":"319002:5:22","nodeType":"YulIdentifier","src":"319002:5:22"},{"arguments":[{"name":"shift","nativeSrc":"319013:5:22","nodeType":"YulIdentifier","src":"319013:5:22"},{"name":"w","nativeSrc":"319020:1:22","nodeType":"YulIdentifier","src":"319020:1:22"}],"functionName":{"name":"shr","nativeSrc":"319009:3:22","nodeType":"YulIdentifier","src":"319009:3:22"},"nativeSrc":"319009:13:22","nodeType":"YulFunctionCall","src":"319009:13:22"}],"functionName":{"name":"shl","nativeSrc":"318998:3:22","nodeType":"YulIdentifier","src":"318998:3:22"},"nativeSrc":"318998:25:22","nodeType":"YulFunctionCall","src":"318998:25:22"}],"functionName":{"name":"mstore","nativeSrc":"318975:6:22","nodeType":"YulIdentifier","src":"318975:6:22"},"nativeSrc":"318975:49:22","nodeType":"YulFunctionCall","src":"318975:49:22"},"nativeSrc":"318975:49:22","nodeType":"YulExpressionStatement","src":"318975:49:22"}]},"name":"writeString","nativeSrc":"318696:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"318717:3:22","nodeType":"YulTypedName","src":"318717:3:22","type":""},{"name":"w","nativeSrc":"318722:1:22","nodeType":"YulTypedName","src":"318722:1:22","type":""}],"src":"318696:342:22"},{"nativeSrc":"319051:17:22","nodeType":"YulAssignment","src":"319051:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319063:4:22","nodeType":"YulLiteral","src":"319063:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"319057:5:22","nodeType":"YulIdentifier","src":"319057:5:22"},"nativeSrc":"319057:11:22","nodeType":"YulFunctionCall","src":"319057:11:22"},"variableNames":[{"name":"m0","nativeSrc":"319051:2:22","nodeType":"YulIdentifier","src":"319051:2:22"}]},{"nativeSrc":"319081:17:22","nodeType":"YulAssignment","src":"319081:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319093:4:22","nodeType":"YulLiteral","src":"319093:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"319087:5:22","nodeType":"YulIdentifier","src":"319087:5:22"},"nativeSrc":"319087:11:22","nodeType":"YulFunctionCall","src":"319087:11:22"},"variableNames":[{"name":"m1","nativeSrc":"319081:2:22","nodeType":"YulIdentifier","src":"319081:2:22"}]},{"nativeSrc":"319111:17:22","nodeType":"YulAssignment","src":"319111:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319123:4:22","nodeType":"YulLiteral","src":"319123:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"319117:5:22","nodeType":"YulIdentifier","src":"319117:5:22"},"nativeSrc":"319117:11:22","nodeType":"YulFunctionCall","src":"319117:11:22"},"variableNames":[{"name":"m2","nativeSrc":"319111:2:22","nodeType":"YulIdentifier","src":"319111:2:22"}]},{"nativeSrc":"319141:17:22","nodeType":"YulAssignment","src":"319141:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319153:4:22","nodeType":"YulLiteral","src":"319153:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"319147:5:22","nodeType":"YulIdentifier","src":"319147:5:22"},"nativeSrc":"319147:11:22","nodeType":"YulFunctionCall","src":"319147:11:22"},"variableNames":[{"name":"m3","nativeSrc":"319141:2:22","nodeType":"YulIdentifier","src":"319141:2:22"}]},{"nativeSrc":"319171:17:22","nodeType":"YulAssignment","src":"319171:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319183:4:22","nodeType":"YulLiteral","src":"319183:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"319177:5:22","nodeType":"YulIdentifier","src":"319177:5:22"},"nativeSrc":"319177:11:22","nodeType":"YulFunctionCall","src":"319177:11:22"},"variableNames":[{"name":"m4","nativeSrc":"319171:2:22","nodeType":"YulIdentifier","src":"319171:2:22"}]},{"nativeSrc":"319201:17:22","nodeType":"YulAssignment","src":"319201:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319213:4:22","nodeType":"YulLiteral","src":"319213:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"319207:5:22","nodeType":"YulIdentifier","src":"319207:5:22"},"nativeSrc":"319207:11:22","nodeType":"YulFunctionCall","src":"319207:11:22"},"variableNames":[{"name":"m5","nativeSrc":"319201:2:22","nodeType":"YulIdentifier","src":"319201:2:22"}]},{"nativeSrc":"319231:17:22","nodeType":"YulAssignment","src":"319231:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319243:4:22","nodeType":"YulLiteral","src":"319243:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"319237:5:22","nodeType":"YulIdentifier","src":"319237:5:22"},"nativeSrc":"319237:11:22","nodeType":"YulFunctionCall","src":"319237:11:22"},"variableNames":[{"name":"m6","nativeSrc":"319231:2:22","nodeType":"YulIdentifier","src":"319231:2:22"}]},{"nativeSrc":"319261:17:22","nodeType":"YulAssignment","src":"319261:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"319273:4:22","nodeType":"YulLiteral","src":"319273:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"319267:5:22","nodeType":"YulIdentifier","src":"319267:5:22"},"nativeSrc":"319267:11:22","nodeType":"YulFunctionCall","src":"319267:11:22"},"variableNames":[{"name":"m7","nativeSrc":"319261:2:22","nodeType":"YulIdentifier","src":"319261:2:22"}]},{"nativeSrc":"319291:18:22","nodeType":"YulAssignment","src":"319291:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"319303:5:22","nodeType":"YulLiteral","src":"319303:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"319297:5:22","nodeType":"YulIdentifier","src":"319297:5:22"},"nativeSrc":"319297:12:22","nodeType":"YulFunctionCall","src":"319297:12:22"},"variableNames":[{"name":"m8","nativeSrc":"319291:2:22","nodeType":"YulIdentifier","src":"319291:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319394:4:22","nodeType":"YulLiteral","src":"319394:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"319400:10:22","nodeType":"YulLiteral","src":"319400:10:22","type":"","value":"0xb7b914ca"}],"functionName":{"name":"mstore","nativeSrc":"319387:6:22","nodeType":"YulIdentifier","src":"319387:6:22"},"nativeSrc":"319387:24:22","nodeType":"YulFunctionCall","src":"319387:24:22"},"nativeSrc":"319387:24:22","nodeType":"YulExpressionStatement","src":"319387:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319431:4:22","nodeType":"YulLiteral","src":"319431:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"319437:2:22","nodeType":"YulIdentifier","src":"319437:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319424:6:22","nodeType":"YulIdentifier","src":"319424:6:22"},"nativeSrc":"319424:16:22","nodeType":"YulFunctionCall","src":"319424:16:22"},"nativeSrc":"319424:16:22","nodeType":"YulExpressionStatement","src":"319424:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319460:4:22","nodeType":"YulLiteral","src":"319460:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"319466:4:22","nodeType":"YulLiteral","src":"319466:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"319453:6:22","nodeType":"YulIdentifier","src":"319453:6:22"},"nativeSrc":"319453:18:22","nodeType":"YulFunctionCall","src":"319453:18:22"},"nativeSrc":"319453:18:22","nodeType":"YulExpressionStatement","src":"319453:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319491:4:22","nodeType":"YulLiteral","src":"319491:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"319497:2:22","nodeType":"YulIdentifier","src":"319497:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319484:6:22","nodeType":"YulIdentifier","src":"319484:6:22"},"nativeSrc":"319484:16:22","nodeType":"YulFunctionCall","src":"319484:16:22"},"nativeSrc":"319484:16:22","nodeType":"YulExpressionStatement","src":"319484:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319520:4:22","nodeType":"YulLiteral","src":"319520:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"319526:4:22","nodeType":"YulLiteral","src":"319526:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"319513:6:22","nodeType":"YulIdentifier","src":"319513:6:22"},"nativeSrc":"319513:18:22","nodeType":"YulFunctionCall","src":"319513:18:22"},"nativeSrc":"319513:18:22","nodeType":"YulExpressionStatement","src":"319513:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319556:4:22","nodeType":"YulLiteral","src":"319556:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"319562:2:22","nodeType":"YulIdentifier","src":"319562:2:22"}],"functionName":{"name":"writeString","nativeSrc":"319544:11:22","nodeType":"YulIdentifier","src":"319544:11:22"},"nativeSrc":"319544:21:22","nodeType":"YulFunctionCall","src":"319544:21:22"},"nativeSrc":"319544:21:22","nodeType":"YulExpressionStatement","src":"319544:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319590:4:22","nodeType":"YulLiteral","src":"319590:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"319596:2:22","nodeType":"YulIdentifier","src":"319596:2:22"}],"functionName":{"name":"writeString","nativeSrc":"319578:11:22","nodeType":"YulIdentifier","src":"319578:11:22"},"nativeSrc":"319578:21:22","nodeType":"YulFunctionCall","src":"319578:21:22"},"nativeSrc":"319578:21:22","nodeType":"YulExpressionStatement","src":"319578:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41353,"isOffset":false,"isSlot":false,"src":"319051:2:22","valueSize":1},{"declaration":41356,"isOffset":false,"isSlot":false,"src":"319081:2:22","valueSize":1},{"declaration":41359,"isOffset":false,"isSlot":false,"src":"319111:2:22","valueSize":1},{"declaration":41362,"isOffset":false,"isSlot":false,"src":"319141:2:22","valueSize":1},{"declaration":41365,"isOffset":false,"isSlot":false,"src":"319171:2:22","valueSize":1},{"declaration":41368,"isOffset":false,"isSlot":false,"src":"319201:2:22","valueSize":1},{"declaration":41371,"isOffset":false,"isSlot":false,"src":"319231:2:22","valueSize":1},{"declaration":41374,"isOffset":false,"isSlot":false,"src":"319261:2:22","valueSize":1},{"declaration":41377,"isOffset":false,"isSlot":false,"src":"319291:2:22","valueSize":1},{"declaration":41343,"isOffset":false,"isSlot":false,"src":"319437:2:22","valueSize":1},{"declaration":41345,"isOffset":false,"isSlot":false,"src":"319562:2:22","valueSize":1},{"declaration":41347,"isOffset":false,"isSlot":false,"src":"319497:2:22","valueSize":1},{"declaration":41349,"isOffset":false,"isSlot":false,"src":"319596:2:22","valueSize":1}],"id":41379,"nodeType":"InlineAssembly","src":"318673:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319634:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319640:5:22","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":41380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"319618:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"319618:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41384,"nodeType":"ExpressionStatement","src":"319618:28:22"},{"AST":{"nativeSrc":"319708:273:22","nodeType":"YulBlock","src":"319708:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"319729:4:22","nodeType":"YulLiteral","src":"319729:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"319735:2:22","nodeType":"YulIdentifier","src":"319735:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319722:6:22","nodeType":"YulIdentifier","src":"319722:6:22"},"nativeSrc":"319722:16:22","nodeType":"YulFunctionCall","src":"319722:16:22"},"nativeSrc":"319722:16:22","nodeType":"YulExpressionStatement","src":"319722:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319758:4:22","nodeType":"YulLiteral","src":"319758:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"319764:2:22","nodeType":"YulIdentifier","src":"319764:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319751:6:22","nodeType":"YulIdentifier","src":"319751:6:22"},"nativeSrc":"319751:16:22","nodeType":"YulFunctionCall","src":"319751:16:22"},"nativeSrc":"319751:16:22","nodeType":"YulExpressionStatement","src":"319751:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319787:4:22","nodeType":"YulLiteral","src":"319787:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"319793:2:22","nodeType":"YulIdentifier","src":"319793:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319780:6:22","nodeType":"YulIdentifier","src":"319780:6:22"},"nativeSrc":"319780:16:22","nodeType":"YulFunctionCall","src":"319780:16:22"},"nativeSrc":"319780:16:22","nodeType":"YulExpressionStatement","src":"319780:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319816:4:22","nodeType":"YulLiteral","src":"319816:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"319822:2:22","nodeType":"YulIdentifier","src":"319822:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319809:6:22","nodeType":"YulIdentifier","src":"319809:6:22"},"nativeSrc":"319809:16:22","nodeType":"YulFunctionCall","src":"319809:16:22"},"nativeSrc":"319809:16:22","nodeType":"YulExpressionStatement","src":"319809:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319845:4:22","nodeType":"YulLiteral","src":"319845:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"319851:2:22","nodeType":"YulIdentifier","src":"319851:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319838:6:22","nodeType":"YulIdentifier","src":"319838:6:22"},"nativeSrc":"319838:16:22","nodeType":"YulFunctionCall","src":"319838:16:22"},"nativeSrc":"319838:16:22","nodeType":"YulExpressionStatement","src":"319838:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319874:4:22","nodeType":"YulLiteral","src":"319874:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"319880:2:22","nodeType":"YulIdentifier","src":"319880:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319867:6:22","nodeType":"YulIdentifier","src":"319867:6:22"},"nativeSrc":"319867:16:22","nodeType":"YulFunctionCall","src":"319867:16:22"},"nativeSrc":"319867:16:22","nodeType":"YulExpressionStatement","src":"319867:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319903:4:22","nodeType":"YulLiteral","src":"319903:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"319909:2:22","nodeType":"YulIdentifier","src":"319909:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319896:6:22","nodeType":"YulIdentifier","src":"319896:6:22"},"nativeSrc":"319896:16:22","nodeType":"YulFunctionCall","src":"319896:16:22"},"nativeSrc":"319896:16:22","nodeType":"YulExpressionStatement","src":"319896:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319932:4:22","nodeType":"YulLiteral","src":"319932:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"319938:2:22","nodeType":"YulIdentifier","src":"319938:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319925:6:22","nodeType":"YulIdentifier","src":"319925:6:22"},"nativeSrc":"319925:16:22","nodeType":"YulFunctionCall","src":"319925:16:22"},"nativeSrc":"319925:16:22","nodeType":"YulExpressionStatement","src":"319925:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319961:5:22","nodeType":"YulLiteral","src":"319961:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"319968:2:22","nodeType":"YulIdentifier","src":"319968:2:22"}],"functionName":{"name":"mstore","nativeSrc":"319954:6:22","nodeType":"YulIdentifier","src":"319954:6:22"},"nativeSrc":"319954:17:22","nodeType":"YulFunctionCall","src":"319954:17:22"},"nativeSrc":"319954:17:22","nodeType":"YulExpressionStatement","src":"319954:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41353,"isOffset":false,"isSlot":false,"src":"319735:2:22","valueSize":1},{"declaration":41356,"isOffset":false,"isSlot":false,"src":"319764:2:22","valueSize":1},{"declaration":41359,"isOffset":false,"isSlot":false,"src":"319793:2:22","valueSize":1},{"declaration":41362,"isOffset":false,"isSlot":false,"src":"319822:2:22","valueSize":1},{"declaration":41365,"isOffset":false,"isSlot":false,"src":"319851:2:22","valueSize":1},{"declaration":41368,"isOffset":false,"isSlot":false,"src":"319880:2:22","valueSize":1},{"declaration":41371,"isOffset":false,"isSlot":false,"src":"319909:2:22","valueSize":1},{"declaration":41374,"isOffset":false,"isSlot":false,"src":"319938:2:22","valueSize":1},{"declaration":41377,"isOffset":false,"isSlot":false,"src":"319968:2:22","valueSize":1}],"id":41385,"nodeType":"InlineAssembly","src":"319699:282:22"}]},"id":41387,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"318374:3:22","nodeType":"FunctionDefinition","parameters":{"id":41350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41343,"mutability":"mutable","name":"p0","nameLocation":"318386:2:22","nodeType":"VariableDeclaration","scope":41387,"src":"318378:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41342,"name":"uint256","nodeType":"ElementaryTypeName","src":"318378:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41345,"mutability":"mutable","name":"p1","nameLocation":"318398:2:22","nodeType":"VariableDeclaration","scope":41387,"src":"318390:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318390:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41347,"mutability":"mutable","name":"p2","nameLocation":"318410:2:22","nodeType":"VariableDeclaration","scope":41387,"src":"318402:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41346,"name":"uint256","nodeType":"ElementaryTypeName","src":"318402:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41349,"mutability":"mutable","name":"p3","nameLocation":"318422:2:22","nodeType":"VariableDeclaration","scope":41387,"src":"318414:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318414:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"318377:48:22"},"returnParameters":{"id":41351,"nodeType":"ParameterList","parameters":[],"src":"318440:0:22"},"scope":44426,"src":"318365:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41432,"nodeType":"Block","src":"320068:1547:22","statements":[{"assignments":[41399],"declarations":[{"constant":false,"id":41399,"mutability":"mutable","name":"m0","nameLocation":"320086:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320078:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320078:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41400,"nodeType":"VariableDeclarationStatement","src":"320078:10:22"},{"assignments":[41402],"declarations":[{"constant":false,"id":41402,"mutability":"mutable","name":"m1","nameLocation":"320106:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320098:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41403,"nodeType":"VariableDeclarationStatement","src":"320098:10:22"},{"assignments":[41405],"declarations":[{"constant":false,"id":41405,"mutability":"mutable","name":"m2","nameLocation":"320126:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320118:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320118:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41406,"nodeType":"VariableDeclarationStatement","src":"320118:10:22"},{"assignments":[41408],"declarations":[{"constant":false,"id":41408,"mutability":"mutable","name":"m3","nameLocation":"320146:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41409,"nodeType":"VariableDeclarationStatement","src":"320138:10:22"},{"assignments":[41411],"declarations":[{"constant":false,"id":41411,"mutability":"mutable","name":"m4","nameLocation":"320166:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320158:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41412,"nodeType":"VariableDeclarationStatement","src":"320158:10:22"},{"assignments":[41414],"declarations":[{"constant":false,"id":41414,"mutability":"mutable","name":"m5","nameLocation":"320186:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320178:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320178:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41415,"nodeType":"VariableDeclarationStatement","src":"320178:10:22"},{"assignments":[41417],"declarations":[{"constant":false,"id":41417,"mutability":"mutable","name":"m6","nameLocation":"320206:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320198:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320198:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41418,"nodeType":"VariableDeclarationStatement","src":"320198:10:22"},{"assignments":[41420],"declarations":[{"constant":false,"id":41420,"mutability":"mutable","name":"m7","nameLocation":"320226:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320218:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320218:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41421,"nodeType":"VariableDeclarationStatement","src":"320218:10:22"},{"assignments":[41423],"declarations":[{"constant":false,"id":41423,"mutability":"mutable","name":"m8","nameLocation":"320246:2:22","nodeType":"VariableDeclaration","scope":41432,"src":"320238:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320238:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41424,"nodeType":"VariableDeclarationStatement","src":"320238:10:22"},{"AST":{"nativeSrc":"320310:927:22","nodeType":"YulBlock","src":"320310:927:22","statements":[{"body":{"nativeSrc":"320353:313:22","nodeType":"YulBlock","src":"320353:313:22","statements":[{"nativeSrc":"320371:15:22","nodeType":"YulVariableDeclaration","src":"320371:15:22","value":{"kind":"number","nativeSrc":"320385:1:22","nodeType":"YulLiteral","src":"320385:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"320375:6:22","nodeType":"YulTypedName","src":"320375:6:22","type":""}]},{"body":{"nativeSrc":"320456:40:22","nodeType":"YulBlock","src":"320456:40:22","statements":[{"body":{"nativeSrc":"320485:9:22","nodeType":"YulBlock","src":"320485:9:22","statements":[{"nativeSrc":"320487:5:22","nodeType":"YulBreak","src":"320487:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"320473:6:22","nodeType":"YulIdentifier","src":"320473:6:22"},{"name":"w","nativeSrc":"320481:1:22","nodeType":"YulIdentifier","src":"320481:1:22"}],"functionName":{"name":"byte","nativeSrc":"320468:4:22","nodeType":"YulIdentifier","src":"320468:4:22"},"nativeSrc":"320468:15:22","nodeType":"YulFunctionCall","src":"320468:15:22"}],"functionName":{"name":"iszero","nativeSrc":"320461:6:22","nodeType":"YulIdentifier","src":"320461:6:22"},"nativeSrc":"320461:23:22","nodeType":"YulFunctionCall","src":"320461:23:22"},"nativeSrc":"320458:36:22","nodeType":"YulIf","src":"320458:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"320413:6:22","nodeType":"YulIdentifier","src":"320413:6:22"},{"kind":"number","nativeSrc":"320421:4:22","nodeType":"YulLiteral","src":"320421:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"320410:2:22","nodeType":"YulIdentifier","src":"320410:2:22"},"nativeSrc":"320410:16:22","nodeType":"YulFunctionCall","src":"320410:16:22"},"nativeSrc":"320403:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"320427:28:22","nodeType":"YulBlock","src":"320427:28:22","statements":[{"nativeSrc":"320429:24:22","nodeType":"YulAssignment","src":"320429:24:22","value":{"arguments":[{"name":"length","nativeSrc":"320443:6:22","nodeType":"YulIdentifier","src":"320443:6:22"},{"kind":"number","nativeSrc":"320451:1:22","nodeType":"YulLiteral","src":"320451:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"320439:3:22","nodeType":"YulIdentifier","src":"320439:3:22"},"nativeSrc":"320439:14:22","nodeType":"YulFunctionCall","src":"320439:14:22"},"variableNames":[{"name":"length","nativeSrc":"320429:6:22","nodeType":"YulIdentifier","src":"320429:6:22"}]}]},"pre":{"nativeSrc":"320407:2:22","nodeType":"YulBlock","src":"320407:2:22","statements":[]},"src":"320403:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"320520:3:22","nodeType":"YulIdentifier","src":"320520:3:22"},{"name":"length","nativeSrc":"320525:6:22","nodeType":"YulIdentifier","src":"320525:6:22"}],"functionName":{"name":"mstore","nativeSrc":"320513:6:22","nodeType":"YulIdentifier","src":"320513:6:22"},"nativeSrc":"320513:19:22","nodeType":"YulFunctionCall","src":"320513:19:22"},"nativeSrc":"320513:19:22","nodeType":"YulExpressionStatement","src":"320513:19:22"},{"nativeSrc":"320549:37:22","nodeType":"YulVariableDeclaration","src":"320549:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"320566:3:22","nodeType":"YulLiteral","src":"320566:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"320575:1:22","nodeType":"YulLiteral","src":"320575:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"320578:6:22","nodeType":"YulIdentifier","src":"320578:6:22"}],"functionName":{"name":"shl","nativeSrc":"320571:3:22","nodeType":"YulIdentifier","src":"320571:3:22"},"nativeSrc":"320571:14:22","nodeType":"YulFunctionCall","src":"320571:14:22"}],"functionName":{"name":"sub","nativeSrc":"320562:3:22","nodeType":"YulIdentifier","src":"320562:3:22"},"nativeSrc":"320562:24:22","nodeType":"YulFunctionCall","src":"320562:24:22"},"variables":[{"name":"shift","nativeSrc":"320553:5:22","nodeType":"YulTypedName","src":"320553:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"320614:3:22","nodeType":"YulIdentifier","src":"320614:3:22"},{"kind":"number","nativeSrc":"320619:4:22","nodeType":"YulLiteral","src":"320619:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"320610:3:22","nodeType":"YulIdentifier","src":"320610:3:22"},"nativeSrc":"320610:14:22","nodeType":"YulFunctionCall","src":"320610:14:22"},{"arguments":[{"name":"shift","nativeSrc":"320630:5:22","nodeType":"YulIdentifier","src":"320630:5:22"},{"arguments":[{"name":"shift","nativeSrc":"320641:5:22","nodeType":"YulIdentifier","src":"320641:5:22"},{"name":"w","nativeSrc":"320648:1:22","nodeType":"YulIdentifier","src":"320648:1:22"}],"functionName":{"name":"shr","nativeSrc":"320637:3:22","nodeType":"YulIdentifier","src":"320637:3:22"},"nativeSrc":"320637:13:22","nodeType":"YulFunctionCall","src":"320637:13:22"}],"functionName":{"name":"shl","nativeSrc":"320626:3:22","nodeType":"YulIdentifier","src":"320626:3:22"},"nativeSrc":"320626:25:22","nodeType":"YulFunctionCall","src":"320626:25:22"}],"functionName":{"name":"mstore","nativeSrc":"320603:6:22","nodeType":"YulIdentifier","src":"320603:6:22"},"nativeSrc":"320603:49:22","nodeType":"YulFunctionCall","src":"320603:49:22"},"nativeSrc":"320603:49:22","nodeType":"YulExpressionStatement","src":"320603:49:22"}]},"name":"writeString","nativeSrc":"320324:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"320345:3:22","nodeType":"YulTypedName","src":"320345:3:22","type":""},{"name":"w","nativeSrc":"320350:1:22","nodeType":"YulTypedName","src":"320350:1:22","type":""}],"src":"320324:342:22"},{"nativeSrc":"320679:17:22","nodeType":"YulAssignment","src":"320679:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320691:4:22","nodeType":"YulLiteral","src":"320691:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"320685:5:22","nodeType":"YulIdentifier","src":"320685:5:22"},"nativeSrc":"320685:11:22","nodeType":"YulFunctionCall","src":"320685:11:22"},"variableNames":[{"name":"m0","nativeSrc":"320679:2:22","nodeType":"YulIdentifier","src":"320679:2:22"}]},{"nativeSrc":"320709:17:22","nodeType":"YulAssignment","src":"320709:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320721:4:22","nodeType":"YulLiteral","src":"320721:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"320715:5:22","nodeType":"YulIdentifier","src":"320715:5:22"},"nativeSrc":"320715:11:22","nodeType":"YulFunctionCall","src":"320715:11:22"},"variableNames":[{"name":"m1","nativeSrc":"320709:2:22","nodeType":"YulIdentifier","src":"320709:2:22"}]},{"nativeSrc":"320739:17:22","nodeType":"YulAssignment","src":"320739:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320751:4:22","nodeType":"YulLiteral","src":"320751:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"320745:5:22","nodeType":"YulIdentifier","src":"320745:5:22"},"nativeSrc":"320745:11:22","nodeType":"YulFunctionCall","src":"320745:11:22"},"variableNames":[{"name":"m2","nativeSrc":"320739:2:22","nodeType":"YulIdentifier","src":"320739:2:22"}]},{"nativeSrc":"320769:17:22","nodeType":"YulAssignment","src":"320769:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320781:4:22","nodeType":"YulLiteral","src":"320781:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"320775:5:22","nodeType":"YulIdentifier","src":"320775:5:22"},"nativeSrc":"320775:11:22","nodeType":"YulFunctionCall","src":"320775:11:22"},"variableNames":[{"name":"m3","nativeSrc":"320769:2:22","nodeType":"YulIdentifier","src":"320769:2:22"}]},{"nativeSrc":"320799:17:22","nodeType":"YulAssignment","src":"320799:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320811:4:22","nodeType":"YulLiteral","src":"320811:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"320805:5:22","nodeType":"YulIdentifier","src":"320805:5:22"},"nativeSrc":"320805:11:22","nodeType":"YulFunctionCall","src":"320805:11:22"},"variableNames":[{"name":"m4","nativeSrc":"320799:2:22","nodeType":"YulIdentifier","src":"320799:2:22"}]},{"nativeSrc":"320829:17:22","nodeType":"YulAssignment","src":"320829:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320841:4:22","nodeType":"YulLiteral","src":"320841:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"320835:5:22","nodeType":"YulIdentifier","src":"320835:5:22"},"nativeSrc":"320835:11:22","nodeType":"YulFunctionCall","src":"320835:11:22"},"variableNames":[{"name":"m5","nativeSrc":"320829:2:22","nodeType":"YulIdentifier","src":"320829:2:22"}]},{"nativeSrc":"320859:17:22","nodeType":"YulAssignment","src":"320859:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320871:4:22","nodeType":"YulLiteral","src":"320871:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"320865:5:22","nodeType":"YulIdentifier","src":"320865:5:22"},"nativeSrc":"320865:11:22","nodeType":"YulFunctionCall","src":"320865:11:22"},"variableNames":[{"name":"m6","nativeSrc":"320859:2:22","nodeType":"YulIdentifier","src":"320859:2:22"}]},{"nativeSrc":"320889:17:22","nodeType":"YulAssignment","src":"320889:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"320901:4:22","nodeType":"YulLiteral","src":"320901:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"320895:5:22","nodeType":"YulIdentifier","src":"320895:5:22"},"nativeSrc":"320895:11:22","nodeType":"YulFunctionCall","src":"320895:11:22"},"variableNames":[{"name":"m7","nativeSrc":"320889:2:22","nodeType":"YulIdentifier","src":"320889:2:22"}]},{"nativeSrc":"320919:18:22","nodeType":"YulAssignment","src":"320919:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"320931:5:22","nodeType":"YulLiteral","src":"320931:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"320925:5:22","nodeType":"YulIdentifier","src":"320925:5:22"},"nativeSrc":"320925:12:22","nodeType":"YulFunctionCall","src":"320925:12:22"},"variableNames":[{"name":"m8","nativeSrc":"320919:2:22","nodeType":"YulIdentifier","src":"320919:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321022:4:22","nodeType":"YulLiteral","src":"321022:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"321028:10:22","nodeType":"YulLiteral","src":"321028:10:22","type":"","value":"0xd583c602"}],"functionName":{"name":"mstore","nativeSrc":"321015:6:22","nodeType":"YulIdentifier","src":"321015:6:22"},"nativeSrc":"321015:24:22","nodeType":"YulFunctionCall","src":"321015:24:22"},"nativeSrc":"321015:24:22","nodeType":"YulExpressionStatement","src":"321015:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321059:4:22","nodeType":"YulLiteral","src":"321059:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"321065:2:22","nodeType":"YulIdentifier","src":"321065:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321052:6:22","nodeType":"YulIdentifier","src":"321052:6:22"},"nativeSrc":"321052:16:22","nodeType":"YulFunctionCall","src":"321052:16:22"},"nativeSrc":"321052:16:22","nodeType":"YulExpressionStatement","src":"321052:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321088:4:22","nodeType":"YulLiteral","src":"321088:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"321094:4:22","nodeType":"YulLiteral","src":"321094:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"321081:6:22","nodeType":"YulIdentifier","src":"321081:6:22"},"nativeSrc":"321081:18:22","nodeType":"YulFunctionCall","src":"321081:18:22"},"nativeSrc":"321081:18:22","nodeType":"YulExpressionStatement","src":"321081:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321119:4:22","nodeType":"YulLiteral","src":"321119:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"321125:4:22","nodeType":"YulLiteral","src":"321125:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"321112:6:22","nodeType":"YulIdentifier","src":"321112:6:22"},"nativeSrc":"321112:18:22","nodeType":"YulFunctionCall","src":"321112:18:22"},"nativeSrc":"321112:18:22","nodeType":"YulExpressionStatement","src":"321112:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321150:4:22","nodeType":"YulLiteral","src":"321150:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"321156:2:22","nodeType":"YulIdentifier","src":"321156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321143:6:22","nodeType":"YulIdentifier","src":"321143:6:22"},"nativeSrc":"321143:16:22","nodeType":"YulFunctionCall","src":"321143:16:22"},"nativeSrc":"321143:16:22","nodeType":"YulExpressionStatement","src":"321143:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321184:4:22","nodeType":"YulLiteral","src":"321184:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"321190:2:22","nodeType":"YulIdentifier","src":"321190:2:22"}],"functionName":{"name":"writeString","nativeSrc":"321172:11:22","nodeType":"YulIdentifier","src":"321172:11:22"},"nativeSrc":"321172:21:22","nodeType":"YulFunctionCall","src":"321172:21:22"},"nativeSrc":"321172:21:22","nodeType":"YulExpressionStatement","src":"321172:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321218:4:22","nodeType":"YulLiteral","src":"321218:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"321224:2:22","nodeType":"YulIdentifier","src":"321224:2:22"}],"functionName":{"name":"writeString","nativeSrc":"321206:11:22","nodeType":"YulIdentifier","src":"321206:11:22"},"nativeSrc":"321206:21:22","nodeType":"YulFunctionCall","src":"321206:21:22"},"nativeSrc":"321206:21:22","nodeType":"YulExpressionStatement","src":"321206:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41399,"isOffset":false,"isSlot":false,"src":"320679:2:22","valueSize":1},{"declaration":41402,"isOffset":false,"isSlot":false,"src":"320709:2:22","valueSize":1},{"declaration":41405,"isOffset":false,"isSlot":false,"src":"320739:2:22","valueSize":1},{"declaration":41408,"isOffset":false,"isSlot":false,"src":"320769:2:22","valueSize":1},{"declaration":41411,"isOffset":false,"isSlot":false,"src":"320799:2:22","valueSize":1},{"declaration":41414,"isOffset":false,"isSlot":false,"src":"320829:2:22","valueSize":1},{"declaration":41417,"isOffset":false,"isSlot":false,"src":"320859:2:22","valueSize":1},{"declaration":41420,"isOffset":false,"isSlot":false,"src":"320889:2:22","valueSize":1},{"declaration":41423,"isOffset":false,"isSlot":false,"src":"320919:2:22","valueSize":1},{"declaration":41389,"isOffset":false,"isSlot":false,"src":"321065:2:22","valueSize":1},{"declaration":41391,"isOffset":false,"isSlot":false,"src":"321190:2:22","valueSize":1},{"declaration":41393,"isOffset":false,"isSlot":false,"src":"321224:2:22","valueSize":1},{"declaration":41395,"isOffset":false,"isSlot":false,"src":"321156:2:22","valueSize":1}],"id":41425,"nodeType":"InlineAssembly","src":"320301:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321262:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321268:5:22","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":41426,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"321246:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"321246:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41430,"nodeType":"ExpressionStatement","src":"321246:28:22"},{"AST":{"nativeSrc":"321336:273:22","nodeType":"YulBlock","src":"321336:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"321357:4:22","nodeType":"YulLiteral","src":"321357:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"321363:2:22","nodeType":"YulIdentifier","src":"321363:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321350:6:22","nodeType":"YulIdentifier","src":"321350:6:22"},"nativeSrc":"321350:16:22","nodeType":"YulFunctionCall","src":"321350:16:22"},"nativeSrc":"321350:16:22","nodeType":"YulExpressionStatement","src":"321350:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321386:4:22","nodeType":"YulLiteral","src":"321386:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"321392:2:22","nodeType":"YulIdentifier","src":"321392:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321379:6:22","nodeType":"YulIdentifier","src":"321379:6:22"},"nativeSrc":"321379:16:22","nodeType":"YulFunctionCall","src":"321379:16:22"},"nativeSrc":"321379:16:22","nodeType":"YulExpressionStatement","src":"321379:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321415:4:22","nodeType":"YulLiteral","src":"321415:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"321421:2:22","nodeType":"YulIdentifier","src":"321421:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321408:6:22","nodeType":"YulIdentifier","src":"321408:6:22"},"nativeSrc":"321408:16:22","nodeType":"YulFunctionCall","src":"321408:16:22"},"nativeSrc":"321408:16:22","nodeType":"YulExpressionStatement","src":"321408:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321444:4:22","nodeType":"YulLiteral","src":"321444:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"321450:2:22","nodeType":"YulIdentifier","src":"321450:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321437:6:22","nodeType":"YulIdentifier","src":"321437:6:22"},"nativeSrc":"321437:16:22","nodeType":"YulFunctionCall","src":"321437:16:22"},"nativeSrc":"321437:16:22","nodeType":"YulExpressionStatement","src":"321437:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321473:4:22","nodeType":"YulLiteral","src":"321473:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"321479:2:22","nodeType":"YulIdentifier","src":"321479:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321466:6:22","nodeType":"YulIdentifier","src":"321466:6:22"},"nativeSrc":"321466:16:22","nodeType":"YulFunctionCall","src":"321466:16:22"},"nativeSrc":"321466:16:22","nodeType":"YulExpressionStatement","src":"321466:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321502:4:22","nodeType":"YulLiteral","src":"321502:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"321508:2:22","nodeType":"YulIdentifier","src":"321508:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321495:6:22","nodeType":"YulIdentifier","src":"321495:6:22"},"nativeSrc":"321495:16:22","nodeType":"YulFunctionCall","src":"321495:16:22"},"nativeSrc":"321495:16:22","nodeType":"YulExpressionStatement","src":"321495:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321531:4:22","nodeType":"YulLiteral","src":"321531:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"321537:2:22","nodeType":"YulIdentifier","src":"321537:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321524:6:22","nodeType":"YulIdentifier","src":"321524:6:22"},"nativeSrc":"321524:16:22","nodeType":"YulFunctionCall","src":"321524:16:22"},"nativeSrc":"321524:16:22","nodeType":"YulExpressionStatement","src":"321524:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321560:4:22","nodeType":"YulLiteral","src":"321560:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"321566:2:22","nodeType":"YulIdentifier","src":"321566:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321553:6:22","nodeType":"YulIdentifier","src":"321553:6:22"},"nativeSrc":"321553:16:22","nodeType":"YulFunctionCall","src":"321553:16:22"},"nativeSrc":"321553:16:22","nodeType":"YulExpressionStatement","src":"321553:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321589:5:22","nodeType":"YulLiteral","src":"321589:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"321596:2:22","nodeType":"YulIdentifier","src":"321596:2:22"}],"functionName":{"name":"mstore","nativeSrc":"321582:6:22","nodeType":"YulIdentifier","src":"321582:6:22"},"nativeSrc":"321582:17:22","nodeType":"YulFunctionCall","src":"321582:17:22"},"nativeSrc":"321582:17:22","nodeType":"YulExpressionStatement","src":"321582:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41399,"isOffset":false,"isSlot":false,"src":"321363:2:22","valueSize":1},{"declaration":41402,"isOffset":false,"isSlot":false,"src":"321392:2:22","valueSize":1},{"declaration":41405,"isOffset":false,"isSlot":false,"src":"321421:2:22","valueSize":1},{"declaration":41408,"isOffset":false,"isSlot":false,"src":"321450:2:22","valueSize":1},{"declaration":41411,"isOffset":false,"isSlot":false,"src":"321479:2:22","valueSize":1},{"declaration":41414,"isOffset":false,"isSlot":false,"src":"321508:2:22","valueSize":1},{"declaration":41417,"isOffset":false,"isSlot":false,"src":"321537:2:22","valueSize":1},{"declaration":41420,"isOffset":false,"isSlot":false,"src":"321566:2:22","valueSize":1},{"declaration":41423,"isOffset":false,"isSlot":false,"src":"321596:2:22","valueSize":1}],"id":41431,"nodeType":"InlineAssembly","src":"321327:282:22"}]},"id":41433,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"320002:3:22","nodeType":"FunctionDefinition","parameters":{"id":41396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41389,"mutability":"mutable","name":"p0","nameLocation":"320014:2:22","nodeType":"VariableDeclaration","scope":41433,"src":"320006:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41388,"name":"uint256","nodeType":"ElementaryTypeName","src":"320006:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41391,"mutability":"mutable","name":"p1","nameLocation":"320026:2:22","nodeType":"VariableDeclaration","scope":41433,"src":"320018:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320018:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41393,"mutability":"mutable","name":"p2","nameLocation":"320038:2:22","nodeType":"VariableDeclaration","scope":41433,"src":"320030:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320030:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41395,"mutability":"mutable","name":"p3","nameLocation":"320050:2:22","nodeType":"VariableDeclaration","scope":41433,"src":"320042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41394,"name":"address","nodeType":"ElementaryTypeName","src":"320042:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"320005:48:22"},"returnParameters":{"id":41397,"nodeType":"ParameterList","parameters":[],"src":"320068:0:22"},"scope":44426,"src":"319993:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41478,"nodeType":"Block","src":"321693:1544:22","statements":[{"assignments":[41445],"declarations":[{"constant":false,"id":41445,"mutability":"mutable","name":"m0","nameLocation":"321711:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321703:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321703:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41446,"nodeType":"VariableDeclarationStatement","src":"321703:10:22"},{"assignments":[41448],"declarations":[{"constant":false,"id":41448,"mutability":"mutable","name":"m1","nameLocation":"321731:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321723:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321723:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41449,"nodeType":"VariableDeclarationStatement","src":"321723:10:22"},{"assignments":[41451],"declarations":[{"constant":false,"id":41451,"mutability":"mutable","name":"m2","nameLocation":"321751:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321743:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321743:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41452,"nodeType":"VariableDeclarationStatement","src":"321743:10:22"},{"assignments":[41454],"declarations":[{"constant":false,"id":41454,"mutability":"mutable","name":"m3","nameLocation":"321771:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321763:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321763:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41455,"nodeType":"VariableDeclarationStatement","src":"321763:10:22"},{"assignments":[41457],"declarations":[{"constant":false,"id":41457,"mutability":"mutable","name":"m4","nameLocation":"321791:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321783:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321783:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41458,"nodeType":"VariableDeclarationStatement","src":"321783:10:22"},{"assignments":[41460],"declarations":[{"constant":false,"id":41460,"mutability":"mutable","name":"m5","nameLocation":"321811:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321803:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321803:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41461,"nodeType":"VariableDeclarationStatement","src":"321803:10:22"},{"assignments":[41463],"declarations":[{"constant":false,"id":41463,"mutability":"mutable","name":"m6","nameLocation":"321831:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321823:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321823:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41464,"nodeType":"VariableDeclarationStatement","src":"321823:10:22"},{"assignments":[41466],"declarations":[{"constant":false,"id":41466,"mutability":"mutable","name":"m7","nameLocation":"321851:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321843:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321843:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41467,"nodeType":"VariableDeclarationStatement","src":"321843:10:22"},{"assignments":[41469],"declarations":[{"constant":false,"id":41469,"mutability":"mutable","name":"m8","nameLocation":"321871:2:22","nodeType":"VariableDeclaration","scope":41478,"src":"321863:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321863:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41470,"nodeType":"VariableDeclarationStatement","src":"321863:10:22"},{"AST":{"nativeSrc":"321935:924:22","nodeType":"YulBlock","src":"321935:924:22","statements":[{"body":{"nativeSrc":"321978:313:22","nodeType":"YulBlock","src":"321978:313:22","statements":[{"nativeSrc":"321996:15:22","nodeType":"YulVariableDeclaration","src":"321996:15:22","value":{"kind":"number","nativeSrc":"322010:1:22","nodeType":"YulLiteral","src":"322010:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"322000:6:22","nodeType":"YulTypedName","src":"322000:6:22","type":""}]},{"body":{"nativeSrc":"322081:40:22","nodeType":"YulBlock","src":"322081:40:22","statements":[{"body":{"nativeSrc":"322110:9:22","nodeType":"YulBlock","src":"322110:9:22","statements":[{"nativeSrc":"322112:5:22","nodeType":"YulBreak","src":"322112:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"322098:6:22","nodeType":"YulIdentifier","src":"322098:6:22"},{"name":"w","nativeSrc":"322106:1:22","nodeType":"YulIdentifier","src":"322106:1:22"}],"functionName":{"name":"byte","nativeSrc":"322093:4:22","nodeType":"YulIdentifier","src":"322093:4:22"},"nativeSrc":"322093:15:22","nodeType":"YulFunctionCall","src":"322093:15:22"}],"functionName":{"name":"iszero","nativeSrc":"322086:6:22","nodeType":"YulIdentifier","src":"322086:6:22"},"nativeSrc":"322086:23:22","nodeType":"YulFunctionCall","src":"322086:23:22"},"nativeSrc":"322083:36:22","nodeType":"YulIf","src":"322083:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"322038:6:22","nodeType":"YulIdentifier","src":"322038:6:22"},{"kind":"number","nativeSrc":"322046:4:22","nodeType":"YulLiteral","src":"322046:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"322035:2:22","nodeType":"YulIdentifier","src":"322035:2:22"},"nativeSrc":"322035:16:22","nodeType":"YulFunctionCall","src":"322035:16:22"},"nativeSrc":"322028:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"322052:28:22","nodeType":"YulBlock","src":"322052:28:22","statements":[{"nativeSrc":"322054:24:22","nodeType":"YulAssignment","src":"322054:24:22","value":{"arguments":[{"name":"length","nativeSrc":"322068:6:22","nodeType":"YulIdentifier","src":"322068:6:22"},{"kind":"number","nativeSrc":"322076:1:22","nodeType":"YulLiteral","src":"322076:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"322064:3:22","nodeType":"YulIdentifier","src":"322064:3:22"},"nativeSrc":"322064:14:22","nodeType":"YulFunctionCall","src":"322064:14:22"},"variableNames":[{"name":"length","nativeSrc":"322054:6:22","nodeType":"YulIdentifier","src":"322054:6:22"}]}]},"pre":{"nativeSrc":"322032:2:22","nodeType":"YulBlock","src":"322032:2:22","statements":[]},"src":"322028:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"322145:3:22","nodeType":"YulIdentifier","src":"322145:3:22"},{"name":"length","nativeSrc":"322150:6:22","nodeType":"YulIdentifier","src":"322150:6:22"}],"functionName":{"name":"mstore","nativeSrc":"322138:6:22","nodeType":"YulIdentifier","src":"322138:6:22"},"nativeSrc":"322138:19:22","nodeType":"YulFunctionCall","src":"322138:19:22"},"nativeSrc":"322138:19:22","nodeType":"YulExpressionStatement","src":"322138:19:22"},{"nativeSrc":"322174:37:22","nodeType":"YulVariableDeclaration","src":"322174:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"322191:3:22","nodeType":"YulLiteral","src":"322191:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"322200:1:22","nodeType":"YulLiteral","src":"322200:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"322203:6:22","nodeType":"YulIdentifier","src":"322203:6:22"}],"functionName":{"name":"shl","nativeSrc":"322196:3:22","nodeType":"YulIdentifier","src":"322196:3:22"},"nativeSrc":"322196:14:22","nodeType":"YulFunctionCall","src":"322196:14:22"}],"functionName":{"name":"sub","nativeSrc":"322187:3:22","nodeType":"YulIdentifier","src":"322187:3:22"},"nativeSrc":"322187:24:22","nodeType":"YulFunctionCall","src":"322187:24:22"},"variables":[{"name":"shift","nativeSrc":"322178:5:22","nodeType":"YulTypedName","src":"322178:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"322239:3:22","nodeType":"YulIdentifier","src":"322239:3:22"},{"kind":"number","nativeSrc":"322244:4:22","nodeType":"YulLiteral","src":"322244:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"322235:3:22","nodeType":"YulIdentifier","src":"322235:3:22"},"nativeSrc":"322235:14:22","nodeType":"YulFunctionCall","src":"322235:14:22"},{"arguments":[{"name":"shift","nativeSrc":"322255:5:22","nodeType":"YulIdentifier","src":"322255:5:22"},{"arguments":[{"name":"shift","nativeSrc":"322266:5:22","nodeType":"YulIdentifier","src":"322266:5:22"},{"name":"w","nativeSrc":"322273:1:22","nodeType":"YulIdentifier","src":"322273:1:22"}],"functionName":{"name":"shr","nativeSrc":"322262:3:22","nodeType":"YulIdentifier","src":"322262:3:22"},"nativeSrc":"322262:13:22","nodeType":"YulFunctionCall","src":"322262:13:22"}],"functionName":{"name":"shl","nativeSrc":"322251:3:22","nodeType":"YulIdentifier","src":"322251:3:22"},"nativeSrc":"322251:25:22","nodeType":"YulFunctionCall","src":"322251:25:22"}],"functionName":{"name":"mstore","nativeSrc":"322228:6:22","nodeType":"YulIdentifier","src":"322228:6:22"},"nativeSrc":"322228:49:22","nodeType":"YulFunctionCall","src":"322228:49:22"},"nativeSrc":"322228:49:22","nodeType":"YulExpressionStatement","src":"322228:49:22"}]},"name":"writeString","nativeSrc":"321949:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"321970:3:22","nodeType":"YulTypedName","src":"321970:3:22","type":""},{"name":"w","nativeSrc":"321975:1:22","nodeType":"YulTypedName","src":"321975:1:22","type":""}],"src":"321949:342:22"},{"nativeSrc":"322304:17:22","nodeType":"YulAssignment","src":"322304:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322316:4:22","nodeType":"YulLiteral","src":"322316:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"322310:5:22","nodeType":"YulIdentifier","src":"322310:5:22"},"nativeSrc":"322310:11:22","nodeType":"YulFunctionCall","src":"322310:11:22"},"variableNames":[{"name":"m0","nativeSrc":"322304:2:22","nodeType":"YulIdentifier","src":"322304:2:22"}]},{"nativeSrc":"322334:17:22","nodeType":"YulAssignment","src":"322334:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322346:4:22","nodeType":"YulLiteral","src":"322346:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"322340:5:22","nodeType":"YulIdentifier","src":"322340:5:22"},"nativeSrc":"322340:11:22","nodeType":"YulFunctionCall","src":"322340:11:22"},"variableNames":[{"name":"m1","nativeSrc":"322334:2:22","nodeType":"YulIdentifier","src":"322334:2:22"}]},{"nativeSrc":"322364:17:22","nodeType":"YulAssignment","src":"322364:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322376:4:22","nodeType":"YulLiteral","src":"322376:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"322370:5:22","nodeType":"YulIdentifier","src":"322370:5:22"},"nativeSrc":"322370:11:22","nodeType":"YulFunctionCall","src":"322370:11:22"},"variableNames":[{"name":"m2","nativeSrc":"322364:2:22","nodeType":"YulIdentifier","src":"322364:2:22"}]},{"nativeSrc":"322394:17:22","nodeType":"YulAssignment","src":"322394:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322406:4:22","nodeType":"YulLiteral","src":"322406:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"322400:5:22","nodeType":"YulIdentifier","src":"322400:5:22"},"nativeSrc":"322400:11:22","nodeType":"YulFunctionCall","src":"322400:11:22"},"variableNames":[{"name":"m3","nativeSrc":"322394:2:22","nodeType":"YulIdentifier","src":"322394:2:22"}]},{"nativeSrc":"322424:17:22","nodeType":"YulAssignment","src":"322424:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322436:4:22","nodeType":"YulLiteral","src":"322436:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"322430:5:22","nodeType":"YulIdentifier","src":"322430:5:22"},"nativeSrc":"322430:11:22","nodeType":"YulFunctionCall","src":"322430:11:22"},"variableNames":[{"name":"m4","nativeSrc":"322424:2:22","nodeType":"YulIdentifier","src":"322424:2:22"}]},{"nativeSrc":"322454:17:22","nodeType":"YulAssignment","src":"322454:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322466:4:22","nodeType":"YulLiteral","src":"322466:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"322460:5:22","nodeType":"YulIdentifier","src":"322460:5:22"},"nativeSrc":"322460:11:22","nodeType":"YulFunctionCall","src":"322460:11:22"},"variableNames":[{"name":"m5","nativeSrc":"322454:2:22","nodeType":"YulIdentifier","src":"322454:2:22"}]},{"nativeSrc":"322484:17:22","nodeType":"YulAssignment","src":"322484:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322496:4:22","nodeType":"YulLiteral","src":"322496:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"322490:5:22","nodeType":"YulIdentifier","src":"322490:5:22"},"nativeSrc":"322490:11:22","nodeType":"YulFunctionCall","src":"322490:11:22"},"variableNames":[{"name":"m6","nativeSrc":"322484:2:22","nodeType":"YulIdentifier","src":"322484:2:22"}]},{"nativeSrc":"322514:17:22","nodeType":"YulAssignment","src":"322514:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"322526:4:22","nodeType":"YulLiteral","src":"322526:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"322520:5:22","nodeType":"YulIdentifier","src":"322520:5:22"},"nativeSrc":"322520:11:22","nodeType":"YulFunctionCall","src":"322520:11:22"},"variableNames":[{"name":"m7","nativeSrc":"322514:2:22","nodeType":"YulIdentifier","src":"322514:2:22"}]},{"nativeSrc":"322544:18:22","nodeType":"YulAssignment","src":"322544:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"322556:5:22","nodeType":"YulLiteral","src":"322556:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"322550:5:22","nodeType":"YulIdentifier","src":"322550:5:22"},"nativeSrc":"322550:12:22","nodeType":"YulFunctionCall","src":"322550:12:22"},"variableNames":[{"name":"m8","nativeSrc":"322544:2:22","nodeType":"YulIdentifier","src":"322544:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322644:4:22","nodeType":"YulLiteral","src":"322644:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"322650:10:22","nodeType":"YulLiteral","src":"322650:10:22","type":"","value":"0xb3a6b6bd"}],"functionName":{"name":"mstore","nativeSrc":"322637:6:22","nodeType":"YulIdentifier","src":"322637:6:22"},"nativeSrc":"322637:24:22","nodeType":"YulFunctionCall","src":"322637:24:22"},"nativeSrc":"322637:24:22","nodeType":"YulExpressionStatement","src":"322637:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322681:4:22","nodeType":"YulLiteral","src":"322681:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"322687:2:22","nodeType":"YulIdentifier","src":"322687:2:22"}],"functionName":{"name":"mstore","nativeSrc":"322674:6:22","nodeType":"YulIdentifier","src":"322674:6:22"},"nativeSrc":"322674:16:22","nodeType":"YulFunctionCall","src":"322674:16:22"},"nativeSrc":"322674:16:22","nodeType":"YulExpressionStatement","src":"322674:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322710:4:22","nodeType":"YulLiteral","src":"322710:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"322716:4:22","nodeType":"YulLiteral","src":"322716:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"322703:6:22","nodeType":"YulIdentifier","src":"322703:6:22"},"nativeSrc":"322703:18:22","nodeType":"YulFunctionCall","src":"322703:18:22"},"nativeSrc":"322703:18:22","nodeType":"YulExpressionStatement","src":"322703:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322741:4:22","nodeType":"YulLiteral","src":"322741:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"322747:4:22","nodeType":"YulLiteral","src":"322747:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"322734:6:22","nodeType":"YulIdentifier","src":"322734:6:22"},"nativeSrc":"322734:18:22","nodeType":"YulFunctionCall","src":"322734:18:22"},"nativeSrc":"322734:18:22","nodeType":"YulExpressionStatement","src":"322734:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322772:4:22","nodeType":"YulLiteral","src":"322772:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"322778:2:22","nodeType":"YulIdentifier","src":"322778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"322765:6:22","nodeType":"YulIdentifier","src":"322765:6:22"},"nativeSrc":"322765:16:22","nodeType":"YulFunctionCall","src":"322765:16:22"},"nativeSrc":"322765:16:22","nodeType":"YulExpressionStatement","src":"322765:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322806:4:22","nodeType":"YulLiteral","src":"322806:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"322812:2:22","nodeType":"YulIdentifier","src":"322812:2:22"}],"functionName":{"name":"writeString","nativeSrc":"322794:11:22","nodeType":"YulIdentifier","src":"322794:11:22"},"nativeSrc":"322794:21:22","nodeType":"YulFunctionCall","src":"322794:21:22"},"nativeSrc":"322794:21:22","nodeType":"YulExpressionStatement","src":"322794:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322840:4:22","nodeType":"YulLiteral","src":"322840:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"322846:2:22","nodeType":"YulIdentifier","src":"322846:2:22"}],"functionName":{"name":"writeString","nativeSrc":"322828:11:22","nodeType":"YulIdentifier","src":"322828:11:22"},"nativeSrc":"322828:21:22","nodeType":"YulFunctionCall","src":"322828:21:22"},"nativeSrc":"322828:21:22","nodeType":"YulExpressionStatement","src":"322828:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41445,"isOffset":false,"isSlot":false,"src":"322304:2:22","valueSize":1},{"declaration":41448,"isOffset":false,"isSlot":false,"src":"322334:2:22","valueSize":1},{"declaration":41451,"isOffset":false,"isSlot":false,"src":"322364:2:22","valueSize":1},{"declaration":41454,"isOffset":false,"isSlot":false,"src":"322394:2:22","valueSize":1},{"declaration":41457,"isOffset":false,"isSlot":false,"src":"322424:2:22","valueSize":1},{"declaration":41460,"isOffset":false,"isSlot":false,"src":"322454:2:22","valueSize":1},{"declaration":41463,"isOffset":false,"isSlot":false,"src":"322484:2:22","valueSize":1},{"declaration":41466,"isOffset":false,"isSlot":false,"src":"322514:2:22","valueSize":1},{"declaration":41469,"isOffset":false,"isSlot":false,"src":"322544:2:22","valueSize":1},{"declaration":41435,"isOffset":false,"isSlot":false,"src":"322687:2:22","valueSize":1},{"declaration":41437,"isOffset":false,"isSlot":false,"src":"322812:2:22","valueSize":1},{"declaration":41439,"isOffset":false,"isSlot":false,"src":"322846:2:22","valueSize":1},{"declaration":41441,"isOffset":false,"isSlot":false,"src":"322778:2:22","valueSize":1}],"id":41471,"nodeType":"InlineAssembly","src":"321926:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322884:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322890:5:22","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":41472,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"322868:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"322868:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41476,"nodeType":"ExpressionStatement","src":"322868:28:22"},{"AST":{"nativeSrc":"322958:273:22","nodeType":"YulBlock","src":"322958:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"322979:4:22","nodeType":"YulLiteral","src":"322979:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"322985:2:22","nodeType":"YulIdentifier","src":"322985:2:22"}],"functionName":{"name":"mstore","nativeSrc":"322972:6:22","nodeType":"YulIdentifier","src":"322972:6:22"},"nativeSrc":"322972:16:22","nodeType":"YulFunctionCall","src":"322972:16:22"},"nativeSrc":"322972:16:22","nodeType":"YulExpressionStatement","src":"322972:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323008:4:22","nodeType":"YulLiteral","src":"323008:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"323014:2:22","nodeType":"YulIdentifier","src":"323014:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323001:6:22","nodeType":"YulIdentifier","src":"323001:6:22"},"nativeSrc":"323001:16:22","nodeType":"YulFunctionCall","src":"323001:16:22"},"nativeSrc":"323001:16:22","nodeType":"YulExpressionStatement","src":"323001:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323037:4:22","nodeType":"YulLiteral","src":"323037:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"323043:2:22","nodeType":"YulIdentifier","src":"323043:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323030:6:22","nodeType":"YulIdentifier","src":"323030:6:22"},"nativeSrc":"323030:16:22","nodeType":"YulFunctionCall","src":"323030:16:22"},"nativeSrc":"323030:16:22","nodeType":"YulExpressionStatement","src":"323030:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323066:4:22","nodeType":"YulLiteral","src":"323066:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"323072:2:22","nodeType":"YulIdentifier","src":"323072:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323059:6:22","nodeType":"YulIdentifier","src":"323059:6:22"},"nativeSrc":"323059:16:22","nodeType":"YulFunctionCall","src":"323059:16:22"},"nativeSrc":"323059:16:22","nodeType":"YulExpressionStatement","src":"323059:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323095:4:22","nodeType":"YulLiteral","src":"323095:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"323101:2:22","nodeType":"YulIdentifier","src":"323101:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323088:6:22","nodeType":"YulIdentifier","src":"323088:6:22"},"nativeSrc":"323088:16:22","nodeType":"YulFunctionCall","src":"323088:16:22"},"nativeSrc":"323088:16:22","nodeType":"YulExpressionStatement","src":"323088:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323124:4:22","nodeType":"YulLiteral","src":"323124:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"323130:2:22","nodeType":"YulIdentifier","src":"323130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323117:6:22","nodeType":"YulIdentifier","src":"323117:6:22"},"nativeSrc":"323117:16:22","nodeType":"YulFunctionCall","src":"323117:16:22"},"nativeSrc":"323117:16:22","nodeType":"YulExpressionStatement","src":"323117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323153:4:22","nodeType":"YulLiteral","src":"323153:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"323159:2:22","nodeType":"YulIdentifier","src":"323159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323146:6:22","nodeType":"YulIdentifier","src":"323146:6:22"},"nativeSrc":"323146:16:22","nodeType":"YulFunctionCall","src":"323146:16:22"},"nativeSrc":"323146:16:22","nodeType":"YulExpressionStatement","src":"323146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323182:4:22","nodeType":"YulLiteral","src":"323182:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"323188:2:22","nodeType":"YulIdentifier","src":"323188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323175:6:22","nodeType":"YulIdentifier","src":"323175:6:22"},"nativeSrc":"323175:16:22","nodeType":"YulFunctionCall","src":"323175:16:22"},"nativeSrc":"323175:16:22","nodeType":"YulExpressionStatement","src":"323175:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323211:5:22","nodeType":"YulLiteral","src":"323211:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"323218:2:22","nodeType":"YulIdentifier","src":"323218:2:22"}],"functionName":{"name":"mstore","nativeSrc":"323204:6:22","nodeType":"YulIdentifier","src":"323204:6:22"},"nativeSrc":"323204:17:22","nodeType":"YulFunctionCall","src":"323204:17:22"},"nativeSrc":"323204:17:22","nodeType":"YulExpressionStatement","src":"323204:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41445,"isOffset":false,"isSlot":false,"src":"322985:2:22","valueSize":1},{"declaration":41448,"isOffset":false,"isSlot":false,"src":"323014:2:22","valueSize":1},{"declaration":41451,"isOffset":false,"isSlot":false,"src":"323043:2:22","valueSize":1},{"declaration":41454,"isOffset":false,"isSlot":false,"src":"323072:2:22","valueSize":1},{"declaration":41457,"isOffset":false,"isSlot":false,"src":"323101:2:22","valueSize":1},{"declaration":41460,"isOffset":false,"isSlot":false,"src":"323130:2:22","valueSize":1},{"declaration":41463,"isOffset":false,"isSlot":false,"src":"323159:2:22","valueSize":1},{"declaration":41466,"isOffset":false,"isSlot":false,"src":"323188:2:22","valueSize":1},{"declaration":41469,"isOffset":false,"isSlot":false,"src":"323218:2:22","valueSize":1}],"id":41477,"nodeType":"InlineAssembly","src":"322949:282:22"}]},"id":41479,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"321630:3:22","nodeType":"FunctionDefinition","parameters":{"id":41442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41435,"mutability":"mutable","name":"p0","nameLocation":"321642:2:22","nodeType":"VariableDeclaration","scope":41479,"src":"321634:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41434,"name":"uint256","nodeType":"ElementaryTypeName","src":"321634:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41437,"mutability":"mutable","name":"p1","nameLocation":"321654:2:22","nodeType":"VariableDeclaration","scope":41479,"src":"321646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41436,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321646:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41439,"mutability":"mutable","name":"p2","nameLocation":"321666:2:22","nodeType":"VariableDeclaration","scope":41479,"src":"321658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41441,"mutability":"mutable","name":"p3","nameLocation":"321675:2:22","nodeType":"VariableDeclaration","scope":41479,"src":"321670:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41440,"name":"bool","nodeType":"ElementaryTypeName","src":"321670:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"321633:45:22"},"returnParameters":{"id":41443,"nodeType":"ParameterList","parameters":[],"src":"321693:0:22"},"scope":44426,"src":"321621:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41524,"nodeType":"Block","src":"323318:1547:22","statements":[{"assignments":[41491],"declarations":[{"constant":false,"id":41491,"mutability":"mutable","name":"m0","nameLocation":"323336:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323328:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323328:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41492,"nodeType":"VariableDeclarationStatement","src":"323328:10:22"},{"assignments":[41494],"declarations":[{"constant":false,"id":41494,"mutability":"mutable","name":"m1","nameLocation":"323356:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323348:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41495,"nodeType":"VariableDeclarationStatement","src":"323348:10:22"},{"assignments":[41497],"declarations":[{"constant":false,"id":41497,"mutability":"mutable","name":"m2","nameLocation":"323376:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323368:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323368:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41498,"nodeType":"VariableDeclarationStatement","src":"323368:10:22"},{"assignments":[41500],"declarations":[{"constant":false,"id":41500,"mutability":"mutable","name":"m3","nameLocation":"323396:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323388:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323388:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41501,"nodeType":"VariableDeclarationStatement","src":"323388:10:22"},{"assignments":[41503],"declarations":[{"constant":false,"id":41503,"mutability":"mutable","name":"m4","nameLocation":"323416:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323408:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41504,"nodeType":"VariableDeclarationStatement","src":"323408:10:22"},{"assignments":[41506],"declarations":[{"constant":false,"id":41506,"mutability":"mutable","name":"m5","nameLocation":"323436:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323428:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323428:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41507,"nodeType":"VariableDeclarationStatement","src":"323428:10:22"},{"assignments":[41509],"declarations":[{"constant":false,"id":41509,"mutability":"mutable","name":"m6","nameLocation":"323456:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323448:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323448:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41510,"nodeType":"VariableDeclarationStatement","src":"323448:10:22"},{"assignments":[41512],"declarations":[{"constant":false,"id":41512,"mutability":"mutable","name":"m7","nameLocation":"323476:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323468:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41513,"nodeType":"VariableDeclarationStatement","src":"323468:10:22"},{"assignments":[41515],"declarations":[{"constant":false,"id":41515,"mutability":"mutable","name":"m8","nameLocation":"323496:2:22","nodeType":"VariableDeclaration","scope":41524,"src":"323488:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323488:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41516,"nodeType":"VariableDeclarationStatement","src":"323488:10:22"},{"AST":{"nativeSrc":"323560:927:22","nodeType":"YulBlock","src":"323560:927:22","statements":[{"body":{"nativeSrc":"323603:313:22","nodeType":"YulBlock","src":"323603:313:22","statements":[{"nativeSrc":"323621:15:22","nodeType":"YulVariableDeclaration","src":"323621:15:22","value":{"kind":"number","nativeSrc":"323635:1:22","nodeType":"YulLiteral","src":"323635:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"323625:6:22","nodeType":"YulTypedName","src":"323625:6:22","type":""}]},{"body":{"nativeSrc":"323706:40:22","nodeType":"YulBlock","src":"323706:40:22","statements":[{"body":{"nativeSrc":"323735:9:22","nodeType":"YulBlock","src":"323735:9:22","statements":[{"nativeSrc":"323737:5:22","nodeType":"YulBreak","src":"323737:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"323723:6:22","nodeType":"YulIdentifier","src":"323723:6:22"},{"name":"w","nativeSrc":"323731:1:22","nodeType":"YulIdentifier","src":"323731:1:22"}],"functionName":{"name":"byte","nativeSrc":"323718:4:22","nodeType":"YulIdentifier","src":"323718:4:22"},"nativeSrc":"323718:15:22","nodeType":"YulFunctionCall","src":"323718:15:22"}],"functionName":{"name":"iszero","nativeSrc":"323711:6:22","nodeType":"YulIdentifier","src":"323711:6:22"},"nativeSrc":"323711:23:22","nodeType":"YulFunctionCall","src":"323711:23:22"},"nativeSrc":"323708:36:22","nodeType":"YulIf","src":"323708:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"323663:6:22","nodeType":"YulIdentifier","src":"323663:6:22"},{"kind":"number","nativeSrc":"323671:4:22","nodeType":"YulLiteral","src":"323671:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"323660:2:22","nodeType":"YulIdentifier","src":"323660:2:22"},"nativeSrc":"323660:16:22","nodeType":"YulFunctionCall","src":"323660:16:22"},"nativeSrc":"323653:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"323677:28:22","nodeType":"YulBlock","src":"323677:28:22","statements":[{"nativeSrc":"323679:24:22","nodeType":"YulAssignment","src":"323679:24:22","value":{"arguments":[{"name":"length","nativeSrc":"323693:6:22","nodeType":"YulIdentifier","src":"323693:6:22"},{"kind":"number","nativeSrc":"323701:1:22","nodeType":"YulLiteral","src":"323701:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"323689:3:22","nodeType":"YulIdentifier","src":"323689:3:22"},"nativeSrc":"323689:14:22","nodeType":"YulFunctionCall","src":"323689:14:22"},"variableNames":[{"name":"length","nativeSrc":"323679:6:22","nodeType":"YulIdentifier","src":"323679:6:22"}]}]},"pre":{"nativeSrc":"323657:2:22","nodeType":"YulBlock","src":"323657:2:22","statements":[]},"src":"323653:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"323770:3:22","nodeType":"YulIdentifier","src":"323770:3:22"},{"name":"length","nativeSrc":"323775:6:22","nodeType":"YulIdentifier","src":"323775:6:22"}],"functionName":{"name":"mstore","nativeSrc":"323763:6:22","nodeType":"YulIdentifier","src":"323763:6:22"},"nativeSrc":"323763:19:22","nodeType":"YulFunctionCall","src":"323763:19:22"},"nativeSrc":"323763:19:22","nodeType":"YulExpressionStatement","src":"323763:19:22"},{"nativeSrc":"323799:37:22","nodeType":"YulVariableDeclaration","src":"323799:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"323816:3:22","nodeType":"YulLiteral","src":"323816:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"323825:1:22","nodeType":"YulLiteral","src":"323825:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"323828:6:22","nodeType":"YulIdentifier","src":"323828:6:22"}],"functionName":{"name":"shl","nativeSrc":"323821:3:22","nodeType":"YulIdentifier","src":"323821:3:22"},"nativeSrc":"323821:14:22","nodeType":"YulFunctionCall","src":"323821:14:22"}],"functionName":{"name":"sub","nativeSrc":"323812:3:22","nodeType":"YulIdentifier","src":"323812:3:22"},"nativeSrc":"323812:24:22","nodeType":"YulFunctionCall","src":"323812:24:22"},"variables":[{"name":"shift","nativeSrc":"323803:5:22","nodeType":"YulTypedName","src":"323803:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"323864:3:22","nodeType":"YulIdentifier","src":"323864:3:22"},{"kind":"number","nativeSrc":"323869:4:22","nodeType":"YulLiteral","src":"323869:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"323860:3:22","nodeType":"YulIdentifier","src":"323860:3:22"},"nativeSrc":"323860:14:22","nodeType":"YulFunctionCall","src":"323860:14:22"},{"arguments":[{"name":"shift","nativeSrc":"323880:5:22","nodeType":"YulIdentifier","src":"323880:5:22"},{"arguments":[{"name":"shift","nativeSrc":"323891:5:22","nodeType":"YulIdentifier","src":"323891:5:22"},{"name":"w","nativeSrc":"323898:1:22","nodeType":"YulIdentifier","src":"323898:1:22"}],"functionName":{"name":"shr","nativeSrc":"323887:3:22","nodeType":"YulIdentifier","src":"323887:3:22"},"nativeSrc":"323887:13:22","nodeType":"YulFunctionCall","src":"323887:13:22"}],"functionName":{"name":"shl","nativeSrc":"323876:3:22","nodeType":"YulIdentifier","src":"323876:3:22"},"nativeSrc":"323876:25:22","nodeType":"YulFunctionCall","src":"323876:25:22"}],"functionName":{"name":"mstore","nativeSrc":"323853:6:22","nodeType":"YulIdentifier","src":"323853:6:22"},"nativeSrc":"323853:49:22","nodeType":"YulFunctionCall","src":"323853:49:22"},"nativeSrc":"323853:49:22","nodeType":"YulExpressionStatement","src":"323853:49:22"}]},"name":"writeString","nativeSrc":"323574:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"323595:3:22","nodeType":"YulTypedName","src":"323595:3:22","type":""},{"name":"w","nativeSrc":"323600:1:22","nodeType":"YulTypedName","src":"323600:1:22","type":""}],"src":"323574:342:22"},{"nativeSrc":"323929:17:22","nodeType":"YulAssignment","src":"323929:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"323941:4:22","nodeType":"YulLiteral","src":"323941:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"323935:5:22","nodeType":"YulIdentifier","src":"323935:5:22"},"nativeSrc":"323935:11:22","nodeType":"YulFunctionCall","src":"323935:11:22"},"variableNames":[{"name":"m0","nativeSrc":"323929:2:22","nodeType":"YulIdentifier","src":"323929:2:22"}]},{"nativeSrc":"323959:17:22","nodeType":"YulAssignment","src":"323959:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"323971:4:22","nodeType":"YulLiteral","src":"323971:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"323965:5:22","nodeType":"YulIdentifier","src":"323965:5:22"},"nativeSrc":"323965:11:22","nodeType":"YulFunctionCall","src":"323965:11:22"},"variableNames":[{"name":"m1","nativeSrc":"323959:2:22","nodeType":"YulIdentifier","src":"323959:2:22"}]},{"nativeSrc":"323989:17:22","nodeType":"YulAssignment","src":"323989:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324001:4:22","nodeType":"YulLiteral","src":"324001:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"323995:5:22","nodeType":"YulIdentifier","src":"323995:5:22"},"nativeSrc":"323995:11:22","nodeType":"YulFunctionCall","src":"323995:11:22"},"variableNames":[{"name":"m2","nativeSrc":"323989:2:22","nodeType":"YulIdentifier","src":"323989:2:22"}]},{"nativeSrc":"324019:17:22","nodeType":"YulAssignment","src":"324019:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324031:4:22","nodeType":"YulLiteral","src":"324031:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"324025:5:22","nodeType":"YulIdentifier","src":"324025:5:22"},"nativeSrc":"324025:11:22","nodeType":"YulFunctionCall","src":"324025:11:22"},"variableNames":[{"name":"m3","nativeSrc":"324019:2:22","nodeType":"YulIdentifier","src":"324019:2:22"}]},{"nativeSrc":"324049:17:22","nodeType":"YulAssignment","src":"324049:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324061:4:22","nodeType":"YulLiteral","src":"324061:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"324055:5:22","nodeType":"YulIdentifier","src":"324055:5:22"},"nativeSrc":"324055:11:22","nodeType":"YulFunctionCall","src":"324055:11:22"},"variableNames":[{"name":"m4","nativeSrc":"324049:2:22","nodeType":"YulIdentifier","src":"324049:2:22"}]},{"nativeSrc":"324079:17:22","nodeType":"YulAssignment","src":"324079:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324091:4:22","nodeType":"YulLiteral","src":"324091:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"324085:5:22","nodeType":"YulIdentifier","src":"324085:5:22"},"nativeSrc":"324085:11:22","nodeType":"YulFunctionCall","src":"324085:11:22"},"variableNames":[{"name":"m5","nativeSrc":"324079:2:22","nodeType":"YulIdentifier","src":"324079:2:22"}]},{"nativeSrc":"324109:17:22","nodeType":"YulAssignment","src":"324109:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324121:4:22","nodeType":"YulLiteral","src":"324121:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"324115:5:22","nodeType":"YulIdentifier","src":"324115:5:22"},"nativeSrc":"324115:11:22","nodeType":"YulFunctionCall","src":"324115:11:22"},"variableNames":[{"name":"m6","nativeSrc":"324109:2:22","nodeType":"YulIdentifier","src":"324109:2:22"}]},{"nativeSrc":"324139:17:22","nodeType":"YulAssignment","src":"324139:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"324151:4:22","nodeType":"YulLiteral","src":"324151:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"324145:5:22","nodeType":"YulIdentifier","src":"324145:5:22"},"nativeSrc":"324145:11:22","nodeType":"YulFunctionCall","src":"324145:11:22"},"variableNames":[{"name":"m7","nativeSrc":"324139:2:22","nodeType":"YulIdentifier","src":"324139:2:22"}]},{"nativeSrc":"324169:18:22","nodeType":"YulAssignment","src":"324169:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"324181:5:22","nodeType":"YulLiteral","src":"324181:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"324175:5:22","nodeType":"YulIdentifier","src":"324175:5:22"},"nativeSrc":"324175:12:22","nodeType":"YulFunctionCall","src":"324175:12:22"},"variableNames":[{"name":"m8","nativeSrc":"324169:2:22","nodeType":"YulIdentifier","src":"324169:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324272:4:22","nodeType":"YulLiteral","src":"324272:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"324278:10:22","nodeType":"YulLiteral","src":"324278:10:22","type":"","value":"0xb028c9bd"}],"functionName":{"name":"mstore","nativeSrc":"324265:6:22","nodeType":"YulIdentifier","src":"324265:6:22"},"nativeSrc":"324265:24:22","nodeType":"YulFunctionCall","src":"324265:24:22"},"nativeSrc":"324265:24:22","nodeType":"YulExpressionStatement","src":"324265:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324309:4:22","nodeType":"YulLiteral","src":"324309:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"324315:2:22","nodeType":"YulIdentifier","src":"324315:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324302:6:22","nodeType":"YulIdentifier","src":"324302:6:22"},"nativeSrc":"324302:16:22","nodeType":"YulFunctionCall","src":"324302:16:22"},"nativeSrc":"324302:16:22","nodeType":"YulExpressionStatement","src":"324302:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324338:4:22","nodeType":"YulLiteral","src":"324338:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"324344:4:22","nodeType":"YulLiteral","src":"324344:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"324331:6:22","nodeType":"YulIdentifier","src":"324331:6:22"},"nativeSrc":"324331:18:22","nodeType":"YulFunctionCall","src":"324331:18:22"},"nativeSrc":"324331:18:22","nodeType":"YulExpressionStatement","src":"324331:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324369:4:22","nodeType":"YulLiteral","src":"324369:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"324375:4:22","nodeType":"YulLiteral","src":"324375:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"324362:6:22","nodeType":"YulIdentifier","src":"324362:6:22"},"nativeSrc":"324362:18:22","nodeType":"YulFunctionCall","src":"324362:18:22"},"nativeSrc":"324362:18:22","nodeType":"YulExpressionStatement","src":"324362:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324400:4:22","nodeType":"YulLiteral","src":"324400:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"324406:2:22","nodeType":"YulIdentifier","src":"324406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324393:6:22","nodeType":"YulIdentifier","src":"324393:6:22"},"nativeSrc":"324393:16:22","nodeType":"YulFunctionCall","src":"324393:16:22"},"nativeSrc":"324393:16:22","nodeType":"YulExpressionStatement","src":"324393:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324434:4:22","nodeType":"YulLiteral","src":"324434:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"324440:2:22","nodeType":"YulIdentifier","src":"324440:2:22"}],"functionName":{"name":"writeString","nativeSrc":"324422:11:22","nodeType":"YulIdentifier","src":"324422:11:22"},"nativeSrc":"324422:21:22","nodeType":"YulFunctionCall","src":"324422:21:22"},"nativeSrc":"324422:21:22","nodeType":"YulExpressionStatement","src":"324422:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324468:4:22","nodeType":"YulLiteral","src":"324468:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"324474:2:22","nodeType":"YulIdentifier","src":"324474:2:22"}],"functionName":{"name":"writeString","nativeSrc":"324456:11:22","nodeType":"YulIdentifier","src":"324456:11:22"},"nativeSrc":"324456:21:22","nodeType":"YulFunctionCall","src":"324456:21:22"},"nativeSrc":"324456:21:22","nodeType":"YulExpressionStatement","src":"324456:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41491,"isOffset":false,"isSlot":false,"src":"323929:2:22","valueSize":1},{"declaration":41494,"isOffset":false,"isSlot":false,"src":"323959:2:22","valueSize":1},{"declaration":41497,"isOffset":false,"isSlot":false,"src":"323989:2:22","valueSize":1},{"declaration":41500,"isOffset":false,"isSlot":false,"src":"324019:2:22","valueSize":1},{"declaration":41503,"isOffset":false,"isSlot":false,"src":"324049:2:22","valueSize":1},{"declaration":41506,"isOffset":false,"isSlot":false,"src":"324079:2:22","valueSize":1},{"declaration":41509,"isOffset":false,"isSlot":false,"src":"324109:2:22","valueSize":1},{"declaration":41512,"isOffset":false,"isSlot":false,"src":"324139:2:22","valueSize":1},{"declaration":41515,"isOffset":false,"isSlot":false,"src":"324169:2:22","valueSize":1},{"declaration":41481,"isOffset":false,"isSlot":false,"src":"324315:2:22","valueSize":1},{"declaration":41483,"isOffset":false,"isSlot":false,"src":"324440:2:22","valueSize":1},{"declaration":41485,"isOffset":false,"isSlot":false,"src":"324474:2:22","valueSize":1},{"declaration":41487,"isOffset":false,"isSlot":false,"src":"324406:2:22","valueSize":1}],"id":41517,"nodeType":"InlineAssembly","src":"323551:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324512:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324518:5:22","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":41518,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"324496:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"324496:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41522,"nodeType":"ExpressionStatement","src":"324496:28:22"},{"AST":{"nativeSrc":"324586:273:22","nodeType":"YulBlock","src":"324586:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"324607:4:22","nodeType":"YulLiteral","src":"324607:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"324613:2:22","nodeType":"YulIdentifier","src":"324613:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324600:6:22","nodeType":"YulIdentifier","src":"324600:6:22"},"nativeSrc":"324600:16:22","nodeType":"YulFunctionCall","src":"324600:16:22"},"nativeSrc":"324600:16:22","nodeType":"YulExpressionStatement","src":"324600:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324636:4:22","nodeType":"YulLiteral","src":"324636:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"324642:2:22","nodeType":"YulIdentifier","src":"324642:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324629:6:22","nodeType":"YulIdentifier","src":"324629:6:22"},"nativeSrc":"324629:16:22","nodeType":"YulFunctionCall","src":"324629:16:22"},"nativeSrc":"324629:16:22","nodeType":"YulExpressionStatement","src":"324629:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324665:4:22","nodeType":"YulLiteral","src":"324665:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"324671:2:22","nodeType":"YulIdentifier","src":"324671:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324658:6:22","nodeType":"YulIdentifier","src":"324658:6:22"},"nativeSrc":"324658:16:22","nodeType":"YulFunctionCall","src":"324658:16:22"},"nativeSrc":"324658:16:22","nodeType":"YulExpressionStatement","src":"324658:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324694:4:22","nodeType":"YulLiteral","src":"324694:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"324700:2:22","nodeType":"YulIdentifier","src":"324700:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324687:6:22","nodeType":"YulIdentifier","src":"324687:6:22"},"nativeSrc":"324687:16:22","nodeType":"YulFunctionCall","src":"324687:16:22"},"nativeSrc":"324687:16:22","nodeType":"YulExpressionStatement","src":"324687:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324723:4:22","nodeType":"YulLiteral","src":"324723:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"324729:2:22","nodeType":"YulIdentifier","src":"324729:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324716:6:22","nodeType":"YulIdentifier","src":"324716:6:22"},"nativeSrc":"324716:16:22","nodeType":"YulFunctionCall","src":"324716:16:22"},"nativeSrc":"324716:16:22","nodeType":"YulExpressionStatement","src":"324716:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324752:4:22","nodeType":"YulLiteral","src":"324752:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"324758:2:22","nodeType":"YulIdentifier","src":"324758:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324745:6:22","nodeType":"YulIdentifier","src":"324745:6:22"},"nativeSrc":"324745:16:22","nodeType":"YulFunctionCall","src":"324745:16:22"},"nativeSrc":"324745:16:22","nodeType":"YulExpressionStatement","src":"324745:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324781:4:22","nodeType":"YulLiteral","src":"324781:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"324787:2:22","nodeType":"YulIdentifier","src":"324787:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324774:6:22","nodeType":"YulIdentifier","src":"324774:6:22"},"nativeSrc":"324774:16:22","nodeType":"YulFunctionCall","src":"324774:16:22"},"nativeSrc":"324774:16:22","nodeType":"YulExpressionStatement","src":"324774:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324810:4:22","nodeType":"YulLiteral","src":"324810:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"324816:2:22","nodeType":"YulIdentifier","src":"324816:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324803:6:22","nodeType":"YulIdentifier","src":"324803:6:22"},"nativeSrc":"324803:16:22","nodeType":"YulFunctionCall","src":"324803:16:22"},"nativeSrc":"324803:16:22","nodeType":"YulExpressionStatement","src":"324803:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324839:5:22","nodeType":"YulLiteral","src":"324839:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"324846:2:22","nodeType":"YulIdentifier","src":"324846:2:22"}],"functionName":{"name":"mstore","nativeSrc":"324832:6:22","nodeType":"YulIdentifier","src":"324832:6:22"},"nativeSrc":"324832:17:22","nodeType":"YulFunctionCall","src":"324832:17:22"},"nativeSrc":"324832:17:22","nodeType":"YulExpressionStatement","src":"324832:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41491,"isOffset":false,"isSlot":false,"src":"324613:2:22","valueSize":1},{"declaration":41494,"isOffset":false,"isSlot":false,"src":"324642:2:22","valueSize":1},{"declaration":41497,"isOffset":false,"isSlot":false,"src":"324671:2:22","valueSize":1},{"declaration":41500,"isOffset":false,"isSlot":false,"src":"324700:2:22","valueSize":1},{"declaration":41503,"isOffset":false,"isSlot":false,"src":"324729:2:22","valueSize":1},{"declaration":41506,"isOffset":false,"isSlot":false,"src":"324758:2:22","valueSize":1},{"declaration":41509,"isOffset":false,"isSlot":false,"src":"324787:2:22","valueSize":1},{"declaration":41512,"isOffset":false,"isSlot":false,"src":"324816:2:22","valueSize":1},{"declaration":41515,"isOffset":false,"isSlot":false,"src":"324846:2:22","valueSize":1}],"id":41523,"nodeType":"InlineAssembly","src":"324577:282:22"}]},"id":41525,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"323252:3:22","nodeType":"FunctionDefinition","parameters":{"id":41488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41481,"mutability":"mutable","name":"p0","nameLocation":"323264:2:22","nodeType":"VariableDeclaration","scope":41525,"src":"323256:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41480,"name":"uint256","nodeType":"ElementaryTypeName","src":"323256:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41483,"mutability":"mutable","name":"p1","nameLocation":"323276:2:22","nodeType":"VariableDeclaration","scope":41525,"src":"323268:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323268:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41485,"mutability":"mutable","name":"p2","nameLocation":"323288:2:22","nodeType":"VariableDeclaration","scope":41525,"src":"323280:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323280:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41487,"mutability":"mutable","name":"p3","nameLocation":"323300:2:22","nodeType":"VariableDeclaration","scope":41525,"src":"323292:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41486,"name":"uint256","nodeType":"ElementaryTypeName","src":"323292:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"323255:48:22"},"returnParameters":{"id":41489,"nodeType":"ParameterList","parameters":[],"src":"323318:0:22"},"scope":44426,"src":"323243:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41576,"nodeType":"Block","src":"324946:1749:22","statements":[{"assignments":[41537],"declarations":[{"constant":false,"id":41537,"mutability":"mutable","name":"m0","nameLocation":"324964:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"324956:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324956:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41538,"nodeType":"VariableDeclarationStatement","src":"324956:10:22"},{"assignments":[41540],"declarations":[{"constant":false,"id":41540,"mutability":"mutable","name":"m1","nameLocation":"324984:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"324976:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324976:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41541,"nodeType":"VariableDeclarationStatement","src":"324976:10:22"},{"assignments":[41543],"declarations":[{"constant":false,"id":41543,"mutability":"mutable","name":"m2","nameLocation":"325004:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"324996:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324996:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41544,"nodeType":"VariableDeclarationStatement","src":"324996:10:22"},{"assignments":[41546],"declarations":[{"constant":false,"id":41546,"mutability":"mutable","name":"m3","nameLocation":"325024:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325016:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325016:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41547,"nodeType":"VariableDeclarationStatement","src":"325016:10:22"},{"assignments":[41549],"declarations":[{"constant":false,"id":41549,"mutability":"mutable","name":"m4","nameLocation":"325044:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325036:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325036:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41550,"nodeType":"VariableDeclarationStatement","src":"325036:10:22"},{"assignments":[41552],"declarations":[{"constant":false,"id":41552,"mutability":"mutable","name":"m5","nameLocation":"325064:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325056:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41553,"nodeType":"VariableDeclarationStatement","src":"325056:10:22"},{"assignments":[41555],"declarations":[{"constant":false,"id":41555,"mutability":"mutable","name":"m6","nameLocation":"325084:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325076:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325076:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41556,"nodeType":"VariableDeclarationStatement","src":"325076:10:22"},{"assignments":[41558],"declarations":[{"constant":false,"id":41558,"mutability":"mutable","name":"m7","nameLocation":"325104:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325096:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325096:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41559,"nodeType":"VariableDeclarationStatement","src":"325096:10:22"},{"assignments":[41561],"declarations":[{"constant":false,"id":41561,"mutability":"mutable","name":"m8","nameLocation":"325124:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325116:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41562,"nodeType":"VariableDeclarationStatement","src":"325116:10:22"},{"assignments":[41564],"declarations":[{"constant":false,"id":41564,"mutability":"mutable","name":"m9","nameLocation":"325144:2:22","nodeType":"VariableDeclaration","scope":41576,"src":"325136:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325136:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41565,"nodeType":"VariableDeclarationStatement","src":"325136:10:22"},{"assignments":[41567],"declarations":[{"constant":false,"id":41567,"mutability":"mutable","name":"m10","nameLocation":"325164:3:22","nodeType":"VariableDeclaration","scope":41576,"src":"325156:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325156:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41568,"nodeType":"VariableDeclarationStatement","src":"325156:11:22"},{"AST":{"nativeSrc":"325229:1027:22","nodeType":"YulBlock","src":"325229:1027:22","statements":[{"body":{"nativeSrc":"325272:313:22","nodeType":"YulBlock","src":"325272:313:22","statements":[{"nativeSrc":"325290:15:22","nodeType":"YulVariableDeclaration","src":"325290:15:22","value":{"kind":"number","nativeSrc":"325304:1:22","nodeType":"YulLiteral","src":"325304:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"325294:6:22","nodeType":"YulTypedName","src":"325294:6:22","type":""}]},{"body":{"nativeSrc":"325375:40:22","nodeType":"YulBlock","src":"325375:40:22","statements":[{"body":{"nativeSrc":"325404:9:22","nodeType":"YulBlock","src":"325404:9:22","statements":[{"nativeSrc":"325406:5:22","nodeType":"YulBreak","src":"325406:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"325392:6:22","nodeType":"YulIdentifier","src":"325392:6:22"},{"name":"w","nativeSrc":"325400:1:22","nodeType":"YulIdentifier","src":"325400:1:22"}],"functionName":{"name":"byte","nativeSrc":"325387:4:22","nodeType":"YulIdentifier","src":"325387:4:22"},"nativeSrc":"325387:15:22","nodeType":"YulFunctionCall","src":"325387:15:22"}],"functionName":{"name":"iszero","nativeSrc":"325380:6:22","nodeType":"YulIdentifier","src":"325380:6:22"},"nativeSrc":"325380:23:22","nodeType":"YulFunctionCall","src":"325380:23:22"},"nativeSrc":"325377:36:22","nodeType":"YulIf","src":"325377:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"325332:6:22","nodeType":"YulIdentifier","src":"325332:6:22"},{"kind":"number","nativeSrc":"325340:4:22","nodeType":"YulLiteral","src":"325340:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"325329:2:22","nodeType":"YulIdentifier","src":"325329:2:22"},"nativeSrc":"325329:16:22","nodeType":"YulFunctionCall","src":"325329:16:22"},"nativeSrc":"325322:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"325346:28:22","nodeType":"YulBlock","src":"325346:28:22","statements":[{"nativeSrc":"325348:24:22","nodeType":"YulAssignment","src":"325348:24:22","value":{"arguments":[{"name":"length","nativeSrc":"325362:6:22","nodeType":"YulIdentifier","src":"325362:6:22"},{"kind":"number","nativeSrc":"325370:1:22","nodeType":"YulLiteral","src":"325370:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"325358:3:22","nodeType":"YulIdentifier","src":"325358:3:22"},"nativeSrc":"325358:14:22","nodeType":"YulFunctionCall","src":"325358:14:22"},"variableNames":[{"name":"length","nativeSrc":"325348:6:22","nodeType":"YulIdentifier","src":"325348:6:22"}]}]},"pre":{"nativeSrc":"325326:2:22","nodeType":"YulBlock","src":"325326:2:22","statements":[]},"src":"325322:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"325439:3:22","nodeType":"YulIdentifier","src":"325439:3:22"},{"name":"length","nativeSrc":"325444:6:22","nodeType":"YulIdentifier","src":"325444:6:22"}],"functionName":{"name":"mstore","nativeSrc":"325432:6:22","nodeType":"YulIdentifier","src":"325432:6:22"},"nativeSrc":"325432:19:22","nodeType":"YulFunctionCall","src":"325432:19:22"},"nativeSrc":"325432:19:22","nodeType":"YulExpressionStatement","src":"325432:19:22"},{"nativeSrc":"325468:37:22","nodeType":"YulVariableDeclaration","src":"325468:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"325485:3:22","nodeType":"YulLiteral","src":"325485:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"325494:1:22","nodeType":"YulLiteral","src":"325494:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"325497:6:22","nodeType":"YulIdentifier","src":"325497:6:22"}],"functionName":{"name":"shl","nativeSrc":"325490:3:22","nodeType":"YulIdentifier","src":"325490:3:22"},"nativeSrc":"325490:14:22","nodeType":"YulFunctionCall","src":"325490:14:22"}],"functionName":{"name":"sub","nativeSrc":"325481:3:22","nodeType":"YulIdentifier","src":"325481:3:22"},"nativeSrc":"325481:24:22","nodeType":"YulFunctionCall","src":"325481:24:22"},"variables":[{"name":"shift","nativeSrc":"325472:5:22","nodeType":"YulTypedName","src":"325472:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"325533:3:22","nodeType":"YulIdentifier","src":"325533:3:22"},{"kind":"number","nativeSrc":"325538:4:22","nodeType":"YulLiteral","src":"325538:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"325529:3:22","nodeType":"YulIdentifier","src":"325529:3:22"},"nativeSrc":"325529:14:22","nodeType":"YulFunctionCall","src":"325529:14:22"},{"arguments":[{"name":"shift","nativeSrc":"325549:5:22","nodeType":"YulIdentifier","src":"325549:5:22"},{"arguments":[{"name":"shift","nativeSrc":"325560:5:22","nodeType":"YulIdentifier","src":"325560:5:22"},{"name":"w","nativeSrc":"325567:1:22","nodeType":"YulIdentifier","src":"325567:1:22"}],"functionName":{"name":"shr","nativeSrc":"325556:3:22","nodeType":"YulIdentifier","src":"325556:3:22"},"nativeSrc":"325556:13:22","nodeType":"YulFunctionCall","src":"325556:13:22"}],"functionName":{"name":"shl","nativeSrc":"325545:3:22","nodeType":"YulIdentifier","src":"325545:3:22"},"nativeSrc":"325545:25:22","nodeType":"YulFunctionCall","src":"325545:25:22"}],"functionName":{"name":"mstore","nativeSrc":"325522:6:22","nodeType":"YulIdentifier","src":"325522:6:22"},"nativeSrc":"325522:49:22","nodeType":"YulFunctionCall","src":"325522:49:22"},"nativeSrc":"325522:49:22","nodeType":"YulExpressionStatement","src":"325522:49:22"}]},"name":"writeString","nativeSrc":"325243:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"325264:3:22","nodeType":"YulTypedName","src":"325264:3:22","type":""},{"name":"w","nativeSrc":"325269:1:22","nodeType":"YulTypedName","src":"325269:1:22","type":""}],"src":"325243:342:22"},{"nativeSrc":"325598:17:22","nodeType":"YulAssignment","src":"325598:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325610:4:22","nodeType":"YulLiteral","src":"325610:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"325604:5:22","nodeType":"YulIdentifier","src":"325604:5:22"},"nativeSrc":"325604:11:22","nodeType":"YulFunctionCall","src":"325604:11:22"},"variableNames":[{"name":"m0","nativeSrc":"325598:2:22","nodeType":"YulIdentifier","src":"325598:2:22"}]},{"nativeSrc":"325628:17:22","nodeType":"YulAssignment","src":"325628:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325640:4:22","nodeType":"YulLiteral","src":"325640:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"325634:5:22","nodeType":"YulIdentifier","src":"325634:5:22"},"nativeSrc":"325634:11:22","nodeType":"YulFunctionCall","src":"325634:11:22"},"variableNames":[{"name":"m1","nativeSrc":"325628:2:22","nodeType":"YulIdentifier","src":"325628:2:22"}]},{"nativeSrc":"325658:17:22","nodeType":"YulAssignment","src":"325658:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325670:4:22","nodeType":"YulLiteral","src":"325670:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"325664:5:22","nodeType":"YulIdentifier","src":"325664:5:22"},"nativeSrc":"325664:11:22","nodeType":"YulFunctionCall","src":"325664:11:22"},"variableNames":[{"name":"m2","nativeSrc":"325658:2:22","nodeType":"YulIdentifier","src":"325658:2:22"}]},{"nativeSrc":"325688:17:22","nodeType":"YulAssignment","src":"325688:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325700:4:22","nodeType":"YulLiteral","src":"325700:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"325694:5:22","nodeType":"YulIdentifier","src":"325694:5:22"},"nativeSrc":"325694:11:22","nodeType":"YulFunctionCall","src":"325694:11:22"},"variableNames":[{"name":"m3","nativeSrc":"325688:2:22","nodeType":"YulIdentifier","src":"325688:2:22"}]},{"nativeSrc":"325718:17:22","nodeType":"YulAssignment","src":"325718:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325730:4:22","nodeType":"YulLiteral","src":"325730:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"325724:5:22","nodeType":"YulIdentifier","src":"325724:5:22"},"nativeSrc":"325724:11:22","nodeType":"YulFunctionCall","src":"325724:11:22"},"variableNames":[{"name":"m4","nativeSrc":"325718:2:22","nodeType":"YulIdentifier","src":"325718:2:22"}]},{"nativeSrc":"325748:17:22","nodeType":"YulAssignment","src":"325748:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325760:4:22","nodeType":"YulLiteral","src":"325760:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"325754:5:22","nodeType":"YulIdentifier","src":"325754:5:22"},"nativeSrc":"325754:11:22","nodeType":"YulFunctionCall","src":"325754:11:22"},"variableNames":[{"name":"m5","nativeSrc":"325748:2:22","nodeType":"YulIdentifier","src":"325748:2:22"}]},{"nativeSrc":"325778:17:22","nodeType":"YulAssignment","src":"325778:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325790:4:22","nodeType":"YulLiteral","src":"325790:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"325784:5:22","nodeType":"YulIdentifier","src":"325784:5:22"},"nativeSrc":"325784:11:22","nodeType":"YulFunctionCall","src":"325784:11:22"},"variableNames":[{"name":"m6","nativeSrc":"325778:2:22","nodeType":"YulIdentifier","src":"325778:2:22"}]},{"nativeSrc":"325808:17:22","nodeType":"YulAssignment","src":"325808:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"325820:4:22","nodeType":"YulLiteral","src":"325820:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"325814:5:22","nodeType":"YulIdentifier","src":"325814:5:22"},"nativeSrc":"325814:11:22","nodeType":"YulFunctionCall","src":"325814:11:22"},"variableNames":[{"name":"m7","nativeSrc":"325808:2:22","nodeType":"YulIdentifier","src":"325808:2:22"}]},{"nativeSrc":"325838:18:22","nodeType":"YulAssignment","src":"325838:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"325850:5:22","nodeType":"YulLiteral","src":"325850:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"325844:5:22","nodeType":"YulIdentifier","src":"325844:5:22"},"nativeSrc":"325844:12:22","nodeType":"YulFunctionCall","src":"325844:12:22"},"variableNames":[{"name":"m8","nativeSrc":"325838:2:22","nodeType":"YulIdentifier","src":"325838:2:22"}]},{"nativeSrc":"325869:18:22","nodeType":"YulAssignment","src":"325869:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"325881:5:22","nodeType":"YulLiteral","src":"325881:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"325875:5:22","nodeType":"YulIdentifier","src":"325875:5:22"},"nativeSrc":"325875:12:22","nodeType":"YulFunctionCall","src":"325875:12:22"},"variableNames":[{"name":"m9","nativeSrc":"325869:2:22","nodeType":"YulIdentifier","src":"325869:2:22"}]},{"nativeSrc":"325900:19:22","nodeType":"YulAssignment","src":"325900:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"325913:5:22","nodeType":"YulLiteral","src":"325913:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"325907:5:22","nodeType":"YulIdentifier","src":"325907:5:22"},"nativeSrc":"325907:12:22","nodeType":"YulFunctionCall","src":"325907:12:22"},"variableNames":[{"name":"m10","nativeSrc":"325900:3:22","nodeType":"YulIdentifier","src":"325900:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326003:4:22","nodeType":"YulLiteral","src":"326003:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"326009:10:22","nodeType":"YulLiteral","src":"326009:10:22","type":"","value":"0x21ad0683"}],"functionName":{"name":"mstore","nativeSrc":"325996:6:22","nodeType":"YulIdentifier","src":"325996:6:22"},"nativeSrc":"325996:24:22","nodeType":"YulFunctionCall","src":"325996:24:22"},"nativeSrc":"325996:24:22","nodeType":"YulExpressionStatement","src":"325996:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326040:4:22","nodeType":"YulLiteral","src":"326040:4:22","type":"","value":"0x20"},{"name":"p0","nativeSrc":"326046:2:22","nodeType":"YulIdentifier","src":"326046:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326033:6:22","nodeType":"YulIdentifier","src":"326033:6:22"},"nativeSrc":"326033:16:22","nodeType":"YulFunctionCall","src":"326033:16:22"},"nativeSrc":"326033:16:22","nodeType":"YulExpressionStatement","src":"326033:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326069:4:22","nodeType":"YulLiteral","src":"326069:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"326075:4:22","nodeType":"YulLiteral","src":"326075:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"326062:6:22","nodeType":"YulIdentifier","src":"326062:6:22"},"nativeSrc":"326062:18:22","nodeType":"YulFunctionCall","src":"326062:18:22"},"nativeSrc":"326062:18:22","nodeType":"YulExpressionStatement","src":"326062:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326100:4:22","nodeType":"YulLiteral","src":"326100:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"326106:4:22","nodeType":"YulLiteral","src":"326106:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"326093:6:22","nodeType":"YulIdentifier","src":"326093:6:22"},"nativeSrc":"326093:18:22","nodeType":"YulFunctionCall","src":"326093:18:22"},"nativeSrc":"326093:18:22","nodeType":"YulExpressionStatement","src":"326093:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326131:4:22","nodeType":"YulLiteral","src":"326131:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"326137:5:22","nodeType":"YulLiteral","src":"326137:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"326124:6:22","nodeType":"YulIdentifier","src":"326124:6:22"},"nativeSrc":"326124:19:22","nodeType":"YulFunctionCall","src":"326124:19:22"},"nativeSrc":"326124:19:22","nodeType":"YulExpressionStatement","src":"326124:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326168:4:22","nodeType":"YulLiteral","src":"326168:4:22","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"326174:2:22","nodeType":"YulIdentifier","src":"326174:2:22"}],"functionName":{"name":"writeString","nativeSrc":"326156:11:22","nodeType":"YulIdentifier","src":"326156:11:22"},"nativeSrc":"326156:21:22","nodeType":"YulFunctionCall","src":"326156:21:22"},"nativeSrc":"326156:21:22","nodeType":"YulExpressionStatement","src":"326156:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326202:4:22","nodeType":"YulLiteral","src":"326202:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"326208:2:22","nodeType":"YulIdentifier","src":"326208:2:22"}],"functionName":{"name":"writeString","nativeSrc":"326190:11:22","nodeType":"YulIdentifier","src":"326190:11:22"},"nativeSrc":"326190:21:22","nodeType":"YulFunctionCall","src":"326190:21:22"},"nativeSrc":"326190:21:22","nodeType":"YulExpressionStatement","src":"326190:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326236:5:22","nodeType":"YulLiteral","src":"326236:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"326243:2:22","nodeType":"YulIdentifier","src":"326243:2:22"}],"functionName":{"name":"writeString","nativeSrc":"326224:11:22","nodeType":"YulIdentifier","src":"326224:11:22"},"nativeSrc":"326224:22:22","nodeType":"YulFunctionCall","src":"326224:22:22"},"nativeSrc":"326224:22:22","nodeType":"YulExpressionStatement","src":"326224:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41537,"isOffset":false,"isSlot":false,"src":"325598:2:22","valueSize":1},{"declaration":41540,"isOffset":false,"isSlot":false,"src":"325628:2:22","valueSize":1},{"declaration":41567,"isOffset":false,"isSlot":false,"src":"325900:3:22","valueSize":1},{"declaration":41543,"isOffset":false,"isSlot":false,"src":"325658:2:22","valueSize":1},{"declaration":41546,"isOffset":false,"isSlot":false,"src":"325688:2:22","valueSize":1},{"declaration":41549,"isOffset":false,"isSlot":false,"src":"325718:2:22","valueSize":1},{"declaration":41552,"isOffset":false,"isSlot":false,"src":"325748:2:22","valueSize":1},{"declaration":41555,"isOffset":false,"isSlot":false,"src":"325778:2:22","valueSize":1},{"declaration":41558,"isOffset":false,"isSlot":false,"src":"325808:2:22","valueSize":1},{"declaration":41561,"isOffset":false,"isSlot":false,"src":"325838:2:22","valueSize":1},{"declaration":41564,"isOffset":false,"isSlot":false,"src":"325869:2:22","valueSize":1},{"declaration":41527,"isOffset":false,"isSlot":false,"src":"326046:2:22","valueSize":1},{"declaration":41529,"isOffset":false,"isSlot":false,"src":"326174:2:22","valueSize":1},{"declaration":41531,"isOffset":false,"isSlot":false,"src":"326208:2:22","valueSize":1},{"declaration":41533,"isOffset":false,"isSlot":false,"src":"326243:2:22","valueSize":1}],"id":41569,"nodeType":"InlineAssembly","src":"325220:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326281:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":41572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326287:5:22","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":41570,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"326265:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"326265:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41574,"nodeType":"ExpressionStatement","src":"326265:28:22"},{"AST":{"nativeSrc":"326355:334:22","nodeType":"YulBlock","src":"326355:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"326376:4:22","nodeType":"YulLiteral","src":"326376:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"326382:2:22","nodeType":"YulIdentifier","src":"326382:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326369:6:22","nodeType":"YulIdentifier","src":"326369:6:22"},"nativeSrc":"326369:16:22","nodeType":"YulFunctionCall","src":"326369:16:22"},"nativeSrc":"326369:16:22","nodeType":"YulExpressionStatement","src":"326369:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326405:4:22","nodeType":"YulLiteral","src":"326405:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"326411:2:22","nodeType":"YulIdentifier","src":"326411:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326398:6:22","nodeType":"YulIdentifier","src":"326398:6:22"},"nativeSrc":"326398:16:22","nodeType":"YulFunctionCall","src":"326398:16:22"},"nativeSrc":"326398:16:22","nodeType":"YulExpressionStatement","src":"326398:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326434:4:22","nodeType":"YulLiteral","src":"326434:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"326440:2:22","nodeType":"YulIdentifier","src":"326440:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326427:6:22","nodeType":"YulIdentifier","src":"326427:6:22"},"nativeSrc":"326427:16:22","nodeType":"YulFunctionCall","src":"326427:16:22"},"nativeSrc":"326427:16:22","nodeType":"YulExpressionStatement","src":"326427:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326463:4:22","nodeType":"YulLiteral","src":"326463:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"326469:2:22","nodeType":"YulIdentifier","src":"326469:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326456:6:22","nodeType":"YulIdentifier","src":"326456:6:22"},"nativeSrc":"326456:16:22","nodeType":"YulFunctionCall","src":"326456:16:22"},"nativeSrc":"326456:16:22","nodeType":"YulExpressionStatement","src":"326456:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326492:4:22","nodeType":"YulLiteral","src":"326492:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"326498:2:22","nodeType":"YulIdentifier","src":"326498:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326485:6:22","nodeType":"YulIdentifier","src":"326485:6:22"},"nativeSrc":"326485:16:22","nodeType":"YulFunctionCall","src":"326485:16:22"},"nativeSrc":"326485:16:22","nodeType":"YulExpressionStatement","src":"326485:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326521:4:22","nodeType":"YulLiteral","src":"326521:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"326527:2:22","nodeType":"YulIdentifier","src":"326527:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326514:6:22","nodeType":"YulIdentifier","src":"326514:6:22"},"nativeSrc":"326514:16:22","nodeType":"YulFunctionCall","src":"326514:16:22"},"nativeSrc":"326514:16:22","nodeType":"YulExpressionStatement","src":"326514:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326550:4:22","nodeType":"YulLiteral","src":"326550:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"326556:2:22","nodeType":"YulIdentifier","src":"326556:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326543:6:22","nodeType":"YulIdentifier","src":"326543:6:22"},"nativeSrc":"326543:16:22","nodeType":"YulFunctionCall","src":"326543:16:22"},"nativeSrc":"326543:16:22","nodeType":"YulExpressionStatement","src":"326543:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326579:4:22","nodeType":"YulLiteral","src":"326579:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"326585:2:22","nodeType":"YulIdentifier","src":"326585:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326572:6:22","nodeType":"YulIdentifier","src":"326572:6:22"},"nativeSrc":"326572:16:22","nodeType":"YulFunctionCall","src":"326572:16:22"},"nativeSrc":"326572:16:22","nodeType":"YulExpressionStatement","src":"326572:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326608:5:22","nodeType":"YulLiteral","src":"326608:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"326615:2:22","nodeType":"YulIdentifier","src":"326615:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326601:6:22","nodeType":"YulIdentifier","src":"326601:6:22"},"nativeSrc":"326601:17:22","nodeType":"YulFunctionCall","src":"326601:17:22"},"nativeSrc":"326601:17:22","nodeType":"YulExpressionStatement","src":"326601:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326638:5:22","nodeType":"YulLiteral","src":"326638:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"326645:2:22","nodeType":"YulIdentifier","src":"326645:2:22"}],"functionName":{"name":"mstore","nativeSrc":"326631:6:22","nodeType":"YulIdentifier","src":"326631:6:22"},"nativeSrc":"326631:17:22","nodeType":"YulFunctionCall","src":"326631:17:22"},"nativeSrc":"326631:17:22","nodeType":"YulExpressionStatement","src":"326631:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326668:5:22","nodeType":"YulLiteral","src":"326668:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"326675:3:22","nodeType":"YulIdentifier","src":"326675:3:22"}],"functionName":{"name":"mstore","nativeSrc":"326661:6:22","nodeType":"YulIdentifier","src":"326661:6:22"},"nativeSrc":"326661:18:22","nodeType":"YulFunctionCall","src":"326661:18:22"},"nativeSrc":"326661:18:22","nodeType":"YulExpressionStatement","src":"326661:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41537,"isOffset":false,"isSlot":false,"src":"326382:2:22","valueSize":1},{"declaration":41540,"isOffset":false,"isSlot":false,"src":"326411:2:22","valueSize":1},{"declaration":41567,"isOffset":false,"isSlot":false,"src":"326675:3:22","valueSize":1},{"declaration":41543,"isOffset":false,"isSlot":false,"src":"326440:2:22","valueSize":1},{"declaration":41546,"isOffset":false,"isSlot":false,"src":"326469:2:22","valueSize":1},{"declaration":41549,"isOffset":false,"isSlot":false,"src":"326498:2:22","valueSize":1},{"declaration":41552,"isOffset":false,"isSlot":false,"src":"326527:2:22","valueSize":1},{"declaration":41555,"isOffset":false,"isSlot":false,"src":"326556:2:22","valueSize":1},{"declaration":41558,"isOffset":false,"isSlot":false,"src":"326585:2:22","valueSize":1},{"declaration":41561,"isOffset":false,"isSlot":false,"src":"326615:2:22","valueSize":1},{"declaration":41564,"isOffset":false,"isSlot":false,"src":"326645:2:22","valueSize":1}],"id":41575,"nodeType":"InlineAssembly","src":"326346:343:22"}]},"id":41577,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"324880:3:22","nodeType":"FunctionDefinition","parameters":{"id":41534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41527,"mutability":"mutable","name":"p0","nameLocation":"324892:2:22","nodeType":"VariableDeclaration","scope":41577,"src":"324884:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41526,"name":"uint256","nodeType":"ElementaryTypeName","src":"324884:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41529,"mutability":"mutable","name":"p1","nameLocation":"324904:2:22","nodeType":"VariableDeclaration","scope":41577,"src":"324896:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324896:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41531,"mutability":"mutable","name":"p2","nameLocation":"324916:2:22","nodeType":"VariableDeclaration","scope":41577,"src":"324908:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324908:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41533,"mutability":"mutable","name":"p3","nameLocation":"324928:2:22","nodeType":"VariableDeclaration","scope":41577,"src":"324920:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324920:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"324883:48:22"},"returnParameters":{"id":41535,"nodeType":"ParameterList","parameters":[],"src":"324946:0:22"},"scope":44426,"src":"324871:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41616,"nodeType":"Block","src":"326776:1351:22","statements":[{"assignments":[41589],"declarations":[{"constant":false,"id":41589,"mutability":"mutable","name":"m0","nameLocation":"326794:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41590,"nodeType":"VariableDeclarationStatement","src":"326786:10:22"},{"assignments":[41592],"declarations":[{"constant":false,"id":41592,"mutability":"mutable","name":"m1","nameLocation":"326814:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41593,"nodeType":"VariableDeclarationStatement","src":"326806:10:22"},{"assignments":[41595],"declarations":[{"constant":false,"id":41595,"mutability":"mutable","name":"m2","nameLocation":"326834:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326826:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41596,"nodeType":"VariableDeclarationStatement","src":"326826:10:22"},{"assignments":[41598],"declarations":[{"constant":false,"id":41598,"mutability":"mutable","name":"m3","nameLocation":"326854:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41599,"nodeType":"VariableDeclarationStatement","src":"326846:10:22"},{"assignments":[41601],"declarations":[{"constant":false,"id":41601,"mutability":"mutable","name":"m4","nameLocation":"326874:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41602,"nodeType":"VariableDeclarationStatement","src":"326866:10:22"},{"assignments":[41604],"declarations":[{"constant":false,"id":41604,"mutability":"mutable","name":"m5","nameLocation":"326894:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41605,"nodeType":"VariableDeclarationStatement","src":"326886:10:22"},{"assignments":[41607],"declarations":[{"constant":false,"id":41607,"mutability":"mutable","name":"m6","nameLocation":"326914:2:22","nodeType":"VariableDeclaration","scope":41616,"src":"326906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41608,"nodeType":"VariableDeclarationStatement","src":"326906:10:22"},{"AST":{"nativeSrc":"326978:831:22","nodeType":"YulBlock","src":"326978:831:22","statements":[{"body":{"nativeSrc":"327021:313:22","nodeType":"YulBlock","src":"327021:313:22","statements":[{"nativeSrc":"327039:15:22","nodeType":"YulVariableDeclaration","src":"327039:15:22","value":{"kind":"number","nativeSrc":"327053:1:22","nodeType":"YulLiteral","src":"327053:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"327043:6:22","nodeType":"YulTypedName","src":"327043:6:22","type":""}]},{"body":{"nativeSrc":"327124:40:22","nodeType":"YulBlock","src":"327124:40:22","statements":[{"body":{"nativeSrc":"327153:9:22","nodeType":"YulBlock","src":"327153:9:22","statements":[{"nativeSrc":"327155:5:22","nodeType":"YulBreak","src":"327155:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"327141:6:22","nodeType":"YulIdentifier","src":"327141:6:22"},{"name":"w","nativeSrc":"327149:1:22","nodeType":"YulIdentifier","src":"327149:1:22"}],"functionName":{"name":"byte","nativeSrc":"327136:4:22","nodeType":"YulIdentifier","src":"327136:4:22"},"nativeSrc":"327136:15:22","nodeType":"YulFunctionCall","src":"327136:15:22"}],"functionName":{"name":"iszero","nativeSrc":"327129:6:22","nodeType":"YulIdentifier","src":"327129:6:22"},"nativeSrc":"327129:23:22","nodeType":"YulFunctionCall","src":"327129:23:22"},"nativeSrc":"327126:36:22","nodeType":"YulIf","src":"327126:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"327081:6:22","nodeType":"YulIdentifier","src":"327081:6:22"},{"kind":"number","nativeSrc":"327089:4:22","nodeType":"YulLiteral","src":"327089:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"327078:2:22","nodeType":"YulIdentifier","src":"327078:2:22"},"nativeSrc":"327078:16:22","nodeType":"YulFunctionCall","src":"327078:16:22"},"nativeSrc":"327071:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"327095:28:22","nodeType":"YulBlock","src":"327095:28:22","statements":[{"nativeSrc":"327097:24:22","nodeType":"YulAssignment","src":"327097:24:22","value":{"arguments":[{"name":"length","nativeSrc":"327111:6:22","nodeType":"YulIdentifier","src":"327111:6:22"},{"kind":"number","nativeSrc":"327119:1:22","nodeType":"YulLiteral","src":"327119:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"327107:3:22","nodeType":"YulIdentifier","src":"327107:3:22"},"nativeSrc":"327107:14:22","nodeType":"YulFunctionCall","src":"327107:14:22"},"variableNames":[{"name":"length","nativeSrc":"327097:6:22","nodeType":"YulIdentifier","src":"327097:6:22"}]}]},"pre":{"nativeSrc":"327075:2:22","nodeType":"YulBlock","src":"327075:2:22","statements":[]},"src":"327071:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"327188:3:22","nodeType":"YulIdentifier","src":"327188:3:22"},{"name":"length","nativeSrc":"327193:6:22","nodeType":"YulIdentifier","src":"327193:6:22"}],"functionName":{"name":"mstore","nativeSrc":"327181:6:22","nodeType":"YulIdentifier","src":"327181:6:22"},"nativeSrc":"327181:19:22","nodeType":"YulFunctionCall","src":"327181:19:22"},"nativeSrc":"327181:19:22","nodeType":"YulExpressionStatement","src":"327181:19:22"},{"nativeSrc":"327217:37:22","nodeType":"YulVariableDeclaration","src":"327217:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"327234:3:22","nodeType":"YulLiteral","src":"327234:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"327243:1:22","nodeType":"YulLiteral","src":"327243:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"327246:6:22","nodeType":"YulIdentifier","src":"327246:6:22"}],"functionName":{"name":"shl","nativeSrc":"327239:3:22","nodeType":"YulIdentifier","src":"327239:3:22"},"nativeSrc":"327239:14:22","nodeType":"YulFunctionCall","src":"327239:14:22"}],"functionName":{"name":"sub","nativeSrc":"327230:3:22","nodeType":"YulIdentifier","src":"327230:3:22"},"nativeSrc":"327230:24:22","nodeType":"YulFunctionCall","src":"327230:24:22"},"variables":[{"name":"shift","nativeSrc":"327221:5:22","nodeType":"YulTypedName","src":"327221:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"327282:3:22","nodeType":"YulIdentifier","src":"327282:3:22"},{"kind":"number","nativeSrc":"327287:4:22","nodeType":"YulLiteral","src":"327287:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"327278:3:22","nodeType":"YulIdentifier","src":"327278:3:22"},"nativeSrc":"327278:14:22","nodeType":"YulFunctionCall","src":"327278:14:22"},{"arguments":[{"name":"shift","nativeSrc":"327298:5:22","nodeType":"YulIdentifier","src":"327298:5:22"},{"arguments":[{"name":"shift","nativeSrc":"327309:5:22","nodeType":"YulIdentifier","src":"327309:5:22"},{"name":"w","nativeSrc":"327316:1:22","nodeType":"YulIdentifier","src":"327316:1:22"}],"functionName":{"name":"shr","nativeSrc":"327305:3:22","nodeType":"YulIdentifier","src":"327305:3:22"},"nativeSrc":"327305:13:22","nodeType":"YulFunctionCall","src":"327305:13:22"}],"functionName":{"name":"shl","nativeSrc":"327294:3:22","nodeType":"YulIdentifier","src":"327294:3:22"},"nativeSrc":"327294:25:22","nodeType":"YulFunctionCall","src":"327294:25:22"}],"functionName":{"name":"mstore","nativeSrc":"327271:6:22","nodeType":"YulIdentifier","src":"327271:6:22"},"nativeSrc":"327271:49:22","nodeType":"YulFunctionCall","src":"327271:49:22"},"nativeSrc":"327271:49:22","nodeType":"YulExpressionStatement","src":"327271:49:22"}]},"name":"writeString","nativeSrc":"326992:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"327013:3:22","nodeType":"YulTypedName","src":"327013:3:22","type":""},{"name":"w","nativeSrc":"327018:1:22","nodeType":"YulTypedName","src":"327018:1:22","type":""}],"src":"326992:342:22"},{"nativeSrc":"327347:17:22","nodeType":"YulAssignment","src":"327347:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327359:4:22","nodeType":"YulLiteral","src":"327359:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"327353:5:22","nodeType":"YulIdentifier","src":"327353:5:22"},"nativeSrc":"327353:11:22","nodeType":"YulFunctionCall","src":"327353:11:22"},"variableNames":[{"name":"m0","nativeSrc":"327347:2:22","nodeType":"YulIdentifier","src":"327347:2:22"}]},{"nativeSrc":"327377:17:22","nodeType":"YulAssignment","src":"327377:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327389:4:22","nodeType":"YulLiteral","src":"327389:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"327383:5:22","nodeType":"YulIdentifier","src":"327383:5:22"},"nativeSrc":"327383:11:22","nodeType":"YulFunctionCall","src":"327383:11:22"},"variableNames":[{"name":"m1","nativeSrc":"327377:2:22","nodeType":"YulIdentifier","src":"327377:2:22"}]},{"nativeSrc":"327407:17:22","nodeType":"YulAssignment","src":"327407:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327419:4:22","nodeType":"YulLiteral","src":"327419:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"327413:5:22","nodeType":"YulIdentifier","src":"327413:5:22"},"nativeSrc":"327413:11:22","nodeType":"YulFunctionCall","src":"327413:11:22"},"variableNames":[{"name":"m2","nativeSrc":"327407:2:22","nodeType":"YulIdentifier","src":"327407:2:22"}]},{"nativeSrc":"327437:17:22","nodeType":"YulAssignment","src":"327437:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327449:4:22","nodeType":"YulLiteral","src":"327449:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"327443:5:22","nodeType":"YulIdentifier","src":"327443:5:22"},"nativeSrc":"327443:11:22","nodeType":"YulFunctionCall","src":"327443:11:22"},"variableNames":[{"name":"m3","nativeSrc":"327437:2:22","nodeType":"YulIdentifier","src":"327437:2:22"}]},{"nativeSrc":"327467:17:22","nodeType":"YulAssignment","src":"327467:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327479:4:22","nodeType":"YulLiteral","src":"327479:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"327473:5:22","nodeType":"YulIdentifier","src":"327473:5:22"},"nativeSrc":"327473:11:22","nodeType":"YulFunctionCall","src":"327473:11:22"},"variableNames":[{"name":"m4","nativeSrc":"327467:2:22","nodeType":"YulIdentifier","src":"327467:2:22"}]},{"nativeSrc":"327497:17:22","nodeType":"YulAssignment","src":"327497:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327509:4:22","nodeType":"YulLiteral","src":"327509:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"327503:5:22","nodeType":"YulIdentifier","src":"327503:5:22"},"nativeSrc":"327503:11:22","nodeType":"YulFunctionCall","src":"327503:11:22"},"variableNames":[{"name":"m5","nativeSrc":"327497:2:22","nodeType":"YulIdentifier","src":"327497:2:22"}]},{"nativeSrc":"327527:17:22","nodeType":"YulAssignment","src":"327527:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"327539:4:22","nodeType":"YulLiteral","src":"327539:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"327533:5:22","nodeType":"YulIdentifier","src":"327533:5:22"},"nativeSrc":"327533:11:22","nodeType":"YulFunctionCall","src":"327533:11:22"},"variableNames":[{"name":"m6","nativeSrc":"327527:2:22","nodeType":"YulIdentifier","src":"327527:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327630:4:22","nodeType":"YulLiteral","src":"327630:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"327636:10:22","nodeType":"YulLiteral","src":"327636:10:22","type":"","value":"0xed8f28f6"}],"functionName":{"name":"mstore","nativeSrc":"327623:6:22","nodeType":"YulIdentifier","src":"327623:6:22"},"nativeSrc":"327623:24:22","nodeType":"YulFunctionCall","src":"327623:24:22"},"nativeSrc":"327623:24:22","nodeType":"YulExpressionStatement","src":"327623:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327667:4:22","nodeType":"YulLiteral","src":"327667:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"327673:4:22","nodeType":"YulLiteral","src":"327673:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"327660:6:22","nodeType":"YulIdentifier","src":"327660:6:22"},"nativeSrc":"327660:18:22","nodeType":"YulFunctionCall","src":"327660:18:22"},"nativeSrc":"327660:18:22","nodeType":"YulExpressionStatement","src":"327660:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327698:4:22","nodeType":"YulLiteral","src":"327698:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"327704:2:22","nodeType":"YulIdentifier","src":"327704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327691:6:22","nodeType":"YulIdentifier","src":"327691:6:22"},"nativeSrc":"327691:16:22","nodeType":"YulFunctionCall","src":"327691:16:22"},"nativeSrc":"327691:16:22","nodeType":"YulExpressionStatement","src":"327691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327727:4:22","nodeType":"YulLiteral","src":"327727:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"327733:2:22","nodeType":"YulIdentifier","src":"327733:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327720:6:22","nodeType":"YulIdentifier","src":"327720:6:22"},"nativeSrc":"327720:16:22","nodeType":"YulFunctionCall","src":"327720:16:22"},"nativeSrc":"327720:16:22","nodeType":"YulExpressionStatement","src":"327720:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327756:4:22","nodeType":"YulLiteral","src":"327756:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"327762:2:22","nodeType":"YulIdentifier","src":"327762:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327749:6:22","nodeType":"YulIdentifier","src":"327749:6:22"},"nativeSrc":"327749:16:22","nodeType":"YulFunctionCall","src":"327749:16:22"},"nativeSrc":"327749:16:22","nodeType":"YulExpressionStatement","src":"327749:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327790:4:22","nodeType":"YulLiteral","src":"327790:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"327796:2:22","nodeType":"YulIdentifier","src":"327796:2:22"}],"functionName":{"name":"writeString","nativeSrc":"327778:11:22","nodeType":"YulIdentifier","src":"327778:11:22"},"nativeSrc":"327778:21:22","nodeType":"YulFunctionCall","src":"327778:21:22"},"nativeSrc":"327778:21:22","nodeType":"YulExpressionStatement","src":"327778:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41589,"isOffset":false,"isSlot":false,"src":"327347:2:22","valueSize":1},{"declaration":41592,"isOffset":false,"isSlot":false,"src":"327377:2:22","valueSize":1},{"declaration":41595,"isOffset":false,"isSlot":false,"src":"327407:2:22","valueSize":1},{"declaration":41598,"isOffset":false,"isSlot":false,"src":"327437:2:22","valueSize":1},{"declaration":41601,"isOffset":false,"isSlot":false,"src":"327467:2:22","valueSize":1},{"declaration":41604,"isOffset":false,"isSlot":false,"src":"327497:2:22","valueSize":1},{"declaration":41607,"isOffset":false,"isSlot":false,"src":"327527:2:22","valueSize":1},{"declaration":41579,"isOffset":false,"isSlot":false,"src":"327796:2:22","valueSize":1},{"declaration":41581,"isOffset":false,"isSlot":false,"src":"327704:2:22","valueSize":1},{"declaration":41583,"isOffset":false,"isSlot":false,"src":"327733:2:22","valueSize":1},{"declaration":41585,"isOffset":false,"isSlot":false,"src":"327762:2:22","valueSize":1}],"id":41609,"nodeType":"InlineAssembly","src":"326969:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327834:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327840:4:22","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":41610,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"327818:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"327818:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41614,"nodeType":"ExpressionStatement","src":"327818:27:22"},{"AST":{"nativeSrc":"327907:214:22","nodeType":"YulBlock","src":"327907:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"327928:4:22","nodeType":"YulLiteral","src":"327928:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"327934:2:22","nodeType":"YulIdentifier","src":"327934:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327921:6:22","nodeType":"YulIdentifier","src":"327921:6:22"},"nativeSrc":"327921:16:22","nodeType":"YulFunctionCall","src":"327921:16:22"},"nativeSrc":"327921:16:22","nodeType":"YulExpressionStatement","src":"327921:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327957:4:22","nodeType":"YulLiteral","src":"327957:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"327963:2:22","nodeType":"YulIdentifier","src":"327963:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327950:6:22","nodeType":"YulIdentifier","src":"327950:6:22"},"nativeSrc":"327950:16:22","nodeType":"YulFunctionCall","src":"327950:16:22"},"nativeSrc":"327950:16:22","nodeType":"YulExpressionStatement","src":"327950:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327986:4:22","nodeType":"YulLiteral","src":"327986:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"327992:2:22","nodeType":"YulIdentifier","src":"327992:2:22"}],"functionName":{"name":"mstore","nativeSrc":"327979:6:22","nodeType":"YulIdentifier","src":"327979:6:22"},"nativeSrc":"327979:16:22","nodeType":"YulFunctionCall","src":"327979:16:22"},"nativeSrc":"327979:16:22","nodeType":"YulExpressionStatement","src":"327979:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328015:4:22","nodeType":"YulLiteral","src":"328015:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"328021:2:22","nodeType":"YulIdentifier","src":"328021:2:22"}],"functionName":{"name":"mstore","nativeSrc":"328008:6:22","nodeType":"YulIdentifier","src":"328008:6:22"},"nativeSrc":"328008:16:22","nodeType":"YulFunctionCall","src":"328008:16:22"},"nativeSrc":"328008:16:22","nodeType":"YulExpressionStatement","src":"328008:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328044:4:22","nodeType":"YulLiteral","src":"328044:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"328050:2:22","nodeType":"YulIdentifier","src":"328050:2:22"}],"functionName":{"name":"mstore","nativeSrc":"328037:6:22","nodeType":"YulIdentifier","src":"328037:6:22"},"nativeSrc":"328037:16:22","nodeType":"YulFunctionCall","src":"328037:16:22"},"nativeSrc":"328037:16:22","nodeType":"YulExpressionStatement","src":"328037:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328073:4:22","nodeType":"YulLiteral","src":"328073:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"328079:2:22","nodeType":"YulIdentifier","src":"328079:2:22"}],"functionName":{"name":"mstore","nativeSrc":"328066:6:22","nodeType":"YulIdentifier","src":"328066:6:22"},"nativeSrc":"328066:16:22","nodeType":"YulFunctionCall","src":"328066:16:22"},"nativeSrc":"328066:16:22","nodeType":"YulExpressionStatement","src":"328066:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328102:4:22","nodeType":"YulLiteral","src":"328102:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"328108:2:22","nodeType":"YulIdentifier","src":"328108:2:22"}],"functionName":{"name":"mstore","nativeSrc":"328095:6:22","nodeType":"YulIdentifier","src":"328095:6:22"},"nativeSrc":"328095:16:22","nodeType":"YulFunctionCall","src":"328095:16:22"},"nativeSrc":"328095:16:22","nodeType":"YulExpressionStatement","src":"328095:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41589,"isOffset":false,"isSlot":false,"src":"327934:2:22","valueSize":1},{"declaration":41592,"isOffset":false,"isSlot":false,"src":"327963:2:22","valueSize":1},{"declaration":41595,"isOffset":false,"isSlot":false,"src":"327992:2:22","valueSize":1},{"declaration":41598,"isOffset":false,"isSlot":false,"src":"328021:2:22","valueSize":1},{"declaration":41601,"isOffset":false,"isSlot":false,"src":"328050:2:22","valueSize":1},{"declaration":41604,"isOffset":false,"isSlot":false,"src":"328079:2:22","valueSize":1},{"declaration":41607,"isOffset":false,"isSlot":false,"src":"328108:2:22","valueSize":1}],"id":41615,"nodeType":"InlineAssembly","src":"327898:223:22"}]},"id":41617,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"326710:3:22","nodeType":"FunctionDefinition","parameters":{"id":41586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41579,"mutability":"mutable","name":"p0","nameLocation":"326722:2:22","nodeType":"VariableDeclaration","scope":41617,"src":"326714:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326714:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41581,"mutability":"mutable","name":"p1","nameLocation":"326734:2:22","nodeType":"VariableDeclaration","scope":41617,"src":"326726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41580,"name":"address","nodeType":"ElementaryTypeName","src":"326726:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41583,"mutability":"mutable","name":"p2","nameLocation":"326746:2:22","nodeType":"VariableDeclaration","scope":41617,"src":"326738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41582,"name":"address","nodeType":"ElementaryTypeName","src":"326738:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41585,"mutability":"mutable","name":"p3","nameLocation":"326758:2:22","nodeType":"VariableDeclaration","scope":41617,"src":"326750:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41584,"name":"address","nodeType":"ElementaryTypeName","src":"326750:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"326713:48:22"},"returnParameters":{"id":41587,"nodeType":"ParameterList","parameters":[],"src":"326776:0:22"},"scope":44426,"src":"326701:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41656,"nodeType":"Block","src":"328205:1348:22","statements":[{"assignments":[41629],"declarations":[{"constant":false,"id":41629,"mutability":"mutable","name":"m0","nameLocation":"328223:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328215:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41628,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328215:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41630,"nodeType":"VariableDeclarationStatement","src":"328215:10:22"},{"assignments":[41632],"declarations":[{"constant":false,"id":41632,"mutability":"mutable","name":"m1","nameLocation":"328243:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328235:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328235:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41633,"nodeType":"VariableDeclarationStatement","src":"328235:10:22"},{"assignments":[41635],"declarations":[{"constant":false,"id":41635,"mutability":"mutable","name":"m2","nameLocation":"328263:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328255:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328255:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41636,"nodeType":"VariableDeclarationStatement","src":"328255:10:22"},{"assignments":[41638],"declarations":[{"constant":false,"id":41638,"mutability":"mutable","name":"m3","nameLocation":"328283:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328275:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328275:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41639,"nodeType":"VariableDeclarationStatement","src":"328275:10:22"},{"assignments":[41641],"declarations":[{"constant":false,"id":41641,"mutability":"mutable","name":"m4","nameLocation":"328303:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328295:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328295:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41642,"nodeType":"VariableDeclarationStatement","src":"328295:10:22"},{"assignments":[41644],"declarations":[{"constant":false,"id":41644,"mutability":"mutable","name":"m5","nameLocation":"328323:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328315:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328315:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41645,"nodeType":"VariableDeclarationStatement","src":"328315:10:22"},{"assignments":[41647],"declarations":[{"constant":false,"id":41647,"mutability":"mutable","name":"m6","nameLocation":"328343:2:22","nodeType":"VariableDeclaration","scope":41656,"src":"328335:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328335:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41648,"nodeType":"VariableDeclarationStatement","src":"328335:10:22"},{"AST":{"nativeSrc":"328407:828:22","nodeType":"YulBlock","src":"328407:828:22","statements":[{"body":{"nativeSrc":"328450:313:22","nodeType":"YulBlock","src":"328450:313:22","statements":[{"nativeSrc":"328468:15:22","nodeType":"YulVariableDeclaration","src":"328468:15:22","value":{"kind":"number","nativeSrc":"328482:1:22","nodeType":"YulLiteral","src":"328482:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"328472:6:22","nodeType":"YulTypedName","src":"328472:6:22","type":""}]},{"body":{"nativeSrc":"328553:40:22","nodeType":"YulBlock","src":"328553:40:22","statements":[{"body":{"nativeSrc":"328582:9:22","nodeType":"YulBlock","src":"328582:9:22","statements":[{"nativeSrc":"328584:5:22","nodeType":"YulBreak","src":"328584:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"328570:6:22","nodeType":"YulIdentifier","src":"328570:6:22"},{"name":"w","nativeSrc":"328578:1:22","nodeType":"YulIdentifier","src":"328578:1:22"}],"functionName":{"name":"byte","nativeSrc":"328565:4:22","nodeType":"YulIdentifier","src":"328565:4:22"},"nativeSrc":"328565:15:22","nodeType":"YulFunctionCall","src":"328565:15:22"}],"functionName":{"name":"iszero","nativeSrc":"328558:6:22","nodeType":"YulIdentifier","src":"328558:6:22"},"nativeSrc":"328558:23:22","nodeType":"YulFunctionCall","src":"328558:23:22"},"nativeSrc":"328555:36:22","nodeType":"YulIf","src":"328555:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"328510:6:22","nodeType":"YulIdentifier","src":"328510:6:22"},{"kind":"number","nativeSrc":"328518:4:22","nodeType":"YulLiteral","src":"328518:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"328507:2:22","nodeType":"YulIdentifier","src":"328507:2:22"},"nativeSrc":"328507:16:22","nodeType":"YulFunctionCall","src":"328507:16:22"},"nativeSrc":"328500:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"328524:28:22","nodeType":"YulBlock","src":"328524:28:22","statements":[{"nativeSrc":"328526:24:22","nodeType":"YulAssignment","src":"328526:24:22","value":{"arguments":[{"name":"length","nativeSrc":"328540:6:22","nodeType":"YulIdentifier","src":"328540:6:22"},{"kind":"number","nativeSrc":"328548:1:22","nodeType":"YulLiteral","src":"328548:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"328536:3:22","nodeType":"YulIdentifier","src":"328536:3:22"},"nativeSrc":"328536:14:22","nodeType":"YulFunctionCall","src":"328536:14:22"},"variableNames":[{"name":"length","nativeSrc":"328526:6:22","nodeType":"YulIdentifier","src":"328526:6:22"}]}]},"pre":{"nativeSrc":"328504:2:22","nodeType":"YulBlock","src":"328504:2:22","statements":[]},"src":"328500:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"328617:3:22","nodeType":"YulIdentifier","src":"328617:3:22"},{"name":"length","nativeSrc":"328622:6:22","nodeType":"YulIdentifier","src":"328622:6:22"}],"functionName":{"name":"mstore","nativeSrc":"328610:6:22","nodeType":"YulIdentifier","src":"328610:6:22"},"nativeSrc":"328610:19:22","nodeType":"YulFunctionCall","src":"328610:19:22"},"nativeSrc":"328610:19:22","nodeType":"YulExpressionStatement","src":"328610:19:22"},{"nativeSrc":"328646:37:22","nodeType":"YulVariableDeclaration","src":"328646:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"328663:3:22","nodeType":"YulLiteral","src":"328663:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"328672:1:22","nodeType":"YulLiteral","src":"328672:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"328675:6:22","nodeType":"YulIdentifier","src":"328675:6:22"}],"functionName":{"name":"shl","nativeSrc":"328668:3:22","nodeType":"YulIdentifier","src":"328668:3:22"},"nativeSrc":"328668:14:22","nodeType":"YulFunctionCall","src":"328668:14:22"}],"functionName":{"name":"sub","nativeSrc":"328659:3:22","nodeType":"YulIdentifier","src":"328659:3:22"},"nativeSrc":"328659:24:22","nodeType":"YulFunctionCall","src":"328659:24:22"},"variables":[{"name":"shift","nativeSrc":"328650:5:22","nodeType":"YulTypedName","src":"328650:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"328711:3:22","nodeType":"YulIdentifier","src":"328711:3:22"},{"kind":"number","nativeSrc":"328716:4:22","nodeType":"YulLiteral","src":"328716:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"328707:3:22","nodeType":"YulIdentifier","src":"328707:3:22"},"nativeSrc":"328707:14:22","nodeType":"YulFunctionCall","src":"328707:14:22"},{"arguments":[{"name":"shift","nativeSrc":"328727:5:22","nodeType":"YulIdentifier","src":"328727:5:22"},{"arguments":[{"name":"shift","nativeSrc":"328738:5:22","nodeType":"YulIdentifier","src":"328738:5:22"},{"name":"w","nativeSrc":"328745:1:22","nodeType":"YulIdentifier","src":"328745:1:22"}],"functionName":{"name":"shr","nativeSrc":"328734:3:22","nodeType":"YulIdentifier","src":"328734:3:22"},"nativeSrc":"328734:13:22","nodeType":"YulFunctionCall","src":"328734:13:22"}],"functionName":{"name":"shl","nativeSrc":"328723:3:22","nodeType":"YulIdentifier","src":"328723:3:22"},"nativeSrc":"328723:25:22","nodeType":"YulFunctionCall","src":"328723:25:22"}],"functionName":{"name":"mstore","nativeSrc":"328700:6:22","nodeType":"YulIdentifier","src":"328700:6:22"},"nativeSrc":"328700:49:22","nodeType":"YulFunctionCall","src":"328700:49:22"},"nativeSrc":"328700:49:22","nodeType":"YulExpressionStatement","src":"328700:49:22"}]},"name":"writeString","nativeSrc":"328421:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"328442:3:22","nodeType":"YulTypedName","src":"328442:3:22","type":""},{"name":"w","nativeSrc":"328447:1:22","nodeType":"YulTypedName","src":"328447:1:22","type":""}],"src":"328421:342:22"},{"nativeSrc":"328776:17:22","nodeType":"YulAssignment","src":"328776:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328788:4:22","nodeType":"YulLiteral","src":"328788:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"328782:5:22","nodeType":"YulIdentifier","src":"328782:5:22"},"nativeSrc":"328782:11:22","nodeType":"YulFunctionCall","src":"328782:11:22"},"variableNames":[{"name":"m0","nativeSrc":"328776:2:22","nodeType":"YulIdentifier","src":"328776:2:22"}]},{"nativeSrc":"328806:17:22","nodeType":"YulAssignment","src":"328806:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328818:4:22","nodeType":"YulLiteral","src":"328818:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"328812:5:22","nodeType":"YulIdentifier","src":"328812:5:22"},"nativeSrc":"328812:11:22","nodeType":"YulFunctionCall","src":"328812:11:22"},"variableNames":[{"name":"m1","nativeSrc":"328806:2:22","nodeType":"YulIdentifier","src":"328806:2:22"}]},{"nativeSrc":"328836:17:22","nodeType":"YulAssignment","src":"328836:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328848:4:22","nodeType":"YulLiteral","src":"328848:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"328842:5:22","nodeType":"YulIdentifier","src":"328842:5:22"},"nativeSrc":"328842:11:22","nodeType":"YulFunctionCall","src":"328842:11:22"},"variableNames":[{"name":"m2","nativeSrc":"328836:2:22","nodeType":"YulIdentifier","src":"328836:2:22"}]},{"nativeSrc":"328866:17:22","nodeType":"YulAssignment","src":"328866:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328878:4:22","nodeType":"YulLiteral","src":"328878:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"328872:5:22","nodeType":"YulIdentifier","src":"328872:5:22"},"nativeSrc":"328872:11:22","nodeType":"YulFunctionCall","src":"328872:11:22"},"variableNames":[{"name":"m3","nativeSrc":"328866:2:22","nodeType":"YulIdentifier","src":"328866:2:22"}]},{"nativeSrc":"328896:17:22","nodeType":"YulAssignment","src":"328896:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328908:4:22","nodeType":"YulLiteral","src":"328908:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"328902:5:22","nodeType":"YulIdentifier","src":"328902:5:22"},"nativeSrc":"328902:11:22","nodeType":"YulFunctionCall","src":"328902:11:22"},"variableNames":[{"name":"m4","nativeSrc":"328896:2:22","nodeType":"YulIdentifier","src":"328896:2:22"}]},{"nativeSrc":"328926:17:22","nodeType":"YulAssignment","src":"328926:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328938:4:22","nodeType":"YulLiteral","src":"328938:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"328932:5:22","nodeType":"YulIdentifier","src":"328932:5:22"},"nativeSrc":"328932:11:22","nodeType":"YulFunctionCall","src":"328932:11:22"},"variableNames":[{"name":"m5","nativeSrc":"328926:2:22","nodeType":"YulIdentifier","src":"328926:2:22"}]},{"nativeSrc":"328956:17:22","nodeType":"YulAssignment","src":"328956:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"328968:4:22","nodeType":"YulLiteral","src":"328968:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"328962:5:22","nodeType":"YulIdentifier","src":"328962:5:22"},"nativeSrc":"328962:11:22","nodeType":"YulFunctionCall","src":"328962:11:22"},"variableNames":[{"name":"m6","nativeSrc":"328956:2:22","nodeType":"YulIdentifier","src":"328956:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329056:4:22","nodeType":"YulLiteral","src":"329056:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"329062:10:22","nodeType":"YulLiteral","src":"329062:10:22","type":"","value":"0xb59dbd60"}],"functionName":{"name":"mstore","nativeSrc":"329049:6:22","nodeType":"YulIdentifier","src":"329049:6:22"},"nativeSrc":"329049:24:22","nodeType":"YulFunctionCall","src":"329049:24:22"},"nativeSrc":"329049:24:22","nodeType":"YulExpressionStatement","src":"329049:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329093:4:22","nodeType":"YulLiteral","src":"329093:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"329099:4:22","nodeType":"YulLiteral","src":"329099:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"329086:6:22","nodeType":"YulIdentifier","src":"329086:6:22"},"nativeSrc":"329086:18:22","nodeType":"YulFunctionCall","src":"329086:18:22"},"nativeSrc":"329086:18:22","nodeType":"YulExpressionStatement","src":"329086:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329124:4:22","nodeType":"YulLiteral","src":"329124:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"329130:2:22","nodeType":"YulIdentifier","src":"329130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329117:6:22","nodeType":"YulIdentifier","src":"329117:6:22"},"nativeSrc":"329117:16:22","nodeType":"YulFunctionCall","src":"329117:16:22"},"nativeSrc":"329117:16:22","nodeType":"YulExpressionStatement","src":"329117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329153:4:22","nodeType":"YulLiteral","src":"329153:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"329159:2:22","nodeType":"YulIdentifier","src":"329159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329146:6:22","nodeType":"YulIdentifier","src":"329146:6:22"},"nativeSrc":"329146:16:22","nodeType":"YulFunctionCall","src":"329146:16:22"},"nativeSrc":"329146:16:22","nodeType":"YulExpressionStatement","src":"329146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329182:4:22","nodeType":"YulLiteral","src":"329182:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"329188:2:22","nodeType":"YulIdentifier","src":"329188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329175:6:22","nodeType":"YulIdentifier","src":"329175:6:22"},"nativeSrc":"329175:16:22","nodeType":"YulFunctionCall","src":"329175:16:22"},"nativeSrc":"329175:16:22","nodeType":"YulExpressionStatement","src":"329175:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329216:4:22","nodeType":"YulLiteral","src":"329216:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"329222:2:22","nodeType":"YulIdentifier","src":"329222:2:22"}],"functionName":{"name":"writeString","nativeSrc":"329204:11:22","nodeType":"YulIdentifier","src":"329204:11:22"},"nativeSrc":"329204:21:22","nodeType":"YulFunctionCall","src":"329204:21:22"},"nativeSrc":"329204:21:22","nodeType":"YulExpressionStatement","src":"329204:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41629,"isOffset":false,"isSlot":false,"src":"328776:2:22","valueSize":1},{"declaration":41632,"isOffset":false,"isSlot":false,"src":"328806:2:22","valueSize":1},{"declaration":41635,"isOffset":false,"isSlot":false,"src":"328836:2:22","valueSize":1},{"declaration":41638,"isOffset":false,"isSlot":false,"src":"328866:2:22","valueSize":1},{"declaration":41641,"isOffset":false,"isSlot":false,"src":"328896:2:22","valueSize":1},{"declaration":41644,"isOffset":false,"isSlot":false,"src":"328926:2:22","valueSize":1},{"declaration":41647,"isOffset":false,"isSlot":false,"src":"328956:2:22","valueSize":1},{"declaration":41619,"isOffset":false,"isSlot":false,"src":"329222:2:22","valueSize":1},{"declaration":41621,"isOffset":false,"isSlot":false,"src":"329130:2:22","valueSize":1},{"declaration":41623,"isOffset":false,"isSlot":false,"src":"329159:2:22","valueSize":1},{"declaration":41625,"isOffset":false,"isSlot":false,"src":"329188:2:22","valueSize":1}],"id":41649,"nodeType":"InlineAssembly","src":"328398:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329260:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329266:4:22","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":41650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"329244:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"329244:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41654,"nodeType":"ExpressionStatement","src":"329244:27:22"},{"AST":{"nativeSrc":"329333:214:22","nodeType":"YulBlock","src":"329333:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"329354:4:22","nodeType":"YulLiteral","src":"329354:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"329360:2:22","nodeType":"YulIdentifier","src":"329360:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329347:6:22","nodeType":"YulIdentifier","src":"329347:6:22"},"nativeSrc":"329347:16:22","nodeType":"YulFunctionCall","src":"329347:16:22"},"nativeSrc":"329347:16:22","nodeType":"YulExpressionStatement","src":"329347:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329383:4:22","nodeType":"YulLiteral","src":"329383:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"329389:2:22","nodeType":"YulIdentifier","src":"329389:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329376:6:22","nodeType":"YulIdentifier","src":"329376:6:22"},"nativeSrc":"329376:16:22","nodeType":"YulFunctionCall","src":"329376:16:22"},"nativeSrc":"329376:16:22","nodeType":"YulExpressionStatement","src":"329376:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329412:4:22","nodeType":"YulLiteral","src":"329412:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"329418:2:22","nodeType":"YulIdentifier","src":"329418:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329405:6:22","nodeType":"YulIdentifier","src":"329405:6:22"},"nativeSrc":"329405:16:22","nodeType":"YulFunctionCall","src":"329405:16:22"},"nativeSrc":"329405:16:22","nodeType":"YulExpressionStatement","src":"329405:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329441:4:22","nodeType":"YulLiteral","src":"329441:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"329447:2:22","nodeType":"YulIdentifier","src":"329447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329434:6:22","nodeType":"YulIdentifier","src":"329434:6:22"},"nativeSrc":"329434:16:22","nodeType":"YulFunctionCall","src":"329434:16:22"},"nativeSrc":"329434:16:22","nodeType":"YulExpressionStatement","src":"329434:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329470:4:22","nodeType":"YulLiteral","src":"329470:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"329476:2:22","nodeType":"YulIdentifier","src":"329476:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329463:6:22","nodeType":"YulIdentifier","src":"329463:6:22"},"nativeSrc":"329463:16:22","nodeType":"YulFunctionCall","src":"329463:16:22"},"nativeSrc":"329463:16:22","nodeType":"YulExpressionStatement","src":"329463:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329499:4:22","nodeType":"YulLiteral","src":"329499:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"329505:2:22","nodeType":"YulIdentifier","src":"329505:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329492:6:22","nodeType":"YulIdentifier","src":"329492:6:22"},"nativeSrc":"329492:16:22","nodeType":"YulFunctionCall","src":"329492:16:22"},"nativeSrc":"329492:16:22","nodeType":"YulExpressionStatement","src":"329492:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329528:4:22","nodeType":"YulLiteral","src":"329528:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"329534:2:22","nodeType":"YulIdentifier","src":"329534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"329521:6:22","nodeType":"YulIdentifier","src":"329521:6:22"},"nativeSrc":"329521:16:22","nodeType":"YulFunctionCall","src":"329521:16:22"},"nativeSrc":"329521:16:22","nodeType":"YulExpressionStatement","src":"329521:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41629,"isOffset":false,"isSlot":false,"src":"329360:2:22","valueSize":1},{"declaration":41632,"isOffset":false,"isSlot":false,"src":"329389:2:22","valueSize":1},{"declaration":41635,"isOffset":false,"isSlot":false,"src":"329418:2:22","valueSize":1},{"declaration":41638,"isOffset":false,"isSlot":false,"src":"329447:2:22","valueSize":1},{"declaration":41641,"isOffset":false,"isSlot":false,"src":"329476:2:22","valueSize":1},{"declaration":41644,"isOffset":false,"isSlot":false,"src":"329505:2:22","valueSize":1},{"declaration":41647,"isOffset":false,"isSlot":false,"src":"329534:2:22","valueSize":1}],"id":41655,"nodeType":"InlineAssembly","src":"329324:223:22"}]},"id":41657,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"328142:3:22","nodeType":"FunctionDefinition","parameters":{"id":41626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41619,"mutability":"mutable","name":"p0","nameLocation":"328154:2:22","nodeType":"VariableDeclaration","scope":41657,"src":"328146:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328146:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41621,"mutability":"mutable","name":"p1","nameLocation":"328166:2:22","nodeType":"VariableDeclaration","scope":41657,"src":"328158:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41620,"name":"address","nodeType":"ElementaryTypeName","src":"328158:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41623,"mutability":"mutable","name":"p2","nameLocation":"328178:2:22","nodeType":"VariableDeclaration","scope":41657,"src":"328170:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41622,"name":"address","nodeType":"ElementaryTypeName","src":"328170:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41625,"mutability":"mutable","name":"p3","nameLocation":"328187:2:22","nodeType":"VariableDeclaration","scope":41657,"src":"328182:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41624,"name":"bool","nodeType":"ElementaryTypeName","src":"328182:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"328145:45:22"},"returnParameters":{"id":41627,"nodeType":"ParameterList","parameters":[],"src":"328205:0:22"},"scope":44426,"src":"328133:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41696,"nodeType":"Block","src":"329634:1351:22","statements":[{"assignments":[41669],"declarations":[{"constant":false,"id":41669,"mutability":"mutable","name":"m0","nameLocation":"329652:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329644:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329644:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41670,"nodeType":"VariableDeclarationStatement","src":"329644:10:22"},{"assignments":[41672],"declarations":[{"constant":false,"id":41672,"mutability":"mutable","name":"m1","nameLocation":"329672:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329664:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329664:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41673,"nodeType":"VariableDeclarationStatement","src":"329664:10:22"},{"assignments":[41675],"declarations":[{"constant":false,"id":41675,"mutability":"mutable","name":"m2","nameLocation":"329692:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41676,"nodeType":"VariableDeclarationStatement","src":"329684:10:22"},{"assignments":[41678],"declarations":[{"constant":false,"id":41678,"mutability":"mutable","name":"m3","nameLocation":"329712:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329704:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329704:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41679,"nodeType":"VariableDeclarationStatement","src":"329704:10:22"},{"assignments":[41681],"declarations":[{"constant":false,"id":41681,"mutability":"mutable","name":"m4","nameLocation":"329732:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329724:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329724:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41682,"nodeType":"VariableDeclarationStatement","src":"329724:10:22"},{"assignments":[41684],"declarations":[{"constant":false,"id":41684,"mutability":"mutable","name":"m5","nameLocation":"329752:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329744:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41685,"nodeType":"VariableDeclarationStatement","src":"329744:10:22"},{"assignments":[41687],"declarations":[{"constant":false,"id":41687,"mutability":"mutable","name":"m6","nameLocation":"329772:2:22","nodeType":"VariableDeclaration","scope":41696,"src":"329764:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329764:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41688,"nodeType":"VariableDeclarationStatement","src":"329764:10:22"},{"AST":{"nativeSrc":"329836:831:22","nodeType":"YulBlock","src":"329836:831:22","statements":[{"body":{"nativeSrc":"329879:313:22","nodeType":"YulBlock","src":"329879:313:22","statements":[{"nativeSrc":"329897:15:22","nodeType":"YulVariableDeclaration","src":"329897:15:22","value":{"kind":"number","nativeSrc":"329911:1:22","nodeType":"YulLiteral","src":"329911:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"329901:6:22","nodeType":"YulTypedName","src":"329901:6:22","type":""}]},{"body":{"nativeSrc":"329982:40:22","nodeType":"YulBlock","src":"329982:40:22","statements":[{"body":{"nativeSrc":"330011:9:22","nodeType":"YulBlock","src":"330011:9:22","statements":[{"nativeSrc":"330013:5:22","nodeType":"YulBreak","src":"330013:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"329999:6:22","nodeType":"YulIdentifier","src":"329999:6:22"},{"name":"w","nativeSrc":"330007:1:22","nodeType":"YulIdentifier","src":"330007:1:22"}],"functionName":{"name":"byte","nativeSrc":"329994:4:22","nodeType":"YulIdentifier","src":"329994:4:22"},"nativeSrc":"329994:15:22","nodeType":"YulFunctionCall","src":"329994:15:22"}],"functionName":{"name":"iszero","nativeSrc":"329987:6:22","nodeType":"YulIdentifier","src":"329987:6:22"},"nativeSrc":"329987:23:22","nodeType":"YulFunctionCall","src":"329987:23:22"},"nativeSrc":"329984:36:22","nodeType":"YulIf","src":"329984:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"329939:6:22","nodeType":"YulIdentifier","src":"329939:6:22"},{"kind":"number","nativeSrc":"329947:4:22","nodeType":"YulLiteral","src":"329947:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"329936:2:22","nodeType":"YulIdentifier","src":"329936:2:22"},"nativeSrc":"329936:16:22","nodeType":"YulFunctionCall","src":"329936:16:22"},"nativeSrc":"329929:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"329953:28:22","nodeType":"YulBlock","src":"329953:28:22","statements":[{"nativeSrc":"329955:24:22","nodeType":"YulAssignment","src":"329955:24:22","value":{"arguments":[{"name":"length","nativeSrc":"329969:6:22","nodeType":"YulIdentifier","src":"329969:6:22"},{"kind":"number","nativeSrc":"329977:1:22","nodeType":"YulLiteral","src":"329977:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"329965:3:22","nodeType":"YulIdentifier","src":"329965:3:22"},"nativeSrc":"329965:14:22","nodeType":"YulFunctionCall","src":"329965:14:22"},"variableNames":[{"name":"length","nativeSrc":"329955:6:22","nodeType":"YulIdentifier","src":"329955:6:22"}]}]},"pre":{"nativeSrc":"329933:2:22","nodeType":"YulBlock","src":"329933:2:22","statements":[]},"src":"329929:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"330046:3:22","nodeType":"YulIdentifier","src":"330046:3:22"},{"name":"length","nativeSrc":"330051:6:22","nodeType":"YulIdentifier","src":"330051:6:22"}],"functionName":{"name":"mstore","nativeSrc":"330039:6:22","nodeType":"YulIdentifier","src":"330039:6:22"},"nativeSrc":"330039:19:22","nodeType":"YulFunctionCall","src":"330039:19:22"},"nativeSrc":"330039:19:22","nodeType":"YulExpressionStatement","src":"330039:19:22"},{"nativeSrc":"330075:37:22","nodeType":"YulVariableDeclaration","src":"330075:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"330092:3:22","nodeType":"YulLiteral","src":"330092:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"330101:1:22","nodeType":"YulLiteral","src":"330101:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"330104:6:22","nodeType":"YulIdentifier","src":"330104:6:22"}],"functionName":{"name":"shl","nativeSrc":"330097:3:22","nodeType":"YulIdentifier","src":"330097:3:22"},"nativeSrc":"330097:14:22","nodeType":"YulFunctionCall","src":"330097:14:22"}],"functionName":{"name":"sub","nativeSrc":"330088:3:22","nodeType":"YulIdentifier","src":"330088:3:22"},"nativeSrc":"330088:24:22","nodeType":"YulFunctionCall","src":"330088:24:22"},"variables":[{"name":"shift","nativeSrc":"330079:5:22","nodeType":"YulTypedName","src":"330079:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"330140:3:22","nodeType":"YulIdentifier","src":"330140:3:22"},{"kind":"number","nativeSrc":"330145:4:22","nodeType":"YulLiteral","src":"330145:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"330136:3:22","nodeType":"YulIdentifier","src":"330136:3:22"},"nativeSrc":"330136:14:22","nodeType":"YulFunctionCall","src":"330136:14:22"},{"arguments":[{"name":"shift","nativeSrc":"330156:5:22","nodeType":"YulIdentifier","src":"330156:5:22"},{"arguments":[{"name":"shift","nativeSrc":"330167:5:22","nodeType":"YulIdentifier","src":"330167:5:22"},{"name":"w","nativeSrc":"330174:1:22","nodeType":"YulIdentifier","src":"330174:1:22"}],"functionName":{"name":"shr","nativeSrc":"330163:3:22","nodeType":"YulIdentifier","src":"330163:3:22"},"nativeSrc":"330163:13:22","nodeType":"YulFunctionCall","src":"330163:13:22"}],"functionName":{"name":"shl","nativeSrc":"330152:3:22","nodeType":"YulIdentifier","src":"330152:3:22"},"nativeSrc":"330152:25:22","nodeType":"YulFunctionCall","src":"330152:25:22"}],"functionName":{"name":"mstore","nativeSrc":"330129:6:22","nodeType":"YulIdentifier","src":"330129:6:22"},"nativeSrc":"330129:49:22","nodeType":"YulFunctionCall","src":"330129:49:22"},"nativeSrc":"330129:49:22","nodeType":"YulExpressionStatement","src":"330129:49:22"}]},"name":"writeString","nativeSrc":"329850:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"329871:3:22","nodeType":"YulTypedName","src":"329871:3:22","type":""},{"name":"w","nativeSrc":"329876:1:22","nodeType":"YulTypedName","src":"329876:1:22","type":""}],"src":"329850:342:22"},{"nativeSrc":"330205:17:22","nodeType":"YulAssignment","src":"330205:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330217:4:22","nodeType":"YulLiteral","src":"330217:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"330211:5:22","nodeType":"YulIdentifier","src":"330211:5:22"},"nativeSrc":"330211:11:22","nodeType":"YulFunctionCall","src":"330211:11:22"},"variableNames":[{"name":"m0","nativeSrc":"330205:2:22","nodeType":"YulIdentifier","src":"330205:2:22"}]},{"nativeSrc":"330235:17:22","nodeType":"YulAssignment","src":"330235:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330247:4:22","nodeType":"YulLiteral","src":"330247:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"330241:5:22","nodeType":"YulIdentifier","src":"330241:5:22"},"nativeSrc":"330241:11:22","nodeType":"YulFunctionCall","src":"330241:11:22"},"variableNames":[{"name":"m1","nativeSrc":"330235:2:22","nodeType":"YulIdentifier","src":"330235:2:22"}]},{"nativeSrc":"330265:17:22","nodeType":"YulAssignment","src":"330265:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330277:4:22","nodeType":"YulLiteral","src":"330277:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"330271:5:22","nodeType":"YulIdentifier","src":"330271:5:22"},"nativeSrc":"330271:11:22","nodeType":"YulFunctionCall","src":"330271:11:22"},"variableNames":[{"name":"m2","nativeSrc":"330265:2:22","nodeType":"YulIdentifier","src":"330265:2:22"}]},{"nativeSrc":"330295:17:22","nodeType":"YulAssignment","src":"330295:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330307:4:22","nodeType":"YulLiteral","src":"330307:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"330301:5:22","nodeType":"YulIdentifier","src":"330301:5:22"},"nativeSrc":"330301:11:22","nodeType":"YulFunctionCall","src":"330301:11:22"},"variableNames":[{"name":"m3","nativeSrc":"330295:2:22","nodeType":"YulIdentifier","src":"330295:2:22"}]},{"nativeSrc":"330325:17:22","nodeType":"YulAssignment","src":"330325:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330337:4:22","nodeType":"YulLiteral","src":"330337:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"330331:5:22","nodeType":"YulIdentifier","src":"330331:5:22"},"nativeSrc":"330331:11:22","nodeType":"YulFunctionCall","src":"330331:11:22"},"variableNames":[{"name":"m4","nativeSrc":"330325:2:22","nodeType":"YulIdentifier","src":"330325:2:22"}]},{"nativeSrc":"330355:17:22","nodeType":"YulAssignment","src":"330355:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330367:4:22","nodeType":"YulLiteral","src":"330367:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"330361:5:22","nodeType":"YulIdentifier","src":"330361:5:22"},"nativeSrc":"330361:11:22","nodeType":"YulFunctionCall","src":"330361:11:22"},"variableNames":[{"name":"m5","nativeSrc":"330355:2:22","nodeType":"YulIdentifier","src":"330355:2:22"}]},{"nativeSrc":"330385:17:22","nodeType":"YulAssignment","src":"330385:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"330397:4:22","nodeType":"YulLiteral","src":"330397:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"330391:5:22","nodeType":"YulIdentifier","src":"330391:5:22"},"nativeSrc":"330391:11:22","nodeType":"YulFunctionCall","src":"330391:11:22"},"variableNames":[{"name":"m6","nativeSrc":"330385:2:22","nodeType":"YulIdentifier","src":"330385:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330488:4:22","nodeType":"YulLiteral","src":"330488:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"330494:10:22","nodeType":"YulLiteral","src":"330494:10:22","type":"","value":"0x8ef3f399"}],"functionName":{"name":"mstore","nativeSrc":"330481:6:22","nodeType":"YulIdentifier","src":"330481:6:22"},"nativeSrc":"330481:24:22","nodeType":"YulFunctionCall","src":"330481:24:22"},"nativeSrc":"330481:24:22","nodeType":"YulExpressionStatement","src":"330481:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330525:4:22","nodeType":"YulLiteral","src":"330525:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"330531:4:22","nodeType":"YulLiteral","src":"330531:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"330518:6:22","nodeType":"YulIdentifier","src":"330518:6:22"},"nativeSrc":"330518:18:22","nodeType":"YulFunctionCall","src":"330518:18:22"},"nativeSrc":"330518:18:22","nodeType":"YulExpressionStatement","src":"330518:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330556:4:22","nodeType":"YulLiteral","src":"330556:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"330562:2:22","nodeType":"YulIdentifier","src":"330562:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330549:6:22","nodeType":"YulIdentifier","src":"330549:6:22"},"nativeSrc":"330549:16:22","nodeType":"YulFunctionCall","src":"330549:16:22"},"nativeSrc":"330549:16:22","nodeType":"YulExpressionStatement","src":"330549:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330585:4:22","nodeType":"YulLiteral","src":"330585:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"330591:2:22","nodeType":"YulIdentifier","src":"330591:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330578:6:22","nodeType":"YulIdentifier","src":"330578:6:22"},"nativeSrc":"330578:16:22","nodeType":"YulFunctionCall","src":"330578:16:22"},"nativeSrc":"330578:16:22","nodeType":"YulExpressionStatement","src":"330578:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330614:4:22","nodeType":"YulLiteral","src":"330614:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"330620:2:22","nodeType":"YulIdentifier","src":"330620:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330607:6:22","nodeType":"YulIdentifier","src":"330607:6:22"},"nativeSrc":"330607:16:22","nodeType":"YulFunctionCall","src":"330607:16:22"},"nativeSrc":"330607:16:22","nodeType":"YulExpressionStatement","src":"330607:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330648:4:22","nodeType":"YulLiteral","src":"330648:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"330654:2:22","nodeType":"YulIdentifier","src":"330654:2:22"}],"functionName":{"name":"writeString","nativeSrc":"330636:11:22","nodeType":"YulIdentifier","src":"330636:11:22"},"nativeSrc":"330636:21:22","nodeType":"YulFunctionCall","src":"330636:21:22"},"nativeSrc":"330636:21:22","nodeType":"YulExpressionStatement","src":"330636:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41669,"isOffset":false,"isSlot":false,"src":"330205:2:22","valueSize":1},{"declaration":41672,"isOffset":false,"isSlot":false,"src":"330235:2:22","valueSize":1},{"declaration":41675,"isOffset":false,"isSlot":false,"src":"330265:2:22","valueSize":1},{"declaration":41678,"isOffset":false,"isSlot":false,"src":"330295:2:22","valueSize":1},{"declaration":41681,"isOffset":false,"isSlot":false,"src":"330325:2:22","valueSize":1},{"declaration":41684,"isOffset":false,"isSlot":false,"src":"330355:2:22","valueSize":1},{"declaration":41687,"isOffset":false,"isSlot":false,"src":"330385:2:22","valueSize":1},{"declaration":41659,"isOffset":false,"isSlot":false,"src":"330654:2:22","valueSize":1},{"declaration":41661,"isOffset":false,"isSlot":false,"src":"330562:2:22","valueSize":1},{"declaration":41663,"isOffset":false,"isSlot":false,"src":"330591:2:22","valueSize":1},{"declaration":41665,"isOffset":false,"isSlot":false,"src":"330620:2:22","valueSize":1}],"id":41689,"nodeType":"InlineAssembly","src":"329827:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330692:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330698:4:22","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":41690,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"330676:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"330676:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41694,"nodeType":"ExpressionStatement","src":"330676:27:22"},{"AST":{"nativeSrc":"330765:214:22","nodeType":"YulBlock","src":"330765:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"330786:4:22","nodeType":"YulLiteral","src":"330786:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"330792:2:22","nodeType":"YulIdentifier","src":"330792:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330779:6:22","nodeType":"YulIdentifier","src":"330779:6:22"},"nativeSrc":"330779:16:22","nodeType":"YulFunctionCall","src":"330779:16:22"},"nativeSrc":"330779:16:22","nodeType":"YulExpressionStatement","src":"330779:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330815:4:22","nodeType":"YulLiteral","src":"330815:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"330821:2:22","nodeType":"YulIdentifier","src":"330821:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330808:6:22","nodeType":"YulIdentifier","src":"330808:6:22"},"nativeSrc":"330808:16:22","nodeType":"YulFunctionCall","src":"330808:16:22"},"nativeSrc":"330808:16:22","nodeType":"YulExpressionStatement","src":"330808:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330844:4:22","nodeType":"YulLiteral","src":"330844:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"330850:2:22","nodeType":"YulIdentifier","src":"330850:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330837:6:22","nodeType":"YulIdentifier","src":"330837:6:22"},"nativeSrc":"330837:16:22","nodeType":"YulFunctionCall","src":"330837:16:22"},"nativeSrc":"330837:16:22","nodeType":"YulExpressionStatement","src":"330837:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330873:4:22","nodeType":"YulLiteral","src":"330873:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"330879:2:22","nodeType":"YulIdentifier","src":"330879:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330866:6:22","nodeType":"YulIdentifier","src":"330866:6:22"},"nativeSrc":"330866:16:22","nodeType":"YulFunctionCall","src":"330866:16:22"},"nativeSrc":"330866:16:22","nodeType":"YulExpressionStatement","src":"330866:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330902:4:22","nodeType":"YulLiteral","src":"330902:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"330908:2:22","nodeType":"YulIdentifier","src":"330908:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330895:6:22","nodeType":"YulIdentifier","src":"330895:6:22"},"nativeSrc":"330895:16:22","nodeType":"YulFunctionCall","src":"330895:16:22"},"nativeSrc":"330895:16:22","nodeType":"YulExpressionStatement","src":"330895:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330931:4:22","nodeType":"YulLiteral","src":"330931:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"330937:2:22","nodeType":"YulIdentifier","src":"330937:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330924:6:22","nodeType":"YulIdentifier","src":"330924:6:22"},"nativeSrc":"330924:16:22","nodeType":"YulFunctionCall","src":"330924:16:22"},"nativeSrc":"330924:16:22","nodeType":"YulExpressionStatement","src":"330924:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330960:4:22","nodeType":"YulLiteral","src":"330960:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"330966:2:22","nodeType":"YulIdentifier","src":"330966:2:22"}],"functionName":{"name":"mstore","nativeSrc":"330953:6:22","nodeType":"YulIdentifier","src":"330953:6:22"},"nativeSrc":"330953:16:22","nodeType":"YulFunctionCall","src":"330953:16:22"},"nativeSrc":"330953:16:22","nodeType":"YulExpressionStatement","src":"330953:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41669,"isOffset":false,"isSlot":false,"src":"330792:2:22","valueSize":1},{"declaration":41672,"isOffset":false,"isSlot":false,"src":"330821:2:22","valueSize":1},{"declaration":41675,"isOffset":false,"isSlot":false,"src":"330850:2:22","valueSize":1},{"declaration":41678,"isOffset":false,"isSlot":false,"src":"330879:2:22","valueSize":1},{"declaration":41681,"isOffset":false,"isSlot":false,"src":"330908:2:22","valueSize":1},{"declaration":41684,"isOffset":false,"isSlot":false,"src":"330937:2:22","valueSize":1},{"declaration":41687,"isOffset":false,"isSlot":false,"src":"330966:2:22","valueSize":1}],"id":41695,"nodeType":"InlineAssembly","src":"330756:223:22"}]},"id":41697,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"329568:3:22","nodeType":"FunctionDefinition","parameters":{"id":41666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41659,"mutability":"mutable","name":"p0","nameLocation":"329580:2:22","nodeType":"VariableDeclaration","scope":41697,"src":"329572:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329572:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41661,"mutability":"mutable","name":"p1","nameLocation":"329592:2:22","nodeType":"VariableDeclaration","scope":41697,"src":"329584:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41660,"name":"address","nodeType":"ElementaryTypeName","src":"329584:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41663,"mutability":"mutable","name":"p2","nameLocation":"329604:2:22","nodeType":"VariableDeclaration","scope":41697,"src":"329596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41662,"name":"address","nodeType":"ElementaryTypeName","src":"329596:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41665,"mutability":"mutable","name":"p3","nameLocation":"329616:2:22","nodeType":"VariableDeclaration","scope":41697,"src":"329608:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41664,"name":"uint256","nodeType":"ElementaryTypeName","src":"329608:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"329571:48:22"},"returnParameters":{"id":41667,"nodeType":"ParameterList","parameters":[],"src":"329634:0:22"},"scope":44426,"src":"329559:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41742,"nodeType":"Block","src":"331066:1547:22","statements":[{"assignments":[41709],"declarations":[{"constant":false,"id":41709,"mutability":"mutable","name":"m0","nameLocation":"331084:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331076:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331076:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41710,"nodeType":"VariableDeclarationStatement","src":"331076:10:22"},{"assignments":[41712],"declarations":[{"constant":false,"id":41712,"mutability":"mutable","name":"m1","nameLocation":"331104:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331096:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331096:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41713,"nodeType":"VariableDeclarationStatement","src":"331096:10:22"},{"assignments":[41715],"declarations":[{"constant":false,"id":41715,"mutability":"mutable","name":"m2","nameLocation":"331124:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331116:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331116:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41716,"nodeType":"VariableDeclarationStatement","src":"331116:10:22"},{"assignments":[41718],"declarations":[{"constant":false,"id":41718,"mutability":"mutable","name":"m3","nameLocation":"331144:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331136:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331136:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41719,"nodeType":"VariableDeclarationStatement","src":"331136:10:22"},{"assignments":[41721],"declarations":[{"constant":false,"id":41721,"mutability":"mutable","name":"m4","nameLocation":"331164:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331156:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331156:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41722,"nodeType":"VariableDeclarationStatement","src":"331156:10:22"},{"assignments":[41724],"declarations":[{"constant":false,"id":41724,"mutability":"mutable","name":"m5","nameLocation":"331184:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331176:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331176:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41725,"nodeType":"VariableDeclarationStatement","src":"331176:10:22"},{"assignments":[41727],"declarations":[{"constant":false,"id":41727,"mutability":"mutable","name":"m6","nameLocation":"331204:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331196:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331196:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41728,"nodeType":"VariableDeclarationStatement","src":"331196:10:22"},{"assignments":[41730],"declarations":[{"constant":false,"id":41730,"mutability":"mutable","name":"m7","nameLocation":"331224:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331216:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331216:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41731,"nodeType":"VariableDeclarationStatement","src":"331216:10:22"},{"assignments":[41733],"declarations":[{"constant":false,"id":41733,"mutability":"mutable","name":"m8","nameLocation":"331244:2:22","nodeType":"VariableDeclaration","scope":41742,"src":"331236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41734,"nodeType":"VariableDeclarationStatement","src":"331236:10:22"},{"AST":{"nativeSrc":"331308:927:22","nodeType":"YulBlock","src":"331308:927:22","statements":[{"body":{"nativeSrc":"331351:313:22","nodeType":"YulBlock","src":"331351:313:22","statements":[{"nativeSrc":"331369:15:22","nodeType":"YulVariableDeclaration","src":"331369:15:22","value":{"kind":"number","nativeSrc":"331383:1:22","nodeType":"YulLiteral","src":"331383:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"331373:6:22","nodeType":"YulTypedName","src":"331373:6:22","type":""}]},{"body":{"nativeSrc":"331454:40:22","nodeType":"YulBlock","src":"331454:40:22","statements":[{"body":{"nativeSrc":"331483:9:22","nodeType":"YulBlock","src":"331483:9:22","statements":[{"nativeSrc":"331485:5:22","nodeType":"YulBreak","src":"331485:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"331471:6:22","nodeType":"YulIdentifier","src":"331471:6:22"},{"name":"w","nativeSrc":"331479:1:22","nodeType":"YulIdentifier","src":"331479:1:22"}],"functionName":{"name":"byte","nativeSrc":"331466:4:22","nodeType":"YulIdentifier","src":"331466:4:22"},"nativeSrc":"331466:15:22","nodeType":"YulFunctionCall","src":"331466:15:22"}],"functionName":{"name":"iszero","nativeSrc":"331459:6:22","nodeType":"YulIdentifier","src":"331459:6:22"},"nativeSrc":"331459:23:22","nodeType":"YulFunctionCall","src":"331459:23:22"},"nativeSrc":"331456:36:22","nodeType":"YulIf","src":"331456:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"331411:6:22","nodeType":"YulIdentifier","src":"331411:6:22"},{"kind":"number","nativeSrc":"331419:4:22","nodeType":"YulLiteral","src":"331419:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"331408:2:22","nodeType":"YulIdentifier","src":"331408:2:22"},"nativeSrc":"331408:16:22","nodeType":"YulFunctionCall","src":"331408:16:22"},"nativeSrc":"331401:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"331425:28:22","nodeType":"YulBlock","src":"331425:28:22","statements":[{"nativeSrc":"331427:24:22","nodeType":"YulAssignment","src":"331427:24:22","value":{"arguments":[{"name":"length","nativeSrc":"331441:6:22","nodeType":"YulIdentifier","src":"331441:6:22"},{"kind":"number","nativeSrc":"331449:1:22","nodeType":"YulLiteral","src":"331449:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"331437:3:22","nodeType":"YulIdentifier","src":"331437:3:22"},"nativeSrc":"331437:14:22","nodeType":"YulFunctionCall","src":"331437:14:22"},"variableNames":[{"name":"length","nativeSrc":"331427:6:22","nodeType":"YulIdentifier","src":"331427:6:22"}]}]},"pre":{"nativeSrc":"331405:2:22","nodeType":"YulBlock","src":"331405:2:22","statements":[]},"src":"331401:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"331518:3:22","nodeType":"YulIdentifier","src":"331518:3:22"},{"name":"length","nativeSrc":"331523:6:22","nodeType":"YulIdentifier","src":"331523:6:22"}],"functionName":{"name":"mstore","nativeSrc":"331511:6:22","nodeType":"YulIdentifier","src":"331511:6:22"},"nativeSrc":"331511:19:22","nodeType":"YulFunctionCall","src":"331511:19:22"},"nativeSrc":"331511:19:22","nodeType":"YulExpressionStatement","src":"331511:19:22"},{"nativeSrc":"331547:37:22","nodeType":"YulVariableDeclaration","src":"331547:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"331564:3:22","nodeType":"YulLiteral","src":"331564:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"331573:1:22","nodeType":"YulLiteral","src":"331573:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"331576:6:22","nodeType":"YulIdentifier","src":"331576:6:22"}],"functionName":{"name":"shl","nativeSrc":"331569:3:22","nodeType":"YulIdentifier","src":"331569:3:22"},"nativeSrc":"331569:14:22","nodeType":"YulFunctionCall","src":"331569:14:22"}],"functionName":{"name":"sub","nativeSrc":"331560:3:22","nodeType":"YulIdentifier","src":"331560:3:22"},"nativeSrc":"331560:24:22","nodeType":"YulFunctionCall","src":"331560:24:22"},"variables":[{"name":"shift","nativeSrc":"331551:5:22","nodeType":"YulTypedName","src":"331551:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"331612:3:22","nodeType":"YulIdentifier","src":"331612:3:22"},{"kind":"number","nativeSrc":"331617:4:22","nodeType":"YulLiteral","src":"331617:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"331608:3:22","nodeType":"YulIdentifier","src":"331608:3:22"},"nativeSrc":"331608:14:22","nodeType":"YulFunctionCall","src":"331608:14:22"},{"arguments":[{"name":"shift","nativeSrc":"331628:5:22","nodeType":"YulIdentifier","src":"331628:5:22"},{"arguments":[{"name":"shift","nativeSrc":"331639:5:22","nodeType":"YulIdentifier","src":"331639:5:22"},{"name":"w","nativeSrc":"331646:1:22","nodeType":"YulIdentifier","src":"331646:1:22"}],"functionName":{"name":"shr","nativeSrc":"331635:3:22","nodeType":"YulIdentifier","src":"331635:3:22"},"nativeSrc":"331635:13:22","nodeType":"YulFunctionCall","src":"331635:13:22"}],"functionName":{"name":"shl","nativeSrc":"331624:3:22","nodeType":"YulIdentifier","src":"331624:3:22"},"nativeSrc":"331624:25:22","nodeType":"YulFunctionCall","src":"331624:25:22"}],"functionName":{"name":"mstore","nativeSrc":"331601:6:22","nodeType":"YulIdentifier","src":"331601:6:22"},"nativeSrc":"331601:49:22","nodeType":"YulFunctionCall","src":"331601:49:22"},"nativeSrc":"331601:49:22","nodeType":"YulExpressionStatement","src":"331601:49:22"}]},"name":"writeString","nativeSrc":"331322:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"331343:3:22","nodeType":"YulTypedName","src":"331343:3:22","type":""},{"name":"w","nativeSrc":"331348:1:22","nodeType":"YulTypedName","src":"331348:1:22","type":""}],"src":"331322:342:22"},{"nativeSrc":"331677:17:22","nodeType":"YulAssignment","src":"331677:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331689:4:22","nodeType":"YulLiteral","src":"331689:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"331683:5:22","nodeType":"YulIdentifier","src":"331683:5:22"},"nativeSrc":"331683:11:22","nodeType":"YulFunctionCall","src":"331683:11:22"},"variableNames":[{"name":"m0","nativeSrc":"331677:2:22","nodeType":"YulIdentifier","src":"331677:2:22"}]},{"nativeSrc":"331707:17:22","nodeType":"YulAssignment","src":"331707:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331719:4:22","nodeType":"YulLiteral","src":"331719:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"331713:5:22","nodeType":"YulIdentifier","src":"331713:5:22"},"nativeSrc":"331713:11:22","nodeType":"YulFunctionCall","src":"331713:11:22"},"variableNames":[{"name":"m1","nativeSrc":"331707:2:22","nodeType":"YulIdentifier","src":"331707:2:22"}]},{"nativeSrc":"331737:17:22","nodeType":"YulAssignment","src":"331737:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331749:4:22","nodeType":"YulLiteral","src":"331749:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"331743:5:22","nodeType":"YulIdentifier","src":"331743:5:22"},"nativeSrc":"331743:11:22","nodeType":"YulFunctionCall","src":"331743:11:22"},"variableNames":[{"name":"m2","nativeSrc":"331737:2:22","nodeType":"YulIdentifier","src":"331737:2:22"}]},{"nativeSrc":"331767:17:22","nodeType":"YulAssignment","src":"331767:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331779:4:22","nodeType":"YulLiteral","src":"331779:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"331773:5:22","nodeType":"YulIdentifier","src":"331773:5:22"},"nativeSrc":"331773:11:22","nodeType":"YulFunctionCall","src":"331773:11:22"},"variableNames":[{"name":"m3","nativeSrc":"331767:2:22","nodeType":"YulIdentifier","src":"331767:2:22"}]},{"nativeSrc":"331797:17:22","nodeType":"YulAssignment","src":"331797:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331809:4:22","nodeType":"YulLiteral","src":"331809:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"331803:5:22","nodeType":"YulIdentifier","src":"331803:5:22"},"nativeSrc":"331803:11:22","nodeType":"YulFunctionCall","src":"331803:11:22"},"variableNames":[{"name":"m4","nativeSrc":"331797:2:22","nodeType":"YulIdentifier","src":"331797:2:22"}]},{"nativeSrc":"331827:17:22","nodeType":"YulAssignment","src":"331827:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331839:4:22","nodeType":"YulLiteral","src":"331839:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"331833:5:22","nodeType":"YulIdentifier","src":"331833:5:22"},"nativeSrc":"331833:11:22","nodeType":"YulFunctionCall","src":"331833:11:22"},"variableNames":[{"name":"m5","nativeSrc":"331827:2:22","nodeType":"YulIdentifier","src":"331827:2:22"}]},{"nativeSrc":"331857:17:22","nodeType":"YulAssignment","src":"331857:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331869:4:22","nodeType":"YulLiteral","src":"331869:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"331863:5:22","nodeType":"YulIdentifier","src":"331863:5:22"},"nativeSrc":"331863:11:22","nodeType":"YulFunctionCall","src":"331863:11:22"},"variableNames":[{"name":"m6","nativeSrc":"331857:2:22","nodeType":"YulIdentifier","src":"331857:2:22"}]},{"nativeSrc":"331887:17:22","nodeType":"YulAssignment","src":"331887:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"331899:4:22","nodeType":"YulLiteral","src":"331899:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"331893:5:22","nodeType":"YulIdentifier","src":"331893:5:22"},"nativeSrc":"331893:11:22","nodeType":"YulFunctionCall","src":"331893:11:22"},"variableNames":[{"name":"m7","nativeSrc":"331887:2:22","nodeType":"YulIdentifier","src":"331887:2:22"}]},{"nativeSrc":"331917:18:22","nodeType":"YulAssignment","src":"331917:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"331929:5:22","nodeType":"YulLiteral","src":"331929:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"331923:5:22","nodeType":"YulIdentifier","src":"331923:5:22"},"nativeSrc":"331923:12:22","nodeType":"YulFunctionCall","src":"331923:12:22"},"variableNames":[{"name":"m8","nativeSrc":"331917:2:22","nodeType":"YulIdentifier","src":"331917:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332020:4:22","nodeType":"YulLiteral","src":"332020:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"332026:10:22","nodeType":"YulLiteral","src":"332026:10:22","type":"","value":"0x800a1c67"}],"functionName":{"name":"mstore","nativeSrc":"332013:6:22","nodeType":"YulIdentifier","src":"332013:6:22"},"nativeSrc":"332013:24:22","nodeType":"YulFunctionCall","src":"332013:24:22"},"nativeSrc":"332013:24:22","nodeType":"YulExpressionStatement","src":"332013:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332057:4:22","nodeType":"YulLiteral","src":"332057:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"332063:4:22","nodeType":"YulLiteral","src":"332063:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"332050:6:22","nodeType":"YulIdentifier","src":"332050:6:22"},"nativeSrc":"332050:18:22","nodeType":"YulFunctionCall","src":"332050:18:22"},"nativeSrc":"332050:18:22","nodeType":"YulExpressionStatement","src":"332050:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332088:4:22","nodeType":"YulLiteral","src":"332088:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"332094:2:22","nodeType":"YulIdentifier","src":"332094:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332081:6:22","nodeType":"YulIdentifier","src":"332081:6:22"},"nativeSrc":"332081:16:22","nodeType":"YulFunctionCall","src":"332081:16:22"},"nativeSrc":"332081:16:22","nodeType":"YulExpressionStatement","src":"332081:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332117:4:22","nodeType":"YulLiteral","src":"332117:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"332123:2:22","nodeType":"YulIdentifier","src":"332123:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332110:6:22","nodeType":"YulIdentifier","src":"332110:6:22"},"nativeSrc":"332110:16:22","nodeType":"YulFunctionCall","src":"332110:16:22"},"nativeSrc":"332110:16:22","nodeType":"YulExpressionStatement","src":"332110:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332146:4:22","nodeType":"YulLiteral","src":"332146:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"332152:4:22","nodeType":"YulLiteral","src":"332152:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"332139:6:22","nodeType":"YulIdentifier","src":"332139:6:22"},"nativeSrc":"332139:18:22","nodeType":"YulFunctionCall","src":"332139:18:22"},"nativeSrc":"332139:18:22","nodeType":"YulExpressionStatement","src":"332139:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332182:4:22","nodeType":"YulLiteral","src":"332182:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"332188:2:22","nodeType":"YulIdentifier","src":"332188:2:22"}],"functionName":{"name":"writeString","nativeSrc":"332170:11:22","nodeType":"YulIdentifier","src":"332170:11:22"},"nativeSrc":"332170:21:22","nodeType":"YulFunctionCall","src":"332170:21:22"},"nativeSrc":"332170:21:22","nodeType":"YulExpressionStatement","src":"332170:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332216:4:22","nodeType":"YulLiteral","src":"332216:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"332222:2:22","nodeType":"YulIdentifier","src":"332222:2:22"}],"functionName":{"name":"writeString","nativeSrc":"332204:11:22","nodeType":"YulIdentifier","src":"332204:11:22"},"nativeSrc":"332204:21:22","nodeType":"YulFunctionCall","src":"332204:21:22"},"nativeSrc":"332204:21:22","nodeType":"YulExpressionStatement","src":"332204:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41709,"isOffset":false,"isSlot":false,"src":"331677:2:22","valueSize":1},{"declaration":41712,"isOffset":false,"isSlot":false,"src":"331707:2:22","valueSize":1},{"declaration":41715,"isOffset":false,"isSlot":false,"src":"331737:2:22","valueSize":1},{"declaration":41718,"isOffset":false,"isSlot":false,"src":"331767:2:22","valueSize":1},{"declaration":41721,"isOffset":false,"isSlot":false,"src":"331797:2:22","valueSize":1},{"declaration":41724,"isOffset":false,"isSlot":false,"src":"331827:2:22","valueSize":1},{"declaration":41727,"isOffset":false,"isSlot":false,"src":"331857:2:22","valueSize":1},{"declaration":41730,"isOffset":false,"isSlot":false,"src":"331887:2:22","valueSize":1},{"declaration":41733,"isOffset":false,"isSlot":false,"src":"331917:2:22","valueSize":1},{"declaration":41699,"isOffset":false,"isSlot":false,"src":"332188:2:22","valueSize":1},{"declaration":41701,"isOffset":false,"isSlot":false,"src":"332094:2:22","valueSize":1},{"declaration":41703,"isOffset":false,"isSlot":false,"src":"332123:2:22","valueSize":1},{"declaration":41705,"isOffset":false,"isSlot":false,"src":"332222:2:22","valueSize":1}],"id":41735,"nodeType":"InlineAssembly","src":"331299:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332260:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332266:5:22","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":41736,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"332244:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"332244:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41740,"nodeType":"ExpressionStatement","src":"332244:28:22"},{"AST":{"nativeSrc":"332334:273:22","nodeType":"YulBlock","src":"332334:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"332355:4:22","nodeType":"YulLiteral","src":"332355:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"332361:2:22","nodeType":"YulIdentifier","src":"332361:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332348:6:22","nodeType":"YulIdentifier","src":"332348:6:22"},"nativeSrc":"332348:16:22","nodeType":"YulFunctionCall","src":"332348:16:22"},"nativeSrc":"332348:16:22","nodeType":"YulExpressionStatement","src":"332348:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332384:4:22","nodeType":"YulLiteral","src":"332384:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"332390:2:22","nodeType":"YulIdentifier","src":"332390:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332377:6:22","nodeType":"YulIdentifier","src":"332377:6:22"},"nativeSrc":"332377:16:22","nodeType":"YulFunctionCall","src":"332377:16:22"},"nativeSrc":"332377:16:22","nodeType":"YulExpressionStatement","src":"332377:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332413:4:22","nodeType":"YulLiteral","src":"332413:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"332419:2:22","nodeType":"YulIdentifier","src":"332419:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332406:6:22","nodeType":"YulIdentifier","src":"332406:6:22"},"nativeSrc":"332406:16:22","nodeType":"YulFunctionCall","src":"332406:16:22"},"nativeSrc":"332406:16:22","nodeType":"YulExpressionStatement","src":"332406:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332442:4:22","nodeType":"YulLiteral","src":"332442:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"332448:2:22","nodeType":"YulIdentifier","src":"332448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332435:6:22","nodeType":"YulIdentifier","src":"332435:6:22"},"nativeSrc":"332435:16:22","nodeType":"YulFunctionCall","src":"332435:16:22"},"nativeSrc":"332435:16:22","nodeType":"YulExpressionStatement","src":"332435:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332471:4:22","nodeType":"YulLiteral","src":"332471:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"332477:2:22","nodeType":"YulIdentifier","src":"332477:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332464:6:22","nodeType":"YulIdentifier","src":"332464:6:22"},"nativeSrc":"332464:16:22","nodeType":"YulFunctionCall","src":"332464:16:22"},"nativeSrc":"332464:16:22","nodeType":"YulExpressionStatement","src":"332464:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332500:4:22","nodeType":"YulLiteral","src":"332500:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"332506:2:22","nodeType":"YulIdentifier","src":"332506:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332493:6:22","nodeType":"YulIdentifier","src":"332493:6:22"},"nativeSrc":"332493:16:22","nodeType":"YulFunctionCall","src":"332493:16:22"},"nativeSrc":"332493:16:22","nodeType":"YulExpressionStatement","src":"332493:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332529:4:22","nodeType":"YulLiteral","src":"332529:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"332535:2:22","nodeType":"YulIdentifier","src":"332535:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332522:6:22","nodeType":"YulIdentifier","src":"332522:6:22"},"nativeSrc":"332522:16:22","nodeType":"YulFunctionCall","src":"332522:16:22"},"nativeSrc":"332522:16:22","nodeType":"YulExpressionStatement","src":"332522:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332558:4:22","nodeType":"YulLiteral","src":"332558:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"332564:2:22","nodeType":"YulIdentifier","src":"332564:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332551:6:22","nodeType":"YulIdentifier","src":"332551:6:22"},"nativeSrc":"332551:16:22","nodeType":"YulFunctionCall","src":"332551:16:22"},"nativeSrc":"332551:16:22","nodeType":"YulExpressionStatement","src":"332551:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332587:5:22","nodeType":"YulLiteral","src":"332587:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"332594:2:22","nodeType":"YulIdentifier","src":"332594:2:22"}],"functionName":{"name":"mstore","nativeSrc":"332580:6:22","nodeType":"YulIdentifier","src":"332580:6:22"},"nativeSrc":"332580:17:22","nodeType":"YulFunctionCall","src":"332580:17:22"},"nativeSrc":"332580:17:22","nodeType":"YulExpressionStatement","src":"332580:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41709,"isOffset":false,"isSlot":false,"src":"332361:2:22","valueSize":1},{"declaration":41712,"isOffset":false,"isSlot":false,"src":"332390:2:22","valueSize":1},{"declaration":41715,"isOffset":false,"isSlot":false,"src":"332419:2:22","valueSize":1},{"declaration":41718,"isOffset":false,"isSlot":false,"src":"332448:2:22","valueSize":1},{"declaration":41721,"isOffset":false,"isSlot":false,"src":"332477:2:22","valueSize":1},{"declaration":41724,"isOffset":false,"isSlot":false,"src":"332506:2:22","valueSize":1},{"declaration":41727,"isOffset":false,"isSlot":false,"src":"332535:2:22","valueSize":1},{"declaration":41730,"isOffset":false,"isSlot":false,"src":"332564:2:22","valueSize":1},{"declaration":41733,"isOffset":false,"isSlot":false,"src":"332594:2:22","valueSize":1}],"id":41741,"nodeType":"InlineAssembly","src":"332325:282:22"}]},"id":41743,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"331000:3:22","nodeType":"FunctionDefinition","parameters":{"id":41706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41699,"mutability":"mutable","name":"p0","nameLocation":"331012:2:22","nodeType":"VariableDeclaration","scope":41743,"src":"331004:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331004:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41701,"mutability":"mutable","name":"p1","nameLocation":"331024:2:22","nodeType":"VariableDeclaration","scope":41743,"src":"331016:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41700,"name":"address","nodeType":"ElementaryTypeName","src":"331016:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41703,"mutability":"mutable","name":"p2","nameLocation":"331036:2:22","nodeType":"VariableDeclaration","scope":41743,"src":"331028:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41702,"name":"address","nodeType":"ElementaryTypeName","src":"331028:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41705,"mutability":"mutable","name":"p3","nameLocation":"331048:2:22","nodeType":"VariableDeclaration","scope":41743,"src":"331040:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331040:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"331003:48:22"},"returnParameters":{"id":41707,"nodeType":"ParameterList","parameters":[],"src":"331066:0:22"},"scope":44426,"src":"330991:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41782,"nodeType":"Block","src":"332691:1348:22","statements":[{"assignments":[41755],"declarations":[{"constant":false,"id":41755,"mutability":"mutable","name":"m0","nameLocation":"332709:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332701:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332701:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41756,"nodeType":"VariableDeclarationStatement","src":"332701:10:22"},{"assignments":[41758],"declarations":[{"constant":false,"id":41758,"mutability":"mutable","name":"m1","nameLocation":"332729:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332721:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332721:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41759,"nodeType":"VariableDeclarationStatement","src":"332721:10:22"},{"assignments":[41761],"declarations":[{"constant":false,"id":41761,"mutability":"mutable","name":"m2","nameLocation":"332749:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332741:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332741:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41762,"nodeType":"VariableDeclarationStatement","src":"332741:10:22"},{"assignments":[41764],"declarations":[{"constant":false,"id":41764,"mutability":"mutable","name":"m3","nameLocation":"332769:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332761:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332761:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41765,"nodeType":"VariableDeclarationStatement","src":"332761:10:22"},{"assignments":[41767],"declarations":[{"constant":false,"id":41767,"mutability":"mutable","name":"m4","nameLocation":"332789:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332781:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332781:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41768,"nodeType":"VariableDeclarationStatement","src":"332781:10:22"},{"assignments":[41770],"declarations":[{"constant":false,"id":41770,"mutability":"mutable","name":"m5","nameLocation":"332809:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332801:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332801:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41771,"nodeType":"VariableDeclarationStatement","src":"332801:10:22"},{"assignments":[41773],"declarations":[{"constant":false,"id":41773,"mutability":"mutable","name":"m6","nameLocation":"332829:2:22","nodeType":"VariableDeclaration","scope":41782,"src":"332821:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332821:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41774,"nodeType":"VariableDeclarationStatement","src":"332821:10:22"},{"AST":{"nativeSrc":"332893:828:22","nodeType":"YulBlock","src":"332893:828:22","statements":[{"body":{"nativeSrc":"332936:313:22","nodeType":"YulBlock","src":"332936:313:22","statements":[{"nativeSrc":"332954:15:22","nodeType":"YulVariableDeclaration","src":"332954:15:22","value":{"kind":"number","nativeSrc":"332968:1:22","nodeType":"YulLiteral","src":"332968:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"332958:6:22","nodeType":"YulTypedName","src":"332958:6:22","type":""}]},{"body":{"nativeSrc":"333039:40:22","nodeType":"YulBlock","src":"333039:40:22","statements":[{"body":{"nativeSrc":"333068:9:22","nodeType":"YulBlock","src":"333068:9:22","statements":[{"nativeSrc":"333070:5:22","nodeType":"YulBreak","src":"333070:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"333056:6:22","nodeType":"YulIdentifier","src":"333056:6:22"},{"name":"w","nativeSrc":"333064:1:22","nodeType":"YulIdentifier","src":"333064:1:22"}],"functionName":{"name":"byte","nativeSrc":"333051:4:22","nodeType":"YulIdentifier","src":"333051:4:22"},"nativeSrc":"333051:15:22","nodeType":"YulFunctionCall","src":"333051:15:22"}],"functionName":{"name":"iszero","nativeSrc":"333044:6:22","nodeType":"YulIdentifier","src":"333044:6:22"},"nativeSrc":"333044:23:22","nodeType":"YulFunctionCall","src":"333044:23:22"},"nativeSrc":"333041:36:22","nodeType":"YulIf","src":"333041:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"332996:6:22","nodeType":"YulIdentifier","src":"332996:6:22"},{"kind":"number","nativeSrc":"333004:4:22","nodeType":"YulLiteral","src":"333004:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"332993:2:22","nodeType":"YulIdentifier","src":"332993:2:22"},"nativeSrc":"332993:16:22","nodeType":"YulFunctionCall","src":"332993:16:22"},"nativeSrc":"332986:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"333010:28:22","nodeType":"YulBlock","src":"333010:28:22","statements":[{"nativeSrc":"333012:24:22","nodeType":"YulAssignment","src":"333012:24:22","value":{"arguments":[{"name":"length","nativeSrc":"333026:6:22","nodeType":"YulIdentifier","src":"333026:6:22"},{"kind":"number","nativeSrc":"333034:1:22","nodeType":"YulLiteral","src":"333034:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"333022:3:22","nodeType":"YulIdentifier","src":"333022:3:22"},"nativeSrc":"333022:14:22","nodeType":"YulFunctionCall","src":"333022:14:22"},"variableNames":[{"name":"length","nativeSrc":"333012:6:22","nodeType":"YulIdentifier","src":"333012:6:22"}]}]},"pre":{"nativeSrc":"332990:2:22","nodeType":"YulBlock","src":"332990:2:22","statements":[]},"src":"332986:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"333103:3:22","nodeType":"YulIdentifier","src":"333103:3:22"},{"name":"length","nativeSrc":"333108:6:22","nodeType":"YulIdentifier","src":"333108:6:22"}],"functionName":{"name":"mstore","nativeSrc":"333096:6:22","nodeType":"YulIdentifier","src":"333096:6:22"},"nativeSrc":"333096:19:22","nodeType":"YulFunctionCall","src":"333096:19:22"},"nativeSrc":"333096:19:22","nodeType":"YulExpressionStatement","src":"333096:19:22"},{"nativeSrc":"333132:37:22","nodeType":"YulVariableDeclaration","src":"333132:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"333149:3:22","nodeType":"YulLiteral","src":"333149:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"333158:1:22","nodeType":"YulLiteral","src":"333158:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"333161:6:22","nodeType":"YulIdentifier","src":"333161:6:22"}],"functionName":{"name":"shl","nativeSrc":"333154:3:22","nodeType":"YulIdentifier","src":"333154:3:22"},"nativeSrc":"333154:14:22","nodeType":"YulFunctionCall","src":"333154:14:22"}],"functionName":{"name":"sub","nativeSrc":"333145:3:22","nodeType":"YulIdentifier","src":"333145:3:22"},"nativeSrc":"333145:24:22","nodeType":"YulFunctionCall","src":"333145:24:22"},"variables":[{"name":"shift","nativeSrc":"333136:5:22","nodeType":"YulTypedName","src":"333136:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"333197:3:22","nodeType":"YulIdentifier","src":"333197:3:22"},{"kind":"number","nativeSrc":"333202:4:22","nodeType":"YulLiteral","src":"333202:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"333193:3:22","nodeType":"YulIdentifier","src":"333193:3:22"},"nativeSrc":"333193:14:22","nodeType":"YulFunctionCall","src":"333193:14:22"},{"arguments":[{"name":"shift","nativeSrc":"333213:5:22","nodeType":"YulIdentifier","src":"333213:5:22"},{"arguments":[{"name":"shift","nativeSrc":"333224:5:22","nodeType":"YulIdentifier","src":"333224:5:22"},{"name":"w","nativeSrc":"333231:1:22","nodeType":"YulIdentifier","src":"333231:1:22"}],"functionName":{"name":"shr","nativeSrc":"333220:3:22","nodeType":"YulIdentifier","src":"333220:3:22"},"nativeSrc":"333220:13:22","nodeType":"YulFunctionCall","src":"333220:13:22"}],"functionName":{"name":"shl","nativeSrc":"333209:3:22","nodeType":"YulIdentifier","src":"333209:3:22"},"nativeSrc":"333209:25:22","nodeType":"YulFunctionCall","src":"333209:25:22"}],"functionName":{"name":"mstore","nativeSrc":"333186:6:22","nodeType":"YulIdentifier","src":"333186:6:22"},"nativeSrc":"333186:49:22","nodeType":"YulFunctionCall","src":"333186:49:22"},"nativeSrc":"333186:49:22","nodeType":"YulExpressionStatement","src":"333186:49:22"}]},"name":"writeString","nativeSrc":"332907:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"332928:3:22","nodeType":"YulTypedName","src":"332928:3:22","type":""},{"name":"w","nativeSrc":"332933:1:22","nodeType":"YulTypedName","src":"332933:1:22","type":""}],"src":"332907:342:22"},{"nativeSrc":"333262:17:22","nodeType":"YulAssignment","src":"333262:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333274:4:22","nodeType":"YulLiteral","src":"333274:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"333268:5:22","nodeType":"YulIdentifier","src":"333268:5:22"},"nativeSrc":"333268:11:22","nodeType":"YulFunctionCall","src":"333268:11:22"},"variableNames":[{"name":"m0","nativeSrc":"333262:2:22","nodeType":"YulIdentifier","src":"333262:2:22"}]},{"nativeSrc":"333292:17:22","nodeType":"YulAssignment","src":"333292:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333304:4:22","nodeType":"YulLiteral","src":"333304:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"333298:5:22","nodeType":"YulIdentifier","src":"333298:5:22"},"nativeSrc":"333298:11:22","nodeType":"YulFunctionCall","src":"333298:11:22"},"variableNames":[{"name":"m1","nativeSrc":"333292:2:22","nodeType":"YulIdentifier","src":"333292:2:22"}]},{"nativeSrc":"333322:17:22","nodeType":"YulAssignment","src":"333322:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333334:4:22","nodeType":"YulLiteral","src":"333334:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"333328:5:22","nodeType":"YulIdentifier","src":"333328:5:22"},"nativeSrc":"333328:11:22","nodeType":"YulFunctionCall","src":"333328:11:22"},"variableNames":[{"name":"m2","nativeSrc":"333322:2:22","nodeType":"YulIdentifier","src":"333322:2:22"}]},{"nativeSrc":"333352:17:22","nodeType":"YulAssignment","src":"333352:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333364:4:22","nodeType":"YulLiteral","src":"333364:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"333358:5:22","nodeType":"YulIdentifier","src":"333358:5:22"},"nativeSrc":"333358:11:22","nodeType":"YulFunctionCall","src":"333358:11:22"},"variableNames":[{"name":"m3","nativeSrc":"333352:2:22","nodeType":"YulIdentifier","src":"333352:2:22"}]},{"nativeSrc":"333382:17:22","nodeType":"YulAssignment","src":"333382:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333394:4:22","nodeType":"YulLiteral","src":"333394:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"333388:5:22","nodeType":"YulIdentifier","src":"333388:5:22"},"nativeSrc":"333388:11:22","nodeType":"YulFunctionCall","src":"333388:11:22"},"variableNames":[{"name":"m4","nativeSrc":"333382:2:22","nodeType":"YulIdentifier","src":"333382:2:22"}]},{"nativeSrc":"333412:17:22","nodeType":"YulAssignment","src":"333412:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333424:4:22","nodeType":"YulLiteral","src":"333424:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"333418:5:22","nodeType":"YulIdentifier","src":"333418:5:22"},"nativeSrc":"333418:11:22","nodeType":"YulFunctionCall","src":"333418:11:22"},"variableNames":[{"name":"m5","nativeSrc":"333412:2:22","nodeType":"YulIdentifier","src":"333412:2:22"}]},{"nativeSrc":"333442:17:22","nodeType":"YulAssignment","src":"333442:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"333454:4:22","nodeType":"YulLiteral","src":"333454:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"333448:5:22","nodeType":"YulIdentifier","src":"333448:5:22"},"nativeSrc":"333448:11:22","nodeType":"YulFunctionCall","src":"333448:11:22"},"variableNames":[{"name":"m6","nativeSrc":"333442:2:22","nodeType":"YulIdentifier","src":"333442:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333542:4:22","nodeType":"YulLiteral","src":"333542:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"333548:10:22","nodeType":"YulLiteral","src":"333548:10:22","type":"","value":"0x223603bd"}],"functionName":{"name":"mstore","nativeSrc":"333535:6:22","nodeType":"YulIdentifier","src":"333535:6:22"},"nativeSrc":"333535:24:22","nodeType":"YulFunctionCall","src":"333535:24:22"},"nativeSrc":"333535:24:22","nodeType":"YulExpressionStatement","src":"333535:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333579:4:22","nodeType":"YulLiteral","src":"333579:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"333585:4:22","nodeType":"YulLiteral","src":"333585:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"333572:6:22","nodeType":"YulIdentifier","src":"333572:6:22"},"nativeSrc":"333572:18:22","nodeType":"YulFunctionCall","src":"333572:18:22"},"nativeSrc":"333572:18:22","nodeType":"YulExpressionStatement","src":"333572:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333610:4:22","nodeType":"YulLiteral","src":"333610:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"333616:2:22","nodeType":"YulIdentifier","src":"333616:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333603:6:22","nodeType":"YulIdentifier","src":"333603:6:22"},"nativeSrc":"333603:16:22","nodeType":"YulFunctionCall","src":"333603:16:22"},"nativeSrc":"333603:16:22","nodeType":"YulExpressionStatement","src":"333603:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333639:4:22","nodeType":"YulLiteral","src":"333639:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"333645:2:22","nodeType":"YulIdentifier","src":"333645:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333632:6:22","nodeType":"YulIdentifier","src":"333632:6:22"},"nativeSrc":"333632:16:22","nodeType":"YulFunctionCall","src":"333632:16:22"},"nativeSrc":"333632:16:22","nodeType":"YulExpressionStatement","src":"333632:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333668:4:22","nodeType":"YulLiteral","src":"333668:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"333674:2:22","nodeType":"YulIdentifier","src":"333674:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333661:6:22","nodeType":"YulIdentifier","src":"333661:6:22"},"nativeSrc":"333661:16:22","nodeType":"YulFunctionCall","src":"333661:16:22"},"nativeSrc":"333661:16:22","nodeType":"YulExpressionStatement","src":"333661:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333702:4:22","nodeType":"YulLiteral","src":"333702:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"333708:2:22","nodeType":"YulIdentifier","src":"333708:2:22"}],"functionName":{"name":"writeString","nativeSrc":"333690:11:22","nodeType":"YulIdentifier","src":"333690:11:22"},"nativeSrc":"333690:21:22","nodeType":"YulFunctionCall","src":"333690:21:22"},"nativeSrc":"333690:21:22","nodeType":"YulExpressionStatement","src":"333690:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41755,"isOffset":false,"isSlot":false,"src":"333262:2:22","valueSize":1},{"declaration":41758,"isOffset":false,"isSlot":false,"src":"333292:2:22","valueSize":1},{"declaration":41761,"isOffset":false,"isSlot":false,"src":"333322:2:22","valueSize":1},{"declaration":41764,"isOffset":false,"isSlot":false,"src":"333352:2:22","valueSize":1},{"declaration":41767,"isOffset":false,"isSlot":false,"src":"333382:2:22","valueSize":1},{"declaration":41770,"isOffset":false,"isSlot":false,"src":"333412:2:22","valueSize":1},{"declaration":41773,"isOffset":false,"isSlot":false,"src":"333442:2:22","valueSize":1},{"declaration":41745,"isOffset":false,"isSlot":false,"src":"333708:2:22","valueSize":1},{"declaration":41747,"isOffset":false,"isSlot":false,"src":"333616:2:22","valueSize":1},{"declaration":41749,"isOffset":false,"isSlot":false,"src":"333645:2:22","valueSize":1},{"declaration":41751,"isOffset":false,"isSlot":false,"src":"333674:2:22","valueSize":1}],"id":41775,"nodeType":"InlineAssembly","src":"332884:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333746:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333752:4:22","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":41776,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"333730:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"333730:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41780,"nodeType":"ExpressionStatement","src":"333730:27:22"},{"AST":{"nativeSrc":"333819:214:22","nodeType":"YulBlock","src":"333819:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"333840:4:22","nodeType":"YulLiteral","src":"333840:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"333846:2:22","nodeType":"YulIdentifier","src":"333846:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333833:6:22","nodeType":"YulIdentifier","src":"333833:6:22"},"nativeSrc":"333833:16:22","nodeType":"YulFunctionCall","src":"333833:16:22"},"nativeSrc":"333833:16:22","nodeType":"YulExpressionStatement","src":"333833:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333869:4:22","nodeType":"YulLiteral","src":"333869:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"333875:2:22","nodeType":"YulIdentifier","src":"333875:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333862:6:22","nodeType":"YulIdentifier","src":"333862:6:22"},"nativeSrc":"333862:16:22","nodeType":"YulFunctionCall","src":"333862:16:22"},"nativeSrc":"333862:16:22","nodeType":"YulExpressionStatement","src":"333862:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333898:4:22","nodeType":"YulLiteral","src":"333898:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"333904:2:22","nodeType":"YulIdentifier","src":"333904:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333891:6:22","nodeType":"YulIdentifier","src":"333891:6:22"},"nativeSrc":"333891:16:22","nodeType":"YulFunctionCall","src":"333891:16:22"},"nativeSrc":"333891:16:22","nodeType":"YulExpressionStatement","src":"333891:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333927:4:22","nodeType":"YulLiteral","src":"333927:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"333933:2:22","nodeType":"YulIdentifier","src":"333933:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333920:6:22","nodeType":"YulIdentifier","src":"333920:6:22"},"nativeSrc":"333920:16:22","nodeType":"YulFunctionCall","src":"333920:16:22"},"nativeSrc":"333920:16:22","nodeType":"YulExpressionStatement","src":"333920:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333956:4:22","nodeType":"YulLiteral","src":"333956:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"333962:2:22","nodeType":"YulIdentifier","src":"333962:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333949:6:22","nodeType":"YulIdentifier","src":"333949:6:22"},"nativeSrc":"333949:16:22","nodeType":"YulFunctionCall","src":"333949:16:22"},"nativeSrc":"333949:16:22","nodeType":"YulExpressionStatement","src":"333949:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333985:4:22","nodeType":"YulLiteral","src":"333985:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"333991:2:22","nodeType":"YulIdentifier","src":"333991:2:22"}],"functionName":{"name":"mstore","nativeSrc":"333978:6:22","nodeType":"YulIdentifier","src":"333978:6:22"},"nativeSrc":"333978:16:22","nodeType":"YulFunctionCall","src":"333978:16:22"},"nativeSrc":"333978:16:22","nodeType":"YulExpressionStatement","src":"333978:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334014:4:22","nodeType":"YulLiteral","src":"334014:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"334020:2:22","nodeType":"YulIdentifier","src":"334020:2:22"}],"functionName":{"name":"mstore","nativeSrc":"334007:6:22","nodeType":"YulIdentifier","src":"334007:6:22"},"nativeSrc":"334007:16:22","nodeType":"YulFunctionCall","src":"334007:16:22"},"nativeSrc":"334007:16:22","nodeType":"YulExpressionStatement","src":"334007:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41755,"isOffset":false,"isSlot":false,"src":"333846:2:22","valueSize":1},{"declaration":41758,"isOffset":false,"isSlot":false,"src":"333875:2:22","valueSize":1},{"declaration":41761,"isOffset":false,"isSlot":false,"src":"333904:2:22","valueSize":1},{"declaration":41764,"isOffset":false,"isSlot":false,"src":"333933:2:22","valueSize":1},{"declaration":41767,"isOffset":false,"isSlot":false,"src":"333962:2:22","valueSize":1},{"declaration":41770,"isOffset":false,"isSlot":false,"src":"333991:2:22","valueSize":1},{"declaration":41773,"isOffset":false,"isSlot":false,"src":"334020:2:22","valueSize":1}],"id":41781,"nodeType":"InlineAssembly","src":"333810:223:22"}]},"id":41783,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"332628:3:22","nodeType":"FunctionDefinition","parameters":{"id":41752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41745,"mutability":"mutable","name":"p0","nameLocation":"332640:2:22","nodeType":"VariableDeclaration","scope":41783,"src":"332632:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332632:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41747,"mutability":"mutable","name":"p1","nameLocation":"332652:2:22","nodeType":"VariableDeclaration","scope":41783,"src":"332644:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41746,"name":"address","nodeType":"ElementaryTypeName","src":"332644:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41749,"mutability":"mutable","name":"p2","nameLocation":"332661:2:22","nodeType":"VariableDeclaration","scope":41783,"src":"332656:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41748,"name":"bool","nodeType":"ElementaryTypeName","src":"332656:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41751,"mutability":"mutable","name":"p3","nameLocation":"332673:2:22","nodeType":"VariableDeclaration","scope":41783,"src":"332665:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41750,"name":"address","nodeType":"ElementaryTypeName","src":"332665:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"332631:45:22"},"returnParameters":{"id":41753,"nodeType":"ParameterList","parameters":[],"src":"332691:0:22"},"scope":44426,"src":"332619:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41822,"nodeType":"Block","src":"334114:1345:22","statements":[{"assignments":[41795],"declarations":[{"constant":false,"id":41795,"mutability":"mutable","name":"m0","nameLocation":"334132:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334124:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41796,"nodeType":"VariableDeclarationStatement","src":"334124:10:22"},{"assignments":[41798],"declarations":[{"constant":false,"id":41798,"mutability":"mutable","name":"m1","nameLocation":"334152:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41799,"nodeType":"VariableDeclarationStatement","src":"334144:10:22"},{"assignments":[41801],"declarations":[{"constant":false,"id":41801,"mutability":"mutable","name":"m2","nameLocation":"334172:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41802,"nodeType":"VariableDeclarationStatement","src":"334164:10:22"},{"assignments":[41804],"declarations":[{"constant":false,"id":41804,"mutability":"mutable","name":"m3","nameLocation":"334192:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334184:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41805,"nodeType":"VariableDeclarationStatement","src":"334184:10:22"},{"assignments":[41807],"declarations":[{"constant":false,"id":41807,"mutability":"mutable","name":"m4","nameLocation":"334212:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334204:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334204:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41808,"nodeType":"VariableDeclarationStatement","src":"334204:10:22"},{"assignments":[41810],"declarations":[{"constant":false,"id":41810,"mutability":"mutable","name":"m5","nameLocation":"334232:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41811,"nodeType":"VariableDeclarationStatement","src":"334224:10:22"},{"assignments":[41813],"declarations":[{"constant":false,"id":41813,"mutability":"mutable","name":"m6","nameLocation":"334252:2:22","nodeType":"VariableDeclaration","scope":41822,"src":"334244:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334244:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41814,"nodeType":"VariableDeclarationStatement","src":"334244:10:22"},{"AST":{"nativeSrc":"334316:825:22","nodeType":"YulBlock","src":"334316:825:22","statements":[{"body":{"nativeSrc":"334359:313:22","nodeType":"YulBlock","src":"334359:313:22","statements":[{"nativeSrc":"334377:15:22","nodeType":"YulVariableDeclaration","src":"334377:15:22","value":{"kind":"number","nativeSrc":"334391:1:22","nodeType":"YulLiteral","src":"334391:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"334381:6:22","nodeType":"YulTypedName","src":"334381:6:22","type":""}]},{"body":{"nativeSrc":"334462:40:22","nodeType":"YulBlock","src":"334462:40:22","statements":[{"body":{"nativeSrc":"334491:9:22","nodeType":"YulBlock","src":"334491:9:22","statements":[{"nativeSrc":"334493:5:22","nodeType":"YulBreak","src":"334493:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"334479:6:22","nodeType":"YulIdentifier","src":"334479:6:22"},{"name":"w","nativeSrc":"334487:1:22","nodeType":"YulIdentifier","src":"334487:1:22"}],"functionName":{"name":"byte","nativeSrc":"334474:4:22","nodeType":"YulIdentifier","src":"334474:4:22"},"nativeSrc":"334474:15:22","nodeType":"YulFunctionCall","src":"334474:15:22"}],"functionName":{"name":"iszero","nativeSrc":"334467:6:22","nodeType":"YulIdentifier","src":"334467:6:22"},"nativeSrc":"334467:23:22","nodeType":"YulFunctionCall","src":"334467:23:22"},"nativeSrc":"334464:36:22","nodeType":"YulIf","src":"334464:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"334419:6:22","nodeType":"YulIdentifier","src":"334419:6:22"},{"kind":"number","nativeSrc":"334427:4:22","nodeType":"YulLiteral","src":"334427:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"334416:2:22","nodeType":"YulIdentifier","src":"334416:2:22"},"nativeSrc":"334416:16:22","nodeType":"YulFunctionCall","src":"334416:16:22"},"nativeSrc":"334409:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"334433:28:22","nodeType":"YulBlock","src":"334433:28:22","statements":[{"nativeSrc":"334435:24:22","nodeType":"YulAssignment","src":"334435:24:22","value":{"arguments":[{"name":"length","nativeSrc":"334449:6:22","nodeType":"YulIdentifier","src":"334449:6:22"},{"kind":"number","nativeSrc":"334457:1:22","nodeType":"YulLiteral","src":"334457:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"334445:3:22","nodeType":"YulIdentifier","src":"334445:3:22"},"nativeSrc":"334445:14:22","nodeType":"YulFunctionCall","src":"334445:14:22"},"variableNames":[{"name":"length","nativeSrc":"334435:6:22","nodeType":"YulIdentifier","src":"334435:6:22"}]}]},"pre":{"nativeSrc":"334413:2:22","nodeType":"YulBlock","src":"334413:2:22","statements":[]},"src":"334409:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"334526:3:22","nodeType":"YulIdentifier","src":"334526:3:22"},{"name":"length","nativeSrc":"334531:6:22","nodeType":"YulIdentifier","src":"334531:6:22"}],"functionName":{"name":"mstore","nativeSrc":"334519:6:22","nodeType":"YulIdentifier","src":"334519:6:22"},"nativeSrc":"334519:19:22","nodeType":"YulFunctionCall","src":"334519:19:22"},"nativeSrc":"334519:19:22","nodeType":"YulExpressionStatement","src":"334519:19:22"},{"nativeSrc":"334555:37:22","nodeType":"YulVariableDeclaration","src":"334555:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"334572:3:22","nodeType":"YulLiteral","src":"334572:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"334581:1:22","nodeType":"YulLiteral","src":"334581:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"334584:6:22","nodeType":"YulIdentifier","src":"334584:6:22"}],"functionName":{"name":"shl","nativeSrc":"334577:3:22","nodeType":"YulIdentifier","src":"334577:3:22"},"nativeSrc":"334577:14:22","nodeType":"YulFunctionCall","src":"334577:14:22"}],"functionName":{"name":"sub","nativeSrc":"334568:3:22","nodeType":"YulIdentifier","src":"334568:3:22"},"nativeSrc":"334568:24:22","nodeType":"YulFunctionCall","src":"334568:24:22"},"variables":[{"name":"shift","nativeSrc":"334559:5:22","nodeType":"YulTypedName","src":"334559:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"334620:3:22","nodeType":"YulIdentifier","src":"334620:3:22"},{"kind":"number","nativeSrc":"334625:4:22","nodeType":"YulLiteral","src":"334625:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"334616:3:22","nodeType":"YulIdentifier","src":"334616:3:22"},"nativeSrc":"334616:14:22","nodeType":"YulFunctionCall","src":"334616:14:22"},{"arguments":[{"name":"shift","nativeSrc":"334636:5:22","nodeType":"YulIdentifier","src":"334636:5:22"},{"arguments":[{"name":"shift","nativeSrc":"334647:5:22","nodeType":"YulIdentifier","src":"334647:5:22"},{"name":"w","nativeSrc":"334654:1:22","nodeType":"YulIdentifier","src":"334654:1:22"}],"functionName":{"name":"shr","nativeSrc":"334643:3:22","nodeType":"YulIdentifier","src":"334643:3:22"},"nativeSrc":"334643:13:22","nodeType":"YulFunctionCall","src":"334643:13:22"}],"functionName":{"name":"shl","nativeSrc":"334632:3:22","nodeType":"YulIdentifier","src":"334632:3:22"},"nativeSrc":"334632:25:22","nodeType":"YulFunctionCall","src":"334632:25:22"}],"functionName":{"name":"mstore","nativeSrc":"334609:6:22","nodeType":"YulIdentifier","src":"334609:6:22"},"nativeSrc":"334609:49:22","nodeType":"YulFunctionCall","src":"334609:49:22"},"nativeSrc":"334609:49:22","nodeType":"YulExpressionStatement","src":"334609:49:22"}]},"name":"writeString","nativeSrc":"334330:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"334351:3:22","nodeType":"YulTypedName","src":"334351:3:22","type":""},{"name":"w","nativeSrc":"334356:1:22","nodeType":"YulTypedName","src":"334356:1:22","type":""}],"src":"334330:342:22"},{"nativeSrc":"334685:17:22","nodeType":"YulAssignment","src":"334685:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334697:4:22","nodeType":"YulLiteral","src":"334697:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"334691:5:22","nodeType":"YulIdentifier","src":"334691:5:22"},"nativeSrc":"334691:11:22","nodeType":"YulFunctionCall","src":"334691:11:22"},"variableNames":[{"name":"m0","nativeSrc":"334685:2:22","nodeType":"YulIdentifier","src":"334685:2:22"}]},{"nativeSrc":"334715:17:22","nodeType":"YulAssignment","src":"334715:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334727:4:22","nodeType":"YulLiteral","src":"334727:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"334721:5:22","nodeType":"YulIdentifier","src":"334721:5:22"},"nativeSrc":"334721:11:22","nodeType":"YulFunctionCall","src":"334721:11:22"},"variableNames":[{"name":"m1","nativeSrc":"334715:2:22","nodeType":"YulIdentifier","src":"334715:2:22"}]},{"nativeSrc":"334745:17:22","nodeType":"YulAssignment","src":"334745:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334757:4:22","nodeType":"YulLiteral","src":"334757:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"334751:5:22","nodeType":"YulIdentifier","src":"334751:5:22"},"nativeSrc":"334751:11:22","nodeType":"YulFunctionCall","src":"334751:11:22"},"variableNames":[{"name":"m2","nativeSrc":"334745:2:22","nodeType":"YulIdentifier","src":"334745:2:22"}]},{"nativeSrc":"334775:17:22","nodeType":"YulAssignment","src":"334775:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334787:4:22","nodeType":"YulLiteral","src":"334787:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"334781:5:22","nodeType":"YulIdentifier","src":"334781:5:22"},"nativeSrc":"334781:11:22","nodeType":"YulFunctionCall","src":"334781:11:22"},"variableNames":[{"name":"m3","nativeSrc":"334775:2:22","nodeType":"YulIdentifier","src":"334775:2:22"}]},{"nativeSrc":"334805:17:22","nodeType":"YulAssignment","src":"334805:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334817:4:22","nodeType":"YulLiteral","src":"334817:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"334811:5:22","nodeType":"YulIdentifier","src":"334811:5:22"},"nativeSrc":"334811:11:22","nodeType":"YulFunctionCall","src":"334811:11:22"},"variableNames":[{"name":"m4","nativeSrc":"334805:2:22","nodeType":"YulIdentifier","src":"334805:2:22"}]},{"nativeSrc":"334835:17:22","nodeType":"YulAssignment","src":"334835:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334847:4:22","nodeType":"YulLiteral","src":"334847:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"334841:5:22","nodeType":"YulIdentifier","src":"334841:5:22"},"nativeSrc":"334841:11:22","nodeType":"YulFunctionCall","src":"334841:11:22"},"variableNames":[{"name":"m5","nativeSrc":"334835:2:22","nodeType":"YulIdentifier","src":"334835:2:22"}]},{"nativeSrc":"334865:17:22","nodeType":"YulAssignment","src":"334865:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"334877:4:22","nodeType":"YulLiteral","src":"334877:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"334871:5:22","nodeType":"YulIdentifier","src":"334871:5:22"},"nativeSrc":"334871:11:22","nodeType":"YulFunctionCall","src":"334871:11:22"},"variableNames":[{"name":"m6","nativeSrc":"334865:2:22","nodeType":"YulIdentifier","src":"334865:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334962:4:22","nodeType":"YulLiteral","src":"334962:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"334968:10:22","nodeType":"YulLiteral","src":"334968:10:22","type":"","value":"0x79884c2b"}],"functionName":{"name":"mstore","nativeSrc":"334955:6:22","nodeType":"YulIdentifier","src":"334955:6:22"},"nativeSrc":"334955:24:22","nodeType":"YulFunctionCall","src":"334955:24:22"},"nativeSrc":"334955:24:22","nodeType":"YulExpressionStatement","src":"334955:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334999:4:22","nodeType":"YulLiteral","src":"334999:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"335005:4:22","nodeType":"YulLiteral","src":"335005:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"334992:6:22","nodeType":"YulIdentifier","src":"334992:6:22"},"nativeSrc":"334992:18:22","nodeType":"YulFunctionCall","src":"334992:18:22"},"nativeSrc":"334992:18:22","nodeType":"YulExpressionStatement","src":"334992:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335030:4:22","nodeType":"YulLiteral","src":"335030:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"335036:2:22","nodeType":"YulIdentifier","src":"335036:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335023:6:22","nodeType":"YulIdentifier","src":"335023:6:22"},"nativeSrc":"335023:16:22","nodeType":"YulFunctionCall","src":"335023:16:22"},"nativeSrc":"335023:16:22","nodeType":"YulExpressionStatement","src":"335023:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335059:4:22","nodeType":"YulLiteral","src":"335059:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"335065:2:22","nodeType":"YulIdentifier","src":"335065:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335052:6:22","nodeType":"YulIdentifier","src":"335052:6:22"},"nativeSrc":"335052:16:22","nodeType":"YulFunctionCall","src":"335052:16:22"},"nativeSrc":"335052:16:22","nodeType":"YulExpressionStatement","src":"335052:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335088:4:22","nodeType":"YulLiteral","src":"335088:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"335094:2:22","nodeType":"YulIdentifier","src":"335094:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335081:6:22","nodeType":"YulIdentifier","src":"335081:6:22"},"nativeSrc":"335081:16:22","nodeType":"YulFunctionCall","src":"335081:16:22"},"nativeSrc":"335081:16:22","nodeType":"YulExpressionStatement","src":"335081:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335122:4:22","nodeType":"YulLiteral","src":"335122:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"335128:2:22","nodeType":"YulIdentifier","src":"335128:2:22"}],"functionName":{"name":"writeString","nativeSrc":"335110:11:22","nodeType":"YulIdentifier","src":"335110:11:22"},"nativeSrc":"335110:21:22","nodeType":"YulFunctionCall","src":"335110:21:22"},"nativeSrc":"335110:21:22","nodeType":"YulExpressionStatement","src":"335110:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41795,"isOffset":false,"isSlot":false,"src":"334685:2:22","valueSize":1},{"declaration":41798,"isOffset":false,"isSlot":false,"src":"334715:2:22","valueSize":1},{"declaration":41801,"isOffset":false,"isSlot":false,"src":"334745:2:22","valueSize":1},{"declaration":41804,"isOffset":false,"isSlot":false,"src":"334775:2:22","valueSize":1},{"declaration":41807,"isOffset":false,"isSlot":false,"src":"334805:2:22","valueSize":1},{"declaration":41810,"isOffset":false,"isSlot":false,"src":"334835:2:22","valueSize":1},{"declaration":41813,"isOffset":false,"isSlot":false,"src":"334865:2:22","valueSize":1},{"declaration":41785,"isOffset":false,"isSlot":false,"src":"335128:2:22","valueSize":1},{"declaration":41787,"isOffset":false,"isSlot":false,"src":"335036:2:22","valueSize":1},{"declaration":41789,"isOffset":false,"isSlot":false,"src":"335065:2:22","valueSize":1},{"declaration":41791,"isOffset":false,"isSlot":false,"src":"335094:2:22","valueSize":1}],"id":41815,"nodeType":"InlineAssembly","src":"334307:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335166:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335172:4:22","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":41816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"335150:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"335150:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41820,"nodeType":"ExpressionStatement","src":"335150:27:22"},{"AST":{"nativeSrc":"335239:214:22","nodeType":"YulBlock","src":"335239:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"335260:4:22","nodeType":"YulLiteral","src":"335260:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"335266:2:22","nodeType":"YulIdentifier","src":"335266:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335253:6:22","nodeType":"YulIdentifier","src":"335253:6:22"},"nativeSrc":"335253:16:22","nodeType":"YulFunctionCall","src":"335253:16:22"},"nativeSrc":"335253:16:22","nodeType":"YulExpressionStatement","src":"335253:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335289:4:22","nodeType":"YulLiteral","src":"335289:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"335295:2:22","nodeType":"YulIdentifier","src":"335295:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335282:6:22","nodeType":"YulIdentifier","src":"335282:6:22"},"nativeSrc":"335282:16:22","nodeType":"YulFunctionCall","src":"335282:16:22"},"nativeSrc":"335282:16:22","nodeType":"YulExpressionStatement","src":"335282:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335318:4:22","nodeType":"YulLiteral","src":"335318:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"335324:2:22","nodeType":"YulIdentifier","src":"335324:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335311:6:22","nodeType":"YulIdentifier","src":"335311:6:22"},"nativeSrc":"335311:16:22","nodeType":"YulFunctionCall","src":"335311:16:22"},"nativeSrc":"335311:16:22","nodeType":"YulExpressionStatement","src":"335311:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335347:4:22","nodeType":"YulLiteral","src":"335347:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"335353:2:22","nodeType":"YulIdentifier","src":"335353:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335340:6:22","nodeType":"YulIdentifier","src":"335340:6:22"},"nativeSrc":"335340:16:22","nodeType":"YulFunctionCall","src":"335340:16:22"},"nativeSrc":"335340:16:22","nodeType":"YulExpressionStatement","src":"335340:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335376:4:22","nodeType":"YulLiteral","src":"335376:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"335382:2:22","nodeType":"YulIdentifier","src":"335382:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335369:6:22","nodeType":"YulIdentifier","src":"335369:6:22"},"nativeSrc":"335369:16:22","nodeType":"YulFunctionCall","src":"335369:16:22"},"nativeSrc":"335369:16:22","nodeType":"YulExpressionStatement","src":"335369:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335405:4:22","nodeType":"YulLiteral","src":"335405:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"335411:2:22","nodeType":"YulIdentifier","src":"335411:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335398:6:22","nodeType":"YulIdentifier","src":"335398:6:22"},"nativeSrc":"335398:16:22","nodeType":"YulFunctionCall","src":"335398:16:22"},"nativeSrc":"335398:16:22","nodeType":"YulExpressionStatement","src":"335398:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335434:4:22","nodeType":"YulLiteral","src":"335434:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"335440:2:22","nodeType":"YulIdentifier","src":"335440:2:22"}],"functionName":{"name":"mstore","nativeSrc":"335427:6:22","nodeType":"YulIdentifier","src":"335427:6:22"},"nativeSrc":"335427:16:22","nodeType":"YulFunctionCall","src":"335427:16:22"},"nativeSrc":"335427:16:22","nodeType":"YulExpressionStatement","src":"335427:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41795,"isOffset":false,"isSlot":false,"src":"335266:2:22","valueSize":1},{"declaration":41798,"isOffset":false,"isSlot":false,"src":"335295:2:22","valueSize":1},{"declaration":41801,"isOffset":false,"isSlot":false,"src":"335324:2:22","valueSize":1},{"declaration":41804,"isOffset":false,"isSlot":false,"src":"335353:2:22","valueSize":1},{"declaration":41807,"isOffset":false,"isSlot":false,"src":"335382:2:22","valueSize":1},{"declaration":41810,"isOffset":false,"isSlot":false,"src":"335411:2:22","valueSize":1},{"declaration":41813,"isOffset":false,"isSlot":false,"src":"335440:2:22","valueSize":1}],"id":41821,"nodeType":"InlineAssembly","src":"335230:223:22"}]},"id":41823,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"334054:3:22","nodeType":"FunctionDefinition","parameters":{"id":41792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41785,"mutability":"mutable","name":"p0","nameLocation":"334066:2:22","nodeType":"VariableDeclaration","scope":41823,"src":"334058:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334058:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41787,"mutability":"mutable","name":"p1","nameLocation":"334078:2:22","nodeType":"VariableDeclaration","scope":41823,"src":"334070:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41786,"name":"address","nodeType":"ElementaryTypeName","src":"334070:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41789,"mutability":"mutable","name":"p2","nameLocation":"334087:2:22","nodeType":"VariableDeclaration","scope":41823,"src":"334082:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41788,"name":"bool","nodeType":"ElementaryTypeName","src":"334082:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41791,"mutability":"mutable","name":"p3","nameLocation":"334096:2:22","nodeType":"VariableDeclaration","scope":41823,"src":"334091:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41790,"name":"bool","nodeType":"ElementaryTypeName","src":"334091:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"334057:42:22"},"returnParameters":{"id":41793,"nodeType":"ParameterList","parameters":[],"src":"334114:0:22"},"scope":44426,"src":"334045:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41862,"nodeType":"Block","src":"335537:1348:22","statements":[{"assignments":[41835],"declarations":[{"constant":false,"id":41835,"mutability":"mutable","name":"m0","nameLocation":"335555:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335547:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335547:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41836,"nodeType":"VariableDeclarationStatement","src":"335547:10:22"},{"assignments":[41838],"declarations":[{"constant":false,"id":41838,"mutability":"mutable","name":"m1","nameLocation":"335575:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335567:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335567:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41839,"nodeType":"VariableDeclarationStatement","src":"335567:10:22"},{"assignments":[41841],"declarations":[{"constant":false,"id":41841,"mutability":"mutable","name":"m2","nameLocation":"335595:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335587:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335587:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41842,"nodeType":"VariableDeclarationStatement","src":"335587:10:22"},{"assignments":[41844],"declarations":[{"constant":false,"id":41844,"mutability":"mutable","name":"m3","nameLocation":"335615:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335607:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335607:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41845,"nodeType":"VariableDeclarationStatement","src":"335607:10:22"},{"assignments":[41847],"declarations":[{"constant":false,"id":41847,"mutability":"mutable","name":"m4","nameLocation":"335635:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335627:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335627:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41848,"nodeType":"VariableDeclarationStatement","src":"335627:10:22"},{"assignments":[41850],"declarations":[{"constant":false,"id":41850,"mutability":"mutable","name":"m5","nameLocation":"335655:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335647:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335647:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41851,"nodeType":"VariableDeclarationStatement","src":"335647:10:22"},{"assignments":[41853],"declarations":[{"constant":false,"id":41853,"mutability":"mutable","name":"m6","nameLocation":"335675:2:22","nodeType":"VariableDeclaration","scope":41862,"src":"335667:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335667:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41854,"nodeType":"VariableDeclarationStatement","src":"335667:10:22"},{"AST":{"nativeSrc":"335739:828:22","nodeType":"YulBlock","src":"335739:828:22","statements":[{"body":{"nativeSrc":"335782:313:22","nodeType":"YulBlock","src":"335782:313:22","statements":[{"nativeSrc":"335800:15:22","nodeType":"YulVariableDeclaration","src":"335800:15:22","value":{"kind":"number","nativeSrc":"335814:1:22","nodeType":"YulLiteral","src":"335814:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"335804:6:22","nodeType":"YulTypedName","src":"335804:6:22","type":""}]},{"body":{"nativeSrc":"335885:40:22","nodeType":"YulBlock","src":"335885:40:22","statements":[{"body":{"nativeSrc":"335914:9:22","nodeType":"YulBlock","src":"335914:9:22","statements":[{"nativeSrc":"335916:5:22","nodeType":"YulBreak","src":"335916:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"335902:6:22","nodeType":"YulIdentifier","src":"335902:6:22"},{"name":"w","nativeSrc":"335910:1:22","nodeType":"YulIdentifier","src":"335910:1:22"}],"functionName":{"name":"byte","nativeSrc":"335897:4:22","nodeType":"YulIdentifier","src":"335897:4:22"},"nativeSrc":"335897:15:22","nodeType":"YulFunctionCall","src":"335897:15:22"}],"functionName":{"name":"iszero","nativeSrc":"335890:6:22","nodeType":"YulIdentifier","src":"335890:6:22"},"nativeSrc":"335890:23:22","nodeType":"YulFunctionCall","src":"335890:23:22"},"nativeSrc":"335887:36:22","nodeType":"YulIf","src":"335887:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"335842:6:22","nodeType":"YulIdentifier","src":"335842:6:22"},{"kind":"number","nativeSrc":"335850:4:22","nodeType":"YulLiteral","src":"335850:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"335839:2:22","nodeType":"YulIdentifier","src":"335839:2:22"},"nativeSrc":"335839:16:22","nodeType":"YulFunctionCall","src":"335839:16:22"},"nativeSrc":"335832:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"335856:28:22","nodeType":"YulBlock","src":"335856:28:22","statements":[{"nativeSrc":"335858:24:22","nodeType":"YulAssignment","src":"335858:24:22","value":{"arguments":[{"name":"length","nativeSrc":"335872:6:22","nodeType":"YulIdentifier","src":"335872:6:22"},{"kind":"number","nativeSrc":"335880:1:22","nodeType":"YulLiteral","src":"335880:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"335868:3:22","nodeType":"YulIdentifier","src":"335868:3:22"},"nativeSrc":"335868:14:22","nodeType":"YulFunctionCall","src":"335868:14:22"},"variableNames":[{"name":"length","nativeSrc":"335858:6:22","nodeType":"YulIdentifier","src":"335858:6:22"}]}]},"pre":{"nativeSrc":"335836:2:22","nodeType":"YulBlock","src":"335836:2:22","statements":[]},"src":"335832:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"335949:3:22","nodeType":"YulIdentifier","src":"335949:3:22"},{"name":"length","nativeSrc":"335954:6:22","nodeType":"YulIdentifier","src":"335954:6:22"}],"functionName":{"name":"mstore","nativeSrc":"335942:6:22","nodeType":"YulIdentifier","src":"335942:6:22"},"nativeSrc":"335942:19:22","nodeType":"YulFunctionCall","src":"335942:19:22"},"nativeSrc":"335942:19:22","nodeType":"YulExpressionStatement","src":"335942:19:22"},{"nativeSrc":"335978:37:22","nodeType":"YulVariableDeclaration","src":"335978:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"335995:3:22","nodeType":"YulLiteral","src":"335995:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"336004:1:22","nodeType":"YulLiteral","src":"336004:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"336007:6:22","nodeType":"YulIdentifier","src":"336007:6:22"}],"functionName":{"name":"shl","nativeSrc":"336000:3:22","nodeType":"YulIdentifier","src":"336000:3:22"},"nativeSrc":"336000:14:22","nodeType":"YulFunctionCall","src":"336000:14:22"}],"functionName":{"name":"sub","nativeSrc":"335991:3:22","nodeType":"YulIdentifier","src":"335991:3:22"},"nativeSrc":"335991:24:22","nodeType":"YulFunctionCall","src":"335991:24:22"},"variables":[{"name":"shift","nativeSrc":"335982:5:22","nodeType":"YulTypedName","src":"335982:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"336043:3:22","nodeType":"YulIdentifier","src":"336043:3:22"},{"kind":"number","nativeSrc":"336048:4:22","nodeType":"YulLiteral","src":"336048:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"336039:3:22","nodeType":"YulIdentifier","src":"336039:3:22"},"nativeSrc":"336039:14:22","nodeType":"YulFunctionCall","src":"336039:14:22"},{"arguments":[{"name":"shift","nativeSrc":"336059:5:22","nodeType":"YulIdentifier","src":"336059:5:22"},{"arguments":[{"name":"shift","nativeSrc":"336070:5:22","nodeType":"YulIdentifier","src":"336070:5:22"},{"name":"w","nativeSrc":"336077:1:22","nodeType":"YulIdentifier","src":"336077:1:22"}],"functionName":{"name":"shr","nativeSrc":"336066:3:22","nodeType":"YulIdentifier","src":"336066:3:22"},"nativeSrc":"336066:13:22","nodeType":"YulFunctionCall","src":"336066:13:22"}],"functionName":{"name":"shl","nativeSrc":"336055:3:22","nodeType":"YulIdentifier","src":"336055:3:22"},"nativeSrc":"336055:25:22","nodeType":"YulFunctionCall","src":"336055:25:22"}],"functionName":{"name":"mstore","nativeSrc":"336032:6:22","nodeType":"YulIdentifier","src":"336032:6:22"},"nativeSrc":"336032:49:22","nodeType":"YulFunctionCall","src":"336032:49:22"},"nativeSrc":"336032:49:22","nodeType":"YulExpressionStatement","src":"336032:49:22"}]},"name":"writeString","nativeSrc":"335753:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"335774:3:22","nodeType":"YulTypedName","src":"335774:3:22","type":""},{"name":"w","nativeSrc":"335779:1:22","nodeType":"YulTypedName","src":"335779:1:22","type":""}],"src":"335753:342:22"},{"nativeSrc":"336108:17:22","nodeType":"YulAssignment","src":"336108:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336120:4:22","nodeType":"YulLiteral","src":"336120:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"336114:5:22","nodeType":"YulIdentifier","src":"336114:5:22"},"nativeSrc":"336114:11:22","nodeType":"YulFunctionCall","src":"336114:11:22"},"variableNames":[{"name":"m0","nativeSrc":"336108:2:22","nodeType":"YulIdentifier","src":"336108:2:22"}]},{"nativeSrc":"336138:17:22","nodeType":"YulAssignment","src":"336138:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336150:4:22","nodeType":"YulLiteral","src":"336150:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"336144:5:22","nodeType":"YulIdentifier","src":"336144:5:22"},"nativeSrc":"336144:11:22","nodeType":"YulFunctionCall","src":"336144:11:22"},"variableNames":[{"name":"m1","nativeSrc":"336138:2:22","nodeType":"YulIdentifier","src":"336138:2:22"}]},{"nativeSrc":"336168:17:22","nodeType":"YulAssignment","src":"336168:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336180:4:22","nodeType":"YulLiteral","src":"336180:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"336174:5:22","nodeType":"YulIdentifier","src":"336174:5:22"},"nativeSrc":"336174:11:22","nodeType":"YulFunctionCall","src":"336174:11:22"},"variableNames":[{"name":"m2","nativeSrc":"336168:2:22","nodeType":"YulIdentifier","src":"336168:2:22"}]},{"nativeSrc":"336198:17:22","nodeType":"YulAssignment","src":"336198:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336210:4:22","nodeType":"YulLiteral","src":"336210:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"336204:5:22","nodeType":"YulIdentifier","src":"336204:5:22"},"nativeSrc":"336204:11:22","nodeType":"YulFunctionCall","src":"336204:11:22"},"variableNames":[{"name":"m3","nativeSrc":"336198:2:22","nodeType":"YulIdentifier","src":"336198:2:22"}]},{"nativeSrc":"336228:17:22","nodeType":"YulAssignment","src":"336228:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336240:4:22","nodeType":"YulLiteral","src":"336240:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"336234:5:22","nodeType":"YulIdentifier","src":"336234:5:22"},"nativeSrc":"336234:11:22","nodeType":"YulFunctionCall","src":"336234:11:22"},"variableNames":[{"name":"m4","nativeSrc":"336228:2:22","nodeType":"YulIdentifier","src":"336228:2:22"}]},{"nativeSrc":"336258:17:22","nodeType":"YulAssignment","src":"336258:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336270:4:22","nodeType":"YulLiteral","src":"336270:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"336264:5:22","nodeType":"YulIdentifier","src":"336264:5:22"},"nativeSrc":"336264:11:22","nodeType":"YulFunctionCall","src":"336264:11:22"},"variableNames":[{"name":"m5","nativeSrc":"336258:2:22","nodeType":"YulIdentifier","src":"336258:2:22"}]},{"nativeSrc":"336288:17:22","nodeType":"YulAssignment","src":"336288:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"336300:4:22","nodeType":"YulLiteral","src":"336300:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"336294:5:22","nodeType":"YulIdentifier","src":"336294:5:22"},"nativeSrc":"336294:11:22","nodeType":"YulFunctionCall","src":"336294:11:22"},"variableNames":[{"name":"m6","nativeSrc":"336288:2:22","nodeType":"YulIdentifier","src":"336288:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336388:4:22","nodeType":"YulLiteral","src":"336388:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"336394:10:22","nodeType":"YulLiteral","src":"336394:10:22","type":"","value":"0x3e9f866a"}],"functionName":{"name":"mstore","nativeSrc":"336381:6:22","nodeType":"YulIdentifier","src":"336381:6:22"},"nativeSrc":"336381:24:22","nodeType":"YulFunctionCall","src":"336381:24:22"},"nativeSrc":"336381:24:22","nodeType":"YulExpressionStatement","src":"336381:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336425:4:22","nodeType":"YulLiteral","src":"336425:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"336431:4:22","nodeType":"YulLiteral","src":"336431:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"336418:6:22","nodeType":"YulIdentifier","src":"336418:6:22"},"nativeSrc":"336418:18:22","nodeType":"YulFunctionCall","src":"336418:18:22"},"nativeSrc":"336418:18:22","nodeType":"YulExpressionStatement","src":"336418:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336456:4:22","nodeType":"YulLiteral","src":"336456:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"336462:2:22","nodeType":"YulIdentifier","src":"336462:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336449:6:22","nodeType":"YulIdentifier","src":"336449:6:22"},"nativeSrc":"336449:16:22","nodeType":"YulFunctionCall","src":"336449:16:22"},"nativeSrc":"336449:16:22","nodeType":"YulExpressionStatement","src":"336449:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336485:4:22","nodeType":"YulLiteral","src":"336485:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"336491:2:22","nodeType":"YulIdentifier","src":"336491:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336478:6:22","nodeType":"YulIdentifier","src":"336478:6:22"},"nativeSrc":"336478:16:22","nodeType":"YulFunctionCall","src":"336478:16:22"},"nativeSrc":"336478:16:22","nodeType":"YulExpressionStatement","src":"336478:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336514:4:22","nodeType":"YulLiteral","src":"336514:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"336520:2:22","nodeType":"YulIdentifier","src":"336520:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336507:6:22","nodeType":"YulIdentifier","src":"336507:6:22"},"nativeSrc":"336507:16:22","nodeType":"YulFunctionCall","src":"336507:16:22"},"nativeSrc":"336507:16:22","nodeType":"YulExpressionStatement","src":"336507:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336548:4:22","nodeType":"YulLiteral","src":"336548:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"336554:2:22","nodeType":"YulIdentifier","src":"336554:2:22"}],"functionName":{"name":"writeString","nativeSrc":"336536:11:22","nodeType":"YulIdentifier","src":"336536:11:22"},"nativeSrc":"336536:21:22","nodeType":"YulFunctionCall","src":"336536:21:22"},"nativeSrc":"336536:21:22","nodeType":"YulExpressionStatement","src":"336536:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41835,"isOffset":false,"isSlot":false,"src":"336108:2:22","valueSize":1},{"declaration":41838,"isOffset":false,"isSlot":false,"src":"336138:2:22","valueSize":1},{"declaration":41841,"isOffset":false,"isSlot":false,"src":"336168:2:22","valueSize":1},{"declaration":41844,"isOffset":false,"isSlot":false,"src":"336198:2:22","valueSize":1},{"declaration":41847,"isOffset":false,"isSlot":false,"src":"336228:2:22","valueSize":1},{"declaration":41850,"isOffset":false,"isSlot":false,"src":"336258:2:22","valueSize":1},{"declaration":41853,"isOffset":false,"isSlot":false,"src":"336288:2:22","valueSize":1},{"declaration":41825,"isOffset":false,"isSlot":false,"src":"336554:2:22","valueSize":1},{"declaration":41827,"isOffset":false,"isSlot":false,"src":"336462:2:22","valueSize":1},{"declaration":41829,"isOffset":false,"isSlot":false,"src":"336491:2:22","valueSize":1},{"declaration":41831,"isOffset":false,"isSlot":false,"src":"336520:2:22","valueSize":1}],"id":41855,"nodeType":"InlineAssembly","src":"335730:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336592:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336598:4:22","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":41856,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"336576:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"336576:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41860,"nodeType":"ExpressionStatement","src":"336576:27:22"},{"AST":{"nativeSrc":"336665:214:22","nodeType":"YulBlock","src":"336665:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"336686:4:22","nodeType":"YulLiteral","src":"336686:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"336692:2:22","nodeType":"YulIdentifier","src":"336692:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336679:6:22","nodeType":"YulIdentifier","src":"336679:6:22"},"nativeSrc":"336679:16:22","nodeType":"YulFunctionCall","src":"336679:16:22"},"nativeSrc":"336679:16:22","nodeType":"YulExpressionStatement","src":"336679:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336715:4:22","nodeType":"YulLiteral","src":"336715:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"336721:2:22","nodeType":"YulIdentifier","src":"336721:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336708:6:22","nodeType":"YulIdentifier","src":"336708:6:22"},"nativeSrc":"336708:16:22","nodeType":"YulFunctionCall","src":"336708:16:22"},"nativeSrc":"336708:16:22","nodeType":"YulExpressionStatement","src":"336708:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336744:4:22","nodeType":"YulLiteral","src":"336744:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"336750:2:22","nodeType":"YulIdentifier","src":"336750:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336737:6:22","nodeType":"YulIdentifier","src":"336737:6:22"},"nativeSrc":"336737:16:22","nodeType":"YulFunctionCall","src":"336737:16:22"},"nativeSrc":"336737:16:22","nodeType":"YulExpressionStatement","src":"336737:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336773:4:22","nodeType":"YulLiteral","src":"336773:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"336779:2:22","nodeType":"YulIdentifier","src":"336779:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336766:6:22","nodeType":"YulIdentifier","src":"336766:6:22"},"nativeSrc":"336766:16:22","nodeType":"YulFunctionCall","src":"336766:16:22"},"nativeSrc":"336766:16:22","nodeType":"YulExpressionStatement","src":"336766:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336802:4:22","nodeType":"YulLiteral","src":"336802:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"336808:2:22","nodeType":"YulIdentifier","src":"336808:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336795:6:22","nodeType":"YulIdentifier","src":"336795:6:22"},"nativeSrc":"336795:16:22","nodeType":"YulFunctionCall","src":"336795:16:22"},"nativeSrc":"336795:16:22","nodeType":"YulExpressionStatement","src":"336795:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336831:4:22","nodeType":"YulLiteral","src":"336831:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"336837:2:22","nodeType":"YulIdentifier","src":"336837:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336824:6:22","nodeType":"YulIdentifier","src":"336824:6:22"},"nativeSrc":"336824:16:22","nodeType":"YulFunctionCall","src":"336824:16:22"},"nativeSrc":"336824:16:22","nodeType":"YulExpressionStatement","src":"336824:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336860:4:22","nodeType":"YulLiteral","src":"336860:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"336866:2:22","nodeType":"YulIdentifier","src":"336866:2:22"}],"functionName":{"name":"mstore","nativeSrc":"336853:6:22","nodeType":"YulIdentifier","src":"336853:6:22"},"nativeSrc":"336853:16:22","nodeType":"YulFunctionCall","src":"336853:16:22"},"nativeSrc":"336853:16:22","nodeType":"YulExpressionStatement","src":"336853:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41835,"isOffset":false,"isSlot":false,"src":"336692:2:22","valueSize":1},{"declaration":41838,"isOffset":false,"isSlot":false,"src":"336721:2:22","valueSize":1},{"declaration":41841,"isOffset":false,"isSlot":false,"src":"336750:2:22","valueSize":1},{"declaration":41844,"isOffset":false,"isSlot":false,"src":"336779:2:22","valueSize":1},{"declaration":41847,"isOffset":false,"isSlot":false,"src":"336808:2:22","valueSize":1},{"declaration":41850,"isOffset":false,"isSlot":false,"src":"336837:2:22","valueSize":1},{"declaration":41853,"isOffset":false,"isSlot":false,"src":"336866:2:22","valueSize":1}],"id":41861,"nodeType":"InlineAssembly","src":"336656:223:22"}]},"id":41863,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"335474:3:22","nodeType":"FunctionDefinition","parameters":{"id":41832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41825,"mutability":"mutable","name":"p0","nameLocation":"335486:2:22","nodeType":"VariableDeclaration","scope":41863,"src":"335478:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335478:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41827,"mutability":"mutable","name":"p1","nameLocation":"335498:2:22","nodeType":"VariableDeclaration","scope":41863,"src":"335490:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41826,"name":"address","nodeType":"ElementaryTypeName","src":"335490:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41829,"mutability":"mutable","name":"p2","nameLocation":"335507:2:22","nodeType":"VariableDeclaration","scope":41863,"src":"335502:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41828,"name":"bool","nodeType":"ElementaryTypeName","src":"335502:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41831,"mutability":"mutable","name":"p3","nameLocation":"335519:2:22","nodeType":"VariableDeclaration","scope":41863,"src":"335511:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41830,"name":"uint256","nodeType":"ElementaryTypeName","src":"335511:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"335477:45:22"},"returnParameters":{"id":41833,"nodeType":"ParameterList","parameters":[],"src":"335537:0:22"},"scope":44426,"src":"335465:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41908,"nodeType":"Block","src":"336963:1544:22","statements":[{"assignments":[41875],"declarations":[{"constant":false,"id":41875,"mutability":"mutable","name":"m0","nameLocation":"336981:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"336973:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336973:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41876,"nodeType":"VariableDeclarationStatement","src":"336973:10:22"},{"assignments":[41878],"declarations":[{"constant":false,"id":41878,"mutability":"mutable","name":"m1","nameLocation":"337001:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"336993:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336993:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41879,"nodeType":"VariableDeclarationStatement","src":"336993:10:22"},{"assignments":[41881],"declarations":[{"constant":false,"id":41881,"mutability":"mutable","name":"m2","nameLocation":"337021:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337013:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337013:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41882,"nodeType":"VariableDeclarationStatement","src":"337013:10:22"},{"assignments":[41884],"declarations":[{"constant":false,"id":41884,"mutability":"mutable","name":"m3","nameLocation":"337041:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337033:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337033:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41885,"nodeType":"VariableDeclarationStatement","src":"337033:10:22"},{"assignments":[41887],"declarations":[{"constant":false,"id":41887,"mutability":"mutable","name":"m4","nameLocation":"337061:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337053:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337053:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41888,"nodeType":"VariableDeclarationStatement","src":"337053:10:22"},{"assignments":[41890],"declarations":[{"constant":false,"id":41890,"mutability":"mutable","name":"m5","nameLocation":"337081:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337073:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337073:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41891,"nodeType":"VariableDeclarationStatement","src":"337073:10:22"},{"assignments":[41893],"declarations":[{"constant":false,"id":41893,"mutability":"mutable","name":"m6","nameLocation":"337101:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337093:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337093:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41894,"nodeType":"VariableDeclarationStatement","src":"337093:10:22"},{"assignments":[41896],"declarations":[{"constant":false,"id":41896,"mutability":"mutable","name":"m7","nameLocation":"337121:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337113:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337113:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41897,"nodeType":"VariableDeclarationStatement","src":"337113:10:22"},{"assignments":[41899],"declarations":[{"constant":false,"id":41899,"mutability":"mutable","name":"m8","nameLocation":"337141:2:22","nodeType":"VariableDeclaration","scope":41908,"src":"337133:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41898,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337133:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41900,"nodeType":"VariableDeclarationStatement","src":"337133:10:22"},{"AST":{"nativeSrc":"337205:924:22","nodeType":"YulBlock","src":"337205:924:22","statements":[{"body":{"nativeSrc":"337248:313:22","nodeType":"YulBlock","src":"337248:313:22","statements":[{"nativeSrc":"337266:15:22","nodeType":"YulVariableDeclaration","src":"337266:15:22","value":{"kind":"number","nativeSrc":"337280:1:22","nodeType":"YulLiteral","src":"337280:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"337270:6:22","nodeType":"YulTypedName","src":"337270:6:22","type":""}]},{"body":{"nativeSrc":"337351:40:22","nodeType":"YulBlock","src":"337351:40:22","statements":[{"body":{"nativeSrc":"337380:9:22","nodeType":"YulBlock","src":"337380:9:22","statements":[{"nativeSrc":"337382:5:22","nodeType":"YulBreak","src":"337382:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"337368:6:22","nodeType":"YulIdentifier","src":"337368:6:22"},{"name":"w","nativeSrc":"337376:1:22","nodeType":"YulIdentifier","src":"337376:1:22"}],"functionName":{"name":"byte","nativeSrc":"337363:4:22","nodeType":"YulIdentifier","src":"337363:4:22"},"nativeSrc":"337363:15:22","nodeType":"YulFunctionCall","src":"337363:15:22"}],"functionName":{"name":"iszero","nativeSrc":"337356:6:22","nodeType":"YulIdentifier","src":"337356:6:22"},"nativeSrc":"337356:23:22","nodeType":"YulFunctionCall","src":"337356:23:22"},"nativeSrc":"337353:36:22","nodeType":"YulIf","src":"337353:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"337308:6:22","nodeType":"YulIdentifier","src":"337308:6:22"},{"kind":"number","nativeSrc":"337316:4:22","nodeType":"YulLiteral","src":"337316:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"337305:2:22","nodeType":"YulIdentifier","src":"337305:2:22"},"nativeSrc":"337305:16:22","nodeType":"YulFunctionCall","src":"337305:16:22"},"nativeSrc":"337298:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"337322:28:22","nodeType":"YulBlock","src":"337322:28:22","statements":[{"nativeSrc":"337324:24:22","nodeType":"YulAssignment","src":"337324:24:22","value":{"arguments":[{"name":"length","nativeSrc":"337338:6:22","nodeType":"YulIdentifier","src":"337338:6:22"},{"kind":"number","nativeSrc":"337346:1:22","nodeType":"YulLiteral","src":"337346:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"337334:3:22","nodeType":"YulIdentifier","src":"337334:3:22"},"nativeSrc":"337334:14:22","nodeType":"YulFunctionCall","src":"337334:14:22"},"variableNames":[{"name":"length","nativeSrc":"337324:6:22","nodeType":"YulIdentifier","src":"337324:6:22"}]}]},"pre":{"nativeSrc":"337302:2:22","nodeType":"YulBlock","src":"337302:2:22","statements":[]},"src":"337298:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"337415:3:22","nodeType":"YulIdentifier","src":"337415:3:22"},{"name":"length","nativeSrc":"337420:6:22","nodeType":"YulIdentifier","src":"337420:6:22"}],"functionName":{"name":"mstore","nativeSrc":"337408:6:22","nodeType":"YulIdentifier","src":"337408:6:22"},"nativeSrc":"337408:19:22","nodeType":"YulFunctionCall","src":"337408:19:22"},"nativeSrc":"337408:19:22","nodeType":"YulExpressionStatement","src":"337408:19:22"},{"nativeSrc":"337444:37:22","nodeType":"YulVariableDeclaration","src":"337444:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"337461:3:22","nodeType":"YulLiteral","src":"337461:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"337470:1:22","nodeType":"YulLiteral","src":"337470:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"337473:6:22","nodeType":"YulIdentifier","src":"337473:6:22"}],"functionName":{"name":"shl","nativeSrc":"337466:3:22","nodeType":"YulIdentifier","src":"337466:3:22"},"nativeSrc":"337466:14:22","nodeType":"YulFunctionCall","src":"337466:14:22"}],"functionName":{"name":"sub","nativeSrc":"337457:3:22","nodeType":"YulIdentifier","src":"337457:3:22"},"nativeSrc":"337457:24:22","nodeType":"YulFunctionCall","src":"337457:24:22"},"variables":[{"name":"shift","nativeSrc":"337448:5:22","nodeType":"YulTypedName","src":"337448:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"337509:3:22","nodeType":"YulIdentifier","src":"337509:3:22"},{"kind":"number","nativeSrc":"337514:4:22","nodeType":"YulLiteral","src":"337514:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"337505:3:22","nodeType":"YulIdentifier","src":"337505:3:22"},"nativeSrc":"337505:14:22","nodeType":"YulFunctionCall","src":"337505:14:22"},{"arguments":[{"name":"shift","nativeSrc":"337525:5:22","nodeType":"YulIdentifier","src":"337525:5:22"},{"arguments":[{"name":"shift","nativeSrc":"337536:5:22","nodeType":"YulIdentifier","src":"337536:5:22"},{"name":"w","nativeSrc":"337543:1:22","nodeType":"YulIdentifier","src":"337543:1:22"}],"functionName":{"name":"shr","nativeSrc":"337532:3:22","nodeType":"YulIdentifier","src":"337532:3:22"},"nativeSrc":"337532:13:22","nodeType":"YulFunctionCall","src":"337532:13:22"}],"functionName":{"name":"shl","nativeSrc":"337521:3:22","nodeType":"YulIdentifier","src":"337521:3:22"},"nativeSrc":"337521:25:22","nodeType":"YulFunctionCall","src":"337521:25:22"}],"functionName":{"name":"mstore","nativeSrc":"337498:6:22","nodeType":"YulIdentifier","src":"337498:6:22"},"nativeSrc":"337498:49:22","nodeType":"YulFunctionCall","src":"337498:49:22"},"nativeSrc":"337498:49:22","nodeType":"YulExpressionStatement","src":"337498:49:22"}]},"name":"writeString","nativeSrc":"337219:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"337240:3:22","nodeType":"YulTypedName","src":"337240:3:22","type":""},{"name":"w","nativeSrc":"337245:1:22","nodeType":"YulTypedName","src":"337245:1:22","type":""}],"src":"337219:342:22"},{"nativeSrc":"337574:17:22","nodeType":"YulAssignment","src":"337574:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337586:4:22","nodeType":"YulLiteral","src":"337586:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"337580:5:22","nodeType":"YulIdentifier","src":"337580:5:22"},"nativeSrc":"337580:11:22","nodeType":"YulFunctionCall","src":"337580:11:22"},"variableNames":[{"name":"m0","nativeSrc":"337574:2:22","nodeType":"YulIdentifier","src":"337574:2:22"}]},{"nativeSrc":"337604:17:22","nodeType":"YulAssignment","src":"337604:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337616:4:22","nodeType":"YulLiteral","src":"337616:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"337610:5:22","nodeType":"YulIdentifier","src":"337610:5:22"},"nativeSrc":"337610:11:22","nodeType":"YulFunctionCall","src":"337610:11:22"},"variableNames":[{"name":"m1","nativeSrc":"337604:2:22","nodeType":"YulIdentifier","src":"337604:2:22"}]},{"nativeSrc":"337634:17:22","nodeType":"YulAssignment","src":"337634:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337646:4:22","nodeType":"YulLiteral","src":"337646:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"337640:5:22","nodeType":"YulIdentifier","src":"337640:5:22"},"nativeSrc":"337640:11:22","nodeType":"YulFunctionCall","src":"337640:11:22"},"variableNames":[{"name":"m2","nativeSrc":"337634:2:22","nodeType":"YulIdentifier","src":"337634:2:22"}]},{"nativeSrc":"337664:17:22","nodeType":"YulAssignment","src":"337664:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337676:4:22","nodeType":"YulLiteral","src":"337676:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"337670:5:22","nodeType":"YulIdentifier","src":"337670:5:22"},"nativeSrc":"337670:11:22","nodeType":"YulFunctionCall","src":"337670:11:22"},"variableNames":[{"name":"m3","nativeSrc":"337664:2:22","nodeType":"YulIdentifier","src":"337664:2:22"}]},{"nativeSrc":"337694:17:22","nodeType":"YulAssignment","src":"337694:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337706:4:22","nodeType":"YulLiteral","src":"337706:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"337700:5:22","nodeType":"YulIdentifier","src":"337700:5:22"},"nativeSrc":"337700:11:22","nodeType":"YulFunctionCall","src":"337700:11:22"},"variableNames":[{"name":"m4","nativeSrc":"337694:2:22","nodeType":"YulIdentifier","src":"337694:2:22"}]},{"nativeSrc":"337724:17:22","nodeType":"YulAssignment","src":"337724:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337736:4:22","nodeType":"YulLiteral","src":"337736:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"337730:5:22","nodeType":"YulIdentifier","src":"337730:5:22"},"nativeSrc":"337730:11:22","nodeType":"YulFunctionCall","src":"337730:11:22"},"variableNames":[{"name":"m5","nativeSrc":"337724:2:22","nodeType":"YulIdentifier","src":"337724:2:22"}]},{"nativeSrc":"337754:17:22","nodeType":"YulAssignment","src":"337754:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337766:4:22","nodeType":"YulLiteral","src":"337766:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"337760:5:22","nodeType":"YulIdentifier","src":"337760:5:22"},"nativeSrc":"337760:11:22","nodeType":"YulFunctionCall","src":"337760:11:22"},"variableNames":[{"name":"m6","nativeSrc":"337754:2:22","nodeType":"YulIdentifier","src":"337754:2:22"}]},{"nativeSrc":"337784:17:22","nodeType":"YulAssignment","src":"337784:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"337796:4:22","nodeType":"YulLiteral","src":"337796:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"337790:5:22","nodeType":"YulIdentifier","src":"337790:5:22"},"nativeSrc":"337790:11:22","nodeType":"YulFunctionCall","src":"337790:11:22"},"variableNames":[{"name":"m7","nativeSrc":"337784:2:22","nodeType":"YulIdentifier","src":"337784:2:22"}]},{"nativeSrc":"337814:18:22","nodeType":"YulAssignment","src":"337814:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"337826:5:22","nodeType":"YulLiteral","src":"337826:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"337820:5:22","nodeType":"YulIdentifier","src":"337820:5:22"},"nativeSrc":"337820:12:22","nodeType":"YulFunctionCall","src":"337820:12:22"},"variableNames":[{"name":"m8","nativeSrc":"337814:2:22","nodeType":"YulIdentifier","src":"337814:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337914:4:22","nodeType":"YulLiteral","src":"337914:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"337920:10:22","nodeType":"YulLiteral","src":"337920:10:22","type":"","value":"0x0454c079"}],"functionName":{"name":"mstore","nativeSrc":"337907:6:22","nodeType":"YulIdentifier","src":"337907:6:22"},"nativeSrc":"337907:24:22","nodeType":"YulFunctionCall","src":"337907:24:22"},"nativeSrc":"337907:24:22","nodeType":"YulExpressionStatement","src":"337907:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337951:4:22","nodeType":"YulLiteral","src":"337951:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"337957:4:22","nodeType":"YulLiteral","src":"337957:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"337944:6:22","nodeType":"YulIdentifier","src":"337944:6:22"},"nativeSrc":"337944:18:22","nodeType":"YulFunctionCall","src":"337944:18:22"},"nativeSrc":"337944:18:22","nodeType":"YulExpressionStatement","src":"337944:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337982:4:22","nodeType":"YulLiteral","src":"337982:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"337988:2:22","nodeType":"YulIdentifier","src":"337988:2:22"}],"functionName":{"name":"mstore","nativeSrc":"337975:6:22","nodeType":"YulIdentifier","src":"337975:6:22"},"nativeSrc":"337975:16:22","nodeType":"YulFunctionCall","src":"337975:16:22"},"nativeSrc":"337975:16:22","nodeType":"YulExpressionStatement","src":"337975:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338011:4:22","nodeType":"YulLiteral","src":"338011:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"338017:2:22","nodeType":"YulIdentifier","src":"338017:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338004:6:22","nodeType":"YulIdentifier","src":"338004:6:22"},"nativeSrc":"338004:16:22","nodeType":"YulFunctionCall","src":"338004:16:22"},"nativeSrc":"338004:16:22","nodeType":"YulExpressionStatement","src":"338004:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338040:4:22","nodeType":"YulLiteral","src":"338040:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"338046:4:22","nodeType":"YulLiteral","src":"338046:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"338033:6:22","nodeType":"YulIdentifier","src":"338033:6:22"},"nativeSrc":"338033:18:22","nodeType":"YulFunctionCall","src":"338033:18:22"},"nativeSrc":"338033:18:22","nodeType":"YulExpressionStatement","src":"338033:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338076:4:22","nodeType":"YulLiteral","src":"338076:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"338082:2:22","nodeType":"YulIdentifier","src":"338082:2:22"}],"functionName":{"name":"writeString","nativeSrc":"338064:11:22","nodeType":"YulIdentifier","src":"338064:11:22"},"nativeSrc":"338064:21:22","nodeType":"YulFunctionCall","src":"338064:21:22"},"nativeSrc":"338064:21:22","nodeType":"YulExpressionStatement","src":"338064:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338110:4:22","nodeType":"YulLiteral","src":"338110:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"338116:2:22","nodeType":"YulIdentifier","src":"338116:2:22"}],"functionName":{"name":"writeString","nativeSrc":"338098:11:22","nodeType":"YulIdentifier","src":"338098:11:22"},"nativeSrc":"338098:21:22","nodeType":"YulFunctionCall","src":"338098:21:22"},"nativeSrc":"338098:21:22","nodeType":"YulExpressionStatement","src":"338098:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41875,"isOffset":false,"isSlot":false,"src":"337574:2:22","valueSize":1},{"declaration":41878,"isOffset":false,"isSlot":false,"src":"337604:2:22","valueSize":1},{"declaration":41881,"isOffset":false,"isSlot":false,"src":"337634:2:22","valueSize":1},{"declaration":41884,"isOffset":false,"isSlot":false,"src":"337664:2:22","valueSize":1},{"declaration":41887,"isOffset":false,"isSlot":false,"src":"337694:2:22","valueSize":1},{"declaration":41890,"isOffset":false,"isSlot":false,"src":"337724:2:22","valueSize":1},{"declaration":41893,"isOffset":false,"isSlot":false,"src":"337754:2:22","valueSize":1},{"declaration":41896,"isOffset":false,"isSlot":false,"src":"337784:2:22","valueSize":1},{"declaration":41899,"isOffset":false,"isSlot":false,"src":"337814:2:22","valueSize":1},{"declaration":41865,"isOffset":false,"isSlot":false,"src":"338082:2:22","valueSize":1},{"declaration":41867,"isOffset":false,"isSlot":false,"src":"337988:2:22","valueSize":1},{"declaration":41869,"isOffset":false,"isSlot":false,"src":"338017:2:22","valueSize":1},{"declaration":41871,"isOffset":false,"isSlot":false,"src":"338116:2:22","valueSize":1}],"id":41901,"nodeType":"InlineAssembly","src":"337196:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338154:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":41904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338160:5:22","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":41902,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"338138:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"338138:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41906,"nodeType":"ExpressionStatement","src":"338138:28:22"},{"AST":{"nativeSrc":"338228:273:22","nodeType":"YulBlock","src":"338228:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"338249:4:22","nodeType":"YulLiteral","src":"338249:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"338255:2:22","nodeType":"YulIdentifier","src":"338255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338242:6:22","nodeType":"YulIdentifier","src":"338242:6:22"},"nativeSrc":"338242:16:22","nodeType":"YulFunctionCall","src":"338242:16:22"},"nativeSrc":"338242:16:22","nodeType":"YulExpressionStatement","src":"338242:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338278:4:22","nodeType":"YulLiteral","src":"338278:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"338284:2:22","nodeType":"YulIdentifier","src":"338284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338271:6:22","nodeType":"YulIdentifier","src":"338271:6:22"},"nativeSrc":"338271:16:22","nodeType":"YulFunctionCall","src":"338271:16:22"},"nativeSrc":"338271:16:22","nodeType":"YulExpressionStatement","src":"338271:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338307:4:22","nodeType":"YulLiteral","src":"338307:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"338313:2:22","nodeType":"YulIdentifier","src":"338313:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338300:6:22","nodeType":"YulIdentifier","src":"338300:6:22"},"nativeSrc":"338300:16:22","nodeType":"YulFunctionCall","src":"338300:16:22"},"nativeSrc":"338300:16:22","nodeType":"YulExpressionStatement","src":"338300:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338336:4:22","nodeType":"YulLiteral","src":"338336:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"338342:2:22","nodeType":"YulIdentifier","src":"338342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338329:6:22","nodeType":"YulIdentifier","src":"338329:6:22"},"nativeSrc":"338329:16:22","nodeType":"YulFunctionCall","src":"338329:16:22"},"nativeSrc":"338329:16:22","nodeType":"YulExpressionStatement","src":"338329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338365:4:22","nodeType":"YulLiteral","src":"338365:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"338371:2:22","nodeType":"YulIdentifier","src":"338371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338358:6:22","nodeType":"YulIdentifier","src":"338358:6:22"},"nativeSrc":"338358:16:22","nodeType":"YulFunctionCall","src":"338358:16:22"},"nativeSrc":"338358:16:22","nodeType":"YulExpressionStatement","src":"338358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338394:4:22","nodeType":"YulLiteral","src":"338394:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"338400:2:22","nodeType":"YulIdentifier","src":"338400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338387:6:22","nodeType":"YulIdentifier","src":"338387:6:22"},"nativeSrc":"338387:16:22","nodeType":"YulFunctionCall","src":"338387:16:22"},"nativeSrc":"338387:16:22","nodeType":"YulExpressionStatement","src":"338387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338423:4:22","nodeType":"YulLiteral","src":"338423:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"338429:2:22","nodeType":"YulIdentifier","src":"338429:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338416:6:22","nodeType":"YulIdentifier","src":"338416:6:22"},"nativeSrc":"338416:16:22","nodeType":"YulFunctionCall","src":"338416:16:22"},"nativeSrc":"338416:16:22","nodeType":"YulExpressionStatement","src":"338416:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338452:4:22","nodeType":"YulLiteral","src":"338452:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"338458:2:22","nodeType":"YulIdentifier","src":"338458:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338445:6:22","nodeType":"YulIdentifier","src":"338445:6:22"},"nativeSrc":"338445:16:22","nodeType":"YulFunctionCall","src":"338445:16:22"},"nativeSrc":"338445:16:22","nodeType":"YulExpressionStatement","src":"338445:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338481:5:22","nodeType":"YulLiteral","src":"338481:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"338488:2:22","nodeType":"YulIdentifier","src":"338488:2:22"}],"functionName":{"name":"mstore","nativeSrc":"338474:6:22","nodeType":"YulIdentifier","src":"338474:6:22"},"nativeSrc":"338474:17:22","nodeType":"YulFunctionCall","src":"338474:17:22"},"nativeSrc":"338474:17:22","nodeType":"YulExpressionStatement","src":"338474:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41875,"isOffset":false,"isSlot":false,"src":"338255:2:22","valueSize":1},{"declaration":41878,"isOffset":false,"isSlot":false,"src":"338284:2:22","valueSize":1},{"declaration":41881,"isOffset":false,"isSlot":false,"src":"338313:2:22","valueSize":1},{"declaration":41884,"isOffset":false,"isSlot":false,"src":"338342:2:22","valueSize":1},{"declaration":41887,"isOffset":false,"isSlot":false,"src":"338371:2:22","valueSize":1},{"declaration":41890,"isOffset":false,"isSlot":false,"src":"338400:2:22","valueSize":1},{"declaration":41893,"isOffset":false,"isSlot":false,"src":"338429:2:22","valueSize":1},{"declaration":41896,"isOffset":false,"isSlot":false,"src":"338458:2:22","valueSize":1},{"declaration":41899,"isOffset":false,"isSlot":false,"src":"338488:2:22","valueSize":1}],"id":41907,"nodeType":"InlineAssembly","src":"338219:282:22"}]},"id":41909,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"336900:3:22","nodeType":"FunctionDefinition","parameters":{"id":41872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41865,"mutability":"mutable","name":"p0","nameLocation":"336912:2:22","nodeType":"VariableDeclaration","scope":41909,"src":"336904:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336904:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41867,"mutability":"mutable","name":"p1","nameLocation":"336924:2:22","nodeType":"VariableDeclaration","scope":41909,"src":"336916:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41866,"name":"address","nodeType":"ElementaryTypeName","src":"336916:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41869,"mutability":"mutable","name":"p2","nameLocation":"336933:2:22","nodeType":"VariableDeclaration","scope":41909,"src":"336928:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41868,"name":"bool","nodeType":"ElementaryTypeName","src":"336928:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41871,"mutability":"mutable","name":"p3","nameLocation":"336945:2:22","nodeType":"VariableDeclaration","scope":41909,"src":"336937:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336937:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"336903:45:22"},"returnParameters":{"id":41873,"nodeType":"ParameterList","parameters":[],"src":"336963:0:22"},"scope":44426,"src":"336891:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41948,"nodeType":"Block","src":"338588:1351:22","statements":[{"assignments":[41921],"declarations":[{"constant":false,"id":41921,"mutability":"mutable","name":"m0","nameLocation":"338606:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338598:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338598:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41922,"nodeType":"VariableDeclarationStatement","src":"338598:10:22"},{"assignments":[41924],"declarations":[{"constant":false,"id":41924,"mutability":"mutable","name":"m1","nameLocation":"338626:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338618:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338618:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41925,"nodeType":"VariableDeclarationStatement","src":"338618:10:22"},{"assignments":[41927],"declarations":[{"constant":false,"id":41927,"mutability":"mutable","name":"m2","nameLocation":"338646:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41928,"nodeType":"VariableDeclarationStatement","src":"338638:10:22"},{"assignments":[41930],"declarations":[{"constant":false,"id":41930,"mutability":"mutable","name":"m3","nameLocation":"338666:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41931,"nodeType":"VariableDeclarationStatement","src":"338658:10:22"},{"assignments":[41933],"declarations":[{"constant":false,"id":41933,"mutability":"mutable","name":"m4","nameLocation":"338686:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338678:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338678:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41934,"nodeType":"VariableDeclarationStatement","src":"338678:10:22"},{"assignments":[41936],"declarations":[{"constant":false,"id":41936,"mutability":"mutable","name":"m5","nameLocation":"338706:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41937,"nodeType":"VariableDeclarationStatement","src":"338698:10:22"},{"assignments":[41939],"declarations":[{"constant":false,"id":41939,"mutability":"mutable","name":"m6","nameLocation":"338726:2:22","nodeType":"VariableDeclaration","scope":41948,"src":"338718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41938,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41940,"nodeType":"VariableDeclarationStatement","src":"338718:10:22"},{"AST":{"nativeSrc":"338790:831:22","nodeType":"YulBlock","src":"338790:831:22","statements":[{"body":{"nativeSrc":"338833:313:22","nodeType":"YulBlock","src":"338833:313:22","statements":[{"nativeSrc":"338851:15:22","nodeType":"YulVariableDeclaration","src":"338851:15:22","value":{"kind":"number","nativeSrc":"338865:1:22","nodeType":"YulLiteral","src":"338865:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"338855:6:22","nodeType":"YulTypedName","src":"338855:6:22","type":""}]},{"body":{"nativeSrc":"338936:40:22","nodeType":"YulBlock","src":"338936:40:22","statements":[{"body":{"nativeSrc":"338965:9:22","nodeType":"YulBlock","src":"338965:9:22","statements":[{"nativeSrc":"338967:5:22","nodeType":"YulBreak","src":"338967:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"338953:6:22","nodeType":"YulIdentifier","src":"338953:6:22"},{"name":"w","nativeSrc":"338961:1:22","nodeType":"YulIdentifier","src":"338961:1:22"}],"functionName":{"name":"byte","nativeSrc":"338948:4:22","nodeType":"YulIdentifier","src":"338948:4:22"},"nativeSrc":"338948:15:22","nodeType":"YulFunctionCall","src":"338948:15:22"}],"functionName":{"name":"iszero","nativeSrc":"338941:6:22","nodeType":"YulIdentifier","src":"338941:6:22"},"nativeSrc":"338941:23:22","nodeType":"YulFunctionCall","src":"338941:23:22"},"nativeSrc":"338938:36:22","nodeType":"YulIf","src":"338938:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"338893:6:22","nodeType":"YulIdentifier","src":"338893:6:22"},{"kind":"number","nativeSrc":"338901:4:22","nodeType":"YulLiteral","src":"338901:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"338890:2:22","nodeType":"YulIdentifier","src":"338890:2:22"},"nativeSrc":"338890:16:22","nodeType":"YulFunctionCall","src":"338890:16:22"},"nativeSrc":"338883:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"338907:28:22","nodeType":"YulBlock","src":"338907:28:22","statements":[{"nativeSrc":"338909:24:22","nodeType":"YulAssignment","src":"338909:24:22","value":{"arguments":[{"name":"length","nativeSrc":"338923:6:22","nodeType":"YulIdentifier","src":"338923:6:22"},{"kind":"number","nativeSrc":"338931:1:22","nodeType":"YulLiteral","src":"338931:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"338919:3:22","nodeType":"YulIdentifier","src":"338919:3:22"},"nativeSrc":"338919:14:22","nodeType":"YulFunctionCall","src":"338919:14:22"},"variableNames":[{"name":"length","nativeSrc":"338909:6:22","nodeType":"YulIdentifier","src":"338909:6:22"}]}]},"pre":{"nativeSrc":"338887:2:22","nodeType":"YulBlock","src":"338887:2:22","statements":[]},"src":"338883:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"339000:3:22","nodeType":"YulIdentifier","src":"339000:3:22"},{"name":"length","nativeSrc":"339005:6:22","nodeType":"YulIdentifier","src":"339005:6:22"}],"functionName":{"name":"mstore","nativeSrc":"338993:6:22","nodeType":"YulIdentifier","src":"338993:6:22"},"nativeSrc":"338993:19:22","nodeType":"YulFunctionCall","src":"338993:19:22"},"nativeSrc":"338993:19:22","nodeType":"YulExpressionStatement","src":"338993:19:22"},{"nativeSrc":"339029:37:22","nodeType":"YulVariableDeclaration","src":"339029:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"339046:3:22","nodeType":"YulLiteral","src":"339046:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"339055:1:22","nodeType":"YulLiteral","src":"339055:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"339058:6:22","nodeType":"YulIdentifier","src":"339058:6:22"}],"functionName":{"name":"shl","nativeSrc":"339051:3:22","nodeType":"YulIdentifier","src":"339051:3:22"},"nativeSrc":"339051:14:22","nodeType":"YulFunctionCall","src":"339051:14:22"}],"functionName":{"name":"sub","nativeSrc":"339042:3:22","nodeType":"YulIdentifier","src":"339042:3:22"},"nativeSrc":"339042:24:22","nodeType":"YulFunctionCall","src":"339042:24:22"},"variables":[{"name":"shift","nativeSrc":"339033:5:22","nodeType":"YulTypedName","src":"339033:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"339094:3:22","nodeType":"YulIdentifier","src":"339094:3:22"},{"kind":"number","nativeSrc":"339099:4:22","nodeType":"YulLiteral","src":"339099:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"339090:3:22","nodeType":"YulIdentifier","src":"339090:3:22"},"nativeSrc":"339090:14:22","nodeType":"YulFunctionCall","src":"339090:14:22"},{"arguments":[{"name":"shift","nativeSrc":"339110:5:22","nodeType":"YulIdentifier","src":"339110:5:22"},{"arguments":[{"name":"shift","nativeSrc":"339121:5:22","nodeType":"YulIdentifier","src":"339121:5:22"},{"name":"w","nativeSrc":"339128:1:22","nodeType":"YulIdentifier","src":"339128:1:22"}],"functionName":{"name":"shr","nativeSrc":"339117:3:22","nodeType":"YulIdentifier","src":"339117:3:22"},"nativeSrc":"339117:13:22","nodeType":"YulFunctionCall","src":"339117:13:22"}],"functionName":{"name":"shl","nativeSrc":"339106:3:22","nodeType":"YulIdentifier","src":"339106:3:22"},"nativeSrc":"339106:25:22","nodeType":"YulFunctionCall","src":"339106:25:22"}],"functionName":{"name":"mstore","nativeSrc":"339083:6:22","nodeType":"YulIdentifier","src":"339083:6:22"},"nativeSrc":"339083:49:22","nodeType":"YulFunctionCall","src":"339083:49:22"},"nativeSrc":"339083:49:22","nodeType":"YulExpressionStatement","src":"339083:49:22"}]},"name":"writeString","nativeSrc":"338804:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"338825:3:22","nodeType":"YulTypedName","src":"338825:3:22","type":""},{"name":"w","nativeSrc":"338830:1:22","nodeType":"YulTypedName","src":"338830:1:22","type":""}],"src":"338804:342:22"},{"nativeSrc":"339159:17:22","nodeType":"YulAssignment","src":"339159:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339171:4:22","nodeType":"YulLiteral","src":"339171:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"339165:5:22","nodeType":"YulIdentifier","src":"339165:5:22"},"nativeSrc":"339165:11:22","nodeType":"YulFunctionCall","src":"339165:11:22"},"variableNames":[{"name":"m0","nativeSrc":"339159:2:22","nodeType":"YulIdentifier","src":"339159:2:22"}]},{"nativeSrc":"339189:17:22","nodeType":"YulAssignment","src":"339189:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339201:4:22","nodeType":"YulLiteral","src":"339201:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"339195:5:22","nodeType":"YulIdentifier","src":"339195:5:22"},"nativeSrc":"339195:11:22","nodeType":"YulFunctionCall","src":"339195:11:22"},"variableNames":[{"name":"m1","nativeSrc":"339189:2:22","nodeType":"YulIdentifier","src":"339189:2:22"}]},{"nativeSrc":"339219:17:22","nodeType":"YulAssignment","src":"339219:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339231:4:22","nodeType":"YulLiteral","src":"339231:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"339225:5:22","nodeType":"YulIdentifier","src":"339225:5:22"},"nativeSrc":"339225:11:22","nodeType":"YulFunctionCall","src":"339225:11:22"},"variableNames":[{"name":"m2","nativeSrc":"339219:2:22","nodeType":"YulIdentifier","src":"339219:2:22"}]},{"nativeSrc":"339249:17:22","nodeType":"YulAssignment","src":"339249:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339261:4:22","nodeType":"YulLiteral","src":"339261:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"339255:5:22","nodeType":"YulIdentifier","src":"339255:5:22"},"nativeSrc":"339255:11:22","nodeType":"YulFunctionCall","src":"339255:11:22"},"variableNames":[{"name":"m3","nativeSrc":"339249:2:22","nodeType":"YulIdentifier","src":"339249:2:22"}]},{"nativeSrc":"339279:17:22","nodeType":"YulAssignment","src":"339279:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339291:4:22","nodeType":"YulLiteral","src":"339291:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"339285:5:22","nodeType":"YulIdentifier","src":"339285:5:22"},"nativeSrc":"339285:11:22","nodeType":"YulFunctionCall","src":"339285:11:22"},"variableNames":[{"name":"m4","nativeSrc":"339279:2:22","nodeType":"YulIdentifier","src":"339279:2:22"}]},{"nativeSrc":"339309:17:22","nodeType":"YulAssignment","src":"339309:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339321:4:22","nodeType":"YulLiteral","src":"339321:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"339315:5:22","nodeType":"YulIdentifier","src":"339315:5:22"},"nativeSrc":"339315:11:22","nodeType":"YulFunctionCall","src":"339315:11:22"},"variableNames":[{"name":"m5","nativeSrc":"339309:2:22","nodeType":"YulIdentifier","src":"339309:2:22"}]},{"nativeSrc":"339339:17:22","nodeType":"YulAssignment","src":"339339:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"339351:4:22","nodeType":"YulLiteral","src":"339351:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"339345:5:22","nodeType":"YulIdentifier","src":"339345:5:22"},"nativeSrc":"339345:11:22","nodeType":"YulFunctionCall","src":"339345:11:22"},"variableNames":[{"name":"m6","nativeSrc":"339339:2:22","nodeType":"YulIdentifier","src":"339339:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339442:4:22","nodeType":"YulLiteral","src":"339442:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"339448:10:22","nodeType":"YulLiteral","src":"339448:10:22","type":"","value":"0x63fb8bc5"}],"functionName":{"name":"mstore","nativeSrc":"339435:6:22","nodeType":"YulIdentifier","src":"339435:6:22"},"nativeSrc":"339435:24:22","nodeType":"YulFunctionCall","src":"339435:24:22"},"nativeSrc":"339435:24:22","nodeType":"YulExpressionStatement","src":"339435:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339479:4:22","nodeType":"YulLiteral","src":"339479:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"339485:4:22","nodeType":"YulLiteral","src":"339485:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"339472:6:22","nodeType":"YulIdentifier","src":"339472:6:22"},"nativeSrc":"339472:18:22","nodeType":"YulFunctionCall","src":"339472:18:22"},"nativeSrc":"339472:18:22","nodeType":"YulExpressionStatement","src":"339472:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339510:4:22","nodeType":"YulLiteral","src":"339510:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"339516:2:22","nodeType":"YulIdentifier","src":"339516:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339503:6:22","nodeType":"YulIdentifier","src":"339503:6:22"},"nativeSrc":"339503:16:22","nodeType":"YulFunctionCall","src":"339503:16:22"},"nativeSrc":"339503:16:22","nodeType":"YulExpressionStatement","src":"339503:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339539:4:22","nodeType":"YulLiteral","src":"339539:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"339545:2:22","nodeType":"YulIdentifier","src":"339545:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339532:6:22","nodeType":"YulIdentifier","src":"339532:6:22"},"nativeSrc":"339532:16:22","nodeType":"YulFunctionCall","src":"339532:16:22"},"nativeSrc":"339532:16:22","nodeType":"YulExpressionStatement","src":"339532:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339568:4:22","nodeType":"YulLiteral","src":"339568:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"339574:2:22","nodeType":"YulIdentifier","src":"339574:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339561:6:22","nodeType":"YulIdentifier","src":"339561:6:22"},"nativeSrc":"339561:16:22","nodeType":"YulFunctionCall","src":"339561:16:22"},"nativeSrc":"339561:16:22","nodeType":"YulExpressionStatement","src":"339561:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339602:4:22","nodeType":"YulLiteral","src":"339602:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"339608:2:22","nodeType":"YulIdentifier","src":"339608:2:22"}],"functionName":{"name":"writeString","nativeSrc":"339590:11:22","nodeType":"YulIdentifier","src":"339590:11:22"},"nativeSrc":"339590:21:22","nodeType":"YulFunctionCall","src":"339590:21:22"},"nativeSrc":"339590:21:22","nodeType":"YulExpressionStatement","src":"339590:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41921,"isOffset":false,"isSlot":false,"src":"339159:2:22","valueSize":1},{"declaration":41924,"isOffset":false,"isSlot":false,"src":"339189:2:22","valueSize":1},{"declaration":41927,"isOffset":false,"isSlot":false,"src":"339219:2:22","valueSize":1},{"declaration":41930,"isOffset":false,"isSlot":false,"src":"339249:2:22","valueSize":1},{"declaration":41933,"isOffset":false,"isSlot":false,"src":"339279:2:22","valueSize":1},{"declaration":41936,"isOffset":false,"isSlot":false,"src":"339309:2:22","valueSize":1},{"declaration":41939,"isOffset":false,"isSlot":false,"src":"339339:2:22","valueSize":1},{"declaration":41911,"isOffset":false,"isSlot":false,"src":"339608:2:22","valueSize":1},{"declaration":41913,"isOffset":false,"isSlot":false,"src":"339516:2:22","valueSize":1},{"declaration":41915,"isOffset":false,"isSlot":false,"src":"339545:2:22","valueSize":1},{"declaration":41917,"isOffset":false,"isSlot":false,"src":"339574:2:22","valueSize":1}],"id":41941,"nodeType":"InlineAssembly","src":"338781:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339646:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339652:4:22","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":41942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"339630:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"339630:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41946,"nodeType":"ExpressionStatement","src":"339630:27:22"},{"AST":{"nativeSrc":"339719:214:22","nodeType":"YulBlock","src":"339719:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"339740:4:22","nodeType":"YulLiteral","src":"339740:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"339746:2:22","nodeType":"YulIdentifier","src":"339746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339733:6:22","nodeType":"YulIdentifier","src":"339733:6:22"},"nativeSrc":"339733:16:22","nodeType":"YulFunctionCall","src":"339733:16:22"},"nativeSrc":"339733:16:22","nodeType":"YulExpressionStatement","src":"339733:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339769:4:22","nodeType":"YulLiteral","src":"339769:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"339775:2:22","nodeType":"YulIdentifier","src":"339775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339762:6:22","nodeType":"YulIdentifier","src":"339762:6:22"},"nativeSrc":"339762:16:22","nodeType":"YulFunctionCall","src":"339762:16:22"},"nativeSrc":"339762:16:22","nodeType":"YulExpressionStatement","src":"339762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339798:4:22","nodeType":"YulLiteral","src":"339798:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"339804:2:22","nodeType":"YulIdentifier","src":"339804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339791:6:22","nodeType":"YulIdentifier","src":"339791:6:22"},"nativeSrc":"339791:16:22","nodeType":"YulFunctionCall","src":"339791:16:22"},"nativeSrc":"339791:16:22","nodeType":"YulExpressionStatement","src":"339791:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339827:4:22","nodeType":"YulLiteral","src":"339827:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"339833:2:22","nodeType":"YulIdentifier","src":"339833:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339820:6:22","nodeType":"YulIdentifier","src":"339820:6:22"},"nativeSrc":"339820:16:22","nodeType":"YulFunctionCall","src":"339820:16:22"},"nativeSrc":"339820:16:22","nodeType":"YulExpressionStatement","src":"339820:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339856:4:22","nodeType":"YulLiteral","src":"339856:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"339862:2:22","nodeType":"YulIdentifier","src":"339862:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339849:6:22","nodeType":"YulIdentifier","src":"339849:6:22"},"nativeSrc":"339849:16:22","nodeType":"YulFunctionCall","src":"339849:16:22"},"nativeSrc":"339849:16:22","nodeType":"YulExpressionStatement","src":"339849:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339885:4:22","nodeType":"YulLiteral","src":"339885:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"339891:2:22","nodeType":"YulIdentifier","src":"339891:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339878:6:22","nodeType":"YulIdentifier","src":"339878:6:22"},"nativeSrc":"339878:16:22","nodeType":"YulFunctionCall","src":"339878:16:22"},"nativeSrc":"339878:16:22","nodeType":"YulExpressionStatement","src":"339878:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339914:4:22","nodeType":"YulLiteral","src":"339914:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"339920:2:22","nodeType":"YulIdentifier","src":"339920:2:22"}],"functionName":{"name":"mstore","nativeSrc":"339907:6:22","nodeType":"YulIdentifier","src":"339907:6:22"},"nativeSrc":"339907:16:22","nodeType":"YulFunctionCall","src":"339907:16:22"},"nativeSrc":"339907:16:22","nodeType":"YulExpressionStatement","src":"339907:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41921,"isOffset":false,"isSlot":false,"src":"339746:2:22","valueSize":1},{"declaration":41924,"isOffset":false,"isSlot":false,"src":"339775:2:22","valueSize":1},{"declaration":41927,"isOffset":false,"isSlot":false,"src":"339804:2:22","valueSize":1},{"declaration":41930,"isOffset":false,"isSlot":false,"src":"339833:2:22","valueSize":1},{"declaration":41933,"isOffset":false,"isSlot":false,"src":"339862:2:22","valueSize":1},{"declaration":41936,"isOffset":false,"isSlot":false,"src":"339891:2:22","valueSize":1},{"declaration":41939,"isOffset":false,"isSlot":false,"src":"339920:2:22","valueSize":1}],"id":41947,"nodeType":"InlineAssembly","src":"339710:223:22"}]},"id":41949,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"338522:3:22","nodeType":"FunctionDefinition","parameters":{"id":41918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41911,"mutability":"mutable","name":"p0","nameLocation":"338534:2:22","nodeType":"VariableDeclaration","scope":41949,"src":"338526:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338526:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41913,"mutability":"mutable","name":"p1","nameLocation":"338546:2:22","nodeType":"VariableDeclaration","scope":41949,"src":"338538:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41912,"name":"address","nodeType":"ElementaryTypeName","src":"338538:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41915,"mutability":"mutable","name":"p2","nameLocation":"338558:2:22","nodeType":"VariableDeclaration","scope":41949,"src":"338550:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41914,"name":"uint256","nodeType":"ElementaryTypeName","src":"338550:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41917,"mutability":"mutable","name":"p3","nameLocation":"338570:2:22","nodeType":"VariableDeclaration","scope":41949,"src":"338562:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41916,"name":"address","nodeType":"ElementaryTypeName","src":"338562:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"338525:48:22"},"returnParameters":{"id":41919,"nodeType":"ParameterList","parameters":[],"src":"338588:0:22"},"scope":44426,"src":"338513:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":41988,"nodeType":"Block","src":"340017:1348:22","statements":[{"assignments":[41961],"declarations":[{"constant":false,"id":41961,"mutability":"mutable","name":"m0","nameLocation":"340035:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340027:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340027:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41962,"nodeType":"VariableDeclarationStatement","src":"340027:10:22"},{"assignments":[41964],"declarations":[{"constant":false,"id":41964,"mutability":"mutable","name":"m1","nameLocation":"340055:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340047:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340047:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41965,"nodeType":"VariableDeclarationStatement","src":"340047:10:22"},{"assignments":[41967],"declarations":[{"constant":false,"id":41967,"mutability":"mutable","name":"m2","nameLocation":"340075:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41968,"nodeType":"VariableDeclarationStatement","src":"340067:10:22"},{"assignments":[41970],"declarations":[{"constant":false,"id":41970,"mutability":"mutable","name":"m3","nameLocation":"340095:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41971,"nodeType":"VariableDeclarationStatement","src":"340087:10:22"},{"assignments":[41973],"declarations":[{"constant":false,"id":41973,"mutability":"mutable","name":"m4","nameLocation":"340115:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41974,"nodeType":"VariableDeclarationStatement","src":"340107:10:22"},{"assignments":[41976],"declarations":[{"constant":false,"id":41976,"mutability":"mutable","name":"m5","nameLocation":"340135:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340127:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340127:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41977,"nodeType":"VariableDeclarationStatement","src":"340127:10:22"},{"assignments":[41979],"declarations":[{"constant":false,"id":41979,"mutability":"mutable","name":"m6","nameLocation":"340155:2:22","nodeType":"VariableDeclaration","scope":41988,"src":"340147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":41980,"nodeType":"VariableDeclarationStatement","src":"340147:10:22"},{"AST":{"nativeSrc":"340219:828:22","nodeType":"YulBlock","src":"340219:828:22","statements":[{"body":{"nativeSrc":"340262:313:22","nodeType":"YulBlock","src":"340262:313:22","statements":[{"nativeSrc":"340280:15:22","nodeType":"YulVariableDeclaration","src":"340280:15:22","value":{"kind":"number","nativeSrc":"340294:1:22","nodeType":"YulLiteral","src":"340294:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"340284:6:22","nodeType":"YulTypedName","src":"340284:6:22","type":""}]},{"body":{"nativeSrc":"340365:40:22","nodeType":"YulBlock","src":"340365:40:22","statements":[{"body":{"nativeSrc":"340394:9:22","nodeType":"YulBlock","src":"340394:9:22","statements":[{"nativeSrc":"340396:5:22","nodeType":"YulBreak","src":"340396:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"340382:6:22","nodeType":"YulIdentifier","src":"340382:6:22"},{"name":"w","nativeSrc":"340390:1:22","nodeType":"YulIdentifier","src":"340390:1:22"}],"functionName":{"name":"byte","nativeSrc":"340377:4:22","nodeType":"YulIdentifier","src":"340377:4:22"},"nativeSrc":"340377:15:22","nodeType":"YulFunctionCall","src":"340377:15:22"}],"functionName":{"name":"iszero","nativeSrc":"340370:6:22","nodeType":"YulIdentifier","src":"340370:6:22"},"nativeSrc":"340370:23:22","nodeType":"YulFunctionCall","src":"340370:23:22"},"nativeSrc":"340367:36:22","nodeType":"YulIf","src":"340367:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"340322:6:22","nodeType":"YulIdentifier","src":"340322:6:22"},{"kind":"number","nativeSrc":"340330:4:22","nodeType":"YulLiteral","src":"340330:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"340319:2:22","nodeType":"YulIdentifier","src":"340319:2:22"},"nativeSrc":"340319:16:22","nodeType":"YulFunctionCall","src":"340319:16:22"},"nativeSrc":"340312:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"340336:28:22","nodeType":"YulBlock","src":"340336:28:22","statements":[{"nativeSrc":"340338:24:22","nodeType":"YulAssignment","src":"340338:24:22","value":{"arguments":[{"name":"length","nativeSrc":"340352:6:22","nodeType":"YulIdentifier","src":"340352:6:22"},{"kind":"number","nativeSrc":"340360:1:22","nodeType":"YulLiteral","src":"340360:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"340348:3:22","nodeType":"YulIdentifier","src":"340348:3:22"},"nativeSrc":"340348:14:22","nodeType":"YulFunctionCall","src":"340348:14:22"},"variableNames":[{"name":"length","nativeSrc":"340338:6:22","nodeType":"YulIdentifier","src":"340338:6:22"}]}]},"pre":{"nativeSrc":"340316:2:22","nodeType":"YulBlock","src":"340316:2:22","statements":[]},"src":"340312:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"340429:3:22","nodeType":"YulIdentifier","src":"340429:3:22"},{"name":"length","nativeSrc":"340434:6:22","nodeType":"YulIdentifier","src":"340434:6:22"}],"functionName":{"name":"mstore","nativeSrc":"340422:6:22","nodeType":"YulIdentifier","src":"340422:6:22"},"nativeSrc":"340422:19:22","nodeType":"YulFunctionCall","src":"340422:19:22"},"nativeSrc":"340422:19:22","nodeType":"YulExpressionStatement","src":"340422:19:22"},{"nativeSrc":"340458:37:22","nodeType":"YulVariableDeclaration","src":"340458:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"340475:3:22","nodeType":"YulLiteral","src":"340475:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"340484:1:22","nodeType":"YulLiteral","src":"340484:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"340487:6:22","nodeType":"YulIdentifier","src":"340487:6:22"}],"functionName":{"name":"shl","nativeSrc":"340480:3:22","nodeType":"YulIdentifier","src":"340480:3:22"},"nativeSrc":"340480:14:22","nodeType":"YulFunctionCall","src":"340480:14:22"}],"functionName":{"name":"sub","nativeSrc":"340471:3:22","nodeType":"YulIdentifier","src":"340471:3:22"},"nativeSrc":"340471:24:22","nodeType":"YulFunctionCall","src":"340471:24:22"},"variables":[{"name":"shift","nativeSrc":"340462:5:22","nodeType":"YulTypedName","src":"340462:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"340523:3:22","nodeType":"YulIdentifier","src":"340523:3:22"},{"kind":"number","nativeSrc":"340528:4:22","nodeType":"YulLiteral","src":"340528:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"340519:3:22","nodeType":"YulIdentifier","src":"340519:3:22"},"nativeSrc":"340519:14:22","nodeType":"YulFunctionCall","src":"340519:14:22"},{"arguments":[{"name":"shift","nativeSrc":"340539:5:22","nodeType":"YulIdentifier","src":"340539:5:22"},{"arguments":[{"name":"shift","nativeSrc":"340550:5:22","nodeType":"YulIdentifier","src":"340550:5:22"},{"name":"w","nativeSrc":"340557:1:22","nodeType":"YulIdentifier","src":"340557:1:22"}],"functionName":{"name":"shr","nativeSrc":"340546:3:22","nodeType":"YulIdentifier","src":"340546:3:22"},"nativeSrc":"340546:13:22","nodeType":"YulFunctionCall","src":"340546:13:22"}],"functionName":{"name":"shl","nativeSrc":"340535:3:22","nodeType":"YulIdentifier","src":"340535:3:22"},"nativeSrc":"340535:25:22","nodeType":"YulFunctionCall","src":"340535:25:22"}],"functionName":{"name":"mstore","nativeSrc":"340512:6:22","nodeType":"YulIdentifier","src":"340512:6:22"},"nativeSrc":"340512:49:22","nodeType":"YulFunctionCall","src":"340512:49:22"},"nativeSrc":"340512:49:22","nodeType":"YulExpressionStatement","src":"340512:49:22"}]},"name":"writeString","nativeSrc":"340233:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"340254:3:22","nodeType":"YulTypedName","src":"340254:3:22","type":""},{"name":"w","nativeSrc":"340259:1:22","nodeType":"YulTypedName","src":"340259:1:22","type":""}],"src":"340233:342:22"},{"nativeSrc":"340588:17:22","nodeType":"YulAssignment","src":"340588:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340600:4:22","nodeType":"YulLiteral","src":"340600:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"340594:5:22","nodeType":"YulIdentifier","src":"340594:5:22"},"nativeSrc":"340594:11:22","nodeType":"YulFunctionCall","src":"340594:11:22"},"variableNames":[{"name":"m0","nativeSrc":"340588:2:22","nodeType":"YulIdentifier","src":"340588:2:22"}]},{"nativeSrc":"340618:17:22","nodeType":"YulAssignment","src":"340618:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340630:4:22","nodeType":"YulLiteral","src":"340630:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"340624:5:22","nodeType":"YulIdentifier","src":"340624:5:22"},"nativeSrc":"340624:11:22","nodeType":"YulFunctionCall","src":"340624:11:22"},"variableNames":[{"name":"m1","nativeSrc":"340618:2:22","nodeType":"YulIdentifier","src":"340618:2:22"}]},{"nativeSrc":"340648:17:22","nodeType":"YulAssignment","src":"340648:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340660:4:22","nodeType":"YulLiteral","src":"340660:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"340654:5:22","nodeType":"YulIdentifier","src":"340654:5:22"},"nativeSrc":"340654:11:22","nodeType":"YulFunctionCall","src":"340654:11:22"},"variableNames":[{"name":"m2","nativeSrc":"340648:2:22","nodeType":"YulIdentifier","src":"340648:2:22"}]},{"nativeSrc":"340678:17:22","nodeType":"YulAssignment","src":"340678:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340690:4:22","nodeType":"YulLiteral","src":"340690:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"340684:5:22","nodeType":"YulIdentifier","src":"340684:5:22"},"nativeSrc":"340684:11:22","nodeType":"YulFunctionCall","src":"340684:11:22"},"variableNames":[{"name":"m3","nativeSrc":"340678:2:22","nodeType":"YulIdentifier","src":"340678:2:22"}]},{"nativeSrc":"340708:17:22","nodeType":"YulAssignment","src":"340708:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340720:4:22","nodeType":"YulLiteral","src":"340720:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"340714:5:22","nodeType":"YulIdentifier","src":"340714:5:22"},"nativeSrc":"340714:11:22","nodeType":"YulFunctionCall","src":"340714:11:22"},"variableNames":[{"name":"m4","nativeSrc":"340708:2:22","nodeType":"YulIdentifier","src":"340708:2:22"}]},{"nativeSrc":"340738:17:22","nodeType":"YulAssignment","src":"340738:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340750:4:22","nodeType":"YulLiteral","src":"340750:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"340744:5:22","nodeType":"YulIdentifier","src":"340744:5:22"},"nativeSrc":"340744:11:22","nodeType":"YulFunctionCall","src":"340744:11:22"},"variableNames":[{"name":"m5","nativeSrc":"340738:2:22","nodeType":"YulIdentifier","src":"340738:2:22"}]},{"nativeSrc":"340768:17:22","nodeType":"YulAssignment","src":"340768:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"340780:4:22","nodeType":"YulLiteral","src":"340780:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"340774:5:22","nodeType":"YulIdentifier","src":"340774:5:22"},"nativeSrc":"340774:11:22","nodeType":"YulFunctionCall","src":"340774:11:22"},"variableNames":[{"name":"m6","nativeSrc":"340768:2:22","nodeType":"YulIdentifier","src":"340768:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340868:4:22","nodeType":"YulLiteral","src":"340868:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"340874:10:22","nodeType":"YulLiteral","src":"340874:10:22","type":"","value":"0xfc4845f0"}],"functionName":{"name":"mstore","nativeSrc":"340861:6:22","nodeType":"YulIdentifier","src":"340861:6:22"},"nativeSrc":"340861:24:22","nodeType":"YulFunctionCall","src":"340861:24:22"},"nativeSrc":"340861:24:22","nodeType":"YulExpressionStatement","src":"340861:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340905:4:22","nodeType":"YulLiteral","src":"340905:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"340911:4:22","nodeType":"YulLiteral","src":"340911:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"340898:6:22","nodeType":"YulIdentifier","src":"340898:6:22"},"nativeSrc":"340898:18:22","nodeType":"YulFunctionCall","src":"340898:18:22"},"nativeSrc":"340898:18:22","nodeType":"YulExpressionStatement","src":"340898:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340936:4:22","nodeType":"YulLiteral","src":"340936:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"340942:2:22","nodeType":"YulIdentifier","src":"340942:2:22"}],"functionName":{"name":"mstore","nativeSrc":"340929:6:22","nodeType":"YulIdentifier","src":"340929:6:22"},"nativeSrc":"340929:16:22","nodeType":"YulFunctionCall","src":"340929:16:22"},"nativeSrc":"340929:16:22","nodeType":"YulExpressionStatement","src":"340929:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340965:4:22","nodeType":"YulLiteral","src":"340965:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"340971:2:22","nodeType":"YulIdentifier","src":"340971:2:22"}],"functionName":{"name":"mstore","nativeSrc":"340958:6:22","nodeType":"YulIdentifier","src":"340958:6:22"},"nativeSrc":"340958:16:22","nodeType":"YulFunctionCall","src":"340958:16:22"},"nativeSrc":"340958:16:22","nodeType":"YulExpressionStatement","src":"340958:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340994:4:22","nodeType":"YulLiteral","src":"340994:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"341000:2:22","nodeType":"YulIdentifier","src":"341000:2:22"}],"functionName":{"name":"mstore","nativeSrc":"340987:6:22","nodeType":"YulIdentifier","src":"340987:6:22"},"nativeSrc":"340987:16:22","nodeType":"YulFunctionCall","src":"340987:16:22"},"nativeSrc":"340987:16:22","nodeType":"YulExpressionStatement","src":"340987:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341028:4:22","nodeType":"YulLiteral","src":"341028:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"341034:2:22","nodeType":"YulIdentifier","src":"341034:2:22"}],"functionName":{"name":"writeString","nativeSrc":"341016:11:22","nodeType":"YulIdentifier","src":"341016:11:22"},"nativeSrc":"341016:21:22","nodeType":"YulFunctionCall","src":"341016:21:22"},"nativeSrc":"341016:21:22","nodeType":"YulExpressionStatement","src":"341016:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41961,"isOffset":false,"isSlot":false,"src":"340588:2:22","valueSize":1},{"declaration":41964,"isOffset":false,"isSlot":false,"src":"340618:2:22","valueSize":1},{"declaration":41967,"isOffset":false,"isSlot":false,"src":"340648:2:22","valueSize":1},{"declaration":41970,"isOffset":false,"isSlot":false,"src":"340678:2:22","valueSize":1},{"declaration":41973,"isOffset":false,"isSlot":false,"src":"340708:2:22","valueSize":1},{"declaration":41976,"isOffset":false,"isSlot":false,"src":"340738:2:22","valueSize":1},{"declaration":41979,"isOffset":false,"isSlot":false,"src":"340768:2:22","valueSize":1},{"declaration":41951,"isOffset":false,"isSlot":false,"src":"341034:2:22","valueSize":1},{"declaration":41953,"isOffset":false,"isSlot":false,"src":"340942:2:22","valueSize":1},{"declaration":41955,"isOffset":false,"isSlot":false,"src":"340971:2:22","valueSize":1},{"declaration":41957,"isOffset":false,"isSlot":false,"src":"341000:2:22","valueSize":1}],"id":41981,"nodeType":"InlineAssembly","src":"340210:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":41983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341072:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":41984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341078:4:22","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":41982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"341056:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":41985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"341056:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41986,"nodeType":"ExpressionStatement","src":"341056:27:22"},{"AST":{"nativeSrc":"341145:214:22","nodeType":"YulBlock","src":"341145:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"341166:4:22","nodeType":"YulLiteral","src":"341166:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"341172:2:22","nodeType":"YulIdentifier","src":"341172:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341159:6:22","nodeType":"YulIdentifier","src":"341159:6:22"},"nativeSrc":"341159:16:22","nodeType":"YulFunctionCall","src":"341159:16:22"},"nativeSrc":"341159:16:22","nodeType":"YulExpressionStatement","src":"341159:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341195:4:22","nodeType":"YulLiteral","src":"341195:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"341201:2:22","nodeType":"YulIdentifier","src":"341201:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341188:6:22","nodeType":"YulIdentifier","src":"341188:6:22"},"nativeSrc":"341188:16:22","nodeType":"YulFunctionCall","src":"341188:16:22"},"nativeSrc":"341188:16:22","nodeType":"YulExpressionStatement","src":"341188:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341224:4:22","nodeType":"YulLiteral","src":"341224:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"341230:2:22","nodeType":"YulIdentifier","src":"341230:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341217:6:22","nodeType":"YulIdentifier","src":"341217:6:22"},"nativeSrc":"341217:16:22","nodeType":"YulFunctionCall","src":"341217:16:22"},"nativeSrc":"341217:16:22","nodeType":"YulExpressionStatement","src":"341217:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341253:4:22","nodeType":"YulLiteral","src":"341253:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"341259:2:22","nodeType":"YulIdentifier","src":"341259:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341246:6:22","nodeType":"YulIdentifier","src":"341246:6:22"},"nativeSrc":"341246:16:22","nodeType":"YulFunctionCall","src":"341246:16:22"},"nativeSrc":"341246:16:22","nodeType":"YulExpressionStatement","src":"341246:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341282:4:22","nodeType":"YulLiteral","src":"341282:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"341288:2:22","nodeType":"YulIdentifier","src":"341288:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341275:6:22","nodeType":"YulIdentifier","src":"341275:6:22"},"nativeSrc":"341275:16:22","nodeType":"YulFunctionCall","src":"341275:16:22"},"nativeSrc":"341275:16:22","nodeType":"YulExpressionStatement","src":"341275:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341311:4:22","nodeType":"YulLiteral","src":"341311:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"341317:2:22","nodeType":"YulIdentifier","src":"341317:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341304:6:22","nodeType":"YulIdentifier","src":"341304:6:22"},"nativeSrc":"341304:16:22","nodeType":"YulFunctionCall","src":"341304:16:22"},"nativeSrc":"341304:16:22","nodeType":"YulExpressionStatement","src":"341304:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341340:4:22","nodeType":"YulLiteral","src":"341340:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"341346:2:22","nodeType":"YulIdentifier","src":"341346:2:22"}],"functionName":{"name":"mstore","nativeSrc":"341333:6:22","nodeType":"YulIdentifier","src":"341333:6:22"},"nativeSrc":"341333:16:22","nodeType":"YulFunctionCall","src":"341333:16:22"},"nativeSrc":"341333:16:22","nodeType":"YulExpressionStatement","src":"341333:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":41961,"isOffset":false,"isSlot":false,"src":"341172:2:22","valueSize":1},{"declaration":41964,"isOffset":false,"isSlot":false,"src":"341201:2:22","valueSize":1},{"declaration":41967,"isOffset":false,"isSlot":false,"src":"341230:2:22","valueSize":1},{"declaration":41970,"isOffset":false,"isSlot":false,"src":"341259:2:22","valueSize":1},{"declaration":41973,"isOffset":false,"isSlot":false,"src":"341288:2:22","valueSize":1},{"declaration":41976,"isOffset":false,"isSlot":false,"src":"341317:2:22","valueSize":1},{"declaration":41979,"isOffset":false,"isSlot":false,"src":"341346:2:22","valueSize":1}],"id":41987,"nodeType":"InlineAssembly","src":"341136:223:22"}]},"id":41989,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"339954:3:22","nodeType":"FunctionDefinition","parameters":{"id":41958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41951,"mutability":"mutable","name":"p0","nameLocation":"339966:2:22","nodeType":"VariableDeclaration","scope":41989,"src":"339958:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"339958:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41953,"mutability":"mutable","name":"p1","nameLocation":"339978:2:22","nodeType":"VariableDeclaration","scope":41989,"src":"339970:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41952,"name":"address","nodeType":"ElementaryTypeName","src":"339970:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41955,"mutability":"mutable","name":"p2","nameLocation":"339990:2:22","nodeType":"VariableDeclaration","scope":41989,"src":"339982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41954,"name":"uint256","nodeType":"ElementaryTypeName","src":"339982:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41957,"mutability":"mutable","name":"p3","nameLocation":"339999:2:22","nodeType":"VariableDeclaration","scope":41989,"src":"339994:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41956,"name":"bool","nodeType":"ElementaryTypeName","src":"339994:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"339957:45:22"},"returnParameters":{"id":41959,"nodeType":"ParameterList","parameters":[],"src":"340017:0:22"},"scope":44426,"src":"339945:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42028,"nodeType":"Block","src":"341446:1351:22","statements":[{"assignments":[42001],"declarations":[{"constant":false,"id":42001,"mutability":"mutable","name":"m0","nameLocation":"341464:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42002,"nodeType":"VariableDeclarationStatement","src":"341456:10:22"},{"assignments":[42004],"declarations":[{"constant":false,"id":42004,"mutability":"mutable","name":"m1","nameLocation":"341484:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341476:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341476:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42005,"nodeType":"VariableDeclarationStatement","src":"341476:10:22"},{"assignments":[42007],"declarations":[{"constant":false,"id":42007,"mutability":"mutable","name":"m2","nameLocation":"341504:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341496:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42006,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341496:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42008,"nodeType":"VariableDeclarationStatement","src":"341496:10:22"},{"assignments":[42010],"declarations":[{"constant":false,"id":42010,"mutability":"mutable","name":"m3","nameLocation":"341524:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341516:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341516:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42011,"nodeType":"VariableDeclarationStatement","src":"341516:10:22"},{"assignments":[42013],"declarations":[{"constant":false,"id":42013,"mutability":"mutable","name":"m4","nameLocation":"341544:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341536:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341536:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42014,"nodeType":"VariableDeclarationStatement","src":"341536:10:22"},{"assignments":[42016],"declarations":[{"constant":false,"id":42016,"mutability":"mutable","name":"m5","nameLocation":"341564:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341556:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341556:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42017,"nodeType":"VariableDeclarationStatement","src":"341556:10:22"},{"assignments":[42019],"declarations":[{"constant":false,"id":42019,"mutability":"mutable","name":"m6","nameLocation":"341584:2:22","nodeType":"VariableDeclaration","scope":42028,"src":"341576:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341576:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42020,"nodeType":"VariableDeclarationStatement","src":"341576:10:22"},{"AST":{"nativeSrc":"341648:831:22","nodeType":"YulBlock","src":"341648:831:22","statements":[{"body":{"nativeSrc":"341691:313:22","nodeType":"YulBlock","src":"341691:313:22","statements":[{"nativeSrc":"341709:15:22","nodeType":"YulVariableDeclaration","src":"341709:15:22","value":{"kind":"number","nativeSrc":"341723:1:22","nodeType":"YulLiteral","src":"341723:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"341713:6:22","nodeType":"YulTypedName","src":"341713:6:22","type":""}]},{"body":{"nativeSrc":"341794:40:22","nodeType":"YulBlock","src":"341794:40:22","statements":[{"body":{"nativeSrc":"341823:9:22","nodeType":"YulBlock","src":"341823:9:22","statements":[{"nativeSrc":"341825:5:22","nodeType":"YulBreak","src":"341825:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"341811:6:22","nodeType":"YulIdentifier","src":"341811:6:22"},{"name":"w","nativeSrc":"341819:1:22","nodeType":"YulIdentifier","src":"341819:1:22"}],"functionName":{"name":"byte","nativeSrc":"341806:4:22","nodeType":"YulIdentifier","src":"341806:4:22"},"nativeSrc":"341806:15:22","nodeType":"YulFunctionCall","src":"341806:15:22"}],"functionName":{"name":"iszero","nativeSrc":"341799:6:22","nodeType":"YulIdentifier","src":"341799:6:22"},"nativeSrc":"341799:23:22","nodeType":"YulFunctionCall","src":"341799:23:22"},"nativeSrc":"341796:36:22","nodeType":"YulIf","src":"341796:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"341751:6:22","nodeType":"YulIdentifier","src":"341751:6:22"},{"kind":"number","nativeSrc":"341759:4:22","nodeType":"YulLiteral","src":"341759:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"341748:2:22","nodeType":"YulIdentifier","src":"341748:2:22"},"nativeSrc":"341748:16:22","nodeType":"YulFunctionCall","src":"341748:16:22"},"nativeSrc":"341741:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"341765:28:22","nodeType":"YulBlock","src":"341765:28:22","statements":[{"nativeSrc":"341767:24:22","nodeType":"YulAssignment","src":"341767:24:22","value":{"arguments":[{"name":"length","nativeSrc":"341781:6:22","nodeType":"YulIdentifier","src":"341781:6:22"},{"kind":"number","nativeSrc":"341789:1:22","nodeType":"YulLiteral","src":"341789:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"341777:3:22","nodeType":"YulIdentifier","src":"341777:3:22"},"nativeSrc":"341777:14:22","nodeType":"YulFunctionCall","src":"341777:14:22"},"variableNames":[{"name":"length","nativeSrc":"341767:6:22","nodeType":"YulIdentifier","src":"341767:6:22"}]}]},"pre":{"nativeSrc":"341745:2:22","nodeType":"YulBlock","src":"341745:2:22","statements":[]},"src":"341741:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"341858:3:22","nodeType":"YulIdentifier","src":"341858:3:22"},{"name":"length","nativeSrc":"341863:6:22","nodeType":"YulIdentifier","src":"341863:6:22"}],"functionName":{"name":"mstore","nativeSrc":"341851:6:22","nodeType":"YulIdentifier","src":"341851:6:22"},"nativeSrc":"341851:19:22","nodeType":"YulFunctionCall","src":"341851:19:22"},"nativeSrc":"341851:19:22","nodeType":"YulExpressionStatement","src":"341851:19:22"},{"nativeSrc":"341887:37:22","nodeType":"YulVariableDeclaration","src":"341887:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"341904:3:22","nodeType":"YulLiteral","src":"341904:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"341913:1:22","nodeType":"YulLiteral","src":"341913:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"341916:6:22","nodeType":"YulIdentifier","src":"341916:6:22"}],"functionName":{"name":"shl","nativeSrc":"341909:3:22","nodeType":"YulIdentifier","src":"341909:3:22"},"nativeSrc":"341909:14:22","nodeType":"YulFunctionCall","src":"341909:14:22"}],"functionName":{"name":"sub","nativeSrc":"341900:3:22","nodeType":"YulIdentifier","src":"341900:3:22"},"nativeSrc":"341900:24:22","nodeType":"YulFunctionCall","src":"341900:24:22"},"variables":[{"name":"shift","nativeSrc":"341891:5:22","nodeType":"YulTypedName","src":"341891:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"341952:3:22","nodeType":"YulIdentifier","src":"341952:3:22"},{"kind":"number","nativeSrc":"341957:4:22","nodeType":"YulLiteral","src":"341957:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"341948:3:22","nodeType":"YulIdentifier","src":"341948:3:22"},"nativeSrc":"341948:14:22","nodeType":"YulFunctionCall","src":"341948:14:22"},{"arguments":[{"name":"shift","nativeSrc":"341968:5:22","nodeType":"YulIdentifier","src":"341968:5:22"},{"arguments":[{"name":"shift","nativeSrc":"341979:5:22","nodeType":"YulIdentifier","src":"341979:5:22"},{"name":"w","nativeSrc":"341986:1:22","nodeType":"YulIdentifier","src":"341986:1:22"}],"functionName":{"name":"shr","nativeSrc":"341975:3:22","nodeType":"YulIdentifier","src":"341975:3:22"},"nativeSrc":"341975:13:22","nodeType":"YulFunctionCall","src":"341975:13:22"}],"functionName":{"name":"shl","nativeSrc":"341964:3:22","nodeType":"YulIdentifier","src":"341964:3:22"},"nativeSrc":"341964:25:22","nodeType":"YulFunctionCall","src":"341964:25:22"}],"functionName":{"name":"mstore","nativeSrc":"341941:6:22","nodeType":"YulIdentifier","src":"341941:6:22"},"nativeSrc":"341941:49:22","nodeType":"YulFunctionCall","src":"341941:49:22"},"nativeSrc":"341941:49:22","nodeType":"YulExpressionStatement","src":"341941:49:22"}]},"name":"writeString","nativeSrc":"341662:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"341683:3:22","nodeType":"YulTypedName","src":"341683:3:22","type":""},{"name":"w","nativeSrc":"341688:1:22","nodeType":"YulTypedName","src":"341688:1:22","type":""}],"src":"341662:342:22"},{"nativeSrc":"342017:17:22","nodeType":"YulAssignment","src":"342017:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342029:4:22","nodeType":"YulLiteral","src":"342029:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"342023:5:22","nodeType":"YulIdentifier","src":"342023:5:22"},"nativeSrc":"342023:11:22","nodeType":"YulFunctionCall","src":"342023:11:22"},"variableNames":[{"name":"m0","nativeSrc":"342017:2:22","nodeType":"YulIdentifier","src":"342017:2:22"}]},{"nativeSrc":"342047:17:22","nodeType":"YulAssignment","src":"342047:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342059:4:22","nodeType":"YulLiteral","src":"342059:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"342053:5:22","nodeType":"YulIdentifier","src":"342053:5:22"},"nativeSrc":"342053:11:22","nodeType":"YulFunctionCall","src":"342053:11:22"},"variableNames":[{"name":"m1","nativeSrc":"342047:2:22","nodeType":"YulIdentifier","src":"342047:2:22"}]},{"nativeSrc":"342077:17:22","nodeType":"YulAssignment","src":"342077:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342089:4:22","nodeType":"YulLiteral","src":"342089:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"342083:5:22","nodeType":"YulIdentifier","src":"342083:5:22"},"nativeSrc":"342083:11:22","nodeType":"YulFunctionCall","src":"342083:11:22"},"variableNames":[{"name":"m2","nativeSrc":"342077:2:22","nodeType":"YulIdentifier","src":"342077:2:22"}]},{"nativeSrc":"342107:17:22","nodeType":"YulAssignment","src":"342107:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342119:4:22","nodeType":"YulLiteral","src":"342119:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"342113:5:22","nodeType":"YulIdentifier","src":"342113:5:22"},"nativeSrc":"342113:11:22","nodeType":"YulFunctionCall","src":"342113:11:22"},"variableNames":[{"name":"m3","nativeSrc":"342107:2:22","nodeType":"YulIdentifier","src":"342107:2:22"}]},{"nativeSrc":"342137:17:22","nodeType":"YulAssignment","src":"342137:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342149:4:22","nodeType":"YulLiteral","src":"342149:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"342143:5:22","nodeType":"YulIdentifier","src":"342143:5:22"},"nativeSrc":"342143:11:22","nodeType":"YulFunctionCall","src":"342143:11:22"},"variableNames":[{"name":"m4","nativeSrc":"342137:2:22","nodeType":"YulIdentifier","src":"342137:2:22"}]},{"nativeSrc":"342167:17:22","nodeType":"YulAssignment","src":"342167:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342179:4:22","nodeType":"YulLiteral","src":"342179:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"342173:5:22","nodeType":"YulIdentifier","src":"342173:5:22"},"nativeSrc":"342173:11:22","nodeType":"YulFunctionCall","src":"342173:11:22"},"variableNames":[{"name":"m5","nativeSrc":"342167:2:22","nodeType":"YulIdentifier","src":"342167:2:22"}]},{"nativeSrc":"342197:17:22","nodeType":"YulAssignment","src":"342197:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"342209:4:22","nodeType":"YulLiteral","src":"342209:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"342203:5:22","nodeType":"YulIdentifier","src":"342203:5:22"},"nativeSrc":"342203:11:22","nodeType":"YulFunctionCall","src":"342203:11:22"},"variableNames":[{"name":"m6","nativeSrc":"342197:2:22","nodeType":"YulIdentifier","src":"342197:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342300:4:22","nodeType":"YulLiteral","src":"342300:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"342306:10:22","nodeType":"YulLiteral","src":"342306:10:22","type":"","value":"0xf8f51b1e"}],"functionName":{"name":"mstore","nativeSrc":"342293:6:22","nodeType":"YulIdentifier","src":"342293:6:22"},"nativeSrc":"342293:24:22","nodeType":"YulFunctionCall","src":"342293:24:22"},"nativeSrc":"342293:24:22","nodeType":"YulExpressionStatement","src":"342293:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342337:4:22","nodeType":"YulLiteral","src":"342337:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"342343:4:22","nodeType":"YulLiteral","src":"342343:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"342330:6:22","nodeType":"YulIdentifier","src":"342330:6:22"},"nativeSrc":"342330:18:22","nodeType":"YulFunctionCall","src":"342330:18:22"},"nativeSrc":"342330:18:22","nodeType":"YulExpressionStatement","src":"342330:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342368:4:22","nodeType":"YulLiteral","src":"342368:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"342374:2:22","nodeType":"YulIdentifier","src":"342374:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342361:6:22","nodeType":"YulIdentifier","src":"342361:6:22"},"nativeSrc":"342361:16:22","nodeType":"YulFunctionCall","src":"342361:16:22"},"nativeSrc":"342361:16:22","nodeType":"YulExpressionStatement","src":"342361:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342397:4:22","nodeType":"YulLiteral","src":"342397:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"342403:2:22","nodeType":"YulIdentifier","src":"342403:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342390:6:22","nodeType":"YulIdentifier","src":"342390:6:22"},"nativeSrc":"342390:16:22","nodeType":"YulFunctionCall","src":"342390:16:22"},"nativeSrc":"342390:16:22","nodeType":"YulExpressionStatement","src":"342390:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342426:4:22","nodeType":"YulLiteral","src":"342426:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"342432:2:22","nodeType":"YulIdentifier","src":"342432:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342419:6:22","nodeType":"YulIdentifier","src":"342419:6:22"},"nativeSrc":"342419:16:22","nodeType":"YulFunctionCall","src":"342419:16:22"},"nativeSrc":"342419:16:22","nodeType":"YulExpressionStatement","src":"342419:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342460:4:22","nodeType":"YulLiteral","src":"342460:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"342466:2:22","nodeType":"YulIdentifier","src":"342466:2:22"}],"functionName":{"name":"writeString","nativeSrc":"342448:11:22","nodeType":"YulIdentifier","src":"342448:11:22"},"nativeSrc":"342448:21:22","nodeType":"YulFunctionCall","src":"342448:21:22"},"nativeSrc":"342448:21:22","nodeType":"YulExpressionStatement","src":"342448:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42001,"isOffset":false,"isSlot":false,"src":"342017:2:22","valueSize":1},{"declaration":42004,"isOffset":false,"isSlot":false,"src":"342047:2:22","valueSize":1},{"declaration":42007,"isOffset":false,"isSlot":false,"src":"342077:2:22","valueSize":1},{"declaration":42010,"isOffset":false,"isSlot":false,"src":"342107:2:22","valueSize":1},{"declaration":42013,"isOffset":false,"isSlot":false,"src":"342137:2:22","valueSize":1},{"declaration":42016,"isOffset":false,"isSlot":false,"src":"342167:2:22","valueSize":1},{"declaration":42019,"isOffset":false,"isSlot":false,"src":"342197:2:22","valueSize":1},{"declaration":41991,"isOffset":false,"isSlot":false,"src":"342466:2:22","valueSize":1},{"declaration":41993,"isOffset":false,"isSlot":false,"src":"342374:2:22","valueSize":1},{"declaration":41995,"isOffset":false,"isSlot":false,"src":"342403:2:22","valueSize":1},{"declaration":41997,"isOffset":false,"isSlot":false,"src":"342432:2:22","valueSize":1}],"id":42021,"nodeType":"InlineAssembly","src":"341639:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342504:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342510:4:22","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":42022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"342488:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"342488:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42026,"nodeType":"ExpressionStatement","src":"342488:27:22"},{"AST":{"nativeSrc":"342577:214:22","nodeType":"YulBlock","src":"342577:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"342598:4:22","nodeType":"YulLiteral","src":"342598:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"342604:2:22","nodeType":"YulIdentifier","src":"342604:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342591:6:22","nodeType":"YulIdentifier","src":"342591:6:22"},"nativeSrc":"342591:16:22","nodeType":"YulFunctionCall","src":"342591:16:22"},"nativeSrc":"342591:16:22","nodeType":"YulExpressionStatement","src":"342591:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342627:4:22","nodeType":"YulLiteral","src":"342627:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"342633:2:22","nodeType":"YulIdentifier","src":"342633:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342620:6:22","nodeType":"YulIdentifier","src":"342620:6:22"},"nativeSrc":"342620:16:22","nodeType":"YulFunctionCall","src":"342620:16:22"},"nativeSrc":"342620:16:22","nodeType":"YulExpressionStatement","src":"342620:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342656:4:22","nodeType":"YulLiteral","src":"342656:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"342662:2:22","nodeType":"YulIdentifier","src":"342662:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342649:6:22","nodeType":"YulIdentifier","src":"342649:6:22"},"nativeSrc":"342649:16:22","nodeType":"YulFunctionCall","src":"342649:16:22"},"nativeSrc":"342649:16:22","nodeType":"YulExpressionStatement","src":"342649:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342685:4:22","nodeType":"YulLiteral","src":"342685:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"342691:2:22","nodeType":"YulIdentifier","src":"342691:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342678:6:22","nodeType":"YulIdentifier","src":"342678:6:22"},"nativeSrc":"342678:16:22","nodeType":"YulFunctionCall","src":"342678:16:22"},"nativeSrc":"342678:16:22","nodeType":"YulExpressionStatement","src":"342678:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342714:4:22","nodeType":"YulLiteral","src":"342714:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"342720:2:22","nodeType":"YulIdentifier","src":"342720:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342707:6:22","nodeType":"YulIdentifier","src":"342707:6:22"},"nativeSrc":"342707:16:22","nodeType":"YulFunctionCall","src":"342707:16:22"},"nativeSrc":"342707:16:22","nodeType":"YulExpressionStatement","src":"342707:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342743:4:22","nodeType":"YulLiteral","src":"342743:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"342749:2:22","nodeType":"YulIdentifier","src":"342749:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342736:6:22","nodeType":"YulIdentifier","src":"342736:6:22"},"nativeSrc":"342736:16:22","nodeType":"YulFunctionCall","src":"342736:16:22"},"nativeSrc":"342736:16:22","nodeType":"YulExpressionStatement","src":"342736:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342772:4:22","nodeType":"YulLiteral","src":"342772:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"342778:2:22","nodeType":"YulIdentifier","src":"342778:2:22"}],"functionName":{"name":"mstore","nativeSrc":"342765:6:22","nodeType":"YulIdentifier","src":"342765:6:22"},"nativeSrc":"342765:16:22","nodeType":"YulFunctionCall","src":"342765:16:22"},"nativeSrc":"342765:16:22","nodeType":"YulExpressionStatement","src":"342765:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42001,"isOffset":false,"isSlot":false,"src":"342604:2:22","valueSize":1},{"declaration":42004,"isOffset":false,"isSlot":false,"src":"342633:2:22","valueSize":1},{"declaration":42007,"isOffset":false,"isSlot":false,"src":"342662:2:22","valueSize":1},{"declaration":42010,"isOffset":false,"isSlot":false,"src":"342691:2:22","valueSize":1},{"declaration":42013,"isOffset":false,"isSlot":false,"src":"342720:2:22","valueSize":1},{"declaration":42016,"isOffset":false,"isSlot":false,"src":"342749:2:22","valueSize":1},{"declaration":42019,"isOffset":false,"isSlot":false,"src":"342778:2:22","valueSize":1}],"id":42027,"nodeType":"InlineAssembly","src":"342568:223:22"}]},"id":42029,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"341380:3:22","nodeType":"FunctionDefinition","parameters":{"id":41998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41991,"mutability":"mutable","name":"p0","nameLocation":"341392:2:22","nodeType":"VariableDeclaration","scope":42029,"src":"341384:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341384:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41993,"mutability":"mutable","name":"p1","nameLocation":"341404:2:22","nodeType":"VariableDeclaration","scope":42029,"src":"341396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41992,"name":"address","nodeType":"ElementaryTypeName","src":"341396:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41995,"mutability":"mutable","name":"p2","nameLocation":"341416:2:22","nodeType":"VariableDeclaration","scope":42029,"src":"341408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41994,"name":"uint256","nodeType":"ElementaryTypeName","src":"341408:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41997,"mutability":"mutable","name":"p3","nameLocation":"341428:2:22","nodeType":"VariableDeclaration","scope":42029,"src":"341420:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41996,"name":"uint256","nodeType":"ElementaryTypeName","src":"341420:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"341383:48:22"},"returnParameters":{"id":41999,"nodeType":"ParameterList","parameters":[],"src":"341446:0:22"},"scope":44426,"src":"341371:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42074,"nodeType":"Block","src":"342878:1547:22","statements":[{"assignments":[42041],"declarations":[{"constant":false,"id":42041,"mutability":"mutable","name":"m0","nameLocation":"342896:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342888:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342888:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42042,"nodeType":"VariableDeclarationStatement","src":"342888:10:22"},{"assignments":[42044],"declarations":[{"constant":false,"id":42044,"mutability":"mutable","name":"m1","nameLocation":"342916:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342908:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342908:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42045,"nodeType":"VariableDeclarationStatement","src":"342908:10:22"},{"assignments":[42047],"declarations":[{"constant":false,"id":42047,"mutability":"mutable","name":"m2","nameLocation":"342936:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342928:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342928:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42048,"nodeType":"VariableDeclarationStatement","src":"342928:10:22"},{"assignments":[42050],"declarations":[{"constant":false,"id":42050,"mutability":"mutable","name":"m3","nameLocation":"342956:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342948:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342948:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42051,"nodeType":"VariableDeclarationStatement","src":"342948:10:22"},{"assignments":[42053],"declarations":[{"constant":false,"id":42053,"mutability":"mutable","name":"m4","nameLocation":"342976:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342968:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42052,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342968:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42054,"nodeType":"VariableDeclarationStatement","src":"342968:10:22"},{"assignments":[42056],"declarations":[{"constant":false,"id":42056,"mutability":"mutable","name":"m5","nameLocation":"342996:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"342988:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342988:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42057,"nodeType":"VariableDeclarationStatement","src":"342988:10:22"},{"assignments":[42059],"declarations":[{"constant":false,"id":42059,"mutability":"mutable","name":"m6","nameLocation":"343016:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"343008:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343008:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42060,"nodeType":"VariableDeclarationStatement","src":"343008:10:22"},{"assignments":[42062],"declarations":[{"constant":false,"id":42062,"mutability":"mutable","name":"m7","nameLocation":"343036:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"343028:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343028:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42063,"nodeType":"VariableDeclarationStatement","src":"343028:10:22"},{"assignments":[42065],"declarations":[{"constant":false,"id":42065,"mutability":"mutable","name":"m8","nameLocation":"343056:2:22","nodeType":"VariableDeclaration","scope":42074,"src":"343048:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343048:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42066,"nodeType":"VariableDeclarationStatement","src":"343048:10:22"},{"AST":{"nativeSrc":"343120:927:22","nodeType":"YulBlock","src":"343120:927:22","statements":[{"body":{"nativeSrc":"343163:313:22","nodeType":"YulBlock","src":"343163:313:22","statements":[{"nativeSrc":"343181:15:22","nodeType":"YulVariableDeclaration","src":"343181:15:22","value":{"kind":"number","nativeSrc":"343195:1:22","nodeType":"YulLiteral","src":"343195:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"343185:6:22","nodeType":"YulTypedName","src":"343185:6:22","type":""}]},{"body":{"nativeSrc":"343266:40:22","nodeType":"YulBlock","src":"343266:40:22","statements":[{"body":{"nativeSrc":"343295:9:22","nodeType":"YulBlock","src":"343295:9:22","statements":[{"nativeSrc":"343297:5:22","nodeType":"YulBreak","src":"343297:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"343283:6:22","nodeType":"YulIdentifier","src":"343283:6:22"},{"name":"w","nativeSrc":"343291:1:22","nodeType":"YulIdentifier","src":"343291:1:22"}],"functionName":{"name":"byte","nativeSrc":"343278:4:22","nodeType":"YulIdentifier","src":"343278:4:22"},"nativeSrc":"343278:15:22","nodeType":"YulFunctionCall","src":"343278:15:22"}],"functionName":{"name":"iszero","nativeSrc":"343271:6:22","nodeType":"YulIdentifier","src":"343271:6:22"},"nativeSrc":"343271:23:22","nodeType":"YulFunctionCall","src":"343271:23:22"},"nativeSrc":"343268:36:22","nodeType":"YulIf","src":"343268:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"343223:6:22","nodeType":"YulIdentifier","src":"343223:6:22"},{"kind":"number","nativeSrc":"343231:4:22","nodeType":"YulLiteral","src":"343231:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"343220:2:22","nodeType":"YulIdentifier","src":"343220:2:22"},"nativeSrc":"343220:16:22","nodeType":"YulFunctionCall","src":"343220:16:22"},"nativeSrc":"343213:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"343237:28:22","nodeType":"YulBlock","src":"343237:28:22","statements":[{"nativeSrc":"343239:24:22","nodeType":"YulAssignment","src":"343239:24:22","value":{"arguments":[{"name":"length","nativeSrc":"343253:6:22","nodeType":"YulIdentifier","src":"343253:6:22"},{"kind":"number","nativeSrc":"343261:1:22","nodeType":"YulLiteral","src":"343261:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"343249:3:22","nodeType":"YulIdentifier","src":"343249:3:22"},"nativeSrc":"343249:14:22","nodeType":"YulFunctionCall","src":"343249:14:22"},"variableNames":[{"name":"length","nativeSrc":"343239:6:22","nodeType":"YulIdentifier","src":"343239:6:22"}]}]},"pre":{"nativeSrc":"343217:2:22","nodeType":"YulBlock","src":"343217:2:22","statements":[]},"src":"343213:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"343330:3:22","nodeType":"YulIdentifier","src":"343330:3:22"},{"name":"length","nativeSrc":"343335:6:22","nodeType":"YulIdentifier","src":"343335:6:22"}],"functionName":{"name":"mstore","nativeSrc":"343323:6:22","nodeType":"YulIdentifier","src":"343323:6:22"},"nativeSrc":"343323:19:22","nodeType":"YulFunctionCall","src":"343323:19:22"},"nativeSrc":"343323:19:22","nodeType":"YulExpressionStatement","src":"343323:19:22"},{"nativeSrc":"343359:37:22","nodeType":"YulVariableDeclaration","src":"343359:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"343376:3:22","nodeType":"YulLiteral","src":"343376:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"343385:1:22","nodeType":"YulLiteral","src":"343385:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"343388:6:22","nodeType":"YulIdentifier","src":"343388:6:22"}],"functionName":{"name":"shl","nativeSrc":"343381:3:22","nodeType":"YulIdentifier","src":"343381:3:22"},"nativeSrc":"343381:14:22","nodeType":"YulFunctionCall","src":"343381:14:22"}],"functionName":{"name":"sub","nativeSrc":"343372:3:22","nodeType":"YulIdentifier","src":"343372:3:22"},"nativeSrc":"343372:24:22","nodeType":"YulFunctionCall","src":"343372:24:22"},"variables":[{"name":"shift","nativeSrc":"343363:5:22","nodeType":"YulTypedName","src":"343363:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"343424:3:22","nodeType":"YulIdentifier","src":"343424:3:22"},{"kind":"number","nativeSrc":"343429:4:22","nodeType":"YulLiteral","src":"343429:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"343420:3:22","nodeType":"YulIdentifier","src":"343420:3:22"},"nativeSrc":"343420:14:22","nodeType":"YulFunctionCall","src":"343420:14:22"},{"arguments":[{"name":"shift","nativeSrc":"343440:5:22","nodeType":"YulIdentifier","src":"343440:5:22"},{"arguments":[{"name":"shift","nativeSrc":"343451:5:22","nodeType":"YulIdentifier","src":"343451:5:22"},{"name":"w","nativeSrc":"343458:1:22","nodeType":"YulIdentifier","src":"343458:1:22"}],"functionName":{"name":"shr","nativeSrc":"343447:3:22","nodeType":"YulIdentifier","src":"343447:3:22"},"nativeSrc":"343447:13:22","nodeType":"YulFunctionCall","src":"343447:13:22"}],"functionName":{"name":"shl","nativeSrc":"343436:3:22","nodeType":"YulIdentifier","src":"343436:3:22"},"nativeSrc":"343436:25:22","nodeType":"YulFunctionCall","src":"343436:25:22"}],"functionName":{"name":"mstore","nativeSrc":"343413:6:22","nodeType":"YulIdentifier","src":"343413:6:22"},"nativeSrc":"343413:49:22","nodeType":"YulFunctionCall","src":"343413:49:22"},"nativeSrc":"343413:49:22","nodeType":"YulExpressionStatement","src":"343413:49:22"}]},"name":"writeString","nativeSrc":"343134:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"343155:3:22","nodeType":"YulTypedName","src":"343155:3:22","type":""},{"name":"w","nativeSrc":"343160:1:22","nodeType":"YulTypedName","src":"343160:1:22","type":""}],"src":"343134:342:22"},{"nativeSrc":"343489:17:22","nodeType":"YulAssignment","src":"343489:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343501:4:22","nodeType":"YulLiteral","src":"343501:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"343495:5:22","nodeType":"YulIdentifier","src":"343495:5:22"},"nativeSrc":"343495:11:22","nodeType":"YulFunctionCall","src":"343495:11:22"},"variableNames":[{"name":"m0","nativeSrc":"343489:2:22","nodeType":"YulIdentifier","src":"343489:2:22"}]},{"nativeSrc":"343519:17:22","nodeType":"YulAssignment","src":"343519:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343531:4:22","nodeType":"YulLiteral","src":"343531:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"343525:5:22","nodeType":"YulIdentifier","src":"343525:5:22"},"nativeSrc":"343525:11:22","nodeType":"YulFunctionCall","src":"343525:11:22"},"variableNames":[{"name":"m1","nativeSrc":"343519:2:22","nodeType":"YulIdentifier","src":"343519:2:22"}]},{"nativeSrc":"343549:17:22","nodeType":"YulAssignment","src":"343549:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343561:4:22","nodeType":"YulLiteral","src":"343561:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"343555:5:22","nodeType":"YulIdentifier","src":"343555:5:22"},"nativeSrc":"343555:11:22","nodeType":"YulFunctionCall","src":"343555:11:22"},"variableNames":[{"name":"m2","nativeSrc":"343549:2:22","nodeType":"YulIdentifier","src":"343549:2:22"}]},{"nativeSrc":"343579:17:22","nodeType":"YulAssignment","src":"343579:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343591:4:22","nodeType":"YulLiteral","src":"343591:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"343585:5:22","nodeType":"YulIdentifier","src":"343585:5:22"},"nativeSrc":"343585:11:22","nodeType":"YulFunctionCall","src":"343585:11:22"},"variableNames":[{"name":"m3","nativeSrc":"343579:2:22","nodeType":"YulIdentifier","src":"343579:2:22"}]},{"nativeSrc":"343609:17:22","nodeType":"YulAssignment","src":"343609:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343621:4:22","nodeType":"YulLiteral","src":"343621:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"343615:5:22","nodeType":"YulIdentifier","src":"343615:5:22"},"nativeSrc":"343615:11:22","nodeType":"YulFunctionCall","src":"343615:11:22"},"variableNames":[{"name":"m4","nativeSrc":"343609:2:22","nodeType":"YulIdentifier","src":"343609:2:22"}]},{"nativeSrc":"343639:17:22","nodeType":"YulAssignment","src":"343639:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343651:4:22","nodeType":"YulLiteral","src":"343651:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"343645:5:22","nodeType":"YulIdentifier","src":"343645:5:22"},"nativeSrc":"343645:11:22","nodeType":"YulFunctionCall","src":"343645:11:22"},"variableNames":[{"name":"m5","nativeSrc":"343639:2:22","nodeType":"YulIdentifier","src":"343639:2:22"}]},{"nativeSrc":"343669:17:22","nodeType":"YulAssignment","src":"343669:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343681:4:22","nodeType":"YulLiteral","src":"343681:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"343675:5:22","nodeType":"YulIdentifier","src":"343675:5:22"},"nativeSrc":"343675:11:22","nodeType":"YulFunctionCall","src":"343675:11:22"},"variableNames":[{"name":"m6","nativeSrc":"343669:2:22","nodeType":"YulIdentifier","src":"343669:2:22"}]},{"nativeSrc":"343699:17:22","nodeType":"YulAssignment","src":"343699:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"343711:4:22","nodeType":"YulLiteral","src":"343711:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"343705:5:22","nodeType":"YulIdentifier","src":"343705:5:22"},"nativeSrc":"343705:11:22","nodeType":"YulFunctionCall","src":"343705:11:22"},"variableNames":[{"name":"m7","nativeSrc":"343699:2:22","nodeType":"YulIdentifier","src":"343699:2:22"}]},{"nativeSrc":"343729:18:22","nodeType":"YulAssignment","src":"343729:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"343741:5:22","nodeType":"YulLiteral","src":"343741:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"343735:5:22","nodeType":"YulIdentifier","src":"343735:5:22"},"nativeSrc":"343735:12:22","nodeType":"YulFunctionCall","src":"343735:12:22"},"variableNames":[{"name":"m8","nativeSrc":"343729:2:22","nodeType":"YulIdentifier","src":"343729:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343832:4:22","nodeType":"YulLiteral","src":"343832:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"343838:10:22","nodeType":"YulLiteral","src":"343838:10:22","type":"","value":"0x5a477632"}],"functionName":{"name":"mstore","nativeSrc":"343825:6:22","nodeType":"YulIdentifier","src":"343825:6:22"},"nativeSrc":"343825:24:22","nodeType":"YulFunctionCall","src":"343825:24:22"},"nativeSrc":"343825:24:22","nodeType":"YulExpressionStatement","src":"343825:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343869:4:22","nodeType":"YulLiteral","src":"343869:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"343875:4:22","nodeType":"YulLiteral","src":"343875:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"343862:6:22","nodeType":"YulIdentifier","src":"343862:6:22"},"nativeSrc":"343862:18:22","nodeType":"YulFunctionCall","src":"343862:18:22"},"nativeSrc":"343862:18:22","nodeType":"YulExpressionStatement","src":"343862:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343900:4:22","nodeType":"YulLiteral","src":"343900:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"343906:2:22","nodeType":"YulIdentifier","src":"343906:2:22"}],"functionName":{"name":"mstore","nativeSrc":"343893:6:22","nodeType":"YulIdentifier","src":"343893:6:22"},"nativeSrc":"343893:16:22","nodeType":"YulFunctionCall","src":"343893:16:22"},"nativeSrc":"343893:16:22","nodeType":"YulExpressionStatement","src":"343893:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343929:4:22","nodeType":"YulLiteral","src":"343929:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"343935:2:22","nodeType":"YulIdentifier","src":"343935:2:22"}],"functionName":{"name":"mstore","nativeSrc":"343922:6:22","nodeType":"YulIdentifier","src":"343922:6:22"},"nativeSrc":"343922:16:22","nodeType":"YulFunctionCall","src":"343922:16:22"},"nativeSrc":"343922:16:22","nodeType":"YulExpressionStatement","src":"343922:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343958:4:22","nodeType":"YulLiteral","src":"343958:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"343964:4:22","nodeType":"YulLiteral","src":"343964:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"343951:6:22","nodeType":"YulIdentifier","src":"343951:6:22"},"nativeSrc":"343951:18:22","nodeType":"YulFunctionCall","src":"343951:18:22"},"nativeSrc":"343951:18:22","nodeType":"YulExpressionStatement","src":"343951:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343994:4:22","nodeType":"YulLiteral","src":"343994:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"344000:2:22","nodeType":"YulIdentifier","src":"344000:2:22"}],"functionName":{"name":"writeString","nativeSrc":"343982:11:22","nodeType":"YulIdentifier","src":"343982:11:22"},"nativeSrc":"343982:21:22","nodeType":"YulFunctionCall","src":"343982:21:22"},"nativeSrc":"343982:21:22","nodeType":"YulExpressionStatement","src":"343982:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344028:4:22","nodeType":"YulLiteral","src":"344028:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"344034:2:22","nodeType":"YulIdentifier","src":"344034:2:22"}],"functionName":{"name":"writeString","nativeSrc":"344016:11:22","nodeType":"YulIdentifier","src":"344016:11:22"},"nativeSrc":"344016:21:22","nodeType":"YulFunctionCall","src":"344016:21:22"},"nativeSrc":"344016:21:22","nodeType":"YulExpressionStatement","src":"344016:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42041,"isOffset":false,"isSlot":false,"src":"343489:2:22","valueSize":1},{"declaration":42044,"isOffset":false,"isSlot":false,"src":"343519:2:22","valueSize":1},{"declaration":42047,"isOffset":false,"isSlot":false,"src":"343549:2:22","valueSize":1},{"declaration":42050,"isOffset":false,"isSlot":false,"src":"343579:2:22","valueSize":1},{"declaration":42053,"isOffset":false,"isSlot":false,"src":"343609:2:22","valueSize":1},{"declaration":42056,"isOffset":false,"isSlot":false,"src":"343639:2:22","valueSize":1},{"declaration":42059,"isOffset":false,"isSlot":false,"src":"343669:2:22","valueSize":1},{"declaration":42062,"isOffset":false,"isSlot":false,"src":"343699:2:22","valueSize":1},{"declaration":42065,"isOffset":false,"isSlot":false,"src":"343729:2:22","valueSize":1},{"declaration":42031,"isOffset":false,"isSlot":false,"src":"344000:2:22","valueSize":1},{"declaration":42033,"isOffset":false,"isSlot":false,"src":"343906:2:22","valueSize":1},{"declaration":42035,"isOffset":false,"isSlot":false,"src":"343935:2:22","valueSize":1},{"declaration":42037,"isOffset":false,"isSlot":false,"src":"344034:2:22","valueSize":1}],"id":42067,"nodeType":"InlineAssembly","src":"343111:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344072:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344078:5:22","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":42068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"344056:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"344056:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42072,"nodeType":"ExpressionStatement","src":"344056:28:22"},{"AST":{"nativeSrc":"344146:273:22","nodeType":"YulBlock","src":"344146:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"344167:4:22","nodeType":"YulLiteral","src":"344167:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"344173:2:22","nodeType":"YulIdentifier","src":"344173:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344160:6:22","nodeType":"YulIdentifier","src":"344160:6:22"},"nativeSrc":"344160:16:22","nodeType":"YulFunctionCall","src":"344160:16:22"},"nativeSrc":"344160:16:22","nodeType":"YulExpressionStatement","src":"344160:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344196:4:22","nodeType":"YulLiteral","src":"344196:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"344202:2:22","nodeType":"YulIdentifier","src":"344202:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344189:6:22","nodeType":"YulIdentifier","src":"344189:6:22"},"nativeSrc":"344189:16:22","nodeType":"YulFunctionCall","src":"344189:16:22"},"nativeSrc":"344189:16:22","nodeType":"YulExpressionStatement","src":"344189:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344225:4:22","nodeType":"YulLiteral","src":"344225:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"344231:2:22","nodeType":"YulIdentifier","src":"344231:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344218:6:22","nodeType":"YulIdentifier","src":"344218:6:22"},"nativeSrc":"344218:16:22","nodeType":"YulFunctionCall","src":"344218:16:22"},"nativeSrc":"344218:16:22","nodeType":"YulExpressionStatement","src":"344218:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344254:4:22","nodeType":"YulLiteral","src":"344254:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"344260:2:22","nodeType":"YulIdentifier","src":"344260:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344247:6:22","nodeType":"YulIdentifier","src":"344247:6:22"},"nativeSrc":"344247:16:22","nodeType":"YulFunctionCall","src":"344247:16:22"},"nativeSrc":"344247:16:22","nodeType":"YulExpressionStatement","src":"344247:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344283:4:22","nodeType":"YulLiteral","src":"344283:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"344289:2:22","nodeType":"YulIdentifier","src":"344289:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344276:6:22","nodeType":"YulIdentifier","src":"344276:6:22"},"nativeSrc":"344276:16:22","nodeType":"YulFunctionCall","src":"344276:16:22"},"nativeSrc":"344276:16:22","nodeType":"YulExpressionStatement","src":"344276:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344312:4:22","nodeType":"YulLiteral","src":"344312:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"344318:2:22","nodeType":"YulIdentifier","src":"344318:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344305:6:22","nodeType":"YulIdentifier","src":"344305:6:22"},"nativeSrc":"344305:16:22","nodeType":"YulFunctionCall","src":"344305:16:22"},"nativeSrc":"344305:16:22","nodeType":"YulExpressionStatement","src":"344305:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344341:4:22","nodeType":"YulLiteral","src":"344341:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"344347:2:22","nodeType":"YulIdentifier","src":"344347:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344334:6:22","nodeType":"YulIdentifier","src":"344334:6:22"},"nativeSrc":"344334:16:22","nodeType":"YulFunctionCall","src":"344334:16:22"},"nativeSrc":"344334:16:22","nodeType":"YulExpressionStatement","src":"344334:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344370:4:22","nodeType":"YulLiteral","src":"344370:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"344376:2:22","nodeType":"YulIdentifier","src":"344376:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344363:6:22","nodeType":"YulIdentifier","src":"344363:6:22"},"nativeSrc":"344363:16:22","nodeType":"YulFunctionCall","src":"344363:16:22"},"nativeSrc":"344363:16:22","nodeType":"YulExpressionStatement","src":"344363:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344399:5:22","nodeType":"YulLiteral","src":"344399:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"344406:2:22","nodeType":"YulIdentifier","src":"344406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"344392:6:22","nodeType":"YulIdentifier","src":"344392:6:22"},"nativeSrc":"344392:17:22","nodeType":"YulFunctionCall","src":"344392:17:22"},"nativeSrc":"344392:17:22","nodeType":"YulExpressionStatement","src":"344392:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42041,"isOffset":false,"isSlot":false,"src":"344173:2:22","valueSize":1},{"declaration":42044,"isOffset":false,"isSlot":false,"src":"344202:2:22","valueSize":1},{"declaration":42047,"isOffset":false,"isSlot":false,"src":"344231:2:22","valueSize":1},{"declaration":42050,"isOffset":false,"isSlot":false,"src":"344260:2:22","valueSize":1},{"declaration":42053,"isOffset":false,"isSlot":false,"src":"344289:2:22","valueSize":1},{"declaration":42056,"isOffset":false,"isSlot":false,"src":"344318:2:22","valueSize":1},{"declaration":42059,"isOffset":false,"isSlot":false,"src":"344347:2:22","valueSize":1},{"declaration":42062,"isOffset":false,"isSlot":false,"src":"344376:2:22","valueSize":1},{"declaration":42065,"isOffset":false,"isSlot":false,"src":"344406:2:22","valueSize":1}],"id":42073,"nodeType":"InlineAssembly","src":"344137:282:22"}]},"id":42075,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"342812:3:22","nodeType":"FunctionDefinition","parameters":{"id":42038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42031,"mutability":"mutable","name":"p0","nameLocation":"342824:2:22","nodeType":"VariableDeclaration","scope":42075,"src":"342816:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342816:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42033,"mutability":"mutable","name":"p1","nameLocation":"342836:2:22","nodeType":"VariableDeclaration","scope":42075,"src":"342828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42032,"name":"address","nodeType":"ElementaryTypeName","src":"342828:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42035,"mutability":"mutable","name":"p2","nameLocation":"342848:2:22","nodeType":"VariableDeclaration","scope":42075,"src":"342840:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42034,"name":"uint256","nodeType":"ElementaryTypeName","src":"342840:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42037,"mutability":"mutable","name":"p3","nameLocation":"342860:2:22","nodeType":"VariableDeclaration","scope":42075,"src":"342852:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342852:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"342815:48:22"},"returnParameters":{"id":42039,"nodeType":"ParameterList","parameters":[],"src":"342878:0:22"},"scope":44426,"src":"342803:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42120,"nodeType":"Block","src":"344506:1547:22","statements":[{"assignments":[42087],"declarations":[{"constant":false,"id":42087,"mutability":"mutable","name":"m0","nameLocation":"344524:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344516:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344516:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42088,"nodeType":"VariableDeclarationStatement","src":"344516:10:22"},{"assignments":[42090],"declarations":[{"constant":false,"id":42090,"mutability":"mutable","name":"m1","nameLocation":"344544:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344536:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344536:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42091,"nodeType":"VariableDeclarationStatement","src":"344536:10:22"},{"assignments":[42093],"declarations":[{"constant":false,"id":42093,"mutability":"mutable","name":"m2","nameLocation":"344564:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344556:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344556:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42094,"nodeType":"VariableDeclarationStatement","src":"344556:10:22"},{"assignments":[42096],"declarations":[{"constant":false,"id":42096,"mutability":"mutable","name":"m3","nameLocation":"344584:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344576:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344576:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42097,"nodeType":"VariableDeclarationStatement","src":"344576:10:22"},{"assignments":[42099],"declarations":[{"constant":false,"id":42099,"mutability":"mutable","name":"m4","nameLocation":"344604:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344596:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42100,"nodeType":"VariableDeclarationStatement","src":"344596:10:22"},{"assignments":[42102],"declarations":[{"constant":false,"id":42102,"mutability":"mutable","name":"m5","nameLocation":"344624:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344616:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344616:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42103,"nodeType":"VariableDeclarationStatement","src":"344616:10:22"},{"assignments":[42105],"declarations":[{"constant":false,"id":42105,"mutability":"mutable","name":"m6","nameLocation":"344644:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344636:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344636:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42106,"nodeType":"VariableDeclarationStatement","src":"344636:10:22"},{"assignments":[42108],"declarations":[{"constant":false,"id":42108,"mutability":"mutable","name":"m7","nameLocation":"344664:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344656:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344656:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42109,"nodeType":"VariableDeclarationStatement","src":"344656:10:22"},{"assignments":[42111],"declarations":[{"constant":false,"id":42111,"mutability":"mutable","name":"m8","nameLocation":"344684:2:22","nodeType":"VariableDeclaration","scope":42120,"src":"344676:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344676:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42112,"nodeType":"VariableDeclarationStatement","src":"344676:10:22"},{"AST":{"nativeSrc":"344748:927:22","nodeType":"YulBlock","src":"344748:927:22","statements":[{"body":{"nativeSrc":"344791:313:22","nodeType":"YulBlock","src":"344791:313:22","statements":[{"nativeSrc":"344809:15:22","nodeType":"YulVariableDeclaration","src":"344809:15:22","value":{"kind":"number","nativeSrc":"344823:1:22","nodeType":"YulLiteral","src":"344823:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"344813:6:22","nodeType":"YulTypedName","src":"344813:6:22","type":""}]},{"body":{"nativeSrc":"344894:40:22","nodeType":"YulBlock","src":"344894:40:22","statements":[{"body":{"nativeSrc":"344923:9:22","nodeType":"YulBlock","src":"344923:9:22","statements":[{"nativeSrc":"344925:5:22","nodeType":"YulBreak","src":"344925:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"344911:6:22","nodeType":"YulIdentifier","src":"344911:6:22"},{"name":"w","nativeSrc":"344919:1:22","nodeType":"YulIdentifier","src":"344919:1:22"}],"functionName":{"name":"byte","nativeSrc":"344906:4:22","nodeType":"YulIdentifier","src":"344906:4:22"},"nativeSrc":"344906:15:22","nodeType":"YulFunctionCall","src":"344906:15:22"}],"functionName":{"name":"iszero","nativeSrc":"344899:6:22","nodeType":"YulIdentifier","src":"344899:6:22"},"nativeSrc":"344899:23:22","nodeType":"YulFunctionCall","src":"344899:23:22"},"nativeSrc":"344896:36:22","nodeType":"YulIf","src":"344896:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"344851:6:22","nodeType":"YulIdentifier","src":"344851:6:22"},{"kind":"number","nativeSrc":"344859:4:22","nodeType":"YulLiteral","src":"344859:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"344848:2:22","nodeType":"YulIdentifier","src":"344848:2:22"},"nativeSrc":"344848:16:22","nodeType":"YulFunctionCall","src":"344848:16:22"},"nativeSrc":"344841:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"344865:28:22","nodeType":"YulBlock","src":"344865:28:22","statements":[{"nativeSrc":"344867:24:22","nodeType":"YulAssignment","src":"344867:24:22","value":{"arguments":[{"name":"length","nativeSrc":"344881:6:22","nodeType":"YulIdentifier","src":"344881:6:22"},{"kind":"number","nativeSrc":"344889:1:22","nodeType":"YulLiteral","src":"344889:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"344877:3:22","nodeType":"YulIdentifier","src":"344877:3:22"},"nativeSrc":"344877:14:22","nodeType":"YulFunctionCall","src":"344877:14:22"},"variableNames":[{"name":"length","nativeSrc":"344867:6:22","nodeType":"YulIdentifier","src":"344867:6:22"}]}]},"pre":{"nativeSrc":"344845:2:22","nodeType":"YulBlock","src":"344845:2:22","statements":[]},"src":"344841:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"344958:3:22","nodeType":"YulIdentifier","src":"344958:3:22"},{"name":"length","nativeSrc":"344963:6:22","nodeType":"YulIdentifier","src":"344963:6:22"}],"functionName":{"name":"mstore","nativeSrc":"344951:6:22","nodeType":"YulIdentifier","src":"344951:6:22"},"nativeSrc":"344951:19:22","nodeType":"YulFunctionCall","src":"344951:19:22"},"nativeSrc":"344951:19:22","nodeType":"YulExpressionStatement","src":"344951:19:22"},{"nativeSrc":"344987:37:22","nodeType":"YulVariableDeclaration","src":"344987:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"345004:3:22","nodeType":"YulLiteral","src":"345004:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"345013:1:22","nodeType":"YulLiteral","src":"345013:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"345016:6:22","nodeType":"YulIdentifier","src":"345016:6:22"}],"functionName":{"name":"shl","nativeSrc":"345009:3:22","nodeType":"YulIdentifier","src":"345009:3:22"},"nativeSrc":"345009:14:22","nodeType":"YulFunctionCall","src":"345009:14:22"}],"functionName":{"name":"sub","nativeSrc":"345000:3:22","nodeType":"YulIdentifier","src":"345000:3:22"},"nativeSrc":"345000:24:22","nodeType":"YulFunctionCall","src":"345000:24:22"},"variables":[{"name":"shift","nativeSrc":"344991:5:22","nodeType":"YulTypedName","src":"344991:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"345052:3:22","nodeType":"YulIdentifier","src":"345052:3:22"},{"kind":"number","nativeSrc":"345057:4:22","nodeType":"YulLiteral","src":"345057:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"345048:3:22","nodeType":"YulIdentifier","src":"345048:3:22"},"nativeSrc":"345048:14:22","nodeType":"YulFunctionCall","src":"345048:14:22"},{"arguments":[{"name":"shift","nativeSrc":"345068:5:22","nodeType":"YulIdentifier","src":"345068:5:22"},{"arguments":[{"name":"shift","nativeSrc":"345079:5:22","nodeType":"YulIdentifier","src":"345079:5:22"},{"name":"w","nativeSrc":"345086:1:22","nodeType":"YulIdentifier","src":"345086:1:22"}],"functionName":{"name":"shr","nativeSrc":"345075:3:22","nodeType":"YulIdentifier","src":"345075:3:22"},"nativeSrc":"345075:13:22","nodeType":"YulFunctionCall","src":"345075:13:22"}],"functionName":{"name":"shl","nativeSrc":"345064:3:22","nodeType":"YulIdentifier","src":"345064:3:22"},"nativeSrc":"345064:25:22","nodeType":"YulFunctionCall","src":"345064:25:22"}],"functionName":{"name":"mstore","nativeSrc":"345041:6:22","nodeType":"YulIdentifier","src":"345041:6:22"},"nativeSrc":"345041:49:22","nodeType":"YulFunctionCall","src":"345041:49:22"},"nativeSrc":"345041:49:22","nodeType":"YulExpressionStatement","src":"345041:49:22"}]},"name":"writeString","nativeSrc":"344762:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"344783:3:22","nodeType":"YulTypedName","src":"344783:3:22","type":""},{"name":"w","nativeSrc":"344788:1:22","nodeType":"YulTypedName","src":"344788:1:22","type":""}],"src":"344762:342:22"},{"nativeSrc":"345117:17:22","nodeType":"YulAssignment","src":"345117:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345129:4:22","nodeType":"YulLiteral","src":"345129:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"345123:5:22","nodeType":"YulIdentifier","src":"345123:5:22"},"nativeSrc":"345123:11:22","nodeType":"YulFunctionCall","src":"345123:11:22"},"variableNames":[{"name":"m0","nativeSrc":"345117:2:22","nodeType":"YulIdentifier","src":"345117:2:22"}]},{"nativeSrc":"345147:17:22","nodeType":"YulAssignment","src":"345147:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345159:4:22","nodeType":"YulLiteral","src":"345159:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"345153:5:22","nodeType":"YulIdentifier","src":"345153:5:22"},"nativeSrc":"345153:11:22","nodeType":"YulFunctionCall","src":"345153:11:22"},"variableNames":[{"name":"m1","nativeSrc":"345147:2:22","nodeType":"YulIdentifier","src":"345147:2:22"}]},{"nativeSrc":"345177:17:22","nodeType":"YulAssignment","src":"345177:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345189:4:22","nodeType":"YulLiteral","src":"345189:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"345183:5:22","nodeType":"YulIdentifier","src":"345183:5:22"},"nativeSrc":"345183:11:22","nodeType":"YulFunctionCall","src":"345183:11:22"},"variableNames":[{"name":"m2","nativeSrc":"345177:2:22","nodeType":"YulIdentifier","src":"345177:2:22"}]},{"nativeSrc":"345207:17:22","nodeType":"YulAssignment","src":"345207:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345219:4:22","nodeType":"YulLiteral","src":"345219:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"345213:5:22","nodeType":"YulIdentifier","src":"345213:5:22"},"nativeSrc":"345213:11:22","nodeType":"YulFunctionCall","src":"345213:11:22"},"variableNames":[{"name":"m3","nativeSrc":"345207:2:22","nodeType":"YulIdentifier","src":"345207:2:22"}]},{"nativeSrc":"345237:17:22","nodeType":"YulAssignment","src":"345237:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345249:4:22","nodeType":"YulLiteral","src":"345249:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"345243:5:22","nodeType":"YulIdentifier","src":"345243:5:22"},"nativeSrc":"345243:11:22","nodeType":"YulFunctionCall","src":"345243:11:22"},"variableNames":[{"name":"m4","nativeSrc":"345237:2:22","nodeType":"YulIdentifier","src":"345237:2:22"}]},{"nativeSrc":"345267:17:22","nodeType":"YulAssignment","src":"345267:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345279:4:22","nodeType":"YulLiteral","src":"345279:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"345273:5:22","nodeType":"YulIdentifier","src":"345273:5:22"},"nativeSrc":"345273:11:22","nodeType":"YulFunctionCall","src":"345273:11:22"},"variableNames":[{"name":"m5","nativeSrc":"345267:2:22","nodeType":"YulIdentifier","src":"345267:2:22"}]},{"nativeSrc":"345297:17:22","nodeType":"YulAssignment","src":"345297:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345309:4:22","nodeType":"YulLiteral","src":"345309:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"345303:5:22","nodeType":"YulIdentifier","src":"345303:5:22"},"nativeSrc":"345303:11:22","nodeType":"YulFunctionCall","src":"345303:11:22"},"variableNames":[{"name":"m6","nativeSrc":"345297:2:22","nodeType":"YulIdentifier","src":"345297:2:22"}]},{"nativeSrc":"345327:17:22","nodeType":"YulAssignment","src":"345327:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"345339:4:22","nodeType":"YulLiteral","src":"345339:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"345333:5:22","nodeType":"YulIdentifier","src":"345333:5:22"},"nativeSrc":"345333:11:22","nodeType":"YulFunctionCall","src":"345333:11:22"},"variableNames":[{"name":"m7","nativeSrc":"345327:2:22","nodeType":"YulIdentifier","src":"345327:2:22"}]},{"nativeSrc":"345357:18:22","nodeType":"YulAssignment","src":"345357:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"345369:5:22","nodeType":"YulLiteral","src":"345369:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"345363:5:22","nodeType":"YulIdentifier","src":"345363:5:22"},"nativeSrc":"345363:12:22","nodeType":"YulFunctionCall","src":"345363:12:22"},"variableNames":[{"name":"m8","nativeSrc":"345357:2:22","nodeType":"YulIdentifier","src":"345357:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345460:4:22","nodeType":"YulLiteral","src":"345460:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"345466:10:22","nodeType":"YulLiteral","src":"345466:10:22","type":"","value":"0xaabc9a31"}],"functionName":{"name":"mstore","nativeSrc":"345453:6:22","nodeType":"YulIdentifier","src":"345453:6:22"},"nativeSrc":"345453:24:22","nodeType":"YulFunctionCall","src":"345453:24:22"},"nativeSrc":"345453:24:22","nodeType":"YulExpressionStatement","src":"345453:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345497:4:22","nodeType":"YulLiteral","src":"345497:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"345503:4:22","nodeType":"YulLiteral","src":"345503:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"345490:6:22","nodeType":"YulIdentifier","src":"345490:6:22"},"nativeSrc":"345490:18:22","nodeType":"YulFunctionCall","src":"345490:18:22"},"nativeSrc":"345490:18:22","nodeType":"YulExpressionStatement","src":"345490:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345528:4:22","nodeType":"YulLiteral","src":"345528:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"345534:2:22","nodeType":"YulIdentifier","src":"345534:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345521:6:22","nodeType":"YulIdentifier","src":"345521:6:22"},"nativeSrc":"345521:16:22","nodeType":"YulFunctionCall","src":"345521:16:22"},"nativeSrc":"345521:16:22","nodeType":"YulExpressionStatement","src":"345521:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345557:4:22","nodeType":"YulLiteral","src":"345557:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"345563:4:22","nodeType":"YulLiteral","src":"345563:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"345550:6:22","nodeType":"YulIdentifier","src":"345550:6:22"},"nativeSrc":"345550:18:22","nodeType":"YulFunctionCall","src":"345550:18:22"},"nativeSrc":"345550:18:22","nodeType":"YulExpressionStatement","src":"345550:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345588:4:22","nodeType":"YulLiteral","src":"345588:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"345594:2:22","nodeType":"YulIdentifier","src":"345594:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345581:6:22","nodeType":"YulIdentifier","src":"345581:6:22"},"nativeSrc":"345581:16:22","nodeType":"YulFunctionCall","src":"345581:16:22"},"nativeSrc":"345581:16:22","nodeType":"YulExpressionStatement","src":"345581:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345622:4:22","nodeType":"YulLiteral","src":"345622:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"345628:2:22","nodeType":"YulIdentifier","src":"345628:2:22"}],"functionName":{"name":"writeString","nativeSrc":"345610:11:22","nodeType":"YulIdentifier","src":"345610:11:22"},"nativeSrc":"345610:21:22","nodeType":"YulFunctionCall","src":"345610:21:22"},"nativeSrc":"345610:21:22","nodeType":"YulExpressionStatement","src":"345610:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345656:4:22","nodeType":"YulLiteral","src":"345656:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"345662:2:22","nodeType":"YulIdentifier","src":"345662:2:22"}],"functionName":{"name":"writeString","nativeSrc":"345644:11:22","nodeType":"YulIdentifier","src":"345644:11:22"},"nativeSrc":"345644:21:22","nodeType":"YulFunctionCall","src":"345644:21:22"},"nativeSrc":"345644:21:22","nodeType":"YulExpressionStatement","src":"345644:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42087,"isOffset":false,"isSlot":false,"src":"345117:2:22","valueSize":1},{"declaration":42090,"isOffset":false,"isSlot":false,"src":"345147:2:22","valueSize":1},{"declaration":42093,"isOffset":false,"isSlot":false,"src":"345177:2:22","valueSize":1},{"declaration":42096,"isOffset":false,"isSlot":false,"src":"345207:2:22","valueSize":1},{"declaration":42099,"isOffset":false,"isSlot":false,"src":"345237:2:22","valueSize":1},{"declaration":42102,"isOffset":false,"isSlot":false,"src":"345267:2:22","valueSize":1},{"declaration":42105,"isOffset":false,"isSlot":false,"src":"345297:2:22","valueSize":1},{"declaration":42108,"isOffset":false,"isSlot":false,"src":"345327:2:22","valueSize":1},{"declaration":42111,"isOffset":false,"isSlot":false,"src":"345357:2:22","valueSize":1},{"declaration":42077,"isOffset":false,"isSlot":false,"src":"345628:2:22","valueSize":1},{"declaration":42079,"isOffset":false,"isSlot":false,"src":"345534:2:22","valueSize":1},{"declaration":42081,"isOffset":false,"isSlot":false,"src":"345662:2:22","valueSize":1},{"declaration":42083,"isOffset":false,"isSlot":false,"src":"345594:2:22","valueSize":1}],"id":42113,"nodeType":"InlineAssembly","src":"344739:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345700:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345706:5:22","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":42114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"345684:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"345684:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42118,"nodeType":"ExpressionStatement","src":"345684:28:22"},{"AST":{"nativeSrc":"345774:273:22","nodeType":"YulBlock","src":"345774:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"345795:4:22","nodeType":"YulLiteral","src":"345795:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"345801:2:22","nodeType":"YulIdentifier","src":"345801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345788:6:22","nodeType":"YulIdentifier","src":"345788:6:22"},"nativeSrc":"345788:16:22","nodeType":"YulFunctionCall","src":"345788:16:22"},"nativeSrc":"345788:16:22","nodeType":"YulExpressionStatement","src":"345788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345824:4:22","nodeType":"YulLiteral","src":"345824:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"345830:2:22","nodeType":"YulIdentifier","src":"345830:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345817:6:22","nodeType":"YulIdentifier","src":"345817:6:22"},"nativeSrc":"345817:16:22","nodeType":"YulFunctionCall","src":"345817:16:22"},"nativeSrc":"345817:16:22","nodeType":"YulExpressionStatement","src":"345817:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345853:4:22","nodeType":"YulLiteral","src":"345853:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"345859:2:22","nodeType":"YulIdentifier","src":"345859:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345846:6:22","nodeType":"YulIdentifier","src":"345846:6:22"},"nativeSrc":"345846:16:22","nodeType":"YulFunctionCall","src":"345846:16:22"},"nativeSrc":"345846:16:22","nodeType":"YulExpressionStatement","src":"345846:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345882:4:22","nodeType":"YulLiteral","src":"345882:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"345888:2:22","nodeType":"YulIdentifier","src":"345888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345875:6:22","nodeType":"YulIdentifier","src":"345875:6:22"},"nativeSrc":"345875:16:22","nodeType":"YulFunctionCall","src":"345875:16:22"},"nativeSrc":"345875:16:22","nodeType":"YulExpressionStatement","src":"345875:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345911:4:22","nodeType":"YulLiteral","src":"345911:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"345917:2:22","nodeType":"YulIdentifier","src":"345917:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345904:6:22","nodeType":"YulIdentifier","src":"345904:6:22"},"nativeSrc":"345904:16:22","nodeType":"YulFunctionCall","src":"345904:16:22"},"nativeSrc":"345904:16:22","nodeType":"YulExpressionStatement","src":"345904:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345940:4:22","nodeType":"YulLiteral","src":"345940:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"345946:2:22","nodeType":"YulIdentifier","src":"345946:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345933:6:22","nodeType":"YulIdentifier","src":"345933:6:22"},"nativeSrc":"345933:16:22","nodeType":"YulFunctionCall","src":"345933:16:22"},"nativeSrc":"345933:16:22","nodeType":"YulExpressionStatement","src":"345933:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345969:4:22","nodeType":"YulLiteral","src":"345969:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"345975:2:22","nodeType":"YulIdentifier","src":"345975:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345962:6:22","nodeType":"YulIdentifier","src":"345962:6:22"},"nativeSrc":"345962:16:22","nodeType":"YulFunctionCall","src":"345962:16:22"},"nativeSrc":"345962:16:22","nodeType":"YulExpressionStatement","src":"345962:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345998:4:22","nodeType":"YulLiteral","src":"345998:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"346004:2:22","nodeType":"YulIdentifier","src":"346004:2:22"}],"functionName":{"name":"mstore","nativeSrc":"345991:6:22","nodeType":"YulIdentifier","src":"345991:6:22"},"nativeSrc":"345991:16:22","nodeType":"YulFunctionCall","src":"345991:16:22"},"nativeSrc":"345991:16:22","nodeType":"YulExpressionStatement","src":"345991:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"346027:5:22","nodeType":"YulLiteral","src":"346027:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"346034:2:22","nodeType":"YulIdentifier","src":"346034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"346020:6:22","nodeType":"YulIdentifier","src":"346020:6:22"},"nativeSrc":"346020:17:22","nodeType":"YulFunctionCall","src":"346020:17:22"},"nativeSrc":"346020:17:22","nodeType":"YulExpressionStatement","src":"346020:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42087,"isOffset":false,"isSlot":false,"src":"345801:2:22","valueSize":1},{"declaration":42090,"isOffset":false,"isSlot":false,"src":"345830:2:22","valueSize":1},{"declaration":42093,"isOffset":false,"isSlot":false,"src":"345859:2:22","valueSize":1},{"declaration":42096,"isOffset":false,"isSlot":false,"src":"345888:2:22","valueSize":1},{"declaration":42099,"isOffset":false,"isSlot":false,"src":"345917:2:22","valueSize":1},{"declaration":42102,"isOffset":false,"isSlot":false,"src":"345946:2:22","valueSize":1},{"declaration":42105,"isOffset":false,"isSlot":false,"src":"345975:2:22","valueSize":1},{"declaration":42108,"isOffset":false,"isSlot":false,"src":"346004:2:22","valueSize":1},{"declaration":42111,"isOffset":false,"isSlot":false,"src":"346034:2:22","valueSize":1}],"id":42119,"nodeType":"InlineAssembly","src":"345765:282:22"}]},"id":42121,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"344440:3:22","nodeType":"FunctionDefinition","parameters":{"id":42084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42077,"mutability":"mutable","name":"p0","nameLocation":"344452:2:22","nodeType":"VariableDeclaration","scope":42121,"src":"344444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42079,"mutability":"mutable","name":"p1","nameLocation":"344464:2:22","nodeType":"VariableDeclaration","scope":42121,"src":"344456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42078,"name":"address","nodeType":"ElementaryTypeName","src":"344456:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42081,"mutability":"mutable","name":"p2","nameLocation":"344476:2:22","nodeType":"VariableDeclaration","scope":42121,"src":"344468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344468:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42083,"mutability":"mutable","name":"p3","nameLocation":"344488:2:22","nodeType":"VariableDeclaration","scope":42121,"src":"344480:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42082,"name":"address","nodeType":"ElementaryTypeName","src":"344480:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"344443:48:22"},"returnParameters":{"id":42085,"nodeType":"ParameterList","parameters":[],"src":"344506:0:22"},"scope":44426,"src":"344431:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42166,"nodeType":"Block","src":"346131:1544:22","statements":[{"assignments":[42133],"declarations":[{"constant":false,"id":42133,"mutability":"mutable","name":"m0","nameLocation":"346149:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346141:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346141:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42134,"nodeType":"VariableDeclarationStatement","src":"346141:10:22"},{"assignments":[42136],"declarations":[{"constant":false,"id":42136,"mutability":"mutable","name":"m1","nameLocation":"346169:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346161:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346161:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42137,"nodeType":"VariableDeclarationStatement","src":"346161:10:22"},{"assignments":[42139],"declarations":[{"constant":false,"id":42139,"mutability":"mutable","name":"m2","nameLocation":"346189:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346181:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346181:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42140,"nodeType":"VariableDeclarationStatement","src":"346181:10:22"},{"assignments":[42142],"declarations":[{"constant":false,"id":42142,"mutability":"mutable","name":"m3","nameLocation":"346209:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346201:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346201:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42143,"nodeType":"VariableDeclarationStatement","src":"346201:10:22"},{"assignments":[42145],"declarations":[{"constant":false,"id":42145,"mutability":"mutable","name":"m4","nameLocation":"346229:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346221:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42146,"nodeType":"VariableDeclarationStatement","src":"346221:10:22"},{"assignments":[42148],"declarations":[{"constant":false,"id":42148,"mutability":"mutable","name":"m5","nameLocation":"346249:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346241:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346241:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42149,"nodeType":"VariableDeclarationStatement","src":"346241:10:22"},{"assignments":[42151],"declarations":[{"constant":false,"id":42151,"mutability":"mutable","name":"m6","nameLocation":"346269:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346261:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346261:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42152,"nodeType":"VariableDeclarationStatement","src":"346261:10:22"},{"assignments":[42154],"declarations":[{"constant":false,"id":42154,"mutability":"mutable","name":"m7","nameLocation":"346289:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346281:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346281:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42155,"nodeType":"VariableDeclarationStatement","src":"346281:10:22"},{"assignments":[42157],"declarations":[{"constant":false,"id":42157,"mutability":"mutable","name":"m8","nameLocation":"346309:2:22","nodeType":"VariableDeclaration","scope":42166,"src":"346301:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346301:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42158,"nodeType":"VariableDeclarationStatement","src":"346301:10:22"},{"AST":{"nativeSrc":"346373:924:22","nodeType":"YulBlock","src":"346373:924:22","statements":[{"body":{"nativeSrc":"346416:313:22","nodeType":"YulBlock","src":"346416:313:22","statements":[{"nativeSrc":"346434:15:22","nodeType":"YulVariableDeclaration","src":"346434:15:22","value":{"kind":"number","nativeSrc":"346448:1:22","nodeType":"YulLiteral","src":"346448:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"346438:6:22","nodeType":"YulTypedName","src":"346438:6:22","type":""}]},{"body":{"nativeSrc":"346519:40:22","nodeType":"YulBlock","src":"346519:40:22","statements":[{"body":{"nativeSrc":"346548:9:22","nodeType":"YulBlock","src":"346548:9:22","statements":[{"nativeSrc":"346550:5:22","nodeType":"YulBreak","src":"346550:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"346536:6:22","nodeType":"YulIdentifier","src":"346536:6:22"},{"name":"w","nativeSrc":"346544:1:22","nodeType":"YulIdentifier","src":"346544:1:22"}],"functionName":{"name":"byte","nativeSrc":"346531:4:22","nodeType":"YulIdentifier","src":"346531:4:22"},"nativeSrc":"346531:15:22","nodeType":"YulFunctionCall","src":"346531:15:22"}],"functionName":{"name":"iszero","nativeSrc":"346524:6:22","nodeType":"YulIdentifier","src":"346524:6:22"},"nativeSrc":"346524:23:22","nodeType":"YulFunctionCall","src":"346524:23:22"},"nativeSrc":"346521:36:22","nodeType":"YulIf","src":"346521:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"346476:6:22","nodeType":"YulIdentifier","src":"346476:6:22"},{"kind":"number","nativeSrc":"346484:4:22","nodeType":"YulLiteral","src":"346484:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"346473:2:22","nodeType":"YulIdentifier","src":"346473:2:22"},"nativeSrc":"346473:16:22","nodeType":"YulFunctionCall","src":"346473:16:22"},"nativeSrc":"346466:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"346490:28:22","nodeType":"YulBlock","src":"346490:28:22","statements":[{"nativeSrc":"346492:24:22","nodeType":"YulAssignment","src":"346492:24:22","value":{"arguments":[{"name":"length","nativeSrc":"346506:6:22","nodeType":"YulIdentifier","src":"346506:6:22"},{"kind":"number","nativeSrc":"346514:1:22","nodeType":"YulLiteral","src":"346514:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"346502:3:22","nodeType":"YulIdentifier","src":"346502:3:22"},"nativeSrc":"346502:14:22","nodeType":"YulFunctionCall","src":"346502:14:22"},"variableNames":[{"name":"length","nativeSrc":"346492:6:22","nodeType":"YulIdentifier","src":"346492:6:22"}]}]},"pre":{"nativeSrc":"346470:2:22","nodeType":"YulBlock","src":"346470:2:22","statements":[]},"src":"346466:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"346583:3:22","nodeType":"YulIdentifier","src":"346583:3:22"},{"name":"length","nativeSrc":"346588:6:22","nodeType":"YulIdentifier","src":"346588:6:22"}],"functionName":{"name":"mstore","nativeSrc":"346576:6:22","nodeType":"YulIdentifier","src":"346576:6:22"},"nativeSrc":"346576:19:22","nodeType":"YulFunctionCall","src":"346576:19:22"},"nativeSrc":"346576:19:22","nodeType":"YulExpressionStatement","src":"346576:19:22"},{"nativeSrc":"346612:37:22","nodeType":"YulVariableDeclaration","src":"346612:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"346629:3:22","nodeType":"YulLiteral","src":"346629:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"346638:1:22","nodeType":"YulLiteral","src":"346638:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"346641:6:22","nodeType":"YulIdentifier","src":"346641:6:22"}],"functionName":{"name":"shl","nativeSrc":"346634:3:22","nodeType":"YulIdentifier","src":"346634:3:22"},"nativeSrc":"346634:14:22","nodeType":"YulFunctionCall","src":"346634:14:22"}],"functionName":{"name":"sub","nativeSrc":"346625:3:22","nodeType":"YulIdentifier","src":"346625:3:22"},"nativeSrc":"346625:24:22","nodeType":"YulFunctionCall","src":"346625:24:22"},"variables":[{"name":"shift","nativeSrc":"346616:5:22","nodeType":"YulTypedName","src":"346616:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"346677:3:22","nodeType":"YulIdentifier","src":"346677:3:22"},{"kind":"number","nativeSrc":"346682:4:22","nodeType":"YulLiteral","src":"346682:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"346673:3:22","nodeType":"YulIdentifier","src":"346673:3:22"},"nativeSrc":"346673:14:22","nodeType":"YulFunctionCall","src":"346673:14:22"},{"arguments":[{"name":"shift","nativeSrc":"346693:5:22","nodeType":"YulIdentifier","src":"346693:5:22"},{"arguments":[{"name":"shift","nativeSrc":"346704:5:22","nodeType":"YulIdentifier","src":"346704:5:22"},{"name":"w","nativeSrc":"346711:1:22","nodeType":"YulIdentifier","src":"346711:1:22"}],"functionName":{"name":"shr","nativeSrc":"346700:3:22","nodeType":"YulIdentifier","src":"346700:3:22"},"nativeSrc":"346700:13:22","nodeType":"YulFunctionCall","src":"346700:13:22"}],"functionName":{"name":"shl","nativeSrc":"346689:3:22","nodeType":"YulIdentifier","src":"346689:3:22"},"nativeSrc":"346689:25:22","nodeType":"YulFunctionCall","src":"346689:25:22"}],"functionName":{"name":"mstore","nativeSrc":"346666:6:22","nodeType":"YulIdentifier","src":"346666:6:22"},"nativeSrc":"346666:49:22","nodeType":"YulFunctionCall","src":"346666:49:22"},"nativeSrc":"346666:49:22","nodeType":"YulExpressionStatement","src":"346666:49:22"}]},"name":"writeString","nativeSrc":"346387:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"346408:3:22","nodeType":"YulTypedName","src":"346408:3:22","type":""},{"name":"w","nativeSrc":"346413:1:22","nodeType":"YulTypedName","src":"346413:1:22","type":""}],"src":"346387:342:22"},{"nativeSrc":"346742:17:22","nodeType":"YulAssignment","src":"346742:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346754:4:22","nodeType":"YulLiteral","src":"346754:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"346748:5:22","nodeType":"YulIdentifier","src":"346748:5:22"},"nativeSrc":"346748:11:22","nodeType":"YulFunctionCall","src":"346748:11:22"},"variableNames":[{"name":"m0","nativeSrc":"346742:2:22","nodeType":"YulIdentifier","src":"346742:2:22"}]},{"nativeSrc":"346772:17:22","nodeType":"YulAssignment","src":"346772:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346784:4:22","nodeType":"YulLiteral","src":"346784:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"346778:5:22","nodeType":"YulIdentifier","src":"346778:5:22"},"nativeSrc":"346778:11:22","nodeType":"YulFunctionCall","src":"346778:11:22"},"variableNames":[{"name":"m1","nativeSrc":"346772:2:22","nodeType":"YulIdentifier","src":"346772:2:22"}]},{"nativeSrc":"346802:17:22","nodeType":"YulAssignment","src":"346802:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346814:4:22","nodeType":"YulLiteral","src":"346814:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"346808:5:22","nodeType":"YulIdentifier","src":"346808:5:22"},"nativeSrc":"346808:11:22","nodeType":"YulFunctionCall","src":"346808:11:22"},"variableNames":[{"name":"m2","nativeSrc":"346802:2:22","nodeType":"YulIdentifier","src":"346802:2:22"}]},{"nativeSrc":"346832:17:22","nodeType":"YulAssignment","src":"346832:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346844:4:22","nodeType":"YulLiteral","src":"346844:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"346838:5:22","nodeType":"YulIdentifier","src":"346838:5:22"},"nativeSrc":"346838:11:22","nodeType":"YulFunctionCall","src":"346838:11:22"},"variableNames":[{"name":"m3","nativeSrc":"346832:2:22","nodeType":"YulIdentifier","src":"346832:2:22"}]},{"nativeSrc":"346862:17:22","nodeType":"YulAssignment","src":"346862:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346874:4:22","nodeType":"YulLiteral","src":"346874:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"346868:5:22","nodeType":"YulIdentifier","src":"346868:5:22"},"nativeSrc":"346868:11:22","nodeType":"YulFunctionCall","src":"346868:11:22"},"variableNames":[{"name":"m4","nativeSrc":"346862:2:22","nodeType":"YulIdentifier","src":"346862:2:22"}]},{"nativeSrc":"346892:17:22","nodeType":"YulAssignment","src":"346892:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346904:4:22","nodeType":"YulLiteral","src":"346904:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"346898:5:22","nodeType":"YulIdentifier","src":"346898:5:22"},"nativeSrc":"346898:11:22","nodeType":"YulFunctionCall","src":"346898:11:22"},"variableNames":[{"name":"m5","nativeSrc":"346892:2:22","nodeType":"YulIdentifier","src":"346892:2:22"}]},{"nativeSrc":"346922:17:22","nodeType":"YulAssignment","src":"346922:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346934:4:22","nodeType":"YulLiteral","src":"346934:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"346928:5:22","nodeType":"YulIdentifier","src":"346928:5:22"},"nativeSrc":"346928:11:22","nodeType":"YulFunctionCall","src":"346928:11:22"},"variableNames":[{"name":"m6","nativeSrc":"346922:2:22","nodeType":"YulIdentifier","src":"346922:2:22"}]},{"nativeSrc":"346952:17:22","nodeType":"YulAssignment","src":"346952:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"346964:4:22","nodeType":"YulLiteral","src":"346964:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"346958:5:22","nodeType":"YulIdentifier","src":"346958:5:22"},"nativeSrc":"346958:11:22","nodeType":"YulFunctionCall","src":"346958:11:22"},"variableNames":[{"name":"m7","nativeSrc":"346952:2:22","nodeType":"YulIdentifier","src":"346952:2:22"}]},{"nativeSrc":"346982:18:22","nodeType":"YulAssignment","src":"346982:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"346994:5:22","nodeType":"YulLiteral","src":"346994:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"346988:5:22","nodeType":"YulIdentifier","src":"346988:5:22"},"nativeSrc":"346988:12:22","nodeType":"YulFunctionCall","src":"346988:12:22"},"variableNames":[{"name":"m8","nativeSrc":"346982:2:22","nodeType":"YulIdentifier","src":"346982:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347082:4:22","nodeType":"YulLiteral","src":"347082:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"347088:10:22","nodeType":"YulLiteral","src":"347088:10:22","type":"","value":"0x5f15d28c"}],"functionName":{"name":"mstore","nativeSrc":"347075:6:22","nodeType":"YulIdentifier","src":"347075:6:22"},"nativeSrc":"347075:24:22","nodeType":"YulFunctionCall","src":"347075:24:22"},"nativeSrc":"347075:24:22","nodeType":"YulExpressionStatement","src":"347075:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347119:4:22","nodeType":"YulLiteral","src":"347119:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"347125:4:22","nodeType":"YulLiteral","src":"347125:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"347112:6:22","nodeType":"YulIdentifier","src":"347112:6:22"},"nativeSrc":"347112:18:22","nodeType":"YulFunctionCall","src":"347112:18:22"},"nativeSrc":"347112:18:22","nodeType":"YulExpressionStatement","src":"347112:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347150:4:22","nodeType":"YulLiteral","src":"347150:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"347156:2:22","nodeType":"YulIdentifier","src":"347156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347143:6:22","nodeType":"YulIdentifier","src":"347143:6:22"},"nativeSrc":"347143:16:22","nodeType":"YulFunctionCall","src":"347143:16:22"},"nativeSrc":"347143:16:22","nodeType":"YulExpressionStatement","src":"347143:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347179:4:22","nodeType":"YulLiteral","src":"347179:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"347185:4:22","nodeType":"YulLiteral","src":"347185:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"347172:6:22","nodeType":"YulIdentifier","src":"347172:6:22"},"nativeSrc":"347172:18:22","nodeType":"YulFunctionCall","src":"347172:18:22"},"nativeSrc":"347172:18:22","nodeType":"YulExpressionStatement","src":"347172:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347210:4:22","nodeType":"YulLiteral","src":"347210:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"347216:2:22","nodeType":"YulIdentifier","src":"347216:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347203:6:22","nodeType":"YulIdentifier","src":"347203:6:22"},"nativeSrc":"347203:16:22","nodeType":"YulFunctionCall","src":"347203:16:22"},"nativeSrc":"347203:16:22","nodeType":"YulExpressionStatement","src":"347203:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347244:4:22","nodeType":"YulLiteral","src":"347244:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"347250:2:22","nodeType":"YulIdentifier","src":"347250:2:22"}],"functionName":{"name":"writeString","nativeSrc":"347232:11:22","nodeType":"YulIdentifier","src":"347232:11:22"},"nativeSrc":"347232:21:22","nodeType":"YulFunctionCall","src":"347232:21:22"},"nativeSrc":"347232:21:22","nodeType":"YulExpressionStatement","src":"347232:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347278:4:22","nodeType":"YulLiteral","src":"347278:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"347284:2:22","nodeType":"YulIdentifier","src":"347284:2:22"}],"functionName":{"name":"writeString","nativeSrc":"347266:11:22","nodeType":"YulIdentifier","src":"347266:11:22"},"nativeSrc":"347266:21:22","nodeType":"YulFunctionCall","src":"347266:21:22"},"nativeSrc":"347266:21:22","nodeType":"YulExpressionStatement","src":"347266:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42133,"isOffset":false,"isSlot":false,"src":"346742:2:22","valueSize":1},{"declaration":42136,"isOffset":false,"isSlot":false,"src":"346772:2:22","valueSize":1},{"declaration":42139,"isOffset":false,"isSlot":false,"src":"346802:2:22","valueSize":1},{"declaration":42142,"isOffset":false,"isSlot":false,"src":"346832:2:22","valueSize":1},{"declaration":42145,"isOffset":false,"isSlot":false,"src":"346862:2:22","valueSize":1},{"declaration":42148,"isOffset":false,"isSlot":false,"src":"346892:2:22","valueSize":1},{"declaration":42151,"isOffset":false,"isSlot":false,"src":"346922:2:22","valueSize":1},{"declaration":42154,"isOffset":false,"isSlot":false,"src":"346952:2:22","valueSize":1},{"declaration":42157,"isOffset":false,"isSlot":false,"src":"346982:2:22","valueSize":1},{"declaration":42123,"isOffset":false,"isSlot":false,"src":"347250:2:22","valueSize":1},{"declaration":42125,"isOffset":false,"isSlot":false,"src":"347156:2:22","valueSize":1},{"declaration":42127,"isOffset":false,"isSlot":false,"src":"347284:2:22","valueSize":1},{"declaration":42129,"isOffset":false,"isSlot":false,"src":"347216:2:22","valueSize":1}],"id":42159,"nodeType":"InlineAssembly","src":"346364:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347322:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347328:5:22","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":42160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"347306:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"347306:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42164,"nodeType":"ExpressionStatement","src":"347306:28:22"},{"AST":{"nativeSrc":"347396:273:22","nodeType":"YulBlock","src":"347396:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"347417:4:22","nodeType":"YulLiteral","src":"347417:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"347423:2:22","nodeType":"YulIdentifier","src":"347423:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347410:6:22","nodeType":"YulIdentifier","src":"347410:6:22"},"nativeSrc":"347410:16:22","nodeType":"YulFunctionCall","src":"347410:16:22"},"nativeSrc":"347410:16:22","nodeType":"YulExpressionStatement","src":"347410:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347446:4:22","nodeType":"YulLiteral","src":"347446:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"347452:2:22","nodeType":"YulIdentifier","src":"347452:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347439:6:22","nodeType":"YulIdentifier","src":"347439:6:22"},"nativeSrc":"347439:16:22","nodeType":"YulFunctionCall","src":"347439:16:22"},"nativeSrc":"347439:16:22","nodeType":"YulExpressionStatement","src":"347439:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347475:4:22","nodeType":"YulLiteral","src":"347475:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"347481:2:22","nodeType":"YulIdentifier","src":"347481:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347468:6:22","nodeType":"YulIdentifier","src":"347468:6:22"},"nativeSrc":"347468:16:22","nodeType":"YulFunctionCall","src":"347468:16:22"},"nativeSrc":"347468:16:22","nodeType":"YulExpressionStatement","src":"347468:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347504:4:22","nodeType":"YulLiteral","src":"347504:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"347510:2:22","nodeType":"YulIdentifier","src":"347510:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347497:6:22","nodeType":"YulIdentifier","src":"347497:6:22"},"nativeSrc":"347497:16:22","nodeType":"YulFunctionCall","src":"347497:16:22"},"nativeSrc":"347497:16:22","nodeType":"YulExpressionStatement","src":"347497:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347533:4:22","nodeType":"YulLiteral","src":"347533:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"347539:2:22","nodeType":"YulIdentifier","src":"347539:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347526:6:22","nodeType":"YulIdentifier","src":"347526:6:22"},"nativeSrc":"347526:16:22","nodeType":"YulFunctionCall","src":"347526:16:22"},"nativeSrc":"347526:16:22","nodeType":"YulExpressionStatement","src":"347526:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347562:4:22","nodeType":"YulLiteral","src":"347562:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"347568:2:22","nodeType":"YulIdentifier","src":"347568:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347555:6:22","nodeType":"YulIdentifier","src":"347555:6:22"},"nativeSrc":"347555:16:22","nodeType":"YulFunctionCall","src":"347555:16:22"},"nativeSrc":"347555:16:22","nodeType":"YulExpressionStatement","src":"347555:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347591:4:22","nodeType":"YulLiteral","src":"347591:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"347597:2:22","nodeType":"YulIdentifier","src":"347597:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347584:6:22","nodeType":"YulIdentifier","src":"347584:6:22"},"nativeSrc":"347584:16:22","nodeType":"YulFunctionCall","src":"347584:16:22"},"nativeSrc":"347584:16:22","nodeType":"YulExpressionStatement","src":"347584:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347620:4:22","nodeType":"YulLiteral","src":"347620:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"347626:2:22","nodeType":"YulIdentifier","src":"347626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347613:6:22","nodeType":"YulIdentifier","src":"347613:6:22"},"nativeSrc":"347613:16:22","nodeType":"YulFunctionCall","src":"347613:16:22"},"nativeSrc":"347613:16:22","nodeType":"YulExpressionStatement","src":"347613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347649:5:22","nodeType":"YulLiteral","src":"347649:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"347656:2:22","nodeType":"YulIdentifier","src":"347656:2:22"}],"functionName":{"name":"mstore","nativeSrc":"347642:6:22","nodeType":"YulIdentifier","src":"347642:6:22"},"nativeSrc":"347642:17:22","nodeType":"YulFunctionCall","src":"347642:17:22"},"nativeSrc":"347642:17:22","nodeType":"YulExpressionStatement","src":"347642:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42133,"isOffset":false,"isSlot":false,"src":"347423:2:22","valueSize":1},{"declaration":42136,"isOffset":false,"isSlot":false,"src":"347452:2:22","valueSize":1},{"declaration":42139,"isOffset":false,"isSlot":false,"src":"347481:2:22","valueSize":1},{"declaration":42142,"isOffset":false,"isSlot":false,"src":"347510:2:22","valueSize":1},{"declaration":42145,"isOffset":false,"isSlot":false,"src":"347539:2:22","valueSize":1},{"declaration":42148,"isOffset":false,"isSlot":false,"src":"347568:2:22","valueSize":1},{"declaration":42151,"isOffset":false,"isSlot":false,"src":"347597:2:22","valueSize":1},{"declaration":42154,"isOffset":false,"isSlot":false,"src":"347626:2:22","valueSize":1},{"declaration":42157,"isOffset":false,"isSlot":false,"src":"347656:2:22","valueSize":1}],"id":42165,"nodeType":"InlineAssembly","src":"347387:282:22"}]},"id":42167,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"346068:3:22","nodeType":"FunctionDefinition","parameters":{"id":42130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42123,"mutability":"mutable","name":"p0","nameLocation":"346080:2:22","nodeType":"VariableDeclaration","scope":42167,"src":"346072:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346072:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42125,"mutability":"mutable","name":"p1","nameLocation":"346092:2:22","nodeType":"VariableDeclaration","scope":42167,"src":"346084:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42124,"name":"address","nodeType":"ElementaryTypeName","src":"346084:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42127,"mutability":"mutable","name":"p2","nameLocation":"346104:2:22","nodeType":"VariableDeclaration","scope":42167,"src":"346096:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346096:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42129,"mutability":"mutable","name":"p3","nameLocation":"346113:2:22","nodeType":"VariableDeclaration","scope":42167,"src":"346108:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42128,"name":"bool","nodeType":"ElementaryTypeName","src":"346108:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"346071:45:22"},"returnParameters":{"id":42131,"nodeType":"ParameterList","parameters":[],"src":"346131:0:22"},"scope":44426,"src":"346059:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42212,"nodeType":"Block","src":"347756:1547:22","statements":[{"assignments":[42179],"declarations":[{"constant":false,"id":42179,"mutability":"mutable","name":"m0","nameLocation":"347774:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42180,"nodeType":"VariableDeclarationStatement","src":"347766:10:22"},{"assignments":[42182],"declarations":[{"constant":false,"id":42182,"mutability":"mutable","name":"m1","nameLocation":"347794:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42183,"nodeType":"VariableDeclarationStatement","src":"347786:10:22"},{"assignments":[42185],"declarations":[{"constant":false,"id":42185,"mutability":"mutable","name":"m2","nameLocation":"347814:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42186,"nodeType":"VariableDeclarationStatement","src":"347806:10:22"},{"assignments":[42188],"declarations":[{"constant":false,"id":42188,"mutability":"mutable","name":"m3","nameLocation":"347834:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347826:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347826:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42189,"nodeType":"VariableDeclarationStatement","src":"347826:10:22"},{"assignments":[42191],"declarations":[{"constant":false,"id":42191,"mutability":"mutable","name":"m4","nameLocation":"347854:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42192,"nodeType":"VariableDeclarationStatement","src":"347846:10:22"},{"assignments":[42194],"declarations":[{"constant":false,"id":42194,"mutability":"mutable","name":"m5","nameLocation":"347874:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347866:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347866:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42195,"nodeType":"VariableDeclarationStatement","src":"347866:10:22"},{"assignments":[42197],"declarations":[{"constant":false,"id":42197,"mutability":"mutable","name":"m6","nameLocation":"347894:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42198,"nodeType":"VariableDeclarationStatement","src":"347886:10:22"},{"assignments":[42200],"declarations":[{"constant":false,"id":42200,"mutability":"mutable","name":"m7","nameLocation":"347914:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347906:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347906:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42201,"nodeType":"VariableDeclarationStatement","src":"347906:10:22"},{"assignments":[42203],"declarations":[{"constant":false,"id":42203,"mutability":"mutable","name":"m8","nameLocation":"347934:2:22","nodeType":"VariableDeclaration","scope":42212,"src":"347926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42204,"nodeType":"VariableDeclarationStatement","src":"347926:10:22"},{"AST":{"nativeSrc":"347998:927:22","nodeType":"YulBlock","src":"347998:927:22","statements":[{"body":{"nativeSrc":"348041:313:22","nodeType":"YulBlock","src":"348041:313:22","statements":[{"nativeSrc":"348059:15:22","nodeType":"YulVariableDeclaration","src":"348059:15:22","value":{"kind":"number","nativeSrc":"348073:1:22","nodeType":"YulLiteral","src":"348073:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"348063:6:22","nodeType":"YulTypedName","src":"348063:6:22","type":""}]},{"body":{"nativeSrc":"348144:40:22","nodeType":"YulBlock","src":"348144:40:22","statements":[{"body":{"nativeSrc":"348173:9:22","nodeType":"YulBlock","src":"348173:9:22","statements":[{"nativeSrc":"348175:5:22","nodeType":"YulBreak","src":"348175:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"348161:6:22","nodeType":"YulIdentifier","src":"348161:6:22"},{"name":"w","nativeSrc":"348169:1:22","nodeType":"YulIdentifier","src":"348169:1:22"}],"functionName":{"name":"byte","nativeSrc":"348156:4:22","nodeType":"YulIdentifier","src":"348156:4:22"},"nativeSrc":"348156:15:22","nodeType":"YulFunctionCall","src":"348156:15:22"}],"functionName":{"name":"iszero","nativeSrc":"348149:6:22","nodeType":"YulIdentifier","src":"348149:6:22"},"nativeSrc":"348149:23:22","nodeType":"YulFunctionCall","src":"348149:23:22"},"nativeSrc":"348146:36:22","nodeType":"YulIf","src":"348146:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"348101:6:22","nodeType":"YulIdentifier","src":"348101:6:22"},{"kind":"number","nativeSrc":"348109:4:22","nodeType":"YulLiteral","src":"348109:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"348098:2:22","nodeType":"YulIdentifier","src":"348098:2:22"},"nativeSrc":"348098:16:22","nodeType":"YulFunctionCall","src":"348098:16:22"},"nativeSrc":"348091:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"348115:28:22","nodeType":"YulBlock","src":"348115:28:22","statements":[{"nativeSrc":"348117:24:22","nodeType":"YulAssignment","src":"348117:24:22","value":{"arguments":[{"name":"length","nativeSrc":"348131:6:22","nodeType":"YulIdentifier","src":"348131:6:22"},{"kind":"number","nativeSrc":"348139:1:22","nodeType":"YulLiteral","src":"348139:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"348127:3:22","nodeType":"YulIdentifier","src":"348127:3:22"},"nativeSrc":"348127:14:22","nodeType":"YulFunctionCall","src":"348127:14:22"},"variableNames":[{"name":"length","nativeSrc":"348117:6:22","nodeType":"YulIdentifier","src":"348117:6:22"}]}]},"pre":{"nativeSrc":"348095:2:22","nodeType":"YulBlock","src":"348095:2:22","statements":[]},"src":"348091:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"348208:3:22","nodeType":"YulIdentifier","src":"348208:3:22"},{"name":"length","nativeSrc":"348213:6:22","nodeType":"YulIdentifier","src":"348213:6:22"}],"functionName":{"name":"mstore","nativeSrc":"348201:6:22","nodeType":"YulIdentifier","src":"348201:6:22"},"nativeSrc":"348201:19:22","nodeType":"YulFunctionCall","src":"348201:19:22"},"nativeSrc":"348201:19:22","nodeType":"YulExpressionStatement","src":"348201:19:22"},{"nativeSrc":"348237:37:22","nodeType":"YulVariableDeclaration","src":"348237:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"348254:3:22","nodeType":"YulLiteral","src":"348254:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"348263:1:22","nodeType":"YulLiteral","src":"348263:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"348266:6:22","nodeType":"YulIdentifier","src":"348266:6:22"}],"functionName":{"name":"shl","nativeSrc":"348259:3:22","nodeType":"YulIdentifier","src":"348259:3:22"},"nativeSrc":"348259:14:22","nodeType":"YulFunctionCall","src":"348259:14:22"}],"functionName":{"name":"sub","nativeSrc":"348250:3:22","nodeType":"YulIdentifier","src":"348250:3:22"},"nativeSrc":"348250:24:22","nodeType":"YulFunctionCall","src":"348250:24:22"},"variables":[{"name":"shift","nativeSrc":"348241:5:22","nodeType":"YulTypedName","src":"348241:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"348302:3:22","nodeType":"YulIdentifier","src":"348302:3:22"},{"kind":"number","nativeSrc":"348307:4:22","nodeType":"YulLiteral","src":"348307:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"348298:3:22","nodeType":"YulIdentifier","src":"348298:3:22"},"nativeSrc":"348298:14:22","nodeType":"YulFunctionCall","src":"348298:14:22"},{"arguments":[{"name":"shift","nativeSrc":"348318:5:22","nodeType":"YulIdentifier","src":"348318:5:22"},{"arguments":[{"name":"shift","nativeSrc":"348329:5:22","nodeType":"YulIdentifier","src":"348329:5:22"},{"name":"w","nativeSrc":"348336:1:22","nodeType":"YulIdentifier","src":"348336:1:22"}],"functionName":{"name":"shr","nativeSrc":"348325:3:22","nodeType":"YulIdentifier","src":"348325:3:22"},"nativeSrc":"348325:13:22","nodeType":"YulFunctionCall","src":"348325:13:22"}],"functionName":{"name":"shl","nativeSrc":"348314:3:22","nodeType":"YulIdentifier","src":"348314:3:22"},"nativeSrc":"348314:25:22","nodeType":"YulFunctionCall","src":"348314:25:22"}],"functionName":{"name":"mstore","nativeSrc":"348291:6:22","nodeType":"YulIdentifier","src":"348291:6:22"},"nativeSrc":"348291:49:22","nodeType":"YulFunctionCall","src":"348291:49:22"},"nativeSrc":"348291:49:22","nodeType":"YulExpressionStatement","src":"348291:49:22"}]},"name":"writeString","nativeSrc":"348012:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"348033:3:22","nodeType":"YulTypedName","src":"348033:3:22","type":""},{"name":"w","nativeSrc":"348038:1:22","nodeType":"YulTypedName","src":"348038:1:22","type":""}],"src":"348012:342:22"},{"nativeSrc":"348367:17:22","nodeType":"YulAssignment","src":"348367:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348379:4:22","nodeType":"YulLiteral","src":"348379:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"348373:5:22","nodeType":"YulIdentifier","src":"348373:5:22"},"nativeSrc":"348373:11:22","nodeType":"YulFunctionCall","src":"348373:11:22"},"variableNames":[{"name":"m0","nativeSrc":"348367:2:22","nodeType":"YulIdentifier","src":"348367:2:22"}]},{"nativeSrc":"348397:17:22","nodeType":"YulAssignment","src":"348397:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348409:4:22","nodeType":"YulLiteral","src":"348409:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"348403:5:22","nodeType":"YulIdentifier","src":"348403:5:22"},"nativeSrc":"348403:11:22","nodeType":"YulFunctionCall","src":"348403:11:22"},"variableNames":[{"name":"m1","nativeSrc":"348397:2:22","nodeType":"YulIdentifier","src":"348397:2:22"}]},{"nativeSrc":"348427:17:22","nodeType":"YulAssignment","src":"348427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348439:4:22","nodeType":"YulLiteral","src":"348439:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"348433:5:22","nodeType":"YulIdentifier","src":"348433:5:22"},"nativeSrc":"348433:11:22","nodeType":"YulFunctionCall","src":"348433:11:22"},"variableNames":[{"name":"m2","nativeSrc":"348427:2:22","nodeType":"YulIdentifier","src":"348427:2:22"}]},{"nativeSrc":"348457:17:22","nodeType":"YulAssignment","src":"348457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348469:4:22","nodeType":"YulLiteral","src":"348469:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"348463:5:22","nodeType":"YulIdentifier","src":"348463:5:22"},"nativeSrc":"348463:11:22","nodeType":"YulFunctionCall","src":"348463:11:22"},"variableNames":[{"name":"m3","nativeSrc":"348457:2:22","nodeType":"YulIdentifier","src":"348457:2:22"}]},{"nativeSrc":"348487:17:22","nodeType":"YulAssignment","src":"348487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348499:4:22","nodeType":"YulLiteral","src":"348499:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"348493:5:22","nodeType":"YulIdentifier","src":"348493:5:22"},"nativeSrc":"348493:11:22","nodeType":"YulFunctionCall","src":"348493:11:22"},"variableNames":[{"name":"m4","nativeSrc":"348487:2:22","nodeType":"YulIdentifier","src":"348487:2:22"}]},{"nativeSrc":"348517:17:22","nodeType":"YulAssignment","src":"348517:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348529:4:22","nodeType":"YulLiteral","src":"348529:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"348523:5:22","nodeType":"YulIdentifier","src":"348523:5:22"},"nativeSrc":"348523:11:22","nodeType":"YulFunctionCall","src":"348523:11:22"},"variableNames":[{"name":"m5","nativeSrc":"348517:2:22","nodeType":"YulIdentifier","src":"348517:2:22"}]},{"nativeSrc":"348547:17:22","nodeType":"YulAssignment","src":"348547:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348559:4:22","nodeType":"YulLiteral","src":"348559:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"348553:5:22","nodeType":"YulIdentifier","src":"348553:5:22"},"nativeSrc":"348553:11:22","nodeType":"YulFunctionCall","src":"348553:11:22"},"variableNames":[{"name":"m6","nativeSrc":"348547:2:22","nodeType":"YulIdentifier","src":"348547:2:22"}]},{"nativeSrc":"348577:17:22","nodeType":"YulAssignment","src":"348577:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"348589:4:22","nodeType":"YulLiteral","src":"348589:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"348583:5:22","nodeType":"YulIdentifier","src":"348583:5:22"},"nativeSrc":"348583:11:22","nodeType":"YulFunctionCall","src":"348583:11:22"},"variableNames":[{"name":"m7","nativeSrc":"348577:2:22","nodeType":"YulIdentifier","src":"348577:2:22"}]},{"nativeSrc":"348607:18:22","nodeType":"YulAssignment","src":"348607:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"348619:5:22","nodeType":"YulLiteral","src":"348619:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"348613:5:22","nodeType":"YulIdentifier","src":"348613:5:22"},"nativeSrc":"348613:12:22","nodeType":"YulFunctionCall","src":"348613:12:22"},"variableNames":[{"name":"m8","nativeSrc":"348607:2:22","nodeType":"YulIdentifier","src":"348607:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348710:4:22","nodeType":"YulLiteral","src":"348710:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"348716:10:22","nodeType":"YulLiteral","src":"348716:10:22","type":"","value":"0x91d1112e"}],"functionName":{"name":"mstore","nativeSrc":"348703:6:22","nodeType":"YulIdentifier","src":"348703:6:22"},"nativeSrc":"348703:24:22","nodeType":"YulFunctionCall","src":"348703:24:22"},"nativeSrc":"348703:24:22","nodeType":"YulExpressionStatement","src":"348703:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348747:4:22","nodeType":"YulLiteral","src":"348747:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"348753:4:22","nodeType":"YulLiteral","src":"348753:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"348740:6:22","nodeType":"YulIdentifier","src":"348740:6:22"},"nativeSrc":"348740:18:22","nodeType":"YulFunctionCall","src":"348740:18:22"},"nativeSrc":"348740:18:22","nodeType":"YulExpressionStatement","src":"348740:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348778:4:22","nodeType":"YulLiteral","src":"348778:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"348784:2:22","nodeType":"YulIdentifier","src":"348784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"348771:6:22","nodeType":"YulIdentifier","src":"348771:6:22"},"nativeSrc":"348771:16:22","nodeType":"YulFunctionCall","src":"348771:16:22"},"nativeSrc":"348771:16:22","nodeType":"YulExpressionStatement","src":"348771:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348807:4:22","nodeType":"YulLiteral","src":"348807:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"348813:4:22","nodeType":"YulLiteral","src":"348813:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"348800:6:22","nodeType":"YulIdentifier","src":"348800:6:22"},"nativeSrc":"348800:18:22","nodeType":"YulFunctionCall","src":"348800:18:22"},"nativeSrc":"348800:18:22","nodeType":"YulExpressionStatement","src":"348800:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348838:4:22","nodeType":"YulLiteral","src":"348838:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"348844:2:22","nodeType":"YulIdentifier","src":"348844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"348831:6:22","nodeType":"YulIdentifier","src":"348831:6:22"},"nativeSrc":"348831:16:22","nodeType":"YulFunctionCall","src":"348831:16:22"},"nativeSrc":"348831:16:22","nodeType":"YulExpressionStatement","src":"348831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348872:4:22","nodeType":"YulLiteral","src":"348872:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"348878:2:22","nodeType":"YulIdentifier","src":"348878:2:22"}],"functionName":{"name":"writeString","nativeSrc":"348860:11:22","nodeType":"YulIdentifier","src":"348860:11:22"},"nativeSrc":"348860:21:22","nodeType":"YulFunctionCall","src":"348860:21:22"},"nativeSrc":"348860:21:22","nodeType":"YulExpressionStatement","src":"348860:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348906:4:22","nodeType":"YulLiteral","src":"348906:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"348912:2:22","nodeType":"YulIdentifier","src":"348912:2:22"}],"functionName":{"name":"writeString","nativeSrc":"348894:11:22","nodeType":"YulIdentifier","src":"348894:11:22"},"nativeSrc":"348894:21:22","nodeType":"YulFunctionCall","src":"348894:21:22"},"nativeSrc":"348894:21:22","nodeType":"YulExpressionStatement","src":"348894:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42179,"isOffset":false,"isSlot":false,"src":"348367:2:22","valueSize":1},{"declaration":42182,"isOffset":false,"isSlot":false,"src":"348397:2:22","valueSize":1},{"declaration":42185,"isOffset":false,"isSlot":false,"src":"348427:2:22","valueSize":1},{"declaration":42188,"isOffset":false,"isSlot":false,"src":"348457:2:22","valueSize":1},{"declaration":42191,"isOffset":false,"isSlot":false,"src":"348487:2:22","valueSize":1},{"declaration":42194,"isOffset":false,"isSlot":false,"src":"348517:2:22","valueSize":1},{"declaration":42197,"isOffset":false,"isSlot":false,"src":"348547:2:22","valueSize":1},{"declaration":42200,"isOffset":false,"isSlot":false,"src":"348577:2:22","valueSize":1},{"declaration":42203,"isOffset":false,"isSlot":false,"src":"348607:2:22","valueSize":1},{"declaration":42169,"isOffset":false,"isSlot":false,"src":"348878:2:22","valueSize":1},{"declaration":42171,"isOffset":false,"isSlot":false,"src":"348784:2:22","valueSize":1},{"declaration":42173,"isOffset":false,"isSlot":false,"src":"348912:2:22","valueSize":1},{"declaration":42175,"isOffset":false,"isSlot":false,"src":"348844:2:22","valueSize":1}],"id":42205,"nodeType":"InlineAssembly","src":"347989:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348950:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348956:5:22","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":42206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"348934:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"348934:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42210,"nodeType":"ExpressionStatement","src":"348934:28:22"},{"AST":{"nativeSrc":"349024:273:22","nodeType":"YulBlock","src":"349024:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"349045:4:22","nodeType":"YulLiteral","src":"349045:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"349051:2:22","nodeType":"YulIdentifier","src":"349051:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349038:6:22","nodeType":"YulIdentifier","src":"349038:6:22"},"nativeSrc":"349038:16:22","nodeType":"YulFunctionCall","src":"349038:16:22"},"nativeSrc":"349038:16:22","nodeType":"YulExpressionStatement","src":"349038:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349074:4:22","nodeType":"YulLiteral","src":"349074:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"349080:2:22","nodeType":"YulIdentifier","src":"349080:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349067:6:22","nodeType":"YulIdentifier","src":"349067:6:22"},"nativeSrc":"349067:16:22","nodeType":"YulFunctionCall","src":"349067:16:22"},"nativeSrc":"349067:16:22","nodeType":"YulExpressionStatement","src":"349067:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349103:4:22","nodeType":"YulLiteral","src":"349103:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"349109:2:22","nodeType":"YulIdentifier","src":"349109:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349096:6:22","nodeType":"YulIdentifier","src":"349096:6:22"},"nativeSrc":"349096:16:22","nodeType":"YulFunctionCall","src":"349096:16:22"},"nativeSrc":"349096:16:22","nodeType":"YulExpressionStatement","src":"349096:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349132:4:22","nodeType":"YulLiteral","src":"349132:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"349138:2:22","nodeType":"YulIdentifier","src":"349138:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349125:6:22","nodeType":"YulIdentifier","src":"349125:6:22"},"nativeSrc":"349125:16:22","nodeType":"YulFunctionCall","src":"349125:16:22"},"nativeSrc":"349125:16:22","nodeType":"YulExpressionStatement","src":"349125:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349161:4:22","nodeType":"YulLiteral","src":"349161:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"349167:2:22","nodeType":"YulIdentifier","src":"349167:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349154:6:22","nodeType":"YulIdentifier","src":"349154:6:22"},"nativeSrc":"349154:16:22","nodeType":"YulFunctionCall","src":"349154:16:22"},"nativeSrc":"349154:16:22","nodeType":"YulExpressionStatement","src":"349154:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349190:4:22","nodeType":"YulLiteral","src":"349190:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"349196:2:22","nodeType":"YulIdentifier","src":"349196:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349183:6:22","nodeType":"YulIdentifier","src":"349183:6:22"},"nativeSrc":"349183:16:22","nodeType":"YulFunctionCall","src":"349183:16:22"},"nativeSrc":"349183:16:22","nodeType":"YulExpressionStatement","src":"349183:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349219:4:22","nodeType":"YulLiteral","src":"349219:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"349225:2:22","nodeType":"YulIdentifier","src":"349225:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349212:6:22","nodeType":"YulIdentifier","src":"349212:6:22"},"nativeSrc":"349212:16:22","nodeType":"YulFunctionCall","src":"349212:16:22"},"nativeSrc":"349212:16:22","nodeType":"YulExpressionStatement","src":"349212:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349248:4:22","nodeType":"YulLiteral","src":"349248:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"349254:2:22","nodeType":"YulIdentifier","src":"349254:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349241:6:22","nodeType":"YulIdentifier","src":"349241:6:22"},"nativeSrc":"349241:16:22","nodeType":"YulFunctionCall","src":"349241:16:22"},"nativeSrc":"349241:16:22","nodeType":"YulExpressionStatement","src":"349241:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349277:5:22","nodeType":"YulLiteral","src":"349277:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"349284:2:22","nodeType":"YulIdentifier","src":"349284:2:22"}],"functionName":{"name":"mstore","nativeSrc":"349270:6:22","nodeType":"YulIdentifier","src":"349270:6:22"},"nativeSrc":"349270:17:22","nodeType":"YulFunctionCall","src":"349270:17:22"},"nativeSrc":"349270:17:22","nodeType":"YulExpressionStatement","src":"349270:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42179,"isOffset":false,"isSlot":false,"src":"349051:2:22","valueSize":1},{"declaration":42182,"isOffset":false,"isSlot":false,"src":"349080:2:22","valueSize":1},{"declaration":42185,"isOffset":false,"isSlot":false,"src":"349109:2:22","valueSize":1},{"declaration":42188,"isOffset":false,"isSlot":false,"src":"349138:2:22","valueSize":1},{"declaration":42191,"isOffset":false,"isSlot":false,"src":"349167:2:22","valueSize":1},{"declaration":42194,"isOffset":false,"isSlot":false,"src":"349196:2:22","valueSize":1},{"declaration":42197,"isOffset":false,"isSlot":false,"src":"349225:2:22","valueSize":1},{"declaration":42200,"isOffset":false,"isSlot":false,"src":"349254:2:22","valueSize":1},{"declaration":42203,"isOffset":false,"isSlot":false,"src":"349284:2:22","valueSize":1}],"id":42211,"nodeType":"InlineAssembly","src":"349015:282:22"}]},"id":42213,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"347690:3:22","nodeType":"FunctionDefinition","parameters":{"id":42176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42169,"mutability":"mutable","name":"p0","nameLocation":"347702:2:22","nodeType":"VariableDeclaration","scope":42213,"src":"347694:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347694:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42171,"mutability":"mutable","name":"p1","nameLocation":"347714:2:22","nodeType":"VariableDeclaration","scope":42213,"src":"347706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42170,"name":"address","nodeType":"ElementaryTypeName","src":"347706:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42173,"mutability":"mutable","name":"p2","nameLocation":"347726:2:22","nodeType":"VariableDeclaration","scope":42213,"src":"347718:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347718:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42175,"mutability":"mutable","name":"p3","nameLocation":"347738:2:22","nodeType":"VariableDeclaration","scope":42213,"src":"347730:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42174,"name":"uint256","nodeType":"ElementaryTypeName","src":"347730:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"347693:48:22"},"returnParameters":{"id":42177,"nodeType":"ParameterList","parameters":[],"src":"347756:0:22"},"scope":44426,"src":"347681:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42264,"nodeType":"Block","src":"349384:1749:22","statements":[{"assignments":[42225],"declarations":[{"constant":false,"id":42225,"mutability":"mutable","name":"m0","nameLocation":"349402:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349394:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349394:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42226,"nodeType":"VariableDeclarationStatement","src":"349394:10:22"},{"assignments":[42228],"declarations":[{"constant":false,"id":42228,"mutability":"mutable","name":"m1","nameLocation":"349422:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349414:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349414:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42229,"nodeType":"VariableDeclarationStatement","src":"349414:10:22"},{"assignments":[42231],"declarations":[{"constant":false,"id":42231,"mutability":"mutable","name":"m2","nameLocation":"349442:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349434:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349434:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42232,"nodeType":"VariableDeclarationStatement","src":"349434:10:22"},{"assignments":[42234],"declarations":[{"constant":false,"id":42234,"mutability":"mutable","name":"m3","nameLocation":"349462:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349454:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349454:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42235,"nodeType":"VariableDeclarationStatement","src":"349454:10:22"},{"assignments":[42237],"declarations":[{"constant":false,"id":42237,"mutability":"mutable","name":"m4","nameLocation":"349482:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349474:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349474:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42238,"nodeType":"VariableDeclarationStatement","src":"349474:10:22"},{"assignments":[42240],"declarations":[{"constant":false,"id":42240,"mutability":"mutable","name":"m5","nameLocation":"349502:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349494:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349494:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42241,"nodeType":"VariableDeclarationStatement","src":"349494:10:22"},{"assignments":[42243],"declarations":[{"constant":false,"id":42243,"mutability":"mutable","name":"m6","nameLocation":"349522:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349514:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349514:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42244,"nodeType":"VariableDeclarationStatement","src":"349514:10:22"},{"assignments":[42246],"declarations":[{"constant":false,"id":42246,"mutability":"mutable","name":"m7","nameLocation":"349542:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349534:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349534:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42247,"nodeType":"VariableDeclarationStatement","src":"349534:10:22"},{"assignments":[42249],"declarations":[{"constant":false,"id":42249,"mutability":"mutable","name":"m8","nameLocation":"349562:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349554:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349554:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42250,"nodeType":"VariableDeclarationStatement","src":"349554:10:22"},{"assignments":[42252],"declarations":[{"constant":false,"id":42252,"mutability":"mutable","name":"m9","nameLocation":"349582:2:22","nodeType":"VariableDeclaration","scope":42264,"src":"349574:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349574:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42253,"nodeType":"VariableDeclarationStatement","src":"349574:10:22"},{"assignments":[42255],"declarations":[{"constant":false,"id":42255,"mutability":"mutable","name":"m10","nameLocation":"349602:3:22","nodeType":"VariableDeclaration","scope":42264,"src":"349594:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349594:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42256,"nodeType":"VariableDeclarationStatement","src":"349594:11:22"},{"AST":{"nativeSrc":"349667:1027:22","nodeType":"YulBlock","src":"349667:1027:22","statements":[{"body":{"nativeSrc":"349710:313:22","nodeType":"YulBlock","src":"349710:313:22","statements":[{"nativeSrc":"349728:15:22","nodeType":"YulVariableDeclaration","src":"349728:15:22","value":{"kind":"number","nativeSrc":"349742:1:22","nodeType":"YulLiteral","src":"349742:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"349732:6:22","nodeType":"YulTypedName","src":"349732:6:22","type":""}]},{"body":{"nativeSrc":"349813:40:22","nodeType":"YulBlock","src":"349813:40:22","statements":[{"body":{"nativeSrc":"349842:9:22","nodeType":"YulBlock","src":"349842:9:22","statements":[{"nativeSrc":"349844:5:22","nodeType":"YulBreak","src":"349844:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"349830:6:22","nodeType":"YulIdentifier","src":"349830:6:22"},{"name":"w","nativeSrc":"349838:1:22","nodeType":"YulIdentifier","src":"349838:1:22"}],"functionName":{"name":"byte","nativeSrc":"349825:4:22","nodeType":"YulIdentifier","src":"349825:4:22"},"nativeSrc":"349825:15:22","nodeType":"YulFunctionCall","src":"349825:15:22"}],"functionName":{"name":"iszero","nativeSrc":"349818:6:22","nodeType":"YulIdentifier","src":"349818:6:22"},"nativeSrc":"349818:23:22","nodeType":"YulFunctionCall","src":"349818:23:22"},"nativeSrc":"349815:36:22","nodeType":"YulIf","src":"349815:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"349770:6:22","nodeType":"YulIdentifier","src":"349770:6:22"},{"kind":"number","nativeSrc":"349778:4:22","nodeType":"YulLiteral","src":"349778:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"349767:2:22","nodeType":"YulIdentifier","src":"349767:2:22"},"nativeSrc":"349767:16:22","nodeType":"YulFunctionCall","src":"349767:16:22"},"nativeSrc":"349760:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"349784:28:22","nodeType":"YulBlock","src":"349784:28:22","statements":[{"nativeSrc":"349786:24:22","nodeType":"YulAssignment","src":"349786:24:22","value":{"arguments":[{"name":"length","nativeSrc":"349800:6:22","nodeType":"YulIdentifier","src":"349800:6:22"},{"kind":"number","nativeSrc":"349808:1:22","nodeType":"YulLiteral","src":"349808:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"349796:3:22","nodeType":"YulIdentifier","src":"349796:3:22"},"nativeSrc":"349796:14:22","nodeType":"YulFunctionCall","src":"349796:14:22"},"variableNames":[{"name":"length","nativeSrc":"349786:6:22","nodeType":"YulIdentifier","src":"349786:6:22"}]}]},"pre":{"nativeSrc":"349764:2:22","nodeType":"YulBlock","src":"349764:2:22","statements":[]},"src":"349760:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"349877:3:22","nodeType":"YulIdentifier","src":"349877:3:22"},{"name":"length","nativeSrc":"349882:6:22","nodeType":"YulIdentifier","src":"349882:6:22"}],"functionName":{"name":"mstore","nativeSrc":"349870:6:22","nodeType":"YulIdentifier","src":"349870:6:22"},"nativeSrc":"349870:19:22","nodeType":"YulFunctionCall","src":"349870:19:22"},"nativeSrc":"349870:19:22","nodeType":"YulExpressionStatement","src":"349870:19:22"},{"nativeSrc":"349906:37:22","nodeType":"YulVariableDeclaration","src":"349906:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"349923:3:22","nodeType":"YulLiteral","src":"349923:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"349932:1:22","nodeType":"YulLiteral","src":"349932:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"349935:6:22","nodeType":"YulIdentifier","src":"349935:6:22"}],"functionName":{"name":"shl","nativeSrc":"349928:3:22","nodeType":"YulIdentifier","src":"349928:3:22"},"nativeSrc":"349928:14:22","nodeType":"YulFunctionCall","src":"349928:14:22"}],"functionName":{"name":"sub","nativeSrc":"349919:3:22","nodeType":"YulIdentifier","src":"349919:3:22"},"nativeSrc":"349919:24:22","nodeType":"YulFunctionCall","src":"349919:24:22"},"variables":[{"name":"shift","nativeSrc":"349910:5:22","nodeType":"YulTypedName","src":"349910:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"349971:3:22","nodeType":"YulIdentifier","src":"349971:3:22"},{"kind":"number","nativeSrc":"349976:4:22","nodeType":"YulLiteral","src":"349976:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"349967:3:22","nodeType":"YulIdentifier","src":"349967:3:22"},"nativeSrc":"349967:14:22","nodeType":"YulFunctionCall","src":"349967:14:22"},{"arguments":[{"name":"shift","nativeSrc":"349987:5:22","nodeType":"YulIdentifier","src":"349987:5:22"},{"arguments":[{"name":"shift","nativeSrc":"349998:5:22","nodeType":"YulIdentifier","src":"349998:5:22"},{"name":"w","nativeSrc":"350005:1:22","nodeType":"YulIdentifier","src":"350005:1:22"}],"functionName":{"name":"shr","nativeSrc":"349994:3:22","nodeType":"YulIdentifier","src":"349994:3:22"},"nativeSrc":"349994:13:22","nodeType":"YulFunctionCall","src":"349994:13:22"}],"functionName":{"name":"shl","nativeSrc":"349983:3:22","nodeType":"YulIdentifier","src":"349983:3:22"},"nativeSrc":"349983:25:22","nodeType":"YulFunctionCall","src":"349983:25:22"}],"functionName":{"name":"mstore","nativeSrc":"349960:6:22","nodeType":"YulIdentifier","src":"349960:6:22"},"nativeSrc":"349960:49:22","nodeType":"YulFunctionCall","src":"349960:49:22"},"nativeSrc":"349960:49:22","nodeType":"YulExpressionStatement","src":"349960:49:22"}]},"name":"writeString","nativeSrc":"349681:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"349702:3:22","nodeType":"YulTypedName","src":"349702:3:22","type":""},{"name":"w","nativeSrc":"349707:1:22","nodeType":"YulTypedName","src":"349707:1:22","type":""}],"src":"349681:342:22"},{"nativeSrc":"350036:17:22","nodeType":"YulAssignment","src":"350036:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350048:4:22","nodeType":"YulLiteral","src":"350048:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"350042:5:22","nodeType":"YulIdentifier","src":"350042:5:22"},"nativeSrc":"350042:11:22","nodeType":"YulFunctionCall","src":"350042:11:22"},"variableNames":[{"name":"m0","nativeSrc":"350036:2:22","nodeType":"YulIdentifier","src":"350036:2:22"}]},{"nativeSrc":"350066:17:22","nodeType":"YulAssignment","src":"350066:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350078:4:22","nodeType":"YulLiteral","src":"350078:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"350072:5:22","nodeType":"YulIdentifier","src":"350072:5:22"},"nativeSrc":"350072:11:22","nodeType":"YulFunctionCall","src":"350072:11:22"},"variableNames":[{"name":"m1","nativeSrc":"350066:2:22","nodeType":"YulIdentifier","src":"350066:2:22"}]},{"nativeSrc":"350096:17:22","nodeType":"YulAssignment","src":"350096:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350108:4:22","nodeType":"YulLiteral","src":"350108:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"350102:5:22","nodeType":"YulIdentifier","src":"350102:5:22"},"nativeSrc":"350102:11:22","nodeType":"YulFunctionCall","src":"350102:11:22"},"variableNames":[{"name":"m2","nativeSrc":"350096:2:22","nodeType":"YulIdentifier","src":"350096:2:22"}]},{"nativeSrc":"350126:17:22","nodeType":"YulAssignment","src":"350126:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350138:4:22","nodeType":"YulLiteral","src":"350138:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"350132:5:22","nodeType":"YulIdentifier","src":"350132:5:22"},"nativeSrc":"350132:11:22","nodeType":"YulFunctionCall","src":"350132:11:22"},"variableNames":[{"name":"m3","nativeSrc":"350126:2:22","nodeType":"YulIdentifier","src":"350126:2:22"}]},{"nativeSrc":"350156:17:22","nodeType":"YulAssignment","src":"350156:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350168:4:22","nodeType":"YulLiteral","src":"350168:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"350162:5:22","nodeType":"YulIdentifier","src":"350162:5:22"},"nativeSrc":"350162:11:22","nodeType":"YulFunctionCall","src":"350162:11:22"},"variableNames":[{"name":"m4","nativeSrc":"350156:2:22","nodeType":"YulIdentifier","src":"350156:2:22"}]},{"nativeSrc":"350186:17:22","nodeType":"YulAssignment","src":"350186:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350198:4:22","nodeType":"YulLiteral","src":"350198:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"350192:5:22","nodeType":"YulIdentifier","src":"350192:5:22"},"nativeSrc":"350192:11:22","nodeType":"YulFunctionCall","src":"350192:11:22"},"variableNames":[{"name":"m5","nativeSrc":"350186:2:22","nodeType":"YulIdentifier","src":"350186:2:22"}]},{"nativeSrc":"350216:17:22","nodeType":"YulAssignment","src":"350216:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350228:4:22","nodeType":"YulLiteral","src":"350228:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"350222:5:22","nodeType":"YulIdentifier","src":"350222:5:22"},"nativeSrc":"350222:11:22","nodeType":"YulFunctionCall","src":"350222:11:22"},"variableNames":[{"name":"m6","nativeSrc":"350216:2:22","nodeType":"YulIdentifier","src":"350216:2:22"}]},{"nativeSrc":"350246:17:22","nodeType":"YulAssignment","src":"350246:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"350258:4:22","nodeType":"YulLiteral","src":"350258:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"350252:5:22","nodeType":"YulIdentifier","src":"350252:5:22"},"nativeSrc":"350252:11:22","nodeType":"YulFunctionCall","src":"350252:11:22"},"variableNames":[{"name":"m7","nativeSrc":"350246:2:22","nodeType":"YulIdentifier","src":"350246:2:22"}]},{"nativeSrc":"350276:18:22","nodeType":"YulAssignment","src":"350276:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"350288:5:22","nodeType":"YulLiteral","src":"350288:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"350282:5:22","nodeType":"YulIdentifier","src":"350282:5:22"},"nativeSrc":"350282:12:22","nodeType":"YulFunctionCall","src":"350282:12:22"},"variableNames":[{"name":"m8","nativeSrc":"350276:2:22","nodeType":"YulIdentifier","src":"350276:2:22"}]},{"nativeSrc":"350307:18:22","nodeType":"YulAssignment","src":"350307:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"350319:5:22","nodeType":"YulLiteral","src":"350319:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"350313:5:22","nodeType":"YulIdentifier","src":"350313:5:22"},"nativeSrc":"350313:12:22","nodeType":"YulFunctionCall","src":"350313:12:22"},"variableNames":[{"name":"m9","nativeSrc":"350307:2:22","nodeType":"YulIdentifier","src":"350307:2:22"}]},{"nativeSrc":"350338:19:22","nodeType":"YulAssignment","src":"350338:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"350351:5:22","nodeType":"YulLiteral","src":"350351:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"350345:5:22","nodeType":"YulIdentifier","src":"350345:5:22"},"nativeSrc":"350345:12:22","nodeType":"YulFunctionCall","src":"350345:12:22"},"variableNames":[{"name":"m10","nativeSrc":"350338:3:22","nodeType":"YulIdentifier","src":"350338:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350441:4:22","nodeType":"YulLiteral","src":"350441:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"350447:10:22","nodeType":"YulLiteral","src":"350447:10:22","type":"","value":"0x245986f2"}],"functionName":{"name":"mstore","nativeSrc":"350434:6:22","nodeType":"YulIdentifier","src":"350434:6:22"},"nativeSrc":"350434:24:22","nodeType":"YulFunctionCall","src":"350434:24:22"},"nativeSrc":"350434:24:22","nodeType":"YulExpressionStatement","src":"350434:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350478:4:22","nodeType":"YulLiteral","src":"350478:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"350484:4:22","nodeType":"YulLiteral","src":"350484:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"350471:6:22","nodeType":"YulIdentifier","src":"350471:6:22"},"nativeSrc":"350471:18:22","nodeType":"YulFunctionCall","src":"350471:18:22"},"nativeSrc":"350471:18:22","nodeType":"YulExpressionStatement","src":"350471:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350509:4:22","nodeType":"YulLiteral","src":"350509:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"350515:2:22","nodeType":"YulIdentifier","src":"350515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350502:6:22","nodeType":"YulIdentifier","src":"350502:6:22"},"nativeSrc":"350502:16:22","nodeType":"YulFunctionCall","src":"350502:16:22"},"nativeSrc":"350502:16:22","nodeType":"YulExpressionStatement","src":"350502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350538:4:22","nodeType":"YulLiteral","src":"350538:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"350544:4:22","nodeType":"YulLiteral","src":"350544:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"350531:6:22","nodeType":"YulIdentifier","src":"350531:6:22"},"nativeSrc":"350531:18:22","nodeType":"YulFunctionCall","src":"350531:18:22"},"nativeSrc":"350531:18:22","nodeType":"YulExpressionStatement","src":"350531:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350569:4:22","nodeType":"YulLiteral","src":"350569:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"350575:5:22","nodeType":"YulLiteral","src":"350575:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"350562:6:22","nodeType":"YulIdentifier","src":"350562:6:22"},"nativeSrc":"350562:19:22","nodeType":"YulFunctionCall","src":"350562:19:22"},"nativeSrc":"350562:19:22","nodeType":"YulExpressionStatement","src":"350562:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350606:4:22","nodeType":"YulLiteral","src":"350606:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"350612:2:22","nodeType":"YulIdentifier","src":"350612:2:22"}],"functionName":{"name":"writeString","nativeSrc":"350594:11:22","nodeType":"YulIdentifier","src":"350594:11:22"},"nativeSrc":"350594:21:22","nodeType":"YulFunctionCall","src":"350594:21:22"},"nativeSrc":"350594:21:22","nodeType":"YulExpressionStatement","src":"350594:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350640:4:22","nodeType":"YulLiteral","src":"350640:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"350646:2:22","nodeType":"YulIdentifier","src":"350646:2:22"}],"functionName":{"name":"writeString","nativeSrc":"350628:11:22","nodeType":"YulIdentifier","src":"350628:11:22"},"nativeSrc":"350628:21:22","nodeType":"YulFunctionCall","src":"350628:21:22"},"nativeSrc":"350628:21:22","nodeType":"YulExpressionStatement","src":"350628:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350674:5:22","nodeType":"YulLiteral","src":"350674:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"350681:2:22","nodeType":"YulIdentifier","src":"350681:2:22"}],"functionName":{"name":"writeString","nativeSrc":"350662:11:22","nodeType":"YulIdentifier","src":"350662:11:22"},"nativeSrc":"350662:22:22","nodeType":"YulFunctionCall","src":"350662:22:22"},"nativeSrc":"350662:22:22","nodeType":"YulExpressionStatement","src":"350662:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42225,"isOffset":false,"isSlot":false,"src":"350036:2:22","valueSize":1},{"declaration":42228,"isOffset":false,"isSlot":false,"src":"350066:2:22","valueSize":1},{"declaration":42255,"isOffset":false,"isSlot":false,"src":"350338:3:22","valueSize":1},{"declaration":42231,"isOffset":false,"isSlot":false,"src":"350096:2:22","valueSize":1},{"declaration":42234,"isOffset":false,"isSlot":false,"src":"350126:2:22","valueSize":1},{"declaration":42237,"isOffset":false,"isSlot":false,"src":"350156:2:22","valueSize":1},{"declaration":42240,"isOffset":false,"isSlot":false,"src":"350186:2:22","valueSize":1},{"declaration":42243,"isOffset":false,"isSlot":false,"src":"350216:2:22","valueSize":1},{"declaration":42246,"isOffset":false,"isSlot":false,"src":"350246:2:22","valueSize":1},{"declaration":42249,"isOffset":false,"isSlot":false,"src":"350276:2:22","valueSize":1},{"declaration":42252,"isOffset":false,"isSlot":false,"src":"350307:2:22","valueSize":1},{"declaration":42215,"isOffset":false,"isSlot":false,"src":"350612:2:22","valueSize":1},{"declaration":42217,"isOffset":false,"isSlot":false,"src":"350515:2:22","valueSize":1},{"declaration":42219,"isOffset":false,"isSlot":false,"src":"350646:2:22","valueSize":1},{"declaration":42221,"isOffset":false,"isSlot":false,"src":"350681:2:22","valueSize":1}],"id":42257,"nodeType":"InlineAssembly","src":"349658:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350719:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":42260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350725:5:22","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":42258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"350703:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"350703:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42262,"nodeType":"ExpressionStatement","src":"350703:28:22"},{"AST":{"nativeSrc":"350793:334:22","nodeType":"YulBlock","src":"350793:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"350814:4:22","nodeType":"YulLiteral","src":"350814:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"350820:2:22","nodeType":"YulIdentifier","src":"350820:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350807:6:22","nodeType":"YulIdentifier","src":"350807:6:22"},"nativeSrc":"350807:16:22","nodeType":"YulFunctionCall","src":"350807:16:22"},"nativeSrc":"350807:16:22","nodeType":"YulExpressionStatement","src":"350807:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350843:4:22","nodeType":"YulLiteral","src":"350843:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"350849:2:22","nodeType":"YulIdentifier","src":"350849:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350836:6:22","nodeType":"YulIdentifier","src":"350836:6:22"},"nativeSrc":"350836:16:22","nodeType":"YulFunctionCall","src":"350836:16:22"},"nativeSrc":"350836:16:22","nodeType":"YulExpressionStatement","src":"350836:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350872:4:22","nodeType":"YulLiteral","src":"350872:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"350878:2:22","nodeType":"YulIdentifier","src":"350878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350865:6:22","nodeType":"YulIdentifier","src":"350865:6:22"},"nativeSrc":"350865:16:22","nodeType":"YulFunctionCall","src":"350865:16:22"},"nativeSrc":"350865:16:22","nodeType":"YulExpressionStatement","src":"350865:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350901:4:22","nodeType":"YulLiteral","src":"350901:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"350907:2:22","nodeType":"YulIdentifier","src":"350907:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350894:6:22","nodeType":"YulIdentifier","src":"350894:6:22"},"nativeSrc":"350894:16:22","nodeType":"YulFunctionCall","src":"350894:16:22"},"nativeSrc":"350894:16:22","nodeType":"YulExpressionStatement","src":"350894:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350930:4:22","nodeType":"YulLiteral","src":"350930:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"350936:2:22","nodeType":"YulIdentifier","src":"350936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350923:6:22","nodeType":"YulIdentifier","src":"350923:6:22"},"nativeSrc":"350923:16:22","nodeType":"YulFunctionCall","src":"350923:16:22"},"nativeSrc":"350923:16:22","nodeType":"YulExpressionStatement","src":"350923:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350959:4:22","nodeType":"YulLiteral","src":"350959:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"350965:2:22","nodeType":"YulIdentifier","src":"350965:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350952:6:22","nodeType":"YulIdentifier","src":"350952:6:22"},"nativeSrc":"350952:16:22","nodeType":"YulFunctionCall","src":"350952:16:22"},"nativeSrc":"350952:16:22","nodeType":"YulExpressionStatement","src":"350952:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350988:4:22","nodeType":"YulLiteral","src":"350988:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"350994:2:22","nodeType":"YulIdentifier","src":"350994:2:22"}],"functionName":{"name":"mstore","nativeSrc":"350981:6:22","nodeType":"YulIdentifier","src":"350981:6:22"},"nativeSrc":"350981:16:22","nodeType":"YulFunctionCall","src":"350981:16:22"},"nativeSrc":"350981:16:22","nodeType":"YulExpressionStatement","src":"350981:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351017:4:22","nodeType":"YulLiteral","src":"351017:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"351023:2:22","nodeType":"YulIdentifier","src":"351023:2:22"}],"functionName":{"name":"mstore","nativeSrc":"351010:6:22","nodeType":"YulIdentifier","src":"351010:6:22"},"nativeSrc":"351010:16:22","nodeType":"YulFunctionCall","src":"351010:16:22"},"nativeSrc":"351010:16:22","nodeType":"YulExpressionStatement","src":"351010:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351046:5:22","nodeType":"YulLiteral","src":"351046:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"351053:2:22","nodeType":"YulIdentifier","src":"351053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"351039:6:22","nodeType":"YulIdentifier","src":"351039:6:22"},"nativeSrc":"351039:17:22","nodeType":"YulFunctionCall","src":"351039:17:22"},"nativeSrc":"351039:17:22","nodeType":"YulExpressionStatement","src":"351039:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351076:5:22","nodeType":"YulLiteral","src":"351076:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"351083:2:22","nodeType":"YulIdentifier","src":"351083:2:22"}],"functionName":{"name":"mstore","nativeSrc":"351069:6:22","nodeType":"YulIdentifier","src":"351069:6:22"},"nativeSrc":"351069:17:22","nodeType":"YulFunctionCall","src":"351069:17:22"},"nativeSrc":"351069:17:22","nodeType":"YulExpressionStatement","src":"351069:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351106:5:22","nodeType":"YulLiteral","src":"351106:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"351113:3:22","nodeType":"YulIdentifier","src":"351113:3:22"}],"functionName":{"name":"mstore","nativeSrc":"351099:6:22","nodeType":"YulIdentifier","src":"351099:6:22"},"nativeSrc":"351099:18:22","nodeType":"YulFunctionCall","src":"351099:18:22"},"nativeSrc":"351099:18:22","nodeType":"YulExpressionStatement","src":"351099:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42225,"isOffset":false,"isSlot":false,"src":"350820:2:22","valueSize":1},{"declaration":42228,"isOffset":false,"isSlot":false,"src":"350849:2:22","valueSize":1},{"declaration":42255,"isOffset":false,"isSlot":false,"src":"351113:3:22","valueSize":1},{"declaration":42231,"isOffset":false,"isSlot":false,"src":"350878:2:22","valueSize":1},{"declaration":42234,"isOffset":false,"isSlot":false,"src":"350907:2:22","valueSize":1},{"declaration":42237,"isOffset":false,"isSlot":false,"src":"350936:2:22","valueSize":1},{"declaration":42240,"isOffset":false,"isSlot":false,"src":"350965:2:22","valueSize":1},{"declaration":42243,"isOffset":false,"isSlot":false,"src":"350994:2:22","valueSize":1},{"declaration":42246,"isOffset":false,"isSlot":false,"src":"351023:2:22","valueSize":1},{"declaration":42249,"isOffset":false,"isSlot":false,"src":"351053:2:22","valueSize":1},{"declaration":42252,"isOffset":false,"isSlot":false,"src":"351083:2:22","valueSize":1}],"id":42263,"nodeType":"InlineAssembly","src":"350784:343:22"}]},"id":42265,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"349318:3:22","nodeType":"FunctionDefinition","parameters":{"id":42222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42215,"mutability":"mutable","name":"p0","nameLocation":"349330:2:22","nodeType":"VariableDeclaration","scope":42265,"src":"349322:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349322:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42217,"mutability":"mutable","name":"p1","nameLocation":"349342:2:22","nodeType":"VariableDeclaration","scope":42265,"src":"349334:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42216,"name":"address","nodeType":"ElementaryTypeName","src":"349334:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42219,"mutability":"mutable","name":"p2","nameLocation":"349354:2:22","nodeType":"VariableDeclaration","scope":42265,"src":"349346:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349346:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42221,"mutability":"mutable","name":"p3","nameLocation":"349366:2:22","nodeType":"VariableDeclaration","scope":42265,"src":"349358:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349358:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"349321:48:22"},"returnParameters":{"id":42223,"nodeType":"ParameterList","parameters":[],"src":"349384:0:22"},"scope":44426,"src":"349309:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42304,"nodeType":"Block","src":"351211:1348:22","statements":[{"assignments":[42277],"declarations":[{"constant":false,"id":42277,"mutability":"mutable","name":"m0","nameLocation":"351229:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351221:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42278,"nodeType":"VariableDeclarationStatement","src":"351221:10:22"},{"assignments":[42280],"declarations":[{"constant":false,"id":42280,"mutability":"mutable","name":"m1","nameLocation":"351249:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351241:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351241:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42281,"nodeType":"VariableDeclarationStatement","src":"351241:10:22"},{"assignments":[42283],"declarations":[{"constant":false,"id":42283,"mutability":"mutable","name":"m2","nameLocation":"351269:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351261:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351261:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42284,"nodeType":"VariableDeclarationStatement","src":"351261:10:22"},{"assignments":[42286],"declarations":[{"constant":false,"id":42286,"mutability":"mutable","name":"m3","nameLocation":"351289:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351281:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351281:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42287,"nodeType":"VariableDeclarationStatement","src":"351281:10:22"},{"assignments":[42289],"declarations":[{"constant":false,"id":42289,"mutability":"mutable","name":"m4","nameLocation":"351309:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351301:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351301:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42290,"nodeType":"VariableDeclarationStatement","src":"351301:10:22"},{"assignments":[42292],"declarations":[{"constant":false,"id":42292,"mutability":"mutable","name":"m5","nameLocation":"351329:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351321:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351321:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42293,"nodeType":"VariableDeclarationStatement","src":"351321:10:22"},{"assignments":[42295],"declarations":[{"constant":false,"id":42295,"mutability":"mutable","name":"m6","nameLocation":"351349:2:22","nodeType":"VariableDeclaration","scope":42304,"src":"351341:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351341:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42296,"nodeType":"VariableDeclarationStatement","src":"351341:10:22"},{"AST":{"nativeSrc":"351413:828:22","nodeType":"YulBlock","src":"351413:828:22","statements":[{"body":{"nativeSrc":"351456:313:22","nodeType":"YulBlock","src":"351456:313:22","statements":[{"nativeSrc":"351474:15:22","nodeType":"YulVariableDeclaration","src":"351474:15:22","value":{"kind":"number","nativeSrc":"351488:1:22","nodeType":"YulLiteral","src":"351488:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"351478:6:22","nodeType":"YulTypedName","src":"351478:6:22","type":""}]},{"body":{"nativeSrc":"351559:40:22","nodeType":"YulBlock","src":"351559:40:22","statements":[{"body":{"nativeSrc":"351588:9:22","nodeType":"YulBlock","src":"351588:9:22","statements":[{"nativeSrc":"351590:5:22","nodeType":"YulBreak","src":"351590:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"351576:6:22","nodeType":"YulIdentifier","src":"351576:6:22"},{"name":"w","nativeSrc":"351584:1:22","nodeType":"YulIdentifier","src":"351584:1:22"}],"functionName":{"name":"byte","nativeSrc":"351571:4:22","nodeType":"YulIdentifier","src":"351571:4:22"},"nativeSrc":"351571:15:22","nodeType":"YulFunctionCall","src":"351571:15:22"}],"functionName":{"name":"iszero","nativeSrc":"351564:6:22","nodeType":"YulIdentifier","src":"351564:6:22"},"nativeSrc":"351564:23:22","nodeType":"YulFunctionCall","src":"351564:23:22"},"nativeSrc":"351561:36:22","nodeType":"YulIf","src":"351561:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"351516:6:22","nodeType":"YulIdentifier","src":"351516:6:22"},{"kind":"number","nativeSrc":"351524:4:22","nodeType":"YulLiteral","src":"351524:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"351513:2:22","nodeType":"YulIdentifier","src":"351513:2:22"},"nativeSrc":"351513:16:22","nodeType":"YulFunctionCall","src":"351513:16:22"},"nativeSrc":"351506:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"351530:28:22","nodeType":"YulBlock","src":"351530:28:22","statements":[{"nativeSrc":"351532:24:22","nodeType":"YulAssignment","src":"351532:24:22","value":{"arguments":[{"name":"length","nativeSrc":"351546:6:22","nodeType":"YulIdentifier","src":"351546:6:22"},{"kind":"number","nativeSrc":"351554:1:22","nodeType":"YulLiteral","src":"351554:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"351542:3:22","nodeType":"YulIdentifier","src":"351542:3:22"},"nativeSrc":"351542:14:22","nodeType":"YulFunctionCall","src":"351542:14:22"},"variableNames":[{"name":"length","nativeSrc":"351532:6:22","nodeType":"YulIdentifier","src":"351532:6:22"}]}]},"pre":{"nativeSrc":"351510:2:22","nodeType":"YulBlock","src":"351510:2:22","statements":[]},"src":"351506:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"351623:3:22","nodeType":"YulIdentifier","src":"351623:3:22"},{"name":"length","nativeSrc":"351628:6:22","nodeType":"YulIdentifier","src":"351628:6:22"}],"functionName":{"name":"mstore","nativeSrc":"351616:6:22","nodeType":"YulIdentifier","src":"351616:6:22"},"nativeSrc":"351616:19:22","nodeType":"YulFunctionCall","src":"351616:19:22"},"nativeSrc":"351616:19:22","nodeType":"YulExpressionStatement","src":"351616:19:22"},{"nativeSrc":"351652:37:22","nodeType":"YulVariableDeclaration","src":"351652:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"351669:3:22","nodeType":"YulLiteral","src":"351669:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"351678:1:22","nodeType":"YulLiteral","src":"351678:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"351681:6:22","nodeType":"YulIdentifier","src":"351681:6:22"}],"functionName":{"name":"shl","nativeSrc":"351674:3:22","nodeType":"YulIdentifier","src":"351674:3:22"},"nativeSrc":"351674:14:22","nodeType":"YulFunctionCall","src":"351674:14:22"}],"functionName":{"name":"sub","nativeSrc":"351665:3:22","nodeType":"YulIdentifier","src":"351665:3:22"},"nativeSrc":"351665:24:22","nodeType":"YulFunctionCall","src":"351665:24:22"},"variables":[{"name":"shift","nativeSrc":"351656:5:22","nodeType":"YulTypedName","src":"351656:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"351717:3:22","nodeType":"YulIdentifier","src":"351717:3:22"},{"kind":"number","nativeSrc":"351722:4:22","nodeType":"YulLiteral","src":"351722:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"351713:3:22","nodeType":"YulIdentifier","src":"351713:3:22"},"nativeSrc":"351713:14:22","nodeType":"YulFunctionCall","src":"351713:14:22"},{"arguments":[{"name":"shift","nativeSrc":"351733:5:22","nodeType":"YulIdentifier","src":"351733:5:22"},{"arguments":[{"name":"shift","nativeSrc":"351744:5:22","nodeType":"YulIdentifier","src":"351744:5:22"},{"name":"w","nativeSrc":"351751:1:22","nodeType":"YulIdentifier","src":"351751:1:22"}],"functionName":{"name":"shr","nativeSrc":"351740:3:22","nodeType":"YulIdentifier","src":"351740:3:22"},"nativeSrc":"351740:13:22","nodeType":"YulFunctionCall","src":"351740:13:22"}],"functionName":{"name":"shl","nativeSrc":"351729:3:22","nodeType":"YulIdentifier","src":"351729:3:22"},"nativeSrc":"351729:25:22","nodeType":"YulFunctionCall","src":"351729:25:22"}],"functionName":{"name":"mstore","nativeSrc":"351706:6:22","nodeType":"YulIdentifier","src":"351706:6:22"},"nativeSrc":"351706:49:22","nodeType":"YulFunctionCall","src":"351706:49:22"},"nativeSrc":"351706:49:22","nodeType":"YulExpressionStatement","src":"351706:49:22"}]},"name":"writeString","nativeSrc":"351427:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"351448:3:22","nodeType":"YulTypedName","src":"351448:3:22","type":""},{"name":"w","nativeSrc":"351453:1:22","nodeType":"YulTypedName","src":"351453:1:22","type":""}],"src":"351427:342:22"},{"nativeSrc":"351782:17:22","nodeType":"YulAssignment","src":"351782:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351794:4:22","nodeType":"YulLiteral","src":"351794:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"351788:5:22","nodeType":"YulIdentifier","src":"351788:5:22"},"nativeSrc":"351788:11:22","nodeType":"YulFunctionCall","src":"351788:11:22"},"variableNames":[{"name":"m0","nativeSrc":"351782:2:22","nodeType":"YulIdentifier","src":"351782:2:22"}]},{"nativeSrc":"351812:17:22","nodeType":"YulAssignment","src":"351812:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351824:4:22","nodeType":"YulLiteral","src":"351824:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"351818:5:22","nodeType":"YulIdentifier","src":"351818:5:22"},"nativeSrc":"351818:11:22","nodeType":"YulFunctionCall","src":"351818:11:22"},"variableNames":[{"name":"m1","nativeSrc":"351812:2:22","nodeType":"YulIdentifier","src":"351812:2:22"}]},{"nativeSrc":"351842:17:22","nodeType":"YulAssignment","src":"351842:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351854:4:22","nodeType":"YulLiteral","src":"351854:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"351848:5:22","nodeType":"YulIdentifier","src":"351848:5:22"},"nativeSrc":"351848:11:22","nodeType":"YulFunctionCall","src":"351848:11:22"},"variableNames":[{"name":"m2","nativeSrc":"351842:2:22","nodeType":"YulIdentifier","src":"351842:2:22"}]},{"nativeSrc":"351872:17:22","nodeType":"YulAssignment","src":"351872:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351884:4:22","nodeType":"YulLiteral","src":"351884:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"351878:5:22","nodeType":"YulIdentifier","src":"351878:5:22"},"nativeSrc":"351878:11:22","nodeType":"YulFunctionCall","src":"351878:11:22"},"variableNames":[{"name":"m3","nativeSrc":"351872:2:22","nodeType":"YulIdentifier","src":"351872:2:22"}]},{"nativeSrc":"351902:17:22","nodeType":"YulAssignment","src":"351902:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351914:4:22","nodeType":"YulLiteral","src":"351914:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"351908:5:22","nodeType":"YulIdentifier","src":"351908:5:22"},"nativeSrc":"351908:11:22","nodeType":"YulFunctionCall","src":"351908:11:22"},"variableNames":[{"name":"m4","nativeSrc":"351902:2:22","nodeType":"YulIdentifier","src":"351902:2:22"}]},{"nativeSrc":"351932:17:22","nodeType":"YulAssignment","src":"351932:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351944:4:22","nodeType":"YulLiteral","src":"351944:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"351938:5:22","nodeType":"YulIdentifier","src":"351938:5:22"},"nativeSrc":"351938:11:22","nodeType":"YulFunctionCall","src":"351938:11:22"},"variableNames":[{"name":"m5","nativeSrc":"351932:2:22","nodeType":"YulIdentifier","src":"351932:2:22"}]},{"nativeSrc":"351962:17:22","nodeType":"YulAssignment","src":"351962:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"351974:4:22","nodeType":"YulLiteral","src":"351974:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"351968:5:22","nodeType":"YulIdentifier","src":"351968:5:22"},"nativeSrc":"351968:11:22","nodeType":"YulFunctionCall","src":"351968:11:22"},"variableNames":[{"name":"m6","nativeSrc":"351962:2:22","nodeType":"YulIdentifier","src":"351962:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352062:4:22","nodeType":"YulLiteral","src":"352062:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"352068:10:22","nodeType":"YulLiteral","src":"352068:10:22","type":"","value":"0x33e9dd1d"}],"functionName":{"name":"mstore","nativeSrc":"352055:6:22","nodeType":"YulIdentifier","src":"352055:6:22"},"nativeSrc":"352055:24:22","nodeType":"YulFunctionCall","src":"352055:24:22"},"nativeSrc":"352055:24:22","nodeType":"YulExpressionStatement","src":"352055:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352099:4:22","nodeType":"YulLiteral","src":"352099:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"352105:4:22","nodeType":"YulLiteral","src":"352105:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"352092:6:22","nodeType":"YulIdentifier","src":"352092:6:22"},"nativeSrc":"352092:18:22","nodeType":"YulFunctionCall","src":"352092:18:22"},"nativeSrc":"352092:18:22","nodeType":"YulExpressionStatement","src":"352092:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352130:4:22","nodeType":"YulLiteral","src":"352130:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"352136:2:22","nodeType":"YulIdentifier","src":"352136:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352123:6:22","nodeType":"YulIdentifier","src":"352123:6:22"},"nativeSrc":"352123:16:22","nodeType":"YulFunctionCall","src":"352123:16:22"},"nativeSrc":"352123:16:22","nodeType":"YulExpressionStatement","src":"352123:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352159:4:22","nodeType":"YulLiteral","src":"352159:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"352165:2:22","nodeType":"YulIdentifier","src":"352165:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352152:6:22","nodeType":"YulIdentifier","src":"352152:6:22"},"nativeSrc":"352152:16:22","nodeType":"YulFunctionCall","src":"352152:16:22"},"nativeSrc":"352152:16:22","nodeType":"YulExpressionStatement","src":"352152:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352188:4:22","nodeType":"YulLiteral","src":"352188:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"352194:2:22","nodeType":"YulIdentifier","src":"352194:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352181:6:22","nodeType":"YulIdentifier","src":"352181:6:22"},"nativeSrc":"352181:16:22","nodeType":"YulFunctionCall","src":"352181:16:22"},"nativeSrc":"352181:16:22","nodeType":"YulExpressionStatement","src":"352181:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352222:4:22","nodeType":"YulLiteral","src":"352222:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"352228:2:22","nodeType":"YulIdentifier","src":"352228:2:22"}],"functionName":{"name":"writeString","nativeSrc":"352210:11:22","nodeType":"YulIdentifier","src":"352210:11:22"},"nativeSrc":"352210:21:22","nodeType":"YulFunctionCall","src":"352210:21:22"},"nativeSrc":"352210:21:22","nodeType":"YulExpressionStatement","src":"352210:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42277,"isOffset":false,"isSlot":false,"src":"351782:2:22","valueSize":1},{"declaration":42280,"isOffset":false,"isSlot":false,"src":"351812:2:22","valueSize":1},{"declaration":42283,"isOffset":false,"isSlot":false,"src":"351842:2:22","valueSize":1},{"declaration":42286,"isOffset":false,"isSlot":false,"src":"351872:2:22","valueSize":1},{"declaration":42289,"isOffset":false,"isSlot":false,"src":"351902:2:22","valueSize":1},{"declaration":42292,"isOffset":false,"isSlot":false,"src":"351932:2:22","valueSize":1},{"declaration":42295,"isOffset":false,"isSlot":false,"src":"351962:2:22","valueSize":1},{"declaration":42267,"isOffset":false,"isSlot":false,"src":"352228:2:22","valueSize":1},{"declaration":42269,"isOffset":false,"isSlot":false,"src":"352136:2:22","valueSize":1},{"declaration":42271,"isOffset":false,"isSlot":false,"src":"352165:2:22","valueSize":1},{"declaration":42273,"isOffset":false,"isSlot":false,"src":"352194:2:22","valueSize":1}],"id":42297,"nodeType":"InlineAssembly","src":"351404:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352266:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352272:4:22","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":42298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"352250:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"352250:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42302,"nodeType":"ExpressionStatement","src":"352250:27:22"},{"AST":{"nativeSrc":"352339:214:22","nodeType":"YulBlock","src":"352339:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"352360:4:22","nodeType":"YulLiteral","src":"352360:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"352366:2:22","nodeType":"YulIdentifier","src":"352366:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352353:6:22","nodeType":"YulIdentifier","src":"352353:6:22"},"nativeSrc":"352353:16:22","nodeType":"YulFunctionCall","src":"352353:16:22"},"nativeSrc":"352353:16:22","nodeType":"YulExpressionStatement","src":"352353:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352389:4:22","nodeType":"YulLiteral","src":"352389:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"352395:2:22","nodeType":"YulIdentifier","src":"352395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352382:6:22","nodeType":"YulIdentifier","src":"352382:6:22"},"nativeSrc":"352382:16:22","nodeType":"YulFunctionCall","src":"352382:16:22"},"nativeSrc":"352382:16:22","nodeType":"YulExpressionStatement","src":"352382:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352418:4:22","nodeType":"YulLiteral","src":"352418:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"352424:2:22","nodeType":"YulIdentifier","src":"352424:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352411:6:22","nodeType":"YulIdentifier","src":"352411:6:22"},"nativeSrc":"352411:16:22","nodeType":"YulFunctionCall","src":"352411:16:22"},"nativeSrc":"352411:16:22","nodeType":"YulExpressionStatement","src":"352411:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352447:4:22","nodeType":"YulLiteral","src":"352447:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"352453:2:22","nodeType":"YulIdentifier","src":"352453:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352440:6:22","nodeType":"YulIdentifier","src":"352440:6:22"},"nativeSrc":"352440:16:22","nodeType":"YulFunctionCall","src":"352440:16:22"},"nativeSrc":"352440:16:22","nodeType":"YulExpressionStatement","src":"352440:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352476:4:22","nodeType":"YulLiteral","src":"352476:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"352482:2:22","nodeType":"YulIdentifier","src":"352482:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352469:6:22","nodeType":"YulIdentifier","src":"352469:6:22"},"nativeSrc":"352469:16:22","nodeType":"YulFunctionCall","src":"352469:16:22"},"nativeSrc":"352469:16:22","nodeType":"YulExpressionStatement","src":"352469:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352505:4:22","nodeType":"YulLiteral","src":"352505:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"352511:2:22","nodeType":"YulIdentifier","src":"352511:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352498:6:22","nodeType":"YulIdentifier","src":"352498:6:22"},"nativeSrc":"352498:16:22","nodeType":"YulFunctionCall","src":"352498:16:22"},"nativeSrc":"352498:16:22","nodeType":"YulExpressionStatement","src":"352498:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352534:4:22","nodeType":"YulLiteral","src":"352534:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"352540:2:22","nodeType":"YulIdentifier","src":"352540:2:22"}],"functionName":{"name":"mstore","nativeSrc":"352527:6:22","nodeType":"YulIdentifier","src":"352527:6:22"},"nativeSrc":"352527:16:22","nodeType":"YulFunctionCall","src":"352527:16:22"},"nativeSrc":"352527:16:22","nodeType":"YulExpressionStatement","src":"352527:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42277,"isOffset":false,"isSlot":false,"src":"352366:2:22","valueSize":1},{"declaration":42280,"isOffset":false,"isSlot":false,"src":"352395:2:22","valueSize":1},{"declaration":42283,"isOffset":false,"isSlot":false,"src":"352424:2:22","valueSize":1},{"declaration":42286,"isOffset":false,"isSlot":false,"src":"352453:2:22","valueSize":1},{"declaration":42289,"isOffset":false,"isSlot":false,"src":"352482:2:22","valueSize":1},{"declaration":42292,"isOffset":false,"isSlot":false,"src":"352511:2:22","valueSize":1},{"declaration":42295,"isOffset":false,"isSlot":false,"src":"352540:2:22","valueSize":1}],"id":42303,"nodeType":"InlineAssembly","src":"352330:223:22"}]},"id":42305,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"351148:3:22","nodeType":"FunctionDefinition","parameters":{"id":42274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42267,"mutability":"mutable","name":"p0","nameLocation":"351160:2:22","nodeType":"VariableDeclaration","scope":42305,"src":"351152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42269,"mutability":"mutable","name":"p1","nameLocation":"351169:2:22","nodeType":"VariableDeclaration","scope":42305,"src":"351164:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42268,"name":"bool","nodeType":"ElementaryTypeName","src":"351164:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42271,"mutability":"mutable","name":"p2","nameLocation":"351181:2:22","nodeType":"VariableDeclaration","scope":42305,"src":"351173:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42270,"name":"address","nodeType":"ElementaryTypeName","src":"351173:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42273,"mutability":"mutable","name":"p3","nameLocation":"351193:2:22","nodeType":"VariableDeclaration","scope":42305,"src":"351185:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42272,"name":"address","nodeType":"ElementaryTypeName","src":"351185:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"351151:45:22"},"returnParameters":{"id":42275,"nodeType":"ParameterList","parameters":[],"src":"351211:0:22"},"scope":44426,"src":"351139:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42344,"nodeType":"Block","src":"352634:1345:22","statements":[{"assignments":[42317],"declarations":[{"constant":false,"id":42317,"mutability":"mutable","name":"m0","nameLocation":"352652:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352644:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352644:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42318,"nodeType":"VariableDeclarationStatement","src":"352644:10:22"},{"assignments":[42320],"declarations":[{"constant":false,"id":42320,"mutability":"mutable","name":"m1","nameLocation":"352672:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352664:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352664:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42321,"nodeType":"VariableDeclarationStatement","src":"352664:10:22"},{"assignments":[42323],"declarations":[{"constant":false,"id":42323,"mutability":"mutable","name":"m2","nameLocation":"352692:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42324,"nodeType":"VariableDeclarationStatement","src":"352684:10:22"},{"assignments":[42326],"declarations":[{"constant":false,"id":42326,"mutability":"mutable","name":"m3","nameLocation":"352712:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352704:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352704:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42327,"nodeType":"VariableDeclarationStatement","src":"352704:10:22"},{"assignments":[42329],"declarations":[{"constant":false,"id":42329,"mutability":"mutable","name":"m4","nameLocation":"352732:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352724:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352724:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42330,"nodeType":"VariableDeclarationStatement","src":"352724:10:22"},{"assignments":[42332],"declarations":[{"constant":false,"id":42332,"mutability":"mutable","name":"m5","nameLocation":"352752:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352744:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352744:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42333,"nodeType":"VariableDeclarationStatement","src":"352744:10:22"},{"assignments":[42335],"declarations":[{"constant":false,"id":42335,"mutability":"mutable","name":"m6","nameLocation":"352772:2:22","nodeType":"VariableDeclaration","scope":42344,"src":"352764:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352764:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42336,"nodeType":"VariableDeclarationStatement","src":"352764:10:22"},{"AST":{"nativeSrc":"352836:825:22","nodeType":"YulBlock","src":"352836:825:22","statements":[{"body":{"nativeSrc":"352879:313:22","nodeType":"YulBlock","src":"352879:313:22","statements":[{"nativeSrc":"352897:15:22","nodeType":"YulVariableDeclaration","src":"352897:15:22","value":{"kind":"number","nativeSrc":"352911:1:22","nodeType":"YulLiteral","src":"352911:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"352901:6:22","nodeType":"YulTypedName","src":"352901:6:22","type":""}]},{"body":{"nativeSrc":"352982:40:22","nodeType":"YulBlock","src":"352982:40:22","statements":[{"body":{"nativeSrc":"353011:9:22","nodeType":"YulBlock","src":"353011:9:22","statements":[{"nativeSrc":"353013:5:22","nodeType":"YulBreak","src":"353013:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"352999:6:22","nodeType":"YulIdentifier","src":"352999:6:22"},{"name":"w","nativeSrc":"353007:1:22","nodeType":"YulIdentifier","src":"353007:1:22"}],"functionName":{"name":"byte","nativeSrc":"352994:4:22","nodeType":"YulIdentifier","src":"352994:4:22"},"nativeSrc":"352994:15:22","nodeType":"YulFunctionCall","src":"352994:15:22"}],"functionName":{"name":"iszero","nativeSrc":"352987:6:22","nodeType":"YulIdentifier","src":"352987:6:22"},"nativeSrc":"352987:23:22","nodeType":"YulFunctionCall","src":"352987:23:22"},"nativeSrc":"352984:36:22","nodeType":"YulIf","src":"352984:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"352939:6:22","nodeType":"YulIdentifier","src":"352939:6:22"},{"kind":"number","nativeSrc":"352947:4:22","nodeType":"YulLiteral","src":"352947:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"352936:2:22","nodeType":"YulIdentifier","src":"352936:2:22"},"nativeSrc":"352936:16:22","nodeType":"YulFunctionCall","src":"352936:16:22"},"nativeSrc":"352929:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"352953:28:22","nodeType":"YulBlock","src":"352953:28:22","statements":[{"nativeSrc":"352955:24:22","nodeType":"YulAssignment","src":"352955:24:22","value":{"arguments":[{"name":"length","nativeSrc":"352969:6:22","nodeType":"YulIdentifier","src":"352969:6:22"},{"kind":"number","nativeSrc":"352977:1:22","nodeType":"YulLiteral","src":"352977:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"352965:3:22","nodeType":"YulIdentifier","src":"352965:3:22"},"nativeSrc":"352965:14:22","nodeType":"YulFunctionCall","src":"352965:14:22"},"variableNames":[{"name":"length","nativeSrc":"352955:6:22","nodeType":"YulIdentifier","src":"352955:6:22"}]}]},"pre":{"nativeSrc":"352933:2:22","nodeType":"YulBlock","src":"352933:2:22","statements":[]},"src":"352929:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"353046:3:22","nodeType":"YulIdentifier","src":"353046:3:22"},{"name":"length","nativeSrc":"353051:6:22","nodeType":"YulIdentifier","src":"353051:6:22"}],"functionName":{"name":"mstore","nativeSrc":"353039:6:22","nodeType":"YulIdentifier","src":"353039:6:22"},"nativeSrc":"353039:19:22","nodeType":"YulFunctionCall","src":"353039:19:22"},"nativeSrc":"353039:19:22","nodeType":"YulExpressionStatement","src":"353039:19:22"},{"nativeSrc":"353075:37:22","nodeType":"YulVariableDeclaration","src":"353075:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"353092:3:22","nodeType":"YulLiteral","src":"353092:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"353101:1:22","nodeType":"YulLiteral","src":"353101:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"353104:6:22","nodeType":"YulIdentifier","src":"353104:6:22"}],"functionName":{"name":"shl","nativeSrc":"353097:3:22","nodeType":"YulIdentifier","src":"353097:3:22"},"nativeSrc":"353097:14:22","nodeType":"YulFunctionCall","src":"353097:14:22"}],"functionName":{"name":"sub","nativeSrc":"353088:3:22","nodeType":"YulIdentifier","src":"353088:3:22"},"nativeSrc":"353088:24:22","nodeType":"YulFunctionCall","src":"353088:24:22"},"variables":[{"name":"shift","nativeSrc":"353079:5:22","nodeType":"YulTypedName","src":"353079:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"353140:3:22","nodeType":"YulIdentifier","src":"353140:3:22"},{"kind":"number","nativeSrc":"353145:4:22","nodeType":"YulLiteral","src":"353145:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"353136:3:22","nodeType":"YulIdentifier","src":"353136:3:22"},"nativeSrc":"353136:14:22","nodeType":"YulFunctionCall","src":"353136:14:22"},{"arguments":[{"name":"shift","nativeSrc":"353156:5:22","nodeType":"YulIdentifier","src":"353156:5:22"},{"arguments":[{"name":"shift","nativeSrc":"353167:5:22","nodeType":"YulIdentifier","src":"353167:5:22"},{"name":"w","nativeSrc":"353174:1:22","nodeType":"YulIdentifier","src":"353174:1:22"}],"functionName":{"name":"shr","nativeSrc":"353163:3:22","nodeType":"YulIdentifier","src":"353163:3:22"},"nativeSrc":"353163:13:22","nodeType":"YulFunctionCall","src":"353163:13:22"}],"functionName":{"name":"shl","nativeSrc":"353152:3:22","nodeType":"YulIdentifier","src":"353152:3:22"},"nativeSrc":"353152:25:22","nodeType":"YulFunctionCall","src":"353152:25:22"}],"functionName":{"name":"mstore","nativeSrc":"353129:6:22","nodeType":"YulIdentifier","src":"353129:6:22"},"nativeSrc":"353129:49:22","nodeType":"YulFunctionCall","src":"353129:49:22"},"nativeSrc":"353129:49:22","nodeType":"YulExpressionStatement","src":"353129:49:22"}]},"name":"writeString","nativeSrc":"352850:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"352871:3:22","nodeType":"YulTypedName","src":"352871:3:22","type":""},{"name":"w","nativeSrc":"352876:1:22","nodeType":"YulTypedName","src":"352876:1:22","type":""}],"src":"352850:342:22"},{"nativeSrc":"353205:17:22","nodeType":"YulAssignment","src":"353205:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353217:4:22","nodeType":"YulLiteral","src":"353217:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"353211:5:22","nodeType":"YulIdentifier","src":"353211:5:22"},"nativeSrc":"353211:11:22","nodeType":"YulFunctionCall","src":"353211:11:22"},"variableNames":[{"name":"m0","nativeSrc":"353205:2:22","nodeType":"YulIdentifier","src":"353205:2:22"}]},{"nativeSrc":"353235:17:22","nodeType":"YulAssignment","src":"353235:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353247:4:22","nodeType":"YulLiteral","src":"353247:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"353241:5:22","nodeType":"YulIdentifier","src":"353241:5:22"},"nativeSrc":"353241:11:22","nodeType":"YulFunctionCall","src":"353241:11:22"},"variableNames":[{"name":"m1","nativeSrc":"353235:2:22","nodeType":"YulIdentifier","src":"353235:2:22"}]},{"nativeSrc":"353265:17:22","nodeType":"YulAssignment","src":"353265:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353277:4:22","nodeType":"YulLiteral","src":"353277:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"353271:5:22","nodeType":"YulIdentifier","src":"353271:5:22"},"nativeSrc":"353271:11:22","nodeType":"YulFunctionCall","src":"353271:11:22"},"variableNames":[{"name":"m2","nativeSrc":"353265:2:22","nodeType":"YulIdentifier","src":"353265:2:22"}]},{"nativeSrc":"353295:17:22","nodeType":"YulAssignment","src":"353295:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353307:4:22","nodeType":"YulLiteral","src":"353307:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"353301:5:22","nodeType":"YulIdentifier","src":"353301:5:22"},"nativeSrc":"353301:11:22","nodeType":"YulFunctionCall","src":"353301:11:22"},"variableNames":[{"name":"m3","nativeSrc":"353295:2:22","nodeType":"YulIdentifier","src":"353295:2:22"}]},{"nativeSrc":"353325:17:22","nodeType":"YulAssignment","src":"353325:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353337:4:22","nodeType":"YulLiteral","src":"353337:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"353331:5:22","nodeType":"YulIdentifier","src":"353331:5:22"},"nativeSrc":"353331:11:22","nodeType":"YulFunctionCall","src":"353331:11:22"},"variableNames":[{"name":"m4","nativeSrc":"353325:2:22","nodeType":"YulIdentifier","src":"353325:2:22"}]},{"nativeSrc":"353355:17:22","nodeType":"YulAssignment","src":"353355:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353367:4:22","nodeType":"YulLiteral","src":"353367:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"353361:5:22","nodeType":"YulIdentifier","src":"353361:5:22"},"nativeSrc":"353361:11:22","nodeType":"YulFunctionCall","src":"353361:11:22"},"variableNames":[{"name":"m5","nativeSrc":"353355:2:22","nodeType":"YulIdentifier","src":"353355:2:22"}]},{"nativeSrc":"353385:17:22","nodeType":"YulAssignment","src":"353385:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"353397:4:22","nodeType":"YulLiteral","src":"353397:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"353391:5:22","nodeType":"YulIdentifier","src":"353391:5:22"},"nativeSrc":"353391:11:22","nodeType":"YulFunctionCall","src":"353391:11:22"},"variableNames":[{"name":"m6","nativeSrc":"353385:2:22","nodeType":"YulIdentifier","src":"353385:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353482:4:22","nodeType":"YulLiteral","src":"353482:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"353488:10:22","nodeType":"YulLiteral","src":"353488:10:22","type":"","value":"0x958c28c6"}],"functionName":{"name":"mstore","nativeSrc":"353475:6:22","nodeType":"YulIdentifier","src":"353475:6:22"},"nativeSrc":"353475:24:22","nodeType":"YulFunctionCall","src":"353475:24:22"},"nativeSrc":"353475:24:22","nodeType":"YulExpressionStatement","src":"353475:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353519:4:22","nodeType":"YulLiteral","src":"353519:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"353525:4:22","nodeType":"YulLiteral","src":"353525:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"353512:6:22","nodeType":"YulIdentifier","src":"353512:6:22"},"nativeSrc":"353512:18:22","nodeType":"YulFunctionCall","src":"353512:18:22"},"nativeSrc":"353512:18:22","nodeType":"YulExpressionStatement","src":"353512:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353550:4:22","nodeType":"YulLiteral","src":"353550:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"353556:2:22","nodeType":"YulIdentifier","src":"353556:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353543:6:22","nodeType":"YulIdentifier","src":"353543:6:22"},"nativeSrc":"353543:16:22","nodeType":"YulFunctionCall","src":"353543:16:22"},"nativeSrc":"353543:16:22","nodeType":"YulExpressionStatement","src":"353543:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353579:4:22","nodeType":"YulLiteral","src":"353579:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"353585:2:22","nodeType":"YulIdentifier","src":"353585:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353572:6:22","nodeType":"YulIdentifier","src":"353572:6:22"},"nativeSrc":"353572:16:22","nodeType":"YulFunctionCall","src":"353572:16:22"},"nativeSrc":"353572:16:22","nodeType":"YulExpressionStatement","src":"353572:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353608:4:22","nodeType":"YulLiteral","src":"353608:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"353614:2:22","nodeType":"YulIdentifier","src":"353614:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353601:6:22","nodeType":"YulIdentifier","src":"353601:6:22"},"nativeSrc":"353601:16:22","nodeType":"YulFunctionCall","src":"353601:16:22"},"nativeSrc":"353601:16:22","nodeType":"YulExpressionStatement","src":"353601:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353642:4:22","nodeType":"YulLiteral","src":"353642:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"353648:2:22","nodeType":"YulIdentifier","src":"353648:2:22"}],"functionName":{"name":"writeString","nativeSrc":"353630:11:22","nodeType":"YulIdentifier","src":"353630:11:22"},"nativeSrc":"353630:21:22","nodeType":"YulFunctionCall","src":"353630:21:22"},"nativeSrc":"353630:21:22","nodeType":"YulExpressionStatement","src":"353630:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42317,"isOffset":false,"isSlot":false,"src":"353205:2:22","valueSize":1},{"declaration":42320,"isOffset":false,"isSlot":false,"src":"353235:2:22","valueSize":1},{"declaration":42323,"isOffset":false,"isSlot":false,"src":"353265:2:22","valueSize":1},{"declaration":42326,"isOffset":false,"isSlot":false,"src":"353295:2:22","valueSize":1},{"declaration":42329,"isOffset":false,"isSlot":false,"src":"353325:2:22","valueSize":1},{"declaration":42332,"isOffset":false,"isSlot":false,"src":"353355:2:22","valueSize":1},{"declaration":42335,"isOffset":false,"isSlot":false,"src":"353385:2:22","valueSize":1},{"declaration":42307,"isOffset":false,"isSlot":false,"src":"353648:2:22","valueSize":1},{"declaration":42309,"isOffset":false,"isSlot":false,"src":"353556:2:22","valueSize":1},{"declaration":42311,"isOffset":false,"isSlot":false,"src":"353585:2:22","valueSize":1},{"declaration":42313,"isOffset":false,"isSlot":false,"src":"353614:2:22","valueSize":1}],"id":42337,"nodeType":"InlineAssembly","src":"352827:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353686:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353692:4:22","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":42338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"353670:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"353670:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42342,"nodeType":"ExpressionStatement","src":"353670:27:22"},{"AST":{"nativeSrc":"353759:214:22","nodeType":"YulBlock","src":"353759:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"353780:4:22","nodeType":"YulLiteral","src":"353780:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"353786:2:22","nodeType":"YulIdentifier","src":"353786:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353773:6:22","nodeType":"YulIdentifier","src":"353773:6:22"},"nativeSrc":"353773:16:22","nodeType":"YulFunctionCall","src":"353773:16:22"},"nativeSrc":"353773:16:22","nodeType":"YulExpressionStatement","src":"353773:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353809:4:22","nodeType":"YulLiteral","src":"353809:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"353815:2:22","nodeType":"YulIdentifier","src":"353815:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353802:6:22","nodeType":"YulIdentifier","src":"353802:6:22"},"nativeSrc":"353802:16:22","nodeType":"YulFunctionCall","src":"353802:16:22"},"nativeSrc":"353802:16:22","nodeType":"YulExpressionStatement","src":"353802:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353838:4:22","nodeType":"YulLiteral","src":"353838:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"353844:2:22","nodeType":"YulIdentifier","src":"353844:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353831:6:22","nodeType":"YulIdentifier","src":"353831:6:22"},"nativeSrc":"353831:16:22","nodeType":"YulFunctionCall","src":"353831:16:22"},"nativeSrc":"353831:16:22","nodeType":"YulExpressionStatement","src":"353831:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353867:4:22","nodeType":"YulLiteral","src":"353867:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"353873:2:22","nodeType":"YulIdentifier","src":"353873:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353860:6:22","nodeType":"YulIdentifier","src":"353860:6:22"},"nativeSrc":"353860:16:22","nodeType":"YulFunctionCall","src":"353860:16:22"},"nativeSrc":"353860:16:22","nodeType":"YulExpressionStatement","src":"353860:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353896:4:22","nodeType":"YulLiteral","src":"353896:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"353902:2:22","nodeType":"YulIdentifier","src":"353902:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353889:6:22","nodeType":"YulIdentifier","src":"353889:6:22"},"nativeSrc":"353889:16:22","nodeType":"YulFunctionCall","src":"353889:16:22"},"nativeSrc":"353889:16:22","nodeType":"YulExpressionStatement","src":"353889:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353925:4:22","nodeType":"YulLiteral","src":"353925:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"353931:2:22","nodeType":"YulIdentifier","src":"353931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353918:6:22","nodeType":"YulIdentifier","src":"353918:6:22"},"nativeSrc":"353918:16:22","nodeType":"YulFunctionCall","src":"353918:16:22"},"nativeSrc":"353918:16:22","nodeType":"YulExpressionStatement","src":"353918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353954:4:22","nodeType":"YulLiteral","src":"353954:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"353960:2:22","nodeType":"YulIdentifier","src":"353960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"353947:6:22","nodeType":"YulIdentifier","src":"353947:6:22"},"nativeSrc":"353947:16:22","nodeType":"YulFunctionCall","src":"353947:16:22"},"nativeSrc":"353947:16:22","nodeType":"YulExpressionStatement","src":"353947:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42317,"isOffset":false,"isSlot":false,"src":"353786:2:22","valueSize":1},{"declaration":42320,"isOffset":false,"isSlot":false,"src":"353815:2:22","valueSize":1},{"declaration":42323,"isOffset":false,"isSlot":false,"src":"353844:2:22","valueSize":1},{"declaration":42326,"isOffset":false,"isSlot":false,"src":"353873:2:22","valueSize":1},{"declaration":42329,"isOffset":false,"isSlot":false,"src":"353902:2:22","valueSize":1},{"declaration":42332,"isOffset":false,"isSlot":false,"src":"353931:2:22","valueSize":1},{"declaration":42335,"isOffset":false,"isSlot":false,"src":"353960:2:22","valueSize":1}],"id":42343,"nodeType":"InlineAssembly","src":"353750:223:22"}]},"id":42345,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"352574:3:22","nodeType":"FunctionDefinition","parameters":{"id":42314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42307,"mutability":"mutable","name":"p0","nameLocation":"352586:2:22","nodeType":"VariableDeclaration","scope":42345,"src":"352578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42309,"mutability":"mutable","name":"p1","nameLocation":"352595:2:22","nodeType":"VariableDeclaration","scope":42345,"src":"352590:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42308,"name":"bool","nodeType":"ElementaryTypeName","src":"352590:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42311,"mutability":"mutable","name":"p2","nameLocation":"352607:2:22","nodeType":"VariableDeclaration","scope":42345,"src":"352599:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42310,"name":"address","nodeType":"ElementaryTypeName","src":"352599:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42313,"mutability":"mutable","name":"p3","nameLocation":"352616:2:22","nodeType":"VariableDeclaration","scope":42345,"src":"352611:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42312,"name":"bool","nodeType":"ElementaryTypeName","src":"352611:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"352577:42:22"},"returnParameters":{"id":42315,"nodeType":"ParameterList","parameters":[],"src":"352634:0:22"},"scope":44426,"src":"352565:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42384,"nodeType":"Block","src":"354057:1348:22","statements":[{"assignments":[42357],"declarations":[{"constant":false,"id":42357,"mutability":"mutable","name":"m0","nameLocation":"354075:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42358,"nodeType":"VariableDeclarationStatement","src":"354067:10:22"},{"assignments":[42360],"declarations":[{"constant":false,"id":42360,"mutability":"mutable","name":"m1","nameLocation":"354095:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42361,"nodeType":"VariableDeclarationStatement","src":"354087:10:22"},{"assignments":[42363],"declarations":[{"constant":false,"id":42363,"mutability":"mutable","name":"m2","nameLocation":"354115:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42362,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42364,"nodeType":"VariableDeclarationStatement","src":"354107:10:22"},{"assignments":[42366],"declarations":[{"constant":false,"id":42366,"mutability":"mutable","name":"m3","nameLocation":"354135:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354127:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354127:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42367,"nodeType":"VariableDeclarationStatement","src":"354127:10:22"},{"assignments":[42369],"declarations":[{"constant":false,"id":42369,"mutability":"mutable","name":"m4","nameLocation":"354155:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354147:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354147:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42370,"nodeType":"VariableDeclarationStatement","src":"354147:10:22"},{"assignments":[42372],"declarations":[{"constant":false,"id":42372,"mutability":"mutable","name":"m5","nameLocation":"354175:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354167:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354167:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42373,"nodeType":"VariableDeclarationStatement","src":"354167:10:22"},{"assignments":[42375],"declarations":[{"constant":false,"id":42375,"mutability":"mutable","name":"m6","nameLocation":"354195:2:22","nodeType":"VariableDeclaration","scope":42384,"src":"354187:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354187:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42376,"nodeType":"VariableDeclarationStatement","src":"354187:10:22"},{"AST":{"nativeSrc":"354259:828:22","nodeType":"YulBlock","src":"354259:828:22","statements":[{"body":{"nativeSrc":"354302:313:22","nodeType":"YulBlock","src":"354302:313:22","statements":[{"nativeSrc":"354320:15:22","nodeType":"YulVariableDeclaration","src":"354320:15:22","value":{"kind":"number","nativeSrc":"354334:1:22","nodeType":"YulLiteral","src":"354334:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"354324:6:22","nodeType":"YulTypedName","src":"354324:6:22","type":""}]},{"body":{"nativeSrc":"354405:40:22","nodeType":"YulBlock","src":"354405:40:22","statements":[{"body":{"nativeSrc":"354434:9:22","nodeType":"YulBlock","src":"354434:9:22","statements":[{"nativeSrc":"354436:5:22","nodeType":"YulBreak","src":"354436:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"354422:6:22","nodeType":"YulIdentifier","src":"354422:6:22"},{"name":"w","nativeSrc":"354430:1:22","nodeType":"YulIdentifier","src":"354430:1:22"}],"functionName":{"name":"byte","nativeSrc":"354417:4:22","nodeType":"YulIdentifier","src":"354417:4:22"},"nativeSrc":"354417:15:22","nodeType":"YulFunctionCall","src":"354417:15:22"}],"functionName":{"name":"iszero","nativeSrc":"354410:6:22","nodeType":"YulIdentifier","src":"354410:6:22"},"nativeSrc":"354410:23:22","nodeType":"YulFunctionCall","src":"354410:23:22"},"nativeSrc":"354407:36:22","nodeType":"YulIf","src":"354407:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"354362:6:22","nodeType":"YulIdentifier","src":"354362:6:22"},{"kind":"number","nativeSrc":"354370:4:22","nodeType":"YulLiteral","src":"354370:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"354359:2:22","nodeType":"YulIdentifier","src":"354359:2:22"},"nativeSrc":"354359:16:22","nodeType":"YulFunctionCall","src":"354359:16:22"},"nativeSrc":"354352:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"354376:28:22","nodeType":"YulBlock","src":"354376:28:22","statements":[{"nativeSrc":"354378:24:22","nodeType":"YulAssignment","src":"354378:24:22","value":{"arguments":[{"name":"length","nativeSrc":"354392:6:22","nodeType":"YulIdentifier","src":"354392:6:22"},{"kind":"number","nativeSrc":"354400:1:22","nodeType":"YulLiteral","src":"354400:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"354388:3:22","nodeType":"YulIdentifier","src":"354388:3:22"},"nativeSrc":"354388:14:22","nodeType":"YulFunctionCall","src":"354388:14:22"},"variableNames":[{"name":"length","nativeSrc":"354378:6:22","nodeType":"YulIdentifier","src":"354378:6:22"}]}]},"pre":{"nativeSrc":"354356:2:22","nodeType":"YulBlock","src":"354356:2:22","statements":[]},"src":"354352:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"354469:3:22","nodeType":"YulIdentifier","src":"354469:3:22"},{"name":"length","nativeSrc":"354474:6:22","nodeType":"YulIdentifier","src":"354474:6:22"}],"functionName":{"name":"mstore","nativeSrc":"354462:6:22","nodeType":"YulIdentifier","src":"354462:6:22"},"nativeSrc":"354462:19:22","nodeType":"YulFunctionCall","src":"354462:19:22"},"nativeSrc":"354462:19:22","nodeType":"YulExpressionStatement","src":"354462:19:22"},{"nativeSrc":"354498:37:22","nodeType":"YulVariableDeclaration","src":"354498:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"354515:3:22","nodeType":"YulLiteral","src":"354515:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"354524:1:22","nodeType":"YulLiteral","src":"354524:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"354527:6:22","nodeType":"YulIdentifier","src":"354527:6:22"}],"functionName":{"name":"shl","nativeSrc":"354520:3:22","nodeType":"YulIdentifier","src":"354520:3:22"},"nativeSrc":"354520:14:22","nodeType":"YulFunctionCall","src":"354520:14:22"}],"functionName":{"name":"sub","nativeSrc":"354511:3:22","nodeType":"YulIdentifier","src":"354511:3:22"},"nativeSrc":"354511:24:22","nodeType":"YulFunctionCall","src":"354511:24:22"},"variables":[{"name":"shift","nativeSrc":"354502:5:22","nodeType":"YulTypedName","src":"354502:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"354563:3:22","nodeType":"YulIdentifier","src":"354563:3:22"},{"kind":"number","nativeSrc":"354568:4:22","nodeType":"YulLiteral","src":"354568:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"354559:3:22","nodeType":"YulIdentifier","src":"354559:3:22"},"nativeSrc":"354559:14:22","nodeType":"YulFunctionCall","src":"354559:14:22"},{"arguments":[{"name":"shift","nativeSrc":"354579:5:22","nodeType":"YulIdentifier","src":"354579:5:22"},{"arguments":[{"name":"shift","nativeSrc":"354590:5:22","nodeType":"YulIdentifier","src":"354590:5:22"},{"name":"w","nativeSrc":"354597:1:22","nodeType":"YulIdentifier","src":"354597:1:22"}],"functionName":{"name":"shr","nativeSrc":"354586:3:22","nodeType":"YulIdentifier","src":"354586:3:22"},"nativeSrc":"354586:13:22","nodeType":"YulFunctionCall","src":"354586:13:22"}],"functionName":{"name":"shl","nativeSrc":"354575:3:22","nodeType":"YulIdentifier","src":"354575:3:22"},"nativeSrc":"354575:25:22","nodeType":"YulFunctionCall","src":"354575:25:22"}],"functionName":{"name":"mstore","nativeSrc":"354552:6:22","nodeType":"YulIdentifier","src":"354552:6:22"},"nativeSrc":"354552:49:22","nodeType":"YulFunctionCall","src":"354552:49:22"},"nativeSrc":"354552:49:22","nodeType":"YulExpressionStatement","src":"354552:49:22"}]},"name":"writeString","nativeSrc":"354273:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"354294:3:22","nodeType":"YulTypedName","src":"354294:3:22","type":""},{"name":"w","nativeSrc":"354299:1:22","nodeType":"YulTypedName","src":"354299:1:22","type":""}],"src":"354273:342:22"},{"nativeSrc":"354628:17:22","nodeType":"YulAssignment","src":"354628:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354640:4:22","nodeType":"YulLiteral","src":"354640:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"354634:5:22","nodeType":"YulIdentifier","src":"354634:5:22"},"nativeSrc":"354634:11:22","nodeType":"YulFunctionCall","src":"354634:11:22"},"variableNames":[{"name":"m0","nativeSrc":"354628:2:22","nodeType":"YulIdentifier","src":"354628:2:22"}]},{"nativeSrc":"354658:17:22","nodeType":"YulAssignment","src":"354658:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354670:4:22","nodeType":"YulLiteral","src":"354670:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"354664:5:22","nodeType":"YulIdentifier","src":"354664:5:22"},"nativeSrc":"354664:11:22","nodeType":"YulFunctionCall","src":"354664:11:22"},"variableNames":[{"name":"m1","nativeSrc":"354658:2:22","nodeType":"YulIdentifier","src":"354658:2:22"}]},{"nativeSrc":"354688:17:22","nodeType":"YulAssignment","src":"354688:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354700:4:22","nodeType":"YulLiteral","src":"354700:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"354694:5:22","nodeType":"YulIdentifier","src":"354694:5:22"},"nativeSrc":"354694:11:22","nodeType":"YulFunctionCall","src":"354694:11:22"},"variableNames":[{"name":"m2","nativeSrc":"354688:2:22","nodeType":"YulIdentifier","src":"354688:2:22"}]},{"nativeSrc":"354718:17:22","nodeType":"YulAssignment","src":"354718:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354730:4:22","nodeType":"YulLiteral","src":"354730:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"354724:5:22","nodeType":"YulIdentifier","src":"354724:5:22"},"nativeSrc":"354724:11:22","nodeType":"YulFunctionCall","src":"354724:11:22"},"variableNames":[{"name":"m3","nativeSrc":"354718:2:22","nodeType":"YulIdentifier","src":"354718:2:22"}]},{"nativeSrc":"354748:17:22","nodeType":"YulAssignment","src":"354748:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354760:4:22","nodeType":"YulLiteral","src":"354760:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"354754:5:22","nodeType":"YulIdentifier","src":"354754:5:22"},"nativeSrc":"354754:11:22","nodeType":"YulFunctionCall","src":"354754:11:22"},"variableNames":[{"name":"m4","nativeSrc":"354748:2:22","nodeType":"YulIdentifier","src":"354748:2:22"}]},{"nativeSrc":"354778:17:22","nodeType":"YulAssignment","src":"354778:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354790:4:22","nodeType":"YulLiteral","src":"354790:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"354784:5:22","nodeType":"YulIdentifier","src":"354784:5:22"},"nativeSrc":"354784:11:22","nodeType":"YulFunctionCall","src":"354784:11:22"},"variableNames":[{"name":"m5","nativeSrc":"354778:2:22","nodeType":"YulIdentifier","src":"354778:2:22"}]},{"nativeSrc":"354808:17:22","nodeType":"YulAssignment","src":"354808:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"354820:4:22","nodeType":"YulLiteral","src":"354820:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"354814:5:22","nodeType":"YulIdentifier","src":"354814:5:22"},"nativeSrc":"354814:11:22","nodeType":"YulFunctionCall","src":"354814:11:22"},"variableNames":[{"name":"m6","nativeSrc":"354808:2:22","nodeType":"YulIdentifier","src":"354808:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354908:4:22","nodeType":"YulLiteral","src":"354908:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"354914:10:22","nodeType":"YulLiteral","src":"354914:10:22","type":"","value":"0x5d08bb05"}],"functionName":{"name":"mstore","nativeSrc":"354901:6:22","nodeType":"YulIdentifier","src":"354901:6:22"},"nativeSrc":"354901:24:22","nodeType":"YulFunctionCall","src":"354901:24:22"},"nativeSrc":"354901:24:22","nodeType":"YulExpressionStatement","src":"354901:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354945:4:22","nodeType":"YulLiteral","src":"354945:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"354951:4:22","nodeType":"YulLiteral","src":"354951:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"354938:6:22","nodeType":"YulIdentifier","src":"354938:6:22"},"nativeSrc":"354938:18:22","nodeType":"YulFunctionCall","src":"354938:18:22"},"nativeSrc":"354938:18:22","nodeType":"YulExpressionStatement","src":"354938:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354976:4:22","nodeType":"YulLiteral","src":"354976:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"354982:2:22","nodeType":"YulIdentifier","src":"354982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"354969:6:22","nodeType":"YulIdentifier","src":"354969:6:22"},"nativeSrc":"354969:16:22","nodeType":"YulFunctionCall","src":"354969:16:22"},"nativeSrc":"354969:16:22","nodeType":"YulExpressionStatement","src":"354969:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355005:4:22","nodeType":"YulLiteral","src":"355005:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"355011:2:22","nodeType":"YulIdentifier","src":"355011:2:22"}],"functionName":{"name":"mstore","nativeSrc":"354998:6:22","nodeType":"YulIdentifier","src":"354998:6:22"},"nativeSrc":"354998:16:22","nodeType":"YulFunctionCall","src":"354998:16:22"},"nativeSrc":"354998:16:22","nodeType":"YulExpressionStatement","src":"354998:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355034:4:22","nodeType":"YulLiteral","src":"355034:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"355040:2:22","nodeType":"YulIdentifier","src":"355040:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355027:6:22","nodeType":"YulIdentifier","src":"355027:6:22"},"nativeSrc":"355027:16:22","nodeType":"YulFunctionCall","src":"355027:16:22"},"nativeSrc":"355027:16:22","nodeType":"YulExpressionStatement","src":"355027:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355068:4:22","nodeType":"YulLiteral","src":"355068:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"355074:2:22","nodeType":"YulIdentifier","src":"355074:2:22"}],"functionName":{"name":"writeString","nativeSrc":"355056:11:22","nodeType":"YulIdentifier","src":"355056:11:22"},"nativeSrc":"355056:21:22","nodeType":"YulFunctionCall","src":"355056:21:22"},"nativeSrc":"355056:21:22","nodeType":"YulExpressionStatement","src":"355056:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42357,"isOffset":false,"isSlot":false,"src":"354628:2:22","valueSize":1},{"declaration":42360,"isOffset":false,"isSlot":false,"src":"354658:2:22","valueSize":1},{"declaration":42363,"isOffset":false,"isSlot":false,"src":"354688:2:22","valueSize":1},{"declaration":42366,"isOffset":false,"isSlot":false,"src":"354718:2:22","valueSize":1},{"declaration":42369,"isOffset":false,"isSlot":false,"src":"354748:2:22","valueSize":1},{"declaration":42372,"isOffset":false,"isSlot":false,"src":"354778:2:22","valueSize":1},{"declaration":42375,"isOffset":false,"isSlot":false,"src":"354808:2:22","valueSize":1},{"declaration":42347,"isOffset":false,"isSlot":false,"src":"355074:2:22","valueSize":1},{"declaration":42349,"isOffset":false,"isSlot":false,"src":"354982:2:22","valueSize":1},{"declaration":42351,"isOffset":false,"isSlot":false,"src":"355011:2:22","valueSize":1},{"declaration":42353,"isOffset":false,"isSlot":false,"src":"355040:2:22","valueSize":1}],"id":42377,"nodeType":"InlineAssembly","src":"354250:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355112:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355118:4:22","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":42378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"355096:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"355096:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42382,"nodeType":"ExpressionStatement","src":"355096:27:22"},{"AST":{"nativeSrc":"355185:214:22","nodeType":"YulBlock","src":"355185:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"355206:4:22","nodeType":"YulLiteral","src":"355206:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"355212:2:22","nodeType":"YulIdentifier","src":"355212:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355199:6:22","nodeType":"YulIdentifier","src":"355199:6:22"},"nativeSrc":"355199:16:22","nodeType":"YulFunctionCall","src":"355199:16:22"},"nativeSrc":"355199:16:22","nodeType":"YulExpressionStatement","src":"355199:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355235:4:22","nodeType":"YulLiteral","src":"355235:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"355241:2:22","nodeType":"YulIdentifier","src":"355241:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355228:6:22","nodeType":"YulIdentifier","src":"355228:6:22"},"nativeSrc":"355228:16:22","nodeType":"YulFunctionCall","src":"355228:16:22"},"nativeSrc":"355228:16:22","nodeType":"YulExpressionStatement","src":"355228:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355264:4:22","nodeType":"YulLiteral","src":"355264:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"355270:2:22","nodeType":"YulIdentifier","src":"355270:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355257:6:22","nodeType":"YulIdentifier","src":"355257:6:22"},"nativeSrc":"355257:16:22","nodeType":"YulFunctionCall","src":"355257:16:22"},"nativeSrc":"355257:16:22","nodeType":"YulExpressionStatement","src":"355257:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355293:4:22","nodeType":"YulLiteral","src":"355293:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"355299:2:22","nodeType":"YulIdentifier","src":"355299:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355286:6:22","nodeType":"YulIdentifier","src":"355286:6:22"},"nativeSrc":"355286:16:22","nodeType":"YulFunctionCall","src":"355286:16:22"},"nativeSrc":"355286:16:22","nodeType":"YulExpressionStatement","src":"355286:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355322:4:22","nodeType":"YulLiteral","src":"355322:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"355328:2:22","nodeType":"YulIdentifier","src":"355328:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355315:6:22","nodeType":"YulIdentifier","src":"355315:6:22"},"nativeSrc":"355315:16:22","nodeType":"YulFunctionCall","src":"355315:16:22"},"nativeSrc":"355315:16:22","nodeType":"YulExpressionStatement","src":"355315:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355351:4:22","nodeType":"YulLiteral","src":"355351:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"355357:2:22","nodeType":"YulIdentifier","src":"355357:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355344:6:22","nodeType":"YulIdentifier","src":"355344:6:22"},"nativeSrc":"355344:16:22","nodeType":"YulFunctionCall","src":"355344:16:22"},"nativeSrc":"355344:16:22","nodeType":"YulExpressionStatement","src":"355344:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355380:4:22","nodeType":"YulLiteral","src":"355380:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"355386:2:22","nodeType":"YulIdentifier","src":"355386:2:22"}],"functionName":{"name":"mstore","nativeSrc":"355373:6:22","nodeType":"YulIdentifier","src":"355373:6:22"},"nativeSrc":"355373:16:22","nodeType":"YulFunctionCall","src":"355373:16:22"},"nativeSrc":"355373:16:22","nodeType":"YulExpressionStatement","src":"355373:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42357,"isOffset":false,"isSlot":false,"src":"355212:2:22","valueSize":1},{"declaration":42360,"isOffset":false,"isSlot":false,"src":"355241:2:22","valueSize":1},{"declaration":42363,"isOffset":false,"isSlot":false,"src":"355270:2:22","valueSize":1},{"declaration":42366,"isOffset":false,"isSlot":false,"src":"355299:2:22","valueSize":1},{"declaration":42369,"isOffset":false,"isSlot":false,"src":"355328:2:22","valueSize":1},{"declaration":42372,"isOffset":false,"isSlot":false,"src":"355357:2:22","valueSize":1},{"declaration":42375,"isOffset":false,"isSlot":false,"src":"355386:2:22","valueSize":1}],"id":42383,"nodeType":"InlineAssembly","src":"355176:223:22"}]},"id":42385,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"353994:3:22","nodeType":"FunctionDefinition","parameters":{"id":42354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42347,"mutability":"mutable","name":"p0","nameLocation":"354006:2:22","nodeType":"VariableDeclaration","scope":42385,"src":"353998:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"353998:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42349,"mutability":"mutable","name":"p1","nameLocation":"354015:2:22","nodeType":"VariableDeclaration","scope":42385,"src":"354010:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42348,"name":"bool","nodeType":"ElementaryTypeName","src":"354010:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42351,"mutability":"mutable","name":"p2","nameLocation":"354027:2:22","nodeType":"VariableDeclaration","scope":42385,"src":"354019:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42350,"name":"address","nodeType":"ElementaryTypeName","src":"354019:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42353,"mutability":"mutable","name":"p3","nameLocation":"354039:2:22","nodeType":"VariableDeclaration","scope":42385,"src":"354031:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42352,"name":"uint256","nodeType":"ElementaryTypeName","src":"354031:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"353997:45:22"},"returnParameters":{"id":42355,"nodeType":"ParameterList","parameters":[],"src":"354057:0:22"},"scope":44426,"src":"353985:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42430,"nodeType":"Block","src":"355483:1544:22","statements":[{"assignments":[42397],"declarations":[{"constant":false,"id":42397,"mutability":"mutable","name":"m0","nameLocation":"355501:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355493:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355493:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42398,"nodeType":"VariableDeclarationStatement","src":"355493:10:22"},{"assignments":[42400],"declarations":[{"constant":false,"id":42400,"mutability":"mutable","name":"m1","nameLocation":"355521:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355513:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355513:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42401,"nodeType":"VariableDeclarationStatement","src":"355513:10:22"},{"assignments":[42403],"declarations":[{"constant":false,"id":42403,"mutability":"mutable","name":"m2","nameLocation":"355541:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355533:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355533:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42404,"nodeType":"VariableDeclarationStatement","src":"355533:10:22"},{"assignments":[42406],"declarations":[{"constant":false,"id":42406,"mutability":"mutable","name":"m3","nameLocation":"355561:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355553:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355553:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42407,"nodeType":"VariableDeclarationStatement","src":"355553:10:22"},{"assignments":[42409],"declarations":[{"constant":false,"id":42409,"mutability":"mutable","name":"m4","nameLocation":"355581:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355573:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355573:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42410,"nodeType":"VariableDeclarationStatement","src":"355573:10:22"},{"assignments":[42412],"declarations":[{"constant":false,"id":42412,"mutability":"mutable","name":"m5","nameLocation":"355601:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355593:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355593:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42413,"nodeType":"VariableDeclarationStatement","src":"355593:10:22"},{"assignments":[42415],"declarations":[{"constant":false,"id":42415,"mutability":"mutable","name":"m6","nameLocation":"355621:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355613:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355613:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42416,"nodeType":"VariableDeclarationStatement","src":"355613:10:22"},{"assignments":[42418],"declarations":[{"constant":false,"id":42418,"mutability":"mutable","name":"m7","nameLocation":"355641:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355633:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355633:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42419,"nodeType":"VariableDeclarationStatement","src":"355633:10:22"},{"assignments":[42421],"declarations":[{"constant":false,"id":42421,"mutability":"mutable","name":"m8","nameLocation":"355661:2:22","nodeType":"VariableDeclaration","scope":42430,"src":"355653:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355653:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42422,"nodeType":"VariableDeclarationStatement","src":"355653:10:22"},{"AST":{"nativeSrc":"355725:924:22","nodeType":"YulBlock","src":"355725:924:22","statements":[{"body":{"nativeSrc":"355768:313:22","nodeType":"YulBlock","src":"355768:313:22","statements":[{"nativeSrc":"355786:15:22","nodeType":"YulVariableDeclaration","src":"355786:15:22","value":{"kind":"number","nativeSrc":"355800:1:22","nodeType":"YulLiteral","src":"355800:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"355790:6:22","nodeType":"YulTypedName","src":"355790:6:22","type":""}]},{"body":{"nativeSrc":"355871:40:22","nodeType":"YulBlock","src":"355871:40:22","statements":[{"body":{"nativeSrc":"355900:9:22","nodeType":"YulBlock","src":"355900:9:22","statements":[{"nativeSrc":"355902:5:22","nodeType":"YulBreak","src":"355902:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"355888:6:22","nodeType":"YulIdentifier","src":"355888:6:22"},{"name":"w","nativeSrc":"355896:1:22","nodeType":"YulIdentifier","src":"355896:1:22"}],"functionName":{"name":"byte","nativeSrc":"355883:4:22","nodeType":"YulIdentifier","src":"355883:4:22"},"nativeSrc":"355883:15:22","nodeType":"YulFunctionCall","src":"355883:15:22"}],"functionName":{"name":"iszero","nativeSrc":"355876:6:22","nodeType":"YulIdentifier","src":"355876:6:22"},"nativeSrc":"355876:23:22","nodeType":"YulFunctionCall","src":"355876:23:22"},"nativeSrc":"355873:36:22","nodeType":"YulIf","src":"355873:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"355828:6:22","nodeType":"YulIdentifier","src":"355828:6:22"},{"kind":"number","nativeSrc":"355836:4:22","nodeType":"YulLiteral","src":"355836:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"355825:2:22","nodeType":"YulIdentifier","src":"355825:2:22"},"nativeSrc":"355825:16:22","nodeType":"YulFunctionCall","src":"355825:16:22"},"nativeSrc":"355818:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"355842:28:22","nodeType":"YulBlock","src":"355842:28:22","statements":[{"nativeSrc":"355844:24:22","nodeType":"YulAssignment","src":"355844:24:22","value":{"arguments":[{"name":"length","nativeSrc":"355858:6:22","nodeType":"YulIdentifier","src":"355858:6:22"},{"kind":"number","nativeSrc":"355866:1:22","nodeType":"YulLiteral","src":"355866:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"355854:3:22","nodeType":"YulIdentifier","src":"355854:3:22"},"nativeSrc":"355854:14:22","nodeType":"YulFunctionCall","src":"355854:14:22"},"variableNames":[{"name":"length","nativeSrc":"355844:6:22","nodeType":"YulIdentifier","src":"355844:6:22"}]}]},"pre":{"nativeSrc":"355822:2:22","nodeType":"YulBlock","src":"355822:2:22","statements":[]},"src":"355818:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"355935:3:22","nodeType":"YulIdentifier","src":"355935:3:22"},{"name":"length","nativeSrc":"355940:6:22","nodeType":"YulIdentifier","src":"355940:6:22"}],"functionName":{"name":"mstore","nativeSrc":"355928:6:22","nodeType":"YulIdentifier","src":"355928:6:22"},"nativeSrc":"355928:19:22","nodeType":"YulFunctionCall","src":"355928:19:22"},"nativeSrc":"355928:19:22","nodeType":"YulExpressionStatement","src":"355928:19:22"},{"nativeSrc":"355964:37:22","nodeType":"YulVariableDeclaration","src":"355964:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"355981:3:22","nodeType":"YulLiteral","src":"355981:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"355990:1:22","nodeType":"YulLiteral","src":"355990:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"355993:6:22","nodeType":"YulIdentifier","src":"355993:6:22"}],"functionName":{"name":"shl","nativeSrc":"355986:3:22","nodeType":"YulIdentifier","src":"355986:3:22"},"nativeSrc":"355986:14:22","nodeType":"YulFunctionCall","src":"355986:14:22"}],"functionName":{"name":"sub","nativeSrc":"355977:3:22","nodeType":"YulIdentifier","src":"355977:3:22"},"nativeSrc":"355977:24:22","nodeType":"YulFunctionCall","src":"355977:24:22"},"variables":[{"name":"shift","nativeSrc":"355968:5:22","nodeType":"YulTypedName","src":"355968:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"356029:3:22","nodeType":"YulIdentifier","src":"356029:3:22"},{"kind":"number","nativeSrc":"356034:4:22","nodeType":"YulLiteral","src":"356034:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"356025:3:22","nodeType":"YulIdentifier","src":"356025:3:22"},"nativeSrc":"356025:14:22","nodeType":"YulFunctionCall","src":"356025:14:22"},{"arguments":[{"name":"shift","nativeSrc":"356045:5:22","nodeType":"YulIdentifier","src":"356045:5:22"},{"arguments":[{"name":"shift","nativeSrc":"356056:5:22","nodeType":"YulIdentifier","src":"356056:5:22"},{"name":"w","nativeSrc":"356063:1:22","nodeType":"YulIdentifier","src":"356063:1:22"}],"functionName":{"name":"shr","nativeSrc":"356052:3:22","nodeType":"YulIdentifier","src":"356052:3:22"},"nativeSrc":"356052:13:22","nodeType":"YulFunctionCall","src":"356052:13:22"}],"functionName":{"name":"shl","nativeSrc":"356041:3:22","nodeType":"YulIdentifier","src":"356041:3:22"},"nativeSrc":"356041:25:22","nodeType":"YulFunctionCall","src":"356041:25:22"}],"functionName":{"name":"mstore","nativeSrc":"356018:6:22","nodeType":"YulIdentifier","src":"356018:6:22"},"nativeSrc":"356018:49:22","nodeType":"YulFunctionCall","src":"356018:49:22"},"nativeSrc":"356018:49:22","nodeType":"YulExpressionStatement","src":"356018:49:22"}]},"name":"writeString","nativeSrc":"355739:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"355760:3:22","nodeType":"YulTypedName","src":"355760:3:22","type":""},{"name":"w","nativeSrc":"355765:1:22","nodeType":"YulTypedName","src":"355765:1:22","type":""}],"src":"355739:342:22"},{"nativeSrc":"356094:17:22","nodeType":"YulAssignment","src":"356094:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356106:4:22","nodeType":"YulLiteral","src":"356106:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"356100:5:22","nodeType":"YulIdentifier","src":"356100:5:22"},"nativeSrc":"356100:11:22","nodeType":"YulFunctionCall","src":"356100:11:22"},"variableNames":[{"name":"m0","nativeSrc":"356094:2:22","nodeType":"YulIdentifier","src":"356094:2:22"}]},{"nativeSrc":"356124:17:22","nodeType":"YulAssignment","src":"356124:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356136:4:22","nodeType":"YulLiteral","src":"356136:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"356130:5:22","nodeType":"YulIdentifier","src":"356130:5:22"},"nativeSrc":"356130:11:22","nodeType":"YulFunctionCall","src":"356130:11:22"},"variableNames":[{"name":"m1","nativeSrc":"356124:2:22","nodeType":"YulIdentifier","src":"356124:2:22"}]},{"nativeSrc":"356154:17:22","nodeType":"YulAssignment","src":"356154:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356166:4:22","nodeType":"YulLiteral","src":"356166:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"356160:5:22","nodeType":"YulIdentifier","src":"356160:5:22"},"nativeSrc":"356160:11:22","nodeType":"YulFunctionCall","src":"356160:11:22"},"variableNames":[{"name":"m2","nativeSrc":"356154:2:22","nodeType":"YulIdentifier","src":"356154:2:22"}]},{"nativeSrc":"356184:17:22","nodeType":"YulAssignment","src":"356184:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356196:4:22","nodeType":"YulLiteral","src":"356196:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"356190:5:22","nodeType":"YulIdentifier","src":"356190:5:22"},"nativeSrc":"356190:11:22","nodeType":"YulFunctionCall","src":"356190:11:22"},"variableNames":[{"name":"m3","nativeSrc":"356184:2:22","nodeType":"YulIdentifier","src":"356184:2:22"}]},{"nativeSrc":"356214:17:22","nodeType":"YulAssignment","src":"356214:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356226:4:22","nodeType":"YulLiteral","src":"356226:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"356220:5:22","nodeType":"YulIdentifier","src":"356220:5:22"},"nativeSrc":"356220:11:22","nodeType":"YulFunctionCall","src":"356220:11:22"},"variableNames":[{"name":"m4","nativeSrc":"356214:2:22","nodeType":"YulIdentifier","src":"356214:2:22"}]},{"nativeSrc":"356244:17:22","nodeType":"YulAssignment","src":"356244:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356256:4:22","nodeType":"YulLiteral","src":"356256:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"356250:5:22","nodeType":"YulIdentifier","src":"356250:5:22"},"nativeSrc":"356250:11:22","nodeType":"YulFunctionCall","src":"356250:11:22"},"variableNames":[{"name":"m5","nativeSrc":"356244:2:22","nodeType":"YulIdentifier","src":"356244:2:22"}]},{"nativeSrc":"356274:17:22","nodeType":"YulAssignment","src":"356274:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356286:4:22","nodeType":"YulLiteral","src":"356286:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"356280:5:22","nodeType":"YulIdentifier","src":"356280:5:22"},"nativeSrc":"356280:11:22","nodeType":"YulFunctionCall","src":"356280:11:22"},"variableNames":[{"name":"m6","nativeSrc":"356274:2:22","nodeType":"YulIdentifier","src":"356274:2:22"}]},{"nativeSrc":"356304:17:22","nodeType":"YulAssignment","src":"356304:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"356316:4:22","nodeType":"YulLiteral","src":"356316:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"356310:5:22","nodeType":"YulIdentifier","src":"356310:5:22"},"nativeSrc":"356310:11:22","nodeType":"YulFunctionCall","src":"356310:11:22"},"variableNames":[{"name":"m7","nativeSrc":"356304:2:22","nodeType":"YulIdentifier","src":"356304:2:22"}]},{"nativeSrc":"356334:18:22","nodeType":"YulAssignment","src":"356334:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"356346:5:22","nodeType":"YulLiteral","src":"356346:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"356340:5:22","nodeType":"YulIdentifier","src":"356340:5:22"},"nativeSrc":"356340:12:22","nodeType":"YulFunctionCall","src":"356340:12:22"},"variableNames":[{"name":"m8","nativeSrc":"356334:2:22","nodeType":"YulIdentifier","src":"356334:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356434:4:22","nodeType":"YulLiteral","src":"356434:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"356440:10:22","nodeType":"YulLiteral","src":"356440:10:22","type":"","value":"0x2d8e33a4"}],"functionName":{"name":"mstore","nativeSrc":"356427:6:22","nodeType":"YulIdentifier","src":"356427:6:22"},"nativeSrc":"356427:24:22","nodeType":"YulFunctionCall","src":"356427:24:22"},"nativeSrc":"356427:24:22","nodeType":"YulExpressionStatement","src":"356427:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356471:4:22","nodeType":"YulLiteral","src":"356471:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"356477:4:22","nodeType":"YulLiteral","src":"356477:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"356464:6:22","nodeType":"YulIdentifier","src":"356464:6:22"},"nativeSrc":"356464:18:22","nodeType":"YulFunctionCall","src":"356464:18:22"},"nativeSrc":"356464:18:22","nodeType":"YulExpressionStatement","src":"356464:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356502:4:22","nodeType":"YulLiteral","src":"356502:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"356508:2:22","nodeType":"YulIdentifier","src":"356508:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356495:6:22","nodeType":"YulIdentifier","src":"356495:6:22"},"nativeSrc":"356495:16:22","nodeType":"YulFunctionCall","src":"356495:16:22"},"nativeSrc":"356495:16:22","nodeType":"YulExpressionStatement","src":"356495:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356531:4:22","nodeType":"YulLiteral","src":"356531:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"356537:2:22","nodeType":"YulIdentifier","src":"356537:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356524:6:22","nodeType":"YulIdentifier","src":"356524:6:22"},"nativeSrc":"356524:16:22","nodeType":"YulFunctionCall","src":"356524:16:22"},"nativeSrc":"356524:16:22","nodeType":"YulExpressionStatement","src":"356524:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356560:4:22","nodeType":"YulLiteral","src":"356560:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"356566:4:22","nodeType":"YulLiteral","src":"356566:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"356553:6:22","nodeType":"YulIdentifier","src":"356553:6:22"},"nativeSrc":"356553:18:22","nodeType":"YulFunctionCall","src":"356553:18:22"},"nativeSrc":"356553:18:22","nodeType":"YulExpressionStatement","src":"356553:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356596:4:22","nodeType":"YulLiteral","src":"356596:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"356602:2:22","nodeType":"YulIdentifier","src":"356602:2:22"}],"functionName":{"name":"writeString","nativeSrc":"356584:11:22","nodeType":"YulIdentifier","src":"356584:11:22"},"nativeSrc":"356584:21:22","nodeType":"YulFunctionCall","src":"356584:21:22"},"nativeSrc":"356584:21:22","nodeType":"YulExpressionStatement","src":"356584:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356630:4:22","nodeType":"YulLiteral","src":"356630:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"356636:2:22","nodeType":"YulIdentifier","src":"356636:2:22"}],"functionName":{"name":"writeString","nativeSrc":"356618:11:22","nodeType":"YulIdentifier","src":"356618:11:22"},"nativeSrc":"356618:21:22","nodeType":"YulFunctionCall","src":"356618:21:22"},"nativeSrc":"356618:21:22","nodeType":"YulExpressionStatement","src":"356618:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42397,"isOffset":false,"isSlot":false,"src":"356094:2:22","valueSize":1},{"declaration":42400,"isOffset":false,"isSlot":false,"src":"356124:2:22","valueSize":1},{"declaration":42403,"isOffset":false,"isSlot":false,"src":"356154:2:22","valueSize":1},{"declaration":42406,"isOffset":false,"isSlot":false,"src":"356184:2:22","valueSize":1},{"declaration":42409,"isOffset":false,"isSlot":false,"src":"356214:2:22","valueSize":1},{"declaration":42412,"isOffset":false,"isSlot":false,"src":"356244:2:22","valueSize":1},{"declaration":42415,"isOffset":false,"isSlot":false,"src":"356274:2:22","valueSize":1},{"declaration":42418,"isOffset":false,"isSlot":false,"src":"356304:2:22","valueSize":1},{"declaration":42421,"isOffset":false,"isSlot":false,"src":"356334:2:22","valueSize":1},{"declaration":42387,"isOffset":false,"isSlot":false,"src":"356602:2:22","valueSize":1},{"declaration":42389,"isOffset":false,"isSlot":false,"src":"356508:2:22","valueSize":1},{"declaration":42391,"isOffset":false,"isSlot":false,"src":"356537:2:22","valueSize":1},{"declaration":42393,"isOffset":false,"isSlot":false,"src":"356636:2:22","valueSize":1}],"id":42423,"nodeType":"InlineAssembly","src":"355716:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356674:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356680:5:22","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":42424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"356658:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"356658:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42428,"nodeType":"ExpressionStatement","src":"356658:28:22"},{"AST":{"nativeSrc":"356748:273:22","nodeType":"YulBlock","src":"356748:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"356769:4:22","nodeType":"YulLiteral","src":"356769:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"356775:2:22","nodeType":"YulIdentifier","src":"356775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356762:6:22","nodeType":"YulIdentifier","src":"356762:6:22"},"nativeSrc":"356762:16:22","nodeType":"YulFunctionCall","src":"356762:16:22"},"nativeSrc":"356762:16:22","nodeType":"YulExpressionStatement","src":"356762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356798:4:22","nodeType":"YulLiteral","src":"356798:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"356804:2:22","nodeType":"YulIdentifier","src":"356804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356791:6:22","nodeType":"YulIdentifier","src":"356791:6:22"},"nativeSrc":"356791:16:22","nodeType":"YulFunctionCall","src":"356791:16:22"},"nativeSrc":"356791:16:22","nodeType":"YulExpressionStatement","src":"356791:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356827:4:22","nodeType":"YulLiteral","src":"356827:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"356833:2:22","nodeType":"YulIdentifier","src":"356833:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356820:6:22","nodeType":"YulIdentifier","src":"356820:6:22"},"nativeSrc":"356820:16:22","nodeType":"YulFunctionCall","src":"356820:16:22"},"nativeSrc":"356820:16:22","nodeType":"YulExpressionStatement","src":"356820:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356856:4:22","nodeType":"YulLiteral","src":"356856:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"356862:2:22","nodeType":"YulIdentifier","src":"356862:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356849:6:22","nodeType":"YulIdentifier","src":"356849:6:22"},"nativeSrc":"356849:16:22","nodeType":"YulFunctionCall","src":"356849:16:22"},"nativeSrc":"356849:16:22","nodeType":"YulExpressionStatement","src":"356849:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356885:4:22","nodeType":"YulLiteral","src":"356885:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"356891:2:22","nodeType":"YulIdentifier","src":"356891:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356878:6:22","nodeType":"YulIdentifier","src":"356878:6:22"},"nativeSrc":"356878:16:22","nodeType":"YulFunctionCall","src":"356878:16:22"},"nativeSrc":"356878:16:22","nodeType":"YulExpressionStatement","src":"356878:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356914:4:22","nodeType":"YulLiteral","src":"356914:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"356920:2:22","nodeType":"YulIdentifier","src":"356920:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356907:6:22","nodeType":"YulIdentifier","src":"356907:6:22"},"nativeSrc":"356907:16:22","nodeType":"YulFunctionCall","src":"356907:16:22"},"nativeSrc":"356907:16:22","nodeType":"YulExpressionStatement","src":"356907:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356943:4:22","nodeType":"YulLiteral","src":"356943:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"356949:2:22","nodeType":"YulIdentifier","src":"356949:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356936:6:22","nodeType":"YulIdentifier","src":"356936:6:22"},"nativeSrc":"356936:16:22","nodeType":"YulFunctionCall","src":"356936:16:22"},"nativeSrc":"356936:16:22","nodeType":"YulExpressionStatement","src":"356936:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356972:4:22","nodeType":"YulLiteral","src":"356972:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"356978:2:22","nodeType":"YulIdentifier","src":"356978:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356965:6:22","nodeType":"YulIdentifier","src":"356965:6:22"},"nativeSrc":"356965:16:22","nodeType":"YulFunctionCall","src":"356965:16:22"},"nativeSrc":"356965:16:22","nodeType":"YulExpressionStatement","src":"356965:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357001:5:22","nodeType":"YulLiteral","src":"357001:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"357008:2:22","nodeType":"YulIdentifier","src":"357008:2:22"}],"functionName":{"name":"mstore","nativeSrc":"356994:6:22","nodeType":"YulIdentifier","src":"356994:6:22"},"nativeSrc":"356994:17:22","nodeType":"YulFunctionCall","src":"356994:17:22"},"nativeSrc":"356994:17:22","nodeType":"YulExpressionStatement","src":"356994:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42397,"isOffset":false,"isSlot":false,"src":"356775:2:22","valueSize":1},{"declaration":42400,"isOffset":false,"isSlot":false,"src":"356804:2:22","valueSize":1},{"declaration":42403,"isOffset":false,"isSlot":false,"src":"356833:2:22","valueSize":1},{"declaration":42406,"isOffset":false,"isSlot":false,"src":"356862:2:22","valueSize":1},{"declaration":42409,"isOffset":false,"isSlot":false,"src":"356891:2:22","valueSize":1},{"declaration":42412,"isOffset":false,"isSlot":false,"src":"356920:2:22","valueSize":1},{"declaration":42415,"isOffset":false,"isSlot":false,"src":"356949:2:22","valueSize":1},{"declaration":42418,"isOffset":false,"isSlot":false,"src":"356978:2:22","valueSize":1},{"declaration":42421,"isOffset":false,"isSlot":false,"src":"357008:2:22","valueSize":1}],"id":42429,"nodeType":"InlineAssembly","src":"356739:282:22"}]},"id":42431,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"355420:3:22","nodeType":"FunctionDefinition","parameters":{"id":42394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42387,"mutability":"mutable","name":"p0","nameLocation":"355432:2:22","nodeType":"VariableDeclaration","scope":42431,"src":"355424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355424:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42389,"mutability":"mutable","name":"p1","nameLocation":"355441:2:22","nodeType":"VariableDeclaration","scope":42431,"src":"355436:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42388,"name":"bool","nodeType":"ElementaryTypeName","src":"355436:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42391,"mutability":"mutable","name":"p2","nameLocation":"355453:2:22","nodeType":"VariableDeclaration","scope":42431,"src":"355445:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42390,"name":"address","nodeType":"ElementaryTypeName","src":"355445:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42393,"mutability":"mutable","name":"p3","nameLocation":"355465:2:22","nodeType":"VariableDeclaration","scope":42431,"src":"355457:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355457:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"355423:45:22"},"returnParameters":{"id":42395,"nodeType":"ParameterList","parameters":[],"src":"355483:0:22"},"scope":44426,"src":"355411:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42470,"nodeType":"Block","src":"357102:1345:22","statements":[{"assignments":[42443],"declarations":[{"constant":false,"id":42443,"mutability":"mutable","name":"m0","nameLocation":"357120:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357112:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357112:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42444,"nodeType":"VariableDeclarationStatement","src":"357112:10:22"},{"assignments":[42446],"declarations":[{"constant":false,"id":42446,"mutability":"mutable","name":"m1","nameLocation":"357140:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357132:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357132:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42447,"nodeType":"VariableDeclarationStatement","src":"357132:10:22"},{"assignments":[42449],"declarations":[{"constant":false,"id":42449,"mutability":"mutable","name":"m2","nameLocation":"357160:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357152:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357152:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42450,"nodeType":"VariableDeclarationStatement","src":"357152:10:22"},{"assignments":[42452],"declarations":[{"constant":false,"id":42452,"mutability":"mutable","name":"m3","nameLocation":"357180:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357172:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357172:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42453,"nodeType":"VariableDeclarationStatement","src":"357172:10:22"},{"assignments":[42455],"declarations":[{"constant":false,"id":42455,"mutability":"mutable","name":"m4","nameLocation":"357200:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357192:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357192:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42456,"nodeType":"VariableDeclarationStatement","src":"357192:10:22"},{"assignments":[42458],"declarations":[{"constant":false,"id":42458,"mutability":"mutable","name":"m5","nameLocation":"357220:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357212:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357212:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42459,"nodeType":"VariableDeclarationStatement","src":"357212:10:22"},{"assignments":[42461],"declarations":[{"constant":false,"id":42461,"mutability":"mutable","name":"m6","nameLocation":"357240:2:22","nodeType":"VariableDeclaration","scope":42470,"src":"357232:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357232:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42462,"nodeType":"VariableDeclarationStatement","src":"357232:10:22"},{"AST":{"nativeSrc":"357304:825:22","nodeType":"YulBlock","src":"357304:825:22","statements":[{"body":{"nativeSrc":"357347:313:22","nodeType":"YulBlock","src":"357347:313:22","statements":[{"nativeSrc":"357365:15:22","nodeType":"YulVariableDeclaration","src":"357365:15:22","value":{"kind":"number","nativeSrc":"357379:1:22","nodeType":"YulLiteral","src":"357379:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"357369:6:22","nodeType":"YulTypedName","src":"357369:6:22","type":""}]},{"body":{"nativeSrc":"357450:40:22","nodeType":"YulBlock","src":"357450:40:22","statements":[{"body":{"nativeSrc":"357479:9:22","nodeType":"YulBlock","src":"357479:9:22","statements":[{"nativeSrc":"357481:5:22","nodeType":"YulBreak","src":"357481:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"357467:6:22","nodeType":"YulIdentifier","src":"357467:6:22"},{"name":"w","nativeSrc":"357475:1:22","nodeType":"YulIdentifier","src":"357475:1:22"}],"functionName":{"name":"byte","nativeSrc":"357462:4:22","nodeType":"YulIdentifier","src":"357462:4:22"},"nativeSrc":"357462:15:22","nodeType":"YulFunctionCall","src":"357462:15:22"}],"functionName":{"name":"iszero","nativeSrc":"357455:6:22","nodeType":"YulIdentifier","src":"357455:6:22"},"nativeSrc":"357455:23:22","nodeType":"YulFunctionCall","src":"357455:23:22"},"nativeSrc":"357452:36:22","nodeType":"YulIf","src":"357452:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"357407:6:22","nodeType":"YulIdentifier","src":"357407:6:22"},{"kind":"number","nativeSrc":"357415:4:22","nodeType":"YulLiteral","src":"357415:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"357404:2:22","nodeType":"YulIdentifier","src":"357404:2:22"},"nativeSrc":"357404:16:22","nodeType":"YulFunctionCall","src":"357404:16:22"},"nativeSrc":"357397:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"357421:28:22","nodeType":"YulBlock","src":"357421:28:22","statements":[{"nativeSrc":"357423:24:22","nodeType":"YulAssignment","src":"357423:24:22","value":{"arguments":[{"name":"length","nativeSrc":"357437:6:22","nodeType":"YulIdentifier","src":"357437:6:22"},{"kind":"number","nativeSrc":"357445:1:22","nodeType":"YulLiteral","src":"357445:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"357433:3:22","nodeType":"YulIdentifier","src":"357433:3:22"},"nativeSrc":"357433:14:22","nodeType":"YulFunctionCall","src":"357433:14:22"},"variableNames":[{"name":"length","nativeSrc":"357423:6:22","nodeType":"YulIdentifier","src":"357423:6:22"}]}]},"pre":{"nativeSrc":"357401:2:22","nodeType":"YulBlock","src":"357401:2:22","statements":[]},"src":"357397:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"357514:3:22","nodeType":"YulIdentifier","src":"357514:3:22"},{"name":"length","nativeSrc":"357519:6:22","nodeType":"YulIdentifier","src":"357519:6:22"}],"functionName":{"name":"mstore","nativeSrc":"357507:6:22","nodeType":"YulIdentifier","src":"357507:6:22"},"nativeSrc":"357507:19:22","nodeType":"YulFunctionCall","src":"357507:19:22"},"nativeSrc":"357507:19:22","nodeType":"YulExpressionStatement","src":"357507:19:22"},{"nativeSrc":"357543:37:22","nodeType":"YulVariableDeclaration","src":"357543:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"357560:3:22","nodeType":"YulLiteral","src":"357560:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"357569:1:22","nodeType":"YulLiteral","src":"357569:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"357572:6:22","nodeType":"YulIdentifier","src":"357572:6:22"}],"functionName":{"name":"shl","nativeSrc":"357565:3:22","nodeType":"YulIdentifier","src":"357565:3:22"},"nativeSrc":"357565:14:22","nodeType":"YulFunctionCall","src":"357565:14:22"}],"functionName":{"name":"sub","nativeSrc":"357556:3:22","nodeType":"YulIdentifier","src":"357556:3:22"},"nativeSrc":"357556:24:22","nodeType":"YulFunctionCall","src":"357556:24:22"},"variables":[{"name":"shift","nativeSrc":"357547:5:22","nodeType":"YulTypedName","src":"357547:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"357608:3:22","nodeType":"YulIdentifier","src":"357608:3:22"},{"kind":"number","nativeSrc":"357613:4:22","nodeType":"YulLiteral","src":"357613:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"357604:3:22","nodeType":"YulIdentifier","src":"357604:3:22"},"nativeSrc":"357604:14:22","nodeType":"YulFunctionCall","src":"357604:14:22"},{"arguments":[{"name":"shift","nativeSrc":"357624:5:22","nodeType":"YulIdentifier","src":"357624:5:22"},{"arguments":[{"name":"shift","nativeSrc":"357635:5:22","nodeType":"YulIdentifier","src":"357635:5:22"},{"name":"w","nativeSrc":"357642:1:22","nodeType":"YulIdentifier","src":"357642:1:22"}],"functionName":{"name":"shr","nativeSrc":"357631:3:22","nodeType":"YulIdentifier","src":"357631:3:22"},"nativeSrc":"357631:13:22","nodeType":"YulFunctionCall","src":"357631:13:22"}],"functionName":{"name":"shl","nativeSrc":"357620:3:22","nodeType":"YulIdentifier","src":"357620:3:22"},"nativeSrc":"357620:25:22","nodeType":"YulFunctionCall","src":"357620:25:22"}],"functionName":{"name":"mstore","nativeSrc":"357597:6:22","nodeType":"YulIdentifier","src":"357597:6:22"},"nativeSrc":"357597:49:22","nodeType":"YulFunctionCall","src":"357597:49:22"},"nativeSrc":"357597:49:22","nodeType":"YulExpressionStatement","src":"357597:49:22"}]},"name":"writeString","nativeSrc":"357318:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"357339:3:22","nodeType":"YulTypedName","src":"357339:3:22","type":""},{"name":"w","nativeSrc":"357344:1:22","nodeType":"YulTypedName","src":"357344:1:22","type":""}],"src":"357318:342:22"},{"nativeSrc":"357673:17:22","nodeType":"YulAssignment","src":"357673:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357685:4:22","nodeType":"YulLiteral","src":"357685:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"357679:5:22","nodeType":"YulIdentifier","src":"357679:5:22"},"nativeSrc":"357679:11:22","nodeType":"YulFunctionCall","src":"357679:11:22"},"variableNames":[{"name":"m0","nativeSrc":"357673:2:22","nodeType":"YulIdentifier","src":"357673:2:22"}]},{"nativeSrc":"357703:17:22","nodeType":"YulAssignment","src":"357703:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357715:4:22","nodeType":"YulLiteral","src":"357715:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"357709:5:22","nodeType":"YulIdentifier","src":"357709:5:22"},"nativeSrc":"357709:11:22","nodeType":"YulFunctionCall","src":"357709:11:22"},"variableNames":[{"name":"m1","nativeSrc":"357703:2:22","nodeType":"YulIdentifier","src":"357703:2:22"}]},{"nativeSrc":"357733:17:22","nodeType":"YulAssignment","src":"357733:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357745:4:22","nodeType":"YulLiteral","src":"357745:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"357739:5:22","nodeType":"YulIdentifier","src":"357739:5:22"},"nativeSrc":"357739:11:22","nodeType":"YulFunctionCall","src":"357739:11:22"},"variableNames":[{"name":"m2","nativeSrc":"357733:2:22","nodeType":"YulIdentifier","src":"357733:2:22"}]},{"nativeSrc":"357763:17:22","nodeType":"YulAssignment","src":"357763:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357775:4:22","nodeType":"YulLiteral","src":"357775:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"357769:5:22","nodeType":"YulIdentifier","src":"357769:5:22"},"nativeSrc":"357769:11:22","nodeType":"YulFunctionCall","src":"357769:11:22"},"variableNames":[{"name":"m3","nativeSrc":"357763:2:22","nodeType":"YulIdentifier","src":"357763:2:22"}]},{"nativeSrc":"357793:17:22","nodeType":"YulAssignment","src":"357793:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357805:4:22","nodeType":"YulLiteral","src":"357805:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"357799:5:22","nodeType":"YulIdentifier","src":"357799:5:22"},"nativeSrc":"357799:11:22","nodeType":"YulFunctionCall","src":"357799:11:22"},"variableNames":[{"name":"m4","nativeSrc":"357793:2:22","nodeType":"YulIdentifier","src":"357793:2:22"}]},{"nativeSrc":"357823:17:22","nodeType":"YulAssignment","src":"357823:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357835:4:22","nodeType":"YulLiteral","src":"357835:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"357829:5:22","nodeType":"YulIdentifier","src":"357829:5:22"},"nativeSrc":"357829:11:22","nodeType":"YulFunctionCall","src":"357829:11:22"},"variableNames":[{"name":"m5","nativeSrc":"357823:2:22","nodeType":"YulIdentifier","src":"357823:2:22"}]},{"nativeSrc":"357853:17:22","nodeType":"YulAssignment","src":"357853:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"357865:4:22","nodeType":"YulLiteral","src":"357865:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"357859:5:22","nodeType":"YulIdentifier","src":"357859:5:22"},"nativeSrc":"357859:11:22","nodeType":"YulFunctionCall","src":"357859:11:22"},"variableNames":[{"name":"m6","nativeSrc":"357853:2:22","nodeType":"YulIdentifier","src":"357853:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357950:4:22","nodeType":"YulLiteral","src":"357950:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"357956:10:22","nodeType":"YulLiteral","src":"357956:10:22","type":"","value":"0x7190a529"}],"functionName":{"name":"mstore","nativeSrc":"357943:6:22","nodeType":"YulIdentifier","src":"357943:6:22"},"nativeSrc":"357943:24:22","nodeType":"YulFunctionCall","src":"357943:24:22"},"nativeSrc":"357943:24:22","nodeType":"YulExpressionStatement","src":"357943:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357987:4:22","nodeType":"YulLiteral","src":"357987:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"357993:4:22","nodeType":"YulLiteral","src":"357993:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"357980:6:22","nodeType":"YulIdentifier","src":"357980:6:22"},"nativeSrc":"357980:18:22","nodeType":"YulFunctionCall","src":"357980:18:22"},"nativeSrc":"357980:18:22","nodeType":"YulExpressionStatement","src":"357980:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358018:4:22","nodeType":"YulLiteral","src":"358018:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"358024:2:22","nodeType":"YulIdentifier","src":"358024:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358011:6:22","nodeType":"YulIdentifier","src":"358011:6:22"},"nativeSrc":"358011:16:22","nodeType":"YulFunctionCall","src":"358011:16:22"},"nativeSrc":"358011:16:22","nodeType":"YulExpressionStatement","src":"358011:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358047:4:22","nodeType":"YulLiteral","src":"358047:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"358053:2:22","nodeType":"YulIdentifier","src":"358053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358040:6:22","nodeType":"YulIdentifier","src":"358040:6:22"},"nativeSrc":"358040:16:22","nodeType":"YulFunctionCall","src":"358040:16:22"},"nativeSrc":"358040:16:22","nodeType":"YulExpressionStatement","src":"358040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358076:4:22","nodeType":"YulLiteral","src":"358076:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"358082:2:22","nodeType":"YulIdentifier","src":"358082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358069:6:22","nodeType":"YulIdentifier","src":"358069:6:22"},"nativeSrc":"358069:16:22","nodeType":"YulFunctionCall","src":"358069:16:22"},"nativeSrc":"358069:16:22","nodeType":"YulExpressionStatement","src":"358069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358110:4:22","nodeType":"YulLiteral","src":"358110:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"358116:2:22","nodeType":"YulIdentifier","src":"358116:2:22"}],"functionName":{"name":"writeString","nativeSrc":"358098:11:22","nodeType":"YulIdentifier","src":"358098:11:22"},"nativeSrc":"358098:21:22","nodeType":"YulFunctionCall","src":"358098:21:22"},"nativeSrc":"358098:21:22","nodeType":"YulExpressionStatement","src":"358098:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42443,"isOffset":false,"isSlot":false,"src":"357673:2:22","valueSize":1},{"declaration":42446,"isOffset":false,"isSlot":false,"src":"357703:2:22","valueSize":1},{"declaration":42449,"isOffset":false,"isSlot":false,"src":"357733:2:22","valueSize":1},{"declaration":42452,"isOffset":false,"isSlot":false,"src":"357763:2:22","valueSize":1},{"declaration":42455,"isOffset":false,"isSlot":false,"src":"357793:2:22","valueSize":1},{"declaration":42458,"isOffset":false,"isSlot":false,"src":"357823:2:22","valueSize":1},{"declaration":42461,"isOffset":false,"isSlot":false,"src":"357853:2:22","valueSize":1},{"declaration":42433,"isOffset":false,"isSlot":false,"src":"358116:2:22","valueSize":1},{"declaration":42435,"isOffset":false,"isSlot":false,"src":"358024:2:22","valueSize":1},{"declaration":42437,"isOffset":false,"isSlot":false,"src":"358053:2:22","valueSize":1},{"declaration":42439,"isOffset":false,"isSlot":false,"src":"358082:2:22","valueSize":1}],"id":42463,"nodeType":"InlineAssembly","src":"357295:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358154:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358160:4:22","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":42464,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"358138:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"358138:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42468,"nodeType":"ExpressionStatement","src":"358138:27:22"},{"AST":{"nativeSrc":"358227:214:22","nodeType":"YulBlock","src":"358227:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"358248:4:22","nodeType":"YulLiteral","src":"358248:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"358254:2:22","nodeType":"YulIdentifier","src":"358254:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358241:6:22","nodeType":"YulIdentifier","src":"358241:6:22"},"nativeSrc":"358241:16:22","nodeType":"YulFunctionCall","src":"358241:16:22"},"nativeSrc":"358241:16:22","nodeType":"YulExpressionStatement","src":"358241:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358277:4:22","nodeType":"YulLiteral","src":"358277:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"358283:2:22","nodeType":"YulIdentifier","src":"358283:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358270:6:22","nodeType":"YulIdentifier","src":"358270:6:22"},"nativeSrc":"358270:16:22","nodeType":"YulFunctionCall","src":"358270:16:22"},"nativeSrc":"358270:16:22","nodeType":"YulExpressionStatement","src":"358270:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358306:4:22","nodeType":"YulLiteral","src":"358306:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"358312:2:22","nodeType":"YulIdentifier","src":"358312:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358299:6:22","nodeType":"YulIdentifier","src":"358299:6:22"},"nativeSrc":"358299:16:22","nodeType":"YulFunctionCall","src":"358299:16:22"},"nativeSrc":"358299:16:22","nodeType":"YulExpressionStatement","src":"358299:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358335:4:22","nodeType":"YulLiteral","src":"358335:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"358341:2:22","nodeType":"YulIdentifier","src":"358341:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358328:6:22","nodeType":"YulIdentifier","src":"358328:6:22"},"nativeSrc":"358328:16:22","nodeType":"YulFunctionCall","src":"358328:16:22"},"nativeSrc":"358328:16:22","nodeType":"YulExpressionStatement","src":"358328:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358364:4:22","nodeType":"YulLiteral","src":"358364:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"358370:2:22","nodeType":"YulIdentifier","src":"358370:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358357:6:22","nodeType":"YulIdentifier","src":"358357:6:22"},"nativeSrc":"358357:16:22","nodeType":"YulFunctionCall","src":"358357:16:22"},"nativeSrc":"358357:16:22","nodeType":"YulExpressionStatement","src":"358357:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358393:4:22","nodeType":"YulLiteral","src":"358393:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"358399:2:22","nodeType":"YulIdentifier","src":"358399:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358386:6:22","nodeType":"YulIdentifier","src":"358386:6:22"},"nativeSrc":"358386:16:22","nodeType":"YulFunctionCall","src":"358386:16:22"},"nativeSrc":"358386:16:22","nodeType":"YulExpressionStatement","src":"358386:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358422:4:22","nodeType":"YulLiteral","src":"358422:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"358428:2:22","nodeType":"YulIdentifier","src":"358428:2:22"}],"functionName":{"name":"mstore","nativeSrc":"358415:6:22","nodeType":"YulIdentifier","src":"358415:6:22"},"nativeSrc":"358415:16:22","nodeType":"YulFunctionCall","src":"358415:16:22"},"nativeSrc":"358415:16:22","nodeType":"YulExpressionStatement","src":"358415:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42443,"isOffset":false,"isSlot":false,"src":"358254:2:22","valueSize":1},{"declaration":42446,"isOffset":false,"isSlot":false,"src":"358283:2:22","valueSize":1},{"declaration":42449,"isOffset":false,"isSlot":false,"src":"358312:2:22","valueSize":1},{"declaration":42452,"isOffset":false,"isSlot":false,"src":"358341:2:22","valueSize":1},{"declaration":42455,"isOffset":false,"isSlot":false,"src":"358370:2:22","valueSize":1},{"declaration":42458,"isOffset":false,"isSlot":false,"src":"358399:2:22","valueSize":1},{"declaration":42461,"isOffset":false,"isSlot":false,"src":"358428:2:22","valueSize":1}],"id":42469,"nodeType":"InlineAssembly","src":"358218:223:22"}]},"id":42471,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"357042:3:22","nodeType":"FunctionDefinition","parameters":{"id":42440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42433,"mutability":"mutable","name":"p0","nameLocation":"357054:2:22","nodeType":"VariableDeclaration","scope":42471,"src":"357046:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357046:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42435,"mutability":"mutable","name":"p1","nameLocation":"357063:2:22","nodeType":"VariableDeclaration","scope":42471,"src":"357058:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42434,"name":"bool","nodeType":"ElementaryTypeName","src":"357058:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42437,"mutability":"mutable","name":"p2","nameLocation":"357072:2:22","nodeType":"VariableDeclaration","scope":42471,"src":"357067:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42436,"name":"bool","nodeType":"ElementaryTypeName","src":"357067:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42439,"mutability":"mutable","name":"p3","nameLocation":"357084:2:22","nodeType":"VariableDeclaration","scope":42471,"src":"357076:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42438,"name":"address","nodeType":"ElementaryTypeName","src":"357076:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"357045:42:22"},"returnParameters":{"id":42441,"nodeType":"ParameterList","parameters":[],"src":"357102:0:22"},"scope":44426,"src":"357033:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42510,"nodeType":"Block","src":"358519:1342:22","statements":[{"assignments":[42483],"declarations":[{"constant":false,"id":42483,"mutability":"mutable","name":"m0","nameLocation":"358537:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358529:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358529:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42484,"nodeType":"VariableDeclarationStatement","src":"358529:10:22"},{"assignments":[42486],"declarations":[{"constant":false,"id":42486,"mutability":"mutable","name":"m1","nameLocation":"358557:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358549:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358549:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42487,"nodeType":"VariableDeclarationStatement","src":"358549:10:22"},{"assignments":[42489],"declarations":[{"constant":false,"id":42489,"mutability":"mutable","name":"m2","nameLocation":"358577:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358569:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358569:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42490,"nodeType":"VariableDeclarationStatement","src":"358569:10:22"},{"assignments":[42492],"declarations":[{"constant":false,"id":42492,"mutability":"mutable","name":"m3","nameLocation":"358597:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358589:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358589:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42493,"nodeType":"VariableDeclarationStatement","src":"358589:10:22"},{"assignments":[42495],"declarations":[{"constant":false,"id":42495,"mutability":"mutable","name":"m4","nameLocation":"358617:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358609:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358609:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42496,"nodeType":"VariableDeclarationStatement","src":"358609:10:22"},{"assignments":[42498],"declarations":[{"constant":false,"id":42498,"mutability":"mutable","name":"m5","nameLocation":"358637:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358629:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42499,"nodeType":"VariableDeclarationStatement","src":"358629:10:22"},{"assignments":[42501],"declarations":[{"constant":false,"id":42501,"mutability":"mutable","name":"m6","nameLocation":"358657:2:22","nodeType":"VariableDeclaration","scope":42510,"src":"358649:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358649:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42502,"nodeType":"VariableDeclarationStatement","src":"358649:10:22"},{"AST":{"nativeSrc":"358721:822:22","nodeType":"YulBlock","src":"358721:822:22","statements":[{"body":{"nativeSrc":"358764:313:22","nodeType":"YulBlock","src":"358764:313:22","statements":[{"nativeSrc":"358782:15:22","nodeType":"YulVariableDeclaration","src":"358782:15:22","value":{"kind":"number","nativeSrc":"358796:1:22","nodeType":"YulLiteral","src":"358796:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"358786:6:22","nodeType":"YulTypedName","src":"358786:6:22","type":""}]},{"body":{"nativeSrc":"358867:40:22","nodeType":"YulBlock","src":"358867:40:22","statements":[{"body":{"nativeSrc":"358896:9:22","nodeType":"YulBlock","src":"358896:9:22","statements":[{"nativeSrc":"358898:5:22","nodeType":"YulBreak","src":"358898:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"358884:6:22","nodeType":"YulIdentifier","src":"358884:6:22"},{"name":"w","nativeSrc":"358892:1:22","nodeType":"YulIdentifier","src":"358892:1:22"}],"functionName":{"name":"byte","nativeSrc":"358879:4:22","nodeType":"YulIdentifier","src":"358879:4:22"},"nativeSrc":"358879:15:22","nodeType":"YulFunctionCall","src":"358879:15:22"}],"functionName":{"name":"iszero","nativeSrc":"358872:6:22","nodeType":"YulIdentifier","src":"358872:6:22"},"nativeSrc":"358872:23:22","nodeType":"YulFunctionCall","src":"358872:23:22"},"nativeSrc":"358869:36:22","nodeType":"YulIf","src":"358869:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"358824:6:22","nodeType":"YulIdentifier","src":"358824:6:22"},{"kind":"number","nativeSrc":"358832:4:22","nodeType":"YulLiteral","src":"358832:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"358821:2:22","nodeType":"YulIdentifier","src":"358821:2:22"},"nativeSrc":"358821:16:22","nodeType":"YulFunctionCall","src":"358821:16:22"},"nativeSrc":"358814:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"358838:28:22","nodeType":"YulBlock","src":"358838:28:22","statements":[{"nativeSrc":"358840:24:22","nodeType":"YulAssignment","src":"358840:24:22","value":{"arguments":[{"name":"length","nativeSrc":"358854:6:22","nodeType":"YulIdentifier","src":"358854:6:22"},{"kind":"number","nativeSrc":"358862:1:22","nodeType":"YulLiteral","src":"358862:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"358850:3:22","nodeType":"YulIdentifier","src":"358850:3:22"},"nativeSrc":"358850:14:22","nodeType":"YulFunctionCall","src":"358850:14:22"},"variableNames":[{"name":"length","nativeSrc":"358840:6:22","nodeType":"YulIdentifier","src":"358840:6:22"}]}]},"pre":{"nativeSrc":"358818:2:22","nodeType":"YulBlock","src":"358818:2:22","statements":[]},"src":"358814:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"358931:3:22","nodeType":"YulIdentifier","src":"358931:3:22"},{"name":"length","nativeSrc":"358936:6:22","nodeType":"YulIdentifier","src":"358936:6:22"}],"functionName":{"name":"mstore","nativeSrc":"358924:6:22","nodeType":"YulIdentifier","src":"358924:6:22"},"nativeSrc":"358924:19:22","nodeType":"YulFunctionCall","src":"358924:19:22"},"nativeSrc":"358924:19:22","nodeType":"YulExpressionStatement","src":"358924:19:22"},{"nativeSrc":"358960:37:22","nodeType":"YulVariableDeclaration","src":"358960:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"358977:3:22","nodeType":"YulLiteral","src":"358977:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"358986:1:22","nodeType":"YulLiteral","src":"358986:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"358989:6:22","nodeType":"YulIdentifier","src":"358989:6:22"}],"functionName":{"name":"shl","nativeSrc":"358982:3:22","nodeType":"YulIdentifier","src":"358982:3:22"},"nativeSrc":"358982:14:22","nodeType":"YulFunctionCall","src":"358982:14:22"}],"functionName":{"name":"sub","nativeSrc":"358973:3:22","nodeType":"YulIdentifier","src":"358973:3:22"},"nativeSrc":"358973:24:22","nodeType":"YulFunctionCall","src":"358973:24:22"},"variables":[{"name":"shift","nativeSrc":"358964:5:22","nodeType":"YulTypedName","src":"358964:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"359025:3:22","nodeType":"YulIdentifier","src":"359025:3:22"},{"kind":"number","nativeSrc":"359030:4:22","nodeType":"YulLiteral","src":"359030:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"359021:3:22","nodeType":"YulIdentifier","src":"359021:3:22"},"nativeSrc":"359021:14:22","nodeType":"YulFunctionCall","src":"359021:14:22"},{"arguments":[{"name":"shift","nativeSrc":"359041:5:22","nodeType":"YulIdentifier","src":"359041:5:22"},{"arguments":[{"name":"shift","nativeSrc":"359052:5:22","nodeType":"YulIdentifier","src":"359052:5:22"},{"name":"w","nativeSrc":"359059:1:22","nodeType":"YulIdentifier","src":"359059:1:22"}],"functionName":{"name":"shr","nativeSrc":"359048:3:22","nodeType":"YulIdentifier","src":"359048:3:22"},"nativeSrc":"359048:13:22","nodeType":"YulFunctionCall","src":"359048:13:22"}],"functionName":{"name":"shl","nativeSrc":"359037:3:22","nodeType":"YulIdentifier","src":"359037:3:22"},"nativeSrc":"359037:25:22","nodeType":"YulFunctionCall","src":"359037:25:22"}],"functionName":{"name":"mstore","nativeSrc":"359014:6:22","nodeType":"YulIdentifier","src":"359014:6:22"},"nativeSrc":"359014:49:22","nodeType":"YulFunctionCall","src":"359014:49:22"},"nativeSrc":"359014:49:22","nodeType":"YulExpressionStatement","src":"359014:49:22"}]},"name":"writeString","nativeSrc":"358735:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"358756:3:22","nodeType":"YulTypedName","src":"358756:3:22","type":""},{"name":"w","nativeSrc":"358761:1:22","nodeType":"YulTypedName","src":"358761:1:22","type":""}],"src":"358735:342:22"},{"nativeSrc":"359090:17:22","nodeType":"YulAssignment","src":"359090:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359102:4:22","nodeType":"YulLiteral","src":"359102:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"359096:5:22","nodeType":"YulIdentifier","src":"359096:5:22"},"nativeSrc":"359096:11:22","nodeType":"YulFunctionCall","src":"359096:11:22"},"variableNames":[{"name":"m0","nativeSrc":"359090:2:22","nodeType":"YulIdentifier","src":"359090:2:22"}]},{"nativeSrc":"359120:17:22","nodeType":"YulAssignment","src":"359120:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359132:4:22","nodeType":"YulLiteral","src":"359132:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"359126:5:22","nodeType":"YulIdentifier","src":"359126:5:22"},"nativeSrc":"359126:11:22","nodeType":"YulFunctionCall","src":"359126:11:22"},"variableNames":[{"name":"m1","nativeSrc":"359120:2:22","nodeType":"YulIdentifier","src":"359120:2:22"}]},{"nativeSrc":"359150:17:22","nodeType":"YulAssignment","src":"359150:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359162:4:22","nodeType":"YulLiteral","src":"359162:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"359156:5:22","nodeType":"YulIdentifier","src":"359156:5:22"},"nativeSrc":"359156:11:22","nodeType":"YulFunctionCall","src":"359156:11:22"},"variableNames":[{"name":"m2","nativeSrc":"359150:2:22","nodeType":"YulIdentifier","src":"359150:2:22"}]},{"nativeSrc":"359180:17:22","nodeType":"YulAssignment","src":"359180:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359192:4:22","nodeType":"YulLiteral","src":"359192:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"359186:5:22","nodeType":"YulIdentifier","src":"359186:5:22"},"nativeSrc":"359186:11:22","nodeType":"YulFunctionCall","src":"359186:11:22"},"variableNames":[{"name":"m3","nativeSrc":"359180:2:22","nodeType":"YulIdentifier","src":"359180:2:22"}]},{"nativeSrc":"359210:17:22","nodeType":"YulAssignment","src":"359210:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359222:4:22","nodeType":"YulLiteral","src":"359222:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"359216:5:22","nodeType":"YulIdentifier","src":"359216:5:22"},"nativeSrc":"359216:11:22","nodeType":"YulFunctionCall","src":"359216:11:22"},"variableNames":[{"name":"m4","nativeSrc":"359210:2:22","nodeType":"YulIdentifier","src":"359210:2:22"}]},{"nativeSrc":"359240:17:22","nodeType":"YulAssignment","src":"359240:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359252:4:22","nodeType":"YulLiteral","src":"359252:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"359246:5:22","nodeType":"YulIdentifier","src":"359246:5:22"},"nativeSrc":"359246:11:22","nodeType":"YulFunctionCall","src":"359246:11:22"},"variableNames":[{"name":"m5","nativeSrc":"359240:2:22","nodeType":"YulIdentifier","src":"359240:2:22"}]},{"nativeSrc":"359270:17:22","nodeType":"YulAssignment","src":"359270:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"359282:4:22","nodeType":"YulLiteral","src":"359282:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"359276:5:22","nodeType":"YulIdentifier","src":"359276:5:22"},"nativeSrc":"359276:11:22","nodeType":"YulFunctionCall","src":"359276:11:22"},"variableNames":[{"name":"m6","nativeSrc":"359270:2:22","nodeType":"YulIdentifier","src":"359270:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359364:4:22","nodeType":"YulLiteral","src":"359364:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"359370:10:22","nodeType":"YulLiteral","src":"359370:10:22","type":"","value":"0x895af8c5"}],"functionName":{"name":"mstore","nativeSrc":"359357:6:22","nodeType":"YulIdentifier","src":"359357:6:22"},"nativeSrc":"359357:24:22","nodeType":"YulFunctionCall","src":"359357:24:22"},"nativeSrc":"359357:24:22","nodeType":"YulExpressionStatement","src":"359357:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359401:4:22","nodeType":"YulLiteral","src":"359401:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"359407:4:22","nodeType":"YulLiteral","src":"359407:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"359394:6:22","nodeType":"YulIdentifier","src":"359394:6:22"},"nativeSrc":"359394:18:22","nodeType":"YulFunctionCall","src":"359394:18:22"},"nativeSrc":"359394:18:22","nodeType":"YulExpressionStatement","src":"359394:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359432:4:22","nodeType":"YulLiteral","src":"359432:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"359438:2:22","nodeType":"YulIdentifier","src":"359438:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359425:6:22","nodeType":"YulIdentifier","src":"359425:6:22"},"nativeSrc":"359425:16:22","nodeType":"YulFunctionCall","src":"359425:16:22"},"nativeSrc":"359425:16:22","nodeType":"YulExpressionStatement","src":"359425:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359461:4:22","nodeType":"YulLiteral","src":"359461:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"359467:2:22","nodeType":"YulIdentifier","src":"359467:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359454:6:22","nodeType":"YulIdentifier","src":"359454:6:22"},"nativeSrc":"359454:16:22","nodeType":"YulFunctionCall","src":"359454:16:22"},"nativeSrc":"359454:16:22","nodeType":"YulExpressionStatement","src":"359454:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359490:4:22","nodeType":"YulLiteral","src":"359490:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"359496:2:22","nodeType":"YulIdentifier","src":"359496:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359483:6:22","nodeType":"YulIdentifier","src":"359483:6:22"},"nativeSrc":"359483:16:22","nodeType":"YulFunctionCall","src":"359483:16:22"},"nativeSrc":"359483:16:22","nodeType":"YulExpressionStatement","src":"359483:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359524:4:22","nodeType":"YulLiteral","src":"359524:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"359530:2:22","nodeType":"YulIdentifier","src":"359530:2:22"}],"functionName":{"name":"writeString","nativeSrc":"359512:11:22","nodeType":"YulIdentifier","src":"359512:11:22"},"nativeSrc":"359512:21:22","nodeType":"YulFunctionCall","src":"359512:21:22"},"nativeSrc":"359512:21:22","nodeType":"YulExpressionStatement","src":"359512:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42483,"isOffset":false,"isSlot":false,"src":"359090:2:22","valueSize":1},{"declaration":42486,"isOffset":false,"isSlot":false,"src":"359120:2:22","valueSize":1},{"declaration":42489,"isOffset":false,"isSlot":false,"src":"359150:2:22","valueSize":1},{"declaration":42492,"isOffset":false,"isSlot":false,"src":"359180:2:22","valueSize":1},{"declaration":42495,"isOffset":false,"isSlot":false,"src":"359210:2:22","valueSize":1},{"declaration":42498,"isOffset":false,"isSlot":false,"src":"359240:2:22","valueSize":1},{"declaration":42501,"isOffset":false,"isSlot":false,"src":"359270:2:22","valueSize":1},{"declaration":42473,"isOffset":false,"isSlot":false,"src":"359530:2:22","valueSize":1},{"declaration":42475,"isOffset":false,"isSlot":false,"src":"359438:2:22","valueSize":1},{"declaration":42477,"isOffset":false,"isSlot":false,"src":"359467:2:22","valueSize":1},{"declaration":42479,"isOffset":false,"isSlot":false,"src":"359496:2:22","valueSize":1}],"id":42503,"nodeType":"InlineAssembly","src":"358712:831:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359568:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359574:4:22","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":42504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"359552:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"359552:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42508,"nodeType":"ExpressionStatement","src":"359552:27:22"},{"AST":{"nativeSrc":"359641:214:22","nodeType":"YulBlock","src":"359641:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"359662:4:22","nodeType":"YulLiteral","src":"359662:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"359668:2:22","nodeType":"YulIdentifier","src":"359668:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359655:6:22","nodeType":"YulIdentifier","src":"359655:6:22"},"nativeSrc":"359655:16:22","nodeType":"YulFunctionCall","src":"359655:16:22"},"nativeSrc":"359655:16:22","nodeType":"YulExpressionStatement","src":"359655:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359691:4:22","nodeType":"YulLiteral","src":"359691:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"359697:2:22","nodeType":"YulIdentifier","src":"359697:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359684:6:22","nodeType":"YulIdentifier","src":"359684:6:22"},"nativeSrc":"359684:16:22","nodeType":"YulFunctionCall","src":"359684:16:22"},"nativeSrc":"359684:16:22","nodeType":"YulExpressionStatement","src":"359684:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359720:4:22","nodeType":"YulLiteral","src":"359720:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"359726:2:22","nodeType":"YulIdentifier","src":"359726:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359713:6:22","nodeType":"YulIdentifier","src":"359713:6:22"},"nativeSrc":"359713:16:22","nodeType":"YulFunctionCall","src":"359713:16:22"},"nativeSrc":"359713:16:22","nodeType":"YulExpressionStatement","src":"359713:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359749:4:22","nodeType":"YulLiteral","src":"359749:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"359755:2:22","nodeType":"YulIdentifier","src":"359755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359742:6:22","nodeType":"YulIdentifier","src":"359742:6:22"},"nativeSrc":"359742:16:22","nodeType":"YulFunctionCall","src":"359742:16:22"},"nativeSrc":"359742:16:22","nodeType":"YulExpressionStatement","src":"359742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359778:4:22","nodeType":"YulLiteral","src":"359778:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"359784:2:22","nodeType":"YulIdentifier","src":"359784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359771:6:22","nodeType":"YulIdentifier","src":"359771:6:22"},"nativeSrc":"359771:16:22","nodeType":"YulFunctionCall","src":"359771:16:22"},"nativeSrc":"359771:16:22","nodeType":"YulExpressionStatement","src":"359771:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359807:4:22","nodeType":"YulLiteral","src":"359807:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"359813:2:22","nodeType":"YulIdentifier","src":"359813:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359800:6:22","nodeType":"YulIdentifier","src":"359800:6:22"},"nativeSrc":"359800:16:22","nodeType":"YulFunctionCall","src":"359800:16:22"},"nativeSrc":"359800:16:22","nodeType":"YulExpressionStatement","src":"359800:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359836:4:22","nodeType":"YulLiteral","src":"359836:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"359842:2:22","nodeType":"YulIdentifier","src":"359842:2:22"}],"functionName":{"name":"mstore","nativeSrc":"359829:6:22","nodeType":"YulIdentifier","src":"359829:6:22"},"nativeSrc":"359829:16:22","nodeType":"YulFunctionCall","src":"359829:16:22"},"nativeSrc":"359829:16:22","nodeType":"YulExpressionStatement","src":"359829:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42483,"isOffset":false,"isSlot":false,"src":"359668:2:22","valueSize":1},{"declaration":42486,"isOffset":false,"isSlot":false,"src":"359697:2:22","valueSize":1},{"declaration":42489,"isOffset":false,"isSlot":false,"src":"359726:2:22","valueSize":1},{"declaration":42492,"isOffset":false,"isSlot":false,"src":"359755:2:22","valueSize":1},{"declaration":42495,"isOffset":false,"isSlot":false,"src":"359784:2:22","valueSize":1},{"declaration":42498,"isOffset":false,"isSlot":false,"src":"359813:2:22","valueSize":1},{"declaration":42501,"isOffset":false,"isSlot":false,"src":"359842:2:22","valueSize":1}],"id":42509,"nodeType":"InlineAssembly","src":"359632:223:22"}]},"id":42511,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"358462:3:22","nodeType":"FunctionDefinition","parameters":{"id":42480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42473,"mutability":"mutable","name":"p0","nameLocation":"358474:2:22","nodeType":"VariableDeclaration","scope":42511,"src":"358466:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358466:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42475,"mutability":"mutable","name":"p1","nameLocation":"358483:2:22","nodeType":"VariableDeclaration","scope":42511,"src":"358478:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42474,"name":"bool","nodeType":"ElementaryTypeName","src":"358478:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42477,"mutability":"mutable","name":"p2","nameLocation":"358492:2:22","nodeType":"VariableDeclaration","scope":42511,"src":"358487:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42476,"name":"bool","nodeType":"ElementaryTypeName","src":"358487:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42479,"mutability":"mutable","name":"p3","nameLocation":"358501:2:22","nodeType":"VariableDeclaration","scope":42511,"src":"358496:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42478,"name":"bool","nodeType":"ElementaryTypeName","src":"358496:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"358465:39:22"},"returnParameters":{"id":42481,"nodeType":"ParameterList","parameters":[],"src":"358519:0:22"},"scope":44426,"src":"358453:1408:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42550,"nodeType":"Block","src":"359936:1345:22","statements":[{"assignments":[42523],"declarations":[{"constant":false,"id":42523,"mutability":"mutable","name":"m0","nameLocation":"359954:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"359946:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359946:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42524,"nodeType":"VariableDeclarationStatement","src":"359946:10:22"},{"assignments":[42526],"declarations":[{"constant":false,"id":42526,"mutability":"mutable","name":"m1","nameLocation":"359974:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"359966:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359966:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42527,"nodeType":"VariableDeclarationStatement","src":"359966:10:22"},{"assignments":[42529],"declarations":[{"constant":false,"id":42529,"mutability":"mutable","name":"m2","nameLocation":"359994:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"359986:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359986:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42530,"nodeType":"VariableDeclarationStatement","src":"359986:10:22"},{"assignments":[42532],"declarations":[{"constant":false,"id":42532,"mutability":"mutable","name":"m3","nameLocation":"360014:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"360006:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360006:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42533,"nodeType":"VariableDeclarationStatement","src":"360006:10:22"},{"assignments":[42535],"declarations":[{"constant":false,"id":42535,"mutability":"mutable","name":"m4","nameLocation":"360034:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"360026:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360026:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42536,"nodeType":"VariableDeclarationStatement","src":"360026:10:22"},{"assignments":[42538],"declarations":[{"constant":false,"id":42538,"mutability":"mutable","name":"m5","nameLocation":"360054:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"360046:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360046:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42539,"nodeType":"VariableDeclarationStatement","src":"360046:10:22"},{"assignments":[42541],"declarations":[{"constant":false,"id":42541,"mutability":"mutable","name":"m6","nameLocation":"360074:2:22","nodeType":"VariableDeclaration","scope":42550,"src":"360066:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360066:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42542,"nodeType":"VariableDeclarationStatement","src":"360066:10:22"},{"AST":{"nativeSrc":"360138:825:22","nodeType":"YulBlock","src":"360138:825:22","statements":[{"body":{"nativeSrc":"360181:313:22","nodeType":"YulBlock","src":"360181:313:22","statements":[{"nativeSrc":"360199:15:22","nodeType":"YulVariableDeclaration","src":"360199:15:22","value":{"kind":"number","nativeSrc":"360213:1:22","nodeType":"YulLiteral","src":"360213:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"360203:6:22","nodeType":"YulTypedName","src":"360203:6:22","type":""}]},{"body":{"nativeSrc":"360284:40:22","nodeType":"YulBlock","src":"360284:40:22","statements":[{"body":{"nativeSrc":"360313:9:22","nodeType":"YulBlock","src":"360313:9:22","statements":[{"nativeSrc":"360315:5:22","nodeType":"YulBreak","src":"360315:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"360301:6:22","nodeType":"YulIdentifier","src":"360301:6:22"},{"name":"w","nativeSrc":"360309:1:22","nodeType":"YulIdentifier","src":"360309:1:22"}],"functionName":{"name":"byte","nativeSrc":"360296:4:22","nodeType":"YulIdentifier","src":"360296:4:22"},"nativeSrc":"360296:15:22","nodeType":"YulFunctionCall","src":"360296:15:22"}],"functionName":{"name":"iszero","nativeSrc":"360289:6:22","nodeType":"YulIdentifier","src":"360289:6:22"},"nativeSrc":"360289:23:22","nodeType":"YulFunctionCall","src":"360289:23:22"},"nativeSrc":"360286:36:22","nodeType":"YulIf","src":"360286:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"360241:6:22","nodeType":"YulIdentifier","src":"360241:6:22"},{"kind":"number","nativeSrc":"360249:4:22","nodeType":"YulLiteral","src":"360249:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"360238:2:22","nodeType":"YulIdentifier","src":"360238:2:22"},"nativeSrc":"360238:16:22","nodeType":"YulFunctionCall","src":"360238:16:22"},"nativeSrc":"360231:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"360255:28:22","nodeType":"YulBlock","src":"360255:28:22","statements":[{"nativeSrc":"360257:24:22","nodeType":"YulAssignment","src":"360257:24:22","value":{"arguments":[{"name":"length","nativeSrc":"360271:6:22","nodeType":"YulIdentifier","src":"360271:6:22"},{"kind":"number","nativeSrc":"360279:1:22","nodeType":"YulLiteral","src":"360279:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"360267:3:22","nodeType":"YulIdentifier","src":"360267:3:22"},"nativeSrc":"360267:14:22","nodeType":"YulFunctionCall","src":"360267:14:22"},"variableNames":[{"name":"length","nativeSrc":"360257:6:22","nodeType":"YulIdentifier","src":"360257:6:22"}]}]},"pre":{"nativeSrc":"360235:2:22","nodeType":"YulBlock","src":"360235:2:22","statements":[]},"src":"360231:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"360348:3:22","nodeType":"YulIdentifier","src":"360348:3:22"},{"name":"length","nativeSrc":"360353:6:22","nodeType":"YulIdentifier","src":"360353:6:22"}],"functionName":{"name":"mstore","nativeSrc":"360341:6:22","nodeType":"YulIdentifier","src":"360341:6:22"},"nativeSrc":"360341:19:22","nodeType":"YulFunctionCall","src":"360341:19:22"},"nativeSrc":"360341:19:22","nodeType":"YulExpressionStatement","src":"360341:19:22"},{"nativeSrc":"360377:37:22","nodeType":"YulVariableDeclaration","src":"360377:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"360394:3:22","nodeType":"YulLiteral","src":"360394:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"360403:1:22","nodeType":"YulLiteral","src":"360403:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"360406:6:22","nodeType":"YulIdentifier","src":"360406:6:22"}],"functionName":{"name":"shl","nativeSrc":"360399:3:22","nodeType":"YulIdentifier","src":"360399:3:22"},"nativeSrc":"360399:14:22","nodeType":"YulFunctionCall","src":"360399:14:22"}],"functionName":{"name":"sub","nativeSrc":"360390:3:22","nodeType":"YulIdentifier","src":"360390:3:22"},"nativeSrc":"360390:24:22","nodeType":"YulFunctionCall","src":"360390:24:22"},"variables":[{"name":"shift","nativeSrc":"360381:5:22","nodeType":"YulTypedName","src":"360381:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"360442:3:22","nodeType":"YulIdentifier","src":"360442:3:22"},{"kind":"number","nativeSrc":"360447:4:22","nodeType":"YulLiteral","src":"360447:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"360438:3:22","nodeType":"YulIdentifier","src":"360438:3:22"},"nativeSrc":"360438:14:22","nodeType":"YulFunctionCall","src":"360438:14:22"},{"arguments":[{"name":"shift","nativeSrc":"360458:5:22","nodeType":"YulIdentifier","src":"360458:5:22"},{"arguments":[{"name":"shift","nativeSrc":"360469:5:22","nodeType":"YulIdentifier","src":"360469:5:22"},{"name":"w","nativeSrc":"360476:1:22","nodeType":"YulIdentifier","src":"360476:1:22"}],"functionName":{"name":"shr","nativeSrc":"360465:3:22","nodeType":"YulIdentifier","src":"360465:3:22"},"nativeSrc":"360465:13:22","nodeType":"YulFunctionCall","src":"360465:13:22"}],"functionName":{"name":"shl","nativeSrc":"360454:3:22","nodeType":"YulIdentifier","src":"360454:3:22"},"nativeSrc":"360454:25:22","nodeType":"YulFunctionCall","src":"360454:25:22"}],"functionName":{"name":"mstore","nativeSrc":"360431:6:22","nodeType":"YulIdentifier","src":"360431:6:22"},"nativeSrc":"360431:49:22","nodeType":"YulFunctionCall","src":"360431:49:22"},"nativeSrc":"360431:49:22","nodeType":"YulExpressionStatement","src":"360431:49:22"}]},"name":"writeString","nativeSrc":"360152:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"360173:3:22","nodeType":"YulTypedName","src":"360173:3:22","type":""},{"name":"w","nativeSrc":"360178:1:22","nodeType":"YulTypedName","src":"360178:1:22","type":""}],"src":"360152:342:22"},{"nativeSrc":"360507:17:22","nodeType":"YulAssignment","src":"360507:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360519:4:22","nodeType":"YulLiteral","src":"360519:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"360513:5:22","nodeType":"YulIdentifier","src":"360513:5:22"},"nativeSrc":"360513:11:22","nodeType":"YulFunctionCall","src":"360513:11:22"},"variableNames":[{"name":"m0","nativeSrc":"360507:2:22","nodeType":"YulIdentifier","src":"360507:2:22"}]},{"nativeSrc":"360537:17:22","nodeType":"YulAssignment","src":"360537:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360549:4:22","nodeType":"YulLiteral","src":"360549:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"360543:5:22","nodeType":"YulIdentifier","src":"360543:5:22"},"nativeSrc":"360543:11:22","nodeType":"YulFunctionCall","src":"360543:11:22"},"variableNames":[{"name":"m1","nativeSrc":"360537:2:22","nodeType":"YulIdentifier","src":"360537:2:22"}]},{"nativeSrc":"360567:17:22","nodeType":"YulAssignment","src":"360567:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360579:4:22","nodeType":"YulLiteral","src":"360579:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"360573:5:22","nodeType":"YulIdentifier","src":"360573:5:22"},"nativeSrc":"360573:11:22","nodeType":"YulFunctionCall","src":"360573:11:22"},"variableNames":[{"name":"m2","nativeSrc":"360567:2:22","nodeType":"YulIdentifier","src":"360567:2:22"}]},{"nativeSrc":"360597:17:22","nodeType":"YulAssignment","src":"360597:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360609:4:22","nodeType":"YulLiteral","src":"360609:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"360603:5:22","nodeType":"YulIdentifier","src":"360603:5:22"},"nativeSrc":"360603:11:22","nodeType":"YulFunctionCall","src":"360603:11:22"},"variableNames":[{"name":"m3","nativeSrc":"360597:2:22","nodeType":"YulIdentifier","src":"360597:2:22"}]},{"nativeSrc":"360627:17:22","nodeType":"YulAssignment","src":"360627:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360639:4:22","nodeType":"YulLiteral","src":"360639:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"360633:5:22","nodeType":"YulIdentifier","src":"360633:5:22"},"nativeSrc":"360633:11:22","nodeType":"YulFunctionCall","src":"360633:11:22"},"variableNames":[{"name":"m4","nativeSrc":"360627:2:22","nodeType":"YulIdentifier","src":"360627:2:22"}]},{"nativeSrc":"360657:17:22","nodeType":"YulAssignment","src":"360657:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360669:4:22","nodeType":"YulLiteral","src":"360669:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"360663:5:22","nodeType":"YulIdentifier","src":"360663:5:22"},"nativeSrc":"360663:11:22","nodeType":"YulFunctionCall","src":"360663:11:22"},"variableNames":[{"name":"m5","nativeSrc":"360657:2:22","nodeType":"YulIdentifier","src":"360657:2:22"}]},{"nativeSrc":"360687:17:22","nodeType":"YulAssignment","src":"360687:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"360699:4:22","nodeType":"YulLiteral","src":"360699:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"360693:5:22","nodeType":"YulIdentifier","src":"360693:5:22"},"nativeSrc":"360693:11:22","nodeType":"YulFunctionCall","src":"360693:11:22"},"variableNames":[{"name":"m6","nativeSrc":"360687:2:22","nodeType":"YulIdentifier","src":"360687:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360784:4:22","nodeType":"YulLiteral","src":"360784:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"360790:10:22","nodeType":"YulLiteral","src":"360790:10:22","type":"","value":"0x8e3f78a9"}],"functionName":{"name":"mstore","nativeSrc":"360777:6:22","nodeType":"YulIdentifier","src":"360777:6:22"},"nativeSrc":"360777:24:22","nodeType":"YulFunctionCall","src":"360777:24:22"},"nativeSrc":"360777:24:22","nodeType":"YulExpressionStatement","src":"360777:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360821:4:22","nodeType":"YulLiteral","src":"360821:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"360827:4:22","nodeType":"YulLiteral","src":"360827:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"360814:6:22","nodeType":"YulIdentifier","src":"360814:6:22"},"nativeSrc":"360814:18:22","nodeType":"YulFunctionCall","src":"360814:18:22"},"nativeSrc":"360814:18:22","nodeType":"YulExpressionStatement","src":"360814:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360852:4:22","nodeType":"YulLiteral","src":"360852:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"360858:2:22","nodeType":"YulIdentifier","src":"360858:2:22"}],"functionName":{"name":"mstore","nativeSrc":"360845:6:22","nodeType":"YulIdentifier","src":"360845:6:22"},"nativeSrc":"360845:16:22","nodeType":"YulFunctionCall","src":"360845:16:22"},"nativeSrc":"360845:16:22","nodeType":"YulExpressionStatement","src":"360845:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360881:4:22","nodeType":"YulLiteral","src":"360881:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"360887:2:22","nodeType":"YulIdentifier","src":"360887:2:22"}],"functionName":{"name":"mstore","nativeSrc":"360874:6:22","nodeType":"YulIdentifier","src":"360874:6:22"},"nativeSrc":"360874:16:22","nodeType":"YulFunctionCall","src":"360874:16:22"},"nativeSrc":"360874:16:22","nodeType":"YulExpressionStatement","src":"360874:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360910:4:22","nodeType":"YulLiteral","src":"360910:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"360916:2:22","nodeType":"YulIdentifier","src":"360916:2:22"}],"functionName":{"name":"mstore","nativeSrc":"360903:6:22","nodeType":"YulIdentifier","src":"360903:6:22"},"nativeSrc":"360903:16:22","nodeType":"YulFunctionCall","src":"360903:16:22"},"nativeSrc":"360903:16:22","nodeType":"YulExpressionStatement","src":"360903:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360944:4:22","nodeType":"YulLiteral","src":"360944:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"360950:2:22","nodeType":"YulIdentifier","src":"360950:2:22"}],"functionName":{"name":"writeString","nativeSrc":"360932:11:22","nodeType":"YulIdentifier","src":"360932:11:22"},"nativeSrc":"360932:21:22","nodeType":"YulFunctionCall","src":"360932:21:22"},"nativeSrc":"360932:21:22","nodeType":"YulExpressionStatement","src":"360932:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42523,"isOffset":false,"isSlot":false,"src":"360507:2:22","valueSize":1},{"declaration":42526,"isOffset":false,"isSlot":false,"src":"360537:2:22","valueSize":1},{"declaration":42529,"isOffset":false,"isSlot":false,"src":"360567:2:22","valueSize":1},{"declaration":42532,"isOffset":false,"isSlot":false,"src":"360597:2:22","valueSize":1},{"declaration":42535,"isOffset":false,"isSlot":false,"src":"360627:2:22","valueSize":1},{"declaration":42538,"isOffset":false,"isSlot":false,"src":"360657:2:22","valueSize":1},{"declaration":42541,"isOffset":false,"isSlot":false,"src":"360687:2:22","valueSize":1},{"declaration":42513,"isOffset":false,"isSlot":false,"src":"360950:2:22","valueSize":1},{"declaration":42515,"isOffset":false,"isSlot":false,"src":"360858:2:22","valueSize":1},{"declaration":42517,"isOffset":false,"isSlot":false,"src":"360887:2:22","valueSize":1},{"declaration":42519,"isOffset":false,"isSlot":false,"src":"360916:2:22","valueSize":1}],"id":42543,"nodeType":"InlineAssembly","src":"360129:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360988:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360994:4:22","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":42544,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"360972:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"360972:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42548,"nodeType":"ExpressionStatement","src":"360972:27:22"},{"AST":{"nativeSrc":"361061:214:22","nodeType":"YulBlock","src":"361061:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"361082:4:22","nodeType":"YulLiteral","src":"361082:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"361088:2:22","nodeType":"YulIdentifier","src":"361088:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361075:6:22","nodeType":"YulIdentifier","src":"361075:6:22"},"nativeSrc":"361075:16:22","nodeType":"YulFunctionCall","src":"361075:16:22"},"nativeSrc":"361075:16:22","nodeType":"YulExpressionStatement","src":"361075:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361111:4:22","nodeType":"YulLiteral","src":"361111:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"361117:2:22","nodeType":"YulIdentifier","src":"361117:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361104:6:22","nodeType":"YulIdentifier","src":"361104:6:22"},"nativeSrc":"361104:16:22","nodeType":"YulFunctionCall","src":"361104:16:22"},"nativeSrc":"361104:16:22","nodeType":"YulExpressionStatement","src":"361104:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361140:4:22","nodeType":"YulLiteral","src":"361140:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"361146:2:22","nodeType":"YulIdentifier","src":"361146:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361133:6:22","nodeType":"YulIdentifier","src":"361133:6:22"},"nativeSrc":"361133:16:22","nodeType":"YulFunctionCall","src":"361133:16:22"},"nativeSrc":"361133:16:22","nodeType":"YulExpressionStatement","src":"361133:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361169:4:22","nodeType":"YulLiteral","src":"361169:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"361175:2:22","nodeType":"YulIdentifier","src":"361175:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361162:6:22","nodeType":"YulIdentifier","src":"361162:6:22"},"nativeSrc":"361162:16:22","nodeType":"YulFunctionCall","src":"361162:16:22"},"nativeSrc":"361162:16:22","nodeType":"YulExpressionStatement","src":"361162:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361198:4:22","nodeType":"YulLiteral","src":"361198:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"361204:2:22","nodeType":"YulIdentifier","src":"361204:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361191:6:22","nodeType":"YulIdentifier","src":"361191:6:22"},"nativeSrc":"361191:16:22","nodeType":"YulFunctionCall","src":"361191:16:22"},"nativeSrc":"361191:16:22","nodeType":"YulExpressionStatement","src":"361191:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361227:4:22","nodeType":"YulLiteral","src":"361227:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"361233:2:22","nodeType":"YulIdentifier","src":"361233:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361220:6:22","nodeType":"YulIdentifier","src":"361220:6:22"},"nativeSrc":"361220:16:22","nodeType":"YulFunctionCall","src":"361220:16:22"},"nativeSrc":"361220:16:22","nodeType":"YulExpressionStatement","src":"361220:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361256:4:22","nodeType":"YulLiteral","src":"361256:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"361262:2:22","nodeType":"YulIdentifier","src":"361262:2:22"}],"functionName":{"name":"mstore","nativeSrc":"361249:6:22","nodeType":"YulIdentifier","src":"361249:6:22"},"nativeSrc":"361249:16:22","nodeType":"YulFunctionCall","src":"361249:16:22"},"nativeSrc":"361249:16:22","nodeType":"YulExpressionStatement","src":"361249:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42523,"isOffset":false,"isSlot":false,"src":"361088:2:22","valueSize":1},{"declaration":42526,"isOffset":false,"isSlot":false,"src":"361117:2:22","valueSize":1},{"declaration":42529,"isOffset":false,"isSlot":false,"src":"361146:2:22","valueSize":1},{"declaration":42532,"isOffset":false,"isSlot":false,"src":"361175:2:22","valueSize":1},{"declaration":42535,"isOffset":false,"isSlot":false,"src":"361204:2:22","valueSize":1},{"declaration":42538,"isOffset":false,"isSlot":false,"src":"361233:2:22","valueSize":1},{"declaration":42541,"isOffset":false,"isSlot":false,"src":"361262:2:22","valueSize":1}],"id":42549,"nodeType":"InlineAssembly","src":"361052:223:22"}]},"id":42551,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"359876:3:22","nodeType":"FunctionDefinition","parameters":{"id":42520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42513,"mutability":"mutable","name":"p0","nameLocation":"359888:2:22","nodeType":"VariableDeclaration","scope":42551,"src":"359880:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359880:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42515,"mutability":"mutable","name":"p1","nameLocation":"359897:2:22","nodeType":"VariableDeclaration","scope":42551,"src":"359892:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42514,"name":"bool","nodeType":"ElementaryTypeName","src":"359892:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42517,"mutability":"mutable","name":"p2","nameLocation":"359906:2:22","nodeType":"VariableDeclaration","scope":42551,"src":"359901:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42516,"name":"bool","nodeType":"ElementaryTypeName","src":"359901:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42519,"mutability":"mutable","name":"p3","nameLocation":"359918:2:22","nodeType":"VariableDeclaration","scope":42551,"src":"359910:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42518,"name":"uint256","nodeType":"ElementaryTypeName","src":"359910:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"359879:42:22"},"returnParameters":{"id":42521,"nodeType":"ParameterList","parameters":[],"src":"359936:0:22"},"scope":44426,"src":"359867:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42596,"nodeType":"Block","src":"361356:1541:22","statements":[{"assignments":[42563],"declarations":[{"constant":false,"id":42563,"mutability":"mutable","name":"m0","nameLocation":"361374:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361366:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361366:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42564,"nodeType":"VariableDeclarationStatement","src":"361366:10:22"},{"assignments":[42566],"declarations":[{"constant":false,"id":42566,"mutability":"mutable","name":"m1","nameLocation":"361394:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361386:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361386:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42567,"nodeType":"VariableDeclarationStatement","src":"361386:10:22"},{"assignments":[42569],"declarations":[{"constant":false,"id":42569,"mutability":"mutable","name":"m2","nameLocation":"361414:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361406:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361406:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42570,"nodeType":"VariableDeclarationStatement","src":"361406:10:22"},{"assignments":[42572],"declarations":[{"constant":false,"id":42572,"mutability":"mutable","name":"m3","nameLocation":"361434:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361426:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361426:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42573,"nodeType":"VariableDeclarationStatement","src":"361426:10:22"},{"assignments":[42575],"declarations":[{"constant":false,"id":42575,"mutability":"mutable","name":"m4","nameLocation":"361454:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361446:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361446:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42576,"nodeType":"VariableDeclarationStatement","src":"361446:10:22"},{"assignments":[42578],"declarations":[{"constant":false,"id":42578,"mutability":"mutable","name":"m5","nameLocation":"361474:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361466:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361466:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42579,"nodeType":"VariableDeclarationStatement","src":"361466:10:22"},{"assignments":[42581],"declarations":[{"constant":false,"id":42581,"mutability":"mutable","name":"m6","nameLocation":"361494:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361486:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361486:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42582,"nodeType":"VariableDeclarationStatement","src":"361486:10:22"},{"assignments":[42584],"declarations":[{"constant":false,"id":42584,"mutability":"mutable","name":"m7","nameLocation":"361514:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361506:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361506:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42585,"nodeType":"VariableDeclarationStatement","src":"361506:10:22"},{"assignments":[42587],"declarations":[{"constant":false,"id":42587,"mutability":"mutable","name":"m8","nameLocation":"361534:2:22","nodeType":"VariableDeclaration","scope":42596,"src":"361526:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361526:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42588,"nodeType":"VariableDeclarationStatement","src":"361526:10:22"},{"AST":{"nativeSrc":"361598:921:22","nodeType":"YulBlock","src":"361598:921:22","statements":[{"body":{"nativeSrc":"361641:313:22","nodeType":"YulBlock","src":"361641:313:22","statements":[{"nativeSrc":"361659:15:22","nodeType":"YulVariableDeclaration","src":"361659:15:22","value":{"kind":"number","nativeSrc":"361673:1:22","nodeType":"YulLiteral","src":"361673:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"361663:6:22","nodeType":"YulTypedName","src":"361663:6:22","type":""}]},{"body":{"nativeSrc":"361744:40:22","nodeType":"YulBlock","src":"361744:40:22","statements":[{"body":{"nativeSrc":"361773:9:22","nodeType":"YulBlock","src":"361773:9:22","statements":[{"nativeSrc":"361775:5:22","nodeType":"YulBreak","src":"361775:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"361761:6:22","nodeType":"YulIdentifier","src":"361761:6:22"},{"name":"w","nativeSrc":"361769:1:22","nodeType":"YulIdentifier","src":"361769:1:22"}],"functionName":{"name":"byte","nativeSrc":"361756:4:22","nodeType":"YulIdentifier","src":"361756:4:22"},"nativeSrc":"361756:15:22","nodeType":"YulFunctionCall","src":"361756:15:22"}],"functionName":{"name":"iszero","nativeSrc":"361749:6:22","nodeType":"YulIdentifier","src":"361749:6:22"},"nativeSrc":"361749:23:22","nodeType":"YulFunctionCall","src":"361749:23:22"},"nativeSrc":"361746:36:22","nodeType":"YulIf","src":"361746:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"361701:6:22","nodeType":"YulIdentifier","src":"361701:6:22"},{"kind":"number","nativeSrc":"361709:4:22","nodeType":"YulLiteral","src":"361709:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"361698:2:22","nodeType":"YulIdentifier","src":"361698:2:22"},"nativeSrc":"361698:16:22","nodeType":"YulFunctionCall","src":"361698:16:22"},"nativeSrc":"361691:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"361715:28:22","nodeType":"YulBlock","src":"361715:28:22","statements":[{"nativeSrc":"361717:24:22","nodeType":"YulAssignment","src":"361717:24:22","value":{"arguments":[{"name":"length","nativeSrc":"361731:6:22","nodeType":"YulIdentifier","src":"361731:6:22"},{"kind":"number","nativeSrc":"361739:1:22","nodeType":"YulLiteral","src":"361739:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"361727:3:22","nodeType":"YulIdentifier","src":"361727:3:22"},"nativeSrc":"361727:14:22","nodeType":"YulFunctionCall","src":"361727:14:22"},"variableNames":[{"name":"length","nativeSrc":"361717:6:22","nodeType":"YulIdentifier","src":"361717:6:22"}]}]},"pre":{"nativeSrc":"361695:2:22","nodeType":"YulBlock","src":"361695:2:22","statements":[]},"src":"361691:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"361808:3:22","nodeType":"YulIdentifier","src":"361808:3:22"},{"name":"length","nativeSrc":"361813:6:22","nodeType":"YulIdentifier","src":"361813:6:22"}],"functionName":{"name":"mstore","nativeSrc":"361801:6:22","nodeType":"YulIdentifier","src":"361801:6:22"},"nativeSrc":"361801:19:22","nodeType":"YulFunctionCall","src":"361801:19:22"},"nativeSrc":"361801:19:22","nodeType":"YulExpressionStatement","src":"361801:19:22"},{"nativeSrc":"361837:37:22","nodeType":"YulVariableDeclaration","src":"361837:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"361854:3:22","nodeType":"YulLiteral","src":"361854:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"361863:1:22","nodeType":"YulLiteral","src":"361863:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"361866:6:22","nodeType":"YulIdentifier","src":"361866:6:22"}],"functionName":{"name":"shl","nativeSrc":"361859:3:22","nodeType":"YulIdentifier","src":"361859:3:22"},"nativeSrc":"361859:14:22","nodeType":"YulFunctionCall","src":"361859:14:22"}],"functionName":{"name":"sub","nativeSrc":"361850:3:22","nodeType":"YulIdentifier","src":"361850:3:22"},"nativeSrc":"361850:24:22","nodeType":"YulFunctionCall","src":"361850:24:22"},"variables":[{"name":"shift","nativeSrc":"361841:5:22","nodeType":"YulTypedName","src":"361841:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"361902:3:22","nodeType":"YulIdentifier","src":"361902:3:22"},{"kind":"number","nativeSrc":"361907:4:22","nodeType":"YulLiteral","src":"361907:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"361898:3:22","nodeType":"YulIdentifier","src":"361898:3:22"},"nativeSrc":"361898:14:22","nodeType":"YulFunctionCall","src":"361898:14:22"},{"arguments":[{"name":"shift","nativeSrc":"361918:5:22","nodeType":"YulIdentifier","src":"361918:5:22"},{"arguments":[{"name":"shift","nativeSrc":"361929:5:22","nodeType":"YulIdentifier","src":"361929:5:22"},{"name":"w","nativeSrc":"361936:1:22","nodeType":"YulIdentifier","src":"361936:1:22"}],"functionName":{"name":"shr","nativeSrc":"361925:3:22","nodeType":"YulIdentifier","src":"361925:3:22"},"nativeSrc":"361925:13:22","nodeType":"YulFunctionCall","src":"361925:13:22"}],"functionName":{"name":"shl","nativeSrc":"361914:3:22","nodeType":"YulIdentifier","src":"361914:3:22"},"nativeSrc":"361914:25:22","nodeType":"YulFunctionCall","src":"361914:25:22"}],"functionName":{"name":"mstore","nativeSrc":"361891:6:22","nodeType":"YulIdentifier","src":"361891:6:22"},"nativeSrc":"361891:49:22","nodeType":"YulFunctionCall","src":"361891:49:22"},"nativeSrc":"361891:49:22","nodeType":"YulExpressionStatement","src":"361891:49:22"}]},"name":"writeString","nativeSrc":"361612:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"361633:3:22","nodeType":"YulTypedName","src":"361633:3:22","type":""},{"name":"w","nativeSrc":"361638:1:22","nodeType":"YulTypedName","src":"361638:1:22","type":""}],"src":"361612:342:22"},{"nativeSrc":"361967:17:22","nodeType":"YulAssignment","src":"361967:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"361979:4:22","nodeType":"YulLiteral","src":"361979:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"361973:5:22","nodeType":"YulIdentifier","src":"361973:5:22"},"nativeSrc":"361973:11:22","nodeType":"YulFunctionCall","src":"361973:11:22"},"variableNames":[{"name":"m0","nativeSrc":"361967:2:22","nodeType":"YulIdentifier","src":"361967:2:22"}]},{"nativeSrc":"361997:17:22","nodeType":"YulAssignment","src":"361997:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362009:4:22","nodeType":"YulLiteral","src":"362009:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"362003:5:22","nodeType":"YulIdentifier","src":"362003:5:22"},"nativeSrc":"362003:11:22","nodeType":"YulFunctionCall","src":"362003:11:22"},"variableNames":[{"name":"m1","nativeSrc":"361997:2:22","nodeType":"YulIdentifier","src":"361997:2:22"}]},{"nativeSrc":"362027:17:22","nodeType":"YulAssignment","src":"362027:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362039:4:22","nodeType":"YulLiteral","src":"362039:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"362033:5:22","nodeType":"YulIdentifier","src":"362033:5:22"},"nativeSrc":"362033:11:22","nodeType":"YulFunctionCall","src":"362033:11:22"},"variableNames":[{"name":"m2","nativeSrc":"362027:2:22","nodeType":"YulIdentifier","src":"362027:2:22"}]},{"nativeSrc":"362057:17:22","nodeType":"YulAssignment","src":"362057:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362069:4:22","nodeType":"YulLiteral","src":"362069:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"362063:5:22","nodeType":"YulIdentifier","src":"362063:5:22"},"nativeSrc":"362063:11:22","nodeType":"YulFunctionCall","src":"362063:11:22"},"variableNames":[{"name":"m3","nativeSrc":"362057:2:22","nodeType":"YulIdentifier","src":"362057:2:22"}]},{"nativeSrc":"362087:17:22","nodeType":"YulAssignment","src":"362087:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362099:4:22","nodeType":"YulLiteral","src":"362099:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"362093:5:22","nodeType":"YulIdentifier","src":"362093:5:22"},"nativeSrc":"362093:11:22","nodeType":"YulFunctionCall","src":"362093:11:22"},"variableNames":[{"name":"m4","nativeSrc":"362087:2:22","nodeType":"YulIdentifier","src":"362087:2:22"}]},{"nativeSrc":"362117:17:22","nodeType":"YulAssignment","src":"362117:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362129:4:22","nodeType":"YulLiteral","src":"362129:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"362123:5:22","nodeType":"YulIdentifier","src":"362123:5:22"},"nativeSrc":"362123:11:22","nodeType":"YulFunctionCall","src":"362123:11:22"},"variableNames":[{"name":"m5","nativeSrc":"362117:2:22","nodeType":"YulIdentifier","src":"362117:2:22"}]},{"nativeSrc":"362147:17:22","nodeType":"YulAssignment","src":"362147:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362159:4:22","nodeType":"YulLiteral","src":"362159:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"362153:5:22","nodeType":"YulIdentifier","src":"362153:5:22"},"nativeSrc":"362153:11:22","nodeType":"YulFunctionCall","src":"362153:11:22"},"variableNames":[{"name":"m6","nativeSrc":"362147:2:22","nodeType":"YulIdentifier","src":"362147:2:22"}]},{"nativeSrc":"362177:17:22","nodeType":"YulAssignment","src":"362177:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"362189:4:22","nodeType":"YulLiteral","src":"362189:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"362183:5:22","nodeType":"YulIdentifier","src":"362183:5:22"},"nativeSrc":"362183:11:22","nodeType":"YulFunctionCall","src":"362183:11:22"},"variableNames":[{"name":"m7","nativeSrc":"362177:2:22","nodeType":"YulIdentifier","src":"362177:2:22"}]},{"nativeSrc":"362207:18:22","nodeType":"YulAssignment","src":"362207:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"362219:5:22","nodeType":"YulLiteral","src":"362219:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"362213:5:22","nodeType":"YulIdentifier","src":"362213:5:22"},"nativeSrc":"362213:12:22","nodeType":"YulFunctionCall","src":"362213:12:22"},"variableNames":[{"name":"m8","nativeSrc":"362207:2:22","nodeType":"YulIdentifier","src":"362207:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362304:4:22","nodeType":"YulLiteral","src":"362304:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"362310:10:22","nodeType":"YulLiteral","src":"362310:10:22","type":"","value":"0x9d22d5dd"}],"functionName":{"name":"mstore","nativeSrc":"362297:6:22","nodeType":"YulIdentifier","src":"362297:6:22"},"nativeSrc":"362297:24:22","nodeType":"YulFunctionCall","src":"362297:24:22"},"nativeSrc":"362297:24:22","nodeType":"YulExpressionStatement","src":"362297:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362341:4:22","nodeType":"YulLiteral","src":"362341:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"362347:4:22","nodeType":"YulLiteral","src":"362347:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"362334:6:22","nodeType":"YulIdentifier","src":"362334:6:22"},"nativeSrc":"362334:18:22","nodeType":"YulFunctionCall","src":"362334:18:22"},"nativeSrc":"362334:18:22","nodeType":"YulExpressionStatement","src":"362334:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362372:4:22","nodeType":"YulLiteral","src":"362372:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"362378:2:22","nodeType":"YulIdentifier","src":"362378:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362365:6:22","nodeType":"YulIdentifier","src":"362365:6:22"},"nativeSrc":"362365:16:22","nodeType":"YulFunctionCall","src":"362365:16:22"},"nativeSrc":"362365:16:22","nodeType":"YulExpressionStatement","src":"362365:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362401:4:22","nodeType":"YulLiteral","src":"362401:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"362407:2:22","nodeType":"YulIdentifier","src":"362407:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362394:6:22","nodeType":"YulIdentifier","src":"362394:6:22"},"nativeSrc":"362394:16:22","nodeType":"YulFunctionCall","src":"362394:16:22"},"nativeSrc":"362394:16:22","nodeType":"YulExpressionStatement","src":"362394:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362430:4:22","nodeType":"YulLiteral","src":"362430:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"362436:4:22","nodeType":"YulLiteral","src":"362436:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"362423:6:22","nodeType":"YulIdentifier","src":"362423:6:22"},"nativeSrc":"362423:18:22","nodeType":"YulFunctionCall","src":"362423:18:22"},"nativeSrc":"362423:18:22","nodeType":"YulExpressionStatement","src":"362423:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362466:4:22","nodeType":"YulLiteral","src":"362466:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"362472:2:22","nodeType":"YulIdentifier","src":"362472:2:22"}],"functionName":{"name":"writeString","nativeSrc":"362454:11:22","nodeType":"YulIdentifier","src":"362454:11:22"},"nativeSrc":"362454:21:22","nodeType":"YulFunctionCall","src":"362454:21:22"},"nativeSrc":"362454:21:22","nodeType":"YulExpressionStatement","src":"362454:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362500:4:22","nodeType":"YulLiteral","src":"362500:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"362506:2:22","nodeType":"YulIdentifier","src":"362506:2:22"}],"functionName":{"name":"writeString","nativeSrc":"362488:11:22","nodeType":"YulIdentifier","src":"362488:11:22"},"nativeSrc":"362488:21:22","nodeType":"YulFunctionCall","src":"362488:21:22"},"nativeSrc":"362488:21:22","nodeType":"YulExpressionStatement","src":"362488:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42563,"isOffset":false,"isSlot":false,"src":"361967:2:22","valueSize":1},{"declaration":42566,"isOffset":false,"isSlot":false,"src":"361997:2:22","valueSize":1},{"declaration":42569,"isOffset":false,"isSlot":false,"src":"362027:2:22","valueSize":1},{"declaration":42572,"isOffset":false,"isSlot":false,"src":"362057:2:22","valueSize":1},{"declaration":42575,"isOffset":false,"isSlot":false,"src":"362087:2:22","valueSize":1},{"declaration":42578,"isOffset":false,"isSlot":false,"src":"362117:2:22","valueSize":1},{"declaration":42581,"isOffset":false,"isSlot":false,"src":"362147:2:22","valueSize":1},{"declaration":42584,"isOffset":false,"isSlot":false,"src":"362177:2:22","valueSize":1},{"declaration":42587,"isOffset":false,"isSlot":false,"src":"362207:2:22","valueSize":1},{"declaration":42553,"isOffset":false,"isSlot":false,"src":"362472:2:22","valueSize":1},{"declaration":42555,"isOffset":false,"isSlot":false,"src":"362378:2:22","valueSize":1},{"declaration":42557,"isOffset":false,"isSlot":false,"src":"362407:2:22","valueSize":1},{"declaration":42559,"isOffset":false,"isSlot":false,"src":"362506:2:22","valueSize":1}],"id":42589,"nodeType":"InlineAssembly","src":"361589:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362544:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362550:5:22","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":42590,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"362528:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"362528:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42594,"nodeType":"ExpressionStatement","src":"362528:28:22"},{"AST":{"nativeSrc":"362618:273:22","nodeType":"YulBlock","src":"362618:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"362639:4:22","nodeType":"YulLiteral","src":"362639:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"362645:2:22","nodeType":"YulIdentifier","src":"362645:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362632:6:22","nodeType":"YulIdentifier","src":"362632:6:22"},"nativeSrc":"362632:16:22","nodeType":"YulFunctionCall","src":"362632:16:22"},"nativeSrc":"362632:16:22","nodeType":"YulExpressionStatement","src":"362632:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362668:4:22","nodeType":"YulLiteral","src":"362668:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"362674:2:22","nodeType":"YulIdentifier","src":"362674:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362661:6:22","nodeType":"YulIdentifier","src":"362661:6:22"},"nativeSrc":"362661:16:22","nodeType":"YulFunctionCall","src":"362661:16:22"},"nativeSrc":"362661:16:22","nodeType":"YulExpressionStatement","src":"362661:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362697:4:22","nodeType":"YulLiteral","src":"362697:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"362703:2:22","nodeType":"YulIdentifier","src":"362703:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362690:6:22","nodeType":"YulIdentifier","src":"362690:6:22"},"nativeSrc":"362690:16:22","nodeType":"YulFunctionCall","src":"362690:16:22"},"nativeSrc":"362690:16:22","nodeType":"YulExpressionStatement","src":"362690:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362726:4:22","nodeType":"YulLiteral","src":"362726:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"362732:2:22","nodeType":"YulIdentifier","src":"362732:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362719:6:22","nodeType":"YulIdentifier","src":"362719:6:22"},"nativeSrc":"362719:16:22","nodeType":"YulFunctionCall","src":"362719:16:22"},"nativeSrc":"362719:16:22","nodeType":"YulExpressionStatement","src":"362719:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362755:4:22","nodeType":"YulLiteral","src":"362755:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"362761:2:22","nodeType":"YulIdentifier","src":"362761:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362748:6:22","nodeType":"YulIdentifier","src":"362748:6:22"},"nativeSrc":"362748:16:22","nodeType":"YulFunctionCall","src":"362748:16:22"},"nativeSrc":"362748:16:22","nodeType":"YulExpressionStatement","src":"362748:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362784:4:22","nodeType":"YulLiteral","src":"362784:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"362790:2:22","nodeType":"YulIdentifier","src":"362790:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362777:6:22","nodeType":"YulIdentifier","src":"362777:6:22"},"nativeSrc":"362777:16:22","nodeType":"YulFunctionCall","src":"362777:16:22"},"nativeSrc":"362777:16:22","nodeType":"YulExpressionStatement","src":"362777:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362813:4:22","nodeType":"YulLiteral","src":"362813:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"362819:2:22","nodeType":"YulIdentifier","src":"362819:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362806:6:22","nodeType":"YulIdentifier","src":"362806:6:22"},"nativeSrc":"362806:16:22","nodeType":"YulFunctionCall","src":"362806:16:22"},"nativeSrc":"362806:16:22","nodeType":"YulExpressionStatement","src":"362806:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362842:4:22","nodeType":"YulLiteral","src":"362842:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"362848:2:22","nodeType":"YulIdentifier","src":"362848:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362835:6:22","nodeType":"YulIdentifier","src":"362835:6:22"},"nativeSrc":"362835:16:22","nodeType":"YulFunctionCall","src":"362835:16:22"},"nativeSrc":"362835:16:22","nodeType":"YulExpressionStatement","src":"362835:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362871:5:22","nodeType":"YulLiteral","src":"362871:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"362878:2:22","nodeType":"YulIdentifier","src":"362878:2:22"}],"functionName":{"name":"mstore","nativeSrc":"362864:6:22","nodeType":"YulIdentifier","src":"362864:6:22"},"nativeSrc":"362864:17:22","nodeType":"YulFunctionCall","src":"362864:17:22"},"nativeSrc":"362864:17:22","nodeType":"YulExpressionStatement","src":"362864:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42563,"isOffset":false,"isSlot":false,"src":"362645:2:22","valueSize":1},{"declaration":42566,"isOffset":false,"isSlot":false,"src":"362674:2:22","valueSize":1},{"declaration":42569,"isOffset":false,"isSlot":false,"src":"362703:2:22","valueSize":1},{"declaration":42572,"isOffset":false,"isSlot":false,"src":"362732:2:22","valueSize":1},{"declaration":42575,"isOffset":false,"isSlot":false,"src":"362761:2:22","valueSize":1},{"declaration":42578,"isOffset":false,"isSlot":false,"src":"362790:2:22","valueSize":1},{"declaration":42581,"isOffset":false,"isSlot":false,"src":"362819:2:22","valueSize":1},{"declaration":42584,"isOffset":false,"isSlot":false,"src":"362848:2:22","valueSize":1},{"declaration":42587,"isOffset":false,"isSlot":false,"src":"362878:2:22","valueSize":1}],"id":42595,"nodeType":"InlineAssembly","src":"362609:282:22"}]},"id":42597,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"361296:3:22","nodeType":"FunctionDefinition","parameters":{"id":42560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42553,"mutability":"mutable","name":"p0","nameLocation":"361308:2:22","nodeType":"VariableDeclaration","scope":42597,"src":"361300:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361300:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42555,"mutability":"mutable","name":"p1","nameLocation":"361317:2:22","nodeType":"VariableDeclaration","scope":42597,"src":"361312:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42554,"name":"bool","nodeType":"ElementaryTypeName","src":"361312:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42557,"mutability":"mutable","name":"p2","nameLocation":"361326:2:22","nodeType":"VariableDeclaration","scope":42597,"src":"361321:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42556,"name":"bool","nodeType":"ElementaryTypeName","src":"361321:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42559,"mutability":"mutable","name":"p3","nameLocation":"361338:2:22","nodeType":"VariableDeclaration","scope":42597,"src":"361330:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361330:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"361299:42:22"},"returnParameters":{"id":42561,"nodeType":"ParameterList","parameters":[],"src":"361356:0:22"},"scope":44426,"src":"361287:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42636,"nodeType":"Block","src":"362975:1348:22","statements":[{"assignments":[42609],"declarations":[{"constant":false,"id":42609,"mutability":"mutable","name":"m0","nameLocation":"362993:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"362985:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362985:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42610,"nodeType":"VariableDeclarationStatement","src":"362985:10:22"},{"assignments":[42612],"declarations":[{"constant":false,"id":42612,"mutability":"mutable","name":"m1","nameLocation":"363013:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363005:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363005:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42613,"nodeType":"VariableDeclarationStatement","src":"363005:10:22"},{"assignments":[42615],"declarations":[{"constant":false,"id":42615,"mutability":"mutable","name":"m2","nameLocation":"363033:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363025:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363025:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42616,"nodeType":"VariableDeclarationStatement","src":"363025:10:22"},{"assignments":[42618],"declarations":[{"constant":false,"id":42618,"mutability":"mutable","name":"m3","nameLocation":"363053:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363045:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363045:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42619,"nodeType":"VariableDeclarationStatement","src":"363045:10:22"},{"assignments":[42621],"declarations":[{"constant":false,"id":42621,"mutability":"mutable","name":"m4","nameLocation":"363073:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363065:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363065:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42622,"nodeType":"VariableDeclarationStatement","src":"363065:10:22"},{"assignments":[42624],"declarations":[{"constant":false,"id":42624,"mutability":"mutable","name":"m5","nameLocation":"363093:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363085:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363085:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42625,"nodeType":"VariableDeclarationStatement","src":"363085:10:22"},{"assignments":[42627],"declarations":[{"constant":false,"id":42627,"mutability":"mutable","name":"m6","nameLocation":"363113:2:22","nodeType":"VariableDeclaration","scope":42636,"src":"363105:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363105:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42628,"nodeType":"VariableDeclarationStatement","src":"363105:10:22"},{"AST":{"nativeSrc":"363177:828:22","nodeType":"YulBlock","src":"363177:828:22","statements":[{"body":{"nativeSrc":"363220:313:22","nodeType":"YulBlock","src":"363220:313:22","statements":[{"nativeSrc":"363238:15:22","nodeType":"YulVariableDeclaration","src":"363238:15:22","value":{"kind":"number","nativeSrc":"363252:1:22","nodeType":"YulLiteral","src":"363252:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"363242:6:22","nodeType":"YulTypedName","src":"363242:6:22","type":""}]},{"body":{"nativeSrc":"363323:40:22","nodeType":"YulBlock","src":"363323:40:22","statements":[{"body":{"nativeSrc":"363352:9:22","nodeType":"YulBlock","src":"363352:9:22","statements":[{"nativeSrc":"363354:5:22","nodeType":"YulBreak","src":"363354:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"363340:6:22","nodeType":"YulIdentifier","src":"363340:6:22"},{"name":"w","nativeSrc":"363348:1:22","nodeType":"YulIdentifier","src":"363348:1:22"}],"functionName":{"name":"byte","nativeSrc":"363335:4:22","nodeType":"YulIdentifier","src":"363335:4:22"},"nativeSrc":"363335:15:22","nodeType":"YulFunctionCall","src":"363335:15:22"}],"functionName":{"name":"iszero","nativeSrc":"363328:6:22","nodeType":"YulIdentifier","src":"363328:6:22"},"nativeSrc":"363328:23:22","nodeType":"YulFunctionCall","src":"363328:23:22"},"nativeSrc":"363325:36:22","nodeType":"YulIf","src":"363325:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"363280:6:22","nodeType":"YulIdentifier","src":"363280:6:22"},{"kind":"number","nativeSrc":"363288:4:22","nodeType":"YulLiteral","src":"363288:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"363277:2:22","nodeType":"YulIdentifier","src":"363277:2:22"},"nativeSrc":"363277:16:22","nodeType":"YulFunctionCall","src":"363277:16:22"},"nativeSrc":"363270:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"363294:28:22","nodeType":"YulBlock","src":"363294:28:22","statements":[{"nativeSrc":"363296:24:22","nodeType":"YulAssignment","src":"363296:24:22","value":{"arguments":[{"name":"length","nativeSrc":"363310:6:22","nodeType":"YulIdentifier","src":"363310:6:22"},{"kind":"number","nativeSrc":"363318:1:22","nodeType":"YulLiteral","src":"363318:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"363306:3:22","nodeType":"YulIdentifier","src":"363306:3:22"},"nativeSrc":"363306:14:22","nodeType":"YulFunctionCall","src":"363306:14:22"},"variableNames":[{"name":"length","nativeSrc":"363296:6:22","nodeType":"YulIdentifier","src":"363296:6:22"}]}]},"pre":{"nativeSrc":"363274:2:22","nodeType":"YulBlock","src":"363274:2:22","statements":[]},"src":"363270:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"363387:3:22","nodeType":"YulIdentifier","src":"363387:3:22"},{"name":"length","nativeSrc":"363392:6:22","nodeType":"YulIdentifier","src":"363392:6:22"}],"functionName":{"name":"mstore","nativeSrc":"363380:6:22","nodeType":"YulIdentifier","src":"363380:6:22"},"nativeSrc":"363380:19:22","nodeType":"YulFunctionCall","src":"363380:19:22"},"nativeSrc":"363380:19:22","nodeType":"YulExpressionStatement","src":"363380:19:22"},{"nativeSrc":"363416:37:22","nodeType":"YulVariableDeclaration","src":"363416:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"363433:3:22","nodeType":"YulLiteral","src":"363433:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"363442:1:22","nodeType":"YulLiteral","src":"363442:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"363445:6:22","nodeType":"YulIdentifier","src":"363445:6:22"}],"functionName":{"name":"shl","nativeSrc":"363438:3:22","nodeType":"YulIdentifier","src":"363438:3:22"},"nativeSrc":"363438:14:22","nodeType":"YulFunctionCall","src":"363438:14:22"}],"functionName":{"name":"sub","nativeSrc":"363429:3:22","nodeType":"YulIdentifier","src":"363429:3:22"},"nativeSrc":"363429:24:22","nodeType":"YulFunctionCall","src":"363429:24:22"},"variables":[{"name":"shift","nativeSrc":"363420:5:22","nodeType":"YulTypedName","src":"363420:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"363481:3:22","nodeType":"YulIdentifier","src":"363481:3:22"},{"kind":"number","nativeSrc":"363486:4:22","nodeType":"YulLiteral","src":"363486:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"363477:3:22","nodeType":"YulIdentifier","src":"363477:3:22"},"nativeSrc":"363477:14:22","nodeType":"YulFunctionCall","src":"363477:14:22"},{"arguments":[{"name":"shift","nativeSrc":"363497:5:22","nodeType":"YulIdentifier","src":"363497:5:22"},{"arguments":[{"name":"shift","nativeSrc":"363508:5:22","nodeType":"YulIdentifier","src":"363508:5:22"},{"name":"w","nativeSrc":"363515:1:22","nodeType":"YulIdentifier","src":"363515:1:22"}],"functionName":{"name":"shr","nativeSrc":"363504:3:22","nodeType":"YulIdentifier","src":"363504:3:22"},"nativeSrc":"363504:13:22","nodeType":"YulFunctionCall","src":"363504:13:22"}],"functionName":{"name":"shl","nativeSrc":"363493:3:22","nodeType":"YulIdentifier","src":"363493:3:22"},"nativeSrc":"363493:25:22","nodeType":"YulFunctionCall","src":"363493:25:22"}],"functionName":{"name":"mstore","nativeSrc":"363470:6:22","nodeType":"YulIdentifier","src":"363470:6:22"},"nativeSrc":"363470:49:22","nodeType":"YulFunctionCall","src":"363470:49:22"},"nativeSrc":"363470:49:22","nodeType":"YulExpressionStatement","src":"363470:49:22"}]},"name":"writeString","nativeSrc":"363191:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"363212:3:22","nodeType":"YulTypedName","src":"363212:3:22","type":""},{"name":"w","nativeSrc":"363217:1:22","nodeType":"YulTypedName","src":"363217:1:22","type":""}],"src":"363191:342:22"},{"nativeSrc":"363546:17:22","nodeType":"YulAssignment","src":"363546:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363558:4:22","nodeType":"YulLiteral","src":"363558:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"363552:5:22","nodeType":"YulIdentifier","src":"363552:5:22"},"nativeSrc":"363552:11:22","nodeType":"YulFunctionCall","src":"363552:11:22"},"variableNames":[{"name":"m0","nativeSrc":"363546:2:22","nodeType":"YulIdentifier","src":"363546:2:22"}]},{"nativeSrc":"363576:17:22","nodeType":"YulAssignment","src":"363576:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363588:4:22","nodeType":"YulLiteral","src":"363588:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"363582:5:22","nodeType":"YulIdentifier","src":"363582:5:22"},"nativeSrc":"363582:11:22","nodeType":"YulFunctionCall","src":"363582:11:22"},"variableNames":[{"name":"m1","nativeSrc":"363576:2:22","nodeType":"YulIdentifier","src":"363576:2:22"}]},{"nativeSrc":"363606:17:22","nodeType":"YulAssignment","src":"363606:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363618:4:22","nodeType":"YulLiteral","src":"363618:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"363612:5:22","nodeType":"YulIdentifier","src":"363612:5:22"},"nativeSrc":"363612:11:22","nodeType":"YulFunctionCall","src":"363612:11:22"},"variableNames":[{"name":"m2","nativeSrc":"363606:2:22","nodeType":"YulIdentifier","src":"363606:2:22"}]},{"nativeSrc":"363636:17:22","nodeType":"YulAssignment","src":"363636:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363648:4:22","nodeType":"YulLiteral","src":"363648:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"363642:5:22","nodeType":"YulIdentifier","src":"363642:5:22"},"nativeSrc":"363642:11:22","nodeType":"YulFunctionCall","src":"363642:11:22"},"variableNames":[{"name":"m3","nativeSrc":"363636:2:22","nodeType":"YulIdentifier","src":"363636:2:22"}]},{"nativeSrc":"363666:17:22","nodeType":"YulAssignment","src":"363666:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363678:4:22","nodeType":"YulLiteral","src":"363678:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"363672:5:22","nodeType":"YulIdentifier","src":"363672:5:22"},"nativeSrc":"363672:11:22","nodeType":"YulFunctionCall","src":"363672:11:22"},"variableNames":[{"name":"m4","nativeSrc":"363666:2:22","nodeType":"YulIdentifier","src":"363666:2:22"}]},{"nativeSrc":"363696:17:22","nodeType":"YulAssignment","src":"363696:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363708:4:22","nodeType":"YulLiteral","src":"363708:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"363702:5:22","nodeType":"YulIdentifier","src":"363702:5:22"},"nativeSrc":"363702:11:22","nodeType":"YulFunctionCall","src":"363702:11:22"},"variableNames":[{"name":"m5","nativeSrc":"363696:2:22","nodeType":"YulIdentifier","src":"363696:2:22"}]},{"nativeSrc":"363726:17:22","nodeType":"YulAssignment","src":"363726:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"363738:4:22","nodeType":"YulLiteral","src":"363738:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"363732:5:22","nodeType":"YulIdentifier","src":"363732:5:22"},"nativeSrc":"363732:11:22","nodeType":"YulFunctionCall","src":"363732:11:22"},"variableNames":[{"name":"m6","nativeSrc":"363726:2:22","nodeType":"YulIdentifier","src":"363726:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363826:4:22","nodeType":"YulLiteral","src":"363826:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"363832:10:22","nodeType":"YulLiteral","src":"363832:10:22","type":"","value":"0x935e09bf"}],"functionName":{"name":"mstore","nativeSrc":"363819:6:22","nodeType":"YulIdentifier","src":"363819:6:22"},"nativeSrc":"363819:24:22","nodeType":"YulFunctionCall","src":"363819:24:22"},"nativeSrc":"363819:24:22","nodeType":"YulExpressionStatement","src":"363819:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363863:4:22","nodeType":"YulLiteral","src":"363863:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"363869:4:22","nodeType":"YulLiteral","src":"363869:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"363856:6:22","nodeType":"YulIdentifier","src":"363856:6:22"},"nativeSrc":"363856:18:22","nodeType":"YulFunctionCall","src":"363856:18:22"},"nativeSrc":"363856:18:22","nodeType":"YulExpressionStatement","src":"363856:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363894:4:22","nodeType":"YulLiteral","src":"363894:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"363900:2:22","nodeType":"YulIdentifier","src":"363900:2:22"}],"functionName":{"name":"mstore","nativeSrc":"363887:6:22","nodeType":"YulIdentifier","src":"363887:6:22"},"nativeSrc":"363887:16:22","nodeType":"YulFunctionCall","src":"363887:16:22"},"nativeSrc":"363887:16:22","nodeType":"YulExpressionStatement","src":"363887:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363923:4:22","nodeType":"YulLiteral","src":"363923:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"363929:2:22","nodeType":"YulIdentifier","src":"363929:2:22"}],"functionName":{"name":"mstore","nativeSrc":"363916:6:22","nodeType":"YulIdentifier","src":"363916:6:22"},"nativeSrc":"363916:16:22","nodeType":"YulFunctionCall","src":"363916:16:22"},"nativeSrc":"363916:16:22","nodeType":"YulExpressionStatement","src":"363916:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363952:4:22","nodeType":"YulLiteral","src":"363952:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"363958:2:22","nodeType":"YulIdentifier","src":"363958:2:22"}],"functionName":{"name":"mstore","nativeSrc":"363945:6:22","nodeType":"YulIdentifier","src":"363945:6:22"},"nativeSrc":"363945:16:22","nodeType":"YulFunctionCall","src":"363945:16:22"},"nativeSrc":"363945:16:22","nodeType":"YulExpressionStatement","src":"363945:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363986:4:22","nodeType":"YulLiteral","src":"363986:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"363992:2:22","nodeType":"YulIdentifier","src":"363992:2:22"}],"functionName":{"name":"writeString","nativeSrc":"363974:11:22","nodeType":"YulIdentifier","src":"363974:11:22"},"nativeSrc":"363974:21:22","nodeType":"YulFunctionCall","src":"363974:21:22"},"nativeSrc":"363974:21:22","nodeType":"YulExpressionStatement","src":"363974:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42609,"isOffset":false,"isSlot":false,"src":"363546:2:22","valueSize":1},{"declaration":42612,"isOffset":false,"isSlot":false,"src":"363576:2:22","valueSize":1},{"declaration":42615,"isOffset":false,"isSlot":false,"src":"363606:2:22","valueSize":1},{"declaration":42618,"isOffset":false,"isSlot":false,"src":"363636:2:22","valueSize":1},{"declaration":42621,"isOffset":false,"isSlot":false,"src":"363666:2:22","valueSize":1},{"declaration":42624,"isOffset":false,"isSlot":false,"src":"363696:2:22","valueSize":1},{"declaration":42627,"isOffset":false,"isSlot":false,"src":"363726:2:22","valueSize":1},{"declaration":42599,"isOffset":false,"isSlot":false,"src":"363992:2:22","valueSize":1},{"declaration":42601,"isOffset":false,"isSlot":false,"src":"363900:2:22","valueSize":1},{"declaration":42603,"isOffset":false,"isSlot":false,"src":"363929:2:22","valueSize":1},{"declaration":42605,"isOffset":false,"isSlot":false,"src":"363958:2:22","valueSize":1}],"id":42629,"nodeType":"InlineAssembly","src":"363168:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364030:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364036:4:22","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":42630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"364014:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"364014:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42634,"nodeType":"ExpressionStatement","src":"364014:27:22"},{"AST":{"nativeSrc":"364103:214:22","nodeType":"YulBlock","src":"364103:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"364124:4:22","nodeType":"YulLiteral","src":"364124:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"364130:2:22","nodeType":"YulIdentifier","src":"364130:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364117:6:22","nodeType":"YulIdentifier","src":"364117:6:22"},"nativeSrc":"364117:16:22","nodeType":"YulFunctionCall","src":"364117:16:22"},"nativeSrc":"364117:16:22","nodeType":"YulExpressionStatement","src":"364117:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364153:4:22","nodeType":"YulLiteral","src":"364153:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"364159:2:22","nodeType":"YulIdentifier","src":"364159:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364146:6:22","nodeType":"YulIdentifier","src":"364146:6:22"},"nativeSrc":"364146:16:22","nodeType":"YulFunctionCall","src":"364146:16:22"},"nativeSrc":"364146:16:22","nodeType":"YulExpressionStatement","src":"364146:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364182:4:22","nodeType":"YulLiteral","src":"364182:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"364188:2:22","nodeType":"YulIdentifier","src":"364188:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364175:6:22","nodeType":"YulIdentifier","src":"364175:6:22"},"nativeSrc":"364175:16:22","nodeType":"YulFunctionCall","src":"364175:16:22"},"nativeSrc":"364175:16:22","nodeType":"YulExpressionStatement","src":"364175:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364211:4:22","nodeType":"YulLiteral","src":"364211:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"364217:2:22","nodeType":"YulIdentifier","src":"364217:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364204:6:22","nodeType":"YulIdentifier","src":"364204:6:22"},"nativeSrc":"364204:16:22","nodeType":"YulFunctionCall","src":"364204:16:22"},"nativeSrc":"364204:16:22","nodeType":"YulExpressionStatement","src":"364204:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364240:4:22","nodeType":"YulLiteral","src":"364240:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"364246:2:22","nodeType":"YulIdentifier","src":"364246:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364233:6:22","nodeType":"YulIdentifier","src":"364233:6:22"},"nativeSrc":"364233:16:22","nodeType":"YulFunctionCall","src":"364233:16:22"},"nativeSrc":"364233:16:22","nodeType":"YulExpressionStatement","src":"364233:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364269:4:22","nodeType":"YulLiteral","src":"364269:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"364275:2:22","nodeType":"YulIdentifier","src":"364275:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364262:6:22","nodeType":"YulIdentifier","src":"364262:6:22"},"nativeSrc":"364262:16:22","nodeType":"YulFunctionCall","src":"364262:16:22"},"nativeSrc":"364262:16:22","nodeType":"YulExpressionStatement","src":"364262:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364298:4:22","nodeType":"YulLiteral","src":"364298:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"364304:2:22","nodeType":"YulIdentifier","src":"364304:2:22"}],"functionName":{"name":"mstore","nativeSrc":"364291:6:22","nodeType":"YulIdentifier","src":"364291:6:22"},"nativeSrc":"364291:16:22","nodeType":"YulFunctionCall","src":"364291:16:22"},"nativeSrc":"364291:16:22","nodeType":"YulExpressionStatement","src":"364291:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42609,"isOffset":false,"isSlot":false,"src":"364130:2:22","valueSize":1},{"declaration":42612,"isOffset":false,"isSlot":false,"src":"364159:2:22","valueSize":1},{"declaration":42615,"isOffset":false,"isSlot":false,"src":"364188:2:22","valueSize":1},{"declaration":42618,"isOffset":false,"isSlot":false,"src":"364217:2:22","valueSize":1},{"declaration":42621,"isOffset":false,"isSlot":false,"src":"364246:2:22","valueSize":1},{"declaration":42624,"isOffset":false,"isSlot":false,"src":"364275:2:22","valueSize":1},{"declaration":42627,"isOffset":false,"isSlot":false,"src":"364304:2:22","valueSize":1}],"id":42635,"nodeType":"InlineAssembly","src":"364094:223:22"}]},"id":42637,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"362912:3:22","nodeType":"FunctionDefinition","parameters":{"id":42606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42599,"mutability":"mutable","name":"p0","nameLocation":"362924:2:22","nodeType":"VariableDeclaration","scope":42637,"src":"362916:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362916:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42601,"mutability":"mutable","name":"p1","nameLocation":"362933:2:22","nodeType":"VariableDeclaration","scope":42637,"src":"362928:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42600,"name":"bool","nodeType":"ElementaryTypeName","src":"362928:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42603,"mutability":"mutable","name":"p2","nameLocation":"362945:2:22","nodeType":"VariableDeclaration","scope":42637,"src":"362937:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42602,"name":"uint256","nodeType":"ElementaryTypeName","src":"362937:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42605,"mutability":"mutable","name":"p3","nameLocation":"362957:2:22","nodeType":"VariableDeclaration","scope":42637,"src":"362949:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42604,"name":"address","nodeType":"ElementaryTypeName","src":"362949:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"362915:45:22"},"returnParameters":{"id":42607,"nodeType":"ParameterList","parameters":[],"src":"362975:0:22"},"scope":44426,"src":"362903:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42676,"nodeType":"Block","src":"364398:1345:22","statements":[{"assignments":[42649],"declarations":[{"constant":false,"id":42649,"mutability":"mutable","name":"m0","nameLocation":"364416:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364408:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42650,"nodeType":"VariableDeclarationStatement","src":"364408:10:22"},{"assignments":[42652],"declarations":[{"constant":false,"id":42652,"mutability":"mutable","name":"m1","nameLocation":"364436:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364428:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364428:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42653,"nodeType":"VariableDeclarationStatement","src":"364428:10:22"},{"assignments":[42655],"declarations":[{"constant":false,"id":42655,"mutability":"mutable","name":"m2","nameLocation":"364456:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364448:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364448:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42656,"nodeType":"VariableDeclarationStatement","src":"364448:10:22"},{"assignments":[42658],"declarations":[{"constant":false,"id":42658,"mutability":"mutable","name":"m3","nameLocation":"364476:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364468:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42659,"nodeType":"VariableDeclarationStatement","src":"364468:10:22"},{"assignments":[42661],"declarations":[{"constant":false,"id":42661,"mutability":"mutable","name":"m4","nameLocation":"364496:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364488:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364488:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42662,"nodeType":"VariableDeclarationStatement","src":"364488:10:22"},{"assignments":[42664],"declarations":[{"constant":false,"id":42664,"mutability":"mutable","name":"m5","nameLocation":"364516:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364508:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364508:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42665,"nodeType":"VariableDeclarationStatement","src":"364508:10:22"},{"assignments":[42667],"declarations":[{"constant":false,"id":42667,"mutability":"mutable","name":"m6","nameLocation":"364536:2:22","nodeType":"VariableDeclaration","scope":42676,"src":"364528:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364528:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42668,"nodeType":"VariableDeclarationStatement","src":"364528:10:22"},{"AST":{"nativeSrc":"364600:825:22","nodeType":"YulBlock","src":"364600:825:22","statements":[{"body":{"nativeSrc":"364643:313:22","nodeType":"YulBlock","src":"364643:313:22","statements":[{"nativeSrc":"364661:15:22","nodeType":"YulVariableDeclaration","src":"364661:15:22","value":{"kind":"number","nativeSrc":"364675:1:22","nodeType":"YulLiteral","src":"364675:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"364665:6:22","nodeType":"YulTypedName","src":"364665:6:22","type":""}]},{"body":{"nativeSrc":"364746:40:22","nodeType":"YulBlock","src":"364746:40:22","statements":[{"body":{"nativeSrc":"364775:9:22","nodeType":"YulBlock","src":"364775:9:22","statements":[{"nativeSrc":"364777:5:22","nodeType":"YulBreak","src":"364777:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"364763:6:22","nodeType":"YulIdentifier","src":"364763:6:22"},{"name":"w","nativeSrc":"364771:1:22","nodeType":"YulIdentifier","src":"364771:1:22"}],"functionName":{"name":"byte","nativeSrc":"364758:4:22","nodeType":"YulIdentifier","src":"364758:4:22"},"nativeSrc":"364758:15:22","nodeType":"YulFunctionCall","src":"364758:15:22"}],"functionName":{"name":"iszero","nativeSrc":"364751:6:22","nodeType":"YulIdentifier","src":"364751:6:22"},"nativeSrc":"364751:23:22","nodeType":"YulFunctionCall","src":"364751:23:22"},"nativeSrc":"364748:36:22","nodeType":"YulIf","src":"364748:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"364703:6:22","nodeType":"YulIdentifier","src":"364703:6:22"},{"kind":"number","nativeSrc":"364711:4:22","nodeType":"YulLiteral","src":"364711:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"364700:2:22","nodeType":"YulIdentifier","src":"364700:2:22"},"nativeSrc":"364700:16:22","nodeType":"YulFunctionCall","src":"364700:16:22"},"nativeSrc":"364693:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"364717:28:22","nodeType":"YulBlock","src":"364717:28:22","statements":[{"nativeSrc":"364719:24:22","nodeType":"YulAssignment","src":"364719:24:22","value":{"arguments":[{"name":"length","nativeSrc":"364733:6:22","nodeType":"YulIdentifier","src":"364733:6:22"},{"kind":"number","nativeSrc":"364741:1:22","nodeType":"YulLiteral","src":"364741:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"364729:3:22","nodeType":"YulIdentifier","src":"364729:3:22"},"nativeSrc":"364729:14:22","nodeType":"YulFunctionCall","src":"364729:14:22"},"variableNames":[{"name":"length","nativeSrc":"364719:6:22","nodeType":"YulIdentifier","src":"364719:6:22"}]}]},"pre":{"nativeSrc":"364697:2:22","nodeType":"YulBlock","src":"364697:2:22","statements":[]},"src":"364693:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"364810:3:22","nodeType":"YulIdentifier","src":"364810:3:22"},{"name":"length","nativeSrc":"364815:6:22","nodeType":"YulIdentifier","src":"364815:6:22"}],"functionName":{"name":"mstore","nativeSrc":"364803:6:22","nodeType":"YulIdentifier","src":"364803:6:22"},"nativeSrc":"364803:19:22","nodeType":"YulFunctionCall","src":"364803:19:22"},"nativeSrc":"364803:19:22","nodeType":"YulExpressionStatement","src":"364803:19:22"},{"nativeSrc":"364839:37:22","nodeType":"YulVariableDeclaration","src":"364839:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"364856:3:22","nodeType":"YulLiteral","src":"364856:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"364865:1:22","nodeType":"YulLiteral","src":"364865:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"364868:6:22","nodeType":"YulIdentifier","src":"364868:6:22"}],"functionName":{"name":"shl","nativeSrc":"364861:3:22","nodeType":"YulIdentifier","src":"364861:3:22"},"nativeSrc":"364861:14:22","nodeType":"YulFunctionCall","src":"364861:14:22"}],"functionName":{"name":"sub","nativeSrc":"364852:3:22","nodeType":"YulIdentifier","src":"364852:3:22"},"nativeSrc":"364852:24:22","nodeType":"YulFunctionCall","src":"364852:24:22"},"variables":[{"name":"shift","nativeSrc":"364843:5:22","nodeType":"YulTypedName","src":"364843:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"364904:3:22","nodeType":"YulIdentifier","src":"364904:3:22"},{"kind":"number","nativeSrc":"364909:4:22","nodeType":"YulLiteral","src":"364909:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"364900:3:22","nodeType":"YulIdentifier","src":"364900:3:22"},"nativeSrc":"364900:14:22","nodeType":"YulFunctionCall","src":"364900:14:22"},{"arguments":[{"name":"shift","nativeSrc":"364920:5:22","nodeType":"YulIdentifier","src":"364920:5:22"},{"arguments":[{"name":"shift","nativeSrc":"364931:5:22","nodeType":"YulIdentifier","src":"364931:5:22"},{"name":"w","nativeSrc":"364938:1:22","nodeType":"YulIdentifier","src":"364938:1:22"}],"functionName":{"name":"shr","nativeSrc":"364927:3:22","nodeType":"YulIdentifier","src":"364927:3:22"},"nativeSrc":"364927:13:22","nodeType":"YulFunctionCall","src":"364927:13:22"}],"functionName":{"name":"shl","nativeSrc":"364916:3:22","nodeType":"YulIdentifier","src":"364916:3:22"},"nativeSrc":"364916:25:22","nodeType":"YulFunctionCall","src":"364916:25:22"}],"functionName":{"name":"mstore","nativeSrc":"364893:6:22","nodeType":"YulIdentifier","src":"364893:6:22"},"nativeSrc":"364893:49:22","nodeType":"YulFunctionCall","src":"364893:49:22"},"nativeSrc":"364893:49:22","nodeType":"YulExpressionStatement","src":"364893:49:22"}]},"name":"writeString","nativeSrc":"364614:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"364635:3:22","nodeType":"YulTypedName","src":"364635:3:22","type":""},{"name":"w","nativeSrc":"364640:1:22","nodeType":"YulTypedName","src":"364640:1:22","type":""}],"src":"364614:342:22"},{"nativeSrc":"364969:17:22","nodeType":"YulAssignment","src":"364969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"364981:4:22","nodeType":"YulLiteral","src":"364981:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"364975:5:22","nodeType":"YulIdentifier","src":"364975:5:22"},"nativeSrc":"364975:11:22","nodeType":"YulFunctionCall","src":"364975:11:22"},"variableNames":[{"name":"m0","nativeSrc":"364969:2:22","nodeType":"YulIdentifier","src":"364969:2:22"}]},{"nativeSrc":"364999:17:22","nodeType":"YulAssignment","src":"364999:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365011:4:22","nodeType":"YulLiteral","src":"365011:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"365005:5:22","nodeType":"YulIdentifier","src":"365005:5:22"},"nativeSrc":"365005:11:22","nodeType":"YulFunctionCall","src":"365005:11:22"},"variableNames":[{"name":"m1","nativeSrc":"364999:2:22","nodeType":"YulIdentifier","src":"364999:2:22"}]},{"nativeSrc":"365029:17:22","nodeType":"YulAssignment","src":"365029:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365041:4:22","nodeType":"YulLiteral","src":"365041:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"365035:5:22","nodeType":"YulIdentifier","src":"365035:5:22"},"nativeSrc":"365035:11:22","nodeType":"YulFunctionCall","src":"365035:11:22"},"variableNames":[{"name":"m2","nativeSrc":"365029:2:22","nodeType":"YulIdentifier","src":"365029:2:22"}]},{"nativeSrc":"365059:17:22","nodeType":"YulAssignment","src":"365059:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365071:4:22","nodeType":"YulLiteral","src":"365071:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"365065:5:22","nodeType":"YulIdentifier","src":"365065:5:22"},"nativeSrc":"365065:11:22","nodeType":"YulFunctionCall","src":"365065:11:22"},"variableNames":[{"name":"m3","nativeSrc":"365059:2:22","nodeType":"YulIdentifier","src":"365059:2:22"}]},{"nativeSrc":"365089:17:22","nodeType":"YulAssignment","src":"365089:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365101:4:22","nodeType":"YulLiteral","src":"365101:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"365095:5:22","nodeType":"YulIdentifier","src":"365095:5:22"},"nativeSrc":"365095:11:22","nodeType":"YulFunctionCall","src":"365095:11:22"},"variableNames":[{"name":"m4","nativeSrc":"365089:2:22","nodeType":"YulIdentifier","src":"365089:2:22"}]},{"nativeSrc":"365119:17:22","nodeType":"YulAssignment","src":"365119:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365131:4:22","nodeType":"YulLiteral","src":"365131:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"365125:5:22","nodeType":"YulIdentifier","src":"365125:5:22"},"nativeSrc":"365125:11:22","nodeType":"YulFunctionCall","src":"365125:11:22"},"variableNames":[{"name":"m5","nativeSrc":"365119:2:22","nodeType":"YulIdentifier","src":"365119:2:22"}]},{"nativeSrc":"365149:17:22","nodeType":"YulAssignment","src":"365149:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"365161:4:22","nodeType":"YulLiteral","src":"365161:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"365155:5:22","nodeType":"YulIdentifier","src":"365155:5:22"},"nativeSrc":"365155:11:22","nodeType":"YulFunctionCall","src":"365155:11:22"},"variableNames":[{"name":"m6","nativeSrc":"365149:2:22","nodeType":"YulIdentifier","src":"365149:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365246:4:22","nodeType":"YulLiteral","src":"365246:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"365252:10:22","nodeType":"YulLiteral","src":"365252:10:22","type":"","value":"0x8af7cf8a"}],"functionName":{"name":"mstore","nativeSrc":"365239:6:22","nodeType":"YulIdentifier","src":"365239:6:22"},"nativeSrc":"365239:24:22","nodeType":"YulFunctionCall","src":"365239:24:22"},"nativeSrc":"365239:24:22","nodeType":"YulExpressionStatement","src":"365239:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365283:4:22","nodeType":"YulLiteral","src":"365283:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"365289:4:22","nodeType":"YulLiteral","src":"365289:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"365276:6:22","nodeType":"YulIdentifier","src":"365276:6:22"},"nativeSrc":"365276:18:22","nodeType":"YulFunctionCall","src":"365276:18:22"},"nativeSrc":"365276:18:22","nodeType":"YulExpressionStatement","src":"365276:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365314:4:22","nodeType":"YulLiteral","src":"365314:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"365320:2:22","nodeType":"YulIdentifier","src":"365320:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365307:6:22","nodeType":"YulIdentifier","src":"365307:6:22"},"nativeSrc":"365307:16:22","nodeType":"YulFunctionCall","src":"365307:16:22"},"nativeSrc":"365307:16:22","nodeType":"YulExpressionStatement","src":"365307:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365343:4:22","nodeType":"YulLiteral","src":"365343:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"365349:2:22","nodeType":"YulIdentifier","src":"365349:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365336:6:22","nodeType":"YulIdentifier","src":"365336:6:22"},"nativeSrc":"365336:16:22","nodeType":"YulFunctionCall","src":"365336:16:22"},"nativeSrc":"365336:16:22","nodeType":"YulExpressionStatement","src":"365336:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365372:4:22","nodeType":"YulLiteral","src":"365372:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"365378:2:22","nodeType":"YulIdentifier","src":"365378:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365365:6:22","nodeType":"YulIdentifier","src":"365365:6:22"},"nativeSrc":"365365:16:22","nodeType":"YulFunctionCall","src":"365365:16:22"},"nativeSrc":"365365:16:22","nodeType":"YulExpressionStatement","src":"365365:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365406:4:22","nodeType":"YulLiteral","src":"365406:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"365412:2:22","nodeType":"YulIdentifier","src":"365412:2:22"}],"functionName":{"name":"writeString","nativeSrc":"365394:11:22","nodeType":"YulIdentifier","src":"365394:11:22"},"nativeSrc":"365394:21:22","nodeType":"YulFunctionCall","src":"365394:21:22"},"nativeSrc":"365394:21:22","nodeType":"YulExpressionStatement","src":"365394:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42649,"isOffset":false,"isSlot":false,"src":"364969:2:22","valueSize":1},{"declaration":42652,"isOffset":false,"isSlot":false,"src":"364999:2:22","valueSize":1},{"declaration":42655,"isOffset":false,"isSlot":false,"src":"365029:2:22","valueSize":1},{"declaration":42658,"isOffset":false,"isSlot":false,"src":"365059:2:22","valueSize":1},{"declaration":42661,"isOffset":false,"isSlot":false,"src":"365089:2:22","valueSize":1},{"declaration":42664,"isOffset":false,"isSlot":false,"src":"365119:2:22","valueSize":1},{"declaration":42667,"isOffset":false,"isSlot":false,"src":"365149:2:22","valueSize":1},{"declaration":42639,"isOffset":false,"isSlot":false,"src":"365412:2:22","valueSize":1},{"declaration":42641,"isOffset":false,"isSlot":false,"src":"365320:2:22","valueSize":1},{"declaration":42643,"isOffset":false,"isSlot":false,"src":"365349:2:22","valueSize":1},{"declaration":42645,"isOffset":false,"isSlot":false,"src":"365378:2:22","valueSize":1}],"id":42669,"nodeType":"InlineAssembly","src":"364591:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365450:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365456:4:22","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":42670,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"365434:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"365434:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42674,"nodeType":"ExpressionStatement","src":"365434:27:22"},{"AST":{"nativeSrc":"365523:214:22","nodeType":"YulBlock","src":"365523:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"365544:4:22","nodeType":"YulLiteral","src":"365544:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"365550:2:22","nodeType":"YulIdentifier","src":"365550:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365537:6:22","nodeType":"YulIdentifier","src":"365537:6:22"},"nativeSrc":"365537:16:22","nodeType":"YulFunctionCall","src":"365537:16:22"},"nativeSrc":"365537:16:22","nodeType":"YulExpressionStatement","src":"365537:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365573:4:22","nodeType":"YulLiteral","src":"365573:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"365579:2:22","nodeType":"YulIdentifier","src":"365579:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365566:6:22","nodeType":"YulIdentifier","src":"365566:6:22"},"nativeSrc":"365566:16:22","nodeType":"YulFunctionCall","src":"365566:16:22"},"nativeSrc":"365566:16:22","nodeType":"YulExpressionStatement","src":"365566:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365602:4:22","nodeType":"YulLiteral","src":"365602:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"365608:2:22","nodeType":"YulIdentifier","src":"365608:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365595:6:22","nodeType":"YulIdentifier","src":"365595:6:22"},"nativeSrc":"365595:16:22","nodeType":"YulFunctionCall","src":"365595:16:22"},"nativeSrc":"365595:16:22","nodeType":"YulExpressionStatement","src":"365595:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365631:4:22","nodeType":"YulLiteral","src":"365631:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"365637:2:22","nodeType":"YulIdentifier","src":"365637:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365624:6:22","nodeType":"YulIdentifier","src":"365624:6:22"},"nativeSrc":"365624:16:22","nodeType":"YulFunctionCall","src":"365624:16:22"},"nativeSrc":"365624:16:22","nodeType":"YulExpressionStatement","src":"365624:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365660:4:22","nodeType":"YulLiteral","src":"365660:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"365666:2:22","nodeType":"YulIdentifier","src":"365666:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365653:6:22","nodeType":"YulIdentifier","src":"365653:6:22"},"nativeSrc":"365653:16:22","nodeType":"YulFunctionCall","src":"365653:16:22"},"nativeSrc":"365653:16:22","nodeType":"YulExpressionStatement","src":"365653:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365689:4:22","nodeType":"YulLiteral","src":"365689:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"365695:2:22","nodeType":"YulIdentifier","src":"365695:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365682:6:22","nodeType":"YulIdentifier","src":"365682:6:22"},"nativeSrc":"365682:16:22","nodeType":"YulFunctionCall","src":"365682:16:22"},"nativeSrc":"365682:16:22","nodeType":"YulExpressionStatement","src":"365682:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365718:4:22","nodeType":"YulLiteral","src":"365718:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"365724:2:22","nodeType":"YulIdentifier","src":"365724:2:22"}],"functionName":{"name":"mstore","nativeSrc":"365711:6:22","nodeType":"YulIdentifier","src":"365711:6:22"},"nativeSrc":"365711:16:22","nodeType":"YulFunctionCall","src":"365711:16:22"},"nativeSrc":"365711:16:22","nodeType":"YulExpressionStatement","src":"365711:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42649,"isOffset":false,"isSlot":false,"src":"365550:2:22","valueSize":1},{"declaration":42652,"isOffset":false,"isSlot":false,"src":"365579:2:22","valueSize":1},{"declaration":42655,"isOffset":false,"isSlot":false,"src":"365608:2:22","valueSize":1},{"declaration":42658,"isOffset":false,"isSlot":false,"src":"365637:2:22","valueSize":1},{"declaration":42661,"isOffset":false,"isSlot":false,"src":"365666:2:22","valueSize":1},{"declaration":42664,"isOffset":false,"isSlot":false,"src":"365695:2:22","valueSize":1},{"declaration":42667,"isOffset":false,"isSlot":false,"src":"365724:2:22","valueSize":1}],"id":42675,"nodeType":"InlineAssembly","src":"365514:223:22"}]},"id":42677,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"364338:3:22","nodeType":"FunctionDefinition","parameters":{"id":42646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42639,"mutability":"mutable","name":"p0","nameLocation":"364350:2:22","nodeType":"VariableDeclaration","scope":42677,"src":"364342:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364342:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42641,"mutability":"mutable","name":"p1","nameLocation":"364359:2:22","nodeType":"VariableDeclaration","scope":42677,"src":"364354:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42640,"name":"bool","nodeType":"ElementaryTypeName","src":"364354:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42643,"mutability":"mutable","name":"p2","nameLocation":"364371:2:22","nodeType":"VariableDeclaration","scope":42677,"src":"364363:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42642,"name":"uint256","nodeType":"ElementaryTypeName","src":"364363:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42645,"mutability":"mutable","name":"p3","nameLocation":"364380:2:22","nodeType":"VariableDeclaration","scope":42677,"src":"364375:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42644,"name":"bool","nodeType":"ElementaryTypeName","src":"364375:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"364341:42:22"},"returnParameters":{"id":42647,"nodeType":"ParameterList","parameters":[],"src":"364398:0:22"},"scope":44426,"src":"364329:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42716,"nodeType":"Block","src":"365821:1348:22","statements":[{"assignments":[42689],"declarations":[{"constant":false,"id":42689,"mutability":"mutable","name":"m0","nameLocation":"365839:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365831:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42690,"nodeType":"VariableDeclarationStatement","src":"365831:10:22"},{"assignments":[42692],"declarations":[{"constant":false,"id":42692,"mutability":"mutable","name":"m1","nameLocation":"365859:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365851:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365851:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42693,"nodeType":"VariableDeclarationStatement","src":"365851:10:22"},{"assignments":[42695],"declarations":[{"constant":false,"id":42695,"mutability":"mutable","name":"m2","nameLocation":"365879:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365871:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365871:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42696,"nodeType":"VariableDeclarationStatement","src":"365871:10:22"},{"assignments":[42698],"declarations":[{"constant":false,"id":42698,"mutability":"mutable","name":"m3","nameLocation":"365899:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365891:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365891:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42699,"nodeType":"VariableDeclarationStatement","src":"365891:10:22"},{"assignments":[42701],"declarations":[{"constant":false,"id":42701,"mutability":"mutable","name":"m4","nameLocation":"365919:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365911:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365911:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42702,"nodeType":"VariableDeclarationStatement","src":"365911:10:22"},{"assignments":[42704],"declarations":[{"constant":false,"id":42704,"mutability":"mutable","name":"m5","nameLocation":"365939:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365931:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365931:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42705,"nodeType":"VariableDeclarationStatement","src":"365931:10:22"},{"assignments":[42707],"declarations":[{"constant":false,"id":42707,"mutability":"mutable","name":"m6","nameLocation":"365959:2:22","nodeType":"VariableDeclaration","scope":42716,"src":"365951:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365951:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42708,"nodeType":"VariableDeclarationStatement","src":"365951:10:22"},{"AST":{"nativeSrc":"366023:828:22","nodeType":"YulBlock","src":"366023:828:22","statements":[{"body":{"nativeSrc":"366066:313:22","nodeType":"YulBlock","src":"366066:313:22","statements":[{"nativeSrc":"366084:15:22","nodeType":"YulVariableDeclaration","src":"366084:15:22","value":{"kind":"number","nativeSrc":"366098:1:22","nodeType":"YulLiteral","src":"366098:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"366088:6:22","nodeType":"YulTypedName","src":"366088:6:22","type":""}]},{"body":{"nativeSrc":"366169:40:22","nodeType":"YulBlock","src":"366169:40:22","statements":[{"body":{"nativeSrc":"366198:9:22","nodeType":"YulBlock","src":"366198:9:22","statements":[{"nativeSrc":"366200:5:22","nodeType":"YulBreak","src":"366200:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"366186:6:22","nodeType":"YulIdentifier","src":"366186:6:22"},{"name":"w","nativeSrc":"366194:1:22","nodeType":"YulIdentifier","src":"366194:1:22"}],"functionName":{"name":"byte","nativeSrc":"366181:4:22","nodeType":"YulIdentifier","src":"366181:4:22"},"nativeSrc":"366181:15:22","nodeType":"YulFunctionCall","src":"366181:15:22"}],"functionName":{"name":"iszero","nativeSrc":"366174:6:22","nodeType":"YulIdentifier","src":"366174:6:22"},"nativeSrc":"366174:23:22","nodeType":"YulFunctionCall","src":"366174:23:22"},"nativeSrc":"366171:36:22","nodeType":"YulIf","src":"366171:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"366126:6:22","nodeType":"YulIdentifier","src":"366126:6:22"},{"kind":"number","nativeSrc":"366134:4:22","nodeType":"YulLiteral","src":"366134:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"366123:2:22","nodeType":"YulIdentifier","src":"366123:2:22"},"nativeSrc":"366123:16:22","nodeType":"YulFunctionCall","src":"366123:16:22"},"nativeSrc":"366116:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"366140:28:22","nodeType":"YulBlock","src":"366140:28:22","statements":[{"nativeSrc":"366142:24:22","nodeType":"YulAssignment","src":"366142:24:22","value":{"arguments":[{"name":"length","nativeSrc":"366156:6:22","nodeType":"YulIdentifier","src":"366156:6:22"},{"kind":"number","nativeSrc":"366164:1:22","nodeType":"YulLiteral","src":"366164:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"366152:3:22","nodeType":"YulIdentifier","src":"366152:3:22"},"nativeSrc":"366152:14:22","nodeType":"YulFunctionCall","src":"366152:14:22"},"variableNames":[{"name":"length","nativeSrc":"366142:6:22","nodeType":"YulIdentifier","src":"366142:6:22"}]}]},"pre":{"nativeSrc":"366120:2:22","nodeType":"YulBlock","src":"366120:2:22","statements":[]},"src":"366116:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"366233:3:22","nodeType":"YulIdentifier","src":"366233:3:22"},{"name":"length","nativeSrc":"366238:6:22","nodeType":"YulIdentifier","src":"366238:6:22"}],"functionName":{"name":"mstore","nativeSrc":"366226:6:22","nodeType":"YulIdentifier","src":"366226:6:22"},"nativeSrc":"366226:19:22","nodeType":"YulFunctionCall","src":"366226:19:22"},"nativeSrc":"366226:19:22","nodeType":"YulExpressionStatement","src":"366226:19:22"},{"nativeSrc":"366262:37:22","nodeType":"YulVariableDeclaration","src":"366262:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"366279:3:22","nodeType":"YulLiteral","src":"366279:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"366288:1:22","nodeType":"YulLiteral","src":"366288:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"366291:6:22","nodeType":"YulIdentifier","src":"366291:6:22"}],"functionName":{"name":"shl","nativeSrc":"366284:3:22","nodeType":"YulIdentifier","src":"366284:3:22"},"nativeSrc":"366284:14:22","nodeType":"YulFunctionCall","src":"366284:14:22"}],"functionName":{"name":"sub","nativeSrc":"366275:3:22","nodeType":"YulIdentifier","src":"366275:3:22"},"nativeSrc":"366275:24:22","nodeType":"YulFunctionCall","src":"366275:24:22"},"variables":[{"name":"shift","nativeSrc":"366266:5:22","nodeType":"YulTypedName","src":"366266:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"366327:3:22","nodeType":"YulIdentifier","src":"366327:3:22"},{"kind":"number","nativeSrc":"366332:4:22","nodeType":"YulLiteral","src":"366332:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"366323:3:22","nodeType":"YulIdentifier","src":"366323:3:22"},"nativeSrc":"366323:14:22","nodeType":"YulFunctionCall","src":"366323:14:22"},{"arguments":[{"name":"shift","nativeSrc":"366343:5:22","nodeType":"YulIdentifier","src":"366343:5:22"},{"arguments":[{"name":"shift","nativeSrc":"366354:5:22","nodeType":"YulIdentifier","src":"366354:5:22"},{"name":"w","nativeSrc":"366361:1:22","nodeType":"YulIdentifier","src":"366361:1:22"}],"functionName":{"name":"shr","nativeSrc":"366350:3:22","nodeType":"YulIdentifier","src":"366350:3:22"},"nativeSrc":"366350:13:22","nodeType":"YulFunctionCall","src":"366350:13:22"}],"functionName":{"name":"shl","nativeSrc":"366339:3:22","nodeType":"YulIdentifier","src":"366339:3:22"},"nativeSrc":"366339:25:22","nodeType":"YulFunctionCall","src":"366339:25:22"}],"functionName":{"name":"mstore","nativeSrc":"366316:6:22","nodeType":"YulIdentifier","src":"366316:6:22"},"nativeSrc":"366316:49:22","nodeType":"YulFunctionCall","src":"366316:49:22"},"nativeSrc":"366316:49:22","nodeType":"YulExpressionStatement","src":"366316:49:22"}]},"name":"writeString","nativeSrc":"366037:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"366058:3:22","nodeType":"YulTypedName","src":"366058:3:22","type":""},{"name":"w","nativeSrc":"366063:1:22","nodeType":"YulTypedName","src":"366063:1:22","type":""}],"src":"366037:342:22"},{"nativeSrc":"366392:17:22","nodeType":"YulAssignment","src":"366392:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366404:4:22","nodeType":"YulLiteral","src":"366404:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"366398:5:22","nodeType":"YulIdentifier","src":"366398:5:22"},"nativeSrc":"366398:11:22","nodeType":"YulFunctionCall","src":"366398:11:22"},"variableNames":[{"name":"m0","nativeSrc":"366392:2:22","nodeType":"YulIdentifier","src":"366392:2:22"}]},{"nativeSrc":"366422:17:22","nodeType":"YulAssignment","src":"366422:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366434:4:22","nodeType":"YulLiteral","src":"366434:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"366428:5:22","nodeType":"YulIdentifier","src":"366428:5:22"},"nativeSrc":"366428:11:22","nodeType":"YulFunctionCall","src":"366428:11:22"},"variableNames":[{"name":"m1","nativeSrc":"366422:2:22","nodeType":"YulIdentifier","src":"366422:2:22"}]},{"nativeSrc":"366452:17:22","nodeType":"YulAssignment","src":"366452:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366464:4:22","nodeType":"YulLiteral","src":"366464:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"366458:5:22","nodeType":"YulIdentifier","src":"366458:5:22"},"nativeSrc":"366458:11:22","nodeType":"YulFunctionCall","src":"366458:11:22"},"variableNames":[{"name":"m2","nativeSrc":"366452:2:22","nodeType":"YulIdentifier","src":"366452:2:22"}]},{"nativeSrc":"366482:17:22","nodeType":"YulAssignment","src":"366482:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366494:4:22","nodeType":"YulLiteral","src":"366494:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"366488:5:22","nodeType":"YulIdentifier","src":"366488:5:22"},"nativeSrc":"366488:11:22","nodeType":"YulFunctionCall","src":"366488:11:22"},"variableNames":[{"name":"m3","nativeSrc":"366482:2:22","nodeType":"YulIdentifier","src":"366482:2:22"}]},{"nativeSrc":"366512:17:22","nodeType":"YulAssignment","src":"366512:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366524:4:22","nodeType":"YulLiteral","src":"366524:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"366518:5:22","nodeType":"YulIdentifier","src":"366518:5:22"},"nativeSrc":"366518:11:22","nodeType":"YulFunctionCall","src":"366518:11:22"},"variableNames":[{"name":"m4","nativeSrc":"366512:2:22","nodeType":"YulIdentifier","src":"366512:2:22"}]},{"nativeSrc":"366542:17:22","nodeType":"YulAssignment","src":"366542:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366554:4:22","nodeType":"YulLiteral","src":"366554:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"366548:5:22","nodeType":"YulIdentifier","src":"366548:5:22"},"nativeSrc":"366548:11:22","nodeType":"YulFunctionCall","src":"366548:11:22"},"variableNames":[{"name":"m5","nativeSrc":"366542:2:22","nodeType":"YulIdentifier","src":"366542:2:22"}]},{"nativeSrc":"366572:17:22","nodeType":"YulAssignment","src":"366572:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"366584:4:22","nodeType":"YulLiteral","src":"366584:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"366578:5:22","nodeType":"YulIdentifier","src":"366578:5:22"},"nativeSrc":"366578:11:22","nodeType":"YulFunctionCall","src":"366578:11:22"},"variableNames":[{"name":"m6","nativeSrc":"366572:2:22","nodeType":"YulIdentifier","src":"366572:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366672:4:22","nodeType":"YulLiteral","src":"366672:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"366678:10:22","nodeType":"YulLiteral","src":"366678:10:22","type":"","value":"0x64b5bb67"}],"functionName":{"name":"mstore","nativeSrc":"366665:6:22","nodeType":"YulIdentifier","src":"366665:6:22"},"nativeSrc":"366665:24:22","nodeType":"YulFunctionCall","src":"366665:24:22"},"nativeSrc":"366665:24:22","nodeType":"YulExpressionStatement","src":"366665:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366709:4:22","nodeType":"YulLiteral","src":"366709:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"366715:4:22","nodeType":"YulLiteral","src":"366715:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"366702:6:22","nodeType":"YulIdentifier","src":"366702:6:22"},"nativeSrc":"366702:18:22","nodeType":"YulFunctionCall","src":"366702:18:22"},"nativeSrc":"366702:18:22","nodeType":"YulExpressionStatement","src":"366702:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366740:4:22","nodeType":"YulLiteral","src":"366740:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"366746:2:22","nodeType":"YulIdentifier","src":"366746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"366733:6:22","nodeType":"YulIdentifier","src":"366733:6:22"},"nativeSrc":"366733:16:22","nodeType":"YulFunctionCall","src":"366733:16:22"},"nativeSrc":"366733:16:22","nodeType":"YulExpressionStatement","src":"366733:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366769:4:22","nodeType":"YulLiteral","src":"366769:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"366775:2:22","nodeType":"YulIdentifier","src":"366775:2:22"}],"functionName":{"name":"mstore","nativeSrc":"366762:6:22","nodeType":"YulIdentifier","src":"366762:6:22"},"nativeSrc":"366762:16:22","nodeType":"YulFunctionCall","src":"366762:16:22"},"nativeSrc":"366762:16:22","nodeType":"YulExpressionStatement","src":"366762:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366798:4:22","nodeType":"YulLiteral","src":"366798:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"366804:2:22","nodeType":"YulIdentifier","src":"366804:2:22"}],"functionName":{"name":"mstore","nativeSrc":"366791:6:22","nodeType":"YulIdentifier","src":"366791:6:22"},"nativeSrc":"366791:16:22","nodeType":"YulFunctionCall","src":"366791:16:22"},"nativeSrc":"366791:16:22","nodeType":"YulExpressionStatement","src":"366791:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366832:4:22","nodeType":"YulLiteral","src":"366832:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"366838:2:22","nodeType":"YulIdentifier","src":"366838:2:22"}],"functionName":{"name":"writeString","nativeSrc":"366820:11:22","nodeType":"YulIdentifier","src":"366820:11:22"},"nativeSrc":"366820:21:22","nodeType":"YulFunctionCall","src":"366820:21:22"},"nativeSrc":"366820:21:22","nodeType":"YulExpressionStatement","src":"366820:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42689,"isOffset":false,"isSlot":false,"src":"366392:2:22","valueSize":1},{"declaration":42692,"isOffset":false,"isSlot":false,"src":"366422:2:22","valueSize":1},{"declaration":42695,"isOffset":false,"isSlot":false,"src":"366452:2:22","valueSize":1},{"declaration":42698,"isOffset":false,"isSlot":false,"src":"366482:2:22","valueSize":1},{"declaration":42701,"isOffset":false,"isSlot":false,"src":"366512:2:22","valueSize":1},{"declaration":42704,"isOffset":false,"isSlot":false,"src":"366542:2:22","valueSize":1},{"declaration":42707,"isOffset":false,"isSlot":false,"src":"366572:2:22","valueSize":1},{"declaration":42679,"isOffset":false,"isSlot":false,"src":"366838:2:22","valueSize":1},{"declaration":42681,"isOffset":false,"isSlot":false,"src":"366746:2:22","valueSize":1},{"declaration":42683,"isOffset":false,"isSlot":false,"src":"366775:2:22","valueSize":1},{"declaration":42685,"isOffset":false,"isSlot":false,"src":"366804:2:22","valueSize":1}],"id":42709,"nodeType":"InlineAssembly","src":"366014:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366876:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366882:4:22","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":42710,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"366860:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"366860:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42714,"nodeType":"ExpressionStatement","src":"366860:27:22"},{"AST":{"nativeSrc":"366949:214:22","nodeType":"YulBlock","src":"366949:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"366970:4:22","nodeType":"YulLiteral","src":"366970:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"366976:2:22","nodeType":"YulIdentifier","src":"366976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"366963:6:22","nodeType":"YulIdentifier","src":"366963:6:22"},"nativeSrc":"366963:16:22","nodeType":"YulFunctionCall","src":"366963:16:22"},"nativeSrc":"366963:16:22","nodeType":"YulExpressionStatement","src":"366963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366999:4:22","nodeType":"YulLiteral","src":"366999:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"367005:2:22","nodeType":"YulIdentifier","src":"367005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"366992:6:22","nodeType":"YulIdentifier","src":"366992:6:22"},"nativeSrc":"366992:16:22","nodeType":"YulFunctionCall","src":"366992:16:22"},"nativeSrc":"366992:16:22","nodeType":"YulExpressionStatement","src":"366992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367028:4:22","nodeType":"YulLiteral","src":"367028:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"367034:2:22","nodeType":"YulIdentifier","src":"367034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"367021:6:22","nodeType":"YulIdentifier","src":"367021:6:22"},"nativeSrc":"367021:16:22","nodeType":"YulFunctionCall","src":"367021:16:22"},"nativeSrc":"367021:16:22","nodeType":"YulExpressionStatement","src":"367021:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367057:4:22","nodeType":"YulLiteral","src":"367057:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"367063:2:22","nodeType":"YulIdentifier","src":"367063:2:22"}],"functionName":{"name":"mstore","nativeSrc":"367050:6:22","nodeType":"YulIdentifier","src":"367050:6:22"},"nativeSrc":"367050:16:22","nodeType":"YulFunctionCall","src":"367050:16:22"},"nativeSrc":"367050:16:22","nodeType":"YulExpressionStatement","src":"367050:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367086:4:22","nodeType":"YulLiteral","src":"367086:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"367092:2:22","nodeType":"YulIdentifier","src":"367092:2:22"}],"functionName":{"name":"mstore","nativeSrc":"367079:6:22","nodeType":"YulIdentifier","src":"367079:6:22"},"nativeSrc":"367079:16:22","nodeType":"YulFunctionCall","src":"367079:16:22"},"nativeSrc":"367079:16:22","nodeType":"YulExpressionStatement","src":"367079:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367115:4:22","nodeType":"YulLiteral","src":"367115:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"367121:2:22","nodeType":"YulIdentifier","src":"367121:2:22"}],"functionName":{"name":"mstore","nativeSrc":"367108:6:22","nodeType":"YulIdentifier","src":"367108:6:22"},"nativeSrc":"367108:16:22","nodeType":"YulFunctionCall","src":"367108:16:22"},"nativeSrc":"367108:16:22","nodeType":"YulExpressionStatement","src":"367108:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367144:4:22","nodeType":"YulLiteral","src":"367144:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"367150:2:22","nodeType":"YulIdentifier","src":"367150:2:22"}],"functionName":{"name":"mstore","nativeSrc":"367137:6:22","nodeType":"YulIdentifier","src":"367137:6:22"},"nativeSrc":"367137:16:22","nodeType":"YulFunctionCall","src":"367137:16:22"},"nativeSrc":"367137:16:22","nodeType":"YulExpressionStatement","src":"367137:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42689,"isOffset":false,"isSlot":false,"src":"366976:2:22","valueSize":1},{"declaration":42692,"isOffset":false,"isSlot":false,"src":"367005:2:22","valueSize":1},{"declaration":42695,"isOffset":false,"isSlot":false,"src":"367034:2:22","valueSize":1},{"declaration":42698,"isOffset":false,"isSlot":false,"src":"367063:2:22","valueSize":1},{"declaration":42701,"isOffset":false,"isSlot":false,"src":"367092:2:22","valueSize":1},{"declaration":42704,"isOffset":false,"isSlot":false,"src":"367121:2:22","valueSize":1},{"declaration":42707,"isOffset":false,"isSlot":false,"src":"367150:2:22","valueSize":1}],"id":42715,"nodeType":"InlineAssembly","src":"366940:223:22"}]},"id":42717,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"365758:3:22","nodeType":"FunctionDefinition","parameters":{"id":42686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42679,"mutability":"mutable","name":"p0","nameLocation":"365770:2:22","nodeType":"VariableDeclaration","scope":42717,"src":"365762:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365762:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42681,"mutability":"mutable","name":"p1","nameLocation":"365779:2:22","nodeType":"VariableDeclaration","scope":42717,"src":"365774:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42680,"name":"bool","nodeType":"ElementaryTypeName","src":"365774:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42683,"mutability":"mutable","name":"p2","nameLocation":"365791:2:22","nodeType":"VariableDeclaration","scope":42717,"src":"365783:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42682,"name":"uint256","nodeType":"ElementaryTypeName","src":"365783:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42685,"mutability":"mutable","name":"p3","nameLocation":"365803:2:22","nodeType":"VariableDeclaration","scope":42717,"src":"365795:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42684,"name":"uint256","nodeType":"ElementaryTypeName","src":"365795:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"365761:45:22"},"returnParameters":{"id":42687,"nodeType":"ParameterList","parameters":[],"src":"365821:0:22"},"scope":44426,"src":"365749:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42762,"nodeType":"Block","src":"367247:1544:22","statements":[{"assignments":[42729],"declarations":[{"constant":false,"id":42729,"mutability":"mutable","name":"m0","nameLocation":"367265:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367257:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367257:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42730,"nodeType":"VariableDeclarationStatement","src":"367257:10:22"},{"assignments":[42732],"declarations":[{"constant":false,"id":42732,"mutability":"mutable","name":"m1","nameLocation":"367285:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367277:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367277:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42733,"nodeType":"VariableDeclarationStatement","src":"367277:10:22"},{"assignments":[42735],"declarations":[{"constant":false,"id":42735,"mutability":"mutable","name":"m2","nameLocation":"367305:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367297:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367297:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42736,"nodeType":"VariableDeclarationStatement","src":"367297:10:22"},{"assignments":[42738],"declarations":[{"constant":false,"id":42738,"mutability":"mutable","name":"m3","nameLocation":"367325:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367317:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367317:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42739,"nodeType":"VariableDeclarationStatement","src":"367317:10:22"},{"assignments":[42741],"declarations":[{"constant":false,"id":42741,"mutability":"mutable","name":"m4","nameLocation":"367345:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367337:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367337:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42742,"nodeType":"VariableDeclarationStatement","src":"367337:10:22"},{"assignments":[42744],"declarations":[{"constant":false,"id":42744,"mutability":"mutable","name":"m5","nameLocation":"367365:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367357:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367357:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42745,"nodeType":"VariableDeclarationStatement","src":"367357:10:22"},{"assignments":[42747],"declarations":[{"constant":false,"id":42747,"mutability":"mutable","name":"m6","nameLocation":"367385:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367377:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367377:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42748,"nodeType":"VariableDeclarationStatement","src":"367377:10:22"},{"assignments":[42750],"declarations":[{"constant":false,"id":42750,"mutability":"mutable","name":"m7","nameLocation":"367405:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367397:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367397:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42751,"nodeType":"VariableDeclarationStatement","src":"367397:10:22"},{"assignments":[42753],"declarations":[{"constant":false,"id":42753,"mutability":"mutable","name":"m8","nameLocation":"367425:2:22","nodeType":"VariableDeclaration","scope":42762,"src":"367417:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367417:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42754,"nodeType":"VariableDeclarationStatement","src":"367417:10:22"},{"AST":{"nativeSrc":"367489:924:22","nodeType":"YulBlock","src":"367489:924:22","statements":[{"body":{"nativeSrc":"367532:313:22","nodeType":"YulBlock","src":"367532:313:22","statements":[{"nativeSrc":"367550:15:22","nodeType":"YulVariableDeclaration","src":"367550:15:22","value":{"kind":"number","nativeSrc":"367564:1:22","nodeType":"YulLiteral","src":"367564:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"367554:6:22","nodeType":"YulTypedName","src":"367554:6:22","type":""}]},{"body":{"nativeSrc":"367635:40:22","nodeType":"YulBlock","src":"367635:40:22","statements":[{"body":{"nativeSrc":"367664:9:22","nodeType":"YulBlock","src":"367664:9:22","statements":[{"nativeSrc":"367666:5:22","nodeType":"YulBreak","src":"367666:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"367652:6:22","nodeType":"YulIdentifier","src":"367652:6:22"},{"name":"w","nativeSrc":"367660:1:22","nodeType":"YulIdentifier","src":"367660:1:22"}],"functionName":{"name":"byte","nativeSrc":"367647:4:22","nodeType":"YulIdentifier","src":"367647:4:22"},"nativeSrc":"367647:15:22","nodeType":"YulFunctionCall","src":"367647:15:22"}],"functionName":{"name":"iszero","nativeSrc":"367640:6:22","nodeType":"YulIdentifier","src":"367640:6:22"},"nativeSrc":"367640:23:22","nodeType":"YulFunctionCall","src":"367640:23:22"},"nativeSrc":"367637:36:22","nodeType":"YulIf","src":"367637:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"367592:6:22","nodeType":"YulIdentifier","src":"367592:6:22"},{"kind":"number","nativeSrc":"367600:4:22","nodeType":"YulLiteral","src":"367600:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"367589:2:22","nodeType":"YulIdentifier","src":"367589:2:22"},"nativeSrc":"367589:16:22","nodeType":"YulFunctionCall","src":"367589:16:22"},"nativeSrc":"367582:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"367606:28:22","nodeType":"YulBlock","src":"367606:28:22","statements":[{"nativeSrc":"367608:24:22","nodeType":"YulAssignment","src":"367608:24:22","value":{"arguments":[{"name":"length","nativeSrc":"367622:6:22","nodeType":"YulIdentifier","src":"367622:6:22"},{"kind":"number","nativeSrc":"367630:1:22","nodeType":"YulLiteral","src":"367630:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"367618:3:22","nodeType":"YulIdentifier","src":"367618:3:22"},"nativeSrc":"367618:14:22","nodeType":"YulFunctionCall","src":"367618:14:22"},"variableNames":[{"name":"length","nativeSrc":"367608:6:22","nodeType":"YulIdentifier","src":"367608:6:22"}]}]},"pre":{"nativeSrc":"367586:2:22","nodeType":"YulBlock","src":"367586:2:22","statements":[]},"src":"367582:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"367699:3:22","nodeType":"YulIdentifier","src":"367699:3:22"},{"name":"length","nativeSrc":"367704:6:22","nodeType":"YulIdentifier","src":"367704:6:22"}],"functionName":{"name":"mstore","nativeSrc":"367692:6:22","nodeType":"YulIdentifier","src":"367692:6:22"},"nativeSrc":"367692:19:22","nodeType":"YulFunctionCall","src":"367692:19:22"},"nativeSrc":"367692:19:22","nodeType":"YulExpressionStatement","src":"367692:19:22"},{"nativeSrc":"367728:37:22","nodeType":"YulVariableDeclaration","src":"367728:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"367745:3:22","nodeType":"YulLiteral","src":"367745:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"367754:1:22","nodeType":"YulLiteral","src":"367754:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"367757:6:22","nodeType":"YulIdentifier","src":"367757:6:22"}],"functionName":{"name":"shl","nativeSrc":"367750:3:22","nodeType":"YulIdentifier","src":"367750:3:22"},"nativeSrc":"367750:14:22","nodeType":"YulFunctionCall","src":"367750:14:22"}],"functionName":{"name":"sub","nativeSrc":"367741:3:22","nodeType":"YulIdentifier","src":"367741:3:22"},"nativeSrc":"367741:24:22","nodeType":"YulFunctionCall","src":"367741:24:22"},"variables":[{"name":"shift","nativeSrc":"367732:5:22","nodeType":"YulTypedName","src":"367732:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"367793:3:22","nodeType":"YulIdentifier","src":"367793:3:22"},{"kind":"number","nativeSrc":"367798:4:22","nodeType":"YulLiteral","src":"367798:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"367789:3:22","nodeType":"YulIdentifier","src":"367789:3:22"},"nativeSrc":"367789:14:22","nodeType":"YulFunctionCall","src":"367789:14:22"},{"arguments":[{"name":"shift","nativeSrc":"367809:5:22","nodeType":"YulIdentifier","src":"367809:5:22"},{"arguments":[{"name":"shift","nativeSrc":"367820:5:22","nodeType":"YulIdentifier","src":"367820:5:22"},{"name":"w","nativeSrc":"367827:1:22","nodeType":"YulIdentifier","src":"367827:1:22"}],"functionName":{"name":"shr","nativeSrc":"367816:3:22","nodeType":"YulIdentifier","src":"367816:3:22"},"nativeSrc":"367816:13:22","nodeType":"YulFunctionCall","src":"367816:13:22"}],"functionName":{"name":"shl","nativeSrc":"367805:3:22","nodeType":"YulIdentifier","src":"367805:3:22"},"nativeSrc":"367805:25:22","nodeType":"YulFunctionCall","src":"367805:25:22"}],"functionName":{"name":"mstore","nativeSrc":"367782:6:22","nodeType":"YulIdentifier","src":"367782:6:22"},"nativeSrc":"367782:49:22","nodeType":"YulFunctionCall","src":"367782:49:22"},"nativeSrc":"367782:49:22","nodeType":"YulExpressionStatement","src":"367782:49:22"}]},"name":"writeString","nativeSrc":"367503:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"367524:3:22","nodeType":"YulTypedName","src":"367524:3:22","type":""},{"name":"w","nativeSrc":"367529:1:22","nodeType":"YulTypedName","src":"367529:1:22","type":""}],"src":"367503:342:22"},{"nativeSrc":"367858:17:22","nodeType":"YulAssignment","src":"367858:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"367870:4:22","nodeType":"YulLiteral","src":"367870:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"367864:5:22","nodeType":"YulIdentifier","src":"367864:5:22"},"nativeSrc":"367864:11:22","nodeType":"YulFunctionCall","src":"367864:11:22"},"variableNames":[{"name":"m0","nativeSrc":"367858:2:22","nodeType":"YulIdentifier","src":"367858:2:22"}]},{"nativeSrc":"367888:17:22","nodeType":"YulAssignment","src":"367888:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"367900:4:22","nodeType":"YulLiteral","src":"367900:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"367894:5:22","nodeType":"YulIdentifier","src":"367894:5:22"},"nativeSrc":"367894:11:22","nodeType":"YulFunctionCall","src":"367894:11:22"},"variableNames":[{"name":"m1","nativeSrc":"367888:2:22","nodeType":"YulIdentifier","src":"367888:2:22"}]},{"nativeSrc":"367918:17:22","nodeType":"YulAssignment","src":"367918:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"367930:4:22","nodeType":"YulLiteral","src":"367930:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"367924:5:22","nodeType":"YulIdentifier","src":"367924:5:22"},"nativeSrc":"367924:11:22","nodeType":"YulFunctionCall","src":"367924:11:22"},"variableNames":[{"name":"m2","nativeSrc":"367918:2:22","nodeType":"YulIdentifier","src":"367918:2:22"}]},{"nativeSrc":"367948:17:22","nodeType":"YulAssignment","src":"367948:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"367960:4:22","nodeType":"YulLiteral","src":"367960:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"367954:5:22","nodeType":"YulIdentifier","src":"367954:5:22"},"nativeSrc":"367954:11:22","nodeType":"YulFunctionCall","src":"367954:11:22"},"variableNames":[{"name":"m3","nativeSrc":"367948:2:22","nodeType":"YulIdentifier","src":"367948:2:22"}]},{"nativeSrc":"367978:17:22","nodeType":"YulAssignment","src":"367978:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"367990:4:22","nodeType":"YulLiteral","src":"367990:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"367984:5:22","nodeType":"YulIdentifier","src":"367984:5:22"},"nativeSrc":"367984:11:22","nodeType":"YulFunctionCall","src":"367984:11:22"},"variableNames":[{"name":"m4","nativeSrc":"367978:2:22","nodeType":"YulIdentifier","src":"367978:2:22"}]},{"nativeSrc":"368008:17:22","nodeType":"YulAssignment","src":"368008:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"368020:4:22","nodeType":"YulLiteral","src":"368020:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"368014:5:22","nodeType":"YulIdentifier","src":"368014:5:22"},"nativeSrc":"368014:11:22","nodeType":"YulFunctionCall","src":"368014:11:22"},"variableNames":[{"name":"m5","nativeSrc":"368008:2:22","nodeType":"YulIdentifier","src":"368008:2:22"}]},{"nativeSrc":"368038:17:22","nodeType":"YulAssignment","src":"368038:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"368050:4:22","nodeType":"YulLiteral","src":"368050:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"368044:5:22","nodeType":"YulIdentifier","src":"368044:5:22"},"nativeSrc":"368044:11:22","nodeType":"YulFunctionCall","src":"368044:11:22"},"variableNames":[{"name":"m6","nativeSrc":"368038:2:22","nodeType":"YulIdentifier","src":"368038:2:22"}]},{"nativeSrc":"368068:17:22","nodeType":"YulAssignment","src":"368068:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"368080:4:22","nodeType":"YulLiteral","src":"368080:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"368074:5:22","nodeType":"YulIdentifier","src":"368074:5:22"},"nativeSrc":"368074:11:22","nodeType":"YulFunctionCall","src":"368074:11:22"},"variableNames":[{"name":"m7","nativeSrc":"368068:2:22","nodeType":"YulIdentifier","src":"368068:2:22"}]},{"nativeSrc":"368098:18:22","nodeType":"YulAssignment","src":"368098:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"368110:5:22","nodeType":"YulLiteral","src":"368110:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"368104:5:22","nodeType":"YulIdentifier","src":"368104:5:22"},"nativeSrc":"368104:12:22","nodeType":"YulFunctionCall","src":"368104:12:22"},"variableNames":[{"name":"m8","nativeSrc":"368098:2:22","nodeType":"YulIdentifier","src":"368098:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368198:4:22","nodeType":"YulLiteral","src":"368198:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"368204:10:22","nodeType":"YulLiteral","src":"368204:10:22","type":"","value":"0x742d6ee7"}],"functionName":{"name":"mstore","nativeSrc":"368191:6:22","nodeType":"YulIdentifier","src":"368191:6:22"},"nativeSrc":"368191:24:22","nodeType":"YulFunctionCall","src":"368191:24:22"},"nativeSrc":"368191:24:22","nodeType":"YulExpressionStatement","src":"368191:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368235:4:22","nodeType":"YulLiteral","src":"368235:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"368241:4:22","nodeType":"YulLiteral","src":"368241:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"368228:6:22","nodeType":"YulIdentifier","src":"368228:6:22"},"nativeSrc":"368228:18:22","nodeType":"YulFunctionCall","src":"368228:18:22"},"nativeSrc":"368228:18:22","nodeType":"YulExpressionStatement","src":"368228:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368266:4:22","nodeType":"YulLiteral","src":"368266:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"368272:2:22","nodeType":"YulIdentifier","src":"368272:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368259:6:22","nodeType":"YulIdentifier","src":"368259:6:22"},"nativeSrc":"368259:16:22","nodeType":"YulFunctionCall","src":"368259:16:22"},"nativeSrc":"368259:16:22","nodeType":"YulExpressionStatement","src":"368259:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368295:4:22","nodeType":"YulLiteral","src":"368295:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"368301:2:22","nodeType":"YulIdentifier","src":"368301:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368288:6:22","nodeType":"YulIdentifier","src":"368288:6:22"},"nativeSrc":"368288:16:22","nodeType":"YulFunctionCall","src":"368288:16:22"},"nativeSrc":"368288:16:22","nodeType":"YulExpressionStatement","src":"368288:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368324:4:22","nodeType":"YulLiteral","src":"368324:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"368330:4:22","nodeType":"YulLiteral","src":"368330:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"368317:6:22","nodeType":"YulIdentifier","src":"368317:6:22"},"nativeSrc":"368317:18:22","nodeType":"YulFunctionCall","src":"368317:18:22"},"nativeSrc":"368317:18:22","nodeType":"YulExpressionStatement","src":"368317:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368360:4:22","nodeType":"YulLiteral","src":"368360:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"368366:2:22","nodeType":"YulIdentifier","src":"368366:2:22"}],"functionName":{"name":"writeString","nativeSrc":"368348:11:22","nodeType":"YulIdentifier","src":"368348:11:22"},"nativeSrc":"368348:21:22","nodeType":"YulFunctionCall","src":"368348:21:22"},"nativeSrc":"368348:21:22","nodeType":"YulExpressionStatement","src":"368348:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368394:4:22","nodeType":"YulLiteral","src":"368394:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"368400:2:22","nodeType":"YulIdentifier","src":"368400:2:22"}],"functionName":{"name":"writeString","nativeSrc":"368382:11:22","nodeType":"YulIdentifier","src":"368382:11:22"},"nativeSrc":"368382:21:22","nodeType":"YulFunctionCall","src":"368382:21:22"},"nativeSrc":"368382:21:22","nodeType":"YulExpressionStatement","src":"368382:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42729,"isOffset":false,"isSlot":false,"src":"367858:2:22","valueSize":1},{"declaration":42732,"isOffset":false,"isSlot":false,"src":"367888:2:22","valueSize":1},{"declaration":42735,"isOffset":false,"isSlot":false,"src":"367918:2:22","valueSize":1},{"declaration":42738,"isOffset":false,"isSlot":false,"src":"367948:2:22","valueSize":1},{"declaration":42741,"isOffset":false,"isSlot":false,"src":"367978:2:22","valueSize":1},{"declaration":42744,"isOffset":false,"isSlot":false,"src":"368008:2:22","valueSize":1},{"declaration":42747,"isOffset":false,"isSlot":false,"src":"368038:2:22","valueSize":1},{"declaration":42750,"isOffset":false,"isSlot":false,"src":"368068:2:22","valueSize":1},{"declaration":42753,"isOffset":false,"isSlot":false,"src":"368098:2:22","valueSize":1},{"declaration":42719,"isOffset":false,"isSlot":false,"src":"368366:2:22","valueSize":1},{"declaration":42721,"isOffset":false,"isSlot":false,"src":"368272:2:22","valueSize":1},{"declaration":42723,"isOffset":false,"isSlot":false,"src":"368301:2:22","valueSize":1},{"declaration":42725,"isOffset":false,"isSlot":false,"src":"368400:2:22","valueSize":1}],"id":42755,"nodeType":"InlineAssembly","src":"367480:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368438:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368444:5:22","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":42756,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"368422:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"368422:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42760,"nodeType":"ExpressionStatement","src":"368422:28:22"},{"AST":{"nativeSrc":"368512:273:22","nodeType":"YulBlock","src":"368512:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"368533:4:22","nodeType":"YulLiteral","src":"368533:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"368539:2:22","nodeType":"YulIdentifier","src":"368539:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368526:6:22","nodeType":"YulIdentifier","src":"368526:6:22"},"nativeSrc":"368526:16:22","nodeType":"YulFunctionCall","src":"368526:16:22"},"nativeSrc":"368526:16:22","nodeType":"YulExpressionStatement","src":"368526:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368562:4:22","nodeType":"YulLiteral","src":"368562:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"368568:2:22","nodeType":"YulIdentifier","src":"368568:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368555:6:22","nodeType":"YulIdentifier","src":"368555:6:22"},"nativeSrc":"368555:16:22","nodeType":"YulFunctionCall","src":"368555:16:22"},"nativeSrc":"368555:16:22","nodeType":"YulExpressionStatement","src":"368555:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368591:4:22","nodeType":"YulLiteral","src":"368591:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"368597:2:22","nodeType":"YulIdentifier","src":"368597:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368584:6:22","nodeType":"YulIdentifier","src":"368584:6:22"},"nativeSrc":"368584:16:22","nodeType":"YulFunctionCall","src":"368584:16:22"},"nativeSrc":"368584:16:22","nodeType":"YulExpressionStatement","src":"368584:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368620:4:22","nodeType":"YulLiteral","src":"368620:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"368626:2:22","nodeType":"YulIdentifier","src":"368626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368613:6:22","nodeType":"YulIdentifier","src":"368613:6:22"},"nativeSrc":"368613:16:22","nodeType":"YulFunctionCall","src":"368613:16:22"},"nativeSrc":"368613:16:22","nodeType":"YulExpressionStatement","src":"368613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368649:4:22","nodeType":"YulLiteral","src":"368649:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"368655:2:22","nodeType":"YulIdentifier","src":"368655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368642:6:22","nodeType":"YulIdentifier","src":"368642:6:22"},"nativeSrc":"368642:16:22","nodeType":"YulFunctionCall","src":"368642:16:22"},"nativeSrc":"368642:16:22","nodeType":"YulExpressionStatement","src":"368642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368678:4:22","nodeType":"YulLiteral","src":"368678:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"368684:2:22","nodeType":"YulIdentifier","src":"368684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368671:6:22","nodeType":"YulIdentifier","src":"368671:6:22"},"nativeSrc":"368671:16:22","nodeType":"YulFunctionCall","src":"368671:16:22"},"nativeSrc":"368671:16:22","nodeType":"YulExpressionStatement","src":"368671:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368707:4:22","nodeType":"YulLiteral","src":"368707:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"368713:2:22","nodeType":"YulIdentifier","src":"368713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368700:6:22","nodeType":"YulIdentifier","src":"368700:6:22"},"nativeSrc":"368700:16:22","nodeType":"YulFunctionCall","src":"368700:16:22"},"nativeSrc":"368700:16:22","nodeType":"YulExpressionStatement","src":"368700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368736:4:22","nodeType":"YulLiteral","src":"368736:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"368742:2:22","nodeType":"YulIdentifier","src":"368742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368729:6:22","nodeType":"YulIdentifier","src":"368729:6:22"},"nativeSrc":"368729:16:22","nodeType":"YulFunctionCall","src":"368729:16:22"},"nativeSrc":"368729:16:22","nodeType":"YulExpressionStatement","src":"368729:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368765:5:22","nodeType":"YulLiteral","src":"368765:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"368772:2:22","nodeType":"YulIdentifier","src":"368772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"368758:6:22","nodeType":"YulIdentifier","src":"368758:6:22"},"nativeSrc":"368758:17:22","nodeType":"YulFunctionCall","src":"368758:17:22"},"nativeSrc":"368758:17:22","nodeType":"YulExpressionStatement","src":"368758:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42729,"isOffset":false,"isSlot":false,"src":"368539:2:22","valueSize":1},{"declaration":42732,"isOffset":false,"isSlot":false,"src":"368568:2:22","valueSize":1},{"declaration":42735,"isOffset":false,"isSlot":false,"src":"368597:2:22","valueSize":1},{"declaration":42738,"isOffset":false,"isSlot":false,"src":"368626:2:22","valueSize":1},{"declaration":42741,"isOffset":false,"isSlot":false,"src":"368655:2:22","valueSize":1},{"declaration":42744,"isOffset":false,"isSlot":false,"src":"368684:2:22","valueSize":1},{"declaration":42747,"isOffset":false,"isSlot":false,"src":"368713:2:22","valueSize":1},{"declaration":42750,"isOffset":false,"isSlot":false,"src":"368742:2:22","valueSize":1},{"declaration":42753,"isOffset":false,"isSlot":false,"src":"368772:2:22","valueSize":1}],"id":42761,"nodeType":"InlineAssembly","src":"368503:282:22"}]},"id":42763,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"367184:3:22","nodeType":"FunctionDefinition","parameters":{"id":42726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42719,"mutability":"mutable","name":"p0","nameLocation":"367196:2:22","nodeType":"VariableDeclaration","scope":42763,"src":"367188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367188:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42721,"mutability":"mutable","name":"p1","nameLocation":"367205:2:22","nodeType":"VariableDeclaration","scope":42763,"src":"367200:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42720,"name":"bool","nodeType":"ElementaryTypeName","src":"367200:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42723,"mutability":"mutable","name":"p2","nameLocation":"367217:2:22","nodeType":"VariableDeclaration","scope":42763,"src":"367209:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42722,"name":"uint256","nodeType":"ElementaryTypeName","src":"367209:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42725,"mutability":"mutable","name":"p3","nameLocation":"367229:2:22","nodeType":"VariableDeclaration","scope":42763,"src":"367221:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367221:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"367187:45:22"},"returnParameters":{"id":42727,"nodeType":"ParameterList","parameters":[],"src":"367247:0:22"},"scope":44426,"src":"367175:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42808,"nodeType":"Block","src":"368869:1544:22","statements":[{"assignments":[42775],"declarations":[{"constant":false,"id":42775,"mutability":"mutable","name":"m0","nameLocation":"368887:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42776,"nodeType":"VariableDeclarationStatement","src":"368879:10:22"},{"assignments":[42778],"declarations":[{"constant":false,"id":42778,"mutability":"mutable","name":"m1","nameLocation":"368907:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368899:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42779,"nodeType":"VariableDeclarationStatement","src":"368899:10:22"},{"assignments":[42781],"declarations":[{"constant":false,"id":42781,"mutability":"mutable","name":"m2","nameLocation":"368927:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368919:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368919:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42782,"nodeType":"VariableDeclarationStatement","src":"368919:10:22"},{"assignments":[42784],"declarations":[{"constant":false,"id":42784,"mutability":"mutable","name":"m3","nameLocation":"368947:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368939:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368939:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42785,"nodeType":"VariableDeclarationStatement","src":"368939:10:22"},{"assignments":[42787],"declarations":[{"constant":false,"id":42787,"mutability":"mutable","name":"m4","nameLocation":"368967:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368959:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368959:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42788,"nodeType":"VariableDeclarationStatement","src":"368959:10:22"},{"assignments":[42790],"declarations":[{"constant":false,"id":42790,"mutability":"mutable","name":"m5","nameLocation":"368987:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368979:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368979:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42791,"nodeType":"VariableDeclarationStatement","src":"368979:10:22"},{"assignments":[42793],"declarations":[{"constant":false,"id":42793,"mutability":"mutable","name":"m6","nameLocation":"369007:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"368999:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368999:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42794,"nodeType":"VariableDeclarationStatement","src":"368999:10:22"},{"assignments":[42796],"declarations":[{"constant":false,"id":42796,"mutability":"mutable","name":"m7","nameLocation":"369027:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"369019:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369019:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42797,"nodeType":"VariableDeclarationStatement","src":"369019:10:22"},{"assignments":[42799],"declarations":[{"constant":false,"id":42799,"mutability":"mutable","name":"m8","nameLocation":"369047:2:22","nodeType":"VariableDeclaration","scope":42808,"src":"369039:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369039:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42800,"nodeType":"VariableDeclarationStatement","src":"369039:10:22"},{"AST":{"nativeSrc":"369111:924:22","nodeType":"YulBlock","src":"369111:924:22","statements":[{"body":{"nativeSrc":"369154:313:22","nodeType":"YulBlock","src":"369154:313:22","statements":[{"nativeSrc":"369172:15:22","nodeType":"YulVariableDeclaration","src":"369172:15:22","value":{"kind":"number","nativeSrc":"369186:1:22","nodeType":"YulLiteral","src":"369186:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"369176:6:22","nodeType":"YulTypedName","src":"369176:6:22","type":""}]},{"body":{"nativeSrc":"369257:40:22","nodeType":"YulBlock","src":"369257:40:22","statements":[{"body":{"nativeSrc":"369286:9:22","nodeType":"YulBlock","src":"369286:9:22","statements":[{"nativeSrc":"369288:5:22","nodeType":"YulBreak","src":"369288:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"369274:6:22","nodeType":"YulIdentifier","src":"369274:6:22"},{"name":"w","nativeSrc":"369282:1:22","nodeType":"YulIdentifier","src":"369282:1:22"}],"functionName":{"name":"byte","nativeSrc":"369269:4:22","nodeType":"YulIdentifier","src":"369269:4:22"},"nativeSrc":"369269:15:22","nodeType":"YulFunctionCall","src":"369269:15:22"}],"functionName":{"name":"iszero","nativeSrc":"369262:6:22","nodeType":"YulIdentifier","src":"369262:6:22"},"nativeSrc":"369262:23:22","nodeType":"YulFunctionCall","src":"369262:23:22"},"nativeSrc":"369259:36:22","nodeType":"YulIf","src":"369259:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"369214:6:22","nodeType":"YulIdentifier","src":"369214:6:22"},{"kind":"number","nativeSrc":"369222:4:22","nodeType":"YulLiteral","src":"369222:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"369211:2:22","nodeType":"YulIdentifier","src":"369211:2:22"},"nativeSrc":"369211:16:22","nodeType":"YulFunctionCall","src":"369211:16:22"},"nativeSrc":"369204:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"369228:28:22","nodeType":"YulBlock","src":"369228:28:22","statements":[{"nativeSrc":"369230:24:22","nodeType":"YulAssignment","src":"369230:24:22","value":{"arguments":[{"name":"length","nativeSrc":"369244:6:22","nodeType":"YulIdentifier","src":"369244:6:22"},{"kind":"number","nativeSrc":"369252:1:22","nodeType":"YulLiteral","src":"369252:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"369240:3:22","nodeType":"YulIdentifier","src":"369240:3:22"},"nativeSrc":"369240:14:22","nodeType":"YulFunctionCall","src":"369240:14:22"},"variableNames":[{"name":"length","nativeSrc":"369230:6:22","nodeType":"YulIdentifier","src":"369230:6:22"}]}]},"pre":{"nativeSrc":"369208:2:22","nodeType":"YulBlock","src":"369208:2:22","statements":[]},"src":"369204:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"369321:3:22","nodeType":"YulIdentifier","src":"369321:3:22"},{"name":"length","nativeSrc":"369326:6:22","nodeType":"YulIdentifier","src":"369326:6:22"}],"functionName":{"name":"mstore","nativeSrc":"369314:6:22","nodeType":"YulIdentifier","src":"369314:6:22"},"nativeSrc":"369314:19:22","nodeType":"YulFunctionCall","src":"369314:19:22"},"nativeSrc":"369314:19:22","nodeType":"YulExpressionStatement","src":"369314:19:22"},{"nativeSrc":"369350:37:22","nodeType":"YulVariableDeclaration","src":"369350:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"369367:3:22","nodeType":"YulLiteral","src":"369367:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"369376:1:22","nodeType":"YulLiteral","src":"369376:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"369379:6:22","nodeType":"YulIdentifier","src":"369379:6:22"}],"functionName":{"name":"shl","nativeSrc":"369372:3:22","nodeType":"YulIdentifier","src":"369372:3:22"},"nativeSrc":"369372:14:22","nodeType":"YulFunctionCall","src":"369372:14:22"}],"functionName":{"name":"sub","nativeSrc":"369363:3:22","nodeType":"YulIdentifier","src":"369363:3:22"},"nativeSrc":"369363:24:22","nodeType":"YulFunctionCall","src":"369363:24:22"},"variables":[{"name":"shift","nativeSrc":"369354:5:22","nodeType":"YulTypedName","src":"369354:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"369415:3:22","nodeType":"YulIdentifier","src":"369415:3:22"},{"kind":"number","nativeSrc":"369420:4:22","nodeType":"YulLiteral","src":"369420:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"369411:3:22","nodeType":"YulIdentifier","src":"369411:3:22"},"nativeSrc":"369411:14:22","nodeType":"YulFunctionCall","src":"369411:14:22"},{"arguments":[{"name":"shift","nativeSrc":"369431:5:22","nodeType":"YulIdentifier","src":"369431:5:22"},{"arguments":[{"name":"shift","nativeSrc":"369442:5:22","nodeType":"YulIdentifier","src":"369442:5:22"},{"name":"w","nativeSrc":"369449:1:22","nodeType":"YulIdentifier","src":"369449:1:22"}],"functionName":{"name":"shr","nativeSrc":"369438:3:22","nodeType":"YulIdentifier","src":"369438:3:22"},"nativeSrc":"369438:13:22","nodeType":"YulFunctionCall","src":"369438:13:22"}],"functionName":{"name":"shl","nativeSrc":"369427:3:22","nodeType":"YulIdentifier","src":"369427:3:22"},"nativeSrc":"369427:25:22","nodeType":"YulFunctionCall","src":"369427:25:22"}],"functionName":{"name":"mstore","nativeSrc":"369404:6:22","nodeType":"YulIdentifier","src":"369404:6:22"},"nativeSrc":"369404:49:22","nodeType":"YulFunctionCall","src":"369404:49:22"},"nativeSrc":"369404:49:22","nodeType":"YulExpressionStatement","src":"369404:49:22"}]},"name":"writeString","nativeSrc":"369125:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"369146:3:22","nodeType":"YulTypedName","src":"369146:3:22","type":""},{"name":"w","nativeSrc":"369151:1:22","nodeType":"YulTypedName","src":"369151:1:22","type":""}],"src":"369125:342:22"},{"nativeSrc":"369480:17:22","nodeType":"YulAssignment","src":"369480:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369492:4:22","nodeType":"YulLiteral","src":"369492:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"369486:5:22","nodeType":"YulIdentifier","src":"369486:5:22"},"nativeSrc":"369486:11:22","nodeType":"YulFunctionCall","src":"369486:11:22"},"variableNames":[{"name":"m0","nativeSrc":"369480:2:22","nodeType":"YulIdentifier","src":"369480:2:22"}]},{"nativeSrc":"369510:17:22","nodeType":"YulAssignment","src":"369510:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369522:4:22","nodeType":"YulLiteral","src":"369522:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"369516:5:22","nodeType":"YulIdentifier","src":"369516:5:22"},"nativeSrc":"369516:11:22","nodeType":"YulFunctionCall","src":"369516:11:22"},"variableNames":[{"name":"m1","nativeSrc":"369510:2:22","nodeType":"YulIdentifier","src":"369510:2:22"}]},{"nativeSrc":"369540:17:22","nodeType":"YulAssignment","src":"369540:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369552:4:22","nodeType":"YulLiteral","src":"369552:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"369546:5:22","nodeType":"YulIdentifier","src":"369546:5:22"},"nativeSrc":"369546:11:22","nodeType":"YulFunctionCall","src":"369546:11:22"},"variableNames":[{"name":"m2","nativeSrc":"369540:2:22","nodeType":"YulIdentifier","src":"369540:2:22"}]},{"nativeSrc":"369570:17:22","nodeType":"YulAssignment","src":"369570:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369582:4:22","nodeType":"YulLiteral","src":"369582:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"369576:5:22","nodeType":"YulIdentifier","src":"369576:5:22"},"nativeSrc":"369576:11:22","nodeType":"YulFunctionCall","src":"369576:11:22"},"variableNames":[{"name":"m3","nativeSrc":"369570:2:22","nodeType":"YulIdentifier","src":"369570:2:22"}]},{"nativeSrc":"369600:17:22","nodeType":"YulAssignment","src":"369600:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369612:4:22","nodeType":"YulLiteral","src":"369612:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"369606:5:22","nodeType":"YulIdentifier","src":"369606:5:22"},"nativeSrc":"369606:11:22","nodeType":"YulFunctionCall","src":"369606:11:22"},"variableNames":[{"name":"m4","nativeSrc":"369600:2:22","nodeType":"YulIdentifier","src":"369600:2:22"}]},{"nativeSrc":"369630:17:22","nodeType":"YulAssignment","src":"369630:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369642:4:22","nodeType":"YulLiteral","src":"369642:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"369636:5:22","nodeType":"YulIdentifier","src":"369636:5:22"},"nativeSrc":"369636:11:22","nodeType":"YulFunctionCall","src":"369636:11:22"},"variableNames":[{"name":"m5","nativeSrc":"369630:2:22","nodeType":"YulIdentifier","src":"369630:2:22"}]},{"nativeSrc":"369660:17:22","nodeType":"YulAssignment","src":"369660:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369672:4:22","nodeType":"YulLiteral","src":"369672:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"369666:5:22","nodeType":"YulIdentifier","src":"369666:5:22"},"nativeSrc":"369666:11:22","nodeType":"YulFunctionCall","src":"369666:11:22"},"variableNames":[{"name":"m6","nativeSrc":"369660:2:22","nodeType":"YulIdentifier","src":"369660:2:22"}]},{"nativeSrc":"369690:17:22","nodeType":"YulAssignment","src":"369690:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"369702:4:22","nodeType":"YulLiteral","src":"369702:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"369696:5:22","nodeType":"YulIdentifier","src":"369696:5:22"},"nativeSrc":"369696:11:22","nodeType":"YulFunctionCall","src":"369696:11:22"},"variableNames":[{"name":"m7","nativeSrc":"369690:2:22","nodeType":"YulIdentifier","src":"369690:2:22"}]},{"nativeSrc":"369720:18:22","nodeType":"YulAssignment","src":"369720:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"369732:5:22","nodeType":"YulLiteral","src":"369732:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"369726:5:22","nodeType":"YulIdentifier","src":"369726:5:22"},"nativeSrc":"369726:12:22","nodeType":"YulFunctionCall","src":"369726:12:22"},"variableNames":[{"name":"m8","nativeSrc":"369720:2:22","nodeType":"YulIdentifier","src":"369720:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369820:4:22","nodeType":"YulLiteral","src":"369820:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"369826:10:22","nodeType":"YulLiteral","src":"369826:10:22","type":"","value":"0xe0625b29"}],"functionName":{"name":"mstore","nativeSrc":"369813:6:22","nodeType":"YulIdentifier","src":"369813:6:22"},"nativeSrc":"369813:24:22","nodeType":"YulFunctionCall","src":"369813:24:22"},"nativeSrc":"369813:24:22","nodeType":"YulExpressionStatement","src":"369813:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369857:4:22","nodeType":"YulLiteral","src":"369857:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"369863:4:22","nodeType":"YulLiteral","src":"369863:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"369850:6:22","nodeType":"YulIdentifier","src":"369850:6:22"},"nativeSrc":"369850:18:22","nodeType":"YulFunctionCall","src":"369850:18:22"},"nativeSrc":"369850:18:22","nodeType":"YulExpressionStatement","src":"369850:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369888:4:22","nodeType":"YulLiteral","src":"369888:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"369894:2:22","nodeType":"YulIdentifier","src":"369894:2:22"}],"functionName":{"name":"mstore","nativeSrc":"369881:6:22","nodeType":"YulIdentifier","src":"369881:6:22"},"nativeSrc":"369881:16:22","nodeType":"YulFunctionCall","src":"369881:16:22"},"nativeSrc":"369881:16:22","nodeType":"YulExpressionStatement","src":"369881:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369917:4:22","nodeType":"YulLiteral","src":"369917:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"369923:4:22","nodeType":"YulLiteral","src":"369923:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"369910:6:22","nodeType":"YulIdentifier","src":"369910:6:22"},"nativeSrc":"369910:18:22","nodeType":"YulFunctionCall","src":"369910:18:22"},"nativeSrc":"369910:18:22","nodeType":"YulExpressionStatement","src":"369910:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369948:4:22","nodeType":"YulLiteral","src":"369948:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"369954:2:22","nodeType":"YulIdentifier","src":"369954:2:22"}],"functionName":{"name":"mstore","nativeSrc":"369941:6:22","nodeType":"YulIdentifier","src":"369941:6:22"},"nativeSrc":"369941:16:22","nodeType":"YulFunctionCall","src":"369941:16:22"},"nativeSrc":"369941:16:22","nodeType":"YulExpressionStatement","src":"369941:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369982:4:22","nodeType":"YulLiteral","src":"369982:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"369988:2:22","nodeType":"YulIdentifier","src":"369988:2:22"}],"functionName":{"name":"writeString","nativeSrc":"369970:11:22","nodeType":"YulIdentifier","src":"369970:11:22"},"nativeSrc":"369970:21:22","nodeType":"YulFunctionCall","src":"369970:21:22"},"nativeSrc":"369970:21:22","nodeType":"YulExpressionStatement","src":"369970:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370016:4:22","nodeType":"YulLiteral","src":"370016:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"370022:2:22","nodeType":"YulIdentifier","src":"370022:2:22"}],"functionName":{"name":"writeString","nativeSrc":"370004:11:22","nodeType":"YulIdentifier","src":"370004:11:22"},"nativeSrc":"370004:21:22","nodeType":"YulFunctionCall","src":"370004:21:22"},"nativeSrc":"370004:21:22","nodeType":"YulExpressionStatement","src":"370004:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42775,"isOffset":false,"isSlot":false,"src":"369480:2:22","valueSize":1},{"declaration":42778,"isOffset":false,"isSlot":false,"src":"369510:2:22","valueSize":1},{"declaration":42781,"isOffset":false,"isSlot":false,"src":"369540:2:22","valueSize":1},{"declaration":42784,"isOffset":false,"isSlot":false,"src":"369570:2:22","valueSize":1},{"declaration":42787,"isOffset":false,"isSlot":false,"src":"369600:2:22","valueSize":1},{"declaration":42790,"isOffset":false,"isSlot":false,"src":"369630:2:22","valueSize":1},{"declaration":42793,"isOffset":false,"isSlot":false,"src":"369660:2:22","valueSize":1},{"declaration":42796,"isOffset":false,"isSlot":false,"src":"369690:2:22","valueSize":1},{"declaration":42799,"isOffset":false,"isSlot":false,"src":"369720:2:22","valueSize":1},{"declaration":42765,"isOffset":false,"isSlot":false,"src":"369988:2:22","valueSize":1},{"declaration":42767,"isOffset":false,"isSlot":false,"src":"369894:2:22","valueSize":1},{"declaration":42769,"isOffset":false,"isSlot":false,"src":"370022:2:22","valueSize":1},{"declaration":42771,"isOffset":false,"isSlot":false,"src":"369954:2:22","valueSize":1}],"id":42801,"nodeType":"InlineAssembly","src":"369102:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370060:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370066:5:22","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":42802,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"370044:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"370044:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42806,"nodeType":"ExpressionStatement","src":"370044:28:22"},{"AST":{"nativeSrc":"370134:273:22","nodeType":"YulBlock","src":"370134:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"370155:4:22","nodeType":"YulLiteral","src":"370155:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"370161:2:22","nodeType":"YulIdentifier","src":"370161:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370148:6:22","nodeType":"YulIdentifier","src":"370148:6:22"},"nativeSrc":"370148:16:22","nodeType":"YulFunctionCall","src":"370148:16:22"},"nativeSrc":"370148:16:22","nodeType":"YulExpressionStatement","src":"370148:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370184:4:22","nodeType":"YulLiteral","src":"370184:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"370190:2:22","nodeType":"YulIdentifier","src":"370190:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370177:6:22","nodeType":"YulIdentifier","src":"370177:6:22"},"nativeSrc":"370177:16:22","nodeType":"YulFunctionCall","src":"370177:16:22"},"nativeSrc":"370177:16:22","nodeType":"YulExpressionStatement","src":"370177:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370213:4:22","nodeType":"YulLiteral","src":"370213:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"370219:2:22","nodeType":"YulIdentifier","src":"370219:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370206:6:22","nodeType":"YulIdentifier","src":"370206:6:22"},"nativeSrc":"370206:16:22","nodeType":"YulFunctionCall","src":"370206:16:22"},"nativeSrc":"370206:16:22","nodeType":"YulExpressionStatement","src":"370206:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370242:4:22","nodeType":"YulLiteral","src":"370242:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"370248:2:22","nodeType":"YulIdentifier","src":"370248:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370235:6:22","nodeType":"YulIdentifier","src":"370235:6:22"},"nativeSrc":"370235:16:22","nodeType":"YulFunctionCall","src":"370235:16:22"},"nativeSrc":"370235:16:22","nodeType":"YulExpressionStatement","src":"370235:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370271:4:22","nodeType":"YulLiteral","src":"370271:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"370277:2:22","nodeType":"YulIdentifier","src":"370277:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370264:6:22","nodeType":"YulIdentifier","src":"370264:6:22"},"nativeSrc":"370264:16:22","nodeType":"YulFunctionCall","src":"370264:16:22"},"nativeSrc":"370264:16:22","nodeType":"YulExpressionStatement","src":"370264:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370300:4:22","nodeType":"YulLiteral","src":"370300:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"370306:2:22","nodeType":"YulIdentifier","src":"370306:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370293:6:22","nodeType":"YulIdentifier","src":"370293:6:22"},"nativeSrc":"370293:16:22","nodeType":"YulFunctionCall","src":"370293:16:22"},"nativeSrc":"370293:16:22","nodeType":"YulExpressionStatement","src":"370293:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370329:4:22","nodeType":"YulLiteral","src":"370329:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"370335:2:22","nodeType":"YulIdentifier","src":"370335:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370322:6:22","nodeType":"YulIdentifier","src":"370322:6:22"},"nativeSrc":"370322:16:22","nodeType":"YulFunctionCall","src":"370322:16:22"},"nativeSrc":"370322:16:22","nodeType":"YulExpressionStatement","src":"370322:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370358:4:22","nodeType":"YulLiteral","src":"370358:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"370364:2:22","nodeType":"YulIdentifier","src":"370364:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370351:6:22","nodeType":"YulIdentifier","src":"370351:6:22"},"nativeSrc":"370351:16:22","nodeType":"YulFunctionCall","src":"370351:16:22"},"nativeSrc":"370351:16:22","nodeType":"YulExpressionStatement","src":"370351:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370387:5:22","nodeType":"YulLiteral","src":"370387:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"370394:2:22","nodeType":"YulIdentifier","src":"370394:2:22"}],"functionName":{"name":"mstore","nativeSrc":"370380:6:22","nodeType":"YulIdentifier","src":"370380:6:22"},"nativeSrc":"370380:17:22","nodeType":"YulFunctionCall","src":"370380:17:22"},"nativeSrc":"370380:17:22","nodeType":"YulExpressionStatement","src":"370380:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42775,"isOffset":false,"isSlot":false,"src":"370161:2:22","valueSize":1},{"declaration":42778,"isOffset":false,"isSlot":false,"src":"370190:2:22","valueSize":1},{"declaration":42781,"isOffset":false,"isSlot":false,"src":"370219:2:22","valueSize":1},{"declaration":42784,"isOffset":false,"isSlot":false,"src":"370248:2:22","valueSize":1},{"declaration":42787,"isOffset":false,"isSlot":false,"src":"370277:2:22","valueSize":1},{"declaration":42790,"isOffset":false,"isSlot":false,"src":"370306:2:22","valueSize":1},{"declaration":42793,"isOffset":false,"isSlot":false,"src":"370335:2:22","valueSize":1},{"declaration":42796,"isOffset":false,"isSlot":false,"src":"370364:2:22","valueSize":1},{"declaration":42799,"isOffset":false,"isSlot":false,"src":"370394:2:22","valueSize":1}],"id":42807,"nodeType":"InlineAssembly","src":"370125:282:22"}]},"id":42809,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"368806:3:22","nodeType":"FunctionDefinition","parameters":{"id":42772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42765,"mutability":"mutable","name":"p0","nameLocation":"368818:2:22","nodeType":"VariableDeclaration","scope":42809,"src":"368810:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368810:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42767,"mutability":"mutable","name":"p1","nameLocation":"368827:2:22","nodeType":"VariableDeclaration","scope":42809,"src":"368822:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42766,"name":"bool","nodeType":"ElementaryTypeName","src":"368822:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42769,"mutability":"mutable","name":"p2","nameLocation":"368839:2:22","nodeType":"VariableDeclaration","scope":42809,"src":"368831:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368831:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42771,"mutability":"mutable","name":"p3","nameLocation":"368851:2:22","nodeType":"VariableDeclaration","scope":42809,"src":"368843:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42770,"name":"address","nodeType":"ElementaryTypeName","src":"368843:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"368809:45:22"},"returnParameters":{"id":42773,"nodeType":"ParameterList","parameters":[],"src":"368869:0:22"},"scope":44426,"src":"368797:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42854,"nodeType":"Block","src":"370488:1541:22","statements":[{"assignments":[42821],"declarations":[{"constant":false,"id":42821,"mutability":"mutable","name":"m0","nameLocation":"370506:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370498:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370498:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42822,"nodeType":"VariableDeclarationStatement","src":"370498:10:22"},{"assignments":[42824],"declarations":[{"constant":false,"id":42824,"mutability":"mutable","name":"m1","nameLocation":"370526:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370518:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370518:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42825,"nodeType":"VariableDeclarationStatement","src":"370518:10:22"},{"assignments":[42827],"declarations":[{"constant":false,"id":42827,"mutability":"mutable","name":"m2","nameLocation":"370546:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370538:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370538:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42828,"nodeType":"VariableDeclarationStatement","src":"370538:10:22"},{"assignments":[42830],"declarations":[{"constant":false,"id":42830,"mutability":"mutable","name":"m3","nameLocation":"370566:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370558:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370558:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42831,"nodeType":"VariableDeclarationStatement","src":"370558:10:22"},{"assignments":[42833],"declarations":[{"constant":false,"id":42833,"mutability":"mutable","name":"m4","nameLocation":"370586:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370578:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370578:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42834,"nodeType":"VariableDeclarationStatement","src":"370578:10:22"},{"assignments":[42836],"declarations":[{"constant":false,"id":42836,"mutability":"mutable","name":"m5","nameLocation":"370606:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370598:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370598:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42837,"nodeType":"VariableDeclarationStatement","src":"370598:10:22"},{"assignments":[42839],"declarations":[{"constant":false,"id":42839,"mutability":"mutable","name":"m6","nameLocation":"370626:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370618:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370618:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42840,"nodeType":"VariableDeclarationStatement","src":"370618:10:22"},{"assignments":[42842],"declarations":[{"constant":false,"id":42842,"mutability":"mutable","name":"m7","nameLocation":"370646:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370638:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370638:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42843,"nodeType":"VariableDeclarationStatement","src":"370638:10:22"},{"assignments":[42845],"declarations":[{"constant":false,"id":42845,"mutability":"mutable","name":"m8","nameLocation":"370666:2:22","nodeType":"VariableDeclaration","scope":42854,"src":"370658:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370658:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42846,"nodeType":"VariableDeclarationStatement","src":"370658:10:22"},{"AST":{"nativeSrc":"370730:921:22","nodeType":"YulBlock","src":"370730:921:22","statements":[{"body":{"nativeSrc":"370773:313:22","nodeType":"YulBlock","src":"370773:313:22","statements":[{"nativeSrc":"370791:15:22","nodeType":"YulVariableDeclaration","src":"370791:15:22","value":{"kind":"number","nativeSrc":"370805:1:22","nodeType":"YulLiteral","src":"370805:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"370795:6:22","nodeType":"YulTypedName","src":"370795:6:22","type":""}]},{"body":{"nativeSrc":"370876:40:22","nodeType":"YulBlock","src":"370876:40:22","statements":[{"body":{"nativeSrc":"370905:9:22","nodeType":"YulBlock","src":"370905:9:22","statements":[{"nativeSrc":"370907:5:22","nodeType":"YulBreak","src":"370907:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"370893:6:22","nodeType":"YulIdentifier","src":"370893:6:22"},{"name":"w","nativeSrc":"370901:1:22","nodeType":"YulIdentifier","src":"370901:1:22"}],"functionName":{"name":"byte","nativeSrc":"370888:4:22","nodeType":"YulIdentifier","src":"370888:4:22"},"nativeSrc":"370888:15:22","nodeType":"YulFunctionCall","src":"370888:15:22"}],"functionName":{"name":"iszero","nativeSrc":"370881:6:22","nodeType":"YulIdentifier","src":"370881:6:22"},"nativeSrc":"370881:23:22","nodeType":"YulFunctionCall","src":"370881:23:22"},"nativeSrc":"370878:36:22","nodeType":"YulIf","src":"370878:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"370833:6:22","nodeType":"YulIdentifier","src":"370833:6:22"},{"kind":"number","nativeSrc":"370841:4:22","nodeType":"YulLiteral","src":"370841:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"370830:2:22","nodeType":"YulIdentifier","src":"370830:2:22"},"nativeSrc":"370830:16:22","nodeType":"YulFunctionCall","src":"370830:16:22"},"nativeSrc":"370823:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"370847:28:22","nodeType":"YulBlock","src":"370847:28:22","statements":[{"nativeSrc":"370849:24:22","nodeType":"YulAssignment","src":"370849:24:22","value":{"arguments":[{"name":"length","nativeSrc":"370863:6:22","nodeType":"YulIdentifier","src":"370863:6:22"},{"kind":"number","nativeSrc":"370871:1:22","nodeType":"YulLiteral","src":"370871:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"370859:3:22","nodeType":"YulIdentifier","src":"370859:3:22"},"nativeSrc":"370859:14:22","nodeType":"YulFunctionCall","src":"370859:14:22"},"variableNames":[{"name":"length","nativeSrc":"370849:6:22","nodeType":"YulIdentifier","src":"370849:6:22"}]}]},"pre":{"nativeSrc":"370827:2:22","nodeType":"YulBlock","src":"370827:2:22","statements":[]},"src":"370823:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"370940:3:22","nodeType":"YulIdentifier","src":"370940:3:22"},{"name":"length","nativeSrc":"370945:6:22","nodeType":"YulIdentifier","src":"370945:6:22"}],"functionName":{"name":"mstore","nativeSrc":"370933:6:22","nodeType":"YulIdentifier","src":"370933:6:22"},"nativeSrc":"370933:19:22","nodeType":"YulFunctionCall","src":"370933:19:22"},"nativeSrc":"370933:19:22","nodeType":"YulExpressionStatement","src":"370933:19:22"},{"nativeSrc":"370969:37:22","nodeType":"YulVariableDeclaration","src":"370969:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"370986:3:22","nodeType":"YulLiteral","src":"370986:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"370995:1:22","nodeType":"YulLiteral","src":"370995:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"370998:6:22","nodeType":"YulIdentifier","src":"370998:6:22"}],"functionName":{"name":"shl","nativeSrc":"370991:3:22","nodeType":"YulIdentifier","src":"370991:3:22"},"nativeSrc":"370991:14:22","nodeType":"YulFunctionCall","src":"370991:14:22"}],"functionName":{"name":"sub","nativeSrc":"370982:3:22","nodeType":"YulIdentifier","src":"370982:3:22"},"nativeSrc":"370982:24:22","nodeType":"YulFunctionCall","src":"370982:24:22"},"variables":[{"name":"shift","nativeSrc":"370973:5:22","nodeType":"YulTypedName","src":"370973:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"371034:3:22","nodeType":"YulIdentifier","src":"371034:3:22"},{"kind":"number","nativeSrc":"371039:4:22","nodeType":"YulLiteral","src":"371039:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"371030:3:22","nodeType":"YulIdentifier","src":"371030:3:22"},"nativeSrc":"371030:14:22","nodeType":"YulFunctionCall","src":"371030:14:22"},{"arguments":[{"name":"shift","nativeSrc":"371050:5:22","nodeType":"YulIdentifier","src":"371050:5:22"},{"arguments":[{"name":"shift","nativeSrc":"371061:5:22","nodeType":"YulIdentifier","src":"371061:5:22"},{"name":"w","nativeSrc":"371068:1:22","nodeType":"YulIdentifier","src":"371068:1:22"}],"functionName":{"name":"shr","nativeSrc":"371057:3:22","nodeType":"YulIdentifier","src":"371057:3:22"},"nativeSrc":"371057:13:22","nodeType":"YulFunctionCall","src":"371057:13:22"}],"functionName":{"name":"shl","nativeSrc":"371046:3:22","nodeType":"YulIdentifier","src":"371046:3:22"},"nativeSrc":"371046:25:22","nodeType":"YulFunctionCall","src":"371046:25:22"}],"functionName":{"name":"mstore","nativeSrc":"371023:6:22","nodeType":"YulIdentifier","src":"371023:6:22"},"nativeSrc":"371023:49:22","nodeType":"YulFunctionCall","src":"371023:49:22"},"nativeSrc":"371023:49:22","nodeType":"YulExpressionStatement","src":"371023:49:22"}]},"name":"writeString","nativeSrc":"370744:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"370765:3:22","nodeType":"YulTypedName","src":"370765:3:22","type":""},{"name":"w","nativeSrc":"370770:1:22","nodeType":"YulTypedName","src":"370770:1:22","type":""}],"src":"370744:342:22"},{"nativeSrc":"371099:17:22","nodeType":"YulAssignment","src":"371099:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371111:4:22","nodeType":"YulLiteral","src":"371111:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"371105:5:22","nodeType":"YulIdentifier","src":"371105:5:22"},"nativeSrc":"371105:11:22","nodeType":"YulFunctionCall","src":"371105:11:22"},"variableNames":[{"name":"m0","nativeSrc":"371099:2:22","nodeType":"YulIdentifier","src":"371099:2:22"}]},{"nativeSrc":"371129:17:22","nodeType":"YulAssignment","src":"371129:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371141:4:22","nodeType":"YulLiteral","src":"371141:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"371135:5:22","nodeType":"YulIdentifier","src":"371135:5:22"},"nativeSrc":"371135:11:22","nodeType":"YulFunctionCall","src":"371135:11:22"},"variableNames":[{"name":"m1","nativeSrc":"371129:2:22","nodeType":"YulIdentifier","src":"371129:2:22"}]},{"nativeSrc":"371159:17:22","nodeType":"YulAssignment","src":"371159:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371171:4:22","nodeType":"YulLiteral","src":"371171:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"371165:5:22","nodeType":"YulIdentifier","src":"371165:5:22"},"nativeSrc":"371165:11:22","nodeType":"YulFunctionCall","src":"371165:11:22"},"variableNames":[{"name":"m2","nativeSrc":"371159:2:22","nodeType":"YulIdentifier","src":"371159:2:22"}]},{"nativeSrc":"371189:17:22","nodeType":"YulAssignment","src":"371189:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371201:4:22","nodeType":"YulLiteral","src":"371201:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"371195:5:22","nodeType":"YulIdentifier","src":"371195:5:22"},"nativeSrc":"371195:11:22","nodeType":"YulFunctionCall","src":"371195:11:22"},"variableNames":[{"name":"m3","nativeSrc":"371189:2:22","nodeType":"YulIdentifier","src":"371189:2:22"}]},{"nativeSrc":"371219:17:22","nodeType":"YulAssignment","src":"371219:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371231:4:22","nodeType":"YulLiteral","src":"371231:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"371225:5:22","nodeType":"YulIdentifier","src":"371225:5:22"},"nativeSrc":"371225:11:22","nodeType":"YulFunctionCall","src":"371225:11:22"},"variableNames":[{"name":"m4","nativeSrc":"371219:2:22","nodeType":"YulIdentifier","src":"371219:2:22"}]},{"nativeSrc":"371249:17:22","nodeType":"YulAssignment","src":"371249:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371261:4:22","nodeType":"YulLiteral","src":"371261:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"371255:5:22","nodeType":"YulIdentifier","src":"371255:5:22"},"nativeSrc":"371255:11:22","nodeType":"YulFunctionCall","src":"371255:11:22"},"variableNames":[{"name":"m5","nativeSrc":"371249:2:22","nodeType":"YulIdentifier","src":"371249:2:22"}]},{"nativeSrc":"371279:17:22","nodeType":"YulAssignment","src":"371279:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371291:4:22","nodeType":"YulLiteral","src":"371291:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"371285:5:22","nodeType":"YulIdentifier","src":"371285:5:22"},"nativeSrc":"371285:11:22","nodeType":"YulFunctionCall","src":"371285:11:22"},"variableNames":[{"name":"m6","nativeSrc":"371279:2:22","nodeType":"YulIdentifier","src":"371279:2:22"}]},{"nativeSrc":"371309:17:22","nodeType":"YulAssignment","src":"371309:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"371321:4:22","nodeType":"YulLiteral","src":"371321:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"371315:5:22","nodeType":"YulIdentifier","src":"371315:5:22"},"nativeSrc":"371315:11:22","nodeType":"YulFunctionCall","src":"371315:11:22"},"variableNames":[{"name":"m7","nativeSrc":"371309:2:22","nodeType":"YulIdentifier","src":"371309:2:22"}]},{"nativeSrc":"371339:18:22","nodeType":"YulAssignment","src":"371339:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"371351:5:22","nodeType":"YulLiteral","src":"371351:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"371345:5:22","nodeType":"YulIdentifier","src":"371345:5:22"},"nativeSrc":"371345:12:22","nodeType":"YulFunctionCall","src":"371345:12:22"},"variableNames":[{"name":"m8","nativeSrc":"371339:2:22","nodeType":"YulIdentifier","src":"371339:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371436:4:22","nodeType":"YulLiteral","src":"371436:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"371442:10:22","nodeType":"YulLiteral","src":"371442:10:22","type":"","value":"0x3f8a701d"}],"functionName":{"name":"mstore","nativeSrc":"371429:6:22","nodeType":"YulIdentifier","src":"371429:6:22"},"nativeSrc":"371429:24:22","nodeType":"YulFunctionCall","src":"371429:24:22"},"nativeSrc":"371429:24:22","nodeType":"YulExpressionStatement","src":"371429:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371473:4:22","nodeType":"YulLiteral","src":"371473:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"371479:4:22","nodeType":"YulLiteral","src":"371479:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"371466:6:22","nodeType":"YulIdentifier","src":"371466:6:22"},"nativeSrc":"371466:18:22","nodeType":"YulFunctionCall","src":"371466:18:22"},"nativeSrc":"371466:18:22","nodeType":"YulExpressionStatement","src":"371466:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371504:4:22","nodeType":"YulLiteral","src":"371504:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"371510:2:22","nodeType":"YulIdentifier","src":"371510:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371497:6:22","nodeType":"YulIdentifier","src":"371497:6:22"},"nativeSrc":"371497:16:22","nodeType":"YulFunctionCall","src":"371497:16:22"},"nativeSrc":"371497:16:22","nodeType":"YulExpressionStatement","src":"371497:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371533:4:22","nodeType":"YulLiteral","src":"371533:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"371539:4:22","nodeType":"YulLiteral","src":"371539:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"371526:6:22","nodeType":"YulIdentifier","src":"371526:6:22"},"nativeSrc":"371526:18:22","nodeType":"YulFunctionCall","src":"371526:18:22"},"nativeSrc":"371526:18:22","nodeType":"YulExpressionStatement","src":"371526:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371564:4:22","nodeType":"YulLiteral","src":"371564:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"371570:2:22","nodeType":"YulIdentifier","src":"371570:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371557:6:22","nodeType":"YulIdentifier","src":"371557:6:22"},"nativeSrc":"371557:16:22","nodeType":"YulFunctionCall","src":"371557:16:22"},"nativeSrc":"371557:16:22","nodeType":"YulExpressionStatement","src":"371557:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371598:4:22","nodeType":"YulLiteral","src":"371598:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"371604:2:22","nodeType":"YulIdentifier","src":"371604:2:22"}],"functionName":{"name":"writeString","nativeSrc":"371586:11:22","nodeType":"YulIdentifier","src":"371586:11:22"},"nativeSrc":"371586:21:22","nodeType":"YulFunctionCall","src":"371586:21:22"},"nativeSrc":"371586:21:22","nodeType":"YulExpressionStatement","src":"371586:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371632:4:22","nodeType":"YulLiteral","src":"371632:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"371638:2:22","nodeType":"YulIdentifier","src":"371638:2:22"}],"functionName":{"name":"writeString","nativeSrc":"371620:11:22","nodeType":"YulIdentifier","src":"371620:11:22"},"nativeSrc":"371620:21:22","nodeType":"YulFunctionCall","src":"371620:21:22"},"nativeSrc":"371620:21:22","nodeType":"YulExpressionStatement","src":"371620:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42821,"isOffset":false,"isSlot":false,"src":"371099:2:22","valueSize":1},{"declaration":42824,"isOffset":false,"isSlot":false,"src":"371129:2:22","valueSize":1},{"declaration":42827,"isOffset":false,"isSlot":false,"src":"371159:2:22","valueSize":1},{"declaration":42830,"isOffset":false,"isSlot":false,"src":"371189:2:22","valueSize":1},{"declaration":42833,"isOffset":false,"isSlot":false,"src":"371219:2:22","valueSize":1},{"declaration":42836,"isOffset":false,"isSlot":false,"src":"371249:2:22","valueSize":1},{"declaration":42839,"isOffset":false,"isSlot":false,"src":"371279:2:22","valueSize":1},{"declaration":42842,"isOffset":false,"isSlot":false,"src":"371309:2:22","valueSize":1},{"declaration":42845,"isOffset":false,"isSlot":false,"src":"371339:2:22","valueSize":1},{"declaration":42811,"isOffset":false,"isSlot":false,"src":"371604:2:22","valueSize":1},{"declaration":42813,"isOffset":false,"isSlot":false,"src":"371510:2:22","valueSize":1},{"declaration":42815,"isOffset":false,"isSlot":false,"src":"371638:2:22","valueSize":1},{"declaration":42817,"isOffset":false,"isSlot":false,"src":"371570:2:22","valueSize":1}],"id":42847,"nodeType":"InlineAssembly","src":"370721:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371676:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371682:5:22","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":42848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"371660:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"371660:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42852,"nodeType":"ExpressionStatement","src":"371660:28:22"},{"AST":{"nativeSrc":"371750:273:22","nodeType":"YulBlock","src":"371750:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"371771:4:22","nodeType":"YulLiteral","src":"371771:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"371777:2:22","nodeType":"YulIdentifier","src":"371777:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371764:6:22","nodeType":"YulIdentifier","src":"371764:6:22"},"nativeSrc":"371764:16:22","nodeType":"YulFunctionCall","src":"371764:16:22"},"nativeSrc":"371764:16:22","nodeType":"YulExpressionStatement","src":"371764:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371800:4:22","nodeType":"YulLiteral","src":"371800:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"371806:2:22","nodeType":"YulIdentifier","src":"371806:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371793:6:22","nodeType":"YulIdentifier","src":"371793:6:22"},"nativeSrc":"371793:16:22","nodeType":"YulFunctionCall","src":"371793:16:22"},"nativeSrc":"371793:16:22","nodeType":"YulExpressionStatement","src":"371793:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371829:4:22","nodeType":"YulLiteral","src":"371829:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"371835:2:22","nodeType":"YulIdentifier","src":"371835:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371822:6:22","nodeType":"YulIdentifier","src":"371822:6:22"},"nativeSrc":"371822:16:22","nodeType":"YulFunctionCall","src":"371822:16:22"},"nativeSrc":"371822:16:22","nodeType":"YulExpressionStatement","src":"371822:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371858:4:22","nodeType":"YulLiteral","src":"371858:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"371864:2:22","nodeType":"YulIdentifier","src":"371864:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371851:6:22","nodeType":"YulIdentifier","src":"371851:6:22"},"nativeSrc":"371851:16:22","nodeType":"YulFunctionCall","src":"371851:16:22"},"nativeSrc":"371851:16:22","nodeType":"YulExpressionStatement","src":"371851:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371887:4:22","nodeType":"YulLiteral","src":"371887:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"371893:2:22","nodeType":"YulIdentifier","src":"371893:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371880:6:22","nodeType":"YulIdentifier","src":"371880:6:22"},"nativeSrc":"371880:16:22","nodeType":"YulFunctionCall","src":"371880:16:22"},"nativeSrc":"371880:16:22","nodeType":"YulExpressionStatement","src":"371880:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371916:4:22","nodeType":"YulLiteral","src":"371916:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"371922:2:22","nodeType":"YulIdentifier","src":"371922:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371909:6:22","nodeType":"YulIdentifier","src":"371909:6:22"},"nativeSrc":"371909:16:22","nodeType":"YulFunctionCall","src":"371909:16:22"},"nativeSrc":"371909:16:22","nodeType":"YulExpressionStatement","src":"371909:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371945:4:22","nodeType":"YulLiteral","src":"371945:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"371951:2:22","nodeType":"YulIdentifier","src":"371951:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371938:6:22","nodeType":"YulIdentifier","src":"371938:6:22"},"nativeSrc":"371938:16:22","nodeType":"YulFunctionCall","src":"371938:16:22"},"nativeSrc":"371938:16:22","nodeType":"YulExpressionStatement","src":"371938:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371974:4:22","nodeType":"YulLiteral","src":"371974:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"371980:2:22","nodeType":"YulIdentifier","src":"371980:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371967:6:22","nodeType":"YulIdentifier","src":"371967:6:22"},"nativeSrc":"371967:16:22","nodeType":"YulFunctionCall","src":"371967:16:22"},"nativeSrc":"371967:16:22","nodeType":"YulExpressionStatement","src":"371967:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"372003:5:22","nodeType":"YulLiteral","src":"372003:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"372010:2:22","nodeType":"YulIdentifier","src":"372010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"371996:6:22","nodeType":"YulIdentifier","src":"371996:6:22"},"nativeSrc":"371996:17:22","nodeType":"YulFunctionCall","src":"371996:17:22"},"nativeSrc":"371996:17:22","nodeType":"YulExpressionStatement","src":"371996:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42821,"isOffset":false,"isSlot":false,"src":"371777:2:22","valueSize":1},{"declaration":42824,"isOffset":false,"isSlot":false,"src":"371806:2:22","valueSize":1},{"declaration":42827,"isOffset":false,"isSlot":false,"src":"371835:2:22","valueSize":1},{"declaration":42830,"isOffset":false,"isSlot":false,"src":"371864:2:22","valueSize":1},{"declaration":42833,"isOffset":false,"isSlot":false,"src":"371893:2:22","valueSize":1},{"declaration":42836,"isOffset":false,"isSlot":false,"src":"371922:2:22","valueSize":1},{"declaration":42839,"isOffset":false,"isSlot":false,"src":"371951:2:22","valueSize":1},{"declaration":42842,"isOffset":false,"isSlot":false,"src":"371980:2:22","valueSize":1},{"declaration":42845,"isOffset":false,"isSlot":false,"src":"372010:2:22","valueSize":1}],"id":42853,"nodeType":"InlineAssembly","src":"371741:282:22"}]},"id":42855,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"370428:3:22","nodeType":"FunctionDefinition","parameters":{"id":42818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42811,"mutability":"mutable","name":"p0","nameLocation":"370440:2:22","nodeType":"VariableDeclaration","scope":42855,"src":"370432:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370432:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42813,"mutability":"mutable","name":"p1","nameLocation":"370449:2:22","nodeType":"VariableDeclaration","scope":42855,"src":"370444:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42812,"name":"bool","nodeType":"ElementaryTypeName","src":"370444:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42815,"mutability":"mutable","name":"p2","nameLocation":"370461:2:22","nodeType":"VariableDeclaration","scope":42855,"src":"370453:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370453:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42817,"mutability":"mutable","name":"p3","nameLocation":"370470:2:22","nodeType":"VariableDeclaration","scope":42855,"src":"370465:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42816,"name":"bool","nodeType":"ElementaryTypeName","src":"370465:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"370431:42:22"},"returnParameters":{"id":42819,"nodeType":"ParameterList","parameters":[],"src":"370488:0:22"},"scope":44426,"src":"370419:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42900,"nodeType":"Block","src":"372107:1544:22","statements":[{"assignments":[42867],"declarations":[{"constant":false,"id":42867,"mutability":"mutable","name":"m0","nameLocation":"372125:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372117:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372117:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42868,"nodeType":"VariableDeclarationStatement","src":"372117:10:22"},{"assignments":[42870],"declarations":[{"constant":false,"id":42870,"mutability":"mutable","name":"m1","nameLocation":"372145:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372137:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372137:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42871,"nodeType":"VariableDeclarationStatement","src":"372137:10:22"},{"assignments":[42873],"declarations":[{"constant":false,"id":42873,"mutability":"mutable","name":"m2","nameLocation":"372165:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372157:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372157:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42874,"nodeType":"VariableDeclarationStatement","src":"372157:10:22"},{"assignments":[42876],"declarations":[{"constant":false,"id":42876,"mutability":"mutable","name":"m3","nameLocation":"372185:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372177:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372177:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42877,"nodeType":"VariableDeclarationStatement","src":"372177:10:22"},{"assignments":[42879],"declarations":[{"constant":false,"id":42879,"mutability":"mutable","name":"m4","nameLocation":"372205:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372197:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372197:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42880,"nodeType":"VariableDeclarationStatement","src":"372197:10:22"},{"assignments":[42882],"declarations":[{"constant":false,"id":42882,"mutability":"mutable","name":"m5","nameLocation":"372225:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372217:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372217:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42883,"nodeType":"VariableDeclarationStatement","src":"372217:10:22"},{"assignments":[42885],"declarations":[{"constant":false,"id":42885,"mutability":"mutable","name":"m6","nameLocation":"372245:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372237:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372237:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42886,"nodeType":"VariableDeclarationStatement","src":"372237:10:22"},{"assignments":[42888],"declarations":[{"constant":false,"id":42888,"mutability":"mutable","name":"m7","nameLocation":"372265:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372257:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372257:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42889,"nodeType":"VariableDeclarationStatement","src":"372257:10:22"},{"assignments":[42891],"declarations":[{"constant":false,"id":42891,"mutability":"mutable","name":"m8","nameLocation":"372285:2:22","nodeType":"VariableDeclaration","scope":42900,"src":"372277:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372277:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42892,"nodeType":"VariableDeclarationStatement","src":"372277:10:22"},{"AST":{"nativeSrc":"372349:924:22","nodeType":"YulBlock","src":"372349:924:22","statements":[{"body":{"nativeSrc":"372392:313:22","nodeType":"YulBlock","src":"372392:313:22","statements":[{"nativeSrc":"372410:15:22","nodeType":"YulVariableDeclaration","src":"372410:15:22","value":{"kind":"number","nativeSrc":"372424:1:22","nodeType":"YulLiteral","src":"372424:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"372414:6:22","nodeType":"YulTypedName","src":"372414:6:22","type":""}]},{"body":{"nativeSrc":"372495:40:22","nodeType":"YulBlock","src":"372495:40:22","statements":[{"body":{"nativeSrc":"372524:9:22","nodeType":"YulBlock","src":"372524:9:22","statements":[{"nativeSrc":"372526:5:22","nodeType":"YulBreak","src":"372526:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"372512:6:22","nodeType":"YulIdentifier","src":"372512:6:22"},{"name":"w","nativeSrc":"372520:1:22","nodeType":"YulIdentifier","src":"372520:1:22"}],"functionName":{"name":"byte","nativeSrc":"372507:4:22","nodeType":"YulIdentifier","src":"372507:4:22"},"nativeSrc":"372507:15:22","nodeType":"YulFunctionCall","src":"372507:15:22"}],"functionName":{"name":"iszero","nativeSrc":"372500:6:22","nodeType":"YulIdentifier","src":"372500:6:22"},"nativeSrc":"372500:23:22","nodeType":"YulFunctionCall","src":"372500:23:22"},"nativeSrc":"372497:36:22","nodeType":"YulIf","src":"372497:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"372452:6:22","nodeType":"YulIdentifier","src":"372452:6:22"},{"kind":"number","nativeSrc":"372460:4:22","nodeType":"YulLiteral","src":"372460:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"372449:2:22","nodeType":"YulIdentifier","src":"372449:2:22"},"nativeSrc":"372449:16:22","nodeType":"YulFunctionCall","src":"372449:16:22"},"nativeSrc":"372442:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"372466:28:22","nodeType":"YulBlock","src":"372466:28:22","statements":[{"nativeSrc":"372468:24:22","nodeType":"YulAssignment","src":"372468:24:22","value":{"arguments":[{"name":"length","nativeSrc":"372482:6:22","nodeType":"YulIdentifier","src":"372482:6:22"},{"kind":"number","nativeSrc":"372490:1:22","nodeType":"YulLiteral","src":"372490:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"372478:3:22","nodeType":"YulIdentifier","src":"372478:3:22"},"nativeSrc":"372478:14:22","nodeType":"YulFunctionCall","src":"372478:14:22"},"variableNames":[{"name":"length","nativeSrc":"372468:6:22","nodeType":"YulIdentifier","src":"372468:6:22"}]}]},"pre":{"nativeSrc":"372446:2:22","nodeType":"YulBlock","src":"372446:2:22","statements":[]},"src":"372442:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"372559:3:22","nodeType":"YulIdentifier","src":"372559:3:22"},{"name":"length","nativeSrc":"372564:6:22","nodeType":"YulIdentifier","src":"372564:6:22"}],"functionName":{"name":"mstore","nativeSrc":"372552:6:22","nodeType":"YulIdentifier","src":"372552:6:22"},"nativeSrc":"372552:19:22","nodeType":"YulFunctionCall","src":"372552:19:22"},"nativeSrc":"372552:19:22","nodeType":"YulExpressionStatement","src":"372552:19:22"},{"nativeSrc":"372588:37:22","nodeType":"YulVariableDeclaration","src":"372588:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"372605:3:22","nodeType":"YulLiteral","src":"372605:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"372614:1:22","nodeType":"YulLiteral","src":"372614:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"372617:6:22","nodeType":"YulIdentifier","src":"372617:6:22"}],"functionName":{"name":"shl","nativeSrc":"372610:3:22","nodeType":"YulIdentifier","src":"372610:3:22"},"nativeSrc":"372610:14:22","nodeType":"YulFunctionCall","src":"372610:14:22"}],"functionName":{"name":"sub","nativeSrc":"372601:3:22","nodeType":"YulIdentifier","src":"372601:3:22"},"nativeSrc":"372601:24:22","nodeType":"YulFunctionCall","src":"372601:24:22"},"variables":[{"name":"shift","nativeSrc":"372592:5:22","nodeType":"YulTypedName","src":"372592:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"372653:3:22","nodeType":"YulIdentifier","src":"372653:3:22"},{"kind":"number","nativeSrc":"372658:4:22","nodeType":"YulLiteral","src":"372658:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"372649:3:22","nodeType":"YulIdentifier","src":"372649:3:22"},"nativeSrc":"372649:14:22","nodeType":"YulFunctionCall","src":"372649:14:22"},{"arguments":[{"name":"shift","nativeSrc":"372669:5:22","nodeType":"YulIdentifier","src":"372669:5:22"},{"arguments":[{"name":"shift","nativeSrc":"372680:5:22","nodeType":"YulIdentifier","src":"372680:5:22"},{"name":"w","nativeSrc":"372687:1:22","nodeType":"YulIdentifier","src":"372687:1:22"}],"functionName":{"name":"shr","nativeSrc":"372676:3:22","nodeType":"YulIdentifier","src":"372676:3:22"},"nativeSrc":"372676:13:22","nodeType":"YulFunctionCall","src":"372676:13:22"}],"functionName":{"name":"shl","nativeSrc":"372665:3:22","nodeType":"YulIdentifier","src":"372665:3:22"},"nativeSrc":"372665:25:22","nodeType":"YulFunctionCall","src":"372665:25:22"}],"functionName":{"name":"mstore","nativeSrc":"372642:6:22","nodeType":"YulIdentifier","src":"372642:6:22"},"nativeSrc":"372642:49:22","nodeType":"YulFunctionCall","src":"372642:49:22"},"nativeSrc":"372642:49:22","nodeType":"YulExpressionStatement","src":"372642:49:22"}]},"name":"writeString","nativeSrc":"372363:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"372384:3:22","nodeType":"YulTypedName","src":"372384:3:22","type":""},{"name":"w","nativeSrc":"372389:1:22","nodeType":"YulTypedName","src":"372389:1:22","type":""}],"src":"372363:342:22"},{"nativeSrc":"372718:17:22","nodeType":"YulAssignment","src":"372718:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372730:4:22","nodeType":"YulLiteral","src":"372730:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"372724:5:22","nodeType":"YulIdentifier","src":"372724:5:22"},"nativeSrc":"372724:11:22","nodeType":"YulFunctionCall","src":"372724:11:22"},"variableNames":[{"name":"m0","nativeSrc":"372718:2:22","nodeType":"YulIdentifier","src":"372718:2:22"}]},{"nativeSrc":"372748:17:22","nodeType":"YulAssignment","src":"372748:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372760:4:22","nodeType":"YulLiteral","src":"372760:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"372754:5:22","nodeType":"YulIdentifier","src":"372754:5:22"},"nativeSrc":"372754:11:22","nodeType":"YulFunctionCall","src":"372754:11:22"},"variableNames":[{"name":"m1","nativeSrc":"372748:2:22","nodeType":"YulIdentifier","src":"372748:2:22"}]},{"nativeSrc":"372778:17:22","nodeType":"YulAssignment","src":"372778:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372790:4:22","nodeType":"YulLiteral","src":"372790:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"372784:5:22","nodeType":"YulIdentifier","src":"372784:5:22"},"nativeSrc":"372784:11:22","nodeType":"YulFunctionCall","src":"372784:11:22"},"variableNames":[{"name":"m2","nativeSrc":"372778:2:22","nodeType":"YulIdentifier","src":"372778:2:22"}]},{"nativeSrc":"372808:17:22","nodeType":"YulAssignment","src":"372808:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372820:4:22","nodeType":"YulLiteral","src":"372820:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"372814:5:22","nodeType":"YulIdentifier","src":"372814:5:22"},"nativeSrc":"372814:11:22","nodeType":"YulFunctionCall","src":"372814:11:22"},"variableNames":[{"name":"m3","nativeSrc":"372808:2:22","nodeType":"YulIdentifier","src":"372808:2:22"}]},{"nativeSrc":"372838:17:22","nodeType":"YulAssignment","src":"372838:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372850:4:22","nodeType":"YulLiteral","src":"372850:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"372844:5:22","nodeType":"YulIdentifier","src":"372844:5:22"},"nativeSrc":"372844:11:22","nodeType":"YulFunctionCall","src":"372844:11:22"},"variableNames":[{"name":"m4","nativeSrc":"372838:2:22","nodeType":"YulIdentifier","src":"372838:2:22"}]},{"nativeSrc":"372868:17:22","nodeType":"YulAssignment","src":"372868:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372880:4:22","nodeType":"YulLiteral","src":"372880:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"372874:5:22","nodeType":"YulIdentifier","src":"372874:5:22"},"nativeSrc":"372874:11:22","nodeType":"YulFunctionCall","src":"372874:11:22"},"variableNames":[{"name":"m5","nativeSrc":"372868:2:22","nodeType":"YulIdentifier","src":"372868:2:22"}]},{"nativeSrc":"372898:17:22","nodeType":"YulAssignment","src":"372898:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372910:4:22","nodeType":"YulLiteral","src":"372910:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"372904:5:22","nodeType":"YulIdentifier","src":"372904:5:22"},"nativeSrc":"372904:11:22","nodeType":"YulFunctionCall","src":"372904:11:22"},"variableNames":[{"name":"m6","nativeSrc":"372898:2:22","nodeType":"YulIdentifier","src":"372898:2:22"}]},{"nativeSrc":"372928:17:22","nodeType":"YulAssignment","src":"372928:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"372940:4:22","nodeType":"YulLiteral","src":"372940:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"372934:5:22","nodeType":"YulIdentifier","src":"372934:5:22"},"nativeSrc":"372934:11:22","nodeType":"YulFunctionCall","src":"372934:11:22"},"variableNames":[{"name":"m7","nativeSrc":"372928:2:22","nodeType":"YulIdentifier","src":"372928:2:22"}]},{"nativeSrc":"372958:18:22","nodeType":"YulAssignment","src":"372958:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"372970:5:22","nodeType":"YulLiteral","src":"372970:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"372964:5:22","nodeType":"YulIdentifier","src":"372964:5:22"},"nativeSrc":"372964:12:22","nodeType":"YulFunctionCall","src":"372964:12:22"},"variableNames":[{"name":"m8","nativeSrc":"372958:2:22","nodeType":"YulIdentifier","src":"372958:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373058:4:22","nodeType":"YulLiteral","src":"373058:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"373064:10:22","nodeType":"YulLiteral","src":"373064:10:22","type":"","value":"0x24f91465"}],"functionName":{"name":"mstore","nativeSrc":"373051:6:22","nodeType":"YulIdentifier","src":"373051:6:22"},"nativeSrc":"373051:24:22","nodeType":"YulFunctionCall","src":"373051:24:22"},"nativeSrc":"373051:24:22","nodeType":"YulExpressionStatement","src":"373051:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373095:4:22","nodeType":"YulLiteral","src":"373095:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"373101:4:22","nodeType":"YulLiteral","src":"373101:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"373088:6:22","nodeType":"YulIdentifier","src":"373088:6:22"},"nativeSrc":"373088:18:22","nodeType":"YulFunctionCall","src":"373088:18:22"},"nativeSrc":"373088:18:22","nodeType":"YulExpressionStatement","src":"373088:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373126:4:22","nodeType":"YulLiteral","src":"373126:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"373132:2:22","nodeType":"YulIdentifier","src":"373132:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373119:6:22","nodeType":"YulIdentifier","src":"373119:6:22"},"nativeSrc":"373119:16:22","nodeType":"YulFunctionCall","src":"373119:16:22"},"nativeSrc":"373119:16:22","nodeType":"YulExpressionStatement","src":"373119:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373155:4:22","nodeType":"YulLiteral","src":"373155:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"373161:4:22","nodeType":"YulLiteral","src":"373161:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"373148:6:22","nodeType":"YulIdentifier","src":"373148:6:22"},"nativeSrc":"373148:18:22","nodeType":"YulFunctionCall","src":"373148:18:22"},"nativeSrc":"373148:18:22","nodeType":"YulExpressionStatement","src":"373148:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373186:4:22","nodeType":"YulLiteral","src":"373186:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"373192:2:22","nodeType":"YulIdentifier","src":"373192:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373179:6:22","nodeType":"YulIdentifier","src":"373179:6:22"},"nativeSrc":"373179:16:22","nodeType":"YulFunctionCall","src":"373179:16:22"},"nativeSrc":"373179:16:22","nodeType":"YulExpressionStatement","src":"373179:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373220:4:22","nodeType":"YulLiteral","src":"373220:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"373226:2:22","nodeType":"YulIdentifier","src":"373226:2:22"}],"functionName":{"name":"writeString","nativeSrc":"373208:11:22","nodeType":"YulIdentifier","src":"373208:11:22"},"nativeSrc":"373208:21:22","nodeType":"YulFunctionCall","src":"373208:21:22"},"nativeSrc":"373208:21:22","nodeType":"YulExpressionStatement","src":"373208:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373254:4:22","nodeType":"YulLiteral","src":"373254:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"373260:2:22","nodeType":"YulIdentifier","src":"373260:2:22"}],"functionName":{"name":"writeString","nativeSrc":"373242:11:22","nodeType":"YulIdentifier","src":"373242:11:22"},"nativeSrc":"373242:21:22","nodeType":"YulFunctionCall","src":"373242:21:22"},"nativeSrc":"373242:21:22","nodeType":"YulExpressionStatement","src":"373242:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42867,"isOffset":false,"isSlot":false,"src":"372718:2:22","valueSize":1},{"declaration":42870,"isOffset":false,"isSlot":false,"src":"372748:2:22","valueSize":1},{"declaration":42873,"isOffset":false,"isSlot":false,"src":"372778:2:22","valueSize":1},{"declaration":42876,"isOffset":false,"isSlot":false,"src":"372808:2:22","valueSize":1},{"declaration":42879,"isOffset":false,"isSlot":false,"src":"372838:2:22","valueSize":1},{"declaration":42882,"isOffset":false,"isSlot":false,"src":"372868:2:22","valueSize":1},{"declaration":42885,"isOffset":false,"isSlot":false,"src":"372898:2:22","valueSize":1},{"declaration":42888,"isOffset":false,"isSlot":false,"src":"372928:2:22","valueSize":1},{"declaration":42891,"isOffset":false,"isSlot":false,"src":"372958:2:22","valueSize":1},{"declaration":42857,"isOffset":false,"isSlot":false,"src":"373226:2:22","valueSize":1},{"declaration":42859,"isOffset":false,"isSlot":false,"src":"373132:2:22","valueSize":1},{"declaration":42861,"isOffset":false,"isSlot":false,"src":"373260:2:22","valueSize":1},{"declaration":42863,"isOffset":false,"isSlot":false,"src":"373192:2:22","valueSize":1}],"id":42893,"nodeType":"InlineAssembly","src":"372340:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373298:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":42896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373304:5:22","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":42894,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"373282:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"373282:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42898,"nodeType":"ExpressionStatement","src":"373282:28:22"},{"AST":{"nativeSrc":"373372:273:22","nodeType":"YulBlock","src":"373372:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"373393:4:22","nodeType":"YulLiteral","src":"373393:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"373399:2:22","nodeType":"YulIdentifier","src":"373399:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373386:6:22","nodeType":"YulIdentifier","src":"373386:6:22"},"nativeSrc":"373386:16:22","nodeType":"YulFunctionCall","src":"373386:16:22"},"nativeSrc":"373386:16:22","nodeType":"YulExpressionStatement","src":"373386:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373422:4:22","nodeType":"YulLiteral","src":"373422:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"373428:2:22","nodeType":"YulIdentifier","src":"373428:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373415:6:22","nodeType":"YulIdentifier","src":"373415:6:22"},"nativeSrc":"373415:16:22","nodeType":"YulFunctionCall","src":"373415:16:22"},"nativeSrc":"373415:16:22","nodeType":"YulExpressionStatement","src":"373415:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373451:4:22","nodeType":"YulLiteral","src":"373451:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"373457:2:22","nodeType":"YulIdentifier","src":"373457:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373444:6:22","nodeType":"YulIdentifier","src":"373444:6:22"},"nativeSrc":"373444:16:22","nodeType":"YulFunctionCall","src":"373444:16:22"},"nativeSrc":"373444:16:22","nodeType":"YulExpressionStatement","src":"373444:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373480:4:22","nodeType":"YulLiteral","src":"373480:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"373486:2:22","nodeType":"YulIdentifier","src":"373486:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373473:6:22","nodeType":"YulIdentifier","src":"373473:6:22"},"nativeSrc":"373473:16:22","nodeType":"YulFunctionCall","src":"373473:16:22"},"nativeSrc":"373473:16:22","nodeType":"YulExpressionStatement","src":"373473:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373509:4:22","nodeType":"YulLiteral","src":"373509:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"373515:2:22","nodeType":"YulIdentifier","src":"373515:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373502:6:22","nodeType":"YulIdentifier","src":"373502:6:22"},"nativeSrc":"373502:16:22","nodeType":"YulFunctionCall","src":"373502:16:22"},"nativeSrc":"373502:16:22","nodeType":"YulExpressionStatement","src":"373502:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373538:4:22","nodeType":"YulLiteral","src":"373538:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"373544:2:22","nodeType":"YulIdentifier","src":"373544:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373531:6:22","nodeType":"YulIdentifier","src":"373531:6:22"},"nativeSrc":"373531:16:22","nodeType":"YulFunctionCall","src":"373531:16:22"},"nativeSrc":"373531:16:22","nodeType":"YulExpressionStatement","src":"373531:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373567:4:22","nodeType":"YulLiteral","src":"373567:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"373573:2:22","nodeType":"YulIdentifier","src":"373573:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373560:6:22","nodeType":"YulIdentifier","src":"373560:6:22"},"nativeSrc":"373560:16:22","nodeType":"YulFunctionCall","src":"373560:16:22"},"nativeSrc":"373560:16:22","nodeType":"YulExpressionStatement","src":"373560:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373596:4:22","nodeType":"YulLiteral","src":"373596:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"373602:2:22","nodeType":"YulIdentifier","src":"373602:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373589:6:22","nodeType":"YulIdentifier","src":"373589:6:22"},"nativeSrc":"373589:16:22","nodeType":"YulFunctionCall","src":"373589:16:22"},"nativeSrc":"373589:16:22","nodeType":"YulExpressionStatement","src":"373589:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373625:5:22","nodeType":"YulLiteral","src":"373625:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"373632:2:22","nodeType":"YulIdentifier","src":"373632:2:22"}],"functionName":{"name":"mstore","nativeSrc":"373618:6:22","nodeType":"YulIdentifier","src":"373618:6:22"},"nativeSrc":"373618:17:22","nodeType":"YulFunctionCall","src":"373618:17:22"},"nativeSrc":"373618:17:22","nodeType":"YulExpressionStatement","src":"373618:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42867,"isOffset":false,"isSlot":false,"src":"373399:2:22","valueSize":1},{"declaration":42870,"isOffset":false,"isSlot":false,"src":"373428:2:22","valueSize":1},{"declaration":42873,"isOffset":false,"isSlot":false,"src":"373457:2:22","valueSize":1},{"declaration":42876,"isOffset":false,"isSlot":false,"src":"373486:2:22","valueSize":1},{"declaration":42879,"isOffset":false,"isSlot":false,"src":"373515:2:22","valueSize":1},{"declaration":42882,"isOffset":false,"isSlot":false,"src":"373544:2:22","valueSize":1},{"declaration":42885,"isOffset":false,"isSlot":false,"src":"373573:2:22","valueSize":1},{"declaration":42888,"isOffset":false,"isSlot":false,"src":"373602:2:22","valueSize":1},{"declaration":42891,"isOffset":false,"isSlot":false,"src":"373632:2:22","valueSize":1}],"id":42899,"nodeType":"InlineAssembly","src":"373363:282:22"}]},"id":42901,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"372044:3:22","nodeType":"FunctionDefinition","parameters":{"id":42864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42857,"mutability":"mutable","name":"p0","nameLocation":"372056:2:22","nodeType":"VariableDeclaration","scope":42901,"src":"372048:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372048:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42859,"mutability":"mutable","name":"p1","nameLocation":"372065:2:22","nodeType":"VariableDeclaration","scope":42901,"src":"372060:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42858,"name":"bool","nodeType":"ElementaryTypeName","src":"372060:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42861,"mutability":"mutable","name":"p2","nameLocation":"372077:2:22","nodeType":"VariableDeclaration","scope":42901,"src":"372069:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372069:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42863,"mutability":"mutable","name":"p3","nameLocation":"372089:2:22","nodeType":"VariableDeclaration","scope":42901,"src":"372081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42862,"name":"uint256","nodeType":"ElementaryTypeName","src":"372081:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372047:45:22"},"returnParameters":{"id":42865,"nodeType":"ParameterList","parameters":[],"src":"372107:0:22"},"scope":44426,"src":"372035:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42952,"nodeType":"Block","src":"373729:1746:22","statements":[{"assignments":[42913],"declarations":[{"constant":false,"id":42913,"mutability":"mutable","name":"m0","nameLocation":"373747:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373739:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373739:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42914,"nodeType":"VariableDeclarationStatement","src":"373739:10:22"},{"assignments":[42916],"declarations":[{"constant":false,"id":42916,"mutability":"mutable","name":"m1","nameLocation":"373767:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373759:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373759:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42917,"nodeType":"VariableDeclarationStatement","src":"373759:10:22"},{"assignments":[42919],"declarations":[{"constant":false,"id":42919,"mutability":"mutable","name":"m2","nameLocation":"373787:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373779:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373779:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42920,"nodeType":"VariableDeclarationStatement","src":"373779:10:22"},{"assignments":[42922],"declarations":[{"constant":false,"id":42922,"mutability":"mutable","name":"m3","nameLocation":"373807:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373799:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373799:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42923,"nodeType":"VariableDeclarationStatement","src":"373799:10:22"},{"assignments":[42925],"declarations":[{"constant":false,"id":42925,"mutability":"mutable","name":"m4","nameLocation":"373827:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373819:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373819:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42926,"nodeType":"VariableDeclarationStatement","src":"373819:10:22"},{"assignments":[42928],"declarations":[{"constant":false,"id":42928,"mutability":"mutable","name":"m5","nameLocation":"373847:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373839:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373839:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42929,"nodeType":"VariableDeclarationStatement","src":"373839:10:22"},{"assignments":[42931],"declarations":[{"constant":false,"id":42931,"mutability":"mutable","name":"m6","nameLocation":"373867:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373859:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373859:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42932,"nodeType":"VariableDeclarationStatement","src":"373859:10:22"},{"assignments":[42934],"declarations":[{"constant":false,"id":42934,"mutability":"mutable","name":"m7","nameLocation":"373887:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373879:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373879:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42935,"nodeType":"VariableDeclarationStatement","src":"373879:10:22"},{"assignments":[42937],"declarations":[{"constant":false,"id":42937,"mutability":"mutable","name":"m8","nameLocation":"373907:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373899:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373899:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42938,"nodeType":"VariableDeclarationStatement","src":"373899:10:22"},{"assignments":[42940],"declarations":[{"constant":false,"id":42940,"mutability":"mutable","name":"m9","nameLocation":"373927:2:22","nodeType":"VariableDeclaration","scope":42952,"src":"373919:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373919:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42941,"nodeType":"VariableDeclarationStatement","src":"373919:10:22"},{"assignments":[42943],"declarations":[{"constant":false,"id":42943,"mutability":"mutable","name":"m10","nameLocation":"373947:3:22","nodeType":"VariableDeclaration","scope":42952,"src":"373939:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373939:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42944,"nodeType":"VariableDeclarationStatement","src":"373939:11:22"},{"AST":{"nativeSrc":"374012:1024:22","nodeType":"YulBlock","src":"374012:1024:22","statements":[{"body":{"nativeSrc":"374055:313:22","nodeType":"YulBlock","src":"374055:313:22","statements":[{"nativeSrc":"374073:15:22","nodeType":"YulVariableDeclaration","src":"374073:15:22","value":{"kind":"number","nativeSrc":"374087:1:22","nodeType":"YulLiteral","src":"374087:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"374077:6:22","nodeType":"YulTypedName","src":"374077:6:22","type":""}]},{"body":{"nativeSrc":"374158:40:22","nodeType":"YulBlock","src":"374158:40:22","statements":[{"body":{"nativeSrc":"374187:9:22","nodeType":"YulBlock","src":"374187:9:22","statements":[{"nativeSrc":"374189:5:22","nodeType":"YulBreak","src":"374189:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"374175:6:22","nodeType":"YulIdentifier","src":"374175:6:22"},{"name":"w","nativeSrc":"374183:1:22","nodeType":"YulIdentifier","src":"374183:1:22"}],"functionName":{"name":"byte","nativeSrc":"374170:4:22","nodeType":"YulIdentifier","src":"374170:4:22"},"nativeSrc":"374170:15:22","nodeType":"YulFunctionCall","src":"374170:15:22"}],"functionName":{"name":"iszero","nativeSrc":"374163:6:22","nodeType":"YulIdentifier","src":"374163:6:22"},"nativeSrc":"374163:23:22","nodeType":"YulFunctionCall","src":"374163:23:22"},"nativeSrc":"374160:36:22","nodeType":"YulIf","src":"374160:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"374115:6:22","nodeType":"YulIdentifier","src":"374115:6:22"},{"kind":"number","nativeSrc":"374123:4:22","nodeType":"YulLiteral","src":"374123:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"374112:2:22","nodeType":"YulIdentifier","src":"374112:2:22"},"nativeSrc":"374112:16:22","nodeType":"YulFunctionCall","src":"374112:16:22"},"nativeSrc":"374105:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"374129:28:22","nodeType":"YulBlock","src":"374129:28:22","statements":[{"nativeSrc":"374131:24:22","nodeType":"YulAssignment","src":"374131:24:22","value":{"arguments":[{"name":"length","nativeSrc":"374145:6:22","nodeType":"YulIdentifier","src":"374145:6:22"},{"kind":"number","nativeSrc":"374153:1:22","nodeType":"YulLiteral","src":"374153:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"374141:3:22","nodeType":"YulIdentifier","src":"374141:3:22"},"nativeSrc":"374141:14:22","nodeType":"YulFunctionCall","src":"374141:14:22"},"variableNames":[{"name":"length","nativeSrc":"374131:6:22","nodeType":"YulIdentifier","src":"374131:6:22"}]}]},"pre":{"nativeSrc":"374109:2:22","nodeType":"YulBlock","src":"374109:2:22","statements":[]},"src":"374105:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"374222:3:22","nodeType":"YulIdentifier","src":"374222:3:22"},{"name":"length","nativeSrc":"374227:6:22","nodeType":"YulIdentifier","src":"374227:6:22"}],"functionName":{"name":"mstore","nativeSrc":"374215:6:22","nodeType":"YulIdentifier","src":"374215:6:22"},"nativeSrc":"374215:19:22","nodeType":"YulFunctionCall","src":"374215:19:22"},"nativeSrc":"374215:19:22","nodeType":"YulExpressionStatement","src":"374215:19:22"},{"nativeSrc":"374251:37:22","nodeType":"YulVariableDeclaration","src":"374251:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"374268:3:22","nodeType":"YulLiteral","src":"374268:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"374277:1:22","nodeType":"YulLiteral","src":"374277:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"374280:6:22","nodeType":"YulIdentifier","src":"374280:6:22"}],"functionName":{"name":"shl","nativeSrc":"374273:3:22","nodeType":"YulIdentifier","src":"374273:3:22"},"nativeSrc":"374273:14:22","nodeType":"YulFunctionCall","src":"374273:14:22"}],"functionName":{"name":"sub","nativeSrc":"374264:3:22","nodeType":"YulIdentifier","src":"374264:3:22"},"nativeSrc":"374264:24:22","nodeType":"YulFunctionCall","src":"374264:24:22"},"variables":[{"name":"shift","nativeSrc":"374255:5:22","nodeType":"YulTypedName","src":"374255:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"374316:3:22","nodeType":"YulIdentifier","src":"374316:3:22"},{"kind":"number","nativeSrc":"374321:4:22","nodeType":"YulLiteral","src":"374321:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"374312:3:22","nodeType":"YulIdentifier","src":"374312:3:22"},"nativeSrc":"374312:14:22","nodeType":"YulFunctionCall","src":"374312:14:22"},{"arguments":[{"name":"shift","nativeSrc":"374332:5:22","nodeType":"YulIdentifier","src":"374332:5:22"},{"arguments":[{"name":"shift","nativeSrc":"374343:5:22","nodeType":"YulIdentifier","src":"374343:5:22"},{"name":"w","nativeSrc":"374350:1:22","nodeType":"YulIdentifier","src":"374350:1:22"}],"functionName":{"name":"shr","nativeSrc":"374339:3:22","nodeType":"YulIdentifier","src":"374339:3:22"},"nativeSrc":"374339:13:22","nodeType":"YulFunctionCall","src":"374339:13:22"}],"functionName":{"name":"shl","nativeSrc":"374328:3:22","nodeType":"YulIdentifier","src":"374328:3:22"},"nativeSrc":"374328:25:22","nodeType":"YulFunctionCall","src":"374328:25:22"}],"functionName":{"name":"mstore","nativeSrc":"374305:6:22","nodeType":"YulIdentifier","src":"374305:6:22"},"nativeSrc":"374305:49:22","nodeType":"YulFunctionCall","src":"374305:49:22"},"nativeSrc":"374305:49:22","nodeType":"YulExpressionStatement","src":"374305:49:22"}]},"name":"writeString","nativeSrc":"374026:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"374047:3:22","nodeType":"YulTypedName","src":"374047:3:22","type":""},{"name":"w","nativeSrc":"374052:1:22","nodeType":"YulTypedName","src":"374052:1:22","type":""}],"src":"374026:342:22"},{"nativeSrc":"374381:17:22","nodeType":"YulAssignment","src":"374381:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374393:4:22","nodeType":"YulLiteral","src":"374393:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"374387:5:22","nodeType":"YulIdentifier","src":"374387:5:22"},"nativeSrc":"374387:11:22","nodeType":"YulFunctionCall","src":"374387:11:22"},"variableNames":[{"name":"m0","nativeSrc":"374381:2:22","nodeType":"YulIdentifier","src":"374381:2:22"}]},{"nativeSrc":"374411:17:22","nodeType":"YulAssignment","src":"374411:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374423:4:22","nodeType":"YulLiteral","src":"374423:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"374417:5:22","nodeType":"YulIdentifier","src":"374417:5:22"},"nativeSrc":"374417:11:22","nodeType":"YulFunctionCall","src":"374417:11:22"},"variableNames":[{"name":"m1","nativeSrc":"374411:2:22","nodeType":"YulIdentifier","src":"374411:2:22"}]},{"nativeSrc":"374441:17:22","nodeType":"YulAssignment","src":"374441:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374453:4:22","nodeType":"YulLiteral","src":"374453:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"374447:5:22","nodeType":"YulIdentifier","src":"374447:5:22"},"nativeSrc":"374447:11:22","nodeType":"YulFunctionCall","src":"374447:11:22"},"variableNames":[{"name":"m2","nativeSrc":"374441:2:22","nodeType":"YulIdentifier","src":"374441:2:22"}]},{"nativeSrc":"374471:17:22","nodeType":"YulAssignment","src":"374471:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374483:4:22","nodeType":"YulLiteral","src":"374483:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"374477:5:22","nodeType":"YulIdentifier","src":"374477:5:22"},"nativeSrc":"374477:11:22","nodeType":"YulFunctionCall","src":"374477:11:22"},"variableNames":[{"name":"m3","nativeSrc":"374471:2:22","nodeType":"YulIdentifier","src":"374471:2:22"}]},{"nativeSrc":"374501:17:22","nodeType":"YulAssignment","src":"374501:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374513:4:22","nodeType":"YulLiteral","src":"374513:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"374507:5:22","nodeType":"YulIdentifier","src":"374507:5:22"},"nativeSrc":"374507:11:22","nodeType":"YulFunctionCall","src":"374507:11:22"},"variableNames":[{"name":"m4","nativeSrc":"374501:2:22","nodeType":"YulIdentifier","src":"374501:2:22"}]},{"nativeSrc":"374531:17:22","nodeType":"YulAssignment","src":"374531:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374543:4:22","nodeType":"YulLiteral","src":"374543:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"374537:5:22","nodeType":"YulIdentifier","src":"374537:5:22"},"nativeSrc":"374537:11:22","nodeType":"YulFunctionCall","src":"374537:11:22"},"variableNames":[{"name":"m5","nativeSrc":"374531:2:22","nodeType":"YulIdentifier","src":"374531:2:22"}]},{"nativeSrc":"374561:17:22","nodeType":"YulAssignment","src":"374561:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374573:4:22","nodeType":"YulLiteral","src":"374573:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"374567:5:22","nodeType":"YulIdentifier","src":"374567:5:22"},"nativeSrc":"374567:11:22","nodeType":"YulFunctionCall","src":"374567:11:22"},"variableNames":[{"name":"m6","nativeSrc":"374561:2:22","nodeType":"YulIdentifier","src":"374561:2:22"}]},{"nativeSrc":"374591:17:22","nodeType":"YulAssignment","src":"374591:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"374603:4:22","nodeType":"YulLiteral","src":"374603:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"374597:5:22","nodeType":"YulIdentifier","src":"374597:5:22"},"nativeSrc":"374597:11:22","nodeType":"YulFunctionCall","src":"374597:11:22"},"variableNames":[{"name":"m7","nativeSrc":"374591:2:22","nodeType":"YulIdentifier","src":"374591:2:22"}]},{"nativeSrc":"374621:18:22","nodeType":"YulAssignment","src":"374621:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"374633:5:22","nodeType":"YulLiteral","src":"374633:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"374627:5:22","nodeType":"YulIdentifier","src":"374627:5:22"},"nativeSrc":"374627:12:22","nodeType":"YulFunctionCall","src":"374627:12:22"},"variableNames":[{"name":"m8","nativeSrc":"374621:2:22","nodeType":"YulIdentifier","src":"374621:2:22"}]},{"nativeSrc":"374652:18:22","nodeType":"YulAssignment","src":"374652:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"374664:5:22","nodeType":"YulLiteral","src":"374664:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"374658:5:22","nodeType":"YulIdentifier","src":"374658:5:22"},"nativeSrc":"374658:12:22","nodeType":"YulFunctionCall","src":"374658:12:22"},"variableNames":[{"name":"m9","nativeSrc":"374652:2:22","nodeType":"YulIdentifier","src":"374652:2:22"}]},{"nativeSrc":"374683:19:22","nodeType":"YulAssignment","src":"374683:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"374696:5:22","nodeType":"YulLiteral","src":"374696:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"374690:5:22","nodeType":"YulIdentifier","src":"374690:5:22"},"nativeSrc":"374690:12:22","nodeType":"YulFunctionCall","src":"374690:12:22"},"variableNames":[{"name":"m10","nativeSrc":"374683:3:22","nodeType":"YulIdentifier","src":"374683:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374783:4:22","nodeType":"YulLiteral","src":"374783:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"374789:10:22","nodeType":"YulLiteral","src":"374789:10:22","type":"","value":"0xa826caeb"}],"functionName":{"name":"mstore","nativeSrc":"374776:6:22","nodeType":"YulIdentifier","src":"374776:6:22"},"nativeSrc":"374776:24:22","nodeType":"YulFunctionCall","src":"374776:24:22"},"nativeSrc":"374776:24:22","nodeType":"YulExpressionStatement","src":"374776:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374820:4:22","nodeType":"YulLiteral","src":"374820:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"374826:4:22","nodeType":"YulLiteral","src":"374826:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"374813:6:22","nodeType":"YulIdentifier","src":"374813:6:22"},"nativeSrc":"374813:18:22","nodeType":"YulFunctionCall","src":"374813:18:22"},"nativeSrc":"374813:18:22","nodeType":"YulExpressionStatement","src":"374813:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374851:4:22","nodeType":"YulLiteral","src":"374851:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"374857:2:22","nodeType":"YulIdentifier","src":"374857:2:22"}],"functionName":{"name":"mstore","nativeSrc":"374844:6:22","nodeType":"YulIdentifier","src":"374844:6:22"},"nativeSrc":"374844:16:22","nodeType":"YulFunctionCall","src":"374844:16:22"},"nativeSrc":"374844:16:22","nodeType":"YulExpressionStatement","src":"374844:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374880:4:22","nodeType":"YulLiteral","src":"374880:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"374886:4:22","nodeType":"YulLiteral","src":"374886:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"374873:6:22","nodeType":"YulIdentifier","src":"374873:6:22"},"nativeSrc":"374873:18:22","nodeType":"YulFunctionCall","src":"374873:18:22"},"nativeSrc":"374873:18:22","nodeType":"YulExpressionStatement","src":"374873:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374911:4:22","nodeType":"YulLiteral","src":"374911:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"374917:5:22","nodeType":"YulLiteral","src":"374917:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"374904:6:22","nodeType":"YulIdentifier","src":"374904:6:22"},"nativeSrc":"374904:19:22","nodeType":"YulFunctionCall","src":"374904:19:22"},"nativeSrc":"374904:19:22","nodeType":"YulExpressionStatement","src":"374904:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374948:4:22","nodeType":"YulLiteral","src":"374948:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"374954:2:22","nodeType":"YulIdentifier","src":"374954:2:22"}],"functionName":{"name":"writeString","nativeSrc":"374936:11:22","nodeType":"YulIdentifier","src":"374936:11:22"},"nativeSrc":"374936:21:22","nodeType":"YulFunctionCall","src":"374936:21:22"},"nativeSrc":"374936:21:22","nodeType":"YulExpressionStatement","src":"374936:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374982:4:22","nodeType":"YulLiteral","src":"374982:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"374988:2:22","nodeType":"YulIdentifier","src":"374988:2:22"}],"functionName":{"name":"writeString","nativeSrc":"374970:11:22","nodeType":"YulIdentifier","src":"374970:11:22"},"nativeSrc":"374970:21:22","nodeType":"YulFunctionCall","src":"374970:21:22"},"nativeSrc":"374970:21:22","nodeType":"YulExpressionStatement","src":"374970:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375016:5:22","nodeType":"YulLiteral","src":"375016:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"375023:2:22","nodeType":"YulIdentifier","src":"375023:2:22"}],"functionName":{"name":"writeString","nativeSrc":"375004:11:22","nodeType":"YulIdentifier","src":"375004:11:22"},"nativeSrc":"375004:22:22","nodeType":"YulFunctionCall","src":"375004:22:22"},"nativeSrc":"375004:22:22","nodeType":"YulExpressionStatement","src":"375004:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42913,"isOffset":false,"isSlot":false,"src":"374381:2:22","valueSize":1},{"declaration":42916,"isOffset":false,"isSlot":false,"src":"374411:2:22","valueSize":1},{"declaration":42943,"isOffset":false,"isSlot":false,"src":"374683:3:22","valueSize":1},{"declaration":42919,"isOffset":false,"isSlot":false,"src":"374441:2:22","valueSize":1},{"declaration":42922,"isOffset":false,"isSlot":false,"src":"374471:2:22","valueSize":1},{"declaration":42925,"isOffset":false,"isSlot":false,"src":"374501:2:22","valueSize":1},{"declaration":42928,"isOffset":false,"isSlot":false,"src":"374531:2:22","valueSize":1},{"declaration":42931,"isOffset":false,"isSlot":false,"src":"374561:2:22","valueSize":1},{"declaration":42934,"isOffset":false,"isSlot":false,"src":"374591:2:22","valueSize":1},{"declaration":42937,"isOffset":false,"isSlot":false,"src":"374621:2:22","valueSize":1},{"declaration":42940,"isOffset":false,"isSlot":false,"src":"374652:2:22","valueSize":1},{"declaration":42903,"isOffset":false,"isSlot":false,"src":"374954:2:22","valueSize":1},{"declaration":42905,"isOffset":false,"isSlot":false,"src":"374857:2:22","valueSize":1},{"declaration":42907,"isOffset":false,"isSlot":false,"src":"374988:2:22","valueSize":1},{"declaration":42909,"isOffset":false,"isSlot":false,"src":"375023:2:22","valueSize":1}],"id":42945,"nodeType":"InlineAssembly","src":"374003:1033:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375061:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":42948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375067:5:22","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":42946,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"375045:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"375045:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42950,"nodeType":"ExpressionStatement","src":"375045:28:22"},{"AST":{"nativeSrc":"375135:334:22","nodeType":"YulBlock","src":"375135:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"375156:4:22","nodeType":"YulLiteral","src":"375156:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"375162:2:22","nodeType":"YulIdentifier","src":"375162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375149:6:22","nodeType":"YulIdentifier","src":"375149:6:22"},"nativeSrc":"375149:16:22","nodeType":"YulFunctionCall","src":"375149:16:22"},"nativeSrc":"375149:16:22","nodeType":"YulExpressionStatement","src":"375149:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375185:4:22","nodeType":"YulLiteral","src":"375185:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"375191:2:22","nodeType":"YulIdentifier","src":"375191:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375178:6:22","nodeType":"YulIdentifier","src":"375178:6:22"},"nativeSrc":"375178:16:22","nodeType":"YulFunctionCall","src":"375178:16:22"},"nativeSrc":"375178:16:22","nodeType":"YulExpressionStatement","src":"375178:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375214:4:22","nodeType":"YulLiteral","src":"375214:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"375220:2:22","nodeType":"YulIdentifier","src":"375220:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375207:6:22","nodeType":"YulIdentifier","src":"375207:6:22"},"nativeSrc":"375207:16:22","nodeType":"YulFunctionCall","src":"375207:16:22"},"nativeSrc":"375207:16:22","nodeType":"YulExpressionStatement","src":"375207:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375243:4:22","nodeType":"YulLiteral","src":"375243:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"375249:2:22","nodeType":"YulIdentifier","src":"375249:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375236:6:22","nodeType":"YulIdentifier","src":"375236:6:22"},"nativeSrc":"375236:16:22","nodeType":"YulFunctionCall","src":"375236:16:22"},"nativeSrc":"375236:16:22","nodeType":"YulExpressionStatement","src":"375236:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375272:4:22","nodeType":"YulLiteral","src":"375272:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"375278:2:22","nodeType":"YulIdentifier","src":"375278:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375265:6:22","nodeType":"YulIdentifier","src":"375265:6:22"},"nativeSrc":"375265:16:22","nodeType":"YulFunctionCall","src":"375265:16:22"},"nativeSrc":"375265:16:22","nodeType":"YulExpressionStatement","src":"375265:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375301:4:22","nodeType":"YulLiteral","src":"375301:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"375307:2:22","nodeType":"YulIdentifier","src":"375307:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375294:6:22","nodeType":"YulIdentifier","src":"375294:6:22"},"nativeSrc":"375294:16:22","nodeType":"YulFunctionCall","src":"375294:16:22"},"nativeSrc":"375294:16:22","nodeType":"YulExpressionStatement","src":"375294:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375330:4:22","nodeType":"YulLiteral","src":"375330:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"375336:2:22","nodeType":"YulIdentifier","src":"375336:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375323:6:22","nodeType":"YulIdentifier","src":"375323:6:22"},"nativeSrc":"375323:16:22","nodeType":"YulFunctionCall","src":"375323:16:22"},"nativeSrc":"375323:16:22","nodeType":"YulExpressionStatement","src":"375323:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375359:4:22","nodeType":"YulLiteral","src":"375359:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"375365:2:22","nodeType":"YulIdentifier","src":"375365:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375352:6:22","nodeType":"YulIdentifier","src":"375352:6:22"},"nativeSrc":"375352:16:22","nodeType":"YulFunctionCall","src":"375352:16:22"},"nativeSrc":"375352:16:22","nodeType":"YulExpressionStatement","src":"375352:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375388:5:22","nodeType":"YulLiteral","src":"375388:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"375395:2:22","nodeType":"YulIdentifier","src":"375395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375381:6:22","nodeType":"YulIdentifier","src":"375381:6:22"},"nativeSrc":"375381:17:22","nodeType":"YulFunctionCall","src":"375381:17:22"},"nativeSrc":"375381:17:22","nodeType":"YulExpressionStatement","src":"375381:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375418:5:22","nodeType":"YulLiteral","src":"375418:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"375425:2:22","nodeType":"YulIdentifier","src":"375425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"375411:6:22","nodeType":"YulIdentifier","src":"375411:6:22"},"nativeSrc":"375411:17:22","nodeType":"YulFunctionCall","src":"375411:17:22"},"nativeSrc":"375411:17:22","nodeType":"YulExpressionStatement","src":"375411:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375448:5:22","nodeType":"YulLiteral","src":"375448:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"375455:3:22","nodeType":"YulIdentifier","src":"375455:3:22"}],"functionName":{"name":"mstore","nativeSrc":"375441:6:22","nodeType":"YulIdentifier","src":"375441:6:22"},"nativeSrc":"375441:18:22","nodeType":"YulFunctionCall","src":"375441:18:22"},"nativeSrc":"375441:18:22","nodeType":"YulExpressionStatement","src":"375441:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42913,"isOffset":false,"isSlot":false,"src":"375162:2:22","valueSize":1},{"declaration":42916,"isOffset":false,"isSlot":false,"src":"375191:2:22","valueSize":1},{"declaration":42943,"isOffset":false,"isSlot":false,"src":"375455:3:22","valueSize":1},{"declaration":42919,"isOffset":false,"isSlot":false,"src":"375220:2:22","valueSize":1},{"declaration":42922,"isOffset":false,"isSlot":false,"src":"375249:2:22","valueSize":1},{"declaration":42925,"isOffset":false,"isSlot":false,"src":"375278:2:22","valueSize":1},{"declaration":42928,"isOffset":false,"isSlot":false,"src":"375307:2:22","valueSize":1},{"declaration":42931,"isOffset":false,"isSlot":false,"src":"375336:2:22","valueSize":1},{"declaration":42934,"isOffset":false,"isSlot":false,"src":"375365:2:22","valueSize":1},{"declaration":42937,"isOffset":false,"isSlot":false,"src":"375395:2:22","valueSize":1},{"declaration":42940,"isOffset":false,"isSlot":false,"src":"375425:2:22","valueSize":1}],"id":42951,"nodeType":"InlineAssembly","src":"375126:343:22"}]},"id":42953,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"373666:3:22","nodeType":"FunctionDefinition","parameters":{"id":42910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42903,"mutability":"mutable","name":"p0","nameLocation":"373678:2:22","nodeType":"VariableDeclaration","scope":42953,"src":"373670:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373670:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42905,"mutability":"mutable","name":"p1","nameLocation":"373687:2:22","nodeType":"VariableDeclaration","scope":42953,"src":"373682:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42904,"name":"bool","nodeType":"ElementaryTypeName","src":"373682:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42907,"mutability":"mutable","name":"p2","nameLocation":"373699:2:22","nodeType":"VariableDeclaration","scope":42953,"src":"373691:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373691:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42909,"mutability":"mutable","name":"p3","nameLocation":"373711:2:22","nodeType":"VariableDeclaration","scope":42953,"src":"373703:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373703:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"373669:45:22"},"returnParameters":{"id":42911,"nodeType":"ParameterList","parameters":[],"src":"373729:0:22"},"scope":44426,"src":"373657:1818:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":42992,"nodeType":"Block","src":"375556:1351:22","statements":[{"assignments":[42965],"declarations":[{"constant":false,"id":42965,"mutability":"mutable","name":"m0","nameLocation":"375574:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375566:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42966,"nodeType":"VariableDeclarationStatement","src":"375566:10:22"},{"assignments":[42968],"declarations":[{"constant":false,"id":42968,"mutability":"mutable","name":"m1","nameLocation":"375594:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375586:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375586:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42969,"nodeType":"VariableDeclarationStatement","src":"375586:10:22"},{"assignments":[42971],"declarations":[{"constant":false,"id":42971,"mutability":"mutable","name":"m2","nameLocation":"375614:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375606:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375606:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42972,"nodeType":"VariableDeclarationStatement","src":"375606:10:22"},{"assignments":[42974],"declarations":[{"constant":false,"id":42974,"mutability":"mutable","name":"m3","nameLocation":"375634:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375626:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375626:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42975,"nodeType":"VariableDeclarationStatement","src":"375626:10:22"},{"assignments":[42977],"declarations":[{"constant":false,"id":42977,"mutability":"mutable","name":"m4","nameLocation":"375654:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375646:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42978,"nodeType":"VariableDeclarationStatement","src":"375646:10:22"},{"assignments":[42980],"declarations":[{"constant":false,"id":42980,"mutability":"mutable","name":"m5","nameLocation":"375674:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375666:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375666:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42981,"nodeType":"VariableDeclarationStatement","src":"375666:10:22"},{"assignments":[42983],"declarations":[{"constant":false,"id":42983,"mutability":"mutable","name":"m6","nameLocation":"375694:2:22","nodeType":"VariableDeclaration","scope":42992,"src":"375686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":42984,"nodeType":"VariableDeclarationStatement","src":"375686:10:22"},{"AST":{"nativeSrc":"375758:831:22","nodeType":"YulBlock","src":"375758:831:22","statements":[{"body":{"nativeSrc":"375801:313:22","nodeType":"YulBlock","src":"375801:313:22","statements":[{"nativeSrc":"375819:15:22","nodeType":"YulVariableDeclaration","src":"375819:15:22","value":{"kind":"number","nativeSrc":"375833:1:22","nodeType":"YulLiteral","src":"375833:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"375823:6:22","nodeType":"YulTypedName","src":"375823:6:22","type":""}]},{"body":{"nativeSrc":"375904:40:22","nodeType":"YulBlock","src":"375904:40:22","statements":[{"body":{"nativeSrc":"375933:9:22","nodeType":"YulBlock","src":"375933:9:22","statements":[{"nativeSrc":"375935:5:22","nodeType":"YulBreak","src":"375935:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"375921:6:22","nodeType":"YulIdentifier","src":"375921:6:22"},{"name":"w","nativeSrc":"375929:1:22","nodeType":"YulIdentifier","src":"375929:1:22"}],"functionName":{"name":"byte","nativeSrc":"375916:4:22","nodeType":"YulIdentifier","src":"375916:4:22"},"nativeSrc":"375916:15:22","nodeType":"YulFunctionCall","src":"375916:15:22"}],"functionName":{"name":"iszero","nativeSrc":"375909:6:22","nodeType":"YulIdentifier","src":"375909:6:22"},"nativeSrc":"375909:23:22","nodeType":"YulFunctionCall","src":"375909:23:22"},"nativeSrc":"375906:36:22","nodeType":"YulIf","src":"375906:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"375861:6:22","nodeType":"YulIdentifier","src":"375861:6:22"},{"kind":"number","nativeSrc":"375869:4:22","nodeType":"YulLiteral","src":"375869:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"375858:2:22","nodeType":"YulIdentifier","src":"375858:2:22"},"nativeSrc":"375858:16:22","nodeType":"YulFunctionCall","src":"375858:16:22"},"nativeSrc":"375851:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"375875:28:22","nodeType":"YulBlock","src":"375875:28:22","statements":[{"nativeSrc":"375877:24:22","nodeType":"YulAssignment","src":"375877:24:22","value":{"arguments":[{"name":"length","nativeSrc":"375891:6:22","nodeType":"YulIdentifier","src":"375891:6:22"},{"kind":"number","nativeSrc":"375899:1:22","nodeType":"YulLiteral","src":"375899:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"375887:3:22","nodeType":"YulIdentifier","src":"375887:3:22"},"nativeSrc":"375887:14:22","nodeType":"YulFunctionCall","src":"375887:14:22"},"variableNames":[{"name":"length","nativeSrc":"375877:6:22","nodeType":"YulIdentifier","src":"375877:6:22"}]}]},"pre":{"nativeSrc":"375855:2:22","nodeType":"YulBlock","src":"375855:2:22","statements":[]},"src":"375851:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"375968:3:22","nodeType":"YulIdentifier","src":"375968:3:22"},{"name":"length","nativeSrc":"375973:6:22","nodeType":"YulIdentifier","src":"375973:6:22"}],"functionName":{"name":"mstore","nativeSrc":"375961:6:22","nodeType":"YulIdentifier","src":"375961:6:22"},"nativeSrc":"375961:19:22","nodeType":"YulFunctionCall","src":"375961:19:22"},"nativeSrc":"375961:19:22","nodeType":"YulExpressionStatement","src":"375961:19:22"},{"nativeSrc":"375997:37:22","nodeType":"YulVariableDeclaration","src":"375997:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"376014:3:22","nodeType":"YulLiteral","src":"376014:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"376023:1:22","nodeType":"YulLiteral","src":"376023:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"376026:6:22","nodeType":"YulIdentifier","src":"376026:6:22"}],"functionName":{"name":"shl","nativeSrc":"376019:3:22","nodeType":"YulIdentifier","src":"376019:3:22"},"nativeSrc":"376019:14:22","nodeType":"YulFunctionCall","src":"376019:14:22"}],"functionName":{"name":"sub","nativeSrc":"376010:3:22","nodeType":"YulIdentifier","src":"376010:3:22"},"nativeSrc":"376010:24:22","nodeType":"YulFunctionCall","src":"376010:24:22"},"variables":[{"name":"shift","nativeSrc":"376001:5:22","nodeType":"YulTypedName","src":"376001:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"376062:3:22","nodeType":"YulIdentifier","src":"376062:3:22"},{"kind":"number","nativeSrc":"376067:4:22","nodeType":"YulLiteral","src":"376067:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"376058:3:22","nodeType":"YulIdentifier","src":"376058:3:22"},"nativeSrc":"376058:14:22","nodeType":"YulFunctionCall","src":"376058:14:22"},{"arguments":[{"name":"shift","nativeSrc":"376078:5:22","nodeType":"YulIdentifier","src":"376078:5:22"},{"arguments":[{"name":"shift","nativeSrc":"376089:5:22","nodeType":"YulIdentifier","src":"376089:5:22"},{"name":"w","nativeSrc":"376096:1:22","nodeType":"YulIdentifier","src":"376096:1:22"}],"functionName":{"name":"shr","nativeSrc":"376085:3:22","nodeType":"YulIdentifier","src":"376085:3:22"},"nativeSrc":"376085:13:22","nodeType":"YulFunctionCall","src":"376085:13:22"}],"functionName":{"name":"shl","nativeSrc":"376074:3:22","nodeType":"YulIdentifier","src":"376074:3:22"},"nativeSrc":"376074:25:22","nodeType":"YulFunctionCall","src":"376074:25:22"}],"functionName":{"name":"mstore","nativeSrc":"376051:6:22","nodeType":"YulIdentifier","src":"376051:6:22"},"nativeSrc":"376051:49:22","nodeType":"YulFunctionCall","src":"376051:49:22"},"nativeSrc":"376051:49:22","nodeType":"YulExpressionStatement","src":"376051:49:22"}]},"name":"writeString","nativeSrc":"375772:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"375793:3:22","nodeType":"YulTypedName","src":"375793:3:22","type":""},{"name":"w","nativeSrc":"375798:1:22","nodeType":"YulTypedName","src":"375798:1:22","type":""}],"src":"375772:342:22"},{"nativeSrc":"376127:17:22","nodeType":"YulAssignment","src":"376127:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376139:4:22","nodeType":"YulLiteral","src":"376139:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"376133:5:22","nodeType":"YulIdentifier","src":"376133:5:22"},"nativeSrc":"376133:11:22","nodeType":"YulFunctionCall","src":"376133:11:22"},"variableNames":[{"name":"m0","nativeSrc":"376127:2:22","nodeType":"YulIdentifier","src":"376127:2:22"}]},{"nativeSrc":"376157:17:22","nodeType":"YulAssignment","src":"376157:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376169:4:22","nodeType":"YulLiteral","src":"376169:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"376163:5:22","nodeType":"YulIdentifier","src":"376163:5:22"},"nativeSrc":"376163:11:22","nodeType":"YulFunctionCall","src":"376163:11:22"},"variableNames":[{"name":"m1","nativeSrc":"376157:2:22","nodeType":"YulIdentifier","src":"376157:2:22"}]},{"nativeSrc":"376187:17:22","nodeType":"YulAssignment","src":"376187:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376199:4:22","nodeType":"YulLiteral","src":"376199:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"376193:5:22","nodeType":"YulIdentifier","src":"376193:5:22"},"nativeSrc":"376193:11:22","nodeType":"YulFunctionCall","src":"376193:11:22"},"variableNames":[{"name":"m2","nativeSrc":"376187:2:22","nodeType":"YulIdentifier","src":"376187:2:22"}]},{"nativeSrc":"376217:17:22","nodeType":"YulAssignment","src":"376217:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376229:4:22","nodeType":"YulLiteral","src":"376229:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"376223:5:22","nodeType":"YulIdentifier","src":"376223:5:22"},"nativeSrc":"376223:11:22","nodeType":"YulFunctionCall","src":"376223:11:22"},"variableNames":[{"name":"m3","nativeSrc":"376217:2:22","nodeType":"YulIdentifier","src":"376217:2:22"}]},{"nativeSrc":"376247:17:22","nodeType":"YulAssignment","src":"376247:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376259:4:22","nodeType":"YulLiteral","src":"376259:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"376253:5:22","nodeType":"YulIdentifier","src":"376253:5:22"},"nativeSrc":"376253:11:22","nodeType":"YulFunctionCall","src":"376253:11:22"},"variableNames":[{"name":"m4","nativeSrc":"376247:2:22","nodeType":"YulIdentifier","src":"376247:2:22"}]},{"nativeSrc":"376277:17:22","nodeType":"YulAssignment","src":"376277:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376289:4:22","nodeType":"YulLiteral","src":"376289:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"376283:5:22","nodeType":"YulIdentifier","src":"376283:5:22"},"nativeSrc":"376283:11:22","nodeType":"YulFunctionCall","src":"376283:11:22"},"variableNames":[{"name":"m5","nativeSrc":"376277:2:22","nodeType":"YulIdentifier","src":"376277:2:22"}]},{"nativeSrc":"376307:17:22","nodeType":"YulAssignment","src":"376307:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"376319:4:22","nodeType":"YulLiteral","src":"376319:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"376313:5:22","nodeType":"YulIdentifier","src":"376313:5:22"},"nativeSrc":"376313:11:22","nodeType":"YulFunctionCall","src":"376313:11:22"},"variableNames":[{"name":"m6","nativeSrc":"376307:2:22","nodeType":"YulIdentifier","src":"376307:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376410:4:22","nodeType":"YulLiteral","src":"376410:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"376416:10:22","nodeType":"YulLiteral","src":"376416:10:22","type":"","value":"0x5ea2b7ae"}],"functionName":{"name":"mstore","nativeSrc":"376403:6:22","nodeType":"YulIdentifier","src":"376403:6:22"},"nativeSrc":"376403:24:22","nodeType":"YulFunctionCall","src":"376403:24:22"},"nativeSrc":"376403:24:22","nodeType":"YulExpressionStatement","src":"376403:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376447:4:22","nodeType":"YulLiteral","src":"376447:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"376453:4:22","nodeType":"YulLiteral","src":"376453:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"376440:6:22","nodeType":"YulIdentifier","src":"376440:6:22"},"nativeSrc":"376440:18:22","nodeType":"YulFunctionCall","src":"376440:18:22"},"nativeSrc":"376440:18:22","nodeType":"YulExpressionStatement","src":"376440:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376478:4:22","nodeType":"YulLiteral","src":"376478:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"376484:2:22","nodeType":"YulIdentifier","src":"376484:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376471:6:22","nodeType":"YulIdentifier","src":"376471:6:22"},"nativeSrc":"376471:16:22","nodeType":"YulFunctionCall","src":"376471:16:22"},"nativeSrc":"376471:16:22","nodeType":"YulExpressionStatement","src":"376471:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376507:4:22","nodeType":"YulLiteral","src":"376507:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"376513:2:22","nodeType":"YulIdentifier","src":"376513:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376500:6:22","nodeType":"YulIdentifier","src":"376500:6:22"},"nativeSrc":"376500:16:22","nodeType":"YulFunctionCall","src":"376500:16:22"},"nativeSrc":"376500:16:22","nodeType":"YulExpressionStatement","src":"376500:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376536:4:22","nodeType":"YulLiteral","src":"376536:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"376542:2:22","nodeType":"YulIdentifier","src":"376542:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376529:6:22","nodeType":"YulIdentifier","src":"376529:6:22"},"nativeSrc":"376529:16:22","nodeType":"YulFunctionCall","src":"376529:16:22"},"nativeSrc":"376529:16:22","nodeType":"YulExpressionStatement","src":"376529:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376570:4:22","nodeType":"YulLiteral","src":"376570:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"376576:2:22","nodeType":"YulIdentifier","src":"376576:2:22"}],"functionName":{"name":"writeString","nativeSrc":"376558:11:22","nodeType":"YulIdentifier","src":"376558:11:22"},"nativeSrc":"376558:21:22","nodeType":"YulFunctionCall","src":"376558:21:22"},"nativeSrc":"376558:21:22","nodeType":"YulExpressionStatement","src":"376558:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42965,"isOffset":false,"isSlot":false,"src":"376127:2:22","valueSize":1},{"declaration":42968,"isOffset":false,"isSlot":false,"src":"376157:2:22","valueSize":1},{"declaration":42971,"isOffset":false,"isSlot":false,"src":"376187:2:22","valueSize":1},{"declaration":42974,"isOffset":false,"isSlot":false,"src":"376217:2:22","valueSize":1},{"declaration":42977,"isOffset":false,"isSlot":false,"src":"376247:2:22","valueSize":1},{"declaration":42980,"isOffset":false,"isSlot":false,"src":"376277:2:22","valueSize":1},{"declaration":42983,"isOffset":false,"isSlot":false,"src":"376307:2:22","valueSize":1},{"declaration":42955,"isOffset":false,"isSlot":false,"src":"376576:2:22","valueSize":1},{"declaration":42957,"isOffset":false,"isSlot":false,"src":"376484:2:22","valueSize":1},{"declaration":42959,"isOffset":false,"isSlot":false,"src":"376513:2:22","valueSize":1},{"declaration":42961,"isOffset":false,"isSlot":false,"src":"376542:2:22","valueSize":1}],"id":42985,"nodeType":"InlineAssembly","src":"375749:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":42987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376614:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":42988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376620:4:22","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":42986,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"376598:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":42989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"376598:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42990,"nodeType":"ExpressionStatement","src":"376598:27:22"},{"AST":{"nativeSrc":"376687:214:22","nodeType":"YulBlock","src":"376687:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"376708:4:22","nodeType":"YulLiteral","src":"376708:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"376714:2:22","nodeType":"YulIdentifier","src":"376714:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376701:6:22","nodeType":"YulIdentifier","src":"376701:6:22"},"nativeSrc":"376701:16:22","nodeType":"YulFunctionCall","src":"376701:16:22"},"nativeSrc":"376701:16:22","nodeType":"YulExpressionStatement","src":"376701:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376737:4:22","nodeType":"YulLiteral","src":"376737:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"376743:2:22","nodeType":"YulIdentifier","src":"376743:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376730:6:22","nodeType":"YulIdentifier","src":"376730:6:22"},"nativeSrc":"376730:16:22","nodeType":"YulFunctionCall","src":"376730:16:22"},"nativeSrc":"376730:16:22","nodeType":"YulExpressionStatement","src":"376730:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376766:4:22","nodeType":"YulLiteral","src":"376766:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"376772:2:22","nodeType":"YulIdentifier","src":"376772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376759:6:22","nodeType":"YulIdentifier","src":"376759:6:22"},"nativeSrc":"376759:16:22","nodeType":"YulFunctionCall","src":"376759:16:22"},"nativeSrc":"376759:16:22","nodeType":"YulExpressionStatement","src":"376759:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376795:4:22","nodeType":"YulLiteral","src":"376795:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"376801:2:22","nodeType":"YulIdentifier","src":"376801:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376788:6:22","nodeType":"YulIdentifier","src":"376788:6:22"},"nativeSrc":"376788:16:22","nodeType":"YulFunctionCall","src":"376788:16:22"},"nativeSrc":"376788:16:22","nodeType":"YulExpressionStatement","src":"376788:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376824:4:22","nodeType":"YulLiteral","src":"376824:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"376830:2:22","nodeType":"YulIdentifier","src":"376830:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376817:6:22","nodeType":"YulIdentifier","src":"376817:6:22"},"nativeSrc":"376817:16:22","nodeType":"YulFunctionCall","src":"376817:16:22"},"nativeSrc":"376817:16:22","nodeType":"YulExpressionStatement","src":"376817:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376853:4:22","nodeType":"YulLiteral","src":"376853:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"376859:2:22","nodeType":"YulIdentifier","src":"376859:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376846:6:22","nodeType":"YulIdentifier","src":"376846:6:22"},"nativeSrc":"376846:16:22","nodeType":"YulFunctionCall","src":"376846:16:22"},"nativeSrc":"376846:16:22","nodeType":"YulExpressionStatement","src":"376846:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376882:4:22","nodeType":"YulLiteral","src":"376882:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"376888:2:22","nodeType":"YulIdentifier","src":"376888:2:22"}],"functionName":{"name":"mstore","nativeSrc":"376875:6:22","nodeType":"YulIdentifier","src":"376875:6:22"},"nativeSrc":"376875:16:22","nodeType":"YulFunctionCall","src":"376875:16:22"},"nativeSrc":"376875:16:22","nodeType":"YulExpressionStatement","src":"376875:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":42965,"isOffset":false,"isSlot":false,"src":"376714:2:22","valueSize":1},{"declaration":42968,"isOffset":false,"isSlot":false,"src":"376743:2:22","valueSize":1},{"declaration":42971,"isOffset":false,"isSlot":false,"src":"376772:2:22","valueSize":1},{"declaration":42974,"isOffset":false,"isSlot":false,"src":"376801:2:22","valueSize":1},{"declaration":42977,"isOffset":false,"isSlot":false,"src":"376830:2:22","valueSize":1},{"declaration":42980,"isOffset":false,"isSlot":false,"src":"376859:2:22","valueSize":1},{"declaration":42983,"isOffset":false,"isSlot":false,"src":"376888:2:22","valueSize":1}],"id":42991,"nodeType":"InlineAssembly","src":"376678:223:22"}]},"id":42993,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"375490:3:22","nodeType":"FunctionDefinition","parameters":{"id":42962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42955,"mutability":"mutable","name":"p0","nameLocation":"375502:2:22","nodeType":"VariableDeclaration","scope":42993,"src":"375494:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375494:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42957,"mutability":"mutable","name":"p1","nameLocation":"375514:2:22","nodeType":"VariableDeclaration","scope":42993,"src":"375506:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42956,"name":"uint256","nodeType":"ElementaryTypeName","src":"375506:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42959,"mutability":"mutable","name":"p2","nameLocation":"375526:2:22","nodeType":"VariableDeclaration","scope":42993,"src":"375518:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42958,"name":"address","nodeType":"ElementaryTypeName","src":"375518:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42961,"mutability":"mutable","name":"p3","nameLocation":"375538:2:22","nodeType":"VariableDeclaration","scope":42993,"src":"375530:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42960,"name":"address","nodeType":"ElementaryTypeName","src":"375530:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"375493:48:22"},"returnParameters":{"id":42963,"nodeType":"ParameterList","parameters":[],"src":"375556:0:22"},"scope":44426,"src":"375481:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43032,"nodeType":"Block","src":"376985:1348:22","statements":[{"assignments":[43005],"declarations":[{"constant":false,"id":43005,"mutability":"mutable","name":"m0","nameLocation":"377003:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"376995:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376995:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43006,"nodeType":"VariableDeclarationStatement","src":"376995:10:22"},{"assignments":[43008],"declarations":[{"constant":false,"id":43008,"mutability":"mutable","name":"m1","nameLocation":"377023:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377015:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377015:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43009,"nodeType":"VariableDeclarationStatement","src":"377015:10:22"},{"assignments":[43011],"declarations":[{"constant":false,"id":43011,"mutability":"mutable","name":"m2","nameLocation":"377043:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377035:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377035:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43012,"nodeType":"VariableDeclarationStatement","src":"377035:10:22"},{"assignments":[43014],"declarations":[{"constant":false,"id":43014,"mutability":"mutable","name":"m3","nameLocation":"377063:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377055:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377055:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43015,"nodeType":"VariableDeclarationStatement","src":"377055:10:22"},{"assignments":[43017],"declarations":[{"constant":false,"id":43017,"mutability":"mutable","name":"m4","nameLocation":"377083:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377075:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377075:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43018,"nodeType":"VariableDeclarationStatement","src":"377075:10:22"},{"assignments":[43020],"declarations":[{"constant":false,"id":43020,"mutability":"mutable","name":"m5","nameLocation":"377103:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377095:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377095:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43021,"nodeType":"VariableDeclarationStatement","src":"377095:10:22"},{"assignments":[43023],"declarations":[{"constant":false,"id":43023,"mutability":"mutable","name":"m6","nameLocation":"377123:2:22","nodeType":"VariableDeclaration","scope":43032,"src":"377115:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377115:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43024,"nodeType":"VariableDeclarationStatement","src":"377115:10:22"},{"AST":{"nativeSrc":"377187:828:22","nodeType":"YulBlock","src":"377187:828:22","statements":[{"body":{"nativeSrc":"377230:313:22","nodeType":"YulBlock","src":"377230:313:22","statements":[{"nativeSrc":"377248:15:22","nodeType":"YulVariableDeclaration","src":"377248:15:22","value":{"kind":"number","nativeSrc":"377262:1:22","nodeType":"YulLiteral","src":"377262:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"377252:6:22","nodeType":"YulTypedName","src":"377252:6:22","type":""}]},{"body":{"nativeSrc":"377333:40:22","nodeType":"YulBlock","src":"377333:40:22","statements":[{"body":{"nativeSrc":"377362:9:22","nodeType":"YulBlock","src":"377362:9:22","statements":[{"nativeSrc":"377364:5:22","nodeType":"YulBreak","src":"377364:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"377350:6:22","nodeType":"YulIdentifier","src":"377350:6:22"},{"name":"w","nativeSrc":"377358:1:22","nodeType":"YulIdentifier","src":"377358:1:22"}],"functionName":{"name":"byte","nativeSrc":"377345:4:22","nodeType":"YulIdentifier","src":"377345:4:22"},"nativeSrc":"377345:15:22","nodeType":"YulFunctionCall","src":"377345:15:22"}],"functionName":{"name":"iszero","nativeSrc":"377338:6:22","nodeType":"YulIdentifier","src":"377338:6:22"},"nativeSrc":"377338:23:22","nodeType":"YulFunctionCall","src":"377338:23:22"},"nativeSrc":"377335:36:22","nodeType":"YulIf","src":"377335:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"377290:6:22","nodeType":"YulIdentifier","src":"377290:6:22"},{"kind":"number","nativeSrc":"377298:4:22","nodeType":"YulLiteral","src":"377298:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"377287:2:22","nodeType":"YulIdentifier","src":"377287:2:22"},"nativeSrc":"377287:16:22","nodeType":"YulFunctionCall","src":"377287:16:22"},"nativeSrc":"377280:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"377304:28:22","nodeType":"YulBlock","src":"377304:28:22","statements":[{"nativeSrc":"377306:24:22","nodeType":"YulAssignment","src":"377306:24:22","value":{"arguments":[{"name":"length","nativeSrc":"377320:6:22","nodeType":"YulIdentifier","src":"377320:6:22"},{"kind":"number","nativeSrc":"377328:1:22","nodeType":"YulLiteral","src":"377328:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"377316:3:22","nodeType":"YulIdentifier","src":"377316:3:22"},"nativeSrc":"377316:14:22","nodeType":"YulFunctionCall","src":"377316:14:22"},"variableNames":[{"name":"length","nativeSrc":"377306:6:22","nodeType":"YulIdentifier","src":"377306:6:22"}]}]},"pre":{"nativeSrc":"377284:2:22","nodeType":"YulBlock","src":"377284:2:22","statements":[]},"src":"377280:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"377397:3:22","nodeType":"YulIdentifier","src":"377397:3:22"},{"name":"length","nativeSrc":"377402:6:22","nodeType":"YulIdentifier","src":"377402:6:22"}],"functionName":{"name":"mstore","nativeSrc":"377390:6:22","nodeType":"YulIdentifier","src":"377390:6:22"},"nativeSrc":"377390:19:22","nodeType":"YulFunctionCall","src":"377390:19:22"},"nativeSrc":"377390:19:22","nodeType":"YulExpressionStatement","src":"377390:19:22"},{"nativeSrc":"377426:37:22","nodeType":"YulVariableDeclaration","src":"377426:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"377443:3:22","nodeType":"YulLiteral","src":"377443:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"377452:1:22","nodeType":"YulLiteral","src":"377452:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"377455:6:22","nodeType":"YulIdentifier","src":"377455:6:22"}],"functionName":{"name":"shl","nativeSrc":"377448:3:22","nodeType":"YulIdentifier","src":"377448:3:22"},"nativeSrc":"377448:14:22","nodeType":"YulFunctionCall","src":"377448:14:22"}],"functionName":{"name":"sub","nativeSrc":"377439:3:22","nodeType":"YulIdentifier","src":"377439:3:22"},"nativeSrc":"377439:24:22","nodeType":"YulFunctionCall","src":"377439:24:22"},"variables":[{"name":"shift","nativeSrc":"377430:5:22","nodeType":"YulTypedName","src":"377430:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"377491:3:22","nodeType":"YulIdentifier","src":"377491:3:22"},{"kind":"number","nativeSrc":"377496:4:22","nodeType":"YulLiteral","src":"377496:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"377487:3:22","nodeType":"YulIdentifier","src":"377487:3:22"},"nativeSrc":"377487:14:22","nodeType":"YulFunctionCall","src":"377487:14:22"},{"arguments":[{"name":"shift","nativeSrc":"377507:5:22","nodeType":"YulIdentifier","src":"377507:5:22"},{"arguments":[{"name":"shift","nativeSrc":"377518:5:22","nodeType":"YulIdentifier","src":"377518:5:22"},{"name":"w","nativeSrc":"377525:1:22","nodeType":"YulIdentifier","src":"377525:1:22"}],"functionName":{"name":"shr","nativeSrc":"377514:3:22","nodeType":"YulIdentifier","src":"377514:3:22"},"nativeSrc":"377514:13:22","nodeType":"YulFunctionCall","src":"377514:13:22"}],"functionName":{"name":"shl","nativeSrc":"377503:3:22","nodeType":"YulIdentifier","src":"377503:3:22"},"nativeSrc":"377503:25:22","nodeType":"YulFunctionCall","src":"377503:25:22"}],"functionName":{"name":"mstore","nativeSrc":"377480:6:22","nodeType":"YulIdentifier","src":"377480:6:22"},"nativeSrc":"377480:49:22","nodeType":"YulFunctionCall","src":"377480:49:22"},"nativeSrc":"377480:49:22","nodeType":"YulExpressionStatement","src":"377480:49:22"}]},"name":"writeString","nativeSrc":"377201:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"377222:3:22","nodeType":"YulTypedName","src":"377222:3:22","type":""},{"name":"w","nativeSrc":"377227:1:22","nodeType":"YulTypedName","src":"377227:1:22","type":""}],"src":"377201:342:22"},{"nativeSrc":"377556:17:22","nodeType":"YulAssignment","src":"377556:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377568:4:22","nodeType":"YulLiteral","src":"377568:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"377562:5:22","nodeType":"YulIdentifier","src":"377562:5:22"},"nativeSrc":"377562:11:22","nodeType":"YulFunctionCall","src":"377562:11:22"},"variableNames":[{"name":"m0","nativeSrc":"377556:2:22","nodeType":"YulIdentifier","src":"377556:2:22"}]},{"nativeSrc":"377586:17:22","nodeType":"YulAssignment","src":"377586:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377598:4:22","nodeType":"YulLiteral","src":"377598:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"377592:5:22","nodeType":"YulIdentifier","src":"377592:5:22"},"nativeSrc":"377592:11:22","nodeType":"YulFunctionCall","src":"377592:11:22"},"variableNames":[{"name":"m1","nativeSrc":"377586:2:22","nodeType":"YulIdentifier","src":"377586:2:22"}]},{"nativeSrc":"377616:17:22","nodeType":"YulAssignment","src":"377616:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377628:4:22","nodeType":"YulLiteral","src":"377628:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"377622:5:22","nodeType":"YulIdentifier","src":"377622:5:22"},"nativeSrc":"377622:11:22","nodeType":"YulFunctionCall","src":"377622:11:22"},"variableNames":[{"name":"m2","nativeSrc":"377616:2:22","nodeType":"YulIdentifier","src":"377616:2:22"}]},{"nativeSrc":"377646:17:22","nodeType":"YulAssignment","src":"377646:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377658:4:22","nodeType":"YulLiteral","src":"377658:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"377652:5:22","nodeType":"YulIdentifier","src":"377652:5:22"},"nativeSrc":"377652:11:22","nodeType":"YulFunctionCall","src":"377652:11:22"},"variableNames":[{"name":"m3","nativeSrc":"377646:2:22","nodeType":"YulIdentifier","src":"377646:2:22"}]},{"nativeSrc":"377676:17:22","nodeType":"YulAssignment","src":"377676:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377688:4:22","nodeType":"YulLiteral","src":"377688:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"377682:5:22","nodeType":"YulIdentifier","src":"377682:5:22"},"nativeSrc":"377682:11:22","nodeType":"YulFunctionCall","src":"377682:11:22"},"variableNames":[{"name":"m4","nativeSrc":"377676:2:22","nodeType":"YulIdentifier","src":"377676:2:22"}]},{"nativeSrc":"377706:17:22","nodeType":"YulAssignment","src":"377706:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377718:4:22","nodeType":"YulLiteral","src":"377718:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"377712:5:22","nodeType":"YulIdentifier","src":"377712:5:22"},"nativeSrc":"377712:11:22","nodeType":"YulFunctionCall","src":"377712:11:22"},"variableNames":[{"name":"m5","nativeSrc":"377706:2:22","nodeType":"YulIdentifier","src":"377706:2:22"}]},{"nativeSrc":"377736:17:22","nodeType":"YulAssignment","src":"377736:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"377748:4:22","nodeType":"YulLiteral","src":"377748:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"377742:5:22","nodeType":"YulIdentifier","src":"377742:5:22"},"nativeSrc":"377742:11:22","nodeType":"YulFunctionCall","src":"377742:11:22"},"variableNames":[{"name":"m6","nativeSrc":"377736:2:22","nodeType":"YulIdentifier","src":"377736:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377836:4:22","nodeType":"YulLiteral","src":"377836:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"377842:10:22","nodeType":"YulLiteral","src":"377842:10:22","type":"","value":"0x82112a42"}],"functionName":{"name":"mstore","nativeSrc":"377829:6:22","nodeType":"YulIdentifier","src":"377829:6:22"},"nativeSrc":"377829:24:22","nodeType":"YulFunctionCall","src":"377829:24:22"},"nativeSrc":"377829:24:22","nodeType":"YulExpressionStatement","src":"377829:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377873:4:22","nodeType":"YulLiteral","src":"377873:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"377879:4:22","nodeType":"YulLiteral","src":"377879:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"377866:6:22","nodeType":"YulIdentifier","src":"377866:6:22"},"nativeSrc":"377866:18:22","nodeType":"YulFunctionCall","src":"377866:18:22"},"nativeSrc":"377866:18:22","nodeType":"YulExpressionStatement","src":"377866:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377904:4:22","nodeType":"YulLiteral","src":"377904:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"377910:2:22","nodeType":"YulIdentifier","src":"377910:2:22"}],"functionName":{"name":"mstore","nativeSrc":"377897:6:22","nodeType":"YulIdentifier","src":"377897:6:22"},"nativeSrc":"377897:16:22","nodeType":"YulFunctionCall","src":"377897:16:22"},"nativeSrc":"377897:16:22","nodeType":"YulExpressionStatement","src":"377897:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377933:4:22","nodeType":"YulLiteral","src":"377933:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"377939:2:22","nodeType":"YulIdentifier","src":"377939:2:22"}],"functionName":{"name":"mstore","nativeSrc":"377926:6:22","nodeType":"YulIdentifier","src":"377926:6:22"},"nativeSrc":"377926:16:22","nodeType":"YulFunctionCall","src":"377926:16:22"},"nativeSrc":"377926:16:22","nodeType":"YulExpressionStatement","src":"377926:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377962:4:22","nodeType":"YulLiteral","src":"377962:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"377968:2:22","nodeType":"YulIdentifier","src":"377968:2:22"}],"functionName":{"name":"mstore","nativeSrc":"377955:6:22","nodeType":"YulIdentifier","src":"377955:6:22"},"nativeSrc":"377955:16:22","nodeType":"YulFunctionCall","src":"377955:16:22"},"nativeSrc":"377955:16:22","nodeType":"YulExpressionStatement","src":"377955:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377996:4:22","nodeType":"YulLiteral","src":"377996:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"378002:2:22","nodeType":"YulIdentifier","src":"378002:2:22"}],"functionName":{"name":"writeString","nativeSrc":"377984:11:22","nodeType":"YulIdentifier","src":"377984:11:22"},"nativeSrc":"377984:21:22","nodeType":"YulFunctionCall","src":"377984:21:22"},"nativeSrc":"377984:21:22","nodeType":"YulExpressionStatement","src":"377984:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43005,"isOffset":false,"isSlot":false,"src":"377556:2:22","valueSize":1},{"declaration":43008,"isOffset":false,"isSlot":false,"src":"377586:2:22","valueSize":1},{"declaration":43011,"isOffset":false,"isSlot":false,"src":"377616:2:22","valueSize":1},{"declaration":43014,"isOffset":false,"isSlot":false,"src":"377646:2:22","valueSize":1},{"declaration":43017,"isOffset":false,"isSlot":false,"src":"377676:2:22","valueSize":1},{"declaration":43020,"isOffset":false,"isSlot":false,"src":"377706:2:22","valueSize":1},{"declaration":43023,"isOffset":false,"isSlot":false,"src":"377736:2:22","valueSize":1},{"declaration":42995,"isOffset":false,"isSlot":false,"src":"378002:2:22","valueSize":1},{"declaration":42997,"isOffset":false,"isSlot":false,"src":"377910:2:22","valueSize":1},{"declaration":42999,"isOffset":false,"isSlot":false,"src":"377939:2:22","valueSize":1},{"declaration":43001,"isOffset":false,"isSlot":false,"src":"377968:2:22","valueSize":1}],"id":43025,"nodeType":"InlineAssembly","src":"377178:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378040:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378046:4:22","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":43026,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"378024:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"378024:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43030,"nodeType":"ExpressionStatement","src":"378024:27:22"},{"AST":{"nativeSrc":"378113:214:22","nodeType":"YulBlock","src":"378113:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"378134:4:22","nodeType":"YulLiteral","src":"378134:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"378140:2:22","nodeType":"YulIdentifier","src":"378140:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378127:6:22","nodeType":"YulIdentifier","src":"378127:6:22"},"nativeSrc":"378127:16:22","nodeType":"YulFunctionCall","src":"378127:16:22"},"nativeSrc":"378127:16:22","nodeType":"YulExpressionStatement","src":"378127:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378163:4:22","nodeType":"YulLiteral","src":"378163:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"378169:2:22","nodeType":"YulIdentifier","src":"378169:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378156:6:22","nodeType":"YulIdentifier","src":"378156:6:22"},"nativeSrc":"378156:16:22","nodeType":"YulFunctionCall","src":"378156:16:22"},"nativeSrc":"378156:16:22","nodeType":"YulExpressionStatement","src":"378156:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378192:4:22","nodeType":"YulLiteral","src":"378192:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"378198:2:22","nodeType":"YulIdentifier","src":"378198:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378185:6:22","nodeType":"YulIdentifier","src":"378185:6:22"},"nativeSrc":"378185:16:22","nodeType":"YulFunctionCall","src":"378185:16:22"},"nativeSrc":"378185:16:22","nodeType":"YulExpressionStatement","src":"378185:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378221:4:22","nodeType":"YulLiteral","src":"378221:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"378227:2:22","nodeType":"YulIdentifier","src":"378227:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378214:6:22","nodeType":"YulIdentifier","src":"378214:6:22"},"nativeSrc":"378214:16:22","nodeType":"YulFunctionCall","src":"378214:16:22"},"nativeSrc":"378214:16:22","nodeType":"YulExpressionStatement","src":"378214:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378250:4:22","nodeType":"YulLiteral","src":"378250:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"378256:2:22","nodeType":"YulIdentifier","src":"378256:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378243:6:22","nodeType":"YulIdentifier","src":"378243:6:22"},"nativeSrc":"378243:16:22","nodeType":"YulFunctionCall","src":"378243:16:22"},"nativeSrc":"378243:16:22","nodeType":"YulExpressionStatement","src":"378243:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378279:4:22","nodeType":"YulLiteral","src":"378279:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"378285:2:22","nodeType":"YulIdentifier","src":"378285:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378272:6:22","nodeType":"YulIdentifier","src":"378272:6:22"},"nativeSrc":"378272:16:22","nodeType":"YulFunctionCall","src":"378272:16:22"},"nativeSrc":"378272:16:22","nodeType":"YulExpressionStatement","src":"378272:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378308:4:22","nodeType":"YulLiteral","src":"378308:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"378314:2:22","nodeType":"YulIdentifier","src":"378314:2:22"}],"functionName":{"name":"mstore","nativeSrc":"378301:6:22","nodeType":"YulIdentifier","src":"378301:6:22"},"nativeSrc":"378301:16:22","nodeType":"YulFunctionCall","src":"378301:16:22"},"nativeSrc":"378301:16:22","nodeType":"YulExpressionStatement","src":"378301:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43005,"isOffset":false,"isSlot":false,"src":"378140:2:22","valueSize":1},{"declaration":43008,"isOffset":false,"isSlot":false,"src":"378169:2:22","valueSize":1},{"declaration":43011,"isOffset":false,"isSlot":false,"src":"378198:2:22","valueSize":1},{"declaration":43014,"isOffset":false,"isSlot":false,"src":"378227:2:22","valueSize":1},{"declaration":43017,"isOffset":false,"isSlot":false,"src":"378256:2:22","valueSize":1},{"declaration":43020,"isOffset":false,"isSlot":false,"src":"378285:2:22","valueSize":1},{"declaration":43023,"isOffset":false,"isSlot":false,"src":"378314:2:22","valueSize":1}],"id":43031,"nodeType":"InlineAssembly","src":"378104:223:22"}]},"id":43033,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"376922:3:22","nodeType":"FunctionDefinition","parameters":{"id":43002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42995,"mutability":"mutable","name":"p0","nameLocation":"376934:2:22","nodeType":"VariableDeclaration","scope":43033,"src":"376926:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376926:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42997,"mutability":"mutable","name":"p1","nameLocation":"376946:2:22","nodeType":"VariableDeclaration","scope":43033,"src":"376938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42996,"name":"uint256","nodeType":"ElementaryTypeName","src":"376938:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42999,"mutability":"mutable","name":"p2","nameLocation":"376958:2:22","nodeType":"VariableDeclaration","scope":43033,"src":"376950:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42998,"name":"address","nodeType":"ElementaryTypeName","src":"376950:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43001,"mutability":"mutable","name":"p3","nameLocation":"376967:2:22","nodeType":"VariableDeclaration","scope":43033,"src":"376962:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43000,"name":"bool","nodeType":"ElementaryTypeName","src":"376962:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"376925:45:22"},"returnParameters":{"id":43003,"nodeType":"ParameterList","parameters":[],"src":"376985:0:22"},"scope":44426,"src":"376913:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43072,"nodeType":"Block","src":"378414:1351:22","statements":[{"assignments":[43045],"declarations":[{"constant":false,"id":43045,"mutability":"mutable","name":"m0","nameLocation":"378432:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378424:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43046,"nodeType":"VariableDeclarationStatement","src":"378424:10:22"},{"assignments":[43048],"declarations":[{"constant":false,"id":43048,"mutability":"mutable","name":"m1","nameLocation":"378452:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378444:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378444:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43049,"nodeType":"VariableDeclarationStatement","src":"378444:10:22"},{"assignments":[43051],"declarations":[{"constant":false,"id":43051,"mutability":"mutable","name":"m2","nameLocation":"378472:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378464:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378464:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43052,"nodeType":"VariableDeclarationStatement","src":"378464:10:22"},{"assignments":[43054],"declarations":[{"constant":false,"id":43054,"mutability":"mutable","name":"m3","nameLocation":"378492:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378484:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378484:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43055,"nodeType":"VariableDeclarationStatement","src":"378484:10:22"},{"assignments":[43057],"declarations":[{"constant":false,"id":43057,"mutability":"mutable","name":"m4","nameLocation":"378512:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378504:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378504:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43058,"nodeType":"VariableDeclarationStatement","src":"378504:10:22"},{"assignments":[43060],"declarations":[{"constant":false,"id":43060,"mutability":"mutable","name":"m5","nameLocation":"378532:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378524:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378524:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43061,"nodeType":"VariableDeclarationStatement","src":"378524:10:22"},{"assignments":[43063],"declarations":[{"constant":false,"id":43063,"mutability":"mutable","name":"m6","nameLocation":"378552:2:22","nodeType":"VariableDeclaration","scope":43072,"src":"378544:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378544:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43064,"nodeType":"VariableDeclarationStatement","src":"378544:10:22"},{"AST":{"nativeSrc":"378616:831:22","nodeType":"YulBlock","src":"378616:831:22","statements":[{"body":{"nativeSrc":"378659:313:22","nodeType":"YulBlock","src":"378659:313:22","statements":[{"nativeSrc":"378677:15:22","nodeType":"YulVariableDeclaration","src":"378677:15:22","value":{"kind":"number","nativeSrc":"378691:1:22","nodeType":"YulLiteral","src":"378691:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"378681:6:22","nodeType":"YulTypedName","src":"378681:6:22","type":""}]},{"body":{"nativeSrc":"378762:40:22","nodeType":"YulBlock","src":"378762:40:22","statements":[{"body":{"nativeSrc":"378791:9:22","nodeType":"YulBlock","src":"378791:9:22","statements":[{"nativeSrc":"378793:5:22","nodeType":"YulBreak","src":"378793:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"378779:6:22","nodeType":"YulIdentifier","src":"378779:6:22"},{"name":"w","nativeSrc":"378787:1:22","nodeType":"YulIdentifier","src":"378787:1:22"}],"functionName":{"name":"byte","nativeSrc":"378774:4:22","nodeType":"YulIdentifier","src":"378774:4:22"},"nativeSrc":"378774:15:22","nodeType":"YulFunctionCall","src":"378774:15:22"}],"functionName":{"name":"iszero","nativeSrc":"378767:6:22","nodeType":"YulIdentifier","src":"378767:6:22"},"nativeSrc":"378767:23:22","nodeType":"YulFunctionCall","src":"378767:23:22"},"nativeSrc":"378764:36:22","nodeType":"YulIf","src":"378764:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"378719:6:22","nodeType":"YulIdentifier","src":"378719:6:22"},{"kind":"number","nativeSrc":"378727:4:22","nodeType":"YulLiteral","src":"378727:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"378716:2:22","nodeType":"YulIdentifier","src":"378716:2:22"},"nativeSrc":"378716:16:22","nodeType":"YulFunctionCall","src":"378716:16:22"},"nativeSrc":"378709:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"378733:28:22","nodeType":"YulBlock","src":"378733:28:22","statements":[{"nativeSrc":"378735:24:22","nodeType":"YulAssignment","src":"378735:24:22","value":{"arguments":[{"name":"length","nativeSrc":"378749:6:22","nodeType":"YulIdentifier","src":"378749:6:22"},{"kind":"number","nativeSrc":"378757:1:22","nodeType":"YulLiteral","src":"378757:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"378745:3:22","nodeType":"YulIdentifier","src":"378745:3:22"},"nativeSrc":"378745:14:22","nodeType":"YulFunctionCall","src":"378745:14:22"},"variableNames":[{"name":"length","nativeSrc":"378735:6:22","nodeType":"YulIdentifier","src":"378735:6:22"}]}]},"pre":{"nativeSrc":"378713:2:22","nodeType":"YulBlock","src":"378713:2:22","statements":[]},"src":"378709:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"378826:3:22","nodeType":"YulIdentifier","src":"378826:3:22"},{"name":"length","nativeSrc":"378831:6:22","nodeType":"YulIdentifier","src":"378831:6:22"}],"functionName":{"name":"mstore","nativeSrc":"378819:6:22","nodeType":"YulIdentifier","src":"378819:6:22"},"nativeSrc":"378819:19:22","nodeType":"YulFunctionCall","src":"378819:19:22"},"nativeSrc":"378819:19:22","nodeType":"YulExpressionStatement","src":"378819:19:22"},{"nativeSrc":"378855:37:22","nodeType":"YulVariableDeclaration","src":"378855:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"378872:3:22","nodeType":"YulLiteral","src":"378872:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"378881:1:22","nodeType":"YulLiteral","src":"378881:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"378884:6:22","nodeType":"YulIdentifier","src":"378884:6:22"}],"functionName":{"name":"shl","nativeSrc":"378877:3:22","nodeType":"YulIdentifier","src":"378877:3:22"},"nativeSrc":"378877:14:22","nodeType":"YulFunctionCall","src":"378877:14:22"}],"functionName":{"name":"sub","nativeSrc":"378868:3:22","nodeType":"YulIdentifier","src":"378868:3:22"},"nativeSrc":"378868:24:22","nodeType":"YulFunctionCall","src":"378868:24:22"},"variables":[{"name":"shift","nativeSrc":"378859:5:22","nodeType":"YulTypedName","src":"378859:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"378920:3:22","nodeType":"YulIdentifier","src":"378920:3:22"},{"kind":"number","nativeSrc":"378925:4:22","nodeType":"YulLiteral","src":"378925:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"378916:3:22","nodeType":"YulIdentifier","src":"378916:3:22"},"nativeSrc":"378916:14:22","nodeType":"YulFunctionCall","src":"378916:14:22"},{"arguments":[{"name":"shift","nativeSrc":"378936:5:22","nodeType":"YulIdentifier","src":"378936:5:22"},{"arguments":[{"name":"shift","nativeSrc":"378947:5:22","nodeType":"YulIdentifier","src":"378947:5:22"},{"name":"w","nativeSrc":"378954:1:22","nodeType":"YulIdentifier","src":"378954:1:22"}],"functionName":{"name":"shr","nativeSrc":"378943:3:22","nodeType":"YulIdentifier","src":"378943:3:22"},"nativeSrc":"378943:13:22","nodeType":"YulFunctionCall","src":"378943:13:22"}],"functionName":{"name":"shl","nativeSrc":"378932:3:22","nodeType":"YulIdentifier","src":"378932:3:22"},"nativeSrc":"378932:25:22","nodeType":"YulFunctionCall","src":"378932:25:22"}],"functionName":{"name":"mstore","nativeSrc":"378909:6:22","nodeType":"YulIdentifier","src":"378909:6:22"},"nativeSrc":"378909:49:22","nodeType":"YulFunctionCall","src":"378909:49:22"},"nativeSrc":"378909:49:22","nodeType":"YulExpressionStatement","src":"378909:49:22"}]},"name":"writeString","nativeSrc":"378630:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"378651:3:22","nodeType":"YulTypedName","src":"378651:3:22","type":""},{"name":"w","nativeSrc":"378656:1:22","nodeType":"YulTypedName","src":"378656:1:22","type":""}],"src":"378630:342:22"},{"nativeSrc":"378985:17:22","nodeType":"YulAssignment","src":"378985:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"378997:4:22","nodeType":"YulLiteral","src":"378997:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"378991:5:22","nodeType":"YulIdentifier","src":"378991:5:22"},"nativeSrc":"378991:11:22","nodeType":"YulFunctionCall","src":"378991:11:22"},"variableNames":[{"name":"m0","nativeSrc":"378985:2:22","nodeType":"YulIdentifier","src":"378985:2:22"}]},{"nativeSrc":"379015:17:22","nodeType":"YulAssignment","src":"379015:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379027:4:22","nodeType":"YulLiteral","src":"379027:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"379021:5:22","nodeType":"YulIdentifier","src":"379021:5:22"},"nativeSrc":"379021:11:22","nodeType":"YulFunctionCall","src":"379021:11:22"},"variableNames":[{"name":"m1","nativeSrc":"379015:2:22","nodeType":"YulIdentifier","src":"379015:2:22"}]},{"nativeSrc":"379045:17:22","nodeType":"YulAssignment","src":"379045:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379057:4:22","nodeType":"YulLiteral","src":"379057:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"379051:5:22","nodeType":"YulIdentifier","src":"379051:5:22"},"nativeSrc":"379051:11:22","nodeType":"YulFunctionCall","src":"379051:11:22"},"variableNames":[{"name":"m2","nativeSrc":"379045:2:22","nodeType":"YulIdentifier","src":"379045:2:22"}]},{"nativeSrc":"379075:17:22","nodeType":"YulAssignment","src":"379075:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379087:4:22","nodeType":"YulLiteral","src":"379087:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"379081:5:22","nodeType":"YulIdentifier","src":"379081:5:22"},"nativeSrc":"379081:11:22","nodeType":"YulFunctionCall","src":"379081:11:22"},"variableNames":[{"name":"m3","nativeSrc":"379075:2:22","nodeType":"YulIdentifier","src":"379075:2:22"}]},{"nativeSrc":"379105:17:22","nodeType":"YulAssignment","src":"379105:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379117:4:22","nodeType":"YulLiteral","src":"379117:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"379111:5:22","nodeType":"YulIdentifier","src":"379111:5:22"},"nativeSrc":"379111:11:22","nodeType":"YulFunctionCall","src":"379111:11:22"},"variableNames":[{"name":"m4","nativeSrc":"379105:2:22","nodeType":"YulIdentifier","src":"379105:2:22"}]},{"nativeSrc":"379135:17:22","nodeType":"YulAssignment","src":"379135:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379147:4:22","nodeType":"YulLiteral","src":"379147:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"379141:5:22","nodeType":"YulIdentifier","src":"379141:5:22"},"nativeSrc":"379141:11:22","nodeType":"YulFunctionCall","src":"379141:11:22"},"variableNames":[{"name":"m5","nativeSrc":"379135:2:22","nodeType":"YulIdentifier","src":"379135:2:22"}]},{"nativeSrc":"379165:17:22","nodeType":"YulAssignment","src":"379165:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"379177:4:22","nodeType":"YulLiteral","src":"379177:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"379171:5:22","nodeType":"YulIdentifier","src":"379171:5:22"},"nativeSrc":"379171:11:22","nodeType":"YulFunctionCall","src":"379171:11:22"},"variableNames":[{"name":"m6","nativeSrc":"379165:2:22","nodeType":"YulIdentifier","src":"379165:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379268:4:22","nodeType":"YulLiteral","src":"379268:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"379274:10:22","nodeType":"YulLiteral","src":"379274:10:22","type":"","value":"0x4f04fdc6"}],"functionName":{"name":"mstore","nativeSrc":"379261:6:22","nodeType":"YulIdentifier","src":"379261:6:22"},"nativeSrc":"379261:24:22","nodeType":"YulFunctionCall","src":"379261:24:22"},"nativeSrc":"379261:24:22","nodeType":"YulExpressionStatement","src":"379261:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379305:4:22","nodeType":"YulLiteral","src":"379305:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"379311:4:22","nodeType":"YulLiteral","src":"379311:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"379298:6:22","nodeType":"YulIdentifier","src":"379298:6:22"},"nativeSrc":"379298:18:22","nodeType":"YulFunctionCall","src":"379298:18:22"},"nativeSrc":"379298:18:22","nodeType":"YulExpressionStatement","src":"379298:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379336:4:22","nodeType":"YulLiteral","src":"379336:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"379342:2:22","nodeType":"YulIdentifier","src":"379342:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379329:6:22","nodeType":"YulIdentifier","src":"379329:6:22"},"nativeSrc":"379329:16:22","nodeType":"YulFunctionCall","src":"379329:16:22"},"nativeSrc":"379329:16:22","nodeType":"YulExpressionStatement","src":"379329:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379365:4:22","nodeType":"YulLiteral","src":"379365:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"379371:2:22","nodeType":"YulIdentifier","src":"379371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379358:6:22","nodeType":"YulIdentifier","src":"379358:6:22"},"nativeSrc":"379358:16:22","nodeType":"YulFunctionCall","src":"379358:16:22"},"nativeSrc":"379358:16:22","nodeType":"YulExpressionStatement","src":"379358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379394:4:22","nodeType":"YulLiteral","src":"379394:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"379400:2:22","nodeType":"YulIdentifier","src":"379400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379387:6:22","nodeType":"YulIdentifier","src":"379387:6:22"},"nativeSrc":"379387:16:22","nodeType":"YulFunctionCall","src":"379387:16:22"},"nativeSrc":"379387:16:22","nodeType":"YulExpressionStatement","src":"379387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379428:4:22","nodeType":"YulLiteral","src":"379428:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"379434:2:22","nodeType":"YulIdentifier","src":"379434:2:22"}],"functionName":{"name":"writeString","nativeSrc":"379416:11:22","nodeType":"YulIdentifier","src":"379416:11:22"},"nativeSrc":"379416:21:22","nodeType":"YulFunctionCall","src":"379416:21:22"},"nativeSrc":"379416:21:22","nodeType":"YulExpressionStatement","src":"379416:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43045,"isOffset":false,"isSlot":false,"src":"378985:2:22","valueSize":1},{"declaration":43048,"isOffset":false,"isSlot":false,"src":"379015:2:22","valueSize":1},{"declaration":43051,"isOffset":false,"isSlot":false,"src":"379045:2:22","valueSize":1},{"declaration":43054,"isOffset":false,"isSlot":false,"src":"379075:2:22","valueSize":1},{"declaration":43057,"isOffset":false,"isSlot":false,"src":"379105:2:22","valueSize":1},{"declaration":43060,"isOffset":false,"isSlot":false,"src":"379135:2:22","valueSize":1},{"declaration":43063,"isOffset":false,"isSlot":false,"src":"379165:2:22","valueSize":1},{"declaration":43035,"isOffset":false,"isSlot":false,"src":"379434:2:22","valueSize":1},{"declaration":43037,"isOffset":false,"isSlot":false,"src":"379342:2:22","valueSize":1},{"declaration":43039,"isOffset":false,"isSlot":false,"src":"379371:2:22","valueSize":1},{"declaration":43041,"isOffset":false,"isSlot":false,"src":"379400:2:22","valueSize":1}],"id":43065,"nodeType":"InlineAssembly","src":"378607:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379472:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379478:4:22","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":43066,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"379456:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"379456:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43070,"nodeType":"ExpressionStatement","src":"379456:27:22"},{"AST":{"nativeSrc":"379545:214:22","nodeType":"YulBlock","src":"379545:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"379566:4:22","nodeType":"YulLiteral","src":"379566:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"379572:2:22","nodeType":"YulIdentifier","src":"379572:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379559:6:22","nodeType":"YulIdentifier","src":"379559:6:22"},"nativeSrc":"379559:16:22","nodeType":"YulFunctionCall","src":"379559:16:22"},"nativeSrc":"379559:16:22","nodeType":"YulExpressionStatement","src":"379559:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379595:4:22","nodeType":"YulLiteral","src":"379595:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"379601:2:22","nodeType":"YulIdentifier","src":"379601:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379588:6:22","nodeType":"YulIdentifier","src":"379588:6:22"},"nativeSrc":"379588:16:22","nodeType":"YulFunctionCall","src":"379588:16:22"},"nativeSrc":"379588:16:22","nodeType":"YulExpressionStatement","src":"379588:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379624:4:22","nodeType":"YulLiteral","src":"379624:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"379630:2:22","nodeType":"YulIdentifier","src":"379630:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379617:6:22","nodeType":"YulIdentifier","src":"379617:6:22"},"nativeSrc":"379617:16:22","nodeType":"YulFunctionCall","src":"379617:16:22"},"nativeSrc":"379617:16:22","nodeType":"YulExpressionStatement","src":"379617:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379653:4:22","nodeType":"YulLiteral","src":"379653:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"379659:2:22","nodeType":"YulIdentifier","src":"379659:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379646:6:22","nodeType":"YulIdentifier","src":"379646:6:22"},"nativeSrc":"379646:16:22","nodeType":"YulFunctionCall","src":"379646:16:22"},"nativeSrc":"379646:16:22","nodeType":"YulExpressionStatement","src":"379646:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379682:4:22","nodeType":"YulLiteral","src":"379682:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"379688:2:22","nodeType":"YulIdentifier","src":"379688:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379675:6:22","nodeType":"YulIdentifier","src":"379675:6:22"},"nativeSrc":"379675:16:22","nodeType":"YulFunctionCall","src":"379675:16:22"},"nativeSrc":"379675:16:22","nodeType":"YulExpressionStatement","src":"379675:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379711:4:22","nodeType":"YulLiteral","src":"379711:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"379717:2:22","nodeType":"YulIdentifier","src":"379717:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379704:6:22","nodeType":"YulIdentifier","src":"379704:6:22"},"nativeSrc":"379704:16:22","nodeType":"YulFunctionCall","src":"379704:16:22"},"nativeSrc":"379704:16:22","nodeType":"YulExpressionStatement","src":"379704:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379740:4:22","nodeType":"YulLiteral","src":"379740:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"379746:2:22","nodeType":"YulIdentifier","src":"379746:2:22"}],"functionName":{"name":"mstore","nativeSrc":"379733:6:22","nodeType":"YulIdentifier","src":"379733:6:22"},"nativeSrc":"379733:16:22","nodeType":"YulFunctionCall","src":"379733:16:22"},"nativeSrc":"379733:16:22","nodeType":"YulExpressionStatement","src":"379733:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43045,"isOffset":false,"isSlot":false,"src":"379572:2:22","valueSize":1},{"declaration":43048,"isOffset":false,"isSlot":false,"src":"379601:2:22","valueSize":1},{"declaration":43051,"isOffset":false,"isSlot":false,"src":"379630:2:22","valueSize":1},{"declaration":43054,"isOffset":false,"isSlot":false,"src":"379659:2:22","valueSize":1},{"declaration":43057,"isOffset":false,"isSlot":false,"src":"379688:2:22","valueSize":1},{"declaration":43060,"isOffset":false,"isSlot":false,"src":"379717:2:22","valueSize":1},{"declaration":43063,"isOffset":false,"isSlot":false,"src":"379746:2:22","valueSize":1}],"id":43071,"nodeType":"InlineAssembly","src":"379536:223:22"}]},"id":43073,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"378348:3:22","nodeType":"FunctionDefinition","parameters":{"id":43042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43035,"mutability":"mutable","name":"p0","nameLocation":"378360:2:22","nodeType":"VariableDeclaration","scope":43073,"src":"378352:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378352:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43037,"mutability":"mutable","name":"p1","nameLocation":"378372:2:22","nodeType":"VariableDeclaration","scope":43073,"src":"378364:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43036,"name":"uint256","nodeType":"ElementaryTypeName","src":"378364:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43039,"mutability":"mutable","name":"p2","nameLocation":"378384:2:22","nodeType":"VariableDeclaration","scope":43073,"src":"378376:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43038,"name":"address","nodeType":"ElementaryTypeName","src":"378376:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43041,"mutability":"mutable","name":"p3","nameLocation":"378396:2:22","nodeType":"VariableDeclaration","scope":43073,"src":"378388:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43040,"name":"uint256","nodeType":"ElementaryTypeName","src":"378388:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"378351:48:22"},"returnParameters":{"id":43043,"nodeType":"ParameterList","parameters":[],"src":"378414:0:22"},"scope":44426,"src":"378339:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43118,"nodeType":"Block","src":"379846:1547:22","statements":[{"assignments":[43085],"declarations":[{"constant":false,"id":43085,"mutability":"mutable","name":"m0","nameLocation":"379864:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379856:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379856:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43086,"nodeType":"VariableDeclarationStatement","src":"379856:10:22"},{"assignments":[43088],"declarations":[{"constant":false,"id":43088,"mutability":"mutable","name":"m1","nameLocation":"379884:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379876:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379876:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43089,"nodeType":"VariableDeclarationStatement","src":"379876:10:22"},{"assignments":[43091],"declarations":[{"constant":false,"id":43091,"mutability":"mutable","name":"m2","nameLocation":"379904:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379896:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379896:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43092,"nodeType":"VariableDeclarationStatement","src":"379896:10:22"},{"assignments":[43094],"declarations":[{"constant":false,"id":43094,"mutability":"mutable","name":"m3","nameLocation":"379924:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379916:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379916:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43095,"nodeType":"VariableDeclarationStatement","src":"379916:10:22"},{"assignments":[43097],"declarations":[{"constant":false,"id":43097,"mutability":"mutable","name":"m4","nameLocation":"379944:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379936:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379936:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43098,"nodeType":"VariableDeclarationStatement","src":"379936:10:22"},{"assignments":[43100],"declarations":[{"constant":false,"id":43100,"mutability":"mutable","name":"m5","nameLocation":"379964:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379956:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379956:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43101,"nodeType":"VariableDeclarationStatement","src":"379956:10:22"},{"assignments":[43103],"declarations":[{"constant":false,"id":43103,"mutability":"mutable","name":"m6","nameLocation":"379984:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379976:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379976:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43104,"nodeType":"VariableDeclarationStatement","src":"379976:10:22"},{"assignments":[43106],"declarations":[{"constant":false,"id":43106,"mutability":"mutable","name":"m7","nameLocation":"380004:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"379996:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379996:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43107,"nodeType":"VariableDeclarationStatement","src":"379996:10:22"},{"assignments":[43109],"declarations":[{"constant":false,"id":43109,"mutability":"mutable","name":"m8","nameLocation":"380024:2:22","nodeType":"VariableDeclaration","scope":43118,"src":"380016:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"380016:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43110,"nodeType":"VariableDeclarationStatement","src":"380016:10:22"},{"AST":{"nativeSrc":"380088:927:22","nodeType":"YulBlock","src":"380088:927:22","statements":[{"body":{"nativeSrc":"380131:313:22","nodeType":"YulBlock","src":"380131:313:22","statements":[{"nativeSrc":"380149:15:22","nodeType":"YulVariableDeclaration","src":"380149:15:22","value":{"kind":"number","nativeSrc":"380163:1:22","nodeType":"YulLiteral","src":"380163:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"380153:6:22","nodeType":"YulTypedName","src":"380153:6:22","type":""}]},{"body":{"nativeSrc":"380234:40:22","nodeType":"YulBlock","src":"380234:40:22","statements":[{"body":{"nativeSrc":"380263:9:22","nodeType":"YulBlock","src":"380263:9:22","statements":[{"nativeSrc":"380265:5:22","nodeType":"YulBreak","src":"380265:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"380251:6:22","nodeType":"YulIdentifier","src":"380251:6:22"},{"name":"w","nativeSrc":"380259:1:22","nodeType":"YulIdentifier","src":"380259:1:22"}],"functionName":{"name":"byte","nativeSrc":"380246:4:22","nodeType":"YulIdentifier","src":"380246:4:22"},"nativeSrc":"380246:15:22","nodeType":"YulFunctionCall","src":"380246:15:22"}],"functionName":{"name":"iszero","nativeSrc":"380239:6:22","nodeType":"YulIdentifier","src":"380239:6:22"},"nativeSrc":"380239:23:22","nodeType":"YulFunctionCall","src":"380239:23:22"},"nativeSrc":"380236:36:22","nodeType":"YulIf","src":"380236:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"380191:6:22","nodeType":"YulIdentifier","src":"380191:6:22"},{"kind":"number","nativeSrc":"380199:4:22","nodeType":"YulLiteral","src":"380199:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"380188:2:22","nodeType":"YulIdentifier","src":"380188:2:22"},"nativeSrc":"380188:16:22","nodeType":"YulFunctionCall","src":"380188:16:22"},"nativeSrc":"380181:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"380205:28:22","nodeType":"YulBlock","src":"380205:28:22","statements":[{"nativeSrc":"380207:24:22","nodeType":"YulAssignment","src":"380207:24:22","value":{"arguments":[{"name":"length","nativeSrc":"380221:6:22","nodeType":"YulIdentifier","src":"380221:6:22"},{"kind":"number","nativeSrc":"380229:1:22","nodeType":"YulLiteral","src":"380229:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"380217:3:22","nodeType":"YulIdentifier","src":"380217:3:22"},"nativeSrc":"380217:14:22","nodeType":"YulFunctionCall","src":"380217:14:22"},"variableNames":[{"name":"length","nativeSrc":"380207:6:22","nodeType":"YulIdentifier","src":"380207:6:22"}]}]},"pre":{"nativeSrc":"380185:2:22","nodeType":"YulBlock","src":"380185:2:22","statements":[]},"src":"380181:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"380298:3:22","nodeType":"YulIdentifier","src":"380298:3:22"},{"name":"length","nativeSrc":"380303:6:22","nodeType":"YulIdentifier","src":"380303:6:22"}],"functionName":{"name":"mstore","nativeSrc":"380291:6:22","nodeType":"YulIdentifier","src":"380291:6:22"},"nativeSrc":"380291:19:22","nodeType":"YulFunctionCall","src":"380291:19:22"},"nativeSrc":"380291:19:22","nodeType":"YulExpressionStatement","src":"380291:19:22"},{"nativeSrc":"380327:37:22","nodeType":"YulVariableDeclaration","src":"380327:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"380344:3:22","nodeType":"YulLiteral","src":"380344:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"380353:1:22","nodeType":"YulLiteral","src":"380353:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"380356:6:22","nodeType":"YulIdentifier","src":"380356:6:22"}],"functionName":{"name":"shl","nativeSrc":"380349:3:22","nodeType":"YulIdentifier","src":"380349:3:22"},"nativeSrc":"380349:14:22","nodeType":"YulFunctionCall","src":"380349:14:22"}],"functionName":{"name":"sub","nativeSrc":"380340:3:22","nodeType":"YulIdentifier","src":"380340:3:22"},"nativeSrc":"380340:24:22","nodeType":"YulFunctionCall","src":"380340:24:22"},"variables":[{"name":"shift","nativeSrc":"380331:5:22","nodeType":"YulTypedName","src":"380331:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"380392:3:22","nodeType":"YulIdentifier","src":"380392:3:22"},{"kind":"number","nativeSrc":"380397:4:22","nodeType":"YulLiteral","src":"380397:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"380388:3:22","nodeType":"YulIdentifier","src":"380388:3:22"},"nativeSrc":"380388:14:22","nodeType":"YulFunctionCall","src":"380388:14:22"},{"arguments":[{"name":"shift","nativeSrc":"380408:5:22","nodeType":"YulIdentifier","src":"380408:5:22"},{"arguments":[{"name":"shift","nativeSrc":"380419:5:22","nodeType":"YulIdentifier","src":"380419:5:22"},{"name":"w","nativeSrc":"380426:1:22","nodeType":"YulIdentifier","src":"380426:1:22"}],"functionName":{"name":"shr","nativeSrc":"380415:3:22","nodeType":"YulIdentifier","src":"380415:3:22"},"nativeSrc":"380415:13:22","nodeType":"YulFunctionCall","src":"380415:13:22"}],"functionName":{"name":"shl","nativeSrc":"380404:3:22","nodeType":"YulIdentifier","src":"380404:3:22"},"nativeSrc":"380404:25:22","nodeType":"YulFunctionCall","src":"380404:25:22"}],"functionName":{"name":"mstore","nativeSrc":"380381:6:22","nodeType":"YulIdentifier","src":"380381:6:22"},"nativeSrc":"380381:49:22","nodeType":"YulFunctionCall","src":"380381:49:22"},"nativeSrc":"380381:49:22","nodeType":"YulExpressionStatement","src":"380381:49:22"}]},"name":"writeString","nativeSrc":"380102:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"380123:3:22","nodeType":"YulTypedName","src":"380123:3:22","type":""},{"name":"w","nativeSrc":"380128:1:22","nodeType":"YulTypedName","src":"380128:1:22","type":""}],"src":"380102:342:22"},{"nativeSrc":"380457:17:22","nodeType":"YulAssignment","src":"380457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380469:4:22","nodeType":"YulLiteral","src":"380469:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"380463:5:22","nodeType":"YulIdentifier","src":"380463:5:22"},"nativeSrc":"380463:11:22","nodeType":"YulFunctionCall","src":"380463:11:22"},"variableNames":[{"name":"m0","nativeSrc":"380457:2:22","nodeType":"YulIdentifier","src":"380457:2:22"}]},{"nativeSrc":"380487:17:22","nodeType":"YulAssignment","src":"380487:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380499:4:22","nodeType":"YulLiteral","src":"380499:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"380493:5:22","nodeType":"YulIdentifier","src":"380493:5:22"},"nativeSrc":"380493:11:22","nodeType":"YulFunctionCall","src":"380493:11:22"},"variableNames":[{"name":"m1","nativeSrc":"380487:2:22","nodeType":"YulIdentifier","src":"380487:2:22"}]},{"nativeSrc":"380517:17:22","nodeType":"YulAssignment","src":"380517:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380529:4:22","nodeType":"YulLiteral","src":"380529:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"380523:5:22","nodeType":"YulIdentifier","src":"380523:5:22"},"nativeSrc":"380523:11:22","nodeType":"YulFunctionCall","src":"380523:11:22"},"variableNames":[{"name":"m2","nativeSrc":"380517:2:22","nodeType":"YulIdentifier","src":"380517:2:22"}]},{"nativeSrc":"380547:17:22","nodeType":"YulAssignment","src":"380547:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380559:4:22","nodeType":"YulLiteral","src":"380559:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"380553:5:22","nodeType":"YulIdentifier","src":"380553:5:22"},"nativeSrc":"380553:11:22","nodeType":"YulFunctionCall","src":"380553:11:22"},"variableNames":[{"name":"m3","nativeSrc":"380547:2:22","nodeType":"YulIdentifier","src":"380547:2:22"}]},{"nativeSrc":"380577:17:22","nodeType":"YulAssignment","src":"380577:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380589:4:22","nodeType":"YulLiteral","src":"380589:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"380583:5:22","nodeType":"YulIdentifier","src":"380583:5:22"},"nativeSrc":"380583:11:22","nodeType":"YulFunctionCall","src":"380583:11:22"},"variableNames":[{"name":"m4","nativeSrc":"380577:2:22","nodeType":"YulIdentifier","src":"380577:2:22"}]},{"nativeSrc":"380607:17:22","nodeType":"YulAssignment","src":"380607:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380619:4:22","nodeType":"YulLiteral","src":"380619:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"380613:5:22","nodeType":"YulIdentifier","src":"380613:5:22"},"nativeSrc":"380613:11:22","nodeType":"YulFunctionCall","src":"380613:11:22"},"variableNames":[{"name":"m5","nativeSrc":"380607:2:22","nodeType":"YulIdentifier","src":"380607:2:22"}]},{"nativeSrc":"380637:17:22","nodeType":"YulAssignment","src":"380637:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380649:4:22","nodeType":"YulLiteral","src":"380649:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"380643:5:22","nodeType":"YulIdentifier","src":"380643:5:22"},"nativeSrc":"380643:11:22","nodeType":"YulFunctionCall","src":"380643:11:22"},"variableNames":[{"name":"m6","nativeSrc":"380637:2:22","nodeType":"YulIdentifier","src":"380637:2:22"}]},{"nativeSrc":"380667:17:22","nodeType":"YulAssignment","src":"380667:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"380679:4:22","nodeType":"YulLiteral","src":"380679:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"380673:5:22","nodeType":"YulIdentifier","src":"380673:5:22"},"nativeSrc":"380673:11:22","nodeType":"YulFunctionCall","src":"380673:11:22"},"variableNames":[{"name":"m7","nativeSrc":"380667:2:22","nodeType":"YulIdentifier","src":"380667:2:22"}]},{"nativeSrc":"380697:18:22","nodeType":"YulAssignment","src":"380697:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"380709:5:22","nodeType":"YulLiteral","src":"380709:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"380703:5:22","nodeType":"YulIdentifier","src":"380703:5:22"},"nativeSrc":"380703:12:22","nodeType":"YulFunctionCall","src":"380703:12:22"},"variableNames":[{"name":"m8","nativeSrc":"380697:2:22","nodeType":"YulIdentifier","src":"380697:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380800:4:22","nodeType":"YulLiteral","src":"380800:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"380806:10:22","nodeType":"YulLiteral","src":"380806:10:22","type":"","value":"0x9ffb2f93"}],"functionName":{"name":"mstore","nativeSrc":"380793:6:22","nodeType":"YulIdentifier","src":"380793:6:22"},"nativeSrc":"380793:24:22","nodeType":"YulFunctionCall","src":"380793:24:22"},"nativeSrc":"380793:24:22","nodeType":"YulExpressionStatement","src":"380793:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380837:4:22","nodeType":"YulLiteral","src":"380837:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"380843:4:22","nodeType":"YulLiteral","src":"380843:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"380830:6:22","nodeType":"YulIdentifier","src":"380830:6:22"},"nativeSrc":"380830:18:22","nodeType":"YulFunctionCall","src":"380830:18:22"},"nativeSrc":"380830:18:22","nodeType":"YulExpressionStatement","src":"380830:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380868:4:22","nodeType":"YulLiteral","src":"380868:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"380874:2:22","nodeType":"YulIdentifier","src":"380874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"380861:6:22","nodeType":"YulIdentifier","src":"380861:6:22"},"nativeSrc":"380861:16:22","nodeType":"YulFunctionCall","src":"380861:16:22"},"nativeSrc":"380861:16:22","nodeType":"YulExpressionStatement","src":"380861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380897:4:22","nodeType":"YulLiteral","src":"380897:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"380903:2:22","nodeType":"YulIdentifier","src":"380903:2:22"}],"functionName":{"name":"mstore","nativeSrc":"380890:6:22","nodeType":"YulIdentifier","src":"380890:6:22"},"nativeSrc":"380890:16:22","nodeType":"YulFunctionCall","src":"380890:16:22"},"nativeSrc":"380890:16:22","nodeType":"YulExpressionStatement","src":"380890:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380926:4:22","nodeType":"YulLiteral","src":"380926:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"380932:4:22","nodeType":"YulLiteral","src":"380932:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"380919:6:22","nodeType":"YulIdentifier","src":"380919:6:22"},"nativeSrc":"380919:18:22","nodeType":"YulFunctionCall","src":"380919:18:22"},"nativeSrc":"380919:18:22","nodeType":"YulExpressionStatement","src":"380919:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380962:4:22","nodeType":"YulLiteral","src":"380962:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"380968:2:22","nodeType":"YulIdentifier","src":"380968:2:22"}],"functionName":{"name":"writeString","nativeSrc":"380950:11:22","nodeType":"YulIdentifier","src":"380950:11:22"},"nativeSrc":"380950:21:22","nodeType":"YulFunctionCall","src":"380950:21:22"},"nativeSrc":"380950:21:22","nodeType":"YulExpressionStatement","src":"380950:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380996:4:22","nodeType":"YulLiteral","src":"380996:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"381002:2:22","nodeType":"YulIdentifier","src":"381002:2:22"}],"functionName":{"name":"writeString","nativeSrc":"380984:11:22","nodeType":"YulIdentifier","src":"380984:11:22"},"nativeSrc":"380984:21:22","nodeType":"YulFunctionCall","src":"380984:21:22"},"nativeSrc":"380984:21:22","nodeType":"YulExpressionStatement","src":"380984:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43085,"isOffset":false,"isSlot":false,"src":"380457:2:22","valueSize":1},{"declaration":43088,"isOffset":false,"isSlot":false,"src":"380487:2:22","valueSize":1},{"declaration":43091,"isOffset":false,"isSlot":false,"src":"380517:2:22","valueSize":1},{"declaration":43094,"isOffset":false,"isSlot":false,"src":"380547:2:22","valueSize":1},{"declaration":43097,"isOffset":false,"isSlot":false,"src":"380577:2:22","valueSize":1},{"declaration":43100,"isOffset":false,"isSlot":false,"src":"380607:2:22","valueSize":1},{"declaration":43103,"isOffset":false,"isSlot":false,"src":"380637:2:22","valueSize":1},{"declaration":43106,"isOffset":false,"isSlot":false,"src":"380667:2:22","valueSize":1},{"declaration":43109,"isOffset":false,"isSlot":false,"src":"380697:2:22","valueSize":1},{"declaration":43075,"isOffset":false,"isSlot":false,"src":"380968:2:22","valueSize":1},{"declaration":43077,"isOffset":false,"isSlot":false,"src":"380874:2:22","valueSize":1},{"declaration":43079,"isOffset":false,"isSlot":false,"src":"380903:2:22","valueSize":1},{"declaration":43081,"isOffset":false,"isSlot":false,"src":"381002:2:22","valueSize":1}],"id":43111,"nodeType":"InlineAssembly","src":"380079:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381040:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381046:5:22","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":43112,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"381024:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"381024:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43116,"nodeType":"ExpressionStatement","src":"381024:28:22"},{"AST":{"nativeSrc":"381114:273:22","nodeType":"YulBlock","src":"381114:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"381135:4:22","nodeType":"YulLiteral","src":"381135:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"381141:2:22","nodeType":"YulIdentifier","src":"381141:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381128:6:22","nodeType":"YulIdentifier","src":"381128:6:22"},"nativeSrc":"381128:16:22","nodeType":"YulFunctionCall","src":"381128:16:22"},"nativeSrc":"381128:16:22","nodeType":"YulExpressionStatement","src":"381128:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381164:4:22","nodeType":"YulLiteral","src":"381164:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"381170:2:22","nodeType":"YulIdentifier","src":"381170:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381157:6:22","nodeType":"YulIdentifier","src":"381157:6:22"},"nativeSrc":"381157:16:22","nodeType":"YulFunctionCall","src":"381157:16:22"},"nativeSrc":"381157:16:22","nodeType":"YulExpressionStatement","src":"381157:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381193:4:22","nodeType":"YulLiteral","src":"381193:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"381199:2:22","nodeType":"YulIdentifier","src":"381199:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381186:6:22","nodeType":"YulIdentifier","src":"381186:6:22"},"nativeSrc":"381186:16:22","nodeType":"YulFunctionCall","src":"381186:16:22"},"nativeSrc":"381186:16:22","nodeType":"YulExpressionStatement","src":"381186:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381222:4:22","nodeType":"YulLiteral","src":"381222:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"381228:2:22","nodeType":"YulIdentifier","src":"381228:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381215:6:22","nodeType":"YulIdentifier","src":"381215:6:22"},"nativeSrc":"381215:16:22","nodeType":"YulFunctionCall","src":"381215:16:22"},"nativeSrc":"381215:16:22","nodeType":"YulExpressionStatement","src":"381215:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381251:4:22","nodeType":"YulLiteral","src":"381251:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"381257:2:22","nodeType":"YulIdentifier","src":"381257:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381244:6:22","nodeType":"YulIdentifier","src":"381244:6:22"},"nativeSrc":"381244:16:22","nodeType":"YulFunctionCall","src":"381244:16:22"},"nativeSrc":"381244:16:22","nodeType":"YulExpressionStatement","src":"381244:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381280:4:22","nodeType":"YulLiteral","src":"381280:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"381286:2:22","nodeType":"YulIdentifier","src":"381286:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381273:6:22","nodeType":"YulIdentifier","src":"381273:6:22"},"nativeSrc":"381273:16:22","nodeType":"YulFunctionCall","src":"381273:16:22"},"nativeSrc":"381273:16:22","nodeType":"YulExpressionStatement","src":"381273:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381309:4:22","nodeType":"YulLiteral","src":"381309:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"381315:2:22","nodeType":"YulIdentifier","src":"381315:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381302:6:22","nodeType":"YulIdentifier","src":"381302:6:22"},"nativeSrc":"381302:16:22","nodeType":"YulFunctionCall","src":"381302:16:22"},"nativeSrc":"381302:16:22","nodeType":"YulExpressionStatement","src":"381302:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381338:4:22","nodeType":"YulLiteral","src":"381338:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"381344:2:22","nodeType":"YulIdentifier","src":"381344:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381331:6:22","nodeType":"YulIdentifier","src":"381331:6:22"},"nativeSrc":"381331:16:22","nodeType":"YulFunctionCall","src":"381331:16:22"},"nativeSrc":"381331:16:22","nodeType":"YulExpressionStatement","src":"381331:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381367:5:22","nodeType":"YulLiteral","src":"381367:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"381374:2:22","nodeType":"YulIdentifier","src":"381374:2:22"}],"functionName":{"name":"mstore","nativeSrc":"381360:6:22","nodeType":"YulIdentifier","src":"381360:6:22"},"nativeSrc":"381360:17:22","nodeType":"YulFunctionCall","src":"381360:17:22"},"nativeSrc":"381360:17:22","nodeType":"YulExpressionStatement","src":"381360:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43085,"isOffset":false,"isSlot":false,"src":"381141:2:22","valueSize":1},{"declaration":43088,"isOffset":false,"isSlot":false,"src":"381170:2:22","valueSize":1},{"declaration":43091,"isOffset":false,"isSlot":false,"src":"381199:2:22","valueSize":1},{"declaration":43094,"isOffset":false,"isSlot":false,"src":"381228:2:22","valueSize":1},{"declaration":43097,"isOffset":false,"isSlot":false,"src":"381257:2:22","valueSize":1},{"declaration":43100,"isOffset":false,"isSlot":false,"src":"381286:2:22","valueSize":1},{"declaration":43103,"isOffset":false,"isSlot":false,"src":"381315:2:22","valueSize":1},{"declaration":43106,"isOffset":false,"isSlot":false,"src":"381344:2:22","valueSize":1},{"declaration":43109,"isOffset":false,"isSlot":false,"src":"381374:2:22","valueSize":1}],"id":43117,"nodeType":"InlineAssembly","src":"381105:282:22"}]},"id":43119,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"379780:3:22","nodeType":"FunctionDefinition","parameters":{"id":43082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43075,"mutability":"mutable","name":"p0","nameLocation":"379792:2:22","nodeType":"VariableDeclaration","scope":43119,"src":"379784:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379784:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43077,"mutability":"mutable","name":"p1","nameLocation":"379804:2:22","nodeType":"VariableDeclaration","scope":43119,"src":"379796:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43076,"name":"uint256","nodeType":"ElementaryTypeName","src":"379796:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43079,"mutability":"mutable","name":"p2","nameLocation":"379816:2:22","nodeType":"VariableDeclaration","scope":43119,"src":"379808:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43078,"name":"address","nodeType":"ElementaryTypeName","src":"379808:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43081,"mutability":"mutable","name":"p3","nameLocation":"379828:2:22","nodeType":"VariableDeclaration","scope":43119,"src":"379820:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379820:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"379783:48:22"},"returnParameters":{"id":43083,"nodeType":"ParameterList","parameters":[],"src":"379846:0:22"},"scope":44426,"src":"379771:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43158,"nodeType":"Block","src":"381471:1348:22","statements":[{"assignments":[43131],"declarations":[{"constant":false,"id":43131,"mutability":"mutable","name":"m0","nameLocation":"381489:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381481:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381481:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43132,"nodeType":"VariableDeclarationStatement","src":"381481:10:22"},{"assignments":[43134],"declarations":[{"constant":false,"id":43134,"mutability":"mutable","name":"m1","nameLocation":"381509:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381501:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381501:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43135,"nodeType":"VariableDeclarationStatement","src":"381501:10:22"},{"assignments":[43137],"declarations":[{"constant":false,"id":43137,"mutability":"mutable","name":"m2","nameLocation":"381529:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381521:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381521:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43138,"nodeType":"VariableDeclarationStatement","src":"381521:10:22"},{"assignments":[43140],"declarations":[{"constant":false,"id":43140,"mutability":"mutable","name":"m3","nameLocation":"381549:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381541:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381541:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43141,"nodeType":"VariableDeclarationStatement","src":"381541:10:22"},{"assignments":[43143],"declarations":[{"constant":false,"id":43143,"mutability":"mutable","name":"m4","nameLocation":"381569:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381561:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381561:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43144,"nodeType":"VariableDeclarationStatement","src":"381561:10:22"},{"assignments":[43146],"declarations":[{"constant":false,"id":43146,"mutability":"mutable","name":"m5","nameLocation":"381589:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381581:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381581:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43147,"nodeType":"VariableDeclarationStatement","src":"381581:10:22"},{"assignments":[43149],"declarations":[{"constant":false,"id":43149,"mutability":"mutable","name":"m6","nameLocation":"381609:2:22","nodeType":"VariableDeclaration","scope":43158,"src":"381601:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381601:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43150,"nodeType":"VariableDeclarationStatement","src":"381601:10:22"},{"AST":{"nativeSrc":"381673:828:22","nodeType":"YulBlock","src":"381673:828:22","statements":[{"body":{"nativeSrc":"381716:313:22","nodeType":"YulBlock","src":"381716:313:22","statements":[{"nativeSrc":"381734:15:22","nodeType":"YulVariableDeclaration","src":"381734:15:22","value":{"kind":"number","nativeSrc":"381748:1:22","nodeType":"YulLiteral","src":"381748:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"381738:6:22","nodeType":"YulTypedName","src":"381738:6:22","type":""}]},{"body":{"nativeSrc":"381819:40:22","nodeType":"YulBlock","src":"381819:40:22","statements":[{"body":{"nativeSrc":"381848:9:22","nodeType":"YulBlock","src":"381848:9:22","statements":[{"nativeSrc":"381850:5:22","nodeType":"YulBreak","src":"381850:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"381836:6:22","nodeType":"YulIdentifier","src":"381836:6:22"},{"name":"w","nativeSrc":"381844:1:22","nodeType":"YulIdentifier","src":"381844:1:22"}],"functionName":{"name":"byte","nativeSrc":"381831:4:22","nodeType":"YulIdentifier","src":"381831:4:22"},"nativeSrc":"381831:15:22","nodeType":"YulFunctionCall","src":"381831:15:22"}],"functionName":{"name":"iszero","nativeSrc":"381824:6:22","nodeType":"YulIdentifier","src":"381824:6:22"},"nativeSrc":"381824:23:22","nodeType":"YulFunctionCall","src":"381824:23:22"},"nativeSrc":"381821:36:22","nodeType":"YulIf","src":"381821:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"381776:6:22","nodeType":"YulIdentifier","src":"381776:6:22"},{"kind":"number","nativeSrc":"381784:4:22","nodeType":"YulLiteral","src":"381784:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"381773:2:22","nodeType":"YulIdentifier","src":"381773:2:22"},"nativeSrc":"381773:16:22","nodeType":"YulFunctionCall","src":"381773:16:22"},"nativeSrc":"381766:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"381790:28:22","nodeType":"YulBlock","src":"381790:28:22","statements":[{"nativeSrc":"381792:24:22","nodeType":"YulAssignment","src":"381792:24:22","value":{"arguments":[{"name":"length","nativeSrc":"381806:6:22","nodeType":"YulIdentifier","src":"381806:6:22"},{"kind":"number","nativeSrc":"381814:1:22","nodeType":"YulLiteral","src":"381814:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"381802:3:22","nodeType":"YulIdentifier","src":"381802:3:22"},"nativeSrc":"381802:14:22","nodeType":"YulFunctionCall","src":"381802:14:22"},"variableNames":[{"name":"length","nativeSrc":"381792:6:22","nodeType":"YulIdentifier","src":"381792:6:22"}]}]},"pre":{"nativeSrc":"381770:2:22","nodeType":"YulBlock","src":"381770:2:22","statements":[]},"src":"381766:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"381883:3:22","nodeType":"YulIdentifier","src":"381883:3:22"},{"name":"length","nativeSrc":"381888:6:22","nodeType":"YulIdentifier","src":"381888:6:22"}],"functionName":{"name":"mstore","nativeSrc":"381876:6:22","nodeType":"YulIdentifier","src":"381876:6:22"},"nativeSrc":"381876:19:22","nodeType":"YulFunctionCall","src":"381876:19:22"},"nativeSrc":"381876:19:22","nodeType":"YulExpressionStatement","src":"381876:19:22"},{"nativeSrc":"381912:37:22","nodeType":"YulVariableDeclaration","src":"381912:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"381929:3:22","nodeType":"YulLiteral","src":"381929:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"381938:1:22","nodeType":"YulLiteral","src":"381938:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"381941:6:22","nodeType":"YulIdentifier","src":"381941:6:22"}],"functionName":{"name":"shl","nativeSrc":"381934:3:22","nodeType":"YulIdentifier","src":"381934:3:22"},"nativeSrc":"381934:14:22","nodeType":"YulFunctionCall","src":"381934:14:22"}],"functionName":{"name":"sub","nativeSrc":"381925:3:22","nodeType":"YulIdentifier","src":"381925:3:22"},"nativeSrc":"381925:24:22","nodeType":"YulFunctionCall","src":"381925:24:22"},"variables":[{"name":"shift","nativeSrc":"381916:5:22","nodeType":"YulTypedName","src":"381916:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"381977:3:22","nodeType":"YulIdentifier","src":"381977:3:22"},{"kind":"number","nativeSrc":"381982:4:22","nodeType":"YulLiteral","src":"381982:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"381973:3:22","nodeType":"YulIdentifier","src":"381973:3:22"},"nativeSrc":"381973:14:22","nodeType":"YulFunctionCall","src":"381973:14:22"},{"arguments":[{"name":"shift","nativeSrc":"381993:5:22","nodeType":"YulIdentifier","src":"381993:5:22"},{"arguments":[{"name":"shift","nativeSrc":"382004:5:22","nodeType":"YulIdentifier","src":"382004:5:22"},{"name":"w","nativeSrc":"382011:1:22","nodeType":"YulIdentifier","src":"382011:1:22"}],"functionName":{"name":"shr","nativeSrc":"382000:3:22","nodeType":"YulIdentifier","src":"382000:3:22"},"nativeSrc":"382000:13:22","nodeType":"YulFunctionCall","src":"382000:13:22"}],"functionName":{"name":"shl","nativeSrc":"381989:3:22","nodeType":"YulIdentifier","src":"381989:3:22"},"nativeSrc":"381989:25:22","nodeType":"YulFunctionCall","src":"381989:25:22"}],"functionName":{"name":"mstore","nativeSrc":"381966:6:22","nodeType":"YulIdentifier","src":"381966:6:22"},"nativeSrc":"381966:49:22","nodeType":"YulFunctionCall","src":"381966:49:22"},"nativeSrc":"381966:49:22","nodeType":"YulExpressionStatement","src":"381966:49:22"}]},"name":"writeString","nativeSrc":"381687:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"381708:3:22","nodeType":"YulTypedName","src":"381708:3:22","type":""},{"name":"w","nativeSrc":"381713:1:22","nodeType":"YulTypedName","src":"381713:1:22","type":""}],"src":"381687:342:22"},{"nativeSrc":"382042:17:22","nodeType":"YulAssignment","src":"382042:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382054:4:22","nodeType":"YulLiteral","src":"382054:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"382048:5:22","nodeType":"YulIdentifier","src":"382048:5:22"},"nativeSrc":"382048:11:22","nodeType":"YulFunctionCall","src":"382048:11:22"},"variableNames":[{"name":"m0","nativeSrc":"382042:2:22","nodeType":"YulIdentifier","src":"382042:2:22"}]},{"nativeSrc":"382072:17:22","nodeType":"YulAssignment","src":"382072:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382084:4:22","nodeType":"YulLiteral","src":"382084:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"382078:5:22","nodeType":"YulIdentifier","src":"382078:5:22"},"nativeSrc":"382078:11:22","nodeType":"YulFunctionCall","src":"382078:11:22"},"variableNames":[{"name":"m1","nativeSrc":"382072:2:22","nodeType":"YulIdentifier","src":"382072:2:22"}]},{"nativeSrc":"382102:17:22","nodeType":"YulAssignment","src":"382102:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382114:4:22","nodeType":"YulLiteral","src":"382114:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"382108:5:22","nodeType":"YulIdentifier","src":"382108:5:22"},"nativeSrc":"382108:11:22","nodeType":"YulFunctionCall","src":"382108:11:22"},"variableNames":[{"name":"m2","nativeSrc":"382102:2:22","nodeType":"YulIdentifier","src":"382102:2:22"}]},{"nativeSrc":"382132:17:22","nodeType":"YulAssignment","src":"382132:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382144:4:22","nodeType":"YulLiteral","src":"382144:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"382138:5:22","nodeType":"YulIdentifier","src":"382138:5:22"},"nativeSrc":"382138:11:22","nodeType":"YulFunctionCall","src":"382138:11:22"},"variableNames":[{"name":"m3","nativeSrc":"382132:2:22","nodeType":"YulIdentifier","src":"382132:2:22"}]},{"nativeSrc":"382162:17:22","nodeType":"YulAssignment","src":"382162:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382174:4:22","nodeType":"YulLiteral","src":"382174:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"382168:5:22","nodeType":"YulIdentifier","src":"382168:5:22"},"nativeSrc":"382168:11:22","nodeType":"YulFunctionCall","src":"382168:11:22"},"variableNames":[{"name":"m4","nativeSrc":"382162:2:22","nodeType":"YulIdentifier","src":"382162:2:22"}]},{"nativeSrc":"382192:17:22","nodeType":"YulAssignment","src":"382192:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382204:4:22","nodeType":"YulLiteral","src":"382204:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"382198:5:22","nodeType":"YulIdentifier","src":"382198:5:22"},"nativeSrc":"382198:11:22","nodeType":"YulFunctionCall","src":"382198:11:22"},"variableNames":[{"name":"m5","nativeSrc":"382192:2:22","nodeType":"YulIdentifier","src":"382192:2:22"}]},{"nativeSrc":"382222:17:22","nodeType":"YulAssignment","src":"382222:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"382234:4:22","nodeType":"YulLiteral","src":"382234:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"382228:5:22","nodeType":"YulIdentifier","src":"382228:5:22"},"nativeSrc":"382228:11:22","nodeType":"YulFunctionCall","src":"382228:11:22"},"variableNames":[{"name":"m6","nativeSrc":"382222:2:22","nodeType":"YulIdentifier","src":"382222:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382322:4:22","nodeType":"YulLiteral","src":"382322:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"382328:10:22","nodeType":"YulLiteral","src":"382328:10:22","type":"","value":"0xe0e95b98"}],"functionName":{"name":"mstore","nativeSrc":"382315:6:22","nodeType":"YulIdentifier","src":"382315:6:22"},"nativeSrc":"382315:24:22","nodeType":"YulFunctionCall","src":"382315:24:22"},"nativeSrc":"382315:24:22","nodeType":"YulExpressionStatement","src":"382315:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382359:4:22","nodeType":"YulLiteral","src":"382359:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"382365:4:22","nodeType":"YulLiteral","src":"382365:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"382352:6:22","nodeType":"YulIdentifier","src":"382352:6:22"},"nativeSrc":"382352:18:22","nodeType":"YulFunctionCall","src":"382352:18:22"},"nativeSrc":"382352:18:22","nodeType":"YulExpressionStatement","src":"382352:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382390:4:22","nodeType":"YulLiteral","src":"382390:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"382396:2:22","nodeType":"YulIdentifier","src":"382396:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382383:6:22","nodeType":"YulIdentifier","src":"382383:6:22"},"nativeSrc":"382383:16:22","nodeType":"YulFunctionCall","src":"382383:16:22"},"nativeSrc":"382383:16:22","nodeType":"YulExpressionStatement","src":"382383:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382419:4:22","nodeType":"YulLiteral","src":"382419:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"382425:2:22","nodeType":"YulIdentifier","src":"382425:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382412:6:22","nodeType":"YulIdentifier","src":"382412:6:22"},"nativeSrc":"382412:16:22","nodeType":"YulFunctionCall","src":"382412:16:22"},"nativeSrc":"382412:16:22","nodeType":"YulExpressionStatement","src":"382412:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382448:4:22","nodeType":"YulLiteral","src":"382448:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"382454:2:22","nodeType":"YulIdentifier","src":"382454:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382441:6:22","nodeType":"YulIdentifier","src":"382441:6:22"},"nativeSrc":"382441:16:22","nodeType":"YulFunctionCall","src":"382441:16:22"},"nativeSrc":"382441:16:22","nodeType":"YulExpressionStatement","src":"382441:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382482:4:22","nodeType":"YulLiteral","src":"382482:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"382488:2:22","nodeType":"YulIdentifier","src":"382488:2:22"}],"functionName":{"name":"writeString","nativeSrc":"382470:11:22","nodeType":"YulIdentifier","src":"382470:11:22"},"nativeSrc":"382470:21:22","nodeType":"YulFunctionCall","src":"382470:21:22"},"nativeSrc":"382470:21:22","nodeType":"YulExpressionStatement","src":"382470:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43131,"isOffset":false,"isSlot":false,"src":"382042:2:22","valueSize":1},{"declaration":43134,"isOffset":false,"isSlot":false,"src":"382072:2:22","valueSize":1},{"declaration":43137,"isOffset":false,"isSlot":false,"src":"382102:2:22","valueSize":1},{"declaration":43140,"isOffset":false,"isSlot":false,"src":"382132:2:22","valueSize":1},{"declaration":43143,"isOffset":false,"isSlot":false,"src":"382162:2:22","valueSize":1},{"declaration":43146,"isOffset":false,"isSlot":false,"src":"382192:2:22","valueSize":1},{"declaration":43149,"isOffset":false,"isSlot":false,"src":"382222:2:22","valueSize":1},{"declaration":43121,"isOffset":false,"isSlot":false,"src":"382488:2:22","valueSize":1},{"declaration":43123,"isOffset":false,"isSlot":false,"src":"382396:2:22","valueSize":1},{"declaration":43125,"isOffset":false,"isSlot":false,"src":"382425:2:22","valueSize":1},{"declaration":43127,"isOffset":false,"isSlot":false,"src":"382454:2:22","valueSize":1}],"id":43151,"nodeType":"InlineAssembly","src":"381664:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382526:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382532:4:22","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":43152,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"382510:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"382510:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43156,"nodeType":"ExpressionStatement","src":"382510:27:22"},{"AST":{"nativeSrc":"382599:214:22","nodeType":"YulBlock","src":"382599:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"382620:4:22","nodeType":"YulLiteral","src":"382620:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"382626:2:22","nodeType":"YulIdentifier","src":"382626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382613:6:22","nodeType":"YulIdentifier","src":"382613:6:22"},"nativeSrc":"382613:16:22","nodeType":"YulFunctionCall","src":"382613:16:22"},"nativeSrc":"382613:16:22","nodeType":"YulExpressionStatement","src":"382613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382649:4:22","nodeType":"YulLiteral","src":"382649:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"382655:2:22","nodeType":"YulIdentifier","src":"382655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382642:6:22","nodeType":"YulIdentifier","src":"382642:6:22"},"nativeSrc":"382642:16:22","nodeType":"YulFunctionCall","src":"382642:16:22"},"nativeSrc":"382642:16:22","nodeType":"YulExpressionStatement","src":"382642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382678:4:22","nodeType":"YulLiteral","src":"382678:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"382684:2:22","nodeType":"YulIdentifier","src":"382684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382671:6:22","nodeType":"YulIdentifier","src":"382671:6:22"},"nativeSrc":"382671:16:22","nodeType":"YulFunctionCall","src":"382671:16:22"},"nativeSrc":"382671:16:22","nodeType":"YulExpressionStatement","src":"382671:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382707:4:22","nodeType":"YulLiteral","src":"382707:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"382713:2:22","nodeType":"YulIdentifier","src":"382713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382700:6:22","nodeType":"YulIdentifier","src":"382700:6:22"},"nativeSrc":"382700:16:22","nodeType":"YulFunctionCall","src":"382700:16:22"},"nativeSrc":"382700:16:22","nodeType":"YulExpressionStatement","src":"382700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382736:4:22","nodeType":"YulLiteral","src":"382736:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"382742:2:22","nodeType":"YulIdentifier","src":"382742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382729:6:22","nodeType":"YulIdentifier","src":"382729:6:22"},"nativeSrc":"382729:16:22","nodeType":"YulFunctionCall","src":"382729:16:22"},"nativeSrc":"382729:16:22","nodeType":"YulExpressionStatement","src":"382729:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382765:4:22","nodeType":"YulLiteral","src":"382765:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"382771:2:22","nodeType":"YulIdentifier","src":"382771:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382758:6:22","nodeType":"YulIdentifier","src":"382758:6:22"},"nativeSrc":"382758:16:22","nodeType":"YulFunctionCall","src":"382758:16:22"},"nativeSrc":"382758:16:22","nodeType":"YulExpressionStatement","src":"382758:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382794:4:22","nodeType":"YulLiteral","src":"382794:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"382800:2:22","nodeType":"YulIdentifier","src":"382800:2:22"}],"functionName":{"name":"mstore","nativeSrc":"382787:6:22","nodeType":"YulIdentifier","src":"382787:6:22"},"nativeSrc":"382787:16:22","nodeType":"YulFunctionCall","src":"382787:16:22"},"nativeSrc":"382787:16:22","nodeType":"YulExpressionStatement","src":"382787:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43131,"isOffset":false,"isSlot":false,"src":"382626:2:22","valueSize":1},{"declaration":43134,"isOffset":false,"isSlot":false,"src":"382655:2:22","valueSize":1},{"declaration":43137,"isOffset":false,"isSlot":false,"src":"382684:2:22","valueSize":1},{"declaration":43140,"isOffset":false,"isSlot":false,"src":"382713:2:22","valueSize":1},{"declaration":43143,"isOffset":false,"isSlot":false,"src":"382742:2:22","valueSize":1},{"declaration":43146,"isOffset":false,"isSlot":false,"src":"382771:2:22","valueSize":1},{"declaration":43149,"isOffset":false,"isSlot":false,"src":"382800:2:22","valueSize":1}],"id":43157,"nodeType":"InlineAssembly","src":"382590:223:22"}]},"id":43159,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"381408:3:22","nodeType":"FunctionDefinition","parameters":{"id":43128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43121,"mutability":"mutable","name":"p0","nameLocation":"381420:2:22","nodeType":"VariableDeclaration","scope":43159,"src":"381412:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381412:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43123,"mutability":"mutable","name":"p1","nameLocation":"381432:2:22","nodeType":"VariableDeclaration","scope":43159,"src":"381424:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43122,"name":"uint256","nodeType":"ElementaryTypeName","src":"381424:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43125,"mutability":"mutable","name":"p2","nameLocation":"381441:2:22","nodeType":"VariableDeclaration","scope":43159,"src":"381436:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43124,"name":"bool","nodeType":"ElementaryTypeName","src":"381436:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43127,"mutability":"mutable","name":"p3","nameLocation":"381453:2:22","nodeType":"VariableDeclaration","scope":43159,"src":"381445:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43126,"name":"address","nodeType":"ElementaryTypeName","src":"381445:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381411:45:22"},"returnParameters":{"id":43129,"nodeType":"ParameterList","parameters":[],"src":"381471:0:22"},"scope":44426,"src":"381399:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43198,"nodeType":"Block","src":"382894:1345:22","statements":[{"assignments":[43171],"declarations":[{"constant":false,"id":43171,"mutability":"mutable","name":"m0","nameLocation":"382912:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"382904:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382904:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43172,"nodeType":"VariableDeclarationStatement","src":"382904:10:22"},{"assignments":[43174],"declarations":[{"constant":false,"id":43174,"mutability":"mutable","name":"m1","nameLocation":"382932:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"382924:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382924:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43175,"nodeType":"VariableDeclarationStatement","src":"382924:10:22"},{"assignments":[43177],"declarations":[{"constant":false,"id":43177,"mutability":"mutable","name":"m2","nameLocation":"382952:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"382944:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382944:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43178,"nodeType":"VariableDeclarationStatement","src":"382944:10:22"},{"assignments":[43180],"declarations":[{"constant":false,"id":43180,"mutability":"mutable","name":"m3","nameLocation":"382972:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"382964:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382964:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43181,"nodeType":"VariableDeclarationStatement","src":"382964:10:22"},{"assignments":[43183],"declarations":[{"constant":false,"id":43183,"mutability":"mutable","name":"m4","nameLocation":"382992:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"382984:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382984:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43184,"nodeType":"VariableDeclarationStatement","src":"382984:10:22"},{"assignments":[43186],"declarations":[{"constant":false,"id":43186,"mutability":"mutable","name":"m5","nameLocation":"383012:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"383004:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383004:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43187,"nodeType":"VariableDeclarationStatement","src":"383004:10:22"},{"assignments":[43189],"declarations":[{"constant":false,"id":43189,"mutability":"mutable","name":"m6","nameLocation":"383032:2:22","nodeType":"VariableDeclaration","scope":43198,"src":"383024:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383024:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43190,"nodeType":"VariableDeclarationStatement","src":"383024:10:22"},{"AST":{"nativeSrc":"383096:825:22","nodeType":"YulBlock","src":"383096:825:22","statements":[{"body":{"nativeSrc":"383139:313:22","nodeType":"YulBlock","src":"383139:313:22","statements":[{"nativeSrc":"383157:15:22","nodeType":"YulVariableDeclaration","src":"383157:15:22","value":{"kind":"number","nativeSrc":"383171:1:22","nodeType":"YulLiteral","src":"383171:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"383161:6:22","nodeType":"YulTypedName","src":"383161:6:22","type":""}]},{"body":{"nativeSrc":"383242:40:22","nodeType":"YulBlock","src":"383242:40:22","statements":[{"body":{"nativeSrc":"383271:9:22","nodeType":"YulBlock","src":"383271:9:22","statements":[{"nativeSrc":"383273:5:22","nodeType":"YulBreak","src":"383273:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"383259:6:22","nodeType":"YulIdentifier","src":"383259:6:22"},{"name":"w","nativeSrc":"383267:1:22","nodeType":"YulIdentifier","src":"383267:1:22"}],"functionName":{"name":"byte","nativeSrc":"383254:4:22","nodeType":"YulIdentifier","src":"383254:4:22"},"nativeSrc":"383254:15:22","nodeType":"YulFunctionCall","src":"383254:15:22"}],"functionName":{"name":"iszero","nativeSrc":"383247:6:22","nodeType":"YulIdentifier","src":"383247:6:22"},"nativeSrc":"383247:23:22","nodeType":"YulFunctionCall","src":"383247:23:22"},"nativeSrc":"383244:36:22","nodeType":"YulIf","src":"383244:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"383199:6:22","nodeType":"YulIdentifier","src":"383199:6:22"},{"kind":"number","nativeSrc":"383207:4:22","nodeType":"YulLiteral","src":"383207:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"383196:2:22","nodeType":"YulIdentifier","src":"383196:2:22"},"nativeSrc":"383196:16:22","nodeType":"YulFunctionCall","src":"383196:16:22"},"nativeSrc":"383189:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"383213:28:22","nodeType":"YulBlock","src":"383213:28:22","statements":[{"nativeSrc":"383215:24:22","nodeType":"YulAssignment","src":"383215:24:22","value":{"arguments":[{"name":"length","nativeSrc":"383229:6:22","nodeType":"YulIdentifier","src":"383229:6:22"},{"kind":"number","nativeSrc":"383237:1:22","nodeType":"YulLiteral","src":"383237:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"383225:3:22","nodeType":"YulIdentifier","src":"383225:3:22"},"nativeSrc":"383225:14:22","nodeType":"YulFunctionCall","src":"383225:14:22"},"variableNames":[{"name":"length","nativeSrc":"383215:6:22","nodeType":"YulIdentifier","src":"383215:6:22"}]}]},"pre":{"nativeSrc":"383193:2:22","nodeType":"YulBlock","src":"383193:2:22","statements":[]},"src":"383189:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"383306:3:22","nodeType":"YulIdentifier","src":"383306:3:22"},{"name":"length","nativeSrc":"383311:6:22","nodeType":"YulIdentifier","src":"383311:6:22"}],"functionName":{"name":"mstore","nativeSrc":"383299:6:22","nodeType":"YulIdentifier","src":"383299:6:22"},"nativeSrc":"383299:19:22","nodeType":"YulFunctionCall","src":"383299:19:22"},"nativeSrc":"383299:19:22","nodeType":"YulExpressionStatement","src":"383299:19:22"},{"nativeSrc":"383335:37:22","nodeType":"YulVariableDeclaration","src":"383335:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"383352:3:22","nodeType":"YulLiteral","src":"383352:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"383361:1:22","nodeType":"YulLiteral","src":"383361:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"383364:6:22","nodeType":"YulIdentifier","src":"383364:6:22"}],"functionName":{"name":"shl","nativeSrc":"383357:3:22","nodeType":"YulIdentifier","src":"383357:3:22"},"nativeSrc":"383357:14:22","nodeType":"YulFunctionCall","src":"383357:14:22"}],"functionName":{"name":"sub","nativeSrc":"383348:3:22","nodeType":"YulIdentifier","src":"383348:3:22"},"nativeSrc":"383348:24:22","nodeType":"YulFunctionCall","src":"383348:24:22"},"variables":[{"name":"shift","nativeSrc":"383339:5:22","nodeType":"YulTypedName","src":"383339:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"383400:3:22","nodeType":"YulIdentifier","src":"383400:3:22"},{"kind":"number","nativeSrc":"383405:4:22","nodeType":"YulLiteral","src":"383405:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"383396:3:22","nodeType":"YulIdentifier","src":"383396:3:22"},"nativeSrc":"383396:14:22","nodeType":"YulFunctionCall","src":"383396:14:22"},{"arguments":[{"name":"shift","nativeSrc":"383416:5:22","nodeType":"YulIdentifier","src":"383416:5:22"},{"arguments":[{"name":"shift","nativeSrc":"383427:5:22","nodeType":"YulIdentifier","src":"383427:5:22"},{"name":"w","nativeSrc":"383434:1:22","nodeType":"YulIdentifier","src":"383434:1:22"}],"functionName":{"name":"shr","nativeSrc":"383423:3:22","nodeType":"YulIdentifier","src":"383423:3:22"},"nativeSrc":"383423:13:22","nodeType":"YulFunctionCall","src":"383423:13:22"}],"functionName":{"name":"shl","nativeSrc":"383412:3:22","nodeType":"YulIdentifier","src":"383412:3:22"},"nativeSrc":"383412:25:22","nodeType":"YulFunctionCall","src":"383412:25:22"}],"functionName":{"name":"mstore","nativeSrc":"383389:6:22","nodeType":"YulIdentifier","src":"383389:6:22"},"nativeSrc":"383389:49:22","nodeType":"YulFunctionCall","src":"383389:49:22"},"nativeSrc":"383389:49:22","nodeType":"YulExpressionStatement","src":"383389:49:22"}]},"name":"writeString","nativeSrc":"383110:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"383131:3:22","nodeType":"YulTypedName","src":"383131:3:22","type":""},{"name":"w","nativeSrc":"383136:1:22","nodeType":"YulTypedName","src":"383136:1:22","type":""}],"src":"383110:342:22"},{"nativeSrc":"383465:17:22","nodeType":"YulAssignment","src":"383465:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383477:4:22","nodeType":"YulLiteral","src":"383477:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"383471:5:22","nodeType":"YulIdentifier","src":"383471:5:22"},"nativeSrc":"383471:11:22","nodeType":"YulFunctionCall","src":"383471:11:22"},"variableNames":[{"name":"m0","nativeSrc":"383465:2:22","nodeType":"YulIdentifier","src":"383465:2:22"}]},{"nativeSrc":"383495:17:22","nodeType":"YulAssignment","src":"383495:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383507:4:22","nodeType":"YulLiteral","src":"383507:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"383501:5:22","nodeType":"YulIdentifier","src":"383501:5:22"},"nativeSrc":"383501:11:22","nodeType":"YulFunctionCall","src":"383501:11:22"},"variableNames":[{"name":"m1","nativeSrc":"383495:2:22","nodeType":"YulIdentifier","src":"383495:2:22"}]},{"nativeSrc":"383525:17:22","nodeType":"YulAssignment","src":"383525:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383537:4:22","nodeType":"YulLiteral","src":"383537:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"383531:5:22","nodeType":"YulIdentifier","src":"383531:5:22"},"nativeSrc":"383531:11:22","nodeType":"YulFunctionCall","src":"383531:11:22"},"variableNames":[{"name":"m2","nativeSrc":"383525:2:22","nodeType":"YulIdentifier","src":"383525:2:22"}]},{"nativeSrc":"383555:17:22","nodeType":"YulAssignment","src":"383555:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383567:4:22","nodeType":"YulLiteral","src":"383567:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"383561:5:22","nodeType":"YulIdentifier","src":"383561:5:22"},"nativeSrc":"383561:11:22","nodeType":"YulFunctionCall","src":"383561:11:22"},"variableNames":[{"name":"m3","nativeSrc":"383555:2:22","nodeType":"YulIdentifier","src":"383555:2:22"}]},{"nativeSrc":"383585:17:22","nodeType":"YulAssignment","src":"383585:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383597:4:22","nodeType":"YulLiteral","src":"383597:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"383591:5:22","nodeType":"YulIdentifier","src":"383591:5:22"},"nativeSrc":"383591:11:22","nodeType":"YulFunctionCall","src":"383591:11:22"},"variableNames":[{"name":"m4","nativeSrc":"383585:2:22","nodeType":"YulIdentifier","src":"383585:2:22"}]},{"nativeSrc":"383615:17:22","nodeType":"YulAssignment","src":"383615:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383627:4:22","nodeType":"YulLiteral","src":"383627:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"383621:5:22","nodeType":"YulIdentifier","src":"383621:5:22"},"nativeSrc":"383621:11:22","nodeType":"YulFunctionCall","src":"383621:11:22"},"variableNames":[{"name":"m5","nativeSrc":"383615:2:22","nodeType":"YulIdentifier","src":"383615:2:22"}]},{"nativeSrc":"383645:17:22","nodeType":"YulAssignment","src":"383645:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"383657:4:22","nodeType":"YulLiteral","src":"383657:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"383651:5:22","nodeType":"YulIdentifier","src":"383651:5:22"},"nativeSrc":"383651:11:22","nodeType":"YulFunctionCall","src":"383651:11:22"},"variableNames":[{"name":"m6","nativeSrc":"383645:2:22","nodeType":"YulIdentifier","src":"383645:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383742:4:22","nodeType":"YulLiteral","src":"383742:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"383748:10:22","nodeType":"YulLiteral","src":"383748:10:22","type":"","value":"0x354c36d6"}],"functionName":{"name":"mstore","nativeSrc":"383735:6:22","nodeType":"YulIdentifier","src":"383735:6:22"},"nativeSrc":"383735:24:22","nodeType":"YulFunctionCall","src":"383735:24:22"},"nativeSrc":"383735:24:22","nodeType":"YulExpressionStatement","src":"383735:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383779:4:22","nodeType":"YulLiteral","src":"383779:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"383785:4:22","nodeType":"YulLiteral","src":"383785:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"383772:6:22","nodeType":"YulIdentifier","src":"383772:6:22"},"nativeSrc":"383772:18:22","nodeType":"YulFunctionCall","src":"383772:18:22"},"nativeSrc":"383772:18:22","nodeType":"YulExpressionStatement","src":"383772:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383810:4:22","nodeType":"YulLiteral","src":"383810:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"383816:2:22","nodeType":"YulIdentifier","src":"383816:2:22"}],"functionName":{"name":"mstore","nativeSrc":"383803:6:22","nodeType":"YulIdentifier","src":"383803:6:22"},"nativeSrc":"383803:16:22","nodeType":"YulFunctionCall","src":"383803:16:22"},"nativeSrc":"383803:16:22","nodeType":"YulExpressionStatement","src":"383803:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383839:4:22","nodeType":"YulLiteral","src":"383839:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"383845:2:22","nodeType":"YulIdentifier","src":"383845:2:22"}],"functionName":{"name":"mstore","nativeSrc":"383832:6:22","nodeType":"YulIdentifier","src":"383832:6:22"},"nativeSrc":"383832:16:22","nodeType":"YulFunctionCall","src":"383832:16:22"},"nativeSrc":"383832:16:22","nodeType":"YulExpressionStatement","src":"383832:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383868:4:22","nodeType":"YulLiteral","src":"383868:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"383874:2:22","nodeType":"YulIdentifier","src":"383874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"383861:6:22","nodeType":"YulIdentifier","src":"383861:6:22"},"nativeSrc":"383861:16:22","nodeType":"YulFunctionCall","src":"383861:16:22"},"nativeSrc":"383861:16:22","nodeType":"YulExpressionStatement","src":"383861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383902:4:22","nodeType":"YulLiteral","src":"383902:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"383908:2:22","nodeType":"YulIdentifier","src":"383908:2:22"}],"functionName":{"name":"writeString","nativeSrc":"383890:11:22","nodeType":"YulIdentifier","src":"383890:11:22"},"nativeSrc":"383890:21:22","nodeType":"YulFunctionCall","src":"383890:21:22"},"nativeSrc":"383890:21:22","nodeType":"YulExpressionStatement","src":"383890:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43171,"isOffset":false,"isSlot":false,"src":"383465:2:22","valueSize":1},{"declaration":43174,"isOffset":false,"isSlot":false,"src":"383495:2:22","valueSize":1},{"declaration":43177,"isOffset":false,"isSlot":false,"src":"383525:2:22","valueSize":1},{"declaration":43180,"isOffset":false,"isSlot":false,"src":"383555:2:22","valueSize":1},{"declaration":43183,"isOffset":false,"isSlot":false,"src":"383585:2:22","valueSize":1},{"declaration":43186,"isOffset":false,"isSlot":false,"src":"383615:2:22","valueSize":1},{"declaration":43189,"isOffset":false,"isSlot":false,"src":"383645:2:22","valueSize":1},{"declaration":43161,"isOffset":false,"isSlot":false,"src":"383908:2:22","valueSize":1},{"declaration":43163,"isOffset":false,"isSlot":false,"src":"383816:2:22","valueSize":1},{"declaration":43165,"isOffset":false,"isSlot":false,"src":"383845:2:22","valueSize":1},{"declaration":43167,"isOffset":false,"isSlot":false,"src":"383874:2:22","valueSize":1}],"id":43191,"nodeType":"InlineAssembly","src":"383087:834:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383946:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383952:4:22","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":43192,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"383930:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"383930:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43196,"nodeType":"ExpressionStatement","src":"383930:27:22"},{"AST":{"nativeSrc":"384019:214:22","nodeType":"YulBlock","src":"384019:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"384040:4:22","nodeType":"YulLiteral","src":"384040:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"384046:2:22","nodeType":"YulIdentifier","src":"384046:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384033:6:22","nodeType":"YulIdentifier","src":"384033:6:22"},"nativeSrc":"384033:16:22","nodeType":"YulFunctionCall","src":"384033:16:22"},"nativeSrc":"384033:16:22","nodeType":"YulExpressionStatement","src":"384033:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384069:4:22","nodeType":"YulLiteral","src":"384069:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"384075:2:22","nodeType":"YulIdentifier","src":"384075:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384062:6:22","nodeType":"YulIdentifier","src":"384062:6:22"},"nativeSrc":"384062:16:22","nodeType":"YulFunctionCall","src":"384062:16:22"},"nativeSrc":"384062:16:22","nodeType":"YulExpressionStatement","src":"384062:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384098:4:22","nodeType":"YulLiteral","src":"384098:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"384104:2:22","nodeType":"YulIdentifier","src":"384104:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384091:6:22","nodeType":"YulIdentifier","src":"384091:6:22"},"nativeSrc":"384091:16:22","nodeType":"YulFunctionCall","src":"384091:16:22"},"nativeSrc":"384091:16:22","nodeType":"YulExpressionStatement","src":"384091:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384127:4:22","nodeType":"YulLiteral","src":"384127:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"384133:2:22","nodeType":"YulIdentifier","src":"384133:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384120:6:22","nodeType":"YulIdentifier","src":"384120:6:22"},"nativeSrc":"384120:16:22","nodeType":"YulFunctionCall","src":"384120:16:22"},"nativeSrc":"384120:16:22","nodeType":"YulExpressionStatement","src":"384120:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384156:4:22","nodeType":"YulLiteral","src":"384156:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"384162:2:22","nodeType":"YulIdentifier","src":"384162:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384149:6:22","nodeType":"YulIdentifier","src":"384149:6:22"},"nativeSrc":"384149:16:22","nodeType":"YulFunctionCall","src":"384149:16:22"},"nativeSrc":"384149:16:22","nodeType":"YulExpressionStatement","src":"384149:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384185:4:22","nodeType":"YulLiteral","src":"384185:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"384191:2:22","nodeType":"YulIdentifier","src":"384191:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384178:6:22","nodeType":"YulIdentifier","src":"384178:6:22"},"nativeSrc":"384178:16:22","nodeType":"YulFunctionCall","src":"384178:16:22"},"nativeSrc":"384178:16:22","nodeType":"YulExpressionStatement","src":"384178:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384214:4:22","nodeType":"YulLiteral","src":"384214:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"384220:2:22","nodeType":"YulIdentifier","src":"384220:2:22"}],"functionName":{"name":"mstore","nativeSrc":"384207:6:22","nodeType":"YulIdentifier","src":"384207:6:22"},"nativeSrc":"384207:16:22","nodeType":"YulFunctionCall","src":"384207:16:22"},"nativeSrc":"384207:16:22","nodeType":"YulExpressionStatement","src":"384207:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43171,"isOffset":false,"isSlot":false,"src":"384046:2:22","valueSize":1},{"declaration":43174,"isOffset":false,"isSlot":false,"src":"384075:2:22","valueSize":1},{"declaration":43177,"isOffset":false,"isSlot":false,"src":"384104:2:22","valueSize":1},{"declaration":43180,"isOffset":false,"isSlot":false,"src":"384133:2:22","valueSize":1},{"declaration":43183,"isOffset":false,"isSlot":false,"src":"384162:2:22","valueSize":1},{"declaration":43186,"isOffset":false,"isSlot":false,"src":"384191:2:22","valueSize":1},{"declaration":43189,"isOffset":false,"isSlot":false,"src":"384220:2:22","valueSize":1}],"id":43197,"nodeType":"InlineAssembly","src":"384010:223:22"}]},"id":43199,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"382834:3:22","nodeType":"FunctionDefinition","parameters":{"id":43168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43161,"mutability":"mutable","name":"p0","nameLocation":"382846:2:22","nodeType":"VariableDeclaration","scope":43199,"src":"382838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382838:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43163,"mutability":"mutable","name":"p1","nameLocation":"382858:2:22","nodeType":"VariableDeclaration","scope":43199,"src":"382850:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43162,"name":"uint256","nodeType":"ElementaryTypeName","src":"382850:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43165,"mutability":"mutable","name":"p2","nameLocation":"382867:2:22","nodeType":"VariableDeclaration","scope":43199,"src":"382862:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43164,"name":"bool","nodeType":"ElementaryTypeName","src":"382862:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43167,"mutability":"mutable","name":"p3","nameLocation":"382876:2:22","nodeType":"VariableDeclaration","scope":43199,"src":"382871:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43166,"name":"bool","nodeType":"ElementaryTypeName","src":"382871:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"382837:42:22"},"returnParameters":{"id":43169,"nodeType":"ParameterList","parameters":[],"src":"382894:0:22"},"scope":44426,"src":"382825:1414:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43238,"nodeType":"Block","src":"384317:1348:22","statements":[{"assignments":[43211],"declarations":[{"constant":false,"id":43211,"mutability":"mutable","name":"m0","nameLocation":"384335:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384327:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384327:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43212,"nodeType":"VariableDeclarationStatement","src":"384327:10:22"},{"assignments":[43214],"declarations":[{"constant":false,"id":43214,"mutability":"mutable","name":"m1","nameLocation":"384355:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384347:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384347:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43215,"nodeType":"VariableDeclarationStatement","src":"384347:10:22"},{"assignments":[43217],"declarations":[{"constant":false,"id":43217,"mutability":"mutable","name":"m2","nameLocation":"384375:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384367:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384367:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43218,"nodeType":"VariableDeclarationStatement","src":"384367:10:22"},{"assignments":[43220],"declarations":[{"constant":false,"id":43220,"mutability":"mutable","name":"m3","nameLocation":"384395:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384387:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384387:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43221,"nodeType":"VariableDeclarationStatement","src":"384387:10:22"},{"assignments":[43223],"declarations":[{"constant":false,"id":43223,"mutability":"mutable","name":"m4","nameLocation":"384415:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384407:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384407:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43224,"nodeType":"VariableDeclarationStatement","src":"384407:10:22"},{"assignments":[43226],"declarations":[{"constant":false,"id":43226,"mutability":"mutable","name":"m5","nameLocation":"384435:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384427:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384427:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43227,"nodeType":"VariableDeclarationStatement","src":"384427:10:22"},{"assignments":[43229],"declarations":[{"constant":false,"id":43229,"mutability":"mutable","name":"m6","nameLocation":"384455:2:22","nodeType":"VariableDeclaration","scope":43238,"src":"384447:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384447:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43230,"nodeType":"VariableDeclarationStatement","src":"384447:10:22"},{"AST":{"nativeSrc":"384519:828:22","nodeType":"YulBlock","src":"384519:828:22","statements":[{"body":{"nativeSrc":"384562:313:22","nodeType":"YulBlock","src":"384562:313:22","statements":[{"nativeSrc":"384580:15:22","nodeType":"YulVariableDeclaration","src":"384580:15:22","value":{"kind":"number","nativeSrc":"384594:1:22","nodeType":"YulLiteral","src":"384594:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"384584:6:22","nodeType":"YulTypedName","src":"384584:6:22","type":""}]},{"body":{"nativeSrc":"384665:40:22","nodeType":"YulBlock","src":"384665:40:22","statements":[{"body":{"nativeSrc":"384694:9:22","nodeType":"YulBlock","src":"384694:9:22","statements":[{"nativeSrc":"384696:5:22","nodeType":"YulBreak","src":"384696:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"384682:6:22","nodeType":"YulIdentifier","src":"384682:6:22"},{"name":"w","nativeSrc":"384690:1:22","nodeType":"YulIdentifier","src":"384690:1:22"}],"functionName":{"name":"byte","nativeSrc":"384677:4:22","nodeType":"YulIdentifier","src":"384677:4:22"},"nativeSrc":"384677:15:22","nodeType":"YulFunctionCall","src":"384677:15:22"}],"functionName":{"name":"iszero","nativeSrc":"384670:6:22","nodeType":"YulIdentifier","src":"384670:6:22"},"nativeSrc":"384670:23:22","nodeType":"YulFunctionCall","src":"384670:23:22"},"nativeSrc":"384667:36:22","nodeType":"YulIf","src":"384667:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"384622:6:22","nodeType":"YulIdentifier","src":"384622:6:22"},{"kind":"number","nativeSrc":"384630:4:22","nodeType":"YulLiteral","src":"384630:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"384619:2:22","nodeType":"YulIdentifier","src":"384619:2:22"},"nativeSrc":"384619:16:22","nodeType":"YulFunctionCall","src":"384619:16:22"},"nativeSrc":"384612:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"384636:28:22","nodeType":"YulBlock","src":"384636:28:22","statements":[{"nativeSrc":"384638:24:22","nodeType":"YulAssignment","src":"384638:24:22","value":{"arguments":[{"name":"length","nativeSrc":"384652:6:22","nodeType":"YulIdentifier","src":"384652:6:22"},{"kind":"number","nativeSrc":"384660:1:22","nodeType":"YulLiteral","src":"384660:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"384648:3:22","nodeType":"YulIdentifier","src":"384648:3:22"},"nativeSrc":"384648:14:22","nodeType":"YulFunctionCall","src":"384648:14:22"},"variableNames":[{"name":"length","nativeSrc":"384638:6:22","nodeType":"YulIdentifier","src":"384638:6:22"}]}]},"pre":{"nativeSrc":"384616:2:22","nodeType":"YulBlock","src":"384616:2:22","statements":[]},"src":"384612:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"384729:3:22","nodeType":"YulIdentifier","src":"384729:3:22"},{"name":"length","nativeSrc":"384734:6:22","nodeType":"YulIdentifier","src":"384734:6:22"}],"functionName":{"name":"mstore","nativeSrc":"384722:6:22","nodeType":"YulIdentifier","src":"384722:6:22"},"nativeSrc":"384722:19:22","nodeType":"YulFunctionCall","src":"384722:19:22"},"nativeSrc":"384722:19:22","nodeType":"YulExpressionStatement","src":"384722:19:22"},{"nativeSrc":"384758:37:22","nodeType":"YulVariableDeclaration","src":"384758:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"384775:3:22","nodeType":"YulLiteral","src":"384775:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"384784:1:22","nodeType":"YulLiteral","src":"384784:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"384787:6:22","nodeType":"YulIdentifier","src":"384787:6:22"}],"functionName":{"name":"shl","nativeSrc":"384780:3:22","nodeType":"YulIdentifier","src":"384780:3:22"},"nativeSrc":"384780:14:22","nodeType":"YulFunctionCall","src":"384780:14:22"}],"functionName":{"name":"sub","nativeSrc":"384771:3:22","nodeType":"YulIdentifier","src":"384771:3:22"},"nativeSrc":"384771:24:22","nodeType":"YulFunctionCall","src":"384771:24:22"},"variables":[{"name":"shift","nativeSrc":"384762:5:22","nodeType":"YulTypedName","src":"384762:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"384823:3:22","nodeType":"YulIdentifier","src":"384823:3:22"},{"kind":"number","nativeSrc":"384828:4:22","nodeType":"YulLiteral","src":"384828:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"384819:3:22","nodeType":"YulIdentifier","src":"384819:3:22"},"nativeSrc":"384819:14:22","nodeType":"YulFunctionCall","src":"384819:14:22"},{"arguments":[{"name":"shift","nativeSrc":"384839:5:22","nodeType":"YulIdentifier","src":"384839:5:22"},{"arguments":[{"name":"shift","nativeSrc":"384850:5:22","nodeType":"YulIdentifier","src":"384850:5:22"},{"name":"w","nativeSrc":"384857:1:22","nodeType":"YulIdentifier","src":"384857:1:22"}],"functionName":{"name":"shr","nativeSrc":"384846:3:22","nodeType":"YulIdentifier","src":"384846:3:22"},"nativeSrc":"384846:13:22","nodeType":"YulFunctionCall","src":"384846:13:22"}],"functionName":{"name":"shl","nativeSrc":"384835:3:22","nodeType":"YulIdentifier","src":"384835:3:22"},"nativeSrc":"384835:25:22","nodeType":"YulFunctionCall","src":"384835:25:22"}],"functionName":{"name":"mstore","nativeSrc":"384812:6:22","nodeType":"YulIdentifier","src":"384812:6:22"},"nativeSrc":"384812:49:22","nodeType":"YulFunctionCall","src":"384812:49:22"},"nativeSrc":"384812:49:22","nodeType":"YulExpressionStatement","src":"384812:49:22"}]},"name":"writeString","nativeSrc":"384533:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"384554:3:22","nodeType":"YulTypedName","src":"384554:3:22","type":""},{"name":"w","nativeSrc":"384559:1:22","nodeType":"YulTypedName","src":"384559:1:22","type":""}],"src":"384533:342:22"},{"nativeSrc":"384888:17:22","nodeType":"YulAssignment","src":"384888:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"384900:4:22","nodeType":"YulLiteral","src":"384900:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"384894:5:22","nodeType":"YulIdentifier","src":"384894:5:22"},"nativeSrc":"384894:11:22","nodeType":"YulFunctionCall","src":"384894:11:22"},"variableNames":[{"name":"m0","nativeSrc":"384888:2:22","nodeType":"YulIdentifier","src":"384888:2:22"}]},{"nativeSrc":"384918:17:22","nodeType":"YulAssignment","src":"384918:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"384930:4:22","nodeType":"YulLiteral","src":"384930:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"384924:5:22","nodeType":"YulIdentifier","src":"384924:5:22"},"nativeSrc":"384924:11:22","nodeType":"YulFunctionCall","src":"384924:11:22"},"variableNames":[{"name":"m1","nativeSrc":"384918:2:22","nodeType":"YulIdentifier","src":"384918:2:22"}]},{"nativeSrc":"384948:17:22","nodeType":"YulAssignment","src":"384948:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"384960:4:22","nodeType":"YulLiteral","src":"384960:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"384954:5:22","nodeType":"YulIdentifier","src":"384954:5:22"},"nativeSrc":"384954:11:22","nodeType":"YulFunctionCall","src":"384954:11:22"},"variableNames":[{"name":"m2","nativeSrc":"384948:2:22","nodeType":"YulIdentifier","src":"384948:2:22"}]},{"nativeSrc":"384978:17:22","nodeType":"YulAssignment","src":"384978:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"384990:4:22","nodeType":"YulLiteral","src":"384990:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"384984:5:22","nodeType":"YulIdentifier","src":"384984:5:22"},"nativeSrc":"384984:11:22","nodeType":"YulFunctionCall","src":"384984:11:22"},"variableNames":[{"name":"m3","nativeSrc":"384978:2:22","nodeType":"YulIdentifier","src":"384978:2:22"}]},{"nativeSrc":"385008:17:22","nodeType":"YulAssignment","src":"385008:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"385020:4:22","nodeType":"YulLiteral","src":"385020:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"385014:5:22","nodeType":"YulIdentifier","src":"385014:5:22"},"nativeSrc":"385014:11:22","nodeType":"YulFunctionCall","src":"385014:11:22"},"variableNames":[{"name":"m4","nativeSrc":"385008:2:22","nodeType":"YulIdentifier","src":"385008:2:22"}]},{"nativeSrc":"385038:17:22","nodeType":"YulAssignment","src":"385038:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"385050:4:22","nodeType":"YulLiteral","src":"385050:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"385044:5:22","nodeType":"YulIdentifier","src":"385044:5:22"},"nativeSrc":"385044:11:22","nodeType":"YulFunctionCall","src":"385044:11:22"},"variableNames":[{"name":"m5","nativeSrc":"385038:2:22","nodeType":"YulIdentifier","src":"385038:2:22"}]},{"nativeSrc":"385068:17:22","nodeType":"YulAssignment","src":"385068:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"385080:4:22","nodeType":"YulLiteral","src":"385080:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"385074:5:22","nodeType":"YulIdentifier","src":"385074:5:22"},"nativeSrc":"385074:11:22","nodeType":"YulFunctionCall","src":"385074:11:22"},"variableNames":[{"name":"m6","nativeSrc":"385068:2:22","nodeType":"YulIdentifier","src":"385068:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385168:4:22","nodeType":"YulLiteral","src":"385168:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"385174:10:22","nodeType":"YulLiteral","src":"385174:10:22","type":"","value":"0xe41b6f6f"}],"functionName":{"name":"mstore","nativeSrc":"385161:6:22","nodeType":"YulIdentifier","src":"385161:6:22"},"nativeSrc":"385161:24:22","nodeType":"YulFunctionCall","src":"385161:24:22"},"nativeSrc":"385161:24:22","nodeType":"YulExpressionStatement","src":"385161:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385205:4:22","nodeType":"YulLiteral","src":"385205:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"385211:4:22","nodeType":"YulLiteral","src":"385211:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"385198:6:22","nodeType":"YulIdentifier","src":"385198:6:22"},"nativeSrc":"385198:18:22","nodeType":"YulFunctionCall","src":"385198:18:22"},"nativeSrc":"385198:18:22","nodeType":"YulExpressionStatement","src":"385198:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385236:4:22","nodeType":"YulLiteral","src":"385236:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"385242:2:22","nodeType":"YulIdentifier","src":"385242:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385229:6:22","nodeType":"YulIdentifier","src":"385229:6:22"},"nativeSrc":"385229:16:22","nodeType":"YulFunctionCall","src":"385229:16:22"},"nativeSrc":"385229:16:22","nodeType":"YulExpressionStatement","src":"385229:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385265:4:22","nodeType":"YulLiteral","src":"385265:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"385271:2:22","nodeType":"YulIdentifier","src":"385271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385258:6:22","nodeType":"YulIdentifier","src":"385258:6:22"},"nativeSrc":"385258:16:22","nodeType":"YulFunctionCall","src":"385258:16:22"},"nativeSrc":"385258:16:22","nodeType":"YulExpressionStatement","src":"385258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385294:4:22","nodeType":"YulLiteral","src":"385294:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"385300:2:22","nodeType":"YulIdentifier","src":"385300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385287:6:22","nodeType":"YulIdentifier","src":"385287:6:22"},"nativeSrc":"385287:16:22","nodeType":"YulFunctionCall","src":"385287:16:22"},"nativeSrc":"385287:16:22","nodeType":"YulExpressionStatement","src":"385287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385328:4:22","nodeType":"YulLiteral","src":"385328:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"385334:2:22","nodeType":"YulIdentifier","src":"385334:2:22"}],"functionName":{"name":"writeString","nativeSrc":"385316:11:22","nodeType":"YulIdentifier","src":"385316:11:22"},"nativeSrc":"385316:21:22","nodeType":"YulFunctionCall","src":"385316:21:22"},"nativeSrc":"385316:21:22","nodeType":"YulExpressionStatement","src":"385316:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43211,"isOffset":false,"isSlot":false,"src":"384888:2:22","valueSize":1},{"declaration":43214,"isOffset":false,"isSlot":false,"src":"384918:2:22","valueSize":1},{"declaration":43217,"isOffset":false,"isSlot":false,"src":"384948:2:22","valueSize":1},{"declaration":43220,"isOffset":false,"isSlot":false,"src":"384978:2:22","valueSize":1},{"declaration":43223,"isOffset":false,"isSlot":false,"src":"385008:2:22","valueSize":1},{"declaration":43226,"isOffset":false,"isSlot":false,"src":"385038:2:22","valueSize":1},{"declaration":43229,"isOffset":false,"isSlot":false,"src":"385068:2:22","valueSize":1},{"declaration":43201,"isOffset":false,"isSlot":false,"src":"385334:2:22","valueSize":1},{"declaration":43203,"isOffset":false,"isSlot":false,"src":"385242:2:22","valueSize":1},{"declaration":43205,"isOffset":false,"isSlot":false,"src":"385271:2:22","valueSize":1},{"declaration":43207,"isOffset":false,"isSlot":false,"src":"385300:2:22","valueSize":1}],"id":43231,"nodeType":"InlineAssembly","src":"384510:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385372:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385378:4:22","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":43232,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"385356:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"385356:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43236,"nodeType":"ExpressionStatement","src":"385356:27:22"},{"AST":{"nativeSrc":"385445:214:22","nodeType":"YulBlock","src":"385445:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"385466:4:22","nodeType":"YulLiteral","src":"385466:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"385472:2:22","nodeType":"YulIdentifier","src":"385472:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385459:6:22","nodeType":"YulIdentifier","src":"385459:6:22"},"nativeSrc":"385459:16:22","nodeType":"YulFunctionCall","src":"385459:16:22"},"nativeSrc":"385459:16:22","nodeType":"YulExpressionStatement","src":"385459:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385495:4:22","nodeType":"YulLiteral","src":"385495:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"385501:2:22","nodeType":"YulIdentifier","src":"385501:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385488:6:22","nodeType":"YulIdentifier","src":"385488:6:22"},"nativeSrc":"385488:16:22","nodeType":"YulFunctionCall","src":"385488:16:22"},"nativeSrc":"385488:16:22","nodeType":"YulExpressionStatement","src":"385488:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385524:4:22","nodeType":"YulLiteral","src":"385524:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"385530:2:22","nodeType":"YulIdentifier","src":"385530:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385517:6:22","nodeType":"YulIdentifier","src":"385517:6:22"},"nativeSrc":"385517:16:22","nodeType":"YulFunctionCall","src":"385517:16:22"},"nativeSrc":"385517:16:22","nodeType":"YulExpressionStatement","src":"385517:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385553:4:22","nodeType":"YulLiteral","src":"385553:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"385559:2:22","nodeType":"YulIdentifier","src":"385559:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385546:6:22","nodeType":"YulIdentifier","src":"385546:6:22"},"nativeSrc":"385546:16:22","nodeType":"YulFunctionCall","src":"385546:16:22"},"nativeSrc":"385546:16:22","nodeType":"YulExpressionStatement","src":"385546:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385582:4:22","nodeType":"YulLiteral","src":"385582:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"385588:2:22","nodeType":"YulIdentifier","src":"385588:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385575:6:22","nodeType":"YulIdentifier","src":"385575:6:22"},"nativeSrc":"385575:16:22","nodeType":"YulFunctionCall","src":"385575:16:22"},"nativeSrc":"385575:16:22","nodeType":"YulExpressionStatement","src":"385575:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385611:4:22","nodeType":"YulLiteral","src":"385611:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"385617:2:22","nodeType":"YulIdentifier","src":"385617:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385604:6:22","nodeType":"YulIdentifier","src":"385604:6:22"},"nativeSrc":"385604:16:22","nodeType":"YulFunctionCall","src":"385604:16:22"},"nativeSrc":"385604:16:22","nodeType":"YulExpressionStatement","src":"385604:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385640:4:22","nodeType":"YulLiteral","src":"385640:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"385646:2:22","nodeType":"YulIdentifier","src":"385646:2:22"}],"functionName":{"name":"mstore","nativeSrc":"385633:6:22","nodeType":"YulIdentifier","src":"385633:6:22"},"nativeSrc":"385633:16:22","nodeType":"YulFunctionCall","src":"385633:16:22"},"nativeSrc":"385633:16:22","nodeType":"YulExpressionStatement","src":"385633:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43211,"isOffset":false,"isSlot":false,"src":"385472:2:22","valueSize":1},{"declaration":43214,"isOffset":false,"isSlot":false,"src":"385501:2:22","valueSize":1},{"declaration":43217,"isOffset":false,"isSlot":false,"src":"385530:2:22","valueSize":1},{"declaration":43220,"isOffset":false,"isSlot":false,"src":"385559:2:22","valueSize":1},{"declaration":43223,"isOffset":false,"isSlot":false,"src":"385588:2:22","valueSize":1},{"declaration":43226,"isOffset":false,"isSlot":false,"src":"385617:2:22","valueSize":1},{"declaration":43229,"isOffset":false,"isSlot":false,"src":"385646:2:22","valueSize":1}],"id":43237,"nodeType":"InlineAssembly","src":"385436:223:22"}]},"id":43239,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"384254:3:22","nodeType":"FunctionDefinition","parameters":{"id":43208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43201,"mutability":"mutable","name":"p0","nameLocation":"384266:2:22","nodeType":"VariableDeclaration","scope":43239,"src":"384258:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384258:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43203,"mutability":"mutable","name":"p1","nameLocation":"384278:2:22","nodeType":"VariableDeclaration","scope":43239,"src":"384270:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43202,"name":"uint256","nodeType":"ElementaryTypeName","src":"384270:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43205,"mutability":"mutable","name":"p2","nameLocation":"384287:2:22","nodeType":"VariableDeclaration","scope":43239,"src":"384282:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43204,"name":"bool","nodeType":"ElementaryTypeName","src":"384282:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43207,"mutability":"mutable","name":"p3","nameLocation":"384299:2:22","nodeType":"VariableDeclaration","scope":43239,"src":"384291:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43206,"name":"uint256","nodeType":"ElementaryTypeName","src":"384291:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"384257:45:22"},"returnParameters":{"id":43209,"nodeType":"ParameterList","parameters":[],"src":"384317:0:22"},"scope":44426,"src":"384245:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43284,"nodeType":"Block","src":"385743:1544:22","statements":[{"assignments":[43251],"declarations":[{"constant":false,"id":43251,"mutability":"mutable","name":"m0","nameLocation":"385761:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385753:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385753:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43252,"nodeType":"VariableDeclarationStatement","src":"385753:10:22"},{"assignments":[43254],"declarations":[{"constant":false,"id":43254,"mutability":"mutable","name":"m1","nameLocation":"385781:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385773:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385773:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43255,"nodeType":"VariableDeclarationStatement","src":"385773:10:22"},{"assignments":[43257],"declarations":[{"constant":false,"id":43257,"mutability":"mutable","name":"m2","nameLocation":"385801:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385793:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385793:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43258,"nodeType":"VariableDeclarationStatement","src":"385793:10:22"},{"assignments":[43260],"declarations":[{"constant":false,"id":43260,"mutability":"mutable","name":"m3","nameLocation":"385821:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385813:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385813:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43261,"nodeType":"VariableDeclarationStatement","src":"385813:10:22"},{"assignments":[43263],"declarations":[{"constant":false,"id":43263,"mutability":"mutable","name":"m4","nameLocation":"385841:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385833:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385833:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43264,"nodeType":"VariableDeclarationStatement","src":"385833:10:22"},{"assignments":[43266],"declarations":[{"constant":false,"id":43266,"mutability":"mutable","name":"m5","nameLocation":"385861:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385853:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385853:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43267,"nodeType":"VariableDeclarationStatement","src":"385853:10:22"},{"assignments":[43269],"declarations":[{"constant":false,"id":43269,"mutability":"mutable","name":"m6","nameLocation":"385881:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385873:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385873:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43270,"nodeType":"VariableDeclarationStatement","src":"385873:10:22"},{"assignments":[43272],"declarations":[{"constant":false,"id":43272,"mutability":"mutable","name":"m7","nameLocation":"385901:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385893:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385893:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43273,"nodeType":"VariableDeclarationStatement","src":"385893:10:22"},{"assignments":[43275],"declarations":[{"constant":false,"id":43275,"mutability":"mutable","name":"m8","nameLocation":"385921:2:22","nodeType":"VariableDeclaration","scope":43284,"src":"385913:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385913:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43276,"nodeType":"VariableDeclarationStatement","src":"385913:10:22"},{"AST":{"nativeSrc":"385985:924:22","nodeType":"YulBlock","src":"385985:924:22","statements":[{"body":{"nativeSrc":"386028:313:22","nodeType":"YulBlock","src":"386028:313:22","statements":[{"nativeSrc":"386046:15:22","nodeType":"YulVariableDeclaration","src":"386046:15:22","value":{"kind":"number","nativeSrc":"386060:1:22","nodeType":"YulLiteral","src":"386060:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"386050:6:22","nodeType":"YulTypedName","src":"386050:6:22","type":""}]},{"body":{"nativeSrc":"386131:40:22","nodeType":"YulBlock","src":"386131:40:22","statements":[{"body":{"nativeSrc":"386160:9:22","nodeType":"YulBlock","src":"386160:9:22","statements":[{"nativeSrc":"386162:5:22","nodeType":"YulBreak","src":"386162:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"386148:6:22","nodeType":"YulIdentifier","src":"386148:6:22"},{"name":"w","nativeSrc":"386156:1:22","nodeType":"YulIdentifier","src":"386156:1:22"}],"functionName":{"name":"byte","nativeSrc":"386143:4:22","nodeType":"YulIdentifier","src":"386143:4:22"},"nativeSrc":"386143:15:22","nodeType":"YulFunctionCall","src":"386143:15:22"}],"functionName":{"name":"iszero","nativeSrc":"386136:6:22","nodeType":"YulIdentifier","src":"386136:6:22"},"nativeSrc":"386136:23:22","nodeType":"YulFunctionCall","src":"386136:23:22"},"nativeSrc":"386133:36:22","nodeType":"YulIf","src":"386133:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"386088:6:22","nodeType":"YulIdentifier","src":"386088:6:22"},{"kind":"number","nativeSrc":"386096:4:22","nodeType":"YulLiteral","src":"386096:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"386085:2:22","nodeType":"YulIdentifier","src":"386085:2:22"},"nativeSrc":"386085:16:22","nodeType":"YulFunctionCall","src":"386085:16:22"},"nativeSrc":"386078:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"386102:28:22","nodeType":"YulBlock","src":"386102:28:22","statements":[{"nativeSrc":"386104:24:22","nodeType":"YulAssignment","src":"386104:24:22","value":{"arguments":[{"name":"length","nativeSrc":"386118:6:22","nodeType":"YulIdentifier","src":"386118:6:22"},{"kind":"number","nativeSrc":"386126:1:22","nodeType":"YulLiteral","src":"386126:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"386114:3:22","nodeType":"YulIdentifier","src":"386114:3:22"},"nativeSrc":"386114:14:22","nodeType":"YulFunctionCall","src":"386114:14:22"},"variableNames":[{"name":"length","nativeSrc":"386104:6:22","nodeType":"YulIdentifier","src":"386104:6:22"}]}]},"pre":{"nativeSrc":"386082:2:22","nodeType":"YulBlock","src":"386082:2:22","statements":[]},"src":"386078:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"386195:3:22","nodeType":"YulIdentifier","src":"386195:3:22"},{"name":"length","nativeSrc":"386200:6:22","nodeType":"YulIdentifier","src":"386200:6:22"}],"functionName":{"name":"mstore","nativeSrc":"386188:6:22","nodeType":"YulIdentifier","src":"386188:6:22"},"nativeSrc":"386188:19:22","nodeType":"YulFunctionCall","src":"386188:19:22"},"nativeSrc":"386188:19:22","nodeType":"YulExpressionStatement","src":"386188:19:22"},{"nativeSrc":"386224:37:22","nodeType":"YulVariableDeclaration","src":"386224:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"386241:3:22","nodeType":"YulLiteral","src":"386241:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"386250:1:22","nodeType":"YulLiteral","src":"386250:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"386253:6:22","nodeType":"YulIdentifier","src":"386253:6:22"}],"functionName":{"name":"shl","nativeSrc":"386246:3:22","nodeType":"YulIdentifier","src":"386246:3:22"},"nativeSrc":"386246:14:22","nodeType":"YulFunctionCall","src":"386246:14:22"}],"functionName":{"name":"sub","nativeSrc":"386237:3:22","nodeType":"YulIdentifier","src":"386237:3:22"},"nativeSrc":"386237:24:22","nodeType":"YulFunctionCall","src":"386237:24:22"},"variables":[{"name":"shift","nativeSrc":"386228:5:22","nodeType":"YulTypedName","src":"386228:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"386289:3:22","nodeType":"YulIdentifier","src":"386289:3:22"},{"kind":"number","nativeSrc":"386294:4:22","nodeType":"YulLiteral","src":"386294:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"386285:3:22","nodeType":"YulIdentifier","src":"386285:3:22"},"nativeSrc":"386285:14:22","nodeType":"YulFunctionCall","src":"386285:14:22"},{"arguments":[{"name":"shift","nativeSrc":"386305:5:22","nodeType":"YulIdentifier","src":"386305:5:22"},{"arguments":[{"name":"shift","nativeSrc":"386316:5:22","nodeType":"YulIdentifier","src":"386316:5:22"},{"name":"w","nativeSrc":"386323:1:22","nodeType":"YulIdentifier","src":"386323:1:22"}],"functionName":{"name":"shr","nativeSrc":"386312:3:22","nodeType":"YulIdentifier","src":"386312:3:22"},"nativeSrc":"386312:13:22","nodeType":"YulFunctionCall","src":"386312:13:22"}],"functionName":{"name":"shl","nativeSrc":"386301:3:22","nodeType":"YulIdentifier","src":"386301:3:22"},"nativeSrc":"386301:25:22","nodeType":"YulFunctionCall","src":"386301:25:22"}],"functionName":{"name":"mstore","nativeSrc":"386278:6:22","nodeType":"YulIdentifier","src":"386278:6:22"},"nativeSrc":"386278:49:22","nodeType":"YulFunctionCall","src":"386278:49:22"},"nativeSrc":"386278:49:22","nodeType":"YulExpressionStatement","src":"386278:49:22"}]},"name":"writeString","nativeSrc":"385999:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"386020:3:22","nodeType":"YulTypedName","src":"386020:3:22","type":""},{"name":"w","nativeSrc":"386025:1:22","nodeType":"YulTypedName","src":"386025:1:22","type":""}],"src":"385999:342:22"},{"nativeSrc":"386354:17:22","nodeType":"YulAssignment","src":"386354:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386366:4:22","nodeType":"YulLiteral","src":"386366:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"386360:5:22","nodeType":"YulIdentifier","src":"386360:5:22"},"nativeSrc":"386360:11:22","nodeType":"YulFunctionCall","src":"386360:11:22"},"variableNames":[{"name":"m0","nativeSrc":"386354:2:22","nodeType":"YulIdentifier","src":"386354:2:22"}]},{"nativeSrc":"386384:17:22","nodeType":"YulAssignment","src":"386384:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386396:4:22","nodeType":"YulLiteral","src":"386396:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"386390:5:22","nodeType":"YulIdentifier","src":"386390:5:22"},"nativeSrc":"386390:11:22","nodeType":"YulFunctionCall","src":"386390:11:22"},"variableNames":[{"name":"m1","nativeSrc":"386384:2:22","nodeType":"YulIdentifier","src":"386384:2:22"}]},{"nativeSrc":"386414:17:22","nodeType":"YulAssignment","src":"386414:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386426:4:22","nodeType":"YulLiteral","src":"386426:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"386420:5:22","nodeType":"YulIdentifier","src":"386420:5:22"},"nativeSrc":"386420:11:22","nodeType":"YulFunctionCall","src":"386420:11:22"},"variableNames":[{"name":"m2","nativeSrc":"386414:2:22","nodeType":"YulIdentifier","src":"386414:2:22"}]},{"nativeSrc":"386444:17:22","nodeType":"YulAssignment","src":"386444:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386456:4:22","nodeType":"YulLiteral","src":"386456:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"386450:5:22","nodeType":"YulIdentifier","src":"386450:5:22"},"nativeSrc":"386450:11:22","nodeType":"YulFunctionCall","src":"386450:11:22"},"variableNames":[{"name":"m3","nativeSrc":"386444:2:22","nodeType":"YulIdentifier","src":"386444:2:22"}]},{"nativeSrc":"386474:17:22","nodeType":"YulAssignment","src":"386474:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386486:4:22","nodeType":"YulLiteral","src":"386486:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"386480:5:22","nodeType":"YulIdentifier","src":"386480:5:22"},"nativeSrc":"386480:11:22","nodeType":"YulFunctionCall","src":"386480:11:22"},"variableNames":[{"name":"m4","nativeSrc":"386474:2:22","nodeType":"YulIdentifier","src":"386474:2:22"}]},{"nativeSrc":"386504:17:22","nodeType":"YulAssignment","src":"386504:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386516:4:22","nodeType":"YulLiteral","src":"386516:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"386510:5:22","nodeType":"YulIdentifier","src":"386510:5:22"},"nativeSrc":"386510:11:22","nodeType":"YulFunctionCall","src":"386510:11:22"},"variableNames":[{"name":"m5","nativeSrc":"386504:2:22","nodeType":"YulIdentifier","src":"386504:2:22"}]},{"nativeSrc":"386534:17:22","nodeType":"YulAssignment","src":"386534:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386546:4:22","nodeType":"YulLiteral","src":"386546:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"386540:5:22","nodeType":"YulIdentifier","src":"386540:5:22"},"nativeSrc":"386540:11:22","nodeType":"YulFunctionCall","src":"386540:11:22"},"variableNames":[{"name":"m6","nativeSrc":"386534:2:22","nodeType":"YulIdentifier","src":"386534:2:22"}]},{"nativeSrc":"386564:17:22","nodeType":"YulAssignment","src":"386564:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"386576:4:22","nodeType":"YulLiteral","src":"386576:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"386570:5:22","nodeType":"YulIdentifier","src":"386570:5:22"},"nativeSrc":"386570:11:22","nodeType":"YulFunctionCall","src":"386570:11:22"},"variableNames":[{"name":"m7","nativeSrc":"386564:2:22","nodeType":"YulIdentifier","src":"386564:2:22"}]},{"nativeSrc":"386594:18:22","nodeType":"YulAssignment","src":"386594:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"386606:5:22","nodeType":"YulLiteral","src":"386606:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"386600:5:22","nodeType":"YulIdentifier","src":"386600:5:22"},"nativeSrc":"386600:12:22","nodeType":"YulFunctionCall","src":"386600:12:22"},"variableNames":[{"name":"m8","nativeSrc":"386594:2:22","nodeType":"YulIdentifier","src":"386594:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386694:4:22","nodeType":"YulLiteral","src":"386694:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"386700:10:22","nodeType":"YulLiteral","src":"386700:10:22","type":"","value":"0xabf73a98"}],"functionName":{"name":"mstore","nativeSrc":"386687:6:22","nodeType":"YulIdentifier","src":"386687:6:22"},"nativeSrc":"386687:24:22","nodeType":"YulFunctionCall","src":"386687:24:22"},"nativeSrc":"386687:24:22","nodeType":"YulExpressionStatement","src":"386687:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386731:4:22","nodeType":"YulLiteral","src":"386731:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"386737:4:22","nodeType":"YulLiteral","src":"386737:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"386724:6:22","nodeType":"YulIdentifier","src":"386724:6:22"},"nativeSrc":"386724:18:22","nodeType":"YulFunctionCall","src":"386724:18:22"},"nativeSrc":"386724:18:22","nodeType":"YulExpressionStatement","src":"386724:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386762:4:22","nodeType":"YulLiteral","src":"386762:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"386768:2:22","nodeType":"YulIdentifier","src":"386768:2:22"}],"functionName":{"name":"mstore","nativeSrc":"386755:6:22","nodeType":"YulIdentifier","src":"386755:6:22"},"nativeSrc":"386755:16:22","nodeType":"YulFunctionCall","src":"386755:16:22"},"nativeSrc":"386755:16:22","nodeType":"YulExpressionStatement","src":"386755:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386791:4:22","nodeType":"YulLiteral","src":"386791:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"386797:2:22","nodeType":"YulIdentifier","src":"386797:2:22"}],"functionName":{"name":"mstore","nativeSrc":"386784:6:22","nodeType":"YulIdentifier","src":"386784:6:22"},"nativeSrc":"386784:16:22","nodeType":"YulFunctionCall","src":"386784:16:22"},"nativeSrc":"386784:16:22","nodeType":"YulExpressionStatement","src":"386784:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386820:4:22","nodeType":"YulLiteral","src":"386820:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"386826:4:22","nodeType":"YulLiteral","src":"386826:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"386813:6:22","nodeType":"YulIdentifier","src":"386813:6:22"},"nativeSrc":"386813:18:22","nodeType":"YulFunctionCall","src":"386813:18:22"},"nativeSrc":"386813:18:22","nodeType":"YulExpressionStatement","src":"386813:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386856:4:22","nodeType":"YulLiteral","src":"386856:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"386862:2:22","nodeType":"YulIdentifier","src":"386862:2:22"}],"functionName":{"name":"writeString","nativeSrc":"386844:11:22","nodeType":"YulIdentifier","src":"386844:11:22"},"nativeSrc":"386844:21:22","nodeType":"YulFunctionCall","src":"386844:21:22"},"nativeSrc":"386844:21:22","nodeType":"YulExpressionStatement","src":"386844:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386890:4:22","nodeType":"YulLiteral","src":"386890:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"386896:2:22","nodeType":"YulIdentifier","src":"386896:2:22"}],"functionName":{"name":"writeString","nativeSrc":"386878:11:22","nodeType":"YulIdentifier","src":"386878:11:22"},"nativeSrc":"386878:21:22","nodeType":"YulFunctionCall","src":"386878:21:22"},"nativeSrc":"386878:21:22","nodeType":"YulExpressionStatement","src":"386878:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43251,"isOffset":false,"isSlot":false,"src":"386354:2:22","valueSize":1},{"declaration":43254,"isOffset":false,"isSlot":false,"src":"386384:2:22","valueSize":1},{"declaration":43257,"isOffset":false,"isSlot":false,"src":"386414:2:22","valueSize":1},{"declaration":43260,"isOffset":false,"isSlot":false,"src":"386444:2:22","valueSize":1},{"declaration":43263,"isOffset":false,"isSlot":false,"src":"386474:2:22","valueSize":1},{"declaration":43266,"isOffset":false,"isSlot":false,"src":"386504:2:22","valueSize":1},{"declaration":43269,"isOffset":false,"isSlot":false,"src":"386534:2:22","valueSize":1},{"declaration":43272,"isOffset":false,"isSlot":false,"src":"386564:2:22","valueSize":1},{"declaration":43275,"isOffset":false,"isSlot":false,"src":"386594:2:22","valueSize":1},{"declaration":43241,"isOffset":false,"isSlot":false,"src":"386862:2:22","valueSize":1},{"declaration":43243,"isOffset":false,"isSlot":false,"src":"386768:2:22","valueSize":1},{"declaration":43245,"isOffset":false,"isSlot":false,"src":"386797:2:22","valueSize":1},{"declaration":43247,"isOffset":false,"isSlot":false,"src":"386896:2:22","valueSize":1}],"id":43277,"nodeType":"InlineAssembly","src":"385976:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386934:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386940:5:22","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":43278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"386918:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"386918:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43282,"nodeType":"ExpressionStatement","src":"386918:28:22"},{"AST":{"nativeSrc":"387008:273:22","nodeType":"YulBlock","src":"387008:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"387029:4:22","nodeType":"YulLiteral","src":"387029:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"387035:2:22","nodeType":"YulIdentifier","src":"387035:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387022:6:22","nodeType":"YulIdentifier","src":"387022:6:22"},"nativeSrc":"387022:16:22","nodeType":"YulFunctionCall","src":"387022:16:22"},"nativeSrc":"387022:16:22","nodeType":"YulExpressionStatement","src":"387022:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387058:4:22","nodeType":"YulLiteral","src":"387058:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"387064:2:22","nodeType":"YulIdentifier","src":"387064:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387051:6:22","nodeType":"YulIdentifier","src":"387051:6:22"},"nativeSrc":"387051:16:22","nodeType":"YulFunctionCall","src":"387051:16:22"},"nativeSrc":"387051:16:22","nodeType":"YulExpressionStatement","src":"387051:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387087:4:22","nodeType":"YulLiteral","src":"387087:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"387093:2:22","nodeType":"YulIdentifier","src":"387093:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387080:6:22","nodeType":"YulIdentifier","src":"387080:6:22"},"nativeSrc":"387080:16:22","nodeType":"YulFunctionCall","src":"387080:16:22"},"nativeSrc":"387080:16:22","nodeType":"YulExpressionStatement","src":"387080:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387116:4:22","nodeType":"YulLiteral","src":"387116:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"387122:2:22","nodeType":"YulIdentifier","src":"387122:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387109:6:22","nodeType":"YulIdentifier","src":"387109:6:22"},"nativeSrc":"387109:16:22","nodeType":"YulFunctionCall","src":"387109:16:22"},"nativeSrc":"387109:16:22","nodeType":"YulExpressionStatement","src":"387109:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387145:4:22","nodeType":"YulLiteral","src":"387145:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"387151:2:22","nodeType":"YulIdentifier","src":"387151:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387138:6:22","nodeType":"YulIdentifier","src":"387138:6:22"},"nativeSrc":"387138:16:22","nodeType":"YulFunctionCall","src":"387138:16:22"},"nativeSrc":"387138:16:22","nodeType":"YulExpressionStatement","src":"387138:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387174:4:22","nodeType":"YulLiteral","src":"387174:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"387180:2:22","nodeType":"YulIdentifier","src":"387180:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387167:6:22","nodeType":"YulIdentifier","src":"387167:6:22"},"nativeSrc":"387167:16:22","nodeType":"YulFunctionCall","src":"387167:16:22"},"nativeSrc":"387167:16:22","nodeType":"YulExpressionStatement","src":"387167:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387203:4:22","nodeType":"YulLiteral","src":"387203:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"387209:2:22","nodeType":"YulIdentifier","src":"387209:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387196:6:22","nodeType":"YulIdentifier","src":"387196:6:22"},"nativeSrc":"387196:16:22","nodeType":"YulFunctionCall","src":"387196:16:22"},"nativeSrc":"387196:16:22","nodeType":"YulExpressionStatement","src":"387196:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387232:4:22","nodeType":"YulLiteral","src":"387232:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"387238:2:22","nodeType":"YulIdentifier","src":"387238:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387225:6:22","nodeType":"YulIdentifier","src":"387225:6:22"},"nativeSrc":"387225:16:22","nodeType":"YulFunctionCall","src":"387225:16:22"},"nativeSrc":"387225:16:22","nodeType":"YulExpressionStatement","src":"387225:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387261:5:22","nodeType":"YulLiteral","src":"387261:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"387268:2:22","nodeType":"YulIdentifier","src":"387268:2:22"}],"functionName":{"name":"mstore","nativeSrc":"387254:6:22","nodeType":"YulIdentifier","src":"387254:6:22"},"nativeSrc":"387254:17:22","nodeType":"YulFunctionCall","src":"387254:17:22"},"nativeSrc":"387254:17:22","nodeType":"YulExpressionStatement","src":"387254:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43251,"isOffset":false,"isSlot":false,"src":"387035:2:22","valueSize":1},{"declaration":43254,"isOffset":false,"isSlot":false,"src":"387064:2:22","valueSize":1},{"declaration":43257,"isOffset":false,"isSlot":false,"src":"387093:2:22","valueSize":1},{"declaration":43260,"isOffset":false,"isSlot":false,"src":"387122:2:22","valueSize":1},{"declaration":43263,"isOffset":false,"isSlot":false,"src":"387151:2:22","valueSize":1},{"declaration":43266,"isOffset":false,"isSlot":false,"src":"387180:2:22","valueSize":1},{"declaration":43269,"isOffset":false,"isSlot":false,"src":"387209:2:22","valueSize":1},{"declaration":43272,"isOffset":false,"isSlot":false,"src":"387238:2:22","valueSize":1},{"declaration":43275,"isOffset":false,"isSlot":false,"src":"387268:2:22","valueSize":1}],"id":43283,"nodeType":"InlineAssembly","src":"386999:282:22"}]},"id":43285,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"385680:3:22","nodeType":"FunctionDefinition","parameters":{"id":43248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43241,"mutability":"mutable","name":"p0","nameLocation":"385692:2:22","nodeType":"VariableDeclaration","scope":43285,"src":"385684:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385684:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43243,"mutability":"mutable","name":"p1","nameLocation":"385704:2:22","nodeType":"VariableDeclaration","scope":43285,"src":"385696:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43242,"name":"uint256","nodeType":"ElementaryTypeName","src":"385696:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43245,"mutability":"mutable","name":"p2","nameLocation":"385713:2:22","nodeType":"VariableDeclaration","scope":43285,"src":"385708:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43244,"name":"bool","nodeType":"ElementaryTypeName","src":"385708:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43247,"mutability":"mutable","name":"p3","nameLocation":"385725:2:22","nodeType":"VariableDeclaration","scope":43285,"src":"385717:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385717:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"385683:45:22"},"returnParameters":{"id":43249,"nodeType":"ParameterList","parameters":[],"src":"385743:0:22"},"scope":44426,"src":"385671:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43324,"nodeType":"Block","src":"387368:1351:22","statements":[{"assignments":[43297],"declarations":[{"constant":false,"id":43297,"mutability":"mutable","name":"m0","nameLocation":"387386:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387378:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387378:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43298,"nodeType":"VariableDeclarationStatement","src":"387378:10:22"},{"assignments":[43300],"declarations":[{"constant":false,"id":43300,"mutability":"mutable","name":"m1","nameLocation":"387406:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387398:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387398:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43301,"nodeType":"VariableDeclarationStatement","src":"387398:10:22"},{"assignments":[43303],"declarations":[{"constant":false,"id":43303,"mutability":"mutable","name":"m2","nameLocation":"387426:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387418:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387418:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43304,"nodeType":"VariableDeclarationStatement","src":"387418:10:22"},{"assignments":[43306],"declarations":[{"constant":false,"id":43306,"mutability":"mutable","name":"m3","nameLocation":"387446:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387438:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387438:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43307,"nodeType":"VariableDeclarationStatement","src":"387438:10:22"},{"assignments":[43309],"declarations":[{"constant":false,"id":43309,"mutability":"mutable","name":"m4","nameLocation":"387466:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387458:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387458:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43310,"nodeType":"VariableDeclarationStatement","src":"387458:10:22"},{"assignments":[43312],"declarations":[{"constant":false,"id":43312,"mutability":"mutable","name":"m5","nameLocation":"387486:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387478:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387478:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43313,"nodeType":"VariableDeclarationStatement","src":"387478:10:22"},{"assignments":[43315],"declarations":[{"constant":false,"id":43315,"mutability":"mutable","name":"m6","nameLocation":"387506:2:22","nodeType":"VariableDeclaration","scope":43324,"src":"387498:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387498:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43316,"nodeType":"VariableDeclarationStatement","src":"387498:10:22"},{"AST":{"nativeSrc":"387570:831:22","nodeType":"YulBlock","src":"387570:831:22","statements":[{"body":{"nativeSrc":"387613:313:22","nodeType":"YulBlock","src":"387613:313:22","statements":[{"nativeSrc":"387631:15:22","nodeType":"YulVariableDeclaration","src":"387631:15:22","value":{"kind":"number","nativeSrc":"387645:1:22","nodeType":"YulLiteral","src":"387645:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"387635:6:22","nodeType":"YulTypedName","src":"387635:6:22","type":""}]},{"body":{"nativeSrc":"387716:40:22","nodeType":"YulBlock","src":"387716:40:22","statements":[{"body":{"nativeSrc":"387745:9:22","nodeType":"YulBlock","src":"387745:9:22","statements":[{"nativeSrc":"387747:5:22","nodeType":"YulBreak","src":"387747:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"387733:6:22","nodeType":"YulIdentifier","src":"387733:6:22"},{"name":"w","nativeSrc":"387741:1:22","nodeType":"YulIdentifier","src":"387741:1:22"}],"functionName":{"name":"byte","nativeSrc":"387728:4:22","nodeType":"YulIdentifier","src":"387728:4:22"},"nativeSrc":"387728:15:22","nodeType":"YulFunctionCall","src":"387728:15:22"}],"functionName":{"name":"iszero","nativeSrc":"387721:6:22","nodeType":"YulIdentifier","src":"387721:6:22"},"nativeSrc":"387721:23:22","nodeType":"YulFunctionCall","src":"387721:23:22"},"nativeSrc":"387718:36:22","nodeType":"YulIf","src":"387718:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"387673:6:22","nodeType":"YulIdentifier","src":"387673:6:22"},{"kind":"number","nativeSrc":"387681:4:22","nodeType":"YulLiteral","src":"387681:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"387670:2:22","nodeType":"YulIdentifier","src":"387670:2:22"},"nativeSrc":"387670:16:22","nodeType":"YulFunctionCall","src":"387670:16:22"},"nativeSrc":"387663:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"387687:28:22","nodeType":"YulBlock","src":"387687:28:22","statements":[{"nativeSrc":"387689:24:22","nodeType":"YulAssignment","src":"387689:24:22","value":{"arguments":[{"name":"length","nativeSrc":"387703:6:22","nodeType":"YulIdentifier","src":"387703:6:22"},{"kind":"number","nativeSrc":"387711:1:22","nodeType":"YulLiteral","src":"387711:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"387699:3:22","nodeType":"YulIdentifier","src":"387699:3:22"},"nativeSrc":"387699:14:22","nodeType":"YulFunctionCall","src":"387699:14:22"},"variableNames":[{"name":"length","nativeSrc":"387689:6:22","nodeType":"YulIdentifier","src":"387689:6:22"}]}]},"pre":{"nativeSrc":"387667:2:22","nodeType":"YulBlock","src":"387667:2:22","statements":[]},"src":"387663:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"387780:3:22","nodeType":"YulIdentifier","src":"387780:3:22"},{"name":"length","nativeSrc":"387785:6:22","nodeType":"YulIdentifier","src":"387785:6:22"}],"functionName":{"name":"mstore","nativeSrc":"387773:6:22","nodeType":"YulIdentifier","src":"387773:6:22"},"nativeSrc":"387773:19:22","nodeType":"YulFunctionCall","src":"387773:19:22"},"nativeSrc":"387773:19:22","nodeType":"YulExpressionStatement","src":"387773:19:22"},{"nativeSrc":"387809:37:22","nodeType":"YulVariableDeclaration","src":"387809:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"387826:3:22","nodeType":"YulLiteral","src":"387826:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"387835:1:22","nodeType":"YulLiteral","src":"387835:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"387838:6:22","nodeType":"YulIdentifier","src":"387838:6:22"}],"functionName":{"name":"shl","nativeSrc":"387831:3:22","nodeType":"YulIdentifier","src":"387831:3:22"},"nativeSrc":"387831:14:22","nodeType":"YulFunctionCall","src":"387831:14:22"}],"functionName":{"name":"sub","nativeSrc":"387822:3:22","nodeType":"YulIdentifier","src":"387822:3:22"},"nativeSrc":"387822:24:22","nodeType":"YulFunctionCall","src":"387822:24:22"},"variables":[{"name":"shift","nativeSrc":"387813:5:22","nodeType":"YulTypedName","src":"387813:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"387874:3:22","nodeType":"YulIdentifier","src":"387874:3:22"},{"kind":"number","nativeSrc":"387879:4:22","nodeType":"YulLiteral","src":"387879:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"387870:3:22","nodeType":"YulIdentifier","src":"387870:3:22"},"nativeSrc":"387870:14:22","nodeType":"YulFunctionCall","src":"387870:14:22"},{"arguments":[{"name":"shift","nativeSrc":"387890:5:22","nodeType":"YulIdentifier","src":"387890:5:22"},{"arguments":[{"name":"shift","nativeSrc":"387901:5:22","nodeType":"YulIdentifier","src":"387901:5:22"},{"name":"w","nativeSrc":"387908:1:22","nodeType":"YulIdentifier","src":"387908:1:22"}],"functionName":{"name":"shr","nativeSrc":"387897:3:22","nodeType":"YulIdentifier","src":"387897:3:22"},"nativeSrc":"387897:13:22","nodeType":"YulFunctionCall","src":"387897:13:22"}],"functionName":{"name":"shl","nativeSrc":"387886:3:22","nodeType":"YulIdentifier","src":"387886:3:22"},"nativeSrc":"387886:25:22","nodeType":"YulFunctionCall","src":"387886:25:22"}],"functionName":{"name":"mstore","nativeSrc":"387863:6:22","nodeType":"YulIdentifier","src":"387863:6:22"},"nativeSrc":"387863:49:22","nodeType":"YulFunctionCall","src":"387863:49:22"},"nativeSrc":"387863:49:22","nodeType":"YulExpressionStatement","src":"387863:49:22"}]},"name":"writeString","nativeSrc":"387584:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"387605:3:22","nodeType":"YulTypedName","src":"387605:3:22","type":""},{"name":"w","nativeSrc":"387610:1:22","nodeType":"YulTypedName","src":"387610:1:22","type":""}],"src":"387584:342:22"},{"nativeSrc":"387939:17:22","nodeType":"YulAssignment","src":"387939:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"387951:4:22","nodeType":"YulLiteral","src":"387951:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"387945:5:22","nodeType":"YulIdentifier","src":"387945:5:22"},"nativeSrc":"387945:11:22","nodeType":"YulFunctionCall","src":"387945:11:22"},"variableNames":[{"name":"m0","nativeSrc":"387939:2:22","nodeType":"YulIdentifier","src":"387939:2:22"}]},{"nativeSrc":"387969:17:22","nodeType":"YulAssignment","src":"387969:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"387981:4:22","nodeType":"YulLiteral","src":"387981:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"387975:5:22","nodeType":"YulIdentifier","src":"387975:5:22"},"nativeSrc":"387975:11:22","nodeType":"YulFunctionCall","src":"387975:11:22"},"variableNames":[{"name":"m1","nativeSrc":"387969:2:22","nodeType":"YulIdentifier","src":"387969:2:22"}]},{"nativeSrc":"387999:17:22","nodeType":"YulAssignment","src":"387999:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"388011:4:22","nodeType":"YulLiteral","src":"388011:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"388005:5:22","nodeType":"YulIdentifier","src":"388005:5:22"},"nativeSrc":"388005:11:22","nodeType":"YulFunctionCall","src":"388005:11:22"},"variableNames":[{"name":"m2","nativeSrc":"387999:2:22","nodeType":"YulIdentifier","src":"387999:2:22"}]},{"nativeSrc":"388029:17:22","nodeType":"YulAssignment","src":"388029:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"388041:4:22","nodeType":"YulLiteral","src":"388041:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"388035:5:22","nodeType":"YulIdentifier","src":"388035:5:22"},"nativeSrc":"388035:11:22","nodeType":"YulFunctionCall","src":"388035:11:22"},"variableNames":[{"name":"m3","nativeSrc":"388029:2:22","nodeType":"YulIdentifier","src":"388029:2:22"}]},{"nativeSrc":"388059:17:22","nodeType":"YulAssignment","src":"388059:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"388071:4:22","nodeType":"YulLiteral","src":"388071:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"388065:5:22","nodeType":"YulIdentifier","src":"388065:5:22"},"nativeSrc":"388065:11:22","nodeType":"YulFunctionCall","src":"388065:11:22"},"variableNames":[{"name":"m4","nativeSrc":"388059:2:22","nodeType":"YulIdentifier","src":"388059:2:22"}]},{"nativeSrc":"388089:17:22","nodeType":"YulAssignment","src":"388089:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"388101:4:22","nodeType":"YulLiteral","src":"388101:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"388095:5:22","nodeType":"YulIdentifier","src":"388095:5:22"},"nativeSrc":"388095:11:22","nodeType":"YulFunctionCall","src":"388095:11:22"},"variableNames":[{"name":"m5","nativeSrc":"388089:2:22","nodeType":"YulIdentifier","src":"388089:2:22"}]},{"nativeSrc":"388119:17:22","nodeType":"YulAssignment","src":"388119:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"388131:4:22","nodeType":"YulLiteral","src":"388131:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"388125:5:22","nodeType":"YulIdentifier","src":"388125:5:22"},"nativeSrc":"388125:11:22","nodeType":"YulFunctionCall","src":"388125:11:22"},"variableNames":[{"name":"m6","nativeSrc":"388119:2:22","nodeType":"YulIdentifier","src":"388119:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388222:4:22","nodeType":"YulLiteral","src":"388222:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"388228:10:22","nodeType":"YulLiteral","src":"388228:10:22","type":"","value":"0xe21de278"}],"functionName":{"name":"mstore","nativeSrc":"388215:6:22","nodeType":"YulIdentifier","src":"388215:6:22"},"nativeSrc":"388215:24:22","nodeType":"YulFunctionCall","src":"388215:24:22"},"nativeSrc":"388215:24:22","nodeType":"YulExpressionStatement","src":"388215:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388259:4:22","nodeType":"YulLiteral","src":"388259:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"388265:4:22","nodeType":"YulLiteral","src":"388265:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"388252:6:22","nodeType":"YulIdentifier","src":"388252:6:22"},"nativeSrc":"388252:18:22","nodeType":"YulFunctionCall","src":"388252:18:22"},"nativeSrc":"388252:18:22","nodeType":"YulExpressionStatement","src":"388252:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388290:4:22","nodeType":"YulLiteral","src":"388290:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"388296:2:22","nodeType":"YulIdentifier","src":"388296:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388283:6:22","nodeType":"YulIdentifier","src":"388283:6:22"},"nativeSrc":"388283:16:22","nodeType":"YulFunctionCall","src":"388283:16:22"},"nativeSrc":"388283:16:22","nodeType":"YulExpressionStatement","src":"388283:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388319:4:22","nodeType":"YulLiteral","src":"388319:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"388325:2:22","nodeType":"YulIdentifier","src":"388325:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388312:6:22","nodeType":"YulIdentifier","src":"388312:6:22"},"nativeSrc":"388312:16:22","nodeType":"YulFunctionCall","src":"388312:16:22"},"nativeSrc":"388312:16:22","nodeType":"YulExpressionStatement","src":"388312:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388348:4:22","nodeType":"YulLiteral","src":"388348:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"388354:2:22","nodeType":"YulIdentifier","src":"388354:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388341:6:22","nodeType":"YulIdentifier","src":"388341:6:22"},"nativeSrc":"388341:16:22","nodeType":"YulFunctionCall","src":"388341:16:22"},"nativeSrc":"388341:16:22","nodeType":"YulExpressionStatement","src":"388341:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388382:4:22","nodeType":"YulLiteral","src":"388382:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"388388:2:22","nodeType":"YulIdentifier","src":"388388:2:22"}],"functionName":{"name":"writeString","nativeSrc":"388370:11:22","nodeType":"YulIdentifier","src":"388370:11:22"},"nativeSrc":"388370:21:22","nodeType":"YulFunctionCall","src":"388370:21:22"},"nativeSrc":"388370:21:22","nodeType":"YulExpressionStatement","src":"388370:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43297,"isOffset":false,"isSlot":false,"src":"387939:2:22","valueSize":1},{"declaration":43300,"isOffset":false,"isSlot":false,"src":"387969:2:22","valueSize":1},{"declaration":43303,"isOffset":false,"isSlot":false,"src":"387999:2:22","valueSize":1},{"declaration":43306,"isOffset":false,"isSlot":false,"src":"388029:2:22","valueSize":1},{"declaration":43309,"isOffset":false,"isSlot":false,"src":"388059:2:22","valueSize":1},{"declaration":43312,"isOffset":false,"isSlot":false,"src":"388089:2:22","valueSize":1},{"declaration":43315,"isOffset":false,"isSlot":false,"src":"388119:2:22","valueSize":1},{"declaration":43287,"isOffset":false,"isSlot":false,"src":"388388:2:22","valueSize":1},{"declaration":43289,"isOffset":false,"isSlot":false,"src":"388296:2:22","valueSize":1},{"declaration":43291,"isOffset":false,"isSlot":false,"src":"388325:2:22","valueSize":1},{"declaration":43293,"isOffset":false,"isSlot":false,"src":"388354:2:22","valueSize":1}],"id":43317,"nodeType":"InlineAssembly","src":"387561:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388426:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388432:4:22","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":43318,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"388410:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"388410:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43322,"nodeType":"ExpressionStatement","src":"388410:27:22"},{"AST":{"nativeSrc":"388499:214:22","nodeType":"YulBlock","src":"388499:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"388520:4:22","nodeType":"YulLiteral","src":"388520:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"388526:2:22","nodeType":"YulIdentifier","src":"388526:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388513:6:22","nodeType":"YulIdentifier","src":"388513:6:22"},"nativeSrc":"388513:16:22","nodeType":"YulFunctionCall","src":"388513:16:22"},"nativeSrc":"388513:16:22","nodeType":"YulExpressionStatement","src":"388513:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388549:4:22","nodeType":"YulLiteral","src":"388549:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"388555:2:22","nodeType":"YulIdentifier","src":"388555:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388542:6:22","nodeType":"YulIdentifier","src":"388542:6:22"},"nativeSrc":"388542:16:22","nodeType":"YulFunctionCall","src":"388542:16:22"},"nativeSrc":"388542:16:22","nodeType":"YulExpressionStatement","src":"388542:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388578:4:22","nodeType":"YulLiteral","src":"388578:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"388584:2:22","nodeType":"YulIdentifier","src":"388584:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388571:6:22","nodeType":"YulIdentifier","src":"388571:6:22"},"nativeSrc":"388571:16:22","nodeType":"YulFunctionCall","src":"388571:16:22"},"nativeSrc":"388571:16:22","nodeType":"YulExpressionStatement","src":"388571:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388607:4:22","nodeType":"YulLiteral","src":"388607:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"388613:2:22","nodeType":"YulIdentifier","src":"388613:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388600:6:22","nodeType":"YulIdentifier","src":"388600:6:22"},"nativeSrc":"388600:16:22","nodeType":"YulFunctionCall","src":"388600:16:22"},"nativeSrc":"388600:16:22","nodeType":"YulExpressionStatement","src":"388600:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388636:4:22","nodeType":"YulLiteral","src":"388636:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"388642:2:22","nodeType":"YulIdentifier","src":"388642:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388629:6:22","nodeType":"YulIdentifier","src":"388629:6:22"},"nativeSrc":"388629:16:22","nodeType":"YulFunctionCall","src":"388629:16:22"},"nativeSrc":"388629:16:22","nodeType":"YulExpressionStatement","src":"388629:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388665:4:22","nodeType":"YulLiteral","src":"388665:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"388671:2:22","nodeType":"YulIdentifier","src":"388671:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388658:6:22","nodeType":"YulIdentifier","src":"388658:6:22"},"nativeSrc":"388658:16:22","nodeType":"YulFunctionCall","src":"388658:16:22"},"nativeSrc":"388658:16:22","nodeType":"YulExpressionStatement","src":"388658:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388694:4:22","nodeType":"YulLiteral","src":"388694:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"388700:2:22","nodeType":"YulIdentifier","src":"388700:2:22"}],"functionName":{"name":"mstore","nativeSrc":"388687:6:22","nodeType":"YulIdentifier","src":"388687:6:22"},"nativeSrc":"388687:16:22","nodeType":"YulFunctionCall","src":"388687:16:22"},"nativeSrc":"388687:16:22","nodeType":"YulExpressionStatement","src":"388687:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43297,"isOffset":false,"isSlot":false,"src":"388526:2:22","valueSize":1},{"declaration":43300,"isOffset":false,"isSlot":false,"src":"388555:2:22","valueSize":1},{"declaration":43303,"isOffset":false,"isSlot":false,"src":"388584:2:22","valueSize":1},{"declaration":43306,"isOffset":false,"isSlot":false,"src":"388613:2:22","valueSize":1},{"declaration":43309,"isOffset":false,"isSlot":false,"src":"388642:2:22","valueSize":1},{"declaration":43312,"isOffset":false,"isSlot":false,"src":"388671:2:22","valueSize":1},{"declaration":43315,"isOffset":false,"isSlot":false,"src":"388700:2:22","valueSize":1}],"id":43323,"nodeType":"InlineAssembly","src":"388490:223:22"}]},"id":43325,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"387302:3:22","nodeType":"FunctionDefinition","parameters":{"id":43294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43287,"mutability":"mutable","name":"p0","nameLocation":"387314:2:22","nodeType":"VariableDeclaration","scope":43325,"src":"387306:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387306:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43289,"mutability":"mutable","name":"p1","nameLocation":"387326:2:22","nodeType":"VariableDeclaration","scope":43325,"src":"387318:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43288,"name":"uint256","nodeType":"ElementaryTypeName","src":"387318:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43291,"mutability":"mutable","name":"p2","nameLocation":"387338:2:22","nodeType":"VariableDeclaration","scope":43325,"src":"387330:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43290,"name":"uint256","nodeType":"ElementaryTypeName","src":"387330:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43293,"mutability":"mutable","name":"p3","nameLocation":"387350:2:22","nodeType":"VariableDeclaration","scope":43325,"src":"387342:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43292,"name":"address","nodeType":"ElementaryTypeName","src":"387342:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"387305:48:22"},"returnParameters":{"id":43295,"nodeType":"ParameterList","parameters":[],"src":"387368:0:22"},"scope":44426,"src":"387293:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43364,"nodeType":"Block","src":"388797:1348:22","statements":[{"assignments":[43337],"declarations":[{"constant":false,"id":43337,"mutability":"mutable","name":"m0","nameLocation":"388815:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388807:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388807:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43338,"nodeType":"VariableDeclarationStatement","src":"388807:10:22"},{"assignments":[43340],"declarations":[{"constant":false,"id":43340,"mutability":"mutable","name":"m1","nameLocation":"388835:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388827:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388827:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43341,"nodeType":"VariableDeclarationStatement","src":"388827:10:22"},{"assignments":[43343],"declarations":[{"constant":false,"id":43343,"mutability":"mutable","name":"m2","nameLocation":"388855:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388847:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388847:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43344,"nodeType":"VariableDeclarationStatement","src":"388847:10:22"},{"assignments":[43346],"declarations":[{"constant":false,"id":43346,"mutability":"mutable","name":"m3","nameLocation":"388875:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388867:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388867:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43347,"nodeType":"VariableDeclarationStatement","src":"388867:10:22"},{"assignments":[43349],"declarations":[{"constant":false,"id":43349,"mutability":"mutable","name":"m4","nameLocation":"388895:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388887:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43350,"nodeType":"VariableDeclarationStatement","src":"388887:10:22"},{"assignments":[43352],"declarations":[{"constant":false,"id":43352,"mutability":"mutable","name":"m5","nameLocation":"388915:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388907:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388907:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43353,"nodeType":"VariableDeclarationStatement","src":"388907:10:22"},{"assignments":[43355],"declarations":[{"constant":false,"id":43355,"mutability":"mutable","name":"m6","nameLocation":"388935:2:22","nodeType":"VariableDeclaration","scope":43364,"src":"388927:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388927:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43356,"nodeType":"VariableDeclarationStatement","src":"388927:10:22"},{"AST":{"nativeSrc":"388999:828:22","nodeType":"YulBlock","src":"388999:828:22","statements":[{"body":{"nativeSrc":"389042:313:22","nodeType":"YulBlock","src":"389042:313:22","statements":[{"nativeSrc":"389060:15:22","nodeType":"YulVariableDeclaration","src":"389060:15:22","value":{"kind":"number","nativeSrc":"389074:1:22","nodeType":"YulLiteral","src":"389074:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"389064:6:22","nodeType":"YulTypedName","src":"389064:6:22","type":""}]},{"body":{"nativeSrc":"389145:40:22","nodeType":"YulBlock","src":"389145:40:22","statements":[{"body":{"nativeSrc":"389174:9:22","nodeType":"YulBlock","src":"389174:9:22","statements":[{"nativeSrc":"389176:5:22","nodeType":"YulBreak","src":"389176:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"389162:6:22","nodeType":"YulIdentifier","src":"389162:6:22"},{"name":"w","nativeSrc":"389170:1:22","nodeType":"YulIdentifier","src":"389170:1:22"}],"functionName":{"name":"byte","nativeSrc":"389157:4:22","nodeType":"YulIdentifier","src":"389157:4:22"},"nativeSrc":"389157:15:22","nodeType":"YulFunctionCall","src":"389157:15:22"}],"functionName":{"name":"iszero","nativeSrc":"389150:6:22","nodeType":"YulIdentifier","src":"389150:6:22"},"nativeSrc":"389150:23:22","nodeType":"YulFunctionCall","src":"389150:23:22"},"nativeSrc":"389147:36:22","nodeType":"YulIf","src":"389147:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"389102:6:22","nodeType":"YulIdentifier","src":"389102:6:22"},{"kind":"number","nativeSrc":"389110:4:22","nodeType":"YulLiteral","src":"389110:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"389099:2:22","nodeType":"YulIdentifier","src":"389099:2:22"},"nativeSrc":"389099:16:22","nodeType":"YulFunctionCall","src":"389099:16:22"},"nativeSrc":"389092:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"389116:28:22","nodeType":"YulBlock","src":"389116:28:22","statements":[{"nativeSrc":"389118:24:22","nodeType":"YulAssignment","src":"389118:24:22","value":{"arguments":[{"name":"length","nativeSrc":"389132:6:22","nodeType":"YulIdentifier","src":"389132:6:22"},{"kind":"number","nativeSrc":"389140:1:22","nodeType":"YulLiteral","src":"389140:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"389128:3:22","nodeType":"YulIdentifier","src":"389128:3:22"},"nativeSrc":"389128:14:22","nodeType":"YulFunctionCall","src":"389128:14:22"},"variableNames":[{"name":"length","nativeSrc":"389118:6:22","nodeType":"YulIdentifier","src":"389118:6:22"}]}]},"pre":{"nativeSrc":"389096:2:22","nodeType":"YulBlock","src":"389096:2:22","statements":[]},"src":"389092:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"389209:3:22","nodeType":"YulIdentifier","src":"389209:3:22"},{"name":"length","nativeSrc":"389214:6:22","nodeType":"YulIdentifier","src":"389214:6:22"}],"functionName":{"name":"mstore","nativeSrc":"389202:6:22","nodeType":"YulIdentifier","src":"389202:6:22"},"nativeSrc":"389202:19:22","nodeType":"YulFunctionCall","src":"389202:19:22"},"nativeSrc":"389202:19:22","nodeType":"YulExpressionStatement","src":"389202:19:22"},{"nativeSrc":"389238:37:22","nodeType":"YulVariableDeclaration","src":"389238:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"389255:3:22","nodeType":"YulLiteral","src":"389255:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"389264:1:22","nodeType":"YulLiteral","src":"389264:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"389267:6:22","nodeType":"YulIdentifier","src":"389267:6:22"}],"functionName":{"name":"shl","nativeSrc":"389260:3:22","nodeType":"YulIdentifier","src":"389260:3:22"},"nativeSrc":"389260:14:22","nodeType":"YulFunctionCall","src":"389260:14:22"}],"functionName":{"name":"sub","nativeSrc":"389251:3:22","nodeType":"YulIdentifier","src":"389251:3:22"},"nativeSrc":"389251:24:22","nodeType":"YulFunctionCall","src":"389251:24:22"},"variables":[{"name":"shift","nativeSrc":"389242:5:22","nodeType":"YulTypedName","src":"389242:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"389303:3:22","nodeType":"YulIdentifier","src":"389303:3:22"},{"kind":"number","nativeSrc":"389308:4:22","nodeType":"YulLiteral","src":"389308:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"389299:3:22","nodeType":"YulIdentifier","src":"389299:3:22"},"nativeSrc":"389299:14:22","nodeType":"YulFunctionCall","src":"389299:14:22"},{"arguments":[{"name":"shift","nativeSrc":"389319:5:22","nodeType":"YulIdentifier","src":"389319:5:22"},{"arguments":[{"name":"shift","nativeSrc":"389330:5:22","nodeType":"YulIdentifier","src":"389330:5:22"},{"name":"w","nativeSrc":"389337:1:22","nodeType":"YulIdentifier","src":"389337:1:22"}],"functionName":{"name":"shr","nativeSrc":"389326:3:22","nodeType":"YulIdentifier","src":"389326:3:22"},"nativeSrc":"389326:13:22","nodeType":"YulFunctionCall","src":"389326:13:22"}],"functionName":{"name":"shl","nativeSrc":"389315:3:22","nodeType":"YulIdentifier","src":"389315:3:22"},"nativeSrc":"389315:25:22","nodeType":"YulFunctionCall","src":"389315:25:22"}],"functionName":{"name":"mstore","nativeSrc":"389292:6:22","nodeType":"YulIdentifier","src":"389292:6:22"},"nativeSrc":"389292:49:22","nodeType":"YulFunctionCall","src":"389292:49:22"},"nativeSrc":"389292:49:22","nodeType":"YulExpressionStatement","src":"389292:49:22"}]},"name":"writeString","nativeSrc":"389013:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"389034:3:22","nodeType":"YulTypedName","src":"389034:3:22","type":""},{"name":"w","nativeSrc":"389039:1:22","nodeType":"YulTypedName","src":"389039:1:22","type":""}],"src":"389013:342:22"},{"nativeSrc":"389368:17:22","nodeType":"YulAssignment","src":"389368:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389380:4:22","nodeType":"YulLiteral","src":"389380:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"389374:5:22","nodeType":"YulIdentifier","src":"389374:5:22"},"nativeSrc":"389374:11:22","nodeType":"YulFunctionCall","src":"389374:11:22"},"variableNames":[{"name":"m0","nativeSrc":"389368:2:22","nodeType":"YulIdentifier","src":"389368:2:22"}]},{"nativeSrc":"389398:17:22","nodeType":"YulAssignment","src":"389398:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389410:4:22","nodeType":"YulLiteral","src":"389410:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"389404:5:22","nodeType":"YulIdentifier","src":"389404:5:22"},"nativeSrc":"389404:11:22","nodeType":"YulFunctionCall","src":"389404:11:22"},"variableNames":[{"name":"m1","nativeSrc":"389398:2:22","nodeType":"YulIdentifier","src":"389398:2:22"}]},{"nativeSrc":"389428:17:22","nodeType":"YulAssignment","src":"389428:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389440:4:22","nodeType":"YulLiteral","src":"389440:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"389434:5:22","nodeType":"YulIdentifier","src":"389434:5:22"},"nativeSrc":"389434:11:22","nodeType":"YulFunctionCall","src":"389434:11:22"},"variableNames":[{"name":"m2","nativeSrc":"389428:2:22","nodeType":"YulIdentifier","src":"389428:2:22"}]},{"nativeSrc":"389458:17:22","nodeType":"YulAssignment","src":"389458:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389470:4:22","nodeType":"YulLiteral","src":"389470:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"389464:5:22","nodeType":"YulIdentifier","src":"389464:5:22"},"nativeSrc":"389464:11:22","nodeType":"YulFunctionCall","src":"389464:11:22"},"variableNames":[{"name":"m3","nativeSrc":"389458:2:22","nodeType":"YulIdentifier","src":"389458:2:22"}]},{"nativeSrc":"389488:17:22","nodeType":"YulAssignment","src":"389488:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389500:4:22","nodeType":"YulLiteral","src":"389500:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"389494:5:22","nodeType":"YulIdentifier","src":"389494:5:22"},"nativeSrc":"389494:11:22","nodeType":"YulFunctionCall","src":"389494:11:22"},"variableNames":[{"name":"m4","nativeSrc":"389488:2:22","nodeType":"YulIdentifier","src":"389488:2:22"}]},{"nativeSrc":"389518:17:22","nodeType":"YulAssignment","src":"389518:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389530:4:22","nodeType":"YulLiteral","src":"389530:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"389524:5:22","nodeType":"YulIdentifier","src":"389524:5:22"},"nativeSrc":"389524:11:22","nodeType":"YulFunctionCall","src":"389524:11:22"},"variableNames":[{"name":"m5","nativeSrc":"389518:2:22","nodeType":"YulIdentifier","src":"389518:2:22"}]},{"nativeSrc":"389548:17:22","nodeType":"YulAssignment","src":"389548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"389560:4:22","nodeType":"YulLiteral","src":"389560:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"389554:5:22","nodeType":"YulIdentifier","src":"389554:5:22"},"nativeSrc":"389554:11:22","nodeType":"YulFunctionCall","src":"389554:11:22"},"variableNames":[{"name":"m6","nativeSrc":"389548:2:22","nodeType":"YulIdentifier","src":"389548:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389648:4:22","nodeType":"YulLiteral","src":"389648:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"389654:10:22","nodeType":"YulLiteral","src":"389654:10:22","type":"","value":"0x7626db92"}],"functionName":{"name":"mstore","nativeSrc":"389641:6:22","nodeType":"YulIdentifier","src":"389641:6:22"},"nativeSrc":"389641:24:22","nodeType":"YulFunctionCall","src":"389641:24:22"},"nativeSrc":"389641:24:22","nodeType":"YulExpressionStatement","src":"389641:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389685:4:22","nodeType":"YulLiteral","src":"389685:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"389691:4:22","nodeType":"YulLiteral","src":"389691:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"389678:6:22","nodeType":"YulIdentifier","src":"389678:6:22"},"nativeSrc":"389678:18:22","nodeType":"YulFunctionCall","src":"389678:18:22"},"nativeSrc":"389678:18:22","nodeType":"YulExpressionStatement","src":"389678:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389716:4:22","nodeType":"YulLiteral","src":"389716:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"389722:2:22","nodeType":"YulIdentifier","src":"389722:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389709:6:22","nodeType":"YulIdentifier","src":"389709:6:22"},"nativeSrc":"389709:16:22","nodeType":"YulFunctionCall","src":"389709:16:22"},"nativeSrc":"389709:16:22","nodeType":"YulExpressionStatement","src":"389709:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389745:4:22","nodeType":"YulLiteral","src":"389745:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"389751:2:22","nodeType":"YulIdentifier","src":"389751:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389738:6:22","nodeType":"YulIdentifier","src":"389738:6:22"},"nativeSrc":"389738:16:22","nodeType":"YulFunctionCall","src":"389738:16:22"},"nativeSrc":"389738:16:22","nodeType":"YulExpressionStatement","src":"389738:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389774:4:22","nodeType":"YulLiteral","src":"389774:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"389780:2:22","nodeType":"YulIdentifier","src":"389780:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389767:6:22","nodeType":"YulIdentifier","src":"389767:6:22"},"nativeSrc":"389767:16:22","nodeType":"YulFunctionCall","src":"389767:16:22"},"nativeSrc":"389767:16:22","nodeType":"YulExpressionStatement","src":"389767:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389808:4:22","nodeType":"YulLiteral","src":"389808:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"389814:2:22","nodeType":"YulIdentifier","src":"389814:2:22"}],"functionName":{"name":"writeString","nativeSrc":"389796:11:22","nodeType":"YulIdentifier","src":"389796:11:22"},"nativeSrc":"389796:21:22","nodeType":"YulFunctionCall","src":"389796:21:22"},"nativeSrc":"389796:21:22","nodeType":"YulExpressionStatement","src":"389796:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43337,"isOffset":false,"isSlot":false,"src":"389368:2:22","valueSize":1},{"declaration":43340,"isOffset":false,"isSlot":false,"src":"389398:2:22","valueSize":1},{"declaration":43343,"isOffset":false,"isSlot":false,"src":"389428:2:22","valueSize":1},{"declaration":43346,"isOffset":false,"isSlot":false,"src":"389458:2:22","valueSize":1},{"declaration":43349,"isOffset":false,"isSlot":false,"src":"389488:2:22","valueSize":1},{"declaration":43352,"isOffset":false,"isSlot":false,"src":"389518:2:22","valueSize":1},{"declaration":43355,"isOffset":false,"isSlot":false,"src":"389548:2:22","valueSize":1},{"declaration":43327,"isOffset":false,"isSlot":false,"src":"389814:2:22","valueSize":1},{"declaration":43329,"isOffset":false,"isSlot":false,"src":"389722:2:22","valueSize":1},{"declaration":43331,"isOffset":false,"isSlot":false,"src":"389751:2:22","valueSize":1},{"declaration":43333,"isOffset":false,"isSlot":false,"src":"389780:2:22","valueSize":1}],"id":43357,"nodeType":"InlineAssembly","src":"388990:837:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389852:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389858:4:22","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":43358,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"389836:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"389836:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43362,"nodeType":"ExpressionStatement","src":"389836:27:22"},{"AST":{"nativeSrc":"389925:214:22","nodeType":"YulBlock","src":"389925:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"389946:4:22","nodeType":"YulLiteral","src":"389946:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"389952:2:22","nodeType":"YulIdentifier","src":"389952:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389939:6:22","nodeType":"YulIdentifier","src":"389939:6:22"},"nativeSrc":"389939:16:22","nodeType":"YulFunctionCall","src":"389939:16:22"},"nativeSrc":"389939:16:22","nodeType":"YulExpressionStatement","src":"389939:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389975:4:22","nodeType":"YulLiteral","src":"389975:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"389981:2:22","nodeType":"YulIdentifier","src":"389981:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389968:6:22","nodeType":"YulIdentifier","src":"389968:6:22"},"nativeSrc":"389968:16:22","nodeType":"YulFunctionCall","src":"389968:16:22"},"nativeSrc":"389968:16:22","nodeType":"YulExpressionStatement","src":"389968:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390004:4:22","nodeType":"YulLiteral","src":"390004:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"390010:2:22","nodeType":"YulIdentifier","src":"390010:2:22"}],"functionName":{"name":"mstore","nativeSrc":"389997:6:22","nodeType":"YulIdentifier","src":"389997:6:22"},"nativeSrc":"389997:16:22","nodeType":"YulFunctionCall","src":"389997:16:22"},"nativeSrc":"389997:16:22","nodeType":"YulExpressionStatement","src":"389997:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390033:4:22","nodeType":"YulLiteral","src":"390033:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"390039:2:22","nodeType":"YulIdentifier","src":"390039:2:22"}],"functionName":{"name":"mstore","nativeSrc":"390026:6:22","nodeType":"YulIdentifier","src":"390026:6:22"},"nativeSrc":"390026:16:22","nodeType":"YulFunctionCall","src":"390026:16:22"},"nativeSrc":"390026:16:22","nodeType":"YulExpressionStatement","src":"390026:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390062:4:22","nodeType":"YulLiteral","src":"390062:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"390068:2:22","nodeType":"YulIdentifier","src":"390068:2:22"}],"functionName":{"name":"mstore","nativeSrc":"390055:6:22","nodeType":"YulIdentifier","src":"390055:6:22"},"nativeSrc":"390055:16:22","nodeType":"YulFunctionCall","src":"390055:16:22"},"nativeSrc":"390055:16:22","nodeType":"YulExpressionStatement","src":"390055:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390091:4:22","nodeType":"YulLiteral","src":"390091:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"390097:2:22","nodeType":"YulIdentifier","src":"390097:2:22"}],"functionName":{"name":"mstore","nativeSrc":"390084:6:22","nodeType":"YulIdentifier","src":"390084:6:22"},"nativeSrc":"390084:16:22","nodeType":"YulFunctionCall","src":"390084:16:22"},"nativeSrc":"390084:16:22","nodeType":"YulExpressionStatement","src":"390084:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390120:4:22","nodeType":"YulLiteral","src":"390120:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"390126:2:22","nodeType":"YulIdentifier","src":"390126:2:22"}],"functionName":{"name":"mstore","nativeSrc":"390113:6:22","nodeType":"YulIdentifier","src":"390113:6:22"},"nativeSrc":"390113:16:22","nodeType":"YulFunctionCall","src":"390113:16:22"},"nativeSrc":"390113:16:22","nodeType":"YulExpressionStatement","src":"390113:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43337,"isOffset":false,"isSlot":false,"src":"389952:2:22","valueSize":1},{"declaration":43340,"isOffset":false,"isSlot":false,"src":"389981:2:22","valueSize":1},{"declaration":43343,"isOffset":false,"isSlot":false,"src":"390010:2:22","valueSize":1},{"declaration":43346,"isOffset":false,"isSlot":false,"src":"390039:2:22","valueSize":1},{"declaration":43349,"isOffset":false,"isSlot":false,"src":"390068:2:22","valueSize":1},{"declaration":43352,"isOffset":false,"isSlot":false,"src":"390097:2:22","valueSize":1},{"declaration":43355,"isOffset":false,"isSlot":false,"src":"390126:2:22","valueSize":1}],"id":43363,"nodeType":"InlineAssembly","src":"389916:223:22"}]},"id":43365,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"388734:3:22","nodeType":"FunctionDefinition","parameters":{"id":43334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43327,"mutability":"mutable","name":"p0","nameLocation":"388746:2:22","nodeType":"VariableDeclaration","scope":43365,"src":"388738:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388738:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43329,"mutability":"mutable","name":"p1","nameLocation":"388758:2:22","nodeType":"VariableDeclaration","scope":43365,"src":"388750:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43328,"name":"uint256","nodeType":"ElementaryTypeName","src":"388750:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43331,"mutability":"mutable","name":"p2","nameLocation":"388770:2:22","nodeType":"VariableDeclaration","scope":43365,"src":"388762:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43330,"name":"uint256","nodeType":"ElementaryTypeName","src":"388762:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43333,"mutability":"mutable","name":"p3","nameLocation":"388779:2:22","nodeType":"VariableDeclaration","scope":43365,"src":"388774:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43332,"name":"bool","nodeType":"ElementaryTypeName","src":"388774:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"388737:45:22"},"returnParameters":{"id":43335,"nodeType":"ParameterList","parameters":[],"src":"388797:0:22"},"scope":44426,"src":"388725:1420:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43404,"nodeType":"Block","src":"390226:1351:22","statements":[{"assignments":[43377],"declarations":[{"constant":false,"id":43377,"mutability":"mutable","name":"m0","nameLocation":"390244:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390236:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43378,"nodeType":"VariableDeclarationStatement","src":"390236:10:22"},{"assignments":[43380],"declarations":[{"constant":false,"id":43380,"mutability":"mutable","name":"m1","nameLocation":"390264:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390256:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390256:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43381,"nodeType":"VariableDeclarationStatement","src":"390256:10:22"},{"assignments":[43383],"declarations":[{"constant":false,"id":43383,"mutability":"mutable","name":"m2","nameLocation":"390284:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390276:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390276:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43384,"nodeType":"VariableDeclarationStatement","src":"390276:10:22"},{"assignments":[43386],"declarations":[{"constant":false,"id":43386,"mutability":"mutable","name":"m3","nameLocation":"390304:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390296:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390296:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43387,"nodeType":"VariableDeclarationStatement","src":"390296:10:22"},{"assignments":[43389],"declarations":[{"constant":false,"id":43389,"mutability":"mutable","name":"m4","nameLocation":"390324:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43390,"nodeType":"VariableDeclarationStatement","src":"390316:10:22"},{"assignments":[43392],"declarations":[{"constant":false,"id":43392,"mutability":"mutable","name":"m5","nameLocation":"390344:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43393,"nodeType":"VariableDeclarationStatement","src":"390336:10:22"},{"assignments":[43395],"declarations":[{"constant":false,"id":43395,"mutability":"mutable","name":"m6","nameLocation":"390364:2:22","nodeType":"VariableDeclaration","scope":43404,"src":"390356:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390356:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43396,"nodeType":"VariableDeclarationStatement","src":"390356:10:22"},{"AST":{"nativeSrc":"390428:831:22","nodeType":"YulBlock","src":"390428:831:22","statements":[{"body":{"nativeSrc":"390471:313:22","nodeType":"YulBlock","src":"390471:313:22","statements":[{"nativeSrc":"390489:15:22","nodeType":"YulVariableDeclaration","src":"390489:15:22","value":{"kind":"number","nativeSrc":"390503:1:22","nodeType":"YulLiteral","src":"390503:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"390493:6:22","nodeType":"YulTypedName","src":"390493:6:22","type":""}]},{"body":{"nativeSrc":"390574:40:22","nodeType":"YulBlock","src":"390574:40:22","statements":[{"body":{"nativeSrc":"390603:9:22","nodeType":"YulBlock","src":"390603:9:22","statements":[{"nativeSrc":"390605:5:22","nodeType":"YulBreak","src":"390605:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"390591:6:22","nodeType":"YulIdentifier","src":"390591:6:22"},{"name":"w","nativeSrc":"390599:1:22","nodeType":"YulIdentifier","src":"390599:1:22"}],"functionName":{"name":"byte","nativeSrc":"390586:4:22","nodeType":"YulIdentifier","src":"390586:4:22"},"nativeSrc":"390586:15:22","nodeType":"YulFunctionCall","src":"390586:15:22"}],"functionName":{"name":"iszero","nativeSrc":"390579:6:22","nodeType":"YulIdentifier","src":"390579:6:22"},"nativeSrc":"390579:23:22","nodeType":"YulFunctionCall","src":"390579:23:22"},"nativeSrc":"390576:36:22","nodeType":"YulIf","src":"390576:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"390531:6:22","nodeType":"YulIdentifier","src":"390531:6:22"},{"kind":"number","nativeSrc":"390539:4:22","nodeType":"YulLiteral","src":"390539:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"390528:2:22","nodeType":"YulIdentifier","src":"390528:2:22"},"nativeSrc":"390528:16:22","nodeType":"YulFunctionCall","src":"390528:16:22"},"nativeSrc":"390521:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"390545:28:22","nodeType":"YulBlock","src":"390545:28:22","statements":[{"nativeSrc":"390547:24:22","nodeType":"YulAssignment","src":"390547:24:22","value":{"arguments":[{"name":"length","nativeSrc":"390561:6:22","nodeType":"YulIdentifier","src":"390561:6:22"},{"kind":"number","nativeSrc":"390569:1:22","nodeType":"YulLiteral","src":"390569:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"390557:3:22","nodeType":"YulIdentifier","src":"390557:3:22"},"nativeSrc":"390557:14:22","nodeType":"YulFunctionCall","src":"390557:14:22"},"variableNames":[{"name":"length","nativeSrc":"390547:6:22","nodeType":"YulIdentifier","src":"390547:6:22"}]}]},"pre":{"nativeSrc":"390525:2:22","nodeType":"YulBlock","src":"390525:2:22","statements":[]},"src":"390521:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"390638:3:22","nodeType":"YulIdentifier","src":"390638:3:22"},{"name":"length","nativeSrc":"390643:6:22","nodeType":"YulIdentifier","src":"390643:6:22"}],"functionName":{"name":"mstore","nativeSrc":"390631:6:22","nodeType":"YulIdentifier","src":"390631:6:22"},"nativeSrc":"390631:19:22","nodeType":"YulFunctionCall","src":"390631:19:22"},"nativeSrc":"390631:19:22","nodeType":"YulExpressionStatement","src":"390631:19:22"},{"nativeSrc":"390667:37:22","nodeType":"YulVariableDeclaration","src":"390667:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"390684:3:22","nodeType":"YulLiteral","src":"390684:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"390693:1:22","nodeType":"YulLiteral","src":"390693:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"390696:6:22","nodeType":"YulIdentifier","src":"390696:6:22"}],"functionName":{"name":"shl","nativeSrc":"390689:3:22","nodeType":"YulIdentifier","src":"390689:3:22"},"nativeSrc":"390689:14:22","nodeType":"YulFunctionCall","src":"390689:14:22"}],"functionName":{"name":"sub","nativeSrc":"390680:3:22","nodeType":"YulIdentifier","src":"390680:3:22"},"nativeSrc":"390680:24:22","nodeType":"YulFunctionCall","src":"390680:24:22"},"variables":[{"name":"shift","nativeSrc":"390671:5:22","nodeType":"YulTypedName","src":"390671:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"390732:3:22","nodeType":"YulIdentifier","src":"390732:3:22"},{"kind":"number","nativeSrc":"390737:4:22","nodeType":"YulLiteral","src":"390737:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"390728:3:22","nodeType":"YulIdentifier","src":"390728:3:22"},"nativeSrc":"390728:14:22","nodeType":"YulFunctionCall","src":"390728:14:22"},{"arguments":[{"name":"shift","nativeSrc":"390748:5:22","nodeType":"YulIdentifier","src":"390748:5:22"},{"arguments":[{"name":"shift","nativeSrc":"390759:5:22","nodeType":"YulIdentifier","src":"390759:5:22"},{"name":"w","nativeSrc":"390766:1:22","nodeType":"YulIdentifier","src":"390766:1:22"}],"functionName":{"name":"shr","nativeSrc":"390755:3:22","nodeType":"YulIdentifier","src":"390755:3:22"},"nativeSrc":"390755:13:22","nodeType":"YulFunctionCall","src":"390755:13:22"}],"functionName":{"name":"shl","nativeSrc":"390744:3:22","nodeType":"YulIdentifier","src":"390744:3:22"},"nativeSrc":"390744:25:22","nodeType":"YulFunctionCall","src":"390744:25:22"}],"functionName":{"name":"mstore","nativeSrc":"390721:6:22","nodeType":"YulIdentifier","src":"390721:6:22"},"nativeSrc":"390721:49:22","nodeType":"YulFunctionCall","src":"390721:49:22"},"nativeSrc":"390721:49:22","nodeType":"YulExpressionStatement","src":"390721:49:22"}]},"name":"writeString","nativeSrc":"390442:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"390463:3:22","nodeType":"YulTypedName","src":"390463:3:22","type":""},{"name":"w","nativeSrc":"390468:1:22","nodeType":"YulTypedName","src":"390468:1:22","type":""}],"src":"390442:342:22"},{"nativeSrc":"390797:17:22","nodeType":"YulAssignment","src":"390797:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390809:4:22","nodeType":"YulLiteral","src":"390809:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"390803:5:22","nodeType":"YulIdentifier","src":"390803:5:22"},"nativeSrc":"390803:11:22","nodeType":"YulFunctionCall","src":"390803:11:22"},"variableNames":[{"name":"m0","nativeSrc":"390797:2:22","nodeType":"YulIdentifier","src":"390797:2:22"}]},{"nativeSrc":"390827:17:22","nodeType":"YulAssignment","src":"390827:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390839:4:22","nodeType":"YulLiteral","src":"390839:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"390833:5:22","nodeType":"YulIdentifier","src":"390833:5:22"},"nativeSrc":"390833:11:22","nodeType":"YulFunctionCall","src":"390833:11:22"},"variableNames":[{"name":"m1","nativeSrc":"390827:2:22","nodeType":"YulIdentifier","src":"390827:2:22"}]},{"nativeSrc":"390857:17:22","nodeType":"YulAssignment","src":"390857:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390869:4:22","nodeType":"YulLiteral","src":"390869:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"390863:5:22","nodeType":"YulIdentifier","src":"390863:5:22"},"nativeSrc":"390863:11:22","nodeType":"YulFunctionCall","src":"390863:11:22"},"variableNames":[{"name":"m2","nativeSrc":"390857:2:22","nodeType":"YulIdentifier","src":"390857:2:22"}]},{"nativeSrc":"390887:17:22","nodeType":"YulAssignment","src":"390887:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390899:4:22","nodeType":"YulLiteral","src":"390899:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"390893:5:22","nodeType":"YulIdentifier","src":"390893:5:22"},"nativeSrc":"390893:11:22","nodeType":"YulFunctionCall","src":"390893:11:22"},"variableNames":[{"name":"m3","nativeSrc":"390887:2:22","nodeType":"YulIdentifier","src":"390887:2:22"}]},{"nativeSrc":"390917:17:22","nodeType":"YulAssignment","src":"390917:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390929:4:22","nodeType":"YulLiteral","src":"390929:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"390923:5:22","nodeType":"YulIdentifier","src":"390923:5:22"},"nativeSrc":"390923:11:22","nodeType":"YulFunctionCall","src":"390923:11:22"},"variableNames":[{"name":"m4","nativeSrc":"390917:2:22","nodeType":"YulIdentifier","src":"390917:2:22"}]},{"nativeSrc":"390947:17:22","nodeType":"YulAssignment","src":"390947:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390959:4:22","nodeType":"YulLiteral","src":"390959:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"390953:5:22","nodeType":"YulIdentifier","src":"390953:5:22"},"nativeSrc":"390953:11:22","nodeType":"YulFunctionCall","src":"390953:11:22"},"variableNames":[{"name":"m5","nativeSrc":"390947:2:22","nodeType":"YulIdentifier","src":"390947:2:22"}]},{"nativeSrc":"390977:17:22","nodeType":"YulAssignment","src":"390977:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"390989:4:22","nodeType":"YulLiteral","src":"390989:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"390983:5:22","nodeType":"YulIdentifier","src":"390983:5:22"},"nativeSrc":"390983:11:22","nodeType":"YulFunctionCall","src":"390983:11:22"},"variableNames":[{"name":"m6","nativeSrc":"390977:2:22","nodeType":"YulIdentifier","src":"390977:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391080:4:22","nodeType":"YulLiteral","src":"391080:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"391086:10:22","nodeType":"YulLiteral","src":"391086:10:22","type":"","value":"0xa7a87853"}],"functionName":{"name":"mstore","nativeSrc":"391073:6:22","nodeType":"YulIdentifier","src":"391073:6:22"},"nativeSrc":"391073:24:22","nodeType":"YulFunctionCall","src":"391073:24:22"},"nativeSrc":"391073:24:22","nodeType":"YulExpressionStatement","src":"391073:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391117:4:22","nodeType":"YulLiteral","src":"391117:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"391123:4:22","nodeType":"YulLiteral","src":"391123:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"391110:6:22","nodeType":"YulIdentifier","src":"391110:6:22"},"nativeSrc":"391110:18:22","nodeType":"YulFunctionCall","src":"391110:18:22"},"nativeSrc":"391110:18:22","nodeType":"YulExpressionStatement","src":"391110:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391148:4:22","nodeType":"YulLiteral","src":"391148:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"391154:2:22","nodeType":"YulIdentifier","src":"391154:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391141:6:22","nodeType":"YulIdentifier","src":"391141:6:22"},"nativeSrc":"391141:16:22","nodeType":"YulFunctionCall","src":"391141:16:22"},"nativeSrc":"391141:16:22","nodeType":"YulExpressionStatement","src":"391141:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391177:4:22","nodeType":"YulLiteral","src":"391177:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"391183:2:22","nodeType":"YulIdentifier","src":"391183:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391170:6:22","nodeType":"YulIdentifier","src":"391170:6:22"},"nativeSrc":"391170:16:22","nodeType":"YulFunctionCall","src":"391170:16:22"},"nativeSrc":"391170:16:22","nodeType":"YulExpressionStatement","src":"391170:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391206:4:22","nodeType":"YulLiteral","src":"391206:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"391212:2:22","nodeType":"YulIdentifier","src":"391212:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391199:6:22","nodeType":"YulIdentifier","src":"391199:6:22"},"nativeSrc":"391199:16:22","nodeType":"YulFunctionCall","src":"391199:16:22"},"nativeSrc":"391199:16:22","nodeType":"YulExpressionStatement","src":"391199:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391240:4:22","nodeType":"YulLiteral","src":"391240:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"391246:2:22","nodeType":"YulIdentifier","src":"391246:2:22"}],"functionName":{"name":"writeString","nativeSrc":"391228:11:22","nodeType":"YulIdentifier","src":"391228:11:22"},"nativeSrc":"391228:21:22","nodeType":"YulFunctionCall","src":"391228:21:22"},"nativeSrc":"391228:21:22","nodeType":"YulExpressionStatement","src":"391228:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43377,"isOffset":false,"isSlot":false,"src":"390797:2:22","valueSize":1},{"declaration":43380,"isOffset":false,"isSlot":false,"src":"390827:2:22","valueSize":1},{"declaration":43383,"isOffset":false,"isSlot":false,"src":"390857:2:22","valueSize":1},{"declaration":43386,"isOffset":false,"isSlot":false,"src":"390887:2:22","valueSize":1},{"declaration":43389,"isOffset":false,"isSlot":false,"src":"390917:2:22","valueSize":1},{"declaration":43392,"isOffset":false,"isSlot":false,"src":"390947:2:22","valueSize":1},{"declaration":43395,"isOffset":false,"isSlot":false,"src":"390977:2:22","valueSize":1},{"declaration":43367,"isOffset":false,"isSlot":false,"src":"391246:2:22","valueSize":1},{"declaration":43369,"isOffset":false,"isSlot":false,"src":"391154:2:22","valueSize":1},{"declaration":43371,"isOffset":false,"isSlot":false,"src":"391183:2:22","valueSize":1},{"declaration":43373,"isOffset":false,"isSlot":false,"src":"391212:2:22","valueSize":1}],"id":43397,"nodeType":"InlineAssembly","src":"390419:840:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391284:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":43400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391290:4:22","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":43398,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"391268:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"391268:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43402,"nodeType":"ExpressionStatement","src":"391268:27:22"},{"AST":{"nativeSrc":"391357:214:22","nodeType":"YulBlock","src":"391357:214:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"391378:4:22","nodeType":"YulLiteral","src":"391378:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"391384:2:22","nodeType":"YulIdentifier","src":"391384:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391371:6:22","nodeType":"YulIdentifier","src":"391371:6:22"},"nativeSrc":"391371:16:22","nodeType":"YulFunctionCall","src":"391371:16:22"},"nativeSrc":"391371:16:22","nodeType":"YulExpressionStatement","src":"391371:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391407:4:22","nodeType":"YulLiteral","src":"391407:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"391413:2:22","nodeType":"YulIdentifier","src":"391413:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391400:6:22","nodeType":"YulIdentifier","src":"391400:6:22"},"nativeSrc":"391400:16:22","nodeType":"YulFunctionCall","src":"391400:16:22"},"nativeSrc":"391400:16:22","nodeType":"YulExpressionStatement","src":"391400:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391436:4:22","nodeType":"YulLiteral","src":"391436:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"391442:2:22","nodeType":"YulIdentifier","src":"391442:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391429:6:22","nodeType":"YulIdentifier","src":"391429:6:22"},"nativeSrc":"391429:16:22","nodeType":"YulFunctionCall","src":"391429:16:22"},"nativeSrc":"391429:16:22","nodeType":"YulExpressionStatement","src":"391429:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391465:4:22","nodeType":"YulLiteral","src":"391465:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"391471:2:22","nodeType":"YulIdentifier","src":"391471:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391458:6:22","nodeType":"YulIdentifier","src":"391458:6:22"},"nativeSrc":"391458:16:22","nodeType":"YulFunctionCall","src":"391458:16:22"},"nativeSrc":"391458:16:22","nodeType":"YulExpressionStatement","src":"391458:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391494:4:22","nodeType":"YulLiteral","src":"391494:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"391500:2:22","nodeType":"YulIdentifier","src":"391500:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391487:6:22","nodeType":"YulIdentifier","src":"391487:6:22"},"nativeSrc":"391487:16:22","nodeType":"YulFunctionCall","src":"391487:16:22"},"nativeSrc":"391487:16:22","nodeType":"YulExpressionStatement","src":"391487:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391523:4:22","nodeType":"YulLiteral","src":"391523:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"391529:2:22","nodeType":"YulIdentifier","src":"391529:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391516:6:22","nodeType":"YulIdentifier","src":"391516:6:22"},"nativeSrc":"391516:16:22","nodeType":"YulFunctionCall","src":"391516:16:22"},"nativeSrc":"391516:16:22","nodeType":"YulExpressionStatement","src":"391516:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391552:4:22","nodeType":"YulLiteral","src":"391552:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"391558:2:22","nodeType":"YulIdentifier","src":"391558:2:22"}],"functionName":{"name":"mstore","nativeSrc":"391545:6:22","nodeType":"YulIdentifier","src":"391545:6:22"},"nativeSrc":"391545:16:22","nodeType":"YulFunctionCall","src":"391545:16:22"},"nativeSrc":"391545:16:22","nodeType":"YulExpressionStatement","src":"391545:16:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43377,"isOffset":false,"isSlot":false,"src":"391384:2:22","valueSize":1},{"declaration":43380,"isOffset":false,"isSlot":false,"src":"391413:2:22","valueSize":1},{"declaration":43383,"isOffset":false,"isSlot":false,"src":"391442:2:22","valueSize":1},{"declaration":43386,"isOffset":false,"isSlot":false,"src":"391471:2:22","valueSize":1},{"declaration":43389,"isOffset":false,"isSlot":false,"src":"391500:2:22","valueSize":1},{"declaration":43392,"isOffset":false,"isSlot":false,"src":"391529:2:22","valueSize":1},{"declaration":43395,"isOffset":false,"isSlot":false,"src":"391558:2:22","valueSize":1}],"id":43403,"nodeType":"InlineAssembly","src":"391348:223:22"}]},"id":43405,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"390160:3:22","nodeType":"FunctionDefinition","parameters":{"id":43374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43367,"mutability":"mutable","name":"p0","nameLocation":"390172:2:22","nodeType":"VariableDeclaration","scope":43405,"src":"390164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43366,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43369,"mutability":"mutable","name":"p1","nameLocation":"390184:2:22","nodeType":"VariableDeclaration","scope":43405,"src":"390176:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43368,"name":"uint256","nodeType":"ElementaryTypeName","src":"390176:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43371,"mutability":"mutable","name":"p2","nameLocation":"390196:2:22","nodeType":"VariableDeclaration","scope":43405,"src":"390188:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43370,"name":"uint256","nodeType":"ElementaryTypeName","src":"390188:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43373,"mutability":"mutable","name":"p3","nameLocation":"390208:2:22","nodeType":"VariableDeclaration","scope":43405,"src":"390200:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43372,"name":"uint256","nodeType":"ElementaryTypeName","src":"390200:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"390163:48:22"},"returnParameters":{"id":43375,"nodeType":"ParameterList","parameters":[],"src":"390226:0:22"},"scope":44426,"src":"390151:1426:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43450,"nodeType":"Block","src":"391658:1547:22","statements":[{"assignments":[43417],"declarations":[{"constant":false,"id":43417,"mutability":"mutable","name":"m0","nameLocation":"391676:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391668:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391668:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43418,"nodeType":"VariableDeclarationStatement","src":"391668:10:22"},{"assignments":[43420],"declarations":[{"constant":false,"id":43420,"mutability":"mutable","name":"m1","nameLocation":"391696:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391688:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391688:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43421,"nodeType":"VariableDeclarationStatement","src":"391688:10:22"},{"assignments":[43423],"declarations":[{"constant":false,"id":43423,"mutability":"mutable","name":"m2","nameLocation":"391716:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391708:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391708:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43424,"nodeType":"VariableDeclarationStatement","src":"391708:10:22"},{"assignments":[43426],"declarations":[{"constant":false,"id":43426,"mutability":"mutable","name":"m3","nameLocation":"391736:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391728:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391728:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43427,"nodeType":"VariableDeclarationStatement","src":"391728:10:22"},{"assignments":[43429],"declarations":[{"constant":false,"id":43429,"mutability":"mutable","name":"m4","nameLocation":"391756:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391748:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391748:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43430,"nodeType":"VariableDeclarationStatement","src":"391748:10:22"},{"assignments":[43432],"declarations":[{"constant":false,"id":43432,"mutability":"mutable","name":"m5","nameLocation":"391776:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391768:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391768:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43433,"nodeType":"VariableDeclarationStatement","src":"391768:10:22"},{"assignments":[43435],"declarations":[{"constant":false,"id":43435,"mutability":"mutable","name":"m6","nameLocation":"391796:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391788:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391788:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43436,"nodeType":"VariableDeclarationStatement","src":"391788:10:22"},{"assignments":[43438],"declarations":[{"constant":false,"id":43438,"mutability":"mutable","name":"m7","nameLocation":"391816:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391808:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391808:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43439,"nodeType":"VariableDeclarationStatement","src":"391808:10:22"},{"assignments":[43441],"declarations":[{"constant":false,"id":43441,"mutability":"mutable","name":"m8","nameLocation":"391836:2:22","nodeType":"VariableDeclaration","scope":43450,"src":"391828:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391828:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43442,"nodeType":"VariableDeclarationStatement","src":"391828:10:22"},{"AST":{"nativeSrc":"391900:927:22","nodeType":"YulBlock","src":"391900:927:22","statements":[{"body":{"nativeSrc":"391943:313:22","nodeType":"YulBlock","src":"391943:313:22","statements":[{"nativeSrc":"391961:15:22","nodeType":"YulVariableDeclaration","src":"391961:15:22","value":{"kind":"number","nativeSrc":"391975:1:22","nodeType":"YulLiteral","src":"391975:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"391965:6:22","nodeType":"YulTypedName","src":"391965:6:22","type":""}]},{"body":{"nativeSrc":"392046:40:22","nodeType":"YulBlock","src":"392046:40:22","statements":[{"body":{"nativeSrc":"392075:9:22","nodeType":"YulBlock","src":"392075:9:22","statements":[{"nativeSrc":"392077:5:22","nodeType":"YulBreak","src":"392077:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"392063:6:22","nodeType":"YulIdentifier","src":"392063:6:22"},{"name":"w","nativeSrc":"392071:1:22","nodeType":"YulIdentifier","src":"392071:1:22"}],"functionName":{"name":"byte","nativeSrc":"392058:4:22","nodeType":"YulIdentifier","src":"392058:4:22"},"nativeSrc":"392058:15:22","nodeType":"YulFunctionCall","src":"392058:15:22"}],"functionName":{"name":"iszero","nativeSrc":"392051:6:22","nodeType":"YulIdentifier","src":"392051:6:22"},"nativeSrc":"392051:23:22","nodeType":"YulFunctionCall","src":"392051:23:22"},"nativeSrc":"392048:36:22","nodeType":"YulIf","src":"392048:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"392003:6:22","nodeType":"YulIdentifier","src":"392003:6:22"},{"kind":"number","nativeSrc":"392011:4:22","nodeType":"YulLiteral","src":"392011:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"392000:2:22","nodeType":"YulIdentifier","src":"392000:2:22"},"nativeSrc":"392000:16:22","nodeType":"YulFunctionCall","src":"392000:16:22"},"nativeSrc":"391993:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"392017:28:22","nodeType":"YulBlock","src":"392017:28:22","statements":[{"nativeSrc":"392019:24:22","nodeType":"YulAssignment","src":"392019:24:22","value":{"arguments":[{"name":"length","nativeSrc":"392033:6:22","nodeType":"YulIdentifier","src":"392033:6:22"},{"kind":"number","nativeSrc":"392041:1:22","nodeType":"YulLiteral","src":"392041:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"392029:3:22","nodeType":"YulIdentifier","src":"392029:3:22"},"nativeSrc":"392029:14:22","nodeType":"YulFunctionCall","src":"392029:14:22"},"variableNames":[{"name":"length","nativeSrc":"392019:6:22","nodeType":"YulIdentifier","src":"392019:6:22"}]}]},"pre":{"nativeSrc":"391997:2:22","nodeType":"YulBlock","src":"391997:2:22","statements":[]},"src":"391993:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"392110:3:22","nodeType":"YulIdentifier","src":"392110:3:22"},{"name":"length","nativeSrc":"392115:6:22","nodeType":"YulIdentifier","src":"392115:6:22"}],"functionName":{"name":"mstore","nativeSrc":"392103:6:22","nodeType":"YulIdentifier","src":"392103:6:22"},"nativeSrc":"392103:19:22","nodeType":"YulFunctionCall","src":"392103:19:22"},"nativeSrc":"392103:19:22","nodeType":"YulExpressionStatement","src":"392103:19:22"},{"nativeSrc":"392139:37:22","nodeType":"YulVariableDeclaration","src":"392139:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"392156:3:22","nodeType":"YulLiteral","src":"392156:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"392165:1:22","nodeType":"YulLiteral","src":"392165:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"392168:6:22","nodeType":"YulIdentifier","src":"392168:6:22"}],"functionName":{"name":"shl","nativeSrc":"392161:3:22","nodeType":"YulIdentifier","src":"392161:3:22"},"nativeSrc":"392161:14:22","nodeType":"YulFunctionCall","src":"392161:14:22"}],"functionName":{"name":"sub","nativeSrc":"392152:3:22","nodeType":"YulIdentifier","src":"392152:3:22"},"nativeSrc":"392152:24:22","nodeType":"YulFunctionCall","src":"392152:24:22"},"variables":[{"name":"shift","nativeSrc":"392143:5:22","nodeType":"YulTypedName","src":"392143:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"392204:3:22","nodeType":"YulIdentifier","src":"392204:3:22"},{"kind":"number","nativeSrc":"392209:4:22","nodeType":"YulLiteral","src":"392209:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"392200:3:22","nodeType":"YulIdentifier","src":"392200:3:22"},"nativeSrc":"392200:14:22","nodeType":"YulFunctionCall","src":"392200:14:22"},{"arguments":[{"name":"shift","nativeSrc":"392220:5:22","nodeType":"YulIdentifier","src":"392220:5:22"},{"arguments":[{"name":"shift","nativeSrc":"392231:5:22","nodeType":"YulIdentifier","src":"392231:5:22"},{"name":"w","nativeSrc":"392238:1:22","nodeType":"YulIdentifier","src":"392238:1:22"}],"functionName":{"name":"shr","nativeSrc":"392227:3:22","nodeType":"YulIdentifier","src":"392227:3:22"},"nativeSrc":"392227:13:22","nodeType":"YulFunctionCall","src":"392227:13:22"}],"functionName":{"name":"shl","nativeSrc":"392216:3:22","nodeType":"YulIdentifier","src":"392216:3:22"},"nativeSrc":"392216:25:22","nodeType":"YulFunctionCall","src":"392216:25:22"}],"functionName":{"name":"mstore","nativeSrc":"392193:6:22","nodeType":"YulIdentifier","src":"392193:6:22"},"nativeSrc":"392193:49:22","nodeType":"YulFunctionCall","src":"392193:49:22"},"nativeSrc":"392193:49:22","nodeType":"YulExpressionStatement","src":"392193:49:22"}]},"name":"writeString","nativeSrc":"391914:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"391935:3:22","nodeType":"YulTypedName","src":"391935:3:22","type":""},{"name":"w","nativeSrc":"391940:1:22","nodeType":"YulTypedName","src":"391940:1:22","type":""}],"src":"391914:342:22"},{"nativeSrc":"392269:17:22","nodeType":"YulAssignment","src":"392269:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392281:4:22","nodeType":"YulLiteral","src":"392281:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"392275:5:22","nodeType":"YulIdentifier","src":"392275:5:22"},"nativeSrc":"392275:11:22","nodeType":"YulFunctionCall","src":"392275:11:22"},"variableNames":[{"name":"m0","nativeSrc":"392269:2:22","nodeType":"YulIdentifier","src":"392269:2:22"}]},{"nativeSrc":"392299:17:22","nodeType":"YulAssignment","src":"392299:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392311:4:22","nodeType":"YulLiteral","src":"392311:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"392305:5:22","nodeType":"YulIdentifier","src":"392305:5:22"},"nativeSrc":"392305:11:22","nodeType":"YulFunctionCall","src":"392305:11:22"},"variableNames":[{"name":"m1","nativeSrc":"392299:2:22","nodeType":"YulIdentifier","src":"392299:2:22"}]},{"nativeSrc":"392329:17:22","nodeType":"YulAssignment","src":"392329:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392341:4:22","nodeType":"YulLiteral","src":"392341:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"392335:5:22","nodeType":"YulIdentifier","src":"392335:5:22"},"nativeSrc":"392335:11:22","nodeType":"YulFunctionCall","src":"392335:11:22"},"variableNames":[{"name":"m2","nativeSrc":"392329:2:22","nodeType":"YulIdentifier","src":"392329:2:22"}]},{"nativeSrc":"392359:17:22","nodeType":"YulAssignment","src":"392359:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392371:4:22","nodeType":"YulLiteral","src":"392371:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"392365:5:22","nodeType":"YulIdentifier","src":"392365:5:22"},"nativeSrc":"392365:11:22","nodeType":"YulFunctionCall","src":"392365:11:22"},"variableNames":[{"name":"m3","nativeSrc":"392359:2:22","nodeType":"YulIdentifier","src":"392359:2:22"}]},{"nativeSrc":"392389:17:22","nodeType":"YulAssignment","src":"392389:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392401:4:22","nodeType":"YulLiteral","src":"392401:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"392395:5:22","nodeType":"YulIdentifier","src":"392395:5:22"},"nativeSrc":"392395:11:22","nodeType":"YulFunctionCall","src":"392395:11:22"},"variableNames":[{"name":"m4","nativeSrc":"392389:2:22","nodeType":"YulIdentifier","src":"392389:2:22"}]},{"nativeSrc":"392419:17:22","nodeType":"YulAssignment","src":"392419:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392431:4:22","nodeType":"YulLiteral","src":"392431:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"392425:5:22","nodeType":"YulIdentifier","src":"392425:5:22"},"nativeSrc":"392425:11:22","nodeType":"YulFunctionCall","src":"392425:11:22"},"variableNames":[{"name":"m5","nativeSrc":"392419:2:22","nodeType":"YulIdentifier","src":"392419:2:22"}]},{"nativeSrc":"392449:17:22","nodeType":"YulAssignment","src":"392449:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392461:4:22","nodeType":"YulLiteral","src":"392461:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"392455:5:22","nodeType":"YulIdentifier","src":"392455:5:22"},"nativeSrc":"392455:11:22","nodeType":"YulFunctionCall","src":"392455:11:22"},"variableNames":[{"name":"m6","nativeSrc":"392449:2:22","nodeType":"YulIdentifier","src":"392449:2:22"}]},{"nativeSrc":"392479:17:22","nodeType":"YulAssignment","src":"392479:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"392491:4:22","nodeType":"YulLiteral","src":"392491:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"392485:5:22","nodeType":"YulIdentifier","src":"392485:5:22"},"nativeSrc":"392485:11:22","nodeType":"YulFunctionCall","src":"392485:11:22"},"variableNames":[{"name":"m7","nativeSrc":"392479:2:22","nodeType":"YulIdentifier","src":"392479:2:22"}]},{"nativeSrc":"392509:18:22","nodeType":"YulAssignment","src":"392509:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"392521:5:22","nodeType":"YulLiteral","src":"392521:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"392515:5:22","nodeType":"YulIdentifier","src":"392515:5:22"},"nativeSrc":"392515:12:22","nodeType":"YulFunctionCall","src":"392515:12:22"},"variableNames":[{"name":"m8","nativeSrc":"392509:2:22","nodeType":"YulIdentifier","src":"392509:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392612:4:22","nodeType":"YulLiteral","src":"392612:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"392618:10:22","nodeType":"YulLiteral","src":"392618:10:22","type":"","value":"0x854b3496"}],"functionName":{"name":"mstore","nativeSrc":"392605:6:22","nodeType":"YulIdentifier","src":"392605:6:22"},"nativeSrc":"392605:24:22","nodeType":"YulFunctionCall","src":"392605:24:22"},"nativeSrc":"392605:24:22","nodeType":"YulExpressionStatement","src":"392605:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392649:4:22","nodeType":"YulLiteral","src":"392649:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"392655:4:22","nodeType":"YulLiteral","src":"392655:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"392642:6:22","nodeType":"YulIdentifier","src":"392642:6:22"},"nativeSrc":"392642:18:22","nodeType":"YulFunctionCall","src":"392642:18:22"},"nativeSrc":"392642:18:22","nodeType":"YulExpressionStatement","src":"392642:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392680:4:22","nodeType":"YulLiteral","src":"392680:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"392686:2:22","nodeType":"YulIdentifier","src":"392686:2:22"}],"functionName":{"name":"mstore","nativeSrc":"392673:6:22","nodeType":"YulIdentifier","src":"392673:6:22"},"nativeSrc":"392673:16:22","nodeType":"YulFunctionCall","src":"392673:16:22"},"nativeSrc":"392673:16:22","nodeType":"YulExpressionStatement","src":"392673:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392709:4:22","nodeType":"YulLiteral","src":"392709:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"392715:2:22","nodeType":"YulIdentifier","src":"392715:2:22"}],"functionName":{"name":"mstore","nativeSrc":"392702:6:22","nodeType":"YulIdentifier","src":"392702:6:22"},"nativeSrc":"392702:16:22","nodeType":"YulFunctionCall","src":"392702:16:22"},"nativeSrc":"392702:16:22","nodeType":"YulExpressionStatement","src":"392702:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392738:4:22","nodeType":"YulLiteral","src":"392738:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"392744:4:22","nodeType":"YulLiteral","src":"392744:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"392731:6:22","nodeType":"YulIdentifier","src":"392731:6:22"},"nativeSrc":"392731:18:22","nodeType":"YulFunctionCall","src":"392731:18:22"},"nativeSrc":"392731:18:22","nodeType":"YulExpressionStatement","src":"392731:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392774:4:22","nodeType":"YulLiteral","src":"392774:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"392780:2:22","nodeType":"YulIdentifier","src":"392780:2:22"}],"functionName":{"name":"writeString","nativeSrc":"392762:11:22","nodeType":"YulIdentifier","src":"392762:11:22"},"nativeSrc":"392762:21:22","nodeType":"YulFunctionCall","src":"392762:21:22"},"nativeSrc":"392762:21:22","nodeType":"YulExpressionStatement","src":"392762:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392808:4:22","nodeType":"YulLiteral","src":"392808:4:22","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"392814:2:22","nodeType":"YulIdentifier","src":"392814:2:22"}],"functionName":{"name":"writeString","nativeSrc":"392796:11:22","nodeType":"YulIdentifier","src":"392796:11:22"},"nativeSrc":"392796:21:22","nodeType":"YulFunctionCall","src":"392796:21:22"},"nativeSrc":"392796:21:22","nodeType":"YulExpressionStatement","src":"392796:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43417,"isOffset":false,"isSlot":false,"src":"392269:2:22","valueSize":1},{"declaration":43420,"isOffset":false,"isSlot":false,"src":"392299:2:22","valueSize":1},{"declaration":43423,"isOffset":false,"isSlot":false,"src":"392329:2:22","valueSize":1},{"declaration":43426,"isOffset":false,"isSlot":false,"src":"392359:2:22","valueSize":1},{"declaration":43429,"isOffset":false,"isSlot":false,"src":"392389:2:22","valueSize":1},{"declaration":43432,"isOffset":false,"isSlot":false,"src":"392419:2:22","valueSize":1},{"declaration":43435,"isOffset":false,"isSlot":false,"src":"392449:2:22","valueSize":1},{"declaration":43438,"isOffset":false,"isSlot":false,"src":"392479:2:22","valueSize":1},{"declaration":43441,"isOffset":false,"isSlot":false,"src":"392509:2:22","valueSize":1},{"declaration":43407,"isOffset":false,"isSlot":false,"src":"392780:2:22","valueSize":1},{"declaration":43409,"isOffset":false,"isSlot":false,"src":"392686:2:22","valueSize":1},{"declaration":43411,"isOffset":false,"isSlot":false,"src":"392715:2:22","valueSize":1},{"declaration":43413,"isOffset":false,"isSlot":false,"src":"392814:2:22","valueSize":1}],"id":43443,"nodeType":"InlineAssembly","src":"391891:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392852:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392858:5:22","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":43444,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"392836:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"392836:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43448,"nodeType":"ExpressionStatement","src":"392836:28:22"},{"AST":{"nativeSrc":"392926:273:22","nodeType":"YulBlock","src":"392926:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"392947:4:22","nodeType":"YulLiteral","src":"392947:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"392953:2:22","nodeType":"YulIdentifier","src":"392953:2:22"}],"functionName":{"name":"mstore","nativeSrc":"392940:6:22","nodeType":"YulIdentifier","src":"392940:6:22"},"nativeSrc":"392940:16:22","nodeType":"YulFunctionCall","src":"392940:16:22"},"nativeSrc":"392940:16:22","nodeType":"YulExpressionStatement","src":"392940:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392976:4:22","nodeType":"YulLiteral","src":"392976:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"392982:2:22","nodeType":"YulIdentifier","src":"392982:2:22"}],"functionName":{"name":"mstore","nativeSrc":"392969:6:22","nodeType":"YulIdentifier","src":"392969:6:22"},"nativeSrc":"392969:16:22","nodeType":"YulFunctionCall","src":"392969:16:22"},"nativeSrc":"392969:16:22","nodeType":"YulExpressionStatement","src":"392969:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393005:4:22","nodeType":"YulLiteral","src":"393005:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"393011:2:22","nodeType":"YulIdentifier","src":"393011:2:22"}],"functionName":{"name":"mstore","nativeSrc":"392998:6:22","nodeType":"YulIdentifier","src":"392998:6:22"},"nativeSrc":"392998:16:22","nodeType":"YulFunctionCall","src":"392998:16:22"},"nativeSrc":"392998:16:22","nodeType":"YulExpressionStatement","src":"392998:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393034:4:22","nodeType":"YulLiteral","src":"393034:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"393040:2:22","nodeType":"YulIdentifier","src":"393040:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393027:6:22","nodeType":"YulIdentifier","src":"393027:6:22"},"nativeSrc":"393027:16:22","nodeType":"YulFunctionCall","src":"393027:16:22"},"nativeSrc":"393027:16:22","nodeType":"YulExpressionStatement","src":"393027:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393063:4:22","nodeType":"YulLiteral","src":"393063:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"393069:2:22","nodeType":"YulIdentifier","src":"393069:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393056:6:22","nodeType":"YulIdentifier","src":"393056:6:22"},"nativeSrc":"393056:16:22","nodeType":"YulFunctionCall","src":"393056:16:22"},"nativeSrc":"393056:16:22","nodeType":"YulExpressionStatement","src":"393056:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393092:4:22","nodeType":"YulLiteral","src":"393092:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"393098:2:22","nodeType":"YulIdentifier","src":"393098:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393085:6:22","nodeType":"YulIdentifier","src":"393085:6:22"},"nativeSrc":"393085:16:22","nodeType":"YulFunctionCall","src":"393085:16:22"},"nativeSrc":"393085:16:22","nodeType":"YulExpressionStatement","src":"393085:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393121:4:22","nodeType":"YulLiteral","src":"393121:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"393127:2:22","nodeType":"YulIdentifier","src":"393127:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393114:6:22","nodeType":"YulIdentifier","src":"393114:6:22"},"nativeSrc":"393114:16:22","nodeType":"YulFunctionCall","src":"393114:16:22"},"nativeSrc":"393114:16:22","nodeType":"YulExpressionStatement","src":"393114:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393150:4:22","nodeType":"YulLiteral","src":"393150:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"393156:2:22","nodeType":"YulIdentifier","src":"393156:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393143:6:22","nodeType":"YulIdentifier","src":"393143:6:22"},"nativeSrc":"393143:16:22","nodeType":"YulFunctionCall","src":"393143:16:22"},"nativeSrc":"393143:16:22","nodeType":"YulExpressionStatement","src":"393143:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393179:5:22","nodeType":"YulLiteral","src":"393179:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"393186:2:22","nodeType":"YulIdentifier","src":"393186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"393172:6:22","nodeType":"YulIdentifier","src":"393172:6:22"},"nativeSrc":"393172:17:22","nodeType":"YulFunctionCall","src":"393172:17:22"},"nativeSrc":"393172:17:22","nodeType":"YulExpressionStatement","src":"393172:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43417,"isOffset":false,"isSlot":false,"src":"392953:2:22","valueSize":1},{"declaration":43420,"isOffset":false,"isSlot":false,"src":"392982:2:22","valueSize":1},{"declaration":43423,"isOffset":false,"isSlot":false,"src":"393011:2:22","valueSize":1},{"declaration":43426,"isOffset":false,"isSlot":false,"src":"393040:2:22","valueSize":1},{"declaration":43429,"isOffset":false,"isSlot":false,"src":"393069:2:22","valueSize":1},{"declaration":43432,"isOffset":false,"isSlot":false,"src":"393098:2:22","valueSize":1},{"declaration":43435,"isOffset":false,"isSlot":false,"src":"393127:2:22","valueSize":1},{"declaration":43438,"isOffset":false,"isSlot":false,"src":"393156:2:22","valueSize":1},{"declaration":43441,"isOffset":false,"isSlot":false,"src":"393186:2:22","valueSize":1}],"id":43449,"nodeType":"InlineAssembly","src":"392917:282:22"}]},"id":43451,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"391592:3:22","nodeType":"FunctionDefinition","parameters":{"id":43414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43407,"mutability":"mutable","name":"p0","nameLocation":"391604:2:22","nodeType":"VariableDeclaration","scope":43451,"src":"391596:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391596:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43409,"mutability":"mutable","name":"p1","nameLocation":"391616:2:22","nodeType":"VariableDeclaration","scope":43451,"src":"391608:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43408,"name":"uint256","nodeType":"ElementaryTypeName","src":"391608:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43411,"mutability":"mutable","name":"p2","nameLocation":"391628:2:22","nodeType":"VariableDeclaration","scope":43451,"src":"391620:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43410,"name":"uint256","nodeType":"ElementaryTypeName","src":"391620:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43413,"mutability":"mutable","name":"p3","nameLocation":"391640:2:22","nodeType":"VariableDeclaration","scope":43451,"src":"391632:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391632:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"391595:48:22"},"returnParameters":{"id":43415,"nodeType":"ParameterList","parameters":[],"src":"391658:0:22"},"scope":44426,"src":"391583:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43496,"nodeType":"Block","src":"393286:1547:22","statements":[{"assignments":[43463],"declarations":[{"constant":false,"id":43463,"mutability":"mutable","name":"m0","nameLocation":"393304:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393296:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393296:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43464,"nodeType":"VariableDeclarationStatement","src":"393296:10:22"},{"assignments":[43466],"declarations":[{"constant":false,"id":43466,"mutability":"mutable","name":"m1","nameLocation":"393324:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393316:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393316:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43467,"nodeType":"VariableDeclarationStatement","src":"393316:10:22"},{"assignments":[43469],"declarations":[{"constant":false,"id":43469,"mutability":"mutable","name":"m2","nameLocation":"393344:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43470,"nodeType":"VariableDeclarationStatement","src":"393336:10:22"},{"assignments":[43472],"declarations":[{"constant":false,"id":43472,"mutability":"mutable","name":"m3","nameLocation":"393364:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393356:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393356:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43473,"nodeType":"VariableDeclarationStatement","src":"393356:10:22"},{"assignments":[43475],"declarations":[{"constant":false,"id":43475,"mutability":"mutable","name":"m4","nameLocation":"393384:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393376:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393376:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43476,"nodeType":"VariableDeclarationStatement","src":"393376:10:22"},{"assignments":[43478],"declarations":[{"constant":false,"id":43478,"mutability":"mutable","name":"m5","nameLocation":"393404:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43479,"nodeType":"VariableDeclarationStatement","src":"393396:10:22"},{"assignments":[43481],"declarations":[{"constant":false,"id":43481,"mutability":"mutable","name":"m6","nameLocation":"393424:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393416:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393416:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43482,"nodeType":"VariableDeclarationStatement","src":"393416:10:22"},{"assignments":[43484],"declarations":[{"constant":false,"id":43484,"mutability":"mutable","name":"m7","nameLocation":"393444:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393436:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393436:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43485,"nodeType":"VariableDeclarationStatement","src":"393436:10:22"},{"assignments":[43487],"declarations":[{"constant":false,"id":43487,"mutability":"mutable","name":"m8","nameLocation":"393464:2:22","nodeType":"VariableDeclaration","scope":43496,"src":"393456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43488,"nodeType":"VariableDeclarationStatement","src":"393456:10:22"},{"AST":{"nativeSrc":"393528:927:22","nodeType":"YulBlock","src":"393528:927:22","statements":[{"body":{"nativeSrc":"393571:313:22","nodeType":"YulBlock","src":"393571:313:22","statements":[{"nativeSrc":"393589:15:22","nodeType":"YulVariableDeclaration","src":"393589:15:22","value":{"kind":"number","nativeSrc":"393603:1:22","nodeType":"YulLiteral","src":"393603:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"393593:6:22","nodeType":"YulTypedName","src":"393593:6:22","type":""}]},{"body":{"nativeSrc":"393674:40:22","nodeType":"YulBlock","src":"393674:40:22","statements":[{"body":{"nativeSrc":"393703:9:22","nodeType":"YulBlock","src":"393703:9:22","statements":[{"nativeSrc":"393705:5:22","nodeType":"YulBreak","src":"393705:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"393691:6:22","nodeType":"YulIdentifier","src":"393691:6:22"},{"name":"w","nativeSrc":"393699:1:22","nodeType":"YulIdentifier","src":"393699:1:22"}],"functionName":{"name":"byte","nativeSrc":"393686:4:22","nodeType":"YulIdentifier","src":"393686:4:22"},"nativeSrc":"393686:15:22","nodeType":"YulFunctionCall","src":"393686:15:22"}],"functionName":{"name":"iszero","nativeSrc":"393679:6:22","nodeType":"YulIdentifier","src":"393679:6:22"},"nativeSrc":"393679:23:22","nodeType":"YulFunctionCall","src":"393679:23:22"},"nativeSrc":"393676:36:22","nodeType":"YulIf","src":"393676:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"393631:6:22","nodeType":"YulIdentifier","src":"393631:6:22"},{"kind":"number","nativeSrc":"393639:4:22","nodeType":"YulLiteral","src":"393639:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"393628:2:22","nodeType":"YulIdentifier","src":"393628:2:22"},"nativeSrc":"393628:16:22","nodeType":"YulFunctionCall","src":"393628:16:22"},"nativeSrc":"393621:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"393645:28:22","nodeType":"YulBlock","src":"393645:28:22","statements":[{"nativeSrc":"393647:24:22","nodeType":"YulAssignment","src":"393647:24:22","value":{"arguments":[{"name":"length","nativeSrc":"393661:6:22","nodeType":"YulIdentifier","src":"393661:6:22"},{"kind":"number","nativeSrc":"393669:1:22","nodeType":"YulLiteral","src":"393669:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"393657:3:22","nodeType":"YulIdentifier","src":"393657:3:22"},"nativeSrc":"393657:14:22","nodeType":"YulFunctionCall","src":"393657:14:22"},"variableNames":[{"name":"length","nativeSrc":"393647:6:22","nodeType":"YulIdentifier","src":"393647:6:22"}]}]},"pre":{"nativeSrc":"393625:2:22","nodeType":"YulBlock","src":"393625:2:22","statements":[]},"src":"393621:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"393738:3:22","nodeType":"YulIdentifier","src":"393738:3:22"},{"name":"length","nativeSrc":"393743:6:22","nodeType":"YulIdentifier","src":"393743:6:22"}],"functionName":{"name":"mstore","nativeSrc":"393731:6:22","nodeType":"YulIdentifier","src":"393731:6:22"},"nativeSrc":"393731:19:22","nodeType":"YulFunctionCall","src":"393731:19:22"},"nativeSrc":"393731:19:22","nodeType":"YulExpressionStatement","src":"393731:19:22"},{"nativeSrc":"393767:37:22","nodeType":"YulVariableDeclaration","src":"393767:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"393784:3:22","nodeType":"YulLiteral","src":"393784:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"393793:1:22","nodeType":"YulLiteral","src":"393793:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"393796:6:22","nodeType":"YulIdentifier","src":"393796:6:22"}],"functionName":{"name":"shl","nativeSrc":"393789:3:22","nodeType":"YulIdentifier","src":"393789:3:22"},"nativeSrc":"393789:14:22","nodeType":"YulFunctionCall","src":"393789:14:22"}],"functionName":{"name":"sub","nativeSrc":"393780:3:22","nodeType":"YulIdentifier","src":"393780:3:22"},"nativeSrc":"393780:24:22","nodeType":"YulFunctionCall","src":"393780:24:22"},"variables":[{"name":"shift","nativeSrc":"393771:5:22","nodeType":"YulTypedName","src":"393771:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"393832:3:22","nodeType":"YulIdentifier","src":"393832:3:22"},{"kind":"number","nativeSrc":"393837:4:22","nodeType":"YulLiteral","src":"393837:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"393828:3:22","nodeType":"YulIdentifier","src":"393828:3:22"},"nativeSrc":"393828:14:22","nodeType":"YulFunctionCall","src":"393828:14:22"},{"arguments":[{"name":"shift","nativeSrc":"393848:5:22","nodeType":"YulIdentifier","src":"393848:5:22"},{"arguments":[{"name":"shift","nativeSrc":"393859:5:22","nodeType":"YulIdentifier","src":"393859:5:22"},{"name":"w","nativeSrc":"393866:1:22","nodeType":"YulIdentifier","src":"393866:1:22"}],"functionName":{"name":"shr","nativeSrc":"393855:3:22","nodeType":"YulIdentifier","src":"393855:3:22"},"nativeSrc":"393855:13:22","nodeType":"YulFunctionCall","src":"393855:13:22"}],"functionName":{"name":"shl","nativeSrc":"393844:3:22","nodeType":"YulIdentifier","src":"393844:3:22"},"nativeSrc":"393844:25:22","nodeType":"YulFunctionCall","src":"393844:25:22"}],"functionName":{"name":"mstore","nativeSrc":"393821:6:22","nodeType":"YulIdentifier","src":"393821:6:22"},"nativeSrc":"393821:49:22","nodeType":"YulFunctionCall","src":"393821:49:22"},"nativeSrc":"393821:49:22","nodeType":"YulExpressionStatement","src":"393821:49:22"}]},"name":"writeString","nativeSrc":"393542:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"393563:3:22","nodeType":"YulTypedName","src":"393563:3:22","type":""},{"name":"w","nativeSrc":"393568:1:22","nodeType":"YulTypedName","src":"393568:1:22","type":""}],"src":"393542:342:22"},{"nativeSrc":"393897:17:22","nodeType":"YulAssignment","src":"393897:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"393909:4:22","nodeType":"YulLiteral","src":"393909:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"393903:5:22","nodeType":"YulIdentifier","src":"393903:5:22"},"nativeSrc":"393903:11:22","nodeType":"YulFunctionCall","src":"393903:11:22"},"variableNames":[{"name":"m0","nativeSrc":"393897:2:22","nodeType":"YulIdentifier","src":"393897:2:22"}]},{"nativeSrc":"393927:17:22","nodeType":"YulAssignment","src":"393927:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"393939:4:22","nodeType":"YulLiteral","src":"393939:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"393933:5:22","nodeType":"YulIdentifier","src":"393933:5:22"},"nativeSrc":"393933:11:22","nodeType":"YulFunctionCall","src":"393933:11:22"},"variableNames":[{"name":"m1","nativeSrc":"393927:2:22","nodeType":"YulIdentifier","src":"393927:2:22"}]},{"nativeSrc":"393957:17:22","nodeType":"YulAssignment","src":"393957:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"393969:4:22","nodeType":"YulLiteral","src":"393969:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"393963:5:22","nodeType":"YulIdentifier","src":"393963:5:22"},"nativeSrc":"393963:11:22","nodeType":"YulFunctionCall","src":"393963:11:22"},"variableNames":[{"name":"m2","nativeSrc":"393957:2:22","nodeType":"YulIdentifier","src":"393957:2:22"}]},{"nativeSrc":"393987:17:22","nodeType":"YulAssignment","src":"393987:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"393999:4:22","nodeType":"YulLiteral","src":"393999:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"393993:5:22","nodeType":"YulIdentifier","src":"393993:5:22"},"nativeSrc":"393993:11:22","nodeType":"YulFunctionCall","src":"393993:11:22"},"variableNames":[{"name":"m3","nativeSrc":"393987:2:22","nodeType":"YulIdentifier","src":"393987:2:22"}]},{"nativeSrc":"394017:17:22","nodeType":"YulAssignment","src":"394017:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"394029:4:22","nodeType":"YulLiteral","src":"394029:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"394023:5:22","nodeType":"YulIdentifier","src":"394023:5:22"},"nativeSrc":"394023:11:22","nodeType":"YulFunctionCall","src":"394023:11:22"},"variableNames":[{"name":"m4","nativeSrc":"394017:2:22","nodeType":"YulIdentifier","src":"394017:2:22"}]},{"nativeSrc":"394047:17:22","nodeType":"YulAssignment","src":"394047:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"394059:4:22","nodeType":"YulLiteral","src":"394059:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"394053:5:22","nodeType":"YulIdentifier","src":"394053:5:22"},"nativeSrc":"394053:11:22","nodeType":"YulFunctionCall","src":"394053:11:22"},"variableNames":[{"name":"m5","nativeSrc":"394047:2:22","nodeType":"YulIdentifier","src":"394047:2:22"}]},{"nativeSrc":"394077:17:22","nodeType":"YulAssignment","src":"394077:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"394089:4:22","nodeType":"YulLiteral","src":"394089:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"394083:5:22","nodeType":"YulIdentifier","src":"394083:5:22"},"nativeSrc":"394083:11:22","nodeType":"YulFunctionCall","src":"394083:11:22"},"variableNames":[{"name":"m6","nativeSrc":"394077:2:22","nodeType":"YulIdentifier","src":"394077:2:22"}]},{"nativeSrc":"394107:17:22","nodeType":"YulAssignment","src":"394107:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"394119:4:22","nodeType":"YulLiteral","src":"394119:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"394113:5:22","nodeType":"YulIdentifier","src":"394113:5:22"},"nativeSrc":"394113:11:22","nodeType":"YulFunctionCall","src":"394113:11:22"},"variableNames":[{"name":"m7","nativeSrc":"394107:2:22","nodeType":"YulIdentifier","src":"394107:2:22"}]},{"nativeSrc":"394137:18:22","nodeType":"YulAssignment","src":"394137:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"394149:5:22","nodeType":"YulLiteral","src":"394149:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"394143:5:22","nodeType":"YulIdentifier","src":"394143:5:22"},"nativeSrc":"394143:12:22","nodeType":"YulFunctionCall","src":"394143:12:22"},"variableNames":[{"name":"m8","nativeSrc":"394137:2:22","nodeType":"YulIdentifier","src":"394137:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394240:4:22","nodeType":"YulLiteral","src":"394240:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"394246:10:22","nodeType":"YulLiteral","src":"394246:10:22","type":"","value":"0x7c4632a4"}],"functionName":{"name":"mstore","nativeSrc":"394233:6:22","nodeType":"YulIdentifier","src":"394233:6:22"},"nativeSrc":"394233:24:22","nodeType":"YulFunctionCall","src":"394233:24:22"},"nativeSrc":"394233:24:22","nodeType":"YulExpressionStatement","src":"394233:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394277:4:22","nodeType":"YulLiteral","src":"394277:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"394283:4:22","nodeType":"YulLiteral","src":"394283:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"394270:6:22","nodeType":"YulIdentifier","src":"394270:6:22"},"nativeSrc":"394270:18:22","nodeType":"YulFunctionCall","src":"394270:18:22"},"nativeSrc":"394270:18:22","nodeType":"YulExpressionStatement","src":"394270:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394308:4:22","nodeType":"YulLiteral","src":"394308:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"394314:2:22","nodeType":"YulIdentifier","src":"394314:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394301:6:22","nodeType":"YulIdentifier","src":"394301:6:22"},"nativeSrc":"394301:16:22","nodeType":"YulFunctionCall","src":"394301:16:22"},"nativeSrc":"394301:16:22","nodeType":"YulExpressionStatement","src":"394301:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394337:4:22","nodeType":"YulLiteral","src":"394337:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"394343:4:22","nodeType":"YulLiteral","src":"394343:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"394330:6:22","nodeType":"YulIdentifier","src":"394330:6:22"},"nativeSrc":"394330:18:22","nodeType":"YulFunctionCall","src":"394330:18:22"},"nativeSrc":"394330:18:22","nodeType":"YulExpressionStatement","src":"394330:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394368:4:22","nodeType":"YulLiteral","src":"394368:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"394374:2:22","nodeType":"YulIdentifier","src":"394374:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394361:6:22","nodeType":"YulIdentifier","src":"394361:6:22"},"nativeSrc":"394361:16:22","nodeType":"YulFunctionCall","src":"394361:16:22"},"nativeSrc":"394361:16:22","nodeType":"YulExpressionStatement","src":"394361:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394402:4:22","nodeType":"YulLiteral","src":"394402:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"394408:2:22","nodeType":"YulIdentifier","src":"394408:2:22"}],"functionName":{"name":"writeString","nativeSrc":"394390:11:22","nodeType":"YulIdentifier","src":"394390:11:22"},"nativeSrc":"394390:21:22","nodeType":"YulFunctionCall","src":"394390:21:22"},"nativeSrc":"394390:21:22","nodeType":"YulExpressionStatement","src":"394390:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394436:4:22","nodeType":"YulLiteral","src":"394436:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"394442:2:22","nodeType":"YulIdentifier","src":"394442:2:22"}],"functionName":{"name":"writeString","nativeSrc":"394424:11:22","nodeType":"YulIdentifier","src":"394424:11:22"},"nativeSrc":"394424:21:22","nodeType":"YulFunctionCall","src":"394424:21:22"},"nativeSrc":"394424:21:22","nodeType":"YulExpressionStatement","src":"394424:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43463,"isOffset":false,"isSlot":false,"src":"393897:2:22","valueSize":1},{"declaration":43466,"isOffset":false,"isSlot":false,"src":"393927:2:22","valueSize":1},{"declaration":43469,"isOffset":false,"isSlot":false,"src":"393957:2:22","valueSize":1},{"declaration":43472,"isOffset":false,"isSlot":false,"src":"393987:2:22","valueSize":1},{"declaration":43475,"isOffset":false,"isSlot":false,"src":"394017:2:22","valueSize":1},{"declaration":43478,"isOffset":false,"isSlot":false,"src":"394047:2:22","valueSize":1},{"declaration":43481,"isOffset":false,"isSlot":false,"src":"394077:2:22","valueSize":1},{"declaration":43484,"isOffset":false,"isSlot":false,"src":"394107:2:22","valueSize":1},{"declaration":43487,"isOffset":false,"isSlot":false,"src":"394137:2:22","valueSize":1},{"declaration":43453,"isOffset":false,"isSlot":false,"src":"394408:2:22","valueSize":1},{"declaration":43455,"isOffset":false,"isSlot":false,"src":"394314:2:22","valueSize":1},{"declaration":43457,"isOffset":false,"isSlot":false,"src":"394442:2:22","valueSize":1},{"declaration":43459,"isOffset":false,"isSlot":false,"src":"394374:2:22","valueSize":1}],"id":43489,"nodeType":"InlineAssembly","src":"393519:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394480:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394486:5:22","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":43490,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"394464:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"394464:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43494,"nodeType":"ExpressionStatement","src":"394464:28:22"},{"AST":{"nativeSrc":"394554:273:22","nodeType":"YulBlock","src":"394554:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"394575:4:22","nodeType":"YulLiteral","src":"394575:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"394581:2:22","nodeType":"YulIdentifier","src":"394581:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394568:6:22","nodeType":"YulIdentifier","src":"394568:6:22"},"nativeSrc":"394568:16:22","nodeType":"YulFunctionCall","src":"394568:16:22"},"nativeSrc":"394568:16:22","nodeType":"YulExpressionStatement","src":"394568:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394604:4:22","nodeType":"YulLiteral","src":"394604:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"394610:2:22","nodeType":"YulIdentifier","src":"394610:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394597:6:22","nodeType":"YulIdentifier","src":"394597:6:22"},"nativeSrc":"394597:16:22","nodeType":"YulFunctionCall","src":"394597:16:22"},"nativeSrc":"394597:16:22","nodeType":"YulExpressionStatement","src":"394597:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394633:4:22","nodeType":"YulLiteral","src":"394633:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"394639:2:22","nodeType":"YulIdentifier","src":"394639:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394626:6:22","nodeType":"YulIdentifier","src":"394626:6:22"},"nativeSrc":"394626:16:22","nodeType":"YulFunctionCall","src":"394626:16:22"},"nativeSrc":"394626:16:22","nodeType":"YulExpressionStatement","src":"394626:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394662:4:22","nodeType":"YulLiteral","src":"394662:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"394668:2:22","nodeType":"YulIdentifier","src":"394668:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394655:6:22","nodeType":"YulIdentifier","src":"394655:6:22"},"nativeSrc":"394655:16:22","nodeType":"YulFunctionCall","src":"394655:16:22"},"nativeSrc":"394655:16:22","nodeType":"YulExpressionStatement","src":"394655:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394691:4:22","nodeType":"YulLiteral","src":"394691:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"394697:2:22","nodeType":"YulIdentifier","src":"394697:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394684:6:22","nodeType":"YulIdentifier","src":"394684:6:22"},"nativeSrc":"394684:16:22","nodeType":"YulFunctionCall","src":"394684:16:22"},"nativeSrc":"394684:16:22","nodeType":"YulExpressionStatement","src":"394684:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394720:4:22","nodeType":"YulLiteral","src":"394720:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"394726:2:22","nodeType":"YulIdentifier","src":"394726:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394713:6:22","nodeType":"YulIdentifier","src":"394713:6:22"},"nativeSrc":"394713:16:22","nodeType":"YulFunctionCall","src":"394713:16:22"},"nativeSrc":"394713:16:22","nodeType":"YulExpressionStatement","src":"394713:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394749:4:22","nodeType":"YulLiteral","src":"394749:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"394755:2:22","nodeType":"YulIdentifier","src":"394755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394742:6:22","nodeType":"YulIdentifier","src":"394742:6:22"},"nativeSrc":"394742:16:22","nodeType":"YulFunctionCall","src":"394742:16:22"},"nativeSrc":"394742:16:22","nodeType":"YulExpressionStatement","src":"394742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394778:4:22","nodeType":"YulLiteral","src":"394778:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"394784:2:22","nodeType":"YulIdentifier","src":"394784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394771:6:22","nodeType":"YulIdentifier","src":"394771:6:22"},"nativeSrc":"394771:16:22","nodeType":"YulFunctionCall","src":"394771:16:22"},"nativeSrc":"394771:16:22","nodeType":"YulExpressionStatement","src":"394771:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394807:5:22","nodeType":"YulLiteral","src":"394807:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"394814:2:22","nodeType":"YulIdentifier","src":"394814:2:22"}],"functionName":{"name":"mstore","nativeSrc":"394800:6:22","nodeType":"YulIdentifier","src":"394800:6:22"},"nativeSrc":"394800:17:22","nodeType":"YulFunctionCall","src":"394800:17:22"},"nativeSrc":"394800:17:22","nodeType":"YulExpressionStatement","src":"394800:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43463,"isOffset":false,"isSlot":false,"src":"394581:2:22","valueSize":1},{"declaration":43466,"isOffset":false,"isSlot":false,"src":"394610:2:22","valueSize":1},{"declaration":43469,"isOffset":false,"isSlot":false,"src":"394639:2:22","valueSize":1},{"declaration":43472,"isOffset":false,"isSlot":false,"src":"394668:2:22","valueSize":1},{"declaration":43475,"isOffset":false,"isSlot":false,"src":"394697:2:22","valueSize":1},{"declaration":43478,"isOffset":false,"isSlot":false,"src":"394726:2:22","valueSize":1},{"declaration":43481,"isOffset":false,"isSlot":false,"src":"394755:2:22","valueSize":1},{"declaration":43484,"isOffset":false,"isSlot":false,"src":"394784:2:22","valueSize":1},{"declaration":43487,"isOffset":false,"isSlot":false,"src":"394814:2:22","valueSize":1}],"id":43495,"nodeType":"InlineAssembly","src":"394545:282:22"}]},"id":43497,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"393220:3:22","nodeType":"FunctionDefinition","parameters":{"id":43460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43453,"mutability":"mutable","name":"p0","nameLocation":"393232:2:22","nodeType":"VariableDeclaration","scope":43497,"src":"393224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43455,"mutability":"mutable","name":"p1","nameLocation":"393244:2:22","nodeType":"VariableDeclaration","scope":43497,"src":"393236:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43454,"name":"uint256","nodeType":"ElementaryTypeName","src":"393236:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43457,"mutability":"mutable","name":"p2","nameLocation":"393256:2:22","nodeType":"VariableDeclaration","scope":43497,"src":"393248:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393248:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43459,"mutability":"mutable","name":"p3","nameLocation":"393268:2:22","nodeType":"VariableDeclaration","scope":43497,"src":"393260:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43458,"name":"address","nodeType":"ElementaryTypeName","src":"393260:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"393223:48:22"},"returnParameters":{"id":43461,"nodeType":"ParameterList","parameters":[],"src":"393286:0:22"},"scope":44426,"src":"393211:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43542,"nodeType":"Block","src":"394911:1544:22","statements":[{"assignments":[43509],"declarations":[{"constant":false,"id":43509,"mutability":"mutable","name":"m0","nameLocation":"394929:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"394921:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394921:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43510,"nodeType":"VariableDeclarationStatement","src":"394921:10:22"},{"assignments":[43512],"declarations":[{"constant":false,"id":43512,"mutability":"mutable","name":"m1","nameLocation":"394949:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"394941:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394941:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43513,"nodeType":"VariableDeclarationStatement","src":"394941:10:22"},{"assignments":[43515],"declarations":[{"constant":false,"id":43515,"mutability":"mutable","name":"m2","nameLocation":"394969:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"394961:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394961:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43516,"nodeType":"VariableDeclarationStatement","src":"394961:10:22"},{"assignments":[43518],"declarations":[{"constant":false,"id":43518,"mutability":"mutable","name":"m3","nameLocation":"394989:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"394981:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394981:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43519,"nodeType":"VariableDeclarationStatement","src":"394981:10:22"},{"assignments":[43521],"declarations":[{"constant":false,"id":43521,"mutability":"mutable","name":"m4","nameLocation":"395009:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"395001:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43520,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395001:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43522,"nodeType":"VariableDeclarationStatement","src":"395001:10:22"},{"assignments":[43524],"declarations":[{"constant":false,"id":43524,"mutability":"mutable","name":"m5","nameLocation":"395029:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"395021:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395021:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43525,"nodeType":"VariableDeclarationStatement","src":"395021:10:22"},{"assignments":[43527],"declarations":[{"constant":false,"id":43527,"mutability":"mutable","name":"m6","nameLocation":"395049:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"395041:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395041:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43528,"nodeType":"VariableDeclarationStatement","src":"395041:10:22"},{"assignments":[43530],"declarations":[{"constant":false,"id":43530,"mutability":"mutable","name":"m7","nameLocation":"395069:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"395061:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395061:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43531,"nodeType":"VariableDeclarationStatement","src":"395061:10:22"},{"assignments":[43533],"declarations":[{"constant":false,"id":43533,"mutability":"mutable","name":"m8","nameLocation":"395089:2:22","nodeType":"VariableDeclaration","scope":43542,"src":"395081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395081:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43534,"nodeType":"VariableDeclarationStatement","src":"395081:10:22"},{"AST":{"nativeSrc":"395153:924:22","nodeType":"YulBlock","src":"395153:924:22","statements":[{"body":{"nativeSrc":"395196:313:22","nodeType":"YulBlock","src":"395196:313:22","statements":[{"nativeSrc":"395214:15:22","nodeType":"YulVariableDeclaration","src":"395214:15:22","value":{"kind":"number","nativeSrc":"395228:1:22","nodeType":"YulLiteral","src":"395228:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"395218:6:22","nodeType":"YulTypedName","src":"395218:6:22","type":""}]},{"body":{"nativeSrc":"395299:40:22","nodeType":"YulBlock","src":"395299:40:22","statements":[{"body":{"nativeSrc":"395328:9:22","nodeType":"YulBlock","src":"395328:9:22","statements":[{"nativeSrc":"395330:5:22","nodeType":"YulBreak","src":"395330:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"395316:6:22","nodeType":"YulIdentifier","src":"395316:6:22"},{"name":"w","nativeSrc":"395324:1:22","nodeType":"YulIdentifier","src":"395324:1:22"}],"functionName":{"name":"byte","nativeSrc":"395311:4:22","nodeType":"YulIdentifier","src":"395311:4:22"},"nativeSrc":"395311:15:22","nodeType":"YulFunctionCall","src":"395311:15:22"}],"functionName":{"name":"iszero","nativeSrc":"395304:6:22","nodeType":"YulIdentifier","src":"395304:6:22"},"nativeSrc":"395304:23:22","nodeType":"YulFunctionCall","src":"395304:23:22"},"nativeSrc":"395301:36:22","nodeType":"YulIf","src":"395301:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"395256:6:22","nodeType":"YulIdentifier","src":"395256:6:22"},{"kind":"number","nativeSrc":"395264:4:22","nodeType":"YulLiteral","src":"395264:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"395253:2:22","nodeType":"YulIdentifier","src":"395253:2:22"},"nativeSrc":"395253:16:22","nodeType":"YulFunctionCall","src":"395253:16:22"},"nativeSrc":"395246:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"395270:28:22","nodeType":"YulBlock","src":"395270:28:22","statements":[{"nativeSrc":"395272:24:22","nodeType":"YulAssignment","src":"395272:24:22","value":{"arguments":[{"name":"length","nativeSrc":"395286:6:22","nodeType":"YulIdentifier","src":"395286:6:22"},{"kind":"number","nativeSrc":"395294:1:22","nodeType":"YulLiteral","src":"395294:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"395282:3:22","nodeType":"YulIdentifier","src":"395282:3:22"},"nativeSrc":"395282:14:22","nodeType":"YulFunctionCall","src":"395282:14:22"},"variableNames":[{"name":"length","nativeSrc":"395272:6:22","nodeType":"YulIdentifier","src":"395272:6:22"}]}]},"pre":{"nativeSrc":"395250:2:22","nodeType":"YulBlock","src":"395250:2:22","statements":[]},"src":"395246:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"395363:3:22","nodeType":"YulIdentifier","src":"395363:3:22"},{"name":"length","nativeSrc":"395368:6:22","nodeType":"YulIdentifier","src":"395368:6:22"}],"functionName":{"name":"mstore","nativeSrc":"395356:6:22","nodeType":"YulIdentifier","src":"395356:6:22"},"nativeSrc":"395356:19:22","nodeType":"YulFunctionCall","src":"395356:19:22"},"nativeSrc":"395356:19:22","nodeType":"YulExpressionStatement","src":"395356:19:22"},{"nativeSrc":"395392:37:22","nodeType":"YulVariableDeclaration","src":"395392:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"395409:3:22","nodeType":"YulLiteral","src":"395409:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"395418:1:22","nodeType":"YulLiteral","src":"395418:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"395421:6:22","nodeType":"YulIdentifier","src":"395421:6:22"}],"functionName":{"name":"shl","nativeSrc":"395414:3:22","nodeType":"YulIdentifier","src":"395414:3:22"},"nativeSrc":"395414:14:22","nodeType":"YulFunctionCall","src":"395414:14:22"}],"functionName":{"name":"sub","nativeSrc":"395405:3:22","nodeType":"YulIdentifier","src":"395405:3:22"},"nativeSrc":"395405:24:22","nodeType":"YulFunctionCall","src":"395405:24:22"},"variables":[{"name":"shift","nativeSrc":"395396:5:22","nodeType":"YulTypedName","src":"395396:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"395457:3:22","nodeType":"YulIdentifier","src":"395457:3:22"},{"kind":"number","nativeSrc":"395462:4:22","nodeType":"YulLiteral","src":"395462:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"395453:3:22","nodeType":"YulIdentifier","src":"395453:3:22"},"nativeSrc":"395453:14:22","nodeType":"YulFunctionCall","src":"395453:14:22"},{"arguments":[{"name":"shift","nativeSrc":"395473:5:22","nodeType":"YulIdentifier","src":"395473:5:22"},{"arguments":[{"name":"shift","nativeSrc":"395484:5:22","nodeType":"YulIdentifier","src":"395484:5:22"},{"name":"w","nativeSrc":"395491:1:22","nodeType":"YulIdentifier","src":"395491:1:22"}],"functionName":{"name":"shr","nativeSrc":"395480:3:22","nodeType":"YulIdentifier","src":"395480:3:22"},"nativeSrc":"395480:13:22","nodeType":"YulFunctionCall","src":"395480:13:22"}],"functionName":{"name":"shl","nativeSrc":"395469:3:22","nodeType":"YulIdentifier","src":"395469:3:22"},"nativeSrc":"395469:25:22","nodeType":"YulFunctionCall","src":"395469:25:22"}],"functionName":{"name":"mstore","nativeSrc":"395446:6:22","nodeType":"YulIdentifier","src":"395446:6:22"},"nativeSrc":"395446:49:22","nodeType":"YulFunctionCall","src":"395446:49:22"},"nativeSrc":"395446:49:22","nodeType":"YulExpressionStatement","src":"395446:49:22"}]},"name":"writeString","nativeSrc":"395167:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"395188:3:22","nodeType":"YulTypedName","src":"395188:3:22","type":""},{"name":"w","nativeSrc":"395193:1:22","nodeType":"YulTypedName","src":"395193:1:22","type":""}],"src":"395167:342:22"},{"nativeSrc":"395522:17:22","nodeType":"YulAssignment","src":"395522:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395534:4:22","nodeType":"YulLiteral","src":"395534:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"395528:5:22","nodeType":"YulIdentifier","src":"395528:5:22"},"nativeSrc":"395528:11:22","nodeType":"YulFunctionCall","src":"395528:11:22"},"variableNames":[{"name":"m0","nativeSrc":"395522:2:22","nodeType":"YulIdentifier","src":"395522:2:22"}]},{"nativeSrc":"395552:17:22","nodeType":"YulAssignment","src":"395552:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395564:4:22","nodeType":"YulLiteral","src":"395564:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"395558:5:22","nodeType":"YulIdentifier","src":"395558:5:22"},"nativeSrc":"395558:11:22","nodeType":"YulFunctionCall","src":"395558:11:22"},"variableNames":[{"name":"m1","nativeSrc":"395552:2:22","nodeType":"YulIdentifier","src":"395552:2:22"}]},{"nativeSrc":"395582:17:22","nodeType":"YulAssignment","src":"395582:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395594:4:22","nodeType":"YulLiteral","src":"395594:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"395588:5:22","nodeType":"YulIdentifier","src":"395588:5:22"},"nativeSrc":"395588:11:22","nodeType":"YulFunctionCall","src":"395588:11:22"},"variableNames":[{"name":"m2","nativeSrc":"395582:2:22","nodeType":"YulIdentifier","src":"395582:2:22"}]},{"nativeSrc":"395612:17:22","nodeType":"YulAssignment","src":"395612:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395624:4:22","nodeType":"YulLiteral","src":"395624:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"395618:5:22","nodeType":"YulIdentifier","src":"395618:5:22"},"nativeSrc":"395618:11:22","nodeType":"YulFunctionCall","src":"395618:11:22"},"variableNames":[{"name":"m3","nativeSrc":"395612:2:22","nodeType":"YulIdentifier","src":"395612:2:22"}]},{"nativeSrc":"395642:17:22","nodeType":"YulAssignment","src":"395642:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395654:4:22","nodeType":"YulLiteral","src":"395654:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"395648:5:22","nodeType":"YulIdentifier","src":"395648:5:22"},"nativeSrc":"395648:11:22","nodeType":"YulFunctionCall","src":"395648:11:22"},"variableNames":[{"name":"m4","nativeSrc":"395642:2:22","nodeType":"YulIdentifier","src":"395642:2:22"}]},{"nativeSrc":"395672:17:22","nodeType":"YulAssignment","src":"395672:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395684:4:22","nodeType":"YulLiteral","src":"395684:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"395678:5:22","nodeType":"YulIdentifier","src":"395678:5:22"},"nativeSrc":"395678:11:22","nodeType":"YulFunctionCall","src":"395678:11:22"},"variableNames":[{"name":"m5","nativeSrc":"395672:2:22","nodeType":"YulIdentifier","src":"395672:2:22"}]},{"nativeSrc":"395702:17:22","nodeType":"YulAssignment","src":"395702:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395714:4:22","nodeType":"YulLiteral","src":"395714:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"395708:5:22","nodeType":"YulIdentifier","src":"395708:5:22"},"nativeSrc":"395708:11:22","nodeType":"YulFunctionCall","src":"395708:11:22"},"variableNames":[{"name":"m6","nativeSrc":"395702:2:22","nodeType":"YulIdentifier","src":"395702:2:22"}]},{"nativeSrc":"395732:17:22","nodeType":"YulAssignment","src":"395732:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"395744:4:22","nodeType":"YulLiteral","src":"395744:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"395738:5:22","nodeType":"YulIdentifier","src":"395738:5:22"},"nativeSrc":"395738:11:22","nodeType":"YulFunctionCall","src":"395738:11:22"},"variableNames":[{"name":"m7","nativeSrc":"395732:2:22","nodeType":"YulIdentifier","src":"395732:2:22"}]},{"nativeSrc":"395762:18:22","nodeType":"YulAssignment","src":"395762:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"395774:5:22","nodeType":"YulLiteral","src":"395774:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"395768:5:22","nodeType":"YulIdentifier","src":"395768:5:22"},"nativeSrc":"395768:12:22","nodeType":"YulFunctionCall","src":"395768:12:22"},"variableNames":[{"name":"m8","nativeSrc":"395762:2:22","nodeType":"YulIdentifier","src":"395762:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395862:4:22","nodeType":"YulLiteral","src":"395862:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"395868:10:22","nodeType":"YulLiteral","src":"395868:10:22","type":"","value":"0x7d24491d"}],"functionName":{"name":"mstore","nativeSrc":"395855:6:22","nodeType":"YulIdentifier","src":"395855:6:22"},"nativeSrc":"395855:24:22","nodeType":"YulFunctionCall","src":"395855:24:22"},"nativeSrc":"395855:24:22","nodeType":"YulExpressionStatement","src":"395855:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395899:4:22","nodeType":"YulLiteral","src":"395899:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"395905:4:22","nodeType":"YulLiteral","src":"395905:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"395892:6:22","nodeType":"YulIdentifier","src":"395892:6:22"},"nativeSrc":"395892:18:22","nodeType":"YulFunctionCall","src":"395892:18:22"},"nativeSrc":"395892:18:22","nodeType":"YulExpressionStatement","src":"395892:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395930:4:22","nodeType":"YulLiteral","src":"395930:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"395936:2:22","nodeType":"YulIdentifier","src":"395936:2:22"}],"functionName":{"name":"mstore","nativeSrc":"395923:6:22","nodeType":"YulIdentifier","src":"395923:6:22"},"nativeSrc":"395923:16:22","nodeType":"YulFunctionCall","src":"395923:16:22"},"nativeSrc":"395923:16:22","nodeType":"YulExpressionStatement","src":"395923:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395959:4:22","nodeType":"YulLiteral","src":"395959:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"395965:4:22","nodeType":"YulLiteral","src":"395965:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"395952:6:22","nodeType":"YulIdentifier","src":"395952:6:22"},"nativeSrc":"395952:18:22","nodeType":"YulFunctionCall","src":"395952:18:22"},"nativeSrc":"395952:18:22","nodeType":"YulExpressionStatement","src":"395952:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395990:4:22","nodeType":"YulLiteral","src":"395990:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"395996:2:22","nodeType":"YulIdentifier","src":"395996:2:22"}],"functionName":{"name":"mstore","nativeSrc":"395983:6:22","nodeType":"YulIdentifier","src":"395983:6:22"},"nativeSrc":"395983:16:22","nodeType":"YulFunctionCall","src":"395983:16:22"},"nativeSrc":"395983:16:22","nodeType":"YulExpressionStatement","src":"395983:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396024:4:22","nodeType":"YulLiteral","src":"396024:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"396030:2:22","nodeType":"YulIdentifier","src":"396030:2:22"}],"functionName":{"name":"writeString","nativeSrc":"396012:11:22","nodeType":"YulIdentifier","src":"396012:11:22"},"nativeSrc":"396012:21:22","nodeType":"YulFunctionCall","src":"396012:21:22"},"nativeSrc":"396012:21:22","nodeType":"YulExpressionStatement","src":"396012:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396058:4:22","nodeType":"YulLiteral","src":"396058:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"396064:2:22","nodeType":"YulIdentifier","src":"396064:2:22"}],"functionName":{"name":"writeString","nativeSrc":"396046:11:22","nodeType":"YulIdentifier","src":"396046:11:22"},"nativeSrc":"396046:21:22","nodeType":"YulFunctionCall","src":"396046:21:22"},"nativeSrc":"396046:21:22","nodeType":"YulExpressionStatement","src":"396046:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43509,"isOffset":false,"isSlot":false,"src":"395522:2:22","valueSize":1},{"declaration":43512,"isOffset":false,"isSlot":false,"src":"395552:2:22","valueSize":1},{"declaration":43515,"isOffset":false,"isSlot":false,"src":"395582:2:22","valueSize":1},{"declaration":43518,"isOffset":false,"isSlot":false,"src":"395612:2:22","valueSize":1},{"declaration":43521,"isOffset":false,"isSlot":false,"src":"395642:2:22","valueSize":1},{"declaration":43524,"isOffset":false,"isSlot":false,"src":"395672:2:22","valueSize":1},{"declaration":43527,"isOffset":false,"isSlot":false,"src":"395702:2:22","valueSize":1},{"declaration":43530,"isOffset":false,"isSlot":false,"src":"395732:2:22","valueSize":1},{"declaration":43533,"isOffset":false,"isSlot":false,"src":"395762:2:22","valueSize":1},{"declaration":43499,"isOffset":false,"isSlot":false,"src":"396030:2:22","valueSize":1},{"declaration":43501,"isOffset":false,"isSlot":false,"src":"395936:2:22","valueSize":1},{"declaration":43503,"isOffset":false,"isSlot":false,"src":"396064:2:22","valueSize":1},{"declaration":43505,"isOffset":false,"isSlot":false,"src":"395996:2:22","valueSize":1}],"id":43535,"nodeType":"InlineAssembly","src":"395144:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396102:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396108:5:22","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":43536,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"396086:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"396086:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43540,"nodeType":"ExpressionStatement","src":"396086:28:22"},{"AST":{"nativeSrc":"396176:273:22","nodeType":"YulBlock","src":"396176:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"396197:4:22","nodeType":"YulLiteral","src":"396197:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"396203:2:22","nodeType":"YulIdentifier","src":"396203:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396190:6:22","nodeType":"YulIdentifier","src":"396190:6:22"},"nativeSrc":"396190:16:22","nodeType":"YulFunctionCall","src":"396190:16:22"},"nativeSrc":"396190:16:22","nodeType":"YulExpressionStatement","src":"396190:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396226:4:22","nodeType":"YulLiteral","src":"396226:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"396232:2:22","nodeType":"YulIdentifier","src":"396232:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396219:6:22","nodeType":"YulIdentifier","src":"396219:6:22"},"nativeSrc":"396219:16:22","nodeType":"YulFunctionCall","src":"396219:16:22"},"nativeSrc":"396219:16:22","nodeType":"YulExpressionStatement","src":"396219:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396255:4:22","nodeType":"YulLiteral","src":"396255:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"396261:2:22","nodeType":"YulIdentifier","src":"396261:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396248:6:22","nodeType":"YulIdentifier","src":"396248:6:22"},"nativeSrc":"396248:16:22","nodeType":"YulFunctionCall","src":"396248:16:22"},"nativeSrc":"396248:16:22","nodeType":"YulExpressionStatement","src":"396248:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396284:4:22","nodeType":"YulLiteral","src":"396284:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"396290:2:22","nodeType":"YulIdentifier","src":"396290:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396277:6:22","nodeType":"YulIdentifier","src":"396277:6:22"},"nativeSrc":"396277:16:22","nodeType":"YulFunctionCall","src":"396277:16:22"},"nativeSrc":"396277:16:22","nodeType":"YulExpressionStatement","src":"396277:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396313:4:22","nodeType":"YulLiteral","src":"396313:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"396319:2:22","nodeType":"YulIdentifier","src":"396319:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396306:6:22","nodeType":"YulIdentifier","src":"396306:6:22"},"nativeSrc":"396306:16:22","nodeType":"YulFunctionCall","src":"396306:16:22"},"nativeSrc":"396306:16:22","nodeType":"YulExpressionStatement","src":"396306:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396342:4:22","nodeType":"YulLiteral","src":"396342:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"396348:2:22","nodeType":"YulIdentifier","src":"396348:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396335:6:22","nodeType":"YulIdentifier","src":"396335:6:22"},"nativeSrc":"396335:16:22","nodeType":"YulFunctionCall","src":"396335:16:22"},"nativeSrc":"396335:16:22","nodeType":"YulExpressionStatement","src":"396335:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396371:4:22","nodeType":"YulLiteral","src":"396371:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"396377:2:22","nodeType":"YulIdentifier","src":"396377:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396364:6:22","nodeType":"YulIdentifier","src":"396364:6:22"},"nativeSrc":"396364:16:22","nodeType":"YulFunctionCall","src":"396364:16:22"},"nativeSrc":"396364:16:22","nodeType":"YulExpressionStatement","src":"396364:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396400:4:22","nodeType":"YulLiteral","src":"396400:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"396406:2:22","nodeType":"YulIdentifier","src":"396406:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396393:6:22","nodeType":"YulIdentifier","src":"396393:6:22"},"nativeSrc":"396393:16:22","nodeType":"YulFunctionCall","src":"396393:16:22"},"nativeSrc":"396393:16:22","nodeType":"YulExpressionStatement","src":"396393:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396429:5:22","nodeType":"YulLiteral","src":"396429:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"396436:2:22","nodeType":"YulIdentifier","src":"396436:2:22"}],"functionName":{"name":"mstore","nativeSrc":"396422:6:22","nodeType":"YulIdentifier","src":"396422:6:22"},"nativeSrc":"396422:17:22","nodeType":"YulFunctionCall","src":"396422:17:22"},"nativeSrc":"396422:17:22","nodeType":"YulExpressionStatement","src":"396422:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43509,"isOffset":false,"isSlot":false,"src":"396203:2:22","valueSize":1},{"declaration":43512,"isOffset":false,"isSlot":false,"src":"396232:2:22","valueSize":1},{"declaration":43515,"isOffset":false,"isSlot":false,"src":"396261:2:22","valueSize":1},{"declaration":43518,"isOffset":false,"isSlot":false,"src":"396290:2:22","valueSize":1},{"declaration":43521,"isOffset":false,"isSlot":false,"src":"396319:2:22","valueSize":1},{"declaration":43524,"isOffset":false,"isSlot":false,"src":"396348:2:22","valueSize":1},{"declaration":43527,"isOffset":false,"isSlot":false,"src":"396377:2:22","valueSize":1},{"declaration":43530,"isOffset":false,"isSlot":false,"src":"396406:2:22","valueSize":1},{"declaration":43533,"isOffset":false,"isSlot":false,"src":"396436:2:22","valueSize":1}],"id":43541,"nodeType":"InlineAssembly","src":"396167:282:22"}]},"id":43543,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"394848:3:22","nodeType":"FunctionDefinition","parameters":{"id":43506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43499,"mutability":"mutable","name":"p0","nameLocation":"394860:2:22","nodeType":"VariableDeclaration","scope":43543,"src":"394852:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394852:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43501,"mutability":"mutable","name":"p1","nameLocation":"394872:2:22","nodeType":"VariableDeclaration","scope":43543,"src":"394864:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43500,"name":"uint256","nodeType":"ElementaryTypeName","src":"394864:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43503,"mutability":"mutable","name":"p2","nameLocation":"394884:2:22","nodeType":"VariableDeclaration","scope":43543,"src":"394876:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394876:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43505,"mutability":"mutable","name":"p3","nameLocation":"394893:2:22","nodeType":"VariableDeclaration","scope":43543,"src":"394888:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43504,"name":"bool","nodeType":"ElementaryTypeName","src":"394888:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"394851:45:22"},"returnParameters":{"id":43507,"nodeType":"ParameterList","parameters":[],"src":"394911:0:22"},"scope":44426,"src":"394839:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43588,"nodeType":"Block","src":"396536:1547:22","statements":[{"assignments":[43555],"declarations":[{"constant":false,"id":43555,"mutability":"mutable","name":"m0","nameLocation":"396554:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396546:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396546:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43556,"nodeType":"VariableDeclarationStatement","src":"396546:10:22"},{"assignments":[43558],"declarations":[{"constant":false,"id":43558,"mutability":"mutable","name":"m1","nameLocation":"396574:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396566:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396566:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43559,"nodeType":"VariableDeclarationStatement","src":"396566:10:22"},{"assignments":[43561],"declarations":[{"constant":false,"id":43561,"mutability":"mutable","name":"m2","nameLocation":"396594:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396586:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396586:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43562,"nodeType":"VariableDeclarationStatement","src":"396586:10:22"},{"assignments":[43564],"declarations":[{"constant":false,"id":43564,"mutability":"mutable","name":"m3","nameLocation":"396614:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396606:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396606:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43565,"nodeType":"VariableDeclarationStatement","src":"396606:10:22"},{"assignments":[43567],"declarations":[{"constant":false,"id":43567,"mutability":"mutable","name":"m4","nameLocation":"396634:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396626:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396626:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43568,"nodeType":"VariableDeclarationStatement","src":"396626:10:22"},{"assignments":[43570],"declarations":[{"constant":false,"id":43570,"mutability":"mutable","name":"m5","nameLocation":"396654:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396646:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43571,"nodeType":"VariableDeclarationStatement","src":"396646:10:22"},{"assignments":[43573],"declarations":[{"constant":false,"id":43573,"mutability":"mutable","name":"m6","nameLocation":"396674:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396666:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396666:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43574,"nodeType":"VariableDeclarationStatement","src":"396666:10:22"},{"assignments":[43576],"declarations":[{"constant":false,"id":43576,"mutability":"mutable","name":"m7","nameLocation":"396694:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43577,"nodeType":"VariableDeclarationStatement","src":"396686:10:22"},{"assignments":[43579],"declarations":[{"constant":false,"id":43579,"mutability":"mutable","name":"m8","nameLocation":"396714:2:22","nodeType":"VariableDeclaration","scope":43588,"src":"396706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396706:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43580,"nodeType":"VariableDeclarationStatement","src":"396706:10:22"},{"AST":{"nativeSrc":"396778:927:22","nodeType":"YulBlock","src":"396778:927:22","statements":[{"body":{"nativeSrc":"396821:313:22","nodeType":"YulBlock","src":"396821:313:22","statements":[{"nativeSrc":"396839:15:22","nodeType":"YulVariableDeclaration","src":"396839:15:22","value":{"kind":"number","nativeSrc":"396853:1:22","nodeType":"YulLiteral","src":"396853:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"396843:6:22","nodeType":"YulTypedName","src":"396843:6:22","type":""}]},{"body":{"nativeSrc":"396924:40:22","nodeType":"YulBlock","src":"396924:40:22","statements":[{"body":{"nativeSrc":"396953:9:22","nodeType":"YulBlock","src":"396953:9:22","statements":[{"nativeSrc":"396955:5:22","nodeType":"YulBreak","src":"396955:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"396941:6:22","nodeType":"YulIdentifier","src":"396941:6:22"},{"name":"w","nativeSrc":"396949:1:22","nodeType":"YulIdentifier","src":"396949:1:22"}],"functionName":{"name":"byte","nativeSrc":"396936:4:22","nodeType":"YulIdentifier","src":"396936:4:22"},"nativeSrc":"396936:15:22","nodeType":"YulFunctionCall","src":"396936:15:22"}],"functionName":{"name":"iszero","nativeSrc":"396929:6:22","nodeType":"YulIdentifier","src":"396929:6:22"},"nativeSrc":"396929:23:22","nodeType":"YulFunctionCall","src":"396929:23:22"},"nativeSrc":"396926:36:22","nodeType":"YulIf","src":"396926:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"396881:6:22","nodeType":"YulIdentifier","src":"396881:6:22"},{"kind":"number","nativeSrc":"396889:4:22","nodeType":"YulLiteral","src":"396889:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"396878:2:22","nodeType":"YulIdentifier","src":"396878:2:22"},"nativeSrc":"396878:16:22","nodeType":"YulFunctionCall","src":"396878:16:22"},"nativeSrc":"396871:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"396895:28:22","nodeType":"YulBlock","src":"396895:28:22","statements":[{"nativeSrc":"396897:24:22","nodeType":"YulAssignment","src":"396897:24:22","value":{"arguments":[{"name":"length","nativeSrc":"396911:6:22","nodeType":"YulIdentifier","src":"396911:6:22"},{"kind":"number","nativeSrc":"396919:1:22","nodeType":"YulLiteral","src":"396919:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"396907:3:22","nodeType":"YulIdentifier","src":"396907:3:22"},"nativeSrc":"396907:14:22","nodeType":"YulFunctionCall","src":"396907:14:22"},"variableNames":[{"name":"length","nativeSrc":"396897:6:22","nodeType":"YulIdentifier","src":"396897:6:22"}]}]},"pre":{"nativeSrc":"396875:2:22","nodeType":"YulBlock","src":"396875:2:22","statements":[]},"src":"396871:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"396988:3:22","nodeType":"YulIdentifier","src":"396988:3:22"},{"name":"length","nativeSrc":"396993:6:22","nodeType":"YulIdentifier","src":"396993:6:22"}],"functionName":{"name":"mstore","nativeSrc":"396981:6:22","nodeType":"YulIdentifier","src":"396981:6:22"},"nativeSrc":"396981:19:22","nodeType":"YulFunctionCall","src":"396981:19:22"},"nativeSrc":"396981:19:22","nodeType":"YulExpressionStatement","src":"396981:19:22"},{"nativeSrc":"397017:37:22","nodeType":"YulVariableDeclaration","src":"397017:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"397034:3:22","nodeType":"YulLiteral","src":"397034:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"397043:1:22","nodeType":"YulLiteral","src":"397043:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"397046:6:22","nodeType":"YulIdentifier","src":"397046:6:22"}],"functionName":{"name":"shl","nativeSrc":"397039:3:22","nodeType":"YulIdentifier","src":"397039:3:22"},"nativeSrc":"397039:14:22","nodeType":"YulFunctionCall","src":"397039:14:22"}],"functionName":{"name":"sub","nativeSrc":"397030:3:22","nodeType":"YulIdentifier","src":"397030:3:22"},"nativeSrc":"397030:24:22","nodeType":"YulFunctionCall","src":"397030:24:22"},"variables":[{"name":"shift","nativeSrc":"397021:5:22","nodeType":"YulTypedName","src":"397021:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"397082:3:22","nodeType":"YulIdentifier","src":"397082:3:22"},{"kind":"number","nativeSrc":"397087:4:22","nodeType":"YulLiteral","src":"397087:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"397078:3:22","nodeType":"YulIdentifier","src":"397078:3:22"},"nativeSrc":"397078:14:22","nodeType":"YulFunctionCall","src":"397078:14:22"},{"arguments":[{"name":"shift","nativeSrc":"397098:5:22","nodeType":"YulIdentifier","src":"397098:5:22"},{"arguments":[{"name":"shift","nativeSrc":"397109:5:22","nodeType":"YulIdentifier","src":"397109:5:22"},{"name":"w","nativeSrc":"397116:1:22","nodeType":"YulIdentifier","src":"397116:1:22"}],"functionName":{"name":"shr","nativeSrc":"397105:3:22","nodeType":"YulIdentifier","src":"397105:3:22"},"nativeSrc":"397105:13:22","nodeType":"YulFunctionCall","src":"397105:13:22"}],"functionName":{"name":"shl","nativeSrc":"397094:3:22","nodeType":"YulIdentifier","src":"397094:3:22"},"nativeSrc":"397094:25:22","nodeType":"YulFunctionCall","src":"397094:25:22"}],"functionName":{"name":"mstore","nativeSrc":"397071:6:22","nodeType":"YulIdentifier","src":"397071:6:22"},"nativeSrc":"397071:49:22","nodeType":"YulFunctionCall","src":"397071:49:22"},"nativeSrc":"397071:49:22","nodeType":"YulExpressionStatement","src":"397071:49:22"}]},"name":"writeString","nativeSrc":"396792:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"396813:3:22","nodeType":"YulTypedName","src":"396813:3:22","type":""},{"name":"w","nativeSrc":"396818:1:22","nodeType":"YulTypedName","src":"396818:1:22","type":""}],"src":"396792:342:22"},{"nativeSrc":"397147:17:22","nodeType":"YulAssignment","src":"397147:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397159:4:22","nodeType":"YulLiteral","src":"397159:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"397153:5:22","nodeType":"YulIdentifier","src":"397153:5:22"},"nativeSrc":"397153:11:22","nodeType":"YulFunctionCall","src":"397153:11:22"},"variableNames":[{"name":"m0","nativeSrc":"397147:2:22","nodeType":"YulIdentifier","src":"397147:2:22"}]},{"nativeSrc":"397177:17:22","nodeType":"YulAssignment","src":"397177:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397189:4:22","nodeType":"YulLiteral","src":"397189:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"397183:5:22","nodeType":"YulIdentifier","src":"397183:5:22"},"nativeSrc":"397183:11:22","nodeType":"YulFunctionCall","src":"397183:11:22"},"variableNames":[{"name":"m1","nativeSrc":"397177:2:22","nodeType":"YulIdentifier","src":"397177:2:22"}]},{"nativeSrc":"397207:17:22","nodeType":"YulAssignment","src":"397207:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397219:4:22","nodeType":"YulLiteral","src":"397219:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"397213:5:22","nodeType":"YulIdentifier","src":"397213:5:22"},"nativeSrc":"397213:11:22","nodeType":"YulFunctionCall","src":"397213:11:22"},"variableNames":[{"name":"m2","nativeSrc":"397207:2:22","nodeType":"YulIdentifier","src":"397207:2:22"}]},{"nativeSrc":"397237:17:22","nodeType":"YulAssignment","src":"397237:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397249:4:22","nodeType":"YulLiteral","src":"397249:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"397243:5:22","nodeType":"YulIdentifier","src":"397243:5:22"},"nativeSrc":"397243:11:22","nodeType":"YulFunctionCall","src":"397243:11:22"},"variableNames":[{"name":"m3","nativeSrc":"397237:2:22","nodeType":"YulIdentifier","src":"397237:2:22"}]},{"nativeSrc":"397267:17:22","nodeType":"YulAssignment","src":"397267:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397279:4:22","nodeType":"YulLiteral","src":"397279:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"397273:5:22","nodeType":"YulIdentifier","src":"397273:5:22"},"nativeSrc":"397273:11:22","nodeType":"YulFunctionCall","src":"397273:11:22"},"variableNames":[{"name":"m4","nativeSrc":"397267:2:22","nodeType":"YulIdentifier","src":"397267:2:22"}]},{"nativeSrc":"397297:17:22","nodeType":"YulAssignment","src":"397297:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397309:4:22","nodeType":"YulLiteral","src":"397309:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"397303:5:22","nodeType":"YulIdentifier","src":"397303:5:22"},"nativeSrc":"397303:11:22","nodeType":"YulFunctionCall","src":"397303:11:22"},"variableNames":[{"name":"m5","nativeSrc":"397297:2:22","nodeType":"YulIdentifier","src":"397297:2:22"}]},{"nativeSrc":"397327:17:22","nodeType":"YulAssignment","src":"397327:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397339:4:22","nodeType":"YulLiteral","src":"397339:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"397333:5:22","nodeType":"YulIdentifier","src":"397333:5:22"},"nativeSrc":"397333:11:22","nodeType":"YulFunctionCall","src":"397333:11:22"},"variableNames":[{"name":"m6","nativeSrc":"397327:2:22","nodeType":"YulIdentifier","src":"397327:2:22"}]},{"nativeSrc":"397357:17:22","nodeType":"YulAssignment","src":"397357:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"397369:4:22","nodeType":"YulLiteral","src":"397369:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"397363:5:22","nodeType":"YulIdentifier","src":"397363:5:22"},"nativeSrc":"397363:11:22","nodeType":"YulFunctionCall","src":"397363:11:22"},"variableNames":[{"name":"m7","nativeSrc":"397357:2:22","nodeType":"YulIdentifier","src":"397357:2:22"}]},{"nativeSrc":"397387:18:22","nodeType":"YulAssignment","src":"397387:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"397399:5:22","nodeType":"YulLiteral","src":"397399:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"397393:5:22","nodeType":"YulIdentifier","src":"397393:5:22"},"nativeSrc":"397393:12:22","nodeType":"YulFunctionCall","src":"397393:12:22"},"variableNames":[{"name":"m8","nativeSrc":"397387:2:22","nodeType":"YulIdentifier","src":"397387:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397490:4:22","nodeType":"YulLiteral","src":"397490:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"397496:10:22","nodeType":"YulLiteral","src":"397496:10:22","type":"","value":"0xc67ea9d1"}],"functionName":{"name":"mstore","nativeSrc":"397483:6:22","nodeType":"YulIdentifier","src":"397483:6:22"},"nativeSrc":"397483:24:22","nodeType":"YulFunctionCall","src":"397483:24:22"},"nativeSrc":"397483:24:22","nodeType":"YulExpressionStatement","src":"397483:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397527:4:22","nodeType":"YulLiteral","src":"397527:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"397533:4:22","nodeType":"YulLiteral","src":"397533:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"397520:6:22","nodeType":"YulIdentifier","src":"397520:6:22"},"nativeSrc":"397520:18:22","nodeType":"YulFunctionCall","src":"397520:18:22"},"nativeSrc":"397520:18:22","nodeType":"YulExpressionStatement","src":"397520:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397558:4:22","nodeType":"YulLiteral","src":"397558:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"397564:2:22","nodeType":"YulIdentifier","src":"397564:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397551:6:22","nodeType":"YulIdentifier","src":"397551:6:22"},"nativeSrc":"397551:16:22","nodeType":"YulFunctionCall","src":"397551:16:22"},"nativeSrc":"397551:16:22","nodeType":"YulExpressionStatement","src":"397551:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397587:4:22","nodeType":"YulLiteral","src":"397587:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"397593:4:22","nodeType":"YulLiteral","src":"397593:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"397580:6:22","nodeType":"YulIdentifier","src":"397580:6:22"},"nativeSrc":"397580:18:22","nodeType":"YulFunctionCall","src":"397580:18:22"},"nativeSrc":"397580:18:22","nodeType":"YulExpressionStatement","src":"397580:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397618:4:22","nodeType":"YulLiteral","src":"397618:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"397624:2:22","nodeType":"YulIdentifier","src":"397624:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397611:6:22","nodeType":"YulIdentifier","src":"397611:6:22"},"nativeSrc":"397611:16:22","nodeType":"YulFunctionCall","src":"397611:16:22"},"nativeSrc":"397611:16:22","nodeType":"YulExpressionStatement","src":"397611:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397652:4:22","nodeType":"YulLiteral","src":"397652:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"397658:2:22","nodeType":"YulIdentifier","src":"397658:2:22"}],"functionName":{"name":"writeString","nativeSrc":"397640:11:22","nodeType":"YulIdentifier","src":"397640:11:22"},"nativeSrc":"397640:21:22","nodeType":"YulFunctionCall","src":"397640:21:22"},"nativeSrc":"397640:21:22","nodeType":"YulExpressionStatement","src":"397640:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397686:4:22","nodeType":"YulLiteral","src":"397686:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"397692:2:22","nodeType":"YulIdentifier","src":"397692:2:22"}],"functionName":{"name":"writeString","nativeSrc":"397674:11:22","nodeType":"YulIdentifier","src":"397674:11:22"},"nativeSrc":"397674:21:22","nodeType":"YulFunctionCall","src":"397674:21:22"},"nativeSrc":"397674:21:22","nodeType":"YulExpressionStatement","src":"397674:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43555,"isOffset":false,"isSlot":false,"src":"397147:2:22","valueSize":1},{"declaration":43558,"isOffset":false,"isSlot":false,"src":"397177:2:22","valueSize":1},{"declaration":43561,"isOffset":false,"isSlot":false,"src":"397207:2:22","valueSize":1},{"declaration":43564,"isOffset":false,"isSlot":false,"src":"397237:2:22","valueSize":1},{"declaration":43567,"isOffset":false,"isSlot":false,"src":"397267:2:22","valueSize":1},{"declaration":43570,"isOffset":false,"isSlot":false,"src":"397297:2:22","valueSize":1},{"declaration":43573,"isOffset":false,"isSlot":false,"src":"397327:2:22","valueSize":1},{"declaration":43576,"isOffset":false,"isSlot":false,"src":"397357:2:22","valueSize":1},{"declaration":43579,"isOffset":false,"isSlot":false,"src":"397387:2:22","valueSize":1},{"declaration":43545,"isOffset":false,"isSlot":false,"src":"397658:2:22","valueSize":1},{"declaration":43547,"isOffset":false,"isSlot":false,"src":"397564:2:22","valueSize":1},{"declaration":43549,"isOffset":false,"isSlot":false,"src":"397692:2:22","valueSize":1},{"declaration":43551,"isOffset":false,"isSlot":false,"src":"397624:2:22","valueSize":1}],"id":43581,"nodeType":"InlineAssembly","src":"396769:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397730:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397736:5:22","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":43582,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"397714:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"397714:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43586,"nodeType":"ExpressionStatement","src":"397714:28:22"},{"AST":{"nativeSrc":"397804:273:22","nodeType":"YulBlock","src":"397804:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"397825:4:22","nodeType":"YulLiteral","src":"397825:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"397831:2:22","nodeType":"YulIdentifier","src":"397831:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397818:6:22","nodeType":"YulIdentifier","src":"397818:6:22"},"nativeSrc":"397818:16:22","nodeType":"YulFunctionCall","src":"397818:16:22"},"nativeSrc":"397818:16:22","nodeType":"YulExpressionStatement","src":"397818:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397854:4:22","nodeType":"YulLiteral","src":"397854:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"397860:2:22","nodeType":"YulIdentifier","src":"397860:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397847:6:22","nodeType":"YulIdentifier","src":"397847:6:22"},"nativeSrc":"397847:16:22","nodeType":"YulFunctionCall","src":"397847:16:22"},"nativeSrc":"397847:16:22","nodeType":"YulExpressionStatement","src":"397847:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397883:4:22","nodeType":"YulLiteral","src":"397883:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"397889:2:22","nodeType":"YulIdentifier","src":"397889:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397876:6:22","nodeType":"YulIdentifier","src":"397876:6:22"},"nativeSrc":"397876:16:22","nodeType":"YulFunctionCall","src":"397876:16:22"},"nativeSrc":"397876:16:22","nodeType":"YulExpressionStatement","src":"397876:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397912:4:22","nodeType":"YulLiteral","src":"397912:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"397918:2:22","nodeType":"YulIdentifier","src":"397918:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397905:6:22","nodeType":"YulIdentifier","src":"397905:6:22"},"nativeSrc":"397905:16:22","nodeType":"YulFunctionCall","src":"397905:16:22"},"nativeSrc":"397905:16:22","nodeType":"YulExpressionStatement","src":"397905:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397941:4:22","nodeType":"YulLiteral","src":"397941:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"397947:2:22","nodeType":"YulIdentifier","src":"397947:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397934:6:22","nodeType":"YulIdentifier","src":"397934:6:22"},"nativeSrc":"397934:16:22","nodeType":"YulFunctionCall","src":"397934:16:22"},"nativeSrc":"397934:16:22","nodeType":"YulExpressionStatement","src":"397934:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397970:4:22","nodeType":"YulLiteral","src":"397970:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"397976:2:22","nodeType":"YulIdentifier","src":"397976:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397963:6:22","nodeType":"YulIdentifier","src":"397963:6:22"},"nativeSrc":"397963:16:22","nodeType":"YulFunctionCall","src":"397963:16:22"},"nativeSrc":"397963:16:22","nodeType":"YulExpressionStatement","src":"397963:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397999:4:22","nodeType":"YulLiteral","src":"397999:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"398005:2:22","nodeType":"YulIdentifier","src":"398005:2:22"}],"functionName":{"name":"mstore","nativeSrc":"397992:6:22","nodeType":"YulIdentifier","src":"397992:6:22"},"nativeSrc":"397992:16:22","nodeType":"YulFunctionCall","src":"397992:16:22"},"nativeSrc":"397992:16:22","nodeType":"YulExpressionStatement","src":"397992:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398028:4:22","nodeType":"YulLiteral","src":"398028:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"398034:2:22","nodeType":"YulIdentifier","src":"398034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"398021:6:22","nodeType":"YulIdentifier","src":"398021:6:22"},"nativeSrc":"398021:16:22","nodeType":"YulFunctionCall","src":"398021:16:22"},"nativeSrc":"398021:16:22","nodeType":"YulExpressionStatement","src":"398021:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398057:5:22","nodeType":"YulLiteral","src":"398057:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"398064:2:22","nodeType":"YulIdentifier","src":"398064:2:22"}],"functionName":{"name":"mstore","nativeSrc":"398050:6:22","nodeType":"YulIdentifier","src":"398050:6:22"},"nativeSrc":"398050:17:22","nodeType":"YulFunctionCall","src":"398050:17:22"},"nativeSrc":"398050:17:22","nodeType":"YulExpressionStatement","src":"398050:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43555,"isOffset":false,"isSlot":false,"src":"397831:2:22","valueSize":1},{"declaration":43558,"isOffset":false,"isSlot":false,"src":"397860:2:22","valueSize":1},{"declaration":43561,"isOffset":false,"isSlot":false,"src":"397889:2:22","valueSize":1},{"declaration":43564,"isOffset":false,"isSlot":false,"src":"397918:2:22","valueSize":1},{"declaration":43567,"isOffset":false,"isSlot":false,"src":"397947:2:22","valueSize":1},{"declaration":43570,"isOffset":false,"isSlot":false,"src":"397976:2:22","valueSize":1},{"declaration":43573,"isOffset":false,"isSlot":false,"src":"398005:2:22","valueSize":1},{"declaration":43576,"isOffset":false,"isSlot":false,"src":"398034:2:22","valueSize":1},{"declaration":43579,"isOffset":false,"isSlot":false,"src":"398064:2:22","valueSize":1}],"id":43587,"nodeType":"InlineAssembly","src":"397795:282:22"}]},"id":43589,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"396470:3:22","nodeType":"FunctionDefinition","parameters":{"id":43552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43545,"mutability":"mutable","name":"p0","nameLocation":"396482:2:22","nodeType":"VariableDeclaration","scope":43589,"src":"396474:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396474:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43547,"mutability":"mutable","name":"p1","nameLocation":"396494:2:22","nodeType":"VariableDeclaration","scope":43589,"src":"396486:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43546,"name":"uint256","nodeType":"ElementaryTypeName","src":"396486:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43549,"mutability":"mutable","name":"p2","nameLocation":"396506:2:22","nodeType":"VariableDeclaration","scope":43589,"src":"396498:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396498:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43551,"mutability":"mutable","name":"p3","nameLocation":"396518:2:22","nodeType":"VariableDeclaration","scope":43589,"src":"396510:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43550,"name":"uint256","nodeType":"ElementaryTypeName","src":"396510:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"396473:48:22"},"returnParameters":{"id":43553,"nodeType":"ParameterList","parameters":[],"src":"396536:0:22"},"scope":44426,"src":"396461:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43640,"nodeType":"Block","src":"398164:1749:22","statements":[{"assignments":[43601],"declarations":[{"constant":false,"id":43601,"mutability":"mutable","name":"m0","nameLocation":"398182:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398174:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398174:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43602,"nodeType":"VariableDeclarationStatement","src":"398174:10:22"},{"assignments":[43604],"declarations":[{"constant":false,"id":43604,"mutability":"mutable","name":"m1","nameLocation":"398202:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398194:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398194:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43605,"nodeType":"VariableDeclarationStatement","src":"398194:10:22"},{"assignments":[43607],"declarations":[{"constant":false,"id":43607,"mutability":"mutable","name":"m2","nameLocation":"398222:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398214:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398214:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43608,"nodeType":"VariableDeclarationStatement","src":"398214:10:22"},{"assignments":[43610],"declarations":[{"constant":false,"id":43610,"mutability":"mutable","name":"m3","nameLocation":"398242:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398234:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398234:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43611,"nodeType":"VariableDeclarationStatement","src":"398234:10:22"},{"assignments":[43613],"declarations":[{"constant":false,"id":43613,"mutability":"mutable","name":"m4","nameLocation":"398262:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398254:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398254:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43614,"nodeType":"VariableDeclarationStatement","src":"398254:10:22"},{"assignments":[43616],"declarations":[{"constant":false,"id":43616,"mutability":"mutable","name":"m5","nameLocation":"398282:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398274:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398274:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43617,"nodeType":"VariableDeclarationStatement","src":"398274:10:22"},{"assignments":[43619],"declarations":[{"constant":false,"id":43619,"mutability":"mutable","name":"m6","nameLocation":"398302:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398294:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398294:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43620,"nodeType":"VariableDeclarationStatement","src":"398294:10:22"},{"assignments":[43622],"declarations":[{"constant":false,"id":43622,"mutability":"mutable","name":"m7","nameLocation":"398322:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398314:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398314:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43623,"nodeType":"VariableDeclarationStatement","src":"398314:10:22"},{"assignments":[43625],"declarations":[{"constant":false,"id":43625,"mutability":"mutable","name":"m8","nameLocation":"398342:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398334:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398334:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43626,"nodeType":"VariableDeclarationStatement","src":"398334:10:22"},{"assignments":[43628],"declarations":[{"constant":false,"id":43628,"mutability":"mutable","name":"m9","nameLocation":"398362:2:22","nodeType":"VariableDeclaration","scope":43640,"src":"398354:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398354:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43629,"nodeType":"VariableDeclarationStatement","src":"398354:10:22"},{"assignments":[43631],"declarations":[{"constant":false,"id":43631,"mutability":"mutable","name":"m10","nameLocation":"398382:3:22","nodeType":"VariableDeclaration","scope":43640,"src":"398374:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398374:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43632,"nodeType":"VariableDeclarationStatement","src":"398374:11:22"},{"AST":{"nativeSrc":"398447:1027:22","nodeType":"YulBlock","src":"398447:1027:22","statements":[{"body":{"nativeSrc":"398490:313:22","nodeType":"YulBlock","src":"398490:313:22","statements":[{"nativeSrc":"398508:15:22","nodeType":"YulVariableDeclaration","src":"398508:15:22","value":{"kind":"number","nativeSrc":"398522:1:22","nodeType":"YulLiteral","src":"398522:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"398512:6:22","nodeType":"YulTypedName","src":"398512:6:22","type":""}]},{"body":{"nativeSrc":"398593:40:22","nodeType":"YulBlock","src":"398593:40:22","statements":[{"body":{"nativeSrc":"398622:9:22","nodeType":"YulBlock","src":"398622:9:22","statements":[{"nativeSrc":"398624:5:22","nodeType":"YulBreak","src":"398624:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"398610:6:22","nodeType":"YulIdentifier","src":"398610:6:22"},{"name":"w","nativeSrc":"398618:1:22","nodeType":"YulIdentifier","src":"398618:1:22"}],"functionName":{"name":"byte","nativeSrc":"398605:4:22","nodeType":"YulIdentifier","src":"398605:4:22"},"nativeSrc":"398605:15:22","nodeType":"YulFunctionCall","src":"398605:15:22"}],"functionName":{"name":"iszero","nativeSrc":"398598:6:22","nodeType":"YulIdentifier","src":"398598:6:22"},"nativeSrc":"398598:23:22","nodeType":"YulFunctionCall","src":"398598:23:22"},"nativeSrc":"398595:36:22","nodeType":"YulIf","src":"398595:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"398550:6:22","nodeType":"YulIdentifier","src":"398550:6:22"},{"kind":"number","nativeSrc":"398558:4:22","nodeType":"YulLiteral","src":"398558:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"398547:2:22","nodeType":"YulIdentifier","src":"398547:2:22"},"nativeSrc":"398547:16:22","nodeType":"YulFunctionCall","src":"398547:16:22"},"nativeSrc":"398540:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"398564:28:22","nodeType":"YulBlock","src":"398564:28:22","statements":[{"nativeSrc":"398566:24:22","nodeType":"YulAssignment","src":"398566:24:22","value":{"arguments":[{"name":"length","nativeSrc":"398580:6:22","nodeType":"YulIdentifier","src":"398580:6:22"},{"kind":"number","nativeSrc":"398588:1:22","nodeType":"YulLiteral","src":"398588:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"398576:3:22","nodeType":"YulIdentifier","src":"398576:3:22"},"nativeSrc":"398576:14:22","nodeType":"YulFunctionCall","src":"398576:14:22"},"variableNames":[{"name":"length","nativeSrc":"398566:6:22","nodeType":"YulIdentifier","src":"398566:6:22"}]}]},"pre":{"nativeSrc":"398544:2:22","nodeType":"YulBlock","src":"398544:2:22","statements":[]},"src":"398540:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"398657:3:22","nodeType":"YulIdentifier","src":"398657:3:22"},{"name":"length","nativeSrc":"398662:6:22","nodeType":"YulIdentifier","src":"398662:6:22"}],"functionName":{"name":"mstore","nativeSrc":"398650:6:22","nodeType":"YulIdentifier","src":"398650:6:22"},"nativeSrc":"398650:19:22","nodeType":"YulFunctionCall","src":"398650:19:22"},"nativeSrc":"398650:19:22","nodeType":"YulExpressionStatement","src":"398650:19:22"},{"nativeSrc":"398686:37:22","nodeType":"YulVariableDeclaration","src":"398686:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"398703:3:22","nodeType":"YulLiteral","src":"398703:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"398712:1:22","nodeType":"YulLiteral","src":"398712:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"398715:6:22","nodeType":"YulIdentifier","src":"398715:6:22"}],"functionName":{"name":"shl","nativeSrc":"398708:3:22","nodeType":"YulIdentifier","src":"398708:3:22"},"nativeSrc":"398708:14:22","nodeType":"YulFunctionCall","src":"398708:14:22"}],"functionName":{"name":"sub","nativeSrc":"398699:3:22","nodeType":"YulIdentifier","src":"398699:3:22"},"nativeSrc":"398699:24:22","nodeType":"YulFunctionCall","src":"398699:24:22"},"variables":[{"name":"shift","nativeSrc":"398690:5:22","nodeType":"YulTypedName","src":"398690:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"398751:3:22","nodeType":"YulIdentifier","src":"398751:3:22"},{"kind":"number","nativeSrc":"398756:4:22","nodeType":"YulLiteral","src":"398756:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"398747:3:22","nodeType":"YulIdentifier","src":"398747:3:22"},"nativeSrc":"398747:14:22","nodeType":"YulFunctionCall","src":"398747:14:22"},{"arguments":[{"name":"shift","nativeSrc":"398767:5:22","nodeType":"YulIdentifier","src":"398767:5:22"},{"arguments":[{"name":"shift","nativeSrc":"398778:5:22","nodeType":"YulIdentifier","src":"398778:5:22"},{"name":"w","nativeSrc":"398785:1:22","nodeType":"YulIdentifier","src":"398785:1:22"}],"functionName":{"name":"shr","nativeSrc":"398774:3:22","nodeType":"YulIdentifier","src":"398774:3:22"},"nativeSrc":"398774:13:22","nodeType":"YulFunctionCall","src":"398774:13:22"}],"functionName":{"name":"shl","nativeSrc":"398763:3:22","nodeType":"YulIdentifier","src":"398763:3:22"},"nativeSrc":"398763:25:22","nodeType":"YulFunctionCall","src":"398763:25:22"}],"functionName":{"name":"mstore","nativeSrc":"398740:6:22","nodeType":"YulIdentifier","src":"398740:6:22"},"nativeSrc":"398740:49:22","nodeType":"YulFunctionCall","src":"398740:49:22"},"nativeSrc":"398740:49:22","nodeType":"YulExpressionStatement","src":"398740:49:22"}]},"name":"writeString","nativeSrc":"398461:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"398482:3:22","nodeType":"YulTypedName","src":"398482:3:22","type":""},{"name":"w","nativeSrc":"398487:1:22","nodeType":"YulTypedName","src":"398487:1:22","type":""}],"src":"398461:342:22"},{"nativeSrc":"398816:17:22","nodeType":"YulAssignment","src":"398816:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398828:4:22","nodeType":"YulLiteral","src":"398828:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"398822:5:22","nodeType":"YulIdentifier","src":"398822:5:22"},"nativeSrc":"398822:11:22","nodeType":"YulFunctionCall","src":"398822:11:22"},"variableNames":[{"name":"m0","nativeSrc":"398816:2:22","nodeType":"YulIdentifier","src":"398816:2:22"}]},{"nativeSrc":"398846:17:22","nodeType":"YulAssignment","src":"398846:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398858:4:22","nodeType":"YulLiteral","src":"398858:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"398852:5:22","nodeType":"YulIdentifier","src":"398852:5:22"},"nativeSrc":"398852:11:22","nodeType":"YulFunctionCall","src":"398852:11:22"},"variableNames":[{"name":"m1","nativeSrc":"398846:2:22","nodeType":"YulIdentifier","src":"398846:2:22"}]},{"nativeSrc":"398876:17:22","nodeType":"YulAssignment","src":"398876:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398888:4:22","nodeType":"YulLiteral","src":"398888:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"398882:5:22","nodeType":"YulIdentifier","src":"398882:5:22"},"nativeSrc":"398882:11:22","nodeType":"YulFunctionCall","src":"398882:11:22"},"variableNames":[{"name":"m2","nativeSrc":"398876:2:22","nodeType":"YulIdentifier","src":"398876:2:22"}]},{"nativeSrc":"398906:17:22","nodeType":"YulAssignment","src":"398906:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398918:4:22","nodeType":"YulLiteral","src":"398918:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"398912:5:22","nodeType":"YulIdentifier","src":"398912:5:22"},"nativeSrc":"398912:11:22","nodeType":"YulFunctionCall","src":"398912:11:22"},"variableNames":[{"name":"m3","nativeSrc":"398906:2:22","nodeType":"YulIdentifier","src":"398906:2:22"}]},{"nativeSrc":"398936:17:22","nodeType":"YulAssignment","src":"398936:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398948:4:22","nodeType":"YulLiteral","src":"398948:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"398942:5:22","nodeType":"YulIdentifier","src":"398942:5:22"},"nativeSrc":"398942:11:22","nodeType":"YulFunctionCall","src":"398942:11:22"},"variableNames":[{"name":"m4","nativeSrc":"398936:2:22","nodeType":"YulIdentifier","src":"398936:2:22"}]},{"nativeSrc":"398966:17:22","nodeType":"YulAssignment","src":"398966:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"398978:4:22","nodeType":"YulLiteral","src":"398978:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"398972:5:22","nodeType":"YulIdentifier","src":"398972:5:22"},"nativeSrc":"398972:11:22","nodeType":"YulFunctionCall","src":"398972:11:22"},"variableNames":[{"name":"m5","nativeSrc":"398966:2:22","nodeType":"YulIdentifier","src":"398966:2:22"}]},{"nativeSrc":"398996:17:22","nodeType":"YulAssignment","src":"398996:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"399008:4:22","nodeType":"YulLiteral","src":"399008:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"399002:5:22","nodeType":"YulIdentifier","src":"399002:5:22"},"nativeSrc":"399002:11:22","nodeType":"YulFunctionCall","src":"399002:11:22"},"variableNames":[{"name":"m6","nativeSrc":"398996:2:22","nodeType":"YulIdentifier","src":"398996:2:22"}]},{"nativeSrc":"399026:17:22","nodeType":"YulAssignment","src":"399026:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"399038:4:22","nodeType":"YulLiteral","src":"399038:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"399032:5:22","nodeType":"YulIdentifier","src":"399032:5:22"},"nativeSrc":"399032:11:22","nodeType":"YulFunctionCall","src":"399032:11:22"},"variableNames":[{"name":"m7","nativeSrc":"399026:2:22","nodeType":"YulIdentifier","src":"399026:2:22"}]},{"nativeSrc":"399056:18:22","nodeType":"YulAssignment","src":"399056:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"399068:5:22","nodeType":"YulLiteral","src":"399068:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"399062:5:22","nodeType":"YulIdentifier","src":"399062:5:22"},"nativeSrc":"399062:12:22","nodeType":"YulFunctionCall","src":"399062:12:22"},"variableNames":[{"name":"m8","nativeSrc":"399056:2:22","nodeType":"YulIdentifier","src":"399056:2:22"}]},{"nativeSrc":"399087:18:22","nodeType":"YulAssignment","src":"399087:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"399099:5:22","nodeType":"YulLiteral","src":"399099:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"399093:5:22","nodeType":"YulIdentifier","src":"399093:5:22"},"nativeSrc":"399093:12:22","nodeType":"YulFunctionCall","src":"399093:12:22"},"variableNames":[{"name":"m9","nativeSrc":"399087:2:22","nodeType":"YulIdentifier","src":"399087:2:22"}]},{"nativeSrc":"399118:19:22","nodeType":"YulAssignment","src":"399118:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"399131:5:22","nodeType":"YulLiteral","src":"399131:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"399125:5:22","nodeType":"YulIdentifier","src":"399125:5:22"},"nativeSrc":"399125:12:22","nodeType":"YulFunctionCall","src":"399125:12:22"},"variableNames":[{"name":"m10","nativeSrc":"399118:3:22","nodeType":"YulIdentifier","src":"399118:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399221:4:22","nodeType":"YulLiteral","src":"399221:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"399227:10:22","nodeType":"YulLiteral","src":"399227:10:22","type":"","value":"0x5ab84e1f"}],"functionName":{"name":"mstore","nativeSrc":"399214:6:22","nodeType":"YulIdentifier","src":"399214:6:22"},"nativeSrc":"399214:24:22","nodeType":"YulFunctionCall","src":"399214:24:22"},"nativeSrc":"399214:24:22","nodeType":"YulExpressionStatement","src":"399214:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399258:4:22","nodeType":"YulLiteral","src":"399258:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"399264:4:22","nodeType":"YulLiteral","src":"399264:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"399251:6:22","nodeType":"YulIdentifier","src":"399251:6:22"},"nativeSrc":"399251:18:22","nodeType":"YulFunctionCall","src":"399251:18:22"},"nativeSrc":"399251:18:22","nodeType":"YulExpressionStatement","src":"399251:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399289:4:22","nodeType":"YulLiteral","src":"399289:4:22","type":"","value":"0x40"},{"name":"p1","nativeSrc":"399295:2:22","nodeType":"YulIdentifier","src":"399295:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399282:6:22","nodeType":"YulIdentifier","src":"399282:6:22"},"nativeSrc":"399282:16:22","nodeType":"YulFunctionCall","src":"399282:16:22"},"nativeSrc":"399282:16:22","nodeType":"YulExpressionStatement","src":"399282:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399318:4:22","nodeType":"YulLiteral","src":"399318:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"399324:4:22","nodeType":"YulLiteral","src":"399324:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"399311:6:22","nodeType":"YulIdentifier","src":"399311:6:22"},"nativeSrc":"399311:18:22","nodeType":"YulFunctionCall","src":"399311:18:22"},"nativeSrc":"399311:18:22","nodeType":"YulExpressionStatement","src":"399311:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399349:4:22","nodeType":"YulLiteral","src":"399349:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"399355:5:22","nodeType":"YulLiteral","src":"399355:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"399342:6:22","nodeType":"YulIdentifier","src":"399342:6:22"},"nativeSrc":"399342:19:22","nodeType":"YulFunctionCall","src":"399342:19:22"},"nativeSrc":"399342:19:22","nodeType":"YulExpressionStatement","src":"399342:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399386:4:22","nodeType":"YulLiteral","src":"399386:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"399392:2:22","nodeType":"YulIdentifier","src":"399392:2:22"}],"functionName":{"name":"writeString","nativeSrc":"399374:11:22","nodeType":"YulIdentifier","src":"399374:11:22"},"nativeSrc":"399374:21:22","nodeType":"YulFunctionCall","src":"399374:21:22"},"nativeSrc":"399374:21:22","nodeType":"YulExpressionStatement","src":"399374:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399420:4:22","nodeType":"YulLiteral","src":"399420:4:22","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"399426:2:22","nodeType":"YulIdentifier","src":"399426:2:22"}],"functionName":{"name":"writeString","nativeSrc":"399408:11:22","nodeType":"YulIdentifier","src":"399408:11:22"},"nativeSrc":"399408:21:22","nodeType":"YulFunctionCall","src":"399408:21:22"},"nativeSrc":"399408:21:22","nodeType":"YulExpressionStatement","src":"399408:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399454:5:22","nodeType":"YulLiteral","src":"399454:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"399461:2:22","nodeType":"YulIdentifier","src":"399461:2:22"}],"functionName":{"name":"writeString","nativeSrc":"399442:11:22","nodeType":"YulIdentifier","src":"399442:11:22"},"nativeSrc":"399442:22:22","nodeType":"YulFunctionCall","src":"399442:22:22"},"nativeSrc":"399442:22:22","nodeType":"YulExpressionStatement","src":"399442:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43601,"isOffset":false,"isSlot":false,"src":"398816:2:22","valueSize":1},{"declaration":43604,"isOffset":false,"isSlot":false,"src":"398846:2:22","valueSize":1},{"declaration":43631,"isOffset":false,"isSlot":false,"src":"399118:3:22","valueSize":1},{"declaration":43607,"isOffset":false,"isSlot":false,"src":"398876:2:22","valueSize":1},{"declaration":43610,"isOffset":false,"isSlot":false,"src":"398906:2:22","valueSize":1},{"declaration":43613,"isOffset":false,"isSlot":false,"src":"398936:2:22","valueSize":1},{"declaration":43616,"isOffset":false,"isSlot":false,"src":"398966:2:22","valueSize":1},{"declaration":43619,"isOffset":false,"isSlot":false,"src":"398996:2:22","valueSize":1},{"declaration":43622,"isOffset":false,"isSlot":false,"src":"399026:2:22","valueSize":1},{"declaration":43625,"isOffset":false,"isSlot":false,"src":"399056:2:22","valueSize":1},{"declaration":43628,"isOffset":false,"isSlot":false,"src":"399087:2:22","valueSize":1},{"declaration":43591,"isOffset":false,"isSlot":false,"src":"399392:2:22","valueSize":1},{"declaration":43593,"isOffset":false,"isSlot":false,"src":"399295:2:22","valueSize":1},{"declaration":43595,"isOffset":false,"isSlot":false,"src":"399426:2:22","valueSize":1},{"declaration":43597,"isOffset":false,"isSlot":false,"src":"399461:2:22","valueSize":1}],"id":43633,"nodeType":"InlineAssembly","src":"398438:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399499:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":43636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399505:5:22","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":43634,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"399483:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"399483:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43638,"nodeType":"ExpressionStatement","src":"399483:28:22"},{"AST":{"nativeSrc":"399573:334:22","nodeType":"YulBlock","src":"399573:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"399594:4:22","nodeType":"YulLiteral","src":"399594:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"399600:2:22","nodeType":"YulIdentifier","src":"399600:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399587:6:22","nodeType":"YulIdentifier","src":"399587:6:22"},"nativeSrc":"399587:16:22","nodeType":"YulFunctionCall","src":"399587:16:22"},"nativeSrc":"399587:16:22","nodeType":"YulExpressionStatement","src":"399587:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399623:4:22","nodeType":"YulLiteral","src":"399623:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"399629:2:22","nodeType":"YulIdentifier","src":"399629:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399616:6:22","nodeType":"YulIdentifier","src":"399616:6:22"},"nativeSrc":"399616:16:22","nodeType":"YulFunctionCall","src":"399616:16:22"},"nativeSrc":"399616:16:22","nodeType":"YulExpressionStatement","src":"399616:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399652:4:22","nodeType":"YulLiteral","src":"399652:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"399658:2:22","nodeType":"YulIdentifier","src":"399658:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399645:6:22","nodeType":"YulIdentifier","src":"399645:6:22"},"nativeSrc":"399645:16:22","nodeType":"YulFunctionCall","src":"399645:16:22"},"nativeSrc":"399645:16:22","nodeType":"YulExpressionStatement","src":"399645:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399681:4:22","nodeType":"YulLiteral","src":"399681:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"399687:2:22","nodeType":"YulIdentifier","src":"399687:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399674:6:22","nodeType":"YulIdentifier","src":"399674:6:22"},"nativeSrc":"399674:16:22","nodeType":"YulFunctionCall","src":"399674:16:22"},"nativeSrc":"399674:16:22","nodeType":"YulExpressionStatement","src":"399674:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399710:4:22","nodeType":"YulLiteral","src":"399710:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"399716:2:22","nodeType":"YulIdentifier","src":"399716:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399703:6:22","nodeType":"YulIdentifier","src":"399703:6:22"},"nativeSrc":"399703:16:22","nodeType":"YulFunctionCall","src":"399703:16:22"},"nativeSrc":"399703:16:22","nodeType":"YulExpressionStatement","src":"399703:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399739:4:22","nodeType":"YulLiteral","src":"399739:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"399745:2:22","nodeType":"YulIdentifier","src":"399745:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399732:6:22","nodeType":"YulIdentifier","src":"399732:6:22"},"nativeSrc":"399732:16:22","nodeType":"YulFunctionCall","src":"399732:16:22"},"nativeSrc":"399732:16:22","nodeType":"YulExpressionStatement","src":"399732:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399768:4:22","nodeType":"YulLiteral","src":"399768:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"399774:2:22","nodeType":"YulIdentifier","src":"399774:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399761:6:22","nodeType":"YulIdentifier","src":"399761:6:22"},"nativeSrc":"399761:16:22","nodeType":"YulFunctionCall","src":"399761:16:22"},"nativeSrc":"399761:16:22","nodeType":"YulExpressionStatement","src":"399761:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399797:4:22","nodeType":"YulLiteral","src":"399797:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"399803:2:22","nodeType":"YulIdentifier","src":"399803:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399790:6:22","nodeType":"YulIdentifier","src":"399790:6:22"},"nativeSrc":"399790:16:22","nodeType":"YulFunctionCall","src":"399790:16:22"},"nativeSrc":"399790:16:22","nodeType":"YulExpressionStatement","src":"399790:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399826:5:22","nodeType":"YulLiteral","src":"399826:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"399833:2:22","nodeType":"YulIdentifier","src":"399833:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399819:6:22","nodeType":"YulIdentifier","src":"399819:6:22"},"nativeSrc":"399819:17:22","nodeType":"YulFunctionCall","src":"399819:17:22"},"nativeSrc":"399819:17:22","nodeType":"YulExpressionStatement","src":"399819:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399856:5:22","nodeType":"YulLiteral","src":"399856:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"399863:2:22","nodeType":"YulIdentifier","src":"399863:2:22"}],"functionName":{"name":"mstore","nativeSrc":"399849:6:22","nodeType":"YulIdentifier","src":"399849:6:22"},"nativeSrc":"399849:17:22","nodeType":"YulFunctionCall","src":"399849:17:22"},"nativeSrc":"399849:17:22","nodeType":"YulExpressionStatement","src":"399849:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399886:5:22","nodeType":"YulLiteral","src":"399886:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"399893:3:22","nodeType":"YulIdentifier","src":"399893:3:22"}],"functionName":{"name":"mstore","nativeSrc":"399879:6:22","nodeType":"YulIdentifier","src":"399879:6:22"},"nativeSrc":"399879:18:22","nodeType":"YulFunctionCall","src":"399879:18:22"},"nativeSrc":"399879:18:22","nodeType":"YulExpressionStatement","src":"399879:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43601,"isOffset":false,"isSlot":false,"src":"399600:2:22","valueSize":1},{"declaration":43604,"isOffset":false,"isSlot":false,"src":"399629:2:22","valueSize":1},{"declaration":43631,"isOffset":false,"isSlot":false,"src":"399893:3:22","valueSize":1},{"declaration":43607,"isOffset":false,"isSlot":false,"src":"399658:2:22","valueSize":1},{"declaration":43610,"isOffset":false,"isSlot":false,"src":"399687:2:22","valueSize":1},{"declaration":43613,"isOffset":false,"isSlot":false,"src":"399716:2:22","valueSize":1},{"declaration":43616,"isOffset":false,"isSlot":false,"src":"399745:2:22","valueSize":1},{"declaration":43619,"isOffset":false,"isSlot":false,"src":"399774:2:22","valueSize":1},{"declaration":43622,"isOffset":false,"isSlot":false,"src":"399803:2:22","valueSize":1},{"declaration":43625,"isOffset":false,"isSlot":false,"src":"399833:2:22","valueSize":1},{"declaration":43628,"isOffset":false,"isSlot":false,"src":"399863:2:22","valueSize":1}],"id":43639,"nodeType":"InlineAssembly","src":"399564:343:22"}]},"id":43641,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"398098:3:22","nodeType":"FunctionDefinition","parameters":{"id":43598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43591,"mutability":"mutable","name":"p0","nameLocation":"398110:2:22","nodeType":"VariableDeclaration","scope":43641,"src":"398102:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398102:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43593,"mutability":"mutable","name":"p1","nameLocation":"398122:2:22","nodeType":"VariableDeclaration","scope":43641,"src":"398114:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43592,"name":"uint256","nodeType":"ElementaryTypeName","src":"398114:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43595,"mutability":"mutable","name":"p2","nameLocation":"398134:2:22","nodeType":"VariableDeclaration","scope":43641,"src":"398126:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398126:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43597,"mutability":"mutable","name":"p3","nameLocation":"398146:2:22","nodeType":"VariableDeclaration","scope":43641,"src":"398138:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398138:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"398101:48:22"},"returnParameters":{"id":43599,"nodeType":"ParameterList","parameters":[],"src":"398164:0:22"},"scope":44426,"src":"398089:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43686,"nodeType":"Block","src":"399994:1547:22","statements":[{"assignments":[43653],"declarations":[{"constant":false,"id":43653,"mutability":"mutable","name":"m0","nameLocation":"400012:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400004:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400004:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43654,"nodeType":"VariableDeclarationStatement","src":"400004:10:22"},{"assignments":[43656],"declarations":[{"constant":false,"id":43656,"mutability":"mutable","name":"m1","nameLocation":"400032:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400024:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400024:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43657,"nodeType":"VariableDeclarationStatement","src":"400024:10:22"},{"assignments":[43659],"declarations":[{"constant":false,"id":43659,"mutability":"mutable","name":"m2","nameLocation":"400052:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400044:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400044:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43660,"nodeType":"VariableDeclarationStatement","src":"400044:10:22"},{"assignments":[43662],"declarations":[{"constant":false,"id":43662,"mutability":"mutable","name":"m3","nameLocation":"400072:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400064:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400064:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43663,"nodeType":"VariableDeclarationStatement","src":"400064:10:22"},{"assignments":[43665],"declarations":[{"constant":false,"id":43665,"mutability":"mutable","name":"m4","nameLocation":"400092:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400084:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400084:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43666,"nodeType":"VariableDeclarationStatement","src":"400084:10:22"},{"assignments":[43668],"declarations":[{"constant":false,"id":43668,"mutability":"mutable","name":"m5","nameLocation":"400112:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400104:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400104:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43669,"nodeType":"VariableDeclarationStatement","src":"400104:10:22"},{"assignments":[43671],"declarations":[{"constant":false,"id":43671,"mutability":"mutable","name":"m6","nameLocation":"400132:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400124:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43672,"nodeType":"VariableDeclarationStatement","src":"400124:10:22"},{"assignments":[43674],"declarations":[{"constant":false,"id":43674,"mutability":"mutable","name":"m7","nameLocation":"400152:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43675,"nodeType":"VariableDeclarationStatement","src":"400144:10:22"},{"assignments":[43677],"declarations":[{"constant":false,"id":43677,"mutability":"mutable","name":"m8","nameLocation":"400172:2:22","nodeType":"VariableDeclaration","scope":43686,"src":"400164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43678,"nodeType":"VariableDeclarationStatement","src":"400164:10:22"},{"AST":{"nativeSrc":"400236:927:22","nodeType":"YulBlock","src":"400236:927:22","statements":[{"body":{"nativeSrc":"400279:313:22","nodeType":"YulBlock","src":"400279:313:22","statements":[{"nativeSrc":"400297:15:22","nodeType":"YulVariableDeclaration","src":"400297:15:22","value":{"kind":"number","nativeSrc":"400311:1:22","nodeType":"YulLiteral","src":"400311:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"400301:6:22","nodeType":"YulTypedName","src":"400301:6:22","type":""}]},{"body":{"nativeSrc":"400382:40:22","nodeType":"YulBlock","src":"400382:40:22","statements":[{"body":{"nativeSrc":"400411:9:22","nodeType":"YulBlock","src":"400411:9:22","statements":[{"nativeSrc":"400413:5:22","nodeType":"YulBreak","src":"400413:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"400399:6:22","nodeType":"YulIdentifier","src":"400399:6:22"},{"name":"w","nativeSrc":"400407:1:22","nodeType":"YulIdentifier","src":"400407:1:22"}],"functionName":{"name":"byte","nativeSrc":"400394:4:22","nodeType":"YulIdentifier","src":"400394:4:22"},"nativeSrc":"400394:15:22","nodeType":"YulFunctionCall","src":"400394:15:22"}],"functionName":{"name":"iszero","nativeSrc":"400387:6:22","nodeType":"YulIdentifier","src":"400387:6:22"},"nativeSrc":"400387:23:22","nodeType":"YulFunctionCall","src":"400387:23:22"},"nativeSrc":"400384:36:22","nodeType":"YulIf","src":"400384:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"400339:6:22","nodeType":"YulIdentifier","src":"400339:6:22"},{"kind":"number","nativeSrc":"400347:4:22","nodeType":"YulLiteral","src":"400347:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"400336:2:22","nodeType":"YulIdentifier","src":"400336:2:22"},"nativeSrc":"400336:16:22","nodeType":"YulFunctionCall","src":"400336:16:22"},"nativeSrc":"400329:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"400353:28:22","nodeType":"YulBlock","src":"400353:28:22","statements":[{"nativeSrc":"400355:24:22","nodeType":"YulAssignment","src":"400355:24:22","value":{"arguments":[{"name":"length","nativeSrc":"400369:6:22","nodeType":"YulIdentifier","src":"400369:6:22"},{"kind":"number","nativeSrc":"400377:1:22","nodeType":"YulLiteral","src":"400377:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"400365:3:22","nodeType":"YulIdentifier","src":"400365:3:22"},"nativeSrc":"400365:14:22","nodeType":"YulFunctionCall","src":"400365:14:22"},"variableNames":[{"name":"length","nativeSrc":"400355:6:22","nodeType":"YulIdentifier","src":"400355:6:22"}]}]},"pre":{"nativeSrc":"400333:2:22","nodeType":"YulBlock","src":"400333:2:22","statements":[]},"src":"400329:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"400446:3:22","nodeType":"YulIdentifier","src":"400446:3:22"},{"name":"length","nativeSrc":"400451:6:22","nodeType":"YulIdentifier","src":"400451:6:22"}],"functionName":{"name":"mstore","nativeSrc":"400439:6:22","nodeType":"YulIdentifier","src":"400439:6:22"},"nativeSrc":"400439:19:22","nodeType":"YulFunctionCall","src":"400439:19:22"},"nativeSrc":"400439:19:22","nodeType":"YulExpressionStatement","src":"400439:19:22"},{"nativeSrc":"400475:37:22","nodeType":"YulVariableDeclaration","src":"400475:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"400492:3:22","nodeType":"YulLiteral","src":"400492:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"400501:1:22","nodeType":"YulLiteral","src":"400501:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"400504:6:22","nodeType":"YulIdentifier","src":"400504:6:22"}],"functionName":{"name":"shl","nativeSrc":"400497:3:22","nodeType":"YulIdentifier","src":"400497:3:22"},"nativeSrc":"400497:14:22","nodeType":"YulFunctionCall","src":"400497:14:22"}],"functionName":{"name":"sub","nativeSrc":"400488:3:22","nodeType":"YulIdentifier","src":"400488:3:22"},"nativeSrc":"400488:24:22","nodeType":"YulFunctionCall","src":"400488:24:22"},"variables":[{"name":"shift","nativeSrc":"400479:5:22","nodeType":"YulTypedName","src":"400479:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"400540:3:22","nodeType":"YulIdentifier","src":"400540:3:22"},{"kind":"number","nativeSrc":"400545:4:22","nodeType":"YulLiteral","src":"400545:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"400536:3:22","nodeType":"YulIdentifier","src":"400536:3:22"},"nativeSrc":"400536:14:22","nodeType":"YulFunctionCall","src":"400536:14:22"},{"arguments":[{"name":"shift","nativeSrc":"400556:5:22","nodeType":"YulIdentifier","src":"400556:5:22"},{"arguments":[{"name":"shift","nativeSrc":"400567:5:22","nodeType":"YulIdentifier","src":"400567:5:22"},{"name":"w","nativeSrc":"400574:1:22","nodeType":"YulIdentifier","src":"400574:1:22"}],"functionName":{"name":"shr","nativeSrc":"400563:3:22","nodeType":"YulIdentifier","src":"400563:3:22"},"nativeSrc":"400563:13:22","nodeType":"YulFunctionCall","src":"400563:13:22"}],"functionName":{"name":"shl","nativeSrc":"400552:3:22","nodeType":"YulIdentifier","src":"400552:3:22"},"nativeSrc":"400552:25:22","nodeType":"YulFunctionCall","src":"400552:25:22"}],"functionName":{"name":"mstore","nativeSrc":"400529:6:22","nodeType":"YulIdentifier","src":"400529:6:22"},"nativeSrc":"400529:49:22","nodeType":"YulFunctionCall","src":"400529:49:22"},"nativeSrc":"400529:49:22","nodeType":"YulExpressionStatement","src":"400529:49:22"}]},"name":"writeString","nativeSrc":"400250:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"400271:3:22","nodeType":"YulTypedName","src":"400271:3:22","type":""},{"name":"w","nativeSrc":"400276:1:22","nodeType":"YulTypedName","src":"400276:1:22","type":""}],"src":"400250:342:22"},{"nativeSrc":"400605:17:22","nodeType":"YulAssignment","src":"400605:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400617:4:22","nodeType":"YulLiteral","src":"400617:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"400611:5:22","nodeType":"YulIdentifier","src":"400611:5:22"},"nativeSrc":"400611:11:22","nodeType":"YulFunctionCall","src":"400611:11:22"},"variableNames":[{"name":"m0","nativeSrc":"400605:2:22","nodeType":"YulIdentifier","src":"400605:2:22"}]},{"nativeSrc":"400635:17:22","nodeType":"YulAssignment","src":"400635:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400647:4:22","nodeType":"YulLiteral","src":"400647:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"400641:5:22","nodeType":"YulIdentifier","src":"400641:5:22"},"nativeSrc":"400641:11:22","nodeType":"YulFunctionCall","src":"400641:11:22"},"variableNames":[{"name":"m1","nativeSrc":"400635:2:22","nodeType":"YulIdentifier","src":"400635:2:22"}]},{"nativeSrc":"400665:17:22","nodeType":"YulAssignment","src":"400665:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400677:4:22","nodeType":"YulLiteral","src":"400677:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"400671:5:22","nodeType":"YulIdentifier","src":"400671:5:22"},"nativeSrc":"400671:11:22","nodeType":"YulFunctionCall","src":"400671:11:22"},"variableNames":[{"name":"m2","nativeSrc":"400665:2:22","nodeType":"YulIdentifier","src":"400665:2:22"}]},{"nativeSrc":"400695:17:22","nodeType":"YulAssignment","src":"400695:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400707:4:22","nodeType":"YulLiteral","src":"400707:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"400701:5:22","nodeType":"YulIdentifier","src":"400701:5:22"},"nativeSrc":"400701:11:22","nodeType":"YulFunctionCall","src":"400701:11:22"},"variableNames":[{"name":"m3","nativeSrc":"400695:2:22","nodeType":"YulIdentifier","src":"400695:2:22"}]},{"nativeSrc":"400725:17:22","nodeType":"YulAssignment","src":"400725:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400737:4:22","nodeType":"YulLiteral","src":"400737:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"400731:5:22","nodeType":"YulIdentifier","src":"400731:5:22"},"nativeSrc":"400731:11:22","nodeType":"YulFunctionCall","src":"400731:11:22"},"variableNames":[{"name":"m4","nativeSrc":"400725:2:22","nodeType":"YulIdentifier","src":"400725:2:22"}]},{"nativeSrc":"400755:17:22","nodeType":"YulAssignment","src":"400755:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400767:4:22","nodeType":"YulLiteral","src":"400767:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"400761:5:22","nodeType":"YulIdentifier","src":"400761:5:22"},"nativeSrc":"400761:11:22","nodeType":"YulFunctionCall","src":"400761:11:22"},"variableNames":[{"name":"m5","nativeSrc":"400755:2:22","nodeType":"YulIdentifier","src":"400755:2:22"}]},{"nativeSrc":"400785:17:22","nodeType":"YulAssignment","src":"400785:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400797:4:22","nodeType":"YulLiteral","src":"400797:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"400791:5:22","nodeType":"YulIdentifier","src":"400791:5:22"},"nativeSrc":"400791:11:22","nodeType":"YulFunctionCall","src":"400791:11:22"},"variableNames":[{"name":"m6","nativeSrc":"400785:2:22","nodeType":"YulIdentifier","src":"400785:2:22"}]},{"nativeSrc":"400815:17:22","nodeType":"YulAssignment","src":"400815:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"400827:4:22","nodeType":"YulLiteral","src":"400827:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"400821:5:22","nodeType":"YulIdentifier","src":"400821:5:22"},"nativeSrc":"400821:11:22","nodeType":"YulFunctionCall","src":"400821:11:22"},"variableNames":[{"name":"m7","nativeSrc":"400815:2:22","nodeType":"YulIdentifier","src":"400815:2:22"}]},{"nativeSrc":"400845:18:22","nodeType":"YulAssignment","src":"400845:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"400857:5:22","nodeType":"YulLiteral","src":"400857:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"400851:5:22","nodeType":"YulIdentifier","src":"400851:5:22"},"nativeSrc":"400851:12:22","nodeType":"YulFunctionCall","src":"400851:12:22"},"variableNames":[{"name":"m8","nativeSrc":"400845:2:22","nodeType":"YulIdentifier","src":"400845:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400948:4:22","nodeType":"YulLiteral","src":"400948:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"400954:10:22","nodeType":"YulLiteral","src":"400954:10:22","type":"","value":"0x439c7bef"}],"functionName":{"name":"mstore","nativeSrc":"400941:6:22","nodeType":"YulIdentifier","src":"400941:6:22"},"nativeSrc":"400941:24:22","nodeType":"YulFunctionCall","src":"400941:24:22"},"nativeSrc":"400941:24:22","nodeType":"YulExpressionStatement","src":"400941:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400985:4:22","nodeType":"YulLiteral","src":"400985:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"400991:4:22","nodeType":"YulLiteral","src":"400991:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"400978:6:22","nodeType":"YulIdentifier","src":"400978:6:22"},"nativeSrc":"400978:18:22","nodeType":"YulFunctionCall","src":"400978:18:22"},"nativeSrc":"400978:18:22","nodeType":"YulExpressionStatement","src":"400978:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401016:4:22","nodeType":"YulLiteral","src":"401016:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"401022:4:22","nodeType":"YulLiteral","src":"401022:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"401009:6:22","nodeType":"YulIdentifier","src":"401009:6:22"},"nativeSrc":"401009:18:22","nodeType":"YulFunctionCall","src":"401009:18:22"},"nativeSrc":"401009:18:22","nodeType":"YulExpressionStatement","src":"401009:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401047:4:22","nodeType":"YulLiteral","src":"401047:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"401053:2:22","nodeType":"YulIdentifier","src":"401053:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401040:6:22","nodeType":"YulIdentifier","src":"401040:6:22"},"nativeSrc":"401040:16:22","nodeType":"YulFunctionCall","src":"401040:16:22"},"nativeSrc":"401040:16:22","nodeType":"YulExpressionStatement","src":"401040:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401076:4:22","nodeType":"YulLiteral","src":"401076:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"401082:2:22","nodeType":"YulIdentifier","src":"401082:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401069:6:22","nodeType":"YulIdentifier","src":"401069:6:22"},"nativeSrc":"401069:16:22","nodeType":"YulFunctionCall","src":"401069:16:22"},"nativeSrc":"401069:16:22","nodeType":"YulExpressionStatement","src":"401069:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401110:4:22","nodeType":"YulLiteral","src":"401110:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"401116:2:22","nodeType":"YulIdentifier","src":"401116:2:22"}],"functionName":{"name":"writeString","nativeSrc":"401098:11:22","nodeType":"YulIdentifier","src":"401098:11:22"},"nativeSrc":"401098:21:22","nodeType":"YulFunctionCall","src":"401098:21:22"},"nativeSrc":"401098:21:22","nodeType":"YulExpressionStatement","src":"401098:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401144:4:22","nodeType":"YulLiteral","src":"401144:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"401150:2:22","nodeType":"YulIdentifier","src":"401150:2:22"}],"functionName":{"name":"writeString","nativeSrc":"401132:11:22","nodeType":"YulIdentifier","src":"401132:11:22"},"nativeSrc":"401132:21:22","nodeType":"YulFunctionCall","src":"401132:21:22"},"nativeSrc":"401132:21:22","nodeType":"YulExpressionStatement","src":"401132:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43653,"isOffset":false,"isSlot":false,"src":"400605:2:22","valueSize":1},{"declaration":43656,"isOffset":false,"isSlot":false,"src":"400635:2:22","valueSize":1},{"declaration":43659,"isOffset":false,"isSlot":false,"src":"400665:2:22","valueSize":1},{"declaration":43662,"isOffset":false,"isSlot":false,"src":"400695:2:22","valueSize":1},{"declaration":43665,"isOffset":false,"isSlot":false,"src":"400725:2:22","valueSize":1},{"declaration":43668,"isOffset":false,"isSlot":false,"src":"400755:2:22","valueSize":1},{"declaration":43671,"isOffset":false,"isSlot":false,"src":"400785:2:22","valueSize":1},{"declaration":43674,"isOffset":false,"isSlot":false,"src":"400815:2:22","valueSize":1},{"declaration":43677,"isOffset":false,"isSlot":false,"src":"400845:2:22","valueSize":1},{"declaration":43643,"isOffset":false,"isSlot":false,"src":"401116:2:22","valueSize":1},{"declaration":43645,"isOffset":false,"isSlot":false,"src":"401150:2:22","valueSize":1},{"declaration":43647,"isOffset":false,"isSlot":false,"src":"401053:2:22","valueSize":1},{"declaration":43649,"isOffset":false,"isSlot":false,"src":"401082:2:22","valueSize":1}],"id":43679,"nodeType":"InlineAssembly","src":"400227:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401188:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401194:5:22","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":43680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"401172:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"401172:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43684,"nodeType":"ExpressionStatement","src":"401172:28:22"},{"AST":{"nativeSrc":"401262:273:22","nodeType":"YulBlock","src":"401262:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"401283:4:22","nodeType":"YulLiteral","src":"401283:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"401289:2:22","nodeType":"YulIdentifier","src":"401289:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401276:6:22","nodeType":"YulIdentifier","src":"401276:6:22"},"nativeSrc":"401276:16:22","nodeType":"YulFunctionCall","src":"401276:16:22"},"nativeSrc":"401276:16:22","nodeType":"YulExpressionStatement","src":"401276:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401312:4:22","nodeType":"YulLiteral","src":"401312:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"401318:2:22","nodeType":"YulIdentifier","src":"401318:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401305:6:22","nodeType":"YulIdentifier","src":"401305:6:22"},"nativeSrc":"401305:16:22","nodeType":"YulFunctionCall","src":"401305:16:22"},"nativeSrc":"401305:16:22","nodeType":"YulExpressionStatement","src":"401305:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401341:4:22","nodeType":"YulLiteral","src":"401341:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"401347:2:22","nodeType":"YulIdentifier","src":"401347:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401334:6:22","nodeType":"YulIdentifier","src":"401334:6:22"},"nativeSrc":"401334:16:22","nodeType":"YulFunctionCall","src":"401334:16:22"},"nativeSrc":"401334:16:22","nodeType":"YulExpressionStatement","src":"401334:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401370:4:22","nodeType":"YulLiteral","src":"401370:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"401376:2:22","nodeType":"YulIdentifier","src":"401376:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401363:6:22","nodeType":"YulIdentifier","src":"401363:6:22"},"nativeSrc":"401363:16:22","nodeType":"YulFunctionCall","src":"401363:16:22"},"nativeSrc":"401363:16:22","nodeType":"YulExpressionStatement","src":"401363:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401399:4:22","nodeType":"YulLiteral","src":"401399:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"401405:2:22","nodeType":"YulIdentifier","src":"401405:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401392:6:22","nodeType":"YulIdentifier","src":"401392:6:22"},"nativeSrc":"401392:16:22","nodeType":"YulFunctionCall","src":"401392:16:22"},"nativeSrc":"401392:16:22","nodeType":"YulExpressionStatement","src":"401392:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401428:4:22","nodeType":"YulLiteral","src":"401428:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"401434:2:22","nodeType":"YulIdentifier","src":"401434:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401421:6:22","nodeType":"YulIdentifier","src":"401421:6:22"},"nativeSrc":"401421:16:22","nodeType":"YulFunctionCall","src":"401421:16:22"},"nativeSrc":"401421:16:22","nodeType":"YulExpressionStatement","src":"401421:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401457:4:22","nodeType":"YulLiteral","src":"401457:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"401463:2:22","nodeType":"YulIdentifier","src":"401463:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401450:6:22","nodeType":"YulIdentifier","src":"401450:6:22"},"nativeSrc":"401450:16:22","nodeType":"YulFunctionCall","src":"401450:16:22"},"nativeSrc":"401450:16:22","nodeType":"YulExpressionStatement","src":"401450:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401486:4:22","nodeType":"YulLiteral","src":"401486:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"401492:2:22","nodeType":"YulIdentifier","src":"401492:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401479:6:22","nodeType":"YulIdentifier","src":"401479:6:22"},"nativeSrc":"401479:16:22","nodeType":"YulFunctionCall","src":"401479:16:22"},"nativeSrc":"401479:16:22","nodeType":"YulExpressionStatement","src":"401479:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401515:5:22","nodeType":"YulLiteral","src":"401515:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"401522:2:22","nodeType":"YulIdentifier","src":"401522:2:22"}],"functionName":{"name":"mstore","nativeSrc":"401508:6:22","nodeType":"YulIdentifier","src":"401508:6:22"},"nativeSrc":"401508:17:22","nodeType":"YulFunctionCall","src":"401508:17:22"},"nativeSrc":"401508:17:22","nodeType":"YulExpressionStatement","src":"401508:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43653,"isOffset":false,"isSlot":false,"src":"401289:2:22","valueSize":1},{"declaration":43656,"isOffset":false,"isSlot":false,"src":"401318:2:22","valueSize":1},{"declaration":43659,"isOffset":false,"isSlot":false,"src":"401347:2:22","valueSize":1},{"declaration":43662,"isOffset":false,"isSlot":false,"src":"401376:2:22","valueSize":1},{"declaration":43665,"isOffset":false,"isSlot":false,"src":"401405:2:22","valueSize":1},{"declaration":43668,"isOffset":false,"isSlot":false,"src":"401434:2:22","valueSize":1},{"declaration":43671,"isOffset":false,"isSlot":false,"src":"401463:2:22","valueSize":1},{"declaration":43674,"isOffset":false,"isSlot":false,"src":"401492:2:22","valueSize":1},{"declaration":43677,"isOffset":false,"isSlot":false,"src":"401522:2:22","valueSize":1}],"id":43685,"nodeType":"InlineAssembly","src":"401253:282:22"}]},"id":43687,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"399928:3:22","nodeType":"FunctionDefinition","parameters":{"id":43650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43643,"mutability":"mutable","name":"p0","nameLocation":"399940:2:22","nodeType":"VariableDeclaration","scope":43687,"src":"399932:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399932:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43645,"mutability":"mutable","name":"p1","nameLocation":"399952:2:22","nodeType":"VariableDeclaration","scope":43687,"src":"399944:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399944:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43647,"mutability":"mutable","name":"p2","nameLocation":"399964:2:22","nodeType":"VariableDeclaration","scope":43687,"src":"399956:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43646,"name":"address","nodeType":"ElementaryTypeName","src":"399956:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43649,"mutability":"mutable","name":"p3","nameLocation":"399976:2:22","nodeType":"VariableDeclaration","scope":43687,"src":"399968:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43648,"name":"address","nodeType":"ElementaryTypeName","src":"399968:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"399931:48:22"},"returnParameters":{"id":43651,"nodeType":"ParameterList","parameters":[],"src":"399994:0:22"},"scope":44426,"src":"399919:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43732,"nodeType":"Block","src":"401619:1544:22","statements":[{"assignments":[43699],"declarations":[{"constant":false,"id":43699,"mutability":"mutable","name":"m0","nameLocation":"401637:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401629:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43700,"nodeType":"VariableDeclarationStatement","src":"401629:10:22"},{"assignments":[43702],"declarations":[{"constant":false,"id":43702,"mutability":"mutable","name":"m1","nameLocation":"401657:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401649:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401649:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43703,"nodeType":"VariableDeclarationStatement","src":"401649:10:22"},{"assignments":[43705],"declarations":[{"constant":false,"id":43705,"mutability":"mutable","name":"m2","nameLocation":"401677:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401669:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401669:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43706,"nodeType":"VariableDeclarationStatement","src":"401669:10:22"},{"assignments":[43708],"declarations":[{"constant":false,"id":43708,"mutability":"mutable","name":"m3","nameLocation":"401697:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401689:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401689:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43709,"nodeType":"VariableDeclarationStatement","src":"401689:10:22"},{"assignments":[43711],"declarations":[{"constant":false,"id":43711,"mutability":"mutable","name":"m4","nameLocation":"401717:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43712,"nodeType":"VariableDeclarationStatement","src":"401709:10:22"},{"assignments":[43714],"declarations":[{"constant":false,"id":43714,"mutability":"mutable","name":"m5","nameLocation":"401737:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401729:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401729:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43715,"nodeType":"VariableDeclarationStatement","src":"401729:10:22"},{"assignments":[43717],"declarations":[{"constant":false,"id":43717,"mutability":"mutable","name":"m6","nameLocation":"401757:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401749:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43718,"nodeType":"VariableDeclarationStatement","src":"401749:10:22"},{"assignments":[43720],"declarations":[{"constant":false,"id":43720,"mutability":"mutable","name":"m7","nameLocation":"401777:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401769:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401769:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43721,"nodeType":"VariableDeclarationStatement","src":"401769:10:22"},{"assignments":[43723],"declarations":[{"constant":false,"id":43723,"mutability":"mutable","name":"m8","nameLocation":"401797:2:22","nodeType":"VariableDeclaration","scope":43732,"src":"401789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401789:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43724,"nodeType":"VariableDeclarationStatement","src":"401789:10:22"},{"AST":{"nativeSrc":"401861:924:22","nodeType":"YulBlock","src":"401861:924:22","statements":[{"body":{"nativeSrc":"401904:313:22","nodeType":"YulBlock","src":"401904:313:22","statements":[{"nativeSrc":"401922:15:22","nodeType":"YulVariableDeclaration","src":"401922:15:22","value":{"kind":"number","nativeSrc":"401936:1:22","nodeType":"YulLiteral","src":"401936:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"401926:6:22","nodeType":"YulTypedName","src":"401926:6:22","type":""}]},{"body":{"nativeSrc":"402007:40:22","nodeType":"YulBlock","src":"402007:40:22","statements":[{"body":{"nativeSrc":"402036:9:22","nodeType":"YulBlock","src":"402036:9:22","statements":[{"nativeSrc":"402038:5:22","nodeType":"YulBreak","src":"402038:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"402024:6:22","nodeType":"YulIdentifier","src":"402024:6:22"},{"name":"w","nativeSrc":"402032:1:22","nodeType":"YulIdentifier","src":"402032:1:22"}],"functionName":{"name":"byte","nativeSrc":"402019:4:22","nodeType":"YulIdentifier","src":"402019:4:22"},"nativeSrc":"402019:15:22","nodeType":"YulFunctionCall","src":"402019:15:22"}],"functionName":{"name":"iszero","nativeSrc":"402012:6:22","nodeType":"YulIdentifier","src":"402012:6:22"},"nativeSrc":"402012:23:22","nodeType":"YulFunctionCall","src":"402012:23:22"},"nativeSrc":"402009:36:22","nodeType":"YulIf","src":"402009:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"401964:6:22","nodeType":"YulIdentifier","src":"401964:6:22"},{"kind":"number","nativeSrc":"401972:4:22","nodeType":"YulLiteral","src":"401972:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"401961:2:22","nodeType":"YulIdentifier","src":"401961:2:22"},"nativeSrc":"401961:16:22","nodeType":"YulFunctionCall","src":"401961:16:22"},"nativeSrc":"401954:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"401978:28:22","nodeType":"YulBlock","src":"401978:28:22","statements":[{"nativeSrc":"401980:24:22","nodeType":"YulAssignment","src":"401980:24:22","value":{"arguments":[{"name":"length","nativeSrc":"401994:6:22","nodeType":"YulIdentifier","src":"401994:6:22"},{"kind":"number","nativeSrc":"402002:1:22","nodeType":"YulLiteral","src":"402002:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"401990:3:22","nodeType":"YulIdentifier","src":"401990:3:22"},"nativeSrc":"401990:14:22","nodeType":"YulFunctionCall","src":"401990:14:22"},"variableNames":[{"name":"length","nativeSrc":"401980:6:22","nodeType":"YulIdentifier","src":"401980:6:22"}]}]},"pre":{"nativeSrc":"401958:2:22","nodeType":"YulBlock","src":"401958:2:22","statements":[]},"src":"401954:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"402071:3:22","nodeType":"YulIdentifier","src":"402071:3:22"},{"name":"length","nativeSrc":"402076:6:22","nodeType":"YulIdentifier","src":"402076:6:22"}],"functionName":{"name":"mstore","nativeSrc":"402064:6:22","nodeType":"YulIdentifier","src":"402064:6:22"},"nativeSrc":"402064:19:22","nodeType":"YulFunctionCall","src":"402064:19:22"},"nativeSrc":"402064:19:22","nodeType":"YulExpressionStatement","src":"402064:19:22"},{"nativeSrc":"402100:37:22","nodeType":"YulVariableDeclaration","src":"402100:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"402117:3:22","nodeType":"YulLiteral","src":"402117:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"402126:1:22","nodeType":"YulLiteral","src":"402126:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"402129:6:22","nodeType":"YulIdentifier","src":"402129:6:22"}],"functionName":{"name":"shl","nativeSrc":"402122:3:22","nodeType":"YulIdentifier","src":"402122:3:22"},"nativeSrc":"402122:14:22","nodeType":"YulFunctionCall","src":"402122:14:22"}],"functionName":{"name":"sub","nativeSrc":"402113:3:22","nodeType":"YulIdentifier","src":"402113:3:22"},"nativeSrc":"402113:24:22","nodeType":"YulFunctionCall","src":"402113:24:22"},"variables":[{"name":"shift","nativeSrc":"402104:5:22","nodeType":"YulTypedName","src":"402104:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"402165:3:22","nodeType":"YulIdentifier","src":"402165:3:22"},{"kind":"number","nativeSrc":"402170:4:22","nodeType":"YulLiteral","src":"402170:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"402161:3:22","nodeType":"YulIdentifier","src":"402161:3:22"},"nativeSrc":"402161:14:22","nodeType":"YulFunctionCall","src":"402161:14:22"},{"arguments":[{"name":"shift","nativeSrc":"402181:5:22","nodeType":"YulIdentifier","src":"402181:5:22"},{"arguments":[{"name":"shift","nativeSrc":"402192:5:22","nodeType":"YulIdentifier","src":"402192:5:22"},{"name":"w","nativeSrc":"402199:1:22","nodeType":"YulIdentifier","src":"402199:1:22"}],"functionName":{"name":"shr","nativeSrc":"402188:3:22","nodeType":"YulIdentifier","src":"402188:3:22"},"nativeSrc":"402188:13:22","nodeType":"YulFunctionCall","src":"402188:13:22"}],"functionName":{"name":"shl","nativeSrc":"402177:3:22","nodeType":"YulIdentifier","src":"402177:3:22"},"nativeSrc":"402177:25:22","nodeType":"YulFunctionCall","src":"402177:25:22"}],"functionName":{"name":"mstore","nativeSrc":"402154:6:22","nodeType":"YulIdentifier","src":"402154:6:22"},"nativeSrc":"402154:49:22","nodeType":"YulFunctionCall","src":"402154:49:22"},"nativeSrc":"402154:49:22","nodeType":"YulExpressionStatement","src":"402154:49:22"}]},"name":"writeString","nativeSrc":"401875:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"401896:3:22","nodeType":"YulTypedName","src":"401896:3:22","type":""},{"name":"w","nativeSrc":"401901:1:22","nodeType":"YulTypedName","src":"401901:1:22","type":""}],"src":"401875:342:22"},{"nativeSrc":"402230:17:22","nodeType":"YulAssignment","src":"402230:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402242:4:22","nodeType":"YulLiteral","src":"402242:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"402236:5:22","nodeType":"YulIdentifier","src":"402236:5:22"},"nativeSrc":"402236:11:22","nodeType":"YulFunctionCall","src":"402236:11:22"},"variableNames":[{"name":"m0","nativeSrc":"402230:2:22","nodeType":"YulIdentifier","src":"402230:2:22"}]},{"nativeSrc":"402260:17:22","nodeType":"YulAssignment","src":"402260:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402272:4:22","nodeType":"YulLiteral","src":"402272:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"402266:5:22","nodeType":"YulIdentifier","src":"402266:5:22"},"nativeSrc":"402266:11:22","nodeType":"YulFunctionCall","src":"402266:11:22"},"variableNames":[{"name":"m1","nativeSrc":"402260:2:22","nodeType":"YulIdentifier","src":"402260:2:22"}]},{"nativeSrc":"402290:17:22","nodeType":"YulAssignment","src":"402290:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402302:4:22","nodeType":"YulLiteral","src":"402302:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"402296:5:22","nodeType":"YulIdentifier","src":"402296:5:22"},"nativeSrc":"402296:11:22","nodeType":"YulFunctionCall","src":"402296:11:22"},"variableNames":[{"name":"m2","nativeSrc":"402290:2:22","nodeType":"YulIdentifier","src":"402290:2:22"}]},{"nativeSrc":"402320:17:22","nodeType":"YulAssignment","src":"402320:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402332:4:22","nodeType":"YulLiteral","src":"402332:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"402326:5:22","nodeType":"YulIdentifier","src":"402326:5:22"},"nativeSrc":"402326:11:22","nodeType":"YulFunctionCall","src":"402326:11:22"},"variableNames":[{"name":"m3","nativeSrc":"402320:2:22","nodeType":"YulIdentifier","src":"402320:2:22"}]},{"nativeSrc":"402350:17:22","nodeType":"YulAssignment","src":"402350:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402362:4:22","nodeType":"YulLiteral","src":"402362:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"402356:5:22","nodeType":"YulIdentifier","src":"402356:5:22"},"nativeSrc":"402356:11:22","nodeType":"YulFunctionCall","src":"402356:11:22"},"variableNames":[{"name":"m4","nativeSrc":"402350:2:22","nodeType":"YulIdentifier","src":"402350:2:22"}]},{"nativeSrc":"402380:17:22","nodeType":"YulAssignment","src":"402380:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402392:4:22","nodeType":"YulLiteral","src":"402392:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"402386:5:22","nodeType":"YulIdentifier","src":"402386:5:22"},"nativeSrc":"402386:11:22","nodeType":"YulFunctionCall","src":"402386:11:22"},"variableNames":[{"name":"m5","nativeSrc":"402380:2:22","nodeType":"YulIdentifier","src":"402380:2:22"}]},{"nativeSrc":"402410:17:22","nodeType":"YulAssignment","src":"402410:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402422:4:22","nodeType":"YulLiteral","src":"402422:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"402416:5:22","nodeType":"YulIdentifier","src":"402416:5:22"},"nativeSrc":"402416:11:22","nodeType":"YulFunctionCall","src":"402416:11:22"},"variableNames":[{"name":"m6","nativeSrc":"402410:2:22","nodeType":"YulIdentifier","src":"402410:2:22"}]},{"nativeSrc":"402440:17:22","nodeType":"YulAssignment","src":"402440:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"402452:4:22","nodeType":"YulLiteral","src":"402452:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"402446:5:22","nodeType":"YulIdentifier","src":"402446:5:22"},"nativeSrc":"402446:11:22","nodeType":"YulFunctionCall","src":"402446:11:22"},"variableNames":[{"name":"m7","nativeSrc":"402440:2:22","nodeType":"YulIdentifier","src":"402440:2:22"}]},{"nativeSrc":"402470:18:22","nodeType":"YulAssignment","src":"402470:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"402482:5:22","nodeType":"YulLiteral","src":"402482:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"402476:5:22","nodeType":"YulIdentifier","src":"402476:5:22"},"nativeSrc":"402476:12:22","nodeType":"YulFunctionCall","src":"402476:12:22"},"variableNames":[{"name":"m8","nativeSrc":"402470:2:22","nodeType":"YulIdentifier","src":"402470:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402570:4:22","nodeType":"YulLiteral","src":"402570:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"402576:10:22","nodeType":"YulLiteral","src":"402576:10:22","type":"","value":"0x5ccd4e37"}],"functionName":{"name":"mstore","nativeSrc":"402563:6:22","nodeType":"YulIdentifier","src":"402563:6:22"},"nativeSrc":"402563:24:22","nodeType":"YulFunctionCall","src":"402563:24:22"},"nativeSrc":"402563:24:22","nodeType":"YulExpressionStatement","src":"402563:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402607:4:22","nodeType":"YulLiteral","src":"402607:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"402613:4:22","nodeType":"YulLiteral","src":"402613:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"402600:6:22","nodeType":"YulIdentifier","src":"402600:6:22"},"nativeSrc":"402600:18:22","nodeType":"YulFunctionCall","src":"402600:18:22"},"nativeSrc":"402600:18:22","nodeType":"YulExpressionStatement","src":"402600:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402638:4:22","nodeType":"YulLiteral","src":"402638:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"402644:4:22","nodeType":"YulLiteral","src":"402644:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"402631:6:22","nodeType":"YulIdentifier","src":"402631:6:22"},"nativeSrc":"402631:18:22","nodeType":"YulFunctionCall","src":"402631:18:22"},"nativeSrc":"402631:18:22","nodeType":"YulExpressionStatement","src":"402631:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402669:4:22","nodeType":"YulLiteral","src":"402669:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"402675:2:22","nodeType":"YulIdentifier","src":"402675:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402662:6:22","nodeType":"YulIdentifier","src":"402662:6:22"},"nativeSrc":"402662:16:22","nodeType":"YulFunctionCall","src":"402662:16:22"},"nativeSrc":"402662:16:22","nodeType":"YulExpressionStatement","src":"402662:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402698:4:22","nodeType":"YulLiteral","src":"402698:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"402704:2:22","nodeType":"YulIdentifier","src":"402704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402691:6:22","nodeType":"YulIdentifier","src":"402691:6:22"},"nativeSrc":"402691:16:22","nodeType":"YulFunctionCall","src":"402691:16:22"},"nativeSrc":"402691:16:22","nodeType":"YulExpressionStatement","src":"402691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402732:4:22","nodeType":"YulLiteral","src":"402732:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"402738:2:22","nodeType":"YulIdentifier","src":"402738:2:22"}],"functionName":{"name":"writeString","nativeSrc":"402720:11:22","nodeType":"YulIdentifier","src":"402720:11:22"},"nativeSrc":"402720:21:22","nodeType":"YulFunctionCall","src":"402720:21:22"},"nativeSrc":"402720:21:22","nodeType":"YulExpressionStatement","src":"402720:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402766:4:22","nodeType":"YulLiteral","src":"402766:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"402772:2:22","nodeType":"YulIdentifier","src":"402772:2:22"}],"functionName":{"name":"writeString","nativeSrc":"402754:11:22","nodeType":"YulIdentifier","src":"402754:11:22"},"nativeSrc":"402754:21:22","nodeType":"YulFunctionCall","src":"402754:21:22"},"nativeSrc":"402754:21:22","nodeType":"YulExpressionStatement","src":"402754:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43699,"isOffset":false,"isSlot":false,"src":"402230:2:22","valueSize":1},{"declaration":43702,"isOffset":false,"isSlot":false,"src":"402260:2:22","valueSize":1},{"declaration":43705,"isOffset":false,"isSlot":false,"src":"402290:2:22","valueSize":1},{"declaration":43708,"isOffset":false,"isSlot":false,"src":"402320:2:22","valueSize":1},{"declaration":43711,"isOffset":false,"isSlot":false,"src":"402350:2:22","valueSize":1},{"declaration":43714,"isOffset":false,"isSlot":false,"src":"402380:2:22","valueSize":1},{"declaration":43717,"isOffset":false,"isSlot":false,"src":"402410:2:22","valueSize":1},{"declaration":43720,"isOffset":false,"isSlot":false,"src":"402440:2:22","valueSize":1},{"declaration":43723,"isOffset":false,"isSlot":false,"src":"402470:2:22","valueSize":1},{"declaration":43689,"isOffset":false,"isSlot":false,"src":"402738:2:22","valueSize":1},{"declaration":43691,"isOffset":false,"isSlot":false,"src":"402772:2:22","valueSize":1},{"declaration":43693,"isOffset":false,"isSlot":false,"src":"402675:2:22","valueSize":1},{"declaration":43695,"isOffset":false,"isSlot":false,"src":"402704:2:22","valueSize":1}],"id":43725,"nodeType":"InlineAssembly","src":"401852:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402810:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402816:5:22","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":43726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"402794:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"402794:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43730,"nodeType":"ExpressionStatement","src":"402794:28:22"},{"AST":{"nativeSrc":"402884:273:22","nodeType":"YulBlock","src":"402884:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"402905:4:22","nodeType":"YulLiteral","src":"402905:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"402911:2:22","nodeType":"YulIdentifier","src":"402911:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402898:6:22","nodeType":"YulIdentifier","src":"402898:6:22"},"nativeSrc":"402898:16:22","nodeType":"YulFunctionCall","src":"402898:16:22"},"nativeSrc":"402898:16:22","nodeType":"YulExpressionStatement","src":"402898:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402934:4:22","nodeType":"YulLiteral","src":"402934:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"402940:2:22","nodeType":"YulIdentifier","src":"402940:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402927:6:22","nodeType":"YulIdentifier","src":"402927:6:22"},"nativeSrc":"402927:16:22","nodeType":"YulFunctionCall","src":"402927:16:22"},"nativeSrc":"402927:16:22","nodeType":"YulExpressionStatement","src":"402927:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402963:4:22","nodeType":"YulLiteral","src":"402963:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"402969:2:22","nodeType":"YulIdentifier","src":"402969:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402956:6:22","nodeType":"YulIdentifier","src":"402956:6:22"},"nativeSrc":"402956:16:22","nodeType":"YulFunctionCall","src":"402956:16:22"},"nativeSrc":"402956:16:22","nodeType":"YulExpressionStatement","src":"402956:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402992:4:22","nodeType":"YulLiteral","src":"402992:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"402998:2:22","nodeType":"YulIdentifier","src":"402998:2:22"}],"functionName":{"name":"mstore","nativeSrc":"402985:6:22","nodeType":"YulIdentifier","src":"402985:6:22"},"nativeSrc":"402985:16:22","nodeType":"YulFunctionCall","src":"402985:16:22"},"nativeSrc":"402985:16:22","nodeType":"YulExpressionStatement","src":"402985:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403021:4:22","nodeType":"YulLiteral","src":"403021:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"403027:2:22","nodeType":"YulIdentifier","src":"403027:2:22"}],"functionName":{"name":"mstore","nativeSrc":"403014:6:22","nodeType":"YulIdentifier","src":"403014:6:22"},"nativeSrc":"403014:16:22","nodeType":"YulFunctionCall","src":"403014:16:22"},"nativeSrc":"403014:16:22","nodeType":"YulExpressionStatement","src":"403014:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403050:4:22","nodeType":"YulLiteral","src":"403050:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"403056:2:22","nodeType":"YulIdentifier","src":"403056:2:22"}],"functionName":{"name":"mstore","nativeSrc":"403043:6:22","nodeType":"YulIdentifier","src":"403043:6:22"},"nativeSrc":"403043:16:22","nodeType":"YulFunctionCall","src":"403043:16:22"},"nativeSrc":"403043:16:22","nodeType":"YulExpressionStatement","src":"403043:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403079:4:22","nodeType":"YulLiteral","src":"403079:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"403085:2:22","nodeType":"YulIdentifier","src":"403085:2:22"}],"functionName":{"name":"mstore","nativeSrc":"403072:6:22","nodeType":"YulIdentifier","src":"403072:6:22"},"nativeSrc":"403072:16:22","nodeType":"YulFunctionCall","src":"403072:16:22"},"nativeSrc":"403072:16:22","nodeType":"YulExpressionStatement","src":"403072:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403108:4:22","nodeType":"YulLiteral","src":"403108:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"403114:2:22","nodeType":"YulIdentifier","src":"403114:2:22"}],"functionName":{"name":"mstore","nativeSrc":"403101:6:22","nodeType":"YulIdentifier","src":"403101:6:22"},"nativeSrc":"403101:16:22","nodeType":"YulFunctionCall","src":"403101:16:22"},"nativeSrc":"403101:16:22","nodeType":"YulExpressionStatement","src":"403101:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403137:5:22","nodeType":"YulLiteral","src":"403137:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"403144:2:22","nodeType":"YulIdentifier","src":"403144:2:22"}],"functionName":{"name":"mstore","nativeSrc":"403130:6:22","nodeType":"YulIdentifier","src":"403130:6:22"},"nativeSrc":"403130:17:22","nodeType":"YulFunctionCall","src":"403130:17:22"},"nativeSrc":"403130:17:22","nodeType":"YulExpressionStatement","src":"403130:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43699,"isOffset":false,"isSlot":false,"src":"402911:2:22","valueSize":1},{"declaration":43702,"isOffset":false,"isSlot":false,"src":"402940:2:22","valueSize":1},{"declaration":43705,"isOffset":false,"isSlot":false,"src":"402969:2:22","valueSize":1},{"declaration":43708,"isOffset":false,"isSlot":false,"src":"402998:2:22","valueSize":1},{"declaration":43711,"isOffset":false,"isSlot":false,"src":"403027:2:22","valueSize":1},{"declaration":43714,"isOffset":false,"isSlot":false,"src":"403056:2:22","valueSize":1},{"declaration":43717,"isOffset":false,"isSlot":false,"src":"403085:2:22","valueSize":1},{"declaration":43720,"isOffset":false,"isSlot":false,"src":"403114:2:22","valueSize":1},{"declaration":43723,"isOffset":false,"isSlot":false,"src":"403144:2:22","valueSize":1}],"id":43731,"nodeType":"InlineAssembly","src":"402875:282:22"}]},"id":43733,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"401556:3:22","nodeType":"FunctionDefinition","parameters":{"id":43696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43689,"mutability":"mutable","name":"p0","nameLocation":"401568:2:22","nodeType":"VariableDeclaration","scope":43733,"src":"401560:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401560:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43691,"mutability":"mutable","name":"p1","nameLocation":"401580:2:22","nodeType":"VariableDeclaration","scope":43733,"src":"401572:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401572:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43693,"mutability":"mutable","name":"p2","nameLocation":"401592:2:22","nodeType":"VariableDeclaration","scope":43733,"src":"401584:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43692,"name":"address","nodeType":"ElementaryTypeName","src":"401584:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43695,"mutability":"mutable","name":"p3","nameLocation":"401601:2:22","nodeType":"VariableDeclaration","scope":43733,"src":"401596:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43694,"name":"bool","nodeType":"ElementaryTypeName","src":"401596:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"401559:45:22"},"returnParameters":{"id":43697,"nodeType":"ParameterList","parameters":[],"src":"401619:0:22"},"scope":44426,"src":"401547:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43778,"nodeType":"Block","src":"403244:1547:22","statements":[{"assignments":[43745],"declarations":[{"constant":false,"id":43745,"mutability":"mutable","name":"m0","nameLocation":"403262:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403254:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403254:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43746,"nodeType":"VariableDeclarationStatement","src":"403254:10:22"},{"assignments":[43748],"declarations":[{"constant":false,"id":43748,"mutability":"mutable","name":"m1","nameLocation":"403282:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403274:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403274:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43749,"nodeType":"VariableDeclarationStatement","src":"403274:10:22"},{"assignments":[43751],"declarations":[{"constant":false,"id":43751,"mutability":"mutable","name":"m2","nameLocation":"403302:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403294:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403294:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43752,"nodeType":"VariableDeclarationStatement","src":"403294:10:22"},{"assignments":[43754],"declarations":[{"constant":false,"id":43754,"mutability":"mutable","name":"m3","nameLocation":"403322:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403314:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403314:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43755,"nodeType":"VariableDeclarationStatement","src":"403314:10:22"},{"assignments":[43757],"declarations":[{"constant":false,"id":43757,"mutability":"mutable","name":"m4","nameLocation":"403342:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403334:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403334:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43758,"nodeType":"VariableDeclarationStatement","src":"403334:10:22"},{"assignments":[43760],"declarations":[{"constant":false,"id":43760,"mutability":"mutable","name":"m5","nameLocation":"403362:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403354:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403354:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43761,"nodeType":"VariableDeclarationStatement","src":"403354:10:22"},{"assignments":[43763],"declarations":[{"constant":false,"id":43763,"mutability":"mutable","name":"m6","nameLocation":"403382:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403374:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403374:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43764,"nodeType":"VariableDeclarationStatement","src":"403374:10:22"},{"assignments":[43766],"declarations":[{"constant":false,"id":43766,"mutability":"mutable","name":"m7","nameLocation":"403402:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403394:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403394:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43767,"nodeType":"VariableDeclarationStatement","src":"403394:10:22"},{"assignments":[43769],"declarations":[{"constant":false,"id":43769,"mutability":"mutable","name":"m8","nameLocation":"403422:2:22","nodeType":"VariableDeclaration","scope":43778,"src":"403414:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403414:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43770,"nodeType":"VariableDeclarationStatement","src":"403414:10:22"},{"AST":{"nativeSrc":"403486:927:22","nodeType":"YulBlock","src":"403486:927:22","statements":[{"body":{"nativeSrc":"403529:313:22","nodeType":"YulBlock","src":"403529:313:22","statements":[{"nativeSrc":"403547:15:22","nodeType":"YulVariableDeclaration","src":"403547:15:22","value":{"kind":"number","nativeSrc":"403561:1:22","nodeType":"YulLiteral","src":"403561:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"403551:6:22","nodeType":"YulTypedName","src":"403551:6:22","type":""}]},{"body":{"nativeSrc":"403632:40:22","nodeType":"YulBlock","src":"403632:40:22","statements":[{"body":{"nativeSrc":"403661:9:22","nodeType":"YulBlock","src":"403661:9:22","statements":[{"nativeSrc":"403663:5:22","nodeType":"YulBreak","src":"403663:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"403649:6:22","nodeType":"YulIdentifier","src":"403649:6:22"},{"name":"w","nativeSrc":"403657:1:22","nodeType":"YulIdentifier","src":"403657:1:22"}],"functionName":{"name":"byte","nativeSrc":"403644:4:22","nodeType":"YulIdentifier","src":"403644:4:22"},"nativeSrc":"403644:15:22","nodeType":"YulFunctionCall","src":"403644:15:22"}],"functionName":{"name":"iszero","nativeSrc":"403637:6:22","nodeType":"YulIdentifier","src":"403637:6:22"},"nativeSrc":"403637:23:22","nodeType":"YulFunctionCall","src":"403637:23:22"},"nativeSrc":"403634:36:22","nodeType":"YulIf","src":"403634:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"403589:6:22","nodeType":"YulIdentifier","src":"403589:6:22"},{"kind":"number","nativeSrc":"403597:4:22","nodeType":"YulLiteral","src":"403597:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"403586:2:22","nodeType":"YulIdentifier","src":"403586:2:22"},"nativeSrc":"403586:16:22","nodeType":"YulFunctionCall","src":"403586:16:22"},"nativeSrc":"403579:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"403603:28:22","nodeType":"YulBlock","src":"403603:28:22","statements":[{"nativeSrc":"403605:24:22","nodeType":"YulAssignment","src":"403605:24:22","value":{"arguments":[{"name":"length","nativeSrc":"403619:6:22","nodeType":"YulIdentifier","src":"403619:6:22"},{"kind":"number","nativeSrc":"403627:1:22","nodeType":"YulLiteral","src":"403627:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"403615:3:22","nodeType":"YulIdentifier","src":"403615:3:22"},"nativeSrc":"403615:14:22","nodeType":"YulFunctionCall","src":"403615:14:22"},"variableNames":[{"name":"length","nativeSrc":"403605:6:22","nodeType":"YulIdentifier","src":"403605:6:22"}]}]},"pre":{"nativeSrc":"403583:2:22","nodeType":"YulBlock","src":"403583:2:22","statements":[]},"src":"403579:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"403696:3:22","nodeType":"YulIdentifier","src":"403696:3:22"},{"name":"length","nativeSrc":"403701:6:22","nodeType":"YulIdentifier","src":"403701:6:22"}],"functionName":{"name":"mstore","nativeSrc":"403689:6:22","nodeType":"YulIdentifier","src":"403689:6:22"},"nativeSrc":"403689:19:22","nodeType":"YulFunctionCall","src":"403689:19:22"},"nativeSrc":"403689:19:22","nodeType":"YulExpressionStatement","src":"403689:19:22"},{"nativeSrc":"403725:37:22","nodeType":"YulVariableDeclaration","src":"403725:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"403742:3:22","nodeType":"YulLiteral","src":"403742:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"403751:1:22","nodeType":"YulLiteral","src":"403751:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"403754:6:22","nodeType":"YulIdentifier","src":"403754:6:22"}],"functionName":{"name":"shl","nativeSrc":"403747:3:22","nodeType":"YulIdentifier","src":"403747:3:22"},"nativeSrc":"403747:14:22","nodeType":"YulFunctionCall","src":"403747:14:22"}],"functionName":{"name":"sub","nativeSrc":"403738:3:22","nodeType":"YulIdentifier","src":"403738:3:22"},"nativeSrc":"403738:24:22","nodeType":"YulFunctionCall","src":"403738:24:22"},"variables":[{"name":"shift","nativeSrc":"403729:5:22","nodeType":"YulTypedName","src":"403729:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"403790:3:22","nodeType":"YulIdentifier","src":"403790:3:22"},{"kind":"number","nativeSrc":"403795:4:22","nodeType":"YulLiteral","src":"403795:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"403786:3:22","nodeType":"YulIdentifier","src":"403786:3:22"},"nativeSrc":"403786:14:22","nodeType":"YulFunctionCall","src":"403786:14:22"},{"arguments":[{"name":"shift","nativeSrc":"403806:5:22","nodeType":"YulIdentifier","src":"403806:5:22"},{"arguments":[{"name":"shift","nativeSrc":"403817:5:22","nodeType":"YulIdentifier","src":"403817:5:22"},{"name":"w","nativeSrc":"403824:1:22","nodeType":"YulIdentifier","src":"403824:1:22"}],"functionName":{"name":"shr","nativeSrc":"403813:3:22","nodeType":"YulIdentifier","src":"403813:3:22"},"nativeSrc":"403813:13:22","nodeType":"YulFunctionCall","src":"403813:13:22"}],"functionName":{"name":"shl","nativeSrc":"403802:3:22","nodeType":"YulIdentifier","src":"403802:3:22"},"nativeSrc":"403802:25:22","nodeType":"YulFunctionCall","src":"403802:25:22"}],"functionName":{"name":"mstore","nativeSrc":"403779:6:22","nodeType":"YulIdentifier","src":"403779:6:22"},"nativeSrc":"403779:49:22","nodeType":"YulFunctionCall","src":"403779:49:22"},"nativeSrc":"403779:49:22","nodeType":"YulExpressionStatement","src":"403779:49:22"}]},"name":"writeString","nativeSrc":"403500:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"403521:3:22","nodeType":"YulTypedName","src":"403521:3:22","type":""},{"name":"w","nativeSrc":"403526:1:22","nodeType":"YulTypedName","src":"403526:1:22","type":""}],"src":"403500:342:22"},{"nativeSrc":"403855:17:22","nodeType":"YulAssignment","src":"403855:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"403867:4:22","nodeType":"YulLiteral","src":"403867:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"403861:5:22","nodeType":"YulIdentifier","src":"403861:5:22"},"nativeSrc":"403861:11:22","nodeType":"YulFunctionCall","src":"403861:11:22"},"variableNames":[{"name":"m0","nativeSrc":"403855:2:22","nodeType":"YulIdentifier","src":"403855:2:22"}]},{"nativeSrc":"403885:17:22","nodeType":"YulAssignment","src":"403885:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"403897:4:22","nodeType":"YulLiteral","src":"403897:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"403891:5:22","nodeType":"YulIdentifier","src":"403891:5:22"},"nativeSrc":"403891:11:22","nodeType":"YulFunctionCall","src":"403891:11:22"},"variableNames":[{"name":"m1","nativeSrc":"403885:2:22","nodeType":"YulIdentifier","src":"403885:2:22"}]},{"nativeSrc":"403915:17:22","nodeType":"YulAssignment","src":"403915:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"403927:4:22","nodeType":"YulLiteral","src":"403927:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"403921:5:22","nodeType":"YulIdentifier","src":"403921:5:22"},"nativeSrc":"403921:11:22","nodeType":"YulFunctionCall","src":"403921:11:22"},"variableNames":[{"name":"m2","nativeSrc":"403915:2:22","nodeType":"YulIdentifier","src":"403915:2:22"}]},{"nativeSrc":"403945:17:22","nodeType":"YulAssignment","src":"403945:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"403957:4:22","nodeType":"YulLiteral","src":"403957:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"403951:5:22","nodeType":"YulIdentifier","src":"403951:5:22"},"nativeSrc":"403951:11:22","nodeType":"YulFunctionCall","src":"403951:11:22"},"variableNames":[{"name":"m3","nativeSrc":"403945:2:22","nodeType":"YulIdentifier","src":"403945:2:22"}]},{"nativeSrc":"403975:17:22","nodeType":"YulAssignment","src":"403975:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"403987:4:22","nodeType":"YulLiteral","src":"403987:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"403981:5:22","nodeType":"YulIdentifier","src":"403981:5:22"},"nativeSrc":"403981:11:22","nodeType":"YulFunctionCall","src":"403981:11:22"},"variableNames":[{"name":"m4","nativeSrc":"403975:2:22","nodeType":"YulIdentifier","src":"403975:2:22"}]},{"nativeSrc":"404005:17:22","nodeType":"YulAssignment","src":"404005:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"404017:4:22","nodeType":"YulLiteral","src":"404017:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"404011:5:22","nodeType":"YulIdentifier","src":"404011:5:22"},"nativeSrc":"404011:11:22","nodeType":"YulFunctionCall","src":"404011:11:22"},"variableNames":[{"name":"m5","nativeSrc":"404005:2:22","nodeType":"YulIdentifier","src":"404005:2:22"}]},{"nativeSrc":"404035:17:22","nodeType":"YulAssignment","src":"404035:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"404047:4:22","nodeType":"YulLiteral","src":"404047:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"404041:5:22","nodeType":"YulIdentifier","src":"404041:5:22"},"nativeSrc":"404041:11:22","nodeType":"YulFunctionCall","src":"404041:11:22"},"variableNames":[{"name":"m6","nativeSrc":"404035:2:22","nodeType":"YulIdentifier","src":"404035:2:22"}]},{"nativeSrc":"404065:17:22","nodeType":"YulAssignment","src":"404065:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"404077:4:22","nodeType":"YulLiteral","src":"404077:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"404071:5:22","nodeType":"YulIdentifier","src":"404071:5:22"},"nativeSrc":"404071:11:22","nodeType":"YulFunctionCall","src":"404071:11:22"},"variableNames":[{"name":"m7","nativeSrc":"404065:2:22","nodeType":"YulIdentifier","src":"404065:2:22"}]},{"nativeSrc":"404095:18:22","nodeType":"YulAssignment","src":"404095:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"404107:5:22","nodeType":"YulLiteral","src":"404107:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"404101:5:22","nodeType":"YulIdentifier","src":"404101:5:22"},"nativeSrc":"404101:12:22","nodeType":"YulFunctionCall","src":"404101:12:22"},"variableNames":[{"name":"m8","nativeSrc":"404095:2:22","nodeType":"YulIdentifier","src":"404095:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404198:4:22","nodeType":"YulLiteral","src":"404198:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"404204:10:22","nodeType":"YulLiteral","src":"404204:10:22","type":"","value":"0x7cc3c607"}],"functionName":{"name":"mstore","nativeSrc":"404191:6:22","nodeType":"YulIdentifier","src":"404191:6:22"},"nativeSrc":"404191:24:22","nodeType":"YulFunctionCall","src":"404191:24:22"},"nativeSrc":"404191:24:22","nodeType":"YulExpressionStatement","src":"404191:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404235:4:22","nodeType":"YulLiteral","src":"404235:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"404241:4:22","nodeType":"YulLiteral","src":"404241:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"404228:6:22","nodeType":"YulIdentifier","src":"404228:6:22"},"nativeSrc":"404228:18:22","nodeType":"YulFunctionCall","src":"404228:18:22"},"nativeSrc":"404228:18:22","nodeType":"YulExpressionStatement","src":"404228:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404266:4:22","nodeType":"YulLiteral","src":"404266:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"404272:4:22","nodeType":"YulLiteral","src":"404272:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"404259:6:22","nodeType":"YulIdentifier","src":"404259:6:22"},"nativeSrc":"404259:18:22","nodeType":"YulFunctionCall","src":"404259:18:22"},"nativeSrc":"404259:18:22","nodeType":"YulExpressionStatement","src":"404259:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404297:4:22","nodeType":"YulLiteral","src":"404297:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"404303:2:22","nodeType":"YulIdentifier","src":"404303:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404290:6:22","nodeType":"YulIdentifier","src":"404290:6:22"},"nativeSrc":"404290:16:22","nodeType":"YulFunctionCall","src":"404290:16:22"},"nativeSrc":"404290:16:22","nodeType":"YulExpressionStatement","src":"404290:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404326:4:22","nodeType":"YulLiteral","src":"404326:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"404332:2:22","nodeType":"YulIdentifier","src":"404332:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404319:6:22","nodeType":"YulIdentifier","src":"404319:6:22"},"nativeSrc":"404319:16:22","nodeType":"YulFunctionCall","src":"404319:16:22"},"nativeSrc":"404319:16:22","nodeType":"YulExpressionStatement","src":"404319:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404360:4:22","nodeType":"YulLiteral","src":"404360:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"404366:2:22","nodeType":"YulIdentifier","src":"404366:2:22"}],"functionName":{"name":"writeString","nativeSrc":"404348:11:22","nodeType":"YulIdentifier","src":"404348:11:22"},"nativeSrc":"404348:21:22","nodeType":"YulFunctionCall","src":"404348:21:22"},"nativeSrc":"404348:21:22","nodeType":"YulExpressionStatement","src":"404348:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404394:4:22","nodeType":"YulLiteral","src":"404394:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"404400:2:22","nodeType":"YulIdentifier","src":"404400:2:22"}],"functionName":{"name":"writeString","nativeSrc":"404382:11:22","nodeType":"YulIdentifier","src":"404382:11:22"},"nativeSrc":"404382:21:22","nodeType":"YulFunctionCall","src":"404382:21:22"},"nativeSrc":"404382:21:22","nodeType":"YulExpressionStatement","src":"404382:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43745,"isOffset":false,"isSlot":false,"src":"403855:2:22","valueSize":1},{"declaration":43748,"isOffset":false,"isSlot":false,"src":"403885:2:22","valueSize":1},{"declaration":43751,"isOffset":false,"isSlot":false,"src":"403915:2:22","valueSize":1},{"declaration":43754,"isOffset":false,"isSlot":false,"src":"403945:2:22","valueSize":1},{"declaration":43757,"isOffset":false,"isSlot":false,"src":"403975:2:22","valueSize":1},{"declaration":43760,"isOffset":false,"isSlot":false,"src":"404005:2:22","valueSize":1},{"declaration":43763,"isOffset":false,"isSlot":false,"src":"404035:2:22","valueSize":1},{"declaration":43766,"isOffset":false,"isSlot":false,"src":"404065:2:22","valueSize":1},{"declaration":43769,"isOffset":false,"isSlot":false,"src":"404095:2:22","valueSize":1},{"declaration":43735,"isOffset":false,"isSlot":false,"src":"404366:2:22","valueSize":1},{"declaration":43737,"isOffset":false,"isSlot":false,"src":"404400:2:22","valueSize":1},{"declaration":43739,"isOffset":false,"isSlot":false,"src":"404303:2:22","valueSize":1},{"declaration":43741,"isOffset":false,"isSlot":false,"src":"404332:2:22","valueSize":1}],"id":43771,"nodeType":"InlineAssembly","src":"403477:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404438:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404444:5:22","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":43772,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"404422:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"404422:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43776,"nodeType":"ExpressionStatement","src":"404422:28:22"},{"AST":{"nativeSrc":"404512:273:22","nodeType":"YulBlock","src":"404512:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"404533:4:22","nodeType":"YulLiteral","src":"404533:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"404539:2:22","nodeType":"YulIdentifier","src":"404539:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404526:6:22","nodeType":"YulIdentifier","src":"404526:6:22"},"nativeSrc":"404526:16:22","nodeType":"YulFunctionCall","src":"404526:16:22"},"nativeSrc":"404526:16:22","nodeType":"YulExpressionStatement","src":"404526:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404562:4:22","nodeType":"YulLiteral","src":"404562:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"404568:2:22","nodeType":"YulIdentifier","src":"404568:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404555:6:22","nodeType":"YulIdentifier","src":"404555:6:22"},"nativeSrc":"404555:16:22","nodeType":"YulFunctionCall","src":"404555:16:22"},"nativeSrc":"404555:16:22","nodeType":"YulExpressionStatement","src":"404555:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404591:4:22","nodeType":"YulLiteral","src":"404591:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"404597:2:22","nodeType":"YulIdentifier","src":"404597:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404584:6:22","nodeType":"YulIdentifier","src":"404584:6:22"},"nativeSrc":"404584:16:22","nodeType":"YulFunctionCall","src":"404584:16:22"},"nativeSrc":"404584:16:22","nodeType":"YulExpressionStatement","src":"404584:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404620:4:22","nodeType":"YulLiteral","src":"404620:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"404626:2:22","nodeType":"YulIdentifier","src":"404626:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404613:6:22","nodeType":"YulIdentifier","src":"404613:6:22"},"nativeSrc":"404613:16:22","nodeType":"YulFunctionCall","src":"404613:16:22"},"nativeSrc":"404613:16:22","nodeType":"YulExpressionStatement","src":"404613:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404649:4:22","nodeType":"YulLiteral","src":"404649:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"404655:2:22","nodeType":"YulIdentifier","src":"404655:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404642:6:22","nodeType":"YulIdentifier","src":"404642:6:22"},"nativeSrc":"404642:16:22","nodeType":"YulFunctionCall","src":"404642:16:22"},"nativeSrc":"404642:16:22","nodeType":"YulExpressionStatement","src":"404642:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404678:4:22","nodeType":"YulLiteral","src":"404678:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"404684:2:22","nodeType":"YulIdentifier","src":"404684:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404671:6:22","nodeType":"YulIdentifier","src":"404671:6:22"},"nativeSrc":"404671:16:22","nodeType":"YulFunctionCall","src":"404671:16:22"},"nativeSrc":"404671:16:22","nodeType":"YulExpressionStatement","src":"404671:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404707:4:22","nodeType":"YulLiteral","src":"404707:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"404713:2:22","nodeType":"YulIdentifier","src":"404713:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404700:6:22","nodeType":"YulIdentifier","src":"404700:6:22"},"nativeSrc":"404700:16:22","nodeType":"YulFunctionCall","src":"404700:16:22"},"nativeSrc":"404700:16:22","nodeType":"YulExpressionStatement","src":"404700:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404736:4:22","nodeType":"YulLiteral","src":"404736:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"404742:2:22","nodeType":"YulIdentifier","src":"404742:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404729:6:22","nodeType":"YulIdentifier","src":"404729:6:22"},"nativeSrc":"404729:16:22","nodeType":"YulFunctionCall","src":"404729:16:22"},"nativeSrc":"404729:16:22","nodeType":"YulExpressionStatement","src":"404729:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404765:5:22","nodeType":"YulLiteral","src":"404765:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"404772:2:22","nodeType":"YulIdentifier","src":"404772:2:22"}],"functionName":{"name":"mstore","nativeSrc":"404758:6:22","nodeType":"YulIdentifier","src":"404758:6:22"},"nativeSrc":"404758:17:22","nodeType":"YulFunctionCall","src":"404758:17:22"},"nativeSrc":"404758:17:22","nodeType":"YulExpressionStatement","src":"404758:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43745,"isOffset":false,"isSlot":false,"src":"404539:2:22","valueSize":1},{"declaration":43748,"isOffset":false,"isSlot":false,"src":"404568:2:22","valueSize":1},{"declaration":43751,"isOffset":false,"isSlot":false,"src":"404597:2:22","valueSize":1},{"declaration":43754,"isOffset":false,"isSlot":false,"src":"404626:2:22","valueSize":1},{"declaration":43757,"isOffset":false,"isSlot":false,"src":"404655:2:22","valueSize":1},{"declaration":43760,"isOffset":false,"isSlot":false,"src":"404684:2:22","valueSize":1},{"declaration":43763,"isOffset":false,"isSlot":false,"src":"404713:2:22","valueSize":1},{"declaration":43766,"isOffset":false,"isSlot":false,"src":"404742:2:22","valueSize":1},{"declaration":43769,"isOffset":false,"isSlot":false,"src":"404772:2:22","valueSize":1}],"id":43777,"nodeType":"InlineAssembly","src":"404503:282:22"}]},"id":43779,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"403178:3:22","nodeType":"FunctionDefinition","parameters":{"id":43742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43735,"mutability":"mutable","name":"p0","nameLocation":"403190:2:22","nodeType":"VariableDeclaration","scope":43779,"src":"403182:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403182:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43737,"mutability":"mutable","name":"p1","nameLocation":"403202:2:22","nodeType":"VariableDeclaration","scope":43779,"src":"403194:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403194:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43739,"mutability":"mutable","name":"p2","nameLocation":"403214:2:22","nodeType":"VariableDeclaration","scope":43779,"src":"403206:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43738,"name":"address","nodeType":"ElementaryTypeName","src":"403206:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43741,"mutability":"mutable","name":"p3","nameLocation":"403226:2:22","nodeType":"VariableDeclaration","scope":43779,"src":"403218:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43740,"name":"uint256","nodeType":"ElementaryTypeName","src":"403218:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"403181:48:22"},"returnParameters":{"id":43743,"nodeType":"ParameterList","parameters":[],"src":"403244:0:22"},"scope":44426,"src":"403169:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43830,"nodeType":"Block","src":"404872:1749:22","statements":[{"assignments":[43791],"declarations":[{"constant":false,"id":43791,"mutability":"mutable","name":"m0","nameLocation":"404890:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404882:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404882:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43792,"nodeType":"VariableDeclarationStatement","src":"404882:10:22"},{"assignments":[43794],"declarations":[{"constant":false,"id":43794,"mutability":"mutable","name":"m1","nameLocation":"404910:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404902:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404902:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43795,"nodeType":"VariableDeclarationStatement","src":"404902:10:22"},{"assignments":[43797],"declarations":[{"constant":false,"id":43797,"mutability":"mutable","name":"m2","nameLocation":"404930:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404922:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404922:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43798,"nodeType":"VariableDeclarationStatement","src":"404922:10:22"},{"assignments":[43800],"declarations":[{"constant":false,"id":43800,"mutability":"mutable","name":"m3","nameLocation":"404950:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404942:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404942:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43801,"nodeType":"VariableDeclarationStatement","src":"404942:10:22"},{"assignments":[43803],"declarations":[{"constant":false,"id":43803,"mutability":"mutable","name":"m4","nameLocation":"404970:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404962:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404962:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43804,"nodeType":"VariableDeclarationStatement","src":"404962:10:22"},{"assignments":[43806],"declarations":[{"constant":false,"id":43806,"mutability":"mutable","name":"m5","nameLocation":"404990:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"404982:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404982:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43807,"nodeType":"VariableDeclarationStatement","src":"404982:10:22"},{"assignments":[43809],"declarations":[{"constant":false,"id":43809,"mutability":"mutable","name":"m6","nameLocation":"405010:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"405002:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405002:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43810,"nodeType":"VariableDeclarationStatement","src":"405002:10:22"},{"assignments":[43812],"declarations":[{"constant":false,"id":43812,"mutability":"mutable","name":"m7","nameLocation":"405030:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"405022:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405022:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43813,"nodeType":"VariableDeclarationStatement","src":"405022:10:22"},{"assignments":[43815],"declarations":[{"constant":false,"id":43815,"mutability":"mutable","name":"m8","nameLocation":"405050:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"405042:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405042:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43816,"nodeType":"VariableDeclarationStatement","src":"405042:10:22"},{"assignments":[43818],"declarations":[{"constant":false,"id":43818,"mutability":"mutable","name":"m9","nameLocation":"405070:2:22","nodeType":"VariableDeclaration","scope":43830,"src":"405062:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405062:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43819,"nodeType":"VariableDeclarationStatement","src":"405062:10:22"},{"assignments":[43821],"declarations":[{"constant":false,"id":43821,"mutability":"mutable","name":"m10","nameLocation":"405090:3:22","nodeType":"VariableDeclaration","scope":43830,"src":"405082:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405082:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43822,"nodeType":"VariableDeclarationStatement","src":"405082:11:22"},{"AST":{"nativeSrc":"405155:1027:22","nodeType":"YulBlock","src":"405155:1027:22","statements":[{"body":{"nativeSrc":"405198:313:22","nodeType":"YulBlock","src":"405198:313:22","statements":[{"nativeSrc":"405216:15:22","nodeType":"YulVariableDeclaration","src":"405216:15:22","value":{"kind":"number","nativeSrc":"405230:1:22","nodeType":"YulLiteral","src":"405230:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"405220:6:22","nodeType":"YulTypedName","src":"405220:6:22","type":""}]},{"body":{"nativeSrc":"405301:40:22","nodeType":"YulBlock","src":"405301:40:22","statements":[{"body":{"nativeSrc":"405330:9:22","nodeType":"YulBlock","src":"405330:9:22","statements":[{"nativeSrc":"405332:5:22","nodeType":"YulBreak","src":"405332:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"405318:6:22","nodeType":"YulIdentifier","src":"405318:6:22"},{"name":"w","nativeSrc":"405326:1:22","nodeType":"YulIdentifier","src":"405326:1:22"}],"functionName":{"name":"byte","nativeSrc":"405313:4:22","nodeType":"YulIdentifier","src":"405313:4:22"},"nativeSrc":"405313:15:22","nodeType":"YulFunctionCall","src":"405313:15:22"}],"functionName":{"name":"iszero","nativeSrc":"405306:6:22","nodeType":"YulIdentifier","src":"405306:6:22"},"nativeSrc":"405306:23:22","nodeType":"YulFunctionCall","src":"405306:23:22"},"nativeSrc":"405303:36:22","nodeType":"YulIf","src":"405303:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"405258:6:22","nodeType":"YulIdentifier","src":"405258:6:22"},{"kind":"number","nativeSrc":"405266:4:22","nodeType":"YulLiteral","src":"405266:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"405255:2:22","nodeType":"YulIdentifier","src":"405255:2:22"},"nativeSrc":"405255:16:22","nodeType":"YulFunctionCall","src":"405255:16:22"},"nativeSrc":"405248:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"405272:28:22","nodeType":"YulBlock","src":"405272:28:22","statements":[{"nativeSrc":"405274:24:22","nodeType":"YulAssignment","src":"405274:24:22","value":{"arguments":[{"name":"length","nativeSrc":"405288:6:22","nodeType":"YulIdentifier","src":"405288:6:22"},{"kind":"number","nativeSrc":"405296:1:22","nodeType":"YulLiteral","src":"405296:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"405284:3:22","nodeType":"YulIdentifier","src":"405284:3:22"},"nativeSrc":"405284:14:22","nodeType":"YulFunctionCall","src":"405284:14:22"},"variableNames":[{"name":"length","nativeSrc":"405274:6:22","nodeType":"YulIdentifier","src":"405274:6:22"}]}]},"pre":{"nativeSrc":"405252:2:22","nodeType":"YulBlock","src":"405252:2:22","statements":[]},"src":"405248:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"405365:3:22","nodeType":"YulIdentifier","src":"405365:3:22"},{"name":"length","nativeSrc":"405370:6:22","nodeType":"YulIdentifier","src":"405370:6:22"}],"functionName":{"name":"mstore","nativeSrc":"405358:6:22","nodeType":"YulIdentifier","src":"405358:6:22"},"nativeSrc":"405358:19:22","nodeType":"YulFunctionCall","src":"405358:19:22"},"nativeSrc":"405358:19:22","nodeType":"YulExpressionStatement","src":"405358:19:22"},{"nativeSrc":"405394:37:22","nodeType":"YulVariableDeclaration","src":"405394:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"405411:3:22","nodeType":"YulLiteral","src":"405411:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"405420:1:22","nodeType":"YulLiteral","src":"405420:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"405423:6:22","nodeType":"YulIdentifier","src":"405423:6:22"}],"functionName":{"name":"shl","nativeSrc":"405416:3:22","nodeType":"YulIdentifier","src":"405416:3:22"},"nativeSrc":"405416:14:22","nodeType":"YulFunctionCall","src":"405416:14:22"}],"functionName":{"name":"sub","nativeSrc":"405407:3:22","nodeType":"YulIdentifier","src":"405407:3:22"},"nativeSrc":"405407:24:22","nodeType":"YulFunctionCall","src":"405407:24:22"},"variables":[{"name":"shift","nativeSrc":"405398:5:22","nodeType":"YulTypedName","src":"405398:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"405459:3:22","nodeType":"YulIdentifier","src":"405459:3:22"},{"kind":"number","nativeSrc":"405464:4:22","nodeType":"YulLiteral","src":"405464:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"405455:3:22","nodeType":"YulIdentifier","src":"405455:3:22"},"nativeSrc":"405455:14:22","nodeType":"YulFunctionCall","src":"405455:14:22"},{"arguments":[{"name":"shift","nativeSrc":"405475:5:22","nodeType":"YulIdentifier","src":"405475:5:22"},{"arguments":[{"name":"shift","nativeSrc":"405486:5:22","nodeType":"YulIdentifier","src":"405486:5:22"},{"name":"w","nativeSrc":"405493:1:22","nodeType":"YulIdentifier","src":"405493:1:22"}],"functionName":{"name":"shr","nativeSrc":"405482:3:22","nodeType":"YulIdentifier","src":"405482:3:22"},"nativeSrc":"405482:13:22","nodeType":"YulFunctionCall","src":"405482:13:22"}],"functionName":{"name":"shl","nativeSrc":"405471:3:22","nodeType":"YulIdentifier","src":"405471:3:22"},"nativeSrc":"405471:25:22","nodeType":"YulFunctionCall","src":"405471:25:22"}],"functionName":{"name":"mstore","nativeSrc":"405448:6:22","nodeType":"YulIdentifier","src":"405448:6:22"},"nativeSrc":"405448:49:22","nodeType":"YulFunctionCall","src":"405448:49:22"},"nativeSrc":"405448:49:22","nodeType":"YulExpressionStatement","src":"405448:49:22"}]},"name":"writeString","nativeSrc":"405169:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"405190:3:22","nodeType":"YulTypedName","src":"405190:3:22","type":""},{"name":"w","nativeSrc":"405195:1:22","nodeType":"YulTypedName","src":"405195:1:22","type":""}],"src":"405169:342:22"},{"nativeSrc":"405524:17:22","nodeType":"YulAssignment","src":"405524:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405536:4:22","nodeType":"YulLiteral","src":"405536:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"405530:5:22","nodeType":"YulIdentifier","src":"405530:5:22"},"nativeSrc":"405530:11:22","nodeType":"YulFunctionCall","src":"405530:11:22"},"variableNames":[{"name":"m0","nativeSrc":"405524:2:22","nodeType":"YulIdentifier","src":"405524:2:22"}]},{"nativeSrc":"405554:17:22","nodeType":"YulAssignment","src":"405554:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405566:4:22","nodeType":"YulLiteral","src":"405566:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"405560:5:22","nodeType":"YulIdentifier","src":"405560:5:22"},"nativeSrc":"405560:11:22","nodeType":"YulFunctionCall","src":"405560:11:22"},"variableNames":[{"name":"m1","nativeSrc":"405554:2:22","nodeType":"YulIdentifier","src":"405554:2:22"}]},{"nativeSrc":"405584:17:22","nodeType":"YulAssignment","src":"405584:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405596:4:22","nodeType":"YulLiteral","src":"405596:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"405590:5:22","nodeType":"YulIdentifier","src":"405590:5:22"},"nativeSrc":"405590:11:22","nodeType":"YulFunctionCall","src":"405590:11:22"},"variableNames":[{"name":"m2","nativeSrc":"405584:2:22","nodeType":"YulIdentifier","src":"405584:2:22"}]},{"nativeSrc":"405614:17:22","nodeType":"YulAssignment","src":"405614:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405626:4:22","nodeType":"YulLiteral","src":"405626:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"405620:5:22","nodeType":"YulIdentifier","src":"405620:5:22"},"nativeSrc":"405620:11:22","nodeType":"YulFunctionCall","src":"405620:11:22"},"variableNames":[{"name":"m3","nativeSrc":"405614:2:22","nodeType":"YulIdentifier","src":"405614:2:22"}]},{"nativeSrc":"405644:17:22","nodeType":"YulAssignment","src":"405644:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405656:4:22","nodeType":"YulLiteral","src":"405656:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"405650:5:22","nodeType":"YulIdentifier","src":"405650:5:22"},"nativeSrc":"405650:11:22","nodeType":"YulFunctionCall","src":"405650:11:22"},"variableNames":[{"name":"m4","nativeSrc":"405644:2:22","nodeType":"YulIdentifier","src":"405644:2:22"}]},{"nativeSrc":"405674:17:22","nodeType":"YulAssignment","src":"405674:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405686:4:22","nodeType":"YulLiteral","src":"405686:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"405680:5:22","nodeType":"YulIdentifier","src":"405680:5:22"},"nativeSrc":"405680:11:22","nodeType":"YulFunctionCall","src":"405680:11:22"},"variableNames":[{"name":"m5","nativeSrc":"405674:2:22","nodeType":"YulIdentifier","src":"405674:2:22"}]},{"nativeSrc":"405704:17:22","nodeType":"YulAssignment","src":"405704:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405716:4:22","nodeType":"YulLiteral","src":"405716:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"405710:5:22","nodeType":"YulIdentifier","src":"405710:5:22"},"nativeSrc":"405710:11:22","nodeType":"YulFunctionCall","src":"405710:11:22"},"variableNames":[{"name":"m6","nativeSrc":"405704:2:22","nodeType":"YulIdentifier","src":"405704:2:22"}]},{"nativeSrc":"405734:17:22","nodeType":"YulAssignment","src":"405734:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"405746:4:22","nodeType":"YulLiteral","src":"405746:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"405740:5:22","nodeType":"YulIdentifier","src":"405740:5:22"},"nativeSrc":"405740:11:22","nodeType":"YulFunctionCall","src":"405740:11:22"},"variableNames":[{"name":"m7","nativeSrc":"405734:2:22","nodeType":"YulIdentifier","src":"405734:2:22"}]},{"nativeSrc":"405764:18:22","nodeType":"YulAssignment","src":"405764:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"405776:5:22","nodeType":"YulLiteral","src":"405776:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"405770:5:22","nodeType":"YulIdentifier","src":"405770:5:22"},"nativeSrc":"405770:12:22","nodeType":"YulFunctionCall","src":"405770:12:22"},"variableNames":[{"name":"m8","nativeSrc":"405764:2:22","nodeType":"YulIdentifier","src":"405764:2:22"}]},{"nativeSrc":"405795:18:22","nodeType":"YulAssignment","src":"405795:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"405807:5:22","nodeType":"YulLiteral","src":"405807:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"405801:5:22","nodeType":"YulIdentifier","src":"405801:5:22"},"nativeSrc":"405801:12:22","nodeType":"YulFunctionCall","src":"405801:12:22"},"variableNames":[{"name":"m9","nativeSrc":"405795:2:22","nodeType":"YulIdentifier","src":"405795:2:22"}]},{"nativeSrc":"405826:19:22","nodeType":"YulAssignment","src":"405826:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"405839:5:22","nodeType":"YulLiteral","src":"405839:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"405833:5:22","nodeType":"YulIdentifier","src":"405833:5:22"},"nativeSrc":"405833:12:22","nodeType":"YulFunctionCall","src":"405833:12:22"},"variableNames":[{"name":"m10","nativeSrc":"405826:3:22","nodeType":"YulIdentifier","src":"405826:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405929:4:22","nodeType":"YulLiteral","src":"405929:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"405935:10:22","nodeType":"YulLiteral","src":"405935:10:22","type":"","value":"0xeb1bff80"}],"functionName":{"name":"mstore","nativeSrc":"405922:6:22","nodeType":"YulIdentifier","src":"405922:6:22"},"nativeSrc":"405922:24:22","nodeType":"YulFunctionCall","src":"405922:24:22"},"nativeSrc":"405922:24:22","nodeType":"YulExpressionStatement","src":"405922:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405966:4:22","nodeType":"YulLiteral","src":"405966:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"405972:4:22","nodeType":"YulLiteral","src":"405972:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"405959:6:22","nodeType":"YulIdentifier","src":"405959:6:22"},"nativeSrc":"405959:18:22","nodeType":"YulFunctionCall","src":"405959:18:22"},"nativeSrc":"405959:18:22","nodeType":"YulExpressionStatement","src":"405959:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405997:4:22","nodeType":"YulLiteral","src":"405997:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"406003:4:22","nodeType":"YulLiteral","src":"406003:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"405990:6:22","nodeType":"YulIdentifier","src":"405990:6:22"},"nativeSrc":"405990:18:22","nodeType":"YulFunctionCall","src":"405990:18:22"},"nativeSrc":"405990:18:22","nodeType":"YulExpressionStatement","src":"405990:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406028:4:22","nodeType":"YulLiteral","src":"406028:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"406034:2:22","nodeType":"YulIdentifier","src":"406034:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406021:6:22","nodeType":"YulIdentifier","src":"406021:6:22"},"nativeSrc":"406021:16:22","nodeType":"YulFunctionCall","src":"406021:16:22"},"nativeSrc":"406021:16:22","nodeType":"YulExpressionStatement","src":"406021:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406057:4:22","nodeType":"YulLiteral","src":"406057:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"406063:5:22","nodeType":"YulLiteral","src":"406063:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"406050:6:22","nodeType":"YulIdentifier","src":"406050:6:22"},"nativeSrc":"406050:19:22","nodeType":"YulFunctionCall","src":"406050:19:22"},"nativeSrc":"406050:19:22","nodeType":"YulExpressionStatement","src":"406050:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406094:4:22","nodeType":"YulLiteral","src":"406094:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"406100:2:22","nodeType":"YulIdentifier","src":"406100:2:22"}],"functionName":{"name":"writeString","nativeSrc":"406082:11:22","nodeType":"YulIdentifier","src":"406082:11:22"},"nativeSrc":"406082:21:22","nodeType":"YulFunctionCall","src":"406082:21:22"},"nativeSrc":"406082:21:22","nodeType":"YulExpressionStatement","src":"406082:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406128:4:22","nodeType":"YulLiteral","src":"406128:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"406134:2:22","nodeType":"YulIdentifier","src":"406134:2:22"}],"functionName":{"name":"writeString","nativeSrc":"406116:11:22","nodeType":"YulIdentifier","src":"406116:11:22"},"nativeSrc":"406116:21:22","nodeType":"YulFunctionCall","src":"406116:21:22"},"nativeSrc":"406116:21:22","nodeType":"YulExpressionStatement","src":"406116:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406162:5:22","nodeType":"YulLiteral","src":"406162:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"406169:2:22","nodeType":"YulIdentifier","src":"406169:2:22"}],"functionName":{"name":"writeString","nativeSrc":"406150:11:22","nodeType":"YulIdentifier","src":"406150:11:22"},"nativeSrc":"406150:22:22","nodeType":"YulFunctionCall","src":"406150:22:22"},"nativeSrc":"406150:22:22","nodeType":"YulExpressionStatement","src":"406150:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43791,"isOffset":false,"isSlot":false,"src":"405524:2:22","valueSize":1},{"declaration":43794,"isOffset":false,"isSlot":false,"src":"405554:2:22","valueSize":1},{"declaration":43821,"isOffset":false,"isSlot":false,"src":"405826:3:22","valueSize":1},{"declaration":43797,"isOffset":false,"isSlot":false,"src":"405584:2:22","valueSize":1},{"declaration":43800,"isOffset":false,"isSlot":false,"src":"405614:2:22","valueSize":1},{"declaration":43803,"isOffset":false,"isSlot":false,"src":"405644:2:22","valueSize":1},{"declaration":43806,"isOffset":false,"isSlot":false,"src":"405674:2:22","valueSize":1},{"declaration":43809,"isOffset":false,"isSlot":false,"src":"405704:2:22","valueSize":1},{"declaration":43812,"isOffset":false,"isSlot":false,"src":"405734:2:22","valueSize":1},{"declaration":43815,"isOffset":false,"isSlot":false,"src":"405764:2:22","valueSize":1},{"declaration":43818,"isOffset":false,"isSlot":false,"src":"405795:2:22","valueSize":1},{"declaration":43781,"isOffset":false,"isSlot":false,"src":"406100:2:22","valueSize":1},{"declaration":43783,"isOffset":false,"isSlot":false,"src":"406134:2:22","valueSize":1},{"declaration":43785,"isOffset":false,"isSlot":false,"src":"406034:2:22","valueSize":1},{"declaration":43787,"isOffset":false,"isSlot":false,"src":"406169:2:22","valueSize":1}],"id":43823,"nodeType":"InlineAssembly","src":"405146:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406207:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":43826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406213:5:22","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":43824,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"406191:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"406191:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43828,"nodeType":"ExpressionStatement","src":"406191:28:22"},{"AST":{"nativeSrc":"406281:334:22","nodeType":"YulBlock","src":"406281:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"406302:4:22","nodeType":"YulLiteral","src":"406302:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"406308:2:22","nodeType":"YulIdentifier","src":"406308:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406295:6:22","nodeType":"YulIdentifier","src":"406295:6:22"},"nativeSrc":"406295:16:22","nodeType":"YulFunctionCall","src":"406295:16:22"},"nativeSrc":"406295:16:22","nodeType":"YulExpressionStatement","src":"406295:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406331:4:22","nodeType":"YulLiteral","src":"406331:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"406337:2:22","nodeType":"YulIdentifier","src":"406337:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406324:6:22","nodeType":"YulIdentifier","src":"406324:6:22"},"nativeSrc":"406324:16:22","nodeType":"YulFunctionCall","src":"406324:16:22"},"nativeSrc":"406324:16:22","nodeType":"YulExpressionStatement","src":"406324:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406360:4:22","nodeType":"YulLiteral","src":"406360:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"406366:2:22","nodeType":"YulIdentifier","src":"406366:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406353:6:22","nodeType":"YulIdentifier","src":"406353:6:22"},"nativeSrc":"406353:16:22","nodeType":"YulFunctionCall","src":"406353:16:22"},"nativeSrc":"406353:16:22","nodeType":"YulExpressionStatement","src":"406353:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406389:4:22","nodeType":"YulLiteral","src":"406389:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"406395:2:22","nodeType":"YulIdentifier","src":"406395:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406382:6:22","nodeType":"YulIdentifier","src":"406382:6:22"},"nativeSrc":"406382:16:22","nodeType":"YulFunctionCall","src":"406382:16:22"},"nativeSrc":"406382:16:22","nodeType":"YulExpressionStatement","src":"406382:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406418:4:22","nodeType":"YulLiteral","src":"406418:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"406424:2:22","nodeType":"YulIdentifier","src":"406424:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406411:6:22","nodeType":"YulIdentifier","src":"406411:6:22"},"nativeSrc":"406411:16:22","nodeType":"YulFunctionCall","src":"406411:16:22"},"nativeSrc":"406411:16:22","nodeType":"YulExpressionStatement","src":"406411:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406447:4:22","nodeType":"YulLiteral","src":"406447:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"406453:2:22","nodeType":"YulIdentifier","src":"406453:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406440:6:22","nodeType":"YulIdentifier","src":"406440:6:22"},"nativeSrc":"406440:16:22","nodeType":"YulFunctionCall","src":"406440:16:22"},"nativeSrc":"406440:16:22","nodeType":"YulExpressionStatement","src":"406440:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406476:4:22","nodeType":"YulLiteral","src":"406476:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"406482:2:22","nodeType":"YulIdentifier","src":"406482:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406469:6:22","nodeType":"YulIdentifier","src":"406469:6:22"},"nativeSrc":"406469:16:22","nodeType":"YulFunctionCall","src":"406469:16:22"},"nativeSrc":"406469:16:22","nodeType":"YulExpressionStatement","src":"406469:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406505:4:22","nodeType":"YulLiteral","src":"406505:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"406511:2:22","nodeType":"YulIdentifier","src":"406511:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406498:6:22","nodeType":"YulIdentifier","src":"406498:6:22"},"nativeSrc":"406498:16:22","nodeType":"YulFunctionCall","src":"406498:16:22"},"nativeSrc":"406498:16:22","nodeType":"YulExpressionStatement","src":"406498:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406534:5:22","nodeType":"YulLiteral","src":"406534:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"406541:2:22","nodeType":"YulIdentifier","src":"406541:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406527:6:22","nodeType":"YulIdentifier","src":"406527:6:22"},"nativeSrc":"406527:17:22","nodeType":"YulFunctionCall","src":"406527:17:22"},"nativeSrc":"406527:17:22","nodeType":"YulExpressionStatement","src":"406527:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406564:5:22","nodeType":"YulLiteral","src":"406564:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"406571:2:22","nodeType":"YulIdentifier","src":"406571:2:22"}],"functionName":{"name":"mstore","nativeSrc":"406557:6:22","nodeType":"YulIdentifier","src":"406557:6:22"},"nativeSrc":"406557:17:22","nodeType":"YulFunctionCall","src":"406557:17:22"},"nativeSrc":"406557:17:22","nodeType":"YulExpressionStatement","src":"406557:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406594:5:22","nodeType":"YulLiteral","src":"406594:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"406601:3:22","nodeType":"YulIdentifier","src":"406601:3:22"}],"functionName":{"name":"mstore","nativeSrc":"406587:6:22","nodeType":"YulIdentifier","src":"406587:6:22"},"nativeSrc":"406587:18:22","nodeType":"YulFunctionCall","src":"406587:18:22"},"nativeSrc":"406587:18:22","nodeType":"YulExpressionStatement","src":"406587:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43791,"isOffset":false,"isSlot":false,"src":"406308:2:22","valueSize":1},{"declaration":43794,"isOffset":false,"isSlot":false,"src":"406337:2:22","valueSize":1},{"declaration":43821,"isOffset":false,"isSlot":false,"src":"406601:3:22","valueSize":1},{"declaration":43797,"isOffset":false,"isSlot":false,"src":"406366:2:22","valueSize":1},{"declaration":43800,"isOffset":false,"isSlot":false,"src":"406395:2:22","valueSize":1},{"declaration":43803,"isOffset":false,"isSlot":false,"src":"406424:2:22","valueSize":1},{"declaration":43806,"isOffset":false,"isSlot":false,"src":"406453:2:22","valueSize":1},{"declaration":43809,"isOffset":false,"isSlot":false,"src":"406482:2:22","valueSize":1},{"declaration":43812,"isOffset":false,"isSlot":false,"src":"406511:2:22","valueSize":1},{"declaration":43815,"isOffset":false,"isSlot":false,"src":"406541:2:22","valueSize":1},{"declaration":43818,"isOffset":false,"isSlot":false,"src":"406571:2:22","valueSize":1}],"id":43829,"nodeType":"InlineAssembly","src":"406272:343:22"}]},"id":43831,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"404806:3:22","nodeType":"FunctionDefinition","parameters":{"id":43788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43781,"mutability":"mutable","name":"p0","nameLocation":"404818:2:22","nodeType":"VariableDeclaration","scope":43831,"src":"404810:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404810:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43783,"mutability":"mutable","name":"p1","nameLocation":"404830:2:22","nodeType":"VariableDeclaration","scope":43831,"src":"404822:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404822:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43785,"mutability":"mutable","name":"p2","nameLocation":"404842:2:22","nodeType":"VariableDeclaration","scope":43831,"src":"404834:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43784,"name":"address","nodeType":"ElementaryTypeName","src":"404834:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43787,"mutability":"mutable","name":"p3","nameLocation":"404854:2:22","nodeType":"VariableDeclaration","scope":43831,"src":"404846:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404846:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"404809:48:22"},"returnParameters":{"id":43789,"nodeType":"ParameterList","parameters":[],"src":"404872:0:22"},"scope":44426,"src":"404797:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43876,"nodeType":"Block","src":"406699:1544:22","statements":[{"assignments":[43843],"declarations":[{"constant":false,"id":43843,"mutability":"mutable","name":"m0","nameLocation":"406717:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43844,"nodeType":"VariableDeclarationStatement","src":"406709:10:22"},{"assignments":[43846],"declarations":[{"constant":false,"id":43846,"mutability":"mutable","name":"m1","nameLocation":"406737:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406729:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406729:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43847,"nodeType":"VariableDeclarationStatement","src":"406729:10:22"},{"assignments":[43849],"declarations":[{"constant":false,"id":43849,"mutability":"mutable","name":"m2","nameLocation":"406757:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406749:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43850,"nodeType":"VariableDeclarationStatement","src":"406749:10:22"},{"assignments":[43852],"declarations":[{"constant":false,"id":43852,"mutability":"mutable","name":"m3","nameLocation":"406777:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406769:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406769:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43853,"nodeType":"VariableDeclarationStatement","src":"406769:10:22"},{"assignments":[43855],"declarations":[{"constant":false,"id":43855,"mutability":"mutable","name":"m4","nameLocation":"406797:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406789:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406789:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43856,"nodeType":"VariableDeclarationStatement","src":"406789:10:22"},{"assignments":[43858],"declarations":[{"constant":false,"id":43858,"mutability":"mutable","name":"m5","nameLocation":"406817:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406809:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406809:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43859,"nodeType":"VariableDeclarationStatement","src":"406809:10:22"},{"assignments":[43861],"declarations":[{"constant":false,"id":43861,"mutability":"mutable","name":"m6","nameLocation":"406837:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406829:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406829:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43862,"nodeType":"VariableDeclarationStatement","src":"406829:10:22"},{"assignments":[43864],"declarations":[{"constant":false,"id":43864,"mutability":"mutable","name":"m7","nameLocation":"406857:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406849:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406849:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43865,"nodeType":"VariableDeclarationStatement","src":"406849:10:22"},{"assignments":[43867],"declarations":[{"constant":false,"id":43867,"mutability":"mutable","name":"m8","nameLocation":"406877:2:22","nodeType":"VariableDeclaration","scope":43876,"src":"406869:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406869:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43868,"nodeType":"VariableDeclarationStatement","src":"406869:10:22"},{"AST":{"nativeSrc":"406941:924:22","nodeType":"YulBlock","src":"406941:924:22","statements":[{"body":{"nativeSrc":"406984:313:22","nodeType":"YulBlock","src":"406984:313:22","statements":[{"nativeSrc":"407002:15:22","nodeType":"YulVariableDeclaration","src":"407002:15:22","value":{"kind":"number","nativeSrc":"407016:1:22","nodeType":"YulLiteral","src":"407016:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"407006:6:22","nodeType":"YulTypedName","src":"407006:6:22","type":""}]},{"body":{"nativeSrc":"407087:40:22","nodeType":"YulBlock","src":"407087:40:22","statements":[{"body":{"nativeSrc":"407116:9:22","nodeType":"YulBlock","src":"407116:9:22","statements":[{"nativeSrc":"407118:5:22","nodeType":"YulBreak","src":"407118:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"407104:6:22","nodeType":"YulIdentifier","src":"407104:6:22"},{"name":"w","nativeSrc":"407112:1:22","nodeType":"YulIdentifier","src":"407112:1:22"}],"functionName":{"name":"byte","nativeSrc":"407099:4:22","nodeType":"YulIdentifier","src":"407099:4:22"},"nativeSrc":"407099:15:22","nodeType":"YulFunctionCall","src":"407099:15:22"}],"functionName":{"name":"iszero","nativeSrc":"407092:6:22","nodeType":"YulIdentifier","src":"407092:6:22"},"nativeSrc":"407092:23:22","nodeType":"YulFunctionCall","src":"407092:23:22"},"nativeSrc":"407089:36:22","nodeType":"YulIf","src":"407089:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"407044:6:22","nodeType":"YulIdentifier","src":"407044:6:22"},{"kind":"number","nativeSrc":"407052:4:22","nodeType":"YulLiteral","src":"407052:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"407041:2:22","nodeType":"YulIdentifier","src":"407041:2:22"},"nativeSrc":"407041:16:22","nodeType":"YulFunctionCall","src":"407041:16:22"},"nativeSrc":"407034:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"407058:28:22","nodeType":"YulBlock","src":"407058:28:22","statements":[{"nativeSrc":"407060:24:22","nodeType":"YulAssignment","src":"407060:24:22","value":{"arguments":[{"name":"length","nativeSrc":"407074:6:22","nodeType":"YulIdentifier","src":"407074:6:22"},{"kind":"number","nativeSrc":"407082:1:22","nodeType":"YulLiteral","src":"407082:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"407070:3:22","nodeType":"YulIdentifier","src":"407070:3:22"},"nativeSrc":"407070:14:22","nodeType":"YulFunctionCall","src":"407070:14:22"},"variableNames":[{"name":"length","nativeSrc":"407060:6:22","nodeType":"YulIdentifier","src":"407060:6:22"}]}]},"pre":{"nativeSrc":"407038:2:22","nodeType":"YulBlock","src":"407038:2:22","statements":[]},"src":"407034:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"407151:3:22","nodeType":"YulIdentifier","src":"407151:3:22"},{"name":"length","nativeSrc":"407156:6:22","nodeType":"YulIdentifier","src":"407156:6:22"}],"functionName":{"name":"mstore","nativeSrc":"407144:6:22","nodeType":"YulIdentifier","src":"407144:6:22"},"nativeSrc":"407144:19:22","nodeType":"YulFunctionCall","src":"407144:19:22"},"nativeSrc":"407144:19:22","nodeType":"YulExpressionStatement","src":"407144:19:22"},{"nativeSrc":"407180:37:22","nodeType":"YulVariableDeclaration","src":"407180:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"407197:3:22","nodeType":"YulLiteral","src":"407197:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"407206:1:22","nodeType":"YulLiteral","src":"407206:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"407209:6:22","nodeType":"YulIdentifier","src":"407209:6:22"}],"functionName":{"name":"shl","nativeSrc":"407202:3:22","nodeType":"YulIdentifier","src":"407202:3:22"},"nativeSrc":"407202:14:22","nodeType":"YulFunctionCall","src":"407202:14:22"}],"functionName":{"name":"sub","nativeSrc":"407193:3:22","nodeType":"YulIdentifier","src":"407193:3:22"},"nativeSrc":"407193:24:22","nodeType":"YulFunctionCall","src":"407193:24:22"},"variables":[{"name":"shift","nativeSrc":"407184:5:22","nodeType":"YulTypedName","src":"407184:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"407245:3:22","nodeType":"YulIdentifier","src":"407245:3:22"},{"kind":"number","nativeSrc":"407250:4:22","nodeType":"YulLiteral","src":"407250:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"407241:3:22","nodeType":"YulIdentifier","src":"407241:3:22"},"nativeSrc":"407241:14:22","nodeType":"YulFunctionCall","src":"407241:14:22"},{"arguments":[{"name":"shift","nativeSrc":"407261:5:22","nodeType":"YulIdentifier","src":"407261:5:22"},{"arguments":[{"name":"shift","nativeSrc":"407272:5:22","nodeType":"YulIdentifier","src":"407272:5:22"},{"name":"w","nativeSrc":"407279:1:22","nodeType":"YulIdentifier","src":"407279:1:22"}],"functionName":{"name":"shr","nativeSrc":"407268:3:22","nodeType":"YulIdentifier","src":"407268:3:22"},"nativeSrc":"407268:13:22","nodeType":"YulFunctionCall","src":"407268:13:22"}],"functionName":{"name":"shl","nativeSrc":"407257:3:22","nodeType":"YulIdentifier","src":"407257:3:22"},"nativeSrc":"407257:25:22","nodeType":"YulFunctionCall","src":"407257:25:22"}],"functionName":{"name":"mstore","nativeSrc":"407234:6:22","nodeType":"YulIdentifier","src":"407234:6:22"},"nativeSrc":"407234:49:22","nodeType":"YulFunctionCall","src":"407234:49:22"},"nativeSrc":"407234:49:22","nodeType":"YulExpressionStatement","src":"407234:49:22"}]},"name":"writeString","nativeSrc":"406955:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"406976:3:22","nodeType":"YulTypedName","src":"406976:3:22","type":""},{"name":"w","nativeSrc":"406981:1:22","nodeType":"YulTypedName","src":"406981:1:22","type":""}],"src":"406955:342:22"},{"nativeSrc":"407310:17:22","nodeType":"YulAssignment","src":"407310:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407322:4:22","nodeType":"YulLiteral","src":"407322:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"407316:5:22","nodeType":"YulIdentifier","src":"407316:5:22"},"nativeSrc":"407316:11:22","nodeType":"YulFunctionCall","src":"407316:11:22"},"variableNames":[{"name":"m0","nativeSrc":"407310:2:22","nodeType":"YulIdentifier","src":"407310:2:22"}]},{"nativeSrc":"407340:17:22","nodeType":"YulAssignment","src":"407340:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407352:4:22","nodeType":"YulLiteral","src":"407352:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"407346:5:22","nodeType":"YulIdentifier","src":"407346:5:22"},"nativeSrc":"407346:11:22","nodeType":"YulFunctionCall","src":"407346:11:22"},"variableNames":[{"name":"m1","nativeSrc":"407340:2:22","nodeType":"YulIdentifier","src":"407340:2:22"}]},{"nativeSrc":"407370:17:22","nodeType":"YulAssignment","src":"407370:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407382:4:22","nodeType":"YulLiteral","src":"407382:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"407376:5:22","nodeType":"YulIdentifier","src":"407376:5:22"},"nativeSrc":"407376:11:22","nodeType":"YulFunctionCall","src":"407376:11:22"},"variableNames":[{"name":"m2","nativeSrc":"407370:2:22","nodeType":"YulIdentifier","src":"407370:2:22"}]},{"nativeSrc":"407400:17:22","nodeType":"YulAssignment","src":"407400:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407412:4:22","nodeType":"YulLiteral","src":"407412:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"407406:5:22","nodeType":"YulIdentifier","src":"407406:5:22"},"nativeSrc":"407406:11:22","nodeType":"YulFunctionCall","src":"407406:11:22"},"variableNames":[{"name":"m3","nativeSrc":"407400:2:22","nodeType":"YulIdentifier","src":"407400:2:22"}]},{"nativeSrc":"407430:17:22","nodeType":"YulAssignment","src":"407430:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407442:4:22","nodeType":"YulLiteral","src":"407442:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"407436:5:22","nodeType":"YulIdentifier","src":"407436:5:22"},"nativeSrc":"407436:11:22","nodeType":"YulFunctionCall","src":"407436:11:22"},"variableNames":[{"name":"m4","nativeSrc":"407430:2:22","nodeType":"YulIdentifier","src":"407430:2:22"}]},{"nativeSrc":"407460:17:22","nodeType":"YulAssignment","src":"407460:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407472:4:22","nodeType":"YulLiteral","src":"407472:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"407466:5:22","nodeType":"YulIdentifier","src":"407466:5:22"},"nativeSrc":"407466:11:22","nodeType":"YulFunctionCall","src":"407466:11:22"},"variableNames":[{"name":"m5","nativeSrc":"407460:2:22","nodeType":"YulIdentifier","src":"407460:2:22"}]},{"nativeSrc":"407490:17:22","nodeType":"YulAssignment","src":"407490:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407502:4:22","nodeType":"YulLiteral","src":"407502:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"407496:5:22","nodeType":"YulIdentifier","src":"407496:5:22"},"nativeSrc":"407496:11:22","nodeType":"YulFunctionCall","src":"407496:11:22"},"variableNames":[{"name":"m6","nativeSrc":"407490:2:22","nodeType":"YulIdentifier","src":"407490:2:22"}]},{"nativeSrc":"407520:17:22","nodeType":"YulAssignment","src":"407520:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"407532:4:22","nodeType":"YulLiteral","src":"407532:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"407526:5:22","nodeType":"YulIdentifier","src":"407526:5:22"},"nativeSrc":"407526:11:22","nodeType":"YulFunctionCall","src":"407526:11:22"},"variableNames":[{"name":"m7","nativeSrc":"407520:2:22","nodeType":"YulIdentifier","src":"407520:2:22"}]},{"nativeSrc":"407550:18:22","nodeType":"YulAssignment","src":"407550:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"407562:5:22","nodeType":"YulLiteral","src":"407562:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"407556:5:22","nodeType":"YulIdentifier","src":"407556:5:22"},"nativeSrc":"407556:12:22","nodeType":"YulFunctionCall","src":"407556:12:22"},"variableNames":[{"name":"m8","nativeSrc":"407550:2:22","nodeType":"YulIdentifier","src":"407550:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407650:4:22","nodeType":"YulLiteral","src":"407650:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"407656:10:22","nodeType":"YulLiteral","src":"407656:10:22","type":"","value":"0xc371c7db"}],"functionName":{"name":"mstore","nativeSrc":"407643:6:22","nodeType":"YulIdentifier","src":"407643:6:22"},"nativeSrc":"407643:24:22","nodeType":"YulFunctionCall","src":"407643:24:22"},"nativeSrc":"407643:24:22","nodeType":"YulExpressionStatement","src":"407643:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407687:4:22","nodeType":"YulLiteral","src":"407687:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"407693:4:22","nodeType":"YulLiteral","src":"407693:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"407680:6:22","nodeType":"YulIdentifier","src":"407680:6:22"},"nativeSrc":"407680:18:22","nodeType":"YulFunctionCall","src":"407680:18:22"},"nativeSrc":"407680:18:22","nodeType":"YulExpressionStatement","src":"407680:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407718:4:22","nodeType":"YulLiteral","src":"407718:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"407724:4:22","nodeType":"YulLiteral","src":"407724:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"407711:6:22","nodeType":"YulIdentifier","src":"407711:6:22"},"nativeSrc":"407711:18:22","nodeType":"YulFunctionCall","src":"407711:18:22"},"nativeSrc":"407711:18:22","nodeType":"YulExpressionStatement","src":"407711:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407749:4:22","nodeType":"YulLiteral","src":"407749:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"407755:2:22","nodeType":"YulIdentifier","src":"407755:2:22"}],"functionName":{"name":"mstore","nativeSrc":"407742:6:22","nodeType":"YulIdentifier","src":"407742:6:22"},"nativeSrc":"407742:16:22","nodeType":"YulFunctionCall","src":"407742:16:22"},"nativeSrc":"407742:16:22","nodeType":"YulExpressionStatement","src":"407742:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407778:4:22","nodeType":"YulLiteral","src":"407778:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"407784:2:22","nodeType":"YulIdentifier","src":"407784:2:22"}],"functionName":{"name":"mstore","nativeSrc":"407771:6:22","nodeType":"YulIdentifier","src":"407771:6:22"},"nativeSrc":"407771:16:22","nodeType":"YulFunctionCall","src":"407771:16:22"},"nativeSrc":"407771:16:22","nodeType":"YulExpressionStatement","src":"407771:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407812:4:22","nodeType":"YulLiteral","src":"407812:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"407818:2:22","nodeType":"YulIdentifier","src":"407818:2:22"}],"functionName":{"name":"writeString","nativeSrc":"407800:11:22","nodeType":"YulIdentifier","src":"407800:11:22"},"nativeSrc":"407800:21:22","nodeType":"YulFunctionCall","src":"407800:21:22"},"nativeSrc":"407800:21:22","nodeType":"YulExpressionStatement","src":"407800:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407846:4:22","nodeType":"YulLiteral","src":"407846:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"407852:2:22","nodeType":"YulIdentifier","src":"407852:2:22"}],"functionName":{"name":"writeString","nativeSrc":"407834:11:22","nodeType":"YulIdentifier","src":"407834:11:22"},"nativeSrc":"407834:21:22","nodeType":"YulFunctionCall","src":"407834:21:22"},"nativeSrc":"407834:21:22","nodeType":"YulExpressionStatement","src":"407834:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43843,"isOffset":false,"isSlot":false,"src":"407310:2:22","valueSize":1},{"declaration":43846,"isOffset":false,"isSlot":false,"src":"407340:2:22","valueSize":1},{"declaration":43849,"isOffset":false,"isSlot":false,"src":"407370:2:22","valueSize":1},{"declaration":43852,"isOffset":false,"isSlot":false,"src":"407400:2:22","valueSize":1},{"declaration":43855,"isOffset":false,"isSlot":false,"src":"407430:2:22","valueSize":1},{"declaration":43858,"isOffset":false,"isSlot":false,"src":"407460:2:22","valueSize":1},{"declaration":43861,"isOffset":false,"isSlot":false,"src":"407490:2:22","valueSize":1},{"declaration":43864,"isOffset":false,"isSlot":false,"src":"407520:2:22","valueSize":1},{"declaration":43867,"isOffset":false,"isSlot":false,"src":"407550:2:22","valueSize":1},{"declaration":43833,"isOffset":false,"isSlot":false,"src":"407818:2:22","valueSize":1},{"declaration":43835,"isOffset":false,"isSlot":false,"src":"407852:2:22","valueSize":1},{"declaration":43837,"isOffset":false,"isSlot":false,"src":"407755:2:22","valueSize":1},{"declaration":43839,"isOffset":false,"isSlot":false,"src":"407784:2:22","valueSize":1}],"id":43869,"nodeType":"InlineAssembly","src":"406932:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407890:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407896:5:22","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":43870,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"407874:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"407874:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43874,"nodeType":"ExpressionStatement","src":"407874:28:22"},{"AST":{"nativeSrc":"407964:273:22","nodeType":"YulBlock","src":"407964:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"407985:4:22","nodeType":"YulLiteral","src":"407985:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"407991:2:22","nodeType":"YulIdentifier","src":"407991:2:22"}],"functionName":{"name":"mstore","nativeSrc":"407978:6:22","nodeType":"YulIdentifier","src":"407978:6:22"},"nativeSrc":"407978:16:22","nodeType":"YulFunctionCall","src":"407978:16:22"},"nativeSrc":"407978:16:22","nodeType":"YulExpressionStatement","src":"407978:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408014:4:22","nodeType":"YulLiteral","src":"408014:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"408020:2:22","nodeType":"YulIdentifier","src":"408020:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408007:6:22","nodeType":"YulIdentifier","src":"408007:6:22"},"nativeSrc":"408007:16:22","nodeType":"YulFunctionCall","src":"408007:16:22"},"nativeSrc":"408007:16:22","nodeType":"YulExpressionStatement","src":"408007:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408043:4:22","nodeType":"YulLiteral","src":"408043:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"408049:2:22","nodeType":"YulIdentifier","src":"408049:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408036:6:22","nodeType":"YulIdentifier","src":"408036:6:22"},"nativeSrc":"408036:16:22","nodeType":"YulFunctionCall","src":"408036:16:22"},"nativeSrc":"408036:16:22","nodeType":"YulExpressionStatement","src":"408036:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408072:4:22","nodeType":"YulLiteral","src":"408072:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"408078:2:22","nodeType":"YulIdentifier","src":"408078:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408065:6:22","nodeType":"YulIdentifier","src":"408065:6:22"},"nativeSrc":"408065:16:22","nodeType":"YulFunctionCall","src":"408065:16:22"},"nativeSrc":"408065:16:22","nodeType":"YulExpressionStatement","src":"408065:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408101:4:22","nodeType":"YulLiteral","src":"408101:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"408107:2:22","nodeType":"YulIdentifier","src":"408107:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408094:6:22","nodeType":"YulIdentifier","src":"408094:6:22"},"nativeSrc":"408094:16:22","nodeType":"YulFunctionCall","src":"408094:16:22"},"nativeSrc":"408094:16:22","nodeType":"YulExpressionStatement","src":"408094:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408130:4:22","nodeType":"YulLiteral","src":"408130:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"408136:2:22","nodeType":"YulIdentifier","src":"408136:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408123:6:22","nodeType":"YulIdentifier","src":"408123:6:22"},"nativeSrc":"408123:16:22","nodeType":"YulFunctionCall","src":"408123:16:22"},"nativeSrc":"408123:16:22","nodeType":"YulExpressionStatement","src":"408123:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408159:4:22","nodeType":"YulLiteral","src":"408159:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"408165:2:22","nodeType":"YulIdentifier","src":"408165:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408152:6:22","nodeType":"YulIdentifier","src":"408152:6:22"},"nativeSrc":"408152:16:22","nodeType":"YulFunctionCall","src":"408152:16:22"},"nativeSrc":"408152:16:22","nodeType":"YulExpressionStatement","src":"408152:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408188:4:22","nodeType":"YulLiteral","src":"408188:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"408194:2:22","nodeType":"YulIdentifier","src":"408194:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408181:6:22","nodeType":"YulIdentifier","src":"408181:6:22"},"nativeSrc":"408181:16:22","nodeType":"YulFunctionCall","src":"408181:16:22"},"nativeSrc":"408181:16:22","nodeType":"YulExpressionStatement","src":"408181:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408217:5:22","nodeType":"YulLiteral","src":"408217:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"408224:2:22","nodeType":"YulIdentifier","src":"408224:2:22"}],"functionName":{"name":"mstore","nativeSrc":"408210:6:22","nodeType":"YulIdentifier","src":"408210:6:22"},"nativeSrc":"408210:17:22","nodeType":"YulFunctionCall","src":"408210:17:22"},"nativeSrc":"408210:17:22","nodeType":"YulExpressionStatement","src":"408210:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43843,"isOffset":false,"isSlot":false,"src":"407991:2:22","valueSize":1},{"declaration":43846,"isOffset":false,"isSlot":false,"src":"408020:2:22","valueSize":1},{"declaration":43849,"isOffset":false,"isSlot":false,"src":"408049:2:22","valueSize":1},{"declaration":43852,"isOffset":false,"isSlot":false,"src":"408078:2:22","valueSize":1},{"declaration":43855,"isOffset":false,"isSlot":false,"src":"408107:2:22","valueSize":1},{"declaration":43858,"isOffset":false,"isSlot":false,"src":"408136:2:22","valueSize":1},{"declaration":43861,"isOffset":false,"isSlot":false,"src":"408165:2:22","valueSize":1},{"declaration":43864,"isOffset":false,"isSlot":false,"src":"408194:2:22","valueSize":1},{"declaration":43867,"isOffset":false,"isSlot":false,"src":"408224:2:22","valueSize":1}],"id":43875,"nodeType":"InlineAssembly","src":"407955:282:22"}]},"id":43877,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"406636:3:22","nodeType":"FunctionDefinition","parameters":{"id":43840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43833,"mutability":"mutable","name":"p0","nameLocation":"406648:2:22","nodeType":"VariableDeclaration","scope":43877,"src":"406640:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406640:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43835,"mutability":"mutable","name":"p1","nameLocation":"406660:2:22","nodeType":"VariableDeclaration","scope":43877,"src":"406652:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406652:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43837,"mutability":"mutable","name":"p2","nameLocation":"406669:2:22","nodeType":"VariableDeclaration","scope":43877,"src":"406664:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43836,"name":"bool","nodeType":"ElementaryTypeName","src":"406664:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43839,"mutability":"mutable","name":"p3","nameLocation":"406681:2:22","nodeType":"VariableDeclaration","scope":43877,"src":"406673:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43838,"name":"address","nodeType":"ElementaryTypeName","src":"406673:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"406639:45:22"},"returnParameters":{"id":43841,"nodeType":"ParameterList","parameters":[],"src":"406699:0:22"},"scope":44426,"src":"406627:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43922,"nodeType":"Block","src":"408318:1541:22","statements":[{"assignments":[43889],"declarations":[{"constant":false,"id":43889,"mutability":"mutable","name":"m0","nameLocation":"408336:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408328:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408328:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43890,"nodeType":"VariableDeclarationStatement","src":"408328:10:22"},{"assignments":[43892],"declarations":[{"constant":false,"id":43892,"mutability":"mutable","name":"m1","nameLocation":"408356:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408348:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43893,"nodeType":"VariableDeclarationStatement","src":"408348:10:22"},{"assignments":[43895],"declarations":[{"constant":false,"id":43895,"mutability":"mutable","name":"m2","nameLocation":"408376:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408368:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408368:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43896,"nodeType":"VariableDeclarationStatement","src":"408368:10:22"},{"assignments":[43898],"declarations":[{"constant":false,"id":43898,"mutability":"mutable","name":"m3","nameLocation":"408396:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408388:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408388:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43899,"nodeType":"VariableDeclarationStatement","src":"408388:10:22"},{"assignments":[43901],"declarations":[{"constant":false,"id":43901,"mutability":"mutable","name":"m4","nameLocation":"408416:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408408:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408408:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43902,"nodeType":"VariableDeclarationStatement","src":"408408:10:22"},{"assignments":[43904],"declarations":[{"constant":false,"id":43904,"mutability":"mutable","name":"m5","nameLocation":"408436:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408428:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408428:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43905,"nodeType":"VariableDeclarationStatement","src":"408428:10:22"},{"assignments":[43907],"declarations":[{"constant":false,"id":43907,"mutability":"mutable","name":"m6","nameLocation":"408456:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408448:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408448:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43908,"nodeType":"VariableDeclarationStatement","src":"408448:10:22"},{"assignments":[43910],"declarations":[{"constant":false,"id":43910,"mutability":"mutable","name":"m7","nameLocation":"408476:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408468:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408468:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43911,"nodeType":"VariableDeclarationStatement","src":"408468:10:22"},{"assignments":[43913],"declarations":[{"constant":false,"id":43913,"mutability":"mutable","name":"m8","nameLocation":"408496:2:22","nodeType":"VariableDeclaration","scope":43922,"src":"408488:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408488:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43914,"nodeType":"VariableDeclarationStatement","src":"408488:10:22"},{"AST":{"nativeSrc":"408560:921:22","nodeType":"YulBlock","src":"408560:921:22","statements":[{"body":{"nativeSrc":"408603:313:22","nodeType":"YulBlock","src":"408603:313:22","statements":[{"nativeSrc":"408621:15:22","nodeType":"YulVariableDeclaration","src":"408621:15:22","value":{"kind":"number","nativeSrc":"408635:1:22","nodeType":"YulLiteral","src":"408635:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"408625:6:22","nodeType":"YulTypedName","src":"408625:6:22","type":""}]},{"body":{"nativeSrc":"408706:40:22","nodeType":"YulBlock","src":"408706:40:22","statements":[{"body":{"nativeSrc":"408735:9:22","nodeType":"YulBlock","src":"408735:9:22","statements":[{"nativeSrc":"408737:5:22","nodeType":"YulBreak","src":"408737:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"408723:6:22","nodeType":"YulIdentifier","src":"408723:6:22"},{"name":"w","nativeSrc":"408731:1:22","nodeType":"YulIdentifier","src":"408731:1:22"}],"functionName":{"name":"byte","nativeSrc":"408718:4:22","nodeType":"YulIdentifier","src":"408718:4:22"},"nativeSrc":"408718:15:22","nodeType":"YulFunctionCall","src":"408718:15:22"}],"functionName":{"name":"iszero","nativeSrc":"408711:6:22","nodeType":"YulIdentifier","src":"408711:6:22"},"nativeSrc":"408711:23:22","nodeType":"YulFunctionCall","src":"408711:23:22"},"nativeSrc":"408708:36:22","nodeType":"YulIf","src":"408708:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"408663:6:22","nodeType":"YulIdentifier","src":"408663:6:22"},{"kind":"number","nativeSrc":"408671:4:22","nodeType":"YulLiteral","src":"408671:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"408660:2:22","nodeType":"YulIdentifier","src":"408660:2:22"},"nativeSrc":"408660:16:22","nodeType":"YulFunctionCall","src":"408660:16:22"},"nativeSrc":"408653:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"408677:28:22","nodeType":"YulBlock","src":"408677:28:22","statements":[{"nativeSrc":"408679:24:22","nodeType":"YulAssignment","src":"408679:24:22","value":{"arguments":[{"name":"length","nativeSrc":"408693:6:22","nodeType":"YulIdentifier","src":"408693:6:22"},{"kind":"number","nativeSrc":"408701:1:22","nodeType":"YulLiteral","src":"408701:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"408689:3:22","nodeType":"YulIdentifier","src":"408689:3:22"},"nativeSrc":"408689:14:22","nodeType":"YulFunctionCall","src":"408689:14:22"},"variableNames":[{"name":"length","nativeSrc":"408679:6:22","nodeType":"YulIdentifier","src":"408679:6:22"}]}]},"pre":{"nativeSrc":"408657:2:22","nodeType":"YulBlock","src":"408657:2:22","statements":[]},"src":"408653:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"408770:3:22","nodeType":"YulIdentifier","src":"408770:3:22"},{"name":"length","nativeSrc":"408775:6:22","nodeType":"YulIdentifier","src":"408775:6:22"}],"functionName":{"name":"mstore","nativeSrc":"408763:6:22","nodeType":"YulIdentifier","src":"408763:6:22"},"nativeSrc":"408763:19:22","nodeType":"YulFunctionCall","src":"408763:19:22"},"nativeSrc":"408763:19:22","nodeType":"YulExpressionStatement","src":"408763:19:22"},{"nativeSrc":"408799:37:22","nodeType":"YulVariableDeclaration","src":"408799:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"408816:3:22","nodeType":"YulLiteral","src":"408816:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"408825:1:22","nodeType":"YulLiteral","src":"408825:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"408828:6:22","nodeType":"YulIdentifier","src":"408828:6:22"}],"functionName":{"name":"shl","nativeSrc":"408821:3:22","nodeType":"YulIdentifier","src":"408821:3:22"},"nativeSrc":"408821:14:22","nodeType":"YulFunctionCall","src":"408821:14:22"}],"functionName":{"name":"sub","nativeSrc":"408812:3:22","nodeType":"YulIdentifier","src":"408812:3:22"},"nativeSrc":"408812:24:22","nodeType":"YulFunctionCall","src":"408812:24:22"},"variables":[{"name":"shift","nativeSrc":"408803:5:22","nodeType":"YulTypedName","src":"408803:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"408864:3:22","nodeType":"YulIdentifier","src":"408864:3:22"},{"kind":"number","nativeSrc":"408869:4:22","nodeType":"YulLiteral","src":"408869:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"408860:3:22","nodeType":"YulIdentifier","src":"408860:3:22"},"nativeSrc":"408860:14:22","nodeType":"YulFunctionCall","src":"408860:14:22"},{"arguments":[{"name":"shift","nativeSrc":"408880:5:22","nodeType":"YulIdentifier","src":"408880:5:22"},{"arguments":[{"name":"shift","nativeSrc":"408891:5:22","nodeType":"YulIdentifier","src":"408891:5:22"},{"name":"w","nativeSrc":"408898:1:22","nodeType":"YulIdentifier","src":"408898:1:22"}],"functionName":{"name":"shr","nativeSrc":"408887:3:22","nodeType":"YulIdentifier","src":"408887:3:22"},"nativeSrc":"408887:13:22","nodeType":"YulFunctionCall","src":"408887:13:22"}],"functionName":{"name":"shl","nativeSrc":"408876:3:22","nodeType":"YulIdentifier","src":"408876:3:22"},"nativeSrc":"408876:25:22","nodeType":"YulFunctionCall","src":"408876:25:22"}],"functionName":{"name":"mstore","nativeSrc":"408853:6:22","nodeType":"YulIdentifier","src":"408853:6:22"},"nativeSrc":"408853:49:22","nodeType":"YulFunctionCall","src":"408853:49:22"},"nativeSrc":"408853:49:22","nodeType":"YulExpressionStatement","src":"408853:49:22"}]},"name":"writeString","nativeSrc":"408574:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"408595:3:22","nodeType":"YulTypedName","src":"408595:3:22","type":""},{"name":"w","nativeSrc":"408600:1:22","nodeType":"YulTypedName","src":"408600:1:22","type":""}],"src":"408574:342:22"},{"nativeSrc":"408929:17:22","nodeType":"YulAssignment","src":"408929:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"408941:4:22","nodeType":"YulLiteral","src":"408941:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"408935:5:22","nodeType":"YulIdentifier","src":"408935:5:22"},"nativeSrc":"408935:11:22","nodeType":"YulFunctionCall","src":"408935:11:22"},"variableNames":[{"name":"m0","nativeSrc":"408929:2:22","nodeType":"YulIdentifier","src":"408929:2:22"}]},{"nativeSrc":"408959:17:22","nodeType":"YulAssignment","src":"408959:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"408971:4:22","nodeType":"YulLiteral","src":"408971:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"408965:5:22","nodeType":"YulIdentifier","src":"408965:5:22"},"nativeSrc":"408965:11:22","nodeType":"YulFunctionCall","src":"408965:11:22"},"variableNames":[{"name":"m1","nativeSrc":"408959:2:22","nodeType":"YulIdentifier","src":"408959:2:22"}]},{"nativeSrc":"408989:17:22","nodeType":"YulAssignment","src":"408989:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409001:4:22","nodeType":"YulLiteral","src":"409001:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"408995:5:22","nodeType":"YulIdentifier","src":"408995:5:22"},"nativeSrc":"408995:11:22","nodeType":"YulFunctionCall","src":"408995:11:22"},"variableNames":[{"name":"m2","nativeSrc":"408989:2:22","nodeType":"YulIdentifier","src":"408989:2:22"}]},{"nativeSrc":"409019:17:22","nodeType":"YulAssignment","src":"409019:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409031:4:22","nodeType":"YulLiteral","src":"409031:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"409025:5:22","nodeType":"YulIdentifier","src":"409025:5:22"},"nativeSrc":"409025:11:22","nodeType":"YulFunctionCall","src":"409025:11:22"},"variableNames":[{"name":"m3","nativeSrc":"409019:2:22","nodeType":"YulIdentifier","src":"409019:2:22"}]},{"nativeSrc":"409049:17:22","nodeType":"YulAssignment","src":"409049:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409061:4:22","nodeType":"YulLiteral","src":"409061:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"409055:5:22","nodeType":"YulIdentifier","src":"409055:5:22"},"nativeSrc":"409055:11:22","nodeType":"YulFunctionCall","src":"409055:11:22"},"variableNames":[{"name":"m4","nativeSrc":"409049:2:22","nodeType":"YulIdentifier","src":"409049:2:22"}]},{"nativeSrc":"409079:17:22","nodeType":"YulAssignment","src":"409079:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409091:4:22","nodeType":"YulLiteral","src":"409091:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"409085:5:22","nodeType":"YulIdentifier","src":"409085:5:22"},"nativeSrc":"409085:11:22","nodeType":"YulFunctionCall","src":"409085:11:22"},"variableNames":[{"name":"m5","nativeSrc":"409079:2:22","nodeType":"YulIdentifier","src":"409079:2:22"}]},{"nativeSrc":"409109:17:22","nodeType":"YulAssignment","src":"409109:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409121:4:22","nodeType":"YulLiteral","src":"409121:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"409115:5:22","nodeType":"YulIdentifier","src":"409115:5:22"},"nativeSrc":"409115:11:22","nodeType":"YulFunctionCall","src":"409115:11:22"},"variableNames":[{"name":"m6","nativeSrc":"409109:2:22","nodeType":"YulIdentifier","src":"409109:2:22"}]},{"nativeSrc":"409139:17:22","nodeType":"YulAssignment","src":"409139:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"409151:4:22","nodeType":"YulLiteral","src":"409151:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"409145:5:22","nodeType":"YulIdentifier","src":"409145:5:22"},"nativeSrc":"409145:11:22","nodeType":"YulFunctionCall","src":"409145:11:22"},"variableNames":[{"name":"m7","nativeSrc":"409139:2:22","nodeType":"YulIdentifier","src":"409139:2:22"}]},{"nativeSrc":"409169:18:22","nodeType":"YulAssignment","src":"409169:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"409181:5:22","nodeType":"YulLiteral","src":"409181:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"409175:5:22","nodeType":"YulIdentifier","src":"409175:5:22"},"nativeSrc":"409175:12:22","nodeType":"YulFunctionCall","src":"409175:12:22"},"variableNames":[{"name":"m8","nativeSrc":"409169:2:22","nodeType":"YulIdentifier","src":"409169:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409266:4:22","nodeType":"YulLiteral","src":"409266:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"409272:10:22","nodeType":"YulLiteral","src":"409272:10:22","type":"","value":"0x40785869"}],"functionName":{"name":"mstore","nativeSrc":"409259:6:22","nodeType":"YulIdentifier","src":"409259:6:22"},"nativeSrc":"409259:24:22","nodeType":"YulFunctionCall","src":"409259:24:22"},"nativeSrc":"409259:24:22","nodeType":"YulExpressionStatement","src":"409259:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409303:4:22","nodeType":"YulLiteral","src":"409303:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"409309:4:22","nodeType":"YulLiteral","src":"409309:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"409296:6:22","nodeType":"YulIdentifier","src":"409296:6:22"},"nativeSrc":"409296:18:22","nodeType":"YulFunctionCall","src":"409296:18:22"},"nativeSrc":"409296:18:22","nodeType":"YulExpressionStatement","src":"409296:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409334:4:22","nodeType":"YulLiteral","src":"409334:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"409340:4:22","nodeType":"YulLiteral","src":"409340:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"409327:6:22","nodeType":"YulIdentifier","src":"409327:6:22"},"nativeSrc":"409327:18:22","nodeType":"YulFunctionCall","src":"409327:18:22"},"nativeSrc":"409327:18:22","nodeType":"YulExpressionStatement","src":"409327:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409365:4:22","nodeType":"YulLiteral","src":"409365:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"409371:2:22","nodeType":"YulIdentifier","src":"409371:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409358:6:22","nodeType":"YulIdentifier","src":"409358:6:22"},"nativeSrc":"409358:16:22","nodeType":"YulFunctionCall","src":"409358:16:22"},"nativeSrc":"409358:16:22","nodeType":"YulExpressionStatement","src":"409358:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409394:4:22","nodeType":"YulLiteral","src":"409394:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"409400:2:22","nodeType":"YulIdentifier","src":"409400:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409387:6:22","nodeType":"YulIdentifier","src":"409387:6:22"},"nativeSrc":"409387:16:22","nodeType":"YulFunctionCall","src":"409387:16:22"},"nativeSrc":"409387:16:22","nodeType":"YulExpressionStatement","src":"409387:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409428:4:22","nodeType":"YulLiteral","src":"409428:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"409434:2:22","nodeType":"YulIdentifier","src":"409434:2:22"}],"functionName":{"name":"writeString","nativeSrc":"409416:11:22","nodeType":"YulIdentifier","src":"409416:11:22"},"nativeSrc":"409416:21:22","nodeType":"YulFunctionCall","src":"409416:21:22"},"nativeSrc":"409416:21:22","nodeType":"YulExpressionStatement","src":"409416:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409462:4:22","nodeType":"YulLiteral","src":"409462:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"409468:2:22","nodeType":"YulIdentifier","src":"409468:2:22"}],"functionName":{"name":"writeString","nativeSrc":"409450:11:22","nodeType":"YulIdentifier","src":"409450:11:22"},"nativeSrc":"409450:21:22","nodeType":"YulFunctionCall","src":"409450:21:22"},"nativeSrc":"409450:21:22","nodeType":"YulExpressionStatement","src":"409450:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43889,"isOffset":false,"isSlot":false,"src":"408929:2:22","valueSize":1},{"declaration":43892,"isOffset":false,"isSlot":false,"src":"408959:2:22","valueSize":1},{"declaration":43895,"isOffset":false,"isSlot":false,"src":"408989:2:22","valueSize":1},{"declaration":43898,"isOffset":false,"isSlot":false,"src":"409019:2:22","valueSize":1},{"declaration":43901,"isOffset":false,"isSlot":false,"src":"409049:2:22","valueSize":1},{"declaration":43904,"isOffset":false,"isSlot":false,"src":"409079:2:22","valueSize":1},{"declaration":43907,"isOffset":false,"isSlot":false,"src":"409109:2:22","valueSize":1},{"declaration":43910,"isOffset":false,"isSlot":false,"src":"409139:2:22","valueSize":1},{"declaration":43913,"isOffset":false,"isSlot":false,"src":"409169:2:22","valueSize":1},{"declaration":43879,"isOffset":false,"isSlot":false,"src":"409434:2:22","valueSize":1},{"declaration":43881,"isOffset":false,"isSlot":false,"src":"409468:2:22","valueSize":1},{"declaration":43883,"isOffset":false,"isSlot":false,"src":"409371:2:22","valueSize":1},{"declaration":43885,"isOffset":false,"isSlot":false,"src":"409400:2:22","valueSize":1}],"id":43915,"nodeType":"InlineAssembly","src":"408551:930:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409506:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409512:5:22","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":43916,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"409490:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"409490:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43920,"nodeType":"ExpressionStatement","src":"409490:28:22"},{"AST":{"nativeSrc":"409580:273:22","nodeType":"YulBlock","src":"409580:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"409601:4:22","nodeType":"YulLiteral","src":"409601:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"409607:2:22","nodeType":"YulIdentifier","src":"409607:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409594:6:22","nodeType":"YulIdentifier","src":"409594:6:22"},"nativeSrc":"409594:16:22","nodeType":"YulFunctionCall","src":"409594:16:22"},"nativeSrc":"409594:16:22","nodeType":"YulExpressionStatement","src":"409594:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409630:4:22","nodeType":"YulLiteral","src":"409630:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"409636:2:22","nodeType":"YulIdentifier","src":"409636:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409623:6:22","nodeType":"YulIdentifier","src":"409623:6:22"},"nativeSrc":"409623:16:22","nodeType":"YulFunctionCall","src":"409623:16:22"},"nativeSrc":"409623:16:22","nodeType":"YulExpressionStatement","src":"409623:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409659:4:22","nodeType":"YulLiteral","src":"409659:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"409665:2:22","nodeType":"YulIdentifier","src":"409665:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409652:6:22","nodeType":"YulIdentifier","src":"409652:6:22"},"nativeSrc":"409652:16:22","nodeType":"YulFunctionCall","src":"409652:16:22"},"nativeSrc":"409652:16:22","nodeType":"YulExpressionStatement","src":"409652:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409688:4:22","nodeType":"YulLiteral","src":"409688:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"409694:2:22","nodeType":"YulIdentifier","src":"409694:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409681:6:22","nodeType":"YulIdentifier","src":"409681:6:22"},"nativeSrc":"409681:16:22","nodeType":"YulFunctionCall","src":"409681:16:22"},"nativeSrc":"409681:16:22","nodeType":"YulExpressionStatement","src":"409681:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409717:4:22","nodeType":"YulLiteral","src":"409717:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"409723:2:22","nodeType":"YulIdentifier","src":"409723:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409710:6:22","nodeType":"YulIdentifier","src":"409710:6:22"},"nativeSrc":"409710:16:22","nodeType":"YulFunctionCall","src":"409710:16:22"},"nativeSrc":"409710:16:22","nodeType":"YulExpressionStatement","src":"409710:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409746:4:22","nodeType":"YulLiteral","src":"409746:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"409752:2:22","nodeType":"YulIdentifier","src":"409752:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409739:6:22","nodeType":"YulIdentifier","src":"409739:6:22"},"nativeSrc":"409739:16:22","nodeType":"YulFunctionCall","src":"409739:16:22"},"nativeSrc":"409739:16:22","nodeType":"YulExpressionStatement","src":"409739:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409775:4:22","nodeType":"YulLiteral","src":"409775:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"409781:2:22","nodeType":"YulIdentifier","src":"409781:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409768:6:22","nodeType":"YulIdentifier","src":"409768:6:22"},"nativeSrc":"409768:16:22","nodeType":"YulFunctionCall","src":"409768:16:22"},"nativeSrc":"409768:16:22","nodeType":"YulExpressionStatement","src":"409768:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409804:4:22","nodeType":"YulLiteral","src":"409804:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"409810:2:22","nodeType":"YulIdentifier","src":"409810:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409797:6:22","nodeType":"YulIdentifier","src":"409797:6:22"},"nativeSrc":"409797:16:22","nodeType":"YulFunctionCall","src":"409797:16:22"},"nativeSrc":"409797:16:22","nodeType":"YulExpressionStatement","src":"409797:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409833:5:22","nodeType":"YulLiteral","src":"409833:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"409840:2:22","nodeType":"YulIdentifier","src":"409840:2:22"}],"functionName":{"name":"mstore","nativeSrc":"409826:6:22","nodeType":"YulIdentifier","src":"409826:6:22"},"nativeSrc":"409826:17:22","nodeType":"YulFunctionCall","src":"409826:17:22"},"nativeSrc":"409826:17:22","nodeType":"YulExpressionStatement","src":"409826:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43889,"isOffset":false,"isSlot":false,"src":"409607:2:22","valueSize":1},{"declaration":43892,"isOffset":false,"isSlot":false,"src":"409636:2:22","valueSize":1},{"declaration":43895,"isOffset":false,"isSlot":false,"src":"409665:2:22","valueSize":1},{"declaration":43898,"isOffset":false,"isSlot":false,"src":"409694:2:22","valueSize":1},{"declaration":43901,"isOffset":false,"isSlot":false,"src":"409723:2:22","valueSize":1},{"declaration":43904,"isOffset":false,"isSlot":false,"src":"409752:2:22","valueSize":1},{"declaration":43907,"isOffset":false,"isSlot":false,"src":"409781:2:22","valueSize":1},{"declaration":43910,"isOffset":false,"isSlot":false,"src":"409810:2:22","valueSize":1},{"declaration":43913,"isOffset":false,"isSlot":false,"src":"409840:2:22","valueSize":1}],"id":43921,"nodeType":"InlineAssembly","src":"409571:282:22"}]},"id":43923,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"408258:3:22","nodeType":"FunctionDefinition","parameters":{"id":43886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43879,"mutability":"mutable","name":"p0","nameLocation":"408270:2:22","nodeType":"VariableDeclaration","scope":43923,"src":"408262:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408262:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43881,"mutability":"mutable","name":"p1","nameLocation":"408282:2:22","nodeType":"VariableDeclaration","scope":43923,"src":"408274:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408274:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43883,"mutability":"mutable","name":"p2","nameLocation":"408291:2:22","nodeType":"VariableDeclaration","scope":43923,"src":"408286:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43882,"name":"bool","nodeType":"ElementaryTypeName","src":"408286:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43885,"mutability":"mutable","name":"p3","nameLocation":"408300:2:22","nodeType":"VariableDeclaration","scope":43923,"src":"408295:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43884,"name":"bool","nodeType":"ElementaryTypeName","src":"408295:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"408261:42:22"},"returnParameters":{"id":43887,"nodeType":"ParameterList","parameters":[],"src":"408318:0:22"},"scope":44426,"src":"408249:1610:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":43968,"nodeType":"Block","src":"409937:1544:22","statements":[{"assignments":[43935],"declarations":[{"constant":false,"id":43935,"mutability":"mutable","name":"m0","nameLocation":"409955:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"409947:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409947:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43936,"nodeType":"VariableDeclarationStatement","src":"409947:10:22"},{"assignments":[43938],"declarations":[{"constant":false,"id":43938,"mutability":"mutable","name":"m1","nameLocation":"409975:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"409967:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409967:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43939,"nodeType":"VariableDeclarationStatement","src":"409967:10:22"},{"assignments":[43941],"declarations":[{"constant":false,"id":43941,"mutability":"mutable","name":"m2","nameLocation":"409995:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"409987:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409987:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43942,"nodeType":"VariableDeclarationStatement","src":"409987:10:22"},{"assignments":[43944],"declarations":[{"constant":false,"id":43944,"mutability":"mutable","name":"m3","nameLocation":"410015:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410007:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410007:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43945,"nodeType":"VariableDeclarationStatement","src":"410007:10:22"},{"assignments":[43947],"declarations":[{"constant":false,"id":43947,"mutability":"mutable","name":"m4","nameLocation":"410035:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410027:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410027:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43948,"nodeType":"VariableDeclarationStatement","src":"410027:10:22"},{"assignments":[43950],"declarations":[{"constant":false,"id":43950,"mutability":"mutable","name":"m5","nameLocation":"410055:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410047:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410047:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43951,"nodeType":"VariableDeclarationStatement","src":"410047:10:22"},{"assignments":[43953],"declarations":[{"constant":false,"id":43953,"mutability":"mutable","name":"m6","nameLocation":"410075:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410067:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410067:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43954,"nodeType":"VariableDeclarationStatement","src":"410067:10:22"},{"assignments":[43956],"declarations":[{"constant":false,"id":43956,"mutability":"mutable","name":"m7","nameLocation":"410095:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410087:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410087:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43957,"nodeType":"VariableDeclarationStatement","src":"410087:10:22"},{"assignments":[43959],"declarations":[{"constant":false,"id":43959,"mutability":"mutable","name":"m8","nameLocation":"410115:2:22","nodeType":"VariableDeclaration","scope":43968,"src":"410107:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410107:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43960,"nodeType":"VariableDeclarationStatement","src":"410107:10:22"},{"AST":{"nativeSrc":"410179:924:22","nodeType":"YulBlock","src":"410179:924:22","statements":[{"body":{"nativeSrc":"410222:313:22","nodeType":"YulBlock","src":"410222:313:22","statements":[{"nativeSrc":"410240:15:22","nodeType":"YulVariableDeclaration","src":"410240:15:22","value":{"kind":"number","nativeSrc":"410254:1:22","nodeType":"YulLiteral","src":"410254:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"410244:6:22","nodeType":"YulTypedName","src":"410244:6:22","type":""}]},{"body":{"nativeSrc":"410325:40:22","nodeType":"YulBlock","src":"410325:40:22","statements":[{"body":{"nativeSrc":"410354:9:22","nodeType":"YulBlock","src":"410354:9:22","statements":[{"nativeSrc":"410356:5:22","nodeType":"YulBreak","src":"410356:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"410342:6:22","nodeType":"YulIdentifier","src":"410342:6:22"},{"name":"w","nativeSrc":"410350:1:22","nodeType":"YulIdentifier","src":"410350:1:22"}],"functionName":{"name":"byte","nativeSrc":"410337:4:22","nodeType":"YulIdentifier","src":"410337:4:22"},"nativeSrc":"410337:15:22","nodeType":"YulFunctionCall","src":"410337:15:22"}],"functionName":{"name":"iszero","nativeSrc":"410330:6:22","nodeType":"YulIdentifier","src":"410330:6:22"},"nativeSrc":"410330:23:22","nodeType":"YulFunctionCall","src":"410330:23:22"},"nativeSrc":"410327:36:22","nodeType":"YulIf","src":"410327:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"410282:6:22","nodeType":"YulIdentifier","src":"410282:6:22"},{"kind":"number","nativeSrc":"410290:4:22","nodeType":"YulLiteral","src":"410290:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"410279:2:22","nodeType":"YulIdentifier","src":"410279:2:22"},"nativeSrc":"410279:16:22","nodeType":"YulFunctionCall","src":"410279:16:22"},"nativeSrc":"410272:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"410296:28:22","nodeType":"YulBlock","src":"410296:28:22","statements":[{"nativeSrc":"410298:24:22","nodeType":"YulAssignment","src":"410298:24:22","value":{"arguments":[{"name":"length","nativeSrc":"410312:6:22","nodeType":"YulIdentifier","src":"410312:6:22"},{"kind":"number","nativeSrc":"410320:1:22","nodeType":"YulLiteral","src":"410320:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"410308:3:22","nodeType":"YulIdentifier","src":"410308:3:22"},"nativeSrc":"410308:14:22","nodeType":"YulFunctionCall","src":"410308:14:22"},"variableNames":[{"name":"length","nativeSrc":"410298:6:22","nodeType":"YulIdentifier","src":"410298:6:22"}]}]},"pre":{"nativeSrc":"410276:2:22","nodeType":"YulBlock","src":"410276:2:22","statements":[]},"src":"410272:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"410389:3:22","nodeType":"YulIdentifier","src":"410389:3:22"},{"name":"length","nativeSrc":"410394:6:22","nodeType":"YulIdentifier","src":"410394:6:22"}],"functionName":{"name":"mstore","nativeSrc":"410382:6:22","nodeType":"YulIdentifier","src":"410382:6:22"},"nativeSrc":"410382:19:22","nodeType":"YulFunctionCall","src":"410382:19:22"},"nativeSrc":"410382:19:22","nodeType":"YulExpressionStatement","src":"410382:19:22"},{"nativeSrc":"410418:37:22","nodeType":"YulVariableDeclaration","src":"410418:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"410435:3:22","nodeType":"YulLiteral","src":"410435:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"410444:1:22","nodeType":"YulLiteral","src":"410444:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"410447:6:22","nodeType":"YulIdentifier","src":"410447:6:22"}],"functionName":{"name":"shl","nativeSrc":"410440:3:22","nodeType":"YulIdentifier","src":"410440:3:22"},"nativeSrc":"410440:14:22","nodeType":"YulFunctionCall","src":"410440:14:22"}],"functionName":{"name":"sub","nativeSrc":"410431:3:22","nodeType":"YulIdentifier","src":"410431:3:22"},"nativeSrc":"410431:24:22","nodeType":"YulFunctionCall","src":"410431:24:22"},"variables":[{"name":"shift","nativeSrc":"410422:5:22","nodeType":"YulTypedName","src":"410422:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"410483:3:22","nodeType":"YulIdentifier","src":"410483:3:22"},{"kind":"number","nativeSrc":"410488:4:22","nodeType":"YulLiteral","src":"410488:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"410479:3:22","nodeType":"YulIdentifier","src":"410479:3:22"},"nativeSrc":"410479:14:22","nodeType":"YulFunctionCall","src":"410479:14:22"},{"arguments":[{"name":"shift","nativeSrc":"410499:5:22","nodeType":"YulIdentifier","src":"410499:5:22"},{"arguments":[{"name":"shift","nativeSrc":"410510:5:22","nodeType":"YulIdentifier","src":"410510:5:22"},{"name":"w","nativeSrc":"410517:1:22","nodeType":"YulIdentifier","src":"410517:1:22"}],"functionName":{"name":"shr","nativeSrc":"410506:3:22","nodeType":"YulIdentifier","src":"410506:3:22"},"nativeSrc":"410506:13:22","nodeType":"YulFunctionCall","src":"410506:13:22"}],"functionName":{"name":"shl","nativeSrc":"410495:3:22","nodeType":"YulIdentifier","src":"410495:3:22"},"nativeSrc":"410495:25:22","nodeType":"YulFunctionCall","src":"410495:25:22"}],"functionName":{"name":"mstore","nativeSrc":"410472:6:22","nodeType":"YulIdentifier","src":"410472:6:22"},"nativeSrc":"410472:49:22","nodeType":"YulFunctionCall","src":"410472:49:22"},"nativeSrc":"410472:49:22","nodeType":"YulExpressionStatement","src":"410472:49:22"}]},"name":"writeString","nativeSrc":"410193:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"410214:3:22","nodeType":"YulTypedName","src":"410214:3:22","type":""},{"name":"w","nativeSrc":"410219:1:22","nodeType":"YulTypedName","src":"410219:1:22","type":""}],"src":"410193:342:22"},{"nativeSrc":"410548:17:22","nodeType":"YulAssignment","src":"410548:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410560:4:22","nodeType":"YulLiteral","src":"410560:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"410554:5:22","nodeType":"YulIdentifier","src":"410554:5:22"},"nativeSrc":"410554:11:22","nodeType":"YulFunctionCall","src":"410554:11:22"},"variableNames":[{"name":"m0","nativeSrc":"410548:2:22","nodeType":"YulIdentifier","src":"410548:2:22"}]},{"nativeSrc":"410578:17:22","nodeType":"YulAssignment","src":"410578:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410590:4:22","nodeType":"YulLiteral","src":"410590:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"410584:5:22","nodeType":"YulIdentifier","src":"410584:5:22"},"nativeSrc":"410584:11:22","nodeType":"YulFunctionCall","src":"410584:11:22"},"variableNames":[{"name":"m1","nativeSrc":"410578:2:22","nodeType":"YulIdentifier","src":"410578:2:22"}]},{"nativeSrc":"410608:17:22","nodeType":"YulAssignment","src":"410608:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410620:4:22","nodeType":"YulLiteral","src":"410620:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"410614:5:22","nodeType":"YulIdentifier","src":"410614:5:22"},"nativeSrc":"410614:11:22","nodeType":"YulFunctionCall","src":"410614:11:22"},"variableNames":[{"name":"m2","nativeSrc":"410608:2:22","nodeType":"YulIdentifier","src":"410608:2:22"}]},{"nativeSrc":"410638:17:22","nodeType":"YulAssignment","src":"410638:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410650:4:22","nodeType":"YulLiteral","src":"410650:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"410644:5:22","nodeType":"YulIdentifier","src":"410644:5:22"},"nativeSrc":"410644:11:22","nodeType":"YulFunctionCall","src":"410644:11:22"},"variableNames":[{"name":"m3","nativeSrc":"410638:2:22","nodeType":"YulIdentifier","src":"410638:2:22"}]},{"nativeSrc":"410668:17:22","nodeType":"YulAssignment","src":"410668:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410680:4:22","nodeType":"YulLiteral","src":"410680:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"410674:5:22","nodeType":"YulIdentifier","src":"410674:5:22"},"nativeSrc":"410674:11:22","nodeType":"YulFunctionCall","src":"410674:11:22"},"variableNames":[{"name":"m4","nativeSrc":"410668:2:22","nodeType":"YulIdentifier","src":"410668:2:22"}]},{"nativeSrc":"410698:17:22","nodeType":"YulAssignment","src":"410698:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410710:4:22","nodeType":"YulLiteral","src":"410710:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"410704:5:22","nodeType":"YulIdentifier","src":"410704:5:22"},"nativeSrc":"410704:11:22","nodeType":"YulFunctionCall","src":"410704:11:22"},"variableNames":[{"name":"m5","nativeSrc":"410698:2:22","nodeType":"YulIdentifier","src":"410698:2:22"}]},{"nativeSrc":"410728:17:22","nodeType":"YulAssignment","src":"410728:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410740:4:22","nodeType":"YulLiteral","src":"410740:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"410734:5:22","nodeType":"YulIdentifier","src":"410734:5:22"},"nativeSrc":"410734:11:22","nodeType":"YulFunctionCall","src":"410734:11:22"},"variableNames":[{"name":"m6","nativeSrc":"410728:2:22","nodeType":"YulIdentifier","src":"410728:2:22"}]},{"nativeSrc":"410758:17:22","nodeType":"YulAssignment","src":"410758:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"410770:4:22","nodeType":"YulLiteral","src":"410770:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"410764:5:22","nodeType":"YulIdentifier","src":"410764:5:22"},"nativeSrc":"410764:11:22","nodeType":"YulFunctionCall","src":"410764:11:22"},"variableNames":[{"name":"m7","nativeSrc":"410758:2:22","nodeType":"YulIdentifier","src":"410758:2:22"}]},{"nativeSrc":"410788:18:22","nodeType":"YulAssignment","src":"410788:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"410800:5:22","nodeType":"YulLiteral","src":"410800:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"410794:5:22","nodeType":"YulIdentifier","src":"410794:5:22"},"nativeSrc":"410794:12:22","nodeType":"YulFunctionCall","src":"410794:12:22"},"variableNames":[{"name":"m8","nativeSrc":"410788:2:22","nodeType":"YulIdentifier","src":"410788:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410888:4:22","nodeType":"YulLiteral","src":"410888:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"410894:10:22","nodeType":"YulLiteral","src":"410894:10:22","type":"","value":"0xd6aefad2"}],"functionName":{"name":"mstore","nativeSrc":"410881:6:22","nodeType":"YulIdentifier","src":"410881:6:22"},"nativeSrc":"410881:24:22","nodeType":"YulFunctionCall","src":"410881:24:22"},"nativeSrc":"410881:24:22","nodeType":"YulExpressionStatement","src":"410881:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410925:4:22","nodeType":"YulLiteral","src":"410925:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"410931:4:22","nodeType":"YulLiteral","src":"410931:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"410918:6:22","nodeType":"YulIdentifier","src":"410918:6:22"},"nativeSrc":"410918:18:22","nodeType":"YulFunctionCall","src":"410918:18:22"},"nativeSrc":"410918:18:22","nodeType":"YulExpressionStatement","src":"410918:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410956:4:22","nodeType":"YulLiteral","src":"410956:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"410962:4:22","nodeType":"YulLiteral","src":"410962:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"410949:6:22","nodeType":"YulIdentifier","src":"410949:6:22"},"nativeSrc":"410949:18:22","nodeType":"YulFunctionCall","src":"410949:18:22"},"nativeSrc":"410949:18:22","nodeType":"YulExpressionStatement","src":"410949:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410987:4:22","nodeType":"YulLiteral","src":"410987:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"410993:2:22","nodeType":"YulIdentifier","src":"410993:2:22"}],"functionName":{"name":"mstore","nativeSrc":"410980:6:22","nodeType":"YulIdentifier","src":"410980:6:22"},"nativeSrc":"410980:16:22","nodeType":"YulFunctionCall","src":"410980:16:22"},"nativeSrc":"410980:16:22","nodeType":"YulExpressionStatement","src":"410980:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411016:4:22","nodeType":"YulLiteral","src":"411016:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"411022:2:22","nodeType":"YulIdentifier","src":"411022:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411009:6:22","nodeType":"YulIdentifier","src":"411009:6:22"},"nativeSrc":"411009:16:22","nodeType":"YulFunctionCall","src":"411009:16:22"},"nativeSrc":"411009:16:22","nodeType":"YulExpressionStatement","src":"411009:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411050:4:22","nodeType":"YulLiteral","src":"411050:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"411056:2:22","nodeType":"YulIdentifier","src":"411056:2:22"}],"functionName":{"name":"writeString","nativeSrc":"411038:11:22","nodeType":"YulIdentifier","src":"411038:11:22"},"nativeSrc":"411038:21:22","nodeType":"YulFunctionCall","src":"411038:21:22"},"nativeSrc":"411038:21:22","nodeType":"YulExpressionStatement","src":"411038:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411084:4:22","nodeType":"YulLiteral","src":"411084:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"411090:2:22","nodeType":"YulIdentifier","src":"411090:2:22"}],"functionName":{"name":"writeString","nativeSrc":"411072:11:22","nodeType":"YulIdentifier","src":"411072:11:22"},"nativeSrc":"411072:21:22","nodeType":"YulFunctionCall","src":"411072:21:22"},"nativeSrc":"411072:21:22","nodeType":"YulExpressionStatement","src":"411072:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43935,"isOffset":false,"isSlot":false,"src":"410548:2:22","valueSize":1},{"declaration":43938,"isOffset":false,"isSlot":false,"src":"410578:2:22","valueSize":1},{"declaration":43941,"isOffset":false,"isSlot":false,"src":"410608:2:22","valueSize":1},{"declaration":43944,"isOffset":false,"isSlot":false,"src":"410638:2:22","valueSize":1},{"declaration":43947,"isOffset":false,"isSlot":false,"src":"410668:2:22","valueSize":1},{"declaration":43950,"isOffset":false,"isSlot":false,"src":"410698:2:22","valueSize":1},{"declaration":43953,"isOffset":false,"isSlot":false,"src":"410728:2:22","valueSize":1},{"declaration":43956,"isOffset":false,"isSlot":false,"src":"410758:2:22","valueSize":1},{"declaration":43959,"isOffset":false,"isSlot":false,"src":"410788:2:22","valueSize":1},{"declaration":43925,"isOffset":false,"isSlot":false,"src":"411056:2:22","valueSize":1},{"declaration":43927,"isOffset":false,"isSlot":false,"src":"411090:2:22","valueSize":1},{"declaration":43929,"isOffset":false,"isSlot":false,"src":"410993:2:22","valueSize":1},{"declaration":43931,"isOffset":false,"isSlot":false,"src":"411022:2:22","valueSize":1}],"id":43961,"nodeType":"InlineAssembly","src":"410170:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":43963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411128:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":43964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411134:5:22","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":43962,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"411112:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":43965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"411112:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43966,"nodeType":"ExpressionStatement","src":"411112:28:22"},{"AST":{"nativeSrc":"411202:273:22","nodeType":"YulBlock","src":"411202:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"411223:4:22","nodeType":"YulLiteral","src":"411223:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"411229:2:22","nodeType":"YulIdentifier","src":"411229:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411216:6:22","nodeType":"YulIdentifier","src":"411216:6:22"},"nativeSrc":"411216:16:22","nodeType":"YulFunctionCall","src":"411216:16:22"},"nativeSrc":"411216:16:22","nodeType":"YulExpressionStatement","src":"411216:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411252:4:22","nodeType":"YulLiteral","src":"411252:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"411258:2:22","nodeType":"YulIdentifier","src":"411258:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411245:6:22","nodeType":"YulIdentifier","src":"411245:6:22"},"nativeSrc":"411245:16:22","nodeType":"YulFunctionCall","src":"411245:16:22"},"nativeSrc":"411245:16:22","nodeType":"YulExpressionStatement","src":"411245:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411281:4:22","nodeType":"YulLiteral","src":"411281:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"411287:2:22","nodeType":"YulIdentifier","src":"411287:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411274:6:22","nodeType":"YulIdentifier","src":"411274:6:22"},"nativeSrc":"411274:16:22","nodeType":"YulFunctionCall","src":"411274:16:22"},"nativeSrc":"411274:16:22","nodeType":"YulExpressionStatement","src":"411274:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411310:4:22","nodeType":"YulLiteral","src":"411310:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"411316:2:22","nodeType":"YulIdentifier","src":"411316:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411303:6:22","nodeType":"YulIdentifier","src":"411303:6:22"},"nativeSrc":"411303:16:22","nodeType":"YulFunctionCall","src":"411303:16:22"},"nativeSrc":"411303:16:22","nodeType":"YulExpressionStatement","src":"411303:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411339:4:22","nodeType":"YulLiteral","src":"411339:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"411345:2:22","nodeType":"YulIdentifier","src":"411345:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411332:6:22","nodeType":"YulIdentifier","src":"411332:6:22"},"nativeSrc":"411332:16:22","nodeType":"YulFunctionCall","src":"411332:16:22"},"nativeSrc":"411332:16:22","nodeType":"YulExpressionStatement","src":"411332:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411368:4:22","nodeType":"YulLiteral","src":"411368:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"411374:2:22","nodeType":"YulIdentifier","src":"411374:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411361:6:22","nodeType":"YulIdentifier","src":"411361:6:22"},"nativeSrc":"411361:16:22","nodeType":"YulFunctionCall","src":"411361:16:22"},"nativeSrc":"411361:16:22","nodeType":"YulExpressionStatement","src":"411361:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411397:4:22","nodeType":"YulLiteral","src":"411397:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"411403:2:22","nodeType":"YulIdentifier","src":"411403:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411390:6:22","nodeType":"YulIdentifier","src":"411390:6:22"},"nativeSrc":"411390:16:22","nodeType":"YulFunctionCall","src":"411390:16:22"},"nativeSrc":"411390:16:22","nodeType":"YulExpressionStatement","src":"411390:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411426:4:22","nodeType":"YulLiteral","src":"411426:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"411432:2:22","nodeType":"YulIdentifier","src":"411432:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411419:6:22","nodeType":"YulIdentifier","src":"411419:6:22"},"nativeSrc":"411419:16:22","nodeType":"YulFunctionCall","src":"411419:16:22"},"nativeSrc":"411419:16:22","nodeType":"YulExpressionStatement","src":"411419:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411455:5:22","nodeType":"YulLiteral","src":"411455:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"411462:2:22","nodeType":"YulIdentifier","src":"411462:2:22"}],"functionName":{"name":"mstore","nativeSrc":"411448:6:22","nodeType":"YulIdentifier","src":"411448:6:22"},"nativeSrc":"411448:17:22","nodeType":"YulFunctionCall","src":"411448:17:22"},"nativeSrc":"411448:17:22","nodeType":"YulExpressionStatement","src":"411448:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43935,"isOffset":false,"isSlot":false,"src":"411229:2:22","valueSize":1},{"declaration":43938,"isOffset":false,"isSlot":false,"src":"411258:2:22","valueSize":1},{"declaration":43941,"isOffset":false,"isSlot":false,"src":"411287:2:22","valueSize":1},{"declaration":43944,"isOffset":false,"isSlot":false,"src":"411316:2:22","valueSize":1},{"declaration":43947,"isOffset":false,"isSlot":false,"src":"411345:2:22","valueSize":1},{"declaration":43950,"isOffset":false,"isSlot":false,"src":"411374:2:22","valueSize":1},{"declaration":43953,"isOffset":false,"isSlot":false,"src":"411403:2:22","valueSize":1},{"declaration":43956,"isOffset":false,"isSlot":false,"src":"411432:2:22","valueSize":1},{"declaration":43959,"isOffset":false,"isSlot":false,"src":"411462:2:22","valueSize":1}],"id":43967,"nodeType":"InlineAssembly","src":"411193:282:22"}]},"id":43969,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"409874:3:22","nodeType":"FunctionDefinition","parameters":{"id":43932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43925,"mutability":"mutable","name":"p0","nameLocation":"409886:2:22","nodeType":"VariableDeclaration","scope":43969,"src":"409878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43927,"mutability":"mutable","name":"p1","nameLocation":"409898:2:22","nodeType":"VariableDeclaration","scope":43969,"src":"409890:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409890:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43929,"mutability":"mutable","name":"p2","nameLocation":"409907:2:22","nodeType":"VariableDeclaration","scope":43969,"src":"409902:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43928,"name":"bool","nodeType":"ElementaryTypeName","src":"409902:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43931,"mutability":"mutable","name":"p3","nameLocation":"409919:2:22","nodeType":"VariableDeclaration","scope":43969,"src":"409911:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43930,"name":"uint256","nodeType":"ElementaryTypeName","src":"409911:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"409877:45:22"},"returnParameters":{"id":43933,"nodeType":"ParameterList","parameters":[],"src":"409937:0:22"},"scope":44426,"src":"409865:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44020,"nodeType":"Block","src":"411559:1746:22","statements":[{"assignments":[43981],"declarations":[{"constant":false,"id":43981,"mutability":"mutable","name":"m0","nameLocation":"411577:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411569:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411569:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43982,"nodeType":"VariableDeclarationStatement","src":"411569:10:22"},{"assignments":[43984],"declarations":[{"constant":false,"id":43984,"mutability":"mutable","name":"m1","nameLocation":"411597:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411589:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411589:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43985,"nodeType":"VariableDeclarationStatement","src":"411589:10:22"},{"assignments":[43987],"declarations":[{"constant":false,"id":43987,"mutability":"mutable","name":"m2","nameLocation":"411617:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411609:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411609:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43988,"nodeType":"VariableDeclarationStatement","src":"411609:10:22"},{"assignments":[43990],"declarations":[{"constant":false,"id":43990,"mutability":"mutable","name":"m3","nameLocation":"411637:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411629:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411629:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43991,"nodeType":"VariableDeclarationStatement","src":"411629:10:22"},{"assignments":[43993],"declarations":[{"constant":false,"id":43993,"mutability":"mutable","name":"m4","nameLocation":"411657:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411649:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411649:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43994,"nodeType":"VariableDeclarationStatement","src":"411649:10:22"},{"assignments":[43996],"declarations":[{"constant":false,"id":43996,"mutability":"mutable","name":"m5","nameLocation":"411677:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411669:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411669:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":43997,"nodeType":"VariableDeclarationStatement","src":"411669:10:22"},{"assignments":[43999],"declarations":[{"constant":false,"id":43999,"mutability":"mutable","name":"m6","nameLocation":"411697:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411689:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411689:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44000,"nodeType":"VariableDeclarationStatement","src":"411689:10:22"},{"assignments":[44002],"declarations":[{"constant":false,"id":44002,"mutability":"mutable","name":"m7","nameLocation":"411717:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411709:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411709:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44003,"nodeType":"VariableDeclarationStatement","src":"411709:10:22"},{"assignments":[44005],"declarations":[{"constant":false,"id":44005,"mutability":"mutable","name":"m8","nameLocation":"411737:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411729:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411729:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44006,"nodeType":"VariableDeclarationStatement","src":"411729:10:22"},{"assignments":[44008],"declarations":[{"constant":false,"id":44008,"mutability":"mutable","name":"m9","nameLocation":"411757:2:22","nodeType":"VariableDeclaration","scope":44020,"src":"411749:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411749:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44009,"nodeType":"VariableDeclarationStatement","src":"411749:10:22"},{"assignments":[44011],"declarations":[{"constant":false,"id":44011,"mutability":"mutable","name":"m10","nameLocation":"411777:3:22","nodeType":"VariableDeclaration","scope":44020,"src":"411769:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411769:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44012,"nodeType":"VariableDeclarationStatement","src":"411769:11:22"},{"AST":{"nativeSrc":"411842:1024:22","nodeType":"YulBlock","src":"411842:1024:22","statements":[{"body":{"nativeSrc":"411885:313:22","nodeType":"YulBlock","src":"411885:313:22","statements":[{"nativeSrc":"411903:15:22","nodeType":"YulVariableDeclaration","src":"411903:15:22","value":{"kind":"number","nativeSrc":"411917:1:22","nodeType":"YulLiteral","src":"411917:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"411907:6:22","nodeType":"YulTypedName","src":"411907:6:22","type":""}]},{"body":{"nativeSrc":"411988:40:22","nodeType":"YulBlock","src":"411988:40:22","statements":[{"body":{"nativeSrc":"412017:9:22","nodeType":"YulBlock","src":"412017:9:22","statements":[{"nativeSrc":"412019:5:22","nodeType":"YulBreak","src":"412019:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"412005:6:22","nodeType":"YulIdentifier","src":"412005:6:22"},{"name":"w","nativeSrc":"412013:1:22","nodeType":"YulIdentifier","src":"412013:1:22"}],"functionName":{"name":"byte","nativeSrc":"412000:4:22","nodeType":"YulIdentifier","src":"412000:4:22"},"nativeSrc":"412000:15:22","nodeType":"YulFunctionCall","src":"412000:15:22"}],"functionName":{"name":"iszero","nativeSrc":"411993:6:22","nodeType":"YulIdentifier","src":"411993:6:22"},"nativeSrc":"411993:23:22","nodeType":"YulFunctionCall","src":"411993:23:22"},"nativeSrc":"411990:36:22","nodeType":"YulIf","src":"411990:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"411945:6:22","nodeType":"YulIdentifier","src":"411945:6:22"},{"kind":"number","nativeSrc":"411953:4:22","nodeType":"YulLiteral","src":"411953:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"411942:2:22","nodeType":"YulIdentifier","src":"411942:2:22"},"nativeSrc":"411942:16:22","nodeType":"YulFunctionCall","src":"411942:16:22"},"nativeSrc":"411935:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"411959:28:22","nodeType":"YulBlock","src":"411959:28:22","statements":[{"nativeSrc":"411961:24:22","nodeType":"YulAssignment","src":"411961:24:22","value":{"arguments":[{"name":"length","nativeSrc":"411975:6:22","nodeType":"YulIdentifier","src":"411975:6:22"},{"kind":"number","nativeSrc":"411983:1:22","nodeType":"YulLiteral","src":"411983:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"411971:3:22","nodeType":"YulIdentifier","src":"411971:3:22"},"nativeSrc":"411971:14:22","nodeType":"YulFunctionCall","src":"411971:14:22"},"variableNames":[{"name":"length","nativeSrc":"411961:6:22","nodeType":"YulIdentifier","src":"411961:6:22"}]}]},"pre":{"nativeSrc":"411939:2:22","nodeType":"YulBlock","src":"411939:2:22","statements":[]},"src":"411935:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"412052:3:22","nodeType":"YulIdentifier","src":"412052:3:22"},{"name":"length","nativeSrc":"412057:6:22","nodeType":"YulIdentifier","src":"412057:6:22"}],"functionName":{"name":"mstore","nativeSrc":"412045:6:22","nodeType":"YulIdentifier","src":"412045:6:22"},"nativeSrc":"412045:19:22","nodeType":"YulFunctionCall","src":"412045:19:22"},"nativeSrc":"412045:19:22","nodeType":"YulExpressionStatement","src":"412045:19:22"},{"nativeSrc":"412081:37:22","nodeType":"YulVariableDeclaration","src":"412081:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"412098:3:22","nodeType":"YulLiteral","src":"412098:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"412107:1:22","nodeType":"YulLiteral","src":"412107:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"412110:6:22","nodeType":"YulIdentifier","src":"412110:6:22"}],"functionName":{"name":"shl","nativeSrc":"412103:3:22","nodeType":"YulIdentifier","src":"412103:3:22"},"nativeSrc":"412103:14:22","nodeType":"YulFunctionCall","src":"412103:14:22"}],"functionName":{"name":"sub","nativeSrc":"412094:3:22","nodeType":"YulIdentifier","src":"412094:3:22"},"nativeSrc":"412094:24:22","nodeType":"YulFunctionCall","src":"412094:24:22"},"variables":[{"name":"shift","nativeSrc":"412085:5:22","nodeType":"YulTypedName","src":"412085:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"412146:3:22","nodeType":"YulIdentifier","src":"412146:3:22"},{"kind":"number","nativeSrc":"412151:4:22","nodeType":"YulLiteral","src":"412151:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"412142:3:22","nodeType":"YulIdentifier","src":"412142:3:22"},"nativeSrc":"412142:14:22","nodeType":"YulFunctionCall","src":"412142:14:22"},{"arguments":[{"name":"shift","nativeSrc":"412162:5:22","nodeType":"YulIdentifier","src":"412162:5:22"},{"arguments":[{"name":"shift","nativeSrc":"412173:5:22","nodeType":"YulIdentifier","src":"412173:5:22"},{"name":"w","nativeSrc":"412180:1:22","nodeType":"YulIdentifier","src":"412180:1:22"}],"functionName":{"name":"shr","nativeSrc":"412169:3:22","nodeType":"YulIdentifier","src":"412169:3:22"},"nativeSrc":"412169:13:22","nodeType":"YulFunctionCall","src":"412169:13:22"}],"functionName":{"name":"shl","nativeSrc":"412158:3:22","nodeType":"YulIdentifier","src":"412158:3:22"},"nativeSrc":"412158:25:22","nodeType":"YulFunctionCall","src":"412158:25:22"}],"functionName":{"name":"mstore","nativeSrc":"412135:6:22","nodeType":"YulIdentifier","src":"412135:6:22"},"nativeSrc":"412135:49:22","nodeType":"YulFunctionCall","src":"412135:49:22"},"nativeSrc":"412135:49:22","nodeType":"YulExpressionStatement","src":"412135:49:22"}]},"name":"writeString","nativeSrc":"411856:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"411877:3:22","nodeType":"YulTypedName","src":"411877:3:22","type":""},{"name":"w","nativeSrc":"411882:1:22","nodeType":"YulTypedName","src":"411882:1:22","type":""}],"src":"411856:342:22"},{"nativeSrc":"412211:17:22","nodeType":"YulAssignment","src":"412211:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412223:4:22","nodeType":"YulLiteral","src":"412223:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"412217:5:22","nodeType":"YulIdentifier","src":"412217:5:22"},"nativeSrc":"412217:11:22","nodeType":"YulFunctionCall","src":"412217:11:22"},"variableNames":[{"name":"m0","nativeSrc":"412211:2:22","nodeType":"YulIdentifier","src":"412211:2:22"}]},{"nativeSrc":"412241:17:22","nodeType":"YulAssignment","src":"412241:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412253:4:22","nodeType":"YulLiteral","src":"412253:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"412247:5:22","nodeType":"YulIdentifier","src":"412247:5:22"},"nativeSrc":"412247:11:22","nodeType":"YulFunctionCall","src":"412247:11:22"},"variableNames":[{"name":"m1","nativeSrc":"412241:2:22","nodeType":"YulIdentifier","src":"412241:2:22"}]},{"nativeSrc":"412271:17:22","nodeType":"YulAssignment","src":"412271:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412283:4:22","nodeType":"YulLiteral","src":"412283:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"412277:5:22","nodeType":"YulIdentifier","src":"412277:5:22"},"nativeSrc":"412277:11:22","nodeType":"YulFunctionCall","src":"412277:11:22"},"variableNames":[{"name":"m2","nativeSrc":"412271:2:22","nodeType":"YulIdentifier","src":"412271:2:22"}]},{"nativeSrc":"412301:17:22","nodeType":"YulAssignment","src":"412301:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412313:4:22","nodeType":"YulLiteral","src":"412313:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"412307:5:22","nodeType":"YulIdentifier","src":"412307:5:22"},"nativeSrc":"412307:11:22","nodeType":"YulFunctionCall","src":"412307:11:22"},"variableNames":[{"name":"m3","nativeSrc":"412301:2:22","nodeType":"YulIdentifier","src":"412301:2:22"}]},{"nativeSrc":"412331:17:22","nodeType":"YulAssignment","src":"412331:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412343:4:22","nodeType":"YulLiteral","src":"412343:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"412337:5:22","nodeType":"YulIdentifier","src":"412337:5:22"},"nativeSrc":"412337:11:22","nodeType":"YulFunctionCall","src":"412337:11:22"},"variableNames":[{"name":"m4","nativeSrc":"412331:2:22","nodeType":"YulIdentifier","src":"412331:2:22"}]},{"nativeSrc":"412361:17:22","nodeType":"YulAssignment","src":"412361:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412373:4:22","nodeType":"YulLiteral","src":"412373:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"412367:5:22","nodeType":"YulIdentifier","src":"412367:5:22"},"nativeSrc":"412367:11:22","nodeType":"YulFunctionCall","src":"412367:11:22"},"variableNames":[{"name":"m5","nativeSrc":"412361:2:22","nodeType":"YulIdentifier","src":"412361:2:22"}]},{"nativeSrc":"412391:17:22","nodeType":"YulAssignment","src":"412391:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412403:4:22","nodeType":"YulLiteral","src":"412403:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"412397:5:22","nodeType":"YulIdentifier","src":"412397:5:22"},"nativeSrc":"412397:11:22","nodeType":"YulFunctionCall","src":"412397:11:22"},"variableNames":[{"name":"m6","nativeSrc":"412391:2:22","nodeType":"YulIdentifier","src":"412391:2:22"}]},{"nativeSrc":"412421:17:22","nodeType":"YulAssignment","src":"412421:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"412433:4:22","nodeType":"YulLiteral","src":"412433:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"412427:5:22","nodeType":"YulIdentifier","src":"412427:5:22"},"nativeSrc":"412427:11:22","nodeType":"YulFunctionCall","src":"412427:11:22"},"variableNames":[{"name":"m7","nativeSrc":"412421:2:22","nodeType":"YulIdentifier","src":"412421:2:22"}]},{"nativeSrc":"412451:18:22","nodeType":"YulAssignment","src":"412451:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"412463:5:22","nodeType":"YulLiteral","src":"412463:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"412457:5:22","nodeType":"YulIdentifier","src":"412457:5:22"},"nativeSrc":"412457:12:22","nodeType":"YulFunctionCall","src":"412457:12:22"},"variableNames":[{"name":"m8","nativeSrc":"412451:2:22","nodeType":"YulIdentifier","src":"412451:2:22"}]},{"nativeSrc":"412482:18:22","nodeType":"YulAssignment","src":"412482:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"412494:5:22","nodeType":"YulLiteral","src":"412494:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"412488:5:22","nodeType":"YulIdentifier","src":"412488:5:22"},"nativeSrc":"412488:12:22","nodeType":"YulFunctionCall","src":"412488:12:22"},"variableNames":[{"name":"m9","nativeSrc":"412482:2:22","nodeType":"YulIdentifier","src":"412482:2:22"}]},{"nativeSrc":"412513:19:22","nodeType":"YulAssignment","src":"412513:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"412526:5:22","nodeType":"YulLiteral","src":"412526:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"412520:5:22","nodeType":"YulIdentifier","src":"412520:5:22"},"nativeSrc":"412520:12:22","nodeType":"YulFunctionCall","src":"412520:12:22"},"variableNames":[{"name":"m10","nativeSrc":"412513:3:22","nodeType":"YulIdentifier","src":"412513:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412613:4:22","nodeType":"YulLiteral","src":"412613:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"412619:10:22","nodeType":"YulLiteral","src":"412619:10:22","type":"","value":"0x5e84b0ea"}],"functionName":{"name":"mstore","nativeSrc":"412606:6:22","nodeType":"YulIdentifier","src":"412606:6:22"},"nativeSrc":"412606:24:22","nodeType":"YulFunctionCall","src":"412606:24:22"},"nativeSrc":"412606:24:22","nodeType":"YulExpressionStatement","src":"412606:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412650:4:22","nodeType":"YulLiteral","src":"412650:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"412656:4:22","nodeType":"YulLiteral","src":"412656:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"412643:6:22","nodeType":"YulIdentifier","src":"412643:6:22"},"nativeSrc":"412643:18:22","nodeType":"YulFunctionCall","src":"412643:18:22"},"nativeSrc":"412643:18:22","nodeType":"YulExpressionStatement","src":"412643:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412681:4:22","nodeType":"YulLiteral","src":"412681:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"412687:4:22","nodeType":"YulLiteral","src":"412687:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"412674:6:22","nodeType":"YulIdentifier","src":"412674:6:22"},"nativeSrc":"412674:18:22","nodeType":"YulFunctionCall","src":"412674:18:22"},"nativeSrc":"412674:18:22","nodeType":"YulExpressionStatement","src":"412674:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412712:4:22","nodeType":"YulLiteral","src":"412712:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"412718:2:22","nodeType":"YulIdentifier","src":"412718:2:22"}],"functionName":{"name":"mstore","nativeSrc":"412705:6:22","nodeType":"YulIdentifier","src":"412705:6:22"},"nativeSrc":"412705:16:22","nodeType":"YulFunctionCall","src":"412705:16:22"},"nativeSrc":"412705:16:22","nodeType":"YulExpressionStatement","src":"412705:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412741:4:22","nodeType":"YulLiteral","src":"412741:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"412747:5:22","nodeType":"YulLiteral","src":"412747:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"412734:6:22","nodeType":"YulIdentifier","src":"412734:6:22"},"nativeSrc":"412734:19:22","nodeType":"YulFunctionCall","src":"412734:19:22"},"nativeSrc":"412734:19:22","nodeType":"YulExpressionStatement","src":"412734:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412778:4:22","nodeType":"YulLiteral","src":"412778:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"412784:2:22","nodeType":"YulIdentifier","src":"412784:2:22"}],"functionName":{"name":"writeString","nativeSrc":"412766:11:22","nodeType":"YulIdentifier","src":"412766:11:22"},"nativeSrc":"412766:21:22","nodeType":"YulFunctionCall","src":"412766:21:22"},"nativeSrc":"412766:21:22","nodeType":"YulExpressionStatement","src":"412766:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412812:4:22","nodeType":"YulLiteral","src":"412812:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"412818:2:22","nodeType":"YulIdentifier","src":"412818:2:22"}],"functionName":{"name":"writeString","nativeSrc":"412800:11:22","nodeType":"YulIdentifier","src":"412800:11:22"},"nativeSrc":"412800:21:22","nodeType":"YulFunctionCall","src":"412800:21:22"},"nativeSrc":"412800:21:22","nodeType":"YulExpressionStatement","src":"412800:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412846:5:22","nodeType":"YulLiteral","src":"412846:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"412853:2:22","nodeType":"YulIdentifier","src":"412853:2:22"}],"functionName":{"name":"writeString","nativeSrc":"412834:11:22","nodeType":"YulIdentifier","src":"412834:11:22"},"nativeSrc":"412834:22:22","nodeType":"YulFunctionCall","src":"412834:22:22"},"nativeSrc":"412834:22:22","nodeType":"YulExpressionStatement","src":"412834:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43981,"isOffset":false,"isSlot":false,"src":"412211:2:22","valueSize":1},{"declaration":43984,"isOffset":false,"isSlot":false,"src":"412241:2:22","valueSize":1},{"declaration":44011,"isOffset":false,"isSlot":false,"src":"412513:3:22","valueSize":1},{"declaration":43987,"isOffset":false,"isSlot":false,"src":"412271:2:22","valueSize":1},{"declaration":43990,"isOffset":false,"isSlot":false,"src":"412301:2:22","valueSize":1},{"declaration":43993,"isOffset":false,"isSlot":false,"src":"412331:2:22","valueSize":1},{"declaration":43996,"isOffset":false,"isSlot":false,"src":"412361:2:22","valueSize":1},{"declaration":43999,"isOffset":false,"isSlot":false,"src":"412391:2:22","valueSize":1},{"declaration":44002,"isOffset":false,"isSlot":false,"src":"412421:2:22","valueSize":1},{"declaration":44005,"isOffset":false,"isSlot":false,"src":"412451:2:22","valueSize":1},{"declaration":44008,"isOffset":false,"isSlot":false,"src":"412482:2:22","valueSize":1},{"declaration":43971,"isOffset":false,"isSlot":false,"src":"412784:2:22","valueSize":1},{"declaration":43973,"isOffset":false,"isSlot":false,"src":"412818:2:22","valueSize":1},{"declaration":43975,"isOffset":false,"isSlot":false,"src":"412718:2:22","valueSize":1},{"declaration":43977,"isOffset":false,"isSlot":false,"src":"412853:2:22","valueSize":1}],"id":44013,"nodeType":"InlineAssembly","src":"411833:1033:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412891:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":44016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412897:5:22","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":44014,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"412875:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"412875:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44018,"nodeType":"ExpressionStatement","src":"412875:28:22"},{"AST":{"nativeSrc":"412965:334:22","nodeType":"YulBlock","src":"412965:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"412986:4:22","nodeType":"YulLiteral","src":"412986:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"412992:2:22","nodeType":"YulIdentifier","src":"412992:2:22"}],"functionName":{"name":"mstore","nativeSrc":"412979:6:22","nodeType":"YulIdentifier","src":"412979:6:22"},"nativeSrc":"412979:16:22","nodeType":"YulFunctionCall","src":"412979:16:22"},"nativeSrc":"412979:16:22","nodeType":"YulExpressionStatement","src":"412979:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413015:4:22","nodeType":"YulLiteral","src":"413015:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"413021:2:22","nodeType":"YulIdentifier","src":"413021:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413008:6:22","nodeType":"YulIdentifier","src":"413008:6:22"},"nativeSrc":"413008:16:22","nodeType":"YulFunctionCall","src":"413008:16:22"},"nativeSrc":"413008:16:22","nodeType":"YulExpressionStatement","src":"413008:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413044:4:22","nodeType":"YulLiteral","src":"413044:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"413050:2:22","nodeType":"YulIdentifier","src":"413050:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413037:6:22","nodeType":"YulIdentifier","src":"413037:6:22"},"nativeSrc":"413037:16:22","nodeType":"YulFunctionCall","src":"413037:16:22"},"nativeSrc":"413037:16:22","nodeType":"YulExpressionStatement","src":"413037:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413073:4:22","nodeType":"YulLiteral","src":"413073:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"413079:2:22","nodeType":"YulIdentifier","src":"413079:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413066:6:22","nodeType":"YulIdentifier","src":"413066:6:22"},"nativeSrc":"413066:16:22","nodeType":"YulFunctionCall","src":"413066:16:22"},"nativeSrc":"413066:16:22","nodeType":"YulExpressionStatement","src":"413066:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413102:4:22","nodeType":"YulLiteral","src":"413102:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"413108:2:22","nodeType":"YulIdentifier","src":"413108:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413095:6:22","nodeType":"YulIdentifier","src":"413095:6:22"},"nativeSrc":"413095:16:22","nodeType":"YulFunctionCall","src":"413095:16:22"},"nativeSrc":"413095:16:22","nodeType":"YulExpressionStatement","src":"413095:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413131:4:22","nodeType":"YulLiteral","src":"413131:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"413137:2:22","nodeType":"YulIdentifier","src":"413137:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413124:6:22","nodeType":"YulIdentifier","src":"413124:6:22"},"nativeSrc":"413124:16:22","nodeType":"YulFunctionCall","src":"413124:16:22"},"nativeSrc":"413124:16:22","nodeType":"YulExpressionStatement","src":"413124:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413160:4:22","nodeType":"YulLiteral","src":"413160:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"413166:2:22","nodeType":"YulIdentifier","src":"413166:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413153:6:22","nodeType":"YulIdentifier","src":"413153:6:22"},"nativeSrc":"413153:16:22","nodeType":"YulFunctionCall","src":"413153:16:22"},"nativeSrc":"413153:16:22","nodeType":"YulExpressionStatement","src":"413153:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413189:4:22","nodeType":"YulLiteral","src":"413189:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"413195:2:22","nodeType":"YulIdentifier","src":"413195:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413182:6:22","nodeType":"YulIdentifier","src":"413182:6:22"},"nativeSrc":"413182:16:22","nodeType":"YulFunctionCall","src":"413182:16:22"},"nativeSrc":"413182:16:22","nodeType":"YulExpressionStatement","src":"413182:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413218:5:22","nodeType":"YulLiteral","src":"413218:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"413225:2:22","nodeType":"YulIdentifier","src":"413225:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413211:6:22","nodeType":"YulIdentifier","src":"413211:6:22"},"nativeSrc":"413211:17:22","nodeType":"YulFunctionCall","src":"413211:17:22"},"nativeSrc":"413211:17:22","nodeType":"YulExpressionStatement","src":"413211:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413248:5:22","nodeType":"YulLiteral","src":"413248:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"413255:2:22","nodeType":"YulIdentifier","src":"413255:2:22"}],"functionName":{"name":"mstore","nativeSrc":"413241:6:22","nodeType":"YulIdentifier","src":"413241:6:22"},"nativeSrc":"413241:17:22","nodeType":"YulFunctionCall","src":"413241:17:22"},"nativeSrc":"413241:17:22","nodeType":"YulExpressionStatement","src":"413241:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413278:5:22","nodeType":"YulLiteral","src":"413278:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"413285:3:22","nodeType":"YulIdentifier","src":"413285:3:22"}],"functionName":{"name":"mstore","nativeSrc":"413271:6:22","nodeType":"YulIdentifier","src":"413271:6:22"},"nativeSrc":"413271:18:22","nodeType":"YulFunctionCall","src":"413271:18:22"},"nativeSrc":"413271:18:22","nodeType":"YulExpressionStatement","src":"413271:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":43981,"isOffset":false,"isSlot":false,"src":"412992:2:22","valueSize":1},{"declaration":43984,"isOffset":false,"isSlot":false,"src":"413021:2:22","valueSize":1},{"declaration":44011,"isOffset":false,"isSlot":false,"src":"413285:3:22","valueSize":1},{"declaration":43987,"isOffset":false,"isSlot":false,"src":"413050:2:22","valueSize":1},{"declaration":43990,"isOffset":false,"isSlot":false,"src":"413079:2:22","valueSize":1},{"declaration":43993,"isOffset":false,"isSlot":false,"src":"413108:2:22","valueSize":1},{"declaration":43996,"isOffset":false,"isSlot":false,"src":"413137:2:22","valueSize":1},{"declaration":43999,"isOffset":false,"isSlot":false,"src":"413166:2:22","valueSize":1},{"declaration":44002,"isOffset":false,"isSlot":false,"src":"413195:2:22","valueSize":1},{"declaration":44005,"isOffset":false,"isSlot":false,"src":"413225:2:22","valueSize":1},{"declaration":44008,"isOffset":false,"isSlot":false,"src":"413255:2:22","valueSize":1}],"id":44019,"nodeType":"InlineAssembly","src":"412956:343:22"}]},"id":44021,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"411496:3:22","nodeType":"FunctionDefinition","parameters":{"id":43978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43971,"mutability":"mutable","name":"p0","nameLocation":"411508:2:22","nodeType":"VariableDeclaration","scope":44021,"src":"411500:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411500:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43973,"mutability":"mutable","name":"p1","nameLocation":"411520:2:22","nodeType":"VariableDeclaration","scope":44021,"src":"411512:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411512:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43975,"mutability":"mutable","name":"p2","nameLocation":"411529:2:22","nodeType":"VariableDeclaration","scope":44021,"src":"411524:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43974,"name":"bool","nodeType":"ElementaryTypeName","src":"411524:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43977,"mutability":"mutable","name":"p3","nameLocation":"411541:2:22","nodeType":"VariableDeclaration","scope":44021,"src":"411533:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411533:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"411499:45:22"},"returnParameters":{"id":43979,"nodeType":"ParameterList","parameters":[],"src":"411559:0:22"},"scope":44426,"src":"411487:1818:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44066,"nodeType":"Block","src":"413386:1547:22","statements":[{"assignments":[44033],"declarations":[{"constant":false,"id":44033,"mutability":"mutable","name":"m0","nameLocation":"413404:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413396:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413396:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44034,"nodeType":"VariableDeclarationStatement","src":"413396:10:22"},{"assignments":[44036],"declarations":[{"constant":false,"id":44036,"mutability":"mutable","name":"m1","nameLocation":"413424:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413416:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413416:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44037,"nodeType":"VariableDeclarationStatement","src":"413416:10:22"},{"assignments":[44039],"declarations":[{"constant":false,"id":44039,"mutability":"mutable","name":"m2","nameLocation":"413444:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413436:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413436:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44040,"nodeType":"VariableDeclarationStatement","src":"413436:10:22"},{"assignments":[44042],"declarations":[{"constant":false,"id":44042,"mutability":"mutable","name":"m3","nameLocation":"413464:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413456:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413456:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44043,"nodeType":"VariableDeclarationStatement","src":"413456:10:22"},{"assignments":[44045],"declarations":[{"constant":false,"id":44045,"mutability":"mutable","name":"m4","nameLocation":"413484:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413476:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413476:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44046,"nodeType":"VariableDeclarationStatement","src":"413476:10:22"},{"assignments":[44048],"declarations":[{"constant":false,"id":44048,"mutability":"mutable","name":"m5","nameLocation":"413504:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413496:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413496:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44049,"nodeType":"VariableDeclarationStatement","src":"413496:10:22"},{"assignments":[44051],"declarations":[{"constant":false,"id":44051,"mutability":"mutable","name":"m6","nameLocation":"413524:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413516:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413516:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44052,"nodeType":"VariableDeclarationStatement","src":"413516:10:22"},{"assignments":[44054],"declarations":[{"constant":false,"id":44054,"mutability":"mutable","name":"m7","nameLocation":"413544:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413536:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413536:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44055,"nodeType":"VariableDeclarationStatement","src":"413536:10:22"},{"assignments":[44057],"declarations":[{"constant":false,"id":44057,"mutability":"mutable","name":"m8","nameLocation":"413564:2:22","nodeType":"VariableDeclaration","scope":44066,"src":"413556:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413556:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44058,"nodeType":"VariableDeclarationStatement","src":"413556:10:22"},{"AST":{"nativeSrc":"413628:927:22","nodeType":"YulBlock","src":"413628:927:22","statements":[{"body":{"nativeSrc":"413671:313:22","nodeType":"YulBlock","src":"413671:313:22","statements":[{"nativeSrc":"413689:15:22","nodeType":"YulVariableDeclaration","src":"413689:15:22","value":{"kind":"number","nativeSrc":"413703:1:22","nodeType":"YulLiteral","src":"413703:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"413693:6:22","nodeType":"YulTypedName","src":"413693:6:22","type":""}]},{"body":{"nativeSrc":"413774:40:22","nodeType":"YulBlock","src":"413774:40:22","statements":[{"body":{"nativeSrc":"413803:9:22","nodeType":"YulBlock","src":"413803:9:22","statements":[{"nativeSrc":"413805:5:22","nodeType":"YulBreak","src":"413805:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"413791:6:22","nodeType":"YulIdentifier","src":"413791:6:22"},{"name":"w","nativeSrc":"413799:1:22","nodeType":"YulIdentifier","src":"413799:1:22"}],"functionName":{"name":"byte","nativeSrc":"413786:4:22","nodeType":"YulIdentifier","src":"413786:4:22"},"nativeSrc":"413786:15:22","nodeType":"YulFunctionCall","src":"413786:15:22"}],"functionName":{"name":"iszero","nativeSrc":"413779:6:22","nodeType":"YulIdentifier","src":"413779:6:22"},"nativeSrc":"413779:23:22","nodeType":"YulFunctionCall","src":"413779:23:22"},"nativeSrc":"413776:36:22","nodeType":"YulIf","src":"413776:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"413731:6:22","nodeType":"YulIdentifier","src":"413731:6:22"},{"kind":"number","nativeSrc":"413739:4:22","nodeType":"YulLiteral","src":"413739:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"413728:2:22","nodeType":"YulIdentifier","src":"413728:2:22"},"nativeSrc":"413728:16:22","nodeType":"YulFunctionCall","src":"413728:16:22"},"nativeSrc":"413721:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"413745:28:22","nodeType":"YulBlock","src":"413745:28:22","statements":[{"nativeSrc":"413747:24:22","nodeType":"YulAssignment","src":"413747:24:22","value":{"arguments":[{"name":"length","nativeSrc":"413761:6:22","nodeType":"YulIdentifier","src":"413761:6:22"},{"kind":"number","nativeSrc":"413769:1:22","nodeType":"YulLiteral","src":"413769:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"413757:3:22","nodeType":"YulIdentifier","src":"413757:3:22"},"nativeSrc":"413757:14:22","nodeType":"YulFunctionCall","src":"413757:14:22"},"variableNames":[{"name":"length","nativeSrc":"413747:6:22","nodeType":"YulIdentifier","src":"413747:6:22"}]}]},"pre":{"nativeSrc":"413725:2:22","nodeType":"YulBlock","src":"413725:2:22","statements":[]},"src":"413721:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"413838:3:22","nodeType":"YulIdentifier","src":"413838:3:22"},{"name":"length","nativeSrc":"413843:6:22","nodeType":"YulIdentifier","src":"413843:6:22"}],"functionName":{"name":"mstore","nativeSrc":"413831:6:22","nodeType":"YulIdentifier","src":"413831:6:22"},"nativeSrc":"413831:19:22","nodeType":"YulFunctionCall","src":"413831:19:22"},"nativeSrc":"413831:19:22","nodeType":"YulExpressionStatement","src":"413831:19:22"},{"nativeSrc":"413867:37:22","nodeType":"YulVariableDeclaration","src":"413867:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"413884:3:22","nodeType":"YulLiteral","src":"413884:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"413893:1:22","nodeType":"YulLiteral","src":"413893:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"413896:6:22","nodeType":"YulIdentifier","src":"413896:6:22"}],"functionName":{"name":"shl","nativeSrc":"413889:3:22","nodeType":"YulIdentifier","src":"413889:3:22"},"nativeSrc":"413889:14:22","nodeType":"YulFunctionCall","src":"413889:14:22"}],"functionName":{"name":"sub","nativeSrc":"413880:3:22","nodeType":"YulIdentifier","src":"413880:3:22"},"nativeSrc":"413880:24:22","nodeType":"YulFunctionCall","src":"413880:24:22"},"variables":[{"name":"shift","nativeSrc":"413871:5:22","nodeType":"YulTypedName","src":"413871:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"413932:3:22","nodeType":"YulIdentifier","src":"413932:3:22"},{"kind":"number","nativeSrc":"413937:4:22","nodeType":"YulLiteral","src":"413937:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"413928:3:22","nodeType":"YulIdentifier","src":"413928:3:22"},"nativeSrc":"413928:14:22","nodeType":"YulFunctionCall","src":"413928:14:22"},{"arguments":[{"name":"shift","nativeSrc":"413948:5:22","nodeType":"YulIdentifier","src":"413948:5:22"},{"arguments":[{"name":"shift","nativeSrc":"413959:5:22","nodeType":"YulIdentifier","src":"413959:5:22"},{"name":"w","nativeSrc":"413966:1:22","nodeType":"YulIdentifier","src":"413966:1:22"}],"functionName":{"name":"shr","nativeSrc":"413955:3:22","nodeType":"YulIdentifier","src":"413955:3:22"},"nativeSrc":"413955:13:22","nodeType":"YulFunctionCall","src":"413955:13:22"}],"functionName":{"name":"shl","nativeSrc":"413944:3:22","nodeType":"YulIdentifier","src":"413944:3:22"},"nativeSrc":"413944:25:22","nodeType":"YulFunctionCall","src":"413944:25:22"}],"functionName":{"name":"mstore","nativeSrc":"413921:6:22","nodeType":"YulIdentifier","src":"413921:6:22"},"nativeSrc":"413921:49:22","nodeType":"YulFunctionCall","src":"413921:49:22"},"nativeSrc":"413921:49:22","nodeType":"YulExpressionStatement","src":"413921:49:22"}]},"name":"writeString","nativeSrc":"413642:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"413663:3:22","nodeType":"YulTypedName","src":"413663:3:22","type":""},{"name":"w","nativeSrc":"413668:1:22","nodeType":"YulTypedName","src":"413668:1:22","type":""}],"src":"413642:342:22"},{"nativeSrc":"413997:17:22","nodeType":"YulAssignment","src":"413997:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414009:4:22","nodeType":"YulLiteral","src":"414009:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"414003:5:22","nodeType":"YulIdentifier","src":"414003:5:22"},"nativeSrc":"414003:11:22","nodeType":"YulFunctionCall","src":"414003:11:22"},"variableNames":[{"name":"m0","nativeSrc":"413997:2:22","nodeType":"YulIdentifier","src":"413997:2:22"}]},{"nativeSrc":"414027:17:22","nodeType":"YulAssignment","src":"414027:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414039:4:22","nodeType":"YulLiteral","src":"414039:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"414033:5:22","nodeType":"YulIdentifier","src":"414033:5:22"},"nativeSrc":"414033:11:22","nodeType":"YulFunctionCall","src":"414033:11:22"},"variableNames":[{"name":"m1","nativeSrc":"414027:2:22","nodeType":"YulIdentifier","src":"414027:2:22"}]},{"nativeSrc":"414057:17:22","nodeType":"YulAssignment","src":"414057:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414069:4:22","nodeType":"YulLiteral","src":"414069:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"414063:5:22","nodeType":"YulIdentifier","src":"414063:5:22"},"nativeSrc":"414063:11:22","nodeType":"YulFunctionCall","src":"414063:11:22"},"variableNames":[{"name":"m2","nativeSrc":"414057:2:22","nodeType":"YulIdentifier","src":"414057:2:22"}]},{"nativeSrc":"414087:17:22","nodeType":"YulAssignment","src":"414087:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414099:4:22","nodeType":"YulLiteral","src":"414099:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"414093:5:22","nodeType":"YulIdentifier","src":"414093:5:22"},"nativeSrc":"414093:11:22","nodeType":"YulFunctionCall","src":"414093:11:22"},"variableNames":[{"name":"m3","nativeSrc":"414087:2:22","nodeType":"YulIdentifier","src":"414087:2:22"}]},{"nativeSrc":"414117:17:22","nodeType":"YulAssignment","src":"414117:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414129:4:22","nodeType":"YulLiteral","src":"414129:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"414123:5:22","nodeType":"YulIdentifier","src":"414123:5:22"},"nativeSrc":"414123:11:22","nodeType":"YulFunctionCall","src":"414123:11:22"},"variableNames":[{"name":"m4","nativeSrc":"414117:2:22","nodeType":"YulIdentifier","src":"414117:2:22"}]},{"nativeSrc":"414147:17:22","nodeType":"YulAssignment","src":"414147:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414159:4:22","nodeType":"YulLiteral","src":"414159:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"414153:5:22","nodeType":"YulIdentifier","src":"414153:5:22"},"nativeSrc":"414153:11:22","nodeType":"YulFunctionCall","src":"414153:11:22"},"variableNames":[{"name":"m5","nativeSrc":"414147:2:22","nodeType":"YulIdentifier","src":"414147:2:22"}]},{"nativeSrc":"414177:17:22","nodeType":"YulAssignment","src":"414177:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414189:4:22","nodeType":"YulLiteral","src":"414189:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"414183:5:22","nodeType":"YulIdentifier","src":"414183:5:22"},"nativeSrc":"414183:11:22","nodeType":"YulFunctionCall","src":"414183:11:22"},"variableNames":[{"name":"m6","nativeSrc":"414177:2:22","nodeType":"YulIdentifier","src":"414177:2:22"}]},{"nativeSrc":"414207:17:22","nodeType":"YulAssignment","src":"414207:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"414219:4:22","nodeType":"YulLiteral","src":"414219:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"414213:5:22","nodeType":"YulIdentifier","src":"414213:5:22"},"nativeSrc":"414213:11:22","nodeType":"YulFunctionCall","src":"414213:11:22"},"variableNames":[{"name":"m7","nativeSrc":"414207:2:22","nodeType":"YulIdentifier","src":"414207:2:22"}]},{"nativeSrc":"414237:18:22","nodeType":"YulAssignment","src":"414237:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"414249:5:22","nodeType":"YulLiteral","src":"414249:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"414243:5:22","nodeType":"YulIdentifier","src":"414243:5:22"},"nativeSrc":"414243:12:22","nodeType":"YulFunctionCall","src":"414243:12:22"},"variableNames":[{"name":"m8","nativeSrc":"414237:2:22","nodeType":"YulIdentifier","src":"414237:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414340:4:22","nodeType":"YulLiteral","src":"414340:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"414346:10:22","nodeType":"YulLiteral","src":"414346:10:22","type":"","value":"0x1023f7b2"}],"functionName":{"name":"mstore","nativeSrc":"414333:6:22","nodeType":"YulIdentifier","src":"414333:6:22"},"nativeSrc":"414333:24:22","nodeType":"YulFunctionCall","src":"414333:24:22"},"nativeSrc":"414333:24:22","nodeType":"YulExpressionStatement","src":"414333:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414377:4:22","nodeType":"YulLiteral","src":"414377:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"414383:4:22","nodeType":"YulLiteral","src":"414383:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"414370:6:22","nodeType":"YulIdentifier","src":"414370:6:22"},"nativeSrc":"414370:18:22","nodeType":"YulFunctionCall","src":"414370:18:22"},"nativeSrc":"414370:18:22","nodeType":"YulExpressionStatement","src":"414370:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414408:4:22","nodeType":"YulLiteral","src":"414408:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"414414:4:22","nodeType":"YulLiteral","src":"414414:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"414401:6:22","nodeType":"YulIdentifier","src":"414401:6:22"},"nativeSrc":"414401:18:22","nodeType":"YulFunctionCall","src":"414401:18:22"},"nativeSrc":"414401:18:22","nodeType":"YulExpressionStatement","src":"414401:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414439:4:22","nodeType":"YulLiteral","src":"414439:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"414445:2:22","nodeType":"YulIdentifier","src":"414445:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414432:6:22","nodeType":"YulIdentifier","src":"414432:6:22"},"nativeSrc":"414432:16:22","nodeType":"YulFunctionCall","src":"414432:16:22"},"nativeSrc":"414432:16:22","nodeType":"YulExpressionStatement","src":"414432:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414468:4:22","nodeType":"YulLiteral","src":"414468:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"414474:2:22","nodeType":"YulIdentifier","src":"414474:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414461:6:22","nodeType":"YulIdentifier","src":"414461:6:22"},"nativeSrc":"414461:16:22","nodeType":"YulFunctionCall","src":"414461:16:22"},"nativeSrc":"414461:16:22","nodeType":"YulExpressionStatement","src":"414461:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414502:4:22","nodeType":"YulLiteral","src":"414502:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"414508:2:22","nodeType":"YulIdentifier","src":"414508:2:22"}],"functionName":{"name":"writeString","nativeSrc":"414490:11:22","nodeType":"YulIdentifier","src":"414490:11:22"},"nativeSrc":"414490:21:22","nodeType":"YulFunctionCall","src":"414490:21:22"},"nativeSrc":"414490:21:22","nodeType":"YulExpressionStatement","src":"414490:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414536:4:22","nodeType":"YulLiteral","src":"414536:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"414542:2:22","nodeType":"YulIdentifier","src":"414542:2:22"}],"functionName":{"name":"writeString","nativeSrc":"414524:11:22","nodeType":"YulIdentifier","src":"414524:11:22"},"nativeSrc":"414524:21:22","nodeType":"YulFunctionCall","src":"414524:21:22"},"nativeSrc":"414524:21:22","nodeType":"YulExpressionStatement","src":"414524:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44033,"isOffset":false,"isSlot":false,"src":"413997:2:22","valueSize":1},{"declaration":44036,"isOffset":false,"isSlot":false,"src":"414027:2:22","valueSize":1},{"declaration":44039,"isOffset":false,"isSlot":false,"src":"414057:2:22","valueSize":1},{"declaration":44042,"isOffset":false,"isSlot":false,"src":"414087:2:22","valueSize":1},{"declaration":44045,"isOffset":false,"isSlot":false,"src":"414117:2:22","valueSize":1},{"declaration":44048,"isOffset":false,"isSlot":false,"src":"414147:2:22","valueSize":1},{"declaration":44051,"isOffset":false,"isSlot":false,"src":"414177:2:22","valueSize":1},{"declaration":44054,"isOffset":false,"isSlot":false,"src":"414207:2:22","valueSize":1},{"declaration":44057,"isOffset":false,"isSlot":false,"src":"414237:2:22","valueSize":1},{"declaration":44023,"isOffset":false,"isSlot":false,"src":"414508:2:22","valueSize":1},{"declaration":44025,"isOffset":false,"isSlot":false,"src":"414542:2:22","valueSize":1},{"declaration":44027,"isOffset":false,"isSlot":false,"src":"414445:2:22","valueSize":1},{"declaration":44029,"isOffset":false,"isSlot":false,"src":"414474:2:22","valueSize":1}],"id":44059,"nodeType":"InlineAssembly","src":"413619:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414580:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":44062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414586:5:22","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":44060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"414564:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"414564:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44064,"nodeType":"ExpressionStatement","src":"414564:28:22"},{"AST":{"nativeSrc":"414654:273:22","nodeType":"YulBlock","src":"414654:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"414675:4:22","nodeType":"YulLiteral","src":"414675:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"414681:2:22","nodeType":"YulIdentifier","src":"414681:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414668:6:22","nodeType":"YulIdentifier","src":"414668:6:22"},"nativeSrc":"414668:16:22","nodeType":"YulFunctionCall","src":"414668:16:22"},"nativeSrc":"414668:16:22","nodeType":"YulExpressionStatement","src":"414668:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414704:4:22","nodeType":"YulLiteral","src":"414704:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"414710:2:22","nodeType":"YulIdentifier","src":"414710:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414697:6:22","nodeType":"YulIdentifier","src":"414697:6:22"},"nativeSrc":"414697:16:22","nodeType":"YulFunctionCall","src":"414697:16:22"},"nativeSrc":"414697:16:22","nodeType":"YulExpressionStatement","src":"414697:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414733:4:22","nodeType":"YulLiteral","src":"414733:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"414739:2:22","nodeType":"YulIdentifier","src":"414739:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414726:6:22","nodeType":"YulIdentifier","src":"414726:6:22"},"nativeSrc":"414726:16:22","nodeType":"YulFunctionCall","src":"414726:16:22"},"nativeSrc":"414726:16:22","nodeType":"YulExpressionStatement","src":"414726:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414762:4:22","nodeType":"YulLiteral","src":"414762:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"414768:2:22","nodeType":"YulIdentifier","src":"414768:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414755:6:22","nodeType":"YulIdentifier","src":"414755:6:22"},"nativeSrc":"414755:16:22","nodeType":"YulFunctionCall","src":"414755:16:22"},"nativeSrc":"414755:16:22","nodeType":"YulExpressionStatement","src":"414755:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414791:4:22","nodeType":"YulLiteral","src":"414791:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"414797:2:22","nodeType":"YulIdentifier","src":"414797:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414784:6:22","nodeType":"YulIdentifier","src":"414784:6:22"},"nativeSrc":"414784:16:22","nodeType":"YulFunctionCall","src":"414784:16:22"},"nativeSrc":"414784:16:22","nodeType":"YulExpressionStatement","src":"414784:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414820:4:22","nodeType":"YulLiteral","src":"414820:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"414826:2:22","nodeType":"YulIdentifier","src":"414826:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414813:6:22","nodeType":"YulIdentifier","src":"414813:6:22"},"nativeSrc":"414813:16:22","nodeType":"YulFunctionCall","src":"414813:16:22"},"nativeSrc":"414813:16:22","nodeType":"YulExpressionStatement","src":"414813:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414849:4:22","nodeType":"YulLiteral","src":"414849:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"414855:2:22","nodeType":"YulIdentifier","src":"414855:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414842:6:22","nodeType":"YulIdentifier","src":"414842:6:22"},"nativeSrc":"414842:16:22","nodeType":"YulFunctionCall","src":"414842:16:22"},"nativeSrc":"414842:16:22","nodeType":"YulExpressionStatement","src":"414842:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414878:4:22","nodeType":"YulLiteral","src":"414878:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"414884:2:22","nodeType":"YulIdentifier","src":"414884:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414871:6:22","nodeType":"YulIdentifier","src":"414871:6:22"},"nativeSrc":"414871:16:22","nodeType":"YulFunctionCall","src":"414871:16:22"},"nativeSrc":"414871:16:22","nodeType":"YulExpressionStatement","src":"414871:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414907:5:22","nodeType":"YulLiteral","src":"414907:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"414914:2:22","nodeType":"YulIdentifier","src":"414914:2:22"}],"functionName":{"name":"mstore","nativeSrc":"414900:6:22","nodeType":"YulIdentifier","src":"414900:6:22"},"nativeSrc":"414900:17:22","nodeType":"YulFunctionCall","src":"414900:17:22"},"nativeSrc":"414900:17:22","nodeType":"YulExpressionStatement","src":"414900:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44033,"isOffset":false,"isSlot":false,"src":"414681:2:22","valueSize":1},{"declaration":44036,"isOffset":false,"isSlot":false,"src":"414710:2:22","valueSize":1},{"declaration":44039,"isOffset":false,"isSlot":false,"src":"414739:2:22","valueSize":1},{"declaration":44042,"isOffset":false,"isSlot":false,"src":"414768:2:22","valueSize":1},{"declaration":44045,"isOffset":false,"isSlot":false,"src":"414797:2:22","valueSize":1},{"declaration":44048,"isOffset":false,"isSlot":false,"src":"414826:2:22","valueSize":1},{"declaration":44051,"isOffset":false,"isSlot":false,"src":"414855:2:22","valueSize":1},{"declaration":44054,"isOffset":false,"isSlot":false,"src":"414884:2:22","valueSize":1},{"declaration":44057,"isOffset":false,"isSlot":false,"src":"414914:2:22","valueSize":1}],"id":44065,"nodeType":"InlineAssembly","src":"414645:282:22"}]},"id":44067,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"413320:3:22","nodeType":"FunctionDefinition","parameters":{"id":44030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44023,"mutability":"mutable","name":"p0","nameLocation":"413332:2:22","nodeType":"VariableDeclaration","scope":44067,"src":"413324:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413324:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44025,"mutability":"mutable","name":"p1","nameLocation":"413344:2:22","nodeType":"VariableDeclaration","scope":44067,"src":"413336:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413336:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44027,"mutability":"mutable","name":"p2","nameLocation":"413356:2:22","nodeType":"VariableDeclaration","scope":44067,"src":"413348:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44026,"name":"uint256","nodeType":"ElementaryTypeName","src":"413348:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44029,"mutability":"mutable","name":"p3","nameLocation":"413368:2:22","nodeType":"VariableDeclaration","scope":44067,"src":"413360:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44028,"name":"address","nodeType":"ElementaryTypeName","src":"413360:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"413323:48:22"},"returnParameters":{"id":44031,"nodeType":"ParameterList","parameters":[],"src":"413386:0:22"},"scope":44426,"src":"413311:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44112,"nodeType":"Block","src":"415011:1544:22","statements":[{"assignments":[44079],"declarations":[{"constant":false,"id":44079,"mutability":"mutable","name":"m0","nameLocation":"415029:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415021:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415021:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44080,"nodeType":"VariableDeclarationStatement","src":"415021:10:22"},{"assignments":[44082],"declarations":[{"constant":false,"id":44082,"mutability":"mutable","name":"m1","nameLocation":"415049:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415041:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415041:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44083,"nodeType":"VariableDeclarationStatement","src":"415041:10:22"},{"assignments":[44085],"declarations":[{"constant":false,"id":44085,"mutability":"mutable","name":"m2","nameLocation":"415069:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415061:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415061:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44086,"nodeType":"VariableDeclarationStatement","src":"415061:10:22"},{"assignments":[44088],"declarations":[{"constant":false,"id":44088,"mutability":"mutable","name":"m3","nameLocation":"415089:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415081:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415081:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44089,"nodeType":"VariableDeclarationStatement","src":"415081:10:22"},{"assignments":[44091],"declarations":[{"constant":false,"id":44091,"mutability":"mutable","name":"m4","nameLocation":"415109:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415101:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415101:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44092,"nodeType":"VariableDeclarationStatement","src":"415101:10:22"},{"assignments":[44094],"declarations":[{"constant":false,"id":44094,"mutability":"mutable","name":"m5","nameLocation":"415129:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415121:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415121:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44095,"nodeType":"VariableDeclarationStatement","src":"415121:10:22"},{"assignments":[44097],"declarations":[{"constant":false,"id":44097,"mutability":"mutable","name":"m6","nameLocation":"415149:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415141:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415141:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44098,"nodeType":"VariableDeclarationStatement","src":"415141:10:22"},{"assignments":[44100],"declarations":[{"constant":false,"id":44100,"mutability":"mutable","name":"m7","nameLocation":"415169:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415161:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415161:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44101,"nodeType":"VariableDeclarationStatement","src":"415161:10:22"},{"assignments":[44103],"declarations":[{"constant":false,"id":44103,"mutability":"mutable","name":"m8","nameLocation":"415189:2:22","nodeType":"VariableDeclaration","scope":44112,"src":"415181:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415181:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44104,"nodeType":"VariableDeclarationStatement","src":"415181:10:22"},{"AST":{"nativeSrc":"415253:924:22","nodeType":"YulBlock","src":"415253:924:22","statements":[{"body":{"nativeSrc":"415296:313:22","nodeType":"YulBlock","src":"415296:313:22","statements":[{"nativeSrc":"415314:15:22","nodeType":"YulVariableDeclaration","src":"415314:15:22","value":{"kind":"number","nativeSrc":"415328:1:22","nodeType":"YulLiteral","src":"415328:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"415318:6:22","nodeType":"YulTypedName","src":"415318:6:22","type":""}]},{"body":{"nativeSrc":"415399:40:22","nodeType":"YulBlock","src":"415399:40:22","statements":[{"body":{"nativeSrc":"415428:9:22","nodeType":"YulBlock","src":"415428:9:22","statements":[{"nativeSrc":"415430:5:22","nodeType":"YulBreak","src":"415430:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"415416:6:22","nodeType":"YulIdentifier","src":"415416:6:22"},{"name":"w","nativeSrc":"415424:1:22","nodeType":"YulIdentifier","src":"415424:1:22"}],"functionName":{"name":"byte","nativeSrc":"415411:4:22","nodeType":"YulIdentifier","src":"415411:4:22"},"nativeSrc":"415411:15:22","nodeType":"YulFunctionCall","src":"415411:15:22"}],"functionName":{"name":"iszero","nativeSrc":"415404:6:22","nodeType":"YulIdentifier","src":"415404:6:22"},"nativeSrc":"415404:23:22","nodeType":"YulFunctionCall","src":"415404:23:22"},"nativeSrc":"415401:36:22","nodeType":"YulIf","src":"415401:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"415356:6:22","nodeType":"YulIdentifier","src":"415356:6:22"},{"kind":"number","nativeSrc":"415364:4:22","nodeType":"YulLiteral","src":"415364:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"415353:2:22","nodeType":"YulIdentifier","src":"415353:2:22"},"nativeSrc":"415353:16:22","nodeType":"YulFunctionCall","src":"415353:16:22"},"nativeSrc":"415346:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"415370:28:22","nodeType":"YulBlock","src":"415370:28:22","statements":[{"nativeSrc":"415372:24:22","nodeType":"YulAssignment","src":"415372:24:22","value":{"arguments":[{"name":"length","nativeSrc":"415386:6:22","nodeType":"YulIdentifier","src":"415386:6:22"},{"kind":"number","nativeSrc":"415394:1:22","nodeType":"YulLiteral","src":"415394:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"415382:3:22","nodeType":"YulIdentifier","src":"415382:3:22"},"nativeSrc":"415382:14:22","nodeType":"YulFunctionCall","src":"415382:14:22"},"variableNames":[{"name":"length","nativeSrc":"415372:6:22","nodeType":"YulIdentifier","src":"415372:6:22"}]}]},"pre":{"nativeSrc":"415350:2:22","nodeType":"YulBlock","src":"415350:2:22","statements":[]},"src":"415346:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"415463:3:22","nodeType":"YulIdentifier","src":"415463:3:22"},{"name":"length","nativeSrc":"415468:6:22","nodeType":"YulIdentifier","src":"415468:6:22"}],"functionName":{"name":"mstore","nativeSrc":"415456:6:22","nodeType":"YulIdentifier","src":"415456:6:22"},"nativeSrc":"415456:19:22","nodeType":"YulFunctionCall","src":"415456:19:22"},"nativeSrc":"415456:19:22","nodeType":"YulExpressionStatement","src":"415456:19:22"},{"nativeSrc":"415492:37:22","nodeType":"YulVariableDeclaration","src":"415492:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"415509:3:22","nodeType":"YulLiteral","src":"415509:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"415518:1:22","nodeType":"YulLiteral","src":"415518:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"415521:6:22","nodeType":"YulIdentifier","src":"415521:6:22"}],"functionName":{"name":"shl","nativeSrc":"415514:3:22","nodeType":"YulIdentifier","src":"415514:3:22"},"nativeSrc":"415514:14:22","nodeType":"YulFunctionCall","src":"415514:14:22"}],"functionName":{"name":"sub","nativeSrc":"415505:3:22","nodeType":"YulIdentifier","src":"415505:3:22"},"nativeSrc":"415505:24:22","nodeType":"YulFunctionCall","src":"415505:24:22"},"variables":[{"name":"shift","nativeSrc":"415496:5:22","nodeType":"YulTypedName","src":"415496:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"415557:3:22","nodeType":"YulIdentifier","src":"415557:3:22"},{"kind":"number","nativeSrc":"415562:4:22","nodeType":"YulLiteral","src":"415562:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"415553:3:22","nodeType":"YulIdentifier","src":"415553:3:22"},"nativeSrc":"415553:14:22","nodeType":"YulFunctionCall","src":"415553:14:22"},{"arguments":[{"name":"shift","nativeSrc":"415573:5:22","nodeType":"YulIdentifier","src":"415573:5:22"},{"arguments":[{"name":"shift","nativeSrc":"415584:5:22","nodeType":"YulIdentifier","src":"415584:5:22"},{"name":"w","nativeSrc":"415591:1:22","nodeType":"YulIdentifier","src":"415591:1:22"}],"functionName":{"name":"shr","nativeSrc":"415580:3:22","nodeType":"YulIdentifier","src":"415580:3:22"},"nativeSrc":"415580:13:22","nodeType":"YulFunctionCall","src":"415580:13:22"}],"functionName":{"name":"shl","nativeSrc":"415569:3:22","nodeType":"YulIdentifier","src":"415569:3:22"},"nativeSrc":"415569:25:22","nodeType":"YulFunctionCall","src":"415569:25:22"}],"functionName":{"name":"mstore","nativeSrc":"415546:6:22","nodeType":"YulIdentifier","src":"415546:6:22"},"nativeSrc":"415546:49:22","nodeType":"YulFunctionCall","src":"415546:49:22"},"nativeSrc":"415546:49:22","nodeType":"YulExpressionStatement","src":"415546:49:22"}]},"name":"writeString","nativeSrc":"415267:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"415288:3:22","nodeType":"YulTypedName","src":"415288:3:22","type":""},{"name":"w","nativeSrc":"415293:1:22","nodeType":"YulTypedName","src":"415293:1:22","type":""}],"src":"415267:342:22"},{"nativeSrc":"415622:17:22","nodeType":"YulAssignment","src":"415622:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415634:4:22","nodeType":"YulLiteral","src":"415634:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"415628:5:22","nodeType":"YulIdentifier","src":"415628:5:22"},"nativeSrc":"415628:11:22","nodeType":"YulFunctionCall","src":"415628:11:22"},"variableNames":[{"name":"m0","nativeSrc":"415622:2:22","nodeType":"YulIdentifier","src":"415622:2:22"}]},{"nativeSrc":"415652:17:22","nodeType":"YulAssignment","src":"415652:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415664:4:22","nodeType":"YulLiteral","src":"415664:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"415658:5:22","nodeType":"YulIdentifier","src":"415658:5:22"},"nativeSrc":"415658:11:22","nodeType":"YulFunctionCall","src":"415658:11:22"},"variableNames":[{"name":"m1","nativeSrc":"415652:2:22","nodeType":"YulIdentifier","src":"415652:2:22"}]},{"nativeSrc":"415682:17:22","nodeType":"YulAssignment","src":"415682:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415694:4:22","nodeType":"YulLiteral","src":"415694:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"415688:5:22","nodeType":"YulIdentifier","src":"415688:5:22"},"nativeSrc":"415688:11:22","nodeType":"YulFunctionCall","src":"415688:11:22"},"variableNames":[{"name":"m2","nativeSrc":"415682:2:22","nodeType":"YulIdentifier","src":"415682:2:22"}]},{"nativeSrc":"415712:17:22","nodeType":"YulAssignment","src":"415712:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415724:4:22","nodeType":"YulLiteral","src":"415724:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"415718:5:22","nodeType":"YulIdentifier","src":"415718:5:22"},"nativeSrc":"415718:11:22","nodeType":"YulFunctionCall","src":"415718:11:22"},"variableNames":[{"name":"m3","nativeSrc":"415712:2:22","nodeType":"YulIdentifier","src":"415712:2:22"}]},{"nativeSrc":"415742:17:22","nodeType":"YulAssignment","src":"415742:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415754:4:22","nodeType":"YulLiteral","src":"415754:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"415748:5:22","nodeType":"YulIdentifier","src":"415748:5:22"},"nativeSrc":"415748:11:22","nodeType":"YulFunctionCall","src":"415748:11:22"},"variableNames":[{"name":"m4","nativeSrc":"415742:2:22","nodeType":"YulIdentifier","src":"415742:2:22"}]},{"nativeSrc":"415772:17:22","nodeType":"YulAssignment","src":"415772:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415784:4:22","nodeType":"YulLiteral","src":"415784:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"415778:5:22","nodeType":"YulIdentifier","src":"415778:5:22"},"nativeSrc":"415778:11:22","nodeType":"YulFunctionCall","src":"415778:11:22"},"variableNames":[{"name":"m5","nativeSrc":"415772:2:22","nodeType":"YulIdentifier","src":"415772:2:22"}]},{"nativeSrc":"415802:17:22","nodeType":"YulAssignment","src":"415802:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415814:4:22","nodeType":"YulLiteral","src":"415814:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"415808:5:22","nodeType":"YulIdentifier","src":"415808:5:22"},"nativeSrc":"415808:11:22","nodeType":"YulFunctionCall","src":"415808:11:22"},"variableNames":[{"name":"m6","nativeSrc":"415802:2:22","nodeType":"YulIdentifier","src":"415802:2:22"}]},{"nativeSrc":"415832:17:22","nodeType":"YulAssignment","src":"415832:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"415844:4:22","nodeType":"YulLiteral","src":"415844:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"415838:5:22","nodeType":"YulIdentifier","src":"415838:5:22"},"nativeSrc":"415838:11:22","nodeType":"YulFunctionCall","src":"415838:11:22"},"variableNames":[{"name":"m7","nativeSrc":"415832:2:22","nodeType":"YulIdentifier","src":"415832:2:22"}]},{"nativeSrc":"415862:18:22","nodeType":"YulAssignment","src":"415862:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"415874:5:22","nodeType":"YulLiteral","src":"415874:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"415868:5:22","nodeType":"YulIdentifier","src":"415868:5:22"},"nativeSrc":"415868:12:22","nodeType":"YulFunctionCall","src":"415868:12:22"},"variableNames":[{"name":"m8","nativeSrc":"415862:2:22","nodeType":"YulIdentifier","src":"415862:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415962:4:22","nodeType":"YulLiteral","src":"415962:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"415968:10:22","nodeType":"YulLiteral","src":"415968:10:22","type":"","value":"0xc3a8a654"}],"functionName":{"name":"mstore","nativeSrc":"415955:6:22","nodeType":"YulIdentifier","src":"415955:6:22"},"nativeSrc":"415955:24:22","nodeType":"YulFunctionCall","src":"415955:24:22"},"nativeSrc":"415955:24:22","nodeType":"YulExpressionStatement","src":"415955:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415999:4:22","nodeType":"YulLiteral","src":"415999:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"416005:4:22","nodeType":"YulLiteral","src":"416005:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"415992:6:22","nodeType":"YulIdentifier","src":"415992:6:22"},"nativeSrc":"415992:18:22","nodeType":"YulFunctionCall","src":"415992:18:22"},"nativeSrc":"415992:18:22","nodeType":"YulExpressionStatement","src":"415992:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416030:4:22","nodeType":"YulLiteral","src":"416030:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"416036:4:22","nodeType":"YulLiteral","src":"416036:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"416023:6:22","nodeType":"YulIdentifier","src":"416023:6:22"},"nativeSrc":"416023:18:22","nodeType":"YulFunctionCall","src":"416023:18:22"},"nativeSrc":"416023:18:22","nodeType":"YulExpressionStatement","src":"416023:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416061:4:22","nodeType":"YulLiteral","src":"416061:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"416067:2:22","nodeType":"YulIdentifier","src":"416067:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416054:6:22","nodeType":"YulIdentifier","src":"416054:6:22"},"nativeSrc":"416054:16:22","nodeType":"YulFunctionCall","src":"416054:16:22"},"nativeSrc":"416054:16:22","nodeType":"YulExpressionStatement","src":"416054:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416090:4:22","nodeType":"YulLiteral","src":"416090:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"416096:2:22","nodeType":"YulIdentifier","src":"416096:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416083:6:22","nodeType":"YulIdentifier","src":"416083:6:22"},"nativeSrc":"416083:16:22","nodeType":"YulFunctionCall","src":"416083:16:22"},"nativeSrc":"416083:16:22","nodeType":"YulExpressionStatement","src":"416083:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416124:4:22","nodeType":"YulLiteral","src":"416124:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"416130:2:22","nodeType":"YulIdentifier","src":"416130:2:22"}],"functionName":{"name":"writeString","nativeSrc":"416112:11:22","nodeType":"YulIdentifier","src":"416112:11:22"},"nativeSrc":"416112:21:22","nodeType":"YulFunctionCall","src":"416112:21:22"},"nativeSrc":"416112:21:22","nodeType":"YulExpressionStatement","src":"416112:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416158:4:22","nodeType":"YulLiteral","src":"416158:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"416164:2:22","nodeType":"YulIdentifier","src":"416164:2:22"}],"functionName":{"name":"writeString","nativeSrc":"416146:11:22","nodeType":"YulIdentifier","src":"416146:11:22"},"nativeSrc":"416146:21:22","nodeType":"YulFunctionCall","src":"416146:21:22"},"nativeSrc":"416146:21:22","nodeType":"YulExpressionStatement","src":"416146:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44079,"isOffset":false,"isSlot":false,"src":"415622:2:22","valueSize":1},{"declaration":44082,"isOffset":false,"isSlot":false,"src":"415652:2:22","valueSize":1},{"declaration":44085,"isOffset":false,"isSlot":false,"src":"415682:2:22","valueSize":1},{"declaration":44088,"isOffset":false,"isSlot":false,"src":"415712:2:22","valueSize":1},{"declaration":44091,"isOffset":false,"isSlot":false,"src":"415742:2:22","valueSize":1},{"declaration":44094,"isOffset":false,"isSlot":false,"src":"415772:2:22","valueSize":1},{"declaration":44097,"isOffset":false,"isSlot":false,"src":"415802:2:22","valueSize":1},{"declaration":44100,"isOffset":false,"isSlot":false,"src":"415832:2:22","valueSize":1},{"declaration":44103,"isOffset":false,"isSlot":false,"src":"415862:2:22","valueSize":1},{"declaration":44069,"isOffset":false,"isSlot":false,"src":"416130:2:22","valueSize":1},{"declaration":44071,"isOffset":false,"isSlot":false,"src":"416164:2:22","valueSize":1},{"declaration":44073,"isOffset":false,"isSlot":false,"src":"416067:2:22","valueSize":1},{"declaration":44075,"isOffset":false,"isSlot":false,"src":"416096:2:22","valueSize":1}],"id":44105,"nodeType":"InlineAssembly","src":"415244:933:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416202:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":44108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416208:5:22","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":44106,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"416186:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"416186:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44110,"nodeType":"ExpressionStatement","src":"416186:28:22"},{"AST":{"nativeSrc":"416276:273:22","nodeType":"YulBlock","src":"416276:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"416297:4:22","nodeType":"YulLiteral","src":"416297:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"416303:2:22","nodeType":"YulIdentifier","src":"416303:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416290:6:22","nodeType":"YulIdentifier","src":"416290:6:22"},"nativeSrc":"416290:16:22","nodeType":"YulFunctionCall","src":"416290:16:22"},"nativeSrc":"416290:16:22","nodeType":"YulExpressionStatement","src":"416290:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416326:4:22","nodeType":"YulLiteral","src":"416326:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"416332:2:22","nodeType":"YulIdentifier","src":"416332:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416319:6:22","nodeType":"YulIdentifier","src":"416319:6:22"},"nativeSrc":"416319:16:22","nodeType":"YulFunctionCall","src":"416319:16:22"},"nativeSrc":"416319:16:22","nodeType":"YulExpressionStatement","src":"416319:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416355:4:22","nodeType":"YulLiteral","src":"416355:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"416361:2:22","nodeType":"YulIdentifier","src":"416361:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416348:6:22","nodeType":"YulIdentifier","src":"416348:6:22"},"nativeSrc":"416348:16:22","nodeType":"YulFunctionCall","src":"416348:16:22"},"nativeSrc":"416348:16:22","nodeType":"YulExpressionStatement","src":"416348:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416384:4:22","nodeType":"YulLiteral","src":"416384:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"416390:2:22","nodeType":"YulIdentifier","src":"416390:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416377:6:22","nodeType":"YulIdentifier","src":"416377:6:22"},"nativeSrc":"416377:16:22","nodeType":"YulFunctionCall","src":"416377:16:22"},"nativeSrc":"416377:16:22","nodeType":"YulExpressionStatement","src":"416377:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416413:4:22","nodeType":"YulLiteral","src":"416413:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"416419:2:22","nodeType":"YulIdentifier","src":"416419:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416406:6:22","nodeType":"YulIdentifier","src":"416406:6:22"},"nativeSrc":"416406:16:22","nodeType":"YulFunctionCall","src":"416406:16:22"},"nativeSrc":"416406:16:22","nodeType":"YulExpressionStatement","src":"416406:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416442:4:22","nodeType":"YulLiteral","src":"416442:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"416448:2:22","nodeType":"YulIdentifier","src":"416448:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416435:6:22","nodeType":"YulIdentifier","src":"416435:6:22"},"nativeSrc":"416435:16:22","nodeType":"YulFunctionCall","src":"416435:16:22"},"nativeSrc":"416435:16:22","nodeType":"YulExpressionStatement","src":"416435:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416471:4:22","nodeType":"YulLiteral","src":"416471:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"416477:2:22","nodeType":"YulIdentifier","src":"416477:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416464:6:22","nodeType":"YulIdentifier","src":"416464:6:22"},"nativeSrc":"416464:16:22","nodeType":"YulFunctionCall","src":"416464:16:22"},"nativeSrc":"416464:16:22","nodeType":"YulExpressionStatement","src":"416464:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416500:4:22","nodeType":"YulLiteral","src":"416500:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"416506:2:22","nodeType":"YulIdentifier","src":"416506:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416493:6:22","nodeType":"YulIdentifier","src":"416493:6:22"},"nativeSrc":"416493:16:22","nodeType":"YulFunctionCall","src":"416493:16:22"},"nativeSrc":"416493:16:22","nodeType":"YulExpressionStatement","src":"416493:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416529:5:22","nodeType":"YulLiteral","src":"416529:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"416536:2:22","nodeType":"YulIdentifier","src":"416536:2:22"}],"functionName":{"name":"mstore","nativeSrc":"416522:6:22","nodeType":"YulIdentifier","src":"416522:6:22"},"nativeSrc":"416522:17:22","nodeType":"YulFunctionCall","src":"416522:17:22"},"nativeSrc":"416522:17:22","nodeType":"YulExpressionStatement","src":"416522:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44079,"isOffset":false,"isSlot":false,"src":"416303:2:22","valueSize":1},{"declaration":44082,"isOffset":false,"isSlot":false,"src":"416332:2:22","valueSize":1},{"declaration":44085,"isOffset":false,"isSlot":false,"src":"416361:2:22","valueSize":1},{"declaration":44088,"isOffset":false,"isSlot":false,"src":"416390:2:22","valueSize":1},{"declaration":44091,"isOffset":false,"isSlot":false,"src":"416419:2:22","valueSize":1},{"declaration":44094,"isOffset":false,"isSlot":false,"src":"416448:2:22","valueSize":1},{"declaration":44097,"isOffset":false,"isSlot":false,"src":"416477:2:22","valueSize":1},{"declaration":44100,"isOffset":false,"isSlot":false,"src":"416506:2:22","valueSize":1},{"declaration":44103,"isOffset":false,"isSlot":false,"src":"416536:2:22","valueSize":1}],"id":44111,"nodeType":"InlineAssembly","src":"416267:282:22"}]},"id":44113,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"414948:3:22","nodeType":"FunctionDefinition","parameters":{"id":44076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44069,"mutability":"mutable","name":"p0","nameLocation":"414960:2:22","nodeType":"VariableDeclaration","scope":44113,"src":"414952:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414952:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44071,"mutability":"mutable","name":"p1","nameLocation":"414972:2:22","nodeType":"VariableDeclaration","scope":44113,"src":"414964:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414964:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44073,"mutability":"mutable","name":"p2","nameLocation":"414984:2:22","nodeType":"VariableDeclaration","scope":44113,"src":"414976:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44072,"name":"uint256","nodeType":"ElementaryTypeName","src":"414976:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44075,"mutability":"mutable","name":"p3","nameLocation":"414993:2:22","nodeType":"VariableDeclaration","scope":44113,"src":"414988:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44074,"name":"bool","nodeType":"ElementaryTypeName","src":"414988:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"414951:45:22"},"returnParameters":{"id":44077,"nodeType":"ParameterList","parameters":[],"src":"415011:0:22"},"scope":44426,"src":"414939:1616:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44158,"nodeType":"Block","src":"416636:1547:22","statements":[{"assignments":[44125],"declarations":[{"constant":false,"id":44125,"mutability":"mutable","name":"m0","nameLocation":"416654:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416646:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416646:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44126,"nodeType":"VariableDeclarationStatement","src":"416646:10:22"},{"assignments":[44128],"declarations":[{"constant":false,"id":44128,"mutability":"mutable","name":"m1","nameLocation":"416674:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416666:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416666:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44129,"nodeType":"VariableDeclarationStatement","src":"416666:10:22"},{"assignments":[44131],"declarations":[{"constant":false,"id":44131,"mutability":"mutable","name":"m2","nameLocation":"416694:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44132,"nodeType":"VariableDeclarationStatement","src":"416686:10:22"},{"assignments":[44134],"declarations":[{"constant":false,"id":44134,"mutability":"mutable","name":"m3","nameLocation":"416714:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416706:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416706:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44135,"nodeType":"VariableDeclarationStatement","src":"416706:10:22"},{"assignments":[44137],"declarations":[{"constant":false,"id":44137,"mutability":"mutable","name":"m4","nameLocation":"416734:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416726:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416726:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44138,"nodeType":"VariableDeclarationStatement","src":"416726:10:22"},{"assignments":[44140],"declarations":[{"constant":false,"id":44140,"mutability":"mutable","name":"m5","nameLocation":"416754:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416746:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416746:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44141,"nodeType":"VariableDeclarationStatement","src":"416746:10:22"},{"assignments":[44143],"declarations":[{"constant":false,"id":44143,"mutability":"mutable","name":"m6","nameLocation":"416774:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416766:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416766:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44144,"nodeType":"VariableDeclarationStatement","src":"416766:10:22"},{"assignments":[44146],"declarations":[{"constant":false,"id":44146,"mutability":"mutable","name":"m7","nameLocation":"416794:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416786:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416786:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44147,"nodeType":"VariableDeclarationStatement","src":"416786:10:22"},{"assignments":[44149],"declarations":[{"constant":false,"id":44149,"mutability":"mutable","name":"m8","nameLocation":"416814:2:22","nodeType":"VariableDeclaration","scope":44158,"src":"416806:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416806:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44150,"nodeType":"VariableDeclarationStatement","src":"416806:10:22"},{"AST":{"nativeSrc":"416878:927:22","nodeType":"YulBlock","src":"416878:927:22","statements":[{"body":{"nativeSrc":"416921:313:22","nodeType":"YulBlock","src":"416921:313:22","statements":[{"nativeSrc":"416939:15:22","nodeType":"YulVariableDeclaration","src":"416939:15:22","value":{"kind":"number","nativeSrc":"416953:1:22","nodeType":"YulLiteral","src":"416953:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"416943:6:22","nodeType":"YulTypedName","src":"416943:6:22","type":""}]},{"body":{"nativeSrc":"417024:40:22","nodeType":"YulBlock","src":"417024:40:22","statements":[{"body":{"nativeSrc":"417053:9:22","nodeType":"YulBlock","src":"417053:9:22","statements":[{"nativeSrc":"417055:5:22","nodeType":"YulBreak","src":"417055:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"417041:6:22","nodeType":"YulIdentifier","src":"417041:6:22"},{"name":"w","nativeSrc":"417049:1:22","nodeType":"YulIdentifier","src":"417049:1:22"}],"functionName":{"name":"byte","nativeSrc":"417036:4:22","nodeType":"YulIdentifier","src":"417036:4:22"},"nativeSrc":"417036:15:22","nodeType":"YulFunctionCall","src":"417036:15:22"}],"functionName":{"name":"iszero","nativeSrc":"417029:6:22","nodeType":"YulIdentifier","src":"417029:6:22"},"nativeSrc":"417029:23:22","nodeType":"YulFunctionCall","src":"417029:23:22"},"nativeSrc":"417026:36:22","nodeType":"YulIf","src":"417026:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"416981:6:22","nodeType":"YulIdentifier","src":"416981:6:22"},{"kind":"number","nativeSrc":"416989:4:22","nodeType":"YulLiteral","src":"416989:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"416978:2:22","nodeType":"YulIdentifier","src":"416978:2:22"},"nativeSrc":"416978:16:22","nodeType":"YulFunctionCall","src":"416978:16:22"},"nativeSrc":"416971:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"416995:28:22","nodeType":"YulBlock","src":"416995:28:22","statements":[{"nativeSrc":"416997:24:22","nodeType":"YulAssignment","src":"416997:24:22","value":{"arguments":[{"name":"length","nativeSrc":"417011:6:22","nodeType":"YulIdentifier","src":"417011:6:22"},{"kind":"number","nativeSrc":"417019:1:22","nodeType":"YulLiteral","src":"417019:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"417007:3:22","nodeType":"YulIdentifier","src":"417007:3:22"},"nativeSrc":"417007:14:22","nodeType":"YulFunctionCall","src":"417007:14:22"},"variableNames":[{"name":"length","nativeSrc":"416997:6:22","nodeType":"YulIdentifier","src":"416997:6:22"}]}]},"pre":{"nativeSrc":"416975:2:22","nodeType":"YulBlock","src":"416975:2:22","statements":[]},"src":"416971:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"417088:3:22","nodeType":"YulIdentifier","src":"417088:3:22"},{"name":"length","nativeSrc":"417093:6:22","nodeType":"YulIdentifier","src":"417093:6:22"}],"functionName":{"name":"mstore","nativeSrc":"417081:6:22","nodeType":"YulIdentifier","src":"417081:6:22"},"nativeSrc":"417081:19:22","nodeType":"YulFunctionCall","src":"417081:19:22"},"nativeSrc":"417081:19:22","nodeType":"YulExpressionStatement","src":"417081:19:22"},{"nativeSrc":"417117:37:22","nodeType":"YulVariableDeclaration","src":"417117:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"417134:3:22","nodeType":"YulLiteral","src":"417134:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"417143:1:22","nodeType":"YulLiteral","src":"417143:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"417146:6:22","nodeType":"YulIdentifier","src":"417146:6:22"}],"functionName":{"name":"shl","nativeSrc":"417139:3:22","nodeType":"YulIdentifier","src":"417139:3:22"},"nativeSrc":"417139:14:22","nodeType":"YulFunctionCall","src":"417139:14:22"}],"functionName":{"name":"sub","nativeSrc":"417130:3:22","nodeType":"YulIdentifier","src":"417130:3:22"},"nativeSrc":"417130:24:22","nodeType":"YulFunctionCall","src":"417130:24:22"},"variables":[{"name":"shift","nativeSrc":"417121:5:22","nodeType":"YulTypedName","src":"417121:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"417182:3:22","nodeType":"YulIdentifier","src":"417182:3:22"},{"kind":"number","nativeSrc":"417187:4:22","nodeType":"YulLiteral","src":"417187:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"417178:3:22","nodeType":"YulIdentifier","src":"417178:3:22"},"nativeSrc":"417178:14:22","nodeType":"YulFunctionCall","src":"417178:14:22"},{"arguments":[{"name":"shift","nativeSrc":"417198:5:22","nodeType":"YulIdentifier","src":"417198:5:22"},{"arguments":[{"name":"shift","nativeSrc":"417209:5:22","nodeType":"YulIdentifier","src":"417209:5:22"},{"name":"w","nativeSrc":"417216:1:22","nodeType":"YulIdentifier","src":"417216:1:22"}],"functionName":{"name":"shr","nativeSrc":"417205:3:22","nodeType":"YulIdentifier","src":"417205:3:22"},"nativeSrc":"417205:13:22","nodeType":"YulFunctionCall","src":"417205:13:22"}],"functionName":{"name":"shl","nativeSrc":"417194:3:22","nodeType":"YulIdentifier","src":"417194:3:22"},"nativeSrc":"417194:25:22","nodeType":"YulFunctionCall","src":"417194:25:22"}],"functionName":{"name":"mstore","nativeSrc":"417171:6:22","nodeType":"YulIdentifier","src":"417171:6:22"},"nativeSrc":"417171:49:22","nodeType":"YulFunctionCall","src":"417171:49:22"},"nativeSrc":"417171:49:22","nodeType":"YulExpressionStatement","src":"417171:49:22"}]},"name":"writeString","nativeSrc":"416892:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"416913:3:22","nodeType":"YulTypedName","src":"416913:3:22","type":""},{"name":"w","nativeSrc":"416918:1:22","nodeType":"YulTypedName","src":"416918:1:22","type":""}],"src":"416892:342:22"},{"nativeSrc":"417247:17:22","nodeType":"YulAssignment","src":"417247:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417259:4:22","nodeType":"YulLiteral","src":"417259:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"417253:5:22","nodeType":"YulIdentifier","src":"417253:5:22"},"nativeSrc":"417253:11:22","nodeType":"YulFunctionCall","src":"417253:11:22"},"variableNames":[{"name":"m0","nativeSrc":"417247:2:22","nodeType":"YulIdentifier","src":"417247:2:22"}]},{"nativeSrc":"417277:17:22","nodeType":"YulAssignment","src":"417277:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417289:4:22","nodeType":"YulLiteral","src":"417289:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"417283:5:22","nodeType":"YulIdentifier","src":"417283:5:22"},"nativeSrc":"417283:11:22","nodeType":"YulFunctionCall","src":"417283:11:22"},"variableNames":[{"name":"m1","nativeSrc":"417277:2:22","nodeType":"YulIdentifier","src":"417277:2:22"}]},{"nativeSrc":"417307:17:22","nodeType":"YulAssignment","src":"417307:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417319:4:22","nodeType":"YulLiteral","src":"417319:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"417313:5:22","nodeType":"YulIdentifier","src":"417313:5:22"},"nativeSrc":"417313:11:22","nodeType":"YulFunctionCall","src":"417313:11:22"},"variableNames":[{"name":"m2","nativeSrc":"417307:2:22","nodeType":"YulIdentifier","src":"417307:2:22"}]},{"nativeSrc":"417337:17:22","nodeType":"YulAssignment","src":"417337:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417349:4:22","nodeType":"YulLiteral","src":"417349:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"417343:5:22","nodeType":"YulIdentifier","src":"417343:5:22"},"nativeSrc":"417343:11:22","nodeType":"YulFunctionCall","src":"417343:11:22"},"variableNames":[{"name":"m3","nativeSrc":"417337:2:22","nodeType":"YulIdentifier","src":"417337:2:22"}]},{"nativeSrc":"417367:17:22","nodeType":"YulAssignment","src":"417367:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417379:4:22","nodeType":"YulLiteral","src":"417379:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"417373:5:22","nodeType":"YulIdentifier","src":"417373:5:22"},"nativeSrc":"417373:11:22","nodeType":"YulFunctionCall","src":"417373:11:22"},"variableNames":[{"name":"m4","nativeSrc":"417367:2:22","nodeType":"YulIdentifier","src":"417367:2:22"}]},{"nativeSrc":"417397:17:22","nodeType":"YulAssignment","src":"417397:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417409:4:22","nodeType":"YulLiteral","src":"417409:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"417403:5:22","nodeType":"YulIdentifier","src":"417403:5:22"},"nativeSrc":"417403:11:22","nodeType":"YulFunctionCall","src":"417403:11:22"},"variableNames":[{"name":"m5","nativeSrc":"417397:2:22","nodeType":"YulIdentifier","src":"417397:2:22"}]},{"nativeSrc":"417427:17:22","nodeType":"YulAssignment","src":"417427:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417439:4:22","nodeType":"YulLiteral","src":"417439:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"417433:5:22","nodeType":"YulIdentifier","src":"417433:5:22"},"nativeSrc":"417433:11:22","nodeType":"YulFunctionCall","src":"417433:11:22"},"variableNames":[{"name":"m6","nativeSrc":"417427:2:22","nodeType":"YulIdentifier","src":"417427:2:22"}]},{"nativeSrc":"417457:17:22","nodeType":"YulAssignment","src":"417457:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"417469:4:22","nodeType":"YulLiteral","src":"417469:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"417463:5:22","nodeType":"YulIdentifier","src":"417463:5:22"},"nativeSrc":"417463:11:22","nodeType":"YulFunctionCall","src":"417463:11:22"},"variableNames":[{"name":"m7","nativeSrc":"417457:2:22","nodeType":"YulIdentifier","src":"417457:2:22"}]},{"nativeSrc":"417487:18:22","nodeType":"YulAssignment","src":"417487:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"417499:5:22","nodeType":"YulLiteral","src":"417499:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"417493:5:22","nodeType":"YulIdentifier","src":"417493:5:22"},"nativeSrc":"417493:12:22","nodeType":"YulFunctionCall","src":"417493:12:22"},"variableNames":[{"name":"m8","nativeSrc":"417487:2:22","nodeType":"YulIdentifier","src":"417487:2:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417590:4:22","nodeType":"YulLiteral","src":"417590:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"417596:10:22","nodeType":"YulLiteral","src":"417596:10:22","type":"","value":"0xf45d7d2c"}],"functionName":{"name":"mstore","nativeSrc":"417583:6:22","nodeType":"YulIdentifier","src":"417583:6:22"},"nativeSrc":"417583:24:22","nodeType":"YulFunctionCall","src":"417583:24:22"},"nativeSrc":"417583:24:22","nodeType":"YulExpressionStatement","src":"417583:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417627:4:22","nodeType":"YulLiteral","src":"417627:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"417633:4:22","nodeType":"YulLiteral","src":"417633:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"417620:6:22","nodeType":"YulIdentifier","src":"417620:6:22"},"nativeSrc":"417620:18:22","nodeType":"YulFunctionCall","src":"417620:18:22"},"nativeSrc":"417620:18:22","nodeType":"YulExpressionStatement","src":"417620:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417658:4:22","nodeType":"YulLiteral","src":"417658:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"417664:4:22","nodeType":"YulLiteral","src":"417664:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"417651:6:22","nodeType":"YulIdentifier","src":"417651:6:22"},"nativeSrc":"417651:18:22","nodeType":"YulFunctionCall","src":"417651:18:22"},"nativeSrc":"417651:18:22","nodeType":"YulExpressionStatement","src":"417651:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417689:4:22","nodeType":"YulLiteral","src":"417689:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"417695:2:22","nodeType":"YulIdentifier","src":"417695:2:22"}],"functionName":{"name":"mstore","nativeSrc":"417682:6:22","nodeType":"YulIdentifier","src":"417682:6:22"},"nativeSrc":"417682:16:22","nodeType":"YulFunctionCall","src":"417682:16:22"},"nativeSrc":"417682:16:22","nodeType":"YulExpressionStatement","src":"417682:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417718:4:22","nodeType":"YulLiteral","src":"417718:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"417724:2:22","nodeType":"YulIdentifier","src":"417724:2:22"}],"functionName":{"name":"mstore","nativeSrc":"417711:6:22","nodeType":"YulIdentifier","src":"417711:6:22"},"nativeSrc":"417711:16:22","nodeType":"YulFunctionCall","src":"417711:16:22"},"nativeSrc":"417711:16:22","nodeType":"YulExpressionStatement","src":"417711:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417752:4:22","nodeType":"YulLiteral","src":"417752:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"417758:2:22","nodeType":"YulIdentifier","src":"417758:2:22"}],"functionName":{"name":"writeString","nativeSrc":"417740:11:22","nodeType":"YulIdentifier","src":"417740:11:22"},"nativeSrc":"417740:21:22","nodeType":"YulFunctionCall","src":"417740:21:22"},"nativeSrc":"417740:21:22","nodeType":"YulExpressionStatement","src":"417740:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417786:4:22","nodeType":"YulLiteral","src":"417786:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"417792:2:22","nodeType":"YulIdentifier","src":"417792:2:22"}],"functionName":{"name":"writeString","nativeSrc":"417774:11:22","nodeType":"YulIdentifier","src":"417774:11:22"},"nativeSrc":"417774:21:22","nodeType":"YulFunctionCall","src":"417774:21:22"},"nativeSrc":"417774:21:22","nodeType":"YulExpressionStatement","src":"417774:21:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44125,"isOffset":false,"isSlot":false,"src":"417247:2:22","valueSize":1},{"declaration":44128,"isOffset":false,"isSlot":false,"src":"417277:2:22","valueSize":1},{"declaration":44131,"isOffset":false,"isSlot":false,"src":"417307:2:22","valueSize":1},{"declaration":44134,"isOffset":false,"isSlot":false,"src":"417337:2:22","valueSize":1},{"declaration":44137,"isOffset":false,"isSlot":false,"src":"417367:2:22","valueSize":1},{"declaration":44140,"isOffset":false,"isSlot":false,"src":"417397:2:22","valueSize":1},{"declaration":44143,"isOffset":false,"isSlot":false,"src":"417427:2:22","valueSize":1},{"declaration":44146,"isOffset":false,"isSlot":false,"src":"417457:2:22","valueSize":1},{"declaration":44149,"isOffset":false,"isSlot":false,"src":"417487:2:22","valueSize":1},{"declaration":44115,"isOffset":false,"isSlot":false,"src":"417758:2:22","valueSize":1},{"declaration":44117,"isOffset":false,"isSlot":false,"src":"417792:2:22","valueSize":1},{"declaration":44119,"isOffset":false,"isSlot":false,"src":"417695:2:22","valueSize":1},{"declaration":44121,"isOffset":false,"isSlot":false,"src":"417724:2:22","valueSize":1}],"id":44151,"nodeType":"InlineAssembly","src":"416869:936:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417830:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":44154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417836:5:22","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":44152,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"417814:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"417814:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44156,"nodeType":"ExpressionStatement","src":"417814:28:22"},{"AST":{"nativeSrc":"417904:273:22","nodeType":"YulBlock","src":"417904:273:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"417925:4:22","nodeType":"YulLiteral","src":"417925:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"417931:2:22","nodeType":"YulIdentifier","src":"417931:2:22"}],"functionName":{"name":"mstore","nativeSrc":"417918:6:22","nodeType":"YulIdentifier","src":"417918:6:22"},"nativeSrc":"417918:16:22","nodeType":"YulFunctionCall","src":"417918:16:22"},"nativeSrc":"417918:16:22","nodeType":"YulExpressionStatement","src":"417918:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417954:4:22","nodeType":"YulLiteral","src":"417954:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"417960:2:22","nodeType":"YulIdentifier","src":"417960:2:22"}],"functionName":{"name":"mstore","nativeSrc":"417947:6:22","nodeType":"YulIdentifier","src":"417947:6:22"},"nativeSrc":"417947:16:22","nodeType":"YulFunctionCall","src":"417947:16:22"},"nativeSrc":"417947:16:22","nodeType":"YulExpressionStatement","src":"417947:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417983:4:22","nodeType":"YulLiteral","src":"417983:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"417989:2:22","nodeType":"YulIdentifier","src":"417989:2:22"}],"functionName":{"name":"mstore","nativeSrc":"417976:6:22","nodeType":"YulIdentifier","src":"417976:6:22"},"nativeSrc":"417976:16:22","nodeType":"YulFunctionCall","src":"417976:16:22"},"nativeSrc":"417976:16:22","nodeType":"YulExpressionStatement","src":"417976:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418012:4:22","nodeType":"YulLiteral","src":"418012:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"418018:2:22","nodeType":"YulIdentifier","src":"418018:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418005:6:22","nodeType":"YulIdentifier","src":"418005:6:22"},"nativeSrc":"418005:16:22","nodeType":"YulFunctionCall","src":"418005:16:22"},"nativeSrc":"418005:16:22","nodeType":"YulExpressionStatement","src":"418005:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418041:4:22","nodeType":"YulLiteral","src":"418041:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"418047:2:22","nodeType":"YulIdentifier","src":"418047:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418034:6:22","nodeType":"YulIdentifier","src":"418034:6:22"},"nativeSrc":"418034:16:22","nodeType":"YulFunctionCall","src":"418034:16:22"},"nativeSrc":"418034:16:22","nodeType":"YulExpressionStatement","src":"418034:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418070:4:22","nodeType":"YulLiteral","src":"418070:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"418076:2:22","nodeType":"YulIdentifier","src":"418076:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418063:6:22","nodeType":"YulIdentifier","src":"418063:6:22"},"nativeSrc":"418063:16:22","nodeType":"YulFunctionCall","src":"418063:16:22"},"nativeSrc":"418063:16:22","nodeType":"YulExpressionStatement","src":"418063:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418099:4:22","nodeType":"YulLiteral","src":"418099:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"418105:2:22","nodeType":"YulIdentifier","src":"418105:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418092:6:22","nodeType":"YulIdentifier","src":"418092:6:22"},"nativeSrc":"418092:16:22","nodeType":"YulFunctionCall","src":"418092:16:22"},"nativeSrc":"418092:16:22","nodeType":"YulExpressionStatement","src":"418092:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418128:4:22","nodeType":"YulLiteral","src":"418128:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"418134:2:22","nodeType":"YulIdentifier","src":"418134:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418121:6:22","nodeType":"YulIdentifier","src":"418121:6:22"},"nativeSrc":"418121:16:22","nodeType":"YulFunctionCall","src":"418121:16:22"},"nativeSrc":"418121:16:22","nodeType":"YulExpressionStatement","src":"418121:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418157:5:22","nodeType":"YulLiteral","src":"418157:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"418164:2:22","nodeType":"YulIdentifier","src":"418164:2:22"}],"functionName":{"name":"mstore","nativeSrc":"418150:6:22","nodeType":"YulIdentifier","src":"418150:6:22"},"nativeSrc":"418150:17:22","nodeType":"YulFunctionCall","src":"418150:17:22"},"nativeSrc":"418150:17:22","nodeType":"YulExpressionStatement","src":"418150:17:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44125,"isOffset":false,"isSlot":false,"src":"417931:2:22","valueSize":1},{"declaration":44128,"isOffset":false,"isSlot":false,"src":"417960:2:22","valueSize":1},{"declaration":44131,"isOffset":false,"isSlot":false,"src":"417989:2:22","valueSize":1},{"declaration":44134,"isOffset":false,"isSlot":false,"src":"418018:2:22","valueSize":1},{"declaration":44137,"isOffset":false,"isSlot":false,"src":"418047:2:22","valueSize":1},{"declaration":44140,"isOffset":false,"isSlot":false,"src":"418076:2:22","valueSize":1},{"declaration":44143,"isOffset":false,"isSlot":false,"src":"418105:2:22","valueSize":1},{"declaration":44146,"isOffset":false,"isSlot":false,"src":"418134:2:22","valueSize":1},{"declaration":44149,"isOffset":false,"isSlot":false,"src":"418164:2:22","valueSize":1}],"id":44157,"nodeType":"InlineAssembly","src":"417895:282:22"}]},"id":44159,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"416570:3:22","nodeType":"FunctionDefinition","parameters":{"id":44122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44115,"mutability":"mutable","name":"p0","nameLocation":"416582:2:22","nodeType":"VariableDeclaration","scope":44159,"src":"416574:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416574:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44117,"mutability":"mutable","name":"p1","nameLocation":"416594:2:22","nodeType":"VariableDeclaration","scope":44159,"src":"416586:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416586:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44119,"mutability":"mutable","name":"p2","nameLocation":"416606:2:22","nodeType":"VariableDeclaration","scope":44159,"src":"416598:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44118,"name":"uint256","nodeType":"ElementaryTypeName","src":"416598:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44121,"mutability":"mutable","name":"p3","nameLocation":"416618:2:22","nodeType":"VariableDeclaration","scope":44159,"src":"416610:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44120,"name":"uint256","nodeType":"ElementaryTypeName","src":"416610:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"416573:48:22"},"returnParameters":{"id":44123,"nodeType":"ParameterList","parameters":[],"src":"416636:0:22"},"scope":44426,"src":"416561:1622:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44210,"nodeType":"Block","src":"418264:1749:22","statements":[{"assignments":[44171],"declarations":[{"constant":false,"id":44171,"mutability":"mutable","name":"m0","nameLocation":"418282:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418274:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418274:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44172,"nodeType":"VariableDeclarationStatement","src":"418274:10:22"},{"assignments":[44174],"declarations":[{"constant":false,"id":44174,"mutability":"mutable","name":"m1","nameLocation":"418302:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418294:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418294:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44175,"nodeType":"VariableDeclarationStatement","src":"418294:10:22"},{"assignments":[44177],"declarations":[{"constant":false,"id":44177,"mutability":"mutable","name":"m2","nameLocation":"418322:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418314:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418314:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44178,"nodeType":"VariableDeclarationStatement","src":"418314:10:22"},{"assignments":[44180],"declarations":[{"constant":false,"id":44180,"mutability":"mutable","name":"m3","nameLocation":"418342:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418334:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418334:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44181,"nodeType":"VariableDeclarationStatement","src":"418334:10:22"},{"assignments":[44183],"declarations":[{"constant":false,"id":44183,"mutability":"mutable","name":"m4","nameLocation":"418362:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418354:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418354:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44184,"nodeType":"VariableDeclarationStatement","src":"418354:10:22"},{"assignments":[44186],"declarations":[{"constant":false,"id":44186,"mutability":"mutable","name":"m5","nameLocation":"418382:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418374:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418374:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44187,"nodeType":"VariableDeclarationStatement","src":"418374:10:22"},{"assignments":[44189],"declarations":[{"constant":false,"id":44189,"mutability":"mutable","name":"m6","nameLocation":"418402:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418394:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418394:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44190,"nodeType":"VariableDeclarationStatement","src":"418394:10:22"},{"assignments":[44192],"declarations":[{"constant":false,"id":44192,"mutability":"mutable","name":"m7","nameLocation":"418422:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418414:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418414:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44193,"nodeType":"VariableDeclarationStatement","src":"418414:10:22"},{"assignments":[44195],"declarations":[{"constant":false,"id":44195,"mutability":"mutable","name":"m8","nameLocation":"418442:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418434:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418434:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44196,"nodeType":"VariableDeclarationStatement","src":"418434:10:22"},{"assignments":[44198],"declarations":[{"constant":false,"id":44198,"mutability":"mutable","name":"m9","nameLocation":"418462:2:22","nodeType":"VariableDeclaration","scope":44210,"src":"418454:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418454:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44199,"nodeType":"VariableDeclarationStatement","src":"418454:10:22"},{"assignments":[44201],"declarations":[{"constant":false,"id":44201,"mutability":"mutable","name":"m10","nameLocation":"418482:3:22","nodeType":"VariableDeclaration","scope":44210,"src":"418474:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418474:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44202,"nodeType":"VariableDeclarationStatement","src":"418474:11:22"},{"AST":{"nativeSrc":"418547:1027:22","nodeType":"YulBlock","src":"418547:1027:22","statements":[{"body":{"nativeSrc":"418590:313:22","nodeType":"YulBlock","src":"418590:313:22","statements":[{"nativeSrc":"418608:15:22","nodeType":"YulVariableDeclaration","src":"418608:15:22","value":{"kind":"number","nativeSrc":"418622:1:22","nodeType":"YulLiteral","src":"418622:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"418612:6:22","nodeType":"YulTypedName","src":"418612:6:22","type":""}]},{"body":{"nativeSrc":"418693:40:22","nodeType":"YulBlock","src":"418693:40:22","statements":[{"body":{"nativeSrc":"418722:9:22","nodeType":"YulBlock","src":"418722:9:22","statements":[{"nativeSrc":"418724:5:22","nodeType":"YulBreak","src":"418724:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"418710:6:22","nodeType":"YulIdentifier","src":"418710:6:22"},{"name":"w","nativeSrc":"418718:1:22","nodeType":"YulIdentifier","src":"418718:1:22"}],"functionName":{"name":"byte","nativeSrc":"418705:4:22","nodeType":"YulIdentifier","src":"418705:4:22"},"nativeSrc":"418705:15:22","nodeType":"YulFunctionCall","src":"418705:15:22"}],"functionName":{"name":"iszero","nativeSrc":"418698:6:22","nodeType":"YulIdentifier","src":"418698:6:22"},"nativeSrc":"418698:23:22","nodeType":"YulFunctionCall","src":"418698:23:22"},"nativeSrc":"418695:36:22","nodeType":"YulIf","src":"418695:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"418650:6:22","nodeType":"YulIdentifier","src":"418650:6:22"},{"kind":"number","nativeSrc":"418658:4:22","nodeType":"YulLiteral","src":"418658:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"418647:2:22","nodeType":"YulIdentifier","src":"418647:2:22"},"nativeSrc":"418647:16:22","nodeType":"YulFunctionCall","src":"418647:16:22"},"nativeSrc":"418640:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"418664:28:22","nodeType":"YulBlock","src":"418664:28:22","statements":[{"nativeSrc":"418666:24:22","nodeType":"YulAssignment","src":"418666:24:22","value":{"arguments":[{"name":"length","nativeSrc":"418680:6:22","nodeType":"YulIdentifier","src":"418680:6:22"},{"kind":"number","nativeSrc":"418688:1:22","nodeType":"YulLiteral","src":"418688:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"418676:3:22","nodeType":"YulIdentifier","src":"418676:3:22"},"nativeSrc":"418676:14:22","nodeType":"YulFunctionCall","src":"418676:14:22"},"variableNames":[{"name":"length","nativeSrc":"418666:6:22","nodeType":"YulIdentifier","src":"418666:6:22"}]}]},"pre":{"nativeSrc":"418644:2:22","nodeType":"YulBlock","src":"418644:2:22","statements":[]},"src":"418640:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"418757:3:22","nodeType":"YulIdentifier","src":"418757:3:22"},{"name":"length","nativeSrc":"418762:6:22","nodeType":"YulIdentifier","src":"418762:6:22"}],"functionName":{"name":"mstore","nativeSrc":"418750:6:22","nodeType":"YulIdentifier","src":"418750:6:22"},"nativeSrc":"418750:19:22","nodeType":"YulFunctionCall","src":"418750:19:22"},"nativeSrc":"418750:19:22","nodeType":"YulExpressionStatement","src":"418750:19:22"},{"nativeSrc":"418786:37:22","nodeType":"YulVariableDeclaration","src":"418786:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"418803:3:22","nodeType":"YulLiteral","src":"418803:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"418812:1:22","nodeType":"YulLiteral","src":"418812:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"418815:6:22","nodeType":"YulIdentifier","src":"418815:6:22"}],"functionName":{"name":"shl","nativeSrc":"418808:3:22","nodeType":"YulIdentifier","src":"418808:3:22"},"nativeSrc":"418808:14:22","nodeType":"YulFunctionCall","src":"418808:14:22"}],"functionName":{"name":"sub","nativeSrc":"418799:3:22","nodeType":"YulIdentifier","src":"418799:3:22"},"nativeSrc":"418799:24:22","nodeType":"YulFunctionCall","src":"418799:24:22"},"variables":[{"name":"shift","nativeSrc":"418790:5:22","nodeType":"YulTypedName","src":"418790:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"418851:3:22","nodeType":"YulIdentifier","src":"418851:3:22"},{"kind":"number","nativeSrc":"418856:4:22","nodeType":"YulLiteral","src":"418856:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"418847:3:22","nodeType":"YulIdentifier","src":"418847:3:22"},"nativeSrc":"418847:14:22","nodeType":"YulFunctionCall","src":"418847:14:22"},{"arguments":[{"name":"shift","nativeSrc":"418867:5:22","nodeType":"YulIdentifier","src":"418867:5:22"},{"arguments":[{"name":"shift","nativeSrc":"418878:5:22","nodeType":"YulIdentifier","src":"418878:5:22"},{"name":"w","nativeSrc":"418885:1:22","nodeType":"YulIdentifier","src":"418885:1:22"}],"functionName":{"name":"shr","nativeSrc":"418874:3:22","nodeType":"YulIdentifier","src":"418874:3:22"},"nativeSrc":"418874:13:22","nodeType":"YulFunctionCall","src":"418874:13:22"}],"functionName":{"name":"shl","nativeSrc":"418863:3:22","nodeType":"YulIdentifier","src":"418863:3:22"},"nativeSrc":"418863:25:22","nodeType":"YulFunctionCall","src":"418863:25:22"}],"functionName":{"name":"mstore","nativeSrc":"418840:6:22","nodeType":"YulIdentifier","src":"418840:6:22"},"nativeSrc":"418840:49:22","nodeType":"YulFunctionCall","src":"418840:49:22"},"nativeSrc":"418840:49:22","nodeType":"YulExpressionStatement","src":"418840:49:22"}]},"name":"writeString","nativeSrc":"418561:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"418582:3:22","nodeType":"YulTypedName","src":"418582:3:22","type":""},{"name":"w","nativeSrc":"418587:1:22","nodeType":"YulTypedName","src":"418587:1:22","type":""}],"src":"418561:342:22"},{"nativeSrc":"418916:17:22","nodeType":"YulAssignment","src":"418916:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"418928:4:22","nodeType":"YulLiteral","src":"418928:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"418922:5:22","nodeType":"YulIdentifier","src":"418922:5:22"},"nativeSrc":"418922:11:22","nodeType":"YulFunctionCall","src":"418922:11:22"},"variableNames":[{"name":"m0","nativeSrc":"418916:2:22","nodeType":"YulIdentifier","src":"418916:2:22"}]},{"nativeSrc":"418946:17:22","nodeType":"YulAssignment","src":"418946:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"418958:4:22","nodeType":"YulLiteral","src":"418958:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"418952:5:22","nodeType":"YulIdentifier","src":"418952:5:22"},"nativeSrc":"418952:11:22","nodeType":"YulFunctionCall","src":"418952:11:22"},"variableNames":[{"name":"m1","nativeSrc":"418946:2:22","nodeType":"YulIdentifier","src":"418946:2:22"}]},{"nativeSrc":"418976:17:22","nodeType":"YulAssignment","src":"418976:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"418988:4:22","nodeType":"YulLiteral","src":"418988:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"418982:5:22","nodeType":"YulIdentifier","src":"418982:5:22"},"nativeSrc":"418982:11:22","nodeType":"YulFunctionCall","src":"418982:11:22"},"variableNames":[{"name":"m2","nativeSrc":"418976:2:22","nodeType":"YulIdentifier","src":"418976:2:22"}]},{"nativeSrc":"419006:17:22","nodeType":"YulAssignment","src":"419006:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"419018:4:22","nodeType":"YulLiteral","src":"419018:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"419012:5:22","nodeType":"YulIdentifier","src":"419012:5:22"},"nativeSrc":"419012:11:22","nodeType":"YulFunctionCall","src":"419012:11:22"},"variableNames":[{"name":"m3","nativeSrc":"419006:2:22","nodeType":"YulIdentifier","src":"419006:2:22"}]},{"nativeSrc":"419036:17:22","nodeType":"YulAssignment","src":"419036:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"419048:4:22","nodeType":"YulLiteral","src":"419048:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"419042:5:22","nodeType":"YulIdentifier","src":"419042:5:22"},"nativeSrc":"419042:11:22","nodeType":"YulFunctionCall","src":"419042:11:22"},"variableNames":[{"name":"m4","nativeSrc":"419036:2:22","nodeType":"YulIdentifier","src":"419036:2:22"}]},{"nativeSrc":"419066:17:22","nodeType":"YulAssignment","src":"419066:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"419078:4:22","nodeType":"YulLiteral","src":"419078:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"419072:5:22","nodeType":"YulIdentifier","src":"419072:5:22"},"nativeSrc":"419072:11:22","nodeType":"YulFunctionCall","src":"419072:11:22"},"variableNames":[{"name":"m5","nativeSrc":"419066:2:22","nodeType":"YulIdentifier","src":"419066:2:22"}]},{"nativeSrc":"419096:17:22","nodeType":"YulAssignment","src":"419096:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"419108:4:22","nodeType":"YulLiteral","src":"419108:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"419102:5:22","nodeType":"YulIdentifier","src":"419102:5:22"},"nativeSrc":"419102:11:22","nodeType":"YulFunctionCall","src":"419102:11:22"},"variableNames":[{"name":"m6","nativeSrc":"419096:2:22","nodeType":"YulIdentifier","src":"419096:2:22"}]},{"nativeSrc":"419126:17:22","nodeType":"YulAssignment","src":"419126:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"419138:4:22","nodeType":"YulLiteral","src":"419138:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"419132:5:22","nodeType":"YulIdentifier","src":"419132:5:22"},"nativeSrc":"419132:11:22","nodeType":"YulFunctionCall","src":"419132:11:22"},"variableNames":[{"name":"m7","nativeSrc":"419126:2:22","nodeType":"YulIdentifier","src":"419126:2:22"}]},{"nativeSrc":"419156:18:22","nodeType":"YulAssignment","src":"419156:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"419168:5:22","nodeType":"YulLiteral","src":"419168:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"419162:5:22","nodeType":"YulIdentifier","src":"419162:5:22"},"nativeSrc":"419162:12:22","nodeType":"YulFunctionCall","src":"419162:12:22"},"variableNames":[{"name":"m8","nativeSrc":"419156:2:22","nodeType":"YulIdentifier","src":"419156:2:22"}]},{"nativeSrc":"419187:18:22","nodeType":"YulAssignment","src":"419187:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"419199:5:22","nodeType":"YulLiteral","src":"419199:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"419193:5:22","nodeType":"YulIdentifier","src":"419193:5:22"},"nativeSrc":"419193:12:22","nodeType":"YulFunctionCall","src":"419193:12:22"},"variableNames":[{"name":"m9","nativeSrc":"419187:2:22","nodeType":"YulIdentifier","src":"419187:2:22"}]},{"nativeSrc":"419218:19:22","nodeType":"YulAssignment","src":"419218:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"419231:5:22","nodeType":"YulLiteral","src":"419231:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"419225:5:22","nodeType":"YulIdentifier","src":"419225:5:22"},"nativeSrc":"419225:12:22","nodeType":"YulFunctionCall","src":"419225:12:22"},"variableNames":[{"name":"m10","nativeSrc":"419218:3:22","nodeType":"YulIdentifier","src":"419218:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419321:4:22","nodeType":"YulLiteral","src":"419321:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"419327:10:22","nodeType":"YulLiteral","src":"419327:10:22","type":"","value":"0x5d1a971a"}],"functionName":{"name":"mstore","nativeSrc":"419314:6:22","nodeType":"YulIdentifier","src":"419314:6:22"},"nativeSrc":"419314:24:22","nodeType":"YulFunctionCall","src":"419314:24:22"},"nativeSrc":"419314:24:22","nodeType":"YulExpressionStatement","src":"419314:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419358:4:22","nodeType":"YulLiteral","src":"419358:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"419364:4:22","nodeType":"YulLiteral","src":"419364:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"419351:6:22","nodeType":"YulIdentifier","src":"419351:6:22"},"nativeSrc":"419351:18:22","nodeType":"YulFunctionCall","src":"419351:18:22"},"nativeSrc":"419351:18:22","nodeType":"YulExpressionStatement","src":"419351:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419389:4:22","nodeType":"YulLiteral","src":"419389:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"419395:4:22","nodeType":"YulLiteral","src":"419395:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"419382:6:22","nodeType":"YulIdentifier","src":"419382:6:22"},"nativeSrc":"419382:18:22","nodeType":"YulFunctionCall","src":"419382:18:22"},"nativeSrc":"419382:18:22","nodeType":"YulExpressionStatement","src":"419382:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419420:4:22","nodeType":"YulLiteral","src":"419420:4:22","type":"","value":"0x60"},{"name":"p2","nativeSrc":"419426:2:22","nodeType":"YulIdentifier","src":"419426:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419413:6:22","nodeType":"YulIdentifier","src":"419413:6:22"},"nativeSrc":"419413:16:22","nodeType":"YulFunctionCall","src":"419413:16:22"},"nativeSrc":"419413:16:22","nodeType":"YulExpressionStatement","src":"419413:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419449:4:22","nodeType":"YulLiteral","src":"419449:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"419455:5:22","nodeType":"YulLiteral","src":"419455:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"419442:6:22","nodeType":"YulIdentifier","src":"419442:6:22"},"nativeSrc":"419442:19:22","nodeType":"YulFunctionCall","src":"419442:19:22"},"nativeSrc":"419442:19:22","nodeType":"YulExpressionStatement","src":"419442:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419486:4:22","nodeType":"YulLiteral","src":"419486:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"419492:2:22","nodeType":"YulIdentifier","src":"419492:2:22"}],"functionName":{"name":"writeString","nativeSrc":"419474:11:22","nodeType":"YulIdentifier","src":"419474:11:22"},"nativeSrc":"419474:21:22","nodeType":"YulFunctionCall","src":"419474:21:22"},"nativeSrc":"419474:21:22","nodeType":"YulExpressionStatement","src":"419474:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419520:4:22","nodeType":"YulLiteral","src":"419520:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"419526:2:22","nodeType":"YulIdentifier","src":"419526:2:22"}],"functionName":{"name":"writeString","nativeSrc":"419508:11:22","nodeType":"YulIdentifier","src":"419508:11:22"},"nativeSrc":"419508:21:22","nodeType":"YulFunctionCall","src":"419508:21:22"},"nativeSrc":"419508:21:22","nodeType":"YulExpressionStatement","src":"419508:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419554:5:22","nodeType":"YulLiteral","src":"419554:5:22","type":"","value":"0x120"},{"name":"p3","nativeSrc":"419561:2:22","nodeType":"YulIdentifier","src":"419561:2:22"}],"functionName":{"name":"writeString","nativeSrc":"419542:11:22","nodeType":"YulIdentifier","src":"419542:11:22"},"nativeSrc":"419542:22:22","nodeType":"YulFunctionCall","src":"419542:22:22"},"nativeSrc":"419542:22:22","nodeType":"YulExpressionStatement","src":"419542:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44171,"isOffset":false,"isSlot":false,"src":"418916:2:22","valueSize":1},{"declaration":44174,"isOffset":false,"isSlot":false,"src":"418946:2:22","valueSize":1},{"declaration":44201,"isOffset":false,"isSlot":false,"src":"419218:3:22","valueSize":1},{"declaration":44177,"isOffset":false,"isSlot":false,"src":"418976:2:22","valueSize":1},{"declaration":44180,"isOffset":false,"isSlot":false,"src":"419006:2:22","valueSize":1},{"declaration":44183,"isOffset":false,"isSlot":false,"src":"419036:2:22","valueSize":1},{"declaration":44186,"isOffset":false,"isSlot":false,"src":"419066:2:22","valueSize":1},{"declaration":44189,"isOffset":false,"isSlot":false,"src":"419096:2:22","valueSize":1},{"declaration":44192,"isOffset":false,"isSlot":false,"src":"419126:2:22","valueSize":1},{"declaration":44195,"isOffset":false,"isSlot":false,"src":"419156:2:22","valueSize":1},{"declaration":44198,"isOffset":false,"isSlot":false,"src":"419187:2:22","valueSize":1},{"declaration":44161,"isOffset":false,"isSlot":false,"src":"419492:2:22","valueSize":1},{"declaration":44163,"isOffset":false,"isSlot":false,"src":"419526:2:22","valueSize":1},{"declaration":44165,"isOffset":false,"isSlot":false,"src":"419426:2:22","valueSize":1},{"declaration":44167,"isOffset":false,"isSlot":false,"src":"419561:2:22","valueSize":1}],"id":44203,"nodeType":"InlineAssembly","src":"418538:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419599:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":44206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419605:5:22","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":44204,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"419583:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"419583:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44208,"nodeType":"ExpressionStatement","src":"419583:28:22"},{"AST":{"nativeSrc":"419673:334:22","nodeType":"YulBlock","src":"419673:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"419694:4:22","nodeType":"YulLiteral","src":"419694:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"419700:2:22","nodeType":"YulIdentifier","src":"419700:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419687:6:22","nodeType":"YulIdentifier","src":"419687:6:22"},"nativeSrc":"419687:16:22","nodeType":"YulFunctionCall","src":"419687:16:22"},"nativeSrc":"419687:16:22","nodeType":"YulExpressionStatement","src":"419687:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419723:4:22","nodeType":"YulLiteral","src":"419723:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"419729:2:22","nodeType":"YulIdentifier","src":"419729:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419716:6:22","nodeType":"YulIdentifier","src":"419716:6:22"},"nativeSrc":"419716:16:22","nodeType":"YulFunctionCall","src":"419716:16:22"},"nativeSrc":"419716:16:22","nodeType":"YulExpressionStatement","src":"419716:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419752:4:22","nodeType":"YulLiteral","src":"419752:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"419758:2:22","nodeType":"YulIdentifier","src":"419758:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419745:6:22","nodeType":"YulIdentifier","src":"419745:6:22"},"nativeSrc":"419745:16:22","nodeType":"YulFunctionCall","src":"419745:16:22"},"nativeSrc":"419745:16:22","nodeType":"YulExpressionStatement","src":"419745:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419781:4:22","nodeType":"YulLiteral","src":"419781:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"419787:2:22","nodeType":"YulIdentifier","src":"419787:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419774:6:22","nodeType":"YulIdentifier","src":"419774:6:22"},"nativeSrc":"419774:16:22","nodeType":"YulFunctionCall","src":"419774:16:22"},"nativeSrc":"419774:16:22","nodeType":"YulExpressionStatement","src":"419774:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419810:4:22","nodeType":"YulLiteral","src":"419810:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"419816:2:22","nodeType":"YulIdentifier","src":"419816:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419803:6:22","nodeType":"YulIdentifier","src":"419803:6:22"},"nativeSrc":"419803:16:22","nodeType":"YulFunctionCall","src":"419803:16:22"},"nativeSrc":"419803:16:22","nodeType":"YulExpressionStatement","src":"419803:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419839:4:22","nodeType":"YulLiteral","src":"419839:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"419845:2:22","nodeType":"YulIdentifier","src":"419845:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419832:6:22","nodeType":"YulIdentifier","src":"419832:6:22"},"nativeSrc":"419832:16:22","nodeType":"YulFunctionCall","src":"419832:16:22"},"nativeSrc":"419832:16:22","nodeType":"YulExpressionStatement","src":"419832:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419868:4:22","nodeType":"YulLiteral","src":"419868:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"419874:2:22","nodeType":"YulIdentifier","src":"419874:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419861:6:22","nodeType":"YulIdentifier","src":"419861:6:22"},"nativeSrc":"419861:16:22","nodeType":"YulFunctionCall","src":"419861:16:22"},"nativeSrc":"419861:16:22","nodeType":"YulExpressionStatement","src":"419861:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419897:4:22","nodeType":"YulLiteral","src":"419897:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"419903:2:22","nodeType":"YulIdentifier","src":"419903:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419890:6:22","nodeType":"YulIdentifier","src":"419890:6:22"},"nativeSrc":"419890:16:22","nodeType":"YulFunctionCall","src":"419890:16:22"},"nativeSrc":"419890:16:22","nodeType":"YulExpressionStatement","src":"419890:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419926:5:22","nodeType":"YulLiteral","src":"419926:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"419933:2:22","nodeType":"YulIdentifier","src":"419933:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419919:6:22","nodeType":"YulIdentifier","src":"419919:6:22"},"nativeSrc":"419919:17:22","nodeType":"YulFunctionCall","src":"419919:17:22"},"nativeSrc":"419919:17:22","nodeType":"YulExpressionStatement","src":"419919:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419956:5:22","nodeType":"YulLiteral","src":"419956:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"419963:2:22","nodeType":"YulIdentifier","src":"419963:2:22"}],"functionName":{"name":"mstore","nativeSrc":"419949:6:22","nodeType":"YulIdentifier","src":"419949:6:22"},"nativeSrc":"419949:17:22","nodeType":"YulFunctionCall","src":"419949:17:22"},"nativeSrc":"419949:17:22","nodeType":"YulExpressionStatement","src":"419949:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419986:5:22","nodeType":"YulLiteral","src":"419986:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"419993:3:22","nodeType":"YulIdentifier","src":"419993:3:22"}],"functionName":{"name":"mstore","nativeSrc":"419979:6:22","nodeType":"YulIdentifier","src":"419979:6:22"},"nativeSrc":"419979:18:22","nodeType":"YulFunctionCall","src":"419979:18:22"},"nativeSrc":"419979:18:22","nodeType":"YulExpressionStatement","src":"419979:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44171,"isOffset":false,"isSlot":false,"src":"419700:2:22","valueSize":1},{"declaration":44174,"isOffset":false,"isSlot":false,"src":"419729:2:22","valueSize":1},{"declaration":44201,"isOffset":false,"isSlot":false,"src":"419993:3:22","valueSize":1},{"declaration":44177,"isOffset":false,"isSlot":false,"src":"419758:2:22","valueSize":1},{"declaration":44180,"isOffset":false,"isSlot":false,"src":"419787:2:22","valueSize":1},{"declaration":44183,"isOffset":false,"isSlot":false,"src":"419816:2:22","valueSize":1},{"declaration":44186,"isOffset":false,"isSlot":false,"src":"419845:2:22","valueSize":1},{"declaration":44189,"isOffset":false,"isSlot":false,"src":"419874:2:22","valueSize":1},{"declaration":44192,"isOffset":false,"isSlot":false,"src":"419903:2:22","valueSize":1},{"declaration":44195,"isOffset":false,"isSlot":false,"src":"419933:2:22","valueSize":1},{"declaration":44198,"isOffset":false,"isSlot":false,"src":"419963:2:22","valueSize":1}],"id":44209,"nodeType":"InlineAssembly","src":"419664:343:22"}]},"id":44211,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"418198:3:22","nodeType":"FunctionDefinition","parameters":{"id":44168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44161,"mutability":"mutable","name":"p0","nameLocation":"418210:2:22","nodeType":"VariableDeclaration","scope":44211,"src":"418202:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418202:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44163,"mutability":"mutable","name":"p1","nameLocation":"418222:2:22","nodeType":"VariableDeclaration","scope":44211,"src":"418214:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418214:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44165,"mutability":"mutable","name":"p2","nameLocation":"418234:2:22","nodeType":"VariableDeclaration","scope":44211,"src":"418226:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44164,"name":"uint256","nodeType":"ElementaryTypeName","src":"418226:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44167,"mutability":"mutable","name":"p3","nameLocation":"418246:2:22","nodeType":"VariableDeclaration","scope":44211,"src":"418238:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418238:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"418201:48:22"},"returnParameters":{"id":44169,"nodeType":"ParameterList","parameters":[],"src":"418264:0:22"},"scope":44426,"src":"418189:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44262,"nodeType":"Block","src":"420094:1749:22","statements":[{"assignments":[44223],"declarations":[{"constant":false,"id":44223,"mutability":"mutable","name":"m0","nameLocation":"420112:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420104:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420104:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44224,"nodeType":"VariableDeclarationStatement","src":"420104:10:22"},{"assignments":[44226],"declarations":[{"constant":false,"id":44226,"mutability":"mutable","name":"m1","nameLocation":"420132:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420124:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420124:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44227,"nodeType":"VariableDeclarationStatement","src":"420124:10:22"},{"assignments":[44229],"declarations":[{"constant":false,"id":44229,"mutability":"mutable","name":"m2","nameLocation":"420152:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420144:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420144:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44230,"nodeType":"VariableDeclarationStatement","src":"420144:10:22"},{"assignments":[44232],"declarations":[{"constant":false,"id":44232,"mutability":"mutable","name":"m3","nameLocation":"420172:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420164:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420164:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44233,"nodeType":"VariableDeclarationStatement","src":"420164:10:22"},{"assignments":[44235],"declarations":[{"constant":false,"id":44235,"mutability":"mutable","name":"m4","nameLocation":"420192:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420184:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420184:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44236,"nodeType":"VariableDeclarationStatement","src":"420184:10:22"},{"assignments":[44238],"declarations":[{"constant":false,"id":44238,"mutability":"mutable","name":"m5","nameLocation":"420212:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420204:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420204:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44239,"nodeType":"VariableDeclarationStatement","src":"420204:10:22"},{"assignments":[44241],"declarations":[{"constant":false,"id":44241,"mutability":"mutable","name":"m6","nameLocation":"420232:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420224:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420224:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44242,"nodeType":"VariableDeclarationStatement","src":"420224:10:22"},{"assignments":[44244],"declarations":[{"constant":false,"id":44244,"mutability":"mutable","name":"m7","nameLocation":"420252:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420244:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420244:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44245,"nodeType":"VariableDeclarationStatement","src":"420244:10:22"},{"assignments":[44247],"declarations":[{"constant":false,"id":44247,"mutability":"mutable","name":"m8","nameLocation":"420272:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420264:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420264:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44248,"nodeType":"VariableDeclarationStatement","src":"420264:10:22"},{"assignments":[44250],"declarations":[{"constant":false,"id":44250,"mutability":"mutable","name":"m9","nameLocation":"420292:2:22","nodeType":"VariableDeclaration","scope":44262,"src":"420284:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420284:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44251,"nodeType":"VariableDeclarationStatement","src":"420284:10:22"},{"assignments":[44253],"declarations":[{"constant":false,"id":44253,"mutability":"mutable","name":"m10","nameLocation":"420312:3:22","nodeType":"VariableDeclaration","scope":44262,"src":"420304:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420304:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44254,"nodeType":"VariableDeclarationStatement","src":"420304:11:22"},{"AST":{"nativeSrc":"420377:1027:22","nodeType":"YulBlock","src":"420377:1027:22","statements":[{"body":{"nativeSrc":"420420:313:22","nodeType":"YulBlock","src":"420420:313:22","statements":[{"nativeSrc":"420438:15:22","nodeType":"YulVariableDeclaration","src":"420438:15:22","value":{"kind":"number","nativeSrc":"420452:1:22","nodeType":"YulLiteral","src":"420452:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"420442:6:22","nodeType":"YulTypedName","src":"420442:6:22","type":""}]},{"body":{"nativeSrc":"420523:40:22","nodeType":"YulBlock","src":"420523:40:22","statements":[{"body":{"nativeSrc":"420552:9:22","nodeType":"YulBlock","src":"420552:9:22","statements":[{"nativeSrc":"420554:5:22","nodeType":"YulBreak","src":"420554:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"420540:6:22","nodeType":"YulIdentifier","src":"420540:6:22"},{"name":"w","nativeSrc":"420548:1:22","nodeType":"YulIdentifier","src":"420548:1:22"}],"functionName":{"name":"byte","nativeSrc":"420535:4:22","nodeType":"YulIdentifier","src":"420535:4:22"},"nativeSrc":"420535:15:22","nodeType":"YulFunctionCall","src":"420535:15:22"}],"functionName":{"name":"iszero","nativeSrc":"420528:6:22","nodeType":"YulIdentifier","src":"420528:6:22"},"nativeSrc":"420528:23:22","nodeType":"YulFunctionCall","src":"420528:23:22"},"nativeSrc":"420525:36:22","nodeType":"YulIf","src":"420525:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"420480:6:22","nodeType":"YulIdentifier","src":"420480:6:22"},{"kind":"number","nativeSrc":"420488:4:22","nodeType":"YulLiteral","src":"420488:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"420477:2:22","nodeType":"YulIdentifier","src":"420477:2:22"},"nativeSrc":"420477:16:22","nodeType":"YulFunctionCall","src":"420477:16:22"},"nativeSrc":"420470:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"420494:28:22","nodeType":"YulBlock","src":"420494:28:22","statements":[{"nativeSrc":"420496:24:22","nodeType":"YulAssignment","src":"420496:24:22","value":{"arguments":[{"name":"length","nativeSrc":"420510:6:22","nodeType":"YulIdentifier","src":"420510:6:22"},{"kind":"number","nativeSrc":"420518:1:22","nodeType":"YulLiteral","src":"420518:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"420506:3:22","nodeType":"YulIdentifier","src":"420506:3:22"},"nativeSrc":"420506:14:22","nodeType":"YulFunctionCall","src":"420506:14:22"},"variableNames":[{"name":"length","nativeSrc":"420496:6:22","nodeType":"YulIdentifier","src":"420496:6:22"}]}]},"pre":{"nativeSrc":"420474:2:22","nodeType":"YulBlock","src":"420474:2:22","statements":[]},"src":"420470:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"420587:3:22","nodeType":"YulIdentifier","src":"420587:3:22"},{"name":"length","nativeSrc":"420592:6:22","nodeType":"YulIdentifier","src":"420592:6:22"}],"functionName":{"name":"mstore","nativeSrc":"420580:6:22","nodeType":"YulIdentifier","src":"420580:6:22"},"nativeSrc":"420580:19:22","nodeType":"YulFunctionCall","src":"420580:19:22"},"nativeSrc":"420580:19:22","nodeType":"YulExpressionStatement","src":"420580:19:22"},{"nativeSrc":"420616:37:22","nodeType":"YulVariableDeclaration","src":"420616:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"420633:3:22","nodeType":"YulLiteral","src":"420633:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"420642:1:22","nodeType":"YulLiteral","src":"420642:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"420645:6:22","nodeType":"YulIdentifier","src":"420645:6:22"}],"functionName":{"name":"shl","nativeSrc":"420638:3:22","nodeType":"YulIdentifier","src":"420638:3:22"},"nativeSrc":"420638:14:22","nodeType":"YulFunctionCall","src":"420638:14:22"}],"functionName":{"name":"sub","nativeSrc":"420629:3:22","nodeType":"YulIdentifier","src":"420629:3:22"},"nativeSrc":"420629:24:22","nodeType":"YulFunctionCall","src":"420629:24:22"},"variables":[{"name":"shift","nativeSrc":"420620:5:22","nodeType":"YulTypedName","src":"420620:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"420681:3:22","nodeType":"YulIdentifier","src":"420681:3:22"},{"kind":"number","nativeSrc":"420686:4:22","nodeType":"YulLiteral","src":"420686:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"420677:3:22","nodeType":"YulIdentifier","src":"420677:3:22"},"nativeSrc":"420677:14:22","nodeType":"YulFunctionCall","src":"420677:14:22"},{"arguments":[{"name":"shift","nativeSrc":"420697:5:22","nodeType":"YulIdentifier","src":"420697:5:22"},{"arguments":[{"name":"shift","nativeSrc":"420708:5:22","nodeType":"YulIdentifier","src":"420708:5:22"},{"name":"w","nativeSrc":"420715:1:22","nodeType":"YulIdentifier","src":"420715:1:22"}],"functionName":{"name":"shr","nativeSrc":"420704:3:22","nodeType":"YulIdentifier","src":"420704:3:22"},"nativeSrc":"420704:13:22","nodeType":"YulFunctionCall","src":"420704:13:22"}],"functionName":{"name":"shl","nativeSrc":"420693:3:22","nodeType":"YulIdentifier","src":"420693:3:22"},"nativeSrc":"420693:25:22","nodeType":"YulFunctionCall","src":"420693:25:22"}],"functionName":{"name":"mstore","nativeSrc":"420670:6:22","nodeType":"YulIdentifier","src":"420670:6:22"},"nativeSrc":"420670:49:22","nodeType":"YulFunctionCall","src":"420670:49:22"},"nativeSrc":"420670:49:22","nodeType":"YulExpressionStatement","src":"420670:49:22"}]},"name":"writeString","nativeSrc":"420391:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"420412:3:22","nodeType":"YulTypedName","src":"420412:3:22","type":""},{"name":"w","nativeSrc":"420417:1:22","nodeType":"YulTypedName","src":"420417:1:22","type":""}],"src":"420391:342:22"},{"nativeSrc":"420746:17:22","nodeType":"YulAssignment","src":"420746:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420758:4:22","nodeType":"YulLiteral","src":"420758:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"420752:5:22","nodeType":"YulIdentifier","src":"420752:5:22"},"nativeSrc":"420752:11:22","nodeType":"YulFunctionCall","src":"420752:11:22"},"variableNames":[{"name":"m0","nativeSrc":"420746:2:22","nodeType":"YulIdentifier","src":"420746:2:22"}]},{"nativeSrc":"420776:17:22","nodeType":"YulAssignment","src":"420776:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420788:4:22","nodeType":"YulLiteral","src":"420788:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"420782:5:22","nodeType":"YulIdentifier","src":"420782:5:22"},"nativeSrc":"420782:11:22","nodeType":"YulFunctionCall","src":"420782:11:22"},"variableNames":[{"name":"m1","nativeSrc":"420776:2:22","nodeType":"YulIdentifier","src":"420776:2:22"}]},{"nativeSrc":"420806:17:22","nodeType":"YulAssignment","src":"420806:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420818:4:22","nodeType":"YulLiteral","src":"420818:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"420812:5:22","nodeType":"YulIdentifier","src":"420812:5:22"},"nativeSrc":"420812:11:22","nodeType":"YulFunctionCall","src":"420812:11:22"},"variableNames":[{"name":"m2","nativeSrc":"420806:2:22","nodeType":"YulIdentifier","src":"420806:2:22"}]},{"nativeSrc":"420836:17:22","nodeType":"YulAssignment","src":"420836:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420848:4:22","nodeType":"YulLiteral","src":"420848:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"420842:5:22","nodeType":"YulIdentifier","src":"420842:5:22"},"nativeSrc":"420842:11:22","nodeType":"YulFunctionCall","src":"420842:11:22"},"variableNames":[{"name":"m3","nativeSrc":"420836:2:22","nodeType":"YulIdentifier","src":"420836:2:22"}]},{"nativeSrc":"420866:17:22","nodeType":"YulAssignment","src":"420866:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420878:4:22","nodeType":"YulLiteral","src":"420878:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"420872:5:22","nodeType":"YulIdentifier","src":"420872:5:22"},"nativeSrc":"420872:11:22","nodeType":"YulFunctionCall","src":"420872:11:22"},"variableNames":[{"name":"m4","nativeSrc":"420866:2:22","nodeType":"YulIdentifier","src":"420866:2:22"}]},{"nativeSrc":"420896:17:22","nodeType":"YulAssignment","src":"420896:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420908:4:22","nodeType":"YulLiteral","src":"420908:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"420902:5:22","nodeType":"YulIdentifier","src":"420902:5:22"},"nativeSrc":"420902:11:22","nodeType":"YulFunctionCall","src":"420902:11:22"},"variableNames":[{"name":"m5","nativeSrc":"420896:2:22","nodeType":"YulIdentifier","src":"420896:2:22"}]},{"nativeSrc":"420926:17:22","nodeType":"YulAssignment","src":"420926:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420938:4:22","nodeType":"YulLiteral","src":"420938:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"420932:5:22","nodeType":"YulIdentifier","src":"420932:5:22"},"nativeSrc":"420932:11:22","nodeType":"YulFunctionCall","src":"420932:11:22"},"variableNames":[{"name":"m6","nativeSrc":"420926:2:22","nodeType":"YulIdentifier","src":"420926:2:22"}]},{"nativeSrc":"420956:17:22","nodeType":"YulAssignment","src":"420956:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"420968:4:22","nodeType":"YulLiteral","src":"420968:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"420962:5:22","nodeType":"YulIdentifier","src":"420962:5:22"},"nativeSrc":"420962:11:22","nodeType":"YulFunctionCall","src":"420962:11:22"},"variableNames":[{"name":"m7","nativeSrc":"420956:2:22","nodeType":"YulIdentifier","src":"420956:2:22"}]},{"nativeSrc":"420986:18:22","nodeType":"YulAssignment","src":"420986:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"420998:5:22","nodeType":"YulLiteral","src":"420998:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"420992:5:22","nodeType":"YulIdentifier","src":"420992:5:22"},"nativeSrc":"420992:12:22","nodeType":"YulFunctionCall","src":"420992:12:22"},"variableNames":[{"name":"m8","nativeSrc":"420986:2:22","nodeType":"YulIdentifier","src":"420986:2:22"}]},{"nativeSrc":"421017:18:22","nodeType":"YulAssignment","src":"421017:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"421029:5:22","nodeType":"YulLiteral","src":"421029:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"421023:5:22","nodeType":"YulIdentifier","src":"421023:5:22"},"nativeSrc":"421023:12:22","nodeType":"YulFunctionCall","src":"421023:12:22"},"variableNames":[{"name":"m9","nativeSrc":"421017:2:22","nodeType":"YulIdentifier","src":"421017:2:22"}]},{"nativeSrc":"421048:19:22","nodeType":"YulAssignment","src":"421048:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"421061:5:22","nodeType":"YulLiteral","src":"421061:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"421055:5:22","nodeType":"YulIdentifier","src":"421055:5:22"},"nativeSrc":"421055:12:22","nodeType":"YulFunctionCall","src":"421055:12:22"},"variableNames":[{"name":"m10","nativeSrc":"421048:3:22","nodeType":"YulIdentifier","src":"421048:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421151:4:22","nodeType":"YulLiteral","src":"421151:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"421157:10:22","nodeType":"YulLiteral","src":"421157:10:22","type":"","value":"0x6d572f44"}],"functionName":{"name":"mstore","nativeSrc":"421144:6:22","nodeType":"YulIdentifier","src":"421144:6:22"},"nativeSrc":"421144:24:22","nodeType":"YulFunctionCall","src":"421144:24:22"},"nativeSrc":"421144:24:22","nodeType":"YulExpressionStatement","src":"421144:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421188:4:22","nodeType":"YulLiteral","src":"421188:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"421194:4:22","nodeType":"YulLiteral","src":"421194:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"421181:6:22","nodeType":"YulIdentifier","src":"421181:6:22"},"nativeSrc":"421181:18:22","nodeType":"YulFunctionCall","src":"421181:18:22"},"nativeSrc":"421181:18:22","nodeType":"YulExpressionStatement","src":"421181:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421219:4:22","nodeType":"YulLiteral","src":"421219:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"421225:4:22","nodeType":"YulLiteral","src":"421225:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"421212:6:22","nodeType":"YulIdentifier","src":"421212:6:22"},"nativeSrc":"421212:18:22","nodeType":"YulFunctionCall","src":"421212:18:22"},"nativeSrc":"421212:18:22","nodeType":"YulExpressionStatement","src":"421212:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421250:4:22","nodeType":"YulLiteral","src":"421250:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"421256:5:22","nodeType":"YulLiteral","src":"421256:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"421243:6:22","nodeType":"YulIdentifier","src":"421243:6:22"},"nativeSrc":"421243:19:22","nodeType":"YulFunctionCall","src":"421243:19:22"},"nativeSrc":"421243:19:22","nodeType":"YulExpressionStatement","src":"421243:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421282:4:22","nodeType":"YulLiteral","src":"421282:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"421288:2:22","nodeType":"YulIdentifier","src":"421288:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421275:6:22","nodeType":"YulIdentifier","src":"421275:6:22"},"nativeSrc":"421275:16:22","nodeType":"YulFunctionCall","src":"421275:16:22"},"nativeSrc":"421275:16:22","nodeType":"YulExpressionStatement","src":"421275:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421316:4:22","nodeType":"YulLiteral","src":"421316:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"421322:2:22","nodeType":"YulIdentifier","src":"421322:2:22"}],"functionName":{"name":"writeString","nativeSrc":"421304:11:22","nodeType":"YulIdentifier","src":"421304:11:22"},"nativeSrc":"421304:21:22","nodeType":"YulFunctionCall","src":"421304:21:22"},"nativeSrc":"421304:21:22","nodeType":"YulExpressionStatement","src":"421304:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421350:4:22","nodeType":"YulLiteral","src":"421350:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"421356:2:22","nodeType":"YulIdentifier","src":"421356:2:22"}],"functionName":{"name":"writeString","nativeSrc":"421338:11:22","nodeType":"YulIdentifier","src":"421338:11:22"},"nativeSrc":"421338:21:22","nodeType":"YulFunctionCall","src":"421338:21:22"},"nativeSrc":"421338:21:22","nodeType":"YulExpressionStatement","src":"421338:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421384:5:22","nodeType":"YulLiteral","src":"421384:5:22","type":"","value":"0x120"},{"name":"p2","nativeSrc":"421391:2:22","nodeType":"YulIdentifier","src":"421391:2:22"}],"functionName":{"name":"writeString","nativeSrc":"421372:11:22","nodeType":"YulIdentifier","src":"421372:11:22"},"nativeSrc":"421372:22:22","nodeType":"YulFunctionCall","src":"421372:22:22"},"nativeSrc":"421372:22:22","nodeType":"YulExpressionStatement","src":"421372:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44223,"isOffset":false,"isSlot":false,"src":"420746:2:22","valueSize":1},{"declaration":44226,"isOffset":false,"isSlot":false,"src":"420776:2:22","valueSize":1},{"declaration":44253,"isOffset":false,"isSlot":false,"src":"421048:3:22","valueSize":1},{"declaration":44229,"isOffset":false,"isSlot":false,"src":"420806:2:22","valueSize":1},{"declaration":44232,"isOffset":false,"isSlot":false,"src":"420836:2:22","valueSize":1},{"declaration":44235,"isOffset":false,"isSlot":false,"src":"420866:2:22","valueSize":1},{"declaration":44238,"isOffset":false,"isSlot":false,"src":"420896:2:22","valueSize":1},{"declaration":44241,"isOffset":false,"isSlot":false,"src":"420926:2:22","valueSize":1},{"declaration":44244,"isOffset":false,"isSlot":false,"src":"420956:2:22","valueSize":1},{"declaration":44247,"isOffset":false,"isSlot":false,"src":"420986:2:22","valueSize":1},{"declaration":44250,"isOffset":false,"isSlot":false,"src":"421017:2:22","valueSize":1},{"declaration":44213,"isOffset":false,"isSlot":false,"src":"421322:2:22","valueSize":1},{"declaration":44215,"isOffset":false,"isSlot":false,"src":"421356:2:22","valueSize":1},{"declaration":44217,"isOffset":false,"isSlot":false,"src":"421391:2:22","valueSize":1},{"declaration":44219,"isOffset":false,"isSlot":false,"src":"421288:2:22","valueSize":1}],"id":44255,"nodeType":"InlineAssembly","src":"420368:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421429:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":44258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421435:5:22","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":44256,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"421413:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"421413:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44260,"nodeType":"ExpressionStatement","src":"421413:28:22"},{"AST":{"nativeSrc":"421503:334:22","nodeType":"YulBlock","src":"421503:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"421524:4:22","nodeType":"YulLiteral","src":"421524:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"421530:2:22","nodeType":"YulIdentifier","src":"421530:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421517:6:22","nodeType":"YulIdentifier","src":"421517:6:22"},"nativeSrc":"421517:16:22","nodeType":"YulFunctionCall","src":"421517:16:22"},"nativeSrc":"421517:16:22","nodeType":"YulExpressionStatement","src":"421517:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421553:4:22","nodeType":"YulLiteral","src":"421553:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"421559:2:22","nodeType":"YulIdentifier","src":"421559:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421546:6:22","nodeType":"YulIdentifier","src":"421546:6:22"},"nativeSrc":"421546:16:22","nodeType":"YulFunctionCall","src":"421546:16:22"},"nativeSrc":"421546:16:22","nodeType":"YulExpressionStatement","src":"421546:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421582:4:22","nodeType":"YulLiteral","src":"421582:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"421588:2:22","nodeType":"YulIdentifier","src":"421588:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421575:6:22","nodeType":"YulIdentifier","src":"421575:6:22"},"nativeSrc":"421575:16:22","nodeType":"YulFunctionCall","src":"421575:16:22"},"nativeSrc":"421575:16:22","nodeType":"YulExpressionStatement","src":"421575:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421611:4:22","nodeType":"YulLiteral","src":"421611:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"421617:2:22","nodeType":"YulIdentifier","src":"421617:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421604:6:22","nodeType":"YulIdentifier","src":"421604:6:22"},"nativeSrc":"421604:16:22","nodeType":"YulFunctionCall","src":"421604:16:22"},"nativeSrc":"421604:16:22","nodeType":"YulExpressionStatement","src":"421604:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421640:4:22","nodeType":"YulLiteral","src":"421640:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"421646:2:22","nodeType":"YulIdentifier","src":"421646:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421633:6:22","nodeType":"YulIdentifier","src":"421633:6:22"},"nativeSrc":"421633:16:22","nodeType":"YulFunctionCall","src":"421633:16:22"},"nativeSrc":"421633:16:22","nodeType":"YulExpressionStatement","src":"421633:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421669:4:22","nodeType":"YulLiteral","src":"421669:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"421675:2:22","nodeType":"YulIdentifier","src":"421675:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421662:6:22","nodeType":"YulIdentifier","src":"421662:6:22"},"nativeSrc":"421662:16:22","nodeType":"YulFunctionCall","src":"421662:16:22"},"nativeSrc":"421662:16:22","nodeType":"YulExpressionStatement","src":"421662:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421698:4:22","nodeType":"YulLiteral","src":"421698:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"421704:2:22","nodeType":"YulIdentifier","src":"421704:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421691:6:22","nodeType":"YulIdentifier","src":"421691:6:22"},"nativeSrc":"421691:16:22","nodeType":"YulFunctionCall","src":"421691:16:22"},"nativeSrc":"421691:16:22","nodeType":"YulExpressionStatement","src":"421691:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421727:4:22","nodeType":"YulLiteral","src":"421727:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"421733:2:22","nodeType":"YulIdentifier","src":"421733:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421720:6:22","nodeType":"YulIdentifier","src":"421720:6:22"},"nativeSrc":"421720:16:22","nodeType":"YulFunctionCall","src":"421720:16:22"},"nativeSrc":"421720:16:22","nodeType":"YulExpressionStatement","src":"421720:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421756:5:22","nodeType":"YulLiteral","src":"421756:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"421763:2:22","nodeType":"YulIdentifier","src":"421763:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421749:6:22","nodeType":"YulIdentifier","src":"421749:6:22"},"nativeSrc":"421749:17:22","nodeType":"YulFunctionCall","src":"421749:17:22"},"nativeSrc":"421749:17:22","nodeType":"YulExpressionStatement","src":"421749:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421786:5:22","nodeType":"YulLiteral","src":"421786:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"421793:2:22","nodeType":"YulIdentifier","src":"421793:2:22"}],"functionName":{"name":"mstore","nativeSrc":"421779:6:22","nodeType":"YulIdentifier","src":"421779:6:22"},"nativeSrc":"421779:17:22","nodeType":"YulFunctionCall","src":"421779:17:22"},"nativeSrc":"421779:17:22","nodeType":"YulExpressionStatement","src":"421779:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421816:5:22","nodeType":"YulLiteral","src":"421816:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"421823:3:22","nodeType":"YulIdentifier","src":"421823:3:22"}],"functionName":{"name":"mstore","nativeSrc":"421809:6:22","nodeType":"YulIdentifier","src":"421809:6:22"},"nativeSrc":"421809:18:22","nodeType":"YulFunctionCall","src":"421809:18:22"},"nativeSrc":"421809:18:22","nodeType":"YulExpressionStatement","src":"421809:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44223,"isOffset":false,"isSlot":false,"src":"421530:2:22","valueSize":1},{"declaration":44226,"isOffset":false,"isSlot":false,"src":"421559:2:22","valueSize":1},{"declaration":44253,"isOffset":false,"isSlot":false,"src":"421823:3:22","valueSize":1},{"declaration":44229,"isOffset":false,"isSlot":false,"src":"421588:2:22","valueSize":1},{"declaration":44232,"isOffset":false,"isSlot":false,"src":"421617:2:22","valueSize":1},{"declaration":44235,"isOffset":false,"isSlot":false,"src":"421646:2:22","valueSize":1},{"declaration":44238,"isOffset":false,"isSlot":false,"src":"421675:2:22","valueSize":1},{"declaration":44241,"isOffset":false,"isSlot":false,"src":"421704:2:22","valueSize":1},{"declaration":44244,"isOffset":false,"isSlot":false,"src":"421733:2:22","valueSize":1},{"declaration":44247,"isOffset":false,"isSlot":false,"src":"421763:2:22","valueSize":1},{"declaration":44250,"isOffset":false,"isSlot":false,"src":"421793:2:22","valueSize":1}],"id":44261,"nodeType":"InlineAssembly","src":"421494:343:22"}]},"id":44263,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"420028:3:22","nodeType":"FunctionDefinition","parameters":{"id":44220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44213,"mutability":"mutable","name":"p0","nameLocation":"420040:2:22","nodeType":"VariableDeclaration","scope":44263,"src":"420032:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420032:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44215,"mutability":"mutable","name":"p1","nameLocation":"420052:2:22","nodeType":"VariableDeclaration","scope":44263,"src":"420044:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420044:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44217,"mutability":"mutable","name":"p2","nameLocation":"420064:2:22","nodeType":"VariableDeclaration","scope":44263,"src":"420056:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420056:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44219,"mutability":"mutable","name":"p3","nameLocation":"420076:2:22","nodeType":"VariableDeclaration","scope":44263,"src":"420068:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44218,"name":"address","nodeType":"ElementaryTypeName","src":"420068:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"420031:48:22"},"returnParameters":{"id":44221,"nodeType":"ParameterList","parameters":[],"src":"420094:0:22"},"scope":44426,"src":"420019:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44314,"nodeType":"Block","src":"421921:1746:22","statements":[{"assignments":[44275],"declarations":[{"constant":false,"id":44275,"mutability":"mutable","name":"m0","nameLocation":"421939:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"421931:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421931:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44276,"nodeType":"VariableDeclarationStatement","src":"421931:10:22"},{"assignments":[44278],"declarations":[{"constant":false,"id":44278,"mutability":"mutable","name":"m1","nameLocation":"421959:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"421951:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421951:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44279,"nodeType":"VariableDeclarationStatement","src":"421951:10:22"},{"assignments":[44281],"declarations":[{"constant":false,"id":44281,"mutability":"mutable","name":"m2","nameLocation":"421979:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"421971:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421971:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44282,"nodeType":"VariableDeclarationStatement","src":"421971:10:22"},{"assignments":[44284],"declarations":[{"constant":false,"id":44284,"mutability":"mutable","name":"m3","nameLocation":"421999:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"421991:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421991:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44285,"nodeType":"VariableDeclarationStatement","src":"421991:10:22"},{"assignments":[44287],"declarations":[{"constant":false,"id":44287,"mutability":"mutable","name":"m4","nameLocation":"422019:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422011:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422011:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44288,"nodeType":"VariableDeclarationStatement","src":"422011:10:22"},{"assignments":[44290],"declarations":[{"constant":false,"id":44290,"mutability":"mutable","name":"m5","nameLocation":"422039:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422031:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422031:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44291,"nodeType":"VariableDeclarationStatement","src":"422031:10:22"},{"assignments":[44293],"declarations":[{"constant":false,"id":44293,"mutability":"mutable","name":"m6","nameLocation":"422059:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422051:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422051:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44294,"nodeType":"VariableDeclarationStatement","src":"422051:10:22"},{"assignments":[44296],"declarations":[{"constant":false,"id":44296,"mutability":"mutable","name":"m7","nameLocation":"422079:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422071:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422071:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44297,"nodeType":"VariableDeclarationStatement","src":"422071:10:22"},{"assignments":[44299],"declarations":[{"constant":false,"id":44299,"mutability":"mutable","name":"m8","nameLocation":"422099:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422091:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422091:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44300,"nodeType":"VariableDeclarationStatement","src":"422091:10:22"},{"assignments":[44302],"declarations":[{"constant":false,"id":44302,"mutability":"mutable","name":"m9","nameLocation":"422119:2:22","nodeType":"VariableDeclaration","scope":44314,"src":"422111:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422111:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44303,"nodeType":"VariableDeclarationStatement","src":"422111:10:22"},{"assignments":[44305],"declarations":[{"constant":false,"id":44305,"mutability":"mutable","name":"m10","nameLocation":"422139:3:22","nodeType":"VariableDeclaration","scope":44314,"src":"422131:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422131:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44306,"nodeType":"VariableDeclarationStatement","src":"422131:11:22"},{"AST":{"nativeSrc":"422204:1024:22","nodeType":"YulBlock","src":"422204:1024:22","statements":[{"body":{"nativeSrc":"422247:313:22","nodeType":"YulBlock","src":"422247:313:22","statements":[{"nativeSrc":"422265:15:22","nodeType":"YulVariableDeclaration","src":"422265:15:22","value":{"kind":"number","nativeSrc":"422279:1:22","nodeType":"YulLiteral","src":"422279:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"422269:6:22","nodeType":"YulTypedName","src":"422269:6:22","type":""}]},{"body":{"nativeSrc":"422350:40:22","nodeType":"YulBlock","src":"422350:40:22","statements":[{"body":{"nativeSrc":"422379:9:22","nodeType":"YulBlock","src":"422379:9:22","statements":[{"nativeSrc":"422381:5:22","nodeType":"YulBreak","src":"422381:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"422367:6:22","nodeType":"YulIdentifier","src":"422367:6:22"},{"name":"w","nativeSrc":"422375:1:22","nodeType":"YulIdentifier","src":"422375:1:22"}],"functionName":{"name":"byte","nativeSrc":"422362:4:22","nodeType":"YulIdentifier","src":"422362:4:22"},"nativeSrc":"422362:15:22","nodeType":"YulFunctionCall","src":"422362:15:22"}],"functionName":{"name":"iszero","nativeSrc":"422355:6:22","nodeType":"YulIdentifier","src":"422355:6:22"},"nativeSrc":"422355:23:22","nodeType":"YulFunctionCall","src":"422355:23:22"},"nativeSrc":"422352:36:22","nodeType":"YulIf","src":"422352:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"422307:6:22","nodeType":"YulIdentifier","src":"422307:6:22"},{"kind":"number","nativeSrc":"422315:4:22","nodeType":"YulLiteral","src":"422315:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"422304:2:22","nodeType":"YulIdentifier","src":"422304:2:22"},"nativeSrc":"422304:16:22","nodeType":"YulFunctionCall","src":"422304:16:22"},"nativeSrc":"422297:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"422321:28:22","nodeType":"YulBlock","src":"422321:28:22","statements":[{"nativeSrc":"422323:24:22","nodeType":"YulAssignment","src":"422323:24:22","value":{"arguments":[{"name":"length","nativeSrc":"422337:6:22","nodeType":"YulIdentifier","src":"422337:6:22"},{"kind":"number","nativeSrc":"422345:1:22","nodeType":"YulLiteral","src":"422345:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"422333:3:22","nodeType":"YulIdentifier","src":"422333:3:22"},"nativeSrc":"422333:14:22","nodeType":"YulFunctionCall","src":"422333:14:22"},"variableNames":[{"name":"length","nativeSrc":"422323:6:22","nodeType":"YulIdentifier","src":"422323:6:22"}]}]},"pre":{"nativeSrc":"422301:2:22","nodeType":"YulBlock","src":"422301:2:22","statements":[]},"src":"422297:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"422414:3:22","nodeType":"YulIdentifier","src":"422414:3:22"},{"name":"length","nativeSrc":"422419:6:22","nodeType":"YulIdentifier","src":"422419:6:22"}],"functionName":{"name":"mstore","nativeSrc":"422407:6:22","nodeType":"YulIdentifier","src":"422407:6:22"},"nativeSrc":"422407:19:22","nodeType":"YulFunctionCall","src":"422407:19:22"},"nativeSrc":"422407:19:22","nodeType":"YulExpressionStatement","src":"422407:19:22"},{"nativeSrc":"422443:37:22","nodeType":"YulVariableDeclaration","src":"422443:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"422460:3:22","nodeType":"YulLiteral","src":"422460:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"422469:1:22","nodeType":"YulLiteral","src":"422469:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"422472:6:22","nodeType":"YulIdentifier","src":"422472:6:22"}],"functionName":{"name":"shl","nativeSrc":"422465:3:22","nodeType":"YulIdentifier","src":"422465:3:22"},"nativeSrc":"422465:14:22","nodeType":"YulFunctionCall","src":"422465:14:22"}],"functionName":{"name":"sub","nativeSrc":"422456:3:22","nodeType":"YulIdentifier","src":"422456:3:22"},"nativeSrc":"422456:24:22","nodeType":"YulFunctionCall","src":"422456:24:22"},"variables":[{"name":"shift","nativeSrc":"422447:5:22","nodeType":"YulTypedName","src":"422447:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"422508:3:22","nodeType":"YulIdentifier","src":"422508:3:22"},{"kind":"number","nativeSrc":"422513:4:22","nodeType":"YulLiteral","src":"422513:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"422504:3:22","nodeType":"YulIdentifier","src":"422504:3:22"},"nativeSrc":"422504:14:22","nodeType":"YulFunctionCall","src":"422504:14:22"},{"arguments":[{"name":"shift","nativeSrc":"422524:5:22","nodeType":"YulIdentifier","src":"422524:5:22"},{"arguments":[{"name":"shift","nativeSrc":"422535:5:22","nodeType":"YulIdentifier","src":"422535:5:22"},{"name":"w","nativeSrc":"422542:1:22","nodeType":"YulIdentifier","src":"422542:1:22"}],"functionName":{"name":"shr","nativeSrc":"422531:3:22","nodeType":"YulIdentifier","src":"422531:3:22"},"nativeSrc":"422531:13:22","nodeType":"YulFunctionCall","src":"422531:13:22"}],"functionName":{"name":"shl","nativeSrc":"422520:3:22","nodeType":"YulIdentifier","src":"422520:3:22"},"nativeSrc":"422520:25:22","nodeType":"YulFunctionCall","src":"422520:25:22"}],"functionName":{"name":"mstore","nativeSrc":"422497:6:22","nodeType":"YulIdentifier","src":"422497:6:22"},"nativeSrc":"422497:49:22","nodeType":"YulFunctionCall","src":"422497:49:22"},"nativeSrc":"422497:49:22","nodeType":"YulExpressionStatement","src":"422497:49:22"}]},"name":"writeString","nativeSrc":"422218:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"422239:3:22","nodeType":"YulTypedName","src":"422239:3:22","type":""},{"name":"w","nativeSrc":"422244:1:22","nodeType":"YulTypedName","src":"422244:1:22","type":""}],"src":"422218:342:22"},{"nativeSrc":"422573:17:22","nodeType":"YulAssignment","src":"422573:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422585:4:22","nodeType":"YulLiteral","src":"422585:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"422579:5:22","nodeType":"YulIdentifier","src":"422579:5:22"},"nativeSrc":"422579:11:22","nodeType":"YulFunctionCall","src":"422579:11:22"},"variableNames":[{"name":"m0","nativeSrc":"422573:2:22","nodeType":"YulIdentifier","src":"422573:2:22"}]},{"nativeSrc":"422603:17:22","nodeType":"YulAssignment","src":"422603:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422615:4:22","nodeType":"YulLiteral","src":"422615:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"422609:5:22","nodeType":"YulIdentifier","src":"422609:5:22"},"nativeSrc":"422609:11:22","nodeType":"YulFunctionCall","src":"422609:11:22"},"variableNames":[{"name":"m1","nativeSrc":"422603:2:22","nodeType":"YulIdentifier","src":"422603:2:22"}]},{"nativeSrc":"422633:17:22","nodeType":"YulAssignment","src":"422633:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422645:4:22","nodeType":"YulLiteral","src":"422645:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"422639:5:22","nodeType":"YulIdentifier","src":"422639:5:22"},"nativeSrc":"422639:11:22","nodeType":"YulFunctionCall","src":"422639:11:22"},"variableNames":[{"name":"m2","nativeSrc":"422633:2:22","nodeType":"YulIdentifier","src":"422633:2:22"}]},{"nativeSrc":"422663:17:22","nodeType":"YulAssignment","src":"422663:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422675:4:22","nodeType":"YulLiteral","src":"422675:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"422669:5:22","nodeType":"YulIdentifier","src":"422669:5:22"},"nativeSrc":"422669:11:22","nodeType":"YulFunctionCall","src":"422669:11:22"},"variableNames":[{"name":"m3","nativeSrc":"422663:2:22","nodeType":"YulIdentifier","src":"422663:2:22"}]},{"nativeSrc":"422693:17:22","nodeType":"YulAssignment","src":"422693:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422705:4:22","nodeType":"YulLiteral","src":"422705:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"422699:5:22","nodeType":"YulIdentifier","src":"422699:5:22"},"nativeSrc":"422699:11:22","nodeType":"YulFunctionCall","src":"422699:11:22"},"variableNames":[{"name":"m4","nativeSrc":"422693:2:22","nodeType":"YulIdentifier","src":"422693:2:22"}]},{"nativeSrc":"422723:17:22","nodeType":"YulAssignment","src":"422723:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422735:4:22","nodeType":"YulLiteral","src":"422735:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"422729:5:22","nodeType":"YulIdentifier","src":"422729:5:22"},"nativeSrc":"422729:11:22","nodeType":"YulFunctionCall","src":"422729:11:22"},"variableNames":[{"name":"m5","nativeSrc":"422723:2:22","nodeType":"YulIdentifier","src":"422723:2:22"}]},{"nativeSrc":"422753:17:22","nodeType":"YulAssignment","src":"422753:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422765:4:22","nodeType":"YulLiteral","src":"422765:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"422759:5:22","nodeType":"YulIdentifier","src":"422759:5:22"},"nativeSrc":"422759:11:22","nodeType":"YulFunctionCall","src":"422759:11:22"},"variableNames":[{"name":"m6","nativeSrc":"422753:2:22","nodeType":"YulIdentifier","src":"422753:2:22"}]},{"nativeSrc":"422783:17:22","nodeType":"YulAssignment","src":"422783:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"422795:4:22","nodeType":"YulLiteral","src":"422795:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"422789:5:22","nodeType":"YulIdentifier","src":"422789:5:22"},"nativeSrc":"422789:11:22","nodeType":"YulFunctionCall","src":"422789:11:22"},"variableNames":[{"name":"m7","nativeSrc":"422783:2:22","nodeType":"YulIdentifier","src":"422783:2:22"}]},{"nativeSrc":"422813:18:22","nodeType":"YulAssignment","src":"422813:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"422825:5:22","nodeType":"YulLiteral","src":"422825:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"422819:5:22","nodeType":"YulIdentifier","src":"422819:5:22"},"nativeSrc":"422819:12:22","nodeType":"YulFunctionCall","src":"422819:12:22"},"variableNames":[{"name":"m8","nativeSrc":"422813:2:22","nodeType":"YulIdentifier","src":"422813:2:22"}]},{"nativeSrc":"422844:18:22","nodeType":"YulAssignment","src":"422844:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"422856:5:22","nodeType":"YulLiteral","src":"422856:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"422850:5:22","nodeType":"YulIdentifier","src":"422850:5:22"},"nativeSrc":"422850:12:22","nodeType":"YulFunctionCall","src":"422850:12:22"},"variableNames":[{"name":"m9","nativeSrc":"422844:2:22","nodeType":"YulIdentifier","src":"422844:2:22"}]},{"nativeSrc":"422875:19:22","nodeType":"YulAssignment","src":"422875:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"422888:5:22","nodeType":"YulLiteral","src":"422888:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"422882:5:22","nodeType":"YulIdentifier","src":"422882:5:22"},"nativeSrc":"422882:12:22","nodeType":"YulFunctionCall","src":"422882:12:22"},"variableNames":[{"name":"m10","nativeSrc":"422875:3:22","nodeType":"YulIdentifier","src":"422875:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"422975:4:22","nodeType":"YulLiteral","src":"422975:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"422981:10:22","nodeType":"YulLiteral","src":"422981:10:22","type":"","value":"0x2c1754ed"}],"functionName":{"name":"mstore","nativeSrc":"422968:6:22","nodeType":"YulIdentifier","src":"422968:6:22"},"nativeSrc":"422968:24:22","nodeType":"YulFunctionCall","src":"422968:24:22"},"nativeSrc":"422968:24:22","nodeType":"YulExpressionStatement","src":"422968:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423012:4:22","nodeType":"YulLiteral","src":"423012:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"423018:4:22","nodeType":"YulLiteral","src":"423018:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"423005:6:22","nodeType":"YulIdentifier","src":"423005:6:22"},"nativeSrc":"423005:18:22","nodeType":"YulFunctionCall","src":"423005:18:22"},"nativeSrc":"423005:18:22","nodeType":"YulExpressionStatement","src":"423005:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423043:4:22","nodeType":"YulLiteral","src":"423043:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"423049:4:22","nodeType":"YulLiteral","src":"423049:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"423036:6:22","nodeType":"YulIdentifier","src":"423036:6:22"},"nativeSrc":"423036:18:22","nodeType":"YulFunctionCall","src":"423036:18:22"},"nativeSrc":"423036:18:22","nodeType":"YulExpressionStatement","src":"423036:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423074:4:22","nodeType":"YulLiteral","src":"423074:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"423080:5:22","nodeType":"YulLiteral","src":"423080:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"423067:6:22","nodeType":"YulIdentifier","src":"423067:6:22"},"nativeSrc":"423067:19:22","nodeType":"YulFunctionCall","src":"423067:19:22"},"nativeSrc":"423067:19:22","nodeType":"YulExpressionStatement","src":"423067:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423106:4:22","nodeType":"YulLiteral","src":"423106:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"423112:2:22","nodeType":"YulIdentifier","src":"423112:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423099:6:22","nodeType":"YulIdentifier","src":"423099:6:22"},"nativeSrc":"423099:16:22","nodeType":"YulFunctionCall","src":"423099:16:22"},"nativeSrc":"423099:16:22","nodeType":"YulExpressionStatement","src":"423099:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423140:4:22","nodeType":"YulLiteral","src":"423140:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"423146:2:22","nodeType":"YulIdentifier","src":"423146:2:22"}],"functionName":{"name":"writeString","nativeSrc":"423128:11:22","nodeType":"YulIdentifier","src":"423128:11:22"},"nativeSrc":"423128:21:22","nodeType":"YulFunctionCall","src":"423128:21:22"},"nativeSrc":"423128:21:22","nodeType":"YulExpressionStatement","src":"423128:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423174:4:22","nodeType":"YulLiteral","src":"423174:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"423180:2:22","nodeType":"YulIdentifier","src":"423180:2:22"}],"functionName":{"name":"writeString","nativeSrc":"423162:11:22","nodeType":"YulIdentifier","src":"423162:11:22"},"nativeSrc":"423162:21:22","nodeType":"YulFunctionCall","src":"423162:21:22"},"nativeSrc":"423162:21:22","nodeType":"YulExpressionStatement","src":"423162:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423208:5:22","nodeType":"YulLiteral","src":"423208:5:22","type":"","value":"0x120"},{"name":"p2","nativeSrc":"423215:2:22","nodeType":"YulIdentifier","src":"423215:2:22"}],"functionName":{"name":"writeString","nativeSrc":"423196:11:22","nodeType":"YulIdentifier","src":"423196:11:22"},"nativeSrc":"423196:22:22","nodeType":"YulFunctionCall","src":"423196:22:22"},"nativeSrc":"423196:22:22","nodeType":"YulExpressionStatement","src":"423196:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44275,"isOffset":false,"isSlot":false,"src":"422573:2:22","valueSize":1},{"declaration":44278,"isOffset":false,"isSlot":false,"src":"422603:2:22","valueSize":1},{"declaration":44305,"isOffset":false,"isSlot":false,"src":"422875:3:22","valueSize":1},{"declaration":44281,"isOffset":false,"isSlot":false,"src":"422633:2:22","valueSize":1},{"declaration":44284,"isOffset":false,"isSlot":false,"src":"422663:2:22","valueSize":1},{"declaration":44287,"isOffset":false,"isSlot":false,"src":"422693:2:22","valueSize":1},{"declaration":44290,"isOffset":false,"isSlot":false,"src":"422723:2:22","valueSize":1},{"declaration":44293,"isOffset":false,"isSlot":false,"src":"422753:2:22","valueSize":1},{"declaration":44296,"isOffset":false,"isSlot":false,"src":"422783:2:22","valueSize":1},{"declaration":44299,"isOffset":false,"isSlot":false,"src":"422813:2:22","valueSize":1},{"declaration":44302,"isOffset":false,"isSlot":false,"src":"422844:2:22","valueSize":1},{"declaration":44265,"isOffset":false,"isSlot":false,"src":"423146:2:22","valueSize":1},{"declaration":44267,"isOffset":false,"isSlot":false,"src":"423180:2:22","valueSize":1},{"declaration":44269,"isOffset":false,"isSlot":false,"src":"423215:2:22","valueSize":1},{"declaration":44271,"isOffset":false,"isSlot":false,"src":"423112:2:22","valueSize":1}],"id":44307,"nodeType":"InlineAssembly","src":"422195:1033:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423253:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":44310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423259:5:22","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":44308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"423237:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"423237:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44312,"nodeType":"ExpressionStatement","src":"423237:28:22"},{"AST":{"nativeSrc":"423327:334:22","nodeType":"YulBlock","src":"423327:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"423348:4:22","nodeType":"YulLiteral","src":"423348:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"423354:2:22","nodeType":"YulIdentifier","src":"423354:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423341:6:22","nodeType":"YulIdentifier","src":"423341:6:22"},"nativeSrc":"423341:16:22","nodeType":"YulFunctionCall","src":"423341:16:22"},"nativeSrc":"423341:16:22","nodeType":"YulExpressionStatement","src":"423341:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423377:4:22","nodeType":"YulLiteral","src":"423377:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"423383:2:22","nodeType":"YulIdentifier","src":"423383:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423370:6:22","nodeType":"YulIdentifier","src":"423370:6:22"},"nativeSrc":"423370:16:22","nodeType":"YulFunctionCall","src":"423370:16:22"},"nativeSrc":"423370:16:22","nodeType":"YulExpressionStatement","src":"423370:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423406:4:22","nodeType":"YulLiteral","src":"423406:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"423412:2:22","nodeType":"YulIdentifier","src":"423412:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423399:6:22","nodeType":"YulIdentifier","src":"423399:6:22"},"nativeSrc":"423399:16:22","nodeType":"YulFunctionCall","src":"423399:16:22"},"nativeSrc":"423399:16:22","nodeType":"YulExpressionStatement","src":"423399:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423435:4:22","nodeType":"YulLiteral","src":"423435:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"423441:2:22","nodeType":"YulIdentifier","src":"423441:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423428:6:22","nodeType":"YulIdentifier","src":"423428:6:22"},"nativeSrc":"423428:16:22","nodeType":"YulFunctionCall","src":"423428:16:22"},"nativeSrc":"423428:16:22","nodeType":"YulExpressionStatement","src":"423428:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423464:4:22","nodeType":"YulLiteral","src":"423464:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"423470:2:22","nodeType":"YulIdentifier","src":"423470:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423457:6:22","nodeType":"YulIdentifier","src":"423457:6:22"},"nativeSrc":"423457:16:22","nodeType":"YulFunctionCall","src":"423457:16:22"},"nativeSrc":"423457:16:22","nodeType":"YulExpressionStatement","src":"423457:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423493:4:22","nodeType":"YulLiteral","src":"423493:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"423499:2:22","nodeType":"YulIdentifier","src":"423499:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423486:6:22","nodeType":"YulIdentifier","src":"423486:6:22"},"nativeSrc":"423486:16:22","nodeType":"YulFunctionCall","src":"423486:16:22"},"nativeSrc":"423486:16:22","nodeType":"YulExpressionStatement","src":"423486:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423522:4:22","nodeType":"YulLiteral","src":"423522:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"423528:2:22","nodeType":"YulIdentifier","src":"423528:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423515:6:22","nodeType":"YulIdentifier","src":"423515:6:22"},"nativeSrc":"423515:16:22","nodeType":"YulFunctionCall","src":"423515:16:22"},"nativeSrc":"423515:16:22","nodeType":"YulExpressionStatement","src":"423515:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423551:4:22","nodeType":"YulLiteral","src":"423551:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"423557:2:22","nodeType":"YulIdentifier","src":"423557:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423544:6:22","nodeType":"YulIdentifier","src":"423544:6:22"},"nativeSrc":"423544:16:22","nodeType":"YulFunctionCall","src":"423544:16:22"},"nativeSrc":"423544:16:22","nodeType":"YulExpressionStatement","src":"423544:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423580:5:22","nodeType":"YulLiteral","src":"423580:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"423587:2:22","nodeType":"YulIdentifier","src":"423587:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423573:6:22","nodeType":"YulIdentifier","src":"423573:6:22"},"nativeSrc":"423573:17:22","nodeType":"YulFunctionCall","src":"423573:17:22"},"nativeSrc":"423573:17:22","nodeType":"YulExpressionStatement","src":"423573:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423610:5:22","nodeType":"YulLiteral","src":"423610:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"423617:2:22","nodeType":"YulIdentifier","src":"423617:2:22"}],"functionName":{"name":"mstore","nativeSrc":"423603:6:22","nodeType":"YulIdentifier","src":"423603:6:22"},"nativeSrc":"423603:17:22","nodeType":"YulFunctionCall","src":"423603:17:22"},"nativeSrc":"423603:17:22","nodeType":"YulExpressionStatement","src":"423603:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423640:5:22","nodeType":"YulLiteral","src":"423640:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"423647:3:22","nodeType":"YulIdentifier","src":"423647:3:22"}],"functionName":{"name":"mstore","nativeSrc":"423633:6:22","nodeType":"YulIdentifier","src":"423633:6:22"},"nativeSrc":"423633:18:22","nodeType":"YulFunctionCall","src":"423633:18:22"},"nativeSrc":"423633:18:22","nodeType":"YulExpressionStatement","src":"423633:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44275,"isOffset":false,"isSlot":false,"src":"423354:2:22","valueSize":1},{"declaration":44278,"isOffset":false,"isSlot":false,"src":"423383:2:22","valueSize":1},{"declaration":44305,"isOffset":false,"isSlot":false,"src":"423647:3:22","valueSize":1},{"declaration":44281,"isOffset":false,"isSlot":false,"src":"423412:2:22","valueSize":1},{"declaration":44284,"isOffset":false,"isSlot":false,"src":"423441:2:22","valueSize":1},{"declaration":44287,"isOffset":false,"isSlot":false,"src":"423470:2:22","valueSize":1},{"declaration":44290,"isOffset":false,"isSlot":false,"src":"423499:2:22","valueSize":1},{"declaration":44293,"isOffset":false,"isSlot":false,"src":"423528:2:22","valueSize":1},{"declaration":44296,"isOffset":false,"isSlot":false,"src":"423557:2:22","valueSize":1},{"declaration":44299,"isOffset":false,"isSlot":false,"src":"423587:2:22","valueSize":1},{"declaration":44302,"isOffset":false,"isSlot":false,"src":"423617:2:22","valueSize":1}],"id":44313,"nodeType":"InlineAssembly","src":"423318:343:22"}]},"id":44315,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"421858:3:22","nodeType":"FunctionDefinition","parameters":{"id":44272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44265,"mutability":"mutable","name":"p0","nameLocation":"421870:2:22","nodeType":"VariableDeclaration","scope":44315,"src":"421862:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421862:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44267,"mutability":"mutable","name":"p1","nameLocation":"421882:2:22","nodeType":"VariableDeclaration","scope":44315,"src":"421874:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421874:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44269,"mutability":"mutable","name":"p2","nameLocation":"421894:2:22","nodeType":"VariableDeclaration","scope":44315,"src":"421886:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421886:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44271,"mutability":"mutable","name":"p3","nameLocation":"421903:2:22","nodeType":"VariableDeclaration","scope":44315,"src":"421898:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44270,"name":"bool","nodeType":"ElementaryTypeName","src":"421898:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"421861:45:22"},"returnParameters":{"id":44273,"nodeType":"ParameterList","parameters":[],"src":"421921:0:22"},"scope":44426,"src":"421849:1818:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44366,"nodeType":"Block","src":"423748:1749:22","statements":[{"assignments":[44327],"declarations":[{"constant":false,"id":44327,"mutability":"mutable","name":"m0","nameLocation":"423766:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423758:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423758:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44328,"nodeType":"VariableDeclarationStatement","src":"423758:10:22"},{"assignments":[44330],"declarations":[{"constant":false,"id":44330,"mutability":"mutable","name":"m1","nameLocation":"423786:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423778:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423778:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44331,"nodeType":"VariableDeclarationStatement","src":"423778:10:22"},{"assignments":[44333],"declarations":[{"constant":false,"id":44333,"mutability":"mutable","name":"m2","nameLocation":"423806:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423798:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423798:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44334,"nodeType":"VariableDeclarationStatement","src":"423798:10:22"},{"assignments":[44336],"declarations":[{"constant":false,"id":44336,"mutability":"mutable","name":"m3","nameLocation":"423826:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423818:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423818:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44337,"nodeType":"VariableDeclarationStatement","src":"423818:10:22"},{"assignments":[44339],"declarations":[{"constant":false,"id":44339,"mutability":"mutable","name":"m4","nameLocation":"423846:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423838:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423838:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44340,"nodeType":"VariableDeclarationStatement","src":"423838:10:22"},{"assignments":[44342],"declarations":[{"constant":false,"id":44342,"mutability":"mutable","name":"m5","nameLocation":"423866:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423858:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423858:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44343,"nodeType":"VariableDeclarationStatement","src":"423858:10:22"},{"assignments":[44345],"declarations":[{"constant":false,"id":44345,"mutability":"mutable","name":"m6","nameLocation":"423886:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423878:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423878:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44346,"nodeType":"VariableDeclarationStatement","src":"423878:10:22"},{"assignments":[44348],"declarations":[{"constant":false,"id":44348,"mutability":"mutable","name":"m7","nameLocation":"423906:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423898:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423898:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44349,"nodeType":"VariableDeclarationStatement","src":"423898:10:22"},{"assignments":[44351],"declarations":[{"constant":false,"id":44351,"mutability":"mutable","name":"m8","nameLocation":"423926:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423918:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423918:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44352,"nodeType":"VariableDeclarationStatement","src":"423918:10:22"},{"assignments":[44354],"declarations":[{"constant":false,"id":44354,"mutability":"mutable","name":"m9","nameLocation":"423946:2:22","nodeType":"VariableDeclaration","scope":44366,"src":"423938:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423938:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44355,"nodeType":"VariableDeclarationStatement","src":"423938:10:22"},{"assignments":[44357],"declarations":[{"constant":false,"id":44357,"mutability":"mutable","name":"m10","nameLocation":"423966:3:22","nodeType":"VariableDeclaration","scope":44366,"src":"423958:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423958:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44358,"nodeType":"VariableDeclarationStatement","src":"423958:11:22"},{"AST":{"nativeSrc":"424031:1027:22","nodeType":"YulBlock","src":"424031:1027:22","statements":[{"body":{"nativeSrc":"424074:313:22","nodeType":"YulBlock","src":"424074:313:22","statements":[{"nativeSrc":"424092:15:22","nodeType":"YulVariableDeclaration","src":"424092:15:22","value":{"kind":"number","nativeSrc":"424106:1:22","nodeType":"YulLiteral","src":"424106:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"424096:6:22","nodeType":"YulTypedName","src":"424096:6:22","type":""}]},{"body":{"nativeSrc":"424177:40:22","nodeType":"YulBlock","src":"424177:40:22","statements":[{"body":{"nativeSrc":"424206:9:22","nodeType":"YulBlock","src":"424206:9:22","statements":[{"nativeSrc":"424208:5:22","nodeType":"YulBreak","src":"424208:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"424194:6:22","nodeType":"YulIdentifier","src":"424194:6:22"},{"name":"w","nativeSrc":"424202:1:22","nodeType":"YulIdentifier","src":"424202:1:22"}],"functionName":{"name":"byte","nativeSrc":"424189:4:22","nodeType":"YulIdentifier","src":"424189:4:22"},"nativeSrc":"424189:15:22","nodeType":"YulFunctionCall","src":"424189:15:22"}],"functionName":{"name":"iszero","nativeSrc":"424182:6:22","nodeType":"YulIdentifier","src":"424182:6:22"},"nativeSrc":"424182:23:22","nodeType":"YulFunctionCall","src":"424182:23:22"},"nativeSrc":"424179:36:22","nodeType":"YulIf","src":"424179:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"424134:6:22","nodeType":"YulIdentifier","src":"424134:6:22"},{"kind":"number","nativeSrc":"424142:4:22","nodeType":"YulLiteral","src":"424142:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"424131:2:22","nodeType":"YulIdentifier","src":"424131:2:22"},"nativeSrc":"424131:16:22","nodeType":"YulFunctionCall","src":"424131:16:22"},"nativeSrc":"424124:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"424148:28:22","nodeType":"YulBlock","src":"424148:28:22","statements":[{"nativeSrc":"424150:24:22","nodeType":"YulAssignment","src":"424150:24:22","value":{"arguments":[{"name":"length","nativeSrc":"424164:6:22","nodeType":"YulIdentifier","src":"424164:6:22"},{"kind":"number","nativeSrc":"424172:1:22","nodeType":"YulLiteral","src":"424172:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"424160:3:22","nodeType":"YulIdentifier","src":"424160:3:22"},"nativeSrc":"424160:14:22","nodeType":"YulFunctionCall","src":"424160:14:22"},"variableNames":[{"name":"length","nativeSrc":"424150:6:22","nodeType":"YulIdentifier","src":"424150:6:22"}]}]},"pre":{"nativeSrc":"424128:2:22","nodeType":"YulBlock","src":"424128:2:22","statements":[]},"src":"424124:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"424241:3:22","nodeType":"YulIdentifier","src":"424241:3:22"},{"name":"length","nativeSrc":"424246:6:22","nodeType":"YulIdentifier","src":"424246:6:22"}],"functionName":{"name":"mstore","nativeSrc":"424234:6:22","nodeType":"YulIdentifier","src":"424234:6:22"},"nativeSrc":"424234:19:22","nodeType":"YulFunctionCall","src":"424234:19:22"},"nativeSrc":"424234:19:22","nodeType":"YulExpressionStatement","src":"424234:19:22"},{"nativeSrc":"424270:37:22","nodeType":"YulVariableDeclaration","src":"424270:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"424287:3:22","nodeType":"YulLiteral","src":"424287:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"424296:1:22","nodeType":"YulLiteral","src":"424296:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"424299:6:22","nodeType":"YulIdentifier","src":"424299:6:22"}],"functionName":{"name":"shl","nativeSrc":"424292:3:22","nodeType":"YulIdentifier","src":"424292:3:22"},"nativeSrc":"424292:14:22","nodeType":"YulFunctionCall","src":"424292:14:22"}],"functionName":{"name":"sub","nativeSrc":"424283:3:22","nodeType":"YulIdentifier","src":"424283:3:22"},"nativeSrc":"424283:24:22","nodeType":"YulFunctionCall","src":"424283:24:22"},"variables":[{"name":"shift","nativeSrc":"424274:5:22","nodeType":"YulTypedName","src":"424274:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"424335:3:22","nodeType":"YulIdentifier","src":"424335:3:22"},{"kind":"number","nativeSrc":"424340:4:22","nodeType":"YulLiteral","src":"424340:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"424331:3:22","nodeType":"YulIdentifier","src":"424331:3:22"},"nativeSrc":"424331:14:22","nodeType":"YulFunctionCall","src":"424331:14:22"},{"arguments":[{"name":"shift","nativeSrc":"424351:5:22","nodeType":"YulIdentifier","src":"424351:5:22"},{"arguments":[{"name":"shift","nativeSrc":"424362:5:22","nodeType":"YulIdentifier","src":"424362:5:22"},{"name":"w","nativeSrc":"424369:1:22","nodeType":"YulIdentifier","src":"424369:1:22"}],"functionName":{"name":"shr","nativeSrc":"424358:3:22","nodeType":"YulIdentifier","src":"424358:3:22"},"nativeSrc":"424358:13:22","nodeType":"YulFunctionCall","src":"424358:13:22"}],"functionName":{"name":"shl","nativeSrc":"424347:3:22","nodeType":"YulIdentifier","src":"424347:3:22"},"nativeSrc":"424347:25:22","nodeType":"YulFunctionCall","src":"424347:25:22"}],"functionName":{"name":"mstore","nativeSrc":"424324:6:22","nodeType":"YulIdentifier","src":"424324:6:22"},"nativeSrc":"424324:49:22","nodeType":"YulFunctionCall","src":"424324:49:22"},"nativeSrc":"424324:49:22","nodeType":"YulExpressionStatement","src":"424324:49:22"}]},"name":"writeString","nativeSrc":"424045:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"424066:3:22","nodeType":"YulTypedName","src":"424066:3:22","type":""},{"name":"w","nativeSrc":"424071:1:22","nodeType":"YulTypedName","src":"424071:1:22","type":""}],"src":"424045:342:22"},{"nativeSrc":"424400:17:22","nodeType":"YulAssignment","src":"424400:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424412:4:22","nodeType":"YulLiteral","src":"424412:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"424406:5:22","nodeType":"YulIdentifier","src":"424406:5:22"},"nativeSrc":"424406:11:22","nodeType":"YulFunctionCall","src":"424406:11:22"},"variableNames":[{"name":"m0","nativeSrc":"424400:2:22","nodeType":"YulIdentifier","src":"424400:2:22"}]},{"nativeSrc":"424430:17:22","nodeType":"YulAssignment","src":"424430:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424442:4:22","nodeType":"YulLiteral","src":"424442:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"424436:5:22","nodeType":"YulIdentifier","src":"424436:5:22"},"nativeSrc":"424436:11:22","nodeType":"YulFunctionCall","src":"424436:11:22"},"variableNames":[{"name":"m1","nativeSrc":"424430:2:22","nodeType":"YulIdentifier","src":"424430:2:22"}]},{"nativeSrc":"424460:17:22","nodeType":"YulAssignment","src":"424460:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424472:4:22","nodeType":"YulLiteral","src":"424472:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"424466:5:22","nodeType":"YulIdentifier","src":"424466:5:22"},"nativeSrc":"424466:11:22","nodeType":"YulFunctionCall","src":"424466:11:22"},"variableNames":[{"name":"m2","nativeSrc":"424460:2:22","nodeType":"YulIdentifier","src":"424460:2:22"}]},{"nativeSrc":"424490:17:22","nodeType":"YulAssignment","src":"424490:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424502:4:22","nodeType":"YulLiteral","src":"424502:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"424496:5:22","nodeType":"YulIdentifier","src":"424496:5:22"},"nativeSrc":"424496:11:22","nodeType":"YulFunctionCall","src":"424496:11:22"},"variableNames":[{"name":"m3","nativeSrc":"424490:2:22","nodeType":"YulIdentifier","src":"424490:2:22"}]},{"nativeSrc":"424520:17:22","nodeType":"YulAssignment","src":"424520:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424532:4:22","nodeType":"YulLiteral","src":"424532:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"424526:5:22","nodeType":"YulIdentifier","src":"424526:5:22"},"nativeSrc":"424526:11:22","nodeType":"YulFunctionCall","src":"424526:11:22"},"variableNames":[{"name":"m4","nativeSrc":"424520:2:22","nodeType":"YulIdentifier","src":"424520:2:22"}]},{"nativeSrc":"424550:17:22","nodeType":"YulAssignment","src":"424550:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424562:4:22","nodeType":"YulLiteral","src":"424562:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"424556:5:22","nodeType":"YulIdentifier","src":"424556:5:22"},"nativeSrc":"424556:11:22","nodeType":"YulFunctionCall","src":"424556:11:22"},"variableNames":[{"name":"m5","nativeSrc":"424550:2:22","nodeType":"YulIdentifier","src":"424550:2:22"}]},{"nativeSrc":"424580:17:22","nodeType":"YulAssignment","src":"424580:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424592:4:22","nodeType":"YulLiteral","src":"424592:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"424586:5:22","nodeType":"YulIdentifier","src":"424586:5:22"},"nativeSrc":"424586:11:22","nodeType":"YulFunctionCall","src":"424586:11:22"},"variableNames":[{"name":"m6","nativeSrc":"424580:2:22","nodeType":"YulIdentifier","src":"424580:2:22"}]},{"nativeSrc":"424610:17:22","nodeType":"YulAssignment","src":"424610:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"424622:4:22","nodeType":"YulLiteral","src":"424622:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"424616:5:22","nodeType":"YulIdentifier","src":"424616:5:22"},"nativeSrc":"424616:11:22","nodeType":"YulFunctionCall","src":"424616:11:22"},"variableNames":[{"name":"m7","nativeSrc":"424610:2:22","nodeType":"YulIdentifier","src":"424610:2:22"}]},{"nativeSrc":"424640:18:22","nodeType":"YulAssignment","src":"424640:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"424652:5:22","nodeType":"YulLiteral","src":"424652:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"424646:5:22","nodeType":"YulIdentifier","src":"424646:5:22"},"nativeSrc":"424646:12:22","nodeType":"YulFunctionCall","src":"424646:12:22"},"variableNames":[{"name":"m8","nativeSrc":"424640:2:22","nodeType":"YulIdentifier","src":"424640:2:22"}]},{"nativeSrc":"424671:18:22","nodeType":"YulAssignment","src":"424671:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"424683:5:22","nodeType":"YulLiteral","src":"424683:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"424677:5:22","nodeType":"YulIdentifier","src":"424677:5:22"},"nativeSrc":"424677:12:22","nodeType":"YulFunctionCall","src":"424677:12:22"},"variableNames":[{"name":"m9","nativeSrc":"424671:2:22","nodeType":"YulIdentifier","src":"424671:2:22"}]},{"nativeSrc":"424702:19:22","nodeType":"YulAssignment","src":"424702:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"424715:5:22","nodeType":"YulLiteral","src":"424715:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"424709:5:22","nodeType":"YulIdentifier","src":"424709:5:22"},"nativeSrc":"424709:12:22","nodeType":"YulFunctionCall","src":"424709:12:22"},"variableNames":[{"name":"m10","nativeSrc":"424702:3:22","nodeType":"YulIdentifier","src":"424702:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424805:4:22","nodeType":"YulLiteral","src":"424805:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"424811:10:22","nodeType":"YulLiteral","src":"424811:10:22","type":"","value":"0x8eafb02b"}],"functionName":{"name":"mstore","nativeSrc":"424798:6:22","nodeType":"YulIdentifier","src":"424798:6:22"},"nativeSrc":"424798:24:22","nodeType":"YulFunctionCall","src":"424798:24:22"},"nativeSrc":"424798:24:22","nodeType":"YulExpressionStatement","src":"424798:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424842:4:22","nodeType":"YulLiteral","src":"424842:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"424848:4:22","nodeType":"YulLiteral","src":"424848:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"424835:6:22","nodeType":"YulIdentifier","src":"424835:6:22"},"nativeSrc":"424835:18:22","nodeType":"YulFunctionCall","src":"424835:18:22"},"nativeSrc":"424835:18:22","nodeType":"YulExpressionStatement","src":"424835:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424873:4:22","nodeType":"YulLiteral","src":"424873:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"424879:4:22","nodeType":"YulLiteral","src":"424879:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"424866:6:22","nodeType":"YulIdentifier","src":"424866:6:22"},"nativeSrc":"424866:18:22","nodeType":"YulFunctionCall","src":"424866:18:22"},"nativeSrc":"424866:18:22","nodeType":"YulExpressionStatement","src":"424866:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424904:4:22","nodeType":"YulLiteral","src":"424904:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"424910:5:22","nodeType":"YulLiteral","src":"424910:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"424897:6:22","nodeType":"YulIdentifier","src":"424897:6:22"},"nativeSrc":"424897:19:22","nodeType":"YulFunctionCall","src":"424897:19:22"},"nativeSrc":"424897:19:22","nodeType":"YulExpressionStatement","src":"424897:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424936:4:22","nodeType":"YulLiteral","src":"424936:4:22","type":"","value":"0x80"},{"name":"p3","nativeSrc":"424942:2:22","nodeType":"YulIdentifier","src":"424942:2:22"}],"functionName":{"name":"mstore","nativeSrc":"424929:6:22","nodeType":"YulIdentifier","src":"424929:6:22"},"nativeSrc":"424929:16:22","nodeType":"YulFunctionCall","src":"424929:16:22"},"nativeSrc":"424929:16:22","nodeType":"YulExpressionStatement","src":"424929:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424970:4:22","nodeType":"YulLiteral","src":"424970:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"424976:2:22","nodeType":"YulIdentifier","src":"424976:2:22"}],"functionName":{"name":"writeString","nativeSrc":"424958:11:22","nodeType":"YulIdentifier","src":"424958:11:22"},"nativeSrc":"424958:21:22","nodeType":"YulFunctionCall","src":"424958:21:22"},"nativeSrc":"424958:21:22","nodeType":"YulExpressionStatement","src":"424958:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425004:4:22","nodeType":"YulLiteral","src":"425004:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"425010:2:22","nodeType":"YulIdentifier","src":"425010:2:22"}],"functionName":{"name":"writeString","nativeSrc":"424992:11:22","nodeType":"YulIdentifier","src":"424992:11:22"},"nativeSrc":"424992:21:22","nodeType":"YulFunctionCall","src":"424992:21:22"},"nativeSrc":"424992:21:22","nodeType":"YulExpressionStatement","src":"424992:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425038:5:22","nodeType":"YulLiteral","src":"425038:5:22","type":"","value":"0x120"},{"name":"p2","nativeSrc":"425045:2:22","nodeType":"YulIdentifier","src":"425045:2:22"}],"functionName":{"name":"writeString","nativeSrc":"425026:11:22","nodeType":"YulIdentifier","src":"425026:11:22"},"nativeSrc":"425026:22:22","nodeType":"YulFunctionCall","src":"425026:22:22"},"nativeSrc":"425026:22:22","nodeType":"YulExpressionStatement","src":"425026:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44327,"isOffset":false,"isSlot":false,"src":"424400:2:22","valueSize":1},{"declaration":44330,"isOffset":false,"isSlot":false,"src":"424430:2:22","valueSize":1},{"declaration":44357,"isOffset":false,"isSlot":false,"src":"424702:3:22","valueSize":1},{"declaration":44333,"isOffset":false,"isSlot":false,"src":"424460:2:22","valueSize":1},{"declaration":44336,"isOffset":false,"isSlot":false,"src":"424490:2:22","valueSize":1},{"declaration":44339,"isOffset":false,"isSlot":false,"src":"424520:2:22","valueSize":1},{"declaration":44342,"isOffset":false,"isSlot":false,"src":"424550:2:22","valueSize":1},{"declaration":44345,"isOffset":false,"isSlot":false,"src":"424580:2:22","valueSize":1},{"declaration":44348,"isOffset":false,"isSlot":false,"src":"424610:2:22","valueSize":1},{"declaration":44351,"isOffset":false,"isSlot":false,"src":"424640:2:22","valueSize":1},{"declaration":44354,"isOffset":false,"isSlot":false,"src":"424671:2:22","valueSize":1},{"declaration":44317,"isOffset":false,"isSlot":false,"src":"424976:2:22","valueSize":1},{"declaration":44319,"isOffset":false,"isSlot":false,"src":"425010:2:22","valueSize":1},{"declaration":44321,"isOffset":false,"isSlot":false,"src":"425045:2:22","valueSize":1},{"declaration":44323,"isOffset":false,"isSlot":false,"src":"424942:2:22","valueSize":1}],"id":44359,"nodeType":"InlineAssembly","src":"424022:1036:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425083:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":44362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425089:5:22","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":44360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"425067:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"425067:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44364,"nodeType":"ExpressionStatement","src":"425067:28:22"},{"AST":{"nativeSrc":"425157:334:22","nodeType":"YulBlock","src":"425157:334:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"425178:4:22","nodeType":"YulLiteral","src":"425178:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"425184:2:22","nodeType":"YulIdentifier","src":"425184:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425171:6:22","nodeType":"YulIdentifier","src":"425171:6:22"},"nativeSrc":"425171:16:22","nodeType":"YulFunctionCall","src":"425171:16:22"},"nativeSrc":"425171:16:22","nodeType":"YulExpressionStatement","src":"425171:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425207:4:22","nodeType":"YulLiteral","src":"425207:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"425213:2:22","nodeType":"YulIdentifier","src":"425213:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425200:6:22","nodeType":"YulIdentifier","src":"425200:6:22"},"nativeSrc":"425200:16:22","nodeType":"YulFunctionCall","src":"425200:16:22"},"nativeSrc":"425200:16:22","nodeType":"YulExpressionStatement","src":"425200:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425236:4:22","nodeType":"YulLiteral","src":"425236:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"425242:2:22","nodeType":"YulIdentifier","src":"425242:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425229:6:22","nodeType":"YulIdentifier","src":"425229:6:22"},"nativeSrc":"425229:16:22","nodeType":"YulFunctionCall","src":"425229:16:22"},"nativeSrc":"425229:16:22","nodeType":"YulExpressionStatement","src":"425229:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425265:4:22","nodeType":"YulLiteral","src":"425265:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"425271:2:22","nodeType":"YulIdentifier","src":"425271:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425258:6:22","nodeType":"YulIdentifier","src":"425258:6:22"},"nativeSrc":"425258:16:22","nodeType":"YulFunctionCall","src":"425258:16:22"},"nativeSrc":"425258:16:22","nodeType":"YulExpressionStatement","src":"425258:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425294:4:22","nodeType":"YulLiteral","src":"425294:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"425300:2:22","nodeType":"YulIdentifier","src":"425300:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425287:6:22","nodeType":"YulIdentifier","src":"425287:6:22"},"nativeSrc":"425287:16:22","nodeType":"YulFunctionCall","src":"425287:16:22"},"nativeSrc":"425287:16:22","nodeType":"YulExpressionStatement","src":"425287:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425323:4:22","nodeType":"YulLiteral","src":"425323:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"425329:2:22","nodeType":"YulIdentifier","src":"425329:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425316:6:22","nodeType":"YulIdentifier","src":"425316:6:22"},"nativeSrc":"425316:16:22","nodeType":"YulFunctionCall","src":"425316:16:22"},"nativeSrc":"425316:16:22","nodeType":"YulExpressionStatement","src":"425316:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425352:4:22","nodeType":"YulLiteral","src":"425352:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"425358:2:22","nodeType":"YulIdentifier","src":"425358:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425345:6:22","nodeType":"YulIdentifier","src":"425345:6:22"},"nativeSrc":"425345:16:22","nodeType":"YulFunctionCall","src":"425345:16:22"},"nativeSrc":"425345:16:22","nodeType":"YulExpressionStatement","src":"425345:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425381:4:22","nodeType":"YulLiteral","src":"425381:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"425387:2:22","nodeType":"YulIdentifier","src":"425387:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425374:6:22","nodeType":"YulIdentifier","src":"425374:6:22"},"nativeSrc":"425374:16:22","nodeType":"YulFunctionCall","src":"425374:16:22"},"nativeSrc":"425374:16:22","nodeType":"YulExpressionStatement","src":"425374:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425410:5:22","nodeType":"YulLiteral","src":"425410:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"425417:2:22","nodeType":"YulIdentifier","src":"425417:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425403:6:22","nodeType":"YulIdentifier","src":"425403:6:22"},"nativeSrc":"425403:17:22","nodeType":"YulFunctionCall","src":"425403:17:22"},"nativeSrc":"425403:17:22","nodeType":"YulExpressionStatement","src":"425403:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425440:5:22","nodeType":"YulLiteral","src":"425440:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"425447:2:22","nodeType":"YulIdentifier","src":"425447:2:22"}],"functionName":{"name":"mstore","nativeSrc":"425433:6:22","nodeType":"YulIdentifier","src":"425433:6:22"},"nativeSrc":"425433:17:22","nodeType":"YulFunctionCall","src":"425433:17:22"},"nativeSrc":"425433:17:22","nodeType":"YulExpressionStatement","src":"425433:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425470:5:22","nodeType":"YulLiteral","src":"425470:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"425477:3:22","nodeType":"YulIdentifier","src":"425477:3:22"}],"functionName":{"name":"mstore","nativeSrc":"425463:6:22","nodeType":"YulIdentifier","src":"425463:6:22"},"nativeSrc":"425463:18:22","nodeType":"YulFunctionCall","src":"425463:18:22"},"nativeSrc":"425463:18:22","nodeType":"YulExpressionStatement","src":"425463:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44327,"isOffset":false,"isSlot":false,"src":"425184:2:22","valueSize":1},{"declaration":44330,"isOffset":false,"isSlot":false,"src":"425213:2:22","valueSize":1},{"declaration":44357,"isOffset":false,"isSlot":false,"src":"425477:3:22","valueSize":1},{"declaration":44333,"isOffset":false,"isSlot":false,"src":"425242:2:22","valueSize":1},{"declaration":44336,"isOffset":false,"isSlot":false,"src":"425271:2:22","valueSize":1},{"declaration":44339,"isOffset":false,"isSlot":false,"src":"425300:2:22","valueSize":1},{"declaration":44342,"isOffset":false,"isSlot":false,"src":"425329:2:22","valueSize":1},{"declaration":44345,"isOffset":false,"isSlot":false,"src":"425358:2:22","valueSize":1},{"declaration":44348,"isOffset":false,"isSlot":false,"src":"425387:2:22","valueSize":1},{"declaration":44351,"isOffset":false,"isSlot":false,"src":"425417:2:22","valueSize":1},{"declaration":44354,"isOffset":false,"isSlot":false,"src":"425447:2:22","valueSize":1}],"id":44365,"nodeType":"InlineAssembly","src":"425148:343:22"}]},"id":44367,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"423682:3:22","nodeType":"FunctionDefinition","parameters":{"id":44324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44317,"mutability":"mutable","name":"p0","nameLocation":"423694:2:22","nodeType":"VariableDeclaration","scope":44367,"src":"423686:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423686:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44319,"mutability":"mutable","name":"p1","nameLocation":"423706:2:22","nodeType":"VariableDeclaration","scope":44367,"src":"423698:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423698:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44321,"mutability":"mutable","name":"p2","nameLocation":"423718:2:22","nodeType":"VariableDeclaration","scope":44367,"src":"423710:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423710:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44323,"mutability":"mutable","name":"p3","nameLocation":"423730:2:22","nodeType":"VariableDeclaration","scope":44367,"src":"423722:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44322,"name":"uint256","nodeType":"ElementaryTypeName","src":"423722:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"423685:48:22"},"returnParameters":{"id":44325,"nodeType":"ParameterList","parameters":[],"src":"423748:0:22"},"scope":44426,"src":"423673:1824:22","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44424,"nodeType":"Block","src":"425578:1954:22","statements":[{"assignments":[44379],"declarations":[{"constant":false,"id":44379,"mutability":"mutable","name":"m0","nameLocation":"425596:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425588:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425588:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44380,"nodeType":"VariableDeclarationStatement","src":"425588:10:22"},{"assignments":[44382],"declarations":[{"constant":false,"id":44382,"mutability":"mutable","name":"m1","nameLocation":"425616:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425608:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425608:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44383,"nodeType":"VariableDeclarationStatement","src":"425608:10:22"},{"assignments":[44385],"declarations":[{"constant":false,"id":44385,"mutability":"mutable","name":"m2","nameLocation":"425636:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425628:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425628:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44386,"nodeType":"VariableDeclarationStatement","src":"425628:10:22"},{"assignments":[44388],"declarations":[{"constant":false,"id":44388,"mutability":"mutable","name":"m3","nameLocation":"425656:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425648:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425648:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44389,"nodeType":"VariableDeclarationStatement","src":"425648:10:22"},{"assignments":[44391],"declarations":[{"constant":false,"id":44391,"mutability":"mutable","name":"m4","nameLocation":"425676:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425668:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425668:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44392,"nodeType":"VariableDeclarationStatement","src":"425668:10:22"},{"assignments":[44394],"declarations":[{"constant":false,"id":44394,"mutability":"mutable","name":"m5","nameLocation":"425696:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425688:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425688:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44395,"nodeType":"VariableDeclarationStatement","src":"425688:10:22"},{"assignments":[44397],"declarations":[{"constant":false,"id":44397,"mutability":"mutable","name":"m6","nameLocation":"425716:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425708:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425708:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44398,"nodeType":"VariableDeclarationStatement","src":"425708:10:22"},{"assignments":[44400],"declarations":[{"constant":false,"id":44400,"mutability":"mutable","name":"m7","nameLocation":"425736:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425728:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425728:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44401,"nodeType":"VariableDeclarationStatement","src":"425728:10:22"},{"assignments":[44403],"declarations":[{"constant":false,"id":44403,"mutability":"mutable","name":"m8","nameLocation":"425756:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425748:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425748:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44404,"nodeType":"VariableDeclarationStatement","src":"425748:10:22"},{"assignments":[44406],"declarations":[{"constant":false,"id":44406,"mutability":"mutable","name":"m9","nameLocation":"425776:2:22","nodeType":"VariableDeclaration","scope":44424,"src":"425768:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425768:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44407,"nodeType":"VariableDeclarationStatement","src":"425768:10:22"},{"assignments":[44409],"declarations":[{"constant":false,"id":44409,"mutability":"mutable","name":"m10","nameLocation":"425796:3:22","nodeType":"VariableDeclaration","scope":44424,"src":"425788:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425788:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44410,"nodeType":"VariableDeclarationStatement","src":"425788:11:22"},{"assignments":[44412],"declarations":[{"constant":false,"id":44412,"mutability":"mutable","name":"m11","nameLocation":"425817:3:22","nodeType":"VariableDeclaration","scope":44424,"src":"425809:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425809:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44413,"nodeType":"VariableDeclarationStatement","src":"425809:11:22"},{"assignments":[44415],"declarations":[{"constant":false,"id":44415,"mutability":"mutable","name":"m12","nameLocation":"425838:3:22","nodeType":"VariableDeclaration","scope":44424,"src":"425830:11:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425830:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44416,"nodeType":"VariableDeclarationStatement","src":"425830:11:22"},{"AST":{"nativeSrc":"425903:1128:22","nodeType":"YulBlock","src":"425903:1128:22","statements":[{"body":{"nativeSrc":"425946:313:22","nodeType":"YulBlock","src":"425946:313:22","statements":[{"nativeSrc":"425964:15:22","nodeType":"YulVariableDeclaration","src":"425964:15:22","value":{"kind":"number","nativeSrc":"425978:1:22","nodeType":"YulLiteral","src":"425978:1:22","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"425968:6:22","nodeType":"YulTypedName","src":"425968:6:22","type":""}]},{"body":{"nativeSrc":"426049:40:22","nodeType":"YulBlock","src":"426049:40:22","statements":[{"body":{"nativeSrc":"426078:9:22","nodeType":"YulBlock","src":"426078:9:22","statements":[{"nativeSrc":"426080:5:22","nodeType":"YulBreak","src":"426080:5:22"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"426066:6:22","nodeType":"YulIdentifier","src":"426066:6:22"},{"name":"w","nativeSrc":"426074:1:22","nodeType":"YulIdentifier","src":"426074:1:22"}],"functionName":{"name":"byte","nativeSrc":"426061:4:22","nodeType":"YulIdentifier","src":"426061:4:22"},"nativeSrc":"426061:15:22","nodeType":"YulFunctionCall","src":"426061:15:22"}],"functionName":{"name":"iszero","nativeSrc":"426054:6:22","nodeType":"YulIdentifier","src":"426054:6:22"},"nativeSrc":"426054:23:22","nodeType":"YulFunctionCall","src":"426054:23:22"},"nativeSrc":"426051:36:22","nodeType":"YulIf","src":"426051:36:22"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"426006:6:22","nodeType":"YulIdentifier","src":"426006:6:22"},{"kind":"number","nativeSrc":"426014:4:22","nodeType":"YulLiteral","src":"426014:4:22","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"426003:2:22","nodeType":"YulIdentifier","src":"426003:2:22"},"nativeSrc":"426003:16:22","nodeType":"YulFunctionCall","src":"426003:16:22"},"nativeSrc":"425996:93:22","nodeType":"YulForLoop","post":{"nativeSrc":"426020:28:22","nodeType":"YulBlock","src":"426020:28:22","statements":[{"nativeSrc":"426022:24:22","nodeType":"YulAssignment","src":"426022:24:22","value":{"arguments":[{"name":"length","nativeSrc":"426036:6:22","nodeType":"YulIdentifier","src":"426036:6:22"},{"kind":"number","nativeSrc":"426044:1:22","nodeType":"YulLiteral","src":"426044:1:22","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"426032:3:22","nodeType":"YulIdentifier","src":"426032:3:22"},"nativeSrc":"426032:14:22","nodeType":"YulFunctionCall","src":"426032:14:22"},"variableNames":[{"name":"length","nativeSrc":"426022:6:22","nodeType":"YulIdentifier","src":"426022:6:22"}]}]},"pre":{"nativeSrc":"426000:2:22","nodeType":"YulBlock","src":"426000:2:22","statements":[]},"src":"425996:93:22"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"426113:3:22","nodeType":"YulIdentifier","src":"426113:3:22"},{"name":"length","nativeSrc":"426118:6:22","nodeType":"YulIdentifier","src":"426118:6:22"}],"functionName":{"name":"mstore","nativeSrc":"426106:6:22","nodeType":"YulIdentifier","src":"426106:6:22"},"nativeSrc":"426106:19:22","nodeType":"YulFunctionCall","src":"426106:19:22"},"nativeSrc":"426106:19:22","nodeType":"YulExpressionStatement","src":"426106:19:22"},{"nativeSrc":"426142:37:22","nodeType":"YulVariableDeclaration","src":"426142:37:22","value":{"arguments":[{"kind":"number","nativeSrc":"426159:3:22","nodeType":"YulLiteral","src":"426159:3:22","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"426168:1:22","nodeType":"YulLiteral","src":"426168:1:22","type":"","value":"3"},{"name":"length","nativeSrc":"426171:6:22","nodeType":"YulIdentifier","src":"426171:6:22"}],"functionName":{"name":"shl","nativeSrc":"426164:3:22","nodeType":"YulIdentifier","src":"426164:3:22"},"nativeSrc":"426164:14:22","nodeType":"YulFunctionCall","src":"426164:14:22"}],"functionName":{"name":"sub","nativeSrc":"426155:3:22","nodeType":"YulIdentifier","src":"426155:3:22"},"nativeSrc":"426155:24:22","nodeType":"YulFunctionCall","src":"426155:24:22"},"variables":[{"name":"shift","nativeSrc":"426146:5:22","nodeType":"YulTypedName","src":"426146:5:22","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"426207:3:22","nodeType":"YulIdentifier","src":"426207:3:22"},{"kind":"number","nativeSrc":"426212:4:22","nodeType":"YulLiteral","src":"426212:4:22","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"426203:3:22","nodeType":"YulIdentifier","src":"426203:3:22"},"nativeSrc":"426203:14:22","nodeType":"YulFunctionCall","src":"426203:14:22"},{"arguments":[{"name":"shift","nativeSrc":"426223:5:22","nodeType":"YulIdentifier","src":"426223:5:22"},{"arguments":[{"name":"shift","nativeSrc":"426234:5:22","nodeType":"YulIdentifier","src":"426234:5:22"},{"name":"w","nativeSrc":"426241:1:22","nodeType":"YulIdentifier","src":"426241:1:22"}],"functionName":{"name":"shr","nativeSrc":"426230:3:22","nodeType":"YulIdentifier","src":"426230:3:22"},"nativeSrc":"426230:13:22","nodeType":"YulFunctionCall","src":"426230:13:22"}],"functionName":{"name":"shl","nativeSrc":"426219:3:22","nodeType":"YulIdentifier","src":"426219:3:22"},"nativeSrc":"426219:25:22","nodeType":"YulFunctionCall","src":"426219:25:22"}],"functionName":{"name":"mstore","nativeSrc":"426196:6:22","nodeType":"YulIdentifier","src":"426196:6:22"},"nativeSrc":"426196:49:22","nodeType":"YulFunctionCall","src":"426196:49:22"},"nativeSrc":"426196:49:22","nodeType":"YulExpressionStatement","src":"426196:49:22"}]},"name":"writeString","nativeSrc":"425917:342:22","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"425938:3:22","nodeType":"YulTypedName","src":"425938:3:22","type":""},{"name":"w","nativeSrc":"425943:1:22","nodeType":"YulTypedName","src":"425943:1:22","type":""}],"src":"425917:342:22"},{"nativeSrc":"426272:17:22","nodeType":"YulAssignment","src":"426272:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426284:4:22","nodeType":"YulLiteral","src":"426284:4:22","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"426278:5:22","nodeType":"YulIdentifier","src":"426278:5:22"},"nativeSrc":"426278:11:22","nodeType":"YulFunctionCall","src":"426278:11:22"},"variableNames":[{"name":"m0","nativeSrc":"426272:2:22","nodeType":"YulIdentifier","src":"426272:2:22"}]},{"nativeSrc":"426302:17:22","nodeType":"YulAssignment","src":"426302:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426314:4:22","nodeType":"YulLiteral","src":"426314:4:22","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"426308:5:22","nodeType":"YulIdentifier","src":"426308:5:22"},"nativeSrc":"426308:11:22","nodeType":"YulFunctionCall","src":"426308:11:22"},"variableNames":[{"name":"m1","nativeSrc":"426302:2:22","nodeType":"YulIdentifier","src":"426302:2:22"}]},{"nativeSrc":"426332:17:22","nodeType":"YulAssignment","src":"426332:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426344:4:22","nodeType":"YulLiteral","src":"426344:4:22","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"426338:5:22","nodeType":"YulIdentifier","src":"426338:5:22"},"nativeSrc":"426338:11:22","nodeType":"YulFunctionCall","src":"426338:11:22"},"variableNames":[{"name":"m2","nativeSrc":"426332:2:22","nodeType":"YulIdentifier","src":"426332:2:22"}]},{"nativeSrc":"426362:17:22","nodeType":"YulAssignment","src":"426362:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426374:4:22","nodeType":"YulLiteral","src":"426374:4:22","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"426368:5:22","nodeType":"YulIdentifier","src":"426368:5:22"},"nativeSrc":"426368:11:22","nodeType":"YulFunctionCall","src":"426368:11:22"},"variableNames":[{"name":"m3","nativeSrc":"426362:2:22","nodeType":"YulIdentifier","src":"426362:2:22"}]},{"nativeSrc":"426392:17:22","nodeType":"YulAssignment","src":"426392:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426404:4:22","nodeType":"YulLiteral","src":"426404:4:22","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"426398:5:22","nodeType":"YulIdentifier","src":"426398:5:22"},"nativeSrc":"426398:11:22","nodeType":"YulFunctionCall","src":"426398:11:22"},"variableNames":[{"name":"m4","nativeSrc":"426392:2:22","nodeType":"YulIdentifier","src":"426392:2:22"}]},{"nativeSrc":"426422:17:22","nodeType":"YulAssignment","src":"426422:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426434:4:22","nodeType":"YulLiteral","src":"426434:4:22","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"426428:5:22","nodeType":"YulIdentifier","src":"426428:5:22"},"nativeSrc":"426428:11:22","nodeType":"YulFunctionCall","src":"426428:11:22"},"variableNames":[{"name":"m5","nativeSrc":"426422:2:22","nodeType":"YulIdentifier","src":"426422:2:22"}]},{"nativeSrc":"426452:17:22","nodeType":"YulAssignment","src":"426452:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426464:4:22","nodeType":"YulLiteral","src":"426464:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"426458:5:22","nodeType":"YulIdentifier","src":"426458:5:22"},"nativeSrc":"426458:11:22","nodeType":"YulFunctionCall","src":"426458:11:22"},"variableNames":[{"name":"m6","nativeSrc":"426452:2:22","nodeType":"YulIdentifier","src":"426452:2:22"}]},{"nativeSrc":"426482:17:22","nodeType":"YulAssignment","src":"426482:17:22","value":{"arguments":[{"kind":"number","nativeSrc":"426494:4:22","nodeType":"YulLiteral","src":"426494:4:22","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"426488:5:22","nodeType":"YulIdentifier","src":"426488:5:22"},"nativeSrc":"426488:11:22","nodeType":"YulFunctionCall","src":"426488:11:22"},"variableNames":[{"name":"m7","nativeSrc":"426482:2:22","nodeType":"YulIdentifier","src":"426482:2:22"}]},{"nativeSrc":"426512:18:22","nodeType":"YulAssignment","src":"426512:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"426524:5:22","nodeType":"YulLiteral","src":"426524:5:22","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"426518:5:22","nodeType":"YulIdentifier","src":"426518:5:22"},"nativeSrc":"426518:12:22","nodeType":"YulFunctionCall","src":"426518:12:22"},"variableNames":[{"name":"m8","nativeSrc":"426512:2:22","nodeType":"YulIdentifier","src":"426512:2:22"}]},{"nativeSrc":"426543:18:22","nodeType":"YulAssignment","src":"426543:18:22","value":{"arguments":[{"kind":"number","nativeSrc":"426555:5:22","nodeType":"YulLiteral","src":"426555:5:22","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"426549:5:22","nodeType":"YulIdentifier","src":"426549:5:22"},"nativeSrc":"426549:12:22","nodeType":"YulFunctionCall","src":"426549:12:22"},"variableNames":[{"name":"m9","nativeSrc":"426543:2:22","nodeType":"YulIdentifier","src":"426543:2:22"}]},{"nativeSrc":"426574:19:22","nodeType":"YulAssignment","src":"426574:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"426587:5:22","nodeType":"YulLiteral","src":"426587:5:22","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"426581:5:22","nodeType":"YulIdentifier","src":"426581:5:22"},"nativeSrc":"426581:12:22","nodeType":"YulFunctionCall","src":"426581:12:22"},"variableNames":[{"name":"m10","nativeSrc":"426574:3:22","nodeType":"YulIdentifier","src":"426574:3:22"}]},{"nativeSrc":"426606:19:22","nodeType":"YulAssignment","src":"426606:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"426619:5:22","nodeType":"YulLiteral","src":"426619:5:22","type":"","value":"0x160"}],"functionName":{"name":"mload","nativeSrc":"426613:5:22","nodeType":"YulIdentifier","src":"426613:5:22"},"nativeSrc":"426613:12:22","nodeType":"YulFunctionCall","src":"426613:12:22"},"variableNames":[{"name":"m11","nativeSrc":"426606:3:22","nodeType":"YulIdentifier","src":"426606:3:22"}]},{"nativeSrc":"426638:19:22","nodeType":"YulAssignment","src":"426638:19:22","value":{"arguments":[{"kind":"number","nativeSrc":"426651:5:22","nodeType":"YulLiteral","src":"426651:5:22","type":"","value":"0x180"}],"functionName":{"name":"mload","nativeSrc":"426645:5:22","nodeType":"YulIdentifier","src":"426645:5:22"},"nativeSrc":"426645:12:22","nodeType":"YulFunctionCall","src":"426645:12:22"},"variableNames":[{"name":"m12","nativeSrc":"426638:3:22","nodeType":"YulIdentifier","src":"426638:3:22"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426740:4:22","nodeType":"YulLiteral","src":"426740:4:22","type":"","value":"0x00"},{"kind":"number","nativeSrc":"426746:10:22","nodeType":"YulLiteral","src":"426746:10:22","type":"","value":"0xde68f20a"}],"functionName":{"name":"mstore","nativeSrc":"426733:6:22","nodeType":"YulIdentifier","src":"426733:6:22"},"nativeSrc":"426733:24:22","nodeType":"YulFunctionCall","src":"426733:24:22"},"nativeSrc":"426733:24:22","nodeType":"YulExpressionStatement","src":"426733:24:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426777:4:22","nodeType":"YulLiteral","src":"426777:4:22","type":"","value":"0x20"},{"kind":"number","nativeSrc":"426783:4:22","nodeType":"YulLiteral","src":"426783:4:22","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"426770:6:22","nodeType":"YulIdentifier","src":"426770:6:22"},"nativeSrc":"426770:18:22","nodeType":"YulFunctionCall","src":"426770:18:22"},"nativeSrc":"426770:18:22","nodeType":"YulExpressionStatement","src":"426770:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426808:4:22","nodeType":"YulLiteral","src":"426808:4:22","type":"","value":"0x40"},{"kind":"number","nativeSrc":"426814:4:22","nodeType":"YulLiteral","src":"426814:4:22","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"426801:6:22","nodeType":"YulIdentifier","src":"426801:6:22"},"nativeSrc":"426801:18:22","nodeType":"YulFunctionCall","src":"426801:18:22"},"nativeSrc":"426801:18:22","nodeType":"YulExpressionStatement","src":"426801:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426839:4:22","nodeType":"YulLiteral","src":"426839:4:22","type":"","value":"0x60"},{"kind":"number","nativeSrc":"426845:5:22","nodeType":"YulLiteral","src":"426845:5:22","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"426832:6:22","nodeType":"YulIdentifier","src":"426832:6:22"},"nativeSrc":"426832:19:22","nodeType":"YulFunctionCall","src":"426832:19:22"},"nativeSrc":"426832:19:22","nodeType":"YulExpressionStatement","src":"426832:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426871:4:22","nodeType":"YulLiteral","src":"426871:4:22","type":"","value":"0x80"},{"kind":"number","nativeSrc":"426877:5:22","nodeType":"YulLiteral","src":"426877:5:22","type":"","value":"0x140"}],"functionName":{"name":"mstore","nativeSrc":"426864:6:22","nodeType":"YulIdentifier","src":"426864:6:22"},"nativeSrc":"426864:19:22","nodeType":"YulFunctionCall","src":"426864:19:22"},"nativeSrc":"426864:19:22","nodeType":"YulExpressionStatement","src":"426864:19:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426908:4:22","nodeType":"YulLiteral","src":"426908:4:22","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"426914:2:22","nodeType":"YulIdentifier","src":"426914:2:22"}],"functionName":{"name":"writeString","nativeSrc":"426896:11:22","nodeType":"YulIdentifier","src":"426896:11:22"},"nativeSrc":"426896:21:22","nodeType":"YulFunctionCall","src":"426896:21:22"},"nativeSrc":"426896:21:22","nodeType":"YulExpressionStatement","src":"426896:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426942:4:22","nodeType":"YulLiteral","src":"426942:4:22","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"426948:2:22","nodeType":"YulIdentifier","src":"426948:2:22"}],"functionName":{"name":"writeString","nativeSrc":"426930:11:22","nodeType":"YulIdentifier","src":"426930:11:22"},"nativeSrc":"426930:21:22","nodeType":"YulFunctionCall","src":"426930:21:22"},"nativeSrc":"426930:21:22","nodeType":"YulExpressionStatement","src":"426930:21:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426976:5:22","nodeType":"YulLiteral","src":"426976:5:22","type":"","value":"0x120"},{"name":"p2","nativeSrc":"426983:2:22","nodeType":"YulIdentifier","src":"426983:2:22"}],"functionName":{"name":"writeString","nativeSrc":"426964:11:22","nodeType":"YulIdentifier","src":"426964:11:22"},"nativeSrc":"426964:22:22","nodeType":"YulFunctionCall","src":"426964:22:22"},"nativeSrc":"426964:22:22","nodeType":"YulExpressionStatement","src":"426964:22:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427011:5:22","nodeType":"YulLiteral","src":"427011:5:22","type":"","value":"0x160"},{"name":"p3","nativeSrc":"427018:2:22","nodeType":"YulIdentifier","src":"427018:2:22"}],"functionName":{"name":"writeString","nativeSrc":"426999:11:22","nodeType":"YulIdentifier","src":"426999:11:22"},"nativeSrc":"426999:22:22","nodeType":"YulFunctionCall","src":"426999:22:22"},"nativeSrc":"426999:22:22","nodeType":"YulExpressionStatement","src":"426999:22:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44379,"isOffset":false,"isSlot":false,"src":"426272:2:22","valueSize":1},{"declaration":44382,"isOffset":false,"isSlot":false,"src":"426302:2:22","valueSize":1},{"declaration":44409,"isOffset":false,"isSlot":false,"src":"426574:3:22","valueSize":1},{"declaration":44412,"isOffset":false,"isSlot":false,"src":"426606:3:22","valueSize":1},{"declaration":44415,"isOffset":false,"isSlot":false,"src":"426638:3:22","valueSize":1},{"declaration":44385,"isOffset":false,"isSlot":false,"src":"426332:2:22","valueSize":1},{"declaration":44388,"isOffset":false,"isSlot":false,"src":"426362:2:22","valueSize":1},{"declaration":44391,"isOffset":false,"isSlot":false,"src":"426392:2:22","valueSize":1},{"declaration":44394,"isOffset":false,"isSlot":false,"src":"426422:2:22","valueSize":1},{"declaration":44397,"isOffset":false,"isSlot":false,"src":"426452:2:22","valueSize":1},{"declaration":44400,"isOffset":false,"isSlot":false,"src":"426482:2:22","valueSize":1},{"declaration":44403,"isOffset":false,"isSlot":false,"src":"426512:2:22","valueSize":1},{"declaration":44406,"isOffset":false,"isSlot":false,"src":"426543:2:22","valueSize":1},{"declaration":44369,"isOffset":false,"isSlot":false,"src":"426914:2:22","valueSize":1},{"declaration":44371,"isOffset":false,"isSlot":false,"src":"426948:2:22","valueSize":1},{"declaration":44373,"isOffset":false,"isSlot":false,"src":"426983:2:22","valueSize":1},{"declaration":44375,"isOffset":false,"isSlot":false,"src":"427018:2:22","valueSize":1}],"id":44417,"nodeType":"InlineAssembly","src":"425894:1137:22"},{"expression":{"arguments":[{"hexValue":"30783163","id":44419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427056:4:22","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313834","id":44420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427062:5:22","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":44418,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31390,"src":"427040:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"427040:28:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44422,"nodeType":"ExpressionStatement","src":"427040:28:22"},{"AST":{"nativeSrc":"427130:396:22","nodeType":"YulBlock","src":"427130:396:22","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"427151:4:22","nodeType":"YulLiteral","src":"427151:4:22","type":"","value":"0x00"},{"name":"m0","nativeSrc":"427157:2:22","nodeType":"YulIdentifier","src":"427157:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427144:6:22","nodeType":"YulIdentifier","src":"427144:6:22"},"nativeSrc":"427144:16:22","nodeType":"YulFunctionCall","src":"427144:16:22"},"nativeSrc":"427144:16:22","nodeType":"YulExpressionStatement","src":"427144:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427180:4:22","nodeType":"YulLiteral","src":"427180:4:22","type":"","value":"0x20"},{"name":"m1","nativeSrc":"427186:2:22","nodeType":"YulIdentifier","src":"427186:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427173:6:22","nodeType":"YulIdentifier","src":"427173:6:22"},"nativeSrc":"427173:16:22","nodeType":"YulFunctionCall","src":"427173:16:22"},"nativeSrc":"427173:16:22","nodeType":"YulExpressionStatement","src":"427173:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427209:4:22","nodeType":"YulLiteral","src":"427209:4:22","type":"","value":"0x40"},{"name":"m2","nativeSrc":"427215:2:22","nodeType":"YulIdentifier","src":"427215:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427202:6:22","nodeType":"YulIdentifier","src":"427202:6:22"},"nativeSrc":"427202:16:22","nodeType":"YulFunctionCall","src":"427202:16:22"},"nativeSrc":"427202:16:22","nodeType":"YulExpressionStatement","src":"427202:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427238:4:22","nodeType":"YulLiteral","src":"427238:4:22","type":"","value":"0x60"},{"name":"m3","nativeSrc":"427244:2:22","nodeType":"YulIdentifier","src":"427244:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427231:6:22","nodeType":"YulIdentifier","src":"427231:6:22"},"nativeSrc":"427231:16:22","nodeType":"YulFunctionCall","src":"427231:16:22"},"nativeSrc":"427231:16:22","nodeType":"YulExpressionStatement","src":"427231:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427267:4:22","nodeType":"YulLiteral","src":"427267:4:22","type":"","value":"0x80"},{"name":"m4","nativeSrc":"427273:2:22","nodeType":"YulIdentifier","src":"427273:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427260:6:22","nodeType":"YulIdentifier","src":"427260:6:22"},"nativeSrc":"427260:16:22","nodeType":"YulFunctionCall","src":"427260:16:22"},"nativeSrc":"427260:16:22","nodeType":"YulExpressionStatement","src":"427260:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427296:4:22","nodeType":"YulLiteral","src":"427296:4:22","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"427302:2:22","nodeType":"YulIdentifier","src":"427302:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427289:6:22","nodeType":"YulIdentifier","src":"427289:6:22"},"nativeSrc":"427289:16:22","nodeType":"YulFunctionCall","src":"427289:16:22"},"nativeSrc":"427289:16:22","nodeType":"YulExpressionStatement","src":"427289:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427325:4:22","nodeType":"YulLiteral","src":"427325:4:22","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"427331:2:22","nodeType":"YulIdentifier","src":"427331:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427318:6:22","nodeType":"YulIdentifier","src":"427318:6:22"},"nativeSrc":"427318:16:22","nodeType":"YulFunctionCall","src":"427318:16:22"},"nativeSrc":"427318:16:22","nodeType":"YulExpressionStatement","src":"427318:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427354:4:22","nodeType":"YulLiteral","src":"427354:4:22","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"427360:2:22","nodeType":"YulIdentifier","src":"427360:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427347:6:22","nodeType":"YulIdentifier","src":"427347:6:22"},"nativeSrc":"427347:16:22","nodeType":"YulFunctionCall","src":"427347:16:22"},"nativeSrc":"427347:16:22","nodeType":"YulExpressionStatement","src":"427347:16:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427383:5:22","nodeType":"YulLiteral","src":"427383:5:22","type":"","value":"0x100"},{"name":"m8","nativeSrc":"427390:2:22","nodeType":"YulIdentifier","src":"427390:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427376:6:22","nodeType":"YulIdentifier","src":"427376:6:22"},"nativeSrc":"427376:17:22","nodeType":"YulFunctionCall","src":"427376:17:22"},"nativeSrc":"427376:17:22","nodeType":"YulExpressionStatement","src":"427376:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427413:5:22","nodeType":"YulLiteral","src":"427413:5:22","type":"","value":"0x120"},{"name":"m9","nativeSrc":"427420:2:22","nodeType":"YulIdentifier","src":"427420:2:22"}],"functionName":{"name":"mstore","nativeSrc":"427406:6:22","nodeType":"YulIdentifier","src":"427406:6:22"},"nativeSrc":"427406:17:22","nodeType":"YulFunctionCall","src":"427406:17:22"},"nativeSrc":"427406:17:22","nodeType":"YulExpressionStatement","src":"427406:17:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427443:5:22","nodeType":"YulLiteral","src":"427443:5:22","type":"","value":"0x140"},{"name":"m10","nativeSrc":"427450:3:22","nodeType":"YulIdentifier","src":"427450:3:22"}],"functionName":{"name":"mstore","nativeSrc":"427436:6:22","nodeType":"YulIdentifier","src":"427436:6:22"},"nativeSrc":"427436:18:22","nodeType":"YulFunctionCall","src":"427436:18:22"},"nativeSrc":"427436:18:22","nodeType":"YulExpressionStatement","src":"427436:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427474:5:22","nodeType":"YulLiteral","src":"427474:5:22","type":"","value":"0x160"},{"name":"m11","nativeSrc":"427481:3:22","nodeType":"YulIdentifier","src":"427481:3:22"}],"functionName":{"name":"mstore","nativeSrc":"427467:6:22","nodeType":"YulIdentifier","src":"427467:6:22"},"nativeSrc":"427467:18:22","nodeType":"YulFunctionCall","src":"427467:18:22"},"nativeSrc":"427467:18:22","nodeType":"YulExpressionStatement","src":"427467:18:22"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427505:5:22","nodeType":"YulLiteral","src":"427505:5:22","type":"","value":"0x180"},{"name":"m12","nativeSrc":"427512:3:22","nodeType":"YulIdentifier","src":"427512:3:22"}],"functionName":{"name":"mstore","nativeSrc":"427498:6:22","nodeType":"YulIdentifier","src":"427498:6:22"},"nativeSrc":"427498:18:22","nodeType":"YulFunctionCall","src":"427498:18:22"},"nativeSrc":"427498:18:22","nodeType":"YulExpressionStatement","src":"427498:18:22"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":44379,"isOffset":false,"isSlot":false,"src":"427157:2:22","valueSize":1},{"declaration":44382,"isOffset":false,"isSlot":false,"src":"427186:2:22","valueSize":1},{"declaration":44409,"isOffset":false,"isSlot":false,"src":"427450:3:22","valueSize":1},{"declaration":44412,"isOffset":false,"isSlot":false,"src":"427481:3:22","valueSize":1},{"declaration":44415,"isOffset":false,"isSlot":false,"src":"427512:3:22","valueSize":1},{"declaration":44385,"isOffset":false,"isSlot":false,"src":"427215:2:22","valueSize":1},{"declaration":44388,"isOffset":false,"isSlot":false,"src":"427244:2:22","valueSize":1},{"declaration":44391,"isOffset":false,"isSlot":false,"src":"427273:2:22","valueSize":1},{"declaration":44394,"isOffset":false,"isSlot":false,"src":"427302:2:22","valueSize":1},{"declaration":44397,"isOffset":false,"isSlot":false,"src":"427331:2:22","valueSize":1},{"declaration":44400,"isOffset":false,"isSlot":false,"src":"427360:2:22","valueSize":1},{"declaration":44403,"isOffset":false,"isSlot":false,"src":"427390:2:22","valueSize":1},{"declaration":44406,"isOffset":false,"isSlot":false,"src":"427420:2:22","valueSize":1}],"id":44423,"nodeType":"InlineAssembly","src":"427121:405:22"}]},"id":44425,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"425512:3:22","nodeType":"FunctionDefinition","parameters":{"id":44376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44369,"mutability":"mutable","name":"p0","nameLocation":"425524:2:22","nodeType":"VariableDeclaration","scope":44425,"src":"425516:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425516:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44371,"mutability":"mutable","name":"p1","nameLocation":"425536:2:22","nodeType":"VariableDeclaration","scope":44425,"src":"425528:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425528:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44373,"mutability":"mutable","name":"p2","nameLocation":"425548:2:22","nodeType":"VariableDeclaration","scope":44425,"src":"425540:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425540:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44375,"mutability":"mutable","name":"p3","nameLocation":"425560:2:22","nodeType":"VariableDeclaration","scope":44425,"src":"425552:10:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425552:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"425515:48:22"},"returnParameters":{"id":44377,"nodeType":"ParameterList","parameters":[],"src":"425578:0:22"},"scope":44426,"src":"425503:2029:22","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":44427,"src":"163:427371:22","usedErrors":[],"usedEvents":[]}],"src":"32:427503:22"},"id":22},"v4-core/lib/solmate/src/auth/Owned.sol":{"ast":{"absolutePath":"v4-core/lib/solmate/src/auth/Owned.sol","exportedSymbols":{"Owned":[58162]},"id":58163,"license":"AGPL-3.0-only","nodeType":"SourceUnit","nodes":[{"id":58104,"literals":["solidity",">=","0.8",".0"],"nodeType":"PragmaDirective","src":"42:24:23"},{"abstract":true,"baseContracts":[],"canonicalName":"Owned","contractDependencies":[],"contractKind":"contract","documentation":{"id":58105,"nodeType":"StructuredDocumentation","src":"68:147:23","text":"@notice Simple single owner authorization mixin.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)"},"fullyImplemented":true,"id":58162,"linearizedBaseContracts":[58162],"name":"Owned","nameLocation":"233:5:23","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":58111,"name":"OwnershipTransferred","nameLocation":"430:20:23","nodeType":"EventDefinition","parameters":{"id":58110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58107,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"467:4:23","nodeType":"VariableDeclaration","scope":58111,"src":"451:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58106,"name":"address","nodeType":"ElementaryTypeName","src":"451:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58109,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"489:8:23","nodeType":"VariableDeclaration","scope":58111,"src":"473:24:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58108,"name":"address","nodeType":"ElementaryTypeName","src":"473:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"450:48:23"},"src":"424:75:23"},{"constant":false,"functionSelector":"8da5cb5b","id":58113,"mutability":"mutable","name":"owner","nameLocation":"705:5:23","nodeType":"VariableDeclaration","scope":58162,"src":"690:20:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58112,"name":"address","nodeType":"ElementaryTypeName","src":"690:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"body":{"id":58124,"nodeType":"Block","src":"746:73:23","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58116,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"764:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"768:6:23","memberName":"sender","nodeType":"MemberAccess","src":"764:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":58118,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58113,"src":"778:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"764:19:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e415554484f52495a4544","id":58120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"785:14:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528","typeString":"literal_string \"UNAUTHORIZED\""},"value":"UNAUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528","typeString":"literal_string \"UNAUTHORIZED\""}],"id":58115,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"756:7:23","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":58121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"756:44:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58122,"nodeType":"ExpressionStatement","src":"756:44:23"},{"id":58123,"nodeType":"PlaceholderStatement","src":"811:1:23"}]},"id":58125,"name":"onlyOwner","nameLocation":"726:9:23","nodeType":"ModifierDefinition","parameters":{"id":58114,"nodeType":"ParameterList","parameters":[],"src":"735:2:23"},"src":"717:102:23","virtual":true,"visibility":"internal"},{"body":{"id":58142,"nodeType":"Block","src":"1035:87:23","statements":[{"expression":{"id":58132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58130,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58113,"src":"1045:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58131,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58127,"src":"1053:6:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1045:14:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58133,"nodeType":"ExpressionStatement","src":"1045:14:23"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":58137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:23","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":58136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1096:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58135,"name":"address","nodeType":"ElementaryTypeName","src":"1096:7:23","typeDescriptions":{}}},"id":58138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1096:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58139,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58127,"src":"1108:6:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58134,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58111,"src":"1075:20:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":58140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:40:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58141,"nodeType":"EmitStatement","src":"1070:45:23"}]},"id":58143,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":58128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58127,"mutability":"mutable","name":"_owner","nameLocation":"1027:6:23","nodeType":"VariableDeclaration","scope":58143,"src":"1019:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58126,"name":"address","nodeType":"ElementaryTypeName","src":"1019:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1018:16:23"},"returnParameters":{"id":58129,"nodeType":"ParameterList","parameters":[],"src":"1035:0:23"},"scope":58162,"src":"1007:115:23","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":58160,"nodeType":"Block","src":"1382:91:23","statements":[{"expression":{"id":58152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58150,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58113,"src":"1392:5:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58151,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58145,"src":"1400:8:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1392:16:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58153,"nodeType":"ExpressionStatement","src":"1392:16:23"},{"eventCall":{"arguments":[{"expression":{"id":58155,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1445:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1449:6:23","memberName":"sender","nodeType":"MemberAccess","src":"1445:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58157,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58145,"src":"1457:8:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58154,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58111,"src":"1424:20:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":58158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1424:42:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58159,"nodeType":"EmitStatement","src":"1419:47:23"}]},"functionSelector":"f2fde38b","id":58161,"implemented":true,"kind":"function","modifiers":[{"id":58148,"kind":"modifierInvocation","modifierName":{"id":58147,"name":"onlyOwner","nameLocations":["1372:9:23"],"nodeType":"IdentifierPath","referencedDeclaration":58125,"src":"1372:9:23"},"nodeType":"ModifierInvocation","src":"1372:9:23"}],"name":"transferOwnership","nameLocation":"1321:17:23","nodeType":"FunctionDefinition","parameters":{"id":58146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58145,"mutability":"mutable","name":"newOwner","nameLocation":"1347:8:23","nodeType":"VariableDeclaration","scope":58161,"src":"1339:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58144,"name":"address","nodeType":"ElementaryTypeName","src":"1339:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1338:18:23"},"returnParameters":{"id":58149,"nodeType":"ParameterList","parameters":[],"src":"1382:0:23"},"scope":58162,"src":"1312:161:23","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":58163,"src":"215:1260:23","usedErrors":[],"usedEvents":[58111]}],"src":"42:1434:23"},"id":23},"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol":{"ast":{"absolutePath":"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol","exportedSymbols":{"ERC20":[44814],"MockERC20":[1281]},"id":1282,"license":"AGPL-3.0-only","nodeType":"SourceUnit","nodes":[{"id":1235,"literals":["solidity",">=","0.8",".0"],"nodeType":"PragmaDirective","src":"42:24:24"},{"absolutePath":"v4-core/lib/solmate/src/tokens/ERC20.sol","file":"../../../tokens/ERC20.sol","id":1237,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1282,"sourceUnit":44815,"src":"68:48:24","symbolAliases":[{"foreign":{"id":1236,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44814,"src":"76:5:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1238,"name":"ERC20","nameLocations":["140:5:24"],"nodeType":"IdentifierPath","referencedDeclaration":44814,"src":"140:5:24"},"id":1239,"nodeType":"InheritanceSpecifier","src":"140:5:24"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1281,"linearizedBaseContracts":[1281,44814],"name":"MockERC20","nameLocation":"127:9:24","nodeType":"ContractDefinition","nodes":[{"body":{"id":1253,"nodeType":"Block","src":"288:2:24","statements":[]},"id":1254,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":1248,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1241,"src":"261:5:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1249,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1243,"src":"268:7:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1250,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"277:9:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":1251,"kind":"baseConstructorSpecifier","modifierName":{"id":1247,"name":"ERC20","nameLocations":["255:5:24"],"nodeType":"IdentifierPath","referencedDeclaration":44814,"src":"255:5:24"},"nodeType":"ModifierInvocation","src":"255:32:24"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1241,"mutability":"mutable","name":"_name","nameLocation":"187:5:24","nodeType":"VariableDeclaration","scope":1254,"src":"173:19:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1240,"name":"string","nodeType":"ElementaryTypeName","src":"173:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1243,"mutability":"mutable","name":"_symbol","nameLocation":"216:7:24","nodeType":"VariableDeclaration","scope":1254,"src":"202:21:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1242,"name":"string","nodeType":"ElementaryTypeName","src":"202:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1245,"mutability":"mutable","name":"_decimals","nameLocation":"239:9:24","nodeType":"VariableDeclaration","scope":1254,"src":"233:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1244,"name":"uint8","nodeType":"ElementaryTypeName","src":"233:5:24","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"163:91:24"},"returnParameters":{"id":1252,"nodeType":"ParameterList","parameters":[],"src":"288:0:24"},"scope":1281,"src":"152:138:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1266,"nodeType":"Block","src":"352:33:24","statements":[{"expression":{"arguments":[{"id":1262,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1256,"src":"368:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1263,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"372:5:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1261,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44785,"src":"362:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"362:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"ExpressionStatement","src":"362:16:24"}]},"functionSelector":"40c10f19","id":1267,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"305:4:24","nodeType":"FunctionDefinition","parameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1256,"mutability":"mutable","name":"to","nameLocation":"318:2:24","nodeType":"VariableDeclaration","scope":1267,"src":"310:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1255,"name":"address","nodeType":"ElementaryTypeName","src":"310:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1258,"mutability":"mutable","name":"value","nameLocation":"330:5:24","nodeType":"VariableDeclaration","scope":1267,"src":"322:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1257,"name":"uint256","nodeType":"ElementaryTypeName","src":"322:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"309:27:24"},"returnParameters":{"id":1260,"nodeType":"ParameterList","parameters":[],"src":"352:0:24"},"scope":1281,"src":"296:89:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":1279,"nodeType":"Block","src":"449:35:24","statements":[{"expression":{"arguments":[{"id":1275,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1269,"src":"465:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1276,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1271,"src":"471:5:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1274,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44813,"src":"459:5:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":1277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"459:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1278,"nodeType":"ExpressionStatement","src":"459:18:24"}]},"functionSelector":"9dc29fac","id":1280,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"400:4:24","nodeType":"FunctionDefinition","parameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1269,"mutability":"mutable","name":"from","nameLocation":"413:4:24","nodeType":"VariableDeclaration","scope":1280,"src":"405:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1268,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1271,"mutability":"mutable","name":"value","nameLocation":"427:5:24","nodeType":"VariableDeclaration","scope":1280,"src":"419:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"419:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"404:29:24"},"returnParameters":{"id":1273,"nodeType":"ParameterList","parameters":[],"src":"449:0:24"},"scope":1281,"src":"391:93:24","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":1282,"src":"118:368:24","usedErrors":[],"usedEvents":[44437,44445]}],"src":"42:445:24"},"id":24},"v4-core/lib/solmate/src/tokens/ERC20.sol":{"ast":{"absolutePath":"v4-core/lib/solmate/src/tokens/ERC20.sol","exportedSymbols":{"ERC20":[44814]},"id":44815,"license":"AGPL-3.0-only","nodeType":"SourceUnit","nodes":[{"id":44428,"literals":["solidity",">=","0.8",".0"],"nodeType":"PragmaDirective","src":"42:24:25"},{"abstract":true,"baseContracts":[],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":44429,"nodeType":"StructuredDocumentation","src":"68:406:25","text":"@notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)\n @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it."},"fullyImplemented":true,"id":44814,"linearizedBaseContracts":[44814],"name":"ERC20","nameLocation":"492:5:25","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":44437,"name":"Transfer","nameLocation":"689:8:25","nodeType":"EventDefinition","parameters":{"id":44436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44431,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"714:4:25","nodeType":"VariableDeclaration","scope":44437,"src":"698:20:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44430,"name":"address","nodeType":"ElementaryTypeName","src":"698:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44433,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"736:2:25","nodeType":"VariableDeclaration","scope":44437,"src":"720:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44432,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44435,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"748:6:25","nodeType":"VariableDeclaration","scope":44437,"src":"740:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44434,"name":"uint256","nodeType":"ElementaryTypeName","src":"740:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"697:58:25"},"src":"683:73:25"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":44445,"name":"Approval","nameLocation":"768:8:25","nodeType":"EventDefinition","parameters":{"id":44444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44439,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"793:5:25","nodeType":"VariableDeclaration","scope":44445,"src":"777:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44438,"name":"address","nodeType":"ElementaryTypeName","src":"777:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44441,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"816:7:25","nodeType":"VariableDeclaration","scope":44445,"src":"800:23:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44440,"name":"address","nodeType":"ElementaryTypeName","src":"800:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44443,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"833:6:25","nodeType":"VariableDeclaration","scope":44445,"src":"825:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44442,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"776:64:25"},"src":"762:79:25"},{"constant":false,"functionSelector":"06fdde03","id":44447,"mutability":"mutable","name":"name","nameLocation":"1045:4:25","nodeType":"VariableDeclaration","scope":44814,"src":"1031:18:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":44446,"name":"string","nodeType":"ElementaryTypeName","src":"1031:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"95d89b41","id":44449,"mutability":"mutable","name":"symbol","nameLocation":"1070:6:25","nodeType":"VariableDeclaration","scope":44814,"src":"1056:20:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":44448,"name":"string","nodeType":"ElementaryTypeName","src":"1056:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"313ce567","id":44451,"mutability":"immutable","name":"decimals","nameLocation":"1106:8:25","nodeType":"VariableDeclaration","scope":44814,"src":"1083:31:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44450,"name":"uint8","nodeType":"ElementaryTypeName","src":"1083:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"public"},{"constant":false,"functionSelector":"18160ddd","id":44453,"mutability":"mutable","name":"totalSupply","nameLocation":"1319:11:25","nodeType":"VariableDeclaration","scope":44814,"src":"1304:26:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44452,"name":"uint256","nodeType":"ElementaryTypeName","src":"1304:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"70a08231","id":44457,"mutability":"mutable","name":"balanceOf","nameLocation":"1372:9:25","nodeType":"VariableDeclaration","scope":44814,"src":"1337:44:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":44456,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":44454,"name":"address","nodeType":"ElementaryTypeName","src":"1345:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1337:27:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":44455,"name":"uint256","nodeType":"ElementaryTypeName","src":"1356:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"dd62ed3e","id":44463,"mutability":"mutable","name":"allowance","nameLocation":"1443:9:25","nodeType":"VariableDeclaration","scope":44814,"src":"1388:64:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":44462,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":44458,"name":"address","nodeType":"ElementaryTypeName","src":"1396:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1388:47:25","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":44461,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":44459,"name":"address","nodeType":"ElementaryTypeName","src":"1415:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1407:27:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":44460,"name":"uint256","nodeType":"ElementaryTypeName","src":"1426:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"constant":false,"id":44465,"mutability":"immutable","name":"INITIAL_CHAIN_ID","nameLocation":"1670:16:25","nodeType":"VariableDeclaration","scope":44814,"src":"1643:43:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44464,"name":"uint256","nodeType":"ElementaryTypeName","src":"1643:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44467,"mutability":"immutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1720:24:25","nodeType":"VariableDeclaration","scope":44814,"src":"1693:51:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1693:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"functionSelector":"7ecebe00","id":44471,"mutability":"mutable","name":"nonces","nameLocation":"1786:6:25","nodeType":"VariableDeclaration","scope":44814,"src":"1751:41:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":44470,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":44468,"name":"address","nodeType":"ElementaryTypeName","src":"1759:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1751:27:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":44469,"name":"uint256","nodeType":"ElementaryTypeName","src":"1770:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"body":{"id":44502,"nodeType":"Block","src":"2084:189:25","statements":[{"expression":{"id":44482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44480,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44447,"src":"2094:4:25","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44481,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44473,"src":"2101:5:25","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2094:12:25","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":44483,"nodeType":"ExpressionStatement","src":"2094:12:25"},{"expression":{"id":44486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44484,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44449,"src":"2116:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44485,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44475,"src":"2125:7:25","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2116:16:25","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":44487,"nodeType":"ExpressionStatement","src":"2116:16:25"},{"expression":{"id":44490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44488,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44451,"src":"2142:8:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44489,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44477,"src":"2153:9:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2142:20:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":44491,"nodeType":"ExpressionStatement","src":"2142:20:25"},{"expression":{"id":44495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44492,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44465,"src":"2173:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":44493,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2192:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2198:7:25","memberName":"chainid","nodeType":"MemberAccess","src":"2192:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2173:32:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44496,"nodeType":"ExpressionStatement","src":"2173:32:25"},{"expression":{"id":44500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44497,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44467,"src":"2215:24:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":44498,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44757,"src":"2242:22:25","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":44499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2215:51:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44501,"nodeType":"ExpressionStatement","src":"2215:51:25"}]},"id":44503,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":44478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44473,"mutability":"mutable","name":"_name","nameLocation":"2016:5:25","nodeType":"VariableDeclaration","scope":44503,"src":"2002:19:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44472,"name":"string","nodeType":"ElementaryTypeName","src":"2002:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44475,"mutability":"mutable","name":"_symbol","nameLocation":"2045:7:25","nodeType":"VariableDeclaration","scope":44503,"src":"2031:21:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44474,"name":"string","nodeType":"ElementaryTypeName","src":"2031:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44477,"mutability":"mutable","name":"_decimals","nameLocation":"2068:9:25","nodeType":"VariableDeclaration","scope":44503,"src":"2062:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44476,"name":"uint8","nodeType":"ElementaryTypeName","src":"2062:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1992:91:25"},"returnParameters":{"id":44479,"nodeType":"ParameterList","parameters":[],"src":"2084:0:25"},"scope":44814,"src":"1981:292:25","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":44530,"nodeType":"Block","src":"2541:131:25","statements":[{"expression":{"id":44519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":44512,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44463,"src":"2551:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":44516,"indexExpression":{"expression":{"id":44513,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2561:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2565:6:25","memberName":"sender","nodeType":"MemberAccess","src":"2561:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2551:21:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44517,"indexExpression":{"id":44515,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44505,"src":"2573:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2551:30:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44518,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44507,"src":"2584:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2551:39:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44520,"nodeType":"ExpressionStatement","src":"2551:39:25"},{"eventCall":{"arguments":[{"expression":{"id":44522,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2615:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2619:6:25","memberName":"sender","nodeType":"MemberAccess","src":"2615:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44524,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44505,"src":"2627:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44525,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44507,"src":"2636:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44521,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44445,"src":"2606:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2606:37:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44527,"nodeType":"EmitStatement","src":"2601:42:25"},{"expression":{"hexValue":"74727565","id":44528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2661:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":44511,"id":44529,"nodeType":"Return","src":"2654:11:25"}]},"functionSelector":"095ea7b3","id":44531,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2470:7:25","nodeType":"FunctionDefinition","parameters":{"id":44508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44505,"mutability":"mutable","name":"spender","nameLocation":"2486:7:25","nodeType":"VariableDeclaration","scope":44531,"src":"2478:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44504,"name":"address","nodeType":"ElementaryTypeName","src":"2478:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44507,"mutability":"mutable","name":"amount","nameLocation":"2503:6:25","nodeType":"VariableDeclaration","scope":44531,"src":"2495:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44506,"name":"uint256","nodeType":"ElementaryTypeName","src":"2495:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2477:33:25"},"returnParameters":{"id":44511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44531,"src":"2535:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44509,"name":"bool","nodeType":"ElementaryTypeName","src":"2535:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2534:6:25"},"scope":44814,"src":"2461:211:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":44563,"nodeType":"Block","src":"2754:297:25","statements":[{"expression":{"id":44545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44540,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"2764:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44543,"indexExpression":{"expression":{"id":44541,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2774:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2778:6:25","memberName":"sender","nodeType":"MemberAccess","src":"2774:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2764:21:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":44544,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44535,"src":"2789:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2764:31:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44546,"nodeType":"ExpressionStatement","src":"2764:31:25"},{"id":44553,"nodeType":"UncheckedBlock","src":"2917:58:25","statements":[{"expression":{"id":44551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44547,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"2941:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44549,"indexExpression":{"id":44548,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44533,"src":"2951:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2941:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":44550,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44535,"src":"2958:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2941:23:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44552,"nodeType":"ExpressionStatement","src":"2941:23:25"}]},{"eventCall":{"arguments":[{"expression":{"id":44555,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2999:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3003:6:25","memberName":"sender","nodeType":"MemberAccess","src":"2999:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44557,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44533,"src":"3011:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44558,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44535,"src":"3015:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44554,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44437,"src":"2990:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2990:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44560,"nodeType":"EmitStatement","src":"2985:37:25"},{"expression":{"hexValue":"74727565","id":44561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3040:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":44539,"id":44562,"nodeType":"Return","src":"3033:11:25"}]},"functionSelector":"a9059cbb","id":44564,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"2687:8:25","nodeType":"FunctionDefinition","parameters":{"id":44536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44533,"mutability":"mutable","name":"to","nameLocation":"2704:2:25","nodeType":"VariableDeclaration","scope":44564,"src":"2696:10:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44532,"name":"address","nodeType":"ElementaryTypeName","src":"2696:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44535,"mutability":"mutable","name":"amount","nameLocation":"2716:6:25","nodeType":"VariableDeclaration","scope":44564,"src":"2708:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44534,"name":"uint256","nodeType":"ElementaryTypeName","src":"2708:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2695:28:25"},"returnParameters":{"id":44539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44564,"src":"2748:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44537,"name":"bool","nodeType":"ElementaryTypeName","src":"2748:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2747:6:25"},"scope":44814,"src":"2678:373:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":44624,"nodeType":"Block","src":"3181:468:25","statements":[{"assignments":[44576],"declarations":[{"constant":false,"id":44576,"mutability":"mutable","name":"allowed","nameLocation":"3199:7:25","nodeType":"VariableDeclaration","scope":44624,"src":"3191:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44575,"name":"uint256","nodeType":"ElementaryTypeName","src":"3191:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44583,"initialValue":{"baseExpression":{"baseExpression":{"id":44577,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44463,"src":"3209:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":44579,"indexExpression":{"id":44578,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44566,"src":"3219:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3209:15:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44582,"indexExpression":{"expression":{"id":44580,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3225:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3229:6:25","memberName":"sender","nodeType":"MemberAccess","src":"3225:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3209:27:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3191:45:25"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44584,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44576,"src":"3287:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":44587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3303:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":44586,"name":"uint256","nodeType":"ElementaryTypeName","src":"3303:7:25","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":44585,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3298:4:25","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":44588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3298:13:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":44589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3312:3:25","memberName":"max","nodeType":"MemberAccess","src":"3298:17:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3287:28:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44602,"nodeType":"IfStatement","src":"3283:80:25","trueBody":{"expression":{"id":44600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":44591,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44463,"src":"3317:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":44595,"indexExpression":{"id":44592,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44566,"src":"3327:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3317:15:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44596,"indexExpression":{"expression":{"id":44593,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3333:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3337:6:25","memberName":"sender","nodeType":"MemberAccess","src":"3333:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3317:27:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44597,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44576,"src":"3347:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":44598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"3357:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3347:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3317:46:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44601,"nodeType":"ExpressionStatement","src":"3317:46:25"}},{"expression":{"id":44607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44603,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"3374:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44605,"indexExpression":{"id":44604,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44566,"src":"3384:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3374:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":44606,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"3393:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3374:25:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44608,"nodeType":"ExpressionStatement","src":"3374:25:25"},{"id":44615,"nodeType":"UncheckedBlock","src":"3521:58:25","statements":[{"expression":{"id":44613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44609,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"3545:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44611,"indexExpression":{"id":44610,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44568,"src":"3555:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3545:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":44612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"3562:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3545:23:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44614,"nodeType":"ExpressionStatement","src":"3545:23:25"}]},{"eventCall":{"arguments":[{"id":44617,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44566,"src":"3603:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44618,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44568,"src":"3609:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44619,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"3613:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44616,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44437,"src":"3594:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3594:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44621,"nodeType":"EmitStatement","src":"3589:31:25"},{"expression":{"hexValue":"74727565","id":44622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3638:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":44574,"id":44623,"nodeType":"Return","src":"3631:11:25"}]},"functionSelector":"23b872dd","id":44625,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3066:12:25","nodeType":"FunctionDefinition","parameters":{"id":44571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44566,"mutability":"mutable","name":"from","nameLocation":"3096:4:25","nodeType":"VariableDeclaration","scope":44625,"src":"3088:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44565,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44568,"mutability":"mutable","name":"to","nameLocation":"3118:2:25","nodeType":"VariableDeclaration","scope":44625,"src":"3110:10:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44567,"name":"address","nodeType":"ElementaryTypeName","src":"3110:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44570,"mutability":"mutable","name":"amount","nameLocation":"3138:6:25","nodeType":"VariableDeclaration","scope":44625,"src":"3130:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44569,"name":"uint256","nodeType":"ElementaryTypeName","src":"3130:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3078:72:25"},"returnParameters":{"id":44574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44625,"src":"3175:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44572,"name":"bool","nodeType":"ElementaryTypeName","src":"3175:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3174:6:25"},"scope":44814,"src":"3057:592:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":44711,"nodeType":"Block","src":"4027:1294:25","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44643,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44633,"src":"4045:8:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":44644,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4057:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4063:9:25","memberName":"timestamp","nodeType":"MemberAccess","src":"4057:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4045:27:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":44647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4074:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":44642,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4037:7:25","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":44648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:63:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44649,"nodeType":"ExpressionStatement","src":"4037:63:25"},{"id":44704,"nodeType":"UncheckedBlock","src":"4241:1027:25","statements":[{"assignments":[44651],"declarations":[{"constant":false,"id":44651,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4273:16:25","nodeType":"VariableDeclaration","scope":44704,"src":"4265:24:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44650,"name":"address","nodeType":"ElementaryTypeName","src":"4265:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":44681,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":44656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4392:10:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":44657,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44727,"src":"4428:16:25","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":44658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4428:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":44663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4602:84:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":44662,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4555:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4555:165:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44665,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44627,"src":"4754:5:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44666,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44629,"src":"4793:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44667,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44631,"src":"4834:5:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4873:15:25","subExpression":{"baseExpression":{"id":44668,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44471,"src":"4873:6:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44670,"indexExpression":{"id":44669,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44627,"src":"4880:5:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4873:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44672,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44633,"src":"4922:8:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4511:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4515:6:25","memberName":"encode","nodeType":"MemberAccess","src":"4511:10:25","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":44673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4511:449:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44659,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4472:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4472:514:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":44654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4350:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4354:12:25","memberName":"encodePacked","nodeType":"MemberAccess","src":"4350:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":44675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:658:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44653,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4319:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:707:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44677,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44635,"src":"5044:1:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":44678,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44637,"src":"5063:1:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":44679,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44639,"src":"5082:1:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44652,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4292:9:25","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":44680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4292:805:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4265:832:25"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":44688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44683,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44651,"src":"5120:16:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":44686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5148:1:25","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":44685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5140:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44684,"name":"address","nodeType":"ElementaryTypeName","src":"5140:7:25","typeDescriptions":{}}},"id":44687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5140:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5120:30:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":44691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44689,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44651,"src":"5154:16:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44690,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44627,"src":"5174:5:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5154:25:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5120:59:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":44693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5181:16:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":44682,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5112:7:25","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":44694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5112:86:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44695,"nodeType":"ExpressionStatement","src":"5112:86:25"},{"expression":{"id":44702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":44696,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44463,"src":"5213:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":44699,"indexExpression":{"id":44697,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44651,"src":"5223:16:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5213:27:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44700,"indexExpression":{"id":44698,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44629,"src":"5241:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5213:36:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44701,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44631,"src":"5252:5:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5213:44:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44703,"nodeType":"ExpressionStatement","src":"5213:44:25"}]},{"eventCall":{"arguments":[{"id":44706,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44627,"src":"5292:5:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44707,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44629,"src":"5299:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44708,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44631,"src":"5308:5:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44705,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44445,"src":"5283:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5283:31:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44710,"nodeType":"EmitStatement","src":"5278:36:25"}]},"functionSelector":"d505accf","id":44712,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"3847:6:25","nodeType":"FunctionDefinition","parameters":{"id":44640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44627,"mutability":"mutable","name":"owner","nameLocation":"3871:5:25","nodeType":"VariableDeclaration","scope":44712,"src":"3863:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44626,"name":"address","nodeType":"ElementaryTypeName","src":"3863:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44629,"mutability":"mutable","name":"spender","nameLocation":"3894:7:25","nodeType":"VariableDeclaration","scope":44712,"src":"3886:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44628,"name":"address","nodeType":"ElementaryTypeName","src":"3886:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44631,"mutability":"mutable","name":"value","nameLocation":"3919:5:25","nodeType":"VariableDeclaration","scope":44712,"src":"3911:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44630,"name":"uint256","nodeType":"ElementaryTypeName","src":"3911:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44633,"mutability":"mutable","name":"deadline","nameLocation":"3942:8:25","nodeType":"VariableDeclaration","scope":44712,"src":"3934:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44632,"name":"uint256","nodeType":"ElementaryTypeName","src":"3934:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44635,"mutability":"mutable","name":"v","nameLocation":"3966:1:25","nodeType":"VariableDeclaration","scope":44712,"src":"3960:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":44634,"name":"uint8","nodeType":"ElementaryTypeName","src":"3960:5:25","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":44637,"mutability":"mutable","name":"r","nameLocation":"3985:1:25","nodeType":"VariableDeclaration","scope":44712,"src":"3977:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3977:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44639,"mutability":"mutable","name":"s","nameLocation":"4004:1:25","nodeType":"VariableDeclaration","scope":44712,"src":"3996:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3996:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3853:158:25"},"returnParameters":{"id":44641,"nodeType":"ParameterList","parameters":[],"src":"4027:0:25"},"scope":44814,"src":"3838:1483:25","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":44726,"nodeType":"Block","src":"5393:111:25","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44717,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5410:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5416:7:25","memberName":"chainid","nodeType":"MemberAccess","src":"5410:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44719,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44465,"src":"5427:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5410:33:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":44722,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44757,"src":"5473:22:25","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":44723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5473:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5410:87:25","trueExpression":{"id":44721,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44467,"src":"5446:24:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44716,"id":44725,"nodeType":"Return","src":"5403:94:25"}]},"functionSelector":"3644e515","id":44727,"implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5336:16:25","nodeType":"FunctionDefinition","parameters":{"id":44713,"nodeType":"ParameterList","parameters":[],"src":"5352:2:25"},"returnParameters":{"id":44716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44727,"src":"5384:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5384:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5383:9:25"},"scope":44814,"src":"5327:177:25","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":44756,"nodeType":"Block","src":"5584:372:25","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":44736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5682:84:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":44735,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5672:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":44741,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44447,"src":"5805:4:25","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":44740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5799:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":44739,"name":"bytes","nodeType":"ElementaryTypeName","src":"5799:5:25","typeDescriptions":{}}},"id":44742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5799:11:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":44738,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5789:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5789:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":44745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5843:3:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":44744,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5833:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5833:14:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":44747,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5869:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":44748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5875:7:25","memberName":"chainid","nodeType":"MemberAccess","src":"5869:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":44751,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5912:4:25","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$44814","typeString":"contract ERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20_$44814","typeString":"contract ERC20"}],"id":44750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5904:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44749,"name":"address","nodeType":"ElementaryTypeName","src":"5904:7:25","typeDescriptions":{}}},"id":44752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5904:13:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44733,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5640:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5644:6:25","memberName":"encode","nodeType":"MemberAccess","src":"5640:10:25","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":44753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5640:295:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44732,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5613:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":44754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5613:336:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44731,"id":44755,"nodeType":"Return","src":"5594:355:25"}]},"id":44757,"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5519:22:25","nodeType":"FunctionDefinition","parameters":{"id":44728,"nodeType":"ParameterList","parameters":[],"src":"5541:2:25"},"returnParameters":{"id":44731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44757,"src":"5575:7:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5575:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5574:9:25"},"scope":44814,"src":"5510:446:25","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":44784,"nodeType":"Block","src":"6210:265:25","statements":[{"expression":{"id":44766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44764,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44453,"src":"6220:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":44765,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44761,"src":"6235:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6220:21:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44767,"nodeType":"ExpressionStatement","src":"6220:21:25"},{"id":44774,"nodeType":"UncheckedBlock","src":"6363:58:25","statements":[{"expression":{"id":44772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44768,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"6387:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44770,"indexExpression":{"id":44769,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44759,"src":"6397:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6387:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":44771,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44761,"src":"6404:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6387:23:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44773,"nodeType":"ExpressionStatement","src":"6387:23:25"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":44778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6453:1:25","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":44777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6445:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44776,"name":"address","nodeType":"ElementaryTypeName","src":"6445:7:25","typeDescriptions":{}}},"id":44779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6445:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44780,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44759,"src":"6457:2:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44781,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44761,"src":"6461:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44775,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44437,"src":"6436:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6436:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44783,"nodeType":"EmitStatement","src":"6431:37:25"}]},"id":44785,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6159:5:25","nodeType":"FunctionDefinition","parameters":{"id":44762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44759,"mutability":"mutable","name":"to","nameLocation":"6173:2:25","nodeType":"VariableDeclaration","scope":44785,"src":"6165:10:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44758,"name":"address","nodeType":"ElementaryTypeName","src":"6165:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44761,"mutability":"mutable","name":"amount","nameLocation":"6185:6:25","nodeType":"VariableDeclaration","scope":44785,"src":"6177:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44760,"name":"uint256","nodeType":"ElementaryTypeName","src":"6177:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6164:28:25"},"returnParameters":{"id":44763,"nodeType":"ParameterList","parameters":[],"src":"6210:0:25"},"scope":44814,"src":"6150:325:25","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":44812,"nodeType":"Block","src":"6543:266:25","statements":[{"expression":{"id":44796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":44792,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44457,"src":"6553:9:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":44794,"indexExpression":{"id":44793,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44787,"src":"6563:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6553:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":44795,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44789,"src":"6572:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6553:25:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44797,"nodeType":"ExpressionStatement","src":"6553:25:25"},{"id":44802,"nodeType":"UncheckedBlock","src":"6697:56:25","statements":[{"expression":{"id":44800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44798,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44453,"src":"6721:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":44799,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44789,"src":"6736:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6721:21:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44801,"nodeType":"ExpressionStatement","src":"6721:21:25"}]},{"eventCall":{"arguments":[{"id":44804,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44787,"src":"6777:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":44807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6791:1:25","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":44806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6783:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":44805,"name":"address","nodeType":"ElementaryTypeName","src":"6783:7:25","typeDescriptions":{}}},"id":44808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6783:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44809,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44789,"src":"6795:6:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44803,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44437,"src":"6768:8:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":44810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6768:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44811,"nodeType":"EmitStatement","src":"6763:39:25"}]},"id":44813,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6490:5:25","nodeType":"FunctionDefinition","parameters":{"id":44790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44787,"mutability":"mutable","name":"from","nameLocation":"6504:4:25","nodeType":"VariableDeclaration","scope":44813,"src":"6496:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44786,"name":"address","nodeType":"ElementaryTypeName","src":"6496:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44789,"mutability":"mutable","name":"amount","nameLocation":"6518:6:25","nodeType":"VariableDeclaration","scope":44813,"src":"6510:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44788,"name":"uint256","nodeType":"ElementaryTypeName","src":"6510:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6495:30:25"},"returnParameters":{"id":44791,"nodeType":"ParameterList","parameters":[],"src":"6543:0:25"},"scope":44814,"src":"6481:328:25","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":44815,"src":"474:6337:25","usedErrors":[],"usedEvents":[44437,44445]}],"src":"42:6770:25"},"id":25},"v4-core/src/ERC6909.sol":{"ast":{"absolutePath":"v4-core/src/ERC6909.sol","exportedSymbols":{"ERC6909":[58102],"IERC6909Claims":[45108]},"id":58103,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57811,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:26"},{"absolutePath":"v4-core/src/interfaces/external/IERC6909Claims.sol","file":"./interfaces/external/IERC6909Claims.sol","id":57813,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":58103,"sourceUnit":45109,"src":"57:72:26","symbolAliases":[{"foreign":{"id":57812,"name":"IERC6909Claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45108,"src":"65:14:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":57815,"name":"IERC6909Claims","nameLocations":["492:14:26"],"nodeType":"IdentifierPath","referencedDeclaration":45108,"src":"492:14:26"},"id":57816,"nodeType":"InheritanceSpecifier","src":"492:14:26"}],"canonicalName":"ERC6909","contractDependencies":[],"contractKind":"contract","documentation":{"id":57814,"nodeType":"StructuredDocumentation","src":"131:332:26","text":"@notice Minimalist and gas efficient standard ERC6909 implementation.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC6909.sol)\n @dev Copied from the commit at 4b47a19038b798b4a33d9749d25e570443520647\n @dev This contract has been modified from the implementation at the above link."},"fullyImplemented":true,"id":58102,"linearizedBaseContracts":[58102,45108],"name":"ERC6909","nameLocation":"481:7:26","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[45059],"constant":false,"functionSelector":"b6363cf2","id":57822,"mutability":"mutable","name":"isOperator","nameLocation":"775:10:26","nodeType":"VariableDeclaration","scope":58102,"src":"697:88:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":57821,"keyName":"owner","keyNameLocation":"713:5:26","keyType":{"id":57817,"name":"address","nodeType":"ElementaryTypeName","src":"705:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"697:70:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":57820,"keyName":"operator","keyNameLocation":"738:8:26","keyType":{"id":57818,"name":"address","nodeType":"ElementaryTypeName","src":"730:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"722:44:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isOperator","valueNameLocation":"755:10:26","valueType":{"id":57819,"name":"bool","nodeType":"ElementaryTypeName","src":"750:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"baseFunctions":[45037],"constant":false,"functionSelector":"00fdd58e","id":57828,"mutability":"mutable","name":"balanceOf","nameLocation":"864:9:26","nodeType":"VariableDeclaration","scope":58102,"src":"792:81:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":57827,"keyName":"owner","keyNameLocation":"808:5:26","keyType":{"id":57823,"name":"address","nodeType":"ElementaryTypeName","src":"800:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"792:64:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":57826,"keyName":"id","keyNameLocation":"833:2:26","keyType":{"id":57824,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"817:38:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"balance","valueNameLocation":"847:7:26","valueType":{"id":57825,"name":"uint256","nodeType":"ElementaryTypeName","src":"839:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"baseFunctions":[45049],"constant":false,"functionSelector":"598af9e7","id":57836,"mutability":"mutable","name":"allowance","nameLocation":"979:9:26","nodeType":"VariableDeclaration","scope":58102,"src":"880:108:26","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"typeName":{"id":57835,"keyName":"owner","keyNameLocation":"896:5:26","keyType":{"id":57829,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"880:91:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":57834,"keyName":"spender","keyNameLocation":"921:7:26","keyType":{"id":57830,"name":"address","nodeType":"ElementaryTypeName","src":"913:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"905:65:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":57833,"keyName":"id","keyNameLocation":"948:2:26","keyType":{"id":57831,"name":"uint256","nodeType":"ElementaryTypeName","src":"940:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"932:37:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"amount","valueNameLocation":"962:6:26","valueType":{"id":57832,"name":"uint256","nodeType":"ElementaryTypeName","src":"954:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"public"},{"baseFunctions":[45071],"body":{"id":57876,"nodeType":"Block","src":"1272:188:26","statements":[{"expression":{"id":57854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":57847,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"1282:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57851,"indexExpression":{"expression":{"id":57848,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1292:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1296:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1292:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1282:21:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57852,"indexExpression":{"id":57850,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57840,"src":"1304:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1282:25:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":57853,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57842,"src":"1311:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1282:35:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57855,"nodeType":"ExpressionStatement","src":"1282:35:26"},{"expression":{"id":57862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":57856,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"1328:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57859,"indexExpression":{"id":57857,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57838,"src":"1338:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1328:19:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57860,"indexExpression":{"id":57858,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57840,"src":"1348:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1328:23:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":57861,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57842,"src":"1355:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57863,"nodeType":"ExpressionStatement","src":"1328:33:26"},{"eventCall":{"arguments":[{"expression":{"id":57865,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1386:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1390:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1386:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":57867,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1398:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1402:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1398:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57869,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57838,"src":"1410:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57870,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57840,"src":"1420:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57871,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57842,"src":"1424:6:26","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_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57864,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45027,"src":"1377:8:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":57872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1377:54:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57873,"nodeType":"EmitStatement","src":"1372:59:26"},{"expression":{"hexValue":"74727565","id":57874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1449:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":57846,"id":57875,"nodeType":"Return","src":"1442:11:26"}]},"functionSelector":"095bcdb6","id":57877,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1187:8:26","nodeType":"FunctionDefinition","parameters":{"id":57843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57838,"mutability":"mutable","name":"receiver","nameLocation":"1204:8:26","nodeType":"VariableDeclaration","scope":57877,"src":"1196:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57837,"name":"address","nodeType":"ElementaryTypeName","src":"1196:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57840,"mutability":"mutable","name":"id","nameLocation":"1222:2:26","nodeType":"VariableDeclaration","scope":57877,"src":"1214:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57839,"name":"uint256","nodeType":"ElementaryTypeName","src":"1214:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57842,"mutability":"mutable","name":"amount","nameLocation":"1234:6:26","nodeType":"VariableDeclaration","scope":57877,"src":"1226:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57841,"name":"uint256","nodeType":"ElementaryTypeName","src":"1226:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1195:46:26"},"returnParameters":{"id":57846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57877,"src":"1266:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57844,"name":"bool","nodeType":"ElementaryTypeName","src":"1266:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1265:6:26"},"scope":58102,"src":"1178:282:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[45085],"body":{"id":57963,"nodeType":"Block","src":"1580:427:26","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57890,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1594:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1598:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1594:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57892,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1608:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1594:20:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":57900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1618:31:26","subExpression":{"baseExpression":{"baseExpression":{"id":57894,"name":"isOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57822,"src":"1619:10:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":57896,"indexExpression":{"id":57895,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1630:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1619:18:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":57899,"indexExpression":{"expression":{"id":57897,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1638:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1642:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1638:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1619:30:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1594:55:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57935,"nodeType":"IfStatement","src":"1590:237:26","trueBody":{"id":57934,"nodeType":"Block","src":"1651:176:26","statements":[{"assignments":[57903],"declarations":[{"constant":false,"id":57903,"mutability":"mutable","name":"allowed","nameLocation":"1673:7:26","nodeType":"VariableDeclaration","scope":57934,"src":"1665:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57902,"name":"uint256","nodeType":"ElementaryTypeName","src":"1665:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57912,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"id":57904,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57836,"src":"1683:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":57906,"indexExpression":{"id":57905,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1693:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1683:17:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57909,"indexExpression":{"expression":{"id":57907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1701:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1705:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1701:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1683:29:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57911,"indexExpression":{"id":57910,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57883,"src":"1713:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1683:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1665:51:26"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57913,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57903,"src":"1734:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":57916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1750:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57915,"name":"uint256","nodeType":"ElementaryTypeName","src":"1750:7:26","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":57914,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1745:4:26","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":57917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1745:13:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":57918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1759:3:26","memberName":"max","nodeType":"MemberAccess","src":"1745:17:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1734:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57933,"nodeType":"IfStatement","src":"1730:86:26","trueBody":{"expression":{"id":57931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":57920,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57836,"src":"1764:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":57925,"indexExpression":{"id":57921,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1774:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1764:17:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57926,"indexExpression":{"expression":{"id":57922,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1782:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1786:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1782:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1764:29:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57927,"indexExpression":{"id":57924,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57883,"src":"1794:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1764:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57928,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57903,"src":"1800:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":57929,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57885,"src":"1810:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1800:16:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1764:52:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57932,"nodeType":"ExpressionStatement","src":"1764:52:26"}}]}},{"expression":{"id":57942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":57936,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"1837:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57939,"indexExpression":{"id":57937,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1847:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1837:17:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57940,"indexExpression":{"id":57938,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57883,"src":"1855:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1837:21:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":57941,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57885,"src":"1862:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1837:31:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57943,"nodeType":"ExpressionStatement","src":"1837:31:26"},{"expression":{"id":57950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":57944,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"1879:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57947,"indexExpression":{"id":57945,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"1889:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1879:19:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57948,"indexExpression":{"id":57946,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57883,"src":"1899:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1879:23:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":57949,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57885,"src":"1906:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1879:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57951,"nodeType":"ExpressionStatement","src":"1879:33:26"},{"eventCall":{"arguments":[{"expression":{"id":57953,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1937:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1941:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1937:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57955,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57879,"src":"1949:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57956,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"1957:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57957,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57883,"src":"1967:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57958,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57885,"src":"1971:6:26","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_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57952,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45027,"src":"1928:8:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":57959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1928:50:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57960,"nodeType":"EmitStatement","src":"1923:55:26"},{"expression":{"hexValue":"74727565","id":57961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1996:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":57889,"id":57962,"nodeType":"Return","src":"1989:11:26"}]},"functionSelector":"fe99049a","id":57964,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1475:12:26","nodeType":"FunctionDefinition","parameters":{"id":57886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57879,"mutability":"mutable","name":"sender","nameLocation":"1496:6:26","nodeType":"VariableDeclaration","scope":57964,"src":"1488:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57878,"name":"address","nodeType":"ElementaryTypeName","src":"1488:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57881,"mutability":"mutable","name":"receiver","nameLocation":"1512:8:26","nodeType":"VariableDeclaration","scope":57964,"src":"1504:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57880,"name":"address","nodeType":"ElementaryTypeName","src":"1504:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57883,"mutability":"mutable","name":"id","nameLocation":"1530:2:26","nodeType":"VariableDeclaration","scope":57964,"src":"1522:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57882,"name":"uint256","nodeType":"ElementaryTypeName","src":"1522:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57885,"mutability":"mutable","name":"amount","nameLocation":"1542:6:26","nodeType":"VariableDeclaration","scope":57964,"src":"1534:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57884,"name":"uint256","nodeType":"ElementaryTypeName","src":"1534:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1487:62:26"},"returnParameters":{"id":57889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57964,"src":"1574:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57887,"name":"bool","nodeType":"ElementaryTypeName","src":"1574:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1573:6:26"},"scope":58102,"src":"1466:541:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[45097],"body":{"id":57996,"nodeType":"Block","src":"2105:139:26","statements":[{"expression":{"id":57984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":57975,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57836,"src":"2115:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":57980,"indexExpression":{"expression":{"id":57976,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2125:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2129:6:26","memberName":"sender","nodeType":"MemberAccess","src":"2125:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2115:21:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":57981,"indexExpression":{"id":57978,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57966,"src":"2137:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2115:30:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":57982,"indexExpression":{"id":57979,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57968,"src":"2146:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2115:34:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57983,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57970,"src":"2152:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2115:43:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57985,"nodeType":"ExpressionStatement","src":"2115:43:26"},{"eventCall":{"arguments":[{"expression":{"id":57987,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2183:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2187:6:26","memberName":"sender","nodeType":"MemberAccess","src":"2183:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57989,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57966,"src":"2195:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57990,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57968,"src":"2204:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57991,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57970,"src":"2208:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57986,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45015,"src":"2174:8:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":57992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2174:41:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57993,"nodeType":"EmitStatement","src":"2169:46:26"},{"expression":{"hexValue":"74727565","id":57994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2233:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":57974,"id":57995,"nodeType":"Return","src":"2226:11:26"}]},"functionSelector":"426a8493","id":57997,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2022:7:26","nodeType":"FunctionDefinition","parameters":{"id":57971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57966,"mutability":"mutable","name":"spender","nameLocation":"2038:7:26","nodeType":"VariableDeclaration","scope":57997,"src":"2030:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57965,"name":"address","nodeType":"ElementaryTypeName","src":"2030:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57968,"mutability":"mutable","name":"id","nameLocation":"2055:2:26","nodeType":"VariableDeclaration","scope":57997,"src":"2047:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57967,"name":"uint256","nodeType":"ElementaryTypeName","src":"2047:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57970,"mutability":"mutable","name":"amount","nameLocation":"2067:6:26","nodeType":"VariableDeclaration","scope":57997,"src":"2059:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57969,"name":"uint256","nodeType":"ElementaryTypeName","src":"2059:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2029:45:26"},"returnParameters":{"id":57974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57997,"src":"2099:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57972,"name":"bool","nodeType":"ElementaryTypeName","src":"2099:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2098:6:26"},"scope":58102,"src":"2013:231:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[45107],"body":{"id":58024,"nodeType":"Block","src":"2334:141:26","statements":[{"expression":{"id":58013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":58006,"name":"isOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57822,"src":"2344:10:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":58010,"indexExpression":{"expression":{"id":58007,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2355:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2359:6:26","memberName":"sender","nodeType":"MemberAccess","src":"2355:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2344:22:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":58011,"indexExpression":{"id":58009,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57999,"src":"2367:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2344:32:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58012,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58001,"src":"2379:8:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2344:43:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58014,"nodeType":"ExpressionStatement","src":"2344:43:26"},{"eventCall":{"arguments":[{"expression":{"id":58016,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2415:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2419:6:26","memberName":"sender","nodeType":"MemberAccess","src":"2415:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58018,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57999,"src":"2427:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58019,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58001,"src":"2437:8:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":58015,"name":"OperatorSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45005,"src":"2403:11:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":58020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2403:43:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58021,"nodeType":"EmitStatement","src":"2398:48:26"},{"expression":{"hexValue":"74727565","id":58022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2464:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":58005,"id":58023,"nodeType":"Return","src":"2457:11:26"}]},"functionSelector":"558a7297","id":58025,"implemented":true,"kind":"function","modifiers":[],"name":"setOperator","nameLocation":"2259:11:26","nodeType":"FunctionDefinition","parameters":{"id":58002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57999,"mutability":"mutable","name":"operator","nameLocation":"2279:8:26","nodeType":"VariableDeclaration","scope":58025,"src":"2271:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57998,"name":"address","nodeType":"ElementaryTypeName","src":"2271:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58001,"mutability":"mutable","name":"approved","nameLocation":"2294:8:26","nodeType":"VariableDeclaration","scope":58025,"src":"2289:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58000,"name":"bool","nodeType":"ElementaryTypeName","src":"2289:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2270:33:26"},"returnParameters":{"id":58005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58025,"src":"2328:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58003,"name":"bool","nodeType":"ElementaryTypeName","src":"2328:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2327:6:26"},"scope":58102,"src":"2250:225:26","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":58040,"nodeType":"Block","src":"2745:159:26","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":58034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58032,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58027,"src":"2762:11:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783031666663396137","id":58033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2777:10:26","typeDescriptions":{"typeIdentifier":"t_rational_33540519_by_1","typeString":"int_const 33540519"},"value":"0x01ffc9a7"},"src":"2762:25:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":58037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58035,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58027,"src":"2837:11:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783066363332666233","id":58036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2852:10:26","typeDescriptions":{"typeIdentifier":"t_rational_258158515_by_1","typeString":"int_const 258158515"},"value":"0x0f632fb3"},"src":"2837:25:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2762:100:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":58031,"id":58039,"nodeType":"Return","src":"2755:107:26"}]},"functionSelector":"01ffc9a7","id":58041,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2672:17:26","nodeType":"FunctionDefinition","parameters":{"id":58028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58027,"mutability":"mutable","name":"interfaceId","nameLocation":"2697:11:26","nodeType":"VariableDeclaration","scope":58041,"src":"2690:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":58026,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2690:6:26","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2689:20:26"},"returnParameters":{"id":58031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58041,"src":"2739:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58029,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:26"},"scope":58102,"src":"2663:241:26","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":58070,"nodeType":"Block","src":"3176:120:26","statements":[{"expression":{"id":58056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":58050,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"3186:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":58053,"indexExpression":{"id":58051,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58043,"src":"3196:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3186:19:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":58054,"indexExpression":{"id":58052,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58045,"src":"3206:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3186:23:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":58055,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58047,"src":"3213:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3186:33:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58057,"nodeType":"ExpressionStatement","src":"3186:33:26"},{"eventCall":{"arguments":[{"expression":{"id":58059,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3244:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3248:6:26","memberName":"sender","nodeType":"MemberAccess","src":"3244:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":58063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3264:1:26","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":58062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3256:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58061,"name":"address","nodeType":"ElementaryTypeName","src":"3256:7:26","typeDescriptions":{}}},"id":58064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3256:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58065,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58043,"src":"3268:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58066,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58045,"src":"3278:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58067,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58047,"src":"3282:6:26","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_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58058,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45027,"src":"3235:8:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":58068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3235:54:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58069,"nodeType":"EmitStatement","src":"3230:59:26"}]},"id":58071,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"3107:5:26","nodeType":"FunctionDefinition","parameters":{"id":58048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58043,"mutability":"mutable","name":"receiver","nameLocation":"3121:8:26","nodeType":"VariableDeclaration","scope":58071,"src":"3113:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58042,"name":"address","nodeType":"ElementaryTypeName","src":"3113:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58045,"mutability":"mutable","name":"id","nameLocation":"3139:2:26","nodeType":"VariableDeclaration","scope":58071,"src":"3131:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58044,"name":"uint256","nodeType":"ElementaryTypeName","src":"3131:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58047,"mutability":"mutable","name":"amount","nameLocation":"3151:6:26","nodeType":"VariableDeclaration","scope":58071,"src":"3143:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58046,"name":"uint256","nodeType":"ElementaryTypeName","src":"3143:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3112:46:26"},"returnParameters":{"id":58049,"nodeType":"ParameterList","parameters":[],"src":"3176:0:26"},"scope":58102,"src":"3098:198:26","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":58100,"nodeType":"Block","src":"3378:116:26","statements":[{"expression":{"id":58086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":58080,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57828,"src":"3388:9:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":58083,"indexExpression":{"id":58081,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3398:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3388:17:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":58084,"indexExpression":{"id":58082,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58075,"src":"3406:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3388:21:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":58085,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58077,"src":"3413:6:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3388:31:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58087,"nodeType":"ExpressionStatement","src":"3388:31:26"},{"eventCall":{"arguments":[{"expression":{"id":58089,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3444:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":58090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3448:6:26","memberName":"sender","nodeType":"MemberAccess","src":"3444:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58091,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3456:6:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":58094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3472:1:26","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":58093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3464:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58092,"name":"address","nodeType":"ElementaryTypeName","src":"3464:7:26","typeDescriptions":{}}},"id":58095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3464:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58096,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58075,"src":"3476:2:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58097,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58077,"src":"3480:6:26","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_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58088,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45027,"src":"3435:8:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,uint256,uint256)"}},"id":58098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3435:52:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58099,"nodeType":"EmitStatement","src":"3430:57:26"}]},"id":58101,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"3311:5:26","nodeType":"FunctionDefinition","parameters":{"id":58078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58073,"mutability":"mutable","name":"sender","nameLocation":"3325:6:26","nodeType":"VariableDeclaration","scope":58101,"src":"3317:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58072,"name":"address","nodeType":"ElementaryTypeName","src":"3317:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58075,"mutability":"mutable","name":"id","nameLocation":"3341:2:26","nodeType":"VariableDeclaration","scope":58101,"src":"3333:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58074,"name":"uint256","nodeType":"ElementaryTypeName","src":"3333:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58077,"mutability":"mutable","name":"amount","nameLocation":"3353:6:26","nodeType":"VariableDeclaration","scope":58101,"src":"3345:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58076,"name":"uint256","nodeType":"ElementaryTypeName","src":"3345:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3316:44:26"},"returnParameters":{"id":58079,"nodeType":"ParameterList","parameters":[],"src":"3378:0:26"},"scope":58102,"src":"3302:192:26","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":58103,"src":"463:3033:26","usedErrors":[],"usedEvents":[45005,45015,45027]}],"src":"32:3465:26"},"id":26},"v4-core/src/ERC6909Claims.sol":{"ast":{"absolutePath":"v4-core/src/ERC6909Claims.sol","exportedSymbols":{"ERC6909":[58102],"ERC6909Claims":[57011]},"id":57012,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56940,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:27"},{"absolutePath":"v4-core/src/ERC6909.sol","file":"./ERC6909.sol","id":56942,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57012,"sourceUnit":58103,"src":"57:38:27","symbolAliases":[{"foreign":{"id":56941,"name":"ERC6909","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"65:7:27","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":56944,"name":"ERC6909","nameLocations":["220:7:27"],"nodeType":"IdentifierPath","referencedDeclaration":58102,"src":"220:7:27"},"id":56945,"nodeType":"InheritanceSpecifier","src":"220:7:27"}],"canonicalName":"ERC6909Claims","contractDependencies":[],"contractKind":"contract","documentation":{"id":56943,"nodeType":"StructuredDocumentation","src":"97:88:27","text":"@notice ERC6909Claims inherits ERC6909 and implements an internal burnFrom function"},"fullyImplemented":true,"id":57011,"linearizedBaseContracts":[57011,58102,45108],"name":"ERC6909Claims","nameLocation":"203:13:27","nodeType":"ContractDefinition","nodes":[{"body":{"id":57009,"nodeType":"Block","src":"600:355:27","statements":[{"assignments":[56956],"declarations":[{"constant":false,"id":56956,"mutability":"mutable","name":"sender","nameLocation":"618:6:27","nodeType":"VariableDeclaration","scope":57009,"src":"610:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56955,"name":"address","nodeType":"ElementaryTypeName","src":"610:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56959,"initialValue":{"expression":{"id":56957,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"627:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":56958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"631:6:27","memberName":"sender","nodeType":"MemberAccess","src":"627:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"610:27:27"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56960,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"651:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":56961,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56956,"src":"659:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"651:14:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":56968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"669:25:27","subExpression":{"baseExpression":{"baseExpression":{"id":56963,"name":"isOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57822,"src":"670:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":56965,"indexExpression":{"id":56964,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"681:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"670:16:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":56967,"indexExpression":{"id":56966,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56956,"src":"687:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"670:24:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"651:43:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57002,"nodeType":"IfStatement","src":"647:269:27","trueBody":{"id":57001,"nodeType":"Block","src":"696:220:27","statements":[{"assignments":[56971],"declarations":[{"constant":false,"id":56971,"mutability":"mutable","name":"senderAllowance","nameLocation":"718:15:27","nodeType":"VariableDeclaration","scope":57001,"src":"710:23:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56970,"name":"uint256","nodeType":"ElementaryTypeName","src":"710:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56979,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"id":56972,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57836,"src":"736:9:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":56974,"indexExpression":{"id":56973,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"746:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"736:15:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":56976,"indexExpression":{"id":56975,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56956,"src":"752:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"736:23:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":56978,"indexExpression":{"id":56977,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56950,"src":"760:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"736:27:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"710:53:27"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56980,"name":"senderAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56971,"src":"781:15:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"805:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56982,"name":"uint256","nodeType":"ElementaryTypeName","src":"805:7:27","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56981,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"800:4:27","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"800:13:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"814:3:27","memberName":"max","nodeType":"MemberAccess","src":"800:17:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"781:36:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57000,"nodeType":"IfStatement","src":"777:129:27","trueBody":{"id":56999,"nodeType":"Block","src":"819:87:27","statements":[{"expression":{"id":56997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":56987,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57836,"src":"837:9:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":56991,"indexExpression":{"id":56988,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"847:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"837:15:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":56992,"indexExpression":{"id":56989,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56956,"src":"853:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"837:23:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":56993,"indexExpression":{"id":56990,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56950,"src":"861:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"837:27:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56994,"name":"senderAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56971,"src":"867:15:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56995,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56952,"src":"885:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"867:24:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"837:54:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56998,"nodeType":"ExpressionStatement","src":"837:54:27"}]}}]}},{"expression":{"arguments":[{"id":57004,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"931:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57005,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56950,"src":"937:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57006,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56952,"src":"941:6:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57003,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58101,"src":"925:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":57007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:23:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57008,"nodeType":"ExpressionStatement","src":"925:23:27"}]},"documentation":{"id":56946,"nodeType":"StructuredDocumentation","src":"234:291:27","text":"@notice Burn `amount` tokens of token type `id` from `from`.\n @dev if sender is not `from` they must be an operator or have sufficient allowance.\n @param from The address to burn tokens from.\n @param id The currency to burn.\n @param amount The amount to burn."},"id":57010,"implemented":true,"kind":"function","modifiers":[],"name":"_burnFrom","nameLocation":"539:9:27","nodeType":"FunctionDefinition","parameters":{"id":56953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56948,"mutability":"mutable","name":"from","nameLocation":"557:4:27","nodeType":"VariableDeclaration","scope":57010,"src":"549:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56947,"name":"address","nodeType":"ElementaryTypeName","src":"549:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56950,"mutability":"mutable","name":"id","nameLocation":"571:2:27","nodeType":"VariableDeclaration","scope":57010,"src":"563:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56949,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56952,"mutability":"mutable","name":"amount","nameLocation":"583:6:27","nodeType":"VariableDeclaration","scope":57010,"src":"575:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56951,"name":"uint256","nodeType":"ElementaryTypeName","src":"575:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"548:42:27"},"returnParameters":{"id":56954,"nodeType":"ParameterList","parameters":[],"src":"600:0:27"},"scope":57011,"src":"530:425:27","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57012,"src":"185:772:27","usedErrors":[],"usedEvents":[45005,45015,45027]}],"src":"32:926:27"},"id":27},"v4-core/src/Extsload.sol":{"ast":{"absolutePath":"v4-core/src/Extsload.sol","exportedSymbols":{"Extsload":[57054],"IExtsload":[44895]},"id":57055,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57013,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:28"},{"absolutePath":"v4-core/src/interfaces/IExtsload.sol","file":"./interfaces/IExtsload.sol","id":57015,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57055,"sourceUnit":44896,"src":"57:53:28","symbolAliases":[{"foreign":{"id":57014,"name":"IExtsload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44895,"src":"65:9:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":57017,"name":"IExtsload","nameLocations":["291:9:28"],"nodeType":"IdentifierPath","referencedDeclaration":44895,"src":"291:9:28"},"id":57018,"nodeType":"InheritanceSpecifier","src":"291:9:28"}],"canonicalName":"Extsload","contractDependencies":[],"contractKind":"contract","documentation":{"id":57016,"nodeType":"StructuredDocumentation","src":"112:149:28","text":"@notice Enables public storage access for efficient state retrieval by external contracts.\n https://eips.ethereum.org/EIPS/eip-2330#rationale"},"fullyImplemented":true,"id":57054,"linearizedBaseContracts":[57054,44895],"name":"Extsload","nameLocation":"279:8:28","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[44873],"body":{"id":57027,"nodeType":"Block","src":"401:115:28","statements":[{"AST":{"nativeSrc":"436:74:28","nodeType":"YulBlock","src":"436:74:28","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"457:1:28","nodeType":"YulLiteral","src":"457:1:28","type":"","value":"0"},{"arguments":[{"name":"slot","nativeSrc":"466:4:28","nodeType":"YulIdentifier","src":"466:4:28"}],"functionName":{"name":"sload","nativeSrc":"460:5:28","nodeType":"YulIdentifier","src":"460:5:28"},"nativeSrc":"460:11:28","nodeType":"YulFunctionCall","src":"460:11:28"}],"functionName":{"name":"mstore","nativeSrc":"450:6:28","nodeType":"YulIdentifier","src":"450:6:28"},"nativeSrc":"450:22:28","nodeType":"YulFunctionCall","src":"450:22:28"},"nativeSrc":"450:22:28","nodeType":"YulExpressionStatement","src":"450:22:28"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"492:1:28","nodeType":"YulLiteral","src":"492:1:28","type":"","value":"0"},{"kind":"number","nativeSrc":"495:4:28","nodeType":"YulLiteral","src":"495:4:28","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"485:6:28","nodeType":"YulIdentifier","src":"485:6:28"},"nativeSrc":"485:15:28","nodeType":"YulFunctionCall","src":"485:15:28"},"nativeSrc":"485:15:28","nodeType":"YulExpressionStatement","src":"485:15:28"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57021,"isOffset":false,"isSlot":false,"src":"466:4:28","valueSize":1}],"flags":["memory-safe"],"id":57026,"nodeType":"InlineAssembly","src":"411:99:28"}]},"documentation":{"id":57019,"nodeType":"StructuredDocumentation","src":"307:25:28","text":"@inheritdoc IExtsload"},"functionSelector":"1e2eaeaf","id":57028,"implemented":true,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"346:8:28","nodeType":"FunctionDefinition","parameters":{"id":57022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57021,"mutability":"mutable","name":"slot","nameLocation":"363:4:28","nodeType":"VariableDeclaration","scope":57028,"src":"355:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:14:28"},"returnParameters":{"id":57025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57028,"src":"392:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"392:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"391:9:28"},"scope":57054,"src":"337:179:28","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[44884],"body":{"id":57040,"nodeType":"Block","src":"646:887:28","statements":[{"AST":{"nativeSrc":"681:846:28","nodeType":"YulBlock","src":"681:846:28","statements":[{"nativeSrc":"695:25:28","nodeType":"YulVariableDeclaration","src":"695:25:28","value":{"arguments":[{"kind":"number","nativeSrc":"715:4:28","nodeType":"YulLiteral","src":"715:4:28","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"709:5:28","nodeType":"YulIdentifier","src":"709:5:28"},"nativeSrc":"709:11:28","nodeType":"YulFunctionCall","src":"709:11:28"},"variables":[{"name":"memptr","nativeSrc":"699:6:28","nodeType":"YulTypedName","src":"699:6:28","type":""}]},{"nativeSrc":"733:19:28","nodeType":"YulVariableDeclaration","src":"733:19:28","value":{"name":"memptr","nativeSrc":"746:6:28","nodeType":"YulIdentifier","src":"746:6:28"},"variables":[{"name":"start","nativeSrc":"737:5:28","nodeType":"YulTypedName","src":"737:5:28","type":""}]},{"nativeSrc":"857:28:28","nodeType":"YulVariableDeclaration","src":"857:28:28","value":{"arguments":[{"kind":"number","nativeSrc":"875:1:28","nodeType":"YulLiteral","src":"875:1:28","type":"","value":"5"},{"name":"nSlots","nativeSrc":"878:6:28","nodeType":"YulIdentifier","src":"878:6:28"}],"functionName":{"name":"shl","nativeSrc":"871:3:28","nodeType":"YulIdentifier","src":"871:3:28"},"nativeSrc":"871:14:28","nodeType":"YulFunctionCall","src":"871:14:28"},"variables":[{"name":"length","nativeSrc":"861:6:28","nodeType":"YulTypedName","src":"861:6:28","type":""}]},{"expression":{"arguments":[{"name":"memptr","nativeSrc":"977:6:28","nodeType":"YulIdentifier","src":"977:6:28"},{"kind":"number","nativeSrc":"985:4:28","nodeType":"YulLiteral","src":"985:4:28","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"970:6:28","nodeType":"YulIdentifier","src":"970:6:28"},"nativeSrc":"970:20:28","nodeType":"YulFunctionCall","src":"970:20:28"},"nativeSrc":"970:20:28","nodeType":"YulExpressionStatement","src":"970:20:28"},{"expression":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"1068:6:28","nodeType":"YulIdentifier","src":"1068:6:28"},{"kind":"number","nativeSrc":"1076:4:28","nodeType":"YulLiteral","src":"1076:4:28","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1064:3:28","nodeType":"YulIdentifier","src":"1064:3:28"},"nativeSrc":"1064:17:28","nodeType":"YulFunctionCall","src":"1064:17:28"},{"name":"nSlots","nativeSrc":"1083:6:28","nodeType":"YulIdentifier","src":"1083:6:28"}],"functionName":{"name":"mstore","nativeSrc":"1057:6:28","nodeType":"YulIdentifier","src":"1057:6:28"},"nativeSrc":"1057:33:28","nodeType":"YulFunctionCall","src":"1057:33:28"},"nativeSrc":"1057:33:28","nodeType":"YulExpressionStatement","src":"1057:33:28"},{"nativeSrc":"1171:27:28","nodeType":"YulAssignment","src":"1171:27:28","value":{"arguments":[{"name":"memptr","nativeSrc":"1185:6:28","nodeType":"YulIdentifier","src":"1185:6:28"},{"kind":"number","nativeSrc":"1193:4:28","nodeType":"YulLiteral","src":"1193:4:28","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"1181:3:28","nodeType":"YulIdentifier","src":"1181:3:28"},"nativeSrc":"1181:17:28","nodeType":"YulFunctionCall","src":"1181:17:28"},"variableNames":[{"name":"memptr","nativeSrc":"1171:6:28","nodeType":"YulIdentifier","src":"1171:6:28"}]},{"nativeSrc":"1211:30:28","nodeType":"YulVariableDeclaration","src":"1211:30:28","value":{"arguments":[{"name":"memptr","nativeSrc":"1226:6:28","nodeType":"YulIdentifier","src":"1226:6:28"},{"name":"length","nativeSrc":"1234:6:28","nodeType":"YulIdentifier","src":"1234:6:28"}],"functionName":{"name":"add","nativeSrc":"1222:3:28","nodeType":"YulIdentifier","src":"1222:3:28"},"nativeSrc":"1222:19:28","nodeType":"YulFunctionCall","src":"1222:19:28"},"variables":[{"name":"end","nativeSrc":"1215:3:28","nodeType":"YulTypedName","src":"1215:3:28","type":""}]},{"body":{"nativeSrc":"1266:208:28","nodeType":"YulBlock","src":"1266:208:28","statements":[{"expression":{"arguments":[{"name":"memptr","nativeSrc":"1291:6:28","nodeType":"YulIdentifier","src":"1291:6:28"},{"arguments":[{"name":"startSlot","nativeSrc":"1305:9:28","nodeType":"YulIdentifier","src":"1305:9:28"}],"functionName":{"name":"sload","nativeSrc":"1299:5:28","nodeType":"YulIdentifier","src":"1299:5:28"},"nativeSrc":"1299:16:28","nodeType":"YulFunctionCall","src":"1299:16:28"}],"functionName":{"name":"mstore","nativeSrc":"1284:6:28","nodeType":"YulIdentifier","src":"1284:6:28"},"nativeSrc":"1284:32:28","nodeType":"YulFunctionCall","src":"1284:32:28"},"nativeSrc":"1284:32:28","nodeType":"YulExpressionStatement","src":"1284:32:28"},{"nativeSrc":"1333:27:28","nodeType":"YulAssignment","src":"1333:27:28","value":{"arguments":[{"name":"memptr","nativeSrc":"1347:6:28","nodeType":"YulIdentifier","src":"1347:6:28"},{"kind":"number","nativeSrc":"1355:4:28","nodeType":"YulLiteral","src":"1355:4:28","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1343:3:28","nodeType":"YulIdentifier","src":"1343:3:28"},"nativeSrc":"1343:17:28","nodeType":"YulFunctionCall","src":"1343:17:28"},"variableNames":[{"name":"memptr","nativeSrc":"1333:6:28","nodeType":"YulIdentifier","src":"1333:6:28"}]},{"nativeSrc":"1377:30:28","nodeType":"YulAssignment","src":"1377:30:28","value":{"arguments":[{"name":"startSlot","nativeSrc":"1394:9:28","nodeType":"YulIdentifier","src":"1394:9:28"},{"kind":"number","nativeSrc":"1405:1:28","nodeType":"YulLiteral","src":"1405:1:28","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1390:3:28","nodeType":"YulIdentifier","src":"1390:3:28"},"nativeSrc":"1390:17:28","nodeType":"YulFunctionCall","src":"1390:17:28"},"variableNames":[{"name":"startSlot","nativeSrc":"1377:9:28","nodeType":"YulIdentifier","src":"1377:9:28"}]},{"body":{"nativeSrc":"1451:9:28","nodeType":"YulBlock","src":"1451:9:28","statements":[{"nativeSrc":"1453:5:28","nodeType":"YulBreak","src":"1453:5:28"}]},"condition":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"1437:6:28","nodeType":"YulIdentifier","src":"1437:6:28"},{"name":"end","nativeSrc":"1445:3:28","nodeType":"YulIdentifier","src":"1445:3:28"}],"functionName":{"name":"lt","nativeSrc":"1434:2:28","nodeType":"YulIdentifier","src":"1434:2:28"},"nativeSrc":"1434:15:28","nodeType":"YulFunctionCall","src":"1434:15:28"}],"functionName":{"name":"iszero","nativeSrc":"1427:6:28","nodeType":"YulIdentifier","src":"1427:6:28"},"nativeSrc":"1427:23:28","nodeType":"YulFunctionCall","src":"1427:23:28"},"nativeSrc":"1424:36:28","nodeType":"YulIf","src":"1424:36:28"}]},"condition":{"kind":"number","nativeSrc":"1261:1:28","nodeType":"YulLiteral","src":"1261:1:28","type":"","value":"1"},"nativeSrc":"1254:220:28","nodeType":"YulForLoop","post":{"nativeSrc":"1263:2:28","nodeType":"YulBlock","src":"1263:2:28","statements":[]},"pre":{"nativeSrc":"1258:2:28","nodeType":"YulBlock","src":"1258:2:28","statements":[]},"src":"1254:220:28"},{"expression":{"arguments":[{"name":"start","nativeSrc":"1494:5:28","nodeType":"YulIdentifier","src":"1494:5:28"},{"arguments":[{"name":"end","nativeSrc":"1505:3:28","nodeType":"YulIdentifier","src":"1505:3:28"},{"name":"start","nativeSrc":"1510:5:28","nodeType":"YulIdentifier","src":"1510:5:28"}],"functionName":{"name":"sub","nativeSrc":"1501:3:28","nodeType":"YulIdentifier","src":"1501:3:28"},"nativeSrc":"1501:15:28","nodeType":"YulFunctionCall","src":"1501:15:28"}],"functionName":{"name":"return","nativeSrc":"1487:6:28","nodeType":"YulIdentifier","src":"1487:6:28"},"nativeSrc":"1487:30:28","nodeType":"YulFunctionCall","src":"1487:30:28"},"nativeSrc":"1487:30:28","nodeType":"YulExpressionStatement","src":"1487:30:28"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57033,"isOffset":false,"isSlot":false,"src":"1083:6:28","valueSize":1},{"declaration":57033,"isOffset":false,"isSlot":false,"src":"878:6:28","valueSize":1},{"declaration":57031,"isOffset":false,"isSlot":false,"src":"1305:9:28","valueSize":1},{"declaration":57031,"isOffset":false,"isSlot":false,"src":"1377:9:28","valueSize":1},{"declaration":57031,"isOffset":false,"isSlot":false,"src":"1394:9:28","valueSize":1}],"flags":["memory-safe"],"id":57039,"nodeType":"InlineAssembly","src":"656:871:28"}]},"documentation":{"id":57029,"nodeType":"StructuredDocumentation","src":"522:25:28","text":"@inheritdoc IExtsload"},"functionSelector":"35fd631a","id":57041,"implemented":true,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"561:8:28","nodeType":"FunctionDefinition","parameters":{"id":57034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57031,"mutability":"mutable","name":"startSlot","nameLocation":"578:9:28","nodeType":"VariableDeclaration","scope":57041,"src":"570:17:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"570:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57033,"mutability":"mutable","name":"nSlots","nameLocation":"597:6:28","nodeType":"VariableDeclaration","scope":57041,"src":"589:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57032,"name":"uint256","nodeType":"ElementaryTypeName","src":"589:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"569:35:28"},"returnParameters":{"id":57038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57041,"src":"628:16:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":57035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"628:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":57036,"nodeType":"ArrayTypeName","src":"628:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"627:18:28"},"scope":57054,"src":"552:981:28","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[44894],"body":{"id":57052,"nodeType":"Block","src":"1654:952:28","statements":[{"AST":{"nativeSrc":"1689:911:28","nodeType":"YulBlock","src":"1689:911:28","statements":[{"nativeSrc":"1703:25:28","nodeType":"YulVariableDeclaration","src":"1703:25:28","value":{"arguments":[{"kind":"number","nativeSrc":"1723:4:28","nodeType":"YulLiteral","src":"1723:4:28","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"1717:5:28","nodeType":"YulIdentifier","src":"1717:5:28"},"nativeSrc":"1717:11:28","nodeType":"YulFunctionCall","src":"1717:11:28"},"variables":[{"name":"memptr","nativeSrc":"1707:6:28","nodeType":"YulTypedName","src":"1707:6:28","type":""}]},{"nativeSrc":"1741:19:28","nodeType":"YulVariableDeclaration","src":"1741:19:28","value":{"name":"memptr","nativeSrc":"1754:6:28","nodeType":"YulIdentifier","src":"1754:6:28"},"variables":[{"name":"start","nativeSrc":"1745:5:28","nodeType":"YulTypedName","src":"1745:5:28","type":""}]},{"expression":{"arguments":[{"name":"memptr","nativeSrc":"1859:6:28","nodeType":"YulIdentifier","src":"1859:6:28"},{"kind":"number","nativeSrc":"1867:4:28","nodeType":"YulLiteral","src":"1867:4:28","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"1852:6:28","nodeType":"YulIdentifier","src":"1852:6:28"},"nativeSrc":"1852:20:28","nodeType":"YulFunctionCall","src":"1852:20:28"},"nativeSrc":"1852:20:28","nodeType":"YulExpressionStatement","src":"1852:20:28"},{"expression":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"1956:6:28","nodeType":"YulIdentifier","src":"1956:6:28"},{"kind":"number","nativeSrc":"1964:4:28","nodeType":"YulLiteral","src":"1964:4:28","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1952:3:28","nodeType":"YulIdentifier","src":"1952:3:28"},"nativeSrc":"1952:17:28","nodeType":"YulFunctionCall","src":"1952:17:28"},{"name":"slots.length","nativeSrc":"1971:12:28","nodeType":"YulIdentifier","src":"1971:12:28"}],"functionName":{"name":"mstore","nativeSrc":"1945:6:28","nodeType":"YulIdentifier","src":"1945:6:28"},"nativeSrc":"1945:39:28","nodeType":"YulFunctionCall","src":"1945:39:28"},"nativeSrc":"1945:39:28","nodeType":"YulExpressionStatement","src":"1945:39:28"},{"nativeSrc":"2071:27:28","nodeType":"YulAssignment","src":"2071:27:28","value":{"arguments":[{"name":"memptr","nativeSrc":"2085:6:28","nodeType":"YulIdentifier","src":"2085:6:28"},{"kind":"number","nativeSrc":"2093:4:28","nodeType":"YulLiteral","src":"2093:4:28","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"2081:3:28","nodeType":"YulIdentifier","src":"2081:3:28"},"nativeSrc":"2081:17:28","nodeType":"YulFunctionCall","src":"2081:17:28"},"variableNames":[{"name":"memptr","nativeSrc":"2071:6:28","nodeType":"YulIdentifier","src":"2071:6:28"}]},{"nativeSrc":"2203:44:28","nodeType":"YulVariableDeclaration","src":"2203:44:28","value":{"arguments":[{"name":"memptr","nativeSrc":"2218:6:28","nodeType":"YulIdentifier","src":"2218:6:28"},{"arguments":[{"kind":"number","nativeSrc":"2230:1:28","nodeType":"YulLiteral","src":"2230:1:28","type":"","value":"5"},{"name":"slots.length","nativeSrc":"2233:12:28","nodeType":"YulIdentifier","src":"2233:12:28"}],"functionName":{"name":"shl","nativeSrc":"2226:3:28","nodeType":"YulIdentifier","src":"2226:3:28"},"nativeSrc":"2226:20:28","nodeType":"YulFunctionCall","src":"2226:20:28"}],"functionName":{"name":"add","nativeSrc":"2214:3:28","nodeType":"YulIdentifier","src":"2214:3:28"},"nativeSrc":"2214:33:28","nodeType":"YulFunctionCall","src":"2214:33:28"},"variables":[{"name":"end","nativeSrc":"2207:3:28","nodeType":"YulTypedName","src":"2207:3:28","type":""}]},{"nativeSrc":"2260:31:28","nodeType":"YulVariableDeclaration","src":"2260:31:28","value":{"name":"slots.offset","nativeSrc":"2279:12:28","nodeType":"YulIdentifier","src":"2279:12:28"},"variables":[{"name":"calldataptr","nativeSrc":"2264:11:28","nodeType":"YulTypedName","src":"2264:11:28","type":""}]},{"body":{"nativeSrc":"2316:231:28","nodeType":"YulBlock","src":"2316:231:28","statements":[{"expression":{"arguments":[{"name":"memptr","nativeSrc":"2341:6:28","nodeType":"YulIdentifier","src":"2341:6:28"},{"arguments":[{"arguments":[{"name":"calldataptr","nativeSrc":"2368:11:28","nodeType":"YulIdentifier","src":"2368:11:28"}],"functionName":{"name":"calldataload","nativeSrc":"2355:12:28","nodeType":"YulIdentifier","src":"2355:12:28"},"nativeSrc":"2355:25:28","nodeType":"YulFunctionCall","src":"2355:25:28"}],"functionName":{"name":"sload","nativeSrc":"2349:5:28","nodeType":"YulIdentifier","src":"2349:5:28"},"nativeSrc":"2349:32:28","nodeType":"YulFunctionCall","src":"2349:32:28"}],"functionName":{"name":"mstore","nativeSrc":"2334:6:28","nodeType":"YulIdentifier","src":"2334:6:28"},"nativeSrc":"2334:48:28","nodeType":"YulFunctionCall","src":"2334:48:28"},"nativeSrc":"2334:48:28","nodeType":"YulExpressionStatement","src":"2334:48:28"},{"nativeSrc":"2399:27:28","nodeType":"YulAssignment","src":"2399:27:28","value":{"arguments":[{"name":"memptr","nativeSrc":"2413:6:28","nodeType":"YulIdentifier","src":"2413:6:28"},{"kind":"number","nativeSrc":"2421:4:28","nodeType":"YulLiteral","src":"2421:4:28","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2409:3:28","nodeType":"YulIdentifier","src":"2409:3:28"},"nativeSrc":"2409:17:28","nodeType":"YulFunctionCall","src":"2409:17:28"},"variableNames":[{"name":"memptr","nativeSrc":"2399:6:28","nodeType":"YulIdentifier","src":"2399:6:28"}]},{"nativeSrc":"2443:37:28","nodeType":"YulAssignment","src":"2443:37:28","value":{"arguments":[{"name":"calldataptr","nativeSrc":"2462:11:28","nodeType":"YulIdentifier","src":"2462:11:28"},{"kind":"number","nativeSrc":"2475:4:28","nodeType":"YulLiteral","src":"2475:4:28","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2458:3:28","nodeType":"YulIdentifier","src":"2458:3:28"},"nativeSrc":"2458:22:28","nodeType":"YulFunctionCall","src":"2458:22:28"},"variableNames":[{"name":"calldataptr","nativeSrc":"2443:11:28","nodeType":"YulIdentifier","src":"2443:11:28"}]},{"body":{"nativeSrc":"2524:9:28","nodeType":"YulBlock","src":"2524:9:28","statements":[{"nativeSrc":"2526:5:28","nodeType":"YulBreak","src":"2526:5:28"}]},"condition":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"2510:6:28","nodeType":"YulIdentifier","src":"2510:6:28"},{"name":"end","nativeSrc":"2518:3:28","nodeType":"YulIdentifier","src":"2518:3:28"}],"functionName":{"name":"lt","nativeSrc":"2507:2:28","nodeType":"YulIdentifier","src":"2507:2:28"},"nativeSrc":"2507:15:28","nodeType":"YulFunctionCall","src":"2507:15:28"}],"functionName":{"name":"iszero","nativeSrc":"2500:6:28","nodeType":"YulIdentifier","src":"2500:6:28"},"nativeSrc":"2500:23:28","nodeType":"YulFunctionCall","src":"2500:23:28"},"nativeSrc":"2497:36:28","nodeType":"YulIf","src":"2497:36:28"}]},"condition":{"kind":"number","nativeSrc":"2311:1:28","nodeType":"YulLiteral","src":"2311:1:28","type":"","value":"1"},"nativeSrc":"2304:243:28","nodeType":"YulForLoop","post":{"nativeSrc":"2313:2:28","nodeType":"YulBlock","src":"2313:2:28","statements":[]},"pre":{"nativeSrc":"2308:2:28","nodeType":"YulBlock","src":"2308:2:28","statements":[]},"src":"2304:243:28"},{"expression":{"arguments":[{"name":"start","nativeSrc":"2567:5:28","nodeType":"YulIdentifier","src":"2567:5:28"},{"arguments":[{"name":"end","nativeSrc":"2578:3:28","nodeType":"YulIdentifier","src":"2578:3:28"},{"name":"start","nativeSrc":"2583:5:28","nodeType":"YulIdentifier","src":"2583:5:28"}],"functionName":{"name":"sub","nativeSrc":"2574:3:28","nodeType":"YulIdentifier","src":"2574:3:28"},"nativeSrc":"2574:15:28","nodeType":"YulFunctionCall","src":"2574:15:28"}],"functionName":{"name":"return","nativeSrc":"2560:6:28","nodeType":"YulIdentifier","src":"2560:6:28"},"nativeSrc":"2560:30:28","nodeType":"YulFunctionCall","src":"2560:30:28"},"nativeSrc":"2560:30:28","nodeType":"YulExpressionStatement","src":"2560:30:28"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57045,"isOffset":false,"isSlot":false,"src":"1971:12:28","suffix":"length","valueSize":1},{"declaration":57045,"isOffset":false,"isSlot":false,"src":"2233:12:28","suffix":"length","valueSize":1},{"declaration":57045,"isOffset":true,"isSlot":false,"src":"2279:12:28","suffix":"offset","valueSize":1}],"flags":["memory-safe"],"id":57051,"nodeType":"InlineAssembly","src":"1664:936:28"}]},"documentation":{"id":57042,"nodeType":"StructuredDocumentation","src":"1539:25:28","text":"@inheritdoc IExtsload"},"functionSelector":"dbd035ff","id":57053,"implemented":true,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"1578:8:28","nodeType":"FunctionDefinition","parameters":{"id":57046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57045,"mutability":"mutable","name":"slots","nameLocation":"1606:5:28","nodeType":"VariableDeclaration","scope":57053,"src":"1587:24:28","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":57043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1587:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":57044,"nodeType":"ArrayTypeName","src":"1587:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1586:26:28"},"returnParameters":{"id":57050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57053,"src":"1636:16:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":57047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1636:7:28","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":57048,"nodeType":"ArrayTypeName","src":"1636:9:28","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1635:18:28"},"scope":57054,"src":"1569:1037:28","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57055,"src":"261:2347:28","usedErrors":[],"usedEvents":[]}],"src":"32:2577:28"},"id":28},"v4-core/src/Exttload.sol":{"ast":{"absolutePath":"v4-core/src/Exttload.sol","exportedSymbols":{"Exttload":[57084],"IExttload":[44917]},"id":57085,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57056,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:29"},{"absolutePath":"v4-core/src/interfaces/IExttload.sol","file":"./interfaces/IExttload.sol","id":57058,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57085,"sourceUnit":44918,"src":"58:53:29","symbolAliases":[{"foreign":{"id":57057,"name":"IExttload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44917,"src":"66:9:29","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":57060,"name":"IExttload","nameLocations":["302:9:29"],"nodeType":"IdentifierPath","referencedDeclaration":44917,"src":"302:9:29"},"id":57061,"nodeType":"InheritanceSpecifier","src":"302:9:29"}],"canonicalName":"Exttload","contractDependencies":[],"contractKind":"contract","documentation":{"id":57059,"nodeType":"StructuredDocumentation","src":"113:159:29","text":"@notice Enables public transient storage access for efficient state retrieval by external contracts.\n https://eips.ethereum.org/EIPS/eip-2330#rationale"},"fullyImplemented":true,"id":57084,"linearizedBaseContracts":[57084,44917],"name":"Exttload","nameLocation":"290:8:29","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[44906],"body":{"id":57070,"nodeType":"Block","src":"412:115:29","statements":[{"AST":{"nativeSrc":"447:74:29","nodeType":"YulBlock","src":"447:74:29","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"468:1:29","nodeType":"YulLiteral","src":"468:1:29","type":"","value":"0"},{"arguments":[{"name":"slot","nativeSrc":"477:4:29","nodeType":"YulIdentifier","src":"477:4:29"}],"functionName":{"name":"tload","nativeSrc":"471:5:29","nodeType":"YulIdentifier","src":"471:5:29"},"nativeSrc":"471:11:29","nodeType":"YulFunctionCall","src":"471:11:29"}],"functionName":{"name":"mstore","nativeSrc":"461:6:29","nodeType":"YulIdentifier","src":"461:6:29"},"nativeSrc":"461:22:29","nodeType":"YulFunctionCall","src":"461:22:29"},"nativeSrc":"461:22:29","nodeType":"YulExpressionStatement","src":"461:22:29"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"503:1:29","nodeType":"YulLiteral","src":"503:1:29","type":"","value":"0"},{"kind":"number","nativeSrc":"506:4:29","nodeType":"YulLiteral","src":"506:4:29","type":"","value":"0x20"}],"functionName":{"name":"return","nativeSrc":"496:6:29","nodeType":"YulIdentifier","src":"496:6:29"},"nativeSrc":"496:15:29","nodeType":"YulFunctionCall","src":"496:15:29"},"nativeSrc":"496:15:29","nodeType":"YulExpressionStatement","src":"496:15:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57064,"isOffset":false,"isSlot":false,"src":"477:4:29","valueSize":1}],"flags":["memory-safe"],"id":57069,"nodeType":"InlineAssembly","src":"422:99:29"}]},"documentation":{"id":57062,"nodeType":"StructuredDocumentation","src":"318:25:29","text":"@inheritdoc IExttload"},"functionSelector":"f135baaa","id":57071,"implemented":true,"kind":"function","modifiers":[],"name":"exttload","nameLocation":"357:8:29","nodeType":"FunctionDefinition","parameters":{"id":57065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57064,"mutability":"mutable","name":"slot","nameLocation":"374:4:29","nodeType":"VariableDeclaration","scope":57071,"src":"366:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"366:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"365:14:29"},"returnParameters":{"id":57068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57071,"src":"403:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"402:9:29"},"scope":57084,"src":"348:179:29","stateMutability":"view","virtual":false,"visibility":"external"},{"baseFunctions":[44916],"body":{"id":57082,"nodeType":"Block","src":"648:952:29","statements":[{"AST":{"nativeSrc":"683:911:29","nodeType":"YulBlock","src":"683:911:29","statements":[{"nativeSrc":"697:25:29","nodeType":"YulVariableDeclaration","src":"697:25:29","value":{"arguments":[{"kind":"number","nativeSrc":"717:4:29","nodeType":"YulLiteral","src":"717:4:29","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"711:5:29","nodeType":"YulIdentifier","src":"711:5:29"},"nativeSrc":"711:11:29","nodeType":"YulFunctionCall","src":"711:11:29"},"variables":[{"name":"memptr","nativeSrc":"701:6:29","nodeType":"YulTypedName","src":"701:6:29","type":""}]},{"nativeSrc":"735:19:29","nodeType":"YulVariableDeclaration","src":"735:19:29","value":{"name":"memptr","nativeSrc":"748:6:29","nodeType":"YulIdentifier","src":"748:6:29"},"variables":[{"name":"start","nativeSrc":"739:5:29","nodeType":"YulTypedName","src":"739:5:29","type":""}]},{"expression":{"arguments":[{"name":"memptr","nativeSrc":"853:6:29","nodeType":"YulIdentifier","src":"853:6:29"},{"kind":"number","nativeSrc":"861:4:29","nodeType":"YulLiteral","src":"861:4:29","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"846:6:29","nodeType":"YulIdentifier","src":"846:6:29"},"nativeSrc":"846:20:29","nodeType":"YulFunctionCall","src":"846:20:29"},"nativeSrc":"846:20:29","nodeType":"YulExpressionStatement","src":"846:20:29"},{"expression":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"950:6:29","nodeType":"YulIdentifier","src":"950:6:29"},{"kind":"number","nativeSrc":"958:4:29","nodeType":"YulLiteral","src":"958:4:29","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"946:3:29","nodeType":"YulIdentifier","src":"946:3:29"},"nativeSrc":"946:17:29","nodeType":"YulFunctionCall","src":"946:17:29"},{"name":"slots.length","nativeSrc":"965:12:29","nodeType":"YulIdentifier","src":"965:12:29"}],"functionName":{"name":"mstore","nativeSrc":"939:6:29","nodeType":"YulIdentifier","src":"939:6:29"},"nativeSrc":"939:39:29","nodeType":"YulFunctionCall","src":"939:39:29"},"nativeSrc":"939:39:29","nodeType":"YulExpressionStatement","src":"939:39:29"},{"nativeSrc":"1065:27:29","nodeType":"YulAssignment","src":"1065:27:29","value":{"arguments":[{"name":"memptr","nativeSrc":"1079:6:29","nodeType":"YulIdentifier","src":"1079:6:29"},{"kind":"number","nativeSrc":"1087:4:29","nodeType":"YulLiteral","src":"1087:4:29","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"1075:3:29","nodeType":"YulIdentifier","src":"1075:3:29"},"nativeSrc":"1075:17:29","nodeType":"YulFunctionCall","src":"1075:17:29"},"variableNames":[{"name":"memptr","nativeSrc":"1065:6:29","nodeType":"YulIdentifier","src":"1065:6:29"}]},{"nativeSrc":"1197:44:29","nodeType":"YulVariableDeclaration","src":"1197:44:29","value":{"arguments":[{"name":"memptr","nativeSrc":"1212:6:29","nodeType":"YulIdentifier","src":"1212:6:29"},{"arguments":[{"kind":"number","nativeSrc":"1224:1:29","nodeType":"YulLiteral","src":"1224:1:29","type":"","value":"5"},{"name":"slots.length","nativeSrc":"1227:12:29","nodeType":"YulIdentifier","src":"1227:12:29"}],"functionName":{"name":"shl","nativeSrc":"1220:3:29","nodeType":"YulIdentifier","src":"1220:3:29"},"nativeSrc":"1220:20:29","nodeType":"YulFunctionCall","src":"1220:20:29"}],"functionName":{"name":"add","nativeSrc":"1208:3:29","nodeType":"YulIdentifier","src":"1208:3:29"},"nativeSrc":"1208:33:29","nodeType":"YulFunctionCall","src":"1208:33:29"},"variables":[{"name":"end","nativeSrc":"1201:3:29","nodeType":"YulTypedName","src":"1201:3:29","type":""}]},{"nativeSrc":"1254:31:29","nodeType":"YulVariableDeclaration","src":"1254:31:29","value":{"name":"slots.offset","nativeSrc":"1273:12:29","nodeType":"YulIdentifier","src":"1273:12:29"},"variables":[{"name":"calldataptr","nativeSrc":"1258:11:29","nodeType":"YulTypedName","src":"1258:11:29","type":""}]},{"body":{"nativeSrc":"1310:231:29","nodeType":"YulBlock","src":"1310:231:29","statements":[{"expression":{"arguments":[{"name":"memptr","nativeSrc":"1335:6:29","nodeType":"YulIdentifier","src":"1335:6:29"},{"arguments":[{"arguments":[{"name":"calldataptr","nativeSrc":"1362:11:29","nodeType":"YulIdentifier","src":"1362:11:29"}],"functionName":{"name":"calldataload","nativeSrc":"1349:12:29","nodeType":"YulIdentifier","src":"1349:12:29"},"nativeSrc":"1349:25:29","nodeType":"YulFunctionCall","src":"1349:25:29"}],"functionName":{"name":"tload","nativeSrc":"1343:5:29","nodeType":"YulIdentifier","src":"1343:5:29"},"nativeSrc":"1343:32:29","nodeType":"YulFunctionCall","src":"1343:32:29"}],"functionName":{"name":"mstore","nativeSrc":"1328:6:29","nodeType":"YulIdentifier","src":"1328:6:29"},"nativeSrc":"1328:48:29","nodeType":"YulFunctionCall","src":"1328:48:29"},"nativeSrc":"1328:48:29","nodeType":"YulExpressionStatement","src":"1328:48:29"},{"nativeSrc":"1393:27:29","nodeType":"YulAssignment","src":"1393:27:29","value":{"arguments":[{"name":"memptr","nativeSrc":"1407:6:29","nodeType":"YulIdentifier","src":"1407:6:29"},{"kind":"number","nativeSrc":"1415:4:29","nodeType":"YulLiteral","src":"1415:4:29","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1403:3:29","nodeType":"YulIdentifier","src":"1403:3:29"},"nativeSrc":"1403:17:29","nodeType":"YulFunctionCall","src":"1403:17:29"},"variableNames":[{"name":"memptr","nativeSrc":"1393:6:29","nodeType":"YulIdentifier","src":"1393:6:29"}]},{"nativeSrc":"1437:37:29","nodeType":"YulAssignment","src":"1437:37:29","value":{"arguments":[{"name":"calldataptr","nativeSrc":"1456:11:29","nodeType":"YulIdentifier","src":"1456:11:29"},{"kind":"number","nativeSrc":"1469:4:29","nodeType":"YulLiteral","src":"1469:4:29","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1452:3:29","nodeType":"YulIdentifier","src":"1452:3:29"},"nativeSrc":"1452:22:29","nodeType":"YulFunctionCall","src":"1452:22:29"},"variableNames":[{"name":"calldataptr","nativeSrc":"1437:11:29","nodeType":"YulIdentifier","src":"1437:11:29"}]},{"body":{"nativeSrc":"1518:9:29","nodeType":"YulBlock","src":"1518:9:29","statements":[{"nativeSrc":"1520:5:29","nodeType":"YulBreak","src":"1520:5:29"}]},"condition":{"arguments":[{"arguments":[{"name":"memptr","nativeSrc":"1504:6:29","nodeType":"YulIdentifier","src":"1504:6:29"},{"name":"end","nativeSrc":"1512:3:29","nodeType":"YulIdentifier","src":"1512:3:29"}],"functionName":{"name":"lt","nativeSrc":"1501:2:29","nodeType":"YulIdentifier","src":"1501:2:29"},"nativeSrc":"1501:15:29","nodeType":"YulFunctionCall","src":"1501:15:29"}],"functionName":{"name":"iszero","nativeSrc":"1494:6:29","nodeType":"YulIdentifier","src":"1494:6:29"},"nativeSrc":"1494:23:29","nodeType":"YulFunctionCall","src":"1494:23:29"},"nativeSrc":"1491:36:29","nodeType":"YulIf","src":"1491:36:29"}]},"condition":{"kind":"number","nativeSrc":"1305:1:29","nodeType":"YulLiteral","src":"1305:1:29","type":"","value":"1"},"nativeSrc":"1298:243:29","nodeType":"YulForLoop","post":{"nativeSrc":"1307:2:29","nodeType":"YulBlock","src":"1307:2:29","statements":[]},"pre":{"nativeSrc":"1302:2:29","nodeType":"YulBlock","src":"1302:2:29","statements":[]},"src":"1298:243:29"},{"expression":{"arguments":[{"name":"start","nativeSrc":"1561:5:29","nodeType":"YulIdentifier","src":"1561:5:29"},{"arguments":[{"name":"end","nativeSrc":"1572:3:29","nodeType":"YulIdentifier","src":"1572:3:29"},{"name":"start","nativeSrc":"1577:5:29","nodeType":"YulIdentifier","src":"1577:5:29"}],"functionName":{"name":"sub","nativeSrc":"1568:3:29","nodeType":"YulIdentifier","src":"1568:3:29"},"nativeSrc":"1568:15:29","nodeType":"YulFunctionCall","src":"1568:15:29"}],"functionName":{"name":"return","nativeSrc":"1554:6:29","nodeType":"YulIdentifier","src":"1554:6:29"},"nativeSrc":"1554:30:29","nodeType":"YulFunctionCall","src":"1554:30:29"},"nativeSrc":"1554:30:29","nodeType":"YulExpressionStatement","src":"1554:30:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57075,"isOffset":false,"isSlot":false,"src":"1227:12:29","suffix":"length","valueSize":1},{"declaration":57075,"isOffset":false,"isSlot":false,"src":"965:12:29","suffix":"length","valueSize":1},{"declaration":57075,"isOffset":true,"isSlot":false,"src":"1273:12:29","suffix":"offset","valueSize":1}],"flags":["memory-safe"],"id":57081,"nodeType":"InlineAssembly","src":"658:936:29"}]},"documentation":{"id":57072,"nodeType":"StructuredDocumentation","src":"533:25:29","text":"@inheritdoc IExttload"},"functionSelector":"9bf6645f","id":57083,"implemented":true,"kind":"function","modifiers":[],"name":"exttload","nameLocation":"572:8:29","nodeType":"FunctionDefinition","parameters":{"id":57076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57075,"mutability":"mutable","name":"slots","nameLocation":"600:5:29","nodeType":"VariableDeclaration","scope":57083,"src":"581:24:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":57073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"581:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":57074,"nodeType":"ArrayTypeName","src":"581:9:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"580:26:29"},"returnParameters":{"id":57080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57083,"src":"630:16:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":57077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"630:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":57078,"nodeType":"ArrayTypeName","src":"630:9:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"629:18:29"},"scope":57084,"src":"563:1037:29","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":57085,"src":"272:1330:29","usedErrors":[],"usedEvents":[]}],"src":"32:1571:29"},"id":29},"v4-core/src/NoDelegateCall.sol":{"ast":{"absolutePath":"v4-core/src/NoDelegateCall.sol","exportedSymbols":{"CustomRevert":[45214],"NoDelegateCall":[57136]},"id":57137,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57086,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:30"},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./libraries/CustomRevert.sol","id":57088,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57137,"sourceUnit":45215,"src":"57:58:30","symbolAliases":[{"foreign":{"id":57087,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"65:12:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"NoDelegateCall","contractDependencies":[],"contractKind":"contract","documentation":{"id":57089,"nodeType":"StructuredDocumentation","src":"117:157:30","text":"@title Prevents delegatecall to a contract\n @notice Base contract that provides a modifier for preventing delegatecall to methods in a child contract"},"fullyImplemented":true,"id":57136,"linearizedBaseContracts":[57136],"name":"NoDelegateCall","nameLocation":"292:14:30","nodeType":"ContractDefinition","nodes":[{"global":false,"id":57092,"libraryName":{"id":57090,"name":"CustomRevert","nameLocations":["319:12:30"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"319:12:30"},"nodeType":"UsingForDirective","src":"313:30:30","typeName":{"id":57091,"name":"bytes4","nodeType":"ElementaryTypeName","src":"336:6:30","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"errorSelector":"0d89438e","id":57094,"name":"DelegateCallNotAllowed","nameLocation":"355:22:30","nodeType":"ErrorDefinition","parameters":{"id":57093,"nodeType":"ParameterList","parameters":[],"src":"377:2:30"},"src":"349:31:30"},{"constant":false,"documentation":{"id":57095,"nodeType":"StructuredDocumentation","src":"386:46:30","text":"@dev The original address of this contract"},"id":57097,"mutability":"immutable","name":"original","nameLocation":"463:8:30","nodeType":"VariableDeclaration","scope":57136,"src":"437:34:30","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57096,"name":"address","nodeType":"ElementaryTypeName","src":"437:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"body":{"id":57107,"nodeType":"Block","src":"492:239:30","statements":[{"expression":{"id":57105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57100,"name":"original","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"700:8:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57103,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"719:4:30","typeDescriptions":{"typeIdentifier":"t_contract$_NoDelegateCall_$57136","typeString":"contract NoDelegateCall"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NoDelegateCall_$57136","typeString":"contract NoDelegateCall"}],"id":57102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"711:7:30","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57101,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:30","typeDescriptions":{}}},"id":57104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"711:13:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"700:24:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57106,"nodeType":"ExpressionStatement","src":"700:24:30"}]},"id":57108,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":57098,"nodeType":"ParameterList","parameters":[],"src":"489:2:30"},"returnParameters":{"id":57099,"nodeType":"ParameterList","parameters":[],"src":"492:0:30"},"scope":57136,"src":"478:253:30","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57126,"nodeType":"Block","src":"1008:92:30","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":57114,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1030:4:30","typeDescriptions":{"typeIdentifier":"t_contract$_NoDelegateCall_$57136","typeString":"contract NoDelegateCall"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NoDelegateCall_$57136","typeString":"contract NoDelegateCall"}],"id":57113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1022:7:30","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57112,"name":"address","nodeType":"ElementaryTypeName","src":"1022:7:30","typeDescriptions":{}}},"id":57115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1022:13:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57116,"name":"original","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"1039:8:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1022:25:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57125,"nodeType":"IfStatement","src":"1018:75:30","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57118,"name":"DelegateCallNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57094,"src":"1049:22:30","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1072:8:30","memberName":"selector","nodeType":"MemberAccess","src":"1049:31:30","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1081:10:30","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1049:42:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":57123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1049:44:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57124,"nodeType":"ExpressionStatement","src":"1049:44:30"}}]},"documentation":{"id":57109,"nodeType":"StructuredDocumentation","src":"737:221:30","text":"@dev Private method is used instead of inlining into modifier because modifiers are copied into each method,\n     and the use of immutable means the address bytes are copied in every place the modifier is used."},"id":57127,"implemented":true,"kind":"function","modifiers":[],"name":"checkNotDelegateCall","nameLocation":"972:20:30","nodeType":"FunctionDefinition","parameters":{"id":57110,"nodeType":"ParameterList","parameters":[],"src":"992:2:30"},"returnParameters":{"id":57111,"nodeType":"ParameterList","parameters":[],"src":"1008:0:30"},"scope":57136,"src":"963:137:30","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":57134,"nodeType":"Block","src":"1195:50:30","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":57130,"name":"checkNotDelegateCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57127,"src":"1205:20:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":57131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1205:22:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57132,"nodeType":"ExpressionStatement","src":"1205:22:30"},{"id":57133,"nodeType":"PlaceholderStatement","src":"1237:1:30"}]},"documentation":{"id":57128,"nodeType":"StructuredDocumentation","src":"1106:58:30","text":"@notice Prevents delegatecall into the modified method"},"id":57135,"name":"noDelegateCall","nameLocation":"1178:14:30","nodeType":"ModifierDefinition","parameters":{"id":57129,"nodeType":"ParameterList","parameters":[],"src":"1192:2:30"},"src":"1169:76:30","virtual":false,"visibility":"internal"}],"scope":57137,"src":"274:973:30","usedErrors":[57094],"usedEvents":[]}],"src":"32:1216:30"},"id":30},"v4-core/src/PoolManager.sol":{"ast":{"absolutePath":"v4-core/src/PoolManager.sol","exportedSymbols":{"BalanceDelta":[4233],"BalanceDeltaLibrary":[4391],"BeforeSwapDelta":[44818],"Currency":[4399],"CurrencyDelta":[57432],"CurrencyLibrary":[4693],"CurrencyReserves":[57480],"CustomRevert":[45214],"ERC6909Claims":[57011],"Extsload":[57054],"Exttload":[57084],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"IUnlockCallback":[56802],"LPFeeLibrary":[48960],"Lock":[57504],"ModifyLiquidityParams":[4761],"NoDelegateCall":[57136],"NonzeroDeltaCount":[57529],"Pool":[47122],"PoolId":[4699],"PoolKey":[4745],"PoolManager":[50464],"Position":[1929],"ProtocolFees":[57363],"SafeCast":[47298],"SwapParams":[4772],"TickMath":[3140]},"id":50465,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":49249,"literals":["solidity","0.8",".26"],"nodeType":"PragmaDirective","src":"37:23:31"},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"./libraries/Hooks.sol","id":49251,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":48812,"src":"62:44:31","symbolAliases":[{"foreign":{"id":49250,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"70:5:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Pool.sol","file":"./libraries/Pool.sol","id":49253,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":47123,"src":"107:42:31","symbolAliases":[{"foreign":{"id":49252,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"115:4:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"./libraries/SafeCast.sol","id":49255,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":47299,"src":"150:50:31","symbolAliases":[{"foreign":{"id":49254,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"158:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Position.sol","file":"./libraries/Position.sol","id":49257,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":1930,"src":"201:50:31","symbolAliases":[{"foreign":{"id":49256,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"209:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"./libraries/LPFeeLibrary.sol","id":49259,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":48961,"src":"252:58:31","symbolAliases":[{"foreign":{"id":49258,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"260:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"./types/Currency.sol","id":49262,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":4694,"src":"311:63:31","symbolAliases":[{"foreign":{"id":49260,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"319:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":49261,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"329:15:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"./types/PoolKey.sol","id":49264,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":4746,"src":"375:44:31","symbolAliases":[{"foreign":{"id":49263,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"383:7:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickMath.sol","file":"./libraries/TickMath.sol","id":49266,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":3141,"src":"420:50:31","symbolAliases":[{"foreign":{"id":49265,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"428:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/NoDelegateCall.sol","file":"./NoDelegateCall.sol","id":49268,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57137,"src":"471:52:31","symbolAliases":[{"foreign":{"id":49267,"name":"NoDelegateCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57136,"src":"479:14:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"./interfaces/IHooks.sol","id":49270,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":1481,"src":"524:47:31","symbolAliases":[{"foreign":{"id":49269,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"532:6:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"./interfaces/IPoolManager.sol","id":49272,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":1764,"src":"572:59:31","symbolAliases":[{"foreign":{"id":49271,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"580:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/callback/IUnlockCallback.sol","file":"./interfaces/callback/IUnlockCallback.sol","id":49274,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":56803,"src":"632:74:31","symbolAliases":[{"foreign":{"id":49273,"name":"IUnlockCallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56802,"src":"640:15:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/ProtocolFees.sol","file":"./ProtocolFees.sol","id":49276,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57364,"src":"707:48:31","symbolAliases":[{"foreign":{"id":49275,"name":"ProtocolFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57363,"src":"715:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/ERC6909Claims.sol","file":"./ERC6909Claims.sol","id":49278,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57012,"src":"756:50:31","symbolAliases":[{"foreign":{"id":49277,"name":"ERC6909Claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57011,"src":"764:13:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"./types/PoolId.sol","id":49280,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":4714,"src":"807:42:31","symbolAliases":[{"foreign":{"id":49279,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"815:6:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"./types/PoolOperation.sol","id":49283,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":4773,"src":"850:76:31","symbolAliases":[{"foreign":{"id":49281,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"858:21:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":49282,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"881:10:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"./types/BalanceDelta.sol","id":49286,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":4392,"src":"927:75:31","symbolAliases":[{"foreign":{"id":49284,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"935:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":49285,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"949:19:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BeforeSwapDelta.sol","file":"./types/BeforeSwapDelta.sol","id":49288,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":44863,"src":"1003:60:31","symbolAliases":[{"foreign":{"id":49287,"name":"BeforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44818,"src":"1011:15:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Lock.sol","file":"./libraries/Lock.sol","id":49290,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57505,"src":"1064:42:31","symbolAliases":[{"foreign":{"id":49289,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"1072:4:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CurrencyDelta.sol","file":"./libraries/CurrencyDelta.sol","id":49292,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57433,"src":"1107:60:31","symbolAliases":[{"foreign":{"id":49291,"name":"CurrencyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57432,"src":"1115:13:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/NonzeroDeltaCount.sol","file":"./libraries/NonzeroDeltaCount.sol","id":49294,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57530,"src":"1168:68:31","symbolAliases":[{"foreign":{"id":49293,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"1176:17:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CurrencyReserves.sol","file":"./libraries/CurrencyReserves.sol","id":49296,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57481,"src":"1237:66:31","symbolAliases":[{"foreign":{"id":49295,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"1245:16:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/Extsload.sol","file":"./Extsload.sol","id":49298,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57055,"src":"1304:40:31","symbolAliases":[{"foreign":{"id":49297,"name":"Extsload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57054,"src":"1312:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/Exttload.sol","file":"./Exttload.sol","id":49300,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":57085,"src":"1345:40:31","symbolAliases":[{"foreign":{"id":49299,"name":"Exttload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57084,"src":"1353:8:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./libraries/CustomRevert.sol","id":49302,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":50465,"sourceUnit":45215,"src":"1386:58:31","symbolAliases":[{"foreign":{"id":49301,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"1394:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":49304,"name":"IPoolManager","nameLocations":["4815:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"4815:12:31"},"id":49305,"nodeType":"InheritanceSpecifier","src":"4815:12:31"},{"baseName":{"id":49306,"name":"ProtocolFees","nameLocations":["4829:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":57363,"src":"4829:12:31"},"id":49307,"nodeType":"InheritanceSpecifier","src":"4829:12:31"},{"baseName":{"id":49308,"name":"NoDelegateCall","nameLocations":["4843:14:31"],"nodeType":"IdentifierPath","referencedDeclaration":57136,"src":"4843:14:31"},"id":49309,"nodeType":"InheritanceSpecifier","src":"4843:14:31"},{"baseName":{"id":49310,"name":"ERC6909Claims","nameLocations":["4859:13:31"],"nodeType":"IdentifierPath","referencedDeclaration":57011,"src":"4859:13:31"},"id":49311,"nodeType":"InheritanceSpecifier","src":"4859:13:31"},{"baseName":{"id":49312,"name":"Extsload","nameLocations":["4874:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":57054,"src":"4874:8:31"},"id":49313,"nodeType":"InheritanceSpecifier","src":"4874:8:31"},{"baseName":{"id":49314,"name":"Exttload","nameLocations":["4884:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":57084,"src":"4884:8:31"},"id":49315,"nodeType":"InheritanceSpecifier","src":"4884:8:31"}],"canonicalName":"PoolManager","contractDependencies":[],"contractKind":"contract","documentation":{"id":49303,"nodeType":"StructuredDocumentation","src":"4726:65:31","text":"@title PoolManager\n @notice Holds the state for all pools"},"fullyImplemented":true,"id":50464,"linearizedBaseContracts":[50464,57084,57054,57011,58102,57136,57363,58162,1763,44917,44895,45108,44994],"name":"PoolManager","nameLocation":"4800:11:31","nodeType":"ContractDefinition","nodes":[{"global":false,"id":49317,"libraryName":{"id":49316,"name":"SafeCast","nameLocations":["4905:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"4905:8:31"},"nodeType":"UsingForDirective","src":"4899:21:31"},{"global":false,"id":49319,"libraryName":{"id":49318,"name":"Pool","nameLocations":["4931:4:31"],"nodeType":"IdentifierPath","referencedDeclaration":47122,"src":"4931:4:31"},"nodeType":"UsingForDirective","src":"4925:17:31"},{"global":false,"id":49323,"libraryName":{"id":49320,"name":"Hooks","nameLocations":["4953:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"4953:5:31"},"nodeType":"UsingForDirective","src":"4947:23:31","typeName":{"id":49322,"nodeType":"UserDefinedTypeName","pathNode":{"id":49321,"name":"IHooks","nameLocations":["4963:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"4963:6:31"},"referencedDeclaration":1480,"src":"4963:6:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"global":false,"id":49327,"libraryName":{"id":49324,"name":"CurrencyDelta","nameLocations":["4981:13:31"],"nodeType":"IdentifierPath","referencedDeclaration":57432,"src":"4981:13:31"},"nodeType":"UsingForDirective","src":"4975:33:31","typeName":{"id":49326,"nodeType":"UserDefinedTypeName","pathNode":{"id":49325,"name":"Currency","nameLocations":["4999:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4999:8:31"},"referencedDeclaration":4399,"src":"4999:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":49330,"libraryName":{"id":49328,"name":"LPFeeLibrary","nameLocations":["5019:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"5019:12:31"},"nodeType":"UsingForDirective","src":"5013:30:31","typeName":{"id":49329,"name":"uint24","nodeType":"ElementaryTypeName","src":"5036:6:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":49334,"libraryName":{"id":49331,"name":"CurrencyReserves","nameLocations":["5054:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":57480,"src":"5054:16:31"},"nodeType":"UsingForDirective","src":"5048:36:31","typeName":{"id":49333,"nodeType":"UserDefinedTypeName","pathNode":{"id":49332,"name":"Currency","nameLocations":["5075:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5075:8:31"},"referencedDeclaration":4399,"src":"5075:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":49337,"libraryName":{"id":49335,"name":"CustomRevert","nameLocations":["5095:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"5095:12:31"},"nodeType":"UsingForDirective","src":"5089:30:31","typeName":{"id":49336,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5112:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"constant":true,"id":49341,"mutability":"constant","name":"MAX_TICK_SPACING","nameLocation":"5148:16:31","nodeType":"VariableDeclaration","scope":50464,"src":"5125:67:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":49338,"name":"int24","nodeType":"ElementaryTypeName","src":"5125:5:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"expression":{"id":49339,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"5167:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":49340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5176:16:31","memberName":"MAX_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2627,"src":"5167:25:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"private"},{"constant":true,"id":49345,"mutability":"constant","name":"MIN_TICK_SPACING","nameLocation":"5222:16:31","nodeType":"VariableDeclaration","scope":50464,"src":"5199:67:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":49342,"name":"int24","nodeType":"ElementaryTypeName","src":"5199:5:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"expression":{"id":49343,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"5241:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":49344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5250:16:31","memberName":"MIN_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"5241:25:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"private"},{"constant":false,"id":49351,"mutability":"mutable","name":"_pools","nameLocation":"5315:6:31","nodeType":"VariableDeclaration","scope":50464,"src":"5273:48:31","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_State_$45583_storage_$","typeString":"mapping(PoolId => struct Pool.State)"},"typeName":{"id":49350,"keyName":"id","keyNameLocation":"5288:2:31","keyType":{"id":49347,"nodeType":"UserDefinedTypeName","pathNode":{"id":49346,"name":"PoolId","nameLocations":["5281:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"5281:6:31"},"referencedDeclaration":4699,"src":"5281:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"Mapping","src":"5273:32:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_State_$45583_storage_$","typeString":"mapping(PoolId => struct Pool.State)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":49349,"nodeType":"UserDefinedTypeName","pathNode":{"id":49348,"name":"Pool.State","nameLocations":["5294:4:31","5299:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"5294:10:31"},"referencedDeclaration":45583,"src":"5294:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}}},"visibility":"internal"},{"body":{"id":49367,"nodeType":"Block","src":"5415:87:31","statements":[{"condition":{"id":49357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5429:18:31","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49354,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"5430:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":49355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5435:10:31","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":57503,"src":"5430:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":49356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5430:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49365,"nodeType":"IfStatement","src":"5425:59:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49358,"name":"ManagerLocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"5449:13:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5463:8:31","memberName":"selector","nodeType":"MemberAccess","src":"5449:22:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5472:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"5449:33:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":49363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5449:35:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49364,"nodeType":"ExpressionStatement","src":"5449:35:31"}},{"id":49366,"nodeType":"PlaceholderStatement","src":"5494:1:31"}]},"documentation":{"id":49352,"nodeType":"StructuredDocumentation","src":"5328:54:31","text":"@notice This will revert if the contract is locked"},"id":49368,"name":"onlyWhenUnlocked","nameLocation":"5396:16:31","nodeType":"ModifierDefinition","parameters":{"id":49353,"nodeType":"ParameterList","parameters":[],"src":"5412:2:31"},"src":"5387:115:31","virtual":false,"visibility":"internal"},{"body":{"id":49376,"nodeType":"Block","src":"5569:2:31","statements":[]},"id":49377,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":49373,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49370,"src":"5555:12:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":49374,"kind":"baseConstructorSpecifier","modifierName":{"id":49372,"name":"ProtocolFees","nameLocations":["5542:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":57363,"src":"5542:12:31"},"nodeType":"ModifierInvocation","src":"5542:26:31"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":49371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49370,"mutability":"mutable","name":"initialOwner","nameLocation":"5528:12:31","nodeType":"VariableDeclaration","scope":49377,"src":"5520:20:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49369,"name":"address","nodeType":"ElementaryTypeName","src":"5520:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5519:22:31"},"returnParameters":{"id":49375,"nodeType":"ParameterList","parameters":[],"src":"5569:0:31"},"scope":50464,"src":"5508:63:31","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[1632],"body":{"id":49430,"nodeType":"Block","src":"5695:383:31","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49386,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"5709:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":49387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5714:10:31","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":57503,"src":"5709:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":49388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5709:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49396,"nodeType":"IfStatement","src":"5705:60:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49389,"name":"AlreadyUnlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1521,"src":"5728:15:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5744:8:31","memberName":"selector","nodeType":"MemberAccess","src":"5728:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5753:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"5728:35:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":49394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5728:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49395,"nodeType":"ExpressionStatement","src":"5728:37:31"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49397,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"5776:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":49399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5781:6:31","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":57491,"src":"5776:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":49400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:13:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49401,"nodeType":"ExpressionStatement","src":"5776:13:31"},{"expression":{"id":49410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49402,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49384,"src":"5907:6:31","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49408,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49380,"src":"5959:4:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"expression":{"id":49404,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5932:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5936:6:31","memberName":"sender","nodeType":"MemberAccess","src":"5932:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49403,"name":"IUnlockCallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56802,"src":"5916:15:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IUnlockCallback_$56802_$","typeString":"type(contract IUnlockCallback)"}},"id":49406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5916:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IUnlockCallback_$56802","typeString":"contract IUnlockCallback"}},"id":49407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5944:14:31","memberName":"unlockCallback","nodeType":"MemberAccess","referencedDeclaration":56801,"src":"5916:42:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":49409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5916:48:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"5907:57:31","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":49411,"nodeType":"ExpressionStatement","src":"5907:57:31"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49412,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"5979:17:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_NonzeroDeltaCount_$57529_$","typeString":"type(library NonzeroDeltaCount)"}},"id":49413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5997:4:31","memberName":"read","nodeType":"MemberAccess","referencedDeclaration":57517,"src":"5979:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5979:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":49415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6007:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5979:29:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49424,"nodeType":"IfStatement","src":"5975:75:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49417,"name":"CurrencyNotSettled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"6010:18:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6029:8:31","memberName":"selector","nodeType":"MemberAccess","src":"6010:27:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6038:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"6010:38:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":49422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6010:40:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49423,"nodeType":"ExpressionStatement","src":"6010:40:31"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49425,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"6060:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":49427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6065:4:31","memberName":"lock","nodeType":"MemberAccess","referencedDeclaration":57496,"src":"6060:9:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":49428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6060:11:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49429,"nodeType":"ExpressionStatement","src":"6060:11:31"}]},"documentation":{"id":49378,"nodeType":"StructuredDocumentation","src":"5577:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"48c89491","id":49431,"implemented":true,"kind":"function","modifiers":[],"name":"unlock","nameLocation":"5619:6:31","nodeType":"FunctionDefinition","overrides":{"id":49382,"nodeType":"OverrideSpecifier","overrides":[],"src":"5656:8:31"},"parameters":{"id":49381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49380,"mutability":"mutable","name":"data","nameLocation":"5641:4:31","nodeType":"VariableDeclaration","scope":49431,"src":"5626:19:31","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49379,"name":"bytes","nodeType":"ElementaryTypeName","src":"5626:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5625:21:31"},"returnParameters":{"id":49385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49384,"mutability":"mutable","name":"result","nameLocation":"5687:6:31","nodeType":"VariableDeclaration","scope":49431,"src":"5674:19:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49383,"name":"bytes","nodeType":"ElementaryTypeName","src":"5674:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5673:21:31"},"scope":50464,"src":"5610:468:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1643],"body":{"id":49577,"nodeType":"Block","src":"6224:1338:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":49447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49444,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6341:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6345:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"6341:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":49446,"name":"MAX_TICK_SPACING","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49341,"src":"6359:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6341:34:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49457,"nodeType":"IfStatement","src":"6337:96:31","trueBody":{"expression":{"arguments":[{"expression":{"id":49453,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6417:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6421:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"6417:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":49448,"name":"TickSpacingTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1529,"src":"6377:19:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":49451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6397:8:31","memberName":"selector","nodeType":"MemberAccess","src":"6377:28:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6406:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"6377:39:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":49455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6377:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49456,"nodeType":"ExpressionStatement","src":"6377:56:31"}},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":49461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49458,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6447:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6451:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"6447:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":49460,"name":"MIN_TICK_SPACING","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49345,"src":"6465:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6447:34:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49471,"nodeType":"IfStatement","src":"6443:96:31","trueBody":{"expression":{"arguments":[{"expression":{"id":49467,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6523:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6527:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"6523:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":49462,"name":"TickSpacingTooSmall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1534,"src":"6483:19:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":49465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6503:8:31","memberName":"selector","nodeType":"MemberAccess","src":"6483:28:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6512:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"6483:39:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":49469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49470,"nodeType":"ExpressionStatement","src":"6483:56:31"}},{"condition":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"function":4498,"id":49476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49472,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6553:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6557:9:31","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6553:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":49474,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6570:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6574:9:31","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6570:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"src":"6553:30:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49495,"nodeType":"IfStatement","src":"6549:202:31","trueBody":{"id":49494,"nodeType":"Block","src":"6585:166:31","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":49484,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6680:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6684:9:31","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6680:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49482,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"6664:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":49483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6673:6:31","memberName":"unwrap","nodeType":"MemberAccess","src":"6664:15:31","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":49486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6664:30:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":49489,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6712:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6716:9:31","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6712:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49487,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"6696:8:31","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":49488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6705:6:31","memberName":"unwrap","nodeType":"MemberAccess","src":"6696:15:31","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":49491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6696:30:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":49477,"name":"CurrenciesOutOfOrderOrEqual","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"6599:27:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_address_$returns$_t_error_$","typeString":"function (address,address) pure returns (error)"}},"id":49480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6627:8:31","memberName":"selector","nodeType":"MemberAccess","src":"6599:36:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6636:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45196,"src":"6599:47:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_address_$_t_address_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,address,address) pure"}},"id":49492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6599:141:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49493,"nodeType":"ExpressionStatement","src":"6599:141:31"}]}},{"condition":{"id":49502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6764:38:31","subExpression":{"arguments":[{"expression":{"id":49499,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6794:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6798:3:31","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"6794:7:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"expression":{"id":49496,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6765:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6769:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"6765:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6775:18:31","memberName":"isValidHookAddress","nodeType":"MemberAccess","referencedDeclaration":48041,"src":"6765:28:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint24_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint24) pure returns (bool)"}},"id":49501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49517,"nodeType":"IfStatement","src":"6760:109:31","trueBody":{"expression":{"arguments":[{"arguments":[{"expression":{"id":49512,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6858:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6862:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"6858:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":49511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6850:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49510,"name":"address","nodeType":"ElementaryTypeName","src":"6850:7:31","typeDescriptions":{}}},"id":49514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6850:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"expression":{"id":49503,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"6804:5:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Hooks_$48811_$","typeString":"type(library Hooks)"}},"id":49507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6810:19:31","memberName":"HookAddressNotValid","nodeType":"MemberAccess","referencedDeclaration":47801,"src":"6804:25:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":49508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6830:8:31","memberName":"selector","nodeType":"MemberAccess","src":"6804:34:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6839:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45140,"src":"6804:45:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_address_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,address) pure"}},"id":49515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:65:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49516,"nodeType":"ExpressionStatement","src":"6804:65:31"}},{"assignments":[49519],"declarations":[{"constant":false,"id":49519,"mutability":"mutable","name":"lpFee","nameLocation":"6887:5:31","nodeType":"VariableDeclaration","scope":49577,"src":"6880:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":49518,"name":"uint24","nodeType":"ElementaryTypeName","src":"6880:6:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"id":49524,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49520,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6895:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6899:3:31","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"6895:7:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":49522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6903:15:31","memberName":"getInitialLPFee","nodeType":"MemberAccess","referencedDeclaration":48911,"src":"6895:23:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_uint24_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (uint24)"}},"id":49523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:25:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"VariableDeclarationStatement","src":"6880:40:31"},{"expression":{"arguments":[{"id":49530,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6958:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49531,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49437,"src":"6963:12:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":49525,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6931:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6935:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"6931:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6941:16:31","memberName":"beforeInitialize","nodeType":"MemberAccess","referencedDeclaration":48193,"src":"6931:26:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$returns$__$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,uint160)"}},"id":49532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6931:45:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49533,"nodeType":"ExpressionStatement","src":"6931:45:31"},{"assignments":[49536],"declarations":[{"constant":false,"id":49536,"mutability":"mutable","name":"id","nameLocation":"6994:2:31","nodeType":"VariableDeclaration","scope":49577,"src":"6987:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":49535,"nodeType":"UserDefinedTypeName","pathNode":{"id":49534,"name":"PoolId","nameLocations":["6987:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"6987:6:31"},"referencedDeclaration":4699,"src":"6987:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":49540,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49537,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"6999:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7003:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"6999:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":49539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6999:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"6987:22:31"},{"expression":{"id":49549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49541,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"7020:4:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49546,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49437,"src":"7049:12:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":49547,"name":"lpFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49519,"src":"7063:5:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"baseExpression":{"id":49542,"name":"_pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49351,"src":"7027:6:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_State_$45583_storage_$","typeString":"mapping(PoolId => struct Pool.State storage ref)"}},"id":49544,"indexExpression":{"id":49543,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49536,"src":"7034:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7027:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage","typeString":"struct Pool.State storage ref"}},"id":49545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7038:10:31","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":45686,"src":"7027:21:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_uint160_$_t_uint24_$returns$_t_int24_$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,uint160,uint24) returns (int24)"}},"id":49548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7027:42:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"7020:49:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":49550,"nodeType":"ExpressionStatement","src":"7020:49:31"},{"eventCall":{"arguments":[{"id":49552,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49536,"src":"7404:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"expression":{"id":49553,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7408:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7412:9:31","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"7408:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":49555,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7423:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7427:9:31","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"7423:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":49557,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7438:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7442:3:31","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"7438:7:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"expression":{"id":49559,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7447:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7451:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"7447:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49561,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7464:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7468:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"7464:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"id":49563,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49437,"src":"7475:12:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":49564,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"7489:4:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":49551,"name":"Initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1576,"src":"7393:10:31","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_uint24_$_t_int24_$_t_contract$_IHooks_$1480_$_t_uint160_$_t_int24_$returns$__$","typeString":"function (PoolId,Currency,Currency,uint24,int24,contract IHooks,uint160,int24)"}},"id":49565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7393:101:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49566,"nodeType":"EmitStatement","src":"7388:106:31"},{"expression":{"arguments":[{"id":49572,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7531:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49573,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49437,"src":"7536:12:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":49574,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"7550:4:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":49567,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49435,"src":"7505:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7509:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"7505:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7515:15:31","memberName":"afterInitialize","nodeType":"MemberAccess","referencedDeclaration":48233,"src":"7505:25:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$_t_int24_$returns$__$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,uint160,int24)"}},"id":49575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7505:50:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49576,"nodeType":"ExpressionStatement","src":"7505:50:31"}]},"documentation":{"id":49432,"nodeType":"StructuredDocumentation","src":"6084:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"6276cbbe","id":49578,"implemented":true,"kind":"function","modifiers":[{"id":49440,"kind":"modifierInvocation","modifierName":{"id":49439,"name":"noDelegateCall","nameLocations":["6188:14:31"],"nodeType":"IdentifierPath","referencedDeclaration":57135,"src":"6188:14:31"},"nodeType":"ModifierInvocation","src":"6188:14:31"}],"name":"initialize","nameLocation":"6126:10:31","nodeType":"FunctionDefinition","parameters":{"id":49438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49435,"mutability":"mutable","name":"key","nameLocation":"6152:3:31","nodeType":"VariableDeclaration","scope":49578,"src":"6137:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":49434,"nodeType":"UserDefinedTypeName","pathNode":{"id":49433,"name":"PoolKey","nameLocations":["6137:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"6137:7:31"},"referencedDeclaration":4745,"src":"6137:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":49437,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"6165:12:31","nodeType":"VariableDeclaration","scope":49578,"src":"6157:20:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":49436,"name":"uint160","nodeType":"ElementaryTypeName","src":"6157:7:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"6136:42:31"},"returnParameters":{"id":49443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49442,"mutability":"mutable","name":"tick","nameLocation":"6218:4:31","nodeType":"VariableDeclaration","scope":49578,"src":"6212:10:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":49441,"name":"int24","nodeType":"ElementaryTypeName","src":"6212:5:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"6211:12:31"},"scope":50464,"src":"6117:1445:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1661],"body":{"id":49721,"nodeType":"Block","src":"7846:1500:31","statements":[{"assignments":[49602],"declarations":[{"constant":false,"id":49602,"mutability":"mutable","name":"id","nameLocation":"7863:2:31","nodeType":"VariableDeclaration","scope":49721,"src":"7856:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":49601,"nodeType":"UserDefinedTypeName","pathNode":{"id":49600,"name":"PoolId","nameLocations":["7856:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"7856:6:31"},"referencedDeclaration":4699,"src":"7856:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":49606,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49603,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"7868:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7872:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"7868:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":49605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"7856:22:31"},{"id":49666,"nodeType":"Block","src":"7888:788:31","statements":[{"assignments":[49611],"declarations":[{"constant":false,"id":49611,"mutability":"mutable","name":"pool","nameLocation":"7921:4:31","nodeType":"VariableDeclaration","scope":49666,"src":"7902:23:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":49610,"nodeType":"UserDefinedTypeName","pathNode":{"id":49609,"name":"Pool.State","nameLocations":["7902:4:31","7907:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"7902:10:31"},"referencedDeclaration":45583,"src":"7902:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"id":49615,"initialValue":{"arguments":[{"id":49613,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49602,"src":"7937:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":49612,"name":"_getPool","nodeType":"Identifier","overloadedDeclarations":[50451],"referencedDeclaration":50451,"src":"7928:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (PoolId) view returns (struct Pool.State storage pointer)"}},"id":49614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7928:12:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7902:38:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49616,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49611,"src":"7954:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7959:20:31","memberName":"checkPoolInitialized","nodeType":"MemberAccess","referencedDeclaration":47057,"src":"7954:25:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer) view"}},"id":49619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7954:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49620,"nodeType":"ExpressionStatement","src":"7954:27:31"},{"expression":{"arguments":[{"id":49626,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"8028:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49627,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8033:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":49628,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49587,"src":"8041:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":49621,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"7996:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8000:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"7996:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8006:21:31","memberName":"beforeModifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":48306,"src":"7996:31:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,struct ModifyLiquidityParams memory,bytes calldata)"}},"id":49629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7996:54:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49630,"nodeType":"ExpressionStatement","src":"7996:54:31"},{"assignments":[49633],"declarations":[{"constant":false,"id":49633,"mutability":"mutable","name":"principalDelta","nameLocation":"8078:14:31","nodeType":"VariableDeclaration","scope":49666,"src":"8065:27:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49632,"nodeType":"UserDefinedTypeName","pathNode":{"id":49631,"name":"BalanceDelta","nameLocations":["8065:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"8065:12:31"},"referencedDeclaration":4233,"src":"8065:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":49634,"nodeType":"VariableDeclarationStatement","src":"8065:27:31"},{"expression":{"id":49658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":49635,"name":"principalDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49633,"src":"8107:14:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49636,"name":"feesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49598,"src":"8123:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":49637,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8106:29:31","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":49642,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8232:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8236:6:31","memberName":"sender","nodeType":"MemberAccess","src":"8232:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49644,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8275:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8282:9:31","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"8275:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49646,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8324:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8331:9:31","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"8324:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49648,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8378:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8385:14:31","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"8378:21:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":49650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8400:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"8378:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":49651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8378:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":49652,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"8445:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8449:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"8445:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49654,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8488:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8495:4:31","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"8488:11:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":49640,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"8176:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Pool_$47122_$","typeString":"type(library Pool)"}},"id":49641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8181:21:31","memberName":"ModifyLiquidityParams","nodeType":"MemberAccess","referencedDeclaration":45748,"src":"8176:26:31","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$45748_storage_ptr_$","typeString":"type(struct Pool.ModifyLiquidityParams storage pointer)"}},"id":49656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8225:5:31","8264:9:31","8313:9:31","8362:14:31","8432:11:31","8482:4:31"],"names":["owner","tickLower","tickUpper","liquidityDelta","tickSpacing","salt"],"nodeType":"FunctionCall","src":"8176:342:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}],"expression":{"id":49638,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49611,"src":"8138:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8143:15:31","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":46084,"src":"8138:20:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_struct$_ModifyLiquidityParams_$45748_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,struct Pool.ModifyLiquidityParams memory) returns (BalanceDelta,BalanceDelta)"}},"id":49657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8138:394:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"src":"8106:426:31","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49659,"nodeType":"ExpressionStatement","src":"8106:426:31"},{"expression":{"id":49664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49660,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49595,"src":"8623:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4288,"id":49663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49661,"name":"principalDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49633,"src":"8637:14:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":49662,"name":"feesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49598,"src":"8654:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"8637:28:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"8623:42:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":49665,"nodeType":"ExpressionStatement","src":"8623:42:31"}]},{"eventCall":{"arguments":[{"id":49668,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49602,"src":"8817:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"expression":{"id":49669,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8821:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8825:6:31","memberName":"sender","nodeType":"MemberAccess","src":"8821:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":49671,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8833:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8840:9:31","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"8833:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49673,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8851:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8858:9:31","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"8851:16:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49675,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8869:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8876:14:31","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"8869:21:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"expression":{"id":49677,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"8892:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":49678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8899:4:31","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"8892:11:31","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49667,"name":"ModifyLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1592,"src":"8801:15:31","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_int256_$_t_bytes32_$returns$__$","typeString":"function (PoolId,address,int24,int24,int256,bytes32)"}},"id":49679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8801:103:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49680,"nodeType":"EmitStatement","src":"8796:108:31"},{"assignments":[49683],"declarations":[{"constant":false,"id":49683,"mutability":"mutable","name":"hookDelta","nameLocation":"8928:9:31","nodeType":"VariableDeclaration","scope":49721,"src":"8915:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49682,"nodeType":"UserDefinedTypeName","pathNode":{"id":49681,"name":"BalanceDelta","nameLocations":["8915:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"8915:12:31"},"referencedDeclaration":4233,"src":"8915:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":49684,"nodeType":"VariableDeclarationStatement","src":"8915:22:31"},{"expression":{"id":49697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":49685,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49595,"src":"8948:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49686,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49683,"src":"8961:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":49687,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8947:24:31","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49691,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"9005:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49692,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49585,"src":"9010:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":49693,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49595,"src":"9018:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49694,"name":"feesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49598,"src":"9031:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49695,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49587,"src":"9044:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":49688,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"8974:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8978:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"8974:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8984:20:31","memberName":"afterModifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":48434,"src":"8974:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,struct ModifyLiquidityParams memory,BalanceDelta,BalanceDelta,bytes calldata) returns (BalanceDelta,BalanceDelta)"}},"id":49696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8974:79:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"src":"8947:106:31","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49698,"nodeType":"ExpressionStatement","src":"8947:106:31"},{"condition":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4361,"id":49702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49699,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49683,"src":"9169:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":49700,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"9182:19:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BalanceDeltaLibrary_$4391_$","typeString":"type(library BalanceDeltaLibrary)"}},"id":49701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9202:10:31","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"9182:30:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"9169:43:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49713,"nodeType":"IfStatement","src":"9165:109:31","trueBody":{"expression":{"arguments":[{"id":49704,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"9239:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49705,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49683,"src":"9244:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"arguments":[{"expression":{"id":49708,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"9263:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49709,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9267:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"9263:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":49707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9255:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49706,"name":"address","nodeType":"ElementaryTypeName","src":"9255:7:31","typeDescriptions":{}}},"id":49710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9255:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49703,"name":"_accountPoolBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"9214:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_address_$returns$__$","typeString":"function (struct PoolKey memory,BalanceDelta,address)"}},"id":49711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9214:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49712,"nodeType":"ExpressionStatement","src":"9214:60:31"}},{"expression":{"arguments":[{"id":49715,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"9310:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49716,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49595,"src":"9315:11:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"expression":{"id":49717,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9328:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9332:6:31","memberName":"sender","nodeType":"MemberAccess","src":"9328:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49714,"name":"_accountPoolBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"9285:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_address_$returns$__$","typeString":"function (struct PoolKey memory,BalanceDelta,address)"}},"id":49719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9285:54:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49720,"nodeType":"ExpressionStatement","src":"9285:54:31"}]},"documentation":{"id":49579,"nodeType":"StructuredDocumentation","src":"7568:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"5a6bcfda","id":49722,"implemented":true,"kind":"function","modifiers":[{"id":49590,"kind":"modifierInvocation","modifierName":{"id":49589,"name":"onlyWhenUnlocked","nameLocations":["7733:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"7733:16:31"},"nodeType":"ModifierInvocation","src":"7733:16:31"},{"id":49592,"kind":"modifierInvocation","modifierName":{"id":49591,"name":"noDelegateCall","nameLocations":["7758:14:31"],"nodeType":"IdentifierPath","referencedDeclaration":57135,"src":"7758:14:31"},"nodeType":"ModifierInvocation","src":"7758:14:31"}],"name":"modifyLiquidity","nameLocation":"7610:15:31","nodeType":"FunctionDefinition","parameters":{"id":49588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49582,"mutability":"mutable","name":"key","nameLocation":"7641:3:31","nodeType":"VariableDeclaration","scope":49722,"src":"7626:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":49581,"nodeType":"UserDefinedTypeName","pathNode":{"id":49580,"name":"PoolKey","nameLocations":["7626:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7626:7:31"},"referencedDeclaration":4745,"src":"7626:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":49585,"mutability":"mutable","name":"params","nameLocation":"7675:6:31","nodeType":"VariableDeclaration","scope":49722,"src":"7646:35:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":49584,"nodeType":"UserDefinedTypeName","pathNode":{"id":49583,"name":"ModifyLiquidityParams","nameLocations":["7646:21:31"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"7646:21:31"},"referencedDeclaration":4761,"src":"7646:21:31","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":49587,"mutability":"mutable","name":"hookData","nameLocation":"7698:8:31","nodeType":"VariableDeclaration","scope":49722,"src":"7683:23:31","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49586,"name":"bytes","nodeType":"ElementaryTypeName","src":"7683:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7625:82:31"},"returnParameters":{"id":49599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49595,"mutability":"mutable","name":"callerDelta","nameLocation":"7803:11:31","nodeType":"VariableDeclaration","scope":49722,"src":"7790:24:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49594,"nodeType":"UserDefinedTypeName","pathNode":{"id":49593,"name":"BalanceDelta","nameLocations":["7790:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7790:12:31"},"referencedDeclaration":4233,"src":"7790:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":49598,"mutability":"mutable","name":"feesAccrued","nameLocation":"7829:11:31","nodeType":"VariableDeclaration","scope":49722,"src":"7816:24:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49597,"nodeType":"UserDefinedTypeName","pathNode":{"id":49596,"name":"BalanceDelta","nameLocations":["7816:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7816:12:31"},"referencedDeclaration":4233,"src":"7816:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"7789:52:31"},"scope":50464,"src":"7601:1745:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1676],"body":{"id":49863,"nodeType":"Block","src":"9580:1491:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49741,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"9594:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":49742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9601:15:31","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"9594:22:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9620:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9594:27:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49752,"nodeType":"IfStatement","src":"9590:77:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":49745,"name":"SwapAmountCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1547,"src":"9623:22:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":49748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9646:8:31","memberName":"selector","nodeType":"MemberAccess","src":"9623:31:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":49749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9655:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"9623:42:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":49750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9623:44:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49751,"nodeType":"ExpressionStatement","src":"9623:44:31"}},{"assignments":[49755],"declarations":[{"constant":false,"id":49755,"mutability":"mutable","name":"id","nameLocation":"9684:2:31","nodeType":"VariableDeclaration","scope":49863,"src":"9677:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":49754,"nodeType":"UserDefinedTypeName","pathNode":{"id":49753,"name":"PoolId","nameLocations":["9677:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"9677:6:31"},"referencedDeclaration":4699,"src":"9677:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":49759,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49756,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"9689:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9693:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"9689:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":49758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9689:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"9677:22:31"},{"assignments":[49764],"declarations":[{"constant":false,"id":49764,"mutability":"mutable","name":"pool","nameLocation":"9728:4:31","nodeType":"VariableDeclaration","scope":49863,"src":"9709:23:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":49763,"nodeType":"UserDefinedTypeName","pathNode":{"id":49762,"name":"Pool.State","nameLocations":["9709:4:31","9714:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"9709:10:31"},"referencedDeclaration":45583,"src":"9709:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"id":49768,"initialValue":{"arguments":[{"id":49766,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49755,"src":"9744:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":49765,"name":"_getPool","nodeType":"Identifier","overloadedDeclarations":[50451],"referencedDeclaration":50451,"src":"9735:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (PoolId) view returns (struct Pool.State storage pointer)"}},"id":49767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9735:12:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9709:38:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49769,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49764,"src":"9757:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9762:20:31","memberName":"checkPoolInitialized","nodeType":"MemberAccess","referencedDeclaration":47057,"src":"9757:25:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer) view"}},"id":49772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9757:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49773,"nodeType":"ExpressionStatement","src":"9757:27:31"},{"assignments":[49776],"declarations":[{"constant":false,"id":49776,"mutability":"mutable","name":"beforeSwapDelta","nameLocation":"9811:15:31","nodeType":"VariableDeclaration","scope":49863,"src":"9795:31:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":49775,"nodeType":"UserDefinedTypeName","pathNode":{"id":49774,"name":"BeforeSwapDelta","nameLocations":["9795:15:31"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"9795:15:31"},"referencedDeclaration":44818,"src":"9795:15:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"}],"id":49777,"nodeType":"VariableDeclarationStatement","src":"9795:31:31"},{"id":49822,"nodeType":"Block","src":"9836:807:31","statements":[{"assignments":[49779],"declarations":[{"constant":false,"id":49779,"mutability":"mutable","name":"amountToSwap","nameLocation":"9857:12:31","nodeType":"VariableDeclaration","scope":49822,"src":"9850:19:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49778,"name":"int256","nodeType":"ElementaryTypeName","src":"9850:6:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":49780,"nodeType":"VariableDeclarationStatement","src":"9850:19:31"},{"assignments":[49782],"declarations":[{"constant":false,"id":49782,"mutability":"mutable","name":"lpFeeOverride","nameLocation":"9890:13:31","nodeType":"VariableDeclaration","scope":49822,"src":"9883:20:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":49781,"name":"uint24","nodeType":"ElementaryTypeName","src":"9883:6:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"id":49783,"nodeType":"VariableDeclarationStatement","src":"9883:20:31"},{"expression":{"id":49795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":49784,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49779,"src":"9918:12:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":49785,"name":"beforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49776,"src":"9932:15:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},{"id":49786,"name":"lpFeeOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49782,"src":"9949:13:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"id":49787,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"9917:46:31","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$","typeString":"tuple(int256,BeforeSwapDelta,uint24)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49791,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"9987:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49792,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"9992:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"id":49793,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49731,"src":"10000:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":49788,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"9966:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9970:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"9966:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:10:31","memberName":"beforeSwap","nodeType":"MemberAccess","referencedDeclaration":48575,"src":"9966:20:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_calldata_ptr_$returns$_t_int256_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,struct SwapParams memory,bytes calldata) returns (int256,BeforeSwapDelta,uint24)"}},"id":49794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9966:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$","typeString":"tuple(int256,BeforeSwapDelta,uint24)"}},"src":"9917:92:31","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49796,"nodeType":"ExpressionStatement","src":"9917:92:31"},{"expression":{"id":49820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49797,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49739,"src":"10157:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49799,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49764,"src":"10192:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":49800,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49755,"src":"10214:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"expression":{"id":49803,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10285:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10289:11:31","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"10285:15:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":49805,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"10334:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":49806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10341:10:31","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":4765,"src":"10334:17:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49807,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49779,"src":"10390:12:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"expression":{"id":49808,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"10443:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":49809,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10450:17:31","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":4771,"src":"10443:24:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":49810,"name":"lpFeeOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49782,"src":"10504:13:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":49801,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"10234:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Pool_$47122_$","typeString":"type(library Pool)"}},"id":49802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10239:10:31","memberName":"SwapParams","nodeType":"MemberAccess","referencedDeclaration":46119,"src":"10234:15:31","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SwapParams_$46119_storage_ptr_$","typeString":"type(struct Pool.SwapParams storage pointer)"}},"id":49811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10272:11:31","10322:10:31","10373:15:31","10424:17:31","10489:13:31"],"names":["tickSpacing","zeroForOne","amountSpecified","sqrtPriceLimitX96","lpFeeOverride"],"nodeType":"FunctionCall","src":"10234:302:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},{"condition":{"expression":{"id":49812,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"10554:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":49813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:10:31","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":4765,"src":"10554:17:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":49816,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10590:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10594:9:31","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"10590:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10554:49:31","trueExpression":{"expression":{"id":49814,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10574:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10578:9:31","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"10574:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"id":49798,"name":"_swap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49929,"src":"10169:5:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_SwapParams_$46119_memory_ptr_$_t_userDefinedValueType$_Currency_$4399_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct Pool.State storage pointer,PoolId,struct Pool.SwapParams memory,Currency) returns (BalanceDelta)"}},"id":49819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10169:463:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"10157:475:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":49821,"nodeType":"ExpressionStatement","src":"10157:475:31"}]},{"assignments":[49825],"declarations":[{"constant":false,"id":49825,"mutability":"mutable","name":"hookDelta","nameLocation":"10666:9:31","nodeType":"VariableDeclaration","scope":49863,"src":"10653:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49824,"nodeType":"UserDefinedTypeName","pathNode":{"id":49823,"name":"BalanceDelta","nameLocations":["10653:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"10653:12:31"},"referencedDeclaration":4233,"src":"10653:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":49826,"nodeType":"VariableDeclarationStatement","src":"10653:22:31"},{"expression":{"id":49839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":49827,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49739,"src":"10686:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49828,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49825,"src":"10697:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":49829,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10685:22:31","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49833,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10730:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49834,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49729,"src":"10735:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"id":49835,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49739,"src":"10743:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":49836,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49731,"src":"10754:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":49837,"name":"beforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49776,"src":"10764:15:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}],"expression":{"expression":{"id":49830,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10710:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49831,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10714:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"10710:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10720:9:31","memberName":"afterSwap","nodeType":"MemberAccess","referencedDeclaration":48701,"src":"10710:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,struct SwapParams memory,BalanceDelta,bytes calldata,BeforeSwapDelta) returns (BalanceDelta,BalanceDelta)"}},"id":49838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10710:70:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"src":"10685:95:31","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49840,"nodeType":"ExpressionStatement","src":"10685:95:31"},{"condition":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4361,"id":49844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49841,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49825,"src":"10896:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":49842,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"10909:19:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BalanceDeltaLibrary_$4391_$","typeString":"type(library BalanceDeltaLibrary)"}},"id":49843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10929:10:31","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"10909:30:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"10896:43:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49855,"nodeType":"IfStatement","src":"10892:109:31","trueBody":{"expression":{"arguments":[{"id":49846,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10966:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49847,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49825,"src":"10971:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"arguments":[{"expression":{"id":49850,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"10990:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10994:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"10990:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":49849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10982:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49848,"name":"address","nodeType":"ElementaryTypeName","src":"10982:7:31","typeDescriptions":{}}},"id":49852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10982:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49845,"name":"_accountPoolBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"10941:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_address_$returns$__$","typeString":"function (struct PoolKey memory,BalanceDelta,address)"}},"id":49853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10941:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49854,"nodeType":"ExpressionStatement","src":"10941:60:31"}},{"expression":{"arguments":[{"id":49857,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49726,"src":"11037:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49858,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49739,"src":"11042:9:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"expression":{"id":49859,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11053:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11057:6:31","memberName":"sender","nodeType":"MemberAccess","src":"11053:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49856,"name":"_accountPoolBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"11012:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_address_$returns$__$","typeString":"function (struct PoolKey memory,BalanceDelta,address)"}},"id":49861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11012:52:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49862,"nodeType":"ExpressionStatement","src":"11012:52:31"}]},"documentation":{"id":49723,"nodeType":"StructuredDocumentation","src":"9352:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"f3cd914c","id":49864,"implemented":true,"kind":"function","modifiers":[{"id":49734,"kind":"modifierInvocation","modifierName":{"id":49733,"name":"onlyWhenUnlocked","nameLocations":["9495:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"9495:16:31"},"nodeType":"ModifierInvocation","src":"9495:16:31"},{"id":49736,"kind":"modifierInvocation","modifierName":{"id":49735,"name":"noDelegateCall","nameLocations":["9520:14:31"],"nodeType":"IdentifierPath","referencedDeclaration":57135,"src":"9520:14:31"},"nodeType":"ModifierInvocation","src":"9520:14:31"}],"name":"swap","nameLocation":"9394:4:31","nodeType":"FunctionDefinition","parameters":{"id":49732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49726,"mutability":"mutable","name":"key","nameLocation":"9414:3:31","nodeType":"VariableDeclaration","scope":49864,"src":"9399:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":49725,"nodeType":"UserDefinedTypeName","pathNode":{"id":49724,"name":"PoolKey","nameLocations":["9399:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"9399:7:31"},"referencedDeclaration":4745,"src":"9399:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":49729,"mutability":"mutable","name":"params","nameLocation":"9437:6:31","nodeType":"VariableDeclaration","scope":49864,"src":"9419:24:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":49728,"nodeType":"UserDefinedTypeName","pathNode":{"id":49727,"name":"SwapParams","nameLocations":["9419:10:31"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"9419:10:31"},"referencedDeclaration":4772,"src":"9419:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":49731,"mutability":"mutable","name":"hookData","nameLocation":"9460:8:31","nodeType":"VariableDeclaration","scope":49864,"src":"9445:23:31","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49730,"name":"bytes","nodeType":"ElementaryTypeName","src":"9445:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9398:71:31"},"returnParameters":{"id":49740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49739,"mutability":"mutable","name":"swapDelta","nameLocation":"9565:9:31","nodeType":"VariableDeclaration","scope":49864,"src":"9552:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49738,"nodeType":"UserDefinedTypeName","pathNode":{"id":49737,"name":"BalanceDelta","nameLocations":["9552:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"9552:12:31"},"referencedDeclaration":4233,"src":"9552:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"9551:24:31"},"scope":50464,"src":"9385:1686:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":49928,"nodeType":"Block","src":"11352:634:31","statements":[{"assignments":[49885,49887,49889,49892],"declarations":[{"constant":false,"id":49885,"mutability":"mutable","name":"delta","nameLocation":"11376:5:31","nodeType":"VariableDeclaration","scope":49928,"src":"11363:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49884,"nodeType":"UserDefinedTypeName","pathNode":{"id":49883,"name":"BalanceDelta","nameLocations":["11363:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"11363:12:31"},"referencedDeclaration":4233,"src":"11363:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":49887,"mutability":"mutable","name":"amountToProtocol","nameLocation":"11391:16:31","nodeType":"VariableDeclaration","scope":49928,"src":"11383:24:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49886,"name":"uint256","nodeType":"ElementaryTypeName","src":"11383:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49889,"mutability":"mutable","name":"swapFee","nameLocation":"11416:7:31","nodeType":"VariableDeclaration","scope":49928,"src":"11409:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":49888,"name":"uint24","nodeType":"ElementaryTypeName","src":"11409:6:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":49892,"mutability":"mutable","name":"result","nameLocation":"11448:6:31","nodeType":"VariableDeclaration","scope":49928,"src":"11425:29:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult"},"typeName":{"id":49891,"nodeType":"UserDefinedTypeName","pathNode":{"id":49890,"name":"Pool.SwapResult","nameLocations":["11425:4:31","11430:10:31"],"nodeType":"IdentifierPath","referencedDeclaration":46091,"src":"11425:15:31"},"referencedDeclaration":46091,"src":"11425:15:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_storage_ptr","typeString":"struct Pool.SwapResult"}},"visibility":"internal"}],"id":49897,"initialValue":{"arguments":[{"id":49895,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49874,"src":"11480:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}],"expression":{"id":49893,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49868,"src":"11470:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11475:4:31","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":46734,"src":"11470:9:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_struct$_SwapParams_$46119_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_uint256_$_t_uint24_$_t_struct$_SwapResult_$46091_memory_ptr_$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,struct Pool.SwapParams memory) returns (BalanceDelta,uint256,uint24,struct Pool.SwapResult memory)"}},"id":49896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11470:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_uint256_$_t_uint24_$_t_struct$_SwapResult_$46091_memory_ptr_$","typeString":"tuple(BalanceDelta,uint256,uint24,struct Pool.SwapResult memory)"}},"nodeType":"VariableDeclarationStatement","src":"11362:125:31"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49898,"name":"amountToProtocol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49887,"src":"11546:16:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11565:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11546:20:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49906,"nodeType":"IfStatement","src":"11542:78:31","trueBody":{"expression":{"arguments":[{"id":49902,"name":"inputCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49877,"src":"11588:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":49903,"name":"amountToProtocol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49887,"src":"11603:16:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49901,"name":"_updateProtocolFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57362,"src":"11568:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$returns$__$","typeString":"function (Currency,uint256)"}},"id":49904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11568:52:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49905,"nodeType":"ExpressionStatement","src":"11568:52:31"}},{"eventCall":{"arguments":[{"id":49908,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49871,"src":"11753:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"expression":{"id":49909,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11769:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11773:6:31","memberName":"sender","nodeType":"MemberAccess","src":"11769:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49911,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49885,"src":"11793:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":49912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11799:7:31","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"11793:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":49913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11793:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49914,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49885,"src":"11822:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":49915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11828:7:31","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"11822:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":49916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11822:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":49917,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49892,"src":"11851:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":49918,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11858:12:31","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"11851:19:31","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":49919,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49892,"src":"11884:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":49920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11891:9:31","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"11884:16:31","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"expression":{"id":49921,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49892,"src":"11914:6:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":49922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11921:4:31","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"11914:11:31","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":49923,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49889,"src":"11939:7:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":49907,"name":"Swap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1612,"src":"11735:4:31","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int128_$_t_int128_$_t_uint160_$_t_uint128_$_t_int24_$_t_uint24_$returns$__$","typeString":"function (PoolId,address,int128,int128,uint160,uint128,int24,uint24)"}},"id":49924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11735:221:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49925,"nodeType":"EmitStatement","src":"11730:226:31"},{"expression":{"id":49926,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49885,"src":"11974:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"functionReturnParameters":49882,"id":49927,"nodeType":"Return","src":"11967:12:31"}]},"documentation":{"id":49865,"nodeType":"StructuredDocumentation","src":"11077:112:31","text":"@notice Internal swap function to execute a swap, take protocol fees on input token, and emit the swap event"},"id":49929,"implemented":true,"kind":"function","modifiers":[],"name":"_swap","nameLocation":"11203:5:31","nodeType":"FunctionDefinition","parameters":{"id":49878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49868,"mutability":"mutable","name":"pool","nameLocation":"11228:4:31","nodeType":"VariableDeclaration","scope":49929,"src":"11209:23:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":49867,"nodeType":"UserDefinedTypeName","pathNode":{"id":49866,"name":"Pool.State","nameLocations":["11209:4:31","11214:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"11209:10:31"},"referencedDeclaration":45583,"src":"11209:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":49871,"mutability":"mutable","name":"id","nameLocation":"11241:2:31","nodeType":"VariableDeclaration","scope":49929,"src":"11234:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":49870,"nodeType":"UserDefinedTypeName","pathNode":{"id":49869,"name":"PoolId","nameLocations":["11234:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"11234:6:31"},"referencedDeclaration":4699,"src":"11234:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":49874,"mutability":"mutable","name":"params","nameLocation":"11268:6:31","nodeType":"VariableDeclaration","scope":49929,"src":"11245:29:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams"},"typeName":{"id":49873,"nodeType":"UserDefinedTypeName","pathNode":{"id":49872,"name":"Pool.SwapParams","nameLocations":["11245:4:31","11250:10:31"],"nodeType":"IdentifierPath","referencedDeclaration":46119,"src":"11245:15:31"},"referencedDeclaration":46119,"src":"11245:15:31","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_storage_ptr","typeString":"struct Pool.SwapParams"}},"visibility":"internal"},{"constant":false,"id":49877,"mutability":"mutable","name":"inputCurrency","nameLocation":"11285:13:31","nodeType":"VariableDeclaration","scope":49929,"src":"11276:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":49876,"nodeType":"UserDefinedTypeName","pathNode":{"id":49875,"name":"Currency","nameLocations":["11276:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"11276:8:31"},"referencedDeclaration":4399,"src":"11276:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"11208:91:31"},"returnParameters":{"id":49882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49929,"src":"11334:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49880,"nodeType":"UserDefinedTypeName","pathNode":{"id":49879,"name":"BalanceDelta","nameLocations":["11334:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"11334:12:31"},"referencedDeclaration":4233,"src":"11334:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"11333:14:31"},"scope":50464,"src":"11194:792:31","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[1692],"body":{"id":50015,"nodeType":"Block","src":"12226:531:31","statements":[{"assignments":[49951],"declarations":[{"constant":false,"id":49951,"mutability":"mutable","name":"poolId","nameLocation":"12243:6:31","nodeType":"VariableDeclaration","scope":50015,"src":"12236:13:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":49950,"nodeType":"UserDefinedTypeName","pathNode":{"id":49949,"name":"PoolId","nameLocations":["12236:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"12236:6:31"},"referencedDeclaration":4699,"src":"12236:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":49955,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49952,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12252:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12256:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"12252:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":49954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"12236:26:31"},{"assignments":[49960],"declarations":[{"constant":false,"id":49960,"mutability":"mutable","name":"pool","nameLocation":"12291:4:31","nodeType":"VariableDeclaration","scope":50015,"src":"12272:23:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":49959,"nodeType":"UserDefinedTypeName","pathNode":{"id":49958,"name":"Pool.State","nameLocations":["12272:4:31","12277:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"12272:10:31"},"referencedDeclaration":45583,"src":"12272:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"id":49964,"initialValue":{"arguments":[{"id":49962,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"12307:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":49961,"name":"_getPool","nodeType":"Identifier","overloadedDeclarations":[50451],"referencedDeclaration":50451,"src":"12298:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (PoolId) view returns (struct Pool.State storage pointer)"}},"id":49963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12298:16:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"12272:42:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49965,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49960,"src":"12324:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12329:20:31","memberName":"checkPoolInitialized","nodeType":"MemberAccess","referencedDeclaration":47057,"src":"12324:25:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer) view"}},"id":49968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12324:27:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49969,"nodeType":"ExpressionStatement","src":"12324:27:31"},{"expression":{"arguments":[{"id":49975,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12385:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49976,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49935,"src":"12390:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49977,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"12399:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49978,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49939,"src":"12408:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":49970,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12362:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":49973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12366:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"12362:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":49974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12372:12:31","memberName":"beforeDonate","nodeType":"MemberAccess","referencedDeclaration":48744,"src":"12362:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,uint256,uint256,bytes calldata)"}},"id":49979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:55:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49980,"nodeType":"ExpressionStatement","src":"12362:55:31"},{"expression":{"id":49987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49981,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49947,"src":"12428:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49984,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49935,"src":"12448:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49985,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"12457:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49982,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49960,"src":"12436:4:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":49983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12441:6:31","memberName":"donate","nodeType":"MemberAccess","referencedDeclaration":46815,"src":"12436:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,uint256,uint256) returns (BalanceDelta)"}},"id":49986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12436:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"12428:37:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":49988,"nodeType":"ExpressionStatement","src":"12428:37:31"},{"expression":{"arguments":[{"id":49990,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12501:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":49991,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49947,"src":"12506:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"expression":{"id":49992,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12513:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12517:6:31","memberName":"sender","nodeType":"MemberAccess","src":"12513:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49989,"name":"_accountPoolBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"12476:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_address_$returns$__$","typeString":"function (struct PoolKey memory,BalanceDelta,address)"}},"id":49994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12476:48:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49995,"nodeType":"ExpressionStatement","src":"12476:48:31"},{"eventCall":{"arguments":[{"id":49997,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49951,"src":"12648:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"expression":{"id":49998,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12656:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":49999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12660:6:31","memberName":"sender","nodeType":"MemberAccess","src":"12656:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50000,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49935,"src":"12668:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50001,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"12677:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49996,"name":"Donate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1624,"src":"12641:6:31","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (PoolId,address,uint256,uint256)"}},"id":50002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12641:44:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50003,"nodeType":"EmitStatement","src":"12636:49:31"},{"expression":{"arguments":[{"id":50009,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12718:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":50010,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49935,"src":"12723:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50011,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"12732:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50012,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49939,"src":"12741:8:31","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":50004,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49933,"src":"12696:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12700:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"12696:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":50008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12706:11:31","memberName":"afterDonate","nodeType":"MemberAccess","referencedDeclaration":48787,"src":"12696:21:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,struct PoolKey memory,uint256,uint256,bytes calldata)"}},"id":50013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12696:54:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50014,"nodeType":"ExpressionStatement","src":"12696:54:31"}]},"documentation":{"id":49930,"nodeType":"StructuredDocumentation","src":"11992:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"234266d7","id":50016,"implemented":true,"kind":"function","modifiers":[{"id":49942,"kind":"modifierInvocation","modifierName":{"id":49941,"name":"onlyWhenUnlocked","nameLocations":["12145:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"12145:16:31"},"nodeType":"ModifierInvocation","src":"12145:16:31"},{"id":49944,"kind":"modifierInvocation","modifierName":{"id":49943,"name":"noDelegateCall","nameLocations":["12170:14:31"],"nodeType":"IdentifierPath","referencedDeclaration":57135,"src":"12170:14:31"},"nodeType":"ModifierInvocation","src":"12170:14:31"}],"name":"donate","nameLocation":"12034:6:31","nodeType":"FunctionDefinition","parameters":{"id":49940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49933,"mutability":"mutable","name":"key","nameLocation":"12056:3:31","nodeType":"VariableDeclaration","scope":50016,"src":"12041:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":49932,"nodeType":"UserDefinedTypeName","pathNode":{"id":49931,"name":"PoolKey","nameLocations":["12041:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"12041:7:31"},"referencedDeclaration":4745,"src":"12041:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":49935,"mutability":"mutable","name":"amount0","nameLocation":"12069:7:31","nodeType":"VariableDeclaration","scope":50016,"src":"12061:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49934,"name":"uint256","nodeType":"ElementaryTypeName","src":"12061:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49937,"mutability":"mutable","name":"amount1","nameLocation":"12086:7:31","nodeType":"VariableDeclaration","scope":50016,"src":"12078:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49936,"name":"uint256","nodeType":"ElementaryTypeName","src":"12078:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49939,"mutability":"mutable","name":"hookData","nameLocation":"12110:8:31","nodeType":"VariableDeclaration","scope":50016,"src":"12095:23:31","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":49938,"name":"bytes","nodeType":"ElementaryTypeName","src":"12095:5:31","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12040:79:31"},"returnParameters":{"id":49948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49947,"mutability":"mutable","name":"delta","nameLocation":"12215:5:31","nodeType":"VariableDeclaration","scope":50016,"src":"12202:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":49946,"nodeType":"UserDefinedTypeName","pathNode":{"id":49945,"name":"BalanceDelta","nameLocations":["12202:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"12202:12:31"},"referencedDeclaration":4233,"src":"12202:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"12201:20:31"},"scope":50464,"src":"12025:732:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1699],"body":{"id":50047,"nodeType":"Block","src":"12838:411:31","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50023,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50020,"src":"12906:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12915:13:31","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"12906:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":50025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12906:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50045,"nodeType":"Block","src":"13103:140:31","statements":[{"assignments":[50033],"declarations":[{"constant":false,"id":50033,"mutability":"mutable","name":"balance","nameLocation":"13125:7:31","nodeType":"VariableDeclaration","scope":50045,"src":"13117:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50032,"name":"uint256","nodeType":"ElementaryTypeName","src":"13117:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50037,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50034,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50020,"src":"13135:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13144:13:31","memberName":"balanceOfSelf","nodeType":"MemberAccess","referencedDeclaration":4606,"src":"13135:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) view returns (uint256)"}},"id":50036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13135:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13117:42:31"},{"expression":{"arguments":[{"id":50041,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50020,"src":"13214:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50042,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50033,"src":"13224:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50038,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"13173:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":50040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:23:31","memberName":"syncCurrencyAndReserves","nodeType":"MemberAccess","referencedDeclaration":57472,"src":"13173:40:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$returns$__$","typeString":"function (Currency,uint256)"}},"id":50043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13173:59:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50044,"nodeType":"ExpressionStatement","src":"13173:59:31"}]},"id":50046,"nodeType":"IfStatement","src":"12902:341:31","trueBody":{"id":50031,"nodeType":"Block","src":"12932:165:31","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50026,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"13054:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":50028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13071:13:31","memberName":"resetCurrency","nodeType":"MemberAccess","referencedDeclaration":57462,"src":"13054:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13054:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50030,"nodeType":"ExpressionStatement","src":"13054:32:31"}]}}]},"documentation":{"id":50017,"nodeType":"StructuredDocumentation","src":"12763:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"a5841194","id":50048,"implemented":true,"kind":"function","modifiers":[],"name":"sync","nameLocation":"12805:4:31","nodeType":"FunctionDefinition","parameters":{"id":50021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50020,"mutability":"mutable","name":"currency","nameLocation":"12819:8:31","nodeType":"VariableDeclaration","scope":50048,"src":"12810:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50019,"nodeType":"UserDefinedTypeName","pathNode":{"id":50018,"name":"Currency","nameLocations":["12810:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"12810:8:31"},"referencedDeclaration":4399,"src":"12810:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"12809:19:31"},"returnParameters":{"id":50022,"nodeType":"ParameterList","parameters":[],"src":"12838:0:31"},"scope":50464,"src":"12796:453:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1710],"body":{"id":50080,"nodeType":"Block","src":"13375:214:31","statements":[{"id":50079,"nodeType":"UncheckedBlock","src":"13385:198:31","statements":[{"expression":{"arguments":[{"id":50062,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50052,"src":"13486:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13496:20:31","subExpression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50063,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50056,"src":"13498:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13505:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"13498:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":50065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13498:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":50066,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13497:19:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":50068,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13518:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13522:6:31","memberName":"sender","nodeType":"MemberAccess","src":"13518:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50061,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"13472:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13472:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50071,"nodeType":"ExpressionStatement","src":"13472:57:31"},{"expression":{"arguments":[{"id":50075,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50054,"src":"13561:2:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50076,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50056,"src":"13565:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50072,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50052,"src":"13543:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13552:8:31","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"13543:17:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":50077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13543:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50078,"nodeType":"ExpressionStatement","src":"13543:29:31"}]}]},"documentation":{"id":50049,"nodeType":"StructuredDocumentation","src":"13255:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"0b0d9c09","id":50081,"implemented":true,"kind":"function","modifiers":[{"id":50059,"kind":"modifierInvocation","modifierName":{"id":50058,"name":"onlyWhenUnlocked","nameLocations":["13358:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"13358:16:31"},"nodeType":"ModifierInvocation","src":"13358:16:31"}],"name":"take","nameLocation":"13297:4:31","nodeType":"FunctionDefinition","parameters":{"id":50057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50052,"mutability":"mutable","name":"currency","nameLocation":"13311:8:31","nodeType":"VariableDeclaration","scope":50081,"src":"13302:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50051,"nodeType":"UserDefinedTypeName","pathNode":{"id":50050,"name":"Currency","nameLocations":["13302:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"13302:8:31"},"referencedDeclaration":4399,"src":"13302:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50054,"mutability":"mutable","name":"to","nameLocation":"13329:2:31","nodeType":"VariableDeclaration","scope":50081,"src":"13321:10:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50053,"name":"address","nodeType":"ElementaryTypeName","src":"13321:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50056,"mutability":"mutable","name":"amount","nameLocation":"13341:6:31","nodeType":"VariableDeclaration","scope":50081,"src":"13333:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50055,"name":"uint256","nodeType":"ElementaryTypeName","src":"13333:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13301:47:31"},"returnParameters":{"id":50060,"nodeType":"ParameterList","parameters":[],"src":"13375:0:31"},"scope":50464,"src":"13288:301:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1716],"body":{"id":50094,"nodeType":"Block","src":"13698:43:31","statements":[{"expression":{"arguments":[{"expression":{"id":50090,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13723:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13727:6:31","memberName":"sender","nodeType":"MemberAccess","src":"13723:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50089,"name":"_settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50357,"src":"13715:7:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":50092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13715:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50088,"id":50093,"nodeType":"Return","src":"13708:26:31"}]},"documentation":{"id":50082,"nodeType":"StructuredDocumentation","src":"13595:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"11da60b4","id":50095,"implemented":true,"kind":"function","modifiers":[{"id":50085,"kind":"modifierInvocation","modifierName":{"id":50084,"name":"onlyWhenUnlocked","nameLocations":["13663:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"13663:16:31"},"nodeType":"ModifierInvocation","src":"13663:16:31"}],"name":"settle","nameLocation":"13637:6:31","nodeType":"FunctionDefinition","parameters":{"id":50083,"nodeType":"ParameterList","parameters":[],"src":"13643:2:31"},"returnParameters":{"id":50088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50095,"src":"13689:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50086,"name":"uint256","nodeType":"ElementaryTypeName","src":"13689:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13688:9:31"},"scope":50464,"src":"13628:113:31","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[1724],"body":{"id":50109,"nodeType":"Block","src":"13870:42:31","statements":[{"expression":{"arguments":[{"id":50106,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50098,"src":"13895:9:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50105,"name":"_settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50357,"src":"13887:7:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":50107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13887:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50104,"id":50108,"nodeType":"Return","src":"13880:25:31"}]},"documentation":{"id":50096,"nodeType":"StructuredDocumentation","src":"13747:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"3dd45adb","id":50110,"implemented":true,"kind":"function","modifiers":[{"id":50101,"kind":"modifierInvocation","modifierName":{"id":50100,"name":"onlyWhenUnlocked","nameLocations":["13835:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"13835:16:31"},"nodeType":"ModifierInvocation","src":"13835:16:31"}],"name":"settleFor","nameLocation":"13789:9:31","nodeType":"FunctionDefinition","parameters":{"id":50099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50098,"mutability":"mutable","name":"recipient","nameLocation":"13807:9:31","nodeType":"VariableDeclaration","scope":50110,"src":"13799:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50097,"name":"address","nodeType":"ElementaryTypeName","src":"13799:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13798:19:31"},"returnParameters":{"id":50104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50110,"src":"13861:7:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50102,"name":"uint256","nodeType":"ElementaryTypeName","src":"13861:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13860:9:31"},"scope":50464,"src":"13780:132:31","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[1733],"body":{"id":50156,"nodeType":"Block","src":"14027:430:31","statements":[{"assignments":[50122],"declarations":[{"constant":false,"id":50122,"mutability":"mutable","name":"current","nameLocation":"14044:7:31","nodeType":"VariableDeclaration","scope":50156,"src":"14037:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50121,"name":"int256","nodeType":"ElementaryTypeName","src":"14037:6:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":50128,"initialValue":{"arguments":[{"expression":{"id":50125,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14072:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14076:6:31","memberName":"sender","nodeType":"MemberAccess","src":"14072:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50123,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50114,"src":"14054:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14063:8:31","memberName":"getDelta","nodeType":"MemberAccess","referencedDeclaration":57400,"src":"14054:17:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$returns$_t_int256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address) view returns (int256)"}},"id":50127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14054:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"14037:46:31"},{"assignments":[50130],"declarations":[{"constant":false,"id":50130,"mutability":"mutable","name":"amountDelta","nameLocation":"14177:11:31","nodeType":"VariableDeclaration","scope":50156,"src":"14170:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":50129,"name":"int128","nodeType":"ElementaryTypeName","src":"14170:6:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":50134,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50131,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50116,"src":"14191:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14198:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"14191:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":50133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14191:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"14170:38:31"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50135,"name":"amountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50130,"src":"14222:11:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50136,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50122,"src":"14237:7:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14222:22:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50145,"nodeType":"IfStatement","src":"14218:77:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50138,"name":"MustClearExactPositiveDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1553,"src":"14246:27:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14274:8:31","memberName":"selector","nodeType":"MemberAccess","src":"14246:36:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":50142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14283:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"14246:47:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":50143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14246:49:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50144,"nodeType":"ExpressionStatement","src":"14246:49:31"}},{"id":50155,"nodeType":"UncheckedBlock","src":"14365:86:31","statements":[{"expression":{"arguments":[{"id":50147,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50114,"src":"14403:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14413:14:31","subExpression":{"components":[{"id":50148,"name":"amountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50130,"src":"14415:11:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":50149,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14414:13:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":50151,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14429:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14433:6:31","memberName":"sender","nodeType":"MemberAccess","src":"14429:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50146,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"14389:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14389:51:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50154,"nodeType":"ExpressionStatement","src":"14389:51:31"}]}]},"documentation":{"id":50111,"nodeType":"StructuredDocumentation","src":"13918:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"80f0b44c","id":50157,"implemented":true,"kind":"function","modifiers":[{"id":50119,"kind":"modifierInvocation","modifierName":{"id":50118,"name":"onlyWhenUnlocked","nameLocations":["14010:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"14010:16:31"},"nodeType":"ModifierInvocation","src":"14010:16:31"}],"name":"clear","nameLocation":"13960:5:31","nodeType":"FunctionDefinition","parameters":{"id":50117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50114,"mutability":"mutable","name":"currency","nameLocation":"13975:8:31","nodeType":"VariableDeclaration","scope":50157,"src":"13966:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50113,"nodeType":"UserDefinedTypeName","pathNode":{"id":50112,"name":"Currency","nameLocations":["13966:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"13966:8:31"},"referencedDeclaration":4399,"src":"13966:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50116,"mutability":"mutable","name":"amount","nameLocation":"13993:6:31","nodeType":"VariableDeclaration","scope":50157,"src":"13985:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50115,"name":"uint256","nodeType":"ElementaryTypeName","src":"13985:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13965:35:31"},"returnParameters":{"id":50120,"nodeType":"ParameterList","parameters":[],"src":"14027:0:31"},"scope":50464,"src":"13951:506:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1743],"body":{"id":50197,"nodeType":"Block","src":"14576:279:31","statements":[{"id":50196,"nodeType":"UncheckedBlock","src":"14586:263:31","statements":[{"assignments":[50171],"declarations":[{"constant":false,"id":50171,"mutability":"mutable","name":"currency","nameLocation":"14619:8:31","nodeType":"VariableDeclaration","scope":50196,"src":"14610:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50170,"nodeType":"UserDefinedTypeName","pathNode":{"id":50169,"name":"Currency","nameLocations":["14610:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"14610:8:31"},"referencedDeclaration":4399,"src":"14610:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":50176,"initialValue":{"arguments":[{"id":50174,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50162,"src":"14653:2:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50172,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"14630:15:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":50173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14646:6:31","memberName":"fromId","nodeType":"MemberAccess","referencedDeclaration":4692,"src":"14630:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (uint256) pure returns (Currency)"}},"id":50175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14630:26:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"14610:46:31"},{"expression":{"arguments":[{"id":50178,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50171,"src":"14747:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14757:20:31","subExpression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50179,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50164,"src":"14759:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14766:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"14759:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":50181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14759:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":50182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14758:19:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":50184,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14779:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14783:6:31","memberName":"sender","nodeType":"MemberAccess","src":"14779:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50177,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"14733:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14733:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50187,"nodeType":"ExpressionStatement","src":"14733:57:31"},{"expression":{"arguments":[{"id":50189,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50160,"src":"14810:2:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50190,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50171,"src":"14814:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14823:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4672,"src":"14814:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (uint256)"}},"id":50192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14814:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50193,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50164,"src":"14831:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50188,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58071,"src":"14804:5:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":50194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14804:34:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50195,"nodeType":"ExpressionStatement","src":"14804:34:31"}]}]},"documentation":{"id":50158,"nodeType":"StructuredDocumentation","src":"14463:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"156e29f6","id":50198,"implemented":true,"kind":"function","modifiers":[{"id":50167,"kind":"modifierInvocation","modifierName":{"id":50166,"name":"onlyWhenUnlocked","nameLocations":["14559:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"14559:16:31"},"nodeType":"ModifierInvocation","src":"14559:16:31"}],"name":"mint","nameLocation":"14505:4:31","nodeType":"FunctionDefinition","parameters":{"id":50165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50160,"mutability":"mutable","name":"to","nameLocation":"14518:2:31","nodeType":"VariableDeclaration","scope":50198,"src":"14510:10:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50159,"name":"address","nodeType":"ElementaryTypeName","src":"14510:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50162,"mutability":"mutable","name":"id","nameLocation":"14530:2:31","nodeType":"VariableDeclaration","scope":50198,"src":"14522:10:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50161,"name":"uint256","nodeType":"ElementaryTypeName","src":"14522:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50164,"mutability":"mutable","name":"amount","nameLocation":"14542:6:31","nodeType":"VariableDeclaration","scope":50198,"src":"14534:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50163,"name":"uint256","nodeType":"ElementaryTypeName","src":"14534:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14509:40:31"},"returnParameters":{"id":50168,"nodeType":"ParameterList","parameters":[],"src":"14576:0:31"},"scope":50464,"src":"14496:359:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1753],"body":{"id":50235,"nodeType":"Block","src":"14976:177:31","statements":[{"assignments":[50212],"declarations":[{"constant":false,"id":50212,"mutability":"mutable","name":"currency","nameLocation":"14995:8:31","nodeType":"VariableDeclaration","scope":50235,"src":"14986:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50211,"nodeType":"UserDefinedTypeName","pathNode":{"id":50210,"name":"Currency","nameLocations":["14986:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"14986:8:31"},"referencedDeclaration":4399,"src":"14986:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":50217,"initialValue":{"arguments":[{"id":50215,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50203,"src":"15029:2:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50213,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"15006:15:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":50214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15022:6:31","memberName":"fromId","nodeType":"MemberAccess","referencedDeclaration":4692,"src":"15006:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (uint256) pure returns (Currency)"}},"id":50216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15006:26:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"14986:46:31"},{"expression":{"arguments":[{"id":50219,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50212,"src":"15056:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50220,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50205,"src":"15066:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15073:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"15066:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":50222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15066:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"expression":{"id":50223,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15085:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15089:6:31","memberName":"sender","nodeType":"MemberAccess","src":"15085:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50218,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"15042:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15042:54:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50226,"nodeType":"ExpressionStatement","src":"15042:54:31"},{"expression":{"arguments":[{"id":50228,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50201,"src":"15116:4:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50229,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50212,"src":"15122:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15131:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4672,"src":"15122:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (uint256)"}},"id":50231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15122:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50232,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50205,"src":"15139:6:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50227,"name":"_burnFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57010,"src":"15106:9:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":50233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:40:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50234,"nodeType":"ExpressionStatement","src":"15106:40:31"}]},"documentation":{"id":50199,"nodeType":"StructuredDocumentation","src":"14861:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"f5298aca","id":50236,"implemented":true,"kind":"function","modifiers":[{"id":50208,"kind":"modifierInvocation","modifierName":{"id":50207,"name":"onlyWhenUnlocked","nameLocations":["14959:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":49368,"src":"14959:16:31"},"nodeType":"ModifierInvocation","src":"14959:16:31"}],"name":"burn","nameLocation":"14903:4:31","nodeType":"FunctionDefinition","parameters":{"id":50206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50201,"mutability":"mutable","name":"from","nameLocation":"14916:4:31","nodeType":"VariableDeclaration","scope":50236,"src":"14908:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50200,"name":"address","nodeType":"ElementaryTypeName","src":"14908:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50203,"mutability":"mutable","name":"id","nameLocation":"14930:2:31","nodeType":"VariableDeclaration","scope":50236,"src":"14922:10:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50202,"name":"uint256","nodeType":"ElementaryTypeName","src":"14922:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50205,"mutability":"mutable","name":"amount","nameLocation":"14942:6:31","nodeType":"VariableDeclaration","scope":50236,"src":"14934:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50204,"name":"uint256","nodeType":"ElementaryTypeName","src":"14934:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14907:42:31"},"returnParameters":{"id":50209,"nodeType":"ParameterList","parameters":[],"src":"14976:0:31"},"scope":50464,"src":"14894:259:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[1762],"body":{"id":50287,"nodeType":"Block","src":"15273:272:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15287:23:31","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50245,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50240,"src":"15288:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15292:3:31","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"15288:7:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":50247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15296:12:31","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"15288:20:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":50248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15288:22:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50250,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15314:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15318:6:31","memberName":"sender","nodeType":"MemberAccess","src":"15314:10:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"expression":{"id":50254,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50240,"src":"15336:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15340:5:31","memberName":"hooks","nodeType":"MemberAccess","referencedDeclaration":4744,"src":"15336:9:31","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":50253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15328:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50252,"name":"address","nodeType":"ElementaryTypeName","src":"15328:7:31","typeDescriptions":{}}},"id":50256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15328:18:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15314:32:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15287:59:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50267,"nodeType":"IfStatement","src":"15283:142:31","trueBody":{"id":50266,"nodeType":"Block","src":"15348:77:31","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50259,"name":"UnauthorizedDynamicLPFeeUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1544,"src":"15362:30:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15393:8:31","memberName":"selector","nodeType":"MemberAccess","src":"15362:39:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":50263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15402:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"15362:50:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":50264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15362:52:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50265,"nodeType":"ExpressionStatement","src":"15362:52:31"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50268,"name":"newDynamicLPFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50242,"src":"15434:15:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":50270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15450:8:31","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":48889,"src":"15434:24:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$__$attached_to$_t_uint24_$","typeString":"function (uint24) pure"}},"id":50271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15434:26:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50272,"nodeType":"ExpressionStatement","src":"15434:26:31"},{"assignments":[50275],"declarations":[{"constant":false,"id":50275,"mutability":"mutable","name":"id","nameLocation":"15477:2:31","nodeType":"VariableDeclaration","scope":50287,"src":"15470:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":50274,"nodeType":"UserDefinedTypeName","pathNode":{"id":50273,"name":"PoolId","nameLocations":["15470:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"15470:6:31"},"referencedDeclaration":4699,"src":"15470:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":50279,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50276,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50240,"src":"15482:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15486:4:31","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"15482:8:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":50278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15482:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"15470:22:31"},{"expression":{"arguments":[{"id":50284,"name":"newDynamicLPFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50242,"src":"15522:15:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"baseExpression":{"id":50280,"name":"_pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49351,"src":"15502:6:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_State_$45583_storage_$","typeString":"mapping(PoolId => struct Pool.State storage ref)"}},"id":50282,"indexExpression":{"id":50281,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50275,"src":"15509:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15502:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage","typeString":"struct Pool.State storage ref"}},"id":50283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15513:8:31","memberName":"setLPFee","nodeType":"MemberAccess","referencedDeclaration":45735,"src":"15502:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_uint24_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,uint24)"}},"id":50285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15502:36:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50286,"nodeType":"ExpressionStatement","src":"15502:36:31"}]},"documentation":{"id":50237,"nodeType":"StructuredDocumentation","src":"15159:28:31","text":"@inheritdoc IPoolManager"},"functionSelector":"52759651","id":50288,"implemented":true,"kind":"function","modifiers":[],"name":"updateDynamicLPFee","nameLocation":"15201:18:31","nodeType":"FunctionDefinition","parameters":{"id":50243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50240,"mutability":"mutable","name":"key","nameLocation":"15235:3:31","nodeType":"VariableDeclaration","scope":50288,"src":"15220:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":50239,"nodeType":"UserDefinedTypeName","pathNode":{"id":50238,"name":"PoolKey","nameLocations":["15220:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"15220:7:31"},"referencedDeclaration":4745,"src":"15220:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":50242,"mutability":"mutable","name":"newDynamicLPFee","nameLocation":"15247:15:31","nodeType":"VariableDeclaration","scope":50288,"src":"15240:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":50241,"name":"uint24","nodeType":"ElementaryTypeName","src":"15240:6:31","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15219:44:31"},"returnParameters":{"id":50244,"nodeType":"ParameterList","parameters":[],"src":"15273:0:31"},"scope":50464,"src":"15192:353:31","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":50356,"nodeType":"Block","src":"15717:757:31","statements":[{"assignments":[50297],"declarations":[{"constant":false,"id":50297,"mutability":"mutable","name":"currency","nameLocation":"15736:8:31","nodeType":"VariableDeclaration","scope":50356,"src":"15727:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50296,"nodeType":"UserDefinedTypeName","pathNode":{"id":50295,"name":"Currency","nameLocations":["15727:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"15727:8:31"},"referencedDeclaration":4399,"src":"15727:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":50301,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50298,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"15747:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":50299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15764:17:31","memberName":"getSyncedCurrency","nodeType":"MemberAccess","referencedDeclaration":57457,"src":"15747:34:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () view returns (Currency)"}},"id":50300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15747:36:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"15727:56:31"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50302,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50297,"src":"15916:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15925:13:31","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"15916:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":50304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15916:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50346,"nodeType":"Block","src":"15989:417:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50311,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16007:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16011:5:31","memberName":"value","nodeType":"MemberAccess","src":"16007:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16019:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16007:13:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50322,"nodeType":"IfStatement","src":"16003:59:31","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50315,"name":"NonzeroNativeValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1550,"src":"16022:18:31","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16041:8:31","memberName":"selector","nodeType":"MemberAccess","src":"16022:27:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":50319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16050:10:31","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"16022:38:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":50320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16022:40:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50321,"nodeType":"ExpressionStatement","src":"16022:40:31"}},{"assignments":[50324],"declarations":[{"constant":false,"id":50324,"mutability":"mutable","name":"reservesBefore","nameLocation":"16187:14:31","nodeType":"VariableDeclaration","scope":50346,"src":"16179:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50323,"name":"uint256","nodeType":"ElementaryTypeName","src":"16179:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50328,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50325,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"16204:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":50326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16221:17:31","memberName":"getSyncedReserves","nodeType":"MemberAccess","referencedDeclaration":57479,"src":"16204:34:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":50327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16204:36:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16179:61:31"},{"assignments":[50330],"declarations":[{"constant":false,"id":50330,"mutability":"mutable","name":"reservesNow","nameLocation":"16262:11:31","nodeType":"VariableDeclaration","scope":50346,"src":"16254:19:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50329,"name":"uint256","nodeType":"ElementaryTypeName","src":"16254:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50334,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50331,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50297,"src":"16276:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16285:13:31","memberName":"balanceOfSelf","nodeType":"MemberAccess","referencedDeclaration":4606,"src":"16276:22:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) view returns (uint256)"}},"id":50333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16276:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16254:46:31"},{"expression":{"id":50339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50335,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50293,"src":"16314:4:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50336,"name":"reservesNow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50330,"src":"16321:11:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":50337,"name":"reservesBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50324,"src":"16335:14:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16321:28:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16314:35:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50340,"nodeType":"ExpressionStatement","src":"16314:35:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50341,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"16363:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":50343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16380:13:31","memberName":"resetCurrency","nodeType":"MemberAccess","referencedDeclaration":57462,"src":"16363:30:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16363:32:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50345,"nodeType":"ExpressionStatement","src":"16363:32:31"}]},"id":50347,"nodeType":"IfStatement","src":"15912:494:31","trueBody":{"id":50310,"nodeType":"Block","src":"15942:41:31","statements":[{"expression":{"id":50308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50305,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50293,"src":"15956:4:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":50306,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15963:3:31","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":50307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15967:5:31","memberName":"value","nodeType":"MemberAccess","src":"15963:9:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15956:16:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50309,"nodeType":"ExpressionStatement","src":"15956:16:31"}]}},{"expression":{"arguments":[{"id":50349,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50297,"src":"16430:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50350,"name":"paid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50293,"src":"16440:4:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16445:8:31","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"16440:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":50352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16440:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":50353,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50290,"src":"16457:9:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50348,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"16416:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16416:51:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50355,"nodeType":"ExpressionStatement","src":"16416:51:31"}]},"id":50357,"implemented":true,"kind":"function","modifiers":[],"name":"_settle","nameLocation":"15658:7:31","nodeType":"FunctionDefinition","parameters":{"id":50291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50290,"mutability":"mutable","name":"recipient","nameLocation":"15674:9:31","nodeType":"VariableDeclaration","scope":50357,"src":"15666:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50289,"name":"address","nodeType":"ElementaryTypeName","src":"15666:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15665:19:31"},"returnParameters":{"id":50294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50293,"mutability":"mutable","name":"paid","nameLocation":"15711:4:31","nodeType":"VariableDeclaration","scope":50357,"src":"15703:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50292,"name":"uint256","nodeType":"ElementaryTypeName","src":"15703:7:31","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15702:14:31"},"scope":50464,"src":"15649:825:31","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50403,"nodeType":"Block","src":"16633:275:31","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":50370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50368,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50363,"src":"16647:5:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16656:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16647:10:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50372,"nodeType":"IfStatement","src":"16643:23:31","trueBody":{"functionReturnParameters":50367,"id":50371,"nodeType":"Return","src":"16659:7:31"}},{"assignments":[50374,50376],"declarations":[{"constant":false,"id":50374,"mutability":"mutable","name":"previous","nameLocation":"16684:8:31","nodeType":"VariableDeclaration","scope":50403,"src":"16677:15:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50373,"name":"int256","nodeType":"ElementaryTypeName","src":"16677:6:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":50376,"mutability":"mutable","name":"next","nameLocation":"16701:4:31","nodeType":"VariableDeclaration","scope":50403,"src":"16694:11:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50375,"name":"int256","nodeType":"ElementaryTypeName","src":"16694:6:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":50382,"initialValue":{"arguments":[{"id":50379,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50365,"src":"16729:6:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50380,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50363,"src":"16737:5:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":50377,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50361,"src":"16709:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16718:10:31","memberName":"applyDelta","nodeType":"MemberAccess","referencedDeclaration":57431,"src":"16709:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_int128_$returns$_t_int256_$_t_int256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,int128) returns (int256,int256)"}},"id":50381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16709:34:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int256_$","typeString":"tuple(int256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"16676:67:31"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50383,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50376,"src":"16758:4:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16766:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16758:9:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50392,"name":"previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50374,"src":"16833:8:31","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16845:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16833:13:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50401,"nodeType":"IfStatement","src":"16829:73:31","trueBody":{"id":50400,"nodeType":"Block","src":"16848:54:31","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50395,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"16862:17:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_NonzeroDeltaCount_$57529_$","typeString":"type(library NonzeroDeltaCount)"}},"id":50397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16880:9:31","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":57522,"src":"16862:27:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16862:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50399,"nodeType":"ExpressionStatement","src":"16862:29:31"}]}},"id":50402,"nodeType":"IfStatement","src":"16754:148:31","trueBody":{"id":50391,"nodeType":"Block","src":"16769:54:31","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50386,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"16783:17:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_NonzeroDeltaCount_$57529_$","typeString":"type(library NonzeroDeltaCount)"}},"id":50388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16801:9:31","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":57528,"src":"16783:27:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16783:29:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50390,"nodeType":"ExpressionStatement","src":"16783:29:31"}]}}]},"documentation":{"id":50358,"nodeType":"StructuredDocumentation","src":"16480:67:31","text":"@notice Adds a balance delta in a currency for a target address"},"id":50404,"implemented":true,"kind":"function","modifiers":[],"name":"_accountDelta","nameLocation":"16561:13:31","nodeType":"FunctionDefinition","parameters":{"id":50366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50361,"mutability":"mutable","name":"currency","nameLocation":"16584:8:31","nodeType":"VariableDeclaration","scope":50404,"src":"16575:17:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50360,"nodeType":"UserDefinedTypeName","pathNode":{"id":50359,"name":"Currency","nameLocations":["16575:8:31"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"16575:8:31"},"referencedDeclaration":4399,"src":"16575:8:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50363,"mutability":"mutable","name":"delta","nameLocation":"16601:5:31","nodeType":"VariableDeclaration","scope":50404,"src":"16594:12:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":50362,"name":"int128","nodeType":"ElementaryTypeName","src":"16594:6:31","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":50365,"mutability":"mutable","name":"target","nameLocation":"16616:6:31","nodeType":"VariableDeclaration","scope":50404,"src":"16608:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50364,"name":"address","nodeType":"ElementaryTypeName","src":"16608:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16574:49:31"},"returnParameters":{"id":50367,"nodeType":"ParameterList","parameters":[],"src":"16633:0:31"},"scope":50464,"src":"16552:356:31","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50434,"nodeType":"Block","src":"17085:133:31","statements":[{"expression":{"arguments":[{"expression":{"id":50417,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50408,"src":"17109:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17113:9:31","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"17109:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50419,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50411,"src":"17124:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":50420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17130:7:31","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"17124:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":50421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17124:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":50422,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50413,"src":"17141:6:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50416,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"17095:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17095:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50424,"nodeType":"ExpressionStatement","src":"17095:53:31"},{"expression":{"arguments":[{"expression":{"id":50426,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50408,"src":"17172:3:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":50427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17176:9:31","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"17172:13:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50428,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50411,"src":"17187:5:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":50429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17193:7:31","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"17187:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":50430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17187:15:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":50431,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50413,"src":"17204:6:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50425,"name":"_accountDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50404,"src":"17158:13:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_int128_$_t_address_$returns$__$","typeString":"function (Currency,int128,address)"}},"id":50432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17158:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50433,"nodeType":"ExpressionStatement","src":"17158:53:31"}]},"documentation":{"id":50405,"nodeType":"StructuredDocumentation","src":"16914:67:31","text":"@notice Accounts the deltas of 2 currencies to a target address"},"id":50435,"implemented":true,"kind":"function","modifiers":[],"name":"_accountPoolBalanceDelta","nameLocation":"16995:24:31","nodeType":"FunctionDefinition","parameters":{"id":50414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50408,"mutability":"mutable","name":"key","nameLocation":"17035:3:31","nodeType":"VariableDeclaration","scope":50435,"src":"17020:18:31","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":50407,"nodeType":"UserDefinedTypeName","pathNode":{"id":50406,"name":"PoolKey","nameLocations":["17020:7:31"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"17020:7:31"},"referencedDeclaration":4745,"src":"17020:7:31","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":50411,"mutability":"mutable","name":"delta","nameLocation":"17053:5:31","nodeType":"VariableDeclaration","scope":50435,"src":"17040:18:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":50410,"nodeType":"UserDefinedTypeName","pathNode":{"id":50409,"name":"BalanceDelta","nameLocations":["17040:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"17040:12:31"},"referencedDeclaration":4233,"src":"17040:12:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":50413,"mutability":"mutable","name":"target","nameLocation":"17068:6:31","nodeType":"VariableDeclaration","scope":50435,"src":"17060:14:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50412,"name":"address","nodeType":"ElementaryTypeName","src":"17060:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17019:56:31"},"returnParameters":{"id":50415,"nodeType":"ParameterList","parameters":[],"src":"17085:0:31"},"scope":50464,"src":"16986:232:31","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[57346],"body":{"id":50450,"nodeType":"Block","src":"17385:34:31","statements":[{"expression":{"baseExpression":{"id":50446,"name":"_pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49351,"src":"17402:6:31","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_State_$45583_storage_$","typeString":"mapping(PoolId => struct Pool.State storage ref)"}},"id":50448,"indexExpression":{"id":50447,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50439,"src":"17409:2:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17402:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage","typeString":"struct Pool.State storage ref"}},"functionReturnParameters":50445,"id":50449,"nodeType":"Return","src":"17395:17:31"}]},"documentation":{"id":50436,"nodeType":"StructuredDocumentation","src":"17224:75:31","text":"@notice Implementation of the _getPool function defined in ProtocolFees"},"id":50451,"implemented":true,"kind":"function","modifiers":[],"name":"_getPool","nameLocation":"17313:8:31","nodeType":"FunctionDefinition","overrides":{"id":50441,"nodeType":"OverrideSpecifier","overrides":[],"src":"17347:8:31"},"parameters":{"id":50440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50439,"mutability":"mutable","name":"id","nameLocation":"17329:2:31","nodeType":"VariableDeclaration","scope":50451,"src":"17322:9:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":50438,"nodeType":"UserDefinedTypeName","pathNode":{"id":50437,"name":"PoolId","nameLocations":["17322:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"17322:6:31"},"referencedDeclaration":4699,"src":"17322:6:31","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"17321:11:31"},"returnParameters":{"id":50445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50451,"src":"17365:18:31","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":50443,"nodeType":"UserDefinedTypeName","pathNode":{"id":50442,"name":"Pool.State","nameLocations":["17365:4:31","17370:5:31"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"17365:10:31"},"referencedDeclaration":45583,"src":"17365:10:31","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"src":"17364:20:31"},"scope":50464,"src":"17304:115:31","stateMutability":"view","virtual":false,"visibility":"internal"},{"baseFunctions":[57336],"body":{"id":50462,"nodeType":"Block","src":"17569:41:31","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50458,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"17586:4:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":50459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17591:10:31","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":57503,"src":"17586:15:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":50460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17586:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50457,"id":50461,"nodeType":"Return","src":"17579:24:31"}]},"documentation":{"id":50452,"nodeType":"StructuredDocumentation","src":"17425:78:31","text":"@notice Implementation of the _isUnlocked function defined in ProtocolFees"},"id":50463,"implemented":true,"kind":"function","modifiers":[],"name":"_isUnlocked","nameLocation":"17517:11:31","nodeType":"FunctionDefinition","overrides":{"id":50454,"nodeType":"OverrideSpecifier","overrides":[],"src":"17545:8:31"},"parameters":{"id":50453,"nodeType":"ParameterList","parameters":[],"src":"17528:2:31"},"returnParameters":{"id":50457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50456,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50463,"src":"17563:4:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50455,"name":"bool","nodeType":"ElementaryTypeName","src":"17563:4:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17562:6:31"},"scope":50464,"src":"17508:102:31","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":50465,"src":"4791:12821:31","usedErrors":[1515,1518,1521,1524,1529,1534,1541,1544,1547,1550,1553,44931,44934,44937,57094],"usedEvents":[1576,1592,1612,1624,44942,44950,45005,45015,45027,58111]}],"src":"37:17576:31"},"id":31},"v4-core/src/ProtocolFees.sol":{"ast":{"absolutePath":"v4-core/src/ProtocolFees.sol","exportedSymbols":{"Currency":[4399],"CurrencyReserves":[57480],"CustomRevert":[45214],"IProtocolFees":[44994],"Owned":[58162],"Pool":[47122],"PoolId":[4699],"PoolKey":[4745],"ProtocolFeeLibrary":[55627],"ProtocolFees":[57363]},"id":57364,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":57138,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:32"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"./types/Currency.sol","id":57140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":4694,"src":"57:46:32","symbolAliases":[{"foreign":{"id":57139,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"65:8:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CurrencyReserves.sol","file":"./libraries/CurrencyReserves.sol","id":57142,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":57481,"src":"104:66:32","symbolAliases":[{"foreign":{"id":57141,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"112:16:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IProtocolFees.sol","file":"./interfaces/IProtocolFees.sol","id":57144,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":44995,"src":"171:61:32","symbolAliases":[{"foreign":{"id":57143,"name":"IProtocolFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44994,"src":"179:13:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"./types/PoolKey.sol","id":57146,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":4746,"src":"233:44:32","symbolAliases":[{"foreign":{"id":57145,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"241:7:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/ProtocolFeeLibrary.sol","file":"./libraries/ProtocolFeeLibrary.sol","id":57148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":55628,"src":"278:70:32","symbolAliases":[{"foreign":{"id":57147,"name":"ProtocolFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55627,"src":"286:18:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/solmate/src/auth/Owned.sol","file":"solmate/src/auth/Owned.sol","id":57150,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":58163,"src":"349:49:32","symbolAliases":[{"foreign":{"id":57149,"name":"Owned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58162,"src":"357:5:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"./types/PoolId.sol","id":57152,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":4714,"src":"399:42:32","symbolAliases":[{"foreign":{"id":57151,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"407:6:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Pool.sol","file":"./libraries/Pool.sol","id":57154,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":47123,"src":"442:42:32","symbolAliases":[{"foreign":{"id":57153,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"450:4:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./libraries/CustomRevert.sol","id":57156,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57364,"sourceUnit":45215,"src":"485:58:32","symbolAliases":[{"foreign":{"id":57155,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"493:12:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":57158,"name":"IProtocolFees","nameLocations":["650:13:32"],"nodeType":"IdentifierPath","referencedDeclaration":44994,"src":"650:13:32"},"id":57159,"nodeType":"InheritanceSpecifier","src":"650:13:32"},{"baseName":{"id":57160,"name":"Owned","nameLocations":["665:5:32"],"nodeType":"IdentifierPath","referencedDeclaration":58162,"src":"665:5:32"},"id":57161,"nodeType":"InheritanceSpecifier","src":"665:5:32"}],"canonicalName":"ProtocolFees","contractDependencies":[],"contractKind":"contract","documentation":{"id":57157,"nodeType":"StructuredDocumentation","src":"545:71:32","text":"@notice Contract handling the setting and accrual of protocol fees"},"fullyImplemented":false,"id":57363,"linearizedBaseContracts":[57363,58162,44994],"name":"ProtocolFees","nameLocation":"634:12:32","nodeType":"ContractDefinition","nodes":[{"global":false,"id":57164,"libraryName":{"id":57162,"name":"ProtocolFeeLibrary","nameLocations":["683:18:32"],"nodeType":"IdentifierPath","referencedDeclaration":55627,"src":"683:18:32"},"nodeType":"UsingForDirective","src":"677:36:32","typeName":{"id":57163,"name":"uint24","nodeType":"ElementaryTypeName","src":"706:6:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":57168,"libraryName":{"id":57165,"name":"Pool","nameLocations":["724:4:32"],"nodeType":"IdentifierPath","referencedDeclaration":47122,"src":"724:4:32"},"nodeType":"UsingForDirective","src":"718:26:32","typeName":{"id":57167,"nodeType":"UserDefinedTypeName","pathNode":{"id":57166,"name":"Pool.State","nameLocations":["733:4:32","738:5:32"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"733:10:32"},"referencedDeclaration":45583,"src":"733:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}}},{"global":false,"id":57171,"libraryName":{"id":57169,"name":"CustomRevert","nameLocations":["755:12:32"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"755:12:32"},"nodeType":"UsingForDirective","src":"749:30:32","typeName":{"id":57170,"name":"bytes4","nodeType":"ElementaryTypeName","src":"772:6:32","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"baseFunctions":[44959],"constant":false,"documentation":{"id":57172,"nodeType":"StructuredDocumentation","src":"785:29:32","text":"@inheritdoc IProtocolFees"},"functionSelector":"97e8cd4e","id":57177,"mutability":"mutable","name":"protocolFeesAccrued","nameLocation":"871:19:32","nodeType":"VariableDeclaration","scope":57363,"src":"819:71:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"mapping(Currency => uint256)"},"typeName":{"id":57176,"keyName":"currency","keyNameLocation":"836:8:32","keyType":{"id":57174,"nodeType":"UserDefinedTypeName","pathNode":{"id":57173,"name":"Currency","nameLocations":["827:8:32"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"827:8:32"},"referencedDeclaration":4399,"src":"827:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"Mapping","src":"819:44:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"mapping(Currency => uint256)"},"valueName":"amount","valueNameLocation":"856:6:32","valueType":{"id":57175,"name":"uint256","nodeType":"ElementaryTypeName","src":"848:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"baseFunctions":[44993],"constant":false,"documentation":{"id":57178,"nodeType":"StructuredDocumentation","src":"897:29:32","text":"@inheritdoc IProtocolFees"},"functionSelector":"f02de3b2","id":57180,"mutability":"mutable","name":"protocolFeeController","nameLocation":"946:21:32","nodeType":"VariableDeclaration","scope":57363,"src":"931:36:32","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57179,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"body":{"id":57188,"nodeType":"Block","src":"1028:2:32","statements":[]},"id":57189,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":57185,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57182,"src":"1014:12:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":57186,"kind":"baseConstructorSpecifier","modifierName":{"id":57184,"name":"Owned","nameLocations":["1008:5:32"],"nodeType":"IdentifierPath","referencedDeclaration":58162,"src":"1008:5:32"},"nodeType":"ModifierInvocation","src":"1008:19:32"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":57183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57182,"mutability":"mutable","name":"initialOwner","nameLocation":"994:12:32","nodeType":"VariableDeclaration","scope":57189,"src":"986:20:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57181,"name":"address","nodeType":"ElementaryTypeName","src":"986:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"985:22:32"},"returnParameters":{"id":57187,"nodeType":"ParameterList","parameters":[],"src":"1028:0:32"},"scope":57363,"src":"974:56:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[44974],"body":{"id":57205,"nodeType":"Block","src":"1143:106:32","statements":[{"expression":{"id":57199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57197,"name":"protocolFeeController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57180,"src":"1153:21:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57198,"name":"controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57192,"src":"1177:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1153:34:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57200,"nodeType":"ExpressionStatement","src":"1153:34:32"},{"eventCall":{"arguments":[{"id":57202,"name":"controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57192,"src":"1231:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57201,"name":"ProtocolFeeControllerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44942,"src":"1202:28:32","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":57203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:40:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57204,"nodeType":"EmitStatement","src":"1197:45:32"}]},"documentation":{"id":57190,"nodeType":"StructuredDocumentation","src":"1036:29:32","text":"@inheritdoc IProtocolFees"},"functionSelector":"2d771389","id":57206,"implemented":true,"kind":"function","modifiers":[{"id":57195,"kind":"modifierInvocation","modifierName":{"id":57194,"name":"onlyOwner","nameLocations":["1133:9:32"],"nodeType":"IdentifierPath","referencedDeclaration":58125,"src":"1133:9:32"},"nodeType":"ModifierInvocation","src":"1133:9:32"}],"name":"setProtocolFeeController","nameLocation":"1079:24:32","nodeType":"FunctionDefinition","parameters":{"id":57193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57192,"mutability":"mutable","name":"controller","nameLocation":"1112:10:32","nodeType":"VariableDeclaration","scope":57206,"src":"1104:18:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57191,"name":"address","nodeType":"ElementaryTypeName","src":"1104:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1103:20:32"},"returnParameters":{"id":57196,"nodeType":"ParameterList","parameters":[],"src":"1143:0:32"},"scope":57363,"src":"1070:179:32","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[44968],"body":{"id":57259,"nodeType":"Block","src":"1365:338:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1379:3:32","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1383:6:32","memberName":"sender","nodeType":"MemberAccess","src":"1379:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57217,"name":"protocolFeeController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57180,"src":"1393:21:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1379:35:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57226,"nodeType":"IfStatement","src":"1375:76:32","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57219,"name":"InvalidCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44934,"src":"1416:13:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1430:8:32","memberName":"selector","nodeType":"MemberAccess","src":"1416:22:32","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1439:10:32","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1416:33:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":57224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1416:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57225,"nodeType":"ExpressionStatement","src":"1416:35:32"}},{"condition":{"id":57230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1465:36:32","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57227,"name":"newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57212,"src":"1466:14:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":57228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1481:18:32","memberName":"isValidProtocolFee","nodeType":"MemberAccess","referencedDeclaration":55614,"src":"1466:33:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":57229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1466:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57239,"nodeType":"IfStatement","src":"1461:97:32","trueBody":{"expression":{"arguments":[{"id":57236,"name":"newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57212,"src":"1543:14:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"expression":{"id":57231,"name":"ProtocolFeeTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44931,"src":"1503:19:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint24_$returns$_t_error_$","typeString":"function (uint24) pure returns (error)"}},"id":57234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1523:8:32","memberName":"selector","nodeType":"MemberAccess","src":"1503:28:32","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1532:10:32","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45160,"src":"1503:39:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160) pure"}},"id":57237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1503:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57238,"nodeType":"ExpressionStatement","src":"1503:55:32"}},{"assignments":[57242],"declarations":[{"constant":false,"id":57242,"mutability":"mutable","name":"id","nameLocation":"1575:2:32","nodeType":"VariableDeclaration","scope":57259,"src":"1568:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":57241,"nodeType":"UserDefinedTypeName","pathNode":{"id":57240,"name":"PoolId","nameLocations":["1568:6:32"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"1568:6:32"},"referencedDeclaration":4699,"src":"1568:6:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":57246,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57243,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57210,"src":"1580:3:32","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":57244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1584:4:32","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"1580:8:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":57245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1580:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"1568:22:32"},{"expression":{"arguments":[{"id":57251,"name":"newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57212,"src":"1628:14:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"arguments":[{"id":57248,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57242,"src":"1609:2:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":57247,"name":"_getPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57346,"src":"1600:8:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (PoolId) returns (struct Pool.State storage pointer)"}},"id":57249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1600:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":57250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1613:14:32","memberName":"setProtocolFee","nodeType":"MemberAccess","referencedDeclaration":45710,"src":"1600:27:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_uint24_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer,uint24)"}},"id":57252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1600:43:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57253,"nodeType":"ExpressionStatement","src":"1600:43:32"},{"eventCall":{"arguments":[{"id":57255,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57242,"src":"1677:2:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":57256,"name":"newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57212,"src":"1681:14:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":57254,"name":"ProtocolFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44950,"src":"1658:18:32","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_uint24_$returns$__$","typeString":"function (PoolId,uint24)"}},"id":57257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1658:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57258,"nodeType":"EmitStatement","src":"1653:43:32"}]},"documentation":{"id":57207,"nodeType":"StructuredDocumentation","src":"1255:29:32","text":"@inheritdoc IProtocolFees"},"functionSelector":"7e87ce7d","id":57260,"implemented":true,"kind":"function","modifiers":[],"name":"setProtocolFee","nameLocation":"1298:14:32","nodeType":"FunctionDefinition","parameters":{"id":57213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57210,"mutability":"mutable","name":"key","nameLocation":"1328:3:32","nodeType":"VariableDeclaration","scope":57260,"src":"1313:18:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":57209,"nodeType":"UserDefinedTypeName","pathNode":{"id":57208,"name":"PoolKey","nameLocations":["1313:7:32"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1313:7:32"},"referencedDeclaration":4745,"src":"1313:7:32","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":57212,"mutability":"mutable","name":"newProtocolFee","nameLocation":"1340:14:32","nodeType":"VariableDeclaration","scope":57260,"src":"1333:21:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":57211,"name":"uint24","nodeType":"ElementaryTypeName","src":"1333:6:32","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1312:43:32"},"returnParameters":{"id":57214,"nodeType":"ParameterList","parameters":[],"src":"1365:0:32"},"scope":57363,"src":"1289:414:32","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[44987],"body":{"id":57329,"nodeType":"Block","src":"1889:555:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57273,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1903:3:32","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":57274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1907:6:32","memberName":"sender","nodeType":"MemberAccess","src":"1903:10:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57275,"name":"protocolFeeController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57180,"src":"1917:21:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1903:35:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57284,"nodeType":"IfStatement","src":"1899:76:32","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57277,"name":"InvalidCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44934,"src":"1940:13:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1954:8:32","memberName":"selector","nodeType":"MemberAccess","src":"1940:22:32","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1963:10:32","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1940:33:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":57282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57283,"nodeType":"ExpressionStatement","src":"1940:35:32"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1989:25:32","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57285,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57266,"src":"1990:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":57286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1999:13:32","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"1990:22:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":57287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1990:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"function":4432,"id":57293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57289,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"2018:16:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":57290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2035:17:32","memberName":"getSyncedCurrency","nodeType":"MemberAccess","referencedDeclaration":57457,"src":"2018:34:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () view returns (Currency)"}},"id":57291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2018:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":57292,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57266,"src":"2058:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"src":"2018:48:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1989:77:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57303,"nodeType":"IfStatement","src":"1985:257:32","trueBody":{"id":57302,"nodeType":"Block","src":"2068:174:32","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":57295,"name":"ProtocolFeeCurrencySynced","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44937,"src":"2184:25:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":57298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2210:8:32","memberName":"selector","nodeType":"MemberAccess","src":"2184:34:32","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":57299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2219:10:32","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"2184:45:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":57300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2184:47:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57301,"nodeType":"ExpressionStatement","src":"2184:47:32"}]}},{"expression":{"id":57314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57304,"name":"amountCollected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57271,"src":"2252:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57305,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57268,"src":"2271:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2281:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2271:11:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57308,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2270:13:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":57312,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57268,"src":"2318:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2270:54:32","trueExpression":{"baseExpression":{"id":57309,"name":"protocolFeesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57177,"src":"2286:19:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"mapping(Currency => uint256)"}},"id":57311,"indexExpression":{"id":57310,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57266,"src":"2306:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2286:29:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2252:72:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57315,"nodeType":"ExpressionStatement","src":"2252:72:32"},{"expression":{"id":57320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57316,"name":"protocolFeesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57177,"src":"2334:19:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"mapping(Currency => uint256)"}},"id":57318,"indexExpression":{"id":57317,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57266,"src":"2354:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2334:29:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":57319,"name":"amountCollected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57271,"src":"2367:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2334:48:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57321,"nodeType":"ExpressionStatement","src":"2334:48:32"},{"expression":{"arguments":[{"id":57325,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57263,"src":"2410:9:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57326,"name":"amountCollected","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57271,"src":"2421:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57322,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57266,"src":"2392:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":57324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2401:8:32","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"2392:17:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":57327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2392:45:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57328,"nodeType":"ExpressionStatement","src":"2392:45:32"}]},"documentation":{"id":57261,"nodeType":"StructuredDocumentation","src":"1709:29:32","text":"@inheritdoc IProtocolFees"},"functionSelector":"8161b874","id":57330,"implemented":true,"kind":"function","modifiers":[],"name":"collectProtocolFees","nameLocation":"1752:19:32","nodeType":"FunctionDefinition","parameters":{"id":57269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57263,"mutability":"mutable","name":"recipient","nameLocation":"1780:9:32","nodeType":"VariableDeclaration","scope":57330,"src":"1772:17:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57262,"name":"address","nodeType":"ElementaryTypeName","src":"1772:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57266,"mutability":"mutable","name":"currency","nameLocation":"1800:8:32","nodeType":"VariableDeclaration","scope":57330,"src":"1791:17:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57265,"nodeType":"UserDefinedTypeName","pathNode":{"id":57264,"name":"Currency","nameLocations":["1791:8:32"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1791:8:32"},"referencedDeclaration":4399,"src":"1791:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":57268,"mutability":"mutable","name":"amount","nameLocation":"1818:6:32","nodeType":"VariableDeclaration","scope":57330,"src":"1810:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1771:54:32"},"returnParameters":{"id":57272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57271,"mutability":"mutable","name":"amountCollected","nameLocation":"1868:15:32","nodeType":"VariableDeclaration","scope":57330,"src":"1860:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1860:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1859:25:32"},"scope":57363,"src":"1743:701:32","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":57331,"nodeType":"StructuredDocumentation","src":"2450:89:32","text":"@dev abstract internal function to allow the ProtocolFees contract to access the lock"},"id":57336,"implemented":false,"kind":"function","modifiers":[],"name":"_isUnlocked","nameLocation":"2553:11:32","nodeType":"FunctionDefinition","parameters":{"id":57332,"nodeType":"ParameterList","parameters":[],"src":"2564:2:32"},"returnParameters":{"id":57335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57336,"src":"2593:4:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57333,"name":"bool","nodeType":"ElementaryTypeName","src":"2593:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2592:6:32"},"scope":57363,"src":"2544:55:32","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"documentation":{"id":57337,"nodeType":"StructuredDocumentation","src":"2605:179:32","text":"@dev abstract internal function to allow the ProtocolFees contract to access pool state\n @dev this is overridden in PoolManager.sol to give access to the _pools mapping"},"id":57346,"implemented":false,"kind":"function","modifiers":[],"name":"_getPool","nameLocation":"2798:8:32","nodeType":"FunctionDefinition","parameters":{"id":57341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57340,"mutability":"mutable","name":"id","nameLocation":"2814:2:32","nodeType":"VariableDeclaration","scope":57346,"src":"2807:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":57339,"nodeType":"UserDefinedTypeName","pathNode":{"id":57338,"name":"PoolId","nameLocations":["2807:6:32"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"2807:6:32"},"referencedDeclaration":4699,"src":"2807:6:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"2806:11:32"},"returnParameters":{"id":57345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57346,"src":"2844:18:32","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":57343,"nodeType":"UserDefinedTypeName","pathNode":{"id":57342,"name":"Pool.State","nameLocations":["2844:4:32","2849:5:32"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"2844:10:32"},"referencedDeclaration":45583,"src":"2844:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"src":"2843:20:32"},"scope":57363,"src":"2789:75:32","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":57361,"nodeType":"Block","src":"2943:90:32","statements":[{"id":57360,"nodeType":"UncheckedBlock","src":"2953:74:32","statements":[{"expression":{"id":57358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57354,"name":"protocolFeesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57177,"src":"2977:19:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"mapping(Currency => uint256)"}},"id":57356,"indexExpression":{"id":57355,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57349,"src":"2997:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2977:29:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":57357,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57351,"src":"3010:6:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2977:39:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57359,"nodeType":"ExpressionStatement","src":"2977:39:32"}]}]},"id":57362,"implemented":true,"kind":"function","modifiers":[],"name":"_updateProtocolFees","nameLocation":"2879:19:32","nodeType":"FunctionDefinition","parameters":{"id":57352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57349,"mutability":"mutable","name":"currency","nameLocation":"2908:8:32","nodeType":"VariableDeclaration","scope":57362,"src":"2899:17:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57348,"nodeType":"UserDefinedTypeName","pathNode":{"id":57347,"name":"Currency","nameLocations":["2899:8:32"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2899:8:32"},"referencedDeclaration":4399,"src":"2899:8:32","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":57351,"mutability":"mutable","name":"amount","nameLocation":"2926:6:32","nodeType":"VariableDeclaration","scope":57362,"src":"2918:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57350,"name":"uint256","nodeType":"ElementaryTypeName","src":"2918:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2898:35:32"},"returnParameters":{"id":57353,"nodeType":"ParameterList","parameters":[],"src":"2943:0:32"},"scope":57363,"src":"2870:163:32","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57364,"src":"616:2419:32","usedErrors":[44931,44934,44937],"usedEvents":[44942,44950,58111]}],"src":"32:3004:32"},"id":32},"v4-core/src/interfaces/IExtsload.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/IExtsload.sol","exportedSymbols":{"IExtsload":[44895]},"id":44896,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44864,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:33"},{"abstract":false,"baseContracts":[],"canonicalName":"IExtsload","contractDependencies":[],"contractKind":"interface","documentation":{"id":44865,"nodeType":"StructuredDocumentation","src":"57:77:33","text":"@notice Interface for functions to access any storage slot in a contract"},"fullyImplemented":false,"id":44895,"linearizedBaseContracts":[44895],"name":"IExtsload","nameLocation":"144:9:33","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":44866,"nodeType":"StructuredDocumentation","src":"160:166:33","text":"@notice Called by external contracts to access granular pool state\n @param slot Key of slot to sload\n @return value The value of the slot as bytes32"},"functionSelector":"1e2eaeaf","id":44873,"implemented":false,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"340:8:33","nodeType":"FunctionDefinition","parameters":{"id":44869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44868,"mutability":"mutable","name":"slot","nameLocation":"357:4:33","nodeType":"VariableDeclaration","scope":44873,"src":"349:12:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"348:14:33"},"returnParameters":{"id":44872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44871,"mutability":"mutable","name":"value","nameLocation":"394:5:33","nodeType":"VariableDeclaration","scope":44873,"src":"386:13:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"386:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"385:15:33"},"scope":44895,"src":"331:70:33","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":44874,"nodeType":"StructuredDocumentation","src":"407:240:33","text":"@notice Called by external contracts to access granular pool state\n @param startSlot Key of slot to start sloading from\n @param nSlots Number of slots to load into return value\n @return values List of loaded values."},"functionSelector":"35fd631a","id":44884,"implemented":false,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"661:8:33","nodeType":"FunctionDefinition","parameters":{"id":44879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44876,"mutability":"mutable","name":"startSlot","nameLocation":"678:9:33","nodeType":"VariableDeclaration","scope":44884,"src":"670:17:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"670:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44878,"mutability":"mutable","name":"nSlots","nameLocation":"697:6:33","nodeType":"VariableDeclaration","scope":44884,"src":"689:14:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44877,"name":"uint256","nodeType":"ElementaryTypeName","src":"689:7:33","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"669:35:33"},"returnParameters":{"id":44883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44882,"mutability":"mutable","name":"values","nameLocation":"745:6:33","nodeType":"VariableDeclaration","scope":44884,"src":"728:23:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"728:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44881,"nodeType":"ArrayTypeName","src":"728:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"727:25:33"},"scope":44895,"src":"652:101:33","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":44885,"nodeType":"StructuredDocumentation","src":"759:164:33","text":"@notice Called by external contracts to access sparse pool state\n @param slots List of slots to SLOAD from.\n @return values List of loaded values."},"functionSelector":"dbd035ff","id":44894,"implemented":false,"kind":"function","modifiers":[],"name":"extsload","nameLocation":"937:8:33","nodeType":"FunctionDefinition","parameters":{"id":44889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44888,"mutability":"mutable","name":"slots","nameLocation":"965:5:33","nodeType":"VariableDeclaration","scope":44894,"src":"946:24:33","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"946:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44887,"nodeType":"ArrayTypeName","src":"946:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"945:26:33"},"returnParameters":{"id":44893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44892,"mutability":"mutable","name":"values","nameLocation":"1012:6:33","nodeType":"VariableDeclaration","scope":44894,"src":"995:23:33","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"995:7:33","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44891,"nodeType":"ArrayTypeName","src":"995:9:33","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"994:25:33"},"scope":44895,"src":"928:92:33","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":44896,"src":"134:888:33","usedErrors":[],"usedEvents":[]}],"src":"32:991:33"},"id":33},"v4-core/src/interfaces/IExttload.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/IExttload.sol","exportedSymbols":{"IExttload":[44917]},"id":44918,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44897,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:34"},{"abstract":false,"baseContracts":[],"canonicalName":"IExttload","contractDependencies":[],"contractKind":"interface","documentation":{"id":44898,"nodeType":"StructuredDocumentation","src":"58:87:34","text":"@notice Interface for functions to access any transient storage slot in a contract"},"fullyImplemented":false,"id":44917,"linearizedBaseContracts":[44917],"name":"IExttload","nameLocation":"155:9:34","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":44899,"nodeType":"StructuredDocumentation","src":"171:180:34","text":"@notice Called by external contracts to access transient storage of the contract\n @param slot Key of slot to tload\n @return value The value of the slot as bytes32"},"functionSelector":"f135baaa","id":44906,"implemented":false,"kind":"function","modifiers":[],"name":"exttload","nameLocation":"365:8:34","nodeType":"FunctionDefinition","parameters":{"id":44902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44901,"mutability":"mutable","name":"slot","nameLocation":"382:4:34","nodeType":"VariableDeclaration","scope":44906,"src":"374:12:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"374:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"373:14:34"},"returnParameters":{"id":44905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44904,"mutability":"mutable","name":"value","nameLocation":"419:5:34","nodeType":"VariableDeclaration","scope":44906,"src":"411:13:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"410:15:34"},"scope":44917,"src":"356:70:34","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":44907,"nodeType":"StructuredDocumentation","src":"432:167:34","text":"@notice Called by external contracts to access sparse transient pool state\n @param slots List of slots to tload\n @return values List of loaded values"},"functionSelector":"9bf6645f","id":44916,"implemented":false,"kind":"function","modifiers":[],"name":"exttload","nameLocation":"613:8:34","nodeType":"FunctionDefinition","parameters":{"id":44911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44910,"mutability":"mutable","name":"slots","nameLocation":"641:5:34","nodeType":"VariableDeclaration","scope":44916,"src":"622:24:34","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"622:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44909,"nodeType":"ArrayTypeName","src":"622:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"621:26:34"},"returnParameters":{"id":44915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44914,"mutability":"mutable","name":"values","nameLocation":"688:6:34","nodeType":"VariableDeclaration","scope":44916,"src":"671:23:34","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"671:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44913,"nodeType":"ArrayTypeName","src":"671:9:34","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"670:25:34"},"scope":44917,"src":"604:92:34","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":44918,"src":"145:553:34","usedErrors":[],"usedEvents":[]}],"src":"32:667:34"},"id":34},"v4-core/src/interfaces/IHooks.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/IHooks.sol","exportedSymbols":{"BalanceDelta":[4233],"BeforeSwapDelta":[44818],"IHooks":[1480],"ModifyLiquidityParams":[4761],"PoolKey":[4745],"SwapParams":[4772]},"id":1481,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1283,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:35"},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":1285,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1481,"sourceUnit":4746,"src":"57:45:35","symbolAliases":[{"foreign":{"id":1284,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"65:7:35","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":1287,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1481,"sourceUnit":4392,"src":"103:55:35","symbolAliases":[{"foreign":{"id":1286,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"111:12:35","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":1290,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1481,"sourceUnit":4773,"src":"159:77:35","symbolAliases":[{"foreign":{"id":1288,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"167:21:35","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1289,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"190:10:35","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BeforeSwapDelta.sol","file":"../types/BeforeSwapDelta.sol","id":1292,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1481,"sourceUnit":44863,"src":"237:61:35","symbolAliases":[{"foreign":{"id":1291,"name":"BeforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44818,"src":"245:15:35","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IHooks","contractDependencies":[],"contractKind":"interface","documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"300:485:35","text":"@notice V4 decides whether to invoke specific hooks by inspecting the least significant bits\n of the address that the hooks contract is deployed to.\n For example, a hooks contract deployed to address: 0x0000000000000000000000000000000000002400\n has the lowest bits '10 0100 0000 0000' which would cause the 'before initialize' and 'after add liquidity' hooks to be used.\n See the Hooks library for the full spec.\n @dev Should only be callable by the v4 PoolManager."},"fullyImplemented":false,"id":1480,"linearizedBaseContracts":[1480],"name":"IHooks","nameLocation":"795:6:35","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1294,"nodeType":"StructuredDocumentation","src":"808:322:35","text":"@notice The hook called before the state of a pool is initialized\n @param sender The initial msg.sender for the initialize call\n @param key The key for the pool being initialized\n @param sqrtPriceX96 The sqrt(price) of the pool as a Q64.96\n @return bytes4 The function selector for the hook"},"functionSelector":"dc98354e","id":1306,"implemented":false,"kind":"function","modifiers":[],"name":"beforeInitialize","nameLocation":"1144:16:35","nodeType":"FunctionDefinition","parameters":{"id":1302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1296,"mutability":"mutable","name":"sender","nameLocation":"1169:6:35","nodeType":"VariableDeclaration","scope":1306,"src":"1161:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1295,"name":"address","nodeType":"ElementaryTypeName","src":"1161:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1299,"mutability":"mutable","name":"key","nameLocation":"1194:3:35","nodeType":"VariableDeclaration","scope":1306,"src":"1177:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1298,"nodeType":"UserDefinedTypeName","pathNode":{"id":1297,"name":"PoolKey","nameLocations":["1177:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1177:7:35"},"referencedDeclaration":4745,"src":"1177:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1301,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"1207:12:35","nodeType":"VariableDeclaration","scope":1306,"src":"1199:20:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1300,"name":"uint160","nodeType":"ElementaryTypeName","src":"1199:7:35","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1160:60:35"},"returnParameters":{"id":1305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1306,"src":"1239:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1303,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1239:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1238:8:35"},"scope":1480,"src":"1135:112:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1307,"nodeType":"StructuredDocumentation","src":"1253:399:35","text":"@notice The hook called after the state of a pool is initialized\n @param sender The initial msg.sender for the initialize call\n @param key The key for the pool being initialized\n @param sqrtPriceX96 The sqrt(price) of the pool as a Q64.96\n @param tick The current tick after the state of a pool is initialized\n @return bytes4 The function selector for the hook"},"functionSelector":"6fe7e6eb","id":1321,"implemented":false,"kind":"function","modifiers":[],"name":"afterInitialize","nameLocation":"1666:15:35","nodeType":"FunctionDefinition","parameters":{"id":1317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1309,"mutability":"mutable","name":"sender","nameLocation":"1690:6:35","nodeType":"VariableDeclaration","scope":1321,"src":"1682:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1308,"name":"address","nodeType":"ElementaryTypeName","src":"1682:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1312,"mutability":"mutable","name":"key","nameLocation":"1715:3:35","nodeType":"VariableDeclaration","scope":1321,"src":"1698:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1311,"nodeType":"UserDefinedTypeName","pathNode":{"id":1310,"name":"PoolKey","nameLocations":["1698:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1698:7:35"},"referencedDeclaration":4745,"src":"1698:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1314,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"1728:12:35","nodeType":"VariableDeclaration","scope":1321,"src":"1720:20:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1313,"name":"uint160","nodeType":"ElementaryTypeName","src":"1720:7:35","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":1316,"mutability":"mutable","name":"tick","nameLocation":"1748:4:35","nodeType":"VariableDeclaration","scope":1321,"src":"1742:10:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1315,"name":"int24","nodeType":"ElementaryTypeName","src":"1742:5:35","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1681:72:35"},"returnParameters":{"id":1320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1321,"src":"1788:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1318,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1788:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1787:8:35"},"scope":1480,"src":"1657:139:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1322,"nodeType":"StructuredDocumentation","src":"1802:402:35","text":"@notice The hook called before liquidity is added\n @param sender The initial msg.sender for the add liquidity call\n @param key The key for the pool\n @param params The parameters for adding liquidity\n @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook\n @return bytes4 The function selector for the hook"},"functionSelector":"259982e5","id":1337,"implemented":false,"kind":"function","modifiers":[],"name":"beforeAddLiquidity","nameLocation":"2218:18:35","nodeType":"FunctionDefinition","parameters":{"id":1333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1324,"mutability":"mutable","name":"sender","nameLocation":"2254:6:35","nodeType":"VariableDeclaration","scope":1337,"src":"2246:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1323,"name":"address","nodeType":"ElementaryTypeName","src":"2246:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1327,"mutability":"mutable","name":"key","nameLocation":"2287:3:35","nodeType":"VariableDeclaration","scope":1337,"src":"2270:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1326,"nodeType":"UserDefinedTypeName","pathNode":{"id":1325,"name":"PoolKey","nameLocations":["2270:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"2270:7:35"},"referencedDeclaration":4745,"src":"2270:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1330,"mutability":"mutable","name":"params","nameLocation":"2331:6:35","nodeType":"VariableDeclaration","scope":1337,"src":"2300:37:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_calldata_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":1329,"nodeType":"UserDefinedTypeName","pathNode":{"id":1328,"name":"ModifyLiquidityParams","nameLocations":["2300:21:35"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2300:21:35"},"referencedDeclaration":4761,"src":"2300:21:35","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":1332,"mutability":"mutable","name":"hookData","nameLocation":"2362:8:35","nodeType":"VariableDeclaration","scope":1337,"src":"2347:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1331,"name":"bytes","nodeType":"ElementaryTypeName","src":"2347:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2236:140:35"},"returnParameters":{"id":1336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1337,"src":"2395:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1334,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2395:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2394:8:35"},"scope":1480,"src":"2209:194:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1338,"nodeType":"StructuredDocumentation","src":"2409:781:35","text":"@notice The hook called after liquidity is added\n @param sender The initial msg.sender for the add liquidity call\n @param key The key for the pool\n @param params The parameters for adding liquidity\n @param delta The caller's balance delta after adding liquidity; the sum of principal delta, fees accrued, and hook delta\n @param feesAccrued The fees accrued since the last time fees were collected from this position\n @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be passed on to the hook\n @return bytes4 The function selector for the hook\n @return BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"},"functionSelector":"9f063efc","id":1362,"implemented":false,"kind":"function","modifiers":[],"name":"afterAddLiquidity","nameLocation":"3204:17:35","nodeType":"FunctionDefinition","parameters":{"id":1355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1340,"mutability":"mutable","name":"sender","nameLocation":"3239:6:35","nodeType":"VariableDeclaration","scope":1362,"src":"3231:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1339,"name":"address","nodeType":"ElementaryTypeName","src":"3231:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1343,"mutability":"mutable","name":"key","nameLocation":"3272:3:35","nodeType":"VariableDeclaration","scope":1362,"src":"3255:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1342,"nodeType":"UserDefinedTypeName","pathNode":{"id":1341,"name":"PoolKey","nameLocations":["3255:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3255:7:35"},"referencedDeclaration":4745,"src":"3255:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1346,"mutability":"mutable","name":"params","nameLocation":"3316:6:35","nodeType":"VariableDeclaration","scope":1362,"src":"3285:37:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_calldata_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":1345,"nodeType":"UserDefinedTypeName","pathNode":{"id":1344,"name":"ModifyLiquidityParams","nameLocations":["3285:21:35"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"3285:21:35"},"referencedDeclaration":4761,"src":"3285:21:35","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":1349,"mutability":"mutable","name":"delta","nameLocation":"3345:5:35","nodeType":"VariableDeclaration","scope":1362,"src":"3332:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1348,"nodeType":"UserDefinedTypeName","pathNode":{"id":1347,"name":"BalanceDelta","nameLocations":["3332:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"3332:12:35"},"referencedDeclaration":4233,"src":"3332:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1352,"mutability":"mutable","name":"feesAccrued","nameLocation":"3373:11:35","nodeType":"VariableDeclaration","scope":1362,"src":"3360:24:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1351,"nodeType":"UserDefinedTypeName","pathNode":{"id":1350,"name":"BalanceDelta","nameLocations":["3360:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"3360:12:35"},"referencedDeclaration":4233,"src":"3360:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1354,"mutability":"mutable","name":"hookData","nameLocation":"3409:8:35","nodeType":"VariableDeclaration","scope":1362,"src":"3394:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1353,"name":"bytes","nodeType":"ElementaryTypeName","src":"3394:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3221:202:35"},"returnParameters":{"id":1361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"3442:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1356,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3442:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"3450:12:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1359,"nodeType":"UserDefinedTypeName","pathNode":{"id":1358,"name":"BalanceDelta","nameLocations":["3450:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"3450:12:35"},"referencedDeclaration":4233,"src":"3450:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"3441:22:35"},"scope":1480,"src":"3195:269:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"3470:412:35","text":"@notice The hook called before liquidity is removed\n @param sender The initial msg.sender for the remove liquidity call\n @param key The key for the pool\n @param params The parameters for removing liquidity\n @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook\n @return bytes4 The function selector for the hook"},"functionSelector":"21d0ee70","id":1378,"implemented":false,"kind":"function","modifiers":[],"name":"beforeRemoveLiquidity","nameLocation":"3896:21:35","nodeType":"FunctionDefinition","parameters":{"id":1374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"sender","nameLocation":"3935:6:35","nodeType":"VariableDeclaration","scope":1378,"src":"3927:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"3927:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1368,"mutability":"mutable","name":"key","nameLocation":"3968:3:35","nodeType":"VariableDeclaration","scope":1378,"src":"3951:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1367,"nodeType":"UserDefinedTypeName","pathNode":{"id":1366,"name":"PoolKey","nameLocations":["3951:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3951:7:35"},"referencedDeclaration":4745,"src":"3951:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1371,"mutability":"mutable","name":"params","nameLocation":"4012:6:35","nodeType":"VariableDeclaration","scope":1378,"src":"3981:37:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_calldata_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":1370,"nodeType":"UserDefinedTypeName","pathNode":{"id":1369,"name":"ModifyLiquidityParams","nameLocations":["3981:21:35"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"3981:21:35"},"referencedDeclaration":4761,"src":"3981:21:35","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":1373,"mutability":"mutable","name":"hookData","nameLocation":"4043:8:35","nodeType":"VariableDeclaration","scope":1378,"src":"4028:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1372,"name":"bytes","nodeType":"ElementaryTypeName","src":"4028:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3917:140:35"},"returnParameters":{"id":1377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1376,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1378,"src":"4076:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1375,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4076:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4075:8:35"},"scope":1480,"src":"3887:197:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1379,"nodeType":"StructuredDocumentation","src":"4090:793:35","text":"@notice The hook called after liquidity is removed\n @param sender The initial msg.sender for the remove liquidity call\n @param key The key for the pool\n @param params The parameters for removing liquidity\n @param delta The caller's balance delta after removing liquidity; the sum of principal delta, fees accrued, and hook delta\n @param feesAccrued The fees accrued since the last time fees were collected from this position\n @param hookData Arbitrary data handed into the PoolManager by the liquidity provider to be be passed on to the hook\n @return bytes4 The function selector for the hook\n @return BalanceDelta The hook's delta in token0 and token1. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"},"functionSelector":"6c2bbe7e","id":1403,"implemented":false,"kind":"function","modifiers":[],"name":"afterRemoveLiquidity","nameLocation":"4897:20:35","nodeType":"FunctionDefinition","parameters":{"id":1396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1381,"mutability":"mutable","name":"sender","nameLocation":"4935:6:35","nodeType":"VariableDeclaration","scope":1403,"src":"4927:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1380,"name":"address","nodeType":"ElementaryTypeName","src":"4927:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1384,"mutability":"mutable","name":"key","nameLocation":"4968:3:35","nodeType":"VariableDeclaration","scope":1403,"src":"4951:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1383,"nodeType":"UserDefinedTypeName","pathNode":{"id":1382,"name":"PoolKey","nameLocations":["4951:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"4951:7:35"},"referencedDeclaration":4745,"src":"4951:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1387,"mutability":"mutable","name":"params","nameLocation":"5012:6:35","nodeType":"VariableDeclaration","scope":1403,"src":"4981:37:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_calldata_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":1386,"nodeType":"UserDefinedTypeName","pathNode":{"id":1385,"name":"ModifyLiquidityParams","nameLocations":["4981:21:35"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"4981:21:35"},"referencedDeclaration":4761,"src":"4981:21:35","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":1390,"mutability":"mutable","name":"delta","nameLocation":"5041:5:35","nodeType":"VariableDeclaration","scope":1403,"src":"5028:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1389,"nodeType":"UserDefinedTypeName","pathNode":{"id":1388,"name":"BalanceDelta","nameLocations":["5028:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"5028:12:35"},"referencedDeclaration":4233,"src":"5028:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1393,"mutability":"mutable","name":"feesAccrued","nameLocation":"5069:11:35","nodeType":"VariableDeclaration","scope":1403,"src":"5056:24:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1392,"nodeType":"UserDefinedTypeName","pathNode":{"id":1391,"name":"BalanceDelta","nameLocations":["5056:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"5056:12:35"},"referencedDeclaration":4233,"src":"5056:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1395,"mutability":"mutable","name":"hookData","nameLocation":"5105:8:35","nodeType":"VariableDeclaration","scope":1403,"src":"5090:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1394,"name":"bytes","nodeType":"ElementaryTypeName","src":"5090:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4917:202:35"},"returnParameters":{"id":1402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1403,"src":"5138:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1397,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5138:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1403,"src":"5146:12:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1400,"nodeType":"UserDefinedTypeName","pathNode":{"id":1399,"name":"BalanceDelta","nameLocations":["5146:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"5146:12:35"},"referencedDeclaration":4233,"src":"5146:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"5137:22:35"},"scope":1480,"src":"4888:272:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1404,"nodeType":"StructuredDocumentation","src":"5166:790:35","text":"@notice The hook called before a swap\n @param sender The initial msg.sender for the swap call\n @param key The key for the pool\n @param params The parameters for the swap\n @param hookData Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook\n @return bytes4 The function selector for the hook\n @return BeforeSwapDelta The hook's delta in specified and unspecified currencies. Positive: the hook is owed/took currency, negative: the hook owes/sent currency\n @return uint24 Optionally override the lp fee, only used if three conditions are met: 1. the Pool has a dynamic fee, 2. the value's 2nd highest bit is set (23rd bit, 0x400000), and 3. the value is less than or equal to the maximum fee (1 million)"},"functionSelector":"575e24b4","id":1424,"implemented":false,"kind":"function","modifiers":[],"name":"beforeSwap","nameLocation":"5970:10:35","nodeType":"FunctionDefinition","parameters":{"id":1415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1406,"mutability":"mutable","name":"sender","nameLocation":"5989:6:35","nodeType":"VariableDeclaration","scope":1424,"src":"5981:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1405,"name":"address","nodeType":"ElementaryTypeName","src":"5981:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1409,"mutability":"mutable","name":"key","nameLocation":"6014:3:35","nodeType":"VariableDeclaration","scope":1424,"src":"5997:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1408,"nodeType":"UserDefinedTypeName","pathNode":{"id":1407,"name":"PoolKey","nameLocations":["5997:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"5997:7:35"},"referencedDeclaration":4745,"src":"5997:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1412,"mutability":"mutable","name":"params","nameLocation":"6039:6:35","nodeType":"VariableDeclaration","scope":1424,"src":"6019:26:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_calldata_ptr","typeString":"struct SwapParams"},"typeName":{"id":1411,"nodeType":"UserDefinedTypeName","pathNode":{"id":1410,"name":"SwapParams","nameLocations":["6019:10:35"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"6019:10:35"},"referencedDeclaration":4772,"src":"6019:10:35","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":1414,"mutability":"mutable","name":"hookData","nameLocation":"6062:8:35","nodeType":"VariableDeclaration","scope":1424,"src":"6047:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1413,"name":"bytes","nodeType":"ElementaryTypeName","src":"6047:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5980:91:35"},"returnParameters":{"id":1423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1424,"src":"6106:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1416,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6106:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1424,"src":"6114:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":1419,"nodeType":"UserDefinedTypeName","pathNode":{"id":1418,"name":"BeforeSwapDelta","nameLocations":["6114:15:35"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"6114:15:35"},"referencedDeclaration":44818,"src":"6114:15:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"},{"constant":false,"id":1422,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1424,"src":"6131:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1421,"name":"uint24","nodeType":"ElementaryTypeName","src":"6131:6:35","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"6105:33:35"},"scope":1480,"src":"5961:178:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1425,"nodeType":"StructuredDocumentation","src":"6145:602:35","text":"@notice The hook called after a swap\n @param sender The initial msg.sender for the swap call\n @param key The key for the pool\n @param params The parameters for the swap\n @param delta The amount owed to the caller (positive) or owed to the pool (negative)\n @param hookData Arbitrary data handed into the PoolManager by the swapper to be be passed on to the hook\n @return bytes4 The function selector for the hook\n @return int128 The hook's delta in unspecified currency. Positive: the hook is owed/took currency, negative: the hook owes/sent currency"},"functionSelector":"b47b2fb1","id":1445,"implemented":false,"kind":"function","modifiers":[],"name":"afterSwap","nameLocation":"6761:9:35","nodeType":"FunctionDefinition","parameters":{"id":1439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1427,"mutability":"mutable","name":"sender","nameLocation":"6788:6:35","nodeType":"VariableDeclaration","scope":1445,"src":"6780:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1426,"name":"address","nodeType":"ElementaryTypeName","src":"6780:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1430,"mutability":"mutable","name":"key","nameLocation":"6821:3:35","nodeType":"VariableDeclaration","scope":1445,"src":"6804:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1429,"nodeType":"UserDefinedTypeName","pathNode":{"id":1428,"name":"PoolKey","nameLocations":["6804:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"6804:7:35"},"referencedDeclaration":4745,"src":"6804:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1433,"mutability":"mutable","name":"params","nameLocation":"6854:6:35","nodeType":"VariableDeclaration","scope":1445,"src":"6834:26:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_calldata_ptr","typeString":"struct SwapParams"},"typeName":{"id":1432,"nodeType":"UserDefinedTypeName","pathNode":{"id":1431,"name":"SwapParams","nameLocations":["6834:10:35"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"6834:10:35"},"referencedDeclaration":4772,"src":"6834:10:35","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":1436,"mutability":"mutable","name":"delta","nameLocation":"6883:5:35","nodeType":"VariableDeclaration","scope":1445,"src":"6870:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1435,"nodeType":"UserDefinedTypeName","pathNode":{"id":1434,"name":"BalanceDelta","nameLocations":["6870:12:35"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"6870:12:35"},"referencedDeclaration":4233,"src":"6870:12:35","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1438,"mutability":"mutable","name":"hookData","nameLocation":"6913:8:35","nodeType":"VariableDeclaration","scope":1445,"src":"6898:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1437,"name":"bytes","nodeType":"ElementaryTypeName","src":"6898:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6770:157:35"},"returnParameters":{"id":1444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1445,"src":"6946:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1440,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6946:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":1443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1445,"src":"6954:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":1442,"name":"int128","nodeType":"ElementaryTypeName","src":"6954:6:35","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"6945:16:35"},"scope":1480,"src":"6752:210:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1446,"nodeType":"StructuredDocumentation","src":"6968:431:35","text":"@notice The hook called before donate\n @param sender The initial msg.sender for the donate call\n @param key The key for the pool\n @param amount0 The amount of token0 being donated\n @param amount1 The amount of token1 being donated\n @param hookData Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook\n @return bytes4 The function selector for the hook"},"functionSelector":"b6a8b0fa","id":1462,"implemented":false,"kind":"function","modifiers":[],"name":"beforeDonate","nameLocation":"7413:12:35","nodeType":"FunctionDefinition","parameters":{"id":1458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1448,"mutability":"mutable","name":"sender","nameLocation":"7443:6:35","nodeType":"VariableDeclaration","scope":1462,"src":"7435:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1447,"name":"address","nodeType":"ElementaryTypeName","src":"7435:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1451,"mutability":"mutable","name":"key","nameLocation":"7476:3:35","nodeType":"VariableDeclaration","scope":1462,"src":"7459:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1450,"nodeType":"UserDefinedTypeName","pathNode":{"id":1449,"name":"PoolKey","nameLocations":["7459:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7459:7:35"},"referencedDeclaration":4745,"src":"7459:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1453,"mutability":"mutable","name":"amount0","nameLocation":"7497:7:35","nodeType":"VariableDeclaration","scope":1462,"src":"7489:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1452,"name":"uint256","nodeType":"ElementaryTypeName","src":"7489:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1455,"mutability":"mutable","name":"amount1","nameLocation":"7522:7:35","nodeType":"VariableDeclaration","scope":1462,"src":"7514:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1454,"name":"uint256","nodeType":"ElementaryTypeName","src":"7514:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1457,"mutability":"mutable","name":"hookData","nameLocation":"7554:8:35","nodeType":"VariableDeclaration","scope":1462,"src":"7539:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1456,"name":"bytes","nodeType":"ElementaryTypeName","src":"7539:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7425:143:35"},"returnParameters":{"id":1461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1462,"src":"7587:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1459,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7587:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7586:8:35"},"scope":1480,"src":"7404:191:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1463,"nodeType":"StructuredDocumentation","src":"7601:430:35","text":"@notice The hook called after donate\n @param sender The initial msg.sender for the donate call\n @param key The key for the pool\n @param amount0 The amount of token0 being donated\n @param amount1 The amount of token1 being donated\n @param hookData Arbitrary data handed into the PoolManager by the donor to be be passed on to the hook\n @return bytes4 The function selector for the hook"},"functionSelector":"e1b4af69","id":1479,"implemented":false,"kind":"function","modifiers":[],"name":"afterDonate","nameLocation":"8045:11:35","nodeType":"FunctionDefinition","parameters":{"id":1475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1465,"mutability":"mutable","name":"sender","nameLocation":"8074:6:35","nodeType":"VariableDeclaration","scope":1479,"src":"8066:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1464,"name":"address","nodeType":"ElementaryTypeName","src":"8066:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1468,"mutability":"mutable","name":"key","nameLocation":"8107:3:35","nodeType":"VariableDeclaration","scope":1479,"src":"8090:20:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_calldata_ptr","typeString":"struct PoolKey"},"typeName":{"id":1467,"nodeType":"UserDefinedTypeName","pathNode":{"id":1466,"name":"PoolKey","nameLocations":["8090:7:35"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"8090:7:35"},"referencedDeclaration":4745,"src":"8090:7:35","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1470,"mutability":"mutable","name":"amount0","nameLocation":"8128:7:35","nodeType":"VariableDeclaration","scope":1479,"src":"8120:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1469,"name":"uint256","nodeType":"ElementaryTypeName","src":"8120:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1472,"mutability":"mutable","name":"amount1","nameLocation":"8153:7:35","nodeType":"VariableDeclaration","scope":1479,"src":"8145:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1471,"name":"uint256","nodeType":"ElementaryTypeName","src":"8145:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1474,"mutability":"mutable","name":"hookData","nameLocation":"8185:8:35","nodeType":"VariableDeclaration","scope":1479,"src":"8170:23:35","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1473,"name":"bytes","nodeType":"ElementaryTypeName","src":"8170:5:35","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8056:143:35"},"returnParameters":{"id":1478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1479,"src":"8218:6:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1476,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8218:6:35","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8217:8:35"},"scope":1480,"src":"8036:190:35","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1481,"src":"785:7443:35","usedErrors":[],"usedEvents":[]}],"src":"32:8197:35"},"id":35},"v4-core/src/interfaces/IPoolManager.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"IERC6909Claims":[45108],"IExtsload":[44895],"IExttload":[44917],"IHooks":[1480],"IPoolManager":[1763],"IProtocolFees":[44994],"ModifyLiquidityParams":[4761],"PoolId":[4699],"PoolKey":[4745],"SwapParams":[4772]},"id":1764,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1482,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:36"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":1484,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":4694,"src":"58:47:36","symbolAliases":[{"foreign":{"id":1483,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"66:8:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":1486,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":4746,"src":"106:45:36","symbolAliases":[{"foreign":{"id":1485,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"114:7:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"./IHooks.sol","id":1488,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":1481,"src":"152:36:36","symbolAliases":[{"foreign":{"id":1487,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"160:6:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/external/IERC6909Claims.sol","file":"./external/IERC6909Claims.sol","id":1490,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":45109,"src":"189:61:36","symbolAliases":[{"foreign":{"id":1489,"name":"IERC6909Claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45108,"src":"197:14:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IProtocolFees.sol","file":"./IProtocolFees.sol","id":1492,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":44995,"src":"251:50:36","symbolAliases":[{"foreign":{"id":1491,"name":"IProtocolFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44994,"src":"259:13:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":1494,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":4392,"src":"302:55:36","symbolAliases":[{"foreign":{"id":1493,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"310:12:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"../types/PoolId.sol","id":1496,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":4714,"src":"358:43:36","symbolAliases":[{"foreign":{"id":1495,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"366:6:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IExtsload.sol","file":"./IExtsload.sol","id":1498,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":44896,"src":"402:42:36","symbolAliases":[{"foreign":{"id":1497,"name":"IExtsload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44895,"src":"410:9:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IExttload.sol","file":"./IExttload.sol","id":1500,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":44918,"src":"445:42:36","symbolAliases":[{"foreign":{"id":1499,"name":"IExttload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44917,"src":"453:9:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":1503,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1764,"sourceUnit":4773,"src":"488:77:36","symbolAliases":[{"foreign":{"id":1501,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"496:21:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1502,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"519:10:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1505,"name":"IProtocolFees","nameLocations":["635:13:36"],"nodeType":"IdentifierPath","referencedDeclaration":44994,"src":"635:13:36"},"id":1506,"nodeType":"InheritanceSpecifier","src":"635:13:36"},{"baseName":{"id":1507,"name":"IERC6909Claims","nameLocations":["650:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":45108,"src":"650:14:36"},"id":1508,"nodeType":"InheritanceSpecifier","src":"650:14:36"},{"baseName":{"id":1509,"name":"IExtsload","nameLocations":["666:9:36"],"nodeType":"IdentifierPath","referencedDeclaration":44895,"src":"666:9:36"},"id":1510,"nodeType":"InheritanceSpecifier","src":"666:9:36"},{"baseName":{"id":1511,"name":"IExttload","nameLocations":["677:9:36"],"nodeType":"IdentifierPath","referencedDeclaration":44917,"src":"677:9:36"},"id":1512,"nodeType":"InheritanceSpecifier","src":"677:9:36"}],"canonicalName":"IPoolManager","contractDependencies":[],"contractKind":"interface","documentation":{"id":1504,"nodeType":"StructuredDocumentation","src":"567:42:36","text":"@notice Interface for the PoolManager"},"fullyImplemented":false,"id":1763,"linearizedBaseContracts":[1763,44917,44895,45108,44994],"name":"IPoolManager","nameLocation":"619:12:36","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1513,"nodeType":"StructuredDocumentation","src":"693:83:36","text":"@notice Thrown when a currency is not netted out after the contract is unlocked"},"errorSelector":"5212cba1","id":1515,"name":"CurrencyNotSettled","nameLocation":"787:18:36","nodeType":"ErrorDefinition","parameters":{"id":1514,"nodeType":"ParameterList","parameters":[],"src":"805:2:36"},"src":"781:27:36"},{"documentation":{"id":1516,"nodeType":"StructuredDocumentation","src":"814:70:36","text":"@notice Thrown when trying to interact with a non-initialized pool"},"errorSelector":"486aa307","id":1518,"name":"PoolNotInitialized","nameLocation":"895:18:36","nodeType":"ErrorDefinition","parameters":{"id":1517,"nodeType":"ParameterList","parameters":[],"src":"913:2:36"},"src":"889:27:36"},{"documentation":{"id":1519,"nodeType":"StructuredDocumentation","src":"922:78:36","text":"@notice Thrown when unlock is called, but the contract is already unlocked"},"errorSelector":"5090d6c6","id":1521,"name":"AlreadyUnlocked","nameLocation":"1011:15:36","nodeType":"ErrorDefinition","parameters":{"id":1520,"nodeType":"ParameterList","parameters":[],"src":"1026:2:36"},"src":"1005:24:36"},{"documentation":{"id":1522,"nodeType":"StructuredDocumentation","src":"1035:101:36","text":"@notice Thrown when a function is called that requires the contract to be unlocked, but it is not"},"errorSelector":"54e3ca0d","id":1524,"name":"ManagerLocked","nameLocation":"1147:13:36","nodeType":"ErrorDefinition","parameters":{"id":1523,"nodeType":"ParameterList","parameters":[],"src":"1160:2:36"},"src":"1141:22:36"},{"documentation":{"id":1525,"nodeType":"StructuredDocumentation","src":"1169:96:36","text":"@notice Pools are limited to type(int16).max tickSpacing in #initialize, to prevent overflow"},"errorSelector":"b70024f8","id":1529,"name":"TickSpacingTooLarge","nameLocation":"1276:19:36","nodeType":"ErrorDefinition","parameters":{"id":1528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1527,"mutability":"mutable","name":"tickSpacing","nameLocation":"1302:11:36","nodeType":"VariableDeclaration","scope":1529,"src":"1296:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1526,"name":"int24","nodeType":"ElementaryTypeName","src":"1296:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1295:19:36"},"src":"1270:45:36"},{"documentation":{"id":1530,"nodeType":"StructuredDocumentation","src":"1321:81:36","text":"@notice Pools must have a positive non-zero tickSpacing passed to #initialize"},"errorSelector":"e9e90588","id":1534,"name":"TickSpacingTooSmall","nameLocation":"1413:19:36","nodeType":"ErrorDefinition","parameters":{"id":1533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1532,"mutability":"mutable","name":"tickSpacing","nameLocation":"1439:11:36","nodeType":"VariableDeclaration","scope":1534,"src":"1433:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1531,"name":"int24","nodeType":"ElementaryTypeName","src":"1433:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1432:19:36"},"src":"1407:45:36"},{"documentation":{"id":1535,"nodeType":"StructuredDocumentation","src":"1458:86:36","text":"@notice PoolKey must have currencies where address(currency0) < address(currency1)"},"errorSelector":"6e6c9830","id":1541,"name":"CurrenciesOutOfOrderOrEqual","nameLocation":"1555:27:36","nodeType":"ErrorDefinition","parameters":{"id":1540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1537,"mutability":"mutable","name":"currency0","nameLocation":"1591:9:36","nodeType":"VariableDeclaration","scope":1541,"src":"1583:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1536,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1539,"mutability":"mutable","name":"currency1","nameLocation":"1610:9:36","nodeType":"VariableDeclaration","scope":1541,"src":"1602:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1538,"name":"address","nodeType":"ElementaryTypeName","src":"1602:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1582:38:36"},"src":"1549:72:36"},{"documentation":{"id":1542,"nodeType":"StructuredDocumentation","src":"1627:156:36","text":"@notice Thrown when a call to updateDynamicLPFee is made by an address that is not the hook,\n or on a pool that does not have a dynamic swap fee."},"errorSelector":"30d21641","id":1544,"name":"UnauthorizedDynamicLPFeeUpdate","nameLocation":"1794:30:36","nodeType":"ErrorDefinition","parameters":{"id":1543,"nodeType":"ParameterList","parameters":[],"src":"1824:2:36"},"src":"1788:39:36"},{"documentation":{"id":1545,"nodeType":"StructuredDocumentation","src":"1833:50:36","text":"@notice Thrown when trying to swap amount of 0"},"errorSelector":"be8b8507","id":1547,"name":"SwapAmountCannotBeZero","nameLocation":"1894:22:36","nodeType":"ErrorDefinition","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[],"src":"1916:2:36"},"src":"1888:31:36"},{"documentation":{"id":1548,"nodeType":"StructuredDocumentation","src":"1925:75:36","text":"@notice Thrown when native currency is passed to a non native settlement"},"errorSelector":"b0ec849e","id":1550,"name":"NonzeroNativeValue","nameLocation":"2011:18:36","nodeType":"ErrorDefinition","parameters":{"id":1549,"nodeType":"ParameterList","parameters":[],"src":"2029:2:36"},"src":"2005:27:36"},{"documentation":{"id":1551,"nodeType":"StructuredDocumentation","src":"2038:110:36","text":"@notice Thrown when `clear` is called with an amount that is not exactly equal to the open currency delta."},"errorSelector":"bda73abf","id":1553,"name":"MustClearExactPositiveDelta","nameLocation":"2159:27:36","nodeType":"ErrorDefinition","parameters":{"id":1552,"nodeType":"ParameterList","parameters":[],"src":"2186:2:36"},"src":"2153:36:36"},{"anonymous":false,"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"2195:708:36","text":"@notice Emitted when a new pool is initialized\n @param id The abi encoded hash of the pool key struct for the new pool\n @param currency0 The first currency of the pool by address sort order\n @param currency1 The second currency of the pool by address sort order\n @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip\n @param tickSpacing The minimum number of ticks between initialized ticks\n @param hooks The hooks contract address for the pool, or address(0) if none\n @param sqrtPriceX96 The price of the pool on initialization\n @param tick The initial tick of the pool corresponding to the initialized price"},"eventSelector":"dd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438","id":1576,"name":"Initialize","nameLocation":"2914:10:36","nodeType":"EventDefinition","parameters":{"id":1575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1557,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"2949:2:36","nodeType":"VariableDeclaration","scope":1576,"src":"2934:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":1556,"nodeType":"UserDefinedTypeName","pathNode":{"id":1555,"name":"PoolId","nameLocations":["2934:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"2934:6:36"},"referencedDeclaration":4699,"src":"2934:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":1560,"indexed":true,"mutability":"mutable","name":"currency0","nameLocation":"2978:9:36","nodeType":"VariableDeclaration","scope":1576,"src":"2961:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":1559,"nodeType":"UserDefinedTypeName","pathNode":{"id":1558,"name":"Currency","nameLocations":["2961:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2961:8:36"},"referencedDeclaration":4399,"src":"2961:8:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":1563,"indexed":true,"mutability":"mutable","name":"currency1","nameLocation":"3014:9:36","nodeType":"VariableDeclaration","scope":1576,"src":"2997:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":1562,"nodeType":"UserDefinedTypeName","pathNode":{"id":1561,"name":"Currency","nameLocations":["2997:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2997:8:36"},"referencedDeclaration":4399,"src":"2997:8:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":1565,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"3040:3:36","nodeType":"VariableDeclaration","scope":1576,"src":"3033:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1564,"name":"uint24","nodeType":"ElementaryTypeName","src":"3033:6:36","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":1567,"indexed":false,"mutability":"mutable","name":"tickSpacing","nameLocation":"3059:11:36","nodeType":"VariableDeclaration","scope":1576,"src":"3053:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1566,"name":"int24","nodeType":"ElementaryTypeName","src":"3053:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1570,"indexed":false,"mutability":"mutable","name":"hooks","nameLocation":"3087:5:36","nodeType":"VariableDeclaration","scope":1576,"src":"3080:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":1569,"nodeType":"UserDefinedTypeName","pathNode":{"id":1568,"name":"IHooks","nameLocations":["3080:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"3080:6:36"},"referencedDeclaration":1480,"src":"3080:6:36","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":1572,"indexed":false,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"3110:12:36","nodeType":"VariableDeclaration","scope":1576,"src":"3102:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1571,"name":"uint160","nodeType":"ElementaryTypeName","src":"3102:7:36","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":1574,"indexed":false,"mutability":"mutable","name":"tick","nameLocation":"3138:4:36","nodeType":"VariableDeclaration","scope":1576,"src":"3132:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1573,"name":"int24","nodeType":"ElementaryTypeName","src":"3132:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2924:224:36"},"src":"2908:241:36"},{"anonymous":false,"documentation":{"id":1577,"nodeType":"StructuredDocumentation","src":"3155:459:36","text":"@notice Emitted when a liquidity position is modified\n @param id The abi encoded hash of the pool key struct for the pool that was modified\n @param sender The address that modified the pool\n @param tickLower The lower tick of the position\n @param tickUpper The upper tick of the position\n @param liquidityDelta The amount of liquidity that was added or removed\n @param salt The extra data to make positions unique"},"eventSelector":"f208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec","id":1592,"name":"ModifyLiquidity","nameLocation":"3625:15:36","nodeType":"EventDefinition","parameters":{"id":1591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1580,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"3665:2:36","nodeType":"VariableDeclaration","scope":1592,"src":"3650:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":1579,"nodeType":"UserDefinedTypeName","pathNode":{"id":1578,"name":"PoolId","nameLocations":["3650:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"3650:6:36"},"referencedDeclaration":4699,"src":"3650:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":1582,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"3685:6:36","nodeType":"VariableDeclaration","scope":1592,"src":"3669:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1581,"name":"address","nodeType":"ElementaryTypeName","src":"3669:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1584,"indexed":false,"mutability":"mutable","name":"tickLower","nameLocation":"3699:9:36","nodeType":"VariableDeclaration","scope":1592,"src":"3693:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1583,"name":"int24","nodeType":"ElementaryTypeName","src":"3693:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1586,"indexed":false,"mutability":"mutable","name":"tickUpper","nameLocation":"3716:9:36","nodeType":"VariableDeclaration","scope":1592,"src":"3710:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1585,"name":"int24","nodeType":"ElementaryTypeName","src":"3710:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1588,"indexed":false,"mutability":"mutable","name":"liquidityDelta","nameLocation":"3734:14:36","nodeType":"VariableDeclaration","scope":1592,"src":"3727:21:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1587,"name":"int256","nodeType":"ElementaryTypeName","src":"3727:6:36","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1590,"indexed":false,"mutability":"mutable","name":"salt","nameLocation":"3758:4:36","nodeType":"VariableDeclaration","scope":1592,"src":"3750:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3750:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3640:128:36"},"src":"3619:150:36"},{"anonymous":false,"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"3775:674:36","text":"@notice Emitted for swaps between currency0 and currency1\n @param id The abi encoded hash of the pool key struct for the pool that was modified\n @param sender The address that initiated the swap call, and that received the callback\n @param amount0 The delta of the currency0 balance of the pool\n @param amount1 The delta of the currency1 balance of the pool\n @param sqrtPriceX96 The sqrt(price) of the pool after the swap, as a Q64.96\n @param liquidity The liquidity of the pool after the swap\n @param tick The log base 1.0001 of the price of the pool after the swap\n @param fee The swap fee in hundredths of a bip"},"eventSelector":"40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f","id":1612,"name":"Swap","nameLocation":"4460:4:36","nodeType":"EventDefinition","parameters":{"id":1611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1596,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"4489:2:36","nodeType":"VariableDeclaration","scope":1612,"src":"4474:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":1595,"nodeType":"UserDefinedTypeName","pathNode":{"id":1594,"name":"PoolId","nameLocations":["4474:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"4474:6:36"},"referencedDeclaration":4699,"src":"4474:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":1598,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"4517:6:36","nodeType":"VariableDeclaration","scope":1612,"src":"4501:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1597,"name":"address","nodeType":"ElementaryTypeName","src":"4501:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1600,"indexed":false,"mutability":"mutable","name":"amount0","nameLocation":"4540:7:36","nodeType":"VariableDeclaration","scope":1612,"src":"4533:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":1599,"name":"int128","nodeType":"ElementaryTypeName","src":"4533:6:36","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":1602,"indexed":false,"mutability":"mutable","name":"amount1","nameLocation":"4564:7:36","nodeType":"VariableDeclaration","scope":1612,"src":"4557:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":1601,"name":"int128","nodeType":"ElementaryTypeName","src":"4557:6:36","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":1604,"indexed":false,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"4589:12:36","nodeType":"VariableDeclaration","scope":1612,"src":"4581:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1603,"name":"uint160","nodeType":"ElementaryTypeName","src":"4581:7:36","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":1606,"indexed":false,"mutability":"mutable","name":"liquidity","nameLocation":"4619:9:36","nodeType":"VariableDeclaration","scope":1612,"src":"4611:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":1605,"name":"uint128","nodeType":"ElementaryTypeName","src":"4611:7:36","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":1608,"indexed":false,"mutability":"mutable","name":"tick","nameLocation":"4644:4:36","nodeType":"VariableDeclaration","scope":1612,"src":"4638:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1607,"name":"int24","nodeType":"ElementaryTypeName","src":"4638:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1610,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"4665:3:36","nodeType":"VariableDeclaration","scope":1612,"src":"4658:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1609,"name":"uint24","nodeType":"ElementaryTypeName","src":"4658:6:36","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"4464:210:36"},"src":"4454:221:36"},{"anonymous":false,"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"4681:303:36","text":"@notice Emitted for donations\n @param id The abi encoded hash of the pool key struct for the pool that was donated to\n @param sender The address that initiated the donate call\n @param amount0 The amount donated in currency0\n @param amount1 The amount donated in currency1"},"eventSelector":"29ef05caaff9404b7cb6d1c0e9bbae9eaa7ab2541feba1a9c4248594c08156cb","id":1624,"name":"Donate","nameLocation":"4995:6:36","nodeType":"EventDefinition","parameters":{"id":1623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1616,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"5017:2:36","nodeType":"VariableDeclaration","scope":1624,"src":"5002:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":1615,"nodeType":"UserDefinedTypeName","pathNode":{"id":1614,"name":"PoolId","nameLocations":["5002:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"5002:6:36"},"referencedDeclaration":4699,"src":"5002:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":1618,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"5037:6:36","nodeType":"VariableDeclaration","scope":1624,"src":"5021:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1617,"name":"address","nodeType":"ElementaryTypeName","src":"5021:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1620,"indexed":false,"mutability":"mutable","name":"amount0","nameLocation":"5053:7:36","nodeType":"VariableDeclaration","scope":1624,"src":"5045:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1619,"name":"uint256","nodeType":"ElementaryTypeName","src":"5045:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1622,"indexed":false,"mutability":"mutable","name":"amount1","nameLocation":"5070:7:36","nodeType":"VariableDeclaration","scope":1624,"src":"5062:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1621,"name":"uint256","nodeType":"ElementaryTypeName","src":"5062:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5001:77:36"},"src":"4989:90:36"},{"documentation":{"id":1625,"nodeType":"StructuredDocumentation","src":"5085:567:36","text":"@notice All interactions on the contract that account deltas require unlocking. A caller that calls `unlock` must implement\n `IUnlockCallback(msg.sender).unlockCallback(data)`, where they interact with the remaining functions on this contract.\n @dev The only functions callable without an unlocking are `initialize` and `updateDynamicLPFee`\n @param data Any data to pass to the callback, via `IUnlockCallback(msg.sender).unlockCallback(data)`\n @return The data returned by the call to `IUnlockCallback(msg.sender).unlockCallback(data)`"},"functionSelector":"48c89491","id":1632,"implemented":false,"kind":"function","modifiers":[],"name":"unlock","nameLocation":"5666:6:36","nodeType":"FunctionDefinition","parameters":{"id":1628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1627,"mutability":"mutable","name":"data","nameLocation":"5688:4:36","nodeType":"VariableDeclaration","scope":1632,"src":"5673:19:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1626,"name":"bytes","nodeType":"ElementaryTypeName","src":"5673:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5672:21:36"},"returnParameters":{"id":1631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1630,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1632,"src":"5712:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1629,"name":"bytes","nodeType":"ElementaryTypeName","src":"5712:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5711:14:36"},"scope":1763,"src":"5657:69:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1633,"nodeType":"StructuredDocumentation","src":"5732:356:36","text":"@notice Initialize the state for a given pool ID\n @dev A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee\n @param key The pool key for the pool to initialize\n @param sqrtPriceX96 The initial square root price\n @return tick The initial tick of the pool"},"functionSelector":"6276cbbe","id":1643,"implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"6102:10:36","nodeType":"FunctionDefinition","parameters":{"id":1639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1636,"mutability":"mutable","name":"key","nameLocation":"6128:3:36","nodeType":"VariableDeclaration","scope":1643,"src":"6113:18:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":1635,"nodeType":"UserDefinedTypeName","pathNode":{"id":1634,"name":"PoolKey","nameLocations":["6113:7:36"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"6113:7:36"},"referencedDeclaration":4745,"src":"6113:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1638,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"6141:12:36","nodeType":"VariableDeclaration","scope":1643,"src":"6133:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1637,"name":"uint160","nodeType":"ElementaryTypeName","src":"6133:7:36","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"6112:42:36"},"returnParameters":{"id":1642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1641,"mutability":"mutable","name":"tick","nameLocation":"6179:4:36","nodeType":"VariableDeclaration","scope":1643,"src":"6173:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1640,"name":"int24","nodeType":"ElementaryTypeName","src":"6173:5:36","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"6172:12:36"},"scope":1763,"src":"6093:92:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1644,"nodeType":"StructuredDocumentation","src":"6191:985:36","text":"@notice Modify the liquidity for the given pool\n @dev Poke by calling with a zero liquidityDelta\n @param key The pool to modify liquidity in\n @param params The parameters for modifying the liquidity\n @param hookData The data to pass through to the add/removeLiquidity hooks\n @return callerDelta The balance delta of the caller of modifyLiquidity. This is the total of both principal, fee deltas, and hook deltas if applicable\n @return feesAccrued The balance delta of the fees generated in the liquidity range. Returned for informational purposes\n @dev Note that feesAccrued can be artificially inflated by a malicious actor and integrators should be careful using the value\n For pools with a single liquidity position, actors can donate to themselves to inflate feeGrowthGlobal (and consequently feesAccrued)\n atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme"},"functionSelector":"5a6bcfda","id":1661,"implemented":false,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"7190:15:36","nodeType":"FunctionDefinition","parameters":{"id":1653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1647,"mutability":"mutable","name":"key","nameLocation":"7221:3:36","nodeType":"VariableDeclaration","scope":1661,"src":"7206:18:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":1646,"nodeType":"UserDefinedTypeName","pathNode":{"id":1645,"name":"PoolKey","nameLocations":["7206:7:36"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7206:7:36"},"referencedDeclaration":4745,"src":"7206:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1650,"mutability":"mutable","name":"params","nameLocation":"7255:6:36","nodeType":"VariableDeclaration","scope":1661,"src":"7226:35:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":1649,"nodeType":"UserDefinedTypeName","pathNode":{"id":1648,"name":"ModifyLiquidityParams","nameLocations":["7226:21:36"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"7226:21:36"},"referencedDeclaration":4761,"src":"7226:21:36","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":1652,"mutability":"mutable","name":"hookData","nameLocation":"7278:8:36","nodeType":"VariableDeclaration","scope":1661,"src":"7263:23:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1651,"name":"bytes","nodeType":"ElementaryTypeName","src":"7263:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7205:82:36"},"returnParameters":{"id":1660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1656,"mutability":"mutable","name":"callerDelta","nameLocation":"7335:11:36","nodeType":"VariableDeclaration","scope":1661,"src":"7322:24:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1655,"nodeType":"UserDefinedTypeName","pathNode":{"id":1654,"name":"BalanceDelta","nameLocations":["7322:12:36"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7322:12:36"},"referencedDeclaration":4233,"src":"7322:12:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":1659,"mutability":"mutable","name":"feesAccrued","nameLocation":"7361:11:36","nodeType":"VariableDeclaration","scope":1661,"src":"7348:24:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1658,"nodeType":"UserDefinedTypeName","pathNode":{"id":1657,"name":"BalanceDelta","nameLocations":["7348:12:36"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7348:12:36"},"referencedDeclaration":4233,"src":"7348:12:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"7321:52:36"},"scope":1763,"src":"7181:193:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1662,"nodeType":"StructuredDocumentation","src":"7380:643:36","text":"@notice Swap against the given pool\n @param key The pool to swap in\n @param params The parameters for swapping\n @param hookData The data to pass through to the swap hooks\n @return swapDelta The balance delta of the address swapping\n @dev Swapping on low liquidity pools may cause unexpected swap amounts when liquidity available is less than amountSpecified.\n Additionally note that if interacting with hooks that have the BEFORE_SWAP_RETURNS_DELTA_FLAG or AFTER_SWAP_RETURNS_DELTA_FLAG\n the hook may alter the swap input/output. Integrators should perform checks on the returned swapDelta."},"functionSelector":"f3cd914c","id":1676,"implemented":false,"kind":"function","modifiers":[],"name":"swap","nameLocation":"8037:4:36","nodeType":"FunctionDefinition","parameters":{"id":1671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1665,"mutability":"mutable","name":"key","nameLocation":"8057:3:36","nodeType":"VariableDeclaration","scope":1676,"src":"8042:18:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":1664,"nodeType":"UserDefinedTypeName","pathNode":{"id":1663,"name":"PoolKey","nameLocations":["8042:7:36"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"8042:7:36"},"referencedDeclaration":4745,"src":"8042:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1668,"mutability":"mutable","name":"params","nameLocation":"8080:6:36","nodeType":"VariableDeclaration","scope":1676,"src":"8062:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":1667,"nodeType":"UserDefinedTypeName","pathNode":{"id":1666,"name":"SwapParams","nameLocations":["8062:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"8062:10:36"},"referencedDeclaration":4772,"src":"8062:10:36","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":1670,"mutability":"mutable","name":"hookData","nameLocation":"8103:8:36","nodeType":"VariableDeclaration","scope":1676,"src":"8088:23:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1669,"name":"bytes","nodeType":"ElementaryTypeName","src":"8088:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8041:71:36"},"returnParameters":{"id":1675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1674,"mutability":"mutable","name":"swapDelta","nameLocation":"8160:9:36","nodeType":"VariableDeclaration","scope":1676,"src":"8147:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1673,"nodeType":"UserDefinedTypeName","pathNode":{"id":1672,"name":"BalanceDelta","nameLocations":["8147:12:36"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"8147:12:36"},"referencedDeclaration":4233,"src":"8147:12:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"8146:24:36"},"scope":1763,"src":"8028:143:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1677,"nodeType":"StructuredDocumentation","src":"8177:1052:36","text":"@notice Donate the given currency amounts to the in-range liquidity providers of a pool\n @dev Calls to donate can be frontrun adding just-in-time liquidity, with the aim of receiving a portion donated funds.\n Donors should keep this in mind when designing donation mechanisms.\n @dev This function donates to in-range LPs at slot0.tick. In certain edge-cases of the swap algorithm, the `sqrtPrice` of\n a pool can be at the lower boundary of tick `n`, but the `slot0.tick` of the pool is already `n - 1`. In this case a call to\n `donate` would donate to tick `n - 1` (slot0.tick) not tick `n` (getTickAtSqrtPrice(slot0.sqrtPriceX96)).\n Read the comments in `Pool.swap()` for more information about this.\n @param key The key of the pool to donate to\n @param amount0 The amount of currency0 to donate\n @param amount1 The amount of currency1 to donate\n @param hookData The data to pass through to the donate hooks\n @return BalanceDelta The delta of the caller after the donate"},"functionSelector":"234266d7","id":1692,"implemented":false,"kind":"function","modifiers":[],"name":"donate","nameLocation":"9243:6:36","nodeType":"FunctionDefinition","parameters":{"id":1687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1680,"mutability":"mutable","name":"key","nameLocation":"9265:3:36","nodeType":"VariableDeclaration","scope":1692,"src":"9250:18:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":1679,"nodeType":"UserDefinedTypeName","pathNode":{"id":1678,"name":"PoolKey","nameLocations":["9250:7:36"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"9250:7:36"},"referencedDeclaration":4745,"src":"9250:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1682,"mutability":"mutable","name":"amount0","nameLocation":"9278:7:36","nodeType":"VariableDeclaration","scope":1692,"src":"9270:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1681,"name":"uint256","nodeType":"ElementaryTypeName","src":"9270:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1684,"mutability":"mutable","name":"amount1","nameLocation":"9295:7:36","nodeType":"VariableDeclaration","scope":1692,"src":"9287:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1683,"name":"uint256","nodeType":"ElementaryTypeName","src":"9287:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1686,"mutability":"mutable","name":"hookData","nameLocation":"9319:8:36","nodeType":"VariableDeclaration","scope":1692,"src":"9304:23:36","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1685,"name":"bytes","nodeType":"ElementaryTypeName","src":"9304:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9249:79:36"},"returnParameters":{"id":1691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1692,"src":"9363:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":1689,"nodeType":"UserDefinedTypeName","pathNode":{"id":1688,"name":"BalanceDelta","nameLocations":["9363:12:36"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"9363:12:36"},"referencedDeclaration":4233,"src":"9363:12:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"9362:14:36"},"scope":1763,"src":"9234:143:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1693,"nodeType":"StructuredDocumentation","src":"9383:605:36","text":"@notice Writes the current ERC20 balance of the specified currency to transient storage\n This is used to checkpoint balances for the manager and derive deltas for the caller.\n @dev This MUST be called before any ERC20 tokens are sent into the contract, but can be skipped\n for native tokens because the amount to settle is determined by the sent value.\n However, if an ERC20 token has been synced and not settled, and the caller instead wants to settle\n native funds, this function can be called with the native currency to then be able to settle the native currency"},"functionSelector":"a5841194","id":1699,"implemented":false,"kind":"function","modifiers":[],"name":"sync","nameLocation":"10002:4:36","nodeType":"FunctionDefinition","parameters":{"id":1697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1696,"mutability":"mutable","name":"currency","nameLocation":"10016:8:36","nodeType":"VariableDeclaration","scope":1699,"src":"10007:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":1695,"nodeType":"UserDefinedTypeName","pathNode":{"id":1694,"name":"Currency","nameLocations":["10007:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"10007:8:36"},"referencedDeclaration":4399,"src":"10007:8:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"10006:19:36"},"returnParameters":{"id":1698,"nodeType":"ParameterList","parameters":[],"src":"10034:0:36"},"scope":1763,"src":"9993:42:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1700,"nodeType":"StructuredDocumentation","src":"10041:405:36","text":"@notice Called by the user to net out some value owed to the user\n @dev Will revert if the requested amount is not available, consider using `mint` instead\n @dev Can also be used as a mechanism for free flash loans\n @param currency The currency to withdraw from the pool manager\n @param to The address to withdraw to\n @param amount The amount of currency to withdraw"},"functionSelector":"0b0d9c09","id":1710,"implemented":false,"kind":"function","modifiers":[],"name":"take","nameLocation":"10460:4:36","nodeType":"FunctionDefinition","parameters":{"id":1708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1703,"mutability":"mutable","name":"currency","nameLocation":"10474:8:36","nodeType":"VariableDeclaration","scope":1710,"src":"10465:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":1702,"nodeType":"UserDefinedTypeName","pathNode":{"id":1701,"name":"Currency","nameLocations":["10465:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"10465:8:36"},"referencedDeclaration":4399,"src":"10465:8:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":1705,"mutability":"mutable","name":"to","nameLocation":"10492:2:36","nodeType":"VariableDeclaration","scope":1710,"src":"10484:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1704,"name":"address","nodeType":"ElementaryTypeName","src":"10484:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1707,"mutability":"mutable","name":"amount","nameLocation":"10504:6:36","nodeType":"VariableDeclaration","scope":1710,"src":"10496:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10496:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10464:47:36"},"returnParameters":{"id":1709,"nodeType":"ParameterList","parameters":[],"src":"10520:0:36"},"scope":1763,"src":"10451:70:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1711,"nodeType":"StructuredDocumentation","src":"10527:102:36","text":"@notice Called by the user to pay what is owed\n @return paid The amount of currency settled"},"functionSelector":"11da60b4","id":1716,"implemented":false,"kind":"function","modifiers":[],"name":"settle","nameLocation":"10643:6:36","nodeType":"FunctionDefinition","parameters":{"id":1712,"nodeType":"ParameterList","parameters":[],"src":"10649:2:36"},"returnParameters":{"id":1715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1714,"mutability":"mutable","name":"paid","nameLocation":"10686:4:36","nodeType":"VariableDeclaration","scope":1716,"src":"10678:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1713,"name":"uint256","nodeType":"ElementaryTypeName","src":"10678:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10677:14:36"},"scope":1763,"src":"10634:58:36","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":1717,"nodeType":"StructuredDocumentation","src":"10698:181:36","text":"@notice Called by the user to pay on behalf of another address\n @param recipient The address to credit for the payment\n @return paid The amount of currency settled"},"functionSelector":"3dd45adb","id":1724,"implemented":false,"kind":"function","modifiers":[],"name":"settleFor","nameLocation":"10893:9:36","nodeType":"FunctionDefinition","parameters":{"id":1720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1719,"mutability":"mutable","name":"recipient","nameLocation":"10911:9:36","nodeType":"VariableDeclaration","scope":1724,"src":"10903:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1718,"name":"address","nodeType":"ElementaryTypeName","src":"10903:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10902:19:36"},"returnParameters":{"id":1723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1722,"mutability":"mutable","name":"paid","nameLocation":"10956:4:36","nodeType":"VariableDeclaration","scope":1724,"src":"10948:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1721,"name":"uint256","nodeType":"ElementaryTypeName","src":"10948:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10947:14:36"},"scope":1763,"src":"10884:78:36","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":1725,"nodeType":"StructuredDocumentation","src":"10968:425:36","text":"@notice WARNING - Any currency that is cleared, will be non-retrievable, and locked in the contract permanently.\n A call to clear will zero out a positive balance WITHOUT a corresponding transfer.\n @dev This could be used to clear a balance that is considered dust.\n Additionally, the amount must be the exact positive balance. This is to enforce that the caller is aware of the amount being cleared."},"functionSelector":"80f0b44c","id":1733,"implemented":false,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11407:5:36","nodeType":"FunctionDefinition","parameters":{"id":1731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1728,"mutability":"mutable","name":"currency","nameLocation":"11422:8:36","nodeType":"VariableDeclaration","scope":1733,"src":"11413:17:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":1727,"nodeType":"UserDefinedTypeName","pathNode":{"id":1726,"name":"Currency","nameLocations":["11413:8:36"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"11413:8:36"},"referencedDeclaration":4399,"src":"11413:8:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":1730,"mutability":"mutable","name":"amount","nameLocation":"11440:6:36","nodeType":"VariableDeclaration","scope":1733,"src":"11432:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1729,"name":"uint256","nodeType":"ElementaryTypeName","src":"11432:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11412:35:36"},"returnParameters":{"id":1732,"nodeType":"ParameterList","parameters":[],"src":"11456:0:36"},"scope":1763,"src":"11398:59:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1734,"nodeType":"StructuredDocumentation","src":"11463:388:36","text":"@notice Called by the user to move value into ERC6909 balance\n @param to The address to mint the tokens to\n @param id The currency address to mint to ERC6909s, as a uint256\n @param amount The amount of currency to mint\n @dev The id is converted to a uint160 to correspond to a currency address\n If the upper 12 bytes are not 0, they will be 0-ed out"},"functionSelector":"156e29f6","id":1743,"implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"11865:4:36","nodeType":"FunctionDefinition","parameters":{"id":1741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1736,"mutability":"mutable","name":"to","nameLocation":"11878:2:36","nodeType":"VariableDeclaration","scope":1743,"src":"11870:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1735,"name":"address","nodeType":"ElementaryTypeName","src":"11870:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1738,"mutability":"mutable","name":"id","nameLocation":"11890:2:36","nodeType":"VariableDeclaration","scope":1743,"src":"11882:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1737,"name":"uint256","nodeType":"ElementaryTypeName","src":"11882:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1740,"mutability":"mutable","name":"amount","nameLocation":"11902:6:36","nodeType":"VariableDeclaration","scope":1743,"src":"11894:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1739,"name":"uint256","nodeType":"ElementaryTypeName","src":"11894:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11869:40:36"},"returnParameters":{"id":1742,"nodeType":"ParameterList","parameters":[],"src":"11918:0:36"},"scope":1763,"src":"11856:63:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1744,"nodeType":"StructuredDocumentation","src":"11925:394:36","text":"@notice Called by the user to move value from ERC6909 balance\n @param from The address to burn the tokens from\n @param id The currency address to burn from ERC6909s, as a uint256\n @param amount The amount of currency to burn\n @dev The id is converted to a uint160 to correspond to a currency address\n If the upper 12 bytes are not 0, they will be 0-ed out"},"functionSelector":"f5298aca","id":1753,"implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"12333:4:36","nodeType":"FunctionDefinition","parameters":{"id":1751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1746,"mutability":"mutable","name":"from","nameLocation":"12346:4:36","nodeType":"VariableDeclaration","scope":1753,"src":"12338:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1745,"name":"address","nodeType":"ElementaryTypeName","src":"12338:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1748,"mutability":"mutable","name":"id","nameLocation":"12360:2:36","nodeType":"VariableDeclaration","scope":1753,"src":"12352:10:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1747,"name":"uint256","nodeType":"ElementaryTypeName","src":"12352:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1750,"mutability":"mutable","name":"amount","nameLocation":"12372:6:36","nodeType":"VariableDeclaration","scope":1753,"src":"12364:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1749,"name":"uint256","nodeType":"ElementaryTypeName","src":"12364:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12337:42:36"},"returnParameters":{"id":1752,"nodeType":"ParameterList","parameters":[],"src":"12388:0:36"},"scope":1763,"src":"12324:65:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1754,"nodeType":"StructuredDocumentation","src":"12395:351:36","text":"@notice Updates the pools lp fees for the a pool that has enabled dynamic lp fees.\n @dev A swap fee totaling MAX_SWAP_FEE (100%) makes exact output swaps impossible since the input is entirely consumed by the fee\n @param key The key of the pool to update dynamic LP fees for\n @param newDynamicLPFee The new dynamic pool LP fee"},"functionSelector":"52759651","id":1762,"implemented":false,"kind":"function","modifiers":[],"name":"updateDynamicLPFee","nameLocation":"12760:18:36","nodeType":"FunctionDefinition","parameters":{"id":1760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1757,"mutability":"mutable","name":"key","nameLocation":"12794:3:36","nodeType":"VariableDeclaration","scope":1762,"src":"12779:18:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":1756,"nodeType":"UserDefinedTypeName","pathNode":{"id":1755,"name":"PoolKey","nameLocations":["12779:7:36"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"12779:7:36"},"referencedDeclaration":4745,"src":"12779:7:36","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":1759,"mutability":"mutable","name":"newDynamicLPFee","nameLocation":"12806:15:36","nodeType":"VariableDeclaration","scope":1762,"src":"12799:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1758,"name":"uint24","nodeType":"ElementaryTypeName","src":"12799:6:36","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"12778:44:36"},"returnParameters":{"id":1761,"nodeType":"ParameterList","parameters":[],"src":"12831:0:36"},"scope":1763,"src":"12751:81:36","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1764,"src":"609:12225:36","usedErrors":[1515,1518,1521,1524,1529,1534,1541,1544,1547,1550,1553,44931,44934,44937],"usedEvents":[1576,1592,1612,1624,44942,44950,45005,45015,45027]}],"src":"32:12803:36"},"id":36},"v4-core/src/interfaces/IProtocolFees.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/IProtocolFees.sol","exportedSymbols":{"Currency":[4399],"IProtocolFees":[44994],"PoolId":[4699],"PoolKey":[4745]},"id":44995,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44919,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:37"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":44921,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44995,"sourceUnit":4694,"src":"57:47:37","symbolAliases":[{"foreign":{"id":44920,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"65:8:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"../types/PoolId.sol","id":44923,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44995,"sourceUnit":4714,"src":"105:43:37","symbolAliases":[{"foreign":{"id":44922,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"113:6:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":44925,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":44995,"sourceUnit":4746,"src":"149:45:37","symbolAliases":[{"foreign":{"id":44924,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"157:7:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"IProtocolFees","contractDependencies":[],"contractKind":"interface","documentation":{"id":44926,"nodeType":"StructuredDocumentation","src":"196:81:37","text":"@notice Interface for all protocol-fee related functions in the pool manager"},"fullyImplemented":false,"id":44994,"linearizedBaseContracts":[44994],"name":"IProtocolFees","nameLocation":"287:13:37","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":44927,"nodeType":"StructuredDocumentation","src":"307:52:37","text":"@notice Thrown when protocol fee is set too high"},"errorSelector":"a7abe2f7","id":44931,"name":"ProtocolFeeTooLarge","nameLocation":"370:19:37","nodeType":"ErrorDefinition","parameters":{"id":44930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44929,"mutability":"mutable","name":"fee","nameLocation":"397:3:37","nodeType":"VariableDeclaration","scope":44931,"src":"390:10:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":44928,"name":"uint24","nodeType":"ElementaryTypeName","src":"390:6:37","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"389:12:37"},"src":"364:38:37"},{"documentation":{"id":44932,"nodeType":"StructuredDocumentation","src":"408:94:37","text":"@notice Thrown when collectProtocolFees or setProtocolFee is not called by the controller."},"errorSelector":"48f5c3ed","id":44934,"name":"InvalidCaller","nameLocation":"513:13:37","nodeType":"ErrorDefinition","parameters":{"id":44933,"nodeType":"ParameterList","parameters":[],"src":"526:2:37"},"src":"507:22:37"},{"documentation":{"id":44935,"nodeType":"StructuredDocumentation","src":"535:83:37","text":"@notice Thrown when collectProtocolFees is attempted on a token that is synced."},"errorSelector":"c79e5948","id":44937,"name":"ProtocolFeeCurrencySynced","nameLocation":"629:25:37","nodeType":"ErrorDefinition","parameters":{"id":44936,"nodeType":"ParameterList","parameters":[],"src":"654:2:37"},"src":"623:34:37"},{"anonymous":false,"documentation":{"id":44938,"nodeType":"StructuredDocumentation","src":"663:100:37","text":"@notice Emitted when the protocol fee controller address is updated in setProtocolFeeController."},"eventSelector":"b4bd8ef53df690b9943d3318996006dbb82a25f54719d8c8035b516a2a5b8acc","id":44942,"name":"ProtocolFeeControllerUpdated","nameLocation":"774:28:37","nodeType":"EventDefinition","parameters":{"id":44941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44940,"indexed":true,"mutability":"mutable","name":"protocolFeeController","nameLocation":"819:21:37","nodeType":"VariableDeclaration","scope":44942,"src":"803:37:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44939,"name":"address","nodeType":"ElementaryTypeName","src":"803:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"802:39:37"},"src":"768:74:37"},{"anonymous":false,"documentation":{"id":44943,"nodeType":"StructuredDocumentation","src":"848:64:37","text":"@notice Emitted when the protocol fee is updated for a pool."},"eventSelector":"e9c42593e71f84403b84352cd168d693e2c9fcd1fdbcc3feb21d92b43e6696f9","id":44950,"name":"ProtocolFeeUpdated","nameLocation":"923:18:37","nodeType":"EventDefinition","parameters":{"id":44949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44946,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"957:2:37","nodeType":"VariableDeclaration","scope":44950,"src":"942:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":44945,"nodeType":"UserDefinedTypeName","pathNode":{"id":44944,"name":"PoolId","nameLocations":["942:6:37"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"942:6:37"},"referencedDeclaration":4699,"src":"942:6:37","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":44948,"indexed":false,"mutability":"mutable","name":"protocolFee","nameLocation":"968:11:37","nodeType":"VariableDeclaration","scope":44950,"src":"961:18:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":44947,"name":"uint24","nodeType":"ElementaryTypeName","src":"961:6:37","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"941:39:37"},"src":"917:64:37"},{"documentation":{"id":44951,"nodeType":"StructuredDocumentation","src":"987:209:37","text":"@notice Given a currency address, returns the protocol fees accrued in that currency\n @param currency The currency to check\n @return amount The amount of protocol fees accrued in the currency"},"functionSelector":"97e8cd4e","id":44959,"implemented":false,"kind":"function","modifiers":[],"name":"protocolFeesAccrued","nameLocation":"1210:19:37","nodeType":"FunctionDefinition","parameters":{"id":44955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44954,"mutability":"mutable","name":"currency","nameLocation":"1239:8:37","nodeType":"VariableDeclaration","scope":44959,"src":"1230:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":44953,"nodeType":"UserDefinedTypeName","pathNode":{"id":44952,"name":"Currency","nameLocations":["1230:8:37"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1230:8:37"},"referencedDeclaration":4399,"src":"1230:8:37","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"1229:19:37"},"returnParameters":{"id":44958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44957,"mutability":"mutable","name":"amount","nameLocation":"1280:6:37","nodeType":"VariableDeclaration","scope":44959,"src":"1272:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44956,"name":"uint256","nodeType":"ElementaryTypeName","src":"1272:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1271:16:37"},"scope":44994,"src":"1201:87:37","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":44960,"nodeType":"StructuredDocumentation","src":"1294:162:37","text":"@notice Sets the protocol fee for the given pool\n @param key The key of the pool to set a protocol fee for\n @param newProtocolFee The fee to set"},"functionSelector":"7e87ce7d","id":44968,"implemented":false,"kind":"function","modifiers":[],"name":"setProtocolFee","nameLocation":"1470:14:37","nodeType":"FunctionDefinition","parameters":{"id":44966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44963,"mutability":"mutable","name":"key","nameLocation":"1500:3:37","nodeType":"VariableDeclaration","scope":44968,"src":"1485:18:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":44962,"nodeType":"UserDefinedTypeName","pathNode":{"id":44961,"name":"PoolKey","nameLocations":["1485:7:37"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1485:7:37"},"referencedDeclaration":4745,"src":"1485:7:37","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":44965,"mutability":"mutable","name":"newProtocolFee","nameLocation":"1512:14:37","nodeType":"VariableDeclaration","scope":44968,"src":"1505:21:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":44964,"name":"uint24","nodeType":"ElementaryTypeName","src":"1505:6:37","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1484:43:37"},"returnParameters":{"id":44967,"nodeType":"ParameterList","parameters":[],"src":"1536:0:37"},"scope":44994,"src":"1461:76:37","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":44969,"nodeType":"StructuredDocumentation","src":"1543:102:37","text":"@notice Sets the protocol fee controller\n @param controller The new protocol fee controller"},"functionSelector":"2d771389","id":44974,"implemented":false,"kind":"function","modifiers":[],"name":"setProtocolFeeController","nameLocation":"1659:24:37","nodeType":"FunctionDefinition","parameters":{"id":44972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44971,"mutability":"mutable","name":"controller","nameLocation":"1692:10:37","nodeType":"VariableDeclaration","scope":44974,"src":"1684:18:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44970,"name":"address","nodeType":"ElementaryTypeName","src":"1684:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1683:20:37"},"returnParameters":{"id":44973,"nodeType":"ParameterList","parameters":[],"src":"1712:0:37"},"scope":44994,"src":"1650:63:37","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":44975,"nodeType":"StructuredDocumentation","src":"1719:413:37","text":"@notice Collects the protocol fees for a given recipient and currency, returning the amount collected\n @dev This will revert if the contract is unlocked\n @param recipient The address to receive the protocol fees\n @param currency The currency to withdraw\n @param amount The amount of currency to withdraw\n @return amountCollected The amount of currency successfully withdrawn"},"functionSelector":"8161b874","id":44987,"implemented":false,"kind":"function","modifiers":[],"name":"collectProtocolFees","nameLocation":"2146:19:37","nodeType":"FunctionDefinition","parameters":{"id":44983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44977,"mutability":"mutable","name":"recipient","nameLocation":"2174:9:37","nodeType":"VariableDeclaration","scope":44987,"src":"2166:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44976,"name":"address","nodeType":"ElementaryTypeName","src":"2166:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44980,"mutability":"mutable","name":"currency","nameLocation":"2194:8:37","nodeType":"VariableDeclaration","scope":44987,"src":"2185:17:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":44979,"nodeType":"UserDefinedTypeName","pathNode":{"id":44978,"name":"Currency","nameLocations":["2185:8:37"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2185:8:37"},"referencedDeclaration":4399,"src":"2185:8:37","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":44982,"mutability":"mutable","name":"amount","nameLocation":"2212:6:37","nodeType":"VariableDeclaration","scope":44987,"src":"2204:14:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44981,"name":"uint256","nodeType":"ElementaryTypeName","src":"2204:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2165:54:37"},"returnParameters":{"id":44986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44985,"mutability":"mutable","name":"amountCollected","nameLocation":"2262:15:37","nodeType":"VariableDeclaration","scope":44987,"src":"2254:23:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44984,"name":"uint256","nodeType":"ElementaryTypeName","src":"2254:7:37","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2253:25:37"},"scope":44994,"src":"2137:142:37","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":44988,"nodeType":"StructuredDocumentation","src":"2285:131:37","text":"@notice Returns the current protocol fee controller address\n @return address The current protocol fee controller address"},"functionSelector":"f02de3b2","id":44993,"implemented":false,"kind":"function","modifiers":[],"name":"protocolFeeController","nameLocation":"2430:21:37","nodeType":"FunctionDefinition","parameters":{"id":44989,"nodeType":"ParameterList","parameters":[],"src":"2451:2:37"},"returnParameters":{"id":44992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44993,"src":"2477:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44990,"name":"address","nodeType":"ElementaryTypeName","src":"2477:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2476:9:37"},"scope":44994,"src":"2421:65:37","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":44995,"src":"277:2211:37","usedErrors":[44931,44934,44937],"usedEvents":[44942,44950]}],"src":"32:2457:37"},"id":37},"v4-core/src/interfaces/callback/IUnlockCallback.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/callback/IUnlockCallback.sol","exportedSymbols":{"IUnlockCallback":[56802]},"id":56803,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56792,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:38"},{"abstract":false,"baseContracts":[],"canonicalName":"IUnlockCallback","contractDependencies":[],"contractKind":"interface","documentation":{"id":56793,"nodeType":"StructuredDocumentation","src":"57:89:38","text":"@notice Interface for the callback executed when an address unlocks the pool manager"},"fullyImplemented":false,"id":56802,"linearizedBaseContracts":[56802],"name":"IUnlockCallback","nameLocation":"156:15:38","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":56794,"nodeType":"StructuredDocumentation","src":"178:225:38","text":"@notice Called by the pool manager on `msg.sender` when the manager is unlocked\n @param data The data that was passed to the call to unlock\n @return Any data that you want to be returned from the unlock call"},"functionSelector":"91dd7346","id":56801,"implemented":false,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"417:14:38","nodeType":"FunctionDefinition","parameters":{"id":56797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56796,"mutability":"mutable","name":"data","nameLocation":"447:4:38","nodeType":"VariableDeclaration","scope":56801,"src":"432:19:38","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":56795,"name":"bytes","nodeType":"ElementaryTypeName","src":"432:5:38","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"431:21:38"},"returnParameters":{"id":56800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56801,"src":"471:12:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56798,"name":"bytes","nodeType":"ElementaryTypeName","src":"471:5:38","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"470:14:38"},"scope":56802,"src":"408:77:38","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":56803,"src":"146:341:38","usedErrors":[],"usedEvents":[]}],"src":"32:456:38"},"id":38},"v4-core/src/interfaces/external/IERC20Minimal.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/external/IERC20Minimal.sol","exportedSymbols":{"IERC20Minimal":[49247]},"id":49248,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":49177,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:39"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Minimal","contractDependencies":[],"contractKind":"interface","documentation":{"id":49178,"nodeType":"StructuredDocumentation","src":"57:132:39","text":"@title Minimal ERC20 interface for Uniswap\n @notice Contains a subset of the full ERC20 interface that is used in Uniswap V3"},"fullyImplemented":false,"id":49247,"linearizedBaseContracts":[49247],"name":"IERC20Minimal","nameLocation":"199:13:39","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":49179,"nodeType":"StructuredDocumentation","src":"219:212:39","text":"@notice Returns an account's balance in the token\n @param account The account for which to look up the number of tokens it has, i.e. its balance\n @return The number of tokens held by the account"},"functionSelector":"70a08231","id":49186,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"445:9:39","nodeType":"FunctionDefinition","parameters":{"id":49182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49181,"mutability":"mutable","name":"account","nameLocation":"463:7:39","nodeType":"VariableDeclaration","scope":49186,"src":"455:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49180,"name":"address","nodeType":"ElementaryTypeName","src":"455:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"454:17:39"},"returnParameters":{"id":49185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49186,"src":"495:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49183,"name":"uint256","nodeType":"ElementaryTypeName","src":"495:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:9:39"},"scope":49247,"src":"436:68:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":49187,"nodeType":"StructuredDocumentation","src":"510:333:39","text":"@notice Transfers the amount of token from the `msg.sender` to the recipient\n @param recipient The account that will receive the amount transferred\n @param amount The number of tokens to send from the sender to the recipient\n @return Returns true for a successful transfer, false for an unsuccessful transfer"},"functionSelector":"a9059cbb","id":49196,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"857:8:39","nodeType":"FunctionDefinition","parameters":{"id":49192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49189,"mutability":"mutable","name":"recipient","nameLocation":"874:9:39","nodeType":"VariableDeclaration","scope":49196,"src":"866:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49188,"name":"address","nodeType":"ElementaryTypeName","src":"866:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49191,"mutability":"mutable","name":"amount","nameLocation":"893:6:39","nodeType":"VariableDeclaration","scope":49196,"src":"885:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49190,"name":"uint256","nodeType":"ElementaryTypeName","src":"885:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"865:35:39"},"returnParameters":{"id":49195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49196,"src":"919:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49193,"name":"bool","nodeType":"ElementaryTypeName","src":"919:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"918:6:39"},"scope":49247,"src":"848:77:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":49197,"nodeType":"StructuredDocumentation","src":"931:250:39","text":"@notice Returns the current allowance given to a spender by an owner\n @param owner The account of the token owner\n @param spender The account of the token spender\n @return The current allowance granted by `owner` to `spender`"},"functionSelector":"dd62ed3e","id":49206,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1195:9:39","nodeType":"FunctionDefinition","parameters":{"id":49202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49199,"mutability":"mutable","name":"owner","nameLocation":"1213:5:39","nodeType":"VariableDeclaration","scope":49206,"src":"1205:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49198,"name":"address","nodeType":"ElementaryTypeName","src":"1205:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49201,"mutability":"mutable","name":"spender","nameLocation":"1228:7:39","nodeType":"VariableDeclaration","scope":49206,"src":"1220:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49200,"name":"address","nodeType":"ElementaryTypeName","src":"1220:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1204:32:39"},"returnParameters":{"id":49205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49206,"src":"1260:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49203,"name":"uint256","nodeType":"ElementaryTypeName","src":"1260:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1259:9:39"},"scope":49247,"src":"1186:83:39","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":49207,"nodeType":"StructuredDocumentation","src":"1275:343:39","text":"@notice Sets the allowance of a spender from the `msg.sender` to the value `amount`\n @param spender The account which will be allowed to spend a given amount of the owners tokens\n @param amount The amount of tokens allowed to be used by `spender`\n @return Returns true for a successful approval, false for unsuccessful"},"functionSelector":"095ea7b3","id":49216,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1632:7:39","nodeType":"FunctionDefinition","parameters":{"id":49212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49209,"mutability":"mutable","name":"spender","nameLocation":"1648:7:39","nodeType":"VariableDeclaration","scope":49216,"src":"1640:15:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49208,"name":"address","nodeType":"ElementaryTypeName","src":"1640:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49211,"mutability":"mutable","name":"amount","nameLocation":"1665:6:39","nodeType":"VariableDeclaration","scope":49216,"src":"1657:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49210,"name":"uint256","nodeType":"ElementaryTypeName","src":"1657:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1639:33:39"},"returnParameters":{"id":49215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49216,"src":"1691:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49213,"name":"bool","nodeType":"ElementaryTypeName","src":"1691:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1690:6:39"},"scope":49247,"src":"1623:74:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":49217,"nodeType":"StructuredDocumentation","src":"1703:371:39","text":"@notice Transfers `amount` tokens from `sender` to `recipient` up to the allowance given to the `msg.sender`\n @param sender The account from which the transfer will be initiated\n @param recipient The recipient of the transfer\n @param amount The amount of the transfer\n @return Returns true for a successful transfer, false for unsuccessful"},"functionSelector":"23b872dd","id":49228,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2088:12:39","nodeType":"FunctionDefinition","parameters":{"id":49224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49219,"mutability":"mutable","name":"sender","nameLocation":"2109:6:39","nodeType":"VariableDeclaration","scope":49228,"src":"2101:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49218,"name":"address","nodeType":"ElementaryTypeName","src":"2101:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49221,"mutability":"mutable","name":"recipient","nameLocation":"2125:9:39","nodeType":"VariableDeclaration","scope":49228,"src":"2117:17:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49220,"name":"address","nodeType":"ElementaryTypeName","src":"2117:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49223,"mutability":"mutable","name":"amount","nameLocation":"2144:6:39","nodeType":"VariableDeclaration","scope":49228,"src":"2136:14:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49222,"name":"uint256","nodeType":"ElementaryTypeName","src":"2136:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2100:51:39"},"returnParameters":{"id":49227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49228,"src":"2170:4:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49225,"name":"bool","nodeType":"ElementaryTypeName","src":"2170:4:39","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2169:6:39"},"scope":49247,"src":"2079:97:39","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"anonymous":false,"documentation":{"id":49229,"nodeType":"StructuredDocumentation","src":"2182:369:39","text":"@notice Event emitted when tokens are transferred from one address to another, either via `#transfer` or `#transferFrom`.\n @param from The account from which the tokens were sent, i.e. the balance decreased\n @param to The account to which the tokens were sent, i.e. the balance increased\n @param value The amount of tokens that were transferred"},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":49237,"name":"Transfer","nameLocation":"2562:8:39","nodeType":"EventDefinition","parameters":{"id":49236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49231,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2587:4:39","nodeType":"VariableDeclaration","scope":49237,"src":"2571:20:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49230,"name":"address","nodeType":"ElementaryTypeName","src":"2571:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49233,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2609:2:39","nodeType":"VariableDeclaration","scope":49237,"src":"2593:18:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49232,"name":"address","nodeType":"ElementaryTypeName","src":"2593:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49235,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"2621:5:39","nodeType":"VariableDeclaration","scope":49237,"src":"2613:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49234,"name":"uint256","nodeType":"ElementaryTypeName","src":"2613:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2570:57:39"},"src":"2556:72:39"},{"anonymous":false,"documentation":{"id":49238,"nodeType":"StructuredDocumentation","src":"2634:321:39","text":"@notice Event emitted when the approval amount for the spender of a given owner's tokens changes.\n @param owner The account that approved spending of its tokens\n @param spender The account for which the spending allowance was modified\n @param value The new allowance from the owner to the spender"},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":49246,"name":"Approval","nameLocation":"2966:8:39","nodeType":"EventDefinition","parameters":{"id":49245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49240,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"2991:5:39","nodeType":"VariableDeclaration","scope":49246,"src":"2975:21:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49239,"name":"address","nodeType":"ElementaryTypeName","src":"2975:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49242,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"3014:7:39","nodeType":"VariableDeclaration","scope":49246,"src":"2998:23:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49241,"name":"address","nodeType":"ElementaryTypeName","src":"2998:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49244,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3031:5:39","nodeType":"VariableDeclaration","scope":49246,"src":"3023:13:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49243,"name":"uint256","nodeType":"ElementaryTypeName","src":"3023:7:39","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2974:63:39"},"src":"2960:78:39"}],"scope":49248,"src":"189:2851:39","usedErrors":[],"usedEvents":[49237,49246]}],"src":"32:3009:39"},"id":39},"v4-core/src/interfaces/external/IERC6909Claims.sol":{"ast":{"absolutePath":"v4-core/src/interfaces/external/IERC6909Claims.sol","exportedSymbols":{"IERC6909Claims":[45108]},"id":45109,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44996,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:40"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC6909Claims","contractDependencies":[],"contractKind":"interface","documentation":{"id":44997,"nodeType":"StructuredDocumentation","src":"57:79:40","text":"@notice Interface for claims over a contract balance, wrapped as a ERC6909"},"fullyImplemented":false,"id":45108,"linearizedBaseContracts":[45108],"name":"IERC6909Claims","nameLocation":"146:14:40","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"ceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa267","id":45005,"name":"OperatorSet","nameLocation":"352:11:40","nodeType":"EventDefinition","parameters":{"id":45004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44999,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"380:5:40","nodeType":"VariableDeclaration","scope":45005,"src":"364:21:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44998,"name":"address","nodeType":"ElementaryTypeName","src":"364:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45001,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"403:8:40","nodeType":"VariableDeclaration","scope":45005,"src":"387:24:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45000,"name":"address","nodeType":"ElementaryTypeName","src":"387:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45003,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"418:8:40","nodeType":"VariableDeclaration","scope":45005,"src":"413:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45002,"name":"bool","nodeType":"ElementaryTypeName","src":"413:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"363:64:40"},"src":"346:82:40"},{"anonymous":false,"eventSelector":"b3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a7","id":45015,"name":"Approval","nameLocation":"440:8:40","nodeType":"EventDefinition","parameters":{"id":45014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45007,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"465:5:40","nodeType":"VariableDeclaration","scope":45015,"src":"449:21:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45006,"name":"address","nodeType":"ElementaryTypeName","src":"449:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45009,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"488:7:40","nodeType":"VariableDeclaration","scope":45015,"src":"472:23:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45008,"name":"address","nodeType":"ElementaryTypeName","src":"472:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45011,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"513:2:40","nodeType":"VariableDeclaration","scope":45015,"src":"497:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45010,"name":"uint256","nodeType":"ElementaryTypeName","src":"497:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45013,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"525:6:40","nodeType":"VariableDeclaration","scope":45015,"src":"517:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45012,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"448:84:40"},"src":"434:99:40"},{"anonymous":false,"eventSelector":"1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859","id":45027,"name":"Transfer","nameLocation":"545:8:40","nodeType":"EventDefinition","parameters":{"id":45026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45017,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"562:6:40","nodeType":"VariableDeclaration","scope":45027,"src":"554:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45016,"name":"address","nodeType":"ElementaryTypeName","src":"554:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45019,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"586:4:40","nodeType":"VariableDeclaration","scope":45027,"src":"570:20:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45018,"name":"address","nodeType":"ElementaryTypeName","src":"570:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45021,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"608:2:40","nodeType":"VariableDeclaration","scope":45027,"src":"592:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45020,"name":"address","nodeType":"ElementaryTypeName","src":"592:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45023,"indexed":true,"mutability":"mutable","name":"id","nameLocation":"628:2:40","nodeType":"VariableDeclaration","scope":45027,"src":"612:18:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45022,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45025,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"640:6:40","nodeType":"VariableDeclaration","scope":45027,"src":"632:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45024,"name":"uint256","nodeType":"ElementaryTypeName","src":"632:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"553:94:40"},"src":"539:109:40"},{"documentation":{"id":45028,"nodeType":"StructuredDocumentation","src":"836:170:40","text":"@notice Owner balance of an id.\n @param owner The address of the owner.\n @param id The id of the token.\n @return amount The balance of the token."},"functionSelector":"00fdd58e","id":45037,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1020:9:40","nodeType":"FunctionDefinition","parameters":{"id":45033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45030,"mutability":"mutable","name":"owner","nameLocation":"1038:5:40","nodeType":"VariableDeclaration","scope":45037,"src":"1030:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45029,"name":"address","nodeType":"ElementaryTypeName","src":"1030:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45032,"mutability":"mutable","name":"id","nameLocation":"1053:2:40","nodeType":"VariableDeclaration","scope":45037,"src":"1045:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45031,"name":"uint256","nodeType":"ElementaryTypeName","src":"1045:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1029:27:40"},"returnParameters":{"id":45036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45035,"mutability":"mutable","name":"amount","nameLocation":"1088:6:40","nodeType":"VariableDeclaration","scope":45037,"src":"1080:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45034,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1079:16:40"},"scope":45108,"src":"1011:85:40","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45038,"nodeType":"StructuredDocumentation","src":"1102:227:40","text":"@notice Spender allowance of an id.\n @param owner The address of the owner.\n @param spender The address of the spender.\n @param id The id of the token.\n @return amount The allowance of the token."},"functionSelector":"598af9e7","id":45049,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1343:9:40","nodeType":"FunctionDefinition","parameters":{"id":45045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45040,"mutability":"mutable","name":"owner","nameLocation":"1361:5:40","nodeType":"VariableDeclaration","scope":45049,"src":"1353:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45039,"name":"address","nodeType":"ElementaryTypeName","src":"1353:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45042,"mutability":"mutable","name":"spender","nameLocation":"1376:7:40","nodeType":"VariableDeclaration","scope":45049,"src":"1368:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45041,"name":"address","nodeType":"ElementaryTypeName","src":"1368:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45044,"mutability":"mutable","name":"id","nameLocation":"1393:2:40","nodeType":"VariableDeclaration","scope":45049,"src":"1385:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45043,"name":"uint256","nodeType":"ElementaryTypeName","src":"1385:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1352:44:40"},"returnParameters":{"id":45048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45047,"mutability":"mutable","name":"amount","nameLocation":"1428:6:40","nodeType":"VariableDeclaration","scope":45049,"src":"1420:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45046,"name":"uint256","nodeType":"ElementaryTypeName","src":"1420:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1419:16:40"},"scope":45108,"src":"1334:102:40","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45050,"nodeType":"StructuredDocumentation","src":"1442:214:40","text":"@notice Checks if a spender is approved by an owner as an operator\n @param owner The address of the owner.\n @param spender The address of the spender.\n @return approved The approval status."},"functionSelector":"b6363cf2","id":45059,"implemented":false,"kind":"function","modifiers":[],"name":"isOperator","nameLocation":"1670:10:40","nodeType":"FunctionDefinition","parameters":{"id":45055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45052,"mutability":"mutable","name":"owner","nameLocation":"1689:5:40","nodeType":"VariableDeclaration","scope":45059,"src":"1681:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45051,"name":"address","nodeType":"ElementaryTypeName","src":"1681:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45054,"mutability":"mutable","name":"spender","nameLocation":"1704:7:40","nodeType":"VariableDeclaration","scope":45059,"src":"1696:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45053,"name":"address","nodeType":"ElementaryTypeName","src":"1696:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1680:32:40"},"returnParameters":{"id":45058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45057,"mutability":"mutable","name":"approved","nameLocation":"1741:8:40","nodeType":"VariableDeclaration","scope":45059,"src":"1736:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45056,"name":"bool","nodeType":"ElementaryTypeName","src":"1736:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1735:15:40"},"scope":45108,"src":"1661:90:40","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":45060,"nodeType":"StructuredDocumentation","src":"1757:273:40","text":"@notice Transfers an amount of an id from the caller to a receiver.\n @param receiver The address of the receiver.\n @param id The id of the token.\n @param amount The amount of the token.\n @return bool True, always, unless the function reverts"},"functionSelector":"095bcdb6","id":45071,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"2044:8:40","nodeType":"FunctionDefinition","parameters":{"id":45067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45062,"mutability":"mutable","name":"receiver","nameLocation":"2061:8:40","nodeType":"VariableDeclaration","scope":45071,"src":"2053:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45061,"name":"address","nodeType":"ElementaryTypeName","src":"2053:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45064,"mutability":"mutable","name":"id","nameLocation":"2079:2:40","nodeType":"VariableDeclaration","scope":45071,"src":"2071:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45063,"name":"uint256","nodeType":"ElementaryTypeName","src":"2071:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45066,"mutability":"mutable","name":"amount","nameLocation":"2091:6:40","nodeType":"VariableDeclaration","scope":45071,"src":"2083:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45065,"name":"uint256","nodeType":"ElementaryTypeName","src":"2083:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2052:46:40"},"returnParameters":{"id":45070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45071,"src":"2117:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45068,"name":"bool","nodeType":"ElementaryTypeName","src":"2117:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2116:6:40"},"scope":45108,"src":"2035:88:40","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":45072,"nodeType":"StructuredDocumentation","src":"2129:320:40","text":"@notice Transfers an amount of an id from a sender to a receiver.\n @param sender The address of the sender.\n @param receiver The address of the receiver.\n @param id The id of the token.\n @param amount The amount of the token.\n @return bool True, always, unless the function reverts"},"functionSelector":"fe99049a","id":45085,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2463:12:40","nodeType":"FunctionDefinition","parameters":{"id":45081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45074,"mutability":"mutable","name":"sender","nameLocation":"2484:6:40","nodeType":"VariableDeclaration","scope":45085,"src":"2476:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45073,"name":"address","nodeType":"ElementaryTypeName","src":"2476:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45076,"mutability":"mutable","name":"receiver","nameLocation":"2500:8:40","nodeType":"VariableDeclaration","scope":45085,"src":"2492:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45075,"name":"address","nodeType":"ElementaryTypeName","src":"2492:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45078,"mutability":"mutable","name":"id","nameLocation":"2518:2:40","nodeType":"VariableDeclaration","scope":45085,"src":"2510:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45077,"name":"uint256","nodeType":"ElementaryTypeName","src":"2510:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45080,"mutability":"mutable","name":"amount","nameLocation":"2530:6:40","nodeType":"VariableDeclaration","scope":45085,"src":"2522:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45079,"name":"uint256","nodeType":"ElementaryTypeName","src":"2522:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2475:62:40"},"returnParameters":{"id":45084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45085,"src":"2556:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45082,"name":"bool","nodeType":"ElementaryTypeName","src":"2556:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2555:6:40"},"scope":45108,"src":"2454:108:40","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":45086,"nodeType":"StructuredDocumentation","src":"2568:224:40","text":"@notice Approves an amount of an id to a spender.\n @param spender The address of the spender.\n @param id The id of the token.\n @param amount The amount of the token.\n @return bool True, always"},"functionSelector":"426a8493","id":45097,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2806:7:40","nodeType":"FunctionDefinition","parameters":{"id":45093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45088,"mutability":"mutable","name":"spender","nameLocation":"2822:7:40","nodeType":"VariableDeclaration","scope":45097,"src":"2814:15:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45087,"name":"address","nodeType":"ElementaryTypeName","src":"2814:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45090,"mutability":"mutable","name":"id","nameLocation":"2839:2:40","nodeType":"VariableDeclaration","scope":45097,"src":"2831:10:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45089,"name":"uint256","nodeType":"ElementaryTypeName","src":"2831:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45092,"mutability":"mutable","name":"amount","nameLocation":"2851:6:40","nodeType":"VariableDeclaration","scope":45097,"src":"2843:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45091,"name":"uint256","nodeType":"ElementaryTypeName","src":"2843:7:40","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2813:45:40"},"returnParameters":{"id":45096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45095,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45097,"src":"2877:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45094,"name":"bool","nodeType":"ElementaryTypeName","src":"2877:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2876:6:40"},"scope":45108,"src":"2797:86:40","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":45098,"nodeType":"StructuredDocumentation","src":"2889:187:40","text":"@notice Sets or removes an operator for the caller.\n @param operator The address of the operator.\n @param approved The approval status.\n @return bool True, always"},"functionSelector":"558a7297","id":45107,"implemented":false,"kind":"function","modifiers":[],"name":"setOperator","nameLocation":"3090:11:40","nodeType":"FunctionDefinition","parameters":{"id":45103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45100,"mutability":"mutable","name":"operator","nameLocation":"3110:8:40","nodeType":"VariableDeclaration","scope":45107,"src":"3102:16:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45099,"name":"address","nodeType":"ElementaryTypeName","src":"3102:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45102,"mutability":"mutable","name":"approved","nameLocation":"3125:8:40","nodeType":"VariableDeclaration","scope":45107,"src":"3120:13:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45101,"name":"bool","nodeType":"ElementaryTypeName","src":"3120:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3101:33:40"},"returnParameters":{"id":45106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45107,"src":"3153:4:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45104,"name":"bool","nodeType":"ElementaryTypeName","src":"3153:4:40","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3152:6:40"},"scope":45108,"src":"3081:78:40","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":45109,"src":"136:3025:40","usedErrors":[],"usedEvents":[45005,45015,45027]}],"src":"32:3130:40"},"id":40},"v4-core/src/libraries/BitMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/BitMath.sol","exportedSymbols":{"BitMath":[45441]},"id":45442,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45407,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:41"},{"abstract":false,"baseContracts":[],"canonicalName":"BitMath","contractDependencies":[],"contractKind":"library","documentation":{"id":45408,"nodeType":"StructuredDocumentation","src":"57:241:41","text":"@title BitMath\n @dev This library provides functionality for computing bit properties of an unsigned integer\n @author Solady (https://github.com/Vectorized/solady/blob/8200a70e8dc2a77ecb074fc2e99a2a0d36547522/src/utils/LibBit.sol)"},"fullyImplemented":true,"id":45441,"linearizedBaseContracts":[45441],"name":"BitMath","nameLocation":"306:7:41","nodeType":"ContractDefinition","nodes":[{"body":{"id":45423,"nodeType":"Block","src":"724:593:41","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45417,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45411,"src":"742:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"746:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"742:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45416,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"734:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":45420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"734:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45421,"nodeType":"ExpressionStatement","src":"734:14:41"},{"AST":{"nativeSrc":"784:527:41","nodeType":"YulBlock","src":"784:527:41","statements":[{"nativeSrc":"798:54:41","nodeType":"YulAssignment","src":"798:54:41","value":{"arguments":[{"kind":"number","nativeSrc":"807:1:41","nodeType":"YulLiteral","src":"807:1:41","type":"","value":"7"},{"arguments":[{"kind":"number","nativeSrc":"813:34:41","nodeType":"YulLiteral","src":"813:34:41","type":"","value":"0xffffffffffffffffffffffffffffffff"},{"name":"x","nativeSrc":"849:1:41","nodeType":"YulIdentifier","src":"849:1:41"}],"functionName":{"name":"lt","nativeSrc":"810:2:41","nodeType":"YulIdentifier","src":"810:2:41"},"nativeSrc":"810:41:41","nodeType":"YulFunctionCall","src":"810:41:41"}],"functionName":{"name":"shl","nativeSrc":"803:3:41","nodeType":"YulIdentifier","src":"803:3:41"},"nativeSrc":"803:49:41","nodeType":"YulFunctionCall","src":"803:49:41"},"variableNames":[{"name":"r","nativeSrc":"798:1:41","nodeType":"YulIdentifier","src":"798:1:41"}]},{"nativeSrc":"865:53:41","nodeType":"YulAssignment","src":"865:53:41","value":{"arguments":[{"name":"r","nativeSrc":"873:1:41","nodeType":"YulIdentifier","src":"873:1:41"},{"arguments":[{"kind":"number","nativeSrc":"880:1:41","nodeType":"YulLiteral","src":"880:1:41","type":"","value":"6"},{"arguments":[{"kind":"number","nativeSrc":"886:18:41","nodeType":"YulLiteral","src":"886:18:41","type":"","value":"0xffffffffffffffff"},{"arguments":[{"name":"r","nativeSrc":"910:1:41","nodeType":"YulIdentifier","src":"910:1:41"},{"name":"x","nativeSrc":"913:1:41","nodeType":"YulIdentifier","src":"913:1:41"}],"functionName":{"name":"shr","nativeSrc":"906:3:41","nodeType":"YulIdentifier","src":"906:3:41"},"nativeSrc":"906:9:41","nodeType":"YulFunctionCall","src":"906:9:41"}],"functionName":{"name":"lt","nativeSrc":"883:2:41","nodeType":"YulIdentifier","src":"883:2:41"},"nativeSrc":"883:33:41","nodeType":"YulFunctionCall","src":"883:33:41"}],"functionName":{"name":"shl","nativeSrc":"876:3:41","nodeType":"YulIdentifier","src":"876:3:41"},"nativeSrc":"876:41:41","nodeType":"YulFunctionCall","src":"876:41:41"}],"functionName":{"name":"or","nativeSrc":"870:2:41","nodeType":"YulIdentifier","src":"870:2:41"},"nativeSrc":"870:48:41","nodeType":"YulFunctionCall","src":"870:48:41"},"variableNames":[{"name":"r","nativeSrc":"865:1:41","nodeType":"YulIdentifier","src":"865:1:41"}]},{"nativeSrc":"931:45:41","nodeType":"YulAssignment","src":"931:45:41","value":{"arguments":[{"name":"r","nativeSrc":"939:1:41","nodeType":"YulIdentifier","src":"939:1:41"},{"arguments":[{"kind":"number","nativeSrc":"946:1:41","nodeType":"YulLiteral","src":"946:1:41","type":"","value":"5"},{"arguments":[{"kind":"number","nativeSrc":"952:10:41","nodeType":"YulLiteral","src":"952:10:41","type":"","value":"0xffffffff"},{"arguments":[{"name":"r","nativeSrc":"968:1:41","nodeType":"YulIdentifier","src":"968:1:41"},{"name":"x","nativeSrc":"971:1:41","nodeType":"YulIdentifier","src":"971:1:41"}],"functionName":{"name":"shr","nativeSrc":"964:3:41","nodeType":"YulIdentifier","src":"964:3:41"},"nativeSrc":"964:9:41","nodeType":"YulFunctionCall","src":"964:9:41"}],"functionName":{"name":"lt","nativeSrc":"949:2:41","nodeType":"YulIdentifier","src":"949:2:41"},"nativeSrc":"949:25:41","nodeType":"YulFunctionCall","src":"949:25:41"}],"functionName":{"name":"shl","nativeSrc":"942:3:41","nodeType":"YulIdentifier","src":"942:3:41"},"nativeSrc":"942:33:41","nodeType":"YulFunctionCall","src":"942:33:41"}],"functionName":{"name":"or","nativeSrc":"936:2:41","nodeType":"YulIdentifier","src":"936:2:41"},"nativeSrc":"936:40:41","nodeType":"YulFunctionCall","src":"936:40:41"},"variableNames":[{"name":"r","nativeSrc":"931:1:41","nodeType":"YulIdentifier","src":"931:1:41"}]},{"nativeSrc":"989:41:41","nodeType":"YulAssignment","src":"989:41:41","value":{"arguments":[{"name":"r","nativeSrc":"997:1:41","nodeType":"YulIdentifier","src":"997:1:41"},{"arguments":[{"kind":"number","nativeSrc":"1004:1:41","nodeType":"YulLiteral","src":"1004:1:41","type":"","value":"4"},{"arguments":[{"kind":"number","nativeSrc":"1010:6:41","nodeType":"YulLiteral","src":"1010:6:41","type":"","value":"0xffff"},{"arguments":[{"name":"r","nativeSrc":"1022:1:41","nodeType":"YulIdentifier","src":"1022:1:41"},{"name":"x","nativeSrc":"1025:1:41","nodeType":"YulIdentifier","src":"1025:1:41"}],"functionName":{"name":"shr","nativeSrc":"1018:3:41","nodeType":"YulIdentifier","src":"1018:3:41"},"nativeSrc":"1018:9:41","nodeType":"YulFunctionCall","src":"1018:9:41"}],"functionName":{"name":"lt","nativeSrc":"1007:2:41","nodeType":"YulIdentifier","src":"1007:2:41"},"nativeSrc":"1007:21:41","nodeType":"YulFunctionCall","src":"1007:21:41"}],"functionName":{"name":"shl","nativeSrc":"1000:3:41","nodeType":"YulIdentifier","src":"1000:3:41"},"nativeSrc":"1000:29:41","nodeType":"YulFunctionCall","src":"1000:29:41"}],"functionName":{"name":"or","nativeSrc":"994:2:41","nodeType":"YulIdentifier","src":"994:2:41"},"nativeSrc":"994:36:41","nodeType":"YulFunctionCall","src":"994:36:41"},"variableNames":[{"name":"r","nativeSrc":"989:1:41","nodeType":"YulIdentifier","src":"989:1:41"}]},{"nativeSrc":"1043:39:41","nodeType":"YulAssignment","src":"1043:39:41","value":{"arguments":[{"name":"r","nativeSrc":"1051:1:41","nodeType":"YulIdentifier","src":"1051:1:41"},{"arguments":[{"kind":"number","nativeSrc":"1058:1:41","nodeType":"YulLiteral","src":"1058:1:41","type":"","value":"3"},{"arguments":[{"kind":"number","nativeSrc":"1064:4:41","nodeType":"YulLiteral","src":"1064:4:41","type":"","value":"0xff"},{"arguments":[{"name":"r","nativeSrc":"1074:1:41","nodeType":"YulIdentifier","src":"1074:1:41"},{"name":"x","nativeSrc":"1077:1:41","nodeType":"YulIdentifier","src":"1077:1:41"}],"functionName":{"name":"shr","nativeSrc":"1070:3:41","nodeType":"YulIdentifier","src":"1070:3:41"},"nativeSrc":"1070:9:41","nodeType":"YulFunctionCall","src":"1070:9:41"}],"functionName":{"name":"lt","nativeSrc":"1061:2:41","nodeType":"YulIdentifier","src":"1061:2:41"},"nativeSrc":"1061:19:41","nodeType":"YulFunctionCall","src":"1061:19:41"}],"functionName":{"name":"shl","nativeSrc":"1054:3:41","nodeType":"YulIdentifier","src":"1054:3:41"},"nativeSrc":"1054:27:41","nodeType":"YulFunctionCall","src":"1054:27:41"}],"functionName":{"name":"or","nativeSrc":"1048:2:41","nodeType":"YulIdentifier","src":"1048:2:41"},"nativeSrc":"1048:34:41","nodeType":"YulFunctionCall","src":"1048:34:41"},"variableNames":[{"name":"r","nativeSrc":"1043:1:41","nodeType":"YulIdentifier","src":"1043:1:41"}]},{"nativeSrc":"1138:163:41","nodeType":"YulAssignment","src":"1138:163:41","value":{"arguments":[{"name":"r","nativeSrc":"1146:1:41","nodeType":"YulIdentifier","src":"1146:1:41"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1158:4:41","nodeType":"YulLiteral","src":"1158:4:41","type":"","value":"0x1f"},{"arguments":[{"arguments":[{"name":"r","nativeSrc":"1172:1:41","nodeType":"YulIdentifier","src":"1172:1:41"},{"name":"x","nativeSrc":"1175:1:41","nodeType":"YulIdentifier","src":"1175:1:41"}],"functionName":{"name":"shr","nativeSrc":"1168:3:41","nodeType":"YulIdentifier","src":"1168:3:41"},"nativeSrc":"1168:9:41","nodeType":"YulFunctionCall","src":"1168:9:41"},{"kind":"number","nativeSrc":"1179:34:41","nodeType":"YulLiteral","src":"1179:34:41","type":"","value":"0x8421084210842108cc6318c6db6d54be"}],"functionName":{"name":"shr","nativeSrc":"1164:3:41","nodeType":"YulIdentifier","src":"1164:3:41"},"nativeSrc":"1164:50:41","nodeType":"YulFunctionCall","src":"1164:50:41"}],"functionName":{"name":"and","nativeSrc":"1154:3:41","nodeType":"YulIdentifier","src":"1154:3:41"},"nativeSrc":"1154:61:41","nodeType":"YulFunctionCall","src":"1154:61:41"},{"kind":"number","nativeSrc":"1233:66:41","nodeType":"YulLiteral","src":"1233:66:41","type":"","value":"0x0706060506020500060203020504000106050205030304010505030400000000"}],"functionName":{"name":"byte","nativeSrc":"1149:4:41","nodeType":"YulIdentifier","src":"1149:4:41"},"nativeSrc":"1149:151:41","nodeType":"YulFunctionCall","src":"1149:151:41"}],"functionName":{"name":"or","nativeSrc":"1143:2:41","nodeType":"YulIdentifier","src":"1143:2:41"},"nativeSrc":"1143:158:41","nodeType":"YulFunctionCall","src":"1143:158:41"},"variableNames":[{"name":"r","nativeSrc":"1138:1:41","nodeType":"YulIdentifier","src":"1138:1:41"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1022:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1043:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1051:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1074:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1138:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1146:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"1172:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"798:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"865:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"873:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"910:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"931:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"939:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"968:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"989:1:41","valueSize":1},{"declaration":45414,"isOffset":false,"isSlot":false,"src":"997:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"1025:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"1077:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"1175:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"849:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"913:1:41","valueSize":1},{"declaration":45411,"isOffset":false,"isSlot":false,"src":"971:1:41","valueSize":1}],"flags":["memory-safe"],"id":45422,"nodeType":"InlineAssembly","src":"759:552:41"}]},"documentation":{"id":45409,"nodeType":"StructuredDocumentation","src":"320:328:41","text":"@notice Returns the index of the most significant bit of the number,\n     where the least significant bit is at index 0 and the most significant bit is at index 255\n @param x the value for which to compute the most significant bit, must be greater than 0\n @return r the index of the most significant bit"},"id":45424,"implemented":true,"kind":"function","modifiers":[],"name":"mostSignificantBit","nameLocation":"662:18:41","nodeType":"FunctionDefinition","parameters":{"id":45412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45411,"mutability":"mutable","name":"x","nameLocation":"689:1:41","nodeType":"VariableDeclaration","scope":45424,"src":"681:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45410,"name":"uint256","nodeType":"ElementaryTypeName","src":"681:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"680:11:41"},"returnParameters":{"id":45415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45414,"mutability":"mutable","name":"r","nameLocation":"721:1:41","nodeType":"VariableDeclaration","scope":45424,"src":"715:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45413,"name":"uint8","nodeType":"ElementaryTypeName","src":"715:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"714:9:41"},"scope":45441,"src":"653:664:41","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45439,"nodeType":"Block","src":"1731:875:41","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45433,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45427,"src":"1749:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1753:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1749:5:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45432,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1741:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":45436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1741:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45437,"nodeType":"ExpressionStatement","src":"1741:14:41"},{"AST":{"nativeSrc":"1791:809:41","nodeType":"YulBlock","src":"1791:809:41","statements":[{"nativeSrc":"1855:22:41","nodeType":"YulAssignment","src":"1855:22:41","value":{"arguments":[{"name":"x","nativeSrc":"1864:1:41","nodeType":"YulIdentifier","src":"1864:1:41"},{"arguments":[{"kind":"number","nativeSrc":"1871:1:41","nodeType":"YulLiteral","src":"1871:1:41","type":"","value":"0"},{"name":"x","nativeSrc":"1874:1:41","nodeType":"YulIdentifier","src":"1874:1:41"}],"functionName":{"name":"sub","nativeSrc":"1867:3:41","nodeType":"YulIdentifier","src":"1867:3:41"},"nativeSrc":"1867:9:41","nodeType":"YulFunctionCall","src":"1867:9:41"}],"functionName":{"name":"and","nativeSrc":"1860:3:41","nodeType":"YulIdentifier","src":"1860:3:41"},"nativeSrc":"1860:17:41","nodeType":"YulFunctionCall","src":"1860:17:41"},"variableNames":[{"name":"x","nativeSrc":"1855:1:41","nodeType":"YulIdentifier","src":"1855:1:41"}]},{"nativeSrc":"2100:220:41","nodeType":"YulAssignment","src":"2100:220:41","value":{"arguments":[{"kind":"number","nativeSrc":"2109:1:41","nodeType":"YulLiteral","src":"2109:1:41","type":"","value":"5"},{"arguments":[{"kind":"number","nativeSrc":"2116:3:41","nodeType":"YulLiteral","src":"2116:3:41","type":"","value":"252"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"2129:1:41","nodeType":"YulLiteral","src":"2129:1:41","type":"","value":"2"},{"arguments":[{"kind":"number","nativeSrc":"2136:3:41","nodeType":"YulLiteral","src":"2136:3:41","type":"","value":"250"},{"arguments":[{"name":"x","nativeSrc":"2145:1:41","nodeType":"YulIdentifier","src":"2145:1:41"},{"kind":"number","nativeSrc":"2164:66:41","nodeType":"YulLiteral","src":"2164:66:41","type":"","value":"0xb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff"}],"functionName":{"name":"mul","nativeSrc":"2141:3:41","nodeType":"YulIdentifier","src":"2141:3:41"},"nativeSrc":"2141:90:41","nodeType":"YulFunctionCall","src":"2141:90:41"}],"functionName":{"name":"shr","nativeSrc":"2132:3:41","nodeType":"YulIdentifier","src":"2132:3:41"},"nativeSrc":"2132:100:41","nodeType":"YulFunctionCall","src":"2132:100:41"}],"functionName":{"name":"shl","nativeSrc":"2125:3:41","nodeType":"YulIdentifier","src":"2125:3:41"},"nativeSrc":"2125:108:41","nodeType":"YulFunctionCall","src":"2125:108:41"},{"kind":"number","nativeSrc":"2251:66:41","nodeType":"YulLiteral","src":"2251:66:41","type":"","value":"0x8040405543005266443200005020610674053026020000107506200176117077"}],"functionName":{"name":"shl","nativeSrc":"2121:3:41","nodeType":"YulIdentifier","src":"2121:3:41"},"nativeSrc":"2121:197:41","nodeType":"YulFunctionCall","src":"2121:197:41"}],"functionName":{"name":"shr","nativeSrc":"2112:3:41","nodeType":"YulIdentifier","src":"2112:3:41"},"nativeSrc":"2112:207:41","nodeType":"YulFunctionCall","src":"2112:207:41"}],"functionName":{"name":"shl","nativeSrc":"2105:3:41","nodeType":"YulIdentifier","src":"2105:3:41"},"nativeSrc":"2105:215:41","nodeType":"YulFunctionCall","src":"2105:215:41"},"variableNames":[{"name":"r","nativeSrc":"2100:1:41","nodeType":"YulIdentifier","src":"2100:1:41"}]},{"nativeSrc":"2451:139:41","nodeType":"YulAssignment","src":"2451:139:41","value":{"arguments":[{"name":"r","nativeSrc":"2459:1:41","nodeType":"YulIdentifier","src":"2459:1:41"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"2475:10:41","nodeType":"YulLiteral","src":"2475:10:41","type":"","value":"0xd76453e0"},{"arguments":[{"name":"r","nativeSrc":"2491:1:41","nodeType":"YulIdentifier","src":"2491:1:41"},{"name":"x","nativeSrc":"2494:1:41","nodeType":"YulIdentifier","src":"2494:1:41"}],"functionName":{"name":"shr","nativeSrc":"2487:3:41","nodeType":"YulIdentifier","src":"2487:3:41"},"nativeSrc":"2487:9:41","nodeType":"YulFunctionCall","src":"2487:9:41"}],"functionName":{"name":"div","nativeSrc":"2471:3:41","nodeType":"YulIdentifier","src":"2471:3:41"},"nativeSrc":"2471:26:41","nodeType":"YulFunctionCall","src":"2471:26:41"},{"kind":"number","nativeSrc":"2499:4:41","nodeType":"YulLiteral","src":"2499:4:41","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"2467:3:41","nodeType":"YulIdentifier","src":"2467:3:41"},"nativeSrc":"2467:37:41","nodeType":"YulFunctionCall","src":"2467:37:41"},{"kind":"number","nativeSrc":"2522:66:41","nodeType":"YulLiteral","src":"2522:66:41","type":"","value":"0x001f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405"}],"functionName":{"name":"byte","nativeSrc":"2462:4:41","nodeType":"YulIdentifier","src":"2462:4:41"},"nativeSrc":"2462:127:41","nodeType":"YulFunctionCall","src":"2462:127:41"}],"functionName":{"name":"or","nativeSrc":"2456:2:41","nodeType":"YulIdentifier","src":"2456:2:41"},"nativeSrc":"2456:134:41","nodeType":"YulFunctionCall","src":"2456:134:41"},"variableNames":[{"name":"r","nativeSrc":"2451:1:41","nodeType":"YulIdentifier","src":"2451:1:41"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45430,"isOffset":false,"isSlot":false,"src":"2100:1:41","valueSize":1},{"declaration":45430,"isOffset":false,"isSlot":false,"src":"2451:1:41","valueSize":1},{"declaration":45430,"isOffset":false,"isSlot":false,"src":"2459:1:41","valueSize":1},{"declaration":45430,"isOffset":false,"isSlot":false,"src":"2491:1:41","valueSize":1},{"declaration":45427,"isOffset":false,"isSlot":false,"src":"1855:1:41","valueSize":1},{"declaration":45427,"isOffset":false,"isSlot":false,"src":"1864:1:41","valueSize":1},{"declaration":45427,"isOffset":false,"isSlot":false,"src":"1874:1:41","valueSize":1},{"declaration":45427,"isOffset":false,"isSlot":false,"src":"2145:1:41","valueSize":1},{"declaration":45427,"isOffset":false,"isSlot":false,"src":"2494:1:41","valueSize":1}],"flags":["memory-safe"],"id":45438,"nodeType":"InlineAssembly","src":"1766:834:41"}]},"documentation":{"id":45425,"nodeType":"StructuredDocumentation","src":"1323:331:41","text":"@notice Returns the index of the least significant bit of the number,\n     where the least significant bit is at index 0 and the most significant bit is at index 255\n @param x the value for which to compute the least significant bit, must be greater than 0\n @return r the index of the least significant bit"},"id":45440,"implemented":true,"kind":"function","modifiers":[],"name":"leastSignificantBit","nameLocation":"1668:19:41","nodeType":"FunctionDefinition","parameters":{"id":45428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45427,"mutability":"mutable","name":"x","nameLocation":"1696:1:41","nodeType":"VariableDeclaration","scope":45440,"src":"1688:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45426,"name":"uint256","nodeType":"ElementaryTypeName","src":"1688:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1687:11:41"},"returnParameters":{"id":45431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45430,"mutability":"mutable","name":"r","nameLocation":"1728:1:41","nodeType":"VariableDeclaration","scope":45440,"src":"1722:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45429,"name":"uint8","nodeType":"ElementaryTypeName","src":"1722:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1721:9:41"},"scope":45441,"src":"1659:947:41","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":45442,"src":"298:2310:41","usedErrors":[],"usedEvents":[]}],"src":"32:2577:41"},"id":41},"v4-core/src/libraries/CurrencyDelta.sol":{"ast":{"absolutePath":"v4-core/src/libraries/CurrencyDelta.sol","exportedSymbols":{"Currency":[4399],"CurrencyDelta":[57432]},"id":57433,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":57365,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"37:24:42"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":57367,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57433,"sourceUnit":4694,"src":"63:47:42","symbolAliases":[{"foreign":{"id":57366,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"71:8:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"CurrencyDelta","contractDependencies":[],"contractKind":"library","documentation":{"id":57368,"nodeType":"StructuredDocumentation","src":"112:192:42","text":"@title a library to store callers' currency deltas in transient storage\n @dev this library implements the equivalent of a mapping, as transient storage can only be accessed in assembly"},"fullyImplemented":true,"id":57432,"linearizedBaseContracts":[57432],"name":"CurrencyDelta","nameLocation":"312:13:42","nodeType":"ContractDefinition","nodes":[{"body":{"id":57380,"nodeType":"Block","src":"537:254:42","statements":[{"AST":{"nativeSrc":"572:213:42","nodeType":"YulBlock","src":"572:213:42","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"593:1:42","nodeType":"YulLiteral","src":"593:1:42","type":"","value":"0"},{"arguments":[{"name":"target","nativeSrc":"600:6:42","nodeType":"YulIdentifier","src":"600:6:42"},{"kind":"number","nativeSrc":"608:42:42","nodeType":"YulLiteral","src":"608:42:42","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"596:3:42","nodeType":"YulIdentifier","src":"596:3:42"},"nativeSrc":"596:55:42","nodeType":"YulFunctionCall","src":"596:55:42"}],"functionName":{"name":"mstore","nativeSrc":"586:6:42","nodeType":"YulIdentifier","src":"586:6:42"},"nativeSrc":"586:66:42","nodeType":"YulFunctionCall","src":"586:66:42"},"nativeSrc":"586:66:42","nodeType":"YulExpressionStatement","src":"586:66:42"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"672:2:42","nodeType":"YulLiteral","src":"672:2:42","type":"","value":"32"},{"arguments":[{"name":"currency","nativeSrc":"680:8:42","nodeType":"YulIdentifier","src":"680:8:42"},{"kind":"number","nativeSrc":"690:42:42","nodeType":"YulLiteral","src":"690:42:42","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"676:3:42","nodeType":"YulIdentifier","src":"676:3:42"},"nativeSrc":"676:57:42","nodeType":"YulFunctionCall","src":"676:57:42"}],"functionName":{"name":"mstore","nativeSrc":"665:6:42","nodeType":"YulIdentifier","src":"665:6:42"},"nativeSrc":"665:69:42","nodeType":"YulFunctionCall","src":"665:69:42"},"nativeSrc":"665:69:42","nodeType":"YulExpressionStatement","src":"665:69:42"},{"nativeSrc":"747:28:42","nodeType":"YulAssignment","src":"747:28:42","value":{"arguments":[{"kind":"number","nativeSrc":"769:1:42","nodeType":"YulLiteral","src":"769:1:42","type":"","value":"0"},{"kind":"number","nativeSrc":"772:2:42","nodeType":"YulLiteral","src":"772:2:42","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"759:9:42","nodeType":"YulIdentifier","src":"759:9:42"},"nativeSrc":"759:16:42","nodeType":"YulFunctionCall","src":"759:16:42"},"variableNames":[{"name":"hashSlot","nativeSrc":"747:8:42","nodeType":"YulIdentifier","src":"747:8:42"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57374,"isOffset":false,"isSlot":false,"src":"680:8:42","valueSize":1},{"declaration":57377,"isOffset":false,"isSlot":false,"src":"747:8:42","valueSize":1},{"declaration":57371,"isOffset":false,"isSlot":false,"src":"600:6:42","valueSize":1}],"flags":["memory-safe"],"id":57379,"nodeType":"InlineAssembly","src":"547:238:42"}]},"documentation":{"id":57369,"nodeType":"StructuredDocumentation","src":"332:102:42","text":"@notice calculates which storage slot a delta should be stored in for a given account and currency"},"id":57381,"implemented":true,"kind":"function","modifiers":[],"name":"_computeSlot","nameLocation":"448:12:42","nodeType":"FunctionDefinition","parameters":{"id":57375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57371,"mutability":"mutable","name":"target","nameLocation":"469:6:42","nodeType":"VariableDeclaration","scope":57381,"src":"461:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57370,"name":"address","nodeType":"ElementaryTypeName","src":"461:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57374,"mutability":"mutable","name":"currency","nameLocation":"486:8:42","nodeType":"VariableDeclaration","scope":57381,"src":"477:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57373,"nodeType":"UserDefinedTypeName","pathNode":{"id":57372,"name":"Currency","nameLocations":["477:8:42"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"477:8:42"},"referencedDeclaration":4399,"src":"477:8:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"460:35:42"},"returnParameters":{"id":57378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57377,"mutability":"mutable","name":"hashSlot","nameLocation":"527:8:42","nodeType":"VariableDeclaration","scope":57381,"src":"519:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"519:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"518:18:42"},"scope":57432,"src":"439:352:42","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":57399,"nodeType":"Block","src":"887:148:42","statements":[{"assignments":[57392],"declarations":[{"constant":false,"id":57392,"mutability":"mutable","name":"hashSlot","nameLocation":"905:8:42","nodeType":"VariableDeclaration","scope":57399,"src":"897:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"897:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57397,"initialValue":{"arguments":[{"id":57394,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57386,"src":"929:6:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57395,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57384,"src":"937:8:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"id":57393,"name":"_computeSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57381,"src":"916:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bytes32_$","typeString":"function (address,Currency) pure returns (bytes32)"}},"id":57396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"897:49:42"},{"AST":{"nativeSrc":"981:48:42","nodeType":"YulBlock","src":"981:48:42","statements":[{"nativeSrc":"995:24:42","nodeType":"YulAssignment","src":"995:24:42","value":{"arguments":[{"name":"hashSlot","nativeSrc":"1010:8:42","nodeType":"YulIdentifier","src":"1010:8:42"}],"functionName":{"name":"tload","nativeSrc":"1004:5:42","nodeType":"YulIdentifier","src":"1004:5:42"},"nativeSrc":"1004:15:42","nodeType":"YulFunctionCall","src":"1004:15:42"},"variableNames":[{"name":"delta","nativeSrc":"995:5:42","nodeType":"YulIdentifier","src":"995:5:42"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57389,"isOffset":false,"isSlot":false,"src":"995:5:42","valueSize":1},{"declaration":57392,"isOffset":false,"isSlot":false,"src":"1010:8:42","valueSize":1}],"flags":["memory-safe"],"id":57398,"nodeType":"InlineAssembly","src":"956:73:42"}]},"id":57400,"implemented":true,"kind":"function","modifiers":[],"name":"getDelta","nameLocation":"806:8:42","nodeType":"FunctionDefinition","parameters":{"id":57387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57384,"mutability":"mutable","name":"currency","nameLocation":"824:8:42","nodeType":"VariableDeclaration","scope":57400,"src":"815:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57383,"nodeType":"UserDefinedTypeName","pathNode":{"id":57382,"name":"Currency","nameLocations":["815:8:42"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"815:8:42"},"referencedDeclaration":4399,"src":"815:8:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":57386,"mutability":"mutable","name":"target","nameLocation":"842:6:42","nodeType":"VariableDeclaration","scope":57400,"src":"834:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57385,"name":"address","nodeType":"ElementaryTypeName","src":"834:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"814:35:42"},"returnParameters":{"id":57390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57389,"mutability":"mutable","name":"delta","nameLocation":"880:5:42","nodeType":"VariableDeclaration","scope":57400,"src":"873:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57388,"name":"int256","nodeType":"ElementaryTypeName","src":"873:6:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"872:14:42"},"scope":57432,"src":"797:238:42","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57430,"nodeType":"Block","src":"1338:265:42","statements":[{"assignments":[57416],"declarations":[{"constant":false,"id":57416,"mutability":"mutable","name":"hashSlot","nameLocation":"1356:8:42","nodeType":"VariableDeclaration","scope":57430,"src":"1348:16:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1348:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":57421,"initialValue":{"arguments":[{"id":57418,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57406,"src":"1380:6:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57419,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57404,"src":"1388:8:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"id":57417,"name":"_computeSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57381,"src":"1367:12:42","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bytes32_$","typeString":"function (address,Currency) pure returns (bytes32)"}},"id":57420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1367:30:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1348:49:42"},{"AST":{"nativeSrc":"1433:51:42","nodeType":"YulBlock","src":"1433:51:42","statements":[{"nativeSrc":"1447:27:42","nodeType":"YulAssignment","src":"1447:27:42","value":{"arguments":[{"name":"hashSlot","nativeSrc":"1465:8:42","nodeType":"YulIdentifier","src":"1465:8:42"}],"functionName":{"name":"tload","nativeSrc":"1459:5:42","nodeType":"YulIdentifier","src":"1459:5:42"},"nativeSrc":"1459:15:42","nodeType":"YulFunctionCall","src":"1459:15:42"},"variableNames":[{"name":"previous","nativeSrc":"1447:8:42","nodeType":"YulIdentifier","src":"1447:8:42"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57416,"isOffset":false,"isSlot":false,"src":"1465:8:42","valueSize":1},{"declaration":57411,"isOffset":false,"isSlot":false,"src":"1447:8:42","valueSize":1}],"flags":["memory-safe"],"id":57422,"nodeType":"InlineAssembly","src":"1408:76:42"},{"expression":{"id":57427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57423,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57413,"src":"1493:4:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57424,"name":"previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57411,"src":"1500:8:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57425,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57408,"src":"1511:5:42","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"1500:16:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1493:23:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":57428,"nodeType":"ExpressionStatement","src":"1493:23:42"},{"AST":{"nativeSrc":"1551:46:42","nodeType":"YulBlock","src":"1551:46:42","statements":[{"expression":{"arguments":[{"name":"hashSlot","nativeSrc":"1572:8:42","nodeType":"YulIdentifier","src":"1572:8:42"},{"name":"next","nativeSrc":"1582:4:42","nodeType":"YulIdentifier","src":"1582:4:42"}],"functionName":{"name":"tstore","nativeSrc":"1565:6:42","nodeType":"YulIdentifier","src":"1565:6:42"},"nativeSrc":"1565:22:42","nodeType":"YulFunctionCall","src":"1565:22:42"},"nativeSrc":"1565:22:42","nodeType":"YulExpressionStatement","src":"1565:22:42"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57416,"isOffset":false,"isSlot":false,"src":"1572:8:42","valueSize":1},{"declaration":57413,"isOffset":false,"isSlot":false,"src":"1582:4:42","valueSize":1}],"flags":["memory-safe"],"id":57429,"nodeType":"InlineAssembly","src":"1526:71:42"}]},"documentation":{"id":57401,"nodeType":"StructuredDocumentation","src":"1041:155:42","text":"@notice applies a new currency delta for a given account and currency\n @return previous The prior value\n @return next The modified result"},"id":57431,"implemented":true,"kind":"function","modifiers":[],"name":"applyDelta","nameLocation":"1210:10:42","nodeType":"FunctionDefinition","parameters":{"id":57409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57404,"mutability":"mutable","name":"currency","nameLocation":"1230:8:42","nodeType":"VariableDeclaration","scope":57431,"src":"1221:17:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57403,"nodeType":"UserDefinedTypeName","pathNode":{"id":57402,"name":"Currency","nameLocations":["1221:8:42"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1221:8:42"},"referencedDeclaration":4399,"src":"1221:8:42","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":57406,"mutability":"mutable","name":"target","nameLocation":"1248:6:42","nodeType":"VariableDeclaration","scope":57431,"src":"1240:14:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57405,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57408,"mutability":"mutable","name":"delta","nameLocation":"1263:5:42","nodeType":"VariableDeclaration","scope":57431,"src":"1256:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":57407,"name":"int128","nodeType":"ElementaryTypeName","src":"1256:6:42","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"1220:49:42"},"returnParameters":{"id":57414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57411,"mutability":"mutable","name":"previous","nameLocation":"1311:8:42","nodeType":"VariableDeclaration","scope":57431,"src":"1304:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57410,"name":"int256","nodeType":"ElementaryTypeName","src":"1304:6:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":57413,"mutability":"mutable","name":"next","nameLocation":"1328:4:42","nodeType":"VariableDeclaration","scope":57431,"src":"1321:11:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57412,"name":"int256","nodeType":"ElementaryTypeName","src":"1321:6:42","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1303:30:42"},"scope":57432,"src":"1201:402:42","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57433,"src":"304:1301:42","usedErrors":[],"usedEvents":[]}],"src":"37:1569:42"},"id":42},"v4-core/src/libraries/CurrencyReserves.sol":{"ast":{"absolutePath":"v4-core/src/libraries/CurrencyReserves.sol","exportedSymbols":{"Currency":[4399],"CurrencyReserves":[57480],"CustomRevert":[45214]},"id":57481,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":57434,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"37:24:43"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":57436,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57481,"sourceUnit":4694,"src":"63:47:43","symbolAliases":[{"foreign":{"id":57435,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"71:8:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":57438,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":57481,"sourceUnit":45215,"src":"111:48:43","symbolAliases":[{"foreign":{"id":57437,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"119:12:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"CurrencyReserves","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":57480,"linearizedBaseContracts":[57480],"name":"CurrencyReserves","nameLocation":"169:16:43","nodeType":"ContractDefinition","nodes":[{"global":false,"id":57441,"libraryName":{"id":57439,"name":"CustomRevert","nameLocations":["198:12:43"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"198:12:43"},"nodeType":"UsingForDirective","src":"192:30:43","typeName":{"id":57440,"name":"bytes4","nodeType":"ElementaryTypeName","src":"215:6:43","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"constant":true,"documentation":{"id":57442,"nodeType":"StructuredDocumentation","src":"228:49:43","text":"bytes32(uint256(keccak256(\"ReservesOf\")) - 1)"},"id":57445,"mutability":"constant","name":"RESERVES_OF_SLOT","nameLocation":"299:16:43","nodeType":"VariableDeclaration","scope":57480,"src":"282:102:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307831653037343561376462313632333938316630623261356434323332333634633030373837323636656237356164353436663139306536636562653962643935","id":57444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318:66:43","typeDescriptions":{"typeIdentifier":"t_rational_13582234132832961652756477188584847927179359657859594952372729441197434191253_by_1","typeString":"int_const 1358...(69 digits omitted)...1253"},"value":"0x1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd95"},"visibility":"internal"},{"constant":true,"documentation":{"id":57446,"nodeType":"StructuredDocumentation","src":"390:47:43","text":"bytes32(uint256(keccak256(\"Currency\")) - 1)"},"id":57449,"mutability":"constant","name":"CURRENCY_SLOT","nameLocation":"459:13:43","nodeType":"VariableDeclaration","scope":57480,"src":"442:99:43","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"442:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307832376530393863353035643434656333353734303034626361303532616162663736626433353030346331383230393964386335373566623233383539336239","id":57448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"475:66:43","typeDescriptions":{"typeIdentifier":"t_rational_18037029214425852597980496522548842536420057720408124260691716999909707453369_by_1","typeString":"int_const 1803...(69 digits omitted)...3369"},"value":"0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9"},"visibility":"internal"},{"body":{"id":57456,"nodeType":"Block","src":"619:97:43","statements":[{"AST":{"nativeSrc":"654:56:43","nodeType":"YulBlock","src":"654:56:43","statements":[{"nativeSrc":"668:32:43","nodeType":"YulAssignment","src":"668:32:43","value":{"arguments":[{"name":"CURRENCY_SLOT","nativeSrc":"686:13:43","nodeType":"YulIdentifier","src":"686:13:43"}],"functionName":{"name":"tload","nativeSrc":"680:5:43","nodeType":"YulIdentifier","src":"680:5:43"},"nativeSrc":"680:20:43","nodeType":"YulFunctionCall","src":"680:20:43"},"variableNames":[{"name":"currency","nativeSrc":"668:8:43","nodeType":"YulIdentifier","src":"668:8:43"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57449,"isOffset":false,"isSlot":false,"src":"686:13:43","valueSize":1},{"declaration":57453,"isOffset":false,"isSlot":false,"src":"668:8:43","valueSize":1}],"flags":["memory-safe"],"id":57455,"nodeType":"InlineAssembly","src":"629:81:43"}]},"id":57457,"implemented":true,"kind":"function","modifiers":[],"name":"getSyncedCurrency","nameLocation":"557:17:43","nodeType":"FunctionDefinition","parameters":{"id":57450,"nodeType":"ParameterList","parameters":[],"src":"574:2:43"},"returnParameters":{"id":57454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57453,"mutability":"mutable","name":"currency","nameLocation":"609:8:43","nodeType":"VariableDeclaration","scope":57457,"src":"600:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57452,"nodeType":"UserDefinedTypeName","pathNode":{"id":57451,"name":"Currency","nameLocations":["600:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"600:8:43"},"referencedDeclaration":4399,"src":"600:8:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"599:19:43"},"scope":57480,"src":"548:168:43","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57461,"nodeType":"Block","src":"756:89:43","statements":[{"AST":{"nativeSrc":"791:48:43","nodeType":"YulBlock","src":"791:48:43","statements":[{"expression":{"arguments":[{"name":"CURRENCY_SLOT","nativeSrc":"812:13:43","nodeType":"YulIdentifier","src":"812:13:43"},{"kind":"number","nativeSrc":"827:1:43","nodeType":"YulLiteral","src":"827:1:43","type":"","value":"0"}],"functionName":{"name":"tstore","nativeSrc":"805:6:43","nodeType":"YulIdentifier","src":"805:6:43"},"nativeSrc":"805:24:43","nodeType":"YulFunctionCall","src":"805:24:43"},"nativeSrc":"805:24:43","nodeType":"YulExpressionStatement","src":"805:24:43"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57449,"isOffset":false,"isSlot":false,"src":"812:13:43","valueSize":1}],"flags":["memory-safe"],"id":57460,"nodeType":"InlineAssembly","src":"766:73:43"}]},"id":57462,"implemented":true,"kind":"function","modifiers":[],"name":"resetCurrency","nameLocation":"731:13:43","nodeType":"FunctionDefinition","parameters":{"id":57458,"nodeType":"ParameterList","parameters":[],"src":"744:2:43"},"returnParameters":{"id":57459,"nodeType":"ParameterList","parameters":[],"src":"756:0:43"},"scope":57480,"src":"722:123:43","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57471,"nodeType":"Block","src":"927:189:43","statements":[{"AST":{"nativeSrc":"962:148:43","nodeType":"YulBlock","src":"962:148:43","statements":[{"expression":{"arguments":[{"name":"CURRENCY_SLOT","nativeSrc":"983:13:43","nodeType":"YulIdentifier","src":"983:13:43"},{"arguments":[{"name":"currency","nativeSrc":"1002:8:43","nodeType":"YulIdentifier","src":"1002:8:43"},{"kind":"number","nativeSrc":"1012:42:43","nodeType":"YulLiteral","src":"1012:42:43","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"998:3:43","nodeType":"YulIdentifier","src":"998:3:43"},"nativeSrc":"998:57:43","nodeType":"YulFunctionCall","src":"998:57:43"}],"functionName":{"name":"tstore","nativeSrc":"976:6:43","nodeType":"YulIdentifier","src":"976:6:43"},"nativeSrc":"976:80:43","nodeType":"YulFunctionCall","src":"976:80:43"},"nativeSrc":"976:80:43","nodeType":"YulExpressionStatement","src":"976:80:43"},{"expression":{"arguments":[{"name":"RESERVES_OF_SLOT","nativeSrc":"1076:16:43","nodeType":"YulIdentifier","src":"1076:16:43"},{"name":"value","nativeSrc":"1094:5:43","nodeType":"YulIdentifier","src":"1094:5:43"}],"functionName":{"name":"tstore","nativeSrc":"1069:6:43","nodeType":"YulIdentifier","src":"1069:6:43"},"nativeSrc":"1069:31:43","nodeType":"YulFunctionCall","src":"1069:31:43"},"nativeSrc":"1069:31:43","nodeType":"YulExpressionStatement","src":"1069:31:43"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57449,"isOffset":false,"isSlot":false,"src":"983:13:43","valueSize":1},{"declaration":57445,"isOffset":false,"isSlot":false,"src":"1076:16:43","valueSize":1},{"declaration":57465,"isOffset":false,"isSlot":false,"src":"1002:8:43","valueSize":1},{"declaration":57467,"isOffset":false,"isSlot":false,"src":"1094:5:43","valueSize":1}],"flags":["memory-safe"],"id":57470,"nodeType":"InlineAssembly","src":"937:173:43"}]},"id":57472,"implemented":true,"kind":"function","modifiers":[],"name":"syncCurrencyAndReserves","nameLocation":"860:23:43","nodeType":"FunctionDefinition","parameters":{"id":57468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57465,"mutability":"mutable","name":"currency","nameLocation":"893:8:43","nodeType":"VariableDeclaration","scope":57472,"src":"884:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":57464,"nodeType":"UserDefinedTypeName","pathNode":{"id":57463,"name":"Currency","nameLocations":["884:8:43"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"884:8:43"},"referencedDeclaration":4399,"src":"884:8:43","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":57467,"mutability":"mutable","name":"value","nameLocation":"911:5:43","nodeType":"VariableDeclaration","scope":57472,"src":"903:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57466,"name":"uint256","nodeType":"ElementaryTypeName","src":"903:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"883:34:43"},"returnParameters":{"id":57469,"nodeType":"ParameterList","parameters":[],"src":"927:0:43"},"scope":57480,"src":"851:265:43","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57478,"nodeType":"Block","src":"1189:97:43","statements":[{"AST":{"nativeSrc":"1224:56:43","nodeType":"YulBlock","src":"1224:56:43","statements":[{"nativeSrc":"1238:32:43","nodeType":"YulAssignment","src":"1238:32:43","value":{"arguments":[{"name":"RESERVES_OF_SLOT","nativeSrc":"1253:16:43","nodeType":"YulIdentifier","src":"1253:16:43"}],"functionName":{"name":"tload","nativeSrc":"1247:5:43","nodeType":"YulIdentifier","src":"1247:5:43"},"nativeSrc":"1247:23:43","nodeType":"YulFunctionCall","src":"1247:23:43"},"variableNames":[{"name":"value","nativeSrc":"1238:5:43","nodeType":"YulIdentifier","src":"1238:5:43"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57445,"isOffset":false,"isSlot":false,"src":"1253:16:43","valueSize":1},{"declaration":57475,"isOffset":false,"isSlot":false,"src":"1238:5:43","valueSize":1}],"flags":["memory-safe"],"id":57477,"nodeType":"InlineAssembly","src":"1199:81:43"}]},"id":57479,"implemented":true,"kind":"function","modifiers":[],"name":"getSyncedReserves","nameLocation":"1131:17:43","nodeType":"FunctionDefinition","parameters":{"id":57473,"nodeType":"ParameterList","parameters":[],"src":"1148:2:43"},"returnParameters":{"id":57476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57475,"mutability":"mutable","name":"value","nameLocation":"1182:5:43","nodeType":"VariableDeclaration","scope":57479,"src":"1174:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57474,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:15:43"},"scope":57480,"src":"1122:164:43","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":57481,"src":"161:1127:43","usedErrors":[],"usedEvents":[]}],"src":"37:1252:43"},"id":43},"v4-core/src/libraries/CustomRevert.sol":{"ast":{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","exportedSymbols":{"CustomRevert":[45214]},"id":45215,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45110,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:44"},{"abstract":false,"baseContracts":[],"canonicalName":"CustomRevert","contractDependencies":[],"contractKind":"library","documentation":{"id":45111,"nodeType":"StructuredDocumentation","src":"57:444:44","text":"@title Library for reverting with custom errors efficiently\n @notice Contains functions for reverting with custom errors with different argument types efficiently\n @dev To use this library, declare `using CustomRevert for bytes4;` and replace `revert CustomError()` with\n `CustomError.selector.revertWith()`\n @dev The functions may tamper with the free memory pointer but it is fine since the call context is exited immediately"},"fullyImplemented":true,"id":45214,"linearizedBaseContracts":[45214],"name":"CustomRevert","nameLocation":"509:12:44","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":45112,"nodeType":"StructuredDocumentation","src":"528:55:44","text":"@dev ERC-7751 error for wrapping bubbled up reverts"},"errorSelector":"90bfb865","id":45122,"name":"WrappedError","nameLocation":"594:12:44","nodeType":"ErrorDefinition","parameters":{"id":45121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45114,"mutability":"mutable","name":"target","nameLocation":"615:6:44","nodeType":"VariableDeclaration","scope":45122,"src":"607:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45113,"name":"address","nodeType":"ElementaryTypeName","src":"607:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45116,"mutability":"mutable","name":"selector","nameLocation":"630:8:44","nodeType":"VariableDeclaration","scope":45122,"src":"623:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45115,"name":"bytes4","nodeType":"ElementaryTypeName","src":"623:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45118,"mutability":"mutable","name":"reason","nameLocation":"646:6:44","nodeType":"VariableDeclaration","scope":45122,"src":"640:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45117,"name":"bytes","nodeType":"ElementaryTypeName","src":"640:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":45120,"mutability":"mutable","name":"details","nameLocation":"660:7:44","nodeType":"VariableDeclaration","scope":45122,"src":"654:13:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45119,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"606:62:44"},"src":"588:81:44"},{"body":{"id":45129,"nodeType":"Block","src":"804:112:44","statements":[{"AST":{"nativeSrc":"839:71:44","nodeType":"YulBlock","src":"839:71:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"860:1:44","nodeType":"YulLiteral","src":"860:1:44","type":"","value":"0"},{"name":"selector","nativeSrc":"863:8:44","nodeType":"YulIdentifier","src":"863:8:44"}],"functionName":{"name":"mstore","nativeSrc":"853:6:44","nodeType":"YulIdentifier","src":"853:6:44"},"nativeSrc":"853:19:44","nodeType":"YulFunctionCall","src":"853:19:44"},"nativeSrc":"853:19:44","nodeType":"YulExpressionStatement","src":"853:19:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"892:1:44","nodeType":"YulLiteral","src":"892:1:44","type":"","value":"0"},{"kind":"number","nativeSrc":"895:4:44","nodeType":"YulLiteral","src":"895:4:44","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"885:6:44","nodeType":"YulIdentifier","src":"885:6:44"},"nativeSrc":"885:15:44","nodeType":"YulFunctionCall","src":"885:15:44"},"nativeSrc":"885:15:44","nodeType":"YulExpressionStatement","src":"885:15:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45125,"isOffset":false,"isSlot":false,"src":"863:8:44","valueSize":1}],"flags":["memory-safe"],"id":45128,"nodeType":"InlineAssembly","src":"814:96:44"}]},"documentation":{"id":45123,"nodeType":"StructuredDocumentation","src":"675:73:44","text":"@dev Reverts with the selector of a custom error in the scratch space"},"id":45130,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"762:10:44","nodeType":"FunctionDefinition","parameters":{"id":45126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45125,"mutability":"mutable","name":"selector","nameLocation":"780:8:44","nodeType":"VariableDeclaration","scope":45130,"src":"773:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45124,"name":"bytes4","nodeType":"ElementaryTypeName","src":"773:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"772:17:44"},"returnParameters":{"id":45127,"nodeType":"ParameterList","parameters":[],"src":"804:0:44"},"scope":45214,"src":"753:163:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45139,"nodeType":"Block","src":"1074:192:44","statements":[{"AST":{"nativeSrc":"1109:151:44","nodeType":"YulBlock","src":"1109:151:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1130:1:44","nodeType":"YulLiteral","src":"1130:1:44","type":"","value":"0"},{"name":"selector","nativeSrc":"1133:8:44","nodeType":"YulIdentifier","src":"1133:8:44"}],"functionName":{"name":"mstore","nativeSrc":"1123:6:44","nodeType":"YulIdentifier","src":"1123:6:44"},"nativeSrc":"1123:19:44","nodeType":"YulFunctionCall","src":"1123:19:44"},"nativeSrc":"1123:19:44","nodeType":"YulExpressionStatement","src":"1123:19:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1162:4:44","nodeType":"YulLiteral","src":"1162:4:44","type":"","value":"0x04"},{"arguments":[{"name":"addr","nativeSrc":"1172:4:44","nodeType":"YulIdentifier","src":"1172:4:44"},{"kind":"number","nativeSrc":"1178:42:44","nodeType":"YulLiteral","src":"1178:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1168:3:44","nodeType":"YulIdentifier","src":"1168:3:44"},"nativeSrc":"1168:53:44","nodeType":"YulFunctionCall","src":"1168:53:44"}],"functionName":{"name":"mstore","nativeSrc":"1155:6:44","nodeType":"YulIdentifier","src":"1155:6:44"},"nativeSrc":"1155:67:44","nodeType":"YulFunctionCall","src":"1155:67:44"},"nativeSrc":"1155:67:44","nodeType":"YulExpressionStatement","src":"1155:67:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1242:1:44","nodeType":"YulLiteral","src":"1242:1:44","type":"","value":"0"},{"kind":"number","nativeSrc":"1245:4:44","nodeType":"YulLiteral","src":"1245:4:44","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1235:6:44","nodeType":"YulIdentifier","src":"1235:6:44"},"nativeSrc":"1235:15:44","nodeType":"YulFunctionCall","src":"1235:15:44"},"nativeSrc":"1235:15:44","nodeType":"YulExpressionStatement","src":"1235:15:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45135,"isOffset":false,"isSlot":false,"src":"1172:4:44","valueSize":1},{"declaration":45133,"isOffset":false,"isSlot":false,"src":"1133:8:44","valueSize":1}],"flags":["memory-safe"],"id":45138,"nodeType":"InlineAssembly","src":"1084:176:44"}]},"documentation":{"id":45131,"nodeType":"StructuredDocumentation","src":"922:82:44","text":"@dev Reverts with a custom error with an address argument in the scratch space"},"id":45140,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"1018:10:44","nodeType":"FunctionDefinition","parameters":{"id":45136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45133,"mutability":"mutable","name":"selector","nameLocation":"1036:8:44","nodeType":"VariableDeclaration","scope":45140,"src":"1029:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45132,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1029:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45135,"mutability":"mutable","name":"addr","nameLocation":"1054:4:44","nodeType":"VariableDeclaration","scope":45140,"src":"1046:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45134,"name":"address","nodeType":"ElementaryTypeName","src":"1046:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1028:31:44"},"returnParameters":{"id":45137,"nodeType":"ParameterList","parameters":[],"src":"1074:0:44"},"scope":45214,"src":"1009:257:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45149,"nodeType":"Block","src":"1421:159:44","statements":[{"AST":{"nativeSrc":"1456:118:44","nodeType":"YulBlock","src":"1456:118:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1477:1:44","nodeType":"YulLiteral","src":"1477:1:44","type":"","value":"0"},{"name":"selector","nativeSrc":"1480:8:44","nodeType":"YulIdentifier","src":"1480:8:44"}],"functionName":{"name":"mstore","nativeSrc":"1470:6:44","nodeType":"YulIdentifier","src":"1470:6:44"},"nativeSrc":"1470:19:44","nodeType":"YulFunctionCall","src":"1470:19:44"},"nativeSrc":"1470:19:44","nodeType":"YulExpressionStatement","src":"1470:19:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1509:4:44","nodeType":"YulLiteral","src":"1509:4:44","type":"","value":"0x04"},{"arguments":[{"kind":"number","nativeSrc":"1526:1:44","nodeType":"YulLiteral","src":"1526:1:44","type":"","value":"2"},{"name":"value","nativeSrc":"1529:5:44","nodeType":"YulIdentifier","src":"1529:5:44"}],"functionName":{"name":"signextend","nativeSrc":"1515:10:44","nodeType":"YulIdentifier","src":"1515:10:44"},"nativeSrc":"1515:20:44","nodeType":"YulFunctionCall","src":"1515:20:44"}],"functionName":{"name":"mstore","nativeSrc":"1502:6:44","nodeType":"YulIdentifier","src":"1502:6:44"},"nativeSrc":"1502:34:44","nodeType":"YulFunctionCall","src":"1502:34:44"},"nativeSrc":"1502:34:44","nodeType":"YulExpressionStatement","src":"1502:34:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1556:1:44","nodeType":"YulLiteral","src":"1556:1:44","type":"","value":"0"},{"kind":"number","nativeSrc":"1559:4:44","nodeType":"YulLiteral","src":"1559:4:44","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1549:6:44","nodeType":"YulIdentifier","src":"1549:6:44"},"nativeSrc":"1549:15:44","nodeType":"YulFunctionCall","src":"1549:15:44"},"nativeSrc":"1549:15:44","nodeType":"YulExpressionStatement","src":"1549:15:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45143,"isOffset":false,"isSlot":false,"src":"1480:8:44","valueSize":1},{"declaration":45145,"isOffset":false,"isSlot":false,"src":"1529:5:44","valueSize":1}],"flags":["memory-safe"],"id":45148,"nodeType":"InlineAssembly","src":"1431:143:44"}]},"documentation":{"id":45141,"nodeType":"StructuredDocumentation","src":"1272:80:44","text":"@dev Reverts with a custom error with an int24 argument in the scratch space"},"id":45150,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"1366:10:44","nodeType":"FunctionDefinition","parameters":{"id":45146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45143,"mutability":"mutable","name":"selector","nameLocation":"1384:8:44","nodeType":"VariableDeclaration","scope":45150,"src":"1377:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45142,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1377:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45145,"mutability":"mutable","name":"value","nameLocation":"1400:5:44","nodeType":"VariableDeclaration","scope":45150,"src":"1394:11:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45144,"name":"int24","nodeType":"ElementaryTypeName","src":"1394:5:44","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1376:30:44"},"returnParameters":{"id":45147,"nodeType":"ParameterList","parameters":[],"src":"1421:0:44"},"scope":45214,"src":"1357:223:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45159,"nodeType":"Block","src":"1738:193:44","statements":[{"AST":{"nativeSrc":"1773:152:44","nodeType":"YulBlock","src":"1773:152:44","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1794:1:44","nodeType":"YulLiteral","src":"1794:1:44","type":"","value":"0"},{"name":"selector","nativeSrc":"1797:8:44","nodeType":"YulIdentifier","src":"1797:8:44"}],"functionName":{"name":"mstore","nativeSrc":"1787:6:44","nodeType":"YulIdentifier","src":"1787:6:44"},"nativeSrc":"1787:19:44","nodeType":"YulFunctionCall","src":"1787:19:44"},"nativeSrc":"1787:19:44","nodeType":"YulExpressionStatement","src":"1787:19:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1826:4:44","nodeType":"YulLiteral","src":"1826:4:44","type":"","value":"0x04"},{"arguments":[{"name":"value","nativeSrc":"1836:5:44","nodeType":"YulIdentifier","src":"1836:5:44"},{"kind":"number","nativeSrc":"1843:42:44","nodeType":"YulLiteral","src":"1843:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1832:3:44","nodeType":"YulIdentifier","src":"1832:3:44"},"nativeSrc":"1832:54:44","nodeType":"YulFunctionCall","src":"1832:54:44"}],"functionName":{"name":"mstore","nativeSrc":"1819:6:44","nodeType":"YulIdentifier","src":"1819:6:44"},"nativeSrc":"1819:68:44","nodeType":"YulFunctionCall","src":"1819:68:44"},"nativeSrc":"1819:68:44","nodeType":"YulExpressionStatement","src":"1819:68:44"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1907:1:44","nodeType":"YulLiteral","src":"1907:1:44","type":"","value":"0"},{"kind":"number","nativeSrc":"1910:4:44","nodeType":"YulLiteral","src":"1910:4:44","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1900:6:44","nodeType":"YulIdentifier","src":"1900:6:44"},"nativeSrc":"1900:15:44","nodeType":"YulFunctionCall","src":"1900:15:44"},"nativeSrc":"1900:15:44","nodeType":"YulExpressionStatement","src":"1900:15:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45153,"isOffset":false,"isSlot":false,"src":"1797:8:44","valueSize":1},{"declaration":45155,"isOffset":false,"isSlot":false,"src":"1836:5:44","valueSize":1}],"flags":["memory-safe"],"id":45158,"nodeType":"InlineAssembly","src":"1748:177:44"}]},"documentation":{"id":45151,"nodeType":"StructuredDocumentation","src":"1586:81:44","text":"@dev Reverts with a custom error with a uint160 argument in the scratch space"},"id":45160,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"1681:10:44","nodeType":"FunctionDefinition","parameters":{"id":45156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45153,"mutability":"mutable","name":"selector","nameLocation":"1699:8:44","nodeType":"VariableDeclaration","scope":45160,"src":"1692:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45152,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1692:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45155,"mutability":"mutable","name":"value","nameLocation":"1717:5:44","nodeType":"VariableDeclaration","scope":45160,"src":"1709:13:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45154,"name":"uint160","nodeType":"ElementaryTypeName","src":"1709:7:44","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1691:32:44"},"returnParameters":{"id":45157,"nodeType":"ParameterList","parameters":[],"src":"1738:0:44"},"scope":45214,"src":"1672:259:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45171,"nodeType":"Block","src":"2082:267:44","statements":[{"AST":{"nativeSrc":"2117:226:44","nodeType":"YulBlock","src":"2117:226:44","statements":[{"nativeSrc":"2131:22:44","nodeType":"YulVariableDeclaration","src":"2131:22:44","value":{"arguments":[{"kind":"number","nativeSrc":"2148:4:44","nodeType":"YulLiteral","src":"2148:4:44","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2142:5:44","nodeType":"YulIdentifier","src":"2142:5:44"},"nativeSrc":"2142:11:44","nodeType":"YulFunctionCall","src":"2142:11:44"},"variables":[{"name":"fmp","nativeSrc":"2135:3:44","nodeType":"YulTypedName","src":"2135:3:44","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2173:3:44","nodeType":"YulIdentifier","src":"2173:3:44"},{"name":"selector","nativeSrc":"2178:8:44","nodeType":"YulIdentifier","src":"2178:8:44"}],"functionName":{"name":"mstore","nativeSrc":"2166:6:44","nodeType":"YulIdentifier","src":"2166:6:44"},"nativeSrc":"2166:21:44","nodeType":"YulFunctionCall","src":"2166:21:44"},"nativeSrc":"2166:21:44","nodeType":"YulExpressionStatement","src":"2166:21:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2211:3:44","nodeType":"YulIdentifier","src":"2211:3:44"},{"kind":"number","nativeSrc":"2216:4:44","nodeType":"YulLiteral","src":"2216:4:44","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"2207:3:44","nodeType":"YulIdentifier","src":"2207:3:44"},"nativeSrc":"2207:14:44","nodeType":"YulFunctionCall","src":"2207:14:44"},{"arguments":[{"kind":"number","nativeSrc":"2234:1:44","nodeType":"YulLiteral","src":"2234:1:44","type":"","value":"2"},{"name":"value1","nativeSrc":"2237:6:44","nodeType":"YulIdentifier","src":"2237:6:44"}],"functionName":{"name":"signextend","nativeSrc":"2223:10:44","nodeType":"YulIdentifier","src":"2223:10:44"},"nativeSrc":"2223:21:44","nodeType":"YulFunctionCall","src":"2223:21:44"}],"functionName":{"name":"mstore","nativeSrc":"2200:6:44","nodeType":"YulIdentifier","src":"2200:6:44"},"nativeSrc":"2200:45:44","nodeType":"YulFunctionCall","src":"2200:45:44"},"nativeSrc":"2200:45:44","nodeType":"YulExpressionStatement","src":"2200:45:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2269:3:44","nodeType":"YulIdentifier","src":"2269:3:44"},{"kind":"number","nativeSrc":"2274:4:44","nodeType":"YulLiteral","src":"2274:4:44","type":"","value":"0x24"}],"functionName":{"name":"add","nativeSrc":"2265:3:44","nodeType":"YulIdentifier","src":"2265:3:44"},"nativeSrc":"2265:14:44","nodeType":"YulFunctionCall","src":"2265:14:44"},{"arguments":[{"kind":"number","nativeSrc":"2292:1:44","nodeType":"YulLiteral","src":"2292:1:44","type":"","value":"2"},{"name":"value2","nativeSrc":"2295:6:44","nodeType":"YulIdentifier","src":"2295:6:44"}],"functionName":{"name":"signextend","nativeSrc":"2281:10:44","nodeType":"YulIdentifier","src":"2281:10:44"},"nativeSrc":"2281:21:44","nodeType":"YulFunctionCall","src":"2281:21:44"}],"functionName":{"name":"mstore","nativeSrc":"2258:6:44","nodeType":"YulIdentifier","src":"2258:6:44"},"nativeSrc":"2258:45:44","nodeType":"YulFunctionCall","src":"2258:45:44"},"nativeSrc":"2258:45:44","nodeType":"YulExpressionStatement","src":"2258:45:44"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2323:3:44","nodeType":"YulIdentifier","src":"2323:3:44"},{"kind":"number","nativeSrc":"2328:4:44","nodeType":"YulLiteral","src":"2328:4:44","type":"","value":"0x44"}],"functionName":{"name":"revert","nativeSrc":"2316:6:44","nodeType":"YulIdentifier","src":"2316:6:44"},"nativeSrc":"2316:17:44","nodeType":"YulFunctionCall","src":"2316:17:44"},"nativeSrc":"2316:17:44","nodeType":"YulExpressionStatement","src":"2316:17:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45163,"isOffset":false,"isSlot":false,"src":"2178:8:44","valueSize":1},{"declaration":45165,"isOffset":false,"isSlot":false,"src":"2237:6:44","valueSize":1},{"declaration":45167,"isOffset":false,"isSlot":false,"src":"2295:6:44","valueSize":1}],"flags":["memory-safe"],"id":45170,"nodeType":"InlineAssembly","src":"2092:251:44"}]},"documentation":{"id":45161,"nodeType":"StructuredDocumentation","src":"1937:61:44","text":"@dev Reverts with a custom error with two int24 arguments"},"id":45172,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"2012:10:44","nodeType":"FunctionDefinition","parameters":{"id":45168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45163,"mutability":"mutable","name":"selector","nameLocation":"2030:8:44","nodeType":"VariableDeclaration","scope":45172,"src":"2023:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45162,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2023:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45165,"mutability":"mutable","name":"value1","nameLocation":"2046:6:44","nodeType":"VariableDeclaration","scope":45172,"src":"2040:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45164,"name":"int24","nodeType":"ElementaryTypeName","src":"2040:5:44","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45167,"mutability":"mutable","name":"value2","nameLocation":"2060:6:44","nodeType":"VariableDeclaration","scope":45172,"src":"2054:12:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45166,"name":"int24","nodeType":"ElementaryTypeName","src":"2054:5:44","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2022:45:44"},"returnParameters":{"id":45169,"nodeType":"ParameterList","parameters":[],"src":"2082:0:44"},"scope":45214,"src":"2003:346:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45183,"nodeType":"Block","src":"2506:335:44","statements":[{"AST":{"nativeSrc":"2541:294:44","nodeType":"YulBlock","src":"2541:294:44","statements":[{"nativeSrc":"2555:22:44","nodeType":"YulVariableDeclaration","src":"2555:22:44","value":{"arguments":[{"kind":"number","nativeSrc":"2572:4:44","nodeType":"YulLiteral","src":"2572:4:44","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2566:5:44","nodeType":"YulIdentifier","src":"2566:5:44"},"nativeSrc":"2566:11:44","nodeType":"YulFunctionCall","src":"2566:11:44"},"variables":[{"name":"fmp","nativeSrc":"2559:3:44","nodeType":"YulTypedName","src":"2559:3:44","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2597:3:44","nodeType":"YulIdentifier","src":"2597:3:44"},{"name":"selector","nativeSrc":"2602:8:44","nodeType":"YulIdentifier","src":"2602:8:44"}],"functionName":{"name":"mstore","nativeSrc":"2590:6:44","nodeType":"YulIdentifier","src":"2590:6:44"},"nativeSrc":"2590:21:44","nodeType":"YulFunctionCall","src":"2590:21:44"},"nativeSrc":"2590:21:44","nodeType":"YulExpressionStatement","src":"2590:21:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2635:3:44","nodeType":"YulIdentifier","src":"2635:3:44"},{"kind":"number","nativeSrc":"2640:4:44","nodeType":"YulLiteral","src":"2640:4:44","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"2631:3:44","nodeType":"YulIdentifier","src":"2631:3:44"},"nativeSrc":"2631:14:44","nodeType":"YulFunctionCall","src":"2631:14:44"},{"arguments":[{"name":"value1","nativeSrc":"2651:6:44","nodeType":"YulIdentifier","src":"2651:6:44"},{"kind":"number","nativeSrc":"2659:42:44","nodeType":"YulLiteral","src":"2659:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"2647:3:44","nodeType":"YulIdentifier","src":"2647:3:44"},"nativeSrc":"2647:55:44","nodeType":"YulFunctionCall","src":"2647:55:44"}],"functionName":{"name":"mstore","nativeSrc":"2624:6:44","nodeType":"YulIdentifier","src":"2624:6:44"},"nativeSrc":"2624:79:44","nodeType":"YulFunctionCall","src":"2624:79:44"},"nativeSrc":"2624:79:44","nodeType":"YulExpressionStatement","src":"2624:79:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2727:3:44","nodeType":"YulIdentifier","src":"2727:3:44"},{"kind":"number","nativeSrc":"2732:4:44","nodeType":"YulLiteral","src":"2732:4:44","type":"","value":"0x24"}],"functionName":{"name":"add","nativeSrc":"2723:3:44","nodeType":"YulIdentifier","src":"2723:3:44"},"nativeSrc":"2723:14:44","nodeType":"YulFunctionCall","src":"2723:14:44"},{"arguments":[{"name":"value2","nativeSrc":"2743:6:44","nodeType":"YulIdentifier","src":"2743:6:44"},{"kind":"number","nativeSrc":"2751:42:44","nodeType":"YulLiteral","src":"2751:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"2739:3:44","nodeType":"YulIdentifier","src":"2739:3:44"},"nativeSrc":"2739:55:44","nodeType":"YulFunctionCall","src":"2739:55:44"}],"functionName":{"name":"mstore","nativeSrc":"2716:6:44","nodeType":"YulIdentifier","src":"2716:6:44"},"nativeSrc":"2716:79:44","nodeType":"YulFunctionCall","src":"2716:79:44"},"nativeSrc":"2716:79:44","nodeType":"YulExpressionStatement","src":"2716:79:44"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2815:3:44","nodeType":"YulIdentifier","src":"2815:3:44"},{"kind":"number","nativeSrc":"2820:4:44","nodeType":"YulLiteral","src":"2820:4:44","type":"","value":"0x44"}],"functionName":{"name":"revert","nativeSrc":"2808:6:44","nodeType":"YulIdentifier","src":"2808:6:44"},"nativeSrc":"2808:17:44","nodeType":"YulFunctionCall","src":"2808:17:44"},"nativeSrc":"2808:17:44","nodeType":"YulExpressionStatement","src":"2808:17:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45175,"isOffset":false,"isSlot":false,"src":"2602:8:44","valueSize":1},{"declaration":45177,"isOffset":false,"isSlot":false,"src":"2651:6:44","valueSize":1},{"declaration":45179,"isOffset":false,"isSlot":false,"src":"2743:6:44","valueSize":1}],"flags":["memory-safe"],"id":45182,"nodeType":"InlineAssembly","src":"2516:319:44"}]},"documentation":{"id":45173,"nodeType":"StructuredDocumentation","src":"2355:63:44","text":"@dev Reverts with a custom error with two uint160 arguments"},"id":45184,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"2432:10:44","nodeType":"FunctionDefinition","parameters":{"id":45180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45175,"mutability":"mutable","name":"selector","nameLocation":"2450:8:44","nodeType":"VariableDeclaration","scope":45184,"src":"2443:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45174,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2443:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45177,"mutability":"mutable","name":"value1","nameLocation":"2468:6:44","nodeType":"VariableDeclaration","scope":45184,"src":"2460:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45176,"name":"uint160","nodeType":"ElementaryTypeName","src":"2460:7:44","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":45179,"mutability":"mutable","name":"value2","nameLocation":"2484:6:44","nodeType":"VariableDeclaration","scope":45184,"src":"2476:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45178,"name":"uint160","nodeType":"ElementaryTypeName","src":"2476:7:44","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"2442:49:44"},"returnParameters":{"id":45181,"nodeType":"ParameterList","parameters":[],"src":"2506:0:44"},"scope":45214,"src":"2423:418:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45195,"nodeType":"Block","src":"2998:335:44","statements":[{"AST":{"nativeSrc":"3033:294:44","nodeType":"YulBlock","src":"3033:294:44","statements":[{"nativeSrc":"3047:22:44","nodeType":"YulVariableDeclaration","src":"3047:22:44","value":{"arguments":[{"kind":"number","nativeSrc":"3064:4:44","nodeType":"YulLiteral","src":"3064:4:44","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"3058:5:44","nodeType":"YulIdentifier","src":"3058:5:44"},"nativeSrc":"3058:11:44","nodeType":"YulFunctionCall","src":"3058:11:44"},"variables":[{"name":"fmp","nativeSrc":"3051:3:44","nodeType":"YulTypedName","src":"3051:3:44","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"3089:3:44","nodeType":"YulIdentifier","src":"3089:3:44"},{"name":"selector","nativeSrc":"3094:8:44","nodeType":"YulIdentifier","src":"3094:8:44"}],"functionName":{"name":"mstore","nativeSrc":"3082:6:44","nodeType":"YulIdentifier","src":"3082:6:44"},"nativeSrc":"3082:21:44","nodeType":"YulFunctionCall","src":"3082:21:44"},"nativeSrc":"3082:21:44","nodeType":"YulExpressionStatement","src":"3082:21:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"3127:3:44","nodeType":"YulIdentifier","src":"3127:3:44"},{"kind":"number","nativeSrc":"3132:4:44","nodeType":"YulLiteral","src":"3132:4:44","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"3123:3:44","nodeType":"YulIdentifier","src":"3123:3:44"},"nativeSrc":"3123:14:44","nodeType":"YulFunctionCall","src":"3123:14:44"},{"arguments":[{"name":"value1","nativeSrc":"3143:6:44","nodeType":"YulIdentifier","src":"3143:6:44"},{"kind":"number","nativeSrc":"3151:42:44","nodeType":"YulLiteral","src":"3151:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"3139:3:44","nodeType":"YulIdentifier","src":"3139:3:44"},"nativeSrc":"3139:55:44","nodeType":"YulFunctionCall","src":"3139:55:44"}],"functionName":{"name":"mstore","nativeSrc":"3116:6:44","nodeType":"YulIdentifier","src":"3116:6:44"},"nativeSrc":"3116:79:44","nodeType":"YulFunctionCall","src":"3116:79:44"},"nativeSrc":"3116:79:44","nodeType":"YulExpressionStatement","src":"3116:79:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"3219:3:44","nodeType":"YulIdentifier","src":"3219:3:44"},{"kind":"number","nativeSrc":"3224:4:44","nodeType":"YulLiteral","src":"3224:4:44","type":"","value":"0x24"}],"functionName":{"name":"add","nativeSrc":"3215:3:44","nodeType":"YulIdentifier","src":"3215:3:44"},"nativeSrc":"3215:14:44","nodeType":"YulFunctionCall","src":"3215:14:44"},{"arguments":[{"name":"value2","nativeSrc":"3235:6:44","nodeType":"YulIdentifier","src":"3235:6:44"},{"kind":"number","nativeSrc":"3243:42:44","nodeType":"YulLiteral","src":"3243:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"3231:3:44","nodeType":"YulIdentifier","src":"3231:3:44"},"nativeSrc":"3231:55:44","nodeType":"YulFunctionCall","src":"3231:55:44"}],"functionName":{"name":"mstore","nativeSrc":"3208:6:44","nodeType":"YulIdentifier","src":"3208:6:44"},"nativeSrc":"3208:79:44","nodeType":"YulFunctionCall","src":"3208:79:44"},"nativeSrc":"3208:79:44","nodeType":"YulExpressionStatement","src":"3208:79:44"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"3307:3:44","nodeType":"YulIdentifier","src":"3307:3:44"},{"kind":"number","nativeSrc":"3312:4:44","nodeType":"YulLiteral","src":"3312:4:44","type":"","value":"0x44"}],"functionName":{"name":"revert","nativeSrc":"3300:6:44","nodeType":"YulIdentifier","src":"3300:6:44"},"nativeSrc":"3300:17:44","nodeType":"YulFunctionCall","src":"3300:17:44"},"nativeSrc":"3300:17:44","nodeType":"YulExpressionStatement","src":"3300:17:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45187,"isOffset":false,"isSlot":false,"src":"3094:8:44","valueSize":1},{"declaration":45189,"isOffset":false,"isSlot":false,"src":"3143:6:44","valueSize":1},{"declaration":45191,"isOffset":false,"isSlot":false,"src":"3235:6:44","valueSize":1}],"flags":["memory-safe"],"id":45194,"nodeType":"InlineAssembly","src":"3008:319:44"}]},"documentation":{"id":45185,"nodeType":"StructuredDocumentation","src":"2847:63:44","text":"@dev Reverts with a custom error with two address arguments"},"id":45196,"implemented":true,"kind":"function","modifiers":[],"name":"revertWith","nameLocation":"2924:10:44","nodeType":"FunctionDefinition","parameters":{"id":45192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45187,"mutability":"mutable","name":"selector","nameLocation":"2942:8:44","nodeType":"VariableDeclaration","scope":45196,"src":"2935:15:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45186,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2935:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45189,"mutability":"mutable","name":"value1","nameLocation":"2960:6:44","nodeType":"VariableDeclaration","scope":45196,"src":"2952:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45188,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45191,"mutability":"mutable","name":"value2","nameLocation":"2976:6:44","nodeType":"VariableDeclaration","scope":45196,"src":"2968:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45190,"name":"address","nodeType":"ElementaryTypeName","src":"2968:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2934:49:44"},"returnParameters":{"id":45193,"nodeType":"ParameterList","parameters":[],"src":"2998:0:44"},"scope":45214,"src":"2915:418:44","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45212,"nodeType":"Block","src":"3670:1501:44","statements":[{"assignments":[45207],"declarations":[{"constant":false,"id":45207,"mutability":"mutable","name":"wrappedErrorSelector","nameLocation":"3687:20:44","nodeType":"VariableDeclaration","scope":45212,"src":"3680:27:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45206,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3680:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":45210,"initialValue":{"expression":{"id":45208,"name":"WrappedError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45122,"src":"3710:12:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes4_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_error_$","typeString":"function (address,bytes4,bytes memory,bytes memory) pure returns (error)"}},"id":45209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3723:8:44","memberName":"selector","nodeType":"MemberAccess","src":"3710:21:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"3680:51:44"},{"AST":{"nativeSrc":"3766:1399:44","nodeType":"YulBlock","src":"3766:1399:44","statements":[{"nativeSrc":"3856:66:44","nodeType":"YulVariableDeclaration","src":"3856:66:44","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"3891:14:44","nodeType":"YulIdentifier","src":"3891:14:44"},"nativeSrc":"3891:16:44","nodeType":"YulFunctionCall","src":"3891:16:44"},{"kind":"number","nativeSrc":"3909:2:44","nodeType":"YulLiteral","src":"3909:2:44","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"3887:3:44","nodeType":"YulIdentifier","src":"3887:3:44"},"nativeSrc":"3887:25:44","nodeType":"YulFunctionCall","src":"3887:25:44"},{"kind":"number","nativeSrc":"3914:2:44","nodeType":"YulLiteral","src":"3914:2:44","type":"","value":"32"}],"functionName":{"name":"div","nativeSrc":"3883:3:44","nodeType":"YulIdentifier","src":"3883:3:44"},"nativeSrc":"3883:34:44","nodeType":"YulFunctionCall","src":"3883:34:44"},{"kind":"number","nativeSrc":"3919:2:44","nodeType":"YulLiteral","src":"3919:2:44","type":"","value":"32"}],"functionName":{"name":"mul","nativeSrc":"3879:3:44","nodeType":"YulIdentifier","src":"3879:3:44"},"nativeSrc":"3879:43:44","nodeType":"YulFunctionCall","src":"3879:43:44"},"variables":[{"name":"encodedDataSize","nativeSrc":"3860:15:44","nodeType":"YulTypedName","src":"3860:15:44","type":""}]},{"nativeSrc":"3936:22:44","nodeType":"YulVariableDeclaration","src":"3936:22:44","value":{"arguments":[{"kind":"number","nativeSrc":"3953:4:44","nodeType":"YulLiteral","src":"3953:4:44","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"3947:5:44","nodeType":"YulIdentifier","src":"3947:5:44"},"nativeSrc":"3947:11:44","nodeType":"YulFunctionCall","src":"3947:11:44"},"variables":[{"name":"fmp","nativeSrc":"3940:3:44","nodeType":"YulTypedName","src":"3940:3:44","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"4101:3:44","nodeType":"YulIdentifier","src":"4101:3:44"},{"name":"wrappedErrorSelector","nativeSrc":"4106:20:44","nodeType":"YulIdentifier","src":"4106:20:44"}],"functionName":{"name":"mstore","nativeSrc":"4094:6:44","nodeType":"YulIdentifier","src":"4094:6:44"},"nativeSrc":"4094:33:44","nodeType":"YulFunctionCall","src":"4094:33:44"},"nativeSrc":"4094:33:44","nodeType":"YulExpressionStatement","src":"4094:33:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4151:3:44","nodeType":"YulIdentifier","src":"4151:3:44"},{"kind":"number","nativeSrc":"4156:4:44","nodeType":"YulLiteral","src":"4156:4:44","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"4147:3:44","nodeType":"YulIdentifier","src":"4147:3:44"},"nativeSrc":"4147:14:44","nodeType":"YulFunctionCall","src":"4147:14:44"},{"arguments":[{"name":"revertingContract","nativeSrc":"4167:17:44","nodeType":"YulIdentifier","src":"4167:17:44"},{"kind":"number","nativeSrc":"4186:42:44","nodeType":"YulLiteral","src":"4186:42:44","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"4163:3:44","nodeType":"YulIdentifier","src":"4163:3:44"},"nativeSrc":"4163:66:44","nodeType":"YulFunctionCall","src":"4163:66:44"}],"functionName":{"name":"mstore","nativeSrc":"4140:6:44","nodeType":"YulIdentifier","src":"4140:6:44"},"nativeSrc":"4140:90:44","nodeType":"YulFunctionCall","src":"4140:90:44"},"nativeSrc":"4140:90:44","nodeType":"YulExpressionStatement","src":"4140:90:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4271:3:44","nodeType":"YulIdentifier","src":"4271:3:44"},{"kind":"number","nativeSrc":"4276:4:44","nodeType":"YulLiteral","src":"4276:4:44","type":"","value":"0x24"}],"functionName":{"name":"add","nativeSrc":"4267:3:44","nodeType":"YulIdentifier","src":"4267:3:44"},"nativeSrc":"4267:14:44","nodeType":"YulFunctionCall","src":"4267:14:44"},{"arguments":[{"name":"revertingFunctionSelector","nativeSrc":"4303:25:44","nodeType":"YulIdentifier","src":"4303:25:44"},{"kind":"number","nativeSrc":"4330:66:44","nodeType":"YulLiteral","src":"4330:66:44","type":"","value":"0xffffffff00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"and","nativeSrc":"4299:3:44","nodeType":"YulIdentifier","src":"4299:3:44"},"nativeSrc":"4299:98:44","nodeType":"YulFunctionCall","src":"4299:98:44"}],"functionName":{"name":"mstore","nativeSrc":"4243:6:44","nodeType":"YulIdentifier","src":"4243:6:44"},"nativeSrc":"4243:168:44","nodeType":"YulFunctionCall","src":"4243:168:44"},"nativeSrc":"4243:168:44","nodeType":"YulExpressionStatement","src":"4243:168:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4471:3:44","nodeType":"YulIdentifier","src":"4471:3:44"},{"kind":"number","nativeSrc":"4476:4:44","nodeType":"YulLiteral","src":"4476:4:44","type":"","value":"0x44"}],"functionName":{"name":"add","nativeSrc":"4467:3:44","nodeType":"YulIdentifier","src":"4467:3:44"},"nativeSrc":"4467:14:44","nodeType":"YulFunctionCall","src":"4467:14:44"},{"kind":"number","nativeSrc":"4483:4:44","nodeType":"YulLiteral","src":"4483:4:44","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"4460:6:44","nodeType":"YulIdentifier","src":"4460:6:44"},"nativeSrc":"4460:28:44","nodeType":"YulFunctionCall","src":"4460:28:44"},"nativeSrc":"4460:28:44","nodeType":"YulExpressionStatement","src":"4460:28:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4553:3:44","nodeType":"YulIdentifier","src":"4553:3:44"},{"kind":"number","nativeSrc":"4558:4:44","nodeType":"YulLiteral","src":"4558:4:44","type":"","value":"0x64"}],"functionName":{"name":"add","nativeSrc":"4549:3:44","nodeType":"YulIdentifier","src":"4549:3:44"},"nativeSrc":"4549:14:44","nodeType":"YulFunctionCall","src":"4549:14:44"},{"arguments":[{"kind":"number","nativeSrc":"4569:4:44","nodeType":"YulLiteral","src":"4569:4:44","type":"","value":"0xa0"},{"name":"encodedDataSize","nativeSrc":"4575:15:44","nodeType":"YulIdentifier","src":"4575:15:44"}],"functionName":{"name":"add","nativeSrc":"4565:3:44","nodeType":"YulIdentifier","src":"4565:3:44"},"nativeSrc":"4565:26:44","nodeType":"YulFunctionCall","src":"4565:26:44"}],"functionName":{"name":"mstore","nativeSrc":"4542:6:44","nodeType":"YulIdentifier","src":"4542:6:44"},"nativeSrc":"4542:50:44","nodeType":"YulFunctionCall","src":"4542:50:44"},"nativeSrc":"4542:50:44","nodeType":"YulExpressionStatement","src":"4542:50:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4650:3:44","nodeType":"YulIdentifier","src":"4650:3:44"},{"kind":"number","nativeSrc":"4655:4:44","nodeType":"YulLiteral","src":"4655:4:44","type":"","value":"0x84"}],"functionName":{"name":"add","nativeSrc":"4646:3:44","nodeType":"YulIdentifier","src":"4646:3:44"},"nativeSrc":"4646:14:44","nodeType":"YulFunctionCall","src":"4646:14:44"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"4662:14:44","nodeType":"YulIdentifier","src":"4662:14:44"},"nativeSrc":"4662:16:44","nodeType":"YulFunctionCall","src":"4662:16:44"}],"functionName":{"name":"mstore","nativeSrc":"4639:6:44","nodeType":"YulIdentifier","src":"4639:6:44"},"nativeSrc":"4639:40:44","nodeType":"YulFunctionCall","src":"4639:40:44"},"nativeSrc":"4639:40:44","nodeType":"YulExpressionStatement","src":"4639:40:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4740:3:44","nodeType":"YulIdentifier","src":"4740:3:44"},{"kind":"number","nativeSrc":"4745:4:44","nodeType":"YulLiteral","src":"4745:4:44","type":"","value":"0xa4"}],"functionName":{"name":"add","nativeSrc":"4736:3:44","nodeType":"YulIdentifier","src":"4736:3:44"},"nativeSrc":"4736:14:44","nodeType":"YulFunctionCall","src":"4736:14:44"},{"kind":"number","nativeSrc":"4752:1:44","nodeType":"YulLiteral","src":"4752:1:44","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"4755:14:44","nodeType":"YulIdentifier","src":"4755:14:44"},"nativeSrc":"4755:16:44","nodeType":"YulFunctionCall","src":"4755:16:44"}],"functionName":{"name":"returndatacopy","nativeSrc":"4721:14:44","nodeType":"YulIdentifier","src":"4721:14:44"},"nativeSrc":"4721:51:44","nodeType":"YulFunctionCall","src":"4721:51:44"},"nativeSrc":"4721:51:44","nodeType":"YulExpressionStatement","src":"4721:51:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4835:3:44","nodeType":"YulIdentifier","src":"4835:3:44"},{"arguments":[{"kind":"number","nativeSrc":"4844:4:44","nodeType":"YulLiteral","src":"4844:4:44","type":"","value":"0xa4"},{"name":"encodedDataSize","nativeSrc":"4850:15:44","nodeType":"YulIdentifier","src":"4850:15:44"}],"functionName":{"name":"add","nativeSrc":"4840:3:44","nodeType":"YulIdentifier","src":"4840:3:44"},"nativeSrc":"4840:26:44","nodeType":"YulFunctionCall","src":"4840:26:44"}],"functionName":{"name":"add","nativeSrc":"4831:3:44","nodeType":"YulIdentifier","src":"4831:3:44"},"nativeSrc":"4831:36:44","nodeType":"YulFunctionCall","src":"4831:36:44"},{"kind":"number","nativeSrc":"4869:4:44","nodeType":"YulLiteral","src":"4869:4:44","type":"","value":"0x04"}],"functionName":{"name":"mstore","nativeSrc":"4824:6:44","nodeType":"YulIdentifier","src":"4824:6:44"},"nativeSrc":"4824:50:44","nodeType":"YulFunctionCall","src":"4824:50:44"},"nativeSrc":"4824:50:44","nodeType":"YulExpressionStatement","src":"4824:50:44"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"4949:3:44","nodeType":"YulIdentifier","src":"4949:3:44"},{"arguments":[{"kind":"number","nativeSrc":"4958:4:44","nodeType":"YulLiteral","src":"4958:4:44","type":"","value":"0xc4"},{"name":"encodedDataSize","nativeSrc":"4964:15:44","nodeType":"YulIdentifier","src":"4964:15:44"}],"functionName":{"name":"add","nativeSrc":"4954:3:44","nodeType":"YulIdentifier","src":"4954:3:44"},"nativeSrc":"4954:26:44","nodeType":"YulFunctionCall","src":"4954:26:44"}],"functionName":{"name":"add","nativeSrc":"4945:3:44","nodeType":"YulIdentifier","src":"4945:3:44"},"nativeSrc":"4945:36:44","nodeType":"YulFunctionCall","src":"4945:36:44"},{"arguments":[{"name":"additionalContext","nativeSrc":"5003:17:44","nodeType":"YulIdentifier","src":"5003:17:44"},{"kind":"number","nativeSrc":"5022:66:44","nodeType":"YulLiteral","src":"5022:66:44","type":"","value":"0xffffffff00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"and","nativeSrc":"4999:3:44","nodeType":"YulIdentifier","src":"4999:3:44"},"nativeSrc":"4999:90:44","nodeType":"YulFunctionCall","src":"4999:90:44"}],"functionName":{"name":"mstore","nativeSrc":"4921:6:44","nodeType":"YulIdentifier","src":"4921:6:44"},"nativeSrc":"4921:182:44","nodeType":"YulFunctionCall","src":"4921:182:44"},"nativeSrc":"4921:182:44","nodeType":"YulExpressionStatement","src":"4921:182:44"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"5123:3:44","nodeType":"YulIdentifier","src":"5123:3:44"},{"arguments":[{"kind":"number","nativeSrc":"5132:4:44","nodeType":"YulLiteral","src":"5132:4:44","type":"","value":"0xe4"},{"name":"encodedDataSize","nativeSrc":"5138:15:44","nodeType":"YulIdentifier","src":"5138:15:44"}],"functionName":{"name":"add","nativeSrc":"5128:3:44","nodeType":"YulIdentifier","src":"5128:3:44"},"nativeSrc":"5128:26:44","nodeType":"YulFunctionCall","src":"5128:26:44"}],"functionName":{"name":"revert","nativeSrc":"5116:6:44","nodeType":"YulIdentifier","src":"5116:6:44"},"nativeSrc":"5116:39:44","nodeType":"YulFunctionCall","src":"5116:39:44"},"nativeSrc":"5116:39:44","nodeType":"YulExpressionStatement","src":"5116:39:44"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45203,"isOffset":false,"isSlot":false,"src":"5003:17:44","valueSize":1},{"declaration":45199,"isOffset":false,"isSlot":false,"src":"4167:17:44","valueSize":1},{"declaration":45201,"isOffset":false,"isSlot":false,"src":"4303:25:44","valueSize":1},{"declaration":45207,"isOffset":false,"isSlot":false,"src":"4106:20:44","valueSize":1}],"flags":["memory-safe"],"id":45211,"nodeType":"InlineAssembly","src":"3741:1424:44"}]},"documentation":{"id":45197,"nodeType":"StructuredDocumentation","src":"3339:164:44","text":"@notice bubble up the revert message returned by a call and revert with a wrapped ERC-7751 error\n @dev this method can be vulnerable to revert data bombs"},"id":45213,"implemented":true,"kind":"function","modifiers":[],"name":"bubbleUpAndRevertWith","nameLocation":"3517:21:44","nodeType":"FunctionDefinition","parameters":{"id":45204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45199,"mutability":"mutable","name":"revertingContract","nameLocation":"3556:17:44","nodeType":"VariableDeclaration","scope":45213,"src":"3548:25:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45198,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45201,"mutability":"mutable","name":"revertingFunctionSelector","nameLocation":"3590:25:44","nodeType":"VariableDeclaration","scope":45213,"src":"3583:32:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45200,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3583:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":45203,"mutability":"mutable","name":"additionalContext","nameLocation":"3632:17:44","nodeType":"VariableDeclaration","scope":45213,"src":"3625:24:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":45202,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3625:6:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3538:117:44"},"returnParameters":{"id":45205,"nodeType":"ParameterList","parameters":[],"src":"3670:0:44"},"scope":45214,"src":"3508:1663:44","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":45215,"src":"501:4672:44","usedErrors":[45122],"usedEvents":[]}],"src":"32:5142:44"},"id":44},"v4-core/src/libraries/FixedPoint128.sol":{"ast":{"absolutePath":"v4-core/src/libraries/FixedPoint128.sol","exportedSymbols":{"FixedPoint128":[45221]},"id":45222,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45216,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:45"},{"abstract":false,"baseContracts":[],"canonicalName":"FixedPoint128","contractDependencies":[],"contractKind":"library","documentation":{"id":45217,"nodeType":"StructuredDocumentation","src":"57:140:45","text":"@title FixedPoint128\n @notice A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)"},"fullyImplemented":true,"id":45221,"linearizedBaseContracts":[45221],"name":"FixedPoint128","nameLocation":"205:13:45","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":45220,"mutability":"constant","name":"Q128","nameLocation":"251:4:45","nodeType":"VariableDeclaration","scope":45221,"src":"225:68:45","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45218,"name":"uint256","nodeType":"ElementaryTypeName","src":"225:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":45219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258:35:45","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"internal"}],"scope":45222,"src":"197:99:45","usedErrors":[],"usedEvents":[]}],"src":"32:265:45"},"id":45},"v4-core/src/libraries/FixedPoint96.sol":{"ast":{"absolutePath":"v4-core/src/libraries/FixedPoint96.sol","exportedSymbols":{"FixedPoint96":[56759]},"id":56760,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56751,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:46"},{"abstract":false,"baseContracts":[],"canonicalName":"FixedPoint96","contractDependencies":[],"contractKind":"library","documentation":{"id":56752,"nodeType":"StructuredDocumentation","src":"57:174:46","text":"@title FixedPoint96\n @notice A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\n @dev Used in SqrtPriceMath.sol"},"fullyImplemented":true,"id":56759,"linearizedBaseContracts":[56759],"name":"FixedPoint96","nameLocation":"239:12:46","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":56755,"mutability":"constant","name":"RESOLUTION","nameLocation":"282:10:46","nodeType":"VariableDeclaration","scope":56759,"src":"258:39:46","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56753,"name":"uint8","nodeType":"ElementaryTypeName","src":"258:5:46","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3936","id":56754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"295:2:46","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":56758,"mutability":"constant","name":"Q96","nameLocation":"329:3:46","nodeType":"VariableDeclaration","scope":56759,"src":"303:59:46","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56756,"name":"uint256","nodeType":"ElementaryTypeName","src":"303:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307831303030303030303030303030303030303030303030303030","id":56757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335:27:46","typeDescriptions":{"typeIdentifier":"t_rational_79228162514264337593543950336_by_1","typeString":"int_const 79228162514264337593543950336"},"value":"0x1000000000000000000000000"},"visibility":"internal"}],"scope":56760,"src":"231:134:46","usedErrors":[],"usedEvents":[]}],"src":"32:334:46"},"id":46},"v4-core/src/libraries/FullMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/FullMath.sol","exportedSymbols":{"FullMath":[45389]},"id":45390,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45223,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:47"},{"abstract":false,"baseContracts":[],"canonicalName":"FullMath","contractDependencies":[],"contractKind":"library","documentation":{"id":45224,"nodeType":"StructuredDocumentation","src":"57:297:47","text":"@title Contains 512-bit math functions\n @notice Facilitates multiplication and division that can have overflow of an intermediate value without any loss of precision\n @dev Handles \"phantom overflow\" i.e., allows multiplication and division where an intermediate value overflows 256 bits"},"fullyImplemented":true,"id":45389,"linearizedBaseContracts":[45389],"name":"FullMath","nameLocation":"362:8:47","nodeType":"ContractDefinition","nodes":[{"body":{"id":45349,"nodeType":"Block","src":"839:4043:47","statements":[{"id":45348,"nodeType":"UncheckedBlock","src":"849:4027:47","statements":[{"assignments":[45237],"declarations":[{"constant":false,"id":45237,"mutability":"mutable","name":"prod0","nameLocation":"1204:5:47","nodeType":"VariableDeclaration","scope":45348,"src":"1196:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45236,"name":"uint256","nodeType":"ElementaryTypeName","src":"1196:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45241,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45238,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45227,"src":"1212:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45239,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45229,"src":"1216:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1212:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1196:21:47"},{"assignments":[45243],"declarations":[{"constant":false,"id":45243,"mutability":"mutable","name":"prod1","nameLocation":"1284:5:47","nodeType":"VariableDeclaration","scope":45348,"src":"1276:13:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45242,"name":"uint256","nodeType":"ElementaryTypeName","src":"1276:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45244,"nodeType":"VariableDeclarationStatement","src":"1276:13:47"},{"AST":{"nativeSrc":"1372:122:47","nodeType":"YulBlock","src":"1372:122:47","statements":[{"nativeSrc":"1390:30:47","nodeType":"YulVariableDeclaration","src":"1390:30:47","value":{"arguments":[{"name":"a","nativeSrc":"1407:1:47","nodeType":"YulIdentifier","src":"1407:1:47"},{"name":"b","nativeSrc":"1410:1:47","nodeType":"YulIdentifier","src":"1410:1:47"},{"arguments":[{"kind":"number","nativeSrc":"1417:1:47","nodeType":"YulLiteral","src":"1417:1:47","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"1413:3:47","nodeType":"YulIdentifier","src":"1413:3:47"},"nativeSrc":"1413:6:47","nodeType":"YulFunctionCall","src":"1413:6:47"}],"functionName":{"name":"mulmod","nativeSrc":"1400:6:47","nodeType":"YulIdentifier","src":"1400:6:47"},"nativeSrc":"1400:20:47","nodeType":"YulFunctionCall","src":"1400:20:47"},"variables":[{"name":"mm","nativeSrc":"1394:2:47","nodeType":"YulTypedName","src":"1394:2:47","type":""}]},{"nativeSrc":"1437:43:47","nodeType":"YulAssignment","src":"1437:43:47","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"1454:2:47","nodeType":"YulIdentifier","src":"1454:2:47"},{"name":"prod0","nativeSrc":"1458:5:47","nodeType":"YulIdentifier","src":"1458:5:47"}],"functionName":{"name":"sub","nativeSrc":"1450:3:47","nodeType":"YulIdentifier","src":"1450:3:47"},"nativeSrc":"1450:14:47","nodeType":"YulFunctionCall","src":"1450:14:47"},{"arguments":[{"name":"mm","nativeSrc":"1469:2:47","nodeType":"YulIdentifier","src":"1469:2:47"},{"name":"prod0","nativeSrc":"1473:5:47","nodeType":"YulIdentifier","src":"1473:5:47"}],"functionName":{"name":"lt","nativeSrc":"1466:2:47","nodeType":"YulIdentifier","src":"1466:2:47"},"nativeSrc":"1466:13:47","nodeType":"YulFunctionCall","src":"1466:13:47"}],"functionName":{"name":"sub","nativeSrc":"1446:3:47","nodeType":"YulIdentifier","src":"1446:3:47"},"nativeSrc":"1446:34:47","nodeType":"YulFunctionCall","src":"1446:34:47"},"variableNames":[{"name":"prod1","nativeSrc":"1437:5:47","nodeType":"YulIdentifier","src":"1437:5:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45227,"isOffset":false,"isSlot":false,"src":"1407:1:47","valueSize":1},{"declaration":45229,"isOffset":false,"isSlot":false,"src":"1410:1:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"1458:5:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"1473:5:47","valueSize":1},{"declaration":45243,"isOffset":false,"isSlot":false,"src":"1437:5:47","valueSize":1}],"flags":["memory-safe"],"id":45245,"nodeType":"InlineAssembly","src":"1347:147:47"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45247,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"1619:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45248,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45243,"src":"1633:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1619:19:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1611:7:47","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":45250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1611:28:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45251,"nodeType":"ExpressionStatement","src":"1611:28:47"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45252,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45243,"src":"1720:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1729:1:47","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1720:10:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45259,"nodeType":"IfStatement","src":"1716:177:47","trueBody":{"id":45258,"nodeType":"Block","src":"1732:161:47","statements":[{"AST":{"nativeSrc":"1775:73:47","nodeType":"YulBlock","src":"1775:73:47","statements":[{"nativeSrc":"1797:33:47","nodeType":"YulAssignment","src":"1797:33:47","value":{"arguments":[{"name":"prod0","nativeSrc":"1811:5:47","nodeType":"YulIdentifier","src":"1811:5:47"},{"name":"denominator","nativeSrc":"1818:11:47","nodeType":"YulIdentifier","src":"1818:11:47"}],"functionName":{"name":"div","nativeSrc":"1807:3:47","nodeType":"YulIdentifier","src":"1807:3:47"},"nativeSrc":"1807:23:47","nodeType":"YulFunctionCall","src":"1807:23:47"},"variableNames":[{"name":"result","nativeSrc":"1797:6:47","nodeType":"YulIdentifier","src":"1797:6:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45231,"isOffset":false,"isSlot":false,"src":"1818:11:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"1811:5:47","valueSize":1},{"declaration":45234,"isOffset":false,"isSlot":false,"src":"1797:6:47","valueSize":1}],"flags":["memory-safe"],"id":45255,"nodeType":"InlineAssembly","src":"1750:98:47"},{"expression":{"id":45256,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45234,"src":"1872:6:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45235,"id":45257,"nodeType":"Return","src":"1865:13:47"}]}},{"assignments":[45261],"declarations":[{"constant":false,"id":45261,"mutability":"mutable","name":"remainder","nameLocation":"2201:9:47","nodeType":"VariableDeclaration","scope":45348,"src":"2193:17:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45260,"name":"uint256","nodeType":"ElementaryTypeName","src":"2193:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45262,"nodeType":"VariableDeclarationStatement","src":"2193:17:47"},{"AST":{"nativeSrc":"2249:70:47","nodeType":"YulBlock","src":"2249:70:47","statements":[{"nativeSrc":"2267:38:47","nodeType":"YulAssignment","src":"2267:38:47","value":{"arguments":[{"name":"a","nativeSrc":"2287:1:47","nodeType":"YulIdentifier","src":"2287:1:47"},{"name":"b","nativeSrc":"2290:1:47","nodeType":"YulIdentifier","src":"2290:1:47"},{"name":"denominator","nativeSrc":"2293:11:47","nodeType":"YulIdentifier","src":"2293:11:47"}],"functionName":{"name":"mulmod","nativeSrc":"2280:6:47","nodeType":"YulIdentifier","src":"2280:6:47"},"nativeSrc":"2280:25:47","nodeType":"YulFunctionCall","src":"2280:25:47"},"variableNames":[{"name":"remainder","nativeSrc":"2267:9:47","nodeType":"YulIdentifier","src":"2267:9:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45227,"isOffset":false,"isSlot":false,"src":"2287:1:47","valueSize":1},{"declaration":45229,"isOffset":false,"isSlot":false,"src":"2290:1:47","valueSize":1},{"declaration":45231,"isOffset":false,"isSlot":false,"src":"2293:11:47","valueSize":1},{"declaration":45261,"isOffset":false,"isSlot":false,"src":"2267:9:47","valueSize":1}],"flags":["memory-safe"],"id":45263,"nodeType":"InlineAssembly","src":"2224:95:47"},{"AST":{"nativeSrc":"2416:120:47","nodeType":"YulBlock","src":"2416:120:47","statements":[{"nativeSrc":"2434:41:47","nodeType":"YulAssignment","src":"2434:41:47","value":{"arguments":[{"name":"prod1","nativeSrc":"2447:5:47","nodeType":"YulIdentifier","src":"2447:5:47"},{"arguments":[{"name":"remainder","nativeSrc":"2457:9:47","nodeType":"YulIdentifier","src":"2457:9:47"},{"name":"prod0","nativeSrc":"2468:5:47","nodeType":"YulIdentifier","src":"2468:5:47"}],"functionName":{"name":"gt","nativeSrc":"2454:2:47","nodeType":"YulIdentifier","src":"2454:2:47"},"nativeSrc":"2454:20:47","nodeType":"YulFunctionCall","src":"2454:20:47"}],"functionName":{"name":"sub","nativeSrc":"2443:3:47","nodeType":"YulIdentifier","src":"2443:3:47"},"nativeSrc":"2443:32:47","nodeType":"YulFunctionCall","src":"2443:32:47"},"variableNames":[{"name":"prod1","nativeSrc":"2434:5:47","nodeType":"YulIdentifier","src":"2434:5:47"}]},{"nativeSrc":"2492:30:47","nodeType":"YulAssignment","src":"2492:30:47","value":{"arguments":[{"name":"prod0","nativeSrc":"2505:5:47","nodeType":"YulIdentifier","src":"2505:5:47"},{"name":"remainder","nativeSrc":"2512:9:47","nodeType":"YulIdentifier","src":"2512:9:47"}],"functionName":{"name":"sub","nativeSrc":"2501:3:47","nodeType":"YulIdentifier","src":"2501:3:47"},"nativeSrc":"2501:21:47","nodeType":"YulFunctionCall","src":"2501:21:47"},"variableNames":[{"name":"prod0","nativeSrc":"2492:5:47","nodeType":"YulIdentifier","src":"2492:5:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45237,"isOffset":false,"isSlot":false,"src":"2468:5:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"2492:5:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"2505:5:47","valueSize":1},{"declaration":45243,"isOffset":false,"isSlot":false,"src":"2434:5:47","valueSize":1},{"declaration":45243,"isOffset":false,"isSlot":false,"src":"2447:5:47","valueSize":1},{"declaration":45261,"isOffset":false,"isSlot":false,"src":"2457:9:47","valueSize":1},{"declaration":45261,"isOffset":false,"isSlot":false,"src":"2512:9:47","valueSize":1}],"flags":["memory-safe"],"id":45264,"nodeType":"InlineAssembly","src":"2391:145:47"},{"assignments":[45266],"declarations":[{"constant":false,"id":45266,"mutability":"mutable","name":"twos","nameLocation":"2709:4:47","nodeType":"VariableDeclaration","scope":45348,"src":"2701:12:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45265,"name":"uint256","nodeType":"ElementaryTypeName","src":"2701:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45273,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30","id":45267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:1:47","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":45268,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"2721:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2717:15:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45270,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2716:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":45271,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"2736:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2716:31:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2701:46:47"},{"AST":{"nativeSrc":"2836:69:47","nodeType":"YulBlock","src":"2836:69:47","statements":[{"nativeSrc":"2854:37:47","nodeType":"YulAssignment","src":"2854:37:47","value":{"arguments":[{"name":"denominator","nativeSrc":"2873:11:47","nodeType":"YulIdentifier","src":"2873:11:47"},{"name":"twos","nativeSrc":"2886:4:47","nodeType":"YulIdentifier","src":"2886:4:47"}],"functionName":{"name":"div","nativeSrc":"2869:3:47","nodeType":"YulIdentifier","src":"2869:3:47"},"nativeSrc":"2869:22:47","nodeType":"YulFunctionCall","src":"2869:22:47"},"variableNames":[{"name":"denominator","nativeSrc":"2854:11:47","nodeType":"YulIdentifier","src":"2854:11:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45231,"isOffset":false,"isSlot":false,"src":"2854:11:47","valueSize":1},{"declaration":45231,"isOffset":false,"isSlot":false,"src":"2873:11:47","valueSize":1},{"declaration":45266,"isOffset":false,"isSlot":false,"src":"2886:4:47","valueSize":1}],"flags":["memory-safe"],"id":45274,"nodeType":"InlineAssembly","src":"2811:94:47"},{"AST":{"nativeSrc":"3002:57:47","nodeType":"YulBlock","src":"3002:57:47","statements":[{"nativeSrc":"3020:25:47","nodeType":"YulAssignment","src":"3020:25:47","value":{"arguments":[{"name":"prod0","nativeSrc":"3033:5:47","nodeType":"YulIdentifier","src":"3033:5:47"},{"name":"twos","nativeSrc":"3040:4:47","nodeType":"YulIdentifier","src":"3040:4:47"}],"functionName":{"name":"div","nativeSrc":"3029:3:47","nodeType":"YulIdentifier","src":"3029:3:47"},"nativeSrc":"3029:16:47","nodeType":"YulFunctionCall","src":"3029:16:47"},"variableNames":[{"name":"prod0","nativeSrc":"3020:5:47","nodeType":"YulIdentifier","src":"3020:5:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45237,"isOffset":false,"isSlot":false,"src":"3020:5:47","valueSize":1},{"declaration":45237,"isOffset":false,"isSlot":false,"src":"3033:5:47","valueSize":1},{"declaration":45266,"isOffset":false,"isSlot":false,"src":"3040:4:47","valueSize":1}],"flags":["memory-safe"],"id":45275,"nodeType":"InlineAssembly","src":"2977:82:47"},{"AST":{"nativeSrc":"3279:71:47","nodeType":"YulBlock","src":"3279:71:47","statements":[{"nativeSrc":"3297:39:47","nodeType":"YulAssignment","src":"3297:39:47","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"3317:1:47","nodeType":"YulLiteral","src":"3317:1:47","type":"","value":"0"},{"name":"twos","nativeSrc":"3320:4:47","nodeType":"YulIdentifier","src":"3320:4:47"}],"functionName":{"name":"sub","nativeSrc":"3313:3:47","nodeType":"YulIdentifier","src":"3313:3:47"},"nativeSrc":"3313:12:47","nodeType":"YulFunctionCall","src":"3313:12:47"},{"name":"twos","nativeSrc":"3327:4:47","nodeType":"YulIdentifier","src":"3327:4:47"}],"functionName":{"name":"div","nativeSrc":"3309:3:47","nodeType":"YulIdentifier","src":"3309:3:47"},"nativeSrc":"3309:23:47","nodeType":"YulFunctionCall","src":"3309:23:47"},{"kind":"number","nativeSrc":"3334:1:47","nodeType":"YulLiteral","src":"3334:1:47","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"3305:3:47","nodeType":"YulIdentifier","src":"3305:3:47"},"nativeSrc":"3305:31:47","nodeType":"YulFunctionCall","src":"3305:31:47"},"variableNames":[{"name":"twos","nativeSrc":"3297:4:47","nodeType":"YulIdentifier","src":"3297:4:47"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45266,"isOffset":false,"isSlot":false,"src":"3297:4:47","valueSize":1},{"declaration":45266,"isOffset":false,"isSlot":false,"src":"3320:4:47","valueSize":1},{"declaration":45266,"isOffset":false,"isSlot":false,"src":"3327:4:47","valueSize":1}],"flags":["memory-safe"],"id":45276,"nodeType":"InlineAssembly","src":"3254:96:47"},{"expression":{"id":45281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45277,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45237,"src":"3363:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45278,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45243,"src":"3372:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45279,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45266,"src":"3380:4:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3372:12:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3363:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45282,"nodeType":"ExpressionStatement","src":"3363:21:47"},{"assignments":[45284],"declarations":[{"constant":false,"id":45284,"mutability":"mutable","name":"inv","nameLocation":"3750:3:47","nodeType":"VariableDeclaration","scope":45348,"src":"3742:11:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45283,"name":"uint256","nodeType":"ElementaryTypeName","src":"3742:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45291,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":45285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3757:1:47","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45286,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"3761:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3757:15:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45288,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3756:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":45289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3776:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"3756:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3742:35:47"},{"expression":{"id":45298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45292,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4008:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4015:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45294,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4019:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45295,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4033:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4019:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4015:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4008:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45299,"nodeType":"ExpressionStatement","src":"4008:28:47"},{"expression":{"id":45306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45300,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4070:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4077:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45302,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4081:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45303,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4095:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4081:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4077:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4070:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45307,"nodeType":"ExpressionStatement","src":"4070:28:47"},{"expression":{"id":45314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45308,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4133:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4140:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45310,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4144:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45311,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4158:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4144:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4140:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4133:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45315,"nodeType":"ExpressionStatement","src":"4133:28:47"},{"expression":{"id":45322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45316,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4196:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4203:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45318,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4207:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45319,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4221:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4207:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4203:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4196:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45323,"nodeType":"ExpressionStatement","src":"4196:28:47"},{"expression":{"id":45330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45324,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4259:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4266:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45326,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4270:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45327,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4284:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4270:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4266:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4259:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45331,"nodeType":"ExpressionStatement","src":"4259:28:47"},{"expression":{"id":45338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45332,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4323:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4330:1:47","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45334,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45231,"src":"4334:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45335,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4348:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4334:17:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4330:21:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4323:28:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45339,"nodeType":"ExpressionStatement","src":"4323:28:47"},{"expression":{"id":45344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45340,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45234,"src":"4818:6:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45341,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45237,"src":"4827:5:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45342,"name":"inv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45284,"src":"4835:3:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4827:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4818:20:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45345,"nodeType":"ExpressionStatement","src":"4818:20:47"},{"expression":{"id":45346,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45234,"src":"4859:6:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45235,"id":45347,"nodeType":"Return","src":"4852:13:47"}]}]},"documentation":{"id":45225,"nodeType":"StructuredDocumentation","src":"377:359:47","text":"@notice Calculates floor(a\u00d7b\u00f7denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @param a The multiplicand\n @param b The multiplier\n @param denominator The divisor\n @return result The 256-bit result\n @dev Credit to Remco Bloemen under MIT license https://xn--2-umb.com/21/muldiv"},"id":45350,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"750:6:47","nodeType":"FunctionDefinition","parameters":{"id":45232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45227,"mutability":"mutable","name":"a","nameLocation":"765:1:47","nodeType":"VariableDeclaration","scope":45350,"src":"757:9:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45226,"name":"uint256","nodeType":"ElementaryTypeName","src":"757:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45229,"mutability":"mutable","name":"b","nameLocation":"776:1:47","nodeType":"VariableDeclaration","scope":45350,"src":"768:9:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45228,"name":"uint256","nodeType":"ElementaryTypeName","src":"768:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45231,"mutability":"mutable","name":"denominator","nameLocation":"787:11:47","nodeType":"VariableDeclaration","scope":45350,"src":"779:19:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45230,"name":"uint256","nodeType":"ElementaryTypeName","src":"779:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"756:43:47"},"returnParameters":{"id":45235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45234,"mutability":"mutable","name":"result","nameLocation":"831:6:47","nodeType":"VariableDeclaration","scope":45350,"src":"823:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45233,"name":"uint256","nodeType":"ElementaryTypeName","src":"823:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"822:16:47"},"scope":45389,"src":"741:4141:47","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":45387,"nodeType":"Block","src":"5272:188:47","statements":[{"id":45386,"nodeType":"UncheckedBlock","src":"5282:172:47","statements":[{"expression":{"id":45368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45362,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45360,"src":"5306:6:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45364,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45353,"src":"5322:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45365,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45355,"src":"5325:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45366,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45357,"src":"5328:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45363,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45350,"src":"5315:6:47","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":45367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5315:25:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5306:34:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45369,"nodeType":"ExpressionStatement","src":"5306:34:47"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45371,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45353,"src":"5365:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45372,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45355,"src":"5368:1:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45373,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45357,"src":"5371:11:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45370,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"5358:6:47","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":45374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5358:25:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5387:1:47","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5358:30:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45385,"nodeType":"IfStatement","src":"5354:90:47","trueBody":{"id":45384,"nodeType":"Block","src":"5390:54:47","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5416:8:47","subExpression":{"id":45378,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45360,"src":"5418:6:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":45380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5427:1:47","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5416:12:47","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45377,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5408:7:47","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":45382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5408:21:47","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45383,"nodeType":"ExpressionStatement","src":"5408:21:47"}]}}]}]},"documentation":{"id":45351,"nodeType":"StructuredDocumentation","src":"4888:271:47","text":"@notice Calculates ceil(a\u00d7b\u00f7denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @param a The multiplicand\n @param b The multiplier\n @param denominator The divisor\n @return result The 256-bit result"},"id":45388,"implemented":true,"kind":"function","modifiers":[],"name":"mulDivRoundingUp","nameLocation":"5173:16:47","nodeType":"FunctionDefinition","parameters":{"id":45358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45353,"mutability":"mutable","name":"a","nameLocation":"5198:1:47","nodeType":"VariableDeclaration","scope":45388,"src":"5190:9:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45352,"name":"uint256","nodeType":"ElementaryTypeName","src":"5190:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45355,"mutability":"mutable","name":"b","nameLocation":"5209:1:47","nodeType":"VariableDeclaration","scope":45388,"src":"5201:9:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45354,"name":"uint256","nodeType":"ElementaryTypeName","src":"5201:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45357,"mutability":"mutable","name":"denominator","nameLocation":"5220:11:47","nodeType":"VariableDeclaration","scope":45388,"src":"5212:19:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45356,"name":"uint256","nodeType":"ElementaryTypeName","src":"5212:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5189:43:47"},"returnParameters":{"id":45361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45360,"mutability":"mutable","name":"result","nameLocation":"5264:6:47","nodeType":"VariableDeclaration","scope":45388,"src":"5256:14:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45359,"name":"uint256","nodeType":"ElementaryTypeName","src":"5256:7:47","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5255:16:47"},"scope":45389,"src":"5164:296:47","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":45390,"src":"354:5108:47","usedErrors":[],"usedEvents":[]}],"src":"32:5431:47"},"id":47},"v4-core/src/libraries/Hooks.sol":{"ast":{"absolutePath":"v4-core/src/libraries/Hooks.sol","exportedSymbols":{"BalanceDelta":[4233],"BalanceDeltaLibrary":[4391],"BeforeSwapDelta":[44818],"BeforeSwapDeltaLibrary":[44862],"CustomRevert":[45214],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"LPFeeLibrary":[48960],"ModifyLiquidityParams":[4761],"ParseBytes":[56790],"PoolKey":[4745],"SafeCast":[47298],"SwapParams":[4772],"toBalanceDelta":[4259]},"id":48812,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47641,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:48"},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":47643,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":4746,"src":"57:45:48","symbolAliases":[{"foreign":{"id":47642,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"65:7:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":47645,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":1481,"src":"103:48:48","symbolAliases":[{"foreign":{"id":47644,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"111:6:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"./SafeCast.sol","id":47647,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":47299,"src":"152:40:48","symbolAliases":[{"foreign":{"id":47646,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"160:8:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"./LPFeeLibrary.sol","id":47649,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":48961,"src":"193:48:48","symbolAliases":[{"foreign":{"id":47648,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"201:12:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":47653,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":4392,"src":"242:92:48","symbolAliases":[{"foreign":{"id":47650,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"250:12:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47651,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"264:14:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47652,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"280:19:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BeforeSwapDelta.sol","file":"../types/BeforeSwapDelta.sol","id":47656,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":44863,"src":"335:85:48","symbolAliases":[{"foreign":{"id":47654,"name":"BeforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44818,"src":"343:15:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47655,"name":"BeforeSwapDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44862,"src":"360:22:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":47658,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":1764,"src":"421:60:48","symbolAliases":[{"foreign":{"id":47657,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"429:12:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":47661,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":4773,"src":"482:77:48","symbolAliases":[{"foreign":{"id":47659,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"490:21:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47660,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"513:10:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/ParseBytes.sol","file":"./ParseBytes.sol","id":47663,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":56791,"src":"560:44:48","symbolAliases":[{"foreign":{"id":47662,"name":"ParseBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56790,"src":"568:10:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":47665,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48812,"sourceUnit":45215,"src":"605:48:48","symbolAliases":[{"foreign":{"id":47664,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"613:12:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Hooks","contractDependencies":[],"contractKind":"library","documentation":{"id":47666,"nodeType":"StructuredDocumentation","src":"655:384:48","text":"@notice V4 decides whether to invoke specific hooks by inspecting the least significant bits\n of the address that the hooks contract is deployed to.\n For example, a hooks contract deployed to address: 0x0000000000000000000000000000000000002400\n has the lowest bits '10 0100 0000 0000' which would cause the 'before initialize' and 'after add liquidity' hooks to be used."},"fullyImplemented":true,"id":48811,"linearizedBaseContracts":[48811],"name":"Hooks","nameLocation":"1047:5:48","nodeType":"ContractDefinition","nodes":[{"global":false,"id":47669,"libraryName":{"id":47667,"name":"LPFeeLibrary","nameLocations":["1065:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"1065:12:48"},"nodeType":"UsingForDirective","src":"1059:30:48","typeName":{"id":47668,"name":"uint24","nodeType":"ElementaryTypeName","src":"1082:6:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":47673,"libraryName":{"id":47670,"name":"Hooks","nameLocations":["1100:5:48"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"1100:5:48"},"nodeType":"UsingForDirective","src":"1094:23:48","typeName":{"id":47672,"nodeType":"UserDefinedTypeName","pathNode":{"id":47671,"name":"IHooks","nameLocations":["1110:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"1110:6:48"},"referencedDeclaration":1480,"src":"1110:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"global":false,"id":47676,"libraryName":{"id":47674,"name":"SafeCast","nameLocations":["1128:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"1128:8:48"},"nodeType":"UsingForDirective","src":"1122:26:48","typeName":{"id":47675,"name":"int256","nodeType":"ElementaryTypeName","src":"1141:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}},{"global":false,"id":47680,"libraryName":{"id":47677,"name":"BeforeSwapDeltaLibrary","nameLocations":["1159:22:48"],"nodeType":"IdentifierPath","referencedDeclaration":44862,"src":"1159:22:48"},"nodeType":"UsingForDirective","src":"1153:49:48","typeName":{"id":47679,"nodeType":"UserDefinedTypeName","pathNode":{"id":47678,"name":"BeforeSwapDelta","nameLocations":["1186:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"1186:15:48"},"referencedDeclaration":44818,"src":"1186:15:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}}},{"global":false,"id":47683,"libraryName":{"id":47681,"name":"ParseBytes","nameLocations":["1213:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":56790,"src":"1213:10:48"},"nodeType":"UsingForDirective","src":"1207:27:48","typeName":{"id":47682,"name":"bytes","nodeType":"ElementaryTypeName","src":"1228:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},{"global":false,"id":47686,"libraryName":{"id":47684,"name":"CustomRevert","nameLocations":["1245:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"1245:12:48"},"nodeType":"UsingForDirective","src":"1239:30:48","typeName":{"id":47685,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1262:6:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"constant":true,"id":47697,"mutability":"constant","name":"ALL_HOOK_MASK","nameLocation":"1301:13:48","nodeType":"VariableDeclaration","scope":48811,"src":"1275:64:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47687,"name":"uint160","nodeType":"ElementaryTypeName","src":"1275:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_16383_by_1","typeString":"int_const 16383"},"id":47695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_16384_by_1","typeString":"int_const 16384"},"id":47692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1326:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3134","id":47691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1331:2:48","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"src":"1326:7:48","typeDescriptions":{"typeIdentifier":"t_rational_16384_by_1","typeString":"int_const 16384"}}],"id":47693,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1325:9:48","typeDescriptions":{"typeIdentifier":"t_rational_16384_by_1","typeString":"int_const 16384"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1337:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1325:13:48","typeDescriptions":{"typeIdentifier":"t_rational_16383_by_1","typeString":"int_const 16383"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16383_by_1","typeString":"int_const 16383"}],"id":47689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1317:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":47688,"name":"uint160","nodeType":"ElementaryTypeName","src":"1317:7:48","typeDescriptions":{}}},"id":47696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1317:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":47702,"mutability":"constant","name":"BEFORE_INITIALIZE_FLAG","nameLocation":"1372:22:48","nodeType":"VariableDeclaration","scope":48811,"src":"1346:58:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47698,"name":"uint160","nodeType":"ElementaryTypeName","src":"1346:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"id":47701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1397:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3133","id":47700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1402:2:48","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},"src":"1397:7:48","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"}},"visibility":"internal"},{"constant":true,"id":47707,"mutability":"constant","name":"AFTER_INITIALIZE_FLAG","nameLocation":"1436:21:48","nodeType":"VariableDeclaration","scope":48811,"src":"1410:57:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47703,"name":"uint160","nodeType":"ElementaryTypeName","src":"1410:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"},"id":47706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1460:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3132","id":47705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1465:2:48","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"src":"1460:7:48","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"}},"visibility":"internal"},{"constant":true,"id":47712,"mutability":"constant","name":"BEFORE_ADD_LIQUIDITY_FLAG","nameLocation":"1500:25:48","nodeType":"VariableDeclaration","scope":48811,"src":"1474:61:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47708,"name":"uint160","nodeType":"ElementaryTypeName","src":"1474:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_2048_by_1","typeString":"int_const 2048"},"id":47711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1528:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3131","id":47710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1533:2:48","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"1528:7:48","typeDescriptions":{"typeIdentifier":"t_rational_2048_by_1","typeString":"int_const 2048"}},"visibility":"internal"},{"constant":true,"id":47717,"mutability":"constant","name":"AFTER_ADD_LIQUIDITY_FLAG","nameLocation":"1567:24:48","nodeType":"VariableDeclaration","scope":48811,"src":"1541:60:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47713,"name":"uint160","nodeType":"ElementaryTypeName","src":"1541:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"id":47716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1594:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3130","id":47715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1599:2:48","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1594:7:48","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"}},"visibility":"internal"},{"constant":true,"id":47722,"mutability":"constant","name":"BEFORE_REMOVE_LIQUIDITY_FLAG","nameLocation":"1634:28:48","nodeType":"VariableDeclaration","scope":48811,"src":"1608:63:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47718,"name":"uint160","nodeType":"ElementaryTypeName","src":"1608:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"},"id":47721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1665:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"39","id":47720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1670:1:48","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"1665:6:48","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"}},"visibility":"internal"},{"constant":true,"id":47727,"mutability":"constant","name":"AFTER_REMOVE_LIQUIDITY_FLAG","nameLocation":"1703:27:48","nodeType":"VariableDeclaration","scope":48811,"src":"1677:62:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47723,"name":"uint160","nodeType":"ElementaryTypeName","src":"1677:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":47726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1733:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":47725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1738:1:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1733:6:48","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"visibility":"internal"},{"constant":true,"id":47732,"mutability":"constant","name":"BEFORE_SWAP_FLAG","nameLocation":"1772:16:48","nodeType":"VariableDeclaration","scope":48811,"src":"1746:51:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47728,"name":"uint160","nodeType":"ElementaryTypeName","src":"1746:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"id":47731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1791:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"37","id":47730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1796:1:48","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1791:6:48","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}},"visibility":"internal"},{"constant":true,"id":47737,"mutability":"constant","name":"AFTER_SWAP_FLAG","nameLocation":"1829:15:48","nodeType":"VariableDeclaration","scope":48811,"src":"1803:50:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47733,"name":"uint160","nodeType":"ElementaryTypeName","src":"1803:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"id":47736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1847:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":47735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1852:1:48","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"1847:6:48","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"}},"visibility":"internal"},{"constant":true,"id":47742,"mutability":"constant","name":"BEFORE_DONATE_FLAG","nameLocation":"1886:18:48","nodeType":"VariableDeclaration","scope":48811,"src":"1860:53:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47738,"name":"uint160","nodeType":"ElementaryTypeName","src":"1860:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"id":47741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1907:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":47740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1912:1:48","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"1907:6:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}},"visibility":"internal"},{"constant":true,"id":47747,"mutability":"constant","name":"AFTER_DONATE_FLAG","nameLocation":"1945:17:48","nodeType":"VariableDeclaration","scope":48811,"src":"1919:52:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47743,"name":"uint160","nodeType":"ElementaryTypeName","src":"1919:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"id":47746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1965:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":47745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1970:1:48","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1965:6:48","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}},"visibility":"internal"},{"constant":true,"id":47752,"mutability":"constant","name":"BEFORE_SWAP_RETURNS_DELTA_FLAG","nameLocation":"2004:30:48","nodeType":"VariableDeclaration","scope":48811,"src":"1978:65:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47748,"name":"uint160","nodeType":"ElementaryTypeName","src":"1978:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"id":47751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2037:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":47750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:1:48","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2037:6:48","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"}},"visibility":"internal"},{"constant":true,"id":47757,"mutability":"constant","name":"AFTER_SWAP_RETURNS_DELTA_FLAG","nameLocation":"2075:29:48","nodeType":"VariableDeclaration","scope":48811,"src":"2049:64:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47753,"name":"uint160","nodeType":"ElementaryTypeName","src":"2049:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"id":47756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2107:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":47755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2112:1:48","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2107:6:48","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}},"visibility":"internal"},{"constant":true,"id":47762,"mutability":"constant","name":"AFTER_ADD_LIQUIDITY_RETURNS_DELTA_FLAG","nameLocation":"2145:38:48","nodeType":"VariableDeclaration","scope":48811,"src":"2119:73:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47758,"name":"uint160","nodeType":"ElementaryTypeName","src":"2119:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"id":47761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2186:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"31","id":47760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2191:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2186:6:48","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}},"visibility":"internal"},{"constant":true,"id":47767,"mutability":"constant","name":"AFTER_REMOVE_LIQUIDITY_RETURNS_DELTA_FLAG","nameLocation":"2224:41:48","nodeType":"VariableDeclaration","scope":48811,"src":"2198:76:48","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47763,"name":"uint160","nodeType":"ElementaryTypeName","src":"2198:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"id":47766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2268:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30","id":47765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2273:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2268:6:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}},"visibility":"internal"},{"canonicalName":"Hooks.Permissions","id":47796,"members":[{"constant":false,"id":47769,"mutability":"mutable","name":"beforeInitialize","nameLocation":"2315:16:48","nodeType":"VariableDeclaration","scope":47796,"src":"2310:21:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47768,"name":"bool","nodeType":"ElementaryTypeName","src":"2310:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47771,"mutability":"mutable","name":"afterInitialize","nameLocation":"2346:15:48","nodeType":"VariableDeclaration","scope":47796,"src":"2341:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47770,"name":"bool","nodeType":"ElementaryTypeName","src":"2341:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47773,"mutability":"mutable","name":"beforeAddLiquidity","nameLocation":"2376:18:48","nodeType":"VariableDeclaration","scope":47796,"src":"2371:23:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47772,"name":"bool","nodeType":"ElementaryTypeName","src":"2371:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47775,"mutability":"mutable","name":"afterAddLiquidity","nameLocation":"2409:17:48","nodeType":"VariableDeclaration","scope":47796,"src":"2404:22:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47774,"name":"bool","nodeType":"ElementaryTypeName","src":"2404:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47777,"mutability":"mutable","name":"beforeRemoveLiquidity","nameLocation":"2441:21:48","nodeType":"VariableDeclaration","scope":47796,"src":"2436:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47776,"name":"bool","nodeType":"ElementaryTypeName","src":"2436:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47779,"mutability":"mutable","name":"afterRemoveLiquidity","nameLocation":"2477:20:48","nodeType":"VariableDeclaration","scope":47796,"src":"2472:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47778,"name":"bool","nodeType":"ElementaryTypeName","src":"2472:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47781,"mutability":"mutable","name":"beforeSwap","nameLocation":"2512:10:48","nodeType":"VariableDeclaration","scope":47796,"src":"2507:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47780,"name":"bool","nodeType":"ElementaryTypeName","src":"2507:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47783,"mutability":"mutable","name":"afterSwap","nameLocation":"2537:9:48","nodeType":"VariableDeclaration","scope":47796,"src":"2532:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47782,"name":"bool","nodeType":"ElementaryTypeName","src":"2532:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47785,"mutability":"mutable","name":"beforeDonate","nameLocation":"2561:12:48","nodeType":"VariableDeclaration","scope":47796,"src":"2556:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47784,"name":"bool","nodeType":"ElementaryTypeName","src":"2556:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47787,"mutability":"mutable","name":"afterDonate","nameLocation":"2588:11:48","nodeType":"VariableDeclaration","scope":47796,"src":"2583:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47786,"name":"bool","nodeType":"ElementaryTypeName","src":"2583:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47789,"mutability":"mutable","name":"beforeSwapReturnDelta","nameLocation":"2614:21:48","nodeType":"VariableDeclaration","scope":47796,"src":"2609:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47788,"name":"bool","nodeType":"ElementaryTypeName","src":"2609:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47791,"mutability":"mutable","name":"afterSwapReturnDelta","nameLocation":"2650:20:48","nodeType":"VariableDeclaration","scope":47796,"src":"2645:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47790,"name":"bool","nodeType":"ElementaryTypeName","src":"2645:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47793,"mutability":"mutable","name":"afterAddLiquidityReturnDelta","nameLocation":"2685:28:48","nodeType":"VariableDeclaration","scope":47796,"src":"2680:33:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47792,"name":"bool","nodeType":"ElementaryTypeName","src":"2680:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47795,"mutability":"mutable","name":"afterRemoveLiquidityReturnDelta","nameLocation":"2728:31:48","nodeType":"VariableDeclaration","scope":47796,"src":"2723:36:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47794,"name":"bool","nodeType":"ElementaryTypeName","src":"2723:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Permissions","nameLocation":"2288:11:48","nodeType":"StructDefinition","scope":48811,"src":"2281:485:48","visibility":"public"},{"documentation":{"id":47797,"nodeType":"StructuredDocumentation","src":"2772:143:48","text":"@notice Thrown if the address will not lead to the specified hook calls being called\n @param hooks The address of the hooks contract"},"errorSelector":"e65af6a0","id":47801,"name":"HookAddressNotValid","nameLocation":"2926:19:48","nodeType":"ErrorDefinition","parameters":{"id":47800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47799,"mutability":"mutable","name":"hooks","nameLocation":"2954:5:48","nodeType":"VariableDeclaration","scope":47801,"src":"2946:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47798,"name":"address","nodeType":"ElementaryTypeName","src":"2946:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2945:15:48"},"src":"2920:41:48"},{"documentation":{"id":47802,"nodeType":"StructuredDocumentation","src":"2967:44:48","text":"@notice Hook did not return its selector"},"errorSelector":"1e048e1d","id":47804,"name":"InvalidHookResponse","nameLocation":"3022:19:48","nodeType":"ErrorDefinition","parameters":{"id":47803,"nodeType":"ParameterList","parameters":[],"src":"3041:2:48"},"src":"3016:28:48"},{"documentation":{"id":47805,"nodeType":"StructuredDocumentation","src":"3050:80:48","text":"@notice Additional context for ERC-7751 wrapped error when a hook call fails"},"errorSelector":"a9e35b2f","id":47807,"name":"HookCallFailed","nameLocation":"3141:14:48","nodeType":"ErrorDefinition","parameters":{"id":47806,"nodeType":"ParameterList","parameters":[],"src":"3155:2:48"},"src":"3135:23:48"},{"documentation":{"id":47808,"nodeType":"StructuredDocumentation","src":"3164:84:48","text":"@notice The hook's delta changed the swap from exactIn to exactOut or vice versa"},"errorSelector":"fa0b71d6","id":47810,"name":"HookDeltaExceedsSwapAmount","nameLocation":"3259:26:48","nodeType":"ErrorDefinition","parameters":{"id":47809,"nodeType":"ParameterList","parameters":[],"src":"3285:2:48"},"src":"3253:35:48"},{"body":{"id":47944,"nodeType":"Block","src":"3702:1507:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47820,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"3729:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3741:16:48","memberName":"beforeInitialize","nodeType":"MemberAccess","referencedDeclaration":47769,"src":"3729:28:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47824,"name":"BEFORE_INITIALIZE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47702,"src":"3780:22:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47822,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"3761:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3766:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"3761:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3761:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:74:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47827,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"3823:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3835:15:48","memberName":"afterInitialize","nodeType":"MemberAccess","referencedDeclaration":47771,"src":"3823:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47831,"name":"AFTER_INITIALIZE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47707,"src":"3873:21:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47829,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"3854:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3859:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"3854:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3854:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3823:72:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:166:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47835,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"3915:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3927:18:48","memberName":"beforeAddLiquidity","nodeType":"MemberAccess","referencedDeclaration":47773,"src":"3915:30:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47839,"name":"BEFORE_ADD_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47712,"src":"3968:25:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47837,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"3949:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3954:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"3949:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3915:79:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:265:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47843,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4014:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47844,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4026:17:48","memberName":"afterAddLiquidity","nodeType":"MemberAccess","referencedDeclaration":47775,"src":"4014:29:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47847,"name":"AFTER_ADD_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47717,"src":"4066:24:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47845,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4047:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4052:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4047:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4014:77:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:362:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47851,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4111:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4123:21:48","memberName":"beforeRemoveLiquidity","nodeType":"MemberAccess","referencedDeclaration":47777,"src":"4111:33:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47855,"name":"BEFORE_REMOVE_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47722,"src":"4167:28:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47853,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4148:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4153:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4148:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4148:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4111:85:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:467:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47859,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4216:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4228:20:48","memberName":"afterRemoveLiquidity","nodeType":"MemberAccess","referencedDeclaration":47779,"src":"4216:32:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47863,"name":"AFTER_REMOVE_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47727,"src":"4271:27:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47861,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4252:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4257:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4252:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4252:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4216:83:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:570:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47867,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4319:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4331:10:48","memberName":"beforeSwap","nodeType":"MemberAccess","referencedDeclaration":47781,"src":"4319:22:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47871,"name":"BEFORE_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47732,"src":"4364:16:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47869,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4345:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4350:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4345:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4345:36:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4319:62:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:652:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47875,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4401:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47876,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4413:9:48","memberName":"afterSwap","nodeType":"MemberAccess","referencedDeclaration":47783,"src":"4401:21:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47879,"name":"AFTER_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47737,"src":"4445:15:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47877,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4426:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4431:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4426:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4426:35:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4401:60:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:732:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47883,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4481:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4493:12:48","memberName":"beforeDonate","nodeType":"MemberAccess","referencedDeclaration":47785,"src":"4481:24:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47887,"name":"BEFORE_DONATE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47742,"src":"4528:18:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47885,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4509:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4514:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4509:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4509:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4481:66:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:818:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47891,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4567:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4579:11:48","memberName":"afterDonate","nodeType":"MemberAccess","referencedDeclaration":47787,"src":"4567:23:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47895,"name":"AFTER_DONATE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47747,"src":"4613:17:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47893,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4594:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4599:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4594:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4567:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:902:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47899,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4651:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4663:21:48","memberName":"beforeSwapReturnDelta","nodeType":"MemberAccess","referencedDeclaration":47789,"src":"4651:33:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47903,"name":"BEFORE_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"4707:30:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47901,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4688:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4693:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4688:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4688:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4651:87:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:1009:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47907,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4758:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4770:20:48","memberName":"afterSwapReturnDelta","nodeType":"MemberAccess","referencedDeclaration":47791,"src":"4758:32:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47911,"name":"AFTER_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47757,"src":"4813:29:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47909,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4794:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4799:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4794:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4794:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4758:85:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:1114:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47915,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4863:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4875:28:48","memberName":"afterAddLiquidityReturnDelta","nodeType":"MemberAccess","referencedDeclaration":47793,"src":"4863:40:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47919,"name":"AFTER_ADD_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47762,"src":"4926:38:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47917,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"4907:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4912:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"4907:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4907:58:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4863:102:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:1236:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":47923,"name":"permissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47817,"src":"4985:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions memory"}},"id":47924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4997:31:48","memberName":"afterRemoveLiquidityReturnDelta","nodeType":"MemberAccess","referencedDeclaration":47795,"src":"4985:43:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":47927,"name":"AFTER_REMOVE_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"5071:41:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47925,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"5052:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5057:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5052:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5052:61:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4985:128:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3729:1384:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47943,"nodeType":"IfStatement","src":"3712:1491:48","trueBody":{"id":47942,"nodeType":"Block","src":"5124:79:48","statements":[{"expression":{"arguments":[{"arguments":[{"id":47938,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47814,"src":"5186:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":47937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5178:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":47936,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:48","typeDescriptions":{}}},"id":47939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5178:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":47931,"name":"HookAddressNotValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47801,"src":"5138:19:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":47934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5158:8:48","memberName":"selector","nodeType":"MemberAccess","src":"5138:28:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5167:10:48","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45140,"src":"5138:39:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_address_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,address) pure"}},"id":47940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:54:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47941,"nodeType":"ExpressionStatement","src":"5138:54:48"}]}}]},"documentation":{"id":47811,"nodeType":"StructuredDocumentation","src":"3294:311:48","text":"@notice Utility function intended to be used in hook constructors to ensure\n the deployed hooks address causes the intended hooks to be called\n @param permissions The hooks that are intended to be called\n @dev permissions param is memory as the function will be called from constructors"},"id":47945,"implemented":true,"kind":"function","modifiers":[],"name":"validateHookPermissions","nameLocation":"3619:23:48","nodeType":"FunctionDefinition","parameters":{"id":47818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47814,"mutability":"mutable","name":"self","nameLocation":"3650:4:48","nodeType":"VariableDeclaration","scope":47945,"src":"3643:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":47813,"nodeType":"UserDefinedTypeName","pathNode":{"id":47812,"name":"IHooks","nameLocations":["3643:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"3643:6:48"},"referencedDeclaration":1480,"src":"3643:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":47817,"mutability":"mutable","name":"permissions","nameLocation":"3675:11:48","nodeType":"VariableDeclaration","scope":47945,"src":"3656:30:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_memory_ptr","typeString":"struct Hooks.Permissions"},"typeName":{"id":47816,"nodeType":"UserDefinedTypeName","pathNode":{"id":47815,"name":"Permissions","nameLocations":["3656:11:48"],"nodeType":"IdentifierPath","referencedDeclaration":47796,"src":"3656:11:48"},"referencedDeclaration":47796,"src":"3656:11:48","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47796_storage_ptr","typeString":"struct Hooks.Permissions"}},"visibility":"internal"}],"src":"3642:45:48"},"returnParameters":{"id":47819,"nodeType":"ParameterList","parameters":[],"src":"3702:0:48"},"scope":48811,"src":"3610:1599:48","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48040,"nodeType":"Block","src":"5567:1037:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5703:37:48","subExpression":{"arguments":[{"id":47958,"name":"BEFORE_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47732,"src":"5723:16:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47956,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5704:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5709:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5704:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5704:36:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":47963,"name":"BEFORE_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"5763:30:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47961,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5744:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5749:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5744:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5744:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5703:91:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47968,"nodeType":"IfStatement","src":"5699:109:48","trueBody":{"expression":{"hexValue":"66616c7365","id":47966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5803:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":47955,"id":47967,"nodeType":"Return","src":"5796:12:48"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5822:36:48","subExpression":{"arguments":[{"id":47971,"name":"AFTER_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47737,"src":"5842:15:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47969,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5823:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5828:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5823:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5823:35:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":47976,"name":"AFTER_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47757,"src":"5881:29:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47974,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5862:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5867:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5862:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5862:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5822:89:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47981,"nodeType":"IfStatement","src":"5818:107:48","trueBody":{"expression":{"hexValue":"66616c7365","id":47979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5920:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":47955,"id":47980,"nodeType":"Return","src":"5913:12:48"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5939:45:48","subExpression":{"arguments":[{"id":47984,"name":"AFTER_ADD_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47717,"src":"5959:24:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47982,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5940:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5945:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5940:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5940:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":47989,"name":"AFTER_ADD_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47762,"src":"6007:38:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47987,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"5988:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5993:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"5988:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5988:58:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5939:107:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47995,"nodeType":"IfStatement","src":"5935:158:48","trueBody":{"id":47994,"nodeType":"Block","src":"6056:37:48","statements":[{"expression":{"hexValue":"66616c7365","id":47992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":47955,"id":47993,"nodeType":"Return","src":"6070:12:48"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6119:48:48","subExpression":{"arguments":[{"id":47998,"name":"AFTER_REMOVE_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47727,"src":"6139:27:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47996,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"6120:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":47997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6125:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"6120:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":47999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6120:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":48003,"name":"AFTER_REMOVE_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"6206:41:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48001,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"6187:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6192:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"6187:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6187:61:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6119:129:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48008,"nodeType":"IfStatement","src":"6102:169:48","trueBody":{"expression":{"hexValue":"66616c7365","id":48006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6266:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":47955,"id":48007,"nodeType":"Return","src":"6259:12:48"}},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"6463:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6455:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48009,"name":"address","nodeType":"ElementaryTypeName","src":"6455:7:48","typeDescriptions":{}}},"id":48012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6455:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6480:1:48","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":48014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6472:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48013,"name":"address","nodeType":"ElementaryTypeName","src":"6472:7:48","typeDescriptions":{}}},"id":48016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6472:10:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6455:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":48032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":48030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":48026,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"6548:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6540:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48024,"name":"address","nodeType":"ElementaryTypeName","src":"6540:7:48","typeDescriptions":{}}},"id":48027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6540:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6532:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":48022,"name":"uint160","nodeType":"ElementaryTypeName","src":"6532:7:48","typeDescriptions":{}}},"id":48028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6532:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48029,"name":"ALL_HOOK_MASK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47697,"src":"6557:13:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6532:38:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":48031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6573:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6532:42:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48033,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47951,"src":"6578:3:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6582:12:48","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"6578:16:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":48035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6578:18:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6532:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":48037,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6531:66:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6455:142:48","trueExpression":{"id":48021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6497:19:48","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48018,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47951,"src":"6498:3:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6502:12:48","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"6498:16:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":48020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:18:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":47955,"id":48039,"nodeType":"Return","src":"6448:149:48"}]},"documentation":{"id":47946,"nodeType":"StructuredDocumentation","src":"5215:265:48","text":"@notice Ensures that the hook address includes at least one hook flag or dynamic fees, or is the 0 address\n @param self The hook to verify\n @param fee The fee of the pool the hook is used with\n @return bool True if the hook address is valid"},"id":48041,"implemented":true,"kind":"function","modifiers":[],"name":"isValidHookAddress","nameLocation":"5494:18:48","nodeType":"FunctionDefinition","parameters":{"id":47952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47949,"mutability":"mutable","name":"self","nameLocation":"5520:4:48","nodeType":"VariableDeclaration","scope":48041,"src":"5513:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":47948,"nodeType":"UserDefinedTypeName","pathNode":{"id":47947,"name":"IHooks","nameLocations":["5513:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"5513:6:48"},"referencedDeclaration":1480,"src":"5513:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":47951,"mutability":"mutable","name":"fee","nameLocation":"5533:3:48","nodeType":"VariableDeclaration","scope":48041,"src":"5526:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":47950,"name":"uint24","nodeType":"ElementaryTypeName","src":"5526:6:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"5512:25:48"},"returnParameters":{"id":47955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48041,"src":"5561:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47953,"name":"bool","nodeType":"ElementaryTypeName","src":"5561:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5560:6:48"},"scope":48811,"src":"5485:1119:48","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48096,"nodeType":"Block","src":"6869:1187:48","statements":[{"assignments":[48053],"declarations":[{"constant":false,"id":48053,"mutability":"mutable","name":"success","nameLocation":"6884:7:48","nodeType":"VariableDeclaration","scope":48096,"src":"6879:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48052,"name":"bool","nodeType":"ElementaryTypeName","src":"6879:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":48054,"nodeType":"VariableDeclarationStatement","src":"6879:12:48"},{"AST":{"nativeSrc":"6926:91:48","nodeType":"YulBlock","src":"6926:91:48","statements":[{"nativeSrc":"6940:67:48","nodeType":"YulAssignment","src":"6940:67:48","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"6956:3:48","nodeType":"YulIdentifier","src":"6956:3:48"},"nativeSrc":"6956:5:48","nodeType":"YulFunctionCall","src":"6956:5:48"},{"name":"self","nativeSrc":"6963:4:48","nodeType":"YulIdentifier","src":"6963:4:48"},{"kind":"number","nativeSrc":"6969:1:48","nodeType":"YulLiteral","src":"6969:1:48","type":"","value":"0"},{"arguments":[{"name":"data","nativeSrc":"6976:4:48","nodeType":"YulIdentifier","src":"6976:4:48"},{"kind":"number","nativeSrc":"6982:4:48","nodeType":"YulLiteral","src":"6982:4:48","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6972:3:48","nodeType":"YulIdentifier","src":"6972:3:48"},"nativeSrc":"6972:15:48","nodeType":"YulFunctionCall","src":"6972:15:48"},{"arguments":[{"name":"data","nativeSrc":"6995:4:48","nodeType":"YulIdentifier","src":"6995:4:48"}],"functionName":{"name":"mload","nativeSrc":"6989:5:48","nodeType":"YulIdentifier","src":"6989:5:48"},"nativeSrc":"6989:11:48","nodeType":"YulFunctionCall","src":"6989:11:48"},{"kind":"number","nativeSrc":"7002:1:48","nodeType":"YulLiteral","src":"7002:1:48","type":"","value":"0"},{"kind":"number","nativeSrc":"7005:1:48","nodeType":"YulLiteral","src":"7005:1:48","type":"","value":"0"}],"functionName":{"name":"call","nativeSrc":"6951:4:48","nodeType":"YulIdentifier","src":"6951:4:48"},"nativeSrc":"6951:56:48","nodeType":"YulFunctionCall","src":"6951:56:48"},"variableNames":[{"name":"success","nativeSrc":"6940:7:48","nodeType":"YulIdentifier","src":"6940:7:48"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48047,"isOffset":false,"isSlot":false,"src":"6976:4:48","valueSize":1},{"declaration":48047,"isOffset":false,"isSlot":false,"src":"6995:4:48","valueSize":1},{"declaration":48045,"isOffset":false,"isSlot":false,"src":"6963:4:48","valueSize":1},{"declaration":48053,"isOffset":false,"isSlot":false,"src":"6940:7:48","valueSize":1}],"flags":["memory-safe"],"id":48055,"nodeType":"InlineAssembly","src":"6901:116:48"},{"condition":{"id":48057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7111:8:48","subExpression":{"id":48056,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48053,"src":"7112:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48073,"nodeType":"IfStatement","src":"7107:102:48","trueBody":{"expression":{"arguments":[{"arguments":[{"id":48063,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48045,"src":"7164:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7156:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48061,"name":"address","nodeType":"ElementaryTypeName","src":"7156:7:48","typeDescriptions":{}}},"id":48064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7156:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":48067,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48047,"src":"7178:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7171:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":48065,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7171:6:48","typeDescriptions":{}}},"id":48068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7171:12:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":48069,"name":"HookCallFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47807,"src":"7185:14:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7200:8:48","memberName":"selector","nodeType":"MemberAccess","src":"7185:23:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":48058,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"7121:12:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CustomRevert_$45214_$","typeString":"type(library CustomRevert)"}},"id":48060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7134:21:48","memberName":"bubbleUpAndRevertWith","nodeType":"MemberAccess","referencedDeclaration":45213,"src":"7121:34:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes4_$_t_bytes4_$returns$__$","typeString":"function (address,bytes4,bytes4) pure"}},"id":48071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7121:88:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48072,"nodeType":"ExpressionStatement","src":"7121:88:48"}},{"AST":{"nativeSrc":"7305:479:48","nodeType":"YulBlock","src":"7305:479:48","statements":[{"nativeSrc":"7390:21:48","nodeType":"YulAssignment","src":"7390:21:48","value":{"arguments":[{"kind":"number","nativeSrc":"7406:4:48","nodeType":"YulLiteral","src":"7406:4:48","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7400:5:48","nodeType":"YulIdentifier","src":"7400:5:48"},"nativeSrc":"7400:11:48","nodeType":"YulFunctionCall","src":"7400:11:48"},"variableNames":[{"name":"result","nativeSrc":"7390:6:48","nodeType":"YulIdentifier","src":"7390:6:48"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7519:4:48","nodeType":"YulLiteral","src":"7519:4:48","type":"","value":"0x40"},{"arguments":[{"name":"result","nativeSrc":"7529:6:48","nodeType":"YulIdentifier","src":"7529:6:48"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"7545:14:48","nodeType":"YulIdentifier","src":"7545:14:48"},"nativeSrc":"7545:16:48","nodeType":"YulFunctionCall","src":"7545:16:48"},{"kind":"number","nativeSrc":"7563:4:48","nodeType":"YulLiteral","src":"7563:4:48","type":"","value":"0x3f"}],"functionName":{"name":"add","nativeSrc":"7541:3:48","nodeType":"YulIdentifier","src":"7541:3:48"},"nativeSrc":"7541:27:48","nodeType":"YulFunctionCall","src":"7541:27:48"},{"arguments":[{"kind":"number","nativeSrc":"7574:4:48","nodeType":"YulLiteral","src":"7574:4:48","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"7570:3:48","nodeType":"YulIdentifier","src":"7570:3:48"},"nativeSrc":"7570:9:48","nodeType":"YulFunctionCall","src":"7570:9:48"}],"functionName":{"name":"and","nativeSrc":"7537:3:48","nodeType":"YulIdentifier","src":"7537:3:48"},"nativeSrc":"7537:43:48","nodeType":"YulFunctionCall","src":"7537:43:48"}],"functionName":{"name":"add","nativeSrc":"7525:3:48","nodeType":"YulIdentifier","src":"7525:3:48"},"nativeSrc":"7525:56:48","nodeType":"YulFunctionCall","src":"7525:56:48"}],"functionName":{"name":"mstore","nativeSrc":"7512:6:48","nodeType":"YulIdentifier","src":"7512:6:48"},"nativeSrc":"7512:70:48","nodeType":"YulFunctionCall","src":"7512:70:48"},"nativeSrc":"7512:70:48","nodeType":"YulExpressionStatement","src":"7512:70:48"},{"expression":{"arguments":[{"name":"result","nativeSrc":"7640:6:48","nodeType":"YulIdentifier","src":"7640:6:48"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"7648:14:48","nodeType":"YulIdentifier","src":"7648:14:48"},"nativeSrc":"7648:16:48","nodeType":"YulFunctionCall","src":"7648:16:48"}],"functionName":{"name":"mstore","nativeSrc":"7633:6:48","nodeType":"YulIdentifier","src":"7633:6:48"},"nativeSrc":"7633:32:48","nodeType":"YulFunctionCall","src":"7633:32:48"},"nativeSrc":"7633:32:48","nodeType":"YulExpressionStatement","src":"7633:32:48"},{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"7739:6:48","nodeType":"YulIdentifier","src":"7739:6:48"},{"kind":"number","nativeSrc":"7747:4:48","nodeType":"YulLiteral","src":"7747:4:48","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"7735:3:48","nodeType":"YulIdentifier","src":"7735:3:48"},"nativeSrc":"7735:17:48","nodeType":"YulFunctionCall","src":"7735:17:48"},{"kind":"number","nativeSrc":"7754:1:48","nodeType":"YulLiteral","src":"7754:1:48","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"7757:14:48","nodeType":"YulIdentifier","src":"7757:14:48"},"nativeSrc":"7757:16:48","nodeType":"YulFunctionCall","src":"7757:16:48"}],"functionName":{"name":"returndatacopy","nativeSrc":"7720:14:48","nodeType":"YulIdentifier","src":"7720:14:48"},"nativeSrc":"7720:54:48","nodeType":"YulFunctionCall","src":"7720:54:48"},"nativeSrc":"7720:54:48","nodeType":"YulExpressionStatement","src":"7720:54:48"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48050,"isOffset":false,"isSlot":false,"src":"7390:6:48","valueSize":1},{"declaration":48050,"isOffset":false,"isSlot":false,"src":"7529:6:48","valueSize":1},{"declaration":48050,"isOffset":false,"isSlot":false,"src":"7640:6:48","valueSize":1},{"declaration":48050,"isOffset":false,"isSlot":false,"src":"7739:6:48","valueSize":1}],"flags":["memory-safe"],"id":48074,"nodeType":"InlineAssembly","src":"7280:504:48"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48075,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48050,"src":"7914:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7921:6:48","memberName":"length","nodeType":"MemberAccess","src":"7914:13:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3332","id":48077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7930:2:48","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"7914:18:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":48085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48079,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48050,"src":"7936:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7943:13:48","memberName":"parseSelector","nodeType":"MemberAccess","referencedDeclaration":56771,"src":"7936:20:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$attached_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes4)"}},"id":48081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7936:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48082,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48047,"src":"7962:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7967:13:48","memberName":"parseSelector","nodeType":"MemberAccess","referencedDeclaration":56771,"src":"7962:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes4_$attached_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes4)"}},"id":48084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7962:20:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7936:46:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7914:68:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48095,"nodeType":"IfStatement","src":"7910:140:48","trueBody":{"id":48094,"nodeType":"Block","src":"7984:66:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":48087,"name":"InvalidHookResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47804,"src":"7998:19:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8018:8:48","memberName":"selector","nodeType":"MemberAccess","src":"7998:28:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":48091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8027:10:48","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"7998:39:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":48092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7998:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48093,"nodeType":"ExpressionStatement","src":"7998:41:48"}]}}]},"documentation":{"id":48042,"nodeType":"StructuredDocumentation","src":"6610:165:48","text":"@notice performs a hook call using the given calldata on the given hook that doesn't return a delta\n @return result The complete data returned by the hook"},"id":48097,"implemented":true,"kind":"function","modifiers":[],"name":"callHook","nameLocation":"6789:8:48","nodeType":"FunctionDefinition","parameters":{"id":48048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48045,"mutability":"mutable","name":"self","nameLocation":"6805:4:48","nodeType":"VariableDeclaration","scope":48097,"src":"6798:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48044,"nodeType":"UserDefinedTypeName","pathNode":{"id":48043,"name":"IHooks","nameLocations":["6798:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"6798:6:48"},"referencedDeclaration":1480,"src":"6798:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48047,"mutability":"mutable","name":"data","nameLocation":"6824:4:48","nodeType":"VariableDeclaration","scope":48097,"src":"6811:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48046,"name":"bytes","nodeType":"ElementaryTypeName","src":"6811:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6797:32:48"},"returnParameters":{"id":48051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48050,"mutability":"mutable","name":"result","nameLocation":"6861:6:48","nodeType":"VariableDeclaration","scope":48097,"src":"6848:19:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48049,"name":"bytes","nodeType":"ElementaryTypeName","src":"6848:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6847:21:48"},"scope":48811,"src":"6780:1276:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48138,"nodeType":"Block","src":"8305:376:48","statements":[{"assignments":[48111],"declarations":[{"constant":false,"id":48111,"mutability":"mutable","name":"result","nameLocation":"8328:6:48","nodeType":"VariableDeclaration","scope":48138,"src":"8315:19:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48110,"name":"bytes","nodeType":"ElementaryTypeName","src":"8315:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":48116,"initialValue":{"arguments":[{"id":48113,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48101,"src":"8346:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"id":48114,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48103,"src":"8352:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48112,"name":"callHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48097,"src":"8337:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8337:20:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8315:42:48"},{"condition":{"id":48118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8449:12:48","subExpression":{"id":48117,"name":"parseReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48105,"src":"8450:11:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48121,"nodeType":"IfStatement","src":"8445:26:48","trueBody":{"expression":{"hexValue":"30","id":48119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8470:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":48109,"id":48120,"nodeType":"Return","src":"8463:8:48"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48122,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48111,"src":"8570:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8577:6:48","memberName":"length","nodeType":"MemberAccess","src":"8570:13:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"3634","id":48124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8587:2:48","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8570:19:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48133,"nodeType":"IfStatement","src":"8566:66:48","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":48126,"name":"InvalidHookResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47804,"src":"8591:19:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8611:8:48","memberName":"selector","nodeType":"MemberAccess","src":"8591:28:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":48130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8620:10:48","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"8591:39:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":48131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48132,"nodeType":"ExpressionStatement","src":"8591:41:48"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48134,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48111,"src":"8649:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8656:16:48","memberName":"parseReturnDelta","nodeType":"MemberAccess","referencedDeclaration":56789,"src":"8649:23:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_int256_$attached_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (int256)"}},"id":48136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8649:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":48109,"id":48137,"nodeType":"Return","src":"8642:32:48"}]},"documentation":{"id":48098,"nodeType":"StructuredDocumentation","src":"8062:129:48","text":"@notice performs a hook call using the given calldata on the given hook\n @return int256 The delta returned by the hook"},"id":48139,"implemented":true,"kind":"function","modifiers":[],"name":"callHookWithReturnDelta","nameLocation":"8205:23:48","nodeType":"FunctionDefinition","parameters":{"id":48106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48101,"mutability":"mutable","name":"self","nameLocation":"8236:4:48","nodeType":"VariableDeclaration","scope":48139,"src":"8229:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48100,"nodeType":"UserDefinedTypeName","pathNode":{"id":48099,"name":"IHooks","nameLocations":["8229:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"8229:6:48"},"referencedDeclaration":1480,"src":"8229:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48103,"mutability":"mutable","name":"data","nameLocation":"8255:4:48","nodeType":"VariableDeclaration","scope":48139,"src":"8242:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48102,"name":"bytes","nodeType":"ElementaryTypeName","src":"8242:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":48105,"mutability":"mutable","name":"parseReturn","nameLocation":"8266:11:48","nodeType":"VariableDeclaration","scope":48139,"src":"8261:16:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48104,"name":"bool","nodeType":"ElementaryTypeName","src":"8261:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8228:50:48"},"returnParameters":{"id":48109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48139,"src":"8297:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48107,"name":"int256","nodeType":"ElementaryTypeName","src":"8297:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8296:8:48"},"scope":48811,"src":"8196:485:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48155,"nodeType":"Block","src":"8800:75:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48145,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8814:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8818:6:48","memberName":"sender","nodeType":"MemberAccess","src":"8814:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":48149,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48143,"src":"8836:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8828:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48147,"name":"address","nodeType":"ElementaryTypeName","src":"8828:7:48","typeDescriptions":{}}},"id":48150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8828:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8814:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48154,"nodeType":"IfStatement","src":"8810:59:48","trueBody":{"id":48153,"nodeType":"Block","src":"8843:26:48","statements":[{"id":48152,"nodeType":"PlaceholderStatement","src":"8857:1:48"}]}}]},"documentation":{"id":48140,"nodeType":"StructuredDocumentation","src":"8687:75:48","text":"@notice modifier to prevent calling a hook if they initiated the action"},"id":48156,"name":"noSelfCall","nameLocation":"8776:10:48","nodeType":"ModifierDefinition","parameters":{"id":48144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48143,"mutability":"mutable","name":"self","nameLocation":"8794:4:48","nodeType":"VariableDeclaration","scope":48156,"src":"8787:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48142,"nodeType":"UserDefinedTypeName","pathNode":{"id":48141,"name":"IHooks","nameLocations":["8787:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"8787:6:48"},"referencedDeclaration":1480,"src":"8787:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"}],"src":"8786:13:48"},"src":"8767:108:48","virtual":false,"visibility":"internal"},{"body":{"id":48192,"nodeType":"Block","src":"9075:176:48","statements":[{"condition":{"arguments":[{"id":48173,"name":"BEFORE_INITIALIZE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47702,"src":"9108:22:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48171,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48160,"src":"9089:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9094:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"9089:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9089:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48191,"nodeType":"IfStatement","src":"9085:160:48","trueBody":{"id":48190,"nodeType":"Block","src":"9133:112:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48180,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"9176:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9183:16:48","memberName":"beforeInitialize","nodeType":"MemberAccess","referencedDeclaration":1306,"src":"9176:23:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint160_$returns$_t_bytes4_$","typeString":"function IHooks.beforeInitialize(address,struct PoolKey calldata,uint160) returns (bytes4)"}},{"components":[{"expression":{"id":48182,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9202:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9206:6:48","memberName":"sender","nodeType":"MemberAccess","src":"9202:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48184,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48163,"src":"9214:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48185,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48165,"src":"9219:12:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":48186,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9201:31:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$","typeString":"tuple(address,struct PoolKey memory,uint160)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint160_$returns$_t_bytes4_$","typeString":"function IHooks.beforeInitialize(address,struct PoolKey calldata,uint160) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$","typeString":"tuple(address,struct PoolKey memory,uint160)"}],"expression":{"id":48178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9161:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9165:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"9161:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9161:72:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48175,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48160,"src":"9147:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9152:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"9147:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9147:87:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48189,"nodeType":"ExpressionStatement","src":"9147:87:48"}]}}]},"documentation":{"id":48157,"nodeType":"StructuredDocumentation","src":"8881:82:48","text":"@notice calls beforeInitialize hook if permissioned and validates return value"},"id":48193,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":48168,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48160,"src":"9069:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"id":48169,"kind":"modifierInvocation","modifierName":{"id":48167,"name":"noSelfCall","nameLocations":["9058:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":48156,"src":"9058:10:48"},"nodeType":"ModifierInvocation","src":"9058:16:48"}],"name":"beforeInitialize","nameLocation":"8977:16:48","nodeType":"FunctionDefinition","parameters":{"id":48166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48160,"mutability":"mutable","name":"self","nameLocation":"9001:4:48","nodeType":"VariableDeclaration","scope":48193,"src":"8994:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48159,"nodeType":"UserDefinedTypeName","pathNode":{"id":48158,"name":"IHooks","nameLocations":["8994:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"8994:6:48"},"referencedDeclaration":1480,"src":"8994:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48163,"mutability":"mutable","name":"key","nameLocation":"9022:3:48","nodeType":"VariableDeclaration","scope":48193,"src":"9007:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48162,"nodeType":"UserDefinedTypeName","pathNode":{"id":48161,"name":"PoolKey","nameLocations":["9007:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"9007:7:48"},"referencedDeclaration":4745,"src":"9007:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48165,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"9035:12:48","nodeType":"VariableDeclaration","scope":48193,"src":"9027:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":48164,"name":"uint160","nodeType":"ElementaryTypeName","src":"9027:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"8993:55:48"},"returnParameters":{"id":48170,"nodeType":"ParameterList","parameters":[],"src":"9075:0:48"},"scope":48811,"src":"8968:283:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48232,"nodeType":"Block","src":"9481:180:48","statements":[{"condition":{"arguments":[{"id":48212,"name":"AFTER_INITIALIZE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47707,"src":"9514:21:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48197,"src":"9495:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9500:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"9495:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48231,"nodeType":"IfStatement","src":"9491:164:48","trueBody":{"id":48230,"nodeType":"Block","src":"9538:117:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48219,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"9581:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9588:15:48","memberName":"afterInitialize","nodeType":"MemberAccess","referencedDeclaration":1321,"src":"9581:22:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint160_$_t_int24_$returns$_t_bytes4_$","typeString":"function IHooks.afterInitialize(address,struct PoolKey calldata,uint160,int24) returns (bytes4)"}},{"components":[{"expression":{"id":48221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9606:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9610:6:48","memberName":"sender","nodeType":"MemberAccess","src":"9606:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48223,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48200,"src":"9618:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48224,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48202,"src":"9623:12:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":48225,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48204,"src":"9637:4:48","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":48226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9605:37:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$_t_int24_$","typeString":"tuple(address,struct PoolKey memory,uint160,int24)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint160_$_t_int24_$returns$_t_bytes4_$","typeString":"function IHooks.afterInitialize(address,struct PoolKey calldata,uint160,int24) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$_t_int24_$","typeString":"tuple(address,struct PoolKey memory,uint160,int24)"}],"expression":{"id":48217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9566:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9570:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"9566:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9566:77:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48214,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48197,"src":"9552:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9557:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"9552:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9552:92:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48229,"nodeType":"ExpressionStatement","src":"9552:92:48"}]}}]},"documentation":{"id":48194,"nodeType":"StructuredDocumentation","src":"9257:81:48","text":"@notice calls afterInitialize hook if permissioned and validates return value"},"id":48233,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":48207,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48197,"src":"9471:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"id":48208,"kind":"modifierInvocation","modifierName":{"id":48206,"name":"noSelfCall","nameLocations":["9460:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":48156,"src":"9460:10:48"},"nodeType":"ModifierInvocation","src":"9460:16:48"}],"name":"afterInitialize","nameLocation":"9352:15:48","nodeType":"FunctionDefinition","parameters":{"id":48205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48197,"mutability":"mutable","name":"self","nameLocation":"9375:4:48","nodeType":"VariableDeclaration","scope":48233,"src":"9368:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48196,"nodeType":"UserDefinedTypeName","pathNode":{"id":48195,"name":"IHooks","nameLocations":["9368:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"9368:6:48"},"referencedDeclaration":1480,"src":"9368:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48200,"mutability":"mutable","name":"key","nameLocation":"9396:3:48","nodeType":"VariableDeclaration","scope":48233,"src":"9381:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48199,"nodeType":"UserDefinedTypeName","pathNode":{"id":48198,"name":"PoolKey","nameLocations":["9381:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"9381:7:48"},"referencedDeclaration":4745,"src":"9381:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48202,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"9409:12:48","nodeType":"VariableDeclaration","scope":48233,"src":"9401:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":48201,"name":"uint160","nodeType":"ElementaryTypeName","src":"9401:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":48204,"mutability":"mutable","name":"tick","nameLocation":"9429:4:48","nodeType":"VariableDeclaration","scope":48233,"src":"9423:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":48203,"name":"int24","nodeType":"ElementaryTypeName","src":"9423:5:48","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"9367:67:48"},"returnParameters":{"id":48209,"nodeType":"ParameterList","parameters":[],"src":"9481:0:48"},"scope":48811,"src":"9343:318:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48305,"nodeType":"Block","src":"9949:425:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48251,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48243,"src":"9963:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":48252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9970:14:48","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"9963:21:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":48253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9987:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9963:25:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":48257,"name":"BEFORE_ADD_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47712,"src":"10011:25:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48255,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"9992:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9997:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"9992:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9992:45:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9963:74:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48277,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48243,"src":"10167:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":48278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10174:14:48","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"10167:21:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":48279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10192:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10167:26:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":48283,"name":"BEFORE_REMOVE_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47722,"src":"10216:28:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48281,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"10197:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10202:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"10197:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10197:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10167:78:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48303,"nodeType":"IfStatement","src":"10163:205:48","trueBody":{"id":48302,"nodeType":"Block","src":"10247:121:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48291,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"10290:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10297:21:48","memberName":"beforeRemoveLiquidity","nodeType":"MemberAccess","referencedDeclaration":1378,"src":"10290:28:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeRemoveLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,bytes calldata) returns (bytes4)"}},{"components":[{"expression":{"id":48293,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10321:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10325:6:48","memberName":"sender","nodeType":"MemberAccess","src":"10321:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48295,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48240,"src":"10333:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48296,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48243,"src":"10338:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":48297,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48245,"src":"10346:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48298,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10320:35:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeRemoveLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,bytes calldata) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,bytes calldata)"}],"expression":{"id":48289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10275:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10279:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"10275:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10275:81:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48286,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"10261:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10266:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"10261:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10261:96:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48301,"nodeType":"ExpressionStatement","src":"10261:96:48"}]}},"id":48304,"nodeType":"IfStatement","src":"9959:409:48","trueBody":{"id":48276,"nodeType":"Block","src":"10039:118:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48265,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"10082:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10089:18:48","memberName":"beforeAddLiquidity","nodeType":"MemberAccess","referencedDeclaration":1337,"src":"10082:25:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeAddLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,bytes calldata) returns (bytes4)"}},{"components":[{"expression":{"id":48267,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10110:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:6:48","memberName":"sender","nodeType":"MemberAccess","src":"10110:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48269,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48240,"src":"10122:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48270,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48243,"src":"10127:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":48271,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48245,"src":"10135:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48272,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10109:35:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeAddLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,bytes calldata) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,bytes calldata)"}],"expression":{"id":48263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10067:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10071:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"10067:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10067:78:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48260,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"10053:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10058:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"10053:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10053:93:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48275,"nodeType":"ExpressionStatement","src":"10053:93:48"}]}}]},"documentation":{"id":48234,"nodeType":"StructuredDocumentation","src":"9667:87:48","text":"@notice calls beforeModifyLiquidity hook if permissioned and validates return value"},"id":48306,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":48248,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"9943:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"id":48249,"kind":"modifierInvocation","modifierName":{"id":48247,"name":"noSelfCall","nameLocations":["9932:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":48156,"src":"9932:10:48"},"nodeType":"ModifierInvocation","src":"9932:16:48"}],"name":"beforeModifyLiquidity","nameLocation":"9768:21:48","nodeType":"FunctionDefinition","parameters":{"id":48246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48237,"mutability":"mutable","name":"self","nameLocation":"9806:4:48","nodeType":"VariableDeclaration","scope":48306,"src":"9799:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48236,"nodeType":"UserDefinedTypeName","pathNode":{"id":48235,"name":"IHooks","nameLocations":["9799:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"9799:6:48"},"referencedDeclaration":1480,"src":"9799:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48240,"mutability":"mutable","name":"key","nameLocation":"9835:3:48","nodeType":"VariableDeclaration","scope":48306,"src":"9820:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48239,"nodeType":"UserDefinedTypeName","pathNode":{"id":48238,"name":"PoolKey","nameLocations":["9820:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"9820:7:48"},"referencedDeclaration":4745,"src":"9820:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48243,"mutability":"mutable","name":"params","nameLocation":"9877:6:48","nodeType":"VariableDeclaration","scope":48306,"src":"9848:35:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":48242,"nodeType":"UserDefinedTypeName","pathNode":{"id":48241,"name":"ModifyLiquidityParams","nameLocations":["9848:21:48"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"9848:21:48"},"referencedDeclaration":4761,"src":"9848:21:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":48245,"mutability":"mutable","name":"hookData","nameLocation":"9908:8:48","nodeType":"VariableDeclaration","scope":48306,"src":"9893:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48244,"name":"bytes","nodeType":"ElementaryTypeName","src":"9893:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9789:133:48"},"returnParameters":{"id":48250,"nodeType":"ParameterList","parameters":[],"src":"9949:0:48"},"scope":48811,"src":"9759:615:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48433,"nodeType":"Block","src":"10764:1265:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48333,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10778:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10782:6:48","memberName":"sender","nodeType":"MemberAccess","src":"10778:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":48337,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"10800:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10792:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48335,"name":"address","nodeType":"ElementaryTypeName","src":"10792:7:48","typeDescriptions":{}}},"id":48338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10792:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10778:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48345,"nodeType":"IfStatement","src":"10774:79:48","trueBody":{"expression":{"components":[{"id":48340,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48319,"src":"10815:5:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"expression":{"id":48341,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"10822:19:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BalanceDeltaLibrary_$4391_$","typeString":"type(library BalanceDeltaLibrary)"}},"id":48342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10842:10:48","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"10822:30:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":48343,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10814:39:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"functionReturnParameters":48332,"id":48344,"nodeType":"Return","src":"10807:46:48"}},{"expression":{"id":48348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48346,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48328,"src":"10864:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48347,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48319,"src":"10878:5:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"10864:19:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48349,"nodeType":"ExpressionStatement","src":"10864:19:48"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48350,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48316,"src":"10897:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":48351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10904:14:48","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"10897:21:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":48352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10921:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10897:25:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":48431,"nodeType":"Block","src":"11472:551:48","statements":[{"condition":{"arguments":[{"id":48395,"name":"AFTER_REMOVE_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47727,"src":"11509:27:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48393,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"11490:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11495:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"11490:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11490:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48430,"nodeType":"IfStatement","src":"11486:527:48","trueBody":{"id":48429,"nodeType":"Block","src":"11539:474:48","statements":[{"expression":{"id":48421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48397,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48331,"src":"11557:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":48404,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"11706:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11713:20:48","memberName":"afterRemoveLiquidity","nodeType":"MemberAccess","referencedDeclaration":1403,"src":"11706:27:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function IHooks.afterRemoveLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,BalanceDelta,BalanceDelta,bytes calldata) returns (bytes4,BalanceDelta)"}},{"components":[{"expression":{"id":48406,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11736:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11740:6:48","memberName":"sender","nodeType":"MemberAccess","src":"11736:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48408,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48313,"src":"11748:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48409,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48316,"src":"11753:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":48410,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48319,"src":"11761:5:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48411,"name":"feesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48322,"src":"11768:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48412,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48324,"src":"11781:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48413,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11735:55:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,BalanceDelta,BalanceDelta,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function IHooks.afterRemoveLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,BalanceDelta,BalanceDelta,bytes calldata) returns (bytes4,BalanceDelta)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,BalanceDelta,BalanceDelta,bytes calldata)"}],"expression":{"id":48402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11662:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11666:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"11662:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11662:154:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":48417,"name":"AFTER_REMOVE_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"11861:41:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48415,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"11842:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11847:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"11842:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11842:61:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48400,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"11608:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11613:23:48","memberName":"callHookWithReturnDelta","nodeType":"MemberAccess","referencedDeclaration":48139,"src":"11608:28:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_int256_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory,bool) returns (int256)"}},"id":48419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11608:317:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":48398,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"11569:12:48","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":48399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11582:4:48","memberName":"wrap","nodeType":"MemberAccess","src":"11569:17:48","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_int256_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int256) pure returns (BalanceDelta)"}},"id":48420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:374:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11557:386:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48422,"nodeType":"ExpressionStatement","src":"11557:386:48"},{"expression":{"id":48427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48423,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48328,"src":"11961:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4317,"id":48426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48424,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48328,"src":"11975:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":48425,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48331,"src":"11989:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11975:23:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11961:37:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48428,"nodeType":"ExpressionStatement","src":"11961:37:48"}]}}]},"id":48432,"nodeType":"IfStatement","src":"10893:1130:48","trueBody":{"id":48392,"nodeType":"Block","src":"10924:542:48","statements":[{"condition":{"arguments":[{"id":48356,"name":"AFTER_ADD_LIQUIDITY_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47717,"src":"10961:24:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48354,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"10942:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10947:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"10942:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10942:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48391,"nodeType":"IfStatement","src":"10938:518:48","trueBody":{"id":48390,"nodeType":"Block","src":"10988:468:48","statements":[{"expression":{"id":48382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48358,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48331,"src":"11006:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":48365,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"11155:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11162:17:48","memberName":"afterAddLiquidity","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"11155:24:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function IHooks.afterAddLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,BalanceDelta,BalanceDelta,bytes calldata) returns (bytes4,BalanceDelta)"}},{"components":[{"expression":{"id":48367,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11182:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11186:6:48","memberName":"sender","nodeType":"MemberAccess","src":"11182:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48369,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48313,"src":"11194:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48370,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48316,"src":"11199:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":48371,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48319,"src":"11207:5:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48372,"name":"feesAccrued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48322,"src":"11214:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48373,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48324,"src":"11227:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48374,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11181:55:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,BalanceDelta,BalanceDelta,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_ModifyLiquidityParams_$4761_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function IHooks.afterAddLiquidity(address,struct PoolKey calldata,struct ModifyLiquidityParams calldata,BalanceDelta,BalanceDelta,bytes calldata) returns (bytes4,BalanceDelta)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct ModifyLiquidityParams memory,BalanceDelta,BalanceDelta,bytes calldata)"}],"expression":{"id":48363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11111:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11115:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"11111:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11111:151:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":48378,"name":"AFTER_ADD_LIQUIDITY_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47762,"src":"11307:38:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48376,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"11288:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11293:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"11288:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11288:58:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48361,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48310,"src":"11057:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11062:23:48","memberName":"callHookWithReturnDelta","nodeType":"MemberAccess","referencedDeclaration":48139,"src":"11057:28:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_int256_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory,bool) returns (int256)"}},"id":48380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11057:311:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":48359,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"11018:12:48","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":48360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11031:4:48","memberName":"wrap","nodeType":"MemberAccess","src":"11018:17:48","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_int256_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int256) pure returns (BalanceDelta)"}},"id":48381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11018:368:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11006:380:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48383,"nodeType":"ExpressionStatement","src":"11006:380:48"},{"expression":{"id":48388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48384,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48328,"src":"11404:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4317,"id":48387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48385,"name":"callerDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48328,"src":"11418:11:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":48386,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48331,"src":"11432:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11418:23:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"11404:37:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48389,"nodeType":"ExpressionStatement","src":"11404:37:48"}]}}]}}]},"documentation":{"id":48307,"nodeType":"StructuredDocumentation","src":"10380:86:48","text":"@notice calls afterModifyLiquidity hook if permissioned and validates return value"},"id":48434,"implemented":true,"kind":"function","modifiers":[],"name":"afterModifyLiquidity","nameLocation":"10480:20:48","nodeType":"FunctionDefinition","parameters":{"id":48325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48310,"mutability":"mutable","name":"self","nameLocation":"10517:4:48","nodeType":"VariableDeclaration","scope":48434,"src":"10510:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48309,"nodeType":"UserDefinedTypeName","pathNode":{"id":48308,"name":"IHooks","nameLocations":["10510:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"10510:6:48"},"referencedDeclaration":1480,"src":"10510:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48313,"mutability":"mutable","name":"key","nameLocation":"10546:3:48","nodeType":"VariableDeclaration","scope":48434,"src":"10531:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48312,"nodeType":"UserDefinedTypeName","pathNode":{"id":48311,"name":"PoolKey","nameLocations":["10531:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"10531:7:48"},"referencedDeclaration":4745,"src":"10531:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48316,"mutability":"mutable","name":"params","nameLocation":"10588:6:48","nodeType":"VariableDeclaration","scope":48434,"src":"10559:35:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":48315,"nodeType":"UserDefinedTypeName","pathNode":{"id":48314,"name":"ModifyLiquidityParams","nameLocations":["10559:21:48"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"10559:21:48"},"referencedDeclaration":4761,"src":"10559:21:48","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":48319,"mutability":"mutable","name":"delta","nameLocation":"10617:5:48","nodeType":"VariableDeclaration","scope":48434,"src":"10604:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48318,"nodeType":"UserDefinedTypeName","pathNode":{"id":48317,"name":"BalanceDelta","nameLocations":["10604:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"10604:12:48"},"referencedDeclaration":4233,"src":"10604:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":48322,"mutability":"mutable","name":"feesAccrued","nameLocation":"10645:11:48","nodeType":"VariableDeclaration","scope":48434,"src":"10632:24:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48321,"nodeType":"UserDefinedTypeName","pathNode":{"id":48320,"name":"BalanceDelta","nameLocations":["10632:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"10632:12:48"},"referencedDeclaration":4233,"src":"10632:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":48324,"mutability":"mutable","name":"hookData","nameLocation":"10681:8:48","nodeType":"VariableDeclaration","scope":48434,"src":"10666:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48323,"name":"bytes","nodeType":"ElementaryTypeName","src":"10666:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10500:195:48"},"returnParameters":{"id":48332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48328,"mutability":"mutable","name":"callerDelta","nameLocation":"10727:11:48","nodeType":"VariableDeclaration","scope":48434,"src":"10714:24:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48327,"nodeType":"UserDefinedTypeName","pathNode":{"id":48326,"name":"BalanceDelta","nameLocations":["10714:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"10714:12:48"},"referencedDeclaration":4233,"src":"10714:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":48331,"mutability":"mutable","name":"hookDelta","nameLocation":"10753:9:48","nodeType":"VariableDeclaration","scope":48434,"src":"10740:22:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48330,"nodeType":"UserDefinedTypeName","pathNode":{"id":48329,"name":"BalanceDelta","nameLocations":["10740:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"10740:12:48"},"referencedDeclaration":4233,"src":"10740:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"10713:50:48"},"scope":48811,"src":"10471:1558:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48574,"nodeType":"Block","src":"12329:1754:48","statements":[{"expression":{"id":48459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48456,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"12339:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":48457,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48444,"src":"12354:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":48458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12361:15:48","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"12354:22:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12339:37:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":48460,"nodeType":"ExpressionStatement","src":"12339:37:48"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48461,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12390:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12394:6:48","memberName":"sender","nodeType":"MemberAccess","src":"12390:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":48465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48438,"src":"12412:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12404:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48463,"name":"address","nodeType":"ElementaryTypeName","src":"12404:7:48","typeDescriptions":{}}},"id":48466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12404:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12390:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48474,"nodeType":"IfStatement","src":"12386:104:48","trueBody":{"expression":{"components":[{"id":48468,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"12427:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"expression":{"id":48469,"name":"BeforeSwapDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44862,"src":"12441:22:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BeforeSwapDeltaLibrary_$44862_$","typeString":"type(library BeforeSwapDeltaLibrary)"}},"id":48470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12464:10:48","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":44839,"src":"12441:33:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},{"id":48471,"name":"lpFeeOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48454,"src":"12476:13:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"id":48472,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12426:64:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$","typeString":"tuple(int256,BeforeSwapDelta,uint24)"}},"functionReturnParameters":48455,"id":48473,"nodeType":"Return","src":"12419:71:48"}},{"condition":{"arguments":[{"id":48477,"name":"BEFORE_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47732,"src":"12524:16:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48475,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48438,"src":"12505:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12510:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"12505:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12505:36:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48573,"nodeType":"IfStatement","src":"12501:1576:48","trueBody":{"id":48572,"nodeType":"Block","src":"12543:1534:48","statements":[{"assignments":[48480],"declarations":[{"constant":false,"id":48480,"mutability":"mutable","name":"result","nameLocation":"12570:6:48","nodeType":"VariableDeclaration","scope":48572,"src":"12557:19:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48479,"name":"bytes","nodeType":"ElementaryTypeName","src":"12557:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":48495,"initialValue":{"arguments":[{"id":48482,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48438,"src":"12588:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"arguments":[{"expression":{"id":48485,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"12609:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12616:10:48","memberName":"beforeSwap","nodeType":"MemberAccess","referencedDeclaration":1424,"src":"12609:17:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_SwapParams_$4772_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$","typeString":"function IHooks.beforeSwap(address,struct PoolKey calldata,struct SwapParams calldata,bytes calldata) returns (bytes4,BeforeSwapDelta,uint24)"}},{"components":[{"expression":{"id":48487,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12629:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12633:6:48","memberName":"sender","nodeType":"MemberAccess","src":"12629:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48489,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48441,"src":"12641:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48490,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48444,"src":"12646:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"id":48491,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48446,"src":"12654:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48492,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12628:35:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct SwapParams memory,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_SwapParams_$4772_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$_t_uint24_$","typeString":"function IHooks.beforeSwap(address,struct PoolKey calldata,struct SwapParams calldata,bytes calldata) returns (bytes4,BeforeSwapDelta,uint24)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct SwapParams memory,bytes calldata)"}],"expression":{"id":48483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12594:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12598:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"12594:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12594:70:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48481,"name":"callHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48097,"src":"12579:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12579:86:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12557:108:48"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48496,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48480,"src":"12783:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12790:6:48","memberName":"length","nodeType":"MemberAccess","src":"12783:13:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"3936","id":48498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12800:2:48","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"12783:19:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48507,"nodeType":"IfStatement","src":"12779:66:48","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":48500,"name":"InvalidHookResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47804,"src":"12804:19:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12824:8:48","memberName":"selector","nodeType":"MemberAccess","src":"12804:28:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":48504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12833:10:48","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"12804:39:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":48505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12804:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48506,"nodeType":"ExpressionStatement","src":"12804:41:48"}},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":48508,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48441,"src":"13119:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":48509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13123:3:48","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"13119:7:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13127:12:48","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"13119:20:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":48511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13119:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48518,"nodeType":"IfStatement","src":"13115:61:48","trueBody":{"expression":{"id":48516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48512,"name":"lpFeeOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48454,"src":"13143:13:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48513,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48480,"src":"13159:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13166:8:48","memberName":"parseFee","nodeType":"MemberAccess","referencedDeclaration":56780,"src":"13159:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint24_$attached_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (uint24)"}},"id":48515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13159:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"13143:33:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48517,"nodeType":"ExpressionStatement","src":"13143:33:48"}},{"condition":{"arguments":[{"id":48521,"name":"BEFORE_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47752,"src":"13285:30:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48519,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48438,"src":"13266:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13271:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"13266:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13266:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48571,"nodeType":"IfStatement","src":"13262:805:48","trueBody":{"id":48570,"nodeType":"Block","src":"13318:749:48","statements":[{"expression":{"id":48530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48523,"name":"hookReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48452,"src":"13336:10:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48526,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48480,"src":"13370:6:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13377:16:48","memberName":"parseReturnDelta","nodeType":"MemberAccess","referencedDeclaration":56789,"src":"13370:23:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_int256_$attached_to$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (int256)"}},"id":48528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13370:25:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":48524,"name":"BeforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44818,"src":"13349:15:48","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"type(BeforeSwapDelta)"}},"id":48525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13365:4:48","memberName":"wrap","nodeType":"MemberAccess","src":"13349:20:48","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_int256_$returns$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"function (int256) pure returns (BeforeSwapDelta)"}},"id":48529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13349:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"src":"13336:60:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"id":48531,"nodeType":"ExpressionStatement","src":"13336:60:48"},{"assignments":[48533],"declarations":[{"constant":false,"id":48533,"mutability":"mutable","name":"hookDeltaSpecified","nameLocation":"13512:18:48","nodeType":"VariableDeclaration","scope":48570,"src":"13505:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":48532,"name":"int128","nodeType":"ElementaryTypeName","src":"13505:6:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":48537,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48534,"name":"hookReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48452,"src":"13533:10:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"id":48535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13544:17:48","memberName":"getSpecifiedDelta","nodeType":"MemberAccess","referencedDeclaration":44850,"src":"13533:28:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"function (BeforeSwapDelta) pure returns (int128)"}},"id":48536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13533:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"13505:58:48"},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":48540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48538,"name":"hookDeltaSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48533,"src":"13725:18:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13747:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13725:23:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48569,"nodeType":"IfStatement","src":"13721:332:48","trueBody":{"id":48568,"nodeType":"Block","src":"13750:303:48","statements":[{"assignments":[48542],"declarations":[{"constant":false,"id":48542,"mutability":"mutable","name":"exactInput","nameLocation":"13777:10:48","nodeType":"VariableDeclaration","scope":48568,"src":"13772:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48541,"name":"bool","nodeType":"ElementaryTypeName","src":"13772:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":48546,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48543,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"13790:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":48544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13805:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13790:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13772:34:48"},{"expression":{"id":48549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48547,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"13828:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":48548,"name":"hookDeltaSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48533,"src":"13844:18:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"13828:34:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":48550,"nodeType":"ExpressionStatement","src":"13828:34:48"},{"condition":{"condition":{"id":48551,"name":"exactInput","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48542,"src":"13888:10:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48555,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"13920:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":48556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13935:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13920:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13888:48:48","trueExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48552,"name":"amountToSwap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48449,"src":"13901:12:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":48553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13916:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13901:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48567,"nodeType":"IfStatement","src":"13884:151:48","trueBody":{"id":48566,"nodeType":"Block","src":"13938:97:48","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":48559,"name":"HookDeltaExceedsSwapAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47810,"src":"13964:26:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":48562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13991:8:48","memberName":"selector","nodeType":"MemberAccess","src":"13964:35:48","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":48563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14000:10:48","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"13964:46:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":48564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13964:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48565,"nodeType":"ExpressionStatement","src":"13964:48:48"}]}}]}}]}}]}}]},"documentation":{"id":48435,"nodeType":"StructuredDocumentation","src":"12035:76:48","text":"@notice calls beforeSwap hook if permissioned and validates return value"},"id":48575,"implemented":true,"kind":"function","modifiers":[],"name":"beforeSwap","nameLocation":"12125:10:48","nodeType":"FunctionDefinition","parameters":{"id":48447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48438,"mutability":"mutable","name":"self","nameLocation":"12143:4:48","nodeType":"VariableDeclaration","scope":48575,"src":"12136:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48437,"nodeType":"UserDefinedTypeName","pathNode":{"id":48436,"name":"IHooks","nameLocations":["12136:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"12136:6:48"},"referencedDeclaration":1480,"src":"12136:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48441,"mutability":"mutable","name":"key","nameLocation":"12164:3:48","nodeType":"VariableDeclaration","scope":48575,"src":"12149:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48440,"nodeType":"UserDefinedTypeName","pathNode":{"id":48439,"name":"PoolKey","nameLocations":["12149:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"12149:7:48"},"referencedDeclaration":4745,"src":"12149:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48444,"mutability":"mutable","name":"params","nameLocation":"12187:6:48","nodeType":"VariableDeclaration","scope":48575,"src":"12169:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":48443,"nodeType":"UserDefinedTypeName","pathNode":{"id":48442,"name":"SwapParams","nameLocations":["12169:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"12169:10:48"},"referencedDeclaration":4772,"src":"12169:10:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":48446,"mutability":"mutable","name":"hookData","nameLocation":"12210:8:48","nodeType":"VariableDeclaration","scope":48575,"src":"12195:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48445,"name":"bytes","nodeType":"ElementaryTypeName","src":"12195:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12135:84:48"},"returnParameters":{"id":48455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48449,"mutability":"mutable","name":"amountToSwap","nameLocation":"12261:12:48","nodeType":"VariableDeclaration","scope":48575,"src":"12254:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48448,"name":"int256","nodeType":"ElementaryTypeName","src":"12254:6:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":48452,"mutability":"mutable","name":"hookReturn","nameLocation":"12291:10:48","nodeType":"VariableDeclaration","scope":48575,"src":"12275:26:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":48451,"nodeType":"UserDefinedTypeName","pathNode":{"id":48450,"name":"BeforeSwapDelta","nameLocations":["12275:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"12275:15:48"},"referencedDeclaration":44818,"src":"12275:15:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"},{"constant":false,"id":48454,"mutability":"mutable","name":"lpFeeOverride","nameLocation":"12310:13:48","nodeType":"VariableDeclaration","scope":48575,"src":"12303:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48453,"name":"uint24","nodeType":"ElementaryTypeName","src":"12303:6:48","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"12253:71:48"},"scope":48811,"src":"12116:1967:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48700,"nodeType":"Block","src":"14434:1073:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48602,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14448:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14452:6:48","memberName":"sender","nodeType":"MemberAccess","src":"14448:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":48606,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48579,"src":"14470:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14462:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48604,"name":"address","nodeType":"ElementaryTypeName","src":"14462:7:48","typeDescriptions":{}}},"id":48607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14462:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14448:27:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48614,"nodeType":"IfStatement","src":"14444:83:48","trueBody":{"expression":{"components":[{"id":48609,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48588,"src":"14485:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"expression":{"id":48610,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"14496:19:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BalanceDeltaLibrary_$4391_$","typeString":"type(library BalanceDeltaLibrary)"}},"id":48611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14516:10:48","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"14496:30:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":48612,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14484:43:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"functionReturnParameters":48601,"id":48613,"nodeType":"Return","src":"14477:50:48"}},{"assignments":[48616],"declarations":[{"constant":false,"id":48616,"mutability":"mutable","name":"hookDeltaSpecified","nameLocation":"14545:18:48","nodeType":"VariableDeclaration","scope":48700,"src":"14538:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":48615,"name":"int128","nodeType":"ElementaryTypeName","src":"14538:6:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":48620,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48617,"name":"beforeSwapHookReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48593,"src":"14566:20:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"id":48618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14587:17:48","memberName":"getSpecifiedDelta","nodeType":"MemberAccess","referencedDeclaration":44850,"src":"14566:38:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"function (BeforeSwapDelta) pure returns (int128)"}},"id":48619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14566:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"14538:68:48"},{"assignments":[48622],"declarations":[{"constant":false,"id":48622,"mutability":"mutable","name":"hookDeltaUnspecified","nameLocation":"14623:20:48","nodeType":"VariableDeclaration","scope":48700,"src":"14616:27:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":48621,"name":"int128","nodeType":"ElementaryTypeName","src":"14616:6:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":48626,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48623,"name":"beforeSwapHookReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48593,"src":"14646:20:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"id":48624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14667:19:48","memberName":"getUnspecifiedDelta","nodeType":"MemberAccess","referencedDeclaration":44861,"src":"14646:40:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"function (BeforeSwapDelta) pure returns (int128)"}},"id":48625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14646:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"14616:72:48"},{"condition":{"arguments":[{"id":48629,"name":"AFTER_SWAP_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47737,"src":"14722:15:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48627,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48579,"src":"14703:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14708:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"14703:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14703:35:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48656,"nodeType":"IfStatement","src":"14699:308:48","trueBody":{"id":48655,"nodeType":"Block","src":"14740:267:48","statements":[{"expression":{"id":48653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48631,"name":"hookDeltaUnspecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"14754:20:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"expression":{"id":48636,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"14839:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14846:9:48","memberName":"afterSwap","nodeType":"MemberAccess","referencedDeclaration":1445,"src":"14839:16:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_SwapParams_$4772_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_int128_$","typeString":"function IHooks.afterSwap(address,struct PoolKey calldata,struct SwapParams calldata,BalanceDelta,bytes calldata) returns (bytes4,int128)"}},{"components":[{"expression":{"id":48638,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14858:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:6:48","memberName":"sender","nodeType":"MemberAccess","src":"14858:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48640,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48582,"src":"14870:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48641,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48585,"src":"14875:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"id":48642,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48588,"src":"14883:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48643,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48590,"src":"14894:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48644,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14857:46:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct SwapParams memory,BalanceDelta,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_struct$_SwapParams_$4772_calldata_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$_t_int128_$","typeString":"function IHooks.afterSwap(address,struct PoolKey calldata,struct SwapParams calldata,BalanceDelta,bytes calldata) returns (bytes4,int128)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,struct SwapParams memory,BalanceDelta,bytes calldata)"}],"expression":{"id":48634,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14824:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14828:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"14824:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14824:80:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":48648,"name":"AFTER_SWAP_RETURNS_DELTA_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47757,"src":"14941:29:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48646,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48579,"src":"14922:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14927:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"14922:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14922:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48632,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48579,"src":"14778:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14783:23:48","memberName":"callHookWithReturnDelta","nodeType":"MemberAccess","referencedDeclaration":48139,"src":"14778:28:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_int256_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory,bool) returns (int256)"}},"id":48650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14778:207:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":48651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14986:8:48","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"14778:216:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":48652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14778:218:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"14754:242:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":48654,"nodeType":"ExpressionStatement","src":"14754:242:48"}]}},{"assignments":[48659],"declarations":[{"constant":false,"id":48659,"mutability":"mutable","name":"hookDelta","nameLocation":"15030:9:48","nodeType":"VariableDeclaration","scope":48700,"src":"15017:22:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48658,"nodeType":"UserDefinedTypeName","pathNode":{"id":48657,"name":"BalanceDelta","nameLocations":["15017:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"15017:12:48"},"referencedDeclaration":4233,"src":"15017:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":48660,"nodeType":"VariableDeclarationStatement","src":"15017:22:48"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":48663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48661,"name":"hookDeltaUnspecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"15053:20:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15077:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15053:25:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":48666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48664,"name":"hookDeltaSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48616,"src":"15082:18:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15104:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15082:23:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15053:52:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48695,"nodeType":"IfStatement","src":"15049:413:48","trueBody":{"id":48694,"nodeType":"Block","src":"15107:355:48","statements":[{"expression":{"id":48686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48668,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48659,"src":"15121:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":48672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":48669,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48585,"src":"15134:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":48670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15141:15:48","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"15134:22:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":48671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15159:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15134:26:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":48673,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48585,"src":"15164:6:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":48674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15171:10:48","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":4765,"src":"15164:17:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15134:47:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":48676,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15133:49:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":48682,"name":"hookDeltaUnspecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"15291:20:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":48683,"name":"hookDeltaSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48616,"src":"15313:18:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":48681,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"15276:14:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":48684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15276:56:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15133:199:48","trueExpression":{"arguments":[{"id":48678,"name":"hookDeltaSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48616,"src":"15216:18:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":48679,"name":"hookDeltaUnspecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48622,"src":"15236:20:48","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":48677,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"15201:14:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":48680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15201:56:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"15121:211:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48687,"nodeType":"ExpressionStatement","src":"15121:211:48"},{"expression":{"id":48692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48688,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48588,"src":"15418:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"function":4317,"id":48691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48689,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48588,"src":"15430:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":48690,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48659,"src":"15442:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"15430:21:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"15418:33:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":48693,"nodeType":"ExpressionStatement","src":"15418:33:48"}]}},{"expression":{"components":[{"id":48696,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48588,"src":"15479:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"id":48697,"name":"hookDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48659,"src":"15490:9:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"id":48698,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15478:22:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"functionReturnParameters":48601,"id":48699,"nodeType":"Return","src":"15471:29:48"}]},"documentation":{"id":48576,"nodeType":"StructuredDocumentation","src":"14089:75:48","text":"@notice calls afterSwap hook if permissioned and validates return value"},"id":48701,"implemented":true,"kind":"function","modifiers":[],"name":"afterSwap","nameLocation":"14178:9:48","nodeType":"FunctionDefinition","parameters":{"id":48594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48579,"mutability":"mutable","name":"self","nameLocation":"14204:4:48","nodeType":"VariableDeclaration","scope":48701,"src":"14197:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48578,"nodeType":"UserDefinedTypeName","pathNode":{"id":48577,"name":"IHooks","nameLocations":["14197:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"14197:6:48"},"referencedDeclaration":1480,"src":"14197:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48582,"mutability":"mutable","name":"key","nameLocation":"14233:3:48","nodeType":"VariableDeclaration","scope":48701,"src":"14218:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48581,"nodeType":"UserDefinedTypeName","pathNode":{"id":48580,"name":"PoolKey","nameLocations":["14218:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"14218:7:48"},"referencedDeclaration":4745,"src":"14218:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48585,"mutability":"mutable","name":"params","nameLocation":"14264:6:48","nodeType":"VariableDeclaration","scope":48701,"src":"14246:24:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":48584,"nodeType":"UserDefinedTypeName","pathNode":{"id":48583,"name":"SwapParams","nameLocations":["14246:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"14246:10:48"},"referencedDeclaration":4772,"src":"14246:10:48","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":48588,"mutability":"mutable","name":"swapDelta","nameLocation":"14293:9:48","nodeType":"VariableDeclaration","scope":48701,"src":"14280:22:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48587,"nodeType":"UserDefinedTypeName","pathNode":{"id":48586,"name":"BalanceDelta","nameLocations":["14280:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"14280:12:48"},"referencedDeclaration":4233,"src":"14280:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":48590,"mutability":"mutable","name":"hookData","nameLocation":"14327:8:48","nodeType":"VariableDeclaration","scope":48701,"src":"14312:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48589,"name":"bytes","nodeType":"ElementaryTypeName","src":"14312:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":48593,"mutability":"mutable","name":"beforeSwapHookReturn","nameLocation":"14361:20:48","nodeType":"VariableDeclaration","scope":48701,"src":"14345:36:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":48592,"nodeType":"UserDefinedTypeName","pathNode":{"id":48591,"name":"BeforeSwapDelta","nameLocations":["14345:15:48"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"14345:15:48"},"referencedDeclaration":44818,"src":"14345:15:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"}],"src":"14187:200:48"},"returnParameters":{"id":48601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48701,"src":"14406:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48596,"nodeType":"UserDefinedTypeName","pathNode":{"id":48595,"name":"BalanceDelta","nameLocations":["14406:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"14406:12:48"},"referencedDeclaration":4233,"src":"14406:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":48600,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48701,"src":"14420:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":48599,"nodeType":"UserDefinedTypeName","pathNode":{"id":48598,"name":"BalanceDelta","nameLocations":["14420:12:48"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"14420:12:48"},"referencedDeclaration":4233,"src":"14420:12:48","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"14405:28:48"},"scope":48811,"src":"14169:1338:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48743,"nodeType":"Block","src":"15756:182:48","statements":[{"condition":{"arguments":[{"id":48722,"name":"BEFORE_DONATE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47742,"src":"15789:18:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48720,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48705,"src":"15770:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15775:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"15770:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15770:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48742,"nodeType":"IfStatement","src":"15766:166:48","trueBody":{"id":48741,"nodeType":"Block","src":"15810:122:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48729,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"15853:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15860:12:48","memberName":"beforeDonate","nodeType":"MemberAccess","referencedDeclaration":1462,"src":"15853:19:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeDonate(address,struct PoolKey calldata,uint256,uint256,bytes calldata) returns (bytes4)"}},{"components":[{"expression":{"id":48731,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15875:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15879:6:48","memberName":"sender","nodeType":"MemberAccess","src":"15875:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48733,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"15887:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48734,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48710,"src":"15892:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48735,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48712,"src":"15901:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48736,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48714,"src":"15910:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48737,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15874:45:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,uint256,uint256,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.beforeDonate(address,struct PoolKey calldata,uint256,uint256,bytes calldata) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,uint256,uint256,bytes calldata)"}],"expression":{"id":48727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15838:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15842:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"15838:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15838:82:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48724,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48705,"src":"15824:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15829:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"15824:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15824:97:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48740,"nodeType":"ExpressionStatement","src":"15824:97:48"}]}}]},"documentation":{"id":48702,"nodeType":"StructuredDocumentation","src":"15513:78:48","text":"@notice calls beforeDonate hook if permissioned and validates return value"},"id":48744,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":48717,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48705,"src":"15746:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"id":48718,"kind":"modifierInvocation","modifierName":{"id":48716,"name":"noSelfCall","nameLocations":["15735:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":48156,"src":"15735:10:48"},"nodeType":"ModifierInvocation","src":"15735:16:48"}],"name":"beforeDonate","nameLocation":"15605:12:48","nodeType":"FunctionDefinition","parameters":{"id":48715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48705,"mutability":"mutable","name":"self","nameLocation":"15625:4:48","nodeType":"VariableDeclaration","scope":48744,"src":"15618:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48704,"nodeType":"UserDefinedTypeName","pathNode":{"id":48703,"name":"IHooks","nameLocations":["15618:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"15618:6:48"},"referencedDeclaration":1480,"src":"15618:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48708,"mutability":"mutable","name":"key","nameLocation":"15646:3:48","nodeType":"VariableDeclaration","scope":48744,"src":"15631:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48707,"nodeType":"UserDefinedTypeName","pathNode":{"id":48706,"name":"PoolKey","nameLocations":["15631:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"15631:7:48"},"referencedDeclaration":4745,"src":"15631:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48710,"mutability":"mutable","name":"amount0","nameLocation":"15659:7:48","nodeType":"VariableDeclaration","scope":48744,"src":"15651:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48709,"name":"uint256","nodeType":"ElementaryTypeName","src":"15651:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48712,"mutability":"mutable","name":"amount1","nameLocation":"15676:7:48","nodeType":"VariableDeclaration","scope":48744,"src":"15668:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48711,"name":"uint256","nodeType":"ElementaryTypeName","src":"15668:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48714,"mutability":"mutable","name":"hookData","nameLocation":"15700:8:48","nodeType":"VariableDeclaration","scope":48744,"src":"15685:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48713,"name":"bytes","nodeType":"ElementaryTypeName","src":"15685:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15617:92:48"},"returnParameters":{"id":48719,"nodeType":"ParameterList","parameters":[],"src":"15756:0:48"},"scope":48811,"src":"15596:342:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48786,"nodeType":"Block","src":"16185:180:48","statements":[{"condition":{"arguments":[{"id":48765,"name":"AFTER_DONATE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47747,"src":"16218:17:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":48763,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48748,"src":"16199:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16204:13:48","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":48810,"src":"16199:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_IHooks_$1480_$_t_uint160_$returns$_t_bool_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,uint160) pure returns (bool)"}},"id":48766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16199:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48785,"nodeType":"IfStatement","src":"16195:164:48","trueBody":{"id":48784,"nodeType":"Block","src":"16238:121:48","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":48772,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"16281:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":48773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16288:11:48","memberName":"afterDonate","nodeType":"MemberAccess","referencedDeclaration":1479,"src":"16281:18:48","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.afterDonate(address,struct PoolKey calldata,uint256,uint256,bytes calldata) returns (bytes4)"}},{"components":[{"expression":{"id":48774,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16302:3:48","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":48775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16306:6:48","memberName":"sender","nodeType":"MemberAccess","src":"16302:10:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48776,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48751,"src":"16314:3:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":48777,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48753,"src":"16319:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48778,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48755,"src":"16328:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48779,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48757,"src":"16337:8:48","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":48780,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16301:45:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,uint256,uint256,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_PoolKey_$4745_calldata_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IHooks.afterDonate(address,struct PoolKey calldata,uint256,uint256,bytes calldata) returns (bytes4)"},{"typeIdentifier":"t_tuple$_t_address_$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,struct PoolKey memory,uint256,uint256,bytes calldata)"}],"expression":{"id":48770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16266:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16270:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"16266:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":48781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16266:81:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48767,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48748,"src":"16252:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"id":48769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16257:8:48","memberName":"callHook","nodeType":"MemberAccess","referencedDeclaration":48097,"src":"16252:13:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IHooks_$1480_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_contract$_IHooks_$1480_$","typeString":"function (contract IHooks,bytes memory) returns (bytes memory)"}},"id":48782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16252:96:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":48783,"nodeType":"ExpressionStatement","src":"16252:96:48"}]}}]},"documentation":{"id":48745,"nodeType":"StructuredDocumentation","src":"15944:77:48","text":"@notice calls afterDonate hook if permissioned and validates return value"},"id":48787,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":48760,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48748,"src":"16175:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"id":48761,"kind":"modifierInvocation","modifierName":{"id":48759,"name":"noSelfCall","nameLocations":["16164:10:48"],"nodeType":"IdentifierPath","referencedDeclaration":48156,"src":"16164:10:48"},"nodeType":"ModifierInvocation","src":"16164:16:48"}],"name":"afterDonate","nameLocation":"16035:11:48","nodeType":"FunctionDefinition","parameters":{"id":48758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48748,"mutability":"mutable","name":"self","nameLocation":"16054:4:48","nodeType":"VariableDeclaration","scope":48787,"src":"16047:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48747,"nodeType":"UserDefinedTypeName","pathNode":{"id":48746,"name":"IHooks","nameLocations":["16047:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"16047:6:48"},"referencedDeclaration":1480,"src":"16047:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48751,"mutability":"mutable","name":"key","nameLocation":"16075:3:48","nodeType":"VariableDeclaration","scope":48787,"src":"16060:18:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":48750,"nodeType":"UserDefinedTypeName","pathNode":{"id":48749,"name":"PoolKey","nameLocations":["16060:7:48"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"16060:7:48"},"referencedDeclaration":4745,"src":"16060:7:48","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":48753,"mutability":"mutable","name":"amount0","nameLocation":"16088:7:48","nodeType":"VariableDeclaration","scope":48787,"src":"16080:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48752,"name":"uint256","nodeType":"ElementaryTypeName","src":"16080:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48755,"mutability":"mutable","name":"amount1","nameLocation":"16105:7:48","nodeType":"VariableDeclaration","scope":48787,"src":"16097:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48754,"name":"uint256","nodeType":"ElementaryTypeName","src":"16097:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48757,"mutability":"mutable","name":"hookData","nameLocation":"16129:8:48","nodeType":"VariableDeclaration","scope":48787,"src":"16114:23:48","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":48756,"name":"bytes","nodeType":"ElementaryTypeName","src":"16114:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16046:92:48"},"returnParameters":{"id":48762,"nodeType":"ParameterList","parameters":[],"src":"16185:0:48"},"scope":48811,"src":"16026:339:48","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":48809,"nodeType":"Block","src":"16450:58:48","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":48807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":48805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":48801,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48790,"src":"16483:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":48800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16475:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48799,"name":"address","nodeType":"ElementaryTypeName","src":"16475:7:48","typeDescriptions":{}}},"id":48802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16475:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16467:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":48797,"name":"uint160","nodeType":"ElementaryTypeName","src":"16467:7:48","typeDescriptions":{}}},"id":48803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16467:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48804,"name":"flag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48792,"src":"16492:4:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"16467:29:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16500:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16467:34:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48796,"id":48808,"nodeType":"Return","src":"16460:41:48"}]},"id":48810,"implemented":true,"kind":"function","modifiers":[],"name":"hasPermission","nameLocation":"16380:13:48","nodeType":"FunctionDefinition","parameters":{"id":48793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48790,"mutability":"mutable","name":"self","nameLocation":"16401:4:48","nodeType":"VariableDeclaration","scope":48810,"src":"16394:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":48789,"nodeType":"UserDefinedTypeName","pathNode":{"id":48788,"name":"IHooks","nameLocations":["16394:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"16394:6:48"},"referencedDeclaration":1480,"src":"16394:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":48792,"mutability":"mutable","name":"flag","nameLocation":"16415:4:48","nodeType":"VariableDeclaration","scope":48810,"src":"16407:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":48791,"name":"uint160","nodeType":"ElementaryTypeName","src":"16407:7:48","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"16393:27:48"},"returnParameters":{"id":48796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48810,"src":"16444:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48794,"name":"bool","nodeType":"ElementaryTypeName","src":"16444:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16443:6:48"},"scope":48811,"src":"16371:137:48","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":48812,"src":"1039:15471:48","usedErrors":[47801,47804,47807,47810],"usedEvents":[]}],"src":"32:16479:48"},"id":48},"v4-core/src/libraries/LPFeeLibrary.sol":{"ast":{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","exportedSymbols":{"CustomRevert":[45214],"LPFeeLibrary":[48960]},"id":48961,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":48813,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:49"},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":48815,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":48961,"sourceUnit":45215,"src":"57:48:49","symbolAliases":[{"foreign":{"id":48814,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"65:12:49","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LPFeeLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":48816,"nodeType":"StructuredDocumentation","src":"107:59:49","text":"@notice Library of helper functions for a pools LP fee"},"fullyImplemented":true,"id":48960,"linearizedBaseContracts":[48960],"name":"LPFeeLibrary","nameLocation":"174:12:49","nodeType":"ContractDefinition","nodes":[{"global":false,"id":48819,"libraryName":{"id":48817,"name":"LPFeeLibrary","nameLocations":["199:12:49"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"199:12:49"},"nodeType":"UsingForDirective","src":"193:30:49","typeName":{"id":48818,"name":"uint24","nodeType":"ElementaryTypeName","src":"216:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":48822,"libraryName":{"id":48820,"name":"CustomRevert","nameLocations":["234:12:49"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"234:12:49"},"nodeType":"UsingForDirective","src":"228:30:49","typeName":{"id":48821,"name":"bytes4","nodeType":"ElementaryTypeName","src":"251:6:49","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"documentation":{"id":48823,"nodeType":"StructuredDocumentation","src":"264:73:49","text":"@notice Thrown when the static or dynamic fee on a pool exceeds 100%."},"errorSelector":"14002113","id":48827,"name":"LPFeeTooLarge","nameLocation":"348:13:49","nodeType":"ErrorDefinition","parameters":{"id":48826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48825,"mutability":"mutable","name":"fee","nameLocation":"369:3:49","nodeType":"VariableDeclaration","scope":48827,"src":"362:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48824,"name":"uint24","nodeType":"ElementaryTypeName","src":"362:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"361:12:49"},"src":"342:32:49"},{"constant":true,"documentation":{"id":48828,"nodeType":"StructuredDocumentation","src":"380:125:49","text":"@notice An lp fee of exactly 0b1000000... signals a dynamic fee pool. This isn't a valid static fee as it is > MAX_LP_FEE"},"functionSelector":"f26ef49d","id":48831,"mutability":"constant","name":"DYNAMIC_FEE_FLAG","nameLocation":"533:16:49","nodeType":"VariableDeclaration","scope":48960,"src":"510:50:49","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48829,"name":"uint24","nodeType":"ElementaryTypeName","src":"510:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"3078383030303030","id":48830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"552:8:49","typeDescriptions":{"typeIdentifier":"t_rational_8388608_by_1","typeString":"int_const 8388608"},"value":"0x800000"},"visibility":"public"},{"constant":true,"documentation":{"id":48832,"nodeType":"StructuredDocumentation","src":"567:133:49","text":"@notice the second bit of the fee returned by beforeSwap is used to signal if the stored LP fee should be overridden in this swap"},"functionSelector":"3b01d64d","id":48835,"mutability":"constant","name":"OVERRIDE_FEE_FLAG","nameLocation":"799:17:49","nodeType":"VariableDeclaration","scope":48960,"src":"776:51:49","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48833,"name":"uint24","nodeType":"ElementaryTypeName","src":"776:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"3078343030303030","id":48834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"819:8:49","typeDescriptions":{"typeIdentifier":"t_rational_4194304_by_1","typeString":"int_const 4194304"},"value":"0x400000"},"visibility":"public"},{"constant":true,"documentation":{"id":48836,"nodeType":"StructuredDocumentation","src":"834:90:49","text":"@notice mask to remove the override fee flag from a fee returned by the beforeSwaphook"},"functionSelector":"6f95ebcf","id":48839,"mutability":"constant","name":"REMOVE_OVERRIDE_MASK","nameLocation":"952:20:49","nodeType":"VariableDeclaration","scope":48960,"src":"929:54:49","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48837,"name":"uint24","nodeType":"ElementaryTypeName","src":"929:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"3078424646464646","id":48838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"975:8:49","typeDescriptions":{"typeIdentifier":"t_rational_12582911_by_1","typeString":"int_const 12582911"},"value":"0xBFFFFF"},"visibility":"public"},{"constant":true,"documentation":{"id":48840,"nodeType":"StructuredDocumentation","src":"990:80:49","text":"@notice the lp fee is represented in hundredths of a bip, so the max is 100%"},"functionSelector":"3fc48eba","id":48843,"mutability":"constant","name":"MAX_LP_FEE","nameLocation":"1098:10:49","nodeType":"VariableDeclaration","scope":48960,"src":"1075:43:49","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48841,"name":"uint24","nodeType":"ElementaryTypeName","src":"1075:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"31303030303030","id":48842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1111:7:49","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1000000"},"visibility":"public"},{"body":{"id":48855,"nodeType":"Block","src":"1362:48:49","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":48853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48851,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48846,"src":"1379:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":48852,"name":"DYNAMIC_FEE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48831,"src":"1387:16:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"1379:24:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48850,"id":48854,"nodeType":"Return","src":"1372:31:49"}]},"documentation":{"id":48844,"nodeType":"StructuredDocumentation","src":"1125:168:49","text":"@notice returns true if a pool's LP fee signals that the pool has a dynamic fee\n @param self The fee to check\n @return bool True of the fee is dynamic"},"id":48856,"implemented":true,"kind":"function","modifiers":[],"name":"isDynamicFee","nameLocation":"1307:12:49","nodeType":"FunctionDefinition","parameters":{"id":48847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48846,"mutability":"mutable","name":"self","nameLocation":"1327:4:49","nodeType":"VariableDeclaration","scope":48856,"src":"1320:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48845,"name":"uint24","nodeType":"ElementaryTypeName","src":"1320:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1319:13:49"},"returnParameters":{"id":48850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48856,"src":"1356:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48848,"name":"bool","nodeType":"ElementaryTypeName","src":"1356:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1355:6:49"},"scope":48960,"src":"1298:112:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48868,"nodeType":"Block","src":"1650:42:49","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":48866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48864,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48859,"src":"1667:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":48865,"name":"MAX_LP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48843,"src":"1675:10:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"1667:18:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48863,"id":48867,"nodeType":"Return","src":"1660:25:49"}]},"documentation":{"id":48857,"nodeType":"StructuredDocumentation","src":"1416:170:49","text":"@notice returns true if an LP fee is valid, aka not above the maximum permitted fee\n @param self The fee to check\n @return bool True of the fee is valid"},"id":48869,"implemented":true,"kind":"function","modifiers":[],"name":"isValid","nameLocation":"1600:7:49","nodeType":"FunctionDefinition","parameters":{"id":48860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48859,"mutability":"mutable","name":"self","nameLocation":"1615:4:49","nodeType":"VariableDeclaration","scope":48869,"src":"1608:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48858,"name":"uint24","nodeType":"ElementaryTypeName","src":"1608:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1607:13:49"},"returnParameters":{"id":48863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48869,"src":"1644:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48861,"name":"bool","nodeType":"ElementaryTypeName","src":"1644:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1643:6:49"},"scope":48960,"src":"1591:101:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48888,"nodeType":"Block","src":"1878:77:49","statements":[{"condition":{"id":48878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1892:15:49","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48875,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48872,"src":"1893:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1898:7:49","memberName":"isValid","nodeType":"MemberAccess","referencedDeclaration":48869,"src":"1893:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":48877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1893:14:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48887,"nodeType":"IfStatement","src":"1888:60:49","trueBody":{"expression":{"arguments":[{"id":48884,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48872,"src":"1943:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"expression":{"id":48879,"name":"LPFeeTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48827,"src":"1909:13:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint24_$returns$_t_error_$","typeString":"function (uint24) pure returns (error)"}},"id":48882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1923:8:49","memberName":"selector","nodeType":"MemberAccess","src":"1909:22:49","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":48883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1932:10:49","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45160,"src":"1909:33:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160) pure"}},"id":48885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:39:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48886,"nodeType":"ExpressionStatement","src":"1909:39:49"}}]},"documentation":{"id":48870,"nodeType":"StructuredDocumentation","src":"1698:130:49","text":"@notice validates whether an LP fee is larger than the maximum, and reverts if invalid\n @param self The fee to validate"},"id":48889,"implemented":true,"kind":"function","modifiers":[],"name":"validate","nameLocation":"1842:8:49","nodeType":"FunctionDefinition","parameters":{"id":48873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48872,"mutability":"mutable","name":"self","nameLocation":"1858:4:49","nodeType":"VariableDeclaration","scope":48889,"src":"1851:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48871,"name":"uint24","nodeType":"ElementaryTypeName","src":"1851:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1850:13:49"},"returnParameters":{"id":48874,"nodeType":"ParameterList","parameters":[],"src":"1878:0:49"},"scope":48960,"src":"1833:122:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48910,"nodeType":"Block","src":"2402:151:49","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48897,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48892,"src":"2471:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2476:12:49","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"2471:17:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":48899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2471:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48902,"nodeType":"IfStatement","src":"2467:33:49","trueBody":{"expression":{"hexValue":"30","id":48900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2499:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":48896,"id":48901,"nodeType":"Return","src":"2492:8:49"}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48903,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48892,"src":"2510:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2515:8:49","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":48889,"src":"2510:13:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$__$attached_to$_t_uint24_$","typeString":"function (uint24) pure"}},"id":48906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2510:15:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48907,"nodeType":"ExpressionStatement","src":"2510:15:49"},{"expression":{"id":48908,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48892,"src":"2542:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":48896,"id":48909,"nodeType":"Return","src":"2535:11:49"}]},"documentation":{"id":48890,"nodeType":"StructuredDocumentation","src":"1961:367:49","text":"@notice gets and validates the initial LP fee for a pool. Dynamic fee pools have an initial fee of 0.\n @dev if a dynamic fee pool wants a non-0 initial fee, it should call `updateDynamicLPFee` in the afterInitialize hook\n @param self The fee to get the initial LP from\n @return initialFee 0 if the fee is dynamic, otherwise the fee (if valid)"},"id":48911,"implemented":true,"kind":"function","modifiers":[],"name":"getInitialLPFee","nameLocation":"2342:15:49","nodeType":"FunctionDefinition","parameters":{"id":48893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48892,"mutability":"mutable","name":"self","nameLocation":"2365:4:49","nodeType":"VariableDeclaration","scope":48911,"src":"2358:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48891,"name":"uint24","nodeType":"ElementaryTypeName","src":"2358:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"2357:13:49"},"returnParameters":{"id":48896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48911,"src":"2394:6:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48894,"name":"uint24","nodeType":"ElementaryTypeName","src":"2394:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"2393:8:49"},"scope":48960,"src":"2333:220:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48925,"nodeType":"Block","src":"2819:53:49","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":48923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":48921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48919,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48914,"src":"2836:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48920,"name":"OVERRIDE_FEE_FLAG","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48835,"src":"2843:17:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"2836:24:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":48922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2864:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2836:29:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48918,"id":48924,"nodeType":"Return","src":"2829:36:49"}]},"documentation":{"id":48912,"nodeType":"StructuredDocumentation","src":"2559:193:49","text":"@notice returns true if the fee has the override flag set (2nd highest bit of the uint24)\n @param self The fee to check\n @return bool True of the fee has the override flag set"},"id":48926,"implemented":true,"kind":"function","modifiers":[],"name":"isOverride","nameLocation":"2766:10:49","nodeType":"FunctionDefinition","parameters":{"id":48915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48914,"mutability":"mutable","name":"self","nameLocation":"2784:4:49","nodeType":"VariableDeclaration","scope":48926,"src":"2777:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48913,"name":"uint24","nodeType":"ElementaryTypeName","src":"2777:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"2776:13:49"},"returnParameters":{"id":48918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48926,"src":"2813:4:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48916,"name":"bool","nodeType":"ElementaryTypeName","src":"2813:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2812:6:49"},"scope":48960,"src":"2757:115:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48938,"nodeType":"Block","src":"3130:51:49","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":48936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48934,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48929,"src":"3147:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":48935,"name":"REMOVE_OVERRIDE_MASK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48839,"src":"3154:20:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"3147:27:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":48933,"id":48937,"nodeType":"Return","src":"3140:34:49"}]},"documentation":{"id":48927,"nodeType":"StructuredDocumentation","src":"2878:175:49","text":"@notice returns a fee with the override flag removed\n @param self The fee to remove the override flag from\n @return fee The fee without the override flag set"},"id":48939,"implemented":true,"kind":"function","modifiers":[],"name":"removeOverrideFlag","nameLocation":"3067:18:49","nodeType":"FunctionDefinition","parameters":{"id":48930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48929,"mutability":"mutable","name":"self","nameLocation":"3093:4:49","nodeType":"VariableDeclaration","scope":48939,"src":"3086:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48928,"name":"uint24","nodeType":"ElementaryTypeName","src":"3086:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3085:13:49"},"returnParameters":{"id":48933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48932,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48939,"src":"3122:6:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48931,"name":"uint24","nodeType":"ElementaryTypeName","src":"3122:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3121:8:49"},"scope":48960,"src":"3058:123:49","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":48958,"nodeType":"Block","src":"3521:72:49","statements":[{"expression":{"id":48951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48947,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48945,"src":"3531:3:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48948,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48942,"src":"3537:4:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3542:18:49","memberName":"removeOverrideFlag","nodeType":"MemberAccess","referencedDeclaration":48939,"src":"3537:23:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_uint24_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (uint24)"}},"id":48950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3537:25:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"3531:31:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48952,"nodeType":"ExpressionStatement","src":"3531:31:49"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48953,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48945,"src":"3572:3:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":48955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3576:8:49","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":48889,"src":"3572:12:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$__$attached_to$_t_uint24_$","typeString":"function (uint24) pure"}},"id":48956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3572:14:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48957,"nodeType":"ExpressionStatement","src":"3572:14:49"}]},"documentation":{"id":48940,"nodeType":"StructuredDocumentation","src":"3187:242:49","text":"@notice Removes the override flag and validates the fee (reverts if the fee is too large)\n @param self The fee to remove the override flag from, and then validate\n @return fee The fee without the override flag set (if valid)"},"id":48959,"implemented":true,"kind":"function","modifiers":[],"name":"removeOverrideFlagAndValidate","nameLocation":"3443:29:49","nodeType":"FunctionDefinition","parameters":{"id":48943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48942,"mutability":"mutable","name":"self","nameLocation":"3480:4:49","nodeType":"VariableDeclaration","scope":48959,"src":"3473:11:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48941,"name":"uint24","nodeType":"ElementaryTypeName","src":"3473:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3472:13:49"},"returnParameters":{"id":48946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48945,"mutability":"mutable","name":"fee","nameLocation":"3516:3:49","nodeType":"VariableDeclaration","scope":48959,"src":"3509:10:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":48944,"name":"uint24","nodeType":"ElementaryTypeName","src":"3509:6:49","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3508:12:49"},"scope":48960,"src":"3434:159:49","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":48961,"src":"166:3429:49","usedErrors":[48827],"usedEvents":[]}],"src":"32:3564:49"},"id":49},"v4-core/src/libraries/LiquidityMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/LiquidityMath.sol","exportedSymbols":{"LiquidityMath":[45405]},"id":45406,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":45391,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:50"},{"abstract":false,"baseContracts":[],"canonicalName":"LiquidityMath","contractDependencies":[],"contractKind":"library","documentation":{"id":45392,"nodeType":"StructuredDocumentation","src":"57:38:50","text":"@title Math library for liquidity"},"fullyImplemented":true,"id":45405,"linearizedBaseContracts":[45405],"name":"LiquidityMath","nameLocation":"103:13:50","nodeType":"ContractDefinition","nodes":[{"body":{"id":45403,"nodeType":"Block","src":"442:297:50","statements":[{"AST":{"nativeSrc":"477:256:50","nodeType":"YulBlock","src":"477:256:50","statements":[{"nativeSrc":"491:71:50","nodeType":"YulAssignment","src":"491:71:50","value":{"arguments":[{"arguments":[{"name":"x","nativeSrc":"504:1:50","nodeType":"YulIdentifier","src":"504:1:50"},{"kind":"number","nativeSrc":"507:34:50","nodeType":"YulLiteral","src":"507:34:50","type":"","value":"0xffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"500:3:50","nodeType":"YulIdentifier","src":"500:3:50"},"nativeSrc":"500:42:50","nodeType":"YulFunctionCall","src":"500:42:50"},{"arguments":[{"kind":"number","nativeSrc":"555:2:50","nodeType":"YulLiteral","src":"555:2:50","type":"","value":"15"},{"name":"y","nativeSrc":"559:1:50","nodeType":"YulIdentifier","src":"559:1:50"}],"functionName":{"name":"signextend","nativeSrc":"544:10:50","nodeType":"YulIdentifier","src":"544:10:50"},"nativeSrc":"544:17:50","nodeType":"YulFunctionCall","src":"544:17:50"}],"functionName":{"name":"add","nativeSrc":"496:3:50","nodeType":"YulIdentifier","src":"496:3:50"},"nativeSrc":"496:66:50","nodeType":"YulFunctionCall","src":"496:66:50"},"variableNames":[{"name":"z","nativeSrc":"491:1:50","nodeType":"YulIdentifier","src":"491:1:50"}]},{"body":{"nativeSrc":"590:133:50","nodeType":"YulBlock","src":"590:133:50","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"660:1:50","nodeType":"YulLiteral","src":"660:1:50","type":"","value":"0"},{"kind":"number","nativeSrc":"663:10:50","nodeType":"YulLiteral","src":"663:10:50","type":"","value":"0x93dafdf1"}],"functionName":{"name":"mstore","nativeSrc":"653:6:50","nodeType":"YulIdentifier","src":"653:6:50"},"nativeSrc":"653:21:50","nodeType":"YulFunctionCall","src":"653:21:50"},"nativeSrc":"653:21:50","nodeType":"YulExpressionStatement","src":"653:21:50"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"698:4:50","nodeType":"YulLiteral","src":"698:4:50","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"704:4:50","nodeType":"YulLiteral","src":"704:4:50","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"691:6:50","nodeType":"YulIdentifier","src":"691:6:50"},"nativeSrc":"691:18:50","nodeType":"YulFunctionCall","src":"691:18:50"},"nativeSrc":"691:18:50","nodeType":"YulExpressionStatement","src":"691:18:50"}]},"condition":{"arguments":[{"kind":"number","nativeSrc":"582:3:50","nodeType":"YulLiteral","src":"582:3:50","type":"","value":"128"},{"name":"z","nativeSrc":"587:1:50","nodeType":"YulIdentifier","src":"587:1:50"}],"functionName":{"name":"shr","nativeSrc":"578:3:50","nodeType":"YulIdentifier","src":"578:3:50"},"nativeSrc":"578:11:50","nodeType":"YulFunctionCall","src":"578:11:50"},"nativeSrc":"575:148:50","nodeType":"YulIf","src":"575:148:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45395,"isOffset":false,"isSlot":false,"src":"504:1:50","valueSize":1},{"declaration":45397,"isOffset":false,"isSlot":false,"src":"559:1:50","valueSize":1},{"declaration":45400,"isOffset":false,"isSlot":false,"src":"491:1:50","valueSize":1},{"declaration":45400,"isOffset":false,"isSlot":false,"src":"587:1:50","valueSize":1}],"flags":["memory-safe"],"id":45402,"nodeType":"InlineAssembly","src":"452:281:50"}]},"documentation":{"id":45393,"nodeType":"StructuredDocumentation","src":"123:241:50","text":"@notice Add a signed liquidity delta to liquidity and revert if it overflows or underflows\n @param x The liquidity before change\n @param y The delta by which liquidity should be changed\n @return z The liquidity delta"},"id":45404,"implemented":true,"kind":"function","modifiers":[],"name":"addDelta","nameLocation":"378:8:50","nodeType":"FunctionDefinition","parameters":{"id":45398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45395,"mutability":"mutable","name":"x","nameLocation":"395:1:50","nodeType":"VariableDeclaration","scope":45404,"src":"387:9:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45394,"name":"uint128","nodeType":"ElementaryTypeName","src":"387:7:50","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":45397,"mutability":"mutable","name":"y","nameLocation":"405:1:50","nodeType":"VariableDeclaration","scope":45404,"src":"398:8:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":45396,"name":"int128","nodeType":"ElementaryTypeName","src":"398:6:50","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"386:21:50"},"returnParameters":{"id":45401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45400,"mutability":"mutable","name":"z","nameLocation":"439:1:50","nodeType":"VariableDeclaration","scope":45404,"src":"431:9:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45399,"name":"uint128","nodeType":"ElementaryTypeName","src":"431:7:50","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"430:11:50"},"scope":45405,"src":"369:370:50","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":45406,"src":"95:646:50","usedErrors":[],"usedEvents":[]}],"src":"32:710:50"},"id":50},"v4-core/src/libraries/Lock.sol":{"ast":{"absolutePath":"v4-core/src/libraries/Lock.sol","exportedSymbols":{"Lock":[57504]},"id":57505,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":57482,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"37:24:51"},{"abstract":false,"baseContracts":[],"canonicalName":"Lock","contractDependencies":[],"contractKind":"library","documentation":{"id":57483,"nodeType":"StructuredDocumentation","src":"63:189:51","text":"@notice This is a temporary library that allows us to use transient storage (tstore/tload)\n TODO: This library can be deleted when we have the transient keyword support in solidity."},"fullyImplemented":true,"id":57504,"linearizedBaseContracts":[57504],"name":"Lock","nameLocation":"260:4:51","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":57486,"mutability":"constant","name":"IS_UNLOCKED_SLOT","nameLocation":"398:16:51","nodeType":"VariableDeclaration","scope":57504,"src":"372:111:51","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372:7:51","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307863303930666334363833363234636663333838346539643864653565636131333266326430656330363261666637356434336330343635643563656561623233","id":57485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417:66:51","typeDescriptions":{"typeIdentifier":"t_rational_87100234046427240614499661373387320107015461065347489303548037305558901893923_by_1","typeString":"int_const 8710...(69 digits omitted)...3923"},"value":"0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23"},"visibility":"internal"},{"body":{"id":57490,"nodeType":"Block","src":"517:117:51","statements":[{"AST":{"nativeSrc":"552:76:51","nodeType":"YulBlock","src":"552:76:51","statements":[{"expression":{"arguments":[{"name":"IS_UNLOCKED_SLOT","nativeSrc":"595:16:51","nodeType":"YulIdentifier","src":"595:16:51"},{"kind":"bool","nativeSrc":"613:4:51","nodeType":"YulLiteral","src":"613:4:51","type":"","value":"true"}],"functionName":{"name":"tstore","nativeSrc":"588:6:51","nodeType":"YulIdentifier","src":"588:6:51"},"nativeSrc":"588:30:51","nodeType":"YulFunctionCall","src":"588:30:51"},"nativeSrc":"588:30:51","nodeType":"YulExpressionStatement","src":"588:30:51"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57486,"isOffset":false,"isSlot":false,"src":"595:16:51","valueSize":1}],"flags":["memory-safe"],"id":57489,"nodeType":"InlineAssembly","src":"527:101:51"}]},"id":57491,"implemented":true,"kind":"function","modifiers":[],"name":"unlock","nameLocation":"499:6:51","nodeType":"FunctionDefinition","parameters":{"id":57487,"nodeType":"ParameterList","parameters":[],"src":"505:2:51"},"returnParameters":{"id":57488,"nodeType":"ParameterList","parameters":[],"src":"517:0:51"},"scope":57504,"src":"490:144:51","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57495,"nodeType":"Block","src":"665:96:51","statements":[{"AST":{"nativeSrc":"700:55:51","nodeType":"YulBlock","src":"700:55:51","statements":[{"expression":{"arguments":[{"name":"IS_UNLOCKED_SLOT","nativeSrc":"721:16:51","nodeType":"YulIdentifier","src":"721:16:51"},{"kind":"bool","nativeSrc":"739:5:51","nodeType":"YulLiteral","src":"739:5:51","type":"","value":"false"}],"functionName":{"name":"tstore","nativeSrc":"714:6:51","nodeType":"YulIdentifier","src":"714:6:51"},"nativeSrc":"714:31:51","nodeType":"YulFunctionCall","src":"714:31:51"},"nativeSrc":"714:31:51","nodeType":"YulExpressionStatement","src":"714:31:51"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57486,"isOffset":false,"isSlot":false,"src":"721:16:51","valueSize":1}],"flags":["memory-safe"],"id":57494,"nodeType":"InlineAssembly","src":"675:80:51"}]},"id":57496,"implemented":true,"kind":"function","modifiers":[],"name":"lock","nameLocation":"649:4:51","nodeType":"FunctionDefinition","parameters":{"id":57492,"nodeType":"ParameterList","parameters":[],"src":"653:2:51"},"returnParameters":{"id":57493,"nodeType":"ParameterList","parameters":[],"src":"665:0:51"},"scope":57504,"src":"640:121:51","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57502,"nodeType":"Block","src":"827:100:51","statements":[{"AST":{"nativeSrc":"862:59:51","nodeType":"YulBlock","src":"862:59:51","statements":[{"nativeSrc":"876:35:51","nodeType":"YulAssignment","src":"876:35:51","value":{"arguments":[{"name":"IS_UNLOCKED_SLOT","nativeSrc":"894:16:51","nodeType":"YulIdentifier","src":"894:16:51"}],"functionName":{"name":"tload","nativeSrc":"888:5:51","nodeType":"YulIdentifier","src":"888:5:51"},"nativeSrc":"888:23:51","nodeType":"YulFunctionCall","src":"888:23:51"},"variableNames":[{"name":"unlocked","nativeSrc":"876:8:51","nodeType":"YulIdentifier","src":"876:8:51"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57486,"isOffset":false,"isSlot":false,"src":"894:16:51","valueSize":1},{"declaration":57499,"isOffset":false,"isSlot":false,"src":"876:8:51","valueSize":1}],"flags":["memory-safe"],"id":57501,"nodeType":"InlineAssembly","src":"837:84:51"}]},"id":57503,"implemented":true,"kind":"function","modifiers":[],"name":"isUnlocked","nameLocation":"776:10:51","nodeType":"FunctionDefinition","parameters":{"id":57497,"nodeType":"ParameterList","parameters":[],"src":"786:2:51"},"returnParameters":{"id":57500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57499,"mutability":"mutable","name":"unlocked","nameLocation":"817:8:51","nodeType":"VariableDeclaration","scope":57503,"src":"812:13:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57498,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:15:51"},"scope":57504,"src":"767:160:51","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":57505,"src":"252:677:51","usedErrors":[],"usedEvents":[]}],"src":"37:893:51"},"id":51},"v4-core/src/libraries/NonzeroDeltaCount.sol":{"ast":{"absolutePath":"v4-core/src/libraries/NonzeroDeltaCount.sol","exportedSymbols":{"NonzeroDeltaCount":[57529]},"id":57530,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":57506,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"37:24:52"},{"abstract":false,"baseContracts":[],"canonicalName":"NonzeroDeltaCount","contractDependencies":[],"contractKind":"library","documentation":{"id":57507,"nodeType":"StructuredDocumentation","src":"63:222:52","text":"@notice This is a temporary library that allows us to use transient storage (tstore/tload)\n for the nonzero delta count.\n TODO: This library can be deleted when we have the transient keyword support in solidity."},"fullyImplemented":true,"id":57529,"linearizedBaseContracts":[57529],"name":"NonzeroDeltaCount","nameLocation":"293:17:52","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":57510,"mutability":"constant","name":"NONZERO_DELTA_COUNT_SLOT","nameLocation":"450:24:52","nodeType":"VariableDeclaration","scope":57529,"src":"424:127:52","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"424:7:52","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837643462333136346336653435623937653764383762373132356134346335383238643030356166383866396437353163666437383732396335643939613062","id":57509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"485:66:52","typeDescriptions":{"typeIdentifier":"t_rational_56671960505278111519104690822132496699113179860588238901689140059013086026251_by_1","typeString":"int_const 5667...(69 digits omitted)...6251"},"value":"0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b"},"visibility":"internal"},{"body":{"id":57516,"nodeType":"Block","src":"612:105:52","statements":[{"AST":{"nativeSrc":"647:64:52","nodeType":"YulBlock","src":"647:64:52","statements":[{"nativeSrc":"661:40:52","nodeType":"YulAssignment","src":"661:40:52","value":{"arguments":[{"name":"NONZERO_DELTA_COUNT_SLOT","nativeSrc":"676:24:52","nodeType":"YulIdentifier","src":"676:24:52"}],"functionName":{"name":"tload","nativeSrc":"670:5:52","nodeType":"YulIdentifier","src":"670:5:52"},"nativeSrc":"670:31:52","nodeType":"YulFunctionCall","src":"670:31:52"},"variableNames":[{"name":"count","nativeSrc":"661:5:52","nodeType":"YulIdentifier","src":"661:5:52"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":57510,"isOffset":false,"isSlot":false,"src":"676:24:52","valueSize":1},{"declaration":57513,"isOffset":false,"isSlot":false,"src":"661:5:52","valueSize":1}],"flags":["memory-safe"],"id":57515,"nodeType":"InlineAssembly","src":"622:89:52"}]},"id":57517,"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"567:4:52","nodeType":"FunctionDefinition","parameters":{"id":57511,"nodeType":"ParameterList","parameters":[],"src":"571:2:52"},"returnParameters":{"id":57514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57513,"mutability":"mutable","name":"count","nameLocation":"605:5:52","nodeType":"VariableDeclaration","scope":57517,"src":"597:13:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57512,"name":"uint256","nodeType":"ElementaryTypeName","src":"597:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"596:15:52"},"scope":57529,"src":"558:159:52","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":57521,"nodeType":"Block","src":"753:196:52","statements":[{"AST":{"nativeSrc":"788:155:52","nodeType":"YulBlock","src":"788:155:52","statements":[{"nativeSrc":"802:44:52","nodeType":"YulVariableDeclaration","src":"802:44:52","value":{"arguments":[{"name":"NONZERO_DELTA_COUNT_SLOT","nativeSrc":"821:24:52","nodeType":"YulIdentifier","src":"821:24:52"}],"functionName":{"name":"tload","nativeSrc":"815:5:52","nodeType":"YulIdentifier","src":"815:5:52"},"nativeSrc":"815:31:52","nodeType":"YulFunctionCall","src":"815:31:52"},"variables":[{"name":"count","nativeSrc":"806:5:52","nodeType":"YulTypedName","src":"806:5:52","type":""}]},{"nativeSrc":"859:22:52","nodeType":"YulAssignment","src":"859:22:52","value":{"arguments":[{"name":"count","nativeSrc":"872:5:52","nodeType":"YulIdentifier","src":"872:5:52"},{"kind":"number","nativeSrc":"879:1:52","nodeType":"YulLiteral","src":"879:1:52","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"868:3:52","nodeType":"YulIdentifier","src":"868:3:52"},"nativeSrc":"868:13:52","nodeType":"YulFunctionCall","src":"868:13:52"},"variableNames":[{"name":"count","nativeSrc":"859:5:52","nodeType":"YulIdentifier","src":"859:5:52"}]},{"expression":{"arguments":[{"name":"NONZERO_DELTA_COUNT_SLOT","nativeSrc":"901:24:52","nodeType":"YulIdentifier","src":"901:24:52"},{"name":"count","nativeSrc":"927:5:52","nodeType":"YulIdentifier","src":"927:5:52"}],"functionName":{"name":"tstore","nativeSrc":"894:6:52","nodeType":"YulIdentifier","src":"894:6:52"},"nativeSrc":"894:39:52","nodeType":"YulFunctionCall","src":"894:39:52"},"nativeSrc":"894:39:52","nodeType":"YulExpressionStatement","src":"894:39:52"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57510,"isOffset":false,"isSlot":false,"src":"821:24:52","valueSize":1},{"declaration":57510,"isOffset":false,"isSlot":false,"src":"901:24:52","valueSize":1}],"flags":["memory-safe"],"id":57520,"nodeType":"InlineAssembly","src":"763:180:52"}]},"id":57522,"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"732:9:52","nodeType":"FunctionDefinition","parameters":{"id":57518,"nodeType":"ParameterList","parameters":[],"src":"741:2:52"},"returnParameters":{"id":57519,"nodeType":"ParameterList","parameters":[],"src":"753:0:52"},"scope":57529,"src":"723:226:52","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":57527,"nodeType":"Block","src":"1261:196:52","statements":[{"AST":{"nativeSrc":"1296:155:52","nodeType":"YulBlock","src":"1296:155:52","statements":[{"nativeSrc":"1310:44:52","nodeType":"YulVariableDeclaration","src":"1310:44:52","value":{"arguments":[{"name":"NONZERO_DELTA_COUNT_SLOT","nativeSrc":"1329:24:52","nodeType":"YulIdentifier","src":"1329:24:52"}],"functionName":{"name":"tload","nativeSrc":"1323:5:52","nodeType":"YulIdentifier","src":"1323:5:52"},"nativeSrc":"1323:31:52","nodeType":"YulFunctionCall","src":"1323:31:52"},"variables":[{"name":"count","nativeSrc":"1314:5:52","nodeType":"YulTypedName","src":"1314:5:52","type":""}]},{"nativeSrc":"1367:22:52","nodeType":"YulAssignment","src":"1367:22:52","value":{"arguments":[{"name":"count","nativeSrc":"1380:5:52","nodeType":"YulIdentifier","src":"1380:5:52"},{"kind":"number","nativeSrc":"1387:1:52","nodeType":"YulLiteral","src":"1387:1:52","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"1376:3:52","nodeType":"YulIdentifier","src":"1376:3:52"},"nativeSrc":"1376:13:52","nodeType":"YulFunctionCall","src":"1376:13:52"},"variableNames":[{"name":"count","nativeSrc":"1367:5:52","nodeType":"YulIdentifier","src":"1367:5:52"}]},{"expression":{"arguments":[{"name":"NONZERO_DELTA_COUNT_SLOT","nativeSrc":"1409:24:52","nodeType":"YulIdentifier","src":"1409:24:52"},{"name":"count","nativeSrc":"1435:5:52","nodeType":"YulIdentifier","src":"1435:5:52"}],"functionName":{"name":"tstore","nativeSrc":"1402:6:52","nodeType":"YulIdentifier","src":"1402:6:52"},"nativeSrc":"1402:39:52","nodeType":"YulFunctionCall","src":"1402:39:52"},"nativeSrc":"1402:39:52","nodeType":"YulExpressionStatement","src":"1402:39:52"}]},"evmVersion":"cancun","externalReferences":[{"declaration":57510,"isOffset":false,"isSlot":false,"src":"1329:24:52","valueSize":1},{"declaration":57510,"isOffset":false,"isSlot":false,"src":"1409:24:52","valueSize":1}],"flags":["memory-safe"],"id":57526,"nodeType":"InlineAssembly","src":"1271:180:52"}]},"documentation":{"id":57523,"nodeType":"StructuredDocumentation","src":"955:271:52","text":"@notice Potential to underflow. Ensure checks are performed by integrating contracts to ensure this does not happen.\n Current usage ensures this will not happen because we call decrement with known boundaries (only up to the number of times we call increment)."},"id":57528,"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1240:9:52","nodeType":"FunctionDefinition","parameters":{"id":57524,"nodeType":"ParameterList","parameters":[],"src":"1249:2:52"},"returnParameters":{"id":57525,"nodeType":"ParameterList","parameters":[],"src":"1261:0:52"},"scope":57529,"src":"1231:226:52","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":57530,"src":"285:1174:52","usedErrors":[],"usedEvents":[]}],"src":"37:1423:52"},"id":52},"v4-core/src/libraries/ParseBytes.sol":{"ast":{"absolutePath":"v4-core/src/libraries/ParseBytes.sol","exportedSymbols":{"ParseBytes":[56790]},"id":56791,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56761,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"33:23:53"},{"abstract":false,"baseContracts":[],"canonicalName":"ParseBytes","contractDependencies":[],"contractKind":"library","documentation":{"id":56762,"nodeType":"StructuredDocumentation","src":"58:311:53","text":"@notice Parses bytes returned from hooks and the byte selector used to check return selectors from hooks.\n @dev parseSelector also is used to parse the expected selector\n For parsing hook returns, note that all hooks return either bytes4 or (bytes4, 32-byte-delta) or (bytes4, 32-byte-delta, uint24)."},"fullyImplemented":true,"id":56790,"linearizedBaseContracts":[56790],"name":"ParseBytes","nameLocation":"377:10:53","nodeType":"ContractDefinition","nodes":[{"body":{"id":56770,"nodeType":"Block","src":"478:176:53","statements":[{"AST":{"nativeSrc":"588:60:53","nodeType":"YulBlock","src":"588:60:53","statements":[{"nativeSrc":"602:36:53","nodeType":"YulAssignment","src":"602:36:53","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"624:6:53","nodeType":"YulIdentifier","src":"624:6:53"},{"kind":"number","nativeSrc":"632:4:53","nodeType":"YulLiteral","src":"632:4:53","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"620:3:53","nodeType":"YulIdentifier","src":"620:3:53"},"nativeSrc":"620:17:53","nodeType":"YulFunctionCall","src":"620:17:53"}],"functionName":{"name":"mload","nativeSrc":"614:5:53","nodeType":"YulIdentifier","src":"614:5:53"},"nativeSrc":"614:24:53","nodeType":"YulFunctionCall","src":"614:24:53"},"variableNames":[{"name":"selector","nativeSrc":"602:8:53","nodeType":"YulIdentifier","src":"602:8:53"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56764,"isOffset":false,"isSlot":false,"src":"624:6:53","valueSize":1},{"declaration":56767,"isOffset":false,"isSlot":false,"src":"602:8:53","valueSize":1}],"flags":["memory-safe"],"id":56769,"nodeType":"InlineAssembly","src":"563:85:53"}]},"id":56771,"implemented":true,"kind":"function","modifiers":[],"name":"parseSelector","nameLocation":"403:13:53","nodeType":"FunctionDefinition","parameters":{"id":56765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56764,"mutability":"mutable","name":"result","nameLocation":"430:6:53","nodeType":"VariableDeclaration","scope":56771,"src":"417:19:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56763,"name":"bytes","nodeType":"ElementaryTypeName","src":"417:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"416:21:53"},"returnParameters":{"id":56768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56767,"mutability":"mutable","name":"selector","nameLocation":"468:8:53","nodeType":"VariableDeclaration","scope":56771,"src":"461:15:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":56766,"name":"bytes4","nodeType":"ElementaryTypeName","src":"461:6:53","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"460:17:53"},"scope":56790,"src":"394:260:53","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56779,"nodeType":"Block","src":"736:180:53","statements":[{"AST":{"nativeSrc":"853:57:53","nodeType":"YulBlock","src":"853:57:53","statements":[{"nativeSrc":"867:33:53","nodeType":"YulAssignment","src":"867:33:53","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"886:6:53","nodeType":"YulIdentifier","src":"886:6:53"},{"kind":"number","nativeSrc":"894:4:53","nodeType":"YulLiteral","src":"894:4:53","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"882:3:53","nodeType":"YulIdentifier","src":"882:3:53"},"nativeSrc":"882:17:53","nodeType":"YulFunctionCall","src":"882:17:53"}],"functionName":{"name":"mload","nativeSrc":"876:5:53","nodeType":"YulIdentifier","src":"876:5:53"},"nativeSrc":"876:24:53","nodeType":"YulFunctionCall","src":"876:24:53"},"variableNames":[{"name":"lpFee","nativeSrc":"867:5:53","nodeType":"YulIdentifier","src":"867:5:53"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56776,"isOffset":false,"isSlot":false,"src":"867:5:53","valueSize":1},{"declaration":56773,"isOffset":false,"isSlot":false,"src":"886:6:53","valueSize":1}],"flags":["memory-safe"],"id":56778,"nodeType":"InlineAssembly","src":"828:82:53"}]},"id":56780,"implemented":true,"kind":"function","modifiers":[],"name":"parseFee","nameLocation":"669:8:53","nodeType":"FunctionDefinition","parameters":{"id":56774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56773,"mutability":"mutable","name":"result","nameLocation":"691:6:53","nodeType":"VariableDeclaration","scope":56780,"src":"678:19:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56772,"name":"bytes","nodeType":"ElementaryTypeName","src":"678:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"677:21:53"},"returnParameters":{"id":56777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56776,"mutability":"mutable","name":"lpFee","nameLocation":"729:5:53","nodeType":"VariableDeclaration","scope":56780,"src":"722:12:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56775,"name":"uint24","nodeType":"ElementaryTypeName","src":"722:6:53","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"721:14:53"},"scope":56790,"src":"660:256:53","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56788,"nodeType":"Block","src":"1011:186:53","statements":[{"AST":{"nativeSrc":"1129:62:53","nodeType":"YulBlock","src":"1129:62:53","statements":[{"nativeSrc":"1143:38:53","nodeType":"YulAssignment","src":"1143:38:53","value":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"1167:6:53","nodeType":"YulIdentifier","src":"1167:6:53"},{"kind":"number","nativeSrc":"1175:4:53","nodeType":"YulLiteral","src":"1175:4:53","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"1163:3:53","nodeType":"YulIdentifier","src":"1163:3:53"},"nativeSrc":"1163:17:53","nodeType":"YulFunctionCall","src":"1163:17:53"}],"functionName":{"name":"mload","nativeSrc":"1157:5:53","nodeType":"YulIdentifier","src":"1157:5:53"},"nativeSrc":"1157:24:53","nodeType":"YulFunctionCall","src":"1157:24:53"},"variableNames":[{"name":"hookReturn","nativeSrc":"1143:10:53","nodeType":"YulIdentifier","src":"1143:10:53"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56785,"isOffset":false,"isSlot":false,"src":"1143:10:53","valueSize":1},{"declaration":56782,"isOffset":false,"isSlot":false,"src":"1167:6:53","valueSize":1}],"flags":["memory-safe"],"id":56787,"nodeType":"InlineAssembly","src":"1104:87:53"}]},"id":56789,"implemented":true,"kind":"function","modifiers":[],"name":"parseReturnDelta","nameLocation":"931:16:53","nodeType":"FunctionDefinition","parameters":{"id":56783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56782,"mutability":"mutable","name":"result","nameLocation":"961:6:53","nodeType":"VariableDeclaration","scope":56789,"src":"948:19:53","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56781,"name":"bytes","nodeType":"ElementaryTypeName","src":"948:5:53","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"947:21:53"},"returnParameters":{"id":56786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56785,"mutability":"mutable","name":"hookReturn","nameLocation":"999:10:53","nodeType":"VariableDeclaration","scope":56789,"src":"992:17:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":56784,"name":"int256","nodeType":"ElementaryTypeName","src":"992:6:53","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"991:19:53"},"scope":56790,"src":"922:275:53","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":56791,"src":"369:830:53","usedErrors":[],"usedEvents":[]}],"src":"33:1167:53"},"id":53},"v4-core/src/libraries/Pool.sol":{"ast":{"absolutePath":"v4-core/src/libraries/Pool.sol","exportedSymbols":{"BalanceDelta":[4233],"BalanceDeltaLibrary":[4391],"CustomRevert":[45214],"FixedPoint128":[45221],"LPFeeLibrary":[48960],"LiquidityMath":[45405],"Pool":[47122],"Position":[1929],"ProtocolFeeLibrary":[55627],"SafeCast":[47298],"Slot0":[56636],"SqrtPriceMath":[56118],"SwapMath":[56370],"TickBitmap":[56602],"TickMath":[3140],"UnsafeMath":[56632],"toBalanceDelta":[4259]},"id":47123,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":45443,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"37:23:54"},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"./SafeCast.sol","id":45445,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":47299,"src":"62:40:54","symbolAliases":[{"foreign":{"id":45444,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"70:8:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickBitmap.sol","file":"./TickBitmap.sol","id":45447,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":56603,"src":"103:44:54","symbolAliases":[{"foreign":{"id":45446,"name":"TickBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56602,"src":"111:10:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Position.sol","file":"./Position.sol","id":45449,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":1930,"src":"148:40:54","symbolAliases":[{"foreign":{"id":45448,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"156:8:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/UnsafeMath.sol","file":"./UnsafeMath.sol","id":45451,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":56633,"src":"189:44:54","symbolAliases":[{"foreign":{"id":45450,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"197:10:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/FixedPoint128.sol","file":"./FixedPoint128.sol","id":45453,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":45222,"src":"234:50:54","symbolAliases":[{"foreign":{"id":45452,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"242:13:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickMath.sol","file":"./TickMath.sol","id":45455,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":3141,"src":"285:40:54","symbolAliases":[{"foreign":{"id":45454,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"293:8:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SqrtPriceMath.sol","file":"./SqrtPriceMath.sol","id":45457,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":56119,"src":"326:50:54","symbolAliases":[{"foreign":{"id":45456,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"334:13:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SwapMath.sol","file":"./SwapMath.sol","id":45459,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":56371,"src":"377:40:54","symbolAliases":[{"foreign":{"id":45458,"name":"SwapMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56370,"src":"385:8:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":45463,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":4392,"src":"418:92:54","symbolAliases":[{"foreign":{"id":45460,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"426:12:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":45461,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"440:14:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":45462,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"456:19:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Slot0.sol","file":"../types/Slot0.sol","id":45465,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":56750,"src":"511:41:54","symbolAliases":[{"foreign":{"id":45464,"name":"Slot0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"519:5:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/ProtocolFeeLibrary.sol","file":"./ProtocolFeeLibrary.sol","id":45467,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":55628,"src":"553:60:54","symbolAliases":[{"foreign":{"id":45466,"name":"ProtocolFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55627,"src":"561:18:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LiquidityMath.sol","file":"./LiquidityMath.sol","id":45469,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":45406,"src":"614:50:54","symbolAliases":[{"foreign":{"id":45468,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"622:13:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"./LPFeeLibrary.sol","id":45471,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":48961,"src":"665:48:54","symbolAliases":[{"foreign":{"id":45470,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"673:12:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":45473,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47123,"sourceUnit":45215,"src":"714:48:54","symbolAliases":[{"foreign":{"id":45472,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"722:12:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Pool","contractDependencies":[],"contractKind":"library","documentation":{"id":45474,"nodeType":"StructuredDocumentation","src":"764:71:54","text":"@notice a library with all actions that can be performed on a pool"},"fullyImplemented":true,"id":47122,"linearizedBaseContracts":[47122],"name":"Pool","nameLocation":"843:4:54","nodeType":"ContractDefinition","nodes":[{"global":false,"id":45476,"libraryName":{"id":45475,"name":"SafeCast","nameLocations":["860:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"860:8:54"},"nodeType":"UsingForDirective","src":"854:21:54"},{"global":false,"id":45481,"libraryName":{"id":45477,"name":"TickBitmap","nameLocations":["886:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":56602,"src":"886:10:54"},"nodeType":"UsingForDirective","src":"880:47:54","typeName":{"id":45480,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":45478,"name":"int16","nodeType":"ElementaryTypeName","src":"909:5:54","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Mapping","src":"901:25:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":45479,"name":"uint256","nodeType":"ElementaryTypeName","src":"918:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},{"global":false,"id":45487,"libraryName":{"id":45482,"name":"Position","nameLocations":["938:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":1929,"src":"938:8:54"},"nodeType":"UsingForDirective","src":"932:54:54","typeName":{"id":45486,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":45483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"959:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"951:34:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":45485,"nodeType":"UserDefinedTypeName","pathNode":{"id":45484,"name":"Position.State","nameLocations":["970:8:54","979:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"970:14:54"},"referencedDeclaration":1787,"src":"970:14:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}}}},{"global":false,"id":45491,"libraryName":{"id":45488,"name":"Position","nameLocations":["997:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":1929,"src":"997:8:54"},"nodeType":"UsingForDirective","src":"991:34:54","typeName":{"id":45490,"nodeType":"UserDefinedTypeName","pathNode":{"id":45489,"name":"Position.State","nameLocations":["1010:8:54","1019:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"1010:14:54"},"referencedDeclaration":1787,"src":"1010:14:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}}},{"global":false,"id":45495,"libraryName":{"id":45492,"name":"Pool","nameLocations":["1036:4:54"],"nodeType":"IdentifierPath","referencedDeclaration":47122,"src":"1036:4:54"},"nodeType":"UsingForDirective","src":"1030:21:54","typeName":{"id":45494,"nodeType":"UserDefinedTypeName","pathNode":{"id":45493,"name":"State","nameLocations":["1045:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"1045:5:54"},"referencedDeclaration":45583,"src":"1045:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}}},{"global":false,"id":45497,"libraryName":{"id":45496,"name":"ProtocolFeeLibrary","nameLocations":["1062:18:54"],"nodeType":"IdentifierPath","referencedDeclaration":55627,"src":"1062:18:54"},"nodeType":"UsingForDirective","src":"1056:31:54"},{"global":false,"id":45500,"libraryName":{"id":45498,"name":"LPFeeLibrary","nameLocations":["1098:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"1098:12:54"},"nodeType":"UsingForDirective","src":"1092:30:54","typeName":{"id":45499,"name":"uint24","nodeType":"ElementaryTypeName","src":"1115:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":45503,"libraryName":{"id":45501,"name":"CustomRevert","nameLocations":["1133:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"1133:12:54"},"nodeType":"UsingForDirective","src":"1127:30:54","typeName":{"id":45502,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1150:6:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"documentation":{"id":45504,"nodeType":"StructuredDocumentation","src":"1163:150:54","text":"@notice Thrown when tickLower is not below tickUpper\n @param tickLower The invalid tickLower\n @param tickUpper The invalid tickUpper"},"errorSelector":"c4433ed5","id":45510,"name":"TicksMisordered","nameLocation":"1324:15:54","nodeType":"ErrorDefinition","parameters":{"id":45509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45506,"mutability":"mutable","name":"tickLower","nameLocation":"1346:9:54","nodeType":"VariableDeclaration","scope":45510,"src":"1340:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45505,"name":"int24","nodeType":"ElementaryTypeName","src":"1340:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45508,"mutability":"mutable","name":"tickUpper","nameLocation":"1363:9:54","nodeType":"VariableDeclaration","scope":45510,"src":"1357:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45507,"name":"int24","nodeType":"ElementaryTypeName","src":"1357:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1339:34:54"},"src":"1318:56:54"},{"documentation":{"id":45511,"nodeType":"StructuredDocumentation","src":"1380:102:54","text":"@notice Thrown when tickLower is less than min tick\n @param tickLower The invalid tickLower"},"errorSelector":"d5e2f7ab","id":45515,"name":"TickLowerOutOfBounds","nameLocation":"1493:20:54","nodeType":"ErrorDefinition","parameters":{"id":45514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45513,"mutability":"mutable","name":"tickLower","nameLocation":"1520:9:54","nodeType":"VariableDeclaration","scope":45515,"src":"1514:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45512,"name":"int24","nodeType":"ElementaryTypeName","src":"1514:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1513:17:54"},"src":"1487:44:54"},{"documentation":{"id":45516,"nodeType":"StructuredDocumentation","src":"1537:97:54","text":"@notice Thrown when tickUpper exceeds max tick\n @param tickUpper The invalid tickUpper"},"errorSelector":"1ad777f8","id":45520,"name":"TickUpperOutOfBounds","nameLocation":"1645:20:54","nodeType":"ErrorDefinition","parameters":{"id":45519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45518,"mutability":"mutable","name":"tickUpper","nameLocation":"1672:9:54","nodeType":"VariableDeclaration","scope":45520,"src":"1666:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45517,"name":"int24","nodeType":"ElementaryTypeName","src":"1666:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1665:17:54"},"src":"1639:44:54"},{"documentation":{"id":45521,"nodeType":"StructuredDocumentation","src":"1689:65:54","text":"@notice For the tick spacing, the tick has too much liquidity"},"errorSelector":"b8e3c385","id":45525,"name":"TickLiquidityOverflow","nameLocation":"1765:21:54","nodeType":"ErrorDefinition","parameters":{"id":45524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45523,"mutability":"mutable","name":"tick","nameLocation":"1793:4:54","nodeType":"VariableDeclaration","scope":45525,"src":"1787:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45522,"name":"int24","nodeType":"ElementaryTypeName","src":"1787:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1786:12:54"},"src":"1759:40:54"},{"documentation":{"id":45526,"nodeType":"StructuredDocumentation","src":"1805:72:54","text":"@notice Thrown when trying to initialize an already initialized pool"},"errorSelector":"7983c051","id":45528,"name":"PoolAlreadyInitialized","nameLocation":"1888:22:54","nodeType":"ErrorDefinition","parameters":{"id":45527,"nodeType":"ParameterList","parameters":[],"src":"1910:2:54"},"src":"1882:31:54"},{"documentation":{"id":45529,"nodeType":"StructuredDocumentation","src":"1919:70:54","text":"@notice Thrown when trying to interact with a non-initialized pool"},"errorSelector":"486aa307","id":45531,"name":"PoolNotInitialized","nameLocation":"2000:18:54","nodeType":"ErrorDefinition","parameters":{"id":45530,"nodeType":"ParameterList","parameters":[],"src":"2018:2:54"},"src":"1994:27:54"},{"documentation":{"id":45532,"nodeType":"StructuredDocumentation","src":"2027:225:54","text":"@notice Thrown when sqrtPriceLimitX96 on a swap has already exceeded its limit\n @param sqrtPriceCurrentX96 The invalid, already surpassed sqrtPriceLimitX96\n @param sqrtPriceLimitX96 The surpassed price limit"},"errorSelector":"7c9c6e8f","id":45538,"name":"PriceLimitAlreadyExceeded","nameLocation":"2263:25:54","nodeType":"ErrorDefinition","parameters":{"id":45537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45534,"mutability":"mutable","name":"sqrtPriceCurrentX96","nameLocation":"2297:19:54","nodeType":"VariableDeclaration","scope":45538,"src":"2289:27:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45533,"name":"uint160","nodeType":"ElementaryTypeName","src":"2289:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":45536,"mutability":"mutable","name":"sqrtPriceLimitX96","nameLocation":"2326:17:54","nodeType":"VariableDeclaration","scope":45538,"src":"2318:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45535,"name":"uint160","nodeType":"ElementaryTypeName","src":"2318:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"2288:56:54"},"src":"2257:88:54"},{"documentation":{"id":45539,"nodeType":"StructuredDocumentation","src":"2351:158:54","text":"@notice Thrown when sqrtPriceLimitX96 lies outside of valid tick/price range\n @param sqrtPriceLimitX96 The invalid, out-of-bounds sqrtPriceLimitX96"},"errorSelector":"9e4d7cc7","id":45543,"name":"PriceLimitOutOfBounds","nameLocation":"2520:21:54","nodeType":"ErrorDefinition","parameters":{"id":45542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45541,"mutability":"mutable","name":"sqrtPriceLimitX96","nameLocation":"2550:17:54","nodeType":"VariableDeclaration","scope":45543,"src":"2542:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45540,"name":"uint160","nodeType":"ElementaryTypeName","src":"2542:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"2541:27:54"},"src":"2514:55:54"},{"documentation":{"id":45544,"nodeType":"StructuredDocumentation","src":"2575:117:54","text":"@notice Thrown by donate if there is currently 0 liquidity, since the fees will not go to any liquidity providers"},"errorSelector":"a74f97ab","id":45546,"name":"NoLiquidityToReceiveFees","nameLocation":"2703:24:54","nodeType":"ErrorDefinition","parameters":{"id":45545,"nodeType":"ParameterList","parameters":[],"src":"2727:2:54"},"src":"2697:33:54"},{"documentation":{"id":45547,"nodeType":"StructuredDocumentation","src":"2736:86:54","text":"@notice Thrown when trying to swap with max lp fee and specifying an output amount"},"errorSelector":"96206246","id":45549,"name":"InvalidFeeForExactOut","nameLocation":"2833:21:54","nodeType":"ErrorDefinition","parameters":{"id":45548,"nodeType":"ParameterList","parameters":[],"src":"2854:2:54"},"src":"2827:30:54"},{"canonicalName":"Pool.TickInfo","id":45558,"members":[{"constant":false,"id":45551,"mutability":"mutable","name":"liquidityGross","nameLocation":"3019:14:54","nodeType":"VariableDeclaration","scope":45558,"src":"3011:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45550,"name":"uint128","nodeType":"ElementaryTypeName","src":"3011:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":45553,"mutability":"mutable","name":"liquidityNet","nameLocation":"3161:12:54","nodeType":"VariableDeclaration","scope":45558,"src":"3154:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":45552,"name":"int128","nodeType":"ElementaryTypeName","src":"3154:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":45555,"mutability":"mutable","name":"feeGrowthOutside0X128","nameLocation":"3404:21:54","nodeType":"VariableDeclaration","scope":45558,"src":"3396:29:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3396:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45557,"mutability":"mutable","name":"feeGrowthOutside1X128","nameLocation":"3443:21:54","nodeType":"VariableDeclaration","scope":45558,"src":"3435:29:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45556,"name":"uint256","nodeType":"ElementaryTypeName","src":"3435:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TickInfo","nameLocation":"2926:8:54","nodeType":"StructDefinition","scope":47122,"src":"2919:552:54","visibility":"public"},{"canonicalName":"Pool.State","documentation":{"id":45559,"nodeType":"StructuredDocumentation","src":"3477:333:54","text":"@notice The state of a pool\n @dev Note that feeGrowthGlobal can be artificially inflated\n For pools with a single liquidity position, actors can donate to themselves to freely inflate feeGrowthGlobal\n atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme"},"id":45583,"members":[{"constant":false,"id":45562,"mutability":"mutable","name":"slot0","nameLocation":"3844:5:54","nodeType":"VariableDeclaration","scope":45583,"src":"3838:11:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":45561,"nodeType":"UserDefinedTypeName","pathNode":{"id":45560,"name":"Slot0","nameLocations":["3838:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"3838:5:54"},"referencedDeclaration":56636,"src":"3838:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"},{"constant":false,"id":45564,"mutability":"mutable","name":"feeGrowthGlobal0X128","nameLocation":"3867:20:54","nodeType":"VariableDeclaration","scope":45583,"src":"3859:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45563,"name":"uint256","nodeType":"ElementaryTypeName","src":"3859:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45566,"mutability":"mutable","name":"feeGrowthGlobal1X128","nameLocation":"3905:20:54","nodeType":"VariableDeclaration","scope":45583,"src":"3897:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45565,"name":"uint256","nodeType":"ElementaryTypeName","src":"3897:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45568,"mutability":"mutable","name":"liquidity","nameLocation":"3943:9:54","nodeType":"VariableDeclaration","scope":45583,"src":"3935:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45567,"name":"uint128","nodeType":"ElementaryTypeName","src":"3935:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":45573,"mutability":"mutable","name":"ticks","nameLocation":"3994:5:54","nodeType":"VariableDeclaration","scope":45583,"src":"3962:37:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo)"},"typeName":{"id":45572,"keyName":"tick","keyNameLocation":"3976:4:54","keyType":{"id":45569,"name":"int24","nodeType":"ElementaryTypeName","src":"3970:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Mapping","src":"3962:31:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":45571,"nodeType":"UserDefinedTypeName","pathNode":{"id":45570,"name":"TickInfo","nameLocations":["3984:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":45558,"src":"3984:8:54"},"referencedDeclaration":45558,"src":"3984:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"}}},"visibility":"internal"},{"constant":false,"id":45577,"mutability":"mutable","name":"tickBitmap","nameLocation":"4043:10:54","nodeType":"VariableDeclaration","scope":45583,"src":"4009:44:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"typeName":{"id":45576,"keyName":"wordPos","keyNameLocation":"4023:7:54","keyType":{"id":45574,"name":"int16","nodeType":"ElementaryTypeName","src":"4017:5:54","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Mapping","src":"4009:33:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":45575,"name":"uint256","nodeType":"ElementaryTypeName","src":"4034:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":45582,"mutability":"mutable","name":"positions","nameLocation":"4110:9:54","nodeType":"VariableDeclaration","scope":45583,"src":"4063:56:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State)"},"typeName":{"id":45581,"keyName":"positionKey","keyNameLocation":"4079:11:54","keyType":{"id":45578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4071:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"4063:46:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":45580,"nodeType":"UserDefinedTypeName","pathNode":{"id":45579,"name":"Position.State","nameLocations":["4094:8:54","4103:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"4094:14:54"},"referencedDeclaration":1787,"src":"4094:14:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}}},"visibility":"internal"}],"name":"State","nameLocation":"3822:5:54","nodeType":"StructDefinition","scope":47122,"src":"3815:311:54","visibility":"public"},{"body":{"id":45630,"nodeType":"Block","src":"4249:294:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":45593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45591,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45586,"src":"4263:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":45592,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45588,"src":"4276:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4263:22:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45603,"nodeType":"IfStatement","src":"4259:85:54","trueBody":{"expression":{"arguments":[{"id":45599,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45586,"src":"4323:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45600,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45588,"src":"4334:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45594,"name":"TicksMisordered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45510,"src":"4287:15:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$_t_int24_$returns$_t_error_$","typeString":"function (int24,int24) pure returns (error)"}},"id":45597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4303:8:54","memberName":"selector","nodeType":"MemberAccess","src":"4287:24:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4312:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45172,"src":"4287:35:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24,int24) pure"}},"id":45601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4287:57:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45602,"nodeType":"ExpressionStatement","src":"4287:57:54"}},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":45607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45604,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45586,"src":"4358:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":45605,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4370:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":45606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4379:8:54","memberName":"MIN_TICK","nodeType":"MemberAccess","referencedDeclaration":2611,"src":"4370:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4358:29:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45616,"nodeType":"IfStatement","src":"4354:86:54","trueBody":{"expression":{"arguments":[{"id":45613,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45586,"src":"4430:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45608,"name":"TickLowerOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45515,"src":"4389:20:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":45611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4410:8:54","memberName":"selector","nodeType":"MemberAccess","src":"4389:29:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4419:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"4389:40:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":45614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4389:51:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45615,"nodeType":"ExpressionStatement","src":"4389:51:54"}},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":45620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45617,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45588,"src":"4454:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":45618,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4466:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":45619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4475:8:54","memberName":"MAX_TICK","nodeType":"MemberAccess","referencedDeclaration":2615,"src":"4466:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4454:29:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45629,"nodeType":"IfStatement","src":"4450:86:54","trueBody":{"expression":{"arguments":[{"id":45626,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45588,"src":"4526:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45621,"name":"TickUpperOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45520,"src":"4485:20:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":45624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4506:8:54","memberName":"selector","nodeType":"MemberAccess","src":"4485:29:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4515:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"4485:40:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":45627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:51:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45628,"nodeType":"ExpressionStatement","src":"4485:51:54"}}]},"documentation":{"id":45584,"nodeType":"StructuredDocumentation","src":"4132:45:54","text":"@dev Common checks for valid tick inputs."},"id":45631,"implemented":true,"kind":"function","modifiers":[],"name":"checkTicks","nameLocation":"4191:10:54","nodeType":"FunctionDefinition","parameters":{"id":45589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45586,"mutability":"mutable","name":"tickLower","nameLocation":"4208:9:54","nodeType":"VariableDeclaration","scope":45631,"src":"4202:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45585,"name":"int24","nodeType":"ElementaryTypeName","src":"4202:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45588,"mutability":"mutable","name":"tickUpper","nameLocation":"4225:9:54","nodeType":"VariableDeclaration","scope":45631,"src":"4219:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45587,"name":"int24","nodeType":"ElementaryTypeName","src":"4219:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"4201:34:54"},"returnParameters":{"id":45590,"nodeType":"ParameterList","parameters":[],"src":"4249:0:54"},"scope":47122,"src":"4182:361:54","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":45685,"nodeType":"Block","src":"4655:328:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":45648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":45643,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45634,"src":"4669:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4674:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"4669:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4680:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"4669:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":45646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4669:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4698:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4669:30:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45656,"nodeType":"IfStatement","src":"4665:80:54","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":45649,"name":"PoolAlreadyInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45528,"src":"4701:22:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":45652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4724:8:54","memberName":"selector","nodeType":"MemberAccess","src":"4701:31:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4733:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"4701:42:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":45654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4701:44:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45655,"nodeType":"ExpressionStatement","src":"4701:44:54"}},{"expression":{"id":45662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45657,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45641,"src":"4756:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45660,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"4791:12:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":45658,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4763:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":45659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4772:18:54","memberName":"getTickAtSqrtPrice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"4763:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$returns$_t_int24_$","typeString":"function (uint160) pure returns (int24)"}},"id":45661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:41:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4756:48:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":45663,"nodeType":"ExpressionStatement","src":"4756:48:54"},{"expression":{"id":45683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":45664,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45634,"src":"4881:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4886:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"4881:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45681,"name":"lpFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45638,"src":"4970:5:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"arguments":[{"id":45678,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45641,"src":"4955:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"arguments":[{"id":45675,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45636,"src":"4933:12:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":45671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4913:1:54","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":45670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4905:7:54","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":45669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4905:7:54","typeDescriptions":{}}},"id":45672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4905:10:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":45667,"name":"Slot0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"4894:5:54","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"type(Slot0)"}},"id":45668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4900:4:54","memberName":"wrap","nodeType":"MemberAccess","src":"4894:10:54","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (bytes32) pure returns (Slot0)"}},"id":45673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:22:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4917:15:54","memberName":"setSqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56709,"src":"4894:38:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_uint160_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,uint160) pure returns (Slot0)"}},"id":45676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4947:7:54","memberName":"setTick","nodeType":"MemberAccess","referencedDeclaration":56722,"src":"4894:60:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_int24_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,int24) pure returns (Slot0)"}},"id":45679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:66:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4961:8:54","memberName":"setLpFee","nodeType":"MemberAccess","referencedDeclaration":56748,"src":"4894:75:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_uint24_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,uint24) pure returns (Slot0)"}},"id":45682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:82:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"src":"4881:95:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45684,"nodeType":"ExpressionStatement","src":"4881:95:54"}]},"id":45686,"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"4558:10:54","nodeType":"FunctionDefinition","parameters":{"id":45639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45634,"mutability":"mutable","name":"self","nameLocation":"4583:4:54","nodeType":"VariableDeclaration","scope":45686,"src":"4569:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":45633,"nodeType":"UserDefinedTypeName","pathNode":{"id":45632,"name":"State","nameLocations":["4569:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"4569:5:54"},"referencedDeclaration":45583,"src":"4569:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":45636,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"4597:12:54","nodeType":"VariableDeclaration","scope":45686,"src":"4589:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45635,"name":"uint160","nodeType":"ElementaryTypeName","src":"4589:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":45638,"mutability":"mutable","name":"lpFee","nameLocation":"4618:5:54","nodeType":"VariableDeclaration","scope":45686,"src":"4611:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":45637,"name":"uint24","nodeType":"ElementaryTypeName","src":"4611:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"4568:56:54"},"returnParameters":{"id":45642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45641,"mutability":"mutable","name":"tick","nameLocation":"4649:4:54","nodeType":"VariableDeclaration","scope":45686,"src":"4643:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45640,"name":"int24","nodeType":"ElementaryTypeName","src":"4643:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"4642:12:54"},"scope":47122,"src":"4549:434:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":45709,"nodeType":"Block","src":"5062:105:54","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45694,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45689,"src":"5072:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5077:20:54","memberName":"checkPoolInitialized","nodeType":"MemberAccess","referencedDeclaration":47057,"src":"5072:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer) view"}},"id":45697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5072:27:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45698,"nodeType":"ExpressionStatement","src":"5072:27:54"},{"expression":{"id":45707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":45699,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45689,"src":"5109:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5114:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"5109:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45705,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45691,"src":"5148:11:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"expression":{"id":45702,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45689,"src":"5122:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5127:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"5122:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5133:14:54","memberName":"setProtocolFee","nodeType":"MemberAccess","referencedDeclaration":56735,"src":"5122:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_uint24_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,uint24) pure returns (Slot0)"}},"id":45706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5122:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"src":"5109:51:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45708,"nodeType":"ExpressionStatement","src":"5109:51:54"}]},"id":45710,"implemented":true,"kind":"function","modifiers":[],"name":"setProtocolFee","nameLocation":"4998:14:54","nodeType":"FunctionDefinition","parameters":{"id":45692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45689,"mutability":"mutable","name":"self","nameLocation":"5027:4:54","nodeType":"VariableDeclaration","scope":45710,"src":"5013:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":45688,"nodeType":"UserDefinedTypeName","pathNode":{"id":45687,"name":"State","nameLocations":["5013:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"5013:5:54"},"referencedDeclaration":45583,"src":"5013:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":45691,"mutability":"mutable","name":"protocolFee","nameLocation":"5040:11:54","nodeType":"VariableDeclaration","scope":45710,"src":"5033:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":45690,"name":"uint24","nodeType":"ElementaryTypeName","src":"5033:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"5012:40:54"},"returnParameters":{"id":45693,"nodeType":"ParameterList","parameters":[],"src":"5062:0:54"},"scope":47122,"src":"4989:178:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":45734,"nodeType":"Block","src":"5296:93:54","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45719,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45714,"src":"5306:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5311:20:54","memberName":"checkPoolInitialized","nodeType":"MemberAccess","referencedDeclaration":47057,"src":"5306:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$returns$__$attached_to$_t_struct$_State_$45583_storage_ptr_$","typeString":"function (struct Pool.State storage pointer) view"}},"id":45722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5306:27:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45723,"nodeType":"ExpressionStatement","src":"5306:27:54"},{"expression":{"id":45732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":45724,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45714,"src":"5343:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45726,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5348:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"5343:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45730,"name":"lpFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45716,"src":"5376:5:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"expression":{"id":45727,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45714,"src":"5356:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5361:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"5356:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5367:8:54","memberName":"setLpFee","nodeType":"MemberAccess","referencedDeclaration":56748,"src":"5356:19:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_uint24_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,uint24) pure returns (Slot0)"}},"id":45731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:26:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"src":"5343:39:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45733,"nodeType":"ExpressionStatement","src":"5343:39:54"}]},"documentation":{"id":45711,"nodeType":"StructuredDocumentation","src":"5173:57:54","text":"@notice Only dynamic fee pools may update the lp fee."},"id":45735,"implemented":true,"kind":"function","modifiers":[],"name":"setLPFee","nameLocation":"5244:8:54","nodeType":"FunctionDefinition","parameters":{"id":45717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45714,"mutability":"mutable","name":"self","nameLocation":"5267:4:54","nodeType":"VariableDeclaration","scope":45735,"src":"5253:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":45713,"nodeType":"UserDefinedTypeName","pathNode":{"id":45712,"name":"State","nameLocations":["5253:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"5253:5:54"},"referencedDeclaration":45583,"src":"5253:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":45716,"mutability":"mutable","name":"lpFee","nameLocation":"5280:5:54","nodeType":"VariableDeclaration","scope":45735,"src":"5273:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":45715,"name":"uint24","nodeType":"ElementaryTypeName","src":"5273:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"5252:34:54"},"returnParameters":{"id":45718,"nodeType":"ParameterList","parameters":[],"src":"5296:0:54"},"scope":47122,"src":"5235:154:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"canonicalName":"Pool.ModifyLiquidityParams","id":45748,"members":[{"constant":false,"id":45737,"mutability":"mutable","name":"owner","nameLocation":"5488:5:54","nodeType":"VariableDeclaration","scope":45748,"src":"5480:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45736,"name":"address","nodeType":"ElementaryTypeName","src":"5480:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45739,"mutability":"mutable","name":"tickLower","nameLocation":"5561:9:54","nodeType":"VariableDeclaration","scope":45748,"src":"5555:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45738,"name":"int24","nodeType":"ElementaryTypeName","src":"5555:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45741,"mutability":"mutable","name":"tickUpper","nameLocation":"5586:9:54","nodeType":"VariableDeclaration","scope":45748,"src":"5580:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45740,"name":"int24","nodeType":"ElementaryTypeName","src":"5580:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45743,"mutability":"mutable","name":"liquidityDelta","nameLocation":"5647:14:54","nodeType":"VariableDeclaration","scope":45748,"src":"5640:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":45742,"name":"int128","nodeType":"ElementaryTypeName","src":"5640:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":45745,"mutability":"mutable","name":"tickSpacing","nameLocation":"5714:11:54","nodeType":"VariableDeclaration","scope":45748,"src":"5708:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45744,"name":"int24","nodeType":"ElementaryTypeName","src":"5708:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45747,"mutability":"mutable","name":"salt","nameLocation":"5826:4:54","nodeType":"VariableDeclaration","scope":45748,"src":"5818:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5818:7:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"ModifyLiquidityParams","nameLocation":"5402:21:54","nodeType":"StructDefinition","scope":47122,"src":"5395:442:54","visibility":"public"},{"canonicalName":"Pool.ModifyLiquidityState","id":45757,"members":[{"constant":false,"id":45750,"mutability":"mutable","name":"flippedLower","nameLocation":"5886:12:54","nodeType":"VariableDeclaration","scope":45757,"src":"5881:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45749,"name":"bool","nodeType":"ElementaryTypeName","src":"5881:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45752,"mutability":"mutable","name":"liquidityGrossAfterLower","nameLocation":"5916:24:54","nodeType":"VariableDeclaration","scope":45757,"src":"5908:32:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45751,"name":"uint128","nodeType":"ElementaryTypeName","src":"5908:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":45754,"mutability":"mutable","name":"flippedUpper","nameLocation":"5955:12:54","nodeType":"VariableDeclaration","scope":45757,"src":"5950:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45753,"name":"bool","nodeType":"ElementaryTypeName","src":"5950:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45756,"mutability":"mutable","name":"liquidityGrossAfterUpper","nameLocation":"5985:24:54","nodeType":"VariableDeclaration","scope":45757,"src":"5977:32:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45755,"name":"uint128","nodeType":"ElementaryTypeName","src":"5977:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"name":"ModifyLiquidityState","nameLocation":"5850:20:54","nodeType":"StructDefinition","scope":47122,"src":"5843:173:54","visibility":"public"},{"body":{"id":46083,"nodeType":"Block","src":"6573:4237:54","statements":[{"assignments":[45774],"declarations":[{"constant":false,"id":45774,"mutability":"mutable","name":"liquidityDelta","nameLocation":"6590:14:54","nodeType":"VariableDeclaration","scope":46083,"src":"6583:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":45773,"name":"int128","nodeType":"ElementaryTypeName","src":"6583:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":45777,"initialValue":{"expression":{"id":45775,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"6607:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6614:14:54","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":45743,"src":"6607:21:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"6583:45:54"},{"assignments":[45779],"declarations":[{"constant":false,"id":45779,"mutability":"mutable","name":"tickLower","nameLocation":"6644:9:54","nodeType":"VariableDeclaration","scope":46083,"src":"6638:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45778,"name":"int24","nodeType":"ElementaryTypeName","src":"6638:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":45782,"initialValue":{"expression":{"id":45780,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"6656:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6663:9:54","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":45739,"src":"6656:16:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"6638:34:54"},{"assignments":[45784],"declarations":[{"constant":false,"id":45784,"mutability":"mutable","name":"tickUpper","nameLocation":"6688:9:54","nodeType":"VariableDeclaration","scope":46083,"src":"6682:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45783,"name":"int24","nodeType":"ElementaryTypeName","src":"6682:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":45787,"initialValue":{"expression":{"id":45785,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"6700:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6707:9:54","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":45741,"src":"6700:16:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"6682:34:54"},{"expression":{"arguments":[{"id":45789,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"6737:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45790,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"6748:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":45788,"name":"checkTicks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45631,"src":"6726:10:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$_t_int24_$returns$__$","typeString":"function (int24,int24) pure"}},"id":45791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6726:32:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45792,"nodeType":"ExpressionStatement","src":"6726:32:54"},{"id":45970,"nodeType":"Block","src":"6769:2251:54","statements":[{"assignments":[45795],"declarations":[{"constant":false,"id":45795,"mutability":"mutable","name":"state","nameLocation":"6811:5:54","nodeType":"VariableDeclaration","scope":45970,"src":"6783:33:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState"},"typeName":{"id":45794,"nodeType":"UserDefinedTypeName","pathNode":{"id":45793,"name":"ModifyLiquidityState","nameLocations":["6783:20:54"],"nodeType":"IdentifierPath","referencedDeclaration":45757,"src":"6783:20:54"},"referencedDeclaration":45757,"src":"6783:20:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_storage_ptr","typeString":"struct Pool.ModifyLiquidityState"}},"visibility":"internal"}],"id":45796,"nodeType":"VariableDeclarationStatement","src":"6783:33:54"},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":45799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45797,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"6888:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6888:19:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45897,"nodeType":"IfStatement","src":"6884:1188:54","trueBody":{"id":45896,"nodeType":"Block","src":"6909:1163:54","statements":[{"expression":{"id":45812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":45800,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"6928:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6934:12:54","memberName":"flippedLower","nodeType":"MemberAccess","referencedDeclaration":45750,"src":"6928:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":45803,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"6948:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6954:24:54","memberName":"liquidityGrossAfterLower","nodeType":"MemberAccess","referencedDeclaration":45752,"src":"6948:30:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"id":45805,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6927:52:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint128_$","typeString":"tuple(bool,uint128)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45807,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"7013:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":45808,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"7019:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45809,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"7030:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"66616c7365","id":45810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7046:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45806,"name":"updateTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47015,"src":"7002:10:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_int24_$_t_int128_$_t_bool_$returns$_t_bool_$_t_uint128_$","typeString":"function (struct Pool.State storage pointer,int24,int128,bool) returns (bool,uint128)"}},"id":45811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7002:50:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint128_$","typeString":"tuple(bool,uint128)"}},"src":"6927:125:54","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45813,"nodeType":"ExpressionStatement","src":"6927:125:54"},{"expression":{"id":45826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":45814,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7071:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7077:12:54","memberName":"flippedUpper","nodeType":"MemberAccess","referencedDeclaration":45754,"src":"7071:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":45817,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7091:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7097:24:54","memberName":"liquidityGrossAfterUpper","nodeType":"MemberAccess","referencedDeclaration":45756,"src":"7091:30:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"id":45819,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"7070:52:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint128_$","typeString":"tuple(bool,uint128)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":45821,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"7136:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":45822,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"7142:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45823,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"7153:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"74727565","id":45824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7169:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":45820,"name":"updateTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47015,"src":"7125:10:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_int24_$_t_int128_$_t_bool_$returns$_t_bool_$_t_uint128_$","typeString":"function (struct Pool.State storage pointer,int24,int128,bool) returns (bool,uint128)"}},"id":45825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7125:49:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint128_$","typeString":"tuple(bool,uint128)"}},"src":"7070:104:54","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45827,"nodeType":"ExpressionStatement","src":"7070:104:54"},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":45830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45828,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"7279:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":45829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7297:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7279:19:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45867,"nodeType":"IfStatement","src":"7275:508:54","trueBody":{"id":45866,"nodeType":"Block","src":"7300:483:54","statements":[{"assignments":[45832],"declarations":[{"constant":false,"id":45832,"mutability":"mutable","name":"maxLiquidityPerTick","nameLocation":"7330:19:54","nodeType":"VariableDeclaration","scope":45866,"src":"7322:27:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":45831,"name":"uint128","nodeType":"ElementaryTypeName","src":"7322:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":45837,"initialValue":{"arguments":[{"expression":{"id":45834,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"7385:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7392:11:54","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":45745,"src":"7385:18:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":45833,"name":"tickSpacingToMaxLiquidityPerTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47035,"src":"7352:32:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint128_$","typeString":"function (int24) pure returns (uint128)"}},"id":45836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7352:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"7322:82:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":45841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":45838,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7430:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7436:24:54","memberName":"liquidityGrossAfterLower","nodeType":"MemberAccess","referencedDeclaration":45752,"src":"7430:30:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45840,"name":"maxLiquidityPerTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45832,"src":"7463:19:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"7430:52:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45851,"nodeType":"IfStatement","src":"7426:159:54","trueBody":{"id":45850,"nodeType":"Block","src":"7484:101:54","statements":[{"expression":{"arguments":[{"id":45847,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"7552:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45842,"name":"TickLiquidityOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45525,"src":"7510:21:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":45845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7532:8:54","memberName":"selector","nodeType":"MemberAccess","src":"7510:30:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7541:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"7510:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":45848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7510:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45849,"nodeType":"ExpressionStatement","src":"7510:52:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":45855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":45852,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7610:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7616:24:54","memberName":"liquidityGrossAfterUpper","nodeType":"MemberAccess","referencedDeclaration":45756,"src":"7610:30:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45854,"name":"maxLiquidityPerTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45832,"src":"7643:19:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"7610:52:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45865,"nodeType":"IfStatement","src":"7606:159:54","trueBody":{"id":45864,"nodeType":"Block","src":"7664:101:54","statements":[{"expression":{"arguments":[{"id":45861,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"7732:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45856,"name":"TickLiquidityOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45525,"src":"7690:21:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":45859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7712:8:54","memberName":"selector","nodeType":"MemberAccess","src":"7690:30:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":45860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7721:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"7690:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":45862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7690:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45863,"nodeType":"ExpressionStatement","src":"7690:52:54"}]}}]}},{"condition":{"expression":{"id":45868,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7805:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7811:12:54","memberName":"flippedLower","nodeType":"MemberAccess","referencedDeclaration":45750,"src":"7805:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45881,"nodeType":"IfStatement","src":"7801:120:54","trueBody":{"id":45880,"nodeType":"Block","src":"7825:96:54","statements":[{"expression":{"arguments":[{"id":45875,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"7872:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":45876,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"7883:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7890:11:54","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":45745,"src":"7883:18:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45870,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"7847:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7852:10:54","memberName":"tickBitmap","nodeType":"MemberAccess","referencedDeclaration":45577,"src":"7847:15:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"}},"id":45874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7863:8:54","memberName":"flipTick","nodeType":"MemberAccess","referencedDeclaration":56420,"src":"7847:24:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_mapping$_t_int16_$_t_uint256_$_$_t_int24_$_t_int24_$returns$__$attached_to$_t_mapping$_t_int16_$_t_uint256_$_$","typeString":"function (mapping(int16 => uint256),int24,int24)"}},"id":45878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7847:55:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45879,"nodeType":"ExpressionStatement","src":"7847:55:54"}]}},{"condition":{"expression":{"id":45882,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"7942:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7948:12:54","memberName":"flippedUpper","nodeType":"MemberAccess","referencedDeclaration":45754,"src":"7942:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45895,"nodeType":"IfStatement","src":"7938:120:54","trueBody":{"id":45894,"nodeType":"Block","src":"7962:96:54","statements":[{"expression":{"arguments":[{"id":45889,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"8009:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":45890,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"8020:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8027:11:54","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":45745,"src":"8020:18:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":45884,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"7984:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45887,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7989:10:54","memberName":"tickBitmap","nodeType":"MemberAccess","referencedDeclaration":45577,"src":"7984:15:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"}},"id":45888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8000:8:54","memberName":"flipTick","nodeType":"MemberAccess","referencedDeclaration":56420,"src":"7984:24:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_mapping$_t_int16_$_t_uint256_$_$_t_int24_$_t_int24_$returns$__$attached_to$_t_mapping$_t_int16_$_t_uint256_$_$","typeString":"function (mapping(int16 => uint256),int24,int24)"}},"id":45892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7984:55:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45893,"nodeType":"ExpressionStatement","src":"7984:55:54"}]}}]}},{"id":45946,"nodeType":"Block","src":"8086:595:54","statements":[{"assignments":[45899,45901],"declarations":[{"constant":false,"id":45899,"mutability":"mutable","name":"feeGrowthInside0X128","nameLocation":"8113:20:54","nodeType":"VariableDeclaration","scope":45946,"src":"8105:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45898,"name":"uint256","nodeType":"ElementaryTypeName","src":"8105:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45901,"mutability":"mutable","name":"feeGrowthInside1X128","nameLocation":"8143:20:54","nodeType":"VariableDeclaration","scope":45946,"src":"8135:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45900,"name":"uint256","nodeType":"ElementaryTypeName","src":"8135:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45907,"initialValue":{"arguments":[{"id":45903,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"8206:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":45904,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"8212:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45905,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"8223:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":45902,"name":"getFeeGrowthInside","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46920,"src":"8187:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_State_$45583_storage_ptr_$_t_int24_$_t_int24_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Pool.State storage pointer,int24,int24) view returns (uint256,uint256)"}},"id":45906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8187:46:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8104:129:54"},{"assignments":[45912],"declarations":[{"constant":false,"id":45912,"mutability":"mutable","name":"position","nameLocation":"8275:8:54","nodeType":"VariableDeclaration","scope":45946,"src":"8252:31:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"},"typeName":{"id":45911,"nodeType":"UserDefinedTypeName","pathNode":{"id":45910,"name":"Position.State","nameLocations":["8252:8:54","8261:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"8252:14:54"},"referencedDeclaration":1787,"src":"8252:14:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}},"visibility":"internal"}],"id":45923,"initialValue":{"arguments":[{"expression":{"id":45916,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"8305:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8312:5:54","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":45737,"src":"8305:12:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45918,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"8319:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":45919,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"8330:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":45920,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"8341:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams memory"}},"id":45921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8348:4:54","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":45747,"src":"8341:11:54","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":45913,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"8286:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8291:9:54","memberName":"positions","nodeType":"MemberAccess","referencedDeclaration":45582,"src":"8286:14:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State storage ref)"}},"id":45915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8301:3:54","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":1823,"src":"8286:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_struct$_State_$1787_storage_ptr_$attached_to$_t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$_$","typeString":"function (mapping(bytes32 => struct Position.State storage ref),address,int24,int24,bytes32) view returns (struct Position.State storage pointer)"}},"id":45922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8286:67:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8252:101:54"},{"assignments":[45925,45927],"declarations":[{"constant":false,"id":45925,"mutability":"mutable","name":"feesOwed0","nameLocation":"8380:9:54","nodeType":"VariableDeclaration","scope":45946,"src":"8372:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45924,"name":"uint256","nodeType":"ElementaryTypeName","src":"8372:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45927,"mutability":"mutable","name":"feesOwed1","nameLocation":"8399:9:54","nodeType":"VariableDeclaration","scope":45946,"src":"8391:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45926,"name":"uint256","nodeType":"ElementaryTypeName","src":"8391:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45934,"initialValue":{"arguments":[{"id":45930,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"8448:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":45931,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45899,"src":"8464:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45932,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45901,"src":"8486:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45928,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45912,"src":"8432:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":45929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8441:6:54","memberName":"update","nodeType":"MemberAccess","referencedDeclaration":1928,"src":"8432:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$1787_storage_ptr_$_t_int128_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$attached_to$_t_struct$_State_$1787_storage_ptr_$","typeString":"function (struct Position.State storage pointer,int128,uint256,uint256) returns (uint256,uint256)"}},"id":45933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8432:75:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8371:136:54"},{"expression":{"id":45944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45935,"name":"feeDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45771,"src":"8597:8:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45937,"name":"feesOwed0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45925,"src":"8623:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8633:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"8623:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":45939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8623:20:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45940,"name":"feesOwed1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45927,"src":"8645:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8655:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"8645:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":45942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8645:20:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":45936,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"8608:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":45943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8608:58:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"8597:69:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":45945,"nodeType":"ExpressionStatement","src":"8597:69:54"}]},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":45949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45947,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"8759:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":45948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8776:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8759:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45969,"nodeType":"IfStatement","src":"8755:255:54","trueBody":{"id":45968,"nodeType":"Block","src":"8779:231:54","statements":[{"condition":{"expression":{"id":45950,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"8801:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8807:12:54","memberName":"flippedLower","nodeType":"MemberAccess","referencedDeclaration":45750,"src":"8801:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45958,"nodeType":"IfStatement","src":"8797:91:54","trueBody":{"id":45957,"nodeType":"Block","src":"8821:67:54","statements":[{"expression":{"arguments":[{"id":45953,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"8853:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":45954,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"8859:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":45952,"name":"clearTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47073,"src":"8843:9:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_int24_$returns$__$","typeString":"function (struct Pool.State storage pointer,int24)"}},"id":45955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8843:26:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45956,"nodeType":"ExpressionStatement","src":"8843:26:54"}]}},{"condition":{"expression":{"id":45959,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45795,"src":"8909:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityState_$45757_memory_ptr","typeString":"struct Pool.ModifyLiquidityState memory"}},"id":45960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8915:12:54","memberName":"flippedUpper","nodeType":"MemberAccess","referencedDeclaration":45754,"src":"8909:18:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45967,"nodeType":"IfStatement","src":"8905:91:54","trueBody":{"id":45966,"nodeType":"Block","src":"8929:67:54","statements":[{"expression":{"arguments":[{"id":45962,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"8961:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"id":45963,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"8967:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":45961,"name":"clearTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47073,"src":"8951:9:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_int24_$returns$__$","typeString":"function (struct Pool.State storage pointer,int24)"}},"id":45964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8951:26:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45965,"nodeType":"ExpressionStatement","src":"8951:26:54"}]}}]}}]},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":45973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45971,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"9034:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9052:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9034:19:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46082,"nodeType":"IfStatement","src":"9030:1774:54","trueBody":{"id":46081,"nodeType":"Block","src":"9055:1749:54","statements":[{"assignments":[45976],"declarations":[{"constant":false,"id":45976,"mutability":"mutable","name":"_slot0","nameLocation":"9075:6:54","nodeType":"VariableDeclaration","scope":46081,"src":"9069:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":45975,"nodeType":"UserDefinedTypeName","pathNode":{"id":45974,"name":"Slot0","nameLocations":["9069:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"9069:5:54"},"referencedDeclaration":56636,"src":"9069:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"id":45979,"initialValue":{"expression":{"id":45977,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"9084:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":45978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9089:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"9084:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"VariableDeclarationStatement","src":"9069:25:54"},{"assignments":[45981,45983],"declarations":[{"constant":false,"id":45981,"mutability":"mutable","name":"tick","nameLocation":"9115:4:54","nodeType":"VariableDeclaration","scope":46081,"src":"9109:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":45980,"name":"int24","nodeType":"ElementaryTypeName","src":"9109:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":45983,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"9129:12:54","nodeType":"VariableDeclaration","scope":46081,"src":"9121:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":45982,"name":"uint160","nodeType":"ElementaryTypeName","src":"9121:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"id":45991,"initialValue":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45984,"name":"_slot0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45976,"src":"9146:6:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9153:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":56676,"src":"9146:11:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_int24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (int24)"}},"id":45986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9146:13:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":45987,"name":"_slot0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45976,"src":"9161:6:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":45988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9168:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"9161:19:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":45989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9161:21:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":45990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9145:38:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_uint160_$","typeString":"tuple(int24,uint160)"}},"nodeType":"VariableDeclarationStatement","src":"9108:75:54"},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":45994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45992,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45981,"src":"9201:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":45993,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"9208:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"9201:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46016,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45981,"src":"9761:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46017,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"9768:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"9761:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46078,"nodeType":"Block","src":"10262:532:54","statements":[{"expression":{"id":46076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46058,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45768,"src":"10512:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":46060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10556:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":46065,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"10662:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46063,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"10634:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10643:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"10634:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10634:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":46069,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"10702:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46067,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"10674:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10683:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"10674:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10674:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":46071,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"10714:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46061,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"10579:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":46062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10593:15:54","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56117,"src":"10579:29:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_int128_$returns$_t_int256_$","typeString":"function (uint160,uint160,int128) pure returns (int256)"}},"id":46072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:171:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10751:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"10579:180:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10579:182:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":46059,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"10520:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10520:259:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"10512:267:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46077,"nodeType":"ExpressionStatement","src":"10512:267:54"}]},"id":46079,"nodeType":"IfStatement","src":"9757:1037:54","trueBody":{"id":46057,"nodeType":"Block","src":"9779:477:54","statements":[{"expression":{"id":46044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46019,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45768,"src":"9797:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":46023,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45983,"src":"9871:12:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":46026,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"9913:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46024,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"9885:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9894:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"9885:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9885:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":46028,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"9925:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46021,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"9841:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":46022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9855:15:54","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":56074,"src":"9841:29:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_int128_$returns$_t_int256_$","typeString":"function (uint160,uint160,int128) pure returns (int256)"}},"id":46029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9841:99:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9966:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"9841:133:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9841:135:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":46036,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"10056:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46034,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"10028:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10037:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"10028:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10028:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":46038,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45983,"src":"10068:12:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":46039,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"10082:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46032,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"9998:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":46033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10012:15:54","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56117,"src":"9998:29:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_int128_$returns$_t_int256_$","typeString":"function (uint160,uint160,int128) pure returns (int256)"}},"id":46040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9998:99:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10123:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"9998:133:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9998:135:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":46020,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"9805:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9805:346:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"9797:354:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46045,"nodeType":"ExpressionStatement","src":"9797:354:54"},{"expression":{"id":46055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46046,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"10170:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10175:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"10170:14:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46051,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45761,"src":"10210:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46052,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10215:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"10210:14:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":46053,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"10226:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46049,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"10187:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityMath_$45405_$","typeString":"type(library LiquidityMath)"}},"id":46050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10201:8:54","memberName":"addDelta","nodeType":"MemberAccess","referencedDeclaration":45404,"src":"10187:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint128_$_t_int128_$returns$_t_uint128_$","typeString":"function (uint128,int128) pure returns (uint128)"}},"id":46054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:54:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"10170:71:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":46056,"nodeType":"ExpressionStatement","src":"10170:71:54"}]}},"id":46080,"nodeType":"IfStatement","src":"9197:1597:54","trueBody":{"id":46015,"nodeType":"Block","src":"9219:532:54","statements":[{"expression":{"id":46013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45995,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45768,"src":"9469:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":46001,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45779,"src":"9596:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":45999,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"9568:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9577:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"9568:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9568:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":46005,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45784,"src":"9636:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46003,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"9608:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9617:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"9608:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9608:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":46007,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45774,"src":"9648:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":45997,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"9513:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":45998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9527:15:54","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":56074,"src":"9513:29:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_int128_$returns$_t_int256_$","typeString":"function (uint160,uint160,int128) pure returns (int256)"}},"id":46008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9513:171:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9685:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"9513:180:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9513:182:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"30","id":46011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9717:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":45996,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"9477:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9477:259:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"9469:267:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46014,"nodeType":"ExpressionStatement","src":"9469:267:54"}]}}]}}]},"documentation":{"id":45758,"nodeType":"StructuredDocumentation","src":"6022:383:54","text":"@notice Effect changes to a position in a pool\n @dev PoolManager checks that the pool is initialized before calling\n @param params the position details and the change to the position's liquidity to effect\n @return delta the deltas of the token balances of the pool, from the liquidity change\n @return feeDelta the fees generated by the liquidity range"},"id":46084,"implemented":true,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"6419:15:54","nodeType":"FunctionDefinition","parameters":{"id":45765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45761,"mutability":"mutable","name":"self","nameLocation":"6449:4:54","nodeType":"VariableDeclaration","scope":46084,"src":"6435:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":45760,"nodeType":"UserDefinedTypeName","pathNode":{"id":45759,"name":"State","nameLocations":["6435:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"6435:5:54"},"referencedDeclaration":45583,"src":"6435:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":45764,"mutability":"mutable","name":"params","nameLocation":"6484:6:54","nodeType":"VariableDeclaration","scope":46084,"src":"6455:35:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_memory_ptr","typeString":"struct Pool.ModifyLiquidityParams"},"typeName":{"id":45763,"nodeType":"UserDefinedTypeName","pathNode":{"id":45762,"name":"ModifyLiquidityParams","nameLocations":["6455:21:54"],"nodeType":"IdentifierPath","referencedDeclaration":45748,"src":"6455:21:54"},"referencedDeclaration":45748,"src":"6455:21:54","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$45748_storage_ptr","typeString":"struct Pool.ModifyLiquidityParams"}},"visibility":"internal"}],"src":"6434:57:54"},"returnParameters":{"id":45772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45768,"mutability":"mutable","name":"delta","nameLocation":"6539:5:54","nodeType":"VariableDeclaration","scope":46084,"src":"6526:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":45767,"nodeType":"UserDefinedTypeName","pathNode":{"id":45766,"name":"BalanceDelta","nameLocations":["6526:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"6526:12:54"},"referencedDeclaration":4233,"src":"6526:12:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":45771,"mutability":"mutable","name":"feeDelta","nameLocation":"6559:8:54","nodeType":"VariableDeclaration","scope":46084,"src":"6546:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":45770,"nodeType":"UserDefinedTypeName","pathNode":{"id":45769,"name":"BalanceDelta","nameLocations":["6546:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"6546:12:54"},"referencedDeclaration":4233,"src":"6546:12:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"6525:43:54"},"scope":47122,"src":"6410:4400:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"canonicalName":"Pool.SwapResult","id":46091,"members":[{"constant":false,"id":46086,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"10988:12:54","nodeType":"VariableDeclaration","scope":46091,"src":"10980:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":46085,"name":"uint160","nodeType":"ElementaryTypeName","src":"10980:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":46088,"mutability":"mutable","name":"tick","nameLocation":"11070:4:54","nodeType":"VariableDeclaration","scope":46091,"src":"11064:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46087,"name":"int24","nodeType":"ElementaryTypeName","src":"11064:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":46090,"mutability":"mutable","name":"liquidity","nameLocation":"11134:9:54","nodeType":"VariableDeclaration","scope":46091,"src":"11126:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":46089,"name":"uint128","nodeType":"ElementaryTypeName","src":"11126:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"name":"SwapResult","nameLocation":"10924:10:54","nodeType":"StructDefinition","scope":47122,"src":"10917:233:54","visibility":"public"},{"canonicalName":"Pool.StepComputations","id":46108,"members":[{"constant":false,"id":46093,"mutability":"mutable","name":"sqrtPriceStartX96","nameLocation":"11248:17:54","nodeType":"VariableDeclaration","scope":46108,"src":"11240:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":46092,"name":"uint160","nodeType":"ElementaryTypeName","src":"11240:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":46095,"mutability":"mutable","name":"tickNext","nameLocation":"11361:8:54","nodeType":"VariableDeclaration","scope":46108,"src":"11355:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46094,"name":"int24","nodeType":"ElementaryTypeName","src":"11355:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":46097,"mutability":"mutable","name":"initialized","nameLocation":"11434:11:54","nodeType":"VariableDeclaration","scope":46108,"src":"11429:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46096,"name":"bool","nodeType":"ElementaryTypeName","src":"11429:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46099,"mutability":"mutable","name":"sqrtPriceNextX96","nameLocation":"11510:16:54","nodeType":"VariableDeclaration","scope":46108,"src":"11502:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":46098,"name":"uint160","nodeType":"ElementaryTypeName","src":"11502:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":46101,"mutability":"mutable","name":"amountIn","nameLocation":"11597:8:54","nodeType":"VariableDeclaration","scope":46108,"src":"11589:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46100,"name":"uint256","nodeType":"ElementaryTypeName","src":"11589:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46103,"mutability":"mutable","name":"amountOut","nameLocation":"11664:9:54","nodeType":"VariableDeclaration","scope":46108,"src":"11656:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46102,"name":"uint256","nodeType":"ElementaryTypeName","src":"11656:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46105,"mutability":"mutable","name":"feeAmount","nameLocation":"11732:9:54","nodeType":"VariableDeclaration","scope":46108,"src":"11724:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46104,"name":"uint256","nodeType":"ElementaryTypeName","src":"11724:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46107,"mutability":"mutable","name":"feeGrowthGlobalX128","nameLocation":"11850:19:54","nodeType":"VariableDeclaration","scope":46108,"src":"11842:27:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46106,"name":"uint256","nodeType":"ElementaryTypeName","src":"11842:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"StepComputations","nameLocation":"11163:16:54","nodeType":"StructDefinition","scope":47122,"src":"11156:720:54","visibility":"public"},{"canonicalName":"Pool.SwapParams","id":46119,"members":[{"constant":false,"id":46110,"mutability":"mutable","name":"amountSpecified","nameLocation":"11917:15:54","nodeType":"VariableDeclaration","scope":46119,"src":"11910:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46109,"name":"int256","nodeType":"ElementaryTypeName","src":"11910:6:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":46112,"mutability":"mutable","name":"tickSpacing","nameLocation":"11948:11:54","nodeType":"VariableDeclaration","scope":46119,"src":"11942:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46111,"name":"int24","nodeType":"ElementaryTypeName","src":"11942:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":46114,"mutability":"mutable","name":"zeroForOne","nameLocation":"11974:10:54","nodeType":"VariableDeclaration","scope":46119,"src":"11969:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46113,"name":"bool","nodeType":"ElementaryTypeName","src":"11969:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46116,"mutability":"mutable","name":"sqrtPriceLimitX96","nameLocation":"12002:17:54","nodeType":"VariableDeclaration","scope":46119,"src":"11994:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":46115,"name":"uint160","nodeType":"ElementaryTypeName","src":"11994:7:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":46118,"mutability":"mutable","name":"lpFeeOverride","nameLocation":"12036:13:54","nodeType":"VariableDeclaration","scope":46119,"src":"12029:20:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":46117,"name":"uint24","nodeType":"ElementaryTypeName","src":"12029:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"name":"SwapParams","nameLocation":"11889:10:54","nodeType":"StructDefinition","scope":47122,"src":"11882:174:54","visibility":"public"},{"body":{"id":46733,"nodeType":"Block","src":"12421:9430:54","statements":[{"assignments":[46141],"declarations":[{"constant":false,"id":46141,"mutability":"mutable","name":"slot0Start","nameLocation":"12437:10:54","nodeType":"VariableDeclaration","scope":46733,"src":"12431:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":46140,"nodeType":"UserDefinedTypeName","pathNode":{"id":46139,"name":"Slot0","nameLocations":["12431:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"12431:5:54"},"referencedDeclaration":56636,"src":"12431:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"id":46144,"initialValue":{"expression":{"id":46142,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"12450:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12455:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"12450:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"VariableDeclarationStatement","src":"12431:29:54"},{"assignments":[46146],"declarations":[{"constant":false,"id":46146,"mutability":"mutable","name":"zeroForOne","nameLocation":"12475:10:54","nodeType":"VariableDeclaration","scope":46733,"src":"12470:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46145,"name":"bool","nodeType":"ElementaryTypeName","src":"12470:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":46149,"initialValue":{"expression":{"id":46147,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"12488:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12495:10:54","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":46114,"src":"12488:17:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"12470:35:54"},{"assignments":[46151],"declarations":[{"constant":false,"id":46151,"mutability":"mutable","name":"protocolFee","nameLocation":"12524:11:54","nodeType":"VariableDeclaration","scope":46733,"src":"12516:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46150,"name":"uint256","nodeType":"ElementaryTypeName","src":"12516:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46164,"initialValue":{"condition":{"id":46152,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"12550:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46158,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"12609:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12620:11:54","memberName":"protocolFee","nodeType":"MemberAccess","referencedDeclaration":56686,"src":"12609:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint24)"}},"id":46160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12609:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12634:16:54","memberName":"getOneForZeroFee","nodeType":"MemberAccess","referencedDeclaration":55605,"src":"12609:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_uint16_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (uint16)"}},"id":46162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12609:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":46163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12550:102:54","trueExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46153,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"12563:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12574:11:54","memberName":"protocolFee","nodeType":"MemberAccess","referencedDeclaration":56686,"src":"12563:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint24)"}},"id":46155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12563:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12588:16:54","memberName":"getZeroForOneFee","nodeType":"MemberAccess","referencedDeclaration":55590,"src":"12563:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_uint16_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (uint16)"}},"id":46157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12563:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"VariableDeclarationStatement","src":"12516:136:54"},{"assignments":[46166],"declarations":[{"constant":false,"id":46166,"mutability":"mutable","name":"amountSpecifiedRemaining","nameLocation":"12787:24:54","nodeType":"VariableDeclaration","scope":46733,"src":"12780:31:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46165,"name":"int256","nodeType":"ElementaryTypeName","src":"12780:6:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":46169,"initialValue":{"expression":{"id":46167,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"12814:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12821:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"12814:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"12780:56:54"},{"assignments":[46171],"declarations":[{"constant":false,"id":46171,"mutability":"mutable","name":"amountCalculated","nameLocation":"12936:16:54","nodeType":"VariableDeclaration","scope":46733,"src":"12929:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46170,"name":"int256","nodeType":"ElementaryTypeName","src":"12929:6:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":46173,"initialValue":{"hexValue":"30","id":46172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12955:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12929:27:54"},{"expression":{"id":46180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46174,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"13015:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13022:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"13015:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46177,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"13037:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13048:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"13037:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":46179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13037:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"13015:47:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":46181,"nodeType":"ExpressionStatement","src":"13015:47:54"},{"expression":{"id":46188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46182,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"13114:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13121:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"13114:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46185,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"13128:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13139:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":56676,"src":"13128:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_int24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (int24)"}},"id":46187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13128:17:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"13114:31:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46189,"nodeType":"ExpressionStatement","src":"13114:31:54"},{"expression":{"id":46195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46190,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"13202:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13209:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"13202:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46193,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"13221:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13226:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"13221:14:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"13202:33:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":46196,"nodeType":"ExpressionStatement","src":"13202:33:54"},{"id":46227,"nodeType":"Block","src":"13422:276:54","statements":[{"assignments":[46198],"declarations":[{"constant":false,"id":46198,"mutability":"mutable","name":"lpFee","nameLocation":"13443:5:54","nodeType":"VariableDeclaration","scope":46227,"src":"13436:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":46197,"name":"uint24","nodeType":"ElementaryTypeName","src":"13436:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"id":46211,"initialValue":{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46199,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"13451:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13458:13:54","memberName":"lpFeeOverride","nodeType":"MemberAccess","referencedDeclaration":46118,"src":"13451:20:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13472:10:54","memberName":"isOverride","nodeType":"MemberAccess","referencedDeclaration":48926,"src":"13451:31:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":46202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13451:33:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46207,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"13574:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13585:5:54","memberName":"lpFee","nodeType":"MemberAccess","referencedDeclaration":56696,"src":"13574:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint24)"}},"id":46209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13574:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13451:141:54","trueExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46203,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"13503:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13510:13:54","memberName":"lpFeeOverride","nodeType":"MemberAccess","referencedDeclaration":46118,"src":"13503:20:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13524:29:54","memberName":"removeOverrideFlagAndValidate","nodeType":"MemberAccess","referencedDeclaration":48959,"src":"13503:50:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_uint24_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (uint24)"}},"id":46206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13503:52:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"VariableDeclarationStatement","src":"13436:156:54"},{"expression":{"id":46225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46212,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"13607:7:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46213,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46151,"src":"13617:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13632:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13617:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":46222,"name":"lpFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46198,"src":"13681:5:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"arguments":[{"id":46219,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46151,"src":"13651:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13644:6:54","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":46217,"name":"uint16","nodeType":"ElementaryTypeName","src":"13644:6:54","typeDescriptions":{}}},"id":46220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13644:19:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":46221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13664:16:54","memberName":"calculateSwapFee","nodeType":"MemberAccess","referencedDeclaration":55626,"src":"13644:36:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint16_$_t_uint24_$returns$_t_uint24_$attached_to$_t_uint16_$","typeString":"function (uint16,uint24) pure returns (uint24)"}},"id":46223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13644:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13617:70:54","trueExpression":{"id":46216,"name":"lpFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46198,"src":"13636:5:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"13607:80:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":46226,"nodeType":"ExpressionStatement","src":"13607:80:54"}]},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46228,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"13847:7:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":46229,"name":"SwapMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56370,"src":"13858:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SwapMath_$56370_$","typeString":"type(library SwapMath)"}},"id":46230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13867:12:54","memberName":"MAX_SWAP_FEE","nodeType":"MemberAccess","referencedDeclaration":56129,"src":"13858:21:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13847:32:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46246,"nodeType":"IfStatement","src":"13843:200:54","trueBody":{"id":46245,"nodeType":"Block","src":"13881:162:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46232,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"13929:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13936:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"13929:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13954:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13929:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46244,"nodeType":"IfStatement","src":"13925:108:54","trueBody":{"id":46243,"nodeType":"Block","src":"13957:76:54","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46236,"name":"InvalidFeeForExactOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45549,"src":"13975:21:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":46239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13997:8:54","memberName":"selector","nodeType":"MemberAccess","src":"13975:30:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14006:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"13975:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":46241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13975:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46242,"nodeType":"ExpressionStatement","src":"13975:43:54"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46247,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"14251:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14258:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"14251:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14277:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14251:27:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46258,"nodeType":"IfStatement","src":"14247:92:54","trueBody":{"expression":{"components":[{"expression":{"id":46251,"name":"BalanceDeltaLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"14288:19:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BalanceDeltaLibrary_$4391_$","typeString":"type(library BalanceDeltaLibrary)"}},"id":46252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14308:10:54","memberName":"ZERO_DELTA","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"14288:30:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},{"hexValue":"30","id":46253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14320:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":46254,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"14323:7:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"id":46255,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"14332:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}}],"id":46256,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14287:52:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_rational_0_by_1_$_t_uint24_$_t_struct$_SwapResult_$46091_memory_ptr_$","typeString":"tuple(BalanceDelta,int_const 0,uint24,struct Pool.SwapResult memory)"}},"functionReturnParameters":46138,"id":46257,"nodeType":"Return","src":"14280:59:54"}},{"condition":{"id":46259,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"14354:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46333,"nodeType":"Block","src":"14987:384:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46297,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15005:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15012:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"15005:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46299,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"15033:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15044:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"15033:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":46301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15033:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"15005:53:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46316,"nodeType":"IfStatement","src":"15001:190:54","trueBody":{"id":46315,"nodeType":"Block","src":"15060:131:54","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46308,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"15124:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15135:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"15124:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":46310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15124:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":46311,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15151:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15158:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"15151:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":46303,"name":"PriceLimitAlreadyExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45538,"src":"15078:25:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint160_$_t_uint160_$returns$_t_error_$","typeString":"function (uint160,uint160) pure returns (error)"}},"id":46306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15104:8:54","memberName":"selector","nodeType":"MemberAccess","src":"15078:34:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45184,"src":"15078:45:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160,uint160) pure"}},"id":46313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15078:98:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46314,"nodeType":"ExpressionStatement","src":"15078:98:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46317,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15208:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15215:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"15208:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":46319,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"15236:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15245:14:54","memberName":"MAX_SQRT_PRICE","nodeType":"MemberAccess","referencedDeclaration":2635,"src":"15236:23:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"15208:51:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46332,"nodeType":"IfStatement","src":"15204:157:54","trueBody":{"id":46331,"nodeType":"Block","src":"15261:100:54","statements":[{"expression":{"arguments":[{"expression":{"id":46327,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15321:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15328:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"15321:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":46322,"name":"PriceLimitOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45543,"src":"15279:21:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint160_$returns$_t_error_$","typeString":"function (uint160) pure returns (error)"}},"id":46325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15301:8:54","memberName":"selector","nodeType":"MemberAccess","src":"15279:30:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15310:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45160,"src":"15279:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160) pure"}},"id":46329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15279:67:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46330,"nodeType":"ExpressionStatement","src":"15279:67:54"}]}}]},"id":46334,"nodeType":"IfStatement","src":"14350:1021:54","trueBody":{"id":46296,"nodeType":"Block","src":"14366:615:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46260,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"14384:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14391:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"14384:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46262,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"14412:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14423:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"14412:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":46264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14412:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"14384:53:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46279,"nodeType":"IfStatement","src":"14380:190:54","trueBody":{"id":46278,"nodeType":"Block","src":"14439:131:54","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46271,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"14503:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14514:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"14503:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":46273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14503:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":46274,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"14530:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14537:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"14530:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":46266,"name":"PriceLimitAlreadyExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45538,"src":"14457:25:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint160_$_t_uint160_$returns$_t_error_$","typeString":"function (uint160,uint160) pure returns (error)"}},"id":46269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14483:8:54","memberName":"selector","nodeType":"MemberAccess","src":"14457:34:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14492:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45184,"src":"14457:45:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160,uint160) pure"}},"id":46276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:98:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46277,"nodeType":"ExpressionStatement","src":"14457:98:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46280,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"14818:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14825:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"14818:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":46282,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"14846:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14855:14:54","memberName":"MIN_SQRT_PRICE","nodeType":"MemberAccess","referencedDeclaration":2631,"src":"14846:23:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"14818:51:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46295,"nodeType":"IfStatement","src":"14814:157:54","trueBody":{"id":46294,"nodeType":"Block","src":"14871:100:54","statements":[{"expression":{"arguments":[{"expression":{"id":46290,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"14931:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14938:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"14931:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":46285,"name":"PriceLimitOutOfBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45543,"src":"14889:21:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint160_$returns$_t_error_$","typeString":"function (uint160) pure returns (error)"}},"id":46288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14911:8:54","memberName":"selector","nodeType":"MemberAccess","src":"14889:30:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14920:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45160,"src":"14889:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160) pure"}},"id":46292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14889:67:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46293,"nodeType":"ExpressionStatement","src":"14889:67:54"}]}}]}},{"assignments":[46337],"declarations":[{"constant":false,"id":46337,"mutability":"mutable","name":"step","nameLocation":"15405:4:54","nodeType":"VariableDeclaration","scope":46733,"src":"15381:28:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations"},"typeName":{"id":46336,"nodeType":"UserDefinedTypeName","pathNode":{"id":46335,"name":"StepComputations","nameLocations":["15381:16:54"],"nodeType":"IdentifierPath","referencedDeclaration":46108,"src":"15381:16:54"},"referencedDeclaration":46108,"src":"15381:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_storage_ptr","typeString":"struct Pool.StepComputations"}},"visibility":"internal"}],"id":46338,"nodeType":"VariableDeclarationStatement","src":"15381:28:54"},{"expression":{"id":46348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46339,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"15419:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15424:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"15419:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":46342,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"15446:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":46345,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"15487:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46346,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15492:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"15487:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15446:66:54","trueExpression":{"expression":{"id":46343,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"15459:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"15459:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15419:93:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46349,"nodeType":"ExpressionStatement","src":"15419:93:54"},{"body":{"id":46644,"nodeType":"Block","src":"15731:5152:54","statements":[{"expression":{"id":46366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46361,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"15745:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15750:17:54","memberName":"sqrtPriceStartX96","nodeType":"MemberAccess","referencedDeclaration":46093,"src":"15745:22:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46364,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"15770:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15777:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"15770:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"15745:44:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":46367,"nodeType":"ExpressionStatement","src":"15745:44:54"},{"expression":{"id":46383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":46368,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"15805:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15810:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"15805:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":46371,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"15820:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15825:11:54","memberName":"initialized","nodeType":"MemberAccess","referencedDeclaration":46097,"src":"15820:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46373,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"15804:33:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_bool_$","typeString":"tuple(int24,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46377,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"15905:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15912:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"15905:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":46379,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15918:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15925:11:54","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":46112,"src":"15918:18:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":46381,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"15938:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":46374,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"15856:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15861:10:54","memberName":"tickBitmap","nodeType":"MemberAccess","referencedDeclaration":45577,"src":"15856:15:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"}},"id":46376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15872:32:54","memberName":"nextInitializedTickWithinOneWord","nodeType":"MemberAccess","referencedDeclaration":56601,"src":"15856:48:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_mapping$_t_int16_$_t_uint256_$_$_t_int24_$_t_int24_$_t_bool_$returns$_t_int24_$_t_bool_$attached_to$_t_mapping$_t_int16_$_t_uint256_$_$","typeString":"function (mapping(int16 => uint256),int24,int24,bool) view returns (int24,bool)"}},"id":46382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15856:93:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_bool_$","typeString":"tuple(int24,bool)"}},"src":"15804:145:54","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46384,"nodeType":"ExpressionStatement","src":"15804:145:54"},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46385,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16081:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16086:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"16081:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":46387,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"16098:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16107:8:54","memberName":"MIN_TICK","nodeType":"MemberAccess","referencedDeclaration":2611,"src":"16098:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"16081:34:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46398,"nodeType":"IfStatement","src":"16077:106:54","trueBody":{"id":46397,"nodeType":"Block","src":"16117:66:54","statements":[{"expression":{"id":46395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46390,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16135:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16140:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"16135:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46393,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"16151:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16160:8:54","memberName":"MIN_TICK","nodeType":"MemberAccess","referencedDeclaration":2611,"src":"16151:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"16135:33:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46396,"nodeType":"ExpressionStatement","src":"16135:33:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46399,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16200:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16205:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"16200:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":46401,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"16217:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16226:8:54","memberName":"MAX_TICK","nodeType":"MemberAccess","referencedDeclaration":2615,"src":"16217:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"16200:34:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46412,"nodeType":"IfStatement","src":"16196:106:54","trueBody":{"id":46411,"nodeType":"Block","src":"16236:66:54","statements":[{"expression":{"id":46409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46404,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16254:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16259:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"16254:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46407,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"16270:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16279:8:54","memberName":"MAX_TICK","nodeType":"MemberAccess","referencedDeclaration":2615,"src":"16270:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"16254:33:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46410,"nodeType":"ExpressionStatement","src":"16254:33:54"}]}},{"expression":{"id":46421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46413,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16363:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16368:16:54","memberName":"sqrtPriceNextX96","nodeType":"MemberAccess","referencedDeclaration":46099,"src":"16363:21:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46418,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16415:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16420:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"16415:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46416,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"16387:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16396:18:54","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"16387:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":46420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"16363:66:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":46422,"nodeType":"ExpressionStatement","src":"16363:66:54"},{"expression":{"id":46450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":46423,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"16564:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16571:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"16564:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":46426,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16585:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16590:8:54","memberName":"amountIn","nodeType":"MemberAccess","referencedDeclaration":46101,"src":"16585:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46428,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16600:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16605:9:54","memberName":"amountOut","nodeType":"MemberAccess","referencedDeclaration":46103,"src":"16600:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46430,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16616:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16621:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"16616:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46432,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"16563:68:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint160,uint256,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46435,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"16676:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16683:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"16676:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":46439,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"16741:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":46440,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16753:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16758:16:54","memberName":"sqrtPriceNextX96","nodeType":"MemberAccess","referencedDeclaration":46099,"src":"16753:21:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":46442,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"16776:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16783:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"16776:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":46437,"name":"SwapMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56370,"src":"16713:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SwapMath_$56370_$","typeString":"type(library SwapMath)"}},"id":46438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16722:18:54","memberName":"getSqrtPriceTarget","nodeType":"MemberAccess","referencedDeclaration":56143,"src":"16713:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint160_$_t_uint160_$returns$_t_uint160_$","typeString":"function (bool,uint160,uint160) pure returns (uint160)"}},"id":46444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16713:88:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":46445,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"16819:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16826:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"16819:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":46447,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"16853:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":46448,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"16895:7:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":46433,"name":"SwapMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56370,"src":"16634:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SwapMath_$56370_$","typeString":"type(library SwapMath)"}},"id":46434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16643:15:54","memberName":"computeSwapStep","nodeType":"MemberAccess","referencedDeclaration":56369,"src":"16634:24:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_int256_$_t_uint24_$returns$_t_uint160_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint160,uint160,uint128,int256,uint24) pure returns (uint160,uint256,uint256,uint256)"}},"id":46449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16634:282:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint160,uint256,uint256,uint256)"}},"src":"16563:353:54","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46451,"nodeType":"ExpressionStatement","src":"16563:353:54"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46452,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"16965:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16972:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"16965:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16990:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16965:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46495,"nodeType":"Block","src":"17216:313:54","statements":[{"id":46487,"nodeType":"UncheckedBlock","src":"17330:122:54","statements":[{"expression":{"id":46485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46476,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"17362:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46477,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17391:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:54","memberName":"amountIn","nodeType":"MemberAccess","referencedDeclaration":46101,"src":"17391:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":46479,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17407:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17412:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"17407:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17391:30:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17390:32:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17423:8:54","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"17390:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":46484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17390:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17362:71:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46486,"nodeType":"ExpressionStatement","src":"17362:71:54"}]},{"expression":{"id":46493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46488,"name":"amountCalculated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46171,"src":"17469:16:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46489,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17489:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17494:9:54","memberName":"amountOut","nodeType":"MemberAccess","referencedDeclaration":46103,"src":"17489:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:54","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"17489:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":46492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17469:45:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46494,"nodeType":"ExpressionStatement","src":"17469:45:54"}]},"id":46496,"nodeType":"IfStatement","src":"16961:568:54","trueBody":{"id":46475,"nodeType":"Block","src":"16993:217:54","statements":[{"id":46463,"nodeType":"UncheckedBlock","src":"17011:104:54","statements":[{"expression":{"id":46461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46456,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"17043:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46457,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17071:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17076:9:54","memberName":"amountOut","nodeType":"MemberAccess","referencedDeclaration":46103,"src":"17071:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17086:8:54","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"17071:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":46460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17071:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17043:53:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46462,"nodeType":"ExpressionStatement","src":"17043:53:54"}]},{"expression":{"id":46473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46464,"name":"amountCalculated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46171,"src":"17132:16:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46465,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17153:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17158:8:54","memberName":"amountIn","nodeType":"MemberAccess","referencedDeclaration":46101,"src":"17153:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":46467,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"17169:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17174:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"17169:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17153:30:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46470,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17152:32:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17185:8:54","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"17152:41:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":46472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17152:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17132:63:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46474,"nodeType":"ExpressionStatement","src":"17132:63:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46497,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46151,"src":"17664:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17678:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17664:15:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46533,"nodeType":"IfStatement","src":"17660:951:54","trueBody":{"id":46532,"nodeType":"Block","src":"17681:930:54","statements":[{"id":46531,"nodeType":"UncheckedBlock","src":"17699:898:54","statements":[{"assignments":[46501],"declarations":[{"constant":false,"id":46501,"mutability":"mutable","name":"delta","nameLocation":"18151:5:54","nodeType":"VariableDeclaration","scope":46531,"src":"18143:13:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46500,"name":"uint256","nodeType":"ElementaryTypeName","src":"18143:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46520,"initialValue":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46502,"name":"swapFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"18160:7:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":46503,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46151,"src":"18171:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18160:22:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18159:24:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46508,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18318:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18323:8:54","memberName":"amountIn","nodeType":"MemberAccess","referencedDeclaration":46101,"src":"18318:13:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":46510,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18334:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18339:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"18334:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18318:30:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18317:32:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":46514,"name":"protocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46151,"src":"18352:11:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18317:46:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"id":46516,"name":"ProtocolFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55627,"src":"18366:18:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ProtocolFeeLibrary_$55627_$","typeString":"type(library ProtocolFeeLibrary)"}},"id":46517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18385:16:54","memberName":"PIPS_DENOMINATOR","nodeType":"MemberAccess","referencedDeclaration":55575,"src":"18366:35:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18317:84:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"18159:242:54","trueExpression":{"expression":{"id":46506,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18210:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18215:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"18210:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18143:258:54"},{"expression":{"id":46525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46521,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18508:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18513:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"18508:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":46524,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46501,"src":"18526:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18508:23:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46526,"nodeType":"ExpressionStatement","src":"18508:23:54"},{"expression":{"id":46529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46527,"name":"amountToProtocol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46132,"src":"18553:16:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":46528,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46501,"src":"18573:5:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18553:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46530,"nodeType":"ExpressionStatement","src":"18553:25:54"}]}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46534,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"18670:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18677:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"18670:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18689:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18670:20:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46554,"nodeType":"IfStatement","src":"18666:382:54","trueBody":{"id":46553,"nodeType":"Block","src":"18692:356:54","statements":[{"id":46552,"nodeType":"UncheckedBlock","src":"18710:324:54","statements":[{"expression":{"id":46550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46538,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18886:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18891:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"18886:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"expression":{"id":46543,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"18962:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18967:9:54","memberName":"feeAmount","nodeType":"MemberAccess","referencedDeclaration":46105,"src":"18962:14:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46545,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"18978:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint128_$45221_$","typeString":"type(library FixedPoint128)"}},"id":46546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18992:4:54","memberName":"Q128","nodeType":"MemberAccess","referencedDeclaration":45220,"src":"18978:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46547,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"18998:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19005:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"18998:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":46541,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"18938:10:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":46542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18949:12:54","memberName":"simpleMulDiv","nodeType":"MemberAccess","referencedDeclaration":56631,"src":"18938:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":46549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18938:77:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18886:129:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46551,"nodeType":"ExpressionStatement","src":"18886:129:54"}]}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46555,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"19488:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19495:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"19488:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":46557,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"19511:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19516:16:54","memberName":"sqrtPriceNextX96","nodeType":"MemberAccess","referencedDeclaration":46099,"src":"19511:21:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"19488:44:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46626,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20611:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20618:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"20611:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":46628,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"20634:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20639:17:54","memberName":"sqrtPriceStartX96","nodeType":"MemberAccess","referencedDeclaration":46093,"src":"20634:22:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"20611:45:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46642,"nodeType":"IfStatement","src":"20607:266:54","trueBody":{"id":46641,"nodeType":"Block","src":"20658:215:54","statements":[{"expression":{"id":46639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46631,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20796:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20803:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"20796:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46636,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20838:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20845:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"20838:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":46634,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"20810:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":46635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20819:18:54","memberName":"getTickAtSqrtPrice","nodeType":"MemberAccess","referencedDeclaration":3139,"src":"20810:27:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$returns$_t_int24_$","typeString":"function (uint160) pure returns (int24)"}},"id":46638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20810:48:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"20796:62:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46640,"nodeType":"ExpressionStatement","src":"20796:62:54"}]}},"id":46643,"nodeType":"IfStatement","src":"19484:1389:54","trueBody":{"id":46625,"nodeType":"Block","src":"19534:1067:54","statements":[{"condition":{"expression":{"id":46560,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"19627:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19632:11:54","memberName":"initialized","nodeType":"MemberAccess","referencedDeclaration":46097,"src":"19627:16:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46610,"nodeType":"IfStatement","src":"19623:835:54","trueBody":{"id":46609,"nodeType":"Block","src":"19645:813:54","statements":[{"assignments":[46563,46565],"declarations":[{"constant":false,"id":46563,"mutability":"mutable","name":"feeGrowthGlobal0X128","nameLocation":"19676:20:54","nodeType":"VariableDeclaration","scope":46609,"src":"19668:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46562,"name":"uint256","nodeType":"ElementaryTypeName","src":"19668:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46565,"mutability":"mutable","name":"feeGrowthGlobal1X128","nameLocation":"19706:20:54","nodeType":"VariableDeclaration","scope":46609,"src":"19698:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46564,"name":"uint256","nodeType":"ElementaryTypeName","src":"19698:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46578,"initialValue":{"condition":{"id":46566,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"19730:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":46572,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"19848:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46573,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19853:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"19848:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46574,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"19875:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19880:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"19875:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19847:53:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":46577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"19730:170:54","trueExpression":{"components":[{"expression":{"id":46567,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"19768:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19773:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"19768:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46569,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"19794:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19799:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"19794:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46571,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19767:53:54","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"19667:233:54"},{"assignments":[46580],"declarations":[{"constant":false,"id":46580,"mutability":"mutable","name":"liquidityNet","nameLocation":"19929:12:54","nodeType":"VariableDeclaration","scope":46609,"src":"19922:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":46579,"name":"int128","nodeType":"ElementaryTypeName","src":"19922:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":46589,"initialValue":{"arguments":[{"id":46583,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"19983:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},{"expression":{"id":46584,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"19989:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19994:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"19989:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":46586,"name":"feeGrowthGlobal0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46563,"src":"20004:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46587,"name":"feeGrowthGlobal1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46565,"src":"20026:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46581,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"19968:4:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Pool_$47122_$","typeString":"type(library Pool)"}},"id":46582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19973:9:54","memberName":"crossTick","nodeType":"MemberAccess","referencedDeclaration":47121,"src":"19968:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_State_$45583_storage_ptr_$_t_int24_$_t_uint256_$_t_uint256_$returns$_t_int128_$","typeString":"function (struct Pool.State storage pointer,int24,uint256,uint256) returns (int128)"}},"id":46588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19968:79:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"19922:125:54"},{"id":46597,"nodeType":"UncheckedBlock","src":"20241:103:54","statements":[{"condition":{"id":46590,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"20281:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46596,"nodeType":"IfStatement","src":"20277:44:54","trueBody":{"expression":{"id":46594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46591,"name":"liquidityNet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46580,"src":"20293:12:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"20308:13:54","subExpression":{"id":46592,"name":"liquidityNet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46580,"src":"20309:12:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"20293:28:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":46595,"nodeType":"ExpressionStatement","src":"20293:28:54"}}]},{"expression":{"id":46607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46598,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20366:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20373:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"20366:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46603,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20408:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20415:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"20408:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":46605,"name":"liquidityNet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46580,"src":"20426:12:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46601,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"20385:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityMath_$45405_$","typeString":"type(library LiquidityMath)"}},"id":46602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20399:8:54","memberName":"addDelta","nodeType":"MemberAccess","referencedDeclaration":45404,"src":"20385:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint128_$_t_int128_$returns$_t_uint128_$","typeString":"function (uint128,int128) pure returns (uint128)"}},"id":46606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20385:54:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"20366:73:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":46608,"nodeType":"ExpressionStatement","src":"20366:73:54"}]}},{"id":46624,"nodeType":"UncheckedBlock","src":"20476:111:54","statements":[{"expression":{"id":46622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46611,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20508:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20515:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"20508:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":46614,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"20522:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":46619,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"20555:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20560:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"20555:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20522:46:54","trueExpression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46615,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"20535:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20540:8:54","memberName":"tickNext","nodeType":"MemberAccess","referencedDeclaration":46095,"src":"20535:13:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":46617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20551:1:54","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20535:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"20508:60:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":46623,"nodeType":"ExpressionStatement","src":"20508:60:54"}]}]}}]},"condition":{"id":46360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15646:83:54","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46350,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"15648:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15676:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15648:29:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":46357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46353,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"15681:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15688:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"15681:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":46355,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"15704:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15711:17:54","memberName":"sqrtPriceLimitX96","nodeType":"MemberAccess","referencedDeclaration":46116,"src":"15704:24:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"15681:47:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15648:80:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46359,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15647:82:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46645,"nodeType":"WhileStatement","src":"15639:5244:54"},{"expression":{"id":46658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46646,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"20893:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20898:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"20893:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":46655,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20954:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20961:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":46086,"src":"20954:19:54","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"arguments":[{"expression":{"id":46651,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"20925:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20932:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":46088,"src":"20925:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":46649,"name":"slot0Start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46141,"src":"20906:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20917:7:54","memberName":"setTick","nodeType":"MemberAccess","referencedDeclaration":56722,"src":"20906:18:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_int24_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,int24) pure returns (Slot0)"}},"id":46653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20906:31:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20938:15:54","memberName":"setSqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56709,"src":"20906:47:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$_t_uint160_$returns$_t_userDefinedValueType$_Slot0_$56636_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0,uint160) pure returns (Slot0)"}},"id":46657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20906:68:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"src":"20893:81:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46659,"nodeType":"ExpressionStatement","src":"20893:81:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46660,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"21031:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21036:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"21031:14:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":46662,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21049:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21056:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"21049:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"21031:34:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46672,"nodeType":"IfStatement","src":"21027:73:54","trueBody":{"expression":{"id":46670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46665,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"21067:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21072:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"21067:14:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46668,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46137,"src":"21084:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult memory"}},"id":46669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21091:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":46090,"src":"21084:16:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"21067:33:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":46671,"nodeType":"ExpressionStatement","src":"21067:33:54"}},{"condition":{"id":46674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21151:11:54","subExpression":{"id":46673,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"21152:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46690,"nodeType":"Block","src":"21247:77:54","statements":[{"expression":{"id":46688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46683,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"21261:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21266:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"21261:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46686,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"21289:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21294:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"21289:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21261:52:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46689,"nodeType":"ExpressionStatement","src":"21261:52:54"}]},"id":46691,"nodeType":"IfStatement","src":"21147:177:54","trueBody":{"id":46682,"nodeType":"Block","src":"21164:77:54","statements":[{"expression":{"id":46680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46675,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46123,"src":"21178:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21183:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"21178:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46678,"name":"step","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"21206:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_StepComputations_$46108_memory_ptr","typeString":"struct Pool.StepComputations memory"}},"id":46679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21211:19:54","memberName":"feeGrowthGlobalX128","nodeType":"MemberAccess","referencedDeclaration":46107,"src":"21206:24:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21178:52:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46681,"nodeType":"ExpressionStatement","src":"21178:52:54"}]}},{"id":46732,"nodeType":"UncheckedBlock","src":"21334:511:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46692,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46146,"src":"21405:10:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46693,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"21420:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21427:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"21420:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":46695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21445:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21420:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46697,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21419:28:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21405:42:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46730,"nodeType":"Block","src":"21645:190:54","statements":[{"expression":{"id":46728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46715,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46130,"src":"21663:9:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46717,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"21712:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21719:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"21712:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":46719,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"21737:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21712:49:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46721,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21711:51:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21763:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"21711:60:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21711:62:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46724,"name":"amountCalculated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46171,"src":"21775:16:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21792:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"21775:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21775:27:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":46716,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"21675:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21675:145:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"21663:157:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46729,"nodeType":"ExpressionStatement","src":"21663:157:54"}]},"id":46731,"nodeType":"IfStatement","src":"21401:434:54","trueBody":{"id":46714,"nodeType":"Block","src":"21449:190:54","statements":[{"expression":{"id":46712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46699,"name":"swapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46130,"src":"21467:9:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46701,"name":"amountCalculated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46171,"src":"21515:16:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21532:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"21515:25:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21515:27:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46704,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46126,"src":"21545:6:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams memory"}},"id":46705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21552:15:54","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":46110,"src":"21545:22:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":46706,"name":"amountSpecifiedRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46166,"src":"21570:24:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21545:49:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46708,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21544:51:54","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21596:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"21544:60:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":46710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21544:62:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":46700,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"21479:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21479:145:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"21467:157:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46713,"nodeType":"ExpressionStatement","src":"21467:157:54"}]}}]}]},"documentation":{"id":46120,"nodeType":"StructuredDocumentation","src":"12062:164:54","text":"@notice Executes a swap against the state, and returns the amount deltas of the pool\n @dev PoolManager checks that the pool is initialized before calling"},"id":46734,"implemented":true,"kind":"function","modifiers":[],"name":"swap","nameLocation":"12240:4:54","nodeType":"FunctionDefinition","parameters":{"id":46127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46123,"mutability":"mutable","name":"self","nameLocation":"12259:4:54","nodeType":"VariableDeclaration","scope":46734,"src":"12245:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":46122,"nodeType":"UserDefinedTypeName","pathNode":{"id":46121,"name":"State","nameLocations":["12245:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"12245:5:54"},"referencedDeclaration":45583,"src":"12245:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":46126,"mutability":"mutable","name":"params","nameLocation":"12283:6:54","nodeType":"VariableDeclaration","scope":46734,"src":"12265:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_memory_ptr","typeString":"struct Pool.SwapParams"},"typeName":{"id":46125,"nodeType":"UserDefinedTypeName","pathNode":{"id":46124,"name":"SwapParams","nameLocations":["12265:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":46119,"src":"12265:10:54"},"referencedDeclaration":46119,"src":"12265:10:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$46119_storage_ptr","typeString":"struct Pool.SwapParams"}},"visibility":"internal"}],"src":"12244:46:54"},"returnParameters":{"id":46138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46130,"mutability":"mutable","name":"swapDelta","nameLocation":"12338:9:54","nodeType":"VariableDeclaration","scope":46734,"src":"12325:22:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":46129,"nodeType":"UserDefinedTypeName","pathNode":{"id":46128,"name":"BalanceDelta","nameLocations":["12325:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"12325:12:54"},"referencedDeclaration":4233,"src":"12325:12:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":46132,"mutability":"mutable","name":"amountToProtocol","nameLocation":"12357:16:54","nodeType":"VariableDeclaration","scope":46734,"src":"12349:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46131,"name":"uint256","nodeType":"ElementaryTypeName","src":"12349:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46134,"mutability":"mutable","name":"swapFee","nameLocation":"12382:7:54","nodeType":"VariableDeclaration","scope":46734,"src":"12375:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":46133,"name":"uint24","nodeType":"ElementaryTypeName","src":"12375:6:54","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":46137,"mutability":"mutable","name":"result","nameLocation":"12409:6:54","nodeType":"VariableDeclaration","scope":46734,"src":"12391:24:54","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_memory_ptr","typeString":"struct Pool.SwapResult"},"typeName":{"id":46136,"nodeType":"UserDefinedTypeName","pathNode":{"id":46135,"name":"SwapResult","nameLocations":["12391:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":46091,"src":"12391:10:54"},"referencedDeclaration":46091,"src":"12391:10:54","typeDescriptions":{"typeIdentifier":"t_struct$_SwapResult_$46091_storage_ptr","typeString":"struct Pool.SwapResult"}},"visibility":"internal"}],"src":"12324:92:54"},"scope":47122,"src":"12231:9620:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":46814,"nodeType":"Block","src":"22046:768:54","statements":[{"assignments":[46749],"declarations":[{"constant":false,"id":46749,"mutability":"mutable","name":"liquidity","nameLocation":"22064:9:54","nodeType":"VariableDeclaration","scope":46814,"src":"22056:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":46748,"name":"uint128","nodeType":"ElementaryTypeName","src":"22056:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":46752,"initialValue":{"expression":{"id":46750,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46738,"src":"22076:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22082:9:54","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":45568,"src":"22076:15:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"22056:35:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46753,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46749,"src":"22105:9:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22118:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22105:14:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46763,"nodeType":"IfStatement","src":"22101:66:54","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46756,"name":"NoLiquidityToReceiveFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45546,"src":"22121:24:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":46759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22146:8:54","memberName":"selector","nodeType":"MemberAccess","src":"22121:33:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22155:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"22121:44:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":46761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22121:46:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46762,"nodeType":"ExpressionStatement","src":"22121:46:54"}},{"id":46813,"nodeType":"UncheckedBlock","src":"22177:631:54","statements":[{"expression":{"id":46777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46764,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46746,"src":"22273:5:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":46770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"22296:21:54","subExpression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46766,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46740,"src":"22298:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22306:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"22298:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":46768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22298:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":46769,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22297:20:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":46775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"22319:21:54","subExpression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46771,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46742,"src":"22321:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22329:8:54","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"22321:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":46773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22321:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":46774,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22320:20:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":46765,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"22281:14:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":46776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22281:60:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"22273:68:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":46778,"nodeType":"ExpressionStatement","src":"22273:68:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46779,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46740,"src":"22503:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22513:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22503:11:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46795,"nodeType":"IfStatement","src":"22499:143:54","trueBody":{"id":46794,"nodeType":"Block","src":"22516:126:54","statements":[{"expression":{"id":46792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46782,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46738,"src":"22534:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22540:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"22534:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":46787,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46740,"src":"22588:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46788,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"22597:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint128_$45221_$","typeString":"type(library FixedPoint128)"}},"id":46789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22611:4:54","memberName":"Q128","nodeType":"MemberAccess","referencedDeclaration":45220,"src":"22597:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46790,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46749,"src":"22617:9:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":46785,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"22564:10:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":46786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22575:12:54","memberName":"simpleMulDiv","nodeType":"MemberAccess","referencedDeclaration":56631,"src":"22564:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":46791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22564:63:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22534:93:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46793,"nodeType":"ExpressionStatement","src":"22534:93:54"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46796,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46742,"src":"22659:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22669:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22659:11:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46812,"nodeType":"IfStatement","src":"22655:143:54","trueBody":{"id":46811,"nodeType":"Block","src":"22672:126:54","statements":[{"expression":{"id":46809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46799,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46738,"src":"22690:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"22696:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"22690:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":46804,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46742,"src":"22744:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":46805,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"22753:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint128_$45221_$","typeString":"type(library FixedPoint128)"}},"id":46806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22767:4:54","memberName":"Q128","nodeType":"MemberAccess","referencedDeclaration":45220,"src":"22753:18:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46807,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46749,"src":"22773:9:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":46802,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"22720:10:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":46803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22731:12:54","memberName":"simpleMulDiv","nodeType":"MemberAccess","referencedDeclaration":56631,"src":"22720:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":46808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22720:63:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22690:93:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46810,"nodeType":"ExpressionStatement","src":"22690:93:54"}]}}]}]},"documentation":{"id":46735,"nodeType":"StructuredDocumentation","src":"21857:75:54","text":"@notice Donates the given amount of currency0 and currency1 to the pool"},"id":46815,"implemented":true,"kind":"function","modifiers":[],"name":"donate","nameLocation":"21946:6:54","nodeType":"FunctionDefinition","parameters":{"id":46743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46738,"mutability":"mutable","name":"state","nameLocation":"21967:5:54","nodeType":"VariableDeclaration","scope":46815,"src":"21953:19:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":46737,"nodeType":"UserDefinedTypeName","pathNode":{"id":46736,"name":"State","nameLocations":["21953:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"21953:5:54"},"referencedDeclaration":45583,"src":"21953:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":46740,"mutability":"mutable","name":"amount0","nameLocation":"21982:7:54","nodeType":"VariableDeclaration","scope":46815,"src":"21974:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46739,"name":"uint256","nodeType":"ElementaryTypeName","src":"21974:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46742,"mutability":"mutable","name":"amount1","nameLocation":"21999:7:54","nodeType":"VariableDeclaration","scope":46815,"src":"21991:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46741,"name":"uint256","nodeType":"ElementaryTypeName","src":"21991:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21952:55:54"},"returnParameters":{"id":46747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46746,"mutability":"mutable","name":"delta","nameLocation":"22039:5:54","nodeType":"VariableDeclaration","scope":46815,"src":"22026:18:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":46745,"nodeType":"UserDefinedTypeName","pathNode":{"id":46744,"name":"BalanceDelta","nameLocations":["22026:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"22026:12:54"},"referencedDeclaration":4233,"src":"22026:12:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"22025:20:54"},"scope":47122,"src":"21937:877:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":46919,"nodeType":"Block","src":"23493:1010:54","statements":[{"assignments":[46832],"declarations":[{"constant":false,"id":46832,"mutability":"mutable","name":"lower","nameLocation":"23520:5:54","nodeType":"VariableDeclaration","scope":46919,"src":"23503:22:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"},"typeName":{"id":46831,"nodeType":"UserDefinedTypeName","pathNode":{"id":46830,"name":"TickInfo","nameLocations":["23503:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":45558,"src":"23503:8:54"},"referencedDeclaration":45558,"src":"23503:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"}},"visibility":"internal"}],"id":46837,"initialValue":{"baseExpression":{"expression":{"id":46833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46819,"src":"23528:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23533:5:54","memberName":"ticks","nodeType":"MemberAccess","referencedDeclaration":45573,"src":"23528:10:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo storage ref)"}},"id":46836,"indexExpression":{"id":46835,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46821,"src":"23539:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23528:21:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage","typeString":"struct Pool.TickInfo storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23503:46:54"},{"assignments":[46840],"declarations":[{"constant":false,"id":46840,"mutability":"mutable","name":"upper","nameLocation":"23576:5:54","nodeType":"VariableDeclaration","scope":46919,"src":"23559:22:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"},"typeName":{"id":46839,"nodeType":"UserDefinedTypeName","pathNode":{"id":46838,"name":"TickInfo","nameLocations":["23559:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":45558,"src":"23559:8:54"},"referencedDeclaration":45558,"src":"23559:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"}},"visibility":"internal"}],"id":46845,"initialValue":{"baseExpression":{"expression":{"id":46841,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46819,"src":"23584:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23589:5:54","memberName":"ticks","nodeType":"MemberAccess","referencedDeclaration":45573,"src":"23584:10:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo storage ref)"}},"id":46844,"indexExpression":{"id":46843,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46823,"src":"23595:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23584:21:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage","typeString":"struct Pool.TickInfo storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23559:46:54"},{"assignments":[46847],"declarations":[{"constant":false,"id":46847,"mutability":"mutable","name":"tickCurrent","nameLocation":"23621:11:54","nodeType":"VariableDeclaration","scope":46919,"src":"23615:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46846,"name":"int24","nodeType":"ElementaryTypeName","src":"23615:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":46852,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46848,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46819,"src":"23635:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46849,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23640:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"23635:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23646:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":56676,"src":"23635:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_int24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (int24)"}},"id":46851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23635:17:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"23615:37:54"},{"id":46918,"nodeType":"UncheckedBlock","src":"23663:834:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46853,"name":"tickCurrent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"23691:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46854,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46821,"src":"23705:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"23691:23:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46873,"name":"tickCurrent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"23937:11:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":46874,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46823,"src":"23952:9:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"23937:24:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46915,"nodeType":"Block","src":"24180:307:54","statements":[{"expression":{"id":46902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46893,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46826,"src":"24198:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46894,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46819,"src":"24241:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46895,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24246:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"24241:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46896,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"24269:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24275:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"24269:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24241:55:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46899,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"24299:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24305:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"24299:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24241:85:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24198:128:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46903,"nodeType":"ExpressionStatement","src":"24198:128:54"},{"expression":{"id":46913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46904,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46828,"src":"24344:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46905,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46819,"src":"24387:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24392:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"24387:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46907,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"24415:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24421:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"24415:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24387:55:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46910,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"24445:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24451:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"24445:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24387:85:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24344:128:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46914,"nodeType":"ExpressionStatement","src":"24344:128:54"}]},"id":46916,"nodeType":"IfStatement","src":"23933:554:54","trueBody":{"id":46892,"nodeType":"Block","src":"23963:211:54","statements":[{"expression":{"id":46882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46876,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46826,"src":"23981:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46877,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"24004:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46878,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24010:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"24004:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46879,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"24034:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24040:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"24034:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24004:57:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23981:80:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46883,"nodeType":"ExpressionStatement","src":"23981:80:54"},{"expression":{"id":46890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46884,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46828,"src":"24079:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46885,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"24102:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24108:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"24102:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46887,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"24132:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24138:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"24132:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24102:57:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24079:80:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46891,"nodeType":"ExpressionStatement","src":"24079:80:54"}]}},"id":46917,"nodeType":"IfStatement","src":"23687:800:54","trueBody":{"id":46872,"nodeType":"Block","src":"23716:211:54","statements":[{"expression":{"id":46862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46856,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46826,"src":"23734:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":46857,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"23757:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23763:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"23757:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46859,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"23787:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23793:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"23787:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23757:57:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23734:80:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46863,"nodeType":"ExpressionStatement","src":"23734:80:54"},{"expression":{"id":46870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46864,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46828,"src":"23832:20:54","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":{"expression":{"id":46865,"name":"lower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46832,"src":"23855:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23861:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"23855:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":46867,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46840,"src":"23885:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23891:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"23885:27:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23855:57:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23832:80:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46871,"nodeType":"ExpressionStatement","src":"23832:80:54"}]}}]}]},"documentation":{"id":46816,"nodeType":"StructuredDocumentation","src":"22820:475:54","text":"@notice Retrieves fee growth data\n @param self The Pool state struct\n @param tickLower The lower tick boundary of the position\n @param tickUpper The upper tick boundary of the position\n @return feeGrowthInside0X128 The all-time fee growth in token0, per unit of liquidity, inside the position's tick boundaries\n @return feeGrowthInside1X128 The all-time fee growth in token1, per unit of liquidity, inside the position's tick boundaries"},"id":46920,"implemented":true,"kind":"function","modifiers":[],"name":"getFeeGrowthInside","nameLocation":"23309:18:54","nodeType":"FunctionDefinition","parameters":{"id":46824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46819,"mutability":"mutable","name":"self","nameLocation":"23342:4:54","nodeType":"VariableDeclaration","scope":46920,"src":"23328:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":46818,"nodeType":"UserDefinedTypeName","pathNode":{"id":46817,"name":"State","nameLocations":["23328:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"23328:5:54"},"referencedDeclaration":45583,"src":"23328:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":46821,"mutability":"mutable","name":"tickLower","nameLocation":"23354:9:54","nodeType":"VariableDeclaration","scope":46920,"src":"23348:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46820,"name":"int24","nodeType":"ElementaryTypeName","src":"23348:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":46823,"mutability":"mutable","name":"tickUpper","nameLocation":"23371:9:54","nodeType":"VariableDeclaration","scope":46920,"src":"23365:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46822,"name":"int24","nodeType":"ElementaryTypeName","src":"23365:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"23327:54:54"},"returnParameters":{"id":46829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46826,"mutability":"mutable","name":"feeGrowthInside0X128","nameLocation":"23437:20:54","nodeType":"VariableDeclaration","scope":46920,"src":"23429:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46825,"name":"uint256","nodeType":"ElementaryTypeName","src":"23429:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46828,"mutability":"mutable","name":"feeGrowthInside1X128","nameLocation":"23467:20:54","nodeType":"VariableDeclaration","scope":46920,"src":"23459:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46827,"name":"uint256","nodeType":"ElementaryTypeName","src":"23459:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23428:60:54"},"scope":47122,"src":"23300:1203:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":47014,"nodeType":"Block","src":"25409:1762:54","statements":[{"assignments":[46939],"declarations":[{"constant":false,"id":46939,"mutability":"mutable","name":"info","nameLocation":"25436:4:54","nodeType":"VariableDeclaration","scope":47014,"src":"25419:21:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"},"typeName":{"id":46938,"nodeType":"UserDefinedTypeName","pathNode":{"id":46937,"name":"TickInfo","nameLocations":["25419:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":45558,"src":"25419:8:54"},"referencedDeclaration":45558,"src":"25419:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"}},"visibility":"internal"}],"id":46944,"initialValue":{"baseExpression":{"expression":{"id":46940,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46924,"src":"25443:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25448:5:54","memberName":"ticks","nodeType":"MemberAccess","referencedDeclaration":45573,"src":"25443:10:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo storage ref)"}},"id":46943,"indexExpression":{"id":46942,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46926,"src":"25454:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25443:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage","typeString":"struct Pool.TickInfo storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25419:40:54"},{"assignments":[46946],"declarations":[{"constant":false,"id":46946,"mutability":"mutable","name":"liquidityGrossBefore","nameLocation":"25478:20:54","nodeType":"VariableDeclaration","scope":47014,"src":"25470:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":46945,"name":"uint128","nodeType":"ElementaryTypeName","src":"25470:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":46949,"initialValue":{"expression":{"id":46947,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"25501:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25506:14:54","memberName":"liquidityGross","nodeType":"MemberAccess","referencedDeclaration":45551,"src":"25501:19:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"25470:50:54"},{"assignments":[46951],"declarations":[{"constant":false,"id":46951,"mutability":"mutable","name":"liquidityNetBefore","nameLocation":"25537:18:54","nodeType":"VariableDeclaration","scope":47014,"src":"25530:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":46950,"name":"int128","nodeType":"ElementaryTypeName","src":"25530:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":46954,"initialValue":{"expression":{"id":46952,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"25558:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25563:12:54","memberName":"liquidityNet","nodeType":"MemberAccess","referencedDeclaration":45553,"src":"25558:17:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"25530:45:54"},{"expression":{"id":46961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46955,"name":"liquidityGrossAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46935,"src":"25586:19:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":46958,"name":"liquidityGrossBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"25631:20:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":46959,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46928,"src":"25653:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":46956,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"25608:13:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityMath_$45405_$","typeString":"type(library LiquidityMath)"}},"id":46957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25622:8:54","memberName":"addDelta","nodeType":"MemberAccess","referencedDeclaration":45404,"src":"25608:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint128_$_t_int128_$returns$_t_uint128_$","typeString":"function (uint128,int128) pure returns (uint128)"}},"id":46960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25608:60:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"25586:82:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":46962,"nodeType":"ExpressionStatement","src":"25586:82:54"},{"expression":{"id":46973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46963,"name":"flipped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46933,"src":"25679:7:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46964,"name":"liquidityGrossAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46935,"src":"25690:19:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25713:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25690:24:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46967,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25689:26:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46968,"name":"liquidityGrossBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"25720:20:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25744:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25720:25:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46971,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25719:27:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25689:57:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25679:67:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46974,"nodeType":"ExpressionStatement","src":"25679:67:54"},{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":46977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46975,"name":"liquidityGrossBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46946,"src":"25761:20:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":46976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25785:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25761:25:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47001,"nodeType":"IfStatement","src":"25757:357:54","trueBody":{"id":47000,"nodeType":"Block","src":"25788:326:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":46983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46978,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46926,"src":"25918:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":46979,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46924,"src":"25926:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25931:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"25926:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":46981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25937:4:54","memberName":"tick","nodeType":"MemberAccess","referencedDeclaration":56676,"src":"25926:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_int24_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (int24)"}},"id":46982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25926:17:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"25918:25:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46999,"nodeType":"IfStatement","src":"25914:190:54","trueBody":{"id":46998,"nodeType":"Block","src":"25945:159:54","statements":[{"expression":{"id":46989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46984,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"25963:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"25968:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"25963:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46987,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46924,"src":"25992:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25997:20:54","memberName":"feeGrowthGlobal0X128","nodeType":"MemberAccess","referencedDeclaration":45564,"src":"25992:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25963:54:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46990,"nodeType":"ExpressionStatement","src":"25963:54:54"},{"expression":{"id":46996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":46991,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"26035:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":46993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"26040:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"26035:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":46994,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46924,"src":"26064:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":46995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26069:20:54","memberName":"feeGrowthGlobal1X128","nodeType":"MemberAccess","referencedDeclaration":45566,"src":"26064:25:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26035:54:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46997,"nodeType":"ExpressionStatement","src":"26035:54:54"}]}}]}},{"assignments":[47003],"declarations":[{"constant":false,"id":47003,"mutability":"mutable","name":"liquidityNet","nameLocation":"26329:12:54","nodeType":"VariableDeclaration","scope":47014,"src":"26322:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":47002,"name":"int128","nodeType":"ElementaryTypeName","src":"26322:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":47012,"initialValue":{"condition":{"id":47004,"name":"upper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46930,"src":"26344:5:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":47010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47008,"name":"liquidityNetBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46951,"src":"26390:18:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":47009,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46928,"src":"26411:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"26390:35:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":47011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26344:81:54","trueExpression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":47007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47005,"name":"liquidityNetBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46951,"src":"26352:18:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47006,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46928,"src":"26373:14:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"26352:35:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"26322:103:54"},{"AST":{"nativeSrc":"26460:705:54","nodeType":"YulBlock","src":"26460:705:54","statements":[{"expression":{"arguments":[{"name":"info.slot","nativeSrc":"26678:9:54","nodeType":"YulIdentifier","src":"26678:9:54"},{"arguments":[{"arguments":[{"name":"liquidityGrossAfter","nativeSrc":"26902:19:54","nodeType":"YulIdentifier","src":"26902:19:54"},{"kind":"number","nativeSrc":"26923:34:54","nodeType":"YulLiteral","src":"26923:34:54","type":"","value":"0xffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"26898:3:54","nodeType":"YulIdentifier","src":"26898:3:54"},"nativeSrc":"26898:60:54","nodeType":"YulFunctionCall","src":"26898:60:54"},{"arguments":[{"kind":"number","nativeSrc":"27105:3:54","nodeType":"YulLiteral","src":"27105:3:54","type":"","value":"128"},{"name":"liquidityNet","nativeSrc":"27110:12:54","nodeType":"YulIdentifier","src":"27110:12:54"}],"functionName":{"name":"shl","nativeSrc":"27101:3:54","nodeType":"YulIdentifier","src":"27101:3:54"},"nativeSrc":"27101:22:54","nodeType":"YulFunctionCall","src":"27101:22:54"}],"functionName":{"name":"or","nativeSrc":"26780:2:54","nodeType":"YulIdentifier","src":"26780:2:54"},"nativeSrc":"26780:361:54","nodeType":"YulFunctionCall","src":"26780:361:54"}],"functionName":{"name":"sstore","nativeSrc":"26654:6:54","nodeType":"YulIdentifier","src":"26654:6:54"},"nativeSrc":"26654:501:54","nodeType":"YulFunctionCall","src":"26654:501:54"},"nativeSrc":"26654:501:54","nodeType":"YulExpressionStatement","src":"26654:501:54"}]},"evmVersion":"cancun","externalReferences":[{"declaration":46939,"isOffset":false,"isSlot":true,"src":"26678:9:54","suffix":"slot","valueSize":1},{"declaration":46935,"isOffset":false,"isSlot":false,"src":"26902:19:54","valueSize":1},{"declaration":47003,"isOffset":false,"isSlot":false,"src":"27110:12:54","valueSize":1}],"flags":["memory-safe"],"id":47013,"nodeType":"InlineAssembly","src":"26435:730:54"}]},"documentation":{"id":46921,"nodeType":"StructuredDocumentation","src":"24509:727:54","text":"@notice Updates a tick and returns true if the tick was flipped from initialized to uninitialized, or vice versa\n @param self The mapping containing all tick information for initialized ticks\n @param tick The tick that will be updated\n @param liquidityDelta A new amount of liquidity to be added (subtracted) when tick is crossed from left to right (right to left)\n @param upper true for updating a position's upper tick, or false for updating a position's lower tick\n @return flipped Whether the tick was flipped from initialized to uninitialized, or vice versa\n @return liquidityGrossAfter The total amount of liquidity for all positions that references the tick after the update"},"id":47015,"implemented":true,"kind":"function","modifiers":[],"name":"updateTick","nameLocation":"25250:10:54","nodeType":"FunctionDefinition","parameters":{"id":46931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46924,"mutability":"mutable","name":"self","nameLocation":"25275:4:54","nodeType":"VariableDeclaration","scope":47015,"src":"25261:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":46923,"nodeType":"UserDefinedTypeName","pathNode":{"id":46922,"name":"State","nameLocations":["25261:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"25261:5:54"},"referencedDeclaration":45583,"src":"25261:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":46926,"mutability":"mutable","name":"tick","nameLocation":"25287:4:54","nodeType":"VariableDeclaration","scope":47015,"src":"25281:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":46925,"name":"int24","nodeType":"ElementaryTypeName","src":"25281:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":46928,"mutability":"mutable","name":"liquidityDelta","nameLocation":"25300:14:54","nodeType":"VariableDeclaration","scope":47015,"src":"25293:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":46927,"name":"int128","nodeType":"ElementaryTypeName","src":"25293:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":46930,"mutability":"mutable","name":"upper","nameLocation":"25321:5:54","nodeType":"VariableDeclaration","scope":47015,"src":"25316:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46929,"name":"bool","nodeType":"ElementaryTypeName","src":"25316:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25260:67:54"},"returnParameters":{"id":46936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46933,"mutability":"mutable","name":"flipped","nameLocation":"25367:7:54","nodeType":"VariableDeclaration","scope":47015,"src":"25362:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46932,"name":"bool","nodeType":"ElementaryTypeName","src":"25362:4:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46935,"mutability":"mutable","name":"liquidityGrossAfter","nameLocation":"25384:19:54","nodeType":"VariableDeclaration","scope":47015,"src":"25376:27:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":46934,"name":"uint128","nodeType":"ElementaryTypeName","src":"25376:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"25361:43:54"},"scope":47122,"src":"25241:1930:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":47034,"nodeType":"Block","src":"27665:853:54","statements":[{"assignments":[47024],"declarations":[{"constant":false,"id":47024,"mutability":"mutable","name":"MAX_TICK","nameLocation":"27996:8:54","nodeType":"VariableDeclaration","scope":47034,"src":"27990:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":47023,"name":"int24","nodeType":"ElementaryTypeName","src":"27990:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":47027,"initialValue":{"expression":{"id":47025,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"28007:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":47026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28016:8:54","memberName":"MAX_TICK","nodeType":"MemberAccess","referencedDeclaration":2615,"src":"28007:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"27990:34:54"},{"assignments":[47029],"declarations":[{"constant":false,"id":47029,"mutability":"mutable","name":"MIN_TICK","nameLocation":"28040:8:54","nodeType":"VariableDeclaration","scope":47034,"src":"28034:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":47028,"name":"int24","nodeType":"ElementaryTypeName","src":"28034:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":47032,"initialValue":{"expression":{"id":47030,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"28051:8:54","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":47031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28060:8:54","memberName":"MIN_TICK","nodeType":"MemberAccess","referencedDeclaration":2611,"src":"28051:17:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"28034:34:54"},{"AST":{"nativeSrc":"28180:332:54","nodeType":"YulBlock","src":"28180:332:54","statements":[{"nativeSrc":"28194:41:54","nodeType":"YulAssignment","src":"28194:41:54","value":{"arguments":[{"kind":"number","nativeSrc":"28220:1:54","nodeType":"YulLiteral","src":"28220:1:54","type":"","value":"2"},{"name":"tickSpacing","nativeSrc":"28223:11:54","nodeType":"YulIdentifier","src":"28223:11:54"}],"functionName":{"name":"signextend","nativeSrc":"28209:10:54","nodeType":"YulIdentifier","src":"28209:10:54"},"nativeSrc":"28209:26:54","nodeType":"YulFunctionCall","src":"28209:26:54"},"variableNames":[{"name":"tickSpacing","nativeSrc":"28194:11:54","nodeType":"YulIdentifier","src":"28194:11:54"}]},{"nativeSrc":"28248:84:54","nodeType":"YulVariableDeclaration","src":"28248:84:54","value":{"arguments":[{"arguments":[{"name":"MIN_TICK","nativeSrc":"28272:8:54","nodeType":"YulIdentifier","src":"28272:8:54"},{"name":"tickSpacing","nativeSrc":"28282:11:54","nodeType":"YulIdentifier","src":"28282:11:54"}],"functionName":{"name":"sdiv","nativeSrc":"28267:4:54","nodeType":"YulIdentifier","src":"28267:4:54"},"nativeSrc":"28267:27:54","nodeType":"YulFunctionCall","src":"28267:27:54"},{"arguments":[{"arguments":[{"name":"MIN_TICK","nativeSrc":"28305:8:54","nodeType":"YulIdentifier","src":"28305:8:54"},{"name":"tickSpacing","nativeSrc":"28315:11:54","nodeType":"YulIdentifier","src":"28315:11:54"}],"functionName":{"name":"smod","nativeSrc":"28300:4:54","nodeType":"YulIdentifier","src":"28300:4:54"},"nativeSrc":"28300:27:54","nodeType":"YulFunctionCall","src":"28300:27:54"},{"kind":"number","nativeSrc":"28329:1:54","nodeType":"YulLiteral","src":"28329:1:54","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"28296:3:54","nodeType":"YulIdentifier","src":"28296:3:54"},"nativeSrc":"28296:35:54","nodeType":"YulFunctionCall","src":"28296:35:54"}],"functionName":{"name":"sub","nativeSrc":"28263:3:54","nodeType":"YulIdentifier","src":"28263:3:54"},"nativeSrc":"28263:69:54","nodeType":"YulFunctionCall","src":"28263:69:54"},"variables":[{"name":"minTick","nativeSrc":"28252:7:54","nodeType":"YulTypedName","src":"28252:7:54","type":""}]},{"nativeSrc":"28345:42:54","nodeType":"YulVariableDeclaration","src":"28345:42:54","value":{"arguments":[{"name":"MAX_TICK","nativeSrc":"28365:8:54","nodeType":"YulIdentifier","src":"28365:8:54"},{"name":"tickSpacing","nativeSrc":"28375:11:54","nodeType":"YulIdentifier","src":"28375:11:54"}],"functionName":{"name":"sdiv","nativeSrc":"28360:4:54","nodeType":"YulIdentifier","src":"28360:4:54"},"nativeSrc":"28360:27:54","nodeType":"YulFunctionCall","src":"28360:27:54"},"variables":[{"name":"maxTick","nativeSrc":"28349:7:54","nodeType":"YulTypedName","src":"28349:7:54","type":""}]},{"nativeSrc":"28400:45:54","nodeType":"YulVariableDeclaration","src":"28400:45:54","value":{"arguments":[{"arguments":[{"name":"maxTick","nativeSrc":"28424:7:54","nodeType":"YulIdentifier","src":"28424:7:54"},{"name":"minTick","nativeSrc":"28433:7:54","nodeType":"YulIdentifier","src":"28433:7:54"}],"functionName":{"name":"sub","nativeSrc":"28420:3:54","nodeType":"YulIdentifier","src":"28420:3:54"},"nativeSrc":"28420:21:54","nodeType":"YulFunctionCall","src":"28420:21:54"},{"kind":"number","nativeSrc":"28443:1:54","nodeType":"YulLiteral","src":"28443:1:54","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"28416:3:54","nodeType":"YulIdentifier","src":"28416:3:54"},"nativeSrc":"28416:29:54","nodeType":"YulFunctionCall","src":"28416:29:54"},"variables":[{"name":"numTicks","nativeSrc":"28404:8:54","nodeType":"YulTypedName","src":"28404:8:54","type":""}]},{"nativeSrc":"28458:44:54","nodeType":"YulAssignment","src":"28458:44:54","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"28480:3:54","nodeType":"YulLiteral","src":"28480:3:54","type":"","value":"128"},{"kind":"number","nativeSrc":"28485:1:54","nodeType":"YulLiteral","src":"28485:1:54","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"28476:3:54","nodeType":"YulIdentifier","src":"28476:3:54"},"nativeSrc":"28476:11:54","nodeType":"YulFunctionCall","src":"28476:11:54"},{"kind":"number","nativeSrc":"28489:1:54","nodeType":"YulLiteral","src":"28489:1:54","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"28472:3:54","nodeType":"YulIdentifier","src":"28472:3:54"},"nativeSrc":"28472:19:54","nodeType":"YulFunctionCall","src":"28472:19:54"},{"name":"numTicks","nativeSrc":"28493:8:54","nodeType":"YulIdentifier","src":"28493:8:54"}],"functionName":{"name":"div","nativeSrc":"28468:3:54","nodeType":"YulIdentifier","src":"28468:3:54"},"nativeSrc":"28468:34:54","nodeType":"YulFunctionCall","src":"28468:34:54"},"variableNames":[{"name":"result","nativeSrc":"28458:6:54","nodeType":"YulIdentifier","src":"28458:6:54"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47024,"isOffset":false,"isSlot":false,"src":"28365:8:54","valueSize":1},{"declaration":47029,"isOffset":false,"isSlot":false,"src":"28272:8:54","valueSize":1},{"declaration":47029,"isOffset":false,"isSlot":false,"src":"28305:8:54","valueSize":1},{"declaration":47021,"isOffset":false,"isSlot":false,"src":"28458:6:54","valueSize":1},{"declaration":47018,"isOffset":false,"isSlot":false,"src":"28194:11:54","valueSize":1},{"declaration":47018,"isOffset":false,"isSlot":false,"src":"28223:11:54","valueSize":1},{"declaration":47018,"isOffset":false,"isSlot":false,"src":"28282:11:54","valueSize":1},{"declaration":47018,"isOffset":false,"isSlot":false,"src":"28315:11:54","valueSize":1},{"declaration":47018,"isOffset":false,"isSlot":false,"src":"28375:11:54","valueSize":1}],"flags":["memory-safe"],"id":47033,"nodeType":"InlineAssembly","src":"28155:357:54"}]},"documentation":{"id":47016,"nodeType":"StructuredDocumentation","src":"27177:383:54","text":"@notice Derives max liquidity per tick from given tick spacing\n @dev Executed when adding liquidity\n @param tickSpacing The amount of required tick separation, realized in multiples of `tickSpacing`\n     e.g., a tickSpacing of 3 requires ticks to be initialized every 3rd tick i.e., ..., -6, -3, 0, 3, 6, ...\n @return result The max liquidity per tick"},"id":47035,"implemented":true,"kind":"function","modifiers":[],"name":"tickSpacingToMaxLiquidityPerTick","nameLocation":"27574:32:54","nodeType":"FunctionDefinition","parameters":{"id":47019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47018,"mutability":"mutable","name":"tickSpacing","nameLocation":"27613:11:54","nodeType":"VariableDeclaration","scope":47035,"src":"27607:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":47017,"name":"int24","nodeType":"ElementaryTypeName","src":"27607:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"27606:19:54"},"returnParameters":{"id":47022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47021,"mutability":"mutable","name":"result","nameLocation":"27657:6:54","nodeType":"VariableDeclaration","scope":47035,"src":"27649:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47020,"name":"uint128","nodeType":"ElementaryTypeName","src":"27649:7:54","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"27648:16:54"},"scope":47122,"src":"27565:953:54","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47056,"nodeType":"Block","src":"28655:93:54","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47042,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47039,"src":"28669:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":47043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28674:5:54","memberName":"slot0","nodeType":"MemberAccess","referencedDeclaration":45562,"src":"28669:10:54","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"id":47044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28680:12:54","memberName":"sqrtPriceX96","nodeType":"MemberAccess","referencedDeclaration":56666,"src":"28669:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Slot0_$56636_$returns$_t_uint160_$attached_to$_t_userDefinedValueType$_Slot0_$56636_$","typeString":"function (Slot0) pure returns (uint160)"}},"id":47045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28669:25:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28698:1:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28669:30:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47055,"nodeType":"IfStatement","src":"28665:76:54","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47048,"name":"PoolNotInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45531,"src":"28701:18:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28720:8:54","memberName":"selector","nodeType":"MemberAccess","src":"28701:27:54","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28729:10:54","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"28701:38:54","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28701:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47054,"nodeType":"ExpressionStatement","src":"28701:40:54"}}]},"documentation":{"id":47036,"nodeType":"StructuredDocumentation","src":"28524:62:54","text":"@notice Reverts if the given pool has not been initialized"},"id":47057,"implemented":true,"kind":"function","modifiers":[],"name":"checkPoolInitialized","nameLocation":"28600:20:54","nodeType":"FunctionDefinition","parameters":{"id":47040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47039,"mutability":"mutable","name":"self","nameLocation":"28635:4:54","nodeType":"VariableDeclaration","scope":47057,"src":"28621:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":47038,"nodeType":"UserDefinedTypeName","pathNode":{"id":47037,"name":"State","nameLocations":["28621:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"28621:5:54"},"referencedDeclaration":45583,"src":"28621:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"}],"src":"28620:20:54"},"returnParameters":{"id":47041,"nodeType":"ParameterList","parameters":[],"src":"28655:0:54"},"scope":47122,"src":"28591:157:54","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":47072,"nodeType":"Block","src":"28995:40:54","statements":[{"expression":{"id":47070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"29005:23:54","subExpression":{"baseExpression":{"expression":{"id":47066,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47061,"src":"29012:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":47067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29017:5:54","memberName":"ticks","nodeType":"MemberAccess","referencedDeclaration":45573,"src":"29012:10:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo storage ref)"}},"id":47069,"indexExpression":{"id":47068,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47063,"src":"29023:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29012:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage","typeString":"struct Pool.TickInfo storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47071,"nodeType":"ExpressionStatement","src":"29005:23:54"}]},"documentation":{"id":47058,"nodeType":"StructuredDocumentation","src":"28754:176:54","text":"@notice Clears tick data\n @param self The mapping containing all initialized tick information for initialized ticks\n @param tick The tick that will be cleared"},"id":47073,"implemented":true,"kind":"function","modifiers":[],"name":"clearTick","nameLocation":"28944:9:54","nodeType":"FunctionDefinition","parameters":{"id":47064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47061,"mutability":"mutable","name":"self","nameLocation":"28968:4:54","nodeType":"VariableDeclaration","scope":47073,"src":"28954:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":47060,"nodeType":"UserDefinedTypeName","pathNode":{"id":47059,"name":"State","nameLocations":["28954:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"28954:5:54"},"referencedDeclaration":45583,"src":"28954:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":47063,"mutability":"mutable","name":"tick","nameLocation":"28980:4:54","nodeType":"VariableDeclaration","scope":47073,"src":"28974:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":47062,"name":"int24","nodeType":"ElementaryTypeName","src":"28974:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"28953:32:54"},"returnParameters":{"id":47065,"nodeType":"ParameterList","parameters":[],"src":"28995:0:54"},"scope":47122,"src":"28935:100:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":47120,"nodeType":"Block","src":"29711:321:54","statements":[{"id":47119,"nodeType":"UncheckedBlock","src":"29721:305:54","statements":[{"assignments":[47090],"declarations":[{"constant":false,"id":47090,"mutability":"mutable","name":"info","nameLocation":"29762:4:54","nodeType":"VariableDeclaration","scope":47119,"src":"29745:21:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"},"typeName":{"id":47089,"nodeType":"UserDefinedTypeName","pathNode":{"id":47088,"name":"TickInfo","nameLocations":["29745:8:54"],"nodeType":"IdentifierPath","referencedDeclaration":45558,"src":"29745:8:54"},"referencedDeclaration":45558,"src":"29745:8:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo"}},"visibility":"internal"}],"id":47095,"initialValue":{"baseExpression":{"expression":{"id":47091,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47077,"src":"29769:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State storage pointer"}},"id":47092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29774:5:54","memberName":"ticks","nodeType":"MemberAccess","referencedDeclaration":45573,"src":"29769:10:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int24_$_t_struct$_TickInfo_$45558_storage_$","typeString":"mapping(int24 => struct Pool.TickInfo storage ref)"}},"id":47094,"indexExpression":{"id":47093,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47079,"src":"29780:4:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29769:16:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage","typeString":"struct Pool.TickInfo storage ref"}},"nodeType":"VariableDeclarationStatement","src":"29745:40:54"},{"expression":{"id":47103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":47096,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47090,"src":"29799:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":47098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"29804:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"29799:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47099,"name":"feeGrowthGlobal0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47081,"src":"29828:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":47100,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47090,"src":"29851:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":47101,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29856:21:54","memberName":"feeGrowthOutside0X128","nodeType":"MemberAccess","referencedDeclaration":45555,"src":"29851:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29828:49:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29799:78:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47104,"nodeType":"ExpressionStatement","src":"29799:78:54"},{"expression":{"id":47112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":47105,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47090,"src":"29891:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":47107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"29896:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"29891:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47108,"name":"feeGrowthGlobal1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47083,"src":"29920:20:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":47109,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47090,"src":"29943:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":47110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29948:21:54","memberName":"feeGrowthOutside1X128","nodeType":"MemberAccess","referencedDeclaration":45557,"src":"29943:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29920:49:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29891:78:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47113,"nodeType":"ExpressionStatement","src":"29891:78:54"},{"expression":{"id":47117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47114,"name":"liquidityNet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47086,"src":"29983:12:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":47115,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47090,"src":"29998:4:54","typeDescriptions":{"typeIdentifier":"t_struct$_TickInfo_$45558_storage_ptr","typeString":"struct Pool.TickInfo storage pointer"}},"id":47116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30003:12:54","memberName":"liquidityNet","nodeType":"MemberAccess","referencedDeclaration":45553,"src":"29998:17:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"29983:32:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":47118,"nodeType":"ExpressionStatement","src":"29983:32:54"}]}]},"documentation":{"id":47074,"nodeType":"StructuredDocumentation","src":"29041:495:54","text":"@notice Transitions to next tick as needed by price movement\n @param self The Pool state struct\n @param tick The destination tick of the transition\n @param feeGrowthGlobal0X128 The all-time global fee growth, per unit of liquidity, in token0\n @param feeGrowthGlobal1X128 The all-time global fee growth, per unit of liquidity, in token1\n @return liquidityNet The amount of liquidity added (subtracted) when tick is crossed from left to right (right to left)"},"id":47121,"implemented":true,"kind":"function","modifiers":[],"name":"crossTick","nameLocation":"29550:9:54","nodeType":"FunctionDefinition","parameters":{"id":47084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47077,"mutability":"mutable","name":"self","nameLocation":"29574:4:54","nodeType":"VariableDeclaration","scope":47121,"src":"29560:18:54","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"},"typeName":{"id":47076,"nodeType":"UserDefinedTypeName","pathNode":{"id":47075,"name":"State","nameLocations":["29560:5:54"],"nodeType":"IdentifierPath","referencedDeclaration":45583,"src":"29560:5:54"},"referencedDeclaration":45583,"src":"29560:5:54","typeDescriptions":{"typeIdentifier":"t_struct$_State_$45583_storage_ptr","typeString":"struct Pool.State"}},"visibility":"internal"},{"constant":false,"id":47079,"mutability":"mutable","name":"tick","nameLocation":"29586:4:54","nodeType":"VariableDeclaration","scope":47121,"src":"29580:10:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":47078,"name":"int24","nodeType":"ElementaryTypeName","src":"29580:5:54","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":47081,"mutability":"mutable","name":"feeGrowthGlobal0X128","nameLocation":"29600:20:54","nodeType":"VariableDeclaration","scope":47121,"src":"29592:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47080,"name":"uint256","nodeType":"ElementaryTypeName","src":"29592:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47083,"mutability":"mutable","name":"feeGrowthGlobal1X128","nameLocation":"29630:20:54","nodeType":"VariableDeclaration","scope":47121,"src":"29622:28:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47082,"name":"uint256","nodeType":"ElementaryTypeName","src":"29622:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29559:92:54"},"returnParameters":{"id":47087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47086,"mutability":"mutable","name":"liquidityNet","nameLocation":"29693:12:54","nodeType":"VariableDeclaration","scope":47121,"src":"29686:19:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":47085,"name":"int128","nodeType":"ElementaryTypeName","src":"29686:6:54","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"29685:21:54"},"scope":47122,"src":"29541:491:54","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":47123,"src":"835:29199:54","usedErrors":[45510,45515,45520,45525,45528,45531,45538,45543,45546,45549],"usedEvents":[]}],"src":"37:29998:54"},"id":54},"v4-core/src/libraries/Position.sol":{"ast":{"absolutePath":"v4-core/src/libraries/Position.sol","exportedSymbols":{"CustomRevert":[45214],"FixedPoint128":[45221],"FullMath":[45389],"LiquidityMath":[45405],"Position":[1929]},"id":1930,"license":"BUSL-1.1","nodeType":"SourceUnit","nodes":[{"id":1765,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"37:23:55"},{"absolutePath":"v4-core/src/libraries/FullMath.sol","file":"./FullMath.sol","id":1767,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1930,"sourceUnit":45390,"src":"62:40:55","symbolAliases":[{"foreign":{"id":1766,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"70:8:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/FixedPoint128.sol","file":"./FixedPoint128.sol","id":1769,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1930,"sourceUnit":45222,"src":"103:50:55","symbolAliases":[{"foreign":{"id":1768,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"111:13:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LiquidityMath.sol","file":"./LiquidityMath.sol","id":1771,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1930,"sourceUnit":45406,"src":"154:50:55","symbolAliases":[{"foreign":{"id":1770,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"162:13:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":1773,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1930,"sourceUnit":45215,"src":"205:48:55","symbolAliases":[{"foreign":{"id":1772,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"213:12:55","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Position","contractDependencies":[],"contractKind":"library","documentation":{"id":1774,"nodeType":"StructuredDocumentation","src":"255:201:55","text":"@title Position\n @notice Positions represent an owner address' liquidity between a lower and upper tick boundary\n @dev Positions store additional state for tracking fees owed to the position"},"fullyImplemented":true,"id":1929,"linearizedBaseContracts":[1929],"name":"Position","nameLocation":"464:8:55","nodeType":"ContractDefinition","nodes":[{"global":false,"id":1777,"libraryName":{"id":1775,"name":"CustomRevert","nameLocations":["485:12:55"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"485:12:55"},"nodeType":"UsingForDirective","src":"479:30:55","typeName":{"id":1776,"name":"bytes4","nodeType":"ElementaryTypeName","src":"502:6:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"documentation":{"id":1778,"nodeType":"StructuredDocumentation","src":"515:54:55","text":"@notice Cannot update a position with no liquidity"},"errorSelector":"aefeb924","id":1780,"name":"CannotUpdateEmptyPosition","nameLocation":"580:25:55","nodeType":"ErrorDefinition","parameters":{"id":1779,"nodeType":"ParameterList","parameters":[],"src":"605:2:55"},"src":"574:34:55"},{"canonicalName":"Position.State","id":1787,"members":[{"constant":false,"id":1782,"mutability":"mutable","name":"liquidity","nameLocation":"747:9:55","nodeType":"VariableDeclaration","scope":1787,"src":"739:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":1781,"name":"uint128","nodeType":"ElementaryTypeName","src":"739:7:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":1784,"mutability":"mutable","name":"feeGrowthInside0LastX128","nameLocation":"866:24:55","nodeType":"VariableDeclaration","scope":1787,"src":"858:32:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1783,"name":"uint256","nodeType":"ElementaryTypeName","src":"858:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1786,"mutability":"mutable","name":"feeGrowthInside1LastX128","nameLocation":"908:24:55","nodeType":"VariableDeclaration","scope":1787,"src":"900:32:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1785,"name":"uint256","nodeType":"ElementaryTypeName","src":"900:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"State","nameLocation":"665:5:55","nodeType":"StructDefinition","scope":1929,"src":"658:281:55","visibility":"public"},{"body":{"id":1822,"nodeType":"Block","src":"1655:132:55","statements":[{"assignments":[1808],"declarations":[{"constant":false,"id":1808,"mutability":"mutable","name":"positionKey","nameLocation":"1673:11:55","nodeType":"VariableDeclaration","scope":1822,"src":"1665:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1665:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1815,"initialValue":{"arguments":[{"id":1810,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"1708:5:55","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1811,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1797,"src":"1715:9:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1812,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1799,"src":"1726:9:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1813,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1801,"src":"1737:4:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1809,"name":"calculatePositionKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1687:20:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,int24,int24,bytes32) pure returns (bytes32)"}},"id":1814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1687:55:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1665:77:55"},{"expression":{"id":1820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1816,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"1752:8:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":1817,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1793,"src":"1763:4:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State storage ref)"}},"id":1819,"indexExpression":{"id":1818,"name":"positionKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1808,"src":"1768:11:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1763:17:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage","typeString":"struct Position.State storage ref"}},"src":"1752:28:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1821,"nodeType":"ExpressionStatement","src":"1752:28:55"}]},"documentation":{"id":1788,"nodeType":"StructuredDocumentation","src":"945:514:55","text":"@notice Returns the State struct of a position, given an owner and position boundaries\n @param self The mapping containing all user positions\n @param owner The address of the position owner\n @param tickLower The lower tick boundary of the position\n @param tickUpper The upper tick boundary of the position\n @param salt A unique value to differentiate between multiple positions in the same range\n @return position The position info struct of the given owners' position"},"id":1823,"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"1473:3:55","nodeType":"FunctionDefinition","parameters":{"id":1802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1793,"mutability":"mutable","name":"self","nameLocation":"1511:4:55","nodeType":"VariableDeclaration","scope":1823,"src":"1477:38:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State)"},"typeName":{"id":1792,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1485:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1477:25:55","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_State_$1787_storage_$","typeString":"mapping(bytes32 => struct Position.State)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1791,"nodeType":"UserDefinedTypeName","pathNode":{"id":1790,"name":"State","nameLocations":["1496:5:55"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"1496:5:55"},"referencedDeclaration":1787,"src":"1496:5:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}}},"visibility":"internal"},{"constant":false,"id":1795,"mutability":"mutable","name":"owner","nameLocation":"1525:5:55","nodeType":"VariableDeclaration","scope":1823,"src":"1517:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1794,"name":"address","nodeType":"ElementaryTypeName","src":"1517:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1797,"mutability":"mutable","name":"tickLower","nameLocation":"1538:9:55","nodeType":"VariableDeclaration","scope":1823,"src":"1532:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1796,"name":"int24","nodeType":"ElementaryTypeName","src":"1532:5:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1799,"mutability":"mutable","name":"tickUpper","nameLocation":"1555:9:55","nodeType":"VariableDeclaration","scope":1823,"src":"1549:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1798,"name":"int24","nodeType":"ElementaryTypeName","src":"1549:5:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1801,"mutability":"mutable","name":"salt","nameLocation":"1574:4:55","nodeType":"VariableDeclaration","scope":1823,"src":"1566:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1566:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1476:103:55"},"returnParameters":{"id":1806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1805,"mutability":"mutable","name":"position","nameLocation":"1641:8:55","nodeType":"VariableDeclaration","scope":1823,"src":"1627:22:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"},"typeName":{"id":1804,"nodeType":"UserDefinedTypeName","pathNode":{"id":1803,"name":"State","nameLocations":["1627:5:55"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"1627:5:55"},"referencedDeclaration":1787,"src":"1627:5:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}},"visibility":"internal"}],"src":"1626:24:55"},"scope":1929,"src":"1464:323:55","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1838,"nodeType":"Block","src":"2349:713:55","statements":[{"AST":{"nativeSrc":"2472:584:55","nodeType":"YulBlock","src":"2472:584:55","statements":[{"nativeSrc":"2486:22:55","nodeType":"YulVariableDeclaration","src":"2486:22:55","value":{"arguments":[{"kind":"number","nativeSrc":"2503:4:55","nodeType":"YulLiteral","src":"2503:4:55","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2497:5:55","nodeType":"YulIdentifier","src":"2497:5:55"},"nativeSrc":"2497:11:55","nodeType":"YulFunctionCall","src":"2497:11:55"},"variables":[{"name":"fmp","nativeSrc":"2490:3:55","nodeType":"YulTypedName","src":"2490:3:55","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2532:3:55","nodeType":"YulIdentifier","src":"2532:3:55"},{"kind":"number","nativeSrc":"2537:4:55","nodeType":"YulLiteral","src":"2537:4:55","type":"","value":"0x26"}],"functionName":{"name":"add","nativeSrc":"2528:3:55","nodeType":"YulIdentifier","src":"2528:3:55"},"nativeSrc":"2528:14:55","nodeType":"YulFunctionCall","src":"2528:14:55"},{"name":"salt","nativeSrc":"2544:4:55","nodeType":"YulIdentifier","src":"2544:4:55"}],"functionName":{"name":"mstore","nativeSrc":"2521:6:55","nodeType":"YulIdentifier","src":"2521:6:55"},"nativeSrc":"2521:28:55","nodeType":"YulFunctionCall","src":"2521:28:55"},"nativeSrc":"2521:28:55","nodeType":"YulExpressionStatement","src":"2521:28:55"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2589:3:55","nodeType":"YulIdentifier","src":"2589:3:55"},{"kind":"number","nativeSrc":"2594:4:55","nodeType":"YulLiteral","src":"2594:4:55","type":"","value":"0x06"}],"functionName":{"name":"add","nativeSrc":"2585:3:55","nodeType":"YulIdentifier","src":"2585:3:55"},"nativeSrc":"2585:14:55","nodeType":"YulFunctionCall","src":"2585:14:55"},{"name":"tickUpper","nativeSrc":"2601:9:55","nodeType":"YulIdentifier","src":"2601:9:55"}],"functionName":{"name":"mstore","nativeSrc":"2578:6:55","nodeType":"YulIdentifier","src":"2578:6:55"},"nativeSrc":"2578:33:55","nodeType":"YulFunctionCall","src":"2578:33:55"},"nativeSrc":"2578:33:55","nodeType":"YulExpressionStatement","src":"2578:33:55"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2651:3:55","nodeType":"YulIdentifier","src":"2651:3:55"},{"kind":"number","nativeSrc":"2656:4:55","nodeType":"YulLiteral","src":"2656:4:55","type":"","value":"0x03"}],"functionName":{"name":"add","nativeSrc":"2647:3:55","nodeType":"YulIdentifier","src":"2647:3:55"},"nativeSrc":"2647:14:55","nodeType":"YulFunctionCall","src":"2647:14:55"},{"name":"tickLower","nativeSrc":"2663:9:55","nodeType":"YulIdentifier","src":"2663:9:55"}],"functionName":{"name":"mstore","nativeSrc":"2640:6:55","nodeType":"YulIdentifier","src":"2640:6:55"},"nativeSrc":"2640:33:55","nodeType":"YulFunctionCall","src":"2640:33:55"},"nativeSrc":"2640:33:55","nodeType":"YulExpressionStatement","src":"2640:33:55"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2709:3:55","nodeType":"YulIdentifier","src":"2709:3:55"},{"name":"owner","nativeSrc":"2714:5:55","nodeType":"YulIdentifier","src":"2714:5:55"}],"functionName":{"name":"mstore","nativeSrc":"2702:6:55","nodeType":"YulIdentifier","src":"2702:6:55"},"nativeSrc":"2702:18:55","nodeType":"YulFunctionCall","src":"2702:18:55"},"nativeSrc":"2702:18:55","nodeType":"YulExpressionStatement","src":"2702:18:55"},{"nativeSrc":"2749:46:55","nodeType":"YulAssignment","src":"2749:46:55","value":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2778:3:55","nodeType":"YulIdentifier","src":"2778:3:55"},{"kind":"number","nativeSrc":"2783:4:55","nodeType":"YulLiteral","src":"2783:4:55","type":"","value":"0x0c"}],"functionName":{"name":"add","nativeSrc":"2774:3:55","nodeType":"YulIdentifier","src":"2774:3:55"},"nativeSrc":"2774:14:55","nodeType":"YulFunctionCall","src":"2774:14:55"},{"kind":"number","nativeSrc":"2790:4:55","nodeType":"YulLiteral","src":"2790:4:55","type":"","value":"0x3a"}],"functionName":{"name":"keccak256","nativeSrc":"2764:9:55","nodeType":"YulIdentifier","src":"2764:9:55"},"nativeSrc":"2764:31:55","nodeType":"YulFunctionCall","src":"2764:31:55"},"variableNames":[{"name":"positionKey","nativeSrc":"2749:11:55","nodeType":"YulIdentifier","src":"2749:11:55"}]},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2883:3:55","nodeType":"YulIdentifier","src":"2883:3:55"},{"kind":"number","nativeSrc":"2888:4:55","nodeType":"YulLiteral","src":"2888:4:55","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"2879:3:55","nodeType":"YulIdentifier","src":"2879:3:55"},"nativeSrc":"2879:14:55","nodeType":"YulFunctionCall","src":"2879:14:55"},{"kind":"number","nativeSrc":"2895:1:55","nodeType":"YulLiteral","src":"2895:1:55","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"2872:6:55","nodeType":"YulIdentifier","src":"2872:6:55"},"nativeSrc":"2872:25:55","nodeType":"YulFunctionCall","src":"2872:25:55"},"nativeSrc":"2872:25:55","nodeType":"YulExpressionStatement","src":"2872:25:55"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2943:3:55","nodeType":"YulIdentifier","src":"2943:3:55"},{"kind":"number","nativeSrc":"2948:4:55","nodeType":"YulLiteral","src":"2948:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2939:3:55","nodeType":"YulIdentifier","src":"2939:3:55"},"nativeSrc":"2939:14:55","nodeType":"YulFunctionCall","src":"2939:14:55"},{"kind":"number","nativeSrc":"2955:1:55","nodeType":"YulLiteral","src":"2955:1:55","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"2932:6:55","nodeType":"YulIdentifier","src":"2932:6:55"},"nativeSrc":"2932:25:55","nodeType":"YulFunctionCall","src":"2932:25:55"},"nativeSrc":"2932:25:55","nodeType":"YulExpressionStatement","src":"2932:25:55"},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"3021:3:55","nodeType":"YulIdentifier","src":"3021:3:55"},{"kind":"number","nativeSrc":"3026:1:55","nodeType":"YulLiteral","src":"3026:1:55","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"3014:6:55","nodeType":"YulIdentifier","src":"3014:6:55"},"nativeSrc":"3014:14:55","nodeType":"YulFunctionCall","src":"3014:14:55"},"nativeSrc":"3014:14:55","nodeType":"YulExpressionStatement","src":"3014:14:55"}]},"evmVersion":"cancun","externalReferences":[{"declaration":1826,"isOffset":false,"isSlot":false,"src":"2714:5:55","valueSize":1},{"declaration":1835,"isOffset":false,"isSlot":false,"src":"2749:11:55","valueSize":1},{"declaration":1832,"isOffset":false,"isSlot":false,"src":"2544:4:55","valueSize":1},{"declaration":1828,"isOffset":false,"isSlot":false,"src":"2663:9:55","valueSize":1},{"declaration":1830,"isOffset":false,"isSlot":false,"src":"2601:9:55","valueSize":1}],"flags":["memory-safe"],"id":1837,"nodeType":"InlineAssembly","src":"2447:609:55"}]},"documentation":{"id":1824,"nodeType":"StructuredDocumentation","src":"1793:386:55","text":"@notice A helper function to calculate the position key\n @param owner The address of the position owner\n @param tickLower the lower tick boundary of the position\n @param tickUpper the upper tick boundary of the position\n @param salt A unique value to differentiate between multiple positions in the same range, by the same owner. Passed in by the caller."},"id":1839,"implemented":true,"kind":"function","modifiers":[],"name":"calculatePositionKey","nameLocation":"2193:20:55","nodeType":"FunctionDefinition","parameters":{"id":1833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1826,"mutability":"mutable","name":"owner","nameLocation":"2222:5:55","nodeType":"VariableDeclaration","scope":1839,"src":"2214:13:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1825,"name":"address","nodeType":"ElementaryTypeName","src":"2214:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1828,"mutability":"mutable","name":"tickLower","nameLocation":"2235:9:55","nodeType":"VariableDeclaration","scope":1839,"src":"2229:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1827,"name":"int24","nodeType":"ElementaryTypeName","src":"2229:5:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1830,"mutability":"mutable","name":"tickUpper","nameLocation":"2252:9:55","nodeType":"VariableDeclaration","scope":1839,"src":"2246:15:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1829,"name":"int24","nodeType":"ElementaryTypeName","src":"2246:5:55","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1832,"mutability":"mutable","name":"salt","nameLocation":"2271:4:55","nodeType":"VariableDeclaration","scope":1839,"src":"2263:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2263:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2213:63:55"},"returnParameters":{"id":1836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1835,"mutability":"mutable","name":"positionKey","nameLocation":"2332:11:55","nodeType":"VariableDeclaration","scope":1839,"src":"2324:19:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2323:21:55"},"scope":1929,"src":"2184:878:55","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1927,"nodeType":"Block","src":"3915:895:55","statements":[{"assignments":[1857],"declarations":[{"constant":false,"id":1857,"mutability":"mutable","name":"liquidity","nameLocation":"3933:9:55","nodeType":"VariableDeclaration","scope":1927,"src":"3925:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":1856,"name":"uint128","nodeType":"ElementaryTypeName","src":"3925:7:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":1860,"initialValue":{"expression":{"id":1858,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"3945:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3950:9:55","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":1782,"src":"3945:14:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"3925:34:55"},{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1861,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"3974:14:55","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3992:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3974:19:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1886,"nodeType":"Block","src":"4149:91:55","statements":[{"expression":{"id":1884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1876,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"4163:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1878,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4168:9:55","memberName":"liquidity","nodeType":"MemberAccess","referencedDeclaration":1782,"src":"4163:14:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1881,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1857,"src":"4203:9:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":1882,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1845,"src":"4214:14:55","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"expression":{"id":1879,"name":"LiquidityMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45405,"src":"4180:13:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityMath_$45405_$","typeString":"type(library LiquidityMath)"}},"id":1880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4194:8:55","memberName":"addDelta","nodeType":"MemberAccess","referencedDeclaration":45404,"src":"4180:22:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint128_$_t_int128_$returns$_t_uint128_$","typeString":"function (uint128,int128) pure returns (uint128)"}},"id":1883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4180:49:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"4163:66:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":1885,"nodeType":"ExpressionStatement","src":"4163:66:55"}]},"id":1887,"nodeType":"IfStatement","src":"3970:270:55","trueBody":{"id":1875,"nodeType":"Block","src":"3995:148:55","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":1866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1864,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1857,"src":"4069:9:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4082:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4069:14:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1874,"nodeType":"IfStatement","src":"4065:67:55","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":1867,"name":"CannotUpdateEmptyPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"4085:25:55","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4111:8:55","memberName":"selector","nodeType":"MemberAccess","src":"4085:34:55","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":1871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4120:10:55","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"4085:45:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":1872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:47:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1873,"nodeType":"ExpressionStatement","src":"4085:47:55"}}]}},{"id":1914,"nodeType":"UncheckedBlock","src":"4343:305:55","statements":[{"expression":{"id":1899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1888,"name":"feesOwed0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1852,"src":"4367:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1891,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1847,"src":"4411:20:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":1892,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"4434:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4439:24:55","memberName":"feeGrowthInside0LastX128","nodeType":"MemberAccess","referencedDeclaration":1784,"src":"4434:29:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4411:52:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1895,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1857,"src":"4465:9:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"expression":{"id":1896,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"4476:13:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint128_$45221_$","typeString":"type(library FixedPoint128)"}},"id":1897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4490:4:55","memberName":"Q128","nodeType":"MemberAccess","referencedDeclaration":45220,"src":"4476:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1889,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4395:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":1890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4404:6:55","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"4395:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4395:100:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4367:128:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1900,"nodeType":"ExpressionStatement","src":"4367:128:55"},{"expression":{"id":1912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1901,"name":"feesOwed1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1854,"src":"4509:9:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1904,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"4553:20:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":1905,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"4576:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4581:24:55","memberName":"feeGrowthInside1LastX128","nodeType":"MemberAccess","referencedDeclaration":1786,"src":"4576:29:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4553:52:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1908,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1857,"src":"4607:9:55","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"expression":{"id":1909,"name":"FixedPoint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45221,"src":"4618:13:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint128_$45221_$","typeString":"type(library FixedPoint128)"}},"id":1910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4632:4:55","memberName":"Q128","nodeType":"MemberAccess","referencedDeclaration":45220,"src":"4618:18:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1902,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4537:8:55","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":1903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4546:6:55","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"4537:15:55","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":1911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4537:100:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4509:128:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1913,"nodeType":"ExpressionStatement","src":"4509:128:55"}]},{"expression":{"id":1919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1915,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"4689:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4694:24:55","memberName":"feeGrowthInside0LastX128","nodeType":"MemberAccess","referencedDeclaration":1784,"src":"4689:29:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1918,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1847,"src":"4721:20:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4689:52:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1920,"nodeType":"ExpressionStatement","src":"4689:52:55"},{"expression":{"id":1925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1921,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1843,"src":"4751:4:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State storage pointer"}},"id":1923,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4756:24:55","memberName":"feeGrowthInside1LastX128","nodeType":"MemberAccess","referencedDeclaration":1786,"src":"4751:29:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1924,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"4783:20:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4751:52:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1926,"nodeType":"ExpressionStatement","src":"4751:52:55"}]},"documentation":{"id":1840,"nodeType":"StructuredDocumentation","src":"3068:629:55","text":"@notice Credits accumulated fees to a user's position\n @param self The individual position to update\n @param liquidityDelta The change in pool liquidity as a result of the position update\n @param feeGrowthInside0X128 The all-time fee growth in currency0, per unit of liquidity, inside the position's tick boundaries\n @param feeGrowthInside1X128 The all-time fee growth in currency1, per unit of liquidity, inside the position's tick boundaries\n @return feesOwed0 The amount of currency0 owed to the position owner\n @return feesOwed1 The amount of currency1 owed to the position owner"},"id":1928,"implemented":true,"kind":"function","modifiers":[],"name":"update","nameLocation":"3711:6:55","nodeType":"FunctionDefinition","parameters":{"id":1850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1843,"mutability":"mutable","name":"self","nameLocation":"3741:4:55","nodeType":"VariableDeclaration","scope":1928,"src":"3727:18:55","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"},"typeName":{"id":1842,"nodeType":"UserDefinedTypeName","pathNode":{"id":1841,"name":"State","nameLocations":["3727:5:55"],"nodeType":"IdentifierPath","referencedDeclaration":1787,"src":"3727:5:55"},"referencedDeclaration":1787,"src":"3727:5:55","typeDescriptions":{"typeIdentifier":"t_struct$_State_$1787_storage_ptr","typeString":"struct Position.State"}},"visibility":"internal"},{"constant":false,"id":1845,"mutability":"mutable","name":"liquidityDelta","nameLocation":"3762:14:55","nodeType":"VariableDeclaration","scope":1928,"src":"3755:21:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":1844,"name":"int128","nodeType":"ElementaryTypeName","src":"3755:6:55","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":1847,"mutability":"mutable","name":"feeGrowthInside0X128","nameLocation":"3794:20:55","nodeType":"VariableDeclaration","scope":1928,"src":"3786:28:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1846,"name":"uint256","nodeType":"ElementaryTypeName","src":"3786:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1849,"mutability":"mutable","name":"feeGrowthInside1X128","nameLocation":"3832:20:55","nodeType":"VariableDeclaration","scope":1928,"src":"3824:28:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1848,"name":"uint256","nodeType":"ElementaryTypeName","src":"3824:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3717:141:55"},"returnParameters":{"id":1855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1852,"mutability":"mutable","name":"feesOwed0","nameLocation":"3885:9:55","nodeType":"VariableDeclaration","scope":1928,"src":"3877:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1851,"name":"uint256","nodeType":"ElementaryTypeName","src":"3877:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1854,"mutability":"mutable","name":"feesOwed1","nameLocation":"3904:9:55","nodeType":"VariableDeclaration","scope":1928,"src":"3896:17:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1853,"name":"uint256","nodeType":"ElementaryTypeName","src":"3896:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3876:38:55"},"scope":1929,"src":"3702:1108:55","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":1930,"src":"456:4356:55","usedErrors":[1780],"usedEvents":[]}],"src":"37:4776:55"},"id":55},"v4-core/src/libraries/ProtocolFeeLibrary.sol":{"ast":{"absolutePath":"v4-core/src/libraries/ProtocolFeeLibrary.sol","exportedSymbols":{"ProtocolFeeLibrary":[55627]},"id":55628,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":55557,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:56"},{"abstract":false,"baseContracts":[],"canonicalName":"ProtocolFeeLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":55558,"nodeType":"StructuredDocumentation","src":"57:58:56","text":"@notice library of functions related to protocol fees"},"fullyImplemented":true,"id":55627,"linearizedBaseContracts":[55627],"name":"ProtocolFeeLibrary","nameLocation":"123:18:56","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":55559,"nodeType":"StructuredDocumentation","src":"148:121:56","text":"@notice Max protocol fee is 0.1% (1000 pips)\n @dev Increasing these values could lead to overflow in Pool.swap"},"functionSelector":"b8ca3b83","id":55562,"mutability":"constant","name":"MAX_PROTOCOL_FEE","nameLocation":"297:16:56","nodeType":"VariableDeclaration","scope":55627,"src":"274:46:56","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":55560,"name":"uint16","nodeType":"ElementaryTypeName","src":"274:6:56","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"31303030","id":55561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316:4:56","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"constant":true,"documentation":{"id":55563,"nodeType":"StructuredDocumentation","src":"327:72:56","text":"@notice Thresholds used for optimized bounds checks on protocol fees"},"id":55566,"mutability":"constant","name":"FEE_0_THRESHOLD","nameLocation":"429:15:56","nodeType":"VariableDeclaration","scope":55627,"src":"404:47:56","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55564,"name":"uint24","nodeType":"ElementaryTypeName","src":"404:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"31303031","id":55565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"447:4:56","typeDescriptions":{"typeIdentifier":"t_rational_1001_by_1","typeString":"int_const 1001"},"value":"1001"},"visibility":"internal"},{"constant":true,"id":55571,"mutability":"constant","name":"FEE_1_THRESHOLD","nameLocation":"482:15:56","nodeType":"VariableDeclaration","scope":55627,"src":"457:53:56","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55567,"name":"uint24","nodeType":"ElementaryTypeName","src":"457:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"commonType":{"typeIdentifier":"t_rational_4100096_by_1","typeString":"int_const 4100096"},"id":55570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303031","id":55568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"500:4:56","typeDescriptions":{"typeIdentifier":"t_rational_1001_by_1","typeString":"int_const 1001"},"value":"1001"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3132","id":55569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"508:2:56","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"src":"500:10:56","typeDescriptions":{"typeIdentifier":"t_rational_4100096_by_1","typeString":"int_const 4100096"}},"visibility":"internal"},{"constant":true,"documentation":{"id":55572,"nodeType":"StructuredDocumentation","src":"517:66:56","text":"@notice the protocol fee is represented in hundredths of a bip"},"id":55575,"mutability":"constant","name":"PIPS_DENOMINATOR","nameLocation":"614:16:56","nodeType":"VariableDeclaration","scope":55627,"src":"588:54:56","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55573,"name":"uint256","nodeType":"ElementaryTypeName","src":"588:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f303030","id":55574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"633:9:56","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1_000_000"},"visibility":"internal"},{"body":{"id":55589,"nodeType":"Block","src":"719:44:56","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":55586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55584,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55577,"src":"743:4:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078666666","id":55585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"750:5:56","typeDescriptions":{"typeIdentifier":"t_rational_4095_by_1","typeString":"int_const 4095"},"value":"0xfff"},"src":"743:12:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":55583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"736:6:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":55582,"name":"uint16","nodeType":"ElementaryTypeName","src":"736:6:56","typeDescriptions":{}}},"id":55587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"736:20:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":55581,"id":55588,"nodeType":"Return","src":"729:27:56"}]},"id":55590,"implemented":true,"kind":"function","modifiers":[],"name":"getZeroForOneFee","nameLocation":"658:16:56","nodeType":"FunctionDefinition","parameters":{"id":55578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55577,"mutability":"mutable","name":"self","nameLocation":"682:4:56","nodeType":"VariableDeclaration","scope":55590,"src":"675:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55576,"name":"uint24","nodeType":"ElementaryTypeName","src":"675:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"674:13:56"},"returnParameters":{"id":55581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55590,"src":"711:6:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":55579,"name":"uint16","nodeType":"ElementaryTypeName","src":"711:6:56","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"710:8:56"},"scope":55627,"src":"649:114:56","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55604,"nodeType":"Block","src":"839:42:56","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":55601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55599,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55592,"src":"863:4:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3132","id":55600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"871:2:56","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"src":"863:10:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":55598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"856:6:56","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":55597,"name":"uint16","nodeType":"ElementaryTypeName","src":"856:6:56","typeDescriptions":{}}},"id":55602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"856:18:56","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":55596,"id":55603,"nodeType":"Return","src":"849:25:56"}]},"id":55605,"implemented":true,"kind":"function","modifiers":[],"name":"getOneForZeroFee","nameLocation":"778:16:56","nodeType":"FunctionDefinition","parameters":{"id":55593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55592,"mutability":"mutable","name":"self","nameLocation":"802:4:56","nodeType":"VariableDeclaration","scope":55605,"src":"795:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55591,"name":"uint24","nodeType":"ElementaryTypeName","src":"795:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"794:13:56"},"returnParameters":{"id":55596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55595,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55605,"src":"831:6:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":55594,"name":"uint16","nodeType":"ElementaryTypeName","src":"831:6:56","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"830:8:56"},"scope":55627,"src":"769:112:56","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55613,"nodeType":"Block","src":"963:383:56","statements":[{"AST":{"nativeSrc":"1113:227:56","nodeType":"YulBlock","src":"1113:227:56","statements":[{"nativeSrc":"1127:62:56","nodeType":"YulVariableDeclaration","src":"1127:62:56","value":{"arguments":[{"arguments":[{"name":"self","nativeSrc":"1159:4:56","nodeType":"YulIdentifier","src":"1159:4:56"},{"kind":"number","nativeSrc":"1165:5:56","nodeType":"YulLiteral","src":"1165:5:56","type":"","value":"0xfff"}],"functionName":{"name":"and","nativeSrc":"1155:3:56","nodeType":"YulIdentifier","src":"1155:3:56"},"nativeSrc":"1155:16:56","nodeType":"YulFunctionCall","src":"1155:16:56"},{"name":"FEE_0_THRESHOLD","nativeSrc":"1173:15:56","nodeType":"YulIdentifier","src":"1173:15:56"}],"functionName":{"name":"lt","nativeSrc":"1152:2:56","nodeType":"YulIdentifier","src":"1152:2:56"},"nativeSrc":"1152:37:56","nodeType":"YulFunctionCall","src":"1152:37:56"},"variables":[{"name":"isZeroForOneFeeOk","nativeSrc":"1131:17:56","nodeType":"YulTypedName","src":"1131:17:56","type":""}]},{"nativeSrc":"1202:65:56","nodeType":"YulVariableDeclaration","src":"1202:65:56","value":{"arguments":[{"arguments":[{"name":"self","nativeSrc":"1234:4:56","nodeType":"YulIdentifier","src":"1234:4:56"},{"kind":"number","nativeSrc":"1240:8:56","nodeType":"YulLiteral","src":"1240:8:56","type":"","value":"0xfff000"}],"functionName":{"name":"and","nativeSrc":"1230:3:56","nodeType":"YulIdentifier","src":"1230:3:56"},"nativeSrc":"1230:19:56","nodeType":"YulFunctionCall","src":"1230:19:56"},{"name":"FEE_1_THRESHOLD","nativeSrc":"1251:15:56","nodeType":"YulIdentifier","src":"1251:15:56"}],"functionName":{"name":"lt","nativeSrc":"1227:2:56","nodeType":"YulIdentifier","src":"1227:2:56"},"nativeSrc":"1227:40:56","nodeType":"YulFunctionCall","src":"1227:40:56"},"variables":[{"name":"isOneForZeroFeeOk","nativeSrc":"1206:17:56","nodeType":"YulTypedName","src":"1206:17:56","type":""}]},{"nativeSrc":"1280:50:56","nodeType":"YulAssignment","src":"1280:50:56","value":{"arguments":[{"name":"isZeroForOneFeeOk","nativeSrc":"1293:17:56","nodeType":"YulIdentifier","src":"1293:17:56"},{"name":"isOneForZeroFeeOk","nativeSrc":"1312:17:56","nodeType":"YulIdentifier","src":"1312:17:56"}],"functionName":{"name":"and","nativeSrc":"1289:3:56","nodeType":"YulIdentifier","src":"1289:3:56"},"nativeSrc":"1289:41:56","nodeType":"YulFunctionCall","src":"1289:41:56"},"variableNames":[{"name":"valid","nativeSrc":"1280:5:56","nodeType":"YulIdentifier","src":"1280:5:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":55566,"isOffset":false,"isSlot":false,"src":"1173:15:56","valueSize":1},{"declaration":55571,"isOffset":false,"isSlot":false,"src":"1251:15:56","valueSize":1},{"declaration":55607,"isOffset":false,"isSlot":false,"src":"1159:4:56","valueSize":1},{"declaration":55607,"isOffset":false,"isSlot":false,"src":"1234:4:56","valueSize":1},{"declaration":55610,"isOffset":false,"isSlot":false,"src":"1280:5:56","valueSize":1}],"flags":["memory-safe"],"id":55612,"nodeType":"InlineAssembly","src":"1088:252:56"}]},"id":55614,"implemented":true,"kind":"function","modifiers":[],"name":"isValidProtocolFee","nameLocation":"896:18:56","nodeType":"FunctionDefinition","parameters":{"id":55608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55607,"mutability":"mutable","name":"self","nameLocation":"922:4:56","nodeType":"VariableDeclaration","scope":55614,"src":"915:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55606,"name":"uint24","nodeType":"ElementaryTypeName","src":"915:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"914:13:56"},"returnParameters":{"id":55611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55610,"mutability":"mutable","name":"valid","nameLocation":"956:5:56","nodeType":"VariableDeclaration","scope":55614,"src":"951:10:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55609,"name":"bool","nodeType":"ElementaryTypeName","src":"951:4:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"950:12:56"},"scope":55627,"src":"887:459:56","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55625,"nodeType":"Block","src":"1787:323:56","statements":[{"AST":{"nativeSrc":"1889:215:56","nodeType":"YulBlock","src":"1889:215:56","statements":[{"nativeSrc":"1903:24:56","nodeType":"YulAssignment","src":"1903:24:56","value":{"arguments":[{"name":"self","nativeSrc":"1915:4:56","nodeType":"YulIdentifier","src":"1915:4:56"},{"kind":"number","nativeSrc":"1921:5:56","nodeType":"YulLiteral","src":"1921:5:56","type":"","value":"0xfff"}],"functionName":{"name":"and","nativeSrc":"1911:3:56","nodeType":"YulIdentifier","src":"1911:3:56"},"nativeSrc":"1911:16:56","nodeType":"YulFunctionCall","src":"1911:16:56"},"variableNames":[{"name":"self","nativeSrc":"1903:4:56","nodeType":"YulIdentifier","src":"1903:4:56"}]},{"nativeSrc":"1940:29:56","nodeType":"YulAssignment","src":"1940:29:56","value":{"arguments":[{"name":"lpFee","nativeSrc":"1953:5:56","nodeType":"YulIdentifier","src":"1953:5:56"},{"kind":"number","nativeSrc":"1960:8:56","nodeType":"YulLiteral","src":"1960:8:56","type":"","value":"0xffffff"}],"functionName":{"name":"and","nativeSrc":"1949:3:56","nodeType":"YulIdentifier","src":"1949:3:56"},"nativeSrc":"1949:20:56","nodeType":"YulFunctionCall","src":"1949:20:56"},"variableNames":[{"name":"lpFee","nativeSrc":"1940:5:56","nodeType":"YulIdentifier","src":"1940:5:56"}]},{"nativeSrc":"1982:33:56","nodeType":"YulVariableDeclaration","src":"1982:33:56","value":{"arguments":[{"name":"self","nativeSrc":"2003:4:56","nodeType":"YulIdentifier","src":"2003:4:56"},{"name":"lpFee","nativeSrc":"2009:5:56","nodeType":"YulIdentifier","src":"2009:5:56"}],"functionName":{"name":"mul","nativeSrc":"1999:3:56","nodeType":"YulIdentifier","src":"1999:3:56"},"nativeSrc":"1999:16:56","nodeType":"YulFunctionCall","src":"1999:16:56"},"variables":[{"name":"numerator","nativeSrc":"1986:9:56","nodeType":"YulTypedName","src":"1986:9:56","type":""}]},{"nativeSrc":"2028:66:56","nodeType":"YulAssignment","src":"2028:66:56","value":{"arguments":[{"arguments":[{"name":"self","nativeSrc":"2047:4:56","nodeType":"YulIdentifier","src":"2047:4:56"},{"name":"lpFee","nativeSrc":"2053:5:56","nodeType":"YulIdentifier","src":"2053:5:56"}],"functionName":{"name":"add","nativeSrc":"2043:3:56","nodeType":"YulIdentifier","src":"2043:3:56"},"nativeSrc":"2043:16:56","nodeType":"YulFunctionCall","src":"2043:16:56"},{"arguments":[{"name":"numerator","nativeSrc":"2065:9:56","nodeType":"YulIdentifier","src":"2065:9:56"},{"name":"PIPS_DENOMINATOR","nativeSrc":"2076:16:56","nodeType":"YulIdentifier","src":"2076:16:56"}],"functionName":{"name":"div","nativeSrc":"2061:3:56","nodeType":"YulIdentifier","src":"2061:3:56"},"nativeSrc":"2061:32:56","nodeType":"YulFunctionCall","src":"2061:32:56"}],"functionName":{"name":"sub","nativeSrc":"2039:3:56","nodeType":"YulIdentifier","src":"2039:3:56"},"nativeSrc":"2039:55:56","nodeType":"YulFunctionCall","src":"2039:55:56"},"variableNames":[{"name":"swapFee","nativeSrc":"2028:7:56","nodeType":"YulIdentifier","src":"2028:7:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":55575,"isOffset":false,"isSlot":false,"src":"2076:16:56","valueSize":1},{"declaration":55619,"isOffset":false,"isSlot":false,"src":"1940:5:56","valueSize":1},{"declaration":55619,"isOffset":false,"isSlot":false,"src":"1953:5:56","valueSize":1},{"declaration":55619,"isOffset":false,"isSlot":false,"src":"2009:5:56","valueSize":1},{"declaration":55619,"isOffset":false,"isSlot":false,"src":"2053:5:56","valueSize":1},{"declaration":55617,"isOffset":false,"isSlot":false,"src":"1903:4:56","valueSize":1},{"declaration":55617,"isOffset":false,"isSlot":false,"src":"1915:4:56","valueSize":1},{"declaration":55617,"isOffset":false,"isSlot":false,"src":"2003:4:56","valueSize":1},{"declaration":55617,"isOffset":false,"isSlot":false,"src":"2047:4:56","valueSize":1},{"declaration":55622,"isOffset":false,"isSlot":false,"src":"2028:7:56","valueSize":1}],"flags":["memory-safe"],"id":55624,"nodeType":"InlineAssembly","src":"1864:240:56"}]},"documentation":{"id":55615,"nodeType":"StructuredDocumentation","src":"1590:100:56","text":"@dev here `self` is just a single direction's protocol fee, not a packed type of 2 protocol fees"},"id":55626,"implemented":true,"kind":"function","modifiers":[],"name":"calculateSwapFee","nameLocation":"1704:16:56","nodeType":"FunctionDefinition","parameters":{"id":55620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55617,"mutability":"mutable","name":"self","nameLocation":"1728:4:56","nodeType":"VariableDeclaration","scope":55626,"src":"1721:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":55616,"name":"uint16","nodeType":"ElementaryTypeName","src":"1721:6:56","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":55619,"mutability":"mutable","name":"lpFee","nameLocation":"1741:5:56","nodeType":"VariableDeclaration","scope":55626,"src":"1734:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55618,"name":"uint24","nodeType":"ElementaryTypeName","src":"1734:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1720:27:56"},"returnParameters":{"id":55623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55622,"mutability":"mutable","name":"swapFee","nameLocation":"1778:7:56","nodeType":"VariableDeclaration","scope":55626,"src":"1771:14:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":55621,"name":"uint24","nodeType":"ElementaryTypeName","src":"1771:6:56","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1770:16:56"},"scope":55627,"src":"1695:415:56","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":55628,"src":"115:1997:56","usedErrors":[],"usedEvents":[]}],"src":"32:2081:56"},"id":56},"v4-core/src/libraries/SafeCast.sol":{"ast":{"absolutePath":"v4-core/src/libraries/SafeCast.sol","exportedSymbols":{"CustomRevert":[45214],"SafeCast":[47298]},"id":47299,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":47124,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:57"},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":47126,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47299,"sourceUnit":45215,"src":"57:48:57","symbolAliases":[{"foreign":{"id":47125,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"65:12:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":47127,"nodeType":"StructuredDocumentation","src":"107:94:57","text":"@title Safe casting methods\n @notice Contains methods for safely casting between types"},"fullyImplemented":true,"id":47298,"linearizedBaseContracts":[47298],"name":"SafeCast","nameLocation":"209:8:57","nodeType":"ContractDefinition","nodes":[{"global":false,"id":47130,"libraryName":{"id":47128,"name":"CustomRevert","nameLocations":["230:12:57"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"230:12:57"},"nodeType":"UsingForDirective","src":"224:30:57","typeName":{"id":47129,"name":"bytes4","nodeType":"ElementaryTypeName","src":"247:6:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"errorSelector":"93dafdf1","id":47132,"name":"SafeCastOverflow","nameLocation":"266:16:57","nodeType":"ErrorDefinition","parameters":{"id":47131,"nodeType":"ParameterList","parameters":[],"src":"282:2:57"},"src":"260:25:57"},{"body":{"id":47158,"nodeType":"Block","src":"524:91:57","statements":[{"expression":{"id":47145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47140,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47138,"src":"534:1:57","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47143,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47135,"src":"546:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"538:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":47141,"name":"uint160","nodeType":"ElementaryTypeName","src":"538:7:57","typeDescriptions":{}}},"id":47144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"538:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"534:14:57","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":47146,"nodeType":"ExpressionStatement","src":"534:14:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47147,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47138,"src":"562:1:57","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47148,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47135,"src":"567:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"562:6:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47157,"nodeType":"IfStatement","src":"558:50:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47150,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"570:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"587:8:57","memberName":"selector","nodeType":"MemberAccess","src":"570:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"596:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"570:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"570:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47156,"nodeType":"ExpressionStatement","src":"570:38:57"}}]},"documentation":{"id":47133,"nodeType":"StructuredDocumentation","src":"291:164:57","text":"@notice Cast a uint256 to a uint160, revert on overflow\n @param x The uint256 to be downcasted\n @return y The downcasted integer, now type uint160"},"id":47159,"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"469:9:57","nodeType":"FunctionDefinition","parameters":{"id":47136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47135,"mutability":"mutable","name":"x","nameLocation":"487:1:57","nodeType":"VariableDeclaration","scope":47159,"src":"479:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47134,"name":"uint256","nodeType":"ElementaryTypeName","src":"479:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"478:11:57"},"returnParameters":{"id":47139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47138,"mutability":"mutable","name":"y","nameLocation":"521:1:57","nodeType":"VariableDeclaration","scope":47159,"src":"513:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47137,"name":"uint160","nodeType":"ElementaryTypeName","src":"513:7:57","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"512:11:57"},"scope":47298,"src":"460:155:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47185,"nodeType":"Block","src":"854:91:57","statements":[{"expression":{"id":47172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47167,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47165,"src":"864:1:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47170,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47162,"src":"876:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"868:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":47168,"name":"uint128","nodeType":"ElementaryTypeName","src":"868:7:57","typeDescriptions":{}}},"id":47171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"868:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"864:14:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47173,"nodeType":"ExpressionStatement","src":"864:14:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47174,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47162,"src":"892:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47175,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47165,"src":"897:1:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"892:6:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47184,"nodeType":"IfStatement","src":"888:50:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47177,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"900:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"917:8:57","memberName":"selector","nodeType":"MemberAccess","src":"900:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"926:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"900:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"900:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47183,"nodeType":"ExpressionStatement","src":"900:38:57"}}]},"documentation":{"id":47160,"nodeType":"StructuredDocumentation","src":"621:164:57","text":"@notice Cast a uint256 to a uint128, revert on overflow\n @param x The uint256 to be downcasted\n @return y The downcasted integer, now type uint128"},"id":47186,"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"799:9:57","nodeType":"FunctionDefinition","parameters":{"id":47163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47162,"mutability":"mutable","name":"x","nameLocation":"817:1:57","nodeType":"VariableDeclaration","scope":47186,"src":"809:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47161,"name":"uint256","nodeType":"ElementaryTypeName","src":"809:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"808:11:57"},"returnParameters":{"id":47166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47165,"mutability":"mutable","name":"y","nameLocation":"851:1:57","nodeType":"VariableDeclaration","scope":47186,"src":"843:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47164,"name":"uint128","nodeType":"ElementaryTypeName","src":"843:7:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"842:11:57"},"scope":47298,"src":"790:155:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47212,"nodeType":"Block","src":"1186:90:57","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":47196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47194,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47189,"src":"1200:1:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":47195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1204:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1200:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47204,"nodeType":"IfStatement","src":"1196:49:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47197,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"1207:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1224:8:57","memberName":"selector","nodeType":"MemberAccess","src":"1207:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1233:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1207:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1207:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47203,"nodeType":"ExpressionStatement","src":"1207:38:57"}},{"expression":{"id":47210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47205,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47192,"src":"1255:1:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47208,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47189,"src":"1267:1:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":47207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1259:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":47206,"name":"uint128","nodeType":"ElementaryTypeName","src":"1259:7:57","typeDescriptions":{}}},"id":47209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1259:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"1255:14:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47211,"nodeType":"ExpressionStatement","src":"1255:14:57"}]},"documentation":{"id":47187,"nodeType":"StructuredDocumentation","src":"951:167:57","text":"@notice Cast a int128 to a uint128, revert on overflow or underflow\n @param x The int128 to be casted\n @return y The casted integer, now type uint128"},"id":47213,"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"1132:9:57","nodeType":"FunctionDefinition","parameters":{"id":47190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47189,"mutability":"mutable","name":"x","nameLocation":"1149:1:57","nodeType":"VariableDeclaration","scope":47213,"src":"1142:8:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":47188,"name":"int128","nodeType":"ElementaryTypeName","src":"1142:6:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"1141:10:57"},"returnParameters":{"id":47193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47192,"mutability":"mutable","name":"y","nameLocation":"1183:1:57","nodeType":"VariableDeclaration","scope":47213,"src":"1175:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47191,"name":"uint128","nodeType":"ElementaryTypeName","src":"1175:7:57","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"1174:11:57"},"scope":47298,"src":"1123:153:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47239,"nodeType":"Block","src":"1521:90:57","statements":[{"expression":{"id":47226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47221,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47219,"src":"1531:1:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47224,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47216,"src":"1542:1:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1535:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":47222,"name":"int128","nodeType":"ElementaryTypeName","src":"1535:6:57","typeDescriptions":{}}},"id":47225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1535:9:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"1531:13:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":47227,"nodeType":"ExpressionStatement","src":"1531:13:57"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47228,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47219,"src":"1558:1:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":47229,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47216,"src":"1563:1:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1558:6:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47238,"nodeType":"IfStatement","src":"1554:50:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47231,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"1566:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1583:8:57","memberName":"selector","nodeType":"MemberAccess","src":"1566:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1592:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1566:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47237,"nodeType":"ExpressionStatement","src":"1566:38:57"}}]},"documentation":{"id":47214,"nodeType":"StructuredDocumentation","src":"1282:173:57","text":"@notice Cast a int256 to a int128, revert on overflow or underflow\n @param x The int256 to be downcasted\n @return y The downcasted integer, now type int128"},"id":47240,"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"1469:8:57","nodeType":"FunctionDefinition","parameters":{"id":47217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47216,"mutability":"mutable","name":"x","nameLocation":"1485:1:57","nodeType":"VariableDeclaration","scope":47240,"src":"1478:8:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47215,"name":"int256","nodeType":"ElementaryTypeName","src":"1478:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1477:10:57"},"returnParameters":{"id":47220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47219,"mutability":"mutable","name":"y","nameLocation":"1518:1:57","nodeType":"VariableDeclaration","scope":47240,"src":"1511:8:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":47218,"name":"int128","nodeType":"ElementaryTypeName","src":"1511:6:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"1510:10:57"},"scope":47298,"src":"1460:151:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47266,"nodeType":"Block","src":"1838:89:57","statements":[{"expression":{"id":47253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47248,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47246,"src":"1848:1:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47251,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47243,"src":"1859:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1852:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":47249,"name":"int256","nodeType":"ElementaryTypeName","src":"1852:6:57","typeDescriptions":{}}},"id":47252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1852:9:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1848:13:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":47254,"nodeType":"ExpressionStatement","src":"1848:13:57"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47255,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47246,"src":"1875:1:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":47256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1875:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47265,"nodeType":"IfStatement","src":"1871:49:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47258,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"1882:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1899:8:57","memberName":"selector","nodeType":"MemberAccess","src":"1882:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1908:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"1882:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1882:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47264,"nodeType":"ExpressionStatement","src":"1882:38:57"}}]},"documentation":{"id":47241,"nodeType":"StructuredDocumentation","src":"1617:154:57","text":"@notice Cast a uint256 to a int256, revert on overflow\n @param x The uint256 to be casted\n @return y The casted integer, now type int256"},"id":47267,"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"1785:8:57","nodeType":"FunctionDefinition","parameters":{"id":47244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47243,"mutability":"mutable","name":"x","nameLocation":"1802:1:57","nodeType":"VariableDeclaration","scope":47267,"src":"1794:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47242,"name":"uint256","nodeType":"ElementaryTypeName","src":"1794:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1793:11:57"},"returnParameters":{"id":47247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47246,"mutability":"mutable","name":"y","nameLocation":"1835:1:57","nodeType":"VariableDeclaration","scope":47267,"src":"1828:8:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47245,"name":"int256","nodeType":"ElementaryTypeName","src":"1828:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1827:10:57"},"scope":47298,"src":"1776:151:57","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47296,"nodeType":"Block","src":"2158:108:57","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47275,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47270,"src":"2172:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":47278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2177:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313237","id":47277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:3:57","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"2177:8:57","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"src":"2172:13:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47287,"nodeType":"IfStatement","src":"2168:57:57","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":47280,"name":"SafeCastOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47132,"src":"2187:16:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":47283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2204:8:57","memberName":"selector","nodeType":"MemberAccess","src":"2187:25:57","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":47284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2213:10:57","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45130,"src":"2187:36:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4) pure"}},"id":47285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:38:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47286,"nodeType":"ExpressionStatement","src":"2187:38:57"}},{"expression":{"arguments":[{"arguments":[{"id":47292,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47270,"src":"2256:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2249:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":47290,"name":"int256","nodeType":"ElementaryTypeName","src":"2249:6:57","typeDescriptions":{}}},"id":47293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2249:9:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2242:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":47288,"name":"int128","nodeType":"ElementaryTypeName","src":"2242:6:57","typeDescriptions":{}}},"id":47294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:17:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"functionReturnParameters":47274,"id":47295,"nodeType":"Return","src":"2235:24:57"}]},"documentation":{"id":47268,"nodeType":"StructuredDocumentation","src":"1933:160:57","text":"@notice Cast a uint256 to a int128, revert on overflow\n @param x The uint256 to be downcasted\n @return The downcasted integer, now type int128"},"id":47297,"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"2107:8:57","nodeType":"FunctionDefinition","parameters":{"id":47271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47270,"mutability":"mutable","name":"x","nameLocation":"2124:1:57","nodeType":"VariableDeclaration","scope":47297,"src":"2116:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47269,"name":"uint256","nodeType":"ElementaryTypeName","src":"2116:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2115:11:57"},"returnParameters":{"id":47274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47297,"src":"2150:6:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":47272,"name":"int128","nodeType":"ElementaryTypeName","src":"2150:6:57","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"2149:8:57"},"scope":47298,"src":"2098:168:57","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":47299,"src":"201:2067:57","usedErrors":[47132],"usedEvents":[]}],"src":"32:2237:57"},"id":57},"v4-core/src/libraries/SqrtPriceMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/SqrtPriceMath.sol","exportedSymbols":{"FixedPoint96":[56759],"FullMath":[45389],"SafeCast":[47298],"SqrtPriceMath":[56118],"UnsafeMath":[56632]},"id":56119,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":55629,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:58"},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"./SafeCast.sol","id":55631,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56119,"sourceUnit":47299,"src":"57:40:58","symbolAliases":[{"foreign":{"id":55630,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"65:8:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/FullMath.sol","file":"./FullMath.sol","id":55633,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56119,"sourceUnit":45390,"src":"99:40:58","symbolAliases":[{"foreign":{"id":55632,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"107:8:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/UnsafeMath.sol","file":"./UnsafeMath.sol","id":55635,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56119,"sourceUnit":56633,"src":"140:44:58","symbolAliases":[{"foreign":{"id":55634,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"148:10:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/FixedPoint96.sol","file":"./FixedPoint96.sol","id":55637,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56119,"sourceUnit":56760,"src":"185:48:58","symbolAliases":[{"foreign":{"id":55636,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"193:12:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SqrtPriceMath","contractDependencies":[],"contractKind":"library","documentation":{"id":55638,"nodeType":"StructuredDocumentation","src":"235:167:58","text":"@title Functions based on Q64.96 sqrt price and liquidity\n @notice Contains the math that uses square root of price as a Q64.96 and liquidity to compute deltas"},"fullyImplemented":true,"id":56118,"linearizedBaseContracts":[56118],"name":"SqrtPriceMath","nameLocation":"410:13:58","nodeType":"ContractDefinition","nodes":[{"global":false,"id":55641,"libraryName":{"id":55639,"name":"SafeCast","nameLocations":["436:8:58"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"436:8:58"},"nodeType":"UsingForDirective","src":"430:27:58","typeName":{"id":55640,"name":"uint256","nodeType":"ElementaryTypeName","src":"449:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"errorSelector":"4f2461b8","id":55643,"name":"InvalidPriceOrLiquidity","nameLocation":"469:23:58","nodeType":"ErrorDefinition","parameters":{"id":55642,"nodeType":"ParameterList","parameters":[],"src":"492:2:58"},"src":"463:32:58"},{"errorSelector":"00bfc921","id":55645,"name":"InvalidPrice","nameLocation":"506:12:58","nodeType":"ErrorDefinition","parameters":{"id":55644,"nodeType":"ParameterList","parameters":[],"src":"518:2:58"},"src":"500:21:58"},{"errorSelector":"4323a555","id":55647,"name":"NotEnoughLiquidity","nameLocation":"532:18:58","nodeType":"ErrorDefinition","parameters":{"id":55646,"nodeType":"ParameterList","parameters":[],"src":"550:2:58"},"src":"526:27:58"},{"errorSelector":"f5c787f1","id":55649,"name":"PriceOverflow","nameLocation":"564:13:58","nodeType":"ErrorDefinition","parameters":{"id":55648,"nodeType":"ParameterList","parameters":[],"src":"577:2:58"},"src":"558:22:58"},{"body":{"id":55755,"nodeType":"Block","src":"1705:1895:58","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55663,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55656,"src":"1831:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:1:58","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1831:11:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55668,"nodeType":"IfStatement","src":"1827:32:58","trueBody":{"expression":{"id":55666,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"1851:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55662,"id":55667,"nodeType":"Return","src":"1844:15:58"}},{"assignments":[55670],"declarations":[{"constant":false,"id":55670,"mutability":"mutable","name":"numerator1","nameLocation":"1877:10:58","nodeType":"VariableDeclaration","scope":55755,"src":"1869:18:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55669,"name":"uint256","nodeType":"ElementaryTypeName","src":"1869:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55678,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55673,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55654,"src":"1898:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":55672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1890:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55671,"name":"uint256","nodeType":"ElementaryTypeName","src":"1890:7:58","typeDescriptions":{}}},"id":55674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1890:18:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"expression":{"id":55675,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"1912:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1925:10:58","memberName":"RESOLUTION","nodeType":"MemberAccess","referencedDeclaration":56755,"src":"1912:23:58","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1890:45:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1869:66:58"},{"condition":{"id":55679,"name":"add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55658,"src":"1950:3:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":55753,"nodeType":"Block","src":"2576:1018:58","statements":[{"id":55752,"nodeType":"UncheckedBlock","src":"2590:994:58","statements":[{"assignments":[55731],"declarations":[{"constant":false,"id":55731,"mutability":"mutable","name":"product","nameLocation":"2626:7:58","nodeType":"VariableDeclaration","scope":55752,"src":"2618:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55730,"name":"uint256","nodeType":"ElementaryTypeName","src":"2618:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55735,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55732,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55656,"src":"2636:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":55733,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"2645:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2636:17:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2618:35:58"},{"AST":{"nativeSrc":"2976:437:58","nodeType":"YulBlock","src":"2976:437:58","statements":[{"body":{"nativeSrc":"3251:144:58","nodeType":"YulBlock","src":"3251:144:58","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3284:1:58","nodeType":"YulLiteral","src":"3284:1:58","type":"","value":"0"},{"kind":"number","nativeSrc":"3287:10:58","nodeType":"YulLiteral","src":"3287:10:58","type":"","value":"0xf5c787f1"}],"functionName":{"name":"mstore","nativeSrc":"3277:6:58","nodeType":"YulIdentifier","src":"3277:6:58"},"nativeSrc":"3277:21:58","nodeType":"YulFunctionCall","src":"3277:21:58"},"nativeSrc":"3277:21:58","nodeType":"YulExpressionStatement","src":"3277:21:58"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3362:4:58","nodeType":"YulLiteral","src":"3362:4:58","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"3368:4:58","nodeType":"YulLiteral","src":"3368:4:58","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"3355:6:58","nodeType":"YulIdentifier","src":"3355:6:58"},"nativeSrc":"3355:18:58","nodeType":"YulFunctionCall","src":"3355:18:58"},"nativeSrc":"3355:18:58","nodeType":"YulExpressionStatement","src":"3355:18:58"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"product","nativeSrc":"3073:7:58","nodeType":"YulIdentifier","src":"3073:7:58"},{"name":"amount","nativeSrc":"3082:6:58","nodeType":"YulIdentifier","src":"3082:6:58"}],"functionName":{"name":"div","nativeSrc":"3069:3:58","nodeType":"YulIdentifier","src":"3069:3:58"},"nativeSrc":"3069:20:58","nodeType":"YulFunctionCall","src":"3069:20:58"},{"arguments":[{"name":"sqrtPX96","nativeSrc":"3095:8:58","nodeType":"YulIdentifier","src":"3095:8:58"},{"kind":"number","nativeSrc":"3105:42:58","nodeType":"YulLiteral","src":"3105:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"3091:3:58","nodeType":"YulIdentifier","src":"3091:3:58"},"nativeSrc":"3091:57:58","nodeType":"YulFunctionCall","src":"3091:57:58"}],"functionName":{"name":"eq","nativeSrc":"3066:2:58","nodeType":"YulIdentifier","src":"3066:2:58"},"nativeSrc":"3066:83:58","nodeType":"YulFunctionCall","src":"3066:83:58"},{"arguments":[{"name":"numerator1","nativeSrc":"3182:10:58","nodeType":"YulIdentifier","src":"3182:10:58"},{"name":"product","nativeSrc":"3194:7:58","nodeType":"YulIdentifier","src":"3194:7:58"}],"functionName":{"name":"gt","nativeSrc":"3179:2:58","nodeType":"YulIdentifier","src":"3179:2:58"},"nativeSrc":"3179:23:58","nodeType":"YulFunctionCall","src":"3179:23:58"}],"functionName":{"name":"and","nativeSrc":"3033:3:58","nodeType":"YulIdentifier","src":"3033:3:58"},"nativeSrc":"3033:195:58","nodeType":"YulFunctionCall","src":"3033:195:58"}],"functionName":{"name":"iszero","nativeSrc":"3001:6:58","nodeType":"YulIdentifier","src":"3001:6:58"},"nativeSrc":"3001:249:58","nodeType":"YulFunctionCall","src":"3001:249:58"},"nativeSrc":"2998:397:58","nodeType":"YulIf","src":"2998:397:58"}]},"evmVersion":"cancun","externalReferences":[{"declaration":55656,"isOffset":false,"isSlot":false,"src":"3082:6:58","valueSize":1},{"declaration":55670,"isOffset":false,"isSlot":false,"src":"3182:10:58","valueSize":1},{"declaration":55731,"isOffset":false,"isSlot":false,"src":"3073:7:58","valueSize":1},{"declaration":55731,"isOffset":false,"isSlot":false,"src":"3194:7:58","valueSize":1},{"declaration":55652,"isOffset":false,"isSlot":false,"src":"3095:8:58","valueSize":1}],"flags":["memory-safe"],"id":55736,"nodeType":"InlineAssembly","src":"2951:462:58"},{"assignments":[55738],"declarations":[{"constant":false,"id":55738,"mutability":"mutable","name":"denominator","nameLocation":"3438:11:58","nodeType":"VariableDeclaration","scope":55752,"src":"3430:19:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55737,"name":"uint256","nodeType":"ElementaryTypeName","src":"3430:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55742,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55739,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"3452:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55740,"name":"product","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55731,"src":"3465:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3452:20:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3430:42:58"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":55745,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"3523:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55746,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"3535:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55747,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55738,"src":"3545:11:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55743,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"3497:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3506:16:58","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"3497:25:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:60:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3558:9:58","memberName":"toUint160","nodeType":"MemberAccess","referencedDeclaration":47159,"src":"3497:70:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint160_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint160)"}},"id":55750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:72:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55662,"id":55751,"nodeType":"Return","src":"3490:79:58"}]}]},"id":55754,"nodeType":"IfStatement","src":"1946:1648:58","trueBody":{"id":55729,"nodeType":"Block","src":"1955:615:58","statements":[{"id":55714,"nodeType":"UncheckedBlock","src":"1969:440:58","statements":[{"assignments":[55681],"declarations":[{"constant":false,"id":55681,"mutability":"mutable","name":"product","nameLocation":"2005:7:58","nodeType":"VariableDeclaration","scope":55714,"src":"1997:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55680,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55685,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55682,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55656,"src":"2015:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":55683,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"2024:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2015:17:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1997:35:58"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55686,"name":"product","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"2054:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":55687,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55656,"src":"2064:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2054:16:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":55689,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"2074:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2054:28:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55713,"nodeType":"IfStatement","src":"2050:345:58","trueBody":{"id":55712,"nodeType":"Block","src":"2084:311:58","statements":[{"assignments":[55692],"declarations":[{"constant":false,"id":55692,"mutability":"mutable","name":"denominator","nameLocation":"2114:11:58","nodeType":"VariableDeclaration","scope":55712,"src":"2106:19:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55691,"name":"uint256","nodeType":"ElementaryTypeName","src":"2106:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55696,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55693,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"2128:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":55694,"name":"product","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"2141:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2128:20:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2106:42:58"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55697,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"2174:11:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":55698,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"2189:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2174:25:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55711,"nodeType":"IfStatement","src":"2170:207:58","trueBody":{"id":55710,"nodeType":"Block","src":"2201:176:58","statements":[{"expression":{"arguments":[{"arguments":[{"id":55704,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"2319:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55705,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"2331:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55706,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55692,"src":"2341:11:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55702,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"2293:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2302:16:58","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"2293:25:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2293:60:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2285:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":55700,"name":"uint160","nodeType":"ElementaryTypeName","src":"2285:7:58","typeDescriptions":{}}},"id":55708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2285:69:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55662,"id":55709,"nodeType":"Return","src":"2278:76:58"}]}}]}}]},{"expression":{"arguments":[{"arguments":[{"id":55719,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"2513:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55720,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55670,"src":"2526:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":55721,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"2539:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2526:21:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":55723,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2525:23:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":55724,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55656,"src":"2551:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2525:32:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55717,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"2488:10:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":55718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2499:13:58","memberName":"divRoundingUp","nodeType":"MemberAccess","referencedDeclaration":56617,"src":"2488:24:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":55726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2488:70:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2480:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":55715,"name":"uint160","nodeType":"ElementaryTypeName","src":"2480:7:58","typeDescriptions":{}}},"id":55727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2480:79:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55662,"id":55728,"nodeType":"Return","src":"2473:86:58"}]}}]},"documentation":{"id":55650,"nodeType":"StructuredDocumentation","src":"586:944:58","text":"@notice Gets the next sqrt price given a delta of currency0\n @dev Always rounds up, because in the exact output case (increasing price) we need to move the price at least\n far enough to get the desired output amount, and in the exact input case (decreasing price) we need to move the\n price less in order to not send too much output.\n The most precise formula for this is liquidity * sqrtPX96 / (liquidity +- amount * sqrtPX96),\n if this is impossible because of overflow, we calculate liquidity / (liquidity / sqrtPX96 +- amount).\n @param sqrtPX96 The starting price, i.e. before accounting for the currency0 delta\n @param liquidity The amount of usable liquidity\n @param amount How much of currency0 to add or remove from virtual reserves\n @param add Whether to add or remove the amount of currency0\n @return The price after adding or removing amount, depending on add"},"id":55756,"implemented":true,"kind":"function","modifiers":[],"name":"getNextSqrtPriceFromAmount0RoundingUp","nameLocation":"1544:37:58","nodeType":"FunctionDefinition","parameters":{"id":55659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55652,"mutability":"mutable","name":"sqrtPX96","nameLocation":"1590:8:58","nodeType":"VariableDeclaration","scope":55756,"src":"1582:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55651,"name":"uint160","nodeType":"ElementaryTypeName","src":"1582:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55654,"mutability":"mutable","name":"liquidity","nameLocation":"1608:9:58","nodeType":"VariableDeclaration","scope":55756,"src":"1600:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55653,"name":"uint128","nodeType":"ElementaryTypeName","src":"1600:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55656,"mutability":"mutable","name":"amount","nameLocation":"1627:6:58","nodeType":"VariableDeclaration","scope":55756,"src":"1619:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55655,"name":"uint256","nodeType":"ElementaryTypeName","src":"1619:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55658,"mutability":"mutable","name":"add","nameLocation":"1640:3:58","nodeType":"VariableDeclaration","scope":55756,"src":"1635:8:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55657,"name":"bool","nodeType":"ElementaryTypeName","src":"1635:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1581:63:58"},"returnParameters":{"id":55662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55756,"src":"1692:7:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55660,"name":"uint160","nodeType":"ElementaryTypeName","src":"1692:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1691:9:58"},"scope":56118,"src":"1535:2065:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55846,"nodeType":"Block","src":"4610:1278:58","statements":[{"condition":{"id":55770,"name":"add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55765,"src":"4778:3:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":55844,"nodeType":"Block","src":"5101:781:58","statements":[{"assignments":[55809],"declarations":[{"constant":false,"id":55809,"mutability":"mutable","name":"quotient","nameLocation":"5123:8:58","nodeType":"VariableDeclaration","scope":55844,"src":"5115:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55808,"name":"uint256","nodeType":"ElementaryTypeName","src":"5115:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55834,"initialValue":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55810,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"5152:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":55813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5167:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":55812,"name":"uint160","nodeType":"ElementaryTypeName","src":"5167:7:58","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":55811,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5162:4:58","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5162:13:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":55815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5176:3:58","memberName":"max","nodeType":"MemberAccess","src":"5162:17:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"5152:27:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":55827,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"5321:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55828,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"5329:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5342:3:58","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"5329:16:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55830,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55761,"src":"5347:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":55825,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"5295:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:16:58","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"5295:25:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5295:62:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5152:205:58","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55819,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"5227:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"expression":{"id":55820,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"5237:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5250:10:58","memberName":"RESOLUTION","nodeType":"MemberAccess","referencedDeclaration":56755,"src":"5237:23:58","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5227:33:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55823,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55761,"src":"5262:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":55817,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"5202:10:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":55818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5213:13:58","memberName":"divRoundingUp","nodeType":"MemberAccess","referencedDeclaration":56617,"src":"5202:24:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":55824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:70:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":55833,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5134:237:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5115:256:58"},{"AST":{"nativeSrc":"5493:252:58","nodeType":"YulBlock","src":"5493:252:58","statements":[{"body":{"nativeSrc":"5594:137:58","nodeType":"YulBlock","src":"5594:137:58","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5623:1:58","nodeType":"YulLiteral","src":"5623:1:58","type":"","value":"0"},{"kind":"number","nativeSrc":"5626:10:58","nodeType":"YulLiteral","src":"5626:10:58","type":"","value":"0x4323a555"}],"functionName":{"name":"mstore","nativeSrc":"5616:6:58","nodeType":"YulIdentifier","src":"5616:6:58"},"nativeSrc":"5616:21:58","nodeType":"YulFunctionCall","src":"5616:21:58"},"nativeSrc":"5616:21:58","nodeType":"YulExpressionStatement","src":"5616:21:58"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5702:4:58","nodeType":"YulLiteral","src":"5702:4:58","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"5708:4:58","nodeType":"YulLiteral","src":"5708:4:58","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"5695:6:58","nodeType":"YulIdentifier","src":"5695:6:58"},"nativeSrc":"5695:18:58","nodeType":"YulFunctionCall","src":"5695:18:58"},"nativeSrc":"5695:18:58","nodeType":"YulExpressionStatement","src":"5695:18:58"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"sqrtPX96","nativeSrc":"5528:8:58","nodeType":"YulIdentifier","src":"5528:8:58"},{"kind":"number","nativeSrc":"5538:42:58","nodeType":"YulLiteral","src":"5538:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"5524:3:58","nodeType":"YulIdentifier","src":"5524:3:58"},"nativeSrc":"5524:57:58","nodeType":"YulFunctionCall","src":"5524:57:58"},{"name":"quotient","nativeSrc":"5583:8:58","nodeType":"YulIdentifier","src":"5583:8:58"}],"functionName":{"name":"gt","nativeSrc":"5521:2:58","nodeType":"YulIdentifier","src":"5521:2:58"},"nativeSrc":"5521:71:58","nodeType":"YulFunctionCall","src":"5521:71:58"}],"functionName":{"name":"iszero","nativeSrc":"5514:6:58","nodeType":"YulIdentifier","src":"5514:6:58"},"nativeSrc":"5514:79:58","nodeType":"YulFunctionCall","src":"5514:79:58"},"nativeSrc":"5511:220:58","nodeType":"YulIf","src":"5511:220:58"}]},"evmVersion":"cancun","externalReferences":[{"declaration":55809,"isOffset":false,"isSlot":false,"src":"5583:8:58","valueSize":1},{"declaration":55759,"isOffset":false,"isSlot":false,"src":"5528:8:58","valueSize":1}],"flags":["memory-safe"],"id":55835,"nodeType":"InlineAssembly","src":"5468:277:58"},{"id":55843,"nodeType":"UncheckedBlock","src":"5794:78:58","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55838,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"5837:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55839,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55809,"src":"5848:8:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5837:19:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":55837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5829:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":55836,"name":"uint160","nodeType":"ElementaryTypeName","src":"5829:7:58","typeDescriptions":{}}},"id":55841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5829:28:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55769,"id":55842,"nodeType":"Return","src":"5822:35:58"}]}]},"id":55845,"nodeType":"IfStatement","src":"4774:1108:58","trueBody":{"id":55807,"nodeType":"Block","src":"4783:312:58","statements":[{"assignments":[55772],"declarations":[{"constant":false,"id":55772,"mutability":"mutable","name":"quotient","nameLocation":"4805:8:58","nodeType":"VariableDeclaration","scope":55807,"src":"4797:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55771,"name":"uint256","nodeType":"ElementaryTypeName","src":"4797:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55796,"initialValue":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55773,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"4834:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":55776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4849:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":55775,"name":"uint160","nodeType":"ElementaryTypeName","src":"4849:7:58","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":55774,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4844:4:58","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":55777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:13:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":55778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4858:3:58","memberName":"max","nodeType":"MemberAccess","src":"4844:17:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"4834:27:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":55789,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"4970:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":55790,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"4978:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4991:3:58","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"4978:16:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55792,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55761,"src":"4996:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":55787,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4954:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4963:6:58","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"4954:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4954:52:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4834:172:58","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55780,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55763,"src":"4885:6:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"expression":{"id":55781,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"4895:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4908:10:58","memberName":"RESOLUTION","nodeType":"MemberAccess","referencedDeclaration":56755,"src":"4895:23:58","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4885:33:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":55784,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4884:35:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":55785,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55761,"src":"4922:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"4884:47:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":55795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4816:204:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4797:223:58"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55799,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"5051:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":55798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5043:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55797,"name":"uint256","nodeType":"ElementaryTypeName","src":"5043:7:58","typeDescriptions":{}}},"id":55800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5043:17:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":55801,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55772,"src":"5063:8:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5043:28:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":55803,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5042:30:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5073:9:58","memberName":"toUint160","nodeType":"MemberAccess","referencedDeclaration":47159,"src":"5042:40:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint160_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint160)"}},"id":55805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5042:42:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55769,"id":55806,"nodeType":"Return","src":"5035:49:58"}]}}]},"documentation":{"id":55757,"nodeType":"StructuredDocumentation","src":"3606:827:58","text":"@notice Gets the next sqrt price given a delta of currency1\n @dev Always rounds down, because in the exact output case (decreasing price) we need to move the price at least\n far enough to get the desired output amount, and in the exact input case (increasing price) we need to move the\n price less in order to not send too much output.\n The formula we compute is within <1 wei of the lossless version: sqrtPX96 +- amount / liquidity\n @param sqrtPX96 The starting price, i.e., before accounting for the currency1 delta\n @param liquidity The amount of usable liquidity\n @param amount How much of currency1 to add, or remove, from virtual reserves\n @param add Whether to add, or remove, the amount of currency1\n @return The price after adding or removing `amount`"},"id":55847,"implemented":true,"kind":"function","modifiers":[],"name":"getNextSqrtPriceFromAmount1RoundingDown","nameLocation":"4447:39:58","nodeType":"FunctionDefinition","parameters":{"id":55766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55759,"mutability":"mutable","name":"sqrtPX96","nameLocation":"4495:8:58","nodeType":"VariableDeclaration","scope":55847,"src":"4487:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55758,"name":"uint160","nodeType":"ElementaryTypeName","src":"4487:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55761,"mutability":"mutable","name":"liquidity","nameLocation":"4513:9:58","nodeType":"VariableDeclaration","scope":55847,"src":"4505:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55760,"name":"uint128","nodeType":"ElementaryTypeName","src":"4505:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55763,"mutability":"mutable","name":"amount","nameLocation":"4532:6:58","nodeType":"VariableDeclaration","scope":55847,"src":"4524:14:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55762,"name":"uint256","nodeType":"ElementaryTypeName","src":"4524:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55765,"mutability":"mutable","name":"add","nameLocation":"4545:3:58","nodeType":"VariableDeclaration","scope":55847,"src":"4540:8:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55764,"name":"bool","nodeType":"ElementaryTypeName","src":"4540:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4486:63:58"},"returnParameters":{"id":55769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55847,"src":"4597:7:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55767,"name":"uint160","nodeType":"ElementaryTypeName","src":"4597:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"4596:9:58"},"scope":56118,"src":"4438:1450:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55877,"nodeType":"Block","src":"6627:742:58","statements":[{"AST":{"nativeSrc":"6756:333:58","nodeType":"YulBlock","src":"6756:333:58","statements":[{"body":{"nativeSrc":"6949:130:58","nodeType":"YulBlock","src":"6949:130:58","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6974:1:58","nodeType":"YulLiteral","src":"6974:1:58","type":"","value":"0"},{"kind":"number","nativeSrc":"6977:10:58","nodeType":"YulLiteral","src":"6977:10:58","type":"","value":"0x4f2461b8"}],"functionName":{"name":"mstore","nativeSrc":"6967:6:58","nodeType":"YulIdentifier","src":"6967:6:58"},"nativeSrc":"6967:21:58","nodeType":"YulFunctionCall","src":"6967:21:58"},"nativeSrc":"6967:21:58","nodeType":"YulExpressionStatement","src":"6967:21:58"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7054:4:58","nodeType":"YulLiteral","src":"7054:4:58","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"7060:4:58","nodeType":"YulLiteral","src":"7060:4:58","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"7047:6:58","nodeType":"YulIdentifier","src":"7047:6:58"},"nativeSrc":"7047:18:58","nodeType":"YulFunctionCall","src":"7047:18:58"},"nativeSrc":"7047:18:58","nodeType":"YulExpressionStatement","src":"7047:18:58"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"sqrtPX96","nativeSrc":"6804:8:58","nodeType":"YulIdentifier","src":"6804:8:58"},{"kind":"number","nativeSrc":"6814:42:58","nodeType":"YulLiteral","src":"6814:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"6800:3:58","nodeType":"YulIdentifier","src":"6800:3:58"},"nativeSrc":"6800:57:58","nodeType":"YulFunctionCall","src":"6800:57:58"}],"functionName":{"name":"iszero","nativeSrc":"6793:6:58","nodeType":"YulIdentifier","src":"6793:6:58"},"nativeSrc":"6793:65:58","nodeType":"YulFunctionCall","src":"6793:65:58"},{"arguments":[{"arguments":[{"name":"liquidity","nativeSrc":"6887:9:58","nodeType":"YulIdentifier","src":"6887:9:58"},{"kind":"number","nativeSrc":"6898:34:58","nodeType":"YulLiteral","src":"6898:34:58","type":"","value":"0xffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"6883:3:58","nodeType":"YulIdentifier","src":"6883:3:58"},"nativeSrc":"6883:50:58","nodeType":"YulFunctionCall","src":"6883:50:58"}],"functionName":{"name":"iszero","nativeSrc":"6876:6:58","nodeType":"YulIdentifier","src":"6876:6:58"},"nativeSrc":"6876:58:58","nodeType":"YulFunctionCall","src":"6876:58:58"}],"functionName":{"name":"or","nativeSrc":"6773:2:58","nodeType":"YulIdentifier","src":"6773:2:58"},"nativeSrc":"6773:175:58","nodeType":"YulFunctionCall","src":"6773:175:58"},"nativeSrc":"6770:309:58","nodeType":"YulIf","src":"6770:309:58"}]},"evmVersion":"cancun","externalReferences":[{"declaration":55852,"isOffset":false,"isSlot":false,"src":"6887:9:58","valueSize":1},{"declaration":55850,"isOffset":false,"isSlot":false,"src":"6804:8:58","valueSize":1}],"flags":["memory-safe"],"id":55861,"nodeType":"InlineAssembly","src":"6731:358:58"},{"expression":{"condition":{"id":55862,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55856,"src":"7172:10:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":55870,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55850,"src":"7326:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55871,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55852,"src":"7336:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":55872,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55854,"src":"7347:8:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":55873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7357:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55869,"name":"getNextSqrtPriceFromAmount1RoundingDown","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55847,"src":"7286:39:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":55874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7286:76:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":55875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"7172:190:58","trueExpression":{"arguments":[{"id":55864,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55850,"src":"7235:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55865,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55852,"src":"7245:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":55866,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55854,"src":"7256:8:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":55867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7266:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55863,"name":"getNextSqrtPriceFromAmount0RoundingUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55756,"src":"7197:37:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":55868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7197:74:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55860,"id":55876,"nodeType":"Return","src":"7165:197:58"}]},"documentation":{"id":55848,"nodeType":"StructuredDocumentation","src":"5894:561:58","text":"@notice Gets the next sqrt price given an input amount of currency0 or currency1\n @dev Throws if price or liquidity are 0, or if the next price is out of bounds\n @param sqrtPX96 The starting price, i.e., before accounting for the input amount\n @param liquidity The amount of usable liquidity\n @param amountIn How much of currency0, or currency1, is being swapped in\n @param zeroForOne Whether the amount in is currency0 or currency1\n @return uint160 The price after adding the input amount to currency0 or currency1"},"id":55878,"implemented":true,"kind":"function","modifiers":[],"name":"getNextSqrtPriceFromInput","nameLocation":"6469:25:58","nodeType":"FunctionDefinition","parameters":{"id":55857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55850,"mutability":"mutable","name":"sqrtPX96","nameLocation":"6503:8:58","nodeType":"VariableDeclaration","scope":55878,"src":"6495:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55849,"name":"uint160","nodeType":"ElementaryTypeName","src":"6495:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55852,"mutability":"mutable","name":"liquidity","nameLocation":"6521:9:58","nodeType":"VariableDeclaration","scope":55878,"src":"6513:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55851,"name":"uint128","nodeType":"ElementaryTypeName","src":"6513:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55854,"mutability":"mutable","name":"amountIn","nameLocation":"6540:8:58","nodeType":"VariableDeclaration","scope":55878,"src":"6532:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55853,"name":"uint256","nodeType":"ElementaryTypeName","src":"6532:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55856,"mutability":"mutable","name":"zeroForOne","nameLocation":"6555:10:58","nodeType":"VariableDeclaration","scope":55878,"src":"6550:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55855,"name":"bool","nodeType":"ElementaryTypeName","src":"6550:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6494:72:58"},"returnParameters":{"id":55860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55878,"src":"6614:7:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55858,"name":"uint160","nodeType":"ElementaryTypeName","src":"6614:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"6613:9:58"},"scope":56118,"src":"6460:909:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55908,"nodeType":"Block","src":"8107:740:58","statements":[{"AST":{"nativeSrc":"8236:333:58","nodeType":"YulBlock","src":"8236:333:58","statements":[{"body":{"nativeSrc":"8429:130:58","nodeType":"YulBlock","src":"8429:130:58","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8454:1:58","nodeType":"YulLiteral","src":"8454:1:58","type":"","value":"0"},{"kind":"number","nativeSrc":"8457:10:58","nodeType":"YulLiteral","src":"8457:10:58","type":"","value":"0x4f2461b8"}],"functionName":{"name":"mstore","nativeSrc":"8447:6:58","nodeType":"YulIdentifier","src":"8447:6:58"},"nativeSrc":"8447:21:58","nodeType":"YulFunctionCall","src":"8447:21:58"},"nativeSrc":"8447:21:58","nodeType":"YulExpressionStatement","src":"8447:21:58"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8534:4:58","nodeType":"YulLiteral","src":"8534:4:58","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"8540:4:58","nodeType":"YulLiteral","src":"8540:4:58","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"8527:6:58","nodeType":"YulIdentifier","src":"8527:6:58"},"nativeSrc":"8527:18:58","nodeType":"YulFunctionCall","src":"8527:18:58"},"nativeSrc":"8527:18:58","nodeType":"YulExpressionStatement","src":"8527:18:58"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"sqrtPX96","nativeSrc":"8284:8:58","nodeType":"YulIdentifier","src":"8284:8:58"},{"kind":"number","nativeSrc":"8294:42:58","nodeType":"YulLiteral","src":"8294:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"8280:3:58","nodeType":"YulIdentifier","src":"8280:3:58"},"nativeSrc":"8280:57:58","nodeType":"YulFunctionCall","src":"8280:57:58"}],"functionName":{"name":"iszero","nativeSrc":"8273:6:58","nodeType":"YulIdentifier","src":"8273:6:58"},"nativeSrc":"8273:65:58","nodeType":"YulFunctionCall","src":"8273:65:58"},{"arguments":[{"arguments":[{"name":"liquidity","nativeSrc":"8367:9:58","nodeType":"YulIdentifier","src":"8367:9:58"},{"kind":"number","nativeSrc":"8378:34:58","nodeType":"YulLiteral","src":"8378:34:58","type":"","value":"0xffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"8363:3:58","nodeType":"YulIdentifier","src":"8363:3:58"},"nativeSrc":"8363:50:58","nodeType":"YulFunctionCall","src":"8363:50:58"}],"functionName":{"name":"iszero","nativeSrc":"8356:6:58","nodeType":"YulIdentifier","src":"8356:6:58"},"nativeSrc":"8356:58:58","nodeType":"YulFunctionCall","src":"8356:58:58"}],"functionName":{"name":"or","nativeSrc":"8253:2:58","nodeType":"YulIdentifier","src":"8253:2:58"},"nativeSrc":"8253:175:58","nodeType":"YulFunctionCall","src":"8253:175:58"},"nativeSrc":"8250:309:58","nodeType":"YulIf","src":"8250:309:58"}]},"evmVersion":"cancun","externalReferences":[{"declaration":55883,"isOffset":false,"isSlot":false,"src":"8367:9:58","valueSize":1},{"declaration":55881,"isOffset":false,"isSlot":false,"src":"8284:8:58","valueSize":1}],"flags":["memory-safe"],"id":55892,"nodeType":"InlineAssembly","src":"8211:358:58"},{"expression":{"condition":{"id":55893,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"8646:10:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":55901,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55881,"src":"8802:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55902,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55883,"src":"8812:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":55903,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"8823:9:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":55904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8834:5:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55900,"name":"getNextSqrtPriceFromAmount0RoundingUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55756,"src":"8764:37:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":55905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8764:76:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":55906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8646:194:58","trueExpression":{"arguments":[{"id":55895,"name":"sqrtPX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55881,"src":"8711:8:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55896,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55883,"src":"8721:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":55897,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"8732:9:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":55898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8743:5:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55894,"name":"getNextSqrtPriceFromAmount1RoundingDown","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55847,"src":"8671:39:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":55899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:78:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":55891,"id":55907,"nodeType":"Return","src":"8639:201:58"}]},"documentation":{"id":55879,"nodeType":"StructuredDocumentation","src":"7375:558:58","text":"@notice Gets the next sqrt price given an output amount of currency0 or currency1\n @dev Throws if price or liquidity are 0 or the next price is out of bounds\n @param sqrtPX96 The starting price before accounting for the output amount\n @param liquidity The amount of usable liquidity\n @param amountOut How much of currency0, or currency1, is being swapped out\n @param zeroForOne Whether the amount out is currency1 or currency0\n @return uint160 The price after removing the output amount of currency0 or currency1"},"id":55909,"implemented":true,"kind":"function","modifiers":[],"name":"getNextSqrtPriceFromOutput","nameLocation":"7947:26:58","nodeType":"FunctionDefinition","parameters":{"id":55888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55881,"mutability":"mutable","name":"sqrtPX96","nameLocation":"7982:8:58","nodeType":"VariableDeclaration","scope":55909,"src":"7974:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55880,"name":"uint160","nodeType":"ElementaryTypeName","src":"7974:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55883,"mutability":"mutable","name":"liquidity","nameLocation":"8000:9:58","nodeType":"VariableDeclaration","scope":55909,"src":"7992:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55882,"name":"uint128","nodeType":"ElementaryTypeName","src":"7992:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55885,"mutability":"mutable","name":"amountOut","nameLocation":"8019:9:58","nodeType":"VariableDeclaration","scope":55909,"src":"8011:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55884,"name":"uint256","nodeType":"ElementaryTypeName","src":"8011:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55887,"mutability":"mutable","name":"zeroForOne","nameLocation":"8035:10:58","nodeType":"VariableDeclaration","scope":55909,"src":"8030:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55886,"name":"bool","nodeType":"ElementaryTypeName","src":"8030:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7973:73:58"},"returnParameters":{"id":55891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55909,"src":"8094:7:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55889,"name":"uint160","nodeType":"ElementaryTypeName","src":"8094:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"8093:9:58"},"scope":56118,"src":"7938:909:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55974,"nodeType":"Block","src":"9562:886:58","statements":[{"id":55973,"nodeType":"UncheckedBlock","src":"9572:870:58","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":55925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55923,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"9600:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":55924,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"9616:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"9600:29:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55934,"nodeType":"IfStatement","src":"9596:98:58","trueBody":{"expression":{"id":55932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":55926,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"9632:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55927,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"9647:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":55928,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"9631:30:58","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":55929,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"9665:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":55930,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"9680:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":55931,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9664:30:58","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"9631:63:58","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55933,"nodeType":"ExpressionStatement","src":"9631:63:58"}},{"AST":{"nativeSrc":"9808:237:58","nodeType":"YulBlock","src":"9808:237:58","statements":[{"body":{"nativeSrc":"9900:131:58","nodeType":"YulBlock","src":"9900:131:58","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9929:1:58","nodeType":"YulLiteral","src":"9929:1:58","type":"","value":"0"},{"kind":"number","nativeSrc":"9932:10:58","nodeType":"YulLiteral","src":"9932:10:58","type":"","value":"0x00bfc921"}],"functionName":{"name":"mstore","nativeSrc":"9922:6:58","nodeType":"YulIdentifier","src":"9922:6:58"},"nativeSrc":"9922:21:58","nodeType":"YulFunctionCall","src":"9922:21:58"},"nativeSrc":"9922:21:58","nodeType":"YulExpressionStatement","src":"9922:21:58"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10002:4:58","nodeType":"YulLiteral","src":"10002:4:58","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"10008:4:58","nodeType":"YulLiteral","src":"10008:4:58","type":"","value":"0x04"}],"functionName":{"name":"revert","nativeSrc":"9995:6:58","nodeType":"YulIdentifier","src":"9995:6:58"},"nativeSrc":"9995:18:58","nodeType":"YulFunctionCall","src":"9995:18:58"},"nativeSrc":"9995:18:58","nodeType":"YulExpressionStatement","src":"9995:18:58"}]},"condition":{"arguments":[{"arguments":[{"name":"sqrtPriceAX96","nativeSrc":"9840:13:58","nodeType":"YulIdentifier","src":"9840:13:58"},{"kind":"number","nativeSrc":"9855:42:58","nodeType":"YulLiteral","src":"9855:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"9836:3:58","nodeType":"YulIdentifier","src":"9836:3:58"},"nativeSrc":"9836:62:58","nodeType":"YulFunctionCall","src":"9836:62:58"}],"functionName":{"name":"iszero","nativeSrc":"9829:6:58","nodeType":"YulIdentifier","src":"9829:6:58"},"nativeSrc":"9829:70:58","nodeType":"YulFunctionCall","src":"9829:70:58"},"nativeSrc":"9826:205:58","nodeType":"YulIf","src":"9826:205:58"}]},"evmVersion":"cancun","externalReferences":[{"declaration":55912,"isOffset":false,"isSlot":false,"src":"9840:13:58","valueSize":1}],"flags":["memory-safe"],"id":55935,"nodeType":"InlineAssembly","src":"9783:262:58"},{"assignments":[55937],"declarations":[{"constant":false,"id":55937,"mutability":"mutable","name":"numerator1","nameLocation":"10067:10:58","nodeType":"VariableDeclaration","scope":55973,"src":"10059:18:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55936,"name":"uint256","nodeType":"ElementaryTypeName","src":"10059:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55945,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55940,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55916,"src":"10088:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":55939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10080:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":55938,"name":"uint256","nodeType":"ElementaryTypeName","src":"10080:7:58","typeDescriptions":{}}},"id":55941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10080:18:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"expression":{"id":55942,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"10102:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":55943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10115:10:58","memberName":"RESOLUTION","nodeType":"MemberAccess","referencedDeclaration":56755,"src":"10102:23:58","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10080:45:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10059:66:58"},{"assignments":[55947],"declarations":[{"constant":false,"id":55947,"mutability":"mutable","name":"numerator2","nameLocation":"10147:10:58","nodeType":"VariableDeclaration","scope":55973,"src":"10139:18:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55946,"name":"uint256","nodeType":"ElementaryTypeName","src":"10139:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55951,"initialValue":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":55950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55948,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"10160:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":55949,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"10176:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"10160:29:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"VariableDeclarationStatement","src":"10139:50:58"},{"expression":{"condition":{"id":55952,"name":"roundUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55918,"src":"10211:7:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":55965,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55937,"src":"10377:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55966,"name":"numerator2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55947,"src":"10389:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55967,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"10401:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":55963,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"10361:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10370:6:58","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"10361:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10361:54:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":55969,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"10418:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"10361:70:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":55971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10211:220:58","trueExpression":{"arguments":[{"arguments":[{"id":55957,"name":"numerator1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55937,"src":"10288:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55958,"name":"numerator2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55947,"src":"10300:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55959,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55914,"src":"10312:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":55955,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"10262:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":55956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10271:16:58","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"10262:25:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":55960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10262:64:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55961,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55912,"src":"10328:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":55953,"name":"UnsafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56632,"src":"10237:10:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_UnsafeMath_$56632_$","typeString":"type(library UnsafeMath)"}},"id":55954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10248:13:58","memberName":"divRoundingUp","nodeType":"MemberAccess","referencedDeclaration":56617,"src":"10237:24:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":55962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10237:105:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55922,"id":55972,"nodeType":"Return","src":"10204:227:58"}]}]},"documentation":{"id":55910,"nodeType":"StructuredDocumentation","src":"8853:540:58","text":"@notice Gets the amount0 delta between two prices\n @dev Calculates liquidity / sqrt(lower) - liquidity / sqrt(upper),\n i.e. liquidity * (sqrt(upper) - sqrt(lower)) / (sqrt(upper) * sqrt(lower))\n @param sqrtPriceAX96 A sqrt price\n @param sqrtPriceBX96 Another sqrt price\n @param liquidity The amount of usable liquidity\n @param roundUp Whether to round the amount up or down\n @return uint256 Amount of currency0 required to cover a position of size liquidity between the two passed prices"},"id":55975,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount0Delta","nameLocation":"9407:15:58","nodeType":"FunctionDefinition","parameters":{"id":55919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55912,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"9431:13:58","nodeType":"VariableDeclaration","scope":55975,"src":"9423:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55911,"name":"uint160","nodeType":"ElementaryTypeName","src":"9423:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55914,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"9454:13:58","nodeType":"VariableDeclaration","scope":55975,"src":"9446:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55913,"name":"uint160","nodeType":"ElementaryTypeName","src":"9446:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55916,"mutability":"mutable","name":"liquidity","nameLocation":"9477:9:58","nodeType":"VariableDeclaration","scope":55975,"src":"9469:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55915,"name":"uint128","nodeType":"ElementaryTypeName","src":"9469:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55918,"mutability":"mutable","name":"roundUp","nameLocation":"9493:7:58","nodeType":"VariableDeclaration","scope":55975,"src":"9488:12:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55917,"name":"bool","nodeType":"ElementaryTypeName","src":"9488:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9422:79:58"},"returnParameters":{"id":55922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55975,"src":"9549:7:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55920,"name":"uint256","nodeType":"ElementaryTypeName","src":"9549:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9548:9:58"},"scope":56118,"src":"9398:1050:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":55986,"nodeType":"Block","src":"10585:546:58","statements":[{"AST":{"nativeSrc":"10620:505:58","nodeType":"YulBlock","src":"10620:505:58","statements":[{"nativeSrc":"10634:135:58","nodeType":"YulVariableDeclaration","src":"10634:135:58","value":{"arguments":[{"arguments":[{"name":"a","nativeSrc":"10670:1:58","nodeType":"YulIdentifier","src":"10670:1:58"},{"kind":"number","nativeSrc":"10673:42:58","nodeType":"YulLiteral","src":"10673:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"10666:3:58","nodeType":"YulIdentifier","src":"10666:3:58"},"nativeSrc":"10666:50:58","nodeType":"YulFunctionCall","src":"10666:50:58"},{"arguments":[{"name":"b","nativeSrc":"10722:1:58","nodeType":"YulIdentifier","src":"10722:1:58"},{"kind":"number","nativeSrc":"10725:42:58","nodeType":"YulLiteral","src":"10725:42:58","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"10718:3:58","nodeType":"YulIdentifier","src":"10718:3:58"},"nativeSrc":"10718:50:58","nodeType":"YulFunctionCall","src":"10718:50:58"}],"functionName":{"name":"sub","nativeSrc":"10662:3:58","nodeType":"YulIdentifier","src":"10662:3:58"},"nativeSrc":"10662:107:58","nodeType":"YulFunctionCall","src":"10662:107:58"},"variables":[{"name":"diff","nativeSrc":"10638:4:58","nodeType":"YulTypedName","src":"10638:4:58","type":""}]},{"nativeSrc":"10833:26:58","nodeType":"YulVariableDeclaration","src":"10833:26:58","value":{"arguments":[{"kind":"number","nativeSrc":"10849:3:58","nodeType":"YulLiteral","src":"10849:3:58","type":"","value":"255"},{"name":"diff","nativeSrc":"10854:4:58","nodeType":"YulIdentifier","src":"10854:4:58"}],"functionName":{"name":"sar","nativeSrc":"10845:3:58","nodeType":"YulIdentifier","src":"10845:3:58"},"nativeSrc":"10845:14:58","nodeType":"YulFunctionCall","src":"10845:14:58"},"variables":[{"name":"mask","nativeSrc":"10837:4:58","nodeType":"YulTypedName","src":"10837:4:58","type":""}]},{"nativeSrc":"11082:33:58","nodeType":"YulAssignment","src":"11082:33:58","value":{"arguments":[{"name":"mask","nativeSrc":"11093:4:58","nodeType":"YulIdentifier","src":"11093:4:58"},{"arguments":[{"name":"mask","nativeSrc":"11103:4:58","nodeType":"YulIdentifier","src":"11103:4:58"},{"name":"diff","nativeSrc":"11109:4:58","nodeType":"YulIdentifier","src":"11109:4:58"}],"functionName":{"name":"add","nativeSrc":"11099:3:58","nodeType":"YulIdentifier","src":"11099:3:58"},"nativeSrc":"11099:15:58","nodeType":"YulFunctionCall","src":"11099:15:58"}],"functionName":{"name":"xor","nativeSrc":"11089:3:58","nodeType":"YulIdentifier","src":"11089:3:58"},"nativeSrc":"11089:26:58","nodeType":"YulFunctionCall","src":"11089:26:58"},"variableNames":[{"name":"res","nativeSrc":"11082:3:58","nodeType":"YulIdentifier","src":"11082:3:58"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":55978,"isOffset":false,"isSlot":false,"src":"10670:1:58","valueSize":1},{"declaration":55980,"isOffset":false,"isSlot":false,"src":"10722:1:58","valueSize":1},{"declaration":55983,"isOffset":false,"isSlot":false,"src":"11082:3:58","valueSize":1}],"flags":["memory-safe"],"id":55985,"nodeType":"InlineAssembly","src":"10595:530:58"}]},"documentation":{"id":55976,"nodeType":"StructuredDocumentation","src":"10454:51:58","text":"@notice Equivalent to: `a >= b ? a - b : b - a`"},"id":55987,"implemented":true,"kind":"function","modifiers":[],"name":"absDiff","nameLocation":"10519:7:58","nodeType":"FunctionDefinition","parameters":{"id":55981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55978,"mutability":"mutable","name":"a","nameLocation":"10535:1:58","nodeType":"VariableDeclaration","scope":55987,"src":"10527:9:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55977,"name":"uint160","nodeType":"ElementaryTypeName","src":"10527:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55980,"mutability":"mutable","name":"b","nameLocation":"10546:1:58","nodeType":"VariableDeclaration","scope":55987,"src":"10538:9:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55979,"name":"uint160","nodeType":"ElementaryTypeName","src":"10538:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"10526:22:58"},"returnParameters":{"id":55984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55983,"mutability":"mutable","name":"res","nameLocation":"10580:3:58","nodeType":"VariableDeclaration","scope":55987,"src":"10572:11:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55982,"name":"uint256","nodeType":"ElementaryTypeName","src":"10572:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10571:13:58"},"scope":56118,"src":"10510:621:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56030,"nodeType":"Block","src":"11761:766:58","statements":[{"assignments":[56002],"declarations":[{"constant":false,"id":56002,"mutability":"mutable","name":"numerator","nameLocation":"11779:9:58","nodeType":"VariableDeclaration","scope":56030,"src":"11771:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56001,"name":"uint256","nodeType":"ElementaryTypeName","src":"11771:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56007,"initialValue":{"arguments":[{"id":56004,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55990,"src":"11799:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56005,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55992,"src":"11814:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":56003,"name":"absDiff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55987,"src":"11791:7:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$returns$_t_uint256_$","typeString":"function (uint160,uint160) pure returns (uint256)"}},"id":56006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11791:37:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11771:57:58"},{"assignments":[56009],"declarations":[{"constant":false,"id":56009,"mutability":"mutable","name":"denominator","nameLocation":"11846:11:58","nodeType":"VariableDeclaration","scope":56030,"src":"11838:19:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56008,"name":"uint256","nodeType":"ElementaryTypeName","src":"11838:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56012,"initialValue":{"expression":{"id":56010,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"11860:12:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":56011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11873:3:58","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"11860:16:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11838:38:58"},{"assignments":[56014],"declarations":[{"constant":false,"id":56014,"mutability":"mutable","name":"_liquidity","nameLocation":"11894:10:58","nodeType":"VariableDeclaration","scope":56030,"src":"11886:18:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56013,"name":"uint256","nodeType":"ElementaryTypeName","src":"11886:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56019,"initialValue":{"arguments":[{"id":56017,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"11915:9:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":56016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11907:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56015,"name":"uint256","nodeType":"ElementaryTypeName","src":"11907:7:58","typeDescriptions":{}}},"id":56018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11907:18:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11886:39:58"},{"documentation":" Equivalent to:\n   amount1 = roundUp\n       ? FullMath.mulDivRoundingUp(liquidity, sqrtPriceBX96 - sqrtPriceAX96, FixedPoint96.Q96)\n       : FullMath.mulDiv(liquidity, sqrtPriceBX96 - sqrtPriceAX96, FixedPoint96.Q96);\n Cannot overflow because `type(uint128).max * type(uint160).max >> 96 < (1 << 192)`.","expression":{"id":56027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56020,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55999,"src":"12313:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":56023,"name":"_liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56014,"src":"12339:10:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56024,"name":"numerator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56002,"src":"12351:9:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56025,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56009,"src":"12362:11:58","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":56021,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"12323:8:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":56022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12332:6:58","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"12323:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":56026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12323:51:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12313:61:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56028,"nodeType":"ExpressionStatement","src":"12313:61:58"},{"AST":{"nativeSrc":"12409:112:58","nodeType":"YulBlock","src":"12409:112:58","statements":[{"nativeSrc":"12423:88:58","nodeType":"YulAssignment","src":"12423:88:58","value":{"arguments":[{"name":"amount1","nativeSrc":"12438:7:58","nodeType":"YulIdentifier","src":"12438:7:58"},{"arguments":[{"arguments":[{"arguments":[{"name":"_liquidity","nativeSrc":"12461:10:58","nodeType":"YulIdentifier","src":"12461:10:58"},{"name":"numerator","nativeSrc":"12473:9:58","nodeType":"YulIdentifier","src":"12473:9:58"},{"name":"denominator","nativeSrc":"12484:11:58","nodeType":"YulIdentifier","src":"12484:11:58"}],"functionName":{"name":"mulmod","nativeSrc":"12454:6:58","nodeType":"YulIdentifier","src":"12454:6:58"},"nativeSrc":"12454:42:58","nodeType":"YulFunctionCall","src":"12454:42:58"},{"kind":"number","nativeSrc":"12498:1:58","nodeType":"YulLiteral","src":"12498:1:58","type":"","value":"0"}],"functionName":{"name":"gt","nativeSrc":"12451:2:58","nodeType":"YulIdentifier","src":"12451:2:58"},"nativeSrc":"12451:49:58","nodeType":"YulFunctionCall","src":"12451:49:58"},{"name":"roundUp","nativeSrc":"12502:7:58","nodeType":"YulIdentifier","src":"12502:7:58"}],"functionName":{"name":"and","nativeSrc":"12447:3:58","nodeType":"YulIdentifier","src":"12447:3:58"},"nativeSrc":"12447:63:58","nodeType":"YulFunctionCall","src":"12447:63:58"}],"functionName":{"name":"add","nativeSrc":"12434:3:58","nodeType":"YulIdentifier","src":"12434:3:58"},"nativeSrc":"12434:77:58","nodeType":"YulFunctionCall","src":"12434:77:58"},"variableNames":[{"name":"amount1","nativeSrc":"12423:7:58","nodeType":"YulIdentifier","src":"12423:7:58"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56014,"isOffset":false,"isSlot":false,"src":"12461:10:58","valueSize":1},{"declaration":55999,"isOffset":false,"isSlot":false,"src":"12423:7:58","valueSize":1},{"declaration":55999,"isOffset":false,"isSlot":false,"src":"12438:7:58","valueSize":1},{"declaration":56009,"isOffset":false,"isSlot":false,"src":"12484:11:58","valueSize":1},{"declaration":56002,"isOffset":false,"isSlot":false,"src":"12473:9:58","valueSize":1},{"declaration":55996,"isOffset":false,"isSlot":false,"src":"12502:7:58","valueSize":1}],"flags":["memory-safe"],"id":56029,"nodeType":"InlineAssembly","src":"12384:137:58"}]},"documentation":{"id":55988,"nodeType":"StructuredDocumentation","src":"11137:447:58","text":"@notice Gets the amount1 delta between two prices\n @dev Calculates liquidity * (sqrt(upper) - sqrt(lower))\n @param sqrtPriceAX96 A sqrt price\n @param sqrtPriceBX96 Another sqrt price\n @param liquidity The amount of usable liquidity\n @param roundUp Whether to round the amount up, or down\n @return amount1 Amount of currency1 required to cover a position of size liquidity between the two passed prices"},"id":56031,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount1Delta","nameLocation":"11598:15:58","nodeType":"FunctionDefinition","parameters":{"id":55997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55990,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"11622:13:58","nodeType":"VariableDeclaration","scope":56031,"src":"11614:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55989,"name":"uint160","nodeType":"ElementaryTypeName","src":"11614:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55992,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"11645:13:58","nodeType":"VariableDeclaration","scope":56031,"src":"11637:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":55991,"name":"uint160","nodeType":"ElementaryTypeName","src":"11637:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":55994,"mutability":"mutable","name":"liquidity","nameLocation":"11668:9:58","nodeType":"VariableDeclaration","scope":56031,"src":"11660:17:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":55993,"name":"uint128","nodeType":"ElementaryTypeName","src":"11660:7:58","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":55996,"mutability":"mutable","name":"roundUp","nameLocation":"11684:7:58","nodeType":"VariableDeclaration","scope":56031,"src":"11679:12:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55995,"name":"bool","nodeType":"ElementaryTypeName","src":"11679:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11613:79:58"},"returnParameters":{"id":56000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55999,"mutability":"mutable","name":"amount1","nameLocation":"11748:7:58","nodeType":"VariableDeclaration","scope":56031,"src":"11740:15:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55998,"name":"uint256","nodeType":"ElementaryTypeName","src":"11740:7:58","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11739:17:58"},"scope":56118,"src":"11589:938:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56073,"nodeType":"Block","src":"13024:276:58","statements":[{"id":56072,"nodeType":"UncheckedBlock","src":"13034:260:58","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":56045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56043,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56038,"src":"13065:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":56044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13077:1:58","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13065:13:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":56069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13200:83:58","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":56059,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56034,"src":"13217:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56060,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56036,"src":"13232:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":56063,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56038,"src":"13255:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":56062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13247:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":56061,"name":"uint128","nodeType":"ElementaryTypeName","src":"13247:7:58","typeDescriptions":{}}},"id":56064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13247:18:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13267:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":56058,"name":"getAmount0Delta","nodeType":"Identifier","overloadedDeclarations":[55975,56074],"referencedDeclaration":55975,"src":"13201:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13201:71:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13273:8:58","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"13201:80:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":56068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13201:82:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":56070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13065:218:58","trueExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":56047,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56034,"src":"13113:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56048,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56036,"src":"13128:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":56052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13151:10:58","subExpression":{"id":56051,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56038,"src":"13152:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":56050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13143:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":56049,"name":"uint128","nodeType":"ElementaryTypeName","src":"13143:7:58","typeDescriptions":{}}},"id":56053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13143:19:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13164:5:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":56046,"name":"getAmount0Delta","nodeType":"Identifier","overloadedDeclarations":[55975,56074],"referencedDeclaration":55975,"src":"13097:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:73:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13171:8:58","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"13097:82:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":56057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13097:84:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":56042,"id":56071,"nodeType":"Return","src":"13058:225:58"}]}]},"documentation":{"id":56032,"nodeType":"StructuredDocumentation","src":"12533:338:58","text":"@notice Helper that gets signed currency0 delta\n @param sqrtPriceAX96 A sqrt price\n @param sqrtPriceBX96 Another sqrt price\n @param liquidity The change in liquidity for which to compute the amount0 delta\n @return int256 Amount of currency0 corresponding to the passed liquidityDelta between the two prices"},"id":56074,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount0Delta","nameLocation":"12885:15:58","nodeType":"FunctionDefinition","parameters":{"id":56039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56034,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"12909:13:58","nodeType":"VariableDeclaration","scope":56074,"src":"12901:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56033,"name":"uint160","nodeType":"ElementaryTypeName","src":"12901:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56036,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"12932:13:58","nodeType":"VariableDeclaration","scope":56074,"src":"12924:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56035,"name":"uint160","nodeType":"ElementaryTypeName","src":"12924:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56038,"mutability":"mutable","name":"liquidity","nameLocation":"12954:9:58","nodeType":"VariableDeclaration","scope":56074,"src":"12947:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":56037,"name":"int128","nodeType":"ElementaryTypeName","src":"12947:6:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"12900:64:58"},"returnParameters":{"id":56042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56074,"src":"13012:6:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":56040,"name":"int256","nodeType":"ElementaryTypeName","src":"13012:6:58","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13011:8:58"},"scope":56118,"src":"12876:424:58","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56116,"nodeType":"Block","src":"13797:276:58","statements":[{"id":56115,"nodeType":"UncheckedBlock","src":"13807:260:58","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":56088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56086,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56081,"src":"13838:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":56087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13850:1:58","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13838:13:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":56112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13973:83:58","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":56102,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56077,"src":"13990:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56103,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56079,"src":"14005:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":56106,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56081,"src":"14028:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":56105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14020:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":56104,"name":"uint128","nodeType":"ElementaryTypeName","src":"14020:7:58","typeDescriptions":{}}},"id":56107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:18:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14040:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":56101,"name":"getAmount1Delta","nodeType":"Identifier","overloadedDeclarations":[56031,56117],"referencedDeclaration":56031,"src":"13974:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13974:71:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14046:8:58","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"13974:80:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":56111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13974:82:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":56113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13838:218:58","trueExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":56090,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56077,"src":"13886:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56091,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56079,"src":"13901:13:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":56095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13924:10:58","subExpression":{"id":56094,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56081,"src":"13925:9:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":56093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13916:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":56092,"name":"uint128","nodeType":"ElementaryTypeName","src":"13916:7:58","typeDescriptions":{}}},"id":56096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13916:19:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13937:5:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":56089,"name":"getAmount1Delta","nodeType":"Identifier","overloadedDeclarations":[56031,56117],"referencedDeclaration":56031,"src":"13870:15:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13870:73:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13944:8:58","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"13870:82:58","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":56100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13870:84:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":56085,"id":56114,"nodeType":"Return","src":"13831:225:58"}]}]},"documentation":{"id":56075,"nodeType":"StructuredDocumentation","src":"13306:338:58","text":"@notice Helper that gets signed currency1 delta\n @param sqrtPriceAX96 A sqrt price\n @param sqrtPriceBX96 Another sqrt price\n @param liquidity The change in liquidity for which to compute the amount1 delta\n @return int256 Amount of currency1 corresponding to the passed liquidityDelta between the two prices"},"id":56117,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount1Delta","nameLocation":"13658:15:58","nodeType":"FunctionDefinition","parameters":{"id":56082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56077,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"13682:13:58","nodeType":"VariableDeclaration","scope":56117,"src":"13674:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56076,"name":"uint160","nodeType":"ElementaryTypeName","src":"13674:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56079,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"13705:13:58","nodeType":"VariableDeclaration","scope":56117,"src":"13697:21:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56078,"name":"uint160","nodeType":"ElementaryTypeName","src":"13697:7:58","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56081,"mutability":"mutable","name":"liquidity","nameLocation":"13727:9:58","nodeType":"VariableDeclaration","scope":56117,"src":"13720:16:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":56080,"name":"int128","nodeType":"ElementaryTypeName","src":"13720:6:58","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"13673:64:58"},"returnParameters":{"id":56085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56117,"src":"13785:6:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":56083,"name":"int256","nodeType":"ElementaryTypeName","src":"13785:6:58","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13784:8:58"},"scope":56118,"src":"13649:424:58","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":56119,"src":"402:13673:58","usedErrors":[55643,55645,55647,55649],"usedEvents":[]}],"src":"32:14044:58"},"id":58},"v4-core/src/libraries/StateLibrary.sol":{"ast":{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","exportedSymbols":{"IPoolManager":[1763],"PoolId":[4699],"Position":[1929],"StateLibrary":[2586]},"id":2587,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1931,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:59"},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"../types/PoolId.sol","id":1933,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2587,"sourceUnit":4714,"src":"57:43:59","symbolAliases":[{"foreign":{"id":1932,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"65:6:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":1935,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2587,"sourceUnit":1764,"src":"101:60:59","symbolAliases":[{"foreign":{"id":1934,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"109:12:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Position.sol","file":"./Position.sol","id":1937,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2587,"sourceUnit":1930,"src":"162:40:59","symbolAliases":[{"foreign":{"id":1936,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"170:8:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"StateLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":1938,"nodeType":"StructuredDocumentation","src":"204:72:59","text":"@notice A helper library to provide state getters that use extsload"},"fullyImplemented":true,"id":2586,"linearizedBaseContracts":[2586],"name":"StateLibrary","nameLocation":"284:12:59","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":1939,"nodeType":"StructuredDocumentation","src":"303:53:59","text":"@notice index of pools mapping in the PoolManager"},"functionSelector":"57eb1da7","id":1948,"mutability":"constant","name":"POOLS_SLOT","nameLocation":"385:10:59","nodeType":"VariableDeclaration","scope":2586,"src":"361:56:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"36","id":1945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414:1:59","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":1944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"406:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1943,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:59","typeDescriptions":{}}},"id":1946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"406:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"398:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398:7:59","typeDescriptions":{}}},"id":1947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"398:19:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"constant":true,"documentation":{"id":1949,"nodeType":"StructuredDocumentation","src":"424:55:59","text":"@notice index of feeGrowthGlobal0X128 in Pool.State"},"functionSelector":"ca24e3b5","id":1952,"mutability":"constant","name":"FEE_GROWTH_GLOBAL0_OFFSET","nameLocation":"508:25:59","nodeType":"VariableDeclaration","scope":2586,"src":"484:53:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1950,"name":"uint256","nodeType":"ElementaryTypeName","src":"484:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":1951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"536:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"constant":true,"documentation":{"id":1953,"nodeType":"StructuredDocumentation","src":"598:44:59","text":"@notice index of liquidity in Pool.State"},"functionSelector":"b432004a","id":1956,"mutability":"constant","name":"LIQUIDITY_OFFSET","nameLocation":"671:16:59","nodeType":"VariableDeclaration","scope":2586,"src":"647:44:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1954,"name":"uint256","nodeType":"ElementaryTypeName","src":"647:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":1955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"690:1:59","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"constant":true,"documentation":{"id":1957,"nodeType":"StructuredDocumentation","src":"698:87:59","text":"@notice index of TicksInfo mapping in Pool.State: mapping(int24 => TickInfo) ticks;"},"functionSelector":"769323e3","id":1960,"mutability":"constant","name":"TICKS_OFFSET","nameLocation":"814:12:59","nodeType":"VariableDeclaration","scope":2586,"src":"790:40:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1958,"name":"uint256","nodeType":"ElementaryTypeName","src":"790:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34","id":1959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"829:1:59","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"public"},{"constant":true,"documentation":{"id":1961,"nodeType":"StructuredDocumentation","src":"837:53:59","text":"@notice index of tickBitmap mapping in Pool.State"},"functionSelector":"7d35604a","id":1964,"mutability":"constant","name":"TICK_BITMAP_OFFSET","nameLocation":"919:18:59","nodeType":"VariableDeclaration","scope":2586,"src":"895:46:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1962,"name":"uint256","nodeType":"ElementaryTypeName","src":"895:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35","id":1963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"940:1:59","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"visibility":"public"},{"constant":true,"documentation":{"id":1965,"nodeType":"StructuredDocumentation","src":"948:104:59","text":"@notice index of Position.State mapping in Pool.State: mapping(bytes32 => Position.State) positions;"},"functionSelector":"2ba31c53","id":1968,"mutability":"constant","name":"POSITIONS_OFFSET","nameLocation":"1081:16:59","nodeType":"VariableDeclaration","scope":2586,"src":"1057:44:59","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1966,"name":"uint256","nodeType":"ElementaryTypeName","src":"1057:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36","id":1967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1100:1:59","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"body":{"id":2000,"nodeType":"Block","src":"1754:822:59","statements":[{"assignments":[1987],"declarations":[{"constant":false,"id":1987,"mutability":"mutable","name":"stateSlot","nameLocation":"1829:9:59","nodeType":"VariableDeclaration","scope":2000,"src":"1821:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1821:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1991,"initialValue":{"arguments":[{"id":1989,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"1859:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":1988,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"1841:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":1990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1841:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1821:45:59"},{"assignments":[1993],"declarations":[{"constant":false,"id":1993,"mutability":"mutable","name":"data","nameLocation":"1885:4:59","nodeType":"VariableDeclaration","scope":2000,"src":"1877:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1877:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1998,"initialValue":{"arguments":[{"id":1996,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1987,"src":"1909:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1994,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"1892:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":1995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1900:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44873,"src":"1892:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":1997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:27:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1877:42:59"},{"AST":{"nativeSrc":"2172:398:59","nodeType":"YulBlock","src":"2172:398:59","statements":[{"nativeSrc":"2225:69:59","nodeType":"YulAssignment","src":"2225:69:59","value":{"arguments":[{"name":"data","nativeSrc":"2245:4:59","nodeType":"YulIdentifier","src":"2245:4:59"},{"kind":"number","nativeSrc":"2251:42:59","nodeType":"YulLiteral","src":"2251:42:59","type":"","value":"0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"}],"functionName":{"name":"and","nativeSrc":"2241:3:59","nodeType":"YulIdentifier","src":"2241:3:59"},"nativeSrc":"2241:53:59","nodeType":"YulFunctionCall","src":"2241:53:59"},"variableNames":[{"name":"sqrtPriceX96","nativeSrc":"2225:12:59","nodeType":"YulIdentifier","src":"2225:12:59"}]},{"nativeSrc":"2343:37:59","nodeType":"YulAssignment","src":"2343:37:59","value":{"arguments":[{"kind":"number","nativeSrc":"2362:1:59","nodeType":"YulLiteral","src":"2362:1:59","type":"","value":"2"},{"arguments":[{"kind":"number","nativeSrc":"2369:3:59","nodeType":"YulLiteral","src":"2369:3:59","type":"","value":"160"},{"name":"data","nativeSrc":"2374:4:59","nodeType":"YulIdentifier","src":"2374:4:59"}],"functionName":{"name":"shr","nativeSrc":"2365:3:59","nodeType":"YulIdentifier","src":"2365:3:59"},"nativeSrc":"2365:14:59","nodeType":"YulFunctionCall","src":"2365:14:59"}],"functionName":{"name":"signextend","nativeSrc":"2351:10:59","nodeType":"YulIdentifier","src":"2351:10:59"},"nativeSrc":"2351:29:59","nodeType":"YulFunctionCall","src":"2351:29:59"},"variableNames":[{"name":"tick","nativeSrc":"2343:4:59","nodeType":"YulIdentifier","src":"2343:4:59"}]},{"nativeSrc":"2429:44:59","nodeType":"YulAssignment","src":"2429:44:59","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"2452:3:59","nodeType":"YulLiteral","src":"2452:3:59","type":"","value":"184"},{"name":"data","nativeSrc":"2457:4:59","nodeType":"YulIdentifier","src":"2457:4:59"}],"functionName":{"name":"shr","nativeSrc":"2448:3:59","nodeType":"YulIdentifier","src":"2448:3:59"},"nativeSrc":"2448:14:59","nodeType":"YulFunctionCall","src":"2448:14:59"},{"kind":"number","nativeSrc":"2464:8:59","nodeType":"YulLiteral","src":"2464:8:59","type":"","value":"0xFFFFFF"}],"functionName":{"name":"and","nativeSrc":"2444:3:59","nodeType":"YulIdentifier","src":"2444:3:59"},"nativeSrc":"2444:29:59","nodeType":"YulFunctionCall","src":"2444:29:59"},"variableNames":[{"name":"protocolFee","nativeSrc":"2429:11:59","nodeType":"YulIdentifier","src":"2429:11:59"}]},{"nativeSrc":"2522:38:59","nodeType":"YulAssignment","src":"2522:38:59","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"2539:3:59","nodeType":"YulLiteral","src":"2539:3:59","type":"","value":"208"},{"name":"data","nativeSrc":"2544:4:59","nodeType":"YulIdentifier","src":"2544:4:59"}],"functionName":{"name":"shr","nativeSrc":"2535:3:59","nodeType":"YulIdentifier","src":"2535:3:59"},"nativeSrc":"2535:14:59","nodeType":"YulFunctionCall","src":"2535:14:59"},{"kind":"number","nativeSrc":"2551:8:59","nodeType":"YulLiteral","src":"2551:8:59","type":"","value":"0xFFFFFF"}],"functionName":{"name":"and","nativeSrc":"2531:3:59","nodeType":"YulIdentifier","src":"2531:3:59"},"nativeSrc":"2531:29:59","nodeType":"YulFunctionCall","src":"2531:29:59"},"variableNames":[{"name":"lpFee","nativeSrc":"2522:5:59","nodeType":"YulIdentifier","src":"2522:5:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":1993,"isOffset":false,"isSlot":false,"src":"2245:4:59","valueSize":1},{"declaration":1993,"isOffset":false,"isSlot":false,"src":"2374:4:59","valueSize":1},{"declaration":1993,"isOffset":false,"isSlot":false,"src":"2457:4:59","valueSize":1},{"declaration":1993,"isOffset":false,"isSlot":false,"src":"2544:4:59","valueSize":1},{"declaration":1984,"isOffset":false,"isSlot":false,"src":"2522:5:59","valueSize":1},{"declaration":1982,"isOffset":false,"isSlot":false,"src":"2429:11:59","valueSize":1},{"declaration":1978,"isOffset":false,"isSlot":false,"src":"2225:12:59","valueSize":1},{"declaration":1980,"isOffset":false,"isSlot":false,"src":"2343:4:59","valueSize":1}],"flags":["memory-safe"],"id":1999,"nodeType":"InlineAssembly","src":"2147:423:59"}]},"documentation":{"id":1969,"nodeType":"StructuredDocumentation","src":"1108:467:59","text":" @notice Get Slot0 of the pool: sqrtPriceX96, tick, protocolFee, lpFee\n @dev Corresponds to pools[poolId].slot0\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @return sqrtPriceX96 The square root of the price of the pool, in Q96 precision.\n @return tick The current tick of the pool.\n @return protocolFee The protocol fee of the pool.\n @return lpFee The swap fee of the pool."},"id":2001,"implemented":true,"kind":"function","modifiers":[],"name":"getSlot0","nameLocation":"1589:8:59","nodeType":"FunctionDefinition","parameters":{"id":1976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1972,"mutability":"mutable","name":"manager","nameLocation":"1611:7:59","nodeType":"VariableDeclaration","scope":2001,"src":"1598:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":1971,"nodeType":"UserDefinedTypeName","pathNode":{"id":1970,"name":"IPoolManager","nameLocations":["1598:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1598:12:59"},"referencedDeclaration":1763,"src":"1598:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":1975,"mutability":"mutable","name":"poolId","nameLocation":"1627:6:59","nodeType":"VariableDeclaration","scope":2001,"src":"1620:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":1974,"nodeType":"UserDefinedTypeName","pathNode":{"id":1973,"name":"PoolId","nameLocations":["1620:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"1620:6:59"},"referencedDeclaration":4699,"src":"1620:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"1597:37:59"},"returnParameters":{"id":1985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1978,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"1690:12:59","nodeType":"VariableDeclaration","scope":2001,"src":"1682:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":1977,"name":"uint160","nodeType":"ElementaryTypeName","src":"1682:7:59","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":1980,"mutability":"mutable","name":"tick","nameLocation":"1710:4:59","nodeType":"VariableDeclaration","scope":2001,"src":"1704:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":1979,"name":"int24","nodeType":"ElementaryTypeName","src":"1704:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":1982,"mutability":"mutable","name":"protocolFee","nameLocation":"1723:11:59","nodeType":"VariableDeclaration","scope":2001,"src":"1716:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1981,"name":"uint24","nodeType":"ElementaryTypeName","src":"1716:6:59","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":1984,"mutability":"mutable","name":"lpFee","nameLocation":"1743:5:59","nodeType":"VariableDeclaration","scope":2001,"src":"1736:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":1983,"name":"uint24","nodeType":"ElementaryTypeName","src":"1736:6:59","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1681:68:59"},"scope":2586,"src":"1580:996:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2040,"nodeType":"Block","src":"3644:513:59","statements":[{"assignments":[2022],"declarations":[{"constant":false,"id":2022,"mutability":"mutable","name":"slot","nameLocation":"3662:4:59","nodeType":"VariableDeclaration","scope":2040,"src":"3654:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3654:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2027,"initialValue":{"arguments":[{"id":2024,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2008,"src":"3686:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2025,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2010,"src":"3694:4:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2023,"name":"_getTickInfoSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"3669:16:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$_t_int24_$returns$_t_bytes32_$","typeString":"function (PoolId,int24) pure returns (bytes32)"}},"id":2026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3669:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3654:45:59"},{"assignments":[2032],"declarations":[{"constant":false,"id":2032,"mutability":"mutable","name":"data","nameLocation":"3778:4:59","nodeType":"VariableDeclaration","scope":2040,"src":"3761:21:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":2030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3761:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2031,"nodeType":"ArrayTypeName","src":"3761:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":2038,"initialValue":{"arguments":[{"id":2035,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2022,"src":"3802:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"33","id":2036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:59","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":2033,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2005,"src":"3785:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3793:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44884,"src":"3785:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (bytes32,uint256) view external returns (bytes32[] memory)"}},"id":2037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3785:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3761:49:59"},{"AST":{"nativeSrc":"3845:306:59","nodeType":"YulBlock","src":"3845:306:59","statements":[{"nativeSrc":"3859:37:59","nodeType":"YulVariableDeclaration","src":"3859:37:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"3886:4:59","nodeType":"YulIdentifier","src":"3886:4:59"},{"kind":"number","nativeSrc":"3892:2:59","nodeType":"YulLiteral","src":"3892:2:59","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"3882:3:59","nodeType":"YulIdentifier","src":"3882:3:59"},"nativeSrc":"3882:13:59","nodeType":"YulFunctionCall","src":"3882:13:59"}],"functionName":{"name":"mload","nativeSrc":"3876:5:59","nodeType":"YulIdentifier","src":"3876:5:59"},"nativeSrc":"3876:20:59","nodeType":"YulFunctionCall","src":"3876:20:59"},"variables":[{"name":"firstWord","nativeSrc":"3863:9:59","nodeType":"YulTypedName","src":"3863:9:59","type":""}]},{"nativeSrc":"3909:35:59","nodeType":"YulAssignment","src":"3909:35:59","value":{"arguments":[{"kind":"number","nativeSrc":"3929:3:59","nodeType":"YulLiteral","src":"3929:3:59","type":"","value":"128"},{"name":"firstWord","nativeSrc":"3934:9:59","nodeType":"YulIdentifier","src":"3934:9:59"}],"functionName":{"name":"sar","nativeSrc":"3925:3:59","nodeType":"YulIdentifier","src":"3925:3:59"},"nativeSrc":"3925:19:59","nodeType":"YulFunctionCall","src":"3925:19:59"},"variableNames":[{"name":"liquidityNet","nativeSrc":"3909:12:59","nodeType":"YulIdentifier","src":"3909:12:59"}]},{"nativeSrc":"3957:68:59","nodeType":"YulAssignment","src":"3957:68:59","value":{"arguments":[{"name":"firstWord","nativeSrc":"3979:9:59","nodeType":"YulIdentifier","src":"3979:9:59"},{"kind":"number","nativeSrc":"3990:34:59","nodeType":"YulLiteral","src":"3990:34:59","type":"","value":"0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"}],"functionName":{"name":"and","nativeSrc":"3975:3:59","nodeType":"YulIdentifier","src":"3975:3:59"},"nativeSrc":"3975:50:59","nodeType":"YulFunctionCall","src":"3975:50:59"},"variableNames":[{"name":"liquidityGross","nativeSrc":"3957:14:59","nodeType":"YulIdentifier","src":"3957:14:59"}]},{"nativeSrc":"4038:45:59","nodeType":"YulAssignment","src":"4038:45:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"4073:4:59","nodeType":"YulIdentifier","src":"4073:4:59"},{"kind":"number","nativeSrc":"4079:2:59","nodeType":"YulLiteral","src":"4079:2:59","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"4069:3:59","nodeType":"YulIdentifier","src":"4069:3:59"},"nativeSrc":"4069:13:59","nodeType":"YulFunctionCall","src":"4069:13:59"}],"functionName":{"name":"mload","nativeSrc":"4063:5:59","nodeType":"YulIdentifier","src":"4063:5:59"},"nativeSrc":"4063:20:59","nodeType":"YulFunctionCall","src":"4063:20:59"},"variableNames":[{"name":"feeGrowthOutside0X128","nativeSrc":"4038:21:59","nodeType":"YulIdentifier","src":"4038:21:59"}]},{"nativeSrc":"4096:45:59","nodeType":"YulAssignment","src":"4096:45:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"4131:4:59","nodeType":"YulIdentifier","src":"4131:4:59"},{"kind":"number","nativeSrc":"4137:2:59","nodeType":"YulLiteral","src":"4137:2:59","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"4127:3:59","nodeType":"YulIdentifier","src":"4127:3:59"},"nativeSrc":"4127:13:59","nodeType":"YulFunctionCall","src":"4127:13:59"}],"functionName":{"name":"mload","nativeSrc":"4121:5:59","nodeType":"YulIdentifier","src":"4121:5:59"},"nativeSrc":"4121:20:59","nodeType":"YulFunctionCall","src":"4121:20:59"},"variableNames":[{"name":"feeGrowthOutside1X128","nativeSrc":"4096:21:59","nodeType":"YulIdentifier","src":"4096:21:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2032,"isOffset":false,"isSlot":false,"src":"3886:4:59","valueSize":1},{"declaration":2032,"isOffset":false,"isSlot":false,"src":"4073:4:59","valueSize":1},{"declaration":2032,"isOffset":false,"isSlot":false,"src":"4131:4:59","valueSize":1},{"declaration":2017,"isOffset":false,"isSlot":false,"src":"4038:21:59","valueSize":1},{"declaration":2019,"isOffset":false,"isSlot":false,"src":"4096:21:59","valueSize":1},{"declaration":2013,"isOffset":false,"isSlot":false,"src":"3957:14:59","valueSize":1},{"declaration":2015,"isOffset":false,"isSlot":false,"src":"3909:12:59","valueSize":1}],"flags":["memory-safe"],"id":2039,"nodeType":"InlineAssembly","src":"3820:331:59"}]},"documentation":{"id":2002,"nodeType":"StructuredDocumentation","src":"2582:771:59","text":" @notice Retrieves the tick information of a pool at a specific tick.\n @dev Corresponds to pools[poolId].ticks[tick]\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param tick The tick to retrieve information for.\n @return liquidityGross The total position liquidity that references this tick\n @return liquidityNet The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)\n @return feeGrowthOutside0X128 fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\n @return feeGrowthOutside1X128 fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)"},"id":2041,"implemented":true,"kind":"function","modifiers":[],"name":"getTickInfo","nameLocation":"3367:11:59","nodeType":"FunctionDefinition","parameters":{"id":2011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2005,"mutability":"mutable","name":"manager","nameLocation":"3392:7:59","nodeType":"VariableDeclaration","scope":2041,"src":"3379:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2004,"nodeType":"UserDefinedTypeName","pathNode":{"id":2003,"name":"IPoolManager","nameLocations":["3379:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"3379:12:59"},"referencedDeclaration":1763,"src":"3379:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2008,"mutability":"mutable","name":"poolId","nameLocation":"3408:6:59","nodeType":"VariableDeclaration","scope":2041,"src":"3401:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2007,"nodeType":"UserDefinedTypeName","pathNode":{"id":2006,"name":"PoolId","nameLocations":["3401:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"3401:6:59"},"referencedDeclaration":4699,"src":"3401:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2010,"mutability":"mutable","name":"tick","nameLocation":"3422:4:59","nodeType":"VariableDeclaration","scope":2041,"src":"3416:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2009,"name":"int24","nodeType":"ElementaryTypeName","src":"3416:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"3378:49:59"},"returnParameters":{"id":2020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2013,"mutability":"mutable","name":"liquidityGross","nameLocation":"3496:14:59","nodeType":"VariableDeclaration","scope":2041,"src":"3488:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2012,"name":"uint128","nodeType":"ElementaryTypeName","src":"3488:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":2015,"mutability":"mutable","name":"liquidityNet","nameLocation":"3531:12:59","nodeType":"VariableDeclaration","scope":2041,"src":"3524:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":2014,"name":"int128","nodeType":"ElementaryTypeName","src":"3524:6:59","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":2017,"mutability":"mutable","name":"feeGrowthOutside0X128","nameLocation":"3565:21:59","nodeType":"VariableDeclaration","scope":2041,"src":"3557:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2016,"name":"uint256","nodeType":"ElementaryTypeName","src":"3557:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2019,"mutability":"mutable","name":"feeGrowthOutside1X128","nameLocation":"3608:21:59","nodeType":"VariableDeclaration","scope":2041,"src":"3600:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2018,"name":"uint256","nodeType":"ElementaryTypeName","src":"3600:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3474:165:59"},"scope":2586,"src":"3358:799:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2072,"nodeType":"Block","src":"4948:277:59","statements":[{"assignments":[2058],"declarations":[{"constant":false,"id":2058,"mutability":"mutable","name":"slot","nameLocation":"4966:4:59","nodeType":"VariableDeclaration","scope":2072,"src":"4958:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4958:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2063,"initialValue":{"arguments":[{"id":2060,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2048,"src":"4990:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2061,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2050,"src":"4998:4:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2059,"name":"_getTickInfoSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"4973:16:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$_t_int24_$returns$_t_bytes32_$","typeString":"function (PoolId,int24) pure returns (bytes32)"}},"id":2062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4973:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4958:45:59"},{"assignments":[2065],"declarations":[{"constant":false,"id":2065,"mutability":"mutable","name":"value","nameLocation":"5022:5:59","nodeType":"VariableDeclaration","scope":2072,"src":"5014:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5014:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2070,"initialValue":{"arguments":[{"id":2068,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2058,"src":"5047:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2066,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2045,"src":"5030:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5038:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44873,"src":"5030:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":2069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5030:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5014:38:59"},{"AST":{"nativeSrc":"5087:132:59","nodeType":"YulBlock","src":"5087:132:59","statements":[{"nativeSrc":"5101:31:59","nodeType":"YulAssignment","src":"5101:31:59","value":{"arguments":[{"kind":"number","nativeSrc":"5121:3:59","nodeType":"YulLiteral","src":"5121:3:59","type":"","value":"128"},{"name":"value","nativeSrc":"5126:5:59","nodeType":"YulIdentifier","src":"5126:5:59"}],"functionName":{"name":"sar","nativeSrc":"5117:3:59","nodeType":"YulIdentifier","src":"5117:3:59"},"nativeSrc":"5117:15:59","nodeType":"YulFunctionCall","src":"5117:15:59"},"variableNames":[{"name":"liquidityNet","nativeSrc":"5101:12:59","nodeType":"YulIdentifier","src":"5101:12:59"}]},{"nativeSrc":"5145:64:59","nodeType":"YulAssignment","src":"5145:64:59","value":{"arguments":[{"name":"value","nativeSrc":"5167:5:59","nodeType":"YulIdentifier","src":"5167:5:59"},{"kind":"number","nativeSrc":"5174:34:59","nodeType":"YulLiteral","src":"5174:34:59","type":"","value":"0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"}],"functionName":{"name":"and","nativeSrc":"5163:3:59","nodeType":"YulIdentifier","src":"5163:3:59"},"nativeSrc":"5163:46:59","nodeType":"YulFunctionCall","src":"5163:46:59"},"variableNames":[{"name":"liquidityGross","nativeSrc":"5145:14:59","nodeType":"YulIdentifier","src":"5145:14:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2053,"isOffset":false,"isSlot":false,"src":"5145:14:59","valueSize":1},{"declaration":2055,"isOffset":false,"isSlot":false,"src":"5101:12:59","valueSize":1},{"declaration":2065,"isOffset":false,"isSlot":false,"src":"5126:5:59","valueSize":1},{"declaration":2065,"isOffset":false,"isSlot":false,"src":"5167:5:59","valueSize":1}],"flags":["memory-safe"],"id":2071,"nodeType":"InlineAssembly","src":"5062:157:59"}]},"documentation":{"id":2042,"nodeType":"StructuredDocumentation","src":"4163:609:59","text":" @notice Retrieves the liquidity information of a pool at a specific tick.\n @dev Corresponds to pools[poolId].ticks[tick].liquidityGross and pools[poolId].ticks[tick].liquidityNet. A more gas efficient version of getTickInfo\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param tick The tick to retrieve liquidity for.\n @return liquidityGross The total position liquidity that references this tick\n @return liquidityNet The amount of net liquidity added (subtracted) when tick is crossed from left to right (right to left)"},"id":2073,"implemented":true,"kind":"function","modifiers":[],"name":"getTickLiquidity","nameLocation":"4786:16:59","nodeType":"FunctionDefinition","parameters":{"id":2051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2045,"mutability":"mutable","name":"manager","nameLocation":"4816:7:59","nodeType":"VariableDeclaration","scope":2073,"src":"4803:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2044,"nodeType":"UserDefinedTypeName","pathNode":{"id":2043,"name":"IPoolManager","nameLocations":["4803:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"4803:12:59"},"referencedDeclaration":1763,"src":"4803:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2048,"mutability":"mutable","name":"poolId","nameLocation":"4832:6:59","nodeType":"VariableDeclaration","scope":2073,"src":"4825:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2047,"nodeType":"UserDefinedTypeName","pathNode":{"id":2046,"name":"PoolId","nameLocations":["4825:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"4825:6:59"},"referencedDeclaration":4699,"src":"4825:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2050,"mutability":"mutable","name":"tick","nameLocation":"4846:4:59","nodeType":"VariableDeclaration","scope":2073,"src":"4840:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2049,"name":"int24","nodeType":"ElementaryTypeName","src":"4840:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"4802:49:59"},"returnParameters":{"id":2056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2053,"mutability":"mutable","name":"liquidityGross","nameLocation":"4907:14:59","nodeType":"VariableDeclaration","scope":2073,"src":"4899:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2052,"name":"uint128","nodeType":"ElementaryTypeName","src":"4899:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":2055,"mutability":"mutable","name":"liquidityNet","nameLocation":"4930:12:59","nodeType":"VariableDeclaration","scope":2073,"src":"4923:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":2054,"name":"int128","nodeType":"ElementaryTypeName","src":"4923:6:59","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"4898:45:59"},"scope":2586,"src":"4777:448:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2116,"nodeType":"Block","src":"6099:388:59","statements":[{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"slot","nameLocation":"6117:4:59","nodeType":"VariableDeclaration","scope":2116,"src":"6109:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6109:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2095,"initialValue":{"arguments":[{"id":2092,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2080,"src":"6141:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2093,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"6149:4:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2091,"name":"_getTickInfoSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"6124:16:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$_t_int24_$returns$_t_bytes32_$","typeString":"function (PoolId,int24) pure returns (bytes32)"}},"id":2094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6124:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6109:45:59"},{"assignments":[2100],"declarations":[{"constant":false,"id":2100,"mutability":"mutable","name":"data","nameLocation":"6265:4:59","nodeType":"VariableDeclaration","scope":2116,"src":"6248:21:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":2098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6248:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2099,"nodeType":"ArrayTypeName","src":"6248:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":2114,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2107,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"6305:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6297:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2105,"name":"uint256","nodeType":"ElementaryTypeName","src":"6297:7:59","typeDescriptions":{}}},"id":2108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6297:13:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6313:1:59","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6297:17:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6289:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6289:7:59","typeDescriptions":{}}},"id":2111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6289:26:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"32","id":2112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6317:1:59","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":2101,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2077,"src":"6272:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6280:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44884,"src":"6272:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (bytes32,uint256) view external returns (bytes32[] memory)"}},"id":2113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6272:47:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6248:71:59"},{"AST":{"nativeSrc":"6354:127:59","nodeType":"YulBlock","src":"6354:127:59","statements":[{"nativeSrc":"6368:45:59","nodeType":"YulAssignment","src":"6368:45:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"6403:4:59","nodeType":"YulIdentifier","src":"6403:4:59"},{"kind":"number","nativeSrc":"6409:2:59","nodeType":"YulLiteral","src":"6409:2:59","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6399:3:59","nodeType":"YulIdentifier","src":"6399:3:59"},"nativeSrc":"6399:13:59","nodeType":"YulFunctionCall","src":"6399:13:59"}],"functionName":{"name":"mload","nativeSrc":"6393:5:59","nodeType":"YulIdentifier","src":"6393:5:59"},"nativeSrc":"6393:20:59","nodeType":"YulFunctionCall","src":"6393:20:59"},"variableNames":[{"name":"feeGrowthOutside0X128","nativeSrc":"6368:21:59","nodeType":"YulIdentifier","src":"6368:21:59"}]},{"nativeSrc":"6426:45:59","nodeType":"YulAssignment","src":"6426:45:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"6461:4:59","nodeType":"YulIdentifier","src":"6461:4:59"},{"kind":"number","nativeSrc":"6467:2:59","nodeType":"YulLiteral","src":"6467:2:59","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"6457:3:59","nodeType":"YulIdentifier","src":"6457:3:59"},"nativeSrc":"6457:13:59","nodeType":"YulFunctionCall","src":"6457:13:59"}],"functionName":{"name":"mload","nativeSrc":"6451:5:59","nodeType":"YulIdentifier","src":"6451:5:59"},"nativeSrc":"6451:20:59","nodeType":"YulFunctionCall","src":"6451:20:59"},"variableNames":[{"name":"feeGrowthOutside1X128","nativeSrc":"6426:21:59","nodeType":"YulIdentifier","src":"6426:21:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2100,"isOffset":false,"isSlot":false,"src":"6403:4:59","valueSize":1},{"declaration":2100,"isOffset":false,"isSlot":false,"src":"6461:4:59","valueSize":1},{"declaration":2085,"isOffset":false,"isSlot":false,"src":"6368:21:59","valueSize":1},{"declaration":2087,"isOffset":false,"isSlot":false,"src":"6426:21:59","valueSize":1}],"flags":["memory-safe"],"id":2115,"nodeType":"InlineAssembly","src":"6329:152:59"}]},"documentation":{"id":2074,"nodeType":"StructuredDocumentation","src":"5231:668:59","text":" @notice Retrieves the fee growth outside a tick range of a pool\n @dev Corresponds to pools[poolId].ticks[tick].feeGrowthOutside0X128 and pools[poolId].ticks[tick].feeGrowthOutside1X128. A more gas efficient version of getTickInfo\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param tick The tick to retrieve fee growth for.\n @return feeGrowthOutside0X128 fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)\n @return feeGrowthOutside1X128 fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)"},"id":2117,"implemented":true,"kind":"function","modifiers":[],"name":"getTickFeeGrowthOutside","nameLocation":"5913:23:59","nodeType":"FunctionDefinition","parameters":{"id":2083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2077,"mutability":"mutable","name":"manager","nameLocation":"5950:7:59","nodeType":"VariableDeclaration","scope":2117,"src":"5937:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2076,"nodeType":"UserDefinedTypeName","pathNode":{"id":2075,"name":"IPoolManager","nameLocations":["5937:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"5937:12:59"},"referencedDeclaration":1763,"src":"5937:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2080,"mutability":"mutable","name":"poolId","nameLocation":"5966:6:59","nodeType":"VariableDeclaration","scope":2117,"src":"5959:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2079,"nodeType":"UserDefinedTypeName","pathNode":{"id":2078,"name":"PoolId","nameLocations":["5959:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"5959:6:59"},"referencedDeclaration":4699,"src":"5959:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2082,"mutability":"mutable","name":"tick","nameLocation":"5980:4:59","nodeType":"VariableDeclaration","scope":2117,"src":"5974:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2081,"name":"int24","nodeType":"ElementaryTypeName","src":"5974:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"5936:49:59"},"returnParameters":{"id":2088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2085,"mutability":"mutable","name":"feeGrowthOutside0X128","nameLocation":"6041:21:59","nodeType":"VariableDeclaration","scope":2117,"src":"6033:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2084,"name":"uint256","nodeType":"ElementaryTypeName","src":"6033:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2087,"mutability":"mutable","name":"feeGrowthOutside1X128","nameLocation":"6072:21:59","nodeType":"VariableDeclaration","scope":2117,"src":"6064:29:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2086,"name":"uint256","nodeType":"ElementaryTypeName","src":"6064:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6032:62:59"},"scope":2586,"src":"5904:583:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2161,"nodeType":"Block","src":"7358:554:59","statements":[{"assignments":[2132],"declarations":[{"constant":false,"id":2132,"mutability":"mutable","name":"stateSlot","nameLocation":"7433:9:59","nodeType":"VariableDeclaration","scope":2161,"src":"7425:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7425:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2136,"initialValue":{"arguments":[{"id":2134,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2124,"src":"7463:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2133,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"7445:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7445:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7425:45:59"},{"assignments":[2138],"declarations":[{"constant":false,"id":2138,"mutability":"mutable","name":"slot_feeGrowthGlobal0X128","nameLocation":"7543:25:59","nodeType":"VariableDeclaration","scope":2161,"src":"7535:33:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7535:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2148,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2143,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2132,"src":"7587:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7579:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2141,"name":"uint256","nodeType":"ElementaryTypeName","src":"7579:7:59","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7579:18:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2145,"name":"FEE_GROWTH_GLOBAL0_OFFSET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1952,"src":"7600:25:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7579:46:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7571:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7571:7:59","typeDescriptions":{}}},"id":2147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7571:55:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7535:91:59"},{"assignments":[2153],"declarations":[{"constant":false,"id":2153,"mutability":"mutable","name":"data","nameLocation":"7701:4:59","nodeType":"VariableDeclaration","scope":2161,"src":"7684:21:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":2151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7684:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2152,"nodeType":"ArrayTypeName","src":"7684:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":2159,"initialValue":{"arguments":[{"id":2156,"name":"slot_feeGrowthGlobal0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"7725:25:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"32","id":2157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7752:1:59","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":2154,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"7708:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7716:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44884,"src":"7708:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (bytes32,uint256) view external returns (bytes32[] memory)"}},"id":2158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7708:46:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7684:70:59"},{"AST":{"nativeSrc":"7789:117:59","nodeType":"YulBlock","src":"7789:117:59","statements":[{"nativeSrc":"7803:40:59","nodeType":"YulAssignment","src":"7803:40:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"7833:4:59","nodeType":"YulIdentifier","src":"7833:4:59"},{"kind":"number","nativeSrc":"7839:2:59","nodeType":"YulLiteral","src":"7839:2:59","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7829:3:59","nodeType":"YulIdentifier","src":"7829:3:59"},"nativeSrc":"7829:13:59","nodeType":"YulFunctionCall","src":"7829:13:59"}],"functionName":{"name":"mload","nativeSrc":"7823:5:59","nodeType":"YulIdentifier","src":"7823:5:59"},"nativeSrc":"7823:20:59","nodeType":"YulFunctionCall","src":"7823:20:59"},"variableNames":[{"name":"feeGrowthGlobal0","nativeSrc":"7803:16:59","nodeType":"YulIdentifier","src":"7803:16:59"}]},{"nativeSrc":"7856:40:59","nodeType":"YulAssignment","src":"7856:40:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"7886:4:59","nodeType":"YulIdentifier","src":"7886:4:59"},{"kind":"number","nativeSrc":"7892:2:59","nodeType":"YulLiteral","src":"7892:2:59","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"7882:3:59","nodeType":"YulIdentifier","src":"7882:3:59"},"nativeSrc":"7882:13:59","nodeType":"YulFunctionCall","src":"7882:13:59"}],"functionName":{"name":"mload","nativeSrc":"7876:5:59","nodeType":"YulIdentifier","src":"7876:5:59"},"nativeSrc":"7876:20:59","nodeType":"YulFunctionCall","src":"7876:20:59"},"variableNames":[{"name":"feeGrowthGlobal1","nativeSrc":"7856:16:59","nodeType":"YulIdentifier","src":"7856:16:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2153,"isOffset":false,"isSlot":false,"src":"7833:4:59","valueSize":1},{"declaration":2153,"isOffset":false,"isSlot":false,"src":"7886:4:59","valueSize":1},{"declaration":2127,"isOffset":false,"isSlot":false,"src":"7803:16:59","valueSize":1},{"declaration":2129,"isOffset":false,"isSlot":false,"src":"7856:16:59","valueSize":1}],"flags":["memory-safe"],"id":2160,"nodeType":"InlineAssembly","src":"7764:142:59"}]},"documentation":{"id":2118,"nodeType":"StructuredDocumentation","src":"6493:691:59","text":" @notice Retrieves the global fee growth of a pool.\n @dev Corresponds to pools[poolId].feeGrowthGlobal0X128 and pools[poolId].feeGrowthGlobal1X128\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @return feeGrowthGlobal0 The global fee growth for token0.\n @return feeGrowthGlobal1 The global fee growth for token1.\n @dev Note that feeGrowthGlobal can be artificially inflated\n For pools with a single liquidity position, actors can donate to themselves to freely inflate feeGrowthGlobal\n atomically donating and collecting fees in the same unlockCallback may make the inflated value more extreme"},"id":2162,"implemented":true,"kind":"function","modifiers":[],"name":"getFeeGrowthGlobals","nameLocation":"7198:19:59","nodeType":"FunctionDefinition","parameters":{"id":2125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2121,"mutability":"mutable","name":"manager","nameLocation":"7231:7:59","nodeType":"VariableDeclaration","scope":2162,"src":"7218:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2120,"nodeType":"UserDefinedTypeName","pathNode":{"id":2119,"name":"IPoolManager","nameLocations":["7218:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"7218:12:59"},"referencedDeclaration":1763,"src":"7218:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2124,"mutability":"mutable","name":"poolId","nameLocation":"7247:6:59","nodeType":"VariableDeclaration","scope":2162,"src":"7240:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2123,"nodeType":"UserDefinedTypeName","pathNode":{"id":2122,"name":"PoolId","nameLocations":["7240:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"7240:6:59"},"referencedDeclaration":4699,"src":"7240:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"7217:37:59"},"returnParameters":{"id":2130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2127,"mutability":"mutable","name":"feeGrowthGlobal0","nameLocation":"7310:16:59","nodeType":"VariableDeclaration","scope":2162,"src":"7302:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2126,"name":"uint256","nodeType":"ElementaryTypeName","src":"7302:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2129,"mutability":"mutable","name":"feeGrowthGlobal1","nameLocation":"7336:16:59","nodeType":"VariableDeclaration","scope":2162,"src":"7328:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2128,"name":"uint256","nodeType":"ElementaryTypeName","src":"7328:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7301:52:59"},"scope":2586,"src":"7189:723:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2205,"nodeType":"Block","src":"8284:297:59","statements":[{"assignments":[2175],"declarations":[{"constant":false,"id":2175,"mutability":"mutable","name":"stateSlot","nameLocation":"8359:9:59","nodeType":"VariableDeclaration","scope":2205,"src":"8351:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8351:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2179,"initialValue":{"arguments":[{"id":2177,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2169,"src":"8389:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2176,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"8371:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8371:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8351:45:59"},{"assignments":[2181],"declarations":[{"constant":false,"id":2181,"mutability":"mutable","name":"slot","nameLocation":"8458:4:59","nodeType":"VariableDeclaration","scope":2205,"src":"8450:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8450:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2191,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2186,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2175,"src":"8481:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8473:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2184,"name":"uint256","nodeType":"ElementaryTypeName","src":"8473:7:59","typeDescriptions":{}}},"id":2187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8473:18:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2188,"name":"LIQUIDITY_OFFSET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1956,"src":"8494:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8473:37:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8465:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8465:7:59","typeDescriptions":{}}},"id":2190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8465:46:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8450:61:59"},{"expression":{"id":2203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2192,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2172,"src":"8522:9:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":2199,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2181,"src":"8567:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2197,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2166,"src":"8550:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8558:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44873,"src":"8550:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":2200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8550:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8542:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2195,"name":"uint256","nodeType":"ElementaryTypeName","src":"8542:7:59","typeDescriptions":{}}},"id":2201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8542:31:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8534:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":2193,"name":"uint128","nodeType":"ElementaryTypeName","src":"8534:7:59","typeDescriptions":{}}},"id":2202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8534:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"8522:52:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":2204,"nodeType":"ExpressionStatement","src":"8522:52:59"}]},"documentation":{"id":2163,"nodeType":"StructuredDocumentation","src":"7918:260:59","text":" @notice Retrieves total the liquidity of a pool.\n @dev Corresponds to pools[poolId].liquidity\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @return liquidity The liquidity of the pool."},"id":2206,"implemented":true,"kind":"function","modifiers":[],"name":"getLiquidity","nameLocation":"8192:12:59","nodeType":"FunctionDefinition","parameters":{"id":2170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2166,"mutability":"mutable","name":"manager","nameLocation":"8218:7:59","nodeType":"VariableDeclaration","scope":2206,"src":"8205:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2165,"nodeType":"UserDefinedTypeName","pathNode":{"id":2164,"name":"IPoolManager","nameLocations":["8205:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"8205:12:59"},"referencedDeclaration":1763,"src":"8205:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2169,"mutability":"mutable","name":"poolId","nameLocation":"8234:6:59","nodeType":"VariableDeclaration","scope":2206,"src":"8227:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2168,"nodeType":"UserDefinedTypeName","pathNode":{"id":2167,"name":"PoolId","nameLocations":["8227:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"8227:6:59"},"referencedDeclaration":4699,"src":"8227:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"8204:37:59"},"returnParameters":{"id":2173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2172,"mutability":"mutable","name":"liquidity","nameLocation":"8273:9:59","nodeType":"VariableDeclaration","scope":2206,"src":"8265:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2171,"name":"uint128","nodeType":"ElementaryTypeName","src":"8265:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"8264:19:59"},"scope":2586,"src":"8183:398:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2261,"nodeType":"Block","src":"9071:481:59","statements":[{"assignments":[2221],"declarations":[{"constant":false,"id":2221,"mutability":"mutable","name":"stateSlot","nameLocation":"9146:9:59","nodeType":"VariableDeclaration","scope":2261,"src":"9138:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9138:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2225,"initialValue":{"arguments":[{"id":2223,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"9176:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2222,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"9158:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9158:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9138:45:59"},{"assignments":[2227],"declarations":[{"constant":false,"id":2227,"mutability":"mutable","name":"tickBitmapMapping","nameLocation":"9265:17:59","nodeType":"VariableDeclaration","scope":2261,"src":"9257:25:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9257:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2237,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2232,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2221,"src":"9301:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9293:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2230,"name":"uint256","nodeType":"ElementaryTypeName","src":"9293:7:59","typeDescriptions":{}}},"id":2233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9293:18:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2234,"name":"TICK_BITMAP_OFFSET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1964,"src":"9314:18:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9293:39:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9285:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9285:7:59","typeDescriptions":{}}},"id":2236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9285:48:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9257:76:59"},{"assignments":[2239],"declarations":[{"constant":false,"id":2239,"mutability":"mutable","name":"slot","nameLocation":"9423:4:59","nodeType":"VariableDeclaration","scope":2261,"src":"9415:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9415:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2250,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":2245,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"9464:4:59","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int16","typeString":"int16"}],"id":2244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9457:6:59","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":2243,"name":"int256","nodeType":"ElementaryTypeName","src":"9457:6:59","typeDescriptions":{}}},"id":2246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9457:12:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2247,"name":"tickBitmapMapping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2227,"src":"9471:17:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9440:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9444:12:59","memberName":"encodePacked","nodeType":"MemberAccess","src":"9440:16:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9440:49:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2240,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9430:9:59","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9430:60:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9415:75:59"},{"expression":{"id":2259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2251,"name":"tickBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2218,"src":"9501:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":2256,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"9539:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2254,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2210,"src":"9522:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9530:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44873,"src":"9522:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":2257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9522:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9514:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2252,"name":"uint256","nodeType":"ElementaryTypeName","src":"9514:7:59","typeDescriptions":{}}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9514:31:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9501:44:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2260,"nodeType":"ExpressionStatement","src":"9501:44:59"}]},"documentation":{"id":2207,"nodeType":"StructuredDocumentation","src":"8587:336:59","text":" @notice Retrieves the tick bitmap of a pool at a specific tick.\n @dev Corresponds to pools[poolId].tickBitmap[tick]\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param tick The tick to retrieve the bitmap for.\n @return tickBitmap The bitmap of the tick."},"id":2262,"implemented":true,"kind":"function","modifiers":[],"name":"getTickBitmap","nameLocation":"8937:13:59","nodeType":"FunctionDefinition","parameters":{"id":2216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2210,"mutability":"mutable","name":"manager","nameLocation":"8964:7:59","nodeType":"VariableDeclaration","scope":2262,"src":"8951:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2209,"nodeType":"UserDefinedTypeName","pathNode":{"id":2208,"name":"IPoolManager","nameLocations":["8951:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"8951:12:59"},"referencedDeclaration":1763,"src":"8951:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2213,"mutability":"mutable","name":"poolId","nameLocation":"8980:6:59","nodeType":"VariableDeclaration","scope":2262,"src":"8973:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2212,"nodeType":"UserDefinedTypeName","pathNode":{"id":2211,"name":"PoolId","nameLocations":["8973:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"8973:6:59"},"referencedDeclaration":4699,"src":"8973:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2215,"mutability":"mutable","name":"tick","nameLocation":"8994:4:59","nodeType":"VariableDeclaration","scope":2262,"src":"8988:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":2214,"name":"int16","nodeType":"ElementaryTypeName","src":"8988:5:59","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"8950:49:59"},"returnParameters":{"id":2219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2218,"mutability":"mutable","name":"tickBitmap","nameLocation":"9055:10:59","nodeType":"VariableDeclaration","scope":2262,"src":"9047:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2217,"name":"uint256","nodeType":"ElementaryTypeName","src":"9047:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9046:20:59"},"scope":2586,"src":"8928:624:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2307,"nodeType":"Block","src":"10568:313:59","statements":[{"assignments":[2287],"declarations":[{"constant":false,"id":2287,"mutability":"mutable","name":"positionKey","nameLocation":"10674:11:59","nodeType":"VariableDeclaration","scope":2307,"src":"10666:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10666:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2295,"initialValue":{"arguments":[{"id":2290,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2271,"src":"10718:5:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2291,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2273,"src":"10725:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":2292,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2275,"src":"10736:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":2293,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2277,"src":"10747:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2288,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"10688:8:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Position_$1929_$","typeString":"type(library Position)"}},"id":2289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10697:20:59","memberName":"calculatePositionKey","nodeType":"MemberAccess","referencedDeclaration":1839,"src":"10688:29:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,int24,int24,bytes32) pure returns (bytes32)"}},"id":2294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10688:64:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10666:86:59"},{"expression":{"id":2305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2296,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2280,"src":"10764:9:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":2297,"name":"feeGrowthInside0LastX128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"10775:24:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2298,"name":"feeGrowthInside1LastX128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2284,"src":"10801:24:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2299,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10763:63:59","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2301,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2266,"src":"10845:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":2302,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"10854:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2303,"name":"positionKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"10862:11:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2300,"name":"getPositionInfo","nodeType":"Identifier","overloadedDeclarations":[2308,2346],"referencedDeclaration":2346,"src":"10829:15:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"function (contract IPoolManager,PoolId,bytes32) view returns (uint128,uint256,uint256)"}},"id":2304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10829:45:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"10763:111:59","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2306,"nodeType":"ExpressionStatement","src":"10763:111:59"}]},"documentation":{"id":2263,"nodeType":"StructuredDocumentation","src":"9558:716:59","text":" @notice Retrieves the position information of a pool without needing to calculate the `positionId`.\n @dev Corresponds to pools[poolId].positions[positionId]\n @param poolId The ID of the pool.\n @param owner The owner of the liquidity position.\n @param tickLower The lower tick of the liquidity range.\n @param tickUpper The upper tick of the liquidity range.\n @param salt The bytes32 randomness to further distinguish position state.\n @return liquidity The liquidity of the position.\n @return feeGrowthInside0LastX128 The fee growth inside the position for token0.\n @return feeGrowthInside1LastX128 The fee growth inside the position for token1."},"id":2308,"implemented":true,"kind":"function","modifiers":[],"name":"getPositionInfo","nameLocation":"10288:15:59","nodeType":"FunctionDefinition","parameters":{"id":2278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2266,"mutability":"mutable","name":"manager","nameLocation":"10326:7:59","nodeType":"VariableDeclaration","scope":2308,"src":"10313:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2265,"nodeType":"UserDefinedTypeName","pathNode":{"id":2264,"name":"IPoolManager","nameLocations":["10313:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"10313:12:59"},"referencedDeclaration":1763,"src":"10313:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2269,"mutability":"mutable","name":"poolId","nameLocation":"10350:6:59","nodeType":"VariableDeclaration","scope":2308,"src":"10343:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2268,"nodeType":"UserDefinedTypeName","pathNode":{"id":2267,"name":"PoolId","nameLocations":["10343:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"10343:6:59"},"referencedDeclaration":4699,"src":"10343:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2271,"mutability":"mutable","name":"owner","nameLocation":"10374:5:59","nodeType":"VariableDeclaration","scope":2308,"src":"10366:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2270,"name":"address","nodeType":"ElementaryTypeName","src":"10366:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2273,"mutability":"mutable","name":"tickLower","nameLocation":"10395:9:59","nodeType":"VariableDeclaration","scope":2308,"src":"10389:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2272,"name":"int24","nodeType":"ElementaryTypeName","src":"10389:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":2275,"mutability":"mutable","name":"tickUpper","nameLocation":"10420:9:59","nodeType":"VariableDeclaration","scope":2308,"src":"10414:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2274,"name":"int24","nodeType":"ElementaryTypeName","src":"10414:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":2277,"mutability":"mutable","name":"salt","nameLocation":"10447:4:59","nodeType":"VariableDeclaration","scope":2308,"src":"10439:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10439:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10303:154:59"},"returnParameters":{"id":2285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2280,"mutability":"mutable","name":"liquidity","nameLocation":"10489:9:59","nodeType":"VariableDeclaration","scope":2308,"src":"10481:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2279,"name":"uint128","nodeType":"ElementaryTypeName","src":"10481:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":2282,"mutability":"mutable","name":"feeGrowthInside0LastX128","nameLocation":"10508:24:59","nodeType":"VariableDeclaration","scope":2308,"src":"10500:32:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2281,"name":"uint256","nodeType":"ElementaryTypeName","src":"10500:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2284,"mutability":"mutable","name":"feeGrowthInside1LastX128","nameLocation":"10542:24:59","nodeType":"VariableDeclaration","scope":2308,"src":"10534:32:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2283,"name":"uint256","nodeType":"ElementaryTypeName","src":"10534:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10480:87:59"},"scope":2586,"src":"10279:602:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2345,"nodeType":"Block","src":"11642:403:59","statements":[{"assignments":[2327],"declarations":[{"constant":false,"id":2327,"mutability":"mutable","name":"slot","nameLocation":"11660:4:59","nodeType":"VariableDeclaration","scope":2345,"src":"11652:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11652:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2332,"initialValue":{"arguments":[{"id":2329,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2315,"src":"11688:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2330,"name":"positionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2317,"src":"11696:10:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2328,"name":"_getPositionInfoSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2585,"src":"11667:20:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (PoolId,bytes32) pure returns (bytes32)"}},"id":2331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11667:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11652:55:59"},{"assignments":[2337],"declarations":[{"constant":false,"id":2337,"mutability":"mutable","name":"data","nameLocation":"11792:4:59","nodeType":"VariableDeclaration","scope":2345,"src":"11775:21:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":2335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11775:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":2336,"nodeType":"ArrayTypeName","src":"11775:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":2343,"initialValue":{"arguments":[{"id":2340,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2327,"src":"11816:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"33","id":2341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11822:1:59","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":2338,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2312,"src":"11799:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11807:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44884,"src":"11799:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (bytes32,uint256) view external returns (bytes32[] memory)"}},"id":2342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11799:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11775:49:59"},{"AST":{"nativeSrc":"11860:179:59","nodeType":"YulBlock","src":"11860:179:59","statements":[{"nativeSrc":"11874:33:59","nodeType":"YulAssignment","src":"11874:33:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"11897:4:59","nodeType":"YulIdentifier","src":"11897:4:59"},{"kind":"number","nativeSrc":"11903:2:59","nodeType":"YulLiteral","src":"11903:2:59","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11893:3:59","nodeType":"YulIdentifier","src":"11893:3:59"},"nativeSrc":"11893:13:59","nodeType":"YulFunctionCall","src":"11893:13:59"}],"functionName":{"name":"mload","nativeSrc":"11887:5:59","nodeType":"YulIdentifier","src":"11887:5:59"},"nativeSrc":"11887:20:59","nodeType":"YulFunctionCall","src":"11887:20:59"},"variableNames":[{"name":"liquidity","nativeSrc":"11874:9:59","nodeType":"YulIdentifier","src":"11874:9:59"}]},{"nativeSrc":"11920:48:59","nodeType":"YulAssignment","src":"11920:48:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"11958:4:59","nodeType":"YulIdentifier","src":"11958:4:59"},{"kind":"number","nativeSrc":"11964:2:59","nodeType":"YulLiteral","src":"11964:2:59","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"11954:3:59","nodeType":"YulIdentifier","src":"11954:3:59"},"nativeSrc":"11954:13:59","nodeType":"YulFunctionCall","src":"11954:13:59"}],"functionName":{"name":"mload","nativeSrc":"11948:5:59","nodeType":"YulIdentifier","src":"11948:5:59"},"nativeSrc":"11948:20:59","nodeType":"YulFunctionCall","src":"11948:20:59"},"variableNames":[{"name":"feeGrowthInside0LastX128","nativeSrc":"11920:24:59","nodeType":"YulIdentifier","src":"11920:24:59"}]},{"nativeSrc":"11981:48:59","nodeType":"YulAssignment","src":"11981:48:59","value":{"arguments":[{"arguments":[{"name":"data","nativeSrc":"12019:4:59","nodeType":"YulIdentifier","src":"12019:4:59"},{"kind":"number","nativeSrc":"12025:2:59","nodeType":"YulLiteral","src":"12025:2:59","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"12015:3:59","nodeType":"YulIdentifier","src":"12015:3:59"},"nativeSrc":"12015:13:59","nodeType":"YulFunctionCall","src":"12015:13:59"}],"functionName":{"name":"mload","nativeSrc":"12009:5:59","nodeType":"YulIdentifier","src":"12009:5:59"},"nativeSrc":"12009:20:59","nodeType":"YulFunctionCall","src":"12009:20:59"},"variableNames":[{"name":"feeGrowthInside1LastX128","nativeSrc":"11981:24:59","nodeType":"YulIdentifier","src":"11981:24:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2337,"isOffset":false,"isSlot":false,"src":"11897:4:59","valueSize":1},{"declaration":2337,"isOffset":false,"isSlot":false,"src":"11958:4:59","valueSize":1},{"declaration":2337,"isOffset":false,"isSlot":false,"src":"12019:4:59","valueSize":1},{"declaration":2322,"isOffset":false,"isSlot":false,"src":"11920:24:59","valueSize":1},{"declaration":2324,"isOffset":false,"isSlot":false,"src":"11981:24:59","valueSize":1},{"declaration":2320,"isOffset":false,"isSlot":false,"src":"11874:9:59","valueSize":1}],"flags":["memory-safe"],"id":2344,"nodeType":"InlineAssembly","src":"11835:204:59"}]},"documentation":{"id":2309,"nodeType":"StructuredDocumentation","src":"10887:530:59","text":" @notice Retrieves the position information of a pool at a specific position ID.\n @dev Corresponds to pools[poolId].positions[positionId]\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param positionId The ID of the position.\n @return liquidity The liquidity of the position.\n @return feeGrowthInside0LastX128 The fee growth inside the position for token0.\n @return feeGrowthInside1LastX128 The fee growth inside the position for token1."},"id":2346,"implemented":true,"kind":"function","modifiers":[],"name":"getPositionInfo","nameLocation":"11431:15:59","nodeType":"FunctionDefinition","parameters":{"id":2318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2312,"mutability":"mutable","name":"manager","nameLocation":"11460:7:59","nodeType":"VariableDeclaration","scope":2346,"src":"11447:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2311,"nodeType":"UserDefinedTypeName","pathNode":{"id":2310,"name":"IPoolManager","nameLocations":["11447:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"11447:12:59"},"referencedDeclaration":1763,"src":"11447:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2315,"mutability":"mutable","name":"poolId","nameLocation":"11476:6:59","nodeType":"VariableDeclaration","scope":2346,"src":"11469:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2314,"nodeType":"UserDefinedTypeName","pathNode":{"id":2313,"name":"PoolId","nameLocations":["11469:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"11469:6:59"},"referencedDeclaration":4699,"src":"11469:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2317,"mutability":"mutable","name":"positionId","nameLocation":"11492:10:59","nodeType":"VariableDeclaration","scope":2346,"src":"11484:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11484:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11446:57:59"},"returnParameters":{"id":2325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2320,"mutability":"mutable","name":"liquidity","nameLocation":"11559:9:59","nodeType":"VariableDeclaration","scope":2346,"src":"11551:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2319,"name":"uint128","nodeType":"ElementaryTypeName","src":"11551:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":2322,"mutability":"mutable","name":"feeGrowthInside0LastX128","nameLocation":"11578:24:59","nodeType":"VariableDeclaration","scope":2346,"src":"11570:32:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"11570:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"mutability":"mutable","name":"feeGrowthInside1LastX128","nameLocation":"11612:24:59","nodeType":"VariableDeclaration","scope":2346,"src":"11604:32:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2323,"name":"uint256","nodeType":"ElementaryTypeName","src":"11604:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11550:87:59"},"scope":2586,"src":"11422:623:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2380,"nodeType":"Block","src":"12628:134:59","statements":[{"assignments":[2361],"declarations":[{"constant":false,"id":2361,"mutability":"mutable","name":"slot","nameLocation":"12646:4:59","nodeType":"VariableDeclaration","scope":2380,"src":"12638:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12638:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2366,"initialValue":{"arguments":[{"id":2363,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"12674:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2364,"name":"positionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2355,"src":"12682:10:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2362,"name":"_getPositionInfoSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2585,"src":"12653:20:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (PoolId,bytes32) pure returns (bytes32)"}},"id":2365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12653:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12638:55:59"},{"expression":{"id":2378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2367,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2358,"src":"12703:9:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":2374,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2361,"src":"12748:4:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2372,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"12731:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12739:8:59","memberName":"extsload","nodeType":"MemberAccess","referencedDeclaration":44873,"src":"12731:16:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":2375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12731:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12723:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2370,"name":"uint256","nodeType":"ElementaryTypeName","src":"12723:7:59","typeDescriptions":{}}},"id":2376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12723:31:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12715:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":2368,"name":"uint128","nodeType":"ElementaryTypeName","src":"12715:7:59","typeDescriptions":{}}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:40:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"12703:52:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":2379,"nodeType":"ExpressionStatement","src":"12703:52:59"}]},"documentation":{"id":2347,"nodeType":"StructuredDocumentation","src":"12051:415:59","text":" @notice Retrieves the liquidity of a position.\n @dev Corresponds to pools[poolId].positions[positionId].liquidity. More gas efficient for just retrieiving liquidity as compared to getPositionInfo\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param positionId The ID of the position.\n @return liquidity The liquidity of the position."},"id":2381,"implemented":true,"kind":"function","modifiers":[],"name":"getPositionLiquidity","nameLocation":"12480:20:59","nodeType":"FunctionDefinition","parameters":{"id":2356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2350,"mutability":"mutable","name":"manager","nameLocation":"12514:7:59","nodeType":"VariableDeclaration","scope":2381,"src":"12501:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2349,"nodeType":"UserDefinedTypeName","pathNode":{"id":2348,"name":"IPoolManager","nameLocations":["12501:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"12501:12:59"},"referencedDeclaration":1763,"src":"12501:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2353,"mutability":"mutable","name":"poolId","nameLocation":"12530:6:59","nodeType":"VariableDeclaration","scope":2381,"src":"12523:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2352,"nodeType":"UserDefinedTypeName","pathNode":{"id":2351,"name":"PoolId","nameLocations":["12523:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"12523:6:59"},"referencedDeclaration":4699,"src":"12523:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2355,"mutability":"mutable","name":"positionId","nameLocation":"12546:10:59","nodeType":"VariableDeclaration","scope":2381,"src":"12538:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12538:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12500:57:59"},"returnParameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2358,"mutability":"mutable","name":"liquidity","nameLocation":"12613:9:59","nodeType":"VariableDeclaration","scope":2381,"src":"12605:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":2357,"name":"uint128","nodeType":"ElementaryTypeName","src":"12605:7:59","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"12604:19:59"},"scope":2586,"src":"12471:291:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2487,"nodeType":"Block","src":"13591:1255:59","statements":[{"assignments":[2400,2402],"declarations":[{"constant":false,"id":2400,"mutability":"mutable","name":"feeGrowthGlobal0X128","nameLocation":"13610:20:59","nodeType":"VariableDeclaration","scope":2487,"src":"13602:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2399,"name":"uint256","nodeType":"ElementaryTypeName","src":"13602:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2402,"mutability":"mutable","name":"feeGrowthGlobal1X128","nameLocation":"13640:20:59","nodeType":"VariableDeclaration","scope":2487,"src":"13632:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2401,"name":"uint256","nodeType":"ElementaryTypeName","src":"13632:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2407,"initialValue":{"arguments":[{"id":2404,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"13684:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":2405,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"13693:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2403,"name":"getFeeGrowthGlobals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2162,"src":"13664:19:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint256_$_t_uint256_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint256,uint256)"}},"id":2406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13664:36:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13601:99:59"},{"assignments":[2409,2411],"declarations":[{"constant":false,"id":2409,"mutability":"mutable","name":"lowerFeeGrowthOutside0X128","nameLocation":"13720:26:59","nodeType":"VariableDeclaration","scope":2487,"src":"13712:34:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2408,"name":"uint256","nodeType":"ElementaryTypeName","src":"13712:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2411,"mutability":"mutable","name":"lowerFeeGrowthOutside1X128","nameLocation":"13756:26:59","nodeType":"VariableDeclaration","scope":2487,"src":"13748:34:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2410,"name":"uint256","nodeType":"ElementaryTypeName","src":"13748:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2417,"initialValue":{"arguments":[{"id":2413,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"13822:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":2414,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"13831:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2415,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"13839:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2412,"name":"getTickFeeGrowthOutside","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"13798:23:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_int24_$returns$_t_uint256_$_t_uint256_$","typeString":"function (contract IPoolManager,PoolId,int24) view returns (uint256,uint256)"}},"id":2416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13798:51:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13711:138:59"},{"assignments":[2419,2421],"declarations":[{"constant":false,"id":2419,"mutability":"mutable","name":"upperFeeGrowthOutside0X128","nameLocation":"13868:26:59","nodeType":"VariableDeclaration","scope":2487,"src":"13860:34:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2418,"name":"uint256","nodeType":"ElementaryTypeName","src":"13860:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2421,"mutability":"mutable","name":"upperFeeGrowthOutside1X128","nameLocation":"13904:26:59","nodeType":"VariableDeclaration","scope":2487,"src":"13896:34:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2420,"name":"uint256","nodeType":"ElementaryTypeName","src":"13896:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2427,"initialValue":{"arguments":[{"id":2423,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"13970:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":2424,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"13979:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":2425,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2392,"src":"13987:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2422,"name":"getTickFeeGrowthOutside","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"13946:23:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_int24_$returns$_t_uint256_$_t_uint256_$","typeString":"function (contract IPoolManager,PoolId,int24) view returns (uint256,uint256)"}},"id":2426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13946:51:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13859:138:59"},{"assignments":[null,2429,null,null],"declarations":[null,{"constant":false,"id":2429,"mutability":"mutable","name":"tickCurrent","nameLocation":"14016:11:59","nodeType":"VariableDeclaration","scope":2487,"src":"14010:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2428,"name":"int24","nodeType":"ElementaryTypeName","src":"14010:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},null,null],"id":2434,"initialValue":{"arguments":[{"id":2431,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14042:7:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":2432,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"14051:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2430,"name":"getSlot0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2001,"src":"14033:8:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint160,int24,uint24,uint24)"}},"id":2433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14033:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"tuple(uint160,int24,uint24,uint24)"}},"nodeType":"VariableDeclarationStatement","src":"14007:51:59"},{"id":2486,"nodeType":"UncheckedBlock","src":"14068:772:59","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2435,"name":"tickCurrent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"14096:11:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2436,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"14110:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"14096:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2451,"name":"tickCurrent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"14338:11:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2452,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2392,"src":"14353:9:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"14338:24:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2483,"nodeType":"Block","src":"14577:253:59","statements":[{"expression":{"id":2473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2467,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"14595:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2468,"name":"feeGrowthGlobal0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2400,"src":"14618:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2469,"name":"lowerFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"14641:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14618:49:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2471,"name":"upperFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2419,"src":"14670:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14618:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14595:101:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2474,"nodeType":"ExpressionStatement","src":"14595:101:59"},{"expression":{"id":2481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2475,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2397,"src":"14714:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2476,"name":"feeGrowthGlobal1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2402,"src":"14737:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2477,"name":"lowerFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2411,"src":"14760:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14737:49:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2479,"name":"upperFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2421,"src":"14789:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14737:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14714:101:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2482,"nodeType":"ExpressionStatement","src":"14714:101:59"}]},"id":2484,"nodeType":"IfStatement","src":"14334:496:59","trueBody":{"id":2466,"nodeType":"Block","src":"14364:207:59","statements":[{"expression":{"id":2458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2454,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"14382:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2455,"name":"upperFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2419,"src":"14405:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2456,"name":"lowerFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"14434:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14405:55:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14382:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2459,"nodeType":"ExpressionStatement","src":"14382:78:59"},{"expression":{"id":2464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2460,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2397,"src":"14478:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2461,"name":"upperFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2421,"src":"14501:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2462,"name":"lowerFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2411,"src":"14530:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14501:55:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14478:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2465,"nodeType":"ExpressionStatement","src":"14478:78:59"}]}},"id":2485,"nodeType":"IfStatement","src":"14092:738:59","trueBody":{"id":2450,"nodeType":"Block","src":"14121:207:59","statements":[{"expression":{"id":2442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2438,"name":"feeGrowthInside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"14139:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2439,"name":"lowerFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"14162:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2440,"name":"upperFeeGrowthOutside0X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2419,"src":"14191:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14162:55:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14139:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2443,"nodeType":"ExpressionStatement","src":"14139:78:59"},{"expression":{"id":2448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2444,"name":"feeGrowthInside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2397,"src":"14235:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2445,"name":"lowerFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2411,"src":"14258:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":2446,"name":"upperFeeGrowthOutside1X128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2421,"src":"14287:26:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14258:55:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14235:78:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2449,"nodeType":"ExpressionStatement","src":"14235:78:59"}]}}]}]},"documentation":{"id":2382,"nodeType":"StructuredDocumentation","src":"12768:608:59","text":" @notice Calculate the fee growth inside a tick range of a pool\n @dev pools[poolId].feeGrowthInside0LastX128 in Position.State is cached and can become stale. This function will calculate the up to date feeGrowthInside\n @param manager The pool manager contract.\n @param poolId The ID of the pool.\n @param tickLower The lower tick of the range.\n @param tickUpper The upper tick of the range.\n @return feeGrowthInside0X128 The fee growth inside the tick range for token0.\n @return feeGrowthInside1X128 The fee growth inside the tick range for token1."},"id":2488,"implemented":true,"kind":"function","modifiers":[],"name":"getFeeGrowthInside","nameLocation":"13390:18:59","nodeType":"FunctionDefinition","parameters":{"id":2393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2385,"mutability":"mutable","name":"manager","nameLocation":"13422:7:59","nodeType":"VariableDeclaration","scope":2488,"src":"13409:20:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":2384,"nodeType":"UserDefinedTypeName","pathNode":{"id":2383,"name":"IPoolManager","nameLocations":["13409:12:59"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"13409:12:59"},"referencedDeclaration":1763,"src":"13409:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":2388,"mutability":"mutable","name":"poolId","nameLocation":"13438:6:59","nodeType":"VariableDeclaration","scope":2488,"src":"13431:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2387,"nodeType":"UserDefinedTypeName","pathNode":{"id":2386,"name":"PoolId","nameLocations":["13431:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"13431:6:59"},"referencedDeclaration":4699,"src":"13431:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2390,"mutability":"mutable","name":"tickLower","nameLocation":"13452:9:59","nodeType":"VariableDeclaration","scope":2488,"src":"13446:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2389,"name":"int24","nodeType":"ElementaryTypeName","src":"13446:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":2392,"mutability":"mutable","name":"tickUpper","nameLocation":"13469:9:59","nodeType":"VariableDeclaration","scope":2488,"src":"13463:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2391,"name":"int24","nodeType":"ElementaryTypeName","src":"13463:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"13408:71:59"},"returnParameters":{"id":2398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2395,"mutability":"mutable","name":"feeGrowthInside0X128","nameLocation":"13535:20:59","nodeType":"VariableDeclaration","scope":2488,"src":"13527:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2394,"name":"uint256","nodeType":"ElementaryTypeName","src":"13527:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"feeGrowthInside1X128","nameLocation":"13565:20:59","nodeType":"VariableDeclaration","scope":2488,"src":"13557:28:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2396,"name":"uint256","nodeType":"ElementaryTypeName","src":"13557:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13526:60:59"},"scope":2586,"src":"13381:1465:59","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":2507,"nodeType":"Block","src":"14926:86:59","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":2501,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"14984:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"expression":{"id":2499,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"14970:6:59","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"type(PoolId)"}},"id":2500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14977:6:59","memberName":"unwrap","nodeType":"MemberAccess","src":"14970:13:59","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14970:21:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2503,"name":"POOLS_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1948,"src":"14993:10:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14953:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14957:12:59","memberName":"encodePacked","nodeType":"MemberAccess","src":"14953:16:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14953:51:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2496,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14943:9:59","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14943:62:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2495,"id":2506,"nodeType":"Return","src":"14936:69:59"}]},"id":2508,"implemented":true,"kind":"function","modifiers":[],"name":"_getPoolStateSlot","nameLocation":"14861:17:59","nodeType":"FunctionDefinition","parameters":{"id":2492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2491,"mutability":"mutable","name":"poolId","nameLocation":"14886:6:59","nodeType":"VariableDeclaration","scope":2508,"src":"14879:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2490,"nodeType":"UserDefinedTypeName","pathNode":{"id":2489,"name":"PoolId","nameLocations":["14879:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"14879:6:59"},"referencedDeclaration":4699,"src":"14879:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"14878:15:59"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2508,"src":"14917:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14917:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14916:9:59"},"scope":2586,"src":"14852:160:59","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2547,"nodeType":"Block","src":"15103:398:59","statements":[{"assignments":[2519],"declarations":[{"constant":false,"id":2519,"mutability":"mutable","name":"stateSlot","nameLocation":"15178:9:59","nodeType":"VariableDeclaration","scope":2547,"src":"15170:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15170:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2523,"initialValue":{"arguments":[{"id":2521,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"15208:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2520,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"15190:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15190:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15170:45:59"},{"assignments":[2525],"declarations":[{"constant":false,"id":2525,"mutability":"mutable","name":"ticksMappingSlot","nameLocation":"15292:16:59","nodeType":"VariableDeclaration","scope":2547,"src":"15284:24:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15284:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2535,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2530,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2519,"src":"15327:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15319:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2528,"name":"uint256","nodeType":"ElementaryTypeName","src":"15319:7:59","typeDescriptions":{}}},"id":2531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15319:18:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2532,"name":"TICKS_OFFSET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1960,"src":"15340:12:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15319:33:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15311:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15311:7:59","typeDescriptions":{}}},"id":2534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15311:42:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15284:69:59"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":2541,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2513,"src":"15469:4:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15462:6:59","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":2539,"name":"int256","nodeType":"ElementaryTypeName","src":"15462:6:59","typeDescriptions":{}}},"id":2542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15462:12:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2543,"name":"ticksMappingSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2525,"src":"15476:16:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2537,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15445:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15449:12:59","memberName":"encodePacked","nodeType":"MemberAccess","src":"15445:16:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:48:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2536,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15435:9:59","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15435:59:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2517,"id":2546,"nodeType":"Return","src":"15428:66:59"}]},"id":2548,"implemented":true,"kind":"function","modifiers":[],"name":"_getTickInfoSlot","nameLocation":"15027:16:59","nodeType":"FunctionDefinition","parameters":{"id":2514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2511,"mutability":"mutable","name":"poolId","nameLocation":"15051:6:59","nodeType":"VariableDeclaration","scope":2548,"src":"15044:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2510,"nodeType":"UserDefinedTypeName","pathNode":{"id":2509,"name":"PoolId","nameLocations":["15044:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"15044:6:59"},"referencedDeclaration":4699,"src":"15044:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2513,"mutability":"mutable","name":"tick","nameLocation":"15065:4:59","nodeType":"VariableDeclaration","scope":2548,"src":"15059:10:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2512,"name":"int24","nodeType":"ElementaryTypeName","src":"15059:5:59","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"15043:27:59"},"returnParameters":{"id":2517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2548,"src":"15094:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15094:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15093:9:59"},"scope":2586,"src":"15018:483:59","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2584,"nodeType":"Block","src":"15604:420:59","statements":[{"assignments":[2559],"declarations":[{"constant":false,"id":2559,"mutability":"mutable","name":"stateSlot","nameLocation":"15679:9:59","nodeType":"VariableDeclaration","scope":2584,"src":"15671:17:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15671:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2563,"initialValue":{"arguments":[{"id":2561,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"15709:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"id":2560,"name":"_getPoolStateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2508,"src":"15691:17:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_bytes32_$","typeString":"function (PoolId) pure returns (bytes32)"}},"id":2562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15691:25:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15671:45:59"},{"assignments":[2565],"declarations":[{"constant":false,"id":2565,"mutability":"mutable","name":"positionMapping","nameLocation":"15806:15:59","nodeType":"VariableDeclaration","scope":2584,"src":"15798:23:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15798:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2575,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2570,"name":"stateSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2559,"src":"15840:9:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15832:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2568,"name":"uint256","nodeType":"ElementaryTypeName","src":"15832:7:59","typeDescriptions":{}}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15832:18:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":2572,"name":"POSITIONS_OFFSET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1968,"src":"15853:16:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15832:37:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15824:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15824:7:59","typeDescriptions":{}}},"id":2574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15824:46:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"15798:72:59"},{"expression":{"arguments":[{"arguments":[{"id":2579,"name":"positionId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"15988:10:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2580,"name":"positionMapping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2565,"src":"16000:15:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15971:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15975:12:59","memberName":"encodePacked","nodeType":"MemberAccess","src":"15971:16:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15971:45:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2576,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15961:9:59","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15961:56:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2557,"id":2583,"nodeType":"Return","src":"15954:63:59"}]},"id":2585,"implemented":true,"kind":"function","modifiers":[],"name":"_getPositionInfoSlot","nameLocation":"15516:20:59","nodeType":"FunctionDefinition","parameters":{"id":2554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"poolId","nameLocation":"15544:6:59","nodeType":"VariableDeclaration","scope":2585,"src":"15537:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":2550,"nodeType":"UserDefinedTypeName","pathNode":{"id":2549,"name":"PoolId","nameLocations":["15537:6:59"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"15537:6:59"},"referencedDeclaration":4699,"src":"15537:6:59","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":2553,"mutability":"mutable","name":"positionId","nameLocation":"15560:10:59","nodeType":"VariableDeclaration","scope":2585,"src":"15552:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15552:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15536:35:59"},"returnParameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2585,"src":"15595:7:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15595:7:59","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15594:9:59"},"scope":2586,"src":"15507:517:59","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2587,"src":"276:15750:59","usedErrors":[],"usedEvents":[]}],"src":"32:15995:59"},"id":59},"v4-core/src/libraries/SwapMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/SwapMath.sol","exportedSymbols":{"FullMath":[45389],"SqrtPriceMath":[56118],"SwapMath":[56370]},"id":56371,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56120,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:60"},{"absolutePath":"v4-core/src/libraries/FullMath.sol","file":"./FullMath.sol","id":56122,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56371,"sourceUnit":45390,"src":"57:40:60","symbolAliases":[{"foreign":{"id":56121,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"65:8:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SqrtPriceMath.sol","file":"./SqrtPriceMath.sol","id":56124,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56371,"sourceUnit":56119,"src":"98:50:60","symbolAliases":[{"foreign":{"id":56123,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"106:13:60","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SwapMath","contractDependencies":[],"contractKind":"library","documentation":{"id":56125,"nodeType":"StructuredDocumentation","src":"150:173:60","text":"@title Computes the result of a swap within ticks\n @notice Contains methods for computing the result of a swap within a single tick price range, i.e., a single tick."},"fullyImplemented":true,"id":56370,"linearizedBaseContracts":[56370],"name":"SwapMath","nameLocation":"331:8:60","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":56126,"nodeType":"StructuredDocumentation","src":"346:171:60","text":"@notice the swap fee is represented in hundredths of a bip, so the max is 100%\n @dev the swap fee is the total fee on a swap, including both LP and Protocol fee"},"id":56129,"mutability":"constant","name":"MAX_SWAP_FEE","nameLocation":"548:12:60","nodeType":"VariableDeclaration","scope":56370,"src":"522:44:60","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56127,"name":"uint256","nodeType":"ElementaryTypeName","src":"522:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"316536","id":56128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"563:3:60","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"visibility":"internal"},{"body":{"id":56142,"nodeType":"Block","src":"1318:935:60","statements":[{"AST":{"nativeSrc":"1353:894:60","nodeType":"YulBlock","src":"1353:894:60","statements":[{"nativeSrc":"1802:85:60","nodeType":"YulAssignment","src":"1802:85:60","value":{"arguments":[{"name":"sqrtPriceNextX96","nativeSrc":"1826:16:60","nodeType":"YulIdentifier","src":"1826:16:60"},{"kind":"number","nativeSrc":"1844:42:60","nodeType":"YulLiteral","src":"1844:42:60","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1822:3:60","nodeType":"YulIdentifier","src":"1822:3:60"},"nativeSrc":"1822:65:60","nodeType":"YulFunctionCall","src":"1822:65:60"},"variableNames":[{"name":"sqrtPriceNextX96","nativeSrc":"1802:16:60","nodeType":"YulIdentifier","src":"1802:16:60"}]},{"nativeSrc":"1900:87:60","nodeType":"YulAssignment","src":"1900:87:60","value":{"arguments":[{"name":"sqrtPriceLimitX96","nativeSrc":"1925:17:60","nodeType":"YulIdentifier","src":"1925:17:60"},{"kind":"number","nativeSrc":"1944:42:60","nodeType":"YulLiteral","src":"1944:42:60","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1921:3:60","nodeType":"YulIdentifier","src":"1921:3:60"},"nativeSrc":"1921:66:60","nodeType":"YulFunctionCall","src":"1921:66:60"},"variableNames":[{"name":"sqrtPriceLimitX96","nativeSrc":"1900:17:60","nodeType":"YulIdentifier","src":"1900:17:60"}]},{"nativeSrc":"2000:85:60","nodeType":"YulVariableDeclaration","src":"2000:85:60","value":{"arguments":[{"arguments":[{"name":"sqrtPriceNextX96","nativeSrc":"2026:16:60","nodeType":"YulIdentifier","src":"2026:16:60"},{"name":"sqrtPriceLimitX96","nativeSrc":"2044:17:60","nodeType":"YulIdentifier","src":"2044:17:60"}],"functionName":{"name":"lt","nativeSrc":"2023:2:60","nodeType":"YulIdentifier","src":"2023:2:60"},"nativeSrc":"2023:39:60","nodeType":"YulFunctionCall","src":"2023:39:60"},{"arguments":[{"name":"zeroForOne","nativeSrc":"2068:10:60","nodeType":"YulIdentifier","src":"2068:10:60"},{"kind":"number","nativeSrc":"2080:3:60","nodeType":"YulLiteral","src":"2080:3:60","type":"","value":"0x1"}],"functionName":{"name":"and","nativeSrc":"2064:3:60","nodeType":"YulIdentifier","src":"2064:3:60"},"nativeSrc":"2064:20:60","nodeType":"YulFunctionCall","src":"2064:20:60"}],"functionName":{"name":"xor","nativeSrc":"2019:3:60","nodeType":"YulIdentifier","src":"2019:3:60"},"nativeSrc":"2019:66:60","nodeType":"YulFunctionCall","src":"2019:66:60"},"variables":[{"name":"nextOrLimit","nativeSrc":"2004:11:60","nodeType":"YulTypedName","src":"2004:11:60","type":""}]},{"nativeSrc":"2098:55:60","nodeType":"YulVariableDeclaration","src":"2098:55:60","value":{"arguments":[{"name":"sqrtPriceNextX96","nativeSrc":"2117:16:60","nodeType":"YulIdentifier","src":"2117:16:60"},{"name":"sqrtPriceLimitX96","nativeSrc":"2135:17:60","nodeType":"YulIdentifier","src":"2135:17:60"}],"functionName":{"name":"xor","nativeSrc":"2113:3:60","nodeType":"YulIdentifier","src":"2113:3:60"},"nativeSrc":"2113:40:60","nodeType":"YulFunctionCall","src":"2113:40:60"},"variables":[{"name":"symDiff","nativeSrc":"2102:7:60","nodeType":"YulTypedName","src":"2102:7:60","type":""}]},{"nativeSrc":"2166:71:60","nodeType":"YulAssignment","src":"2166:71:60","value":{"arguments":[{"name":"sqrtPriceLimitX96","nativeSrc":"2192:17:60","nodeType":"YulIdentifier","src":"2192:17:60"},{"arguments":[{"name":"symDiff","nativeSrc":"2215:7:60","nodeType":"YulIdentifier","src":"2215:7:60"},{"name":"nextOrLimit","nativeSrc":"2224:11:60","nodeType":"YulIdentifier","src":"2224:11:60"}],"functionName":{"name":"mul","nativeSrc":"2211:3:60","nodeType":"YulIdentifier","src":"2211:3:60"},"nativeSrc":"2211:25:60","nodeType":"YulFunctionCall","src":"2211:25:60"}],"functionName":{"name":"xor","nativeSrc":"2188:3:60","nodeType":"YulIdentifier","src":"2188:3:60"},"nativeSrc":"2188:49:60","nodeType":"YulFunctionCall","src":"2188:49:60"},"variableNames":[{"name":"sqrtPriceTargetX96","nativeSrc":"2166:18:60","nodeType":"YulIdentifier","src":"2166:18:60"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56136,"isOffset":false,"isSlot":false,"src":"1900:17:60","valueSize":1},{"declaration":56136,"isOffset":false,"isSlot":false,"src":"1925:17:60","valueSize":1},{"declaration":56136,"isOffset":false,"isSlot":false,"src":"2044:17:60","valueSize":1},{"declaration":56136,"isOffset":false,"isSlot":false,"src":"2135:17:60","valueSize":1},{"declaration":56136,"isOffset":false,"isSlot":false,"src":"2192:17:60","valueSize":1},{"declaration":56134,"isOffset":false,"isSlot":false,"src":"1802:16:60","valueSize":1},{"declaration":56134,"isOffset":false,"isSlot":false,"src":"1826:16:60","valueSize":1},{"declaration":56134,"isOffset":false,"isSlot":false,"src":"2026:16:60","valueSize":1},{"declaration":56134,"isOffset":false,"isSlot":false,"src":"2117:16:60","valueSize":1},{"declaration":56139,"isOffset":false,"isSlot":false,"src":"2166:18:60","valueSize":1},{"declaration":56132,"isOffset":false,"isSlot":false,"src":"2068:10:60","valueSize":1}],"flags":["memory-safe"],"id":56141,"nodeType":"InlineAssembly","src":"1328:919:60"}]},"documentation":{"id":56130,"nodeType":"StructuredDocumentation","src":"573:563:60","text":"@notice Computes the sqrt price target for the next swap step\n @param zeroForOne The direction of the swap, true for currency0 to currency1, false for currency1 to currency0\n @param sqrtPriceNextX96 The Q64.96 sqrt price for the next initialized tick\n @param sqrtPriceLimitX96 The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value\n after the swap. If one for zero, the price cannot be greater than this value after the swap\n @return sqrtPriceTargetX96 The price target for the next swap step"},"id":56143,"implemented":true,"kind":"function","modifiers":[],"name":"getSqrtPriceTarget","nameLocation":"1150:18:60","nodeType":"FunctionDefinition","parameters":{"id":56137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56132,"mutability":"mutable","name":"zeroForOne","nameLocation":"1174:10:60","nodeType":"VariableDeclaration","scope":56143,"src":"1169:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56131,"name":"bool","nodeType":"ElementaryTypeName","src":"1169:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56134,"mutability":"mutable","name":"sqrtPriceNextX96","nameLocation":"1194:16:60","nodeType":"VariableDeclaration","scope":56143,"src":"1186:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56133,"name":"uint160","nodeType":"ElementaryTypeName","src":"1186:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56136,"mutability":"mutable","name":"sqrtPriceLimitX96","nameLocation":"1220:17:60","nodeType":"VariableDeclaration","scope":56143,"src":"1212:25:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56135,"name":"uint160","nodeType":"ElementaryTypeName","src":"1212:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1168:70:60"},"returnParameters":{"id":56140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56139,"mutability":"mutable","name":"sqrtPriceTargetX96","nameLocation":"1294:18:60","nodeType":"VariableDeclaration","scope":56143,"src":"1286:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56138,"name":"uint160","nodeType":"ElementaryTypeName","src":"1286:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1285:28:60"},"scope":56370,"src":"1141:1112:60","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56368,"nodeType":"Block","src":"3806:3159:60","statements":[{"id":56367,"nodeType":"UncheckedBlock","src":"3816:3143:60","statements":[{"assignments":[56166],"declarations":[{"constant":false,"id":56166,"mutability":"mutable","name":"_feePips","nameLocation":"3848:8:60","nodeType":"VariableDeclaration","scope":56367,"src":"3840:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56165,"name":"uint256","nodeType":"ElementaryTypeName","src":"3840:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56168,"initialValue":{"id":56167,"name":"feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56154,"src":"3859:7:60","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"VariableDeclarationStatement","src":"3840:26:60"},{"assignments":[56170],"declarations":[{"constant":false,"id":56170,"mutability":"mutable","name":"zeroForOne","nameLocation":"3910:10:60","nodeType":"VariableDeclaration","scope":56367,"src":"3905:15:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56169,"name":"bool","nodeType":"ElementaryTypeName","src":"3905:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":56174,"initialValue":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":56173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56171,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"3923:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56172,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"3946:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"3923:41:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3905:59:60"},{"assignments":[56176],"declarations":[{"constant":false,"id":56176,"mutability":"mutable","name":"exactIn","nameLocation":"3983:7:60","nodeType":"VariableDeclaration","scope":56367,"src":"3978:12:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56175,"name":"bool","nodeType":"ElementaryTypeName","src":"3978:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":56180,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":56179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56177,"name":"amountRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56152,"src":"3993:15:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":56178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4011:1:60","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3993:19:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3978:34:60"},{"condition":{"id":56181,"name":"exactIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56176,"src":"4031:7:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56365,"nodeType":"Block","src":"5716:1233:60","statements":[{"expression":{"id":56303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56286,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56161,"src":"5734:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56287,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"5746:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":56297,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"5920:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56298,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"5941:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56299,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"5961:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5972:5:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56295,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5890:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5904:15:60","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":55975,"src":"5890:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5890:88:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5746:232:60","trueExpression":{"arguments":[{"id":56290,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"5809:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56291,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"5829:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56292,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"5850:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5861:5:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56288,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5779:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5793:15:60","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56031,"src":"5779:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:88:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5734:244:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56304,"nodeType":"ExpressionStatement","src":"5734:244:60"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56307,"name":"amountRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56152,"src":"6008:15:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":56306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6000:7:60","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56305,"name":"uint256","nodeType":"ElementaryTypeName","src":"6000:7:60","typeDescriptions":{}}},"id":56308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6000:24:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56309,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56161,"src":"6028:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6000:37:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56333,"nodeType":"Block","src":"6188:324:60","statements":[{"expression":{"id":56321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56316,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56161,"src":"6297:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":56319,"name":"amountRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56152,"src":"6317:15:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":56318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6309:7:60","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56317,"name":"uint256","nodeType":"ElementaryTypeName","src":"6309:7:60","typeDescriptions":{}}},"id":56320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6309:24:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6297:36:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56322,"nodeType":"ExpressionStatement","src":"6297:36:60"},{"expression":{"id":56331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56323,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"6355:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":56326,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"6439:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56327,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"6460:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":56328,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56161,"src":"6471:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56329,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"6482:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56324,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"6398:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6412:26:60","memberName":"getNextSqrtPriceFromOutput","nodeType":"MemberAccess","referencedDeclaration":55909,"src":"6398:40:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":56330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6398:95:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6355:138:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":56332,"nodeType":"ExpressionStatement","src":"6355:138:60"}]},"id":56334,"nodeType":"IfStatement","src":"5996:516:60","trueBody":{"id":56315,"nodeType":"Block","src":"6039:143:60","statements":[{"expression":{"id":56313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56311,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"6126:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56312,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"6145:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6126:37:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":56314,"nodeType":"ExpressionStatement","src":"6126:37:60"}]}},{"expression":{"id":56352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56335,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"6529:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56336,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"6540:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":56346,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"6711:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56347,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"6732:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56348,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"6750:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6761:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56344,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"6681:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6695:15:60","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56031,"src":"6681:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6681:85:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6540:226:60","trueExpression":{"arguments":[{"id":56339,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"6603:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56340,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"6621:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56341,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"6642:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6653:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56337,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"6573:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6587:15:60","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":55975,"src":"6573:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6573:85:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6529:237:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56353,"nodeType":"ExpressionStatement","src":"6529:237:60"},{"expression":{"id":56363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56354,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56163,"src":"6852:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":56357,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"6890:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56358,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"6900:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56359,"name":"MAX_SWAP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"6910:12:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56360,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"6925:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6910:23:60","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":56355,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"6864:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":56356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6873:16:60","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"6864:25:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":56362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:70:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6852:82:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56364,"nodeType":"ExpressionStatement","src":"6852:82:60"}]},"id":56366,"nodeType":"IfStatement","src":"4027:2922:60","trueBody":{"id":56285,"nodeType":"Block","src":"4040:1670:60","statements":[{"assignments":[56183],"declarations":[{"constant":false,"id":56183,"mutability":"mutable","name":"amountRemainingLessFee","nameLocation":"4066:22:60","nodeType":"VariableDeclaration","scope":56285,"src":"4058:30:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56182,"name":"uint256","nodeType":"ElementaryTypeName","src":"4058:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56196,"initialValue":{"arguments":[{"arguments":[{"id":56189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"4135:16:60","subExpression":{"id":56188,"name":"amountRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56152,"src":"4136:15:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":56187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4127:7:60","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56186,"name":"uint256","nodeType":"ElementaryTypeName","src":"4127:7:60","typeDescriptions":{}}},"id":56190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4127:25:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56191,"name":"MAX_SWAP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4154:12:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56192,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"4169:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4154:23:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56194,"name":"MAX_SWAP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4179:12:60","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":56184,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4111:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":56185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4120:6:60","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"4111:15:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":56195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4111:81:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4058:134:60"},{"expression":{"id":56214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56197,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"4210:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56198,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"4221:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":56208,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"4394:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56209,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"4415:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56210,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"4435:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4446:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56206,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"4364:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:15:60","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56031,"src":"4364:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4364:87:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4221:230:60","trueExpression":{"arguments":[{"id":56201,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"4284:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56202,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"4304:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56203,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"4325:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"74727565","id":56204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4336:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56199,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"4254:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4268:15:60","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":55975,"src":"4254:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4254:87:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4210:241:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56215,"nodeType":"ExpressionStatement","src":"4210:241:60"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56216,"name":"amountRemainingLessFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56183,"src":"4473:22:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56217,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"4499:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4473:34:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56264,"nodeType":"Block","src":"4947:491:60","statements":[{"expression":{"id":56242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56240,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"5021:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56241,"name":"amountRemainingLessFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56183,"src":"5032:22:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5021:33:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56243,"nodeType":"ExpressionStatement","src":"5021:33:60"},{"expression":{"id":56252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56244,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"5076:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":56247,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"5160:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56248,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"5181:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":56249,"name":"amountRemainingLessFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56183,"src":"5192:22:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56250,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"5216:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56245,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5095:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5109:25:60","memberName":"getNextSqrtPriceFromInput","nodeType":"MemberAccess","referencedDeclaration":55878,"src":"5095:39:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint128_$_t_uint256_$_t_bool_$returns$_t_uint160_$","typeString":"function (uint160,uint128,uint256,bool) pure returns (uint160)"}},"id":56251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5095:153:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"5076:172:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":56253,"nodeType":"ExpressionStatement","src":"5076:172:60"},{"expression":{"id":56262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56254,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56163,"src":"5371:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"5391:16:60","subExpression":{"id":56257,"name":"amountRemaining","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56152,"src":"5392:15:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":56256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5383:7:60","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56255,"name":"uint256","nodeType":"ElementaryTypeName","src":"5383:7:60","typeDescriptions":{}}},"id":56259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:25:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56260,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"5411:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5383:36:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5371:48:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56263,"nodeType":"ExpressionStatement","src":"5371:48:60"}]},"id":56265,"nodeType":"IfStatement","src":"4469:969:60","trueBody":{"id":56239,"nodeType":"Block","src":"4509:432:60","statements":[{"expression":{"id":56221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56219,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"4595:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56220,"name":"sqrtPriceTargetX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56148,"src":"4614:18:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"4595:37:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":56222,"nodeType":"ExpressionStatement","src":"4595:37:60"},{"expression":{"id":56237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56223,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56163,"src":"4654:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56224,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"4666:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":56225,"name":"MAX_SWAP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4678:12:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4666:24:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":56230,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"4878:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56231,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"4888:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56232,"name":"MAX_SWAP_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56129,"src":"4898:12:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56233,"name":"_feePips","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"4913:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4898:23:60","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":56228,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4852:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":56229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4861:16:60","memberName":"mulDivRoundingUp","nodeType":"MemberAccess","referencedDeclaration":45388,"src":"4852:25:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":56235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4852:70:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4666:256:60","trueExpression":{"id":56227,"name":"amountIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56159,"src":"4717:8:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4654:268:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56238,"nodeType":"ExpressionStatement","src":"4654:268:60"}]}},{"expression":{"id":56283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56266,"name":"amountOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56161,"src":"5455:9:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56267,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"5467:10:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":56277,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"5639:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56278,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"5660:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56279,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"5678:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5689:5:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56275,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5609:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5623:15:60","memberName":"getAmount0Delta","nodeType":"MemberAccess","referencedDeclaration":55975,"src":"5609:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5609:86:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5467:228:60","trueExpression":{"arguments":[{"id":56270,"name":"sqrtPriceNextX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"5530:16:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56271,"name":"sqrtPriceCurrentX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56146,"src":"5548:19:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":56272,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56150,"src":"5569:9:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"66616c7365","id":56273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5580:5:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56268,"name":"SqrtPriceMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"5500:13:60","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SqrtPriceMath_$56118_$","typeString":"type(library SqrtPriceMath)"}},"id":56269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5514:15:60","memberName":"getAmount1Delta","nodeType":"MemberAccess","referencedDeclaration":56031,"src":"5500:29:60","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$_t_bool_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128,bool) pure returns (uint256)"}},"id":56274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:86:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5455:240:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56284,"nodeType":"ExpressionStatement","src":"5455:240:60"}]}}]}]},"documentation":{"id":56144,"nodeType":"StructuredDocumentation","src":"2259:1250:60","text":"@notice Computes the result of swapping some amount in, or amount out, given the parameters of the swap\n @dev If the swap's amountSpecified is negative, the combined fee and input amount will never exceed the absolute value of the remaining amount.\n @param sqrtPriceCurrentX96 The current sqrt price of the pool\n @param sqrtPriceTargetX96 The price that cannot be exceeded, from which the direction of the swap is inferred\n @param liquidity The usable liquidity\n @param amountRemaining How much input or output amount is remaining to be swapped in/out\n @param feePips The fee taken from the input amount, expressed in hundredths of a bip\n @return sqrtPriceNextX96 The price after swapping the amount in/out, not to exceed the price target\n @return amountIn The amount to be swapped in, of either currency0 or currency1, based on the direction of the swap\n @return amountOut The amount to be received, of either currency0 or currency1, based on the direction of the swap\n @return feeAmount The amount of input that will be taken as a fee\n @dev feePips must be no larger than MAX_SWAP_FEE for this function. We ensure that before setting a fee using LPFeeLibrary.isValid."},"id":56369,"implemented":true,"kind":"function","modifiers":[],"name":"computeSwapStep","nameLocation":"3523:15:60","nodeType":"FunctionDefinition","parameters":{"id":56155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56146,"mutability":"mutable","name":"sqrtPriceCurrentX96","nameLocation":"3556:19:60","nodeType":"VariableDeclaration","scope":56369,"src":"3548:27:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56145,"name":"uint160","nodeType":"ElementaryTypeName","src":"3548:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56148,"mutability":"mutable","name":"sqrtPriceTargetX96","nameLocation":"3593:18:60","nodeType":"VariableDeclaration","scope":56369,"src":"3585:26:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56147,"name":"uint160","nodeType":"ElementaryTypeName","src":"3585:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56150,"mutability":"mutable","name":"liquidity","nameLocation":"3629:9:60","nodeType":"VariableDeclaration","scope":56369,"src":"3621:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":56149,"name":"uint128","nodeType":"ElementaryTypeName","src":"3621:7:60","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":56152,"mutability":"mutable","name":"amountRemaining","nameLocation":"3655:15:60","nodeType":"VariableDeclaration","scope":56369,"src":"3648:22:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":56151,"name":"int256","nodeType":"ElementaryTypeName","src":"3648:6:60","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":56154,"mutability":"mutable","name":"feePips","nameLocation":"3687:7:60","nodeType":"VariableDeclaration","scope":56369,"src":"3680:14:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56153,"name":"uint24","nodeType":"ElementaryTypeName","src":"3680:6:60","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3538:162:60"},"returnParameters":{"id":56164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56157,"mutability":"mutable","name":"sqrtPriceNextX96","nameLocation":"3732:16:60","nodeType":"VariableDeclaration","scope":56369,"src":"3724:24:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56156,"name":"uint160","nodeType":"ElementaryTypeName","src":"3724:7:60","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":56159,"mutability":"mutable","name":"amountIn","nameLocation":"3758:8:60","nodeType":"VariableDeclaration","scope":56369,"src":"3750:16:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56158,"name":"uint256","nodeType":"ElementaryTypeName","src":"3750:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56161,"mutability":"mutable","name":"amountOut","nameLocation":"3776:9:60","nodeType":"VariableDeclaration","scope":56369,"src":"3768:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56160,"name":"uint256","nodeType":"ElementaryTypeName","src":"3768:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56163,"mutability":"mutable","name":"feeAmount","nameLocation":"3795:9:60","nodeType":"VariableDeclaration","scope":56369,"src":"3787:17:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56162,"name":"uint256","nodeType":"ElementaryTypeName","src":"3787:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3723:82:60"},"scope":56370,"src":"3514:3451:60","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":56371,"src":"323:6644:60","usedErrors":[],"usedEvents":[]}],"src":"32:6936:60"},"id":60},"v4-core/src/libraries/TickBitmap.sol":{"ast":{"absolutePath":"v4-core/src/libraries/TickBitmap.sol","exportedSymbols":{"BitMath":[45441],"TickBitmap":[56602]},"id":56603,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56372,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:61"},{"absolutePath":"v4-core/src/libraries/BitMath.sol","file":"./BitMath.sol","id":56374,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56603,"sourceUnit":45442,"src":"57:38:61","symbolAliases":[{"foreign":{"id":56373,"name":"BitMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45441,"src":"65:7:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"TickBitmap","contractDependencies":[],"contractKind":"library","documentation":{"id":56375,"nodeType":"StructuredDocumentation","src":"97:243:61","text":"@title Packed tick initialized state library\n @notice Stores a packed mapping of tick index to its initialized state\n @dev The mapping uses int16 for keys since ticks are represented as int24 and there are 256 (2^8) values per word."},"fullyImplemented":true,"id":56602,"linearizedBaseContracts":[56602],"name":"TickBitmap","nameLocation":"348:10:61","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":56376,"nodeType":"StructuredDocumentation","src":"365:163:61","text":"@notice Thrown when the tick is not enumerated by the tick spacing\n @param tick the invalid tick\n @param tickSpacing The tick spacing of the pool"},"errorSelector":"d4d8f3e6","id":56382,"name":"TickMisaligned","nameLocation":"539:14:61","nodeType":"ErrorDefinition","parameters":{"id":56381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56378,"mutability":"mutable","name":"tick","nameLocation":"560:4:61","nodeType":"VariableDeclaration","scope":56382,"src":"554:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56377,"name":"int24","nodeType":"ElementaryTypeName","src":"554:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56380,"mutability":"mutable","name":"tickSpacing","nameLocation":"572:11:61","nodeType":"VariableDeclaration","scope":56382,"src":"566:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56379,"name":"int24","nodeType":"ElementaryTypeName","src":"566:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"553:31:61"},"src":"533:52:61"},{"body":{"id":56393,"nodeType":"Block","src":"726:522:61","statements":[{"AST":{"nativeSrc":"871:371:61","nodeType":"YulBlock","src":"871:371:61","statements":[{"nativeSrc":"885:27:61","nodeType":"YulAssignment","src":"885:27:61","value":{"arguments":[{"kind":"number","nativeSrc":"904:1:61","nodeType":"YulLiteral","src":"904:1:61","type":"","value":"2"},{"name":"tick","nativeSrc":"907:4:61","nodeType":"YulIdentifier","src":"907:4:61"}],"functionName":{"name":"signextend","nativeSrc":"893:10:61","nodeType":"YulIdentifier","src":"893:10:61"},"nativeSrc":"893:19:61","nodeType":"YulFunctionCall","src":"893:19:61"},"variableNames":[{"name":"tick","nativeSrc":"885:4:61","nodeType":"YulIdentifier","src":"885:4:61"}]},{"nativeSrc":"925:41:61","nodeType":"YulAssignment","src":"925:41:61","value":{"arguments":[{"kind":"number","nativeSrc":"951:1:61","nodeType":"YulLiteral","src":"951:1:61","type":"","value":"2"},{"name":"tickSpacing","nativeSrc":"954:11:61","nodeType":"YulIdentifier","src":"954:11:61"}],"functionName":{"name":"signextend","nativeSrc":"940:10:61","nodeType":"YulIdentifier","src":"940:10:61"},"nativeSrc":"940:26:61","nodeType":"YulFunctionCall","src":"940:26:61"},"variableNames":[{"name":"tickSpacing","nativeSrc":"925:11:61","nodeType":"YulIdentifier","src":"925:11:61"}]},{"nativeSrc":"979:253:61","nodeType":"YulAssignment","src":"979:253:61","value":{"arguments":[{"arguments":[{"name":"tick","nativeSrc":"1039:4:61","nodeType":"YulIdentifier","src":"1039:4:61"},{"name":"tickSpacing","nativeSrc":"1045:11:61","nodeType":"YulIdentifier","src":"1045:11:61"}],"functionName":{"name":"sdiv","nativeSrc":"1034:4:61","nodeType":"YulIdentifier","src":"1034:4:61"},"nativeSrc":"1034:23:61","nodeType":"YulFunctionCall","src":"1034:23:61"},{"arguments":[{"arguments":[{"name":"tick","nativeSrc":"1192:4:61","nodeType":"YulIdentifier","src":"1192:4:61"},{"name":"tickSpacing","nativeSrc":"1198:11:61","nodeType":"YulIdentifier","src":"1198:11:61"}],"functionName":{"name":"smod","nativeSrc":"1187:4:61","nodeType":"YulIdentifier","src":"1187:4:61"},"nativeSrc":"1187:23:61","nodeType":"YulFunctionCall","src":"1187:23:61"},{"kind":"number","nativeSrc":"1212:1:61","nodeType":"YulLiteral","src":"1212:1:61","type":"","value":"0"}],"functionName":{"name":"slt","nativeSrc":"1183:3:61","nodeType":"YulIdentifier","src":"1183:3:61"},"nativeSrc":"1183:31:61","nodeType":"YulFunctionCall","src":"1183:31:61"}],"functionName":{"name":"sub","nativeSrc":"1009:3:61","nodeType":"YulIdentifier","src":"1009:3:61"},"nativeSrc":"1009:223:61","nodeType":"YulFunctionCall","src":"1009:223:61"},"variableNames":[{"name":"compressed","nativeSrc":"979:10:61","nodeType":"YulIdentifier","src":"979:10:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56390,"isOffset":false,"isSlot":false,"src":"979:10:61","valueSize":1},{"declaration":56385,"isOffset":false,"isSlot":false,"src":"1039:4:61","valueSize":1},{"declaration":56385,"isOffset":false,"isSlot":false,"src":"1192:4:61","valueSize":1},{"declaration":56385,"isOffset":false,"isSlot":false,"src":"885:4:61","valueSize":1},{"declaration":56385,"isOffset":false,"isSlot":false,"src":"907:4:61","valueSize":1},{"declaration":56387,"isOffset":false,"isSlot":false,"src":"1045:11:61","valueSize":1},{"declaration":56387,"isOffset":false,"isSlot":false,"src":"1198:11:61","valueSize":1},{"declaration":56387,"isOffset":false,"isSlot":false,"src":"925:11:61","valueSize":1},{"declaration":56387,"isOffset":false,"isSlot":false,"src":"954:11:61","valueSize":1}],"flags":["memory-safe"],"id":56392,"nodeType":"InlineAssembly","src":"846:396:61"}]},"documentation":{"id":56383,"nodeType":"StructuredDocumentation","src":"591:40:61","text":"@dev round towards negative infinity"},"id":56394,"implemented":true,"kind":"function","modifiers":[],"name":"compress","nameLocation":"645:8:61","nodeType":"FunctionDefinition","parameters":{"id":56388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56385,"mutability":"mutable","name":"tick","nameLocation":"660:4:61","nodeType":"VariableDeclaration","scope":56394,"src":"654:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56384,"name":"int24","nodeType":"ElementaryTypeName","src":"654:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56387,"mutability":"mutable","name":"tickSpacing","nameLocation":"672:11:61","nodeType":"VariableDeclaration","scope":56394,"src":"666:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56386,"name":"int24","nodeType":"ElementaryTypeName","src":"666:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"653:31:61"},"returnParameters":{"id":56391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56390,"mutability":"mutable","name":"compressed","nameLocation":"714:10:61","nodeType":"VariableDeclaration","scope":56394,"src":"708:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56389,"name":"int24","nodeType":"ElementaryTypeName","src":"708:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"707:18:61"},"scope":56602,"src":"636:612:61","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56405,"nodeType":"Block","src":"1666:186:61","statements":[{"AST":{"nativeSrc":"1701:145:61","nodeType":"YulBlock","src":"1701:145:61","statements":[{"nativeSrc":"1760:38:61","nodeType":"YulAssignment","src":"1760:38:61","value":{"arguments":[{"kind":"number","nativeSrc":"1775:1:61","nodeType":"YulLiteral","src":"1775:1:61","type":"","value":"8"},{"arguments":[{"kind":"number","nativeSrc":"1789:1:61","nodeType":"YulLiteral","src":"1789:1:61","type":"","value":"2"},{"name":"tick","nativeSrc":"1792:4:61","nodeType":"YulIdentifier","src":"1792:4:61"}],"functionName":{"name":"signextend","nativeSrc":"1778:10:61","nodeType":"YulIdentifier","src":"1778:10:61"},"nativeSrc":"1778:19:61","nodeType":"YulFunctionCall","src":"1778:19:61"}],"functionName":{"name":"sar","nativeSrc":"1771:3:61","nodeType":"YulIdentifier","src":"1771:3:61"},"nativeSrc":"1771:27:61","nodeType":"YulFunctionCall","src":"1771:27:61"},"variableNames":[{"name":"wordPos","nativeSrc":"1760:7:61","nodeType":"YulIdentifier","src":"1760:7:61"}]},{"nativeSrc":"1811:25:61","nodeType":"YulAssignment","src":"1811:25:61","value":{"arguments":[{"name":"tick","nativeSrc":"1825:4:61","nodeType":"YulIdentifier","src":"1825:4:61"},{"kind":"number","nativeSrc":"1831:4:61","nodeType":"YulLiteral","src":"1831:4:61","type":"","value":"0xff"}],"functionName":{"name":"and","nativeSrc":"1821:3:61","nodeType":"YulIdentifier","src":"1821:3:61"},"nativeSrc":"1821:15:61","nodeType":"YulFunctionCall","src":"1821:15:61"},"variableNames":[{"name":"bitPos","nativeSrc":"1811:6:61","nodeType":"YulIdentifier","src":"1811:6:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56402,"isOffset":false,"isSlot":false,"src":"1811:6:61","valueSize":1},{"declaration":56397,"isOffset":false,"isSlot":false,"src":"1792:4:61","valueSize":1},{"declaration":56397,"isOffset":false,"isSlot":false,"src":"1825:4:61","valueSize":1},{"declaration":56400,"isOffset":false,"isSlot":false,"src":"1760:7:61","valueSize":1}],"flags":["memory-safe"],"id":56404,"nodeType":"InlineAssembly","src":"1676:170:61"}]},"documentation":{"id":56395,"nodeType":"StructuredDocumentation","src":"1254:325:61","text":"@notice Computes the position in the mapping where the initialized bit for a tick lives\n @param tick The tick for which to compute the position\n @return wordPos The key in the mapping containing the word in which the bit is stored\n @return bitPos The bit position in the word where the flag is stored"},"id":56406,"implemented":true,"kind":"function","modifiers":[],"name":"position","nameLocation":"1593:8:61","nodeType":"FunctionDefinition","parameters":{"id":56398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56397,"mutability":"mutable","name":"tick","nameLocation":"1608:4:61","nodeType":"VariableDeclaration","scope":56406,"src":"1602:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56396,"name":"int24","nodeType":"ElementaryTypeName","src":"1602:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1601:12:61"},"returnParameters":{"id":56403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56400,"mutability":"mutable","name":"wordPos","nameLocation":"1643:7:61","nodeType":"VariableDeclaration","scope":56406,"src":"1637:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":56399,"name":"int16","nodeType":"ElementaryTypeName","src":"1637:5:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"},{"constant":false,"id":56402,"mutability":"mutable","name":"bitPos","nameLocation":"1658:6:61","nodeType":"VariableDeclaration","scope":56406,"src":"1652:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56401,"name":"uint8","nodeType":"ElementaryTypeName","src":"1652:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1636:29:61"},"scope":56602,"src":"1584:268:61","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56419,"nodeType":"Block","src":"2206:1312:61","statements":[{"AST":{"nativeSrc":"2534:978:61","nodeType":"YulBlock","src":"2534:978:61","statements":[{"nativeSrc":"2548:27:61","nodeType":"YulAssignment","src":"2548:27:61","value":{"arguments":[{"kind":"number","nativeSrc":"2567:1:61","nodeType":"YulLiteral","src":"2567:1:61","type":"","value":"2"},{"name":"tick","nativeSrc":"2570:4:61","nodeType":"YulIdentifier","src":"2570:4:61"}],"functionName":{"name":"signextend","nativeSrc":"2556:10:61","nodeType":"YulIdentifier","src":"2556:10:61"},"nativeSrc":"2556:19:61","nodeType":"YulFunctionCall","src":"2556:19:61"},"variableNames":[{"name":"tick","nativeSrc":"2548:4:61","nodeType":"YulIdentifier","src":"2548:4:61"}]},{"nativeSrc":"2588:41:61","nodeType":"YulAssignment","src":"2588:41:61","value":{"arguments":[{"kind":"number","nativeSrc":"2614:1:61","nodeType":"YulLiteral","src":"2614:1:61","type":"","value":"2"},{"name":"tickSpacing","nativeSrc":"2617:11:61","nodeType":"YulIdentifier","src":"2617:11:61"}],"functionName":{"name":"signextend","nativeSrc":"2603:10:61","nodeType":"YulIdentifier","src":"2603:10:61"},"nativeSrc":"2603:26:61","nodeType":"YulFunctionCall","src":"2603:26:61"},"variableNames":[{"name":"tickSpacing","nativeSrc":"2588:11:61","nodeType":"YulIdentifier","src":"2588:11:61"}]},{"body":{"nativeSrc":"2715:280:61","nodeType":"YulBlock","src":"2715:280:61","statements":[{"nativeSrc":"2733:22:61","nodeType":"YulVariableDeclaration","src":"2733:22:61","value":{"arguments":[{"kind":"number","nativeSrc":"2750:4:61","nodeType":"YulLiteral","src":"2750:4:61","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2744:5:61","nodeType":"YulIdentifier","src":"2744:5:61"},"nativeSrc":"2744:11:61","nodeType":"YulFunctionCall","src":"2744:11:61"},"variables":[{"name":"fmp","nativeSrc":"2737:3:61","nodeType":"YulTypedName","src":"2737:3:61","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2779:3:61","nodeType":"YulIdentifier","src":"2779:3:61"},{"kind":"number","nativeSrc":"2784:10:61","nodeType":"YulLiteral","src":"2784:10:61","type":"","value":"0xd4d8f3e6"}],"functionName":{"name":"mstore","nativeSrc":"2772:6:61","nodeType":"YulIdentifier","src":"2772:6:61"},"nativeSrc":"2772:23:61","nodeType":"YulFunctionCall","src":"2772:23:61"},"nativeSrc":"2772:23:61","nodeType":"YulExpressionStatement","src":"2772:23:61"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2867:3:61","nodeType":"YulIdentifier","src":"2867:3:61"},{"kind":"number","nativeSrc":"2872:4:61","nodeType":"YulLiteral","src":"2872:4:61","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2863:3:61","nodeType":"YulIdentifier","src":"2863:3:61"},"nativeSrc":"2863:14:61","nodeType":"YulFunctionCall","src":"2863:14:61"},{"name":"tick","nativeSrc":"2879:4:61","nodeType":"YulIdentifier","src":"2879:4:61"}],"functionName":{"name":"mstore","nativeSrc":"2856:6:61","nodeType":"YulIdentifier","src":"2856:6:61"},"nativeSrc":"2856:28:61","nodeType":"YulFunctionCall","src":"2856:28:61"},"nativeSrc":"2856:28:61","nodeType":"YulExpressionStatement","src":"2856:28:61"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2912:3:61","nodeType":"YulIdentifier","src":"2912:3:61"},{"kind":"number","nativeSrc":"2917:4:61","nodeType":"YulLiteral","src":"2917:4:61","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"2908:3:61","nodeType":"YulIdentifier","src":"2908:3:61"},"nativeSrc":"2908:14:61","nodeType":"YulFunctionCall","src":"2908:14:61"},{"name":"tickSpacing","nativeSrc":"2924:11:61","nodeType":"YulIdentifier","src":"2924:11:61"}],"functionName":{"name":"mstore","nativeSrc":"2901:6:61","nodeType":"YulIdentifier","src":"2901:6:61"},"nativeSrc":"2901:35:61","nodeType":"YulFunctionCall","src":"2901:35:61"},"nativeSrc":"2901:35:61","nodeType":"YulExpressionStatement","src":"2901:35:61"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2964:3:61","nodeType":"YulIdentifier","src":"2964:3:61"},{"kind":"number","nativeSrc":"2969:4:61","nodeType":"YulLiteral","src":"2969:4:61","type":"","value":"0x1c"}],"functionName":{"name":"add","nativeSrc":"2960:3:61","nodeType":"YulIdentifier","src":"2960:3:61"},"nativeSrc":"2960:14:61","nodeType":"YulFunctionCall","src":"2960:14:61"},{"kind":"number","nativeSrc":"2976:4:61","nodeType":"YulLiteral","src":"2976:4:61","type":"","value":"0x44"}],"functionName":{"name":"revert","nativeSrc":"2953:6:61","nodeType":"YulIdentifier","src":"2953:6:61"},"nativeSrc":"2953:28:61","nodeType":"YulFunctionCall","src":"2953:28:61"},"nativeSrc":"2953:28:61","nodeType":"YulExpressionStatement","src":"2953:28:61"}]},"condition":{"arguments":[{"name":"tick","nativeSrc":"2696:4:61","nodeType":"YulIdentifier","src":"2696:4:61"},{"name":"tickSpacing","nativeSrc":"2702:11:61","nodeType":"YulIdentifier","src":"2702:11:61"}],"functionName":{"name":"smod","nativeSrc":"2691:4:61","nodeType":"YulIdentifier","src":"2691:4:61"},"nativeSrc":"2691:23:61","nodeType":"YulFunctionCall","src":"2691:23:61"},"nativeSrc":"2688:307:61","nodeType":"YulIf","src":"2688:307:61"},{"nativeSrc":"3008:31:61","nodeType":"YulAssignment","src":"3008:31:61","value":{"arguments":[{"name":"tick","nativeSrc":"3021:4:61","nodeType":"YulIdentifier","src":"3021:4:61"},{"name":"tickSpacing","nativeSrc":"3027:11:61","nodeType":"YulIdentifier","src":"3027:11:61"}],"functionName":{"name":"sdiv","nativeSrc":"3016:4:61","nodeType":"YulIdentifier","src":"3016:4:61"},"nativeSrc":"3016:23:61","nodeType":"YulFunctionCall","src":"3016:23:61"},"variableNames":[{"name":"tick","nativeSrc":"3008:4:61","nodeType":"YulIdentifier","src":"3008:4:61"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3162:1:61","nodeType":"YulLiteral","src":"3162:1:61","type":"","value":"0"},{"arguments":[{"kind":"number","nativeSrc":"3169:1:61","nodeType":"YulLiteral","src":"3169:1:61","type":"","value":"8"},{"name":"tick","nativeSrc":"3172:4:61","nodeType":"YulIdentifier","src":"3172:4:61"}],"functionName":{"name":"sar","nativeSrc":"3165:3:61","nodeType":"YulIdentifier","src":"3165:3:61"},"nativeSrc":"3165:12:61","nodeType":"YulFunctionCall","src":"3165:12:61"}],"functionName":{"name":"mstore","nativeSrc":"3155:6:61","nodeType":"YulIdentifier","src":"3155:6:61"},"nativeSrc":"3155:23:61","nodeType":"YulFunctionCall","src":"3155:23:61"},"nativeSrc":"3155:23:61","nodeType":"YulExpressionStatement","src":"3155:23:61"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3198:4:61","nodeType":"YulLiteral","src":"3198:4:61","type":"","value":"0x20"},{"name":"self.slot","nativeSrc":"3204:9:61","nodeType":"YulIdentifier","src":"3204:9:61"}],"functionName":{"name":"mstore","nativeSrc":"3191:6:61","nodeType":"YulIdentifier","src":"3191:6:61"},"nativeSrc":"3191:23:61","nodeType":"YulFunctionCall","src":"3191:23:61"},"nativeSrc":"3191:23:61","nodeType":"YulExpressionStatement","src":"3191:23:61"},{"nativeSrc":"3313:30:61","nodeType":"YulVariableDeclaration","src":"3313:30:61","value":{"arguments":[{"kind":"number","nativeSrc":"3335:1:61","nodeType":"YulLiteral","src":"3335:1:61","type":"","value":"0"},{"kind":"number","nativeSrc":"3338:4:61","nodeType":"YulLiteral","src":"3338:4:61","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"3325:9:61","nodeType":"YulIdentifier","src":"3325:9:61"},"nativeSrc":"3325:18:61","nodeType":"YulFunctionCall","src":"3325:18:61"},"variables":[{"name":"slot","nativeSrc":"3317:4:61","nodeType":"YulTypedName","src":"3317:4:61","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"3454:4:61","nodeType":"YulIdentifier","src":"3454:4:61"},{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"3470:4:61","nodeType":"YulIdentifier","src":"3470:4:61"}],"functionName":{"name":"sload","nativeSrc":"3464:5:61","nodeType":"YulIdentifier","src":"3464:5:61"},"nativeSrc":"3464:11:61","nodeType":"YulFunctionCall","src":"3464:11:61"},{"arguments":[{"arguments":[{"name":"tick","nativeSrc":"3485:4:61","nodeType":"YulIdentifier","src":"3485:4:61"},{"kind":"number","nativeSrc":"3491:4:61","nodeType":"YulLiteral","src":"3491:4:61","type":"","value":"0xff"}],"functionName":{"name":"and","nativeSrc":"3481:3:61","nodeType":"YulIdentifier","src":"3481:3:61"},"nativeSrc":"3481:15:61","nodeType":"YulFunctionCall","src":"3481:15:61"},{"kind":"number","nativeSrc":"3498:1:61","nodeType":"YulLiteral","src":"3498:1:61","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"3477:3:61","nodeType":"YulIdentifier","src":"3477:3:61"},"nativeSrc":"3477:23:61","nodeType":"YulFunctionCall","src":"3477:23:61"}],"functionName":{"name":"xor","nativeSrc":"3460:3:61","nodeType":"YulIdentifier","src":"3460:3:61"},"nativeSrc":"3460:41:61","nodeType":"YulFunctionCall","src":"3460:41:61"}],"functionName":{"name":"sstore","nativeSrc":"3447:6:61","nodeType":"YulIdentifier","src":"3447:6:61"},"nativeSrc":"3447:55:61","nodeType":"YulFunctionCall","src":"3447:55:61"},"nativeSrc":"3447:55:61","nodeType":"YulExpressionStatement","src":"3447:55:61"}]},"evmVersion":"cancun","externalReferences":[{"declaration":56411,"isOffset":false,"isSlot":true,"src":"3204:9:61","suffix":"slot","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"2548:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"2570:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"2696:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"2879:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"3008:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"3021:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"3172:4:61","valueSize":1},{"declaration":56413,"isOffset":false,"isSlot":false,"src":"3485:4:61","valueSize":1},{"declaration":56415,"isOffset":false,"isSlot":false,"src":"2588:11:61","valueSize":1},{"declaration":56415,"isOffset":false,"isSlot":false,"src":"2617:11:61","valueSize":1},{"declaration":56415,"isOffset":false,"isSlot":false,"src":"2702:11:61","valueSize":1},{"declaration":56415,"isOffset":false,"isSlot":false,"src":"2924:11:61","valueSize":1},{"declaration":56415,"isOffset":false,"isSlot":false,"src":"3027:11:61","valueSize":1}],"flags":["memory-safe"],"id":56418,"nodeType":"InlineAssembly","src":"2509:1003:61"}]},"documentation":{"id":56407,"nodeType":"StructuredDocumentation","src":"1858:245:61","text":"@notice Flips the initialized state for a given tick from false to true, or vice versa\n @param self The mapping in which to flip the tick\n @param tick The tick to flip\n @param tickSpacing The spacing between usable ticks"},"id":56420,"implemented":true,"kind":"function","modifiers":[],"name":"flipTick","nameLocation":"2117:8:61","nodeType":"FunctionDefinition","parameters":{"id":56416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56411,"mutability":"mutable","name":"self","nameLocation":"2160:4:61","nodeType":"VariableDeclaration","scope":56420,"src":"2126:38:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"typeName":{"id":56410,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56408,"name":"int16","nodeType":"ElementaryTypeName","src":"2134:5:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Mapping","src":"2126:25:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56409,"name":"uint256","nodeType":"ElementaryTypeName","src":"2143:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":56413,"mutability":"mutable","name":"tick","nameLocation":"2172:4:61","nodeType":"VariableDeclaration","scope":56420,"src":"2166:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56412,"name":"int24","nodeType":"ElementaryTypeName","src":"2166:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56415,"mutability":"mutable","name":"tickSpacing","nameLocation":"2184:11:61","nodeType":"VariableDeclaration","scope":56420,"src":"2178:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56414,"name":"int24","nodeType":"ElementaryTypeName","src":"2178:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2125:71:61"},"returnParameters":{"id":56417,"nodeType":"ParameterList","parameters":[],"src":"2206:0:61"},"scope":56602,"src":"2108:1410:61","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":56600,"nodeType":"Block","src":"4470:1793:61","statements":[{"id":56599,"nodeType":"UncheckedBlock","src":"4480:1777:61","statements":[{"assignments":[56439],"declarations":[{"constant":false,"id":56439,"mutability":"mutable","name":"compressed","nameLocation":"4510:10:61","nodeType":"VariableDeclaration","scope":56599,"src":"4504:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56438,"name":"int24","nodeType":"ElementaryTypeName","src":"4504:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":56444,"initialValue":{"arguments":[{"id":56441,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56427,"src":"4532:4:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":56442,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"4538:11:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":56440,"name":"compress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56394,"src":"4523:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$_t_int24_$returns$_t_int24_$","typeString":"function (int24,int24) pure returns (int24)"}},"id":56443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4523:27:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"4504:46:61"},{"condition":{"id":56445,"name":"lte","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56431,"src":"4569:3:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56597,"nodeType":"Block","src":"5379:868:61","statements":[{"assignments":[56524,56526],"declarations":[{"constant":false,"id":56524,"mutability":"mutable","name":"wordPos","nameLocation":"5505:7:61","nodeType":"VariableDeclaration","scope":56597,"src":"5499:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":56523,"name":"int16","nodeType":"ElementaryTypeName","src":"5499:5:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"},{"constant":false,"id":56526,"mutability":"mutable","name":"bitPos","nameLocation":"5520:6:61","nodeType":"VariableDeclaration","scope":56597,"src":"5514:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56525,"name":"uint8","nodeType":"ElementaryTypeName","src":"5514:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":56531,"initialValue":{"arguments":[{"id":56529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5539:12:61","subExpression":{"id":56528,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"5541:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":56527,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56406,"src":"5530:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int16_$_t_uint8_$","typeString":"function (int24) pure returns (int16,uint8)"}},"id":56530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5530:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int16_$_t_uint8_$","typeString":"tuple(int16,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"5498:54:61"},{"assignments":[56533],"declarations":[{"constant":false,"id":56533,"mutability":"mutable","name":"mask","nameLocation":"5640:4:61","nodeType":"VariableDeclaration","scope":56597,"src":"5632:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56532,"name":"uint256","nodeType":"ElementaryTypeName","src":"5632:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56542,"initialValue":{"id":56541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"5647:20:61","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":56534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5650:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":56535,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56526,"src":"5655:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5650:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56537,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5649:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":56538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5665:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5649:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56540,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5648:19:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5632:35:61"},{"assignments":[56544],"declarations":[{"constant":false,"id":56544,"mutability":"mutable","name":"masked","nameLocation":"5693:6:61","nodeType":"VariableDeclaration","scope":56597,"src":"5685:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56543,"name":"uint256","nodeType":"ElementaryTypeName","src":"5685:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56550,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":56545,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"5702:4:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"}},"id":56547,"indexExpression":{"id":56546,"name":"wordPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56524,"src":"5707:7:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5702:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":56548,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56533,"src":"5718:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5702:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5685:37:61"},{"expression":{"id":56555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56551,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56436,"src":"5855:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56552,"name":"masked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56544,"src":"5869:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":56553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5879:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5869:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5855:25:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56556,"nodeType":"ExpressionStatement","src":"5855:25:61"},{"expression":{"id":56595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56557,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56434,"src":"6012:4:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56558,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56436,"src":"6019:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56576,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"6165:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":56587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":56583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6196:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":56582,"name":"uint8","nodeType":"ElementaryTypeName","src":"6196:5:61","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":56581,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6191:4:61","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6191:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":56585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6203:3:61","memberName":"max","nodeType":"MemberAccess","src":"6191:15:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56586,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56526,"src":"6209:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6191:24:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6184:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":56579,"name":"uint24","nodeType":"ElementaryTypeName","src":"6184:6:61","typeDescriptions":{}}},"id":56588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6184:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":56578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6178:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":56577,"name":"int24","nodeType":"ElementaryTypeName","src":"6178:5:61","typeDescriptions":{}}},"id":56589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6178:39:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6165:52:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":56591,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6164:54:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":56592,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"6221:11:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6164:68:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":56594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6019:213:61","trueExpression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56559,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"6054:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":56569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56566,"name":"masked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56544,"src":"6108:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56564,"name":"BitMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45441,"src":"6080:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BitMath_$45441_$","typeString":"type(library BitMath)"}},"id":56565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6088:19:61","memberName":"leastSignificantBit","nodeType":"MemberAccess","referencedDeclaration":45440,"src":"6080:27:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) pure returns (uint8)"}},"id":56567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6080:35:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56568,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56526,"src":"6118:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6080:44:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6073:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":56562,"name":"uint24","nodeType":"ElementaryTypeName","src":"6073:6:61","typeDescriptions":{}}},"id":56570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6073:52:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":56561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6067:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":56560,"name":"int24","nodeType":"ElementaryTypeName","src":"6067:5:61","typeDescriptions":{}}},"id":56571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6067:59:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6054:72:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":56573,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6053:74:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":56574,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"6130:11:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6053:88:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"6012:220:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":56596,"nodeType":"ExpressionStatement","src":"6012:220:61"}]},"id":56598,"nodeType":"IfStatement","src":"4565:1682:61","trueBody":{"id":56522,"nodeType":"Block","src":"4574:799:61","statements":[{"assignments":[56447,56449],"declarations":[{"constant":false,"id":56447,"mutability":"mutable","name":"wordPos","nameLocation":"4599:7:61","nodeType":"VariableDeclaration","scope":56522,"src":"4593:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":56446,"name":"int16","nodeType":"ElementaryTypeName","src":"4593:5:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"},{"constant":false,"id":56449,"mutability":"mutable","name":"bitPos","nameLocation":"4614:6:61","nodeType":"VariableDeclaration","scope":56522,"src":"4608:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56448,"name":"uint8","nodeType":"ElementaryTypeName","src":"4608:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":56453,"initialValue":{"arguments":[{"id":56451,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"4633:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":56450,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56406,"src":"4624:8:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int16_$_t_uint8_$","typeString":"function (int24) pure returns (int16,uint8)"}},"id":56452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4624:20:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int16_$_t_uint8_$","typeString":"tuple(int16,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"4592:52:61"},{"assignments":[56455],"declarations":[{"constant":false,"id":56455,"mutability":"mutable","name":"mask","nameLocation":"4741:4:61","nodeType":"VariableDeclaration","scope":56522,"src":"4733:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56454,"name":"uint256","nodeType":"ElementaryTypeName","src":"4733:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56473,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":56458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4753:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56457,"name":"uint256","nodeType":"ElementaryTypeName","src":"4753:7:61","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56456,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4748:4:61","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4748:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4762:3:61","memberName":"max","nodeType":"MemberAccess","src":"4748:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"arguments":[{"id":56465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4783:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":56464,"name":"uint8","nodeType":"ElementaryTypeName","src":"4783:5:61","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":56463,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4778:4:61","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4778:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":56467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4790:3:61","memberName":"max","nodeType":"MemberAccess","src":"4778:15:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4770:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56461,"name":"uint256","nodeType":"ElementaryTypeName","src":"4770:7:61","typeDescriptions":{}}},"id":56468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4770:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56469,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"4797:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4770:33:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56471,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4769:35:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4748:56:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4733:71:61"},{"assignments":[56475],"declarations":[{"constant":false,"id":56475,"mutability":"mutable","name":"masked","nameLocation":"4830:6:61","nodeType":"VariableDeclaration","scope":56522,"src":"4822:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56474,"name":"uint256","nodeType":"ElementaryTypeName","src":"4822:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56481,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":56476,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56425,"src":"4839:4:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"}},"id":56478,"indexExpression":{"id":56477,"name":"wordPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56447,"src":"4844:7:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4839:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":56479,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56455,"src":"4855:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4839:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4822:37:61"},{"expression":{"id":56486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56482,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56436,"src":"5000:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56483,"name":"masked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56475,"src":"5014:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":56484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5024:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5014:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5000:25:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56487,"nodeType":"ExpressionStatement","src":"5000:25:61"},{"expression":{"id":56520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56488,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56434,"src":"5157:4:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":56489,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56436,"src":"5164:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56507,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"5309:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[{"id":56512,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"5335:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5328:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":56510,"name":"uint24","nodeType":"ElementaryTypeName","src":"5328:6:61","typeDescriptions":{}}},"id":56513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5328:14:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":56509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5322:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":56508,"name":"int24","nodeType":"ElementaryTypeName","src":"5322:5:61","typeDescriptions":{}}},"id":56514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5322:21:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"5309:34:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":56516,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5308:36:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":56517,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"5347:11:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"5308:50:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":56519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5164:194:61","trueExpression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":56503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56490,"name":"compressed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56439,"src":"5199:10:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":56500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56495,"name":"bitPos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56449,"src":"5225:6:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":56498,"name":"masked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56475,"src":"5261:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56496,"name":"BitMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45441,"src":"5234:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BitMath_$45441_$","typeString":"type(library BitMath)"}},"id":56497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5242:18:61","memberName":"mostSignificantBit","nodeType":"MemberAccess","referencedDeclaration":45424,"src":"5234:26:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) pure returns (uint8)"}},"id":56499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5234:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5225:43:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5218:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":56493,"name":"uint24","nodeType":"ElementaryTypeName","src":"5218:6:61","typeDescriptions":{}}},"id":56501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5218:51:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":56492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5212:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":56491,"name":"int24","nodeType":"ElementaryTypeName","src":"5212:5:61","typeDescriptions":{}}},"id":56502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5212:58:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"5199:71:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":56504,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5198:73:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":56505,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"5274:11:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"5198:87:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"5157:201:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":56521,"nodeType":"ExpressionStatement","src":"5157:201:61"}]}}]}]},"documentation":{"id":56421,"nodeType":"StructuredDocumentation","src":"3524:727:61","text":"@notice Returns the next initialized tick contained in the same word (or adjacent word) as the tick that is either\n to the left (less than or equal to) or right (greater than) of the given tick\n @param self The mapping in which to compute the next initialized tick\n @param tick The starting tick\n @param tickSpacing The spacing between usable ticks\n @param lte Whether to search for the next initialized tick to the left (less than or equal to the starting tick)\n @return next The next initialized or uninitialized tick up to 256 ticks away from the current tick\n @return initialized Whether the next tick is initialized, as the function only searches within up to 256 ticks"},"id":56601,"implemented":true,"kind":"function","modifiers":[],"name":"nextInitializedTickWithinOneWord","nameLocation":"4265:32:61","nodeType":"FunctionDefinition","parameters":{"id":56432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56425,"mutability":"mutable","name":"self","nameLocation":"4341:4:61","nodeType":"VariableDeclaration","scope":56601,"src":"4307:38:61","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"typeName":{"id":56424,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56422,"name":"int16","nodeType":"ElementaryTypeName","src":"4315:5:61","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Mapping","src":"4307:25:61","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int16_$_t_uint256_$","typeString":"mapping(int16 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56423,"name":"uint256","nodeType":"ElementaryTypeName","src":"4324:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":56427,"mutability":"mutable","name":"tick","nameLocation":"4361:4:61","nodeType":"VariableDeclaration","scope":56601,"src":"4355:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56426,"name":"int24","nodeType":"ElementaryTypeName","src":"4355:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56429,"mutability":"mutable","name":"tickSpacing","nameLocation":"4381:11:61","nodeType":"VariableDeclaration","scope":56601,"src":"4375:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56428,"name":"int24","nodeType":"ElementaryTypeName","src":"4375:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56431,"mutability":"mutable","name":"lte","nameLocation":"4407:3:61","nodeType":"VariableDeclaration","scope":56601,"src":"4402:8:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56430,"name":"bool","nodeType":"ElementaryTypeName","src":"4402:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4297:119:61"},"returnParameters":{"id":56437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56434,"mutability":"mutable","name":"next","nameLocation":"4446:4:61","nodeType":"VariableDeclaration","scope":56601,"src":"4440:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56433,"name":"int24","nodeType":"ElementaryTypeName","src":"4440:5:61","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":56436,"mutability":"mutable","name":"initialized","nameLocation":"4457:11:61","nodeType":"VariableDeclaration","scope":56601,"src":"4452:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56435,"name":"bool","nodeType":"ElementaryTypeName","src":"4452:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4439:30:61"},"scope":56602,"src":"4256:2007:61","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":56603,"src":"340:5925:61","usedErrors":[56382],"usedEvents":[]}],"src":"32:6234:61"},"id":61},"v4-core/src/libraries/TickMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/TickMath.sol","exportedSymbols":{"BitMath":[45441],"CustomRevert":[45214],"TickMath":[3140]},"id":3141,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2588,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:62"},{"absolutePath":"v4-core/src/libraries/BitMath.sol","file":"./BitMath.sol","id":2590,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3141,"sourceUnit":45442,"src":"57:38:62","symbolAliases":[{"foreign":{"id":2589,"name":"BitMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45441,"src":"65:7:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"./CustomRevert.sol","id":2592,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3141,"sourceUnit":45215,"src":"96:48:62","symbolAliases":[{"foreign":{"id":2591,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"104:12:62","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"TickMath","contractDependencies":[],"contractKind":"library","documentation":{"id":2593,"nodeType":"StructuredDocumentation","src":"146:235:62","text":"@title Math library for computing sqrt prices from ticks and vice versa\n @notice Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports\n prices between 2**-128 and 2**128"},"fullyImplemented":true,"id":3140,"linearizedBaseContracts":[3140],"name":"TickMath","nameLocation":"389:8:62","nodeType":"ContractDefinition","nodes":[{"global":false,"id":2596,"libraryName":{"id":2594,"name":"CustomRevert","nameLocations":["410:12:62"],"nodeType":"IdentifierPath","referencedDeclaration":45214,"src":"410:12:62"},"nodeType":"UsingForDirective","src":"404:30:62","typeName":{"id":2595,"name":"bytes4","nodeType":"ElementaryTypeName","src":"427:6:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}},{"documentation":{"id":2597,"nodeType":"StructuredDocumentation","src":"440:99:62","text":"@notice Thrown when the tick passed to #getSqrtPriceAtTick is not between MIN_TICK and MAX_TICK"},"errorSelector":"8b86327a","id":2601,"name":"InvalidTick","nameLocation":"550:11:62","nodeType":"ErrorDefinition","parameters":{"id":2600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2599,"mutability":"mutable","name":"tick","nameLocation":"568:4:62","nodeType":"VariableDeclaration","scope":2601,"src":"562:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2598,"name":"int24","nodeType":"ElementaryTypeName","src":"562:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"561:12:62"},"src":"544:30:62"},{"documentation":{"id":2602,"nodeType":"StructuredDocumentation","src":"579:124:62","text":"@notice Thrown when the price passed to #getTickAtSqrtPrice does not correspond to a price between MIN_TICK and MAX_TICK"},"errorSelector":"61487524","id":2606,"name":"InvalidSqrtPrice","nameLocation":"714:16:62","nodeType":"ErrorDefinition","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2604,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"739:12:62","nodeType":"VariableDeclaration","scope":2606,"src":"731:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":2603,"name":"uint160","nodeType":"ElementaryTypeName","src":"731:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"730:22:62"},"src":"708:45:62"},{"constant":true,"documentation":{"id":2607,"nodeType":"StructuredDocumentation","src":"759:233:62","text":"@dev The minimum tick that may be passed to #getSqrtPriceAtTick computed from log base 1.0001 of 2**-128\n @dev If ever MIN_TICK and MAX_TICK are not centered around 0, the absTick logic in getSqrtPriceAtTick cannot be used"},"id":2611,"mutability":"constant","name":"MIN_TICK","nameLocation":"1021:8:62","nodeType":"VariableDeclaration","scope":3140,"src":"997:42:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2608,"name":"int24","nodeType":"ElementaryTypeName","src":"997:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"id":2610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1032:7:62","subExpression":{"hexValue":"383837323732","id":2609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1033:6:62","typeDescriptions":{"typeIdentifier":"t_rational_887272_by_1","typeString":"int_const 887272"},"value":"887272"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_887272_by_1","typeString":"int_const -887272"}},"visibility":"internal"},{"constant":true,"documentation":{"id":2612,"nodeType":"StructuredDocumentation","src":"1045:232:62","text":"@dev The maximum tick that may be passed to #getSqrtPriceAtTick computed from log base 1.0001 of 2**128\n @dev If ever MIN_TICK and MAX_TICK are not centered around 0, the absTick logic in getSqrtPriceAtTick cannot be used"},"id":2615,"mutability":"constant","name":"MAX_TICK","nameLocation":"1306:8:62","nodeType":"VariableDeclaration","scope":3140,"src":"1282:41:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2613,"name":"int24","nodeType":"ElementaryTypeName","src":"1282:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"hexValue":"383837323732","id":2614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1317:6:62","typeDescriptions":{"typeIdentifier":"t_rational_887272_by_1","typeString":"int_const 887272"},"value":"887272"},"visibility":"internal"},{"constant":true,"documentation":{"id":2616,"nodeType":"StructuredDocumentation","src":"1330:133:62","text":"@dev The minimum tick spacing value drawn from the range of type int16 that is greater than 0, i.e. min from the range [1, 32767]"},"id":2619,"mutability":"constant","name":"MIN_TICK_SPACING","nameLocation":"1492:16:62","nodeType":"VariableDeclaration","scope":3140,"src":"1468:44:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2617,"name":"int24","nodeType":"ElementaryTypeName","src":"1468:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"hexValue":"31","id":2618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1511:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"documentation":{"id":2620,"nodeType":"StructuredDocumentation","src":"1518:110:62","text":"@dev The maximum tick spacing value drawn from the range of type int16, i.e. max from the range [1, 32767]"},"id":2627,"mutability":"constant","name":"MAX_TICK_SPACING","nameLocation":"1657:16:62","nodeType":"VariableDeclaration","scope":3140,"src":"1633:58:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2621,"name":"int24","nodeType":"ElementaryTypeName","src":"1633:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"value":{"expression":{"arguments":[{"id":2624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1681:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":2623,"name":"int16","nodeType":"ElementaryTypeName","src":"1681:5:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"}],"id":2622,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1676:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1676:11:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int16","typeString":"type(int16)"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1688:3:62","memberName":"max","nodeType":"MemberAccess","src":"1676:15:62","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"},{"constant":true,"documentation":{"id":2628,"nodeType":"StructuredDocumentation","src":"1698:116:62","text":"@dev The minimum value that can be returned from #getSqrtPriceAtTick. Equivalent to getSqrtPriceAtTick(MIN_TICK)"},"id":2631,"mutability":"constant","name":"MIN_SQRT_PRICE","nameLocation":"1845:14:62","nodeType":"VariableDeclaration","scope":3140,"src":"1819:53:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":2629,"name":"uint160","nodeType":"ElementaryTypeName","src":"1819:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"34323935313238373339","id":2630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1862:10:62","typeDescriptions":{"typeIdentifier":"t_rational_4295128739_by_1","typeString":"int_const 4295128739"},"value":"4295128739"},"visibility":"internal"},{"constant":true,"documentation":{"id":2632,"nodeType":"StructuredDocumentation","src":"1878:116:62","text":"@dev The maximum value that can be returned from #getSqrtPriceAtTick. Equivalent to getSqrtPriceAtTick(MAX_TICK)"},"id":2635,"mutability":"constant","name":"MAX_SQRT_PRICE","nameLocation":"2025:14:62","nodeType":"VariableDeclaration","scope":3140,"src":"1999:92:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":2633,"name":"uint160","nodeType":"ElementaryTypeName","src":"1999:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"31343631343436373033343835323130313033323837323733303532323033393838383232333738373233393730333432","id":2634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:49:62","typeDescriptions":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822378723970342_by_1","typeString":"int_const 1461...(41 digits omitted)...0342"},"value":"1461446703485210103287273052203988822378723970342"},"visibility":"internal"},{"constant":true,"documentation":{"id":2636,"nodeType":"StructuredDocumentation","src":"2097:98:62","text":"@dev A threshold used for optimized bounds check, equals `MAX_SQRT_PRICE - MIN_SQRT_PRICE - 1`"},"id":2643,"mutability":"constant","name":"MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE","nameLocation":"2226:45:62","nodeType":"VariableDeclaration","scope":3140,"src":"2200:148:62","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":2637,"name":"uint160","nodeType":"ElementaryTypeName","src":"2200:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822374428841602_by_1","typeString":"int_const 1461...(41 digits omitted)...1602"},"id":2642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822374428841603_by_1","typeString":"int_const 1461...(41 digits omitted)...1603"},"id":2640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31343631343436373033343835323130313033323837323733303532323033393838383232333738373233393730333432","id":2638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2282:49:62","typeDescriptions":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822378723970342_by_1","typeString":"int_const 1461...(41 digits omitted)...0342"},"value":"1461446703485210103287273052203988822378723970342"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"34323935313238373339","id":2639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2334:10:62","typeDescriptions":{"typeIdentifier":"t_rational_4295128739_by_1","typeString":"int_const 4295128739"},"value":"4295128739"},"src":"2282:62:62","typeDescriptions":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822374428841603_by_1","typeString":"int_const 1461...(41 digits omitted)...1603"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2347:1:62","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2282:66:62","typeDescriptions":{"typeIdentifier":"t_rational_1461446703485210103287273052203988822374428841602_by_1","typeString":"int_const 1461...(41 digits omitted)...1602"}},"visibility":"internal"},{"body":{"id":2659,"nodeType":"Block","src":"2496:96:62","statements":[{"id":2658,"nodeType":"UncheckedBlock","src":"2506:80:62","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2651,"name":"MAX_TICK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2615,"src":"2538:8:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2652,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2646,"src":"2549:11:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"2538:22:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":2654,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2537:24:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2655,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2646,"src":"2564:11:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"2537:38:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"functionReturnParameters":2650,"id":2657,"nodeType":"Return","src":"2530:45:62"}]}]},"documentation":{"id":2644,"nodeType":"StructuredDocumentation","src":"2355:64:62","text":"@notice Given a tickSpacing, compute the maximum usable tick"},"id":2660,"implemented":true,"kind":"function","modifiers":[],"name":"maxUsableTick","nameLocation":"2433:13:62","nodeType":"FunctionDefinition","parameters":{"id":2647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2646,"mutability":"mutable","name":"tickSpacing","nameLocation":"2453:11:62","nodeType":"VariableDeclaration","scope":2660,"src":"2447:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2645,"name":"int24","nodeType":"ElementaryTypeName","src":"2447:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2446:19:62"},"returnParameters":{"id":2650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2660,"src":"2489:5:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2648,"name":"int24","nodeType":"ElementaryTypeName","src":"2489:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2488:7:62"},"scope":3140,"src":"2424:168:62","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2676,"nodeType":"Block","src":"2739:96:62","statements":[{"id":2675,"nodeType":"UncheckedBlock","src":"2749:80:62","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2668,"name":"MIN_TICK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2611,"src":"2781:8:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2669,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2663,"src":"2792:11:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"2781:22:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":2671,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2780:24:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2672,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2663,"src":"2807:11:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"2780:38:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"functionReturnParameters":2667,"id":2674,"nodeType":"Return","src":"2773:45:62"}]}]},"documentation":{"id":2661,"nodeType":"StructuredDocumentation","src":"2598:64:62","text":"@notice Given a tickSpacing, compute the minimum usable tick"},"id":2677,"implemented":true,"kind":"function","modifiers":[],"name":"minUsableTick","nameLocation":"2676:13:62","nodeType":"FunctionDefinition","parameters":{"id":2664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2663,"mutability":"mutable","name":"tickSpacing","nameLocation":"2696:11:62","nodeType":"VariableDeclaration","scope":2677,"src":"2690:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2662,"name":"int24","nodeType":"ElementaryTypeName","src":"2690:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2689:19:62"},"returnParameters":{"id":2667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2677,"src":"2732:5:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2665,"name":"int24","nodeType":"ElementaryTypeName","src":"2732:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2731:7:62"},"scope":3140,"src":"2667:168:62","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2998,"nodeType":"Block","src":"3234:3933:62","statements":[{"id":2997,"nodeType":"UncheckedBlock","src":"3244:3917:62","statements":[{"assignments":[2686],"declarations":[{"constant":false,"id":2686,"mutability":"mutable","name":"absTick","nameLocation":"3276:7:62","nodeType":"VariableDeclaration","scope":2997,"src":"3268:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2685,"name":"uint256","nodeType":"ElementaryTypeName","src":"3268:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2687,"nodeType":"VariableDeclarationStatement","src":"3268:15:62"},{"AST":{"nativeSrc":"3322:434:62","nodeType":"YulBlock","src":"3322:434:62","statements":[{"nativeSrc":"3340:27:62","nodeType":"YulAssignment","src":"3340:27:62","value":{"arguments":[{"kind":"number","nativeSrc":"3359:1:62","nodeType":"YulLiteral","src":"3359:1:62","type":"","value":"2"},{"name":"tick","nativeSrc":"3362:4:62","nodeType":"YulIdentifier","src":"3362:4:62"}],"functionName":{"name":"signextend","nativeSrc":"3348:10:62","nodeType":"YulIdentifier","src":"3348:10:62"},"nativeSrc":"3348:19:62","nodeType":"YulFunctionCall","src":"3348:19:62"},"variableNames":[{"name":"tick","nativeSrc":"3340:4:62","nodeType":"YulIdentifier","src":"3340:4:62"}]},{"nativeSrc":"3442:26:62","nodeType":"YulVariableDeclaration","src":"3442:26:62","value":{"arguments":[{"kind":"number","nativeSrc":"3458:3:62","nodeType":"YulLiteral","src":"3458:3:62","type":"","value":"255"},{"name":"tick","nativeSrc":"3463:4:62","nodeType":"YulIdentifier","src":"3463:4:62"}],"functionName":{"name":"sar","nativeSrc":"3454:3:62","nodeType":"YulIdentifier","src":"3454:3:62"},"nativeSrc":"3454:14:62","nodeType":"YulFunctionCall","src":"3454:14:62"},"variables":[{"name":"mask","nativeSrc":"3446:4:62","nodeType":"YulTypedName","src":"3446:4:62","type":""}]},{"nativeSrc":"3705:37:62","nodeType":"YulAssignment","src":"3705:37:62","value":{"arguments":[{"name":"mask","nativeSrc":"3720:4:62","nodeType":"YulIdentifier","src":"3720:4:62"},{"arguments":[{"name":"mask","nativeSrc":"3730:4:62","nodeType":"YulIdentifier","src":"3730:4:62"},{"name":"tick","nativeSrc":"3736:4:62","nodeType":"YulIdentifier","src":"3736:4:62"}],"functionName":{"name":"add","nativeSrc":"3726:3:62","nodeType":"YulIdentifier","src":"3726:3:62"},"nativeSrc":"3726:15:62","nodeType":"YulFunctionCall","src":"3726:15:62"}],"functionName":{"name":"xor","nativeSrc":"3716:3:62","nodeType":"YulIdentifier","src":"3716:3:62"},"nativeSrc":"3716:26:62","nodeType":"YulFunctionCall","src":"3716:26:62"},"variableNames":[{"name":"absTick","nativeSrc":"3705:7:62","nodeType":"YulIdentifier","src":"3705:7:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2686,"isOffset":false,"isSlot":false,"src":"3705:7:62","valueSize":1},{"declaration":2680,"isOffset":false,"isSlot":false,"src":"3340:4:62","valueSize":1},{"declaration":2680,"isOffset":false,"isSlot":false,"src":"3362:4:62","valueSize":1},{"declaration":2680,"isOffset":false,"isSlot":false,"src":"3463:4:62","valueSize":1},{"declaration":2680,"isOffset":false,"isSlot":false,"src":"3736:4:62","valueSize":1}],"flags":["memory-safe"],"id":2688,"nodeType":"InlineAssembly","src":"3297:459:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2689,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"3774:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"arguments":[{"id":2694,"name":"MAX_TICK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2615,"src":"3799:8:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":2693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3792:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":2692,"name":"int256","nodeType":"ElementaryTypeName","src":"3792:6:62","typeDescriptions":{}}},"id":2695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3792:16:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3784:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2690,"name":"uint256","nodeType":"ElementaryTypeName","src":"3784:7:62","typeDescriptions":{}}},"id":2696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3784:25:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3774:35:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2706,"nodeType":"IfStatement","src":"3770:78:62","trueBody":{"expression":{"arguments":[{"id":2703,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2680,"src":"3843:4:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"expression":{"id":2698,"name":"InvalidTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3811:11:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int24_$returns$_t_error_$","typeString":"function (int24) pure returns (error)"}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3823:8:62","memberName":"selector","nodeType":"MemberAccess","src":"3811:20:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3832:10:62","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45150,"src":"3811:31:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_int24_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,int24) pure"}},"id":2704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3811:37:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2705,"nodeType":"ExpressionStatement","src":"3811:37:62"}},{"assignments":[2708],"declarations":[{"constant":false,"id":2708,"mutability":"mutable","name":"price","nameLocation":"4364:5:62","nodeType":"VariableDeclaration","scope":2997,"src":"4356:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2707,"name":"uint256","nodeType":"ElementaryTypeName","src":"4356:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2709,"nodeType":"VariableDeclarationStatement","src":"4356:13:62"},{"AST":{"nativeSrc":"4408:135:62","nodeType":"YulBlock","src":"4408:135:62","statements":[{"nativeSrc":"4426:103:62","nodeType":"YulAssignment","src":"4426:103:62","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"4443:3:62","nodeType":"YulLiteral","src":"4443:3:62","type":"","value":"128"},{"kind":"number","nativeSrc":"4448:1:62","nodeType":"YulLiteral","src":"4448:1:62","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"4439:3:62","nodeType":"YulIdentifier","src":"4439:3:62"},"nativeSrc":"4439:11:62","nodeType":"YulFunctionCall","src":"4439:11:62"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"4464:3:62","nodeType":"YulLiteral","src":"4464:3:62","type":"","value":"128"},{"kind":"number","nativeSrc":"4469:1:62","nodeType":"YulLiteral","src":"4469:1:62","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"4460:3:62","nodeType":"YulIdentifier","src":"4460:3:62"},"nativeSrc":"4460:11:62","nodeType":"YulFunctionCall","src":"4460:11:62"},{"kind":"number","nativeSrc":"4473:34:62","nodeType":"YulLiteral","src":"4473:34:62","type":"","value":"0xfffcb933bd6fad37aa2d162d1a594001"}],"functionName":{"name":"xor","nativeSrc":"4456:3:62","nodeType":"YulIdentifier","src":"4456:3:62"},"nativeSrc":"4456:52:62","nodeType":"YulFunctionCall","src":"4456:52:62"},{"arguments":[{"name":"absTick","nativeSrc":"4514:7:62","nodeType":"YulIdentifier","src":"4514:7:62"},{"kind":"number","nativeSrc":"4523:3:62","nodeType":"YulLiteral","src":"4523:3:62","type":"","value":"0x1"}],"functionName":{"name":"and","nativeSrc":"4510:3:62","nodeType":"YulIdentifier","src":"4510:3:62"},"nativeSrc":"4510:17:62","nodeType":"YulFunctionCall","src":"4510:17:62"}],"functionName":{"name":"mul","nativeSrc":"4452:3:62","nodeType":"YulIdentifier","src":"4452:3:62"},"nativeSrc":"4452:76:62","nodeType":"YulFunctionCall","src":"4452:76:62"}],"functionName":{"name":"xor","nativeSrc":"4435:3:62","nodeType":"YulIdentifier","src":"4435:3:62"},"nativeSrc":"4435:94:62","nodeType":"YulFunctionCall","src":"4435:94:62"},"variableNames":[{"name":"price","nativeSrc":"4426:5:62","nodeType":"YulIdentifier","src":"4426:5:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2686,"isOffset":false,"isSlot":false,"src":"4514:7:62","valueSize":1},{"declaration":2708,"isOffset":false,"isSlot":false,"src":"4426:5:62","valueSize":1}],"flags":["memory-safe"],"id":2710,"nodeType":"InlineAssembly","src":"4383:160:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2711,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"4560:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832","id":2712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4570:3:62","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x2"},"src":"4560:13:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4577:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4560:18:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2725,"nodeType":"IfStatement","src":"4556:83:62","trueBody":{"expression":{"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2716,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4580:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2717,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4589:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666663937323732333733643431333235396134363939303538306532313361","id":2718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4597:34:62","typeDescriptions":{"typeIdentifier":"t_rational_340248342086729790484326174814286782778_by_1","typeString":"int_const 3402...(31 digits omitted)...2778"},"value":"0xfff97272373d413259a46990580e213a"},"src":"4589:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2720,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4588:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4636:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4588:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4580:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2724,"nodeType":"ExpressionStatement","src":"4580:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2726,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"4657:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834","id":2727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4667:3:62","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x4"},"src":"4657:13:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4674:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4657:18:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2740,"nodeType":"IfStatement","src":"4653:83:62","trueBody":{"expression":{"id":2738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2731,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4677:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2732,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4686:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666663265353066356636353639333265663132333537636633633766646363","id":2733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4694:34:62","typeDescriptions":{"typeIdentifier":"t_rational_340214320654664324051920982716015181260_by_1","typeString":"int_const 3402...(31 digits omitted)...1260"},"value":"0xfff2e50f5f656932ef12357cf3c7fdcc"},"src":"4686:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2735,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4685:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4733:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4685:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4677:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2739,"nodeType":"ExpressionStatement","src":"4677:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2741,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"4754:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838","id":2742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4764:3:62","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x8"},"src":"4754:13:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4771:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4754:18:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2755,"nodeType":"IfStatement","src":"4750:83:62","trueBody":{"expression":{"id":2753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2746,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4774:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2747,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4783:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666653563616361376531306534653631633336323465616130393431636430","id":2748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4791:34:62","typeDescriptions":{"typeIdentifier":"t_rational_340146287995602323631171512101879684304_by_1","typeString":"int_const 3401...(31 digits omitted)...4304"},"value":"0xffe5caca7e10e4e61c3624eaa0941cd0"},"src":"4783:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2750,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4782:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4830:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4782:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4774:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2754,"nodeType":"ExpressionStatement","src":"4774:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2756,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"4851:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130","id":2757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4861:4:62","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"0x10"},"src":"4851:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4869:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4851:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2770,"nodeType":"IfStatement","src":"4847:84:62","trueBody":{"expression":{"id":2768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2761,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4872:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2762,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4881:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666636239383433643630663631353963396462353838333563393236363434","id":2763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4889:34:62","typeDescriptions":{"typeIdentifier":"t_rational_340010263488231146823593991679159461444_by_1","typeString":"int_const 3400...(31 digits omitted)...1444"},"value":"0xffcb9843d60f6159c9db58835c926644"},"src":"4881:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2765,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4880:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4928:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4880:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4872:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2769,"nodeType":"ExpressionStatement","src":"4872:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2771,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"4949:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230","id":2772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4959:4:62","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"4949:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4967:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4949:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2785,"nodeType":"IfStatement","src":"4945:84:62","trueBody":{"expression":{"id":2783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2776,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4970:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2777,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"4979:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666393733623431666139386330383134373265363839366466623235346330","id":2778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4987:34:62","typeDescriptions":{"typeIdentifier":"t_rational_339738377640345403697157401104375502016_by_1","typeString":"int_const 3397...(31 digits omitted)...2016"},"value":"0xff973b41fa98c081472e6896dfb254c0"},"src":"4979:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2780,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4978:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5026:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4978:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4970:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2784,"nodeType":"ExpressionStatement","src":"4970:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2786,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5047:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430","id":2787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5057:4:62","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"0x40"},"src":"5047:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5065:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5047:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2800,"nodeType":"IfStatement","src":"5043:84:62","trueBody":{"expression":{"id":2798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2791,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5068:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2792,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5077:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786666326561313634363663393661333834336563373862333236623532383631","id":2793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5085:34:62","typeDescriptions":{"typeIdentifier":"t_rational_339195258003219555707034227454543997025_by_1","typeString":"int_const 3391...(31 digits omitted)...7025"},"value":"0xff2ea16466c96a3843ec78b326b52861"},"src":"5077:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5076:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5124:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5076:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5068:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2799,"nodeType":"ExpressionStatement","src":"5068:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2801,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5145:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830","id":2802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5155:4:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"5145:14:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5163:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5145:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2815,"nodeType":"IfStatement","src":"5141:84:62","trueBody":{"expression":{"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2806,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5166:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2807,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5175:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786665356465653034366139396132613831316334363166313936396333303533","id":2808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5183:34:62","typeDescriptions":{"typeIdentifier":"t_rational_338111622100601834656805679988414885971_by_1","typeString":"int_const 3381...(31 digits omitted)...5971"},"value":"0xfe5dee046a99a2a811c461f1969c3053"},"src":"5175:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2810,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5174:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5222:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5174:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5166:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2814,"nodeType":"ExpressionStatement","src":"5166:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2816,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5243:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030","id":2817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5253:5:62","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"0x100"},"src":"5243:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5262:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5243:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2830,"nodeType":"IfStatement","src":"5239:85:62","trueBody":{"expression":{"id":2828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2821,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5265:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2822,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5274:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786663626538366337393030613838616564636666633833623437396161336134","id":2823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5282:34:62","typeDescriptions":{"typeIdentifier":"t_rational_335954724994790223023589805789778977700_by_1","typeString":"int_const 3359...(31 digits omitted)...7700"},"value":"0xfcbe86c7900a88aedcffc83b479aa3a4"},"src":"5274:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2825,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5273:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5321:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5273:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5265:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2829,"nodeType":"ExpressionStatement","src":"5265:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2831,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5342:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030","id":2832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5352:5:62","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"},"value":"0x200"},"src":"5342:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5361:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5342:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2845,"nodeType":"IfStatement","src":"5338:85:62","trueBody":{"expression":{"id":2843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2836,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5364:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2837,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5373:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786639383761373235336163343133313736663262303734636637383135653534","id":2838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5381:34:62","typeDescriptions":{"typeIdentifier":"t_rational_331682121138379247127172139078559817300_by_1","typeString":"int_const 3316...(31 digits omitted)...7300"},"value":"0xf987a7253ac413176f2b074cf7815e54"},"src":"5373:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2840,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5372:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5420:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5372:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5364:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2844,"nodeType":"ExpressionStatement","src":"5364:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2846,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5441:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030","id":2847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5451:5:62","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"value":"0x400"},"src":"5441:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5460:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5441:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2860,"nodeType":"IfStatement","src":"5437:85:62","trueBody":{"expression":{"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2851,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5463:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2852,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5472:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786633333932623038323262373030303539343063376133393865346237306633","id":2853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5480:34:62","typeDescriptions":{"typeIdentifier":"t_rational_323299236684853023288211250268160618739_by_1","typeString":"int_const 3232...(31 digits omitted)...8739"},"value":"0xf3392b0822b70005940c7a398e4b70f3"},"src":"5472:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5471:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5519:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5471:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5463:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2859,"nodeType":"ExpressionStatement","src":"5463:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2861,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5540:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030","id":2862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5550:5:62","typeDescriptions":{"typeIdentifier":"t_rational_2048_by_1","typeString":"int_const 2048"},"value":"0x800"},"src":"5540:15:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5559:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5540:20:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2875,"nodeType":"IfStatement","src":"5536:85:62","trueBody":{"expression":{"id":2873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2866,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5562:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2867,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5571:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786537313539343735613263323962373434336232396337666136653838396439","id":2868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5579:34:62","typeDescriptions":{"typeIdentifier":"t_rational_307163716377032989948697243942600083929_by_1","typeString":"int_const 3071...(31 digits omitted)...3929"},"value":"0xe7159475a2c29b7443b29c7fa6e889d9"},"src":"5571:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2870,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5570:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5618:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5570:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5562:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2874,"nodeType":"ExpressionStatement","src":"5562:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2876,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5639:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030","id":2877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5649:6:62","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"},"value":"0x1000"},"src":"5639:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5659:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5639:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2890,"nodeType":"IfStatement","src":"5635:86:62","trueBody":{"expression":{"id":2888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2881,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5662:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2882,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5671:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786430393766336264666432303232623838343561643866373932616135383235","id":2883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5679:34:62","typeDescriptions":{"typeIdentifier":"t_rational_277268403626896220162999269216087595045_by_1","typeString":"int_const 2772...(31 digits omitted)...5045"},"value":"0xd097f3bdfd2022b8845ad8f792aa5825"},"src":"5671:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2885,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5670:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5718:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5670:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5662:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2889,"nodeType":"ExpressionStatement","src":"5662:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2891,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5739:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030","id":2892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5749:6:62","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"value":"0x2000"},"src":"5739:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5759:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5739:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2905,"nodeType":"IfStatement","src":"5735:86:62","trueBody":{"expression":{"id":2903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2896,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5762:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2897,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5771:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30786139663734363436326438373066646638613635646331663930653036316535","id":2898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5779:34:62","typeDescriptions":{"typeIdentifier":"t_rational_225923453940442621947126027127485391333_by_1","typeString":"int_const 2259...(31 digits omitted)...1333"},"value":"0xa9f746462d870fdf8a65dc1f90e061e5"},"src":"5771:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2900,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5770:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5818:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5770:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5762:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2904,"nodeType":"ExpressionStatement","src":"5762:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2906,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5839:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030","id":2907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5849:6:62","typeDescriptions":{"typeIdentifier":"t_rational_16384_by_1","typeString":"int_const 16384"},"value":"0x4000"},"src":"5839:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5859:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5839:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2920,"nodeType":"IfStatement","src":"5835:86:62","trueBody":{"expression":{"id":2918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2911,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5862:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2912,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5871:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783730643836396131353664326131623839306262336466363262616633326637","id":2913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5879:34:62","typeDescriptions":{"typeIdentifier":"t_rational_149997214084966997727330242082538205943_by_1","typeString":"int_const 1499...(31 digits omitted)...5943"},"value":"0x70d869a156d2a1b890bb3df62baf32f7"},"src":"5871:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2915,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5870:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5918:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5870:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5862:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2919,"nodeType":"ExpressionStatement","src":"5862:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2921,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"5939:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030","id":2922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5949:6:62","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"0x8000"},"src":"5939:16:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5959:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5939:21:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2935,"nodeType":"IfStatement","src":"5935:86:62","trueBody":{"expression":{"id":2933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2926,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5962:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2927,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"5971:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783331626531333566393764303866643938313233313530353534326663666136","id":2928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5979:34:62","typeDescriptions":{"typeIdentifier":"t_rational_66119101136024775622716233608466517926_by_1","typeString":"int_const 6611...(30 digits omitted)...7926"},"value":"0x31be135f97d08fd981231505542fcfa6"},"src":"5971:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2930,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5970:44:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6018:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5970:51:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5962:59:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2934,"nodeType":"ExpressionStatement","src":"5962:59:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2936,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"6039:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130303030","id":2937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6049:7:62","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"value":"0x10000"},"src":"6039:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6060:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6039:22:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2950,"nodeType":"IfStatement","src":"6035:86:62","trueBody":{"expression":{"id":2948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2941,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6063:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2942,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6072:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"307839616135303862356237613834653163363737646535346633653939626339","id":2943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6080:33:62","typeDescriptions":{"typeIdentifier":"t_rational_12847376061809297530290974190478138313_by_1","typeString":"int_const 1284...(30 digits omitted)...8313"},"value":"0x9aa508b5b7a84e1c677de54f3e99bc9"},"src":"6072:41:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2945,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6071:43:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6118:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6071:50:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6063:58:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2949,"nodeType":"ExpressionStatement","src":"6063:58:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2951,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"6139:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230303030","id":2952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6149:7:62","typeDescriptions":{"typeIdentifier":"t_rational_131072_by_1","typeString":"int_const 131072"},"value":"0x20000"},"src":"6139:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6160:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6139:22:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2965,"nodeType":"IfStatement","src":"6135:85:62","trueBody":{"expression":{"id":2963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2956,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6163:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2957,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6172:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3078356436616638646564623831313936363939633332393232356565363034","id":2958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:32:62","typeDescriptions":{"typeIdentifier":"t_rational_485053260817066172746253684029974020_by_1","typeString":"int_const 4850...(28 digits omitted)...4020"},"value":"0x5d6af8dedb81196699c329225ee604"},"src":"6172:40:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2960,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6171:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6217:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6171:49:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6163:57:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2964,"nodeType":"ExpressionStatement","src":"6163:57:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2966,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"6238:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430303030","id":2967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6248:7:62","typeDescriptions":{"typeIdentifier":"t_rational_262144_by_1","typeString":"int_const 262144"},"value":"0x40000"},"src":"6238:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6259:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6238:22:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2980,"nodeType":"IfStatement","src":"6234:83:62","trueBody":{"expression":{"id":2978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2971,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6262:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2972,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6271:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"307832323136653538346635666131656139323630343162656466653938","id":2973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6279:30:62","typeDescriptions":{"typeIdentifier":"t_rational_691415978906521570653435304214168_by_1","typeString":"int_const 6914...(25 digits omitted)...4168"},"value":"0x2216e584f5fa1ea926041bedfe98"},"src":"6271:38:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2975,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6270:40:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6314:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6270:47:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6262:55:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2979,"nodeType":"ExpressionStatement","src":"6262:55:62"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2981,"name":"absTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2686,"src":"6335:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830303030","id":2982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6345:7:62","typeDescriptions":{"typeIdentifier":"t_rational_524288_by_1","typeString":"int_const 524288"},"value":"0x80000"},"src":"6335:17:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6356:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6335:22:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2995,"nodeType":"IfStatement","src":"6331:78:62","trueBody":{"expression":{"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2986,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6359:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2987,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"6368:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783438613137303339316637646334323434346538666132","id":2988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6376:25:62","typeDescriptions":{"typeIdentifier":"t_rational_1404880482679654955896180642_by_1","typeString":"int_const 1404880482679654955896180642"},"value":"0x48a170391f7dc42444e8fa2"},"src":"6368:33:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2990,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6367:35:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6406:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"6367:42:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6359:50:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2994,"nodeType":"ExpressionStatement","src":"6359:50:62"}},{"AST":{"nativeSrc":"6449:702:62","nodeType":"YulBlock","src":"6449:702:62","statements":[{"body":{"nativeSrc":"6551:31:62","nodeType":"YulBlock","src":"6551:31:62","statements":[{"nativeSrc":"6553:27:62","nodeType":"YulAssignment","src":"6553:27:62","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"6570:1:62","nodeType":"YulLiteral","src":"6570:1:62","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"6566:3:62","nodeType":"YulIdentifier","src":"6566:3:62"},"nativeSrc":"6566:6:62","nodeType":"YulFunctionCall","src":"6566:6:62"},{"name":"price","nativeSrc":"6574:5:62","nodeType":"YulIdentifier","src":"6574:5:62"}],"functionName":{"name":"div","nativeSrc":"6562:3:62","nodeType":"YulIdentifier","src":"6562:3:62"},"nativeSrc":"6562:18:62","nodeType":"YulFunctionCall","src":"6562:18:62"},"variableNames":[{"name":"price","nativeSrc":"6553:5:62","nodeType":"YulIdentifier","src":"6553:5:62"}]}]},"condition":{"arguments":[{"name":"tick","nativeSrc":"6542:4:62","nodeType":"YulIdentifier","src":"6542:4:62"},{"kind":"number","nativeSrc":"6548:1:62","nodeType":"YulLiteral","src":"6548:1:62","type":"","value":"0"}],"functionName":{"name":"sgt","nativeSrc":"6538:3:62","nodeType":"YulIdentifier","src":"6538:3:62"},"nativeSrc":"6538:12:62","nodeType":"YulFunctionCall","src":"6538:12:62"},"nativeSrc":"6535:47:62","nodeType":"YulIf","src":"6535:47:62"},{"nativeSrc":"7082:55:62","nodeType":"YulAssignment","src":"7082:55:62","value":{"arguments":[{"kind":"number","nativeSrc":"7102:2:62","nodeType":"YulLiteral","src":"7102:2:62","type":"","value":"32"},{"arguments":[{"name":"price","nativeSrc":"7110:5:62","nodeType":"YulIdentifier","src":"7110:5:62"},{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"7125:2:62","nodeType":"YulLiteral","src":"7125:2:62","type":"","value":"32"},{"kind":"number","nativeSrc":"7129:1:62","nodeType":"YulLiteral","src":"7129:1:62","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"7121:3:62","nodeType":"YulIdentifier","src":"7121:3:62"},"nativeSrc":"7121:10:62","nodeType":"YulFunctionCall","src":"7121:10:62"},{"kind":"number","nativeSrc":"7133:1:62","nodeType":"YulLiteral","src":"7133:1:62","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"7117:3:62","nodeType":"YulIdentifier","src":"7117:3:62"},"nativeSrc":"7117:18:62","nodeType":"YulFunctionCall","src":"7117:18:62"}],"functionName":{"name":"add","nativeSrc":"7106:3:62","nodeType":"YulIdentifier","src":"7106:3:62"},"nativeSrc":"7106:30:62","nodeType":"YulFunctionCall","src":"7106:30:62"}],"functionName":{"name":"shr","nativeSrc":"7098:3:62","nodeType":"YulIdentifier","src":"7098:3:62"},"nativeSrc":"7098:39:62","nodeType":"YulFunctionCall","src":"7098:39:62"},"variableNames":[{"name":"sqrtPriceX96","nativeSrc":"7082:12:62","nodeType":"YulIdentifier","src":"7082:12:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":2708,"isOffset":false,"isSlot":false,"src":"6553:5:62","valueSize":1},{"declaration":2708,"isOffset":false,"isSlot":false,"src":"6574:5:62","valueSize":1},{"declaration":2708,"isOffset":false,"isSlot":false,"src":"7110:5:62","valueSize":1},{"declaration":2683,"isOffset":false,"isSlot":false,"src":"7082:12:62","valueSize":1},{"declaration":2680,"isOffset":false,"isSlot":false,"src":"6542:4:62","valueSize":1}],"flags":["memory-safe"],"id":2996,"nodeType":"InlineAssembly","src":"6424:727:62"}]}]},"documentation":{"id":2678,"nodeType":"StructuredDocumentation","src":"2841:303:62","text":"@notice Calculates sqrt(1.0001^tick) * 2^96\n @dev Throws if |tick| > max tick\n @param tick The input tick for the above formula\n @return sqrtPriceX96 A Fixed point Q64.96 number representing the sqrt of the price of the two assets (currency1/currency0)\n at the given tick"},"id":2999,"implemented":true,"kind":"function","modifiers":[],"name":"getSqrtPriceAtTick","nameLocation":"3158:18:62","nodeType":"FunctionDefinition","parameters":{"id":2681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2680,"mutability":"mutable","name":"tick","nameLocation":"3183:4:62","nodeType":"VariableDeclaration","scope":2999,"src":"3177:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":2679,"name":"int24","nodeType":"ElementaryTypeName","src":"3177:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"3176:12:62"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"3220:12:62","nodeType":"VariableDeclaration","scope":2999,"src":"3212:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":2682,"name":"uint160","nodeType":"ElementaryTypeName","src":"3212:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"3211:22:62"},"scope":3140,"src":"3149:4018:62","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3138,"nodeType":"Block","src":"7712:4667:62","statements":[{"id":3137,"nodeType":"UncheckedBlock","src":"7722:4651:62","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":3012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":3009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3007,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"8183:12:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3008,"name":"MIN_SQRT_PRICE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"8198:14:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"8183:29:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":3010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8182:31:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3011,"name":"MAX_SQRT_PRICE_MINUS_MIN_SQRT_PRICE_MINUS_ONE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2643,"src":"8216:45:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"8182:79:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3022,"nodeType":"IfStatement","src":"8178:168:62","trueBody":{"id":3021,"nodeType":"Block","src":"8263:83:62","statements":[{"expression":{"arguments":[{"id":3018,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"8318:12:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"expression":{"id":3013,"name":"InvalidSqrtPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"8281:16:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint160_$returns$_t_error_$","typeString":"function (uint160) pure returns (error)"}},"id":3016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8298:8:62","memberName":"selector","nodeType":"MemberAccess","src":"8281:25:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":3017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8307:10:62","memberName":"revertWith","nodeType":"MemberAccess","referencedDeclaration":45160,"src":"8281:36:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_uint160_$returns$__$attached_to$_t_bytes4_$","typeString":"function (bytes4,uint160) pure"}},"id":3019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8281:50:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3020,"nodeType":"ExpressionStatement","src":"8281:50:62"}]}},{"assignments":[3024],"declarations":[{"constant":false,"id":3024,"mutability":"mutable","name":"price","nameLocation":"8368:5:62","nodeType":"VariableDeclaration","scope":3137,"src":"8360:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3023,"name":"uint256","nodeType":"ElementaryTypeName","src":"8360:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3031,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3027,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"8384:12:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8376:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3025,"name":"uint256","nodeType":"ElementaryTypeName","src":"8376:7:62","typeDescriptions":{}}},"id":3028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8376:21:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":3029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8401:2:62","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8376:27:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8360:43:62"},{"assignments":[3033],"declarations":[{"constant":false,"id":3033,"mutability":"mutable","name":"r","nameLocation":"8426:1:62","nodeType":"VariableDeclaration","scope":3137,"src":"8418:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3032,"name":"uint256","nodeType":"ElementaryTypeName","src":"8418:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3035,"initialValue":{"id":3034,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"8430:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8418:17:62"},{"assignments":[3037],"declarations":[{"constant":false,"id":3037,"mutability":"mutable","name":"msb","nameLocation":"8457:3:62","nodeType":"VariableDeclaration","scope":3137,"src":"8449:11:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3036,"name":"uint256","nodeType":"ElementaryTypeName","src":"8449:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3042,"initialValue":{"arguments":[{"id":3040,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"8490:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3038,"name":"BitMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45441,"src":"8463:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_BitMath_$45441_$","typeString":"type(library BitMath)"}},"id":3039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8471:18:62","memberName":"mostSignificantBit","nodeType":"MemberAccess","referencedDeclaration":45424,"src":"8463:26:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint8_$","typeString":"function (uint256) pure returns (uint8)"}},"id":3041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8463:29:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"8449:43:62"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3043,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3037,"src":"8511:3:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"313238","id":3044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8518:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8511:10:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3055,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"8566:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3056,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"8570:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"313237","id":3057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8580:3:62","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3058,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3037,"src":"8586:3:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8580:9:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3060,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8579:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8570:20:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8566:24:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3063,"nodeType":"ExpressionStatement","src":"8566:24:62"},"id":3064,"nodeType":"IfStatement","src":"8507:83:62","trueBody":{"expression":{"id":3053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3046,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"8523:1:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3047,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"8527:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3048,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3037,"src":"8537:3:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"313237","id":3049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8543:3:62","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"8537:9:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8536:11:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8527:20:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8523:24:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3054,"nodeType":"ExpressionStatement","src":"8523:24:62"}},{"assignments":[3066],"declarations":[{"constant":false,"id":3066,"mutability":"mutable","name":"log_2","nameLocation":"8612:5:62","nodeType":"VariableDeclaration","scope":3137,"src":"8605:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3065,"name":"int256","nodeType":"ElementaryTypeName","src":"8605:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3076,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3069,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3037,"src":"8628:3:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8621:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3067,"name":"int256","nodeType":"ElementaryTypeName","src":"8621:6:62","typeDescriptions":{}}},"id":3070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8621:11:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"313238","id":3071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8635:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8621:17:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3073,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8620:19:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":3074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8643:2:62","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8620:25:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8605:40:62"},{"AST":{"nativeSrc":"8685:171:62","nodeType":"YulBlock","src":"8685:171:62","statements":[{"nativeSrc":"8703:24:62","nodeType":"YulAssignment","src":"8703:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"8712:3:62","nodeType":"YulLiteral","src":"8712:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"8721:1:62","nodeType":"YulIdentifier","src":"8721:1:62"},{"name":"r","nativeSrc":"8724:1:62","nodeType":"YulIdentifier","src":"8724:1:62"}],"functionName":{"name":"mul","nativeSrc":"8717:3:62","nodeType":"YulIdentifier","src":"8717:3:62"},"nativeSrc":"8717:9:62","nodeType":"YulFunctionCall","src":"8717:9:62"}],"functionName":{"name":"shr","nativeSrc":"8708:3:62","nodeType":"YulIdentifier","src":"8708:3:62"},"nativeSrc":"8708:19:62","nodeType":"YulFunctionCall","src":"8708:19:62"},"variableNames":[{"name":"r","nativeSrc":"8703:1:62","nodeType":"YulIdentifier","src":"8703:1:62"}]},{"nativeSrc":"8744:20:62","nodeType":"YulVariableDeclaration","src":"8744:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"8757:3:62","nodeType":"YulLiteral","src":"8757:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"8762:1:62","nodeType":"YulIdentifier","src":"8762:1:62"}],"functionName":{"name":"shr","nativeSrc":"8753:3:62","nodeType":"YulIdentifier","src":"8753:3:62"},"nativeSrc":"8753:11:62","nodeType":"YulFunctionCall","src":"8753:11:62"},"variables":[{"name":"f","nativeSrc":"8748:1:62","nodeType":"YulTypedName","src":"8748:1:62","type":""}]},{"nativeSrc":"8781:30:62","nodeType":"YulAssignment","src":"8781:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"8793:5:62","nodeType":"YulIdentifier","src":"8793:5:62"},{"arguments":[{"kind":"number","nativeSrc":"8804:2:62","nodeType":"YulLiteral","src":"8804:2:62","type":"","value":"63"},{"name":"f","nativeSrc":"8808:1:62","nodeType":"YulIdentifier","src":"8808:1:62"}],"functionName":{"name":"shl","nativeSrc":"8800:3:62","nodeType":"YulIdentifier","src":"8800:3:62"},"nativeSrc":"8800:10:62","nodeType":"YulFunctionCall","src":"8800:10:62"}],"functionName":{"name":"or","nativeSrc":"8790:2:62","nodeType":"YulIdentifier","src":"8790:2:62"},"nativeSrc":"8790:21:62","nodeType":"YulFunctionCall","src":"8790:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"8781:5:62","nodeType":"YulIdentifier","src":"8781:5:62"}]},{"nativeSrc":"8828:14:62","nodeType":"YulAssignment","src":"8828:14:62","value":{"arguments":[{"name":"f","nativeSrc":"8837:1:62","nodeType":"YulIdentifier","src":"8837:1:62"},{"name":"r","nativeSrc":"8840:1:62","nodeType":"YulIdentifier","src":"8840:1:62"}],"functionName":{"name":"shr","nativeSrc":"8833:3:62","nodeType":"YulIdentifier","src":"8833:3:62"},"nativeSrc":"8833:9:62","nodeType":"YulFunctionCall","src":"8833:9:62"},"variableNames":[{"name":"r","nativeSrc":"8828:1:62","nodeType":"YulIdentifier","src":"8828:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"8781:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"8793:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8703:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8721:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8724:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8762:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8828:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8840:1:62","valueSize":1}],"flags":["memory-safe"],"id":3077,"nodeType":"InlineAssembly","src":"8660:196:62"},{"AST":{"nativeSrc":"8894:171:62","nodeType":"YulBlock","src":"8894:171:62","statements":[{"nativeSrc":"8912:24:62","nodeType":"YulAssignment","src":"8912:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"8921:3:62","nodeType":"YulLiteral","src":"8921:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"8930:1:62","nodeType":"YulIdentifier","src":"8930:1:62"},{"name":"r","nativeSrc":"8933:1:62","nodeType":"YulIdentifier","src":"8933:1:62"}],"functionName":{"name":"mul","nativeSrc":"8926:3:62","nodeType":"YulIdentifier","src":"8926:3:62"},"nativeSrc":"8926:9:62","nodeType":"YulFunctionCall","src":"8926:9:62"}],"functionName":{"name":"shr","nativeSrc":"8917:3:62","nodeType":"YulIdentifier","src":"8917:3:62"},"nativeSrc":"8917:19:62","nodeType":"YulFunctionCall","src":"8917:19:62"},"variableNames":[{"name":"r","nativeSrc":"8912:1:62","nodeType":"YulIdentifier","src":"8912:1:62"}]},{"nativeSrc":"8953:20:62","nodeType":"YulVariableDeclaration","src":"8953:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"8966:3:62","nodeType":"YulLiteral","src":"8966:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"8971:1:62","nodeType":"YulIdentifier","src":"8971:1:62"}],"functionName":{"name":"shr","nativeSrc":"8962:3:62","nodeType":"YulIdentifier","src":"8962:3:62"},"nativeSrc":"8962:11:62","nodeType":"YulFunctionCall","src":"8962:11:62"},"variables":[{"name":"f","nativeSrc":"8957:1:62","nodeType":"YulTypedName","src":"8957:1:62","type":""}]},{"nativeSrc":"8990:30:62","nodeType":"YulAssignment","src":"8990:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"9002:5:62","nodeType":"YulIdentifier","src":"9002:5:62"},{"arguments":[{"kind":"number","nativeSrc":"9013:2:62","nodeType":"YulLiteral","src":"9013:2:62","type":"","value":"62"},{"name":"f","nativeSrc":"9017:1:62","nodeType":"YulIdentifier","src":"9017:1:62"}],"functionName":{"name":"shl","nativeSrc":"9009:3:62","nodeType":"YulIdentifier","src":"9009:3:62"},"nativeSrc":"9009:10:62","nodeType":"YulFunctionCall","src":"9009:10:62"}],"functionName":{"name":"or","nativeSrc":"8999:2:62","nodeType":"YulIdentifier","src":"8999:2:62"},"nativeSrc":"8999:21:62","nodeType":"YulFunctionCall","src":"8999:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"8990:5:62","nodeType":"YulIdentifier","src":"8990:5:62"}]},{"nativeSrc":"9037:14:62","nodeType":"YulAssignment","src":"9037:14:62","value":{"arguments":[{"name":"f","nativeSrc":"9046:1:62","nodeType":"YulIdentifier","src":"9046:1:62"},{"name":"r","nativeSrc":"9049:1:62","nodeType":"YulIdentifier","src":"9049:1:62"}],"functionName":{"name":"shr","nativeSrc":"9042:3:62","nodeType":"YulIdentifier","src":"9042:3:62"},"nativeSrc":"9042:9:62","nodeType":"YulFunctionCall","src":"9042:9:62"},"variableNames":[{"name":"r","nativeSrc":"9037:1:62","nodeType":"YulIdentifier","src":"9037:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"8990:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9002:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8912:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8930:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8933:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"8971:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9037:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9049:1:62","valueSize":1}],"flags":["memory-safe"],"id":3078,"nodeType":"InlineAssembly","src":"8869:196:62"},{"AST":{"nativeSrc":"9103:171:62","nodeType":"YulBlock","src":"9103:171:62","statements":[{"nativeSrc":"9121:24:62","nodeType":"YulAssignment","src":"9121:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"9130:3:62","nodeType":"YulLiteral","src":"9130:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"9139:1:62","nodeType":"YulIdentifier","src":"9139:1:62"},{"name":"r","nativeSrc":"9142:1:62","nodeType":"YulIdentifier","src":"9142:1:62"}],"functionName":{"name":"mul","nativeSrc":"9135:3:62","nodeType":"YulIdentifier","src":"9135:3:62"},"nativeSrc":"9135:9:62","nodeType":"YulFunctionCall","src":"9135:9:62"}],"functionName":{"name":"shr","nativeSrc":"9126:3:62","nodeType":"YulIdentifier","src":"9126:3:62"},"nativeSrc":"9126:19:62","nodeType":"YulFunctionCall","src":"9126:19:62"},"variableNames":[{"name":"r","nativeSrc":"9121:1:62","nodeType":"YulIdentifier","src":"9121:1:62"}]},{"nativeSrc":"9162:20:62","nodeType":"YulVariableDeclaration","src":"9162:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"9175:3:62","nodeType":"YulLiteral","src":"9175:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"9180:1:62","nodeType":"YulIdentifier","src":"9180:1:62"}],"functionName":{"name":"shr","nativeSrc":"9171:3:62","nodeType":"YulIdentifier","src":"9171:3:62"},"nativeSrc":"9171:11:62","nodeType":"YulFunctionCall","src":"9171:11:62"},"variables":[{"name":"f","nativeSrc":"9166:1:62","nodeType":"YulTypedName","src":"9166:1:62","type":""}]},{"nativeSrc":"9199:30:62","nodeType":"YulAssignment","src":"9199:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"9211:5:62","nodeType":"YulIdentifier","src":"9211:5:62"},{"arguments":[{"kind":"number","nativeSrc":"9222:2:62","nodeType":"YulLiteral","src":"9222:2:62","type":"","value":"61"},{"name":"f","nativeSrc":"9226:1:62","nodeType":"YulIdentifier","src":"9226:1:62"}],"functionName":{"name":"shl","nativeSrc":"9218:3:62","nodeType":"YulIdentifier","src":"9218:3:62"},"nativeSrc":"9218:10:62","nodeType":"YulFunctionCall","src":"9218:10:62"}],"functionName":{"name":"or","nativeSrc":"9208:2:62","nodeType":"YulIdentifier","src":"9208:2:62"},"nativeSrc":"9208:21:62","nodeType":"YulFunctionCall","src":"9208:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"9199:5:62","nodeType":"YulIdentifier","src":"9199:5:62"}]},{"nativeSrc":"9246:14:62","nodeType":"YulAssignment","src":"9246:14:62","value":{"arguments":[{"name":"f","nativeSrc":"9255:1:62","nodeType":"YulIdentifier","src":"9255:1:62"},{"name":"r","nativeSrc":"9258:1:62","nodeType":"YulIdentifier","src":"9258:1:62"}],"functionName":{"name":"shr","nativeSrc":"9251:3:62","nodeType":"YulIdentifier","src":"9251:3:62"},"nativeSrc":"9251:9:62","nodeType":"YulFunctionCall","src":"9251:9:62"},"variableNames":[{"name":"r","nativeSrc":"9246:1:62","nodeType":"YulIdentifier","src":"9246:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9199:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9211:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9121:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9139:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9142:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9180:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9246:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9258:1:62","valueSize":1}],"flags":["memory-safe"],"id":3079,"nodeType":"InlineAssembly","src":"9078:196:62"},{"AST":{"nativeSrc":"9312:171:62","nodeType":"YulBlock","src":"9312:171:62","statements":[{"nativeSrc":"9330:24:62","nodeType":"YulAssignment","src":"9330:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"9339:3:62","nodeType":"YulLiteral","src":"9339:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"9348:1:62","nodeType":"YulIdentifier","src":"9348:1:62"},{"name":"r","nativeSrc":"9351:1:62","nodeType":"YulIdentifier","src":"9351:1:62"}],"functionName":{"name":"mul","nativeSrc":"9344:3:62","nodeType":"YulIdentifier","src":"9344:3:62"},"nativeSrc":"9344:9:62","nodeType":"YulFunctionCall","src":"9344:9:62"}],"functionName":{"name":"shr","nativeSrc":"9335:3:62","nodeType":"YulIdentifier","src":"9335:3:62"},"nativeSrc":"9335:19:62","nodeType":"YulFunctionCall","src":"9335:19:62"},"variableNames":[{"name":"r","nativeSrc":"9330:1:62","nodeType":"YulIdentifier","src":"9330:1:62"}]},{"nativeSrc":"9371:20:62","nodeType":"YulVariableDeclaration","src":"9371:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"9384:3:62","nodeType":"YulLiteral","src":"9384:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"9389:1:62","nodeType":"YulIdentifier","src":"9389:1:62"}],"functionName":{"name":"shr","nativeSrc":"9380:3:62","nodeType":"YulIdentifier","src":"9380:3:62"},"nativeSrc":"9380:11:62","nodeType":"YulFunctionCall","src":"9380:11:62"},"variables":[{"name":"f","nativeSrc":"9375:1:62","nodeType":"YulTypedName","src":"9375:1:62","type":""}]},{"nativeSrc":"9408:30:62","nodeType":"YulAssignment","src":"9408:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"9420:5:62","nodeType":"YulIdentifier","src":"9420:5:62"},{"arguments":[{"kind":"number","nativeSrc":"9431:2:62","nodeType":"YulLiteral","src":"9431:2:62","type":"","value":"60"},{"name":"f","nativeSrc":"9435:1:62","nodeType":"YulIdentifier","src":"9435:1:62"}],"functionName":{"name":"shl","nativeSrc":"9427:3:62","nodeType":"YulIdentifier","src":"9427:3:62"},"nativeSrc":"9427:10:62","nodeType":"YulFunctionCall","src":"9427:10:62"}],"functionName":{"name":"or","nativeSrc":"9417:2:62","nodeType":"YulIdentifier","src":"9417:2:62"},"nativeSrc":"9417:21:62","nodeType":"YulFunctionCall","src":"9417:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"9408:5:62","nodeType":"YulIdentifier","src":"9408:5:62"}]},{"nativeSrc":"9455:14:62","nodeType":"YulAssignment","src":"9455:14:62","value":{"arguments":[{"name":"f","nativeSrc":"9464:1:62","nodeType":"YulIdentifier","src":"9464:1:62"},{"name":"r","nativeSrc":"9467:1:62","nodeType":"YulIdentifier","src":"9467:1:62"}],"functionName":{"name":"shr","nativeSrc":"9460:3:62","nodeType":"YulIdentifier","src":"9460:3:62"},"nativeSrc":"9460:9:62","nodeType":"YulFunctionCall","src":"9460:9:62"},"variableNames":[{"name":"r","nativeSrc":"9455:1:62","nodeType":"YulIdentifier","src":"9455:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9408:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9420:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9330:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9348:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9351:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9389:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9455:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9467:1:62","valueSize":1}],"flags":["memory-safe"],"id":3080,"nodeType":"InlineAssembly","src":"9287:196:62"},{"AST":{"nativeSrc":"9521:171:62","nodeType":"YulBlock","src":"9521:171:62","statements":[{"nativeSrc":"9539:24:62","nodeType":"YulAssignment","src":"9539:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"9548:3:62","nodeType":"YulLiteral","src":"9548:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"9557:1:62","nodeType":"YulIdentifier","src":"9557:1:62"},{"name":"r","nativeSrc":"9560:1:62","nodeType":"YulIdentifier","src":"9560:1:62"}],"functionName":{"name":"mul","nativeSrc":"9553:3:62","nodeType":"YulIdentifier","src":"9553:3:62"},"nativeSrc":"9553:9:62","nodeType":"YulFunctionCall","src":"9553:9:62"}],"functionName":{"name":"shr","nativeSrc":"9544:3:62","nodeType":"YulIdentifier","src":"9544:3:62"},"nativeSrc":"9544:19:62","nodeType":"YulFunctionCall","src":"9544:19:62"},"variableNames":[{"name":"r","nativeSrc":"9539:1:62","nodeType":"YulIdentifier","src":"9539:1:62"}]},{"nativeSrc":"9580:20:62","nodeType":"YulVariableDeclaration","src":"9580:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"9593:3:62","nodeType":"YulLiteral","src":"9593:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"9598:1:62","nodeType":"YulIdentifier","src":"9598:1:62"}],"functionName":{"name":"shr","nativeSrc":"9589:3:62","nodeType":"YulIdentifier","src":"9589:3:62"},"nativeSrc":"9589:11:62","nodeType":"YulFunctionCall","src":"9589:11:62"},"variables":[{"name":"f","nativeSrc":"9584:1:62","nodeType":"YulTypedName","src":"9584:1:62","type":""}]},{"nativeSrc":"9617:30:62","nodeType":"YulAssignment","src":"9617:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"9629:5:62","nodeType":"YulIdentifier","src":"9629:5:62"},{"arguments":[{"kind":"number","nativeSrc":"9640:2:62","nodeType":"YulLiteral","src":"9640:2:62","type":"","value":"59"},{"name":"f","nativeSrc":"9644:1:62","nodeType":"YulIdentifier","src":"9644:1:62"}],"functionName":{"name":"shl","nativeSrc":"9636:3:62","nodeType":"YulIdentifier","src":"9636:3:62"},"nativeSrc":"9636:10:62","nodeType":"YulFunctionCall","src":"9636:10:62"}],"functionName":{"name":"or","nativeSrc":"9626:2:62","nodeType":"YulIdentifier","src":"9626:2:62"},"nativeSrc":"9626:21:62","nodeType":"YulFunctionCall","src":"9626:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"9617:5:62","nodeType":"YulIdentifier","src":"9617:5:62"}]},{"nativeSrc":"9664:14:62","nodeType":"YulAssignment","src":"9664:14:62","value":{"arguments":[{"name":"f","nativeSrc":"9673:1:62","nodeType":"YulIdentifier","src":"9673:1:62"},{"name":"r","nativeSrc":"9676:1:62","nodeType":"YulIdentifier","src":"9676:1:62"}],"functionName":{"name":"shr","nativeSrc":"9669:3:62","nodeType":"YulIdentifier","src":"9669:3:62"},"nativeSrc":"9669:9:62","nodeType":"YulFunctionCall","src":"9669:9:62"},"variableNames":[{"name":"r","nativeSrc":"9664:1:62","nodeType":"YulIdentifier","src":"9664:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9617:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9629:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9539:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9557:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9560:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9598:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9664:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9676:1:62","valueSize":1}],"flags":["memory-safe"],"id":3081,"nodeType":"InlineAssembly","src":"9496:196:62"},{"AST":{"nativeSrc":"9730:171:62","nodeType":"YulBlock","src":"9730:171:62","statements":[{"nativeSrc":"9748:24:62","nodeType":"YulAssignment","src":"9748:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"9757:3:62","nodeType":"YulLiteral","src":"9757:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"9766:1:62","nodeType":"YulIdentifier","src":"9766:1:62"},{"name":"r","nativeSrc":"9769:1:62","nodeType":"YulIdentifier","src":"9769:1:62"}],"functionName":{"name":"mul","nativeSrc":"9762:3:62","nodeType":"YulIdentifier","src":"9762:3:62"},"nativeSrc":"9762:9:62","nodeType":"YulFunctionCall","src":"9762:9:62"}],"functionName":{"name":"shr","nativeSrc":"9753:3:62","nodeType":"YulIdentifier","src":"9753:3:62"},"nativeSrc":"9753:19:62","nodeType":"YulFunctionCall","src":"9753:19:62"},"variableNames":[{"name":"r","nativeSrc":"9748:1:62","nodeType":"YulIdentifier","src":"9748:1:62"}]},{"nativeSrc":"9789:20:62","nodeType":"YulVariableDeclaration","src":"9789:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"9802:3:62","nodeType":"YulLiteral","src":"9802:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"9807:1:62","nodeType":"YulIdentifier","src":"9807:1:62"}],"functionName":{"name":"shr","nativeSrc":"9798:3:62","nodeType":"YulIdentifier","src":"9798:3:62"},"nativeSrc":"9798:11:62","nodeType":"YulFunctionCall","src":"9798:11:62"},"variables":[{"name":"f","nativeSrc":"9793:1:62","nodeType":"YulTypedName","src":"9793:1:62","type":""}]},{"nativeSrc":"9826:30:62","nodeType":"YulAssignment","src":"9826:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"9838:5:62","nodeType":"YulIdentifier","src":"9838:5:62"},{"arguments":[{"kind":"number","nativeSrc":"9849:2:62","nodeType":"YulLiteral","src":"9849:2:62","type":"","value":"58"},{"name":"f","nativeSrc":"9853:1:62","nodeType":"YulIdentifier","src":"9853:1:62"}],"functionName":{"name":"shl","nativeSrc":"9845:3:62","nodeType":"YulIdentifier","src":"9845:3:62"},"nativeSrc":"9845:10:62","nodeType":"YulFunctionCall","src":"9845:10:62"}],"functionName":{"name":"or","nativeSrc":"9835:2:62","nodeType":"YulIdentifier","src":"9835:2:62"},"nativeSrc":"9835:21:62","nodeType":"YulFunctionCall","src":"9835:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"9826:5:62","nodeType":"YulIdentifier","src":"9826:5:62"}]},{"nativeSrc":"9873:14:62","nodeType":"YulAssignment","src":"9873:14:62","value":{"arguments":[{"name":"f","nativeSrc":"9882:1:62","nodeType":"YulIdentifier","src":"9882:1:62"},{"name":"r","nativeSrc":"9885:1:62","nodeType":"YulIdentifier","src":"9885:1:62"}],"functionName":{"name":"shr","nativeSrc":"9878:3:62","nodeType":"YulIdentifier","src":"9878:3:62"},"nativeSrc":"9878:9:62","nodeType":"YulFunctionCall","src":"9878:9:62"},"variableNames":[{"name":"r","nativeSrc":"9873:1:62","nodeType":"YulIdentifier","src":"9873:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9826:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"9838:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9748:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9766:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9769:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9807:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9873:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9885:1:62","valueSize":1}],"flags":["memory-safe"],"id":3082,"nodeType":"InlineAssembly","src":"9705:196:62"},{"AST":{"nativeSrc":"9939:171:62","nodeType":"YulBlock","src":"9939:171:62","statements":[{"nativeSrc":"9957:24:62","nodeType":"YulAssignment","src":"9957:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"9966:3:62","nodeType":"YulLiteral","src":"9966:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"9975:1:62","nodeType":"YulIdentifier","src":"9975:1:62"},{"name":"r","nativeSrc":"9978:1:62","nodeType":"YulIdentifier","src":"9978:1:62"}],"functionName":{"name":"mul","nativeSrc":"9971:3:62","nodeType":"YulIdentifier","src":"9971:3:62"},"nativeSrc":"9971:9:62","nodeType":"YulFunctionCall","src":"9971:9:62"}],"functionName":{"name":"shr","nativeSrc":"9962:3:62","nodeType":"YulIdentifier","src":"9962:3:62"},"nativeSrc":"9962:19:62","nodeType":"YulFunctionCall","src":"9962:19:62"},"variableNames":[{"name":"r","nativeSrc":"9957:1:62","nodeType":"YulIdentifier","src":"9957:1:62"}]},{"nativeSrc":"9998:20:62","nodeType":"YulVariableDeclaration","src":"9998:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"10011:3:62","nodeType":"YulLiteral","src":"10011:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"10016:1:62","nodeType":"YulIdentifier","src":"10016:1:62"}],"functionName":{"name":"shr","nativeSrc":"10007:3:62","nodeType":"YulIdentifier","src":"10007:3:62"},"nativeSrc":"10007:11:62","nodeType":"YulFunctionCall","src":"10007:11:62"},"variables":[{"name":"f","nativeSrc":"10002:1:62","nodeType":"YulTypedName","src":"10002:1:62","type":""}]},{"nativeSrc":"10035:30:62","nodeType":"YulAssignment","src":"10035:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"10047:5:62","nodeType":"YulIdentifier","src":"10047:5:62"},{"arguments":[{"kind":"number","nativeSrc":"10058:2:62","nodeType":"YulLiteral","src":"10058:2:62","type":"","value":"57"},{"name":"f","nativeSrc":"10062:1:62","nodeType":"YulIdentifier","src":"10062:1:62"}],"functionName":{"name":"shl","nativeSrc":"10054:3:62","nodeType":"YulIdentifier","src":"10054:3:62"},"nativeSrc":"10054:10:62","nodeType":"YulFunctionCall","src":"10054:10:62"}],"functionName":{"name":"or","nativeSrc":"10044:2:62","nodeType":"YulIdentifier","src":"10044:2:62"},"nativeSrc":"10044:21:62","nodeType":"YulFunctionCall","src":"10044:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"10035:5:62","nodeType":"YulIdentifier","src":"10035:5:62"}]},{"nativeSrc":"10082:14:62","nodeType":"YulAssignment","src":"10082:14:62","value":{"arguments":[{"name":"f","nativeSrc":"10091:1:62","nodeType":"YulIdentifier","src":"10091:1:62"},{"name":"r","nativeSrc":"10094:1:62","nodeType":"YulIdentifier","src":"10094:1:62"}],"functionName":{"name":"shr","nativeSrc":"10087:3:62","nodeType":"YulIdentifier","src":"10087:3:62"},"nativeSrc":"10087:9:62","nodeType":"YulFunctionCall","src":"10087:9:62"},"variableNames":[{"name":"r","nativeSrc":"10082:1:62","nodeType":"YulIdentifier","src":"10082:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10035:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10047:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10016:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10082:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10094:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9957:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9975:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"9978:1:62","valueSize":1}],"flags":["memory-safe"],"id":3083,"nodeType":"InlineAssembly","src":"9914:196:62"},{"AST":{"nativeSrc":"10148:171:62","nodeType":"YulBlock","src":"10148:171:62","statements":[{"nativeSrc":"10166:24:62","nodeType":"YulAssignment","src":"10166:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"10175:3:62","nodeType":"YulLiteral","src":"10175:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"10184:1:62","nodeType":"YulIdentifier","src":"10184:1:62"},{"name":"r","nativeSrc":"10187:1:62","nodeType":"YulIdentifier","src":"10187:1:62"}],"functionName":{"name":"mul","nativeSrc":"10180:3:62","nodeType":"YulIdentifier","src":"10180:3:62"},"nativeSrc":"10180:9:62","nodeType":"YulFunctionCall","src":"10180:9:62"}],"functionName":{"name":"shr","nativeSrc":"10171:3:62","nodeType":"YulIdentifier","src":"10171:3:62"},"nativeSrc":"10171:19:62","nodeType":"YulFunctionCall","src":"10171:19:62"},"variableNames":[{"name":"r","nativeSrc":"10166:1:62","nodeType":"YulIdentifier","src":"10166:1:62"}]},{"nativeSrc":"10207:20:62","nodeType":"YulVariableDeclaration","src":"10207:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"10220:3:62","nodeType":"YulLiteral","src":"10220:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"10225:1:62","nodeType":"YulIdentifier","src":"10225:1:62"}],"functionName":{"name":"shr","nativeSrc":"10216:3:62","nodeType":"YulIdentifier","src":"10216:3:62"},"nativeSrc":"10216:11:62","nodeType":"YulFunctionCall","src":"10216:11:62"},"variables":[{"name":"f","nativeSrc":"10211:1:62","nodeType":"YulTypedName","src":"10211:1:62","type":""}]},{"nativeSrc":"10244:30:62","nodeType":"YulAssignment","src":"10244:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"10256:5:62","nodeType":"YulIdentifier","src":"10256:5:62"},{"arguments":[{"kind":"number","nativeSrc":"10267:2:62","nodeType":"YulLiteral","src":"10267:2:62","type":"","value":"56"},{"name":"f","nativeSrc":"10271:1:62","nodeType":"YulIdentifier","src":"10271:1:62"}],"functionName":{"name":"shl","nativeSrc":"10263:3:62","nodeType":"YulIdentifier","src":"10263:3:62"},"nativeSrc":"10263:10:62","nodeType":"YulFunctionCall","src":"10263:10:62"}],"functionName":{"name":"or","nativeSrc":"10253:2:62","nodeType":"YulIdentifier","src":"10253:2:62"},"nativeSrc":"10253:21:62","nodeType":"YulFunctionCall","src":"10253:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"10244:5:62","nodeType":"YulIdentifier","src":"10244:5:62"}]},{"nativeSrc":"10291:14:62","nodeType":"YulAssignment","src":"10291:14:62","value":{"arguments":[{"name":"f","nativeSrc":"10300:1:62","nodeType":"YulIdentifier","src":"10300:1:62"},{"name":"r","nativeSrc":"10303:1:62","nodeType":"YulIdentifier","src":"10303:1:62"}],"functionName":{"name":"shr","nativeSrc":"10296:3:62","nodeType":"YulIdentifier","src":"10296:3:62"},"nativeSrc":"10296:9:62","nodeType":"YulFunctionCall","src":"10296:9:62"},"variableNames":[{"name":"r","nativeSrc":"10291:1:62","nodeType":"YulIdentifier","src":"10291:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10244:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10256:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10166:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10184:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10187:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10225:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10291:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10303:1:62","valueSize":1}],"flags":["memory-safe"],"id":3084,"nodeType":"InlineAssembly","src":"10123:196:62"},{"AST":{"nativeSrc":"10357:171:62","nodeType":"YulBlock","src":"10357:171:62","statements":[{"nativeSrc":"10375:24:62","nodeType":"YulAssignment","src":"10375:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"10384:3:62","nodeType":"YulLiteral","src":"10384:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"10393:1:62","nodeType":"YulIdentifier","src":"10393:1:62"},{"name":"r","nativeSrc":"10396:1:62","nodeType":"YulIdentifier","src":"10396:1:62"}],"functionName":{"name":"mul","nativeSrc":"10389:3:62","nodeType":"YulIdentifier","src":"10389:3:62"},"nativeSrc":"10389:9:62","nodeType":"YulFunctionCall","src":"10389:9:62"}],"functionName":{"name":"shr","nativeSrc":"10380:3:62","nodeType":"YulIdentifier","src":"10380:3:62"},"nativeSrc":"10380:19:62","nodeType":"YulFunctionCall","src":"10380:19:62"},"variableNames":[{"name":"r","nativeSrc":"10375:1:62","nodeType":"YulIdentifier","src":"10375:1:62"}]},{"nativeSrc":"10416:20:62","nodeType":"YulVariableDeclaration","src":"10416:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"10429:3:62","nodeType":"YulLiteral","src":"10429:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"10434:1:62","nodeType":"YulIdentifier","src":"10434:1:62"}],"functionName":{"name":"shr","nativeSrc":"10425:3:62","nodeType":"YulIdentifier","src":"10425:3:62"},"nativeSrc":"10425:11:62","nodeType":"YulFunctionCall","src":"10425:11:62"},"variables":[{"name":"f","nativeSrc":"10420:1:62","nodeType":"YulTypedName","src":"10420:1:62","type":""}]},{"nativeSrc":"10453:30:62","nodeType":"YulAssignment","src":"10453:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"10465:5:62","nodeType":"YulIdentifier","src":"10465:5:62"},{"arguments":[{"kind":"number","nativeSrc":"10476:2:62","nodeType":"YulLiteral","src":"10476:2:62","type":"","value":"55"},{"name":"f","nativeSrc":"10480:1:62","nodeType":"YulIdentifier","src":"10480:1:62"}],"functionName":{"name":"shl","nativeSrc":"10472:3:62","nodeType":"YulIdentifier","src":"10472:3:62"},"nativeSrc":"10472:10:62","nodeType":"YulFunctionCall","src":"10472:10:62"}],"functionName":{"name":"or","nativeSrc":"10462:2:62","nodeType":"YulIdentifier","src":"10462:2:62"},"nativeSrc":"10462:21:62","nodeType":"YulFunctionCall","src":"10462:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"10453:5:62","nodeType":"YulIdentifier","src":"10453:5:62"}]},{"nativeSrc":"10500:14:62","nodeType":"YulAssignment","src":"10500:14:62","value":{"arguments":[{"name":"f","nativeSrc":"10509:1:62","nodeType":"YulIdentifier","src":"10509:1:62"},{"name":"r","nativeSrc":"10512:1:62","nodeType":"YulIdentifier","src":"10512:1:62"}],"functionName":{"name":"shr","nativeSrc":"10505:3:62","nodeType":"YulIdentifier","src":"10505:3:62"},"nativeSrc":"10505:9:62","nodeType":"YulFunctionCall","src":"10505:9:62"},"variableNames":[{"name":"r","nativeSrc":"10500:1:62","nodeType":"YulIdentifier","src":"10500:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10453:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10465:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10375:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10393:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10396:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10434:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10500:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10512:1:62","valueSize":1}],"flags":["memory-safe"],"id":3085,"nodeType":"InlineAssembly","src":"10332:196:62"},{"AST":{"nativeSrc":"10566:171:62","nodeType":"YulBlock","src":"10566:171:62","statements":[{"nativeSrc":"10584:24:62","nodeType":"YulAssignment","src":"10584:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"10593:3:62","nodeType":"YulLiteral","src":"10593:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"10602:1:62","nodeType":"YulIdentifier","src":"10602:1:62"},{"name":"r","nativeSrc":"10605:1:62","nodeType":"YulIdentifier","src":"10605:1:62"}],"functionName":{"name":"mul","nativeSrc":"10598:3:62","nodeType":"YulIdentifier","src":"10598:3:62"},"nativeSrc":"10598:9:62","nodeType":"YulFunctionCall","src":"10598:9:62"}],"functionName":{"name":"shr","nativeSrc":"10589:3:62","nodeType":"YulIdentifier","src":"10589:3:62"},"nativeSrc":"10589:19:62","nodeType":"YulFunctionCall","src":"10589:19:62"},"variableNames":[{"name":"r","nativeSrc":"10584:1:62","nodeType":"YulIdentifier","src":"10584:1:62"}]},{"nativeSrc":"10625:20:62","nodeType":"YulVariableDeclaration","src":"10625:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"10638:3:62","nodeType":"YulLiteral","src":"10638:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"10643:1:62","nodeType":"YulIdentifier","src":"10643:1:62"}],"functionName":{"name":"shr","nativeSrc":"10634:3:62","nodeType":"YulIdentifier","src":"10634:3:62"},"nativeSrc":"10634:11:62","nodeType":"YulFunctionCall","src":"10634:11:62"},"variables":[{"name":"f","nativeSrc":"10629:1:62","nodeType":"YulTypedName","src":"10629:1:62","type":""}]},{"nativeSrc":"10662:30:62","nodeType":"YulAssignment","src":"10662:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"10674:5:62","nodeType":"YulIdentifier","src":"10674:5:62"},{"arguments":[{"kind":"number","nativeSrc":"10685:2:62","nodeType":"YulLiteral","src":"10685:2:62","type":"","value":"54"},{"name":"f","nativeSrc":"10689:1:62","nodeType":"YulIdentifier","src":"10689:1:62"}],"functionName":{"name":"shl","nativeSrc":"10681:3:62","nodeType":"YulIdentifier","src":"10681:3:62"},"nativeSrc":"10681:10:62","nodeType":"YulFunctionCall","src":"10681:10:62"}],"functionName":{"name":"or","nativeSrc":"10671:2:62","nodeType":"YulIdentifier","src":"10671:2:62"},"nativeSrc":"10671:21:62","nodeType":"YulFunctionCall","src":"10671:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"10662:5:62","nodeType":"YulIdentifier","src":"10662:5:62"}]},{"nativeSrc":"10709:14:62","nodeType":"YulAssignment","src":"10709:14:62","value":{"arguments":[{"name":"f","nativeSrc":"10718:1:62","nodeType":"YulIdentifier","src":"10718:1:62"},{"name":"r","nativeSrc":"10721:1:62","nodeType":"YulIdentifier","src":"10721:1:62"}],"functionName":{"name":"shr","nativeSrc":"10714:3:62","nodeType":"YulIdentifier","src":"10714:3:62"},"nativeSrc":"10714:9:62","nodeType":"YulFunctionCall","src":"10714:9:62"},"variableNames":[{"name":"r","nativeSrc":"10709:1:62","nodeType":"YulIdentifier","src":"10709:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10662:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10674:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10584:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10602:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10605:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10643:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10709:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10721:1:62","valueSize":1}],"flags":["memory-safe"],"id":3086,"nodeType":"InlineAssembly","src":"10541:196:62"},{"AST":{"nativeSrc":"10775:171:62","nodeType":"YulBlock","src":"10775:171:62","statements":[{"nativeSrc":"10793:24:62","nodeType":"YulAssignment","src":"10793:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"10802:3:62","nodeType":"YulLiteral","src":"10802:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"10811:1:62","nodeType":"YulIdentifier","src":"10811:1:62"},{"name":"r","nativeSrc":"10814:1:62","nodeType":"YulIdentifier","src":"10814:1:62"}],"functionName":{"name":"mul","nativeSrc":"10807:3:62","nodeType":"YulIdentifier","src":"10807:3:62"},"nativeSrc":"10807:9:62","nodeType":"YulFunctionCall","src":"10807:9:62"}],"functionName":{"name":"shr","nativeSrc":"10798:3:62","nodeType":"YulIdentifier","src":"10798:3:62"},"nativeSrc":"10798:19:62","nodeType":"YulFunctionCall","src":"10798:19:62"},"variableNames":[{"name":"r","nativeSrc":"10793:1:62","nodeType":"YulIdentifier","src":"10793:1:62"}]},{"nativeSrc":"10834:20:62","nodeType":"YulVariableDeclaration","src":"10834:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"10847:3:62","nodeType":"YulLiteral","src":"10847:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"10852:1:62","nodeType":"YulIdentifier","src":"10852:1:62"}],"functionName":{"name":"shr","nativeSrc":"10843:3:62","nodeType":"YulIdentifier","src":"10843:3:62"},"nativeSrc":"10843:11:62","nodeType":"YulFunctionCall","src":"10843:11:62"},"variables":[{"name":"f","nativeSrc":"10838:1:62","nodeType":"YulTypedName","src":"10838:1:62","type":""}]},{"nativeSrc":"10871:30:62","nodeType":"YulAssignment","src":"10871:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"10883:5:62","nodeType":"YulIdentifier","src":"10883:5:62"},{"arguments":[{"kind":"number","nativeSrc":"10894:2:62","nodeType":"YulLiteral","src":"10894:2:62","type":"","value":"53"},{"name":"f","nativeSrc":"10898:1:62","nodeType":"YulIdentifier","src":"10898:1:62"}],"functionName":{"name":"shl","nativeSrc":"10890:3:62","nodeType":"YulIdentifier","src":"10890:3:62"},"nativeSrc":"10890:10:62","nodeType":"YulFunctionCall","src":"10890:10:62"}],"functionName":{"name":"or","nativeSrc":"10880:2:62","nodeType":"YulIdentifier","src":"10880:2:62"},"nativeSrc":"10880:21:62","nodeType":"YulFunctionCall","src":"10880:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"10871:5:62","nodeType":"YulIdentifier","src":"10871:5:62"}]},{"nativeSrc":"10918:14:62","nodeType":"YulAssignment","src":"10918:14:62","value":{"arguments":[{"name":"f","nativeSrc":"10927:1:62","nodeType":"YulIdentifier","src":"10927:1:62"},{"name":"r","nativeSrc":"10930:1:62","nodeType":"YulIdentifier","src":"10930:1:62"}],"functionName":{"name":"shr","nativeSrc":"10923:3:62","nodeType":"YulIdentifier","src":"10923:3:62"},"nativeSrc":"10923:9:62","nodeType":"YulFunctionCall","src":"10923:9:62"},"variableNames":[{"name":"r","nativeSrc":"10918:1:62","nodeType":"YulIdentifier","src":"10918:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10871:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"10883:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10793:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10811:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10814:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10852:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10918:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"10930:1:62","valueSize":1}],"flags":["memory-safe"],"id":3087,"nodeType":"InlineAssembly","src":"10750:196:62"},{"AST":{"nativeSrc":"10984:171:62","nodeType":"YulBlock","src":"10984:171:62","statements":[{"nativeSrc":"11002:24:62","nodeType":"YulAssignment","src":"11002:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"11011:3:62","nodeType":"YulLiteral","src":"11011:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"11020:1:62","nodeType":"YulIdentifier","src":"11020:1:62"},{"name":"r","nativeSrc":"11023:1:62","nodeType":"YulIdentifier","src":"11023:1:62"}],"functionName":{"name":"mul","nativeSrc":"11016:3:62","nodeType":"YulIdentifier","src":"11016:3:62"},"nativeSrc":"11016:9:62","nodeType":"YulFunctionCall","src":"11016:9:62"}],"functionName":{"name":"shr","nativeSrc":"11007:3:62","nodeType":"YulIdentifier","src":"11007:3:62"},"nativeSrc":"11007:19:62","nodeType":"YulFunctionCall","src":"11007:19:62"},"variableNames":[{"name":"r","nativeSrc":"11002:1:62","nodeType":"YulIdentifier","src":"11002:1:62"}]},{"nativeSrc":"11043:20:62","nodeType":"YulVariableDeclaration","src":"11043:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"11056:3:62","nodeType":"YulLiteral","src":"11056:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"11061:1:62","nodeType":"YulIdentifier","src":"11061:1:62"}],"functionName":{"name":"shr","nativeSrc":"11052:3:62","nodeType":"YulIdentifier","src":"11052:3:62"},"nativeSrc":"11052:11:62","nodeType":"YulFunctionCall","src":"11052:11:62"},"variables":[{"name":"f","nativeSrc":"11047:1:62","nodeType":"YulTypedName","src":"11047:1:62","type":""}]},{"nativeSrc":"11080:30:62","nodeType":"YulAssignment","src":"11080:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"11092:5:62","nodeType":"YulIdentifier","src":"11092:5:62"},{"arguments":[{"kind":"number","nativeSrc":"11103:2:62","nodeType":"YulLiteral","src":"11103:2:62","type":"","value":"52"},{"name":"f","nativeSrc":"11107:1:62","nodeType":"YulIdentifier","src":"11107:1:62"}],"functionName":{"name":"shl","nativeSrc":"11099:3:62","nodeType":"YulIdentifier","src":"11099:3:62"},"nativeSrc":"11099:10:62","nodeType":"YulFunctionCall","src":"11099:10:62"}],"functionName":{"name":"or","nativeSrc":"11089:2:62","nodeType":"YulIdentifier","src":"11089:2:62"},"nativeSrc":"11089:21:62","nodeType":"YulFunctionCall","src":"11089:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"11080:5:62","nodeType":"YulIdentifier","src":"11080:5:62"}]},{"nativeSrc":"11127:14:62","nodeType":"YulAssignment","src":"11127:14:62","value":{"arguments":[{"name":"f","nativeSrc":"11136:1:62","nodeType":"YulIdentifier","src":"11136:1:62"},{"name":"r","nativeSrc":"11139:1:62","nodeType":"YulIdentifier","src":"11139:1:62"}],"functionName":{"name":"shr","nativeSrc":"11132:3:62","nodeType":"YulIdentifier","src":"11132:3:62"},"nativeSrc":"11132:9:62","nodeType":"YulFunctionCall","src":"11132:9:62"},"variableNames":[{"name":"r","nativeSrc":"11127:1:62","nodeType":"YulIdentifier","src":"11127:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11080:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11092:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11002:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11020:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11023:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11061:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11127:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11139:1:62","valueSize":1}],"flags":["memory-safe"],"id":3088,"nodeType":"InlineAssembly","src":"10959:196:62"},{"AST":{"nativeSrc":"11193:171:62","nodeType":"YulBlock","src":"11193:171:62","statements":[{"nativeSrc":"11211:24:62","nodeType":"YulAssignment","src":"11211:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"11220:3:62","nodeType":"YulLiteral","src":"11220:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"11229:1:62","nodeType":"YulIdentifier","src":"11229:1:62"},{"name":"r","nativeSrc":"11232:1:62","nodeType":"YulIdentifier","src":"11232:1:62"}],"functionName":{"name":"mul","nativeSrc":"11225:3:62","nodeType":"YulIdentifier","src":"11225:3:62"},"nativeSrc":"11225:9:62","nodeType":"YulFunctionCall","src":"11225:9:62"}],"functionName":{"name":"shr","nativeSrc":"11216:3:62","nodeType":"YulIdentifier","src":"11216:3:62"},"nativeSrc":"11216:19:62","nodeType":"YulFunctionCall","src":"11216:19:62"},"variableNames":[{"name":"r","nativeSrc":"11211:1:62","nodeType":"YulIdentifier","src":"11211:1:62"}]},{"nativeSrc":"11252:20:62","nodeType":"YulVariableDeclaration","src":"11252:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"11265:3:62","nodeType":"YulLiteral","src":"11265:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"11270:1:62","nodeType":"YulIdentifier","src":"11270:1:62"}],"functionName":{"name":"shr","nativeSrc":"11261:3:62","nodeType":"YulIdentifier","src":"11261:3:62"},"nativeSrc":"11261:11:62","nodeType":"YulFunctionCall","src":"11261:11:62"},"variables":[{"name":"f","nativeSrc":"11256:1:62","nodeType":"YulTypedName","src":"11256:1:62","type":""}]},{"nativeSrc":"11289:30:62","nodeType":"YulAssignment","src":"11289:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"11301:5:62","nodeType":"YulIdentifier","src":"11301:5:62"},{"arguments":[{"kind":"number","nativeSrc":"11312:2:62","nodeType":"YulLiteral","src":"11312:2:62","type":"","value":"51"},{"name":"f","nativeSrc":"11316:1:62","nodeType":"YulIdentifier","src":"11316:1:62"}],"functionName":{"name":"shl","nativeSrc":"11308:3:62","nodeType":"YulIdentifier","src":"11308:3:62"},"nativeSrc":"11308:10:62","nodeType":"YulFunctionCall","src":"11308:10:62"}],"functionName":{"name":"or","nativeSrc":"11298:2:62","nodeType":"YulIdentifier","src":"11298:2:62"},"nativeSrc":"11298:21:62","nodeType":"YulFunctionCall","src":"11298:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"11289:5:62","nodeType":"YulIdentifier","src":"11289:5:62"}]},{"nativeSrc":"11336:14:62","nodeType":"YulAssignment","src":"11336:14:62","value":{"arguments":[{"name":"f","nativeSrc":"11345:1:62","nodeType":"YulIdentifier","src":"11345:1:62"},{"name":"r","nativeSrc":"11348:1:62","nodeType":"YulIdentifier","src":"11348:1:62"}],"functionName":{"name":"shr","nativeSrc":"11341:3:62","nodeType":"YulIdentifier","src":"11341:3:62"},"nativeSrc":"11341:9:62","nodeType":"YulFunctionCall","src":"11341:9:62"},"variableNames":[{"name":"r","nativeSrc":"11336:1:62","nodeType":"YulIdentifier","src":"11336:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11289:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11301:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11211:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11229:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11232:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11270:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11336:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11348:1:62","valueSize":1}],"flags":["memory-safe"],"id":3089,"nodeType":"InlineAssembly","src":"11168:196:62"},{"AST":{"nativeSrc":"11402:140:62","nodeType":"YulBlock","src":"11402:140:62","statements":[{"nativeSrc":"11420:24:62","nodeType":"YulAssignment","src":"11420:24:62","value":{"arguments":[{"kind":"number","nativeSrc":"11429:3:62","nodeType":"YulLiteral","src":"11429:3:62","type":"","value":"127"},{"arguments":[{"name":"r","nativeSrc":"11438:1:62","nodeType":"YulIdentifier","src":"11438:1:62"},{"name":"r","nativeSrc":"11441:1:62","nodeType":"YulIdentifier","src":"11441:1:62"}],"functionName":{"name":"mul","nativeSrc":"11434:3:62","nodeType":"YulIdentifier","src":"11434:3:62"},"nativeSrc":"11434:9:62","nodeType":"YulFunctionCall","src":"11434:9:62"}],"functionName":{"name":"shr","nativeSrc":"11425:3:62","nodeType":"YulIdentifier","src":"11425:3:62"},"nativeSrc":"11425:19:62","nodeType":"YulFunctionCall","src":"11425:19:62"},"variableNames":[{"name":"r","nativeSrc":"11420:1:62","nodeType":"YulIdentifier","src":"11420:1:62"}]},{"nativeSrc":"11461:20:62","nodeType":"YulVariableDeclaration","src":"11461:20:62","value":{"arguments":[{"kind":"number","nativeSrc":"11474:3:62","nodeType":"YulLiteral","src":"11474:3:62","type":"","value":"128"},{"name":"r","nativeSrc":"11479:1:62","nodeType":"YulIdentifier","src":"11479:1:62"}],"functionName":{"name":"shr","nativeSrc":"11470:3:62","nodeType":"YulIdentifier","src":"11470:3:62"},"nativeSrc":"11470:11:62","nodeType":"YulFunctionCall","src":"11470:11:62"},"variables":[{"name":"f","nativeSrc":"11465:1:62","nodeType":"YulTypedName","src":"11465:1:62","type":""}]},{"nativeSrc":"11498:30:62","nodeType":"YulAssignment","src":"11498:30:62","value":{"arguments":[{"name":"log_2","nativeSrc":"11510:5:62","nodeType":"YulIdentifier","src":"11510:5:62"},{"arguments":[{"kind":"number","nativeSrc":"11521:2:62","nodeType":"YulLiteral","src":"11521:2:62","type":"","value":"50"},{"name":"f","nativeSrc":"11525:1:62","nodeType":"YulIdentifier","src":"11525:1:62"}],"functionName":{"name":"shl","nativeSrc":"11517:3:62","nodeType":"YulIdentifier","src":"11517:3:62"},"nativeSrc":"11517:10:62","nodeType":"YulFunctionCall","src":"11517:10:62"}],"functionName":{"name":"or","nativeSrc":"11507:2:62","nodeType":"YulIdentifier","src":"11507:2:62"},"nativeSrc":"11507:21:62","nodeType":"YulFunctionCall","src":"11507:21:62"},"variableNames":[{"name":"log_2","nativeSrc":"11498:5:62","nodeType":"YulIdentifier","src":"11498:5:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11498:5:62","valueSize":1},{"declaration":3066,"isOffset":false,"isSlot":false,"src":"11510:5:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11420:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11438:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11441:1:62","valueSize":1},{"declaration":3033,"isOffset":false,"isSlot":false,"src":"11479:1:62","valueSize":1}],"flags":["memory-safe"],"id":3090,"nodeType":"InlineAssembly","src":"11377:165:62"},{"assignments":[3092],"declarations":[{"constant":false,"id":3092,"mutability":"mutable","name":"log_sqrt10001","nameLocation":"11563:13:62","nodeType":"VariableDeclaration","scope":3137,"src":"11556:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3091,"name":"int256","nodeType":"ElementaryTypeName","src":"11556:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3096,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3093,"name":"log_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"11579:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"323535373338393538393939363033383236333437313431","id":3094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11587:24:62","typeDescriptions":{"typeIdentifier":"t_rational_255738958999603826347141_by_1","typeString":"int_const 255738958999603826347141"},"value":"255738958999603826347141"},"src":"11579:32:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"11556:55:62"},{"assignments":[3098],"declarations":[{"constant":false,"id":3098,"mutability":"mutable","name":"tickLow","nameLocation":"11771:7:62","nodeType":"VariableDeclaration","scope":3137,"src":"11765:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3097,"name":"int24","nodeType":"ElementaryTypeName","src":"11765:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":3108,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3101,"name":"log_sqrt10001","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3092,"src":"11788:13:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33343032393932393536383039313332343138353936313430313030363630323437323130","id":3102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11804:37:62","typeDescriptions":{"typeIdentifier":"t_rational_3402992956809132418596140100660247210_by_1","typeString":"int_const 3402...(29 digits omitted)...7210"},"value":"3402992956809132418596140100660247210"},"src":"11788:53:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3104,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11787:55:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":3105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11787:62:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11781:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":3099,"name":"int24","nodeType":"ElementaryTypeName","src":"11781:5:62","typeDescriptions":{}}},"id":3107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11781:69:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"11765:85:62"},{"assignments":[3110],"declarations":[{"constant":false,"id":3110,"mutability":"mutable","name":"tickHi","nameLocation":"12169:6:62","nodeType":"VariableDeclaration","scope":3137,"src":"12163:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3109,"name":"int24","nodeType":"ElementaryTypeName","src":"12163:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":3120,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3113,"name":"log_sqrt10001","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3092,"src":"12185:13:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"323931333339343634373731393839363232393037303237363231313533333938303838343935","id":3114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12201:39:62","typeDescriptions":{"typeIdentifier":"t_rational_291339464771989622907027621153398088495_by_1","typeString":"int_const 2913...(31 digits omitted)...8495"},"value":"291339464771989622907027621153398088495"},"src":"12185:55:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3116,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12184:57:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":3117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12245:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"12184:64:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12178:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":3111,"name":"int24","nodeType":"ElementaryTypeName","src":"12178:5:62","typeDescriptions":{}}},"id":3119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12178:71:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"12163:86:62"},{"expression":{"id":3135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3121,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3005,"src":"12264:4:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3122,"name":"tickLow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"12271:7:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":3123,"name":"tickHi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3110,"src":"12282:6:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"12271:17:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":3130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3127,"name":"tickHi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3110,"src":"12320:6:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3126,"name":"getSqrtPriceAtTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"12301:18:62","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12301:26:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":3129,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12331:12:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"12301:42:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3132,"name":"tickLow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"12355:7:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12301:61:62","trueExpression":{"id":3131,"name":"tickHi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3110,"src":"12346:6:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12271:91:62","trueExpression":{"id":3125,"name":"tickLow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"12291:7:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"12264:98:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3136,"nodeType":"ExpressionStatement","src":"12264:98:62"}]}]},"documentation":{"id":3000,"nodeType":"StructuredDocumentation","src":"7173:449:62","text":"@notice Calculates the greatest tick value such that getSqrtPriceAtTick(tick) <= sqrtPriceX96\n @dev Throws in case sqrtPriceX96 < MIN_SQRT_PRICE, as MIN_SQRT_PRICE is the lowest value getSqrtPriceAtTick may\n ever return.\n @param sqrtPriceX96 The sqrt price for which to compute the tick as a Q64.96\n @return tick The greatest tick for which the getSqrtPriceAtTick(tick) is less than or equal to the input sqrtPriceX96"},"id":3139,"implemented":true,"kind":"function","modifiers":[],"name":"getTickAtSqrtPrice","nameLocation":"7636:18:62","nodeType":"FunctionDefinition","parameters":{"id":3003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3002,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7663:12:62","nodeType":"VariableDeclaration","scope":3139,"src":"7655:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3001,"name":"uint160","nodeType":"ElementaryTypeName","src":"7655:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7654:22:62"},"returnParameters":{"id":3006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3005,"mutability":"mutable","name":"tick","nameLocation":"7706:4:62","nodeType":"VariableDeclaration","scope":3139,"src":"7700:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3004,"name":"int24","nodeType":"ElementaryTypeName","src":"7700:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"7699:12:62"},"scope":3140,"src":"7627:4752:62","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3141,"src":"381:12000:62","usedErrors":[2601,2606],"usedEvents":[]}],"src":"32:12350:62"},"id":62},"v4-core/src/libraries/TransientStateLibrary.sol":{"ast":{"absolutePath":"v4-core/src/libraries/TransientStateLibrary.sol","exportedSymbols":{"Currency":[4399],"CurrencyReserves":[57480],"IPoolManager":[1763],"Lock":[57504],"NonzeroDeltaCount":[57529],"TransientStateLibrary":[56938]},"id":56939,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56804,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:63"},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":56806,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56939,"sourceUnit":1764,"src":"58:60:63","symbolAliases":[{"foreign":{"id":56805,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"66:12:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":56808,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56939,"sourceUnit":4694,"src":"119:47:63","symbolAliases":[{"foreign":{"id":56807,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"127:8:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CurrencyReserves.sol","file":"./CurrencyReserves.sol","id":56810,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56939,"sourceUnit":57481,"src":"167:56:63","symbolAliases":[{"foreign":{"id":56809,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"175:16:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/NonzeroDeltaCount.sol","file":"./NonzeroDeltaCount.sol","id":56812,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56939,"sourceUnit":57530,"src":"224:58:63","symbolAliases":[{"foreign":{"id":56811,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"232:17:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Lock.sol","file":"./Lock.sol","id":56814,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":56939,"sourceUnit":57505,"src":"283:32:63","symbolAliases":[{"foreign":{"id":56813,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"291:4:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"TransientStateLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":56815,"nodeType":"StructuredDocumentation","src":"317:72:63","text":"@notice A helper library to provide state getters that use exttload"},"fullyImplemented":true,"id":56938,"linearizedBaseContracts":[56938],"name":"TransientStateLibrary","nameLocation":"397:21:63","nodeType":"ContractDefinition","nodes":[{"body":{"id":56841,"nodeType":"Block","src":"848:150:63","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":56825,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"880:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":56824,"name":"getSyncedCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56870,"src":"862:17:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (contract IPoolManager) view returns (Currency)"}},"id":56826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"862:26:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":56827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"889:13:63","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"862:40:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":56828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"862:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56831,"nodeType":"IfStatement","src":"858:56:63","trueBody":{"expression":{"hexValue":"30","id":56829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"913:1:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":56823,"id":56830,"nodeType":"Return","src":"906:8:63"}},{"expression":{"arguments":[{"arguments":[{"expression":{"id":56836,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"956:16:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":56837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"973:16:63","memberName":"RESERVES_OF_SLOT","nodeType":"MemberAccess","referencedDeclaration":57445,"src":"956:33:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56834,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56819,"src":"939:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":56835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"947:8:63","memberName":"exttload","nodeType":"MemberAccess","referencedDeclaration":44906,"src":"939:16:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":56838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"939:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"931:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56832,"name":"uint256","nodeType":"ElementaryTypeName","src":"931:7:63","typeDescriptions":{}}},"id":56839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"931:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56823,"id":56840,"nodeType":"Return","src":"924:67:63"}]},"documentation":{"id":56816,"nodeType":"StructuredDocumentation","src":"537:225:63","text":"@return uint256 The reserves of the currency.\n @dev returns 0 if the reserves are not synced or value is 0.\n Checks the synced currency to only return valid reserve values (after a sync and before a settle)."},"id":56842,"implemented":true,"kind":"function","modifiers":[],"name":"getSyncedReserves","nameLocation":"776:17:63","nodeType":"FunctionDefinition","parameters":{"id":56820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56819,"mutability":"mutable","name":"manager","nameLocation":"807:7:63","nodeType":"VariableDeclaration","scope":56842,"src":"794:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":56818,"nodeType":"UserDefinedTypeName","pathNode":{"id":56817,"name":"IPoolManager","nameLocations":["794:12:63"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"794:12:63"},"referencedDeclaration":1763,"src":"794:12:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"793:22:63"},"returnParameters":{"id":56823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56842,"src":"839:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56821,"name":"uint256","nodeType":"ElementaryTypeName","src":"839:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"838:9:63"},"scope":56938,"src":"767:231:63","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56869,"nodeType":"Block","src":"1086:114:63","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":56861,"name":"CurrencyReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57480,"src":"1158:16:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyReserves_$57480_$","typeString":"type(library CurrencyReserves)"}},"id":56862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1175:13:63","memberName":"CURRENCY_SLOT","nodeType":"MemberAccess","referencedDeclaration":57449,"src":"1158:30:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56859,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56845,"src":"1141:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":56860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1149:8:63","memberName":"exttload","nodeType":"MemberAccess","referencedDeclaration":44906,"src":"1141:16:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":56863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1141:48:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1133:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56857,"name":"uint256","nodeType":"ElementaryTypeName","src":"1133:7:63","typeDescriptions":{}}},"id":56864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1133:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1125:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":56855,"name":"uint160","nodeType":"ElementaryTypeName","src":"1125:7:63","typeDescriptions":{}}},"id":56865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1125:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":56854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1117:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56853,"name":"address","nodeType":"ElementaryTypeName","src":"1117:7:63","typeDescriptions":{}}},"id":56866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1117:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56851,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"1103:8:63","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1112:4:63","memberName":"wrap","nodeType":"MemberAccess","src":"1103:13:63","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":56867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1103:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"functionReturnParameters":56850,"id":56868,"nodeType":"Return","src":"1096:97:63"}]},"id":56870,"implemented":true,"kind":"function","modifiers":[],"name":"getSyncedCurrency","nameLocation":"1013:17:63","nodeType":"FunctionDefinition","parameters":{"id":56846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56845,"mutability":"mutable","name":"manager","nameLocation":"1044:7:63","nodeType":"VariableDeclaration","scope":56870,"src":"1031:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":56844,"nodeType":"UserDefinedTypeName","pathNode":{"id":56843,"name":"IPoolManager","nameLocations":["1031:12:63"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1031:12:63"},"referencedDeclaration":1763,"src":"1031:12:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"1030:22:63"},"returnParameters":{"id":56850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56870,"src":"1076:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":56848,"nodeType":"UserDefinedTypeName","pathNode":{"id":56847,"name":"Currency","nameLocations":["1076:8:63"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1076:8:63"},"referencedDeclaration":4399,"src":"1076:8:63","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"1075:10:63"},"scope":56938,"src":"1004:196:63","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56888,"nodeType":"Block","src":"1421:93:63","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":56883,"name":"NonzeroDeltaCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57529,"src":"1463:17:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_NonzeroDeltaCount_$57529_$","typeString":"type(library NonzeroDeltaCount)"}},"id":56884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1481:24:63","memberName":"NONZERO_DELTA_COUNT_SLOT","nodeType":"MemberAccess","referencedDeclaration":57510,"src":"1463:42:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56881,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56874,"src":"1446:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":56882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1454:8:63","memberName":"exttload","nodeType":"MemberAccess","referencedDeclaration":44906,"src":"1446:16:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":56885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1446:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1438:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56879,"name":"uint256","nodeType":"ElementaryTypeName","src":"1438:7:63","typeDescriptions":{}}},"id":56886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1438:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56878,"id":56887,"nodeType":"Return","src":"1431:76:63"}]},"documentation":{"id":56871,"nodeType":"StructuredDocumentation","src":"1206:126:63","text":"@notice Returns the number of nonzero deltas open on the PoolManager that must be zeroed out before the contract is locked"},"id":56889,"implemented":true,"kind":"function","modifiers":[],"name":"getNonzeroDeltaCount","nameLocation":"1346:20:63","nodeType":"FunctionDefinition","parameters":{"id":56875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56874,"mutability":"mutable","name":"manager","nameLocation":"1380:7:63","nodeType":"VariableDeclaration","scope":56889,"src":"1367:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":56873,"nodeType":"UserDefinedTypeName","pathNode":{"id":56872,"name":"IPoolManager","nameLocations":["1367:12:63"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1367:12:63"},"referencedDeclaration":1763,"src":"1367:12:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"1366:22:63"},"returnParameters":{"id":56878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56889,"src":"1412:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1412:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1411:9:63"},"scope":56938,"src":"1337:177:63","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56918,"nodeType":"Block","src":"1822:325:63","statements":[{"assignments":[56904],"declarations":[{"constant":false,"id":56904,"mutability":"mutable","name":"key","nameLocation":"1840:3:63","nodeType":"VariableDeclaration","scope":56918,"src":"1832:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1832:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":56905,"nodeType":"VariableDeclarationStatement","src":"1832:11:63"},{"AST":{"nativeSrc":"1878:208:63","nodeType":"YulBlock","src":"1878:208:63","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1899:1:63","nodeType":"YulLiteral","src":"1899:1:63","type":"","value":"0"},{"arguments":[{"name":"target","nativeSrc":"1906:6:63","nodeType":"YulIdentifier","src":"1906:6:63"},{"kind":"number","nativeSrc":"1914:42:63","nodeType":"YulLiteral","src":"1914:42:63","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1902:3:63","nodeType":"YulIdentifier","src":"1902:3:63"},"nativeSrc":"1902:55:63","nodeType":"YulFunctionCall","src":"1902:55:63"}],"functionName":{"name":"mstore","nativeSrc":"1892:6:63","nodeType":"YulIdentifier","src":"1892:6:63"},"nativeSrc":"1892:66:63","nodeType":"YulFunctionCall","src":"1892:66:63"},"nativeSrc":"1892:66:63","nodeType":"YulExpressionStatement","src":"1892:66:63"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1978:2:63","nodeType":"YulLiteral","src":"1978:2:63","type":"","value":"32"},{"arguments":[{"name":"currency","nativeSrc":"1986:8:63","nodeType":"YulIdentifier","src":"1986:8:63"},{"kind":"number","nativeSrc":"1996:42:63","nodeType":"YulLiteral","src":"1996:42:63","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"1982:3:63","nodeType":"YulIdentifier","src":"1982:3:63"},"nativeSrc":"1982:57:63","nodeType":"YulFunctionCall","src":"1982:57:63"}],"functionName":{"name":"mstore","nativeSrc":"1971:6:63","nodeType":"YulIdentifier","src":"1971:6:63"},"nativeSrc":"1971:69:63","nodeType":"YulFunctionCall","src":"1971:69:63"},"nativeSrc":"1971:69:63","nodeType":"YulExpressionStatement","src":"1971:69:63"},{"nativeSrc":"2053:23:63","nodeType":"YulAssignment","src":"2053:23:63","value":{"arguments":[{"kind":"number","nativeSrc":"2070:1:63","nodeType":"YulLiteral","src":"2070:1:63","type":"","value":"0"},{"kind":"number","nativeSrc":"2073:2:63","nodeType":"YulLiteral","src":"2073:2:63","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"2060:9:63","nodeType":"YulIdentifier","src":"2060:9:63"},"nativeSrc":"2060:16:63","nodeType":"YulFunctionCall","src":"2060:16:63"},"variableNames":[{"name":"key","nativeSrc":"2053:3:63","nodeType":"YulIdentifier","src":"2053:3:63"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56898,"isOffset":false,"isSlot":false,"src":"1986:8:63","valueSize":1},{"declaration":56904,"isOffset":false,"isSlot":false,"src":"2053:3:63","valueSize":1},{"declaration":56895,"isOffset":false,"isSlot":false,"src":"1906:6:63","valueSize":1}],"flags":["memory-safe"],"id":56906,"nodeType":"InlineAssembly","src":"1853:233:63"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":56913,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56904,"src":"2134:3:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56911,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56893,"src":"2117:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":56912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2125:8:63","memberName":"exttload","nodeType":"MemberAccess","referencedDeclaration":44906,"src":"2117:16:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":56914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:21:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2109:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56909,"name":"uint256","nodeType":"ElementaryTypeName","src":"2109:7:63","typeDescriptions":{}}},"id":56915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2109:30:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2102:6:63","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":56907,"name":"int256","nodeType":"ElementaryTypeName","src":"2102:6:63","typeDescriptions":{}}},"id":56916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2102:38:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":56902,"id":56917,"nodeType":"Return","src":"2095:45:63"}]},"documentation":{"id":56890,"nodeType":"StructuredDocumentation","src":"1520:186:63","text":"@notice Get the current delta for a caller in the given currency\n @param target The credited account address\n @param currency The currency for which to lookup the delta"},"id":56919,"implemented":true,"kind":"function","modifiers":[],"name":"currencyDelta","nameLocation":"1720:13:63","nodeType":"FunctionDefinition","parameters":{"id":56899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56893,"mutability":"mutable","name":"manager","nameLocation":"1747:7:63","nodeType":"VariableDeclaration","scope":56919,"src":"1734:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":56892,"nodeType":"UserDefinedTypeName","pathNode":{"id":56891,"name":"IPoolManager","nameLocations":["1734:12:63"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1734:12:63"},"referencedDeclaration":1763,"src":"1734:12:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":56895,"mutability":"mutable","name":"target","nameLocation":"1764:6:63","nodeType":"VariableDeclaration","scope":56919,"src":"1756:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56894,"name":"address","nodeType":"ElementaryTypeName","src":"1756:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56898,"mutability":"mutable","name":"currency","nameLocation":"1781:8:63","nodeType":"VariableDeclaration","scope":56919,"src":"1772:17:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":56897,"nodeType":"UserDefinedTypeName","pathNode":{"id":56896,"name":"Currency","nameLocations":["1772:8:63"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1772:8:63"},"referencedDeclaration":4399,"src":"1772:8:63","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"1733:57:63"},"returnParameters":{"id":56902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56919,"src":"1814:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":56900,"name":"int256","nodeType":"ElementaryTypeName","src":"1814:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1813:8:63"},"scope":56938,"src":"1711:436:63","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":56936,"nodeType":"Block","src":"2288:70:63","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":56934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":56930,"name":"Lock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"2322:4:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Lock_$57504_$","typeString":"type(library Lock)"}},"id":56931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2327:16:63","memberName":"IS_UNLOCKED_SLOT","nodeType":"MemberAccess","referencedDeclaration":57486,"src":"2322:21:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56928,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56923,"src":"2305:7:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":56929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2313:8:63","memberName":"exttload","nodeType":"MemberAccess","referencedDeclaration":44906,"src":"2305:16:63","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":56932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:39:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830","id":56933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2348:3:63","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x0"},"src":"2305:46:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":56927,"id":56935,"nodeType":"Return","src":"2298:53:63"}]},"documentation":{"id":56920,"nodeType":"StructuredDocumentation","src":"2153:59:63","text":"@notice Returns whether the contract is unlocked or not"},"id":56937,"implemented":true,"kind":"function","modifiers":[],"name":"isUnlocked","nameLocation":"2226:10:63","nodeType":"FunctionDefinition","parameters":{"id":56924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56923,"mutability":"mutable","name":"manager","nameLocation":"2250:7:63","nodeType":"VariableDeclaration","scope":56937,"src":"2237:20:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":56922,"nodeType":"UserDefinedTypeName","pathNode":{"id":56921,"name":"IPoolManager","nameLocations":["2237:12:63"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"2237:12:63"},"referencedDeclaration":1763,"src":"2237:12:63","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"2236:22:63"},"returnParameters":{"id":56927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56937,"src":"2282:4:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56925,"name":"bool","nodeType":"ElementaryTypeName","src":"2282:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2281:6:63"},"scope":56938,"src":"2217:141:63","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":56939,"src":"389:1971:63","usedErrors":[],"usedEvents":[]}],"src":"32:2329:63"},"id":63},"v4-core/src/libraries/UnsafeMath.sol":{"ast":{"absolutePath":"v4-core/src/libraries/UnsafeMath.sol","exportedSymbols":{"UnsafeMath":[56632]},"id":56633,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56604,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:64"},{"abstract":false,"baseContracts":[],"canonicalName":"UnsafeMath","contractDependencies":[],"contractKind":"library","documentation":{"id":56605,"nodeType":"StructuredDocumentation","src":"57:173:64","text":"@title Math functions that do not check inputs or outputs\n @notice Contains methods that perform common math functions but do not do any overflow or underflow checks"},"fullyImplemented":true,"id":56632,"linearizedBaseContracts":[56632],"name":"UnsafeMath","nameLocation":"238:10:64","nodeType":"ContractDefinition","nodes":[{"body":{"id":56616,"nodeType":"Block","src":"548:102:64","statements":[{"AST":{"nativeSrc":"583:61:64","nodeType":"YulBlock","src":"583:61:64","statements":[{"nativeSrc":"597:37:64","nodeType":"YulAssignment","src":"597:37:64","value":{"arguments":[{"arguments":[{"name":"x","nativeSrc":"610:1:64","nodeType":"YulIdentifier","src":"610:1:64"},{"name":"y","nativeSrc":"613:1:64","nodeType":"YulIdentifier","src":"613:1:64"}],"functionName":{"name":"div","nativeSrc":"606:3:64","nodeType":"YulIdentifier","src":"606:3:64"},"nativeSrc":"606:9:64","nodeType":"YulFunctionCall","src":"606:9:64"},{"arguments":[{"arguments":[{"name":"x","nativeSrc":"624:1:64","nodeType":"YulIdentifier","src":"624:1:64"},{"name":"y","nativeSrc":"627:1:64","nodeType":"YulIdentifier","src":"627:1:64"}],"functionName":{"name":"mod","nativeSrc":"620:3:64","nodeType":"YulIdentifier","src":"620:3:64"},"nativeSrc":"620:9:64","nodeType":"YulFunctionCall","src":"620:9:64"},{"kind":"number","nativeSrc":"631:1:64","nodeType":"YulLiteral","src":"631:1:64","type":"","value":"0"}],"functionName":{"name":"gt","nativeSrc":"617:2:64","nodeType":"YulIdentifier","src":"617:2:64"},"nativeSrc":"617:16:64","nodeType":"YulFunctionCall","src":"617:16:64"}],"functionName":{"name":"add","nativeSrc":"602:3:64","nodeType":"YulIdentifier","src":"602:3:64"},"nativeSrc":"602:32:64","nodeType":"YulFunctionCall","src":"602:32:64"},"variableNames":[{"name":"z","nativeSrc":"597:1:64","nodeType":"YulIdentifier","src":"597:1:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56608,"isOffset":false,"isSlot":false,"src":"610:1:64","valueSize":1},{"declaration":56608,"isOffset":false,"isSlot":false,"src":"624:1:64","valueSize":1},{"declaration":56610,"isOffset":false,"isSlot":false,"src":"613:1:64","valueSize":1},{"declaration":56610,"isOffset":false,"isSlot":false,"src":"627:1:64","valueSize":1},{"declaration":56613,"isOffset":false,"isSlot":false,"src":"597:1:64","valueSize":1}],"flags":["memory-safe"],"id":56615,"nodeType":"InlineAssembly","src":"558:86:64"}]},"documentation":{"id":56606,"nodeType":"StructuredDocumentation","src":"255:209:64","text":"@notice Returns ceil(x / y)\n @dev division by 0 will return 0, and should be checked externally\n @param x The dividend\n @param y The divisor\n @return z The quotient, ceil(x / y)"},"id":56617,"implemented":true,"kind":"function","modifiers":[],"name":"divRoundingUp","nameLocation":"478:13:64","nodeType":"FunctionDefinition","parameters":{"id":56611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56608,"mutability":"mutable","name":"x","nameLocation":"500:1:64","nodeType":"VariableDeclaration","scope":56617,"src":"492:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56607,"name":"uint256","nodeType":"ElementaryTypeName","src":"492:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56610,"mutability":"mutable","name":"y","nameLocation":"511:1:64","nodeType":"VariableDeclaration","scope":56617,"src":"503:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56609,"name":"uint256","nodeType":"ElementaryTypeName","src":"503:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"491:22:64"},"returnParameters":{"id":56614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56613,"mutability":"mutable","name":"z","nameLocation":"545:1:64","nodeType":"VariableDeclaration","scope":56617,"src":"537:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56612,"name":"uint256","nodeType":"ElementaryTypeName","src":"537:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"536:11:64"},"scope":56632,"src":"469:181:64","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56630,"nodeType":"Block","src":"1060:102:64","statements":[{"AST":{"nativeSrc":"1095:61:64","nodeType":"YulBlock","src":"1095:61:64","statements":[{"nativeSrc":"1109:37:64","nodeType":"YulAssignment","src":"1109:37:64","value":{"arguments":[{"arguments":[{"name":"a","nativeSrc":"1127:1:64","nodeType":"YulIdentifier","src":"1127:1:64"},{"name":"b","nativeSrc":"1130:1:64","nodeType":"YulIdentifier","src":"1130:1:64"}],"functionName":{"name":"mul","nativeSrc":"1123:3:64","nodeType":"YulIdentifier","src":"1123:3:64"},"nativeSrc":"1123:9:64","nodeType":"YulFunctionCall","src":"1123:9:64"},{"name":"denominator","nativeSrc":"1134:11:64","nodeType":"YulIdentifier","src":"1134:11:64"}],"functionName":{"name":"div","nativeSrc":"1119:3:64","nodeType":"YulIdentifier","src":"1119:3:64"},"nativeSrc":"1119:27:64","nodeType":"YulFunctionCall","src":"1119:27:64"},"variableNames":[{"name":"result","nativeSrc":"1109:6:64","nodeType":"YulIdentifier","src":"1109:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56620,"isOffset":false,"isSlot":false,"src":"1127:1:64","valueSize":1},{"declaration":56622,"isOffset":false,"isSlot":false,"src":"1130:1:64","valueSize":1},{"declaration":56624,"isOffset":false,"isSlot":false,"src":"1134:11:64","valueSize":1},{"declaration":56627,"isOffset":false,"isSlot":false,"src":"1109:6:64","valueSize":1}],"flags":["memory-safe"],"id":56629,"nodeType":"InlineAssembly","src":"1070:86:64"}]},"documentation":{"id":56618,"nodeType":"StructuredDocumentation","src":"656:295:64","text":"@notice Calculates floor(a\u00d7b\u00f7denominator)\n @dev division by 0 will return 0, and should be checked externally\n @param a The multiplicand\n @param b The multiplier\n @param denominator The divisor\n @return result The 256-bit result, floor(a\u00d7b\u00f7denominator)"},"id":56631,"implemented":true,"kind":"function","modifiers":[],"name":"simpleMulDiv","nameLocation":"965:12:64","nodeType":"FunctionDefinition","parameters":{"id":56625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56620,"mutability":"mutable","name":"a","nameLocation":"986:1:64","nodeType":"VariableDeclaration","scope":56631,"src":"978:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56619,"name":"uint256","nodeType":"ElementaryTypeName","src":"978:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56622,"mutability":"mutable","name":"b","nameLocation":"997:1:64","nodeType":"VariableDeclaration","scope":56631,"src":"989:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56621,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56624,"mutability":"mutable","name":"denominator","nameLocation":"1008:11:64","nodeType":"VariableDeclaration","scope":56631,"src":"1000:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56623,"name":"uint256","nodeType":"ElementaryTypeName","src":"1000:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"977:43:64"},"returnParameters":{"id":56628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56627,"mutability":"mutable","name":"result","nameLocation":"1052:6:64","nodeType":"VariableDeclaration","scope":56631,"src":"1044:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56626,"name":"uint256","nodeType":"ElementaryTypeName","src":"1044:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:16:64"},"scope":56632,"src":"956:206:64","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":56633,"src":"230:934:64","usedErrors":[],"usedEvents":[]}],"src":"32:1133:64"},"id":64},"v4-core/src/test/ActionsRouter.sol":{"ast":{"absolutePath":"v4-core/src/test/ActionsRouter.sol","exportedSymbols":{"Actions":[50494],"ActionsRouter":[51179],"Currency":[4399],"IPoolManager":[1763],"IUnlockCallback":[56802],"MockERC20":[1281],"StateLibrary":[2586],"StdAssertions":[8712],"StdChains":[9557],"StdCheats":[12410],"StdInvariant":[12770],"StdStorage":[13894],"StdStyle":[17062],"StdUtils":[18792],"Test":[1233],"TestBase":[6082],"TransientStateLibrary":[56938],"Vm":[23231],"console":[31347],"console2":[31347],"safeconsole":[44426],"stdError":[12476],"stdJson":[13714],"stdMath":[13856],"stdStorage":[15851],"stdToml":[18006]},"id":51180,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":50466,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:65"},{"absolutePath":"v4-core/lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","id":50467,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":1234,"src":"65:28:65","symbolAliases":[],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":50469,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":1764,"src":"94:60:65","symbolAliases":[{"foreign":{"id":50468,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"102:12:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/callback/IUnlockCallback.sol","file":"../interfaces/callback/IUnlockCallback.sol","id":50471,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":56803,"src":"155:75:65","symbolAliases":[{"foreign":{"id":50470,"name":"IUnlockCallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56802,"src":"163:15:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":50473,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":4694,"src":"231:47:65","symbolAliases":[{"foreign":{"id":50472,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"239:8:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol","file":"solmate/src/test/utils/mocks/MockERC20.sol","id":50475,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":1282,"src":"279:69:65","symbolAliases":[{"foreign":{"id":50474,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"287:9:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"../libraries/StateLibrary.sol","id":50477,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":2587,"src":"349:59:65","symbolAliases":[{"foreign":{"id":50476,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"357:12:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TransientStateLibrary.sol","file":"../libraries/TransientStateLibrary.sol","id":50479,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51180,"sourceUnit":56939,"src":"409:77:65","symbolAliases":[{"foreign":{"id":50478,"name":"TransientStateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56938,"src":"417:21:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"Actions","id":50494,"members":[{"id":50480,"name":"SETTLE","nameLocation":"529:6:65","nodeType":"EnumValue","src":"529:6:65"},{"id":50481,"name":"SETTLE_NATIVE","nameLocation":"541:13:65","nodeType":"EnumValue","src":"541:13:65"},{"id":50482,"name":"SETTLE_FOR","nameLocation":"560:10:65","nodeType":"EnumValue","src":"560:10:65"},{"id":50483,"name":"TAKE","nameLocation":"576:4:65","nodeType":"EnumValue","src":"576:4:65"},{"id":50484,"name":"PRANK_TAKE_FROM","nameLocation":"586:15:65","nodeType":"EnumValue","src":"586:15:65"},{"id":50485,"name":"SYNC","nameLocation":"607:4:65","nodeType":"EnumValue","src":"607:4:65"},{"id":50486,"name":"MINT","nameLocation":"617:4:65","nodeType":"EnumValue","src":"617:4:65"},{"id":50487,"name":"CLEAR","nameLocation":"627:5:65","nodeType":"EnumValue","src":"627:5:65"},{"id":50488,"name":"ASSERT_BALANCE_EQUALS","nameLocation":"638:21:65","nodeType":"EnumValue","src":"638:21:65"},{"id":50489,"name":"ASSERT_RESERVES_EQUALS","nameLocation":"665:22:65","nodeType":"EnumValue","src":"665:22:65"},{"id":50490,"name":"ASSERT_DELTA_EQUALS","nameLocation":"693:19:65","nodeType":"EnumValue","src":"693:19:65"},{"id":50491,"name":"ASSERT_NONZERO_DELTA_COUNT_EQUALS","nameLocation":"718:33:65","nodeType":"EnumValue","src":"718:33:65"},{"id":50492,"name":"TRANSFER_FROM","nameLocation":"757:13:65","nodeType":"EnumValue","src":"757:13:65"},{"id":50493,"name":"COLLECT_PROTOCOL_FEES","nameLocation":"776:21:65","nodeType":"EnumValue","src":"776:21:65"}],"name":"Actions","nameLocation":"515:7:65","nodeType":"EnumDefinition","src":"510:289:65"},{"abstract":false,"baseContracts":[{"baseName":{"id":50496,"name":"IUnlockCallback","nameLocations":["1036:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":56802,"src":"1036:15:65"},"id":50497,"nodeType":"InheritanceSpecifier","src":"1036:15:65"},{"baseName":{"id":50498,"name":"Test","nameLocations":["1053:4:65"],"nodeType":"IdentifierPath","referencedDeclaration":1233,"src":"1053:4:65"},"id":50499,"nodeType":"InheritanceSpecifier","src":"1053:4:65"}],"canonicalName":"ActionsRouter","contractDependencies":[],"contractKind":"contract","documentation":{"id":50495,"nodeType":"StructuredDocumentation","src":"893:117:65","text":"@notice A router that handles an arbitrary input of actions.\n TODO: Can continue to add functions per action."},"fullyImplemented":true,"id":51179,"linearizedBaseContracts":[51179,1233,18792,12770,12410,11617,9557,8712,6082,6079,56802],"name":"ActionsRouter","nameLocation":"1019:13:65","nodeType":"ContractDefinition","nodes":[{"global":false,"id":50503,"libraryName":{"id":50500,"name":"StateLibrary","nameLocations":["1070:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"1070:12:65"},"nodeType":"UsingForDirective","src":"1064:36:65","typeName":{"id":50502,"nodeType":"UserDefinedTypeName","pathNode":{"id":50501,"name":"IPoolManager","nameLocations":["1087:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1087:12:65"},"referencedDeclaration":1763,"src":"1087:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"global":false,"id":50507,"libraryName":{"id":50504,"name":"TransientStateLibrary","nameLocations":["1111:21:65"],"nodeType":"IdentifierPath","referencedDeclaration":56938,"src":"1111:21:65"},"nodeType":"UsingForDirective","src":"1105:45:65","typeName":{"id":50506,"nodeType":"UserDefinedTypeName","pathNode":{"id":50505,"name":"IPoolManager","nameLocations":["1137:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1137:12:65"},"referencedDeclaration":1763,"src":"1137:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"errorSelector":"d0df97cc","id":50509,"name":"ActionNotSupported","nameLocation":"1162:18:65","nodeType":"ErrorDefinition","parameters":{"id":50508,"nodeType":"ParameterList","parameters":[],"src":"1180:2:65"},"src":"1156:27:65"},{"errorSelector":"ac8429db","id":50511,"name":"CheckParameters","nameLocation":"1271:15:65","nodeType":"ErrorDefinition","parameters":{"id":50510,"nodeType":"ParameterList","parameters":[],"src":"1286:2:65"},"src":"1265:24:65"},{"constant":false,"id":50514,"mutability":"mutable","name":"manager","nameLocation":"1308:7:65","nodeType":"VariableDeclaration","scope":51179,"src":"1295:20:65","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":50513,"nodeType":"UserDefinedTypeName","pathNode":{"id":50512,"name":"IPoolManager","nameLocations":["1295:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1295:12:65"},"referencedDeclaration":1763,"src":"1295:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"body":{"id":50524,"nodeType":"Block","src":"1357:35:65","statements":[{"expression":{"id":50522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50520,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"1367:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50521,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50517,"src":"1377:8:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"src":"1367:18:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50523,"nodeType":"ExpressionStatement","src":"1367:18:65"}]},"id":50525,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":50518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50517,"mutability":"mutable","name":"_manager","nameLocation":"1347:8:65","nodeType":"VariableDeclaration","scope":50525,"src":"1334:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":50516,"nodeType":"UserDefinedTypeName","pathNode":{"id":50515,"name":"IPoolManager","nameLocations":["1334:12:65"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1334:12:65"},"referencedDeclaration":1763,"src":"1334:12:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"1333:23:65"},"returnParameters":{"id":50519,"nodeType":"ParameterList","parameters":[],"src":"1357:0:65"},"scope":51179,"src":"1322:70:65","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[56801],"body":{"id":50732,"nodeType":"Block","src":"1475:1729:65","statements":[{"assignments":[50536,50539],"declarations":[{"constant":false,"id":50536,"mutability":"mutable","name":"actions","nameLocation":"1503:7:65","nodeType":"VariableDeclaration","scope":50732,"src":"1486:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[]"},"typeName":{"baseType":{"id":50534,"nodeType":"UserDefinedTypeName","pathNode":{"id":50533,"name":"Actions","nameLocations":["1486:7:65"],"nodeType":"IdentifierPath","referencedDeclaration":50494,"src":"1486:7:65"},"referencedDeclaration":50494,"src":"1486:7:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"id":50535,"nodeType":"ArrayTypeName","src":"1486:9:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_storage_ptr","typeString":"enum Actions[]"}},"visibility":"internal"},{"constant":false,"id":50539,"mutability":"mutable","name":"params","nameLocation":"1527:6:65","nodeType":"VariableDeclaration","scope":50732,"src":"1512:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":50537,"name":"bytes","nodeType":"ElementaryTypeName","src":"1512:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":50538,"nodeType":"ArrayTypeName","src":"1512:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":50550,"initialValue":{"arguments":[{"id":50542,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50527,"src":"1548:4:65","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"baseExpression":{"id":50543,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"1555:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"1555:9:65","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr_$","typeString":"type(enum Actions[] memory)"}},{"baseExpression":{"id":50546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1566:5:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":50545,"name":"bytes","nodeType":"ElementaryTypeName","src":"1566:5:65","typeDescriptions":{}}},"id":50547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"1566:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"type(bytes memory[] memory)"}}],"id":50548,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1554:20:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(enum Actions[] memory),type(bytes memory[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(enum Actions[] memory),type(bytes memory[] memory))"}],"expression":{"id":50540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1537:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1541:6:65","memberName":"decode","nodeType":"MemberAccess","src":"1537:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1537:38:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(enum Actions[] memory,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1485:90:65"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":50560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50551,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50536,"src":"1589:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"}},"id":50552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:6:65","memberName":"length","nodeType":"MemberAccess","src":"1589:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":50553,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50539,"src":"1607:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":50554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1614:6:65","memberName":"length","nodeType":"MemberAccess","src":"1607:13:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1589:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50556,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50536,"src":"1624:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"}},"id":50557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1632:6:65","memberName":"length","nodeType":"MemberAccess","src":"1624:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1642:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1624:19:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1589:54:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50564,"nodeType":"IfStatement","src":"1585:84:65","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":50561,"name":"CheckParameters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50511,"src":"1652:15:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":50562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1652:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50563,"nodeType":"RevertStatement","src":"1645:24:65"}},{"body":{"id":50728,"nodeType":"Block","src":"1724:1455:65","statements":[{"assignments":[50578],"declarations":[{"constant":false,"id":50578,"mutability":"mutable","name":"action","nameLocation":"1746:6:65","nodeType":"VariableDeclaration","scope":50728,"src":"1738:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"typeName":{"id":50577,"nodeType":"UserDefinedTypeName","pathNode":{"id":50576,"name":"Actions","nameLocations":["1738:7:65"],"nodeType":"IdentifierPath","referencedDeclaration":50494,"src":"1738:7:65"},"referencedDeclaration":50494,"src":"1738:7:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"visibility":"internal"}],"id":50582,"initialValue":{"baseExpression":{"id":50579,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50536,"src":"1755:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"}},"id":50581,"indexExpression":{"id":50580,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"1763:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1755:10:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"VariableDeclarationStatement","src":"1738:27:65"},{"assignments":[50584],"declarations":[{"constant":false,"id":50584,"mutability":"mutable","name":"param","nameLocation":"1792:5:65","nodeType":"VariableDeclaration","scope":50728,"src":"1779:18:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50583,"name":"bytes","nodeType":"ElementaryTypeName","src":"1779:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":50588,"initialValue":{"baseExpression":{"id":50585,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50539,"src":"1800:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":50587,"indexExpression":{"id":50586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"1807:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1800:9:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1779:30:65"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50589,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"1827:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50590,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"1837:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1845:6:65","memberName":"SETTLE","nodeType":"MemberAccess","referencedDeclaration":50480,"src":"1837:14:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"1827:24:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50597,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"1905:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50598,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"1915:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1923:13:65","memberName":"SETTLE_NATIVE","nodeType":"MemberAccess","referencedDeclaration":50481,"src":"1915:21:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"1905:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50606,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2001:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50607,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2011:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2019:10:65","memberName":"SETTLE_FOR","nodeType":"MemberAccess","referencedDeclaration":50482,"src":"2011:18:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2001:28:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50615,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2091:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50616,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2101:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2109:4:65","memberName":"TAKE","nodeType":"MemberAccess","referencedDeclaration":50483,"src":"2101:12:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2091:22:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50624,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2170:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50625,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2180:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2188:15:65","memberName":"PRANK_TAKE_FROM","nodeType":"MemberAccess","referencedDeclaration":50484,"src":"2180:23:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2170:33:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50633,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2269:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50634,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2279:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2287:4:65","memberName":"SYNC","nodeType":"MemberAccess","referencedDeclaration":50485,"src":"2279:12:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2269:22:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50642,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2348:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50643,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2358:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2366:4:65","memberName":"MINT","nodeType":"MemberAccess","referencedDeclaration":50486,"src":"2358:12:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2348:22:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50651,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2427:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50652,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2437:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2445:5:65","memberName":"CLEAR","nodeType":"MemberAccess","referencedDeclaration":50487,"src":"2437:13:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2427:23:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50660,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2508:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50661,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2518:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2526:21:65","memberName":"ASSERT_BALANCE_EQUALS","nodeType":"MemberAccess","referencedDeclaration":50488,"src":"2518:29:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2508:39:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50669,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2619:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50670,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2629:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2637:22:65","memberName":"ASSERT_RESERVES_EQUALS","nodeType":"MemberAccess","referencedDeclaration":50489,"src":"2629:30:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2619:40:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50678,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2732:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50679,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2742:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2750:19:65","memberName":"ASSERT_DELTA_EQUALS","nodeType":"MemberAccess","referencedDeclaration":50490,"src":"2742:27:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2732:37:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50687,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2839:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50688,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2849:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2857:33:65","memberName":"ASSERT_NONZERO_DELTA_COUNT_EQUALS","nodeType":"MemberAccess","referencedDeclaration":50491,"src":"2849:41:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2839:51:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50696,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"2972:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50697,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"2982:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2990:13:65","memberName":"TRANSFER_FROM","nodeType":"MemberAccess","referencedDeclaration":50492,"src":"2982:21:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"2972:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"},"id":50708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50705,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50578,"src":"3068:6:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":50706,"name":"Actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50494,"src":"3078:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Actions_$50494_$","typeString":"type(enum Actions)"}},"id":50707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3086:21:65","memberName":"COLLECT_PROTOCOL_FEES","nodeType":"MemberAccess","referencedDeclaration":50493,"src":"3078:29:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"src":"3068:39:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50714,"nodeType":"IfStatement","src":"3064:105:65","trueBody":{"id":50713,"nodeType":"Block","src":"3109:60:65","statements":[{"expression":{"arguments":[{"id":50710,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"3148:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50709,"name":"_collectProtocolFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51178,"src":"3127:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3127:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50712,"nodeType":"ExpressionStatement","src":"3127:27:65"}]}},"id":50715,"nodeType":"IfStatement","src":"2968:201:65","trueBody":{"id":50704,"nodeType":"Block","src":"3005:53:65","statements":[{"expression":{"arguments":[{"id":50701,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"3037:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50700,"name":"_transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51146,"src":"3023:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3023:20:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50703,"nodeType":"ExpressionStatement","src":"3023:20:65"}]}},"id":50716,"nodeType":"IfStatement","src":"2835:334:65","trueBody":{"id":50695,"nodeType":"Block","src":"2892:70:65","statements":[{"expression":{"arguments":[{"id":50692,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2941:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50691,"name":"_assertNonzeroDeltaCountEquals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51103,"src":"2910:30:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:37:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50694,"nodeType":"ExpressionStatement","src":"2910:37:65"}]}},"id":50717,"nodeType":"IfStatement","src":"2728:441:65","trueBody":{"id":50686,"nodeType":"Block","src":"2771:58:65","statements":[{"expression":{"arguments":[{"id":50683,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2808:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50682,"name":"_assertDeltaEquals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51079,"src":"2789:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2789:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50685,"nodeType":"ExpressionStatement","src":"2789:25:65"}]}},"id":50718,"nodeType":"IfStatement","src":"2615:554:65","trueBody":{"id":50677,"nodeType":"Block","src":"2661:61:65","statements":[{"expression":{"arguments":[{"id":50674,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2701:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50673,"name":"_assertReservesEquals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51045,"src":"2679:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2679:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50676,"nodeType":"ExpressionStatement","src":"2679:28:65"}]}},"id":50719,"nodeType":"IfStatement","src":"2504:665:65","trueBody":{"id":50668,"nodeType":"Block","src":"2549:60:65","statements":[{"expression":{"arguments":[{"id":50665,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2588:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50664,"name":"_assertBalanceEquals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51021,"src":"2567:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2567:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50667,"nodeType":"ExpressionStatement","src":"2567:27:65"}]}},"id":50720,"nodeType":"IfStatement","src":"2423:746:65","trueBody":{"id":50659,"nodeType":"Block","src":"2452:46:65","statements":[{"expression":{"arguments":[{"id":50656,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2477:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50655,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50988,"src":"2470:6:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2470:13:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50658,"nodeType":"ExpressionStatement","src":"2470:13:65"}]}},"id":50721,"nodeType":"IfStatement","src":"2344:825:65","trueBody":{"id":50650,"nodeType":"Block","src":"2372:45:65","statements":[{"expression":{"arguments":[{"id":50647,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2396:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50646,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50945,"src":"2390:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2390:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50649,"nodeType":"ExpressionStatement","src":"2390:12:65"}]}},"id":50722,"nodeType":"IfStatement","src":"2265:904:65","trueBody":{"id":50641,"nodeType":"Block","src":"2293:45:65","statements":[{"expression":{"arguments":[{"id":50638,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2317:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50637,"name":"_sync","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50911,"src":"2311:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2311:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50640,"nodeType":"ExpressionStatement","src":"2311:12:65"}]}},"id":50723,"nodeType":"IfStatement","src":"2166:1003:65","trueBody":{"id":50632,"nodeType":"Block","src":"2205:54:65","statements":[{"expression":{"arguments":[{"id":50629,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2238:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50628,"name":"_prankTakeFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50885,"src":"2223:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2223:21:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50631,"nodeType":"ExpressionStatement","src":"2223:21:65"}]}},"id":50724,"nodeType":"IfStatement","src":"2087:1082:65","trueBody":{"id":50623,"nodeType":"Block","src":"2115:45:65","statements":[{"expression":{"arguments":[{"id":50620,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2139:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50619,"name":"_take","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50843,"src":"2133:5:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2133:12:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50622,"nodeType":"ExpressionStatement","src":"2133:12:65"}]}},"id":50725,"nodeType":"IfStatement","src":"1997:1172:65","trueBody":{"id":50614,"nodeType":"Block","src":"2031:50:65","statements":[{"expression":{"arguments":[{"id":50611,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"2060:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50610,"name":"_settleFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50808,"src":"2049:10:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2049:17:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50613,"nodeType":"ExpressionStatement","src":"2049:17:65"}]}},"id":50726,"nodeType":"IfStatement","src":"1901:1268:65","trueBody":{"id":50605,"nodeType":"Block","src":"1938:53:65","statements":[{"expression":{"arguments":[{"id":50602,"name":"param","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50584,"src":"1970:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50601,"name":"_settleNative","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50786,"src":"1956:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":50603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1956:20:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50604,"nodeType":"ExpressionStatement","src":"1956:20:65"}]}},"id":50727,"nodeType":"IfStatement","src":"1823:1346:65","trueBody":{"id":50596,"nodeType":"Block","src":"1853:42:65","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":50593,"name":"_settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50763,"src":"1871:7:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":50594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1871:9:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50595,"nodeType":"ExpressionStatement","src":"1871:9:65"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50569,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"1699:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":50570,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50536,"src":"1703:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"}},"id":50571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1711:6:65","memberName":"length","nodeType":"MemberAccess","src":"1703:14:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1699:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50729,"initializationExpression":{"assignments":[50566],"declarations":[{"constant":false,"id":50566,"mutability":"mutable","name":"i","nameLocation":"1692:1:65","nodeType":"VariableDeclaration","scope":50729,"src":"1684:9:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50565,"name":"uint256","nodeType":"ElementaryTypeName","src":"1684:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50568,"initialValue":{"hexValue":"30","id":50567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1696:1:65","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1684:13:65"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1719:3:65","subExpression":{"id":50573,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50566,"src":"1719:1:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50575,"nodeType":"ExpressionStatement","src":"1719:3:65"},"nodeType":"ForStatement","src":"1679:1500:65"},{"expression":{"hexValue":"","id":50730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3195:2:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":50531,"id":50731,"nodeType":"Return","src":"3188:9:65"}]},"functionSelector":"91dd7346","id":50733,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1407:14:65","nodeType":"FunctionDefinition","parameters":{"id":50528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50527,"mutability":"mutable","name":"data","nameLocation":"1437:4:65","nodeType":"VariableDeclaration","scope":50733,"src":"1422:19:65","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":50526,"name":"bytes","nodeType":"ElementaryTypeName","src":"1422:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1421:21:65"},"returnParameters":{"id":50531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50733,"src":"1461:12:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50529,"name":"bytes","nodeType":"ElementaryTypeName","src":"1461:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1460:14:65"},"scope":51179,"src":"1398:1806:65","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":50753,"nodeType":"Block","src":"3300:60:65","statements":[{"expression":{"arguments":[{"arguments":[{"id":50748,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50737,"src":"3336:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"}},{"id":50749,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50740,"src":"3345:6:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":50746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3325:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3329:6:65","memberName":"encode","nodeType":"MemberAccess","src":"3325:10:65","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":50750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3325:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":50743,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"3310:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3318:6:65","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"3310:14:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":50751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3310:43:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":50752,"nodeType":"ExpressionStatement","src":"3310:43:65"}]},"functionSelector":"5ef24314","id":50754,"implemented":true,"kind":"function","modifiers":[],"name":"executeActions","nameLocation":"3219:14:65","nodeType":"FunctionDefinition","parameters":{"id":50741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50737,"mutability":"mutable","name":"actions","nameLocation":"3251:7:65","nodeType":"VariableDeclaration","scope":50754,"src":"3234:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_memory_ptr","typeString":"enum Actions[]"},"typeName":{"baseType":{"id":50735,"nodeType":"UserDefinedTypeName","pathNode":{"id":50734,"name":"Actions","nameLocations":["3234:7:65"],"nodeType":"IdentifierPath","referencedDeclaration":50494,"src":"3234:7:65"},"referencedDeclaration":50494,"src":"3234:7:65","typeDescriptions":{"typeIdentifier":"t_enum$_Actions_$50494","typeString":"enum Actions"}},"id":50736,"nodeType":"ArrayTypeName","src":"3234:9:65","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Actions_$50494_$dyn_storage_ptr","typeString":"enum Actions[]"}},"visibility":"internal"},{"constant":false,"id":50740,"mutability":"mutable","name":"params","nameLocation":"3275:6:65","nodeType":"VariableDeclaration","scope":50754,"src":"3260:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":50738,"name":"bytes","nodeType":"ElementaryTypeName","src":"3260:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":50739,"nodeType":"ArrayTypeName","src":"3260:7:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3233:49:65"},"returnParameters":{"id":50742,"nodeType":"ParameterList","parameters":[],"src":"3300:0:65"},"scope":51179,"src":"3210:150:65","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":50762,"nodeType":"Block","src":"3394:33:65","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50757,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"3404:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3412:6:65","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":1716,"src":"3404:14:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$","typeString":"function () payable external returns (uint256)"}},"id":50760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:16:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50761,"nodeType":"ExpressionStatement","src":"3404:16:65"}]},"id":50763,"implemented":true,"kind":"function","modifiers":[],"name":"_settle","nameLocation":"3375:7:65","nodeType":"FunctionDefinition","parameters":{"id":50755,"nodeType":"ParameterList","parameters":[],"src":"3382:2:65"},"returnParameters":{"id":50756,"nodeType":"ParameterList","parameters":[],"src":"3394:0:65"},"scope":51179,"src":"3366:61:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50785,"nodeType":"Block","src":"3486:104:65","statements":[{"assignments":[50769],"declarations":[{"constant":false,"id":50769,"mutability":"mutable","name":"amount","nameLocation":"3504:6:65","nodeType":"VariableDeclaration","scope":50785,"src":"3496:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50768,"name":"uint256","nodeType":"ElementaryTypeName","src":"3496:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50777,"initialValue":{"arguments":[{"id":50772,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50765,"src":"3524:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3533:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50773,"name":"uint256","nodeType":"ElementaryTypeName","src":"3533:7:65","typeDescriptions":{}}}],"id":50775,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3532:9:65","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":50770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3513:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3517:6:65","memberName":"decode","nodeType":"MemberAccess","src":"3513:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3513:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3496:46:65"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":50778,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"3552:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3560:6:65","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":1716,"src":"3552:14:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$","typeString":"function () payable external returns (uint256)"}},"id":50782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":50781,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50769,"src":"3574:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3552:29:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$value","typeString":"function () payable external returns (uint256)"}},"id":50783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3552:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50784,"nodeType":"ExpressionStatement","src":"3552:31:65"}]},"id":50786,"implemented":true,"kind":"function","modifiers":[],"name":"_settleNative","nameLocation":"3442:13:65","nodeType":"FunctionDefinition","parameters":{"id":50766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50765,"mutability":"mutable","name":"params","nameLocation":"3469:6:65","nodeType":"VariableDeclaration","scope":50786,"src":"3456:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50764,"name":"bytes","nodeType":"ElementaryTypeName","src":"3456:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3455:21:65"},"returnParameters":{"id":50767,"nodeType":"ParameterList","parameters":[],"src":"3486:0:65"},"scope":51179,"src":"3433:157:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50807,"nodeType":"Block","src":"3646:104:65","statements":[{"assignments":[50792],"declarations":[{"constant":false,"id":50792,"mutability":"mutable","name":"recipient","nameLocation":"3664:9:65","nodeType":"VariableDeclaration","scope":50807,"src":"3656:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50791,"name":"address","nodeType":"ElementaryTypeName","src":"3656:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50800,"initialValue":{"arguments":[{"id":50795,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50788,"src":"3687:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3696:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50796,"name":"address","nodeType":"ElementaryTypeName","src":"3696:7:65","typeDescriptions":{}}}],"id":50798,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3695:9:65","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":50793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3676:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3680:6:65","memberName":"decode","nodeType":"MemberAccess","src":"3676:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3656:49:65"},{"expression":{"arguments":[{"id":50804,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50792,"src":"3733:9:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50801,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"3715:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3723:9:65","memberName":"settleFor","nodeType":"MemberAccess","referencedDeclaration":1724,"src":"3715:17:65","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$_t_uint256_$","typeString":"function (address) payable external returns (uint256)"}},"id":50805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:28:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50806,"nodeType":"ExpressionStatement","src":"3715:28:65"}]},"id":50808,"implemented":true,"kind":"function","modifiers":[],"name":"_settleFor","nameLocation":"3605:10:65","nodeType":"FunctionDefinition","parameters":{"id":50789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50788,"mutability":"mutable","name":"params","nameLocation":"3629:6:65","nodeType":"VariableDeclaration","scope":50808,"src":"3616:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50787,"name":"bytes","nodeType":"ElementaryTypeName","src":"3616:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3615:21:65"},"returnParameters":{"id":50790,"nodeType":"ParameterList","parameters":[],"src":"3646:0:65"},"scope":51179,"src":"3596:154:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50842,"nodeType":"Block","src":"3801:180:65","statements":[{"assignments":[50815,50817,50819],"declarations":[{"constant":false,"id":50815,"mutability":"mutable","name":"currency","nameLocation":"3821:8:65","nodeType":"VariableDeclaration","scope":50842,"src":"3812:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50814,"nodeType":"UserDefinedTypeName","pathNode":{"id":50813,"name":"Currency","nameLocations":["3812:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"3812:8:65"},"referencedDeclaration":4399,"src":"3812:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50817,"mutability":"mutable","name":"recipient","nameLocation":"3839:9:65","nodeType":"VariableDeclaration","scope":50842,"src":"3831:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50816,"name":"address","nodeType":"ElementaryTypeName","src":"3831:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50819,"mutability":"mutable","name":"amount","nameLocation":"3857:6:65","nodeType":"VariableDeclaration","scope":50842,"src":"3850:13:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":50818,"name":"int128","nodeType":"ElementaryTypeName","src":"3850:6:65","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":50830,"initialValue":{"arguments":[{"id":50822,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50810,"src":"3878:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50823,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"3887:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":50825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3897:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50824,"name":"address","nodeType":"ElementaryTypeName","src":"3897:7:65","typeDescriptions":{}}},{"id":50827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3906:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":50826,"name":"int128","nodeType":"ElementaryTypeName","src":"3906:6:65","typeDescriptions":{}}}],"id":50828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3886:27:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_int128_$_$","typeString":"tuple(type(Currency),type(address),type(int128))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_int128_$_$","typeString":"tuple(type(Currency),type(address),type(int128))"}],"expression":{"id":50820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3867:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3871:6:65","memberName":"decode","nodeType":"MemberAccess","src":"3867:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3867:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_address_payable_$_t_int128_$","typeString":"tuple(Currency,address payable,int128)"}},"nodeType":"VariableDeclarationStatement","src":"3811:103:65"},{"expression":{"arguments":[{"id":50834,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50815,"src":"3937:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50835,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50817,"src":"3947:9:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":50838,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50819,"src":"3966:6:65","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":50837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3958:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":50836,"name":"uint128","nodeType":"ElementaryTypeName","src":"3958:7:65","typeDescriptions":{}}},"id":50839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3958:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":50831,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"3924:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3932:4:65","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":1710,"src":"3924:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$","typeString":"function (Currency,address,uint256) external"}},"id":50840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3924:50:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50841,"nodeType":"ExpressionStatement","src":"3924:50:65"}]},"id":50843,"implemented":true,"kind":"function","modifiers":[],"name":"_take","nameLocation":"3765:5:65","nodeType":"FunctionDefinition","parameters":{"id":50811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50810,"mutability":"mutable","name":"params","nameLocation":"3784:6:65","nodeType":"VariableDeclaration","scope":50843,"src":"3771:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50809,"name":"bytes","nodeType":"ElementaryTypeName","src":"3771:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3770:21:65"},"returnParameters":{"id":50812,"nodeType":"ParameterList","parameters":[],"src":"3801:0:65"},"scope":51179,"src":"3756:225:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50884,"nodeType":"Block","src":"4041:232:65","statements":[{"assignments":[50850,50852,50854,50856],"declarations":[{"constant":false,"id":50850,"mutability":"mutable","name":"currency","nameLocation":"4061:8:65","nodeType":"VariableDeclaration","scope":50884,"src":"4052:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50849,"nodeType":"UserDefinedTypeName","pathNode":{"id":50848,"name":"Currency","nameLocations":["4052:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4052:8:65"},"referencedDeclaration":4399,"src":"4052:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50852,"mutability":"mutable","name":"from","nameLocation":"4079:4:65","nodeType":"VariableDeclaration","scope":50884,"src":"4071:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50851,"name":"address","nodeType":"ElementaryTypeName","src":"4071:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50854,"mutability":"mutable","name":"recipient","nameLocation":"4093:9:65","nodeType":"VariableDeclaration","scope":50884,"src":"4085:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50853,"name":"address","nodeType":"ElementaryTypeName","src":"4085:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50856,"mutability":"mutable","name":"amount","nameLocation":"4112:6:65","nodeType":"VariableDeclaration","scope":50884,"src":"4104:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50855,"name":"uint256","nodeType":"ElementaryTypeName","src":"4104:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50869,"initialValue":{"arguments":[{"id":50859,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50845,"src":"4145:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50860,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4154:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":50862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4164:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50861,"name":"address","nodeType":"ElementaryTypeName","src":"4164:7:65","typeDescriptions":{}}},{"id":50864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4173:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50863,"name":"address","nodeType":"ElementaryTypeName","src":"4173:7:65","typeDescriptions":{}}},{"id":50866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4182:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50865,"name":"uint256","nodeType":"ElementaryTypeName","src":"4182:7:65","typeDescriptions":{}}}],"id":50867,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4153:37:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(address),type(uint256))"}],"expression":{"id":50857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4134:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4138:6:65","memberName":"decode","nodeType":"MemberAccess","src":"4134:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4134:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_address_payable_$_t_address_payable_$_t_uint256_$","typeString":"tuple(Currency,address payable,address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4051:140:65"},{"expression":{"arguments":[{"id":50873,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50852,"src":"4210:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50870,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"4201:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":50872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4204:5:65","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":22678,"src":"4201:8:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":50874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4201:14:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50875,"nodeType":"ExpressionStatement","src":"4201:14:65"},{"expression":{"arguments":[{"id":50879,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50850,"src":"4238:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50880,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50854,"src":"4248:9:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50881,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50856,"src":"4259:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50876,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"4225:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4233:4:65","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":1710,"src":"4225:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$","typeString":"function (Currency,address,uint256) external"}},"id":50882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4225:41:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50883,"nodeType":"ExpressionStatement","src":"4225:41:65"}]},"id":50885,"implemented":true,"kind":"function","modifiers":[],"name":"_prankTakeFrom","nameLocation":"3996:14:65","nodeType":"FunctionDefinition","parameters":{"id":50846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50845,"mutability":"mutable","name":"params","nameLocation":"4024:6:65","nodeType":"VariableDeclaration","scope":50885,"src":"4011:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50844,"name":"bytes","nodeType":"ElementaryTypeName","src":"4011:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4010:21:65"},"returnParameters":{"id":50847,"nodeType":"ParameterList","parameters":[],"src":"4041:0:65"},"scope":51179,"src":"3987:286:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50910,"nodeType":"Block","src":"4324:113:65","statements":[{"assignments":[50892],"declarations":[{"constant":false,"id":50892,"mutability":"mutable","name":"currency","nameLocation":"4343:8:65","nodeType":"VariableDeclaration","scope":50910,"src":"4334:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50891,"nodeType":"UserDefinedTypeName","pathNode":{"id":50890,"name":"Currency","nameLocations":["4334:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4334:8:65"},"referencedDeclaration":4399,"src":"4334:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":50903,"initialValue":{"arguments":[{"arguments":[{"id":50897,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50887,"src":"4379:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4388:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50898,"name":"address","nodeType":"ElementaryTypeName","src":"4388:7:65","typeDescriptions":{}}}],"id":50900,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4387:9:65","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":50895,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4368:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4372:6:65","memberName":"decode","nodeType":"MemberAccess","src":"4368:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4368:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":50893,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4354:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":50894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4363:4:65","memberName":"wrap","nodeType":"MemberAccess","src":"4354:13:65","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":50902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:44:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"4334:64:65"},{"expression":{"arguments":[{"id":50907,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50892,"src":"4421:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":50904,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"4408:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4416:4:65","memberName":"sync","nodeType":"MemberAccess","referencedDeclaration":1699,"src":"4408:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$returns$__$","typeString":"function (Currency) external"}},"id":50908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4408:22:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50909,"nodeType":"ExpressionStatement","src":"4408:22:65"}]},"id":50911,"implemented":true,"kind":"function","modifiers":[],"name":"_sync","nameLocation":"4288:5:65","nodeType":"FunctionDefinition","parameters":{"id":50888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50887,"mutability":"mutable","name":"params","nameLocation":"4307:6:65","nodeType":"VariableDeclaration","scope":50911,"src":"4294:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50886,"name":"bytes","nodeType":"ElementaryTypeName","src":"4294:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4293:21:65"},"returnParameters":{"id":50889,"nodeType":"ParameterList","parameters":[],"src":"4324:0:65"},"scope":51179,"src":"4279:158:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50944,"nodeType":"Block","src":"4488:180:65","statements":[{"assignments":[50917,50920,50922],"declarations":[{"constant":false,"id":50917,"mutability":"mutable","name":"recipient","nameLocation":"4507:9:65","nodeType":"VariableDeclaration","scope":50944,"src":"4499:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50916,"name":"address","nodeType":"ElementaryTypeName","src":"4499:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50920,"mutability":"mutable","name":"currency","nameLocation":"4527:8:65","nodeType":"VariableDeclaration","scope":50944,"src":"4518:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50919,"nodeType":"UserDefinedTypeName","pathNode":{"id":50918,"name":"Currency","nameLocations":["4518:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4518:8:65"},"referencedDeclaration":4399,"src":"4518:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50922,"mutability":"mutable","name":"amount","nameLocation":"4545:6:65","nodeType":"VariableDeclaration","scope":50944,"src":"4537:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50921,"name":"uint256","nodeType":"ElementaryTypeName","src":"4537:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50933,"initialValue":{"arguments":[{"id":50925,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50913,"src":"4566:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4575:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50926,"name":"address","nodeType":"ElementaryTypeName","src":"4575:7:65","typeDescriptions":{}}},{"id":50928,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4584:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":50930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4594:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50929,"name":"uint256","nodeType":"ElementaryTypeName","src":"4594:7:65","typeDescriptions":{}}}],"id":50931,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4574:28:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(Currency),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(Currency),type(uint256))"}],"expression":{"id":50923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4555:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4559:6:65","memberName":"decode","nodeType":"MemberAccess","src":"4555:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4555:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"tuple(address payable,Currency,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4498:105:65"},{"expression":{"arguments":[{"id":50937,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50917,"src":"4626:9:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":50938,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50920,"src":"4637:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":50939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4646:4:65","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4672,"src":"4637:13:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (uint256)"}},"id":50940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4637:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50941,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50922,"src":"4654:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50934,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"4613:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4621:4:65","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":1743,"src":"4613:12:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) external"}},"id":50942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4613:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50943,"nodeType":"ExpressionStatement","src":"4613:48:65"}]},"id":50945,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"4452:5:65","nodeType":"FunctionDefinition","parameters":{"id":50914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50913,"mutability":"mutable","name":"params","nameLocation":"4471:6:65","nodeType":"VariableDeclaration","scope":50945,"src":"4458:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50912,"name":"bytes","nodeType":"ElementaryTypeName","src":"4458:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4457:21:65"},"returnParameters":{"id":50915,"nodeType":"ParameterList","parameters":[],"src":"4488:0:65"},"scope":51179,"src":"4443:225:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":50987,"nodeType":"Block","src":"4720:267:65","statements":[{"assignments":[50952,50954,50956,50958],"declarations":[{"constant":false,"id":50952,"mutability":"mutable","name":"currency","nameLocation":"4740:8:65","nodeType":"VariableDeclaration","scope":50987,"src":"4731:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50951,"nodeType":"UserDefinedTypeName","pathNode":{"id":50950,"name":"Currency","nameLocations":["4731:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4731:8:65"},"referencedDeclaration":4399,"src":"4731:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50954,"mutability":"mutable","name":"amount","nameLocation":"4758:6:65","nodeType":"VariableDeclaration","scope":50987,"src":"4750:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50953,"name":"uint256","nodeType":"ElementaryTypeName","src":"4750:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50956,"mutability":"mutable","name":"measureGas","nameLocation":"4771:10:65","nodeType":"VariableDeclaration","scope":50987,"src":"4766:15:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50955,"name":"bool","nodeType":"ElementaryTypeName","src":"4766:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50958,"mutability":"mutable","name":"gasSnapName","nameLocation":"4797:11:65","nodeType":"VariableDeclaration","scope":50987,"src":"4783:25:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50957,"name":"string","nodeType":"ElementaryTypeName","src":"4783:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":50971,"initialValue":{"arguments":[{"id":50961,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50947,"src":"4835:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":50962,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4844:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":50964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4854:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50963,"name":"uint256","nodeType":"ElementaryTypeName","src":"4854:7:65","typeDescriptions":{}}},{"id":50966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4863:4:65","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":50965,"name":"bool","nodeType":"ElementaryTypeName","src":"4863:4:65","typeDescriptions":{}}},{"id":50968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4869:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":50967,"name":"string","nodeType":"ElementaryTypeName","src":"4869:6:65","typeDescriptions":{}}}],"id":50969,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4843:33:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$_t_type$_t_bool_$_$_t_type$_t_string_storage_ptr_$_$","typeString":"tuple(type(Currency),type(uint256),type(bool),type(string storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$_t_type$_t_bool_$_$_t_type$_t_string_storage_ptr_$_$","typeString":"tuple(type(Currency),type(uint256),type(bool),type(string storage pointer))"}],"expression":{"id":50959,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4824:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4828:6:65","memberName":"decode","nodeType":"MemberAccess","src":"4824:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":50970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4824:53:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$_t_bool_$_t_string_memory_ptr_$","typeString":"tuple(Currency,uint256,bool,string memory)"}},"nodeType":"VariableDeclarationStatement","src":"4730:147:65"},{"expression":{"arguments":[{"id":50975,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50952,"src":"4902:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":50976,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50954,"src":"4912:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50972,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"4888:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":50974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4896:5:65","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":1733,"src":"4888:13:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$returns$__$","typeString":"function (Currency,uint256) external"}},"id":50977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4888:31:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50978,"nodeType":"ExpressionStatement","src":"4888:31:65"},{"condition":{"id":50979,"name":"measureGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50956,"src":"4933:10:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50986,"nodeType":"IfStatement","src":"4929:51:65","trueBody":{"expression":{"arguments":[{"id":50983,"name":"gasSnapName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50958,"src":"4968:11:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"4945:2:65","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":50982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4948:19:65","memberName":"snapshotGasLastCall","nodeType":"MemberAccess","referencedDeclaration":22816,"src":"4945:22:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) external returns (uint256)"}},"id":50984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4945:35:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50985,"nodeType":"ExpressionStatement","src":"4945:35:65"}}]},"id":50988,"implemented":true,"kind":"function","modifiers":[],"name":"_clear","nameLocation":"4683:6:65","nodeType":"FunctionDefinition","parameters":{"id":50948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50947,"mutability":"mutable","name":"params","nameLocation":"4703:6:65","nodeType":"VariableDeclaration","scope":50988,"src":"4690:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50946,"name":"bytes","nodeType":"ElementaryTypeName","src":"4690:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4689:21:65"},"returnParameters":{"id":50949,"nodeType":"ParameterList","parameters":[],"src":"4720:0:65"},"scope":51179,"src":"4674:313:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":51020,"nodeType":"Block","src":"5058:216:65","statements":[{"assignments":[50995,50997,50999],"declarations":[{"constant":false,"id":50995,"mutability":"mutable","name":"currency","nameLocation":"5078:8:65","nodeType":"VariableDeclaration","scope":51020,"src":"5069:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":50994,"nodeType":"UserDefinedTypeName","pathNode":{"id":50993,"name":"Currency","nameLocations":["5069:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5069:8:65"},"referencedDeclaration":4399,"src":"5069:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":50997,"mutability":"mutable","name":"user","nameLocation":"5096:4:65","nodeType":"VariableDeclaration","scope":51020,"src":"5088:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50996,"name":"address","nodeType":"ElementaryTypeName","src":"5088:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50999,"mutability":"mutable","name":"expectedBalance","nameLocation":"5110:15:65","nodeType":"VariableDeclaration","scope":51020,"src":"5102:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50998,"name":"uint256","nodeType":"ElementaryTypeName","src":"5102:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51010,"initialValue":{"arguments":[{"id":51002,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50990,"src":"5140:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51003,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5149:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":51005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5159:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51004,"name":"address","nodeType":"ElementaryTypeName","src":"5159:7:65","typeDescriptions":{}}},{"id":51007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5168:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51006,"name":"uint256","nodeType":"ElementaryTypeName","src":"5168:7:65","typeDescriptions":{}}}],"id":51008,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5148:28:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(uint256))"}],"expression":{"id":51000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5129:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5133:6:65","memberName":"decode","nodeType":"MemberAccess","src":"5129:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5129:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_address_payable_$_t_uint256_$","typeString":"tuple(Currency,address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5068:109:65"},{"expression":{"arguments":[{"arguments":[{"id":51014,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50997,"src":"5215:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51012,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50995,"src":"5196:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5205:9:65","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4636,"src":"5196:18:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address) view returns (uint256)"}},"id":51015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:24:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51016,"name":"expectedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50999,"src":"5222:15:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"75736572746f6b656e2076616c756520696e636f7272656374","id":51017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5239:27:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6aea93cd8b9ba7f05f9079919b093e28b657bb767bb67c748e5bcc5bc8a1216","typeString":"literal_string \"usertoken value incorrect\""},"value":"usertoken value incorrect"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_a6aea93cd8b9ba7f05f9079919b093e28b657bb767bb67c748e5bcc5bc8a1216","typeString":"literal_string \"usertoken value incorrect\""}],"id":51011,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6412,"src":"5187:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":51018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5187:80:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51019,"nodeType":"ExpressionStatement","src":"5187:80:65"}]},"id":51021,"implemented":true,"kind":"function","modifiers":[],"name":"_assertBalanceEquals","nameLocation":"5002:20:65","nodeType":"FunctionDefinition","parameters":{"id":50991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50990,"mutability":"mutable","name":"params","nameLocation":"5036:6:65","nodeType":"VariableDeclaration","scope":51021,"src":"5023:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50989,"name":"bytes","nodeType":"ElementaryTypeName","src":"5023:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5022:21:65"},"returnParameters":{"id":50992,"nodeType":"ParameterList","parameters":[],"src":"5058:0:65"},"scope":51179,"src":"4993:281:65","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51044,"nodeType":"Block","src":"5346:166:65","statements":[{"assignments":[51027],"declarations":[{"constant":false,"id":51027,"mutability":"mutable","name":"expectedReserves","nameLocation":"5364:16:65","nodeType":"VariableDeclaration","scope":51044,"src":"5356:24:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51026,"name":"uint256","nodeType":"ElementaryTypeName","src":"5356:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51035,"initialValue":{"arguments":[{"id":51030,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51023,"src":"5394:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5403:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51031,"name":"uint256","nodeType":"ElementaryTypeName","src":"5403:7:65","typeDescriptions":{}}}],"id":51033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5402:9:65","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":51028,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5383:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5387:6:65","memberName":"decode","nodeType":"MemberAccess","src":"5383:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5356:56:65"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51037,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"5431:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5439:17:65","memberName":"getSyncedReserves","nodeType":"MemberAccess","referencedDeclaration":56842,"src":"5431:25:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (uint256)"}},"id":51039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5431:27:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51040,"name":"expectedReserves","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51027,"src":"5460:16:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"72657365727665732076616c756520696e636f7272656374","id":51041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5478:26:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_a18104f2d728dd414996ed8714b16e9c7e17a32932080f6d7de548f8e3179a38","typeString":"literal_string \"reserves value incorrect\""},"value":"reserves value incorrect"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_a18104f2d728dd414996ed8714b16e9c7e17a32932080f6d7de548f8e3179a38","typeString":"literal_string \"reserves value incorrect\""}],"id":51036,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6412,"src":"5422:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":51042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5422:83:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51043,"nodeType":"ExpressionStatement","src":"5422:83:65"}]},"id":51045,"implemented":true,"kind":"function","modifiers":[],"name":"_assertReservesEquals","nameLocation":"5289:21:65","nodeType":"FunctionDefinition","parameters":{"id":51024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51023,"mutability":"mutable","name":"params","nameLocation":"5324:6:65","nodeType":"VariableDeclaration","scope":51045,"src":"5311:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51022,"name":"bytes","nodeType":"ElementaryTypeName","src":"5311:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5310:21:65"},"returnParameters":{"id":51025,"nodeType":"ParameterList","parameters":[],"src":"5346:0:65"},"scope":51179,"src":"5280:232:65","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51078,"nodeType":"Block","src":"5581:224:65","statements":[{"assignments":[51052,51054,51056],"declarations":[{"constant":false,"id":51052,"mutability":"mutable","name":"currency","nameLocation":"5601:8:65","nodeType":"VariableDeclaration","scope":51078,"src":"5592:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51051,"nodeType":"UserDefinedTypeName","pathNode":{"id":51050,"name":"Currency","nameLocations":["5592:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5592:8:65"},"referencedDeclaration":4399,"src":"5592:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51054,"mutability":"mutable","name":"caller","nameLocation":"5619:6:65","nodeType":"VariableDeclaration","scope":51078,"src":"5611:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51053,"name":"address","nodeType":"ElementaryTypeName","src":"5611:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51056,"mutability":"mutable","name":"expectedDelta","nameLocation":"5634:13:65","nodeType":"VariableDeclaration","scope":51078,"src":"5627:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51055,"name":"int256","nodeType":"ElementaryTypeName","src":"5627:6:65","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51067,"initialValue":{"arguments":[{"id":51059,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51047,"src":"5662:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51060,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5671:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":51062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5681:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51061,"name":"address","nodeType":"ElementaryTypeName","src":"5681:7:65","typeDescriptions":{}}},{"id":51064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5690:6:65","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":51063,"name":"int256","nodeType":"ElementaryTypeName","src":"5690:6:65","typeDescriptions":{}}}],"id":51065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5670:27:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_int256_$_$","typeString":"tuple(type(Currency),type(address),type(int256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_int256_$_$","typeString":"tuple(type(Currency),type(address),type(int256))"}],"expression":{"id":51057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5651:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5655:6:65","memberName":"decode","nodeType":"MemberAccess","src":"5651:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5651:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_address_payable_$_t_int256_$","typeString":"tuple(Currency,address payable,int256)"}},"nodeType":"VariableDeclarationStatement","src":"5591:107:65"},{"expression":{"arguments":[{"arguments":[{"id":51071,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51054,"src":"5740:6:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51072,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51052,"src":"5748:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":51069,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"5718:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5726:13:65","memberName":"currencyDelta","nodeType":"MemberAccess","referencedDeclaration":56919,"src":"5718:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_address_$_t_userDefinedValueType$_Currency_$4399_$returns$_t_int256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,address,Currency) view returns (int256)"}},"id":51073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5718:39:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":51074,"name":"expectedDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51056,"src":"5759:13:65","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"64656c74612076616c756520696e636f7272656374","id":51075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5774:23:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_bdbb8c3eb61eb2e6eab9ebd67c03a9f39e929ce83b78d4cdfa0d72a5f065e532","typeString":"literal_string \"delta value incorrect\""},"value":"delta value incorrect"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_bdbb8c3eb61eb2e6eab9ebd67c03a9f39e929ce83b78d4cdfa0d72a5f065e532","typeString":"literal_string \"delta value incorrect\""}],"id":51068,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5709:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":51076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5709:89:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51077,"nodeType":"ExpressionStatement","src":"5709:89:65"}]},"id":51079,"implemented":true,"kind":"function","modifiers":[],"name":"_assertDeltaEquals","nameLocation":"5527:18:65","nodeType":"FunctionDefinition","parameters":{"id":51048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51047,"mutability":"mutable","name":"params","nameLocation":"5559:6:65","nodeType":"VariableDeclaration","scope":51079,"src":"5546:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51046,"name":"bytes","nodeType":"ElementaryTypeName","src":"5546:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5545:21:65"},"returnParameters":{"id":51049,"nodeType":"ParameterList","parameters":[],"src":"5581:0:65"},"scope":51179,"src":"5518:287:65","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51102,"nodeType":"Block","src":"5886:170:65","statements":[{"assignments":[51085],"declarations":[{"constant":false,"id":51085,"mutability":"mutable","name":"expectedCount","nameLocation":"5905:13:65","nodeType":"VariableDeclaration","scope":51102,"src":"5897:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51084,"name":"uint256","nodeType":"ElementaryTypeName","src":"5897:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51093,"initialValue":{"arguments":[{"id":51088,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51081,"src":"5933:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5942:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51089,"name":"uint256","nodeType":"ElementaryTypeName","src":"5942:7:65","typeDescriptions":{}}}],"id":51091,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5941:9:65","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":51086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5922:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5926:6:65","memberName":"decode","nodeType":"MemberAccess","src":"5922:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:29:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5896:55:65"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51095,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"5970:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5978:20:65","memberName":"getNonzeroDeltaCount","nodeType":"MemberAccess","referencedDeclaration":56889,"src":"5970:28:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (uint256)"}},"id":51097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5970:30:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51098,"name":"expectedCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51085,"src":"6002:13:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"6e6f6e7a65726f2064656c746120636f756e7420696e636f7272656374","id":51099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6017:31:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_b945a35d8ec6f1c66b55f7893e01e3635e04811e8ba59844aa967210ffc89984","typeString":"literal_string \"nonzero delta count incorrect\""},"value":"nonzero delta count incorrect"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_b945a35d8ec6f1c66b55f7893e01e3635e04811e8ba59844aa967210ffc89984","typeString":"literal_string \"nonzero delta count incorrect\""}],"id":51094,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6412,"src":"5961:8:65","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":51100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5961:88:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51101,"nodeType":"ExpressionStatement","src":"5961:88:65"}]},"id":51103,"implemented":true,"kind":"function","modifiers":[],"name":"_assertNonzeroDeltaCountEquals","nameLocation":"5820:30:65","nodeType":"FunctionDefinition","parameters":{"id":51082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51081,"mutability":"mutable","name":"params","nameLocation":"5864:6:65","nodeType":"VariableDeclaration","scope":51103,"src":"5851:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51080,"name":"bytes","nodeType":"ElementaryTypeName","src":"5851:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5850:21:65"},"returnParameters":{"id":51083,"nodeType":"ParameterList","parameters":[],"src":"5886:0:65"},"scope":51179,"src":"5811:245:65","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":51145,"nodeType":"Block","src":"6115:250:65","statements":[{"assignments":[51110,51112,51114,51116],"declarations":[{"constant":false,"id":51110,"mutability":"mutable","name":"currency","nameLocation":"6135:8:65","nodeType":"VariableDeclaration","scope":51145,"src":"6126:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51109,"nodeType":"UserDefinedTypeName","pathNode":{"id":51108,"name":"Currency","nameLocations":["6126:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6126:8:65"},"referencedDeclaration":4399,"src":"6126:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51112,"mutability":"mutable","name":"from","nameLocation":"6153:4:65","nodeType":"VariableDeclaration","scope":51145,"src":"6145:12:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51111,"name":"address","nodeType":"ElementaryTypeName","src":"6145:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51114,"mutability":"mutable","name":"recipient","nameLocation":"6167:9:65","nodeType":"VariableDeclaration","scope":51145,"src":"6159:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51113,"name":"address","nodeType":"ElementaryTypeName","src":"6159:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51116,"mutability":"mutable","name":"amount","nameLocation":"6186:6:65","nodeType":"VariableDeclaration","scope":51145,"src":"6178:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51115,"name":"uint256","nodeType":"ElementaryTypeName","src":"6178:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51129,"initialValue":{"arguments":[{"id":51119,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51105,"src":"6219:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51120,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"6228:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":51122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6238:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51121,"name":"address","nodeType":"ElementaryTypeName","src":"6238:7:65","typeDescriptions":{}}},{"id":51124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6247:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51123,"name":"address","nodeType":"ElementaryTypeName","src":"6247:7:65","typeDescriptions":{}}},{"id":51126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6256:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51125,"name":"uint256","nodeType":"ElementaryTypeName","src":"6256:7:65","typeDescriptions":{}}}],"id":51127,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6227:37:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_address_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(Currency),type(address),type(address),type(uint256))"}],"expression":{"id":51117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6208:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6212:6:65","memberName":"decode","nodeType":"MemberAccess","src":"6208:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6208:57:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_address_payable_$_t_address_payable_$_t_uint256_$","typeString":"tuple(Currency,address payable,address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6125:140:65"},{"expression":{"arguments":[{"id":51137,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51112,"src":"6325:4:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51138,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51114,"src":"6331:9:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51141,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51116,"src":"6350:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6342:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51139,"name":"uint256","nodeType":"ElementaryTypeName","src":"6342:7:65","typeDescriptions":{}}},"id":51142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6342:15:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":51133,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51110,"src":"6301:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":51131,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"6285:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":51132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6294:6:65","memberName":"unwrap","nodeType":"MemberAccess","src":"6285:15:65","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":51134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6285:25:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51130,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"6275:9:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$1281_$","typeString":"type(contract MockERC20)"}},"id":51135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6275:36:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":51136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6312:12:65","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":44625,"src":"6275:49:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":51143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6275:83:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51144,"nodeType":"ExpressionStatement","src":"6275:83:65"}]},"id":51146,"implemented":true,"kind":"function","modifiers":[],"name":"_transferFrom","nameLocation":"6071:13:65","nodeType":"FunctionDefinition","parameters":{"id":51106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51105,"mutability":"mutable","name":"params","nameLocation":"6098:6:65","nodeType":"VariableDeclaration","scope":51146,"src":"6085:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51104,"name":"bytes","nodeType":"ElementaryTypeName","src":"6085:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6084:21:65"},"returnParameters":{"id":51107,"nodeType":"ParameterList","parameters":[],"src":"6115:0:65"},"scope":51179,"src":"6062:303:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":51177,"nodeType":"Block","src":"6431:174:65","statements":[{"assignments":[51152,51155,51157],"declarations":[{"constant":false,"id":51152,"mutability":"mutable","name":"to","nameLocation":"6450:2:65","nodeType":"VariableDeclaration","scope":51177,"src":"6442:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51151,"name":"address","nodeType":"ElementaryTypeName","src":"6442:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51155,"mutability":"mutable","name":"currency","nameLocation":"6463:8:65","nodeType":"VariableDeclaration","scope":51177,"src":"6454:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51154,"nodeType":"UserDefinedTypeName","pathNode":{"id":51153,"name":"Currency","nameLocations":["6454:8:65"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6454:8:65"},"referencedDeclaration":4399,"src":"6454:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51157,"mutability":"mutable","name":"amount","nameLocation":"6481:6:65","nodeType":"VariableDeclaration","scope":51177,"src":"6473:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51156,"name":"uint256","nodeType":"ElementaryTypeName","src":"6473:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51168,"initialValue":{"arguments":[{"id":51160,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51148,"src":"6502:6:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6511:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51161,"name":"address","nodeType":"ElementaryTypeName","src":"6511:7:65","typeDescriptions":{}}},{"id":51163,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"6520:8:65","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},{"id":51165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6530:7:65","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51164,"name":"uint256","nodeType":"ElementaryTypeName","src":"6530:7:65","typeDescriptions":{}}}],"id":51166,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6510:28:65","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(Currency),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_userDefinedValueType$_Currency_$4399_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(Currency),type(uint256))"}],"expression":{"id":51158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6491:3:65","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6495:6:65","memberName":"decode","nodeType":"MemberAccess","src":"6491:10:65","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:48:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$","typeString":"tuple(address payable,Currency,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6441:98:65"},{"expression":{"arguments":[{"id":51172,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51152,"src":"6577:2:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51173,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51155,"src":"6581:8:65","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":51174,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51157,"src":"6591:6:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51169,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50514,"src":"6549:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6557:19:65","memberName":"collectProtocolFees","nodeType":"MemberAccess","referencedDeclaration":44987,"src":"6549:27:65","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_userDefinedValueType$_Currency_$4399_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,Currency,uint256) external returns (uint256)"}},"id":51175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:49:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51176,"nodeType":"ExpressionStatement","src":"6549:49:65"}]},"id":51178,"implemented":true,"kind":"function","modifiers":[],"name":"_collectProtocolFees","nameLocation":"6380:20:65","nodeType":"FunctionDefinition","parameters":{"id":51149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51148,"mutability":"mutable","name":"params","nameLocation":"6414:6:65","nodeType":"VariableDeclaration","scope":51178,"src":"6401:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51147,"name":"bytes","nodeType":"ElementaryTypeName","src":"6401:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6400:21:65"},"returnParameters":{"id":51150,"nodeType":"ParameterList","parameters":[],"src":"6431:0:65"},"scope":51179,"src":"6371:234:65","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":51180,"src":"1010:5597:65","usedErrors":[50509,50511],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"39:6569:65"},"id":65},"v4-core/src/test/Fuzzers.sol":{"ast":{"absolutePath":"v4-core/src/test/Fuzzers.sol","exportedSymbols":{"BalanceDelta":[4233],"Fuzzers":[3784],"IPoolManager":[1763],"LiquidityAmounts":[47639],"ModifyLiquidityParams":[4761],"Pool":[47122],"PoolKey":[4745],"PoolModifyLiquidityTest":[4227],"SafeCast":[47298],"StdUtils":[18792],"TickMath":[3140],"Vm":[23231]},"id":3785,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3142,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:66"},{"absolutePath":"v4-core/lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","id":3144,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":23232,"src":"58:36:66","symbolAliases":[{"foreign":{"id":3143,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"66:2:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/StdUtils.sol","file":"forge-std/StdUtils.sol","id":3146,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":18793,"src":"95:48:66","symbolAliases":[{"foreign":{"id":3145,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18792,"src":"103:8:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":3148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":1764,"src":"145:60:66","symbolAliases":[{"foreign":{"id":3147,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"153:12:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":3150,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":4773,"src":"206:65:66","symbolAliases":[{"foreign":{"id":3149,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"214:21:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":3152,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":4746,"src":"272:45:66","symbolAliases":[{"foreign":{"id":3151,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"280:7:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":3154,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":4392,"src":"318:55:66","symbolAliases":[{"foreign":{"id":3153,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"326:12:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickMath.sol","file":"../libraries/TickMath.sol","id":3156,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":3141,"src":"374:51:66","symbolAliases":[{"foreign":{"id":3155,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"382:8:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Pool.sol","file":"../libraries/Pool.sol","id":3158,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":47123,"src":"426:43:66","symbolAliases":[{"foreign":{"id":3157,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"434:4:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTest.sol","file":"./PoolModifyLiquidityTest.sol","id":3160,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":4228,"src":"470:70:66","symbolAliases":[{"foreign":{"id":3159,"name":"PoolModifyLiquidityTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4227,"src":"478:23:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/LiquidityAmounts.sol","file":"../../test/utils/LiquidityAmounts.sol","id":3162,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":47640,"src":"541:71:66","symbolAliases":[{"foreign":{"id":3161,"name":"LiquidityAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47639,"src":"549:16:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"../../src/libraries/SafeCast.sol","id":3164,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3785,"sourceUnit":47299,"src":"613:58:66","symbolAliases":[{"foreign":{"id":3163,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"621:8:66","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3165,"name":"StdUtils","nameLocations":["693:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":18792,"src":"693:8:66"},"id":3166,"nodeType":"InheritanceSpecifier","src":"693:8:66"}],"canonicalName":"Fuzzers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3784,"linearizedBaseContracts":[3784,18792],"name":"Fuzzers","nameLocation":"682:7:66","nodeType":"ContractDefinition","nodes":[{"global":false,"id":3169,"libraryName":{"id":3167,"name":"SafeCast","nameLocations":["714:8:66"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"714:8:66"},"nodeType":"UsingForDirective","src":"708:27:66","typeName":{"id":3168,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":3186,"mutability":"constant","name":"_vm","nameLocation":"762:3:66","nodeType":"VariableDeclaration","scope":3784,"src":"741:86:66","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"},"typeName":{"id":3171,"nodeType":"UserDefinedTypeName","pathNode":{"id":3170,"name":"Vm","nameLocations":["741:2:66"],"nodeType":"IdentifierPath","referencedDeclaration":23231,"src":"741:2:66"},"referencedDeclaration":23231,"src":"741:2:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"805:17:66","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":3179,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"795:9:66","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"795:28:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"787:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3177,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:66","typeDescriptions":{}}},"id":3182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"787:37:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"779:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3175,"name":"uint160","nodeType":"ElementaryTypeName","src":"779:7:66","typeDescriptions":{}}},"id":3183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"779:46:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"771:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3173,"name":"address","nodeType":"ElementaryTypeName","src":"771:7:66","typeDescriptions":{}}},"id":3184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"771:55:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3172,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23231,"src":"768:2:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$23231_$","typeString":"type(contract Vm)"}},"id":3185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"768:59:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"visibility":"internal"},{"body":{"id":3235,"nodeType":"Block","src":"1003:462:66","statements":[{"assignments":[3199],"declarations":[{"constant":false,"id":3199,"mutability":"mutable","name":"liquidityMaxPerTick","nameLocation":"1020:19:66","nodeType":"VariableDeclaration","scope":3235,"src":"1013:26:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3198,"name":"int256","nodeType":"ElementaryTypeName","src":"1013:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3211,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":3206,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3189,"src":"1095:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":3207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1099:11:66","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"1095:15:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3204,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"1057:4:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Pool_$47122_$","typeString":"type(library Pool)"}},"id":3205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1062:32:66","memberName":"tickSpacingToMaxLiquidityPerTick","nodeType":"MemberAccess","referencedDeclaration":47035,"src":"1057:37:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint128_$","typeString":"function (int24) pure returns (uint128)"}},"id":3208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1057:54:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":3203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1049:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3202,"name":"uint256","nodeType":"ElementaryTypeName","src":"1049:7:66","typeDescriptions":{}}},"id":3209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1049:63:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1042:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3200,"name":"int256","nodeType":"ElementaryTypeName","src":"1042:6:66","typeDescriptions":{}}},"id":3210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1042:71:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"1013:100:66"},{"assignments":[3213],"declarations":[{"constant":false,"id":3213,"mutability":"mutable","name":"liquidityMax","nameLocation":"1253:12:66","nodeType":"VariableDeclaration","scope":3235,"src":"1246:19:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3212,"name":"int256","nodeType":"ElementaryTypeName","src":"1246:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3220,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3214,"name":"liquidityMaxByAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"1268:20:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3215,"name":"liquidityMaxPerTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3199,"src":"1291:19:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1268:42:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3218,"name":"liquidityMaxByAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"1335:20:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1268:87:66","trueExpression":{"id":3217,"name":"liquidityMaxPerTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3199,"src":"1313:19:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"1246:109:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3224,"name":"liquidityMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3213,"src":"1376:12:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1392:1:66","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1376:17:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":3221,"name":"_vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3186,"src":"1365:3:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":3223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1369:6:66","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"1365:10:66","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":3227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:29:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3228,"nodeType":"ExpressionStatement","src":"1365:29:66"},{"expression":{"arguments":[{"id":3230,"name":"liquidityDeltaUnbounded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3191,"src":"1417:23:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"31","id":3231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1442:1:66","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":3232,"name":"liquidityMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3213,"src":"1445:12:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3229,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[18210,18360],"referencedDeclaration":18360,"src":"1411:5:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":3233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1411:47:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3197,"id":3234,"nodeType":"Return","src":"1404:54:66"}]},"id":3236,"implemented":true,"kind":"function","modifiers":[],"name":"boundLiquidityDelta","nameLocation":"843:19:66","nodeType":"FunctionDefinition","parameters":{"id":3194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3189,"mutability":"mutable","name":"key","nameLocation":"878:3:66","nodeType":"VariableDeclaration","scope":3236,"src":"863:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3188,"nodeType":"UserDefinedTypeName","pathNode":{"id":3187,"name":"PoolKey","nameLocations":["863:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"863:7:66"},"referencedDeclaration":4745,"src":"863:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3191,"mutability":"mutable","name":"liquidityDeltaUnbounded","nameLocation":"890:23:66","nodeType":"VariableDeclaration","scope":3236,"src":"883:30:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3190,"name":"int256","nodeType":"ElementaryTypeName","src":"883:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3193,"mutability":"mutable","name":"liquidityMaxByAmount","nameLocation":"922:20:66","nodeType":"VariableDeclaration","scope":3236,"src":"915:27:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3192,"name":"int256","nodeType":"ElementaryTypeName","src":"915:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"862:81:66"},"returnParameters":{"id":3197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3236,"src":"991:6:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3195,"name":"int256","nodeType":"ElementaryTypeName","src":"991:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"990:8:66"},"scope":3784,"src":"834:631:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3289,"nodeType":"Block","src":"1852:601:66","statements":[{"assignments":[3251],"declarations":[{"constant":false,"id":3251,"mutability":"mutable","name":"liquidityMaxTightBound","nameLocation":"1960:22:66","nodeType":"VariableDeclaration","scope":3289,"src":"1953:29:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3250,"name":"int256","nodeType":"ElementaryTypeName","src":"1953:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3265,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":3258,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3239,"src":"2050:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":3259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2054:11:66","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"2050:15:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3256,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47122,"src":"2012:4:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Pool_$47122_$","typeString":"type(library Pool)"}},"id":3257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2017:32:66","memberName":"tickSpacingToMaxLiquidityPerTick","nodeType":"MemberAccess","referencedDeclaration":47035,"src":"2012:37:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint128_$","typeString":"function (int24) pure returns (uint128)"}},"id":3260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2012:54:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":3255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2004:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3254,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:66","typeDescriptions":{}}},"id":3261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2004:63:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":3262,"name":"maxPositions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3245,"src":"2070:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2004:78:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1997:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3252,"name":"int256","nodeType":"ElementaryTypeName","src":"1997:6:66","typeDescriptions":{}}},"id":3264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1997:86:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"1953:130:66"},{"assignments":[3267],"declarations":[{"constant":false,"id":3267,"mutability":"mutable","name":"liquidityMax","nameLocation":"2223:12:66","nodeType":"VariableDeclaration","scope":3289,"src":"2216:19:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3266,"name":"int256","nodeType":"ElementaryTypeName","src":"2216:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3274,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3268,"name":"liquidityMaxByAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"2250:20:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3269,"name":"liquidityMaxTightBound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"2273:22:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2250:45:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3272,"name":"liquidityMaxByAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"2323:20:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2250:93:66","trueExpression":{"id":3271,"name":"liquidityMaxTightBound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"2298:22:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"2216:127:66"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3278,"name":"liquidityMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"2364:12:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2380:1:66","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2364:17:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":3275,"name":"_vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3186,"src":"2353:3:66","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":3277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2357:6:66","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":21914,"src":"2353:10:66","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2353:29:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3282,"nodeType":"ExpressionStatement","src":"2353:29:66"},{"expression":{"arguments":[{"id":3284,"name":"liquidityDeltaUnbounded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3241,"src":"2405:23:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"31","id":3285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2430:1:66","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":3286,"name":"liquidityMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"2433:12:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3283,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[18210,18360],"referencedDeclaration":18360,"src":"2399:5:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":3287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2399:47:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3249,"id":3288,"nodeType":"Return","src":"2392:54:66"}]},"id":3290,"implemented":true,"kind":"function","modifiers":[],"name":"boundLiquidityDeltaTightly","nameLocation":"1653:26:66","nodeType":"FunctionDefinition","parameters":{"id":3246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3239,"mutability":"mutable","name":"key","nameLocation":"1704:3:66","nodeType":"VariableDeclaration","scope":3290,"src":"1689:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3238,"nodeType":"UserDefinedTypeName","pathNode":{"id":3237,"name":"PoolKey","nameLocations":["1689:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1689:7:66"},"referencedDeclaration":4745,"src":"1689:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3241,"mutability":"mutable","name":"liquidityDeltaUnbounded","nameLocation":"1724:23:66","nodeType":"VariableDeclaration","scope":3290,"src":"1717:30:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3240,"name":"int256","nodeType":"ElementaryTypeName","src":"1717:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3243,"mutability":"mutable","name":"liquidityMaxByAmount","nameLocation":"1764:20:66","nodeType":"VariableDeclaration","scope":3290,"src":"1757:27:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3242,"name":"int256","nodeType":"ElementaryTypeName","src":"1757:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3245,"mutability":"mutable","name":"maxPositions","nameLocation":"1802:12:66","nodeType":"VariableDeclaration","scope":3290,"src":"1794:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3244,"name":"uint256","nodeType":"ElementaryTypeName","src":"1794:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1679:141:66"},"returnParameters":{"id":3249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3290,"src":"1844:6:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3247,"name":"int256","nodeType":"ElementaryTypeName","src":"1844:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1843:8:66"},"scope":3784,"src":"1644:809:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3394,"nodeType":"Block","src":"2612:1316:66","statements":[{"assignments":[3302,3304],"declarations":[{"constant":false,"id":3302,"mutability":"mutable","name":"maxAmount0","nameLocation":"2729:10:66","nodeType":"VariableDeclaration","scope":3394,"src":"2721:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3301,"name":"uint256","nodeType":"ElementaryTypeName","src":"2721:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3304,"mutability":"mutable","name":"maxAmount1","nameLocation":"2749:10:66","nodeType":"VariableDeclaration","scope":3394,"src":"2741:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3303,"name":"uint256","nodeType":"ElementaryTypeName","src":"2741:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3325,"initialValue":{"arguments":[{"id":3307,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"2816:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":3310,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"2870:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3308,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"2842:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2851:18:66","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"2842:27:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2842:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":3314,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"2922:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3312,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"2894:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2903:18:66","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"2894:27:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2894:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"expression":{"arguments":[{"id":3320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2959:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":3319,"name":"int128","nodeType":"ElementaryTypeName","src":"2959:6:66","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"}],"id":3318,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2954:4:66","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2954:12:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int128","typeString":"type(int128)"}},"id":3322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2967:3:66","memberName":"max","nodeType":"MemberAccess","src":"2954:16:66","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":3317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":3316,"name":"uint128","nodeType":"ElementaryTypeName","src":"2946:7:66","typeDescriptions":{}}},"id":3323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2946:25:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":3305,"name":"LiquidityAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47639,"src":"2763:16:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityAmounts_$47639_$","typeString":"type(library LiquidityAmounts)"}},"id":3306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2780:22:66","memberName":"getAmountsForLiquidity","nodeType":"MemberAccess","referencedDeclaration":47638,"src":"2763:39:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint160,uint160,uint160,uint128) pure returns (uint256,uint256)"}},"id":3324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2763:218:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"2720:261:66"},{"assignments":[3327],"declarations":[{"constant":false,"id":3327,"mutability":"mutable","name":"amount0","nameLocation":"3318:7:66","nodeType":"VariableDeclaration","scope":3394,"src":"3310:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3326,"name":"uint256","nodeType":"ElementaryTypeName","src":"3310:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3338,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":3336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3341:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":3331,"name":"uint128","nodeType":"ElementaryTypeName","src":"3341:7:66","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":3330,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3336:4:66","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3336:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":3334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3350:3:66","memberName":"max","nodeType":"MemberAccess","src":"3336:17:66","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":3335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3356:1:66","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"3336:21:66","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":3329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3328:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3328,"name":"uint256","nodeType":"ElementaryTypeName","src":"3328:7:66","typeDescriptions":{}}},"id":3337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3328:30:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3310:48:66"},{"assignments":[3340],"declarations":[{"constant":false,"id":3340,"mutability":"mutable","name":"amount1","nameLocation":"3376:7:66","nodeType":"VariableDeclaration","scope":3394,"src":"3368:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3339,"name":"uint256","nodeType":"ElementaryTypeName","src":"3368:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3351,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":3349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3399:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":3344,"name":"uint128","nodeType":"ElementaryTypeName","src":"3399:7:66","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":3343,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3394:4:66","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:13:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":3347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3408:3:66","memberName":"max","nodeType":"MemberAccess","src":"3394:17:66","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":3348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3414:1:66","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"3394:21:66","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":3342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3386:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3341,"name":"uint256","nodeType":"ElementaryTypeName","src":"3386:7:66","typeDescriptions":{}}},"id":3350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:30:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3368:48:66"},{"expression":{"id":3359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3352,"name":"maxAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3302,"src":"3427:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3353,"name":"maxAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3302,"src":"3440:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3354,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3327,"src":"3453:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3440:20:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3357,"name":"maxAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3302,"src":"3473:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3440:43:66","trueExpression":{"id":3356,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3327,"src":"3463:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3427:56:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3360,"nodeType":"ExpressionStatement","src":"3427:56:66"},{"expression":{"id":3368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3361,"name":"maxAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"3493:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3362,"name":"maxAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"3506:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3363,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"3519:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3506:20:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3366,"name":"maxAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"3539:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3506:43:66","trueExpression":{"id":3365,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"3529:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3493:56:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3369,"nodeType":"ExpressionStatement","src":"3493:56:66"},{"assignments":[3371],"declarations":[{"constant":false,"id":3371,"mutability":"mutable","name":"liquidityMaxByAmount","nameLocation":"3567:20:66","nodeType":"VariableDeclaration","scope":3394,"src":"3560:27:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3370,"name":"int256","nodeType":"ElementaryTypeName","src":"3560:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3391,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":3376,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"3668:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":3379,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"3726:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3377,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"3698:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3707:18:66","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"3698:27:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"id":3383,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"3782:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3381,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"3754:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3763:18:66","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"3754:27:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3754:38:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":3385,"name":"maxAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3302,"src":"3810:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3386,"name":"maxAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3304,"src":"3838:10:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3374,"name":"LiquidityAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47639,"src":"3611:16:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityAmounts_$47639_$","typeString":"type(library LiquidityAmounts)"}},"id":3375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3628:22:66","memberName":"getLiquidityForAmounts","nodeType":"MemberAccess","referencedDeclaration":47489,"src":"3611:39:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint160_$_t_uint256_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint160,uint256,uint256) pure returns (uint128)"}},"id":3387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:251:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":3373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3590:7:66","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3372,"name":"uint256","nodeType":"ElementaryTypeName","src":"3590:7:66","typeDescriptions":{}}},"id":3388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:282:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3873:8:66","memberName":"toInt256","nodeType":"MemberAccess","referencedDeclaration":47267,"src":"3590:291:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int256)"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:293:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"3560:323:66"},{"expression":{"id":3392,"name":"liquidityMaxByAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"3901:20:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3300,"id":3393,"nodeType":"Return","src":"3894:27:66"}]},"id":3395,"implemented":true,"kind":"function","modifiers":[],"name":"getLiquidityDeltaFromAmounts","nameLocation":"2468:28:66","nodeType":"FunctionDefinition","parameters":{"id":3297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3292,"mutability":"mutable","name":"tickLower","nameLocation":"2503:9:66","nodeType":"VariableDeclaration","scope":3395,"src":"2497:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3291,"name":"int24","nodeType":"ElementaryTypeName","src":"2497:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3294,"mutability":"mutable","name":"tickUpper","nameLocation":"2520:9:66","nodeType":"VariableDeclaration","scope":3395,"src":"2514:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3293,"name":"int24","nodeType":"ElementaryTypeName","src":"2514:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3296,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"2539:12:66","nodeType":"VariableDeclaration","scope":3395,"src":"2531:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3295,"name":"uint160","nodeType":"ElementaryTypeName","src":"2531:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"2496:56:66"},"returnParameters":{"id":3300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3299,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3395,"src":"2600:6:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3298,"name":"int256","nodeType":"ElementaryTypeName","src":"2600:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2599:8:66"},"scope":3784,"src":"2459:1469:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3521,"nodeType":"Block","src":"4044:965:66","statements":[{"expression":{"id":3432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3408,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4054:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":3414,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4115:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4108:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3412,"name":"int256","nodeType":"ElementaryTypeName","src":"4108:6:66","typeDescriptions":{}}},"id":3415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4108:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"arguments":[{"arguments":[{"id":3420,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4173:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3418,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4150:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4159:13:66","memberName":"minUsableTick","nodeType":"MemberAccess","referencedDeclaration":2677,"src":"4150:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4143:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3416,"name":"int256","nodeType":"ElementaryTypeName","src":"4143:6:66","typeDescriptions":{}}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4143:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"arguments":[{"arguments":[{"id":3427,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4234:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3425,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4211:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4220:13:66","memberName":"maxUsableTick","nodeType":"MemberAccess","referencedDeclaration":2660,"src":"4211:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4211:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4204:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3423,"name":"int256","nodeType":"ElementaryTypeName","src":"4204:6:66","typeDescriptions":{}}},"id":3429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4204:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3411,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[18210,18360],"referencedDeclaration":18360,"src":"4085:5:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":3430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:176:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4066:5:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":3409,"name":"int24","nodeType":"ElementaryTypeName","src":"4066:5:66","typeDescriptions":{}}},"id":3431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4066:205:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4054:217:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3433,"nodeType":"ExpressionStatement","src":"4054:217:66"},{"expression":{"id":3458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3434,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4281:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":3440,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4342:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4335:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3438,"name":"int256","nodeType":"ElementaryTypeName","src":"4335:6:66","typeDescriptions":{}}},"id":3441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4335:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"arguments":[{"arguments":[{"id":3446,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4400:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3444,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4377:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4386:13:66","memberName":"minUsableTick","nodeType":"MemberAccess","referencedDeclaration":2677,"src":"4377:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4377:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4370:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3442,"name":"int256","nodeType":"ElementaryTypeName","src":"4370:6:66","typeDescriptions":{}}},"id":3448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4370:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"arguments":[{"arguments":[{"id":3453,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4461:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3451,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4438:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:13:66","memberName":"maxUsableTick","nodeType":"MemberAccess","referencedDeclaration":2660,"src":"4438:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4438:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4431:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3449,"name":"int256","nodeType":"ElementaryTypeName","src":"4431:6:66","typeDescriptions":{}}},"id":3455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4431:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3437,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[18210,18360],"referencedDeclaration":18360,"src":"4312:5:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4312:176:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4293:5:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":3435,"name":"int24","nodeType":"ElementaryTypeName","src":"4293:5:66","typeDescriptions":{}}},"id":3457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4293:205:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4281:217:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3459,"nodeType":"ExpressionStatement","src":"4281:217:66"},{"expression":{"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3460,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4537:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3461,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4550:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":3462,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4562:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4550:23:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3464,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4549:25:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":3465,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4577:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4549:39:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4537:51:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3468,"nodeType":"ExpressionStatement","src":"4537:51:66"},{"expression":{"id":3476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3469,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4598:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3470,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4611:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":3471,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4623:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4611:23:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3473,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4610:25:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":3474,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4638:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4610:39:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4598:51:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3477,"nodeType":"ExpressionStatement","src":"4598:51:66"},{"expression":{"id":3491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3478,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4661:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3479,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4672:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3480,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4660:22:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3481,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4685:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3482,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4697:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4685:21:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"id":3487,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4735:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3488,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4746:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3489,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4734:22:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"id":3490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4685:71:66","trueExpression":{"components":[{"id":3484,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4710:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3485,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4721:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3486,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4709:22:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"src":"4660:96:66","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3492,"nodeType":"ExpressionStatement","src":"4660:96:66"},{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3493,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4771:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":3494,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4784:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4771:22:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3516,"nodeType":"IfStatement","src":"4767:196:66","trueBody":{"id":3515,"nodeType":"Block","src":"4795:168:66","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3496,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4813:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3499,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4849:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3497,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4826:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4835:13:66","memberName":"minUsableTick","nodeType":"MemberAccess","referencedDeclaration":2677,"src":"4826:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4813:48:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"id":3512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3508,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4917:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3509,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4929:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":3510,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4941:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4929:23:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4917:35:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3513,"nodeType":"ExpressionStatement","src":"4917:35:66"},"id":3514,"nodeType":"IfStatement","src":"4809:143:66","trueBody":{"expression":{"id":3506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3502,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4863:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":3505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3503,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4875:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3504,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3401,"src":"4887:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4875:23:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"4863:35:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":3507,"nodeType":"ExpressionStatement","src":"4863:35:66"}}]}},{"expression":{"components":[{"id":3517,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"4981:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3518,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"4992:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4980:22:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"functionReturnParameters":3407,"id":3520,"nodeType":"Return","src":"4973:29:66"}]},"id":3522,"implemented":true,"kind":"function","modifiers":[],"name":"boundTicks","nameLocation":"3943:10:66","nodeType":"FunctionDefinition","parameters":{"id":3402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3397,"mutability":"mutable","name":"tickLower","nameLocation":"3960:9:66","nodeType":"VariableDeclaration","scope":3522,"src":"3954:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3396,"name":"int24","nodeType":"ElementaryTypeName","src":"3954:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3399,"mutability":"mutable","name":"tickUpper","nameLocation":"3977:9:66","nodeType":"VariableDeclaration","scope":3522,"src":"3971:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3398,"name":"int24","nodeType":"ElementaryTypeName","src":"3971:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3401,"mutability":"mutable","name":"tickSpacing","nameLocation":"3994:11:66","nodeType":"VariableDeclaration","scope":3522,"src":"3988:17:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3400,"name":"int24","nodeType":"ElementaryTypeName","src":"3988:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"3953:53:66"},"returnParameters":{"id":3407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3522,"src":"4030:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3403,"name":"int24","nodeType":"ElementaryTypeName","src":"4030:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3406,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3522,"src":"4037:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3405,"name":"int24","nodeType":"ElementaryTypeName","src":"4037:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"4029:14:66"},"scope":3784,"src":"3934:1075:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3543,"nodeType":"Block","src":"5126:73:66","statements":[{"expression":{"arguments":[{"id":3537,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3527,"src":"5154:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3538,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3529,"src":"5165:9:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3539,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"5176:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":3540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5180:11:66","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"5176:15:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3536,"name":"boundTicks","nodeType":"Identifier","overloadedDeclarations":[3522,3544],"referencedDeclaration":3522,"src":"5143:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$_t_int24_$_t_int24_$returns$_t_int24_$_t_int24_$","typeString":"function (int24,int24,int24) pure returns (int24,int24)"}},"id":3541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5143:49:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"functionReturnParameters":3535,"id":3542,"nodeType":"Return","src":"5136:56:66"}]},"id":3544,"implemented":true,"kind":"function","modifiers":[],"name":"boundTicks","nameLocation":"5024:10:66","nodeType":"FunctionDefinition","parameters":{"id":3530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3525,"mutability":"mutable","name":"key","nameLocation":"5050:3:66","nodeType":"VariableDeclaration","scope":3544,"src":"5035:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3524,"nodeType":"UserDefinedTypeName","pathNode":{"id":3523,"name":"PoolKey","nameLocations":["5035:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"5035:7:66"},"referencedDeclaration":4745,"src":"5035:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3527,"mutability":"mutable","name":"tickLower","nameLocation":"5061:9:66","nodeType":"VariableDeclaration","scope":3544,"src":"5055:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3526,"name":"int24","nodeType":"ElementaryTypeName","src":"5055:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3529,"mutability":"mutable","name":"tickUpper","nameLocation":"5078:9:66","nodeType":"VariableDeclaration","scope":3544,"src":"5072:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3528,"name":"int24","nodeType":"ElementaryTypeName","src":"5072:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"5034:54:66"},"returnParameters":{"id":3535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3544,"src":"5112:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3531,"name":"int24","nodeType":"ElementaryTypeName","src":"5112:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3544,"src":"5119:5:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3533,"name":"int24","nodeType":"ElementaryTypeName","src":"5119:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"5111:14:66"},"scope":3784,"src":"5015:184:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3593,"nodeType":"Block","src":"5303:261:66","statements":[{"assignments":[3554],"declarations":[{"constant":false,"id":3554,"mutability":"mutable","name":"min","nameLocation":"5320:3:66","nodeType":"VariableDeclaration","scope":3593,"src":"5313:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3553,"name":"int256","nodeType":"ElementaryTypeName","src":"5313:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3562,"initialValue":{"arguments":[{"arguments":[{"id":3559,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"5356:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3557,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"5333:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5342:13:66","memberName":"minUsableTick","nodeType":"MemberAccess","referencedDeclaration":2677,"src":"5333:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5333:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5326:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3555,"name":"int256","nodeType":"ElementaryTypeName","src":"5326:6:66","typeDescriptions":{}}},"id":3561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5326:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"5313:56:66"},{"assignments":[3564],"declarations":[{"constant":false,"id":3564,"mutability":"mutable","name":"max","nameLocation":"5386:3:66","nodeType":"VariableDeclaration","scope":3593,"src":"5379:10:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3563,"name":"int256","nodeType":"ElementaryTypeName","src":"5379:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3572,"initialValue":{"arguments":[{"arguments":[{"id":3569,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"5422:11:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3567,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"5399:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5408:13:66","memberName":"maxUsableTick","nodeType":"MemberAccess","referencedDeclaration":2660,"src":"5399:22:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_int24_$","typeString":"function (int24) pure returns (int24)"}},"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5399:35:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5392:6:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3565,"name":"int256","nodeType":"ElementaryTypeName","src":"5392:6:66","typeDescriptions":{}}},"id":3571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5392:43:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"5379:56:66"},{"assignments":[3574],"declarations":[{"constant":false,"id":3574,"mutability":"mutable","name":"randomTick","nameLocation":"5452:10:66","nodeType":"VariableDeclaration","scope":3593,"src":"5445:17:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3573,"name":"int256","nodeType":"ElementaryTypeName","src":"5445:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3584,"initialValue":{"arguments":[{"id":3576,"name":"seed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"5471:4:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3577,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3554,"src":"5477:3:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":3578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5483:1:66","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5477:7:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3580,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3564,"src":"5486:3:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5492:1:66","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5486:7:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3575,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[18210,18360],"referencedDeclaration":18360,"src":"5465:5:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":3583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5465:29:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"5445:49:66"},{"expression":{"arguments":[{"arguments":[{"id":3589,"name":"randomTick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3574,"src":"5545:10:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5539:5:66","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":3587,"name":"int24","nodeType":"ElementaryTypeName","src":"5539:5:66","typeDescriptions":{}}},"id":3590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5539:17:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":3585,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"5511:8:66","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":3586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5520:18:66","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"5511:27:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":3591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5511:46:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":3552,"id":3592,"nodeType":"Return","src":"5504:53:66"}]},"id":3594,"implemented":true,"kind":"function","modifiers":[],"name":"createRandomSqrtPriceX96","nameLocation":"5214:24:66","nodeType":"FunctionDefinition","parameters":{"id":3549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3546,"mutability":"mutable","name":"tickSpacing","nameLocation":"5245:11:66","nodeType":"VariableDeclaration","scope":3594,"src":"5239:17:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":3545,"name":"int24","nodeType":"ElementaryTypeName","src":"5239:5:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":3548,"mutability":"mutable","name":"seed","nameLocation":"5265:4:66","nodeType":"VariableDeclaration","scope":3594,"src":"5258:11:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3547,"name":"int256","nodeType":"ElementaryTypeName","src":"5258:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5238:32:66"},"returnParameters":{"id":3552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3594,"src":"5294:7:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3550,"name":"uint160","nodeType":"ElementaryTypeName","src":"5294:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"5293:9:66"},"scope":3784,"src":"5205:359:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3645,"nodeType":"Block","src":"6027:350:66","statements":[{"expression":{"id":3622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":3609,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"6038:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6045:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6038:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3612,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"6056:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6063:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6056:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3614,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6037:36:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3616,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3598,"src":"6087:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":3617,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3601,"src":"6092:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6099:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6092:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3619,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3601,"src":"6110:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6117:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6110:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3615,"name":"boundTicks","nodeType":"Identifier","overloadedDeclarations":[3522,3544],"referencedDeclaration":3544,"src":"6076:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_int24_$_t_int24_$returns$_t_int24_$_t_int24_$","typeString":"function (struct PoolKey memory,int24,int24) pure returns (int24,int24)"}},"id":3621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6076:51:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"src":"6037:90:66","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3623,"nodeType":"ExpressionStatement","src":"6037:90:66"},{"assignments":[3625],"declarations":[{"constant":false,"id":3625,"mutability":"mutable","name":"liquidityDeltaFromAmounts","nameLocation":"6144:25:66","nodeType":"VariableDeclaration","scope":3645,"src":"6137:32:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3624,"name":"int256","nodeType":"ElementaryTypeName","src":"6137:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3633,"initialValue":{"arguments":[{"expression":{"id":3627,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"6213:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6220:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6213:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3629,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"6231:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6238:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6231:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3631,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3603,"src":"6249:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3626,"name":"getLiquidityDeltaFromAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6184:28:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$_t_int24_$_t_uint160_$returns$_t_int256_$","typeString":"function (int24,int24,uint160) pure returns (int256)"}},"id":3632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6184:78:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"6137:125:66"},{"expression":{"id":3643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3634,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"6272:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6279:14:66","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"6272:21:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3638,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3598,"src":"6316:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":3639,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3601,"src":"6321:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6328:14:66","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"6321:21:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3641,"name":"liquidityDeltaFromAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"6344:25:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3637,"name":"boundLiquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3236,"src":"6296:19:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (struct PoolKey memory,int256,int256) pure returns (int256)"}},"id":3642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6296:74:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"6272:98:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3644,"nodeType":"ExpressionStatement","src":"6272:98:66"}]},"documentation":{"id":3595,"nodeType":"StructuredDocumentation","src":"5570:249:66","text":"@dev Obtain fuzzed and bounded parameters for creating liquidity\n @param key The pool key\n @param params IPoolManager.ModifyLiquidityParams Note that these parameters are unbounded\n @param sqrtPriceX96 The current sqrt price"},"id":3646,"implemented":true,"kind":"function","modifiers":[],"name":"createFuzzyLiquidityParams","nameLocation":"5833:26:66","nodeType":"FunctionDefinition","parameters":{"id":3604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3598,"mutability":"mutable","name":"key","nameLocation":"5875:3:66","nodeType":"VariableDeclaration","scope":3646,"src":"5860:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3597,"nodeType":"UserDefinedTypeName","pathNode":{"id":3596,"name":"PoolKey","nameLocations":["5860:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"5860:7:66"},"referencedDeclaration":4745,"src":"5860:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3601,"mutability":"mutable","name":"params","nameLocation":"5909:6:66","nodeType":"VariableDeclaration","scope":3646,"src":"5880:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3600,"nodeType":"UserDefinedTypeName","pathNode":{"id":3599,"name":"ModifyLiquidityParams","nameLocations":["5880:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"5880:21:66"},"referencedDeclaration":4761,"src":"5880:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3603,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"5925:12:66","nodeType":"VariableDeclaration","scope":3646,"src":"5917:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3602,"name":"uint160","nodeType":"ElementaryTypeName","src":"5917:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"5859:79:66"},"returnParameters":{"id":3608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3607,"mutability":"mutable","name":"result","nameLocation":"6015:6:66","nodeType":"VariableDeclaration","scope":3646,"src":"5986:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3606,"nodeType":"UserDefinedTypeName","pathNode":{"id":3605,"name":"ModifyLiquidityParams","nameLocations":["5986:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"5986:21:66"},"referencedDeclaration":4761,"src":"5986:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"src":"5985:37:66"},"scope":3784,"src":"5824:553:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3699,"nodeType":"Block","src":"6792:384:66","statements":[{"expression":{"id":3675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":3662,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3660,"src":"6803:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6810:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6803:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3665,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3660,"src":"6821:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6828:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6821:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"id":3667,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6802:36:66","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3669,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3649,"src":"6852:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":3670,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3652,"src":"6857:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6864:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6857:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3672,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3652,"src":"6875:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6882:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6875:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"}],"id":3668,"name":"boundTicks","nodeType":"Identifier","overloadedDeclarations":[3522,3544],"referencedDeclaration":3544,"src":"6841:10:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_int24_$_t_int24_$returns$_t_int24_$_t_int24_$","typeString":"function (struct PoolKey memory,int24,int24) pure returns (int24,int24)"}},"id":3674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6841:51:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int24_$_t_int24_$","typeString":"tuple(int24,int24)"}},"src":"6802:90:66","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3676,"nodeType":"ExpressionStatement","src":"6802:90:66"},{"assignments":[3678],"declarations":[{"constant":false,"id":3678,"mutability":"mutable","name":"liquidityDeltaFromAmounts","nameLocation":"6909:25:66","nodeType":"VariableDeclaration","scope":3699,"src":"6902:32:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3677,"name":"int256","nodeType":"ElementaryTypeName","src":"6902:6:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3686,"initialValue":{"arguments":[{"expression":{"id":3680,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3660,"src":"6978:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6985:9:66","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"6978:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":3682,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3660,"src":"6996:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7003:9:66","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"6996:16:66","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":3684,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3654,"src":"7014:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3679,"name":"getLiquidityDeltaFromAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6949:28:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$_t_int24_$_t_uint160_$returns$_t_int256_$","typeString":"function (int24,int24,uint160) pure returns (int256)"}},"id":3685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:78:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"6902:125:66"},{"expression":{"id":3697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3687,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3660,"src":"7038:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7045:14:66","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"7038:21:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3691,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3649,"src":"7101:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":3692,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3652,"src":"7106:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7113:14:66","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"7106:21:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3694,"name":"liquidityDeltaFromAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3678,"src":"7129:25:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3695,"name":"maxPositions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3656,"src":"7156:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3690,"name":"boundLiquidityDeltaTightly","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3290,"src":"7074:26:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_int256_$_t_int256_$_t_uint256_$returns$_t_int256_$","typeString":"function (struct PoolKey memory,int256,int256,uint256) pure returns (int256)"}},"id":3696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:95:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7038:131:66","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3698,"nodeType":"ExpressionStatement","src":"7038:131:66"}]},"id":3700,"implemented":true,"kind":"function","modifiers":[],"name":"createFuzzyLiquidityParamsWithTightBound","nameLocation":"6552:40:66","nodeType":"FunctionDefinition","parameters":{"id":3657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3649,"mutability":"mutable","name":"key","nameLocation":"6617:3:66","nodeType":"VariableDeclaration","scope":3700,"src":"6602:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3648,"nodeType":"UserDefinedTypeName","pathNode":{"id":3647,"name":"PoolKey","nameLocations":["6602:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"6602:7:66"},"referencedDeclaration":4745,"src":"6602:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3652,"mutability":"mutable","name":"params","nameLocation":"6659:6:66","nodeType":"VariableDeclaration","scope":3700,"src":"6630:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3651,"nodeType":"UserDefinedTypeName","pathNode":{"id":3650,"name":"ModifyLiquidityParams","nameLocations":["6630:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"6630:21:66"},"referencedDeclaration":4761,"src":"6630:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3654,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"6683:12:66","nodeType":"VariableDeclaration","scope":3700,"src":"6675:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3653,"name":"uint160","nodeType":"ElementaryTypeName","src":"6675:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":3656,"mutability":"mutable","name":"maxPositions","nameLocation":"6713:12:66","nodeType":"VariableDeclaration","scope":3700,"src":"6705:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3655,"name":"uint256","nodeType":"ElementaryTypeName","src":"6705:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6592:139:66"},"returnParameters":{"id":3661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3660,"mutability":"mutable","name":"result","nameLocation":"6784:6:66","nodeType":"VariableDeclaration","scope":3700,"src":"6755:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3659,"nodeType":"UserDefinedTypeName","pathNode":{"id":3658,"name":"ModifyLiquidityParams","nameLocations":["6755:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"6755:21:66"},"referencedDeclaration":4761,"src":"6755:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"src":"6754:37:66"},"scope":3784,"src":"6543:633:66","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3739,"nodeType":"Block","src":"7482:157:66","statements":[{"expression":{"id":3728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3722,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3717,"src":"7492:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3724,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3706,"src":"7528:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3725,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3709,"src":"7533:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3726,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"7541:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3723,"name":"createFuzzyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3646,"src":"7501:26:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_uint160_$returns$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,uint160) pure returns (struct ModifyLiquidityParams memory)"}},"id":3727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7501:53:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"src":"7492:62:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3729,"nodeType":"ExpressionStatement","src":"7492:62:66"},{"expression":{"id":3737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3730,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3720,"src":"7564:5:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3733,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3706,"src":"7610:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3734,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3717,"src":"7615:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3735,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3713,"src":"7623:8:66","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3731,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3703,"src":"7572:21:66","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":3732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7594:15:66","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"7572:37:66","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":3736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7572:60:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"7564:68:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":3738,"nodeType":"ExpressionStatement","src":"7564:68:66"}]},"id":3740,"implemented":true,"kind":"function","modifiers":[],"name":"createFuzzyLiquidity","nameLocation":"7191:20:66","nodeType":"FunctionDefinition","parameters":{"id":3714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3703,"mutability":"mutable","name":"modifyLiquidityRouter","nameLocation":"7245:21:66","nodeType":"VariableDeclaration","scope":3740,"src":"7221:45:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"},"typeName":{"id":3702,"nodeType":"UserDefinedTypeName","pathNode":{"id":3701,"name":"PoolModifyLiquidityTest","nameLocations":["7221:23:66"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"7221:23:66"},"referencedDeclaration":4227,"src":"7221:23:66","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"visibility":"internal"},{"constant":false,"id":3706,"mutability":"mutable","name":"key","nameLocation":"7291:3:66","nodeType":"VariableDeclaration","scope":3740,"src":"7276:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3705,"nodeType":"UserDefinedTypeName","pathNode":{"id":3704,"name":"PoolKey","nameLocations":["7276:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7276:7:66"},"referencedDeclaration":4745,"src":"7276:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3709,"mutability":"mutable","name":"params","nameLocation":"7333:6:66","nodeType":"VariableDeclaration","scope":3740,"src":"7304:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3708,"nodeType":"UserDefinedTypeName","pathNode":{"id":3707,"name":"ModifyLiquidityParams","nameLocations":["7304:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"7304:21:66"},"referencedDeclaration":4761,"src":"7304:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3711,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7357:12:66","nodeType":"VariableDeclaration","scope":3740,"src":"7349:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3710,"name":"uint160","nodeType":"ElementaryTypeName","src":"7349:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":3713,"mutability":"mutable","name":"hookData","nameLocation":"7392:8:66","nodeType":"VariableDeclaration","scope":3740,"src":"7379:21:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3712,"name":"bytes","nodeType":"ElementaryTypeName","src":"7379:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7211:195:66"},"returnParameters":{"id":3721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3717,"mutability":"mutable","name":"result","nameLocation":"7454:6:66","nodeType":"VariableDeclaration","scope":3740,"src":"7425:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3716,"nodeType":"UserDefinedTypeName","pathNode":{"id":3715,"name":"ModifyLiquidityParams","nameLocations":["7425:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"7425:21:66"},"referencedDeclaration":4761,"src":"7425:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3720,"mutability":"mutable","name":"delta","nameLocation":"7475:5:66","nodeType":"VariableDeclaration","scope":3740,"src":"7462:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":3719,"nodeType":"UserDefinedTypeName","pathNode":{"id":3718,"name":"BalanceDelta","nameLocations":["7462:12:66"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7462:12:66"},"referencedDeclaration":4233,"src":"7462:12:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"7424:57:66"},"scope":3784,"src":"7182:457:66","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3782,"nodeType":"Block","src":"8084:185:66","statements":[{"expression":{"id":3771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3764,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3759,"src":"8094:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3766,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3746,"src":"8144:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3767,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3749,"src":"8149:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3768,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"8157:12:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":3769,"name":"maxPositions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3755,"src":"8171:12:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3765,"name":"createFuzzyLiquidityParamsWithTightBound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3700,"src":"8103:40:66","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_uint160_$_t_uint256_$returns$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,uint160,uint256) pure returns (struct ModifyLiquidityParams memory)"}},"id":3770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8103:81:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"src":"8094:90:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3772,"nodeType":"ExpressionStatement","src":"8094:90:66"},{"expression":{"id":3780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3773,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3762,"src":"8194:5:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3776,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3746,"src":"8240:3:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3777,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3759,"src":"8245:6:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3778,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3753,"src":"8253:8:66","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3774,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3743,"src":"8202:21:66","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":3775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8224:15:66","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"8202:37:66","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":3779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:60:66","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"8194:68:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":3781,"nodeType":"ExpressionStatement","src":"8194:68:66"}]},"id":3783,"implemented":true,"kind":"function","modifiers":[],"name":"createFuzzyLiquidityWithTightBound","nameLocation":"7749:34:66","nodeType":"FunctionDefinition","parameters":{"id":3756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3743,"mutability":"mutable","name":"modifyLiquidityRouter","nameLocation":"7817:21:66","nodeType":"VariableDeclaration","scope":3783,"src":"7793:45:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"},"typeName":{"id":3742,"nodeType":"UserDefinedTypeName","pathNode":{"id":3741,"name":"PoolModifyLiquidityTest","nameLocations":["7793:23:66"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"7793:23:66"},"referencedDeclaration":4227,"src":"7793:23:66","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"visibility":"internal"},{"constant":false,"id":3746,"mutability":"mutable","name":"key","nameLocation":"7863:3:66","nodeType":"VariableDeclaration","scope":3783,"src":"7848:18:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3745,"nodeType":"UserDefinedTypeName","pathNode":{"id":3744,"name":"PoolKey","nameLocations":["7848:7:66"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7848:7:66"},"referencedDeclaration":4745,"src":"7848:7:66","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3749,"mutability":"mutable","name":"params","nameLocation":"7905:6:66","nodeType":"VariableDeclaration","scope":3783,"src":"7876:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3748,"nodeType":"UserDefinedTypeName","pathNode":{"id":3747,"name":"ModifyLiquidityParams","nameLocations":["7876:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"7876:21:66"},"referencedDeclaration":4761,"src":"7876:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3751,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7929:12:66","nodeType":"VariableDeclaration","scope":3783,"src":"7921:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":3750,"name":"uint160","nodeType":"ElementaryTypeName","src":"7921:7:66","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":3753,"mutability":"mutable","name":"hookData","nameLocation":"7964:8:66","nodeType":"VariableDeclaration","scope":3783,"src":"7951:21:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3752,"name":"bytes","nodeType":"ElementaryTypeName","src":"7951:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3755,"mutability":"mutable","name":"maxPositions","nameLocation":"7990:12:66","nodeType":"VariableDeclaration","scope":3783,"src":"7982:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3754,"name":"uint256","nodeType":"ElementaryTypeName","src":"7982:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7783:225:66"},"returnParameters":{"id":3763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3759,"mutability":"mutable","name":"result","nameLocation":"8056:6:66","nodeType":"VariableDeclaration","scope":3783,"src":"8027:35:66","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3758,"nodeType":"UserDefinedTypeName","pathNode":{"id":3757,"name":"ModifyLiquidityParams","nameLocations":["8027:21:66"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"8027:21:66"},"referencedDeclaration":4761,"src":"8027:21:66","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3762,"mutability":"mutable","name":"delta","nameLocation":"8077:5:66","nodeType":"VariableDeclaration","scope":3783,"src":"8064:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":3761,"nodeType":"UserDefinedTypeName","pathNode":{"id":3760,"name":"BalanceDelta","nameLocations":["8064:12:66"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"8064:12:66"},"referencedDeclaration":4233,"src":"8064:12:66","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"8026:57:66"},"scope":3784,"src":"7740:529:66","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":3785,"src":"673:7598:66","usedErrors":[],"usedEvents":[]}],"src":"32:8240:66"},"id":66},"v4-core/src/test/PoolClaimsTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolClaimsTest.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencySettler":[49175],"IPoolManager":[1763],"PoolClaimsTest":[51371],"PoolTestBase":[49039],"SafeCast":[47298]},"id":51372,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":51181,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:67"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":51183,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":4694,"src":"65:47:67","symbolAliases":[{"foreign":{"id":51182,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"73:8:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":51185,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":4392,"src":"113:55:67","symbolAliases":[{"foreign":{"id":51184,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"121:12:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":51187,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":1764,"src":"169:60:67","symbolAliases":[{"foreign":{"id":51186,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"177:12:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":51189,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":49040,"src":"230:48:67","symbolAliases":[{"foreign":{"id":51188,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"238:12:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"../libraries/SafeCast.sol","id":51191,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":47299,"src":"279:51:67","symbolAliases":[{"foreign":{"id":51190,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"287:8:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":51193,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51372,"sourceUnit":49176,"src":"331:69:67","symbolAliases":[{"foreign":{"id":51192,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"339:15:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":51194,"name":"PoolTestBase","nameLocations":["429:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"429:12:67"},"id":51195,"nodeType":"InheritanceSpecifier","src":"429:12:67"}],"canonicalName":"PoolClaimsTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":51371,"linearizedBaseContracts":[51371,49039,56802],"name":"PoolClaimsTest","nameLocation":"411:14:67","nodeType":"ContractDefinition","nodes":[{"global":false,"id":51199,"libraryName":{"id":51196,"name":"CurrencySettler","nameLocations":["454:15:67"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"454:15:67"},"nodeType":"UsingForDirective","src":"448:35:67","typeName":{"id":51198,"nodeType":"UserDefinedTypeName","pathNode":{"id":51197,"name":"Currency","nameLocations":["474:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"474:8:67"},"referencedDeclaration":4399,"src":"474:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":51202,"libraryName":{"id":51200,"name":"SafeCast","nameLocations":["494:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"494:8:67"},"nodeType":"UsingForDirective","src":"488:27:67","typeName":{"id":51201,"name":"uint256","nodeType":"ElementaryTypeName","src":"507:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"body":{"id":51211,"nodeType":"Block","src":"579:2:67","statements":[]},"id":51212,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":51208,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51205,"src":"569:8:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":51209,"kind":"baseConstructorSpecifier","modifierName":{"id":51207,"name":"PoolTestBase","nameLocations":["556:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"556:12:67"},"nodeType":"ModifierInvocation","src":"556:22:67"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":51206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51205,"mutability":"mutable","name":"_manager","nameLocation":"546:8:67","nodeType":"VariableDeclaration","scope":51212,"src":"533:21:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":51204,"nodeType":"UserDefinedTypeName","pathNode":{"id":51203,"name":"IPoolManager","nameLocations":["533:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"533:12:67"},"referencedDeclaration":1763,"src":"533:12:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"532:23:67"},"returnParameters":{"id":51210,"nodeType":"ParameterList","parameters":[],"src":"579:0:67"},"scope":51371,"src":"521:60:67","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"PoolClaimsTest.CallbackData","id":51224,"members":[{"constant":false,"id":51214,"mutability":"mutable","name":"sender","nameLocation":"625:6:67","nodeType":"VariableDeclaration","scope":51224,"src":"617:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51213,"name":"address","nodeType":"ElementaryTypeName","src":"617:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51216,"mutability":"mutable","name":"user","nameLocation":"649:4:67","nodeType":"VariableDeclaration","scope":51224,"src":"641:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51215,"name":"address","nodeType":"ElementaryTypeName","src":"641:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51219,"mutability":"mutable","name":"currency","nameLocation":"672:8:67","nodeType":"VariableDeclaration","scope":51224,"src":"663:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51218,"nodeType":"UserDefinedTypeName","pathNode":{"id":51217,"name":"Currency","nameLocations":["663:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"663:8:67"},"referencedDeclaration":4399,"src":"663:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51221,"mutability":"mutable","name":"amount","nameLocation":"698:6:67","nodeType":"VariableDeclaration","scope":51224,"src":"690:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51220,"name":"uint256","nodeType":"ElementaryTypeName","src":"690:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51223,"mutability":"mutable","name":"deposit","nameLocation":"719:7:67","nodeType":"VariableDeclaration","scope":51224,"src":"714:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51222,"name":"bool","nodeType":"ElementaryTypeName","src":"714:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"594:12:67","nodeType":"StructDefinition","scope":51371,"src":"587:146:67","visibility":"public"},{"body":{"id":51251,"nodeType":"Block","src":"874:99:67","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":51241,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"923:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"927:6:67","memberName":"sender","nodeType":"MemberAccess","src":"923:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51243,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51230,"src":"935:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51244,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51228,"src":"941:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":51245,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51232,"src":"951:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":51246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"959:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51240,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51224,"src":"910:12:67","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51224_storage_ptr_$","typeString":"type(struct PoolClaimsTest.CallbackData storage pointer)"}},"id":51247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"910:54:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}],"expression":{"id":51238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"899:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"903:6:67","memberName":"encode","nodeType":"MemberAccess","src":"899:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"899:66:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51235,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"884:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"892:6:67","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"884:14:67","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":51249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"884:82:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":51250,"nodeType":"ExpressionStatement","src":"884:82:67"}]},"documentation":{"id":51225,"nodeType":"StructuredDocumentation","src":"739:47:67","text":"@notice Convert ERC20 into a claimable 6909"},"functionSelector":"8340f549","id":51252,"implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"800:7:67","nodeType":"FunctionDefinition","parameters":{"id":51233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51228,"mutability":"mutable","name":"currency","nameLocation":"817:8:67","nodeType":"VariableDeclaration","scope":51252,"src":"808:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51227,"nodeType":"UserDefinedTypeName","pathNode":{"id":51226,"name":"Currency","nameLocations":["808:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"808:8:67"},"referencedDeclaration":4399,"src":"808:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51230,"mutability":"mutable","name":"user","nameLocation":"835:4:67","nodeType":"VariableDeclaration","scope":51252,"src":"827:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51229,"name":"address","nodeType":"ElementaryTypeName","src":"827:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51232,"mutability":"mutable","name":"amount","nameLocation":"849:6:67","nodeType":"VariableDeclaration","scope":51252,"src":"841:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51231,"name":"uint256","nodeType":"ElementaryTypeName","src":"841:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"807:49:67"},"returnParameters":{"id":51234,"nodeType":"ParameterList","parameters":[],"src":"874:0:67"},"scope":51371,"src":"791:182:67","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":51279,"nodeType":"Block","src":"1111:100:67","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":51269,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1160:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1164:6:67","memberName":"sender","nodeType":"MemberAccess","src":"1160:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51271,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51258,"src":"1172:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51272,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51256,"src":"1178:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":51273,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51260,"src":"1188:6:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1196:5:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51268,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51224,"src":"1147:12:67","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51224_storage_ptr_$","typeString":"type(struct PoolClaimsTest.CallbackData storage pointer)"}},"id":51275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1147:55:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}],"expression":{"id":51266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1136:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1140:6:67","memberName":"encode","nodeType":"MemberAccess","src":"1136:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1136:67:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51263,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1121:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1129:6:67","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1121:14:67","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":51277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:83:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":51278,"nodeType":"ExpressionStatement","src":"1121:83:67"}]},"documentation":{"id":51253,"nodeType":"StructuredDocumentation","src":"979:43:67","text":"@notice Redeem claimable 6909 for ERC20"},"functionSelector":"d9caed12","id":51280,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"1036:8:67","nodeType":"FunctionDefinition","parameters":{"id":51261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51256,"mutability":"mutable","name":"currency","nameLocation":"1054:8:67","nodeType":"VariableDeclaration","scope":51280,"src":"1045:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":51255,"nodeType":"UserDefinedTypeName","pathNode":{"id":51254,"name":"Currency","nameLocations":["1045:8:67"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1045:8:67"},"referencedDeclaration":4399,"src":"1045:8:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":51258,"mutability":"mutable","name":"user","nameLocation":"1072:4:67","nodeType":"VariableDeclaration","scope":51280,"src":"1064:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51257,"name":"address","nodeType":"ElementaryTypeName","src":"1064:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51260,"mutability":"mutable","name":"amount","nameLocation":"1086:6:67","nodeType":"VariableDeclaration","scope":51280,"src":"1078:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51259,"name":"uint256","nodeType":"ElementaryTypeName","src":"1078:7:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1044:49:67"},"returnParameters":{"id":51262,"nodeType":"ParameterList","parameters":[],"src":"1111:0:67"},"scope":51371,"src":"1027:184:67","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":51369,"nodeType":"Block","src":"1297:565:67","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51288,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1315:3:67","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1319:6:67","memberName":"sender","nodeType":"MemberAccess","src":"1315:10:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":51292,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1337:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":51291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1329:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51290,"name":"address","nodeType":"ElementaryTypeName","src":"1329:7:67","typeDescriptions":{}}},"id":51293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1329:16:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1315:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51287,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1307:7:67","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1307:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51296,"nodeType":"ExpressionStatement","src":"1307:39:67"},{"assignments":[51299],"declarations":[{"constant":false,"id":51299,"mutability":"mutable","name":"data","nameLocation":"1377:4:67","nodeType":"VariableDeclaration","scope":51369,"src":"1357:24:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData"},"typeName":{"id":51298,"nodeType":"UserDefinedTypeName","pathNode":{"id":51297,"name":"CallbackData","nameLocations":["1357:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":51224,"src":"1357:12:67"},"referencedDeclaration":51224,"src":"1357:12:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_storage_ptr","typeString":"struct PoolClaimsTest.CallbackData"}},"visibility":"internal"}],"id":51306,"initialValue":{"arguments":[{"id":51302,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51282,"src":"1395:7:67","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":51303,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51224,"src":"1405:12:67","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51224_storage_ptr_$","typeString":"type(struct PoolClaimsTest.CallbackData storage pointer)"}}],"id":51304,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1404:14:67","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51224_storage_ptr_$","typeString":"type(struct PoolClaimsTest.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51224_storage_ptr_$","typeString":"type(struct PoolClaimsTest.CallbackData storage pointer)"}],"expression":{"id":51300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1384:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1388:6:67","memberName":"decode","nodeType":"MemberAccess","src":"1384:10:67","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:35:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"1357:62:67"},{"condition":{"expression":{"id":51307,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1434:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1439:7:67","memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":51223,"src":"1434:12:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":51362,"nodeType":"Block","src":"1641:184:67","statements":[{"expression":{"arguments":[{"id":51341,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1676:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51342,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1685:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51343,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1690:4:67","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":51216,"src":"1685:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":51344,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1696:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1701:6:67","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"1696:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":51346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1709:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":51336,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1655:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1660:8:67","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":51219,"src":"1655:13:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1669:6:67","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"1655:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1655:59:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51348,"nodeType":"ExpressionStatement","src":"1655:59:67"},{"expression":{"arguments":[{"id":51354,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1760:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51355,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1769:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1774:4:67","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":51216,"src":"1769:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":51357,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1780:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1785:6:67","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"1780:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1793:5:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":51349,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1741:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1746:8:67","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":51219,"src":"1741:13:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1755:4:67","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"1741:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1741:58:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51361,"nodeType":"ExpressionStatement","src":"1741:58:67"}]},"id":51363,"nodeType":"IfStatement","src":"1430:395:67","trueBody":{"id":51335,"nodeType":"Block","src":"1448:187:67","statements":[{"expression":{"arguments":[{"id":51314,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1481:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51315,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1490:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1495:4:67","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":51216,"src":"1490:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":51317,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1501:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1506:6:67","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"1501:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":51319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1514:4:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":51309,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1462:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1467:8:67","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":51219,"src":"1462:13:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1476:4:67","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"1462:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1462:57:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51321,"nodeType":"ExpressionStatement","src":"1462:57:67"},{"expression":{"arguments":[{"id":51327,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1567:7:67","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51328,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1576:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1581:4:67","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":51216,"src":"1576:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":51330,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1587:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1592:6:67","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"1587:11:67","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1600:5:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":51322,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51299,"src":"1546:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51224_memory_ptr","typeString":"struct PoolClaimsTest.CallbackData memory"}},"id":51325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1551:8:67","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":51219,"src":"1546:13:67","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1560:6:67","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"1546:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1546:60:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51334,"nodeType":"ExpressionStatement","src":"1546:60:67"}]}},{"expression":{"arguments":[{"hexValue":"30","id":51366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1853:1:67","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":51364,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1842:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1846:6:67","memberName":"encode","nodeType":"MemberAccess","src":"1842:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1842:13:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":51286,"id":51368,"nodeType":"Return","src":"1835:20:67"}]},"functionSelector":"91dd7346","id":51370,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1226:14:67","nodeType":"FunctionDefinition","parameters":{"id":51283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51282,"mutability":"mutable","name":"rawData","nameLocation":"1256:7:67","nodeType":"VariableDeclaration","scope":51370,"src":"1241:22:67","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51281,"name":"bytes","nodeType":"ElementaryTypeName","src":"1241:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1240:24:67"},"returnParameters":{"id":51286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51370,"src":"1283:12:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51284,"name":"bytes","nodeType":"ElementaryTypeName","src":"1283:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1282:14:67"},"scope":51371,"src":"1217:645:67","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":51372,"src":"402:1462:67","usedErrors":[],"usedEvents":[]}],"src":"39:1826:67"},"id":67},"v4-core/src/test/PoolDonateTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolDonateTest.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencyLibrary":[4693],"CurrencySettler":[49175],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"PoolDonateTest":[51712],"PoolKey":[4745],"PoolTestBase":[49039]},"id":51713,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":51373,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:68"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":51376,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":4694,"src":"65:64:68","symbolAliases":[{"foreign":{"id":51374,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"73:8:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":51375,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"83:15:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":51378,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":1764,"src":"130:60:68","symbolAliases":[{"foreign":{"id":51377,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"138:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":51380,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":4746,"src":"191:45:68","symbolAliases":[{"foreign":{"id":51379,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"199:7:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":51382,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":4392,"src":"237:55:68","symbolAliases":[{"foreign":{"id":51381,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"245:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":51384,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":49040,"src":"293:48:68","symbolAliases":[{"foreign":{"id":51383,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"301:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":51386,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":1481,"src":"342:48:68","symbolAliases":[{"foreign":{"id":51385,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"350:6:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../libraries/Hooks.sol","id":51388,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":48812,"src":"391:45:68","symbolAliases":[{"foreign":{"id":51387,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"399:5:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":51390,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":51713,"sourceUnit":49176,"src":"437:69:68","symbolAliases":[{"foreign":{"id":51389,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"445:15:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":51391,"name":"PoolTestBase","nameLocations":["535:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"535:12:68"},"id":51392,"nodeType":"InheritanceSpecifier","src":"535:12:68"}],"canonicalName":"PoolDonateTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":51712,"linearizedBaseContracts":[51712,49039,56802],"name":"PoolDonateTest","nameLocation":"517:14:68","nodeType":"ContractDefinition","nodes":[{"global":false,"id":51396,"libraryName":{"id":51393,"name":"CurrencySettler","nameLocations":["560:15:68"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"560:15:68"},"nodeType":"UsingForDirective","src":"554:35:68","typeName":{"id":51395,"nodeType":"UserDefinedTypeName","pathNode":{"id":51394,"name":"Currency","nameLocations":["580:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"580:8:68"},"referencedDeclaration":4399,"src":"580:8:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":51400,"libraryName":{"id":51397,"name":"Hooks","nameLocations":["600:5:68"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"600:5:68"},"nodeType":"UsingForDirective","src":"594:23:68","typeName":{"id":51399,"nodeType":"UserDefinedTypeName","pathNode":{"id":51398,"name":"IHooks","nameLocations":["610:6:68"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"610:6:68"},"referencedDeclaration":1480,"src":"610:6:68","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"body":{"id":51409,"nodeType":"Block","src":"681:2:68","statements":[]},"id":51410,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":51406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51403,"src":"671:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":51407,"kind":"baseConstructorSpecifier","modifierName":{"id":51405,"name":"PoolTestBase","nameLocations":["658:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"658:12:68"},"nodeType":"ModifierInvocation","src":"658:22:68"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":51404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51403,"mutability":"mutable","name":"_manager","nameLocation":"648:8:68","nodeType":"VariableDeclaration","scope":51410,"src":"635:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":51402,"nodeType":"UserDefinedTypeName","pathNode":{"id":51401,"name":"IPoolManager","nameLocations":["635:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"635:12:68"},"referencedDeclaration":1763,"src":"635:12:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"634:23:68"},"returnParameters":{"id":51408,"nodeType":"ParameterList","parameters":[],"src":"681:0:68"},"scope":51712,"src":"623:60:68","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"PoolDonateTest.CallbackData","id":51422,"members":[{"constant":false,"id":51412,"mutability":"mutable","name":"sender","nameLocation":"727:6:68","nodeType":"VariableDeclaration","scope":51422,"src":"719:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51411,"name":"address","nodeType":"ElementaryTypeName","src":"719:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51415,"mutability":"mutable","name":"key","nameLocation":"751:3:68","nodeType":"VariableDeclaration","scope":51422,"src":"743:11:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":51414,"nodeType":"UserDefinedTypeName","pathNode":{"id":51413,"name":"PoolKey","nameLocations":["743:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"743:7:68"},"referencedDeclaration":4745,"src":"743:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":51417,"mutability":"mutable","name":"amount0","nameLocation":"772:7:68","nodeType":"VariableDeclaration","scope":51422,"src":"764:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51416,"name":"uint256","nodeType":"ElementaryTypeName","src":"764:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51419,"mutability":"mutable","name":"amount1","nameLocation":"797:7:68","nodeType":"VariableDeclaration","scope":51422,"src":"789:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51418,"name":"uint256","nodeType":"ElementaryTypeName","src":"789:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51421,"mutability":"mutable","name":"hookData","nameLocation":"820:8:68","nodeType":"VariableDeclaration","scope":51422,"src":"814:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":51420,"name":"bytes","nodeType":"ElementaryTypeName","src":"814:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"696:12:68","nodeType":"StructDefinition","scope":51712,"src":"689:146:68","visibility":"public"},{"body":{"id":51482,"nodeType":"Block","src":"1008:328:68","statements":[{"expression":{"id":51457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51437,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51435,"src":"1018:5:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":51445,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1089:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1093:6:68","memberName":"sender","nodeType":"MemberAccess","src":"1089:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51447,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51425,"src":"1101:3:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":51448,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51427,"src":"1106:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51449,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51429,"src":"1115:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51450,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51431,"src":"1124:8:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51444,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51422,"src":"1076:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51422_storage_ptr_$","typeString":"type(struct PoolDonateTest.CallbackData storage pointer)"}},"id":51451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1076:57:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}],"expression":{"id":51442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1065:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1069:6:68","memberName":"encode","nodeType":"MemberAccess","src":"1065:10:68","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1065:69:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51440,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1050:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1058:6:68","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1050:14:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":51453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:85:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51454,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1138:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"id":51455,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1137:14:68","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}],"expression":{"id":51438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1026:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1030:6:68","memberName":"decode","nodeType":"MemberAccess","src":"1026:10:68","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1026:135:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1018:143:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":51458,"nodeType":"ExpressionStatement","src":"1018:143:68"},{"assignments":[51460],"declarations":[{"constant":false,"id":51460,"mutability":"mutable","name":"ethBalance","nameLocation":"1180:10:68","nodeType":"VariableDeclaration","scope":51482,"src":"1172:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51459,"name":"uint256","nodeType":"ElementaryTypeName","src":"1172:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51466,"initialValue":{"expression":{"arguments":[{"id":51463,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1201:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":51462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1193:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51461,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:68","typeDescriptions":{}}},"id":51464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1193:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1207:7:68","memberName":"balance","nodeType":"MemberAccess","src":"1193:21:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1172:42:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51467,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51460,"src":"1228:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1241:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1228:14:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51481,"nodeType":"IfStatement","src":"1224:106:68","trueBody":{"id":51480,"nodeType":"Block","src":"1244:86:68","statements":[{"expression":{"arguments":[{"expression":{"id":51475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1296:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1300:6:68","memberName":"sender","nodeType":"MemberAccess","src":"1296:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51477,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51460,"src":"1308:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":51470,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"1258:15:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":51473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1274:12:68","memberName":"ADDRESS_ZERO","nodeType":"MemberAccess","referencedDeclaration":4516,"src":"1258:28:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1287:8:68","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"1258:37:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":51478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:61:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51479,"nodeType":"ExpressionStatement","src":"1258:61:68"}]}}]},"functionSelector":"234266d7","id":51483,"implemented":true,"kind":"function","modifiers":[],"name":"donate","nameLocation":"850:6:68","nodeType":"FunctionDefinition","parameters":{"id":51432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51425,"mutability":"mutable","name":"key","nameLocation":"872:3:68","nodeType":"VariableDeclaration","scope":51483,"src":"857:18:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":51424,"nodeType":"UserDefinedTypeName","pathNode":{"id":51423,"name":"PoolKey","nameLocations":["857:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"857:7:68"},"referencedDeclaration":4745,"src":"857:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":51427,"mutability":"mutable","name":"amount0","nameLocation":"885:7:68","nodeType":"VariableDeclaration","scope":51483,"src":"877:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51426,"name":"uint256","nodeType":"ElementaryTypeName","src":"877:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51429,"mutability":"mutable","name":"amount1","nameLocation":"902:7:68","nodeType":"VariableDeclaration","scope":51483,"src":"894:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51428,"name":"uint256","nodeType":"ElementaryTypeName","src":"894:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51431,"mutability":"mutable","name":"hookData","nameLocation":"924:8:68","nodeType":"VariableDeclaration","scope":51483,"src":"911:21:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51430,"name":"bytes","nodeType":"ElementaryTypeName","src":"911:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"856:77:68"},"returnParameters":{"id":51436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51435,"mutability":"mutable","name":"delta","nameLocation":"997:5:68","nodeType":"VariableDeclaration","scope":51483,"src":"984:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":51434,"nodeType":"UserDefinedTypeName","pathNode":{"id":51433,"name":"BalanceDelta","nameLocations":["984:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"984:12:68"},"referencedDeclaration":4233,"src":"984:12:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"983:20:68"},"scope":51712,"src":"841:495:68","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":51710,"nodeType":"Block","src":"1422:1426:68","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51491,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1440:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1444:6:68","memberName":"sender","nodeType":"MemberAccess","src":"1440:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":51495,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1462:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":51494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1454:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51493,"name":"address","nodeType":"ElementaryTypeName","src":"1454:7:68","typeDescriptions":{}}},"id":51496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:16:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1440:30:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51490,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1432:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51499,"nodeType":"ExpressionStatement","src":"1432:39:68"},{"assignments":[51502],"declarations":[{"constant":false,"id":51502,"mutability":"mutable","name":"data","nameLocation":"1502:4:68","nodeType":"VariableDeclaration","scope":51710,"src":"1482:24:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData"},"typeName":{"id":51501,"nodeType":"UserDefinedTypeName","pathNode":{"id":51500,"name":"CallbackData","nameLocations":["1482:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":51422,"src":"1482:12:68"},"referencedDeclaration":51422,"src":"1482:12:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_storage_ptr","typeString":"struct PoolDonateTest.CallbackData"}},"visibility":"internal"}],"id":51509,"initialValue":{"arguments":[{"id":51505,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51485,"src":"1520:7:68","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":51506,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51422,"src":"1530:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51422_storage_ptr_$","typeString":"type(struct PoolDonateTest.CallbackData storage pointer)"}}],"id":51507,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1529:14:68","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51422_storage_ptr_$","typeString":"type(struct PoolDonateTest.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51422_storage_ptr_$","typeString":"type(struct PoolDonateTest.CallbackData storage pointer)"}],"expression":{"id":51503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1509:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1513:6:68","memberName":"decode","nodeType":"MemberAccess","src":"1509:10:68","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1509:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"1482:62:68"},{"assignments":[null,null,51511],"declarations":[null,null,{"constant":false,"id":51511,"mutability":"mutable","name":"deltaBefore0","nameLocation":"1566:12:68","nodeType":"VariableDeclaration","scope":51710,"src":"1559:19:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51510,"name":"int256","nodeType":"ElementaryTypeName","src":"1559:6:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51523,"initialValue":{"arguments":[{"expression":{"expression":{"id":51513,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1597:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1602:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"1597:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1606:9:68","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"1597:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":51516,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1617:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1622:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"1617:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51520,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1638:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":51519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1630:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51518,"name":"address","nodeType":"ElementaryTypeName","src":"1630:7:68","typeDescriptions":{}}},"id":51521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1630:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51512,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1582:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":51522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1582:62:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1555:89:68"},{"assignments":[null,null,51525],"declarations":[null,null,{"constant":false,"id":51525,"mutability":"mutable","name":"deltaBefore1","nameLocation":"1665:12:68","nodeType":"VariableDeclaration","scope":51710,"src":"1658:19:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51524,"name":"int256","nodeType":"ElementaryTypeName","src":"1658:6:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51537,"initialValue":{"arguments":[{"expression":{"expression":{"id":51527,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1696:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1701:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"1696:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1705:9:68","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"1696:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":51530,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1716:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1721:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"1716:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51534,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1737:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":51533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1729:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51532,"name":"address","nodeType":"ElementaryTypeName","src":"1729:7:68","typeDescriptions":{}}},"id":51535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1729:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51526,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1681:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":51536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1681:62:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1654:89:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51539,"name":"deltaBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51511,"src":"1762:12:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":51540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1778:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1762:17:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614265666f726530206973206e6f742030","id":51542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1781:23:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac91d6a9ecfb7c87949366a4a0815327970407d3f5e03a1ecb45db4180433eb5","typeString":"literal_string \"deltaBefore0 is not 0\""},"value":"deltaBefore0 is not 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ac91d6a9ecfb7c87949366a4a0815327970407d3f5e03a1ecb45db4180433eb5","typeString":"literal_string \"deltaBefore0 is not 0\""}],"id":51538,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1754:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:51:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51544,"nodeType":"ExpressionStatement","src":"1754:51:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51546,"name":"deltaBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51525,"src":"1823:12:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":51547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1839:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1823:17:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614265666f726531206973206e6f742030","id":51549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1842:23:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_294bb377f575b47a12b62684f723e6b52ffd34cf689955ca2cb1e18e5ebbde9d","typeString":"literal_string \"deltaBefore1 is not 0\""},"value":"deltaBefore1 is not 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_294bb377f575b47a12b62684f723e6b52ffd34cf689955ca2cb1e18e5ebbde9d","typeString":"literal_string \"deltaBefore1 is not 0\""}],"id":51545,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1815:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1815:51:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51551,"nodeType":"ExpressionStatement","src":"1815:51:68"},{"assignments":[51554],"declarations":[{"constant":false,"id":51554,"mutability":"mutable","name":"delta","nameLocation":"1890:5:68","nodeType":"VariableDeclaration","scope":51710,"src":"1877:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":51553,"nodeType":"UserDefinedTypeName","pathNode":{"id":51552,"name":"BalanceDelta","nameLocations":["1877:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1877:12:68"},"referencedDeclaration":4233,"src":"1877:12:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":51566,"initialValue":{"arguments":[{"expression":{"id":51557,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1913:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1918:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"1913:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":51559,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1923:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1928:7:68","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":51417,"src":"1923:12:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51561,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1937:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1942:7:68","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":51419,"src":"1937:12:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51563,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"1951:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1956:8:68","memberName":"hookData","nodeType":"MemberAccess","referencedDeclaration":51421,"src":"1951:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51555,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1898:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1906:6:68","memberName":"donate","nodeType":"MemberAccess","referencedDeclaration":1692,"src":"1898:14:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,uint256,uint256,bytes memory) external returns (BalanceDelta)"}},"id":51565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1898:67:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"1877:88:68"},{"assignments":[null,null,51568],"declarations":[null,null,{"constant":false,"id":51568,"mutability":"mutable","name":"deltaAfter0","nameLocation":"1987:11:68","nodeType":"VariableDeclaration","scope":51710,"src":"1980:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51567,"name":"int256","nodeType":"ElementaryTypeName","src":"1980:6:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51580,"initialValue":{"arguments":[{"expression":{"expression":{"id":51570,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2017:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2022:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2017:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2026:9:68","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2017:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":51573,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2037:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2042:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2037:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51577,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2058:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":51576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2050:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51575,"name":"address","nodeType":"ElementaryTypeName","src":"2050:7:68","typeDescriptions":{}}},"id":51578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2050:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51569,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2002:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":51579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2002:62:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1976:88:68"},{"assignments":[null,null,51582],"declarations":[null,null,{"constant":false,"id":51582,"mutability":"mutable","name":"deltaAfter1","nameLocation":"2085:11:68","nodeType":"VariableDeclaration","scope":51710,"src":"2078:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51581,"name":"int256","nodeType":"ElementaryTypeName","src":"2078:6:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51594,"initialValue":{"arguments":[{"expression":{"expression":{"id":51584,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2115:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2120:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2115:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2124:9:68","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2115:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":51587,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2135:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2140:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2135:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51591,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2156:4:68","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":51590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2148:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51589,"name":"address","nodeType":"ElementaryTypeName","src":"2148:7:68","typeDescriptions":{}}},"id":51592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2148:13:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":51583,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2100:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":51593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2100:62:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"2074:88:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51596,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"2181:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":51602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2196:21:68","subExpression":{"arguments":[{"expression":{"id":51599,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2204:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51600,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2209:7:68","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":51417,"src":"2204:12:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2197:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":51597,"name":"int256","nodeType":"ElementaryTypeName","src":"2197:6:68","typeDescriptions":{}}},"id":51601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2197:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2181:36:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657230206973206e6f7420657175616c20746f202d696e7432353628646174612e616d6f756e743029","id":51604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2219:51:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c4a6181a6b0d65433e8bd9afaec270e9af7e29a01297915b0906ffb2215e0ef","typeString":"literal_string \"deltaAfter0 is not equal to -int256(data.amount0)\""},"value":"deltaAfter0 is not equal to -int256(data.amount0)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c4a6181a6b0d65433e8bd9afaec270e9af7e29a01297915b0906ffb2215e0ef","typeString":"literal_string \"deltaAfter0 is not equal to -int256(data.amount0)\""}],"id":51595,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2173:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:98:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51606,"nodeType":"ExpressionStatement","src":"2173:98:68"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51608,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"2289:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":51614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2304:21:68","subExpression":{"arguments":[{"expression":{"id":51611,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2312:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2317:7:68","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":51419,"src":"2312:12:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2305:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":51609,"name":"int256","nodeType":"ElementaryTypeName","src":"2305:6:68","typeDescriptions":{}}},"id":51613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2289:36:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657231206973206e6f7420657175616c20746f202d696e7432353628646174612e616d6f756e743129","id":51616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2327:51:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ce3da238800242bdaca500ecdeec09a3e2340b7e0cefc6479829648c574f7bb","typeString":"literal_string \"deltaAfter1 is not equal to -int256(data.amount1)\""},"value":"deltaAfter1 is not equal to -int256(data.amount1)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1ce3da238800242bdaca500ecdeec09a3e2340b7e0cefc6479829648c574f7bb","typeString":"literal_string \"deltaAfter1 is not equal to -int256(data.amount1)\""}],"id":51607,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2281:7:68","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2281:98:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51618,"nodeType":"ExpressionStatement","src":"2281:98:68"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51619,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"2394:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":51620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2408:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2394:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51640,"nodeType":"IfStatement","src":"2390:98:68","trueBody":{"expression":{"arguments":[{"id":51629,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2437:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51630,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2446:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2451:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2446:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2467:12:68","subExpression":{"id":51634,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"2468:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2459:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51632,"name":"uint256","nodeType":"ElementaryTypeName","src":"2459:7:68","typeDescriptions":{}}},"id":51636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2459:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2482:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51622,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2411:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2416:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2411:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2420:9:68","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2411:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2430:6:68","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"2411:25:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2411:77:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51639,"nodeType":"ExpressionStatement","src":"2411:77:68"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51641,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"2502:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":51642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2516:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2502:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51662,"nodeType":"IfStatement","src":"2498:98:68","trueBody":{"expression":{"arguments":[{"id":51651,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2545:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51652,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2554:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2559:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2554:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2575:12:68","subExpression":{"id":51656,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"2576:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2567:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51654,"name":"uint256","nodeType":"ElementaryTypeName","src":"2567:7:68","typeDescriptions":{}}},"id":51658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2567:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2590:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51644,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2519:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2524:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2519:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2528:9:68","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2519:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:6:68","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"2519:25:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2519:77:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51661,"nodeType":"ExpressionStatement","src":"2519:77:68"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51663,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"2610:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2624:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2610:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51683,"nodeType":"IfStatement","src":"2606:95:68","trueBody":{"expression":{"arguments":[{"id":51673,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2651:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51674,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2660:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2665:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2660:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51678,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"2681:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2673:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51676,"name":"uint256","nodeType":"ElementaryTypeName","src":"2673:7:68","typeDescriptions":{}}},"id":51679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2673:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2695:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51666,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2627:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2632:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2627:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2636:9:68","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2627:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2646:4:68","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"2627:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2627:74:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51682,"nodeType":"ExpressionStatement","src":"2627:74:68"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51684,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"2715:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2729:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2715:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51704,"nodeType":"IfStatement","src":"2711:95:68","trueBody":{"expression":{"arguments":[{"id":51694,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2756:7:68","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51695,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2765:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2770:6:68","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51412,"src":"2765:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51699,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"2786:11:68","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2778:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2778:7:68","typeDescriptions":{}}},"id":51700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2778:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":51701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2800:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51687,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51502,"src":"2732:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51422_memory_ptr","typeString":"struct PoolDonateTest.CallbackData memory"}},"id":51691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:3:68","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51415,"src":"2732:8:68","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2741:9:68","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2732:18:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2751:4:68","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"2732:23:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:74:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51703,"nodeType":"ExpressionStatement","src":"2732:74:68"}},{"expression":{"arguments":[{"id":51707,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51554,"src":"2835:5:68","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":51705,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2824:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2828:6:68","memberName":"encode","nodeType":"MemberAccess","src":"2824:10:68","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2824:17:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":51489,"id":51709,"nodeType":"Return","src":"2817:24:68"}]},"functionSelector":"91dd7346","id":51711,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1351:14:68","nodeType":"FunctionDefinition","parameters":{"id":51486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51485,"mutability":"mutable","name":"rawData","nameLocation":"1381:7:68","nodeType":"VariableDeclaration","scope":51711,"src":"1366:22:68","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51484,"name":"bytes","nodeType":"ElementaryTypeName","src":"1366:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1365:24:68"},"returnParameters":{"id":51489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51711,"src":"1408:12:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51487,"name":"bytes","nodeType":"ElementaryTypeName","src":"1408:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1407:14:68"},"scope":51712,"src":"1342:1506:68","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":51713,"src":"508:2342:68","usedErrors":[],"usedEvents":[]}],"src":"39:2812:68"},"id":68},"v4-core/src/test/PoolModifyLiquidityTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTest.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencyLibrary":[4693],"CurrencySettler":[49175],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"LPFeeLibrary":[48960],"ModifyLiquidityParams":[4761],"PoolKey":[4745],"PoolModifyLiquidityTest":[4227],"PoolTestBase":[49039],"StateLibrary":[2586]},"id":4228,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":3786,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:69"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":3789,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":4694,"src":"65:64:69","symbolAliases":[{"foreign":{"id":3787,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"73:15:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3788,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"90:8:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":3791,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":1764,"src":"130:60:69","symbolAliases":[{"foreign":{"id":3790,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"138:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":3793,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":4392,"src":"191:55:69","symbolAliases":[{"foreign":{"id":3792,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"199:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":3795,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":4746,"src":"247:45:69","symbolAliases":[{"foreign":{"id":3794,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"255:7:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":3797,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":4773,"src":"293:65:69","symbolAliases":[{"foreign":{"id":3796,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"301:21:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":3799,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":49040,"src":"359:48:69","symbolAliases":[{"foreign":{"id":3798,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"367:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":3801,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":1481,"src":"408:48:69","symbolAliases":[{"foreign":{"id":3800,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"416:6:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../libraries/Hooks.sol","id":3803,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":48812,"src":"457:45:69","symbolAliases":[{"foreign":{"id":3802,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"465:5:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"../libraries/LPFeeLibrary.sol","id":3805,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":48961,"src":"503:59:69","symbolAliases":[{"foreign":{"id":3804,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"511:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":3807,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":49176,"src":"563:69:69","symbolAliases":[{"foreign":{"id":3806,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"571:15:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"../libraries/StateLibrary.sol","id":3809,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4228,"sourceUnit":2587,"src":"633:59:69","symbolAliases":[{"foreign":{"id":3808,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"641:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3810,"name":"PoolTestBase","nameLocations":["730:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"730:12:69"},"id":3811,"nodeType":"InheritanceSpecifier","src":"730:12:69"}],"canonicalName":"PoolModifyLiquidityTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":4227,"linearizedBaseContracts":[4227,49039,56802],"name":"PoolModifyLiquidityTest","nameLocation":"703:23:69","nodeType":"ContractDefinition","nodes":[{"global":false,"id":3815,"libraryName":{"id":3812,"name":"CurrencySettler","nameLocations":["755:15:69"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"755:15:69"},"nodeType":"UsingForDirective","src":"749:35:69","typeName":{"id":3814,"nodeType":"UserDefinedTypeName","pathNode":{"id":3813,"name":"Currency","nameLocations":["775:8:69"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"775:8:69"},"referencedDeclaration":4399,"src":"775:8:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":3819,"libraryName":{"id":3816,"name":"Hooks","nameLocations":["795:5:69"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"795:5:69"},"nodeType":"UsingForDirective","src":"789:23:69","typeName":{"id":3818,"nodeType":"UserDefinedTypeName","pathNode":{"id":3817,"name":"IHooks","nameLocations":["805:6:69"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"805:6:69"},"referencedDeclaration":1480,"src":"805:6:69","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"global":false,"id":3822,"libraryName":{"id":3820,"name":"LPFeeLibrary","nameLocations":["823:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"823:12:69"},"nodeType":"UsingForDirective","src":"817:30:69","typeName":{"id":3821,"name":"uint24","nodeType":"ElementaryTypeName","src":"840:6:69","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":3826,"libraryName":{"id":3823,"name":"StateLibrary","nameLocations":["858:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"858:12:69"},"nodeType":"UsingForDirective","src":"852:36:69","typeName":{"id":3825,"nodeType":"UserDefinedTypeName","pathNode":{"id":3824,"name":"IPoolManager","nameLocations":["875:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"875:12:69"},"referencedDeclaration":1763,"src":"875:12:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"body":{"id":3835,"nodeType":"Block","src":"952:2:69","statements":[]},"id":3836,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":3832,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3829,"src":"942:8:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":3833,"kind":"baseConstructorSpecifier","modifierName":{"id":3831,"name":"PoolTestBase","nameLocations":["929:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"929:12:69"},"nodeType":"ModifierInvocation","src":"929:22:69"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3829,"mutability":"mutable","name":"_manager","nameLocation":"919:8:69","nodeType":"VariableDeclaration","scope":3836,"src":"906:21:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":3828,"nodeType":"UserDefinedTypeName","pathNode":{"id":3827,"name":"IPoolManager","nameLocations":["906:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"906:12:69"},"referencedDeclaration":1763,"src":"906:12:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"905:23:69"},"returnParameters":{"id":3834,"nodeType":"ParameterList","parameters":[],"src":"952:0:69"},"scope":4227,"src":"894:60:69","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"PoolModifyLiquidityTest.CallbackData","id":3851,"members":[{"constant":false,"id":3838,"mutability":"mutable","name":"sender","nameLocation":"998:6:69","nodeType":"VariableDeclaration","scope":3851,"src":"990:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3837,"name":"address","nodeType":"ElementaryTypeName","src":"990:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3841,"mutability":"mutable","name":"key","nameLocation":"1022:3:69","nodeType":"VariableDeclaration","scope":3851,"src":"1014:11:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":3840,"nodeType":"UserDefinedTypeName","pathNode":{"id":3839,"name":"PoolKey","nameLocations":["1014:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1014:7:69"},"referencedDeclaration":4745,"src":"1014:7:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3844,"mutability":"mutable","name":"params","nameLocation":"1057:6:69","nodeType":"VariableDeclaration","scope":3851,"src":"1035:28:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3843,"nodeType":"UserDefinedTypeName","pathNode":{"id":3842,"name":"ModifyLiquidityParams","nameLocations":["1035:21:69"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1035:21:69"},"referencedDeclaration":4761,"src":"1035:21:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3846,"mutability":"mutable","name":"hookData","nameLocation":"1079:8:69","nodeType":"VariableDeclaration","scope":3851,"src":"1073:14:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3845,"name":"bytes","nodeType":"ElementaryTypeName","src":"1073:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3848,"mutability":"mutable","name":"settleUsingBurn","nameLocation":"1102:15:69","nodeType":"VariableDeclaration","scope":3851,"src":"1097:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3847,"name":"bool","nodeType":"ElementaryTypeName","src":"1097:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3850,"mutability":"mutable","name":"takeClaims","nameLocation":"1132:10:69","nodeType":"VariableDeclaration","scope":3851,"src":"1127:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3849,"name":"bool","nodeType":"ElementaryTypeName","src":"1127:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"967:12:69","nodeType":"StructDefinition","scope":4227,"src":"960:189:69","visibility":"public"},{"body":{"id":3875,"nodeType":"Block","src":"1334:77:69","statements":[{"expression":{"id":3873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3865,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3863,"src":"1344:5:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3867,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3854,"src":"1368:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3868,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3857,"src":"1373:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3869,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3859,"src":"1381:8:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":3870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1391:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1398:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3866,"name":"modifyLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3941,"src":"1352:15:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$_t_bool_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory,bool,bool) returns (BalanceDelta)"}},"id":3872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1352:52:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1344:60:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":3874,"nodeType":"ExpressionStatement","src":"1344:60:69"}]},"functionSelector":"5a6bcfda","id":3876,"implemented":true,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"1164:15:69","nodeType":"FunctionDefinition","parameters":{"id":3860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3854,"mutability":"mutable","name":"key","nameLocation":"1195:3:69","nodeType":"VariableDeclaration","scope":3876,"src":"1180:18:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3853,"nodeType":"UserDefinedTypeName","pathNode":{"id":3852,"name":"PoolKey","nameLocations":["1180:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1180:7:69"},"referencedDeclaration":4745,"src":"1180:7:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3857,"mutability":"mutable","name":"params","nameLocation":"1229:6:69","nodeType":"VariableDeclaration","scope":3876,"src":"1200:35:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3856,"nodeType":"UserDefinedTypeName","pathNode":{"id":3855,"name":"ModifyLiquidityParams","nameLocations":["1200:21:69"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1200:21:69"},"referencedDeclaration":4761,"src":"1200:21:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3859,"mutability":"mutable","name":"hookData","nameLocation":"1250:8:69","nodeType":"VariableDeclaration","scope":3876,"src":"1237:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3858,"name":"bytes","nodeType":"ElementaryTypeName","src":"1237:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1179:80:69"},"returnParameters":{"id":3864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3863,"mutability":"mutable","name":"delta","nameLocation":"1323:5:69","nodeType":"VariableDeclaration","scope":3876,"src":"1310:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":3862,"nodeType":"UserDefinedTypeName","pathNode":{"id":3861,"name":"BalanceDelta","nameLocations":["1310:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1310:12:69"},"referencedDeclaration":4233,"src":"1310:12:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1309:20:69"},"scope":4227,"src":"1155:256:69","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":3940,"nodeType":"Block","src":"1651:359:69","statements":[{"expression":{"id":3915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3894,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3892,"src":"1661:5:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":3902,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1732:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1736:6:69","memberName":"sender","nodeType":"MemberAccess","src":"1732:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3904,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3879,"src":"1744:3:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":3905,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3882,"src":"1749:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":3906,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3884,"src":"1757:8:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3907,"name":"settleUsingBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3886,"src":"1767:15:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":3908,"name":"takeClaims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3888,"src":"1784:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3901,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3851,"src":"1719:12:69","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$3851_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTest.CallbackData storage pointer)"}},"id":3909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:76:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}],"expression":{"id":3899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1708:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1712:6:69","memberName":"encode","nodeType":"MemberAccess","src":"1708:10:69","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:88:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3897,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1693:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":3898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1701:6:69","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1693:14:69","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":3911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1693:104:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3912,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1812:12:69","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"id":3913,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1811:14:69","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}],"expression":{"id":3895,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1669:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1673:6:69","memberName":"decode","nodeType":"MemberAccess","src":"1669:10:69","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1669:166:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1661:174:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":3916,"nodeType":"ExpressionStatement","src":"1661:174:69"},{"assignments":[3918],"declarations":[{"constant":false,"id":3918,"mutability":"mutable","name":"ethBalance","nameLocation":"1854:10:69","nodeType":"VariableDeclaration","scope":3940,"src":"1846:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3917,"name":"uint256","nodeType":"ElementaryTypeName","src":"1846:7:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3924,"initialValue":{"expression":{"arguments":[{"id":3921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1875:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":3920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1867:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3919,"name":"address","nodeType":"ElementaryTypeName","src":"1867:7:69","typeDescriptions":{}}},"id":3922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1867:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1881:7:69","memberName":"balance","nodeType":"MemberAccess","src":"1867:21:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1846:42:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3925,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"1902:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1915:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1902:14:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3939,"nodeType":"IfStatement","src":"1898:106:69","trueBody":{"id":3938,"nodeType":"Block","src":"1918:86:69","statements":[{"expression":{"arguments":[{"expression":{"id":3933,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1970:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1974:6:69","memberName":"sender","nodeType":"MemberAccess","src":"1970:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3935,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"1982:10:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":3928,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"1932:15:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":3931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1948:12:69","memberName":"ADDRESS_ZERO","nodeType":"MemberAccess","referencedDeclaration":4516,"src":"1932:28:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":3932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1961:8:69","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"1932:37:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":3936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1932:61:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3937,"nodeType":"ExpressionStatement","src":"1932:61:69"}]}}]},"functionSelector":"0a5b11e4","id":3941,"implemented":true,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"1426:15:69","nodeType":"FunctionDefinition","parameters":{"id":3889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3879,"mutability":"mutable","name":"key","nameLocation":"1466:3:69","nodeType":"VariableDeclaration","scope":3941,"src":"1451:18:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":3878,"nodeType":"UserDefinedTypeName","pathNode":{"id":3877,"name":"PoolKey","nameLocations":["1451:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1451:7:69"},"referencedDeclaration":4745,"src":"1451:7:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":3882,"mutability":"mutable","name":"params","nameLocation":"1508:6:69","nodeType":"VariableDeclaration","scope":3941,"src":"1479:35:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":3881,"nodeType":"UserDefinedTypeName","pathNode":{"id":3880,"name":"ModifyLiquidityParams","nameLocations":["1479:21:69"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1479:21:69"},"referencedDeclaration":4761,"src":"1479:21:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":3884,"mutability":"mutable","name":"hookData","nameLocation":"1537:8:69","nodeType":"VariableDeclaration","scope":3941,"src":"1524:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3883,"name":"bytes","nodeType":"ElementaryTypeName","src":"1524:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3886,"mutability":"mutable","name":"settleUsingBurn","nameLocation":"1560:15:69","nodeType":"VariableDeclaration","scope":3941,"src":"1555:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3885,"name":"bool","nodeType":"ElementaryTypeName","src":"1555:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3888,"mutability":"mutable","name":"takeClaims","nameLocation":"1590:10:69","nodeType":"VariableDeclaration","scope":3941,"src":"1585:15:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3887,"name":"bool","nodeType":"ElementaryTypeName","src":"1585:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1441:165:69"},"returnParameters":{"id":3893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3892,"mutability":"mutable","name":"delta","nameLocation":"1644:5:69","nodeType":"VariableDeclaration","scope":3941,"src":"1631:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":3891,"nodeType":"UserDefinedTypeName","pathNode":{"id":3890,"name":"BalanceDelta","nameLocations":["1631:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1631:12:69"},"referencedDeclaration":4233,"src":"1631:12:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1630:20:69"},"scope":4227,"src":"1417:593:69","stateMutability":"payable","virtual":false,"visibility":"public"},{"baseFunctions":[56801],"body":{"id":4225,"nodeType":"Block","src":"2096:1697:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3949,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2114:3:69","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2118:6:69","memberName":"sender","nodeType":"MemberAccess","src":"2114:10:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":3953,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2136:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":3952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2128:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3951,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:69","typeDescriptions":{}}},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2128:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2114:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3948,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2106:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2106:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3957,"nodeType":"ExpressionStatement","src":"2106:39:69"},{"assignments":[3960],"declarations":[{"constant":false,"id":3960,"mutability":"mutable","name":"data","nameLocation":"2176:4:69","nodeType":"VariableDeclaration","scope":4225,"src":"2156:24:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData"},"typeName":{"id":3959,"nodeType":"UserDefinedTypeName","pathNode":{"id":3958,"name":"CallbackData","nameLocations":["2156:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":3851,"src":"2156:12:69"},"referencedDeclaration":3851,"src":"2156:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_storage_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData"}},"visibility":"internal"}],"id":3967,"initialValue":{"arguments":[{"id":3963,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"2194:7:69","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":3964,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3851,"src":"2204:12:69","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$3851_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTest.CallbackData storage pointer)"}}],"id":3965,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2203:14:69","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$3851_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTest.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$3851_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTest.CallbackData storage pointer)"}],"expression":{"id":3961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2183:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2187:6:69","memberName":"decode","nodeType":"MemberAccess","src":"2183:10:69","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2183:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"2156:62:69"},{"assignments":[3969,null,null],"declarations":[{"constant":false,"id":3969,"mutability":"mutable","name":"liquidityBefore","nameLocation":"2238:15:69","nodeType":"VariableDeclaration","scope":4225,"src":"2230:23:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":3968,"name":"uint128","nodeType":"ElementaryTypeName","src":"2230:7:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":3990,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":3972,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2296:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2301:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"2296:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":3974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2305:4:69","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"2296:13:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":3975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":3978,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2321:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":3977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2313:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3976,"name":"address","nodeType":"ElementaryTypeName","src":"2313:7:69","typeDescriptions":{}}},"id":3979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2313:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":3980,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2328:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2333:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2328:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2340:9:69","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"2328:21:69","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"expression":{"id":3983,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2351:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2356:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2351:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2363:9:69","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"2351:21:69","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"expression":{"id":3986,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2374:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2379:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2374:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":3988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2386:4:69","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"2374:16:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":3970,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2259:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":3971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2267:15:69","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"2259:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":3989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2259:141:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"2229:171:69"},{"assignments":[3993,null],"declarations":[{"constant":false,"id":3993,"mutability":"mutable","name":"delta","nameLocation":"2425:5:69","nodeType":"VariableDeclaration","scope":4225,"src":"2412:18:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":3992,"nodeType":"UserDefinedTypeName","pathNode":{"id":3991,"name":"BalanceDelta","nameLocations":["2412:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"2412:12:69"},"referencedDeclaration":4233,"src":"2412:12:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},null],"id":4003,"initialValue":{"arguments":[{"expression":{"id":3996,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2459:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2464:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"2459:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":3998,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2469:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":3999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2474:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2469:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"expression":{"id":4000,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2482:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2487:8:69","memberName":"hookData","nodeType":"MemberAccess","referencedDeclaration":3846,"src":"2482:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3994,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2435:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":3995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2443:15:69","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":1661,"src":"2435:23:69","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) external returns (BalanceDelta,BalanceDelta)"}},"id":4002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2435:61:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"VariableDeclarationStatement","src":"2411:85:69"},{"assignments":[4005,null,null],"declarations":[{"constant":false,"id":4005,"mutability":"mutable","name":"liquidityAfter","nameLocation":"2516:14:69","nodeType":"VariableDeclaration","scope":4225,"src":"2508:22:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":4004,"name":"uint128","nodeType":"ElementaryTypeName","src":"2508:7:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":4026,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":4008,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2573:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2578:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"2573:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2582:4:69","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"2573:13:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":4011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2573:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":4014,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2598:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":4013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2590:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4012,"name":"address","nodeType":"ElementaryTypeName","src":"2590:7:69","typeDescriptions":{}}},"id":4015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2590:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":4016,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2605:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2610:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2605:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2617:9:69","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"2605:21:69","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"expression":{"id":4019,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2628:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2633:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2628:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2640:9:69","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"2628:21:69","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"expression":{"id":4022,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2651:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2656:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2651:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2663:4:69","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"2651:16:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4006,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2536:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":4007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2544:15:69","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"2536:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":4025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2536:141:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"2507:170:69"},{"assignments":[null,null,4028],"declarations":[null,null,{"constant":false,"id":4028,"mutability":"mutable","name":"delta0","nameLocation":"2699:6:69","nodeType":"VariableDeclaration","scope":4225,"src":"2692:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4027,"name":"int256","nodeType":"ElementaryTypeName","src":"2692:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4040,"initialValue":{"arguments":[{"expression":{"expression":{"id":4030,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2724:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2729:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"2724:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2733:9:69","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2724:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":4033,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2744:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2749:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"2744:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4037,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2765:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":4036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2757:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4035,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:69","typeDescriptions":{}}},"id":4038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2757:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4029,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2709:14:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":4039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2709:62:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"2688:83:69"},{"assignments":[null,null,4042],"declarations":[null,null,{"constant":false,"id":4042,"mutability":"mutable","name":"delta1","nameLocation":"2792:6:69","nodeType":"VariableDeclaration","scope":4225,"src":"2785:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4041,"name":"int256","nodeType":"ElementaryTypeName","src":"2785:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4054,"initialValue":{"arguments":[{"expression":{"expression":{"id":4044,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2817:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2822:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"2817:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2826:9:69","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2817:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":4047,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2837:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2842:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"2837:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4051,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2858:4:69","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":4050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2850:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4049,"name":"address","nodeType":"ElementaryTypeName","src":"2850:7:69","typeDescriptions":{}}},"id":4052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2850:13:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4043,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2802:14:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2802:62:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"2781:83:69"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4058,"name":"liquidityBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"2903:15:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":4057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2896:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":4056,"name":"int128","nodeType":"ElementaryTypeName","src":"2896:6:69","typeDescriptions":{}}},"id":4059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2896:23:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"expression":{"id":4060,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"2922:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2927:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"2922:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2934:14:69","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"2922:26:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2896:52:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":4066,"name":"liquidityAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"2959:14:69","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":4065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2952:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":4064,"name":"int128","nodeType":"ElementaryTypeName","src":"2952:6:69","typeDescriptions":{}}},"id":4067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2952:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"2896:78:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6c6971756964697479206368616e676520696e636f7272656374","id":4069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2976:28:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b984132201369195ba2becc6cd2c4da992f1a941cb3c0c2212c12bec6e3c2870","typeString":"literal_string \"liquidity change incorrect\""},"value":"liquidity change incorrect"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b984132201369195ba2becc6cd2c4da992f1a941cb3c0c2212c12bec6e3c2870","typeString":"literal_string \"liquidity change incorrect\""}],"id":4055,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2875:7:69","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2875:139:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4071,"nodeType":"ExpressionStatement","src":"2875:139:69"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4072,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3029:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3034:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"3029:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3041:14:69","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"3029:26:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3058:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3029:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4100,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3177:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4101,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3182:6:69","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":3844,"src":"3177:11:69","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":4102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3189:14:69","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"3177:26:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3206:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3177:30:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4128,"nodeType":"IfStatement","src":"3173:142:69","trueBody":{"id":4127,"nodeType":"Block","src":"3209:106:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4106,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3230:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3239:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3230:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4109,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3244:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3253:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3244:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3230:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4105,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3223:6:69","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3223:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4114,"nodeType":"ExpressionStatement","src":"3223:32:69"},{"expression":{"arguments":[{"id":4124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3276:27:69","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4116,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3278:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3287:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3278:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4119,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3292:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3301:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3292:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3278:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4123,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3277:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4115,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3269:6:69","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3269:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4126,"nodeType":"ExpressionStatement","src":"3269:35:69"}]}},"id":4129,"nodeType":"IfStatement","src":"3025:290:69","trueBody":{"id":4099,"nodeType":"Block","src":"3061:106:69","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4078,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3082:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3091:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3082:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4081,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3096:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3105:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3096:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3082:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4077,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3075:6:69","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3075:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4086,"nodeType":"ExpressionStatement","src":"3075:32:69"},{"expression":{"arguments":[{"id":4096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3128:27:69","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4088,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3130:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3139:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3130:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4091,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3144:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3153:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3144:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3130:24:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4095,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3129:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4087,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3121:6:69","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":4097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3121:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4098,"nodeType":"ExpressionStatement","src":"3121:35:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4130,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3329:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3338:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3329:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4152,"nodeType":"IfStatement","src":"3325:103:69","trueBody":{"expression":{"arguments":[{"id":4140,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"3367:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":4141,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3376:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3381:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"3376:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3397:7:69","subExpression":{"id":4145,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3398:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3389:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4143,"name":"uint256","nodeType":"ElementaryTypeName","src":"3389:7:69","typeDescriptions":{}}},"id":4147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":4148,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3407:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3412:15:69","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":3848,"src":"3407:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":4133,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3341:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3346:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"3341:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3350:9:69","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"3341:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3360:6:69","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"3341:25:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":4150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:87:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4151,"nodeType":"ExpressionStatement","src":"3341:87:69"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4153,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3442:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":4154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3451:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3442:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4175,"nodeType":"IfStatement","src":"3438:103:69","trueBody":{"expression":{"arguments":[{"id":4163,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"3480:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":4164,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3489:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3494:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"3489:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3510:7:69","subExpression":{"id":4168,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3511:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3502:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4166,"name":"uint256","nodeType":"ElementaryTypeName","src":"3502:7:69","typeDescriptions":{}}},"id":4170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3502:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":4171,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3520:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3525:15:69","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":3848,"src":"3520:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":4156,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3454:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3459:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"3454:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3463:9:69","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"3454:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3473:6:69","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"3454:25:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":4173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3454:87:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4174,"nodeType":"ExpressionStatement","src":"3454:87:69"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4176,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3555:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3564:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3555:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4197,"nodeType":"IfStatement","src":"3551:95:69","trueBody":{"expression":{"arguments":[{"id":4186,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"3591:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":4187,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3600:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3605:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"3600:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4191,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4028,"src":"3621:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3613:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4189,"name":"uint256","nodeType":"ElementaryTypeName","src":"3613:7:69","typeDescriptions":{}}},"id":4192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3613:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":4193,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3630:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3635:10:69","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":3850,"src":"3630:15:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":4179,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3567:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3572:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"3567:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3576:9:69","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"3567:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3586:4:69","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"3567:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":4195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3567:79:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4196,"nodeType":"ExpressionStatement","src":"3567:79:69"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4198,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3660:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3669:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3660:10:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4219,"nodeType":"IfStatement","src":"3656:95:69","trueBody":{"expression":{"arguments":[{"id":4208,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"3696:7:69","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":4209,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3705:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3710:6:69","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":3838,"src":"3705:11:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4213,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4042,"src":"3726:6:69","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3718:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4211,"name":"uint256","nodeType":"ElementaryTypeName","src":"3718:7:69","typeDescriptions":{}}},"id":4214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3718:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":4215,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3735:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4216,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3740:10:69","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":3850,"src":"3735:15:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":4201,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3960,"src":"3672:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$3851_memory_ptr","typeString":"struct PoolModifyLiquidityTest.CallbackData memory"}},"id":4205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3677:3:69","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3841,"src":"3672:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":4206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3681:9:69","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"3672:18:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3691:4:69","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"3672:23:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":4217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3672:79:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4218,"nodeType":"ExpressionStatement","src":"3672:79:69"}},{"expression":{"arguments":[{"id":4222,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3993,"src":"3780:5:69","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":4220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3769:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3773:6:69","memberName":"encode","nodeType":"MemberAccess","src":"3769:10:69","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3769:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":3947,"id":4224,"nodeType":"Return","src":"3762:24:69"}]},"functionSelector":"91dd7346","id":4226,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"2025:14:69","nodeType":"FunctionDefinition","parameters":{"id":3944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3943,"mutability":"mutable","name":"rawData","nameLocation":"2055:7:69","nodeType":"VariableDeclaration","scope":4226,"src":"2040:22:69","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":3942,"name":"bytes","nodeType":"ElementaryTypeName","src":"2040:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2039:24:69"},"returnParameters":{"id":3947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4226,"src":"2082:12:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3945,"name":"bytes","nodeType":"ElementaryTypeName","src":"2082:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2081:14:69"},"scope":4227,"src":"2016:1777:69","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":4228,"src":"694:3101:69","usedErrors":[],"usedEvents":[]}],"src":"39:3757:69"},"id":69},"v4-core/src/test/PoolModifyLiquidityTestNoChecks.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTestNoChecks.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencyLibrary":[4693],"CurrencySettler":[49175],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"LPFeeLibrary":[48960],"ModifyLiquidityParams":[4761],"PoolKey":[4745],"PoolModifyLiquidityTestNoChecks":[52012],"PoolTestBase":[49039]},"id":52013,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":51714,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:70"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":51717,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":4694,"src":"65:64:70","symbolAliases":[{"foreign":{"id":51715,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"73:15:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":51716,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"90:8:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":51719,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":1764,"src":"130:60:70","symbolAliases":[{"foreign":{"id":51718,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"138:12:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":51721,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":4392,"src":"191:55:70","symbolAliases":[{"foreign":{"id":51720,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"199:12:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":51723,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":4773,"src":"247:65:70","symbolAliases":[{"foreign":{"id":51722,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"255:21:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":51725,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":4746,"src":"313:45:70","symbolAliases":[{"foreign":{"id":51724,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"321:7:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":51727,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":49040,"src":"359:48:70","symbolAliases":[{"foreign":{"id":51726,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"367:12:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":51729,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":1481,"src":"408:48:70","symbolAliases":[{"foreign":{"id":51728,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"416:6:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../libraries/Hooks.sol","id":51731,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":48812,"src":"457:45:70","symbolAliases":[{"foreign":{"id":51730,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"465:5:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"../libraries/LPFeeLibrary.sol","id":51733,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":48961,"src":"503:59:70","symbolAliases":[{"foreign":{"id":51732,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"511:12:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":51735,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":52013,"sourceUnit":49176,"src":"563:69:70","symbolAliases":[{"foreign":{"id":51734,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"571:15:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":51736,"name":"PoolTestBase","nameLocations":["678:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"678:12:70"},"id":51737,"nodeType":"InheritanceSpecifier","src":"678:12:70"}],"canonicalName":"PoolModifyLiquidityTestNoChecks","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":52012,"linearizedBaseContracts":[52012,49039,56802],"name":"PoolModifyLiquidityTestNoChecks","nameLocation":"643:31:70","nodeType":"ContractDefinition","nodes":[{"global":false,"id":51741,"libraryName":{"id":51738,"name":"CurrencySettler","nameLocations":["703:15:70"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"703:15:70"},"nodeType":"UsingForDirective","src":"697:35:70","typeName":{"id":51740,"nodeType":"UserDefinedTypeName","pathNode":{"id":51739,"name":"Currency","nameLocations":["723:8:70"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"723:8:70"},"referencedDeclaration":4399,"src":"723:8:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":51745,"libraryName":{"id":51742,"name":"Hooks","nameLocations":["743:5:70"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"743:5:70"},"nodeType":"UsingForDirective","src":"737:23:70","typeName":{"id":51744,"nodeType":"UserDefinedTypeName","pathNode":{"id":51743,"name":"IHooks","nameLocations":["753:6:70"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"753:6:70"},"referencedDeclaration":1480,"src":"753:6:70","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"global":false,"id":51748,"libraryName":{"id":51746,"name":"LPFeeLibrary","nameLocations":["771:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"771:12:70"},"nodeType":"UsingForDirective","src":"765:30:70","typeName":{"id":51747,"name":"uint24","nodeType":"ElementaryTypeName","src":"788:6:70","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"body":{"id":51757,"nodeType":"Block","src":"859:2:70","statements":[]},"id":51758,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":51754,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51751,"src":"849:8:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":51755,"kind":"baseConstructorSpecifier","modifierName":{"id":51753,"name":"PoolTestBase","nameLocations":["836:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"836:12:70"},"nodeType":"ModifierInvocation","src":"836:22:70"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":51752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51751,"mutability":"mutable","name":"_manager","nameLocation":"826:8:70","nodeType":"VariableDeclaration","scope":51758,"src":"813:21:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":51750,"nodeType":"UserDefinedTypeName","pathNode":{"id":51749,"name":"IPoolManager","nameLocations":["813:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"813:12:70"},"referencedDeclaration":1763,"src":"813:12:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"812:23:70"},"returnParameters":{"id":51756,"nodeType":"ParameterList","parameters":[],"src":"859:0:70"},"scope":52012,"src":"801:60:70","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"PoolModifyLiquidityTestNoChecks.CallbackData","id":51773,"members":[{"constant":false,"id":51760,"mutability":"mutable","name":"sender","nameLocation":"905:6:70","nodeType":"VariableDeclaration","scope":51773,"src":"897:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51759,"name":"address","nodeType":"ElementaryTypeName","src":"897:7:70","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51763,"mutability":"mutable","name":"key","nameLocation":"929:3:70","nodeType":"VariableDeclaration","scope":51773,"src":"921:11:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":51762,"nodeType":"UserDefinedTypeName","pathNode":{"id":51761,"name":"PoolKey","nameLocations":["921:7:70"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"921:7:70"},"referencedDeclaration":4745,"src":"921:7:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":51766,"mutability":"mutable","name":"params","nameLocation":"964:6:70","nodeType":"VariableDeclaration","scope":51773,"src":"942:28:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":51765,"nodeType":"UserDefinedTypeName","pathNode":{"id":51764,"name":"ModifyLiquidityParams","nameLocations":["942:21:70"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"942:21:70"},"referencedDeclaration":4761,"src":"942:21:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":51768,"mutability":"mutable","name":"hookData","nameLocation":"986:8:70","nodeType":"VariableDeclaration","scope":51773,"src":"980:14:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":51767,"name":"bytes","nodeType":"ElementaryTypeName","src":"980:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51770,"mutability":"mutable","name":"settleUsingBurn","nameLocation":"1009:15:70","nodeType":"VariableDeclaration","scope":51773,"src":"1004:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51769,"name":"bool","nodeType":"ElementaryTypeName","src":"1004:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51772,"mutability":"mutable","name":"takeClaims","nameLocation":"1039:10:70","nodeType":"VariableDeclaration","scope":51773,"src":"1034:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51771,"name":"bool","nodeType":"ElementaryTypeName","src":"1034:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"874:12:70","nodeType":"StructDefinition","scope":52012,"src":"867:189:70","visibility":"public"},{"body":{"id":51797,"nodeType":"Block","src":"1241:77:70","statements":[{"expression":{"id":51795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51787,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51785,"src":"1251:5:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":51789,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51776,"src":"1275:3:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":51790,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51779,"src":"1280:6:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":51791,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"1288:8:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"66616c7365","id":51792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1298:5:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":51793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1305:5:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51788,"name":"modifyLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51863,"src":"1259:15:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$_t_bool_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory,bool,bool) returns (BalanceDelta)"}},"id":51794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1259:52:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1251:60:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":51796,"nodeType":"ExpressionStatement","src":"1251:60:70"}]},"functionSelector":"5a6bcfda","id":51798,"implemented":true,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"1071:15:70","nodeType":"FunctionDefinition","parameters":{"id":51782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51776,"mutability":"mutable","name":"key","nameLocation":"1102:3:70","nodeType":"VariableDeclaration","scope":51798,"src":"1087:18:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":51775,"nodeType":"UserDefinedTypeName","pathNode":{"id":51774,"name":"PoolKey","nameLocations":["1087:7:70"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1087:7:70"},"referencedDeclaration":4745,"src":"1087:7:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":51779,"mutability":"mutable","name":"params","nameLocation":"1136:6:70","nodeType":"VariableDeclaration","scope":51798,"src":"1107:35:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":51778,"nodeType":"UserDefinedTypeName","pathNode":{"id":51777,"name":"ModifyLiquidityParams","nameLocations":["1107:21:70"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1107:21:70"},"referencedDeclaration":4761,"src":"1107:21:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":51781,"mutability":"mutable","name":"hookData","nameLocation":"1157:8:70","nodeType":"VariableDeclaration","scope":51798,"src":"1144:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51780,"name":"bytes","nodeType":"ElementaryTypeName","src":"1144:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1086:80:70"},"returnParameters":{"id":51786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51785,"mutability":"mutable","name":"delta","nameLocation":"1230:5:70","nodeType":"VariableDeclaration","scope":51798,"src":"1217:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":51784,"nodeType":"UserDefinedTypeName","pathNode":{"id":51783,"name":"BalanceDelta","nameLocations":["1217:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1217:12:70"},"referencedDeclaration":4233,"src":"1217:12:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1216:20:70"},"scope":52012,"src":"1062:256:70","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":51862,"nodeType":"Block","src":"1558:359:70","statements":[{"expression":{"id":51837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51816,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51814,"src":"1568:5:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":51824,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1639:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1643:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1639:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51826,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51801,"src":"1651:3:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":51827,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51804,"src":"1656:6:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":51828,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51806,"src":"1664:8:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":51829,"name":"settleUsingBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51808,"src":"1674:15:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":51830,"name":"takeClaims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51810,"src":"1691:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51823,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51773,"src":"1626:12:70","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51773_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTestNoChecks.CallbackData storage pointer)"}},"id":51831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1626:76:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}],"expression":{"id":51821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1615:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1619:6:70","memberName":"encode","nodeType":"MemberAccess","src":"1615:10:70","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":51832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1615:88:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51819,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1600:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1608:6:70","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1600:14:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":51833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1600:104:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":51834,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1719:12:70","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"id":51835,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1718:14:70","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}],"expression":{"id":51817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1576:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1580:6:70","memberName":"decode","nodeType":"MemberAccess","src":"1576:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1576:166:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1568:174:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":51838,"nodeType":"ExpressionStatement","src":"1568:174:70"},{"assignments":[51840],"declarations":[{"constant":false,"id":51840,"mutability":"mutable","name":"ethBalance","nameLocation":"1761:10:70","nodeType":"VariableDeclaration","scope":51862,"src":"1753:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51839,"name":"uint256","nodeType":"ElementaryTypeName","src":"1753:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51846,"initialValue":{"expression":{"arguments":[{"id":51843,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1782:4:70","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}],"id":51842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1774:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51841,"name":"address","nodeType":"ElementaryTypeName","src":"1774:7:70","typeDescriptions":{}}},"id":51844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:13:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1788:7:70","memberName":"balance","nodeType":"MemberAccess","src":"1774:21:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1753:42:70"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51847,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51840,"src":"1809:10:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1822:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1809:14:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51861,"nodeType":"IfStatement","src":"1805:106:70","trueBody":{"id":51860,"nodeType":"Block","src":"1825:86:70","statements":[{"expression":{"arguments":[{"expression":{"id":51855,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1877:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1881:6:70","memberName":"sender","nodeType":"MemberAccess","src":"1877:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51857,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51840,"src":"1889:10:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":51850,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"1839:15:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":51853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1855:12:70","memberName":"ADDRESS_ZERO","nodeType":"MemberAccess","referencedDeclaration":4516,"src":"1839:28:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1868:8:70","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"1839:37:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":51858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:61:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51859,"nodeType":"ExpressionStatement","src":"1839:61:70"}]}}]},"functionSelector":"0a5b11e4","id":51863,"implemented":true,"kind":"function","modifiers":[],"name":"modifyLiquidity","nameLocation":"1333:15:70","nodeType":"FunctionDefinition","parameters":{"id":51811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51801,"mutability":"mutable","name":"key","nameLocation":"1373:3:70","nodeType":"VariableDeclaration","scope":51863,"src":"1358:18:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":51800,"nodeType":"UserDefinedTypeName","pathNode":{"id":51799,"name":"PoolKey","nameLocations":["1358:7:70"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1358:7:70"},"referencedDeclaration":4745,"src":"1358:7:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":51804,"mutability":"mutable","name":"params","nameLocation":"1415:6:70","nodeType":"VariableDeclaration","scope":51863,"src":"1386:35:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":51803,"nodeType":"UserDefinedTypeName","pathNode":{"id":51802,"name":"ModifyLiquidityParams","nameLocations":["1386:21:70"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1386:21:70"},"referencedDeclaration":4761,"src":"1386:21:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"},{"constant":false,"id":51806,"mutability":"mutable","name":"hookData","nameLocation":"1444:8:70","nodeType":"VariableDeclaration","scope":51863,"src":"1431:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51805,"name":"bytes","nodeType":"ElementaryTypeName","src":"1431:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51808,"mutability":"mutable","name":"settleUsingBurn","nameLocation":"1467:15:70","nodeType":"VariableDeclaration","scope":51863,"src":"1462:20:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51807,"name":"bool","nodeType":"ElementaryTypeName","src":"1462:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51810,"mutability":"mutable","name":"takeClaims","nameLocation":"1497:10:70","nodeType":"VariableDeclaration","scope":51863,"src":"1492:15:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51809,"name":"bool","nodeType":"ElementaryTypeName","src":"1492:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1348:165:70"},"returnParameters":{"id":51815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51814,"mutability":"mutable","name":"delta","nameLocation":"1551:5:70","nodeType":"VariableDeclaration","scope":51863,"src":"1538:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":51813,"nodeType":"UserDefinedTypeName","pathNode":{"id":51812,"name":"BalanceDelta","nameLocations":["1538:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1538:12:70"},"referencedDeclaration":4233,"src":"1538:12:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1537:20:70"},"scope":52012,"src":"1324:593:70","stateMutability":"payable","virtual":false,"visibility":"public"},{"baseFunctions":[56801],"body":{"id":52010,"nodeType":"Block","src":"2003:780:70","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":51871,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2021:3:70","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":51872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2025:6:70","memberName":"sender","nodeType":"MemberAccess","src":"2021:10:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":51875,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2043:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":51874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2035:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51873,"name":"address","nodeType":"ElementaryTypeName","src":"2035:7:70","typeDescriptions":{}}},"id":51876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2035:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2021:30:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51870,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2013:7:70","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2013:39:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51879,"nodeType":"ExpressionStatement","src":"2013:39:70"},{"assignments":[51882],"declarations":[{"constant":false,"id":51882,"mutability":"mutable","name":"data","nameLocation":"2083:4:70","nodeType":"VariableDeclaration","scope":52010,"src":"2063:24:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData"},"typeName":{"id":51881,"nodeType":"UserDefinedTypeName","pathNode":{"id":51880,"name":"CallbackData","nameLocations":["2063:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":51773,"src":"2063:12:70"},"referencedDeclaration":51773,"src":"2063:12:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_storage_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData"}},"visibility":"internal"}],"id":51889,"initialValue":{"arguments":[{"id":51885,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51865,"src":"2101:7:70","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":51886,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51773,"src":"2111:12:70","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51773_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTestNoChecks.CallbackData storage pointer)"}}],"id":51887,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2110:14:70","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51773_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTestNoChecks.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$51773_storage_ptr_$","typeString":"type(struct PoolModifyLiquidityTestNoChecks.CallbackData storage pointer)"}],"expression":{"id":51883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2090:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2094:6:70","memberName":"decode","nodeType":"MemberAccess","src":"2090:10:70","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":51888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2090:35:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"2063:62:70"},{"assignments":[51892,null],"declarations":[{"constant":false,"id":51892,"mutability":"mutable","name":"delta","nameLocation":"2150:5:70","nodeType":"VariableDeclaration","scope":52010,"src":"2137:18:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":51891,"nodeType":"UserDefinedTypeName","pathNode":{"id":51890,"name":"BalanceDelta","nameLocations":["2137:12:70"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"2137:12:70"},"referencedDeclaration":4233,"src":"2137:12:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},null],"id":51902,"initialValue":{"arguments":[{"expression":{"id":51895,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2184:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2189:3:70","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51763,"src":"2184:8:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":51897,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2194:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2199:6:70","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":51766,"src":"2194:11:70","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"expression":{"id":51899,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2207:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2212:8:70","memberName":"hookData","nodeType":"MemberAccess","referencedDeclaration":51768,"src":"2207:13:70","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51893,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2160:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":51894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2168:15:70","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":1661,"src":"2160:23:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) external returns (BalanceDelta,BalanceDelta)"}},"id":51901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2160:61:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"VariableDeclarationStatement","src":"2136:85:70"},{"assignments":[51904],"declarations":[{"constant":false,"id":51904,"mutability":"mutable","name":"delta0","nameLocation":"2239:6:70","nodeType":"VariableDeclaration","scope":52010,"src":"2232:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51903,"name":"int256","nodeType":"ElementaryTypeName","src":"2232:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51908,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51905,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51892,"src":"2248:5:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":51906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2254:7:70","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"2248:13:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":51907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2248:15:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"2232:31:70"},{"assignments":[51910],"declarations":[{"constant":false,"id":51910,"mutability":"mutable","name":"delta1","nameLocation":"2280:6:70","nodeType":"VariableDeclaration","scope":52010,"src":"2273:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51909,"name":"int256","nodeType":"ElementaryTypeName","src":"2273:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":51914,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":51911,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51892,"src":"2289:5:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":51912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2295:7:70","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"2289:13:70","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":51913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:15:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"2273:31:70"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51915,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51904,"src":"2319:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":51916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2328:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2319:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51937,"nodeType":"IfStatement","src":"2315:103:70","trueBody":{"expression":{"arguments":[{"id":51925,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2357:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51926,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2366:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2371:6:70","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51760,"src":"2366:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2387:7:70","subExpression":{"id":51930,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51904,"src":"2388:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2379:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51928,"name":"uint256","nodeType":"ElementaryTypeName","src":"2379:7:70","typeDescriptions":{}}},"id":51932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2379:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51933,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2397:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2402:15:70","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":51770,"src":"2397:20:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51918,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2331:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2336:3:70","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51763,"src":"2331:8:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51923,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2340:9:70","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2331:18:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:6:70","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"2331:25:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2331:87:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51936,"nodeType":"ExpressionStatement","src":"2331:87:70"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51938,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51910,"src":"2432:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":51939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2441:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2432:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51960,"nodeType":"IfStatement","src":"2428:103:70","trueBody":{"expression":{"arguments":[{"id":51948,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2470:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51949,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2479:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2484:6:70","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51760,"src":"2479:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2500:7:70","subExpression":{"id":51953,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51910,"src":"2501:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2492:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51951,"name":"uint256","nodeType":"ElementaryTypeName","src":"2492:7:70","typeDescriptions":{}}},"id":51955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2492:16:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51956,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2510:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2515:15:70","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":51770,"src":"2510:20:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51941,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2444:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2449:3:70","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51763,"src":"2444:8:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2453:9:70","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2444:18:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2463:6:70","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"2444:25:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2444:87:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51959,"nodeType":"ExpressionStatement","src":"2444:87:70"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51961,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51904,"src":"2545:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2554:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2545:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51982,"nodeType":"IfStatement","src":"2541:95:70","trueBody":{"expression":{"arguments":[{"id":51971,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2581:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51972,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2590:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2595:6:70","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51760,"src":"2590:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51976,"name":"delta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51904,"src":"2611:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2603:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51974,"name":"uint256","nodeType":"ElementaryTypeName","src":"2603:7:70","typeDescriptions":{}}},"id":51977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2603:15:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":51978,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2620:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2625:10:70","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":51772,"src":"2620:15:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51964,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2557:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2562:3:70","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51763,"src":"2557:8:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2566:9:70","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2557:18:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2576:4:70","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"2557:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":51980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2557:79:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51981,"nodeType":"ExpressionStatement","src":"2557:79:70"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":51985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51983,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51910,"src":"2650:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":51984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2659:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2650:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52004,"nodeType":"IfStatement","src":"2646:95:70","trueBody":{"expression":{"arguments":[{"id":51993,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2686:7:70","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":51994,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2695:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2700:6:70","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":51760,"src":"2695:11:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":51998,"name":"delta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51910,"src":"2716:6:70","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":51997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2708:7:70","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51996,"name":"uint256","nodeType":"ElementaryTypeName","src":"2708:7:70","typeDescriptions":{}}},"id":51999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2708:15:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":52000,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2725:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":52001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2730:10:70","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":51772,"src":"2725:15:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":51986,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2662:4:70","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$51773_memory_ptr","typeString":"struct PoolModifyLiquidityTestNoChecks.CallbackData memory"}},"id":51990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2667:3:70","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":51763,"src":"2662:8:70","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":51991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2671:9:70","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2662:18:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":51992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2681:4:70","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"2662:23:70","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2662:79:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52003,"nodeType":"ExpressionStatement","src":"2662:79:70"}},{"expression":{"arguments":[{"id":52007,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51892,"src":"2770:5:70","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":52005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2759:3:70","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2763:6:70","memberName":"encode","nodeType":"MemberAccess","src":"2759:10:70","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2759:17:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":51869,"id":52009,"nodeType":"Return","src":"2752:24:70"}]},"functionSelector":"91dd7346","id":52011,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1932:14:70","nodeType":"FunctionDefinition","parameters":{"id":51866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51865,"mutability":"mutable","name":"rawData","nameLocation":"1962:7:70","nodeType":"VariableDeclaration","scope":52011,"src":"1947:22:70","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":51864,"name":"bytes","nodeType":"ElementaryTypeName","src":"1947:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1946:24:70"},"returnParameters":{"id":51869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52011,"src":"1989:12:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51867,"name":"bytes","nodeType":"ElementaryTypeName","src":"1989:5:70","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1988:14:70"},"scope":52012,"src":"1923:860:70","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":52013,"src":"634:2151:70","usedErrors":[],"usedEvents":[]}],"src":"39:2747:70"},"id":70},"v4-core/src/test/PoolNestedActionsTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolNestedActionsTest.sol","exportedSymbols":{"Action":[52049],"BalanceDelta":[4233],"Constants":[4864],"Currency":[4399],"CurrencySettler":[49175],"IPoolManager":[1763],"IUnlockCallback":[56802],"ModifyLiquidityParams":[4761],"NestedActionExecutor":[53229],"PoolId":[4699],"PoolKey":[4745],"PoolNestedActionsTest":[52198],"PoolTestBase":[49039],"StateLibrary":[2586],"SwapParams":[4772],"Test":[1233],"TransientStateLibrary":[56938]},"id":53230,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":52014,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:71"},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":52016,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":1764,"src":"65:60:71","symbolAliases":[{"foreign":{"id":52015,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"73:12:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/callback/IUnlockCallback.sol","file":"../interfaces/callback/IUnlockCallback.sol","id":52018,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":56803,"src":"126:75:71","symbolAliases":[{"foreign":{"id":52017,"name":"IUnlockCallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56802,"src":"134:15:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":52020,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":49040,"src":"202:48:71","symbolAliases":[{"foreign":{"id":52019,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"210:12:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":52023,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4773,"src":"251:77:71","symbolAliases":[{"foreign":{"id":52021,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"259:21:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":52022,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"282:10:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":52025,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4746,"src":"329:45:71","symbolAliases":[{"foreign":{"id":52024,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"337:7:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/Constants.sol","file":"../../test/utils/Constants.sol","id":52027,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4865,"src":"375:57:71","symbolAliases":[{"foreign":{"id":52026,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"383:9:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","id":52029,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":1234,"src":"433:40:71","symbolAliases":[{"foreign":{"id":52028,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"441:4:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":52031,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4392,"src":"474:55:71","symbolAliases":[{"foreign":{"id":52030,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"482:12:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":52033,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4694,"src":"530:47:71","symbolAliases":[{"foreign":{"id":52032,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"538:8:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"../types/PoolId.sol","id":52035,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":4714,"src":"578:43:71","symbolAliases":[{"foreign":{"id":52034,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"586:6:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":52037,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":49176,"src":"622:69:71","symbolAliases":[{"foreign":{"id":52036,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"630:15:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"../libraries/StateLibrary.sol","id":52039,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":2587,"src":"692:59:71","symbolAliases":[{"foreign":{"id":52038,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"700:12:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TransientStateLibrary.sol","file":"../libraries/TransientStateLibrary.sol","id":52041,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53230,"sourceUnit":56939,"src":"752:77:71","symbolAliases":[{"foreign":{"id":52040,"name":"TransientStateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56938,"src":"760:21:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"Action","id":52049,"members":[{"id":52042,"name":"NESTED_SELF_UNLOCK","nameLocation":"849:18:71","nodeType":"EnumValue","src":"849:18:71"},{"id":52043,"name":"NESTED_EXECUTOR_UNLOCK","nameLocation":"873:22:71","nodeType":"EnumValue","src":"873:22:71"},{"id":52044,"name":"SWAP_AND_SETTLE","nameLocation":"901:15:71","nodeType":"EnumValue","src":"901:15:71"},{"id":52045,"name":"DONATE_AND_SETTLE","nameLocation":"922:17:71","nodeType":"EnumValue","src":"922:17:71"},{"id":52046,"name":"ADD_LIQUIDITY_AND_SETTLE","nameLocation":"945:24:71","nodeType":"EnumValue","src":"945:24:71"},{"id":52047,"name":"REMOVE_LIQUIDITY_AND_SETTLE","nameLocation":"975:27:71","nodeType":"EnumValue","src":"975:27:71"},{"id":52048,"name":"INITIALIZE","nameLocation":"1008:10:71","nodeType":"EnumValue","src":"1008:10:71"}],"name":"Action","nameLocation":"836:6:71","nodeType":"EnumDefinition","src":"831:189:71"},{"abstract":false,"baseContracts":[{"baseName":{"id":52050,"name":"Test","nameLocations":["1056:4:71"],"nodeType":"IdentifierPath","referencedDeclaration":1233,"src":"1056:4:71"},"id":52051,"nodeType":"InheritanceSpecifier","src":"1056:4:71"},{"baseName":{"id":52052,"name":"IUnlockCallback","nameLocations":["1062:15:71"],"nodeType":"IdentifierPath","referencedDeclaration":56802,"src":"1062:15:71"},"id":52053,"nodeType":"InheritanceSpecifier","src":"1062:15:71"}],"canonicalName":"PoolNestedActionsTest","contractDependencies":[53229],"contractKind":"contract","fullyImplemented":true,"id":52198,"linearizedBaseContracts":[52198,56802,1233,18792,12770,12410,11617,9557,8712,6082,6079],"name":"PoolNestedActionsTest","nameLocation":"1031:21:71","nodeType":"ContractDefinition","nodes":[{"global":false,"id":52057,"libraryName":{"id":52054,"name":"StateLibrary","nameLocations":["1090:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"1090:12:71"},"nodeType":"UsingForDirective","src":"1084:36:71","typeName":{"id":52056,"nodeType":"UserDefinedTypeName","pathNode":{"id":52055,"name":"IPoolManager","nameLocations":["1107:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1107:12:71"},"referencedDeclaration":1763,"src":"1107:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"global":false,"id":52061,"libraryName":{"id":52058,"name":"TransientStateLibrary","nameLocations":["1131:21:71"],"nodeType":"IdentifierPath","referencedDeclaration":56938,"src":"1131:21:71"},"nodeType":"UsingForDirective","src":"1125:45:71","typeName":{"id":52060,"nodeType":"UserDefinedTypeName","pathNode":{"id":52059,"name":"IPoolManager","nameLocations":["1157:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1157:12:71"},"referencedDeclaration":1763,"src":"1157:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"constant":false,"id":52064,"mutability":"mutable","name":"manager","nameLocation":"1189:7:71","nodeType":"VariableDeclaration","scope":52198,"src":"1176:20:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":52063,"nodeType":"UserDefinedTypeName","pathNode":{"id":52062,"name":"IPoolManager","nameLocations":["1176:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1176:12:71"},"referencedDeclaration":1763,"src":"1176:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"functionSelector":"c34c08e5","id":52067,"mutability":"mutable","name":"executor","nameLocation":"1230:8:71","nodeType":"VariableDeclaration","scope":52198,"src":"1202:36:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"},"typeName":{"id":52066,"nodeType":"UserDefinedTypeName","pathNode":{"id":52065,"name":"NestedActionExecutor","nameLocations":["1202:20:71"],"nodeType":"IdentifierPath","referencedDeclaration":53229,"src":"1202:20:71"},"referencedDeclaration":53229,"src":"1202:20:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"visibility":"public"},{"constant":false,"id":52069,"mutability":"mutable","name":"user","nameLocation":"1252:4:71","nodeType":"VariableDeclaration","scope":52198,"src":"1244:12:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52068,"name":"address","nodeType":"ElementaryTypeName","src":"1244:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"body":{"id":52093,"nodeType":"Block","src":"1298:122:71","statements":[{"expression":{"id":52077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52075,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"1308:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":52076,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52072,"src":"1318:8:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"src":"1308:18:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52078,"nodeType":"ExpressionStatement","src":"1308:18:71"},{"expression":{"id":52082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52079,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52069,"src":"1336:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":52080,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1343:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":52081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1347:6:71","memberName":"sender","nodeType":"MemberAccess","src":"1343:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1336:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":52083,"nodeType":"ExpressionStatement","src":"1336:17:71"},{"expression":{"id":52091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52084,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52067,"src":"1363:8:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":52088,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"1399:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52089,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52069,"src":"1408:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1374:24:71","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$_t_address_$returns$_t_contract$_NestedActionExecutor_$53229_$","typeString":"function (contract IPoolManager,address) returns (contract NestedActionExecutor)"},"typeName":{"id":52086,"nodeType":"UserDefinedTypeName","pathNode":{"id":52085,"name":"NestedActionExecutor","nameLocations":["1378:20:71"],"nodeType":"IdentifierPath","referencedDeclaration":53229,"src":"1378:20:71"},"referencedDeclaration":53229,"src":"1378:20:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}},"id":52090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1374:39:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"src":"1363:50:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"id":52092,"nodeType":"ExpressionStatement","src":"1363:50:71"}]},"id":52094,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":52073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52072,"mutability":"mutable","name":"_manager","nameLocation":"1288:8:71","nodeType":"VariableDeclaration","scope":52094,"src":"1275:21:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":52071,"nodeType":"UserDefinedTypeName","pathNode":{"id":52070,"name":"IPoolManager","nameLocations":["1275:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1275:12:71"},"referencedDeclaration":1763,"src":"1275:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"1274:23:71"},"returnParameters":{"id":52074,"nodeType":"ParameterList","parameters":[],"src":"1298:0:71"},"scope":52198,"src":"1263:157:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52105,"nodeType":"Block","src":"1472:37:71","statements":[{"expression":{"arguments":[{"id":52102,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52096,"src":"1497:4:71","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":52099,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"1482:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1490:6:71","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1482:14:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":52103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":52104,"nodeType":"ExpressionStatement","src":"1482:20:71"}]},"functionSelector":"48c89491","id":52106,"implemented":true,"kind":"function","modifiers":[],"name":"unlock","nameLocation":"1435:6:71","nodeType":"FunctionDefinition","parameters":{"id":52097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52096,"mutability":"mutable","name":"data","nameLocation":"1457:4:71","nodeType":"VariableDeclaration","scope":52106,"src":"1442:19:71","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":52095,"name":"bytes","nodeType":"ElementaryTypeName","src":"1442:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1441:21:71"},"returnParameters":{"id":52098,"nodeType":"ParameterList","parameters":[],"src":"1472:0:71"},"scope":52198,"src":"1426:83:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":52153,"nodeType":"Block","src":"1689:263:71","statements":[{"assignments":[52119],"declarations":[{"constant":false,"id":52119,"mutability":"mutable","name":"actions","nameLocation":"1715:7:71","nodeType":"VariableDeclaration","scope":52153,"src":"1699:23:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[]"},"typeName":{"baseType":{"id":52117,"nodeType":"UserDefinedTypeName","pathNode":{"id":52116,"name":"Action","nameLocations":["1699:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":52049,"src":"1699:6:71"},"referencedDeclaration":52049,"src":"1699:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"id":52118,"nodeType":"ArrayTypeName","src":"1699:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_storage_ptr","typeString":"enum Action[]"}},"visibility":"internal"}],"id":52127,"initialValue":{"arguments":[{"id":52122,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52109,"src":"1736:4:71","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"baseExpression":{"id":52123,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"1743:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"1743:8:71","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_enum$_Action_$52049_$dyn_memory_ptr_$","typeString":"type(enum Action[] memory)"}}],"id":52125,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1742:10:71","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_enum$_Action_$52049_$dyn_memory_ptr_$","typeString":"type(enum Action[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_array$_t_enum$_Action_$52049_$dyn_memory_ptr_$","typeString":"type(enum Action[] memory)"}],"expression":{"id":52120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1725:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1729:6:71","memberName":"decode","nodeType":"MemberAccess","src":"1725:10:71","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":52126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1699:54:71"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":52138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52128,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52119,"src":"1767:7:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}},"id":52129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1775:6:71","memberName":"length","nodeType":"MemberAccess","src":"1767:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":52130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1767:19:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":52132,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52119,"src":"1790:7:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}},"id":52134,"indexExpression":{"hexValue":"30","id":52133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1798: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":"1790:10:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52135,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"1804:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1811:18:71","memberName":"NESTED_SELF_UNLOCK","nodeType":"MemberAccess","referencedDeclaration":52042,"src":"1804:25:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"1790:39:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1767:62:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":52149,"nodeType":"Block","src":"1877:50:71","statements":[{"expression":{"arguments":[{"id":52146,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52119,"src":"1908:7:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}],"expression":{"id":52143,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52067,"src":"1891:8:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"id":52145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1900:7:71","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":52383,"src":"1891:16:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_enum$_Action_$52049_$dyn_memory_ptr_$returns$__$","typeString":"function (enum Action[] memory) external"}},"id":52147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1891:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52148,"nodeType":"ExpressionStatement","src":"1891:25:71"}]},"id":52150,"nodeType":"IfStatement","src":"1763:164:71","trueBody":{"id":52142,"nodeType":"Block","src":"1831:40:71","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":52139,"name":"_nestedUnlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52197,"src":"1845:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":52140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1845:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52141,"nodeType":"ExpressionStatement","src":"1845:15:71"}]}},{"expression":{"hexValue":"","id":52151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1943:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":52114,"id":52152,"nodeType":"Return","src":"1936:9:71"}]},"documentation":{"id":52107,"nodeType":"StructuredDocumentation","src":"1515:83:71","text":"@notice Called by the pool manager on `msg.sender` when the manager is unlocked"},"functionSelector":"91dd7346","id":52154,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1612:14:71","nodeType":"FunctionDefinition","overrides":{"id":52111,"nodeType":"OverrideSpecifier","overrides":[],"src":"1657:8:71"},"parameters":{"id":52110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52109,"mutability":"mutable","name":"data","nameLocation":"1642:4:71","nodeType":"VariableDeclaration","scope":52154,"src":"1627:19:71","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":52108,"name":"bytes","nodeType":"ElementaryTypeName","src":"1627:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1626:21:71"},"returnParameters":{"id":52114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52154,"src":"1675:12:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52112,"name":"bytes","nodeType":"ElementaryTypeName","src":"1675:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1674:14:71"},"scope":52198,"src":"1603:349:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":52196,"nodeType":"Block","src":"1992:278:71","statements":[{"assignments":[52158],"declarations":[{"constant":false,"id":52158,"mutability":"mutable","name":"unlocked","nameLocation":"2007:8:71","nodeType":"VariableDeclaration","scope":52196,"src":"2002:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52157,"name":"bool","nodeType":"ElementaryTypeName","src":"2002:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52162,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52159,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"2018:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2026:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"2018:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2018:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2002:36:71"},{"expression":{"arguments":[{"id":52164,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52158,"src":"2057:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2067:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52163,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"2048:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2048:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52167,"nodeType":"ExpressionStatement","src":"2048:24:71"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":52173,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"2121:12:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPoolManager_$1763_$","typeString":"type(contract IPoolManager)"}},"id":52174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2134:15:71","memberName":"AlreadyUnlocked","nodeType":"MemberAccess","referencedDeclaration":1521,"src":"2121:28:71","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":52175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:8:71","memberName":"selector","nodeType":"MemberAccess","src":"2121:37:71","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":52171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2098:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2102:18:71","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2098:22:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":52176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2098:61:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52168,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"2082:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":52170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2085:12:71","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":23174,"src":"2082:15:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":52177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2082:78:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52178,"nodeType":"ExpressionStatement","src":"2082:78:71"},{"expression":{"arguments":[{"hexValue":"","id":52182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2185:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":52179,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"2170:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2178:6:71","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"2170:14:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":52183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:18:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":52184,"nodeType":"ExpressionStatement","src":"2170:18:71"},{"expression":{"id":52189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52185,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52158,"src":"2198:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52186,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52064,"src":"2209:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2217:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"2209:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2209:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2198:31:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52190,"nodeType":"ExpressionStatement","src":"2198:31:71"},{"expression":{"arguments":[{"id":52192,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52158,"src":"2248:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2258:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52191,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"2239:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2239:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52195,"nodeType":"ExpressionStatement","src":"2239:24:71"}]},"id":52197,"implemented":true,"kind":"function","modifiers":[],"name":"_nestedUnlock","nameLocation":"1967:13:71","nodeType":"FunctionDefinition","parameters":{"id":52155,"nodeType":"ParameterList","parameters":[],"src":"1980:2:71"},"returnParameters":{"id":52156,"nodeType":"ParameterList","parameters":[],"src":"1992:0:71"},"scope":52198,"src":"1958:312:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":53230,"src":"1022:1250:71","usedErrors":[],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]},{"abstract":false,"baseContracts":[{"baseName":{"id":52199,"name":"Test","nameLocations":["2307:4:71"],"nodeType":"IdentifierPath","referencedDeclaration":1233,"src":"2307:4:71"},"id":52200,"nodeType":"InheritanceSpecifier","src":"2307:4:71"},{"baseName":{"id":52201,"name":"PoolTestBase","nameLocations":["2313:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"2313:12:71"},"id":52202,"nodeType":"InheritanceSpecifier","src":"2313:12:71"}],"canonicalName":"NestedActionExecutor","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":53229,"linearizedBaseContracts":[53229,49039,56802,1233,18792,12770,12410,11617,9557,8712,6082,6079],"name":"NestedActionExecutor","nameLocation":"2283:20:71","nodeType":"ContractDefinition","nodes":[{"global":false,"id":52206,"libraryName":{"id":52203,"name":"StateLibrary","nameLocations":["2338:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"2338:12:71"},"nodeType":"UsingForDirective","src":"2332:36:71","typeName":{"id":52205,"nodeType":"UserDefinedTypeName","pathNode":{"id":52204,"name":"IPoolManager","nameLocations":["2355:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"2355:12:71"},"referencedDeclaration":1763,"src":"2355:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"global":false,"id":52210,"libraryName":{"id":52207,"name":"TransientStateLibrary","nameLocations":["2379:21:71"],"nodeType":"IdentifierPath","referencedDeclaration":56938,"src":"2379:21:71"},"nodeType":"UsingForDirective","src":"2373:45:71","typeName":{"id":52209,"nodeType":"UserDefinedTypeName","pathNode":{"id":52208,"name":"IPoolManager","nameLocations":["2405:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"2405:12:71"},"referencedDeclaration":1763,"src":"2405:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"global":false,"id":52214,"libraryName":{"id":52211,"name":"CurrencySettler","nameLocations":["2429:15:71"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"2429:15:71"},"nodeType":"UsingForDirective","src":"2423:35:71","typeName":{"id":52213,"nodeType":"UserDefinedTypeName","pathNode":{"id":52212,"name":"Currency","nameLocations":["2449:8:71"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2449:8:71"},"referencedDeclaration":4399,"src":"2449:8:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"constant":false,"id":52217,"mutability":"mutable","name":"key","nameLocation":"2481:3:71","nodeType":"VariableDeclaration","scope":53229,"src":"2464:20:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":52216,"nodeType":"UserDefinedTypeName","pathNode":{"id":52215,"name":"PoolKey","nameLocations":["2464:7:71"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"2464:7:71"},"referencedDeclaration":4745,"src":"2464:7:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":52219,"mutability":"mutable","name":"user","nameLocation":"2498:4:71","nodeType":"VariableDeclaration","scope":53229,"src":"2490:12:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52218,"name":"address","nodeType":"ElementaryTypeName","src":"2490:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"errorSelector":"9096cccb","id":52221,"name":"KeyNotSet","nameLocation":"2515:9:71","nodeType":"ErrorDefinition","parameters":{"id":52220,"nodeType":"ParameterList","parameters":[],"src":"2524:2:71"},"src":"2509:18:71"},{"constant":false,"id":52231,"mutability":"mutable","name":"ADD_LIQUIDITY_PARAMS","nameLocation":"2564:20:71","nodeType":"VariableDeclaration","scope":53229,"src":"2533:149:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":52223,"nodeType":"UserDefinedTypeName","pathNode":{"id":52222,"name":"ModifyLiquidityParams","nameLocations":["2533:21:71"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2533:21:71"},"referencedDeclaration":4761,"src":"2533:21:71","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":52226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2629:4:71","subExpression":{"hexValue":"313230","id":52225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2630:3:71","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":52227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2646:3:71","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"31653138","id":52228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2667:4:71","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},{"hexValue":"30","id":52229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52224,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"2595:21:71","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":52230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2618:9:71","2635:9:71","2651:14:71","2673:4:71"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"2595:87:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"internal"},{"constant":false,"id":52242,"mutability":"mutable","name":"REMOVE_LIQUIDITY_PARAMS","nameLocation":"2720:23:71","nodeType":"VariableDeclaration","scope":53229,"src":"2689:153:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":52233,"nodeType":"UserDefinedTypeName","pathNode":{"id":52232,"name":"ModifyLiquidityParams","nameLocations":["2689:21:71"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2689:21:71"},"referencedDeclaration":4761,"src":"2689:21:71","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":52236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2788:4:71","subExpression":{"hexValue":"313230","id":52235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:3:71","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":52237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2805:3:71","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":52239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2826:5:71","subExpression":{"hexValue":"31653138","id":52238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2827:4:71","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1000000000000000000_by_1","typeString":"int_const -1000000000000000000"}},{"hexValue":"30","id":52240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2839:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_minus_1000000000000000000_by_1","typeString":"int_const -1000000000000000000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52234,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"2754:21:71","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":52241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2777:9:71","2794:9:71","2810:14:71","2833:4:71"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"2754:88:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"internal"},{"constant":false,"id":52252,"mutability":"mutable","name":"SWAP_PARAMS","nameLocation":"2869:11:71","nodeType":"VariableDeclaration","scope":53229,"src":"2849:140:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage","typeString":"struct SwapParams"},"typeName":{"id":52244,"nodeType":"UserDefinedTypeName","pathNode":{"id":52243,"name":"SwapParams","nameLocations":["2849:10:71"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"2849:10:71"},"referencedDeclaration":4772,"src":"2849:10:71","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"value":{"arguments":[{"hexValue":"74727565","id":52246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2915:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":52248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2938:4:71","subExpression":{"hexValue":"313030","id":52247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2939:3:71","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"expression":{"id":52249,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"2963:9:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":52250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2973:14:71","memberName":"SQRT_PRICE_1_2","nodeType":"MemberAccess","referencedDeclaration":4781,"src":"2963:24:71","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":52245,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"2891:10:71","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SwapParams_$4772_storage_ptr_$","typeString":"type(struct SwapParams storage pointer)"}},"id":52251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2903:10:71","2921:15:71","2944:17:71"],"names":["zeroForOne","amountSpecified","sqrtPriceLimitX96"],"nodeType":"FunctionCall","src":"2891:98:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"visibility":"internal"},{"constant":false,"id":52255,"mutability":"mutable","name":"DONATE_AMOUNT0","nameLocation":"3013:14:71","nodeType":"VariableDeclaration","scope":53229,"src":"2996:41:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52253,"name":"uint256","nodeType":"ElementaryTypeName","src":"2996:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31323334356536","id":52254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3030:7:71","typeDescriptions":{"typeIdentifier":"t_rational_12345000000_by_1","typeString":"int_const 12345000000"},"value":"12345e6"},"visibility":"internal"},{"constant":false,"id":52258,"mutability":"mutable","name":"DONATE_AMOUNT1","nameLocation":"3060:14:71","nodeType":"VariableDeclaration","scope":53229,"src":"3043:41:71","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52256,"name":"uint256","nodeType":"ElementaryTypeName","src":"3043:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39383736356534","id":52257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3077:7:71","typeDescriptions":{"typeIdentifier":"t_rational_987650000_by_1","typeString":"int_const 987650000"},"value":"98765e4"},"visibility":"internal"},{"body":{"id":52273,"nodeType":"Block","src":"3164:29:71","statements":[{"expression":{"id":52271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52269,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"3174:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":52270,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52263,"src":"3181:5:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3174:12:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":52272,"nodeType":"ExpressionStatement","src":"3174:12:71"}]},"id":52274,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":52266,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52261,"src":"3154:8:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":52267,"kind":"baseConstructorSpecifier","modifierName":{"id":52265,"name":"PoolTestBase","nameLocations":["3141:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"3141:12:71"},"nodeType":"ModifierInvocation","src":"3141:22:71"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":52264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52261,"mutability":"mutable","name":"_manager","nameLocation":"3116:8:71","nodeType":"VariableDeclaration","scope":52274,"src":"3103:21:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":52260,"nodeType":"UserDefinedTypeName","pathNode":{"id":52259,"name":"IPoolManager","nameLocations":["3103:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"3103:12:71"},"referencedDeclaration":1763,"src":"3103:12:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":52263,"mutability":"mutable","name":"_user","nameLocation":"3134:5:71","nodeType":"VariableDeclaration","scope":52274,"src":"3126:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52262,"name":"address","nodeType":"ElementaryTypeName","src":"3126:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3102:38:71"},"returnParameters":{"id":52268,"nodeType":"ParameterList","parameters":[],"src":"3164:0:71"},"scope":53229,"src":"3091:102:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52284,"nodeType":"Block","src":"3245:27:71","statements":[{"expression":{"id":52282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52280,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"3255:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":52281,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52277,"src":"3261:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"src":"3255:10:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52283,"nodeType":"ExpressionStatement","src":"3255:10:71"}]},"functionSelector":"1b9ec89e","id":52285,"implemented":true,"kind":"function","modifiers":[],"name":"setKey","nameLocation":"3208:6:71","nodeType":"FunctionDefinition","parameters":{"id":52278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52277,"mutability":"mutable","name":"_key","nameLocation":"3230:4:71","nodeType":"VariableDeclaration","scope":52285,"src":"3215:19:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":52276,"nodeType":"UserDefinedTypeName","pathNode":{"id":52275,"name":"PoolKey","nameLocations":["3215:7:71"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3215:7:71"},"referencedDeclaration":4745,"src":"3215:7:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"}],"src":"3214:21:71"},"returnParameters":{"id":52279,"nodeType":"ParameterList","parameters":[],"src":"3245:0:71"},"scope":53229,"src":"3199:73:71","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":52382,"nodeType":"Block","src":"3327:669:71","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":52301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":52294,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"3357:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3361:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"3357:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":52292,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"3341:8:71","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":52293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3350:6:71","memberName":"unwrap","nodeType":"MemberAccess","src":"3341:15:71","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":52296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:30:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":52299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3383:1:71","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":52298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3375:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52297,"name":"address","nodeType":"ElementaryTypeName","src":"3375:7:71","typeDescriptions":{}}},"id":52300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3375:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3341:44:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52305,"nodeType":"IfStatement","src":"3337:68:71","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":52302,"name":"KeyNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52221,"src":"3394:9:71","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":52303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:11:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":52304,"nodeType":"RevertStatement","src":"3387:18:71"}},{"body":{"id":52380,"nodeType":"Block","src":"3460:530:71","statements":[{"assignments":[52319],"declarations":[{"constant":false,"id":52319,"mutability":"mutable","name":"action","nameLocation":"3481:6:71","nodeType":"VariableDeclaration","scope":52380,"src":"3474:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"typeName":{"id":52318,"nodeType":"UserDefinedTypeName","pathNode":{"id":52317,"name":"Action","nameLocations":["3474:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":52049,"src":"3474:6:71"},"referencedDeclaration":52049,"src":"3474:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"visibility":"internal"}],"id":52323,"initialValue":{"baseExpression":{"id":52320,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52289,"src":"3490:7:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}},"id":52322,"indexExpression":{"id":52321,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52307,"src":"3498:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3490:10:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"VariableDeclarationStatement","src":"3474:26:71"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52324,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3518:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52325,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3528:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3535:22:71","memberName":"NESTED_EXECUTOR_UNLOCK","nodeType":"MemberAccess","referencedDeclaration":52043,"src":"3528:29:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3518:39:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52331,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3597:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52332,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3607:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3614:15:71","memberName":"SWAP_AND_SETTLE","nodeType":"MemberAccess","referencedDeclaration":52044,"src":"3607:22:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3597:32:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52340,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3671:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52341,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3681:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3688:24:71","memberName":"ADD_LIQUIDITY_AND_SETTLE","nodeType":"MemberAccess","referencedDeclaration":52046,"src":"3681:31:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3671:41:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52349,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3762:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52350,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3772:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3779:27:71","memberName":"REMOVE_LIQUIDITY_AND_SETTLE","nodeType":"MemberAccess","referencedDeclaration":52047,"src":"3772:34:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3762:44:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52358,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3859:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52359,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3869:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3876:17:71","memberName":"DONATE_AND_SETTLE","nodeType":"MemberAccess","referencedDeclaration":52045,"src":"3869:24:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3859:34:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"},"id":52370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52367,"name":"action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"3937:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":52368,"name":"Action","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52049,"src":"3947:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Action_$52049_$","typeString":"type(enum Action)"}},"id":52369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3954:10:71","memberName":"INITIALIZE","nodeType":"MemberAccess","referencedDeclaration":52048,"src":"3947:17:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"src":"3937:27:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52374,"nodeType":"IfStatement","src":"3933:46:71","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":52371,"name":"_initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53217,"src":"3966:11:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":52372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3966:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52373,"nodeType":"ExpressionStatement","src":"3966:13:71"}},"id":52375,"nodeType":"IfStatement","src":"3855:124:71","trueBody":{"expression":{"arguments":[{"expression":{"id":52363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3903:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":52364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3907:6:71","memberName":"sender","nodeType":"MemberAccess","src":"3903:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52362,"name":"_donate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53155,"src":"3895:7:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":52365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3895:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52366,"nodeType":"ExpressionStatement","src":"3895:19:71"}},"id":52376,"nodeType":"IfStatement","src":"3758:221:71","trueBody":{"expression":{"arguments":[{"expression":{"id":52354,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3825:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":52355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3829:6:71","memberName":"sender","nodeType":"MemberAccess","src":"3825:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52353,"name":"_removeLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52955,"src":"3808:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":52356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3808:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52357,"nodeType":"ExpressionStatement","src":"3808:28:71"}},"id":52377,"nodeType":"IfStatement","src":"3667:312:71","trueBody":{"expression":{"arguments":[{"expression":{"id":52345,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3728:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":52346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3732:6:71","memberName":"sender","nodeType":"MemberAccess","src":"3728:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52344,"name":"_addLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52784,"src":"3714:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":52347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3714:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52348,"nodeType":"ExpressionStatement","src":"3714:25:71"}},"id":52378,"nodeType":"IfStatement","src":"3593:386:71","trueBody":{"expression":{"arguments":[{"expression":{"id":52336,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3637:3:71","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":52337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3641:6:71","memberName":"sender","nodeType":"MemberAccess","src":"3637:10:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52335,"name":"_swap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52611,"src":"3631:5:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":52338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3631:17:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52339,"nodeType":"ExpressionStatement","src":"3631:17:71"}},"id":52379,"nodeType":"IfStatement","src":"3514:465:71","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":52328,"name":"_nestedUnlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52426,"src":"3559:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":52329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3559:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52330,"nodeType":"ExpressionStatement","src":"3559:15:71"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52307,"src":"3435:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":52311,"name":"actions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52289,"src":"3439:7:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[] memory"}},"id":52312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3447:6:71","memberName":"length","nodeType":"MemberAccess","src":"3439:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3435:18:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52381,"initializationExpression":{"assignments":[52307],"declarations":[{"constant":false,"id":52307,"mutability":"mutable","name":"i","nameLocation":"3428:1:71","nodeType":"VariableDeclaration","scope":52381,"src":"3420:9:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52306,"name":"uint256","nodeType":"ElementaryTypeName","src":"3420:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":52309,"initialValue":{"hexValue":"30","id":52308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3432:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3420:13:71"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":52315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3455:3:71","subExpression":{"id":52314,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52307,"src":"3455:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":52316,"nodeType":"ExpressionStatement","src":"3455:3:71"},"nodeType":"ForStatement","src":"3415:575:71"}]},"functionSelector":"7938323a","id":52383,"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"3287:7:71","nodeType":"FunctionDefinition","parameters":{"id":52290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52289,"mutability":"mutable","name":"actions","nameLocation":"3311:7:71","nodeType":"VariableDeclaration","scope":52383,"src":"3295:23:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_memory_ptr","typeString":"enum Action[]"},"typeName":{"baseType":{"id":52287,"nodeType":"UserDefinedTypeName","pathNode":{"id":52286,"name":"Action","nameLocations":["3295:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":52049,"src":"3295:6:71"},"referencedDeclaration":52049,"src":"3295:6:71","typeDescriptions":{"typeIdentifier":"t_enum$_Action_$52049","typeString":"enum Action"}},"id":52288,"nodeType":"ArrayTypeName","src":"3295:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_enum$_Action_$52049_$dyn_storage_ptr","typeString":"enum Action[]"}},"visibility":"internal"}],"src":"3294:25:71"},"returnParameters":{"id":52291,"nodeType":"ParameterList","parameters":[],"src":"3327:0:71"},"scope":53229,"src":"3278:718:71","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":52425,"nodeType":"Block","src":"4036:278:71","statements":[{"assignments":[52387],"declarations":[{"constant":false,"id":52387,"mutability":"mutable","name":"unlocked","nameLocation":"4051:8:71","nodeType":"VariableDeclaration","scope":52425,"src":"4046:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52386,"name":"bool","nodeType":"ElementaryTypeName","src":"4046:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52391,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52388,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4062:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4070:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"4062:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4062:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4046:36:71"},{"expression":{"arguments":[{"id":52393,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52387,"src":"4101:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4111:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"4092:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4092:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52396,"nodeType":"ExpressionStatement","src":"4092:24:71"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":52402,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"4165:12:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPoolManager_$1763_$","typeString":"type(contract IPoolManager)"}},"id":52403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4178:15:71","memberName":"AlreadyUnlocked","nodeType":"MemberAccess","referencedDeclaration":1521,"src":"4165:28:71","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":52404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4194:8:71","memberName":"selector","nodeType":"MemberAccess","src":"4165:37:71","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":52400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4142:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4146:18:71","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4142:22:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":52405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4142:61:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"4126:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":52399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4129:12:71","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":23174,"src":"4126:15:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":52406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4126:78:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52407,"nodeType":"ExpressionStatement","src":"4126:78:71"},{"expression":{"arguments":[{"hexValue":"","id":52411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4229:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":52408,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4214:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4222:6:71","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"4214:14:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":52412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4214:18:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":52413,"nodeType":"ExpressionStatement","src":"4214:18:71"},{"expression":{"id":52418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":52414,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52387,"src":"4242:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52415,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4253:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4261:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"4253:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4253:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4242:31:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52419,"nodeType":"ExpressionStatement","src":"4242:31:71"},{"expression":{"arguments":[{"id":52421,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52387,"src":"4292:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4302:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52420,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"4283:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4283:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52424,"nodeType":"ExpressionStatement","src":"4283:24:71"}]},"id":52426,"implemented":true,"kind":"function","modifiers":[],"name":"_nestedUnlock","nameLocation":"4011:13:71","nodeType":"FunctionDefinition","parameters":{"id":52384,"nodeType":"ParameterList","parameters":[],"src":"4024:2:71"},"returnParameters":{"id":52385,"nodeType":"ParameterList","parameters":[],"src":"4036:0:71"},"scope":53229,"src":"4002:312:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":52610,"nodeType":"Block","src":"4360:1482:71","statements":[{"assignments":[52432],"declarations":[{"constant":false,"id":52432,"mutability":"mutable","name":"unlocked","nameLocation":"4375:8:71","nodeType":"VariableDeclaration","scope":52610,"src":"4370:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52431,"name":"bool","nodeType":"ElementaryTypeName","src":"4370:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52436,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52433,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4386:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4394:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"4386:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4386:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4370:36:71"},{"expression":{"arguments":[{"id":52438,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52432,"src":"4425:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4435:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52437,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"4416:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4416:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52441,"nodeType":"ExpressionStatement","src":"4416:24:71"},{"assignments":[null,null,52443],"declarations":[null,null,{"constant":false,"id":52443,"mutability":"mutable","name":"deltaCallerBefore0","nameLocation":"4461:18:71","nodeType":"VariableDeclaration","scope":52610,"src":"4454:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52442,"name":"int256","nodeType":"ElementaryTypeName","src":"4454:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52450,"initialValue":{"arguments":[{"expression":{"id":52445,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4498:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4502:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"4498:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52447,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"4513:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52448,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52428,"src":"4519:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52444,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4483:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4483:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4450:76:71"},{"assignments":[null,null,52452],"declarations":[null,null,{"constant":false,"id":52452,"mutability":"mutable","name":"deltaCallerBefore1","nameLocation":"4547:18:71","nodeType":"VariableDeclaration","scope":52610,"src":"4540:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52451,"name":"int256","nodeType":"ElementaryTypeName","src":"4540:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52459,"initialValue":{"arguments":[{"expression":{"id":52454,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4584:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4588:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"4584:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52456,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"4599:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52457,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52428,"src":"4605:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52453,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4569:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4569:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4536:76:71"},{"assignments":[null,null,52461],"declarations":[null,null,{"constant":false,"id":52461,"mutability":"mutable","name":"deltaThisBefore0","nameLocation":"4633:16:71","nodeType":"VariableDeclaration","scope":52610,"src":"4626:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52460,"name":"int256","nodeType":"ElementaryTypeName","src":"4626:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52471,"initialValue":{"arguments":[{"expression":{"id":52463,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4668:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4672:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"4668:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52465,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"4683:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52468,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4697:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4689:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52466,"name":"address","nodeType":"ElementaryTypeName","src":"4689:7:71","typeDescriptions":{}}},"id":52469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4689:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52462,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4653:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4653:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4622:81:71"},{"assignments":[null,null,52473],"declarations":[null,null,{"constant":false,"id":52473,"mutability":"mutable","name":"deltaThisBefore1","nameLocation":"4724:16:71","nodeType":"VariableDeclaration","scope":52610,"src":"4717:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52472,"name":"int256","nodeType":"ElementaryTypeName","src":"4717:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52483,"initialValue":{"arguments":[{"expression":{"id":52475,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4759:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4763:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"4759:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52477,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"4774:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52480,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4788:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4780:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52478,"name":"address","nodeType":"ElementaryTypeName","src":"4780:7:71","typeDescriptions":{}}},"id":52481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4780:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52474,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4744:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4744:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4713:81:71"},{"assignments":[52486],"declarations":[{"constant":false,"id":52486,"mutability":"mutable","name":"delta","nameLocation":"4818:5:71","nodeType":"VariableDeclaration","scope":52610,"src":"4805:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":52485,"nodeType":"UserDefinedTypeName","pathNode":{"id":52484,"name":"BalanceDelta","nameLocations":["4805:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"4805:12:71"},"referencedDeclaration":4233,"src":"4805:12:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":52493,"initialValue":{"arguments":[{"id":52489,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4839:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":52490,"name":"SWAP_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52252,"src":"4844:11:71","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage","typeString":"struct SwapParams storage ref"}},{"hexValue":"","id":52491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4857:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_SwapParams_$4772_storage","typeString":"struct SwapParams storage ref"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":52487,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4826:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4834:4:71","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":1676,"src":"4826:12:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct SwapParams memory,bytes memory) external returns (BalanceDelta)"}},"id":52492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:34:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"4805:55:71"},{"assignments":[null,null,52495],"declarations":[null,null,{"constant":false,"id":52495,"mutability":"mutable","name":"deltaCallerAfter0","nameLocation":"4882:17:71","nodeType":"VariableDeclaration","scope":52610,"src":"4875:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52494,"name":"int256","nodeType":"ElementaryTypeName","src":"4875:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52502,"initialValue":{"arguments":[{"expression":{"id":52497,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"4918:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4922:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"4918:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52499,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"4933:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52500,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52428,"src":"4939:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52496,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4903:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4903:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4871:75:71"},{"assignments":[null,null,52504],"declarations":[null,null,{"constant":false,"id":52504,"mutability":"mutable","name":"deltaCallerAfter1","nameLocation":"4967:17:71","nodeType":"VariableDeclaration","scope":52610,"src":"4960:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52503,"name":"int256","nodeType":"ElementaryTypeName","src":"4960:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52511,"initialValue":{"arguments":[{"expression":{"id":52506,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"5003:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5007:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"5003:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52508,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"5018:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52509,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52428,"src":"5024:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52505,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"4988:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4988:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"4956:75:71"},{"assignments":[null,null,52513],"declarations":[null,null,{"constant":false,"id":52513,"mutability":"mutable","name":"deltaThisAfter0","nameLocation":"5052:15:71","nodeType":"VariableDeclaration","scope":52610,"src":"5045:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52512,"name":"int256","nodeType":"ElementaryTypeName","src":"5045:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52523,"initialValue":{"arguments":[{"expression":{"id":52515,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"5086:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5090:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"5086:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52517,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"5101:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52520,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5115:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5107:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52518,"name":"address","nodeType":"ElementaryTypeName","src":"5107:7:71","typeDescriptions":{}}},"id":52521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52514,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"5071:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"5041:80:71"},{"assignments":[null,null,52525],"declarations":[null,null,{"constant":false,"id":52525,"mutability":"mutable","name":"deltaThisAfter1","nameLocation":"5142:15:71","nodeType":"VariableDeclaration","scope":52610,"src":"5135:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52524,"name":"int256","nodeType":"ElementaryTypeName","src":"5135:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52535,"initialValue":{"arguments":[{"expression":{"id":52527,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"5176:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5180:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"5176:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52529,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"5191:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52532,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5205:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5197:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52530,"name":"address","nodeType":"ElementaryTypeName","src":"5197:7:71","typeDescriptions":{}}},"id":52533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52526,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"5161:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"5131:80:71"},{"expression":{"arguments":[{"id":52537,"name":"deltaCallerBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52443,"src":"5231:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52538,"name":"deltaCallerAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"5251:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612030","id":52539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5270:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""},"value":"Caller delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""}],"id":52536,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5222:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5222:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52541,"nodeType":"ExpressionStatement","src":"5222:65:71"},{"expression":{"arguments":[{"id":52543,"name":"deltaCallerBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52452,"src":"5306:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52544,"name":"deltaCallerAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52504,"src":"5326:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612031","id":52545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5345:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""},"value":"Caller delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""}],"id":52542,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5297:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5297:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52547,"nodeType":"ExpressionStatement","src":"5297:65:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52549,"name":"deltaThisBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52461,"src":"5381:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":52550,"name":"SWAP_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52252,"src":"5400:11:71","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage","typeString":"struct SwapParams storage ref"}},"id":52551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5412:15:71","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"5400:27:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5381:46:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52553,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52513,"src":"5429:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612030","id":52554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5446:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""},"value":"Executor delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""}],"id":52548,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5372:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5372:93:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52556,"nodeType":"ExpressionStatement","src":"5372:93:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52558,"name":"deltaThisBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"5484:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3938","id":52559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5503:2:71","typeDescriptions":{"typeIdentifier":"t_rational_98_by_1","typeString":"int_const 98"},"value":"98"},"src":"5484:21:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52561,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52525,"src":"5507:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612031","id":52562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5524:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""},"value":"Executor delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""}],"id":52557,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5475:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5475:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52564,"nodeType":"ExpressionStatement","src":"5475:68:71"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52566,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52486,"src":"5562:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5568:7:71","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"5562:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5562:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":52569,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52513,"src":"5579:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"537761702064656c74612030","id":52570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5596:14:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fd5a1cd54af1a2340b2267ba09c868a3e9d0ea4354c7e78c6d32b66e0dc43085","typeString":"literal_string \"Swap delta 0\""},"value":"Swap delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_fd5a1cd54af1a2340b2267ba09c868a3e9d0ea4354c7e78c6d32b66e0dc43085","typeString":"literal_string \"Swap delta 0\""}],"id":52565,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5553:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5553:58:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52572,"nodeType":"ExpressionStatement","src":"5553:58:71"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52574,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52486,"src":"5630:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5636:7:71","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"5630:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5630:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":52577,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52525,"src":"5647:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"537761702064656c74612031","id":52578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5664:14:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_f043cfce8dca780e5450e1c862a620686587b75ed8b66ffc897d64661a5dc253","typeString":"literal_string \"Swap delta 1\""},"value":"Swap delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_f043cfce8dca780e5450e1c862a620686587b75ed8b66ffc897d64661a5dc253","typeString":"literal_string \"Swap delta 1\""}],"id":52573,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"5621:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5621:58:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52580,"nodeType":"ExpressionStatement","src":"5621:58:71"},{"expression":{"arguments":[{"id":52586,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"5711:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52587,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"5720:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"5734:16:71","subExpression":{"id":52590,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52513,"src":"5735:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5726:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5726:7:71","typeDescriptions":{}}},"id":52592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5726:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5753:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52581,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"5690:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5694:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"5690:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5704:6:71","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"5690:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:69:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52595,"nodeType":"ExpressionStatement","src":"5690:69:71"},{"expression":{"arguments":[{"id":52601,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"5788:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52602,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"5797:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52605,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52525,"src":"5811:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5803:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52603,"name":"uint256","nodeType":"ElementaryTypeName","src":"5803:7:71","typeDescriptions":{}}},"id":52606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5803:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5829:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52596,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"5769:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5773:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"5769:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5783:4:71","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"5769:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5769:66:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52609,"nodeType":"ExpressionStatement","src":"5769:66:71"}]},"id":52611,"implemented":true,"kind":"function","modifiers":[],"name":"_swap","nameLocation":"4329:5:71","nodeType":"FunctionDefinition","parameters":{"id":52429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52428,"mutability":"mutable","name":"caller","nameLocation":"4343:6:71","nodeType":"VariableDeclaration","scope":52611,"src":"4335:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52427,"name":"address","nodeType":"ElementaryTypeName","src":"4335:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4334:16:71"},"returnParameters":{"id":52430,"nodeType":"ParameterList","parameters":[],"src":"4360:0:71"},"scope":53229,"src":"4320:1522:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":52783,"nodeType":"Block","src":"5896:1373:71","statements":[{"assignments":[52617],"declarations":[{"constant":false,"id":52617,"mutability":"mutable","name":"unlocked","nameLocation":"5911:8:71","nodeType":"VariableDeclaration","scope":52783,"src":"5906:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52616,"name":"bool","nodeType":"ElementaryTypeName","src":"5906:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52621,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52618,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"5922:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5930:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"5922:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5906:36:71"},{"expression":{"arguments":[{"id":52623,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52617,"src":"5961:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5971:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52622,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"5952:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5952:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52626,"nodeType":"ExpressionStatement","src":"5952:24:71"},{"assignments":[null,null,52628],"declarations":[null,null,{"constant":false,"id":52628,"mutability":"mutable","name":"deltaCallerBefore0","nameLocation":"5997:18:71","nodeType":"VariableDeclaration","scope":52783,"src":"5990:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52627,"name":"int256","nodeType":"ElementaryTypeName","src":"5990:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52635,"initialValue":{"arguments":[{"expression":{"id":52630,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6034:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6038:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6034:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52632,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6049:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52633,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52613,"src":"6055:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52629,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6019:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6019:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"5986:76:71"},{"assignments":[null,null,52637],"declarations":[null,null,{"constant":false,"id":52637,"mutability":"mutable","name":"deltaCallerBefore1","nameLocation":"6083:18:71","nodeType":"VariableDeclaration","scope":52783,"src":"6076:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52636,"name":"int256","nodeType":"ElementaryTypeName","src":"6076:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52644,"initialValue":{"arguments":[{"expression":{"id":52639,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6120:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6124:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6120:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52641,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6135:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52642,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52613,"src":"6141:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52638,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6105:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6105:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6072:76:71"},{"assignments":[null,null,52646],"declarations":[null,null,{"constant":false,"id":52646,"mutability":"mutable","name":"deltaThisBefore0","nameLocation":"6169:16:71","nodeType":"VariableDeclaration","scope":52783,"src":"6162:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52645,"name":"int256","nodeType":"ElementaryTypeName","src":"6162:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52656,"initialValue":{"arguments":[{"expression":{"id":52648,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6204:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6208:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6204:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52650,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6219:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52653,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6233:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6225:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52651,"name":"address","nodeType":"ElementaryTypeName","src":"6225:7:71","typeDescriptions":{}}},"id":52654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52647,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6189:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6189:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6158:81:71"},{"assignments":[null,null,52658],"declarations":[null,null,{"constant":false,"id":52658,"mutability":"mutable","name":"deltaThisBefore1","nameLocation":"6260:16:71","nodeType":"VariableDeclaration","scope":52783,"src":"6253:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52657,"name":"int256","nodeType":"ElementaryTypeName","src":"6253:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52668,"initialValue":{"arguments":[{"expression":{"id":52660,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6295:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6299:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6295:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52662,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6310:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52665,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6324:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6316:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52663,"name":"address","nodeType":"ElementaryTypeName","src":"6316:7:71","typeDescriptions":{}}},"id":52666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6316:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52659,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6280:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6280:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6249:81:71"},{"assignments":[52671,null],"declarations":[{"constant":false,"id":52671,"mutability":"mutable","name":"delta","nameLocation":"6355:5:71","nodeType":"VariableDeclaration","scope":52783,"src":"6342:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":52670,"nodeType":"UserDefinedTypeName","pathNode":{"id":52669,"name":"BalanceDelta","nameLocations":["6342:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"6342:12:71"},"referencedDeclaration":4233,"src":"6342:12:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},null],"id":52678,"initialValue":{"arguments":[{"id":52674,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6389:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":52675,"name":"ADD_LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52231,"src":"6394:20:71","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"hexValue":"","id":52676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6416:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":52672,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"6365:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6373:15:71","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":1661,"src":"6365:23:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) external returns (BalanceDelta,BalanceDelta)"}},"id":52677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6365:54:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"VariableDeclarationStatement","src":"6341:78:71"},{"assignments":[null,null,52680],"declarations":[null,null,{"constant":false,"id":52680,"mutability":"mutable","name":"deltaCallerAfter0","nameLocation":"6441:17:71","nodeType":"VariableDeclaration","scope":52783,"src":"6434:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52679,"name":"int256","nodeType":"ElementaryTypeName","src":"6434:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52687,"initialValue":{"arguments":[{"expression":{"id":52682,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6477:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6481:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6477:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52684,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6492:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52685,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52613,"src":"6498:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52681,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6462:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6462:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6430:75:71"},{"assignments":[null,null,52689],"declarations":[null,null,{"constant":false,"id":52689,"mutability":"mutable","name":"deltaCallerAfter1","nameLocation":"6526:17:71","nodeType":"VariableDeclaration","scope":52783,"src":"6519:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52688,"name":"int256","nodeType":"ElementaryTypeName","src":"6519:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52696,"initialValue":{"arguments":[{"expression":{"id":52691,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6562:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6566:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6562:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52693,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6577:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52694,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52613,"src":"6583:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52690,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6547:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6547:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6515:75:71"},{"assignments":[null,null,52698],"declarations":[null,null,{"constant":false,"id":52698,"mutability":"mutable","name":"deltaThisAfter0","nameLocation":"6611:15:71","nodeType":"VariableDeclaration","scope":52783,"src":"6604:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52697,"name":"int256","nodeType":"ElementaryTypeName","src":"6604:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52708,"initialValue":{"arguments":[{"expression":{"id":52700,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6645:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6649:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"6645:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52702,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6660:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52705,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6674:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6666:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52703,"name":"address","nodeType":"ElementaryTypeName","src":"6666:7:71","typeDescriptions":{}}},"id":52706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6666:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52699,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6630:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6630:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6600:80:71"},{"assignments":[null,null,52710],"declarations":[null,null,{"constant":false,"id":52710,"mutability":"mutable","name":"deltaThisAfter1","nameLocation":"6701:15:71","nodeType":"VariableDeclaration","scope":52783,"src":"6694:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52709,"name":"int256","nodeType":"ElementaryTypeName","src":"6694:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52720,"initialValue":{"arguments":[{"expression":{"id":52712,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"6735:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6739:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"6735:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52714,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"6750:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52717,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6764:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6756:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52715,"name":"address","nodeType":"ElementaryTypeName","src":"6756:7:71","typeDescriptions":{}}},"id":52718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6756:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52711,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"6720:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6720:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"6690:80:71"},{"expression":{"arguments":[{"id":52722,"name":"deltaCallerBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52628,"src":"6790:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52723,"name":"deltaCallerAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52680,"src":"6810:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612030","id":52724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""},"value":"Caller delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""}],"id":52721,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"6781:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6781:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52726,"nodeType":"ExpressionStatement","src":"6781:65:71"},{"expression":{"arguments":[{"id":52728,"name":"deltaCallerBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52637,"src":"6865:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52729,"name":"deltaCallerAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52689,"src":"6885:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612031","id":52730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6904:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""},"value":"Caller delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""}],"id":52727,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"6856:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6856:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52732,"nodeType":"ExpressionStatement","src":"6856:65:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52734,"name":"deltaThisBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52646,"src":"6940:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52735,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52671,"src":"6959:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6965:7:71","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"6959:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6959:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6940:34:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52739,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52698,"src":"6976:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612030","id":52740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6993:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""},"value":"Executor delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""}],"id":52733,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"6931:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6931:81:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52742,"nodeType":"ExpressionStatement","src":"6931:81:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52744,"name":"deltaThisBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52658,"src":"7031:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52745,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52671,"src":"7050:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7056:7:71","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"7050:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7050:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"7031:34:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52749,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52710,"src":"7067:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612031","id":52750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7084:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""},"value":"Executor delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""}],"id":52743,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"7022:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7022:81:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52752,"nodeType":"ExpressionStatement","src":"7022:81:71"},{"expression":{"arguments":[{"id":52758,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"7135:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52759,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7144:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7158:16:71","subExpression":{"id":52762,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52698,"src":"7159:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7150:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52760,"name":"uint256","nodeType":"ElementaryTypeName","src":"7150:7:71","typeDescriptions":{}}},"id":52764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7150:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7177:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52753,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7114:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7118:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"7114:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7128:6:71","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"7114:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7114:69:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52767,"nodeType":"ExpressionStatement","src":"7114:69:71"},{"expression":{"arguments":[{"id":52773,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"7214:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52774,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7223:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7237:16:71","subExpression":{"id":52777,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52710,"src":"7238:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7229:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52775,"name":"uint256","nodeType":"ElementaryTypeName","src":"7229:7:71","typeDescriptions":{}}},"id":52779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7256:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52768,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7193:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7197:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"7193:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7207:6:71","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"7193:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7193:69:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52782,"nodeType":"ExpressionStatement","src":"7193:69:71"}]},"id":52784,"implemented":true,"kind":"function","modifiers":[],"name":"_addLiquidity","nameLocation":"5857:13:71","nodeType":"FunctionDefinition","parameters":{"id":52614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52613,"mutability":"mutable","name":"caller","nameLocation":"5879:6:71","nodeType":"VariableDeclaration","scope":52784,"src":"5871:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52612,"name":"address","nodeType":"ElementaryTypeName","src":"5871:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5870:16:71"},"returnParameters":{"id":52615,"nodeType":"ParameterList","parameters":[],"src":"5896:0:71"},"scope":53229,"src":"5848:1421:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":52954,"nodeType":"Block","src":"7415:1370:71","statements":[{"assignments":[52790],"declarations":[{"constant":false,"id":52790,"mutability":"mutable","name":"unlocked","nameLocation":"7430:8:71","nodeType":"VariableDeclaration","scope":52954,"src":"7425:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52789,"name":"bool","nodeType":"ElementaryTypeName","src":"7425:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52794,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52791,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"7441:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7449:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"7441:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"7425:36:71"},{"expression":{"arguments":[{"id":52796,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52790,"src":"7480:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7490:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52795,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"7471:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7471:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52799,"nodeType":"ExpressionStatement","src":"7471:24:71"},{"assignments":[null,null,52801],"declarations":[null,null,{"constant":false,"id":52801,"mutability":"mutable","name":"deltaCallerBefore0","nameLocation":"7516:18:71","nodeType":"VariableDeclaration","scope":52954,"src":"7509:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52800,"name":"int256","nodeType":"ElementaryTypeName","src":"7509:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52808,"initialValue":{"arguments":[{"expression":{"id":52803,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7553:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7557:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"7553:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52805,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7568:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52806,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52786,"src":"7574:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52802,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"7538:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7538:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7505:76:71"},{"assignments":[null,null,52810],"declarations":[null,null,{"constant":false,"id":52810,"mutability":"mutable","name":"deltaCallerBefore1","nameLocation":"7602:18:71","nodeType":"VariableDeclaration","scope":52954,"src":"7595:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52809,"name":"int256","nodeType":"ElementaryTypeName","src":"7595:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52817,"initialValue":{"arguments":[{"expression":{"id":52812,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7639:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7643:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"7639:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52814,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7654:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52815,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52786,"src":"7660:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52811,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"7624:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7591:76:71"},{"assignments":[null,null,52819],"declarations":[null,null,{"constant":false,"id":52819,"mutability":"mutable","name":"deltaThisBefore0","nameLocation":"7688:16:71","nodeType":"VariableDeclaration","scope":52954,"src":"7681:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52818,"name":"int256","nodeType":"ElementaryTypeName","src":"7681:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52829,"initialValue":{"arguments":[{"expression":{"id":52821,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7723:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7727:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"7723:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52823,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7738:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52826,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7752:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7744:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52824,"name":"address","nodeType":"ElementaryTypeName","src":"7744:7:71","typeDescriptions":{}}},"id":52827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7744:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52820,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"7708:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7708:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7677:81:71"},{"assignments":[null,null,52831],"declarations":[null,null,{"constant":false,"id":52831,"mutability":"mutable","name":"deltaThisBefore1","nameLocation":"7779:16:71","nodeType":"VariableDeclaration","scope":52954,"src":"7772:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52830,"name":"int256","nodeType":"ElementaryTypeName","src":"7772:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52841,"initialValue":{"arguments":[{"expression":{"id":52833,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7814:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7818:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"7814:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52835,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"7829:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52838,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7843:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7835:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52836,"name":"address","nodeType":"ElementaryTypeName","src":"7835:7:71","typeDescriptions":{}}},"id":52839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7835:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52832,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"7799:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7799:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7768:81:71"},{"assignments":[52844,null],"declarations":[{"constant":false,"id":52844,"mutability":"mutable","name":"delta","nameLocation":"7874:5:71","nodeType":"VariableDeclaration","scope":52954,"src":"7861:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":52843,"nodeType":"UserDefinedTypeName","pathNode":{"id":52842,"name":"BalanceDelta","nameLocations":["7861:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"7861:12:71"},"referencedDeclaration":4233,"src":"7861:12:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},null],"id":52851,"initialValue":{"arguments":[{"id":52847,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7908:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":52848,"name":"REMOVE_LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52242,"src":"7913:23:71","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"hexValue":"","id":52849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7938:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":52845,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"7884:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7892:15:71","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":1661,"src":"7884:23:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) external returns (BalanceDelta,BalanceDelta)"}},"id":52850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7884:57:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_BalanceDelta_$4233_$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"tuple(BalanceDelta,BalanceDelta)"}},"nodeType":"VariableDeclarationStatement","src":"7860:81:71"},{"assignments":[null,null,52853],"declarations":[null,null,{"constant":false,"id":52853,"mutability":"mutable","name":"deltaCallerAfter0","nameLocation":"7963:17:71","nodeType":"VariableDeclaration","scope":52954,"src":"7956:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52852,"name":"int256","nodeType":"ElementaryTypeName","src":"7956:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52860,"initialValue":{"arguments":[{"expression":{"id":52855,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"7999:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8003:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"7999:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52857,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8014:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52858,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52786,"src":"8020:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52854,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"7984:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7984:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7952:75:71"},{"assignments":[null,null,52862],"declarations":[null,null,{"constant":false,"id":52862,"mutability":"mutable","name":"deltaCallerAfter1","nameLocation":"8048:17:71","nodeType":"VariableDeclaration","scope":52954,"src":"8041:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52861,"name":"int256","nodeType":"ElementaryTypeName","src":"8041:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52869,"initialValue":{"arguments":[{"expression":{"id":52864,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8084:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8088:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"8084:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52866,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8099:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52867,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52786,"src":"8105:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52863,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"8069:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"8037:75:71"},{"assignments":[null,null,52871],"declarations":[null,null,{"constant":false,"id":52871,"mutability":"mutable","name":"deltaThisAfter0","nameLocation":"8133:15:71","nodeType":"VariableDeclaration","scope":52954,"src":"8126:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52870,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52881,"initialValue":{"arguments":[{"expression":{"id":52873,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8167:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8171:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"8167:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52875,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8182:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52878,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8196:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8188:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52876,"name":"address","nodeType":"ElementaryTypeName","src":"8188:7:71","typeDescriptions":{}}},"id":52879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52872,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"8152:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8152:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"8122:80:71"},{"assignments":[null,null,52883],"declarations":[null,null,{"constant":false,"id":52883,"mutability":"mutable","name":"deltaThisAfter1","nameLocation":"8223:15:71","nodeType":"VariableDeclaration","scope":52954,"src":"8216:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52882,"name":"int256","nodeType":"ElementaryTypeName","src":"8216:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52893,"initialValue":{"arguments":[{"expression":{"id":52885,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8257:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8261:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"8257:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52887,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8272:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52890,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8286:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8278:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52888,"name":"address","nodeType":"ElementaryTypeName","src":"8278:7:71","typeDescriptions":{}}},"id":52891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8278:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52884,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"8242:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8242:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"8212:80:71"},{"expression":{"arguments":[{"id":52895,"name":"deltaCallerBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52801,"src":"8312:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52896,"name":"deltaCallerAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52853,"src":"8332:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612030","id":52897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8351:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""},"value":"Caller delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""}],"id":52894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"8303:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8303:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52899,"nodeType":"ExpressionStatement","src":"8303:65:71"},{"expression":{"arguments":[{"id":52901,"name":"deltaCallerBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52810,"src":"8387:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52902,"name":"deltaCallerAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52862,"src":"8407:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612031","id":52903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8426:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""},"value":"Caller delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""}],"id":52900,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"8378:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8378:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52905,"nodeType":"ExpressionStatement","src":"8378:65:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52907,"name":"deltaThisBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52819,"src":"8462:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52908,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52844,"src":"8481:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8487:7:71","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"8481:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8481:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"8462:34:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52912,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52871,"src":"8498:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612030","id":52913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8515:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""},"value":"Executor delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""}],"id":52906,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"8453:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8453:81:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52915,"nodeType":"ExpressionStatement","src":"8453:81:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":52921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52917,"name":"deltaThisBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52831,"src":"8553:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52918,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52844,"src":"8572:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":52919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8578:7:71","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"8572:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":52920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"8553:34:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":52922,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52883,"src":"8589:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612031","id":52923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8606:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""},"value":"Executor delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""}],"id":52916,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"8544:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":52924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:81:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52925,"nodeType":"ExpressionStatement","src":"8544:81:71"},{"expression":{"arguments":[{"id":52931,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"8655:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52932,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8664:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52935,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52871,"src":"8678:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8670:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52933,"name":"uint256","nodeType":"ElementaryTypeName","src":"8670:7:71","typeDescriptions":{}}},"id":52936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8670:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8696:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52926,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8636:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8640:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"8636:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8650:4:71","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"8636:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8636:66:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52939,"nodeType":"ExpressionStatement","src":"8636:66:71"},{"expression":{"arguments":[{"id":52945,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"8731:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":52946,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8740:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52949,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52883,"src":"8754:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":52948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8746:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":52947,"name":"uint256","nodeType":"ElementaryTypeName","src":"8746:7:71","typeDescriptions":{}}},"id":52950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8746:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":52951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8772:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":52940,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8712:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8716:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"8712:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":52944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8726:4:71","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"8712:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":52952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8712:66:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52953,"nodeType":"ExpressionStatement","src":"8712:66:71"}]},"id":52955,"implemented":true,"kind":"function","modifiers":[],"name":"_removeLiquidity","nameLocation":"7373:16:71","nodeType":"FunctionDefinition","parameters":{"id":52787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52786,"mutability":"mutable","name":"caller","nameLocation":"7398:6:71","nodeType":"VariableDeclaration","scope":52955,"src":"7390:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52785,"name":"address","nodeType":"ElementaryTypeName","src":"7390:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7389:16:71"},"returnParameters":{"id":52788,"nodeType":"ParameterList","parameters":[],"src":"7415:0:71"},"scope":53229,"src":"7364:1421:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":53154,"nodeType":"Block","src":"8833:1541:71","statements":[{"assignments":[52961],"declarations":[{"constant":false,"id":52961,"mutability":"mutable","name":"unlocked","nameLocation":"8848:8:71","nodeType":"VariableDeclaration","scope":53154,"src":"8843:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52960,"name":"bool","nodeType":"ElementaryTypeName","src":"8843:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":52965,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":52962,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"8859:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":52963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8867:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"8859:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":52964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8859:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"8843:36:71"},{"expression":{"arguments":[{"id":52967,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52961,"src":"8898:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":52968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8908:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":52966,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"8889:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":52969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8889:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52970,"nodeType":"ExpressionStatement","src":"8889:24:71"},{"assignments":[null,null,52972],"declarations":[null,null,{"constant":false,"id":52972,"mutability":"mutable","name":"deltaCallerBefore0","nameLocation":"8934:18:71","nodeType":"VariableDeclaration","scope":53154,"src":"8927:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52971,"name":"int256","nodeType":"ElementaryTypeName","src":"8927:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52979,"initialValue":{"arguments":[{"expression":{"id":52974,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"8971:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8975:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"8971:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52976,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"8986:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52977,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52957,"src":"8992:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52973,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"8956:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8956:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"8923:76:71"},{"assignments":[null,null,52981],"declarations":[null,null,{"constant":false,"id":52981,"mutability":"mutable","name":"deltaCallerBefore1","nameLocation":"9020:18:71","nodeType":"VariableDeclaration","scope":53154,"src":"9013:25:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52980,"name":"int256","nodeType":"ElementaryTypeName","src":"9013:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":52988,"initialValue":{"arguments":[{"expression":{"id":52983,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9057:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9061:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"9057:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52985,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9072:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52986,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52957,"src":"9078:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52982,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9042:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9042:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9009:76:71"},{"assignments":[null,null,52990],"declarations":[null,null,{"constant":false,"id":52990,"mutability":"mutable","name":"deltaThisBefore0","nameLocation":"9106:16:71","nodeType":"VariableDeclaration","scope":53154,"src":"9099:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":52989,"name":"int256","nodeType":"ElementaryTypeName","src":"9099:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53000,"initialValue":{"arguments":[{"expression":{"id":52992,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9141:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":52993,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9145:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"9141:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":52994,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9156:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":52997,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9170:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":52996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9162:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52995,"name":"address","nodeType":"ElementaryTypeName","src":"9162:7:71","typeDescriptions":{}}},"id":52998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9162:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52991,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9126:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":52999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9126:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9095:81:71"},{"assignments":[null,null,53002],"declarations":[null,null,{"constant":false,"id":53002,"mutability":"mutable","name":"deltaThisBefore1","nameLocation":"9197:16:71","nodeType":"VariableDeclaration","scope":53154,"src":"9190:23:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53001,"name":"int256","nodeType":"ElementaryTypeName","src":"9190:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53012,"initialValue":{"arguments":[{"expression":{"id":53004,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9232:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9236:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"9232:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53006,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9247:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53009,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9261:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":53008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9253:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53007,"name":"address","nodeType":"ElementaryTypeName","src":"9253:7:71","typeDescriptions":{}}},"id":53010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9253:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53003,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9217:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9217:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9186:81:71"},{"assignments":[53015],"declarations":[{"constant":false,"id":53015,"mutability":"mutable","name":"delta","nameLocation":"9291:5:71","nodeType":"VariableDeclaration","scope":53154,"src":"9278:18:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":53014,"nodeType":"UserDefinedTypeName","pathNode":{"id":53013,"name":"BalanceDelta","nameLocations":["9278:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"9278:12:71"},"referencedDeclaration":4233,"src":"9278:12:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":53023,"initialValue":{"arguments":[{"id":53018,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9314:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":53019,"name":"DONATE_AMOUNT0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52255,"src":"9319:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53020,"name":"DONATE_AMOUNT1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52258,"src":"9335:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":53021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9351:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":53016,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"9299:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9307:6:71","memberName":"donate","nodeType":"MemberAccess","referencedDeclaration":1692,"src":"9299:14:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,uint256,uint256,bytes memory) external returns (BalanceDelta)"}},"id":53022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9299:55:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"9278:76:71"},{"assignments":[null,null,53025],"declarations":[null,null,{"constant":false,"id":53025,"mutability":"mutable","name":"deltaCallerAfter0","nameLocation":"9376:17:71","nodeType":"VariableDeclaration","scope":53154,"src":"9369:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53024,"name":"int256","nodeType":"ElementaryTypeName","src":"9369:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53032,"initialValue":{"arguments":[{"expression":{"id":53027,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9412:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9416:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"9412:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53029,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9427:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53030,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52957,"src":"9433:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53026,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9397:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9397:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9365:75:71"},{"assignments":[null,null,53034],"declarations":[null,null,{"constant":false,"id":53034,"mutability":"mutable","name":"deltaCallerAfter1","nameLocation":"9461:17:71","nodeType":"VariableDeclaration","scope":53154,"src":"9454:24:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53033,"name":"int256","nodeType":"ElementaryTypeName","src":"9454:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53041,"initialValue":{"arguments":[{"expression":{"id":53036,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9497:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53037,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9501:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"9497:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53038,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9512:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53039,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52957,"src":"9518:6:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53035,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9482:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9482:43:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9450:75:71"},{"assignments":[null,null,53043],"declarations":[null,null,{"constant":false,"id":53043,"mutability":"mutable","name":"deltaThisAfter0","nameLocation":"9546:15:71","nodeType":"VariableDeclaration","scope":53154,"src":"9539:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53042,"name":"int256","nodeType":"ElementaryTypeName","src":"9539:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53053,"initialValue":{"arguments":[{"expression":{"id":53045,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9580:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9584:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"9580:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53047,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9595:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53050,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9609:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":53049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9601:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53048,"name":"address","nodeType":"ElementaryTypeName","src":"9601:7:71","typeDescriptions":{}}},"id":53051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9601:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53044,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9565:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9565:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9535:80:71"},{"assignments":[null,null,53055],"declarations":[null,null,{"constant":false,"id":53055,"mutability":"mutable","name":"deltaThisAfter1","nameLocation":"9636:15:71","nodeType":"VariableDeclaration","scope":53154,"src":"9629:22:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53054,"name":"int256","nodeType":"ElementaryTypeName","src":"9629:6:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53065,"initialValue":{"arguments":[{"expression":{"id":53057,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9670:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9674:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"9670:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53059,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"9685:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53062,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9699:4:71","typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":53061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9691:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53060,"name":"address","nodeType":"ElementaryTypeName","src":"9691:7:71","typeDescriptions":{}}},"id":53063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9691:13:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53056,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"9655:14:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9655:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"9625:80:71"},{"expression":{"arguments":[{"id":53067,"name":"deltaCallerBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52972,"src":"9725:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":53068,"name":"deltaCallerAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53025,"src":"9745:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612030","id":53069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9764:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""},"value":"Caller delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_b9a9b382e63fb33589d1e224f1ebd1a470ad7a36780caae822f0adc063daa954","typeString":"literal_string \"Caller delta 0\""}],"id":53066,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"9716:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9716:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53071,"nodeType":"ExpressionStatement","src":"9716:65:71"},{"expression":{"arguments":[{"id":53073,"name":"deltaCallerBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52981,"src":"9800:18:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":53074,"name":"deltaCallerAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53034,"src":"9820:17:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"43616c6c65722064656c74612031","id":53075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9839:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""},"value":"Caller delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_eb9f8d636de334bd1eacca994eceecbb31a820b3937d52b40e85967816851653","typeString":"literal_string \"Caller delta 1\""}],"id":53072,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"9791:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:65:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53077,"nodeType":"ExpressionStatement","src":"9791:65:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53079,"name":"deltaThisBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52990,"src":"9875:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":53082,"name":"DONATE_AMOUNT0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52255,"src":"9901:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9894:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":53080,"name":"int256","nodeType":"ElementaryTypeName","src":"9894:6:71","typeDescriptions":{}}},"id":53083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9894:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9875:41:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":53085,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53043,"src":"9918:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612030","id":53086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9935:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""},"value":"Executor delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_d597458d2edbff79f7b8dc9a0ae6c3d5b2dbae0f47d4784d076d6d248880ff34","typeString":"literal_string \"Executor delta 0\""}],"id":53078,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"9866:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9866:88:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53088,"nodeType":"ExpressionStatement","src":"9866:88:71"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53090,"name":"deltaThisBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53002,"src":"9973:16:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":53093,"name":"DONATE_AMOUNT1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52258,"src":"9999:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9992:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":53091,"name":"int256","nodeType":"ElementaryTypeName","src":"9992:6:71","typeDescriptions":{}}},"id":53094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9992:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9973:41:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":53096,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53055,"src":"10016:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"4578656375746f722064656c74612031","id":53097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10033:18:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""},"value":"Executor delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_c8dbf329d56e0485e9ecdc6a55a105945a75a8a6519e757ce2c8d6491875f114","typeString":"literal_string \"Executor delta 1\""}],"id":53089,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"9964:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9964:88:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53099,"nodeType":"ExpressionStatement","src":"9964:88:71"},{"expression":{"arguments":[{"id":53104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10071:16:71","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53101,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53015,"src":"10072:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10078:7:71","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"10072:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[{"id":53107,"name":"DONATE_AMOUNT0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52255,"src":"10096:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10089:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":53105,"name":"int256","nodeType":"ElementaryTypeName","src":"10089:6:71","typeDescriptions":{}}},"id":53108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10089:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"446f6e6174652064656c74612030","id":53109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10113:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_38e739f1b5d6582dd27a4ab5cad098f0c79f08ee51df06f96ee5f363802c10e6","typeString":"literal_string \"Donate delta 0\""},"value":"Donate delta 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_38e739f1b5d6582dd27a4ab5cad098f0c79f08ee51df06f96ee5f363802c10e6","typeString":"literal_string \"Donate delta 0\""}],"id":53100,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"10062:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10062:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53111,"nodeType":"ExpressionStatement","src":"10062:68:71"},{"expression":{"arguments":[{"id":53116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10149:16:71","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53113,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53015,"src":"10150:5:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10156:7:71","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"10150:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10150:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[{"id":53119,"name":"DONATE_AMOUNT1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52258,"src":"10174:14:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10167:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":53117,"name":"int256","nodeType":"ElementaryTypeName","src":"10167:6:71","typeDescriptions":{}}},"id":53120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10167:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"hexValue":"446f6e6174652064656c74612031","id":53121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10191:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_552765a1b460691b7b1dd474e5937b58af0141c2527e27755a4f1fccba2bdbd3","typeString":"literal_string \"Donate delta 1\""},"value":"Donate delta 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_stringliteral_552765a1b460691b7b1dd474e5937b58af0141c2527e27755a4f1fccba2bdbd3","typeString":"literal_string \"Donate delta 1\""}],"id":53112,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"10140:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":53122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10140:68:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53123,"nodeType":"ExpressionStatement","src":"10140:68:71"},{"expression":{"arguments":[{"id":53129,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10240:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":53130,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"10249:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10263:16:71","subExpression":{"id":53133,"name":"deltaThisAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53043,"src":"10264:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53131,"name":"uint256","nodeType":"ElementaryTypeName","src":"10255:7:71","typeDescriptions":{}}},"id":53135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":53136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10282:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":53124,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"10219:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10223:9:71","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"10219:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10233:6:71","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"10219:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10219:69:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53138,"nodeType":"ExpressionStatement","src":"10219:69:71"},{"expression":{"arguments":[{"id":53144,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10319:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":53145,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52219,"src":"10328:4:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10342:16:71","subExpression":{"id":53148,"name":"deltaThisAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53055,"src":"10343:15:71","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10334:7:71","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53146,"name":"uint256","nodeType":"ElementaryTypeName","src":"10334:7:71","typeDescriptions":{}}},"id":53150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10334:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":53151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10361:5:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"id":53139,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"10298:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10302:9:71","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"10298:13:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10312:6:71","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"10298:20:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10298:69:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53153,"nodeType":"ExpressionStatement","src":"10298:69:71"}]},"id":53155,"implemented":true,"kind":"function","modifiers":[],"name":"_donate","nameLocation":"8800:7:71","nodeType":"FunctionDefinition","parameters":{"id":52958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52957,"mutability":"mutable","name":"caller","nameLocation":"8816:6:71","nodeType":"VariableDeclaration","scope":53155,"src":"8808:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52956,"name":"address","nodeType":"ElementaryTypeName","src":"8808:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8807:16:71"},"returnParameters":{"id":52959,"nodeType":"ParameterList","parameters":[],"src":"8833:0:71"},"scope":53229,"src":"8791:1583:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":53216,"nodeType":"Block","src":"10412:381:71","statements":[{"assignments":[53159],"declarations":[{"constant":false,"id":53159,"mutability":"mutable","name":"unlocked","nameLocation":"10427:8:71","nodeType":"VariableDeclaration","scope":53216,"src":"10422:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53158,"name":"bool","nodeType":"ElementaryTypeName","src":"10422:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":53163,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53160,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10438:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10446:10:71","memberName":"isUnlocked","nodeType":"MemberAccess","referencedDeclaration":56937,"src":"10438:18:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$returns$_t_bool_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager) view returns (bool)"}},"id":53162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10438:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"10422:36:71"},{"expression":{"arguments":[{"id":53165,"name":"unlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53159,"src":"10477:8:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":53166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10487:4:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53164,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6361,"src":"10468:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":53167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10468:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53168,"nodeType":"ExpressionStatement","src":"10468:24:71"},{"expression":{"id":53173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":53169,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"10502:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53171,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10506:11:71","memberName":"tickSpacing","nodeType":"MemberAccess","referencedDeclaration":4740,"src":"10502:15:71","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3530","id":53172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10520:2:71","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"src":"10502:20:71","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":53174,"nodeType":"ExpressionStatement","src":"10502:20:71"},{"assignments":[53177],"declarations":[{"constant":false,"id":53177,"mutability":"mutable","name":"id","nameLocation":"10539:2:71","nodeType":"VariableDeclaration","scope":53216,"src":"10532:9:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":53176,"nodeType":"UserDefinedTypeName","pathNode":{"id":53175,"name":"PoolId","nameLocations":["10532:6:71"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"10532:6:71"},"referencedDeclaration":4699,"src":"10532:6:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":53181,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53178,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"10544:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":53179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10548:4:71","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"10544:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":53180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10544:10:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"VariableDeclarationStatement","src":"10532:22:71"},{"assignments":[53183,null,null,null],"declarations":[{"constant":false,"id":53183,"mutability":"mutable","name":"price","nameLocation":"10573:5:71","nodeType":"VariableDeclaration","scope":53216,"src":"10565:13:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53182,"name":"uint256","nodeType":"ElementaryTypeName","src":"10565:7:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null],"id":53188,"initialValue":{"arguments":[{"id":53186,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53177,"src":"10602:2:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"expression":{"id":53184,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10585:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10593:8:71","memberName":"getSlot0","nodeType":"MemberAccess","referencedDeclaration":2001,"src":"10585:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint160,int24,uint24,uint24)"}},"id":53187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10585:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"tuple(uint160,int24,uint24,uint24)"}},"nodeType":"VariableDeclarationStatement","src":"10564:41:71"},{"expression":{"arguments":[{"id":53190,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53183,"src":"10624:5:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":53191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10631:1:71","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":53189,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"10615:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10615:18:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53193,"nodeType":"ExpressionStatement","src":"10615:18:71"},{"expression":{"arguments":[{"id":53197,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"10662:3:71","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"expression":{"id":53198,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"10667:9:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":53199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10677:14:71","memberName":"SQRT_PRICE_1_2","nodeType":"MemberAccess","referencedDeclaration":4781,"src":"10667:24:71","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":53194,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10643:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10651:10:71","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1643,"src":"10643:18:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$returns$_t_int24_$","typeString":"function (struct PoolKey memory,uint160) external returns (int24)"}},"id":53200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10643:49:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":53201,"nodeType":"ExpressionStatement","src":"10643:49:71"},{"expression":{"id":53208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":53202,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53183,"src":"10703:5:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},null,null,null],"id":53203,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10702:10:71","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$__$__$__$","typeString":"tuple(uint256,,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":53206,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53177,"src":"10732:2:71","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"expression":{"id":53204,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"10715:7:71","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10723:8:71","memberName":"getSlot0","nodeType":"MemberAccess","referencedDeclaration":2001,"src":"10715:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint160,int24,uint24,uint24)"}},"id":53207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10715:20:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"tuple(uint160,int24,uint24,uint24)"}},"src":"10702:33:71","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53209,"nodeType":"ExpressionStatement","src":"10702:33:71"},{"expression":{"arguments":[{"id":53211,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53183,"src":"10754:5:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":53212,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"10761:9:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":53213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10771:14:71","memberName":"SQRT_PRICE_1_2","nodeType":"MemberAccess","referencedDeclaration":4781,"src":"10761:24:71","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":53210,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"10745:8:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":53214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10745:41:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53215,"nodeType":"ExpressionStatement","src":"10745:41:71"}]},"id":53217,"implemented":true,"kind":"function","modifiers":[],"name":"_initialize","nameLocation":"10389:11:71","nodeType":"FunctionDefinition","parameters":{"id":53156,"nodeType":"ParameterList","parameters":[],"src":"10400:2:71"},"returnParameters":{"id":53157,"nodeType":"ParameterList","parameters":[],"src":"10412:0:71"},"scope":53229,"src":"10380:413:71","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[56801],"body":{"id":53227,"nodeType":"Block","src":"10987:26:71","statements":[{"expression":{"hexValue":"","id":53225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11004:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":53224,"id":53226,"nodeType":"Return","src":"10997:9:71"}]},"functionSelector":"91dd7346","id":53228,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"10910:14:71","nodeType":"FunctionDefinition","overrides":{"id":53221,"nodeType":"OverrideSpecifier","overrides":[],"src":"10955:8:71"},"parameters":{"id":53220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53228,"src":"10925:14:71","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":53218,"name":"bytes","nodeType":"ElementaryTypeName","src":"10925:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10924:16:71"},"returnParameters":{"id":53224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53228,"src":"10973:12:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53222,"name":"bytes","nodeType":"ElementaryTypeName","src":"10973:5:71","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10972:14:71"},"scope":53229,"src":"10901:112:71","stateMutability":"pure","virtual":false,"visibility":"external"}],"scope":53230,"src":"2274:8741:71","usedErrors":[52221],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"39:10977:71"},"id":71},"v4-core/src/test/PoolSwapTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolSwapTest.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencyLibrary":[4693],"CurrencySettler":[49175],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"PoolKey":[4745],"PoolSwapTest":[53690],"PoolTestBase":[49039],"SwapParams":[4772]},"id":53691,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":53231,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:72"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":53234,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":4694,"src":"65:64:72","symbolAliases":[{"foreign":{"id":53232,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"73:15:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":53233,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"90:8:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":53236,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":1764,"src":"130:60:72","symbolAliases":[{"foreign":{"id":53235,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"138:12:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":53238,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":4392,"src":"191:55:72","symbolAliases":[{"foreign":{"id":53237,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"199:12:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":53240,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":4746,"src":"247:45:72","symbolAliases":[{"foreign":{"id":53239,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"255:7:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":53242,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":4773,"src":"293:54:72","symbolAliases":[{"foreign":{"id":53241,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"301:10:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":53244,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":1481,"src":"348:48:72","symbolAliases":[{"foreign":{"id":53243,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"356:6:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../libraries/Hooks.sol","id":53246,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":48812,"src":"397:45:72","symbolAliases":[{"foreign":{"id":53245,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"405:5:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":53248,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":49040,"src":"443:48:72","symbolAliases":[{"foreign":{"id":53247,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"451:12:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":53250,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53691,"sourceUnit":49176,"src":"492:69:72","symbolAliases":[{"foreign":{"id":53249,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"500:15:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":53251,"name":"PoolTestBase","nameLocations":["588:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"588:12:72"},"id":53252,"nodeType":"InheritanceSpecifier","src":"588:12:72"}],"canonicalName":"PoolSwapTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":53690,"linearizedBaseContracts":[53690,49039,56802],"name":"PoolSwapTest","nameLocation":"572:12:72","nodeType":"ContractDefinition","nodes":[{"global":false,"id":53256,"libraryName":{"id":53253,"name":"CurrencySettler","nameLocations":["613:15:72"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"613:15:72"},"nodeType":"UsingForDirective","src":"607:35:72","typeName":{"id":53255,"nodeType":"UserDefinedTypeName","pathNode":{"id":53254,"name":"Currency","nameLocations":["633:8:72"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"633:8:72"},"referencedDeclaration":4399,"src":"633:8:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":53260,"libraryName":{"id":53257,"name":"Hooks","nameLocations":["653:5:72"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"653:5:72"},"nodeType":"UsingForDirective","src":"647:23:72","typeName":{"id":53259,"nodeType":"UserDefinedTypeName","pathNode":{"id":53258,"name":"IHooks","nameLocations":["663:6:72"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"663:6:72"},"referencedDeclaration":1480,"src":"663:6:72","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"body":{"id":53269,"nodeType":"Block","src":"734:2:72","statements":[]},"id":53270,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":53266,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53263,"src":"724:8:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":53267,"kind":"baseConstructorSpecifier","modifierName":{"id":53265,"name":"PoolTestBase","nameLocations":["711:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"711:12:72"},"nodeType":"ModifierInvocation","src":"711:22:72"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":53264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53263,"mutability":"mutable","name":"_manager","nameLocation":"701:8:72","nodeType":"VariableDeclaration","scope":53270,"src":"688:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":53262,"nodeType":"UserDefinedTypeName","pathNode":{"id":53261,"name":"IPoolManager","nameLocations":["688:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"688:12:72"},"referencedDeclaration":1763,"src":"688:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"687:23:72"},"returnParameters":{"id":53268,"nodeType":"ParameterList","parameters":[],"src":"734:0:72"},"scope":53690,"src":"676:60:72","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"errorSelector":"5a8b05b0","id":53272,"name":"NoSwapOccurred","nameLocation":"748:14:72","nodeType":"ErrorDefinition","parameters":{"id":53271,"nodeType":"ParameterList","parameters":[],"src":"762:2:72"},"src":"742:23:72"},{"canonicalName":"PoolSwapTest.CallbackData","id":53286,"members":[{"constant":false,"id":53274,"mutability":"mutable","name":"sender","nameLocation":"809:6:72","nodeType":"VariableDeclaration","scope":53286,"src":"801:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53273,"name":"address","nodeType":"ElementaryTypeName","src":"801:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53277,"mutability":"mutable","name":"testSettings","nameLocation":"838:12:72","nodeType":"VariableDeclaration","scope":53286,"src":"825:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_storage_ptr","typeString":"struct PoolSwapTest.TestSettings"},"typeName":{"id":53276,"nodeType":"UserDefinedTypeName","pathNode":{"id":53275,"name":"TestSettings","nameLocations":["825:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":53291,"src":"825:12:72"},"referencedDeclaration":53291,"src":"825:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_storage_ptr","typeString":"struct PoolSwapTest.TestSettings"}},"visibility":"internal"},{"constant":false,"id":53280,"mutability":"mutable","name":"key","nameLocation":"868:3:72","nodeType":"VariableDeclaration","scope":53286,"src":"860:11:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":53279,"nodeType":"UserDefinedTypeName","pathNode":{"id":53278,"name":"PoolKey","nameLocations":["860:7:72"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"860:7:72"},"referencedDeclaration":4745,"src":"860:7:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53283,"mutability":"mutable","name":"params","nameLocation":"892:6:72","nodeType":"VariableDeclaration","scope":53286,"src":"881:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"},"typeName":{"id":53282,"nodeType":"UserDefinedTypeName","pathNode":{"id":53281,"name":"SwapParams","nameLocations":["881:10:72"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"881:10:72"},"referencedDeclaration":4772,"src":"881:10:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":53285,"mutability":"mutable","name":"hookData","nameLocation":"914:8:72","nodeType":"VariableDeclaration","scope":53286,"src":"908:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":53284,"name":"bytes","nodeType":"ElementaryTypeName","src":"908:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"778:12:72","nodeType":"StructDefinition","scope":53690,"src":"771:158:72","visibility":"public"},{"canonicalName":"PoolSwapTest.TestSettings","id":53291,"members":[{"constant":false,"id":53288,"mutability":"mutable","name":"takeClaims","nameLocation":"970:10:72","nodeType":"VariableDeclaration","scope":53291,"src":"965:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53287,"name":"bool","nodeType":"ElementaryTypeName","src":"965:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53290,"mutability":"mutable","name":"settleUsingBurn","nameLocation":"995:15:72","nodeType":"VariableDeclaration","scope":53291,"src":"990:20:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53289,"name":"bool","nodeType":"ElementaryTypeName","src":"990:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"TestSettings","nameLocation":"942:12:72","nodeType":"StructDefinition","scope":53690,"src":"935:82:72","visibility":"public"},{"body":{"id":53352,"nodeType":"Block","src":"1214:308:72","statements":[{"expression":{"id":53328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":53308,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53306,"src":"1224:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":53316,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1295:3:72","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1299:6:72","memberName":"sender","nodeType":"MemberAccess","src":"1295:10:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53318,"name":"testSettings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53300,"src":"1307:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},{"id":53319,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53294,"src":"1321:3:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":53320,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53297,"src":"1326:6:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"id":53321,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53302,"src":"1334:8:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53315,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53286,"src":"1282:12:72","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53286_storage_ptr_$","typeString":"type(struct PoolSwapTest.CallbackData storage pointer)"}},"id":53322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1282:61:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}],"expression":{"id":53313,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1271:3:72","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1275:6:72","memberName":"encode","nodeType":"MemberAccess","src":"1271:10:72","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1271:73:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53311,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1256:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1264:6:72","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"1256:14:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":53324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1256:89:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":53325,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1348:12:72","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"id":53326,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1347:14:72","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}],"expression":{"id":53309,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1232:3:72","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1236:6:72","memberName":"decode","nodeType":"MemberAccess","src":"1232:10:72","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":53327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1232:139:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"src":"1224:147:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53329,"nodeType":"ExpressionStatement","src":"1224:147:72"},{"assignments":[53331],"declarations":[{"constant":false,"id":53331,"mutability":"mutable","name":"ethBalance","nameLocation":"1390:10:72","nodeType":"VariableDeclaration","scope":53352,"src":"1382:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53330,"name":"uint256","nodeType":"ElementaryTypeName","src":"1382:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":53337,"initialValue":{"expression":{"arguments":[{"id":53334,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1411:4:72","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":53333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1403:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53332,"name":"address","nodeType":"ElementaryTypeName","src":"1403:7:72","typeDescriptions":{}}},"id":53335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1403:13:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":53336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:7:72","memberName":"balance","nodeType":"MemberAccess","src":"1403:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1382:42:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53338,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53331,"src":"1438:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1451:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1438:14:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53351,"nodeType":"IfStatement","src":"1434:81:72","trueBody":{"expression":{"arguments":[{"expression":{"id":53346,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1492:3:72","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1496:6:72","memberName":"sender","nodeType":"MemberAccess","src":"1492:10:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53348,"name":"ethBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53331,"src":"1504:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":53341,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"1454:15:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":53344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1470:12:72","memberName":"ADDRESS_ZERO","nodeType":"MemberAccess","referencedDeclaration":4516,"src":"1454:28:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1483:8:72","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4572,"src":"1454:37:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address,uint256)"}},"id":53349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:61:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53350,"nodeType":"ExpressionStatement","src":"1454:61:72"}}]},"functionSelector":"2229d0b4","id":53353,"implemented":true,"kind":"function","modifiers":[],"name":"swap","nameLocation":"1032:4:72","nodeType":"FunctionDefinition","parameters":{"id":53303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53294,"mutability":"mutable","name":"key","nameLocation":"1052:3:72","nodeType":"VariableDeclaration","scope":53353,"src":"1037:18:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":53293,"nodeType":"UserDefinedTypeName","pathNode":{"id":53292,"name":"PoolKey","nameLocations":["1037:7:72"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1037:7:72"},"referencedDeclaration":4745,"src":"1037:7:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53297,"mutability":"mutable","name":"params","nameLocation":"1075:6:72","nodeType":"VariableDeclaration","scope":53353,"src":"1057:24:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":53296,"nodeType":"UserDefinedTypeName","pathNode":{"id":53295,"name":"SwapParams","nameLocations":["1057:10:72"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"1057:10:72"},"referencedDeclaration":4772,"src":"1057:10:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"},{"constant":false,"id":53300,"mutability":"mutable","name":"testSettings","nameLocation":"1103:12:72","nodeType":"VariableDeclaration","scope":53353,"src":"1083:32:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings"},"typeName":{"id":53299,"nodeType":"UserDefinedTypeName","pathNode":{"id":53298,"name":"TestSettings","nameLocations":["1083:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":53291,"src":"1083:12:72"},"referencedDeclaration":53291,"src":"1083:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_storage_ptr","typeString":"struct PoolSwapTest.TestSettings"}},"visibility":"internal"},{"constant":false,"id":53302,"mutability":"mutable","name":"hookData","nameLocation":"1130:8:72","nodeType":"VariableDeclaration","scope":53353,"src":"1117:21:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53301,"name":"bytes","nodeType":"ElementaryTypeName","src":"1117:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1036:103:72"},"returnParameters":{"id":53307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53306,"mutability":"mutable","name":"delta","nameLocation":"1203:5:72","nodeType":"VariableDeclaration","scope":53353,"src":"1190:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":53305,"nodeType":"UserDefinedTypeName","pathNode":{"id":53304,"name":"BalanceDelta","nameLocations":["1190:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1190:12:72"},"referencedDeclaration":4233,"src":"1190:12:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1189:20:72"},"scope":53690,"src":"1023:499:72","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":53688,"nodeType":"Block","src":"1608:3391:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1626:3:72","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1630:6:72","memberName":"sender","nodeType":"MemberAccess","src":"1626:10:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":53365,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1648:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":53364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1640:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53363,"name":"address","nodeType":"ElementaryTypeName","src":"1640:7:72","typeDescriptions":{}}},"id":53366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1640:16:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1626:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53360,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1618:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":53368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1618:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53369,"nodeType":"ExpressionStatement","src":"1618:39:72"},{"assignments":[53372],"declarations":[{"constant":false,"id":53372,"mutability":"mutable","name":"data","nameLocation":"1688:4:72","nodeType":"VariableDeclaration","scope":53688,"src":"1668:24:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData"},"typeName":{"id":53371,"nodeType":"UserDefinedTypeName","pathNode":{"id":53370,"name":"CallbackData","nameLocations":["1668:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":53286,"src":"1668:12:72"},"referencedDeclaration":53286,"src":"1668:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_storage_ptr","typeString":"struct PoolSwapTest.CallbackData"}},"visibility":"internal"}],"id":53379,"initialValue":{"arguments":[{"id":53375,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53355,"src":"1706:7:72","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":53376,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53286,"src":"1716:12:72","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53286_storage_ptr_$","typeString":"type(struct PoolSwapTest.CallbackData storage pointer)"}}],"id":53377,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1715:14:72","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53286_storage_ptr_$","typeString":"type(struct PoolSwapTest.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53286_storage_ptr_$","typeString":"type(struct PoolSwapTest.CallbackData storage pointer)"}],"expression":{"id":53373,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1695:3:72","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1699:6:72","memberName":"decode","nodeType":"MemberAccess","src":"1695:10:72","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":53378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1695:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"1668:62:72"},{"assignments":[null,null,53381],"declarations":[null,null,{"constant":false,"id":53381,"mutability":"mutable","name":"deltaBefore0","nameLocation":"1752:12:72","nodeType":"VariableDeclaration","scope":53688,"src":"1745:19:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53380,"name":"int256","nodeType":"ElementaryTypeName","src":"1745:6:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53393,"initialValue":{"arguments":[{"expression":{"expression":{"id":53383,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"1783:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1788:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"1783:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1792:9:72","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"1783:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53386,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"1803:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1808:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"1803:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53390,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1824:4:72","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":53389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1816:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53388,"name":"address","nodeType":"ElementaryTypeName","src":"1816:7:72","typeDescriptions":{}}},"id":53391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:13:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53382,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1768:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1768:62:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1741:89:72"},{"assignments":[null,null,53395],"declarations":[null,null,{"constant":false,"id":53395,"mutability":"mutable","name":"deltaBefore1","nameLocation":"1851:12:72","nodeType":"VariableDeclaration","scope":53688,"src":"1844:19:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53394,"name":"int256","nodeType":"ElementaryTypeName","src":"1844:6:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53407,"initialValue":{"arguments":[{"expression":{"expression":{"id":53397,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"1882:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1887:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"1882:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1891:9:72","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"1882:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53400,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"1902:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1907:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"1902:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53404,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1923:4:72","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":53403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1915:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53402,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:72","typeDescriptions":{}}},"id":53405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1915:13:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53396,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1867:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1867:62:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1840:89:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53409,"name":"deltaBefore0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53381,"src":"1948:12:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":53410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1964:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1948:17:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614265666f726530206973206e6f7420657175616c20746f2030","id":53412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1967:32:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_95a1a4ceb0cd9bafe436688618cc99e623d28426a2ad2d583aec493004818072","typeString":"literal_string \"deltaBefore0 is not equal to 0\""},"value":"deltaBefore0 is not equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_95a1a4ceb0cd9bafe436688618cc99e623d28426a2ad2d583aec493004818072","typeString":"literal_string \"deltaBefore0 is not equal to 0\""}],"id":53408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1940:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:60:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53414,"nodeType":"ExpressionStatement","src":"1940:60:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53416,"name":"deltaBefore1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53395,"src":"2018:12:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":53417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2034:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2018:17:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614265666f726531206973206e6f7420657175616c20746f2030","id":53419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2037:32:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_923d7d5e3b6c0dc4667c51982026e824501fd40e0364e3e972e98e59af8dd6d0","typeString":"literal_string \"deltaBefore1 is not equal to 0\""},"value":"deltaBefore1 is not equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_923d7d5e3b6c0dc4667c51982026e824501fd40e0364e3e972e98e59af8dd6d0","typeString":"literal_string \"deltaBefore1 is not equal to 0\""}],"id":53415,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2010:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2010:60:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53421,"nodeType":"ExpressionStatement","src":"2010:60:72"},{"assignments":[53424],"declarations":[{"constant":false,"id":53424,"mutability":"mutable","name":"delta","nameLocation":"2094:5:72","nodeType":"VariableDeclaration","scope":53688,"src":"2081:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":53423,"nodeType":"UserDefinedTypeName","pathNode":{"id":53422,"name":"BalanceDelta","nameLocations":["2081:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"2081:12:72"},"referencedDeclaration":4233,"src":"2081:12:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":53434,"initialValue":{"arguments":[{"expression":{"id":53427,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2115:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2120:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"2115:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":53429,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2125:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2130:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"2125:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"expression":{"id":53431,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2138:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53432,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2143:8:72","memberName":"hookData","nodeType":"MemberAccess","referencedDeclaration":53285,"src":"2138:13:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53425,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2102:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2110:4:72","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":1676,"src":"2102:12:72","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct SwapParams memory,bytes memory) external returns (BalanceDelta)"}},"id":53433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2102:50:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"2081:71:72"},{"assignments":[null,null,53436],"declarations":[null,null,{"constant":false,"id":53436,"mutability":"mutable","name":"deltaAfter0","nameLocation":"2174:11:72","nodeType":"VariableDeclaration","scope":53688,"src":"2167:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53435,"name":"int256","nodeType":"ElementaryTypeName","src":"2167:6:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53448,"initialValue":{"arguments":[{"expression":{"expression":{"id":53438,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2204:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2209:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"2204:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2213:9:72","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"2204:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53441,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2224:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2229:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"2224:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53445,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2245:4:72","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":53444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2237:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53443,"name":"address","nodeType":"ElementaryTypeName","src":"2237:7:72","typeDescriptions":{}}},"id":53446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:13:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53437,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2189:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2189:62:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"2163:88:72"},{"assignments":[null,null,53450],"declarations":[null,null,{"constant":false,"id":53450,"mutability":"mutable","name":"deltaAfter1","nameLocation":"2272:11:72","nodeType":"VariableDeclaration","scope":53688,"src":"2265:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53449,"name":"int256","nodeType":"ElementaryTypeName","src":"2265:6:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53462,"initialValue":{"arguments":[{"expression":{"expression":{"id":53452,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2302:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2307:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"2302:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53454,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2311:9:72","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"2302:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53455,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2322:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2327:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"2322:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53459,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2343:4:72","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":53458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2335:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53457,"name":"address","nodeType":"ElementaryTypeName","src":"2335:7:72","typeDescriptions":{}}},"id":53460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2335:13:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53451,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"2287:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2287:62:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"2261:88:72"},{"condition":{"expression":{"expression":{"id":53463,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2364:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2369:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"2364:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2376:10:72","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":4765,"src":"2364:22:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53583,"nodeType":"Block","src":"3365:968:72","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":53525,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"3383:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3388:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"3383:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3395:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"3383:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":53528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3413:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3383:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53581,"nodeType":"Block","src":"3875:448:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53557,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"3942:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":53558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3957:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3942:16:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657231206973206e6f74206c657373207468616e206f7220657175616c20746f2030","id":53560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3960:44:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b6f031264c4574a5f8fad3420a4f7e302668f24e0a6bfdce30047959fd6c10f","typeString":"literal_string \"deltaAfter1 is not less than or equal to 0\""},"value":"deltaAfter1 is not less than or equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6b6f031264c4574a5f8fad3420a4f7e302668f24e0a6bfdce30047959fd6c10f","typeString":"literal_string \"deltaAfter1 is not less than or equal to 0\""}],"id":53556,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3934:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:71:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53562,"nodeType":"ExpressionStatement","src":"3934:71:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53564,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"4031:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4037:7:72","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"4031:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4031:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53567,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4050:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4031:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74612e616d6f756e74302829206973206e6f7420657175616c20746f2064656c7461416674657230","id":53569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4063:45:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f53564a2b1a1a69a0bdbc5e1e1c5c457ba59daf139cd9a699a9bfe9470d3975","typeString":"literal_string \"delta.amount0() is not equal to deltaAfter0\""},"value":"delta.amount0() is not equal to deltaAfter0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9f53564a2b1a1a69a0bdbc5e1e1c5c457ba59daf139cd9a699a9bfe9470d3975","typeString":"literal_string \"delta.amount0() is not equal to deltaAfter0\""}],"id":53563,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4023:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4023:86:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53571,"nodeType":"ExpressionStatement","src":"4023:86:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53573,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4156:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"expression":{"id":53574,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4171:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4176:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"4171:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4183:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"4171:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4156:42:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657230206973206e6f74206c657373207468616e206f7220657175616c20746f20646174612e706172616d732e616d6f756e74537065636966696564","id":53578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4220:70:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_de15dc287eb34891a3d54733cf5734ca9645de099b80f10eda67fcf264fe5668","typeString":"literal_string \"deltaAfter0 is not less than or equal to data.params.amountSpecified\""},"value":"deltaAfter0 is not less than or equal to data.params.amountSpecified"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_de15dc287eb34891a3d54733cf5734ca9645de099b80f10eda67fcf264fe5668","typeString":"literal_string \"deltaAfter0 is not less than or equal to data.params.amountSpecified\""}],"id":53572,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4127:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4127:181:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53580,"nodeType":"ExpressionStatement","src":"4127:181:72"}]},"id":53582,"nodeType":"IfStatement","src":"3379:944:72","trueBody":{"id":53555,"nodeType":"Block","src":"3416:453:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53531,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"3503:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"expression":{"id":53532,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"3518:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3523:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"3518:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53534,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3530:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"3518:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3503:42:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657231206973206e6f742067726561746572207468616e206f7220657175616c20746f20646174612e706172616d732e616d6f756e74537065636966696564","id":53536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3567:73:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5437ddca8a3b575179be47617e24f763687174f3d4ea76c96f70e6ee24a1693","typeString":"literal_string \"deltaAfter1 is not greater than or equal to data.params.amountSpecified\""},"value":"deltaAfter1 is not greater than or equal to data.params.amountSpecified"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5437ddca8a3b575179be47617e24f763687174f3d4ea76c96f70e6ee24a1693","typeString":"literal_string \"deltaAfter1 is not greater than or equal to data.params.amountSpecified\""}],"id":53530,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3474:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3474:184:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53538,"nodeType":"ExpressionStatement","src":"3474:184:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53540,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"3684:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3690:7:72","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"3684:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3684:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53543,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"3703:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3684:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74612e616d6f756e74312829206973206e6f7420657175616c20746f2064656c7461416674657231","id":53545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:45:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bd850f7e5a48f0f3aedc34dbe4668e92f691a47be4c8d6649f8fb4397ffc979","typeString":"literal_string \"delta.amount1() is not equal to deltaAfter1\""},"value":"delta.amount1() is not equal to deltaAfter1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9bd850f7e5a48f0f3aedc34dbe4668e92f691a47be4c8d6649f8fb4397ffc979","typeString":"literal_string \"delta.amount1() is not equal to deltaAfter1\""}],"id":53539,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3676:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:86:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53547,"nodeType":"ExpressionStatement","src":"3676:86:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53549,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"3788:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":53550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3803:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3788:16:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657230206973206e6f742067726561746572207468616e206f7220657175616c20746f2030","id":53552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3806:47:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_44a77501c4459b847ffe1729430deb49da90377dae968fe44db99d45e6f1cb0e","typeString":"literal_string \"deltaAfter0 is not greater than or equal to 0\""},"value":"deltaAfter0 is not greater than or equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44a77501c4459b847ffe1729430deb49da90377dae968fe44db99d45e6f1cb0e","typeString":"literal_string \"deltaAfter0 is not greater than or equal to 0\""}],"id":53548,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3780:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3780:74:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53554,"nodeType":"ExpressionStatement","src":"3780:74:72"}]}}]},"id":53584,"nodeType":"IfStatement","src":"2360:1973:72","trueBody":{"id":53524,"nodeType":"Block","src":"2388:971:72","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":53466,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2406:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2411:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"2406:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2418:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"2406:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":53469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2436:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2406:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53522,"nodeType":"Block","src":"2898:451:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53498,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"2965:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":53499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2980:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2965:16:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657230206973206e6f74206c657373207468616e206f7220657175616c20746f207a65726f","id":53501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2983:47:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_103a51099cb207ab6dfdd395b36ca4822502dae980c6b92767c1ef887e5fdd50","typeString":"literal_string \"deltaAfter0 is not less than or equal to zero\""},"value":"deltaAfter0 is not less than or equal to zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_103a51099cb207ab6dfdd395b36ca4822502dae980c6b92767c1ef887e5fdd50","typeString":"literal_string \"deltaAfter0 is not less than or equal to zero\""}],"id":53497,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2957:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:74:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53503,"nodeType":"ExpressionStatement","src":"2957:74:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53505,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"3057:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3063:7:72","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"3057:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3057:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53508,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"3076:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3057:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74612e616d6f756e74312829206973206e6f7420657175616c20746f2064656c7461416674657231","id":53510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3089:45:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bd850f7e5a48f0f3aedc34dbe4668e92f691a47be4c8d6649f8fb4397ffc979","typeString":"literal_string \"delta.amount1() is not equal to deltaAfter1\""},"value":"delta.amount1() is not equal to deltaAfter1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9bd850f7e5a48f0f3aedc34dbe4668e92f691a47be4c8d6649f8fb4397ffc979","typeString":"literal_string \"delta.amount1() is not equal to deltaAfter1\""}],"id":53504,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3049:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3049:86:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53512,"nodeType":"ExpressionStatement","src":"3049:86:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53514,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"3182:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"expression":{"id":53515,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"3197:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3202:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"3197:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3209:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"3197:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3182:42:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657231206973206e6f74206c657373207468616e206f7220657175616c20746f20646174612e706172616d732e616d6f756e74537065636966696564","id":53519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3246:70:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_59908f801bd6373c90ad880327aaeeab0b529fec45cf64e80f0a84a5f45db9ef","typeString":"literal_string \"deltaAfter1 is not less than or equal to data.params.amountSpecified\""},"value":"deltaAfter1 is not less than or equal to data.params.amountSpecified"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59908f801bd6373c90ad880327aaeeab0b529fec45cf64e80f0a84a5f45db9ef","typeString":"literal_string \"deltaAfter1 is not less than or equal to data.params.amountSpecified\""}],"id":53513,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3153:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3153:181:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53521,"nodeType":"ExpressionStatement","src":"3153:181:72"}]},"id":53523,"nodeType":"IfStatement","src":"2402:947:72","trueBody":{"id":53496,"nodeType":"Block","src":"2439:453:72","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53472,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"2526:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"expression":{"id":53473,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"2541:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2546:6:72","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53283,"src":"2541:11:72","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":53475,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2553:15:72","memberName":"amountSpecified","nodeType":"MemberAccess","referencedDeclaration":4768,"src":"2541:27:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2526:42:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657230206973206e6f742067726561746572207468616e206f7220657175616c20746f20646174612e706172616d732e616d6f756e74537065636966696564","id":53477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2590:73:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e9a685cd72f13df85c871dcd99543e73030f2431e3cd75d71f260f2ba11b1bb","typeString":"literal_string \"deltaAfter0 is not greater than or equal to data.params.amountSpecified\""},"value":"deltaAfter0 is not greater than or equal to data.params.amountSpecified"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e9a685cd72f13df85c871dcd99543e73030f2431e3cd75d71f260f2ba11b1bb","typeString":"literal_string \"deltaAfter0 is not greater than or equal to data.params.amountSpecified\""}],"id":53471,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2497:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:184:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53479,"nodeType":"ExpressionStatement","src":"2497:184:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53481,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"2707:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":53482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2713:7:72","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"2707:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":53483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2707:15:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53484,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"2726:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2707:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74612e616d6f756e74302829206973206e6f7420657175616c20746f2064656c7461416674657230","id":53486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2739:45:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f53564a2b1a1a69a0bdbc5e1e1c5c457ba59daf139cd9a699a9bfe9470d3975","typeString":"literal_string \"delta.amount0() is not equal to deltaAfter0\""},"value":"delta.amount0() is not equal to deltaAfter0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9f53564a2b1a1a69a0bdbc5e1e1c5c457ba59daf139cd9a699a9bfe9470d3975","typeString":"literal_string \"delta.amount0() is not equal to deltaAfter0\""}],"id":53480,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2699:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2699:86:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53488,"nodeType":"ExpressionStatement","src":"2699:86:72"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53490,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"2811:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":53491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2826:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2811:16:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c7461416674657231206973206e6f742067726561746572207468616e206f7220657175616c20746f2030","id":53493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2829:47:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_727deff532a200e740c4e3178edb22369b9b8575178585c1f674d0a8144197b8","typeString":"literal_string \"deltaAfter1 is not greater than or equal to 0\""},"value":"deltaAfter1 is not greater than or equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_727deff532a200e740c4e3178edb22369b9b8575178585c1f674d0a8144197b8","typeString":"literal_string \"deltaAfter1 is not greater than or equal to 0\""}],"id":53489,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2803:7:72","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2803:74:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53495,"nodeType":"ExpressionStatement","src":"2803:74:72"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53585,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4347:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":53586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4361:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4347:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53609,"nodeType":"IfStatement","src":"4343:151:72","trueBody":{"id":53608,"nodeType":"Block","src":"4364:130:72","statements":[{"expression":{"arguments":[{"id":53595,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4404:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":53596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4413:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4418:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"4413:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"4434:12:72","subExpression":{"id":53600,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4435:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4426:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53598,"name":"uint256","nodeType":"ElementaryTypeName","src":"4426:7:72","typeDescriptions":{}}},"id":53602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4426:21:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":53603,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4449:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4454:12:72","memberName":"testSettings","nodeType":"MemberAccess","referencedDeclaration":53277,"src":"4449:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},"id":53605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4467:15:72","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":53290,"src":"4449:33:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":53588,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4378:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4383:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"4378:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53593,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4387:9:72","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"4378:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4397:6:72","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"4378:25:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4378:105:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53607,"nodeType":"ExpressionStatement","src":"4378:105:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53610,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"4507:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":53611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4521:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4507:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53634,"nodeType":"IfStatement","src":"4503:151:72","trueBody":{"id":53633,"nodeType":"Block","src":"4524:130:72","statements":[{"expression":{"arguments":[{"id":53620,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4564:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":53621,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4573:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4578:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"4573:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"4594:12:72","subExpression":{"id":53625,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"4595:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4586:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53623,"name":"uint256","nodeType":"ElementaryTypeName","src":"4586:7:72","typeDescriptions":{}}},"id":53627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4586:21:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":53628,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4609:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4614:12:72","memberName":"testSettings","nodeType":"MemberAccess","referencedDeclaration":53277,"src":"4609:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},"id":53630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4627:15:72","memberName":"settleUsingBurn","nodeType":"MemberAccess","referencedDeclaration":53290,"src":"4609:33:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":53613,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4538:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4543:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"4538:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4547:9:72","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"4538:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4557:6:72","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"4538:25:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:105:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53632,"nodeType":"ExpressionStatement","src":"4538:105:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53635,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4667:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4667:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53658,"nodeType":"IfStatement","src":"4663:143:72","trueBody":{"id":53657,"nodeType":"Block","src":"4684:122:72","statements":[{"expression":{"arguments":[{"id":53645,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4722:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":53646,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4731:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4736:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"4731:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53650,"name":"deltaAfter0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53436,"src":"4752:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4744:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53648,"name":"uint256","nodeType":"ElementaryTypeName","src":"4744:7:72","typeDescriptions":{}}},"id":53651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4744:20:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":53652,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4766:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4771:12:72","memberName":"testSettings","nodeType":"MemberAccess","referencedDeclaration":53277,"src":"4766:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},"id":53654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4784:10:72","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":53288,"src":"4766:28:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":53638,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4698:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4703:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"4698:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4707:9:72","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"4698:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4717:4:72","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"4698:23:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4698:97:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53656,"nodeType":"ExpressionStatement","src":"4698:97:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53659,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"4819:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4833:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4819:15:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53682,"nodeType":"IfStatement","src":"4815:143:72","trueBody":{"id":53681,"nodeType":"Block","src":"4836:122:72","statements":[{"expression":{"arguments":[{"id":53669,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"4874:7:72","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":53670,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4883:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4888:6:72","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53274,"src":"4883:11:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53674,"name":"deltaAfter1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53450,"src":"4904:11:72","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":53673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4896:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53672,"name":"uint256","nodeType":"ElementaryTypeName","src":"4896:7:72","typeDescriptions":{}}},"id":53675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4896:20:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":53676,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4918:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4923:12:72","memberName":"testSettings","nodeType":"MemberAccess","referencedDeclaration":53277,"src":"4918:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},"id":53678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4936:10:72","memberName":"takeClaims","nodeType":"MemberAccess","referencedDeclaration":53288,"src":"4918:28:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":53662,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53372,"src":"4850:4:72","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53286_memory_ptr","typeString":"struct PoolSwapTest.CallbackData memory"}},"id":53666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4855:3:72","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53280,"src":"4850:8:72","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4859:9:72","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"4850:18:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4869:4:72","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"4850:23:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:97:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53680,"nodeType":"ExpressionStatement","src":"4850:97:72"}]}},{"expression":{"arguments":[{"id":53685,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53424,"src":"4986:5:72","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":53683,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4975:3:72","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4979:6:72","memberName":"encode","nodeType":"MemberAccess","src":"4975:10:72","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4975:17:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":53359,"id":53687,"nodeType":"Return","src":"4968:24:72"}]},"functionSelector":"91dd7346","id":53689,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1537:14:72","nodeType":"FunctionDefinition","parameters":{"id":53356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53355,"mutability":"mutable","name":"rawData","nameLocation":"1567:7:72","nodeType":"VariableDeclaration","scope":53689,"src":"1552:22:72","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":53354,"name":"bytes","nodeType":"ElementaryTypeName","src":"1552:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1551:24:72"},"returnParameters":{"id":53359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53689,"src":"1594:12:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53357,"name":"bytes","nodeType":"ElementaryTypeName","src":"1594:5:72","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1593:14:72"},"scope":53690,"src":"1528:3471:72","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":53691,"src":"563:4438:72","usedErrors":[53272],"usedEvents":[]}],"src":"39:4963:72"},"id":72},"v4-core/src/test/PoolTakeTest.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolTakeTest.sol","exportedSymbols":{"Currency":[4399],"CurrencySettler":[49175],"IPoolManager":[1763],"PoolKey":[4745],"PoolTakeTest":[53917],"PoolTestBase":[49039],"SafeCast":[47298]},"id":53918,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":53692,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:73"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":53694,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":4694,"src":"65:47:73","symbolAliases":[{"foreign":{"id":53693,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"73:8:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":53696,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":1764,"src":"113:60:73","symbolAliases":[{"foreign":{"id":53695,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"121:12:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":53698,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":4746,"src":"174:45:73","symbolAliases":[{"foreign":{"id":53697,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"182:7:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":53700,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":49040,"src":"220:48:73","symbolAliases":[{"foreign":{"id":53699,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"228:12:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"../libraries/SafeCast.sol","id":53702,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":47299,"src":"269:51:73","symbolAliases":[{"foreign":{"id":53701,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"277:8:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":53704,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":53918,"sourceUnit":49176,"src":"321:69:73","symbolAliases":[{"foreign":{"id":53703,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"329:15:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":53705,"name":"PoolTestBase","nameLocations":["417:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"417:12:73"},"id":53706,"nodeType":"InheritanceSpecifier","src":"417:12:73"}],"canonicalName":"PoolTakeTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":53917,"linearizedBaseContracts":[53917,49039,56802],"name":"PoolTakeTest","nameLocation":"401:12:73","nodeType":"ContractDefinition","nodes":[{"global":false,"id":53710,"libraryName":{"id":53707,"name":"CurrencySettler","nameLocations":["442:15:73"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"442:15:73"},"nodeType":"UsingForDirective","src":"436:35:73","typeName":{"id":53709,"nodeType":"UserDefinedTypeName","pathNode":{"id":53708,"name":"Currency","nameLocations":["462:8:73"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"462:8:73"},"referencedDeclaration":4399,"src":"462:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":53713,"libraryName":{"id":53711,"name":"SafeCast","nameLocations":["482:8:73"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"482:8:73"},"nodeType":"UsingForDirective","src":"476:27:73","typeName":{"id":53712,"name":"uint256","nodeType":"ElementaryTypeName","src":"495:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"body":{"id":53722,"nodeType":"Block","src":"567:2:73","statements":[]},"id":53723,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":53719,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53716,"src":"557:8:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":53720,"kind":"baseConstructorSpecifier","modifierName":{"id":53718,"name":"PoolTestBase","nameLocations":["544:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"544:12:73"},"nodeType":"ModifierInvocation","src":"544:22:73"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":53717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53716,"mutability":"mutable","name":"_manager","nameLocation":"534:8:73","nodeType":"VariableDeclaration","scope":53723,"src":"521:21:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":53715,"nodeType":"UserDefinedTypeName","pathNode":{"id":53714,"name":"IPoolManager","nameLocations":["521:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"521:12:73"},"referencedDeclaration":1763,"src":"521:12:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"520:23:73"},"returnParameters":{"id":53721,"nodeType":"ParameterList","parameters":[],"src":"567:0:73"},"scope":53917,"src":"509:60:73","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"canonicalName":"PoolTakeTest.CallbackData","id":53733,"members":[{"constant":false,"id":53725,"mutability":"mutable","name":"sender","nameLocation":"613:6:73","nodeType":"VariableDeclaration","scope":53733,"src":"605:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53724,"name":"address","nodeType":"ElementaryTypeName","src":"605:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53728,"mutability":"mutable","name":"key","nameLocation":"637:3:73","nodeType":"VariableDeclaration","scope":53733,"src":"629:11:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":53727,"nodeType":"UserDefinedTypeName","pathNode":{"id":53726,"name":"PoolKey","nameLocations":["629:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"629:7:73"},"referencedDeclaration":4745,"src":"629:7:73","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53730,"mutability":"mutable","name":"amount0","nameLocation":"658:7:73","nodeType":"VariableDeclaration","scope":53733,"src":"650:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53729,"name":"uint256","nodeType":"ElementaryTypeName","src":"650:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53732,"mutability":"mutable","name":"amount1","nameLocation":"683:7:73","nodeType":"VariableDeclaration","scope":53733,"src":"675:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53731,"name":"uint256","nodeType":"ElementaryTypeName","src":"675:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"582:12:73","nodeType":"StructDefinition","scope":53917,"src":"575:122:73","visibility":"public"},{"body":{"id":53758,"nodeType":"Block","src":"788:92:73","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":53749,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"837:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"841:6:73","memberName":"sender","nodeType":"MemberAccess","src":"837:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53751,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53736,"src":"849:3:73","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":53752,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53738,"src":"854:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53753,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53740,"src":"863:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53748,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53733,"src":"824:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53733_storage_ptr_$","typeString":"type(struct PoolTakeTest.CallbackData storage pointer)"}},"id":53754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"824:47:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}],"expression":{"id":53746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"813:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"817:6:73","memberName":"encode","nodeType":"MemberAccess","src":"813:10:73","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"813:59:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53743,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"798:7:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"806:6:73","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"798:14:73","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":53756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"798:75:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53757,"nodeType":"ExpressionStatement","src":"798:75:73"}]},"functionSelector":"055419b6","id":53759,"implemented":true,"kind":"function","modifiers":[],"name":"take","nameLocation":"712:4:73","nodeType":"FunctionDefinition","parameters":{"id":53741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53736,"mutability":"mutable","name":"key","nameLocation":"732:3:73","nodeType":"VariableDeclaration","scope":53759,"src":"717:18:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":53735,"nodeType":"UserDefinedTypeName","pathNode":{"id":53734,"name":"PoolKey","nameLocations":["717:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"717:7:73"},"referencedDeclaration":4745,"src":"717:7:73","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53738,"mutability":"mutable","name":"amount0","nameLocation":"745:7:73","nodeType":"VariableDeclaration","scope":53759,"src":"737:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53737,"name":"uint256","nodeType":"ElementaryTypeName","src":"737:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53740,"mutability":"mutable","name":"amount1","nameLocation":"762:7:73","nodeType":"VariableDeclaration","scope":53759,"src":"754:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53739,"name":"uint256","nodeType":"ElementaryTypeName","src":"754:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"716:54:73"},"returnParameters":{"id":53742,"nodeType":"ParameterList","parameters":[],"src":"788:0:73"},"scope":53917,"src":"703:177:73","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":53821,"nodeType":"Block","src":"966:337:73","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":53773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53767,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"984:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"988:6:73","memberName":"sender","nodeType":"MemberAccess","src":"984:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":53771,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1006:7:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":53770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"998:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53769,"name":"address","nodeType":"ElementaryTypeName","src":"998:7:73","typeDescriptions":{}}},"id":53772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"998:16:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"984:30:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53766,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"976:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":53774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"976:39:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53775,"nodeType":"ExpressionStatement","src":"976:39:73"},{"assignments":[53778],"declarations":[{"constant":false,"id":53778,"mutability":"mutable","name":"data","nameLocation":"1046:4:73","nodeType":"VariableDeclaration","scope":53821,"src":"1026:24:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData"},"typeName":{"id":53777,"nodeType":"UserDefinedTypeName","pathNode":{"id":53776,"name":"CallbackData","nameLocations":["1026:12:73"],"nodeType":"IdentifierPath","referencedDeclaration":53733,"src":"1026:12:73"},"referencedDeclaration":53733,"src":"1026:12:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_storage_ptr","typeString":"struct PoolTakeTest.CallbackData"}},"visibility":"internal"}],"id":53785,"initialValue":{"arguments":[{"id":53781,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53761,"src":"1064:7:73","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":53782,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53733,"src":"1074:12:73","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53733_storage_ptr_$","typeString":"type(struct PoolTakeTest.CallbackData storage pointer)"}}],"id":53783,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1073:14:73","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53733_storage_ptr_$","typeString":"type(struct PoolTakeTest.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53733_storage_ptr_$","typeString":"type(struct PoolTakeTest.CallbackData storage pointer)"}],"expression":{"id":53779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1053:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1057:6:73","memberName":"decode","nodeType":"MemberAccess","src":"1053:10:73","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":53784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1053:35:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"1026:62:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53786,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1103:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1108:7:73","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":53730,"src":"1103:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1118:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1103:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53800,"nodeType":"IfStatement","src":"1099:78:73","trueBody":{"expression":{"arguments":[{"expression":{"expression":{"id":53791,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1131:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1136:3:73","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53728,"src":"1131:8:73","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1140:9:73","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"1131:18:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53794,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1151:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1156:6:73","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53725,"src":"1151:11:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":53796,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1164:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1169:7:73","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":53730,"src":"1164:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53790,"name":"_testTake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53916,"src":"1121:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$","typeString":"function (Currency,address,uint256)"}},"id":53798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:56:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53799,"nodeType":"ExpressionStatement","src":"1121:56:73"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53801,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1191:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1196:7:73","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":53732,"src":"1191:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1206:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1191:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53815,"nodeType":"IfStatement","src":"1187:78:73","trueBody":{"expression":{"arguments":[{"expression":{"expression":{"id":53806,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1219:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1224:3:73","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53728,"src":"1219:8:73","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":53808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1228:9:73","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"1219:18:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"expression":{"id":53809,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1239:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1244:6:73","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53725,"src":"1239:11:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":53811,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"1252:4:73","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53733_memory_ptr","typeString":"struct PoolTakeTest.CallbackData memory"}},"id":53812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1257:7:73","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":53732,"src":"1252:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53805,"name":"_testTake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53916,"src":"1209:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$","typeString":"function (Currency,address,uint256)"}},"id":53813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1209:56:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53814,"nodeType":"ExpressionStatement","src":"1209:56:73"}},{"expression":{"arguments":[{"hexValue":"30","id":53818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1294:1:73","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":53816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1283:3:73","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1287:6:73","memberName":"encode","nodeType":"MemberAccess","src":"1283:10:73","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1283:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":53765,"id":53820,"nodeType":"Return","src":"1276:20:73"}]},"functionSelector":"91dd7346","id":53822,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"895:14:73","nodeType":"FunctionDefinition","parameters":{"id":53762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53761,"mutability":"mutable","name":"rawData","nameLocation":"925:7:73","nodeType":"VariableDeclaration","scope":53822,"src":"910:22:73","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":53760,"name":"bytes","nodeType":"ElementaryTypeName","src":"910:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"909:24:73"},"returnParameters":{"id":53765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53764,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53822,"src":"952:12:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53763,"name":"bytes","nodeType":"ElementaryTypeName","src":"952:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"951:14:73"},"scope":53917,"src":"886:417:73","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":53915,"nodeType":"Block","src":"1388:883:73","statements":[{"assignments":[53833,53835,53837],"declarations":[{"constant":false,"id":53833,"mutability":"mutable","name":"userBalBefore","nameLocation":"1407:13:73","nodeType":"VariableDeclaration","scope":53915,"src":"1399:21:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53832,"name":"uint256","nodeType":"ElementaryTypeName","src":"1399:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53835,"mutability":"mutable","name":"pmBalBefore","nameLocation":"1430:11:73","nodeType":"VariableDeclaration","scope":53915,"src":"1422:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53834,"name":"uint256","nodeType":"ElementaryTypeName","src":"1422:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53837,"mutability":"mutable","name":"deltaBefore","nameLocation":"1450:11:73","nodeType":"VariableDeclaration","scope":53915,"src":"1443:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53836,"name":"int256","nodeType":"ElementaryTypeName","src":"1443:6:73","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53846,"initialValue":{"arguments":[{"id":53839,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53825,"src":"1492:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53840,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"1502:6:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53843,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1518:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}],"id":53842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1510:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53841,"name":"address","nodeType":"ElementaryTypeName","src":"1510:7:73","typeDescriptions":{}}},"id":53844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1510:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53838,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1477:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1477:47:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1398:126:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53848,"name":"deltaBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53837,"src":"1542:11:73","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":53849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1557:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1542:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614265666f7265206973206e6f7420657175616c20746f2030","id":53851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1560:31:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0184aacc19b5271668d6a65c92603ce51fd1c73bab7921eb9f38f957595736d","typeString":"literal_string \"deltaBefore is not equal to 0\""},"value":"deltaBefore is not equal to 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b0184aacc19b5271668d6a65c92603ce51fd1c73bab7921eb9f38f957595736d","typeString":"literal_string \"deltaBefore is not equal to 0\""}],"id":53847,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1534:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1534:58:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53853,"nodeType":"ExpressionStatement","src":"1534:58:73"},{"expression":{"arguments":[{"id":53857,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1617:7:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":53858,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"1626:6:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53859,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53829,"src":"1634:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":53860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1642:5:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53854,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53825,"src":"1603:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1612:4:73","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"1603:13:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1603:45:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53862,"nodeType":"ExpressionStatement","src":"1603:45:73"},{"assignments":[53864,53866,53868],"declarations":[{"constant":false,"id":53864,"mutability":"mutable","name":"userBalAfter","nameLocation":"1668:12:73","nodeType":"VariableDeclaration","scope":53915,"src":"1660:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53863,"name":"uint256","nodeType":"ElementaryTypeName","src":"1660:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53866,"mutability":"mutable","name":"pmBalAfter","nameLocation":"1690:10:73","nodeType":"VariableDeclaration","scope":53915,"src":"1682:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53865,"name":"uint256","nodeType":"ElementaryTypeName","src":"1682:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53868,"mutability":"mutable","name":"deltaAfter","nameLocation":"1709:10:73","nodeType":"VariableDeclaration","scope":53915,"src":"1702:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":53867,"name":"int256","nodeType":"ElementaryTypeName","src":"1702:6:73","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":53877,"initialValue":{"arguments":[{"id":53870,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53825,"src":"1738:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":53871,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"1748:6:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":53874,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1764:4:73","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}],"id":53873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1756:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53872,"name":"address","nodeType":"ElementaryTypeName","src":"1756:7:73","typeDescriptions":{}}},"id":53875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1756:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53869,"name":"_fetchBalances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"1723:14:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_address_$returns$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"function (Currency,address,address) view returns (uint256,uint256,int256)"}},"id":53876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:47:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_int256_$","typeString":"tuple(uint256,uint256,int256)"}},"nodeType":"VariableDeclarationStatement","src":"1659:111:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":53884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53879,"name":"deltaAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53868,"src":"1789:10:73","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1803:18:73","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53880,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53829,"src":"1804:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1811:8:73","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47297,"src":"1804:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_int128_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (int128)"}},"id":53882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1804:17:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"1789:32:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"64656c74614166746572206973206e6f7420657175616c20746f202d616d6f756e742e746f496e743132382829","id":53885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1823:47:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c461cba6926901c208d19fc95d0ef8b69f2807d86e3df944705c4cb064ae6817","typeString":"literal_string \"deltaAfter is not equal to -amount.toInt128()\""},"value":"deltaAfter is not equal to -amount.toInt128()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c461cba6926901c208d19fc95d0ef8b69f2807d86e3df944705c4cb064ae6817","typeString":"literal_string \"deltaAfter is not equal to -amount.toInt128()\""}],"id":53878,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1781:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1781:90:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53887,"nodeType":"ExpressionStatement","src":"1781:90:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53889,"name":"userBalAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53864,"src":"1903:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":53890,"name":"userBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53833,"src":"1918:13:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1903:28:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53892,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53829,"src":"1935:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1903:38:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74686520646966666572656e6365206265747765656e207573657242616c416674657220616e64207573657242616c4265666f7265206973206e6f7420657175616c20746f20616d6f756e74","id":53894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1955:78:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0a08e40380c8ddcd1bf6c70e8920fbe27b08cec7389a2cc165cf4f7d851f41c","typeString":"literal_string \"the difference between userBalAfter and userBalBefore is not equal to amount\""},"value":"the difference between userBalAfter and userBalBefore is not equal to amount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0a08e40380c8ddcd1bf6c70e8920fbe27b08cec7389a2cc165cf4f7d851f41c","typeString":"literal_string \"the difference between userBalAfter and userBalBefore is not equal to amount\""}],"id":53888,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1882:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1882:161:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53896,"nodeType":"ExpressionStatement","src":"1882:161:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53898,"name":"pmBalBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53835,"src":"2074:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":53899,"name":"pmBalAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53866,"src":"2088:10:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2074:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":53901,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53829,"src":"2102:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2074:34:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74686520646966666572656e6365206265747765656e20706d42616c4265666f726520616e6420706d42616c4166746572206973206e6f7420657175616c20746f20616d6f756e74","id":53903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2122:74:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_169f27f88e6e7054cb7962515f9b2fa5b4cccb331a1902b2107a59528d0d5d53","typeString":"literal_string \"the difference between pmBalBefore and pmBalAfter is not equal to amount\""},"value":"the difference between pmBalBefore and pmBalAfter is not equal to amount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_169f27f88e6e7054cb7962515f9b2fa5b4cccb331a1902b2107a59528d0d5d53","typeString":"literal_string \"the difference between pmBalBefore and pmBalAfter is not equal to amount\""}],"id":53897,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2053:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":53904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2053:153:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53905,"nodeType":"ExpressionStatement","src":"2053:153:73"},{"expression":{"arguments":[{"id":53909,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"2233:7:73","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"id":53910,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53827,"src":"2242:6:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53911,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53829,"src":"2250:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":53912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2258:5:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53906,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53825,"src":"2217:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":53908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2226:6:73","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"2217:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":53913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2217:47:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53914,"nodeType":"ExpressionStatement","src":"2217:47:73"}]},"id":53916,"implemented":true,"kind":"function","modifiers":[],"name":"_testTake","nameLocation":"1318:9:73","nodeType":"FunctionDefinition","parameters":{"id":53830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53825,"mutability":"mutable","name":"currency","nameLocation":"1337:8:73","nodeType":"VariableDeclaration","scope":53916,"src":"1328:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":53824,"nodeType":"UserDefinedTypeName","pathNode":{"id":53823,"name":"Currency","nameLocations":["1328:8:73"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1328:8:73"},"referencedDeclaration":4399,"src":"1328:8:73","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":53827,"mutability":"mutable","name":"sender","nameLocation":"1355:6:73","nodeType":"VariableDeclaration","scope":53916,"src":"1347:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53826,"name":"address","nodeType":"ElementaryTypeName","src":"1347:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53829,"mutability":"mutable","name":"amount","nameLocation":"1371:6:73","nodeType":"VariableDeclaration","scope":53916,"src":"1363:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53828,"name":"uint256","nodeType":"ElementaryTypeName","src":"1363:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1327:51:73"},"returnParameters":{"id":53831,"nodeType":"ParameterList","parameters":[],"src":"1388:0:73"},"scope":53917,"src":"1309:962:73","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":53918,"src":"392:1881:73","usedErrors":[],"usedEvents":[]}],"src":"39:2235:73"},"id":73},"v4-core/src/test/PoolTestBase.sol":{"ast":{"absolutePath":"v4-core/src/test/PoolTestBase.sol","exportedSymbols":{"Currency":[4399],"IPoolManager":[1763],"IUnlockCallback":[56802],"PoolTestBase":[49039],"StateLibrary":[2586],"TransientStateLibrary":[56938]},"id":49040,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":48962,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:74"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":48964,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49040,"sourceUnit":4694,"src":"65:47:74","symbolAliases":[{"foreign":{"id":48963,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"73:8:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/callback/IUnlockCallback.sol","file":"../interfaces/callback/IUnlockCallback.sol","id":48966,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49040,"sourceUnit":56803,"src":"114:75:74","symbolAliases":[{"foreign":{"id":48965,"name":"IUnlockCallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56802,"src":"122:15:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":48968,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49040,"sourceUnit":1764,"src":"190:60:74","symbolAliases":[{"foreign":{"id":48967,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"198:12:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"../libraries/StateLibrary.sol","id":48970,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49040,"sourceUnit":2587,"src":"252:59:74","symbolAliases":[{"foreign":{"id":48969,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"260:12:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TransientStateLibrary.sol","file":"../libraries/TransientStateLibrary.sol","id":48972,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49040,"sourceUnit":56939,"src":"312:77:74","symbolAliases":[{"foreign":{"id":48971,"name":"TransientStateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56938,"src":"320:21:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":48973,"name":"IUnlockCallback","nameLocations":["425:15:74"],"nodeType":"IdentifierPath","referencedDeclaration":56802,"src":"425:15:74"},"id":48974,"nodeType":"InheritanceSpecifier","src":"425:15:74"}],"canonicalName":"PoolTestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":false,"id":49039,"linearizedBaseContracts":[49039,56802],"name":"PoolTestBase","nameLocation":"409:12:74","nodeType":"ContractDefinition","nodes":[{"global":false,"id":48978,"libraryName":{"id":48975,"name":"StateLibrary","nameLocations":["453:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"453:12:74"},"nodeType":"UsingForDirective","src":"447:36:74","typeName":{"id":48977,"nodeType":"UserDefinedTypeName","pathNode":{"id":48976,"name":"IPoolManager","nameLocations":["470:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"470:12:74"},"referencedDeclaration":1763,"src":"470:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"global":false,"id":48982,"libraryName":{"id":48979,"name":"TransientStateLibrary","nameLocations":["494:21:74"],"nodeType":"IdentifierPath","referencedDeclaration":56938,"src":"494:21:74"},"nodeType":"UsingForDirective","src":"488:45:74","typeName":{"id":48981,"nodeType":"UserDefinedTypeName","pathNode":{"id":48980,"name":"IPoolManager","nameLocations":["520:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"520:12:74"},"referencedDeclaration":1763,"src":"520:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"constant":false,"functionSelector":"481c6a75","id":48985,"mutability":"immutable","name":"manager","nameLocation":"569:7:74","nodeType":"VariableDeclaration","scope":49039,"src":"539:37:74","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":48984,"nodeType":"UserDefinedTypeName","pathNode":{"id":48983,"name":"IPoolManager","nameLocations":["539:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"539:12:74"},"referencedDeclaration":1763,"src":"539:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"public"},{"body":{"id":48995,"nodeType":"Block","src":"618:35:74","statements":[{"expression":{"id":48993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48991,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"628:7:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":48992,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48988,"src":"638:8:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"src":"628:18:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":48994,"nodeType":"ExpressionStatement","src":"628:18:74"}]},"id":48996,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":48989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48988,"mutability":"mutable","name":"_manager","nameLocation":"608:8:74","nodeType":"VariableDeclaration","scope":48996,"src":"595:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":48987,"nodeType":"UserDefinedTypeName","pathNode":{"id":48986,"name":"IPoolManager","nameLocations":["595:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"595:12:74"},"referencedDeclaration":1763,"src":"595:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"594:23:74"},"returnParameters":{"id":48990,"nodeType":"ParameterList","parameters":[],"src":"618:0:74"},"scope":49039,"src":"583:70:74","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":49037,"nodeType":"Block","src":"844:177:74","statements":[{"expression":{"id":49017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49012,"name":"userBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49006,"src":"854:11:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49015,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49001,"src":"887:4:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49013,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48999,"src":"868:8:74","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"877:9:74","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4636,"src":"868:18:74","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address) view returns (uint256)"}},"id":49016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"868:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"854:38:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49018,"nodeType":"ExpressionStatement","src":"854:38:74"},{"expression":{"id":49027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49019,"name":"poolBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49008,"src":"902:11:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":49024,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"943:7:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":49023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"935:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49022,"name":"address","nodeType":"ElementaryTypeName","src":"935:7:74","typeDescriptions":{}}},"id":49025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"935:16:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49020,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48999,"src":"916:8:74","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"925:9:74","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4636,"src":"916:18:74","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_Currency_$4399_$_t_address_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,address) view returns (uint256)"}},"id":49026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:36:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"902:50:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49028,"nodeType":"ExpressionStatement","src":"902:50:74"},{"expression":{"id":49035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49029,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49010,"src":"962:5:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49032,"name":"deltaHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49003,"src":"992:11:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49033,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48999,"src":"1005:8:74","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49030,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"970:7:74","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"978:13:74","memberName":"currencyDelta","nodeType":"MemberAccess","referencedDeclaration":56919,"src":"970:21:74","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_address_$_t_userDefinedValueType$_Currency_$4399_$returns$_t_int256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,address,Currency) view returns (int256)"}},"id":49034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"970:44:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"962:52:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":49036,"nodeType":"ExpressionStatement","src":"962:52:74"}]},"id":49038,"implemented":true,"kind":"function","modifiers":[],"name":"_fetchBalances","nameLocation":"668:14:74","nodeType":"FunctionDefinition","parameters":{"id":49004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48999,"mutability":"mutable","name":"currency","nameLocation":"692:8:74","nodeType":"VariableDeclaration","scope":49038,"src":"683:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":48998,"nodeType":"UserDefinedTypeName","pathNode":{"id":48997,"name":"Currency","nameLocations":["683:8:74"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"683:8:74"},"referencedDeclaration":4399,"src":"683:8:74","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":49001,"mutability":"mutable","name":"user","nameLocation":"710:4:74","nodeType":"VariableDeclaration","scope":49038,"src":"702:12:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49000,"name":"address","nodeType":"ElementaryTypeName","src":"702:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49003,"mutability":"mutable","name":"deltaHolder","nameLocation":"724:11:74","nodeType":"VariableDeclaration","scope":49038,"src":"716:19:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49002,"name":"address","nodeType":"ElementaryTypeName","src":"716:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"682:54:74"},"returnParameters":{"id":49011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49006,"mutability":"mutable","name":"userBalance","nameLocation":"792:11:74","nodeType":"VariableDeclaration","scope":49038,"src":"784:19:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49005,"name":"uint256","nodeType":"ElementaryTypeName","src":"784:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49008,"mutability":"mutable","name":"poolBalance","nameLocation":"813:11:74","nodeType":"VariableDeclaration","scope":49038,"src":"805:19:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49007,"name":"uint256","nodeType":"ElementaryTypeName","src":"805:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49010,"mutability":"mutable","name":"delta","nameLocation":"833:5:74","nodeType":"VariableDeclaration","scope":49038,"src":"826:12:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49009,"name":"int256","nodeType":"ElementaryTypeName","src":"826:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"783:56:74"},"scope":49039,"src":"659:362:74","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":49040,"src":"391:632:74","usedErrors":[],"usedEvents":[]}],"src":"39:985:74"},"id":74},"v4-core/src/test/SwapRouterNoChecks.sol":{"ast":{"absolutePath":"v4-core/src/test/SwapRouterNoChecks.sol","exportedSymbols":{"BalanceDelta":[4233],"Currency":[4399],"CurrencySettler":[49175],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"PoolKey":[4745],"PoolTestBase":[49039],"SwapParams":[4772],"SwapRouterNoChecks":[54134]},"id":54135,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":53919,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"39:24:75"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../types/Currency.sol","id":53921,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":4694,"src":"65:47:75","symbolAliases":[{"foreign":{"id":53920,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"73:8:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../interfaces/IPoolManager.sol","id":53923,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":1764,"src":"113:60:75","symbolAliases":[{"foreign":{"id":53922,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"121:12:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":53925,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":4392,"src":"174:55:75","symbolAliases":[{"foreign":{"id":53924,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"182:12:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":53927,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":4746,"src":"230:45:75","symbolAliases":[{"foreign":{"id":53926,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"238:7:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../types/PoolOperation.sol","id":53929,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":4773,"src":"276:54:75","symbolAliases":[{"foreign":{"id":53928,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"284:10:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":53931,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":1481,"src":"331:48:75","symbolAliases":[{"foreign":{"id":53930,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"339:6:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../libraries/Hooks.sol","id":53933,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":48812,"src":"380:45:75","symbolAliases":[{"foreign":{"id":53932,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"388:5:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTestBase.sol","file":"./PoolTestBase.sol","id":53935,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":49040,"src":"426:48:75","symbolAliases":[{"foreign":{"id":53934,"name":"PoolTestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49039,"src":"434:12:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","file":"../../test/utils/CurrencySettler.sol","id":53937,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54135,"sourceUnit":49176,"src":"475:69:75","symbolAliases":[{"foreign":{"id":53936,"name":"CurrencySettler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49175,"src":"483:15:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":53938,"name":"PoolTestBase","nameLocations":["577:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"577:12:75"},"id":53939,"nodeType":"InheritanceSpecifier","src":"577:12:75"}],"canonicalName":"SwapRouterNoChecks","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":54134,"linearizedBaseContracts":[54134,49039,56802],"name":"SwapRouterNoChecks","nameLocation":"555:18:75","nodeType":"ContractDefinition","nodes":[{"global":false,"id":53943,"libraryName":{"id":53940,"name":"CurrencySettler","nameLocations":["602:15:75"],"nodeType":"IdentifierPath","referencedDeclaration":49175,"src":"602:15:75"},"nodeType":"UsingForDirective","src":"596:35:75","typeName":{"id":53942,"nodeType":"UserDefinedTypeName","pathNode":{"id":53941,"name":"Currency","nameLocations":["622:8:75"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"622:8:75"},"referencedDeclaration":4399,"src":"622:8:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":false,"id":53947,"libraryName":{"id":53944,"name":"Hooks","nameLocations":["642:5:75"],"nodeType":"IdentifierPath","referencedDeclaration":48811,"src":"642:5:75"},"nodeType":"UsingForDirective","src":"636:23:75","typeName":{"id":53946,"nodeType":"UserDefinedTypeName","pathNode":{"id":53945,"name":"IHooks","nameLocations":["652:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"652:6:75"},"referencedDeclaration":1480,"src":"652:6:75","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}},{"body":{"id":53956,"nodeType":"Block","src":"723:2:75","statements":[]},"id":53957,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":53953,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53950,"src":"713:8:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"id":53954,"kind":"baseConstructorSpecifier","modifierName":{"id":53952,"name":"PoolTestBase","nameLocations":["700:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":49039,"src":"700:12:75"},"nodeType":"ModifierInvocation","src":"700:22:75"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":53951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53950,"mutability":"mutable","name":"_manager","nameLocation":"690:8:75","nodeType":"VariableDeclaration","scope":53957,"src":"677:21:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":53949,"nodeType":"UserDefinedTypeName","pathNode":{"id":53948,"name":"IPoolManager","nameLocations":["677:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"677:12:75"},"referencedDeclaration":1763,"src":"677:12:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"}],"src":"676:23:75"},"returnParameters":{"id":53955,"nodeType":"ParameterList","parameters":[],"src":"723:0:75"},"scope":54134,"src":"665:60:75","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"errorSelector":"5a8b05b0","id":53959,"name":"NoSwapOccurred","nameLocation":"737:14:75","nodeType":"ErrorDefinition","parameters":{"id":53958,"nodeType":"ParameterList","parameters":[],"src":"751:2:75"},"src":"731:23:75"},{"canonicalName":"SwapRouterNoChecks.CallbackData","id":53968,"members":[{"constant":false,"id":53961,"mutability":"mutable","name":"sender","nameLocation":"798:6:75","nodeType":"VariableDeclaration","scope":53968,"src":"790:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53960,"name":"address","nodeType":"ElementaryTypeName","src":"790:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53964,"mutability":"mutable","name":"key","nameLocation":"822:3:75","nodeType":"VariableDeclaration","scope":53968,"src":"814:11:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"},"typeName":{"id":53963,"nodeType":"UserDefinedTypeName","pathNode":{"id":53962,"name":"PoolKey","nameLocations":["814:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"814:7:75"},"referencedDeclaration":4745,"src":"814:7:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53967,"mutability":"mutable","name":"params","nameLocation":"846:6:75","nodeType":"VariableDeclaration","scope":53968,"src":"835:17:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"},"typeName":{"id":53966,"nodeType":"UserDefinedTypeName","pathNode":{"id":53965,"name":"SwapParams","nameLocations":["835:10:75"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"835:10:75"},"referencedDeclaration":4772,"src":"835:10:75","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"}],"name":"CallbackData","nameLocation":"767:12:75","nodeType":"StructDefinition","scope":54134,"src":"760:99:75","visibility":"public"},{"body":{"id":53991,"nodeType":"Block","src":"942:82:75","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":53983,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"991:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":53984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"995:6:75","memberName":"sender","nodeType":"MemberAccess","src":"991:10:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53985,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53971,"src":"1003:3:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":53986,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53974,"src":"1008:6:75","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}],"id":53982,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53968,"src":"978:12:75","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53968_storage_ptr_$","typeString":"type(struct SwapRouterNoChecks.CallbackData storage pointer)"}},"id":53987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"978:37:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}],"expression":{"id":53980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"967:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"971:6:75","memberName":"encode","nodeType":"MemberAccess","src":"967:10:75","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"967:49:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53977,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"952:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":53979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"960:6:75","memberName":"unlock","nodeType":"MemberAccess","referencedDeclaration":1632,"src":"952:14:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) external returns (bytes memory)"}},"id":53989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:65:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53990,"nodeType":"ExpressionStatement","src":"952:65:75"}]},"functionSelector":"1e2817de","id":53992,"implemented":true,"kind":"function","modifiers":[],"name":"swap","nameLocation":"874:4:75","nodeType":"FunctionDefinition","parameters":{"id":53975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53971,"mutability":"mutable","name":"key","nameLocation":"894:3:75","nodeType":"VariableDeclaration","scope":53992,"src":"879:18:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":53970,"nodeType":"UserDefinedTypeName","pathNode":{"id":53969,"name":"PoolKey","nameLocations":["879:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"879:7:75"},"referencedDeclaration":4745,"src":"879:7:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":53974,"mutability":"mutable","name":"params","nameLocation":"917:6:75","nodeType":"VariableDeclaration","scope":53992,"src":"899:24:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams"},"typeName":{"id":53973,"nodeType":"UserDefinedTypeName","pathNode":{"id":53972,"name":"SwapParams","nameLocations":["899:10:75"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"899:10:75"},"referencedDeclaration":4772,"src":"899:10:75","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"visibility":"internal"}],"src":"878:46:75"},"returnParameters":{"id":53976,"nodeType":"ParameterList","parameters":[],"src":"942:0:75"},"scope":54134,"src":"865:159:75","stateMutability":"payable","virtual":false,"visibility":"external"},{"baseFunctions":[56801],"body":{"id":54132,"nodeType":"Block","src":"1110:702:75","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":54006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54000,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1128:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":54001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1132:6:75","memberName":"sender","nodeType":"MemberAccess","src":"1128:10:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":54004,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1150:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":54003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1142:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54002,"name":"address","nodeType":"ElementaryTypeName","src":"1142:7:75","typeDescriptions":{}}},"id":54005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1142:16:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1128:30:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53999,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1120:7:75","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":54007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1120:39:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54008,"nodeType":"ExpressionStatement","src":"1120:39:75"},{"assignments":[54011],"declarations":[{"constant":false,"id":54011,"mutability":"mutable","name":"data","nameLocation":"1190:4:75","nodeType":"VariableDeclaration","scope":54132,"src":"1170:24:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData"},"typeName":{"id":54010,"nodeType":"UserDefinedTypeName","pathNode":{"id":54009,"name":"CallbackData","nameLocations":["1170:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":53968,"src":"1170:12:75"},"referencedDeclaration":53968,"src":"1170:12:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_storage_ptr","typeString":"struct SwapRouterNoChecks.CallbackData"}},"visibility":"internal"}],"id":54018,"initialValue":{"arguments":[{"id":54014,"name":"rawData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53994,"src":"1208:7:75","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":54015,"name":"CallbackData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53968,"src":"1218:12:75","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53968_storage_ptr_$","typeString":"type(struct SwapRouterNoChecks.CallbackData storage pointer)"}}],"id":54016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1217:14:75","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53968_storage_ptr_$","typeString":"type(struct SwapRouterNoChecks.CallbackData storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_CallbackData_$53968_storage_ptr_$","typeString":"type(struct SwapRouterNoChecks.CallbackData storage pointer)"}],"expression":{"id":54012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1197:3:75","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1201:6:75","memberName":"decode","nodeType":"MemberAccess","src":"1197:10:75","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":54017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1197:35:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"nodeType":"VariableDeclarationStatement","src":"1170:62:75"},{"assignments":[54021],"declarations":[{"constant":false,"id":54021,"mutability":"mutable","name":"delta","nameLocation":"1256:5:75","nodeType":"VariableDeclaration","scope":54132,"src":"1243:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":54020,"nodeType":"UserDefinedTypeName","pathNode":{"id":54019,"name":"BalanceDelta","nameLocations":["1243:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1243:12:75"},"referencedDeclaration":4233,"src":"1243:12:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":54033,"initialValue":{"arguments":[{"expression":{"id":54024,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1277:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1282:3:75","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53964,"src":"1277:8:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"expression":{"id":54026,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1287:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1292:6:75","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"1287:11:75","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"arguments":[{"hexValue":"30","id":54030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1310:1:75","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":54029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1300:9:75","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":54028,"name":"bytes","nodeType":"ElementaryTypeName","src":"1304:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":54031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1300:12:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":54022,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1264:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":54023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1272:4:75","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":1676,"src":"1264:12:75","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct SwapParams memory,bytes memory) external returns (BalanceDelta)"}},"id":54032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1264:49:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"1243:70:75"},{"condition":{"expression":{"expression":{"id":54034,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1328:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1333:6:75","memberName":"params","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"1328:11:75","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"id":54036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1340:10:75","memberName":"zeroForOne","nodeType":"MemberAccess","referencedDeclaration":4765,"src":"1328:22:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":54128,"nodeType":"Block","src":"1572:214:75","statements":[{"expression":{"arguments":[{"id":54090,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1612:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":54091,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1621:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1626:6:75","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53961,"src":"1621:11:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":54100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1649:16:75","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54097,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54021,"src":"1650:5:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":54098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:7:75","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"1650:13:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":54099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1650:15:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":54096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1642:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":54095,"name":"int256","nodeType":"ElementaryTypeName","src":"1642:6:75","typeDescriptions":{}}},"id":54101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1642:24:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":54094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1634:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54093,"name":"uint256","nodeType":"ElementaryTypeName","src":"1634:7:75","typeDescriptions":{}}},"id":54102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:33:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":54103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1669:5:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":54083,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1586:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1591:3:75","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53964,"src":"1586:8:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":54088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1595:9:75","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"1586:18:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":54089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:6:75","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"1586:25:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":54104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1586:89:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54105,"nodeType":"ExpressionStatement","src":"1586:89:75"},{"expression":{"arguments":[{"id":54113,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1713:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":54114,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1722:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1727:6:75","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53961,"src":"1722:11:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54120,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54021,"src":"1750:5:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":54121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1756:7:75","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"1750:13:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":54122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1750:15:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":54119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1743:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":54118,"name":"int256","nodeType":"ElementaryTypeName","src":"1743:6:75","typeDescriptions":{}}},"id":54123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1743:23:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":54117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1735:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1735:7:75","typeDescriptions":{}}},"id":54124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1735:32:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":54125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1769:5:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":54106,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1689:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1694:3:75","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53964,"src":"1689:8:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":54111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1698:9:75","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"1689:18:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":54112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1708:4:75","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"1689:23:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":54126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1689:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54127,"nodeType":"ExpressionStatement","src":"1689:86:75"}]},"id":54129,"nodeType":"IfStatement","src":"1324:462:75","trueBody":{"id":54082,"nodeType":"Block","src":"1352:214:75","statements":[{"expression":{"arguments":[{"id":54044,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1392:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":54045,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1401:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1406:6:75","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53961,"src":"1401:11:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"id":54054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1429:16:75","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54051,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54021,"src":"1430:5:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":54052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1436:7:75","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"1430:13:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":54053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:15:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":54050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1422:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":54049,"name":"int256","nodeType":"ElementaryTypeName","src":"1422:6:75","typeDescriptions":{}}},"id":54055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:24:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":54048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1414:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54047,"name":"uint256","nodeType":"ElementaryTypeName","src":"1414:7:75","typeDescriptions":{}}},"id":54056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:33:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":54057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1449:5:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":54037,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1366:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1371:3:75","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53964,"src":"1366:8:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":54042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1375:9:75","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"1366:18:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":54043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1385:6:75","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":49140,"src":"1366:25:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":54058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1366:89:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54059,"nodeType":"ExpressionStatement","src":"1366:89:75"},{"expression":{"arguments":[{"id":54067,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48985,"src":"1493:7:75","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},{"expression":{"id":54068,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1502:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1507:6:75","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":53961,"src":"1502:11:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54074,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54021,"src":"1530:5:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":54075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1536:7:75","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"1530:13:75","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":54076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1530:15:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"}],"id":54073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1523:6:75","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":54072,"name":"int256","nodeType":"ElementaryTypeName","src":"1523:6:75","typeDescriptions":{}}},"id":54077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1523:23:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":54071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1515:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":54070,"name":"uint256","nodeType":"ElementaryTypeName","src":"1515:7:75","typeDescriptions":{}}},"id":54078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:32:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":54079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1549:5:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"expression":{"expression":{"id":54060,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54011,"src":"1469:4:75","typeDescriptions":{"typeIdentifier":"t_struct$_CallbackData_$53968_memory_ptr","typeString":"struct SwapRouterNoChecks.CallbackData memory"}},"id":54064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1474:3:75","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":53964,"src":"1469:8:75","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":54065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1478:9:75","memberName":"currency1","nodeType":"MemberAccess","referencedDeclaration":4734,"src":"1469:18:75","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":54066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1488:4:75","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":49174,"src":"1469:23:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IPoolManager_$1763_$_t_address_$_t_uint256_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency,contract IPoolManager,address,uint256,bool)"}},"id":54080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1469:86:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54081,"nodeType":"ExpressionStatement","src":"1469:86:75"}]}},{"expression":{"hexValue":"","id":54130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1803:2:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":53998,"id":54131,"nodeType":"Return","src":"1796:9:75"}]},"functionSelector":"91dd7346","id":54133,"implemented":true,"kind":"function","modifiers":[],"name":"unlockCallback","nameLocation":"1039:14:75","nodeType":"FunctionDefinition","parameters":{"id":53995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53994,"mutability":"mutable","name":"rawData","nameLocation":"1069:7:75","nodeType":"VariableDeclaration","scope":54133,"src":"1054:22:75","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":53993,"name":"bytes","nodeType":"ElementaryTypeName","src":"1054:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1053:24:75"},"returnParameters":{"id":53998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54133,"src":"1096:12:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53996,"name":"bytes","nodeType":"ElementaryTypeName","src":"1096:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1095:14:75"},"scope":54134,"src":"1030:782:75","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":54135,"src":"546:1268:75","usedErrors":[53959],"usedEvents":[]}],"src":"39:1776:75"},"id":75},"v4-core/src/types/BalanceDelta.sol":{"ast":{"absolutePath":"v4-core/src/types/BalanceDelta.sol","exportedSymbols":{"BalanceDelta":[4233],"BalanceDeltaLibrary":[4391],"SafeCast":[47298],"add":[4288],"eq":[4339],"neq":[4361],"sub":[4317],"toBalanceDelta":[4259]},"id":4392,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4229,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:76"},{"absolutePath":"v4-core/src/libraries/SafeCast.sol","file":"../libraries/SafeCast.sol","id":4231,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4392,"sourceUnit":47299,"src":"57:51:76","symbolAliases":[{"foreign":{"id":4230,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47298,"src":"65:8:76","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"BalanceDelta","id":4233,"name":"BalanceDelta","nameLocation":"271:12:76","nodeType":"UserDefinedValueTypeDefinition","src":"266:28:76","underlyingType":{"id":4232,"name":"int256","nodeType":"ElementaryTypeName","src":"287:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}},{"functionList":[{"definition":{"id":4234,"name":"add","nameLocations":["303:3:76"],"nodeType":"IdentifierPath","referencedDeclaration":4288,"src":"303:3:76"},"operator":"+"},{"definition":{"id":4235,"name":"sub","nameLocations":["313:3:76"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"313:3:76"},"operator":"-"},{"definition":{"id":4236,"name":"eq","nameLocations":["323:2:76"],"nodeType":"IdentifierPath","referencedDeclaration":4339,"src":"323:2:76"},"operator":"=="},{"definition":{"id":4237,"name":"neq","nameLocations":["333:3:76"],"nodeType":"IdentifierPath","referencedDeclaration":4361,"src":"333:3:76"},"operator":"!="}],"global":true,"id":4240,"nodeType":"UsingForDirective","src":"296:72:76","typeName":{"id":4239,"nodeType":"UserDefinedTypeName","pathNode":{"id":4238,"name":"BalanceDelta","nameLocations":["348:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"348:12:76"},"referencedDeclaration":4233,"src":"348:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}},{"global":true,"id":4244,"libraryName":{"id":4241,"name":"BalanceDeltaLibrary","nameLocations":["375:19:76"],"nodeType":"IdentifierPath","referencedDeclaration":4391,"src":"375:19:76"},"nodeType":"UsingForDirective","src":"369:50:76","typeName":{"id":4243,"nodeType":"UserDefinedTypeName","pathNode":{"id":4242,"name":"BalanceDelta","nameLocations":["399:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"399:12:76"},"referencedDeclaration":4233,"src":"399:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}},{"global":false,"id":4247,"libraryName":{"id":4245,"name":"SafeCast","nameLocations":["426:8:76"],"nodeType":"IdentifierPath","referencedDeclaration":47298,"src":"426:8:76"},"nodeType":"UsingForDirective","src":"420:26:76","typeName":{"id":4246,"name":"int256","nodeType":"ElementaryTypeName","src":"439:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}},{"body":{"id":4258,"nodeType":"Block","src":"547:123:76","statements":[{"AST":{"nativeSrc":"578:90:76","nodeType":"YulBlock","src":"578:90:76","statements":[{"nativeSrc":"588:74:76","nodeType":"YulAssignment","src":"588:74:76","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"611:3:76","nodeType":"YulLiteral","src":"611:3:76","type":"","value":"128"},{"name":"_amount0","nativeSrc":"616:8:76","nodeType":"YulIdentifier","src":"616:8:76"}],"functionName":{"name":"shl","nativeSrc":"607:3:76","nodeType":"YulIdentifier","src":"607:3:76"},"nativeSrc":"607:18:76","nodeType":"YulFunctionCall","src":"607:18:76"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"639:3:76","nodeType":"YulLiteral","src":"639:3:76","type":"","value":"128"},{"kind":"number","nativeSrc":"644:1:76","nodeType":"YulLiteral","src":"644:1:76","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"635:3:76","nodeType":"YulIdentifier","src":"635:3:76"},"nativeSrc":"635:11:76","nodeType":"YulFunctionCall","src":"635:11:76"},{"kind":"number","nativeSrc":"648:1:76","nodeType":"YulLiteral","src":"648:1:76","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"631:3:76","nodeType":"YulIdentifier","src":"631:3:76"},"nativeSrc":"631:19:76","nodeType":"YulFunctionCall","src":"631:19:76"},{"name":"_amount1","nativeSrc":"652:8:76","nodeType":"YulIdentifier","src":"652:8:76"}],"functionName":{"name":"and","nativeSrc":"627:3:76","nodeType":"YulIdentifier","src":"627:3:76"},"nativeSrc":"627:34:76","nodeType":"YulFunctionCall","src":"627:34:76"}],"functionName":{"name":"or","nativeSrc":"604:2:76","nodeType":"YulIdentifier","src":"604:2:76"},"nativeSrc":"604:58:76","nodeType":"YulFunctionCall","src":"604:58:76"},"variableNames":[{"name":"balanceDelta","nativeSrc":"588:12:76","nodeType":"YulIdentifier","src":"588:12:76"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4249,"isOffset":false,"isSlot":false,"src":"616:8:76","valueSize":1},{"declaration":4251,"isOffset":false,"isSlot":false,"src":"652:8:76","valueSize":1},{"declaration":4255,"isOffset":false,"isSlot":false,"src":"588:12:76","valueSize":1}],"flags":["memory-safe"],"id":4257,"nodeType":"InlineAssembly","src":"553:115:76"}]},"id":4259,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toBalanceDelta","nameLocation":"457:14:76","nodeType":"FunctionDefinition","parameters":{"id":4252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4249,"mutability":"mutable","name":"_amount0","nameLocation":"479:8:76","nodeType":"VariableDeclaration","scope":4259,"src":"472:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":4248,"name":"int128","nodeType":"ElementaryTypeName","src":"472:6:76","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":4251,"mutability":"mutable","name":"_amount1","nameLocation":"496:8:76","nodeType":"VariableDeclaration","scope":4259,"src":"489:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":4250,"name":"int128","nodeType":"ElementaryTypeName","src":"489:6:76","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"471:34:76"},"returnParameters":{"id":4256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4255,"mutability":"mutable","name":"balanceDelta","nameLocation":"533:12:76","nodeType":"VariableDeclaration","scope":4259,"src":"520:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4254,"nodeType":"UserDefinedTypeName","pathNode":{"id":4253,"name":"BalanceDelta","nameLocations":["520:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"520:12:76"},"referencedDeclaration":4233,"src":"520:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"519:27:76"},"scope":4392,"src":"448:222:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4287,"nodeType":"Block","src":"745:323:76","statements":[{"assignments":[4272],"declarations":[{"constant":false,"id":4272,"mutability":"mutable","name":"res0","nameLocation":"758:4:76","nodeType":"VariableDeclaration","scope":4287,"src":"751:11:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4271,"name":"int256","nodeType":"ElementaryTypeName","src":"751:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4273,"nodeType":"VariableDeclarationStatement","src":"751:11:76"},{"assignments":[4275],"declarations":[{"constant":false,"id":4275,"mutability":"mutable","name":"res1","nameLocation":"775:4:76","nodeType":"VariableDeclaration","scope":4287,"src":"768:11:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4274,"name":"int256","nodeType":"ElementaryTypeName","src":"768:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4276,"nodeType":"VariableDeclarationStatement","src":"768:11:76"},{"AST":{"nativeSrc":"810:195:76","nodeType":"YulBlock","src":"810:195:76","statements":[{"nativeSrc":"820:21:76","nodeType":"YulVariableDeclaration","src":"820:21:76","value":{"arguments":[{"kind":"number","nativeSrc":"834:3:76","nodeType":"YulLiteral","src":"834:3:76","type":"","value":"128"},{"name":"a","nativeSrc":"839:1:76","nodeType":"YulIdentifier","src":"839:1:76"}],"functionName":{"name":"sar","nativeSrc":"830:3:76","nodeType":"YulIdentifier","src":"830:3:76"},"nativeSrc":"830:11:76","nodeType":"YulFunctionCall","src":"830:11:76"},"variables":[{"name":"a0","nativeSrc":"824:2:76","nodeType":"YulTypedName","src":"824:2:76","type":""}]},{"nativeSrc":"850:27:76","nodeType":"YulVariableDeclaration","src":"850:27:76","value":{"arguments":[{"kind":"number","nativeSrc":"871:2:76","nodeType":"YulLiteral","src":"871:2:76","type":"","value":"15"},{"name":"a","nativeSrc":"875:1:76","nodeType":"YulIdentifier","src":"875:1:76"}],"functionName":{"name":"signextend","nativeSrc":"860:10:76","nodeType":"YulIdentifier","src":"860:10:76"},"nativeSrc":"860:17:76","nodeType":"YulFunctionCall","src":"860:17:76"},"variables":[{"name":"a1","nativeSrc":"854:2:76","nodeType":"YulTypedName","src":"854:2:76","type":""}]},{"nativeSrc":"886:21:76","nodeType":"YulVariableDeclaration","src":"886:21:76","value":{"arguments":[{"kind":"number","nativeSrc":"900:3:76","nodeType":"YulLiteral","src":"900:3:76","type":"","value":"128"},{"name":"b","nativeSrc":"905:1:76","nodeType":"YulIdentifier","src":"905:1:76"}],"functionName":{"name":"sar","nativeSrc":"896:3:76","nodeType":"YulIdentifier","src":"896:3:76"},"nativeSrc":"896:11:76","nodeType":"YulFunctionCall","src":"896:11:76"},"variables":[{"name":"b0","nativeSrc":"890:2:76","nodeType":"YulTypedName","src":"890:2:76","type":""}]},{"nativeSrc":"916:27:76","nodeType":"YulVariableDeclaration","src":"916:27:76","value":{"arguments":[{"kind":"number","nativeSrc":"937:2:76","nodeType":"YulLiteral","src":"937:2:76","type":"","value":"15"},{"name":"b","nativeSrc":"941:1:76","nodeType":"YulIdentifier","src":"941:1:76"}],"functionName":{"name":"signextend","nativeSrc":"926:10:76","nodeType":"YulIdentifier","src":"926:10:76"},"nativeSrc":"926:17:76","nodeType":"YulFunctionCall","src":"926:17:76"},"variables":[{"name":"b1","nativeSrc":"920:2:76","nodeType":"YulTypedName","src":"920:2:76","type":""}]},{"nativeSrc":"952:19:76","nodeType":"YulAssignment","src":"952:19:76","value":{"arguments":[{"name":"a0","nativeSrc":"964:2:76","nodeType":"YulIdentifier","src":"964:2:76"},{"name":"b0","nativeSrc":"968:2:76","nodeType":"YulIdentifier","src":"968:2:76"}],"functionName":{"name":"add","nativeSrc":"960:3:76","nodeType":"YulIdentifier","src":"960:3:76"},"nativeSrc":"960:11:76","nodeType":"YulFunctionCall","src":"960:11:76"},"variableNames":[{"name":"res0","nativeSrc":"952:4:76","nodeType":"YulIdentifier","src":"952:4:76"}]},{"nativeSrc":"980:19:76","nodeType":"YulAssignment","src":"980:19:76","value":{"arguments":[{"name":"a1","nativeSrc":"992:2:76","nodeType":"YulIdentifier","src":"992:2:76"},{"name":"b1","nativeSrc":"996:2:76","nodeType":"YulIdentifier","src":"996:2:76"}],"functionName":{"name":"add","nativeSrc":"988:3:76","nodeType":"YulIdentifier","src":"988:3:76"},"nativeSrc":"988:11:76","nodeType":"YulFunctionCall","src":"988:11:76"},"variableNames":[{"name":"res1","nativeSrc":"980:4:76","nodeType":"YulIdentifier","src":"980:4:76"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4262,"isOffset":false,"isSlot":false,"src":"839:1:76","valueSize":1},{"declaration":4262,"isOffset":false,"isSlot":false,"src":"875:1:76","valueSize":1},{"declaration":4265,"isOffset":false,"isSlot":false,"src":"905:1:76","valueSize":1},{"declaration":4265,"isOffset":false,"isSlot":false,"src":"941:1:76","valueSize":1},{"declaration":4272,"isOffset":false,"isSlot":false,"src":"952:4:76","valueSize":1},{"declaration":4275,"isOffset":false,"isSlot":false,"src":"980:4:76","valueSize":1}],"flags":["memory-safe"],"id":4277,"nodeType":"InlineAssembly","src":"785:220:76"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4279,"name":"res0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4272,"src":"1032:4:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":4280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1037:8:76","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"1032:13:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":4281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1032:15:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4282,"name":"res1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4275,"src":"1049:4:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":4283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1054:8:76","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"1049:13:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":4284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1049:15:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":4278,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"1017:14:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":4285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1017:48:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"functionReturnParameters":4270,"id":4286,"nodeType":"Return","src":"1010:55:76"}]},"id":4288,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"add","nameLocation":"681:3:76","nodeType":"FunctionDefinition","parameters":{"id":4266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4262,"mutability":"mutable","name":"a","nameLocation":"698:1:76","nodeType":"VariableDeclaration","scope":4288,"src":"685:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4261,"nodeType":"UserDefinedTypeName","pathNode":{"id":4260,"name":"BalanceDelta","nameLocations":["685:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"685:12:76"},"referencedDeclaration":4233,"src":"685:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":4265,"mutability":"mutable","name":"b","nameLocation":"714:1:76","nodeType":"VariableDeclaration","scope":4288,"src":"701:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4264,"nodeType":"UserDefinedTypeName","pathNode":{"id":4263,"name":"BalanceDelta","nameLocations":["701:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"701:12:76"},"referencedDeclaration":4233,"src":"701:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"684:32:76"},"returnParameters":{"id":4270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4288,"src":"731:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4268,"nodeType":"UserDefinedTypeName","pathNode":{"id":4267,"name":"BalanceDelta","nameLocations":["731:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"731:12:76"},"referencedDeclaration":4233,"src":"731:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"730:14:76"},"scope":4392,"src":"672:396:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4316,"nodeType":"Block","src":"1143:323:76","statements":[{"assignments":[4301],"declarations":[{"constant":false,"id":4301,"mutability":"mutable","name":"res0","nameLocation":"1156:4:76","nodeType":"VariableDeclaration","scope":4316,"src":"1149:11:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4300,"name":"int256","nodeType":"ElementaryTypeName","src":"1149:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4302,"nodeType":"VariableDeclarationStatement","src":"1149:11:76"},{"assignments":[4304],"declarations":[{"constant":false,"id":4304,"mutability":"mutable","name":"res1","nameLocation":"1173:4:76","nodeType":"VariableDeclaration","scope":4316,"src":"1166:11:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4303,"name":"int256","nodeType":"ElementaryTypeName","src":"1166:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":4305,"nodeType":"VariableDeclarationStatement","src":"1166:11:76"},{"AST":{"nativeSrc":"1208:195:76","nodeType":"YulBlock","src":"1208:195:76","statements":[{"nativeSrc":"1218:21:76","nodeType":"YulVariableDeclaration","src":"1218:21:76","value":{"arguments":[{"kind":"number","nativeSrc":"1232:3:76","nodeType":"YulLiteral","src":"1232:3:76","type":"","value":"128"},{"name":"a","nativeSrc":"1237:1:76","nodeType":"YulIdentifier","src":"1237:1:76"}],"functionName":{"name":"sar","nativeSrc":"1228:3:76","nodeType":"YulIdentifier","src":"1228:3:76"},"nativeSrc":"1228:11:76","nodeType":"YulFunctionCall","src":"1228:11:76"},"variables":[{"name":"a0","nativeSrc":"1222:2:76","nodeType":"YulTypedName","src":"1222:2:76","type":""}]},{"nativeSrc":"1248:27:76","nodeType":"YulVariableDeclaration","src":"1248:27:76","value":{"arguments":[{"kind":"number","nativeSrc":"1269:2:76","nodeType":"YulLiteral","src":"1269:2:76","type":"","value":"15"},{"name":"a","nativeSrc":"1273:1:76","nodeType":"YulIdentifier","src":"1273:1:76"}],"functionName":{"name":"signextend","nativeSrc":"1258:10:76","nodeType":"YulIdentifier","src":"1258:10:76"},"nativeSrc":"1258:17:76","nodeType":"YulFunctionCall","src":"1258:17:76"},"variables":[{"name":"a1","nativeSrc":"1252:2:76","nodeType":"YulTypedName","src":"1252:2:76","type":""}]},{"nativeSrc":"1284:21:76","nodeType":"YulVariableDeclaration","src":"1284:21:76","value":{"arguments":[{"kind":"number","nativeSrc":"1298:3:76","nodeType":"YulLiteral","src":"1298:3:76","type":"","value":"128"},{"name":"b","nativeSrc":"1303:1:76","nodeType":"YulIdentifier","src":"1303:1:76"}],"functionName":{"name":"sar","nativeSrc":"1294:3:76","nodeType":"YulIdentifier","src":"1294:3:76"},"nativeSrc":"1294:11:76","nodeType":"YulFunctionCall","src":"1294:11:76"},"variables":[{"name":"b0","nativeSrc":"1288:2:76","nodeType":"YulTypedName","src":"1288:2:76","type":""}]},{"nativeSrc":"1314:27:76","nodeType":"YulVariableDeclaration","src":"1314:27:76","value":{"arguments":[{"kind":"number","nativeSrc":"1335:2:76","nodeType":"YulLiteral","src":"1335:2:76","type":"","value":"15"},{"name":"b","nativeSrc":"1339:1:76","nodeType":"YulIdentifier","src":"1339:1:76"}],"functionName":{"name":"signextend","nativeSrc":"1324:10:76","nodeType":"YulIdentifier","src":"1324:10:76"},"nativeSrc":"1324:17:76","nodeType":"YulFunctionCall","src":"1324:17:76"},"variables":[{"name":"b1","nativeSrc":"1318:2:76","nodeType":"YulTypedName","src":"1318:2:76","type":""}]},{"nativeSrc":"1350:19:76","nodeType":"YulAssignment","src":"1350:19:76","value":{"arguments":[{"name":"a0","nativeSrc":"1362:2:76","nodeType":"YulIdentifier","src":"1362:2:76"},{"name":"b0","nativeSrc":"1366:2:76","nodeType":"YulIdentifier","src":"1366:2:76"}],"functionName":{"name":"sub","nativeSrc":"1358:3:76","nodeType":"YulIdentifier","src":"1358:3:76"},"nativeSrc":"1358:11:76","nodeType":"YulFunctionCall","src":"1358:11:76"},"variableNames":[{"name":"res0","nativeSrc":"1350:4:76","nodeType":"YulIdentifier","src":"1350:4:76"}]},{"nativeSrc":"1378:19:76","nodeType":"YulAssignment","src":"1378:19:76","value":{"arguments":[{"name":"a1","nativeSrc":"1390:2:76","nodeType":"YulIdentifier","src":"1390:2:76"},{"name":"b1","nativeSrc":"1394:2:76","nodeType":"YulIdentifier","src":"1394:2:76"}],"functionName":{"name":"sub","nativeSrc":"1386:3:76","nodeType":"YulIdentifier","src":"1386:3:76"},"nativeSrc":"1386:11:76","nodeType":"YulFunctionCall","src":"1386:11:76"},"variableNames":[{"name":"res1","nativeSrc":"1378:4:76","nodeType":"YulIdentifier","src":"1378:4:76"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4291,"isOffset":false,"isSlot":false,"src":"1237:1:76","valueSize":1},{"declaration":4291,"isOffset":false,"isSlot":false,"src":"1273:1:76","valueSize":1},{"declaration":4294,"isOffset":false,"isSlot":false,"src":"1303:1:76","valueSize":1},{"declaration":4294,"isOffset":false,"isSlot":false,"src":"1339:1:76","valueSize":1},{"declaration":4301,"isOffset":false,"isSlot":false,"src":"1350:4:76","valueSize":1},{"declaration":4304,"isOffset":false,"isSlot":false,"src":"1378:4:76","valueSize":1}],"flags":["memory-safe"],"id":4306,"nodeType":"InlineAssembly","src":"1183:220:76"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4308,"name":"res0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4301,"src":"1430:4:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":4309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:8:76","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"1430:13:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":4310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:15:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4311,"name":"res1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4304,"src":"1447:4:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":4312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1452:8:76","memberName":"toInt128","nodeType":"MemberAccess","referencedDeclaration":47240,"src":"1447:13:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_int128_$attached_to$_t_int256_$","typeString":"function (int256) pure returns (int128)"}},"id":4313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1447:15:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"}],"id":4307,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"1415:14:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int128,int128) pure returns (BalanceDelta)"}},"id":4314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1415:48:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"functionReturnParameters":4299,"id":4315,"nodeType":"Return","src":"1408:55:76"}]},"id":4317,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"sub","nameLocation":"1079:3:76","nodeType":"FunctionDefinition","parameters":{"id":4295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4291,"mutability":"mutable","name":"a","nameLocation":"1096:1:76","nodeType":"VariableDeclaration","scope":4317,"src":"1083:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4290,"nodeType":"UserDefinedTypeName","pathNode":{"id":4289,"name":"BalanceDelta","nameLocations":["1083:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1083:12:76"},"referencedDeclaration":4233,"src":"1083:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":4294,"mutability":"mutable","name":"b","nameLocation":"1112:1:76","nodeType":"VariableDeclaration","scope":4317,"src":"1099:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4293,"nodeType":"UserDefinedTypeName","pathNode":{"id":4292,"name":"BalanceDelta","nameLocations":["1099:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1099:12:76"},"referencedDeclaration":4233,"src":"1099:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1082:32:76"},"returnParameters":{"id":4299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4317,"src":"1129:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4297,"nodeType":"UserDefinedTypeName","pathNode":{"id":4296,"name":"BalanceDelta","nameLocations":["1129:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1129:12:76"},"referencedDeclaration":4233,"src":"1129:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1128:14:76"},"scope":4392,"src":"1070:396:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4338,"nodeType":"Block","src":"1532:64:76","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4330,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4320,"src":"1565:1:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":4328,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1545:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":4329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1558:6:76","memberName":"unwrap","nodeType":"MemberAccess","src":"1545:19:76","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int256_$","typeString":"function (BalanceDelta) pure returns (int256)"}},"id":4331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:22:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":4334,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4323,"src":"1591:1:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":4332,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1571:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":4333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1584:6:76","memberName":"unwrap","nodeType":"MemberAccess","src":"1571:19:76","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int256_$","typeString":"function (BalanceDelta) pure returns (int256)"}},"id":4335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1571:22:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1545:48:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4327,"id":4337,"nodeType":"Return","src":"1538:55:76"}]},"id":4339,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"eq","nameLocation":"1477:2:76","nodeType":"FunctionDefinition","parameters":{"id":4324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4320,"mutability":"mutable","name":"a","nameLocation":"1493:1:76","nodeType":"VariableDeclaration","scope":4339,"src":"1480:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4319,"nodeType":"UserDefinedTypeName","pathNode":{"id":4318,"name":"BalanceDelta","nameLocations":["1480:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1480:12:76"},"referencedDeclaration":4233,"src":"1480:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":4323,"mutability":"mutable","name":"b","nameLocation":"1509:1:76","nodeType":"VariableDeclaration","scope":4339,"src":"1496:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4322,"nodeType":"UserDefinedTypeName","pathNode":{"id":4321,"name":"BalanceDelta","nameLocations":["1496:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1496:12:76"},"referencedDeclaration":4233,"src":"1496:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1479:32:76"},"returnParameters":{"id":4327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4339,"src":"1526:4:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4325,"name":"bool","nodeType":"ElementaryTypeName","src":"1526:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1525:6:76"},"scope":4392,"src":"1468:128:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4360,"nodeType":"Block","src":"1663:64:76","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4352,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4342,"src":"1696:1:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":4350,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1676:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":4351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1689:6:76","memberName":"unwrap","nodeType":"MemberAccess","src":"1676:19:76","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int256_$","typeString":"function (BalanceDelta) pure returns (int256)"}},"id":4353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1676:22:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":4356,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4345,"src":"1722:1:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}],"expression":{"id":4354,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1702:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":4355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1715:6:76","memberName":"unwrap","nodeType":"MemberAccess","src":"1702:19:76","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int256_$","typeString":"function (BalanceDelta) pure returns (int256)"}},"id":4357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1702:22:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1676:48:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4349,"id":4359,"nodeType":"Return","src":"1669:55:76"}]},"id":4361,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"neq","nameLocation":"1607:3:76","nodeType":"FunctionDefinition","parameters":{"id":4346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4342,"mutability":"mutable","name":"a","nameLocation":"1624:1:76","nodeType":"VariableDeclaration","scope":4361,"src":"1611:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4341,"nodeType":"UserDefinedTypeName","pathNode":{"id":4340,"name":"BalanceDelta","nameLocations":["1611:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1611:12:76"},"referencedDeclaration":4233,"src":"1611:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"},{"constant":false,"id":4345,"mutability":"mutable","name":"b","nameLocation":"1640:1:76","nodeType":"VariableDeclaration","scope":4361,"src":"1627:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4344,"nodeType":"UserDefinedTypeName","pathNode":{"id":4343,"name":"BalanceDelta","nameLocations":["1627:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1627:12:76"},"referencedDeclaration":4233,"src":"1627:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1610:32:76"},"returnParameters":{"id":4349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4361,"src":"1657:4:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4347,"name":"bool","nodeType":"ElementaryTypeName","src":"1657:4:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1656:6:76"},"scope":4392,"src":"1598:129:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"abstract":false,"baseContracts":[],"canonicalName":"BalanceDeltaLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":4362,"nodeType":"StructuredDocumentation","src":"1729:90:76","text":"@notice Library for getting the amount0 and amount1 deltas from the BalanceDelta type"},"fullyImplemented":true,"id":4391,"linearizedBaseContracts":[4391],"name":"BalanceDeltaLibrary","nameLocation":"1827:19:76","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":4363,"nodeType":"StructuredDocumentation","src":"1853:31:76","text":"@notice A BalanceDelta of 0"},"functionSelector":"91cb4669","id":4370,"mutability":"constant","name":"ZERO_DELTA","nameLocation":"1918:10:76","nodeType":"VariableDeclaration","scope":4391,"src":"1889:62:76","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4365,"nodeType":"UserDefinedTypeName","pathNode":{"id":4364,"name":"BalanceDelta","nameLocations":["1889:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1889:12:76"},"referencedDeclaration":4233,"src":"1889:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"value":{"arguments":[{"hexValue":"30","id":4368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1949:1:76","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":4366,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"1931:12:76","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"type(BalanceDelta)"}},"id":4367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1944:4:76","memberName":"wrap","nodeType":"MemberAccess","src":"1931:17:76","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_int256_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (int256) pure returns (BalanceDelta)"}},"id":4369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1931:20:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"public"},{"body":{"id":4379,"nodeType":"Block","src":"2042:99:76","statements":[{"AST":{"nativeSrc":"2077:58:76","nodeType":"YulBlock","src":"2077:58:76","statements":[{"nativeSrc":"2091:34:76","nodeType":"YulAssignment","src":"2091:34:76","value":{"arguments":[{"kind":"number","nativeSrc":"2107:3:76","nodeType":"YulLiteral","src":"2107:3:76","type":"","value":"128"},{"name":"balanceDelta","nativeSrc":"2112:12:76","nodeType":"YulIdentifier","src":"2112:12:76"}],"functionName":{"name":"sar","nativeSrc":"2103:3:76","nodeType":"YulIdentifier","src":"2103:3:76"},"nativeSrc":"2103:22:76","nodeType":"YulFunctionCall","src":"2103:22:76"},"variableNames":[{"name":"_amount0","nativeSrc":"2091:8:76","nodeType":"YulIdentifier","src":"2091:8:76"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4376,"isOffset":false,"isSlot":false,"src":"2091:8:76","valueSize":1},{"declaration":4373,"isOffset":false,"isSlot":false,"src":"2112:12:76","valueSize":1}],"flags":["memory-safe"],"id":4378,"nodeType":"InlineAssembly","src":"2052:83:76"}]},"id":4380,"implemented":true,"kind":"function","modifiers":[],"name":"amount0","nameLocation":"1967:7:76","nodeType":"FunctionDefinition","parameters":{"id":4374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4373,"mutability":"mutable","name":"balanceDelta","nameLocation":"1988:12:76","nodeType":"VariableDeclaration","scope":4380,"src":"1975:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4372,"nodeType":"UserDefinedTypeName","pathNode":{"id":4371,"name":"BalanceDelta","nameLocations":["1975:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"1975:12:76"},"referencedDeclaration":4233,"src":"1975:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"1974:27:76"},"returnParameters":{"id":4377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4376,"mutability":"mutable","name":"_amount0","nameLocation":"2032:8:76","nodeType":"VariableDeclaration","scope":4380,"src":"2025:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":4375,"name":"int128","nodeType":"ElementaryTypeName","src":"2025:6:76","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"2024:17:76"},"scope":4391,"src":"1958:183:76","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4389,"nodeType":"Block","src":"2231:105:76","statements":[{"AST":{"nativeSrc":"2266:64:76","nodeType":"YulBlock","src":"2266:64:76","statements":[{"nativeSrc":"2280:40:76","nodeType":"YulAssignment","src":"2280:40:76","value":{"arguments":[{"kind":"number","nativeSrc":"2303:2:76","nodeType":"YulLiteral","src":"2303:2:76","type":"","value":"15"},{"name":"balanceDelta","nativeSrc":"2307:12:76","nodeType":"YulIdentifier","src":"2307:12:76"}],"functionName":{"name":"signextend","nativeSrc":"2292:10:76","nodeType":"YulIdentifier","src":"2292:10:76"},"nativeSrc":"2292:28:76","nodeType":"YulFunctionCall","src":"2292:28:76"},"variableNames":[{"name":"_amount1","nativeSrc":"2280:8:76","nodeType":"YulIdentifier","src":"2280:8:76"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4386,"isOffset":false,"isSlot":false,"src":"2280:8:76","valueSize":1},{"declaration":4383,"isOffset":false,"isSlot":false,"src":"2307:12:76","valueSize":1}],"flags":["memory-safe"],"id":4388,"nodeType":"InlineAssembly","src":"2241:89:76"}]},"id":4390,"implemented":true,"kind":"function","modifiers":[],"name":"amount1","nameLocation":"2156:7:76","nodeType":"FunctionDefinition","parameters":{"id":4384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4383,"mutability":"mutable","name":"balanceDelta","nameLocation":"2177:12:76","nodeType":"VariableDeclaration","scope":4390,"src":"2164:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":4382,"nodeType":"UserDefinedTypeName","pathNode":{"id":4381,"name":"BalanceDelta","nameLocations":["2164:12:76"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"2164:12:76"},"referencedDeclaration":4233,"src":"2164:12:76","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"2163:27:76"},"returnParameters":{"id":4387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4386,"mutability":"mutable","name":"_amount1","nameLocation":"2221:8:76","nodeType":"VariableDeclaration","scope":4390,"src":"2214:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":4385,"name":"int128","nodeType":"ElementaryTypeName","src":"2214:6:76","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"2213:17:76"},"scope":4391,"src":"2147:189:76","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":4392,"src":"1819:519:76","usedErrors":[],"usedEvents":[]}],"src":"32:2307:76"},"id":76},"v4-core/src/types/BeforeSwapDelta.sol":{"ast":{"absolutePath":"v4-core/src/types/BeforeSwapDelta.sol","exportedSymbols":{"BeforeSwapDelta":[44818],"BeforeSwapDeltaLibrary":[44862],"toBeforeSwapDelta":[44830]},"id":44863,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":44816,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:77"},{"canonicalName":"BeforeSwapDelta","id":44818,"name":"BeforeSwapDelta","nameLocation":"229:15:77","nodeType":"UserDefinedValueTypeDefinition","src":"224:31:77","underlyingType":{"id":44817,"name":"int256","nodeType":"ElementaryTypeName","src":"248:6:77","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}},{"body":{"id":44829,"nodeType":"Block","src":"447:140:77","statements":[{"AST":{"nativeSrc":"478:107:77","nodeType":"YulBlock","src":"478:107:77","statements":[{"nativeSrc":"488:91:77","nodeType":"YulAssignment","src":"488:91:77","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"514:3:77","nodeType":"YulLiteral","src":"514:3:77","type":"","value":"128"},{"name":"deltaSpecified","nativeSrc":"519:14:77","nodeType":"YulIdentifier","src":"519:14:77"}],"functionName":{"name":"shl","nativeSrc":"510:3:77","nodeType":"YulIdentifier","src":"510:3:77"},"nativeSrc":"510:24:77","nodeType":"YulFunctionCall","src":"510:24:77"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"548:3:77","nodeType":"YulLiteral","src":"548:3:77","type":"","value":"128"},{"kind":"number","nativeSrc":"553:1:77","nodeType":"YulLiteral","src":"553:1:77","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"544:3:77","nodeType":"YulIdentifier","src":"544:3:77"},"nativeSrc":"544:11:77","nodeType":"YulFunctionCall","src":"544:11:77"},{"kind":"number","nativeSrc":"557:1:77","nodeType":"YulLiteral","src":"557:1:77","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"540:3:77","nodeType":"YulIdentifier","src":"540:3:77"},"nativeSrc":"540:19:77","nodeType":"YulFunctionCall","src":"540:19:77"},{"name":"deltaUnspecified","nativeSrc":"561:16:77","nodeType":"YulIdentifier","src":"561:16:77"}],"functionName":{"name":"and","nativeSrc":"536:3:77","nodeType":"YulIdentifier","src":"536:3:77"},"nativeSrc":"536:42:77","nodeType":"YulFunctionCall","src":"536:42:77"}],"functionName":{"name":"or","nativeSrc":"507:2:77","nodeType":"YulIdentifier","src":"507:2:77"},"nativeSrc":"507:72:77","nodeType":"YulFunctionCall","src":"507:72:77"},"variableNames":[{"name":"beforeSwapDelta","nativeSrc":"488:15:77","nodeType":"YulIdentifier","src":"488:15:77"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44826,"isOffset":false,"isSlot":false,"src":"488:15:77","valueSize":1},{"declaration":44820,"isOffset":false,"isSlot":false,"src":"519:14:77","valueSize":1},{"declaration":44822,"isOffset":false,"isSlot":false,"src":"561:16:77","valueSize":1}],"flags":["memory-safe"],"id":44828,"nodeType":"InlineAssembly","src":"453:132:77"}]},"id":44830,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"toBeforeSwapDelta","nameLocation":"326:17:77","nodeType":"FunctionDefinition","parameters":{"id":44823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44820,"mutability":"mutable","name":"deltaSpecified","nameLocation":"351:14:77","nodeType":"VariableDeclaration","scope":44830,"src":"344:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":44819,"name":"int128","nodeType":"ElementaryTypeName","src":"344:6:77","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":44822,"mutability":"mutable","name":"deltaUnspecified","nameLocation":"374:16:77","nodeType":"VariableDeclaration","scope":44830,"src":"367:23:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":44821,"name":"int128","nodeType":"ElementaryTypeName","src":"367:6:77","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"343:48:77"},"returnParameters":{"id":44827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44826,"mutability":"mutable","name":"beforeSwapDelta","nameLocation":"430:15:77","nodeType":"VariableDeclaration","scope":44830,"src":"414:31:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":44825,"nodeType":"UserDefinedTypeName","pathNode":{"id":44824,"name":"BeforeSwapDelta","nameLocations":["414:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"414:15:77"},"referencedDeclaration":44818,"src":"414:15:77","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"}],"src":"413:33:77"},"scope":44863,"src":"317:270:77","stateMutability":"pure","virtual":false,"visibility":"internal"},{"abstract":false,"baseContracts":[],"canonicalName":"BeforeSwapDeltaLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":44831,"nodeType":"StructuredDocumentation","src":"589:99:77","text":"@notice Library for getting the specified and unspecified deltas from the BeforeSwapDelta type"},"fullyImplemented":true,"id":44862,"linearizedBaseContracts":[44862],"name":"BeforeSwapDeltaLibrary","nameLocation":"696:22:77","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":44832,"nodeType":"StructuredDocumentation","src":"725:34:77","text":"@notice A BeforeSwapDelta of 0"},"functionSelector":"91cb4669","id":44839,"mutability":"constant","name":"ZERO_DELTA","nameLocation":"796:10:77","nodeType":"VariableDeclaration","scope":44862,"src":"764:68:77","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":44834,"nodeType":"UserDefinedTypeName","pathNode":{"id":44833,"name":"BeforeSwapDelta","nameLocations":["764:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"764:15:77"},"referencedDeclaration":44818,"src":"764:15:77","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"value":{"arguments":[{"hexValue":"30","id":44837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"830:1:77","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":44835,"name":"BeforeSwapDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44818,"src":"809:15:77","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"type(BeforeSwapDelta)"}},"id":44836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"825:4:77","memberName":"wrap","nodeType":"MemberAccess","src":"809:20:77","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_int256_$returns$_t_userDefinedValueType$_BeforeSwapDelta_$44818_$","typeString":"function (int256) pure returns (BeforeSwapDelta)"}},"id":44838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"809:23:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"public"},{"body":{"id":44849,"nodeType":"Block","src":"1037:98:77","statements":[{"AST":{"nativeSrc":"1072:57:77","nodeType":"YulBlock","src":"1072:57:77","statements":[{"nativeSrc":"1086:33:77","nodeType":"YulAssignment","src":"1086:33:77","value":{"arguments":[{"kind":"number","nativeSrc":"1108:3:77","nodeType":"YulLiteral","src":"1108:3:77","type":"","value":"128"},{"name":"delta","nativeSrc":"1113:5:77","nodeType":"YulIdentifier","src":"1113:5:77"}],"functionName":{"name":"sar","nativeSrc":"1104:3:77","nodeType":"YulIdentifier","src":"1104:3:77"},"nativeSrc":"1104:15:77","nodeType":"YulFunctionCall","src":"1104:15:77"},"variableNames":[{"name":"deltaSpecified","nativeSrc":"1086:14:77","nodeType":"YulIdentifier","src":"1086:14:77"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44843,"isOffset":false,"isSlot":false,"src":"1113:5:77","valueSize":1},{"declaration":44846,"isOffset":false,"isSlot":false,"src":"1086:14:77","valueSize":1}],"flags":["memory-safe"],"id":44848,"nodeType":"InlineAssembly","src":"1047:82:77"}]},"documentation":{"id":44840,"nodeType":"StructuredDocumentation","src":"839:97:77","text":"extracts int128 from the upper 128 bits of the BeforeSwapDelta\n returned by beforeSwap"},"id":44850,"implemented":true,"kind":"function","modifiers":[],"name":"getSpecifiedDelta","nameLocation":"950:17:77","nodeType":"FunctionDefinition","parameters":{"id":44844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44843,"mutability":"mutable","name":"delta","nameLocation":"984:5:77","nodeType":"VariableDeclaration","scope":44850,"src":"968:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":44842,"nodeType":"UserDefinedTypeName","pathNode":{"id":44841,"name":"BeforeSwapDelta","nameLocations":["968:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"968:15:77"},"referencedDeclaration":44818,"src":"968:15:77","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"}],"src":"967:23:77"},"returnParameters":{"id":44847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44846,"mutability":"mutable","name":"deltaSpecified","nameLocation":"1021:14:77","nodeType":"VariableDeclaration","scope":44850,"src":"1014:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":44845,"name":"int128","nodeType":"ElementaryTypeName","src":"1014:6:77","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"1013:23:77"},"scope":44862,"src":"941:194:77","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":44860,"nodeType":"Block","src":"1357:106:77","statements":[{"AST":{"nativeSrc":"1392:65:77","nodeType":"YulBlock","src":"1392:65:77","statements":[{"nativeSrc":"1406:41:77","nodeType":"YulAssignment","src":"1406:41:77","value":{"arguments":[{"kind":"number","nativeSrc":"1437:2:77","nodeType":"YulLiteral","src":"1437:2:77","type":"","value":"15"},{"name":"delta","nativeSrc":"1441:5:77","nodeType":"YulIdentifier","src":"1441:5:77"}],"functionName":{"name":"signextend","nativeSrc":"1426:10:77","nodeType":"YulIdentifier","src":"1426:10:77"},"nativeSrc":"1426:21:77","nodeType":"YulFunctionCall","src":"1426:21:77"},"variableNames":[{"name":"deltaUnspecified","nativeSrc":"1406:16:77","nodeType":"YulIdentifier","src":"1406:16:77"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44854,"isOffset":false,"isSlot":false,"src":"1441:5:77","valueSize":1},{"declaration":44857,"isOffset":false,"isSlot":false,"src":"1406:16:77","valueSize":1}],"flags":["memory-safe"],"id":44859,"nodeType":"InlineAssembly","src":"1367:90:77"}]},"documentation":{"id":44851,"nodeType":"StructuredDocumentation","src":"1141:111:77","text":"extracts int128 from the lower 128 bits of the BeforeSwapDelta\n returned by beforeSwap and afterSwap"},"id":44861,"implemented":true,"kind":"function","modifiers":[],"name":"getUnspecifiedDelta","nameLocation":"1266:19:77","nodeType":"FunctionDefinition","parameters":{"id":44855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44854,"mutability":"mutable","name":"delta","nameLocation":"1302:5:77","nodeType":"VariableDeclaration","scope":44861,"src":"1286:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"},"typeName":{"id":44853,"nodeType":"UserDefinedTypeName","pathNode":{"id":44852,"name":"BeforeSwapDelta","nameLocations":["1286:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":44818,"src":"1286:15:77"},"referencedDeclaration":44818,"src":"1286:15:77","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BeforeSwapDelta_$44818","typeString":"BeforeSwapDelta"}},"visibility":"internal"}],"src":"1285:23:77"},"returnParameters":{"id":44858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44857,"mutability":"mutable","name":"deltaUnspecified","nameLocation":"1339:16:77","nodeType":"VariableDeclaration","scope":44861,"src":"1332:23:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":44856,"name":"int128","nodeType":"ElementaryTypeName","src":"1332:6:77","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"1331:25:77"},"scope":44862,"src":"1257:206:77","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":44863,"src":"688:777:77","usedErrors":[],"usedEvents":[]}],"src":"32:1434:77"},"id":77},"v4-core/src/types/Currency.sol":{"ast":{"absolutePath":"v4-core/src/types/Currency.sol","exportedSymbols":{"Currency":[4399],"CurrencyLibrary":[4693],"CustomRevert":[45214],"IERC20Minimal":[49247],"equals":[4432],"greaterThan":[4454],"greaterThanOrEqualTo":[4498],"lessThan":[4476]},"id":4694,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4393,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:78"},{"absolutePath":"v4-core/src/interfaces/external/IERC20Minimal.sol","file":"../interfaces/external/IERC20Minimal.sol","id":4395,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4694,"sourceUnit":49248,"src":"57:71:78","symbolAliases":[{"foreign":{"id":4394,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"65:13:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/CustomRevert.sol","file":"../libraries/CustomRevert.sol","id":4397,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4694,"sourceUnit":45215,"src":"129:59:78","symbolAliases":[{"foreign":{"id":4396,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"137:12:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"Currency","id":4399,"name":"Currency","nameLocation":"195:8:78","nodeType":"UserDefinedValueTypeDefinition","src":"190:25:78","underlyingType":{"id":4398,"name":"address","nodeType":"ElementaryTypeName","src":"207:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"functionList":[{"definition":{"id":4400,"name":"greaterThan","nameLocations":["224:11:78"],"nodeType":"IdentifierPath","referencedDeclaration":4454,"src":"224:11:78"},"operator":">"},{"definition":{"id":4401,"name":"lessThan","nameLocations":["242:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4476,"src":"242:8:78"},"operator":"<"},{"definition":{"id":4402,"name":"greaterThanOrEqualTo","nameLocations":["257:20:78"],"nodeType":"IdentifierPath","referencedDeclaration":4498,"src":"257:20:78"},"operator":">="},{"definition":{"id":4403,"name":"equals","nameLocations":["285:6:78"],"nodeType":"IdentifierPath","referencedDeclaration":4432,"src":"285:6:78"},"operator":"=="}],"global":true,"id":4406,"nodeType":"UsingForDirective","src":"217:102:78","typeName":{"id":4405,"nodeType":"UserDefinedTypeName","pathNode":{"id":4404,"name":"Currency","nameLocations":["303:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"303:8:78"},"referencedDeclaration":4399,"src":"303:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"global":true,"id":4410,"libraryName":{"id":4407,"name":"CurrencyLibrary","nameLocations":["326:15:78"],"nodeType":"IdentifierPath","referencedDeclaration":4693,"src":"326:15:78"},"nodeType":"UsingForDirective","src":"320:42:78","typeName":{"id":4409,"nodeType":"UserDefinedTypeName","pathNode":{"id":4408,"name":"Currency","nameLocations":["346:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"346:8:78"},"referencedDeclaration":4399,"src":"346:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}},{"body":{"id":4431,"nodeType":"Block","src":"435:67:78","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4423,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4413,"src":"464:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4421,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"448:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"457:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"448:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"448:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":4427,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4416,"src":"493:5:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4425,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"477:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"486:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"477:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"477:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"448:51:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4420,"id":4430,"nodeType":"Return","src":"441:58:78"}]},"id":4432,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"equals","nameLocation":"373:6:78","nodeType":"FunctionDefinition","parameters":{"id":4417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4413,"mutability":"mutable","name":"currency","nameLocation":"389:8:78","nodeType":"VariableDeclaration","scope":4432,"src":"380:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4412,"nodeType":"UserDefinedTypeName","pathNode":{"id":4411,"name":"Currency","nameLocations":["380:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"380:8:78"},"referencedDeclaration":4399,"src":"380:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4416,"mutability":"mutable","name":"other","nameLocation":"408:5:78","nodeType":"VariableDeclaration","scope":4432,"src":"399:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4415,"nodeType":"UserDefinedTypeName","pathNode":{"id":4414,"name":"Currency","nameLocations":["399:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"399:8:78"},"referencedDeclaration":4399,"src":"399:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"379:35:78"},"returnParameters":{"id":4420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4419,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4432,"src":"429:4:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4418,"name":"bool","nodeType":"ElementaryTypeName","src":"429:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"428:6:78"},"scope":4694,"src":"364:138:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4453,"nodeType":"Block","src":"580:66:78","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4445,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4435,"src":"609:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4443,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"593:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"602:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"593:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"593:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"id":4449,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4438,"src":"637:5:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4447,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"621:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"630:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"621:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"621:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"593:50:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4442,"id":4452,"nodeType":"Return","src":"586:57:78"}]},"id":4454,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"greaterThan","nameLocation":"513:11:78","nodeType":"FunctionDefinition","parameters":{"id":4439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4435,"mutability":"mutable","name":"currency","nameLocation":"534:8:78","nodeType":"VariableDeclaration","scope":4454,"src":"525:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4434,"nodeType":"UserDefinedTypeName","pathNode":{"id":4433,"name":"Currency","nameLocations":["525:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"525:8:78"},"referencedDeclaration":4399,"src":"525:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4438,"mutability":"mutable","name":"other","nameLocation":"553:5:78","nodeType":"VariableDeclaration","scope":4454,"src":"544:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4437,"nodeType":"UserDefinedTypeName","pathNode":{"id":4436,"name":"Currency","nameLocations":["544:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"544:8:78"},"referencedDeclaration":4399,"src":"544:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"524:35:78"},"returnParameters":{"id":4442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4454,"src":"574:4:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4440,"name":"bool","nodeType":"ElementaryTypeName","src":"574:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"573:6:78"},"scope":4694,"src":"504:142:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4475,"nodeType":"Block","src":"721:66:78","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4467,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4457,"src":"750:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4465,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"734:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"743:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"734:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"734:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":4471,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4460,"src":"778:5:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4469,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"762:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"771:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"762:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"762:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"734:50:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4464,"id":4474,"nodeType":"Return","src":"727:57:78"}]},"id":4476,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"lessThan","nameLocation":"657:8:78","nodeType":"FunctionDefinition","parameters":{"id":4461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4457,"mutability":"mutable","name":"currency","nameLocation":"675:8:78","nodeType":"VariableDeclaration","scope":4476,"src":"666:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4456,"nodeType":"UserDefinedTypeName","pathNode":{"id":4455,"name":"Currency","nameLocations":["666:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"666:8:78"},"referencedDeclaration":4399,"src":"666:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4460,"mutability":"mutable","name":"other","nameLocation":"694:5:78","nodeType":"VariableDeclaration","scope":4476,"src":"685:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4459,"nodeType":"UserDefinedTypeName","pathNode":{"id":4458,"name":"Currency","nameLocations":["685:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"685:8:78"},"referencedDeclaration":4399,"src":"685:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"665:35:78"},"returnParameters":{"id":4464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4476,"src":"715:4:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4462,"name":"bool","nodeType":"ElementaryTypeName","src":"715:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"714:6:78"},"scope":4694,"src":"648:139:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4497,"nodeType":"Block","src":"874:67:78","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4489,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"903:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4487,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"887:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"896:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"887:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"id":4493,"name":"other","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4482,"src":"932:5:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4491,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"916:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"925:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"916:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"887:51:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4486,"id":4496,"nodeType":"Return","src":"880:58:78"}]},"id":4498,"implemented":true,"kind":"freeFunction","modifiers":[],"name":"greaterThanOrEqualTo","nameLocation":"798:20:78","nodeType":"FunctionDefinition","parameters":{"id":4483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4479,"mutability":"mutable","name":"currency","nameLocation":"828:8:78","nodeType":"VariableDeclaration","scope":4498,"src":"819:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4478,"nodeType":"UserDefinedTypeName","pathNode":{"id":4477,"name":"Currency","nameLocations":["819:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"819:8:78"},"referencedDeclaration":4399,"src":"819:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4482,"mutability":"mutable","name":"other","nameLocation":"847:5:78","nodeType":"VariableDeclaration","scope":4498,"src":"838:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4481,"nodeType":"UserDefinedTypeName","pathNode":{"id":4480,"name":"Currency","nameLocations":["838:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"838:8:78"},"referencedDeclaration":4399,"src":"838:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"818:35:78"},"returnParameters":{"id":4486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4498,"src":"868:4:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4484,"name":"bool","nodeType":"ElementaryTypeName","src":"868:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"867:6:78"},"scope":4694,"src":"789:152:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"abstract":false,"baseContracts":[],"canonicalName":"CurrencyLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":4499,"nodeType":"StructuredDocumentation","src":"943:116:78","text":"@title CurrencyLibrary\n @dev This library allows for transferring and holding native tokens and ERC20 tokens"},"fullyImplemented":true,"id":4693,"linearizedBaseContracts":[4693],"name":"CurrencyLibrary","nameLocation":"1067:15:78","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":4500,"nodeType":"StructuredDocumentation","src":"1089:86:78","text":"@notice Additional context for ERC-7751 wrapped error when a native transfer fails"},"errorSelector":"f4b3b1bc","id":4502,"name":"NativeTransferFailed","nameLocation":"1186:20:78","nodeType":"ErrorDefinition","parameters":{"id":4501,"nodeType":"ParameterList","parameters":[],"src":"1206:2:78"},"src":"1180:29:78"},{"documentation":{"id":4503,"nodeType":"StructuredDocumentation","src":"1215:86:78","text":"@notice Additional context for ERC-7751 wrapped error when an ERC20 transfer fails"},"errorSelector":"f27f64e4","id":4505,"name":"ERC20TransferFailed","nameLocation":"1312:19:78","nodeType":"ErrorDefinition","parameters":{"id":4504,"nodeType":"ParameterList","parameters":[],"src":"1331:2:78"},"src":"1306:28:78"},{"constant":true,"documentation":{"id":4506,"nodeType":"StructuredDocumentation","src":"1340:55:78","text":"@notice A constant to represent the native currency"},"functionSelector":"66e79509","id":4516,"mutability":"constant","name":"ADDRESS_ZERO","nameLocation":"1425:12:78","nodeType":"VariableDeclaration","scope":4693,"src":"1400:65:78","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4508,"nodeType":"UserDefinedTypeName","pathNode":{"id":4507,"name":"Currency","nameLocations":["1400:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1400:8:78"},"referencedDeclaration":4399,"src":"1400:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"value":{"arguments":[{"arguments":[{"hexValue":"30","id":4513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1462:1:78","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":4512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1454:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4511,"name":"address","nodeType":"ElementaryTypeName","src":"1454:7:78","typeDescriptions":{}}},"id":4514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:10:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4509,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"1440:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1449:4:78","memberName":"wrap","nodeType":"MemberAccess","src":"1440:13:78","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":4515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1440:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"public"},{"body":{"id":4571,"nodeType":"Block","src":"1546:2799:78","statements":[{"assignments":[4527],"declarations":[{"constant":false,"id":4527,"mutability":"mutable","name":"success","nameLocation":"1748:7:78","nodeType":"VariableDeclaration","scope":4571,"src":"1743:12:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4526,"name":"bool","nodeType":"ElementaryTypeName","src":"1743:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4528,"nodeType":"VariableDeclarationStatement","src":"1743:12:78"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4529,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4519,"src":"1769:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1778:13:78","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"1769:22:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1769:24:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4569,"nodeType":"Block","src":"2224:2115:78","statements":[{"AST":{"nativeSrc":"2263:1749:78","nodeType":"YulBlock","src":"2263:1749:78","statements":[{"nativeSrc":"2335:22:78","nodeType":"YulVariableDeclaration","src":"2335:22:78","value":{"arguments":[{"kind":"number","nativeSrc":"2352:4:78","nodeType":"YulLiteral","src":"2352:4:78","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"2346:5:78","nodeType":"YulIdentifier","src":"2346:5:78"},"nativeSrc":"2346:11:78","nodeType":"YulFunctionCall","src":"2346:11:78"},"variables":[{"name":"fmp","nativeSrc":"2339:3:78","nodeType":"YulTypedName","src":"2339:3:78","type":""}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"2483:3:78","nodeType":"YulIdentifier","src":"2483:3:78"},{"kind":"number","nativeSrc":"2488:66:78","nodeType":"YulLiteral","src":"2488:66:78","type":"","value":"0xa9059cbb00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"mstore","nativeSrc":"2476:6:78","nodeType":"YulIdentifier","src":"2476:6:78"},"nativeSrc":"2476:79:78","nodeType":"YulFunctionCall","src":"2476:79:78"},"nativeSrc":"2476:79:78","nodeType":"YulExpressionStatement","src":"2476:79:78"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2583:3:78","nodeType":"YulIdentifier","src":"2583:3:78"},{"kind":"number","nativeSrc":"2588:1:78","nodeType":"YulLiteral","src":"2588:1:78","type":"","value":"4"}],"functionName":{"name":"add","nativeSrc":"2579:3:78","nodeType":"YulIdentifier","src":"2579:3:78"},"nativeSrc":"2579:11:78","nodeType":"YulFunctionCall","src":"2579:11:78"},{"arguments":[{"name":"to","nativeSrc":"2596:2:78","nodeType":"YulIdentifier","src":"2596:2:78"},{"kind":"number","nativeSrc":"2600:42:78","nodeType":"YulLiteral","src":"2600:42:78","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"2592:3:78","nodeType":"YulIdentifier","src":"2592:3:78"},"nativeSrc":"2592:51:78","nodeType":"YulFunctionCall","src":"2592:51:78"}],"functionName":{"name":"mstore","nativeSrc":"2572:6:78","nodeType":"YulIdentifier","src":"2572:6:78"},"nativeSrc":"2572:72:78","nodeType":"YulFunctionCall","src":"2572:72:78"},"nativeSrc":"2572:72:78","nodeType":"YulExpressionStatement","src":"2572:72:78"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"2710:3:78","nodeType":"YulIdentifier","src":"2710:3:78"},{"kind":"number","nativeSrc":"2715:2:78","nodeType":"YulLiteral","src":"2715:2:78","type":"","value":"36"}],"functionName":{"name":"add","nativeSrc":"2706:3:78","nodeType":"YulIdentifier","src":"2706:3:78"},"nativeSrc":"2706:12:78","nodeType":"YulFunctionCall","src":"2706:12:78"},{"name":"amount","nativeSrc":"2720:6:78","nodeType":"YulIdentifier","src":"2720:6:78"}],"functionName":{"name":"mstore","nativeSrc":"2699:6:78","nodeType":"YulIdentifier","src":"2699:6:78"},"nativeSrc":"2699:28:78","nodeType":"YulFunctionCall","src":"2699:28:78"},"nativeSrc":"2699:28:78","nodeType":"YulExpressionStatement","src":"2699:28:78"},{"nativeSrc":"2828:846:78","nodeType":"YulAssignment","src":"2828:846:78","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"3099:1:78","nodeType":"YulLiteral","src":"3099:1:78","type":"","value":"0"}],"functionName":{"name":"mload","nativeSrc":"3093:5:78","nodeType":"YulIdentifier","src":"3093:5:78"},"nativeSrc":"3093:8:78","nodeType":"YulFunctionCall","src":"3093:8:78"},{"kind":"number","nativeSrc":"3103:1:78","nodeType":"YulLiteral","src":"3103:1:78","type":"","value":"1"}],"functionName":{"name":"eq","nativeSrc":"3090:2:78","nodeType":"YulIdentifier","src":"3090:2:78"},"nativeSrc":"3090:15:78","nodeType":"YulFunctionCall","src":"3090:15:78"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"3110:14:78","nodeType":"YulIdentifier","src":"3110:14:78"},"nativeSrc":"3110:16:78","nodeType":"YulFunctionCall","src":"3110:16:78"},{"kind":"number","nativeSrc":"3128:2:78","nodeType":"YulLiteral","src":"3128:2:78","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"3107:2:78","nodeType":"YulIdentifier","src":"3107:2:78"},"nativeSrc":"3107:24:78","nodeType":"YulFunctionCall","src":"3107:24:78"}],"functionName":{"name":"and","nativeSrc":"3086:3:78","nodeType":"YulIdentifier","src":"3086:3:78"},"nativeSrc":"3086:46:78","nodeType":"YulFunctionCall","src":"3086:46:78"},{"arguments":[{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"3141:14:78","nodeType":"YulIdentifier","src":"3141:14:78"},"nativeSrc":"3141:16:78","nodeType":"YulFunctionCall","src":"3141:16:78"}],"functionName":{"name":"iszero","nativeSrc":"3134:6:78","nodeType":"YulIdentifier","src":"3134:6:78"},"nativeSrc":"3134:24:78","nodeType":"YulFunctionCall","src":"3134:24:78"}],"functionName":{"name":"or","nativeSrc":"3083:2:78","nodeType":"YulIdentifier","src":"3083:2:78"},"nativeSrc":"3083:76:78","nodeType":"YulFunctionCall","src":"3083:76:78"},{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"3617:3:78","nodeType":"YulIdentifier","src":"3617:3:78"},"nativeSrc":"3617:5:78","nodeType":"YulFunctionCall","src":"3617:5:78"},{"name":"currency","nativeSrc":"3624:8:78","nodeType":"YulIdentifier","src":"3624:8:78"},{"kind":"number","nativeSrc":"3634:1:78","nodeType":"YulLiteral","src":"3634:1:78","type":"","value":"0"},{"name":"fmp","nativeSrc":"3637:3:78","nodeType":"YulIdentifier","src":"3637:3:78"},{"kind":"number","nativeSrc":"3642:2:78","nodeType":"YulLiteral","src":"3642:2:78","type":"","value":"68"},{"kind":"number","nativeSrc":"3646:1:78","nodeType":"YulLiteral","src":"3646:1:78","type":"","value":"0"},{"kind":"number","nativeSrc":"3649:2:78","nodeType":"YulLiteral","src":"3649:2:78","type":"","value":"32"}],"functionName":{"name":"call","nativeSrc":"3612:4:78","nodeType":"YulIdentifier","src":"3612:4:78"},"nativeSrc":"3612:40:78","nodeType":"YulFunctionCall","src":"3612:40:78"}],"functionName":{"name":"and","nativeSrc":"2859:3:78","nodeType":"YulIdentifier","src":"2859:3:78"},"nativeSrc":"2859:815:78","nodeType":"YulFunctionCall","src":"2859:815:78"},"variableNames":[{"name":"success","nativeSrc":"2828:7:78","nodeType":"YulIdentifier","src":"2828:7:78"}]},{"expression":{"arguments":[{"name":"fmp","nativeSrc":"3747:3:78","nodeType":"YulIdentifier","src":"3747:3:78"},{"kind":"number","nativeSrc":"3752:1:78","nodeType":"YulLiteral","src":"3752:1:78","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"3740:6:78","nodeType":"YulIdentifier","src":"3740:6:78"},"nativeSrc":"3740:14:78","nodeType":"YulFunctionCall","src":"3740:14:78"},"nativeSrc":"3740:14:78","nodeType":"YulExpressionStatement","src":"3740:14:78"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"3841:3:78","nodeType":"YulIdentifier","src":"3841:3:78"},{"kind":"number","nativeSrc":"3846:4:78","nodeType":"YulLiteral","src":"3846:4:78","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3837:3:78","nodeType":"YulIdentifier","src":"3837:3:78"},"nativeSrc":"3837:14:78","nodeType":"YulFunctionCall","src":"3837:14:78"},{"kind":"number","nativeSrc":"3853:1:78","nodeType":"YulLiteral","src":"3853:1:78","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"3830:6:78","nodeType":"YulIdentifier","src":"3830:6:78"},"nativeSrc":"3830:25:78","nodeType":"YulFunctionCall","src":"3830:25:78"},"nativeSrc":"3830:25:78","nodeType":"YulExpressionStatement","src":"3830:25:78"},{"expression":{"arguments":[{"arguments":[{"name":"fmp","nativeSrc":"3944:3:78","nodeType":"YulIdentifier","src":"3944:3:78"},{"kind":"number","nativeSrc":"3949:4:78","nodeType":"YulLiteral","src":"3949:4:78","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3940:3:78","nodeType":"YulIdentifier","src":"3940:3:78"},"nativeSrc":"3940:14:78","nodeType":"YulFunctionCall","src":"3940:14:78"},{"kind":"number","nativeSrc":"3956:1:78","nodeType":"YulLiteral","src":"3956:1:78","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"3933:6:78","nodeType":"YulIdentifier","src":"3933:6:78"},"nativeSrc":"3933:25:78","nodeType":"YulFunctionCall","src":"3933:25:78"},"nativeSrc":"3933:25:78","nodeType":"YulExpressionStatement","src":"3933:25:78"}]},"evmVersion":"cancun","externalReferences":[{"declaration":4523,"isOffset":false,"isSlot":false,"src":"2720:6:78","valueSize":1},{"declaration":4519,"isOffset":false,"isSlot":false,"src":"3624:8:78","valueSize":1},{"declaration":4527,"isOffset":false,"isSlot":false,"src":"2828:7:78","valueSize":1},{"declaration":4521,"isOffset":false,"isSlot":false,"src":"2596:2:78","valueSize":1}],"flags":["memory-safe"],"id":4550,"nodeType":"InlineAssembly","src":"2238:1774:78"},{"condition":{"id":4552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4124:8:78","subExpression":{"id":4551,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4527,"src":"4125:7:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4568,"nodeType":"IfStatement","src":"4120:209:78","trueBody":{"id":4567,"nodeType":"Block","src":"4134:195:78","statements":[{"expression":{"arguments":[{"arguments":[{"id":4558,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4519,"src":"4224:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4556,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4208:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4217:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"4208:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4208:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":4560,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"4235:13:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$49247_$","typeString":"type(contract IERC20Minimal)"}},"id":4561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4249:8:78","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":49196,"src":"4235:22:78","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function IERC20Minimal.transfer(address,uint256) returns (bool)"}},"id":4562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4258:8:78","memberName":"selector","nodeType":"MemberAccess","src":"4235:31:78","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":4563,"name":"ERC20TransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4505,"src":"4268:19:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":4564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4288:8:78","memberName":"selector","nodeType":"MemberAccess","src":"4268:28:78","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":4553,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"4152:12:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CustomRevert_$45214_$","typeString":"type(library CustomRevert)"}},"id":4555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4165:21:78","memberName":"bubbleUpAndRevertWith","nodeType":"MemberAccess","referencedDeclaration":45213,"src":"4152:34:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes4_$_t_bytes4_$returns$__$","typeString":"function (address,bytes4,bytes4) pure"}},"id":4565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4152:162:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4566,"nodeType":"ExpressionStatement","src":"4152:162:78"}]}}]},"id":4570,"nodeType":"IfStatement","src":"1765:2574:78","trueBody":{"id":4549,"nodeType":"Block","src":"1795:423:78","statements":[{"AST":{"nativeSrc":"1834:138:78","nodeType":"YulBlock","src":"1834:138:78","statements":[{"nativeSrc":"1912:46:78","nodeType":"YulAssignment","src":"1912:46:78","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1928:3:78","nodeType":"YulIdentifier","src":"1928:3:78"},"nativeSrc":"1928:5:78","nodeType":"YulFunctionCall","src":"1928:5:78"},{"name":"to","nativeSrc":"1935:2:78","nodeType":"YulIdentifier","src":"1935:2:78"},{"name":"amount","nativeSrc":"1939:6:78","nodeType":"YulIdentifier","src":"1939:6:78"},{"kind":"number","nativeSrc":"1947:1:78","nodeType":"YulLiteral","src":"1947:1:78","type":"","value":"0"},{"kind":"number","nativeSrc":"1950:1:78","nodeType":"YulLiteral","src":"1950:1:78","type":"","value":"0"},{"kind":"number","nativeSrc":"1953:1:78","nodeType":"YulLiteral","src":"1953:1:78","type":"","value":"0"},{"kind":"number","nativeSrc":"1956:1:78","nodeType":"YulLiteral","src":"1956:1:78","type":"","value":"0"}],"functionName":{"name":"call","nativeSrc":"1923:4:78","nodeType":"YulIdentifier","src":"1923:4:78"},"nativeSrc":"1923:35:78","nodeType":"YulFunctionCall","src":"1923:35:78"},"variableNames":[{"name":"success","nativeSrc":"1912:7:78","nodeType":"YulIdentifier","src":"1912:7:78"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4523,"isOffset":false,"isSlot":false,"src":"1939:6:78","valueSize":1},{"declaration":4527,"isOffset":false,"isSlot":false,"src":"1912:7:78","valueSize":1},{"declaration":4521,"isOffset":false,"isSlot":false,"src":"1935:2:78","valueSize":1}],"flags":["memory-safe"],"id":4532,"nodeType":"InlineAssembly","src":"1809:163:78"},{"condition":{"id":4534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2085:8:78","subExpression":{"id":4533,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4527,"src":"2086:7:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4548,"nodeType":"IfStatement","src":"2081:127:78","trueBody":{"id":4547,"nodeType":"Block","src":"2095:113:78","statements":[{"expression":{"arguments":[{"id":4538,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4521,"src":"2148:2:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":4541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2159:1:78","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":4540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2152:6:78","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":4539,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2152:6:78","typeDescriptions":{}}},"id":4542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2152:9:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":4543,"name":"NativeTransferFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4502,"src":"2163:20:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":4544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2184:8:78","memberName":"selector","nodeType":"MemberAccess","src":"2163:29:78","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":4535,"name":"CustomRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45214,"src":"2113:12:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CustomRevert_$45214_$","typeString":"type(library CustomRevert)"}},"id":4537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2126:21:78","memberName":"bubbleUpAndRevertWith","nodeType":"MemberAccess","referencedDeclaration":45213,"src":"2113:34:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes4_$_t_bytes4_$returns$__$","typeString":"function (address,bytes4,bytes4) pure"}},"id":4545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2113:80:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4546,"nodeType":"ExpressionStatement","src":"2113:80:78"}]}}]}}]},"id":4572,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1481:8:78","nodeType":"FunctionDefinition","parameters":{"id":4524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4519,"mutability":"mutable","name":"currency","nameLocation":"1499:8:78","nodeType":"VariableDeclaration","scope":4572,"src":"1490:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4518,"nodeType":"UserDefinedTypeName","pathNode":{"id":4517,"name":"Currency","nameLocations":["1490:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"1490:8:78"},"referencedDeclaration":4399,"src":"1490:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4521,"mutability":"mutable","name":"to","nameLocation":"1517:2:78","nodeType":"VariableDeclaration","scope":4572,"src":"1509:10:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4520,"name":"address","nodeType":"ElementaryTypeName","src":"1509:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4523,"mutability":"mutable","name":"amount","nameLocation":"1529:6:78","nodeType":"VariableDeclaration","scope":4572,"src":"1521:14:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4522,"name":"uint256","nodeType":"ElementaryTypeName","src":"1521:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1489:47:78"},"returnParameters":{"id":4525,"nodeType":"ParameterList","parameters":[],"src":"1546:0:78"},"scope":4693,"src":"1472:2873:78","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4605,"nodeType":"Block","src":"4425:202:78","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4580,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4575,"src":"4439:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4448:13:78","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"4439:22:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":4582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4439:24:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4603,"nodeType":"Block","src":"4524:97:78","statements":[{"expression":{"arguments":[{"arguments":[{"id":4599,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4604:4:78","typeDescriptions":{"typeIdentifier":"t_contract$_CurrencyLibrary_$4693","typeString":"library CurrencyLibrary"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CurrencyLibrary_$4693","typeString":"library CurrencyLibrary"}],"id":4598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4596:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4597,"name":"address","nodeType":"ElementaryTypeName","src":"4596:7:78","typeDescriptions":{}}},"id":4600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"id":4593,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4575,"src":"4575:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4591,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4559:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4568:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"4559:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4590,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"4545:13:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$49247_$","typeString":"type(contract IERC20Minimal)"}},"id":4595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4545:40:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$49247","typeString":"contract IERC20Minimal"}},"id":4596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4586:9:78","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":49186,"src":"4545:50:78","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":4601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4545:65:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4579,"id":4602,"nodeType":"Return","src":"4538:72:78"}]},"id":4604,"nodeType":"IfStatement","src":"4435:186:78","trueBody":{"id":4589,"nodeType":"Block","src":"4465:53:78","statements":[{"expression":{"expression":{"arguments":[{"id":4585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4494:4:78","typeDescriptions":{"typeIdentifier":"t_contract$_CurrencyLibrary_$4693","typeString":"library CurrencyLibrary"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CurrencyLibrary_$4693","typeString":"library CurrencyLibrary"}],"id":4584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4486:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4583,"name":"address","nodeType":"ElementaryTypeName","src":"4486:7:78","typeDescriptions":{}}},"id":4586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4486:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4500:7:78","memberName":"balance","nodeType":"MemberAccess","src":"4486:21:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4579,"id":4588,"nodeType":"Return","src":"4479:28:78"}]}}]},"id":4606,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOfSelf","nameLocation":"4360:13:78","nodeType":"FunctionDefinition","parameters":{"id":4576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4575,"mutability":"mutable","name":"currency","nameLocation":"4383:8:78","nodeType":"VariableDeclaration","scope":4606,"src":"4374:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4574,"nodeType":"UserDefinedTypeName","pathNode":{"id":4573,"name":"Currency","nameLocations":["4374:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4374:8:78"},"referencedDeclaration":4399,"src":"4374:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"4373:19:78"},"returnParameters":{"id":4579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4606,"src":"4416:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4577,"name":"uint256","nodeType":"ElementaryTypeName","src":"4416:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4415:9:78"},"scope":4693,"src":"4351:276:78","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4635,"nodeType":"Block","src":"4718:186:78","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4616,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4609,"src":"4732:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":4617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4741:13:78","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"4732:22:78","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":4618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:24:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4633,"nodeType":"Block","src":"4809:89:78","statements":[{"expression":{"arguments":[{"id":4630,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4611,"src":"4881:5:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"id":4626,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4609,"src":"4860:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4624,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4844:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4853:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"4844:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4623,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"4830:13:78","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$49247_$","typeString":"type(contract IERC20Minimal)"}},"id":4628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4830:40:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$49247","typeString":"contract IERC20Minimal"}},"id":4629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4871:9:78","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":49186,"src":"4830:50:78","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":4631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4830:57:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4615,"id":4632,"nodeType":"Return","src":"4823:64:78"}]},"id":4634,"nodeType":"IfStatement","src":"4728:170:78","trueBody":{"id":4622,"nodeType":"Block","src":"4758:45:78","statements":[{"expression":{"expression":{"id":4619,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4611,"src":"4779:5:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4785:7:78","memberName":"balance","nodeType":"MemberAccess","src":"4779:13:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4615,"id":4621,"nodeType":"Return","src":"4772:20:78"}]}}]},"id":4636,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"4642:9:78","nodeType":"FunctionDefinition","parameters":{"id":4612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4609,"mutability":"mutable","name":"currency","nameLocation":"4661:8:78","nodeType":"VariableDeclaration","scope":4636,"src":"4652:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4608,"nodeType":"UserDefinedTypeName","pathNode":{"id":4607,"name":"Currency","nameLocations":["4652:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4652:8:78"},"referencedDeclaration":4399,"src":"4652:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4611,"mutability":"mutable","name":"owner","nameLocation":"4679:5:78","nodeType":"VariableDeclaration","scope":4636,"src":"4671:13:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4610,"name":"address","nodeType":"ElementaryTypeName","src":"4671:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4651:34:78"},"returnParameters":{"id":4615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4636,"src":"4709:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4613,"name":"uint256","nodeType":"ElementaryTypeName","src":"4709:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4708:9:78"},"scope":4693,"src":"4633:271:78","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4654,"nodeType":"Block","src":"4981:82:78","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4646,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4639,"src":"5014:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4644,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"4998:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5007:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"4998:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":4650,"name":"ADDRESS_ZERO","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4516,"src":"5043:12:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4648,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5027:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5036:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"5027:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5027:29:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4998:58:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4643,"id":4653,"nodeType":"Return","src":"4991:65:78"}]},"id":4655,"implemented":true,"kind":"function","modifiers":[],"name":"isAddressZero","nameLocation":"4919:13:78","nodeType":"FunctionDefinition","parameters":{"id":4640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4639,"mutability":"mutable","name":"currency","nameLocation":"4942:8:78","nodeType":"VariableDeclaration","scope":4655,"src":"4933:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4638,"nodeType":"UserDefinedTypeName","pathNode":{"id":4637,"name":"Currency","nameLocations":["4933:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4933:8:78"},"referencedDeclaration":4399,"src":"4933:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"4932:19:78"},"returnParameters":{"id":4643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4642,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4655,"src":"4975:4:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4641,"name":"bool","nodeType":"ElementaryTypeName","src":"4975:4:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4974:6:78"},"scope":4693,"src":"4910:153:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4671,"nodeType":"Block","src":"5134:58:78","statements":[{"expression":{"arguments":[{"arguments":[{"id":4667,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4658,"src":"5175:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":4665,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5159:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5168:6:78","memberName":"unwrap","nodeType":"MemberAccess","src":"5159:15:78","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5151:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4663,"name":"uint160","nodeType":"ElementaryTypeName","src":"5151:7:78","typeDescriptions":{}}},"id":4669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5151:34:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":4662,"id":4670,"nodeType":"Return","src":"5144:41:78"}]},"id":4672,"implemented":true,"kind":"function","modifiers":[],"name":"toId","nameLocation":"5078:4:78","nodeType":"FunctionDefinition","parameters":{"id":4659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4658,"mutability":"mutable","name":"currency","nameLocation":"5092:8:78","nodeType":"VariableDeclaration","scope":4672,"src":"5083:17:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4657,"nodeType":"UserDefinedTypeName","pathNode":{"id":4656,"name":"Currency","nameLocations":["5083:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5083:8:78"},"referencedDeclaration":4399,"src":"5083:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"5082:19:78"},"returnParameters":{"id":4662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4661,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4672,"src":"5125:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4660,"name":"uint256","nodeType":"ElementaryTypeName","src":"5125:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5124:9:78"},"scope":4693,"src":"5069:123:78","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4691,"nodeType":"Block","src":"5396:59:78","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":4686,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4674,"src":"5443:2:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5435:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4684,"name":"uint160","nodeType":"ElementaryTypeName","src":"5435:7:78","typeDescriptions":{}}},"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:11:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":4683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5427:7:78","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4682,"name":"address","nodeType":"ElementaryTypeName","src":"5427:7:78","typeDescriptions":{}}},"id":4688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5427:20:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4680,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5413:8:78","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":4681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5422:4:78","memberName":"wrap","nodeType":"MemberAccess","src":"5413:13:78","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":4689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5413:35:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"functionReturnParameters":4679,"id":4690,"nodeType":"Return","src":"5406:42:78"}]},"id":4692,"implemented":true,"kind":"function","modifiers":[],"name":"fromId","nameLocation":"5344:6:78","nodeType":"FunctionDefinition","parameters":{"id":4675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4674,"mutability":"mutable","name":"id","nameLocation":"5359:2:78","nodeType":"VariableDeclaration","scope":4692,"src":"5351:10:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4673,"name":"uint256","nodeType":"ElementaryTypeName","src":"5351:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5350:12:78"},"returnParameters":{"id":4679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4692,"src":"5386:8:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4677,"nodeType":"UserDefinedTypeName","pathNode":{"id":4676,"name":"Currency","nameLocations":["5386:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5386:8:78"},"referencedDeclaration":4399,"src":"5386:8:78","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"5385:10:78"},"scope":4693,"src":"5335:120:78","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":4694,"src":"1059:4398:78","usedErrors":[4502,4505],"usedEvents":[]}],"src":"32:5426:78"},"id":78},"v4-core/src/types/PoolId.sol":{"ast":{"absolutePath":"v4-core/src/types/PoolId.sol","exportedSymbols":{"PoolId":[4699],"PoolIdLibrary":[4713],"PoolKey":[4745]},"id":4714,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4695,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:79"},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"./PoolKey.sol","id":4697,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4714,"sourceUnit":4746,"src":"57:38:79","symbolAliases":[{"foreign":{"id":4696,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"65:7:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"PoolId","id":4699,"name":"PoolId","nameLocation":"102:6:79","nodeType":"UserDefinedValueTypeDefinition","src":"97:23:79","underlyingType":{"id":4698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"112:7:79","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"abstract":false,"baseContracts":[],"canonicalName":"PoolIdLibrary","contractDependencies":[],"contractKind":"library","documentation":{"id":4700,"nodeType":"StructuredDocumentation","src":"122:51:79","text":"@notice Library for computing the ID of a pool"},"fullyImplemented":true,"id":4713,"linearizedBaseContracts":[4713],"name":"PoolIdLibrary","nameLocation":"181:13:79","nodeType":"ContractDefinition","nodes":[{"body":{"id":4711,"nodeType":"Block","src":"347:189:79","statements":[{"AST":{"nativeSrc":"382:148:79","nodeType":"YulBlock","src":"382:148:79","statements":[{"nativeSrc":"486:34:79","nodeType":"YulAssignment","src":"486:34:79","value":{"arguments":[{"name":"poolKey","nativeSrc":"506:7:79","nodeType":"YulIdentifier","src":"506:7:79"},{"kind":"number","nativeSrc":"515:4:79","nodeType":"YulLiteral","src":"515:4:79","type":"","value":"0xa0"}],"functionName":{"name":"keccak256","nativeSrc":"496:9:79","nodeType":"YulIdentifier","src":"496:9:79"},"nativeSrc":"496:24:79","nodeType":"YulFunctionCall","src":"496:24:79"},"variableNames":[{"name":"poolId","nativeSrc":"486:6:79","nodeType":"YulIdentifier","src":"486:6:79"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4708,"isOffset":false,"isSlot":false,"src":"486:6:79","valueSize":1},{"declaration":4704,"isOffset":false,"isSlot":false,"src":"506:7:79","valueSize":1}],"flags":["memory-safe"],"id":4710,"nodeType":"InlineAssembly","src":"357:173:79"}]},"documentation":{"id":4701,"nodeType":"StructuredDocumentation","src":"201:65:79","text":"@notice Returns value equal to keccak256(abi.encode(poolKey))"},"id":4712,"implemented":true,"kind":"function","modifiers":[],"name":"toId","nameLocation":"280:4:79","nodeType":"FunctionDefinition","parameters":{"id":4705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4704,"mutability":"mutable","name":"poolKey","nameLocation":"300:7:79","nodeType":"VariableDeclaration","scope":4712,"src":"285:22:79","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":4703,"nodeType":"UserDefinedTypeName","pathNode":{"id":4702,"name":"PoolKey","nameLocations":["285:7:79"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"285:7:79"},"referencedDeclaration":4745,"src":"285:7:79","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"}],"src":"284:24:79"},"returnParameters":{"id":4709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4708,"mutability":"mutable","name":"poolId","nameLocation":"339:6:79","nodeType":"VariableDeclaration","scope":4712,"src":"332:13:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":4707,"nodeType":"UserDefinedTypeName","pathNode":{"id":4706,"name":"PoolId","nameLocations":["332:6:79"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"332:6:79"},"referencedDeclaration":4699,"src":"332:6:79","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"331:15:79"},"scope":4713,"src":"271:265:79","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":4714,"src":"173:365:79","usedErrors":[],"usedEvents":[]}],"src":"32:507:79"},"id":79},"v4-core/src/types/PoolKey.sol":{"ast":{"absolutePath":"v4-core/src/types/PoolKey.sol","exportedSymbols":{"Currency":[4399],"IHooks":[1480],"PoolIdLibrary":[4713],"PoolKey":[4745]},"id":4746,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4715,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:80"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"./Currency.sol","id":4717,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4746,"sourceUnit":4694,"src":"57:40:80","symbolAliases":[{"foreign":{"id":4716,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"65:8:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../interfaces/IHooks.sol","id":4719,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4746,"sourceUnit":1481,"src":"98:48:80","symbolAliases":[{"foreign":{"id":4718,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"106:6:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"./PoolId.sol","id":4721,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4746,"sourceUnit":4714,"src":"147:43:80","symbolAliases":[{"foreign":{"id":4720,"name":"PoolIdLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4713,"src":"155:13:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"global":true,"id":4725,"libraryName":{"id":4722,"name":"PoolIdLibrary","nameLocations":["198:13:80"],"nodeType":"IdentifierPath","referencedDeclaration":4713,"src":"198:13:80"},"nodeType":"UsingForDirective","src":"192:39:80","typeName":{"id":4724,"nodeType":"UserDefinedTypeName","pathNode":{"id":4723,"name":"PoolKey","nameLocations":["216:7:80"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"216:7:80"},"referencedDeclaration":4745,"src":"216:7:80","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}}},{"canonicalName":"PoolKey","documentation":{"id":4726,"nodeType":"StructuredDocumentation","src":"233:51:80","text":"@notice Returns the key for identifying a pool"},"id":4745,"members":[{"constant":false,"id":4730,"mutability":"mutable","name":"currency0","nameLocation":"381:9:80","nodeType":"VariableDeclaration","scope":4745,"src":"372:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4729,"nodeType":"UserDefinedTypeName","pathNode":{"id":4728,"name":"Currency","nameLocations":["372:8:80"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"372:8:80"},"referencedDeclaration":4399,"src":"372:8:80","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4734,"mutability":"mutable","name":"currency1","nameLocation":"473:9:80","nodeType":"VariableDeclaration","scope":4745,"src":"464:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4733,"nodeType":"UserDefinedTypeName","pathNode":{"id":4732,"name":"Currency","nameLocations":["464:8:80"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"464:8:80"},"referencedDeclaration":4399,"src":"464:8:80","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":4737,"mutability":"mutable","name":"fee","nameLocation":"639:3:80","nodeType":"VariableDeclaration","scope":4745,"src":"632:10:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":4736,"name":"uint24","nodeType":"ElementaryTypeName","src":"632:6:80","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":4740,"mutability":"mutable","name":"tickSpacing","nameLocation":"734:11:80","nodeType":"VariableDeclaration","scope":4745,"src":"728:17:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":4739,"name":"int24","nodeType":"ElementaryTypeName","src":"728:5:80","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":4744,"mutability":"mutable","name":"hooks","nameLocation":"796:5:80","nodeType":"VariableDeclaration","scope":4745,"src":"789:12:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":4743,"nodeType":"UserDefinedTypeName","pathNode":{"id":4742,"name":"IHooks","nameLocations":["789:6:80"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"789:6:80"},"referencedDeclaration":1480,"src":"789:6:80","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"}],"name":"PoolKey","nameLocation":"291:7:80","nodeType":"StructDefinition","scope":4746,"src":"284:520:80","visibility":"public"}],"src":"32:773:80"},"id":80},"v4-core/src/types/PoolOperation.sol":{"ast":{"absolutePath":"v4-core/src/types/PoolOperation.sol","exportedSymbols":{"BalanceDelta":[4233],"ModifyLiquidityParams":[4761],"PoolKey":[4745],"SwapParams":[4772]},"id":4773,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4747,"literals":["solidity","^","0.8",".24"],"nodeType":"PragmaDirective","src":"32:24:81"},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../types/PoolKey.sol","id":4749,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4773,"sourceUnit":4746,"src":"58:45:81","symbolAliases":[{"foreign":{"id":4748,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"66:7:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../types/BalanceDelta.sol","id":4751,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4773,"sourceUnit":4392,"src":"104:55:81","symbolAliases":[{"foreign":{"id":4750,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"112:12:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"canonicalName":"ModifyLiquidityParams","documentation":{"id":4752,"nodeType":"StructuredDocumentation","src":"161:67:81","text":"@notice Parameter struct for `ModifyLiquidity` pool operations"},"id":4761,"members":[{"constant":false,"id":4754,"mutability":"mutable","name":"tickLower","nameLocation":"317:9:81","nodeType":"VariableDeclaration","scope":4761,"src":"311:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":4753,"name":"int24","nodeType":"ElementaryTypeName","src":"311:5:81","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":4756,"mutability":"mutable","name":"tickUpper","nameLocation":"338:9:81","nodeType":"VariableDeclaration","scope":4761,"src":"332:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":4755,"name":"int24","nodeType":"ElementaryTypeName","src":"332:5:81","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":4758,"mutability":"mutable","name":"liquidityDelta","nameLocation":"395:14:81","nodeType":"VariableDeclaration","scope":4761,"src":"388:21:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4757,"name":"int256","nodeType":"ElementaryTypeName","src":"388:6:81","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":4760,"mutability":"mutable","name":"salt","nameLocation":"502:4:81","nodeType":"VariableDeclaration","scope":4761,"src":"494:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"494:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"ModifyLiquidityParams","nameLocation":"235:21:81","nodeType":"StructDefinition","scope":4773,"src":"228:281:81","visibility":"public"},{"canonicalName":"SwapParams","documentation":{"id":4762,"nodeType":"StructuredDocumentation","src":"511:56:81","text":"@notice Parameter struct for `Swap` pool operations"},"id":4772,"members":[{"constant":false,"id":4765,"mutability":"mutable","name":"zeroForOne","nameLocation":"652:10:81","nodeType":"VariableDeclaration","scope":4772,"src":"647:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4764,"name":"bool","nodeType":"ElementaryTypeName","src":"647:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4768,"mutability":"mutable","name":"amountSpecified","nameLocation":"783:15:81","nodeType":"VariableDeclaration","scope":4772,"src":"776:22:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4767,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:81","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":4771,"mutability":"mutable","name":"sqrtPriceLimitX96","nameLocation":"886:17:81","nodeType":"VariableDeclaration","scope":4772,"src":"878:25:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4770,"name":"uint160","nodeType":"ElementaryTypeName","src":"878:7:81","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"name":"SwapParams","nameLocation":"574:10:81","nodeType":"StructDefinition","scope":4773,"src":"567:339:81","visibility":"public"}],"src":"32:875:81"},"id":81},"v4-core/src/types/Slot0.sol":{"ast":{"absolutePath":"v4-core/src/types/Slot0.sol","exportedSymbols":{"Slot0":[56636],"Slot0Library":[56749]},"id":56750,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":56634,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:82"},{"canonicalName":"Slot0","id":56636,"name":"Slot0","nameLocation":"932:5:82","nodeType":"UserDefinedValueTypeDefinition","src":"927:22:82","underlyingType":{"id":56635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"941:7:82","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"global":true,"id":56640,"libraryName":{"id":56637,"name":"Slot0Library","nameLocations":["957:12:82"],"nodeType":"IdentifierPath","referencedDeclaration":56749,"src":"957:12:82"},"nodeType":"UsingForDirective","src":"951:36:82","typeName":{"id":56639,"nodeType":"UserDefinedTypeName","pathNode":{"id":56638,"name":"Slot0","nameLocations":["974:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"974:5:82"},"referencedDeclaration":56636,"src":"974:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}}},{"abstract":false,"baseContracts":[],"canonicalName":"Slot0Library","contractDependencies":[],"contractKind":"library","documentation":{"id":56641,"nodeType":"StructuredDocumentation","src":"989:69:82","text":"@notice Library for getting and setting values in the Slot0 type"},"fullyImplemented":true,"id":56749,"linearizedBaseContracts":[56749],"name":"Slot0Library","nameLocation":"1066:12:82","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":56644,"mutability":"constant","name":"MASK_160_BITS","nameLocation":"1111:13:82","nodeType":"VariableDeclaration","scope":56749,"src":"1085:86:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56642,"name":"uint160","nodeType":"ElementaryTypeName","src":"1085:7:82","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3078303046464646464646464646464646464646464646464646464646464646464646464646464646464646","id":56643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1127:44:82","typeDescriptions":{"typeIdentifier":"t_rational_1461501637330902918203684832716283019655932542975_by_1","typeString":"int_const 1461...(41 digits omitted)...2975"},"value":"0x00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"},"visibility":"internal"},{"constant":true,"id":56647,"mutability":"constant","name":"MASK_24_BITS","nameLocation":"1202:12:82","nodeType":"VariableDeclaration","scope":56749,"src":"1177:48:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56645,"name":"uint24","nodeType":"ElementaryTypeName","src":"1177:6:82","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"3078464646464646","id":56646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1217:8:82","typeDescriptions":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"},"value":"0xFFFFFF"},"visibility":"internal"},{"constant":true,"id":56650,"mutability":"constant","name":"TICK_OFFSET","nameLocation":"1256:11:82","nodeType":"VariableDeclaration","scope":56749,"src":"1232:41:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56648,"name":"uint8","nodeType":"ElementaryTypeName","src":"1232:5:82","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"313630","id":56649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1270:3:82","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":56653,"mutability":"constant","name":"PROTOCOL_FEE_OFFSET","nameLocation":"1303:19:82","nodeType":"VariableDeclaration","scope":56749,"src":"1279:49:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56651,"name":"uint8","nodeType":"ElementaryTypeName","src":"1279:5:82","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"313834","id":56652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:3:82","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},"visibility":"internal"},{"constant":true,"id":56656,"mutability":"constant","name":"LP_FEE_OFFSET","nameLocation":"1358:13:82","nodeType":"VariableDeclaration","scope":56749,"src":"1334:43:82","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56654,"name":"uint8","nodeType":"ElementaryTypeName","src":"1334:5:82","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"323038","id":56655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1374:3:82","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},"visibility":"internal"},{"body":{"id":56665,"nodeType":"Block","src":"1492:109:82","statements":[{"AST":{"nativeSrc":"1527:68:82","nodeType":"YulBlock","src":"1527:68:82","statements":[{"nativeSrc":"1541:44:82","nodeType":"YulAssignment","src":"1541:44:82","value":{"arguments":[{"name":"MASK_160_BITS","nativeSrc":"1562:13:82","nodeType":"YulIdentifier","src":"1562:13:82"},{"name":"_packed","nativeSrc":"1577:7:82","nodeType":"YulIdentifier","src":"1577:7:82"}],"functionName":{"name":"and","nativeSrc":"1558:3:82","nodeType":"YulIdentifier","src":"1558:3:82"},"nativeSrc":"1558:27:82","nodeType":"YulFunctionCall","src":"1558:27:82"},"variableNames":[{"name":"_sqrtPriceX96","nativeSrc":"1541:13:82","nodeType":"YulIdentifier","src":"1541:13:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56644,"isOffset":false,"isSlot":false,"src":"1562:13:82","valueSize":1},{"declaration":56659,"isOffset":false,"isSlot":false,"src":"1577:7:82","valueSize":1},{"declaration":56662,"isOffset":false,"isSlot":false,"src":"1541:13:82","valueSize":1}],"flags":["memory-safe"],"id":56664,"nodeType":"InlineAssembly","src":"1502:93:82"}]},"id":56666,"implemented":true,"kind":"function","modifiers":[],"name":"sqrtPriceX96","nameLocation":"1418:12:82","nodeType":"FunctionDefinition","parameters":{"id":56660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56659,"mutability":"mutable","name":"_packed","nameLocation":"1437:7:82","nodeType":"VariableDeclaration","scope":56666,"src":"1431:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56658,"nodeType":"UserDefinedTypeName","pathNode":{"id":56657,"name":"Slot0","nameLocations":["1431:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"1431:5:82"},"referencedDeclaration":56636,"src":"1431:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"1430:15:82"},"returnParameters":{"id":56663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56662,"mutability":"mutable","name":"_sqrtPriceX96","nameLocation":"1477:13:82","nodeType":"VariableDeclaration","scope":56666,"src":"1469:21:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56661,"name":"uint160","nodeType":"ElementaryTypeName","src":"1469:7:82","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"1468:23:82"},"scope":56749,"src":"1409:192:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56675,"nodeType":"Block","src":"1672:114:82","statements":[{"AST":{"nativeSrc":"1707:73:82","nodeType":"YulBlock","src":"1707:73:82","statements":[{"nativeSrc":"1721:49:82","nodeType":"YulAssignment","src":"1721:49:82","value":{"arguments":[{"kind":"number","nativeSrc":"1741:1:82","nodeType":"YulLiteral","src":"1741:1:82","type":"","value":"2"},{"arguments":[{"name":"TICK_OFFSET","nativeSrc":"1748:11:82","nodeType":"YulIdentifier","src":"1748:11:82"},{"name":"_packed","nativeSrc":"1761:7:82","nodeType":"YulIdentifier","src":"1761:7:82"}],"functionName":{"name":"shr","nativeSrc":"1744:3:82","nodeType":"YulIdentifier","src":"1744:3:82"},"nativeSrc":"1744:25:82","nodeType":"YulFunctionCall","src":"1744:25:82"}],"functionName":{"name":"signextend","nativeSrc":"1730:10:82","nodeType":"YulIdentifier","src":"1730:10:82"},"nativeSrc":"1730:40:82","nodeType":"YulFunctionCall","src":"1730:40:82"},"variableNames":[{"name":"_tick","nativeSrc":"1721:5:82","nodeType":"YulIdentifier","src":"1721:5:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56650,"isOffset":false,"isSlot":false,"src":"1748:11:82","valueSize":1},{"declaration":56669,"isOffset":false,"isSlot":false,"src":"1761:7:82","valueSize":1},{"declaration":56672,"isOffset":false,"isSlot":false,"src":"1721:5:82","valueSize":1}],"flags":["memory-safe"],"id":56674,"nodeType":"InlineAssembly","src":"1682:98:82"}]},"id":56676,"implemented":true,"kind":"function","modifiers":[],"name":"tick","nameLocation":"1616:4:82","nodeType":"FunctionDefinition","parameters":{"id":56670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56669,"mutability":"mutable","name":"_packed","nameLocation":"1627:7:82","nodeType":"VariableDeclaration","scope":56676,"src":"1621:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56668,"nodeType":"UserDefinedTypeName","pathNode":{"id":56667,"name":"Slot0","nameLocations":["1621:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"1621:5:82"},"referencedDeclaration":56636,"src":"1621:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"1620:15:82"},"returnParameters":{"id":56673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56672,"mutability":"mutable","name":"_tick","nameLocation":"1665:5:82","nodeType":"VariableDeclaration","scope":56676,"src":"1659:11:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56671,"name":"int24","nodeType":"ElementaryTypeName","src":"1659:5:82","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"1658:13:82"},"scope":56749,"src":"1607:179:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56685,"nodeType":"Block","src":"1872:133:82","statements":[{"AST":{"nativeSrc":"1907:92:82","nodeType":"YulBlock","src":"1907:92:82","statements":[{"nativeSrc":"1921:68:82","nodeType":"YulAssignment","src":"1921:68:82","value":{"arguments":[{"name":"MASK_24_BITS","nativeSrc":"1941:12:82","nodeType":"YulIdentifier","src":"1941:12:82"},{"arguments":[{"name":"PROTOCOL_FEE_OFFSET","nativeSrc":"1959:19:82","nodeType":"YulIdentifier","src":"1959:19:82"},{"name":"_packed","nativeSrc":"1980:7:82","nodeType":"YulIdentifier","src":"1980:7:82"}],"functionName":{"name":"shr","nativeSrc":"1955:3:82","nodeType":"YulIdentifier","src":"1955:3:82"},"nativeSrc":"1955:33:82","nodeType":"YulFunctionCall","src":"1955:33:82"}],"functionName":{"name":"and","nativeSrc":"1937:3:82","nodeType":"YulIdentifier","src":"1937:3:82"},"nativeSrc":"1937:52:82","nodeType":"YulFunctionCall","src":"1937:52:82"},"variableNames":[{"name":"_protocolFee","nativeSrc":"1921:12:82","nodeType":"YulIdentifier","src":"1921:12:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56647,"isOffset":false,"isSlot":false,"src":"1941:12:82","valueSize":1},{"declaration":56653,"isOffset":false,"isSlot":false,"src":"1959:19:82","valueSize":1},{"declaration":56679,"isOffset":false,"isSlot":false,"src":"1980:7:82","valueSize":1},{"declaration":56682,"isOffset":false,"isSlot":false,"src":"1921:12:82","valueSize":1}],"flags":["memory-safe"],"id":56684,"nodeType":"InlineAssembly","src":"1882:117:82"}]},"id":56686,"implemented":true,"kind":"function","modifiers":[],"name":"protocolFee","nameLocation":"1801:11:82","nodeType":"FunctionDefinition","parameters":{"id":56680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56679,"mutability":"mutable","name":"_packed","nameLocation":"1819:7:82","nodeType":"VariableDeclaration","scope":56686,"src":"1813:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56678,"nodeType":"UserDefinedTypeName","pathNode":{"id":56677,"name":"Slot0","nameLocations":["1813:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"1813:5:82"},"referencedDeclaration":56636,"src":"1813:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"1812:15:82"},"returnParameters":{"id":56683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56682,"mutability":"mutable","name":"_protocolFee","nameLocation":"1858:12:82","nodeType":"VariableDeclaration","scope":56686,"src":"1851:19:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56681,"name":"uint24","nodeType":"ElementaryTypeName","src":"1851:6:82","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"1850:21:82"},"scope":56749,"src":"1792:213:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56695,"nodeType":"Block","src":"2079:121:82","statements":[{"AST":{"nativeSrc":"2114:80:82","nodeType":"YulBlock","src":"2114:80:82","statements":[{"nativeSrc":"2128:56:82","nodeType":"YulAssignment","src":"2128:56:82","value":{"arguments":[{"name":"MASK_24_BITS","nativeSrc":"2142:12:82","nodeType":"YulIdentifier","src":"2142:12:82"},{"arguments":[{"name":"LP_FEE_OFFSET","nativeSrc":"2160:13:82","nodeType":"YulIdentifier","src":"2160:13:82"},{"name":"_packed","nativeSrc":"2175:7:82","nodeType":"YulIdentifier","src":"2175:7:82"}],"functionName":{"name":"shr","nativeSrc":"2156:3:82","nodeType":"YulIdentifier","src":"2156:3:82"},"nativeSrc":"2156:27:82","nodeType":"YulFunctionCall","src":"2156:27:82"}],"functionName":{"name":"and","nativeSrc":"2138:3:82","nodeType":"YulIdentifier","src":"2138:3:82"},"nativeSrc":"2138:46:82","nodeType":"YulFunctionCall","src":"2138:46:82"},"variableNames":[{"name":"_lpFee","nativeSrc":"2128:6:82","nodeType":"YulIdentifier","src":"2128:6:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56656,"isOffset":false,"isSlot":false,"src":"2160:13:82","valueSize":1},{"declaration":56647,"isOffset":false,"isSlot":false,"src":"2142:12:82","valueSize":1},{"declaration":56692,"isOffset":false,"isSlot":false,"src":"2128:6:82","valueSize":1},{"declaration":56689,"isOffset":false,"isSlot":false,"src":"2175:7:82","valueSize":1}],"flags":["memory-safe"],"id":56694,"nodeType":"InlineAssembly","src":"2089:105:82"}]},"id":56696,"implemented":true,"kind":"function","modifiers":[],"name":"lpFee","nameLocation":"2020:5:82","nodeType":"FunctionDefinition","parameters":{"id":56690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56689,"mutability":"mutable","name":"_packed","nameLocation":"2032:7:82","nodeType":"VariableDeclaration","scope":56696,"src":"2026:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56688,"nodeType":"UserDefinedTypeName","pathNode":{"id":56687,"name":"Slot0","nameLocations":["2026:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2026:5:82"},"referencedDeclaration":56636,"src":"2026:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"2025:15:82"},"returnParameters":{"id":56693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56692,"mutability":"mutable","name":"_lpFee","nameLocation":"2071:6:82","nodeType":"VariableDeclaration","scope":56696,"src":"2064:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56691,"name":"uint24","nodeType":"ElementaryTypeName","src":"2064:6:82","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"2063:15:82"},"scope":56749,"src":"2011:189:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56708,"nodeType":"Block","src":"2332:147:82","statements":[{"AST":{"nativeSrc":"2367:106:82","nodeType":"YulBlock","src":"2367:106:82","statements":[{"nativeSrc":"2381:82:82","nodeType":"YulAssignment","src":"2381:82:82","value":{"arguments":[{"arguments":[{"arguments":[{"name":"MASK_160_BITS","nativeSrc":"2403:13:82","nodeType":"YulIdentifier","src":"2403:13:82"}],"functionName":{"name":"not","nativeSrc":"2399:3:82","nodeType":"YulIdentifier","src":"2399:3:82"},"nativeSrc":"2399:18:82","nodeType":"YulFunctionCall","src":"2399:18:82"},{"name":"_packed","nativeSrc":"2419:7:82","nodeType":"YulIdentifier","src":"2419:7:82"}],"functionName":{"name":"and","nativeSrc":"2395:3:82","nodeType":"YulIdentifier","src":"2395:3:82"},"nativeSrc":"2395:32:82","nodeType":"YulFunctionCall","src":"2395:32:82"},{"arguments":[{"name":"MASK_160_BITS","nativeSrc":"2433:13:82","nodeType":"YulIdentifier","src":"2433:13:82"},{"name":"_sqrtPriceX96","nativeSrc":"2448:13:82","nodeType":"YulIdentifier","src":"2448:13:82"}],"functionName":{"name":"and","nativeSrc":"2429:3:82","nodeType":"YulIdentifier","src":"2429:3:82"},"nativeSrc":"2429:33:82","nodeType":"YulFunctionCall","src":"2429:33:82"}],"functionName":{"name":"or","nativeSrc":"2392:2:82","nodeType":"YulIdentifier","src":"2392:2:82"},"nativeSrc":"2392:71:82","nodeType":"YulFunctionCall","src":"2392:71:82"},"variableNames":[{"name":"_result","nativeSrc":"2381:7:82","nodeType":"YulIdentifier","src":"2381:7:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56644,"isOffset":false,"isSlot":false,"src":"2403:13:82","valueSize":1},{"declaration":56644,"isOffset":false,"isSlot":false,"src":"2433:13:82","valueSize":1},{"declaration":56699,"isOffset":false,"isSlot":false,"src":"2419:7:82","valueSize":1},{"declaration":56705,"isOffset":false,"isSlot":false,"src":"2381:7:82","valueSize":1},{"declaration":56701,"isOffset":false,"isSlot":false,"src":"2448:13:82","valueSize":1}],"flags":["memory-safe"],"id":56707,"nodeType":"InlineAssembly","src":"2342:131:82"}]},"id":56709,"implemented":true,"kind":"function","modifiers":[],"name":"setSqrtPriceX96","nameLocation":"2240:15:82","nodeType":"FunctionDefinition","parameters":{"id":56702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56699,"mutability":"mutable","name":"_packed","nameLocation":"2262:7:82","nodeType":"VariableDeclaration","scope":56709,"src":"2256:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56698,"nodeType":"UserDefinedTypeName","pathNode":{"id":56697,"name":"Slot0","nameLocations":["2256:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2256:5:82"},"referencedDeclaration":56636,"src":"2256:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"},{"constant":false,"id":56701,"mutability":"mutable","name":"_sqrtPriceX96","nameLocation":"2279:13:82","nodeType":"VariableDeclaration","scope":56709,"src":"2271:21:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":56700,"name":"uint160","nodeType":"ElementaryTypeName","src":"2271:7:82","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"2255:38:82"},"returnParameters":{"id":56706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56705,"mutability":"mutable","name":"_result","nameLocation":"2323:7:82","nodeType":"VariableDeclaration","scope":56709,"src":"2317:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56704,"nodeType":"UserDefinedTypeName","pathNode":{"id":56703,"name":"Slot0","nameLocations":["2317:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2317:5:82"},"referencedDeclaration":56636,"src":"2317:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"2316:15:82"},"scope":56749,"src":"2231:248:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56721,"nodeType":"Block","src":"2568:173:82","statements":[{"AST":{"nativeSrc":"2603:132:82","nodeType":"YulBlock","src":"2603:132:82","statements":[{"nativeSrc":"2617:108:82","nodeType":"YulAssignment","src":"2617:108:82","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"TICK_OFFSET","nativeSrc":"2643:11:82","nodeType":"YulIdentifier","src":"2643:11:82"},{"name":"MASK_24_BITS","nativeSrc":"2656:12:82","nodeType":"YulIdentifier","src":"2656:12:82"}],"functionName":{"name":"shl","nativeSrc":"2639:3:82","nodeType":"YulIdentifier","src":"2639:3:82"},"nativeSrc":"2639:30:82","nodeType":"YulFunctionCall","src":"2639:30:82"}],"functionName":{"name":"not","nativeSrc":"2635:3:82","nodeType":"YulIdentifier","src":"2635:3:82"},"nativeSrc":"2635:35:82","nodeType":"YulFunctionCall","src":"2635:35:82"},{"name":"_packed","nativeSrc":"2672:7:82","nodeType":"YulIdentifier","src":"2672:7:82"}],"functionName":{"name":"and","nativeSrc":"2631:3:82","nodeType":"YulIdentifier","src":"2631:3:82"},"nativeSrc":"2631:49:82","nodeType":"YulFunctionCall","src":"2631:49:82"},{"arguments":[{"name":"TICK_OFFSET","nativeSrc":"2686:11:82","nodeType":"YulIdentifier","src":"2686:11:82"},{"arguments":[{"name":"MASK_24_BITS","nativeSrc":"2703:12:82","nodeType":"YulIdentifier","src":"2703:12:82"},{"name":"_tick","nativeSrc":"2717:5:82","nodeType":"YulIdentifier","src":"2717:5:82"}],"functionName":{"name":"and","nativeSrc":"2699:3:82","nodeType":"YulIdentifier","src":"2699:3:82"},"nativeSrc":"2699:24:82","nodeType":"YulFunctionCall","src":"2699:24:82"}],"functionName":{"name":"shl","nativeSrc":"2682:3:82","nodeType":"YulIdentifier","src":"2682:3:82"},"nativeSrc":"2682:42:82","nodeType":"YulFunctionCall","src":"2682:42:82"}],"functionName":{"name":"or","nativeSrc":"2628:2:82","nodeType":"YulIdentifier","src":"2628:2:82"},"nativeSrc":"2628:97:82","nodeType":"YulFunctionCall","src":"2628:97:82"},"variableNames":[{"name":"_result","nativeSrc":"2617:7:82","nodeType":"YulIdentifier","src":"2617:7:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56647,"isOffset":false,"isSlot":false,"src":"2656:12:82","valueSize":1},{"declaration":56647,"isOffset":false,"isSlot":false,"src":"2703:12:82","valueSize":1},{"declaration":56650,"isOffset":false,"isSlot":false,"src":"2643:11:82","valueSize":1},{"declaration":56650,"isOffset":false,"isSlot":false,"src":"2686:11:82","valueSize":1},{"declaration":56712,"isOffset":false,"isSlot":false,"src":"2672:7:82","valueSize":1},{"declaration":56718,"isOffset":false,"isSlot":false,"src":"2617:7:82","valueSize":1},{"declaration":56714,"isOffset":false,"isSlot":false,"src":"2717:5:82","valueSize":1}],"flags":["memory-safe"],"id":56720,"nodeType":"InlineAssembly","src":"2578:157:82"}]},"id":56722,"implemented":true,"kind":"function","modifiers":[],"name":"setTick","nameLocation":"2494:7:82","nodeType":"FunctionDefinition","parameters":{"id":56715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56712,"mutability":"mutable","name":"_packed","nameLocation":"2508:7:82","nodeType":"VariableDeclaration","scope":56722,"src":"2502:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56711,"nodeType":"UserDefinedTypeName","pathNode":{"id":56710,"name":"Slot0","nameLocations":["2502:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2502:5:82"},"referencedDeclaration":56636,"src":"2502:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"},{"constant":false,"id":56714,"mutability":"mutable","name":"_tick","nameLocation":"2523:5:82","nodeType":"VariableDeclaration","scope":56722,"src":"2517:11:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":56713,"name":"int24","nodeType":"ElementaryTypeName","src":"2517:5:82","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"2501:28:82"},"returnParameters":{"id":56719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56718,"mutability":"mutable","name":"_result","nameLocation":"2559:7:82","nodeType":"VariableDeclaration","scope":56722,"src":"2553:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56717,"nodeType":"UserDefinedTypeName","pathNode":{"id":56716,"name":"Slot0","nameLocations":["2553:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2553:5:82"},"referencedDeclaration":56636,"src":"2553:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"2552:15:82"},"scope":56749,"src":"2485:256:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56734,"nodeType":"Block","src":"2845:270:82","statements":[{"AST":{"nativeSrc":"2880:229:82","nodeType":"YulBlock","src":"2880:229:82","statements":[{"nativeSrc":"2894:205:82","nodeType":"YulAssignment","src":"2894:205:82","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"PROTOCOL_FEE_OFFSET","nativeSrc":"2957:19:82","nodeType":"YulIdentifier","src":"2957:19:82"},{"name":"MASK_24_BITS","nativeSrc":"2978:12:82","nodeType":"YulIdentifier","src":"2978:12:82"}],"functionName":{"name":"shl","nativeSrc":"2953:3:82","nodeType":"YulIdentifier","src":"2953:3:82"},"nativeSrc":"2953:38:82","nodeType":"YulFunctionCall","src":"2953:38:82"}],"functionName":{"name":"not","nativeSrc":"2949:3:82","nodeType":"YulIdentifier","src":"2949:3:82"},"nativeSrc":"2949:43:82","nodeType":"YulFunctionCall","src":"2949:43:82"},{"name":"_packed","nativeSrc":"2994:7:82","nodeType":"YulIdentifier","src":"2994:7:82"}],"functionName":{"name":"and","nativeSrc":"2945:3:82","nodeType":"YulIdentifier","src":"2945:3:82"},"nativeSrc":"2945:57:82","nodeType":"YulFunctionCall","src":"2945:57:82"},{"arguments":[{"name":"PROTOCOL_FEE_OFFSET","nativeSrc":"3028:19:82","nodeType":"YulIdentifier","src":"3028:19:82"},{"arguments":[{"name":"MASK_24_BITS","nativeSrc":"3053:12:82","nodeType":"YulIdentifier","src":"3053:12:82"},{"name":"_protocolFee","nativeSrc":"3067:12:82","nodeType":"YulIdentifier","src":"3067:12:82"}],"functionName":{"name":"and","nativeSrc":"3049:3:82","nodeType":"YulIdentifier","src":"3049:3:82"},"nativeSrc":"3049:31:82","nodeType":"YulFunctionCall","src":"3049:31:82"}],"functionName":{"name":"shl","nativeSrc":"3024:3:82","nodeType":"YulIdentifier","src":"3024:3:82"},"nativeSrc":"3024:57:82","nodeType":"YulFunctionCall","src":"3024:57:82"}],"functionName":{"name":"or","nativeSrc":"2921:2:82","nodeType":"YulIdentifier","src":"2921:2:82"},"nativeSrc":"2921:178:82","nodeType":"YulFunctionCall","src":"2921:178:82"},"variableNames":[{"name":"_result","nativeSrc":"2894:7:82","nodeType":"YulIdentifier","src":"2894:7:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56647,"isOffset":false,"isSlot":false,"src":"2978:12:82","valueSize":1},{"declaration":56647,"isOffset":false,"isSlot":false,"src":"3053:12:82","valueSize":1},{"declaration":56653,"isOffset":false,"isSlot":false,"src":"2957:19:82","valueSize":1},{"declaration":56653,"isOffset":false,"isSlot":false,"src":"3028:19:82","valueSize":1},{"declaration":56725,"isOffset":false,"isSlot":false,"src":"2994:7:82","valueSize":1},{"declaration":56727,"isOffset":false,"isSlot":false,"src":"3067:12:82","valueSize":1},{"declaration":56731,"isOffset":false,"isSlot":false,"src":"2894:7:82","valueSize":1}],"flags":["memory-safe"],"id":56733,"nodeType":"InlineAssembly","src":"2855:254:82"}]},"id":56735,"implemented":true,"kind":"function","modifiers":[],"name":"setProtocolFee","nameLocation":"2756:14:82","nodeType":"FunctionDefinition","parameters":{"id":56728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56725,"mutability":"mutable","name":"_packed","nameLocation":"2777:7:82","nodeType":"VariableDeclaration","scope":56735,"src":"2771:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56724,"nodeType":"UserDefinedTypeName","pathNode":{"id":56723,"name":"Slot0","nameLocations":["2771:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2771:5:82"},"referencedDeclaration":56636,"src":"2771:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"},{"constant":false,"id":56727,"mutability":"mutable","name":"_protocolFee","nameLocation":"2793:12:82","nodeType":"VariableDeclaration","scope":56735,"src":"2786:19:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56726,"name":"uint24","nodeType":"ElementaryTypeName","src":"2786:6:82","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"2770:36:82"},"returnParameters":{"id":56732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56731,"mutability":"mutable","name":"_result","nameLocation":"2836:7:82","nodeType":"VariableDeclaration","scope":56735,"src":"2830:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56730,"nodeType":"UserDefinedTypeName","pathNode":{"id":56729,"name":"Slot0","nameLocations":["2830:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"2830:5:82"},"referencedDeclaration":56636,"src":"2830:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"2829:15:82"},"scope":56749,"src":"2747:368:82","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":56747,"nodeType":"Block","src":"3207:194:82","statements":[{"AST":{"nativeSrc":"3242:153:82","nodeType":"YulBlock","src":"3242:153:82","statements":[{"nativeSrc":"3256:129:82","nodeType":"YulAssignment","src":"3256:129:82","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"LP_FEE_OFFSET","nativeSrc":"3298:13:82","nodeType":"YulIdentifier","src":"3298:13:82"},{"name":"MASK_24_BITS","nativeSrc":"3313:12:82","nodeType":"YulIdentifier","src":"3313:12:82"}],"functionName":{"name":"shl","nativeSrc":"3294:3:82","nodeType":"YulIdentifier","src":"3294:3:82"},"nativeSrc":"3294:32:82","nodeType":"YulFunctionCall","src":"3294:32:82"}],"functionName":{"name":"not","nativeSrc":"3290:3:82","nodeType":"YulIdentifier","src":"3290:3:82"},"nativeSrc":"3290:37:82","nodeType":"YulFunctionCall","src":"3290:37:82"},{"name":"_packed","nativeSrc":"3329:7:82","nodeType":"YulIdentifier","src":"3329:7:82"}],"functionName":{"name":"and","nativeSrc":"3286:3:82","nodeType":"YulIdentifier","src":"3286:3:82"},"nativeSrc":"3286:51:82","nodeType":"YulFunctionCall","src":"3286:51:82"},{"arguments":[{"name":"LP_FEE_OFFSET","nativeSrc":"3343:13:82","nodeType":"YulIdentifier","src":"3343:13:82"},{"arguments":[{"name":"MASK_24_BITS","nativeSrc":"3362:12:82","nodeType":"YulIdentifier","src":"3362:12:82"},{"name":"_lpFee","nativeSrc":"3376:6:82","nodeType":"YulIdentifier","src":"3376:6:82"}],"functionName":{"name":"and","nativeSrc":"3358:3:82","nodeType":"YulIdentifier","src":"3358:3:82"},"nativeSrc":"3358:25:82","nodeType":"YulFunctionCall","src":"3358:25:82"}],"functionName":{"name":"shl","nativeSrc":"3339:3:82","nodeType":"YulIdentifier","src":"3339:3:82"},"nativeSrc":"3339:45:82","nodeType":"YulFunctionCall","src":"3339:45:82"}],"functionName":{"name":"or","nativeSrc":"3283:2:82","nodeType":"YulIdentifier","src":"3283:2:82"},"nativeSrc":"3283:102:82","nodeType":"YulFunctionCall","src":"3283:102:82"},"variableNames":[{"name":"_result","nativeSrc":"3256:7:82","nodeType":"YulIdentifier","src":"3256:7:82"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":56656,"isOffset":false,"isSlot":false,"src":"3298:13:82","valueSize":1},{"declaration":56656,"isOffset":false,"isSlot":false,"src":"3343:13:82","valueSize":1},{"declaration":56647,"isOffset":false,"isSlot":false,"src":"3313:12:82","valueSize":1},{"declaration":56647,"isOffset":false,"isSlot":false,"src":"3362:12:82","valueSize":1},{"declaration":56740,"isOffset":false,"isSlot":false,"src":"3376:6:82","valueSize":1},{"declaration":56738,"isOffset":false,"isSlot":false,"src":"3329:7:82","valueSize":1},{"declaration":56744,"isOffset":false,"isSlot":false,"src":"3256:7:82","valueSize":1}],"flags":["memory-safe"],"id":56746,"nodeType":"InlineAssembly","src":"3217:178:82"}]},"id":56748,"implemented":true,"kind":"function","modifiers":[],"name":"setLpFee","nameLocation":"3130:8:82","nodeType":"FunctionDefinition","parameters":{"id":56741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56738,"mutability":"mutable","name":"_packed","nameLocation":"3145:7:82","nodeType":"VariableDeclaration","scope":56748,"src":"3139:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56737,"nodeType":"UserDefinedTypeName","pathNode":{"id":56736,"name":"Slot0","nameLocations":["3139:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"3139:5:82"},"referencedDeclaration":56636,"src":"3139:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"},{"constant":false,"id":56740,"mutability":"mutable","name":"_lpFee","nameLocation":"3161:6:82","nodeType":"VariableDeclaration","scope":56748,"src":"3154:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":56739,"name":"uint24","nodeType":"ElementaryTypeName","src":"3154:6:82","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"3138:30:82"},"returnParameters":{"id":56745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56744,"mutability":"mutable","name":"_result","nameLocation":"3198:7:82","nodeType":"VariableDeclaration","scope":56748,"src":"3192:13:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"},"typeName":{"id":56743,"nodeType":"UserDefinedTypeName","pathNode":{"id":56742,"name":"Slot0","nameLocations":["3192:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":56636,"src":"3192:5:82"},"referencedDeclaration":56636,"src":"3192:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Slot0_$56636","typeString":"Slot0"}},"visibility":"internal"}],"src":"3191:15:82"},"scope":56749,"src":"3121:280:82","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":56750,"src":"1058:2345:82","usedErrors":[],"usedEvents":[]}],"src":"32:3372:82"},"id":82},"v4-core/test/ModifyLiquidity.t.sol":{"ast":{"absolutePath":"v4-core/test/ModifyLiquidity.t.sol","exportedSymbols":{"BalanceDelta":[4233],"Constants":[4864],"Currency":[4399],"Deployers":[5883],"Fuzzers":[3784],"IHooks":[1480],"IPoolManager":[1763],"JavascriptFfi":[5966],"Logger":[6016],"MockERC20":[1281],"ModifyLiquidityParams":[4761],"ModifyLiquidityTest":[1181],"PoolId":[4699],"PoolKey":[4745],"PoolModifyLiquidityTest":[4227],"Position":[1929],"StateLibrary":[2586],"Test":[1233],"TickMath":[3140],"toBalanceDelta":[4259]},"id":1182,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:83"},{"absolutePath":"v4-core/lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":1234,"src":"65:40:83","symbolAliases":[{"foreign":{"id":2,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"73:4:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/Deployers.sol","file":"./utils/Deployers.sol","id":5,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":5884,"src":"106:48:83","symbolAliases":[{"foreign":{"id":4,"name":"Deployers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5883,"src":"114:9:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"src/types/PoolKey.sol","id":7,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4746,"src":"155:46:83","symbolAliases":[{"foreign":{"id":6,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"163:7:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"src/types/PoolOperation.sol","id":9,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4773,"src":"202:66:83","symbolAliases":[{"foreign":{"id":8,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"210:21:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"src/interfaces/IPoolManager.sol","id":11,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":1764,"src":"269:61:83","symbolAliases":[{"foreign":{"id":10,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"277:12:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"src/interfaces/IHooks.sol","id":13,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":1481,"src":"331:49:83","symbolAliases":[{"foreign":{"id":12,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"339:6:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Position.sol","file":"src/libraries/Position.sol","id":15,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":1930,"src":"381:52:83","symbolAliases":[{"foreign":{"id":14,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"389:8:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"src/types/PoolId.sol","id":17,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4714,"src":"434:44:83","symbolAliases":[{"foreign":{"id":16,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"442:6:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTest.sol","file":"../src/test/PoolModifyLiquidityTest.sol","id":19,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4228,"src":"479:80:83","symbolAliases":[{"foreign":{"id":18,"name":"PoolModifyLiquidityTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4227,"src":"487:23:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/Constants.sol","file":"./utils/Constants.sol","id":21,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4865,"src":"560:48:83","symbolAliases":[{"foreign":{"id":20,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"568:9:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"src/types/Currency.sol","id":23,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4694,"src":"609:48:83","symbolAliases":[{"foreign":{"id":22,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"617:8:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol","file":"solmate/src/test/utils/mocks/MockERC20.sol","id":25,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":1282,"src":"658:69:83","symbolAliases":[{"foreign":{"id":24,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"666:9:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"src/libraries/StateLibrary.sol","id":27,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":2587,"src":"728:60:83","symbolAliases":[{"foreign":{"id":26,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"736:12:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/JavascriptFfi.sol","file":"./utils/JavascriptFfi.sol","id":29,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":5967,"src":"789:56:83","symbolAliases":[{"foreign":{"id":28,"name":"JavascriptFfi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"797:13:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../src/types/BalanceDelta.sol","id":31,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4392,"src":"846:59:83","symbolAliases":[{"foreign":{"id":30,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"854:12:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/Fuzzers.sol","file":"../src/test/Fuzzers.sol","id":33,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":3785,"src":"906:48:83","symbolAliases":[{"foreign":{"id":32,"name":"Fuzzers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3784,"src":"914:7:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickMath.sol","file":"src/libraries/TickMath.sol","id":35,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":3141,"src":"955:52:83","symbolAliases":[{"foreign":{"id":34,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"963:8:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"src/types/BalanceDelta.sol","id":37,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":4392,"src":"1008:58:83","symbolAliases":[{"foreign":{"id":36,"name":"toBalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"1016:14:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/Logger.sol","file":"./utils/Logger.sol","id":39,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1182,"sourceUnit":6017,"src":"1067:42:83","symbolAliases":[{"foreign":{"id":38,"name":"Logger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"1075:6:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":40,"name":"Test","nameLocations":["1143:4:83"],"nodeType":"IdentifierPath","referencedDeclaration":1233,"src":"1143:4:83"},"id":41,"nodeType":"InheritanceSpecifier","src":"1143:4:83"},{"baseName":{"id":42,"name":"Logger","nameLocations":["1149:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":6016,"src":"1149:6:83"},"id":43,"nodeType":"InheritanceSpecifier","src":"1149:6:83"},{"baseName":{"id":44,"name":"Deployers","nameLocations":["1157:9:83"],"nodeType":"IdentifierPath","referencedDeclaration":5883,"src":"1157:9:83"},"id":45,"nodeType":"InheritanceSpecifier","src":"1157:9:83"},{"baseName":{"id":46,"name":"JavascriptFfi","nameLocations":["1168:13:83"],"nodeType":"IdentifierPath","referencedDeclaration":5966,"src":"1168:13:83"},"id":47,"nodeType":"InheritanceSpecifier","src":"1168:13:83"},{"baseName":{"id":48,"name":"Fuzzers","nameLocations":["1183:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":3784,"src":"1183:7:83"},"id":49,"nodeType":"InheritanceSpecifier","src":"1183:7:83"}],"canonicalName":"ModifyLiquidityTest","contractDependencies":[1281,4227,50464,51179,51371,51712,52012,52198,53690,53917,54134],"contractKind":"contract","fullyImplemented":true,"id":1181,"internalFunctionIDs":{"18743":1,"23247":2},"linearizedBaseContracts":[1181,3784,5966,5883,6016,1233,18792,12770,12410,11617,9557,8712,6082,6079],"name":"ModifyLiquidityTest","nameLocation":"1120:19:83","nodeType":"ContractDefinition","nodes":[{"global":false,"id":53,"libraryName":{"id":50,"name":"StateLibrary","nameLocations":["1203:12:83"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"1203:12:83"},"nodeType":"UsingForDirective","src":"1197:36:83","typeName":{"id":52,"nodeType":"UserDefinedTypeName","pathNode":{"id":51,"name":"IPoolManager","nameLocations":["1220:12:83"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1220:12:83"},"referencedDeclaration":1763,"src":"1220:12:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"constant":false,"id":56,"mutability":"mutable","name":"simpleKey","nameLocation":"1247:9:83","nodeType":"VariableDeclaration","scope":1181,"src":"1239:17:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":55,"nodeType":"UserDefinedTypeName","pathNode":{"id":54,"name":"PoolKey","nameLocations":["1239:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"1239:7:83"},"referencedDeclaration":4745,"src":"1239:7:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":59,"mutability":"mutable","name":"simplePoolId","nameLocation":"1289:12:83","nodeType":"VariableDeclaration","scope":1181,"src":"1282:19:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":58,"nodeType":"UserDefinedTypeName","pathNode":{"id":57,"name":"PoolId","nameLocations":["1282:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"1282:6:83"},"referencedDeclaration":4699,"src":"1282:6:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":62,"mutability":"mutable","name":"SALT","nameLocation":"1343:4:83","nodeType":"VariableDeclaration","scope":1181,"src":"1335:24:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1335:7:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"caff","id":61,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"1350:9:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_69380a5d8eb2b5dfae693b1bf989cbfc21299cc22ad1dd74e7e1d94964cace09","typeString":"literal_string hex\"caff\""}},"visibility":"internal"},{"constant":true,"id":65,"mutability":"constant","name":"ONE_PIP","nameLocation":"1382:7:83","nodeType":"VariableDeclaration","scope":1181,"src":"1366:29:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":63,"name":"int128","nodeType":"ElementaryTypeName","src":"1366:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"value":{"hexValue":"316536","id":64,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1392:3:83","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"visibility":"internal"},{"constant":false,"functionSelector":"8041e4df","id":75,"mutability":"mutable","name":"LIQ_PARAM_NO_SALT","nameLocation":"1431:17:83","nodeType":"VariableDeclaration","scope":1181,"src":"1402:144:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":67,"nodeType":"UserDefinedTypeName","pathNode":{"id":66,"name":"ModifyLiquidityParams","nameLocations":["1402:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1402:21:83"},"referencedDeclaration":4761,"src":"1402:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":70,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1493:4:83","subExpression":{"hexValue":"313230","id":69,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1494:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":71,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1510:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"31653138","id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1531:4:83","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},{"hexValue":"30","id":73,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1543:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":68,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"1459:21:83","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":74,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1482:9:83","1499:9:83","1515:14:83","1537:4:83"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"1459:87:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"public"},{"constant":false,"functionSelector":"d0df58d8","id":85,"mutability":"mutable","name":"LIQ_PARAM_SALT","nameLocation":"1582:14:83","nodeType":"VariableDeclaration","scope":1181,"src":"1553:144:83","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":77,"nodeType":"UserDefinedTypeName","pathNode":{"id":76,"name":"ModifyLiquidityParams","nameLocations":["1553:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"1553:21:83"},"referencedDeclaration":4761,"src":"1553:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":80,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1641:4:83","subExpression":{"hexValue":"313230","id":79,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1642:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1658:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"31653138","id":82,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1679:4:83","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},{"id":83,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"1691:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":78,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"1607:21:83","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":84,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1630:9:83","1647:9:83","1663:14:83","1685:4:83"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"1607:90:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"public"},{"body":{"id":111,"nodeType":"Block","src":"1728:200:83","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":88,"name":"deployFreshManagerAndRouters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5192,"src":"1738:28:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":89,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1738:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90,"nodeType":"ExpressionStatement","src":"1738:30:83"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":91,"name":"deployMintAndApprove2Currencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5238,"src":"1778:31:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () returns (Currency,Currency)"}},"id":92,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1778:33:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"id":93,"nodeType":"ExpressionStatement","src":"1778:33:83"},{"expression":{"id":109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":94,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"1822:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":95,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"1833:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"id":96,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1821:25:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_storage_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey storage ref,PoolId)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"1858:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":99,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"1869:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[{"arguments":[{"hexValue":"30","id":103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1895:1:83","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":102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1887:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":101,"name":"address","nodeType":"ElementaryTypeName","src":"1887:7:83","typeDescriptions":{}}},"id":104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1887:10:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":100,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"1880:6:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1880:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"hexValue":"33303030","id":106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1900:4:83","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},{"id":107,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"1906:14:83","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":97,"name":"initPool","nodeType":"Identifier","overloadedDeclarations":[5483,5531],"referencedDeclaration":5483,"src":"1849:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1849:72:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"src":"1821:100:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":110,"nodeType":"ExpressionStatement","src":"1821:100:83"}]},"functionSelector":"0a9254e4","id":112,"implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1713:5:83","nodeType":"FunctionDefinition","parameters":{"id":86,"nodeType":"ParameterList","parameters":[],"src":"1718:2:83"},"returnParameters":{"id":87,"nodeType":"ParameterList","parameters":[],"src":"1728:0:83"},"scope":1181,"src":"1704:224:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":167,"nodeType":"Block","src":"2425:706:83","statements":[{"assignments":[121],"declarations":[{"constant":false,"id":121,"mutability":"mutable","name":"params","nameLocation":"2658:6:83","nodeType":"VariableDeclaration","scope":167,"src":"2629:35:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":120,"nodeType":"UserDefinedTypeName","pathNode":{"id":119,"name":"ModifyLiquidityParams","nameLocations":["2629:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2629:21:83"},"referencedDeclaration":4761,"src":"2629:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"id":127,"initialValue":{"arguments":[{"id":123,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"2694:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":124,"name":"paramSeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"2705:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":125,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"2716:14:83","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":122,"name":"createFuzzyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3646,"src":"2667:26:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_uint160_$returns$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,uint160) pure returns (struct ModifyLiquidityParams memory)"}},"id":126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2667:64:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"VariableDeclarationStatement","src":"2629:102:83"},{"expression":{"arguments":[{"id":129,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121,"src":"2752:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}],"id":128,"name":"logParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6015,"src":"2742:9:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$returns$__$","typeString":"function (struct ModifyLiquidityParams memory) pure"}},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2742:17:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":131,"nodeType":"ExpressionStatement","src":"2742:17:83"},{"assignments":[134],"declarations":[{"constant":false,"id":134,"mutability":"mutable","name":"delta","nameLocation":"2784:5:83","nodeType":"VariableDeclaration","scope":167,"src":"2771:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":133,"nodeType":"UserDefinedTypeName","pathNode":{"id":132,"name":"BalanceDelta","nameLocations":["2771:12:83"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"2771:12:83"},"referencedDeclaration":4233,"src":"2771:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":141,"initialValue":{"arguments":[{"id":137,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"2831:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":138,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121,"src":"2842:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":139,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"2850:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"2793:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2815:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"2793:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2793:68:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"2770:91:83"},{"assignments":[143,145],"declarations":[{"constant":false,"id":143,"mutability":"mutable","name":"jsDelta0","nameLocation":"2880:8:83","nodeType":"VariableDeclaration","scope":167,"src":"2873:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":142,"name":"int128","nodeType":"ElementaryTypeName","src":"2873:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":145,"mutability":"mutable","name":"jsDelta1","nameLocation":"2897:8:83","nodeType":"VariableDeclaration","scope":167,"src":"2890:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":144,"name":"int128","nodeType":"ElementaryTypeName","src":"2890:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":150,"initialValue":{"arguments":[{"id":147,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"2928:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":148,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121,"src":"2942:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}],"id":146,"name":"_modifyLiquidityJS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"2909:18:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$returns$_t_int128_$_t_int128_$","typeString":"function (PoolId,struct ModifyLiquidityParams memory) returns (int128,int128)"}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2909:40:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"nodeType":"VariableDeclarationStatement","src":"2872:77:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":152,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"2972:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2978:7:83","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"2972:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2972:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":155,"name":"jsDelta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"2989:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7430206973206f6666206279206d6f7265207468616e206f6e6520706970","id":156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2999:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""},"value":"amount0 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""}],"id":151,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"2960:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2960:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":158,"nodeType":"ExpressionStatement","src":"2960:77:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":160,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"3059:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3065:7:83","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"3059:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3059:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":163,"name":"jsDelta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":145,"src":"3076:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7431206973206f6666206279206d6f7265207468616e206f6e6520706970","id":164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3086:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""},"value":"amount1 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""}],"id":159,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"3047:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3047:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166,"nodeType":"ExpressionStatement","src":"3047:77:83"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"2120:164:83","text":"forge-config: default.fuzz.runs = 10\n forge-config: pr.fuzz.runs = 10\n forge-config: ci.fuzz.runs = 500\n forge-config: debug.fuzz.runs = 10"},"functionSelector":"acf5d6da","id":168,"implemented":true,"kind":"function","modifiers":[],"name":"test_ffi_fuzz_addLiquidity_defaultPool_ReturnsCorrectLiquidityDelta","nameLocation":"2298:67:83","nodeType":"FunctionDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":116,"mutability":"mutable","name":"paramSeed","nameLocation":"2395:9:83","nodeType":"VariableDeclaration","scope":168,"src":"2366:38:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":115,"nodeType":"UserDefinedTypeName","pathNode":{"id":114,"name":"ModifyLiquidityParams","nameLocations":["2366:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2366:21:83"},"referencedDeclaration":4761,"src":"2366:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"src":"2365:40:83"},"returnParameters":{"id":118,"nodeType":"ParameterList","parameters":[],"src":"2425:0:83"},"scope":1181,"src":"2289:842:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":252,"nodeType":"Block","src":"3294:996:83","statements":[{"assignments":[173,176],"declarations":[{"constant":false,"id":173,"mutability":"mutable","name":"wp0","nameLocation":"3379:3:83","nodeType":"VariableDeclaration","scope":252,"src":"3364:18:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":172,"nodeType":"UserDefinedTypeName","pathNode":{"id":171,"name":"PoolKey","nameLocations":["3364:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3364:7:83"},"referencedDeclaration":4745,"src":"3364:7:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"wpId0","nameLocation":"3391:5:83","nodeType":"VariableDeclaration","scope":252,"src":"3384:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":175,"nodeType":"UserDefinedTypeName","pathNode":{"id":174,"name":"PoolId","nameLocations":["3384:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"3384:6:83"},"referencedDeclaration":4699,"src":"3384:6:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":191,"initialValue":{"arguments":[{"id":178,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"3421:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":179,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"3432:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[{"arguments":[{"hexValue":"30","id":183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3458:1:83","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":182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3450:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":181,"name":"address","nodeType":"ElementaryTypeName","src":"3450:7:83","typeDescriptions":{}}},"id":184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:10:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":180,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"3443:6:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"hexValue":"353030","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3463:3:83","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"},{"expression":{"id":187,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"3468:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3477:16:83","memberName":"MAX_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2627,"src":"3468:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":189,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"3495:14:83","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":177,"name":"initPool","nodeType":"Identifier","overloadedDeclarations":[5483,5531],"referencedDeclaration":5531,"src":"3412:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_int24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,int24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3412:98:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"nodeType":"VariableDeclarationStatement","src":"3363:147:83"},{"assignments":[193],"declarations":[{"constant":false,"id":193,"mutability":"mutable","name":"tickUpper","nameLocation":"3612:9:83","nodeType":"VariableDeclaration","scope":252,"src":"3606:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":192,"name":"int24","nodeType":"ElementaryTypeName","src":"3606:5:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":198,"initialValue":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":194,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"3624:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3633:16:83","memberName":"MAX_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2627,"src":"3624:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"34","id":196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3652:1:83","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"3624:29:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"3606:47:83"},{"assignments":[200],"declarations":[{"constant":false,"id":200,"mutability":"mutable","name":"tickLower","nameLocation":"3669:9:83","nodeType":"VariableDeclaration","scope":252,"src":"3663:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":199,"name":"int24","nodeType":"ElementaryTypeName","src":"3663:5:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":206,"initialValue":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":201,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"3681:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3690:16:83","memberName":"MAX_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2627,"src":"3681:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3709:2:83","subExpression":{"hexValue":"39","id":203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3710:1:83","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_9_by_1","typeString":"int_const -9"}},"src":"3681:30:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"3663:48:83"},{"assignments":[209],"declarations":[{"constant":false,"id":209,"mutability":"mutable","name":"params","nameLocation":"3750:6:83","nodeType":"VariableDeclaration","scope":252,"src":"3721:35:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":208,"nodeType":"UserDefinedTypeName","pathNode":{"id":207,"name":"ModifyLiquidityParams","nameLocations":["3721:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"3721:21:83"},"referencedDeclaration":4761,"src":"3721:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"id":216,"initialValue":{"arguments":[{"id":211,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"3806:9:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":212,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":193,"src":"3840:9:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"3136373837383939323134363030393339343538","id":213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3879:20:83","typeDescriptions":{"typeIdentifier":"t_rational_16787899214600939458_by_1","typeString":"int_const 16787899214600939458"},"value":"16787899214600939458"},{"hexValue":"30","id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3919:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_16787899214600939458_by_1","typeString":"int_const 16787899214600939458"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":210,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"3759:21:83","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3795:9:83","3829:9:83","3863:14:83","3913:4:83"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"3759:172:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3721:210:83"},{"assignments":[219],"declarations":[{"constant":false,"id":219,"mutability":"mutable","name":"delta","nameLocation":"3956:5:83","nodeType":"VariableDeclaration","scope":252,"src":"3943:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":218,"nodeType":"UserDefinedTypeName","pathNode":{"id":217,"name":"BalanceDelta","nameLocations":["3943:12:83"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"3943:12:83"},"referencedDeclaration":4233,"src":"3943:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":226,"initialValue":{"arguments":[{"id":222,"name":"wp0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"4003:3:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":223,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"4008:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":224,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"4016:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":220,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"3965:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3987:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"3965:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3965:62:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"3942:85:83"},{"assignments":[228,230],"declarations":[{"constant":false,"id":228,"mutability":"mutable","name":"jsDelta0","nameLocation":"4046:8:83","nodeType":"VariableDeclaration","scope":252,"src":"4039:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":227,"name":"int128","nodeType":"ElementaryTypeName","src":"4039:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":230,"mutability":"mutable","name":"jsDelta1","nameLocation":"4063:8:83","nodeType":"VariableDeclaration","scope":252,"src":"4056:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":229,"name":"int128","nodeType":"ElementaryTypeName","src":"4056:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":235,"initialValue":{"arguments":[{"id":232,"name":"wpId0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"4094:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":233,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"4101:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}],"id":231,"name":"_modifyLiquidityJS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"4075:18:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$returns$_t_int128_$_t_int128_$","typeString":"function (PoolId,struct ModifyLiquidityParams memory) returns (int128,int128)"}},"id":234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4075:33:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"nodeType":"VariableDeclarationStatement","src":"4038:70:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":237,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":219,"src":"4131:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4137:7:83","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"4131:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4131:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":240,"name":"jsDelta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":228,"src":"4148:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7430206973206f6666206279206d6f7265207468616e206f6e6520706970","id":241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4158:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""},"value":"amount0 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""}],"id":236,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"4119:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4119:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":243,"nodeType":"ExpressionStatement","src":"4119:77:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":245,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":219,"src":"4218:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4224:7:83","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"4218:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4218:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":248,"name":"jsDelta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":230,"src":"4235:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7431206973206f6666206279206d6f7265207468616e206f6e6520706970","id":249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4245:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""},"value":"amount1 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""}],"id":244,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"4206:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4206:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":251,"nodeType":"ExpressionStatement","src":"4206:77:83"}]},"functionSelector":"aad5e125","id":253,"implemented":true,"kind":"function","modifiers":[],"name":"test_ffi_addLiqudity_weirdPool_0_returnsCorrectLiquidityDelta","nameLocation":"3223:61:83","nodeType":"FunctionDefinition","parameters":{"id":169,"nodeType":"ParameterList","parameters":[],"src":"3284:2:83"},"returnParameters":{"id":170,"nodeType":"ParameterList","parameters":[],"src":"3294:0:83"},"scope":1181,"src":"3214:1076:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":342,"nodeType":"Block","src":"4454:1032:83","statements":[{"assignments":[258,261],"declarations":[{"constant":false,"id":258,"mutability":"mutable","name":"wp0","nameLocation":"4539:3:83","nodeType":"VariableDeclaration","scope":342,"src":"4524:18:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":257,"nodeType":"UserDefinedTypeName","pathNode":{"id":256,"name":"PoolKey","nameLocations":["4524:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"4524:7:83"},"referencedDeclaration":4745,"src":"4524:7:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":261,"mutability":"mutable","name":"wpId0","nameLocation":"4551:5:83","nodeType":"VariableDeclaration","scope":342,"src":"4544:12:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":260,"nodeType":"UserDefinedTypeName","pathNode":{"id":259,"name":"PoolId","nameLocations":["4544:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"4544:6:83"},"referencedDeclaration":4699,"src":"4544:6:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"id":276,"initialValue":{"arguments":[{"id":263,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"4581:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":264,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"4592:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[{"arguments":[{"hexValue":"30","id":268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4618:1:83","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":267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4610:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":266,"name":"address","nodeType":"ElementaryTypeName","src":"4610:7:83","typeDescriptions":{}}},"id":269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4610:10:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":265,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"4603:6:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHooks_$1480_$","typeString":"type(contract IHooks)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4603:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"hexValue":"353531","id":271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4623:3:83","typeDescriptions":{"typeIdentifier":"t_rational_551_by_1","typeString":"int_const 551"},"value":"551"},{"expression":{"id":272,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4628:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4637:16:83","memberName":"MIN_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"4628:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":274,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"4655:14:83","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_rational_551_by_1","typeString":"int_const 551"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":262,"name":"initPool","nodeType":"Identifier","overloadedDeclarations":[5483,5531],"referencedDeclaration":5531,"src":"4572:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_int24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,int24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4572:98:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"nodeType":"VariableDeclarationStatement","src":"4523:147:83"},{"assignments":[278],"declarations":[{"constant":false,"id":278,"mutability":"mutable","name":"tickUpper","nameLocation":"4772:9:83","nodeType":"VariableDeclaration","scope":342,"src":"4766:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":277,"name":"int24","nodeType":"ElementaryTypeName","src":"4766:5:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":283,"initialValue":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":279,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4784:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4793:16:83","memberName":"MIN_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"4784:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3137","id":281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4812:2:83","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},"src":"4784:30:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"4766:48:83"},{"assignments":[285],"declarations":[{"constant":false,"id":285,"mutability":"mutable","name":"tickLower","nameLocation":"4830:9:83","nodeType":"VariableDeclaration","scope":342,"src":"4824:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":284,"name":"int24","nodeType":"ElementaryTypeName","src":"4824:5:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"id":290,"initialValue":{"commonType":{"typeIdentifier":"t_int24","typeString":"int24"},"id":289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":286,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"4842:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4851:16:83","memberName":"MIN_TICK_SPACING","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"4842:25:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"39","id":288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4870:1:83","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"4842:29:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"VariableDeclarationStatement","src":"4824:47:83"},{"assignments":[293],"declarations":[{"constant":false,"id":293,"mutability":"mutable","name":"params","nameLocation":"4910:6:83","nodeType":"VariableDeclaration","scope":342,"src":"4881:35:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":292,"nodeType":"UserDefinedTypeName","pathNode":{"id":291,"name":"ModifyLiquidityParams","nameLocations":["4881:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"4881:21:83"},"referencedDeclaration":4761,"src":"4881:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"id":300,"initialValue":{"arguments":[{"id":295,"name":"tickLower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"4966:9:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":296,"name":"tickUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"5000:9:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"393232383731363134343939393535323637343539393633","id":297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5039:24:83","typeDescriptions":{"typeIdentifier":"t_rational_922871614499955267459963_by_1","typeString":"int_const 922871614499955267459963"},"value":"922871614499955267459963"},{"hexValue":"30","id":298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_922871614499955267459963_by_1","typeString":"int_const 922871614499955267459963"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":294,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"4919:21:83","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4955:9:83","4989:9:83","5023:14:83","5077:4:83"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"4919:176:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"VariableDeclarationStatement","src":"4881:214:83"},{"expression":{"id":305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":301,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"5106:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5113:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"5106:16:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3130","id":304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5125:2:83","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"5106:21:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":306,"nodeType":"ExpressionStatement","src":"5106:21:83"},{"assignments":[309],"declarations":[{"constant":false,"id":309,"mutability":"mutable","name":"delta","nameLocation":"5152:5:83","nodeType":"VariableDeclaration","scope":342,"src":"5139:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":308,"nodeType":"UserDefinedTypeName","pathNode":{"id":307,"name":"BalanceDelta","nameLocations":["5139:12:83"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"5139:12:83"},"referencedDeclaration":4233,"src":"5139:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"id":316,"initialValue":{"arguments":[{"id":312,"name":"wp0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"5199:3:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":313,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"5204:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":314,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"5212:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":310,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"5161:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5183:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"5161:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:62:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"nodeType":"VariableDeclarationStatement","src":"5138:85:83"},{"assignments":[318,320],"declarations":[{"constant":false,"id":318,"mutability":"mutable","name":"jsDelta0","nameLocation":"5242:8:83","nodeType":"VariableDeclaration","scope":342,"src":"5235:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":317,"name":"int128","nodeType":"ElementaryTypeName","src":"5235:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":320,"mutability":"mutable","name":"jsDelta1","nameLocation":"5259:8:83","nodeType":"VariableDeclaration","scope":342,"src":"5252:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":319,"name":"int128","nodeType":"ElementaryTypeName","src":"5252:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":325,"initialValue":{"arguments":[{"id":322,"name":"wpId0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":261,"src":"5290:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"id":323,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"5297:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}],"id":321,"name":"_modifyLiquidityJS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"5271:18:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_PoolId_$4699_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$returns$_t_int128_$_t_int128_$","typeString":"function (PoolId,struct ModifyLiquidityParams memory) returns (int128,int128)"}},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:33:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"nodeType":"VariableDeclarationStatement","src":"5234:70:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":327,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"5327:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5333:7:83","memberName":"amount0","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"5327:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5327:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":330,"name":"jsDelta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"src":"5344:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7430206973206f6666206279206d6f7265207468616e206f6e6520706970","id":331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5354:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""},"value":"amount0 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_e9d6ec7e749374199f898b0ba4773c9ee659c41f6b39cef3b72325afd15a7d5b","typeString":"literal_string \"amount0 is off by more than one pip\""}],"id":326,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"5315:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5315:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":333,"nodeType":"ExpressionStatement","src":"5315:77:83"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":335,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"5414:5:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5420:7:83","memberName":"amount1","nodeType":"MemberAccess","referencedDeclaration":4390,"src":"5414:13:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_BalanceDelta_$4233_$returns$_t_int128_$attached_to$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (BalanceDelta) pure returns (int128)"}},"id":337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5414:15:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":338,"name":"jsDelta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"5431:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"616d6f756e7431206973206f6666206279206d6f7265207468616e206f6e6520706970","id":339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5441:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""},"value":"amount1 is off by more than one pip"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_stringliteral_b96908e14e4e2f04b5998da403ef3dce578aea9371927c3d3fc63d9ca4c4a677","typeString":"literal_string \"amount1 is off by more than one pip\""}],"id":334,"name":"_checkError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":489,"src":"5402:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int128_$_t_int128_$_t_string_memory_ptr_$returns$__$","typeString":"function (int128,int128,string memory) pure"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5402:77:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":341,"nodeType":"ExpressionStatement","src":"5402:77:83"}]},"functionSelector":"407efc7e","id":343,"implemented":true,"kind":"function","modifiers":[],"name":"test_ffi_addLiqudity_weirdPool_1_returnsCorrectLiquidityDelta","nameLocation":"4383:61:83","nodeType":"FunctionDefinition","parameters":{"id":254,"nodeType":"ParameterList","parameters":[],"src":"4444:2:83"},"returnParameters":{"id":255,"nodeType":"ParameterList","parameters":[],"src":"4454:0:83"},"scope":1181,"src":"4374:1112:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":442,"nodeType":"Block","src":"5604:797:83","statements":[{"assignments":[357,359,null,null],"declarations":[{"constant":false,"id":357,"mutability":"mutable","name":"price","nameLocation":"5623:5:83","nodeType":"VariableDeclaration","scope":442,"src":"5615:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":356,"name":"uint256","nodeType":"ElementaryTypeName","src":"5615:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":359,"mutability":"mutable","name":"tick","nameLocation":"5636:4:83","nodeType":"VariableDeclaration","scope":442,"src":"5630:10:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":358,"name":"int24","nodeType":"ElementaryTypeName","src":"5630:5:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},null,null],"id":364,"initialValue":{"arguments":[{"id":362,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"5663:6:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"expression":{"id":360,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"5646:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5654:8:83","memberName":"getSlot0","nodeType":"MemberAccess","referencedDeclaration":2001,"src":"5646:16:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint160,int24,uint24,uint24)"}},"id":363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5646:24:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"tuple(uint160,int24,uint24,uint24)"}},"nodeType":"VariableDeclarationStatement","src":"5614:56:83"},{"assignments":[366],"declarations":[{"constant":false,"id":366,"mutability":"mutable","name":"jsParameters","nameLocation":"5695:12:83","nodeType":"VariableDeclaration","scope":442,"src":"5681:26:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":365,"name":"string","nodeType":"ElementaryTypeName","src":"5681:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":400,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":373,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"5776:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5783:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"5776:16:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":371,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"5764:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5767:8:83","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"5764:11:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5764:29:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2c","id":376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5811:3:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},"value":","},{"arguments":[{"expression":{"id":379,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"5844:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5851:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"5844:16:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"5832:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:8:83","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"5832:11:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5832:29:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2c","id":382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5879:3:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},"value":","},{"arguments":[{"expression":{"id":385,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"5912:6:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5919:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"5912:21:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":383,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"5900:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5903:8:83","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"5900:11:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5900:34:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2c","id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5952:3:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},"value":","},{"arguments":[{"id":391,"name":"tick","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"5985:4:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":389,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"5973:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5976:8:83","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20704,"src":"5973:11:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5973:17:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2c","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6008:3:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},"value":","},{"arguments":[{"id":396,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6041:5:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":394,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"6029:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6032:8:83","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":20696,"src":"6029:11:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6029:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5730:3:83","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5734:12:83","memberName":"encodePacked","nodeType":"MemberAccess","src":"5730:16:83","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5730:331:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5710:6:83","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":367,"name":"string","nodeType":"ElementaryTypeName","src":"5710:6:83","typeDescriptions":{}}},"id":399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5710:361:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"5681:390:83"},{"assignments":[402],"declarations":[{"constant":false,"id":402,"mutability":"mutable","name":"scriptName","nameLocation":"6096:10:83","nodeType":"VariableDeclaration","scope":442,"src":"6082:24:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":401,"name":"string","nodeType":"ElementaryTypeName","src":"6082:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":404,"initialValue":{"hexValue":"666f7267652d746573742d6765744d6f646966794c6971756964697479526573756c74","id":403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6109:37:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_899038a72928491e6b1403e799f87ed6fddb4b10b5872d4c7aad40c7da7ba055","typeString":"literal_string \"forge-test-getModifyLiquidityResult\""},"value":"forge-test-getModifyLiquidityResult"},"nodeType":"VariableDeclarationStatement","src":"6082:64:83"},{"assignments":[406],"declarations":[{"constant":false,"id":406,"mutability":"mutable","name":"jsResult","nameLocation":"6169:8:83","nodeType":"VariableDeclaration","scope":442,"src":"6156:21:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":405,"name":"bytes","nodeType":"ElementaryTypeName","src":"6156:5:83","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":411,"initialValue":{"arguments":[{"id":408,"name":"scriptName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"6190:10:83","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":409,"name":"jsParameters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"6202:12:83","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":407,"name":"runScript","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5965,"src":"6180:9:83","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) returns (bytes memory)"}},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6180:35:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6156:59:83"},{"assignments":[416],"declarations":[{"constant":false,"id":416,"mutability":"mutable","name":"result","nameLocation":"6242:6:83","nodeType":"VariableDeclaration","scope":442,"src":"6226:22:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[]"},"typeName":{"baseType":{"id":414,"name":"int128","nodeType":"ElementaryTypeName","src":"6226:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":415,"nodeType":"ArrayTypeName","src":"6226:8:83","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_storage_ptr","typeString":"int128[]"}},"visibility":"internal"}],"id":425,"initialValue":{"arguments":[{"id":419,"name":"jsResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":406,"src":"6262:8:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6273:6:83","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":420,"name":"int128","nodeType":"ElementaryTypeName","src":"6273:6:83","typeDescriptions":{}}},"id":422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6273:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_int128_$dyn_memory_ptr_$","typeString":"type(int128[] memory)"}}],"id":423,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6272:10:83","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_int128_$dyn_memory_ptr_$","typeString":"type(int128[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_int128_$dyn_memory_ptr_$","typeString":"type(int128[] memory)"}],"expression":{"id":417,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6251:3:83","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6255:6:83","memberName":"decode","nodeType":"MemberAccess","src":"6251:10:83","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6251:32:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6226:57:83"},{"assignments":[427],"declarations":[{"constant":false,"id":427,"mutability":"mutable","name":"jsDelta0","nameLocation":"6300:8:83","nodeType":"VariableDeclaration","scope":442,"src":"6293:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":426,"name":"int128","nodeType":"ElementaryTypeName","src":"6293:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":431,"initialValue":{"baseExpression":{"id":428,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"6311:6:83","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"id":430,"indexExpression":{"hexValue":"30","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6318:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6311:9:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"6293:27:83"},{"assignments":[433],"declarations":[{"constant":false,"id":433,"mutability":"mutable","name":"jsDelta1","nameLocation":"6337:8:83","nodeType":"VariableDeclaration","scope":442,"src":"6330:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":432,"name":"int128","nodeType":"ElementaryTypeName","src":"6330:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":437,"initialValue":{"baseExpression":{"id":434,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"6348:6:83","typeDescriptions":{"typeIdentifier":"t_array$_t_int128_$dyn_memory_ptr","typeString":"int128[] memory"}},"id":436,"indexExpression":{"hexValue":"31","id":435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6355:1:83","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6348:9:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"6330:27:83"},{"expression":{"components":[{"id":438,"name":"jsDelta0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"6375:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":439,"name":"jsDelta1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"6385:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":440,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6374:20:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"functionReturnParameters":355,"id":441,"nodeType":"Return","src":"6367:27:83"}]},"functionSelector":"2499a6ca","id":443,"implemented":true,"kind":"function","modifiers":[],"name":"_modifyLiquidityJS","nameLocation":"5501:18:83","nodeType":"FunctionDefinition","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":346,"mutability":"mutable","name":"poolId","nameLocation":"5527:6:83","nodeType":"VariableDeclaration","scope":443,"src":"5520:13:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":345,"nodeType":"UserDefinedTypeName","pathNode":{"id":344,"name":"PoolId","nameLocations":["5520:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"5520:6:83"},"referencedDeclaration":4699,"src":"5520:6:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"},{"constant":false,"id":349,"mutability":"mutable","name":"params","nameLocation":"5564:6:83","nodeType":"VariableDeclaration","scope":443,"src":"5535:35:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":348,"nodeType":"UserDefinedTypeName","pathNode":{"id":347,"name":"ModifyLiquidityParams","nameLocations":["5535:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"5535:21:83"},"referencedDeclaration":4761,"src":"5535:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"src":"5519:52:83"},"returnParameters":{"id":355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":443,"src":"5588:6:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":351,"name":"int128","nodeType":"ElementaryTypeName","src":"5588:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":443,"src":"5596:6:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":353,"name":"int128","nodeType":"ElementaryTypeName","src":"5596:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"5587:16:83"},"scope":1181,"src":"5492:909:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":488,"nodeType":"Block","src":"6564:320:83","statements":[{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":452,"name":"solc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"6578:4:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":453,"name":"js","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"6586:2:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6578:10:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":487,"nodeType":"IfStatement","src":"6574:304:83","trueBody":{"id":486,"nodeType":"Block","src":"6590:288:83","statements":[{"assignments":[456,458],"declarations":[{"constant":false,"id":456,"mutability":"mutable","name":"gtResult","nameLocation":"6688:8:83","nodeType":"VariableDeclaration","scope":486,"src":"6681:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":455,"name":"int128","nodeType":"ElementaryTypeName","src":"6681:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":458,"mutability":"mutable","name":"ltResult","nameLocation":"6705:8:83","nodeType":"VariableDeclaration","scope":486,"src":"6698:15:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":457,"name":"int128","nodeType":"ElementaryTypeName","src":"6698:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":469,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":459,"name":"js","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"6717:2:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":460,"name":"solc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"6722:4:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6717:9:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"id":465,"name":"solc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"6743:4:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":466,"name":"js","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"6749:2:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6742:10:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6717:35:83","trueExpression":{"components":[{"id":462,"name":"js","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"6730:2:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"id":463,"name":"solc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"6734:4:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}}],"id":464,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6729:10:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int128_$_t_int128_$","typeString":"tuple(int128,int128)"}},"nodeType":"VariableDeclarationStatement","src":"6680:72:83"},{"assignments":[471],"declarations":[{"constant":false,"id":471,"mutability":"mutable","name":"resultsDiff","nameLocation":"6773:11:83","nodeType":"VariableDeclaration","scope":486,"src":"6766:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":470,"name":"int128","nodeType":"ElementaryTypeName","src":"6766:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"id":475,"initialValue":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":472,"name":"gtResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"6787:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":473,"name":"ltResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"6798:8:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6787:19:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"VariableDeclarationStatement","src":"6766:40:83"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int128","typeString":"int128"},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":477,"name":"resultsDiff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":471,"src":"6829:11:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":478,"name":"ONE_PIP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"6843:7:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6829:21:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":480,"name":"js","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"6853:2:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"6829:26:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"30","id":482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6857:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":483,"name":"errMsg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"6860:6:83","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":476,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6484,"src":"6820:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure"}},"id":484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6820:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":485,"nodeType":"ExpressionStatement","src":"6820:47:83"}]}}]},"functionSelector":"7bdfae2d","id":489,"implemented":true,"kind":"function","modifiers":[],"name":"_checkError","nameLocation":"6494:11:83","nodeType":"FunctionDefinition","parameters":{"id":450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":445,"mutability":"mutable","name":"solc","nameLocation":"6513:4:83","nodeType":"VariableDeclaration","scope":489,"src":"6506:11:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":444,"name":"int128","nodeType":"ElementaryTypeName","src":"6506:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":447,"mutability":"mutable","name":"js","nameLocation":"6526:2:83","nodeType":"VariableDeclaration","scope":489,"src":"6519:9:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":446,"name":"int128","nodeType":"ElementaryTypeName","src":"6519:6:83","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"},{"constant":false,"id":449,"mutability":"mutable","name":"errMsg","nameLocation":"6544:6:83","nodeType":"VariableDeclaration","scope":489,"src":"6530:20:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":448,"name":"string","nodeType":"ElementaryTypeName","src":"6530:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6505:46:83"},"returnParameters":{"id":451,"nodeType":"ParameterList","parameters":[],"src":"6564:0:83"},"scope":1181,"src":"6485:399:83","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":588,"nodeType":"Block","src":"7133:957:83","statements":[{"assignments":[493,null,null],"declarations":[{"constant":false,"id":493,"mutability":"mutable","name":"liquidity","nameLocation":"7152:9:83","nodeType":"VariableDeclaration","scope":588,"src":"7144:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":492,"name":"uint128","nodeType":"ElementaryTypeName","src":"7144:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":507,"initialValue":{"arguments":[{"id":496,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"7204:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":499,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7226:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7218:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":497,"name":"address","nodeType":"ElementaryTypeName","src":"7218:7:83","typeDescriptions":{}}},"id":500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7218:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":501,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7250:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7268:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"7250:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":503,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7279:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7297:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"7279:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7308:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":494,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"7167:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7175:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"7167:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7167:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7143:176:83"},{"expression":{"arguments":[{"id":509,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"7338:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7349:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":508,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"7329:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7329:22:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":512,"nodeType":"ExpressionStatement","src":"7329:22:83"},{"expression":{"arguments":[{"id":516,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"7399:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":517,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7410:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":518,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"7429:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":513,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7361:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7383:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"7361:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7361:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":520,"nodeType":"ExpressionStatement","src":"7361:79:83"},{"expression":{"id":536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":521,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"7451:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":522,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"7450:13:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":525,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"7503:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":528,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7525:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7517:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":526,"name":"address","nodeType":"ElementaryTypeName","src":"7517:7:83","typeDescriptions":{}}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7517:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":530,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7549:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":531,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7567:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"7549:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":532,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7578:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7596:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"7578:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7607:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":523,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"7466:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7474:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"7466:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7466:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"7450:168:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":537,"nodeType":"ExpressionStatement","src":"7450:168:83"},{"expression":{"arguments":[{"id":539,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"7638:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":544,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7665:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7683:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"7665:32:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7657:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":542,"name":"uint256","nodeType":"ElementaryTypeName","src":"7657:7:83","typeDescriptions":{}}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7657:41:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7649:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":540,"name":"uint128","nodeType":"ElementaryTypeName","src":"7649:7:83","typeDescriptions":{}}},"id":547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7649:50:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":538,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"7629:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7629:71:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":549,"nodeType":"ExpressionStatement","src":"7629:71:83"},{"expression":{"arguments":[{"id":553,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"7749:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":554,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7760:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":555,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"7779:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":550,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7711:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7733:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"7711:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7711:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":557,"nodeType":"ExpressionStatement","src":"7711:79:83"},{"assignments":[559,null,null],"declarations":[{"constant":false,"id":559,"mutability":"mutable","name":"liquidityUpdated","nameLocation":"7809:16:83","nodeType":"VariableDeclaration","scope":588,"src":"7801:24:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":558,"name":"uint128","nodeType":"ElementaryTypeName","src":"7801:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":573,"initialValue":{"arguments":[{"id":562,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"7868:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":565,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7890:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7882:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":563,"name":"address","nodeType":"ElementaryTypeName","src":"7882:7:83","typeDescriptions":{}}},"id":566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7882:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":567,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7914:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7932:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"7914:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":569,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"7943:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7961:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"7943:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7972:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":560,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"7831:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7839:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"7831:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7831:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7800:183:83"},{"expression":{"arguments":[{"id":575,"name":"liquidityUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":559,"src":"8002:16:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":576,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"8020:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"expression":{"id":581,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"8048:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8066:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"8048:32:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8040:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":579,"name":"uint256","nodeType":"ElementaryTypeName","src":"8040:7:83","typeDescriptions":{}}},"id":583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8040:41:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8032:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":577,"name":"uint128","nodeType":"ElementaryTypeName","src":"8032:7:83","typeDescriptions":{}}},"id":584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8032:50:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"8020:62:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":574,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"7993:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7993:90:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":587,"nodeType":"ExpressionStatement","src":"7993:90:83"}]},"functionSelector":"b31f088a","id":589,"implemented":true,"kind":"function","modifiers":[],"name":"test_modifyLiquidity_samePosition_zeroSalt_isUpdated","nameLocation":"7071:52:83","nodeType":"FunctionDefinition","parameters":{"id":490,"nodeType":"ParameterList","parameters":[],"src":"7123:2:83"},"returnParameters":{"id":491,"nodeType":"ParameterList","parameters":[],"src":"7133:0:83"},"scope":1181,"src":"7062:1028:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":688,"nodeType":"Block","src":"8167:935:83","statements":[{"assignments":[593,null,null],"declarations":[{"constant":false,"id":593,"mutability":"mutable","name":"liquidity","nameLocation":"8186:9:83","nodeType":"VariableDeclaration","scope":688,"src":"8178:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":592,"name":"uint128","nodeType":"ElementaryTypeName","src":"8178:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":607,"initialValue":{"arguments":[{"id":596,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"8238:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":599,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8260:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8252:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":597,"name":"address","nodeType":"ElementaryTypeName","src":"8252:7:83","typeDescriptions":{}}},"id":600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8252:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":601,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8284:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8299:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"8284:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":603,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8310:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8325:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"8310:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":605,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"8336:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":594,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"8201:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8209:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"8201:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8201:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8177:173:83"},{"expression":{"arguments":[{"id":609,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"8369:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8380:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":608,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"8360:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8360:22:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":612,"nodeType":"ExpressionStatement","src":"8360:22:83"},{"expression":{"arguments":[{"id":616,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"8430:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":617,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8441:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":618,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"8457:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":613,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8392:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8414:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"8392:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8392:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":620,"nodeType":"ExpressionStatement","src":"8392:76:83"},{"expression":{"id":636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":621,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"8479:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":622,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8478:13:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":625,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"8531:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":628,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8553:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8545:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":626,"name":"address","nodeType":"ElementaryTypeName","src":"8545:7:83","typeDescriptions":{}}},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8545:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":630,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8577:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8592:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"8577:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":632,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8603:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8618:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"8603:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":634,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"8629:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":623,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"8494:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8502:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"8494:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"8478:165:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":637,"nodeType":"ExpressionStatement","src":"8478:165:83"},{"expression":{"arguments":[{"id":639,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"8662:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":644,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8689:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8704:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"8689:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8681:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":642,"name":"uint256","nodeType":"ElementaryTypeName","src":"8681:7:83","typeDescriptions":{}}},"id":646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8681:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8673:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":640,"name":"uint128","nodeType":"ElementaryTypeName","src":"8673:7:83","typeDescriptions":{}}},"id":647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8673:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":638,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"8653:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8653:68:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":649,"nodeType":"ExpressionStatement","src":"8653:68:83"},{"expression":{"arguments":[{"id":653,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"8770:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":654,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8781:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":655,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"8797:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":650,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8732:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8754:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"8732:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8732:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":657,"nodeType":"ExpressionStatement","src":"8732:76:83"},{"assignments":[659,null,null],"declarations":[{"constant":false,"id":659,"mutability":"mutable","name":"liquidityUpdated","nameLocation":"8827:16:83","nodeType":"VariableDeclaration","scope":688,"src":"8819:24:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":658,"name":"uint128","nodeType":"ElementaryTypeName","src":"8819:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":673,"initialValue":{"arguments":[{"id":662,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"8886:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":665,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8908:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8900:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":663,"name":"address","nodeType":"ElementaryTypeName","src":"8900:7:83","typeDescriptions":{}}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8900:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":667,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8932:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":668,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8947:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"8932:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":669,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8958:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8973:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"8958:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":671,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"8984:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":660,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"8849:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8857:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"8849:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8849:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8818:180:83"},{"expression":{"arguments":[{"id":675,"name":"liquidityUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"9017:16:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":676,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"9035:9:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"expression":{"id":681,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9063:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9078:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"9063:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9055:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":679,"name":"uint256","nodeType":"ElementaryTypeName","src":"9055:7:83","typeDescriptions":{}}},"id":683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9055:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9047:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":677,"name":"uint128","nodeType":"ElementaryTypeName","src":"9047:7:83","typeDescriptions":{}}},"id":684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9047:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9035:59:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":674,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"9008:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9008:87:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":687,"nodeType":"ExpressionStatement","src":"9008:87:83"}]},"functionSelector":"279d6da7","id":689,"implemented":true,"kind":"function","modifiers":[],"name":"test_modifyLiquidity_samePosition_withSalt_isUpdated","nameLocation":"8105:52:83","nodeType":"FunctionDefinition","parameters":{"id":590,"nodeType":"ParameterList","parameters":[],"src":"8157:2:83"},"returnParameters":{"id":591,"nodeType":"ParameterList","parameters":[],"src":"8167:0:83"},"scope":1181,"src":"8096:1006:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":916,"nodeType":"Block","src":"9188:2594:83","statements":[{"assignments":[693,null,null],"declarations":[{"constant":false,"id":693,"mutability":"mutable","name":"liquidityNoSalt","nameLocation":"9207:15:83","nodeType":"VariableDeclaration","scope":916,"src":"9199:23:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":692,"name":"uint128","nodeType":"ElementaryTypeName","src":"9199:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":707,"initialValue":{"arguments":[{"id":696,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"9265:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":699,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"9287:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9279:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":697,"name":"address","nodeType":"ElementaryTypeName","src":"9279:7:83","typeDescriptions":{}}},"id":700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9279:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":701,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"9311:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9329:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"9311:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":703,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"9340:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":704,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9358:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"9340:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9369:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":694,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"9228:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9236:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"9228:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9228:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"9198:182:83"},{"assignments":[709,null,null],"declarations":[{"constant":false,"id":709,"mutability":"mutable","name":"liquiditySalt","nameLocation":"9400:13:83","nodeType":"VariableDeclaration","scope":916,"src":"9392:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":708,"name":"uint128","nodeType":"ElementaryTypeName","src":"9392:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":723,"initialValue":{"arguments":[{"id":712,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"9456:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":715,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"9478:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9470:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":713,"name":"address","nodeType":"ElementaryTypeName","src":"9470:7:83","typeDescriptions":{}}},"id":716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9470:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":717,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9502:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9517:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"9502:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":719,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9528:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":720,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9543:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"9528:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":721,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"9554:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":710,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"9419:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9427:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"9419:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9419:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"9391:177:83"},{"expression":{"arguments":[{"id":725,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"9587:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9604:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":724,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"9578:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9578:28:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":728,"nodeType":"ExpressionStatement","src":"9578:28:83"},{"expression":{"arguments":[{"id":730,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"9625:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9640:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":729,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"9616:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9616:26:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":733,"nodeType":"ExpressionStatement","src":"9616:26:83"},{"expression":{"arguments":[{"id":737,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"9738:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":738,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9749:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":739,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"9765:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":734,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"9700:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9722:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"9700:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9700:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":741,"nodeType":"ExpressionStatement","src":"9700:76:83"},{"expression":{"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":742,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"9788:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":743,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"9787:19:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":746,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"9846:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":749,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"9868:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9860:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":747,"name":"address","nodeType":"ElementaryTypeName","src":"9860:7:83","typeDescriptions":{}}},"id":750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9860:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":751,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"9892:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":752,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9910:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"9892:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":753,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"9921:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9939:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"9921:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9950:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":744,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"9809:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9817:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"9809:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9809:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"9787:174:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":758,"nodeType":"ExpressionStatement","src":"9787:174:83"},{"expression":{"id":774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":759,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"9973:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":760,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"9972:17:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":763,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"10029:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":766,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"10051:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10043:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":764,"name":"address","nodeType":"ElementaryTypeName","src":"10043:7:83","typeDescriptions":{}}},"id":767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10043:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":768,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10075:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10090:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"10075:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":770,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10101:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10116:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"10101:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":772,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"10127:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":761,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"9992:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10000:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"9992:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9992:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"9972:169:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":775,"nodeType":"ExpressionStatement","src":"9972:169:83"},{"expression":{"arguments":[{"id":777,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"10161:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10178:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":776,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"10152:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10152:28:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":780,"nodeType":"ExpressionStatement","src":"10152:28:83"},{"expression":{"arguments":[{"id":782,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"10241:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":787,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10272:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10287:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"10272:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10264:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":785,"name":"uint256","nodeType":"ElementaryTypeName","src":"10264:7:83","typeDescriptions":{}}},"id":789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10264:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10256:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":783,"name":"uint128","nodeType":"ElementaryTypeName","src":"10256:7:83","typeDescriptions":{}}},"id":790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10256:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":781,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"10232:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10232:72:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":792,"nodeType":"ExpressionStatement","src":"10232:72:83"},{"expression":{"arguments":[{"id":796,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"10376:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":797,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"10387:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":798,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"10406:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":793,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"10338:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10360:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"10338:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10338:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":800,"nodeType":"ExpressionStatement","src":"10338:79:83"},{"expression":{"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":801,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"10482:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":802,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10481:19:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":805,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"10540:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":808,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"10562:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10554:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":806,"name":"address","nodeType":"ElementaryTypeName","src":"10554:7:83","typeDescriptions":{}}},"id":809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10554:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":810,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"10586:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10604:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"10586:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":812,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"10615:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10633:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"10615:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10644:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":803,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"10503:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10511:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"10503:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10503:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"10481:174:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":817,"nodeType":"ExpressionStatement","src":"10481:174:83"},{"expression":{"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":818,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"10667:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":819,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10666:17:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":822,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"10723:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":825,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"10745:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10737:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":823,"name":"address","nodeType":"ElementaryTypeName","src":"10737:7:83","typeDescriptions":{}}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10737:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":827,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10769:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10784:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"10769:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":829,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10795:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10810:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"10795:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":831,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"10821:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":820,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"10686:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10694:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"10686:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10686:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"10666:169:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":834,"nodeType":"ExpressionStatement","src":"10666:169:83"},{"expression":{"arguments":[{"id":836,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"10941:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":841,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10972:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10987:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"10972:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10964:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":839,"name":"uint256","nodeType":"ElementaryTypeName","src":"10964:7:83","typeDescriptions":{}}},"id":843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10956:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":837,"name":"uint128","nodeType":"ElementaryTypeName","src":"10956:7:83","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10956:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":835,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"10932:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10932:72:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":846,"nodeType":"ExpressionStatement","src":"10932:72:83"},{"expression":{"arguments":[{"id":848,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"11023:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":849,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"11040:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":847,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"11014:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11014:40:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":851,"nodeType":"ExpressionStatement","src":"11014:40:83"},{"expression":{"arguments":[{"id":855,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"11103:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":856,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11114:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":857,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"11130:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":852,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"11065:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"11065:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11065:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":859,"nodeType":"ExpressionStatement","src":"11065:76:83"},{"assignments":[861,null,null],"declarations":[{"constant":false,"id":861,"mutability":"mutable","name":"updatedLiquidityWithSalt","nameLocation":"11160:24:83","nodeType":"VariableDeclaration","scope":916,"src":"11152:32:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":860,"name":"uint128","nodeType":"ElementaryTypeName","src":"11152:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":875,"initialValue":{"arguments":[{"id":864,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"11227:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":867,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"11249:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11241:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":865,"name":"address","nodeType":"ElementaryTypeName","src":"11241:7:83","typeDescriptions":{}}},"id":868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11241:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":869,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11273:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11288:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"11273:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":871,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11299:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":872,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11314:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"11299:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":873,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"11325:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":862,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"11190:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11198:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"11190:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11190:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11151:188:83"},{"assignments":[877,null,null],"declarations":[{"constant":false,"id":877,"mutability":"mutable","name":"updatedLiquidityNoSalt","nameLocation":"11358:22:83","nodeType":"VariableDeclaration","scope":916,"src":"11350:30:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":876,"name":"uint128","nodeType":"ElementaryTypeName","src":"11350:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":891,"initialValue":{"arguments":[{"id":880,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"11423:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":883,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"11445:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11437:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":881,"name":"address","nodeType":"ElementaryTypeName","src":"11437:7:83","typeDescriptions":{}}},"id":884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11437:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":885,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"11469:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":886,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11487:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"11469:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":887,"name":"LIQ_PARAM_NO_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"11498:17:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11516:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"11498:27:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"hexValue":"30","id":889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11527:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":878,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"11386:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11394:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"11386:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11386:152:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11349:189:83"},{"expression":{"arguments":[{"id":893,"name":"updatedLiquidityWithSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"11558:24:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":894,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"11584:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"arguments":[{"expression":{"id":899,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11616:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":900,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11631:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"11616:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11608:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":897,"name":"uint256","nodeType":"ElementaryTypeName","src":"11608:7:83","typeDescriptions":{}}},"id":901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11608:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11600:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":895,"name":"uint128","nodeType":"ElementaryTypeName","src":"11600:7:83","typeDescriptions":{}}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11600:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"11584:63:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":892,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"11549:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11549:99:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":905,"nodeType":"ExpressionStatement","src":"11549:99:83"},{"expression":{"arguments":[{"id":907,"name":"updatedLiquidityWithSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"11667:24:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":908,"name":"updatedLiquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"11693:22:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":906,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[7712,7730,7784,7802],"referencedDeclaration":7712,"src":"11658:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11658:58:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":910,"nodeType":"ExpressionStatement","src":"11658:58:83"},{"expression":{"arguments":[{"id":912,"name":"updatedLiquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"11735:22:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":913,"name":"liquidityNoSalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"11759:15:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":911,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"11726:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11726:49:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":915,"nodeType":"ExpressionStatement","src":"11726:49:83"}]},"functionSelector":"7ce2d94e","id":917,"implemented":true,"kind":"function","modifiers":[],"name":"test_modifyLiquidity_sameTicks_withDifferentSalt_isNotUpdated","nameLocation":"9117:61:83","nodeType":"FunctionDefinition","parameters":{"id":690,"nodeType":"ParameterList","parameters":[],"src":"9178:2:83"},"returnParameters":{"id":691,"nodeType":"ParameterList","parameters":[],"src":"9188:0:83"},"scope":1181,"src":"9108:2674:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1135,"nodeType":"Block","src":"11884:2586:83","statements":[{"assignments":[922],"declarations":[{"constant":false,"id":922,"mutability":"mutable","name":"modifyLiquidityRouter2","nameLocation":"11948:22:83","nodeType":"VariableDeclaration","scope":1135,"src":"11924:46:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"},"typeName":{"id":921,"nodeType":"UserDefinedTypeName","pathNode":{"id":920,"name":"PoolModifyLiquidityTest","nameLocations":["11924:23:83"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"11924:23:83"},"referencedDeclaration":4227,"src":"11924:23:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"visibility":"internal"}],"id":928,"initialValue":{"arguments":[{"id":926,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"12001:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"11973:27:83","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolModifyLiquidityTest_$4227_$","typeString":"function (contract IPoolManager) returns (contract PoolModifyLiquidityTest)"},"typeName":{"id":924,"nodeType":"UserDefinedTypeName","pathNode":{"id":923,"name":"PoolModifyLiquidityTest","nameLocations":["11977:23:83"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"11977:23:83"},"referencedDeclaration":4227,"src":"11977:23:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}},"id":927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11973:36:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"nodeType":"VariableDeclarationStatement","src":"11924:85:83"},{"expression":{"arguments":[{"arguments":[{"id":938,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"12074:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12066:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":936,"name":"address","nodeType":"ElementaryTypeName","src":"12066:7:83","typeDescriptions":{}}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12066:31:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":940,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"12099:9:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12109:11:83","memberName":"MAX_UINT256","nodeType":"MemberAccess","referencedDeclaration":4818,"src":"12099:21:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":932,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"12046:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":930,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"12030:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12039:6:83","memberName":"unwrap","nodeType":"MemberAccess","src":"12030:15:83","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12030:26:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":929,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"12020:9:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$1281_$","typeString":"type(contract MockERC20)"}},"id":934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12020:37:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12058:7:83","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":44531,"src":"12020:45:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12020:101:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":943,"nodeType":"ExpressionStatement","src":"12020:101:83"},{"expression":{"arguments":[{"arguments":[{"id":953,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"12185:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12177:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":951,"name":"address","nodeType":"ElementaryTypeName","src":"12177:7:83","typeDescriptions":{}}},"id":954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12177:31:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":955,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"12210:9:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12220:11:83","memberName":"MAX_UINT256","nodeType":"MemberAccess","referencedDeclaration":4818,"src":"12210:21:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":947,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"12157:9:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":945,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"12141:8:83","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12150:6:83","memberName":"unwrap","nodeType":"MemberAccess","src":"12141:15:83","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12141:26:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":944,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"12131:9:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$1281_$","typeString":"type(contract MockERC20)"}},"id":949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12131:37:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12169:7:83","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":44531,"src":"12131:45:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12131:101:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":958,"nodeType":"ExpressionStatement","src":"12131:101:83"},{"assignments":[961],"declarations":[{"constant":false,"id":961,"mutability":"mutable","name":"LIQ_PARAM_SALT_2","nameLocation":"12272:16:83","nodeType":"VariableDeclaration","scope":1135,"src":"12243:45:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":960,"nodeType":"UserDefinedTypeName","pathNode":{"id":959,"name":"ModifyLiquidityParams","nameLocations":["12243:21:83"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"12243:21:83"},"referencedDeclaration":4761,"src":"12243:21:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"id":969,"initialValue":{"arguments":[{"id":964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"12337:4:83","subExpression":{"hexValue":"313230","id":963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12338:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12354:3:83","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"32653138","id":966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12375:4:83","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2e18"},{"id":967,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"12387:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":962,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"12303:21:83","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12326:9:83","12343:9:83","12359:14:83","12381:4:83"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"12303:90:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"VariableDeclarationStatement","src":"12243:150:83"},{"assignments":[971,null,null],"declarations":[{"constant":false,"id":971,"mutability":"mutable","name":"liquiditySalt","nameLocation":"12491:13:83","nodeType":"VariableDeclaration","scope":1135,"src":"12483:21:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":970,"name":"uint128","nodeType":"ElementaryTypeName","src":"12483:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":985,"initialValue":{"arguments":[{"id":974,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"12547:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":977,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"12569:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12561:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":975,"name":"address","nodeType":"ElementaryTypeName","src":"12561:7:83","typeDescriptions":{}}},"id":978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12561:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":979,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12593:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12608:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"12593:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":981,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12619:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12634:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"12619:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":983,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"12645:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":972,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"12510:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12518:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"12510:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12510:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"12482:177:83"},{"assignments":[987,null,null],"declarations":[{"constant":false,"id":987,"mutability":"mutable","name":"liquiditySalt2","nameLocation":"12679:14:83","nodeType":"VariableDeclaration","scope":1135,"src":"12671:22:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":986,"name":"uint128","nodeType":"ElementaryTypeName","src":"12671:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":1001,"initialValue":{"arguments":[{"id":990,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"12736:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":993,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"12758:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12750:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":991,"name":"address","nodeType":"ElementaryTypeName","src":"12750:7:83","typeDescriptions":{}}},"id":994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12750:31:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":995,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"12783:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12800:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"12783:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":997,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"12811:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12828:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"12811:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":999,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"12839:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":988,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"12699:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12707:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"12699:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:154:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"12670:183:83"},{"expression":{"arguments":[{"id":1003,"name":"liquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"12873:13:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":1004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12888:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1002,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"12864:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12864:26:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1006,"nodeType":"ExpressionStatement","src":"12864:26:83"},{"expression":{"arguments":[{"id":1008,"name":"liquiditySalt2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":987,"src":"12909:14:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":1009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1007,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"12900:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12900:27:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1011,"nodeType":"ExpressionStatement","src":"12900:27:83"},{"expression":{"arguments":[{"id":1015,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"13045:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":1016,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13056:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":1017,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"13072:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1012,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"13007:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13029:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"13007:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13007:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":1019,"nodeType":"ExpressionStatement","src":"13007:76:83"},{"assignments":[1021,null,null],"declarations":[{"constant":false,"id":1021,"mutability":"mutable","name":"updatedLiquiditySalt","nameLocation":"13103:20:83","nodeType":"VariableDeclaration","scope":1135,"src":"13095:28:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":1020,"name":"uint128","nodeType":"ElementaryTypeName","src":"13095:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":1035,"initialValue":{"arguments":[{"id":1024,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"13166:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":1027,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"13188:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":1026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13180:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1025,"name":"address","nodeType":"ElementaryTypeName","src":"13180:7:83","typeDescriptions":{}}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13180:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1029,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13212:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13227:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"13212:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":1031,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13238:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13253:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"13238:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1033,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"13264:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1022,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"13129:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":1023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13137:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"13129:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":1034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13129:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13094:184:83"},{"assignments":[1037,null,null],"declarations":[{"constant":false,"id":1037,"mutability":"mutable","name":"updatedLiquiditySalt2","nameLocation":"13298:21:83","nodeType":"VariableDeclaration","scope":1135,"src":"13290:29:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":1036,"name":"uint128","nodeType":"ElementaryTypeName","src":"13290:7:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},null,null],"id":1051,"initialValue":{"arguments":[{"id":1040,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"13362:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":1043,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"13384:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":1042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13376:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1041,"name":"address","nodeType":"ElementaryTypeName","src":"13376:7:83","typeDescriptions":{}}},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13376:31:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1045,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"13409:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":1046,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13426:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"13409:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":1047,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"13437:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":1048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13454:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"13437:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1049,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"13465:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1038,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"13325:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13333:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"13325:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":1050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13325:154:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13289:190:83"},{"expression":{"arguments":[{"id":1053,"name":"updatedLiquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1021,"src":"13570:20:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":1058,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13608:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1059,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13623:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"13608:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13600:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1056,"name":"uint256","nodeType":"ElementaryTypeName","src":"13600:7:83","typeDescriptions":{}}},"id":1060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13600:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13592:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":1054,"name":"uint128","nodeType":"ElementaryTypeName","src":"13592:7:83","typeDescriptions":{}}},"id":1061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13592:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":1052,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"13561:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13561:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1063,"nodeType":"ExpressionStatement","src":"13561:79:83"},{"expression":{"arguments":[{"id":1065,"name":"updatedLiquiditySalt2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1037,"src":"13659:21:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"hexValue":"30","id":1066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13682:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1064,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"13650:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13650:34:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1068,"nodeType":"ExpressionStatement","src":"13650:34:83"},{"expression":{"arguments":[{"id":1072,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"13790:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":1073,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"13801:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":1074,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"13819:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1069,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"13751:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":1071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"13751:38:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13751:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":1076,"nodeType":"ExpressionStatement","src":"13751:79:83"},{"expression":{"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1077,"name":"updatedLiquiditySalt2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1037,"src":"13842:21:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":1078,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"13841:25:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1081,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"13906:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":1084,"name":"modifyLiquidityRouter2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"13928:22:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":1083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13920:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1082,"name":"address","nodeType":"ElementaryTypeName","src":"13920:7:83","typeDescriptions":{}}},"id":1085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13920:31:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1086,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"13953:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":1087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13970:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"13953:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":1088,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"13981:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":1089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13998:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"13981:26:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1090,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"14009:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1079,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"13869:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":1080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13877:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"13869:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":1091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13869:154:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"13841:182:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1093,"nodeType":"ExpressionStatement","src":"13841:182:83"},{"expression":{"id":1109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1094,"name":"updatedLiquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1021,"src":"14034:20:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},null,null],"id":1095,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14033:24:83","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$__$__$","typeString":"tuple(uint128,,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1098,"name":"simplePoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"14097:12:83","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},{"arguments":[{"id":1101,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"14119:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":1100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14111:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1099,"name":"address","nodeType":"ElementaryTypeName","src":"14111:7:83","typeDescriptions":{}}},"id":1102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14111:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1103,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14143:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14158:9:83","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"14143:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":1105,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14169:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14184:9:83","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"14169:24:83","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":1107,"name":"SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"14195:4:83","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1096,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"14060:7:83","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":1097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14068:15:83","memberName":"getPositionInfo","nodeType":"MemberAccess","referencedDeclaration":2308,"src":"14060:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$_t_address_$_t_int24_$_t_int24_$_t_bytes32_$returns$_t_uint128_$_t_uint256_$_t_uint256_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId,address,int24,int24,bytes32) view returns (uint128,uint256,uint256)"}},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14060:149:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint128_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint128,uint256,uint256)"}},"src":"14033:176:83","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1110,"nodeType":"ExpressionStatement","src":"14033:176:83"},{"expression":{"arguments":[{"id":1112,"name":"updatedLiquiditySalt2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1037,"src":"14301:21:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":1117,"name":"LIQ_PARAM_SALT_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":961,"src":"14340:16:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":1118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14357:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"14340:31:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14332:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1115,"name":"uint256","nodeType":"ElementaryTypeName","src":"14332:7:83","typeDescriptions":{}}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14332:40:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14324:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":1113,"name":"uint128","nodeType":"ElementaryTypeName","src":"14324:7:83","typeDescriptions":{}}},"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14324:49:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":1111,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"14292:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:82:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1122,"nodeType":"ExpressionStatement","src":"14292:82:83"},{"expression":{"arguments":[{"id":1124,"name":"updatedLiquiditySalt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1021,"src":"14393:20:83","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"arguments":[{"expression":{"id":1129,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14431:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":1130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14446:14:83","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"14431:29:83","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14423:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1127,"name":"uint256","nodeType":"ElementaryTypeName","src":"14423:7:83","typeDescriptions":{}}},"id":1131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14423:38:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14415:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":1125,"name":"uint128","nodeType":"ElementaryTypeName","src":"14415:7:83","typeDescriptions":{}}},"id":1132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14415:47:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":1123,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6361,6379,6394,6412,6466,6484,6538,6556,6571,6589,6633,6651,6666,6684,6701,6721,6738,6758,6775,6795,6812,6832,6849,6869,6886,6906,6923,6943],"referencedDeclaration":6394,"src":"14384:8:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14384:79:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1134,"nodeType":"ExpressionStatement","src":"14384:79:83"}]},"functionSelector":"28774106","id":1136,"implemented":true,"kind":"function","modifiers":[],"name":"test_modifyLiquidity_sameSalt_differentLiquidityRouters_doNotEditSamePosition","nameLocation":"11797:77:83","nodeType":"FunctionDefinition","parameters":{"id":918,"nodeType":"ParameterList","parameters":[],"src":"11874:2:83"},"returnParameters":{"id":919,"nodeType":"ParameterList","parameters":[],"src":"11884:0:83"},"scope":1181,"src":"11788:2682:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1153,"nodeType":"Block","src":"14531:173:83","statements":[{"expression":{"arguments":[{"id":1142,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"14579:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":1143,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14590:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":1144,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14606:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1139,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"14541:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":1141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14563:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"14541:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":1145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14541:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":1146,"nodeType":"ExpressionStatement","src":"14541:76:83"},{"expression":{"arguments":[{"hexValue":"637265617465206e6577206c697175696469747920746f206120706f736974696f6e20776974682073616c74","id":1150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14650:46:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_178bff5c5290c1663d7f587c3748ba3364de21788e9bef5e10d1a62c89208453","typeString":"literal_string \"create new liquidity to a position with salt\""},"value":"create new liquidity to a position with salt"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178bff5c5290c1663d7f587c3748ba3364de21788e9bef5e10d1a62c89208453","typeString":"literal_string \"create new liquidity to a position with salt\""}],"expression":{"id":1147,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"14627:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":1149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14630:19:83","memberName":"snapshotGasLastCall","nodeType":"MemberAccess","referencedDeclaration":22816,"src":"14627:22:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) external returns (uint256)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14627:70:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1152,"nodeType":"ExpressionStatement","src":"14627:70:83"}]},"functionSelector":"52d7341c","id":1154,"implemented":true,"kind":"function","modifiers":[],"name":"test_gas_modifyLiquidity_newPosition","nameLocation":"14485:36:83","nodeType":"FunctionDefinition","parameters":{"id":1137,"nodeType":"ParameterList","parameters":[],"src":"14521:2:83"},"returnParameters":{"id":1138,"nodeType":"ParameterList","parameters":[],"src":"14531:0:83"},"scope":1181,"src":"14476:228:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1179,"nodeType":"Block","src":"14781:267:83","statements":[{"expression":{"arguments":[{"id":1160,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"14829:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":1161,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14840:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":1162,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14856:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1157,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"14791:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":1159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14813:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"14791:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":1163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14791:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":1164,"nodeType":"ExpressionStatement","src":"14791:76:83"},{"expression":{"arguments":[{"id":1168,"name":"simpleKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"14915:9:83","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},{"id":1169,"name":"LIQ_PARAM_SALT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14926:14:83","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":1170,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14942:10:83","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1165,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"14877:21:83","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14899:15:83","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"14877:37:83","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":1171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14877:76:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":1172,"nodeType":"ExpressionStatement","src":"14877:76:83"},{"expression":{"arguments":[{"hexValue":"616464206c697175696469747920746f20616c7265616479206578697374696e6720706f736974696f6e20776974682073616c74","id":1176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14986:54:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_29bf5ec608f936eab5c55e455581bfd8d49af29c6ef5c943b37e71169dfaf8ea","typeString":"literal_string \"add liquidity to already existing position with salt\""},"value":"add liquidity to already existing position with salt"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29bf5ec608f936eab5c55e455581bfd8d49af29c6ef5c943b37e71169dfaf8ea","typeString":"literal_string \"add liquidity to already existing position with salt\""}],"expression":{"id":1173,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"14963:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14966:19:83","memberName":"snapshotGasLastCall","nodeType":"MemberAccess","referencedDeclaration":22816,"src":"14963:22:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) external returns (uint256)"}},"id":1177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14963:78:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1178,"nodeType":"ExpressionStatement","src":"14963:78:83"}]},"functionSelector":"60f8aee1","id":1180,"implemented":true,"kind":"function","modifiers":[],"name":"test_gas_modifyLiquidity_updateSamePosition_withSalt","nameLocation":"14719:52:83","nodeType":"FunctionDefinition","parameters":{"id":1155,"nodeType":"ParameterList","parameters":[],"src":"14771:2:83"},"returnParameters":{"id":1156,"nodeType":"ParameterList","parameters":[],"src":"14781:0:83"},"scope":1181,"src":"14710:338:83","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":1182,"src":"1111:13939:83","usedErrors":[],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"39:15012:83"},"id":83},"v4-core/test/utils/Constants.sol":{"ast":{"absolutePath":"v4-core/test/utils/Constants.sol","exportedSymbols":{"Constants":[4864]},"id":4865,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":4774,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:84"},{"abstract":false,"baseContracts":[],"canonicalName":"Constants","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":4864,"linearizedBaseContracts":[4864],"name":"Constants","nameLocation":"73:9:84","nodeType":"ContractDefinition","nodes":[{"constant":true,"documentation":{"id":4775,"nodeType":"StructuredDocumentation","src":"89:145:84","text":"@dev All sqrtPrice calculations are calculated as\n sqrtPriceX96 = floor(sqrt(A / B) * 2 ** 96) where A and B are the currency reserves"},"functionSelector":"fcc6433b","id":4778,"mutability":"constant","name":"SQRT_PRICE_1_1","nameLocation":"263:14:84","nodeType":"VariableDeclaration","scope":4864,"src":"239:70:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4776,"name":"uint160","nodeType":"ElementaryTypeName","src":"239:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3739323238313632353134323634333337353933353433393530333336","id":4777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280:29:84","typeDescriptions":{"typeIdentifier":"t_rational_79228162514264337593543950336_by_1","typeString":"int_const 79228162514264337593543950336"},"value":"79228162514264337593543950336"},"visibility":"public"},{"constant":true,"functionSelector":"bd5e4184","id":4781,"mutability":"constant","name":"SQRT_PRICE_1_2","nameLocation":"339:14:84","nodeType":"VariableDeclaration","scope":4864,"src":"315:70:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4779,"name":"uint160","nodeType":"ElementaryTypeName","src":"315:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3536303232373730393734373836313339393138373331393338323237","id":4780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356:29:84","typeDescriptions":{"typeIdentifier":"t_rational_56022770974786139918731938227_by_1","typeString":"int_const 56022770974786139918731938227"},"value":"56022770974786139918731938227"},"visibility":"public"},{"constant":true,"functionSelector":"ed318160","id":4784,"mutability":"constant","name":"SQRT_PRICE_1_4","nameLocation":"415:14:84","nodeType":"VariableDeclaration","scope":4864,"src":"391:70:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4782,"name":"uint160","nodeType":"ElementaryTypeName","src":"391:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3339363134303831323537313332313638373936373731393735313638","id":4783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"432:29:84","typeDescriptions":{"typeIdentifier":"t_rational_39614081257132168796771975168_by_1","typeString":"int_const 39614081257132168796771975168"},"value":"39614081257132168796771975168"},"visibility":"public"},{"constant":true,"functionSelector":"98ec04cc","id":4787,"mutability":"constant","name":"SQRT_PRICE_2_1","nameLocation":"491:14:84","nodeType":"VariableDeclaration","scope":4864,"src":"467:71:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4785,"name":"uint160","nodeType":"ElementaryTypeName","src":"467:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"313132303435353431393439353732323739383337343633383736343534","id":4786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"508:30:84","typeDescriptions":{"typeIdentifier":"t_rational_112045541949572279837463876454_by_1","typeString":"int_const 112045541949572279837463876454"},"value":"112045541949572279837463876454"},"visibility":"public"},{"constant":true,"functionSelector":"8a81a2de","id":4790,"mutability":"constant","name":"SQRT_PRICE_4_1","nameLocation":"568:14:84","nodeType":"VariableDeclaration","scope":4864,"src":"544:71:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4788,"name":"uint160","nodeType":"ElementaryTypeName","src":"544:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"313538343536333235303238353238363735313837303837393030363732","id":4789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"585:30:84","typeDescriptions":{"typeIdentifier":"t_rational_158456325028528675187087900672_by_1","typeString":"int_const 158456325028528675187087900672"},"value":"158456325028528675187087900672"},"visibility":"public"},{"constant":true,"functionSelector":"e282efb7","id":4793,"mutability":"constant","name":"SQRT_PRICE_121_100","nameLocation":"645:18:84","nodeType":"VariableDeclaration","scope":4864,"src":"621:74:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4791,"name":"uint160","nodeType":"ElementaryTypeName","src":"621:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3837313530393738373635363930373731333532383938333435333639","id":4792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"666:29:84","typeDescriptions":{"typeIdentifier":"t_rational_87150978765690771352898345369_by_1","typeString":"int_const 87150978765690771352898345369"},"value":"87150978765690771352898345369"},"visibility":"public"},{"constant":true,"functionSelector":"ae366da7","id":4796,"mutability":"constant","name":"SQRT_PRICE_99_100","nameLocation":"725:17:84","nodeType":"VariableDeclaration","scope":4864,"src":"701:73:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4794,"name":"uint160","nodeType":"ElementaryTypeName","src":"701:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3738383331303236333636373334363532333033363639393137353331","id":4795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"745:29:84","typeDescriptions":{"typeIdentifier":"t_rational_78831026366734652303669917531_by_1","typeString":"int_const 78831026366734652303669917531"},"value":"78831026366734652303669917531"},"visibility":"public"},{"constant":true,"functionSelector":"a96bfbf2","id":4799,"mutability":"constant","name":"SQRT_PRICE_99_1000","nameLocation":"804:18:84","nodeType":"VariableDeclaration","scope":4864,"src":"780:74:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4797,"name":"uint160","nodeType":"ElementaryTypeName","src":"780:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3234393238353539333630373636393437333638383138303836303937","id":4798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"825:29:84","typeDescriptions":{"typeIdentifier":"t_rational_24928559360766947368818086097_by_1","typeString":"int_const 24928559360766947368818086097"},"value":"24928559360766947368818086097"},"visibility":"public"},{"constant":true,"functionSelector":"328b22b4","id":4802,"mutability":"constant","name":"SQRT_PRICE_101_100","nameLocation":"884:18:84","nodeType":"VariableDeclaration","scope":4864,"src":"860:74:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4800,"name":"uint160","nodeType":"ElementaryTypeName","src":"860:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3739363233333137383935383330393134353130363339363430343233","id":4801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"905:29:84","typeDescriptions":{"typeIdentifier":"t_rational_79623317895830914510639640423_by_1","typeString":"int_const 79623317895830914510639640423"},"value":"79623317895830914510639640423"},"visibility":"public"},{"constant":true,"functionSelector":"bbc49a6e","id":4805,"mutability":"constant","name":"SQRT_PRICE_1000_100","nameLocation":"964:19:84","nodeType":"VariableDeclaration","scope":4864,"src":"940:76:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4803,"name":"uint160","nodeType":"ElementaryTypeName","src":"940:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"323530353431343438333735303437393331313836343133383031353639","id":4804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"986:30:84","typeDescriptions":{"typeIdentifier":"t_rational_250541448375047931186413801569_by_1","typeString":"int_const 250541448375047931186413801569"},"value":"250541448375047931186413801569"},"visibility":"public"},{"constant":true,"functionSelector":"88c8f225","id":4808,"mutability":"constant","name":"SQRT_PRICE_1010_100","nameLocation":"1046:19:84","nodeType":"VariableDeclaration","scope":4864,"src":"1022:76:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4806,"name":"uint160","nodeType":"ElementaryTypeName","src":"1022:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"323531373931303339343130343731323239313733323031313232353239","id":4807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1068:30:84","typeDescriptions":{"typeIdentifier":"t_rational_251791039410471229173201122529_by_1","typeString":"int_const 251791039410471229173201122529"},"value":"251791039410471229173201122529"},"visibility":"public"},{"constant":true,"functionSelector":"a3185801","id":4811,"mutability":"constant","name":"SQRT_PRICE_10000_100","nameLocation":"1128:20:84","nodeType":"VariableDeclaration","scope":4864,"src":"1104:77:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4809,"name":"uint160","nodeType":"ElementaryTypeName","src":"1104:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"373932323831363235313432363433333735393335343339353033333630","id":4810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1151:30:84","typeDescriptions":{"typeIdentifier":"t_rational_792281625142643375935439503360_by_1","typeString":"int_const 792281625142643375935439503360"},"value":"792281625142643375935439503360"},"visibility":"public"},{"constant":true,"id":4818,"mutability":"constant","name":"MAX_UINT256","nameLocation":"1205:11:84","nodeType":"VariableDeclaration","scope":4864,"src":"1188:48:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4812,"name":"uint256","nodeType":"ElementaryTypeName","src":"1188:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"expression":{"arguments":[{"id":4815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1224:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4814,"name":"uint256","nodeType":"ElementaryTypeName","src":"1224:7:84","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":4813,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1219:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1219:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":4817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1233:3:84","memberName":"max","nodeType":"MemberAccess","src":"1219:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":true,"id":4825,"mutability":"constant","name":"MAX_UINT128","nameLocation":"1259:11:84","nodeType":"VariableDeclaration","scope":4864,"src":"1242:48:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":4819,"name":"uint128","nodeType":"ElementaryTypeName","src":"1242:7:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"value":{"expression":{"arguments":[{"id":4822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1278:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":4821,"name":"uint128","nodeType":"ElementaryTypeName","src":"1278:7:84","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":4820,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1273:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1273:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":4824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1287:3:84","memberName":"max","nodeType":"MemberAccess","src":"1273:17:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":true,"id":4832,"mutability":"constant","name":"MAX_UINT160","nameLocation":"1313:11:84","nodeType":"VariableDeclaration","scope":4864,"src":"1296:48:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4826,"name":"uint160","nodeType":"ElementaryTypeName","src":"1296:7:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"arguments":[{"id":4829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1332:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4828,"name":"uint160","nodeType":"ElementaryTypeName","src":"1332:7:84","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":4827,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1327:4:84","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1327:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":4831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1341:3:84","memberName":"max","nodeType":"MemberAccess","src":"1327:17:84","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":4838,"mutability":"constant","name":"ADDRESS_ZERO","nameLocation":"1368:12:84","nodeType":"VariableDeclaration","scope":4864,"src":"1351:42:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4833,"name":"address","nodeType":"ElementaryTypeName","src":"1351:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"30","id":4836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1391: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":4835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1383:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4834,"name":"address","nodeType":"ElementaryTypeName","src":"1383:7:84","typeDescriptions":{}}},"id":4837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1383:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":true,"documentation":{"id":4839,"nodeType":"StructuredDocumentation","src":"1400:23:84","text":"0011 1111 1111 1111"},"id":4845,"mutability":"constant","name":"ALL_HOOKS","nameLocation":"1453:9:84","nodeType":"VariableDeclaration","scope":4864,"src":"1428:88:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":4840,"name":"address","nodeType":"ElementaryTypeName","src":"1428:15:84","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303033664646","id":4843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1473:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000003fFF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1465:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4841,"name":"address","nodeType":"ElementaryTypeName","src":"1465:8:84","stateMutability":"payable","typeDescriptions":{}}},"id":4844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1465:51:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":true,"id":4848,"mutability":"constant","name":"TICKS_OFFSET","nameLocation":"1540:12:84","nodeType":"VariableDeclaration","scope":4864,"src":"1523:33:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4846,"name":"uint256","nodeType":"ElementaryTypeName","src":"1523:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34","id":4847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1555:1:84","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"internal"},{"constant":true,"id":4851,"mutability":"constant","name":"FEE_LOW","nameLocation":"1579:7:84","nodeType":"VariableDeclaration","scope":4864,"src":"1563:29:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":4849,"name":"uint24","nodeType":"ElementaryTypeName","src":"1563:6:84","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"353030","id":4850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1589:3:84","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"},"visibility":"internal"},{"constant":true,"id":4854,"mutability":"constant","name":"FEE_MEDIUM","nameLocation":"1614:10:84","nodeType":"VariableDeclaration","scope":4864,"src":"1598:33:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":4852,"name":"uint24","nodeType":"ElementaryTypeName","src":"1598:6:84","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"33303030","id":4853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1627:4:84","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},"visibility":"internal"},{"constant":true,"id":4857,"mutability":"constant","name":"FEE_HIGH","nameLocation":"1653:8:84","nodeType":"VariableDeclaration","scope":4864,"src":"1637:32:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":4855,"name":"uint24","nodeType":"ElementaryTypeName","src":"1637:6:84","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"value":{"hexValue":"3130303030","id":4856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1664:5:84","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10000"},"visibility":"internal"},{"constant":true,"id":4863,"mutability":"constant","name":"ZERO_BYTES","nameLocation":"1691:10:84","nodeType":"VariableDeclaration","scope":4864,"src":"1676:40:84","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4858,"name":"bytes","nodeType":"ElementaryTypeName","src":"1676:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"30","id":4861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1714: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":4860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1704:9:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":4859,"name":"bytes","nodeType":"ElementaryTypeName","src":"1708:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":4862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:12:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"internal"}],"scope":4865,"src":"65:1654:84","usedErrors":[],"usedEvents":[]}],"src":"39:1681:84"},"id":84},"v4-core/test/utils/CurrencySettler.sol":{"ast":{"absolutePath":"v4-core/test/utils/CurrencySettler.sol","exportedSymbols":{"Currency":[4399],"CurrencySettler":[49175],"IERC20Minimal":[49247],"IPoolManager":[1763]},"id":49176,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":49041,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:85"},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../../src/types/Currency.sol","id":49043,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49176,"sourceUnit":4694,"src":"58:54:85","symbolAliases":[{"foreign":{"id":49042,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"66:8:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/external/IERC20Minimal.sol","file":"../../src/interfaces/external/IERC20Minimal.sol","id":49045,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49176,"sourceUnit":49248,"src":"113:78:85","symbolAliases":[{"foreign":{"id":49044,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"121:13:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../../src/interfaces/IPoolManager.sol","id":49047,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":49176,"sourceUnit":1764,"src":"192:67:85","symbolAliases":[{"foreign":{"id":49046,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"200:12:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"CurrencySettler","contractDependencies":[],"contractKind":"library","documentation":{"id":49048,"nodeType":"StructuredDocumentation","src":"261:342:85","text":"@notice Library used to interact with PoolManager.sol to settle any open deltas.\n To settle a positive delta (a credit to the user), a user may take or mint.\n To settle a negative delta (a debt on the user), a user make transfer or burn to pay off a debt.\n @dev Note that sync() is called before any erc-20 transfer in `settle`."},"fullyImplemented":true,"id":49175,"linearizedBaseContracts":[49175],"name":"CurrencySettler","nameLocation":"611:15:85","nodeType":"ContractDefinition","nodes":[{"body":{"id":49139,"nodeType":"Block","src":"1087:702:85","statements":[{"condition":{"id":49064,"name":"burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49061,"src":"1259:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49076,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"1344:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1353:13:85","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"1344:22:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":49078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1344:24:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49136,"nodeType":"Block","src":"1432:351:85","statements":[{"expression":{"arguments":[{"id":49090,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"1459:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49087,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1446:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1454:4:85","memberName":"sync","nodeType":"MemberAccess","referencedDeclaration":1699,"src":"1446:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$returns$__$","typeString":"function (Currency) external"}},"id":49091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1446:22:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49092,"nodeType":"ExpressionStatement","src":"1446:22:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49093,"name":"payer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49057,"src":"1486:5:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":49096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1503:4:85","typeDescriptions":{"typeIdentifier":"t_contract$_CurrencySettler_$49175","typeString":"library CurrencySettler"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CurrencySettler_$49175","typeString":"library CurrencySettler"}],"id":49095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1495:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49094,"name":"address","nodeType":"ElementaryTypeName","src":"1495:7:85","typeDescriptions":{}}},"id":49097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:13:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1486:22:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49129,"nodeType":"Block","src":"1635:108:85","statements":[{"expression":{"arguments":[{"arguments":[{"id":49124,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1711:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":49123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1703:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49122,"name":"address","nodeType":"ElementaryTypeName","src":"1703:7:85","typeDescriptions":{}}},"id":49125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1703:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49126,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49059,"src":"1721:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":49118,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"1683:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49116,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"1667:8:85","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":49117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1676:6:85","memberName":"unwrap","nodeType":"MemberAccess","src":"1667:15:85","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":49119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1667:25:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49115,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"1653:13:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$49247_$","typeString":"type(contract IERC20Minimal)"}},"id":49120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1653:40:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$49247","typeString":"contract IERC20Minimal"}},"id":49121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1694:8:85","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":49196,"src":"1653:49:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":49127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1653:75:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49128,"nodeType":"ExpressionStatement","src":"1653:75:85"}]},"id":49130,"nodeType":"IfStatement","src":"1482:261:85","trueBody":{"id":49114,"nodeType":"Block","src":"1510:119:85","statements":[{"expression":{"arguments":[{"id":49106,"name":"payer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49057,"src":"1582:5:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":49109,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1597:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":49108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1589:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49107,"name":"address","nodeType":"ElementaryTypeName","src":"1589:7:85","typeDescriptions":{}}},"id":49110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1589:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49111,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49059,"src":"1607:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":49102,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"1558:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":49100,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"1542:8:85","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":49101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1551:6:85","memberName":"unwrap","nodeType":"MemberAccess","src":"1542:15:85","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":49103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1542:25:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49099,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49247,"src":"1528:13:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$49247_$","typeString":"type(contract IERC20Minimal)"}},"id":49104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1528:40:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$49247","typeString":"contract IERC20Minimal"}},"id":49105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1569:12:85","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":49228,"src":"1528:53:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":49112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1528:86:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49113,"nodeType":"ExpressionStatement","src":"1528:86:85"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49131,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1756:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1764:6:85","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":1716,"src":"1756:14:85","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$","typeString":"function () payable external returns (uint256)"}},"id":49134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1756:16:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49135,"nodeType":"ExpressionStatement","src":"1756:16:85"}]},"id":49137,"nodeType":"IfStatement","src":"1340:443:85","trueBody":{"id":49086,"nodeType":"Block","src":"1370:56:85","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":49079,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1384:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:85","memberName":"settle","nodeType":"MemberAccess","referencedDeclaration":1716,"src":"1384:14:85","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$","typeString":"function () payable external returns (uint256)"}},"id":49083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":49082,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49059,"src":"1406:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"1384:29:85","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$_t_uint256_$value","typeString":"function () payable external returns (uint256)"}},"id":49084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:31:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49085,"nodeType":"ExpressionStatement","src":"1384:31:85"}]}},"id":49138,"nodeType":"IfStatement","src":"1255:528:85","trueBody":{"id":49075,"nodeType":"Block","src":"1265:69:85","statements":[{"expression":{"arguments":[{"id":49068,"name":"payer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49057,"src":"1292:5:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49069,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49052,"src":"1299:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1308:4:85","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4672,"src":"1299:13:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (uint256)"}},"id":49071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1299:15:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49072,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49059,"src":"1316:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49065,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"1279:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1287:4:85","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":1753,"src":"1279:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) external"}},"id":49073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:44:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49074,"nodeType":"ExpressionStatement","src":"1279:44:85"}]}}]},"documentation":{"id":49049,"nodeType":"StructuredDocumentation","src":"633:341:85","text":"@notice Settle (pay) a currency to the PoolManager\n @param currency Currency to settle\n @param manager IPoolManager to settle to\n @param payer Address of the payer, the token sender\n @param amount Amount to send\n @param burn If true, burn the ERC-6909 token, otherwise ERC20-transfer to the PoolManager"},"id":49140,"implemented":true,"kind":"function","modifiers":[],"name":"settle","nameLocation":"988:6:85","nodeType":"FunctionDefinition","parameters":{"id":49062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49052,"mutability":"mutable","name":"currency","nameLocation":"1004:8:85","nodeType":"VariableDeclaration","scope":49140,"src":"995:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":49051,"nodeType":"UserDefinedTypeName","pathNode":{"id":49050,"name":"Currency","nameLocations":["995:8:85"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"995:8:85"},"referencedDeclaration":4399,"src":"995:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":49055,"mutability":"mutable","name":"manager","nameLocation":"1027:7:85","nodeType":"VariableDeclaration","scope":49140,"src":"1014:20:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":49054,"nodeType":"UserDefinedTypeName","pathNode":{"id":49053,"name":"IPoolManager","nameLocations":["1014:12:85"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1014:12:85"},"referencedDeclaration":1763,"src":"1014:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":49057,"mutability":"mutable","name":"payer","nameLocation":"1044:5:85","nodeType":"VariableDeclaration","scope":49140,"src":"1036:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49056,"name":"address","nodeType":"ElementaryTypeName","src":"1036:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49059,"mutability":"mutable","name":"amount","nameLocation":"1059:6:85","nodeType":"VariableDeclaration","scope":49140,"src":"1051:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49058,"name":"uint256","nodeType":"ElementaryTypeName","src":"1051:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49061,"mutability":"mutable","name":"burn","nameLocation":"1072:4:85","nodeType":"VariableDeclaration","scope":49140,"src":"1067:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49060,"name":"bool","nodeType":"ElementaryTypeName","src":"1067:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"994:83:85"},"returnParameters":{"id":49063,"nodeType":"ParameterList","parameters":[],"src":"1087:0:85"},"scope":49175,"src":"979:810:85","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":49173,"nodeType":"Block","src":"2285:118:85","statements":[{"expression":{"condition":{"id":49156,"name":"claims","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49153,"src":"2295:6:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":49167,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49144,"src":"2368:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":49168,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49149,"src":"2378:9:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49169,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49151,"src":"2389:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49165,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49147,"src":"2355:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2363:4:85","memberName":"take","nodeType":"MemberAccess","referencedDeclaration":1710,"src":"2355:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_address_$_t_uint256_$returns$__$","typeString":"function (Currency,address,uint256) external"}},"id":49170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2355:41:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2295:101:85","trueExpression":{"arguments":[{"id":49159,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49149,"src":"2317:9:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49160,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49144,"src":"2328:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":49161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:4:85","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4672,"src":"2328:13:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (uint256)"}},"id":49162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2328:15:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49163,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49151,"src":"2345:6:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49157,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49147,"src":"2304:7:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":49158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2312:4:85","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":1743,"src":"2304:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) external"}},"id":49164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49172,"nodeType":"ExpressionStatement","src":"2295:101:85"}]},"documentation":{"id":49141,"nodeType":"StructuredDocumentation","src":"1795:373:85","text":"@notice Take (receive) a currency from the PoolManager\n @param currency Currency to take\n @param manager IPoolManager to take from\n @param recipient Address of the recipient, the token receiver\n @param amount Amount to receive\n @param claims If true, mint the ERC-6909 token, otherwise ERC20-transfer from the PoolManager to recipient"},"id":49174,"implemented":true,"kind":"function","modifiers":[],"name":"take","nameLocation":"2182:4:85","nodeType":"FunctionDefinition","parameters":{"id":49154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49144,"mutability":"mutable","name":"currency","nameLocation":"2196:8:85","nodeType":"VariableDeclaration","scope":49174,"src":"2187:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":49143,"nodeType":"UserDefinedTypeName","pathNode":{"id":49142,"name":"Currency","nameLocations":["2187:8:85"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2187:8:85"},"referencedDeclaration":4399,"src":"2187:8:85","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":49147,"mutability":"mutable","name":"manager","nameLocation":"2219:7:85","nodeType":"VariableDeclaration","scope":49174,"src":"2206:20:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":49146,"nodeType":"UserDefinedTypeName","pathNode":{"id":49145,"name":"IPoolManager","nameLocations":["2206:12:85"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"2206:12:85"},"referencedDeclaration":1763,"src":"2206:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":49149,"mutability":"mutable","name":"recipient","nameLocation":"2236:9:85","nodeType":"VariableDeclaration","scope":49174,"src":"2228:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49148,"name":"address","nodeType":"ElementaryTypeName","src":"2228:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49151,"mutability":"mutable","name":"amount","nameLocation":"2255:6:85","nodeType":"VariableDeclaration","scope":49174,"src":"2247:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49150,"name":"uint256","nodeType":"ElementaryTypeName","src":"2247:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49153,"mutability":"mutable","name":"claims","nameLocation":"2268:6:85","nodeType":"VariableDeclaration","scope":49174,"src":"2263:11:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49152,"name":"bool","nodeType":"ElementaryTypeName","src":"2263:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2186:89:85"},"returnParameters":{"id":49155,"nodeType":"ParameterList","parameters":[],"src":"2285:0:85"},"scope":49175,"src":"2173:230:85","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":49176,"src":"603:1802:85","usedErrors":[],"usedEvents":[]}],"src":"32:2374:85"},"id":85},"v4-core/test/utils/Deployers.sol":{"ast":{"absolutePath":"v4-core/test/utils/Deployers.sol","exportedSymbols":{"ActionsRouter":[51179],"BalanceDelta":[4233],"Constants":[4864],"Currency":[4399],"CurrencyLibrary":[4693],"Deployers":[5883],"Hooks":[48811],"IHooks":[1480],"IPoolManager":[1763],"LPFeeLibrary":[48960],"LiquidityAmounts":[47639],"MockERC20":[1281],"ModifyLiquidityParams":[4761],"PoolClaimsTest":[51371],"PoolDonateTest":[51712],"PoolId":[4699],"PoolKey":[4745],"PoolManager":[50464],"PoolModifyLiquidityTest":[4227],"PoolModifyLiquidityTestNoChecks":[52012],"PoolNestedActionsTest":[52198],"PoolSwapTest":[53690],"PoolTakeTest":[53917],"SortTokens":[54209],"StateLibrary":[2586],"StdAssertions":[8712],"StdChains":[9557],"StdCheats":[12410],"StdInvariant":[12770],"StdStorage":[13894],"StdStyle":[17062],"StdUtils":[18792],"SwapParams":[4772],"SwapRouterNoChecks":[54134],"Test":[1233],"TestBase":[6082],"TickMath":[3140],"Vm":[23231],"console":[31347],"console2":[31347],"safeconsole":[44426],"stdError":[12476],"stdJson":[13714],"stdMath":[13856],"stdStorage":[15851],"stdToml":[18006]},"id":5884,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":4866,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:86"},{"absolutePath":"v4-core/lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","id":4867,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":1234,"src":"65:28:86","symbolAliases":[],"unitAlias":""},{"absolutePath":"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol","file":"solmate/src/test/utils/mocks/MockERC20.sol","id":4869,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":1282,"src":"94:69:86","symbolAliases":[{"foreign":{"id":4868,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"102:9:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/Hooks.sol","file":"../../src/libraries/Hooks.sol","id":4871,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":48812,"src":"164:52:86","symbolAliases":[{"foreign":{"id":4870,"name":"Hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48811,"src":"172:5:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../../src/types/Currency.sol","id":4874,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4694,"src":"217:71:86","symbolAliases":[{"foreign":{"id":4872,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"225:8:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":4873,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"235:15:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IHooks.sol","file":"../../src/interfaces/IHooks.sol","id":4876,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":1481,"src":"289:55:86","symbolAliases":[{"foreign":{"id":4875,"name":"IHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"297:6:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/interfaces/IPoolManager.sol","file":"../../src/interfaces/IPoolManager.sol","id":4878,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":1764,"src":"345:67:86","symbolAliases":[{"foreign":{"id":4877,"name":"IPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"353:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/PoolManager.sol","file":"../../src/PoolManager.sol","id":4880,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":50465,"src":"413:54:86","symbolAliases":[{"foreign":{"id":4879,"name":"PoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50464,"src":"421:11:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../../src/types/PoolOperation.sol","id":4883,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4773,"src":"468:84:86","symbolAliases":[{"foreign":{"id":4881,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"476:21:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":4882,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"499:10:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolId.sol","file":"../../src/types/PoolId.sol","id":4885,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4714,"src":"553:50:86","symbolAliases":[{"foreign":{"id":4884,"name":"PoolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"561:6:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/LPFeeLibrary.sol","file":"../../src/libraries/LPFeeLibrary.sol","id":4887,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":48961,"src":"604:66:86","symbolAliases":[{"foreign":{"id":4886,"name":"LPFeeLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48960,"src":"612:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/PoolKey.sol","file":"../../src/types/PoolKey.sol","id":4889,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4746,"src":"671:52:86","symbolAliases":[{"foreign":{"id":4888,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"679:7:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/BalanceDelta.sol","file":"../../src/types/BalanceDelta.sol","id":4891,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4392,"src":"724:62:86","symbolAliases":[{"foreign":{"id":4890,"name":"BalanceDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4233,"src":"732:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/TickMath.sol","file":"../../src/libraries/TickMath.sol","id":4893,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":3141,"src":"787:58:86","symbolAliases":[{"foreign":{"id":4892,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"795:8:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/Constants.sol","file":"../utils/Constants.sol","id":4895,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4865,"src":"846:49:86","symbolAliases":[{"foreign":{"id":4894,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"854:9:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/SortTokens.sol","file":"./SortTokens.sol","id":4897,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":54210,"src":"896:44:86","symbolAliases":[{"foreign":{"id":4896,"name":"SortTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54209,"src":"904:10:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTest.sol","file":"../../src/test/PoolModifyLiquidityTest.sol","id":4899,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":4228,"src":"941:83:86","symbolAliases":[{"foreign":{"id":4898,"name":"PoolModifyLiquidityTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4227,"src":"949:23:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolModifyLiquidityTestNoChecks.sol","file":"../../src/test/PoolModifyLiquidityTestNoChecks.sol","id":4901,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":52013,"src":"1025:99:86","symbolAliases":[{"foreign":{"id":4900,"name":"PoolModifyLiquidityTestNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52012,"src":"1033:31:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolSwapTest.sol","file":"../../src/test/PoolSwapTest.sol","id":4903,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":53691,"src":"1125:61:86","symbolAliases":[{"foreign":{"id":4902,"name":"PoolSwapTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53690,"src":"1133:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/SwapRouterNoChecks.sol","file":"../../src/test/SwapRouterNoChecks.sol","id":4905,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":54135,"src":"1187:73:86","symbolAliases":[{"foreign":{"id":4904,"name":"SwapRouterNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54134,"src":"1195:18:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolDonateTest.sol","file":"../../src/test/PoolDonateTest.sol","id":4907,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":51713,"src":"1261:65:86","symbolAliases":[{"foreign":{"id":4906,"name":"PoolDonateTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51712,"src":"1269:14:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolNestedActionsTest.sol","file":"../../src/test/PoolNestedActionsTest.sol","id":4909,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":53230,"src":"1327:79:86","symbolAliases":[{"foreign":{"id":4908,"name":"PoolNestedActionsTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52198,"src":"1335:21:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolTakeTest.sol","file":"../../src/test/PoolTakeTest.sol","id":4911,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":53918,"src":"1407:61:86","symbolAliases":[{"foreign":{"id":4910,"name":"PoolTakeTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53917,"src":"1415:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/PoolClaimsTest.sol","file":"../../src/test/PoolClaimsTest.sol","id":4913,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":51372,"src":"1469:65:86","symbolAliases":[{"foreign":{"id":4912,"name":"PoolClaimsTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51371,"src":"1477:14:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/test/ActionsRouter.sol","file":"../../src/test/ActionsRouter.sol","id":4915,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":51180,"src":"1535:63:86","symbolAliases":[{"foreign":{"id":4914,"name":"ActionsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51179,"src":"1543:13:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/test/utils/LiquidityAmounts.sol","file":"../../test/utils/LiquidityAmounts.sol","id":4917,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":47640,"src":"1599:71:86","symbolAliases":[{"foreign":{"id":4916,"name":"LiquidityAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47639,"src":"1607:16:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/StateLibrary.sol","file":"../../src/libraries/StateLibrary.sol","id":4919,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5884,"sourceUnit":2587,"src":"1671:66:86","symbolAliases":[{"foreign":{"id":4918,"name":"StateLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"1679:12:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4920,"name":"Test","nameLocations":["1761:4:86"],"nodeType":"IdentifierPath","referencedDeclaration":1233,"src":"1761:4:86"},"id":4921,"nodeType":"InheritanceSpecifier","src":"1761:4:86"}],"canonicalName":"Deployers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":5883,"linearizedBaseContracts":[5883,1233,18792,12770,12410,11617,9557,8712,6082,6079],"name":"Deployers","nameLocation":"1748:9:86","nodeType":"ContractDefinition","nodes":[{"global":false,"id":4924,"libraryName":{"id":4922,"name":"LPFeeLibrary","nameLocations":["1778:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":48960,"src":"1778:12:86"},"nodeType":"UsingForDirective","src":"1772:30:86","typeName":{"id":4923,"name":"uint24","nodeType":"ElementaryTypeName","src":"1795:6:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}},{"global":false,"id":4928,"libraryName":{"id":4925,"name":"StateLibrary","nameLocations":["1813:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":2586,"src":"1813:12:86"},"nodeType":"UsingForDirective","src":"1807:36:86","typeName":{"id":4927,"nodeType":"UserDefinedTypeName","pathNode":{"id":4926,"name":"IPoolManager","nameLocations":["1830:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"1830:12:86"},"referencedDeclaration":1763,"src":"1830:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}},{"constant":true,"id":4932,"mutability":"constant","name":"ZERO_BYTES","nameLocation":"1894:10:86","nodeType":"VariableDeclaration","scope":5883,"src":"1879:48:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4929,"name":"bytes","nodeType":"ElementaryTypeName","src":"1879:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"expression":{"id":4930,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"1907:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1917:10:86","memberName":"ZERO_BYTES","nodeType":"MemberAccess","referencedDeclaration":4863,"src":"1907:20:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"internal"},{"constant":true,"id":4936,"mutability":"constant","name":"SQRT_PRICE_1_1","nameLocation":"1950:14:86","nodeType":"VariableDeclaration","scope":5883,"src":"1933:58:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4933,"name":"uint160","nodeType":"ElementaryTypeName","src":"1933:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"id":4934,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"1967:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1977:14:86","memberName":"SQRT_PRICE_1_1","nodeType":"MemberAccess","referencedDeclaration":4778,"src":"1967:24:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":4940,"mutability":"constant","name":"SQRT_PRICE_1_2","nameLocation":"2014:14:86","nodeType":"VariableDeclaration","scope":5883,"src":"1997:58:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4937,"name":"uint160","nodeType":"ElementaryTypeName","src":"1997:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"id":4938,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"2031:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2041:14:86","memberName":"SQRT_PRICE_1_2","nodeType":"MemberAccess","referencedDeclaration":4781,"src":"2031:24:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":4944,"mutability":"constant","name":"SQRT_PRICE_2_1","nameLocation":"2078:14:86","nodeType":"VariableDeclaration","scope":5883,"src":"2061:58:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4941,"name":"uint160","nodeType":"ElementaryTypeName","src":"2061:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"id":4942,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"2095:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2105:14:86","memberName":"SQRT_PRICE_2_1","nodeType":"MemberAccess","referencedDeclaration":4787,"src":"2095:24:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":4948,"mutability":"constant","name":"SQRT_PRICE_1_4","nameLocation":"2142:14:86","nodeType":"VariableDeclaration","scope":5883,"src":"2125:58:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4945,"name":"uint160","nodeType":"ElementaryTypeName","src":"2125:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"id":4946,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"2159:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2169:14:86","memberName":"SQRT_PRICE_1_4","nodeType":"MemberAccess","referencedDeclaration":4784,"src":"2159:24:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"id":4952,"mutability":"constant","name":"SQRT_PRICE_4_1","nameLocation":"2206:14:86","nodeType":"VariableDeclaration","scope":5883,"src":"2189:58:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4949,"name":"uint160","nodeType":"ElementaryTypeName","src":"2189:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"expression":{"id":4950,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"2223:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":4951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2233:14:86","memberName":"SQRT_PRICE_4_1","nodeType":"MemberAccess","referencedDeclaration":4790,"src":"2223:24:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":true,"functionSelector":"c7b8e15d","id":4958,"mutability":"constant","name":"MIN_PRICE_LIMIT","nameLocation":"2278:15:86","nodeType":"VariableDeclaration","scope":5883,"src":"2254:69:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4953,"name":"uint160","nodeType":"ElementaryTypeName","src":"2254:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":4957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":4954,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"2296:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":4955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2305:14:86","memberName":"MIN_SQRT_PRICE","nodeType":"MemberAccess","referencedDeclaration":2631,"src":"2296:23:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":4956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2322:1:86","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2296:27:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"public"},{"constant":true,"functionSelector":"542524dd","id":4964,"mutability":"constant","name":"MAX_PRICE_LIMIT","nameLocation":"2353:15:86","nodeType":"VariableDeclaration","scope":5883,"src":"2329:69:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":4959,"name":"uint160","nodeType":"ElementaryTypeName","src":"2329:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":4963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"expression":{"id":4960,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"2371:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":4961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2380:14:86","memberName":"MAX_SQRT_PRICE","nodeType":"MemberAccess","referencedDeclaration":2635,"src":"2371:23:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2397:1:86","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2371:27:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"public"},{"constant":false,"functionSelector":"93ad73ed","id":4974,"mutability":"mutable","name":"LIQUIDITY_PARAMS","nameLocation":"2434:16:86","nodeType":"VariableDeclaration","scope":5883,"src":"2405:143:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":4966,"nodeType":"UserDefinedTypeName","pathNode":{"id":4965,"name":"ModifyLiquidityParams","nameLocations":["2405:21:86"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2405:21:86"},"referencedDeclaration":4761,"src":"2405:21:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":4969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2495:4:86","subExpression":{"hexValue":"313230","id":4968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2496:3:86","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":4970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2512:3:86","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"31653138","id":4971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2533:4:86","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},{"hexValue":"30","id":4972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2545:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4967,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"2461:21:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":4973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2484:9:86","2501:9:86","2517:14:86","2539:4:86"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"2461:87:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"public"},{"constant":false,"functionSelector":"39cd2013","id":4985,"mutability":"mutable","name":"REMOVE_LIQUIDITY_PARAMS","nameLocation":"2583:23:86","nodeType":"VariableDeclaration","scope":5883,"src":"2554:151:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":4976,"nodeType":"UserDefinedTypeName","pathNode":{"id":4975,"name":"ModifyLiquidityParams","nameLocations":["2554:21:86"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"2554:21:86"},"referencedDeclaration":4761,"src":"2554:21:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"value":{"arguments":[{"id":4979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2651:4:86","subExpression":{"hexValue":"313230","id":4978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2652:3:86","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"}},{"hexValue":"313230","id":4980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:3:86","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":4982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2689:5:86","subExpression":{"hexValue":"31653138","id":4981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2690:4:86","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1000000000000000000_by_1","typeString":"int_const -1000000000000000000"}},{"hexValue":"30","id":4983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2702:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_120_by_1","typeString":"int_const -120"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_minus_1000000000000000000_by_1","typeString":"int_const -1000000000000000000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4977,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"2617:21:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2640:9:86","2657:9:86","2673:14:86","2696:4:86"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"2617:88:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"visibility":"public"},{"constant":false,"functionSelector":"b1a73b8a","id":4994,"mutability":"mutable","name":"SWAP_PARAMS","nameLocation":"2729:11:86","nodeType":"VariableDeclaration","scope":5883,"src":"2711:128:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage","typeString":"struct SwapParams"},"typeName":{"id":4987,"nodeType":"UserDefinedTypeName","pathNode":{"id":4986,"name":"SwapParams","nameLocations":["2711:10:86"],"nodeType":"IdentifierPath","referencedDeclaration":4772,"src":"2711:10:86"},"referencedDeclaration":4772,"src":"2711:10:86","typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_storage_ptr","typeString":"struct SwapParams"}},"value":{"arguments":[{"hexValue":"74727565","id":4989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2775:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":4991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"2798:4:86","subExpression":{"hexValue":"313030","id":4990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2799:3:86","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":4992,"name":"SQRT_PRICE_1_2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4940,"src":"2823:14:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":4988,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"2751:10:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SwapParams_$4772_storage_ptr_$","typeString":"type(struct SwapParams storage pointer)"}},"id":4993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2763:10:86","2781:15:86","2804:17:86"],"names":["zeroForOne","amountSpecified","sqrtPriceLimitX96"],"nodeType":"FunctionCall","src":"2751:88:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},"visibility":"public"},{"constant":false,"id":4997,"mutability":"mutable","name":"currency0","nameLocation":"2888:9:86","nodeType":"VariableDeclaration","scope":5883,"src":"2870:27:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4996,"nodeType":"UserDefinedTypeName","pathNode":{"id":4995,"name":"Currency","nameLocations":["2870:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2870:8:86"},"referencedDeclaration":4399,"src":"2870:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5000,"mutability":"mutable","name":"currency1","nameLocation":"2921:9:86","nodeType":"VariableDeclaration","scope":5883,"src":"2903:27:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":4999,"nodeType":"UserDefinedTypeName","pathNode":{"id":4998,"name":"Currency","nameLocations":["2903:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"2903:8:86"},"referencedDeclaration":4399,"src":"2903:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5003,"mutability":"mutable","name":"manager","nameLocation":"2949:7:86","nodeType":"VariableDeclaration","scope":5883,"src":"2936:20:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"},"typeName":{"id":5002,"nodeType":"UserDefinedTypeName","pathNode":{"id":5001,"name":"IPoolManager","nameLocations":["2936:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":1763,"src":"2936:12:86"},"referencedDeclaration":1763,"src":"2936:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"visibility":"internal"},{"constant":false,"id":5006,"mutability":"mutable","name":"modifyLiquidityRouter","nameLocation":"2986:21:86","nodeType":"VariableDeclaration","scope":5883,"src":"2962:45:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"},"typeName":{"id":5005,"nodeType":"UserDefinedTypeName","pathNode":{"id":5004,"name":"PoolModifyLiquidityTest","nameLocations":["2962:23:86"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"2962:23:86"},"referencedDeclaration":4227,"src":"2962:23:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"visibility":"internal"},{"constant":false,"id":5009,"mutability":"mutable","name":"modifyLiquidityNoChecks","nameLocation":"3045:23:86","nodeType":"VariableDeclaration","scope":5883,"src":"3013:55:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"},"typeName":{"id":5008,"nodeType":"UserDefinedTypeName","pathNode":{"id":5007,"name":"PoolModifyLiquidityTestNoChecks","nameLocations":["3013:31:86"],"nodeType":"IdentifierPath","referencedDeclaration":52012,"src":"3013:31:86"},"referencedDeclaration":52012,"src":"3013:31:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}},"visibility":"internal"},{"constant":false,"id":5012,"mutability":"mutable","name":"swapRouterNoChecks","nameLocation":"3093:18:86","nodeType":"VariableDeclaration","scope":5883,"src":"3074:37:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"},"typeName":{"id":5011,"nodeType":"UserDefinedTypeName","pathNode":{"id":5010,"name":"SwapRouterNoChecks","nameLocations":["3074:18:86"],"nodeType":"IdentifierPath","referencedDeclaration":54134,"src":"3074:18:86"},"referencedDeclaration":54134,"src":"3074:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}},"visibility":"internal"},{"constant":false,"id":5015,"mutability":"mutable","name":"swapRouter","nameLocation":"3130:10:86","nodeType":"VariableDeclaration","scope":5883,"src":"3117:23:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"},"typeName":{"id":5014,"nodeType":"UserDefinedTypeName","pathNode":{"id":5013,"name":"PoolSwapTest","nameLocations":["3117:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":53690,"src":"3117:12:86"},"referencedDeclaration":53690,"src":"3117:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"visibility":"internal"},{"constant":false,"id":5018,"mutability":"mutable","name":"donateRouter","nameLocation":"3161:12:86","nodeType":"VariableDeclaration","scope":5883,"src":"3146:27:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"},"typeName":{"id":5017,"nodeType":"UserDefinedTypeName","pathNode":{"id":5016,"name":"PoolDonateTest","nameLocations":["3146:14:86"],"nodeType":"IdentifierPath","referencedDeclaration":51712,"src":"3146:14:86"},"referencedDeclaration":51712,"src":"3146:14:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}},"visibility":"internal"},{"constant":false,"id":5021,"mutability":"mutable","name":"takeRouter","nameLocation":"3192:10:86","nodeType":"VariableDeclaration","scope":5883,"src":"3179:23:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"},"typeName":{"id":5020,"nodeType":"UserDefinedTypeName","pathNode":{"id":5019,"name":"PoolTakeTest","nameLocations":["3179:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":53917,"src":"3179:12:86"},"referencedDeclaration":53917,"src":"3179:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}},"visibility":"internal"},{"constant":false,"id":5024,"mutability":"mutable","name":"actionsRouter","nameLocation":"3222:13:86","nodeType":"VariableDeclaration","scope":5883,"src":"3208:27:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"},"typeName":{"id":5023,"nodeType":"UserDefinedTypeName","pathNode":{"id":5022,"name":"ActionsRouter","nameLocations":["3208:13:86"],"nodeType":"IdentifierPath","referencedDeclaration":51179,"src":"3208:13:86"},"referencedDeclaration":51179,"src":"3208:13:86","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}},"visibility":"internal"},{"constant":false,"id":5027,"mutability":"mutable","name":"claimsRouter","nameLocation":"3257:12:86","nodeType":"VariableDeclaration","scope":5883,"src":"3242:27:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"},"typeName":{"id":5026,"nodeType":"UserDefinedTypeName","pathNode":{"id":5025,"name":"PoolClaimsTest","nameLocations":["3242:14:86"],"nodeType":"IdentifierPath","referencedDeclaration":51371,"src":"3242:14:86"},"referencedDeclaration":51371,"src":"3242:14:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}},"visibility":"internal"},{"constant":false,"id":5030,"mutability":"mutable","name":"nestedActionRouter","nameLocation":"3297:18:86","nodeType":"VariableDeclaration","scope":5883,"src":"3275:40:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"},"typeName":{"id":5029,"nodeType":"UserDefinedTypeName","pathNode":{"id":5028,"name":"PoolNestedActionsTest","nameLocations":["3275:21:86"],"nodeType":"IdentifierPath","referencedDeclaration":52198,"src":"3275:21:86"},"referencedDeclaration":52198,"src":"3275:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"visibility":"internal"},{"constant":false,"id":5032,"mutability":"mutable","name":"feeController","nameLocation":"3329:13:86","nodeType":"VariableDeclaration","scope":5883,"src":"3321:21:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5031,"name":"address","nodeType":"ElementaryTypeName","src":"3321:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5035,"mutability":"mutable","name":"key","nameLocation":"3357:3:86","nodeType":"VariableDeclaration","scope":5883,"src":"3349:11:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":5034,"nodeType":"UserDefinedTypeName","pathNode":{"id":5033,"name":"PoolKey","nameLocations":["3349:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3349:7:86"},"referencedDeclaration":4745,"src":"3349:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5038,"mutability":"mutable","name":"nativeKey","nameLocation":"3374:9:86","nodeType":"VariableDeclaration","scope":5883,"src":"3366:17:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":5037,"nodeType":"UserDefinedTypeName","pathNode":{"id":5036,"name":"PoolKey","nameLocations":["3366:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3366:7:86"},"referencedDeclaration":4745,"src":"3366:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5041,"mutability":"mutable","name":"uninitializedKey","nameLocation":"3397:16:86","nodeType":"VariableDeclaration","scope":5883,"src":"3389:24:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":5040,"nodeType":"UserDefinedTypeName","pathNode":{"id":5039,"name":"PoolKey","nameLocations":["3389:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3389:7:86"},"referencedDeclaration":4745,"src":"3389:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5044,"mutability":"mutable","name":"uninitializedNativeKey","nameLocation":"3427:22:86","nodeType":"VariableDeclaration","scope":5883,"src":"3419:30:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey"},"typeName":{"id":5043,"nodeType":"UserDefinedTypeName","pathNode":{"id":5042,"name":"PoolKey","nameLocations":["3419:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"3419:7:86"},"referencedDeclaration":4745,"src":"3419:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5047,"mutability":"mutable","name":"hookPermissionCount","nameLocation":"3519:19:86","nodeType":"VariableDeclaration","scope":5883,"src":"3511:32:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5045,"name":"uint160","nodeType":"ElementaryTypeName","src":"3511:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"hexValue":"3134","id":5046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3541:2:86","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"visibility":"internal"},{"constant":false,"id":5057,"mutability":"mutable","name":"clearAllHookPermissionsMask","nameLocation":"3557:27:86","nodeType":"VariableDeclaration","scope":5883,"src":"3549:74:86","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5048,"name":"uint160","nodeType":"ElementaryTypeName","src":"3549:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"value":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":5056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3587:11:86","subExpression":{"arguments":[{"hexValue":"30","id":5051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3596: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":5050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3588:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5049,"name":"uint160","nodeType":"ElementaryTypeName","src":"3588:7:86","typeDescriptions":{}}},"id":5052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3588:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"id":5054,"name":"hookPermissionCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5047,"src":"3603:19:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":5055,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3602:21:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"3587:36:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"body":{"id":5085,"nodeType":"Block","src":"3651:182:86","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5059,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3665:3:86","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3669:6:86","memberName":"sender","nodeType":"MemberAccess","src":"3665:10:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":5063,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3687:4:86","typeDescriptions":{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}],"id":5062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3679:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5061,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:86","typeDescriptions":{}}},"id":5064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3679:13:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3665:27:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5083,"nodeType":"Block","src":"3801:26:86","statements":[{"id":5082,"nodeType":"PlaceholderStatement","src":"3815:1:86"}]},"id":5084,"nodeType":"IfStatement","src":"3661:166:86","trueBody":{"id":5081,"nodeType":"Block","src":"3694:101:86","statements":[{"assignments":[5067,null],"declarations":[{"constant":false,"id":5067,"mutability":"mutable","name":"success","nameLocation":"3714:7:86","nodeType":"VariableDeclaration","scope":5081,"src":"3709:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5066,"name":"bool","nodeType":"ElementaryTypeName","src":"3709:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5076,"initialValue":{"arguments":[{"expression":{"id":5073,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3745:3:86","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3749:4:86","memberName":"data","nodeType":"MemberAccess","src":"3745:8:86","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"id":5070,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3734:4:86","typeDescriptions":{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}],"id":5069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3726:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5068,"name":"address","nodeType":"ElementaryTypeName","src":"3726:7:86","typeDescriptions":{}}},"id":5071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3726:13:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3740:4:86","memberName":"call","nodeType":"MemberAccess","src":"3726:18:86","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":5075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3726:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3708:46:86"},{"expression":{"arguments":[{"id":5078,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"3776:7:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3768:7:86","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":5079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3768:16:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5080,"nodeType":"ExpressionStatement","src":"3768:16:86"}]}}]},"id":5086,"name":"noIsolate","nameLocation":"3639:9:86","nodeType":"ModifierDefinition","parameters":{"id":5058,"nodeType":"ParameterList","parameters":[],"src":"3648:2:86"},"src":"3630:203:86","virtual":false,"visibility":"internal"},{"body":{"id":5100,"nodeType":"Block","src":"3886:57:86","statements":[{"expression":{"id":5098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5089,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"3896:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":5095,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3930:4:86","typeDescriptions":{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}],"id":5094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3922:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5093,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:86","typeDescriptions":{}}},"id":5096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3922:13:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3906:15:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_PoolManager_$50464_$","typeString":"function (address) returns (contract PoolManager)"},"typeName":{"id":5091,"nodeType":"UserDefinedTypeName","pathNode":{"id":5090,"name":"PoolManager","nameLocations":["3910:11:86"],"nodeType":"IdentifierPath","referencedDeclaration":50464,"src":"3910:11:86"},"referencedDeclaration":50464,"src":"3910:11:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolManager_$50464","typeString":"contract PoolManager"}}},"id":5097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolManager_$50464","typeString":"contract PoolManager"}},"src":"3896:40:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":5099,"nodeType":"ExpressionStatement","src":"3896:40:86"}]},"id":5101,"implemented":true,"kind":"function","modifiers":[],"name":"deployFreshManager","nameLocation":"3848:18:86","nodeType":"FunctionDefinition","parameters":{"id":5087,"nodeType":"ParameterList","parameters":[],"src":"3866:2:86"},"returnParameters":{"id":5088,"nodeType":"ParameterList","parameters":[],"src":"3886:0:86"},"scope":5883,"src":"3839:104:86","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":5191,"nodeType":"Block","src":"3998:675:86","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5104,"name":"deployFreshManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5101,"src":"4008:18:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:20:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5106,"nodeType":"ExpressionStatement","src":"4008:20:86"},{"expression":{"id":5113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"swapRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5015,"src":"4038:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5111,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4068:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4051:16:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolSwapTest_$53690_$","typeString":"function (contract IPoolManager) returns (contract PoolSwapTest)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"PoolSwapTest","nameLocations":["4055:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":53690,"src":"4055:12:86"},"referencedDeclaration":53690,"src":"4055:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}},"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4051:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"src":"4038:38:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"id":5114,"nodeType":"ExpressionStatement","src":"4038:38:86"},{"expression":{"id":5121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5115,"name":"swapRouterNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"4086:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5119,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4130:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4107:22:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_SwapRouterNoChecks_$54134_$","typeString":"function (contract IPoolManager) returns (contract SwapRouterNoChecks)"},"typeName":{"id":5117,"nodeType":"UserDefinedTypeName","pathNode":{"id":5116,"name":"SwapRouterNoChecks","nameLocations":["4111:18:86"],"nodeType":"IdentifierPath","referencedDeclaration":54134,"src":"4111:18:86"},"referencedDeclaration":54134,"src":"4111:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}}},"id":5120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:31:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}},"src":"4086:52:86","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}},"id":5122,"nodeType":"ExpressionStatement","src":"4086:52:86"},{"expression":{"id":5129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5123,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"4148:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5127,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4200:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4172:27:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolModifyLiquidityTest_$4227_$","typeString":"function (contract IPoolManager) returns (contract PoolModifyLiquidityTest)"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"PoolModifyLiquidityTest","nameLocations":["4176:23:86"],"nodeType":"IdentifierPath","referencedDeclaration":4227,"src":"4176:23:86"},"referencedDeclaration":4227,"src":"4176:23:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}},"id":5128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:36:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"src":"4148:60:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":5130,"nodeType":"ExpressionStatement","src":"4148:60:86"},{"expression":{"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5131,"name":"modifyLiquidityNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5009,"src":"4218:23:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5135,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4280:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4244:35:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolModifyLiquidityTestNoChecks_$52012_$","typeString":"function (contract IPoolManager) returns (contract PoolModifyLiquidityTestNoChecks)"},"typeName":{"id":5133,"nodeType":"UserDefinedTypeName","pathNode":{"id":5132,"name":"PoolModifyLiquidityTestNoChecks","nameLocations":["4248:31:86"],"nodeType":"IdentifierPath","referencedDeclaration":52012,"src":"4248:31:86"},"referencedDeclaration":52012,"src":"4248:31:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}}},"id":5136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4244:44:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}},"src":"4218:70:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}},"id":5138,"nodeType":"ExpressionStatement","src":"4218:70:86"},{"expression":{"id":5145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5139,"name":"donateRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5018,"src":"4298:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5143,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4332:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4313:18:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolDonateTest_$51712_$","typeString":"function (contract IPoolManager) returns (contract PoolDonateTest)"},"typeName":{"id":5141,"nodeType":"UserDefinedTypeName","pathNode":{"id":5140,"name":"PoolDonateTest","nameLocations":["4317:14:86"],"nodeType":"IdentifierPath","referencedDeclaration":51712,"src":"4317:14:86"},"referencedDeclaration":51712,"src":"4317:14:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}},"id":5144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4313:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}},"src":"4298:42:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}},"id":5146,"nodeType":"ExpressionStatement","src":"4298:42:86"},{"expression":{"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5147,"name":"takeRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5021,"src":"4350:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5151,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4380:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4363:16:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolTakeTest_$53917_$","typeString":"function (contract IPoolManager) returns (contract PoolTakeTest)"},"typeName":{"id":5149,"nodeType":"UserDefinedTypeName","pathNode":{"id":5148,"name":"PoolTakeTest","nameLocations":["4367:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":53917,"src":"4367:12:86"},"referencedDeclaration":53917,"src":"4367:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}}},"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4363:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}},"src":"4350:38:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}},"id":5154,"nodeType":"ExpressionStatement","src":"4350:38:86"},{"expression":{"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5155,"name":"claimsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"4398:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5159,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4432:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4413:18:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolClaimsTest_$51371_$","typeString":"function (contract IPoolManager) returns (contract PoolClaimsTest)"},"typeName":{"id":5157,"nodeType":"UserDefinedTypeName","pathNode":{"id":5156,"name":"PoolClaimsTest","nameLocations":["4417:14:86"],"nodeType":"IdentifierPath","referencedDeclaration":51371,"src":"4417:14:86"},"referencedDeclaration":51371,"src":"4417:14:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4413:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}},"src":"4398:42:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}},"id":5162,"nodeType":"ExpressionStatement","src":"4398:42:86"},{"expression":{"id":5169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5163,"name":"nestedActionRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5030,"src":"4450:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5167,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4497:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4471:25:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_PoolNestedActionsTest_$52198_$","typeString":"function (contract IPoolManager) returns (contract PoolNestedActionsTest)"},"typeName":{"id":5165,"nodeType":"UserDefinedTypeName","pathNode":{"id":5164,"name":"PoolNestedActionsTest","nameLocations":["4475:21:86"],"nodeType":"IdentifierPath","referencedDeclaration":52198,"src":"4475:21:86"},"referencedDeclaration":52198,"src":"4475:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}}},"id":5168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4471:34:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"src":"4450:55:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"id":5170,"nodeType":"ExpressionStatement","src":"4450:55:86"},{"expression":{"id":5175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5171,"name":"feeController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"4515:13:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"666565436f6e74726f6c6c6572","id":5173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4540:15:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8ff47265cbc29742e7db850b5a9fc943f0c1b98a3c7887d5783ce61d691e984","typeString":"literal_string \"feeController\""},"value":"feeController"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8ff47265cbc29742e7db850b5a9fc943f0c1b98a3c7887d5783ce61d691e984","typeString":"literal_string \"feeController\""}],"id":5172,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11379,"src":"4531:8:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4531:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4515:41:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5176,"nodeType":"ExpressionStatement","src":"4515:41:86"},{"expression":{"id":5183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5177,"name":"actionsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5024,"src":"4566:13:86","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5181,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4600:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}],"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4582:17:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IPoolManager_$1763_$returns$_t_contract$_ActionsRouter_$51179_$","typeString":"function (contract IPoolManager) returns (contract ActionsRouter)"},"typeName":{"id":5179,"nodeType":"UserDefinedTypeName","pathNode":{"id":5178,"name":"ActionsRouter","nameLocations":["4586:13:86"],"nodeType":"IdentifierPath","referencedDeclaration":51179,"src":"4586:13:86"},"referencedDeclaration":51179,"src":"4586:13:86","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}}},"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4582:26:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}},"src":"4566:42:86","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}},"id":5184,"nodeType":"ExpressionStatement","src":"4566:42:86"},{"expression":{"arguments":[{"id":5188,"name":"feeController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"4652:13:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5185,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"4619:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":5187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4627:24:86","memberName":"setProtocolFeeController","nodeType":"MemberAccess","referencedDeclaration":44974,"src":"4619:32:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4619:47:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"4619:47:86"}]},"id":5192,"implemented":true,"kind":"function","modifiers":[],"name":"deployFreshManagerAndRouters","nameLocation":"3958:28:86","nodeType":"FunctionDefinition","parameters":{"id":5102,"nodeType":"ParameterList","parameters":[],"src":"3986:2:86"},"returnParameters":{"id":5103,"nodeType":"ParameterList","parameters":[],"src":"3998:0:86"},"scope":5883,"src":"3949:724:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5237,"nodeType":"Block","src":"4934:313:86","statements":[{"assignments":[5203],"declarations":[{"constant":false,"id":5203,"mutability":"mutable","name":"_currencyA","nameLocation":"4953:10:86","nodeType":"VariableDeclaration","scope":5237,"src":"4944:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5202,"nodeType":"UserDefinedTypeName","pathNode":{"id":5201,"name":"Currency","nameLocations":["4944:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4944:8:86"},"referencedDeclaration":4399,"src":"4944:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":5206,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":5204,"name":"deployMintAndApproveCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5334,"src":"4966:28:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () returns (Currency)"}},"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4966:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"4944:52:86"},{"assignments":[5209],"declarations":[{"constant":false,"id":5209,"mutability":"mutable","name":"_currencyB","nameLocation":"5015:10:86","nodeType":"VariableDeclaration","scope":5237,"src":"5006:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5208,"nodeType":"UserDefinedTypeName","pathNode":{"id":5207,"name":"Currency","nameLocations":["5006:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5006:8:86"},"referencedDeclaration":4399,"src":"5006:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"id":5212,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":5210,"name":"deployMintAndApproveCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5334,"src":"5028:28:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () returns (Currency)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5028:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"nodeType":"VariableDeclarationStatement","src":"5006:52:86"},{"expression":{"id":5231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5213,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"5070:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5214,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"5081:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":5215,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5069:22:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5221,"name":"_currencyA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5203,"src":"5148:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":5219,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5132:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5141:6:86","memberName":"unwrap","nodeType":"MemberAccess","src":"5132:15:86","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5132:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5218,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"5122:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$1281_$","typeString":"type(contract MockERC20)"}},"id":5223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5122:38:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},{"arguments":[{"arguments":[{"id":5227,"name":"_currencyB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5209,"src":"5188:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}],"expression":{"id":5225,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5172:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":5226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5181:6:86","memberName":"unwrap","nodeType":"MemberAccess","src":"5172:15:86","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_address_$","typeString":"function (Currency) pure returns (address)"}},"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5172:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5224,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"5162:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$1281_$","typeString":"type(contract MockERC20)"}},"id":5229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5162:38:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"},{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"expression":{"id":5216,"name":"SortTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54209,"src":"5106:10:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SortTokens_$54209_$","typeString":"type(library SortTokens)"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5117:4:86","memberName":"sort","nodeType":"MemberAccess","referencedDeclaration":54208,"src":"5106:15:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_MockERC20_$1281_$_t_contract$_MockERC20_$1281_$returns$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (contract MockERC20,contract MockERC20) pure returns (Currency,Currency)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5106:95:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"src":"5069:132:86","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5232,"nodeType":"ExpressionStatement","src":"5069:132:86"},{"expression":{"components":[{"id":5233,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"5219:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5234,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"5230:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":5235,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5218:22:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"functionReturnParameters":5200,"id":5236,"nodeType":"Return","src":"5211:29:86"}]},"id":5238,"implemented":true,"kind":"function","modifiers":[],"name":"deployMintAndApprove2Currencies","nameLocation":"4862:31:86","nodeType":"FunctionDefinition","parameters":{"id":5193,"nodeType":"ParameterList","parameters":[],"src":"4893:2:86"},"returnParameters":{"id":5200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5238,"src":"4914:8:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5195,"nodeType":"UserDefinedTypeName","pathNode":{"id":5194,"name":"Currency","nameLocations":["4914:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4914:8:86"},"referencedDeclaration":4399,"src":"4914:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5238,"src":"4924:8:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5198,"nodeType":"UserDefinedTypeName","pathNode":{"id":5197,"name":"Currency","nameLocations":["4924:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"4924:8:86"},"referencedDeclaration":4399,"src":"4924:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"4913:20:86"},"scope":5883,"src":"4853:394:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5333,"nodeType":"Block","src":"5330:648:86","statements":[{"assignments":[5246],"declarations":[{"constant":false,"id":5246,"mutability":"mutable","name":"token","nameLocation":"5350:5:86","nodeType":"VariableDeclaration","scope":5333,"src":"5340:15:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"},"typeName":{"id":5245,"nodeType":"UserDefinedTypeName","pathNode":{"id":5244,"name":"MockERC20","nameLocations":["5340:9:86"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"5340:9:86"},"referencedDeclaration":1281,"src":"5340:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":5255,"initialValue":{"baseExpression":{"arguments":[{"hexValue":"31","id":5248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5371:1:86","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"id":5251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":5249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5374:1:86","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"323535","id":5250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5379:3:86","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"5374:8:86","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}],"id":5247,"name":"deployTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5422,"src":"5358:12:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint256_$returns$_t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr_$","typeString":"function (uint8,uint256) returns (contract MockERC20[] memory)"}},"id":5252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5358:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5254,"indexExpression":{"hexValue":"30","id":5253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5384:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5358:28:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"5340:46:86"},{"assignments":[5261],"declarations":[{"constant":false,"id":5261,"mutability":"mutable","name":"toApprove","nameLocation":"5415:9:86","nodeType":"VariableDeclaration","scope":5333,"src":"5397:27:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$9_memory_ptr","typeString":"address[9]"},"typeName":{"baseType":{"id":5259,"name":"address","nodeType":"ElementaryTypeName","src":"5397:7:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5260,"length":{"hexValue":"39","id":5258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5405:1:86","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"nodeType":"ArrayTypeName","src":"5397:10:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$9_storage_ptr","typeString":"address[9]"}},"visibility":"internal"}],"id":5301,"initialValue":{"components":[{"arguments":[{"id":5264,"name":"swapRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5015,"src":"5449:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}],"id":5263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5441:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5262,"name":"address","nodeType":"ElementaryTypeName","src":"5441:7:86","typeDescriptions":{}}},"id":5265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5441:19:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5268,"name":"swapRouterNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5482:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SwapRouterNoChecks_$54134","typeString":"contract SwapRouterNoChecks"}],"id":5267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5474:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5266,"name":"address","nodeType":"ElementaryTypeName","src":"5474:7:86","typeDescriptions":{}}},"id":5269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5474:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5272,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"5523:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}],"id":5271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5515:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5270,"name":"address","nodeType":"ElementaryTypeName","src":"5515:7:86","typeDescriptions":{}}},"id":5273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5515:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5276,"name":"modifyLiquidityNoChecks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5009,"src":"5567:23:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolModifyLiquidityTestNoChecks_$52012","typeString":"contract PoolModifyLiquidityTestNoChecks"}],"id":5275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5559:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5274,"name":"address","nodeType":"ElementaryTypeName","src":"5559:7:86","typeDescriptions":{}}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5559:32:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5280,"name":"donateRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5018,"src":"5613:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolDonateTest_$51712","typeString":"contract PoolDonateTest"}],"id":5279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5605:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5278,"name":"address","nodeType":"ElementaryTypeName","src":"5605:7:86","typeDescriptions":{}}},"id":5281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5605:21:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5284,"name":"takeRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5021,"src":"5648:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolTakeTest_$53917","typeString":"contract PoolTakeTest"}],"id":5283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5640:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5282,"name":"address","nodeType":"ElementaryTypeName","src":"5640:7:86","typeDescriptions":{}}},"id":5285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5640:19:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5288,"name":"claimsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"5681:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PoolClaimsTest_$51371","typeString":"contract PoolClaimsTest"}],"id":5287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5673:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5286,"name":"address","nodeType":"ElementaryTypeName","src":"5673:7:86","typeDescriptions":{}}},"id":5289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5673:21:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5292,"name":"nestedActionRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5030,"src":"5716:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"id":5293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5735:8:86","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":52067,"src":"5716:27:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_NestedActionExecutor_$53229_$","typeString":"function () view external returns (contract NestedActionExecutor)"}},"id":5294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5716:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}],"id":5291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5708:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5290,"name":"address","nodeType":"ElementaryTypeName","src":"5708:7:86","typeDescriptions":{}}},"id":5295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5708:38:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5298,"name":"actionsRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5024,"src":"5768:13:86","typeDescriptions":{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ActionsRouter_$51179","typeString":"contract ActionsRouter"}],"id":5297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5760:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5296,"name":"address","nodeType":"ElementaryTypeName","src":"5760:7:86","typeDescriptions":{}}},"id":5299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:22:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5300,"isConstant":false,"isInlineArray":true,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5427:365:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$9_memory_ptr","typeString":"address[9] memory"}},"nodeType":"VariableDeclarationStatement","src":"5397:395:86"},{"body":{"id":5323,"nodeType":"Block","src":"5850:75:86","statements":[{"expression":{"arguments":[{"baseExpression":{"id":5316,"name":"toApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5261,"src":"5878:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$9_memory_ptr","typeString":"address[9] memory"}},"id":5318,"indexExpression":{"id":5317,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"5888:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5878:12:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":5319,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"5892:9:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$4864_$","typeString":"type(library Constants)"}},"id":5320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5902:11:86","memberName":"MAX_UINT256","nodeType":"MemberAccess","referencedDeclaration":4818,"src":"5892:21:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5313,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5246,"src":"5864:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5870:7:86","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":44531,"src":"5864:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":5321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5864:50:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5322,"nodeType":"ExpressionStatement","src":"5864:50:86"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5306,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"5823:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5307,"name":"toApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5261,"src":"5827:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$9_memory_ptr","typeString":"address[9] memory"}},"id":5308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5837:6:86","memberName":"length","nodeType":"MemberAccess","src":"5827:16:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5823:20:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5324,"initializationExpression":{"assignments":[5303],"declarations":[{"constant":false,"id":5303,"mutability":"mutable","name":"i","nameLocation":"5816:1:86","nodeType":"VariableDeclaration","scope":5324,"src":"5808:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5302,"name":"uint256","nodeType":"ElementaryTypeName","src":"5808:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5305,"initialValue":{"hexValue":"30","id":5304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5820:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5808:13:86"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5845:3:86","subExpression":{"id":5310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5303,"src":"5845:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5312,"nodeType":"ExpressionStatement","src":"5845:3:86"},"nodeType":"ForStatement","src":"5803:122:86"},{"expression":{"arguments":[{"arguments":[{"id":5329,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5246,"src":"5964:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":5328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5956:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5327,"name":"address","nodeType":"ElementaryTypeName","src":"5956:7:86","typeDescriptions":{}}},"id":5330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5956:14:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5325,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"5942:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":5326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5951:4:86","memberName":"wrap","nodeType":"MemberAccess","src":"5942:13:86","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":5331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5942:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"functionReturnParameters":5243,"id":5332,"nodeType":"Return","src":"5935:36:86"}]},"id":5334,"implemented":true,"kind":"function","modifiers":[],"name":"deployMintAndApproveCurrency","nameLocation":"5262:28:86","nodeType":"FunctionDefinition","parameters":{"id":5239,"nodeType":"ParameterList","parameters":[],"src":"5290:2:86"},"returnParameters":{"id":5243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5242,"mutability":"mutable","name":"currency","nameLocation":"5320:8:86","nodeType":"VariableDeclaration","scope":5334,"src":"5311:17:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5241,"nodeType":"UserDefinedTypeName","pathNode":{"id":5240,"name":"Currency","nameLocations":["5311:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"5311:8:86"},"referencedDeclaration":4399,"src":"5311:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"5310:19:86"},"scope":5883,"src":"5253:725:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5365,"nodeType":"Block","src":"6058:124:86","statements":[{"assignments":[5347],"declarations":[{"constant":false,"id":5347,"mutability":"mutable","name":"tokens","nameLocation":"6087:6:86","nodeType":"VariableDeclaration","scope":5365,"src":"6068:25:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[]"},"typeName":{"baseType":{"id":5345,"nodeType":"UserDefinedTypeName","pathNode":{"id":5344,"name":"MockERC20","nameLocations":["6068:9:86"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"6068:9:86"},"referencedDeclaration":1281,"src":"6068:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5346,"nodeType":"ArrayTypeName","src":"6068:11:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_storage_ptr","typeString":"contract MockERC20[]"}},"visibility":"internal"}],"id":5354,"initialValue":{"arguments":[{"hexValue":"32","id":5349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6109:1:86","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"commonType":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"id":5352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":5350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6112:1:86","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"323535","id":5351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6117:3:86","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"6112:8:86","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}],"id":5348,"name":"deployTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5422,"src":"6096:12:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$_t_uint256_$returns$_t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr_$","typeString":"function (uint8,uint256) returns (contract MockERC20[] memory)"}},"id":5353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6096:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6068:53:86"},{"expression":{"arguments":[{"baseExpression":{"id":5357,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5347,"src":"6154:6:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5359,"indexExpression":{"hexValue":"30","id":5358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6161:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6154:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},{"baseExpression":{"id":5360,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5347,"src":"6165:6:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5362,"indexExpression":{"hexValue":"31","id":5361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6172:1:86","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6165:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"},{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"expression":{"id":5355,"name":"SortTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54209,"src":"6138:10:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SortTokens_$54209_$","typeString":"type(library SortTokens)"}},"id":5356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6149:4:86","memberName":"sort","nodeType":"MemberAccess","referencedDeclaration":54208,"src":"6138:15:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_MockERC20_$1281_$_t_contract$_MockERC20_$1281_$returns$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (contract MockERC20,contract MockERC20) pure returns (Currency,Currency)"}},"id":5363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6138:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"functionReturnParameters":5342,"id":5364,"nodeType":"Return","src":"6131:44:86"}]},"id":5366,"implemented":true,"kind":"function","modifiers":[],"name":"deployAndMint2Currencies","nameLocation":"5993:24:86","nodeType":"FunctionDefinition","parameters":{"id":5335,"nodeType":"ParameterList","parameters":[],"src":"6017:2:86"},"returnParameters":{"id":5342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5366,"src":"6038:8:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5337,"nodeType":"UserDefinedTypeName","pathNode":{"id":5336,"name":"Currency","nameLocations":["6038:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6038:8:86"},"referencedDeclaration":4399,"src":"6038:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5366,"src":"6048:8:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5340,"nodeType":"UserDefinedTypeName","pathNode":{"id":5339,"name":"Currency","nameLocations":["6048:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6048:8:86"},"referencedDeclaration":4399,"src":"6048:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"6037:20:86"},"scope":5883,"src":"5984:198:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5421,"nodeType":"Block","src":"6289:217:86","statements":[{"expression":{"id":5384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5377,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"6299:6:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5382,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5368,"src":"6324:5:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6308:15:86","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (contract MockERC20[] memory)"},"typeName":{"baseType":{"id":5379,"nodeType":"UserDefinedTypeName","pathNode":{"id":5378,"name":"MockERC20","nameLocations":["6312:9:86"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"6312:9:86"},"referencedDeclaration":1281,"src":"6312:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5380,"nodeType":"ArrayTypeName","src":"6312:11:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_storage_ptr","typeString":"contract MockERC20[]"}}},"id":5383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6308:22:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"src":"6299:31:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5385,"nodeType":"ExpressionStatement","src":"6299:31:86"},{"body":{"id":5419,"nodeType":"Block","src":"6374:126:86","statements":[{"expression":{"id":5406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5396,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"6388:6:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5398,"indexExpression":{"id":5397,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5387,"src":"6395:1:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6388:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"54455354","id":5402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6414:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46","typeString":"literal_string \"TEST\""},"value":"TEST"},{"hexValue":"54455354","id":5403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6422:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46","typeString":"literal_string \"TEST\""},"value":"TEST"},{"hexValue":"3138","id":5404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6430:2:86","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46","typeString":"literal_string \"TEST\""},{"typeIdentifier":"t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46","typeString":"literal_string \"TEST\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":5401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6400:13:86","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$returns$_t_contract$_MockERC20_$1281_$","typeString":"function (string memory,string memory,uint8) returns (contract MockERC20)"},"typeName":{"id":5400,"nodeType":"UserDefinedTypeName","pathNode":{"id":5399,"name":"MockERC20","nameLocations":["6404:9:86"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"6404:9:86"},"referencedDeclaration":1281,"src":"6404:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}},"id":5405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:33:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"src":"6388:45:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5407,"nodeType":"ExpressionStatement","src":"6388:45:86"},{"expression":{"arguments":[{"arguments":[{"id":5414,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6470:4:86","typeDescriptions":{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Deployers_$5883","typeString":"contract Deployers"}],"id":5413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6462:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5412,"name":"address","nodeType":"ElementaryTypeName","src":"6462:7:86","typeDescriptions":{}}},"id":5415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6462:13:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5416,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5370,"src":"6477:11:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":5408,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"6447:6:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[] memory"}},"id":5410,"indexExpression":{"id":5409,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5387,"src":"6454:1:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6447:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6457:4:86","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":1267,"src":"6447:14:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6447:42:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5418,"nodeType":"ExpressionStatement","src":"6447:42:86"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5390,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5387,"src":"6358:1:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5391,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5368,"src":"6362:5:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"6358:9:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5420,"initializationExpression":{"assignments":[5387],"declarations":[{"constant":false,"id":5387,"mutability":"mutable","name":"i","nameLocation":"6351:1:86","nodeType":"VariableDeclaration","scope":5420,"src":"6345:7:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5386,"name":"uint8","nodeType":"ElementaryTypeName","src":"6345:5:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5389,"initialValue":{"hexValue":"30","id":5388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6355:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6345:11:86"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6369:3:86","subExpression":{"id":5393,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5387,"src":"6369:1:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5395,"nodeType":"ExpressionStatement","src":"6369:3:86"},"nodeType":"ForStatement","src":"6340:160:86"}]},"id":5422,"implemented":true,"kind":"function","modifiers":[],"name":"deployTokens","nameLocation":"6197:12:86","nodeType":"FunctionDefinition","parameters":{"id":5371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5368,"mutability":"mutable","name":"count","nameLocation":"6216:5:86","nodeType":"VariableDeclaration","scope":5422,"src":"6210:11:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5367,"name":"uint8","nodeType":"ElementaryTypeName","src":"6210:5:86","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":5370,"mutability":"mutable","name":"totalSupply","nameLocation":"6231:11:86","nodeType":"VariableDeclaration","scope":5422,"src":"6223:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5369,"name":"uint256","nodeType":"ElementaryTypeName","src":"6223:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6209:34:86"},"returnParameters":{"id":5376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5375,"mutability":"mutable","name":"tokens","nameLocation":"6281:6:86","nodeType":"VariableDeclaration","scope":5422,"src":"6262:25:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_memory_ptr","typeString":"contract MockERC20[]"},"typeName":{"baseType":{"id":5373,"nodeType":"UserDefinedTypeName","pathNode":{"id":5372,"name":"MockERC20","nameLocations":["6262:9:86"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"6262:9:86"},"referencedDeclaration":1281,"src":"6262:9:86","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"id":5374,"nodeType":"ArrayTypeName","src":"6262:11:86","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_MockERC20_$1281_$dyn_storage_ptr","typeString":"contract MockERC20[]"}},"visibility":"internal"}],"src":"6261:27:86"},"scope":5883,"src":"6188:318:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5482,"nodeType":"Block","src":"6690:196:86","statements":[{"expression":{"id":5467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5444,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5439,"src":"6700:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5446,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5425,"src":"6715:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5447,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5428,"src":"6727:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5448,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"6739:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5449,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"6744:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":5450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6748:12:86","memberName":"isDynamicFee","nodeType":"MemberAccess","referencedDeclaration":48856,"src":"6744:16:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint24_$returns$_t_bool_$attached_to$_t_uint24_$","typeString":"function (uint24) pure returns (bool)"}},"id":5451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6744:18:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":5462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":5460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5458,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"6783:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":5459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6789:3:86","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6783:9:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":5461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6795:1:86","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"6783:13:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":5457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6777:5:86","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":5456,"name":"int24","nodeType":"ElementaryTypeName","src":"6777:5:86","typeDescriptions":{}}},"id":5463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6777:20:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":5464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6744:53:86","trueExpression":{"arguments":[{"hexValue":"3630","id":5454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6771:2:86","typeDescriptions":{"typeIdentifier":"t_rational_60_by_1","typeString":"int_const 60"},"value":"60"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_60_by_1","typeString":"int_const 60"}],"id":5453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6765:5:86","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":5452,"name":"int24","nodeType":"ElementaryTypeName","src":"6765:5:86","typeDescriptions":{}}},"id":5455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:9:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":5465,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5431,"src":"6799:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":5445,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"6707:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PoolKey_$4745_storage_ptr_$","typeString":"type(struct PoolKey storage pointer)"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6707:98:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"src":"6700:105:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5468,"nodeType":"ExpressionStatement","src":"6700:105:86"},{"expression":{"id":5473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5469,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5442,"src":"6815:2:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5470,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5439,"src":"6820:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5471,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6825:4:86","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"6820:9:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":5472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6820:11:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"src":"6815:16:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"id":5474,"nodeType":"ExpressionStatement","src":"6815:16:86"},{"expression":{"arguments":[{"id":5478,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5439,"src":"6860:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5479,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5435,"src":"6866:12:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":5475,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"6841:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":5477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6849:10:86","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1643,"src":"6841:18:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$returns$_t_int24_$","typeString":"function (struct PoolKey memory,uint160) external returns (int24)"}},"id":5480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6841:38:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":5481,"nodeType":"ExpressionStatement","src":"6841:38:86"}]},"id":5483,"implemented":true,"kind":"function","modifiers":[],"name":"initPool","nameLocation":"6521:8:86","nodeType":"FunctionDefinition","parameters":{"id":5436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5425,"mutability":"mutable","name":"_currency0","nameLocation":"6539:10:86","nodeType":"VariableDeclaration","scope":5483,"src":"6530:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5424,"nodeType":"UserDefinedTypeName","pathNode":{"id":5423,"name":"Currency","nameLocations":["6530:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6530:8:86"},"referencedDeclaration":4399,"src":"6530:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5428,"mutability":"mutable","name":"_currency1","nameLocation":"6560:10:86","nodeType":"VariableDeclaration","scope":5483,"src":"6551:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5427,"nodeType":"UserDefinedTypeName","pathNode":{"id":5426,"name":"Currency","nameLocations":["6551:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6551:8:86"},"referencedDeclaration":4399,"src":"6551:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5431,"mutability":"mutable","name":"hooks","nameLocation":"6579:5:86","nodeType":"VariableDeclaration","scope":5483,"src":"6572:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":5430,"nodeType":"UserDefinedTypeName","pathNode":{"id":5429,"name":"IHooks","nameLocations":["6572:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"6572:6:86"},"referencedDeclaration":1480,"src":"6572:6:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":5433,"mutability":"mutable","name":"fee","nameLocation":"6593:3:86","nodeType":"VariableDeclaration","scope":5483,"src":"6586:10:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":5432,"name":"uint24","nodeType":"ElementaryTypeName","src":"6586:6:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":5435,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"6606:12:86","nodeType":"VariableDeclaration","scope":5483,"src":"6598:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5434,"name":"uint160","nodeType":"ElementaryTypeName","src":"6598:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"6529:90:86"},"returnParameters":{"id":5443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5439,"mutability":"mutable","name":"_key","nameLocation":"6669:4:86","nodeType":"VariableDeclaration","scope":5483,"src":"6654:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5438,"nodeType":"UserDefinedTypeName","pathNode":{"id":5437,"name":"PoolKey","nameLocations":["6654:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"6654:7:86"},"referencedDeclaration":4745,"src":"6654:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5442,"mutability":"mutable","name":"id","nameLocation":"6682:2:86","nodeType":"VariableDeclaration","scope":5483,"src":"6675:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":5441,"nodeType":"UserDefinedTypeName","pathNode":{"id":5440,"name":"PoolId","nameLocations":["6675:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"6675:6:86"},"referencedDeclaration":4699,"src":"6675:6:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"6653:32:86"},"scope":5883,"src":"6512:374:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5530,"nodeType":"Block","src":"7123:154:86","statements":[{"expression":{"id":5515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5507,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5502,"src":"7133:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5509,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5486,"src":"7148:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5510,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5489,"src":"7160:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5511,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5494,"src":"7172:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"id":5512,"name":"tickSpacing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5496,"src":"7177:11:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"id":5513,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5492,"src":"7190:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}],"id":5508,"name":"PoolKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"7140:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PoolKey_$4745_storage_ptr_$","typeString":"type(struct PoolKey storage pointer)"}},"id":5514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:56:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"src":"7133:63:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5516,"nodeType":"ExpressionStatement","src":"7133:63:86"},{"expression":{"id":5521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5517,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5505,"src":"7206:2:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5518,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5502,"src":"7211:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7216:4:86","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"7211:9:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":5520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7211:11:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"src":"7206:16:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"id":5522,"nodeType":"ExpressionStatement","src":"7206:16:86"},{"expression":{"arguments":[{"id":5526,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5502,"src":"7251:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5527,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5498,"src":"7257:12:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":5523,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"7232:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":5525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7240:10:86","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1643,"src":"7232:18:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_uint160_$returns$_t_int24_$","typeString":"function (struct PoolKey memory,uint160) external returns (int24)"}},"id":5528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7232:38:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":5529,"nodeType":"ExpressionStatement","src":"7232:38:86"}]},"id":5531,"implemented":true,"kind":"function","modifiers":[],"name":"initPool","nameLocation":"6901:8:86","nodeType":"FunctionDefinition","parameters":{"id":5499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5486,"mutability":"mutable","name":"_currency0","nameLocation":"6928:10:86","nodeType":"VariableDeclaration","scope":5531,"src":"6919:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5485,"nodeType":"UserDefinedTypeName","pathNode":{"id":5484,"name":"Currency","nameLocations":["6919:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6919:8:86"},"referencedDeclaration":4399,"src":"6919:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5489,"mutability":"mutable","name":"_currency1","nameLocation":"6957:10:86","nodeType":"VariableDeclaration","scope":5531,"src":"6948:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5488,"nodeType":"UserDefinedTypeName","pathNode":{"id":5487,"name":"Currency","nameLocations":["6948:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"6948:8:86"},"referencedDeclaration":4399,"src":"6948:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5492,"mutability":"mutable","name":"hooks","nameLocation":"6984:5:86","nodeType":"VariableDeclaration","scope":5531,"src":"6977:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":5491,"nodeType":"UserDefinedTypeName","pathNode":{"id":5490,"name":"IHooks","nameLocations":["6977:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"6977:6:86"},"referencedDeclaration":1480,"src":"6977:6:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":5494,"mutability":"mutable","name":"fee","nameLocation":"7006:3:86","nodeType":"VariableDeclaration","scope":5531,"src":"6999:10:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":5493,"name":"uint24","nodeType":"ElementaryTypeName","src":"6999:6:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":5496,"mutability":"mutable","name":"tickSpacing","nameLocation":"7025:11:86","nodeType":"VariableDeclaration","scope":5531,"src":"7019:17:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":5495,"name":"int24","nodeType":"ElementaryTypeName","src":"7019:5:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"},{"constant":false,"id":5498,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7054:12:86","nodeType":"VariableDeclaration","scope":5531,"src":"7046:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5497,"name":"uint160","nodeType":"ElementaryTypeName","src":"7046:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"6909:163:86"},"returnParameters":{"id":5506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5502,"mutability":"mutable","name":"_key","nameLocation":"7106:4:86","nodeType":"VariableDeclaration","scope":5531,"src":"7091:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5501,"nodeType":"UserDefinedTypeName","pathNode":{"id":5500,"name":"PoolKey","nameLocations":["7091:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7091:7:86"},"referencedDeclaration":4745,"src":"7091:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5505,"mutability":"mutable","name":"id","nameLocation":"7119:2:86","nodeType":"VariableDeclaration","scope":5531,"src":"7112:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":5504,"nodeType":"UserDefinedTypeName","pathNode":{"id":5503,"name":"PoolId","nameLocations":["7112:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"7112:6:86"},"referencedDeclaration":4699,"src":"7112:6:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"7090:32:86"},"scope":5883,"src":"6892:385:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5576,"nodeType":"Block","src":"7502:189:86","statements":[{"expression":{"id":5563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5553,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5548,"src":"7513:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5554,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5551,"src":"7519:2:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"id":5555,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"7512:10:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5557,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"7534:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5558,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5537,"src":"7546:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5559,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5540,"src":"7558:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"id":5560,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5542,"src":"7565:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"id":5561,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5544,"src":"7570:12:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5556,"name":"initPool","nodeType":"Identifier","overloadedDeclarations":[5483,5531],"referencedDeclaration":5483,"src":"7525:8:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":5562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7525:58:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"src":"7512:71:86","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5564,"nodeType":"ExpressionStatement","src":"7512:71:86"},{"expression":{"arguments":[{"id":5571,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5548,"src":"7649:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5572,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"7655:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":5573,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"7673:10:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5565,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"7593:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":5567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7615:15:86","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"7593:37:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":5568,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7638:3:86","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7642:5:86","memberName":"value","nodeType":"MemberAccess","src":"7638:9:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"7593:55:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$value","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7593:91:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":5575,"nodeType":"ExpressionStatement","src":"7593:91:86"}]},"id":5577,"implemented":true,"kind":"function","modifiers":[],"name":"initPoolAndAddLiquidity","nameLocation":"7292:23:86","nodeType":"FunctionDefinition","parameters":{"id":5545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5534,"mutability":"mutable","name":"_currency0","nameLocation":"7334:10:86","nodeType":"VariableDeclaration","scope":5577,"src":"7325:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5533,"nodeType":"UserDefinedTypeName","pathNode":{"id":5532,"name":"Currency","nameLocations":["7325:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"7325:8:86"},"referencedDeclaration":4399,"src":"7325:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5537,"mutability":"mutable","name":"_currency1","nameLocation":"7363:10:86","nodeType":"VariableDeclaration","scope":5577,"src":"7354:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5536,"nodeType":"UserDefinedTypeName","pathNode":{"id":5535,"name":"Currency","nameLocations":["7354:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"7354:8:86"},"referencedDeclaration":4399,"src":"7354:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5540,"mutability":"mutable","name":"hooks","nameLocation":"7390:5:86","nodeType":"VariableDeclaration","scope":5577,"src":"7383:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":5539,"nodeType":"UserDefinedTypeName","pathNode":{"id":5538,"name":"IHooks","nameLocations":["7383:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"7383:6:86"},"referencedDeclaration":1480,"src":"7383:6:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":5542,"mutability":"mutable","name":"fee","nameLocation":"7412:3:86","nodeType":"VariableDeclaration","scope":5577,"src":"7405:10:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":5541,"name":"uint24","nodeType":"ElementaryTypeName","src":"7405:6:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":5544,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7433:12:86","nodeType":"VariableDeclaration","scope":5577,"src":"7425:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5543,"name":"uint160","nodeType":"ElementaryTypeName","src":"7425:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7315:136:86"},"returnParameters":{"id":5552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5548,"mutability":"mutable","name":"_key","nameLocation":"7485:4:86","nodeType":"VariableDeclaration","scope":5577,"src":"7470:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5547,"nodeType":"UserDefinedTypeName","pathNode":{"id":5546,"name":"PoolKey","nameLocations":["7470:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7470:7:86"},"referencedDeclaration":4745,"src":"7470:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5551,"mutability":"mutable","name":"id","nameLocation":"7498:2:86","nodeType":"VariableDeclaration","scope":5577,"src":"7491:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":5550,"nodeType":"UserDefinedTypeName","pathNode":{"id":5549,"name":"PoolId","nameLocations":["7491:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"7491:6:86"},"referencedDeclaration":4699,"src":"7491:6:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"7469:32:86"},"scope":5883,"src":"7283:408:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5623,"nodeType":"Block","src":"7945:188:86","statements":[{"expression":{"id":5611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5601,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5596,"src":"7956:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5602,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5599,"src":"7962:2:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"id":5603,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"7955:10:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5605,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5580,"src":"7977:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5606,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5583,"src":"7989:10:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5607,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"8001:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"id":5608,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5588,"src":"8008:3:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"id":5609,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"8013:12:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5604,"name":"initPool","nodeType":"Identifier","overloadedDeclarations":[5483,5531],"referencedDeclaration":5483,"src":"7968:8:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":5610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:58:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"src":"7955:71:86","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5612,"nodeType":"ExpressionStatement","src":"7955:71:86"},{"expression":{"arguments":[{"id":5618,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5596,"src":"8091:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5619,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"8097:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},{"id":5620,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"8115:10:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5613,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8036:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":5615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8058:15:86","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"8036:37:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5616,"name":"msgValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5592,"src":"8081:8:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"8036:54:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$value","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8036:90:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":5622,"nodeType":"ExpressionStatement","src":"8036:90:86"}]},"id":5624,"implemented":true,"kind":"function","modifiers":[],"name":"initPoolAndAddLiquidityETH","nameLocation":"7706:26:86","nodeType":"FunctionDefinition","parameters":{"id":5593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5580,"mutability":"mutable","name":"_currency0","nameLocation":"7751:10:86","nodeType":"VariableDeclaration","scope":5624,"src":"7742:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5579,"nodeType":"UserDefinedTypeName","pathNode":{"id":5578,"name":"Currency","nameLocations":["7742:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"7742:8:86"},"referencedDeclaration":4399,"src":"7742:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5583,"mutability":"mutable","name":"_currency1","nameLocation":"7780:10:86","nodeType":"VariableDeclaration","scope":5624,"src":"7771:19:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":5582,"nodeType":"UserDefinedTypeName","pathNode":{"id":5581,"name":"Currency","nameLocations":["7771:8:86"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"7771:8:86"},"referencedDeclaration":4399,"src":"7771:8:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":5586,"mutability":"mutable","name":"hooks","nameLocation":"7807:5:86","nodeType":"VariableDeclaration","scope":5624,"src":"7800:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":5585,"nodeType":"UserDefinedTypeName","pathNode":{"id":5584,"name":"IHooks","nameLocations":["7800:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"7800:6:86"},"referencedDeclaration":1480,"src":"7800:6:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"},{"constant":false,"id":5588,"mutability":"mutable","name":"fee","nameLocation":"7829:3:86","nodeType":"VariableDeclaration","scope":5624,"src":"7822:10:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":5587,"name":"uint24","nodeType":"ElementaryTypeName","src":"7822:6:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"},{"constant":false,"id":5590,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"7850:12:86","nodeType":"VariableDeclaration","scope":5624,"src":"7842:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5589,"name":"uint160","nodeType":"ElementaryTypeName","src":"7842:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":5592,"mutability":"mutable","name":"msgValue","nameLocation":"7880:8:86","nodeType":"VariableDeclaration","scope":5624,"src":"7872:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5591,"name":"uint256","nodeType":"ElementaryTypeName","src":"7872:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7732:162:86"},"returnParameters":{"id":5600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5596,"mutability":"mutable","name":"_key","nameLocation":"7928:4:86","nodeType":"VariableDeclaration","scope":5624,"src":"7913:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5595,"nodeType":"UserDefinedTypeName","pathNode":{"id":5594,"name":"PoolKey","nameLocations":["7913:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"7913:7:86"},"referencedDeclaration":4745,"src":"7913:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5599,"mutability":"mutable","name":"id","nameLocation":"7941:2:86","nodeType":"VariableDeclaration","scope":5624,"src":"7934:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"},"typeName":{"id":5598,"nodeType":"UserDefinedTypeName","pathNode":{"id":5597,"name":"PoolId","nameLocations":["7934:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":4699,"src":"7934:6:86"},"referencedDeclaration":4699,"src":"7934:6:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}},"visibility":"internal"}],"src":"7912:32:86"},"scope":5883,"src":"7697:436:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5688,"nodeType":"Block","src":"8302:576:86","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5630,"name":"deployFreshManagerAndRouters","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5192,"src":"8312:28:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8312:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5632,"nodeType":"ExpressionStatement","src":"8312:30:86"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5633,"name":"deployMintAndApprove2Currencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5238,"src":"8398:31:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function () returns (Currency,Currency)"}},"id":5634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8398:33:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"id":5635,"nodeType":"ExpressionStatement","src":"8398:33:86"},{"expression":{"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5636,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5035,"src":"8442:3:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},null],"id":5637,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8441:6:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_storage_$__$","typeString":"tuple(struct PoolKey storage ref,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5639,"name":"currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4997,"src":"8474:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5640,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"8485:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5641,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5627,"src":"8496:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"hexValue":"33303030","id":5642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8503:4:86","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},{"id":5643,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"8509:14:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5638,"name":"initPoolAndAddLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5577,"src":"8450:23:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_uint160_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,uint160) returns (struct PoolKey memory,PoolId)"}},"id":5644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8450:74:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"src":"8441:83:86","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5646,"nodeType":"ExpressionStatement","src":"8441:83:86"},{"expression":{"arguments":[{"id":5652,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5035,"src":"8571:3:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5647,"name":"nestedActionRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5030,"src":"8534:18:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolNestedActionsTest_$52198","typeString":"contract PoolNestedActionsTest"}},"id":5649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8553:8:86","memberName":"executor","nodeType":"MemberAccess","referencedDeclaration":52067,"src":"8534:27:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_NestedActionExecutor_$53229_$","typeString":"function () view external returns (contract NestedActionExecutor)"}},"id":5650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8534:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_NestedActionExecutor_$53229","typeString":"contract NestedActionExecutor"}},"id":5651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8564:6:86","memberName":"setKey","nodeType":"MemberAccess","referencedDeclaration":52285,"src":"8534:36:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_PoolKey_$4745_memory_ptr_$returns$__$","typeString":"function (struct PoolKey memory) external"}},"id":5653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8534:41:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5654,"nodeType":"ExpressionStatement","src":"8534:41:86"},{"expression":{"id":5666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5655,"name":"nativeKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5038,"src":"8586:9:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},null],"id":5656,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"8585:12:86","typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_storage_$__$","typeString":"tuple(struct PoolKey storage ref,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5658,"name":"CurrencyLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"8639:15:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CurrencyLibrary_$4693_$","typeString":"type(library CurrencyLibrary)"}},"id":5659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8655:12:86","memberName":"ADDRESS_ZERO","nodeType":"MemberAccess","referencedDeclaration":4516,"src":"8639:28:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5660,"name":"currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5000,"src":"8669:9:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":5661,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5627,"src":"8680:5:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},{"hexValue":"33303030","id":5662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8687:4:86","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},{"id":5663,"name":"SQRT_PRICE_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"8693:14:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"hexValue":"31","id":5664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8709:7:86","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":5657,"name":"initPoolAndAddLiquidityETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5624,"src":"8612:26:86","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$_t_contract$_IHooks_$1480_$_t_uint24_$_t_uint160_$_t_uint256_$returns$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"function (Currency,Currency,contract IHooks,uint24,uint160,uint256) returns (struct PoolKey memory,PoolId)"}},"id":5665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8612:105:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_PoolKey_$4745_memory_ptr_$_t_userDefinedValueType$_PoolId_$4699_$","typeString":"tuple(struct PoolKey memory,PoolId)"}},"src":"8585:132:86","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5667,"nodeType":"ExpressionStatement","src":"8585:132:86"},{"expression":{"id":5670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5668,"name":"uninitializedKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5041,"src":"8727:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5669,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5035,"src":"8746:3:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"src":"8727:22:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":5671,"nodeType":"ExpressionStatement","src":"8727:22:86"},{"expression":{"id":5674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5672,"name":"uninitializedNativeKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"8759:22:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5673,"name":"nativeKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5038,"src":"8784:9:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"src":"8759:34:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":5675,"nodeType":"ExpressionStatement","src":"8759:34:86"},{"expression":{"id":5680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5676,"name":"uninitializedKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5041,"src":"8803:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":5678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8820:3:86","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"8803:20:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"313030","id":5679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8826:3:86","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8803:26:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":5681,"nodeType":"ExpressionStatement","src":"8803:26:86"},{"expression":{"id":5686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5682,"name":"uninitializedNativeKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"8839:22:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage","typeString":"struct PoolKey storage ref"}},"id":5684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8862:3:86","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":4737,"src":"8839:26:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"313030","id":5685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8868:3:86","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8839:32:86","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"id":5687,"nodeType":"ExpressionStatement","src":"8839:32:86"}]},"id":5689,"implemented":true,"kind":"function","modifiers":[],"name":"initializeManagerRoutersAndPoolsWithLiq","nameLocation":"8239:39:86","nodeType":"FunctionDefinition","parameters":{"id":5628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5627,"mutability":"mutable","name":"hooks","nameLocation":"8286:5:86","nodeType":"VariableDeclaration","scope":5689,"src":"8279:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"},"typeName":{"id":5626,"nodeType":"UserDefinedTypeName","pathNode":{"id":5625,"name":"IHooks","nameLocations":["8279:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":1480,"src":"8279:6:86"},"referencedDeclaration":1480,"src":"8279:6:86","typeDescriptions":{"typeIdentifier":"t_contract$_IHooks_$1480","typeString":"contract IHooks"}},"visibility":"internal"}],"src":"8278:14:86"},"returnParameters":{"id":5629,"nodeType":"ParameterList","parameters":[],"src":"8302:0:86"},"scope":5883,"src":"8230:648:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5755,"nodeType":"Block","src":"9131:759:86","statements":[{"assignments":[5706],"declarations":[{"constant":false,"id":5706,"mutability":"mutable","name":"isNativeInput","nameLocation":"9239:13:86","nodeType":"VariableDeclaration","scope":5755,"src":"9234:18:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5705,"name":"bool","nodeType":"ElementaryTypeName","src":"9234:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5713,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5707,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"9255:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":5708,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5693,"src":"9269:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5709,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9274:9:86","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"9269:14:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":5710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9284:13:86","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"9269:28:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":5711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9269:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9255:44:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9234:65:86"},{"condition":{"id":5714,"name":"isNativeInput","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5706,"src":"9313:13:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5722,"nodeType":"IfStatement","src":"9309:108:86","trueBody":{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":5718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30","id":5716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9336:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":5717,"name":"amountSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"9340:15:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9336:19:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"55736520737761704e6174697665496e707574282920666f72206e61746976652d746f6b656e2065786163742d6f7574707574207377617073","id":5719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9357:59:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_053ce87cf1f8d661bcd04608632f9f6881efb4c06bd7cc4cef174091307d6291","typeString":"literal_string \"Use swapNativeInput() for native-token exact-output swaps\""},"value":"Use swapNativeInput() for native-token exact-output swaps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_053ce87cf1f8d661bcd04608632f9f6881efb4c06bd7cc4cef174091307d6291","typeString":"literal_string \"Use swapNativeInput() for native-token exact-output swaps\""}],"id":5715,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"9328:7:86","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9328:89:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5721,"nodeType":"ExpressionStatement","src":"9328:89:86"}},{"assignments":[5724],"declarations":[{"constant":false,"id":5724,"mutability":"mutable","name":"value","nameLocation":"9436:5:86","nodeType":"VariableDeclaration","scope":5755,"src":"9428:13:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5723,"name":"uint256","nodeType":"ElementaryTypeName","src":"9428:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5733,"initialValue":{"condition":{"id":5725,"name":"isNativeInput","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5706,"src":"9444:13:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":5731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9488:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9444:45:86","trueExpression":{"arguments":[{"id":5729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"9468:16:86","subExpression":{"id":5728,"name":"amountSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"9469:15:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":5727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9460:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9460:7:86","typeDescriptions":{}}},"id":5730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9460:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9428:61:86"},{"expression":{"arguments":[{"id":5738,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5693,"src":"9550:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"arguments":[{"id":5740,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"9609:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5741,"name":"amountSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"9654:15:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"condition":{"id":5742,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"9706:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":5744,"name":"MAX_PRICE_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4964,"src":"9737:15:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":5745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9706:46:86","trueExpression":{"id":5743,"name":"MIN_PRICE_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4958,"src":"9719:15:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5739,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"9568:10:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SwapParams_$4772_storage_ptr_$","typeString":"type(struct SwapParams storage pointer)"}},"id":5746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9597:10:86","9637:15:86","9687:17:86"],"names":["zeroForOne","amountSpecified","sqrtPriceLimitX96"],"nodeType":"FunctionCall","src":"9568:199:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"arguments":[{"hexValue":"66616c7365","id":5749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9820:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":5750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9844:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5747,"name":"PoolSwapTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53690,"src":"9781:12:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PoolSwapTest_$53690_$","typeString":"type(contract PoolSwapTest)"}},"id":5748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9794:12:86","memberName":"TestSettings","nodeType":"MemberAccess","referencedDeclaration":53291,"src":"9781:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TestSettings_$53291_storage_ptr_$","typeString":"type(struct PoolSwapTest.TestSettings storage pointer)"}},"id":5751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9808:10:86","9827:15:86"],"names":["takeClaims","settleUsingBurn"],"nodeType":"FunctionCall","src":"9781:70:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},{"id":5752,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5699,"src":"9865:8:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5734,"name":"swapRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5015,"src":"9507:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"id":5735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:4:86","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":53353,"src":"9507:15:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_struct$_TestSettings_$53291_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct SwapParams memory,struct PoolSwapTest.TestSettings memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5736,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5724,"src":"9530:5:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9507:29:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_struct$_TestSettings_$53291_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$value","typeString":"function (struct PoolKey memory,struct SwapParams memory,struct PoolSwapTest.TestSettings memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9507:376:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"functionReturnParameters":5704,"id":5754,"nodeType":"Return","src":"9500:383:86"}]},"documentation":{"id":5690,"nodeType":"StructuredDocumentation","src":"8884:91:86","text":"@notice Helper function for a simple ERC20 swaps that allows for unlimited price impact"},"id":5756,"implemented":true,"kind":"function","modifiers":[],"name":"swap","nameLocation":"8989:4:86","nodeType":"FunctionDefinition","parameters":{"id":5700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5693,"mutability":"mutable","name":"_key","nameLocation":"9009:4:86","nodeType":"VariableDeclaration","scope":5756,"src":"8994:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5692,"nodeType":"UserDefinedTypeName","pathNode":{"id":5691,"name":"PoolKey","nameLocations":["8994:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"8994:7:86"},"referencedDeclaration":4745,"src":"8994:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5695,"mutability":"mutable","name":"zeroForOne","nameLocation":"9020:10:86","nodeType":"VariableDeclaration","scope":5756,"src":"9015:15:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5694,"name":"bool","nodeType":"ElementaryTypeName","src":"9015:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5697,"mutability":"mutable","name":"amountSpecified","nameLocation":"9039:15:86","nodeType":"VariableDeclaration","scope":5756,"src":"9032:22:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":5696,"name":"int256","nodeType":"ElementaryTypeName","src":"9032:6:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":5699,"mutability":"mutable","name":"hookData","nameLocation":"9069:8:86","nodeType":"VariableDeclaration","scope":5756,"src":"9056:21:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5698,"name":"bytes","nodeType":"ElementaryTypeName","src":"9056:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8993:85:86"},"returnParameters":{"id":5704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5703,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5756,"src":"9113:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":5702,"nodeType":"UserDefinedTypeName","pathNode":{"id":5701,"name":"BalanceDelta","nameLocations":["9113:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"9113:12:86"},"referencedDeclaration":4233,"src":"9113:12:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"9112:14:86"},"scope":5883,"src":"8980:910:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5818,"nodeType":"Block","src":"10101:695:86","statements":[{"assignments":[5768,null,null,null],"declarations":[{"constant":false,"id":5768,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"10120:12:86","nodeType":"VariableDeclaration","scope":5818,"src":"10112:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":5767,"name":"uint160","nodeType":"ElementaryTypeName","src":"10112:7:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},null,null,null],"id":5775,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5771,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5760,"src":"10156:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10161:4:86","memberName":"toId","nodeType":"MemberAccess","referencedDeclaration":4712,"src":"10156:9:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_PoolKey_$4745_memory_ptr_$returns$_t_userDefinedValueType$_PoolId_$4699_$attached_to$_t_struct$_PoolKey_$4745_memory_ptr_$","typeString":"function (struct PoolKey memory) pure returns (PoolId)"}},"id":5773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10156:11:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_PoolId_$4699","typeString":"PoolId"}],"expression":{"id":5769,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"10139:7:86","typeDescriptions":{"typeIdentifier":"t_contract$_IPoolManager_$1763","typeString":"contract IPoolManager"}},"id":5770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10147:8:86","memberName":"getSlot0","nodeType":"MemberAccess","referencedDeclaration":2001,"src":"10139:16:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IPoolManager_$1763_$_t_userDefinedValueType$_PoolId_$4699_$returns$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$attached_to$_t_contract$_IPoolManager_$1763_$","typeString":"function (contract IPoolManager,PoolId) view returns (uint160,int24,uint24,uint24)"}},"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10139:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_int24_$_t_uint24_$_t_uint24_$","typeString":"tuple(uint160,int24,uint24,uint24)"}},"nodeType":"VariableDeclarationStatement","src":"10111:57:86"},{"assignments":[5777],"declarations":[{"constant":false,"id":5777,"mutability":"mutable","name":"liquidityDelta","nameLocation":"10186:14:86","nodeType":"VariableDeclaration","scope":5818,"src":"10178:22:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":5776,"name":"uint128","nodeType":"ElementaryTypeName","src":"10178:7:86","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":5794,"initialValue":{"arguments":[{"id":5780,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5768,"src":"10256:12:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"expression":{"id":5783,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"10310:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":5784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10327:9:86","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"10310:26:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":5781,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"10282:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":5782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10291:18:86","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"10282:27:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10282:55:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"arguments":[{"expression":{"id":5788,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"10379:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":5789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10396:9:86","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"10379:26:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":5786,"name":"TickMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3140,"src":"10351:8:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TickMath_$3140_$","typeString":"type(library TickMath)"}},"id":5787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10360:18:86","memberName":"getSqrtPriceAtTick","nodeType":"MemberAccess","referencedDeclaration":2999,"src":"10351:27:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int24_$returns$_t_uint160_$","typeString":"function (int24) pure returns (uint160)"}},"id":5790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10351:55:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":5791,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5762,"src":"10420:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5792,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5764,"src":"10441:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5778,"name":"LiquidityAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47639,"src":"10203:16:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LiquidityAmounts_$47639_$","typeString":"type(library LiquidityAmounts)"}},"id":5779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10220:22:86","memberName":"getLiquidityForAmounts","nodeType":"MemberAccess","referencedDeclaration":47489,"src":"10203:39:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint160_$_t_uint256_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint160,uint256,uint256) pure returns (uint128)"}},"id":5793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10203:255:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"10178:280:86"},{"assignments":[5797],"declarations":[{"constant":false,"id":5797,"mutability":"mutable","name":"params","nameLocation":"10498:6:86","nodeType":"VariableDeclaration","scope":5818,"src":"10469:35:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":5796,"nodeType":"UserDefinedTypeName","pathNode":{"id":5795,"name":"ModifyLiquidityParams","nameLocations":["10469:21:86"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"10469:21:86"},"referencedDeclaration":4761,"src":"10469:21:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"id":5809,"initialValue":{"arguments":[{"expression":{"id":5799,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"10554:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":5800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:9:86","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"10554:26:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"expression":{"id":5801,"name":"LIQUIDITY_PARAMS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"10605:16:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage","typeString":"struct ModifyLiquidityParams storage ref"}},"id":5802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10622:9:86","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"10605:26:86","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},{"arguments":[{"id":5805,"name":"liquidityDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5777,"src":"10668:14:86","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":5804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10661:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":5803,"name":"int128","nodeType":"ElementaryTypeName","src":"10661:6:86","typeDescriptions":{}}},"id":5806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10661:22:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},{"hexValue":"30","id":5807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10703:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int24","typeString":"int24"},{"typeIdentifier":"t_int128","typeString":"int128"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5798,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"10507:21:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ModifyLiquidityParams_$4761_storage_ptr_$","typeString":"type(struct ModifyLiquidityParams storage pointer)"}},"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10543:9:86","10594:9:86","10645:14:86","10697:4:86"],"names":["tickLower","tickUpper","liquidityDelta","salt"],"nodeType":"FunctionCall","src":"10507:208:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"nodeType":"VariableDeclarationStatement","src":"10469:246:86"},{"expression":{"arguments":[{"id":5813,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5760,"src":"10764:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"id":5814,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5797,"src":"10770:6:86","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},{"id":5815,"name":"ZERO_BYTES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"10778:10:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5810,"name":"modifyLiquidityRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"10726:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolModifyLiquidityTest_$4227","typeString":"contract PoolModifyLiquidityTest"}},"id":5812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10748:15:86","memberName":"modifyLiquidity","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"10726:37:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_ModifyLiquidityParams_$4761_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct ModifyLiquidityParams memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:63:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"id":5817,"nodeType":"ExpressionStatement","src":"10726:63:86"}]},"documentation":{"id":5757,"nodeType":"StructuredDocumentation","src":"9896:109:86","text":"@notice Helper function to increase balance of pool manager.\n Uses default LIQUIDITY_PARAMS range."},"id":5819,"implemented":true,"kind":"function","modifiers":[],"name":"seedMoreLiquidity","nameLocation":"10019:17:86","nodeType":"FunctionDefinition","parameters":{"id":5765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5760,"mutability":"mutable","name":"_key","nameLocation":"10052:4:86","nodeType":"VariableDeclaration","scope":5819,"src":"10037:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5759,"nodeType":"UserDefinedTypeName","pathNode":{"id":5758,"name":"PoolKey","nameLocations":["10037:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"10037:7:86"},"referencedDeclaration":4745,"src":"10037:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5762,"mutability":"mutable","name":"amount0","nameLocation":"10066:7:86","nodeType":"VariableDeclaration","scope":5819,"src":"10058:15:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5761,"name":"uint256","nodeType":"ElementaryTypeName","src":"10058:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5764,"mutability":"mutable","name":"amount1","nameLocation":"10083:7:86","nodeType":"VariableDeclaration","scope":5819,"src":"10075:15:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5763,"name":"uint256","nodeType":"ElementaryTypeName","src":"10075:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10036:55:86"},"returnParameters":{"id":5766,"nodeType":"ParameterList","parameters":[],"src":"10101:0:86"},"scope":5883,"src":"10010:786:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5877,"nodeType":"Block","src":"11110:600:86","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":5838,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"11128:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},"id":5839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11133:9:86","memberName":"currency0","nodeType":"MemberAccess","referencedDeclaration":4730,"src":"11128:14:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"id":5840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11143:13:86","memberName":"isAddressZero","nodeType":"MemberAccess","referencedDeclaration":4655,"src":"11128:28:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Currency_$4399_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (Currency) pure returns (bool)"}},"id":5841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11128:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"63757272656e637930206973206e6f74206e61746976652e205573652073776170282920696e7374656164","id":5842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11160:45:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_fade9615e99ee7b1f7566a6d8ce23c45e5dbd1c3bbcca36a902118c3844fc4e4","typeString":"literal_string \"currency0 is not native. Use swap() instead\""},"value":"currency0 is not native. Use swap() instead"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fade9615e99ee7b1f7566a6d8ce23c45e5dbd1c3bbcca36a902118c3844fc4e4","typeString":"literal_string \"currency0 is not native. Use swap() instead\""}],"id":5837,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"11120:7:86","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11120:86:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5844,"nodeType":"ExpressionStatement","src":"11120:86:86"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5845,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5825,"src":"11220:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":5846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11234:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"11220:19:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5855,"nodeType":"IfStatement","src":"11216:90:86","trueBody":{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5849,"name":"msgValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5831,"src":"11249:8:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11261:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11249:13:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6d736756616c7565206d757374206265203020666f72206f6e65466f725a65726f207377617073","id":5852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11264:41:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a26afbb2c53919265c90e815cabc33678d706c2770efb314acccbed0fda436c","typeString":"literal_string \"msgValue must be 0 for oneForZero swaps\""},"value":"msgValue must be 0 for oneForZero swaps"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a26afbb2c53919265c90e815cabc33678d706c2770efb314acccbed0fda436c","typeString":"literal_string \"msgValue must be 0 for oneForZero swaps\""}],"id":5848,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"11241:7:86","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11241:65:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5854,"nodeType":"ExpressionStatement","src":"11241:65:86"}},{"expression":{"arguments":[{"id":5860,"name":"_key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5823,"src":"11370:4:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"}},{"arguments":[{"id":5862,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5825,"src":"11429:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5863,"name":"amountSpecified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"11474:15:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"condition":{"id":5864,"name":"zeroForOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5825,"src":"11526:10:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":5866,"name":"MAX_PRICE_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4964,"src":"11557:15:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11526:46:86","trueExpression":{"id":5865,"name":"MIN_PRICE_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4958,"src":"11539:15:86","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5861,"name":"SwapParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4772,"src":"11388:10:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SwapParams_$4772_storage_ptr_$","typeString":"type(struct SwapParams storage pointer)"}},"id":5868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11417:10:86","11457:15:86","11507:17:86"],"names":["zeroForOne","amountSpecified","sqrtPriceLimitX96"],"nodeType":"FunctionCall","src":"11388:199:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"}},{"arguments":[{"hexValue":"66616c7365","id":5871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11640:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":5872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11664:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5869,"name":"PoolSwapTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53690,"src":"11601:12:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PoolSwapTest_$53690_$","typeString":"type(contract PoolSwapTest)"}},"id":5870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11614:12:86","memberName":"TestSettings","nodeType":"MemberAccess","referencedDeclaration":53291,"src":"11601:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TestSettings_$53291_storage_ptr_$","typeString":"type(struct PoolSwapTest.TestSettings storage pointer)"}},"id":5873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11628:10:86","11647:15:86"],"names":["takeClaims","settleUsingBurn"],"nodeType":"FunctionCall","src":"11601:70:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"}},{"id":5874,"name":"hookData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5829,"src":"11685:8:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey memory"},{"typeIdentifier":"t_struct$_SwapParams_$4772_memory_ptr","typeString":"struct SwapParams memory"},{"typeIdentifier":"t_struct$_TestSettings_$53291_memory_ptr","typeString":"struct PoolSwapTest.TestSettings memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5856,"name":"swapRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5015,"src":"11324:10:86","typeDescriptions":{"typeIdentifier":"t_contract$_PoolSwapTest_$53690","typeString":"contract PoolSwapTest"}},"id":5857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11335:4:86","memberName":"swap","nodeType":"MemberAccess","referencedDeclaration":53353,"src":"11324:15:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_struct$_TestSettings_$53291_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$","typeString":"function (struct PoolKey memory,struct SwapParams memory,struct PoolSwapTest.TestSettings memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":5858,"name":"msgValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5831,"src":"11347:8:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"11324:32:86","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_struct$_PoolKey_$4745_memory_ptr_$_t_struct$_SwapParams_$4772_memory_ptr_$_t_struct$_TestSettings_$53291_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_userDefinedValueType$_BalanceDelta_$4233_$value","typeString":"function (struct PoolKey memory,struct SwapParams memory,struct PoolSwapTest.TestSettings memory,bytes memory) payable external returns (BalanceDelta)"}},"id":5875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11324:379:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"functionReturnParameters":5836,"id":5876,"nodeType":"Return","src":"11317:386:86"}]},"documentation":{"id":5820,"nodeType":"StructuredDocumentation","src":"10802:97:86","text":"@notice Helper function for a simple Native-token swap that allows for unlimited price impact"},"id":5878,"implemented":true,"kind":"function","modifiers":[],"name":"swapNativeInput","nameLocation":"10913:15:86","nodeType":"FunctionDefinition","parameters":{"id":5832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5823,"mutability":"mutable","name":"_key","nameLocation":"10953:4:86","nodeType":"VariableDeclaration","scope":5878,"src":"10938:19:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_memory_ptr","typeString":"struct PoolKey"},"typeName":{"id":5822,"nodeType":"UserDefinedTypeName","pathNode":{"id":5821,"name":"PoolKey","nameLocations":["10938:7:86"],"nodeType":"IdentifierPath","referencedDeclaration":4745,"src":"10938:7:86"},"referencedDeclaration":4745,"src":"10938:7:86","typeDescriptions":{"typeIdentifier":"t_struct$_PoolKey_$4745_storage_ptr","typeString":"struct PoolKey"}},"visibility":"internal"},{"constant":false,"id":5825,"mutability":"mutable","name":"zeroForOne","nameLocation":"10972:10:86","nodeType":"VariableDeclaration","scope":5878,"src":"10967:15:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5824,"name":"bool","nodeType":"ElementaryTypeName","src":"10967:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5827,"mutability":"mutable","name":"amountSpecified","nameLocation":"10999:15:86","nodeType":"VariableDeclaration","scope":5878,"src":"10992:22:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":5826,"name":"int256","nodeType":"ElementaryTypeName","src":"10992:6:86","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":5829,"mutability":"mutable","name":"hookData","nameLocation":"11037:8:86","nodeType":"VariableDeclaration","scope":5878,"src":"11024:21:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5828,"name":"bytes","nodeType":"ElementaryTypeName","src":"11024:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5831,"mutability":"mutable","name":"msgValue","nameLocation":"11063:8:86","nodeType":"VariableDeclaration","scope":5878,"src":"11055:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5830,"name":"uint256","nodeType":"ElementaryTypeName","src":"11055:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10928:149:86"},"returnParameters":{"id":5836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5878,"src":"11096:12:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"},"typeName":{"id":5834,"nodeType":"UserDefinedTypeName","pathNode":{"id":5833,"name":"BalanceDelta","nameLocations":["11096:12:86"],"nodeType":"IdentifierPath","referencedDeclaration":4233,"src":"11096:12:86"},"referencedDeclaration":4233,"src":"11096:12:86","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_BalanceDelta_$4233","typeString":"BalanceDelta"}},"visibility":"internal"}],"src":"11095:14:86"},"scope":5883,"src":"10904:806:86","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5881,"nodeType":"Block","src":"11800:2:86","statements":[]},"id":5882,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5879,"nodeType":"ParameterList","parameters":[],"src":"11780:2:86"},"returnParameters":{"id":5880,"nodeType":"ParameterList","parameters":[],"src":"11800:0:86"},"scope":5883,"src":"11773:29:86","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":5884,"src":"1739:10065:86","usedErrors":[],"usedEvents":[6117,6121,6125,6129,6133,6137,6141,6145,6151,6157,6165,6173,6179,6185,6191,6197,6202,6207,6212,6219,6226,6233]}],"src":"39:11766:86"},"id":86},"v4-core/test/utils/JavascriptFfi.sol":{"ast":{"absolutePath":"v4-core/test/utils/JavascriptFfi.sol","exportedSymbols":{"CommonBase":[6079],"JavascriptFfi":[5966]},"id":5967,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":5885,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:87"},{"absolutePath":"v4-core/lib/forge-std/src/Base.sol","file":"forge-std/Base.sol","id":5887,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5967,"sourceUnit":6092,"src":"65:46:87","symbolAliases":[{"foreign":{"id":5886,"name":"CommonBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6079,"src":"73:10:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":5888,"name":"CommonBase","nameLocations":["148:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":6079,"src":"148:10:87"},"id":5889,"nodeType":"InheritanceSpecifier","src":"148:10:87"}],"canonicalName":"JavascriptFfi","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":5966,"linearizedBaseContracts":[5966,6079],"name":"JavascriptFfi","nameLocation":"131:13:87","nodeType":"ContractDefinition","nodes":[{"body":{"id":5964,"nodeType":"Block","src":"269:370:87","statements":[{"assignments":[5902],"declarations":[{"constant":false,"id":5902,"mutability":"mutable","name":"inputs","nameLocation":"295:6:87","nodeType":"VariableDeclaration","scope":5964,"src":"279:22:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":5900,"name":"string","nodeType":"ElementaryTypeName","src":"279:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5901,"nodeType":"ArrayTypeName","src":"279:8:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":5908,"initialValue":{"arguments":[{"hexValue":"38","id":5906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"317:1:87","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"}],"id":5905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"304:12:87","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":5903,"name":"string","nodeType":"ElementaryTypeName","src":"308:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":5904,"nodeType":"ArrayTypeName","src":"308:8:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":5907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"304:15:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"279:40:87"},{"expression":{"id":5913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5909,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"366:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5911,"indexExpression":{"hexValue":"30","id":5910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"366:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e706d","id":5912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"378:5:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_6abcc2bc8546346293d3f8199892de1281621b2d31eebc897db421bc475e68b9","typeString":"literal_string \"npm\""},"value":"npm"},"src":"366:17:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5914,"nodeType":"ExpressionStatement","src":"366:17:87"},{"expression":{"id":5919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5915,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"393:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5917,"indexExpression":{"hexValue":"31","id":5916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"400:1:87","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"393:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d73696c656e74","id":5918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"405:10:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e85738ec9fb7af77cd776214033a29b6afdd1cd286fec5f13098634710878c3","typeString":"literal_string \"--silent\""},"value":"--silent"},"src":"393:22:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5920,"nodeType":"ExpressionStatement","src":"393:22:87"},{"expression":{"id":5925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5921,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"425:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5923,"indexExpression":{"hexValue":"32","id":5922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"432:1:87","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"425:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d707265666978","id":5924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"437:10:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_a64beb4d81f4fe32da5dca670a6948272f5c480569f1b5b60279de85cd47c7e0","typeString":"literal_string \"--prefix\""},"value":"--prefix"},"src":"425:22:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5926,"nodeType":"ExpressionStatement","src":"425:22:87"},{"expression":{"id":5931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5927,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"457:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5929,"indexExpression":{"hexValue":"33","id":5928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"464:1:87","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"457:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2e2f746573742f6a732d73637269707473","id":5930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"469:19:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8283ee09f247702f2ab04fb317fd6f231ce97d78e675636f9d2f0ca4f1f3e73","typeString":"literal_string \"./test/js-scripts\""},"value":"./test/js-scripts"},"src":"457:31:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5932,"nodeType":"ExpressionStatement","src":"457:31:87"},{"expression":{"id":5937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5933,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"498:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5935,"indexExpression":{"hexValue":"34","id":5934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"505:1:87","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"498:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"72756e","id":5936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"510:5:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_197655d3ec0a25c443f877d52bb6b36e9e6aaf8fbeb43608c3b9423bdc0822be","typeString":"literal_string \"run\""},"value":"run"},"src":"498:17:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5938,"nodeType":"ExpressionStatement","src":"498:17:87"},{"expression":{"id":5943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5939,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"525:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5941,"indexExpression":{"hexValue":"35","id":5940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"532:1:87","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"525:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5942,"name":"scriptName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5891,"src":"537:10:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"525:22:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5944,"nodeType":"ExpressionStatement","src":"525:22:87"},{"expression":{"id":5949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5945,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"557:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5947,"indexExpression":{"hexValue":"36","id":5946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"564:1:87","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"557:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d","id":5948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"569:4:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_45d57c92b8a87af7b58d7cf38436eaaabfcd4e793c629bc74ed9aed720b184d6","typeString":"literal_string \"--\""},"value":"--"},"src":"557:16:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5950,"nodeType":"ExpressionStatement","src":"557:16:87"},{"expression":{"id":5955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5951,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"583:6:87","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5953,"indexExpression":{"hexValue":"37","id":5952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"590:1:87","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"583:9:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5954,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5893,"src":"595:4:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"583:16:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5956,"nodeType":"ExpressionStatement","src":"583:16:87"},{"expression":{"id":5962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5957,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5896,"src":"609:6:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5960,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"625:6:87","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":5958,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6075,"src":"618:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23231","typeString":"contract Vm"}},"id":5959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"621:3:87","memberName":"ffi","nodeType":"MemberAccess","referencedDeclaration":19817,"src":"618:6:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory[] memory) external returns (bytes memory)"}},"id":5961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"618:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"609:23:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5963,"nodeType":"ExpressionStatement","src":"609:23:87"}]},"id":5965,"implemented":true,"kind":"function","modifiers":[],"name":"runScript","nameLocation":"174:9:87","nodeType":"FunctionDefinition","parameters":{"id":5894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5891,"mutability":"mutable","name":"scriptName","nameLocation":"198:10:87","nodeType":"VariableDeclaration","scope":5965,"src":"184:24:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5890,"name":"string","nodeType":"ElementaryTypeName","src":"184:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5893,"mutability":"mutable","name":"args","nameLocation":"224:4:87","nodeType":"VariableDeclaration","scope":5965,"src":"210:18:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5892,"name":"string","nodeType":"ElementaryTypeName","src":"210:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"183:46:87"},"returnParameters":{"id":5897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5896,"mutability":"mutable","name":"result","nameLocation":"261:6:87","nodeType":"VariableDeclaration","scope":5965,"src":"248:19:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5895,"name":"bytes","nodeType":"ElementaryTypeName","src":"248:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"247:21:87"},"scope":5966,"src":"165:474:87","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":5967,"src":"113:528:87","usedErrors":[],"usedEvents":[]}],"src":"39:603:87"},"id":87},"v4-core/test/utils/LiquidityAmounts.sol":{"ast":{"absolutePath":"v4-core/test/utils/LiquidityAmounts.sol","exportedSymbols":{"FixedPoint96":[56759],"FullMath":[45389],"LiquidityAmounts":[47639]},"id":47640,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":47300,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:88"},{"absolutePath":"v4-core/src/libraries/FullMath.sol","file":"../../src/libraries/FullMath.sol","id":47301,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47640,"sourceUnit":45390,"src":"65:42:88","symbolAliases":[],"unitAlias":""},{"absolutePath":"v4-core/src/libraries/FixedPoint96.sol","file":"../../src/libraries/FixedPoint96.sol","id":47302,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":47640,"sourceUnit":56760,"src":"108:46:88","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LiquidityAmounts","contractDependencies":[],"contractKind":"library","documentation":{"id":47303,"nodeType":"StructuredDocumentation","src":"156:131:88","text":"@title Liquidity amount functions\n @notice Provides functions for computing liquidity amounts from token amounts and prices"},"fullyImplemented":true,"id":47639,"linearizedBaseContracts":[47639],"name":"LiquidityAmounts","nameLocation":"295:16:88","nodeType":"ContractDefinition","nodes":[{"body":{"id":47324,"nodeType":"Block","src":"530:69:88","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":47317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47312,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47309,"src":"549:1:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47315,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47306,"src":"561:1:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"553:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":47313,"name":"uint128","nodeType":"ElementaryTypeName","src":"553:7:88","typeDescriptions":{}}},"id":47316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"553:10:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"549:14:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"id":47318,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"548:16:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":47319,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47306,"src":"568:1:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"548:21:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6c6971756964697479206f766572666c6f77","id":47321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"571:20:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2040bad36716626a957ddff34b53e40d484d52be8e50719c9d0f678d77b89d0","typeString":"literal_string \"liquidity overflow\""},"value":"liquidity overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e2040bad36716626a957ddff34b53e40d484d52be8e50719c9d0f678d77b89d0","typeString":"literal_string \"liquidity overflow\""}],"id":47311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"540:7:88","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":47322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"540:52:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47323,"nodeType":"ExpressionStatement","src":"540:52:88"}]},"documentation":{"id":47304,"nodeType":"StructuredDocumentation","src":"318:144:88","text":"@notice Downcasts uint256 to uint128\n @param x The uint258 to be downcasted\n @return y The passed value, downcasted to uint128"},"id":47325,"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"476:9:88","nodeType":"FunctionDefinition","parameters":{"id":47307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47306,"mutability":"mutable","name":"x","nameLocation":"494:1:88","nodeType":"VariableDeclaration","scope":47325,"src":"486:9:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47305,"name":"uint256","nodeType":"ElementaryTypeName","src":"486:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"485:11:88"},"returnParameters":{"id":47310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47309,"mutability":"mutable","name":"y","nameLocation":"527:1:88","nodeType":"VariableDeclaration","scope":47325,"src":"519:9:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47308,"name":"uint128","nodeType":"ElementaryTypeName","src":"519:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"518:11:88"},"scope":47639,"src":"467:132:88","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":47370,"nodeType":"Block","src":"1232:308:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47337,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"1246:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47338,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"1262:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"1246:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47348,"nodeType":"IfStatement","src":"1242:98:88","trueBody":{"expression":{"id":47346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47340,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"1278:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47341,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"1293:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47342,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1277:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47343,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"1311:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47344,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"1326:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47345,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1310:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"1277:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47347,"nodeType":"ExpressionStatement","src":"1277:63:88"}},{"assignments":[47350],"declarations":[{"constant":false,"id":47350,"mutability":"mutable","name":"intermediate","nameLocation":"1358:12:88","nodeType":"VariableDeclaration","scope":47370,"src":"1350:20:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47349,"name":"uint256","nodeType":"ElementaryTypeName","src":"1350:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47358,"initialValue":{"arguments":[{"id":47353,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"1389:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47354,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"1404:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":47355,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"1419:12:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":47356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1432:3:88","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"1419:16:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47351,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"1373:8:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":47352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1382:6:88","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"1373:15:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:63:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1350:86:88"},{"expression":{"arguments":[{"arguments":[{"id":47362,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47332,"src":"1479:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47363,"name":"intermediate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47350,"src":"1488:12:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47364,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"1502:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47365,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"1518:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"1502:29:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47360,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"1463:8:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":47361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1472:6:88","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"1463:15:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1463:69:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47359,"name":"toUint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47325,"src":"1453:9:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint256) pure returns (uint128)"}},"id":47368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:80:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":47336,"id":47369,"nodeType":"Return","src":"1446:87:88"}]},"documentation":{"id":47326,"nodeType":"StructuredDocumentation","src":"605:457:88","text":"@notice Computes the amount of liquidity received for a given amount of token0 and price range\n @dev Calculates amount0 * (sqrt(upper) * sqrt(lower)) / (sqrt(upper) - sqrt(lower))\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param amount0 The amount0 being sent in\n @return liquidity The amount of returned liquidity"},"id":47371,"implemented":true,"kind":"function","modifiers":[],"name":"getLiquidityForAmount0","nameLocation":"1076:22:88","nodeType":"FunctionDefinition","parameters":{"id":47333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47328,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"1107:13:88","nodeType":"VariableDeclaration","scope":47371,"src":"1099:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47327,"name":"uint160","nodeType":"ElementaryTypeName","src":"1099:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47330,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"1130:13:88","nodeType":"VariableDeclaration","scope":47371,"src":"1122:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47329,"name":"uint160","nodeType":"ElementaryTypeName","src":"1122:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47332,"mutability":"mutable","name":"amount0","nameLocation":"1153:7:88","nodeType":"VariableDeclaration","scope":47371,"src":"1145:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47331,"name":"uint256","nodeType":"ElementaryTypeName","src":"1145:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1098:63:88"},"returnParameters":{"id":47336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47335,"mutability":"mutable","name":"liquidity","nameLocation":"1217:9:88","nodeType":"VariableDeclaration","scope":47371,"src":"1209:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47334,"name":"uint128","nodeType":"ElementaryTypeName","src":"1209:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"1208:19:88"},"scope":47639,"src":"1067:473:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47407,"nodeType":"Block","src":"2144:216:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47383,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47374,"src":"2158:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47384,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"2174:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2158:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47394,"nodeType":"IfStatement","src":"2154:98:88","trueBody":{"expression":{"id":47392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47386,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47374,"src":"2190:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47387,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"2205:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47388,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2189:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47389,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"2223:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47390,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47374,"src":"2238:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47391,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2222:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"2189:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47393,"nodeType":"ExpressionStatement","src":"2189:63:88"}},{"expression":{"arguments":[{"arguments":[{"id":47398,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47378,"src":"2295:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":47399,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"2304:12:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":47400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2317:3:88","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"2304:16:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47401,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"2322:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47402,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47374,"src":"2338:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2322:29:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47396,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"2279:8:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":47397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2288:6:88","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"2279:15:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2279:73:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47395,"name":"toUint128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47325,"src":"2269:9:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint256) pure returns (uint128)"}},"id":47405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2269:84:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":47382,"id":47406,"nodeType":"Return","src":"2262:91:88"}]},"documentation":{"id":47372,"nodeType":"StructuredDocumentation","src":"1546:428:88","text":"@notice Computes the amount of liquidity received for a given amount of token1 and price range\n @dev Calculates amount1 / (sqrt(upper) - sqrt(lower)).\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param amount1 The amount1 being sent in\n @return liquidity The amount of returned liquidity"},"id":47408,"implemented":true,"kind":"function","modifiers":[],"name":"getLiquidityForAmount1","nameLocation":"1988:22:88","nodeType":"FunctionDefinition","parameters":{"id":47379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47374,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"2019:13:88","nodeType":"VariableDeclaration","scope":47408,"src":"2011:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47373,"name":"uint160","nodeType":"ElementaryTypeName","src":"2011:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47376,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"2042:13:88","nodeType":"VariableDeclaration","scope":47408,"src":"2034:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47375,"name":"uint160","nodeType":"ElementaryTypeName","src":"2034:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47378,"mutability":"mutable","name":"amount1","nameLocation":"2065:7:88","nodeType":"VariableDeclaration","scope":47408,"src":"2057:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47377,"name":"uint256","nodeType":"ElementaryTypeName","src":"2057:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2010:63:88"},"returnParameters":{"id":47382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47381,"mutability":"mutable","name":"liquidity","nameLocation":"2129:9:88","nodeType":"VariableDeclaration","scope":47408,"src":"2121:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47380,"name":"uint128","nodeType":"ElementaryTypeName","src":"2121:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"2120:19:88"},"scope":47639,"src":"1979:381:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47488,"nodeType":"Block","src":"3182:679:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47424,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3196:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47425,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3212:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"3196:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47435,"nodeType":"IfStatement","src":"3192:98:88","trueBody":{"expression":{"id":47433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47427,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3228:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47428,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3243:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47429,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3227:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47430,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3261:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47431,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3276:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47432,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3260:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"3227:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47434,"nodeType":"ExpressionStatement","src":"3227:63:88"}},{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47436,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47411,"src":"3305:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":47437,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3321:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"3305:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47448,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47411,"src":"3444:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47449,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3459:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"3444:28:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":47485,"nodeType":"Block","src":"3757:98:88","statements":[{"expression":{"id":47483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47477,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47422,"src":"3771:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47479,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3806:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47480,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3821:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47481,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47419,"src":"3836:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47478,"name":"getLiquidityForAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47408,"src":"3783:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint256) pure returns (uint128)"}},"id":47482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3783:61:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3771:73:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47484,"nodeType":"ExpressionStatement","src":"3771:73:88"}]},"id":47486,"nodeType":"IfStatement","src":"3440:415:88","trueBody":{"id":47476,"nodeType":"Block","src":"3474:277:88","statements":[{"assignments":[47452],"declarations":[{"constant":false,"id":47452,"mutability":"mutable","name":"liquidity0","nameLocation":"3496:10:88","nodeType":"VariableDeclaration","scope":47476,"src":"3488:18:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47451,"name":"uint128","nodeType":"ElementaryTypeName","src":"3488:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":47458,"initialValue":{"arguments":[{"id":47454,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47411,"src":"3532:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47455,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3546:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47456,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47417,"src":"3561:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47453,"name":"getLiquidityForAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47371,"src":"3509:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint256) pure returns (uint128)"}},"id":47457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:60:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"3488:81:88"},{"assignments":[47460],"declarations":[{"constant":false,"id":47460,"mutability":"mutable","name":"liquidity1","nameLocation":"3591:10:88","nodeType":"VariableDeclaration","scope":47476,"src":"3583:18:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47459,"name":"uint128","nodeType":"ElementaryTypeName","src":"3583:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":47466,"initialValue":{"arguments":[{"id":47462,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3627:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47463,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47411,"src":"3642:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47464,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47419,"src":"3656:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47461,"name":"getLiquidityForAmount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47408,"src":"3604:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint256) pure returns (uint128)"}},"id":47465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3604:60:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"3583:81:88"},{"expression":{"id":47474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47467,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47422,"src":"3679:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":47470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47468,"name":"liquidity0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47452,"src":"3691:10:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47469,"name":"liquidity1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47460,"src":"3704:10:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3691:23:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":47472,"name":"liquidity1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47460,"src":"3730:10:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3691:49:88","trueExpression":{"id":47471,"name":"liquidity0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47452,"src":"3717:10:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3679:61:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47475,"nodeType":"ExpressionStatement","src":"3679:61:88"}]}},"id":47487,"nodeType":"IfStatement","src":"3301:554:88","trueBody":{"id":47447,"nodeType":"Block","src":"3336:98:88","statements":[{"expression":{"id":47445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47439,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47422,"src":"3350:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47441,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47413,"src":"3385:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47442,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47415,"src":"3400:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47443,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47417,"src":"3415:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47440,"name":"getLiquidityForAmount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47371,"src":"3362:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$","typeString":"function (uint160,uint160,uint256) pure returns (uint128)"}},"id":47444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3362:61:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"3350:73:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"id":47446,"nodeType":"ExpressionStatement","src":"3350:73:88"}]}}]},"documentation":{"id":47409,"nodeType":"StructuredDocumentation","src":"2366:589:88","text":"@notice Computes the maximum amount of liquidity received for a given amount of token0, token1, the current\n pool prices and the prices at the tick boundaries\n @param sqrtPriceX96 A sqrt price representing the current pool prices\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param amount0 The amount of token0 being sent in\n @param amount1 The amount of token1 being sent in\n @return liquidity The maximum amount of liquidity received"},"id":47489,"implemented":true,"kind":"function","modifiers":[],"name":"getLiquidityForAmounts","nameLocation":"2969:22:88","nodeType":"FunctionDefinition","parameters":{"id":47420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47411,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"3009:12:88","nodeType":"VariableDeclaration","scope":47489,"src":"3001:20:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47410,"name":"uint160","nodeType":"ElementaryTypeName","src":"3001:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47413,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"3039:13:88","nodeType":"VariableDeclaration","scope":47489,"src":"3031:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47412,"name":"uint160","nodeType":"ElementaryTypeName","src":"3031:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47415,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"3070:13:88","nodeType":"VariableDeclaration","scope":47489,"src":"3062:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47414,"name":"uint160","nodeType":"ElementaryTypeName","src":"3062:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47417,"mutability":"mutable","name":"amount0","nameLocation":"3101:7:88","nodeType":"VariableDeclaration","scope":47489,"src":"3093:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47416,"name":"uint256","nodeType":"ElementaryTypeName","src":"3093:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47419,"mutability":"mutable","name":"amount1","nameLocation":"3126:7:88","nodeType":"VariableDeclaration","scope":47489,"src":"3118:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47418,"name":"uint256","nodeType":"ElementaryTypeName","src":"3118:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2991:148:88"},"returnParameters":{"id":47423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47422,"mutability":"mutable","name":"liquidity","nameLocation":"3171:9:88","nodeType":"VariableDeclaration","scope":47489,"src":"3163:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47421,"name":"uint128","nodeType":"ElementaryTypeName","src":"3163:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"3162:19:88"},"scope":47639,"src":"2960:901:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47530,"nodeType":"Block","src":"4384:279:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47501,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47492,"src":"4398:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47502,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47494,"src":"4414:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"4398:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47512,"nodeType":"IfStatement","src":"4394:98:88","trueBody":{"expression":{"id":47510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47504,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47492,"src":"4430:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47505,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47494,"src":"4445:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47506,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4429:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47507,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47494,"src":"4463:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47508,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47492,"src":"4478:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47509,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4462:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"4429:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47511,"nodeType":"ExpressionStatement","src":"4429:63:88"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47517,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47496,"src":"4547:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":47516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4539:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47515,"name":"uint256","nodeType":"ElementaryTypeName","src":"4539:7:88","typeDescriptions":{}}},"id":47518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4539:18:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"expression":{"id":47519,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"4561:12:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":47520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4574:10:88","memberName":"RESOLUTION","nodeType":"MemberAccess","referencedDeclaration":56755,"src":"4561:23:88","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4539:45:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47522,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47494,"src":"4586:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47523,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47492,"src":"4602:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"4586:29:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47525,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47494,"src":"4617:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"expression":{"id":47513,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"4510:8:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":47514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4519:6:88","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"4510:15:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4510:130:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47527,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47492,"src":"4643:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"4510:146:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47500,"id":47529,"nodeType":"Return","src":"4503:153:88"}]},"documentation":{"id":47490,"nodeType":"StructuredDocumentation","src":"3867:347:88","text":"@notice Computes the amount of token0 for a given amount of liquidity and a price range\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount0 The amount of token0"},"id":47531,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount0ForLiquidity","nameLocation":"4228:22:88","nodeType":"FunctionDefinition","parameters":{"id":47497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47492,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"4259:13:88","nodeType":"VariableDeclaration","scope":47531,"src":"4251:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47491,"name":"uint160","nodeType":"ElementaryTypeName","src":"4251:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47494,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"4282:13:88","nodeType":"VariableDeclaration","scope":47531,"src":"4274:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47493,"name":"uint160","nodeType":"ElementaryTypeName","src":"4274:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47496,"mutability":"mutable","name":"liquidity","nameLocation":"4305:9:88","nodeType":"VariableDeclaration","scope":47531,"src":"4297:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47495,"name":"uint128","nodeType":"ElementaryTypeName","src":"4297:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"4250:65:88"},"returnParameters":{"id":47500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47499,"mutability":"mutable","name":"amount0","nameLocation":"4371:7:88","nodeType":"VariableDeclaration","scope":47531,"src":"4363:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47498,"name":"uint256","nodeType":"ElementaryTypeName","src":"4363:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4362:17:88"},"scope":47639,"src":"4219:444:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47565,"nodeType":"Block","src":"5186:208:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47543,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47534,"src":"5200:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47544,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47536,"src":"5216:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"5200:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47554,"nodeType":"IfStatement","src":"5196:98:88","trueBody":{"expression":{"id":47552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47546,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47534,"src":"5232:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47547,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47536,"src":"5247:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47548,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5231:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47549,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47536,"src":"5265:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47550,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47534,"src":"5280:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47551,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5264:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"5231:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47553,"nodeType":"ExpressionStatement","src":"5231:63:88"}},{"expression":{"arguments":[{"id":47557,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47538,"src":"5328:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47558,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47536,"src":"5339:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47559,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47534,"src":"5355:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"5339:29:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"expression":{"id":47561,"name":"FixedPoint96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56759,"src":"5370:12:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPoint96_$56759_$","typeString":"type(library FixedPoint96)"}},"id":47562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5383:3:88","memberName":"Q96","nodeType":"MemberAccess","referencedDeclaration":56758,"src":"5370:16:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47555,"name":"FullMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45389,"src":"5312:8:88","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FullMath_$45389_$","typeString":"type(library FullMath)"}},"id":47556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5321:6:88","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":45350,"src":"5312:15:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5312:75:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47542,"id":47564,"nodeType":"Return","src":"5305:82:88"}]},"documentation":{"id":47532,"nodeType":"StructuredDocumentation","src":"4669:347:88","text":"@notice Computes the amount of token1 for a given amount of liquidity and a price range\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount1 The amount of token1"},"id":47566,"implemented":true,"kind":"function","modifiers":[],"name":"getAmount1ForLiquidity","nameLocation":"5030:22:88","nodeType":"FunctionDefinition","parameters":{"id":47539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47534,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"5061:13:88","nodeType":"VariableDeclaration","scope":47566,"src":"5053:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47533,"name":"uint160","nodeType":"ElementaryTypeName","src":"5053:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47536,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"5084:13:88","nodeType":"VariableDeclaration","scope":47566,"src":"5076:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47535,"name":"uint160","nodeType":"ElementaryTypeName","src":"5076:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47538,"mutability":"mutable","name":"liquidity","nameLocation":"5107:9:88","nodeType":"VariableDeclaration","scope":47566,"src":"5099:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47537,"name":"uint128","nodeType":"ElementaryTypeName","src":"5099:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"5052:65:88"},"returnParameters":{"id":47542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47541,"mutability":"mutable","name":"amount1","nameLocation":"5173:7:88","nodeType":"VariableDeclaration","scope":47566,"src":"5165:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47540,"name":"uint256","nodeType":"ElementaryTypeName","src":"5165:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5164:17:88"},"scope":47639,"src":"5021:373:88","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":47637,"nodeType":"Block","src":"6149:585:88","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47582,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6163:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47583,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6179:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6163:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47593,"nodeType":"IfStatement","src":"6159:98:88","trueBody":{"expression":{"id":47591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47585,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6195:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47586,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6210:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47587,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6194:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47588,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6228:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47589,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6243:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":47590,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6227:30:88","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"src":"6194:63:88","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47592,"nodeType":"ExpressionStatement","src":"6194:63:88"}},{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47594,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47569,"src":"6272:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":47595,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6288:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6272:29:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint160","typeString":"uint160"},"id":47608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47606,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47569,"src":"6411:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47607,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6426:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"6411:28:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":47634,"nodeType":"Block","src":"6630:98:88","statements":[{"expression":{"id":47632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47626,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47580,"src":"6644:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47628,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6677:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47629,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6692:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47630,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"6707:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":47627,"name":"getAmount1ForLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47566,"src":"6654:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128) pure returns (uint256)"}},"id":47631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6654:63:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6644:73:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47633,"nodeType":"ExpressionStatement","src":"6644:73:88"}]},"id":47635,"nodeType":"IfStatement","src":"6407:321:88","trueBody":{"id":47625,"nodeType":"Block","src":"6441:183:88","statements":[{"expression":{"id":47615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47609,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47578,"src":"6455:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47611,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47569,"src":"6488:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47612,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6502:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47613,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"6517:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":47610,"name":"getAmount0ForLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47531,"src":"6465:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128) pure returns (uint256)"}},"id":47614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6465:62:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6455:72:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47616,"nodeType":"ExpressionStatement","src":"6455:72:88"},{"expression":{"id":47623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47617,"name":"amount1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47580,"src":"6541:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47619,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6574:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47620,"name":"sqrtPriceX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47569,"src":"6589:12:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47621,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"6603:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":47618,"name":"getAmount1ForLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47566,"src":"6551:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128) pure returns (uint256)"}},"id":47622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6551:62:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6541:72:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47624,"nodeType":"ExpressionStatement","src":"6541:72:88"}]}},"id":47636,"nodeType":"IfStatement","src":"6268:460:88","trueBody":{"id":47605,"nodeType":"Block","src":"6303:98:88","statements":[{"expression":{"id":47603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47597,"name":"amount0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47578,"src":"6317:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47599,"name":"sqrtPriceAX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47571,"src":"6350:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47600,"name":"sqrtPriceBX96","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"6365:13:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":47601,"name":"liquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"6380:9:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":47598,"name":"getAmount0ForLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47531,"src":"6327:22:88","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$","typeString":"function (uint160,uint160,uint128) pure returns (uint256)"}},"id":47602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6327:63:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6317:73:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47604,"nodeType":"ExpressionStatement","src":"6317:73:88"}]}}]},"documentation":{"id":47567,"nodeType":"StructuredDocumentation","src":"5400:530:88","text":"@notice Computes the token0 and token1 value for a given amount of liquidity, the current\n pool prices and the prices at the tick boundaries\n @param sqrtPriceX96 A sqrt price representing the current pool prices\n @param sqrtPriceAX96 A sqrt price representing the first tick boundary\n @param sqrtPriceBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount0 The amount of token0\n @return amount1 The amount of token1"},"id":47638,"implemented":true,"kind":"function","modifiers":[],"name":"getAmountsForLiquidity","nameLocation":"5944:22:88","nodeType":"FunctionDefinition","parameters":{"id":47576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47569,"mutability":"mutable","name":"sqrtPriceX96","nameLocation":"5984:12:88","nodeType":"VariableDeclaration","scope":47638,"src":"5976:20:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47568,"name":"uint160","nodeType":"ElementaryTypeName","src":"5976:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47571,"mutability":"mutable","name":"sqrtPriceAX96","nameLocation":"6014:13:88","nodeType":"VariableDeclaration","scope":47638,"src":"6006:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47570,"name":"uint160","nodeType":"ElementaryTypeName","src":"6006:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47573,"mutability":"mutable","name":"sqrtPriceBX96","nameLocation":"6045:13:88","nodeType":"VariableDeclaration","scope":47638,"src":"6037:21:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":47572,"name":"uint160","nodeType":"ElementaryTypeName","src":"6037:7:88","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":47575,"mutability":"mutable","name":"liquidity","nameLocation":"6076:9:88","nodeType":"VariableDeclaration","scope":47638,"src":"6068:17:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":47574,"name":"uint128","nodeType":"ElementaryTypeName","src":"6068:7:88","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"5966:125:88"},"returnParameters":{"id":47581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47578,"mutability":"mutable","name":"amount0","nameLocation":"6123:7:88","nodeType":"VariableDeclaration","scope":47638,"src":"6115:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47577,"name":"uint256","nodeType":"ElementaryTypeName","src":"6115:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47580,"mutability":"mutable","name":"amount1","nameLocation":"6140:7:88","nodeType":"VariableDeclaration","scope":47638,"src":"6132:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47579,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6114:34:88"},"scope":47639,"src":"5935:799:88","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":47640,"src":"287:6449:88","usedErrors":[],"usedEvents":[]}],"src":"39:6698:88"},"id":88},"v4-core/test/utils/Logger.sol":{"ast":{"absolutePath":"v4-core/test/utils/Logger.sol","exportedSymbols":{"Logger":[6016],"ModifyLiquidityParams":[4761],"console2":[31347]},"id":6017,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":5968,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:89"},{"absolutePath":"v4-core/src/types/PoolOperation.sol","file":"../../src/types/PoolOperation.sol","id":5970,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6017,"sourceUnit":4773,"src":"65:72:89","symbolAliases":[{"foreign":{"id":5969,"name":"ModifyLiquidityParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4761,"src":"73:21:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","id":5971,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":6017,"sourceUnit":31352,"src":"139:32:89","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Logger","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":6016,"internalFunctionIDs":{"23247":1},"linearizedBaseContracts":[6016],"name":"Logger","nameLocation":"293:6:89","nodeType":"ContractDefinition","nodes":[{"body":{"id":6014,"nodeType":"Block","src":"374:312:89","statements":[{"expression":{"arguments":[{"hexValue":"4d6f646966794c69717569646974792e7469636b4c6f776572","id":5980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"397:27:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_be681a9bc08da9b5b22560d6c46e81c2761d784e0da98119af672a2d4f78fa0d","typeString":"literal_string \"ModifyLiquidity.tickLower\""},"value":"ModifyLiquidity.tickLower"},{"expression":{"id":5981,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5974,"src":"426:6:89","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":5982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"433:9:89","memberName":"tickLower","nodeType":"MemberAccess","referencedDeclaration":4754,"src":"426:16:89","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be681a9bc08da9b5b22560d6c46e81c2761d784e0da98119af672a2d4f78fa0d","typeString":"literal_string \"ModifyLiquidity.tickLower\""},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":5977,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"384:8:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$31347_$","typeString":"type(library console)"}},"id":5979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"393:3:89","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":23991,"src":"384:12:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256) pure"}},"id":5983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"384:59:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5984,"nodeType":"ExpressionStatement","src":"384:59:89"},{"expression":{"arguments":[{"hexValue":"4d6f646966794c69717569646974792e7469636b5570706572","id":5988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"466:27:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_f18472537f4cccf2ff308c0f59f7e7d1fbdf60c7c1259acaf44699dbda23b518","typeString":"literal_string \"ModifyLiquidity.tickUpper\""},"value":"ModifyLiquidity.tickUpper"},{"expression":{"id":5989,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5974,"src":"495:6:89","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":5990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"502:9:89","memberName":"tickUpper","nodeType":"MemberAccess","referencedDeclaration":4756,"src":"495:16:89","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f18472537f4cccf2ff308c0f59f7e7d1fbdf60c7c1259acaf44699dbda23b518","typeString":"literal_string \"ModifyLiquidity.tickUpper\""},{"typeIdentifier":"t_int24","typeString":"int24"}],"expression":{"id":5985,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"453:8:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$31347_$","typeString":"type(library console)"}},"id":5987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"462:3:89","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":23991,"src":"453:12:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256) pure"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"453:59:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5992,"nodeType":"ExpressionStatement","src":"453:59:89"},{"expression":{"arguments":[{"hexValue":"4d6f646966794c69717569646974792e6c697175696469747944656c7461","id":5996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"535:32:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_acfb4c6432c1688a5548807ad20c09751d1d4029ba82ed6d61b1411cc332abea","typeString":"literal_string \"ModifyLiquidity.liquidityDelta\""},"value":"ModifyLiquidity.liquidityDelta"},{"expression":{"id":5997,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5974,"src":"569:6:89","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":5998,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"576:14:89","memberName":"liquidityDelta","nodeType":"MemberAccess","referencedDeclaration":4758,"src":"569:21:89","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_acfb4c6432c1688a5548807ad20c09751d1d4029ba82ed6d61b1411cc332abea","typeString":"literal_string \"ModifyLiquidity.liquidityDelta\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":5993,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"522:8:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$31347_$","typeString":"type(library console)"}},"id":5995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"531:3:89","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":23991,"src":"522:12:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256) pure"}},"id":5999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"522:69:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6000,"nodeType":"ExpressionStatement","src":"522:69:89"},{"expression":{"arguments":[{"hexValue":"4d6f646966794c69717569646974792e73616c74","id":6004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"614:22:89","typeDescriptions":{"typeIdentifier":"t_stringliteral_775eada1bf89ba85d365b02eab1a104d9372601000002aebad5db2604ac28b19","typeString":"literal_string \"ModifyLiquidity.salt\""},"value":"ModifyLiquidity.salt"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_775eada1bf89ba85d365b02eab1a104d9372601000002aebad5db2604ac28b19","typeString":"literal_string \"ModifyLiquidity.salt\""}],"expression":{"id":6001,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"601:8:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$31347_$","typeString":"type(library console)"}},"id":6003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"610:3:89","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":23861,"src":"601:12:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":6005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:36:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6006,"nodeType":"ExpressionStatement","src":"601:36:89"},{"expression":{"arguments":[{"expression":{"id":6010,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5974,"src":"667:6:89","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams memory"}},"id":6011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"674:4:89","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":4760,"src":"667:11:89","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6007,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31347,"src":"647:8:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$31347_$","typeString":"type(library console)"}},"id":6009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"656:10:89","memberName":"logBytes32","nodeType":"MemberAccess","referencedDeclaration":23819,"src":"647:19:89","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$__$","typeString":"function (bytes32) pure"}},"id":6012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"647:32:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6013,"nodeType":"ExpressionStatement","src":"647:32:89"}]},"functionSelector":"e00c253b","id":6015,"implemented":true,"kind":"function","modifiers":[],"name":"logParams","nameLocation":"315:9:89","nodeType":"FunctionDefinition","parameters":{"id":5975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5974,"mutability":"mutable","name":"params","nameLocation":"354:6:89","nodeType":"VariableDeclaration","scope":6015,"src":"325:35:89","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_memory_ptr","typeString":"struct ModifyLiquidityParams"},"typeName":{"id":5973,"nodeType":"UserDefinedTypeName","pathNode":{"id":5972,"name":"ModifyLiquidityParams","nameLocations":["325:21:89"],"nodeType":"IdentifierPath","referencedDeclaration":4761,"src":"325:21:89"},"referencedDeclaration":4761,"src":"325:21:89","typeDescriptions":{"typeIdentifier":"t_struct$_ModifyLiquidityParams_$4761_storage_ptr","typeString":"struct ModifyLiquidityParams"}},"visibility":"internal"}],"src":"324:37:89"},"returnParameters":{"id":5976,"nodeType":"ParameterList","parameters":[],"src":"374:0:89"},"scope":6016,"src":"306:380:89","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":6017,"src":"284:404:89","usedErrors":[],"usedEvents":[]}],"src":"39:650:89"},"id":89},"v4-core/test/utils/SortTokens.sol":{"ast":{"absolutePath":"v4-core/test/utils/SortTokens.sol","exportedSymbols":{"Currency":[4399],"MockERC20":[1281],"SortTokens":[54209]},"id":54210,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":54136,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"39:24:90"},{"absolutePath":"v4-core/lib/solmate/src/test/utils/mocks/MockERC20.sol","file":"solmate/src/test/utils/mocks/MockERC20.sol","id":54138,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54210,"sourceUnit":1282,"src":"65:69:90","symbolAliases":[{"foreign":{"id":54137,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"73:9:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"v4-core/src/types/Currency.sol","file":"../../src/types/Currency.sol","id":54140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":54210,"sourceUnit":4694,"src":"135:54:90","symbolAliases":[{"foreign":{"id":54139,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"143:8:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"SortTokens","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":54209,"linearizedBaseContracts":[54209],"name":"SortTokens","nameLocation":"199:10:90","nodeType":"ContractDefinition","nodes":[{"body":{"id":54207,"nodeType":"Block","src":"359:293:90","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":54163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":54157,"name":"tokenA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54143,"src":"381:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"373:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54155,"name":"address","nodeType":"ElementaryTypeName","src":"373:7:90","typeDescriptions":{}}},"id":54158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"373:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"id":54161,"name":"tokenB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54146,"src":"399:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"391:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54159,"name":"address","nodeType":"ElementaryTypeName","src":"391:7:90","typeDescriptions":{}}},"id":54162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"391:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"373:33:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":54205,"nodeType":"Block","src":"530:116:90","statements":[{"expression":{"id":54203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":54185,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54150,"src":"545:10:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":54186,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54153,"src":"557:10:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":54187,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"544:24:90","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"arguments":[{"arguments":[{"id":54192,"name":"tokenB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54146,"src":"594:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"586:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54190,"name":"address","nodeType":"ElementaryTypeName","src":"586:7:90","typeDescriptions":{}}},"id":54193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"586:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54188,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"572:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":54189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"581:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"572:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":54194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"572:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[{"arguments":[{"id":54199,"name":"tokenA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54143,"src":"626:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"618:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54197,"name":"address","nodeType":"ElementaryTypeName","src":"618:7:90","typeDescriptions":{}}},"id":54200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"618:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54195,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"604:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":54196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"613:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"604:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":54201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"604:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":54202,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"571:64:90","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"src":"544:91:90","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54204,"nodeType":"ExpressionStatement","src":"544:91:90"}]},"id":54206,"nodeType":"IfStatement","src":"369:277:90","trueBody":{"id":54184,"nodeType":"Block","src":"408:116:90","statements":[{"expression":{"id":54182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":54164,"name":"_currency0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54150,"src":"423:10:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"id":54165,"name":"_currency1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54153,"src":"435:10:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":54166,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"422:24:90","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"arguments":[{"arguments":[{"id":54171,"name":"tokenA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54143,"src":"472:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"464:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54169,"name":"address","nodeType":"ElementaryTypeName","src":"464:7:90","typeDescriptions":{}}},"id":54172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"464:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54167,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"450:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":54168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"459:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"450:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":54173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"450:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},{"arguments":[{"arguments":[{"id":54178,"name":"tokenB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54146,"src":"504:6:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}],"id":54177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"496:7:90","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":54176,"name":"address","nodeType":"ElementaryTypeName","src":"496:7:90","typeDescriptions":{}}},"id":54179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"496:15:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54174,"name":"Currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4399,"src":"482:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Currency_$4399_$","typeString":"type(Currency)"}},"id":54175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"491:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"482:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_address_$returns$_t_userDefinedValueType$_Currency_$4399_$","typeString":"function (address) pure returns (Currency)"}},"id":54180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"482:30:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}}],"id":54181,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"449:64:90","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_Currency_$4399_$_t_userDefinedValueType$_Currency_$4399_$","typeString":"tuple(Currency,Currency)"}},"src":"422:91:90","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54183,"nodeType":"ExpressionStatement","src":"422:91:90"}]}}]},"id":54208,"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"225:4:90","nodeType":"FunctionDefinition","parameters":{"id":54147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54143,"mutability":"mutable","name":"tokenA","nameLocation":"240:6:90","nodeType":"VariableDeclaration","scope":54208,"src":"230:16:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"},"typeName":{"id":54142,"nodeType":"UserDefinedTypeName","pathNode":{"id":54141,"name":"MockERC20","nameLocations":["230:9:90"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"230:9:90"},"referencedDeclaration":1281,"src":"230:9:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"visibility":"internal"},{"constant":false,"id":54146,"mutability":"mutable","name":"tokenB","nameLocation":"258:6:90","nodeType":"VariableDeclaration","scope":54208,"src":"248:16:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"},"typeName":{"id":54145,"nodeType":"UserDefinedTypeName","pathNode":{"id":54144,"name":"MockERC20","nameLocations":["248:9:90"],"nodeType":"IdentifierPath","referencedDeclaration":1281,"src":"248:9:90"},"referencedDeclaration":1281,"src":"248:9:90","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$1281","typeString":"contract MockERC20"}},"visibility":"internal"}],"src":"229:36:90"},"returnParameters":{"id":54154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54150,"mutability":"mutable","name":"_currency0","nameLocation":"322:10:90","nodeType":"VariableDeclaration","scope":54208,"src":"313:19:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":54149,"nodeType":"UserDefinedTypeName","pathNode":{"id":54148,"name":"Currency","nameLocations":["313:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"313:8:90"},"referencedDeclaration":4399,"src":"313:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"},{"constant":false,"id":54153,"mutability":"mutable","name":"_currency1","nameLocation":"343:10:90","nodeType":"VariableDeclaration","scope":54208,"src":"334:19:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"},"typeName":{"id":54152,"nodeType":"UserDefinedTypeName","pathNode":{"id":54151,"name":"Currency","nameLocations":["334:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":4399,"src":"334:8:90"},"referencedDeclaration":4399,"src":"334:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Currency_$4399","typeString":"Currency"}},"visibility":"internal"}],"src":"312:42:90"},"scope":54209,"src":"216:436:90","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":54210,"src":"191:463:90","usedErrors":[],"usedEvents":[]}],"src":"39:616:90"},"id":90}}}